説明

情報提供装置、情報提供方法および情報提供システム

【課題】情報提供サービスを高速化する技術を提供する。
【解決手段】データベース装置100は、業務属性毎に用意された複数のマスタテーブルを備える。キャッシュ装置200は、複数のマスタテーブルに格納されたマスタデータのうち、情報提供画面で使用される表示対象データが格納された表示用テーブルを備える。顧客支援装置300は、顧客端末600から情報提供画面の要求を受け付けたとき、キャッシュ装置200の表示用テーブルから表示対象データを取得し、当該表示対象データを情報提供画面のデータに設定して顧客端末600に提供する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データ処理技術に関し、特に、ユーザに対して情報を提供する情報提供装置、情報提供方法および情報提供システムに関する。
【背景技術】
【0002】
ITの発展にともない、証券会社等では顧客に対してオンラインでの情報提供サービスを提供している。本出願人は、迅速な情報提供を実現するため、企業内の原本情報となるマスタデータのコピーをウェブサーバにキャッシュさせる技術を提案している(例えば、特許文献1参照)。
【特許文献1】特開2006−164075号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
情報提供を要求する顧客からのリクエスト数は今後ますます増大することが見込まれる。リクエスト数の増加に伴って情報提供サービスのレスポンスタイムが増大すると、ユーザの利便性を損なうことになる。この背景を鑑み、本発明者は情報提供サービスのさらなる高速化が必要であると考えた。
【0004】
本発明は、本発明者の上記着目に基づいて完成された発明であり、その主たる目的は、情報提供サービスを高速化する技術を提供することである。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明のある態様の情報提供装置は、マスタデータが格納された、業務属性毎に用意された複数のマスタテーブルと、複数のマスタテーブルに格納されたマスタデータのうち、ユーザに提供される特定の画面で使用される表示対象データを取り出して格納した表示用テーブルと、ユーザから特定の画面の参照を要求されたとき、表示用テーブルに格納された表示対象データを特定の画面のデータに設定してユーザに提供する参照処理部と、を備える。
【0006】
本発明の別の態様は、情報提供方法である。この方法は、プロセッサと記憶装置とを有するコンピュータを用いた情報提供方法であって、業務属性毎に用意された複数のマスタテーブルに格納されたマスタデータのうち、ユーザに提供される特定の画面で使用される表示対象データを取り出して表示用テーブルに格納するステップと、ユーザから特定の画面の参照を要求されたとき、表示用テーブルに格納された表示対象データを特定の画面のデータに設定してユーザに提供するステップと、をプロセッサに実行せしめる。
【0007】
本発明のさらに別の態様は、情報提供システムである。この情報提供システムは、外部装置から更新されるデータを管理するデータベース装置と、ユーザから参照されるデータを管理するユーザ支援装置と、を備える。データベース装置は、マスタデータが格納された、業務属性毎に用意された複数のマスタテーブルと、複数のマスタテーブルに格納されたマスタデータが更新されたとき、更新されたマスタデータをユーザ支援装置に通知する更新通知部と、を有する。ユーザ支援装置は、マスタデータのコピーであるコピーデータが格納された、業務属性毎に用意された複数のコピーテーブルと、データベース装置から通知されたマスタデータによりコピーデータを更新する更新処理部と、複数のコピーテーブルに格納されたコピーデータのうち、ユーザに提供される特定の画面で使用される表示対象データを取り出して格納した表示用テーブルと、ユーザから特定の画面の参照を要求されたとき、表示用テーブルに格納された表示対象データを特定の画面のデータに設定してユーザに提供する参照処理部と、を有する。
【0008】
本発明のさらに別の態様もまた、情報提供システムである。この情報提供システムは、外部装置から更新されるデータを管理するデータベース装置と、複数のユーザのうち一部のユーザに対してそれぞれ対応づけられた、当該一部のユーザから参照されるデータを管理する複数のキャッシュ装置と、複数のユーザのうち一部のユーザに対してそれぞれ対応づけられた、当該一部のユーザからの参照要求を受け付ける複数のユーザ支援装置と、を備える。データベース装置は、複数のユーザそれぞれのマスタデータが格納された、業務属性毎に用意された複数のマスタテーブルと、複数のマスタテーブルに格納されたマスタデータが更新されたとき、更新されたマスタデータを複数のキャッシュ装置それぞれに通知する更新通知部と、を有する。複数のキャッシュ装置のそれぞれは、マスタデータのコピーであるコピーデータが格納された、業務属性毎に用意された複数のコピーテーブルと、データベース装置から通知されたマスタデータによりコピーデータを更新する更新処理部と、複数のコピーテーブルに格納されたコピーデータのうち、自装置に対応づけられたユーザに提供される特定の画面で使用される表示対象データを取り出して格納した表示用テーブルと、を有する。複数のユーザ支援装置のそれぞれは、自装置に対応づけられたユーザから特定の画面の参照を要求されたとき、当該ユーザに対応づけられたキャッシュ装置の表示用テーブルから当該ユーザの表示対象データを取得して特定の画面のデータに設定する画面設定部と、特定の画面のデータをユーザに提供する画面送信部と、を有する。
【0009】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、プログラム、プログラムを記憶した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0010】
本発明によれば、情報提供サービスを高速化できる。
【発明を実施するための最良の形態】
【0011】
情報提供サービスを提供する企業においては、顧客の利便性を低下させないため、顧客からの情報提供リクエストに対するレスポンスタイムを一定時間内に維持することが重要である。増大する情報提供リクエスト数に対応するために、従来は、複数の情報提供装置により情報提供リクエストを負荷分散することが一般的であった。
【0012】
本明細書では、情報提供リクエストに応じて情報提供システムで発生する情報提供処理を効率化することで、増大する情報提供リクエストに対応する技術を提案する。具体的には、情報提供システムが顧客に提供する情報提供画面で使用されるデータ(以下、「表示対象データ」と呼ぶ。)をあらかじめ作成しておき、情報提供リクエストを受け付けた際に、この表示対象データを情報提供画面に設定して顧客に提供する。これにより、各情報提供処理で発生する負荷を低減し、多数の情報提供リクエストへの対応を実現する。
【0013】
図1は、本発明の実施の形態における証券情報提供システムの構成図である。
証券情報提供システム10は、証券会社のシステムであり、顧客に対して各種情報を提供する。証券情報提供システム10は、社外網500を介して顧客端末600と接続されている。顧客端末600は、ウェブブラウザを搭載した一般的なウェブクライアント端末であり、典型的にはPCや携帯電話である。顧客は、顧客端末600を操作して、証券情報提供システム10にアクセスし、情報提供画面を参照する。
【0014】
証券情報提供システム10においては、社内網400を介して、データベース装置100と、キャッシュ装置200と、顧客支援装置300とが接続されている。データベース装置100は、外部装置から更新されるデータであって、ユーザが保有する証券銘柄について証券会社での原本情報(以下、「マスタデータ」と呼ぶ。)を管理する。
【0015】
キャッシュ装置200はユーザから参照されるデータであって、マスタデータのコピーのデータ(以下、「コピーデータ」と呼ぶ。)およびコピーデータから取り出された特定の情報提供画面における表示対象データを管理する。顧客支援装置300は、顧客端末600から情報提供リクエストを受け付け、キャッシュ装置200から表示対象データを取得して、表示対象データを設定した情報提供画面のデータを顧客端末600に提供する。
【0016】
証券情報提供システム10が顧客端末600に提供する画面であって、キャッシュ装置200においてあらかじめ表示対象データが保持される画面の1つとしてポートフォリオ画面がある。図2は、ポートフォリオ画面の画面図である。ポートフォリオ画面602には、支店番号および口座番号で特定される顧客が保有している証券銘柄、例えば株式銘柄・債券銘柄・投資信託銘柄の情報が表示される。
【0017】
図3は、図1のデータベース装置100の機能構成を示すブロック図である。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところであり、これらのいずれかに限定されるものではない。
【0018】
また、本明細書の各装置においては、当該装置を効率よく利用するための機能および環境を提供して当該装置の全体を統括的に制御するオペレーションシステム(以下、「OS」と呼ぶ。)が実行されている。かかるOSによってブロック図の各機能ブロックが動作させられることにより、複数のソフトウェアが実行される。
【0019】
データベース装置100は、株式マスタテーブル102と、債券マスタテーブル104と、投信マスタテーブル106と、更新要求受信部108と、更新通知部110とを備える。
【0020】
株式マスタテーブル102は、顧客が保有する株式銘柄についてのマスタデータ(以下、「株式マスタデータ」と呼ぶ。)が格納された記憶領域である。債券マスタテーブル104は、顧客が保有する債券銘柄についてのマスタデータ(以下、「債券マスタデータ」と呼ぶ。)が格納された記憶領域である。投信マスタテーブル106は、顧客が保有する投資信託についてのマスタデータ(以下、「投信マスタデータ」と呼ぶ。)が格納された記憶領域である。
【0021】
株式マスタテーブル102、債券マスタテーブル104および投信マスタテーブル106は、証券会社における業務の都合に応じて業務属性毎に用意されたテーブルである。また、データベースの正規化に応じて、さらに複数のテーブルに分割されてもよい。なお、株式マスタテーブル102、債券マスタテーブル104および投信マスタテーブル106は、不揮発性かつ信頼性が高い外部記憶装置、典型的にはRAID構成のハードディスク装置を記録媒体とする。
【0022】
図4(a)は、株式マスタデータのデータ構造を示す。図4(b)は、債券マスタデータのデータ構造を示す。図4(c)は、投信マスタデータのデータ構造を示す。いずれの図においても、預かりID欄は、各マスタテーブルのレコードを一意に特定するためのキーデータである。また、顧客ID欄は、各レコードの株式銘柄を保有する顧客を一意に特定するためのデータである。図3に戻る。
【0023】
更新要求受信部108は、株式マスタテーブル102、債券マスタテーブル104および投信マスタテーブル106に対する更新要求データを外部装置から受信して、更新要求データに応じて各テーブルを更新する。一の更新要求データに応じて、全てのマスタテーブルを更新してもよく、一部のマスタテーブルのみを更新してもよい。また、更新要求データの送信元である外部装置は、顧客支援装置300でもよく、証券会社内外のその他の図示しない装置でもよい。
【0024】
更新通知部110は、株式マスタテーブル102、債券マスタテーブル104および投信マスタテーブル106に格納されたマスタデータの更新を検出する。具体的には、データベース装置100にインストールされたデータベースマネジメントシステムが提供するデータベーストリガー、例えばあらかじめ設定されたINSERTトリガーやUPDATEトリガーによる通知を更新通知部110が受け付けることで、マスタデータの更新を検出する。更新通知部110は、データベーストリガーから通知されたデータ、ここでは更新されたマスタデータが格納されたマスタテーブル名とマスタデータの更新データとをキャッシュ装置200に対して送信する。
【0025】
図5は、図1のキャッシュ装置の機能構成を示すブロック図である。キャッシュ装置200は、株式コピーテーブル202と、債券コピーテーブル204と、投信コピーテーブル206と、表示用テーブル208と、更新処理部210と、第1のデータ設定部212と、第1のデータ提供部214と、第2のデータ設定部216と、第2のデータ提供部218とを備える。
【0026】
株式コピーテーブル202は、株式マスタテーブル102に格納された株式マスタデータのコピーデータ(以下、「株式コピーデータ」と呼ぶ。)が格納された記憶領域である。債券コピーテーブル204は、債券マスタテーブル104に格納された債券マスタデータのコピーデータ(以下、「債券コピーデータ」と呼ぶ。)が格納された記憶領域である。投信コピーテーブル206は、投信マスタテーブル106に格納された投信マスタデータのコピーデータ(以下、「投信コピーデータ」と呼ぶ。)が格納された記憶領域である。したがって、各コピーテーブルも証券会社における業務の都合に応じて業務属性毎に用意される。
【0027】
株式コピーデータ、債券コピーデータおよび投信コピーデータのデータ構造は、図4(a)で示される株式マスタデータ、図4(b)で示される債券マスタデータ、および図4(c)で示される投信マスタデータのデータ構造と同一である。なお、株式コピーテーブル202、債券コピーテーブル204および投信コピーテーブル206は、外部記憶装置よりも高速アクセスが可能なメインメモリを記録媒体とする。
【0028】
表示用テーブル208は、株式コピーテーブル202、債券コピーテーブル204および投信コピーテーブル206に格納されたコピーデータのうち、特定の情報提供画面(以下、「特定画面」と呼ぶ。)における表示対象データが格納された記憶領域である。特定画面は複数でもよく、この場合、表示用テーブル208は特定画面毎に用意される。なお、表示用テーブル208もメインメモリを記録媒体とする。
【0029】
図6は、表示対象データのデータ構造を示す。同図は、図2で説明したポートフォリオ画面における表示対象データを示している。図2と比較すれば明らかなように、同図の表示対象データには、ポートフォリオ画面で表示されるデータが集約されている。すなわち、顧客の保有証券に関する情報は、マスタテーブルおよびコピーテーブルにおいては、業務の都合または正規化の都合により分散配置され、一方で表示用テーブル208においては、ポートフォリオ画面にあわせて集約して格納されている。図5に戻る。
【0030】
また、表示用テーブル208にあらかじめ表示対象データを格納される特定画面は、顧客に提供される複数の情報提供画面のうち、参照頻度、すなわち単位時間あたりの参照リクエスト数に応じて決定されてもよい。例えば、参照頻度が所定回数以上である情報提供画面や、参照頻度が所定順位内の情報提供画面を特定画面として決定してもよい。この決定に用いられる閾値は、証券会社の経験や実験により適切な閾値が設定されてよい。
【0031】
さらにまた、特定画面は、顧客に提供される複数の情報提供画面のうち、各コピーテーブルに格納されたコピーデータから表示対象データを取り出して各情報提供画面のデータに設定する際の処理負荷に応じて決定されてもよい。例えば、CPU使用率が所定時間以上継続して所定値以上となる情報提供画面や、メモリ使用量が所定値以上となる情報提供画面を特定画面として決定してもよい。これにより、大量の表示対象データを取り出す必要がある、または、大量のコピーデータをもとに表示対象データを算出する必要がある情報提供画面の場合、その処理負荷は大きくなり、特定画面として決定されやすくなる。
【0032】
更新処理部210は、データベース装置100から更新されたマスタデータを受信して、株式コピーテーブル202、債券コピーテーブル204および投信コピーテーブル206に対して更新を反映させる。これにより、各マスタテーブルに格納されたマスタデータと各コピーテーブルに格納されたコピーデータとを同期させる。具体的には、更新されたマスタデータが格納されたマスタテーブルに対応するコピーテーブルを特定して、そのコピーテーブルに格納されたコピーデータを、マスタデータの更新データより更新する。
【0033】
第1のデータ設定部212は、各コピーテーブルから特定画面における表示対象データを取り出して表示用テーブル208に設定する。これにより各コピーテーブルに格納されたコピーデータと表示用テーブルに格納された表示対象データとを同期させる。第1のデータ設定部212は、各コピーテーブルに格納されたコピーデータが更新されたことを契機に表示用テーブル208を設定する更新対応処理を実行する。また、第1のデータ設定部212は、第1のデータ提供部214からの設定要求データを受け付けたことを契機に表示用テーブル208を設定する参照対応処理を実行する。
【0034】
第1のデータ設定部212における更新対応処理を具体的に説明する。第1のデータ設定部212は、特定画面で使用される表示対象データに含まれる各データ項目とコピーデータに含まれる各データ項目との対応を示す情報(以下、「第1のマッピング情報」と呼ぶ。)を保持する。第1のマッピング情報は、言い換えれば、表示用テーブル208の各カラムに格納すべきコピーデータの位置、すなわちコピーテーブルおよびカラムを特定する情報である。第1のデータ設定部212は、各コピーテーブルを更新した更新処理部210から顧客IDの通知を受け付けて、この顧客IDに対応づけられているコピーデータを各コピーテーブルから取得する。第1のデータ設定部212は、第1のマッピング情報を参照し、コピーデータから表示対象データを取り出して表示用テーブル208に追加し、または、既存の表示対象データを更新する。
【0035】
例えば、第1のマッピング情報には、図4(a)で示される株式コピーテーブル202の「顧客ID」カラムから「数量」カラムのそれぞれが、図6で示される表示用テーブル208の「顧客ID」カラムから「数量」カラムのそれぞれに対応することが記録されている。第1のデータ設定部212は、この第1のマッピング情報に基づき、株式コピーテーブル202の各カラムのデータを表示用テーブル208の各カラムのデータに設定する。なお、第1のデータ設定部212は、表示用テーブル208の種別欄について、各データを取得したコピーテーブルに応じて設定する。図6では、株式コピーテーブル202、債券コピーテーブル204、投信コピーテーブル206から取得されたデータには、それぞれ、「株式」、「債券」、「投信」が設定されている。
【0036】
また、更新対応処理において、表示対象データを表示用テーブル208に追加し、または既存の表示対象データを更新したとき、第1のデータ設定部212はさらに、第1のデータ提供部214を介して、更新した表示対象データの顧客IDを顧客支援装置300に送信する。このとき、顧客IDを受信した顧客支援装置300での処理は後述する。
【0037】
次に、第1のデータ設定部212における参照対応処理を具体的に説明する。第1のデータ設定部212は、第1のデータ提供部214から表示対象データの設定要求データを受け付けて、この取得要求データで指定された顧客IDに対応づけられたコピーデータを各コピーテーブルから取得する。第1のデータ設定部212は、第1のマッピング情報を参照し、コピーデータから特定画面の表示対象データを取り出して表示用テーブル208に追加し、または、既存の表示対象データを更新する。最後に、第1のデータ設定部212は、第1のデータ提供部214に対して設定完了の通知データを送信する。
【0038】
第1のデータ設定部212は、さらに、表示用テーブル208に格納される表示対象データを制限するための所定条件を満たす表示対象データを表示用テーブル208から削除する。第1のデータ設定部212は、例えば、FIFO(First-In First-Out)アルゴリズムに基づいて、表示用テーブル208に格納されてからの経過時間が最も長い表示対象データを削除してもよい。また例えば、LRU(Least Recently Used)アルゴリズムに基づいて、最後に参照されてからの時間が最も長い表示対象データを削除してもよい。
【0039】
第1のデータ提供部214は、特定画面における表示対象データの取得要求データを顧客支援装置300から受信して、取得要求データにおいて指定された顧客IDをもとに表示用テーブル208を検索する。この顧客IDに対応づけられた表示対象データが表示用テーブル208に格納されていた場合、第1のデータ提供部214は、この表示対象データを取得して顧客支援装置300に送信する。
【0040】
一方で、顧客IDに対応づけられた表示対象データが表示用テーブル208に格納されていなかった場合、第1のデータ提供部214は、第1のデータ設定部212に対して表示対象データの設定要求データを通知する。第1のデータ提供部214は、第1のデータ設定部212から設定完了の通知データを受け付けたとき、表示用テーブル208から表示対象データを取得して顧客支援装置300に送信する。
【0041】
第2のデータ設定部216は、特定画面とは別の情報提供画面(以下、単に「別画面」と呼ぶ。)で使用される表示対象データに含まれる各データ項目とコピーデータに含まれる各データ項目との対応を示す情報(以下、「第2のマッピング情報」と呼ぶ。)を保持する。第2のデータ設定部216は、第2のデータ提供部218からの取得要求データを受信して、この取得要求データで指定された顧客IDに対応づけられているコピーデータを各コピーテーブルから取得する。第2のデータ設定部216は、第2のマッピング情報を参照し、コピーデータから別画面の表示対象データを取り出して第2のデータ提供部218に通知する。
【0042】
第2のデータ提供部218は、別画面における表示対象データの取得要求データを顧客支援装置300から受信する。第2のデータ提供部218は、第2のデータ設定部216に対して表示対象データの取得要求データを通知し、第2のデータ設定部216から表示対象データを取得して顧客支援装置300に送信する。
【0043】
図7は、図1の顧客支援装置300の機能構成を示すブロック図である。顧客支援装置300は、画面IDテーブル302と、時価テーブル304と、ローカルテーブル306と、参照要求受信部308と、画面判定部310と、第1の画面設定部312と、第1のデータ取得部314と、第2の画面設定部316と、第2のデータ取得部318と画面送信部320とを備える。
【0044】
画面IDテーブル302は、顧客に提供する特定画面のIDが格納された記憶領域である。この特定画面は、上述したように、複数の情報提供画面の中から、参照頻度や表示対象データの取り出し処理に要する負荷等に応じて決定される。特定画面のIDは、証券情報提供システム10において特定画面を一意に特定するデータであればよく、例えば、特定画面のURL(Uniform Resource Locator)でもよい。
【0045】
時価テーブル304は、図示しない外部装置から提供される各証券銘柄の時価データが格納された記憶領域である。ローカルテーブル306は、特定画面における表示対象データが格納された記憶領域である。ローカルテーブル306に格納された表示対象データ(以下、「ローカルデータ」と呼ぶ。)のデータ構造は、表示用テーブル208に格納された表示対象データのデータ構造と同一である。また、ローカルテーブル306もメインメモリを記録媒体とする。
【0046】
参照要求受信部308は、顧客端末600から情報提供画面の参照要求データを受信する。画面判定部310は、画面IDテーブル302を参照して、参照要求データにおいて指定された情報提供画面のIDが画面IDテーブル302に格納された特定画面のIDと一致するか否かを判定する。すなわち、画面判定部310は、顧客から要求された情報提供画面が特定画面か別の画面かを判定する。
【0047】
第1の画面設定部312は、特定画面を要求した顧客に応じて特定画面のデータを設定する。具体的には、第1の画面設定部312は、要求元顧客のIDを含むデータであって、特定画面で使用される表示対象データの取得要求データを第1のデータ取得部314に通知して、要求元顧客の表示対象データを取得する。第1の画面設定部312は、特定画面における顧客共通のHTMLデータに要求元顧客の表示対象データを設定する。なお、ポートフォリオ画面における評価額を設定するときには、第1の画面設定部312は、各証券銘柄の時価を時価テーブル304から取得して、顧客が保有する各証券銘柄の数量と時価とを積算することで評価額を算出する。
【0048】
第1のデータ取得部314は、特定画面で使用される表示対象データの取得要求データを第1の画面設定部312から受け付けて、まず、要求元顧客のIDをもとにローカルテーブル306を検索する。この要求元顧客のIDに対応づけられたローカルデータがローカルテーブル306に格納されていた場合、第1のデータ取得部314は、そのローカルデータを取得して表示対象データとして第1の画面設定部312に通知する。
【0049】
一方で、要求元顧客のIDに対応づけられたローカルデータがローカルテーブル306に格納されていなかった場合、第1のデータ取得部314は、要求元顧客のIDを含むデータであって、表示対象データの取得要求データをキャッシュ装置200に送信する。第1のデータ取得部314は、キャッシュ装置200から要求元顧客の表示対象データを受信して第1の画面設定部312に通知する。第1のデータ取得部314は、さらに、キャッシュ装置200から受信した表示対象データをローカルテーブル306に格納する。
【0050】
また、第1のデータ取得部314は、キャッシュ装置200側で更新された表示対象データについての顧客IDをキャッシュ装置200から受信する。第1のデータ取得部314は、当該顧客IDに対応づけられたローカルデータをローカルテーブル306から削除する。その後、キャッシュ装置200側で更新された表示対象データが要求されるとき、第1のデータ取得部314は、キャッシュ装置200から更新された表示対象データを取得してローカルテーブル306に格納する。これにより、キャッシュ装置200における表示対象データの更新にあわせて、顧客支援装置300におけるローカルデータを削除させ、表示対象データとローカルデータ間のデータ不整合を防止する。
【0051】
第2の画面設定部316は、別の画面を要求した顧客に応じて別の画面のデータを設定する。具体的には、第2の画面設定部316は、要求元顧客のIDを含むデータであって、別の画面で使用される表示対象データの取得要求データを第2のデータ取得部318に通知して、要求元顧客の表示対象データを取得する。第2の画面設定部316は、別の画面における顧客共通のHTMLデータに要求元顧客の表示対象データを設定する。なお、ポートフォリオ画面における評価額の設定方法は、上述した第1の画面設定部312と同様である。
【0052】
第2のデータ取得部318は、別の画面で使用される表示対象データの取得要求データを第2の画面設定部316から受け付けて、要求元顧客のIDを含むデータであって、表示対象データの取得要求データをキャッシュ装置200に送信する。第2のデータ取得部318は、キャッシュ装置200から要求元顧客の表示対象データを受信して第2の画面設定部316に通知する。
【0053】
画面送信部320は、第1の画面設定部312において設定された特定画面のデータ、または、第2の画面設定部316において設定された別の画面のデータを顧客端末600に対して送信する。これにより、顧客が参照要求した画面を顧客端末600に表示させる。
【0054】
以上の構成による動作を以下説明する。
図8は、証券情報提供システム10における情報提供処理の流れを示すフローチャートである。
顧客支援装置300における参照要求受信部308は、顧客端末600から情報提供画面の参照要求データを受信する(S10)。画面判定部310において、顧客から要求された画面が特定画面であると判定されたとき(S12のY)、第1の画面設定部312は表示対象データの取得要求データを第1のデータ取得部314に通知する。ローカルテーブル306に要求元顧客のローカルデータが格納されていたとき(S14のY)、第1のデータ取得部314は、ローカルテーブル306からローカルデータを取得して(S16)、当該ローカルデータを第1の画面設定部312に通知する。第1の画面設定部312は、特定画面のデータにローカルデータを設定して(S18)、画面送信部320は特定画面のデータを顧客端末600に送信する(S20)。
【0055】
ローカルテーブル306に要求元顧客のローカルデータが格納されていなかったとき(S14のN)、第1のデータ取得部314は、表示対象データの取得要求データをキャッシュ装置200に送信する。キャッシュ装置200における表示用テーブル208に要求元顧客の表示対象データが格納されていたとき(S22のY)、第1のデータ提供部214は、表示用テーブル208から表示対象データを取得して顧客支援装置300に送信する。このようにして、第1のデータ取得部314は、キャッシュ装置200から表示対象データを取得して(S24)、当該表示対象データを第1の画面設定部312に通知するとともにローカルテーブル306に格納する(S26)。以降S18の処理となる。
【0056】
キャッシュ装置200における表示用テーブル208に要求元顧客の表示対象データが格納されていなかったとき(S22のN)、第1のデータ提供部214は第1のデータ設定部212に対して表示対象データの設定要求データを通知する。第1のデータ設定部212は、要求元顧客のIDをもとに各コピーテーブルからコピーデータを取得して(S28)、当該コピーデータから表示対象データを取り出して表示用テーブル208に設定する(S30)。第1のデータ提供部214は、表示用テーブル208から表示対象データを取得して顧客支援装置300に送信し、以降S24の処理となる。
【0057】
顧客支援装置300における画面判定部310において、顧客から要求された画面が別の画面であると判定されたとき(S12のN)、第2の画面設定部316は表示対象データの取得要求データを第2のデータ取得部318に通知する。第2のデータ取得部318は、キャッシュ装置200に対して表示対象データの取得要求データを送信する。キャッシュ装置200における第2のデータ提供部218は、第2のデータ設定部216に対して表示対象データの取得要求データを通知する。
【0058】
続いて、第2のデータ設定部216は、要求元顧客のIDをもとに各コピーテーブルからコピーデータを取得して(S32)、当該コピーデータから表示対象データを取り出して第2のデータ提供部218に通知する。第2のデータ提供部218は、第2のデータ設定部216から取得した表示対象データを顧客支援装置300に送信する。このようにして、第2のデータ取得部318は、キャッシュ装置200から表示対象データを取得して(S34)、当該表示対象データを第2のデータ設定部216に通知する。第2のデータ設定部216は、別の画面のデータに表示対象データを設定して(S36)、以降S20の処理となる。
【0059】
図9は、証券情報提供システム10におけるデータ更新処理の流れを示すフローチャートである。
データベース装置100における更新要求受信部108は、外部装置からの更新要求データに応じて各マスタテーブルに格納されたマスタデータを更新する(S40)。更新通知部110は、マスタデータの更新を検出して、その更新データをキャッシュ装置200に送信する。キャッシュ装置200における更新処理部210は、マスタデータの更新データにより各コピーテーブルに格納されたコピーデータを更新して(S42)、第1のデータ設定部212に通知する。
【0060】
続いて、第1のデータ設定部212は、各コピーテーブルにおける更新されたコピーデータから表示対象データを取り出して、表示用テーブル208に格納された表示対象データを更新する(S44)。第1のデータ設定部212は、表示対象データの更新を顧客支援装置300に通知する。顧客支援装置300における第1のデータ取得部314は、この通知を受けて、キャッシュ装置200側で更新された表示対象データに対応するローカルデータをローカルテーブル306から削除する(S46)。
【0061】
以上説明した証券情報提供システム10においては、外部装置から更新されるデータを管理するデータベース装置100と、外部装置から参照されるデータを管理するキャッシュ装置200とが分離されている。これにより、更新リクエストのトラヒックおよびデータ更新に伴う処理負荷と、参照リクエストのトラヒックおよびデータ参照に伴う処理負荷とを分散でき、情報提供サービスを高速化できる。
【0062】
また、キャッシュ装置200では、情報提供画面で使用される表示対象データがあらかじめ表示用テーブル208に格納されている。これにより、顧客からの参照リクエスト受信時にコピーデータを取得し、加工して、表示対象データを取り出す処理が不要となり、キャッシュ装置200の処理負荷を低減させるとともに、表示対象データの迅速な提供が可能になる。言い換えれば、業務都合や正規化の都合に応じて分散されたデータを、情報提供画面の都合に応じてあらかじめ集約しておくことで、情報提供サービスを高速化できる。
【0063】
さらに、証券情報提供システム10においては、顧客端末600からのアクセスを受け付ける顧客支援装置300がキャッシュ装置200と分離されている。顧客支援装置300にはローカルデータが配置されるため、顧客支援装置300への参照リクエスト数が増加しても、キャッシュ装置200への参照リクエスト数への影響は低減できる。これにより、参照リクエストの増加には顧客支援装置300の装置数を増加させることで対応できる。すなわち、証券情報提供システム10の機能配置およびデータ配置により、参照リクエストに対する効率的な負荷分散が可能となり、情報提供サービスを高速化できる。
【0064】
さらにまた、証券情報提供システム10においては、参照の対象となるコピーデータ、表示対象データおよびローカルデータはメインメモリに保持される。これにより、参照の対象となるデータにCPUが高速にアクセスでき、情報提要サービスを高速化できる。
【0065】
さらにまた、証券情報提供システム10においては、顧客に提供される複数の情報提供画面のうち特定画面についての表示対象データが表示用テーブル208に格納される。特定画面に制限されることで、表示用テーブル208において記憶されるデータ量、およびシステム管理者のメンテナンスコストも抑制される。また、この特定画面が参照頻度や表示対象データ取り出しの処理負荷に応じて決定されることで、情報提供サービスのレスポンス性能に比較的大きな影響を与える情報提供画面を特定画面として決定できる。
【0066】
さらにまた、証券情報提供システム10においては、データベース装置100が保持するマスタデータと、キャッシュ装置200が保持するコピーデータおよび表示対象データとは同期される。また、顧客支援装置300が保持するローカルデータは表示対象データの更新にあわせて削除される。これにより、各データ間の不整合が防止され、顧客の利便性低下を防止する。また、各データは顧客IDをキーとして対応づけられるため、顧客共通の画面だけでなく、顧客毎に表示内容が異なる画面、例えばポートフォリオ画面についても各顧客に対して高速に提供できる。
【0067】
さらにまた、キャッシュ装置200の表示用テーブル208に格納された表示対象データは、表示対象データを制限するための所定条件に基づき削除される。これにより、表示用テーブル208の格納量が無限に大きくなることが防止されるとともに、再度参照される可能性が高い表示対象データについては継続して格納しておくことができる。なお、参照時に表示対象データが削除されていた場合、コピーデータから再度表示対象データが生成されるため、キャッシュ装置200内の処理で顧客への情報提供を継続できる。
【0068】
本発明者は、同一の顧客が参照および更新するデータについて、そのデータが参照される回数と更新される回数とには差異があると認識している。具体的には、本発明者の経験則上、参照回数20回に対して更新回数は1回程度である。上述したように、証券情報提供システム10によれば、参照処理と更新処理とが分離され、さらに参照処理が高速化されるため、情報提供サービス全体を高速化できる。
【0069】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0070】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示される各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【0071】
変形例を説明する。実施の形態では、各コピーデータはコピーテーブル内でレコードの一意性を担保するためのレコードキーとして預かりIDを有し、一方で、第1のデータ設定部212等からの検索キーとなる顧客IDを有した。しかし、データベースソフトウェア等の制限により、コピーデータのキーが1つだけ、すなわち預かりIDだけしか設定できない場合もある。この場合、第1のデータ設定部212等は顧客IDをキーとして複数のコピーデータを取得できない。この制限に対応するため、本変形例のキャッシュ装置200は、図示しないキーテーブルとキーテーブル設定部とをさらに備える。
【0072】
キーテーブルは、コピーテーブルにおける複数のコピーデータそれぞれの預かりIDと顧客IDとがN対1で対応づけられて格納された記憶領域である。キーテーブル設定部は、更新処理部210により更新されたコピーデータを上述のデータベーストリガーにより取得して、コピーデータに含まれる預かりIDと顧客IDとを対応づけてキーテーブルに格納する。第1のデータ設定部212または第2のデータ設定部216は、コピーデータを取得する際に、まず、顧客IDをキーとしてキーテーブルから複数の預かりIDを取得する。そして、各預かりIDをキーとして各コピーテーブルから複数のコピーデータを取得する。なお、キーテーブル設定部は、テーブルを特定するためのテーブルIDをキーテーブルにさらに格納してもよい。
【0073】
本変形例によれば、コピーテーブルにおいて一つのキーのみ設定可能という制限がある場合にも、各顧客に対応づけられている複数のコピーデータを取得して表示対象データを取り出すことができる。すなわち、本発明の技術の適用範囲を拡張できる。
【0074】
別の変形例を説明する。実施の形態では、第1のデータ設定部212は、表示対象データを更新したとき、更新した表示対象データの顧客IDを顧客支援装置300に送信した。変形例として、第1のデータ設定部212は、更新した表示対象データそのものを顧客支援装置300に送信してもよい。このとき、更新された表示対象データを受信した第1のデータ取得部314は、受信した表示対象データによりローカルデータを更新する。
【0075】
本変形例によれば、キャッシュ装置200における表示対象データと、顧客支援装置300におけるローカルデータとを同期できる。また、第1の画面設定部312から当該表示対象データが要求されたとき、第1のデータ取得部314は、表示対象データの更新前と同様に、ローカルデータを取得して提供できるため、情報提供サービスをさらに高速化できる。
【0076】
さらに別の変形例を説明する。実施の形態の証券情報提供システム10は、データベース装置100とキャッシュ装置200と顧客支援装置300とをそれぞれ1台ずつ備えたが、本発明の技術思想は装置数には依存しない。一台のみまたは複数台の装置を備える様々な態様の情報提供システムに対して、本発明の技術思想を適用することで情報提供サービスを高速化できる。
【0077】
構成例として、1台のデータベース装置と、2台以上のキャッシュ装置と、2台以上のユーザ支援装置とを備える情報提供システムであってもよい。すなわち、図1のキャッシュ装置200および顧客支援装置300がそれぞれ複数存在する証券情報提供システムでもよい。このデータベース装置は、全顧客のマスタデータをマスタテーブルで管理する。各ユーザ支援装置は、全顧客のうち一部の顧客に対してそれぞれ対応づけられており、各ユーザ支援装置は対応づけられている顧客に対して情報提供サービスを提供する。また、この一部の顧客を認識するための図示しないデータベース、例えば顧客情報テーブルを有する。
【0078】
各キャッシュ装置は、全顧客のうち一部の顧客に対してそれぞれ対応づけられており、全顧客のコピーデータをコピーテーブルで管理する。また、一部の顧客の特定画面に関する表示対象データを表示用テーブルで管理する。すなわち、コピーテーブルの内容は各キャッシュ装置で共通であるが、各キャッシュ装置が対応づけられている顧客は異なるため、表示用テーブルの内容は各キャッシュ装置で異なる。なお、各キャッシュ装置は、この一部の顧客を認識するための図示しないデータベース、例えば顧客情報テーブルをそれぞれ有する。各ユーザ支援装置および各キャッシュ装置が保持することとしたデータベースは、図示しない共通のデータベースサーバ、例えば顧客情報管理装置により一元的に保持されてもよい。
【0079】
この構成例では、マスタデータが更新されると、データベース装置は更新されたマスタデータを各キャッシュ装置に通知する。各キャッシュ装置は、自装置に対応づけられた顧客のIDを示す顧客ID情報を保持する。各キャッシュ装置は、通知されたマスタデータにしたがってコピーデータを更新するとともに、顧客情報テーブルを参照して、更新したコピーデータの顧客IDが顧客ID情報に含まれるか否かを判定する。自装置に対応づけられた顧客のコピーデータが更新されたときには、その顧客の表示対象データをあわせて更新する。各ユーザ支援装置は、自装置に対応づけられた顧客、すなわち顧客情報テーブルに設定された顧客の表示対象データを取得して、顧客に情報提供画面を提供するとともに、特定画面に関する表示対象データをローカルテーブルに格納する。
【0080】
この構成例は、実施の形態の証券情報提供システム10が参照リクエスト数の増大に応じてスケールアウトした構成であるといえる。すなわち、参照リクエスト数の増大に応じて、まずユーザ支援装置数を増加させ、キャッシュ装置が性能のボトルネックになれば適宜キャッシュ装置数を増加させることで参照リクエスト数の増大に対応できる。また、業務上の都合により各装置の構成が決定されてもよく、例えば複数のユーザ支援装置および/または複数のキャッシュ装置は、証券会社の各支店の顧客にそれぞれ対応づけられてもよい。
【0081】
この構成例によれば、既述した効果に加えて、キャッシュ装置に障害が発生した際のデータリカバリを効率よく実施できる。すなわち、コピーテーブルは各キャッシュ装置で共通であり、かつ、コピーデータはマスタデータと同期が取られているため、コピーテーブルを再構築すべきキャッシュ装置は、他のキャッシュ装置からコピーデータを取得すればよい。キャッシュ装置ではコピーデータがメインメモリ上に保持されるため、コピーデータを高速に取得して短時間でコピーテーブルを構築できる。なお、表示用テーブルについては、顧客の初回の参照リクエスト時に構築されるため、その顧客の2回目以降の参照リクエストに対してさらに高速なレスポンスが可能になる。
【図面の簡単な説明】
【0082】
【図1】本発明の実施の形態における証券情報提供システムの構成図である。
【図2】ポートフォリオ画面の画面図である。
【図3】図1のデータベース装置の機能構成を示すブロック図である。
【図4(a)】株式マスタデータのデータ構造を示す図である。
【図4(b)】債券マスタデータのデータ構造を示す図である。
【図4(c)】投信マスタデータのデータ構造を示す図である。
【図5】図1のキャッシュ装置の機能構成を示すブロック図である。
【図6】表示対象データのデータ構造を示す図である。
【図7】図1の顧客支援装置の機能構成を示すブロック図である。
【図8】証券情報提供システムにおける情報提供処理の流れを示すフローチャートである。
【図9】証券情報提供システムにおけるデータ更新処理の流れを示すフローチャートである。
【符号の説明】
【0083】
10 証券情報提供システム、 100 データベース装置、 102 株式マスタテーブル、 104 債券マスタテーブル、 106 投信マスタテーブル、 108 更新要求受信部、 110 更新通知部、 200 キャッシュ装置、 202 株式コピーテーブル、 204 債券コピーテーブル、 206 投信コピーテーブル、 208 表示用テーブル、 210 更新処理部、 212 第1のデータ設定部、 214 第1のデータ提供部、 216 第2のデータ設定部、 218 第2のデータ提供部、 300 顧客支援装置、 302 画面IDテーブル、 304 時価テーブル、 306 ローカルテーブル、 308 参照要求受信部、 310 画面判定部、 312 第1の画面設定部、 314 第1のデータ取得部、 316 第2の画面設定部、 318 第2のデータ取得部、 320 画面送信部、 400 社内網、 500 社外網、 600 顧客端末、 602 ポートフォリオ画面。

【特許請求の範囲】
【請求項1】
マスタデータが格納された、業務属性毎に用意された複数のマスタテーブルと、
前記複数のマスタテーブルに格納されたマスタデータのうち、ユーザに提供される特定の画面で使用される表示対象データを取り出して格納した表示用テーブルと、
ユーザから前記特定の画面の参照を要求されたとき、前記表示用テーブルに格納された表示対象データを前記特定の画面のデータに設定して前記ユーザに提供する参照処理部と、
を備えることを特徴とする情報提供装置。
【請求項2】
前記参照処理部は、
前記特定の画面のIDが格納された画面IDテーブルと、
ユーザから参照を要求された画面のIDが前記画面IDテーブルに格納されたIDと一致するか否かを判定する画面判定部と、
前記画面判定部において前記要求された画面のIDが前記特定の画面のIDと一致すると判定されたとき、前記表示用テーブルに格納された表示対象データを前記要求された画面のデータに設定する画面設定部と、
を有することを特徴とする請求項1に記載の情報提供装置。
【請求項3】
前記画面設定部は、前記画面判定部において前記要求された画面のIDが前記特定の画面のIDと一致しないと判定されたとき、前記複数のマスタテーブルに格納されたマスタデータから前記要求された画面で使用される表示対象データを取り出して前記要求された画面のデータに設定することを特徴とする請求項2に記載の情報提供装置。
【請求項4】
前記画面IDテーブルには、ユーザに提供される複数の画面のうち、参照頻度に応じて決定された一部の画面のIDが格納されることを特徴とする請求項2または3に記載の情報提供装置。
【請求項5】
前記画面IDテーブルには、ユーザに提供される複数の画面のうち、前記複数のマスタテーブルに格納されたマスタデータから表示対象データを取り出して各画面のデータに設定する際の処理負荷に応じて決定された一部の画面のIDが格納されることを特徴とする請求項2または3に記載の情報提供装置。
【請求項6】
前記マスタテーブルに格納されたマスタデータの更新を検出したとき、更新されたマスタデータから表示対象データを取り出して前記表示用テーブルに格納するデータ設定部をさらに備えることを特徴とする請求項1から5のいずれかに記載の情報提供装置。
【請求項7】
前記参照処理部は、ユーザから前記特定の画面の参照を要求され、かつ、前記表示用テーブルに前記表示対象データが格納されていないとき、前記データ設定部に対して前記表示対象データの設定を要求し、
前記データ設定部は、前記表示対象データの設定を要求されたとき、前記複数のマスタテーブルに格納されたマスタデータから表示対象データを取り出して前記表示用テーブルに格納することを特徴とする請求項6に記載の情報提供装置。
【請求項8】
前記複数のマスタテーブルには、ユーザ単位のマスタデータが個々のユーザのIDと対応づけて格納され、
前記表示用テーブルには、前記複数のマスタテーブルに格納されたマスタデータのうち、前記個々のユーザに提供される特定の画面で使用される表示対象データが格納され、
前記複数のマスタテーブルに格納されたマスタデータのうち、前記個々のユーザのIDと対応づけられたマスタデータから表示対象データを取り出して前記表示用テーブルに格納するデータ設定部をさらに備えることを特徴とする請求項1から5のいずれかに記載の情報提供装置。
【請求項9】
プロセッサと記憶装置とを有するコンピュータを用いた情報提供方法であって、
業務属性毎に用意された複数のマスタテーブルに格納されたマスタデータのうち、ユーザに提供される特定の画面で使用される表示対象データを取り出して表示用テーブルに格納するステップと、
ユーザから前記特定の画面の参照を要求されたとき、前記表示用テーブルに格納された表示対象データを前記特定の画面のデータに設定して前記ユーザに提供するステップと、
を前記プロセッサに実行せしめることを特徴とする情報提供方法。
【請求項10】
外部装置から更新されるデータを管理するデータベース装置と、
ユーザから参照されるデータを管理するユーザ支援装置と、
を備え、
前記データベース装置は、
マスタデータが格納された、業務属性毎に用意された複数のマスタテーブルと、
前記複数のマスタテーブルに格納されたマスタデータが更新されたとき、更新されたマスタデータを前記ユーザ支援装置に通知する更新通知部と、
を有し、
前記ユーザ支援装置は、
前記マスタデータのコピーであるコピーデータが格納された、業務属性毎に用意された複数のコピーテーブルと、
前記データベース装置から通知されたマスタデータにより前記コピーデータを更新する更新処理部と、
前記複数のコピーテーブルに格納されたコピーデータのうち、ユーザに提供される特定の画面で使用される表示対象データを取り出して格納した表示用テーブルと、
ユーザから前記特定の画面の参照を要求されたとき、前記表示用テーブルに格納された表示対象データを前記特定の画面のデータに設定して前記ユーザに提供する参照処理部と、
を有することを特徴とする情報提供システム。
【請求項11】
外部装置から更新されるデータを管理するデータベース装置と、
複数のユーザのうち一部のユーザに対してそれぞれ対応づけられた、当該一部のユーザから参照されるデータを管理する複数のキャッシュ装置と、
複数のユーザのうち一部のユーザに対してそれぞれ対応づけられた、当該一部のユーザからの参照要求を受け付ける複数のユーザ支援装置と、
を備え、
前記データベース装置は、
前記複数のユーザそれぞれのマスタデータが格納された、業務属性毎に用意された複数のマスタテーブルと、
前記複数のマスタテーブルに格納されたマスタデータが更新されたとき、更新されたマスタデータを前記複数のキャッシュ装置それぞれに通知する更新通知部と、
を有し、
前記複数のキャッシュ装置のそれぞれは、
前記マスタデータのコピーであるコピーデータが格納された、業務属性毎に用意された複数のコピーテーブルと、
前記データベース装置から通知されたマスタデータにより前記コピーデータを更新する更新処理部と、
前記複数のコピーテーブルに格納されたコピーデータのうち、自装置に対応づけられたユーザに提供される特定の画面で使用される表示対象データを取り出して格納した表示用テーブルと、
を有し、
前記複数のユーザ支援装置のそれぞれは、
自装置に対応づけられたユーザから前記特定の画面の参照を要求されたとき、当該ユーザに対応づけられたキャッシュ装置の表示用テーブルから当該ユーザの表示対象データを取得して前記特定の画面のデータに設定する画面設定部と、
前記特定の画面のデータを前記ユーザに提供する画面送信部と、
を有することを特徴とする情報提供システム。
【請求項12】
前記複数のユーザ支援装置のそれぞれは、前記画面設定部において取得された表示対象データを格納したローカルテーブルをさらに有し、
前記画面設定部は、前記特定の画面の参照を要求したユーザの表示対象データが前記ローカルテーブルに存在するとき、当該ユーザの表示対象データを前記ローカルテーブルから取得することを特徴とする請求項11に記載の情報提供システム。
【請求項13】
前記複数のキャッシュ装置のそれぞれは、前記表示用テーブルに格納された表示対象データが更新されたとき、更新された表示対象データの識別情報を前記ユーザ支援装置に通知する更新通知部をさらに有し、
前記複数のユーザ支援装置のそれぞれは、通知された前記識別情報で特定される表示対象データを前記ローカルテーブルから削除するローカルテーブル設定部をさらに有することを特徴とする請求項12に記載の情報提供システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4(a)】
image rotate

【図4(b)】
image rotate

【図4(c)】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−230675(P2009−230675A)
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願番号】特願2008−78181(P2008−78181)
【出願日】平成20年3月25日(2008.3.25)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】