JP2001134476A - データベース一括更新方法 - Google Patents

データベース一括更新方法

Info

Publication number
JP2001134476A
JP2001134476A JP31634899A JP31634899A JP2001134476A JP 2001134476 A JP2001134476 A JP 2001134476A JP 31634899 A JP31634899 A JP 31634899A JP 31634899 A JP31634899 A JP 31634899A JP 2001134476 A JP2001134476 A JP 2001134476A
Authority
JP
Japan
Prior art keywords
batch
database
update
updated
online
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.)
Pending
Application number
JP31634899A
Other languages
English (en)
Inventor
Sumiaki Soga
純映 曽我
Koichiro Tani
恒一郎 谷
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi 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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP31634899A priority Critical patent/JP2001134476A/ja
Publication of JP2001134476A publication Critical patent/JP2001134476A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】オンライン処理が参照更新しているデータベー
スをオンライン処理と並行しながら一括更新する処理に
おいて、オンライン処理の負荷状態を考慮しながらも一
括更新処理を優先的に実行できるデータベース一括更新
方法の提供。 【解決手段】一括更新するレコード群をユーザが指定し
た方法により分割し、前記分割された分割レコード群の
各々を更新する際、オンライン処理に対するデータベー
スの排他範囲をユーザが指定した範囲により設定してか
らデータベース管理システム経由で該分割レコード群を
更新し、オンライン処理は、アクセスすべきレコードが
前記排他範囲に設定されていないときに、データベース
管理システム経由で該アクセスすべきレコードをアクセ
スする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オンライン処理に
おいてデータベースを一括して更新するデータベース一
括更新方法に関する。
【0002】
【従来の技術】従来のデータベース一括更新処理では、
データをオフライン処理で一括更新する方法と、オンラ
イン処理で一括更新する方法がある。
【0003】オフライン処理で一括更新する方法は、一
定の一括更新期間を設け、この期間中は通常のオンライ
ン処理(以降、単にオンライン処理という)に対して一
括更新するデータベースへのアクセスを禁止する運用形
態をとっていた。なお、オフライン処理での一括更新の
方法は、オリジナルデータベースを磁気ディスク等へコ
ピーし、コピーしたデータベースに対して一括更新した
後に、更新されたコピーデータベースをオリジナルデー
タベースへコピーしていた。
【0004】オンライン処理で一括更新する方法は、オ
ンライン処理の運用中に当該オンライン処理の一環とし
てデータベースを一括更新するオンラインリモートバッ
チ処理(以降、単にオンラインリモートバッチ処理とい
う)により一括更新していた。
【0005】
【発明が解決しようとする課題】しかしながら、オフラ
イン処理で一括して更新する場合、一括更新するレコー
ドに対してオンライン処理でアクセスしないように規制
したとき、更新件数や更新対象のデータベース数が多く
なると規制期間が長くなる。このため、規制解除後に、
規制期間中にオンライン処理ができなかった分の作業を
行わなければならない問題がある。
【0006】また、オンラインリモートバッチ処理で一
括して更新する場合、オンライン処理とオンラインリモ
ートバッチ処理とでは、データベースにアクセスするレ
ベルや優先順位が同一である。このため、データベース
に先行してアクセスした方がデータベースの物理資源を
占有してしまい、後行した方は当該データベースの排他
解除待ちとなる。また、データベースへのアクセスにお
いては、双方がデータベース管理システムを経由してデ
ータベースを排他することにより、デッドロックが多発
することが問題となる。
【0007】本発明の目的は、オンライン処理が参照更
新しているデータベースをオンライン処理と並行しなが
ら一括更新する処理において、オンライン処理の負荷状
態を考慮しながらも一括更新処理を優先的に実行できる
データベース一括更新方法を提供することにある。
【0008】
【課題を解決するための手段】データベース管理システ
ム経由によりオンライン処理で参照更新しているデータ
ベースを一括して更新するデータベース一括更新方法に
おいて、一括更新するレコード群をユーザが指定した方
法により分割し、前記分割された分割レコード群の各々
を更新する際、前記オンライン処理に対するデータベー
スの排他範囲をユーザが指定した範囲により設定してか
らデータベース管理システム経由で該分割レコード群を
更新し、オンライン処理は、アクセスすべきレコードが
前記排他範囲に設定されていないときに、データベース
管理システム経由で該アクセスすべきレコードをアクセ
スすることを特徴とする。
【0009】また、前記排他範囲は、前記更新すべき分
割レコード群または該更新すべき分割レコード群を含む
一括更新対象レコード群の一部未更新レコード群である
ことを特徴とする。
【0010】さらに、前記一括更新するレコード群の分
割に係わるユーザ指定値または前記データベースのオン
ライン処理に対する排他範囲に係わるユーザ指定値を一
括更新中にユーザが変更できることを特徴とする。
【0011】
【発明の実施の形態】以下、本発明の実施の一形態を図
面を参照して説明する。
【0012】図1は、本発明の実施の一形態のシステム
構成を示すブロック図である。
【0013】オンライン端末1は、ユーザがデータベー
ス群10の更新や参照をオンライン処理で行う端末であ
る。オンラインリモートバッチ端末2はデータベース群
10の一括更新をオンラインリモートバッチ処理で行う
端末である。なお、オンライン端末1とオンラインリモ
ートバッチ端末2が同一の端末で実現されてもよい。ホ
ストシステム3はオンライン処理とオンラインリモート
バッチ処理とを平行して実行する。
【0014】オンライン処理部4は、データベース群1
0を参照または更新するオンライン業務プログラム41を
含み、オンライン端末1とオンライン業務プログラム4
1とを仲介する。
【0015】オンラインリモートバッチ処理部5は、デ
ータベース群10を一括して更新する一括更新プログラ
ム51の他にパラメタテーブル52、管理テーブル53
を含み、オンラインリモートバッチ端末2と一括更新プ
ログラム51とを仲介する。なお、一括して更新すると
いっても、実際には一括更新の対象になるレコード群を
幾つかに分けて更新し、この分けられたレコード群が全
て更新されたときに一括更新は終了する。本実施形態で
は、この分けられたレコード群各々を更新する処理をバ
ッチトランザクションという。
【0016】パラメタテーブル52は、一括更新の対象
になるレコード群をどのように分けて更新するかを示す
テーブルであり、一括更新プログラム51によって参照
または更新される。
【0017】管理テーブル53は、各バッチトランザク
ションが更新するレコードの範囲およびオンライン業務
プログラム41に対するデータベース群10の排他範囲を
示すテーブルであり、一括更新プログラム51によって
参照または更新される。オンライン業務プログラム41
は、管理テーブル53の排他範囲を示す部分を参照す
る。
【0018】データベース管理システム6は、オンライ
ン処理部4およびオンラインリモートバッチ処理部5か
らのデータ検索や更新の依頼により、データベース群1
0を実際に検索したり更新するものである。以降の説明
では、データベース群10の検索や更新にあたり、デー
タベース管理システム6を経由して検索や更新を行うと
は明記しないが、実際にはデータベース管理システム6
を経由して検索や更新を行う。
【0019】データベース群10は、マスタデータベー
ス11、サブデータベース12からなる。
【0020】図2は、マスタデータベース11のレコー
ド例である。
【0021】マスタデータベース11は、電話番号11
1、その他の項目112からなる。図3は、サブデータ
ベース12のレコード例である。
【0022】サブデータベース12は、電話番号12
1、その他の項目122からなる。
【0023】電話番号は、局番と市内番号からなる。局
番は、市外局番と市内局番からなる。
【0024】本実施形態では、オンラインリモートバッ
チ処理でマスタデータベース11の電話番号111の市
内局番とサブデータベース12の電話番号121の市内
局番を一括して更新するものとする。
【0025】また本実施形態のデータベース群10で
は、「06」の市外局番をもつ電話番号の最小は「06
−366−0542」、最大は「06−978−581
6」とする。
【0026】なお、レコード数ゼロの局番は、データベ
ース群10に存在しない。
【0027】図4は、パラメタテーブル52である。
【0028】前述したように、パラメタテーブル52
は、一括更新の対象になるレコード群をどのように分け
て更新するかを示すテーブルであり、一括更新プログラ
ム51によって参照または更新される。
【0029】なお、パラメタテーブル52は、予め設定
された既定値を格納するエントリと実行時のパラメタと
して決定された実行値を格納するエントリの2ケのエン
トリからなる。
【0030】更新単位ID521は、バッチトランザク
ションの更新単位を示すものであり、内容がステップま
たはVなら市内局番単位での更新を示し、内容がDなら
市内番号単位の更新を示す。
【0031】更新単位数522は、更新単位ID521
で示される単位を1バッチトランザクションで幾つ更新
するかを示す。
【0032】排他範囲523は、オンライン業務プログ
ラム41に対するデータベース群10の排他範囲を示す。
【0033】排他範囲523の意味は、更新単位ID5
21によって異なる。
【0034】更新単位ID521がSの場合、「更新単
位数522×排他範囲523=N×R」件先までの市内
局番が排他される。
【0035】更新単位ID521がVの場合、「各バッ
チトランザクションが更新する最初の市内局番に含まれ
る市内番号件数×排他範囲523=v×R」件先までの
市内番号が排他される。
【0036】更新単位ID521がDの場合、「更新単
位数522×排他範囲523=N×R」件先までの市内
番号が排他される。
【0037】高負荷524および高負荷回数525は、
バッチトランザクションでのデータベース更新時のCP
U使用率が高負荷回数525だけ連続して高負荷524
の範囲内であった場合、ユーザにその旨連絡し、ユーザ
が必要に応じてパラメタテーブル52の実行値エントリ
の各内容を変更するためのものである。
【0038】低負荷526および低負荷回数527は、
バッチトランザクションでのデータベース更新時のCP
U使用率が低負荷回数527だけ連続して低負荷526
の範囲内であった場合、ユーザにその旨連絡し、ユーザ
が必要に応じてパラメタテーブル52の実行値エントリ
の各内容を変更するためのものである。
【0039】中断時間528は、バッチトランザクショ
ンでのデータベース更新時のCPU使用率が高負荷52
4の範囲内であった場合、中断時間528秒間更新開始
を中断するためのものである。
【0040】図5に、ユーザが入力した3例のパラメタ
を示す。
【0041】図6は、管理テーブル53である。
【0042】前述したように、管理テーブル53は、各
バッチトランザクションが更新するレコードの範囲およ
びオンライン業務プログラム41に対するデータベース
群10の排他範囲を示すテーブルであり、一括更新プロ
グラム51によって参照または更新される。オンライン
業務プログラム41は、管理テーブル53の排他範囲を
示す部分を参照する。
【0043】管理テーブル53は、バッチトランザクシ
ョンの開始ごとに更新される。
【0044】局番531は、各バッチトランザクション
が更新または参照する電話番号の局番を示す。
【0045】件数534は、当該エントリに含まれる電
話番号の件数を示す。
【0046】市内番号最小532は、件数534中の最
小の市内番号を示す。
【0047】市内番号最大533は、件数534中の最
大の市内番号を示す。
【0048】累計535は、当該エントリまでの件数5
34の累計を示す。
【0049】排他範囲開始536は、オンライン業務プ
ログラム41に対するデータベース群10の排他範囲の開
始を示す。
【0050】排他範囲終了537は、オンライン業務プ
ログラム41に対するデータベース群10の排他範囲の終
了を示す。
【0051】図9〜図12は、本発明の一括更新プログ
ラム51の処理を示すフローチャートである。
【0052】図面を参照しながら、データベース群10
の市外局番「06」をもつ電話番号の市内局番を一括更
新する例にもとづいて説明する。
【0053】まず、図9のメインルーチンについて説明
する。
【0054】一括更新するレコードを特定できる情報、
例えば「更新データベース/更新項目名/更新キーワー
ド」の形式で入力された情報、を伴ってオンラインリモ
ートバッチ端末2から起動されたオンラインリモートバ
ッチ処理部5は、一括更新プログラム51を起動する。
【0055】起動された一括更新プログラム51は、当
該特定できる情報に基づいて、例えば図7に示す管理テ
ーブル53の初期化例のように、管理テーブル53を初
期化する(ステップ10、12)。
【0056】次に、パラメタ既定値の変更を可能とする
ためパラメタテーブル12のパラメタ既定値をオンライ
ンリモートバッチ端末2に出力する(ステップ14)。
【0057】ユーザが必要に応じて変更したパラメタ値
をオンラインリモートバッチ端末2から入力し、それを
パラメタテーブル12の実行値エントリに設定する(ス
テップ16〜20)。
【0058】次に、図示しない高負荷累計値および低負
荷累計値を初期化する(ステップ22)。
【0059】続いて、当該バッチトランザクションのレ
コード更新範囲および当該バッチトランザクションがオ
ンライン業務プログラム41に対して排他するデータベ
ース群10の排他範囲を決定するため、後述の図10に
示す排他更新範囲決定ルーチンを起動する(ステップ2
4)。
【0060】上記決定ルーチンからの復帰では、一括更
新対象となる全レコードを更新したかを確認し、一括更
新の対象となるレコードが存在する場合は、データベー
ス群10を更新する前にCPUの現使用率をチェックす
るため、後述の図12に示すCPU使用率チェックルー
チンを起動する(ステップ26、28)。
【0061】上記チェックルーチンからの復帰では、パ
ラメタテーブル52の実行値エントリで定められている
高負荷状態または低負荷状態発生によるユーザ連絡要か
を確認し(ステップ30)、否である場合はデータベー
ス11、12を更新するため、後述の図11に示すデー
タベース更新ルーチンを起動する(ステップ32)。上
記更新ルーチンからの復帰では、次のバッチトランザク
ションでの更新を行うため、ステップ24に分岐する
(ステップ32)。
【0062】ステップ30での高負荷状態または低負荷
状態発生によるユーザ連絡要かの確認で、要である場合
はパラメタ実行値を変更するため、ステップ14に分岐
する(ステップ30)。
【0063】また、ステップ26での一括更新対象とな
る全レコード更新済みの確認の結果、更新済みの場合は
一括更新プログラム51を終了する(ステップ26、3
4)。
【0064】次に、図10に示す排他更新範囲決定ルー
チンの処理について、更新単位ID別に説明する。
【0065】メインルーチンステップ24から起動され
た決定ルーチンは、パラメタテーブル52の更新単位I
D521の値S、VおよびDにしたがって、異なる処理
を実行する。以下、更新単位ID521の値ごとに説明
する。
【0066】なお、決定ルーチンのステップ402、ス
テップ412、ステップ422において管理テーブル5
3における排他終了エントリEeおよび更新終了エント
リKeを求めているが、一括更新の終了が近づくとマス
タデータベース11を検索して入力できた局番数または
電話番号数がパラメタで指定された排他範囲または更新
範囲に満たない場合もありうる。図8は、マスタデータ
ベース11を検索して入力できた局番数または電話番号
数とパラメタで指定された排他範囲または更新範囲との
関係において、管理テーブル53における排他範囲また
は更新範囲の終了エントリのエントリ位置を示したもの
である。
【0067】ステップ402、ステップ412、ステッ
プ422においては、図8に示すエントリを各終了エン
トリとして求める。
【0068】なお、マスタデータベース11からの検索
および入力は、一括更新するレコードを特定できる入力
情報である「電話番号(更新項目名)/06−???−
????(更新キーワードであり、?一字は任意の数値
一字を示す)」の範囲内で行われる。
【0069】更新単位ID:Sの場合(「図5 ユーザ
入力パラメタ例」のユーザ入力例1) 管理テーブル
53第1エントリ局番531の次局番からの電話番号を
マスタデータベース11から昇順で検索して入力する。
【0070】一括更新プログラム51の起動直後の最初
のバッチトランザクションの場合、管理テーブル53第
1エントリ局番531は、図7管理テーブル設定例の初
期化例に示す「06−000」であるため、データベー
ス管理システム6は、「06−000」の次の局番「0
6−001」からマスタデータベース11を検索するこ
とになる。
【0071】そして、マスタデータベース11から最
初に入力した電話番号の局番を第1エントリの局番53
1に設定し、当該電話番号の市内番号を第1エントリの
市内番号最小532に設定する。
【0072】以降、入力した同一局番の件数および累
計件数を加算しながらマスタデータベース11を検索
し、別局番の電話番号を入力した場合は、下記処理を行
う。
【0073】・直前に入力した電話番号の市内番号を現
エントリの市内番号最大533に設定する。
【0074】・件数および累計件数を件数534および
累計535に設定し、件数534を初期化する。
【0075】・エントリを次のエントリに進め、進めた
エントリを現エントリとする。
【0076】・現エントリの局番531に、今入力した
電話番号の局番を設定する。
【0077】・現エントリの市内番号最小532に、今
入力した電話番号の市内番号を設定する。
【0078】指定された局番数である「更新単位数5
22×排他範囲523=N×R」だけ上記の処理を繰
り返す。
【0079】上記〜の処理をステップ400で行う
が、入力できた局番数がゼロであるときはメインルーチ
ンへ一括更新終了の復帰をする。
【0080】次に、当該バッチトランザクションで排他
および更新を行う範囲を決定するため、管理テーブル5
3を検索して排他終了エントリEeおよび更新終了エン
トリKeを設定する。具体的には、下記のとおりであ
る。
【0081】管理テーブル53を検索し、パラメタテー
ブル52の「更新単位数522×排他範囲523=N×
R」番目のエントリを排他終了エントリEeとし、パラ
メタテーブル52の「更新単位数522=N」番目のエ
ントリを更新終了エントリKeとする(ステップ40
2)。
【0082】そして、管理テーブル53第1エントリの
最小電話番号を排他範囲開始536に、第Eeエントリ
の最大電話番号を排他範囲終了537に設定する(ステ
ップ430)。
【0083】なお、入力できた局番数がゼロであるとき
はメインルーチンへ一括更新終了の復帰、入力できた局
番数がゼロでないときはメインルーチンへ一括更新未終
了の復帰をする(ステップ432)。
【0084】更新単位ID:Vの場合(「図5 ユーザ
入力パラメタ例」のユーザ入力例2) 管理テーブル53第1エントリ局番531の次局番の
電話番号をマスタデータベース11から昇順で検索して
入力する(vが入力された件数)。
【0085】一括更新プログラム51の起動直後の最初
のバッチトランザクションの場合、管理テーブル53第
1エントリ局番531は、図7管理テーブル設定例の初
期化例に示す「06−000」であるため、データベー
ス管理システム6は、「06−000」の次の局番「0
6−001」からマスタデータベース11を検索するこ
とになる。
【0086】そして、マスタデータベース11から最
初に入力した電話番号の局番を第1エントリの局番53
1に設定し、当該電話番号の市内番号を第1エントリの
市内番号最小532に設定する。
【0087】以降、入力した同一局番の件数および累
計件数を加算しながらマスタデータベース11を検索
し、別局番の電話番号を入力した場合は、下記処理を行
う。
【0088】・直前に入力した電話番号の市内番号を現
エントリの市内番号最大533に設定する。
【0089】・件数および累計件数を件数534および
累計535に設定し、件数534を初期化する。
【0090】・エントリを次のエントリに進め、進めた
エントリを現エントリとする。
【0091】・現エントリの局番531に、今入力した
電話番号の局番を設定する。
【0092】・現エントリの市内番号最小532に、今
入力した電話番号の市内番号を設定する。
【0093】指定された電話番号数である「上記で
入力した件数×排他範囲523=v×R」だけ上記の
処理を繰り返す。
【0094】上記〜の処理をステップ410で行う
が、入力できた局番数がゼロであるときはメインルーチ
ンへ一括更新終了の復帰をする。
【0095】次に、当該バッチトランザクションで排他
および更新を行う範囲を決定するため、管理テーブル5
3を検索して排他終了エントリEeおよび更新終了エン
トリKeを設定する。具体的には、下記のとおりであ
る。
【0096】管理テーブル53を検索し、累計535の
値が「第1エントリ件数534×排他範囲523=v×
R」であるエントリを排他終了エントリEeとし、パラ
メタテーブル52の「更新単位数522=N」番目のエ
ントリを更新終了エントリKeとする(ステップ41
2)。
【0097】以降は、ステップ430以降を実行する。
【0098】更新単位ID:Dの場合(「図5 ユーザ
入力パラメタ例」のユーザ入力例3) 管理テーブル53第1エントリ最大電話番号(局番5
31+市内番号最大533の組合わせ)の次電話番号か
らマスタデータベース11を昇順で検索して入力する。
【0099】一括更新プログラム51の起動直後の最初
のバッチトランザクションの場合、管理テーブル53第
1エントリ最大電話番号は、図7管理テーブル設定例の
初期化例に示す「06−000−0000」であるた
め、データベース管理システム6は、「06−000−
0000」の次の電話番号「06−000−0001」
からマスタデータベース11を検索することになる。
【0100】そして、マスタデータベース11から最
初に入力した電話番号の局番を第1エントリの局番53
1に設定し、当該電話番号の市内番号を第1エントリの
市内番号最小532に設定する。
【0101】以降、入力した同一局番の件数および累
計件数を加算しながらマスタデータベース11を検索
し、累計件数がN+1または別局番の電話番号を入力し
た場合は、下記処理を行う。
【0102】・直前に入力した電話番号の市内番号を現
エントリの市内番号最大533に設定する。
【0103】・件数および累計件数を件数534および
累計535に設定し、件数534を初期化する。
【0104】・エントリを次のエントリに進め、進めた
エントリを現エントリとする。
【0105】・現エントリの局番531に、今入力した
電話番号の局番を設定する。
【0106】・現エントリの市内番号最小532に、今
入力した電話番号の市内番号を設定する。
【0107】指定された電話番号数である「更新単位
件数522×排他範囲523=N×R」だけ上記の処
理を繰り返す。
【0108】上記〜の処理をステップ420で行う
が、入力できた局番数がゼロであるときはメインルーチ
ンへ一括更新終了の復帰をする。
【0109】次に、当該バッチトランザクションで排他
および更新を行う範囲を決定するため、管理テーブル5
3を検索して排他終了エントリEeおよび更新終了エン
トリKeを設定する。具体的には、下記のとおりであ
る。
【0110】管理テーブル53を検索し、累計534の
値が「更新単位数522×排他範囲523=N×R」で
あるエントリを排他終了エントリEeとし、累計534
の値が「更新単位数522=N」であるエントリを更新
終了エントリKeとする(ステップ422)。
【0111】以降は、ステップ430以降を実行する。
【0112】図11は、データベース更新ルーチンの処
理を示すフローチャートである。
【0113】メインルーチンステップ32から起動され
た更新ルーチンは、管理テーブル53第1エントリの最
小電話番号532から第Keエントリの最大電話番号5
33までを更新範囲として、マスタデータベース11お
よびサブデータベース12を更新する(ステップ50
0)。
【0114】次に第Keエントリの内容を第1エントリ
に設定した後に第2エントリ以降の内容を無効化し(ス
テップ510)、メインルーチンへ復帰する。
【0115】図12は、CPU使用率チェックルーチン
の処理を示すフローチャートである。
【0116】メインルーチンステップ28から起動され
たチェックルーチンは、CPUの現使用率がパラメタテ
ーブル52の高負荷524で指定されている値の範囲内
であるかを確認する(ステップ600)。
【0117】確認の結果、範囲内でないときは図示しな
い高負荷累計値を初期化し(ステップ602)、続いて
CPUの現使用率がパラメタテーブル52の低負荷52
6で指定されている値の範囲内であるかを確認する(ス
テップ604)。
【0118】確認の結果、範囲内でないときは図示しな
い低負荷累計値を初期化し、メインルーチンへ復帰す
る。
【0119】ステップ600での確認の結果、高負荷5
24で指定されている値の範囲内であるときはパラメタ
テーブル52の中断時間528で指定されている時間T
だけウェイトすることによって処理を中断する(ステッ
プ610)。
【0120】時間Tのウェイトが終了した後、図示しな
い高負荷累計値に1を加算し、加算値がパラメタテーブ
ル52の高負荷回数525で指定されている値以上であ
るかを確認する(ステップ612)。
【0121】確認の結果、高負荷回数525で指定され
ている値以上であるときは、ユーザへ連絡すべくその旨
をオンラインリモートバッチ端末2へ出力し(ステップ
614)、メインルーチンで実行値パラメタの変更を可
能とすべく、高負荷状態発生によるユーザ連絡要の復帰
情報を設定して(ステップ624)、メインルーチンへ
復帰する。
【0122】また、ステップ612での確認の結果、高
負荷回数525で指定されている値以上でないときは、
その後のCPU現使用率が高負荷524で指定されてい
る値の範囲内であるかを確認するため、ステップ600
へ分岐する。
【0123】なお、ステップ604での確認の結果、C
PUの現使用率が低負荷526で指定されている値の範
囲内であるときは、図示しない低負荷累計値に1を加算
し、加算値がパラメタテーブル52の低負荷回数527
で指定されている値以上であるかを確認する(ステップ
620)。
【0124】確認の結果、低負荷回数527で指定され
ている値以上であるときは、ユーザへ連絡すべくその旨
をオンラインリモートバッチ端末2へ出力し(ステップ
622)、メインルーチンで実行値パラメタの変更を可
能とすべく、低負荷状態発生によるユーザ連絡要の復帰
情報を設定して(ステップ624)、復帰する。
【0125】確認の結果、加算値が低負荷回数527で
指定されている値以上でないときは、メインルーチンへ
復帰する。
【0126】図13は、オンライン業務処理での排他範
囲参照ルーチンの処理を示すフローチャートである。
【0127】オンライン端末1から起動されたオンライ
ン処理部4は、オンライン業務プログラム41に制御を
移行し、制御を移行されたオンライン業務プログラム4
1は、オンライントランザクションを生成する。生成さ
れたオンライントランザクションは、まず管理テーブル
53の存在を確認し(ステップ130)、存在すれば当
該オンライントランザクションで参照または更新しよう
としているレコードがバッチトランザクションの排他範
囲かを確認する(ステップ132)。
【0128】確認の結果、排他範囲に入っているとき
は、参照または更新しようとしているレコードがバッチ
トランザクションによって排他されているため処理中止
の旨オンライン端末1に応答して(ステップ134)、
処理を終了する。
【0129】ステップ130での確認で管理テーブル5
3が存在しないとき、またはステップ132での排他確
認で排他範囲に入っていないときは、オンライン業務処
理を続行してレコードを参照または更新し(ステップ1
36)、処理を終了する。
【0130】なお、オンラインリモートバッチ処理部5
の一括更新プログラム51は、データベース群10のレ
コードを更新または排他するときに、当該レコードがオ
ンライン業務プログラム41によって参照または更新中
でないかを確認せずに更新または排他をしている。この
ため、一括更新プログラム51は、オンライン業務プロ
グラム41によって参照または更新中のレコードに対し
て更新または排他する場合がある。しかし、データベー
ス群10への実際のアクセスはデータベース管理システ
ム6を経由して行われることにより、データベース管理
システム6での排他制御が機能することでいわゆる二重
更新等の問題は発生しない。
【0131】本実施形態では、CPU使用率がパラメタ
テーブル52の高負荷524または低負荷526で指定
されている値の範囲内であるかを確認し、高負荷回数5
25または低負荷回数527以上であるとき、ユーザへ
連絡して実行値パラメタの変更を可能としている。
【0132】これを、ユーザからのオンラインリモート
バッチ端末2経由での割込みを常に許しておき、オンラ
インリモートバッチ端末2へはCPU使用率を含むその
他の資源について常時グラフィク表示する。ユーザは、
このグラフィク表示を見ながら必要に応じてオンライン
リモートバッチ端末2から割込み、実行値パラメタを変
更するようにしてもよい。
【0133】
【発明の効果】以上、説明したように、本発明によれ
ば、オンライン処理と当該オンライン処理が参照または
更新するデータベースを一括更新するオンラインリモー
トバッチ処理を並行処理させることにより、オフライ
ン処理での一括更新により発生する「一括更新件数や一
括更新対象のデータベース数が多くなるとオンライン処
理に対するアクセス規制の期間が長くなる。このため、
規制解除後に、規制期間中にオンライン処理ができなか
った分の作業を行わなければならない」問題、排他管
理をデータベース管理システムだけに依存したオンライ
ンリモートバッチ処理での一括更新により発生する「オ
ンライン処理とオンラインリモートバッチ処理では、デ
ータベースにアクセスするレベルや優先順位が同一であ
る。このため、データベースに先行してアクセスした方
がデータベースの物理資源を占有してしまい、後行した
方は当該データベースの排他解除待ちとなる。また、デ
ータベースへのアクセスにおいては、双方がデータベー
ス管理システムを経由してデータベースを排他すること
により、デッドロックが多発する」が問題がなくなる。
また、データベースの排他管理を、データベースアクセ
ス要求後のデータベース管理システムで行うと共に、オ
ンライン処理とオンラインリモートバッチ処理とで連携
してデータベースアクセス要求前にも行うことにより、
データベース資源を優先的にオンラインリモートバッチ
処理に割り当てることができる。さらに、双方での排他
解除待ち及びデッドロックを回避できる。また、オンラ
イン処理におけるCPU負荷を監視することにより、オ
ンライン処理の負荷状態に合わせてオンラインリモート
バッチ処理の各トランザクショウの実行間隔または更新
レコード数を増減できる柔軟性のある並行処理での一括
更新ができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態のシステム構成を示すブ
ロック図。
【図2】マスタデータベース11のレコード例を示す
図。
【図3】サブデータベース12のレコード例を示す図。
【図4】パラメタテーブル52を示す図。
【図5】ユーザが入力したパラメタ例を示す図。
【図6】管理テーブル53を示す図。
【図7】管理テーブル53の設定例を示す図。
【図8】入力局番数または電話番号数による排他範囲等
の変更を示す図。
【図9】本発明の一括更新プログラム51のメインルー
チンの処理を示すフローチャート。
【図10】本発明の一括更新プログラム51の排他更新
範囲決定ルーチンの処理を示すフローチャート。
【図11】本発明の一括更新プログラム51のデータベ
ース更新ルーチンの処理を示すフローチャート。
【図12】本発明の一括更新プログラム51のCPU使
用率チェックルーチンの処理を示すフローチャート。
【図13】本発明のオンライン業務処理での排他範囲参
照ルーチンの処理を示すフローチャート。
【符号の説明】
1…オンライン端末、2…オンラインリモートバッチ端
末、3…ホストシステム、4…オンライン処理部、41
…オンライン業務プログラム、5…オンラインリモート
バッチ処理部、51…一括更新プログラム、52…パラ
メタテーブル、53…管理テーブル、6…データベース
管理システム、10…データベース群10、11…マス
タデータベース、12…サブデータベース。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 谷 恒一郎 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報システム事業部内 Fターム(参考) 5B075 NR02 5B082 AA01 FA00 FA17

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 データベース管理システム経由によりオ
    ンライン処理で参照更新しているデータベースを一括し
    て更新するデータベース一括更新方法において、一括更
    新するレコード群をユーザが指定した方法により分割
    し、前記分割された分割レコード群の各々を更新する
    際、前記オンライン処理に対するデータベースの排他範
    囲をユーザが指定した範囲により設定してからデータベ
    ース管理システム経由で該分割レコード群を更新し、オ
    ンライン処理は、アクセスすべきレコードが前記排他範
    囲に設定されていないときに、データベース管理システ
    ム経由で該アクセスすべきレコードをアクセスすること
    を特徴とするデータベース一括更新方法。
JP31634899A 1999-11-08 1999-11-08 データベース一括更新方法 Pending JP2001134476A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31634899A JP2001134476A (ja) 1999-11-08 1999-11-08 データベース一括更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31634899A JP2001134476A (ja) 1999-11-08 1999-11-08 データベース一括更新方法

Publications (1)

Publication Number Publication Date
JP2001134476A true JP2001134476A (ja) 2001-05-18

Family

ID=18076118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31634899A Pending JP2001134476A (ja) 1999-11-08 1999-11-08 データベース一括更新方法

Country Status (1)

Country Link
JP (1) JP2001134476A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085133A (ja) * 2001-09-07 2003-03-20 Nippon Soken Holdings:Kk オンライン併用システムのバッチ制御システム、オンライン併用システムのバッチ制御用プログラム、及びそのプログラムを記録した記録媒体
JP2012164190A (ja) * 2011-02-08 2012-08-30 Hitachi Solutions Ltd 排他制御装置および排他制御方法
JP5933150B1 (ja) * 2015-06-26 2016-06-08 楽天株式会社 情報処理装置、情報処理方法、記録媒体、ならびに、プログラム
US10311157B2 (en) 2014-08-22 2019-06-04 Fujitsu Limited Method for update processing, and apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085133A (ja) * 2001-09-07 2003-03-20 Nippon Soken Holdings:Kk オンライン併用システムのバッチ制御システム、オンライン併用システムのバッチ制御用プログラム、及びそのプログラムを記録した記録媒体
JP2012164190A (ja) * 2011-02-08 2012-08-30 Hitachi Solutions Ltd 排他制御装置および排他制御方法
US10311157B2 (en) 2014-08-22 2019-06-04 Fujitsu Limited Method for update processing, and apparatus
JP5933150B1 (ja) * 2015-06-26 2016-06-08 楽天株式会社 情報処理装置、情報処理方法、記録媒体、ならびに、プログラム
WO2016208053A1 (ja) * 2015-06-26 2016-12-29 楽天株式会社 情報処理装置、情報処理方法、記録媒体、ならびに、プログラム

