JP5241722B2 - 要求処理のデータ処理システムおよび方法 - Google Patents
要求処理のデータ処理システムおよび方法 Download PDFInfo
- Publication number
- JP5241722B2 JP5241722B2 JP2009530828A JP2009530828A JP5241722B2 JP 5241722 B2 JP5241722 B2 JP 5241722B2 JP 2009530828 A JP2009530828 A JP 2009530828A JP 2009530828 A JP2009530828 A JP 2009530828A JP 5241722 B2 JP5241722 B2 JP 5241722B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- processing
- message
- service request
- data
- 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.)
- Active
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/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
リクエスタのサービス要求を複数の要求処理コンポーネントのうちの少なくとも2つに複製するステップであって、複数の要求処理コンポーネントのそれぞれが、通信経路内でリクエスタとデータ・ストアとの間に配置される、ステップと、
サービス要求に関する責任を成功裏に主張しなかったすべての要求処理コンポーネントによるサービス要求の処理を阻止するステップと、
第1要求処理コンポーネントがサービス要求に関する責任を主張するステップと、
第1要求処理コンポーネントがデータ・ストア内のデータにアクセスすることを含めて主張されたサービス要求の第1要求処理コンポーネントの複製を処理するステップと
を含む方法を提供する。
データ・ストアと、
複数の要求処理コンポーネントであって、複数の要求処理コンポーネントのそれぞれが、通信経路内で少なくとも1つのサービス・リクエスタとデータ・ストアとの間に配置される、複数の要求処理コンポーネントと、
サービス・リクエスタのサービス要求を複数の要求処理コンポーネントのうちの少なくとも2つに複製するレプリケータと、
サービス要求の責任を成功裏に主張しなかったすべての要求処理コンポーネントがサービス要求を処理するのを阻止する機能と、第1要求処理コンポーネントのためにサービス要求の責任を主張し、これによって第1処理コンポーネントがサービス要求の複製を処理することを可能にする機能とを含む主張マネージャと
を含むデータ処理システムを提供する。
メッセージ・バッチに対するループ
メッセージ・トランザクションを開始する
[メッセージに関するループ]
HADBトランザクションを開始する
主張が成功するまでループする
メッセージを得る
主張をHADB主張テーブルに挿入することを試みる
主張の試みが失敗する場合には、次のメッセージの主張を試みるためにループする
主張が成功する場合には、継続する
ビジネス・ロジックを実行し、HADBを更新する
HADBをコミットする
[次のメッセージにループする]
メッセージ(1つまたは複数)をコミットする
次のメッセージ・バッチにループする
12 サーバ
14 サーバ
16 サーバ
20 メッセージ・ディスパッチャ
22 メッセージ・ディスパッチャ
24 メッセージ・ディスパッチャ
26 メッセージ・ディスパッチャ
30 ビジネス・ロジック
32 ビジネス・ロジック
34 ビジネス・ロジック
36 ビジネス・ロジック
40 リクエスタ
50 リクエスタ
60 リクエスタ
70 レプリケータ
71 レプリケータ
72 レプリケータ
80 キュー
82 キュー
84 キュー
86 キュー
90 HADBビジネス・データ
100 主張テーブル
110 主張マネージャ
120 HADBマネージャ
130 行
140 ページ
Claims (18)
- データ・ストアと少なくとも1つのサービス・リクエスタとを含むデータ処理環境内で使用される、サービス要求を管理する方法であって、
リクエスタのサービス要求を複数の要求処理コンポーネントのうちの少なくとも2つに複製するステップであって、前記複数の要求処理コンポーネントのそれぞれが、通信経路内で前記リクエスタと前記データ・ストアとの間に配置される、ステップと、
第1要求処理コンポーネントが前記サービス要求に関する責任を主張するステップと、
前記サービス要求に関する責任を成功裏に主張しなかったすべての要求処理コンポーネントが前記サービス要求を処理するのを阻止するステップと、
前記第1要求処理コンポーネントが前記データ・ストア内のデータにアクセスすることを含めて前記主張されたサービス要求の前記第1要求処理コンポーネントの複製を処理するステップと
を含む方法。 - 責任を主張する前記ステップが、前記サービス要求の識別子を前記データ・ストア内のリポジトリに入力するステップを含み、前記方法が、前記複数の要求処理コンポーネントのいずれもが前記サービス要求の重複する識別子を前記リポジトリに入力するのを阻止することをさらに含む、請求項1に記載の方法。
- 前記データ処理環境が、複数の分散サービス・リクエスタを含み、前記データ・ストアが、高可用性データ処理システムで動作するデータベースを含む、請求項1または2に記載の方法。
- 前記要求処理コンポーネントが、サービス要求に応答して前記データ・ストア内のデータに対する更新を要求するビジネス・ロジックを含み、すべての要求処理コンポーネントが前記サービス要求を処理するのを阻止する前記ステップが、前記めいめいの要求処理コンポーネントのビジネス・ロジックの実行を阻止するステップを含む、請求項1ないし3のいずれか一項に記載の方法。
- 前記サービス要求の完全な処理が、前記データ・ストア内のデータの更新を必要とし、前記サービス要求の処理を阻止する前記ステップが、前記データ・ストア内のデータの更新を阻止することによって完了した処理を阻止することを含む、請求項1ないし3のいずれか一項に記載の方法。
- 前記サービス要求の処理を阻止する前記ステップが、前記データ・ストア内のデータへの読み取りアクセスと書き込みアクセスとの両方を阻止することによって完了した処理を阻止することを含む、請求項5に記載の方法。
- 前記要求処理コンポーネントが、メッセージング・システムであり、前記複製されたサービス要求が、前記メッセージング・システムのうちの少なくとも2つの入力キューにエンキューされたメッセージであり、識別子を入力する前記ステップが、第1メッセージング・システムの入力キューからのメッセージの成功の取出しに応答して、前記第1メッセージング・システムのために実行される、請求項2に記載の方法。
- 前記要求処理コンポーネントが、メッセージング・システムであり、前記複製されたサービス要求が、前記メッセージング・システムのうちの少なくとも2つの入力キューにエンキューされたメッセージであり、前記複数の要求処理コンポーネントのいずれもが重複する識別子を入力するのを阻止する前記ステップが、メッセージ取出し動作が以前に主張されたサービス要求に関するすべてのメッセージを取り出すのを阻止することを含む、請求項2に記載の方法。
- 識別子を入力する前記ステップが、前記複製サービス要求を処理する前記ステップが完了するまで前記識別子をロックするステップを含み、いずれかの要求処理コンポーネントが重複する識別子を前記リポジトリに入力するのを阻止する前記ステップが、前記ロックを検査することと、前記ロックが解放されるまで識別子を入力する試みを延期するか拒否することとを含む、請求項2に記載の方法。
- 前記リポジトリ内のアンロックされた識別子の識別が、前記識別されたサービス要求が成功裏に処理されたことの確認として認識され、前記リポジトリに重複する識別子を入力することを試みるすべての要求処理コンポーネントが、前記めいめいの要求処理コンポーネントの前記サービス要求の複製を削除することによって前記アンロックされた識別子に応答する、請求項9に記載の方法。
- 前記リポジトリが、各テーブル行が前記識別されたサービス要求の責任に対する主張に対応する単一のサービス要求識別子を含むデータベース・テーブルである、請求項7ないし10のいずれか一項に記載の方法。
- 前記データ・ストアが、前記データベース・テーブルを含むデータベースであり、前記主張されたサービス要求の前記複製の成功の処理の影響が、前記データ・ストアに対する更新であり、前記成功の処理が、前記要求を処理する前記ステップおよび前記データ・ストアを更新する前記ステップの単一フェーズ・コミットを含む、請求項11に記載の方法。
- リクエスタのサービス要求の前記複製することが、前記サービス要求の前記複製を時間的に分離することを含む、請求項1ないし12のいずれか一項に記載の方法。
- データ・ストアと、
複数の要求処理コンポーネントであって、前記複数の要求処理コンポーネントのそれぞれが、通信経路内で少なくとも1つのサービス・リクエスタと前記データ・ストアとの間に配置される、複数の要求処理コンポーネントと、
サービス・リクエスタのサービス要求を前記複数の要求処理コンポーネントのうちの少なくとも2つに複製するレプリケータと、
前記サービス要求の責任を成功裏に主張しなかったすべての要求処理コンポーネントが前記要求を処理するのを阻止する機能と、第1要求処理コンポーネントのために前記サービス要求の責任を主張する機能とを含む主張マネージャと
を含むデータ処理システム。 - 責任を主張する前記機能が、前記データ・ストアのリポジトリ内に前記サービス要求の識別子を挿入する機能を含み、前記主張マネージャが、前記複数の要求処理コンポーネントのいずれもが重複するサービス要求識別子を前記リポジトリに入力するのを阻止する機能をさらに含む、請求項14に記載のデータ処理システム。
- データ・ストアと少なくとも1つのサービス・リクエスタとを含むデータ処理環境内での動作を制御するコンピュータ・プログラムであって、コンピュータに、
リクエスタのサービス要求を複数の要求処理コンポーネントのうちの少なくとも2つに複製するステップであって、前記複数の要求処理コンポーネントのそれぞれが、通信経路内で前記リクエスタと前記データ・ストアとの間に配置される、ステップと、
第1要求処理コンポーネントが前記サービス要求に関する責任を主張するステップと、
前記サービス要求に関する責任を成功裏に主張しなかったすべての要求処理コンポーネントが前記要求を処理するのを阻止するステップと、
前記第1要求処理コンポーネントが前記データ・ストア内のデータにアクセスすることを含めて前記主張されたサービス要求の前記第1要求処理コンポーネントの複製を処理するステップと
を実行させるためのコンピュータ・プログラム。 - データ・ストアを含むデータ処理環境内で使用される、サービス要求を管理する方法であって、
データ・ストア・トランザクションの外部で、複数のメッセージ処理コンポーネントのめいめいの入力キューにサービス要求の複数の複製をエンキューするステップと、
データ・ストア・トランザクション内で、第1メッセージ処理コンポーネントが、前記データ・ストア内のデータにアクセスすることを含む前記サービス要求の第1複製を取り出し、前記サービス要求の前記第1複製を処理すると同時に、前記第1メッセージ処理コンポーネントが障害を経験しない限り、前記第1メッセージ処理コンポーネント以外の前記複数のメッセージ処理コンポーネントのいずれもが同一のサービス要求の他の複製を処理するのを阻止するステップと
を含む方法。 - 前記第1メッセージ処理コンポーネントが前記サービス要求を成功裏に処理することに応答して前記データ・ストア・トランザクションの単一フェーズ・コミットを実行することと、前記コミットされたデータ・ストア・トランザクションの識別に応答して前記サービス要求の複製を削除することとをさらに含む、請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0619644.8A GB0619644D0 (en) | 2006-10-05 | 2006-10-05 | Data processing system and method of handling requests |
GB0619644.8 | 2006-10-05 | ||
PCT/EP2007/059651 WO2008040621A1 (en) | 2006-10-05 | 2007-09-13 | Data processing system and method of handling requests |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010506277A JP2010506277A (ja) | 2010-02-25 |
JP5241722B2 true JP5241722B2 (ja) | 2013-07-17 |
Family
ID=37453991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009530828A Active JP5241722B2 (ja) | 2006-10-05 | 2007-09-13 | 要求処理のデータ処理システムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9767135B2 (ja) |
EP (1) | EP2082338A1 (ja) |
JP (1) | JP5241722B2 (ja) |
KR (1) | KR20090055608A (ja) |
CN (1) | CN101512527B (ja) |
GB (1) | GB0619644D0 (ja) |
WO (1) | WO2008040621A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5385545B2 (ja) * | 2008-04-17 | 2014-01-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクションの実行を制御する装置及び方法 |
US8793691B2 (en) * | 2010-04-15 | 2014-07-29 | Salesforce.Com, Inc. | Managing and forwarding tasks to handler for processing using a message queue |
WO2012162969A1 (zh) * | 2011-09-01 | 2012-12-06 | 华为技术有限公司 | 一种分布式队列消息读取方法及设备、系统 |
JP5874399B2 (ja) | 2012-01-05 | 2016-03-02 | 株式会社リコー | 処理装置 |
CN103310334B (zh) * | 2012-03-16 | 2016-12-28 | 阿里巴巴集团控股有限公司 | 一种业务处理的方法及装置 |
CN104145260B (zh) * | 2012-03-26 | 2016-08-10 | 华为技术有限公司 | 一种分布式作业系统的业务处理方法、执行单元和系统 |
CN104423982B (zh) * | 2013-08-27 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 请求的处理方法和处理设备 |
CN103455604A (zh) * | 2013-09-03 | 2013-12-18 | 北京京东尚科信息技术有限公司 | 一种防止重复处理数据的方法及装置 |
US10795910B2 (en) | 2013-12-31 | 2020-10-06 | Sybase, Inc. | Robust communication system for guaranteed message sequencing with the detection of duplicate senders |
GB2533086A (en) | 2014-12-08 | 2016-06-15 | Ibm | Controlling a multi-database system |
CN107301179A (zh) * | 2016-04-14 | 2017-10-27 | 北京京东尚科信息技术有限公司 | 数据库读写分离的方法和装置 |
US11086689B2 (en) * | 2016-06-22 | 2021-08-10 | Atos Convergence Creators Gmbh | Method for automatically and dynamically assigning the responsibility for tasks to the available computing components in a highly distributed data-processing system |
CN108921532A (zh) * | 2018-06-28 | 2018-11-30 | 中国建设银行股份有限公司 | 交易请求处理方法、装置及服务器 |
CN111866191B (zh) * | 2020-09-24 | 2020-12-22 | 深圳市易博天下科技有限公司 | 消息事件的分发方法、分发平台、系统及服务器 |
CN113220730B (zh) * | 2021-05-28 | 2024-03-26 | 中国农业银行股份有限公司 | 业务数据的处理系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5335325A (en) * | 1987-12-22 | 1994-08-02 | Kendall Square Research Corporation | High-speed packet switching apparatus and method |
US5555388A (en) * | 1992-08-20 | 1996-09-10 | Borland International, Inc. | Multi-user system and methods providing improved file management by reading |
EP0676354B1 (de) * | 1994-04-08 | 2000-08-16 | Ferag AG | Verfahren und Anordnung zum Verpacken von Druckprodukten |
US5613139A (en) * | 1994-05-11 | 1997-03-18 | International Business Machines Corporation | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message |
US5748468A (en) * | 1995-05-04 | 1998-05-05 | Microsoft Corporation | Prioritized co-processor resource manager and method |
US6247056B1 (en) * | 1997-02-03 | 2001-06-12 | Oracle Corporation | Method and apparatus for handling client request with a distributed web application server |
JP3036487B2 (ja) * | 1997-10-14 | 2000-04-24 | 日本電気株式会社 | 地球センサ |
US6058389A (en) * | 1997-10-31 | 2000-05-02 | Oracle Corporation | Apparatus and method for message queuing in a database system |
US6594651B2 (en) * | 1999-12-22 | 2003-07-15 | Ncr Corporation | Method and apparatus for parallel execution of SQL-from within user defined functions |
US7136857B2 (en) * | 2000-09-01 | 2006-11-14 | Op40, Inc. | Server system and method for distributing and scheduling modules to be executed on different tiers of a network |
US6922792B2 (en) * | 2000-10-27 | 2005-07-26 | Eternal Systems, Inc. | Fault tolerance for computer programs that operate over a communication network |
US7206964B2 (en) * | 2002-08-30 | 2007-04-17 | Availigent, Inc. | Consistent asynchronous checkpointing of multithreaded application programs based on semi-active or passive replication |
US7305582B1 (en) * | 2002-08-30 | 2007-12-04 | Availigent, Inc. | Consistent asynchronous checkpointing of multithreaded application programs based on active replication |
US7243351B2 (en) * | 2002-12-17 | 2007-07-10 | International Business Machines Corporation | System and method for task scheduling based upon the classification value and probability |
US7334014B2 (en) * | 2003-01-03 | 2008-02-19 | Availigent, Inc. | Consistent time service for fault-tolerant distributed systems |
US20040225546A1 (en) * | 2003-05-09 | 2004-11-11 | Roland Oberdorfer | Method and apparatus for monitoring business process flows within an integrated system |
US7523130B1 (en) * | 2004-01-28 | 2009-04-21 | Mike Meadway | Storing and retrieving objects on a computer network in a distributed database |
US7376890B2 (en) * | 2004-05-27 | 2008-05-20 | International Business Machines Corporation | Method and system for checking rotate, shift and sign extension functions using a modulo function |
US7797342B2 (en) * | 2004-09-03 | 2010-09-14 | Sybase, Inc. | Database system providing encrypted column support for applications |
JP4319971B2 (ja) * | 2004-11-22 | 2009-08-26 | 株式会社日立製作所 | セッション情報管理システム、セッション情報管理方法およびそのプログラム |
US7792342B2 (en) * | 2006-02-16 | 2010-09-07 | Siemens Medical Solutions Usa, Inc. | System and method for detecting and tracking a guidewire in a fluoroscopic image sequence |
-
2006
- 2006-10-05 GB GBGB0619644.8A patent/GB0619644D0/en not_active Ceased
-
2007
- 2007-09-13 US US12/443,830 patent/US9767135B2/en active Active
- 2007-09-13 EP EP07803467A patent/EP2082338A1/en not_active Withdrawn
- 2007-09-13 WO PCT/EP2007/059651 patent/WO2008040621A1/en active Application Filing
- 2007-09-13 KR KR1020097006387A patent/KR20090055608A/ko active IP Right Grant
- 2007-09-13 CN CN2007800336788A patent/CN101512527B/zh active Active
- 2007-09-13 JP JP2009530828A patent/JP5241722B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN101512527B (zh) | 2013-05-15 |
US20090300018A1 (en) | 2009-12-03 |
CN101512527A (zh) | 2009-08-19 |
GB0619644D0 (en) | 2006-11-15 |
EP2082338A1 (en) | 2009-07-29 |
KR20090055608A (ko) | 2009-06-02 |
WO2008040621A1 (en) | 2008-04-10 |
JP2010506277A (ja) | 2010-02-25 |
US9767135B2 (en) | 2017-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5241722B2 (ja) | 要求処理のデータ処理システムおよび方法 | |
US10942823B2 (en) | Transaction processing system, recovery subsystem and method for operating a recovery subsystem | |
US7716181B2 (en) | Methods, apparatus and computer programs for data replication comprising a batch of descriptions of data changes | |
US6988099B2 (en) | Systems and methods for maintaining transactional persistence | |
US10360113B2 (en) | Transaction recovery in a transaction processing computer system employing multiple transaction managers | |
US8271448B2 (en) | Method for strategizing protocol presumptions in two phase commit coordinator | |
US8868514B2 (en) | Transaction support for distributed data | |
US6442552B1 (en) | Method and apparatus for implementing three tier client asynchronous transparency | |
US8341125B2 (en) | Transaction log management | |
US20130110781A1 (en) | Server replication and transaction commitment | |
US8073962B2 (en) | Queued transaction processing | |
US7203863B2 (en) | Distributed transaction state management through application server clustering | |
US9104471B2 (en) | Transaction log management | |
US8336053B2 (en) | Transaction management | |
Son | Replicated data management in distributed database systems | |
US20130138614A1 (en) | Two-phase data locking transaction processing with distributed partitions and mirroring | |
US6948093B2 (en) | Data processing arrangement and method | |
US7228455B2 (en) | Transaction branch management to ensure maximum branch completion in the face of failure | |
US7281153B2 (en) | Apparatus, system, and method for transactional peer recovery in a data sharing clustering computer system | |
EP0817019B1 (en) | Method of stratified transaction processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130215 |
|
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: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130402 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5241722 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |