JP2019168807A - Control device, control method, control program and control system - Google Patents

Control device, control method, control program and control system Download PDF

Info

Publication number
JP2019168807A
JP2019168807A JP2018054717A JP2018054717A JP2019168807A JP 2019168807 A JP2019168807 A JP 2019168807A JP 2018054717 A JP2018054717 A JP 2018054717A JP 2018054717 A JP2018054717 A JP 2018054717A JP 2019168807 A JP2019168807 A JP 2019168807A
Authority
JP
Japan
Prior art keywords
instance
request
monitoring unit
instances
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018054717A
Other languages
Japanese (ja)
Other versions
JP7013988B2 (en
Inventor
駿 加藤
Shun Kato
駿 加藤
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2018054717A priority Critical patent/JP7013988B2/en
Publication of JP2019168807A publication Critical patent/JP2019168807A/en
Application granted granted Critical
Publication of JP7013988B2 publication Critical patent/JP7013988B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To provide a control device, a control method, a control program and a control system which allow for reducing load on an entire system by preventing unnecessary retries when receiving an access request to a database during the execution of switching processing.SOLUTION: The control device comprises: a monitoring unit which monitors states of a plurality of instances which an in-memory database has; and a control unit which, in response to accepting a request for transaction processing with a specific instance out of the plurality of instances as an object, suspends the accepted request for transaction processing if a monitoring result of the monitoring unit indicates that the specific instance is in the middle of switching processing.SELECTED DRAWING: Figure 1

Description

本願発明は、トランザクション処理の制御を行う、制御装置、制御方法、制御プログラム、及び制御システムに関する。   The present invention relates to a control device, a control method, a control program, and a control system that control transaction processing.

近年のシステム等では、短時間に大量トランザクションを処理する「高速性」と24時間稼働を支える「高信頼性」とが求められている。上述の「高速性」と「高信頼性」とを実現する技術として、データストレージを主にメインメモリ上で行うインメモリデータベースがある。   In recent systems, etc., “high speed” that processes a large amount of transactions in a short time and “high reliability” that supports 24-hour operation are required. As a technique for realizing the above-mentioned “high speed” and “high reliability”, there is an in-memory database that performs data storage mainly on a main memory.

一般的に、インメモリデータベースを使ったシステムでは、冗長化を目的としてマスタインスタンス(マスタ)及びスレーブインスタンス(スレーブ)を構成する。インスタンスとは、あらかじめ定義されたコンピュータプログラムやデータ構造などを、メインメモリ上に展開して処理・実行できる状態にしたものである。   Generally, in a system using an in-memory database, a master instance (master) and a slave instance (slave) are configured for the purpose of redundancy. An instance is a state in which a predefined computer program, data structure, and the like are expanded on a main memory and can be processed and executed.

業務アプリケーション(業務AP)がマスタのデータを更新すると、当該更新は更新ログとしてスレーブに転送される。当該更新ログをスレーブのデータに同期又は非同期で反映することで、スレーブをマスタのレプリカとする。マスタ側で障害が発生した場合は、マスタとスレーブとを切り替え、スレーブとして運用していたものをマスタとして運用する事で、マスタ側で障害が発生した場合であっても処理を継続する事が可能となる。以後、マスタとスレーブとを切り替える処理のことを切替処理と呼ぶ。   When the business application (business AP) updates the master data, the update is transferred to the slave as an update log. By reflecting the update log on the slave data synchronously or asynchronously, the slave is made a replica of the master. If a failure occurs on the master side, the master and slave can be switched, and what was operating as a slave can be operated as the master, so that processing can continue even if a failure occurs on the master side. It becomes possible. Hereinafter, the process of switching between the master and the slave is referred to as a switching process.

切替処理はトランザクションの実行中にも発生する場合がある。切替処理に巻き込まれたトランザクションは、異常終了するか、又は切替処理が完了するまで不要なリトライを繰り返してしまう。   Switching processing may also occur during transaction execution. The transaction involved in the switching process ends abnormally or repeats unnecessary retries until the switching process is completed.

複数のインスタンスを有するクラスタ構成データベースにおいて、切替処理に関するする技術の一例として、特許文献1が挙げられる。特許文献1にかかるデータベースアクセス制御部は、データベースアクセス要求に基づいて、データベースインスタンスに対してSQLを発行する。リトライ可否判断部は、データベースシステムから送信された当該SQLの実行結果が異常終了だった場合、ロールバック処理を実行する。データベースアクセス制御部は、当該ロールバック処理が失敗した場合、データベースインスタンスの切り替え(切替処理)を実施する。   Patent Document 1 is an example of a technique related to switching processing in a cluster configuration database having a plurality of instances. The database access control unit according to Patent Document 1 issues SQL to the database instance based on the database access request. The retry possibility determination unit executes a rollback process when the execution result of the SQL transmitted from the database system ends abnormally. When the rollback process fails, the database access control unit switches the database instance (switching process).

特開2011−086067号公報JP 2011-086067 A

特許文献1に開示された技術は、アクセス要求を受け付けるとSQLを発行し、当該SQLの実行結果が異常終了だった場合はロールバック処理を行い、当該ロールバック処理が失敗した場合に切替処理を実施する。しかし、特許文献1に開示された技術は、切替処理が実施されている間にアクセス要求を受け付けた場合について考慮されていない。従って、特許文献1に開示された技術は、切替処理が実施されている間に受け付けたアクセス要求を、アクセス要求の対象となるインスタンスに送信してしまうおそれがある。切替処理中のインスタンスはアクセス要求を受け付ける事が出来ないため、当該切替処理中のインスタンスに送信されたアクセス要求は失敗してしまう。更に、データベースアクセス制御部が当該アクセス要求のリトライを繰り返した場合は、システム全体の負荷が増大する。   The technique disclosed in Patent Document 1 issues an SQL upon accepting an access request, performs a rollback process when the execution result of the SQL is abnormally terminated, and performs a switching process when the rollback process fails. carry out. However, the technique disclosed in Patent Document 1 does not consider a case where an access request is received while the switching process is being performed. Therefore, the technique disclosed in Patent Document 1 may transmit an access request received while the switching process is being performed to an instance that is a target of the access request. Since the instance during the switching process cannot accept the access request, the access request transmitted to the instance during the switching process fails. Furthermore, when the database access control unit repeatedly retries the access request, the load on the entire system increases.

本願発明は上記課題を解決し、切替処理が行われている間にデータベースへのアクセス要求を受けた場合に不要なリトライを防止し、システム全体の負荷を削減する事ができる制御装置、制御方法、制御プログラム、及び制御システムを提案する。   The invention of the present application solves the above-described problems, and can prevent unnecessary retries when a request for access to a database is received while switching processing is being performed, and can reduce the load on the entire system and control method A control program and a control system are proposed.

本願発明の制御装置は、インメモリデータベースが有する複数のインスタンスの状態を監視する監視部と、前記複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を受け付けた際に、監視部の監視結果が、当該特定のインスタンスで切替処理中であった場合、当該受け付けたトランザクション処理の要求を保留する制御部と、を備える。   The control device according to the present invention has a monitoring unit that monitors the states of a plurality of instances included in the in-memory database, and a monitoring unit that receives a transaction processing request for a specific instance among the plurality of instances. A control unit that suspends the received transaction processing request when the monitoring result indicates that the specific instance is undergoing switching processing.

本願発明の制御方法は、インメモリデータベースが有する複数のインスタンスの状態を監視し、前記複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を受け付けた際に、前記監視の結果が、当該特定のインスタンスで切替処理中であった場合、当該受け付けたトランザクション処理の要求を保留する。   The control method of the present invention monitors the state of a plurality of instances in the in-memory database, and when a transaction processing request for a specific instance among the plurality of instances is received, the monitoring result is: If switching processing is being performed in the specific instance, the accepted transaction processing request is suspended.

本願発明のコンピュータプログラムは、インメモリデータベースが有する複数のインスタンスの状態を監視し、前記複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を受け付けた際に、前記監視の結果が、当該特定のインスタンスで切替処理中であった場合、当該受け付けたトランザクション処理の要求を保留する、処理をコンピュータに実行させる。   The computer program of the present invention monitors the state of a plurality of instances in the in-memory database, and when a transaction processing request for a specific instance among the plurality of instances is received, the monitoring result is: When switching processing is being performed in the specific instance, the computer is caused to execute processing for holding the received transaction processing request.

本願発明によれば、切替処理が行われている間にデータベースへのアクセス要求を受けた場合に不要なリトライを防止し、システム全体の負荷を削減する事ができる。   According to the present invention, it is possible to prevent unnecessary retries when a database access request is received during the switching process, and to reduce the load on the entire system.

制御システム500の構成を示す図である。2 is a diagram illustrating a configuration of a control system 500. FIG. データアクセス制御部330の動作を示すフローチャートである。5 is a flowchart showing an operation of a data access control unit 330. 監視部320の動作を示すフローチャートである。5 is a flowchart showing the operation of a monitoring unit 320. リトライ制御部340の動作を示すフローチャートである。5 is a flowchart showing the operation of a retry control unit 340. 管理プロセスの確認結果として挙げられる要素の具体例を示す図である。It is a figure which shows the specific example of the element mentioned as a confirmation result of a management process. チェック表223の具体例を示す図である。It is a figure which shows the specific example of the check table. 稼動状態表310の具体例を示す図である。It is a figure which shows the specific example of the operating state table. 制御装置1の構成を示す図である。2 is a diagram illustrating a configuration of a control device 1. FIG. 制御装置1の動作を示すフローチャートである。3 is a flowchart showing the operation of the control device 1. 本願発明を実現するコンピュータを示す図である。It is a figure which shows the computer which implement | achieves this invention.

<第1の実施形態>
本願発明の第1の実施形態を、図面を参照して説明する。図1は、第1の実施形態における、制御システム500の構成を示す図である。
<First Embodiment>
A first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration of a control system 500 according to the first embodiment.

制御システム500は、業務アプリケーション100と(以後、業務AP100と呼ぶ)、インメモリデータベースシステム200と(以後インメモリDB200と呼ぶ)、制御装置300と、を有する。業務AP100と、インメモリDB200と、制御装置300とは、ネットワーク等で接続され、相互に通信可能である。   The control system 500 includes a business application 100 (hereinafter referred to as business AP 100), an in-memory database system 200 (hereinafter referred to as in-memory DB 200), and a control device 300. The business AP 100, the in-memory DB 200, and the control device 300 are connected via a network or the like and can communicate with each other.

業務AP100は、ユーザ等の要求により、アクセス要求を発行する。具体的に、業務AP100は、インメモリDB200のデータを更新又は参照するためのトランザクションで構成されるアクセス要求を発行する。   The business AP 100 issues an access request in response to a request from a user or the like. Specifically, the business AP 100 issues an access request including a transaction for updating or referring to data in the in-memory DB 200.

インメモリDB200は、処理部210と、インスタンス220と、インスタンス230と、インスタンス240と、と有する。   The in-memory DB 200 includes a processing unit 210, an instance 220, an instance 230, and an instance 240.

処理部210は、アクセス要求を受信すると、当該アクセス要求に対して、レコード間の排他制御処理、コミット処理、ロールバック処理、及び当該要求の実行処理等を行う。例えば、処理部210は、受信したアクセス要求が特定のインスタンスを対象としたデータ更新である場合、対象となるインスタンスに対して更新処理を行う。また、処理部210は、マスタで障害が発生した場合、当該マスタとスレーブとを切り替える切替処理を行う。   When receiving the access request, the processing unit 210 performs, for the access request, exclusive control processing between records, commit processing, rollback processing, execution processing of the request, and the like. For example, when the received access request is a data update for a specific instance, the processing unit 210 performs an update process on the target instance. In addition, when a failure occurs in the master, the processing unit 210 performs a switching process for switching between the master and the slave.

インスタンス220は、ユーザ表221、管理プロセス222、及びチェック表223を有する。   The instance 220 includes a user table 221, a management process 222, and a check table 223.

ユーザ表221は、データアクセスの実施により、更新又は参照される表である。ユーザ表221に示される情報は、ユーザ等が更新又は参照するものであれば、どのようなものであっても構わない。   The user table 221 is a table that is updated or referred to by performing data access. The information shown in the user table 221 may be any information as long as it is updated or referred to by the user or the like.

管理プロセス222は、インスタンス220の状態を管理する。後述する監視部320が管理プロセス222を確認することで、当該管理プロセス222が管理しているインスタンス220の状態を判断することが出来る。監視部320が、管理プロセス222を確認することで判断できるインスタンス220の状態として、例えば、「起動中」「停止中」「障害中」の3種類がある。なお、監視部320が管理プロセスを確認すると説明したが、本願はこれに限られず、インスタンス220の状態を判断できるのであれば、処理部210等が確認を行っても良い。   The management process 222 manages the state of the instance 220. The monitoring unit 320 to be described later confirms the management process 222, so that the state of the instance 220 managed by the management process 222 can be determined. As the state of the instance 220 that can be determined by the monitoring unit 320 confirming the management process 222, for example, there are three types of states: “active”, “stopped”, and “failed”. Although the monitoring unit 320 has been described as confirming the management process, the present application is not limited to this, and the processing unit 210 or the like may confirm the state of the instance 220 as long as the state can be determined.

チェック表223は、後述する監視部320がインスタンス220の状態を確認するために定期的にアクセスを行った結果が示されている。具体的に、チェック表223は、監視部320がアクセスした日時とアクセス結果とが対応するログ形式で示される。アクセス結果として、例えば、「正常終了」「タイムアウトの異常終了」「タイムアウト以外の異常終了」の3種類がある。なお、監視部320が定期的にアクセスを行うと説明したが、本願はこれに限られず、インスタンス220にアクセスが行えるのであれば、処理部210等がアクセスを行っても良い。なお、インスタンス220がチェック表を有すると説明したが、本願はこれに限られず、監視部が確認できるのであれば、インスタンス220以外がチェック表223を有しても良い。   The check table 223 shows a result of periodic access by the monitoring unit 320 described later to confirm the state of the instance 220. Specifically, the check table 223 indicates the date and time when the monitoring unit 320 accessed and the access result in a corresponding log format. For example, there are three types of access results: “normal end”, “abnormal end of timeout”, and “abnormal end other than timeout”. Although the monitoring unit 320 has been described as accessing periodically, the present application is not limited to this, and the processing unit 210 may access the instance 220 as long as the instance 220 can be accessed. Although the instance 220 has been described as having a check table, the present application is not limited to this, and the instance other than the instance 220 may have the check table 223 as long as the monitoring unit can confirm.

「正常終了」とは、監視部320がインスタンス220に対してアクセスを行い、当該アクセスに対して一定時間以内に応答が帰ってきた場合等、アクセスが正常に終了した事を示す。   “Normally completed” indicates that the monitoring unit 320 has accessed the instance 220 and the access has been completed normally, for example, when a response is returned within a certain time for the access.

「タイムアウトの異常終了」とは、監視部320がインスタンス220に対してアクセスを行い、当該アクセスに対して一定時間以内に応答が帰ってこなかった場合等、アクセスが異常終了した事を示す。   “Abnormal termination of timeout” indicates that the access is terminated abnormally, for example, when the monitoring unit 320 accesses the instance 220 and no response is returned within a predetermined time.

「タイムアウト以外の異常終了」とは、監視部320がインスタンス220に対してアクセスを行い、当該アクセスに対してタイムアウト以外の原因で異常終了した事を示す。タイムアウト以外の原因とは、監視部320がインスタンス220に対してアクセスをする事が出来なかった場合等が挙げられるが、これに限定されない。   “Abnormal termination other than timeout” indicates that the monitoring unit 320 accessed the instance 220 and terminated abnormally due to a reason other than timeout. Examples of causes other than timeout include cases where the monitoring unit 320 cannot access the instance 220, but are not limited thereto.

インスタンス230及びインスタンス240も、インスタンス220と同様に、ユーザ表、管理プロセス、及びチェック表を有する。インスタンス230及びインスタンス240が有するユーザ表、管理プロセス、及びチェック表の構成は、ユーザ表221、管理プロセス222、及びチェック表223の構成と同様のため、説明は省略する。   Like the instance 220, the instance 230 and the instance 240 also have a user table, a management process, and a check table. The configurations of the user table, the management process, and the check table included in the instance 230 and the instance 240 are the same as the configurations of the user table 221, the management process 222, and the check table 223, and thus description thereof is omitted.

制御装置300は、稼動状態表310と、監視部320と、データアクセス制御部330と、リトライ制御部340と、登録部350と、を有する。   The control device 300 includes an operating state table 310, a monitoring unit 320, a data access control unit 330, a retry control unit 340, and a registration unit 350.

稼動状態表310は、各インスタンスの状態が記録される。各インスタンスの状態として、例えば、「稼働中」「停止中」「切替処理中」の3種類がある。   The operation state table 310 records the state of each instance. As the state of each instance, for example, there are three types of “in operation”, “stopped”, and “switching process”.

監視部320は、各インスタンスの管理プロセス及びチェック表の最も新しい日時のアクセス結果を一定時間毎に確認する。監視部320は、全てのインスタンスに対して、管理プロセス及びチェック表を確認した場合、稼動条件に従って各インスタンスの状態を判断し、判断した結果を用いて稼動状態表310を更新する。稼動条件については後述する。   The monitoring unit 320 confirms the management process of each instance and the access result of the latest date and time in the check table at regular intervals. When the monitoring unit 320 confirms the management process and the check table for all the instances, the monitoring unit 320 determines the state of each instance according to the operation condition, and updates the operation state table 310 using the determined result. The operating conditions will be described later.

また、監視部320は、稼動状態表310を用いて、切替処理の完了を検知する。具体的に、監視部320は、稼動状態表310を更新した際に、「切替処理中」から「起動中」に状態が変化したインスタンスがあるかどうかを確認する。「切替処理中」から「起動中」に状態が変化したインスタンスがあった場合、監視部320は、当該インスタンスで切替処理が完了したと認識し、当該インスタンスで切替処理が完了した旨を示す切替処理完了通知を、後述するリトライ制御部340に送信する。   In addition, the monitoring unit 320 uses the operating state table 310 to detect the completion of the switching process. Specifically, when updating the operating state table 310, the monitoring unit 320 confirms whether there is an instance whose state has changed from “switching process” to “running”. When there is an instance whose state has changed from “switching process” to “running”, the monitoring unit 320 recognizes that the switching process has been completed for the instance, and indicates that the switching process has been completed for the instance. A processing completion notification is transmitted to the retry control unit 340 described later.

データアクセス制御部330は、業務AP100又はリトライ制御部340からアクセス要求を受信し、当該受信したアクセス要求に対して、稼動状態表310を用いて確認処理を行う。確認処理とは、データアクセス制御部330が、アクセス要求の対象となるインスタンスの状態を確認する処理である。   The data access control unit 330 receives an access request from the business AP 100 or the retry control unit 340, and performs a confirmation process on the received access request using the operation state table 310. The confirmation process is a process in which the data access control unit 330 confirms the state of the instance that is the target of the access request.

データアクセス制御部330は、確認処理の結果、アクセス要求の対象となるインスタンスが「稼働中」だった場合、当該アクセス要求を処理部210に送信する。処理部210は、受信したアクセス要求の対象となるインスタンスに対してデータアクセスの実施を行う。   As a result of the confirmation processing, the data access control unit 330 transmits the access request to the processing unit 210 when the instance that is the target of the access request is “in operation”. The processing unit 210 performs data access on the instance that is the target of the received access request.

データアクセス制御部330は、確認処理の結果、アクセス要求の対象となるインスタンスが「停止中」だった場合、当該アクセス要求を処理部210に送信しない。処理部210に送信されないアクセス要求は、当該アクセス要求の対象となるインスタンスで実施されない。   As a result of the confirmation processing, the data access control unit 330 does not transmit the access request to the processing unit 210 when the instance targeted for the access request is “stopped”. An access request that is not transmitted to the processing unit 210 is not implemented in the instance that is the target of the access request.

データアクセス制御部330は、確認処理の結果、アクセス要求の対象となるインスタンスが「切替処理中」だった場合、当該アクセス要求を処理部210に送信せず、リトライ制御部340に送信する。   As a result of the confirmation processing, when the instance that is the target of the access request is “switching processing”, the data access control unit 330 transmits the access request to the retry control unit 340 without transmitting it to the processing unit 210.

リトライ制御部340は、データアクセス制御部330から受け取ったアクセス要求を保留する。具体的に、リトライ制御部340は、データアクセス制御部330から受け取ったアクセス要求を登録部350に登録する事で、当該アクセス要求を保留する。アクセス要求の保留とは、アクセス要求を登録部350に登録する事で、当該アクセスの要求を抑止する事である。   The retry control unit 340 holds the access request received from the data access control unit 330. Specifically, the retry control unit 340 holds the access request by registering the access request received from the data access control unit 330 in the registration unit 350. The pending access request means that the access request is suppressed by registering the access request in the registration unit 350.

リトライ制御部340は、監視部320から切替処理完了通知を受信すると、切替処理が完了したインスタンスをアクセスの対象とするアクセス要求を登録部350から取得し、当該取得したアクセス要求を業務AP100に送信する。   When the retry control unit 340 receives the switching process completion notification from the monitoring unit 320, the retry control unit 340 acquires an access request for accessing the instance for which the switching process has been completed from the registration unit 350, and transmits the acquired access request to the business AP 100. To do.

業務AP100は、リトライ制御部340からアクセス要求を受信すると、受信したアクセス要求を再度発行する。なお、データアクセス制御部330は、業務AP100が再度発行したアクセス要求に対して、確認処理を行っても良いし、確認処理を行わず、処理部210に直接送信しても良い。また、業務AP100は、当該受信したアクセス要求について、ロールバック処理を行った後に、当該受信したアクセス要求を再度発行しても良いし、ロールバック処理を行わずに再度発行しても良い。   When receiving the access request from the retry control unit 340, the business AP 100 issues the received access request again. The data access control unit 330 may perform confirmation processing on the access request issued again by the business AP 100, or may directly transmit the request to the processing unit 210 without performing confirmation processing. The business AP 100 may issue the received access request again after performing the rollback process on the received access request, or may issue the access request again without performing the rollback process.

なお、切替処理が発生することで、アクセス要求の対象となるインスタンスが過去のアクセス要求の対象となるインスタンスと異なる場合が考えられるが、業務AP100は、適切な対象のインスタンスへアクセス要求を再度発行可能である。   Note that there may be a case where the instance that is the target of the access request is different from the instance that is the target of the previous access request due to the switching process, but the business AP 100 issues the access request to the appropriate target instance again. Is possible.

登録部350は、リトライ制御部340が、データアクセス制御部330から受け取ったアクセス要求を登録する。換言すると、データアクセス制御部330が確認処理を行った結果、アクセス要求の対象となるインスタンスが「切替処理中」だった場合に、当該アクセス要求は登録部350に登録される。登録部350は、バッファ又はキュー等、アクセス要求を登録可能なものであればどのように構成しても良い。   The registration unit 350 registers the access request received from the data access control unit 330 by the retry control unit 340. In other words, as a result of the confirmation processing performed by the data access control unit 330, if the instance that is the target of the access request is “switching processing”, the access request is registered in the registration unit 350. The registration unit 350 may be configured in any manner that can register an access request, such as a buffer or a queue.

なお、図1では、制御装置300が登録部350を有する場合で説明したが、本願はこれに限られない。登録部350は、例えば、リトライ制御部340が有しても良いし、リトライ制御部340と通信可能であるならば、制御装置300の外部に構成しても良い。   In addition, although FIG. 1 demonstrated the case where the control apparatus 300 had the registration part 350, this application is not restricted to this. For example, the registration unit 350 may be included in the retry control unit 340, or may be configured outside the control device 300 as long as it can communicate with the retry control unit 340.

なお、リトライ制御部340は、監視部320から切替処理完了通知を受信すると、登録部350に登録していたアクセス要求を、業務AP100に送る事無く、処理部210に直接送信しても良い。換言すると、リトライ制御部340は、切替処理完了通知を受信すると、登録部350に登録していたアクセス要求の保留を解除し、処理部210に送信しても良い。リトライ制御部340が業務AP100ではなく処理部210にアクセス要求を送信した場合、データアクセス制御部330は、当該アクセス要求に対して、確認処理を行っても良いし、確認処理を行わなくても良い。   When the retry control unit 340 receives the switching process completion notification from the monitoring unit 320, the retry control unit 340 may directly transmit the access request registered in the registration unit 350 to the processing unit 210 without sending it to the business AP 100. In other words, when the retry control unit 340 receives the notification of completion of the switching process, the retry control unit 340 may release the suspension of the access request registered in the registration unit 350 and transmit it to the processing unit 210. When the retry control unit 340 transmits an access request to the processing unit 210 instead of the business AP 100, the data access control unit 330 may or may not perform confirmation processing on the access request. good.

なお、リトライとは、アクセス要求が失敗した場合に、失敗したアクセス要求と同様のアクセス要求を再度行う事である。アクセス要求の失敗とは、例えば、アクセス要求が処理部210に送信されなかった場合や、切替処理等に巻き込まれてアクセス要求が受け付けられなかった場合等のように、アクセス要求が要求先まで至らなかった場合のことである。   The retry means that when the access request fails, the access request similar to the failed access request is made again. The failure of the access request means that the access request reaches the request destination, for example, when the access request is not transmitted to the processing unit 210 or when the access request is not accepted due to the switching process or the like. This is the case when there was not.

[動作]
次に、第1の実施形態における主な動作を説明する。
[Operation]
Next, main operations in the first embodiment will be described.

図2は、データアクセス制御部330の動作を示すフローチャートである。   FIG. 2 is a flowchart showing the operation of the data access control unit 330.

データアクセス制御部330は、業務AP100が発行したアクセス要求を受信する(S11)。   The data access control unit 330 receives the access request issued by the business AP 100 (S11).

データアクセス制御部330は、稼動状態表310を用いて、アクセス要求の対象となるインスタンスの状態を確認する(S12)。なお、当該S12の処理を確認処理と呼ぶ。   The data access control unit 330 uses the operation state table 310 to confirm the state of the instance that is the target of the access request (S12). Note that the processing in S12 is referred to as confirmation processing.

データアクセス制御部330は、アクセス要求先のインスタンスの状態が「稼働中」だった場合(S13で「稼働中」)、当該アクセス要求を処理部210に送信する(S14)。   When the state of the access request destination instance is “in operation” (“in operation” in S13), the data access control unit 330 transmits the access request to the processing unit 210 (S14).

データアクセス制御部330は、アクセス要求先のインスタンスの状態が「停止中」だった場合(S13で「停止中」)、当該アクセス要求を処理部210送信しない(S15)。   If the state of the access request destination instance is “stopped” (“stopped” in S13), the data access control unit 330 does not transmit the access request to the processing unit 210 (S15).

データアクセス制御部330は、アクセス要求先のインスタンスの状態が「切替処理中」だった場合(S13で「切替処理中」)、当該アクセス要求をリトライ制御部340に送信する(S16)。   If the state of the access request destination instance is “switching process” (“switching process” in S13), the data access control unit 330 transmits the access request to the retry control unit 340 (S16).

次に図3を用いて監視部320の主な動作を説明する。   Next, the main operation of the monitoring unit 320 will be described with reference to FIG.

監視部320は、複数のインスタンスのうち、特定のインスタンスの管理プロセスを確認する(S31)。   The monitoring unit 320 confirms a management process for a specific instance among a plurality of instances (S31).

監視部320は、特定のインスタンスのチェック表を確認する(S32)。   The monitoring unit 320 confirms the check table for the specific instance (S32).

監視部320は、複数のインスタンスのうち、全てのインスタンスの管理プロセス及びチェック表を確認してない場合は、全てのインスタンスの管理プロセス及びチェック表を確認するまでS31及びS32の処理を繰り返す(S33でNo)。   If the monitoring unit 320 has not confirmed the management processes and check tables of all instances among the plurality of instances, the monitoring unit 320 repeats the processes of S31 and S32 until the management processes and check tables of all instances are confirmed (S33). No).

監視部320は、全てのインスタンスの管理プロセス及びチェック表を確認した場合(S33でYes)、後述する稼動条件に従って各インスタンスの状態を判断する(S34)。   If the monitoring unit 320 confirms the management process and check table of all instances (Yes in S33), the monitoring unit 320 determines the state of each instance according to the operating conditions described later (S34).

監視部320は、S34で判断した結果を用いて、稼動状態表310を更新する(S35)。   The monitoring unit 320 updates the operating state table 310 using the result determined in S34 (S35).

監視部320は、稼動状態表310を更新した際に、「切替処理中」から「起動中」に状態が変化したインスタンスがあるかどうかを確認する。「切替処理中」から「起動中」に状態が変化したインスタンスがあった場合(S36でYes)、監視部320は、リトライ制御部340に切替処理完了通知を送信する(S37)。   When the operating unit table 310 is updated, the monitoring unit 320 checks whether there is an instance whose state has changed from “switching process” to “running”. When there is an instance whose state has changed from “switching process in progress” to “being activated” (Yes in S36), the monitoring unit 320 transmits a switching process completion notification to the retry control unit 340 (S37).

次に図4を用いて、リトライ制御部340の主な動作を説明する。   Next, the main operation of the retry control unit 340 will be described with reference to FIG.

リトライ制御部340は、データアクセス制御部330から受け取ったアクセス要求を登録部350に登録する(S51)。   The retry control unit 340 registers the access request received from the data access control unit 330 in the registration unit 350 (S51).

リトライ制御部340は、監視部320から切替処理完了通知を受信すると(S52)、登録部350に登録していたアクセス要求のうち、切替処理が完了したインスタンスをアクセスの対象とするアクセス要求を取得する(S53)。   When the retry control unit 340 receives the switching process completion notification from the monitoring unit 320 (S52), the retry control unit 340 obtains an access request that targets an instance for which the switching process has been completed, among access requests registered in the registration unit 350. (S53).

リトライ制御部340は、当該取得したアクセス要求を業務AP100に送信する(S54)。   The retry control unit 340 transmits the acquired access request to the business AP 100 (S54).

[具体例]
次に、第1の実施形態の主な具体例を説明する。
[Concrete example]
Next, main specific examples of the first embodiment will be described.

本具体例では、インスタンス220をマスタインスタンスとして動作させ、インスタンス230及びインスタンス240をインスタンス220のスレーブインスタンスとして動作させるものとする。   In this specific example, the instance 220 is operated as a master instance, and the instance 230 and the instance 240 are operated as slave instances of the instance 220.

次に、稼動条件の具体例を示す。稼動条件とは、監視部320が、定期的に各インスタンスの管理プロセス及びチェック表を確認し、各インスタンスの状態を判断するための条件である。各インスタンスの状態として、例えば、「稼働中」「停止中」「切替処理中」がある。管理プロセスの確認結果、チェック表の確認結果、及び稼動条件に基づき各インスタンスの状態を判断するやり方は、インスタンスの状態の一例である「切替処理中」を判断する際に特に有効である。   Next, specific examples of operating conditions are shown. The operating condition is a condition for the monitoring unit 320 to periodically check the management process and check table of each instance and determine the state of each instance. The state of each instance includes, for example, “in operation”, “stopped”, and “switching process”. The method of determining the state of each instance based on the management process confirmation result, the check table confirmation result, and the operating condition is particularly effective in determining “switching process” as an example of the instance state.

監視部320による管理プロセスの確認結果として挙げられる要素として、例えば、「起動中」「停止中」「障害中」がある。   Examples of elements that can be cited as the result of management process confirmation by the monitoring unit 320 include “starting”, “stopping”, and “failing”.

図5に、監視部320による管理プロセスの確認結果として挙げられる要素の具体例250を示す。   FIG. 5 shows a specific example 250 of elements cited as a result of management process confirmation by the monitoring unit 320.

監視部320によるチェック表の確認結果として、例えば、「正常終了」「タイムアウトの異常終了」「タイムアウト以外の異常終了」がある。   As a result of checking the check table by the monitoring unit 320, for example, there are “normal end”, “abnormal end of timeout”, and “abnormal end other than timeout”.

図6に、インスタンス220が有するチェック表223の具体例を示す。日時224には、監視部320がインスタンス220に対してアクセスを行った日時を示す。アクセス結果225には、監視部320がインスタンス220に対してアクセスを行ったアクセス結果を示す。   FIG. 6 shows a specific example of the check table 223 that the instance 220 has. The date and time 224 indicates the date and time when the monitoring unit 320 accessed the instance 220. The access result 225 indicates an access result obtained when the monitoring unit 320 accesses the instance 220.

各インスタンスの状態で「稼働中」を判断するための稼動条件は、管理プロセスの確認結果が「起動中」かつ、チェック表の確認結果が「正常終了」である。   The operating condition for determining “in operation” in the state of each instance is that the confirmation result of the management process is “active” and the confirmation result of the check table is “normal end”.

各インスタンスの状態で「停止中」を判断するための稼動条件は、管理プロセスの確認結果が「停止中」かつ、チェック表の確認結果が「タイムアウト以外の異常終了」である。なお、管理プロセスの確認結果が「停止中」の場合は、チェック表の確認結果に関わらず、対象のインスタンスが「停止中」であると設定しても良い。   The operating condition for determining “stopped” in the state of each instance is that the check result of the management process is “stopped” and the check result of the check table is “abnormal termination other than timeout”. When the management process confirmation result is “stopped”, the target instance may be set to “stopped” regardless of the check table confirmation result.

各インスタンスの状態で「切替処理中」を判断するための稼動条件は、マスタインスタンスが条件A又はBを満たし、尚且つ特定のスレーブインスタンスが条件Cを満たす事である。   The operation condition for determining “switching process” in the state of each instance is that the master instance satisfies the condition A or B, and the specific slave instance satisfies the condition C.

条件Aは、管理プロセスの確認結果が「障害中」及びチェック表が「タイムアウト以外で異常終了」である。   Condition A is that the management process confirmation result is “failing” and the check table is “abnormal termination other than timeout”.

条件Bは、管理プロセスの確認結果が「起動中」及びチェック表が「タイムアウトで異常終了」である。   Condition B is that the confirmation result of the management process is “Active” and the check table is “Abnormal termination due to timeout”.

条件Cは、管理プロセスに確認結果が「起動中」及びチェック表が「タイムアウトで異常終了」である。   Condition C is that the confirmation result of the management process is “being activated” and the check table is “abnormal termination due to timeout”.

図7に、稼動状態表310の具体例を示す。稼動状態表310は、インスタンス名311と状態312とを有する。   FIG. 7 shows a specific example of the operating state table 310. The operating state table 310 has an instance name 311 and a state 312.

インスタンス名311の列には、監視部320の監視の対象となるインスタンスの名称を示す。   The column of the instance name 311 shows the name of the instance to be monitored by the monitoring unit 320.

状態312の列には、対象のインスタンスの状態を示す。   The state 312 column shows the state of the target instance.

図7に示す具体例では、インスタンス220及びインスタンス230の状態が切替処理中であることを示し、インスタンス240の状態が稼働中であることを示す。   In the specific example illustrated in FIG. 7, the state of the instance 220 and the instance 230 indicates that switching processing is being performed, and the state of the instance 240 indicates that it is operating.

次に、第2の実施形態における具体例として、インスタンス220及びインスタンス230で切替処理が実行されている間に、ユーザが、インスタンス220のデータを更新するためのアクセス要求を行った場合の処理について説明する。なお、インスタンスの状態の具体例として、図7に示す稼動状態表310を用いる。   Next, as a specific example in the second embodiment, a process when the user makes an access request for updating the data of the instance 220 while the switching process is executed in the instance 220 and the instance 230. explain. As a specific example of the instance state, an operation state table 310 shown in FIG. 7 is used.

ユーザは、業務AP100を用いて、アクセス要求をデータアクセス制御部330に送信する。   The user transmits an access request to the data access control unit 330 using the business AP 100.

データアクセス制御部330は、業務AP100が送信したアクセス要求を受信する。   The data access control unit 330 receives the access request transmitted by the business AP 100.

データアクセス制御部330は、図7に示す稼動状態表310を用いて、インスタンス220のインスタンスの状態を確認する。データアクセス制御部330は、図7に示す稼動状態表310を確認すると、インスタンス220が「切替処理中」であるため、当該アクセス要求をリトライ制御部340に送信する。   The data access control unit 330 checks the state of the instance 220 using the operation state table 310 shown in FIG. Upon confirming the operation state table 310 shown in FIG. 7, the data access control unit 330 transmits the access request to the retry control unit 340 because the instance 220 is “switching process”.

リトライ制御部340は、データアクセス制御部330からデータアクセス要求を受け取ると、当該アクセス要求を登録部350に登録する。   When the retry control unit 340 receives a data access request from the data access control unit 330, the retry control unit 340 registers the access request in the registration unit 350.

監視部320は、各インスタンスの管理プロセス及びチェック表の最も新しい日時のアクセス結果を一定時間毎に確認する。具体的に、監視部320は、インスタンス220とインスタンス230とインスタンス240との確認を行った場合、稼動条件に従って各インスタンスの状態を判断し、判断した結果を用いて稼動状態表310を更新する。   The monitoring unit 320 confirms the management process of each instance and the access result of the latest date and time in the check table at regular intervals. Specifically, when the monitoring unit 320 confirms the instance 220, the instance 230, and the instance 240, the monitoring unit 320 determines the state of each instance according to the operation condition, and updates the operation state table 310 using the determined result.

本具体例で、監視部320は、稼動状態表310のインスタンス220及びインスタンス230の状態312を、「切替処理中」から「起動中」に更新したものとする。監視部320は、稼動状態表310を上記のように更新した結果、インスタンス220及びインスタンス230の切替処理が完了した事を認識し、切替処理完了通知をリトライ制御部340に送信する。   In this specific example, it is assumed that the monitoring unit 320 updates the state 312 of the instance 220 and the instance 230 in the operation state table 310 from “switching process” to “active”. The monitoring unit 320 recognizes that the switching processing of the instance 220 and the instance 230 has been completed as a result of updating the operating state table 310 as described above, and transmits a switching processing completion notification to the retry control unit 340.

リトライ制御部340は、監視部320から切替処理完了通知を受信すると、登録部350から、インスタンス220を対象とするアクセス要求を取得し、当該アクセス要求を業務AP100に送信する。   When the retry control unit 340 receives the switching process completion notification from the monitoring unit 320, the retry control unit 340 acquires an access request for the instance 220 from the registration unit 350 and transmits the access request to the business AP 100.

業務AP100は、リトライ制御部340からアクセス要求を受信すると、受信したアクセス要求を再度発行する。   When receiving the access request from the retry control unit 340, the business AP 100 issues the received access request again.

これにより、本願発明は、切替処理が行われている間にデータベースへのアクセス要求を受けた場合に不要なリトライを防止し、システム全体の負荷を削減する事ができる。   Thus, the present invention can prevent unnecessary retries when a request for access to the database is received during the switching process, and can reduce the load on the entire system.

また、本願発明は、切替処理中にアクセス要求を受けた場合、当該アクセス要求の対象のインスタンスへ直接送信する前に確認処理を行う事で、当該インスタンスがアクセス不可の場合を即座に認識可能である。   In addition, when an access request is received during the switching process, the present invention can immediately recognize when the instance is inaccessible by performing a confirmation process before transmitting directly to the target instance of the access request. is there.

更に、本願発明を導入する事で、データベースの稼動状態に応じた柔軟なトランザクションの制御が可能となる。   Furthermore, by introducing the present invention, it becomes possible to control transactions flexibly according to the operating state of the database.

なお、図2に記載のS14における処理で処理部210に送信され、処理部210が対象のインスタンスに対してアクセスの実施を行い、当該アクセスが失敗した場合、処理部210は当該アクセス要求を再度データアクセス制御部330に送信しても良い。また、データアクセス制御部330は、処理部210から受け取ったアクセス要求に対して再度確認処理を行っても良い。当該確認処理の結果、アクセス対象のインスタンスが切替処理中だった場合、データアクセス制御部330は当該アクセスをリトライ制御部340に送信する。   If the processing unit 210 performs access to the target instance and the access fails, the processing unit 210 sends the access request again to the processing unit 210 in S14 illustrated in FIG. You may transmit to the data access control part 330. FIG. Further, the data access control unit 330 may perform confirmation processing again on the access request received from the processing unit 210. As a result of the confirmation processing, when the access target instance is being switched, the data access control unit 330 transmits the access to the retry control unit 340.

これにより、処理部210がアクセスを実施する直前に実施対象のインスタンスで切替処理が発生し、当該アクセスの実施が失敗した場合であっても、当該アクセス要求を即座にリトライする事なく、登録部350に登録する事ができる。更に、当該アクセス要求は切替処理が完了するまで登録部350に登録されるので、不要なリトライを防止し、システム全体の負荷を削減したトランザクション制御を行うことができる。   As a result, even when the switching process occurs in the implementation target instance immediately before the processing unit 210 performs the access and the execution of the access fails, the registration unit does not immediately retry the access request. 350 can be registered. Furthermore, since the access request is registered in the registration unit 350 until the switching process is completed, unnecessary retry can be prevented and transaction control can be performed while reducing the load on the entire system.

なお、本願ではデータアクセス制御部330とリトライ制御部340とをそれぞれ分けて説明したが、本願はこれに限られない。本願は、例えば、データアクセス制御部330とリトライ制御部340とを1つにまとめ、制御部として構成することが可能である。この場合、制御部は、データアクセス制御部330及びリトライ制御部340の動作を実施可能である。   In the present application, the data access control unit 330 and the retry control unit 340 have been described separately, but the present application is not limited to this. In the present application, for example, the data access control unit 330 and the retry control unit 340 can be combined into one and configured as a control unit. In this case, the control unit can perform operations of the data access control unit 330 and the retry control unit 340.

なお、登録部350に複数のアクセス要求が登録されている場合、リトライ制御部340は、切替完了通知を受信すると、当該複数のアクセス要求を1つずつ業務AP100に送信しても良いし、複数のアクセス要求をまとめて業務AP100に送信しても良い。   When a plurality of access requests are registered in the registration unit 350, the retry control unit 340 may transmit the plurality of access requests to the business AP 100 one by one when receiving the switching completion notification. These access requests may be collectively sent to the business AP 100.

なお、本願ではインスタンスの数が3つの場合で説明したが、インスタンスの数は何個でも構わない。また、本願ではマスタ1つ、スレーブ2つの構成で説明したが、本願はこれに限られず、マスタ及びスレーブの数は任意に変更可能である。   In the present application, the number of instances is three, but the number of instances may be any number. Further, although the present application has been described with the configuration of one master and two slaves, the present application is not limited to this, and the number of masters and slaves can be arbitrarily changed.

なお、ユーザ表及び稼動状態チェック表は、インメモリDB200の起動時に新しく生成しても良いし、起動前から各インスタンスが有していても良い。   Note that the user table and the operating state check table may be newly generated when the in-memory DB 200 is started, or each instance may have before starting.

<第2の実施形態>
本願発明の第2の実施形態を、図面を用いて説明する。第2の実施形態における、制御装置1の構成を図8に示す。
<Second Embodiment>
A second embodiment of the present invention will be described with reference to the drawings. The configuration of the control device 1 in the second embodiment is shown in FIG.

[構成]
最初に、制御装置1の構成について説明する。図8に示すように、本実施形態における制御装置1は、監視部2と、制御部3と、を有する。
[Constitution]
First, the configuration of the control device 1 will be described. As illustrated in FIG. 8, the control device 1 according to the present embodiment includes a monitoring unit 2 and a control unit 3.

監視部2は、インメモリデータベースが有する複数のインスタンスの状態を監視する。   The monitoring unit 2 monitors the states of a plurality of instances included in the in-memory database.

制御部3は、複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を受け付けた際に、監視部2の監視結果が、当該特定のインスタンスで切替処理中であった場合は、当該受け付けたトランザクション処理の要求を保留する。   When the control unit 3 receives a transaction processing request for a specific instance among a plurality of instances, and the monitoring result of the monitoring unit 2 is being switched at the specific instance, Hold the accepted transaction processing request.

なお、第2の実施形態における監視部2は、第1の実施形態における監視部320に対応し、第2の実施形態における制御部3は、第1の実施形態におけるデータアクセス制御部330及びリトライ制御部340に対応する。つまり、第2の実施形態における制御部3は、矛盾の無い範囲で、第1の実施形態におけるデータアクセス制御部330及びリトライ制御部340の構成及び動作を実現可能である。   The monitoring unit 2 in the second embodiment corresponds to the monitoring unit 320 in the first embodiment, and the control unit 3 in the second embodiment includes the data access control unit 330 and the retry in the first embodiment. This corresponds to the control unit 340. That is, the control unit 3 in the second embodiment can realize the configurations and operations of the data access control unit 330 and the retry control unit 340 in the first embodiment within a consistent range.

[動作]
次に、第2の実施形態の動作について、図9を用いて説明する。
[Operation]
Next, the operation of the second embodiment will be described with reference to FIG.

図9は、第2の実施形態における制御装置1の動作を示すフローチャートである。   FIG. 9 is a flowchart showing the operation of the control device 1 in the second embodiment.

監視部2は、インメモリデータベースが有する複数のインスタンスの状態を監視する(S1)。   The monitoring unit 2 monitors the states of a plurality of instances included in the in-memory database (S1).

制御部3は、複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を受け付けた際に、監視部2の監視結果が、当該特定のインスタンスで切替処理中であった場合は、当該受け付けたトランザクション処理の要求を保留する(S2)。   When the control unit 3 receives a transaction processing request for a specific instance among a plurality of instances, and the monitoring result of the monitoring unit 2 is being switched at the specific instance, The accepted transaction processing request is suspended (S2).

これにより、第2の実施形態に係る本願発明は、切替処理が行われている間にデータベースへのアクセス要求を受けた場合に不要なリトライを防止し、システム全体の負荷を削減する事ができる。   As a result, the present invention according to the second embodiment can prevent unnecessary retries when the access request to the database is received during the switching process, and can reduce the load on the entire system. .

[プログラム]
本願発明におけるプログラムは、コンピュータに、本願発明の処理を実行させるプログラムである。このプログラムをコンピュータにインストールし、実行することによって、本願発明における制御装置、制御システム及び制御方法を実現することができる。
[program]
The program in the present invention is a program for causing a computer to execute the processing of the present invention. By installing and executing this program in a computer, the control device, control system, and control method of the present invention can be realized.

ここで、本願発明におけるプログラムを実行することによって、制御装置1、制御システム500及び制御方法を実現するコンピュータについて図10を用いて説明する。   Here, the computer which implement | achieves the control apparatus 1, the control system 500, and the control method by running the program in this invention is demonstrated using FIG.

図10は、本願発明における制御装置1、制御システム500及び制御方法を実現するコンピュータの一例を示すブロック図である。   FIG. 10 is a block diagram illustrating an example of a computer that implements the control device 1, the control system 500, and the control method according to the present invention.

図10に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。   As shown in FIG. 10, the computer 110 includes a CPU 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These units are connected to each other via a bus 121 so that data communication is possible.

CPU111は、記憶装置113に格納された、本願発明におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本願発明におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本願発明におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。   The CPU 111 performs various operations by expanding the program (code) of the present invention stored in the storage device 113 in the main memory 112 and executing them in a predetermined order. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory). The program according to the present invention is provided in a state of being stored in a computer-readable recording medium 120. The program in the present invention may be distributed on the Internet connected via the communication interface 117.

また、記憶装置113は、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、入力機器118との間のデータ伝送を仲介する。入力機器118とは、例えば、キーボード及びマウス並びにタッチパネル等が挙げられる。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。   Examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and the input device 118. Examples of the input device 118 include a keyboard, a mouse, and a touch panel. The display controller 115 is connected to the display device 119 and controls display on the display device 119.

データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と他のコンピュータとの間のデータ伝送を仲介する。   The data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, and reads a program from the recording medium 120 and writes a processing result in the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and another computer.

また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、又はフレキシブルディスク(Flexible Disk)等の磁気記憶媒体が挙げられる。更に、記録媒体120の具体例としては、CD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体も挙げられる。   Specific examples of the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), or magnetic storage media such as a flexible disk (Flexible Disk). . Furthermore, a specific example of the recording medium 120 includes an optical storage medium such as a CD-ROM (Compact Disk Read Only Memory).

ここまで、本願発明を実施するための形態を説明してきたが、本願発明は上述した実施形態に限定されるものではない。例えば、本明細書で記載したフローチャートにおける処理の順序はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で変更する事が可能である。また、本明細書で記載した構成はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で構成を変更する事が可能である。即ち、本願発明は、本願発明を実施する際に矛盾のない範囲で当業者が理解し得る様々な態様を適用することができ、上記各実施形態の変形例や、その組合せ等も、本願発明の技術的範囲に含まれる。   So far, the embodiment for carrying out the present invention has been described, but the present invention is not limited to the above-described embodiment. For example, the order of processing in the flowcharts described in this specification is merely an example, and can be changed within a consistent range when carrying out the present invention. In addition, the configuration described in this specification is merely an example, and the configuration can be changed within a consistent range when the present invention is implemented. That is, the present invention can apply various modes that can be understood by those skilled in the art within the scope of the present invention when carrying out the present invention. Modifications of the above embodiments, combinations thereof, and the like are also included in the present invention. Is included in the technical scope.

1 制御装置
2 監視部
3 制御部
100 業務アプリケーション
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
200 インメモリデータベースシステム
210 処理部
220 インスタンス
221 ユーザ表
222 管理プロセス
223 チェック表
230 インスタンス
231 ユーザ表
232 管理プロセス
233 チェック表
240 インスタンス
241 ユーザ表
242 管理プロセス
243 チェック表
250 管理プロセスの確認結果として挙げられる要素の具体例
300 制御装置
310 稼動状態表
320 監視部
330 データアクセス制御部
340 リトライ制御部
350 登録部
500 制御システム
DESCRIPTION OF SYMBOLS 1 Control apparatus 2 Monitoring part 3 Control part 100 Business application 111 CPU
112 Main memory 113 Storage device 114 Input interface 115 Display controller 116 Data reader / writer 117 Communication interface 118 Input device 119 Display device 120 Recording medium 200 In-memory database system 210 Processing unit 220 Instance 221 User table 222 Management process 223 Check table 230 Instance 231 User table 232 Management process 233 Check table 240 Instance 241 User table 242 Management process 243 Check table 250 Specific examples of elements listed as management process confirmation results 300 Controller 310 Operating state table 320 Monitoring unit 330 Data access control unit 340 Retry Control unit 350 Registration unit 500 Control system

Claims (10)

インメモリデータベースが有する複数のインスタンスの状態を監視する監視部と、
前記複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を受け付けた際に、前記監視部の監視結果が、当該特定のインスタンスで切替処理中であった場合、当該受け付けたトランザクション処理の要求を保留する制御部と、
を備える制御装置。
A monitoring unit that monitors the status of multiple instances of the in-memory database;
When a request for transaction processing for a specific instance among the plurality of instances is received and the monitoring result of the monitoring unit is being switched at the specific instance, A control unit that holds the request;
A control device comprising:
前記監視部は切替処理の完了を検知し、
前記制御部は前記監視部が切替処理の完了を検知した場合に前記保留したトランザクション処理を、当該トランザクション処理を発行したアプリケーションに送信する、
請求項1に記載の制御装置。
The monitoring unit detects completion of the switching process,
The control unit transmits the suspended transaction process to the application that issued the transaction process when the monitoring unit detects the completion of the switching process.
The control device according to claim 1.
前記トランザクション処理の要求を登録する登録部を更に備え、
前記制御部は、前記トランザクション処理の要求を受け付けた際に、前記監視部の監視結果が、前記特定のインスタンスで切替処理中であった場合、当該受け付けたトランザクション処理の要求を前記登録部に登録し、前記監視部が切替処理の完了を検知した場合に、当該登録したトランザクション処理の要求を前記登録部から取得する、
請求項1又は2に記載の制御装置。
A registration unit for registering the transaction processing request;
When the control unit receives the transaction processing request and the monitoring result of the monitoring unit is being switched in the specific instance, the control unit registers the received transaction processing request in the registration unit. When the monitoring unit detects the completion of the switching process, the registered transaction processing request is acquired from the registration unit.
The control device according to claim 1 or 2.
前記複数のインスタンスの状態は、稼働中、停止中、又は切替処理中を含み、
前記複数のインスタンスはそれぞれ、前記監視部がアクセスした結果を示す確認表及び各インスタンス自身の起動中、停止中、又は障害中を示す管理プロセスを備え、
前記監視部は前記確認表と前記管理プロセスとを用いて切替処理中の状態を判断する、
請求項1乃至3のいずれか1項に記載の制御装置。
The state of the plurality of instances includes running, stopping, or switching processing,
Each of the plurality of instances includes a confirmation table indicating a result of access by the monitoring unit, and a management process indicating that each instance itself is being started, stopped, or failed.
The monitoring unit determines a state during the switching process using the confirmation table and the management process.
The control device according to any one of claims 1 to 3.
前記複数のインスタンスの状態を示す稼動状態表を更に備え、
前記監視部は前記確認表と前記管理プロセスとを用いて前記複数のインスタンスの状態を判断し、当該判断した結果を用いて前記稼動状態表を更新する、
請求項4に記載の制御装置。
An operating state table showing the states of the plurality of instances;
The monitoring unit determines the state of the plurality of instances using the confirmation table and the management process, and updates the operation state table using the determined result.
The control device according to claim 4.
前記監視部は前記稼動状態表に基づいて切替処理の完了を検知する、
請求項5に記載の制御装置。
The monitoring unit detects completion of the switching process based on the operating state table;
The control device according to claim 5.
前記監視部は切替処理の完了を検知し、
前記制御部は前記監視部が切替処理の完了を検知した場合に前記保留したトランザクション処理を前記特定のインスタンスに送信する、
請求項1乃至6のいずれか1項に記載の制御装置。
The monitoring unit detects completion of the switching process,
The control unit transmits the suspended transaction process to the specific instance when the monitoring unit detects the completion of the switching process.
The control device according to any one of claims 1 to 6.
複数のインスタンスを有するインメモリデータベースと、
請求項1乃至7のいずれか1項に記載の制御装置と、
前記複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を発行し、前記制御装置に送信するアプリケーションと、
を備える制御システム。
An in-memory database with multiple instances;
A control device according to any one of claims 1 to 7,
An application for issuing a transaction processing request for a specific instance of the plurality of instances and transmitting the request to the control device;
A control system comprising:
インメモリデータベースが有する複数のインスタンスの状態を監視し、
前記複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を受け付けた際に、前記監視の結果が、当該特定のインスタンスで切替処理中であった場合、当該受け付けたトランザクション処理の要求を保留する、
制御方法。
Monitor the status of multiple instances of the in-memory database,
When a request for transaction processing targeting a specific instance among the plurality of instances is received, if the result of the monitoring is switching processing at the specific instance, the received request for transaction processing is Hold,
Control method.
インメモリデータベースが有する複数のインスタンスの状態を監視し、
前記複数のインスタンスのうち特定のインスタンスを対象とするトランザクション処理の要求を受け付けた際に、前記監視の結果が、当該特定のインスタンスで切替処理中であった場合、当該受け付けたトランザクション処理の要求を保留する、
処理をコンピュータに実行させるコンピュータプログラム。
Monitor the status of multiple instances of the in-memory database,
When a request for transaction processing targeting a specific instance among the plurality of instances is received, if the result of the monitoring is switching processing at the specific instance, the received request for transaction processing is Hold,
A computer program that causes a computer to execute processing.
JP2018054717A 2018-03-22 2018-03-22 Control devices, control methods, control programs, and control systems Active JP7013988B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018054717A JP7013988B2 (en) 2018-03-22 2018-03-22 Control devices, control methods, control programs, and control systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018054717A JP7013988B2 (en) 2018-03-22 2018-03-22 Control devices, control methods, control programs, and control systems

Publications (2)

Publication Number Publication Date
JP2019168807A true JP2019168807A (en) 2019-10-03
JP7013988B2 JP7013988B2 (en) 2022-02-01

Family

ID=68107364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018054717A Active JP7013988B2 (en) 2018-03-22 2018-03-22 Control devices, control methods, control programs, and control systems

Country Status (1)

Country Link
JP (1) JP7013988B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293489A (en) * 1999-04-08 2000-10-20 Nec Corp Data base server system
JP2003186722A (en) * 2001-12-20 2003-07-04 Hitachi Software Eng Co Ltd Database server failover method in cluster system
JP2010039746A (en) * 2008-08-05 2010-02-18 Hitachi Ltd Data synchronization method, data synchronization program, database server device and database system
JP2012014671A (en) * 2010-06-04 2012-01-19 Nippon Telegr & Teleph Corp <Ntt> Cluster system restoration method, server and software
US20150278333A1 (en) * 2014-03-28 2015-10-01 Fujitsu Limited Information processing apparatus and control method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293489A (en) * 1999-04-08 2000-10-20 Nec Corp Data base server system
JP2003186722A (en) * 2001-12-20 2003-07-04 Hitachi Software Eng Co Ltd Database server failover method in cluster system
JP2010039746A (en) * 2008-08-05 2010-02-18 Hitachi Ltd Data synchronization method, data synchronization program, database server device and database system
JP2012014671A (en) * 2010-06-04 2012-01-19 Nippon Telegr & Teleph Corp <Ntt> Cluster system restoration method, server and software
US20150278333A1 (en) * 2014-03-28 2015-10-01 Fujitsu Limited Information processing apparatus and control method
JP2015191451A (en) * 2014-03-28 2015-11-02 富士通株式会社 Information processing device, control method, and control program

Also Published As

Publication number Publication date
JP7013988B2 (en) 2022-02-01

Similar Documents

Publication Publication Date Title
US7043665B2 (en) Method, system, and program for handling a failover to a remote storage location
US8433862B2 (en) Storage system for adjusting asynchronous copy load based on cache activity rate
US20040260736A1 (en) Method, system, and program for mirroring data at storage locations
US9584268B2 (en) Device level enablement of a communications protocol
US20090249010A1 (en) Apparatus and method for controlling copying
US9239807B2 (en) Providing bus resiliency in a hybrid memory system
US9460014B2 (en) Sharing local cache from a failover node
US20130110782A1 (en) Oportunistic database duplex operations
JP2015106345A (en) Information processing system, information processor, and program
US20050044193A1 (en) Method, system, and program for dual agent processes and dual active server processes
JP2008217201A (en) Automatic update method
US8819481B2 (en) Managing storage providers in a clustered appliance environment
JP2017004502A (en) Information system and update method
JP7013988B2 (en) Control devices, control methods, control programs, and control systems
US20150135004A1 (en) Data allocation method and information processing system
US10866756B2 (en) Control device and computer readable recording medium storing control program
JP4375121B2 (en) Processing agent method in database management system
JP5262492B2 (en) Cluster system and command conflict control method
JP5562454B1 (en) Redundant system server
WO2013073022A1 (en) Computer system and fault detection method
EP4163780A1 (en) Systems, methods, and devices for near storage elasticity
US10762011B2 (en) Reflective memory bridge for external computing nodes
JP4193754B2 (en) Data duplication method and program
WO2019180794A1 (en) Information processing device, middleware, information processing method, and program
KR20240031878A (en) Systems and methods for recovery with a distributed lock manager

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210215

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220103