Similar Documents

Publication Publication Date Title
US5953719A (en) Heterogeneous database system with dynamic commit procedure control
US6687709B2 (en) Apparatus for database record locking and method therefor
US10152513B2 (en) Managing record location lookup caching in a relational database
US7328213B2 (en) Transaction processing method, transaction control apparatus and program thereof
JP2004528636A (ja) 自動データ更新
JPH06162086A (ja) 遠隔データベースの制御方法及び装置
JP4590229B2 (ja) ポリシルール管理支援方法およびポリシルール管理支援装置
US9514176B2 (en) Database update notification method
JPH11282686A (ja) ネットワークコンピュータシステム
JP3002242B2 (ja) Cadシステム
US6826761B1 (en) Efficient timer management system
JP2001134476A (ja) データベース一括更新方法
JPH0981409A (ja) 相互ホットスタンバイシステム待機系選択方式
JP7068210B2 (ja) データベース管理システム、端末装置及び方法
JP3586943B2 (ja) プログラムロード装置と方法
JP3970524B2 (ja) 複数オペレーション間の排他制御方法
JPH07306795A (ja) 二重系計算機のデータベース等価処理装置
JP3524270B2 (ja) 並列処理システム
US11847107B2 (en) Key permission distribution
CN117596298A (zh) 一种数据处理方法、装置、电子设备及存储介质
JP3844589B2 (ja) 並列データベース管理方法
JPH04191934A (ja) 機能別プログラム管理方法および装置
US20060101170A1 (en) Control method for changing input-output object
CN117971846A (zh) 一种数据处理方法、装置、设备及存储介质
CN114676115A (zh) 一种数据库修改方法、装置、设备及介质