JP2000222228A - Deadlock preventing method by verification of resource occupation order - Google Patents

Deadlock preventing method by verification of resource occupation order

Info

Publication number
JP2000222228A
JP2000222228A JP11021249A JP2124999A JP2000222228A JP 2000222228 A JP2000222228 A JP 2000222228A JP 11021249 A JP11021249 A JP 11021249A JP 2124999 A JP2124999 A JP 2124999A JP 2000222228 A JP2000222228 A JP 2000222228A
Authority
JP
Japan
Prior art keywords
order
occupation
resource
verification
trace information
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
JP11021249A
Other languages
Japanese (ja)
Inventor
Minoru Iijima
実 飯島
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11021249A priority Critical patent/JP2000222228A/en
Publication of JP2000222228A publication Critical patent/JP2000222228A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To verify the access order of resources in a test process and to pre vent a deadlock in actual operation by tracing the history of resource occupation and inputting the result to an access order verification tool of differently generat ed resources. SOLUTION: A device comprises a processor 101 which conducts a system test of an operation program and a processor 108 which verifies access order. The operation program 102 codes a process for obtaining trace information 103 right after a process for occupying a resource. The processor 108 which verifies occupation order inputs trace information 104 and an occupation order rule table 105 to the occupation order verifying tool 106 to obtain a verification result 107. The occupation order of resources can be confirmed and order illegality can mechanically be detected. Further, the resource access order verifying tool can be generated independently of a program main body and exerts no influence on the development process of the program main body.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はオンライントランザ
クション処理システムのように1つのトランザクション
で複数のリソースを占有要求するマルチタスクの環境に
適用する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is applied to a multitask environment in which one transaction occupies a plurality of resources, such as an online transaction processing system.

【0002】[0002]

【従来の技術】特開平7−121387号公報「排他制
御におけるデッドロック防止方法」では実行時にOCP
側でリソースアクセス順序をチェックする方式である。
2. Description of the Related Art In Japanese Unexamined Patent Application Publication No. 7-121587, "Method for Preventing Deadlock in Exclusive Control"
This is a method in which the resource access order is checked on the side.

【0003】この方式は、データベースアクセスを含
め、全てのリソースアクセスを1つのOCPで管理して
いることが前提になる。
[0003] This method is based on the premise that all resource accesses including database access are managed by one OCP.

【0004】近年、国際的標準化や流通パッケージソフ
トの普及により、OCPソフトやデータベースソフトは
パッケージソフトとして一般に市販されているものを組
み合わせて適用するのが普通であり、上記の方式は適用
できない状況にある。
In recent years, due to the international standardization and the spread of distribution package software, OCP software and database software are generally applied in combination with those generally available as package software, and the above methods cannot be applied. is there.

【0005】業務プログラムの中でリソースアクセス順
序をチェックするのは開発時の負担が大きく、本来の処
理に対する悪影響が発生する可能性も少なくない。
[0005] Checking the resource access order in a business program imposes a heavy burden on development, and it is not unlikely that adverse effects on the original processing will occur.

【0006】[0006]

【発明が解決しようとする課題】デッドロック防止のた
めにはリソース占有順序を決め、その順序を厳守して、
プログラムを作成しなければならない。
In order to prevent deadlock, a resource occupation order is determined, and the order is strictly adhered to.
You have to write a program.

【0007】しかし、ヒューマンエラー等により、その
順序が守られずに、デッドロック発生の原因になるとい
う問題がある。
However, there is a problem that the order is not maintained due to a human error or the like, which causes a deadlock.

【0008】本発明の目的は、テスト工程においてリソ
ースのアクセス順序を検証し、実運用でのデッドロック
発生を防止することである。
An object of the present invention is to verify the access order of resources in a test process and prevent deadlock from occurring in actual operation.

【0009】[0009]

【課題を解決するための手段】オンラインシステムのプ
ログラムではテスト結果の確認や障害発生時の調査を容
易にするためにトレース情報をファイルに出力するのが
一般的である。
Generally, in an online system program, trace information is output to a file in order to make it easy to confirm a test result and investigate when a failure occurs.

【0010】この中に資源占有の履歴をトレースし、別
に作成したリソースのアクセス順序検証ツールの入力と
することにより、リソースアクセス順序不正を摘出する
ことができる。
[0010] By tracing the history of resource occupation therein and inputting the trace to a resource access order verification tool created separately, it is possible to extract an illegal resource access order.

【0011】[0011]

【発明の実施の形態】本発明の実施例を図面を参照して
説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described with reference to the drawings.

【0012】まず、全体システム構成図を図1に示す。First, an overall system configuration diagram is shown in FIG.

【0013】業務プログラムのシステムテストを行う処
理装置101とアクセス順序を検証する処理装置108
から構成される。業務プログラム102はリソースを占
有する処理の直後にトレース情報103を取得する処理
をコーディングしておく。占有順序を検証する処理装置
108では、トレース情報104と占有順序ルールテー
ブル105を占有順序検証ツール106の入力として、
検証結果107を得る。
A processing apparatus 101 for performing a system test of a business program and a processing apparatus 108 for verifying an access order
Consists of The business program 102 codes a process of acquiring the trace information 103 immediately after the process of occupying the resource. The processing unit 108 for verifying the occupation order uses the trace information 104 and the occupation order rule table 105 as inputs to the occupation order verification tool 106.
The verification result 107 is obtained.

【0014】占有順序ルールテーブル105は図3に示
すように、リソースID(302)ごとに占有順序(301)
を規定したものである。
As shown in FIG. 3, the occupation order rule table 105 stores the occupation order (301) for each resource ID (302).
Is defined.

【0015】次に、トレース取得情報の例を図4に示
す。
Next, FIG. 4 shows an example of trace acquisition information.

【0016】トランザクションID(401)はトランザ
クション毎に採番される識別子で、時刻(402)は占有
要求の実時刻である。
The transaction ID (401) is an identifier assigned for each transaction, and the time (402) is the actual time of the occupation request.

【0017】トレースファイルには同時に動作する複数
のトランザクションのトレース情報が混合して出力され
る。占有順序の検証はトランザクションIDごとに行う
必要があるため、検証の入力としてはトランザクション
ID(401)と時刻(402)をキーにしてソートしたもの
を使用する。
In the trace file, trace information of a plurality of transactions operating simultaneously is mixed and output. Since the verification of the occupation order needs to be performed for each transaction ID, the verification input is performed using the transaction ID (401) and the time (402) as keys.

【0018】ソート後はトランザクションID(411)
ごとに検証単位(410)となる。
Transaction ID (411) after sorting
Each unit is a verification unit (410).

【0019】モジュール名(403)、関数名(404)、行
番号(405)は業務プログラム内のリソース占有個所を
認識するための情報である。
The module name (403), the function name (404), and the line number (405) are information for recognizing the occupied resource in the business program.

【0020】リソースID(406)は占有リソースを示
す。トランザクションID(401)が同一のトレース情
報について、このリソースID(406)は占有順序ルール
テーブル105で規定された順序になっていることを検
証しなければならない。
The resource ID (406) indicates an occupied resource. For the trace information having the same transaction ID (401), it must be verified that the resource ID (406) is in the order specified in the occupation order rule table 105.

【0021】次に、図2により、占有順序検証ツールの
処理フロー例を説明する。
Next, an example of the processing flow of the occupation order verification tool will be described with reference to FIG.

【0022】(ステップ201)占有順序テーブルファ
イルをメモリ上のテーブルに読み込む。
(Step 201) The occupation order table file is read into a table on the memory.

【0023】(ステップ202)占有順序番号の上昇順
をチェックするための直前情報退避エリアを初期設定。
(Step 202) An initial information save area for checking the ascending order of the occupation order number is initialized.

【0024】(ステップ203)ソートされたトレース
レコードを1件ずつ入力する。
(Step 203) Sorted trace records are input one by one.

【0025】(ステップ204)トレースレコード終了
まで繰り返す。
(Step 204) Repeat until the trace record ends.

【0026】(ステップ205)トレースレコード上の
リソースID406から、占有順序ルールテーブル(302)
をサーチし、占有順序番号(301)を検索し、トレース
情報に付加する(図5 507)。
(Step 205) From the resource ID 406 on the trace record, the occupation order rule table (302)
To retrieve the occupation order number (301) and add it to the trace information (507 in FIG. 5).

【0027】(ステップ206)トランザクションID
が変わった場合、そのレコードは順序チェックしないの
でステップ209に分岐する。
(Step 206) Transaction ID
Is changed, the order of the records is not checked, and the process branches to step 209.

【0028】(ステップ207)占有順序番号の上昇順
をチェックする。
(Step 207) The ascending order number is checked in ascending order.

【0029】(ステップ208)上昇順でない場合、警
告メッセージを付加する(図5 507)(ステップ20
9)占有順序番号507、警告メッセージ508を付加したト
レース情報レコードを検証結果ファイルに出力する。
(Step 208) If the order is not ascending, a warning message is added (507 in FIG. 5) (Step 20).
9) The trace information record to which the occupation order number 507 and the warning message 508 are added is output to the verification result file.

【0030】(ステップ210)占有順序番号の上昇順
をチェックするための直前情報退避エリアに今のトレー
ス情報レコードを退避する。
(Step 210) The current trace information record is saved in the immediately preceding information save area for checking the ascending order of the occupation order number.

