JP2010123030A - 更新関数検証プログラム,更新関数検証方法及び情報処理装置 - Google Patents
更新関数検証プログラム,更新関数検証方法及び情報処理装置 Download PDFInfo
- Publication number
- JP2010123030A JP2010123030A JP2008297788A JP2008297788A JP2010123030A JP 2010123030 A JP2010123030 A JP 2010123030A JP 2008297788 A JP2008297788 A JP 2008297788A JP 2008297788 A JP2008297788 A JP 2008297788A JP 2010123030 A JP2010123030 A JP 2010123030A
- Authority
- JP
- Japan
- Prior art keywords
- update
- function
- management table
- registered
- 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.)
- Granted
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (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)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】分散データ共有装置で各ストレージを管理するサーバ30に初期化関数の呼び出しがあると、オリジナルデータ管理表32を複製した検証用データ管理表34を作成する。また、サーバ30に更新関数の呼び出しがあると、更新関数を用いてオリジナルデータ管理表32を更新する一方、更新履歴管理表36に更新関数の引数を順次登録する。そして、サーバ30に参照関数の呼び出しがあると、更新履歴管理表36から所定規則に則って選定された少なくとも1つの引数を更新履歴管理表36に追加登録した後、これを更新関数に順次適用しつつ検証用データ管理表34に格納する。その後、オリジナルデータ管理表32と検証用データ管理表34とを比較し、これらが異なっていればエラーメッセージ出力などの所定のエラー処理を実行する。
【選択図】図2
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 true JP2010123030A (ja) | 2010-06-03 |
JP5257016B2 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015014890A (ja) * | 2013-07-04 | 2015-01-22 | エヌ・ティ・ティ・コムウェア株式会社 | 検証プログラム、検証装置および検証方法 |
KR20190001183A (ko) * | 2017-06-26 | 2019-01-04 | 삼성전자주식회사 | 프로그램 컴파일 방법 |
Families Citing this family (2)
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 |
CN105740258B (zh) * | 2014-12-09 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 基于幂等号校验的业务处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11194958A (ja) * | 1997-12-26 | 1999-07-21 | Nec Corp | プログラムテストシステム |
JP2006126972A (ja) * | 2004-10-26 | 2006-05-18 | Denso It Laboratory Inc | データ共有方法及びデータ共有システム並びにエージェントプログラム |
JP2006227820A (ja) * | 2005-02-16 | 2006-08-31 | Nomura Research Institute Ltd | プログラムテストシステム及びプログラムテスト方法 |
WO2008124319A1 (en) * | 2007-04-10 | 2008-10-16 | Ab Initio Technology Llc | Editing and compiling business rules |
Family Cites Families (10)
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 |
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 |
US7840535B2 (en) * | 2004-11-05 | 2010-11-23 | Computer Associates Think, Inc. | Replicated data validation |
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 |
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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11194958A (ja) * | 1997-12-26 | 1999-07-21 | Nec Corp | プログラムテストシステム |
JP2006126972A (ja) * | 2004-10-26 | 2006-05-18 | Denso It Laboratory Inc | データ共有方法及びデータ共有システム並びにエージェントプログラム |
JP2006227820A (ja) * | 2005-02-16 | 2006-08-31 | Nomura Research Institute Ltd | プログラムテストシステム及びプログラムテスト方法 |
WO2008124319A1 (en) * | 2007-04-10 | 2008-10-16 | Ab Initio Technology Llc | Editing and compiling business rules |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015014890A (ja) * | 2013-07-04 | 2015-01-22 | エヌ・ティ・ティ・コムウェア株式会社 | 検証プログラム、検証装置および検証方法 |
KR20190001183A (ko) * | 2017-06-26 | 2019-01-04 | 삼성전자주식회사 | 프로그램 컴파일 방법 |
KR102195103B1 (ko) | 2017-06-26 | 2020-12-24 | 삼성전자주식회사 | 프로그램 컴파일 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP5257016B2 (ja) | 2013-08-07 |
US20100131938A1 (en) | 2010-05-27 |
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 | |
US20200153685A1 (en) | Distributed rules engine for processing events associated with internet of things devices | |
KR102008037B1 (ko) | 분산형 애플리케이션 객체에 대한 업데이트 통지를 제공하는 기법 | |
US10185549B2 (en) | Updating live system with static changes | |
US20130318512A1 (en) | Hot Pluggable Extensions for Access Management System | |
EP3398063B1 (en) | Controlled deployment of application feature | |
US9537758B2 (en) | Dynamic redirection of network traffic within a system under test | |
US20100169863A1 (en) | Methods for determining resource dependency and systems thereof | |
US9374417B1 (en) | Dynamic specification auditing for a distributed system | |
US20150095903A1 (en) | Product deployment system | |
US11677620B2 (en) | Declarative specification based override mechanism for customizing data centers deployed on cloud platforms | |
JP5257016B2 (ja) | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 | |
US20180314548A1 (en) | Work item management in content management systems | |
US11902103B2 (en) | Method and apparatus for creating a custom service | |
CN112702195A (zh) | 网关配置方法、电子设备及计算机可读存储介质 | |
WO2022034378A1 (en) | Container orchestration system (cos) services discovery across multiple cos clusters based on cos cluster domain name system | |
US20230061613A1 (en) | Parallel rollout verification processing for deploying updated software | |
US20180241848A1 (en) | Human-readable cloud structures | |
KR101977602B1 (ko) | 마이크로서비스관리장치 및 방법 | |
US8229980B2 (en) | State buckets | |
US20170041192A1 (en) | Cloud models based on logical network interface data | |
US11240107B1 (en) | Validation and governance of a cloud computing platform based datacenter | |
US11269604B1 (en) | Static performance analysis service |
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 |