JP4041002B2 - データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム - Google Patents
データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム Download PDFInfo
- Publication number
- JP4041002B2 JP4041002B2 JP2003080168A JP2003080168A JP4041002B2 JP 4041002 B2 JP4041002 B2 JP 4041002B2 JP 2003080168 A JP2003080168 A JP 2003080168A JP 2003080168 A JP2003080168 A JP 2003080168A JP 4041002 B2 JP4041002 B2 JP 4041002B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- data
- database
- queue
- processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、限られた時間内に大量の更新データを効率良く、かつ、高速に処理するデータベース更新処理システム等に関する。
【0002】
【従来の技術】
近年、コンピュータと端末装置あるいはコンピュータ同士が通信回線を介して接続されるオンラインシステムでは、ユーザから送信されたメッセージに応答して、所定のデータ処理が施された後、所定の結果を通知するトランザクション処理が広く実施されている。従来のトランザクション処理システムでは、システム内に一つまたは複数のキューを持ち、そのキュー内に蓄えられたトランザクションデータを、シングルタスクまたはマルチタスクで、順次または独立して処理する構成が採用されている。
【0003】
シングルタスクでトランザクションデータを順次に処理する従来のシステムでは、単位時間あたりにおけるトランザクションデータ処理件数の向上には限界があった。そのために、マルチタスクによる並列処理が検討されてきたが、一つのキューに蓄積された多数トランザクションデータをマルチタスクで効率良く処理することは非常に難しい。そこで、独立に処理可能な複数のトランザクションデータを蓄積するキューと、このキューの制御情報を含む制御テーブルと、キューに蓄積されたトランザクションデータに対して同じ処理を行う複数のタスクを稼動する手段とを備えることで、複数タスクの効率的な並列処理により処理速度を向上することができる並列トランザクション処理システムが提案されている(例えば、特許文献1参照。)。
【0004】
【特許文献1】
特開平11−53202号公報(第3−4頁、図1)
【0005】
【発明が解決しようとする課題】
ここで、例えば、金融機関の情報システムにおけるデータベースを例に挙げると、これらの情報システムでは、(i)一日に数千万件以上の大量データを取り扱う。(ii)例えば勘定系のログ以外の他業務システムから渡されるファイルにも対応する。(iii)多種多様なデータベース更新を行う。(iv)データ量の増加に柔軟的に対応する。といった数々の複雑な条件が、データベースの構築に際して前提とされている。
【0006】
例えば、情報系システムでのデータベースの構築では、これらの条件のもとで所定のデータベース更新処理を行うことが必要となる。しかしながら、データは一定時間間隔で大量に受け渡されるために、限られた時間内にデータベース更新処理を完了させる仕組みが必要となる。また、データ処理中にデータベースを更新するプログラムなどで障害が発生した場合には、障害データを回避させ、後続のデータを処理することが必要となる。上記特許文献1の技術だけでは、例えば、上記金融機関の情報システムが有する各種条件に対して充分に対処することができない。
【0007】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、例えば制御キューという新たなコンポーネント、およびデータのブロッキングとパッケージングを採用することで、大量のデータを高速に処理する並列処理の実現と共に、データベースのコンテンションを回避することにある。
また他の目的は、例えば個々のパッケージ単位で並列処理を行うことで、データベース更新の処理効率を向上させることにある。
更に他の目的は、例えばパッケージングする更新データのキーを事前にソートすることで、データベースのコンテンション(端末同士の使用権の奪い合い)を極小化することにある。
また更に他の目的は、例えばプログラム障害などの起因となったデータを含むパッケージ単位にデータ処理を保留することで、データ量が大量であった場合でも障害時に適切に対処することにある。
【0008】
【課題を解決するための手段】
かかる目的のもと、本発明では、データベースを更新するn個の更新データを一つのブロックとして物理的にブロッキングし、この複数ブロックを一つのまとまりとして、論理的にパッケージングした。そして、このパッケージ単位にパッケージ情報を作成し、制御キューに格納(保管)している。制御キューに格納(保管)されたパッケージ情報は、データ処理部(ストリーマ)によって読み込まれ、読み込んだデータ処理部(ストリーマ)がパッケージ情報に対応するパッケージを処理するように構成した。これによって、複数パッケージ間での並列処理が可能になると共に、一つのパッケージ内のブロックを順次処理することが可能となる。
【0009】
即ち、本発明が適用されるデータベース更新処理システムは、データベースを更新する複数の更新データをブロックとして保管するデータキューと、このデータキューに格納される複数のブロックを関連付けてパッケージ単位とし、このパッケージの内容を記述したパッケージ情報を保管する制御キューと、制御キューからパッケージ情報を読み取り、パッケージにより関連付けられているブロックをデータキューから取り出してデータベース更新処理を行う処理タスクとを含む。
【0010】
ここで、この処理タスクを複数設け、複数の処理タスクは、制御キューを共用して並列処理を行うことを特徴とすれば、データベースのコンテンションを回避し、処理効率を向上させることができる点で好ましい。また、この制御キューは、データベース更新処理の順序を守る必要があるデータに関しては、一つのパッケージ内に収納されるようにパッケージングがなされることを特徴とすれば、連続した処理を行う場合などに、順序処理を可能とする点で優れている。
【0011】
また、データベース更新業務の障害時に、データベース更新業務で処理していたブロックに関するパッケージ情報を一時保留する保留キューを更に含むことを特徴とすれば、障害があった更新データをデータキューより移動させることなく、処理をバイパスさせることができる点で好ましい。
【0012】
一方、本発明は、データベースに対する更新処理を行うためのデータベース更新処理システムであって、ソート済み更新データファイルから更新データを読み込み、所定の更新データ単位に独立したバッファを用いてブロッキングを行う手段と、メッセージIDと複数の更新データを含むブロックをデータキューに書き出す手段と、所定数のブロックがデータキューに書き出された後に、ブロックの処理単位を特定するパッケージ情報を制御キューに書き出す手段とを含む。
【0013】
ここで、この制御キューに書き込まれるパッケージ情報は、データキューに書き出されたブロックに含まれるメッセージIDと同一のメッセージIDによって、データキューと関連付けがなされていることを特徴とすることができる。
【0014】
他方、本発明が適用されるデータベース更新処理システムは、パッケージ情報取得手段により、更新データのブロックを複数まとめたパッケージ情報を保有する制御キューからパッケージ情報を取得し、ブロック取得手段により、制御キューに保有されるパッケージ情報から、ブロックを保有するデータキューを特定し、特定されたデータキューからブロックを取得する。また、出力手段により、データベースに対して更新処理を行う更新業務部に、ブロック取得手段により取得されたブロックを出力している。
【0015】
ここで、この出力手段は、ブロック取得手段により取得されたブロックに含まれる更新データの内容ごとに決められたデータベース更新業務を呼び出して、ブロックをデータベース更新業務に提供することを特徴としている。尚、この制御キューは、複数のパッケージ情報を保有すると共に、ブロック取得手段は、特定のパッケージ情報に対して関連付けされたデータキューからブロックを取得することを特徴としている。更に、この更新業務部にて障害があった場合に、障害が発生したデータベース更新業務で処理していたブロックに対するパッケージ情報を保留キューに出力する保留キュー出力手段を含むことを特徴とすれば、処理タスクでの再処理を自動的に防止することが可能となる点で優れている。
【0016】
他の観点から把えると、本発明が適用されるデータベース更新のための更新データ入力方法は、データベースに対する更新データをソート済み更新データファイルから読み込むステップと、読み込まれた更新データから、所定の更新データ単位にてブロッキングを行うステップと、ブロッキングにより形成されたブロックをデータキューに書き出すステップと、所定数のブロックがデータキューに書き出された後に、ブロックをまとめて処理するためのパッケージ情報を制御キューに書き出すステップとを含む。ここで、この制御キューには複数のパッケージ情報が書き込まれると共に、書き込まれた複数のパッケージ情報の中の特定のパッケージ情報は、複数のブロックが保管されるデータキューと関連付けがなされていることを特徴とすることができる。
【0017】
また、他の観点から把えると、本発明が適用されるデータベース更新のための更新データ処理方法は、更新データのブロックを複数まとめたパッケージ情報を保有する制御キューからパッケージ情報を取得するステップと、制御キューに保有されるパッケージ情報から、ブロックを保有するデータキューを特定するステップと、特定されたデータキューからブロックを取得するステップと、データベースに対して更新処理を行う更新業務部に、取得されたブロックを出力するステップと、更新業務部にて障害があった場合に、障害が発生したデータベース更新業務で処理していたブロックに対するパッケージ情報を保留キューに出力するステップとを含む。
【0018】
ここで、本発明は、コンピュータに所定の機能を実現させるプログラムとして把握することができる。即ち、本発明が適用されるプログラムは、コンピュータに、データベースに対する更新データをソート済み更新データファイルから読み込む機能と、読み込まれた更新データから、所定の更新データ単位にてブロッキングを行う機能と、ブロッキングにより形成されたブロックをデータキューに書き出す機能と、所定数のブロックがデータキューに書き出された後に、ブロックをまとめて処理するためのパッケージ情報を制御キューに書き出す機能とを実現させる。
【0019】
また、本発明が適用されるプログラムは、コンピュータに更新データのブロックを複数まとめたパッケージ情報を保有する制御キューからパッケージ情報を取得する機能と、制御キューに保有されるパッケージ情報から、ブロックを保有するデータキューを特定する機能と、特定されたデータキューからブロックを取得する機能と、データベースに対して更新処理を行う更新業務部に、取得されたブロックを出力する機能と、更新業務部にて障害があった場合に、障害が発生したデータベース更新業務で処理していたブロックに対するパッケージ情報を保留キューに出力する機能とを実現させる。
【0020】
尚、これらのプログラムとしては、コンピュータを顧客に対して提供する際に、装置の中にインストールされた状態にて提供される場合の他、コンピュータに実行させるプログラムをコンピュータが読取可能に記憶した記憶媒体にて提供する形態が考えられる。この記憶媒体としては、例えばCD−ROM媒体や磁気テープ等が該当し、CD−ROM読取装置や磁気テープ装置等によってプログラムが読み取られて実行される。また、これらのプログラムは、例えば、プログラム伝送装置によってネットワークを介して提供される形態がある。このプログラム伝送装置は、例えば、ホスト側のサーバに設けられ、プログラムを格納するメモリと、ネットワークを介してプログラムを提供するプログラム伝送手段とを備えている。
【0021】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて本発明を詳細に説明する。
図9は、本実施の形態において使用可能であるコンピュータシステムの代表的なハードウェア構成の一例を示したものである。コンピュータシステム100は、中央処理装置(CPU)101とメインメモリ104を含んでいる。CPU101とメインメモリ104は、バス102を介して、補助記憶装置としてのハードディスク装置113、130と接続されている。また、フレキシブルディスク装置120、MO装置128、CR−ROM装置126、129などのリムーバブルストレージ(記録メディアを交換可能な外部記憶システム)が関連するフレキシブルディスクコントローラ119、IDEコントローラ125、SCSIコントローラ127などを介してバス102へ接続されている。
【0022】
フレキシブルディスク装置120、MO装置128、CR−ROM装置126、129などのリムーバブルストレージには、それぞれフレキシブルディスク、MO、CD−ROMなどの記憶媒体が挿入され、このフレキシブルディスク等やハードディスク装置113、130、ROM114には、オペレーティングシステム(OS)と協働して中央処理装置(CPU)101等に命令を与え、本実施の形態を実現するためのコンピュータプログラムのコードを記録することができる。メインメモリ104にロードされることによってコンピュータプログラムは実行される。コンピュータプログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
【0023】
コンピュータシステム100は、更に、ユーザインターフェイスハードウェアとして、マウス等のポインティングデバイス107、キーボード106や視覚データをユーザに提示するためのディスプレイ112を有することができる。ポインティングデバイス107やキーボード106は、キーボードマウスコントローラ105によって制御される。また、ディスプレイ112は、グラフィックス制御チップ(VGA)108によりVRAM109を用いてグラフィックス展開された画像が表示される。更に、パラレルポート116を介してプリンタ(図示せず)と接続することや、シリアルポート115を介してモデム(図示せず)を接続することが可能である。また、シリアルポート115及びモデムを介し、また、通信アダプタ118(イーサネット(米ゼロックス社登録商標)カードやトークンリングカード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
【0024】
スピーカ123は、オーディオコントローラ121によってD/A変換(デジタル/アナログ変換)された音声信号をアンプ122を介して受け取り、音声として出力する。また、オーディオコントローラ121は、マイクロフォン124から受け取った音声情報をA/D変換(アナログ/デジタル変換)し、システム外部の音声情報をシステムに取り込むことを可能にしている。
【0025】
以上の説明により、本発明の実施の形態におけるコンピュータシステム100は、メインフレーム、ワークステーション、通常のパーソナルコンピュータ(PC)、ラップトップPC、ノートブックPC、パームトップPC、ネットワークコンピュータ等の情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本実施の形態における必須構成要素となるわけではない。
【0026】
本実施の形態に使用されるコンピュータシステム100の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は、当業者によって容易に想定され得るものであり、それらの変更は、当然に本発明の思想に包含される概念である。
【0027】
本発明は、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するコンピュータシステム100における実行が典型的な例として挙げられる。かかる場合、所定のプログラムがコンピュータシステム100にロードされ実行されることにより、所定のプログラムは、コンピュータシステム100を制御し、本発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または1.他の言語・コード・表記への変換、2.他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フロッピーディスク、MO、CD−ROM、DVD、ハードディスク装置113、130、ROM114、MRAM、RAM等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のコンピュータシステムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【0028】
本実施の形態のシステムにおいては、図9の各機能ブロックは図1に示すハードウェア構成を持つコンピュータシステムのハードウェア資源と各ハードウェア資源において実行されるオペレーティングシステム、ミドルウェア、アプリケーションプログラムなどのソフトウェアが協働することによって実現される。
【0029】
次に、本実施の形態における特徴的な構成について詳述する。
図1は、本実施の形態におけるデータベース更新処理システムの全体構成を示した図である。図1に示すデータベース更新処理システムは、ログ選別処理部11、更新データファイル12、ソート部13、ソート済み更新データファイル14、および入力処理部30を備えている。ログ選別処理部11は、記帳系からのトランザクションログ(トランザクション処理にて各種DB等を更新した記録)を入力してログを分割し、ログ選別処理を施している。更新データファイル12では、記帳系での処理順に更新データが蓄積されている。、ソート部13では、更新データファイル12の内容が主キー順およびDB(データベース)更新通番により並び替えられる。ソート済み更新データファイル14は、ソート部13により主キー順およびDB更新通番にて昇順ソートされた順次ファイルである。また、入力処理部30では、ソート済み更新データファイル14に格納されているデータに基づいて、ログ読み込み・振り分け処理が行われる。
【0030】
また、データベース更新処理システムは、本実施の形態における特徴的な構成として、データキュー21、制御キュー22、保留キュー23、およびデータ処理部(ストリーマ)50を備えている。データキュー21は、更新データをn個まとめたブロック(更新データメッセージ)を保管(蓄積)するキューである。制御キュー22は、複数のブロック(更新データメッセージ)をまとめたパッケージ情報(パッケージ数、データキュー21の名前など)を保管(蓄積)するキューである。保留キュー23は、データ処理部50にてプログラム障害などが発生した場合に、処理中に退避させる制御メッセージを保管(蓄積)するキューである。処理タスクであるデータ処理部(ストリーマ)50は、データキュー21より更新データメッセージを取得してデータベース更新処理を実行している。
【0031】
更に、データベース更新処理システムは、データ処理部50から更新データメッセージを受け取る更新業務プログラムからなる更新業務部20を有し、この更新業務部20は、更新処理振分部24、DB更新プログラムであるDB更新部25を有している。また、更新業務部20による更新処理対象である更新対象DB26を備えている。この更新処理振分部24は、データ処理部50から渡されたブロックの内容を確認し、内容ごとに決められているDB更新部25にブロックを渡している。また、DB更新部25は、複数のDB更新業務プログラムによって構成されており、受け取ったブロックをデブロック(ブロック解除)し、業務処理の必要なものには処理を施し、対応する各種更新対象DB26に対して更新を実行している。
【0032】
ここで、本実施の形態におけるパッケージとブロッキングについて説明する。図2(a),(b)は、複数のデータ処理部(ストリーマ)50が同一キーを持ってデータベースの更新を行う場合の並列処理の例を示した図である。図2(a)に示すように、同一キー(ここでは、CIF#1)を持つ複数レコードを、データ処理部(ストリーマ)50でそのまま並列処理しようとすると、複数のデータ処理部(ストリーマ)50が同一キーを持ってデータベースの更新を行うことから、遅延が発生し、結果的には並列処理ができなくなる。そこで、解決策の一つとして、図2(b)のようにデータをブロッキングする方法が考えられる。しかしながら、例えば、ブロック長を数十Kバイト以内で構築する等、ブロック長には限界があることから、更新するものを限定することができない。ここで、同一キーが最大ブロック長を超えて続く場合について説明する。例えば、最大ブロック長が30件で、同一キー(ここでは、CIF#1)のものが100件あった場合を考える。この場合は、この100件を全てまとめて1つのブロックにすることができない。かかる場合には、例えば、同一キーを有する4個のブロック(30件×3ブロック+10件×1ブロック)が作成される。そのために、同一キーを持つ4個のブロックをデータ処理部(ストリーマ)50で並列処理すると、データベースのコンテンションが生じるおそれがある。即ち、ブロックだけの観点では、図2(a)と同様に、遅延が発生し、結果的に並列処理ができない状況が生じ得る。
【0033】
そこで、本実施の形態では、図3に示すように、ブロックをパッケージ化(グループ化)することで、各データ処理部(ストリーマ)50は、異なったキーを持つデータを更新することが可能となり、遅延の発生を防止することができる。ここで、「パッケージ」とは、データ処理部50がデータ順序処理を保証する単位である。例えば、同一キーのものが100件あった場合に、ブロック化することのできる、例えば、30件のブロックを3つ作り、残り10件で1つのブロックを作り、これらを1つの単位としてパッケージングする。このように、並列処理が可能な論理的な単位であるパッケージという概念を用い、並列処理を実行している。
【0034】
次に、これらの特徴的な機能を実現するために、各構成要素にて実行される各処理について詳述する。
図4は、入力処理部30にて実行される処理を示したフローチャートである。入力処理部30の出力は、データキュー21および制御キュー22に書き出されるが、大量データを効率良く処理するために、入力側の処理を「メインタスク」、出力側の処理を「サブタスク」にて実行している。入力処理部30では、まず、入力側の処理を受け持つ「メインタスク」が開始され、ソート済み更新データファイル14が「メインタスク」にて読み込まれる(ステップ101)。ここで、入力ファイルが終了したか否かが判断される(ステップ102)。入力ファイルが終了した場合には、後述するステップ108へ移行する。入力ファイルが終了していない場合に、「メインタスク」では、読み込まれた更新データタイプ毎に、出力側の処理を受け持つ「サブタスク」に対して開始を指示する(ステップ103)。
【0035】
読み込まれた更新データは、更新データタイプが判断されて、該当する更新データを処理する「サブタスク」に渡される(ステップ104)。その後、更新データの処理を行う「サブタスク」では、各々の更新データのタイプ毎に独立したバッファを使用して、更新データのブロッキングが実行される(ステップ105)。「サブタスク」からは、更新データメッセージとして、完成したブロックがデータキューに出力される(ステップ106)。ここで、ブロッキングが実行される「バッファ」は、入力処理部30のアドレススペース内に獲得された記憶域を指している。
【0036】
決められた数のブロック(更新データメッセージ)が書き出された後には、それらのブロックと関連付けるためのパッケージ情報として制御メッセージが作成され、「サブタスク」から制御キュー22に書き出されて、同期点が取られる(ステップ107)。この複数ブロックのまとまりがパッケージである。その後、ステップ101に戻り、同様の処理が繰り返される。ステップ102にて、入力ファイルが終了すると、各更新データを処理している「サブタスク」に対して終了が指示される(ステップ108)。更新データを処理する「サブタスク」は、バッファにあるブロックをデータキュー21に書き出し、加えて対応する制御メッセージも制御キュー22に書き出して、同期点をとり(ステップ109)、入力処理が終了する。尚、「同期点」では、1つの作業単位(ある一組の変更が開始されてから、それらが完了するまでの期間)内で、データベースの更新やメッセ−ジングの更新が確定される。
【0037】
以上のようにして、入力処理部30から出力されたデータキュー21の更新データメッセージと、制御キュー22の制御メッセージとは、所定の関連付けがなされている。また、制御キュー22およびデータキュー21も、所定の関連付けがなされている。
図5(a),(b)は、メッセージの関連付け、およびキューの関連付けを説明するための図である。図5(a)は、制御キュー22の制御メッセージとデータキュー21の更新データメッセージとの関連を示しており、図5(b)は、制御キュー22とデータキュー21との関連を示している。
【0038】
図5(a)に示すように、同一パッケージ内の全ての更新データメッセージは、同一のメッセージIDで関連付けられている。即ち、制御メッセージが有するメッセージIDと同じメッセージIDを、同一パッケージ内の全ての更新データメッセージが有している。更新データメッセージには、このメッセージIDと共に、更新データ数や複数の更新データ等、データベースを更新する情報が格納されている。尚、メッセージIDは、例えば、入力処理部30によって設定される。
【0039】
図5(b)では、第1〜第3の3つのデータキュー21(21−1〜21−3)が制御キュー22に関連付けられている。制御キュー22とデータキュー21とは、1:n(n≧1)の関係にある。ここで同一パッケージの全ての更新データメッセージは、同一のデータキュー21に収納される。
【0040】
このようにして、複数のブロックデータは、論理的に関連付けられてパッケージ単位とされ、その内容が記述された制御メッセージが作成される。そして、制御キュー22にこの制御メッセージが保管されている。また、データベースを更新するブロックデータは、更新データメッセージとしてデータキュー21に保管される。
【0041】
次に、データ処理部(ストリーマ)50について説明する。
図6は、データ処理部(ストリーマ)50の機能構成を説明するためのブロック図である。処理タスクとして機能するデータ処理部50は、全体制御部51、ストリーム開始部52、ユーザメッセージ取り出し部53、ブロック終了部54、ストリーム終了部55、およびバックアウト部56を備えている。全体制御部51では、データ処理部50の全体制御が実行される。ストリーム開始部52では、起動時にキューのオープンとデータ処理部50の制御情報(ストリーマ制御情報)の初期化が行われる。ユーザメッセージ取り出し部53では、制御キュー22に対して制御メッセージの待受けが行われる。出力手段として機能するブロック終了部54は、更新データメッセージの処理が終了したことを確認し、制御キュー22に制御メッセージを出力している。また、ストリーム終了部55では、データ処理部50の終了時にキューのクローズ処理が行われる。更に、バックアウト部56は、障害が発生した場合に、該当する制御メッセージを保留キュー23に出力している。尚、更新業務部20のDB更新部25では、複数のDB更新業務が実行される。
【0042】
図7および図8は、主にデータ処理部(ストリーマ)50にて実行される処理を示したフローチャートである。図6を参照しながら説明すると、ストリーム開始部52は、データ処理部(ストリーマ)50の起動時に、ストリーマ制御情報域(データ処理部50ごとに獲得され管理された記憶領域)に対して初期値化を行い、入力対象のキュー名を設定する(ステップ201)。ストリーム開始部52は、ストリーマ制御情報より入力対象のキュー名を取得し、制御キュー22、データキュー21、および保留キュー23をオープンする(ステップ202)。
【0043】
パッケージ情報取得手段およびブロック取得手段の一つとして機能するユーザメッセージ取り出し部53は、制御キュー22に対して制御メッセージの待受けを行う(ステップ203)。ここで、制御キュー22に対して制御メッセージがあるか否かが判断される(ステップ204)。制御キュー22に制御メッセージがない場合には、所定の時間待機し、その所定時間が経過すると、更新データがない旨を全体制御部51へ通知し、全体制御部51へ制御を戻す(ステップ205)。その後、停止指示があるか否かが判断され(ステップ206)、停止指示がない場合には、ステップ203へ戻り、停止指示がある場合には、データ処理部(ストリーマ)50の停止時に、制御キュー22、データキュー21、および保留キュー23のクローズ処理が行われて(ステップ207)、処理が終了する。
【0044】
ステップ204にて、制御キュー22に制御メッセージがある場合には、データキュー21の名前とパッケージ数、更新データタイプなどからなるパッケージ情報を取得する(ステップ208)。そして、パッケージ情報より、対応するデータキュー21を特定し、特定されたデータキュー21から更新データメッセージを読み込み(ステップ209)、更新データメッセージを全体制御部51へ渡す。このとき、全体制御部51へは、処理する更新データが存在する旨が知らされる。
【0045】
全体制御部51では、ユーザメッセージ取り出し部53からの情報に基づき、更新データがあるか否かで 異なる作業が実行される(ステップ210)。更新データがない場合には、前述したステップ205へ移行する。更新データがある場合には、全体制御部51は、更新処理振分プログラムである更新処理振分部24に更新データメッセージを渡す(ステップ211)。更新処理振分部24では、渡された更新データメッセージの内容が確認され、DB更新部25の中の、更新データの内容ごとに決められたDB更新業務が呼び出されて、更新データメッセージが渡される(ステップ212)。
【0046】
次に、図8を用いて説明すると、DB更新部25の中の、ステップ211で更新データメッセージが渡されたDB更新業務では、渡された更新データメッセージをもとに業務処理が行われ、更新対象DB26に対してDBの更新が実行される(ステップ213)。DB更新業務では、DB更新の実行結果の状況が確認され、リターンコードが更新処理振分部24に返される(ステップ214)。更新処理振分部24では、戻されたリターンコードの判定がなされ、必要な後処理が行われて、データ処理部50にリターンコードが返される(ステップ215)。
【0047】
データ処理部50のブロック終了部54は、受け取ったリターンコードが正常である場合には、更新データメッセージの処理が終了したことを確認し、制御キュー22に、制御メッセージを出力する(ステップ216)。その後、データ処理部50における同期点処理として、全体制御部51にて同期点が取られ、更新データメッセージによるデータベース更新処理が確定し(ステップ217)、図7に示すステップ205に戻る。
【0048】
尚、DB更新部25の所定のDB更新業務にて、プログラム障害が発生した場合には、データ処理部50は、更新したDBおよび更新データメッセージの戻し時のロールバック処理が行われる。即ち、障害の発生したDB更新業務にて処理されていた更新データメッセージを処理保留にするために、バックアウト部56は、該当する制御メッセージを保留キュー23に出力する。このとき、出力される制御メッセージは、ユーザメッセージ取り出し部53で取得したオリジナルの制御メッセージが使用される。
【0049】
このように、本実施の形態では、入力処理部30にて、複数のブロックデータを論理的に関連付けてパッケージ単位とし、その内容を記述した制御メッセージを作成し、制御キュー22に対して保管するように構成した。また、データベースを更新するブロックデータは、更新データメッセージとして、データキュー21に保管するように構成した。即ち、本実施の形態では、大量データを高速に処理するための工夫として、並列処理の実現と、データベースコンテンションの回避を行うために、制御キュー22という新しいコンポーネントおよびデータのブロッキングとパッケージングを提案した。一方、データ処理部50では、制御キュー22から制御メッセージを読み取り、関連付けられている更新データメッセージをデータキュー21から取り出して、DB更新処理を行わせている。このように、一つの制御キュー22を複数のデータ処理部50(ストリーマ)で共用することにより、個々のパッケージ単位でデータ処理部50(ストリーマ)による並列処理が可能となり、データベース更新処理のパフォーマンス(処理効率)を向上させることができる。また、パッケージングする更新データのキーを事前にソートしておくことにより、データベースのコンテンションを極小化することができる。更に、DB更新する順序を守る必要があるデータに関しては、一つのパッケージ内に収納されるようにパッケージングすることにより、順次処理が可能となり、特に、銀行系のような連続した入出金データ処理を行う場合に非常に有効である。
【0050】
また、障害時は、データ量が大量なため、プログラム障害時の起因となったデータを含むパッケージ単位にデータ処理が保留される。即ち、DB更新部25(DB更新業務)の障害時には、パッケージ情報を保有する制御メッセージを一時保留するための保留キュー23を設け、制御メッセージを退避した。この仕組みによって、障害データをデータキュー21より移動させることなく処理をバイパスすることが可能となり、後続の別パッケージを処理することが可能となる。これによって、大量処理を行う際に、障害対応を短時間に、かつ自動的に行うことができる。
【0051】
【発明の効果】
このように、本発明によれば、大量のデータを高速に処理する並列処理の実現と共に、データベースのコンテンションを回避することが可能となる。
【図面の簡単な説明】
【図1】 本実施の形態におけるデータベース更新処理システムの全体構成を示した図である。
【図2】 (a),(b)は、複数のデータ処理部(ストリーマ)が同一キーを持ってデータベースの更新を行う場合の並列処理の例を示した図である。
【図3】 ブロックをパッケージ化(グループ化)する本実施の形態の特徴的な構成を説明するための図である。
【図4】 入力処理部にて実行される処理を示したフローチャートである。
【図5】 (a),(b)は、メッセージの関連付け、およびキューの関連付けを説明するための図である。
【図6】 データ処理部(ストリーマ)の機能構成を説明するためのブロック図である。
【図7】 主にデータ処理部(ストリーマ)にて実行される処理を示したフローチャートである。
【図8】 主にデータ処理部(ストリーマ)にて実行される処理を示したフローチャートである。
【図9】 本実施の形態において使用可能であるコンピュータシステムの代表的なハードウェア構成の一例を示したものである。
【符号の説明】
11…ログ選別処理部、12…更新データファイル、13…ソート部、14…ソート済み更新データファイル、20…更新業務部、21…データキュー、22…制御キュー、23…保留キュー、24…更新処理振分部、25…DB更新部、26…更新対象DB、30…入力処理部、50…データ処理部(ストリーマ、データ処理タスク)、51…全体制御部、52…ストリーム開始部、53…ユーザメッセージ取り出し部、54…ブロック終了部、55…ストリーム終了部、56…バックアウト部
Claims (16)
- データベースを更新する複数の更新データをブロックとして保管するデータキューと、
前記データキューに格納される複数の前記ブロックを関連付けてパッケージ単位とし、当該パッケージの内容を記述したパッケージ情報を保管する制御キューと、
前記制御キューから前記パッケージ情報を読み取り、前記パッケージにより関連付けられている前記ブロックを前記データキューから取り出してデータベース更新処理を行う処理タスクとを含み、
前記制御キューは、前記データベース更新処理の順序を守る必要があるデータに関しては、一つの前記パッケージ内に収納されるようにパッケージングがなされることを特徴とするデータベース更新処理システム。 - 前記処理タスクを複数設け、
前記複数の処理タスクは、前記制御キューを共用して並列処理を行うことを特徴とする請求項1記載のデータベース更新処理システム。 - データベース更新業務の障害時に、当該データベース更新業務で処理していたブロックに関するパッケージ情報を一時保留する保留キューを更に含む請求項1記載のデータベース更新処理システム。
- データベースに対する更新処理を行うためのデータベース更新処理システムであって、
ソート済み更新データファイルから更新データを読み込み、所定の更新データ単位に独立したバッファを用いてブロッキングを行う手段と、
メッセージIDと、複数の更新データを含むブロックをデータキューに書き出す手段と、
所定数のブロックが前記データキューに書き出された後に、前記データベースに対する更新処理のデータ順序処理を保証する当該ブロックの処理単位を特定するパッケージ情報を制御キューに書き出す手段と
を含むデータベース更新処理システム。 - 前記制御キューに書き込まれる前記パッケージ情報は、前記データキューに書き出された前記ブロックに含まれる前記メッセージIDと同一のメッセージIDによって、当該データキューと関連付けがなされていることを特徴とする請求項4記載のデータベース更新処理システム。
- データベースに対する更新処理を行うためのデータベース更新処理システムであって、
更新データのブロックを複数まとめ前記データベースに対する更新処理のデータ順序処理を保証する単位としたパッケージ情報を保有する制御キューから当該パッケージ情報を取得するパッケージ情報取得手段と、
前記制御キューに保有される前記パッケージ情報から、前記ブロックを保有するデータキューを特定し、特定された当該データキューから当該ブロックを取得するブロック取得手段と、
前記データベースに対して更新処理を行う更新業務部に、前記ブロック取得手段により取得された前記ブロックを出力する出力手段と
を含むデータベース更新処理システム。 - 前記出力手段は、前記ブロック取得手段により取得された前記ブロックに含まれる更新データの内容ごとに決められたデータベース更新業務を呼び出して、当該ブロックを当該データベース更新業務に提供することを特徴とする請求項6記載のデータベース更新処理システム。
- 前記制御キューは、複数の前記パッケージ情報を保有すると共に、
前記ブロック取得手段は、特定の前記パッケージ情報に対して関連付けされたデータキューから前記ブロックを取得することを特徴とする請求項6記載のデータベース更新処理システム。 - 前記更新業務部にて障害があった場合に、障害が発生したデータベース更新業務で処理していたブロックに対する前記パッケージ情報を保留キューに出力する保留キュー出力手段を更に含む請求項6記載のデータベース更新処理システム。
- データベースに対する更新データをソート済み更新データファイルから読み込むステップと、
読み込まれた前記更新データから、所定の更新データ単位にてブロッキングを行うステップと、
前記ブロッキングにより形成されたブロックをデータキューに書き出すステップと、
所定数のブロックが前記データキューに書き出された後に、当該ブロックをまとめて処理し前記データベースに対する更新処理のデータ順序処理を保証する単位としてのパッケージ情報を制御キューに書き出すステップと
を含むデータベース更新のための更新データ入力方法。 - 前記制御キューには複数の前記パッケージ情報が書き込まれると共に、書き込まれた複数の前記パッケージ情報の中の特定のパッケージ情報は、複数の前記ブロックが保管される前記データキューと関連付けがなされていることを特徴とする請求項10記載のデータベース更新のための更新データ入力方法。
- 更新データのブロックを複数まとめデータベースに対する更新処理のデータ順序処理を保証する単位としたパッケージ情報を保有する制御キューから当該パッケージ情報を取得するステップと、
前記制御キューに保有される前記パッケージ情報から、前記ブロックを保有するデータキューを特定するステップと、
特定された前記データキューから前記ブロックを取得するステップと、
データベースに対して更新処理を行う更新業務部に、取得された前記ブロックを出力するステップと
を含むデータベース更新のための更新データ処理方法。 - 前記更新業務部にて障害があった場合に、障害が発生したデータベース更新業務で処理していた前記ブロックに対する前記パッケージ情報を保留キューに出力するステップを更に含む請求項12記載のデータベース更新のための更新データ処理方法。
- コンピュータに、
データベースに対する更新データをソート済み更新データファイルから読み込む機能と、
読み込まれた前記更新データから、所定の更新データ単位にてブロッキングを行う機能と、
前記ブロッキングにより形成されたブロックをデータキューに書き出す機能と、
所定数のブロックが前記データキューに書き出された後に、当該ブロックをまとめて処理し前記データベースに対する更新処理のデータ順序処理を保証する単位としてのパッケージ情報を制御キューに書き出す機能と
を実現させるプログラム。 - コンピュータに、
更新データのブロックを複数まとめデータベースに対する更新処理のデータ順序処理を保証する単位としたパッケージ情報を保有する制御キューから当該パッケージ情報を取得する機能と、
前記制御キューに保有される前記パッケージ情報から、前記ブロックを保有するデータキューを特定する機能と、
特定された前記データキューから前記ブロックを取得する機能と、
データベースに対して更新処理を行う更新業務部に、取得された前記ブロックを出力する機能と
を実現させるプログラム。 - コンピュータに
前記更新業務部にて障害があった場合に、障害が発生したデータベース更新業務で処理していた前記ブロックに対する前記パッケージ情報を保留キューに出力する機能を更に実現させる請求項15記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080168A JP4041002B2 (ja) | 2003-03-24 | 2003-03-24 | データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム |
US10/802,471 US7593947B2 (en) | 2003-03-24 | 2004-03-16 | System, method and program for grouping data update requests for efficient processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080168A JP4041002B2 (ja) | 2003-03-24 | 2003-03-24 | データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004287932A JP2004287932A (ja) | 2004-10-14 |
JP4041002B2 true JP4041002B2 (ja) | 2008-01-30 |
Family
ID=33294102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003080168A Expired - Fee Related JP4041002B2 (ja) | 2003-03-24 | 2003-03-24 | データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7593947B2 (ja) |
JP (1) | JP4041002B2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7502843B2 (en) * | 2004-12-30 | 2009-03-10 | Microsoft Corporation | Server queuing system and method |
JP4710380B2 (ja) * | 2005-03-31 | 2011-06-29 | 日本電気株式会社 | 分散処理システム及び分散処理方法 |
US7539689B2 (en) * | 2005-12-19 | 2009-05-26 | Sap Ag | Bundling database |
US20070239794A1 (en) * | 2006-04-05 | 2007-10-11 | Computer Associates Think, Inc. | Method and system for updating logical information in databases |
US20090125553A1 (en) * | 2007-11-14 | 2009-05-14 | Microsoft Corporation | Asynchronous processing and function shipping in ssis |
JP5086934B2 (ja) * | 2008-08-07 | 2012-11-28 | 株式会社三菱東京Ufj銀行 | データ処理装置及びプログラム |
WO2010040716A1 (en) * | 2008-10-10 | 2010-04-15 | International Business Machines Corporation | Queue manager and method of managing queues in an asynchronous messaging system |
US8271623B2 (en) * | 2009-01-15 | 2012-09-18 | Microsoft Corporation | Performing configuration in a multimachine environment |
US10002019B2 (en) * | 2009-05-11 | 2018-06-19 | International Business Machines Corporation | System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups |
US8336051B2 (en) * | 2010-11-04 | 2012-12-18 | Electron Database Corporation | Systems and methods for grouped request execution |
US8565145B2 (en) * | 2010-12-15 | 2013-10-22 | Motorola Solutions, Inc. | Fast access asynchronous repeater wakeup protocol |
US9933978B2 (en) | 2010-12-16 | 2018-04-03 | International Business Machines Corporation | Method and system for processing data |
US8332372B2 (en) * | 2010-12-16 | 2012-12-11 | International Business Machines Corporation | Method and system for processing data |
JP5295395B2 (ja) * | 2012-01-04 | 2013-09-18 | 株式会社三菱東京Ufj銀行 | データ処理装置 |
CN103150149B (zh) * | 2013-03-26 | 2015-11-25 | 华为技术有限公司 | 处理数据库重做数据的方法和装置 |
JP5604554B2 (ja) * | 2013-04-30 | 2014-10-08 | 株式会社三菱東京Ufj銀行 | データ処理装置 |
JP6228391B2 (ja) * | 2013-05-28 | 2017-11-08 | 日本無線株式会社 | マルチキャスト通信システム |
US20150134916A1 (en) * | 2013-11-12 | 2015-05-14 | Nvidia Corporation | Cache filter |
WO2017017763A1 (ja) * | 2015-07-27 | 2017-02-02 | 株式会社日立製作所 | ストレージシステム、及び、記憶制御方法 |
US10901998B2 (en) | 2016-05-31 | 2021-01-26 | International Business Machines Corporation | Managing a modification to a consistent region of a stream computing environment |
JP2020514935A (ja) * | 2017-03-15 | 2020-05-21 | ファウナ, インク.Fauna, Inc. | データベース用の方法及びシステム |
CN112486400A (zh) * | 2019-09-11 | 2021-03-12 | 伊姆西Ip控股有限责任公司 | 管理存储***的索引的方法、设备和计算机程序产品 |
CN111522827B (zh) * | 2020-04-08 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种数据更新方法、装置和电子设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6453202A (en) | 1987-08-24 | 1989-03-01 | Nec Corp | Contact information identifying method |
JP3113841B2 (ja) | 1997-07-30 | 2000-12-04 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 並列トランザクション処理システム |
US6044061A (en) * | 1998-03-10 | 2000-03-28 | Cabletron Systems, Inc. | Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch |
EP0953898A3 (en) * | 1998-04-28 | 2003-03-26 | Matsushita Electric Industrial Co., Ltd. | A processor for executing Instructions from memory according to a program counter, and a compiler, an assembler, a linker and a debugger for such a processor |
FR2808906B1 (fr) * | 2000-05-10 | 2005-02-11 | Touchtunes Music Corp | Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles |
US6914881B1 (en) * | 2000-11-28 | 2005-07-05 | Nortel Networks Ltd | Prioritized continuous-deficit round robin scheduling |
GB2382899B (en) * | 2000-12-29 | 2003-12-17 | Zarlink Semiconductor Ltd | A data queue system |
US6920447B2 (en) * | 2001-02-15 | 2005-07-19 | Microsoft Corporation | Concurrent data recall in a hierarchical storage environment using plural queues |
US6971098B2 (en) * | 2001-06-27 | 2005-11-29 | Intel Corporation | Method and apparatus for managing transaction requests in a multi-node architecture |
JP3564445B2 (ja) * | 2001-09-20 | 2004-09-08 | 松下電器産業株式会社 | プロセッサ、コンパイル装置及びコンパイル方法 |
US6886041B2 (en) * | 2001-10-05 | 2005-04-26 | Bea Systems, Inc. | System for application server messaging with multiple dispatch pools |
US6578117B2 (en) * | 2001-10-12 | 2003-06-10 | Sonics, Inc. | Method and apparatus for scheduling requests using ordered stages of scheduling criteria |
US7043559B2 (en) * | 2002-06-27 | 2006-05-09 | Seiko Epson Corporation | System for distributing objects to multiple clients |
US7565551B2 (en) * | 2003-02-19 | 2009-07-21 | Microsoft Corporation | Enhancing software integrity through installation and verification |
US7296008B2 (en) * | 2004-08-24 | 2007-11-13 | Symantec Operating Corporation | Generation and use of a time map for accessing a prior image of a storage device |
-
2003
- 2003-03-24 JP JP2003080168A patent/JP4041002B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-16 US US10/802,471 patent/US7593947B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050004996A1 (en) | 2005-01-06 |
JP2004287932A (ja) | 2004-10-14 |
US7593947B2 (en) | 2009-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4041002B2 (ja) | データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム | |
US6085200A (en) | System and method for arranging database restoration data for efficient data recovery in transaction processing systems | |
US7716181B2 (en) | Methods, apparatus and computer programs for data replication comprising a batch of descriptions of data changes | |
US6446086B1 (en) | System and method for logging transaction records in a computer system | |
US9946582B2 (en) | Distributed processing device and distributed processing system | |
US20040139127A1 (en) | Backup system and method of generating a checkpoint for a database | |
US20110252426A1 (en) | Processing batch transactions | |
US20060176901A1 (en) | Method and apparatus for data processing, and computer product | |
CN112068936A (zh) | 一种工作流管理平台及工作流管理*** | |
JP5619179B2 (ja) | 計算機システム、ジョブ実行管理方法、及びプログラム | |
CN101446906B (zh) | 一种调度多批处理任务的方法及*** | |
EP3149589B1 (en) | System and method for dynamic collection of system management data in a mainframe computing environment | |
JP2008165272A (ja) | データベース更新管理システム、プログラムおよび方法 | |
US20140040191A1 (en) | Inventorying and copying file system folders and files | |
CA2391699C (en) | System and method for logging transaction records in a computer system | |
US20040250162A1 (en) | Method, apparatus and computer program product for implementing enhanced autonomic backup using multiple backup devices | |
US6675321B1 (en) | Data processing apparatus, method and computer program with optimized key-pointing operation for log record storage | |
Mock et al. | The SHARE 709 System: Programmed input-output buffering | |
CN114064643B (zh) | 一种基于Oracle的任务式的数据转换*** | |
CN117938964A (zh) | 一种广告投放的调度方法、装置、电子设备及存储介质 | |
Green | SWALCAP on‐line system: a technical summary | |
US6345312B1 (en) | Selectively dummying a data pipe transparent to a writer application | |
CN117873685A (zh) | 一种作业调度方法、装置、设备及介质 | |
US20060101049A1 (en) | Method, apparatus, computer program, and computer program product for managing the durability of a plurality of transactions | |
US20050050113A1 (en) | System and method for facilitating data flow between synchronous and asynchronous processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071009 |
|
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: 20071106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071108 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 3 |
|
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: 20101116 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131116 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |