JP3774075B2 - Transaction division / cooperation apparatus and recording medium - Google Patents

Transaction division / cooperation apparatus and recording medium Download PDF

Info

Publication number
JP3774075B2
JP3774075B2 JP00903099A JP903099A JP3774075B2 JP 3774075 B2 JP3774075 B2 JP 3774075B2 JP 00903099 A JP00903099 A JP 00903099A JP 903099 A JP903099 A JP 903099A JP 3774075 B2 JP3774075 B2 JP 3774075B2
Authority
JP
Japan
Prior art keywords
transaction
input data
information
data management
management table
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
JP00903099A
Other languages
Japanese (ja)
Other versions
JP2000207265A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP00903099A priority Critical patent/JP3774075B2/en
Publication of JP2000207265A publication Critical patent/JP2000207265A/en
Application granted granted Critical
Publication of JP3774075B2 publication Critical patent/JP3774075B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、トランザクション分割・連携装置および記録媒体に関するものである。
【0002】
【従来の技術】
従来、バッチ業務は、一般的にバッチジョブの1ジョブステップを1トランザクションとして処理していたため、入力データのデータ量に依存して1トランザクションで処理するレコード件数が膨大な量となっていた。
【0003】
【発明が解決しようとする課題】
このため、データベースの専有時間が長大となり、オンライン業務(1トランザクションで処理するレコード件数が数レコード)のレスポンス時間の悪化やタイムアウト発生が生じてしまう問題があった。
【0004】
また、トランザクション制御プログラムがトランザクション毎に一時的に使用するシステム資源(メモリなど)が1トランザクションで処理するレコード件数に比例して増大し、システム資源が枯渇してしまう問題もあった。
【0005】
また、バッチジョブの実行中にアプリケーションプログラムの異常終了やシステムダウン発生した場合にデータベースは当該バッチジョブの実行前の状態にリカバリされるため、バッチジョブの再実行により入力データの全てを再度処理する必要があり、業務のリカバリに要する時間が長大となってしまう問題もあった。
【0006】
また、アプリケーションプログラムでトランザクションを分割することも考えられるが、各種業務のアプリケーションプログラムでトランザクションを分割するようにするには、各業務プログラムアプリケーション毎にプログラム変更を行う必要あると共に仕様書などの不備により実際の業務アプリケーションでのトランザクション分割が実現し難いという問題があった。
【0007】
また、バッチ業務で設定されたトランザクションについて、自動分割したときにリカバリを効率的に実行することが望まれている。
本発明は、これらの問題を解決するため、バッチジョブのトランザクションを入力データのブロックごとなどに自動分割し、業務アプリケーションプログラムを変更することなくオンライン業務と平行しても迅速なレスポンスを実現、タイムアウト発生を無くすと共に、リカバリ時にバッジ業務で設定したトランザクションを自動分割したときに効率的にリカバリ処理を実行することを目的としている。
【0008】
【課題を解決するための手段】
図1および図8を参照して課題を解決するための手段を説明する。
図1および図8において、アプリケーション(入出力)1は、データーベース3をオープンしたり、アクセスしたり、所定ブロック毎のアクセス毎にトランザクションを分割したり、データーベース3をクローズしたりなどするものである。
【0009】
入力データファイル2は、入力データを格納するものである。
データベース3は、所定ブロック毎にアクセスするものであって、多量のデータを管理するものである。
【0010】
次に、動作を説明する。
図1に示すように、アプリケーションプログラム(入出力)1がデータベース3をアクセスする際に、入力データの所定ブロック毎のアクセス毎にトランザクションを自動分割し、各トランザクション単位に実行すると共に所定ブロック毎のログ情報をログファイルに保存するようにしている。
【0011】
また、トランザクションを実行中に何らかの障害発生時に、ログファイルを参照して障害発生したトランザクションの所定ブロックの再実行を行ってリカバリするようにしている。
【0012】
また、入力データの所定ブロック毎として、同じコードを持つ複数レコードとするようにしている。
また、図8に示すように、アプリケーションプログラム(入出力)31がデータベース34をアクセスする際に、入力データの所定ブロック毎のアクセス毎のトランザクションに自動分割、所定ブロック毎の情報をファイルに保存し、トランザクションを実行中に何らかの障害発生時にファイルを参照して障害発生したデータの書き出し元および書き出し先の整合性を回復した後に、障害発生のトランザクションの所定ブロック以降の再実行を行ってリカバリするようにしている。
【0013】
従って、バッチジョブのトランザクションを入力データのブロックごとなどに自動分割し、業務アプリケーションプログラムを変更することなくオンライン業務と平行しても迅速なレスポンスを実現、タイムアウト発生を無くすと共に、リカバリ時にバッジ業務で設定したトランザクションを自動分割したときに効率的にリカバリ処理を実行することが可能となる。
【0014】
【実施例】
次に、図1から図7を用いて本発明の実施の形態および動作を順次詳細に説明する。
【0015】
図1は、本発明の概念システム図を示す。
図1の(a)は、本発明の概念システム図を示す。
図1の(a)において、アプリケーション(入出力)1は、データーベース3をオープンしたり、アクセスしたり、所定ブロック毎のアクセス毎にトランザクションを分割したり、データーベース3をクローズしたりなどするものでって、入出力処理を実行するものである。
【0016】
入力データファイル2は、入力データを格納するものである。
データベース3は、所定ブロック単位にアクセスするものであって、多量のデータを管理するものである。
【0017】
図1の(b)は、トランザクションのシーケンス例を示す。これは、図1の(a)の概念システム図における1トランザクションの自動分割シーケンス例を示し、図示の下記のように入力データの所定ブロック毎に1トランザクションを自動分割している。
【0018】
初回:▲1▼→▲2▼:初回のトランザクションの開始はデータベース3のオープン時であり、トランザクションの終了は入力データの所定ブロックのデータベースへのアクセスして、例えば読み込んだ後である。
【0019】
2回目〜n回目:▲3▼→▲2▼:トランザクションの開始は初回あるいは前回のトランザクションが終了した直後であり、トランザクションの終了は入力データの所定ブロックについてデータベース3にアクセスして当該トランザクションの処理を終了したときである。
【0020】
最終回:▲3▼→▲4▼:トランザクションの開始は2回目〜n回目の最後のn回のときであり、トランザクションの終了はデータベース3をクローズしたときである。
【0021】
以上のように、入力データの所定ブロック毎にトランザクションを自動分割することにより、トランザクション毎にログ情報などを採取しておき、トランザクションで障害発生時に当該ログ情報を見て該当するトランザクションなどのみを再実行すればよく、リカバリを極めて迅速に行うことが可能となる。以下順次詳細に説明する。
【0022】
図2は、本発明のシステム構成図を示す。
図2において、制御装置11は、全体を統括制御するものであって、12ないし20から構成されるものである。
【0023】
アプリケーションプログラム(入出力)12は、データの読み込み、レコード検索、レコード更新などを行うものである。
データベース制御手段13は、データベース23をアクセスするものである。
【0024】
データ読込手段14は、入力データファイル21からデータを読み込むものである。
データ入力制御手段15は、入力データファイル21からデータを読み込むものである。
【0025】
トランザクション分割手段16は、入力データの所定ブロック毎のトランザクションに自動分割するものである。
トランザクション制御手段17は、トランザクション毎にログファイル19にログ情報を保存したり、入力データ管理テーブル22にトランザクション毎の入力管理情報を保存したりなどするものである。
【0026】
入力データ管理手段18は、トランザクション毎の入力データ管理情報を入力データ管理テーブル22に保存したりなどするものである。
ログファイル19は、トランザクション毎のログ情報を保存するファイルである。
【0027】
入力データ管理テーブル22は、トランザクション毎の入力データ管理情報を保存するものである。
トランザクションリカバリ制御手段20は、ログファイル19を参照して障害発生したトランザクションのログ情報を取り出し、当該ログ情報をもとに障害発生したトランザクションから再実行するものである。
【0028】
データベース23は、各種データを検索し易く管理するものである。
次に、図3のフローチャートの順番に従い、図2の構成の動作を詳細に説明する。
【0029】
図3は、本発明の動作説明フローチャート(その1)を示す。
図3において、S1は、初回のデータ読込要求か、または、前回読込データブロックの処理完了か判別する。YESの場合には、S2に進む。NOの場合には、S10でデータブロックのでブロッキングを行い、レコード返却し、終了などする。
【0030】
S2は、初回のデータ読込み要求か判別する。YESの場合には、S3に進む。NOの場合には、初回のデータ読込みでもないと判明したので、S8でデータの読込みを行い、S9でトランザクション分割を後述するS11からS14によって行い、トランザクションの自動分割後にS10でデータブロックのでブロッキングを行い、レコードを返却して最初に戻るなどする。
【0031】
S3は、入力データ管理テーブルの当該ジョブのエントリを検索する。
S4は、エントリありか判別する。YESの場合には、リカバリと判明したので、S5に完了済トランザクション情報の読込みを行い、S6に進む。一方、NOの場合には、初回と判明したのでS8以降を行う。
【0032】
S6は、トランザクション情報ありか判別する。 YESの場合には、S7で最後のトランザクション完了済のデータブロックの次のデータブロックに位置づけ、S8に進む。一方、NOの場合には、S8に進む。
【0033】
S8は、データの読込みを行う。
S9は、トランザクション分割を行う。これは、既述したように、後述するS11からS14によってトランザクション自動分割を行う。
【0034】
S10は、データブロックのでブロッキングを行い、レコード返却して次の処理に進む。
S11、S12は、トランザクション制御手段がトランザクションの終了を行う。
【0035】
S13,S14は、トランザクション制御手段がトランザクションの開始を行う。
以上によって、既述した図1の(b)に示すように、3段階のトランザクションを自動分割することが、図2の構成のもとで実行することが可能となる。
【0036】
図4は、本発明の動作説明フローチャート(その2)を示す。
図4において、S21は、入力データ管理手段がトランザクション完了通知前処理を行う。これにより、S31で入力データ管理手段が入力データ管理テーブルの当該ジョブのエントリを検索し、エントリあり(YES)のときに、S33で当該ジョブのエントリの切り出し/初期化を行い、S34で仕掛かり中トランザクション情報を設定しS21の次に戻る。一方、S32のNOの場合には、エントリなしと判明したので、S34で仕掛かり中のトランザクション情報を設定しS21の次に戻る。
【0037】
S22は、ログファイルへのトランザクション履歴情報を出力する。
S23は、データベース制御部がデータベース実更新を行う。
S24は、入力データ管理手段がトランザクション完了後処理を行う。これにより、入力データ管理手段がS41で入力データ管理テーブルの当該ジョブのエントリを検索し、S42でエントリあり、かつ仕掛かり中トランザクションありか判別し、YESのときにS43で仕掛かり中トランザクション情報の内容を完了済トランザクション情報に複写し、S24に戻る。一方、S42のNOの場合には、エラーとして終了する。
【0038】
以上によって、トランザクション前処理および後処理の中で、トランザクション履歴情報、データベース実更新、仕掛かり中のトランザクション情報の内容を完了済情報に複写などすることが可能となる。
【0039】
図5は、本発明の動作説明フローチャート(その3)を示す。
図5において、S51は、トランザクション制御部がログファイルからのトランザクション履歴情報を読み込む。
【0040】
S52は、データベース制御部がデータベースのリカバリを行う。
S53は、未処理の完了済トランザクションありか判別する。YESの場合には、S54で入力データ管理手段がトランザクションリカバリ処理を行う。これは、図示の矢印しのように、入力データ管理手段がS61で入力データ管理テーブルの当該トランザクション情報の内容を完了済トランザクション情報に複写し、S54に戻る。一方、S62のNOの場合には、エントリあり、かつ仕掛かり中トランザクションがないと判明したので、そのまま終了する。
【0041】
以上によって、ログファイルからトランザクション履歴情報を読み込み、データベースのリカバリを行うと共に、入力データ管理テーブルにエントリがありかつ仕掛かり中トランザクションの場合に複写して復元(リカバリ)することが可能となる。
【0042】
図6は、本発明のテーブル例を示す。ここでは、図示の下記の情報を設定するものである。
・各エントリのポインタ:
・ジョブ情報(*1)
・仕掛かり中トランザクションのトランザクション識別番号(*2)
・仕掛かり中トランザクションのトランザクションに対応するデータブロックの位置付け情報(*3)
・完了済トランザクションのトランザクション識別番号(*2)
・完了済トランザクションのトランザクションに対応するデータブロックの位置づけ(*3)
ここで、
・*1は、ジョブ情報であって、バッチジョブを識別するための情報である。
【0043】
・*2は、トランザクション識別番号であって、トランザクションを識別するための情報であって、システムで一意になるような番号である。
・*3は、データブロックの位置付け情報であって、ファイル内のデータブロックを識別するための情報であり、DASDの場合にはボリューム通し番号、ファイル名、相対トラックアドレスなどであり、MTの場合にはボリュームと通り番号。ファイル順序番号、ブロック番号などでありる。
【0044】
図7は、本発明のトランザクションの他の例を示す。ここでは、図示のように、入力データとして、

Figure 0003774075
というように、入力データとして同じ支店コードのレコードが複数あった場合に、これらを1つのトランザクションとして自動分割して1トランザクションにすることで、データベース中の同じ位置に格納されているレコードをまとめて1トランザクションで処理するこで、効率的かつ高速に顧客の残高などのデータを参照することが可能となる共に、トランザクションを所定ブロックに自動分割したことでリカバリや他の処理の迅速化を図ることが可能となる。
【0045】
次に、図8から図13を参照して本発明の他の実施例構成および動作を詳細に説明する。
図8は、本発明の他の概念システム図を示す。
【0046】
図8の(a)、(b)、(c)において、アプリケーションプログラム(入出力)31は、図示外のバッチ業務から1トランザクションで複数のデータブロックのデータベース34へのアクセス(更新)を複数のトランザクションに自動分割して処理を行うものである。
【0047】
入力データファイル32は、ここでは、データベース34へ書き込むデータなどを格納するファイルである。
入力データ管理テーブル33は、入力データの情報を管理するものである。
【0048】
トランザクションリカバリ処理36は、トランザクションで異常発生時にリカバリを行うものである。
ログファイル5は、ログを保存するファイルである。
【0049】
次に、それそれの動作を説明する。
図8の(a)は、正常実行時の動作を示す。
(1) トランザクション開始する(例えば初回はデータベース34をオープンしてトランザクションを開始、2回目以降はトランザクションを開始する)。
【0050】
(2) READ実行し、入力データファイル32から読み出したデータについて、データベース34を検索してDB更新する。
(3) トランザクション終了する。この中でログファイルにログ採取および入力データ管理テーブル33に情報(位置付け情報)を書き込む。
【0051】
(4) 正常終了したときは、次のデータについて繰り返す。
図8の(b)は、リカバリ時の動作を示す。
(1) トランザクションで障害発生時に、図8の(a)で採取したログファイル35を参照して、トランザクションリカバリ処理36を構成する整合性回復手段が入力データ管理テーブル33と、データベース34との整合性を回復させる。これにより、障害発生したトランザクション以前で処理したデータの整合性が回復されることとなる。
【0052】
図8の(c)は、リラン時の動作を示す。
(2) 図8の(b)で整合性の回復を行った後、障害発生したトランザクションについて、リラン(再実行)し、再実行したトランザクションに対応するデータの部分からデータベース34に再実行を行う。
【0053】
以上によって、トランザクションのいずれかで障害発生時に、正常な部分は整合性を回復した後、回復できない部分(トランザクション)についてリラン(再実行)して再書き込みを行うことにより、障害発生のトランザクションのみを再実行すればよく、効率的にリカバリおよび再実行を行うことが可能となる。以下順次詳細に説明する。
【0054】
図9は、本発明のシステム構成図を示す。これは、既述した図2のシステム構成図中の、11,12,13,14,15,17,18,19,20,21,22,23と同一であるので説明を省略する。
【0055】
次に、図10のフローチャートの順番に従い、図9の構成の動作を詳細に説明する。
図10は、本発明の他の動作説明フローチャート(その1)を示す。
【0056】
図10において、S71は、初回のデータ読込要求か、または、前回読込データブロックの処理完了か判別する。YESの場合には、S72に進む。NOの場合には、S81でデータブロックのでブロッキングを行い、レコード返却し、終了などする。
【0057】
S72は、初回のデータ読込み要求か判別する。YESの場合には、S73に進む。NOの場合には、初回のデータ読込みでもないと判明したので、S84でデータの読込みを行い、S81でデータブロックのでブロッキングを行い、レコードを返却して最初に戻るなどする。
【0058】
S73は、入力データ管理テーブルの当該ジョブのエントリを検索する。
S74は、エントリありか判別する。YESの場合には、リカバリと判明したので、S75で完了済トランザクション情報の読込みを行い、S76に進む。一方、NOの場合には、初回と判明したのでS84でデータの読込みを行い、S81でデータブロックのでブロッキングを行う。
【0059】
S76は、トランザクション情報ありか判別する。 YESの場合には、S77に進む。NOの場合には、S84でデータの読込みを行い、S81でデータブロックのでブロッキングを行う。
【0060】
S77は、トランザクション完了済のデータレコードはブロック内最終レコード以外か判別する。YESの場合には、S78で最後のトランザクション完了済のデータブロックに位置づけ、S79でデータの読込みを行い、S80で最後のトランザクション完了済のデータレコードの次のレコードに位置づけ、S81でデータブロックのでブロッキングを行う。一方、S77のNOの場合には、最後のトランザクション完了済のデータブロックの次のブロックに位置づけ、S83でデータの読込みを行い、S81でデータブロックのでブロッキングを行う。
【0061】
以上によって、既述した図8の(b)、(c)に示すように、S78、S79、S80およびS82、S83の手順を区別し、異常発生個所のトランザクションに依存してリカバリ/リトライを効率的に行うことが可能となる。
【0062】
図11は、本発明の動作説明フローチャート(その2)を示す。
図11において、S91は、入力データ管理手段がトランザクション完了前処理を行う。これにより、入力データ管理手段がS101で入力データ管理テーブルの当該ジョブのエントリを検索し、S102でエントリありか判別し、YESのときに、S103で当該ジョブのエントリの切り出し/初期化を行い、S104で仕掛かり中のトランザクション情報を設定し、S91に戻る。一方、S102のNOの場合には、S104で仕掛かり中のトランザクション情報を設定し、S91に戻る。
【0063】
S92は、ログファイルへのトランザクション履歴情報を出力する。
S93は、データベース制御部がデータベース実更新を行う。
S94は、入力データ管理手段がトランザクション完了後処理を行う。これにより、S111で入力データ管理テーブルの当該ジョブのエントリを検索し、S112でエントリありかつ仕掛かり中のトランザクションありか判別し、YESの場合にS113で仕掛かり中のトランザクション情報の内容を完了済トランザクション情報に複写し、S94に戻る。一方、S112のNOの場合には、エラーとして終了する。
【0064】
以上によって、ログファイルにトランザクション履歴情報を出力し、トランザクション終了要求を行うことが可能となる。
図12は、本発明の動作説明フローチャート(その3)を示す。
【0065】
図12において、S121は、トランザクション制御部がログファイルからのトランザクション履歴情報を読み込む。
S122は、データベース制御部がデータベースのリカバリを行う。
【0066】
S123は、未処理の完了済トランザクションありか判別する。YESの場合には、S124で入力データ管理手段がトランザクションリカバリ処理を行う。これは、図示の矢印しのように、入力データ管理手段がS131で入力データ管理テーブルの当該トランザクションのエントリを検索し、S132でエントリあり、かつ仕掛かり中のトランザクションありか判別し、YESの場合にS134で仕掛かり中トランザクション情報の内容を完了済トランザクション情報に複写し、S124に戻る。一方、S132のNOの場合には、S124にそのまま戻る。
【0067】
以上によって、ログファイルからトランザクション履歴情報を読み込み、データベースのリカバリを行うと共に、入力データ管理テーブルにエントリがありかつ仕掛かり中トランザクションの場合に複写して復元(リカバリ)することが可能となる。
【0068】
図13は、本発明のテーブル例を示す。これは、既述した図6のテーブルと同じであるので、説明を省略する。
【0069】
【発明の効果】
以上説明したように、本発明によれば、バッチジョブのトランザクションを入力データのブロックごとなどに自動分割し、業務アプリケーションプログラムを変更することなくオンライン業務と平行しても迅速なレスポンスを実現、タイムアウト発生を無くすと共に、リカバリ時にバッジ業務で設定したトランザクションを自動分割したときに効率的にリカバリ処理を実行することが可能となる。
【図面の簡単な説明】
【図1】本発明の概念システム図である。
【図2】本発明のシステム構成図である。
【図3】本発明の動作説明フローチャート(その1)である。
【図4】本発明の動作説明フローチャート(その2)である。
【図5】本発明の動作説明フローチャート(その3)である。
【図6】本発明のテーブル例である。
【図7】本発明のトランザクションの他の例である。
【図8】本発明の他の概念システム図である。
【図9】本発明のシステム構成図である。
【図10】本発明の他の動作説明フローチャート(その1)である。
【図11】本発明の他の動作説明フローチャート(その2)である。
【図12】本発明の他の動作説明フローチャート(その3)である。
【図13】本発明の他のテーブル例である。
【符号の説明】
1、12、31:アプリケーション(入出力)
2、21、32:入力データファイル
3、23、34:データベース
16:トランザクション分割手段
19、35:ログファイル
22、33:入力データ管理ファイル[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a transaction dividing / cooperating apparatus and a recording medium.
[0002]
[Prior art]
Conventionally, since a batch job generally processes one job step of a batch job as one transaction, the number of records to be processed in one transaction depends on the data amount of input data.
[0003]
[Problems to be solved by the invention]
For this reason, the database exclusive time becomes long, and there is a problem that the response time of online work (the number of records processed in one transaction is several records) deteriorates and a timeout occurs.
[0004]
In addition, there is a problem that system resources (such as memory) temporarily used for each transaction by the transaction control program increase in proportion to the number of records processed in one transaction, and the system resources are exhausted.
[0005]
In addition, if an application program terminates abnormally or the system goes down during the execution of a batch job, the database is recovered to the state before the execution of the batch job, so all input data is processed again by re-executing the batch job. There is also a problem that it takes a long time to recover the business.
[0006]
In addition, it is conceivable to divide transactions with application programs, but in order to divide transactions with application programs for various business operations, it is necessary to change the program for each business program application and due to incomplete specifications. There is a problem that it is difficult to realize transaction division in an actual business application.
[0007]
In addition, it is desired to efficiently execute recovery when a transaction set in a batch job is automatically divided.
In order to solve these problems, the present invention automatically divides batch job transactions into blocks of input data, etc., and realizes quick response even in parallel with online business without changing business application program, timeout The purpose is to eliminate the occurrence and to efficiently execute the recovery process when the transaction set in the badge operation at the time of recovery is automatically divided.
[0008]
[Means for Solving the Problems]
Means for solving the problem will be described with reference to FIGS.
In FIG. 1 and FIG. 8, the application (input / output) 1 opens or accesses the database 3, divides a transaction for each access of a predetermined block, closes the database 3, etc. It is.
[0009]
The input data file 2 stores input data.
The database 3 is accessed for each predetermined block, and manages a large amount of data.
[0010]
Next, the operation will be described.
As shown in FIG. 1, when an application program (input / output) 1 accesses a database 3, a transaction is automatically divided for each access of a predetermined block of input data, and is executed for each transaction and for each predetermined block. Log information is saved in a log file.
[0011]
Further, when any failure occurs during the execution of a transaction, a predetermined block of the failed transaction is re-executed by referring to the log file to recover.
[0012]
Further, a plurality of records having the same code are set for each predetermined block of input data.
Further, as shown in FIG. 8, when the application program (input / output) 31 accesses the database 34, it is automatically divided into transactions for each access for each predetermined block of input data, and information for each predetermined block is stored in a file. When a failure occurs during a transaction, the file is referenced to restore the consistency of the data source and destination of the failed data, and then re-execute after the specified block of the failed transaction to recover. I have to.
[0013]
Therefore, batch job transactions are automatically divided into blocks of input data, etc., enabling quick response even when parallel to online work without changing business application programs, eliminating timeouts, and enabling badge work during recovery Recovery processing can be efficiently executed when a set transaction is automatically divided.
[0014]
【Example】
Next, embodiments and operations of the present invention will be described sequentially in detail with reference to FIGS.
[0015]
FIG. 1 shows a conceptual system diagram of the present invention.
FIG. 1A shows a conceptual system diagram of the present invention.
In FIG. 1A, the application (input / output) 1 opens or accesses the database 3, divides a transaction for each access of a predetermined block, closes the database 3, and the like. It is a thing which performs input / output processing.
[0016]
The input data file 2 stores input data.
The database 3 accesses a predetermined block unit, and manages a large amount of data.
[0017]
FIG. 1B shows an example of a transaction sequence. This shows an example of an automatic division sequence of one transaction in the conceptual system diagram of FIG. 1A, and one transaction is automatically divided for each predetermined block of input data as shown in the following.
[0018]
First time: (1) → (2): The start of the first transaction is when the database 3 is opened, and the end of the transaction is after access to the database of a predetermined block of input data, for example, after reading.
[0019]
2nd to nth times: (3) → (2): The transaction starts at the first time or immediately after the previous transaction ends, and the transaction ends by accessing the database 3 for a predetermined block of input data and processing the transaction. Is when you finished.
[0020]
Last round: {circle over (3)} {circle over (4)}: The start of the transaction is at the last n times of the second to nth times, and the end of the transaction is when the database 3 is closed.
[0021]
As described above, by automatically dividing a transaction for each predetermined block of input data, log information etc. is collected for each transaction, and when a failure occurs in a transaction, only the relevant transaction etc. is re-read by looking at the log information. It only has to be executed, and recovery can be performed very quickly. Details will be sequentially described below.
[0022]
FIG. 2 shows a system configuration diagram of the present invention.
In FIG. 2, the control device 11 performs overall control of the whole, and includes 12 to 20.
[0023]
The application program (input / output) 12 performs data reading, record search, record update, and the like.
The database control means 13 is for accessing the database 23.
[0024]
The data reading unit 14 reads data from the input data file 21.
The data input control means 15 reads data from the input data file 21.
[0025]
The transaction dividing means 16 automatically divides a transaction into predetermined blocks of input data.
The transaction control means 17 stores log information in the log file 19 for each transaction, or stores input management information for each transaction in the input data management table 22.
[0026]
The input data management means 18 stores input data management information for each transaction in the input data management table 22 or the like.
The log file 19 is a file for storing log information for each transaction.
[0027]
The input data management table 22 stores input data management information for each transaction.
The transaction recovery control means 20 refers to the log file 19 and takes out log information of the failed transaction, and re-executes from the failed transaction based on the log information.
[0028]
The database 23 manages various data so as to be easily searched.
Next, the operation of the configuration of FIG. 2 will be described in detail according to the order of the flowchart of FIG.
[0029]
FIG. 3 is a flowchart for explaining the operation of the present invention (part 1).
In FIG. 3, S1 determines whether it is the first data read request or the previous read data block processing is completed. If YES, the process proceeds to S2. If NO, the data block is blocked at S10, the record is returned, and the process is terminated.
[0030]
In S2, it is determined whether it is the first data reading request. If YES, the process proceeds to S3. In the case of NO, since it was found that the data was not read for the first time, the data is read in S8, the transaction is divided in S9 by S11 to S14 to be described later, and the data block is blocked in S10 after the automatic division of the transaction. And return records to the beginning.
[0031]
In step S3, the entry of the job in the input data management table is searched.
In S4, it is determined whether there is an entry. In the case of YES, since it is found that the transaction is recovery, the completed transaction information is read in S5, and the process proceeds to S6. On the other hand, in the case of NO, since the first time is found, S8 and subsequent steps are performed.
[0032]
In S6, it is determined whether there is transaction information. In the case of YES, it is positioned in the next data block after the last transaction completed data block in S7, and the process proceeds to S8. On the other hand, if NO, the process proceeds to S8.
[0033]
In S8, data is read.
In step S9, transaction division is performed. As described above, automatic transaction division is performed in S11 to S14 described later.
[0034]
In S10, the data block is blocked, the record is returned, and the process proceeds to the next process.
In S11 and S12, the transaction control means ends the transaction.
[0035]
In S13 and S14, the transaction control means starts a transaction.
As described above, as shown in FIG. 1B, the three-stage transaction can be automatically divided under the configuration shown in FIG.
[0036]
FIG. 4 shows a flowchart (part 2) for explaining the operation of the present invention.
In FIG. 4, in S21, the input data management means performs transaction completion notification pre-processing. As a result, the input data management means searches for the entry of the job in the input data management table in S31, and when there is an entry (YES), the entry of the job is cut out / initialized in S33, and the work is started in S34. The middle transaction information is set and the process returns to S21. On the other hand, in the case of NO in S32, since it is determined that there is no entry, in-transaction transaction information is set in S34 and the process returns to S21.
[0037]
In step S22, transaction history information to the log file is output.
In S23, the database control unit performs actual database update.
In S24, the input data management unit performs post-transaction processing. As a result, the input data management means retrieves the entry of the job in the input data management table in S41, determines in S42 whether there is an entry and a transaction in progress, and if YES, the transaction information in progress in S43 is determined. The contents are copied to the completed transaction information, and the process returns to S24. On the other hand, if NO in S42, the process ends as an error.
[0038]
As described above, during transaction pre-processing and post-processing, it is possible to copy transaction history information, database actual update, and the contents of in-process transaction information to completed information.
[0039]
FIG. 5 shows a flowchart (part 3) for explaining the operation of the present invention.
In FIG. 5, in S51, the transaction control unit reads transaction history information from the log file.
[0040]
In S52, the database control unit recovers the database.
S53 determines whether there is an unprocessed completed transaction. If YES, the input data management means performs transaction recovery processing in S54. As indicated by the arrow in the figure, the input data management means copies the contents of the transaction information in the input data management table to the completed transaction information in S61, and returns to S54. On the other hand, in the case of NO in S62, since it has been found that there is an entry and there is no transaction in progress, the processing is terminated as it is.
[0041]
As described above, the transaction history information is read from the log file and the database is recovered, and when the input data management table has an entry and the transaction is in progress, it can be copied and restored (recovered).
[0042]
FIG. 6 shows an example table of the present invention. Here, the following information shown in the figure is set.
-Pointer for each entry:
・ Job information (* 1)
-Transaction identification number of the transaction in progress (* 2)
-Data block positioning information corresponding to the transaction in progress (* 3)
-Transaction identification number of the completed transaction (* 2)
-Positioning of data blocks corresponding to completed transactions (* 3)
here,
* 1 is job information, which is information for identifying a batch job.
[0043]
* 2 is a transaction identification number, which is information for identifying a transaction and is unique in the system.
* 3 is data block positioning information, which is information for identifying the data block in the file. In the case of DASD, the volume serial number, the file name, the relative track address, etc. In the case of MT Is the volume and street number. File order number, block number, etc.
[0044]
FIG. 7 shows another example of the transaction of the present invention. Here, as shown, as input data,
Figure 0003774075
Thus, when there are multiple records of the same branch code as input data, these records are automatically divided into one transaction, and the records stored at the same position in the database are collected together. By processing in one transaction, data such as customer balance can be referred to efficiently and at high speed, and recovery and other processing can be speeded up by automatically dividing the transaction into predetermined blocks. Is possible.
[0045]
Next, the configuration and operation of another embodiment of the present invention will be described in detail with reference to FIGS.
FIG. 8 shows another conceptual system diagram of the present invention.
[0046]
8A, 8B, and 8C, the application program (input / output) 31 performs access (update) to a plurality of data block databases 34 in a single transaction from a batch job (not shown). Processing is automatically divided into transactions.
[0047]
Here, the input data file 32 is a file for storing data to be written to the database 34.
The input data management table 33 manages input data information.
[0048]
The transaction recovery process 36 performs recovery when an abnormality occurs in the transaction.
The log file 5 is a file for storing a log.
[0049]
Next, each operation will be described.
FIG. 8A shows the operation at normal execution.
(1) Start a transaction (for example, the database 34 is opened for the first time to start a transaction, and the transaction is started for the second and subsequent times).
[0050]
(2) Execute READ and search the database 34 for data read from the input data file 32 to update the DB.
(3) End the transaction. In this, information (positioning information) is written in the log collection and input data management table 33 in the log file.
[0051]
(4) When the process ends normally, repeat for the next data.
FIG. 8B shows the operation at the time of recovery.
(1) When a failure occurs in a transaction, the consistency recovery means constituting the transaction recovery process 36 refers to the log file 35 collected in FIG. 8A to make the input data management table 33 and the database 34 consistent. Restores sex. As a result, the consistency of data processed before the failed transaction is restored.
[0052]
FIG. 8C shows the operation during rerun.
(2) After the consistency is restored in FIG. 8B, the failed transaction is rerun (re-executed), and the database 34 is re-executed from the data portion corresponding to the re-executed transaction. .
[0053]
As described above, when a failure occurs in one of the transactions, after restoring the integrity of the normal part, rerun (re-execute) the unrecoverable part (transaction) and rewrite it, so that only the failed transaction is restored. Re-execution is sufficient, and recovery and re-execution can be performed efficiently. Details will be sequentially described below.
[0054]
FIG. 9 shows a system configuration diagram of the present invention. This is the same as 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 21, 23 in the system configuration diagram of FIG.
[0055]
Next, the operation of the configuration of FIG. 9 will be described in detail according to the order of the flowchart of FIG.
FIG. 10 is a flowchart for explaining another operation of the present invention (part 1).
[0056]
In FIG. 10, S71 determines whether it is the first data read request or the process of the previously read data block is completed. If YES, the process proceeds to S72. If NO, the data block is blocked in S81, the record is returned, and the process is terminated.
[0057]
In S72, it is determined whether it is the first data reading request. If YES, the process proceeds to S73. In the case of NO, since it has been found that it is not the first data read, the data is read in S84, the data block is blocked in S81, the record is returned, and the process returns to the beginning.
[0058]
In step S73, the entry of the job in the input data management table is searched.
In S74, it is determined whether there is an entry. In the case of YES, since it is found that the transaction has been recovered, the completed transaction information is read in S75, and the process proceeds to S76. On the other hand, in the case of NO, since it is determined to be the first time, the data is read in S84, and the data block is blocked in S81.
[0059]
In S76, it is determined whether there is transaction information. If YES, the process proceeds to S77. If NO, the data is read in S84, and the data block is blocked in S81.
[0060]
In S77, it is determined whether the data record for which the transaction has been completed is other than the last record in the block. If YES, the data block is positioned at the last transaction completed data block at S78, the data is read at S79, positioned at the record next to the data transaction completed at S80, and the data block is blocked at S81. I do. On the other hand, in the case of NO in S77, it is positioned as the block next to the last transaction completed data block, the data is read in S83, and the data block is blocked in S81.
[0061]
As described above, as shown in FIGS. 8B and 8C, the procedures of S78, S79, S80, S82, and S83 are distinguished, and recovery / retry is efficiently performed depending on the transaction where the abnormality occurred. Can be performed automatically.
[0062]
FIG. 11 is a flowchart (part 2) for explaining the operation of the present invention.
In FIG. 11, in S91, the input data management means performs pre-transaction completion processing. Thereby, the input data management means searches for the entry of the job in the input data management table in S101, determines whether or not there is an entry in S102, and if YES, cuts out / initializes the entry of the job in S103, In S104, in-process transaction information is set, and the process returns to S91. On the other hand, in the case of NO in S102, the transaction information in progress is set in S104, and the process returns to S91.
[0063]
In step S92, the transaction history information to the log file is output.
In S93, the database control unit performs actual database update.
In S94, the input data management means performs post-transaction completion processing. As a result, the entry of the job in the input data management table is searched in S111, it is determined whether there is an entry and a transaction in progress in S112. If YES, the contents of the transaction information in progress are completed in S113. Copy to transaction information and return to S94. On the other hand, if NO in S112, the process ends as an error.
[0064]
As described above, it is possible to output transaction history information to a log file and make a transaction end request.
FIG. 12 shows a flowchart (part 3) for explaining the operation of the present invention.
[0065]
In FIG. 12, in S121, the transaction control unit reads transaction history information from the log file.
In S122, the database control unit recovers the database.
[0066]
In step S123, it is determined whether there is an unprocessed completed transaction. In the case of YES, the input data management means performs transaction recovery processing in S124. As indicated by the arrow in the figure, the input data management means searches for the entry of the transaction in the input data management table in S131, determines whether there is an entry and a transaction in progress in S132, and if YES In S134, the contents of the in-process transaction information are copied to the completed transaction information, and the process returns to S124. On the other hand, in the case of NO in S132, the process returns to S124 as it is.
[0067]
As described above, the transaction history information is read from the log file and the database is recovered, and when the input data management table has an entry and the transaction is in progress, it can be copied and restored (recovered).
[0068]
FIG. 13 shows an example table of the present invention. Since this is the same as the table of FIG. 6 already described, description thereof is omitted.
[0069]
【The invention's effect】
As described above, according to the present invention, a batch job transaction is automatically divided into blocks of input data, etc., and a quick response is realized even in parallel with online business without changing the business application program. In addition to eliminating the occurrence, it is possible to efficiently execute the recovery process when the transaction set in the badge job at the time of recovery is automatically divided.
[Brief description of the drawings]
FIG. 1 is a conceptual system diagram of the present invention.
FIG. 2 is a system configuration diagram of the present invention.
FIG. 3 is a flowchart (part 1) for explaining the operation of the present invention.
FIG. 4 is a flowchart (part 2) illustrating the operation of the present invention.
FIG. 5 is a flowchart (part 3) illustrating the operation of the present invention.
FIG. 6 is a table example of the present invention.
FIG. 7 is another example of a transaction of the present invention.
FIG. 8 is another conceptual system diagram of the present invention.
FIG. 9 is a system configuration diagram of the present invention.
FIG. 10 is a flowchart (part 1) illustrating another operation of the present invention.
FIG. 11 is a flowchart (part 2) illustrating another operation of the present invention.
FIG. 12 is a flowchart (No. 3) for explaining another operation of the invention.
FIG. 13 is another table example of the present invention.
[Explanation of symbols]
1, 12, 31: Application (input / output)
2, 21, 32: input data files 3, 23, 34: database 16: transaction dividing means 19, 35: log files 22, 33: input data management file

Claims (5)

バッチジョブ識別情報に、仕掛中及び完了済のトランザクション情報を対応付けて記憶する入力データ管理テーブルと、
開始していた直前のトランザクションを終了し、新たなトランザクションを開始するようトランザクション制御部に要求するトランザクション分割手段と、
アプリケーションプログラムからのデータ読込みの要求を受け、データ入力制御部を介して入力データファイルから所定の単位で入力データを入力して前記トランザクション分割手段を呼び出すデータ読込手段と、
トランザクション終了要求に基づき起動したトランザクション制御部から制御を渡され、該終了要求対象のトランザクションの情報を仕掛中トランザクション情報として前記入力データ管理テーブルに記憶するトランザクション完了前処理手段と、データベース更新後にトランザクション制御部から制御を渡され、該入力データ管理テーブルに設定した仕掛中トランザクション情報を完了済トランザクション情報に複写して前記入力データ管理テーブルに記憶するトランザクション完了後処理手段とを備える入力データ管理手段と
を備えることを特徴とするトランザクション分割・連携装置。
An input data management table for storing in-process and completed transaction information in association with batch job identification information;
Transaction splitting means for requesting the transaction control unit to end the immediately preceding transaction and start a new transaction,
A data reading unit that receives a request for data reading from the application program, inputs the input data in a predetermined unit from the input data file via the data input control unit, and calls the transaction dividing unit;
Transaction completion processing means that receives control from the transaction control unit activated based on the transaction end request and stores the information of the transaction that is the end request target as in-progress transaction information in the input data management table, and transaction control after database update An input data management means comprising a post-transaction completion processing means for copying the in-process transaction information set in the input data management table to the completed transaction information and storing it in the input data management table. A transaction dividing / cooperating apparatus characterized by comprising:
トランザクション実行中に何らかの障害が発生すると、前記入力データ管理テーブルを参照して障害発生したトランザクションの所定の単位のトランザクションの再実行を行ってリカバリする手段を更に備えたことを特徴とする請求項1記載のトランザクション分割・連携装置。  2. The apparatus according to claim 1, further comprising means for re-executing a recovery in a predetermined unit of a failed transaction by referring to the input data management table when a failure occurs during the execution of the transaction. The transaction splitting / linking device described. 前記データ読込手段は、データブロック毎か、または、同じコードを持つかのいずれかの単位で入力データを入力することを特徴とする請求項1記載のトランザクション分割・連携装置。  2. The transaction division / cooperation apparatus according to claim 1, wherein the data reading means inputs input data in units of either data blocks or having the same code. 開始していた直前のトランザクションを終了し、新たなトランザクションを開始するようトランザクション制御部に要求するトランザクション分割ステップと、
アプリケーションプログラムからのデータ読込みの要求を受け、データ入力制御部を介して、入力データファイルから所定の単位で入力データを入力して前記トランザクション分割ステップを呼び出すデータ読込ステップと、
トランザクション終了要求に基づき起動したトランザクション制御部から制御を渡され、該終了要求対象のトランザクションの情報を仕掛中トランザクション情報として、バッチジョブ識別情報に、仕掛中及び完了済のトランザクション情報を対応付けて記憶する入力データ管理テーブルに記憶するトランザクション完了前処理ステップと、データベース更新後にトランザクション制御部から制御を渡され、該入力データ管理テーブルに設定した仕掛中トランザクション情報を完了済トランザクション情報に複写して前記入力データ管理テーブルに記憶するトランザクション完了後処理ステップとを実行する入力データ管理ステップと
を実行させるトランザクション分割・連携プログラムを記録したコンピュータ読取可能な記録媒体。
A transaction splitting step for requesting the transaction control unit to end the immediately preceding transaction and start a new transaction;
A data reading step for receiving a request for reading data from an application program and inputting the input data in a predetermined unit from the input data file via the data input control unit and calling the transaction dividing step;
Control is passed from the transaction control unit activated based on the transaction end request, and information on the transaction requested for end is stored as in-process transaction information, and in-process and completed transaction information is associated with batch job identification information and stored. The transaction completion preprocessing step stored in the input data management table to be transferred, and the control from the transaction controller after the database update is transferred, and the in-process transaction information set in the input data management table is copied to the completed transaction information. A computer-readable recording medium recording a transaction division / cooperation program for executing an input data management step for executing a transaction completion post-processing step stored in a data management table.
開始していた直前のトランザクションを終了し、新たなトランザクションを開始するようトランザクション制御部に要求するトランザクション分割ステップと、
アプリケーションプログラムからのデータ読込みの要求を受け、データ入力制御部を介して、入力データファイルから所定の単位で入力データを入力して前記トランザクション分割ステップを呼び出すデータ読込ステップと、
トランザクション終了要求に基づき起動したトランザクション制御部から制御を渡され、該終了要求対象のトランザクションの情報を仕掛中トランザクション情報として、バッチジョブ識別情報に、仕掛中及び完了済のトランザクション情報を対応付けて記憶する入力データ管理テーブルに記憶するトランザクション完了前処理ステップと、データベース更新後にトランザクション制御部から制御を渡され、該入力データ管理テーブルに設定した仕掛中トランザクション情報を完了済トランザクション情報に複写して前記入力データ管理テーブルに記憶するトランザクション完了後処理ステップとを実行する入力データ管理ステップと
を実行させるトランザクション分割・連携プログラムを記録したコンピュータ読取可能な記録媒体。
A transaction splitting step for requesting the transaction control unit to end the immediately preceding transaction and start a new transaction;
A data reading step for receiving a request for reading data from an application program and inputting the input data in a predetermined unit from the input data file via the data input control unit and calling the transaction dividing step;
Control is passed from the transaction control unit activated based on the transaction end request, and information on the transaction requested for end is stored as in-process transaction information, and in-process and completed transaction information is associated with batch job identification information and stored. The transaction completion preprocessing step stored in the input data management table to be transferred, and the control from the transaction controller after the database update is transferred, and the in-process transaction information set in the input data management table is copied to the completed transaction information. A computer-readable recording medium recording a transaction division / cooperation program for executing an input data management step for executing a transaction completion post-processing step stored in a data management table.
JP00903099A 1999-01-18 1999-01-18 Transaction division / cooperation apparatus and recording medium Expired - Fee Related JP3774075B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00903099A JP3774075B2 (en) 1999-01-18 1999-01-18 Transaction division / cooperation apparatus and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00903099A JP3774075B2 (en) 1999-01-18 1999-01-18 Transaction division / cooperation apparatus and recording medium

Publications (2)

Publication Number Publication Date
JP2000207265A JP2000207265A (en) 2000-07-28
JP3774075B2 true JP3774075B2 (en) 2006-05-10

Family

ID=11709269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00903099A Expired - Fee Related JP3774075B2 (en) 1999-01-18 1999-01-18 Transaction division / cooperation apparatus and recording medium

Country Status (1)

Country Link
JP (1) JP3774075B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2419883A1 (en) 2003-02-26 2004-08-26 Ibm Canada Limited - Ibm Canada Limitee Discriminatory replay of log files during table space recovery in a database management system
JP4942519B2 (en) * 2007-03-14 2012-05-30 株式会社日立製作所 Information processing apparatus, program, and information processing method
WO2016079786A1 (en) 2014-11-17 2016-05-26 株式会社日立製作所 Computer system and data processing method

Also Published As

Publication number Publication date
JP2000207265A (en) 2000-07-28

Similar Documents

Publication Publication Date Title
US5201044A (en) Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
JP2531776B2 (en) How to recover your database
US6018746A (en) System and method for managing recovery information in a transaction processing system
US5333314A (en) Distributed data base system of composite subsystem type, and method of fault recovery for the system
CN100430936C (en) System and method for a consistency check of a database backup
JP2667039B2 (en) Data management system and data management method
CN101361047B (en) Method and system for data protection in storage systems
JP5160006B2 (en) Method and apparatus for performing atomic updates using a logical flash memory device
EP0566968A2 (en) Method and system for concurrent access during backup copying of data
CN109542682B (en) Data backup method, device, equipment and storage medium
JP3094888B2 (en) Numbering mechanism, data consistency confirmation mechanism, transaction re-execution mechanism, and distributed transaction processing system
CN110543446B (en) Block chain direct filing method based on snapshot
US6944635B2 (en) Method for file deletion and recovery against system failures in database management system
JPH11134235A (en) Method for supporting recovery from fault of external storage device
CN115145697A (en) Database transaction processing method and device and electronic equipment
JP3774075B2 (en) Transaction division / cooperation apparatus and recording medium
TW200417859A (en) Storage system and method with snapshot backup function
US20050246385A1 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
CN112540875A (en) Method for backing up and restoring check availability of mysql database based on xtrabackup
JPS62245348A (en) Method and device for updating data base
JP3290182B2 (en) Data set backup method and apparatus in shared environment
JP3155096B2 (en) Batch recovery method when system is replaced
JPH0713943A (en) Parallel computer
JPS63262737A (en) Data base updating and recording processing method
JP2909128B2 (en) Startup processing takeover processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060216

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140224

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees