JP5257016B2 - 更新関数検証プログラム,更新関数検証方法及び情報処理装置 - Google Patents
更新関数検証プログラム,更新関数検証方法及び情報処理装置 Download PDFInfo
- Publication number
- JP5257016B2 JP5257016B2 JP2008297788A JP2008297788A JP5257016B2 JP 5257016 B2 JP5257016 B2 JP 5257016B2 JP 2008297788 A JP2008297788 A JP 2008297788A JP 2008297788 A JP2008297788 A JP 2008297788A JP 5257016 B2 JP5257016 B2 JP 5257016B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- function
- registered
- management table
- original 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.)
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Description
図1は、クライアントサーバシステムを利用した分散データ共有装置の一例を示す。なお、本実施形態の分散データ共有装置は、アプリケーション開発者などのユーザが更新関数を定義できる機能を備えている。
オリジナルデータ管理表32及び検証用データ管理表34は、オリジナルデータ及び更新関数の可換性・冪等性を検証するために用いる検証用データを夫々管理するためのものであって、図3に示すように、ユーザ定義による更新関数で使用される変数を特定する「キー」に「値」を対応付けたレコードが登録される。
ステップ3において、初期化部30Aは、クライアント60が呼び出した初期化関数の引数の「キー」を更新履歴管理表36に登録する。
ステップ11において、更新部30Bは、オリジナルデータ管理表32を更新する。具体的には、更新部30Bは、オリジナルデータ管理表32を参照し、引数の「キー」に対応付けられたオリジナルデータ管理表32内の値について、引数の「値」を適用した更新関数で更新する。なお、更新関数の定義によっては、オリジナルデータ管理表32の値が更新されないこともあり得る。
この更新処理によれば、クライアント60から更新関数が呼び出されたことを契機として、更新部30Bが、オリジナルデータ管理表32を適宜更新する。また、更新部30Bは、検証用データ管理表34を更新せず、引数の「キー」に対応付けられた、更新履歴管理表36に記録された更新履歴に「値」を追加登録する。
ステップ21において、参照部30Cは、参照関数の引数の「キー」に対応付けられた更新履歴を更新履歴管理表36から取得し、これをリスト化した更新リストを生成する。
ステップ25において、参照部30Cは、検証用データ管理表34に対して、更新リストに登録された値を更新関数に順次適用しつつ、検証用データ管理表34に格納する。
この参照処理によれば、クライアント60から参照関数が呼び出されたことを契機として、参照部30Cが、更新履歴管理表36から、引数の「キー」に対応付けられた更新履歴を取得し、更新リストを生成する。そして、参照部30Cが、更新リストに登録された値の中から所定規則に則って少なくとも1つの値を選定し、これを更新リストに追加登録する。その後、参照部30Cが、更新リストに登録された値を並べ替え、これを検証用データ管理表34に順次適用する。更新リストに登録された値の適用が完了すると、参照部30Cが、オリジナルデータ管理表32と検証用データ管理表34とを比較し、各キーに対応する2つの値が異なっていれば、ユーザ定義による更新関数は可換性及び冪等性を満たしていないと判断して所定のエラー処理を実行する。
3つの変数(x,y,z)の最大値を保持するケースを想定する。この場合、更新関数f()は、現在値(current_value)と更新値(update_value)とを比較し、大きいものを返却するという定義になる。更新関数f()は、例えば、オープンソースのプログラミング言語であるpython(パイソン)で実装すると、次のようになる。
if (current_value < update_value):
return update_value
else:
return current_value
また、変数(x,y,z)の初期値は、夫々0とする。
30 サーバ
30A 初期化部
30B 更新部
30C 参照部
32 オリジナルデータ管理表
34 検証用データ管理表
36 更新履歴管理表
38 保持部
40 ストレージ
Claims (7)
- 分散データ共有装置で各ストレージを管理するサーバに、
初期化関数の呼び出しがあったときに、オリジナルデータを複製した検証用データを作成するステップと、
更新関数の呼び出しがあったときに、前記更新関数を用いて前記オリジナルデータを更新する一方、前記更新関数の引数を更新履歴に順次登録するステップと、
参照関数の呼び出しがあったときに、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録した後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納するステップと、
前記オリジナルデータと格納された検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行するステップと、
を実行させるための更新関数検証プログラム。 - 前記参照関数の呼び出しに応答するステップは、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録して並べ替えた後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納することを特徴とする請求項1記載の更新関数検証プログラム。
- 分散データ共有装置で各ストレージを管理するサーバに、
初期化関数の呼び出しがあったときに、オリジナルデータを複製した検証用データを作成するステップと、
更新関数の呼び出しがあったときに、前記更新関数を用いて前記オリジナルデータを更新する一方、前記更新関数の引数を更新履歴に順次登録するステップと、
参照関数の呼び出しがあったときに、前記更新履歴に登録された引数を並べ替えた後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納するステップと、
前記オリジナルデータと格納された検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行するステップと、
を実行させるための更新関数検証プログラム。 - 分散データ共有装置で各ストレージを管理するサーバが、
初期化関数の呼び出しがあったときに、オリジナルデータを複製した検証用データを作成するステップと、
更新関数の呼び出しがあったときに、前記更新関数を用いて前記オリジナルデータを更新する一方、前記更新関数の引数を更新履歴に順次登録するステップと、
参照関数の呼び出しがあったときに、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録した後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納するステップと、
前記オリジナルデータと格納された検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行するステップと、
を実行することを特徴とする更新関数検証方法。 - 前記参照関数の呼び出しに応答するステップは、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録して並べ替えた後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納することを特徴とする請求項4記載の更新関数検証方法。
- 初期化関数の呼び出しがあったときに、オリジナルデータを複製した検証用データを作成する手段と、
更新関数の呼び出しがあったときに、前記更新関数を用いて前記オリジナルデータを更新する一方、前記更新関数の引数を更新履歴に順次登録する手段と、
参照関数の呼び出しがあったときに、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録した後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納する手段と、
前記オリジナルデータと格納された検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行する手段と、
を備えたことを特徴とする情報処理装置。 - 前記参照関数の呼び出しに応答する手段は、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録して並べ替えた後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納することを特徴とする請求項6記載の情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008297788A JP5257016B2 (ja) | 2008-11-21 | 2008-11-21 | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 |
US12/621,891 US20100131938A1 (en) | 2008-11-21 | 2009-11-19 | Recording medium encoded with update function verification program, update function verification method, and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008297788A JP5257016B2 (ja) | 2008-11-21 | 2008-11-21 | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010123030A JP2010123030A (ja) | 2010-06-03 |
JP5257016B2 true JP5257016B2 (ja) | 2013-08-07 |
Family
ID=42324303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008297788A Expired - Fee Related JP5257016B2 (ja) | 2008-11-21 | 2008-11-21 | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100131938A1 (ja) |
JP (1) | JP5257016B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317269B2 (en) * | 2012-09-28 | 2016-04-19 | Wal-Mart Stores, Inc. | Systems and methods for installing, managing, and provisioning applications |
JP6093663B2 (ja) * | 2013-07-04 | 2017-03-08 | エヌ・ティ・ティ・コムウェア株式会社 | 検証プログラム、検証装置および検証方法 |
CN105740258B (zh) * | 2014-12-09 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 基于幂等号校验的业务处理方法及装置 |
KR102195103B1 (ko) * | 2017-06-26 | 2020-12-24 | 삼성전자주식회사 | 프로그램 컴파일 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860009A (en) * | 1994-04-28 | 1999-01-12 | Kabushiki Kaisha Toshiba | Programming method for concurrent programs and program supporting apparatus thereof |
JPH11194958A (ja) * | 1997-12-26 | 1999-07-21 | Nec Corp | プログラムテストシステム |
US7130874B2 (en) * | 2002-03-12 | 2006-10-31 | International Business Machines Corporation | Method, system, and program for maintaining data in a distributed computing environment for processing transaction requests |
US7904678B1 (en) * | 2004-02-27 | 2011-03-08 | Symantec Operating Corporation | Technique for recovering mirror consistency in cooperative virtual storage |
US7610319B1 (en) * | 2004-03-01 | 2009-10-27 | Symantec Operating Corporation | Efficient operations using assistance from secondary site |
US7565661B2 (en) * | 2004-05-10 | 2009-07-21 | Siew Yong Sim-Tang | Method and system for real-time event journaling to provide enterprise data services |
US7661099B2 (en) * | 2004-06-29 | 2010-02-09 | International Business Machines Corporation | Using idempotent operations to improve transaction performance |
JP4568576B2 (ja) * | 2004-10-26 | 2010-10-27 | 株式会社デンソーアイティーラボラトリ | データ共有システム及び通信端末並びにデータ共有方法 |
US7840535B2 (en) * | 2004-11-05 | 2010-11-23 | Computer Associates Think, Inc. | Replicated data validation |
JP2006227820A (ja) * | 2005-02-16 | 2006-08-31 | Nomura Research Institute Ltd | プログラムテストシステム及びプログラムテスト方法 |
US7739677B1 (en) * | 2005-05-27 | 2010-06-15 | Symantec Operating Corporation | System and method to prevent data corruption due to split brain in shared data clusters |
US8069129B2 (en) * | 2007-04-10 | 2011-11-29 | Ab Initio Technology Llc | Editing and compiling business rules |
JP5046845B2 (ja) * | 2007-10-15 | 2012-10-10 | 株式会社日立製作所 | データ更新履歴格納装置及びデータ更新履歴格納方法 |
US20100146334A1 (en) * | 2008-12-10 | 2010-06-10 | Yahoo! Inc. | Fault tolerant update propagation to views |
-
2008
- 2008-11-21 JP JP2008297788A patent/JP5257016B2/ja not_active Expired - Fee Related
-
2009
- 2009-11-19 US US12/621,891 patent/US20100131938A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20100131938A1 (en) | 2010-05-27 |
JP2010123030A (ja) | 2010-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868321B2 (en) | Cryptographically secure multi-tenant data exchange platform | |
US9760420B1 (en) | Fleet host rebuild service implementing vetting, diagnostics, and provisioning pools | |
US8707275B2 (en) | Simulation environment for distributed programs | |
US10979288B2 (en) | Distributed rules engine for processing events associated with internet of things devices | |
KR102008037B1 (ko) | 분산형 애플리케이션 객체에 대한 업데이트 통지를 제공하는 기법 | |
KR101548003B1 (ko) | 서비스 지향 파이프라인 기반 아키택쳐 | |
US20170262363A1 (en) | Application experiment system | |
US20110314261A1 (en) | Prefetch of Attributes in Evaluating Access Control Requests | |
US20170371639A1 (en) | Updating live system with static changes | |
US9537758B2 (en) | Dynamic redirection of network traffic within a system under test | |
US10338910B2 (en) | Multi-tenant upgrading | |
US10678626B2 (en) | Distributed product deployment validation | |
US20150095903A1 (en) | Product deployment system | |
JP5257016B2 (ja) | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 | |
US11516070B1 (en) | Method and system for diagnosing and remediating service failures | |
US11277303B1 (en) | Declarative specification based override mechanism for customizing data centers deployed on cloud platforms | |
US9380001B2 (en) | Deploying and modifying a service-oriented architecture deployment environment model | |
US11595493B2 (en) | System and method for namespace masking in an integration flow | |
US20180241848A1 (en) | Human-readable cloud structures | |
US10176059B2 (en) | Managing server processes with proxy files | |
US8229980B2 (en) | State buckets | |
US9699031B2 (en) | Cloud models based on logical network interface data | |
CN115134238A (zh) | 业务系统发布方法、装置、计算机设备和存储介质 | |
US10091064B2 (en) | Systems and methods for stateless management of object properties | |
US20060294511A1 (en) | Method, system, and computer program product for deploying different versions of software in a single package |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130315 |
|
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: 20130326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160502 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |