JP2000222228A - Deadlock preventing method by verification of resource occupation order - Google Patents
Deadlock preventing method by verification of resource occupation orderInfo
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【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.
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)
クセスするマルチタスクのオンライントランザクション
処理システムにおいて、実行時のトレースファイルから
トランザクションが占有するリソースの占有順序規則を
検証し、順序不正を摘出することにより、デッドロック
要因の内在を事前に検知することを特徴とする排他制御
におけるデッドロック防止方法。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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009032197A (en) * | 2007-07-30 | 2009-02-12 | Fujitsu Microelectronics Ltd | Software simulation method, software simulation program, and software simulation apparatus |
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 | Scenario creation program, scenario creation device, and scenario creation method |
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 |
-
1999
- 1999-01-29 JP JP11021249A patent/JP2000222228A/en active Pending
Cited By (10)
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, software simulation program, and software simulation apparatus |
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 | Scenario creation program, scenario creation device, and scenario creation method |
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 | |
US6546524B1 (en) | Component-based method and apparatus for structured use of a plurality of software tools | |
CN109902493B (en) | Script issuing method and server | |
KR20160071166A (en) | Apparatus for processing a plurality of logging policy and method thereof | |
CN112528307A (en) | Service request checking method and device, electronic equipment and storage medium | |
US20030130813A1 (en) | Adaptive test program generation | |
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 | |
US5742823A (en) | Total object processing system and method with assembly line features and certification of results | |
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 | |
CN112788017A (en) | Safety verification method, device, equipment and medium | |
CN117807636A (en) | Data verification method, device, system, computing equipment and storage medium | |
US7673288B1 (en) | Bypassing execution of a software test using a file cache | |
CN113810379B (en) | Exception handling method and multi-service system | |
CN116661758A (en) | Method, device, electronic equipment and medium for optimizing log framework configuration | |
CN114090294A (en) | Json-based interaction and verification method, system and equipment | |
US20100042656A1 (en) | Claim generation for testing claims-based applications | |
CN112445461A (en) | Business rule generation method and device, electronic equipment and readable storage medium | |
CN112261075A (en) | Network request processing method, device, equipment and computer readable storage medium | |
CN113821277B (en) | Interface calling method and device, computer readable storage medium and electronic device | |
CN112363948B (en) | Interface testing method and device, electronic equipment and storage medium |