JP2022160226A - Information processing program, information processing method, information processing apparatus, and information processing system - Google Patents

Information processing program, information processing method, information processing apparatus, and information processing system Download PDF

Info

Publication number
JP2022160226A
JP2022160226A JP2021064857A JP2021064857A JP2022160226A JP 2022160226 A JP2022160226 A JP 2022160226A JP 2021064857 A JP2021064857 A JP 2021064857A JP 2021064857 A JP2021064857 A JP 2021064857A JP 2022160226 A JP2022160226 A JP 2022160226A
Authority
JP
Japan
Prior art keywords
synchronization
databases
database
update
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021064857A
Other languages
Japanese (ja)
Inventor
陽介 西原
Yosuke Nishihara
貴之 赤塚
Takayuki Akatsuka
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021064857A priority Critical patent/JP2022160226A/en
Publication of JP2022160226A publication Critical patent/JP2022160226A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

To efficiently synchronize databases.SOLUTION: A processing unit 12 monitors a first update history 23 on a plurality of first databases and a second update history 33 on a plurality of second databases at predetermined time intervals, to determine whether one of the databases has been updated or not. When an update is determined, the processing unit 12 specifies, in accordance with an attribute of the updated data and whether the update has been detected from the first update history 23 or the second update history 33, a pair of synchronization source database out of the first databases and a synchronization destination database out of the second databases, or a pair of synchronization source database out of the second databases and a synchronization destination database out of the first databases. The processing unit 12 issues an instruction to execute synchronization processing on data from the specified synchronization source database to the synchronization destination database.SELECTED DRAWING: Figure 1

Description

本発明は情報処理プログラム、情報処理方法、情報処理装置および情報処理システムに関する。 The present invention relates to an information processing program, an information processing method, an information processing apparatus, and an information processing system.

情報処理システムで扱われるデータの管理にデータベース(DB:DataBase)が用いられることがある。また、情報処理システムを更新する際に、現行システムのデータベースが新システムのデータベースに移行されることがある。 A database (DB: DataBase) is sometimes used to manage data handled by an information processing system. Also, when updating the information processing system, the database of the current system may be migrated to the database of the new system.

ここで、2つのシステム間でデータ同期を行う技術が考えられている。例えば、一方のワークフロー管理システムからタスク更新またはタスク作成に基づく更新通知を受信すると、当該更新通知に基づき、タスク情報の属性変換を行い、他方のワークフロー管理システムに更新の反映の要求を送信するタスク同期システムの提案がある。 Here, a technique for synchronizing data between two systems is being considered. For example, when an update notification based on task update or task creation is received from one workflow management system, a task that converts attributes of task information based on the update notification and sends a request to reflect the update to the other workflow management system. There is a proposal for a synchronization system.

また、設定情報を同期する対象である他の情報処理装置にユーザがログインしたことに応じて、マスタデータのうち当該ユーザに対応付けられた設定情報の更新情報を、当該他の情報処理装置に送信する情報処理装置の提案もある。 Further, in response to a user logging in to another information processing apparatus whose setting information is to be synchronized, update information of setting information associated with the user in the master data is sent to the other information processing apparatus. There is also a proposal for an information processing device for transmission.

特開2010-66812号公報JP 2010-66812 A 特開2018-69564号公報JP 2018-69564 A

現行システムの複数のデータベースでの運用を継続しながら新システムの複数のデータベースも動作させ、現行システムから新システムへ段階的に移行を行うことがある。当該段階的な移行において、現行システムのデータベースでの運用と、新システムのデータベースでの運用とを並行して行う段階を設けることが考えられる。例えば、一部の手続に関する処理を現行システムのデータベースを用いて行い、他の手続に関する処理を新システムのデータベースを用いて行うことで、全ての手続を一度に新システムへ移行するよりも、移行時に生じ得るリスクを小さくできる。 While continuing to operate multiple databases of the current system, multiple databases of the new system may also be operated, and the current system may be migrated to the new system in stages. In the step-by-step migration, it is conceivable to provide a stage in which the operation of the database of the current system and the operation of the database of the new system are performed in parallel. For example, by processing some procedures using the database of the current system and processing other procedures using the database of the new system, rather than migrating all procedures to the new system at once Minimize potential risks.

しかし、この場合、現行システムのデータベースと新システムのデータベースとが更新される。このため、現行システムおよび新システムの両方のデータベースのデータの同期の仕組みが問題となる。例えば、一方のシステムのデータベースにおける、あるデータの更新に対して、他方のシステムの対応するデータベースへの同期を行うように、現行システムにおける更新処理を修正することが考えられる。しかし、更新処理は多岐に亘ることがあり、更新処理全てを個々に修正することは容易ではない。 However, in this case, the database of the current system and the database of the new system are updated. This poses a problem as to how the data in the databases of both the current system and the new system are synchronized. For example, it is conceivable to modify the update process in the current system so that an update of certain data in the database of one system is synchronized with the corresponding database of the other system. However, there are many kinds of update processes, and it is not easy to modify all the update processes individually.

1つの側面では、本発明は、データベースの同期処理を効率良く行う情報処理プログラム、情報処理方法、情報処理装置および情報処理システムを提供することを目的とする。 In one aspect, an object of the present invention is to provide an information processing program, an information processing method, an information processing apparatus, and an information processing system that efficiently perform database synchronization processing.

1つの態様では、情報処理プログラムが提供される。この情報処理プログラムは、コンピュータに、複数の第1データベースに対する第1更新履歴および複数の第2データベースに対する第2更新履歴を所定の時間間隔で監視することで、何れかのデータベースにおいてデータの更新が行われたか否かを判定し、更新が行われていると判定した場合に、更新が行われたデータの属性および更新の検出元が第1更新履歴および第2更新履歴の何れであるかに応じて、複数の第1データベースのうちの同期元データベースと複数の第2データベースのうちの同期先データベースとの組、または、複数の第2データベースのうちの同期元データベースと複数の第1データベースのうちの同期先データベースとの組を特定し、特定した同期元データベースから同期先データベースに対するデータの同期処理の実行を指示する、処理を実行させる。 In one aspect, an information processing program is provided. This information processing program causes a computer to monitor a first update history of a plurality of first databases and a second update history of a plurality of second databases at predetermined time intervals, so that any update of data in any of the databases is performed. If it is determined that an update has been performed, the attribute of the updated data and whether the update detection source is the first update history or the second update history. Accordingly, a set of a synchronization source database out of a plurality of first databases and a synchronization destination database out of a plurality of second databases, or a combination of a synchronization source database out of a plurality of second databases and a plurality of first databases A set with a synchronization destination database is specified, and a process of instructing execution of data synchronization processing from the specified synchronization source database to the synchronization destination database is executed.

また、1つの態様では、情報処理方法が提供される。
また、1つの態様では、情報処理装置が提供される。
また、1つの態様では、情報処理システムが提供される。
Also, in one aspect, an information processing method is provided.
In one aspect, an information processing device is provided.
Also, in one aspect, an information processing system is provided.

1つの側面では、データベースの同期処理を効率良く行うことができる。 In one aspect, database synchronization processing can be performed efficiently.

第1の実施の形態の情報処理装置を説明する図である。1 illustrates an information processing apparatus according to a first embodiment; FIG. 第2の実施の形態の情報処理システムの例を示す図である。It is a figure which shows the example of the information processing system of 2nd Embodiment. 現行DBサーバのハードウェア例を示す図である。FIG. 3 is a diagram showing an example of hardware of a current DB server; FIG. 現行DBサーバおよび新DBサーバの機能例を示す図である。FIG. 3 is a diagram showing an example of functions of a current DB server and a new DB server; 現行DBサーバが保持するログデータの例を示す図である。FIG. 3 is a diagram showing an example of log data held by a current DB server; FIG. 新DBサーバが保持するログデータの例を示す図である。FIG. 4 is a diagram showing an example of log data held by a new DB server; DB同期のための2層間連携の例を示す図である。FIG. 10 is a diagram showing an example of two-layer cooperation for DB synchronization; DB間の同期の例を示す図である。FIG. 4 is a diagram showing an example of synchronization between DBs; DB同期制御の第1の例を示す図である。FIG. 4 is a diagram showing a first example of DB synchronization control; DB同期制御の第2の例を示す図である。FIG. 11 illustrates a second example of DB synchronization control; オンライン処理から直接同期を行う例を示す図である。FIG. 10 is a diagram showing an example of performing synchronization directly from online processing; DB同期制御の第3の例を示す図である。FIG. 13 is a diagram showing a third example of DB synchronization control; DB同期制御の例を示すフローチャートである。5 is a flowchart showing an example of DB synchronization control; 現行DBから新DBへの同期処理の例を示すフローチャートである。FIG. 10 is a flowchart showing an example of synchronization processing from the current DB to the new DB; FIG. 新DBから現行DBへの同期処理の例を示すフローチャートである。FIG. 11 is a flowchart showing an example of synchronization processing from a new DB to a current DB; FIG. DB同期制御の他の例を示すフローチャートである。10 is a flowchart showing another example of DB synchronization control; 同期制御情報の第1の例を示す図である。FIG. 4 is a diagram showing a first example of synchronous control information; 同期制御情報の第2の例を示す図である。FIG. 10 is a diagram showing a second example of synchronous control information;

以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
Hereinafter, this embodiment will be described with reference to the drawings.
[First embodiment]
A first embodiment will be described.

図1は、第1の実施の形態の情報処理装置を説明する図である。
情報処理装置10は、第1データベース群20および第2データベース群30に接続される。第1データベース群20は、現行システムのデータベース群である。第2データベース群30は、現行システムの移行先である新システムのデータベース群である。第1データベース群20は、データベース21,22を含む。第2データベース群30は、データベース31,32を含む。
FIG. 1 is a diagram illustrating an information processing apparatus according to the first embodiment.
The information processing device 10 is connected to a first database group 20 and a second database group 30 . The first database group 20 is the database group of the current system. The second database group 30 is the database group of the new system to which the current system has been migrated. The first database group 20 includes databases 21 and 22 . The second database group 30 includes databases 31 and 32 .

第1データベース群20は、情報処理装置10が備える記憶装置に格納されてもよいし、情報処理装置10とネットワークを介して接続された現行システムの他の情報処理装置が備える記憶装置に格納されてもよい。また、第2データベース群30は、情報処理装置10とネットワークを介して接続された新システムの他の情報処理装置が備える記憶装置に格納されてもよい。 The first database group 20 may be stored in a storage device included in the information processing device 10, or stored in a storage device included in another information processing device of the current system connected to the information processing device 10 via a network. may Also, the second database group 30 may be stored in a storage device provided in another information processing apparatus of the new system connected to the information processing apparatus 10 via a network.

情報処理装置10は、ネットワーク5に接続される。ネットワーク5は、例えば、現行システムおよび新システムを運用する組織などの運用主体におけるLAN(Local Area Network)である。図示を省略しているが、第1データベース群20および第2データベース群30を提供する装置も、ネットワーク5に接続される。ネットワーク5は、ネットワーク6に接続される。ネットワーク6は、ネットワーク5の外部のネットワークであり、例えば、インターネットあるいはインターネットに接続された他のネットワークである。ネットワーク6には、端末装置40が接続される。ネットワーク5には、端末装置50が接続される。端末装置40,50は、移行対象のシステムに対する処理要求を送信する。当該処理要求に応じて、第1データベース群20および第2データベース群30のデータが更新される。 Information processing device 10 is connected to network 5 . The network 5 is, for example, a LAN (Local Area Network) in an operator such as an organization that operates the current system and the new system. Although not shown, a device that provides the first database group 20 and the second database group 30 is also connected to the network 5 . Network 5 is connected to network 6 . Network 6 is a network external to network 5, such as the Internet or another network connected to the Internet. A terminal device 40 is connected to the network 6 . A terminal device 50 is connected to the network 5 . The terminal devices 40 and 50 transmit processing requests to the migration target system. The data in the first database group 20 and the second database group 30 are updated according to the processing request.

現行システムから新システムへの移行は、段階的に行われる。まず、第1データベース群20のデータが第2データベース群30に格納される。そして、第1段階では、第1データベース群20により現行システムを運用しながら、第1データベース群20に対するデータの更新内容が第2データベース群30にも同期される。第1段階では、端末装置40,50の処理要求は、何れも現行システムに送信される。 The transition from the current system to the new system will be done in stages. First, data in the first database group 20 is stored in the second database group 30 . In the first stage, while the current system is operated by the first database group 20, the update contents of the data for the first database group 20 are synchronized with the second database group 30 as well. In the first stage, processing requests of both terminals 40 and 50 are sent to the current system.

第2段階では、一部の手続に関する処理を現行システムの第1データベース群20を用いて行い、他の手続に関する処理を新システムの第2データベース群30を用いて行う。第2段階では、例えば、端末装置40の処理要求は現行システムに送信され、端末装置50の処理要求は、新システムに送信される。情報処理装置10は、第2段階における第1データベース群20と第2データベース群30とのデータの同期を制御する。情報処理装置10は、記憶部11および処理部12を有する。 In the second stage, some procedures are processed using the first database group 20 of the current system, and other procedures are processed using the second database group 30 of the new system. In the second stage, for example, the processing request of terminal device 40 is sent to the current system and the processing request of terminal device 50 is sent to the new system. The information processing apparatus 10 controls data synchronization between the first database group 20 and the second database group 30 in the second stage. The information processing device 10 has a storage unit 11 and a processing unit 12 .

記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。 The storage unit 11 may be a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as a HDD (Hard Disk Drive) or flash memory. The processing unit 12 may include a CPU (Central Processing Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), and the like. The processing unit 12 may be a processor that executes programs. A "processor" may also include a collection of multiple processors (multiprocessor).

記憶部11は、処理部12の処理に用いられるデータを記憶する。例えば、記憶部11は、第1データベース群20を提供する装置から取得された第1更新履歴23を記憶してもよい。第1更新履歴23は、第1データベース群20に対するデータの更新内容の履歴を示す情報である。また、記憶部11は、第2データベース群30を提供する装置から取得された第2更新履歴33を記憶してもよい。第2更新履歴33は、第2データベース群30に対するデータの更新内容の履歴を示す情報である。 The storage unit 11 stores data used for processing by the processing unit 12 . For example, the storage unit 11 may store the first update history 23 acquired from the device that provides the first database group 20 . The first update history 23 is information indicating a history of data update contents for the first database group 20 . The storage unit 11 may also store the second update history 33 acquired from the device that provides the second database group 30 . The second update history 33 is information indicating a history of data update contents for the second database group 30 .

第1更新履歴23および第2更新履歴33には、更新時に指定されたデータのデータ属性、当該データ属性の値、更新時刻および更新区分などが含まれ得る。更新区分は、例えば、新規データの追加、既存データの削除および既存データの更新を示す区分である。 The first update history 23 and the second update history 33 can include data attributes of data specified at the time of update, values of the data attributes, update times, update classifications, and the like. The update section is, for example, a section indicating addition of new data, deletion of existing data, and update of existing data.

処理部12は、第1更新履歴23および第2更新履歴33を所定の時間間隔で監視することで、第1データベース群20および第2データベース群30においてデータの更新が行われたか否かを判定する。例えば、処理部12は、第1更新履歴23および第2更新履歴33を定期的なタイミングで参照して、前回タイミングからのデータの更新の有無を監視する。 The processing unit 12 monitors the first update history 23 and the second update history 33 at predetermined time intervals to determine whether or not data has been updated in the first database group 20 and the second database group 30. do. For example, the processing unit 12 periodically refers to the first update history 23 and the second update history 33 to monitor whether data has been updated since the previous timing.

処理部12は、更新が行われていると判定した場合に、更新が行われたデータの属性および更新の検出元が第1更新履歴23および第2更新履歴33の何れであるかに応じて、同期元データベースと同期先データベースとの組を特定する。処理部12は、更新の検出元が第1更新履歴23の場合、第1データベース群20に属するデータベースを同期元データベースとし、当該同期元データベースに対応する、第2データベース群30に属するデータベースを同期先データベースとする。処理部12は、更新の検出元が第2更新履歴33の場合、第2データベース群30に属するデータベースを同期元データベースとし、当該同期元データベースに対応する、第1データベース群20に属するデータベースを同期先データベースとする。 When determining that an update has been performed, the processing unit 12 determines whether the attribute of the updated data and the detection source of the update are the first update history 23 or the second update history 33. , to identify a pair of a synchronization source database and a synchronization destination database. When the update detection source is the first update history 23, the processing unit 12 sets the database belonging to the first database group 20 as the synchronization source database, and synchronizes the database belonging to the second database group 30 corresponding to the synchronization source database. database. When the update detection source is the second update history 33, the processing unit 12 sets the database belonging to the second database group 30 as the synchronization source database, and synchronizes the database belonging to the first database group 20 corresponding to the synchronization source database. database.

処理部12は、第1データベース群20に含まれるデータベースと第2データベース群30に含まれるデータベースとの対応関係を、更新が行われたデータの属性に応じて特定する。例えば、第1の属性に対して、データベース21とデータベース31とが予め対応付けられる。また、第2の属性に対して、データベース22とデータベース32とが予め対応付けられる。このように、データの属性に対してデータベースの組を対応付けた対応情報が記憶部11に予め記憶されていてもよい。 The processing unit 12 identifies the correspondence relationship between the databases included in the first database group 20 and the databases included in the second database group 30 according to the attributes of the updated data. For example, the database 21 and the database 31 are associated in advance with the first attribute. Also, the database 22 and the database 32 are associated in advance with the second attribute. In this way, correspondence information in which data attributes are associated with sets of databases may be stored in advance in the storage unit 11 .

例えば、処理部12は、第1更新履歴23に基づいて、第1の属性に関するデータの更新が行われたことを検出する。この場合、処理部12は、同期元のデータベース21および同期先のデータベース31の組を特定する。 For example, the processing unit 12 detects that data related to the first attribute has been updated based on the first update history 23 . In this case, the processing unit 12 identifies a set of the synchronization source database 21 and the synchronization destination database 31 .

あるいは、処理部12は、第2更新履歴33に基づいて、第2の属性に関するデータの更新が行われたことを検出する。この場合、処理部12は、同期元のデータベース32および同期先のデータベース22の組を特定する。 Alternatively, the processing unit 12 detects that the data regarding the second attribute has been updated based on the second update history 33 . In this case, the processing unit 12 identifies a set of the synchronization source database 32 and the synchronization destination database 22 .

そして、処理部12は、特定した同期元データベースから同期先データベースに対するデータの同期処理の実行を指示する。例えば、処理部12は、第1データベース群20において、第1の属性に関するデータの更新が行われた場合、同期元のデータベース21から同期先のデータベース31に対するデータの同期処理の実行を指示する。あるいは、処理部12は、第2データベース群30において、第2の属性に関するデータの更新が行われた場合、同期元のデータベース32から同期先のデータベース22に対するデータの同期処理の実行を指示する。処理部12が当該同期処理を実行してもよい。 Then, the processing unit 12 instructs execution of data synchronization processing from the specified synchronization source database to the synchronization destination database. For example, when data relating to the first attribute is updated in the first database group 20 , the processing unit 12 instructs the synchronization source database 21 to execute data synchronization processing for the synchronization destination database 31 . Alternatively, when data relating to the second attribute is updated in the second database group 30 , the processing unit 12 instructs execution of data synchronization processing from the synchronization source database 32 to the synchronization destination database 22 . The processing unit 12 may perform the synchronization processing.

より具体的には、処理部12は、第1の属性の値をキーとするデータの更新があったことを第1更新履歴23から検出すると、第1の属性の当該値をキーとするデータをデータベース21から抽出し、抽出したデータを、データベース31に反映させる。なお、第1の属性の値をキーとするデータの削除があった場合、処理部12は、第1の属性の値に対応する、データベース31のデータを削除させればよい。 More specifically, when the processing unit 12 detects from the first update history 23 that the data whose key is the value of the first attribute has been updated, the processing unit 12 updates the data whose key is the value of the first attribute. is extracted from the database 21 and the extracted data is reflected in the database 31 . Note that when data whose key is the value of the first attribute is deleted, the processing unit 12 may delete the data in the database 31 corresponding to the value of the first attribute.

また、処理部12は、第2の属性の値をキーとするデータの更新があったことを第2更新履歴33から検出すると、第2の属性の当該値をキーとするデータをデータベース32から抽出し、抽出したデータを、データベース22に反映させる。なお、第2の属性の値をキーとするデータの削除があった場合、処理部12は、第2の属性の値に対応する、データベース22のデータを削除させればよい。 Further, when the processing unit 12 detects from the second update history 33 that the data whose key is the value of the second attribute has been updated, the processing unit 12 retrieves the data whose key is the value of the second attribute from the database 32. Extract and reflect the extracted data in the database 22 . Note that when data whose key is the value of the second attribute is deleted, the processing unit 12 may delete the data in the database 22 corresponding to the value of the second attribute.

なお、処理部12は、第1更新履歴23を基に第2の属性に関するデータの更新があったことを検出した場合に、同期元のデータベース22から同期先のデータベース32に対するデータの同期処理の実行を指示してもよい。また、処理部12は、第2更新履歴33を基に第1の属性に関するデータの更新があったことを検出した場合に、同期元のデータベース31から同期先のデータベース21に対するデータの同期処理の実行を指示してもよい。 Note that when the processing unit 12 detects that the data related to the second attribute has been updated based on the first update history 23, the processing unit 12 performs data synchronization processing from the synchronization source database 22 to the synchronization destination database 32. You can direct the execution. Further, when the processing unit 12 detects that the data related to the first attribute has been updated based on the second update history 33, the processing unit 12 performs data synchronization processing from the synchronization source database 31 to the synchronization destination database 21. You can direct the execution.

情報処理装置10によれば、複数の第1データベースに対する第1更新履歴および複数の第2データベースに対する第2更新履歴が所定の時間間隔で監視されることで、何れかのデータベースにおいてデータの更新が行われたか否かが判定される。更新が行われていると判定された場合に、更新が行われたデータの属性および更新の検出元が第1更新履歴および第2更新履歴の何れであるかに応じて、複数の第1データベースのうちの同期元データベースと複数の第2データベースのうちの同期先データベースとの組、または、複数の第2データベースのうちの同期元データベースと複数の第1データベースのうちの同期先データベースとの組が特定される。特定された同期元データベースから同期先データベースに対するデータの同期処理の実行が指示される。 According to the information processing apparatus 10, the first update history of the plurality of first databases and the second update history of the plurality of second databases are monitored at predetermined time intervals, so that data update is detected in any database. It is determined whether it has been done. When it is determined that an update has been performed, the plurality of first databases according to whether the attribute of the updated data and the detection source of the update are the first update history or the second update history. of the synchronization source database and the synchronization destination database of the plurality of second databases, or a synchronization source database of the plurality of second databases and a synchronization destination database of the plurality of first databases is identified. Execution of data synchronization processing is instructed from the specified synchronization source database to the synchronization destination database.

これにより、データベースの同期処理を効率良く行うことができる。
ここで、例えば、現行システムまたは新システムのデータベースにおける、あるデータの更新に対して、現行システムおよび新システムの対応するデータベースの同期を行うように、現行システムにおける更新処理を修正することが考えられる。しかし、更新処理は多岐に亘ることがあり、更新処理全てを人手によって個々に修正することは容易ではない。
As a result, database synchronization processing can be performed efficiently.
Here, for example, it is conceivable to modify the update process in the current system so that when updating certain data in the databases of the current system or the new system, the corresponding databases of the current system and the new system are synchronized. . However, there are many kinds of update processes, and it is not easy to manually correct all the update processes individually.

一方、キーとなるデータ属性に対して、当該データ属性に関連するデータを管理するデータベースを予め特定することは、データベースの定義情報などから比較的容易に行える。そこで、情報処理装置10は、更新が行われたデータの属性と、更新の検出元となった更新履歴とに応じて、同期元データベースと同期先データベースとの組を特定することで、当該組を効率的に特定でき、同期処理を適切に行えるようになる。こうして、データの更新処理全てを個々に修正しなくても、データベースの同期処理を効率良く行うことができる。 On the other hand, it is relatively easy to preliminarily specify a database that manages data related to a key data attribute from database definition information or the like. Therefore, the information processing apparatus 10 identifies a set of a synchronization source database and a synchronization destination database according to the attributes of the updated data and the update history from which the update was detected. can be efficiently identified, and the synchronization process can be performed appropriately. In this way, database synchronization processing can be performed efficiently without having to individually modify all data update processing.

また、情報処理装置10によるデータベース同期の処理は、現行システムの処理とは独立して実行することができる。このため、現行システムで動作するソフトウェアの修正を行わずに済み、あるいは、修正規模を比較的小さくでき、現行システムでの障害リスクを小さく抑えられる。 Further, the database synchronization processing by the information processing device 10 can be executed independently of the processing of the current system. For this reason, it is possible to eliminate the need to modify the software operating in the current system, or to make the modification scale relatively small, thereby reducing the risk of failure in the current system.

更に、情報処理装置10は、第1更新履歴23および第2更新履歴33を定期的に監視することで、第1データベース群20および第2データベース群30におけるデータの更新の有無を判定することができる。これにより、第1データベース群20を利用する現行システムおよび第2データベース群30を利用する新システムの処理のレスポンスに影響を与えないよう、データベース同期を非同期で実装できる。 Furthermore, the information processing apparatus 10 periodically monitors the first update history 23 and the second update history 33 to determine whether or not data in the first database group 20 and the second database group 30 have been updated. can. Thereby, database synchronization can be implemented asynchronously so as not to affect the processing response of the current system using the first database group 20 and the new system using the second database group 30 .

なお、第1データベース群20と第2データベース群30との同期を行いながら、現行システムから新システムへの切り替え準備が整った段階で、全ての処理を新システムで行うようにシステムの切り替えが行われる。切り替え後は、データ更新が第2データベース群30に直接反映されるため、第1データベース群20から第2データベース群30への同期は停止される。 While synchronizing the first database group 20 and the second database group 30, when preparations for switching from the current system to the new system are completed, the system is switched so that all processing is performed by the new system. will be After the switching, data updates are directly reflected in the second database group 30, so synchronization from the first database group 20 to the second database group 30 is stopped.

[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
[Second embodiment]
Next, a second embodiment will be described.
FIG. 2 is a diagram illustrating an example of an information processing system according to the second embodiment.

第2の実施の形態の情報処理システムは、現行システム80、新システム90、外部端末500,500aおよび内部端末600を含む。一例として、第2の実施の形態の情報処理システムは、銀行における口座管理を行うシステムである。 The information processing system of the second embodiment includes a current system 80, a new system 90, external terminals 500 and 500a and an internal terminal 600. FIG. As an example, the information processing system of the second embodiment is a system for managing accounts in a bank.

現行システム80は、現在の運用に用いられているシステムであり、新システム90に移行する前の旧システムである。新システム90は、現行システム80の移行先の新しいシステムである。第2の実施の形態では、現行システム80による運用を継続しながら、新システム90への段階的な移行を実現する。 The current system 80 is the system currently used for operation, and is the old system before transition to the new system 90 . New system 90 is the new system to which current system 80 is migrated. In the second embodiment, a gradual migration to the new system 90 is realized while continuing the operation of the current system 80 .

現行システム80、新システム90および内部端末600は、ネットワーク60に接続される。ネットワーク60は、例えば、現行システム80および新システム90を運用する銀行などの機関に敷設されたLAN(Local Area Network)である。ネットワーク60はインターネット70に接続される。外部端末500,500aは、インターネット70に接続される。 Current system 80 , new system 90 and internal terminal 600 are connected to network 60 . The network 60 is, for example, a LAN (Local Area Network) installed in institutions such as banks that operate the current system 80 and the new system 90 . Network 60 is connected to the Internet 70 . External terminals 500 and 500 a are connected to the Internet 70 .

現行システム80は、現行DBサーバ100および現行Web-AP(Application)サーバ200を有する。現行DBサーバ100は、現行のサービスの処理に用いられるデータベースを提供するサーバコンピュータである。以下では、データベースをDBと略記する。現行Web-APサーバ200は、現行のサービスに関するGUI(Graphical User Interface)やデータ処理機能を提供するサーバコンピュータである。 The current system 80 has a current DB server 100 and a current Web-AP (Application) server 200 . The current DB server 100 is a server computer that provides a database used for processing current services. Below, the database is abbreviated as DB. The current Web-AP server 200 is a server computer that provides a GUI (Graphical User Interface) and data processing functions for current services.

新システム90は、新DBサーバ300および新Web-APサーバ400を有する。新DBサーバ300は、移行後のサービスの処理に用いられるDBを提供するサーバコンピュータである。新Web-APサーバ400は、移行後のサービスに関するGUIやデータ処理機能を提供するサーバコンピュータである。 The new system 90 has a new DB server 300 and a new Web-AP server 400 . The new DB server 300 is a server computer that provides a DB used for service processing after migration. The new Web-AP server 400 is a server computer that provides GUI and data processing functions related to post-migration services.

ここで、現行DBサーバ100および新DBサーバ300は、関係データベース(RDB:Relational DataBase)によりデータを管理する。RDBでは、複数のテーブルによってデータが管理される。 Here, the current DB server 100 and the new DB server 300 manage data using a relational database (RDB: Relational DataBase). In RDB, data is managed by a plurality of tables.

外部端末500,500aは、顧客が使用するクライアントコンピュータである。外部端末500,500aは、顧客の操作に応じて、顧客あるいは顧客が所属する組織の口座に関する処理を現行システム80または新システム90に要求する。外部端末500,500aは、要求に対する処理結果を、現行システム80または新システム90から受信し、顧客に提示する。 External terminals 500 and 500a are client computers used by customers. The external terminals 500 and 500a request the current system 80 or the new system 90 to process the account of the customer or the organization to which the customer belongs according to the operation of the customer. The external terminals 500 and 500a receive the processing results for the requests from the current system 80 or the new system 90 and present them to the customer.

内部端末600は、銀行の職員が使用するクライアントコンピュータである。内部端末600は、職員の操作に応じて、顧客あるいは顧客が所属する会社などの組織の口座に関する処理を現行システム80または新システム90に要求する。内部端末600は、要求に対する処理結果を、現行システム80または新システム90から受信し、顧客に提示する。 Internal terminal 600 is a client computer used by bank personnel. The internal terminal 600 requests the current system 80 or the new system 90 to process the account of the customer or the organization such as the company to which the customer belongs according to the staff's operation. The internal terminal 600 receives the processing result for the request from the current system 80 or the new system 90 and presents it to the customer.

なお、外部端末500,500aは、3つ以上存在し得る。また、内部端末600は、複数存在し得る。
ここで、外部端末500,500aおよび内部端末600による要求の送信先のシステムは、現行システム80から新システム90への移行の段階に応じて異なる。移行の段階は、第1~第4段階の4つの段階を含む。
Note that there may be three or more external terminals 500 and 500a. Also, a plurality of internal terminals 600 may exist.
Here, the systems to which requests from the external terminals 500 and 500a and the internal terminal 600 are sent differ according to the stage of transition from the current system 80 to the new system 90. FIG. The transition stage includes four stages, first through fourth stages.

第1段階では、外部端末500,500aおよび内部端末600による手続を現行システム80で全て処理する。このため、現行システム80から新システム90に対するDBの同期が行われる。 In the first stage, the existing system 80 processes all the procedures by the external terminals 500, 500a and the internal terminal 600. FIG. Therefore, DB synchronization from the current system 80 to the new system 90 is performed.

第2段階では、外部端末500,500aによる手続を現行システム80で処理し、内部端末600による手続を新システム90で処理する。このため、現行システム80と新システム90とでDBの双方向の同期が行われる。 In the second stage, the current system 80 processes the procedures by the external terminals 500 and 500a, and the new system 90 processes the procedures by the internal terminal 600. FIG. Therefore, bi-directional DB synchronization is performed between the current system 80 and the new system 90 .

第3段階では、新システム90の利用に未移行である顧客の外部端末500による手続を現行システム80で処理し、新システム90の利用に移行済である顧客の外部端末500aおよび内部端末600による手続を新システム90で処理する。このため、現行システム80と新システム90とでDBの双方向の同期が行われる。 In the third stage, procedures by the customer's external terminal 500 who have not transitioned to the use of the new system 90 are processed by the current system 80, The procedure is processed by the new system 90. Therefore, bi-directional DB synchronization is performed between the current system 80 and the new system 90 .

第4段階では、外部端末500,500aおよび内部端末600による手続を新システム90で全て処理する。ただし、現行システム80を新システム90と併用可能にするため、新システム90から現行システム80に対するDBの同期が行われる。 In the fourth stage, the new system 90 processes all the procedures by the external terminals 500, 500a and the internal terminal 600. FIG. However, in order to allow the current system 80 to be used together with the new system 90, DB synchronization from the new system 90 to the current system 80 is performed.

以下では、第1段階が完了しているものとし、第2段階以降におけるDBの同期を主に説明する。
図3は、現行DBサーバのハードウェア例を示す図である。
In the following, it is assumed that the first stage has been completed, and DB synchronization from the second stage onward will be mainly described.
FIG. 3 is a diagram showing a hardware example of a current DB server.

現行DBサーバ100は、CPU101、RAM102、HDD103、GPU(Graphics Processing Unit)104、入力インタフェース105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。 The current DB server 100 has a CPU 101 , RAM 102 , HDD 103 , GPU (Graphics Processing Unit) 104 , input interface 105 , media reader 106 and NIC (Network Interface Card) 107 . Note that the CPU 101 is an example of the processing unit 12 of the first embodiment. The RAM 102 or HDD 103 is an example of the storage section 11 of the first embodiment.

CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、現行DBサーバ100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。 The CPU 101 is a processor that executes program instructions. The CPU 101 loads at least part of the programs and data stored in the HDD 103 into the RAM 102 and executes the programs. Note that the CPU 101 may include multiple processor cores. Also, the current DB server 100 may have multiple processors. The processing described below may be performed in parallel using multiple processors or processor cores. Also, a set of multiple processors is sometimes called a "multiprocessor" or simply a "processor".

RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、現行DBサーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。 The RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 101 and data used by the CPU 101 for calculation. Note that the current DB server 100 may be provided with a type of memory other than RAM, and may be provided with a plurality of memories.

HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、現行DBサーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。 The HDD 103 is a nonvolatile storage device that stores an OS (Operating System), software programs such as middleware and application software, and data. Note that the current DB server 100 may include other types of storage devices such as flash memory and SSD (Solid State Drive), or may include multiple non-volatile storage devices.

GPU104は、CPU101からの命令に従って、現行DBサーバ100に接続されたディスプレイ81に画像を出力する。ディスプレイ81としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。 The GPU 104 outputs images to the display 81 connected to the current DB server 100 according to instructions from the CPU 101 . As the display 81, any type of display can be used, such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), a plasma display, or an organic EL (OEL: Organic Electro-Luminescence) display.

入力インタフェース105は、現行DBサーバ100に接続された入力デバイス82から入力信号を取得し、CPU101に出力する。入力デバイス82としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、現行DBサーバ100に、複数の種類の入力デバイスが接続されていてもよい。 The input interface 105 acquires an input signal from the input device 82 connected to the current DB server 100 and outputs it to the CPU 101 . As the input device 82, a pointing device such as a mouse, a touch panel, a touch pad, or a trackball, a keyboard, a remote controller, a button switch, or the like can be used. Also, multiple types of input devices may be connected to the current DB server 100 .

媒体リーダ106は、記録媒体83に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体83として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。 The medium reader 106 is a reading device that reads programs and data recorded on the recording medium 83 . As the recording medium 83, for example, a magnetic disk, an optical disk, a magneto-optical disk (MO), a semiconductor memory, or the like can be used. Magnetic disks include flexible disks (FDs) and HDDs. Optical discs include CDs (Compact Discs) and DVDs (Digital Versatile Discs).

媒体リーダ106は、例えば、記録媒体83から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体83は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体83やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。 The medium reader 106 copies, for example, programs and data read from the recording medium 83 to other recording media such as the RAM 102 and the HDD 103 . The read program is executed by the CPU 101, for example. Note that the recording medium 83 may be a portable recording medium, and may be used for distribution of programs and data. Also, the recording medium 83 and the HDD 103 may be referred to as a computer-readable recording medium.

NIC107は、ネットワーク60に接続され、ネットワーク60を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。 The NIC 107 is an interface that is connected to the network 60 and communicates with other computers via the network 60 . The NIC 107 is, for example, connected to a communication device such as a switch or router by a cable.

なお、現行Web-APサーバ200、新DBサーバ300、新Web-APサーバ400、外部端末500,500aおよび内部端末600も、現行DBサーバ100と同様のハードウェアにより実現できる。 The current Web-AP server 200, the new DB server 300, the new Web-AP server 400, the external terminals 500 and 500a, and the internal terminal 600 can also be realized by hardware similar to the current DB server 100. FIG.

図4は、現行DBサーバおよび新DBサーバの機能例を示す図である。
現行DBサーバ100は、利用者関連DB110、取引先関連DB120、その他情報DB130、ログ記憶部150、DB管理部140、更新イベントハンドラ160および同期制御部170を有する。
FIG. 4 is a diagram showing an example of functions of the current DB server and the new DB server.
The current DB server 100 has a user-related DB 110 , a supplier-related DB 120 , other information DB 130 , a log storage section 150 , a DB management section 140 , an update event handler 160 and a synchronization control section 170 .

利用者関連DB110、取引先関連DB120、その他情報DB130およびログ記憶部150には、RAM102やHDD103の記憶領域が用いられる。DB管理部140、更新イベントハンドラ160および同期制御部170は、RAM102に記憶されたプログラムがCPU101によって実行されることで実現される。 Storage areas of the RAM 102 and the HDD 103 are used for the user-related DB 110, the client-related DB 120, the other information DB 130, and the log storage unit 150. FIG. The DB management unit 140, the update event handler 160, and the synchronization control unit 170 are implemented by the CPU 101 executing a program stored in the RAM 102. FIG.

利用者関連DB110は、顧客個人の認証や権限などに関するデータを主に保持するDBである。利用者関連DB110のデータが更新される場合、更新対象のデータを指定するためのキーとして、データ属性「ユーザID(IDentifier)」の値が用いられる。データ属性「ユーザID」は、利用者関連DB110のテーブルの主キーとして用いられる。 The user-related DB 110 is a DB that mainly holds data related to authentication and authority of individual customers. When data in the user-related DB 110 is updated, the value of the data attribute "user ID (IDentifier)" is used as a key for designating data to be updated. The data attribute "user ID" is used as the primary key of the user-related DB 110 table.

取引先関連DB120は、顧客が所属する会社などの組織の預金口座に関するデータを主に保持するDBである。取引先関連DB120のデータが更新される場合、更新対象のデータを指定するためのキーとして、データ属性「申込代表口座」の値が用いられる。データ属性「申込代表口座」は、取引先関連DB120のテーブルの主キーとして用いられる。 The client-related DB 120 is a DB that mainly holds data related to deposit accounts of organizations such as companies to which customers belong. When the data of the supplier-related DB 120 is updated, the value of the data attribute "application representative account" is used as a key for designating data to be updated. The data attribute “application representative account” is used as the primary key of the client-related DB 120 table.

その他情報DB130は、利用者関連DB110および取引先関連DB120の何れにも分類されないデータを主に保持するDBである。利用者関連DB110および取引先関連DB120の何れにも分類されないデータとしては、例えば、組織の融資口座に関するデータが挙げられる。例えば、その他情報DB130のデータが更新される場合、更新対象のデータを指定するためのキーとして、データ属性「融資口座」の値が用いられる。データ属性「融資口座」は、その他情報DB130のテーブルの主キーとして用いられる。 The other information DB 130 is a DB that mainly holds data that is not classified into either the user-related DB 110 or the client-related DB 120 . Data that is not classified into either the user-related DB 110 or the client-related DB 120 includes, for example, data related to an organization's loan account. For example, when data in the other information DB 130 is updated, the value of the data attribute "loan account" is used as a key for designating data to be updated. The data attribute “loan account” is used as the primary key of the other information DB 130 table.

利用者関連DB110、取引先関連DB120およびその他情報DB130は、現行システム80で使用される現行DBである。
DB管理部140は、利用者関連DB110、取引先関連DB120およびその他情報DB130を管理する。DB管理部140は、DBMS(DataBase Management System)と呼ばれるソフトウェアにより実現され得る。DB管理部140は、現行Web-APサーバ200の要求に応じて、利用者関連DB110、取引先関連DB120およびその他情報DB130に格納されたデータを更新する。例えば、DB管理部140は、利用者関連DB110、取引先関連DB120およびその他情報DB130に対して、新規データの追加、既存データの更新、あるいは既存データの削除を行う。DB管理部140は、利用者関連DB110、取引先関連DB120およびその他情報DB130に格納されたデータの更新を行うと、更新内容を示すログレコードを、ログ記憶部150に記録する。
User-related DB 110 , supplier-related DB 120 and other information DB 130 are current DBs used in current system 80 .
The DB management unit 140 manages the user-related DB 110, the supplier-related DB 120, and the other information DB 130. The DB management unit 140 can be realized by software called a DBMS (DataBase Management System). The DB management unit 140 updates the data stored in the user-related DB 110, the supplier-related DB 120, and the other information DB 130 in response to requests from the current Web-AP server 200. FIG. For example, the DB management unit 140 adds new data, updates existing data, or deletes existing data to the user-related DB 110 , supplier-related DB 120 and other information DB 130 . When updating the data stored in the user-related DB 110 , supplier-related DB 120 and other information DB 130 , the DB management unit 140 records a log record indicating the updated content in the log storage unit 150 .

ログ記憶部150は、DB管理部140により生成されるログデータを記憶する。ログデータは、DB管理部140によるDBの更新内容を示すログレコードが登録されるデータである。 The log storage unit 150 stores log data generated by the DB management unit 140 . The log data is data in which a log record indicating the content of updating of the DB by the DB management unit 140 is registered.

更新イベントハンドラ160は、ログ記憶部150に記憶されたログデータを定期的に監視し、利用者関連DB110、取引先関連DB120およびその他情報DB130の何れかのDBに対する更新があったか否かを検出する。更新イベントハンドラ160は、何れかのDBに対する更新があった場合、当該更新の際に指定されたデータ属性に応じて、同期元DBと同期先DBとの組を特定し、同期元DBから同期先DBへのデータ同期を同期制御部170に指示する。 The update event handler 160 periodically monitors the log data stored in the log storage unit 150, and detects whether any of the user-related DB 110, client-related DB 120, and other information DB 130 has been updated. . When any DB is updated, the update event handler 160 identifies a set of a synchronization source DB and a synchronization destination DB according to the data attribute specified at the time of the update, and synchronizes from the synchronization source DB. The synchronization control unit 170 is instructed to synchronize data with the destination DB.

同期制御部170は、現行DBサーバ100におけるDBと新DBサーバ300におけるDBとのデータ同期を制御する。同期制御部170は、同期処理部171,172,173を有する。同期処理部171は、更新イベントハンドラ160の指示に応じて、利用者関連DB110を同期元または同期先とするデータ同期を行う。同期処理部172は、更新イベントハンドラ160の指示に応じて、取引先関連DB120を同期元または同期先とするデータ同期を行う。同期処理部173は、更新イベントハンドラ160の指示に応じて、その他情報DB130を同期元または同期先とするデータ同期を行う。 The synchronization control unit 170 controls data synchronization between the DB in the current DB server 100 and the DB in the new DB server 300 . The synchronization control section 170 has synchronization processing sections 171 , 172 and 173 . The synchronization processing unit 171 performs data synchronization with the user-related DB 110 as a synchronization source or a synchronization destination according to an instruction from the update event handler 160 . The synchronization processing unit 172 performs data synchronization with the supplier-related DB 120 as a synchronization source or a synchronization destination according to an instruction from the update event handler 160 . The synchronization processing unit 173 performs data synchronization with the other information DB 130 as a synchronization source or a synchronization destination according to an instruction from the update event handler 160 .

同期制御部170は、DB管理部140を介して、利用者関連DB110、取引先関連DB120およびその他情報DB130から同期対象のデータを取得してもよい。同期制御部170は、DB管理部140を介して、利用者関連DB110、取引先関連DB120およびその他情報DB130を同期先とする同期処理を行ってもよい。 The synchronization control unit 170 may acquire data to be synchronized from the user-related DB 110 , the customer-related DB 120 and the other information DB 130 via the DB management unit 140 . The synchronization control unit 170 may perform synchronization processing with the user-related DB 110, the supplier-related DB 120, and the other information DB 130 as synchronization destinations via the DB management unit 140. FIG.

新DBサーバ300は、利用者関連DB310、取引先関連DB320、その他情報DB330、DB管理部340およびログ記憶部350を有する。利用者関連DB310、取引先関連DB320、その他情報DB330およびログ記憶部350には、新DBサーバ300が備えるRAMやHDDの記憶領域が用いられる。DB管理部340は、新DBサーバ300のRAMに記憶されたプログラムが新DBサーバ300のCPUによって実行されることで実現される。 The new DB server 300 has a user-related DB 310 , a supplier-related DB 320 , other information DB 330 , a DB management section 340 and a log storage section 350 . The user-related DB 310, the client-related DB 320, the other information DB 330, and the log storage unit 350 use RAM and HDD storage areas of the new DB server 300. FIG. The DB management unit 340 is realized by executing a program stored in the RAM of the new DB server 300 by the CPU of the new DB server 300 .

利用者関連DB310は、利用者関連DB110に対応する移行先のDBである。
取引先関連DB320は、取引先関連DB120に対応する移行先のDBである。
その他情報DB330は、その他情報DB130に対応する移行先のDBである。
The user-related DB 310 is a migration destination DB corresponding to the user-related DB 110 .
The client-related DB 320 is a migration destination DB corresponding to the client-related DB 120 .
The other information DB 330 is a migration destination DB corresponding to the other information DB 130 .

利用者関連DB310、取引先関連DB320およびその他情報DB330は、新システム90で使用される新DBである。移行の初期段階において、当該初期段階の時点における利用者関連DB110、取引先関連DB120、その他情報DB130のデータが、それぞれ利用者関連DB310、取引先関連DB320、その他情報DB330に反映される。 User-related DB 310 , supplier-related DB 320 and other information DB 330 are new DBs used in new system 90 . At the initial stage of migration, data in the user-related DB 110, supplier-related DB 120, and other information DB 130 at the time of the initial stage are reflected in the user-related DB 310, supplier-related DB 320, and other information DB 330, respectively.

DB管理部340は、利用者関連DB310、取引先関連DB320およびその他情報DB330を管理する。DB管理部340は、DB管理部140とは異なるDBMSにより実現されてもよい。DB管理部340は、システム移行中の段階では、新Web-APサーバ400や同期制御部170の要求に応じて、利用者関連DB310、取引先関連DB320およびその他情報DB330に格納されたデータを更新する。DB管理部340は、システム移行完了後は新Web-APサーバ400の要求に応じて、利用者関連DB310、取引先関連DB320およびその他情報DB330に格納されたデータを更新する。 The DB management unit 340 manages the user-related DB 310, the customer-related DB 320, and the other information DB 330. The DB management unit 340 may be realized by a DBMS different from the DB management unit 140. FIG. During system migration, the DB management unit 340 updates the data stored in the user-related DB 310, client-related DB 320, and other information DB 330 in response to requests from the new Web-AP server 400 and the synchronization control unit 170. do. After completing the system migration, the DB management unit 340 updates the data stored in the user-related DB 310, client-related DB 320 and other information DB 330 in response to requests from the new Web-AP server 400. FIG.

例えば、DB管理部340は、利用者関連DB310、取引先関連DB320およびその他情報DB330に対して、新規データの追加、既存データの更新、あるいは既存データの削除を行う。 For example, the DB management unit 340 adds new data, updates existing data, or deletes existing data to the user-related DB 310 , supplier-related DB 320 and other information DB 330 .

ログ記憶部350は、DB管理部340により生成されるログデータを記憶する。ログデータは、DB管理部340によるDBの更新内容を示すログレコードが登録されるデータである。 The log storage unit 350 stores log data generated by the DB management unit 340 . The log data is data in which a log record indicating the content of updating the DB by the DB management unit 340 is registered.

更新イベントハンドラ160は、ログ記憶部350に記憶されたログデータも定期的に監視し、利用者関連DB310、取引先関連DB320およびその他情報DB330の何れかのDBに対する更新があったか否かを検出する。更新イベントハンドラ160は、何れかのDBに対する更新があった場合、当該更新の際に指定されたデータ属性に応じて、同期元DBと同期先DBとの組を特定し、同期元DBから同期先DBへのデータ同期を同期制御部170に指示する。 The update event handler 160 also periodically monitors the log data stored in the log storage unit 350, and detects whether any of the user-related DB 310, client-related DB 320, and other information DB 330 has been updated. . When any DB is updated, the update event handler 160 identifies a set of a synchronization source DB and a synchronization destination DB according to the data attribute specified at the time of the update, and synchronizes from the synchronization source DB. The synchronization control unit 170 is instructed to synchronize data with the destination DB.

図5は、現行DBサーバが保持するログデータの例を示す図である。
ログデータ151は、ログ記憶部150に格納される。ログデータ151は、ログ番号、日時、操作端末ID、操作者ID、変更区分、ユーザID、申込代表口座、その他識別情報、業務コードおよび処理内容の項目を含む。
FIG. 5 is a diagram showing an example of log data held by the current DB server.
Log data 151 is stored in the log storage unit 150 . The log data 151 includes log number, date and time, operating terminal ID, operator ID, change category, user ID, application representative account, other identification information, business code, and processing details.

ログ番号の項目には、ログレコードの識別番号が登録される。日時の項目には、ログが記録された日時が登録される。操作端末IDの項目には、操作端末IDが登録される。操作端末IDは、現行システム80または新システム90に処理要求を行った外部端末500,500aや内部端末600などの端末の識別情報である。操作者IDの項目には、操作者IDが登録される。操作者IDは、当該端末の操作を行った人物の識別情報である。 The identification number of the log record is registered in the log number field. The date and time when the log was recorded is registered in the date and time item. An operation terminal ID is registered in the item of operation terminal ID. The operating terminal ID is identification information of a terminal such as the external terminal 500 or 500a or the internal terminal 600 that has issued a processing request to the current system 80 or new system 90 . An operator ID is registered in the operator ID item. The operator ID is identification information of a person who has operated the terminal.

変更区分の項目には、DBに対するデータの変更区分が登録される。変更区分は、「1」、「2」、「3」の数値によって表される。変更区分「1」は、データ属性「ユーザID」の値がキーとして指定されたデータ更新であることを示す。変更区分「2」は、データ属性「申込代表口座」の値がキーとして指定されたデータ更新であることを示す。変更区分「3」は、「ユーザID」および「申込代表口座」以外のデータ属性の値(例えば、前述の融資口座の番号など)がキーとして指定されたデータ更新であることを示す。 The data change classification for the DB is registered in the change classification item. The change section is represented by numerical values of "1", "2", and "3". The change class "1" indicates that the data update is for which the value of the data attribute "user ID" is specified as the key. The change section "2" indicates that the data update is for which the value of the data attribute "application representative account" is specified as a key. The change section "3" indicates that the data update is a data update in which a data attribute value other than "user ID" and "representative application account" (for example, the aforementioned loan account number) is specified as a key.

ユーザIDの項目には、ユーザIDが登録される。申込代表口座の項目には、申込代表口座の番号が登録される。その他識別情報の項目には、その他識別情報が登録される。その他識別情報は、「ユーザID」および「申込代表口座」以外のデータ属性の値(例えば、前述の融資口座の番号など)である。業務コードの項目には、業務コードが登録される。業務コードは、現行DBサーバ100でのデータ更新を行った業務処理を表す識別情報である。 A user ID is registered in the item of user ID. The item of the representative account for application registers the number of the representative account for application. Other identification information is registered in the item of other identification information. Other identification information is the values of data attributes other than "user ID" and "representative application account" (for example, the above-mentioned loan account number, etc.). A business code is registered in the business code field. A business code is identification information representing a business process that has updated data in the current DB server 100 .

処理内容の項目には、データ更新の処理内容を示す識別情報が登録される。処理内容「01」は、新規データの追加、すなわち、現行DBのテーブルにおける新規レコードの追加を示す。処理内容「02」は、既存データの更新、すなわち、現行DBのテーブルにおける既存レコードの更新を示す。処理内容「03」は、既存データの削除、すなわち、現行DBのテーブルにおける既存レコードの削除を示す。 Identification information indicating the processing content of data update is registered in the processing content item. Processing content "01" indicates addition of new data, that is, addition of a new record in the table of the current DB. The processing content “02” indicates updating existing data, that is, updating an existing record in the table of the current DB. Processing content “03” indicates deletion of existing data, that is, deletion of an existing record in the table of the current DB.

例えば、ログデータ151には、ログ番号「1」、日時「2021/2/18 11:21:15」、操作端末ID「m1」、操作者ID「n1」、変更区分「1」、ユーザID「user1」、申込代表口座「1234567」、その他識別情報「1121」、業務コード「001」、処理内容「01」のログレコードが登録されている。このログ番号「1」のログレコードは、2021年2月18日11時21分15秒に記録されたものであり、処理要求元の操作端末IDが「m1」、操作者IDが「n1」であることを示す。また、当該ログレコードは、データ属性「ユーザID」の値がキーとして指定されたデータ更新であり、指定されたユーザIDの値が「user1」、当該ユーザIDに対応する申込代表口座が「1234567」、その他識別情報が「1121」であることを示す。また、当該ログレコードは、データ更新を行った業務処理の業務コードが「001」であり、データ更新の処理内容が該当のユーザIDに関する新規レコードの追加であることを示す。 For example, the log data 151 includes log number “1”, date and time “2021/2/18 11:21:15”, operation terminal ID “m1”, operator ID “n1”, change category “1”, user ID A log record of "user1", application representative account "1234567", other identification information "1121", business code "001", and processing content "01" is registered. The log record with the log number "1" was recorded at 11:21:15 on February 18, 2021, and the operation terminal ID of the processing request source is "m1", and the operator ID is "n1". indicates that In addition, the log record is a data update in which the value of the data attribute "user ID" is specified as a key, the value of the specified user ID is "user1", and the application representative account corresponding to the user ID is "1234567". ”, and other identification information is “1121”. In addition, the log record indicates that the business code of the business process that performed the data update is "001", and that the content of the data update processing is the addition of a new record related to the user ID.

ログデータ151には、他のログ番号のログレコードも登録されている。
図6は、新DBサーバが保持するログデータの例を示す図である。
ログデータ351は、ログ記憶部350に格納される。ログデータ351は、ログ番号、日時、操作端末ID、操作者ID、変更区分、ユーザID、申込代表口座、その他識別情報、業務コードおよび処理内容の項目を含む。これらの項目に登録される内容は、図5で例示したログデータ151の同名の項目と同様であるため、説明を省略する。ただし、ログデータ351には、利用者関連DB310、取引先関連DB320およびその他情報DB330に対する更新内容を表すログが記録される。
Log records with other log numbers are also registered in the log data 151 .
FIG. 6 is a diagram showing an example of log data held by the new DB server.
Log data 351 is stored in the log storage unit 350 . The log data 351 includes log number, date and time, operating terminal ID, operator ID, change category, user ID, application representative account, other identification information, business code, and processing details. Since the contents registered in these items are the same as the items with the same names in the log data 151 illustrated in FIG. 5, description thereof will be omitted. However, in the log data 351, a log indicating update contents for the user-related DB 310, the supplier-related DB 320, and the other information DB 330 is recorded.

なお、ログデータ151,351として用いられるログ内容としては、ログイン履歴や口座移管履歴など、種々のものが考えられる。
図7は、DB同期のための2層間連携の例を示す図である。
Various log contents such as login history and account transfer history are conceivable as the log contents used as the log data 151 and 351 .
FIG. 7 is a diagram showing an example of inter-layer cooperation for DB synchronization.

第2の実施の形態の情報処理システムにおけるDB同期の機能は、2つの層に分類される。1つ目は、データ更新イベントを監視する層L1である。2つ目は、新旧データ同期を行う層L2である。更新イベントハンドラ160は、データ更新イベントを監視する層L1に属する。同期処理部171,172,173は、新旧データ同期を行う層L2に属する。なお、以下では、主に外部端末500を例示するが、外部端末500aを用いる場合も同様の説明となる。 The DB synchronization function in the information processing system of the second embodiment is classified into two layers. The first is layer L1, which monitors data update events. The second layer is the layer L2 that synchronizes old and new data. The update event handler 160 belongs to layer L1, which monitors data update events. Synchronization processing units 171, 172, and 173 belong to layer L2 for synchronizing old and new data. Although the external terminal 500 is mainly exemplified below, the same explanation applies to the case where the external terminal 500a is used.

データ更新イベントを監視する層L1では、外部端末500からの要求に応じて、現行システム80または新システム90によるオンライン処理P1が実行され、その結果、現行DBサーバ100または新DBサーバ300のDBが更新される。オンライン処理P1によるDBの更新内容は、ログデータ151またはログデータ351におけるログレコードとしてログ記憶部150またはログ記憶部350に格納される。 In the layer L1 that monitors data update events, online processing P1 is executed by the current system 80 or the new system 90 in response to a request from the external terminal 500. As a result, the DB of the current DB server 100 or the new DB server 300 is Updated. The update contents of the DB by the online processing P1 are stored in the log storage unit 150 or the log storage unit 350 as log records in the log data 151 or the log data 351 .

同様に、内部端末600からの要求に応じて、新システム90によるオンライン処理P2が実行され、その結果、新DBサーバ300のDBが更新される。オンライン処理P2によるDBの更新内容は、ログデータ351におけるログレコードとしてログ記憶部350に格納される。 Similarly, online processing P2 is executed by the new system 90 in response to a request from the internal terminal 600, and as a result, the DB of the new DB server 300 is updated. The update contents of the DB by the online processing P2 are stored in the log storage unit 350 as log records in the log data 351 .

更新イベントハンドラ160は、所定の時間間隔で、ログ記憶部150のログデータ151およびログ記憶部350のログデータ351を参照し、前回の参照から現時点までの現行DBまたは新DBに対する更新の有無を判定する。更新イベントハンドラ160は、現行DBまたは新DBに対する更新が有ったことを検出すると、ログデータ151またはログデータ351のログレコードに基づいて、変更区分、すなわち、DB更新時にキーとして指定されたデータ属性を特定する。更新イベントハンドラ160は、特定したデータ属性に応じて同期元DBと同期先DBとの組を特定し、特定した組の同期を行う同期処理部に、DB同期を指示する。 The update event handler 160 refers to the log data 151 of the log storage unit 150 and the log data 351 of the log storage unit 350 at predetermined time intervals to check whether the current DB or the new DB has been updated from the previous reference to the current time. judge. When the update event handler 160 detects that the current DB or the new DB has been updated, based on the log record of the log data 151 or the log data 351, the change classification, that is, the data specified as the key at the time of updating the DB Identify attributes. The update event handler 160 identifies a set of a synchronization source DB and a synchronization destination DB according to the identified data attribute, and instructs a synchronization processing unit that synchronizes the identified set to synchronize the DB.

例えば、更新イベントハンドラ160は、ログデータ151から、変更区分「1」、すなわち、DB更新時にキーとして指定されたデータ属性が「ユーザID」である更新を検出すると、利用者関連DB110から利用者関連DB310への同期を行うと判定する。そして、更新イベントハンドラ160は、利用者関連DB110から利用者関連DB310への同期を行う同期処理部171に、同期実行を指示する。 For example, when the update event handler 160 detects, from the log data 151, an update whose change category is "1", ie, an update whose data attribute specified as a key at the time of DB update is "user ID", the user-related DB 110 It is determined to perform synchronization with the related DB 310 . The update event handler 160 then instructs the synchronization processing unit 171, which performs synchronization from the user-related DB 110 to the user-related DB 310, to execute synchronization.

また、更新イベントハンドラ160は、ログデータ151から、変更区分「2」、すなわち、DB更新時にキーとして指定されたデータ属性が「申込代表口座」である更新を検出すると、取引先関連DB120から取引先関連DB320への同期を行うと判定する。そして、更新イベントハンドラ160は、取引先関連DB120から取引先関連DB320への同期を行う同期処理部172に、同期実行を指示する。 Further, when the update event handler 160 detects from the log data 151 an update whose change category is "2", that is, the data attribute specified as the key at the time of updating the DB is "application representative account", the transaction It is determined to perform synchronization with the destination related DB 320 . The update event handler 160 then instructs the synchronization processing unit 172, which performs synchronization from the client-related DB 120 to the client-related DB 320, to execute synchronization.

また、更新イベントハンドラ160は、ログデータ151から、変更区分「3」、すなわち、DB更新時にキーとして指定されたデータ属性が「ユーザID」および「申込代表口座」以外である更新を検出すると、その他情報DB130からその他情報DB330への同期を行うと判定する。そして、更新イベントハンドラ160は、その他情報DB130からその他情報DB330への同期を行う同期処理部173に、同期実行を指示する。 Further, when the update event handler 160 detects from the log data 151 an update with a change category of "3", that is, an update in which the data attribute specified as a key at the time of updating the DB is other than "user ID" and "application representative account", It is determined to perform synchronization from the other information DB 130 to the other information DB 330 . The update event handler 160 then instructs the synchronization processing unit 173, which performs synchronization from the other information DB 130 to the other information DB 330, to execute synchronization.

また、更新イベントハンドラ160は、ログデータ351から、変更区分「1」、すなわち、DB更新時にキーとして指定されたデータ属性が「ユーザID」である更新を検出すると、利用者関連DB310から利用者関連DB110への同期を行うと判定する。そして、更新イベントハンドラ160は、利用者関連DB310から利用者関連DB110への同期を行う同期処理部171に、同期実行を指示する。 Further, when the update event handler 160 detects from the log data 351 an update whose change classification is "1", that is, an update whose data attribute specified as a key at the time of DB update is "user ID", the user-related DB 310 It is determined to perform synchronization with the related DB 110 . The update event handler 160 then instructs the synchronization processing unit 171, which performs synchronization from the user-related DB 310 to the user-related DB 110, to execute synchronization.

また、更新イベントハンドラ160は、ログデータ351から、変更区分「2」、すなわち、DB更新時にキーとして指定されたデータ属性が「申込代表口座」である更新を検出すると、取引先関連DB320から取引先関連DB120への同期を行うと判定する。そして、更新イベントハンドラ160は、取引先関連DB320から取引先関連DB120への同期を行う同期処理部172に、同期実行を指示する。 Also, when the update event handler 160 detects from the log data 351 an update whose change category is "2", that is, the data attribute specified as the key at the time of updating the DB is "application representative account", the transaction It is determined to perform synchronization with the destination related DB 120 . The update event handler 160 then instructs the synchronization processing unit 172, which performs synchronization from the supplier-related DB 320 to the supplier-related DB 120, to execute synchronization.

また、更新イベントハンドラ160は、ログデータ351から、変更区分「3」、すなわち、DB更新時にキーとして指定されたデータ属性が「ユーザID」および「申込代表口座」以外である更新を検出すると、その他情報DB330からその他情報DB130への同期を行うと判定する。そして、更新イベントハンドラ160は、その他情報DB330からその他情報DB130への同期を行う同期処理部173に、同期実行を指示する。 Further, when the update event handler 160 detects from the log data 351 an update with a change category of "3", that is, an update in which the data attribute specified as a key at the time of updating the DB is other than "user ID" and "application representative account", It is determined to perform synchronization from the other information DB 330 to the other information DB 130 . The update event handler 160 then instructs the synchronization processing unit 173, which performs synchronization from the other information DB 330 to the other information DB 130, to execute synchronization.

このようにして、更新イベントハンドラ160および同期処理部171,172,173は、現行DBおよび新DBに対するデータ更新とは非同期に、現行DBと新DBとの双方向の同期を行える。 In this way, the update event handler 160 and the synchronization processing units 171, 172, 173 can bi-directionally synchronize the current DB and the new DB asynchronously with the data update to the current DB and the new DB.

図8は、DB間の同期の例を示す図である。
更新イベントハンドラ160は、変更区分「ユーザID」のDB更新を検出すると、同期処理部171に、利用者関連DB110と利用者関連DB310との同期実行を指示する。同期の方向は、前述のように、ログデータ151,351の何れがDB更新の検出元であるかに応じて制御される。このとき、更新イベントハンドラ160は、DB更新時にキーとして指定されたユーザIDの値と、処理内容(新規レコードの追加、既存レコードの更新または削除)とを同期処理部171に通知する。
FIG. 8 is a diagram illustrating an example of synchronization between DBs.
When the update event handler 160 detects the DB update of the change category “user ID”, it instructs the synchronization processing unit 171 to execute synchronization between the user-related DB 110 and the user-related DB 310 . The direction of synchronization is controlled according to which of the log data 151 and 351 is the detection source of the DB update, as described above. At this time, the update event handler 160 notifies the synchronization processing unit 171 of the value of the user ID specified as the key at the time of DB update and the processing details (addition of new record, update or deletion of existing record).

利用者関連DB110,310は、それぞれ顧客個人の認証や権限などに関するデータを管理する複数のテーブルを含む。例えば、利用者関連DB110は、「利用者」や「個人認証」などの名称のテーブルを有する。また、利用者関連DB310は、「利用者」や「電子認証」などの名称のテーブルを有する。利用者関連DB110および利用者関連DB310は、異なるDBMSにより管理され得る。また、利用者関連DB110および利用者関連DB310は、互いに同等の内容のデータを保持するが、データを管理するためのデータモデルが異なる。 The user-related DBs 110 and 310 each include a plurality of tables for managing data related to individual customer authentication, authority, and the like. For example, the user-related DB 110 has tables with names such as "user" and "personal authentication". The user-related DB 310 also has tables with names such as "user" and "electronic authentication". User-related DB 110 and user-related DB 310 can be managed by different DBMS. Also, the user-related DB 110 and the user-related DB 310 hold data of the same contents, but have different data models for managing the data.

このため、同期処理部171は、更新イベントハンドラ160の指示に応じて同期実行を行う際に、利用者関連DB110のデータモデルと、利用者関連DB310のデータモデルとの差異を吸収する。すなわち、同期処理部171は、利用者関連DB110の同期元のテーブルの項目を、利用者関連DB310の同期先のテーブルの項目に対応付ける処理を行う。あるいは、同期処理部171は、利用者関連DB310の同期元のテーブルの項目を、利用者関連DB110の同期先のテーブルの項目に対応付ける処理を行う。同期元のテーブルの項目と、同期先のテーブルの項目との対応関係の情報が同期処理部171により参照される所定の記憶部に予め格納されていてもよい。後述されるように、同期元のテーブルと同期先のテーブルとは、更新イベントハンドラ160により、同期処理部171に通知されてもよい。 Therefore, the synchronization processing unit 171 absorbs the difference between the data model of the user-related DB 110 and the data model of the user-related DB 310 when executing synchronization according to the instruction of the update event handler 160 . That is, the synchronization processing unit 171 performs a process of associating the items of the synchronization source table of the user-related DB 110 with the items of the synchronization destination table of the user-related DB 310 . Alternatively, the synchronization processing unit 171 performs a process of associating the items of the synchronization source table of the user-related DB 310 with the items of the synchronization destination table of the user-related DB 110 . Information on the correspondence between the items in the synchronization source table and the items in the synchronization destination table may be stored in advance in a predetermined storage unit referenced by the synchronization processing unit 171 . As will be described later, the synchronization source table and the synchronization destination table may be notified to the synchronization processing unit 171 by the update event handler 160 .

また、更新イベントハンドラ160は、変更区分「申込代表口座」のDB更新を検出すると、同期処理部172に、取引先関連DB120と取引先関連DB320との同期実行を指示する。同期の方向は、前述のように、ログデータ151,351の何れがDB更新の検出元であるかに応じて制御される。このとき、更新イベントハンドラ160は、DB更新時にキーとして指定された申込代表口座の値と、処理内容(新規レコードの追加、既存レコードの更新または削除)とを同期処理部172に通知する。 Further, when the update event handler 160 detects the DB update of the change category “representative account for application”, it instructs the synchronization processing unit 172 to execute synchronization between the supplier-related DB 120 and the supplier-related DB 320 . The direction of synchronization is controlled according to which of the log data 151 and 351 is the detection source of the DB update, as described above. At this time, the update event handler 160 notifies the synchronization processing unit 172 of the value of the application representative account designated as the key at the time of DB update and the processing details (addition of new record, update or deletion of existing record).

取引先関連DB120,320は、それぞれ顧客が所属する会社などの組織の預金口座に関するデータを管理する複数のテーブルを含む。例えば、取引先関連DB120は、「取引先」や「契約」などの名称のテーブルを有する。また、取引先関連DB320は、「取引先」や「外部参照」などの名称のテーブルを有する。取引先関連DB120および取引先関連DB320は、異なるDBMSにより管理され得る。また、取引先関連DB120および取引先関連DB320は、互いに同等の内容のデータを保持するが、データを管理するためのデータモデルが異なる。 Customer-related DBs 120 and 320 each include a plurality of tables for managing data relating to deposit accounts of organizations such as companies to which customers belong. For example, the client-related DB 120 has tables with names such as "client" and "contract". In addition, the client-related DB 320 has tables with names such as "client" and "external reference". Supplier-related DB 120 and supplier-related DB 320 may be managed by different DBMSs. In addition, the supplier-related DB 120 and the supplier-related DB 320 hold data of the same contents, but have different data models for managing the data.

このため、同期処理部172は、更新イベントハンドラ160の指示に応じて同期実行を行う際に、取引先関連DB120のデータモデルと、取引先関連DB320のデータモデルとの差異を吸収する。すなわち、同期処理部172は、取引先関連DB120の同期元のテーブルの項目を、取引先関連DB320の同期先のテーブルの項目に対応付ける処理を行う。あるいは、同期処理部172は、取引先関連DB320の同期元のテーブルの項目を、取引先関連DB120の同期先のテーブルの項目に対応付ける処理を行う。同期元のテーブルの項目と、同期先のテーブルの項目との対応関係の情報が同期処理部172により参照される所定の記憶部に予め格納されていてもよい。後述されるように、同期元のテーブルと同期先のテーブルとは、更新イベントハンドラ160により、同期処理部172に通知されてもよい。 Therefore, the synchronization processing unit 172 absorbs the difference between the data model of the supplier-related DB 120 and the supplier-related DB 320 when executing synchronization in accordance with the instruction of the update event handler 160 . That is, the synchronization processing unit 172 performs a process of associating the items of the synchronization source table of the supplier-related DB 120 with the items of the synchronization destination table of the supplier-related DB 320 . Alternatively, the synchronization processing unit 172 performs a process of associating the items of the synchronization source table of the supplier-related DB 320 with the items of the synchronization destination table of the supplier-related DB 120 . Information on the correspondence between the items in the synchronization source table and the items in the synchronization destination table may be stored in advance in a predetermined storage unit referenced by the synchronization processing unit 172 . As will be described later, the synchronization source table and the synchronization destination table may be notified to the synchronization processing unit 172 by the update event handler 160 .

同期処理部173も、更新イベントハンドラ160の同期実行の指示に応じて、同期処理部171,172と同様に、その他情報DB130と、その他情報DB330とのDB同期を実行する。 The synchronization processing unit 173 also performs DB synchronization between the other information DB 130 and the other information DB 330 in the same manner as the synchronization processing units 171 and 172 in response to the synchronization execution instruction from the update event handler 160 .

次に、前述の第2段階、第3段階および第4段階における更新イベントハンドラ160のDB同期制御を例示する。
図9は、DB同期制御の第1の例を示す図である。
Next, the DB synchronization control of the update event handler 160 in the second stage, third stage and fourth stage described above will be exemplified.
FIG. 9 is a diagram showing a first example of DB synchronization control.

図9では、前述の第2段階の同期制御の例を説明する。
第2段階では、外部端末500,500aによる手続は現行システム80のオンライン処理P1で処理され、内部端末600による手続は新システム90のオンライン処理P2で処理される。
FIG. 9 illustrates an example of the second-stage synchronous control described above.
In the second stage, procedures by the external terminals 500 and 500a are processed by the online processing P1 of the current system 80, and procedures by the internal terminal 600 are processed by the online processing P2 of the new system 90.

同期処理部171は、利用者関連DB110から利用者関連DB310への同期実行の指示を更新イベントハンドラ160から受け付ける。すると、同期処理部171は、利用者関連DB110を参照して、指示されたユーザIDの値をキーとするレコードを、利用者関連DB110のテーブルから読み出す。同期処理部171は、読み出したレコードに基づいて、利用者関連DB310の対応するテーブルの更新を、新DBサーバ300に要求する。なお、DB更新における処理内容が、既存レコードの削除の場合、同期処理部171は、利用者関連DB310のテーブルにおける、指示されたユーザIDの値をキーとするレコードの削除を、新DBサーバ300に要求すればよい。 The synchronization processing unit 171 receives from the update event handler 160 an instruction to perform synchronization from the user-related DB 110 to the user-related DB 310 . Then, the synchronization processing unit 171 refers to the user-related DB 110 and reads a record whose key is the value of the instructed user ID from the table of the user-related DB 110 . The synchronization processing unit 171 requests the new DB server 300 to update the corresponding table in the user-related DB 310 based on the read record. If the content of processing in the DB update is deletion of an existing record, the synchronization processing unit 171 deletes the record whose key is the designated user ID value in the table of the user-related DB 310 . can be requested.

また、同期処理部171は、利用者関連DB310から利用者関連DB110への同期実行の指示を更新イベントハンドラ160から受け付ける。すると、同期処理部171は、利用者関連DB310を参照して、指示されたユーザIDの値をキーとするレコードを、利用者関連DB310のテーブルから読み出す。同期処理部171は、読み出したレコードに基づいて、利用者関連DB110の対応するテーブルの更新を行う。なお、DB更新における処理内容が、既存レコードの削除の場合、同期処理部171は、利用者関連DB110のテーブルにおける、指示されたユーザIDの値をキーとするレコードの削除を行えばよい。 The synchronization processing unit 171 also receives an instruction to perform synchronization from the user-related DB 310 to the user-related DB 110 from the update event handler 160 . Then, the synchronization processing unit 171 refers to the user-related DB 310 and reads a record whose key is the indicated user ID value from the table of the user-related DB 310 . The synchronization processing unit 171 updates the corresponding table of the user-related DB 110 based on the read record. If the content of processing in the DB update is to delete an existing record, the synchronization processing unit 171 may delete the record with the indicated user ID value as a key in the table of the user-related DB 110 .

同期処理部172は、取引先関連DB120から取引先関連DB320への同期実行の指示を更新イベントハンドラ160から受け付ける。すると、同期処理部172は、取引先関連DB120を参照して、指示された申込代表口座の値をキーとするレコードを、取引先関連DB120のテーブルから読み出す。同期処理部172は、読み出したレコードに基づいて、取引先関連DB320の対応するテーブルの更新を、新DBサーバ300に要求する。なお、DB更新における処理内容が、既存レコードの削除の場合、同期処理部172は、取引先関連DB320のテーブルにおける、指示された申込代表口座の値をキーとするレコードの削除を、新DBサーバ300に要求すればよい。 The synchronization processing unit 172 receives from the update event handler 160 an instruction to perform synchronization from the supplier-related DB 120 to the supplier-related DB 320 . Then, the synchronous processing unit 172 refers to the supplier-related DB 120 and reads out from the table of the supplier-related DB 120 a record whose key is the value of the instructed representative application account. The synchronization processing unit 172 requests the new DB server 300 to update the corresponding table of the supplier-related DB 320 based on the read record. If the content of processing in updating the DB is to delete an existing record, the synchronization processing unit 172 deletes the record whose key is the specified value of the representative application account in the table of the supplier-related DB 320 by deleting the new DB server. Just ask 300.

また、同期処理部172は、取引先関連DB320から取引先関連DB120への同期実行の指示を更新イベントハンドラ160から受け付ける。すると、同期処理部172は、取引先関連DB320を参照して、指示された申込代表口座の値をキーとするレコードを、取引先関連DB320のテーブルから読み出す。同期処理部172は、読み出したレコードに基づいて、取引先関連DB120の対応するテーブルの更新を行う。なお、DB更新における処理内容が、既存レコードの削除の場合、同期処理部172は、取引先関連DB320のテーブルにおける、指示された申込代表口座の値をキーとするレコードの削除を行えばよい。 Further, the synchronization processing unit 172 receives from the update event handler 160 an instruction to perform synchronization from the supplier-related DB 320 to the supplier-related DB 120 . Then, the synchronous processing unit 172 refers to the supplier-related DB 320 and reads out a record whose key is the value of the instructed representative application account from the table of the supplier-related DB 320 . The synchronization processing unit 172 updates the corresponding table of the client-related DB 120 based on the read record. If the content of processing in the DB update is deletion of an existing record, the synchronous processing unit 172 may delete the record in the table of the supplier-related DB 320 with the value of the indicated application representative account as a key.

同期処理部173は、その他情報DB130からその他情報DB330への同期実行の指示を更新イベントハンドラ160から受け付ける。すると、同期処理部173は、その他情報DB130を参照して、指示されたデータ属性の値をキーとするレコードを、その他情報DB130のテーブルから読み出す。同期処理部173は、読み出したレコードに基づいて、その他情報DB330の対応するテーブルの更新を、新DBサーバ300に要求する。なお、DB更新における処理内容が、既存レコードの削除の場合、同期処理部173は、その他情報DB330のテーブルにおける、指示されたデータ属性の値をキーとするレコードの削除を、新DBサーバ300に要求すればよい。 The synchronization processing unit 173 receives from the update event handler 160 an instruction to perform synchronization from the other information DB 130 to the other information DB 330 . Then, the synchronization processing unit 173 refers to the other information DB 130 and reads a record whose key is the indicated data attribute value from the table of the other information DB 130 . The synchronization processing unit 173 requests the new DB server 300 to update the corresponding table of the other information DB 330 based on the read record. If the content of processing in the DB update is to delete an existing record, the synchronization processing unit 173 causes the new DB server 300 to delete the record whose key is the designated data attribute value in the table of the other information DB 330. You can request it.

また、同期処理部173は、その他情報DB330からその他情報DB130への同期実行の指示を更新イベントハンドラ160から受け付ける。すると、同期処理部173は、その他情報DB330を参照して、指示されたデータ属性の値をキーとするレコードを、その他情報DB330のテーブルから読み出す。同期処理部173は、読み出したレコードに基づいて、その他情報DB130の対応するテーブルの更新を行う。なお、DB更新における処理内容が、既存レコードの削除の場合、同期処理部173は、その他情報DB130のテーブルにおける、指示されたデータ属性の値をキーとするレコードの削除を行えばよい。 Further, the synchronization processing unit 173 receives from the update event handler 160 an instruction to perform synchronization from the other information DB 330 to the other information DB 130 . Then, the synchronization processing unit 173 refers to the other information DB 330 and reads a record whose key is the indicated data attribute value from the table of the other information DB 330 . The synchronization processing unit 173 updates the corresponding table of the other information DB 130 based on the read record. When the content of processing in the DB update is deletion of an existing record, the synchronization processing unit 173 may delete a record whose key is the specified data attribute value in the table of the other information DB 130 .

図10は、DB同期制御の第2の例を示す図である。
図10では、前述の第3段階の同期制御の例を説明する。
第3段階では、新システム90の利用に移行済の顧客が使用する外部端末500aによる手続は、新システム90のオンライン処理P1aにより処理される。ただし、外部端末500aは、現行システム80のGUIでのログイン時に、新システム90のGUIへリダイレクトされる。オンライン処理P1aは、外部端末500aの要求に応じて、利用者関連DB310、取引先関連DB320およびその他情報DB330を更新する。また、その更新の履歴を示すログレコードが、ログ記憶部350のログデータ351に記録される。
FIG. 10 is a diagram showing a second example of DB synchronization control.
FIG. 10 illustrates an example of the third-stage synchronous control described above.
In the third stage, procedures by the external terminal 500a used by the customer who has already transitioned to using the new system 90 are processed by the online processing P1a of the new system 90. FIG. However, the external terminal 500 a is redirected to the GUI of the new system 90 when logged in with the GUI of the current system 80 . Online processing P1a updates user-related DB 310, supplier-related DB 320, and other information DB 330 in response to requests from external terminal 500a. Also, a log record indicating the update history is recorded in the log data 351 of the log storage unit 350 .

一方、新システム90の利用に未移行の顧客が使用する外部端末500による手続は、現行システム80のオンライン処理P1により処理される。
外部端末500および内部端末600の手続に対する更新イベントハンドラ160および同期処理部171,172,173によるDB同期制御は、図9の説明と同様であるが、外部端末500aに対するDB同期制御の方法が下記に示すように一部異なる。
On the other hand, procedures by the external terminal 500 used by customers who have not yet transitioned to the use of the new system 90 are processed by the online processing P1 of the current system 80. FIG.
The DB synchronization control by the update event handler 160 and the synchronization processing units 171, 172, and 173 for the procedures of the external terminal 500 and the internal terminal 600 is the same as the description of FIG. Some are different as shown.

図11は、オンライン処理から直接同期を行う例を示す図である。
外部端末500aは、現行ログイン画面201により、新システム90の利用に移行済の顧客のアカウントを用いた現行システム80へのログイン要求を行う。現行ログイン画面201は、現行Web-APサーバ200により提供されるGUIである。現行システム80でのログインに成功すると、外部端末500aによるアクセス先は、新Web-APサーバ400にリダイレクトされ、ログイン後の新メニュー画面401が外部端末500aに提供される。新メニュー画面401は、新Web-APサーバ400により、新DBサーバ300における新DBのデータに基づいて提供されるGUIである。以後は、外部端末500aからの要求は、前述のオンライン処理P1aにより処理されることになる。
FIG. 11 is a diagram showing an example of direct synchronization from online processing.
The external terminal 500a uses the current login screen 201 to request login to the current system 80 using the customer's account that has been transferred to use the new system 90 . Current login screen 201 is a GUI provided by current Web-AP server 200 . When the login in the current system 80 succeeds, the access destination by the external terminal 500a is redirected to the new Web-AP server 400, and the new menu screen 401 after login is provided to the external terminal 500a. The new menu screen 401 is a GUI provided by the new Web-AP server 400 based on the new DB data in the new DB server 300 . After that, requests from the external terminal 500a are processed by the aforementioned online processing P1a.

ここで、新メニュー画面401には、「前回ログイン日時」などの最新の情報を表示する欄が設けられている。前回ログイン日時の情報は、利用者関連DB110に記録される情報である。一方、更新イベントハンドラ160によるDB同期は、所定時間間隔で行われる。このため、新メニュー画面401の表示タイミングの直前において、利用者関連110から利用者関連DB310への同期が行われていなければ、新Web-APサーバ400は、新メニュー画面401を正しく表示させることができなくなる。 Here, the new menu screen 401 is provided with a column for displaying the latest information such as "last login date and time". Information on the last login date and time is information recorded in the user-related DB 110 . On the other hand, DB synchronization by the update event handler 160 is performed at predetermined time intervals. Therefore, if synchronization from the user relation 110 to the user relation DB 310 is not performed immediately before the display timing of the new menu screen 401, the new Web-AP server 400 correctly displays the new menu screen 401. I can't do it.

そこで、同期処理部171は、オンライン処理P1からログインを受け付けた旨の通知を受けると、更新イベントハンドラ160の指示なしで、利用者関連DB110から利用者関連DB310に対するデータの同期を行う。これにより、リダイレクト後の新システム90によるGUIに、最新の情報を正しく表示させることが可能になる。 Therefore, upon receiving a notification from the online processing P1 that the login has been accepted, the synchronization processing unit 171 synchronizes data from the user-related DB 110 to the user-related DB 310 without an instruction from the update event handler 160 . This makes it possible to correctly display the latest information on the GUI of the new system 90 after redirection.

図12は、DB同期制御の第3の例を示す図である。
図12では、前述の第4段階の同期制御の例を説明する。
第4段階では、全ての顧客が新システム90の利用に移行済となる。このため、外部端末500,500aによる手続は新システム90のオンライン処理P1aで処理され、内部端末600による手続は新システム90のオンライン処理P2で処理される。したがって、外部端末500,500aおよび内部端末600による手続に応じて、利用者関連DB310、取引先関連DB320およびその他情報DB330が更新され、更新の履歴がログ記憶部350に格納される。
FIG. 12 is a diagram showing a third example of DB synchronization control.
FIG. 12 illustrates an example of the synchronization control of the fourth stage described above.
In the fourth stage, all customers have transitioned to using the new system 90 . Therefore, procedures by the external terminals 500 and 500a are processed by the online processing P1a of the new system 90, and procedures by the internal terminal 600 are processed by the online processing P2 of the new system 90. FIG. Therefore, user-related DB 310 , supplier-related DB 320 and other information DB 330 are updated according to the procedures by external terminals 500 and 500 a and internal terminal 600 , and the update history is stored in log storage section 350 .

第4段階では、更新イベントハンドラ160は、ログ記憶部350のログデータ351を定期的に参照すればよく、ログ記憶部150のログデータ151を監視しなくてよい。更新イベントハンドラ160は、ログデータ351によりデータの更新を検出すると、図9の説明と同様にして、新DBから現行DBへの同期を、適切な同期処理部171,172,173に指示する。 In the fourth stage, the update event handler 160 may periodically refer to the log data 351 in the log storage unit 350 and need not monitor the log data 151 in the log storage unit 150 . When the update event handler 160 detects data update from the log data 351, it instructs appropriate synchronization processors 171, 172, and 173 to synchronize from the new DB to the current DB in the same manner as described with reference to FIG.

こうして、新DBから現行DBへの同期を行うことで、現行DBのデータを最新の状態に維持することができ、現行DBを新DBと併用することができる。このため、例えば、スマートフォンなどの携帯端末の専用サイトのみを現行システム80で運用し続けたり、現行DBを新DBのバックアップとして利用可能にしたりするなど、システム移行を柔軟に行えるようになる。 By synchronizing the new DB with the current DB in this way, the data in the current DB can be kept up-to-date, and the current DB can be used together with the new DB. For this reason, system migration can be flexibly performed, for example, by continuing to operate only the dedicated site for mobile terminals such as smartphones in the current system 80, or making the current DB available as a backup of the new DB.

次に、現行DBサーバ100により実行されるDB同期制御の手順を説明する。
まず、前述の第2段階および第3段階において、更新イベントハンドラ160により実行されるDB同期制御を説明する。
Next, a procedure for DB synchronization control executed by the current DB server 100 will be described.
First, the DB synchronization control executed by the update event handler 160 in the second and third stages described above will be described.

図13は、DB同期制御の例を示すフローチャートである。
更新イベントハンドラ160は、下記の手順を所定の時間間隔で開始する。所定の時間間隔は、例えば、数秒~数分程度とすることが考えられる。
FIG. 13 is a flowchart illustrating an example of DB synchronization control.
The update event handler 160 initiates the following procedure at predetermined time intervals. The predetermined time interval can be, for example, several seconds to several minutes.

(S10)更新イベントハンドラ160は、ログ記憶部150に格納されたログデータ151およびログ記憶部350に格納されたログデータ351に対するポーリングを行う。例えば、更新イベントハンドラ160は、ログデータ151において、前回のDB同期制御の実行タイミングから今回の実行タイミングまでの間に追加されたログレコードを取得する。また、更新イベントハンドラ160は、ログデータ351において、前回のDB同期制御の実行タイミングから今回の実行タイミングまでの間に追加されたログレコードを取得する。追加されたログレコードがない場合は、当該ログレコードの取得は行われない。 ( S<b>10 ) The update event handler 160 polls the log data 151 stored in the log storage unit 150 and the log data 351 stored in the log storage unit 350 . For example, the update event handler 160 acquires the log records added in the log data 151 from the previous DB synchronization control execution timing to the current execution timing. Also, the update event handler 160 acquires log records added from the previous DB synchronization control execution timing to the current execution timing in the log data 351 . If there is no added log record, the log record is not acquired.

(S11)更新イベントハンドラ160は、現行DBのログデータ151に追加されたログレコードがあるか否かを判定する。ログデータ151に追加されたログレコードがある場合、ステップS12に処理が進む。ログデータ151に追加されたログレコードがない場合、ステップS13に処理が進む。 (S11) The update event handler 160 determines whether or not there is a log record added to the log data 151 of the current DB. If there is a log record added to the log data 151, the process proceeds to step S12. If there is no log record added to the log data 151, the process proceeds to step S13.

(S12)更新イベントハンドラ160は、現行DBから新DBへの同期処理を行う。現行DBから新DBへの同期処理の詳細は後述される。
(S13)更新イベントハンドラ160は、新DBのログデータ351に追加されたログレコードがあるか否かを判定する。ログデータ351に追加されたログレコードがある場合、ステップS14に処理が進む。ログデータ351に追加されたログレコードがない場合、DB同期制御が終了する。
(S12) The update event handler 160 performs synchronization processing from the current DB to the new DB. Details of synchronization processing from the current DB to the new DB will be described later.
(S13) The update event handler 160 determines whether or not there is a log record added to the log data 351 of the new DB. If there is a log record added to the log data 351, the process proceeds to step S14. If there is no log record added to the log data 351, DB synchronization control ends.

(S14)更新イベントハンドラ160は、新DBから現行DBへの同期処理を行う。新DBから現行DBへの同期処理の詳細は後述される。そして、今回のタイミングでのDB同期制御が終了する。 (S14) The update event handler 160 performs synchronization processing from the new DB to the current DB. Details of synchronization processing from the new DB to the current DB will be described later. Then, the DB synchronization control at this timing ends.

図14は、現行DBから新DBへの同期処理の例を示すフローチャートである。
現行DBから新DBへの同期処理は、ステップS12に相当する。
(S20)更新イベントハンドラ160は、前回のDB同期制御の実行タイミングから今回の実行タイミングまでの間に、ログデータ151に追加されたログレコードを1つ選択する。例えば、更新イベントハンドラ160は、時系列の古い方から新しい方へ向かう順に、追加されたログレコードを1つ選択する。
FIG. 14 is a flowchart showing an example of synchronization processing from the current DB to the new DB.
Synchronization processing from the current DB to the new DB corresponds to step S12.
(S20) The update event handler 160 selects one log record added to the log data 151 between the execution timing of the previous DB synchronization control and the current execution timing. For example, the update event handler 160 selects one added log record in chronological order from oldest to newest.

(S21)更新イベントハンドラ160は、選択したログレコードにおける主キーの変更区分を判定する。変更区分が「ユーザID」を示す場合、ステップS22に処理が進む。変更区分が「申込代表口座」を示す場合、ステップS26に処理が進む。変更区分が「ユーザID」および「申込代表口座」以外を示す場合、ステップS30に処理が進む。 (S21) The update event handler 160 determines the change category of the primary key in the selected log record. If the change category indicates "user ID", the process proceeds to step S22. If the change category indicates "application representative account", the process proceeds to step S26. If the change category indicates other than "user ID" and "application representative account", the process proceeds to step S30.

(S22)更新イベントハンドラ160は、利用者同期処理を開始する。例えば、同期元DBと同期先DBとの組が複数ある場合、同期元DBと同期先DBとの組ごとに下記のステップS23,S24が繰り返し実行される。 (S22) The update event handler 160 starts user synchronization processing. For example, when there are a plurality of pairs of synchronization source DB and synchronization destination DB, the following steps S23 and S24 are repeatedly executed for each pair of synchronization source DB and synchronization destination DB.

(S23)更新イベントハンドラ160は、更新された現行DBに対する新DBを特定する。具体的には、更新イベントハンドラ160は、更新された利用者関連DB110に対して利用者関連DB310を特定する。 (S23) The update event handler 160 identifies a new DB for the updated current DB. Specifically, the update event handler 160 identifies the user-related DB 310 for the updated user-related DB 110 .

(S24)更新イベントハンドラ160は、特定した新DBに更新処理を実行する。具体的には、更新イベントハンドラ160は、利用者関連DB110から利用者関連DB310への同期実行を、同期処理部171に指示する。同期処理部171は、利用者関連DB110から利用者関連DB310への同期を実行する。前述のように、同期処理部171は、更新イベントハンドラ160から通知されたユーザIDの値に基づいて、同期対象のテーブルにおける、更新が行われたレコードに関する同期処理のみを実行すればよい。 (S24) The update event handler 160 executes update processing on the specified new DB. Specifically, the update event handler 160 instructs the synchronization processing unit 171 to perform synchronization from the user-related DB 110 to the user-related DB 310 . The synchronization processing unit 171 executes synchronization from the user-related DB 110 to the user-related DB 310 . As described above, the synchronization processing unit 171 only needs to perform synchronization processing for updated records in the table to be synchronized based on the value of the user ID notified from the update event handler 160 .

(S25)更新イベントハンドラ160は、同期元DBと同期先DBとの全ての組について利用者同期処理を終了すると、ステップS34に処理を進める。
(S26)更新イベントハンドラ160は、取引先同期処理を開始する。例えば、同期元DBと同期先DBとの組が複数ある場合、同期元DBと同期先DBとの組ごとに下記のステップS27,S28が繰り返し実行される。
(S25) When the update event handler 160 ends the user synchronization processing for all pairs of synchronization source DB and synchronization destination DB, the process proceeds to step S34.
(S26) The update event handler 160 starts supplier synchronization processing. For example, when there are a plurality of pairs of synchronization source DB and synchronization destination DB, the following steps S27 and S28 are repeatedly executed for each pair of synchronization source DB and synchronization destination DB.

(S27)更新イベントハンドラ160は、更新された現行DBに対する新DBを特定する。具体的には、更新イベントハンドラ160は、更新された取引先関連DB120に対して取引先関連DB320を特定する。 (S27) The update event handler 160 identifies a new DB for the updated current DB. Specifically, update event handler 160 identifies supplier-related DB 320 for updated supplier-related DB 120 .

(S28)更新イベントハンドラ160は、特定した新DBに更新処理を実行する。具体的には、更新イベントハンドラ160は、取引先関連DB120から取引先関連DB320への同期実行を、同期処理部172に指示する。同期処理部172は、取引先関連DB120から取引先関連DB320への同期を実行する。前述のように、同期処理部172は、更新イベントハンドラ160から通知された申込代表口座の値に基づいて、同期対象のテーブルにおける、更新が行われたレコードに関する同期処理のみを実行すればよい。 (S28) The update event handler 160 executes update processing on the specified new DB. Specifically, the update event handler 160 instructs the synchronization processing unit 172 to perform synchronization from the supplier-related DB 120 to the supplier-related DB 320 . The synchronization processing unit 172 executes synchronization from the supplier-related DB 120 to the supplier-related DB 320 . As described above, the synchronization processing unit 172 only needs to perform synchronization processing for updated records in the synchronization target table based on the value of the application representative account notified from the update event handler 160 .

(S29)更新イベントハンドラ160は、同期元DBと同期先DBとの全ての組について取引先同期処理を終了すると、ステップS34に処理を進める。
(S30)更新イベントハンドラ160は、その他同期処理を開始する。例えば、同期元DBと同期先DBとの組が複数ある場合、同期元DBと同期先DBとの組ごとに下記のステップS31,S32が繰り返し実行される。
(S29) The update event handler 160 advances the process to step S34 when the client synchronization process is completed for all pairs of the synchronization source DB and the synchronization destination DB.
(S30) The update event handler 160 starts other synchronization processing. For example, when there are a plurality of pairs of synchronization source DB and synchronization destination DB, the following steps S31 and S32 are repeatedly executed for each pair of synchronization source DB and synchronization destination DB.

(S31)更新イベントハンドラ160は、更新された現行DBに対する新DBを特定する。具体的には、更新イベントハンドラ160は、更新されたその他情報DB130に対してその他情報DB330を特定する。 (S31) The update event handler 160 identifies a new DB for the updated current DB. Specifically, update event handler 160 identifies other information DB 330 for updated other information DB 130 .

(S32)更新イベントハンドラ160は、特定した新DBに更新処理を実行する。具体的には、更新イベントハンドラ160は、その他情報DB130からその他情報DB330への同期実行を、同期処理部173に指示する。同期処理部173は、その他情報DB130からその他情報DB330への同期を実行する。前述のように、同期処理部173は、更新イベントハンドラ160から通知されたデータ属性の値に基づいて、同期対象のテーブルにおける、更新が行われたレコードに関する同期処理のみを実行すればよい。 (S32) The update event handler 160 executes update processing on the specified new DB. Specifically, the update event handler 160 instructs the synchronization processing unit 173 to perform synchronization from the other information DB 130 to the other information DB 330 . A synchronization processing unit 173 executes synchronization from the other information DB 130 to the other information DB 330 . As described above, the synchronization processing unit 173 only needs to perform synchronization processing for updated records in the synchronization target table based on the data attribute value notified from the update event handler 160 .

(S33)更新イベントハンドラ160は、同期元DBと同期先DBとの全ての組についてその他同期処理を終了すると、ステップS34に処理を進める。
(S34)更新イベントハンドラ160は、前回のDB同期制御の実行タイミングから今回の実行タイミングまでの間に、ログデータ151に追加された全てのログレコードを処理済であるか否かを判定する。全て処理済の場合、現行DBから新DBへのDB同期制御が終了する。全て処理済でない場合、ステップS20に処理が進む。
(S33) When the update event handler 160 completes other synchronization processing for all pairs of the synchronization source DB and the synchronization destination DB, the process proceeds to step S34.
(S34) The update event handler 160 determines whether or not all the log records added to the log data 151 have been processed from the previous DB synchronization control execution timing to the current execution timing. If all have been processed, DB synchronization control from the current DB to the new DB ends. If not all have been processed, the process proceeds to step S20.

図15は、新DBから現行DBへの同期処理の例を示すフローチャートである。
新DBから現行DBへの同期処理は、ステップS14に相当する。
(S40)更新イベントハンドラ160は、前回のDB同期制御の実行タイミングから今回の実行タイミングまでの間に、ログデータ351に追加されたログレコードを1つ選択する。例えば、更新イベントハンドラ160は、時系列の古い方から新しい方へ向かう順に、追加されたログレコードを1つ選択する。
FIG. 15 is a flowchart illustrating an example of synchronization processing from the new DB to the current DB.
Synchronization processing from the new DB to the current DB corresponds to step S14.
(S40) The update event handler 160 selects one log record added to the log data 351 between the execution timing of the previous DB synchronization control and the current execution timing. For example, the update event handler 160 selects one added log record in chronological order from oldest to newest.

(S41)更新イベントハンドラ160は、選択したログレコードにおける主キーの変更区分を判定する。変更区分が「ユーザID」を示す場合、ステップS42に処理が進む。変更区分が「申込代表口座」を示す場合、ステップS46に処理が進む。変更区分が「ユーザID」および「申込代表口座」以外を示す場合、ステップS50に処理が進む。 (S41) The update event handler 160 determines the change category of the primary key in the selected log record. If the change category indicates "user ID", the process proceeds to step S42. If the change category indicates the "application representative account", the process proceeds to step S46. If the change category indicates other than "user ID" and "application representative account", the process proceeds to step S50.

(S42)更新イベントハンドラ160は、利用者同期処理を開始する。例えば、同期元DBと同期先DBとの組が複数ある場合、同期元DBと同期先DBとの組ごとに下記のステップS43,S44が繰り返し実行される。 (S42) The update event handler 160 starts user synchronization processing. For example, when there are a plurality of pairs of synchronization source DB and synchronization destination DB, the following steps S43 and S44 are repeatedly executed for each pair of synchronization source DB and synchronization destination DB.

(S43)更新イベントハンドラ160は、更新された新DBに対する現行DBを特定する。具体的には、更新イベントハンドラ160は、更新された利用者関連DB310に対して利用者関連DB110を特定する。 (S43) The update event handler 160 identifies the current DB for the updated new DB. Specifically, the update event handler 160 identifies the user-related DB 110 for the updated user-related DB 310 .

(S44)更新イベントハンドラ160は、特定した現行DBに更新処理を実行する。具体的には、更新イベントハンドラ160は、利用者関連DB310から利用者関連DB110への同期実行を、同期処理部171に指示する。同期処理部171は、利用者関連DB310から利用者関連DB110への同期を実行する。前述のように、同期処理部171は、更新イベントハンドラ160から通知されたユーザIDの値に基づいて、同期対象のテーブルにおける、更新が行われたレコードに関する同期処理のみを実行すればよい。 (S44) The update event handler 160 executes update processing on the specified current DB. Specifically, the update event handler 160 instructs the synchronization processing unit 171 to perform synchronization from the user-related DB 310 to the user-related DB 110 . The synchronization processing unit 171 executes synchronization from the user-related DB 310 to the user-related DB 110 . As described above, the synchronization processing unit 171 only needs to perform synchronization processing for updated records in the table to be synchronized based on the value of the user ID notified from the update event handler 160 .

(S45)更新イベントハンドラ160は、同期元DBと同期先DBとの全ての組について利用者同期処理を終了すると、ステップS54に処理を進める。
(S46)更新イベントハンドラ160は、取引先同期処理を開始する。例えば、同期元DBと同期先DBとの組が複数ある場合、同期元DBと同期先DBとの組ごとに下記のステップS47,S48が繰り返し実行される。
(S45) When the update event handler 160 ends the user synchronization processing for all pairs of the synchronization source DB and the synchronization destination DB, the process proceeds to step S54.
(S46) The update event handler 160 starts supplier synchronization processing. For example, when there are a plurality of pairs of synchronization source DB and synchronization destination DB, the following steps S47 and S48 are repeatedly executed for each pair of synchronization source DB and synchronization destination DB.

(S47)更新イベントハンドラ160は、更新された新DBに対する現行DBを特定する。具体的には、更新イベントハンドラ160は、更新された取引先関連DB320に対して取引先関連DB120を特定する。 (S47) The update event handler 160 identifies the current DB for the updated new DB. Specifically, update event handler 160 identifies supplier-related DB 120 for updated supplier-related DB 320 .

(S48)更新イベントハンドラ160は、特定した現行DBに更新処理を実行する。具体的には、更新イベントハンドラ160は、取引先関連DB320から取引先関連DB120への同期実行を、同期処理部172に指示する。同期処理部172は、取引先関連DB320から取引先関連DB120への同期を実行する。前述のように、同期処理部172は、更新イベントハンドラ160から通知された申込代表口座の値に基づいて、同期対象のテーブルにおける、更新が行われたレコードに関する同期処理のみを実行すればよい。 (S48) The update event handler 160 executes update processing on the specified current DB. Specifically, the update event handler 160 instructs the synchronization processing unit 172 to execute synchronization from the supplier-related DB 320 to the supplier-related DB 120 . The synchronization processing unit 172 executes synchronization from the supplier-related DB 320 to the supplier-related DB 120 . As described above, the synchronization processing unit 172 only needs to perform synchronization processing for updated records in the synchronization target table based on the value of the application representative account notified from the update event handler 160 .

(S49)更新イベントハンドラ160は、同期元DBと同期先DBとの全ての組について取引先同期処理を終了すると、ステップS54に処理を進める。
(S50)更新イベントハンドラ160は、その他同期処理を開始する。例えば、同期元DBと同期先DBとの組が複数ある場合、同期元DBと同期先DBとの組ごとに下記のステップS51,S52が繰り返し実行される。
(S49) The update event handler 160 advances the process to step S54 when the client synchronization process is completed for all pairs of the synchronization source DB and the synchronization destination DB.
(S50) The update event handler 160 starts other synchronization processing. For example, when there are a plurality of pairs of synchronization source DB and synchronization destination DB, the following steps S51 and S52 are repeatedly executed for each pair of synchronization source DB and synchronization destination DB.

(S51)更新イベントハンドラ160は、更新された新DBに対する現行DBを特定する。具体的には、更新イベントハンドラ160は、更新されたその他情報DB330に対してその他情報DB130を特定する。 (S51) The update event handler 160 identifies the current DB for the updated new DB. Specifically, update event handler 160 identifies other information DB 130 for updated other information DB 330 .

(S52)更新イベントハンドラ160は、特定した現行DBに更新処理を実行する。具体的には、更新イベントハンドラ160は、その他情報DB330からその他情報DB130への同期実行を、同期処理部173に指示する。同期処理部173は、その他情報DB330からその他情報DB130への同期を実行する。前述のように、同期処理部173は、更新イベントハンドラ160から通知されたデータ属性の値に基づいて、同期対象のテーブルにおける、更新が行われたレコードに関する同期処理のみを実行すればよい。 (S52) The update event handler 160 executes update processing on the specified current DB. Specifically, the update event handler 160 instructs the synchronization processing unit 173 to perform synchronization from the other information DB 330 to the other information DB 130 . A synchronization processing unit 173 executes synchronization from the other information DB 330 to the other information DB 130 . As described above, the synchronization processing unit 173 only needs to perform synchronization processing for updated records in the synchronization target table based on the data attribute value notified from the update event handler 160 .

(S53)更新イベントハンドラ160は、同期元DBと同期先DBとの全ての組についてその他同期処理を終了すると、ステップS54に処理を進める。
(S54)更新イベントハンドラ160は、前回のDB同期制御の実行タイミングから今回の実行タイミングまでの間に、ログデータ351に追加された全てのログレコードを処理済であるか否かを判定する。全て処理済の場合、新DBから現行DBへのDB同期制御が終了する。全て処理済でない場合、ステップS40に処理が進む。
(S53) When the update event handler 160 completes the other synchronization process for all pairs of the synchronization source DB and the synchronization destination DB, the process proceeds to step S54.
(S54) The update event handler 160 determines whether or not all the log records added to the log data 351 have been processed from the previous DB synchronization control execution timing to the current execution timing. If all have been processed, DB synchronization control from the new DB to the current DB ends. If not all have been processed, the process proceeds to step S40.

こうして、第2,第3段階では、現行システム80および新システム90を運用しながら、現行DBと新DBとの双方向のデータの同期が行われる。第4段階では、下記のように、更新イベントハンドラ160は、ログ記憶部150の監視を停止し、ログ記憶部350のみを監視する。 Thus, in the second and third stages, while operating the current system 80 and the new system 90, bidirectional data synchronization between the current DB and the new DB is performed. In the fourth stage, update event handler 160 stops monitoring log storage 150 and monitors only log storage 350, as described below.

次に、前述の第4段階において、更新イベントハンドラ160により実行されるDB同期制御を説明する。
図16は、DB同期制御の他の例を示すフローチャートである。
Next, the DB synchronization control executed by the update event handler 160 in the fourth stage described above will be described.
FIG. 16 is a flowchart showing another example of DB synchronization control.

更新イベントハンドラ160は、下記の手順を所定の時間間隔で開始する。所定の時間間隔は、例えば、数秒~数分程度とすることが考えられる。
(S60)更新イベントハンドラ160は、ログ記憶部350に格納されたログデータ351に対するポーリングを行う。例えば、更新イベントハンドラ160は、ログデータ351において、前回のDB同期制御の実行タイミングから今回の実行タイミングまでの間に追加されたログレコードを取得する。追加されたログレコードがない場合は、当該ログレコードの取得は行われない。
The update event handler 160 initiates the following procedure at predetermined time intervals. The predetermined time interval can be, for example, several seconds to several minutes.
( S<b>60 ) The update event handler 160 polls the log data 351 stored in the log storage unit 350 . For example, the update event handler 160 acquires the log records added in the log data 351 from the previous DB synchronization control execution timing to the current execution timing. If there is no added log record, the log record is not acquired.

(S61)更新イベントハンドラ160は、新DBのログデータ351に追加されたログレコードがあるか否かを判定する。ログデータ351に追加されたログレコードがある場合、ステップS62に処理が進む。ログデータ351に追加されたログレコードがない場合、DB同期制御が終了する。 (S61) The update event handler 160 determines whether or not there is a log record added to the log data 351 of the new DB. If there is a log record added to the log data 351, the process proceeds to step S62. If there is no log record added to the log data 351, DB synchronization control ends.

(S62)更新イベントハンドラ160は、新DBから現行DBへの同期処理を行う。新DBから現行DBへの同期処理の手順は、図15の手順と同様である。そして、DB同期制御が終了する。 (S62) The update event handler 160 performs synchronization processing from the new DB to the current DB. The procedure for synchronization processing from the new DB to the current DB is the same as the procedure in FIG. Then, the DB synchronization control ends.

なお、ステップS23,S27,S31,S43,S47,S51における、同期元DBに対する同期先DBの特定は、現行DBサーバ100が予め保持する同期制御情報に基づいて行われてもよい。 The identification of the synchronization destination DB with respect to the synchronization source DB in steps S23, S27, S31, S43, S47, and S51 may be performed based on synchronization control information held in advance by the current DB server 100. FIG.

図17は、同期制御情報の第1の例を示す図である。
現行DBサーバ100は、図4で例示した機能に加えて、制御情報記憶部160aを有してもよい。制御情報記憶部160aには、RAM102やHDD103の記憶領域が用いられる。制御情報記憶部160aは、同期制御情報161を予め記憶する。
FIG. 17 is a diagram showing a first example of synchronization control information.
The current DB server 100 may have a control information storage unit 160a in addition to the functions illustrated in FIG. A storage area of the RAM 102 or the HDD 103 is used for the control information storage unit 160a. The control information storage unit 160a stores synchronous control information 161 in advance.

同期制御情報161は、主キーの変更区分に応じた、現行DBと新DBとの対応関係を示す情報である。同期制御情報161は、主キーの変更区分、現行DB名および新DB名の項目を含む。主キーの変更区分の項目には、主キーの変更区分が登録される。現行DB名の項目には、現行DBの識別名が登録される。新DB名の項目には、現行DBに対応する新DBの識別名が登録される。 The synchronization control information 161 is information indicating the correspondence relationship between the current DB and the new DB according to the change classification of the primary key. The synchronization control information 161 includes items of primary key change classification, current DB name, and new DB name. A primary key change category is registered in the primary key change category field. The identification name of the current DB is registered in the current DB name item. The identification name of the new DB corresponding to the current DB is registered in the new DB name item.

例えば、同期制御情報161には、主キーの変更区分「1」、現行DB名「db01」、新DB名「db11」というレコードが登録されている。このレコードは、主キーの変更区分「1」(ユーザID)に対して、同期対象のDBの組が、現行DB名「db01」の利用者関連DB110および新DB名「db11」の利用者関連DB310の組であることを示す。 For example, in the synchronization control information 161, a record of primary key change category "1", current DB name "db01", and new DB name "db11" is registered. In this record, for the change section "1" (user ID) of the primary key, the set of DBs to be synchronized is the user-related DB 110 with the current DB name "db01" and the user-related DB 110 with the new DB name "db11". It indicates that it is a set of DB310.

同期制御情報161には、他の変更区分に対しても、現行DB名と新DB名との組が登録される。同期制御情報161には、1つの変更区分に対して、現行DB名と新DB名との組が複数登録されてもよい。 A set of the current DB name and the new DB name is also registered in the synchronization control information 161 for other change sections. A plurality of pairs of current DB names and new DB names may be registered for one change section in the synchronization control information 161 .

更新イベントハンドラ160は、制御情報記憶部160aに記憶された同期制御情報161を参照して、ログレコードにおける変更区分に応じた現行DBと新DBとの組を特定してもよい。 The update event handler 160 may refer to the synchronization control information 161 stored in the control information storage unit 160a to specify a set of the current DB and the new DB according to the change section in the log record.

図18は、同期制御情報の第2の例を示す図である。
制御情報記憶部160aは、同期制御情報161に代えて、同期制御情報162を予め記憶してもよい。同期制御情報162は、現行DBのテーブルと、新DBのテーブルとの対応関係を保持する点が、同期制御情報161と異なる。
FIG. 18 is a diagram showing a second example of synchronization control information.
Instead of the synchronization control information 161, the control information storage unit 160a may store the synchronization control information 162 in advance. The synchronization control information 162 differs from the synchronization control information 161 in that it holds the correspondence relationship between the current DB table and the new DB table.

同期制御情報162は、主キーの変更区分、業務コード、現行DBテーブルおよび新DBテーブルの項目を含む。主キーの変更区分の項目には、主キーの変更区分が登録される。業務コードの項目には、業務コードが登録される。現行DBテーブルの項目には、現行DBのテーブル名が登録される。新DBテーブルの項目には、現行DBテーブルに対応する新DBのテーブル名が登録される。 The synchronization control information 162 includes items of primary key change classification, business code, current DB table, and new DB table. A primary key change category is registered in the primary key change category field. A business code is registered in the business code field. The table name of the current DB is registered in the current DB table item. The table name of the new DB corresponding to the current DB table is registered in the new DB table item.

例えば、同期制御情報162には、主キーの変更区分「1」、業務コード「001」、現行DBテーブル「db01:table001」、新DBテーブル「db11:table111」というレコードが登録されている。このレコードは、主キーの変更区分「1」(ユーザID)に対して、同期対象のテーブルの組が現行DB名「db01」のテーブル「table001」と新DB名「db11」のテーブル「table111」との組であることを示す。 For example, in the synchronization control information 162, a record of primary key change category "1", business code "001", current DB table "db01:table001", and new DB table "db11:table111" is registered. In this record, for the primary key change section "1" (user ID), the set of tables to be synchronized is the table "table001" with the current DB name "db01" and the table "table111" with the new DB name "db11". indicates that it is paired with

同期制御情報162には、他の変更区分と業務コードとの組に対しても、現行DBテーブルと新DBテーブルとの組が登録される。同期制御情報162には、変更区分と業務コードとの1つの組に対して、現行DBテーブルと新DBテーブルとの複数の組が登録されてもよい。 In the synchronization control information 162, a set of the current DB table and the new DB table is also registered for another set of change section and business code. In the synchronization control information 162, a plurality of sets of the current DB table and the new DB table may be registered for one set of change section and business code.

更新イベントハンドラ160は、制御情報記憶部160aに記憶された同期制御情報162を参照して、ログレコードにおける変更区分と業務コードとの組に応じた現行DBテーブルと新DBテーブルとの組を特定してもよい。この場合、更新イベントハンドラ160は、特定した現行DBテーブルと新DBテーブルとの組に関するデータの同期を、同期処理部171,172,173に指示する。 The update event handler 160 refers to the synchronization control information 162 stored in the control information storage unit 160a, and identifies a set of the current DB table and the new DB table according to the set of change category and operation code in the log record. You may In this case, the update event handler 160 instructs the synchronization processing units 171, 172, and 173 to synchronize data relating to the specified set of the current DB table and the new DB table.

ここで、例えば、現行システム80または新システム90のDBにおける、あるデータの更新に対して、現行システム80および新システム90の該当のDBの同期を行うように、現行システム80における更新処理を修正することが考えられる。しかし、更新処理は多岐に亘ることがあり、更新処理全てを人手によって個々に修正することは容易ではない。 Here, for example, the updating process in the current system 80 is modified so that the corresponding DBs of the current system 80 and the new system 90 are synchronized in response to updating certain data in the DB of the current system 80 or the new system 90. can be considered. However, there are many kinds of update processes, and it is not easy to manually correct all the update processes individually.

一方、キーとなるデータ属性に対して、当該データ属性に関連するデータを管理するデータベースを予め特定することは、データベースの定義情報などから比較的容易に行える。そこで、更新イベントハンドラ160は、更新が行われたデータの属性と、更新の検出元となった更新履歴とに応じて、同期方向や同期元DBと同期先DBとの組を特定することで、当該組を効率的に特定でき、同期処理を適切に行えるようになる。こうして、データの更新処理全てを個々に修正しなくても、DBの同期処理を効率良く行うことができる。 On the other hand, it is relatively easy to preliminarily specify a database that manages data related to a key data attribute from database definition information or the like. Therefore, the update event handler 160 identifies the synchronization direction and the combination of the synchronization source DB and the synchronization destination DB according to the attribute of the updated data and the update history from which the update was detected. , the pair can be efficiently identified, and synchronization processing can be appropriately performed. In this way, DB synchronization processing can be performed efficiently without correcting all data update processing individually.

また、更新イベントハンドラ160および同期制御部170によるデータベース同期の処理は、現行システム80および新システム90の処理とは独立して実行することができる。このため、現行システム80で動作するソフトウェアの修正を行わずに済み、あるいは、修正規模を比較的小さくでき、現行システム80での障害リスクを小さく抑えられる。また、新システム90において、システム移行のために一時的にしか使用されないDB同期用の処理ロジックを入れ込まなくてよいという利点もある。 Further, database synchronization processing by the update event handler 160 and the synchronization control unit 170 can be executed independently of the processing of the current system 80 and the new system 90 . For this reason, the software that operates in the current system 80 does not have to be modified, or the scale of modification can be made relatively small, and the risk of failure in the current system 80 can be kept low. There is also the advantage that the new system 90 does not need to incorporate processing logic for DB synchronization that is used only temporarily for system migration.

更に、更新イベントハンドラ160は、ログデータ151,351を定期的に監視することで、現行DBおよび新DBにおけるデータの更新の有無を判定することができる。これにより、現行システム80および新システム90の処理のレスポンスに影響を与えないよう、DB同期を非同期で実装できる。 Furthermore, the update event handler 160 can determine whether or not data has been updated in the current DB and the new DB by periodically monitoring the log data 151 and 351 . As a result, DB synchronization can be implemented asynchronously so as not to affect the processing responses of the current system 80 and the new system 90 .

なお、現行DBと新DBとの同期を行いながら、現行システム80から新システム90への切り替え準備が整った段階で、全ての処理を新システム90で行うようにシステムの切り替えが行われる。切り替え後は、外部端末500,500aおよび内部端末600からの要求は、全て新システム90で処理され、データ更新が新DBに直接反映されるため、現行DBから新DBへのデータの同期を行わなくてもよくなる。ただし、前述の第4段階のように、更新イベントハンドラ160および同期制御部170は、新DBから現行DBへのデータの同期を行ってもよい。 While synchronizing the current DB and the new DB, system switching is performed so that all processing is performed by the new system 90 when preparations for switching from the current system 80 to the new system 90 are completed. After switching, all requests from the external terminals 500, 500a and the internal terminal 600 are processed by the new system 90, and data updates are directly reflected in the new DB, so data synchronization is performed from the current DB to the new DB. It gets better without it. However, as in the fourth stage described above, the update event handler 160 and the synchronization control unit 170 may synchronize data from the new DB to the current DB.

ここで、現行DBサーバ100は、例えば次の処理を実行する。
更新イベントハンドラ160は、複数の第1データベースに対する第1更新履歴および複数の第2データベースに対する第2更新履歴を所定の時間間隔で監視することで、何れかのデータベースにおいてデータの更新が行われたか否かを判定する。更新イベントハンドラ160は、更新が行われていると判定した場合に、更新が行われたデータの属性および更新の検出元が第1更新履歴および第2更新履歴の何れであるかに応じて、複数の第1データベースのうちの同期元データベースと複数の第2データベースのうちの同期先データベースとの組、または、複数の第2データベースのうちの同期元データベースと複数の第1データベースのうちの同期先データベースとの組を特定する。更新イベントハンドラ160は、特定した同期元データベースから同期先データベースに対するデータの同期処理の実行を同期制御部170に指示する。
Here, the current DB server 100 executes, for example, the following processing.
The update event handler 160 monitors the first update history of the plurality of first databases and the second update history of the plurality of second databases at predetermined time intervals to determine whether any database has been updated. determine whether or not When the update event handler 160 determines that an update has been performed, depending on whether the attribute of the updated data and the detection source of the update is the first update history or the second update history, A set of a synchronization source database out of a plurality of first databases and a synchronization destination database out of a plurality of second databases, or a synchronization source database out of the plurality of second databases and a synchronization out of the plurality of first databases Identify a pair with the destination database. The update event handler 160 instructs the synchronization control unit 170 to execute data synchronization processing from the specified synchronization source database to the synchronization destination database.

これにより、データベースの同期処理を効率良く行うことができる。なお、利用者関連DB110、取引先関連DB120およびその他情報DB130は、複数の第1データベースの一例である。利用者関連DB310、取引先関連DB320およびその他情報DB330は、複数の第2データベースの一例である。ログデータ151は、第1更新履歴の一例である。ログデータ351は、第2更新履歴の一例である。 As a result, database synchronization processing can be performed efficiently. The user-related DB 110, the supplier-related DB 120, and the other information DB 130 are examples of a plurality of first databases. User-related DB 310, supplier-related DB 320, and other information DB 330 are examples of a plurality of second databases. Log data 151 is an example of a first update history. Log data 351 is an example of a second update history.

更新イベントハンドラ160は、データの属性に対して複数の第1データベースに含まれるデータベースと複数の第2データベースに含まれる他のデータベースとの組を対応付けた同期制御情報161に基づいて、同期元データベースと同期先データベースとを特定してもよい。 The update event handler 160 updates the synchronization source based on the synchronization control information 161 that associates a set of databases included in the plurality of first databases and other databases included in the plurality of second databases with respect to data attributes. You may specify a database and a synchronization destination database.

これにより、更新が行われたデータの属性に対する同期元のデータベースと同期先のデータベースとを効率的に特定できる。
更新イベントハンドラ160は、データの属性と更新を行った処理を示す識別情報とに応じて、同期元データベースに含まれる第1テーブルと同期先データベースに含まれる第2テーブルとを特定してもよい。そして、更新イベントハンドラ160は、特定した第1テーブルから第2テーブルに対するデータの同期処理の実行を指示してもよい。
This makes it possible to efficiently identify the synchronization source database and the synchronization destination database for the attribute of the updated data.
The update event handler 160 may identify the first table included in the synchronization source database and the second table included in the synchronization destination database according to the data attribute and identification information indicating the process that performed the update. . Then, the update event handler 160 may instruct execution of data synchronization processing from the specified first table to the second table.

これにより、同期処理の対象を更に絞り込め、データベースの同期処理を一層効率良く行うことができる。なお、前述の業務コードは、更新を行った処理を示す識別情報の一例である。 This makes it possible to further narrow down the target of the synchronization process and to perform the database synchronization process more efficiently. Note that the business code described above is an example of identification information indicating the process that performed the update.

例えば、更新イベントハンドラ160は、データの属性および当該識別情報に対して複数の第1データベースに含まれるデータベースのテーブルと複数の第2データベースに含まれる他のデータベースの他のテーブルとの組を対応付けた同期制御情報162に基づいて、第1テーブルと第2テーブルとを特定してもよい。 For example, the update event handler 160 associates a set of a database table included in a plurality of first databases and a table in another database included in a plurality of second databases with respect to data attributes and identification information. The first table and the second table may be specified based on the attached synchronization control information 162 .

これにより、更新が行われたデータの属性に対する同期元のデータベースのテーブルと同期先のデータベースのテーブルとを効率的に特定できる。
更新イベントハンドラ160は、更新の検出元が第1更新履歴の場合、更新が行われたデータの属性に応じて、複数の第1データベースから同期元データベースを特定し、複数の第2データベースから同期先データベースを特定する。また、更新イベントハンドラ160は、更新の検出元が第2更新履歴の場合、データの属性に応じて、複数の第2データベースから同期元データベースを特定し、複数の第1データベースから同期先データベースを特定する。
This makes it possible to efficiently identify the synchronization source database table and the synchronization destination database table for the attributes of the updated data.
When the update detection source is the first update history, the update event handler 160 identifies the synchronization source database from the plurality of first databases according to the attributes of the updated data, and synchronizes from the plurality of second databases. Identify the destination database. Further, when the update detection source is the second update history, the update event handler 160 identifies the synchronization source database from the plurality of second databases according to the data attribute, and selects the synchronization destination database from the plurality of first databases. Identify.

これにより、同期元データベースと同期先データベースとの組を適切に特定できる。
また、同期制御部170は、特定のユーザに関する要求により複数の第1データベースの何れかのデータベースのデータが更新されたことを検出する。すると、同期制御部170は、当該データベースを同期元データベースとして、複数の第2データベースのうち、当該同期元データベースに対応する同期先データベースへのデータの同期を、更新イベントハンドラ160による更新の監視のタイミングを待たずに実行する。
Thereby, the pair of the synchronization source database and the synchronization destination database can be appropriately specified.
The synchronization control unit 170 also detects that data in any one of the plurality of first databases has been updated by a request relating to a specific user. Then, the synchronization control unit 170 synchronizes the data to the synchronization destination database corresponding to the synchronization source database among the plurality of second databases with the database as the synchronization source database, and causes the update event handler 160 to monitor the update. Execute without waiting for timing.

これにより、例えば、図11で説明したように、該当のユーザの手続を新システム90へリダイレクトさせる場合でも、新システム90で管理されるデータを、迅速に、最新の状態に更新できる。 As a result, for example, even when the user's procedure is redirected to the new system 90 as described with reference to FIG. 11, the data managed by the new system 90 can be quickly updated to the latest state.

更新イベントハンドラ160は、ユーザが利用するシステムの移行であって、複数の第1データベースを用いる第1システムから複数の第2データベースを用いる第2システムへの移行が完了すると、第1更新履歴の監視を停止する。 The update event handler 160 is the migration of the system used by the user, and when the migration from the first system using a plurality of first databases to the second system using a plurality of second databases is completed, the first update history is processed. Stop monitoring.

これにより、更新イベントハンドラ160が余計な監視処理を行うことを抑制できる。また、複数の第2データベースに含まれるデータベースを同期元とし、複数の第1データベースに含まれるデータベースを同期先とする同期処理のみを効率的に実行可能になる。例えば、システムの移行の完了の通知は、システム管理者などによって現行DBサーバ100に入力されてもよい。ここで、現行システム80は、第1システムの一例である。新システム90は、第2システムの一例である。 This can prevent the update event handler 160 from performing unnecessary monitoring processing. In addition, it is possible to efficiently execute only the synchronization process in which the database included in the plurality of second databases is the synchronization source and the database included in the plurality of first databases is the synchronization destination. For example, the system migration completion notification may be input to the current DB server 100 by a system administrator or the like. Here, the current system 80 is an example of the first system. New system 90 is an example of a second system.

また、更新イベントハンドラ160は、更新の際に指定された属性の値をキーとするレコードを同期元データベースから同期先データベースに反映させる指示を行ってもよい。
これにより、同期制御部170による同期対象のレコードの抽出が容易になり、データベースの同期処理を一層効率的に行うことができる。
In addition, the update event handler 160 may issue an instruction to reflect the record whose key is the value of the attribute specified at the time of update from the synchronization source database to the synchronization destination database.
This makes it easier for the synchronization control unit 170 to extract records to be synchronized, so that database synchronization processing can be performed more efficiently.

また、複数の第1データベースを備える装置および複数の第2データベースを備える他の装置は、第1ネットワークに接続される。複数の第2データベースは、第1ネットワークに接続された第1端末により入力された情報により更新される。複数の第1データベースは、第1ネットワークの外部の第2ネットワークを介して第2端末により入力された情報により更新される。 Also, a device with a plurality of first databases and another device with a plurality of second databases are connected to the first network. A plurality of second databases are updated with information entered by a first terminal connected to the first network. A plurality of first databases are updated with information entered by a second terminal via a second network external to the first network.

更新イベントハンドラ160および同期制御部170の機能は、銀行などの機関のように、外部端末500,500aおよび内部端末600による要求を処理するシステムの段階的な移行に有用である。現行DBサーバ100は、複数の第1データベースを備える装置の一例である。新DBサーバ300は、複数の第2データベースを備える他の装置の一例である。内部端末600は第1端末の一例である。外部端末500,500aは第2端末の一例である。また、内部端末600が接続されるネットワーク60は、第1ネットワークの一例である。外部端末500,500aが接続されるインターネット70などのネットワークは、第2ネットワークの一例である。 The functions of the update event handler 160 and the synchronization control unit 170 are useful for the gradual migration of systems that process requests from the external terminals 500, 500a and the internal terminal 600, such as institutions such as banks. The current DB server 100 is an example of a device that includes multiple first databases. The new DB server 300 is an example of another device that includes multiple second databases. Internal terminal 600 is an example of a first terminal. The external terminals 500 and 500a are examples of second terminals. Also, the network 60 to which the internal terminal 600 is connected is an example of a first network. A network such as the Internet 70 to which the external terminals 500 and 500a are connected is an example of the second network.

更に、第2の実施の形態の情報処理システムを次のように表すこともできる。
すなわち、情報処理システムは、複数の第1データベースを管理する第1情報処理装置と、複数の第2データベースを管理する第2情報処理装置とを有する。現行DBサーバ100は、第1情報処理装置の一例である。新DBサーバ300は、第2情報処理装置の一例である。第1情報処理装置は、複数の第1データベースに対する第1更新履歴および複数の第2データベースに対する第2更新履歴を所定の時間間隔で監視することで、何れかのデータベースにおいてデータの更新が行われたか否かを判定する。第1情報処理装置は、更新が行われていると判定した場合に、更新が行われたデータの属性および更新の検出元が第1更新履歴および第2更新履歴の何れであるかに応じて、複数の第1データベースのうちの同期元データベースと複数の第2データベースのうちの同期先データベースとの組、または、複数の第2データベースのうちの同期元データベースと複数の第1データベースのうちの同期先データベースとの組を特定する。第1情報処理装置は、特定した同期元データベースから同期先データベースに対するデータの同期処理の実行を指示する。
Furthermore, the information processing system of the second embodiment can also be expressed as follows.
That is, the information processing system has a first information processing device that manages a plurality of first databases and a second information processing device that manages a plurality of second databases. The current DB server 100 is an example of a first information processing device. The new DB server 300 is an example of a second information processing device. A first information processing device monitors a first update history of a plurality of first databases and a second update history of a plurality of second databases at predetermined time intervals, so that data is updated in any one of the databases. determine whether or not When the first information processing apparatus determines that an update has been performed, the first information processing apparatus determines whether the attribute of the updated data and the detection source of the update are the first update history or the second update history. , a set of a synchronization source database among a plurality of first databases and a synchronization destination database among a plurality of second databases, or a synchronization source database among a plurality of second databases and a plurality of first databases Identify a pair with the synchronization destination database. The first information processing device instructs execution of data synchronization processing from the specified synchronization source database to the synchronization destination database.

このようにして、データベースの同期処理を効率的に行うことができる。第1情報処理装置側にデータベースの同期制御を行う更新イベントハンドラ160や同期制御部170を設けることで、第2情報処理装置側にデータベース同期用の付加的な機能を設けなくてよい。このため、例えば、現行システム80から新システム90に移行する場合に、新システム90に当該移行のための余計な機能を追加しなくてよいという利点もある。 In this manner, database synchronization processing can be performed efficiently. By providing the update event handler 160 and the synchronization control unit 170 that perform database synchronization control on the first information processing device side, it is not necessary to provide an additional function for database synchronization on the second information processing device side. Therefore, for example, when migrating from the current system 80 to the new system 90, there is also the advantage that it is not necessary to add extra functions to the new system 90 for the migration.

なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体83に記録できる。 The information processing according to the first embodiment can be realized by causing the processing unit 12 to execute a program. Information processing according to the second embodiment can be realized by causing the CPU 101 to execute a program. The program can be recorded on a computer-readable recording medium 83 .

例えば、プログラムを記録した記録媒体83を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体83に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。 For example, the program can be distributed by distributing the recording medium 83 recording the program. Alternatively, the program may be stored in another computer and distributed via a network. The computer, for example, stores (installs) a program recorded on the recording medium 83 or a program received from another computer in a storage device such as the RAM 102 or HDD 103, reads the program from the storage device, and executes it. good.

5,6 ネットワーク
10 情報処理装置
11 記憶部
12 処理部
20 第1データベース群
30 第2データベース群
21,22,31,32 データベース
23 第1更新履歴
33 第2更新履歴
40,50 端末装置
5, 6 network 10 information processing device 11 storage unit 12 processing unit 20 first database group 30 second database group 21, 22, 31, 32 database 23 first update history 33 second update history 40, 50 terminal device

Claims (12)

コンピュータに、
複数の第1データベースに対する第1更新履歴および複数の第2データベースに対する第2更新履歴を所定の時間間隔で監視することで、何れかのデータベースにおいてデータの更新が行われたか否かを判定し、
前記更新が行われていると判定した場合に、前記更新が行われた前記データの属性および前記更新の検出元が前記第1更新履歴および前記第2更新履歴の何れであるかに応じて、前記複数の第1データベースのうちの同期元データベースと前記複数の第2データベースのうちの同期先データベースとの組、または、前記複数の第2データベースのうちの前記同期元データベースと前記複数の第1データベースのうちの前記同期先データベースとの組を特定し、
特定した前記同期元データベースから前記同期先データベースに対する前記データの同期処理の実行を指示する、
処理を実行させる情報処理プログラム。
to the computer,
By monitoring a first update history for a plurality of first databases and a second update history for a plurality of second databases at predetermined time intervals, it is determined whether or not data has been updated in any database,
When it is determined that the update has been performed, depending on whether the attribute of the updated data and the detection source of the update are the first update history or the second update history, A set of a synchronization source database out of the plurality of first databases and a synchronization destination database out of the plurality of second databases, or a set of the synchronization source database out of the plurality of second databases and the plurality of first databases Identifying a set of databases with the synchronization destination database,
instructing execution of synchronization processing of the data from the identified synchronization source database to the synchronization destination database;
An information processing program that causes a process to be executed.
前記同期元データベースと前記同期先データベースとの特定では、前記属性に対して前記複数の第1データベースに含まれるデータベースと前記複数の第2データベースに含まれる他のデータベースとの組を対応付けた同期制御情報に基づいて、前記同期元データベースと前記同期先データベースとを特定する、
請求項1記載の情報処理プログラム。
In specifying the synchronization source database and the synchronization destination database, synchronization in which a set of a database included in the plurality of first databases and another database included in the plurality of second databases is associated with the attribute identifying the synchronization source database and the synchronization destination database based on control information;
The information processing program according to claim 1.
前記同期元データベースと前記同期先データベースとの特定では、前記データの前記属性と前記更新を行った処理を示す識別情報とに応じて、前記同期元データベースに含まれる第1テーブルと前記同期先データベースに含まれる第2テーブルとを特定し、
前記同期処理の実行の指示では、特定した前記第1テーブルから前記第2テーブルに対する前記データの前記同期処理の実行を指示する、
請求項1記載の情報処理プログラム。
In specifying the synchronization source database and the synchronization destination database, a first table included in the synchronization source database and the synchronization destination database are selected according to the attribute of the data and identification information indicating the process that performed the update. identify the second table contained in
The instruction to execute the synchronization process instructs execution of the synchronization process of the data from the specified first table to the second table;
The information processing program according to claim 1.
前記第1テーブルと前記第2テーブルとの特定では、前記属性および前記識別情報に対して前記複数の第1データベースに含まれるデータベースのテーブルと前記複数の第2データベースに含まれる他のデータベースの他のテーブルとの組を対応付けた同期制御情報に基づいて、前記第1テーブルと前記第2テーブルとを特定する、
請求項3記載の情報処理プログラム。
In specifying the first table and the second table, for the attribute and the identification information, the table of the database included in the plurality of first databases and the other database included in the plurality of second databases. Identifying the first table and the second table based on the synchronization control information that associates the set with the table of
The information processing program according to claim 3.
前記同期元データベースと前記同期先データベースとの特定では、
前記更新の検出元が前記第1更新履歴の場合、前記データの前記属性に応じて、前記複数の第1データベースから前記同期元データベースを特定し、前記複数の第2データベースから前記同期先データベースを特定し、
前記更新の検出元が前記第2更新履歴の場合、前記データの前記属性に応じて、前記複数の第2データベースから前記同期元データベースを特定し、前記複数の第1データベースから前記同期先データベースを特定する、
請求項1記載の情報処理プログラム。
In specifying the synchronization source database and the synchronization destination database,
When the update detection source is the first update history, the synchronization source database is specified from the plurality of first databases according to the attribute of the data, and the synchronization destination database is selected from the plurality of second databases. identify,
When the update detection source is the second update history, the synchronization source database is specified from the plurality of second databases according to the attribute of the data, and the synchronization destination database is selected from the plurality of first databases. Identify,
The information processing program according to claim 1.
前記コンピュータに更に、
特定のユーザに関する要求により前記複数の第1データベースの何れかのデータベースの前記データが更新されたことを検出すると、当該データベースを前記同期元データベースとして、前記複数の第2データベースのうち、前記同期元データベースに対応する前記同期先データベースへの前記データの同期を、前記更新の監視のタイミングを待たずに実行する、
処理を実行させる請求項1記載の情報処理プログラム。
The computer further comprises:
when it is detected that the data in any one of the plurality of first databases has been updated by a request relating to a specific user, the database is set as the synchronization source database, and among the plurality of second databases, the synchronization source Synchronizing the data to the synchronization destination database corresponding to the database without waiting for the update monitoring timing;
2. The information processing program according to claim 1, which causes a process to be executed.
前記コンピュータに更に、
ユーザが利用するシステムの移行であって、前記複数の第1データベースを用いる第1システムから前記複数の第2データベースを用いる第2システムへの前記移行が完了すると、前記第1更新履歴の監視を停止する、
処理を実行させる請求項1記載の情報処理プログラム。
The computer further comprises:
migration of a system used by a user, wherein when the migration from the first system using the plurality of first databases to the second system using the plurality of second databases is completed, monitoring the first update history; Stop,
2. The information processing program according to claim 1, which causes a process to be executed.
前記同期処理の実行の指示では、前記更新の際に指定された前記属性の値をキーとするレコードを前記同期元データベースから前記同期先データベースに反映させる指示を行う、
請求項1記載の情報処理プログラム。
In the instruction to execute the synchronization process, an instruction is given to reflect the record whose key is the value of the attribute specified at the time of updating from the synchronization source database to the synchronization destination database;
The information processing program according to claim 1.
前記複数の第1データベースを備える装置および前記複数の第2データベースを備える他の装置は、第1ネットワークに接続され、
前記複数の第2データベースは、前記第1ネットワークに接続された第1端末により入力された情報により更新され、
前記複数の第1データベースは、前記第1ネットワークの外部の第2ネットワークを介して第2端末により入力された情報により更新される、
請求項1記載の情報処理プログラム。
a device comprising the plurality of first databases and another device comprising the plurality of second databases are connected to a first network;
said plurality of second databases are updated with information entered by a first terminal connected to said first network;
wherein said plurality of first databases are updated with information entered by a second terminal via a second network external to said first network;
The information processing program according to claim 1.
コンピュータが、
複数の第1データベースに対する第1更新履歴および複数の第2データベースに対する第2更新履歴を所定の時間間隔で監視することで、何れかのデータベースにおいてデータの更新が行われたか否かを判定し、
前記更新が行われていると判定した場合に、前記更新が行われた前記データの属性および前記更新の検出元が前記第1更新履歴および前記第2更新履歴の何れであるかに応じて、前記複数の第1データベースのうちの同期元データベースと前記複数の第2データベースのうちの同期先データベースとの組、または、前記複数の第2データベースのうちの前記同期元データベースと前記複数の第1データベースのうちの前記同期先データベースとの組を特定し、
特定した前記同期元データベースから前記同期先データベースに対する前記データの同期処理の実行を指示する、
情報処理方法。
the computer
By monitoring a first update history for a plurality of first databases and a second update history for a plurality of second databases at predetermined time intervals, it is determined whether or not data has been updated in any database,
When it is determined that the update has been performed, depending on whether the attribute of the updated data and the detection source of the update are the first update history or the second update history, A set of a synchronization source database out of the plurality of first databases and a synchronization destination database out of the plurality of second databases, or a set of the synchronization source database out of the plurality of second databases and the plurality of first databases Identifying a set of databases with the synchronization destination database,
instructing execution of synchronization processing of the data from the identified synchronization source database to the synchronization destination database;
Information processing methods.
複数の第1データベースに対する第1更新履歴および複数の第2データベースに対する第2更新履歴を所定の時間間隔で監視することで、何れかのデータベースにおいてデータの更新が行われたか否かを判定し、前記更新が行われていると判定した場合に、前記更新が行われた前記データの属性および前記更新の検出元が前記第1更新履歴および前記第2更新履歴の何れであるかに応じて、前記複数の第1データベースのうちの同期元データベースと前記複数の第2データベースのうちの同期先データベースとの組、または、前記複数の第2データベースのうちの前記同期元データベースと前記複数の第1データベースのうちの前記同期先データベースとの組を特定し、特定した前記同期元データベースから前記同期先データベースに対する前記データの同期処理の実行を指示する処理部、
を有する情報処理装置。
By monitoring a first update history for a plurality of first databases and a second update history for a plurality of second databases at predetermined time intervals, it is determined whether or not data has been updated in any database, When it is determined that the update has been performed, depending on whether the attribute of the updated data and the detection source of the update are the first update history or the second update history, A set of a synchronization source database out of the plurality of first databases and a synchronization destination database out of the plurality of second databases, or a set of the synchronization source database out of the plurality of second databases and the plurality of first databases a processing unit that identifies a set of databases with the synchronization destination database and instructs execution of synchronization processing of the data from the identified synchronization source database to the synchronization destination database;
Information processing device having
複数の第1データベースを管理する第1情報処理装置と、複数の第2データベースを管理する第2情報処理装置とを有し、
前記第1情報処理装置は、
複数の第1データベースに対する第1更新履歴および複数の第2データベースに対する第2更新履歴を所定の時間間隔で監視することで、何れかのデータベースにおいてデータの更新が行われたか否かを判定し、
前記更新が行われていると判定した場合に、前記更新が行われた前記データの属性および前記更新の検出元が前記第1更新履歴および前記第2更新履歴の何れであるかに応じて、前記複数の第1データベースのうちの同期元データベースと前記複数の第2データベースのうちの同期先データベースとの組、または、前記複数の第2データベースのうちの前記同期元データベースと前記複数の第1データベースのうちの前記同期先データベースとの組を特定し、
特定した前記同期元データベースから前記同期先データベースに対する前記データの同期処理の実行を指示する、
情報処理システム。
Having a first information processing device that manages a plurality of first databases and a second information processing device that manages a plurality of second databases,
The first information processing device is
By monitoring a first update history for a plurality of first databases and a second update history for a plurality of second databases at predetermined time intervals, it is determined whether or not data has been updated in any database,
When it is determined that the update has been performed, depending on whether the attribute of the updated data and the detection source of the update are the first update history or the second update history, A set of a synchronization source database out of the plurality of first databases and a synchronization destination database out of the plurality of second databases, or a set of the synchronization source database out of the plurality of second databases and the plurality of first databases Identifying a set of databases with the synchronization destination database,
instructing execution of synchronization processing of the data from the identified synchronization source database to the synchronization destination database;
Information processing system.
JP2021064857A 2021-04-06 2021-04-06 Information processing program, information processing method, information processing apparatus, and information processing system Pending JP2022160226A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021064857A JP2022160226A (en) 2021-04-06 2021-04-06 Information processing program, information processing method, information processing apparatus, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021064857A JP2022160226A (en) 2021-04-06 2021-04-06 Information processing program, information processing method, information processing apparatus, and information processing system

Publications (1)

Publication Number Publication Date
JP2022160226A true JP2022160226A (en) 2022-10-19

Family

ID=83657628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021064857A Pending JP2022160226A (en) 2021-04-06 2021-04-06 Information processing program, information processing method, information processing apparatus, and information processing system

Country Status (1)

Country Link
JP (1) JP2022160226A (en)

Similar Documents

Publication Publication Date Title
US9720954B2 (en) Systems, methods, and apparatuses for fixing logical or physical corruption in databases using LSM trees
US10162872B2 (en) System, method and computer program product for performing a synchronization of data
US8315977B2 (en) Data synchronization between a data center environment and a cloud computing environment
EP3428811A1 (en) Database interface agent for a tenant-based upgrade system
US7136883B2 (en) System for managing object storage and retrieval in partitioned storage media
US12032954B2 (en) Issue tracking system
US7644301B2 (en) Fault management system in multistage copy configuration
US20120150803A1 (en) Replication resynchronization
US20180329793A1 (en) Techniques and architectures for managing database failure in a single-node database architecture
US11023838B2 (en) Issue tracking systems and methods
US9461884B2 (en) Information management device and computer-readable medium recorded therein information management program
US11799839B2 (en) Cross-regional replication of keys
US9251189B2 (en) Update of data structure configured to store metadata associated with a database system
US7257705B2 (en) Method for preserving changes made during a migration of a system&#39;s configuration to a second configuration
JP2012155634A (en) Information processing program, information processing device and information processing method
JP2022160226A (en) Information processing program, information processing method, information processing apparatus, and information processing system
US11681682B2 (en) Data processing system and cache update control method
US11768741B2 (en) Replicating changes written by a transactional virtual storage access method
JP2022160804A (en) Information processing program, information processing method, and information processing apparatus
US20180060540A1 (en) Medidata clinical trial system integration with oracle coding system
US20160275293A1 (en) Information processing system and control method of the information processing system
US20180268374A1 (en) Electronic change planning manager
US11768813B1 (en) Data migration framework
US20180173805A1 (en) Application programming interface for detection and extraction of data changes
US20230273915A1 (en) Data conflict resolution in periodically offline systems