JP2015022388A - データベース・システム - Google Patents
データベース・システム Download PDFInfo
- Publication number
- JP2015022388A JP2015022388A JP2013148148A JP2013148148A JP2015022388A JP 2015022388 A JP2015022388 A JP 2015022388A JP 2013148148 A JP2013148148 A JP 2013148148A JP 2013148148 A JP2013148148 A JP 2013148148A JP 2015022388 A JP2015022388 A JP 2015022388A
- Authority
- JP
- Japan
- Prior art keywords
- function
- data source
- affiliation
- program
- argument
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本明細書で使用する用語の定義を述べる。
(1)関数
「関数」とは、引数と呼ばれるデータを受け取り、定められた通りの処理を実行して結果を返す一連の命令若しくは命令群をいう。
(2)テーブル
「テーブル」とは、データベースに格納される情報のまとめであって、データ要素(値)の集合を垂直な列と水平の行のモデルで構成したものをいう。
本発明の第1の実施の形態について説明する。本発明の第1の実施の形態は、データベース・システムとして提案される。
[1.1.第1の実施の形態の構成例]
端末装置10は、データの操作や定義を行うためのデータベース言語(例えばSQL)をデータベース統合装置20に送信し、データベース統合装置20からデータベース言語の実行結果を受信して、その実行結果をユーザに提示するアプリケーション10Aを有する装置である。この端末装置10は、コンピュータ、ワークステーション、携帯電話器(スマートフォン含む)、タブレットPC、ゲーム機などの情報処理装置であって、この情報処理装置は、演算処理装置(CPU)、主メモリ(RAM)、読み出し専用メモリ(ROM)、入出力装置(I/O)、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。
データベース統合装置20は、端末装置10からデータベース言語で記述された処理要求を受信すると、そのデータベース言語を解釈して、実行可能なプログラムを生成するとともに、そのプログラムに含まれている関数及び引数の所属先データソース(データベース、以下単に「所属先データソース」)を判定し、関数及び引数の所属先データソースと判定されたデータソース30にその関数の実行を指示し、その関数を実行結果をデータソース30から受信し、受信した実行結果に基づいて前記処理要求に対する結果を端末装置10に送信する機能を有する。
所属先判定部21は端末装置10と接続可能である。プログラム実行部24は端末装置10と接続可能であり、かつ各データソース30と接続可能である。
プログラム実行部24は関数実行制御部24Aを有している。関数実行制御部24Aは関数実行指示部24Bと、関数実行部24Cを有している。
所属先判定部21は、端末装置10から送信された処理要求を受信し、この処理要求に含まれる関数の所属先データソース30を判定し、その判定結果を出力する機能を有する。
なお、関数所属先判定部21Bは、その関数の引数の所属先データソース30に基づいて、その関数の所属先データソースを決定する。
プログラム生成部22は、端末装置10から送信された処理要求を解釈して、プログラム実行部24によって実行可能なプログラム(コード)を生成し、これを出力する機能を有する。
所属先判定結果格納部23は、所属先判定部21が出力した所属先判定結果を記憶する機能を有する。所属先判定結果はプログラム実行部24、より詳しくは関数実行制御部24Aによって読みだされる。
プログラム実行部24は、プログラム生成部22によって生成されたプログラム及び所属先判定結果格納部23に記憶された所属先判定結果に基づいて、プログラムに含まれる関数の実行を当該関数の所属先データソース30に指示し、所属先データソース30から関数の実行結果を取得し、プログラムに含まれる関数を実行し、関数の実行結果からプログラムの実行結果を生成し、実行結果を端末装置10に送信する機能を有する。
一時結果格納部25はデータソース30から返された関数の実行結果を一時的に格納する機能を有する。
データソース30は、データベースとして機能する装置又はプログラム、アプリケーションであって、DB側関数実行部30Aとデータベース部30Bとを有する。DB側関数実行部30Aは、データベース統合装置20からの関数実行指示に応じて、データベース部30Bに記憶されたデータの処理を実行する。データベース部30Bは、少なくとも一つのカラムを有するテーブルを用いて、データを記憶する機能を有する。
次に第1の実施の形態に係るデータベース・システム1の動作例を説明する。
[1.2.1.データベース・システムの主要動作]
まず、データベース・システム1の主要動作を説明する。図4はデータベース・システム1の主要動作の例を示したフローチャートである。端末装置10から処理要求(例えばSQL)を受信する(S10)と、データベース統合装置20は処理要求から、実行可能な実行用プログラムを生成する(プログラム生成処理:S20)。次にデータベース統合装置20はステップS20で実行用プログラムの生成が成功したか否かを判定する(S30)。実行用プログラムの生成が成功しなかったと判定した場合(S30, No)、データベース統合装置20は処理エラーメッセージを端末装置10に送信する。一方、実行用プログラムの生成が成功したと判定した場合(S30, Yes)、データベース統合装置20はその実行用プログラムを実行し(プログラム実行処理:S40)、その実行結果を端末装置10に返して(S50)、処理を終了する。
次に前述のプログラム生成処理(図5、S20)の内容を詳述する。図5はステップS20における処理であるプログラム生成処理の一例を示すフローチャートである。プログラム生成処理において、データベース統合装置20、より詳しくは所属先判定部21は、処理要求に関数(例えば、SQL関数)が含まれているか否かを判定する(S110)。ステップS110において、処理要求に関数は含まれていないと判定した場合(S110, No)、所属先判定部21は、プログラム生成部22に処理要求に応じた実行用プログラムを生成させ(S120)、プログラム生成処理が終了する。一方、ステップS110において、関数が含まれていると判定した場合(S110, Yes)、所属先判定部21、より詳しくは関数所属先判定部21Bは関数の所属先判定を行う(関数所属先判定処理:S130)。「関数の所属先判定」とは、関数の所属先データソースがどのデータソース30であるかを決定する処理をいう。
前述の関数所属先判定処理(図5、S130)の内容を詳述する。図6に関数所属先判定処理の一例を示すフローチャートを掲げる。関数所属先判定処理において、所属先判定部21、より詳しくは引数所属先判定部21Cは、所属先判定対象の関数の引数を読み取る(S210)。次に所属先判定部21、より詳しくは関数所属先判定部21Bは、所属先判定対象となる関数の全部の引数の判定が完了したか否かを判定する(S220)。ステップS220において所属先判定対象となる関数の全部の引数の判定が完了していないと判定した場合(S220, No)、所属先判定部21、より詳しくは関数所属先判定部21Bは、引数所属先判定部21Cにこの引数の所属先データソースを判定させる(引数所属先判定処理:S230)。次に所属先判定部21、より詳しくは関数所属先判定部21Bは、引数所属先判定部21Cから出力される所属先判定結果を所属先判定結果格納部23に格納する(S240)。その後所属先判定部21、より詳しくは関数所属先判定部21Bは、ステップS210に戻り未判定の引数の所属先判定を続行する。
(1)関数f(a1, a2)
関数f(a1, a2)は2つの引数a1, a2を有する関数である。引数a1、引数a2は共に所属先データソースをデータソースXとする。所属先判定部21、より詳しくは関数所属先判定部21Bは、この関数の所属先データソース個数は、データソースXの一つであるので、関数f(a1, a2)の所属先データソースをデータソースXと判定する。
関数g(a1, 123)は2つの引数a1, 123を有する関数である。引数a1の所属先データソースをデータソースXであり、引数123は所属先のないリテラル値であるものとする。所属先判定部21、より詳しくは関数所属先判定部21Bは、引数123は所属先データソースは無視されるため、この関数の所属先データソース個数は、データソースXの一つであるので、関数g(a1, 123)の所属先データソースをデータソースXと判定する。
関数h(a1, b1, b2)は3つの引数a1、b1、b2を有する関数である。引数a1の所属先データソースはデータソースXであり、引数b1、引数b2は共に所属先データソースを、データソースXとは異なるデータソースYであるものとする。所属先判定部21、より詳しくは関数所属先判定部21Bは、この関数の所属先データソース個数は、データソースXと、データソースYの二つであるので、関数h(a1, b1, b2)の所属先データソースは定まらず、エラーを返すことになる。
前述の引数所属先判定処理(図6、S230)の内容を詳述する。図7に引数所属先判定処理の一例を示すフローチャートを掲げる。引数所属先判定処理において、所属先判定部21、より詳しくは引数所属先判定部21Cは、所属先判定の対象となる引数がリテラル値か、関数か、引数かを判定する(S310)。
次に、前述のプログラム実行処理(図1、S40)の内容を詳述する。図9はプログラム実行処理の一例を示すフローチャートである。プログラム実行処理において、プログラム実行部24は、実行用プログラムを実行し終えたか否かを判定する(S410)。実行用プログラムを実行し終えたと判定した場合(S410, Yes)、プログラム実行部24はプログラム実行処理を終了する。一方、実行用プログラムを実行し終えていないと判定した場合(S410, No)、プログラム実行部24は実行用プログラムから1ステップ読み込む(S420)。
以上で第1の実施の形態の説明を終了する。
本発明の第2の実施の形態を説明する。本発明の第2の実施の形態は、データベース・システムとして提案される。本発明の第2の実施の形態に係るデータベース・システムは、第1の実施の形態に係るデータベース・システムと基本的には同様の構成及び動作であるが、処理要求に含まれる関数の引数が複数のデータソース30に所属する場合であっても、処理結果を生成できる点で、異なっている。
本発明の第2の実施の形態に係るデータベース・システム及びその構成要素である端末装置、データベース統合装置、データベース装置の構成は、第1の実施の形態に係るデータベース・システム及びそのその構成要素である端末装置10、データベース統合装置20、データソース30の構成と同様であるので、これらの詳細な説明は省略する。
次に第2の実施の形態に係るデータベース・システム1の動作例を説明する。
[3.2.1.データベース・システムの主要動作]
まず、第2の実施の形態に係るデータベース・システムの主要動作を説明する。第2の実施の形態に係るデータベース・システムの主要動作は図4に示した第1の実施の形態に係るデータベース・システム1の主要動作と同様である。
次に第2の実施の形態におけるプログラム生成処理(図5、S20)の内容を詳述する。図10は第2の実施の形態のステップS20における処理であるプログラム生成処理の一例を示すフローチャートである。プログラム生成処理において、データベース統合装置20、より詳しくは所属先判定部21は、処理要求に関数が含まれているか否かを判定する(S510)。ステップS510において、処理要求に関数は含まれていないと判定した場合(S510, No)、所属先判定部21は、プログラム生成部22に処理要求に応じた実行用プログラムを生成させ(S520)、プログラム生成処理を終了する。一方、ステップS510において、関数が含まれていると判定した場合(S510, Yes)、所属先判定部21、より詳しくは関数所属先判定部21Bは関数の所属先判定を行う(関数所属先判定処理:S530)。
前述の関数所属先判定処理(図10、S530)の内容を詳述する。図11に関数所属先判定処理の一例を示すフローチャートを掲げる。
関数所属先判定処理において、所属先判定部21、より詳しくは引数所属先判定部21Cは、所属先判定対象の関数の引数を読み取る(S610)。次に所属先判定部21、より詳しくは関数所属先判定部21Bは、所属先判定対象である関数の、全部の引数の判定が完了したか否かを判定する(S620)。ステップS620において所属先判定対象となる関数の全部の引数の判定が完了していないと判定した場合(S620, No)、所属先判定部21、より詳しくは関数所属先判定部21Bは、引数所属先判定部21Cにこの引数の所属先データソースを判定させる(引数所属先判定処理:S630)。
(1)関数f(a1, a2)
関数f(a1, a2)は2つの引数a1, a2を有する関数である。引数a1、引数a2は共に所属先データソースをデータソースXとする。この関数の引数の所属先データソースは、データソースXが二つ(のみ)となる。よって、関数所属先判定部21Bは関数f(a1, a2)の所属先データソースを、所属先データソースとして最も多く記録されているデータソースXであると判定する。
関数g(a1, 123)は2つの引数a1, 123を有する関数である。引数a1の所属先データソースをデータソースXであり、引数123は所属先のないリテラル値であるものとする。引数123の所属先データソースは「所属無し」であり、無視されるため、所属先判定結果に記録されるこの関数の引数の所属先データソースは、データソースX一つのみである。よって、関数所属先判定部21Bは関数g(a1, 123)の所属先データソースを、所属先判定結果に所属先データソースとして最も多く記録されているデータソースXであると判定する。
関数h(a1, b1, b2)は3つの引数a1, b1, b2を有する関数である。引数a1の所属先データソースはデータソースXであり、引数b1、引数b2は共に所属先データソースを、データソースXとは異なるデータソースYであるものとする。所属先判定部21、より詳しくは関数所属先判定部21Bは、この関数の所属先データソースとして、データソースXが一つ、データソースYが二つである。よって関数所属先判定部21Bは関数h(a1, b1, b2)の所属先データソースを、所属先判定結果に所属先データソースとして最も多く記録されているデータソースYであると判定する。
第2の実施の形態における引数所属先判定処理(図11、S630)を述べる。第2の実施の形態における引数所属先判定処理は、第1の実施の形態の処理内容(図7参照)と同一であるので、詳しい説明は省略する。
次に、第2の実施の形態におけるプログラム実行処理(図1、S40参照)の内容を詳述する。図12はプログラム実行処理の一例を示すフローチャートである。プログラム実行処理において、プログラム実行部24は、プログラム生成部22から実行用プログラムを取得すると、実行用プログラムに含まれる関数のそれぞれについて、所属先判定結果格納部23から関数の所属先データソースを取得する(S710)。
第2の実施の形態におけるプログラム実行処理の例を示す。図13に、関数f(a1, b1, b2)の処理例を示す図を掲げる。
以上で、関数関数f(a1, b1, b2)の計算結果の取得が完了する。
第2の実施の形態におけるプログラム実行処理の別の例を示す。図14に、関数g(a1,a2,f(a1, b1, b2))の処理例を示す図を掲げる。関数g(a1, a2, f(a1, b1, b2))は、引数の一つに関数f(a1, b1, b2)を有しており、関数が入れ子になっている。
以上で、関数g(a1, a2, f(a1, b1, b2))の計算結果の取得が完了する。
本発明の実施形態に係るデータベース・システムによれば、端末装置から送信された処理要求に、データベース統合装置で定義されていない関数が含まれていても、その関数の所属先データソースに関数の実行をさせて、処理要求に対する処理結果を端末装置に返すことが可能となる。
以上、本発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加、組み合わせ等が可能である。
Claims (3)
- 端末装置から送信された処理要求を受信し、この処理要求に含まれる関数の所属先データソースを判定し、その判定結果である所属先判定結果を出力する判定手段と、
前記端末装置から送信された処理要求を解釈して、プログラムを生成し、これを出力する生成手段と、
前記プログラム及び前記所属先判定結果に基づいて、前記プログラムに含まれる関数の実行を当該関数の所属先データソースに指示し、所属先データソースから関数の実行結果を取得し、前記関数の実行結果からプログラムの実行結果を生成し、前記プログラムの実行結果を前記端末装置に送信する実行手段と
を有するデータベース・システム。 - 前記判定手段は、関数の引数の全てが同一のデータソースに所属する場合、当該データソースをその関数の所属先データソースと判定する、請求項1に記載のデータベース・システム。
- 前記判定手段は、関数の引数それぞれの所属先データソースを判定し、最も多く所属先データソースとして判定されたデータソースを当該関数の所属先データソースと判定し、関数の所属先データソースが記憶していない引数である外部引数に対応するデータを記憶しているデータソースから当該外部引数に対応するデータを前記所属先データソースに送信して記憶させ、前記前記所属先データソースに当該関数の計算を実行させる、請求項1に記載のデータベース・システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013148148A JP6226599B2 (ja) | 2013-07-17 | 2013-07-17 | データベース・システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013148148A JP6226599B2 (ja) | 2013-07-17 | 2013-07-17 | データベース・システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015022388A true JP2015022388A (ja) | 2015-02-02 |
JP6226599B2 JP6226599B2 (ja) | 2017-11-08 |
Family
ID=52486813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013148148A Active JP6226599B2 (ja) | 2013-07-17 | 2013-07-17 | データベース・システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6226599B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001243242A (ja) * | 2000-02-25 | 2001-09-07 | Hitachi Ltd | 問合せ処理方法およびそれを実施するデータベース管理システムその処理プログラムを格納した記録媒体 |
JP2006350741A (ja) * | 2005-06-16 | 2006-12-28 | Nippon Telegr & Teleph Corp <Ntt> | データベース管理装置、分散データベース管理システム、分散データベース管理方法および分散データベース管理プログラム |
JP2007513426A (ja) * | 2003-12-02 | 2007-05-24 | オラクル・インターナショナル・コーポレイション | 異種コンピュータシステムにわたる複雑計算 |
JP2009020901A (ja) * | 1997-11-19 | 2009-01-29 | Ns Solutions Corp | データベースシステム、データベース検索方法及び記録媒体 |
JP2009181546A (ja) * | 2008-02-01 | 2009-08-13 | Toshiba Corp | コーディネータサーバ、データ割当方法及びプログラム |
-
2013
- 2013-07-17 JP JP2013148148A patent/JP6226599B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009020901A (ja) * | 1997-11-19 | 2009-01-29 | Ns Solutions Corp | データベースシステム、データベース検索方法及び記録媒体 |
JP2001243242A (ja) * | 2000-02-25 | 2001-09-07 | Hitachi Ltd | 問合せ処理方法およびそれを実施するデータベース管理システムその処理プログラムを格納した記録媒体 |
JP2007513426A (ja) * | 2003-12-02 | 2007-05-24 | オラクル・インターナショナル・コーポレイション | 異種コンピュータシステムにわたる複雑計算 |
JP2006350741A (ja) * | 2005-06-16 | 2006-12-28 | Nippon Telegr & Teleph Corp <Ntt> | データベース管理装置、分散データベース管理システム、分散データベース管理方法および分散データベース管理プログラム |
JP2009181546A (ja) * | 2008-02-01 | 2009-08-13 | Toshiba Corp | コーディネータサーバ、データ割当方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
片山 大河: "異種データソースを透過的にアクセス可能とする統合データベースシステム", 情報処理学会 研究報告 データベースシステム(DBS) 2013−DBS−157 [ONLINE], JPN6017012940, 15 July 2013 (2013-07-15), JP, pages 1 - 4, ISSN: 0003537771 * |
Also Published As
Publication number | Publication date |
---|---|
JP6226599B2 (ja) | 2017-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086766B1 (en) | Web services comparison tool | |
US10747505B1 (en) | API specification generation | |
KR102133951B1 (ko) | 짧은 링크 처리 방법, 디바이스, 및 서버 | |
US10904316B2 (en) | Data processing method and apparatus in service-oriented architecture system, and the service-oriented architecture system | |
US9680719B2 (en) | Communication system, client terminal, and server | |
CN111643907A (zh) | 一种游戏登录方法、装置、存储介质和电子设备 | |
JP6167187B2 (ja) | クエリ生成方法及びクエリ生成装置 | |
US20150058373A1 (en) | System and method for providing agent service to user terminal | |
CN108153896B (zh) | 针对输入数据、输出数据的处理方法及装置 | |
US9542252B2 (en) | Information processing technique for supporting data setting | |
JP6226599B2 (ja) | データベース・システム | |
CN110347380B (zh) | 前后端开发方法及设备 | |
US10516628B2 (en) | Transfer device, transfer system, and transfer method | |
US9471650B2 (en) | System and method for contextual workflow automation | |
US20160070564A1 (en) | Dynamically schematized log messages for software applications | |
KR20170062235A (ko) | 서비스 처리 시스템 및 방법 | |
JP2013214159A (ja) | ログ管理方法、ログ管理システムおよび情報処理装置 | |
US20150277858A1 (en) | Performance evaluation device, method, and medium for information system | |
WO2018230352A1 (ja) | 変更手順生成装置、変更手順生成方法および変更手順生成プログラム | |
JP6613634B2 (ja) | 検索支援プログラム、検索支援装置及び検索支援方法 | |
KR102054303B1 (ko) | 로그 데이터 처리 장치 및 방법 | |
US10904110B2 (en) | Management method of matching service and information processing apparatus | |
CN118069115A (zh) | 一种代码生成方法、装置、设备以及存储介质 | |
JP2016151780A (ja) | Api提供装置、及びapi提供方法 | |
JP2015153085A (ja) | シナリオ並列化装置、シナリオ並列化方法、および、シナリオ並列化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160328 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170615 |
|
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: 20170912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171010 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6226599 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |