JP5430301B2 - Communication device management system and database access processing method - Google Patents

Communication device management system and database access processing method Download PDF

Info

Publication number
JP5430301B2
JP5430301B2 JP2009206294A JP2009206294A JP5430301B2 JP 5430301 B2 JP5430301 B2 JP 5430301B2 JP 2009206294 A JP2009206294 A JP 2009206294A JP 2009206294 A JP2009206294 A JP 2009206294A JP 5430301 B2 JP5430301 B2 JP 5430301B2
Authority
JP
Japan
Prior art keywords
processing
access
access request
request
cmdb
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
Application number
JP2009206294A
Other languages
Japanese (ja)
Other versions
JP2011059804A (en
Inventor
伸之 高井
雄三 別所
義昌 馬場
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009206294A priority Critical patent/JP5430301B2/en
Publication of JP2011059804A publication Critical patent/JP2011059804A/en
Application granted granted Critical
Publication of JP5430301B2 publication Critical patent/JP5430301B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、構成管理データベースに対して並列処理を行う通信装置管理システムに関する。   The present invention relates to a communication device management system that performs parallel processing on a configuration management database.

従来、通信装置管理システム(EMS:Element Management System)に対して、非同期に発生する複数の構成管理データベース(CMDB:Configuration Management Database)の更新/参照処理要求(以下、CMDB処理要求とする)を効率的に負荷分散するため、一連の複数のレコードアクセスであるトランザクション単位で複数のキューにランダムに分散して振り分け、キュー毎に起動されたデータベースアクセス処理アプリケーションプロセス群が、各キューに登録された要求をひとつずつ順番に取り出してCMDBアクセス処理を行っている。   Conventionally, with respect to a communication device management system (EMS), multiple configuration management database (CMDB) update / reference processing requests (hereinafter referred to as CMDB processing requests) that occur asynchronously are efficiently performed. In order to distribute the load dynamically, a database access processing application process group started for each queue is registered in each queue and distributed randomly to multiple queues for each transaction that is a series of multiple record accesses. Are taken out one by one in order, and CMDB access processing is performed.

CMDB処理要求をトランザクション単位で各キューに割り振る場合、同一レコードに対する処理要求を含む複数のトランザクションが異なるキューに振り分けられるため、同一レコードに対する競合が発生する。また、各トランザクション内のレコードの更新/参照順序が異なると、実行順序によってデッドロックが発生する。そのため、定期的にデッドロック状態を監視し、デッドロック発生時は、デッドロックを発生させているトランザクションによるCMDB処理要求をリセットし、再度CMDB処理要求を発行し直す必要がある。デッドロック状態を監視するプロセスを定期的に起動し、デッドロック発生時は処理負荷が高くなるため、応答性能が悪化する等の問題が生じていた。   When CMDB processing requests are allocated to each queue in units of transactions, a plurality of transactions including processing requests for the same record are distributed to different queues, so contention for the same record occurs. Also, if the record update / reference order in each transaction is different, a deadlock occurs depending on the execution order. Therefore, it is necessary to periodically monitor the deadlock state, and when a deadlock occurs, it is necessary to reset the CMDB processing request by the transaction causing the deadlock and reissue the CMDB processing request. A process for monitoring the deadlock state is periodically started, and when the deadlock occurs, the processing load becomes high, resulting in problems such as deterioration in response performance.

このような問題の解決策として、CMDB処理キューを一元化する方式がある。EMSに対して非同期に発生する複数のCMDB処理要求間の競合やデッドロックを回避するため、CMDB処理要求を単一のキュー(待ち行列)に一元的に集約し、先頭から登録された順序で処理する。しかしながら、単一キュー方式では、CMDB処理要求が大量に発生して負荷が増大した場合、並列処理して負荷分散する本来の目的の実現が困難であった。   As a solution to such a problem, there is a method of unifying the CMDB processing queue. In order to avoid contention and deadlock between multiple CMDB processing requests that occur asynchronously with respect to EMS, CMDB processing requests are centrally aggregated in a single queue (queue) and registered in the order registered from the top. To process. However, in the single queue method, when a large amount of CMDB processing requests are generated and the load increases, it is difficult to realize the original purpose of load distribution by parallel processing.

そこで、同一レコードに対するCMDB処理要求ごとにキューに割り振る方法が考えられる。例えば、CMDB処理要求が対象とするデータベース上のレコードキーにハッシュ関数を使用する方法である。具体的に、データベースへの更新/参照要求の処理においてハッシュ関数を適用する技術が、下記特許文献1〜4において開示されている。   Therefore, a method of allocating to the queue for each CMDB processing request for the same record is conceivable. For example, a hash function is used for the record key on the database targeted by the CMDB processing request. Specifically, techniques for applying a hash function in processing of an update / reference request to a database are disclosed in the following Patent Documents 1 to 4.

特開平5−046454号公報JP-A-5-046454 特開平5−298366号公報JP-A-5-298366 特開2000−187668号公報JP 2000-187668 A 特開2000−250927号公報JP 2000-250927 A

しかしながら、上記従来の技術によれば、登録後のレコード状態の分散化や平均化、アクセス頻度の平滑化や検索の迅速性等の登録後の処理を目的としてハッシュ関数を使用するものである。そのため、レコード更新処理を目的とするCMDB処理要求が大量に発生した場合には更新対象が競合するため、並列処理を実行しても処理負荷を軽減することができない、という問題があった。   However, according to the above-described conventional technique, a hash function is used for the purpose of post-registration processing such as distribution and averaging of record states after registration, smoothing of access frequency, and quickness of search. For this reason, when a large number of CMDB processing requests for record update processing occur, the update targets compete with each other, and there is a problem that the processing load cannot be reduced even if parallel processing is executed.

本発明は、上記に鑑みてなされたものであって、レコードの競合やデッドロックを回避しつつ、処理負荷の軽減が可能な通信装置管理システムを得ることを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide a communication device management system that can reduce processing load while avoiding record competition and deadlock.

上述した課題を解決し、目的を達成するために、本発明は、構成管理データベースを備え、他装置からのデータ更新またはデータ参照の処理要求であるアクセス要求に基づいて、当該構成管理データベースへのアクセス処理を行う通信装置管理システムであって、同一テーブルの同一レコードにアクセスするアクセス要求に対してハッシュ計算を行うと同一のハッシュ計算値を得るハッシュ関数を適用する場合において、他装置からのアクセス要求を受信し、当該アクセス要求に記載されている前記構成管理データベースのアクセス先を特定するテーブル識別子およびレコード識別子に基づいてハッシュ計算を行い、ハッシュ計算値に基づいて、受信したアクセス要求の振り分け先を決定する振分処理手段と、複数のキューを備え、ハッシュ計算値ごとに、同一のハッシュ計算値のアクセス要求を同一キューに格納する格納手段と、前記キューごとに、格納されたアクセス要求を取り出して前記構成管理データベースに対するアクセス処理を行うデータベース処理手段と、を備えることを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention includes a configuration management database, and based on an access request that is a data update or data reference processing request from another device, In a communication device management system that performs access processing, when a hash function that obtains the same hash calculation value is applied to an access request that accesses the same record of the same table, access from another device The request is received, hash calculation is performed based on the table identifier and the record identifier that specify the access destination of the configuration management database described in the access request, and the distribution destination of the received access request is based on the hash calculation value It has a distribution processing means for determining and a plurality of queues and hashes Storage means for storing the same hash calculation value access request in the same queue for each arithmetic value, and database processing means for retrieving the stored access request for each queue and performing access processing to the configuration management database; It is characterized by providing.

本発明によれば、レコードの競合やデッドロックを回避しつつ、処理負荷を軽減できる、という効果を奏する。   According to the present invention, it is possible to reduce the processing load while avoiding record competition and deadlock.

図1は、通信装置管理システムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of a communication device management system. 図2は、構成管理DBの更新処理を示すフローチャートである。FIG. 2 is a flowchart showing the configuration management DB update process. 図3は、通信装置管理システムの構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of a communication device management system. 図4は、通信装置管理システムの構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of a communication device management system. 図5は、構成管理DBの更新処理を示すフローチャートである。FIG. 5 is a flowchart showing the configuration management DB update process. 図6は、通信装置管理システムの接続例を示す図である。FIG. 6 is a diagram illustrating a connection example of the communication device management system.

以下に、本発明にかかる通信装置管理システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Embodiments of a communication device management system according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

実施の形態1.
図1は、通信装置管理システム(EMS:Element Management System)の構成例を示す図である。通信装置管理システム1は、同時に発生する複数のCMDB(Configuration Management Database)処理要求に対して、競合を防止しつつ並行して処理する。CMDB処理要求は、通信装置管理システム1が備える構成管理データベース(CMDB)に対する更新/参照処理を要求するメッセージである。ここでは、トランザクション単位が、1レコード単位の更新/参照とする簡易なシステムとする。なお、CMDB処理要求を送信する装置として、上位管理アプリケーション装置2と、EMS利用者端末3と、管理対象通信装置4を想定する。
Embodiment 1 FIG.
FIG. 1 is a diagram illustrating a configuration example of a communication device management system (EMS: Element Management System). The communication device management system 1 processes a plurality of CMDB (Configuration Management Database) processing requests that occur at the same time in parallel while preventing contention. The CMDB process request is a message for requesting an update / reference process for the configuration management database (CMDB) included in the communication device management system 1. Here, it is assumed that the transaction unit is a simple system in which update / reference is performed in units of one record. It is assumed that the upper management application apparatus 2, the EMS user terminal 3, and the managed communication apparatus 4 are apparatuses that transmit the CMDB processing request.

通信装置管理システム1は、振分処理部10と、データベース(DB)処理要求キュー11〜13と、データベース(DB)処理部14〜16と、構成管理データベース(DB)17と、を備える。振分処理部10は、上位管理アプリケーション装置2等からのCMDB処理要求に対してハッシュ関数の計算を行い、計算結果に基づいて振り分け処理を行う。DB処理要求キュー11〜13は、振り分けされたCMDB処理要求を登録する。DB処理部14〜16は、各DB処理要求キューに登録されたCMDB処理要求を取り出してアプリケーションを並行して実行し、構成管理DB17にアクセスする。構成管理DB17は、システムに関する情報を管理するデータベースである。   The communication device management system 1 includes a distribution processing unit 10, database (DB) processing request queues 11 to 13, database (DB) processing units 14 to 16, and a configuration management database (DB) 17. The distribution processing unit 10 calculates a hash function in response to a CMDB processing request from the upper management application apparatus 2 or the like, and performs a distribution process based on the calculation result. The DB process request queues 11 to 13 register the distributed CMDB process requests. The DB processing units 14 to 16 take out the CMDB processing request registered in each DB processing request queue, execute the application in parallel, and access the configuration management DB 17. The configuration management DB 17 is a database that manages information about the system.

構成管理DB17は、テーブル18、19を備える。テーブル18、19は、データベース上に登録されているリレーショナルデータベーステーブルである。レコード181、182、183は、テーブル18に登録されたレコードを示し、レコード191、192、193は、テーブル19に登録されたレコードを示す。   The configuration management DB 17 includes tables 18 and 19. Tables 18 and 19 are relational database tables registered on the database. Records 181, 182, and 183 indicate records registered in the table 18, and records 191, 192, and 193 indicate records registered in the table 19.

つづいて、通信装置管理システム1の動作について説明する。図2は、通信装置管理システムにおける構成管理DB17の更新処理を示すフローチャートである。まず、上位管理アプリケーション装置2、EMS利用者端末3、および管理対象通信装置4においてCMDB処理要求が非同期に複数発生する。ここでは、上位管理アプリケーション装置2、EMS利用者端末3、管理対象通信装置4の順に各装置がCMDB処理要求を送信する。なお、上位管理アプリケーション装置2およびEMS利用者端末3からのCMDB処理要求はテーブル18のレコード181に対するレコード更新要求、管理対象通信装置4からのCMDB処理要求はテーブル19のレコード192に対するレコード更新要求とする。   Next, the operation of the communication device management system 1 will be described. FIG. 2 is a flowchart showing an update process of the configuration management DB 17 in the communication device management system. First, a plurality of CMDB processing requests are generated asynchronously in the upper management application device 2, the EMS user terminal 3, and the managed communication device 4. Here, each device transmits a CMDB processing request in the order of the upper management application device 2, the EMS user terminal 3, and the managed communication device 4. The CMDB processing request from the upper management application device 2 and the EMS user terminal 3 is a record update request for the record 181 in the table 18, and the CMDB processing request from the managed communication device 4 is a record update request for the record 192 in the table 19. To do.

通信装置管理システム1では、振分処理部10において、各装置から送信されたCMDB処理要求を受け付ける(ステップS1)。振分処理部10は、CMDB処理要求に付与されているDB処理対象のテーブル識別子、レコード識別子を元にハッシュ関数により計算処理を実行し(ステップS2)、計算結果に基づいて、受け付けたCMDB処理要求を各DB処理要求キューに登録する(ステップS3)。テーブル識別子は各テーブルに通番で振られるテーブル番号とし、レコード識別子はレコードキー番号と定義する。また、ハッシュ関数の計算結果の値は、入力値を元にアクセス要求キュー番号に一意に対応するように設定する。   In the communication device management system 1, the distribution processing unit 10 receives a CMDB processing request transmitted from each device (step S1). The distribution processing unit 10 executes a calculation process using a hash function based on the table identifier and record identifier of the DB process target given to the CMDB process request (step S2), and accepts the CMDB process received based on the calculation result. The request is registered in each DB processing request queue (step S3). The table identifier is a table number assigned to each table by a serial number, and the record identifier is defined as a record key number. The value of the hash function calculation result is set so as to uniquely correspond to the access request queue number based on the input value.

ここでは、3つのDB処理要求キューが存在するので、テーブル番号とレコードキーの和を3で割った余りをハッシュ計算結果値とする。具体的に、以下の式(1)の様に定義する。
ハッシュ関数 F(x、y、z)=MOD(x+y、z) …(1)
(x=テーブル番号、y=レコードキー番号、z=DB処理要求キュー数)
本実施の形態ではz=3となる。すなわち、振分処理部10は、ハッシュ値が2の場合はDB処理要求キュー11、ハッシュ値が1の場合はDB処理要求キュー12、ハッシュ値が0の場合はDB処理要求キュー13の各DB処理要求キューに振り分ける。
Here, since there are three DB processing request queues, a remainder obtained by dividing the sum of the table number and the record key by 3 is set as a hash calculation result value. Specifically, it is defined as the following formula (1).
Hash function F (x, y, z) = MOD (x + y, z) (1)
(X = table number, y = record key number, z = DB processing request queue number)
In this embodiment, z = 3. That is, the distribution processing unit 10 stores the DB processing request queue 11 when the hash value is 2, the DB processing request queue 12 when the hash value is 1, and the DB processing request queue 13 when the hash value is 0. Allocate to process request queue.

計算の簡素化のため、テーブル18のテーブル番号を1、レコード181〜183のレコードキー番号を1〜3とし、テーブル19のテーブル番号を2、レコード191〜193のレコードキー番号を1〜3とする。上記式(1)を適用すると、上位管理アプリケーション装置2、EMS利用者端末3からのCMDB処理要求に対するハッシュ値は、(テーブル番号1+レコードキー番号1)=2の数値を3で割った余りとして計算結果2を得る。振分処理部10は、2件とも、ハッシュ値2であるため、DB処理要求キュー11に登録する。同様に、管理対象通信装置4からのCMDB処理要求に対するハッシュ値は、(テーブル番号2+レコードキー番号2)=4を3で割った余りとして計算結果1を得る。振分処理部10は、ハッシュ値1に対応してDB処理要求キュー12に登録する。   In order to simplify the calculation, the table number of the table 18 is 1, the record key numbers of the records 181 to 183 are 1 to 3, the table number of the table 19 is 2, and the record key numbers of the records 191 to 193 are 1 to 3. To do. When the above formula (1) is applied, the hash value for the CMDB processing request from the upper management application device 2 and the EMS user terminal 3 is a remainder obtained by dividing the numerical value of (table number 1 + record key number 1) = 2 by 3. Calculation result 2 is obtained. The distribution processing unit 10 registers in the DB processing request queue 11 because both cases have the hash value 2. Similarly, the hash value for the CMDB processing request from the managed communication device 4 obtains the calculation result 1 as a remainder obtained by dividing (table number 2 + record key number 2) = 4 by 3. The distribution processing unit 10 registers the hash value 1 in the DB processing request queue 12.

DB処理部14〜16は、各DB処理要求キューに登録されたCMDB処理要求を順次取り出し(ステップS4)、構成管理DB17に対してCMDB更新/参照処理を実行する(ステップS5)。ここでは、DB処理部14がDB処理要求キュー11から2件のCMDB処理要求を取り出し、上位管理アプリケーション装置2、EMS利用者端末3からの順に実行し、テーブル18のレコード181を、「10」、「20」と順次書き換える。また、DB処理部15がDB処理要求キュー12からCMDB処理要求を取り出して実行し、テーブル19のレコード192を、「30」に書き換える。   The DB processing units 14 to 16 sequentially retrieve CMDB processing requests registered in each DB processing request queue (step S4), and execute CMDB update / reference processing on the configuration management DB 17 (step S5). Here, the DB processing unit 14 takes out two CMDB processing requests from the DB processing request queue 11 and executes them in order from the upper management application device 2 and the EMS user terminal 3, and records 181 in the table 18 are set to “10”. , “20” are sequentially rewritten. Further, the DB processing unit 15 retrieves and executes the CMDB processing request from the DB processing request queue 12 and rewrites the record 192 of the table 19 to “30”.

このように、各DB処理部が更新対象とするレコードが他のDB処理部と競合することが無いため、各DB処理部によって構成管理DB17に対するレコード更新の並列処理が可能となる。   As described above, since the records to be updated by each DB processing unit do not compete with other DB processing units, each DB processing unit can perform parallel processing of record update on the configuration management DB 17.

以上説明したように、本実施の形態によれば、単一レコード処理が単一トランザクション単位である場合に、振分処理部が受け付けたCMDB処理要求に対してハッシュ関数による計算を実行し、同一テーブルの同一レコードに対するCMDB処理要求を同一のDB処理要求キューに振り分けた後、各DB処理要求キューに対応するDB処理部が構成管理DBの更新処理を行うこととした。これにより、同一レコードに対して複数のDB処理部から同時に更新/参照されることはなく競合が発生しない。また、同一レコードに対する更新/参照要求に対して時系列上の順序逆転は発生せず、時系列性を維持しつつ、効率的に並列処理を行うことができる。   As described above, according to the present embodiment, when single record processing is performed in units of a single transaction, the calculation by the hash function is performed on the CMDB processing request received by the distribution processing unit, and the same After allocating CMDB processing requests for the same record in the table to the same DB processing request queue, the DB processing unit corresponding to each DB processing request queue performs update processing of the configuration management DB. As a result, the same record is not updated / referenced simultaneously by a plurality of DB processing units, and no conflict occurs. In addition, there is no time-series inversion in response to an update / reference request for the same record, and parallel processing can be performed efficiently while maintaining time-series characteristics.

なお、3つの並行処理のため、DB処理要求キューを3つ、DB処理部も3つを準備し、ハッシュ関数も3で除算することにより0〜2までの3つの数値を算出できるように実装したが、負荷に応じて並列処理度数を式(1)の除数値に設定することで、並列度数を柔軟に変更することが可能である。例えば、並列度数を4に増やしたい場合、式(1)のハッシュ計算式で使用する除数を4に変更することにより、ハッシュ計算式の算出結果は、拡大させた並列に振り分けるキュー番号の範囲として0〜3の値域に適応できる。なお、テーブル識別子とレコード識別子の連係として、テーブル番号とレコード番号の和としたが、各々一意に識別できる連結計算値であればどのような連携であってもよい。例えば、テーブル名称、レコードキー値を数値化した値でもよく、また相互連携は、和算である必要ななく、乗算、除算、指数計算等、2つの数値を使った連携計算のいずれにおいても、同様の効果を得ることができる。   In addition, for three parallel processes, three DB processing request queues, three DB processing units are prepared, and the hash function is divided by 3, so that three numerical values from 0 to 2 can be calculated. However, it is possible to flexibly change the degree of parallelism by setting the degree of parallel processing to the divisor value of equation (1) according to the load. For example, when the degree of parallelism is to be increased to 4, by changing the divisor used in the hash calculation formula of Formula (1) to 4, the calculation result of the hash calculation formula can be obtained as a range of queue numbers to be distributed in parallel. It can be applied to a range of 0-3. The linkage between the table identifier and the record identifier is the sum of the table number and the record number. However, any linkage may be used as long as each link calculation value can be uniquely identified. For example, the table name and the record key value may be numerical values, and the mutual linkage does not need to be summation, and in any of the linkage calculations using two numbers such as multiplication, division, and exponent calculation, Similar effects can be obtained.

実施の形態2.
本実施の形態では、トランザクションが複数のレコードの更新/参照処理のまとまりである場合において、デッドロックを回避するシステムについて説明する。実施の形態1と異なる部分について説明する。
Embodiment 2. FIG.
In this embodiment, a system for avoiding deadlock when a transaction is a group of update / reference processes for a plurality of records will be described. A different part from Embodiment 1 is demonstrated.

本実施の形態では、EMS利用者端末3等からのCMDB処理要求がトランザクション単位であり、トランザクションは、複数のレコードの更新/参照処理のまとまりであり、他の対象レコード更新/参照の介在を許可しない一連の処理とする。トランザクションは、通信装置管理システムの振分処理部において、複数の異なるレコード処理単位のCMDB処理要求に分解できることとする。また、各トランザクションには、トランザクション番号(TR−1、TR−2、・・・と明示する)が割り当てられ、分解されたCMDB処理要求には所属するトランザクション番号が含まれ、通信装置管理システムのDB処理部によって読み出し可能とする。   In the present embodiment, the CMDB processing request from the EMS user terminal 3 or the like is a transaction unit, and the transaction is a group of update / reference processing of a plurality of records, and permits the intervention of other target record update / reference. A series of processing is not performed. The transaction can be decomposed into CMDB processing requests for a plurality of different record processing units in the distribution processing unit of the communication device management system. Each transaction is assigned a transaction number (denoted as TR-1, TR-2,...), And the decomposed CMDB processing request includes the transaction number to which the transaction belongs. It can be read by the DB processing unit.

まず、従来においてデッドロックが発生する処理について説明する。図3は、通信装置管理システムの構成例を示す図である。通信装置管理システム1aは、振分処理部10aと、DB処理要求キュー11a、12aと、DB処理部14a、15aと、構成管理DB17と、を備える。振分処理部10aは、EMS利用者端末3等からのトランザクションについて、トランザクション単位で振り分け処理を行う。DB処理要求キュー11a、12aは、振り分けされたトランザクションを登録する。DB処理要求キュー11aは、EMS利用者端末3からのトランザクションTR−1を登録する。また、DB処理要求キュー12aは、管理対象通信装置4からのトランザクションTR−2を登録する。DB処理部14a、15aは、各DB処理要求キューに登録されたトランザクションを取り出して、トランザクションに含まれるCMDB処理要求に基づくアプリケーションを並行して実行し、構成管理DB17にアクセスする。   First, a process in which deadlock occurs in the prior art will be described. FIG. 3 is a diagram illustrating a configuration example of a communication device management system. The communication device management system 1a includes a distribution processing unit 10a, DB processing request queues 11a and 12a, DB processing units 14a and 15a, and a configuration management DB 17. The distribution processing unit 10a performs distribution processing for each transaction from the EMS user terminal 3 or the like. The DB processing request queues 11a and 12a register distributed transactions. The DB processing request queue 11a registers the transaction TR-1 from the EMS user terminal 3. In addition, the DB processing request queue 12a registers the transaction TR-2 from the managed communication device 4. The DB processing units 14a and 15a take out the transaction registered in each DB processing request queue, execute the application based on the CMDB processing request included in the transaction in parallel, and access the configuration management DB 17.

ここで、トランザクションTR−1は、(1)テーブル18のレコード181のロックおよび更新をする要求、および、(3)テーブル19のレコード191のロックおよび更新をする要求、の2つのCMDB処理要求から構成される。また、トランザクションTR−2は、(2)テーブル19のレコード191のロックおよび更新をする要求、および、(4)テーブル18のレコード181のロックおよび更新をする要求、の2つのCMDB処理要求から構成される。すなわち、2つのトランザクションTR−1、TR−2は、同じ2レコードを更新するが、双方で更新順序が逆転するトランザクションとなっている。処理の順序としては、DB処理部14a、15aが並行して各DB処理要求キューの要求を処理するため、各DB処理要求キューに登録されて要求は非同期で処理される。ここでは、(1)、(2)、(3)、(4)の順で実行されるとする。   Here, the transaction TR-1 is based on two CMDB processing requests: (1) a request to lock and update the record 181 of the table 18, and (3) a request to lock and update the record 191 of the table 19. Composed. The transaction TR-2 is composed of two CMDB processing requests: (2) a request to lock and update the record 191 in the table 19 and (4) a request to lock and update the record 181 in the table 18. Is done. That is, the two transactions TR-1 and TR-2 are transactions in which the same two records are updated, but the update order is reversed in both. As the processing order, since the DB processing units 14a and 15a process requests in the respective DB processing request queues in parallel, the requests are registered in the respective DB processing request queues and processed asynchronously. Here, it is assumed that (1), (2), (3), and (4) are executed in this order.

つづいて、通信装置管理システム1aの動作について説明する。まず、EMS利用者端末3、管理対象通信装置4が、それぞれ、トランザクションTR−1、TR−2の個別のCMDB処理要求を送信する。トランザクションTR−1は、(1)テーブル18のレコード181の更新と、(3)テーブル19のレコード191の更新、の2つのCMDB処理要求に分解できる。また、トランザクションTR−2も、(2)テーブル19のレコード191の更新と、(4)テーブル18のレコード181の更新、の2つのCMDB処理要求に分解できる。   Next, the operation of the communication device management system 1a will be described. First, the EMS user terminal 3 and the managed communication device 4 transmit individual CMDB processing requests for the transactions TR-1 and TR-2, respectively. Transaction TR-1 can be broken down into two CMDB processing requests: (1) update of record 181 of table 18 and (3) update of record 191 of table 19. Transaction TR-2 can also be broken down into two CMDB processing requests: (2) update of record 191 in table 19 and (4) update of record 181 in table 18.

従来ではトランザクション単位でDB処理要求キューに登録していたため、振分処理部10aは、同一のトランザクションTR−1に属する(1)と(3)のCMDB処理要求を、まとめてDB処理要求キュー11aに振り分けて登録する。同様に、振分処理部10aは、同一のトランザクションTR−2に属する(2)と(4)のCMDB処理要求を、まとめてDB処理要求キュー12aに振り分けて登録する。   Conventionally, since the transaction processing unit 10a has registered in the DB processing request queue for each transaction, the distribution processing unit 10a collectively combines the CMDB processing requests (1) and (3) belonging to the same transaction TR-1 into the DB processing request queue 11a. Sort and register. Similarly, the distribution processing unit 10a distributes and registers the CMDB processing requests (2) and (4) belonging to the same transaction TR-2 in the DB processing request queue 12a.

DB処理部14a、15aは、CMDB処理要求キュー11a、12aにそれぞれ登録されたCMDB処理要求を取り出し、非同期、かつ独立に構成管理DB17を更新する。上述のように、(1)、(2)、(3)、(4)の順に取り出され実行される。   The DB processing units 14a and 15a take out CMDB processing requests registered in the CMDB processing request queues 11a and 12a, respectively, and update the configuration management DB 17 asynchronously and independently. As described above, (1), (2), (3), and (4) are taken out and executed in this order.

その結果、まず、DB処理部14aが、先頭の(1)のCMDB処理要求に基づく更新処理により、テーブル18のレコード181にロックを掛け、本レコードの更新を行う。レコードにロックが掛けられた場合、他のDB処理部からは対象レコードの参照や更新ができなくなる。ロックが掛ったレコードを更新/参照する他のDB処理部は、先にロックを掛けたDB処理部がロック解除するまで待ち状態に置かれる。ロックを掛ける処理を含むトランザクション処理全体が終了してレコードのロックが解除されると、始めて、ロックにより発生した待ち状態が解け、レコードの更新/参照ができるようになる。   As a result, first, the DB processing unit 14a locks the record 181 of the table 18 by the update process based on the top (1) CMDB process request, and updates this record. When a record is locked, it becomes impossible to refer to or update the target record from another DB processing unit. Other DB processing units that update / reference the locked record are put in a wait state until the previously locked DB processing unit releases the lock. When the entire transaction process including the process for locking is completed and the record is unlocked, the wait state generated by the lock is released and the record can be updated / referenced.

ここでは、(1)の実行により、テーブル18のレコード181にロックが掛けられた状態となる。つぎに、DB処理部15aが、(2)のCMDB処理要求に基づく更新処理により、テーブル19のレコード191にロックが掛けられた状態となる。さらに、DB処理部14aが、(3)のCMDB処理要求に基づく更新処理により、テーブル19のレコード191の更新を試みる。しかしながら、既に、(2)の更新処理の際、レコードロックが掛けられているため、トランザクションTR−1の(3)の処理は待ち状態となる。また、DB処理部14bが、(4)のCMDB処理要求に基づく更新処理により、テーブル18のレコード181の更新を試みる。この場合も同様に、(1)の更新処理の際、レコードロックが掛けられているため、トランザクションTR−2の(4)の処理は待ち状態となる。   Here, by executing (1), the record 181 of the table 18 is locked. Next, the DB processing unit 15a is in a state where the record 191 of the table 19 is locked by the update processing based on the CMDB processing request of (2). Further, the DB processing unit 14a attempts to update the record 191 of the table 19 by the update process based on the CMDB process request (3). However, since the record lock is already applied during the update process (2), the process (3) of the transaction TR-1 is in a waiting state. Further, the DB processing unit 14b attempts to update the record 181 of the table 18 by the update process based on the CMDB process request (4). In this case as well, since the record lock is applied during the update process (1), the process (4) of the transaction TR-2 is in a waiting state.

このように、相互にロックを掛け合っているため、トランザクションTR−1、TR−2が、ともに待ち状態となる。相互に他のDB処理部側からトランザクションのロック解除がされないと先に進めないが、相互に停止状態でロック解除ができないため、永久的な待ち状態が継続する、いわゆるデッドロック状態に陥る。デッドロックを解消する方法として、定期的にデッドロック状態を監視するプロセスを起動してデッドロックが発生していないか監視し、デッドロック発生時に、双方または片方のトランザクションをキャンセルする方法が一般的である。キャンセルされたトランザクションについては、再度、同様の操作を実行する。   As described above, since the locks are applied to each other, the transactions TR-1 and TR-2 are both in a waiting state. If the transaction is not unlocked from the other DB processing unit, the transaction cannot proceed. However, since the lock cannot be released in a stopped state, a so-called deadlock state in which a permanent waiting state continues. A common way to eliminate deadlocks is to periodically start a process that monitors the deadlock state to monitor for deadlocks and cancel both or one of the transactions when a deadlock occurs. It is. The same operation is executed again for the canceled transaction.

デッドロックが発生した場合、DB処理の遅延または永久停止が発生する。また、デッドロックを検出した場合、デッドロック監視プロセスにより、片方または両方のトランザクション処理を一旦消去して、トランザクションの最初からやり直しをする方法が一般的である。このような処理を行うと、システム負荷の増大、デッドロック検出やデッドロック時の処理のやり直しによる応答性能の大幅な悪化が発生する。   When a deadlock occurs, a delay or permanent stop of DB processing occurs. In addition, when a deadlock is detected, a method is generally employed in which one or both of the transaction processes are once deleted by a deadlock monitoring process and the transaction is started again from the beginning. When such processing is performed, the response performance is greatly deteriorated due to an increase in system load, deadlock detection, and re-execution of processing at the time of deadlock.

つぎに、デッドロックを回避する処理について説明する。図4は、通信装置管理システムの構成例を示す図である。通信装置管理システム1bは、振分処理部10bと、DB処理要求キュー11b、12bと、DB処理部14b、15bと、構成管理DB17と、現トランザクションリスト100と、を備える。振分処理部10bは、EMS利用者端末3等からのトランザクションについて、トランザクションに含まれるレコード処理単位のCMDB処理要求に対してハッシュ関数の計算を行い、振り分け処理を行う。DB処理要求キュー11b、12bは、振り分けされたCMDB処理要求を登録する。DB処理要求キュー11bは、テーブル18のレコード181を更新するCMDB処理要求を登録する。また、DB処理要求キュー12bは、テーブル19のレコード191を更新するCMDB処理要求を登録する。DB処理部14b、15bは、各DB処理要求キューに登録されたCMDB処理要求を取り出してアプリケーションを並行して実行し、構成管理DB17にアクセスする。また、各DB処理要求キューに登録されたCMDB処理要求の並べ替えを行う。現トランザクションリスト100は、各DB処理要求キュー内の順序を決定するトランザクション番号を管理する現トランザクション優先順位テーブルである。   Next, processing for avoiding deadlock will be described. FIG. 4 is a diagram illustrating a configuration example of a communication device management system. The communication device management system 1b includes a distribution processing unit 10b, DB processing request queues 11b and 12b, DB processing units 14b and 15b, a configuration management DB 17, and a current transaction list 100. For the transaction from the EMS user terminal 3 or the like, the distribution processing unit 10b calculates a hash function for a CMDB processing request for each record processing unit included in the transaction, and performs a distribution process. The DB processing request queues 11b and 12b register the distributed CMDB processing requests. The DB processing request queue 11b registers a CMDB processing request for updating the record 181 of the table 18. The DB processing request queue 12b registers a CMDB processing request for updating the record 191 of the table 19. The DB processing units 14b and 15b take out the CMDB processing request registered in each DB processing request queue, execute the application in parallel, and access the configuration management DB 17. Also, the CMDB processing requests registered in each DB processing request queue are rearranged. The current transaction list 100 is a current transaction priority table that manages transaction numbers that determine the order in each DB processing request queue.

ここでは、振分処理部10bが、トランザクション単位ではなく、トランザクションに含まれるレコード処理単位のCMDB処理要求に対してテーブル番号とレコードキー番号を元にしたハッシュ関数の計算を行い、ハッシュ関数値に基づき、レコード処理単位に分解して各DB処理要求キューに振り分けて登録する。具体的には、DB処理要求キュー11bには、トランザクションTR−1の(1)テーブル18のレコード181の更新要求、トランザクションTR−2の(4)テーブル18のレコード181の更新要求が登録される。また、DB処理要求キュー12bには、トランザクションTR−1の(3)テーブル19のレコード191の更新要求、トランザクションTR−2の(2)テーブル19のレコード191の更新要求が登録される。   Here, the distribution processing unit 10b performs a hash function calculation based on the table number and the record key number for the CMDB processing request in the record processing unit included in the transaction, not in the transaction unit, and generates the hash function value. Based on this, it is divided into record processing units, distributed to each DB processing request queue, and registered. Specifically, the update request for the record 181 in the (1) table 18 of the transaction TR-1 and the update request for the record 181 in the (4) table 18 of the transaction TR-2 are registered in the DB processing request queue 11b. . In the DB processing request queue 12b, the update request for the record 191 in the (3) table 19 of the transaction TR-1 and the update request for the record 191 in the (2) table 19 of the transaction TR-2 are registered.

つづいて、通信装置管理システム1bの動作について説明する。図5は、通信装置管理システムにおける構成管理DB17の更新処理を示すフローチャートである。まず、EMS利用者端末3、管理対象通信装置4が、それぞれ、トランザクションTR−1、TR−2の個別のCMDB処理要求を送信する。それぞれに含まれるレコード更新の内容は、図3におけるデッドロックが発生する場合のものと同一である。   Next, the operation of the communication device management system 1b will be described. FIG. 5 is a flowchart showing an update process of the configuration management DB 17 in the communication device management system. First, the EMS user terminal 3 and the managed communication device 4 transmit individual CMDB processing requests for the transactions TR-1 and TR-2, respectively. The contents of the record update included in each are the same as those when a deadlock occurs in FIG.

ここで、CMDB処理要求を送信する各装置は、トランザクション毎に、ユニークなトランザクションID(TR−IDとする)を決定し、同一トランザクションの全CMDB処理要求に本TR−IDを付与する。さらに、トランザクションの最初のCMDB処理要求には、トランザクション開始マーク(StartTRとする)、最後のCMDB処理要求にはトランザクション終了マーク(EndTRとする)を付与する。   Here, each device that transmits a CMDB processing request determines a unique transaction ID (TR-ID) for each transaction, and assigns this TR-ID to all CMDB processing requests of the same transaction. Furthermore, a transaction start mark (StartTR) is assigned to the first CMDB processing request of a transaction, and a transaction end mark (EndTR) is assigned to the last CMDB processing request.

通信装置管理システム1bでは、振分処理部10bにおいて、各装置から送信されたトランザクションを受け付け(ステップS11)、受信したトランザクションTR−1、TR−2をレコード処理単位のCMDB処理要求に分解する(ステップS12)。振分処理部10bは、分解したレコード処理単位のCMDB処理要求について、CMDB処理要求に付与されているDB処理対象のテーブル識別子、レコード識別子を元にハッシュ関数により計算処理を実行し(ステップS13)、計算結果に基づいて、CMDB処理要求を各DB処理要求キューに登録する(ステップS14)。   In the communication device management system 1b, the distribution processing unit 10b accepts a transaction transmitted from each device (step S11), and decomposes the received transactions TR-1 and TR-2 into CMDB processing requests in record processing units ( Step S12). The distribution processing unit 10b executes a calculation process using a hash function based on the table identifier and record identifier of the DB processing target given to the CMDB processing request for the CMDB processing request in the disassembled record processing unit (step S13). Based on the calculation result, the CMDB processing request is registered in each DB processing request queue (step S14).

ハッシュ関数による計算方法は実施の形態1と同様である。すなわち、同一テーブルの同一レコードに対するCMDB処理要求は同じDB処理要求キューに振り分けられて登録される。具体的に、振分処理部10bは、テーブル18のレコード181に対する処理要求であるトランザクションTR−1の(1)、およびトランザクションTR−2の(4)をDB処理要求キュー11bに登録する。また、振分処理部10bは、テーブル19のレコード191に対する処理要求であるトランザクションTR−1の(3)、およびトランザクションTR−2の(2)をDB処理要求キュー12bに登録する。   The calculation method using the hash function is the same as in the first embodiment. That is, CMDB processing requests for the same record in the same table are distributed and registered in the same DB processing request queue. Specifically, the distribution processing unit 10b registers (1) of the transaction TR-1 and (4) of the transaction TR-2, which are processing requests for the record 181 of the table 18, in the DB processing request queue 11b. Further, the distribution processing unit 10b registers (3) of the transaction TR-1 and (2) of the transaction TR-2, which are processing requests for the record 191 of the table 19, in the DB processing request queue 12b.

このとき、振分処理部10bは、現トランザクションリスト100に、トランザクションTR−1、TR−2の受信順に現在実行中のトランザクションとして登録する。トランザクションの優先度は現トランザクションリスト100の登録順であるため、トランザクションTR−1の方がトランザクションTR−2より優先度が高いことを示す。   At this time, the distribution processing unit 10b registers the current transaction list 100 as a currently executing transaction in the order of receiving the transactions TR-1 and TR-2. Since the transaction priority is in the registration order of the current transaction list 100, the transaction TR-1 has a higher priority than the transaction TR-2.

つぎに、各DB処理部が、CMDB処理要求の実行するにあたり、現トランザクションリスト100の登録順(優先順位)に基づいて、各DB処理要求キュー内のCMDB処理要求を並べ替える(ステップS15)。並べ替えの方法としては、例えば、最も優先順位の高いTR−IDと同一のTR−IDが付与されたCMDB処理要求を抜き出し、各BD処理要求キュー内で当該TR−IDが付与された全てのCMDB処理要求をまとめて、TR−IDの優先順位に従って各DB処理要求キュー内で並び替える。このとき、2番目以降の優先順位のTR−IDと同一のTR−IDが付与されたCMDB処理要求について並び替えを行ってもよい。なお、並べ替える方法は、これに限定するものではない。   Next, when executing the CMDB processing request, each DB processing unit rearranges the CMDB processing requests in each DB processing request queue based on the registration order (priority order) of the current transaction list 100 (step S15). As a rearrangement method, for example, a CMDB processing request assigned with the same TR-ID as the TR-ID having the highest priority is extracted, and all the TR-IDs assigned with the TR-ID in each BD processing request queue are extracted. The CMDB processing requests are collected and rearranged in each DB processing request queue according to the priority order of TR-IDs. At this time, the CMDB processing requests to which the same TR-IDs as the TR-IDs of the second and subsequent priorities are assigned may be rearranged. Note that the rearrangement method is not limited to this.

また、並び替えるタイミングとしては、例えば、いずれかのDB処理部でEndTRマークが付与されたCMDB処理要求を処理した場合に現トランザクションリスト100から当該TR−IDを削除する処理を行うため、このタイミングとしてもよい。なお、並べ替えるタイミングは、これに限定するものではない。   Further, as the timing of rearrangement, for example, when a CMDB processing request with an EndTR mark is processed in any DB processing unit, processing for deleting the TR-ID from the current transaction list 100 is performed. It is good. Note that the rearrangement timing is not limited to this.

具体的には、DB処理部14bが、トランザクションTR−1に属するCMDB処理要求を優先して並び替える。その結果、DB処理要求キュー11bにおいて、トランザクションTR−1の(1)を先頭に登録し、つぎに、トランザクションTR−2の(4)が位置するように再登録する。同様に、DB処理部15bが、DB処理要求キュー12bにおいて、トランザクションTR−1の(3)を先頭に登録し、つぎに、トランザクションTR−2の(2)が位置するように再登録する。   Specifically, the DB processing unit 14b sorts the CMDB processing requests belonging to the transaction TR-1 with priority. As a result, in the DB processing request queue 11b, (1) of the transaction TR-1 is registered at the head, and then re-registered so that (4) of the transaction TR-2 is located. Similarly, the DB processing unit 15b registers (3) of the transaction TR-1 at the top in the DB processing request queue 12b, and then re-registers it so that (2) of the transaction TR-2 is located.

DB処理部14b、15bは、各DB処理要求キューに登録されたCMDB処理要求を取り出し(ステップS16)、構成管理DB17に対してCMDB更新/参照処理を実行する(ステップS17)。構成管理DB17に対する処理は、上述の説明と同様である。   The DB processing units 14b and 15b take out the CMDB processing request registered in each DB processing request queue (Step S16), and execute the CMDB update / reference processing for the configuration management DB 17 (Step S17). The process for the configuration management DB 17 is the same as described above.

いずれかのDB処理部において、EndTRマークが付与されたCMDB処理要求を取り出した場合は、他のDB処理要求キューに同一TR−IDのCMDB処理要求が残っているかどうかを確認する。残っていた場合は、EndTRマークが付与されたCMDB処理要求の処理を行わない。残っていない場合は、取り出したCMDB処理要求の処理を行った後、現トランザクションリスト100から当該TR−IDを削除する。   When any of the DB processing units retrieves a CMDB processing request to which an EndTR mark is added, it is confirmed whether or not a CMDB processing request with the same TR-ID remains in another DB processing request queue. If it remains, the CMDB processing request with the EndTR mark is not processed. If not, after processing the extracted CMDB processing request, the TR-ID is deleted from the current transaction list 100.

このように、各DB処理部が、各DB処理要求キューに登録されたCMDB処理要求を現トランザクションリスト100の登録順序で並べ替えるため、その結果、トランザクションの優先順で各レコード単位のCMDB処理要求が実行されるため、デッドロックが発生しない。なお、各DB処理部が、各DB処理要求キューに登録されたCMDB処理要求を並べ替えることとしたが、振分処理部10bが各DB処理要求キューに登録する際に行ってもよい。   In this way, each DB processing unit rearranges the CMDB processing requests registered in each DB processing request queue in the registration order of the current transaction list 100. As a result, the CMDB processing requests for each record in the priority order of transactions. Is executed, so no deadlock occurs. Each DB processing unit rearranges the CMDB processing requests registered in each DB processing request queue, but may be performed when the distribution processing unit 10b registers in each DB processing request queue.

なお、本実施の形態では、トランザクションの優先順位として、振分処理部10bで受信した順番としているが、これに限定するものではない。例えば、各DB処理部において、トランザクション開始時期を現トランザクションリスト100に記録することにより、トランザクションの開始タイミングが早い程、優先順位を高くすると定義してもよい。また、利用者によりCMDB処理要求時に優先順位を明示的に設定する等、他の規則によりトランザクションの優先順位を決定した場合においても同様の効果が期待できる。   In the present embodiment, the priority order of transactions is the order received by the distribution processing unit 10b, but the present invention is not limited to this. For example, each DB processing unit may record the transaction start time in the current transaction list 100 so that the earlier the transaction start timing, the higher the priority. The same effect can be expected even when the transaction priority is determined by other rules, such as when the user explicitly sets the priority when a CMDB process is requested.

例えば、開始タイミングの早いトランザクションの優先順位を高くする場合では、StartTRが付与されたCMDB処理要求を取り出したいずれかのDB処理部が、当該StartTRが付与されたトランザクションのTR−IDを現トランザクションリスト100に記録する。その後、各DB処理が当該TR−IDが付与されたCMDB要求を各DB処理要求キューから抜き出し、各DB処理要求キュー内において優先順位に基づいて並べ替えを行う。待ちフラグの立っているCMDB処理要求についてはリセットする。待ちフラグは、現トランザクションリスト100に無いCMDB処理要求を取り出したDB処理部が、当該CMDB処理要求に立て、処理の対象としない。なお、トランザクションの優先順位を受信順で決める場合では、各DB処理要求キューに登録されているCMDB処理要求に付与されているTR−IDは、必ず現トランザクションリスト100に登録されている。そのため、現トランザクションリスト100に基づいて並べ替えることが可能であり、待ちフラグの必要はない。   For example, in the case of increasing the priority of a transaction with an early start timing, any DB processing unit that has fetched a CMDB processing request to which StartTR has been assigned obtains the TR-ID of the transaction to which the StartTR has been assigned as the current transaction list. Record 100. Thereafter, each DB process extracts the CMDB request to which the TR-ID is assigned from each DB process request queue, and performs rearrangement based on the priority order in each DB process request queue. The CMDB processing request for which the waiting flag is set is reset. The wait flag is not subject to processing by the DB processing unit that has taken out a CMDB processing request that is not in the current transaction list 100, in response to the CMDB processing request. When determining the transaction priority in the order of reception, the TR-ID assigned to the CMDB processing request registered in each DB processing request queue is always registered in the current transaction list 100. Therefore, it is possible to rearrange based on the current transaction list 100, and there is no need for a waiting flag.

以上説明したように、本実施の形態によれば、トランザクションが複数のレコードの更新/参照処理のまとまりである場合に、振分処理部が、受け付けたトランザクションをレコード処理単位のCMDB処理要求に分解してハッシュ関数による計算を実行し、また、DB処理部が、トランザクションの優先順位に基づいてDB処理要求キューに登録されたCMDB処理要求を並び替えることとした。これにより、実施の形態1の効果に加え、デッドロックを防止することができ、システム全体として負荷を軽減することができる。   As described above, according to the present embodiment, when a transaction is a group of update / reference processing of a plurality of records, the distribution processing unit decomposes the received transaction into CMDB processing requests in units of record processing. Then, the calculation by the hash function is executed, and the DB processing unit rearranges the CMDB processing requests registered in the DB processing request queue based on the transaction priority. Thereby, in addition to the effects of the first embodiment, deadlock can be prevented and the load of the entire system can be reduced.

なお、これまでの説明では、通信装置管理システムに対して、上位管理アプリケーション装置等が全て共通のインタフェイスでCMDB処理要求を送信する方式を想定している。しかしながら、全てのCMDB処理要求側のインタフェイスを一括変更することが困難な場合がある。このように、共通でないCMDB処理要求元が存在した場合でも、メッセージ形式を共通形式に変換するゲートウェイ等を用いることによって並列処理することが可能となる。   In the description so far, it is assumed that the upper management application apparatus and the like all transmit the CMDB processing request to the communication apparatus management system through a common interface. However, it may be difficult to collectively change all the CMDB processing request side interfaces. As described above, even when there is a CMDB processing request source that is not common, parallel processing can be performed by using a gateway or the like that converts the message format to the common format.

図6は、変換ゲートウェイを配置した通信装置管理システムとの接続例を示す図である。例えば、管理対象通信装置4からは、通信装置管理システム1と通信できない独自のメッセージ形式のCMDB処理要求を送信する。このような場合に、独自形式のメッセージを共通形式のメッセージに変換する変換ゲートウェイ5を用いる。   FIG. 6 is a diagram illustrating a connection example with a communication device management system in which a conversion gateway is arranged. For example, the CMDB processing request in a unique message format that cannot communicate with the communication device management system 1 is transmitted from the management target communication device 4. In such a case, the conversion gateway 5 that converts a message in a unique format into a message in a common format is used.

変換ゲートウェイ5は、管理対象通信装置4から入力した独自メッセージ形式のCMDB処理要求を通信装置管理システム1が受け付け可能な共通のメッセージ形式のCMDB処理要求に変換して出力する。通信装置管理システム1は、変換後の共通メッセージ形式のCMDB処理要求を受信することにより、CMDB処理要求を受け付け可能となる。   The conversion gateway 5 converts the CMDB processing request in the unique message format input from the managed communication device 4 into a CMDB processing request in a common message format that can be received by the communication device management system 1 and outputs the CMDB processing request. The communication device management system 1 can accept the CMDB processing request by receiving the CMDB processing request in the converted common message format.

このように、CMDB処理要求メッセージが共通でない場合でも、変換ゲートウェイ5が異なるメッセージ形式を共通の要求メッセージ形式に変換し、通信装置管理システムに送信することにより、異なるメッセージ形式のCMDB処理要求についても、共通に処理して通信装置管理システムにおける処理負荷を分散することができる。   As described above, even when the CMDB processing request message is not common, the conversion gateway 5 converts the different message format into the common request message format and transmits it to the communication device management system, so that CMDB processing requests of different message formats can be obtained. The processing load in the communication device management system can be distributed by processing in common.

なお、メッセージ形式を変換する構成を通信装置管理システムとCMDB処理要求を送信する装置との間に配置する場合について説明したが、これに限定するものではなく、通信装置管理システム内の備えてもよい。   In addition, although the case where the structure which converts a message format is arrange | positioned between a communication apparatus management system and the apparatus which transmits a CMDB process request was demonstrated, it is not limited to this and may be provided in a communication apparatus management system. Good.

また、CMDB処理要求のメッセージ形式だけでなく、通信プロトコルやコード体系等が標準と異なる場合等、共通の通信インタフェイス仕様から異なる場合においても、変換ゲートウェイを介在させることで、通信装置管理システムに対するインタフェイスを共通化することが可能であり、データベースの更新/参照処理の負荷分散の同等の効果を得ることが期待できる。   In addition to the CMDB processing request message format, even when the communication protocol or code system is different from the standard, such as when it differs from the common communication interface specification, the conversion gateway can be used to intervene with the communication device management system. It is possible to share an interface, and it can be expected to obtain an equivalent effect of load distribution of database update / reference processing.

また、単一のデータベースを想定しているが、複数のデータベースに跨るデータベースシステムを対象とする場合においても、ハッシュ関数対象をデータベース識別子まで拡張し、データベース識別子、テーブル識別子、レコード識別子の3つの連結計算とすることで適用可能であり、同様の効果を得ることができる。   In addition, although a single database is assumed, even when a database system that spans multiple databases is targeted, the hash function target is extended to the database identifier, and the database identifier, the table identifier, and the record identifier are linked. The calculation can be applied and the same effect can be obtained.

また、本並列処理方式では、並列度数に応じて、DB処理要求キューを複数設けたが、DB処理要求キューは論理的に分離したキューであればよく、物理的には単一キューに実装しても問題なく同様の効果が期待できる。すなわち、物理的に単一のDB処理要求キューとして実装した場合でも、振分処理部において、CMDB処理要求を受信後、単一キューにCMDB処理要求を登録する際、ハッシュ関数の計算値を各CMDB処理要求に付加して登録する。その後、複数のDB処理部が、単一キューからCMDB処理要求を取り出す際、付加されたハッシュ関数値を参照して各DB処理部に割り当てられたハッシュ関数値に属するCMDB処理要求のみを取り出し、並列して実行することで同様の効果を得ることが期待できる。   In this parallel processing method, a plurality of DB processing request queues are provided according to the degree of parallelism. However, the DB processing request queue may be a logically separated queue, and is physically implemented in a single queue. However, the same effect can be expected without problems. That is, even when the distribution processing unit receives a CMDB processing request and registers the CMDB processing request in a single queue, even if it is physically implemented as a single DB processing request queue, It is added to the CMDB processing request and registered. Thereafter, when a plurality of DB processing units retrieves a CMDB processing request from a single queue, only the CMDB processing request belonging to the hash function value assigned to each DB processing unit is retrieved with reference to the added hash function value, A similar effect can be expected by executing in parallel.

以上のように、本発明にかかる通信装置管理システムは、構成管理データベースに対するデータ処理に有用であり、特に、構成管理データベースに対して並列処理を行うシステムに適している。   As described above, the communication device management system according to the present invention is useful for data processing on a configuration management database, and is particularly suitable for a system that performs parallel processing on a configuration management database.

1 通信装置管理システム
2 上位管理アプリケーション装置
3 EMS利用者端末
4 管理対象通信装置
5 変換ゲートウェイ
10、10a、10b 振分処理部
11、11a、11b、12、12a、12b、13 DB処理要求キュー
14、14a、14b、15、15a、15b、16 DB処理部
17 構成管理DB
18、19 テーブル
100 現トランザクションリスト
DESCRIPTION OF SYMBOLS 1 Communication apparatus management system 2 Upper management application apparatus 3 EMS user terminal 4 Management object communication apparatus 5 Conversion gateway 10, 10a, 10b Distribution processing part 11, 11a, 11b, 12, 12a, 12b, 13 DB process request queue 14 , 14a, 14b, 15, 15a, 15b, 16 DB processing unit 17 Configuration management DB
18, 19 Table 100 Current transaction list

Claims (9)

構成管理データベースを備え、他装置からのデータ更新またはデータ参照の処理要求であるアクセス要求に基づいて、当該構成管理データベースへのアクセス処理を行う通信装置管理システムであって、
同一テーブルの同一レコードにアクセスするアクセス要求に対してハッシュ計算を行うと同一のハッシュ計算値を得るハッシュ関数を適用する場合において、他装置からのアクセス要求を受信し、当該アクセス要求に記載されている前記構成管理データベースのアクセス先を特定するテーブル識別子およびレコード識別子に基づいてハッシュ計算を行い、ハッシュ計算値に基づいて、受信したアクセス要求の振り分け先を決定する振分処理手段と、
複数のキューを備え、ハッシュ計算値ごとに、同一のハッシュ計算値のアクセス要求を同一キューに格納する格納手段と、
前記キューごとに、格納されたアクセス要求を取り出して前記構成管理データベースに対するアクセス処理を行うデータベース処理手段と、
を備えることを特徴とする通信装置管理システム。
A communication device management system comprising a configuration management database and performing access processing to the configuration management database based on an access request that is a data update or data reference processing request from another device,
When applying a hash function that obtains the same hash calculation value when hash calculation is performed for access requests that access the same record in the same table, the access request from another device is received and described in the access request. A distribution processing means for performing a hash calculation based on a table identifier and a record identifier specifying an access destination of the configuration management database, and determining a distribution destination of the received access request based on the hash calculation value;
A storage unit that includes a plurality of queues and stores access requests for the same hash calculation value in the same queue for each hash calculation value;
Database processing means for retrieving the stored access request for each queue and performing access processing to the configuration management database;
A communication device management system comprising:
前記振分処理手段は、前記格納手段が備えるキューの数の範囲内の種類のハッシュ計算値を算出する、
ことを特徴とする請求項1に記載の通信装置管理システム。
The distribution processing unit calculates a hash calculation value of a type within the range of the number of queues provided in the storage unit.
The communication device management system according to claim 1.
前記各装置からのアクセス要求が、複数のアクセス要求を含むトランザクションで送信された場合、
前記振分処理手段は、受信したトランザクションを個々のアクセス要求の単位に分解し、分解したアクセス要求についてハッシュ関数の計算値を算出し、
前記データベース処理手段は、前記格納手段が備える各キューに格納されたアクセス要求を、当該アクセス要求が含まれていたトランザクションの優先順位に基づいて並べ替え、優先順位の高いアクセス要求から前記構成管理データベースに対するアクセス処理を行う、
ことを特徴とする請求項1または2に記載の通信装置管理システム。
When the access request from each device is transmitted in a transaction including a plurality of access requests,
The distribution processing means decomposes the received transaction into individual access request units, calculates a calculated value of a hash function for the decomposed access request,
The database processing means rearranges the access requests stored in the respective queues provided in the storage means based on the priority of the transaction in which the access request is included, and the configuration management database from the access request having a high priority. Process access to
The communication device management system according to claim 1 or 2,
前記振分処理手段は、トランザクションの受信順に基づいて優先順位を決定する、
ことを特徴とする請求項3に記載の通信装置管理システム。
The distribution processing means determines the priority order based on the order of receiving transactions.
The communication device management system according to claim 3.
前記データベース処理手段は、トランザクションの処理の開始順に基づいて優先順位を決定する、
ことを特徴とする請求項3に記載の通信装置管理システム。
The database processing means determines a priority order based on a transaction processing start order;
The communication device management system according to claim 3.
さらに、
前記他装置が前記振分処理手段において受信できない通信形式でアクセス要求を送信した場合に、当該アクセス要求を前記振分処理手段が受信可能な通信形式のアクセス要求に変換する変換手段、
を備えることを特徴とする請求項1〜5のいずれか1つに記載の通信装置管理システム。
further,
When the other apparatus transmits an access request in a communication format that cannot be received by the distribution processing unit, the conversion unit converts the access request into an access request in a communication format that can be received by the distribution processing unit;
The communication device management system according to any one of claims 1 to 5, further comprising:
構成管理データベースを備え、他装置からのデータ更新またはデータ参照の処理要求であるアクセス要求に基づいて、当該構成管理データベースへのアクセス処理を行う通信装置管理システム、が採用するデータベースアクセス処理方法であって、
他装置からのアクセス要求を受信する受信ステップと、
同一テーブルの同一レコードにアクセスするアクセス要求に対してハッシュ計算を行うと同一のハッシュ計算値を得るハッシュ関数を適用する場合において、前記アクセス要求に記載されている前記構成管理データベースのアクセス先を特定するテーブル識別子およびレコード識別子に基づいてハッシュ計算を行うハッシュ計算ステップと、
前記ハッシュ計算値に基づいて受信したアクセス要求の振り分け先を決定する振り分けステップと、
同一のハッシュ計算値のアクセス要求を同一キューに格納する格納ステップと、
前記キューに格納されたアクセス要求を取り出して前記構成管理データベースに対するアクセス処理を行うデータベース処理ステップと、
を含むことを特徴とするデータベースアクセス処理方法。
A database access processing method employed by a communication device management system that includes a configuration management database and performs access processing to the configuration management database based on an access request that is a data update or data reference processing request from another device. And
A receiving step of receiving an access request from another device;
Specify the access destination of the configuration management database described in the access request when applying a hash function to obtain the same hash calculation value when performing hash calculation for access requests that access the same record in the same table A hash calculation step for performing a hash calculation based on the table identifier and the record identifier to be performed;
A distribution step of determining a distribution destination of the received access request based on the hash calculation value;
A storage step of storing access requests with the same hash calculation value in the same queue;
A database processing step of retrieving an access request stored in the queue and performing an access process to the configuration management database;
A database access processing method comprising:
前記各装置からのアクセス要求が、複数のアクセス要求を含むトランザクションで送信された場合、
前記受信ステップでは、受信したトランザクションを個々のアクセス要求の単位に分解し、
前記ハッシュ計算ステップでは、分解された個々のアクセス要求についてハッシュ計算値を算出し、
さらに、
所定の規則に基づいて前記トランザクションに優先順位を付ける優先順位付与ステップと、
前記キューに格納されたアクセス要求を優先順位に基づいて並べ替える並べ替えステップと、
を含むことを特徴とする請求項7に記載のデータベースアクセス処理方法。
When the access request from each device is transmitted in a transaction including a plurality of access requests,
In the receiving step, the received transaction is broken down into individual access request units;
In the hash calculation step, a hash calculation value is calculated for each decomposed access request,
further,
A prioritizing step of prioritizing the transactions based on predetermined rules;
A reordering step for reordering access requests stored in the queue based on priority;
The database access processing method according to claim 7, further comprising:
さらに、
前記他装置が前記受信ステップにおいて受信できない通信形式でアクセス要求を送信した場合に、当該アクセス要求を前記受信ステップで受信可能な通信形式のアクセス要求に変換する変換ステップ、
を含むことを特徴とする請求項7または8に記載のデータベースアクセス処理方法。
further,
A conversion step of converting the access request into an access request in a communication format receivable in the reception step when the other apparatus transmits an access request in a communication format that cannot be received in the reception step;
The database access processing method according to claim 7 or 8, characterized by comprising:
JP2009206294A 2009-09-07 2009-09-07 Communication device management system and database access processing method Expired - Fee Related JP5430301B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009206294A JP5430301B2 (en) 2009-09-07 2009-09-07 Communication device management system and database access processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009206294A JP5430301B2 (en) 2009-09-07 2009-09-07 Communication device management system and database access processing method

Publications (2)

Publication Number Publication Date
JP2011059804A JP2011059804A (en) 2011-03-24
JP5430301B2 true JP5430301B2 (en) 2014-02-26

Family

ID=43947388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009206294A Expired - Fee Related JP5430301B2 (en) 2009-09-07 2009-09-07 Communication device management system and database access processing method

Country Status (1)

Country Link
JP (1) JP5430301B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11165634B2 (en) * 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
CN111447109B (en) * 2020-03-23 2022-03-22 京东方科技集团股份有限公司 Monitoring management apparatus and method, computer readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104811B2 (en) * 1989-11-29 1995-11-13 株式会社日立製作所 High-speed database control method
JPH05342082A (en) * 1992-04-01 1993-12-24 Nec Corp Distributed filing system
JPH0695951A (en) * 1992-09-17 1994-04-08 Kanebo Ltd Device and method for managing hash file
JP2004288117A (en) * 2003-03-25 2004-10-14 Mitsubishi Electric Corp Application software configuration management system
JP4941034B2 (en) * 2007-03-20 2012-05-30 富士通株式会社 Access control apparatus and access control method
JP5203733B2 (en) * 2008-02-01 2013-06-05 株式会社東芝 Coordinator server, data allocation method and program

Also Published As

Publication number Publication date
JP2011059804A (en) 2011-03-24

Similar Documents

Publication Publication Date Title
JP5536568B2 (en) Method, system, and program for aggregating and processing transactions
US8386532B2 (en) Mechanism for co-located data placement in a parallel elastic database management system
WO2019114128A1 (en) Block chain transaction block processing method, electronic device and readable storage medium
US9171044B2 (en) Method and system for parallelizing database requests
US8364677B2 (en) Method and apparatus for generating partitioning keys for a range-partitioned database
US11475006B2 (en) Query and change propagation scheduling for heterogeneous database systems
JP5203733B2 (en) Coordinator server, data allocation method and program
CN106981024B (en) Transaction limit calculation processing system and processing method thereof
WO2014141594A1 (en) Computer system
EP3172682B1 (en) Distributing and processing streams over one or more networks for on-the-fly schema evolution
EP2824575A1 (en) Distributed database system
US10289971B2 (en) Issue and trigger rebalancing in a ranked issue management system
US9449041B2 (en) Database system lock operation method and device
CN106776008A (en) A kind of method and system that load balancing is realized based on zookeeper
JP5430301B2 (en) Communication device management system and database access processing method
US20160239785A1 (en) Issue rank management in an issue tracking system
WO2017169471A1 (en) Processing system and processing method
US11121874B2 (en) Method for analyzing data using a blockchain, a data provider and a data customer therefor
US20230308302A1 (en) Data transfer system and data transfer method
US10318506B2 (en) Database system
JP2018101343A (en) Exclusive control device, exclusive control system, exclusive control method, and exclusive control program
US11416517B2 (en) Partitioning data in a clustered database environment
US9727621B2 (en) Systems and methods for servicing database events
JP7189753B2 (en) Data distribution management system, data distribution management support device, and data distribution management method
JP5472885B2 (en) Program, stream data processing method, and stream data processing computer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131021

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: 20131105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees