JP2004303096A - Job management method, job management device, and job management program - Google Patents

Job management method, job management device, and job management program Download PDF

Info

Publication number
JP2004303096A
JP2004303096A JP2003097447A JP2003097447A JP2004303096A JP 2004303096 A JP2004303096 A JP 2004303096A JP 2003097447 A JP2003097447 A JP 2003097447A JP 2003097447 A JP2003097447 A JP 2003097447A JP 2004303096 A JP2004303096 A JP 2004303096A
Authority
JP
Japan
Prior art keywords
buffer
page
buffer cache
business
application
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
JP2003097447A
Other languages
Japanese (ja)
Inventor
Toshihide Matsuda
敏英 松田
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 JP2003097447A priority Critical patent/JP2004303096A/en
Publication of JP2004303096A publication Critical patent/JP2004303096A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To execute a batch service without having any influence on the performance of an online service during operation of the online service even when the online service and the batch service have the same resources as access objects. <P>SOLUTION: This job management method comprises storing application kind information for every service application; assigning, when a page for a database access request is on buffer on a first buffer cache, the page from a first buffer cache; assigning, when the page is on buffer on a second buffer cache, the page from a second buffer cache; assigning, when the page is not on buffer either of the buffer caches and the kind of service application is a batch service application program based on the application kind information, the page from the second buffer cache, and assigning from the first buffer cache if not so. Even if the online service and the batch service have the same resources as the access object, the batch service can be executed without having any influence on the performance of the online service during the operation of the online service. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、トランザクション処理プログラムに係わるジョブ管理に関し、特に、オンライン業務とバッチ業務が同一の資源(テーブル)をアクセスする場合においても、バッチ業務専用バッファキャッシュを新たに設けることにより、オンライン業務の性能を劣化させないための技術に関する。
【0002】
【従来の技術】
従来のデータベースシステムにおいては、データベースをアクセスするためのバッファキャッシュが1つしか存在しないため、オンライン業務運用中にオンライン業務と同じデータベースをアクセスするバッチ業務を行うと、オンライン業務が使用していたバッファキャッシュ上のページがバッチ業務により追い出されることにより、オンライン業務のデータベースアクセスのためのディスクに対するI/O量が増加し、オンライン業務のレスポンスが悪化させる大きな原因となっている。
【0003】
この問題に対して、オンライン業務とバッチ業務が同一の資源(テーブル)をアクセス対象としない場合は、予め資源毎にデータベースバッファキャッシュを必要な量だけ開設しておくことで問題は解決できている。しかしながら、同一の資源をアクセス対象とする場合、現状ではオンライン業務を一旦停止した後に、バッチ業務を実行する手順を取っており、24時間365日連続運用性が損なわれている。
【0004】
オンライン業務とバッチ業務が同一の資源をアクセス対象とする場合、他の方法としては、同一のデータベースバッファキャッシュ内で、オンライン業務とバッチ業務のそれぞれが使用するバッファキャッシュの量を管理する方法も考えられる。但し、この方法の場合は、資源毎にデータベースバッファキャッシュを開設するなど、複数のデータベースバッファキャッシュを使用しているシステムでは、個々のデータベースバッファキャッシュ毎に、オンライン業務とバッチ業務が使用するバッファキャッシュの量を管理しなければならず、管理コストが増大する。
【0005】
また、バッチ処理を非トランザクションまたはバッチ処理全体で1つのトランザクションとして実行すると、エラーが発生したときにバッチ処理の最初から再実行しなければならず、処理に非常に時間がかかる。このようなことを防止するため、バッチ処理はトランザクションとして実行し、纏まった処理単位でトランザクションを区切って繰り返し実行することが一般的に行われている。これにより、エラーが発生しても、エラーが発生した時点からの再実行で済むようになるため、24時間365日連続運用性対応などの運用として利用されている。
【0006】
上記の問題点の改善策として、ファイルが格納されている記憶媒体と、このデータをアクセスするための拡張記憶装置を備えたファイル更新方法として、拡張記憶装置をオンライン業務から一時的に切離して、オンライン業務は記憶媒体のファイルを使用して参照業務を続行しながら、並行して、バッチ業務は拡張記憶装置を使用してレコードの更新を行い、バッチ業務終了後に拡張記憶装置上の更新レコードを一括して記憶媒体のファイルにリロードすることによりファイルを更新するファイルの更新方式が開示されている(例えば、特許文献1参照。)。
【0007】
前記改善策により、拡張記憶装置を一時的にバッチ業務で占有して使用することが可能となり、オンライン業務とバッチ業務のリソースの競合をなくし、オンライン業務を続行したままオンライン業務に影響を与えない高速なバッチ業務を実行することが可能となった。
【0008】
【特許文献1】
特開平6−139120号公報 (第2−3頁)
【0009】
【発明が解決しようとする課題】
しかしながら上記の改善策では、オンライン業務がデータの更新処理を行わない場合には、オンライン業務とバッチ業務のリソースの競合をなくし、オンラインを続行したままオンライン業務に影響を与えない高速なバッチ業務を実行することが可能であるが、バッチ業務とオンライン業務が同じ資源を更新するような場合には、バッチ業務で更新した資源をオンライン業務が正しく認識できるように排他制御、データベースの更新のためのI/Oが必要となり、バッチ業務によるオンライン業務への影響は依然として残ることになる。
【0010】
本発明は、上記のような事情に鑑みて提案されたものであり、オンライン業務とバッチ業務が同一の資源をアクセス対象(更新処理を含む)とする場合でも、オンライン業務運用中にオンライン業務の性能に影響を及ぼすことなく、バッチ業務を実行できるようにすることを目的としている。
【0011】
【課題を解決するための手段】
図1は、本発明の実施の形態1の全体構成図を示すものである。本発明のジョブ管理プログラム10はジョブ管理装置1として振る舞うコンピュータ上で実行され、業務アプリケーション毎に、業務アプリケーションがオンライン業務用であるか、バッチ業務(本発明においては、バッチ業務とはオンライン業務運用中にオンライン業務の性能に影響を及ぼすことなく実行するバッチ業務を指す。)用であるかを識別するためのアプリ種別情報を記憶装置に記憶させるアプリ種別記憶手段111を従来のトランザクション処理に関わるジョブ管理プログラム10のアプリ環境開設部11に追加し、データベース・アクセス要求のためのページが、複数のオンライン業務アプリケーションが共用する第一のバッファキャッシュ上でオンバッファであることを検出すると、該当するページを前記第一のバッファキャッシュから割り当てる第一のページ割当手段124と、データベース・アクセス要求のためのページが複数のバッチ業務アプリケーションが共用する第二のバッファキャッシュ上でオンバッファであることを検出すると、該当するページを前記第二のバッファキャッシュから割り当てる第二のページ割当手段125とを、従来のトランザクション処理に関わるジョブ管理プログラムのバッファ制御部123に追加する。
【0012】
さらに、前記データベース・アクセス要求のためのページが何れのバッファキャッシュ上でもオンバッファでないことを検出すると、前記データベース・アクセス要求した業務アプリケーションの種別を前記アプリ種別情報に基づき判定し、バッチ業務用のアプリケーション・プログラムの場合には、該当するページを前記第二のバッファキャッシュから割り当て、そうではない場合には該当するページを前記第一のバッファキャッシュから割り当てる第三のページ割当手段126とを従来のトランザクション処理に関わるジョブ管理プログラムのバッファ制御部123に追加する。
【0013】
バッチジョブは、第一のバッファキャッシュのオンバッファの部分( オンラインジョブがアクセスするページ) のみ共有し、第一のバッファキャッシュ上でオンバッファでない場合は、第二のバッファキャッシュから新規にページを切り出す。このようにバッチジョブは第一のバッファキャッシュから新規にページを切り出さないため、オンライン業務がアクセスしたページをバッチジョブが第一のバッファキャッシュ上から追い出してしまうことはなく、オンラインジョブの性能には影響を与えることがない。
【0014】
更に、第一のバッファキャッシュはオンラインジョブが頻繁にアクセスするページがオンバッファになっているため、バッファキャッシュ上にオンバッファであるかどうかを確認する順序を第一のページ割当手段を先に実行し、第一のページ割当手段でオンバッファが検出できない場合のみ、第二のページ割当手段を実行させることにより、検索時間を最小にすることが可能となる。
【0015】
【発明の実施の形態】
図1は本発明の実施の形態1の全体構成図を示してある。本発明のジョブ管理プログラム10は、業務アプリケーション毎に、業務アプリケーションがオンライン業務用であるか、バッチ業務用であるかを識別するアプリ種別情報を図2で示すアプリ制御表に記憶させるアプリ種別記憶手段111を従来のトランザクション処理に関わるジョブ管理プログラム10のアプリケーショに対して資源の割当などを行いアプリケーションを実行可能状態とするアプリ環境開設部11に追加する。
【0016】
また、外部記憶装置2上のデータベース21に対するアクセス要求のためのページが、複数のオンライン業務アプリケーションが共用する第一のバッファキャッシュ14(従来のデータベースバッファキャッシュ)上でオンバッファであることを検出すると、該当するページを前記第一のバッファキャッシュ14から割り当てる第一のページ割当手段124と、データベース・アクセス要求のためのページが複数のバッチ業務アプリケーションが共用する第二のバッファキャッシュ15上でオンバッファであることを検出すると、該当するページを前記第二のバッファキャッシュ15から割り当てる第二のページ割当手段125とを、従来のトランザクション処理に関わるジョブ管理プログラムのデータベースバッファキャッシュを管理するバッファ制御部123に追加する。
【0017】
さらに、前記データベース・アクセス要求のためのページが何れのバッファキャッシュ上でもオンバッファでないことを検出すると、前記データベース・アクセス要求した業務アプリケーションの種別を図2で示すアプリ制御表に基づき判定し、バッチ業務用のアプリケーション・プログラムの場合には、該当するページを前記第二のバッファキャッシュ15から割り当て、そうではない場合には該当するページを前記第一のバッファキャッシュ14から割り当てる第三のページ割当手段126を従来のトランザクション処理に関わるジョブ管理プログラムのバッファ制御部123に追加する。
【0018】
以上により、オンライン業務運用中にオンライン業務の性能に影響を及ぼすことなく実行するバッチ業務用アプリに対しては、データベースバッファキャッシュとは別に、システムがバッチ業務専用のバッファキャッシュ(第二のバッファキャッシュ15)を割り当てることにより、バッチ業務用アプリはオンライン業務が使用するデータベースバッファキャッシュを使用しないため、データベースバッファキャッシュのキャッシュヒット率が保証でき、オンライン業務の性能を保証することが可能となる。
【0019】
第二のバッファキャッシュ15は、I/Oの作業域としての役割を主とし、キャッシュヒット率は期待しない。図9で示すように第二のバッファキャッシュ15はシステムに1つ存在し、バッチ業務用アプリ間で共用される。第二のバッファキャッシュ15のサイズは、バッチ業務の多重度により動的に定まる。サイズは多重度が増加すると拡張され、多重度が減少すると縮小される。1バッチジョブ当たりのサイズは何も指定しない場合は1MB(メガバイト)であるが、外部パラメタで変更することが可能である。
【0020】
なお、ジョブ管理プログラムについては、従来からある機能であるため、各処理部の詳細な説明については省略し、ジョブ管理プログラムを説明する上で必要最低限にとどめる。トランザクション開始処理部121は、トランザクションを開始しするために、排他制御、バッファ制御、ログ制御の動作環境を生成し、排他制御処理部122は、資源の占有、占有解除を行い、バッファ制御処理部123は、データベースのバッファキャッシュの管理を行う。
【0021】
ログ制御処理部127は、トランザクションのリカバリ( ロールバックまたはダウンリカバリまたはメディアリカバリ) に備え、データベースの更新ログを採取し、トランザクション終了処理部128は、トランザクションを終了するために、トランザクションのロールバックまたはコミットを行い、排他制御、バッファ制御、ログ制御の動作環境を回収する。
【0022】
バッファ制御処理部123は、バッファ検索/割当処理、バッファ参照/更新処理、バッファ返却処理から構成されている。従来のバッファ検索/割当処理は、データベースのバッファキャッシュ上のページ検索と割り当てを行い、存在しない場合は新規にバッファを割り当て、I/O(読み込み) を行い、存在する場合はバッファの割り当てのみ行う。割り当てたバッファは、バックグラウンドで動作する空きバッファ生成処理によるバッファ追い出しの対象外になる。本発明の第一、第二、第三のページ割当手段は、この処理に対して機能追加したものである。
【0023】
バッファ参照/更新処理は、割り当てたバッファをメモリ上で参照または更新し、I/O(書き込み) はバックグラウンドで行う。バッファ返却処理は、割り当てたバッファを返却する。バッファを返却すると、バックグラウンドで動作する空きバッファ生成処理によるバッファ追い出しの対象となる。
図2は、アプリ制御表の例が示してある。この制御表は、従来からジョブを構成するアプリ実行体(データベースシステムのディスパッチの単位であり、複数のアプリ実行体が1つのスレッドを共有している。)毎に、例えばCPUの割当数、CPUの割当比率などアプリ実行体を制御するために必要な情報が格納されている。本発明では、このアプリ制御表に、オンライン業務運用中にオンライン業務の性能に影響を及ぼすことなく実行するバッチ業務(本発明では、バッチ業務と記述する)用アプリであるかどうかの種別情報を追加する。
【0024】
アプリ種別:次の種別のいずれかを示す。
− オンライン業務
− バッチ業務
図3は、オンバッファ判定用制御表の例が示してある。一度バッファ上に乗っかったページは、バッファ上から追い出されて再利用( 別のページで利用) されるまで、ハッシュチェーンに存在する。ハッシュ値は資源コードから定め、同一のハッシュ値を持つバッファ( ページ) を同じハッシュエントリでチェーン管理している。バッファ検索では、検索対象ページのハッシュ値を算出し、対応するハッシュエントリからつながるハッシュチェーンをキュー検索し、存在した場合はオンバッファとして扱う。この制御表は従来からあるもので、特に本発明に係るものではないため詳細な説明については省略する。
【0025】
図4は、トランザクション処理に係るジョブ処理全体の流れを示す概略フローチャートである。オンライン業務、又はバッチ業務のジョブがジョブ管理装置1に投入されると、ジョブ管理プログラム10は、そのジョブを構成するアプリケーション・プログラムについて、資源の割当やアプリケーションを実行制御するための環境条件などを設定しアプリケーションを実行可能状態とする(S401)。トランザクションに関わる処理を要求回数行い(S402)、終了したアプリケーションの資源の解放などのアプリ環境の閉鎖処理を行う(S403)。
【0026】
図5は、従来のアプリ環境開設処理に対する、本発明に係る追加処理の部分に関する処理の流れを示したフローチャートである。利用者が指定するアプリに対する環境パラメタなどに基づきアプリ制御表を作成するときに、外部パラメタでバッチ業務かオンライン業務かを指定させ、この情報をアプリ制御表に追加する(S501)。アプリ種別を判定し(S502)、バッチ業務の場合にはバッチ業務用のバッファキャッシュを拡張する(S503)。このバッチ業務用バッファキャッシュはキャッシュヒット率を要求するものではないため、例えば初期値が1メガバイトの大きさであり、多重に実行するアプリケーション・プログラムの数に応じて、新しいアプリケーション・プログラムを開設する度に1メガバイトずつ増加し、閉鎖時に回収するようにしたものである。
【0027】
図6は、従来のアプリ環境閉鎖処理に対する、本発明に係る追加処理の部分に関する処理の流れを示したフローチャートである。アプリ制御表を参照し(S601)、アプリ種別がバッチ業務の場合には、バッチ業務用のバッファキャッシュの縮小を行う(S603)。
図7は、従来のジョブ管理プログラム10のトランザクション処理部12のバッファ制御処理部123(図1で説明したように、バッファ制御処理の中のバッファ検索/割当処理)に対する機能追加処理に係る処理の流れを示すフローチャートである。最初に第一(オンライン業務用)のバッファキャッシュを検索し、オンバッファであるかどうかを判定する(S701)。第一のバッファキャッシュでオンバッファの場合は該当するバッファを割当(S703)、そうでない場合には、第二(バッチ業務用)のバッファキャッシュを検索し、オンバッファであるかどうかを判定する(S702)。第二のバッファキャッシュでオンバッファの場合は該当するバッファを割当(S703)、そうでない場合には、図8で示すバッファ新規割当/読込処理を行う(S704)
図8は、バッファ新規割当/読込処理の流れを示すフローチャートである。先ずアプリ制御表からアプリ種別を参照し(S801)、アプリ種別がバッチ業務であるかどうか判定する(S802)。バッチ業務であれば第二のバッファキャッシュから該当ページを割り当て(S803)、そうでない場合には第一のバッファキャッシュから該当ページを割り当てる(S804)。次にデータベースから該当ページにデータの読込処理を行う(S805)。データの読込処理については従来の処理であり、本発明に係る部分でないため処理の詳細については省略する。
【0028】
図9は、オンライン業務アプリケーションとバッチ業務アプリケーションとバッファキャッシュとの関連を示したものである。オンライン業務アプリケーションとバッチ業務アプリケーションでアクセスするページが競合する場合がある。オンライン業務アプリケーションとバッチ業務アプリケーションは共に、キャッシュヒット率を期待できるオンライン業務バッファキャッシュを先に検索し、次にバッチ業務用バッファキャッシュを検索する。どちらか一方のバッファキャッシュに当該ページが存在する可能性があり、存在した場合はそのバッファキャッシュを使用する(一時的にオンライン業務アプリケーションがバッチ業務用バッファキャッシュを、バッチ業務用アプリケーションがオンライン業務用バッファキャッシュを使用する場合がある)。どちらのバッファキャッシュにも存在しない場合は、オンライン業務アプリケーションはオンライン業務用バッファキャッシュから、バッチ業務用アプリケーションはバッチ業務用バッファキャッシュから新たにバッファを切り出して使用することが可能となり、同一の資源をアクセス対象とする場合でも、オンライン業務の性能を保証した上で、オンライン業務と平行してバッチ業務を行うことが可能となり、24時間365日連続運用が実現可能となる。また、オンライン業務とバッチ業務が同一の資源をアクセス対象とするか否かを管理する必要がなくなり、管理コストも軽減させることが可能となる。
【0029】
【発明の効果】
データベースシステムで、同一の資源をアクセス対象とする場合でも、オンライン業務の性能を保証した上で、オンライン業務と平行してバッチ業務を行うことが可能となり、24時間365日連続運用が実現可能となる。
また、オンライン業務とバッチ業務が同一の資源をアクセス対象とするか否かを管理する必要がなくなり、管理コストも軽減させることが可能となる。
【図面の簡単な説明】
【図1】実施の形態1の全体構成図
【図2】アプリ制御表の例
【図3】オンバッファ判定用制御表の例
【図4】ジョブ処理全体の流れ
【図5】アプリ環境開設処理の流れ
【図6】アプリ環境閉鎖処理の流れ
【図7】バッファ検索/割当処理の流れ
【図8】バッファ新規割当/読込処理の流れ
【図9】業務アプリとバッファキャッシュとの関連図
【符号の説明】
1 ジョブ管理装置
2 外部記憶装置
10 ジョブ管理プログラム
11 アプリ環境開設部
12 トランザクション処理部
13 アプリ環境閉鎖部
14 第一のバッファキャッシュ
15 第二のバッファキャッシュ
111 辞書情報提供プログラム
121 トランザクション開始処理部
122 排他制御処理部
123 バッファ制御処理部
124 第一のページ割当手段
125 第二のページ割当手段
126 第三のページ割当手段
127 ログ制御処理部
128 トランザクション終了処理部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to job management related to a transaction processing program, and in particular, even when an online job and a batch job access the same resource (table), a new batch job dedicated buffer cache is provided to improve the performance of the online job. And technology for preventing deterioration.
[0002]
[Prior art]
In the conventional database system, there is only one buffer cache for accessing the database. Therefore, if a batch operation accessing the same database as the online operation is performed during the operation of the online operation, a buffer used by the online operation is used. When a page on the cache is evicted by a batch job, the I / O amount to the disk for accessing the database of the online job increases, which is a major cause of deteriorating the response of the online job.
[0003]
To solve this problem, if the online job and the batch job do not access the same resource (table), the problem can be solved by setting up a necessary amount of database buffer cache for each resource in advance. . However, in the case where the same resource is to be accessed, a procedure of executing a batch job after temporarily stopping the online job is taken at present, and the continuous operability for 24 hours 365 days is impaired.
[0004]
If online and batch operations access the same resources, another method is to manage the amount of buffer cache used by online and batch operations in the same database buffer cache. Can be However, in the case of this method, in a system using a plurality of database buffer caches, such as establishing a database buffer cache for each resource, the buffer cache used by the online business and the batch business is used for each database buffer cache. Must be managed, which increases management costs.
[0005]
Further, if the batch processing is executed as a non-transaction or as one transaction in the entire batch processing, when an error occurs, the batch processing must be re-executed from the beginning, and the processing takes a very long time. In order to prevent such a situation, it is common practice to execute batch processing as a transaction, and to repeatedly execute the transaction by dividing the transaction into a unit of processing. As a result, even if an error occurs, re-execution from the point of occurrence of the error can be completed, so that it is used as an operation such as 24 hours 365 days continuous operability.
[0006]
As a remedy to the above problem, as a file updating method including a storage medium storing a file and an extended storage device for accessing the data, the extended storage device is temporarily disconnected from online business, In the online business, the reference business is continued using the file on the storage medium, while the batch business updates the record using the extended storage device, and updates the record on the extended storage device after the batch business is completed. A file update method has been disclosed in which a file is updated by batch reloading to a file on a storage medium (for example, see Patent Document 1).
[0007]
According to the above-mentioned remedy, the extended storage device can be temporarily occupied and used by the batch operation, eliminating the conflict between the resources of the online operation and the batch operation, and without affecting the online operation while continuing the online operation. It has become possible to execute high-speed batch operations.
[0008]
[Patent Document 1]
JP-A-6-139120 (pages 2-3)
[0009]
[Problems to be solved by the invention]
However, with the above improvement measures, if the online business does not perform data update processing, there is no competition between the resources of the online business and the batch business, and a high-speed batch business that does not affect the online business while continuing online is performed. Although it is possible to execute, but if the batch operation and online operation update the same resource, exclusive control and database update are performed so that the online operation can correctly recognize the resource updated in the batch operation. I / O is required, and the impact of the batch operation on the online operation still remains.
[0010]
The present invention has been proposed in view of the above circumstances, and even when an online job and a batch job access the same resource (including an update process), the online job can be executed during the online job operation. The purpose is to be able to execute batch tasks without affecting performance.
[0011]
[Means for Solving the Problems]
FIG. 1 shows an overall configuration diagram of Embodiment 1 of the present invention. The job management program 10 of the present invention is executed on a computer that behaves as the job management apparatus 1, and for each business application, whether the business application is for online business or batch business (in the present invention, batch business is online business operation) The application type storage means 111 for storing in the storage device the application type information for identifying whether or not the batch operation is executed without affecting the performance of the online operation. When added to the application environment opening unit 11 of the job management program 10 and detects that the page for the database access request is on-buffer on the first buffer cache shared by a plurality of online business applications, the corresponding page is detected. Page into the first buffer A first page allocating unit 124 that allocates a page for a database access request when the first page allocating unit 124 detects that a page for a database access request is on-buffer on a second buffer cache shared by a plurality of batch business applications; The second page allocating unit 125 allocated from the second buffer cache is added to the buffer control unit 123 of the job management program related to the conventional transaction processing.
[0012]
Further, when detecting that the page for the database access request is not on-buffer on any buffer cache, the type of the business application that requested the database access is determined based on the application type information, In the case of an application program, a corresponding page is allocated from the second buffer cache; otherwise, a corresponding page is allocated from the first buffer cache. It is added to the buffer control unit 123 of the job management program related to the transaction processing.
[0013]
The batch job shares only the on-buffer part of the first buffer cache (the page accessed by the online job), and if it is not on-buffer on the first buffer cache, cuts out a new page from the second buffer cache . Since the batch job does not cut out new pages from the first buffer cache in this way, the batch job does not evict pages accessed by the online business from the first buffer cache, and the performance of the online job is not Has no effect.
[0014]
Furthermore, since the page frequently accessed by the online job is in the on-buffer in the first buffer cache, the order in which the buffer cache is checked to see if it is on-buffer is executed by the first page allocating means first. However, the search time can be minimized by causing the second page allocating unit to execute only when the first page allocating unit cannot detect the on-buffer.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows an overall configuration diagram of Embodiment 1 of the present invention. The job management program 10 of the present invention stores, for each business application, application type information for identifying whether the business application is for online business or batch business in the application control table shown in FIG. 2. The means 111 is added to the application environment opening unit 11 for allocating resources to the application of the job management program 10 related to the conventional transaction processing and making the application executable.
[0016]
Further, when it is detected that the page for the access request to the database 21 on the external storage device 2 is on-buffer in the first buffer cache 14 (conventional database buffer cache) shared by a plurality of online business applications. A first page allocating means 124 for allocating a corresponding page from the first buffer cache 14, and a page for a database access request being buffered on a second buffer cache 15 shared by a plurality of batch business applications. And the second page allocating means 125 for allocating the relevant page from the second buffer cache 15 to manage the database buffer cache of the job management program related to the conventional transaction processing. Add to Ffa controller 123.
[0017]
Further, upon detecting that the page for the database access request is not on-buffer in any buffer cache, the type of the business application that requested the database access is determined based on the application control table shown in FIG. In the case of a business application program, a third page allocating means for allocating a corresponding page from the second buffer cache 15 and allocating a corresponding page from the first buffer cache 14 otherwise. 126 is added to the buffer control unit 123 of the job management program related to the conventional transaction processing.
[0018]
As described above, for a batch business application that is executed during the online business operation without affecting the performance of the online business, the system uses a buffer cache dedicated to the batch business (the second buffer cache) separately from the database buffer cache. By assigning 15), since the batch business application does not use the database buffer cache used by the online business, the cache hit rate of the database buffer cache can be guaranteed, and the performance of the online business can be guaranteed.
[0019]
The second buffer cache 15 mainly serves as an I / O work area, and does not expect a cache hit rate. As shown in FIG. 9, one second buffer cache 15 exists in the system and is shared between batch business applications. The size of the second buffer cache 15 is dynamically determined according to the multiplicity of the batch operation. The size is expanded when the multiplicity increases, and reduced when the multiplicity decreases. The size per batch job is 1 MB (megabyte) when nothing is specified, but can be changed by an external parameter.
[0020]
Since the job management program is a conventional function, a detailed description of each processing unit is omitted, and only a minimum necessary for describing the job management program. The transaction start processing unit 121 generates an operating environment for exclusive control, buffer control, and log control in order to start a transaction. The exclusive control processing unit 122 occupies and releases exclusive use of resources. 123 manages the buffer cache of the database.
[0021]
The log control processing unit 127 collects an update log of the database in preparation for transaction recovery (rollback or down recovery or media recovery), and the transaction end processing unit 128 performs transaction rollback or transaction Perform commit and collect the operating environment of exclusive control, buffer control, and log control.
[0022]
The buffer control processing unit 123 includes a buffer search / allocation process, a buffer reference / update process, and a buffer return process. The conventional buffer search / allocation process searches and allocates a page in the database buffer cache, allocates a new buffer if it does not exist, performs I / O (read), and only allocates a buffer if it exists. . The allocated buffer is not subject to the buffer eviction by the empty buffer generation processing that operates in the background. The first, second, and third page allocating means of the present invention are obtained by adding functions to this processing.
[0023]
The buffer reference / update processing refers to or updates the allocated buffer on the memory, and performs I / O (writing) in the background. The buffer return process returns the allocated buffer. When the buffer is returned, it becomes a target of buffer eviction by the empty buffer generation processing that operates in the background.
FIG. 2 shows an example of the application control table. The control table includes, for example, the number of allocated CPUs, the number of CPUs, and the like for each application executor constituting a job (a dispatch unit of a database system, and a plurality of application executors share one thread). The information necessary for controlling the application execution body such as the allocation ratio of the application is stored. In the present invention, in the application control table, type information indicating whether or not the application is a batch business (described as a batch business in the present invention) that is executed during the online business operation without affecting the performance of the online business. to add.
[0024]
Application type: Indicates one of the following types.
FIG. 3 shows an example of an on-buffer determination control table. Once a page is on the buffer, it remains in the hash chain until it is evicted from the buffer and reused (used on another page). The hash value is determined from the resource code, and buffers (pages) having the same hash value are chain-managed with the same hash entry. In the buffer search, a hash value of the search target page is calculated, a hash chain connected from the corresponding hash entry is searched in a queue, and if there is, it is treated as an on-buffer. This control table is conventional and does not particularly relate to the present invention, so that the detailed description is omitted.
[0025]
FIG. 4 is a schematic flowchart showing the flow of the entire job processing related to the transaction processing. When a job of an online job or a batch job is input to the job management apparatus 1, the job management program 10 assigns, for an application program constituting the job, resource allocation and environmental conditions for controlling the execution of the application. The application is set to be executable (S401). The process related to the transaction is performed the requested number of times (S402), and the closing process of the application environment such as releasing the resources of the terminated application is performed (S403).
[0026]
FIG. 5 is a flowchart showing a flow of processing related to a part of the additional processing according to the present invention with respect to the conventional application environment opening processing. When an application control table is created based on environment parameters for an application specified by a user, the user is asked to specify a batch operation or an online operation by an external parameter, and this information is added to the application control table (S501). The application type is determined (S502), and in the case of a batch job, the buffer cache for the batch job is extended (S503). Since this batch business buffer cache does not require a cache hit rate, the initial value is, for example, 1 megabyte, and a new application program is opened according to the number of application programs to be multiplexed. It increases by 1 megabyte each time and is collected when closed.
[0027]
FIG. 6 is a flowchart showing a flow of processing related to a part of the additional processing according to the present invention with respect to the conventional application environment closing processing. Referring to the application control table (S601), if the application type is batch business, the buffer cache for the batch business is reduced (S603).
FIG. 7 shows processing related to the function addition processing for the buffer control processing unit 123 (the buffer search / allocation processing in the buffer control processing as described in FIG. 1) of the transaction processing unit 12 of the conventional job management program 10. It is a flowchart which shows a flow. First, the first (online business) buffer cache is searched to determine whether the buffer is on-buffer (S701). If the first buffer cache is an on-buffer, a corresponding buffer is allocated (S703); otherwise, a second (for batch business) buffer cache is searched to determine whether it is an on-buffer (S703). S702). If the second buffer cache is an on-buffer, a corresponding buffer is allocated (S703); otherwise, a new buffer allocation / read process shown in FIG. 8 is performed (S704).
FIG. 8 is a flowchart showing the flow of the new buffer allocation / read processing. First, the application type is referred to from the application control table (S801), and it is determined whether the application type is a batch operation (S802). If it is a batch job, the corresponding page is allocated from the second buffer cache (S803). If not, the corresponding page is allocated from the first buffer cache (S804). Next, data is read from the database to the corresponding page (S805). The data reading process is a conventional process and is not a part related to the present invention, so that the details of the process are omitted.
[0028]
FIG. 9 shows the relationship between the online business application, the batch business application, and the buffer cache. Pages accessed by online business applications and batch business applications may conflict. Both the online business application and the batch business application search for an online business buffer cache that can be expected to have a cache hit rate, and then search for a batch business buffer cache. The page may exist in one of the buffer caches, and if so, use that buffer cache. (The online business application temporarily uses the batch business buffer cache, and the batch business application uses the online business buffer cache.) Buffer cache may be used). If the buffer does not exist in either buffer cache, the online business application can cut out the buffer from the online business buffer cache and the batch business application can cut out the buffer from the batch business buffer cache and use it. Even in the case of the access target, the batch operation can be performed in parallel with the online operation while the performance of the online operation is guaranteed, and continuous operation for 24 hours and 365 days can be realized. Further, it is not necessary to manage whether the online business and the batch business use the same resource as the access target, and the management cost can be reduced.
[0029]
【The invention's effect】
Even if the same resource is accessed by the database system, it is possible to perform batch operations in parallel with online operations while guaranteeing the performance of online operations, enabling continuous operation 24 hours a day, 365 days a year. Become.
Further, it is not necessary to manage whether the online business and the batch business use the same resource as the access target, and the management cost can be reduced.
[Brief description of the drawings]
FIG. 1 is an overall configuration diagram of a first embodiment. FIG. 2 is an example of an application control table. FIG. 3 is an example of an on-buffer determination control table. FIG. [FIG. 6] Flow of application environment closing process [FIG. 7] Flow of buffer search / allocation process [FIG. 8] Flow of new buffer allocation / read process [FIG. 9] Relationship diagram between business application and buffer cache [code] Description]
REFERENCE SIGNS LIST 1 job management device 2 external storage device 10 job management program 11 application environment opening unit 12 transaction processing unit 13 application environment closing unit 14 first buffer cache 15 second buffer cache 111 dictionary information providing program 121 transaction start processing unit 122 exclusive Control processing unit 123 Buffer control processing unit 124 First page allocation unit 125 Second page allocation unit 126 Third page allocation unit 127 Log control processing unit 128 Transaction end processing unit

