JP5230530B2 - 業務排他管理装置及び業務排他管理プログラム - Google Patents
業務排他管理装置及び業務排他管理プログラム Download PDFInfo
- Publication number
- JP5230530B2 JP5230530B2 JP2009129238A JP2009129238A JP5230530B2 JP 5230530 B2 JP5230530 B2 JP 5230530B2 JP 2009129238 A JP2009129238 A JP 2009129238A JP 2009129238 A JP2009129238 A JP 2009129238A JP 5230530 B2 JP5230530 B2 JP 5230530B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- business
- business program
- slip
- data
- 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
Links
- 230000007717 exclusion Effects 0.000 title claims description 59
- 238000003860 storage Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 186
- 238000000034 method Methods 0.000 description 43
- 230000008569 process Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
このため、例えば特許文献1に記載された従来のカスタマイズ対応テーブルデータ更新処理装置では、同時に実行される伝票書込処理におけるデータ整合性を保持するため、各伝票書込処理単位での排他制御を行う同時実行制限手段を具備し、伝票書込処理において、同時に複数の書込みを行わないように排他制御をしている。
このため、大量のデータを読み込んで、後から更新を行うバッチ処理においては、多数のデータに排他制御が行われて、他の編集処理を実行できない状態となるため、大量データの更新処理は、通常の編集処理と平行して実施することができないという問題があった。
また、画面上に編集候補対象データを一覧表示し、一覧上から1つのデータを選択、編集の実施、書込みの実施の手順で処理する場合は、編集候補対象データ全ての排他を行うと前項と同様に大量データの排他制御が行われ、他の業務を阻害するため、排他制御はデータ選択完了後まで実施することができない。このため、一覧表示時点からデータ選択のタイミングまでの間にデータの修正が行われていないことの保証は、個々の業務処理の中で実装する必要があり、個々の業務処理の開発量が増大する等の問題があった。
また、バッチ処理のデータ取得及び一覧表示のデータ取得から、取得データ編集後のデータ更新時までのデータ整合性を保証する処理は、個別の業務処理毎に実装されるため、方式の統一性が取れておらず、実装の漏れや実装者間での方式の相違による業務処理不整合等による品質低下の問題があった。
以下、この発明の実施の形態1を図に基づいて説明する。
図1は、この発明の実施の形態1による業務排他管理装置及び関連ソフトウェアを示す構成図である。
図1において、業務排他管理装置9は、コンピュータによって構成され、同時並行して動作する複数の業務プログラムが参照中のデータ、更新中のデータを管理し、データの整合性保証を行う。データベース13は、複数の業務プログラムによって読み書きされる記憶装置に設けられ、複数の業務プログラムが処理する伝票データ14を格納する。
本業務プログラム1と、他の業務の処理を行う他業務プログラム6は、並行して動作される。業務排他管理装置9は、同時並行して動作する本業務プログラム1と他業務プログラム6が参照中のデータ、更新中のデータを管理し、データの整合性保証を行う。データベース13には、本業務プログラム1または他業務プログラム2が更新対象とする伝票データ14を格納されている。
本発明では、本業務プログラム1は、大量の伝票データの更新処理を行うように形成され、他業務プログラム6より優先度の低い更新処理を行い、本業務プログラム1が、更新目的でデータ加工を行った場合でも、他業務プログラム6が更新を行った場合は、他業務プログラム6の更新が優先され、本業務プログラム1の更新は無効とされる。
伝票制御部10は、業務プログラムとの伝票データに関する更新権や参照権に係わる情報のやりとりに基づき、更新権管理部11と参照権管理部12を制御する。更新権管理部11は、伝票制御部10の配下として動作し、業務プログラムへの伝票データの更新権を管理する。参照権管理部12は、伝票制御部10の配下として動作し、業務プログラムへの伝票データの参照権を管理する。
なお、伝票制御部10と更新権管理部11と参照権管理部12は、プログラムにより形成されている。
更新候補伝票参照権取得処理2は、将来的にデータ更新を行う可能性のある複数伝票データを検索し、検索されたデータを保持して参照権を確保する。更新対象伝票選択処理3は、取得した複数伝票データの一部を更新対象データとして選択し、データの修正を行う。参照型更新権取得処理4は、更新対象となったデータの更新権を取得し、排他制御を行う。業務データ更新処理5は、修正結果の伝票データをデータベース13内の伝票データ14に反映する。更新権開放処理15は、更新権を開放する。
図2において、9〜12は図1におけるものと同一のものである。更新権管理テーブル21は、更新権管理部11によって読み書きされ、伝票データの更新権を管理するテーブルである。参照権管理テーブル22は、参照権管理部12によって読み書きされ、伝票データの参照権を管理するテーブルである。業務プログラム200は、参照権を取得するプログラムである。
図4は、この発明の実施の形態1による業務排他管理装置における参照権取得時の参照権管理部(参照権登録)の動作の詳細を示すフローチャートである。
図5は、この発明の実施の形態1による業務排他管理装置における参照権取得時の更新権管理部(参照権無効判定)の動作の詳細を示すフローチャートである。
図6は、この発明の実施の形態1による業務排他管理装置における参照権取得時の参照権管理部(参照権状態更新)の動作の詳細を示すフローチャートである。
図7において、9〜12、21、22は図2におけるものと同一のものである。業務プログラム400は、図2の業務プログラム200とは独立して非同期に実行するプログラムである。
図9は、この発明の実施の形態1による業務排他管理装置における参照権の失効管理の更新権管理部(更新権登録)の動作の詳細を示すフローチャートである。
図10は、この発明の実施の形態1による業務排他管理装置における参照権の失効管理の参照権管理部(参照権失効)の動作の詳細を示すフローチャートである。
図11において、9〜12、21、22は図2におけるものと同一のものである。業務
プログラム600は、図2の業務プログラム200で確保した参照権確保済のデータに対して、参照権確保を前提とする更新トランザクション(継承型更新トランザクション)を実施する業務プログラムである。
図13は、この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の参照権管理部(参照権状態取得)の動作の詳細を示すフローチャートである。
図14は、この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の更新権管理部(参照権の更新権への移行)の動作の詳細を示すフローチャートである。
図15において、9〜11、22は図2におけるものと同一のものである。業務プログラム800は、図11の業務プログラム600と同じプログラムである。
図17は、この発明の実施の形態1による業務排他管理装置における更新権開放処理の更新権管理部(更新権開放)の動作の詳細を示すフローチャートである。
図18は、この発明の実施の形態1による業務排他管理装置における参照権管理テーブルの構造と設定内容を示す図である。
図18(a)は、参照権管理テーブルの構造を示す図、図18(b)は、参照権管理テーブルの初期状態を示す図、図18(c)は、一部失効となった参照権管理テーブルの例を示す図である。
図18において、各図はキー部として、トランザクションNoと伝票IDの項目、データ部として、確保または失効を示す状態の項目を設けている。
図19は、この発明の実施の形態1による業務排他管理装置における更新権管理テーブルの構造を示す図である。
図19において、キー部として、トランザクションNoと伝票IDの項目、データ部として、登録者ID、状態、開放トランザクションNoの項目を設けている。
本発明の業務排他管理装置は、データ更新時の排他制御をするために、データの更新権管理に加え、将来的なデータ更新を目的とするデータの参照権管理をし、将来的なデータ更新が、通常の更新権確保を阻害しないようにしたものである。
まず、本業務プログラム1の動作について概要を説明する。
本業務プログラム1の更新候補伝票参照権取得処理2では、複数の伝票データの参照権を、業務排他管理装置9の伝票制御部10の配下で動作する参照権管理部12を使用して取得する。この本業務プログラム1の参照権は、他業務プログラム6から、更新権取得処理7を実行すると無効となる。他業務プログラム6の更新権取得処理7は、業務排他管理装置9の伝票制御部10の配下で動作する更新権管理部11を使用して実施される。
続いて、本業務プログラム1の更新対象伝票選択処理3により、更新対象となる伝票の選択と更新データの生成を行う。
続いて、本業務プログラム1のデータ更新処理を開始するが、開始に先立ち、参照型更新権取得処理4で、更新候補伝票参照権取得処理2により確保した参照権を保持する伝票データについて、更新権を確保する。この更新権の確保は、業務排他管理装置9の伝票制
御部10の配下で動作する更新権管理部11と参照権管理部12を使用して行う。
続いて、本業務プログラム1の業務データ更新処理5を実施し、データベース13の伝票データ14を更新し、この更新が完了した時点で、更新権開放処理15を実施する。
業務排他管理装置9の処理は、大きく3つの動作ステップより成り立っている。
動作ステップ1は、業務プログラム(本業務プログラム1)における更新候補伝票取得時の参照権取得を行うものであり、図2に参照権取得時の動作の概要を、図3〜図6に動作の詳細を示す。なお、図2における参照トランザクションNoの取得203から、図11における参照型更新権取得要求600の間の参照権の管理を行う。
図2において、業務プログラム200は、Oracle(登録商標)のシーケンス機能等のシステム内で連番を取得する機能を利用して、当該要求をシステムで一意に識別するトランザクションNO(以下、参照トランザクションNoと呼ぶ)を取得203し、参照権を確保したい伝票を検索し、参照トランザクションNoとその伝票を一意に識別するID(以下、伝票IDと呼ぶ)のリストを、入力値201として伝票制御部10に引き渡す。
伝票制御部10は、参照トランザクションNoと伝票IDのリストを参照権管理部12に引渡し、参照権管理部12は、参照権管理テーブル22上に参照権確保204を行う。続いて、伝票制御部10は、伝票IDのリストを1件ずつ更新権管理部11に引渡し、対象伝票データの更新権状態の取得207を、更新権管理部11により更新権管理テーブル21を読み込むことで行い、次に取得した更新権状態反映210を、参照権管理部12を通じて、参照権管理テーブル22に対して行う。
全ての伝票IDの処理を完了したら、203で確保した参照トランザクションNoと、参照権管理テーブル22の伝票IDと参照権確保状態のリストを業務プログラム200に返す。
図3は、図2における伝票制御部10の動作の詳細を示すフローチャートである。
図3のステップ3101で、参照トランザクションNoを取得し、ステップ3102で、参照トランザクションNoと伝票IDのリストを、参照権管理部12に引き渡す。図2における参照権管理部12の動作は図4に示す。
なお、図18のデータの状態10103については、必ず確保を設定する。従って、参
照権管理テーブル22の初期状態は、図18(b)に示す通りとなる。
図7において、業務プログラム400は、図2の業務プログラム200とは独立して非同期に実行するプログラムである。業務プログラム400より、更新権を確保したい伝票ID401が伝票制御部10に引き渡されると、伝票制御部10は、更新権確保402を、更新権管理部11を通じて、更新権管理テーブル21に対して行う。更新権の確保に成功した場合は、続いて、参照権状態の更新を行うために、伝票ID401と同じ伝票IDを持つレコードを、参照権管理部12を通じ、参照権管理テーブル22より検索し、当該レコードの参照権を失効に設定する。最後に、更新権の確保に成功したか、失敗したかの更新権確保結果409を業務プログラム400に応答408する。
図8は、図7における伝票制御部10の動作の詳細を示すフローチャートである。
図8のステップ5102にて、伝票ID401が更新権管理部11に引き渡されると、更新権管理部11は、図9のステップ5200にて、更新権確保時点でのトランザクションNo(確保トランザクションNo)を、参照トランザクションNoと連番となるように同じ方法で取得する。続いて、ステップ5201にて確保トランザクションNo、伝票ID、確保状態を確保に設定したレコードを更新権管理テーブル21に挿入する。
続いて、ステップ5202にて、更新権管理テーブル21をコミットする。続いて、ステップ5203とステップ5204にて、同一伝票IDに対する更新権確保が2件以上行われていないかを確認する。ステップ5202前に実行すると、非同期で実行する他の業務プログラムとコミットしていない更新権管理レコードを同時に生成する可能性があるため、更新権の確保状態は、ステップ5202の後で実施する必要がある。
続いて、更新権の確保に成功した場合は、ステップ5208にて、戻り値を更新権取得済に設定する。更新権確保に失敗した場合は、ステップ5205にて、ステップ5201で作成したレコードを削除し、ステップ5206で、更新権管理テーブル21をコミットし、ステップ5207で、戻り値に更新権未取得を設定する。
図11において、業務プログラム600は、図2の業務プログラム200で確保した参照権確保済のデータに対して、参照権確保を前提とする更新トランザクション(継承型更新トランザクション)を実施する業務プログラムである。業務プログラム600は、参照型更新権を確保した後、更新権を確保した伝票データを更新する。データ更新を完了したら、続いて、図15の更新権開放を行う。図15の業務プログラム800は、業務プログラム600と同じプログラムであり、図11の処理に引き続き、図15の処理を実施する。
参照権を失効している更新権については、不整合更新権の開放612で、更新権を開放する。続いて、参照権管理部12を使用して、参照トランザクションNoで確保中の参照権の開放611を実施する。続いて、更新権取得結果応答608として、業務プログラムに対して、伝票ID毎の移行結果としての状態を戻り値609として応答する。
図12は、図11における伝票制御部10の詳細を示すフローチャートである。ステップ7101にて参照トランザクションNo601を受け取り、参照権管理部12にて、図13のステップ7201〜ステップ7203の処理で、参照権管理テーブル22を検索し、検索結果を伝票管理部10に対して戻す。戻り値は、複数の伝票ID、参照権状態を持つリストの形式となる。
図13のステップ7201では、参照トランザクションNoと一致する参照権管理テーブルを検索する。ステップ7202で、検索結果をメモリ上のテーブルに設定する。次いで、ステップ7203で、参照権管理テーブルの検索結果を戻り値に設定する。
更新権の開放は図16のように行われる。
伝票制御部10は、図16のステップ9101で、対象となる確保トランザクションNoと伝票IDを業務プログラムより受領する。ステップ9102で、更新権管理部11を呼び出す。ステップ9103で、更新権管理部11は、更新権確保結果を設定する。
図17で、更新権管理部11は、ステップ9201で、確保トランザクションNoと当該伝票IDを持つ更新権管理テーブルを検索する。次いで、ステップ9202で、対象の更新権管理レコードの状態を失効に設定する。
また、データの保証処理を共通プログラムで実現するため、個別の業務プログラムの生産量を減らすことができる。
また、更新可能性のあるデータの一覧取得である更新権取得までの間のデータ整合性保証を行うため、業務プログラムとしての実装は不要となり、開発効率が向上する。
さらに、全ての業務プログラムとして、統一した方式で実現するため、ソフトウェアの品質が向上する。
2 更新候補伝票参照権取得処理
3 更新対象伝票選択処理
4 参照型更新権取得処理
5 業務データ更新処理
6 他業務プログラム
7 更新権取得処理
8 業務データ更新処理
9 業務排他管理装置
10 伝票制御部
11 更新権管理部
12 参照権管理部
13 データベース
14 伝票データ
15 更新権開放処理
21 更新権管理テーブル
22 参照権管理テーブル
Claims (3)
- データベースに格納された伝票データを業務プログラムによって更新するときの排他制御を行う業務排他管理装置であって、
記憶装置に形成され、上記伝票データを参照するための参照権を管理する参照権管理テーブル、
上記記憶装置に形成され、上記伝票データを排他的に更新するための更新権を管理する更新権管理テーブル、
上記参照権管理テーブルで管理される上記伝票データの参照権を上記業務プログラムに対して確保及び開放する参照権管理部、
上記更新権管理テーブルで管理される上記伝票データの更新権を上記業務プログラムに対して確保及び開放する更新権管理部、
上記業務プログラムからの要求により、他の業務プログラムによって更新権が確保されていない上記伝票データの参照権の確保を上記参照権管理部に指示するとともに、上記業務プログラムからの要求により、上記参照権が確保された上記伝票データの更新権の確保を上記更新権管理部に指示する伝票制御部を備え、
上記伝票制御部は、上記業務プログラムが参照権を得ている場合に、他の業務プログラムから上記更新権の確保を要求された場合には、上記参照権管理部を通じて上記業務プログラムの参照権を失効させ、上記更新権管理部を通じて上記他の業務プログラムに上記更新権を与えることを特徴とする業務排他管理装置。 - 上記業務プログラムは、第一の業務プログラム及び第二の業務プログラムを有し、
上記伝票制御部は、上記第一の業務プログラムから、データ更新に先立って複数の伝票データの参照権の確保を一括して要求された場合に、上記第二の業務プログラムによって更新権が確保されていない伝票データについて、上記第一の業務プログラムに対する参照権を確保するように上記参照権管理部に指示することを特徴とする請求項1記載の業務排他管理装置。 - 第一の業務プログラムから、データ更新に先立って複数の伝票データの参照権の確保を一括して要求された場合に、第二の業務プログラムによって更新権が確保されていない伝票データについて、上記第一の業務プログラムに対する参照権を確保し、記憶装置に記憶する第一の動作ステップ、
この第一の動作ステップにより確保された上記第一の業務プログラムに対する上記伝票データの参照権を、上記参照権確保以降に上記第二の業務プログラムによって当該伝票データの更新権確保が行われた場合に、失効させる第二の動作ステップ、
上記記憶装置を参照し、上記第二の動作ステップにより失効されていない上記第一の業務プログラムに対する参照権を有する上記伝票データについて、上記第一の業務プログラムからの要求に基づき、上記第一の業務プログラムに対する更新権を確保する第三の動作ステップをコンピュータに実行させることを特徴とする業務排他管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129238A JP5230530B2 (ja) | 2009-05-28 | 2009-05-28 | 業務排他管理装置及び業務排他管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129238A JP5230530B2 (ja) | 2009-05-28 | 2009-05-28 | 業務排他管理装置及び業務排他管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010277347A JP2010277347A (ja) | 2010-12-09 |
JP5230530B2 true JP5230530B2 (ja) | 2013-07-10 |
Family
ID=43424251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009129238A Expired - Fee Related JP5230530B2 (ja) | 2009-05-28 | 2009-05-28 | 業務排他管理装置及び業務排他管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5230530B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05216728A (ja) * | 1992-02-06 | 1993-08-27 | Hitachi Ltd | データベース管理システム |
JP5105713B2 (ja) * | 2005-03-30 | 2012-12-26 | 日本電気株式会社 | 情報処理装置 |
-
2009
- 2009-05-28 JP JP2009129238A patent/JP5230530B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010277347A (ja) | 2010-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5343399B2 (ja) | 管理プログラム、管理方法、及び管理装置 | |
US7801855B2 (en) | Method and apparatus for merging log entries in a database management system | |
US9183236B2 (en) | Low level object version tracking using non-volatile memory write generations | |
US9244953B2 (en) | Systems and methods for asynchronous schema changes | |
US8612722B2 (en) | Determining an end of valid log in a log of write records | |
US20180300354A1 (en) | Directory level atomic commit protocol | |
JP5385545B2 (ja) | トランザクションの実行を制御する装置及び方法 | |
JP4277873B2 (ja) | トランザクション処理装置、トランザクション処理方法 | |
US8832022B2 (en) | Transaction processing device, transaction processing method and transaction processing program | |
JP4295333B2 (ja) | データベースの制御方法及びプログラム | |
US7849060B2 (en) | System and method for managing log information for transaction | |
JPH056297A (ja) | トランザクシヨン処理方法およびシステム | |
JPH0812631B2 (ja) | データベース・トランザクション及び照会処理システム | |
US6725242B2 (en) | Multiple-computer data processing system and method with time-versioned data storage | |
US20130085988A1 (en) | Recording medium, node, and distributed database system | |
US7752399B2 (en) | Exclusion control method and information processing apparatus | |
US7194486B2 (en) | Method and system for data processing with data replication for the same | |
JP5230530B2 (ja) | 業務排他管理装置及び業務排他管理プログラム | |
JP2004341926A (ja) | データベース管理システム、データベース管理プログラム | |
JP4139642B2 (ja) | データベース管理方法およびシステム | |
JP2006040065A (ja) | データ記憶装置およびデータ記憶方法 | |
WO2022003911A1 (ja) | ワークフロー整合性確保装置、ワークフロー整合性確保方法、および、ワークフロー整合性確保プログラム | |
TW201828100A (zh) | 檔案讀寫方法、裝置和系統 | |
JPH09293055A (ja) | 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体 | |
Manassiev et al. | Scalable database replication through dynamic multiversioning. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110408 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130122 |
|
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: 20130226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130319 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |