JP6789799B2 - データ統合装置、データ統合システム、データ統合方法 - Google Patents

データ統合装置、データ統合システム、データ統合方法 Download PDF

Info

Publication number
JP6789799B2
JP6789799B2 JP2016244920A JP2016244920A JP6789799B2 JP 6789799 B2 JP6789799 B2 JP 6789799B2 JP 2016244920 A JP2016244920 A JP 2016244920A JP 2016244920 A JP2016244920 A JP 2016244920A JP 6789799 B2 JP6789799 B2 JP 6789799B2
Authority
JP
Japan
Prior art keywords
data
query
source
search
seat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016244920A
Other languages
English (en)
Other versions
JP2018097823A (ja
Inventor
三揮 米原
三揮 米原
仁貴 藤原
仁貴 藤原
修一郎 崎川
修一郎 崎川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016244920A priority Critical patent/JP6789799B2/ja
Publication of JP2018097823A publication Critical patent/JP2018097823A/ja
Application granted granted Critical
Publication of JP6789799B2 publication Critical patent/JP6789799B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の情報ソースから収集したデータを統合し、統合したデータを利用して、ユーザサービスを実現させるようにしたデータ統合装置等に関する。
従来から、複数のシステム夫々からデータを収集して統合し、統合したデータをユーザ側端末のアプリケーションプログラムに提供するデータ統合装置が実現されている。複数の情報ソース夫々が互いに異なる種類のデータを管理していても、アプリケーション端末は、統合データを利用することによって、複数の情報ソースを横断した検索サービス等の融合サービスをユーザに提供することができる。この種のデータ統合装置として、例えば、特許文献1に記載されたものがある。
特許文献1に係るデータ統合装置は、ソースシステムに含まれる1つ以上のデータ項目と当該データ項目のデータ値の型を含む定義である物理データモデルと、利用者側アプリケーションで用いられる1つ以上のデータ項目と当該データ項目のデータ値の型を含む定義である論理データモデルと、前記論理データモデルのデータ項目と前記物理データモデルのデータ項目との対応関係を示すマッピング情報を記憶し、前記論理データモデルに対する検索条件を前記利用者側アプリケーションから受け付け、受け付けた検索条件と前記マッピング情報に基づいて、前記物理データモデルに対する検索条件を生成して、ソースシステムからデータを収集し、さらに、前記マッピング情報に基づいて、複数のソースシステムの夫々から収集したデータを統合することを特徴としている。
このデータ統合装置によれば、ユーザ側アプリケーション端末からの検索条件に応じて物理データモデルに対する検索条件が生成され、検索の都度、データがソースシステムから収集されるため、収集されるデータが刻々と変動するようなリアルタイムデータであっても、データの変動に対応しながらデータ統合を達成することができる。
特許第5733434号公報
ソースシステムによって実行されている業務の運用環境が変化すると、それに応じて、ソースシステムから収集されるデータ相互間の優劣等、データの意義や価値等データの属性も変化する。従来のデータ統合装置には、これに対する配慮がなされていないため、本発明は、収集されるデータの属性に変化が生じ得る状況であっても、アプリケーション端末がユーザサービスを提供するのに適した統合データを生成可能なデータ統合装置等を提供することを目的とする。
前記目的を達成するために、本発明は、複数の情報ソース夫々からデータを収集し、収集したデータに基づいて、アプリケーションデータを生成し、当該アプリケーションデータを端末装置に提供する、データ統合装置であって、前記アプリケーションデータを生成するためのプログラムを実行するコントローラと、制御情報を記録するメモリと、を備え、前記コントローラは、前記複数の情報ソース夫々について、データを収集するための情報ソース検索用クエリを生成し、前記複数の情報ソース検索用クエリを評価し、当該評価に基づいて、前記複数の情報ソース夫々からデータを収集し、当該収集したデータを前記制御情報としてのルールに基づいて推論して、前記アプリケーションデータを生成することを特徴とする。
本発明によれば、収集されるデータの属性に変化が生じ得る状況であっても、アプリケーション端末がユーザサービスを提供するのに適した統合データを生成可能なデータ統合装置等を提供することができる。
データ統合システムのブロック図の一例である。 データ統合装置のハードウェアブロック図である。 データ統合装置からアプリケーション端末に提供されるアプリケーションデータのデータフォーマット(テーブル)の一例である。 経路データモデルの一例としてのテーブルである。 座席情報としての座席(空席)データモデル一例に係るテーブルである。 座席(空席)データモデルの一例に係るテーブルである。 クエリ評価基準格納テーブルの一例である。 推論ルール格納テーブルの一例である。 データ統合装置が、アプリケーションデータをユーザ側端末に送信するまでの動作を示すフローチャートの一例である。 情報ソースに対するクエリを生成するステップの詳細を示すフローチャートの一例である。 クエリを評価するステップの詳細を示すフローチャートの一例である。 ユーザ側端末にインストールされている経路・空席検索アプリケーションプログラムのGUIの一例である。 端末からデータ統合装置に送信されるクエリの一例である。 “経路”に対するソースクエリの一例である。 “空席”モデルに対するソースクエリの一例である。 “空席”モデルに対するソースクエリの他の例である。 空席管理サーバに対するソースクエリ(再生成後のクエリ)の一例である。 空席管理サーバに対するソースクエリ(再生成後のクエリ)の他の例である。 経路空席検索結果の情報の表示例である。 ソークエリに対応した“座席”モデルに係るテーブルの他の例である。 ソークエリに対応した“座席”モデルに係るテーブルのさらに他の例である。 座席管理データベースの“座席”モデルの一例に係るテーブルである。 座席管理データベースの“座席”モデルの他の例に係るテーブルである。 経路モデルに対するソースクエリ(再生成後のクエリ)の一例である。 経路データモデルの他の例としてのテーブルである。 経路空席モデルの一例である。 経路空席検索結果情報の他の表示例である。
本発明に係るデータ統合装置は、例えば、複数の情報ソースにデータが分散されている環境に適用される。さらに詳しくは、列車を管理するシステムでは、複数の情報管理サーバが運用されており、複数の種類の情報を利用して様々な旅客用案内サービスが提供されている。この種のサービスとして、経路検索サーバの列車運行情報を利用した経路検索サービス、座席管理サーバの座席情報を利用した空席予約サービスがある。データ統合装置は、経路情報と座席情報とを統合し、統合データをユーザ側端末装置のアプリケーションプログラムに提供して、ユーザが統合サービス(経路・空席検索)を利用できるようにしている。
データ統合装置を利用するシステムは、データの元となる情報ソースの持つデータベースからデータを抽出し、ユーザ側端末のアプリケーションプログラムが利用しやすい形に加工(統合)し、ユーザ側端末にロードするというステップを行うことから、ETLシステムに対応するものでもある。
図1は、データ統合システム10のブロック図の一例である。データ統合システム10は、データ統合装置100と、ユーザ側端末(アプリケーション端末)130と、情報ソース140とを備える。ユーザ側端末130と情報ソース140とは、夫々、ネットワーク160を介して、データ統合装置100に接続される。
ユーザ側端末130は、スマートフォン、パソコン等のコンピュータ端末でよい。ユーザ側端末130には、例えば、経路・空席検索のための旅客案内用のアプリケーションプログラムがインストールされている。
情報ソース(ソースシステム)140は、データベース等のデータ群を管理する管理サーバであり、例えば、列車の運行管理サーバ、及び、列車の座席管理サーバである。列車の運行管理サーバは、列車の運行管理情報データベースを備え、列車の座席管理サーバは座席管理情報データべースを備える。複数の情報ソース140が、ネットワーク160を介して、データ統合装置100に接続される。データ統合装置100は、経路検索サーバ、そして、列車座席予約サーバ夫々から収集したデータを統合し、統合データ(アプリケーションデータ)をユーザ側端末130に提供するサーバであってよい。
管理システム10は、複数の鉄道事業者の管理サーバを網羅するものであってよい。複数の鉄道事業者によって、経路検索サーバ、そして、座席管理サーバが別々に運用されることがあるが、データ統合装置100は、複数の事業者夫々の管理サーバに接続してデータを収集することができる。
データ統合装置100は、通信モジュール120と、管理用ユーザインタフェースモジュール121と、クエリ生成モジュール101と、クエリ評価モジュール102と、クエリ実行モジュール103と、データ推論モジュール104と、データ格納モジュール110と、を備える。モジュールとは、データ統合を実現するための諸機能の一つ、又は、複数であり、プログラム、及び/又は、ハードウェアによって実現される。モジュールをユニット、又は、手段に言い換えてもよい。
通信モジュール120は、ネットワーク160を介して、ユーザ側端末130と情報ソース140夫々と通信して、データを送受信する。ユーザ側端末130のアプリケーションプログラムは、データ統合装置100に、論理データモデルに基づいてデータ検索用クエリ(アプリケーションクエリ)を送信する。アプリケーションクエリとしては、例えば、経路・空席検索クエリがある(後述の図10A参照)。
データ統合装置100はデータ検索クエリを受け付けると、アプリケーションのデータモデルと情報ソースのデータモデルとの間の対応関係であるマッピング情報(後述の推論ルール)に基づいて、複数の情報ソース140夫々に対するデータ検索クエリ(ソースクエリ)を生成する(クエリ生成モジュール101)。データ統合装置100のクエリ評価モジュール102は、生成した複数のソースクエリを評価する。クエリ実行モジュール103は、評価結果に基づいて複数の情報ソース140の夫々にクエリを送信する。
データ統合装置100のデータ推論モジュール104は、ソースクエリによって情報ソース140から収集したデータモデル(ソースデータ)を、推論ルール112にしたがって、ユーザ側端末のアプリケーションプログラム用のデータモデル(アプリケーションデータ)に推論、即ち、複数のソースデータを統合してアプリケーションデータを生成する。データ統合装置100は、このアプリケーションデータを、アプリケーションクエリの実行結果として、ユーザ側装置130のアプリケーションプログラムに送信する。なお、アプリケーションデータを統合データと呼ぶこともある。
“推論”とは、入力データから出力データを得るための処理を意味し、既述のとおり、入力データは、複数の情報ソース140から収集されたソースデータであり、出力データは、アプリケーションデータである。推論のためのルールを“推論ルール”という。複数のソースデータを統合するという推論ルールは,SQLにおける、テーブル結合(ジョイン)と同じである。
データ格納モジュール110は、データ統合のための管理データ、例えば、複数のソースクエリを評価するための基準(クエリ評価基準格納テーブル111)と、既述の推論のルール(推論ルール格納テーブル112)と、を格納する。さらに、データ格納モジュール110は、中間データ(アプリケーションデータを生成するためのデータ、即ち、ソースデータ)を格納する中間データ格納テーブル113を備える。
モジュール121は、管理端末(管理計算機)150に、データ統合のための管理用ユーザインタフェースを提供する。管理端末150は、例えば、クエリ評価基準格納テーブル111と推論ルール格納テーブル112とを設定する、又は、これらテーブルを更新する等の管理処理を、管理用ユーザインタフェースモジュール121を介して、データ統合装置100に適用する。
通信モジュール120は、例えば、ネットワークカードである、データ格納モジュール110は、記憶モジュールとしてのメモリ(非一時的記録媒体)である。ユーザ側端末130は、通信モジュール131と、記憶モジュール132と、制御モジュール133と、表示モジュール134と、入力モジュール135とを備える。制御モジュール133は、アプリケーションプログラムによる制御機能を備える。表示モジュール134は、例えば、液晶表示装置である。入力モジュール135は、例えば、ユーザからの入力を受けるタッチパネルである。情報ソース140も、通信モジュール141と、記憶モジュール142と、制御モジュール143とを備える。
図1Bに、データ統合装置100のハードウェアブロック図を示す。データ統合装置100は、サーバシステムとして構成されてよく、プロセッサ、又は、コントローラ12としてのCPUと、更新処理を実行するための制御プログラムや制御用データを記録するメモリ14(非一時的記録媒体)と、各種データ及びデータベースを記録するストレージ装置16と、を備える。
ストレージ装置16は、データ統合装置100に内蔵されるハードディスク等、及び/又は、ネットワーク160に接続されたストレージシステム、データセンタであってよい。プロセッサ12は、制御プログラムを実行することによって、既述のモジュール(101〜104)を実現する。クエリ評価基準格納テーブル111、推論ルーツ格納テーブル112は、中間データ格納テーブル113は、メモリ14又はストレージ装置16に格納される。
データ統合装置100からユーザ側端末130に提供されるアプリケーションデータは、例えば、図2に示すデータフォーマット(テーブル)1500のように構成される。アプリケーションデータは、経路データモデルと座席データモデルとが統合された経路座席データモデルであり、その項目には、経路ID(1501)と、経路乗車駅(1502)と、経路降車駅(1503)と、乗車時刻(1504)と、経路順序(1505)と、列車ID(1506)と、乗車駅(1507)と、降車駅(1508)と、空席(1509)と、料金(1510)とがある。
データ統合装置100は、経路検索サーバ(第1の情報ソース140)から経路データモデルを収集する。経路検索サーバは、データ統合装置100からのソースクエリに応答して、記憶モジュール142の列車運行管理データベースに記録されている物理データモデルに基づいて、経路データモデルを生成してデータ統合装置100に送信する。図3は、経路データモデルの一例としてのテーブルである。
図3のテーブル900は、経路ID(901)と、出発駅(902)と、目的駅(903)と、出発時刻(904)と、経路順序(905)と、列車ID(906)と、乗車駅(907)と、降車駅(908)とを含む。
データ統合装置100は、座席管理サーバ(第2の情報ソース140)から座席(空席)データモデルを収集する。座席管理サーバは、データ統合装置100からのソースクエリに応答して、記憶モジュール142の座席管理データベースに基づいて、座席データモデル生成してデータ統合装置100に送信する。図4Aは、A社の座席管理サーバによって生成された、座席情報としての座席(空席)データモデル1000の一例に係るテーブル、図4Bは、B社の座席管理サーバによって生成された、座席(空席)データモデル1100の一例に係るテーブルである。
A社は出発駅“八重洲”から、途中駅“原田町”の間で列車を運行し、B社は、途中駅“原田町”から目的駅“吉田町”までの間で列車を運行する。ユーザ側端末130のユーザが、出発駅“八重洲”から目的駅“吉田町”までの経路と座席を検索すると、検索される経路の情報は、出発駅“八重洲”から乗換駅“原田町”までの列車情報(列車IDと乗降時間)と、乗換駅“原田町”から目的駅“吉田町”までの列車情報(列車IDと乗降時間)とから構成される。
そして、検索される座席の情報は、A社の路線(“八重洲”から“原田町”)の座席データ(図4A)と、B社の路線(“原田町”から“吉田町”)の座席データ(図4B)とである。
図4Aに示すテーブル1000は、列車ID(1001)と、乗車駅(1002)と、降車駅(1003)と、空席(1004)と、料金(1005)とを含み、図4Bに示すテーブル1100は、列車ID(1101)と、乗車駅(1102)と、降車駅(1103)と、空席(1104)と、料金(1105)とを含む。
なお、経路検索サーバは、A社の列車運行情報と、B社の列車運行情報と、を統合して管理する。二つの路線をA社の路線とB社の路線として説明したが、二つの路線がA社に属する第1の路線と第2の路線であってもよい。
クエリ評価基準格納テーブル(111)とは、クエリ生成モジュール101が、アプリケーションクエリに基づいて生成した、複数の情報ソース140の夫々に対するソースクエリについて、複数のソースクエリ相互間の優劣を規定する指標である。クエリ実行モジュール103は、優先度が高いクエリから実行し、そのクエリによって、情報ソース140からデータモデルを収集する。そして、アプリケーションクエリと収集したデータ(或いは、データモデル)とに基づいて、優劣判断によって実行されなかった他のクエリに代えて、クエリを再生成することができる。換言すれば、実行されなかったクエリを、収集されたデータを利用して修正、補正する。クエリ実行モジュール103は、このような“2次クエリ”をクエリの送信対象である情報ソース140に適用する。
クエリを評価することが有用である理由について説明する。列車の管理データの態様、状況、形態等は列車の運行環境に依存して変動する。例えば、利用客が多い繁忙期、即ち、休日、祝日、週末、通勤通学時間帯等では空席が少なく、一方、利用客が少ない閑散期では、空席が十分にある。そこで、経路・空席検索に際して、閑散期では座席が容易に予約できるため、データ統合装置100は、経路を座席よりも優先して情報ソースを検索すれば、ユーザには、座席を予約できる経路の候補を多様に提供でき、一方、利用客が多い繁忙期では、座席の予約が困難であるため、座席を経路よりも優先して検索することにより、座席が予約できる確かな経路をユーザに提示できる。このように、列車の運行環境や外部要因に応じて、ユーザに提供できる検索結果を変化させることの方が好ましく、かつ、検索を効率的に進めることができる。
そこで、クエリ評価モジュール102は、経路を検索するためのクエリと、座席を検索するクエリとを、列車の運行環境に基づく等して評価し、そして、夫々のクエリの優劣を判定し、クエリの優先度に基づいてクエリを実行することによって、情報ソース140から収集されるデータをユーザの要望に適した検索結果になるようにしている。クエリ評価モジュール102は、ソースクエリを、例えば、クエリ評価基準格納テーブル111を利用して評価する。
図5は、ソースクエリを評価するためのクエリ評価基準格納テーブル111の一例である。クエリ評価基準格納テーブル111は、情報ソース140に対するクエリを評価するための複数の基準を定義している。クエリ評価基準格納テーブル111は、基準毎のID:基準項目(1111)と、クエリへの基準の適用の要否を判定するための適用条件(1112)と、クエリ種別(1113)と、クエリに適用される評価点(1114)とを含む。クエリ評価基準テーブル111は、業務の状況(例えば、既述の繁忙期、又は、閑散期等)に応じて、データ項目(“空席”、“乗車駅”、“降車駅”等)毎に評価量(評価点)を規定する。なお、基準項目毎に、有効又は無効を設定することができる。
クエリ評価モジュール102は、複数のソースクエリ夫々について、評価要件(適用条件1112、クエリ種別1113)を判定して、評価点の適用の要否を決定する。評価点が高いほど、ソースクエリの優先度は高くなる。例えば、繁忙期(適用要件)では、列車座席の検索クエリの評価点を高くして、座席検索クエリが経路検索クエリよりも優先的に実行されるようにしている。
図6に推論ルール格納テーブル112の一例を示す。このテーブルは、データ統合装置100のデータ推論モジュール104が複数の情報ソース140から夫々ソースデータを収集し、これからアプリケーションデータを生成するための規則を規定する。推論ルール格納テーブル112は、複数のルール毎のID(ルールID)1121と、頭部1122と、体部1123とを含む。
頭部1122は、アプリケーションデータのデータモデルを定義する。“経路空席”がデータの論理モデルであり、経路ID、順序、列車ID、乗車駅、降車駅、乗車時刻、空席、及び、料金が夫々データモデルのデータ項目である。
体部1123は、頭部1122のデータモデルを生成するためのサブモデルを定義するものであって、“経路”及び“座席”が夫々サブモデルである。サブモデルの論理和によって、頭部1122の“経路座席”のデータモデルが算出される。経路ID、順序、列車ID、乗車駅、降車駅、そして、乗車時刻は経路データモデルのデータ項目であり、列車ID、乗車駅、降車駅、空席、そして、料金が座席データモデルのデータ項目である。
データ推論モジュール104は、列車ID、乗車駅、そして、降車駅が同じ値のデータモデル(経路、座席)について論理和を適用して、“経路座席”のデータを算出する。なお、推論ルール格納テーブル112のデータモデル“経路座席”、“経路”、“座席”とは、複数のデータ項目と、各データ項目のデータ値との集合として定義された論理モデルである。
図7は、データ統合装置100が、アプリケーションデータをユーザ側端末130に送信するまでの動作を示すフローチャートの一例である。クエリ生成モジュール101(図1)は、ユーザ側端末130のアプリケーションプログラムからクエリ(アプリケーションクエリ)を受信すると(500)、情報ソース140へのデータ検索クエリ(ソースクエリ)を生成する(501)。図8は、ソースクエリを生成するステップ(501)の詳細を示すフローチャートの一例である。
アプリケーションクエリは、アプリケーションデータとしてのデータモデル“経路座席”(頭部:図6(1122))中の所定のデータ項目を用いて定義される検索条件である。クエリ生成モジュール101は、アプリケーションクエリで指定された情報をキーとして推論ルール格納テーブル112を検索し、当該キーを頭部1122に持つルールを抽出する。そして、クエリ生成モジュール101は、抽出したルールの体部1123に含まれる全てのサブモデルを入力モデルとしたリストを作成し、全ての入力モデル夫々に対するクエリを生成する(5021)。既述の推論ルール格納テーブル112(図6)を例にすると、“経路”、“座席”が夫々入力モデルである。
クエリ生成モジュール101は、全ての入力モデルのリストについてループ処理を行う(5022〜5024)。クエリ生成モジュール101は、ループ処理において、複数の入力モデルの夫々対してソースクエリを生成する(5023)。この結果、既述の推論ルール格納テーブル112(図6)を例にすると、第1の情報ソース(経路検索サーバ)に対する第1のソースクエリと、第2の情報ソース(座席管理サーバ)に対する第2のソースクエリとが生成される。なお、クエリ生成モジュール101は、推論ルール格納テーブル112以外の、例えば、一般の推論エンジンを用いて、ソースクエリを算出してもよい。
クエリ生成モジュール101が図7のステップ501(図8:5021〜2024)を終了すると、クエリ評価モジュール102は、クエリ生成モジュール101が生成したソースクエリを、既述のクエリ評価基準テーブル111を参照して、評価する(図7:502)。
図9は、クエリを評価するステップ(502)の詳細を示すフローチャートの一例である。クエリ評価モジュール102は、クエリ生成モジュール101から複数のソースクエリを受領すると、フローチャートを開始する。クエリ評価モジュール102は、複数のソースクエリの夫々ついてループ処理を適用する(図9:5031)。クエリ評価モジュール102は、ソースクエリについて、クエリ評価基準格納テーブル111を参照し、複数の基準が当てはまる場合には、夫々の基準についてループ処理を適用する(5032)。
クエリ評価モジュール102は、一つのソースクエリについて一つの評価基準を適用し、ソースクエリが、クエリ評価基準格納テーブル111(図5)の適用条件1112に一致するか否かを判定する(5033)。クエリ評価モジュール102は、一致しないことを判定すると(5033:NO)、次の評価基準の処理に移行する(5032)。クエリ評価モジュール102は、一致することを判定すると(5033:YES)、続いて、クエリの内容的要件(クエリ種別:1113)を判定する(5034)。
クエリ評価モジュール102は、クエリが種別要件に合致することをすると(5034:YES)を肯定すると、クエリの評価点に評価基準の得点1114を加算する(5035)。クエリ評価モジュール102は、ステップ5034を否定すると、ステップ5032に移行して、次の評価基準の処理を継続する。
クエリ評価モジュール102は、ステップ5033〜ステップ5035を繰り返し、全ての評価基準を処理すると(5036)、ステップ5037に移行し、全てのクエリについて、ループ処理を完了すると(5037)、図9のフローチャートを終了する。クエリ評価モジュール102は、複数クエリ夫々の評価点の合計に基づいて、複数クエリの間の優劣を設定、決定、判定する。
続いて、クエリ実行モジュール103は、クエリを実行するステップ503(図7)において、複数のクエリの中から優先度、即ち、クエリの評価点の合計が最も高いクエリを、当該クエリにとって検索となる情報ソース140に送信し、当該情報ソースからデータを収集する。
次いで、データ推論モジュール104は、ステップ504において、収集したソースデータに、推論ルール格納テーブル112のルールにしたがって、ジョインを適用する(推論の実行)。データ推論モジュール104は、ステップ504を終了すると、ステップ505に移行し、推論結果(アプリケーションデータ)が増えているか否かを判定する。
クエリ実行モジュール103が、評価点が最も高いクエリを情報ソースに送信してソースデータを収集した段階では、データ統合装置100は、一つのデータモデルしか収集していないために、データ推論モジュール104は、ステップ505を否定判定して、ステップ501にリターンする。クエリ生成モジュール101は、アプリケーションクエリと収集したソースデータを利用してクエリを再度生成し、このクエリに基づいて収集したソースデータを既に収集されているソースデータと統合する(504)。
クエリ実行モジュール103が、複数のソースクエリを夫々の優先度に基づいて、順に実行する過程で、データ推論モジュール104は、複数のソースデータを継続的に統合してアプリケーションデータを生成する。データ推論モジュール104は、ステップ505において、前回の処理で得られたアプリケーションデータと、今回の処理で得られたアプリケーションデータとを比較して、アプリケーションデータ(推論結果)が増えていれば、データの統合はまだ途中であるとしてステップ505を否定判定し、ステップ501にリターンしてフローチャートを継続し、一方、ステップ505を肯定判定すると、アプリケーションデータは完成されてユーザ側端末130に提供されてよいとして、ステップ506に移行する。データ統合装置100は、ユーザ側装置130にアプリケーションデータをアプリケーションプログラム用データとして送信し(506)、フローチャートを終了する。
次に、ここまでの説明に基づいて、データ統合装置100の動作を具体的に説明する。図10Aは、ユーザ側端末130にインストールされている経路・空席検索アプリケーションプログラムのGUI800の一例を示す。ユーザ側端末130の制御モジュール133は、記憶モジュール132に記憶されている経路・空席検索アプリケーションプログラムを起動すると、GUI800を表示モジュール134に表示させる。そして、制御モジュール133は、入力モジュール135へのユーザ入力をGUI800に適用する。
データ検索用の項目は、ユーザ側端末130が関与するデータモデル“経路座席”に属するデータ項目から選択されてよい。GUI800は、出発駅を入力する領域801と、目的駅を入力する領域802と、経路、空席検索を開始させるための入力領域803と、を備える。ユーザが出発駅名と目的駅名を入力した後、領域803を操作すると、制御モジュール133は、SQLを利用して、アプリケーションクエリ804(図10B)を生成し、これを、通信モジュール131を介して、データ統合装置100に送信する。
クエリ生成モジュール101は、アプリケーションクエリを受信すると(図7:500)、入力モデルのリストを生成する(図7:501、図8:5021)。クエリ生成モジュール101は、推論ルール格納テーブル112(図6)に基づいて、アプリケーションクエリに対応するサブモデル“経路”と“座席”を特定し、“経路”と“座席”とを入力モデルとしたリストを生成する。
次いで、クエリ生成モジュール101は、“経路”モデルと“座席”モデルとの夫々について、アプリケーションクエリに基づいて、ソースクエリを生成する(図8:5022〜5024)。図11Aは、“経路”に対するソースクエリ、即ち、経路検索サーバ(情報ソース140)に対するソースクエリ1201のSQLを示す。このクエリ1201は、アプリケーションクエリ804(図10A)に基づいて、出発駅(八重洲)と、目的駅(吉田町)の情報を備えている。
図11Bは“空席”モデルに対するソースクエリ1301(A社の管理サーバに送信される)のSQLを示し、図11Cは“空席”モデルに対するソースクエリ1301(B社の管理サーバに送信される)のSQLを示す。ソースクエリ1301のSQL(図11B)は、アプリケーションクエリ804に基づいて、出発駅“八重洲”と、可能性のある“列車ID”と、“空席”とを備えている。ソースクエリ1401のSQL(図11C)は、アプリケーションクエリ804に基づいて、目的駅“吉田町”と、“列車ID”と、“空席”とを備えている。
クエリ評価モジュール102は、ソースクエリ1201、1301、そして、1401の夫々を、クエリ評価基準テーブル111(図5)に基づいて評価する(図7:502、図9)。クエリ評価モジュール102は、ソースクエリ1201とクエリ評価基準テーブル111の夫々の基準と、を比較する。ソースクエリ1201は、“出発駅”と“空席”を含むために、クエリ評価基準テーブル111の基準ID:C03と基準ID:C04との二つの基準夫々について、クエリ評価モジュール102は、ステップ5033とステップ5034(図9)とを肯定し、ソースクエリ1201がこれら二つの基準に合致することを判定する。そして、クエリ評価モジュール102は、二つの基準夫々の点数“50”を加算した値である“100”をソースクエリ1201の基準点の合計として決定する(図9:5035)。
クエリ評価モジュール102は、ソースクエリ1301とクエリ評価基準テーブル111の夫々の基準と、を比較し、ソースクエリ1301は、“出発駅”と“空席”とを含むために、基準ID:C02と基準ID:C03との二つの基準について、ステップ5033とステップ5034(図9)とを肯定し、ソースクエリ1301がこれら二つの基準に合致することを判定する。
そして、クエリ評価モジュール102は、基準ID:C02の評価点“10”と、基準ID:C03の評価点“50”とを加算した値である“60”をソースクエリ1301の合計点として決定する(図9:5035)。
さらに、クエリ評価モジュール102は、ソースクエリ1401とクエリ評価基準テーブル111の夫々の基準と、を比較し、ソースクエリ1301は、“降車駅”と“空席”とを含むために、基準ID:C02と基準ID:C04との二つの基準について、ステップ5033とステップ5034(図9)とを肯定し、ソースクエリ1401がこれら二つの基準に合致することを判定する。
そして、クエリ評価モジュール102は、基準ID:C02の評価点“10”と、基準ID:C04の評価点“50”とを加算した値である“60”をソースクエリ1401の合計点として決定する(図9:5035)。なお、クエリ評価モジュール102は、ユーザ側端末130による検索の実行(図10A)が閑散期に行われたものとして、基準ID:C02に対するステップ5033(図9)の判断を肯定している。
クエリ実行モジュール103は、ソースクエリ1201、1301、そして、1401とを互いに比較して、評価点が最も高いソースクエリ1201を優先して実行する(図7:503)。クエリ実行モジュール103は、ソースクエリ1201を経路検索サーバ(情報ソース140)に送信する。経路検索サーバ(情報ソース140)の制御モジュール143は、通信モジュール141を介してソースクエリ1201を受けると、ソースクエリ1201に基づいて記憶モジュール142の列車運行管理データベース(物理モデル)を検索して、出発駅が“八重洲”であり、目的駅が“吉田町”である“経路”モデル900(推論ルールテーブル112(図6)の体部1123の経路データモデルに相当する図3のテーブル)を生成し、これをデータ統合装置100に送信する。
そして、データ推論モジュール104がステップ505(図7)を否定判定することにより、クエリ生成モジュール101は、クエリ生成を再度行う(図7:501)。クエリ生成モジュール101は、アプリケーションクエリ804(図10B)と“経路”データモデル900とに基づいて、A社の空席管理サーバに対するソースクエリと、B社の空席管理サーバに際するソースクエリとを、再度生成する。図11Dは、A社の空席管理サーバに対するソースクエリ1302(再生成後のクエリ)のSQLを示し、図11Eは、B社の空席管理サーバに対するソースクエリ1402(再生成後のクエリ)のSQLを示す。
クエリ生成モジュール101は、“経路”モデル900(図3)を参照することによって、これに含まれる乗換駅“原町田”を認識し、これを含めて空席管理サーバに対するクエリを生成することができる。この事は、再生成前のクエリと再生成後のクエリとを比較すると容易に理解される(クエリ1301と1302との比較、クエリ1401と1402との比較)。
クエリ評価モジュール102は、クエリ評価基準格納テーブル111(図5)を参照して、ソースクエリ1302と1402とを夫々評価する。その結果、スースクエリ1302及び1402は共に評価点が“100”になるため、クエリ実行モジュール103は、ソースクエリ1302をA社の座席管理サーバ(情報ソース140)に送信し、ソースクエリ1402をB社の座席管理サーバ(情報ソース)に送信する。これら情報ソース140の制御モジュール141は、通信モジュール141を介して、ソースクエリを受信すると、ソースクエリに基づいて、記憶モジュール142の座席管理データベース(物理モデル)を検索して、ソースクエリ1302,1402の夫々対応する“座席”モデル(推論ルールテーブル112(図6)の体部1123の座席データモデルに相当するテーブル1000(図4A)、同テーブル1100(図4B))を生成する。
データ推論モジュール104は、ステップ504(図7)によって、“経路”モデル900(図3)、“座席”モデル1000(図4A)、“座席”モデル1100(図4B)を、推論ルール格納テーブル112の頭部1122のルールにしたがってジョインし(テーブル統合)、ステップ505を経て、アプリケーションデータ(“経路空席”モデル1500:図2)を構成し、ユーザ側端末130に、アプリケーションクエリ804(図10B)の応答として送信する。
ユーザ側装置130の制御モジュール133は、アプリケーションデータに基づいて、経路空席検索結果のビジュアル情報を、表示モジュール134に表示する。図12は、経路空席検索結果の情報の表示例である。図12によれば、経路空席の候補が5件あることが提示され、そして、5件の候補のうちの1件の系統図が提示される。
経路・座席の統合モデルを検索する場合、閑散期では、座席に余裕があるために、経路モデルの検索を優先することができ、経路検索の結果に基づいて座席検索を進めればよい。この結果、ユーザが所望する経路について座席を提示することができると共に、座席モデルの検索数を制限できるために、検索を効率よく進めながら、データ量を制限してネットワーク負荷を抑えることができる。
既述の説明は、列車運行の閑散期における経路・空席検索に関するものであったが、以下説明するのは、列車運行の繁忙期における経路・空席検索に関するものである。
列車運行の繁忙期では、予約可能な座席数が減少するため、経路・空席検索に際しては、経路検索よりも空席検索を優先し、空席がある列車について経路検索を行う方が、座席を確保しようとするユーザの要望に適することは先に説明したとおりである。そこで、データ統合装置100は、座席検索のためのクエリを経路検索のためのクエリよりも優先されるように、前者のクエリの評価点を高くしている。
データ統合装置100のクエリ生成モジュール101は、アプリケーションクエリ804(図10B)に基づいて、ソースクエリ1201(図11A)、ソースクエリ1301(図11B)、ソースクエリ1401(図11C)とを生成する。そして、クエリ評価モジュール102は、これらクエリを、クエリ評価基準格納テーブル111を参照して評価する。
ソースクエリ1301は、クエリに“出発駅”と“空席”を含むため、基準IDのC01(繁忙期)とC03に合致し(図5)、ソースクエリ1301の評価点は合計で150になる。ソースクエリ1401は、クエリに“目的駅”と“空席”を含むため、基準IDのC01(繁忙期)とC04に合致し、これも150点として評価される。一方、ソースクエリ1201は、クエリに、空席を含まず、乗車駅と目的駅を含むため、繁忙期か閑散期かに拘わりなく、基準IDのC03とC04に合致し、100点として評価される。
クエリ実行モジュール103は、ソースクエリ1201、1301、そして、1401を互いに比較して、評価値がもっと高いソースクエリ1301と1401とを、ソースクエリ1201よりも優先して実行する(図7:503)。クエリ実行モジュール103は、ソースクエリ1301をA社の座席管理サーバ(情報ソース140)に送信し、ソースクエリ1402をB社の座席管理サーバ(情報ソース140)に送信する。これら情報ソース140の制御モジュール143は、通信モジュール141を介して、ソースクエリを受信すると、ソースクエリに基づいて記憶モジュール142の座席管理データベースを検索して、ソークエリに対応した“座席”モデル(図13のテーブル1910、図14のテーブル2010)を生成する。情報ソース140の通信モジュール141は、データ統合装置100に“座席”モデルを送信する。
図15は、A社の座席管理サーバ(情報ソース140)の座席管理データベースの“座席”モデル1700を示し、列車運行が繁忙期にあることから、座席に余裕が少ないことが分かる。A社の座席管理サーバの制御モジュール143は、座席管理データベースから空席がある列車(ID:T02)の管理データを抽出、選択、決定等して座席に余裕がある“座席”モデル(図13:1910)を生成する。
図16は、B社の座席管理サーバ(情報ソース140)の座席管理データベースの“座席”モデル1800を示し、列車運行が繁忙期にあることから、座席に余裕が少ないことが分かる。B社の座席管理サーバの制御モジュール143は、座席管理データベースから空席がある列車(ID:U02)の管理データを抽出、選択、決定等して座席に余裕がある“座席”モデル(図14:2010)を生成する。なお、情報ソース140がソースクエリに対応する管理情報をデータ統合装置100に送信し、データ統合装置100がデータモデルを生成してもよい。
そして、データ推論モジュール104がステップ505(図7)を否定判定することにより、クエリ生成モジュール101は、先に実施されなかった経路検索クエリ(1201:図11A)を再生する(図7:501)。クエリ生成モジュール101は、アプリケーションクエリ804(図10B)と、“座席”モデル1910(図13)と、“座席”モデル2010(図14)と、に基づいて、経路検索サーバへのソースクエリを生成する。図17は、このソースクエリ2102のSQLである。このSQLをクエリ1201として示したSQL(図)11A)と比較すると、前者のSQLによって、経路検索の対象を座席予約が可能な列車(T02:図13、U02:図14)に絞れることが分かる。
クエリ実行モジュール103は、ソースクエリ2102(図17)を経路検索サーバ(情報ソース140)に送信する。経路検索サーバの制御モジュール143は、通信モジュール141を介してソースクエリ2102を受けると、ソースクエリ2102に基づいて記憶モジュール142の列車運行管理データベースを検索して、出発駅が“八重洲”であり、目的駅が“吉田町”であり、列車IDがT02、又はU02である“経路”モデル2110(図18)を生成してデータ統合装置100に送信する。
データ推論モジュール104は、ステップ504(図7)によって、“経路”モデル2110(図18)、“座席”モデル1910(図13)、“座席”モデル2010(図14)を、推論ルール格納テーブル112の頭部1122のルールにしたがって、“経路”モデルと“座席”モデルとのジョイン(テーブル結合)を行い、ステップ505を経て、アプリケーションデータ(“経路空席”モデル:2200(図19))を生成して、ユーザ側端末130に、アプリケーションクエリ804(図10B)の応答として送信する。
ユーザ側端末130の制御モジュール133は、アプリケーションデータに基づいて、経路空席検索結果の情報を、表示モジュール134に表示する。図20は、経路空席検索結果の情報2301の表示例である。図20によれば、経路空席の候補が1件あることが提示され、その1件の系統図が提示されている。なお、ユーザ側端末130は、アプリケーションデータを、データ統合装置100から論理モデルとして受け取るため、情報ソースの140の物理データを二重に管理する必要はない。
既述の実施形態は、本発明の例であって、本発明は、実施形態に限定されない。データ統合装置100は、列車の運行を管理するシステムに適用される他、ユーザが購入を望む商品を検索するシステム等、複数の情報を統合しながら各種の検索を行うような各種の検索システムに適用することができる。
10 データ統合システム
100 データ統合装置
130 アプリケーション端末
140 情報ソース
150 管理端末
160 通信ネットワーク

Claims (4)

  1. 複数の情報ソース夫々からデータを収集し、
    収集したデータに基づいて、アプリケーションデータを生成し、
    当該アプリケーションデータを端末装置に提供する、
    データ統合装置であって、
    コントローラと、
    メモリと、
    を備え、
    前記コントローラは、前記メモリに記録されたプログラムを実行することによって、
    前記端末装置から送信されたクエリから、前記複数の情報ソース夫々に対する検索用クエリを生成し、
    前記メモリに記録された評価基準に基づいて、前記複数の検索用クエリの夫々を評価し、評価が最も高い検索用クエリを他の検索用クエリより優先して実行して、前記評価が最も高い検索用クエリのデータ収集対象である情報ソースからデータを収集し、
    当該収集されたデータと前記端末装置から送信されたクエリとに基づいて、前記複数の情報ソースのうち当該データの収集対象である情報ソース以外の情報ソースに対する検索用クエリを作成し、
    当該再作成された検索用クエリを実行し、
    前記評価が最も高い検索用クエリに基づいて収集したデータと前記再作成された検索用クエリに基づいて収集したデータとを前記メモリに記録されたルールに基づいて統合して前記アプリケーションデータを生成し、
    当該アプリケーションデータに基づく出力を前記複数の情報ソースに対する検索結果として前記端末装置に実行させ、
    前記複数の検索用クエリの夫々を前記ルールに基づいて生成する、
    データ統合装置。
  2. 前記ルールにおいて、前記収集されるデータのデータモデルと前記アプリケーションデータのデータモデルとの対応関係が規定され、前記端末装置は当該アプリケーションデータのデータモデルのデータ項目に基づいて、当該端末装置から送信される前記クエリを生成する、
    請求項1記載のデータ統合装置。
  3. 請求項1記載の複数の情報ソースと、
    請求項1記載の端末装置と、
    請求項1記載のデータ統合装置と、
    を備える、
    データ統合システム。
  4. サーバが、
    複数の情報ソース夫々からデータを収集し、
    収集したデータに基づいて、アプリケーションデータを生成し、
    当該アプリケーションデータを端末装置に提供する、
    データ統合方法であって、
    前記サーバは、
    前記端末装置から送信されたクエリから、前記複数の情報ソース夫々に対する検索用クエリを生成し、
    メモリに記録された評価基準に基づいて、前記複数の検索用クエリの夫々を評価し、評価が最も高い検索用クエリを他の検索用クエリより優先して実行して、前記評価が最も高い検索用クエリのデータ収集対象である情報ソースからデータを収集し、
    当該収集されたデータと前記端末装置から送信されたクエリとに基づいて、前記複数の情報ソースのうち当該データの収集対象である情報ソース以外の情報ソースに対する検索用クエリを作成し、
    当該再作成された検索用クエリを実行し、
    前記評価が最も高い検索用クエリに基づいて収集したデータと前記再作成された検索用クエリに基づいて収集したデータとを前記メモリに記録されたルールに基づいて統合して前記アプリケーションデータを生成し、
    当該アプリケーションデータに基づく出力を前記複数の情報ソースに対する検索結果として前記端末装置に実行させ、
    前記複数の検索用クエリの夫々を前記ルールに基づいて生成する、
    データ統合方法。
JP2016244920A 2016-12-16 2016-12-16 データ統合装置、データ統合システム、データ統合方法 Active JP6789799B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016244920A JP6789799B2 (ja) 2016-12-16 2016-12-16 データ統合装置、データ統合システム、データ統合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016244920A JP6789799B2 (ja) 2016-12-16 2016-12-16 データ統合装置、データ統合システム、データ統合方法

Publications (2)

Publication Number Publication Date
JP2018097823A JP2018097823A (ja) 2018-06-21
JP6789799B2 true JP6789799B2 (ja) 2020-11-25

Family

ID=62633010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016244920A Active JP6789799B2 (ja) 2016-12-16 2016-12-16 データ統合装置、データ統合システム、データ統合方法

Country Status (1)

Country Link
JP (1) JP6789799B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550780B2 (en) * 2020-10-08 2023-01-10 Google Llc Pre-constructed query recommendations for data analytics

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3842549B2 (ja) * 2000-12-14 2006-11-08 株式会社東芝 情報収集システム、情報収集方法及び記憶媒体
JP2009025895A (ja) * 2007-07-17 2009-02-05 Canon Inc 情報処理装置及び情報処理方法
JP5136133B2 (ja) * 2007-08-29 2013-02-06 富士通株式会社 統合ルール作成支援プログラム、統合ルール作成支援システムおよび統合ルール作成支援方法
JPWO2011013234A1 (ja) * 2009-07-30 2013-01-07 株式会社東芝 受信装置
WO2011118427A1 (ja) * 2010-03-24 2011-09-29 日本電気株式会社 クエリ装置、クエリ分割方法、及びクエリ分割用プログラム
JP5276639B2 (ja) * 2010-10-01 2013-08-28 日本電信電話株式会社 分散データベース管理装置および分散データベース管理プログラム
JP6262505B2 (ja) * 2013-11-29 2018-01-17 Kddi株式会社 分散型データ仮想化システム、クエリ処理方法及びクエリ処理プログラム
US10108686B2 (en) * 2014-02-19 2018-10-23 Snowflake Computing Inc. Implementation of semi-structured data as a first-class database element
JP6371136B2 (ja) * 2014-06-26 2018-08-08 Kddi株式会社 データ仮想化サーバ、データ仮想化サーバにおけるクエリ処理方法及びクエリ処理プログラム
JP6401617B2 (ja) * 2015-01-07 2018-10-10 Kddi株式会社 データ処理装置、データ処理方法及び大規模データ処理プログラム

Also Published As

Publication number Publication date
JP2018097823A (ja) 2018-06-21

Similar Documents

Publication Publication Date Title
CN110188970B (zh) 共享车辆管理装置以及共享车辆管理方法
CN110348589B (zh) 一种拼车方法、装置、计算机设备及存储介质
US20140324550A1 (en) Method and system for determining an optimal low fare for a trip
JP7171471B2 (ja) 学習モデル生成支援装置、及び学習モデル生成支援方法
US11928618B2 (en) Transport allocation planning system, information processing apparatus, and method for controlling transport allocation planning system
Bastani et al. A greener transportation mode: flexible routes discovery from GPS trajectory data
WO2020106211A1 (en) Communications server apparatus, method and communications system for managing request for transport-related services
US20190378082A1 (en) Information processing apparatus and information processing method
CN113139667A (zh) 基于人工智能的酒店房间推荐方法、装置、设备及存储介质
CN114422580B (zh) 一种信息处理方法、装置、电子设备及存储介质
JP6789799B2 (ja) データ統合装置、データ統合システム、データ統合方法
US20230251100A1 (en) Destination recommendation method, electronic apparatus, and storage medium
US8667008B2 (en) Search request control apparatus and search request control method
CN109194727B (zh) 一种基于内容的约束感知服务组合方法
JP2008158748A (ja) 変数選択装置、方法およびプログラム
JP7552451B2 (ja) 情報処理装置
US10459936B2 (en) Information search method and apparatus
US20200160410A1 (en) Information processing system, program, and information processing method
KR101764026B1 (ko) 국내외 이벤트의 수송 최적화를 위한 시뮬레이션 기반 사전 플래닝 방법 및 시스템
WO2020238600A1 (zh) 一种订单处理方法、装置、电子设备及存储介质
CN120373809B (zh) 用于水运售票的同行旅客同房间分配优化方法及系统
US8700417B2 (en) Partitioning a network into sub-networks based on user utility
CN116506435B (zh) 一种面向多码互认的跨域路由系统及方法
JP7494695B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN113268580B (zh) 会话主题迁移路径挖掘方法、装置、计算机设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200923

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201007

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201104

R150 Certificate of patent or registration of utility model

Ref document number: 6789799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150