JP5230530B2 - 業務排他管理装置及び業務排他管理プログラム - Google Patents

業務排他管理装置及び業務排他管理プログラム Download PDF

Info

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
Application number
JP2009129238A
Other languages
English (en)
Other versions
JP2010277347A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009129238A priority Critical patent/JP5230530B2/ja
Publication of JP2010277347A publication Critical patent/JP2010277347A/ja
Application granted granted Critical
Publication of JP5230530B2 publication Critical patent/JP5230530B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この発明は、コンピュータによって複数の業務が並行して処理される業務システムにおいて、データの不整合を起こさないようにする業務排他管理装置及び業務排他管理プログラムに関するものである。
調達手続きのように、購入依頼、複数業者への見積依頼・見積結果の評価・業者との契約・納入完了時の検収手続き・契約納期の変更手続き・契約内容の追加・削除手続き・契約の取消手続きなどの多段階の業務手続が同時に並行して処理される業務システムでは、データ更新を行う場合にデータの不整合が発生しやすい。
このため、例えば特許文献1に記載された従来のカスタマイズ対応テーブルデータ更新処理装置では、同時に実行される伝票書込処理におけるデータ整合性を保持するため、各伝票書込処理単位での排他制御を行う同時実行制限手段を具備し、伝票書込処理において、同時に複数の書込みを行わないように排他制御をしている。
特開2001−84313号公報(第4〜5頁、図1)
特許文献1に記載の従来のカスタマイズ対応テーブルデータ更新処理装置は、以上のように構成されているので、同時に書込処理を行う場合は、排他制御が可能であるが、書込み前にデータ読み込みし、内容を変更し、変更結果を書き込む場合には、データの整合性を保証するために、データの読み込みからデータの書込みまでの長時間にわたって当該データの排他制御を継続する必要がある。
このため、大量のデータを読み込んで、後から更新を行うバッチ処理においては、多数のデータに排他制御が行われて、他の編集処理を実行できない状態となるため、大量データの更新処理は、通常の編集処理と平行して実施することができないという問題があった。
また、画面上に編集候補対象データを一覧表示し、一覧上から1つのデータを選択、編集の実施、書込みの実施の手順で処理する場合は、編集候補対象データ全ての排他を行うと前項と同様に大量データの排他制御が行われ、他の業務を阻害するため、排他制御はデータ選択完了後まで実施することができない。このため、一覧表示時点からデータ選択のタイミングまでの間にデータの修正が行われていないことの保証は、個々の業務処理の中で実装する必要があり、個々の業務処理の開発量が増大する等の問題があった。
また、バッチ処理のデータ取得及び一覧表示のデータ取得から、取得データ編集後のデータ更新時までのデータ整合性を保証する処理は、個別の業務処理毎に実装されるため、方式の統一性が取れておらず、実装の漏れや実装者間での方式の相違による業務処理不整合等による品質低下の問題があった。
この発明は、上述のような課題を解決するためになされたものであり、データの参照からデータ更新までの間のデータ整合性を保証できる業務排他管理装置及び業務排他管理プログラムを得ることを目的とする。
この発明に係わる業務排他管理装置においては、データベースに格納された伝票データを業務プログラムによって更新するときの排他制御を行う業務排他管理装置であって、記憶装置に形成され、伝票データを参照するための参照権を管理する参照権管理テーブル、記憶装置に形成され、伝票データを排他的に更新するための更新権を管理する更新権管理テーブル、参照権管理テーブルで管理される伝票データの参照権を業務プログラムに対して確保及び開放する参照権管理部、更新権管理テーブルで管理される伝票データの更新権を業務プログラムに対して確保及び開放する更新権管理部、業務プログラムからの要求により、他の業務プログラムによって更新権が確保されていない伝票データの参照権の確保を参照権管理部に指示するとともに、業務プログラムからの要求により、参照権が確保された伝票データの更新権の確保を更新権管理部に指示する伝票制御部を備え、伝票制御部は、業務プログラムが参照権を得ている場合に、他の業務プログラムから更新権の確保を要求された場合には、参照権管理部を通じて業務プログラムの参照権を失効させ、更新権管理部を通じて他の業務プログラムに更新権を与えるものである。
この発明は、以上説明したように、データベースに格納された伝票データを業務プログラムによって更新するときの排他制御を行う業務排他管理装置であって、記憶装置に形成され、伝票データを参照するための参照権を管理する参照権管理テーブル、記憶装置に形成され、伝票データを排他的に更新するための更新権を管理する更新権管理テーブル、参照権管理テーブルで管理される伝票データの参照権を業務プログラムに対して確保及び開放する参照権管理部、更新権管理テーブルで管理される伝票データの更新権を業務プログラムに対して確保及び開放する更新権管理部、業務プログラムからの要求により、他の業務プログラムによって更新権が確保されていない伝票データの参照権の確保を参照権管理部に指示するとともに、業務プログラムからの要求により、参照権が確保された伝票データの更新権の確保を更新権管理部に指示する伝票制御部を備え、伝票制御部は、業務プログラムが参照権を得ている場合に、他の業務プログラムから更新権の確保を要求された場合には、参照権管理部を通じて業務プログラムの参照権を失効させ、更新権管理部を通じて他の業務プログラムに更新権を与えるので、データの参照からデータ更新までの間のデータ整合性を保証することができる。
この発明の実施の形態1による業務排他管理装置及び関連ソフトウェアを示す構成図である。 この発明の実施の形態1による業務排他管理装置における参照権取得時の動作概要を示す図である。 この発明の実施の形態1による業務排他管理装置における参照権取得時の伝票制御部の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権取得時の参照権管理部(参照権登録)の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権取得時の更新権管理部(参照権無効判定)の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権取得時の参照権管理部(参照権状態更新)の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権の失効管理の更新権管理部の動作概要を示す図である。 この発明の実施の形態1による業務排他管理装置における参照権の失効管理の伝票制御部の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権の失効管理の更新権管理部(更新権登録)の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権の失効管理の参照権管理部(参照権失効)の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の参照権管理部の動作概要を示す図である。 この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の伝票制御部の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の参照権管理部(参照権状態取得)の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の更新権管理部(参照権の更新権への移行)の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における更新権開放処理の伝票制御部の動作概要を示す図である。 この発明の実施の形態1による業務排他管理装置における更新権開放処理の伝送制御部の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における更新権開放処理の更新権管理部(更新権開放)の動作の詳細を示すフローチャートである。 この発明の実施の形態1による業務排他管理装置における参照権管理テーブルの構造と設定内容を示す図である。 この発明の実施の形態1による業務排他管理装置における更新権管理テーブルの構造を示す図である。
実施の形態1.
以下、この発明の実施の形態1を図に基づいて説明する。
図1は、この発明の実施の形態1による業務排他管理装置及び関連ソフトウェアを示す構成図である。
図1において、業務排他管理装置9は、コンピュータによって構成され、同時並行して動作する複数の業務プログラムが参照中のデータ、更新中のデータを管理し、データの整合性保証を行う。データベース13は、複数の業務プログラムによって読み書きされる記憶装置に設けられ、複数の業務プログラムが処理する伝票データ14を格納する。
本業務プログラム1と、他の業務の処理を行う他業務プログラム6は、並行して動作される。業務排他管理装置9は、同時並行して動作する本業務プログラム1と他業務プログラム6が参照中のデータ、更新中のデータを管理し、データの整合性保証を行う。データベース13には、本業務プログラム1または他業務プログラム2が更新対象とする伝票データ14を格納されている。
本発明では、本業務プログラム1は、大量の伝票データの更新処理を行うように形成され、他業務プログラム6より優先度の低い更新処理を行い、本業務プログラム1が、更新目的でデータ加工を行った場合でも、他業務プログラム6が更新を行った場合は、他業務プログラム6の更新が優先され、本業務プログラム1の更新は無効とされる。
業務排他管理装置9は、次のように構成されている。
伝票制御部10は、業務プログラムとの伝票データに関する更新権や参照権に係わる情報のやりとりに基づき、更新権管理部11と参照権管理部12を制御する。更新権管理部11は、伝票制御部10の配下として動作し、業務プログラムへの伝票データの更新権を管理する。参照権管理部12は、伝票制御部10の配下として動作し、業務プログラムへの伝票データの参照権を管理する。
なお、伝票制御部10と更新権管理部11と参照権管理部12は、プログラムにより形成されている。
本業務プログラム1は、次のような処理により伝票データの更新を行う。
更新候補伝票参照権取得処理2は、将来的にデータ更新を行う可能性のある複数伝票データを検索し、検索されたデータを保持して参照権を確保する。更新対象伝票選択処理3は、取得した複数伝票データの一部を更新対象データとして選択し、データの修正を行う。参照型更新権取得処理4は、更新対象となったデータの更新権を取得し、排他制御を行う。業務データ更新処理5は、修正結果の伝票データをデータベース13内の伝票データ14に反映する。更新権開放処理15は、更新権を開放する。
他業務プログラム6は、本業務プログラム1と独立して動作し、本業務プログラム1で参照権を確保している伝票データに対して更新を行う。このため、更新候補伝票参照権取得処理2によって参照権が取得された伝票データに対する更新権を取得する更新権取得処理7と、更新権を取得して伝票データを更新し、データベース13の伝票データ14に反映させる業務データ更新処理8を有している。
図2は、この発明の実施の形態1による業務排他管理装置における参照権取得時の動作概要を示す図である。
図2において、9〜12は図1におけるものと同一のものである。更新権管理テーブル21は、更新権管理部11によって読み書きされ、伝票データの更新権を管理するテーブルである。参照権管理テーブル22は、参照権管理部12によって読み書きされ、伝票データの参照権を管理するテーブルである。業務プログラム200は、参照権を取得するプログラムである。
図3は、この発明の実施の形態1による業務排他管理装置における参照権取得時の伝票制御部の動作の詳細を示すフローチャートである。
図4は、この発明の実施の形態1による業務排他管理装置における参照権取得時の参照権管理部(参照権登録)の動作の詳細を示すフローチャートである。
図5は、この発明の実施の形態1による業務排他管理装置における参照権取得時の更新権管理部(参照権無効判定)の動作の詳細を示すフローチャートである。
図6は、この発明の実施の形態1による業務排他管理装置における参照権取得時の参照権管理部(参照権状態更新)の動作の詳細を示すフローチャートである。
図7は、この発明の実施の形態1による業務排他管理装置における参照権の失効管理の更新権管理部の動作概要を示す図である。
図7において、9〜12、21、22は図2におけるものと同一のものである。業務プログラム400は、図2の業務プログラム200とは独立して非同期に実行するプログラムである。
図8は、この発明の実施の形態1による業務排他管理装置における参照権の失効管理の伝票制御部の動作の詳細を示すフローチャートである。
図9は、この発明の実施の形態1による業務排他管理装置における参照権の失効管理の更新権管理部(更新権登録)の動作の詳細を示すフローチャートである。
図10は、この発明の実施の形態1による業務排他管理装置における参照権の失効管理の参照権管理部(参照権失効)の動作の詳細を示すフローチャートである。
図11は、この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の参照権管理部の動作概要を示す図である。
図11において、9〜12、21、22は図2におけるものと同一のものである。業務
プログラム600は、図2の業務プログラム200で確保した参照権確保済のデータに対して、参照権確保を前提とする更新トランザクション(継承型更新トランザクション)を実施する業務プログラムである。
図12は、この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の伝票制御部の動作の詳細を示すフローチャートである。
図13は、この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の参照権管理部(参照権状態取得)の動作の詳細を示すフローチャートである。
図14は、この発明の実施の形態1による業務排他管理装置における参照権を前提とする更新権確保(参照型更新権確保)の更新権管理部(参照権の更新権への移行)の動作の詳細を示すフローチャートである。
図15は、この発明の実施の形態1による業務排他管理装置における更新権開放処理の伝票制御部の動作概要を示す図である。
図15において、9〜11、22は図2におけるものと同一のものである。業務プログラム800は、図11の業務プログラム600と同じプログラムである。
図16は、この発明の実施の形態1による業務排他管理装置における更新権開放処理の伝送制御部の動作の詳細を示すフローチャートである。
図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の処理について具体的に説明する。
業務排他管理装置9の処理は、大きく3つの動作ステップより成り立っている。
動作ステップ1は、業務プログラム(本業務プログラム1)における更新候補伝票取得時の参照権取得を行うものであり、図2に参照権取得時の動作の概要を、図3〜図6に動作の詳細を示す。なお、図2における参照トランザクションNoの取得203から、図11における参照型更新権取得要求600の間の参照権の管理を行う。
動作ステップ2は、参照権取得を行った業務プログラム(本業務プログラム1)とは別の業務プログラム(他業務プログラム6)による更新権取得を行うものであり、図7に更新権管理の動作の概要を、図8〜図10に動作の詳細を示す。
動作ステップ3は、参照権取得を行った業務プログラム(本業務プログラム1)が、データ更新を行う時の更新権取得と、業務プログラムによる更新終了後の更新権の開放を行うものであり、図11に参照型更新権管理の動作の概要を、図12〜図14に動作の詳細を示す。また、図15に更新権開放の動作の概要を、図16〜図17に動作の詳細を示す。
次に、動作ステップ1の概要について説明する。
図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に返す。
次に、動作ステップ1の各部の制御動作に関して説明する。
図3は、図2における伝票制御部10の動作の詳細を示すフローチャートである。
図3のステップ3101で、参照トランザクションNoを取得し、ステップ3102で、参照トランザクションNoと伝票IDのリストを、参照権管理部12に引き渡す。図2における参照権管理部12の動作は図4に示す。
図4のステップ3201、3202、3203の制御動作の中で、引き渡された伝票IDを1件ずつ、参照管理テーブル22に登録する。参照権管理テーブル22の構造は、図18(a)に示すとおり、トランザクションNo10101と伝票ID10102をキーとしており、必ず参照権管理テーブル22内で一意となることが保証できるので、複数の業務プログラムの競合を考慮する必要はない。
なお、図18のデータの状態10103については、必ず確保を設定する。従って、参
照権管理テーブル22の初期状態は、図18(b)に示す通りとなる。
図3に戻り、確保済の参照権に対して、すでに更新権の確保が行われており、無効とする必要のあるものを判定する。無効判定は参照権単位に実施し、図2における参照トランザクションNoを取得203以降に更新権確保要求を発行したトランザクション、または、図2における参照トランザクションNoを取得203以降に更新権開放を行ったトランザクションが存在した場合に、参照権を無効とする。すなわち、図3のステップ3103、3104、3108の制御動作の中で、引き渡された伝票IDを1件ずつ、ステップ3105にて参照権の無効化を問合せ、無効となったものについて、ステップ3107で参照権を無効にする。
参照権の無効化を問合せは、ステップ3105で、1件の伝票IDと参照トランザクションNoを更新権管理部11に受け渡す。更新権管理部11では、図5のように、受け渡された伝票IDと同一伝票IDを保持する更新権管理テーブル21のレコードを全て取得し(ステップ3301)、参照トランザクションより大きい更新権確保時点でのトランザクションNo(以下、確保トランザクションNoと呼ぶ)を持つ更新権管理テーブルが存在するか(ステップ3302)、または、参照トランザクションより大きい更新権開放時点でのトランザクションNo(以下、開放トランザクションNoと呼ぶ)を持つ更新権管理テーブルが存在する場合(ステップ3303)に、戻り値を参照権無効に設定する(ステップ3305)。他の場合には、戻り値に参照権有効を設定する(ステップ3304)。
参照権を無効にする処理は、参照権管理部12にて実施し、図6のステップ3401にて参照トランザクションNoと伝票IDを元に参照権管理テーブル22の検索を行い、ステップ3402にて、該当する参照権管理テーブル22の内容を失効に設定する。参照権管理テーブル22の一部を失効に設定した参照件管理テーブル22の例を図18(c)に示す。
次に、動作ステップ2の概要について説明する。
図7において、業務プログラム400は、図2の業務プログラム200とは独立して非同期に実行するプログラムである。業務プログラム400より、更新権を確保したい伝票ID401が伝票制御部10に引き渡されると、伝票制御部10は、更新権確保402を、更新権管理部11を通じて、更新権管理テーブル21に対して行う。更新権の確保に成功した場合は、続いて、参照権状態の更新を行うために、伝票ID401と同じ伝票IDを持つレコードを、参照権管理部12を通じ、参照権管理テーブル22より検索し、当該レコードの参照権を失効に設定する。最後に、更新権の確保に成功したか、失敗したかの更新権確保結果409を業務プログラム400に応答408する。
次に、動作ステップ2の各部の制御動作に関して説明する。
図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で、戻り値に更新権未取得を設定する。
図8に戻り、伝票制御部10は、ステップ5103〜ステップ5104にて、更新権確保済の場合の参照権の失効処理を行う。参照権の失効処理は、参照権管理部12により、図10のステップ5301〜ステップ5302にて、伝票ID401を持ち参照権が確保である全ての参照権管理レコードの状態を実行にすることで行う。ステップ5301では、当該伝票IDをもち、参照権が失効していない参照権管理テーブルを検索する。ステップ5302で、条件に合致する全てのレコードの状態を失効に設定する。ステップ53603で、参照権管理テーブルをコミットする。
次に、動作ステップ3の概要について説明する。
図11において、業務プログラム600は、図2の業務プログラム200で確保した参照権確保済のデータに対して、参照権確保を前提とする更新トランザクション(継承型更新トランザクション)を実施する業務プログラムである。業務プログラム600は、参照型更新権を確保した後、更新権を確保した伝票データを更新する。データ更新を完了したら、続いて、図15の更新権開放を行う。図15の業務プログラム800は、業務プログラム600と同じプログラムであり、図11の処理に引き続き、図15の処理を実施する。
伝票制御部10による参照型更新権の確保は、図11において、参照権管理部12を通し、参照権の現在の状態の取得602を実施する。続いて、参照権を確保できているデータについて参照権の更新権への移行605を実施し、伝票IDの各々について、更新権への移行結果を状態として保持する。続いて、参照権を再度取得611し、処理602〜処理605の間で他の業務プログラムが実施した更新権確保により、更新権確保以降で失効した参照権がないかどうかをチェックする。
参照権を失効している更新権については、不整合更新権の開放612で、更新権を開放する。続いて、参照権管理部12を使用して、参照トランザクションNoで確保中の参照権の開放611を実施する。続いて、更新権取得結果応答608として、業務プログラムに対して、伝票ID毎の移行結果としての状態を戻り値609として応答する。
続いて、業務プログラムにて、更新権を確保した伝票に対してデータ更新を行った後、更新の開放を行う。図15において、業務プログラム800より、入力値801として、確保トランザクションNoと伝票IDを受け渡されたら、伝票制御部10は、更新権管理部11を通じて、当該確保トランザクションNoと伝票IDに相当する更新権管理テーブル21上の更新権を開放802し、業務プログラムに対して、戻り値806に更新権開放結果が設定された更新権開放応答805を行う。
次に、動作ステップ3の各部の制御動作に関して説明する。
図12は、図11における伝票制御部10の詳細を示すフローチャートである。ステップ7101にて参照トランザクションNo601を受け取り、参照権管理部12にて、図13のステップ7201〜ステップ7203の処理で、参照権管理テーブル22を検索し、検索結果を伝票管理部10に対して戻す。戻り値は、複数の伝票ID、参照権状態を持つリストの形式となる。
図13のステップ7201では、参照トランザクションNoと一致する参照権管理テーブルを検索する。ステップ7202で、検索結果をメモリ上のテーブルに設定する。次いで、ステップ7203で、参照権管理テーブルの検索結果を戻り値に設定する。
図12に戻り、伝票管理部10において、ステップ7103〜ステップ7112の処理で、取得した伝票IDについて1件ずつ、参照権状態を評価し、ステップ7108にて参照権確保状態である伝票IDについて、更新権の確保を試みる。更新権が確保できた場合は、ステップ7110にて、当該伝票の更新権を確保済に設定する。参照権確保状態でない場合(ステップ7106)や、更新権が確保できなかった場合(ステップ7109)は、ステップ7111にて更新権を未確保に設定する。更新権の確保については、更新権管理部11により、図14のステップ7301で行うが、これは図9とまったく同じ処理である。
続いて、参照権を前提とする更新権確保の過程で参照権の失効が発生していないかどうかをチェックする。ステップ7113にて再度参照権の状態を取得し、ステップ7114〜ステップ7121の制御処理により、全ての参照権について、ステップ7117で参照権が確保されていない状態(開放状態)となっているかどうかをチェックし、ステップ7118で参照権が開放状態の伝票について、更新権を確保していないかどうかをチェックする。双方のチェックを満足した伝票は、参照権開放状態で更新権を確保しているため、ステップ7119で更新権を開放し、ステップ7120で戻り値を更新権未確保に設定し直す。
以上の処理により、参照権の更新権への移行を完了するので、続いて業務プログラムにて伝票データの更新処理を行い、更新を完了後に、更新権の開放を行う。
更新権の開放は図16のように行われる。
伝票制御部10は、図16のステップ9101で、対象となる確保トランザクションNoと伝票IDを業務プログラムより受領する。ステップ9102で、更新権管理部11を呼び出す。ステップ9103で、更新権管理部11は、更新権確保結果を設定する。
更新権管理部の更新権の開放の制御ロジックは、図17に示すとおりである。
図17で、更新権管理部11は、ステップ9201で、確保トランザクションNoと当該伝票IDを持つ更新権管理テーブルを検索する。次いで、ステップ9202で、対象の更新権管理レコードの状態を失効に設定する。
上述のように本発明は、更新処理を排他するための更新権管理に加えて、伝票の排他制御処理に対して、データの参照からそのデータを更新するまでのデータの一貫性を管理する参照権管理を追加した。このため、伝票データの参照から排他処理を行うまでの間の他の業務プログラムによるデータ更新を検知することができ、誤ったデータ更新を避けることができ、トランザクション処理の信頼性が向上できる。
また、データの保証処理を共通プログラムで実現するため、個別の業務プログラムの生産量を減らすことができる。
実施の形態1によれば、大量データの参照整合性保証を実現するように構成したので、大量データ更新処理を通常の編集処理と平行して実施することが可能となる。
また、更新可能性のあるデータの一覧取得である更新権取得までの間のデータ整合性保証を行うため、業務プログラムとしての実装は不要となり、開発効率が向上する。
さらに、全ての業務プログラムとして、統一した方式で実現するため、ソフトウェアの品質が向上する。
1 本業務プログラム
2 更新候補伝票参照権取得処理
3 更新対象伝票選択処理
4 参照型更新権取得処理
5 業務データ更新処理
6 他業務プログラム
7 更新権取得処理
8 業務データ更新処理
9 業務排他管理装置
10 伝票制御部
11 更新権管理部
12 参照権管理部
13 データベース
14 伝票データ
15 更新権開放処理
21 更新権管理テーブル
22 参照権管理テーブル

Claims (3)

  1. データベースに格納された伝票データを業務プログラムによって更新するときの排他制御を行う業務排他管理装置であって、
    記憶装置に形成され、上記伝票データを参照するための参照権を管理する参照権管理テーブル、
    上記記憶装置に形成され、上記伝票データを排他的に更新するための更新権を管理する更新権管理テーブル、
    上記参照権管理テーブルで管理される上記伝票データの参照権を上記業務プログラムに対して確保及び開放する参照権管理部、
    上記更新権管理テーブルで管理される上記伝票データの更新権を上記業務プログラムに対して確保及び開放する更新権管理部、
    上記業務プログラムからの要求により、他の業務プログラムによって更新権が確保されていない上記伝票データの参照権の確保を上記参照権管理部に指示するとともに、上記業務プログラムからの要求により、上記参照権が確保された上記伝票データの更新権の確保を上記更新権管理部に指示する伝票制御部を備え
    上記伝票制御部は、上記業務プログラムが参照権を得ている場合に、他の業務プログラムから上記更新権の確保を要求された場合には、上記参照権管理部を通じて上記業務プログラムの参照権を失効させ、上記更新権管理部を通じて上記他の業務プログラムに上記更新権を与えることを特徴とする業務排他管理装置。
  2. 上記業務プログラムは、第一の業務プログラム及び第二の業務プログラムを有し、
    上記伝票制御部は、上記第一の業務プログラムから、データ更新に先立って複数の伝票データの参照権の確保を一括して要求された場合に、上記第二の業務プログラムによって更新権が確保されていない伝票データについて、上記第一の業務プログラムに対する参照権を確保するように上記参照権管理部に指示することを特徴とする請求項1記載の業務排他管理装置。
  3. 第一の業務プログラムから、データ更新に先立って複数の伝票データの参照権の確保を一括して要求された場合に、第二の業務プログラムによって更新権が確保されていない伝票データについて、上記第一の業務プログラムに対する参照権を確保し、記憶装置に記憶する第一の動作ステップ、
    この第一の動作ステップにより確保された上記第一の業務プログラムに対する上記伝票データの参照権を、上記参照権確保以降に上記第二の業務プログラムによって当該伝票データの更新権確保が行われた場合に、失効させる第二の動作ステップ、
    上記記憶装置を参照し、上記第二の動作ステップにより失効されていない上記第一の業務プログラムに対する参照権を有する上記伝票データについて、上記第一の業務プログラムからの要求に基づき、上記第一の業務プログラムに対する更新権を確保する第三の動作ステップをコンピュータに実行させることを特徴とする業務排他管理プログラム。
JP2009129238A 2009-05-28 2009-05-28 業務排他管理装置及び業務排他管理プログラム Expired - Fee Related JP5230530B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 日本電気株式会社 情報処理装置

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