JP6638234B2 - データベース管理装置、データベース管理方法及びプログラム - Google Patents

データベース管理装置、データベース管理方法及びプログラム Download PDF

Info

Publication number
JP6638234B2
JP6638234B2 JP2015145582A JP2015145582A JP6638234B2 JP 6638234 B2 JP6638234 B2 JP 6638234B2 JP 2015145582 A JP2015145582 A JP 2015145582A JP 2015145582 A JP2015145582 A JP 2015145582A JP 6638234 B2 JP6638234 B2 JP 6638234B2
Authority
JP
Japan
Prior art keywords
data update
combination
column
data
application programs
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
JP2015145582A
Other languages
English (en)
Other versions
JP2017027382A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2015145582A priority Critical patent/JP6638234B2/ja
Publication of JP2017027382A publication Critical patent/JP2017027382A/ja
Application granted granted Critical
Publication of JP6638234B2 publication Critical patent/JP6638234B2/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には、関連する技術として、各リソースへの所定のアクセス状態に応じて各トランザクションの各リソースに対する排他と待ちの状態を示すグラフからアクセスされる頻度の高いリソースを格納するサブグラフを分割し、グラフとサブグラフに基づいて排他制御するトランザクション処理に関する技術が記載されている。
特開2012−164190号公報
ところで、1つのデータテーブルの同一レコードに対して複数のアプリケーションプログラムがデータの更新を実行しようとした場合、複数のアプリケーションプログラムのうち同一レコードに最初にアクセスしたアプリケーションプログラムが同一レコードにおける全データにロックを掛ける場合がある。ロックを掛けたアプリケーションプログラム以外のアプリケーションプログラムは、ロックを掛けられた同一レコードにおいて異なるカラムのデータのデータ更新を行いたい場合であってもデータ更新を行うことができない。
そのため、複数のアプリケーションプログラムのそれぞれが同一レコードにおける異なるカラムのデータのデータ更新を行う場合に、待ち状態にならず、アプリケーションプログラムのそれぞれが並行してデータ更新処理を行うことのできる技術が求められていた。
そこでこの発明は、上記の課題を解決することのできるデータベース管理装置、データベース管理方法及びプログラムを提供することを目的としている。
上記目的を達成するために、本発明は、データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成するAPタイプ定義ファイル解析部と、アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記APタイプ定義ファイル解析部が作成した競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定する競合AP判定部と、前記競合AP判定部が前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行うトランザクション処理部と、を備えるデータベース管理装置である。
また、本発明は、上述のデータベース管理装置と、前記データベース管理装置に対して、データテーブルのデータ更新を行うように求めるデータ更新要求と、アプリケーションプログラムの識別子とを前記データベース管理装置に送信するクライアントAP制御装置と、を備えるデータベース管理システムである。
また、本発明は、データベース管理装置によるデータベース管理方法であって、前記データベース管理装置が、データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成し、アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定し、前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行う、データベース管理方法である。

また、本発明は、コンピュータを、データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成するAPタイプ定義ファイル解析手段、アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記APタイプ定義ファイル解析手段が作成した競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定する競合AP判定手段、前記競合AP判定手段が前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行うトランザクション処理手段、として機能させるプログラムである。
本発明のデータベース管理装置の処理により、複数のアプリケーションプログラムのそれぞれが同一レコードにおける異なるカラムのデータのデータ更新を行う場合に、待ち状態にならず、アプリケーションプログラムのそれぞれが並行してデータ更新処理を行うことができる。
本発明の一実施形態によるデータベース管理システムの構成を示す図である。 本実施形態によるユーザデータテーブルを示す図である。 本実施形態によるAPタイプ定義ファイルを示す図である。 本実施形態によるAPタイプ宣言ファイルを示す図である。 本実施形態による競合AP依存データテーブルを示す図である。 本実施形態によるロックリストを示す図である。 本実施形態によるロック待ちリストを示す図である。 本実施形態によるコミット可能リストを示す図である。 本実施形態による従属関係定義リストを示す図である。 本実施形態によるデータベース管理装置の処理フローを示す第1の図である。 本実施形態によるデータベース管理装置の処理フローを示す第2の図である。 本発明のデータベース管理装置の最小構成を示す図である。
<実施形態>
本発明の一実施形態によるデータベース管理システムについて説明する。
本実施形態によるデータベース管理システム1は、図1に示すように、クライアントAP(アプリケーションプログラム)制御装置100と、APタイプ宣言ファイル記憶部120と、データベース管理装置200と、APタイプ定義ファイル記憶部240と、を備える。
クライアントAP制御装置100は、APタイプ宣言ファイル読込部110を備える。
データベース管理装置200は、トランザクション制御部210と、ユーザデータテーブル記憶部220と、APタイプ定義ファイル解析部230と、を備える。
トランザクション制御部210は、排他制御処理部211と、トランザクション処理部212と、競合AP依存データテーブル記憶部213と、制御表記憶部214と、を備える。
排他制御処理部211は、競合AP判定部2111を備える。
ユーザデータテーブル記憶部220は、ユーザデータテーブルTBL1を記憶する。ユーザデータテーブルTBL1は、データの更新対象となるデータテーブルである。ユーザデータテーブルTBL1は、例えば、図2に示すように、商品ID、商品名、定価、予約者ID(IDentification)、販売数量、及び、販売単価を含む。なお、データテーブルにおいて、行はレコードと呼ばれ、列はカラムと呼ばれる。図2に示すユーザデータテーブルTBL1において、商品ID001に対応する行がレコード1である。また、商品ID002に対応する行がレコード2である。また、商品IDに対応する列がカラム1、商品名に対応する列がカラム2、定価に対応する列がカラム3、予約者IDに対応する列がカラム4、販売数量に対応する列がカラム5、販売単価に対応する列がカラム6である。
APタイプ定義ファイル記憶部240は、APタイプ定義ファイルFL1を記憶する。APタイプ定義ファイルFL1は、APタイプのそれぞれがどの業務を行うアプリケーションプログラムであり、どのユーザデータテーブルのどのカラムのデータを更新するかを示すファイルである。APタイプ定義ファイルFL1は、例えば、図3に示すように、APタイプ、アプリケーションプログラム、業務、ユーザデータテーブル、及び、カラムのそれぞれの対応関係を示す。図3に示すAPタイプ定義ファイルFL1は、APタイプAが業務Aを行うアプリケーションプログラムAであり、ユーザデータテーブルTBL1におけるカラム2とカラム3のデータを更新することを示している。また、APタイプ定義ファイルFL1は、APタイプBが業務Bを行うアプリケーションプログラムBであり、ユーザデータテーブルTBL1におけるカラム3のデータを更新することを示している。また、APタイプ定義ファイルFL1は、APタイプCが業務Cを行うアプリケーションプログラムCであり、ユーザデータテーブルTBL1におけるカラム4、カラム5、カラム6のデータを更新することを示している。また、APタイプ定義ファイルFL1は、APタイプDが業務Dを行うアプリケーションプログラムDであり、ユーザデータテーブルTBL1におけるカラム2のデータを更新することを示している。
APタイプ宣言ファイル記憶部120は、APタイプ宣言ファイルFL2を記憶する。APタイプ宣言ファイルFL2は、クライアントAP制御装置100(100a、100b、・・・)のそれぞれがどのAPタイプであるか、すなわち、クライアントAP制御装置100のそれぞれがどの業務を行うアプリケーションプログラムであり、ユーザデータテーブルTBL1のどのカラムのデータを更新するかを示すファイルである。図4に示すAPタイプ宣言ファイルFL2は、クライアントAP制御装置100aがAPタイプAであることを示している。また、APタイプ宣言ファイルFL2は、クライアントAP制御装置100bがAPタイプBであることを示している。また、APタイプ宣言ファイルFL2は、クライアントAP制御装置100cがAPタイプCであることを示している。また、APタイプ宣言ファイルFL2は、クライアントAP制御装置100dがAPタイプDであることを示している。なお、APタイプ宣言ファイルFL2は、ユーザが作成するファイルである。
競合AP依存データテーブル記憶部213は、APタイプ定義ファイル解析部230が作成した競合AP依存データテーブルTBL2を記憶する。
APタイプ定義ファイル解析部230は、ユーザデータテーブルTBL1において複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、複数のアプリケーションプログラムのそれぞれの全組み合わせに対してユーザデータテーブルTBL1におけるデータ更新処理の対象の重複するカラムの有無を判定する。APタイプ定義ファイル解析部230は、ユーザデータテーブルTBL1におけるデータ更新処理の対象の重複するカラムが無いと判定した複数のアプリケーションプログラムの組み合わせに対してデータ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係データテーブルTBL2(競合AP関係テーブル)を作成する。
具体的には、APタイプ定義ファイル解析部230は、APタイプ定義ファイル記憶部240からAPタイプ定義ファイルFL1を読み出す。APタイプ定義ファイル解析部230は、読み出したAPタイプ定義ファイルFL1におけるAPタイプのそれぞれに対応するユーザデータテーブルTBL1におけるデータ更新処理の対象のカラム同士を比較し、同一のカラムを特定する。例えば、図3で示したAPタイプ定義ファイルFL1の場合、APタイプ定義ファイル解析部230は、APタイプAに対応するカラム2とカラム3、APタイプBに対応するカラム3、APタイプCに対応するカラム4とカラム5とカラム6、APタイプDに対応するカラム2のそれぞれを比較する。APタイプ定義ファイル解析部230は、APタイプAに対応するカラム2とAPタイプDに対応するカラム2とを同一のカラムと特定する。また、APタイプ定義ファイル解析部230は、APタイプAに対応するカラム3とAPタイプBに対応するカラム3とを同一のカラムと特定する。
APタイプ定義ファイル解析部230は、特定したカラム2に対応するAPタイプAとAPタイプDとを対応付けて競合AP依存データテーブル記憶部213の競合AP依存データテーブルTBL2に記録する。また、APタイプ定義ファイル解析部230は、特定したカラム3に対応するAPタイプAとAPタイプBとを対応付けて競合AP依存データテーブル記憶部213の競合AP依存データテーブルTBL2に記録する。この場合の競合AP依存データテーブルTBL2は、図5に示す競合AP依存データテーブルTBL2である。
クライアントAP制御装置100は、更新データ、APタイプ(アプリケーションプログラムの識別子)、AP識別子(クライアントAP制御装置100の識別子)のそれぞれの情報を保持する。
APタイプ宣言ファイル読込部110は、データベース管理システム1の起動時に、APタイプ宣言ファイル記憶部120からAPタイプ宣言ファイルFL2を読み出す。
クライアントAP制御装置100は、ユーザデータテーブルTBL1のデータ更新処理の実行を指示するデータ更新要求を排他制御処理部211とトランザクション処理部212のそれぞれに送信する。データテーブルのデータ更新要求は、更新データ、APタイプ、AP識別子のそれぞれの情報を含む。AP識別子は、データテーブルのデータ更新要求元を特定する情報である。データテーブルのデータ更新要求元が特定のクライアントAP制御装置100、すなわち、特定の1ノードのみである場合、AP識別子としてプロセスID(必要であればスレッドIDを含める)を用いてよい。
排他制御処理部211が備える競合AP判定部2111は、アプリケーションプログラムを実行する度にAPタイプを取得する。競合AP判定部2111は、現在実行中のアプリケーションプログラムについて過去に取得したすべてのAPタイプの組み合わせと、APタイプ定義ファイル解析部230が作成した競合AP関係データテーブルTBL2が示すAPタイプの組み合わせとを比較する。競合AP判定部2111は、APタイプの組み合わせが一致しない場合に、取得したAPタイプの組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が無いと判定する。例えば、競合AP判定部2111は、図5で示した競合AP関係データテーブルTBL2の場合、APタイプAとAPタイプCの組み合わせは競合AP関係データテーブルTBL2におけるAPタイプの組み合わせと一致しないためデータ更新処理が無いと判定する。競合AP判定部2111は、APタイプの組み合わせが一致する場合に、取得したAPタイプの組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が有ると判定する。例えば、競合AP判定部2111は、図5で示した競合AP関係データテーブルTBL2の場合、APタイプAとAPタイプBの組み合わせは競合AP関係データテーブルTBL2におけるAPタイプの組み合わせと一致するためデータ更新処理が有ると判定する。競合AP判定部2111は、同一カラムに対するデータ更新処理が有ると判定した場合に、同一カラムに対するデータ更新処理が有ると判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするそれぞれのカラムが同一レコードのカラムであるか否かを判定する。
トランザクション処理部212は、競合AP判定部2111がデータ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎にデータ更新処理を行う。
また、トランザクション処理部212は、競合AP判定部2111が同一レコードのカラムではないと判定した場合、同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象をするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎にデータ更新処理を行う。
また、トランザクション処理部212は、ユーザデータテーブルTBL1におけるカラムに対するデータ更新処理のデータ更新処理内容を更新する指示を取得した場合に、データ更新処理内容をユーザデータテーブルTBL1とは別の記憶領域に記録し、データ更新処理内容の更新に失敗した場合に、ユーザデータテーブルTBL1とは別の記憶領域に記録したデータ更新処理内容を読み出し、読み出したデータ更新処理内容が示す状態を再現する。
また、トランザクション処理部212は、競合AP判定部2111が同一カラムに対するデータ更新処理が無いと判定した場合、同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれをデータ更新処理内容の更新可能リストに追加する。
制御表記憶部214は、ロックリストLST1を記憶する。ロックリストLST1は、データ更新処理を行っているクライアントAP制御装置100と、クライアントAP制御装置100が実行しているアプリケーションプログラムがロックの対象とするAPタイプとが対応付けられたリストである。例えば、APタイプ定義ファイルFL1が図3で示したAPタイプ定義ファイルFL1であり、APタイプ宣言ファイルFL2が図4で示したAPタイプ宣言ファイルFL2であるとする。また、クライアントAP制御装置100a、100b、100c、100dの順番でアプリケーションプログラムを実行するものとする。この場合、アプリケーションプログラムAを実行しようとするクライアントAP制御装置100aがAPタイプAであるため、ロックリストLST1は、アプリケーションプログラムAを実行しようとするクライアントAP制御装置100aと、図5で示した競合AP依存データテーブルTBL2の競合APタイプの組み合わせにおいてアプリケーションプログラムAに対応するAPタイプAと組み合わされているAPタイプBとAPタイプDのそれぞれとが対応付けられた図6に示すロックリストLST1となる。
ロックリストLST1が図6に示すロックリストLST1であるとき、クライアントAP制御装置100bがアプリケーションプログラムBを実行しようとすると、競合AP判定部2111は、クライアントAP制御装置100aが実行するアプリケーションプログラムAと、クライアントAP制御装置100bが実行するアプリケーションプログラムBのデータ更新の対象とするレコードが同一レコードであるか否かを判定する。トランザクション処理部212は、競合AP判定部2111が同一レコードではないと判定した場合、それぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎にデータ更新処理を行う。
また、制御表記憶部214は、ロック待ちリストLST2を記憶する。ロック待ちリストLST2は、クライアントAP制御装置100にロックを掛けているアプリケーションプログラムによるデータ更新処理が完了する、すなわち、ロックが解除されるのを待っているクライアントAP制御装置100と、クライアントAP制御装置100のAPタイプとが対応付けられたリストである。
ロックリストLST1が図6に示すロックリストLST1であるとき、クライアントAP制御装置100bがアプリケーションプログラムBを実行しようとすると、競合AP判定部2111は、クライアントAP制御装置100aが実行するアプリケーションプログラムAと、クライアントAP制御装置100bが実行するアプリケーションプログラムBのデータ更新の対象とするレコードが同一レコードであるか否かを判定する。競合AP判定部2111は、同一レコードであると判定した場合、後からアプリケーションプログラムを実行しようとしたクライアントAP制御装置100bと、クライアントAP制御装置100bのAPタイプBとを対応付けて制御表記憶部214が記憶するロック待ちリストLST2に記録する。この場合のロック待ちリストLST2は、図7に示すロック待ちリストLST2となる。
また、制御表記憶部214は、コミット可能リストLST3を記憶する。コミット可能リストLST3は、データ更新処理を正常に終了し、データ更新処理の結果を確定させるクライアントAP制御装置100と、クライアントAP制御装置100のAPタイプとが対応付けられたリストである。例えば、クライアントAP制御装置100aが、アプリケーションプログラムAを実行し、カラム2とカラム3のデータ更新処理を正常に終了し、データ更新処理の結果を確定させる。この場合のコミット可能リストLST3は、図8に示すコミット可能リストLST3となる。
また、制御表記憶部214は、従属関係定義リストLST4を記憶する。従属関係定義リストLST4は、同一レコードの異なるカラムのデータが互いに影響し合うことを示すリストである。例えば、図2で示したユーザデータテーブルTBL1において、同一レコードの異なるカラムとしてカラム3の「定価」とカラム6の「販売単価」とがあり、「販売単価」が「定価」から1割引した価格として算出されるような、あるデータのデータ更新処理が同一レコードの異なるカラムのデータを用いる場合が同一レコードの異なるカラムのデータが互いに影響し合う場合である。
また、制御表記憶部214は、復元データDT1を記憶する。復元データDT1は、例えば、データベース管理装置200がロールバックしたときの復元点のデータである。なお、ロールバックとは、データベース管理装置200がデータ更新処理の結果を確定する前にデータ更新処理を異常終了した場合に、異常終了よりも前の状態のデータに戻す処理のことである。
次に、図10と図11に示すデータベース管理装置200の処理フローについて説明する。
データベース管理システム1の起動前の準備として、ユーザは、例えば図2で示したユーザデータテーブルTBL1を用意する。また、ユーザは、APタイプ定義ファイル記憶部240記憶する図3で示したAPタイプ定義ファイルFL1を定義する。また、ユーザは、図9で示した制御表記憶部214が記憶する従属関係定義リストLST4を用意する。
APタイプ定義ファイル解析部230は、データベース管理システム1の起動時に、APタイプ定義ファイル記憶部240からAPタイプ定義ファイルFL1を読み出す。APタイプ定義ファイル解析部230は、ユーザデータテーブルTBL1に対して図4で示した競合AP依存データテーブルTBL2を生成する。APタイプ定義ファイル解析部230は、すべてのアプリケーションプログラム間のAPタイプの組み合わせに対して重複するカラムが有るか否かを判定し、重複するカラムが有ると判定したAPタイプの組み合わせに対して、競合AP依存データテーブルTBL2を生成する。
クライアントAP制御装置100は、データベース管理システム1の起動時にAPタイプ宣言ファイル記憶部120からAPタイプ宣言ファイルFL2を読み出す。クライアントAP制御装置100は、読み出したAPタイプ宣言ファイルFL2が示すAPタイプを特定する。クライアントAP制御装置100は、ユーザデータテーブルTBL1におけるデータ更新処理を指示するデータ更新要求をトランザクション処理部212と排他制御処理部211とに送信する。データ更新要求は、更新データ、APタイプ、AP識別子のそれぞれの情報を含む。
例えば、クライアントAP制御装置100aは、予約者IDがuser2であるユーザが商品ID001の商品を2つ購入予約する注文を受け、更新データと、ユーザデータテーブルTBL1を更新するAPタイプAと、クライアントAP制御装置100aが実行しているクライアントAP制御装置100aに対応付けられたAPタイプAとを含むデータ更新要求を排他制御処理部211とトランザクション処理部212とに送信する。
競合AP判定部2111は、データベース管理装置200がロールバックしたときの復元点のデータとしてデータ更新処理前のユーザデータテーブルTBL1のデータを復元データDT1として、ユーザデータテーブルTBL1とは別の記憶領域に記録する(ステップS1)。
競合AP判定部2111は、クライアントAP制御装置100からデータ更新要求を受信すると、受信したデータ更新要求が示すAPタイプと、競合AP依存データテーブルTBL2とに基づいて、同一カラムに対するデータ更新処理があるか否かを判定する(ステップS2)。具体的には、競合AP判定部2111は、アプリケーションプログラムを実行する度にAPタイプを取得する。競合AP判定部2111は、現在実行中のアプリケーションプログラムについて過去に取得したすべてのAPタイプの組み合わせと、APタイプ定義ファイル解析部230が作成した競合AP関係データテーブルTBL2が示すAPタイプの組み合わせとを比較する。競合AP判定部2111は、APタイプの組み合わせが一致しない場合に、取得したAPタイプの組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が無いと判定する。競合AP判定部2111は、APタイプの組み合わせが一致する場合に、取得したAPタイプの組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が有ると判定する。競合AP判定部2111は、同一カラムに対するデータ更新処理が有ると判定した場合に、同一カラムに対するデータ更新処理が有ると判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするそれぞれのカラムが同一レコードのカラムであるか否かを判定する。
競合AP判定部2111は、同一カラムに対するデータ更新処理が無いと判定した場合(ステップS2、NO)、複数のアプリケーションプログラムのデータ更新処理対象のデータに従属関係が有るか否かを判定する(ステップS3)。具体的には、競合AP判定部2111は、複数のアプリケーションプログラムのそれぞれのAPタイプの組み合わせと、従属関係定義リストLAST4が示すAPタイプの組み合わせとを比較する。競合AP判定部2111は、比較した結果、APタイプの組み合わせが一致した場合に、データ更新処理対処のデータに従属関係があると判定する。
競合AP判定部2111は、データ処理対象のデータに従属関係が無いと判定した場合(ステップS3、NO)、APタイプとクライアントAP制御装置100のAP識別子(例えば、APタイプAとクライアントAP制御装置100a)とをコミット可能リストLST3に記録する(ステップS4)。
競合AP判定部2111は、APタイプとクライアントAP制御装置100のAP識別子と処理データとをトランザクション処理部212に出力する。
トランザクション処理部212は、APタイプとクライアントAP制御装置100のAP識別子と処理データとを競合AP判定部2111から入力する。トランザクション処理部212は、入力したAPタイプとクライアントAP制御装置100のAP識別子とから特定したデータ更新処理の対象データに対して処理データを用いてデータ更新処理を実行する(ステップS5)。トランザクション処理部212は、データ更新処理が完了すると、データ更新処理が完了したことを報知するデータ更新処理完了信号を排他制御処理部211に出力する。
排他制御処理部211は、トランザクション処理部212からデータ更新処理完了信号を入力すると、データ更新処理完了信号をクライアントAP制御装置100に送信する(ステップS6)。
また、競合AP判定部2111は、データ処理対象のデータが従属関係に有ると判定した場合(ステップS3、YES)、ユーザデータテーブルTBL1において従属関係に有ると判定したデータのデータ更新処理前のデータを、例えば、制御表記憶部214に記録する(ステップS7)。
また、競合AP判定部2111は、同一カラムに対するデータ更新処理が有ると判定した場合(ステップS2、YES)、同一カラムに対するデータ更新処理が有ると判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするそれぞれのカラムが同一レコードのカラムであるか否かを判定する(ステップS8)。
競合AP判定部2111は、同一レコードのカラムであると判定した場合(ステップS8、YES)、先にデータ更新処理を行うクライアントAP制御装置100とそのAPタイプとをロックリストLST1に記録し、後にデータ更新処理を行うクライアントAP制御装置100とそのAPタイプとをロック待ちリストLST2に記録する(ステップS9)。
トランザクション処理部212は、ロックリストLST1における先にデータ更新処理を行うクライアントAP制御装置100に対しデータ更新処理を行う(ステップS10)。トランザクション処理部212は、ステップS6の処理に進める。このとき、競合AP判定部2111は、ロック待ちリストLST2において最初にデータ更新処理を行うクライアントAP制御装置100とそのAPタイプとをロックリストLST1に記録する。
競合AP判定部2111が同一レコードのカラムではないと判定した場合(ステップS8、NO)、トランザクション処理部212は、データ更新の対象をするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎にデータ更新処理を行う(ステップS11)。トランザクション処理部212は、ステップS6の処理に進める。
ステップS6の処理が行われると、クライアントAP制御装置100は、排他制御処理部211から排他制御処理完了信号を受信する。なお、排他制御処理完了信号は、競合関係があるか否か、すなわち、対応する処理がコミット可能リストLST3に記録されているか、対応する処理がロックリストLST1に記録されているかの情報を含む。
クライアントAP制御装置100は、排他制御処理部211から排他制御処理完了信号を受信すると、トランザクションの制御を指示するトランザクション制御要求をトランザクション処理部212に送信する。トランザクション制御要求は、コミットまたはアボートを示す情報である。
トランザクション処理部212は、クライアントAP制御装置100からトランザクション制御要求を受信すると、受信したトランザクション制御要求に含まれるクライアントAP制御装置100のAP識別子を用いて、制御表記憶部214が記憶する全コミット可能リストLST3に対してクライアントAPの更新データを検索する(ステップS12)。
トランザクション処理部212は、トランザクション制御要求の種別がコミットであるか否かを判定する(ステップS13)。なお、トランザクション処理部212は、トランザクション制御要求の種別がコミットでないと判定した場合、トランザクション制御要求の種別がアボート、すなわち、データ更新処理結果の確定に失敗したと判定したことになる。
トランザクション処理部212は、トランザクション制御要求の種別がコミットであると判定した場合(ステップS13、YES)、ユーザデータテーブル記憶部220が記憶するユーザデータテーブルTBL1が含むデータ更新対象のデータをコミットする(ステップS14)。このとき、トランザクション処理部212は、データ更新対象のデータがステップS3の処理において従属関係が有ると判定されたデータである場合、ステップS7の処理において記憶されたデータ更新処理前のデータをユーザデータテーブル記憶部220が記憶するユーザデータテーブルTBL1に新たなデータとして記録する。
トランザクション処理部212は、コミット後にコミット可能リストLST3における対応する処理の更新データを削除する(ステップS15)。トランザクション処理部212は、データベース管理装置200が行う一連の処理を終了させる。
トランザクション処理部212は、トランザクション制御要求の種別がコミットではないと判定した場合(ステップS13、NO)、ロールバックを行う(ステップS16)。具体的には、トランザクション処理部212は、ステップS1の処理により制御表記憶部214に記録した復元データDT1を読み出す。
トランザクション処理部212は、読み出した復元データDT1を用いてコミットする(ステップS17)。
トランザクション処理部212は、コミットできたか否かを判定する(ステップS18)。
トランザクション処理部212は、コミットできたと判定した場合(ステップS18、YES)、ステップS15の処理へ進める。
また、トランザクション処理部212は、コミットできなかったと判定した場合(ステップS18、NO)、ステップS16の処理へ戻す。
以上、本発明の第一の実施形態によるデータベース管理システム1について説明した。上述のデータベース管理システム1が備えるデータベース管理装置200において、APタイプ定義ファイル解析部230は、ユーザデータテーブルTBL1において複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、複数のアプリケーションプログラムのそれぞれの全組み合わせに対してユーザデータテーブルTBL1におけるデータ更新処理の対象の重複するカラムの有無を判定する。APタイプ定義ファイル解析部230は、ユーザデータテーブルTBL1におけるデータ更新処理の対象の重複するカラムが無いと判定した複数のアプリケーションプログラムの組み合わせに対してデータ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係データテーブルTBL2(競合AP関係テーブル)を作成する。競合AP判定部2111は、現在実行中のアプリケーションプログラムについて過去に取得したすべてのAPタイプの組み合わせと、APタイプ定義ファイル解析部230が作成した競合AP関係データテーブルTBL2が示すAPタイプの組み合わせとを比較する。競合AP判定部2111は、APタイプの組み合わせが一致しない場合に、取得したAPタイプの組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が無いと判定する。トランザクション処理部212は、競合AP判定部2111が同一レコードではないと判定した場合、それぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎にデータ更新処理を行う。
こうすることで、データベース管理装置200は、ユーザデータテーブルTBL1においてアプリケーションプログラムのそれぞれがデータ更新の対象とするカラムが重複しない場合に、待ち状態にならずにユーザデータテーブルTBL1においてそれぞれのアプリケーションプログラムに対応するカラム単位でデータ更新処理を行うことができる。
また、競合AP判定部2111は、データ処理対象のデータが従属関係に有ると判定した場合、ユーザデータテーブルTBL1において従属関係に有ると判定したデータのデータ更新処理前のデータを制御表記憶部214に記録する。トランザクション処理部212は、ユーザデータテーブル記憶部220が記憶するユーザデータテーブルTBL1が含むデータ更新対象のデータをコミットし、データ更新対象のデータが従属関係が有ると判定されたデータである場合、データ更新処理前のデータをユーザデータテーブル記憶部220が記憶するユーザデータテーブルTBL1に新たなデータとして記録する。
こうすることで、データベース管理装置200は、購入予約する注文を受けたタイミングの価格がコミットにより変更されることを防ぐことができる。
本発明のデータベース管理装置200の最小構成は、図7に示すように、APタイプ定義ファイル解析部230と、競合AP判定部2111と、トランザクション処理部212と、を備える。
APタイプ定義ファイル解析部230は、データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、複数のアプリケーションプログラムのそれぞれの全組み合わせに対してデータテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定する。APタイプ定義ファイル解析部230は、データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した複数のアプリケーションプログラムの組み合わせに対してデータ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係データテーブルTBL2(競合AP関係テーブル)を作成する。
競合AP判定部2111は、アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての識別子の組み合わせと、APタイプ定義ファイル解析部230が作成した競合AP関係データテーブルTBL2が示すアプリケーションプログラムの識別子の組み合わせとを比較し、識別子の組み合わせが一致しない場合に、取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が無いと判定する。競合AP判定部2111は、識別子の組み合わせが一致する場合に、取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対してデータ更新処理において同一カラムに対するデータ更新処理が有ると判定する。
トランザクション処理部212は、競合AP判定部2111がデータ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎にデータ更新処理を行う。


なお、本発明の実施形態におけるAPタイプ宣言ファイル記憶部120、競合AP依存データテーブル記憶部213、制御表記憶部214、ユーザデータテーブル記憶部220、APタイプ定義ファイル記憶部240のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、APタイプ宣言ファイル記憶部120、競合AP依存データテーブル記憶部213、制御表記憶部214、ユーザデータテーブル記憶部220、APタイプ定義ファイル記憶部240のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
なお本発明の実施形態について説明したが、上述のデータベース管理装置200、クライアントAP制御装置100のそれぞれは内部に、コンピュータシステムを有している。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記憶部に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記憶部とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定するものではない。また、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができるものである。
1・・・データベース管理システム
100・・・クライアントAP制御装置
110・・・APタイプ宣言ファイル読込部
120・・・APタイプ宣言ファイル記憶部
200・・・データベース管理装置
210・・・トランザクション制御部
211・・・排他制御処理部
212・・・トランザクション処理部
213・・・競合AP依存データテーブル記憶部
214・・・制御表記憶部
220・・・ユーザデータテーブル記憶部
230・・・APタイプ定義ファイル解析部
240・・・APタイプ定義ファイル記憶部
2111・・・競合AP判定部

Claims (4)

  1. データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成するAPタイプ定義ファイル解析部と、
    アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記APタイプ定義ファイル解析部が作成した競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定する競合AP判定部と、
    前記競合AP判定部が前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行うトランザクション処理部と、
    を備えるデータベース管理装置。
  2. 前記競合AP判定部は、
    前記同一カラムに対するデータ更新処理が有ると判定した場合に、前記同一カラムに対するデータ更新処理が有ると判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするそれぞれのカラムが同一レコードのカラムであるか否かを判定し、
    前記トランザクション処理部は、
    前記競合AP判定部が前記同一レコードのカラムではないと判定した場合、前記同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象をするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行う、
    請求項1に記載のデータベース管理装置。
  3. データベース管理装置によるデータベース管理方法であって、
    前記データベース管理装置が、
    データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成し、
    アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定し、
    前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行う、
    データベース管理方法。
  4. コンピュータを、
    データテーブルにおいて複数のアプリケーションプログラムのそれぞれが行う予め特定されているデータ更新処理の対象を示す1つ以上のカラムの情報に基づいて、前記複数のアプリケーションプログラムのそれぞれの全組み合わせに対して前記データテーブルにおけるデータ更新処理の対象の重複するカラムの有無を判定し、前記データテーブルにおけるデータ更新処理の対象の重複するカラムが無いと判定した前記複数のアプリケーションプログラムの組み合わせに対して前記データ更新処理に同一カラムに対するデータ更新処理が無いことを示す競合AP関係テーブルを作成するAPタイプ定義ファイル解析手段、
    アプリケーションプログラムを実行する度に当該アプリケーションプログラムの識別子を取得し、現在実行中のアプリケーションプログラムについて過去に取得したすべての前記識別子の組み合わせと、前記APタイプ定義ファイル解析手段が作成した競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせとを比較し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせのすべてが一致しない場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定し、前記取得した識別子の組み合わせと前記競合AP関係テーブルが示すアプリケーションプログラムの識別子の組み合わせの少なくとも1つが一致する場合に、前記取得した識別子の組み合わせに対応するアプリケーションプログラムの組み合わせに対して前記データ更新処理において同一カラムに対するデータ更新処理が有ると判定する競合AP判定手段、
    前記競合AP判定手段が前記データ更新処理において同一カラムに対するデータ更新処理が無いと判定した組み合わせのアプリケーションプログラムのそれぞれのデータ更新の対象とするカラムを有するそれぞれのレコードに対するロック処理を停止し、それぞれのレコードのカラム毎に前記データ更新処理を行うトランザクション処理手段、
    として機能させるプログラム。
JP2015145582A 2015-07-23 2015-07-23 データベース管理装置、データベース管理方法及びプログラム Active JP6638234B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015145582A JP6638234B2 (ja) 2015-07-23 2015-07-23 データベース管理装置、データベース管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015145582A JP6638234B2 (ja) 2015-07-23 2015-07-23 データベース管理装置、データベース管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017027382A JP2017027382A (ja) 2017-02-02
JP6638234B2 true JP6638234B2 (ja) 2020-01-29

Family

ID=57950586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015145582A Active JP6638234B2 (ja) 2015-07-23 2015-07-23 データベース管理装置、データベース管理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6638234B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63191248A (ja) * 1987-02-04 1988-08-08 Hitachi Ltd リレ−シヨナルデ−タベ−スシステムにおけるテ−ブルの排他制御方式
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
JP2641399B2 (ja) * 1994-11-28 1997-08-13 沖縄日本電気ソフトウェア株式会社 フアイル管理装置

Also Published As

Publication number Publication date
JP2017027382A (ja) 2017-02-02

Similar Documents

Publication Publication Date Title
US9189513B1 (en) Distributed, transactional key-value store
US20200394309A1 (en) Blockchains for software component vulnerability databases
US9632769B2 (en) Software build optimization
US8661418B2 (en) Setting program, workflow creating method, and work flow creating apparatus
US9384202B1 (en) Gateway module to access different types of databases
US10922291B2 (en) Data pipeline branching
US8667010B2 (en) Database table partitioning allowing overlaps used in full text query
US11055078B2 (en) Systems and methods for deploying software products to environments
US7689788B2 (en) System and method for executing transactions
CN107368513B (zh) 客户端数据库更新的方法及装置
US8745016B2 (en) Managing concurrent access to data in database system
CN107609011B (zh) 一种数据库记录的维护方法和装置
US8909681B2 (en) Gap detection in a temporally unique index in a relational database
JP6801086B2 (ja) プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム
JP6638234B2 (ja) データベース管理装置、データベース管理方法及びプログラム
CN113485744A (zh) 代码同步方法及装置
US10289672B1 (en) Threading spreadsheet calculations
US9772842B2 (en) Managing change sets
CN116954704A (zh) 一种代码分支合并方法、装置、计算机设备以及存储介质
CN112783954B (zh) 数据访问方法、装置及服务器
US9916373B2 (en) Dynamic data partitioning extension
US10489368B1 (en) Datapath graph with update detection using fingerprints
US20160292203A1 (en) Process control method for database, medium, and database server
CN106933657B (zh) 数据库死锁处理方法及装置
CN112764754A (zh) 基于Unity 3D的文件标识管理方法、装置及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191112

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: 20191126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191209

R150 Certificate of patent or registration of utility model

Ref document number: 6638234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150