Claims (4)

データベース・アクセス要求のためのページが、複数のオンライン業務アプリケーションが共用する第一のバッファキャッシュ上でオンバッファであることを検出すると、該当するページを前記第一のバッファキャッシュから割り当てるステップと、
データベース・アクセス要求のためのページが複数のバッチ業務アプリケーションが共用する第二のバッファキャッシュ上でオンバッファであることを検出すると、該当するページを前記第二のバッファキャッシュから割り当てるステップと、
前記データベース・アクセス要求のためのページが何れのバッファキャッシュ上でもオンバッファでないことを検出すると、前記データベース・アクセス要求した業務アプリケーションの種別を予め記憶装置に記憶されているアプリ種別情報に基づき判定し、バッチ業務用のアプリケーション・プログラムの場合には、該当するページを前記第二のバッファキャッシュから割り当て、そうではない場合には該当するページを前記第一のバッファキャッシュから割り当てるステップと
を有することを特徴とするジョブ管理方法。
Allocating a corresponding page from the first buffer cache upon detecting that a page for a database access request is on-buffer on a first buffer cache shared by a plurality of online business applications;
When detecting that the page for the database access request is on-buffer on the second buffer cache shared by a plurality of batch business applications, allocating the relevant page from the second buffer cache;
When detecting that the page for the database access request is not on-buffer on any buffer cache, the type of the business application that requested the database access is determined based on the application type information stored in the storage device in advance. Allocating a corresponding page from the second buffer cache in the case of an application program for batch business, and otherwise allocating a corresponding page from the first buffer cache. Characterized job management method.
業務アプリケーション毎に、業務アプリケーションがオンライン業務用であるか、バッチ業務用であるかを識別するためのアプリ種別情報を記憶装置に記憶させるアプリ種別記憶手段と、
データベース・アクセス要求のためのページが、複数のオンライン業務アプリケーションが共用する第一のバッファキャッシュ上でオンバッファであることを検出すると、該当するページを前記第一のバッファキャッシュから割り当てる第一のページ割当手段と、
データベース・アクセス要求のためのページが複数のバッチ業務アプリケーションが共用する第二のバッファキャッシュ上でオンバッファであることを検出すると、該当するページを前記第二のバッファキャッシュから割り当てる第二のページ割当手段と、
前記データベース・アクセス要求のためのページが何れのバッファキャッシュ上でもオンバッファでないことを検出すると、前記データベース・アクセス要求した業務アプリケーションの種別を前記アプリ種別情報に基づき判定し、バッチ業務用のアプリケーション・プログラムの場合には、該当するページを前記第二のバッファキャッシュから割り当て、そうではない場合には該当するページを前記第一のバッファキャッシュから割り当てる第三のページ割当手段と
を有することを特徴とするジョブ管理装置。
For each business application, an application type storage unit that stores application type information for identifying whether the business application is for online business or batch business in a storage device,
When detecting that a page for a database access request is on-buffer on a first buffer cache shared by a plurality of online business applications, a first page to allocate a corresponding page from the first buffer cache Assigning means;
When detecting that a page for a database access request is on-buffer on a second buffer cache shared by a plurality of batch business applications, a second page allocation for allocating a corresponding page from the second buffer cache Means,
When detecting that the page for the database access request is not on-buffer on any buffer cache, the type of the business application that requested the database access is determined based on the application type information, and the application for the batch business is determined. In the case of a program, a third page allocating unit that allocates a corresponding page from the second buffer cache, and otherwise allocates a corresponding page from the first buffer cache. Job management device.
業務アプリケーション毎に、業務アプリケーションがオンライン業務用であるか、バッチ業務用であるかを識別するためのアプリ種別情報を記憶装置に記憶させるアプリ種別記憶手段と、
データベース・アクセス要求のためのページが、複数のオンライン業務アプリケーションが共用する第一のバッファキャッシュ上でオンバッファであることを検出すると、該当するページを前記第一のバッファキャッシュから割り当てる第一のページ割当手段と、
データベース・アクセス要求のためのページが複数のバッチ業務アプリケーションが共用する第二のバッファキャッシュ上でオンバッファであることを検出すると、該当するページを前記第二のバッファキャッシュから割り当てる第二のページ割当手段と、
前記データベース・アクセス要求のためのページが何れのバッファキャッシュ上でもオンバッファでないことを検出すると、前記データベース・アクセス要求した業務アプリケーションの種別を前記アプリ種別情報に基づき判定し、バッチ業務用のアプリケーション・プログラムの場合には、該当するページを前記第二のバッファキャッシュから割り当て、そうではない場合には該当するページを前記第一のバッファキャッシュから割り当てる第三のページ割当手段と
してコンピュータを機能させるジョブ管理プログラム。
For each business application, an application type storage unit that stores application type information for identifying whether the business application is for online business or batch business in a storage device,
When detecting that a page for a database access request is on-buffer on a first buffer cache shared by a plurality of online business applications, a first page to allocate a corresponding page from the first buffer cache Assigning means;
When detecting that a page for a database access request is on-buffer on a second buffer cache shared by a plurality of batch business applications, a second page allocation for allocating a corresponding page from the second buffer cache Means,
When detecting that the page for the database access request is not on-buffer on any buffer cache, the type of the business application that requested the database access is determined based on the application type information, and the application for the batch business is determined. In the case of a program, a corresponding page is allocated from the second buffer cache; otherwise, a corresponding page is allocated from the first buffer cache. program.
前記第二のページ割当手段は、前記第一のページ割当手段が前記第一のバッファキャッシュ上でオンバッファでないことを検出した時のみ実行する請求項3記載のジョブ管理プログラム。The job management program according to claim 3, wherein the second page allocating means executes only when the first page allocating means detects that the buffer is not on-buffer on the first buffer cache.
JP2003097447A 2003-03-31 2003-03-31 Job management method, job management device, and job management program Pending JP2004303096A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003097447A JP2004303096A (en) 2003-03-31 2003-03-31 Job management method, job management device, and job management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003097447A JP2004303096A (en) 2003-03-31 2003-03-31 Job management method, job management device, and job management program

Publications (1)

Publication Number Publication Date
JP2004303096A true JP2004303096A (en) 2004-10-28

Family

ID=33409230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003097447A Pending JP2004303096A (en) 2003-03-31 2003-03-31 Job management method, job management device, and job management program

Country Status (1)

Country Link
JP (1) JP2004303096A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234024A (en) * 2007-03-16 2008-10-02 Fujitsu Ltd Batch processing program, batch processing method and batch processing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234024A (en) * 2007-03-16 2008-10-02 Fujitsu Ltd Batch processing program, batch processing method and batch processing device

Similar Documents

Publication Publication Date Title
EP3531292B1 (en) Methods and apparatus for supporting persistent memory
US9547600B2 (en) Method and system for restoring consumed memory after memory consolidation
KR101025354B1 (en) Global overflow method for virtualized transactional memory
US5410700A (en) Computer system which supports asynchronous commitment of data
US8935456B2 (en) Method and system for integrating database memory management in virtual machines
US7949839B2 (en) Managing memory pages
US20130091331A1 (en) Methods, apparatus, and articles of manufacture to manage memory
KR20120103715A (en) Mechanisms to accelerate transactions using buffered stores
US8397045B2 (en) Memory management device, memory management method, and memory management program
US8898413B2 (en) Point-in-time copying of virtual storage
US11249853B2 (en) System and method for creating a snapshot of a subset of a database
US7644114B2 (en) System and method for managing memory
JP4189342B2 (en) Storage apparatus, storage controller, and write-back cache control method
US8892838B2 (en) Point-in-time copying of virtual storage and point-in-time dumping
JP4506292B2 (en) Cache control method, data processing system, and processing program therefor
Lee et al. VM-aware flush mechanism for mitigating inter-VM I/O interference
JP2004303096A (en) Job management method, job management device, and job management program
US7934067B2 (en) Data update history storage apparatus and data update history storage method
Xu et al. I/O Transit Caching for PMem-based Block Device
CN118069071B (en) Resource access control method, device, computer equipment and storage medium
US11934321B2 (en) Kernel support for memory paging
Koo et al. LOCKED-Free journaling: Improving the coalescing degree in EXT4 journaling
US12050810B2 (en) Systems and methods for hardware-based asynchronous persistence
US8688662B2 (en) Copy on access to locked objects
EP0216170A2 (en) Storage management method and system in a multiprocessor environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090519