【0031】図5に検証結果の例を示す。ルールに違反
しているアクセス部分、つまりルールではリソースCC
C→DDDの順にアクセスすべきところを、その順序が
逆になっているアクセスについては、占有順序番号(50
7)が上昇順になっていない。
FIG. 5 shows an example of the verification result. Access part that violates the rule, that is, the resource CC in the rule
Where an access should be made in the order of C → DDD, and for an access in which the order is reversed, the occupation order number (50
7) is not in ascending order.

【0032】デッドロック要因として、警告メッセージ
(508)を付加して出力する。
As a deadlock factor, a warning message (508) is added and output.

【0033】[0033]

【発明の効果】本発明によれば、以下の効果が期待出来
る。
According to the present invention, the following effects can be expected.

【0034】(1)リソースの占有順序を確認できると
共に、順序不正を機械的に検出できる。
(1) The occupation order of the resources can be confirmed, and the improper order can be mechanically detected.

【0035】(2)リソースアクセス順序検証ツールは
プログラム本体と独立して作成することが可能であり、
プログラム本体の開発工程に影響を与えない。
(2) The resource access order verification tool can be created independently of the program body.
Does not affect the program development process.

【0036】(3)性能・リソースの面でプログラム本
体に負荷をかけないので性能を重視するシステムには最
適なデッドロック防止方式である。
(3) The deadlock prevention method is optimal for a system in which performance is emphasized because a load is not applied to the program body in terms of performance and resources.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施例のシステム構成図。FIG. 1 is a system configuration diagram of an embodiment of the present invention.

【図2】アクセス順序検証ツールのフローチャート。FIG. 2 is a flowchart of an access order verification tool.

【図3】アクセス順序ルールを記述したテーブル例を示
す図。
FIG. 3 is a diagram showing an example of a table describing an access order rule.

【図4】テスト時に取得されるトレース情報の例を示す
図。
FIG. 4 is a diagram showing an example of trace information acquired at the time of a test.

【図5】アクセス順序検証ツールによる検証結果の例を
示す図。
FIG. 5 is a diagram showing an example of a verification result by an access order verification tool.

【符号の説明】[Explanation of symbols]

101…業務プログラムをシステムテストする処理装
置、102…業務プログラム、103…テスト実行時に
出力されるトレース情報、104…検証の入力となるト
レース情報、105…占有順序ルールテーブル、106
…占有順序検証ツール、107…検証結果出力ファイ
ル、108…占有順序を検証する処理装置、301…占
有順序ルールテーブル上の占有順序番号、302…占有
順序ルールテーブル上のリソースID、401…トレー
ス情報上のトランザクションID、402…トレース情
報上の時刻、403…トレース情報上のモジュール名、
404…トレース情報上の関数名、405…トレース情
報上の行番号、406…トレース情報上のリソースI
D、410…トレース情報の検証単位、411…トレー
ス情報上のトランザクションID(ソート後)、501
…検証結果出力ファイル上のトランザクションID、5
06…検証結果出力ファイル上のリソースID、507
…検証結果出力ファイル上の占有順序番号(検証ツール
で付加)、508…検証結果出力ファイル上の警告メッ
セージ(検証ツールで付加)、510…検証結果出力フ
ァイル上の検証単位。
Reference numeral 101: a processing apparatus for performing a system test of a business program; 102, a business program; 103, trace information output when a test is executed; 104, trace information to be input for verification; 105, an occupation order rule table;
... Occupation order verification tool, 107 ... Verification result output file, 108 ... Processing device for verifying occupation order, 301 ... Occupation order number on occupation order rule table, 302 ... Resource ID on occupation order rule table, 401 ... Trace information Transaction ID, 402: time on trace information, 403: module name on trace information,
404: Function name on trace information, 405: Line number on trace information, 406: Resource I on trace information
D, 410: verification unit of trace information, 411: transaction ID on the trace information (after sorting), 501
... Transaction ID on verification result output file, 5
06: Resource ID on verification result output file, 507
... Occupation order number on verification result output file (added by verification tool), 508... Warning message on verification result output file (added by verification tool), 510... Verification unit on verification result output file.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】1トランザクションで多数のリソースへア
クセスするマルチタスクのオンライントランザクション
処理システムにおいて、実行時のトレースファイルから
トランザクションが占有するリソースの占有順序規則を
検証し、順序不正を摘出することにより、デッドロック
要因の内在を事前に検知することを特徴とする排他制御
におけるデッドロック防止方法。
In a multi-task online transaction processing system that accesses a large number of resources in one transaction, the occupation order rules of resources occupied by a transaction are verified from a trace file at the time of execution, and the improper order is extracted. A method for preventing deadlock in exclusive control, wherein the existence of a deadlock factor is detected in advance.
JP11021249A 1999-01-29 1999-01-29 Deadlock preventing method by verification of resource occupation order Pending JP2000222228A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11021249A JP2000222228A (en) 1999-01-29 1999-01-29 Deadlock preventing method by verification of resource occupation order

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11021249A JP2000222228A (en) 1999-01-29 1999-01-29 Deadlock preventing method by verification of resource occupation order

Publications (1)

Publication Number Publication Date
JP2000222228A true JP2000222228A (en) 2000-08-11

Family

ID=12049803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11021249A Pending JP2000222228A (en) 1999-01-29 1999-01-29 Deadlock preventing method by verification of resource occupation order

Country Status (1)

Country Link
JP (1) JP2000222228A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009032197A (en) * 2007-07-30 2009-02-12 Fujitsu Microelectronics Ltd Software simulation method, program for software simulation, and software simulation device
US7519965B2 (en) 2003-10-17 2009-04-14 Fujitsu Limited Computer-readable medium recorded with a deadlock pre-detection program
WO2010038280A1 (en) * 2008-10-01 2010-04-08 富士通株式会社 Virtual machine system and deadlock release method
JP2010186476A (en) * 2009-02-12 2010-08-26 Internatl Business Mach Corp <Ibm> Computer mounting method, system and computer program, for verifying correctness of execution history including multiple operations operated in parallel to data structure
JP2010218139A (en) * 2009-03-16 2010-09-30 Fujitsu Semiconductor Ltd Execution history tracing method
JP2010282266A (en) * 2009-06-02 2010-12-16 Fujitsu Ltd Program, device and method for creating scenario
JP2014167674A (en) * 2013-02-28 2014-09-11 Ntt Data Corp Database access verification method, database access verification device, and program
WO2017000828A1 (en) * 2015-07-02 2017-01-05 阿里巴巴集团控股有限公司 Rule-based data object verification method, apparatus, system and electronic device

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519965B2 (en) 2003-10-17 2009-04-14 Fujitsu Limited Computer-readable medium recorded with a deadlock pre-detection program
JP2009032197A (en) * 2007-07-30 2009-02-12 Fujitsu Microelectronics Ltd Software simulation method, program for software simulation, and software simulation device
WO2010038280A1 (en) * 2008-10-01 2010-04-08 富士通株式会社 Virtual machine system and deadlock release method
JP2010186476A (en) * 2009-02-12 2010-08-26 Internatl Business Mach Corp <Ibm> Computer mounting method, system and computer program, for verifying correctness of execution history including multiple operations operated in parallel to data structure
JP2010218139A (en) * 2009-03-16 2010-09-30 Fujitsu Semiconductor Ltd Execution history tracing method
US8578216B2 (en) 2009-03-16 2013-11-05 Spansion Llc Execution history tracing method
US9507688B2 (en) 2009-03-16 2016-11-29 Cypress Semiconductor Corporation Execution history tracing method
JP2010282266A (en) * 2009-06-02 2010-12-16 Fujitsu Ltd Program, device and method for creating scenario
JP2014167674A (en) * 2013-02-28 2014-09-11 Ntt Data Corp Database access verification method, database access verification device, and program
WO2017000828A1 (en) * 2015-07-02 2017-01-05 阿里巴巴集团控股有限公司 Rule-based data object verification method, apparatus, system and electronic device

Similar Documents

Publication Publication Date Title
CN112256558B (en) Test case generation method and device, computer equipment and storage medium
CN110310205B (en) Block chain data monitoring method, device, equipment and medium
US7251834B2 (en) Filtering a permission set using permission requests associated with a code assembly
US6185583B1 (en) Parallel rule-based processing of forms
US20070150935A1 (en) Software development apparatus for model that requires security
CN109902493B (en) Script issuing method and server
KR20160071166A (en) Apparatus for processing a plurality of logging policy and method thereof
US20030130813A1 (en) Adaptive test program generation
CN113076502A (en) Parameter control method and system based on request identification
US6980989B2 (en) System and method for transaction access control
CN112579461A (en) Assertion processing method, system and storage medium
JP2000222228A (en) Deadlock preventing method by verification of resource occupation order
US7673288B1 (en) Bypassing execution of a software test using a file cache
US5742823A (en) Total object processing system and method with assembly line features and certification of results
Li et al. Multiple-implementation testing for XACML implementations
KR101684016B1 (en) Apparatus for processing a plurality of logging policy and method thereof
CN110516258B (en) Data verification method and device, storage medium and electronic device
CN113810379B (en) Exception handling method and multi-service system
CN115061924A (en) Automatic test case generation method and generation device
CN112788017A (en) Safety verification method, device, equipment and medium
CN112445461A (en) Business rule generation method and device, electronic equipment and readable storage medium
CN111475400A (en) Verification method of service platform and related equipment
CN112363948B (en) Interface testing method and device, electronic equipment and storage medium
CN116661758B (en) Method, device, electronic equipment and medium for optimizing log framework configuration
CN110286913B (en) Check code packet deployment method and device