JP4430900B2 - データベース制御システム及びデータベース制御用プログラム - Google Patents

データベース制御システム及びデータベース制御用プログラム Download PDF

Info

Publication number
JP4430900B2
JP4430900B2 JP2003289670A JP2003289670A JP4430900B2 JP 4430900 B2 JP4430900 B2 JP 4430900B2 JP 2003289670 A JP2003289670 A JP 2003289670A JP 2003289670 A JP2003289670 A JP 2003289670A JP 4430900 B2 JP4430900 B2 JP 4430900B2
Authority
JP
Japan
Prior art keywords
access
database
inquiry
update
transaction
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.)
Expired - Fee Related
Application number
JP2003289670A
Other languages
English (en)
Other versions
JP2005062996A (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.)
Japan Research Institute Ltd
Original Assignee
Japan Research Institute 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 Japan Research Institute Ltd filed Critical Japan Research Institute Ltd
Priority to JP2003289670A priority Critical patent/JP4430900B2/ja
Publication of JP2005062996A publication Critical patent/JP2005062996A/ja
Application granted granted Critical
Publication of JP4430900B2 publication Critical patent/JP4430900B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、データベース制御システム及び制御用プログラム、特に、データベースをオンラインで処理するときに該データベースへのアクセスが競合した場合の対応が改善されたデータベース制御システム及び制御用プログラムに関し、コンピュータによるデータベース制御の技術分野に属する。
例えば、企業や販売店あるいは各種団体において、社員や顧客あるいは会員の個人データ等は、データベースに記録され、該データベースは、クライアントコンピュータからの新規登録・照会・更新・削除等の各種処理要求に応じて、サーバコンピュータにより制御される。その場合に、上記処理要求を達成するために、いずれにおいてもサーバコンピュータからデータベースにアクセスが試みられ、該データベースに記録されたデータの読込みや書込みが行われる。そして、このとき、同一のデータベースに複数の処理要求が集中したときは、該データベースへのアクセスが競合することになる。
そのような場合に、例えば、先行する1の処理要求に応じてデータベースへのアクセスが行われている途中で、後発の他の処理要求に応じて同一データベースへのアクセスを許可すると、先行する処理に割込みが生じ、その処理の整合性に矛盾が発生する可能性があるから、それを防止するために、先行する1の処理で更新する前に画面表示した時点と同一状態のデータベースであることを確認する。そして、確認の結果、同一状態でなかった場合は、先行する1の処理要求は実行されず、新規登録不可・照会不可・更新不可・削除不可等となって、その処理要求をしたシステムユーザには、要求された処理は競合検知のために実行できなかった、という旨だけが通知される。そして、該ユーザが同じ処理要求を再度実行しようとするときは、もう一度クライアントコンピュータを最初から操作し直す必要が生じ、ユーザに過度の負担を強いることになっていた。
このような問題に対処し得る技術として、特許文献1に開示されるように、データベースへのアクセスの対象を、データベースを構成するテーブルから、該テーブルを構成するレコード、さらには該レコードを構成する各項目にまで細分化することが考えられる。アクセス対象を最小単位の項目にまで細分化すれば、たとえ同じレコード又はテーブルを対象とする複数の処理要求が集中しても、項目が異なれば、該項目へのアクセスが許可されて、そのデータの読込みや書込みが実行可能となる。その結果、複数の処理要求に伴うデータベースへのアクセスの競合が生じ難くなり、同一データベースに対して複数の処理が並行動作されて有利となる。しかしながら、アクセス対象をどのように細分化しても、結局、アクセスの対象が同一項目となるときは、後発の処理要求は実行不可となり、問題の抜本的な解決には至らない。
特開2001−243104号公報
本発明は、上記現状に鑑み、データベースをオンラインで処理するときに、該データベースへのアクセスの競合が検知された場合の対応を改善し、もって処理要求を行うシステムユーザの作業負担の軽減及び作業の簡略化・省力化を図ることを課題とする。以下、その他の課題を含め、本発明を詳しく説明する。
すなわち、本願の請求項1に記載の発明は、
複数のデータが記録されてなるデータベースを要求に応じて照会及び更新するデータベース制御システムであって、
照会要求に応じて上記データベースにアクセスし、該データベースを照会する照会アクセス手段と、
該照会アクセス手段によるアクセス後、更新要求に応じて上記データベースにアクセスし、該更新要求時に入力された更新内容で該データベースを更新する更新アクセス手段と、
該更新アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する検知手段と、
該検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、システムの利用履歴を保存するログファイルに保存された上記照会要求時に入力された照会情報と上記更新要求時に入力された上記更新内容を含む更新情報とを入手すると共に、データベースに再びアクセスし、上記照会情報に基づいてデータベースを再照会すると共に、上記更新情報に基づいてデータベースを更新する再アクセス手段と、
上記検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記照会アクセス手段による照会結果と上記再アクセス手段による再照会結果とを比較し、変更されているデータを識別可能な状態で、上記再アクセス手段による更新結果を提示する提示手段とを有することを特徴とする。
次に、請求項2に記載の発明は、上記請求項1に記載のデータベース制御システムにおいて、
上記ログファイルは、システムの利用履歴を保存する際に、セッションの開始時に発行されるセッションIDと、該セッションを構成する複数のトランザクションごとに発行されるトランザクションIDと、該トランザクションの内容を示すトランザクション区分とを記録すると共に、
上記再アクセス手段は、上記検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記ログファイルを最後尾のレコードから遡って読み込み、各レコードのセッションID、トランザクションID及びトランザクション区分に基づいて上記照会情報及び上記更新情報を入手することを特徴とする。
次に、請求項3に記載の発明は、上記請求項1又は請求項2に記載のデータベース制御システムにおいて、
上記照会アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する第2検知手段と、
該第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記照会要求時に入力されてログファイルに保存された上記照会情報を入手すると共に、この照会情報に基づいてデータベースに再びアクセスし、上記データベースを照会する再照会アクセス手段とが備えられ、かつ、
上記提示手段は、上記第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときは、上記照会結果と再照会結果とを比較するときに、照会結果として上記再照会アクセス手段による照会結果を用いることを特徴とする。
次に、請求項4に記載の発明は、上記請求項3に記載のデータベース制御システムにおいて、
上記ログファイルは、システムの利用履歴を保存する際に、セッションの開始時に発行されるセッションIDと、該セッションを構成する複数のトランザクションごとに発行されるトランザクションIDと、該トランザクションの内容を示すトランザクション区分とを記録すると共に、
上記再照会アクセス手段は、上記第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合することが検知されたときに、上記ログファイルを最後尾のレコードから遡って読み込み、各レコードのセッションID、トランザクションID及びトランザクション区分に基づいて上記照会情報を入手することを特徴とする。
次に、請求項5に記載の発明は、上記請求項1から請求項4のいずれか1項に記載のデータベース制御システムにおいて、
上記再アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する第3検知手段を有し、
記再アクセス手段は、上記第3検知手段により該再アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、データベースに再びアクセスし、上記照会情報に基づいてデータベースを再照会すると共に、上記更新情報に基づいてデータベースを更新することを特徴とする。
一方、請求項6に記載の発明は、複数のデータが記録されてなるデータベースを要求に応じて照会及び更新するデータベース制御用プログラムであって、
コンピュータを、
照会要求に応じて上記データベースにアクセスし、該データベースを照会する照会アクセス手段、
該照会アクセス手段によるアクセス後、更新要求に応じて上記データベースにアクセスし、該更新要求時に入力された更新内容で該データベースを更新する更新アクセス手段、
該更新アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する検知手段、
該検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、システムの利用履歴を保存するログファイルに保存された上記照会要求時に入力された照会情報と上記更新要求時に入力された上記更新内容を含む更新情報とを入手すると共に、データベースに再びアクセスし、上記照会情報に基づいてデータベースを再照会すると共に、上記更新情報に基づいてデータベースを更新する再アクセス手段、及び、
上記検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記照会アクセス手段による照会結果と上記再アクセス手段による再照会結果とを比較し、変更されているデータを識別可能な状態で、上記再アクセス手段による更新結果を提示する提示手段として機能させることを特徴とする。
次に、請求項7に記載の発明は、上記請求項6に記載のデータベース制御用プログラムにおいて、
上記ログファイルが、システムの利用履歴を保存する際に、セッションの開始時に発行されるセッションIDと、該セッションを構成する複数のトランザクションごとに発行されるトランザクションIDと、該トランザクションの内容を示すトランザクション区分とを記録するように構成されている場合に、
コンピュータを上記再アクセス手段として機能させるときは、上記検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記ログファイルを最後尾のレコードから遡って読み込み、各レコードのセッションID、トランザクションID及びトランザクション区分に基づいて上記照会情報及び上記更新情報を入手するように機能させることを特徴とする。
次に、請求項8に記載の発明は、上記請求項6又は請求項7に記載のデータベース制御用プログラムにおいて、
コンピュータを、
上記照会アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する第2検知手段、及び、
該第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記照会要求時に入力されてログファイルに保存された上記照会情報を入手すると共に、この照会情報に基づいてデータベースに再びアクセスし、上記データベースを照会する再照会アクセス手段として機能させ、かつ、
上記提示手段として機能させるときは、上記第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合していることが検知された場合において、上記照会結果と再照会結果とを比較するときに、照会結果として上記再照会アクセス手段による照会結果を用いるように機能させることを特徴とする。
次に、請求項9に記載の発明は、上記請求項8に記載のデータベース制御用プログラムにおいて、
上記ログファイルが、システムの利用履歴を保存する際に、セッションの開始時に発行されるセッションIDと、該セッションを構成する複数のトランザクションごとに発行されるトランザクションIDと、該トランザクションの内容を示すトランザクション区分とを記録するように構成されている場合に、
コンピュータを上記再照会アクセス手段として機能させるときは、上記第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合することが検知されたときに、上記ログファイルを最後尾のレコードから遡って読み込み、各レコードのセッションID、トランザクションID及びトランザクション区分に基づいて上記照会情報を入手するように機能させることを特徴とする。
次に、請求項10に記載の発明は、上記請求項6から請求項9のいずれか1項に記載のデータベース制御用プログラムにおいて、
コンピュータを、
上記再アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する第3検知手段として機能させると共に、
上記再アクセス手段として機能させるときは、上記第3検知手段により該再アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、データベースに再びアクセスし、上記照会情報に基づいてデータベースを再照会すると共に、上記更新情報に基づいてデータベースを更新するように機能させることを特徴とする。
まず、請求項1に記載の発明によれば、データベースへの更新要求に応じたアクセスが他のアクセスと競合していることが検知されたときは、該データベースへのアクセスが自動的に再試行されるから、例えば、従来のように、システムユーザが再度クライアントコンピュータを最初から操作し直す、というような非合理的な作業をしなくて済み、ユーザの作業負担が軽減され、作業の簡略化・省力化が図られる。
しかも、上記データベースへの再アクセスに必要な照会情報及び更新情報を、システムの利用履歴を保存するために一般に備えられるログファイルを利用して入手するようにしたから、その既存機能であるログファイルが有効利用されて、追加の記憶装置を必要とすることがない。
そして、特にこの発明によれば、更新要求に応じるデータベースの更新処理において他のアクセスとの競合が検知された場合、自動更新され、その更新結果が提示されると共に、該データベースが自動再照会されて、その再照会結果、即ち競合した他のアクセスによるデータベースの更新内容が識別可能に提示される。
次に、請求項2に記載の発明によれば、アクセスが競合して、ログファイルから再アクセスに必要な照会情報及び更新情報を入手するときに、システムの利用履歴を保存した際に記録されたセッションIDとトランザクションIDとトランザクション区分とが用いられる。
次に、請求項3に記載の発明によれば、更新要求に先立つ照会要求に応じるデータベースへのアクセスが他のアクセスと競合した場合、その競合が検知され、ログファイルから照会情報を入手して、自動的に再照会される。その場合に、請求項4に記載の発明によれば、ログファイルから照会情報を入手するときに、システムの利用履歴を保存した際に記録されたセッションIDとトランザクションIDとトランザクション区分とが用いられる。
また、請求項5に記載の発明によれば、更新要求に応じたデータベースへのアクセスが他のアクセスと競合した場合に実行される再アクセスが他のアクセスと競合した場合にも、その競合が検知され、再アクセスが再び実行されることになる。
そして、請求項6から請求項10に記載の発明は、上記請求項1から請求項5に記載のシステムの発明にそれぞれ対応し、各請求項に記載のプログラムをコンピュータに適用して実行することにより、対応するシステムについての上記効果と同様の効果が奏される。以下、発明を実施するための最良の形態を通して、本発明をさらに詳しく説明する。

図1は、本実施形態に係るデータベース制御システムの全体構成を示すブロック図である。なお、この制御システムを機能させるプログラムは、本発明に係るデータベース制御用プログラムの実施形態を構成する。
図1に示すように、このデータベース制御システムは、サーバコンピュータ(以下「サーバ」という)10と、該サーバ10に相互に情報交換可能に接続されたデータベースサーバ(以下「DBサーバ」という)20と、同じく上記サーバ10にインターネットやイントラネット等の情報通信ネットワーク40を介して相互に情報交換可能に接続された複数のクライアントコンピュータ(以下「クライアント」という)30…30とを含んでいる。ここで、サーバ10及びDBサーバ20は、例えば会員制組織の事業本部に置かれ、クライアント30…30は、各地方支部に置かれている。サーバ10は、中央処理装置11の他、各種の条件設定やシステム操作等に用いられる入力装置12、各種のプログラムやデータ等を記録する記録装置13、各種の入出力画面や演算結果等を表示する表示装置14、各種の書類等を発行する印刷装置15、及び他のコンピュータとの通信を制御する通信制御装置16等を備えている。
図2に示すように、上記サーバ10の記録装置13は、プログラム記録部とデータ記録部とを有し、プログラム記録部には、当該システムの作動に必要なプログラムとして、トランザクション制御プログラムP1、セッション制御プログラムP2、トランザクションログ制御プログラムP3、業務サーバアプリケーションP4、及びデータアクセス制御プログラムP5等が格納され、また、データ記録部には、当該システムの利用履歴を保存するトランザクションログファイルLG等が格納されている。
一方、図3に示すように、各クライアント30にも、当該システムの作動に必要なプログラムとして、業務クライアントアプリケーションP6、及び他ユーザ更新項目特定プログラムP7等が格納されている。図3には、これらの各種プログラムP1〜P7間で信号が遣り取りされる経路が矢印で示されている。そして、DBサーバ20には、業務データベースが備えられている。
ここで、上記トランザクション制御プログラムP1は、クライアント30…30側から送信されてくる新規登録要求・照会要求・更新要求・削除要求等の各種処理要求を受け付けて、サーバ10側で実行するトランザクション処理を制御するプログラムであって、クライアント30・サーバ10間の1要求・1応答を1単位として1つのトランザクションIDを割り振る。
これに対し、セッション制御プログラムP2は、クライアント30・サーバ10間で要求・応答が複数回行われることにより1つの論理的な業務処理が完結するような場合(例えば同一クライアント30が同一画面を維持したままサーバ10と通信を行う場合)は、そこで行われた通信をすべて同一セッションとして取り扱うように制御するプログラムであって、上記クライアント30・サーバ10間の複数の要求・応答を1単位として1つのセッションIDを割り振る。
また、トランザクションログ制御プログラムP3は、クライアント30・サーバ10間で行われた通信の日付・時刻、及び上記トランザクション制御やセッション制御で割り振られたトランザクションIDやセッションIDの他、クライアント30からサーバ10への入力メッセージ、サーバ10からクライアント30への出力メッセージ、トランザクション及びセッションの開始及び終了情報、あるいはコマンド等の各種情報をトランザクションログファイルLGに出力する(書き込む)又はトランザクションログファイルLGから入力する(読み込む)プログラムである。
さらに、業務サーバアプリケーションP4は、DBサーバ20の業務データベースに関する制御(例えば新規登録制御・照会制御・更新制御・削除制御等)を統括実行するプログラムである。
そして、データアクセス制御プログラムP5は、データベースへのアクセスに関する制御を統括実行するプログラムであり、例えば、データベースへのアクセスの際に必要なコネクションの確立・取得や、データベースのレコードがロックされていることに基づいて、他のクライアント30(他のシステムユーザ)からの処理要求によりデータベースへのアクセスが競合していることの検知等を行う。
図4に示すように、業務データベースには、当該組織の会員の個人データのテーブルが格納されている。該テーブルには、図示したように、1レコード毎に、会員番号をキーとして、会員の氏名や住所あるいは電話番号等の属性が記録されている。
次に、図5以下を参照して、上記クライアント30からサーバ10を介してDBサーバ20の業務データベースをオンラインで制御する作業について説明する。なお、本発明の特徴の理解の容易のために、処理要求は照会要求と更新要求とし、次の8つのパターンに分けて説明する。
(1)照会処理においてデータベースへのアクセスの競合が無い場合の本発明の処理:図6〜図11
(2)照会処理に続く更新処理においてデータベースへのアクセスの競合が無い場合の本発明の処理:図12〜図16
(3)照会処理においてデータベースへのアクセスの競合が有る場合の従来の処理:図17〜図20
(4)照会処理においてデータベースへのアクセスの競合が有る場合の本発明の処理:図21〜図26
(5)更新処理においてデータベースへのアクセスの競合が有る場合の従来の処理:図27〜図30
(6)更新処理においてデータベースへのアクセスの競合が有る場合の本発明の処理の第1例:図31〜図36
(7)照会処理と更新処理のいずれにおいてもデータベースへのアクセスの競合が有る場合の本発明の処理:図37
(8)更新処理においてデータベースへのアクセスの競合が有る場合の本発明の処理の第2例:図38〜図44
まず、図5を参照して当該システムの全体動作を説明する。すなわち、ステップS1で、クライアント30を操作するシステムユーザからの照会要求の有無を判定し、照会要求が有るときは、ステップS2で、データベースにアクセスして照会を試行する。その場合に、ステップS3で、アクセスの競合の有無を判定し、競合が無いときは、ステップS4で、データベースにアクセスして読み込んだ照会結果1をクライアント30の表示装置(図示せず)に表示する。
次に、ステップS5で、上記照会結果1を参照したシステムユーザからの更新要求の有無を判定し、更新要求が有るときは、ステップS6で、データベースにアクセスして更新を試行する。その場合に、ステップS7で、アクセスの競合の有無を判定し、競合が無いときは、ステップS8で、データベースにアクセスして書き込んだ更新結果をクライアント30の表示装置に表示する。
これに対し、上記ステップS3で(照会要求の段階で)アクセスの競合が有ると判定されたときは、ステップS9で、データベースに再度アクセスを試行して自動再照会1を試みる。そして、ステップS3でアクセスの競合が無いと判定されたときに、ステップS4に移行する。
また、上記ステップS7で(更新要求の段階で)アクセスの競合が有ると判定されたときは、ステップS10で、データベースに再度アクセスを試行して自動再照会2を試みる。そして、ステップS11でアクセスの競合が無いと判定されたときに、ステップS12に移行して、データベースにアクセスして読み込んだ照会結果2をクライアント30の表示装置に表示する。そして、ステップS5に戻って、データベースの最新の内容である上記照会結果2を参照したシステムユーザからの更新要求を待つことになる。以下、各パターンを分説する。
(1)照会処理においてデータベースへのアクセスの競合が無い場合の本発明の処理:
このパターンの説明には図6〜図11を参照する。すなわち、図6は、サーバ10及びクライアント30に具備された各種プログラムP1〜P7の動作の順序を示すフローチャート、図7は、照会処理の際にクライアント30の表示装置に表示される照会入力画面W1のレイアウト例、図8は、照会要求の際にクライアント30からサーバ10に送信される要求電文M1のレイアウト例、図9は、当該システムの利用履歴を保存するトランザクションログファイルLGの記録例、図10は、照会応答の際にサーバ10からクライアント30に送信される応答電文M2のレイアウト例、及び図11は、照会結果1の表示の際にクライアント30の表示装置に表示される照会出力画面W2のレイアウト例である。
まず、クライアント30を操作するシステムユーザは、業務クライアントアプリケーションP6を起動して、クライアント30の表示装置に照会入力画面W1を表示させ、図7に例示したように、この画面W1上でデータの内容照会を行いたいレコードのキーとして会員番号を入力した後、照会ボタンをクリックする。すると、この照会ボタンのクリックにより、照会要求電文M1がクライアント30からサーバ10へ上記ネットワーク40を通じてオンラインで送信される。要求電文M1には、図8に例示したように、照会取引メッセージとして会員番号(処理要求の内容)が記録され、またコマンドとして照会処理(処理要求の種類)が指定されている。
この電文M1を受け取ったサーバ10は、まずセッション制御P2によりセッションIDを発行(すなわちセッションを開始)し、次にトランザクション制御P1によりトランザクションIDを発行(すなわちトランザクションを開始)する。次に、トランザクションログ制御P3によりトランザクションログファイルLGの書込みを行う。ここでトランザクションログファイルLGに書き込まれる項目としては、図9の1列目に例示したように、この書込み(あるいは要求電文M1の受信)の日付・時刻、トランザクションID(新規)、トランザクション区分(開始)、セッションID(新規)、セッション区分(開始)、コマンド(照会処理)、メッセージ(照会取引メッセージ及び会員番号)等である。
次に、業務サーバアプリケーションP4により業務処理を開始して、データベースの照会処理の実行をデータアクセス制御プログラムP5に指令する。この指令を受けたデータアクセス制御プログラムP5は、データベースへのアクセスを試行する。ここで、このパターン(1)においては、データベースへのアクセスの競合が無いから、該データベースへのコネクションが確立し、指定された会員番号をキーとするレコードを読み込む(照会する)。
しかる後、今度は以上とは逆順に、業務サーバアプリケーションP4により業務処理を終了し、トランザクションログ制御P3によりトランザクションログファイルLGの書込みを行い、トランザクション制御P1によりトランザクションを終了する。この場合に、トランザクションログファイルLGに書き込まれる項目としては、図9の2列目に例示したように、この書込み(あるいは応答電文M2の送信)の日付・時刻、トランザクションID(同上)、トランザクション区分(正常終了)、セッションID(同上)、メッセージ(照会結果1メッセージ、会員番号及び各属性)等である。
次に、照会応答電文M2がサーバ10からクライアント30へ送信される。応答電文M2には、図10に例示したように、照会結果1メッセージとして会員番号及び各属性が記録され、またセッションIDが添付されている。
この電文M2を受け取ったクライアント30は、業務クライアントアプリケーションP6により照会出力画面W2を表示装置に表示する。そのとき、図11に例示したように、メッセージ欄には、アクセスの競合が無く照会作業が正常に完了したことをシステムユーザに報知するため、「正常に照会しました。」と表示される。この後、更新処理が引き続き行われる。
(2)照会処理に続く更新処理においてデータベースへのアクセスの競合が無い場合の本発明の処理:
このパターンの説明には図12〜図16を参照する。すなわち、図12は、サーバ10及びクライアント30に具備された各種プログラムP1〜P7の動作の順序を示すフローチャート、図13は、更新処理の際にクライアント30の表示装置に表示される更新入力画面W3のレイアウト例、図14は、更新要求の際にクライアント30からサーバ10に送信される要求電文M3のレイアウト例、図15は、更新応答の際にサーバ10からクライアント30に送信される応答電文M4のレイアウト例、及び図16は、更新結果の表示の際にクライアント30の表示装置に表示される更新出力画面W4のレイアウト例である。なお、トランザクションログファイルLGの記録例は、図9を兼用する。
まず、クライアント30を操作するシステムユーザは、業務クライアントアプリケーションP6を起動して、クライアント30の表示装置に、上記照会出力画面W2と同様の更新入力画面W3を表示させ、図13に例示したように、この画面W3上でデータの内容変更を行った後(図例では住所の世田谷区を品川区に変更している)、更新ボタンをクリックする。すると、この更新ボタンのクリックにより、更新要求電文M3がクライアント30からサーバ10へ送信される。要求電文M3には、図14に例示したように、更新取引メッセージとして会員番号及び各属性(処理要求の内容)が記録され、またコマンドとして更新処理(処理要求の種類)が指定されている。併せてセッションIDが添付されている。
この電文M3を受け取ったサーバ10は、まずセッション制御P2によりセッションIDの存在確認を行い、次にトランザクション制御P1によりトランザクションIDを発行(すなわちトランザクションを開始)する。次に、トランザクションログ制御P3によりトランザクションログファイルLGの書込みを行う。ここでトランザクションログファイルLGに書き込まれる項目としては、図9の3列目に例示したように、この書込み(あるいは要求電文M3の受信)の日付・時刻、トランザクションID(新規)、トランザクション区分(開始)、セッションID(同上)、コマンド(更新処理)、メッセージ(更新取引メッセージ、会員番号及び各属性)等である。
次に、業務サーバアプリケーションP4により業務処理を開始して、データベースの更新処理の実行をデータアクセス制御プログラムP5に指令する。この指令を受けたデータアクセス制御プログラムP5は、データベースへのアクセスを試行する。ここで、このパターン(2)においては、データベースへのアクセスの競合が無いから、該データベースへのコネクションが確立し、指定された会員番号をキーとするレコードの項目(この例では住所)を書き込む(更新する)。
しかる後、今度は以上とは逆順に、業務サーバアプリケーションP4により業務処理を終了し、トランザクションログ制御P3によりトランザクションログファイルLGの書込みを行い、トランザクション制御P1によりトランザクションを終了する。この場合に、トランザクションログファイルLGに書き込まれる項目としては、図9の4列目に例示したように、この書込み(あるいは応答電文M4の送信)の日付・時刻、トランザクションID(同上)、トランザクション区分(正常終了)、セッションID(同上)、メッセージ(更新結果メッセージ、会員番号及び各属性)等である。
次に、更新応答電文M4がサーバ10からクライアント30へ送信される。応答電文M4には、図15に例示したように、更新結果メッセージとして会員番号及び各属性が記録され、またセッションIDが添付されている。
この電文M4を受け取ったクライアント30は、業務クライアントアプリケーションP6により更新出力画面W4を表示装置に表示する。そのとき、図16に例示したように、メッセージ欄には、アクセスの競合が無く更新作業が正常に完了したことをシステムユーザに報知するため、「正常に更新しました。」と表示される。以上で照会処理とそれに続く更新処理とがすべて終了する。
(3)照会処理においてデータベースへのアクセスの競合が有る場合の従来の処理:
このパターンの説明には図17〜図20を参照する。すなわち、図17は、サーバ10及びクライアント30に具備された各種プログラムP1〜P7の動作の順序を示すフローチャート、図18は、トランザクションログファイルLGの記録例、図19は、照会応答の際にサーバ10からクライアント30に送信される応答電文Maのレイアウト例、及び図20は、照会結果の表示の際にクライアント30の表示装置に表示される照会出力画面Waのレイアウト例である。なお、照会処理の際にクライアント30の表示装置に表示される照会入力画面W1のレイアウト例は、図7を兼用し、照会要求の際にクライアント30からサーバ10に送信される要求電文M1のレイアウト例は、図8を兼用する。また、上記パターン(1)と重複する部分の説明は省略する。
このパターン(3)においては、図17に符号アで示したように、データベースへのアクセスの競合が有るから、データアクセス制御P5により、該データベースへのアクセスの競合が検知され、その結果、該データベースへのコネクションが確立せず、照会処理は中止される(照会不可)。そして、競合検知フラグが「ON」とされる。
また、図17に符号イで示したように、業務サーバアプリケーションP4により業務処理を例外処理として終了する。この場合に、トランザクションログファイルLGに書き込まれる項目としては、図18の2列目に例示したように、この書込み(あるいは応答電文Maの送信)の日付・時刻、トランザクションID、トランザクション区分(異常終了)、セッションID等である。
そして、応答電文Maには、図19に例示したように、競合検知フラグがONと記録され、またセッションIDが添付されている。そして、照会出力画面Waには、図20に例示したように、照会結果が何も表示されず、メッセージ欄には、アクセスの競合が有り照会作業が異常終了したことをシステムユーザに報知するため、「競合検知により照会できませんでした。」と表示される。
この場合、ユーザが同じ照会要求を再度実行しようとするときは、もう一度クライアント30を最初から操作し直して照会入力画面W1を呼び出す必要が生じ、ユーザに過度の負担を強いることになる。
(4)照会処理においてデータベースへのアクセスの競合が有る場合の本発明の処理:
このパターンの説明には図21〜図26を参照する。すなわち、図21〜図22は、サーバ10及びクライアント30に具備された各種プログラムP1〜P7の動作の順序を示すフローチャート、図23は、トランザクションログファイルLGの記録例、図24は、該ログファイルLGに保存されている利用履歴からデータベースへの再アクセスに必要な情報を入手する具体的動作の一例を示すフローチャート、図25は、照会応答の際にサーバ10からクライアント30に送信される応答電文M5のレイアウト例、及び図26は、照会結果の表示の際にクライアント30の表示装置に表示される照会出力画面W5のレイアウト例である。なお、照会処理の際にクライアント30の表示装置に表示される照会入力画面W1のレイアウト例は、図7を兼用し、照会要求の際にクライアント30からサーバ10に送信される要求電文M1のレイアウト例は、図8を兼用する。また、上記パターン(1)及び(3)と重複する部分の説明は省略する。
このパターン(4)においては、図21に符号カで示したように、トランザクションログ制御P3によりトランザクションログファイルLGの書込みを行った後、すぐにまたトランザクションログファイルLGの読込みを行う。このトランザクションログファイルLGの読込みは、図24に例示したフローチャートに従って行われる。すなわち、トランザクションログファイルLGのレコードを最後尾から前方に読んでいき、トランザクションIDが現時点のトランザクションIDと同じであり、セッションIDが現時点のセッションIDと同じであり、かつトランザクション区分が開始であるレコードをサーチして読み込むのである(ステップS9′)。
すなわち、図23を参照すると、いま2列目を書き込んだところであるから、上記条件を満足するレコードは、矢印で示したように、1列目のレコードということになる。そして、ここでトランザクションログファイルLGから読み込む項目としては、コマンド(照会処理)及びメッセージ(照会取引メッセージ及び会員番号)である。
次に、図21に符号キで示したように、セッション制御P2により現在のセッションを終了した後、図22に符号クで示したように、同じくセッション制御P2により改めて新セッションIDを発行する(すなわち新セッションを開始)する。
そして、図22に符号ケで示したように、データアクセス制御プログラムP5によりデータベースへのアクセスを自動再試行し、データベースへのアクセスの競合が無いときは、該データベースへのコネクションを確立して、指定された会員番号をキーとするレコードを読み込む(自動再照会1をする)。
そして、応答電文M5には、図25に例示したように、競合検知フラグがONと記録され、照会結果1メッセージとして会員番号及び各属性が記録され、またセッションIDが添付されている。そして、照会出力画面W5には、図26に例示したように、照会結果が表示され、メッセージ欄には、アクセスの競合が有りいったん照会作業が異常終了したことをシステムユーザに報知するため、「競合検知しましたが自動再照会しました。」と表示される。
以上により、データベースへのアクセスが複数の処理要求により競合していることが検知されたときは、該データベースへのアクセスが自動的に再試行されるから、システムユーザが再度クライアント30を最初から操作し直す、というような非合理的な作業をしなくて済み、ユーザの作業負担が軽減され、作業の簡略化・省力化が図られる。
しかも、上記データベースへの再アクセスに必要な情報を、システムの利用履歴を保存するために一般に備えられるトランザクションログファイルLGを利用して入手するから、その既存機能であるログファイルLGが有効利用されて、追加の記憶装置を必要とすることがない。
加えて、アクセスの競合が検知されたときは、その旨のメッセージがシステムユーザに報知・通知されるから、ユーザは、データベースへのアクセスの競合があったことを認知することができ、表示された自動照会結果を上記競合のあった結果として認識でき、不審に思うことがない。
(5)更新処理においてデータベースへのアクセスの競合が有る場合の従来の処理:
このパターンの説明には図27〜図30を参照する。すなわち、図27は、サーバ10及びクライアント30に具備された各種プログラムP1〜P7の動作の順序を示すフローチャート、図28は、トランザクションログファイルLGの記録例、図29は、更新応答の際にサーバ10からクライアント30に送信される応答電文Mbのレイアウト例、及び図30は、更新結果の表示の際にクライアント30の表示装置に表示される更新出力画面Wbのレイアウト例である。なお、更新処理の際にクライアント30の表示装置に表示される更新入力画面W3のレイアウト例は、図13を兼用し、更新要求の際にクライアント30からサーバ10に送信される要求電文M3のレイアウト例は、図14を兼用する。また、上記パターン(2)と重複する部分の説明は省略する。
このパターン(5)においては、図27に符号サで示したように、データベースへのアクセスの競合が有るから、データアクセス制御プログラムP5により、該データベースへのアクセスの競合が検知され、その結果、該データベースへのコネクションが確立せず、更新処理は中止される(更新不可)。そして、競合検知フラグが「ON」とされる。
また、図27に符号シで示したように、業務サーバアプリケーションP4により業務処理を例外処理として終了する。この場合に、トランザクションログファイルLGに書き込まれる項目としては、図28の4列目に例示したように、この書込み(あるいは応答電文Mbの送信)の日付・時刻、トランザクションID、トランザクション区分(異常終了)、セッションID等である。
そして、応答電文Mbには、図29に例示したように、競合検知フラグがONと記録され、またセッションIDが添付されている。そして、図30に例示したように、更新出力画面Wbのメッセージ欄には、アクセスの競合が有り更新作業が異常終了したことをシステムユーザに報知するため、「競合検知により更新できませんでした。」と表示される。
この場合、ユーザが同じ更新要求を再度実行しようとするときは、もう一度クライアント30を最初から操作し直して照会入力画面W1を呼び出す必要が生じ、ユーザに過度の負担を強いることになる。
(6)更新処理においてデータベースへのアクセスの競合が有る場合の本発明の処理(第1例):
このパターンの説明には図31〜図36を参照する。すなわち、図31〜図32は、サーバ10及びクライアント30に具備された各種プログラムP1〜P7の動作の順序を示すフローチャート、図33は、トランザクションログファイルLGの記録例、図34は、該ログファイルLGに保存されている利用履歴からデータベースへの再アクセスに必要な情報を入手する具体的動作の一例を示すフローチャート、図35は、更新応答の際にサーバ10からクライアント30に送信される応答電文M6のレイアウト例、及び図36は、更新結果の表示の際にクライアント30の表示装置に表示される更新出力画面W6のレイアウト例である。なお、更新処理の際にクライアント30の表示装置に表示される更新入力画面W3のレイアウト例は、図13を兼用し、更新要求の際にクライアント30からサーバ10に送信される要求電文M3のレイアウト例は、図14を兼用する。また、上記パターン(2)及び(5)と重複する部分の説明は省略する。
このパターン(6)においては、図31に符号タで示したように、トランザクションログ制御P3によりトランザクションログファイルLGの書込みを行った後、すぐにまたトランザクションログファイルLGの読込みを行う。このトランザクションログファイルLGの読込みは、図34に例示したフローチャートに従って行われる。すなわち、トランザクションログファイルLGのレコードを最後尾から前方に読んでいき、トランザクションIDが現時点のトランザクションIDと異なっており、セッションIDが現時点のセッションIDと同じであり、かつトランザクション区分が開始であるレコードをサーチして読み込むのである(ステップS10′)。
すなわち、図33を参照すると、いま4列目を書き込んだところであるから、上記条件を満足するレコードは、矢印で示したように、1列目のレコードということになる。そして、ここでトランザクションログファイルLGから読み込む項目としては、コマンド(照会処理)及びメッセージ(照会取引メッセージ及び会員番号)である。
次に、図31に符号チで示したように、セッション制御P2により現在のセッションを終了した後、図32に符号ツで示したように、同じくセッション制御P2により改めて新セッションIDを発行する(すなわち新セッションを開始)する。
そして、図32に符号テで示したように、データアクセス制御プログラムP5によりデータベースへのアクセスを自動再試行し、データベースへのアクセスの競合が無いときは、該データベースへのコネクションを確立して、指定された会員番号をキーとするレコードを読み込む(自動再照会2をする)。
そして、応答電文M6には、図35に例示したように、競合検知フラグがONと記録され、照会結果1メッセージとして、最初の照会処理の段階で得られた会員番号及び各属性(図33のトランザクションログファイルLGの2列目のレコード)が記録され、併せて、照会結果2メッセージとして、更新処理における自動再照会2の段階で得られた会員番号及び各属性(図33のトランザクションログファイルLGの6列目のレコード)が記録され、またセッションIDが添付されている。そして、更新出力画面W6には、図36に例示したように、更新結果ではなく、照会結果2(自動再照会2の結果)が表示され、メッセージ欄には、アクセスの競合が有り更新作業が異常終了したことをシステムユーザに報知するため、「競合検知により更新できませんでした。ただし自動再照会した結果を表示します。」と表示される。
以上により、この場合においても、データベースへのアクセスが複数の処理要求により競合していることが検知されたときは、該データベースへのアクセスが自動的に再試行されるから、システムユーザが再度クライアント30を最初から操作し直す、というような非合理的な作業をしなくて済み、ユーザの作業負担が軽減され、作業の簡略化・省力化が図られる。
しかも、上記データベースへの再アクセスに必要な情報を、システムの利用履歴を保存するために一般に備えられるトランザクションログファイルLGを利用して入手するから、その既存機能であるログファイルLGが有効利用されて、追加の記憶装置を必要とすることがない。
加えて、アクセスの競合が検知されたときは、その旨のメッセージがシステムユーザに報知・通知されるから、ユーザは、データベースへのアクセスの競合があったことを認知することができ、更新要求をしたのに照会結果が表示されたことを上記競合のあった結果として認識でき、不審に思うことがない。
また、処理要求の種類として更新要求が指定され、それに応じるデータベースの更新処理においてアクセスの競合が検知された場合は、該データベースが自動再照会されて、その再照会結果が表示されるから、システムユーザは、上記データベースの最新の内容を参照しながら、もう一度更新内容を作成し直すことができる。
そして、図32に符号トで示したように、上記応答電文M6を受け取ったクライアント30は、他ユーザ更新項目特定機能P7により、上記照会結果1メッセージと照会結果2メッセージとを比較し、これにより、最初の照会処理のためにデータベースにアクセスした時刻と、次に更新処理のためにデータベースにアクセスした時刻との間に、他ユーザによって更新された項目、すなわち、更新処理の段階でアクセスが競合した他の処理要求に応じて更新された項目を特定する。
しかる後、業務クライアントアプリケーションP6により更新出力画面W6を表示装置に表示する際に、上記の特定した項目(図36における電話番号)を例えば黄色表示することにより識別容易に表示する。これにより、ユーザは、上記自動再照会結果のなかでどのデータが他の更新要求に応じて更新されたかを見出す、というような時間のかかる作業をしなくて済み、この点においても、ユーザの作業負担が軽減され、作業の簡略化・省力化が図られる。
なお、図3に鎖線で示したサーバ10からクライアント30へのレスポンスの経路は、上記他ユーザ更新項目特定機能P7を経由しない従来の経路を示している。
(7)照会処理と更新処理のいずれにおいてもデータベースへのアクセスの競合が有る場合の本発明の処理:
このパターンにおいてトランザクションログファイルLGに記録されるレコードの例を図37に示した。
(8)更新処理においてデータベースへのアクセスの競合が有る場合の本発明の処理(第2例):
このパターンの説明には図38〜図44を参照する。すなわち、図38は、このパターン(8)を実行するときの、当該システムのオンライン照会処理・更新処理の全体の具体的動作の1例を示す、図5に類似のフローチャート、図39〜図40は、サーバ10及びクライアント30に具備された各種プログラムP1〜P7の動作の順序を示すフローチャート、図41は、トランザクションログファイルLGの記録例、図42は、該ログファイルLGに保存されている利用履歴からデータベースへの再アクセスに必要な情報を入手する具体的動作の一例を示すフローチャート、図43は、更新応答の際にサーバ10からクライアント30に送信される応答電文M7のレイアウト例、及び図44は、更新結果の表示の際にクライアント30の表示装置に表示される更新出力画面W7のレイアウト例である。なお、更新処理の際にクライアント30の表示装置に表示される更新入力画面W3のレイアウト例は、図13を兼用し、更新要求の際にクライアント30からサーバ10に送信される要求電文M3のレイアウト例は、図14を兼用する。また、上記パターン(2)、(5)及び(7)と重複する部分の説明は省略する。
まず、図38の全体動作において、ステップS10aでは、データベースに再度アクセスを試行して自動再照会2及び自動更新を試みる。また、ステップS12aでは、データベースにアクセスして読み込んだ照会結果2及び更新結果をクライアント30の表示装置に表示する。そして、ステップS12aからはステップS5に戻らずにそのまま終了する。
このパターン(8)においては、図39に符号ナで示したように、トランザクションログ制御P3によりトランザクションログファイルLGの書込みを行った後、すぐにまたトランザクションログファイルLGの読込みを行う。このトランザクションログファイルLGの読込みは、図42に例示したフローチャートに従って行われる。すなわち、トランザクションログファイルLGのレコードを最後尾から前方に読んでいき、トランザクションIDが現時点のトランザクションIDと同じであり、セッションIDが現時点のセッションIDと同じであり、かつトランザクション区分が開始であるレコードをサーチして読み込むのである(ステップS10a′)。
すなわち、図41を参照すると、いま4列目を書き込んだところであるから、上記条件を満足するレコードは、矢印で示したように、3列目のレコードということになる。そして、ここでトランザクションログファイルLGから読み込む項目としては、コマンド(更新処理)及びメッセージ(更新取引メッセージ、会員番号及び各属性)である。
次に、図39に符号ニで示したように、セッション制御P2により現在のセッションを終了した後、図40に符号ヌで示したように、同じくセッション制御P2により改めて新セッションIDを発行する(すなわち新セッションを開始)する。
そして、図40に符号ネで示したように、データアクセス制御プログラムP5によりデータベースへのアクセスを自動再試行し、データベースへのアクセスの競合が無いときは、該データベースへのコネクションを確立して、指定された会員番号をキーとするレコードを読み込む(自動再照会2をする)。また、同時に、指定された会員番号をキーとするレコードの項目(この例では住所)を書き込む(自動更新する)。
そして、応答電文M7には、図43に例示したように、競合検知フラグがONと記録され、照会結果1メッセージとして、最初の照会処理の段階で得られた会員番号及び各属性(図41のトランザクションログファイルLGの2列目のレコード)が記録され、併せて、照会結果2メッセージとして、更新処理における自動再照会2の段階で得られた会員番号及び各属性(図41のトランザクションログファイルLGの6列目のレコード)が記録され、さらに、更新結果メッセージとして、トランザクションログファイルLGから読み込んだ会員番号及び各属性(図41のトランザクションログファイルLGの3列目のレコード)が記録され、またセッションIDが添付されている。
そして、更新出力画面W7には、図44に例示したように、照会結果2(自動再照会2の結果)と更新結果とが合体されて表示される(すなわち、図例では、住所は自己の更新要求に応じる品川区と表示され、電話番号は他の更新要求に応じる5555と表示される)。そして、メッセージ欄には、アクセスの競合が有りいったん更新作業が異常終了したことをシステムユーザに報知するため、「競合検知しましたが自動再照会した結果と自動更新した結果とを併せて表示します。」と表示される。
以上により、この場合においても、データベースへのアクセスが複数の処理要求により競合していることが検知されたときは、該データベースへのアクセスが自動的に再試行されるから、システムユーザが再度クライアント30を最初から操作し直す、というような非合理的な作業をしなくて済み、ユーザの作業負担が軽減され、作業の簡略化・省力化が図られる。
しかも、上記データベースへの再アクセスに必要な情報を、システムの利用履歴を保存するために一般に備えられるトランザクションログファイルLGを利用して入手するから、その既存機能であるログファイルLGが有効利用されて、追加の記憶装置を必要とすることがない。
加えて、アクセスの競合が検知されたときは、その旨のメッセージがシステムユーザに通知されるから、ユーザは、データベースへのアクセスの競合があったことを認知することができ、この例では電話番号が最初に見た照会出力画面W2と異なることを上記競合のあった結果として認識でき、不審に思うことがない。
また、処理要求の種類として更新要求が指定され、それに応じるデータベースの更新処理においてアクセスの競合が検知された場合は、該データベースが自動再照会されると共に、自動更新もされて、その再照会結果と更新結果とが表示されるから、システムユーザは、上記データベースの最新の内容を参照することができると共に、更新内容を作成し直す必要もなくなって、より一層、ユーザの作業負担が軽減され、また作業の簡略化・省力化が図られる。
そして、図40に符号ノで示したように、上記応答電文M7を受け取ったクライアント30は、他ユーザ更新項目特定機能P7により、上記照会結果1メッセージと照会結果2メッセージとを比較し、これにより、最初の照会処理のためにデータベースにアクセスした時刻と、次に更新処理のためにデータベースにアクセスした時刻との間に、他ユーザによって更新された項目、すなわち、更新処理の段階でアクセスが競合した他の処理要求に応じて更新された項目を特定する。
しかる後、業務クライアントアプリケーションP6により更新出力画面W6を表示装置に表示する際に、上記の特定した項目(図36における電話番号)を例えば黄色表示することにより識別容易に表示する。これにより、ユーザは、上記自動再照会結果のなかでどのデータが他の更新要求に応じて更新されたかを見出す、というような時間のかかる作業をしなくて済み、この点においても、ユーザの作業負担が軽減され、作業の簡略化・省力化が図られる。
なお、以上説明した実施形態は、本発明を実施するための最良の形態ではあるが、特許請求の範囲を逸脱しない限り、なお種々の変更が可能である。例えば他ユーザ更新項目特定プログラムP7をクライアント30ではなくサーバ10側に格納してもよい。また、以上の実施形態は、処理要求として照会要求及び更新要求の場合で説明したが、これらに限らず、新規登録要求や削除要求等の他の処理要求の場合でも本発明は同様に好ましく適用可能であることはいうまでもない。
以上のように、本発明によれば、データベースをオンラインで処理するときに、該データベースへのアクセスの競合が検知された場合の対応が改善され、もって処理要求を行うシステムユーザの作業負担の軽減及び作業の簡略化・省力化が図られる。本発明は、コンピュータによるデータベース制御の技術分野において広汎な産業上の利用可能性を有する。
本発明を実施するための最良の形態に係るデータベース制御システムの全体構成を示すブロック図である。 上記システムのサーバコンピュータの記録装置の構成図である。 上記システムに備えられた各種プログラム間の関連図である。 上記システムの業務データベースに格納されたテーブルの構成図である。 上記システムのオンライン照会処理・更新処理の全体の具体的動作の1例を示すフローチャートである。 照会処理においてデータベースへのアクセスの競合が無い場合の本発明の処理のフローチャートである。 同、照会入力画面W1のレイアウト図である。 同、照会要求電文M1の構成図である。 同、トランザクションログファイルの記録図である。 同、照会応答電文M2の構成図である。 同、照会出力画面W2のレイアウト図である。 更新処理においてデータベースへのアクセスの競合が無い場合の本発明の処理のフローチャートである。 同、更新入力画面W3のレイアウト図である。 同、更新要求電文M3の構成図である。 同、更新応答電文M4の構成図である。 同、更新出力画面W4のレイアウト図である。 照会処理においてデータベースへのアクセスの競合が有る場合の従来の処理のフローチャートである。 同、トランザクションログファイルの記録図である。 同、照会応答電文Maの構成図である。 同、照会出力画面Waのレイアウト図である。 照会処理においてデータベースへのアクセスの競合が有る場合の本発明の処理のフローチャートの前半部である。 同、後半部である。 同、トランザクションログファイルの記録図である。 同、トランザクションログファイルの読込みの具体的動作の1例を示すフローチャートである。 同、照会応答電文M5の構成図である。 同、照会出力画面W5のレイアウト図である。 更新処理においてデータベースへのアクセスの競合が有る場合の従来の処理のフローチャートである。 同、トランザクションログファイルの記録図である。 同、更新応答電文Mbの構成図である。 同、更新出力画面Wbのレイアウト図である。 更新処理においてデータベースへのアクセスの競合が有る場合の本発明の処理の第1例のフローチャートの前半部である。 同、後半部である。 同、トランザクションログファイルの記録図である。 同、トランザクションログファイルの読込みの具体的動作の1例を示すフローチャートである。 同、更新応答電文M6の構成図である。 同、更新出力画面W6のレイアウト図である。 照会処理と更新処理のいずれにおいてもデータベースへのアクセスの競合が有る場合の本発明の処理におけるトランザクションログファイルの記録図である。 上記システムのオンライン照会処理・更新処理の全体の具体的動作の別の例を示すフローチャートである。 更新処理においてデータベースへのアクセスの競合が有る場合の本発明の処理の第2例のフローチャートの前半部である。 同、後半部である。 同、トランザクションログファイルの記録図である。 同、トランザクションログファイルの読込みの具体的動作の1例を示すフローチャートである。 同、更新応答電文M7の構成図である。 同、更新出力画面W7のレイアウト図である。
符号の説明
10 サーバコンピュータ
20 データベースサーバ
30 クライアントコンピュータ
40 情報通信ネットワーク

Claims (10)

  1. 複数のデータが記録されてなるデータベースを要求に応じて照会及び更新するデータベース制御システムであって、
    照会要求に応じて上記データベースにアクセスし、該データベースを照会する照会アクセス手段と、
    該照会アクセス手段によるアクセス後、更新要求に応じて上記データベースにアクセスし、該更新要求時に入力された更新内容で該データベースを更新する更新アクセス手段と、
    該更新アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する検知手段と、
    該検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、システムの利用履歴を保存するログファイルに保存された上記照会要求時に入力された照会情報と上記更新要求時に入力された上記更新内容を含む更新情報とを入手すると共に、データベースに再びアクセスし、上記照会情報に基づいてデータベースを再照会すると共に、上記更新情報に基づいてデータベースを更新する再アクセス手段と、
    上記検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記照会アクセス手段による照会結果と上記再アクセス手段による再照会結果とを比較し、変更されているデータを識別可能な状態で、上記再アクセス手段による更新結果を提示する提示手段とを有することを特徴とするデータベース制御システム。
  2. 上記ログファイルは、システムの利用履歴を保存する際に、セッションの開始時に発行されるセッションIDと、該セッションを構成する複数のトランザクションごとに発行されるトランザクションIDと、該トランザクションの内容を示すトランザクション区分とを記録すると共に、
    上記再アクセス手段は、上記検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記ログファイルを最後尾のレコードから遡って読み込み、各レコードのセッションID、トランザクションID及びトランザクション区分に基づいて上記照会情報及び上記更新情報を入手することを特徴とする請求項1に記載のデータベース制御システム。
  3. 上記照会アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する第2検知手段と、
    該第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記照会要求時に入力されてログファイルに保存された上記照会情報を入手すると共に、この照会情報に基づいてデータベースに再びアクセスし、上記データベースを照会する再照会アクセス手段とが備えられ、かつ、
    上記提示手段は、上記第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときは、上記照会結果と再照会結果とを比較するときに、照会結果として上記再照会アクセス手段による照会結果を用いることを特徴とする請求項1又は請求項2に記載のデータベース制御システム。
  4. 上記ログファイルは、システムの利用履歴を保存する際に、セッションの開始時に発行されるセッションIDと、該セッションを構成する複数のトランザクションごとに発行されるトランザクションIDと、該トランザクションの内容を示すトランザクション区分とを記録すると共に、
    上記再照会アクセス手段は、上記第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合することが検知されたときに、上記ログファイルを最後尾のレコードから遡って読み込み、各レコードのセッションID、トランザクションID及びトランザクション区分に基づいて上記照会情報を入手することを特徴とする請求項3に記載のデータベース制御システム。
  5. 上記再アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する第3検知手段を有し、
    上記再アクセス手段は、上記第3検知手段により該再アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、データベースに再びアクセスし、上記照会情報に基づいてデータベースを再照会すると共に、上記更新情報に基づいてデータベースを更新することを特徴とする請求項1から請求項4のいずれか1項に記載のデータベース制御システム。
  6. 複数のデータが記録されてなるデータベースを要求に応じて照会及び更新するデータベース制御用プログラムであって、
    コンピュータを、
    照会要求に応じて上記データベースにアクセスし、該データベースを照会する照会アクセス手段、
    該照会アクセス手段によるアクセス後、更新要求に応じて上記データベースにアクセスし、該更新要求時に入力された更新内容で該データベースを更新する更新アクセス手段、
    該更新アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する検知手段、
    該検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、システムの利用履歴を保存するログファイルに保存された上記照会要求時に入力された照会情報と上記更新要求時に入力された上記更新内容を含む更新情報とを入手すると共に、データベースに再びアクセスし、上記照会情報に基づいてデータベースを再照会すると共に、上記更新情報に基づいてデータベースを更新する再アクセス手段、及び、
    上記検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記照会アクセス手段による照会結果と上記再アクセス手段による再照会結果とを比較し、変更されているデータを識別可能な状態で、上記再アクセス手段による更新結果を提示する提示手段として機能させることを特徴とするデータベース制御用プログラム。
  7. 上記ログファイルが、システムの利用履歴を保存する際に、セッションの開始時に発行されるセッションIDと、該セッションを構成する複数のトランザクションごとに発行されるトランザクションIDと、該トランザクションの内容を示すトランザクション区分とを記録するように構成されている場合に、
    コンピュータを上記再アクセス手段として機能させるときは、上記検知手段により上記更新アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記ログファイルを最後尾のレコードから遡って読み込み、各レコードのセッションID、トランザクションID及びトランザクション区分に基づいて上記照会情報及び上記更新情報を入手するように機能させることを特徴とする請求項6に記載のデータベース制御用プログラム。
  8. コンピュータを、
    上記照会アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する第2検知手段、及び、
    該第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、上記照会要求時に入力されてログファイルに保存された上記照会情報を入手すると共に、この照会情報に基づいてデータベースに再びアクセスし、上記データベースを照会する再照会アクセス手段として機能させ、かつ、
    上記提示手段として機能させるときは、上記第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合していることが検知された場合において、上記照会結果と再照会結果とを比較するときに、照会結果として上記再照会アクセス手段による照会結果を用いるように機能させることを特徴とする請求項6又は請求項7に記載のデータベース制御用プログラム。
  9. 上記ログファイルが、システムの利用履歴を保存する際に、セッションの開始時に発行されるセッションIDと、該セッションを構成する複数のトランザクションごとに発行されるトランザクションIDと、該トランザクションの内容を示すトランザクション区分とを記録するように構成されている場合に、
    コンピュータを上記再照会アクセス手段として機能させるときは、上記第2検知手段により上記照会アクセス手段によるアクセスが他のアクセスと競合することが検知されたときに、上記ログファイルを最後尾のレコードから遡って読み込み、各レコードのセッションID、トランザクションID及びトランザクション区分に基づいて上記照会情報を入手するように機能させることを特徴とする請求項8に記載のデータベース制御用プログラム。
  10. コンピュータを、
    上記再アクセス手段によるデータベースへのアクセスが他のアクセスと競合していることを検知する第3検知手段として機能させると共に、
    上記再アクセス手段として機能させるときは、上記第3検知手段により該再アクセス手段によるアクセスが他のアクセスと競合していることが検知されたときに、データベースに再びアクセスし、上記照会情報に基づいてデータベースを再照会すると共に、上記更新情報に基づいてデータベースを更新するように機能させることを特徴とする請求項6から請求項9のいずれか1項に記載のデータベース制御用プログラム。
JP2003289670A 2003-08-08 2003-08-08 データベース制御システム及びデータベース制御用プログラム Expired - Fee Related JP4430900B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003289670A JP4430900B2 (ja) 2003-08-08 2003-08-08 データベース制御システム及びデータベース制御用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003289670A JP4430900B2 (ja) 2003-08-08 2003-08-08 データベース制御システム及びデータベース制御用プログラム

Publications (2)

Publication Number Publication Date
JP2005062996A JP2005062996A (ja) 2005-03-10
JP4430900B2 true JP4430900B2 (ja) 2010-03-10

Family

ID=34367919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003289670A Expired - Fee Related JP4430900B2 (ja) 2003-08-08 2003-08-08 データベース制御システム及びデータベース制御用プログラム

Country Status (1)

Country Link
JP (1) JP4430900B2 (ja)

Also Published As

Publication number Publication date
JP2005062996A (ja) 2005-03-10

Similar Documents

Publication Publication Date Title
JP3873365B2 (ja) 掲示板型データベースを用いた業務処理システム及びその処理方法
US20020133509A1 (en) Automatic data update
US8433601B2 (en) Workflow system, information processor, and method and program for workflow management
US5051891A (en) Method to manage transfer of ownership of electronic documents stored in an interactive information handling system
US6356916B1 (en) Replica system and method of producing a replica
US20030085924A1 (en) Method and system for displaying categorized information on a user interface
JP2009512960A (ja) レポジトリ内に格納されるリソース間のリレーションシップの管理
JP2001092702A (ja) 情報処理システム、サーバ装置、クライアント装置、及び記録媒体
JPH11306173A (ja) 共同作業支援システム及びプログラムを記録した機械読み取り可能な記録媒体
US20090063318A1 (en) Reconciling Asset Attributes Values Before Saving to Asset Database
JPH08221433A (ja) 情報検索システム
JP4430900B2 (ja) データベース制御システム及びデータベース制御用プログラム
US6799183B2 (en) Operation assistance method and system and recording medium for storing operation assistance method
JP4186452B2 (ja) 文書管理装置
US7552259B2 (en) Document management system, document management method, program and storage medium
JP4039967B2 (ja) 返答取得支援プログラム、返答取得支援方法、返答取得支援装置および記録媒体
JPH03166649A (ja) 分散データベース・システム
JP4067948B2 (ja) 電子商取引における営業担当者管理方法、サーバ及びプログラム
JPH11194929A (ja) クライアント・サーバ型システムにおけるクライアント側プログラム管理方式
JPH07319674A (ja) 情報ファイル更新支援方法及び情報ファイル更新支援方式
JP5593766B2 (ja) データ管理プログラム及びデータ管理装置
JP2000347943A (ja) 文書アクセス管理システム
JPH0528138A (ja) 文書編集システム
JP5608528B2 (ja) メッセージ順序制御装置及びその方法
JP3184711B2 (ja) ネットワーク管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090604

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091020

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151225

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees