(57)【要約】【課題】複数のレコードに対する更新よりも個別のレコードに対する更新のサービスの向上を図る。【解決手段】データベースを構成するレコードを個別に更新する個別処理部と、前記レコードを複数纏めて更新するグループ処理部とを有するデータベース更新方法である。そのデータベース更新方法は、グループ処理部は、纏めて更新する複数レコードを対象に検索し、複数レコードを対象に個別処理部との間で排他制御して更新する。【選択図】図１
2010231519.tif 000002
【特許請求の範囲】
【請求項１】
データベースを構成するレコードを個別に更新する個別処理部と、前記レコードを複数纏めて更新するグループ処理部とを有するデータベース更新方法であって、
前記グループ処理部は、前記纏めて更新する複数レコードを対象に検索し、前記複数レコードを対象に前記個別処理部との間で排他制御して更新することを特徴とするデータベース更新方法。
【請求項２】
請求項１記載のデータベース更新方法において、前記個別処理部が個別レコードを更新する為の検索を行う際には、前記グループ処理部による前記複数レコードを更新する為の検索において、前記個別レコードを検索対象外とすることを特徴とするデータベース更新方法。
【請求項３】
請求項１記載のデータベース更新方法において、前記グループ処理部が前記複数レコード更新する為の検索を行う際には、前記個別処理部による前記個別レコード更新する為の検索において、検索対象とすることを特徴とするデータベース更新方法。
【請求項４】
請求項１記載のデータベース更新方法において、前記個別処理部による前記個別レコード更新時に、前記グループ処理部による前記複数レコード更新に対して、排他制御することを特徴とするデータベース更新方法。
【請求項５】
請求項１記載の排他方法において、前記グループ処理部による前記複数レコード更新時に、前記個別処理部による前記個別レコード更新に対して、排他制御することを特徴とする排他方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース更新方法に係り、特に、個別のレコード更新の操作性を妨げないようにする排他制御に関するものである。
【背景技術】
【０００２】
従来より、計算機システムでは、複数のタスク（プロセス）が同一レコードへアクセスすることにより生じるデータの矛盾の発生を回避するために排他制御が用いられている。特開２００６−２６８７８１号公報(特許文献１)には、複数のタスクの優先順位に応じて排他制御する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６８７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データベース（以下、DB）を構成する複数のレコードを同時に更新するタスクと個別のレコードを更新するタスクとが同時に同一レコードを更新しないように排他制御され、更新順序が保たれている。また、Microsoft Office Excelにおけるブックの共有機能では、データを取得した状態とデータを更新する状態での変化を認識して排他制御している。そこで本発明は、複数レコードに対する更新よりも個別のレコードに対する更新のサービスの向上を図るものである。また、複雑なエンティティ構成においても各レコードの状態の変化を認識することなく、性能向上を図るものである。
【課題を解決するための手段】
【０００５】
本発明は、データベースを構成するレコードを個別に更新する個別処理部と、前記レコードを複数纏めて更新するグループ処理部とを有するデータベース更新方法である。そのデータベース更新方法は、グループ処理部は、纏めて更新する複数のレコードを対象に検索し、複数のレコードを対象に個別処理部との間で排他制御して更新する。
【発明の効果】
【０００６】
本発明により、グループ更新（複数のレコード更新）による単一更新に対する単純一斉排他が回避され、個別のレコードに対するオペレーションに対して排他状態の肥大化を防ぐことが期待できる。
【０００７】
システム開発者の立場からは、複数のタスクに対して、個別更新および複数更新に対する制御方式が定まることから、アプリケーションの品質面の向上および開発量の削減が期待できる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態のシステム構成である。
【図２】単一排他確認機能２１１と単一検索機能２１２との関係、およびグループ排他確認機能２２１とグループ検索機能２２２との関係を示す図である。
【図３】単一排他確認機能２３１、グループ排他排除機能２３２及び単一更新機能２３３の関係、並びに、グループ排他確認機能２４１、単一排他排除機能２４２及びグループ更新機能２４３の関係を示す図である。
【図４】単一排他ＤＢ１２２の構成図である。
【図５】グループ排他ＤＢ１２３の構成図である。
【図６】単一更新用の検索を実行する際の処理フローチャートである。
【図７】グループ更新用の検索を実行する際の処理フローチャートである。
【図８】グループ更新用の検索を実行する際の処理フローチャートである。
【図９】単一更新を実行する際の処理フローチャートである。
【図１０】グループ更新を実行する際の処理フローチャートである。
【図１１】グループ更新を実行する際の処理フローチャートである。
【発明を実施するための形態】
【０００９】
本発明は、個別情報更新の際に他のユーザが情報を更新させない為に、個別情報取得の際に排他を行うシステムに対して、複数情報更新を行う際に、個別の情報更新に対して排他を行わずに、更新のタイミングで優先順位を定め、排他更新を行う排他方式であり、図２に示す形態で実施される。
【００１０】
より具体的には、データベースを構成するレコードを個別に更新する個別処理部と、前記レコードを複数纏めて更新するグループ処理部とを有するデータベース更新方法である。そのデータベース更新方法は、グループ処理部は、纏めて更新する複数のレコードを対象に検索し、複数のレコードを対象に個別処理部との間で排他制御して更新する。
【００１１】
図１は、本実施形態のシステム構成図である。本システムは、クライアント端末１１１を使用するユーザ１１０と、単一排他ＤＢ１２２、グループ排他ＤＢ１２３及び業務ＤＢ１２４−ｎを有するＷｅｂサーバ１２１による業務システム１２０とを接続している。
【００１２】
図２は、単一排他確認機能２１１と単一検索機能２１２との関係、およびグループ排他確認機能２２１とグループ検索機能２２２との関係を示す図である。単一排他確認機能２１１及び単一検索機能２１２は、Ｗｅｂサーバ１２１に保持され、クライアント端末１１１から業務ＤＢ１２４−ｎを個別更新するとき、個別更新に伴う検索の際に動作する。グループ排他確認機能２２１及びグループ検索機能２２２も、Ｗｅｂサーバ１２１に保持され、クライアント端末１１１から業務ＤＢ１２４−ｎを複数更新する為の検索の際に動作する。
【００１３】
図３は、単一排他確認機能２３１、グループ排他排除機能２３２及び単一更新機能２３３の関係、並びに、グループ排他確認機能２４１、単一排他排除機能２４２及びグループ更新機能２４３の関係を示す図である。単一排他確認機能２３１、グループ排他排除機能２３２及び単一更新機能２３３は、Ｗｅｂサーバ１２１に保持され、業務ＤＢ１２４−ｎを個別更新する際に動作する。グループ排他確認機能２４１、単一排他排除機能２４２、グループ更新機能２４３は、Ｗｅｂサーバ１２１に保持され、業務ＤＢ１２４−ｎを個別更新する際に動作する。
【００１４】
図４は、単一排他ＤＢ１２２の構成図である。単一排他ＤＢ１２２は、各ユーザのユーザＩＤ３１０、主キー種別３２０、対象主キー３３０、単一・グループ排他フラグ３４０を横軸にとり、各ユーザＩＤ３１０−１〜ｉ、各主キー種別３２０−１〜ｉ、各対象主キー３３０−１〜ｉ、各単一・グループ排他フラグ３４０−１〜ｉを縦軸としたＤＢである。
【００１５】
図５は、グループ排他ＤＢ１２３の構成図である。グループ排他ＤＢ１２３は、各ユーザのユーザＩＤ４１０、主キー種別４２０、対象主キー４３０、単一・グループ排他フラグ４４０を横軸にとり、各ユーザＩＤ４１０−１〜ｉ、各主キー種別４２０−１〜ｉ、各対象主キー４３０−１〜ｉ、各単一・グループ排他フラグ４４０−１〜ｉを縦軸としたＤＢである。グループ排他ＤＢ１２３において、各ユーザＩＤは複数の対象キーを保持できる。
【００１６】
図６は、単一更新用の検索を実行する際の処理フローチャートである。ユーザ１１０が業務ＤＢ１２４−ｎの単一更新の為に検索を行う場合、クライアント端末１１１の単一更新用検索機能２１０は、ユーザが入力した業務ＤＢ１２４−ｎに対する主キーを単一排他確認機能２１１に送信する。単一排他確認機能２１１は単一更新用検索機能２１０から受け取った主キーを元に単一排他ＤＢの検索を行う(ステップ５０１)。対象の主キーに対して単一排他ＤＢ１２２のレコードが存在しない場合(ステップ５０２)、更新対象の情報が排他されていない為、単一検索機能２１２を動作させる（ステップ５０４）。対象の主キーに対して単一排他ＤＢ１２２のレコードが存在する場合(ステップ５０２)、更新対象の情報が排他されている為、クライアント端末１１１に排他エラーの結果を返す(ステップ５０３)。
【００１７】
次に更新対象の情報が排他されていない場合、単一検索機能２１１から送信された主キーを用いて業務ＤＢ１２４−ｎの検索を行い、結果をクライアント端末１１１に返す(ステップ５０５)。
【００１８】
図７及び図８は、グループ更新用の検索を実行する際の処理フローチャートである。ユーザ１１０が業務ＤＢのグループ更新の為に検索を行う場合、クライアント端末１１１のグループ更新用検索機能２２０は、ユーザが入力した業務ＤＢ１２４−ｎに対する検索条件をグループ検索機能２２２に送信する。グループ検索機能２２２は検索条件を元に業務ＤＢ１２４−ｎを検索し、主キーを取得する(ステップ６０１)。取得した主キーをグループ排他確認機能２２１に渡す(ステップ６０２)。グループ排他確認機能２２１は対象主キーに対して単一排他ＤＢの検索を行う。対象の主キーに対して単一排他ＤＢ１２２のレコードが存在しない場合(ステップ６０３)、更新対象の情報が排他されていない為、グループ排他ＤＢ１２３を検索する(ステップ６１２へ)。対象の主キーに対して単一排他ＤＢ１２２のレコードが存在する場合(ステップ６０３、ステップ６０４)、更新対象の情報が排他されている為（ステップ６０５）、次の要素による排他確認機能２２１に戻る（ステップ６０３へ）。対象の主キーに対して、グループ排他ＤＢ１２３のレコードが存在しない場合、更新対象の情報が排他されていない為（ステップ６０６、ステップ６０７）、対象の主キーをワーク領域に保持し（ステップ６０８）、次の要素による（ステップ６０９〜ステップ６１１）グループ排他確認機能２２１に戻る（ステップ６０３へ）。対象の主キーに対して、グループ排他ＤＢ１２３のレコードが存在する場合、更新対象の情報が排他されている為（ステップ６０７）、次の要素による（ステップ６１１）グループ排他確認機能２２１に戻る（ステップ６０３へ）。全ての要素に対してグループ排他確認機能２２１が完了した場合（ステップ６０３）、ワーク領域の対象主キーの件数を確認する（ステップ６１２）。ワーク領域の対象主キーの件数が０の場合、排他エラーとしてクライアント１１１に戻す（ステップ６１４）。ワーク領域の対象主キーの件数が０でない場合、対象主キーを元に、業務ＤＢ１２４−ｎから情報を取得し、クライアント１１１に戻す（ステップ６１３）。
【００１９】
図９は、単一更新を実行する際の処理フローチャートである。ユーザ１１０が業務ＤＢ１２４−ｎを更新する場合、クライアント端末１１１の単一更新用更新機能２３０は、ユーザが更新する対象の主キーを単一排他確認機能２３１に送信する。単一排他確認機能２３１は単一更新用更新機能２３０から受け取った対象主キーを元に、単一排他ＤＢ１２２を検索する（ステップ７０１）。単一・グループ排他フラグ４４０−ｉが１（Ｇ排他有）の場合（ステップ７０２）、グループ更新によって情報更新されている為、排他エラーとしてクライアント１１１に戻す（ステップ７０７）。単一・グループ排他フラグ４４０−ｉが０（Ｇ排他無）の場合（ステップ７０２）、グループ排他排除機能２３２を起動する。グループ排他排除機能２３２は、単一更新用更新機能２３０から受け取った対象主キーを元にグループ排他ＤＢ１２３を検索する（ステップ７０３）。対象の主キーに対して、グループ排他ＤＢ１２３のレコードが存在しない場合（ステップ７０４）、グループ排他対象ではない為、単一更新機能２３３によって業務ＤＢ１２４−ｎを更新し（ステップ７０６）、クライアント１１１に戻す。対象の主キーに対して、グループ排他ＤＢ１２３のレコードが存在する場合（ステップ７０4）、グループ排他対象の為、グループ排他ＤＢ１２３の対象レコードの単一・グループ排他フラグを１（単一排他有）に更新（ステップ７０５）した後、単一更新機能２３３によって業務ＤＢ１２４−ｎを更新し（ステップ７０６）、クライアント１１１に戻す。
図１０及び図１１は、ユーザ１１０が業務ＤＢ１２４−ｎを更新する場合、クライアント端末１１１のグループ更新用更新機能２４０は、ユーザが更新する対象の主キーを要素数分、グループ排他確認機能２４１に送信する。グループ排他確認機能２４１はグループ更新用更新機能２４０から受け取った対象主キーを元に（ステップ８０１）、グループ排他ＤＢ１２３を検索する（ステップ８０３）。単一・グループ排他フラグ５４０−ｉが１（単一排他有）の場合、単一更新によって情報更新されている為、次の要素によるグループ排他確認機能２４１に戻る。単一・グループ排他フラグ５４０−ｉが０（単一排他無）の場合（ステップ８０４）、単一排他排除機能２４２を起動する。グループ排他排除機能２４２は、対象主キーを元に単一排他ＤＢ１２２を検索する（ステップ８０５）。対象の主キーに対して、単一排他ＤＢ１２２のレコードが存在しない場合（ステップ８０６）、単一排他対象ではない為、グループ更新機能２４３を用いて業務ＤＢ１２４−ｎを更新し（ステップ８０８）、次の要素による（ステップ８０９、ステップ８１０）グループ排他確認機能２４１に戻る（ステップ８０２へ）。対象の主キーに対して、単一排他ＤＢ１２２のレコードが存在する場合（ステップ８０６）、単一排他対象の為、グループ排他ＤＢ１２２の対象レコードの単一・グループ排他フラグを１（Ｇ排他有）に更新（ステップ８０７）した後、グループ更新機能２４３を用いて業務ＤＢ１２４−ｎを更新し（ステップ８０８）、次の要素による（ステップ８０９、ステップ８１０）グループ排他確認機能２４１に戻る（ステップ８０２へ）。
【００２０】
対象主キーの要素がなくなった場合（ステップ８０２）、更新件数を確認する（ステップ８１１）。更新件数が０件の場合、排他エラーとしてクライアント１１１に戻す（ステップ８１３）。更新件数が０件でない場合、更新結果をクライアント１１１に戻す（ステップ８１２）。
【産業上の利用可能性】
【００２１】
本発明の排他方式は、情報更新の為の排他に対して、検索時に排他を行うシステムであれば、様々なシステムでの利用が可能となる。
【符号の説明】
【００２２】
１１０：ユーザ、１１１：クライアント端末、１２０：システム、１２１：Ｗｅｂサーバ、１２２：単一排他ＤＢ、１２３：グループ排他ＤＢ、１２４−１、１２４−２、…：業務ＤＢ。
【図１】
2010231519.tif 000003
【図２】
2010231519.tif 000004
【図３】
2010231519.tif 000005
【図４】
2010231519.tif 000006
【図５】
2010231519.tif 000007
【図６】
2010231519.tif 000008
【図７】
2010231519.tif 000009
【図８】
2010231519.tif 000010
【図９】
2010231519.tif 000011
【図１０】
2010231519.tif 000012
【図１１】
2010231519.tif 000013