JP2018181042A - Record reflecting program, record reflecting device and record reflecting method - Google Patents

Record reflecting program, record reflecting device and record reflecting method Download PDF

Info

Publication number
JP2018181042A
JP2018181042A JP2017081294A JP2017081294A JP2018181042A JP 2018181042 A JP2018181042 A JP 2018181042A JP 2017081294 A JP2017081294 A JP 2017081294A JP 2017081294 A JP2017081294 A JP 2017081294A JP 2018181042 A JP2018181042 A JP 2018181042A
Authority
JP
Japan
Prior art keywords
record
records
database
data
generation
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
JP2017081294A
Other languages
Japanese (ja)
Inventor
裕鵬 椎木
Yuho Shiinoki
裕鵬 椎木
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 JP2017081294A priority Critical patent/JP2018181042A/en
Publication of JP2018181042A publication Critical patent/JP2018181042A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a record reflecting program, record reflecting device and record reflecting method that can reduce the processing load of a processor for performing a specific operation for reflection to a database.SOLUTION: The record reflecting device retrieves deleting records indicating an operation of deleting data stored in a database from a plurality of records included in a difference log for each primary key of the database in an order of earlier generation of records, retrieves adding records indicating an operation of adding data in an order of later generation of records, and reflects a plurality of records to the database based on the deleting records and adding records retrieved first for each primary key.SELECTED DRAWING: Figure 4

Description

本発明は、レコード反映プログラム、レコード反映装置およびレコード反映方法に関する。   The present invention relates to a record reflection program, a record reflection device, and a record reflection method.

データベースが利用される業務システム(以下、情報処理システムよも呼ぶ)において、例えば、利用者にサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、例えば、サービスの提供に用いられるデータを格納するデータベースを構成として含む業務システムの構築を行う。   In a business system (hereinafter also referred to as an information processing system) in which a database is used, for example, a business that provides a service to a user (hereinafter also referred to simply as a business) may, for example, Build a business system that includes a database that stores

上記のようなデータベースには、一般的に、行指向データベース(以下、行形式データベースとも呼ぶ)と、列指向データベース(以下、列形式データベースとも呼ぶ)とが含まれる。行指向データベースは、データベースに含まれるレコードごとに管理を行うデータベースであって、レコードごとのデータに対する操作を列指向データベースよりも高速に行うことが可能なデータベースである。一方、列指向データベースは、データベースに含まれる各項目に対応するデータごとに管理を行うデータベースであって、データベースに含まれる項目ごとのデータの参照を行指向データベースよりも高速に行うことが可能なデータベースである。   The above-described databases generally include a row-oriented database (hereinafter also referred to as a row format database) and a column-oriented database (hereinafter also referred to as a column format database). The row-oriented database is a database that manages each record included in the database, and is a database that can perform an operation on data of each record faster than a column-oriented database. On the other hand, a column-oriented database is a database that manages data corresponding to each item included in the database, and can refer to data of each item included in the database faster than a row-oriented database. It is a database.

そのため、事業者は、例えば、サービスの提供に伴ってレコードごとのデータに対する操作が頻繁に行われることが予測される場合、行指向データベースを構成として含む業務システムの構築を行う。また、事業者は、例えば、サービスの提供に伴ってデータベースに含まれる項目ごとのデータの参照が頻繁に行われることが予測される場合、列指向データベースを構成として含む業務システムの構築を行う(例えば、特許文献1乃至3参照)。   Therefore, for example, when it is predicted that operations on data for each record will be frequently performed along with provision of a service, the enterprise constructs a business system including a row-oriented database. Also, for example, when it is predicted that the data for each item included in the database will be frequently referred to along with the provision of the service, the enterprise constructs a business system including a column-oriented database (see FIG. See, for example, Patent Documents 1 to 3).

特開2015−064850号公報JP, 2015-064850, A 特開2012−155498号公報JP, 2012-155498, A 特開平9−101912号公報JP 9-101912 A

上記のようなサービスの提供に伴って取り扱われるデータ量は、年々増加傾向にある。そのため、業務システムでは、サービスの提供に伴って取り扱われるデータ量の増加によって、各処理の実行時間が制約時間を超過する可能性が高まっている。したがって、近年では、例えば、列指向データベースを用いた業務システムを稼働させる場合であっても、データに対する操作に要する時間を短縮する必要性が高まっている。   The amount of data handled in connection with the provision of such services tends to increase year by year. Therefore, in the business system, the increase in the amount of data handled as the service is provided increases the possibility that the execution time of each process exceeds the constraint time. Therefore, in recent years, for example, even in the case of operating a business system using a column-oriented database, there is an increasing need to reduce the time required for data manipulation.

そこで、業務システムでは、例えば、データベースに格納されたデータに対する複数の操作が纏めて行われる場合、複数の操作のうち、データの整合性を確保するためにデータベースに対して最低限行う必要がある操作の特定を行う。これにより、業務システムは、複数の操作の全てをデータベースに対して行う必要がなくなり、データに対する操作に要する時間を短縮することが可能になる。   Therefore, in a business system, for example, when a plurality of operations on data stored in a database are collectively performed, it is necessary to perform at least the database in order to ensure data consistency among the plurality of operations. Identify the operation. As a result, the business system does not have to perform all of the plurality of operations on the database, and it is possible to reduce the time required for the operation on data.

しかしながら、データベースに対して最低限行う必要がある操作の特定は、複数の操作の全てを参照する必要があるため、業務システムにおける処理負担を大きくする場合がある。そのため、業務システムでは、データベースに対して最低限行う必要がある操作の特定に伴う処理負担が大きい場合、業務システムにおいて並行して行われる他の処理に遅延等の影響が及ぶ可能性がある。   However, since the specification of the minimum required operation to the database needs to refer to all the plurality of operations, the processing load on the business system may be increased. Therefore, in the business system, when the processing load involved in specifying the minimum required operation for the database is large, other processes performed in parallel in the business system may be affected by delays or the like.

これに対し、業務システムでは、例えば、データベースに対して最低限行う必要がある操作を特定する処理を、CPU(Central Processing Unit)とは異なる他のプロセッサ(例えば、アクセラレータ)に分担させる場合がある。   On the other hand, in a business system, for example, processing for specifying an operation that needs to be performed at least in a database may be shared by another processor (for example, an accelerator) different from a CPU (Central Processing Unit). .

しかしながら、他のプロセッサに処理の分担を行う場合であっても、他のプロセッサにおける処理負担が大きい場合、業務システムでは、各処理の実行を制約時間内に行うことができない可能性がある。   However, even if processing is shared among other processors, if the processing load on the other processors is large, the business system may not be able to execute each processing within the restricted time.

そこで、一つの側面では、本発明は、データベースに反映する操作の特定を行うプロセッサの処理負担を軽減することを可能とするレコード反映プログラム、レコード反映装置およびレコード反映方法を提供することを目的とする。   Therefore, in one aspect, the present invention has an object to provide a record reflection program, a record reflection device, and a record reflection method, which can reduce the processing load on a processor that specifies an operation to be reflected in a database. Do.

実施の形態の一態様では、コンピュータに、差分ログに含まれる複数のレコードを前記コンピュータのプロセッサと異なるプロセッサである特定のプロセッサに読み込ませ、前記特定のプロセッサにおいて、前記データベースのプライマリーキーごとに、前記複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、処理を実行させる。   In one aspect of the embodiment, the computer is caused to read a plurality of records included in the difference log into a specific processor which is a processor different from the processor of the computer, and in the specific processor, for each primary key of the database, From the plurality of records, a deletion record indicating an operation to delete data stored in the database is searched in the order of early generation of the record, and an addition record indicating an operation to add the data is arranged in order of late generation of the record A process of reflecting the plurality of records on the database based on the deleted record and the additional record for each primary key searched first is searched.

一つの側面によれば、データベースに反映する操作の特定を行うプロセッサの処理負担を軽減することを可能とする。   According to one aspect, it is possible to reduce the processing load of a processor that specifies an operation to be reflected in a database.

図1は、情報処理システム10の構成を示す図である。FIG. 1 is a diagram showing the configuration of an information processing system 10. 図2は、情報処理装置1のハードウエア構成を示す図である。FIG. 2 is a diagram showing a hardware configuration of the information processing apparatus 1. 図3は、情報処理装置1の機能ブロック図である。FIG. 3 is a functional block diagram of the information processing apparatus 1. 図4は、第1の実施の形態におけるDB反映処理の概略を説明するフローチャート図である。FIG. 4 is a flowchart for explaining the outline of the DB reflection process according to the first embodiment. 図5は、第1の実施の形態におけるDB反映処理の概略を説明する図である。FIG. 5 is a diagram for explaining an outline of the DB reflection process in the first embodiment. 図6は、第1の実施の形態におけるDB反映処理の詳細を説明するフローチャート図である。FIG. 6 is a flowchart for explaining the details of the DB reflection process in the first embodiment. 図7は、第1の実施の形態におけるDB反映処理の詳細を説明するフローチャート図である。FIG. 7 is a flowchart illustrating the details of the DB reflection process according to the first embodiment. 図8は、第1の実施の形態におけるDB反映処理の詳細を説明するフローチャート図である。FIG. 8 is a flowchart for explaining the details of the DB reflection process in the first embodiment. 図9は、第1の実施の形態におけるDB反映処理の詳細を説明するフローチャート図である。FIG. 9 is a flowchart illustrating the details of the DB reflection process according to the first embodiment. 図10は、第1の実施の形態におけるDB反映処理の詳細を説明するフローチャート図である。FIG. 10 is a flowchart for explaining the details of the DB reflection process in the first embodiment. 図11は、第1の実施の形態におけるDB反映処理の詳細を説明するフローチャート図である。FIG. 11 is a flowchart for explaining the details of the DB reflection process in the first embodiment. 図12は、差分ログ131の具体例を説明する図である。FIG. 12 is a diagram for explaining a specific example of the difference log 131. 図13は、生成順が付加された差分ログ131の具体例を説明する図である。FIG. 13 is a diagram for explaining a specific example of the difference log 131 to which the generation order is added. 図14は、部分レコードの具体例を説明する図である。FIG. 14 is a diagram for explaining a specific example of the partial record. 図15は、FPGAによるS23およびS24の処理の具体例を説明する図である。FIG. 15 is a diagram for explaining a specific example of the processes of S23 and S24 by the FPGA. 図16は、FPGAによるS23およびS24の処理の具体例を説明する図である。FIG. 16 is a diagram for explaining a specific example of the processes of S23 and S24 by the FPGA. 図17は、FPGAによるS23およびS24の処理の具体例を説明する図である。FIG. 17 is a diagram for explaining a specific example of the processes of S23 and S24 by the FPGA. 図18は、第2の実施の形態における情報処理装置1のハードウエア構成を示す図である。FIG. 18 is a diagram showing a hardware configuration of the information processing device 1 in the second embodiment. 図19は、第2の実施の形態における情報処理装置1の機能ブロック図である。FIG. 19 is a functional block diagram of the information processing device 1 in the second embodiment. 図20は、第2の実施の形態におけるDB反映処理を説明するフローチャート図である。FIG. 20 is a flowchart for explaining the DB reflection process in the second embodiment. 図21は、第2の実施の形態におけるDB反映処理を説明するフローチャート図である。FIG. 21 is a flowchart for explaining the DB reflection process in the second embodiment.

[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成を示す図である。図1に示す情報処理システム10は、例えば、情報処理装置1(以下、反映装置1とも呼ぶ)と、複写元処理装置2と、複写元記憶装置2a(以下、複写元データベース2aとも呼ぶ)と、複写先処理装置3と、複写先記憶装置3a(以下、複写先データベース3a)とを有する。
[Information processing system configuration]
First, the configuration of the information processing system 10 will be described. FIG. 1 is a diagram showing the configuration of an information processing system 10. An information processing system 10 shown in FIG. 1 includes, for example, an information processing apparatus 1 (hereinafter also referred to as a reflection apparatus 1), a copy source processing apparatus 2, and a copy source storage apparatus 2a (hereinafter also referred to as a copy source database 2a). And a copy destination processing device 3 and a copy destination storage device 3a (hereinafter, copy destination database 3a).

複写元処理装置2は、例えば、事業者が利用者に対してサービスを提供するための処理を行う。そして、複写元処理装置2は、例えば、利用者に対するサービスの提供に用いられるデータ(レコード)を必要に応じて複写元データベース2aに格納する。また、複写元処理装置2は、例えば、複写元データベース2aに格納されたデータを必要に応じて参照する。   In the copy source processing device 2, for example, the business operator performs processing for providing a service to the user. Then, the copy source processing device 2 stores, for example, data (record) used for providing the service to the user in the copy source database 2 a as needed. Further, the copy source processing device 2 refers to, for example, data stored in the copy source database 2 a as needed.

複写先処理装置3は、例えば、複写先データベース3aに格納されたデータを参照し、複写先データベース3aに格納されたデータの解析を行う。以下、複写先データベース3aが列指向データベースであるものとして説明を行う。   The copy destination processing device 3 analyzes the data stored in the copy destination database 3a, for example, by referring to the data stored in the copy destination database 3a. The following description will be made on the assumption that the copy destination database 3a is a column oriented database.

情報処理装置1は、例えば、複写先データベース3aに格納されたデータの解析が行われる前に、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期を行う。具体的に、情報処理装置1は、複写元データベース2aを参照し、前回同期が行われてから現在までの間に複写元データベース2aに対して行われたデータに対する操作の内容を示すログ(以下、差分ログとも呼ぶ)を取得する。そして、情報処理装置1は、取得した差分ログに含まれる複数のレコードが示す操作のそれぞれを、複写先データベース3aに格納されたデータに対して行う。なお、以下、データに対する操作の内容には、データの追加、データの削除およびデータの更新が含まれるものとする。   For example, before the information stored in the copy destination database 3a is analyzed, the information processing apparatus 1 may compare the content of the data stored in the copy source database 2a with the content of the data stored in the copy destination database 3a. Synchronize. Specifically, the information processing apparatus 1 refers to the copy source database 2a, and indicates the contents of the operation on the data performed on the copy source database 2a from the previous synchronization to the present (see below , Also called difference log). Then, the information processing device 1 performs each of the operations indicated by the plurality of records included in the acquired difference log on the data stored in the copy destination database 3a. Hereinafter, the content of the operation on data includes addition of data, deletion of data, and update of data.

ここで、情報処理装置1は、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期を、予め定められた時間内に行う必要がある場合がある。そのため、情報処理装置1は、例えば、複写先データベース3aが列指向データベースである場合であっても、複写先データベース3aに対する差分ログの内容(レコードの内容)の反映を短時間で行う必要がある場合がある。   Here, there is a case where the information processing apparatus 1 needs to synchronize the content of the data stored in the copy source database 2a and the content of the data stored in the copy destination database 3a within a predetermined time. is there. Therefore, even if the copy destination database 3a is a column-oriented database, for example, the information processing apparatus 1 needs to reflect the contents of the difference log (the contents of the record) on the copy destination database 3a in a short time. There is a case.

これに対し、情報処理装置1では、例えば、複写先データベース3aに格納されたデータの更新を行うための複数の操作が纏めて行われる場合、複数の操作のうち、データの整合性を確保するために複写先データベース3aに対して最低限行う必要がある操作の特定を行う。これにより、情報処理装置1は、複数の操作の全てを複写先データベース3aに対して行う必要がなくなり、データの更新に要する時間を短縮することが可能になる。   On the other hand, in the information processing apparatus 1, for example, when a plurality of operations for updating data stored in the copy destination database 3a are collectively performed, data consistency among the plurality of operations is ensured. In order to identify the minimum required operation to be performed on the copy destination database 3a. As a result, the information processing apparatus 1 does not have to perform all of the plurality of operations on the copy destination database 3a, and the time required to update data can be shortened.

しかしながら、複写先データベース3aに対して最低限行う必要がある操作を特定するための処理負担(例えば、情報処理装置1において動作するCPUの処理負担)が大きい場合、情報処理装置1において並行して行われる他の処理に遅延等の影響が及ぶ可能性がある。   However, when the processing load (for example, the processing load of the CPU operating in the information processing apparatus 1) for identifying the operation that needs to be performed at least on the copy destination database 3a is large, Other processes to be performed may be affected by delays and the like.

そこで、本実施の形態における情報処理装置1のCPUは、差分ログに含まれる複数のレコードをCPU(情報処理装置1のプロセッサ)と異なるプロセッサである特定のプロセッサに読み込ませる。   Therefore, the CPU of the information processing device 1 according to the present embodiment causes a specific processor that is a processor different from the CPU (processor of the information processing device 1) to read a plurality of records included in the difference log.

そして、情報処理装置1の特定のプロセッサは、複写先データベース3aのプライマリーキーごとに、差分ログに含まれる複数のレコードから、複写先データベース3aに格納されたデータの削除を行う操作を示すレコード(以下、削除レコードとも呼ぶ)をレコードの生成が早い順に探索する。また、情報処理装置1の特定のプロセッサは、複写先データベース3aのプライマリーキーごとに、差分ログに含まれる複数のレコードから、複写先データベース3aに格納されたデータの追加を行う操作を示すレコード(以下、追加レコードとも呼ぶ)をレコードの生成が遅い順に探索する。   Then, a specific processor of the information processing apparatus 1 indicates an operation for deleting data stored in the copy destination database 3a from a plurality of records included in the difference log for each primary key of the copy destination database 3a Hereinafter, the search is also called “deleted record” in the order of early generation of the record. In addition, a specific processor of the information processing device 1 is a record indicating an operation of adding data stored in the copy destination database 3a from a plurality of records included in the difference log for each primary key of the copy destination database 3a Hereinafter, additional records are also searched in the order in which the generation of the records is late.

具体的に、特定のプロセッサは、データの更新に対応するレコードが、データの削除に対応するレコード(更新前のデータの削除に対応するレコード)とデータの追加に対応するレコード(更新後のデータの追加に対応するレコード)とをそれぞれ含むものとして取り扱う。そのため、特定のプロセッサでは、削除レコードおよび追加レコードのそれぞれに、データの更新に対応するレコードを含める。したがって、特定のプロセッサは、データの削除およびデータの更新に対応するレコードを削除レコードとして複数のレコードの探索を行う。また、特定のプロセッサは、データの追加およびデータの更新に対応するレコードを追加レコードとして複数のレコードの探索を行う。   Specifically, in a particular processor, a record corresponding to data update is a record corresponding to deletion of data (a record corresponding to deletion of data before update) and a record corresponding to addition of data (data after update) Treat as including the records corresponding to the addition of Therefore, in a specific processor, each of the deletion record and the addition record includes a record corresponding to data update. Therefore, a particular processor searches for a plurality of records with the record corresponding to data deletion and data update as a deletion record. In addition, a specific processor searches a plurality of records by using records corresponding to data addition and data update as additional records.

その後、情報処理装置1のCPUは、最初に探索されたプライマリーキーごとの削除レコードと追加レコードとに基づき、複写先データベース3aに対する複数のレコードの反映を行う。   Thereafter, the CPU of the information processing device 1 reflects a plurality of records on the copy destination database 3a based on the deletion record and the addition record for each primary key which are searched first.

すなわち、情報処理装置1では、差分ログに含まれる複数のレコードを複写先データベース3aに反映する際に行われる処理のうち、削除レコードおよび追加レコードの探索をCPUと異なる特定のプロセッサに行わせる。   That is, in the information processing apparatus 1, among the processes performed when reflecting a plurality of records included in the difference log in the copy destination database 3a, the specific processor different from the CPU searches for the deletion record and the addition record.

これにより、情報処理装置1は、CPUが実行する他の処理に対する影響を抑えながら、差分ログに含まれる複数のレコードが示す内容を複写先データベース3aに反映することが可能になる。   Thus, the information processing apparatus 1 can reflect the contents indicated by the plurality of records included in the difference log on the copy destination database 3a while suppressing the influence on other processes executed by the CPU.

また、情報処理装置1(特定のプロセッサ)は、特定のプライマリーキーに対応する削除レコードが複数存在する場合、特定のプライマリーキーに対応する削除レコードの1つのみを複写先データベース3aに反映させることによって、複写先データベース3aから、特定のプライマリーキーに対応する最初の状態のデータを削除することが可能になる。そのため、情報処理装置1は、例えば、特定のプライマリーキーに対応する削除レコードのうち、生成順が最も早い削除レコードのみを複写先データベース3aに反映することで、生成順が最も早い削除レコード以外の削除レコードの反映を行う必要がなくなる。   Further, when there are a plurality of deletion records corresponding to a specific primary key, the information processing apparatus 1 (specific processor) reflects only one of the deletion records corresponding to the specific primary key in the copy destination database 3a. As a result, it is possible to delete data of the initial state corresponding to a specific primary key from the copy destination database 3a. Therefore, the information processing device 1, for example, reflects only the deletion record with the earliest generation order among the deletion records corresponding to the specific primary key, to the copy destination database 3a, so that other than the deletion record with the earliest generation order. There is no need to reflect deleted records.

さらに、情報処理装置1は、特定のプライマリーキーに対応する追加レコードが複数存在する場合、特定のプライマリーキーに対応する追加レコードのうち、最後の追加レコードのみを複写先データベース3aに反映させることによって、複写先データベース3aの状態を、特定のプライマリーキーに対応する追加レコードの全てを反映させた場合と同じ状態にすることが可能になる。そのため、情報処理装置1は、生成順が最も遅い追加レコードのみを複写先データベース3aに反映することで、生成順が最も遅い追加レコード以外の追加レコードの反映を行う必要がなくなる。   Further, when there are a plurality of additional records corresponding to a specific primary key, the information processing apparatus 1 reflects only the last additional record among the additional records corresponding to the specific primary key in the copy destination database 3a. The state of the copy destination database 3a can be made the same as the case where all of the additional records corresponding to the specific primary key are reflected. Therefore, the information processing apparatus 1 need not reflect additional records other than the slowest-ordered addition record by reflecting only the slowest-ordering additional record in the copy destination database 3a.

これにより、情報処理装置1は、差分ログの内容を複写先データベース3aに反映させる際に、差分ログに含まれる複数のレコードの全てを複写先データベース3aに対して反映する必要がなくなる。そのため、情報処理装置1は、差分ログの内容の複写先データベース3aに対する反映に要する処理負担(特定のプロセッサの処理負担)を軽減させることが可能になる。   As a result, when the information processing apparatus 1 reflects the contents of the difference log in the copy destination database 3a, it is not necessary to reflect all of the plurality of records included in the difference log in the copy destination database 3a. Therefore, the information processing apparatus 1 can reduce the processing load (processing load of a specific processor) required for reflecting the contents of the difference log on the copy destination database 3a.

なお、特定のプロセッサがパイプライン処理を高速に行うことが可能なプロセッサ(例えば、アクセラレータの一種であるFPGA(Field Programmable Gate Array))である場合、特定のプロセッサは、削除レコードおよび追加レコードの探索を、プライマリーキーごとのパイプライン処理によってそれぞれ高速に行うことが可能になる。   If the particular processor is a processor capable of performing pipeline processing at high speed (for example, an FPGA (Field Programmable Gate Array) which is a type of accelerator), the particular processor searches for deletion records and addition records. Can be performed at high speed by pipeline processing for each primary key.

[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図2は、情報処理装置1のハードウエア構成を示す図である。
[Hardware configuration of information processing system]
Next, the hardware configuration of the information processing system 10 will be described. FIG. 2 is a diagram showing a hardware configuration of the information processing apparatus 1.

情報処理装置1は、プロセッサであるCPU101と、メモリ102(以下、第1メモリ102とも呼ぶ)と、外部インターフェース(以下、I/Oユニットとも呼ぶ)103と、記憶媒体104と、アクセラレータ105と、メモリ106(以下、第2メモリ106とも呼ぶ)を有する。各部は、バス107を介して互いに接続される。なお、以下、特定のプロセッサがアクセラレータ105であるものとして説明を行う。   The information processing apparatus 1 includes a CPU 101 as a processor, a memory 102 (hereinafter also referred to as a first memory 102), an external interface (hereinafter also referred to as an I / O unit) 103, a storage medium 104 and an accelerator 105. A memory 106 (hereinafter also referred to as a second memory 106) is included. The respective parts are connected to one another via a bus 107. The following description will be made on the assumption that the specific processor is the accelerator 105.

記憶媒体104は、例えば、記憶媒体104内のプログラム格納領域(図示しない)に、差分ログに含まれる複数のレコードを複写先データベース3aに反映する処理(以下、DB反映処理とも呼ぶ)を行うためのプログラム110を記憶する。また、記憶媒体104は、例えば、DB反映処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。   The storage medium 104 performs, for example, processing of reflecting a plurality of records included in the difference log in the copy destination database 3a in a program storage area (not shown) in the storage medium 104 (hereinafter also referred to as DB reflection processing). Program 110 is stored. Further, the storage medium 104 has, for example, an information storage area 130 (hereinafter, also referred to as a storage unit 130) for storing information used when performing the DB reflection process.

CPU101は、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働してDB反映処理を行う。   When executing the program 110, the CPU 101 loads the program 110 from the storage medium 104 to the memory 102 and cooperates with the program 110 to perform DB reflection processing.

アクセラレータ105は、CPU101が実行する処理の一部を分担して担うプロセッサであり、プログラム110の実行時に、プログラム110(例えば、プログラム110の一部)を記憶媒体104からメモリ106にロードし、プログラム110と協働してDB反映処理(例えば、DB反映処理の一部)を行う。具体的に、アクセラレータ105は、例えば、FPGAやASIC(Application Specific Integrated Circuit)等であってよい。   The accelerator 105 is a processor responsible for sharing a part of the processing executed by the CPU 101, loads the program 110 (for example, a part of the program 110) from the storage medium 104 to the memory 106 when the program 110 is executed. In cooperation with 110, DB reflection processing (for example, part of DB reflection processing) is performed. Specifically, the accelerator 105 may be, for example, an FPGA or an application specific integrated circuit (ASIC).

また、外部インターフェース103は、例えば、複写元データベース2aおよび複写先データベース3aと通信を行う。   Further, the external interface 103 communicates with, for example, the copy source database 2a and the copy destination database 3a.

[情報処理システムの機能]
次に、情報処理システム10の機能について説明する。図3は、情報処理装置1の機能ブロック図である。
[Function of information processing system]
Next, the functions of the information processing system 10 will be described. FIG. 3 is a functional block diagram of the information processing apparatus 1.

情報処理装置1のCPU101は、プログラム110と協働することにより、例えば、差分ログ取得部111と、ログ管理部112と、レコード格納部113と、レコード反映部114として動作する。また、情報処理装置1のアクセラレータ105は、プログラム110と協働することにより、例えば、レコード探索部121として動作する。さらに、情報格納領域130には、例えば、差分ログ131と、第1生成順情報132と、第2生成順情報133とが記憶される。   The CPU 101 of the information processing apparatus 1 operates as, for example, the difference log acquisition unit 111, the log management unit 112, the record storage unit 113, and the record reflection unit 114 by cooperating with the program 110. Further, the accelerator 105 of the information processing apparatus 1 operates as, for example, the record search unit 121 by cooperating with the program 110. Furthermore, in the information storage area 130, for example, a difference log 131, first generation order information 132, and second generation order information 133 are stored.

CPU101の差分ログ取得部111は、例えば、定期的なタイミングで複写元データベース2aから差分ログ131を取得する。具体的に、複写先データベース3aに格納されたデータの解析が1日1回行われる場合、差分ログ取得部111は、複写元データベース2aからの差分ログ131の取得を1日1回行うものであってよい。そして、CPU101のログ管理部112は、例えば、差分ログ取得部111が取得した差分ログ131を情報格納領域130に記憶する。   For example, the difference log acquisition unit 111 of the CPU 101 acquires the difference log 131 from the copy source database 2a at regular timing. Specifically, when analysis of data stored in the copy destination database 3a is performed once a day, the difference log acquisition unit 111 performs acquisition of the difference log 131 from the copy source database 2a once a day. May be there. Then, the log management unit 112 of the CPU 101 stores, for example, the difference log 131 acquired by the difference log acquisition unit 111 in the information storage area 130.

CPU101のレコード格納部113は、差分ログ131をCPU101と異なるプロセッサであるアクセラレータ105に読み込ませる。具体的に、レコード格納部113は、例えば、アクセラレータ105がアクセス可能なメモリ106に差分ログ131を記憶する。   The record storage unit 113 of the CPU 101 causes the accelerator 105, which is a processor different from the CPU 101, to read the difference log 131. Specifically, the record storage unit 113 stores, for example, the difference log 131 in the memory 106 accessible by the accelerator 105.

アクセラレータ105のレコード探索部121は、複写先データベース3aのプライマリーキーごとに、メモリ106に記憶された差分ログ131に含まれる複数のレコードから、レコードの生成が早い順に削除レコードの探索を行う。そして、レコード探索部121は、複写先データベース3aのプライマリーキーごとに、差分ログ131に含まれる複数のレコードにおいて最初に探索された削除レコードをそれぞれ特定する。   The record search unit 121 of the accelerator 105 searches for deleted records in the order of record generation from the plurality of records included in the difference log 131 stored in the memory 106, for each primary key of the copy destination database 3a. Then, the record search unit 121 specifies, for each of the primary keys of the copy destination database 3a, the deletion record first searched for in the plurality of records included in the difference log 131.

また、レコード探索部121は、複写先データベース3aのプライマリーキーごとに、例えば、メモリ106に記憶された差分ログ131に含まれる複数のレコードから、レコードの生成が遅い順に追加レコードの探索を行う。そして、レコード探索部121は、複写先データベース3aのプライマリーキーごとに、差分ログ131に含まれる複数のレコードにおいて最初に探索された追加レコードをそれぞれ特定する。   In addition, the record search unit 121 searches for additional records in the order of late record generation, for example, from a plurality of records included in the difference log 131 stored in the memory 106 for each primary key of the copy destination database 3a. Then, the record search unit 121 specifies, for each of the primary keys of the copy destination database 3a, the first additional record searched for in the plurality of records included in the difference log 131.

さらに、レコード探索部121は、例えば、特定した削除レコードと追加レコードを示す情報を第1メモリ102に記憶する。具体的に、レコード探索部121は、特定した削除レコードを示す情報である第1生成順情報132と、特定した追加レコードを示す情報である第2生成順情報133とを第1メモリ102に記憶する。なお、レコード探索部121は、例えば、第1生成順情報132と第2生成順情報133とを情報格納領域130に記憶するものであってもよい。   Furthermore, the record search unit 121 stores, for example, information indicating the identified deletion record and the additional record in the first memory 102. Specifically, the record search unit 121 stores, in the first memory 102, the first generation order information 132, which is information indicating the identified deletion record, and the second generation order information 133, which is information indicating the identified additional record. Do. The record search unit 121 may store, for example, the first generation order information 132 and the second generation order information 133 in the information storage area 130.

その後、CPU101のレコード反映部114は、レコード探索部121によって第1メモリ102に記憶された情報が示す削除レコードと追加レコードとに基づき、複写先データベース3aに対する複数のレコードの反映を行う。   Thereafter, the record reflecting unit 114 of the CPU 101 reflects a plurality of records on the copy destination database 3a based on the deletion record and the additional record indicated by the information stored in the first memory 102 by the record searching unit 121.

[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明を行う。図4は、第1の実施の形態におけるDB反映処理の概略を説明するフローチャート図である。図5は、第1の実施の形態におけるDB反映処理の概略を説明する図である。図5を参照しながら、図4に示す第1の実施の形態におけるDB反映処理の概略について説明を行う。
[Outline of the First Embodiment]
Next, an outline of the first embodiment will be described. FIG. 4 is a flowchart for explaining the outline of the DB reflection process according to the first embodiment. FIG. 5 is a diagram for explaining an outline of the DB reflection process in the first embodiment. The outline of the DB reflection process in the first embodiment shown in FIG. 4 will be described with reference to FIG.

情報処理装置1は、図4に示すように、差分反映タイミングまで待機する(S1のNO)。差分反映タイミングは、例えば、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期を行うタイミングである。そして、差分反映タイミングになった場合(S1のYES)、情報処理装置1は、図5に示すように、差分ログ131に含まれる複数のレコードをCPU101と異なるプロセッサであるアクセラレータ105に読み込ませる(S2)。   As shown in FIG. 4, the information processing apparatus 1 stands by until the difference reflection timing (NO in S1). The difference reflection timing is, for example, timing for synchronizing the content of data stored in the copy source database 2a with the content of data stored in the copy destination database 3a. Then, when the difference reflection timing comes (YES in S1), the information processing device 1 causes the accelerator 105, which is a processor different from the CPU 101, to read a plurality of records included in the difference log 131 as shown in FIG. S2).

すなわち、情報処理装置1では、差分ログに含まれる複数のレコードを複写先データベース3aに反映する際に行われる処理のうち、処理負担の大きい削除レコードおよび追加レコードの探索をアクセラレータ105に行わせる。   That is, in the information processing apparatus 1, the accelerator 105 is made to search for a deletion record and an addition record with a large processing load among the processes performed when reflecting a plurality of records included in the difference log in the copy destination database 3a.

これにより、情報処理装置1は、CPU101が実行する他の処理に対する影響を抑えながら、差分ログ131に含まれる複数のレコードが示す内容を複写先データベース3aに反映することが可能になる。   As a result, the information processing apparatus 1 can reflect the contents indicated by a plurality of records included in the difference log 131 on the copy destination database 3a while suppressing the influence on other processes executed by the CPU 101.

続いて、情報処理装置1は、図5に示すように、アクセラレータ105において、複写先データベース3aのプライマリーキーごとに、差分ログ131に含まれる複数のレコードから、レコードの生成順が早い順に削除レコードの探索を行う(S3)。また、情報処理装置1は、図5に示すように、アクセラレータ105において、複写先データベース3aのプライマリーキーごとに、差分ログ131に含まれる複数のレコードから、レコードの生成順が遅い順に追加レコードの探索を行う(S4)。   Subsequently, as illustrated in FIG. 5, the information processing apparatus 1 deletes the delete records in the order of record generation from the plurality of records included in the difference log 131 in the accelerator 105 for each primary key of the copy destination database 3a. Search for (S3). In addition, as shown in FIG. 5, the information processing apparatus 1 causes the accelerator 105 to add additional records in the order of late record generation from the plurality of records included in the difference log 131 for each primary key of the copy destination database 3a. A search is performed (S4).

その後、情報処理装置1は、図5に示すように、S3およびS4の処理で最初に探索されたプライマリーキーごとの削除レコードと追加レコードとに基づき、複写先データベース3aに対する複数のレコードの反映を行う(S5)。   Thereafter, as shown in FIG. 5, the information processing apparatus 1 reflects the plurality of records on the copy destination database 3a based on the deletion record and the addition record for each primary key searched first in the processing of S3 and S4. Perform (S5).

すなわち、情報処理装置1(アクセラレータ105)は、特定のプライマリーキーに対応する削除レコードが複数存在する場合、特定のプライマリーキーに対応する削除レコードの1つのみを複写先データベース3aに反映させることによって、複写先データベース3aから、特定のプライマリーキーに対応する最初の状態のデータを削除することが可能になる。そのため、情報処理装置1は、例えば、特定のプライマリーキーに対応する削除レコードのうち、生成順が最も早い削除レコードのみを複写先データベース3aに反映することで、生成順が最も早い削除レコード以外の削除レコードの反映を行う必要がなくなる。   That is, when there are a plurality of deletion records corresponding to a specific primary key, the information processing apparatus 1 (accelerator 105) reflects only one of the deletion records corresponding to the specific primary key in the copy destination database 3a. It is possible to delete data of the initial state corresponding to a specific primary key from the copy destination database 3a. Therefore, the information processing device 1, for example, reflects only the deletion record with the earliest generation order among the deletion records corresponding to the specific primary key, to the copy destination database 3a, so that other than the deletion record with the earliest generation order. There is no need to reflect deleted records.

また、情報処理装置1は、特定のプライマリーキーに対応する追加レコードが複数存在する場合、特定のプライマリーキーに対応する追加レコードのうち、最後の追加レコードのみを複写先データベース3aに反映させることによって、複写先データベース3aの状態を、特定のプライマリーキーに対応する追加レコードの全てを反映させた場合と同じ状態にすることが可能になる。そのため、情報処理装置1は、生成順が最も遅い追加レコードのみを複写先データベース3aに反映することで、生成順が最も遅い追加レコード以外の追加レコードの反映を行う必要がなくなる。   Further, when there are a plurality of additional records corresponding to a specific primary key, the information processing apparatus 1 reflects only the last additional record among the additional records corresponding to the specific primary key in the copy destination database 3a. The state of the copy destination database 3a can be made the same as the case where all of the additional records corresponding to the specific primary key are reflected. Therefore, the information processing apparatus 1 need not reflect additional records other than the slowest-ordered addition record by reflecting only the slowest-ordering additional record in the copy destination database 3a.

これにより、情報処理装置1は、差分ログの内容を複写先データベース3aに反映させる際に、差分ログに含まれる複数のレコードの全てを複写先データベース3aに対して反映する必要がなくなる。そのため、情報処理装置1は、差分ログの内容の複写先データベース3aに対する反映に要する処理負担を軽減させることが可能になる。   As a result, when the information processing apparatus 1 reflects the contents of the difference log in the copy destination database 3a, it is not necessary to reflect all of the plurality of records included in the difference log in the copy destination database 3a. Therefore, the information processing apparatus 1 can reduce the processing load required for reflecting the contents of the difference log on the copy destination database 3a.

[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図6から図11は、第1の実施の形態におけるDB反映処理の詳細を説明するフローチャート図である。また、図12から図17は、第1の実施の形態におけるDB反映処理の詳細を説明する図である。図12から図17を参照しながら、図6から図11に示すDB反映処理の詳細を説明する。
[Details of the First Embodiment]
Next, the details of the first embodiment will be described. 6 to 11 are flowcharts for explaining the details of the DB reflection process in the first embodiment. 12 to 17 are diagrams for explaining the details of the DB reflection process in the first embodiment. The details of the DB reflection process shown in FIGS. 6 to 11 will be described with reference to FIGS. 12 to 17.

[差分ログ取得処理]
初めに、複写元データベース2aから差分ログ131を取得する処理(以下、差分ログ取得処理)について説明を行う。図6は、差分ログ取得処理を説明するフローチャート図である。
[Differential log acquisition process]
First, the process of acquiring the difference log 131 from the copy source database 2a (hereinafter, difference log acquisition process) will be described. FIG. 6 is a flowchart illustrating the difference log acquisition process.

CPU101の差分ログ取得部111は、差分ログ取得タイミングになるまで待機する(S101のNO)。差分ログ取得タイミングは、例えば、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期が行われるタイミングよりも前のタイミングである。具体的に、差分ログ取得タイミングは、例えば、事業者が予め定めたタイミングであってよい。   The difference log acquisition unit 111 of the CPU 101 waits until the difference log acquisition timing comes (NO in S101). The difference log acquisition timing is, for example, a timing before the timing at which the content of data stored in the copy source database 2a and the content of data stored in the copy destination database 3a are synchronized. Specifically, the differential log acquisition timing may be, for example, a timing predetermined by the business operator.

そして、差分ログ取得タイミングになった場合(S101のYES)、差分ログ取得部111は、複写元データベース2aから差分ログ131を取得する(S102)。そして、CPU101のログ管理部112は、S12の処理で取得した差分ログ131を情報格納領域130に記憶する(S103)。以下、差分ログ131の具体例について説明を行う。   When the differential log acquisition timing has come (YES in S101), the differential log acquisition unit 111 acquires the differential log 131 from the copy source database 2a (S102). Then, the log management unit 112 of the CPU 101 stores the difference log 131 acquired in the process of S12 in the information storage area 130 (S103). Hereinafter, a specific example of the difference log 131 will be described.

[差分ログの具体例]
図12は、差分ログ131の具体例を説明する図である。図12に示す差分ログ131は、複写先データベース3aに記憶されたレコードのうち、操作を行うデータが含まれるレコードを特定するためのプライマリーキーとなる項目を示す「項目P」と、データに対する操作の内容を示す「操作の内容」とを項目として有する。「操作の内容」には、データ(レコード)の追加を示す「INSERT」、データの更新を示す「UPDATE」、または、データ(レコード)の削除を示す「DELETE」が設定される。
[Specific example of difference log]
FIG. 12 is a diagram for explaining a specific example of the difference log 131. The difference log 131 shown in FIG. 12 includes an “item P” indicating an item as a primary key for specifying a record including data to be operated among the records stored in the copy destination database 3a, and an operation on the data And “content of operation” indicating the content of the item as an item. In "content of operation", "INSERT" indicating addition of data (record), "UPDATE" indicating update of data, or "DELETE" indicating deletion of data (record) are set.

さらに、図12に示す差分ログ131は、各レコードに含まれる各データに対応する項目を示す「項目X」および「項目Y」を項目として有する。「項目X」および「項目Y」には、「操作の内容」に「DELETE」が設定されている場合、削除が行われるレコードの内容が設定され、「操作の内容」に「INSERT」が設定されている場合、追加が行われるレコードの内容が設定される。また、「項目X」および「項目Y」には、「操作の内容」に「UPDATE」が設定されている場合、更新後のデータを含むレコードの内容が設定される。   Furthermore, the difference log 131 illustrated in FIG. 12 includes “Item X” and “Item Y” indicating items corresponding to each data included in each record as items. If "DELETE" is set in "Content of operation" for "Item X" and "Item Y", the content of the record to be deleted is set, and "INSERT" is set in "Content of operation" If yes, the content of the record to be added is set. Further, when “UPDATE” is set in “content of operation” in “item X” and “item Y”, the content of the record including the data after update is set.

具体的に、図12に示す差分ログ131には、例えば、「項目P」が「A1」であり、「操作の内容」が「INSERT」であり、「項目X」が「100」であり、「項目Y」が「10」であるレコードが含まれている。また、図12に示す差分ログ131には、例えば、「項目P」が「A1」であり、「操作の内容」が「UPDATE」であり、「項目X」が「10」であり、「項目Y」が「10」であるレコードが含まれている。図12に含まれる他のレコードについては説明を省略する。   Specifically, in the difference log 131 shown in FIG. 12, for example, the “item P” is “A1”, the “operation content” is “INSERT”, and the “item X” is “100”, A record in which "item Y" is "10" is included. Furthermore, in the difference log 131 illustrated in FIG. 12, for example, the "item P" is "A1", the "operation content" is "UPDATE", and the "item X" is "10" A record in which Y is "10" is included. The description of the other records included in FIG. 12 is omitted.

なお、複写先データベース3aに格納されるレコードのプライマリーキーが複数存在する場合、図12に示す差分ログ131には、存在するプライマリーキーの組合せに対応する数の「項目P」が含まれるものであってよい。   When there are a plurality of primary keys of records stored in the copy destination database 3a, the difference log 131 shown in FIG. 12 includes the number of "items P" corresponding to the combinations of existing primary keys. May be there.

[CPUにおけるDB反映処理(1)]
次に、DB反映処理のうちのCPU101が行う処理について説明を行う。図7は、DB反映処理のうちのCPU101が行う処理を説明するフローチャート図である。
[DB reflection process in CPU (1)]
Next, processing performed by the CPU 101 in the DB reflection processing will be described. FIG. 7 is a flowchart illustrating the process performed by the CPU 101 in the DB reflection process.

CPU101のレコード格納部113は、図7に示すように、差分反映タイミングまで待機する(S11のNO)。そして、差分反映タイミングになった場合(S11のYES)、レコード格納部113は、情報格納領域130に記憶された差分ログ131を取得する(S12)。   As shown in FIG. 7, the record storage unit 113 of the CPU 101 stands by until the difference reflection timing (NO in S11). Then, when the difference reflection timing comes (YES in S11), the record storage unit 113 acquires the difference log 131 stored in the information storage area 130 (S12).

続いて、レコード格納部113は、S12の処理で取得した差分ログ131に含まれる複数のレコードのそれぞれに、各レコードの生成順を付加する(S13)。具体的に、レコード格納部113は、例えば、S102の処理で取得された差分ログ131に含まれる各レコードが生成順に整列している場合、各レコードの整列順に従って生成順を付加するものであってよい。また、レコード格納部113は、例えば、差分ログ131に各レコードの生成時刻が含まれている場合、その生成時刻に従って生成順を付加するものであってよい。以下、生成順が付加された差分ログ131の具体例について説明を行う。   Subsequently, the record storage unit 113 adds the generation order of each record to each of the plurality of records included in the difference log 131 acquired in the process of S12 (S13). Specifically, for example, when the records included in the difference log 131 acquired in the process of S102 are arranged in the generation order, the record storage unit 113 adds the generation order according to the alignment order of the records. You may Further, for example, when the difference log 131 includes the generation time of each record, the record storage unit 113 may add the generation order according to the generation time. Hereinafter, a specific example of the difference log 131 to which the generation order is added will be described.

[生成順が付加された差分ログの具体例]
図13は、生成順が付加された差分ログ131の具体例を説明する図である。図13に示す差分ログ131は、図12で説明した各項目に加え、差分ログ131に含まれる各レコードの生成順を示す「生成順」を項目として有する。
[Specific example of difference log with generation order added]
FIG. 13 is a diagram for explaining a specific example of the difference log 131 to which the generation order is added. The difference log 131 illustrated in FIG. 13 includes, in addition to the items described in FIG. 12, “generation order” indicating the generation order of each record included in the difference log 131 as an item.

具体的に、図13に示す差分ログ131において、例えば、「項目P」が「A1」であって「操作の内容」が「INSERT」であるレコードには、「生成順」として「1」が付加されている。また、図13に示す差分ログ131において、例えば、「項目P」が「A1」であって「操作の内容」が「UPDATE」であるレコードには、「生成順」として「2」が付加されている。図13に含まれる他のレコードについては説明を省略する。   Specifically, in the difference log 131 illustrated in FIG. 13, for example, “1” is generated as “generation order” in a record in which “item P” is “A1” and “operation content” is “INSERT”. It is attached. Further, in the difference log 131 shown in FIG. 13, for example, “2” is added as “generation order” to a record in which “item P” is “A1” and “operation content” is “UPDATE”. ing. The description of the other records included in FIG. 13 will be omitted.

図7に戻り、レコード格納部113は、S13の処理で生成順を付加した複数のレコードを、アクセラレータ105がアクセス可能な第2メモリ106に格納する。また、レコード格納部113は、この場合、差分ログ131のプライマリーキーを示す情報(例えば、図13に示す差分ログ131の「項目P」に設定された情報)を合わせて第2メモリ106に格納する(S14)。   Returning to FIG. 7, the record storage unit 113 stores the plurality of records to which the generation order is added in the process of S13 in the second memory 106 accessible by the accelerator 105. Also, in this case, the record storage unit 113 stores the information indicating the primary key of the difference log 131 (for example, the information set in “Item P” of the difference log 131 shown in FIG. 13) in the second memory 106 To do (S14).

これにより、情報処理装置1は、アクセラレータ105にDB反映処理の一部を行わせることが可能になる。以下、アクセラレータ105におけるDB反映処理について説明を行う。なお、図7におけるS15およびS16の処理については後述する。   As a result, the information processing apparatus 1 can cause the accelerator 105 to perform part of the DB reflection process. Hereinafter, DB reflection processing in the accelerator 105 will be described. The processes of S15 and S16 in FIG. 7 will be described later.

[アクセラレータにおけるDB反映処理]
図8から図11は、DB反映処理のうちのアクセラレータ105が行う処理を説明するフローチャート図である。
[DB reflection process in accelerator]
FIGS. 8 to 11 are flowcharts for explaining the processing performed by the accelerator 105 in the DB reflection processing.

アクセラレータ105のレコード探索部121は、差分ログ131に含まれる複数のレコードおよび差分ログ131のプライマリーキーを示す情報が第2メモリ106に格納されるまで待機する(S21のNO)。   The record search unit 121 of the accelerator 105 waits until a plurality of records included in the difference log 131 and information indicating the primary key of the difference log 131 are stored in the second memory 106 (NO in S21).

そして、複数のレコード等が第2メモリ106に格納された場合(S21のYES)、レコード探索部121は、第2メモリ106に格納された差分ログ131に含まれる複数のレコードから、プライマリーキー、データに対する操作の内容およびレコードの生成順を含む複数の部分レコードを抽出する(S22)。すなわち、レコード探索部121は、削除レコードおよび追加レコードの探索を行うための最低限必要な情報のみからなる部分レコードの抽出を行う。   When a plurality of records and the like are stored in the second memory 106 (YES in S21), the record search unit 121 selects a primary key from the plurality of records included in the difference log 131 stored in the second memory 106. A plurality of partial records including the content of the operation on the data and the generation order of the records are extracted (S22). That is, the record search unit 121 extracts a partial record including only the minimum necessary information for searching for a deletion record and an additional record.

これにより、レコード探索部121は、削除レコードおよび追加レコードの探索に要する処理負担を抑制することが可能になる。以下、部分レコードの具体例について説明を行う。   As a result, the record search unit 121 can suppress the processing load required for searching for the deletion record and the addition record. Hereinafter, specific examples of partial records will be described.

[部分レコードの具体例]
図14は、部分レコードの具体例を説明する図である。図14に示す部分レコードは、図13で説明した差分ログ131に含まれる項目のうち、「生成順」と「項目P」と「操作の内容」とを項目として有する。
[Example of partial record]
FIG. 14 is a diagram for explaining a specific example of the partial record. The partial record shown in FIG. 14 includes “order of generation”, “item P”, and “content of operation” as the items included in the difference log 131 described with reference to FIG.

具体的に、図14に示す部分レコードにおいて、例えば、「生成順」が「1」である情報には、「項目P」として「A1」が設定され、「操作の内容」として「INSERT」が設定されている。また、図14に示す部分レコードにおいて、例えば、「生成順」が「4」である情報には、「項目P」として「B1」が設定され、「操作の内容」として「DELETE」が設定されている。図14に含まれる他のレコードについては説明を省略する。   Specifically, in the partial record shown in FIG. 14, for example, “A1” is set as “Item P” in the information in which “generation order” is “1”, and “INSERT” is set as “content of operation”. It is set. Further, in the partial record shown in FIG. 14, for example, “B1” is set as the “item P” and “DELETE” is set as the “content of operation” in the information in which the “generation order” is “4”. ing. The description of the other records included in FIG. 14 is omitted.

なお、部分レコードの抽出を行う処理(S22)は、CPU101によって行われるものであってもよい。この場合、CPU101は、抽出した部分レコードを第2メモリ106に格納し、アクセラレータ105は、第2メモリ106に格納された部分レコードを取得して後続処理を行うものであってよい。   The process of extracting partial records (S22) may be performed by the CPU 101. In this case, the CPU 101 may store the extracted partial record in the second memory 106, and the accelerator 105 may acquire the partial record stored in the second memory 106 and perform subsequent processing.

図8に戻り、レコード探索部121は、複写先データベース3aのプライマリーキーごとに、S22の処理で抽出した複数の部分レコードから、レコードの生成が早い順に削除レコードを探索し、第1生成順情報132を特定する(S23)。第1生成順情報132は、探索された削除レコードのそれぞれに含まれる生成順を示す情報である。   Referring back to FIG. 8, the record search unit 121 searches for deletion records in the order of record generation from the plurality of partial records extracted in the process of S22 for each primary key of the copy destination database 3a, and generates the first generation order information 132 is identified (S23). The first generation order information 132 is information indicating the generation order included in each of the searched deletion records.

また、レコード探索部121は、複写先データベース3aのプライマリーキーごとに、S22の処理で抽出した複数の部分レコードから、レコードの生成が遅い順に追加レコードを探索し、第2生成順情報133を特定する(S24)。第2生成順情報133は、探索された追加レコードのそれぞれに含まれる生成順を示す情報である。以下、S23およびS24の処理の詳細について説明を行う。   Further, the record search unit 121 searches for additional records in order of late record generation from the plurality of partial records extracted in the process of S22 for each primary key of the copy destination database 3a, and specifies the second generation order information 133. To do (S24). The second generation order information 133 is information indicating the generation order included in each of the searched additional records. The details of the processes of S23 and S24 will be described below.

[S23の処理の詳細]
初めに、S23の処理の詳細について説明を行う。図9は、S23の処理の詳細を説明するフローチャート図である。
[Details of the process of S23]
First, the details of the process of S23 will be described. FIG. 9 is a flowchart for explaining the details of the process of S23.

レコード探索部121は、図9に示すように、CPU101によって第2メモリ106に格納されたプライマリーキーを示す情報を参照し、差分ログ131のプライマリーキーを1つ特定する(S31)。   As shown in FIG. 9, the record search unit 121 refers to the information indicating the primary key stored in the second memory 106 by the CPU 101, and identifies one primary key of the difference log 131 (S31).

そして、レコード探索部121は、プライマリーキーがS31の処理で特定したプライマリーキーであって、操作の内容がUPDATEまたはDELETEである部分レコードが最初に特定されるまで、S22の処理で抽出した複数の部分レコードを生成順に探索する(S32)。   Then, the record search unit 121 is a primary key specified in the process of S31, and until the partial record whose content of the operation is UPDATE or DELETE is first specified, a plurality of items extracted in the process of S22 The partial records are searched in order of generation (S32).

具体的に、図14で説明した部分レコードにおいて、「項目P」が「A1」であるレコードであって「操作の内容」が「UPDATE」または「DELETE」であるレコードのうち、「生成順」に設定された値が最も小さいレコードは、「生成順」が「2」であるレコードである。そのため、レコード探索部121は、S31の処理において「A1」を特定した場合、「生成順」が「2」であるレコードを特定する。すなわち、レコード探索部121は、この場合、「生成順」が「1」および「2」であるレコードのみについて参照を行い、「生成順」に「3」よりも大きい値が設定されているレコードの参照を行わない。   Specifically, in the partial record described in FIG. 14, among the records in which “item P” is “A1” and “operation content” is “UPDATE” or “DELETE”, “generation order” The record with the smallest value set in is the record whose "generation order" is "2". Therefore, when “A1” is specified in the process of S31, the record search unit 121 specifies a record whose “generation order” is “2”. That is, in this case, the record search unit 121 refers to only the records in which the “generation order” is “1” and “2”, and the records in which the “generation order” has a value larger than “3” are set. Do not refer to

その後、レコード探索部121は、S32の処理において部分レコードの特定が行われた場合(S33のYES)、S32の処理で特定された部分レコードの生成順を第1生成順情報132として特定する(S34)。一方、レコード探索部121は、S32の処理において部分レコードの特定が行われなかった場合(S33のNO)、S34の処理を行わない。   After that, when the partial record is specified in the process of S32 (YES in S33), the record search unit 121 specifies the generation order of the partial record specified in the process of S32 as the first generation order information 132 ( S34). On the other hand, when the partial record is not specified in the process of S32 (NO in S33), the record search unit 121 does not perform the process of S34.

具体的に、例えば、S32の処理において「生成順」が「2」であるレコードが特定された場合、レコード探索部121は、第1生成順情報132として「2」を特定する。   Specifically, for example, when a record whose “generation order” is “2” is specified in the process of S32, the record search unit 121 specifies “2” as the first generation order information 132.

そして、レコード探索部121は、S31の処理において複数の部分レコードに含まれるプライマリーキーを全てが特定済である場合(S35のYES)、S23の処理を終了する。一方、レコード探索部121は、S31の処理において複数の部分レコードに含まれるプライマリーキーを全てが特定済でない場合(S35のNO)、S31以降の処理を再度行う。   Then, if all primary keys included in the plurality of partial records have been specified in the process of S31 (YES in S35), the record search unit 121 ends the process of S23. On the other hand, when all primary keys included in the plurality of partial records have not been identified in the process of S31 (NO in S35), the record search unit 121 performs the process of S31 and later again.

[S24の処理の詳細]
次に、S24の処理の詳細について説明を行う。図10は、S24の処理の詳細を説明するフローチャート図である。
[Details of processing of S24]
Next, the details of the process of S24 will be described. FIG. 10 is a flowchart for explaining the details of the process of S24.

レコード探索部121は、図10に示すように、S31の処理と同様に、CPU101によって第2メモリ106に格納されたプライマリーキーを示す情報を参照し、差分ログ131のプライマリーキーを1つ特定する(S41)。   The record search unit 121 specifies one primary key of the difference log 131 by referring to the information indicating the primary key stored in the second memory 106 by the CPU 101 as in the process of S31, as shown in FIG. (S41).

そして、レコード探索部121は、プライマリーキーがS41の処理で特定したプライマリーキーである部分レコードが最初に特定されるまで、S22の処理で抽出した複数の部分レコードを生成順と反対の順に探索する(S42)。すなわち、レコード探索部121は、追加レコードの探索を行う場合、削除レコードの探索を行う場合と異なり、「操作の内容」に設定された情報に依らず、プライマリーキーがS41の処理で特定したプライマリーキーである最初の部分レコードの特定を行う。   Then, the record search unit 121 searches for a plurality of partial records extracted in the process of S22 in the reverse order of generation order until a partial record whose primary key is the primary key identified in the process of S41 is first specified. (S42). That is, when the record search unit 121 searches for an additional record, unlike the case where a search for a delete record is performed, the primary whose primary key is identified in the process of S41 does not depend on the information set in the “content of operation”. Identify the first partial record that is the key.

具体的に、図14で説明した部分レコードにおいて、「項目P」が「B1」であるレコードのうち、「生成順」に設定された値が最も大きいレコードは、「生成順」が「6」であるレコードである。そのため、レコード探索部121は、S41の処理で特定した「項目P」が「B1」である場合、「生成順」が「6」であるレコードを特定する。すなわち、レコード探索部121は、この場合、「生成順」が「8」から「6」であるレコードのみについて参照を行い、「生成順」に「5」よりも小さい値が設定されているレコードの参照を行わない。   Specifically, among the records in which "Item P" is "B1" in the partial record described in FIG. 14, the record with the largest value set in "generation order" has "6" in "generation order". Is a record. Therefore, when the "item P" specified in the process of S41 is "B1", the record search unit 121 specifies a record whose "generation order" is "6". That is, in this case, the record search unit 121 refers to only the records in which the “generation order” is “8” to “6”, and the records in which the “generation order” has a value smaller than “5” are set. Do not refer to

その後、レコード探索部121は、S42の処理において部分レコードの特定が行われた場合(S43のYES)、特定された部分レコードの「操作の内容」に設定された情報が「DELETE」であるか否かの判定を行う(S44)。そして、特定された部分レコードの「操作の内容」に設定された情報が「DELETE」でない場合(S44のNO)、レコード探索部121は、S41の処理で特定された部分レコードの生成順を第2生成順情報133として特定する(S45)。一方、レコード探索部121は、S42の処理において部分レコードの特定が行われなかった場合(S43のNO)、S44およびS45の処理を行わない。   Thereafter, when the partial record is specified in the process of S42 (YES in S43), the record search unit 121 determines whether the information set in the “operation content” of the specified partial record is “DELETE” It is judged whether or not it is not (S44). Then, if the information set in the “content of operation” of the identified partial record is not “DELETE” (NO in S44), the record search unit 121 generates the partial records identified in the process of S41 in the order of generation 2) Specify as the generation order information 133 (S45). On the other hand, when the partial record is not specified in the process of S42 (NO in S43), the record search unit 121 does not perform the processes in S44 and S45.

さらに、レコード探索部121は、S42の処理において特定された部分レコードの「操作の内容」に設定された情報が「DELETE」である場合(S44のYES)、S44およびS45の処理を行わない。   Furthermore, the record search unit 121 does not perform the processes of S44 and S45 when the information set in the "content of operation" of the partial record specified in the process of S42 is "DELETE" (YES in S44).

すなわち、「操作の内容」が「UPDATE」または「INSERT」であるレコードが存在する場合であっても、存在したレコードよりも後に「項目P」に設定されたプライマリーキーが同じであって「操作の内容」が「DELETE」であるレコードが存在する場合、レコード探索部121は、「操作の内容」が「UPDATE」または「INSERT」であるレコードを複写先データベース3aに反映させる必要がない。   That is, even if a record in which "content of operation" is "UPDATE" or "INSERT" exists, the primary key set in "item P" later than the existing record is the same, and "operation When there is a record whose content is "DELETE", the record search unit 121 does not have to reflect the record whose "content of operation" is "UPDATE" or "INSERT" in the copy destination database 3a.

具体的に、図14で説明した部分レコードには、例えば、「項目P」が「A1」であって「操作の内容」が「INSERT」または「UPDATE」であるレコード(「生成順」が「1」および「2」であるレコード)が存在する。しかしながら、図14で説明した部分レコードには、これらのレコードの後に、「項目P」が「A1」であって「操作の内容」が「DELETE」であるレコード(「生成順」が「7」であるレコード)が存在する。そのため、レコード探索部121は、この場合、「項目P」が「A1」であるレコードが最終的に削除されるため、「項目P」が「A1」であるレコードのそれぞれ(「生成順」が「1」、「2」および「7」)であるレコードを複写先データベース3aに反映させる必要がないと判定する。   Specifically, in the partial record described in FIG. 14, for example, a record in which the “item P” is “A1” and the “operation content” is “INSERT” or “UPDATE” (the “generation order” is “ There are records 1) and 2). However, in the partial record described in FIG. 14, the record in which the “item P” is “A1” and the “operation content” is “DELETE” after the records (“generation order” is “7” There is a record). Therefore, in this case, since the record whose “item P” is “A1” is finally deleted in this case, each of the records where “item P” is “A1” (“generation order” is It is determined that the records “1”, “2” and “7”) need not be reflected in the copy destination database 3a.

一方、図14で説明した部分レコードには、例えば、「項目P」が「B1」であって「操作の内容」が「INSERT」または「UPDATE」であるレコード(「生成順」が「6」であるレコード)が存在する。そして、図14で説明した部分レコードには、これらのレコードの後に、「項目P」が「A1」であって「操作の内容」が「DELETE」であるレコードが存在しない。そのため、レコード探索部121は、この場合、「6」を第2生成順情報133として特定する。   On the other hand, in the partial record described in FIG. 14, for example, a record in which the “item P” is “B1” and the “operation content” is “INSERT” or “UPDATE” (“generation order” is “6” There is a record). Then, in the partial record described with reference to FIG. 14, there is no record after the records in which the “item P” is “A1” and the “operation content” is “DELETE”. Therefore, the record search unit 121 specifies “6” as the second generation order information 133 in this case.

図10に戻り、レコード探索部121は、S41の処理において複数の部分レコードに含まれるプライマリーキーを全てが特定済である場合(S46のYES)、S24の処理を終了する。一方、レコード探索部121は、S41の処理において複数の部分レコードに含まれるプライマリーキーを全てが特定済でない場合(S46のNO)、S41以降の処理を再度行う。   Returning to FIG. 10, when all the primary keys included in the plurality of partial records have been specified in the process of S41 (YES in S46), the record search unit 121 ends the process of S24. On the other hand, when all primary keys included in the plurality of partial records have not been specified in the process of S41 (NO in S46), the record search unit 121 performs the process of S41 and later again.

これにより、アクセラレータ105は、S12の処理で取得された差分ログ131の内容を複写先データベース3aに反映させる際に、差分ログ131に含まれる複数のレコードが示す操作の全てを行う必要がなくなる。そのため、アクセラレータ105は、差分ログ131の内容の複写先データベース3aに反映する際に要する処理負担を軽減させることが可能になる。   As a result, when the accelerator 105 reflects the content of the difference log 131 acquired in the process of S12 on the copy destination database 3a, it is not necessary to perform all the operations indicated by the plurality of records included in the difference log 131. Therefore, the accelerator 105 can reduce the processing load required when reflecting the contents of the difference log 131 in the copy destination database 3a.

[FGPAによるS23およびS24の処理の具体例]
次に、アクセラレータ105がFPGAである場合のDB反映処理の具体例について説明を行う。図15から図17は、FPGAによるS23およびS24の処理の具体例を説明する図である。
[Specific example of processing of S23 and S24 by FGPA]
Next, a specific example of the DB reflection process when the accelerator 105 is an FPGA will be described. FIGS. 15 to 17 are diagrams for explaining specific examples of the processes of S23 and S24 by the FPGA.

図15に示すFPGAは、「項目P」が「A1」であって「操作の内容」が「DELETE」または「UPDATE」である削除レコードを探索するフィルタ105aと、「項目P」が「A2」であって「操作の内容」が「DELETE」または「UPDATE」である削除レコードを探索するフィルタ105bとを有する。また、図15に示すFPGAは、「項目P」が「B1」であって「操作の内容」が「DELETE」または「UPDATE」である削除レコードを探索するフィルタ105cと、「項目P」が「B2」であって「操作の内容」が「DELETE」または「UPDATE」である削除レコードを探索するフィルタ105dとを有する。   The FPGA shown in FIG. 15 has a filter 105a for searching for a deleted record whose "item P" is "A1" and "operation content" is "DELETE" or "UPDATE", and "item P" is "A2" And a filter 105 b for searching for a deleted record whose “content of operation” is “DELETE” or “UPDATE”. Further, the FPGA shown in FIG. 15 has a filter 105c for searching for deletion records in which the "item P" is "B1" and the "operation content" is "DELETE" or "UPDATE", and the "item P" is " B2 and a filter 105 d for searching for a deleted record whose “operation content” is “DELETE” or “UPDATE”.

さらに、図15に示すFPGAは、「項目P」が「A1」であって「操作の内容」が「INSERT」または「UPDATE」である追加レコードを探索するフィルタ105eと、「項目P」が「A2」であって「操作の内容」が「INSERT」または「UPDATE」である追加レコードを探索するフィルタ105fとを有する。また、図15に示すFPGAは、「項目P」が「B1」であって「操作の内容」が「INSERT」または「UPDATE」である追加レコードを探索するフィルタ105gと、「項目P」が「B2」であって「操作の内容」が「INSERT」または「UPDATE」である追加レコードを探索するフィルタ105hとを有する。   Furthermore, the FPGA shown in FIG. 15 has a filter 105 e for searching for additional records in which “Item P” is “A1” and “Operation Content” is “INSERT” or “UPDATE”, and “Item P” is “A”. A2 ”, and a filter 105 f for searching for an additional record whose“ operation content ”is“ INSERT ”or“ UPDATE ”. Further, the FPGA shown in FIG. 15 has a filter 105g for searching for additional records in which the "item P" is "B1" and the "operation content" is "INSERT" or "UPDATE", and the "item P" is " B2 "and has a filter 105h for searching for additional records whose" operation content "is" INSERT "or" UPDATE ".

すなわち、図15に示すFPGAは、図14で説明した部分レコードのプライマリーキーごとに、削除レコードをパイプライン処理によって探索するためのフィルタと追加レコードをパイプライン処理によって探索するためのフィルタとをそれぞれ有する。また、図15に示すFPGAは、削除レコードの探索と追加レコードの探索とを並行して行う。   That is, the FPGA shown in FIG. 15 has a filter for searching for deleted records by pipeline processing and a filter for searching for additional records by pipeline processing for each primary key of partial records described in FIG. 14. Have. Further, the FPGA shown in FIG. 15 performs a search for deleted records and a search for additional records in parallel.

具体的に、図15に示すFPGAは、削除レコードの探索を行う場合、図14で説明した部分レコードを生成順にフィルタ105aに入力し、「項目P」が「A1」であって「操作の内容」が「DELETE」または「UPDATE」である削除レコードの探索を行わせる。そして、フィルタ105aは、図16に示すように、条件に合致する最初の削除レコードの「生成順」に設定された値である「2」を第1生成順情報132として出力する。   Specifically, when the FPGA shown in FIG. 15 searches for deletion records, the partial records described in FIG. 14 are input to the filter 105 a in the order of generation, and the “item P” is “A1” and “operation content Search for deleted records whose "is" DELETE "or" UPDATE ". Then, as shown in FIG. 16, the filter 105a outputs “2”, which is a value set in the “generation order” of the first deleted record that matches the condition, as the first generation order information 132.

続いて、図15に示すFPGAは、図14で説明した部分レコードを生成順にフィルタ105bに入力し、「項目P」が「A2」であって「操作の内容」が「DELETE」または「UPDATE」である削除レコードの探索を行わせる。そして、フィルタ105bは、図16に示すように、条件に合致する最初の削除レコードの「生成順」に設定された値である「3」を第1生成順情報132として出力する。   Subsequently, the FPGA shown in FIG. 15 inputs the partial records described in FIG. 14 to the filter 105 b in the order of generation, and the “item P” is “A2” and the “operation content” is “DELETE” or “UPDATE” Search for a deletion record that is Then, as shown in FIG. 16, the filter 105 b outputs “3” which is a value set in the “generation order” of the first deleted record that matches the condition as the first generation order information 132.

続いて、図15に示すFPGAは、図14で説明した部分レコードを生成順にフィルタ105cに入力し、「項目P」が「B1」であって「操作の内容」が「DELETE」または「UPDATE」である削除レコードの探索を行わせる。そして、フィルタ105cは、図16に示すように、条件に合致する最初の削除レコードの「生成順」に設定された値である「4」を第1生成順情報132として出力する。   Subsequently, the FPGA shown in FIG. 15 inputs the partial records described in FIG. 14 to the filter 105c in the order of generation, and the “item P” is “B1” and the “operation content” is “DELETE” or “UPDATE” Search for a deletion record that is Then, as shown in FIG. 16, the filter 105 c outputs “4”, which is a value set in the “generation order” of the first deleted record matching the condition, as the first generation order information 132.

続いて、図15に示すFPGAは、図14で説明した部分レコードを生成順にフィルタ105dに入力し、「項目P」が「B2」であって「操作の内容」が「DELETE」または「UPDATE」である削除レコードの探索を行わせる。そして、フィルタ105dは、条件に合致する削除レコードが存在しないため、第1生成順情報132の出力を行わない。   Subsequently, the FPGA shown in FIG. 15 inputs the partial records described in FIG. 14 to the filter 105 d in the order of generation, and the “item P” is “B2” and the “operation content” is “DELETE” or “UPDATE” Search for a deletion record that is Then, the filter 105 d does not output the first generation order information 132 because there is no deleted record that matches the condition.

また、図15に示すFPGAは、追加レコードの探索を行う場合、図14で説明した部分レコードを生成順にフィルタ105eに入力し、「項目P」が「A1」であるレコードの探索を行わせる。そして、フィルタ105eは、「項目P」が「A1」であって「操作の内容」が「DELETE」であるレコードを最初に特定し、第2生成順情報133の出力を行わない。   Further, when searching for additional records, the FPGA shown in FIG. 15 inputs the partial records described in FIG. 14 to the filter 105 e in the order of generation, and searches for records in which “Item P” is “A1”. Then, the filter 105 e first specifies a record in which the “item P” is “A1” and the “operation content” is “DELETE”, and the second generation order information 133 is not output.

続いて、図15に示すFPGAは、図14で説明した部分レコードを生成順にフィルタ105fに入力し、「項目P」が「A2」であるレコードの探索を行わせる。そして、フィルタ105fは、図17に示すように、「項目P」が「A2」であって「操作の内容」が「UPDATE」であるレコードを最初に特定し、特定したレコードの「生成順」に設定された値である「8」を第2生成順情報133として出力する。   Subsequently, the FPGA illustrated in FIG. 15 inputs the partial records described in FIG. 14 to the filter 105 f in the order of generation, and causes the search for records in which the “item P” is “A2”. Then, as shown in FIG. 17, the filter 105 f first identifies the record in which the “item P” is “A2” and the “operation content” is “UPDATE”, and the “generation order” of the identified records. The value “8”, which is the value set in “1”, is output as the second generation order information 133.

続いて、図15に示すFPGAは、図14で説明した部分レコードを生成順にフィルタ105gに入力し、「項目P」が「B1」であるレコードの探索を行わせる。そして、フィルタ105gは、図17に示すように、「項目P」が「B1」であって「操作の内容」が「INSERT」であるレコードを最初に特定し、特定したレコードの「生成順」に設定された値である「6」を第2生成順情報133として出力する。   Subsequently, the FPGA illustrated in FIG. 15 inputs the partial records described in FIG. 14 to the filter 105 g in the order of generation, and causes the search for records in which “item P” is “B1”. Then, as shown in FIG. 17, the filter 105 g first identifies the record in which the “item P” is “B1” and the “operation content” is “INSERT”, and the “generation order” of the identified records. The value “6”, which is set to “1”, is output as the second generation order information 133.

続いて、図15に示すFPGAは、図14で説明した部分レコードを生成順にフィルタ105hに入力し、「項目P」が「B2」であるレコードの探索を行わせる。そして、フィルタ105hは、図17に示すように、「項目P」が「B2」であって「操作の内容」が「INSERT」であるレコードを最初に特定し、特定したレコードの「生成順」に設定された値である「5」を第2生成順情報133として出力する。   Subsequently, the FPGA illustrated in FIG. 15 inputs the partial records described in FIG. 14 to the filter 105 h in the order of generation, and causes the search for records in which “item P” is “B2”. Then, as shown in FIG. 17, the filter 105 h first identifies the record in which the “item P” is “B2” and the “operation content” is “INSERT”, and the “generation order” of the identified records. The value “5” set in is output as the second generation order information 133.

これにより、アクセラレータ105は、差分ログ131の内容の複写先データベース3aに反映する際に要する処理負担をより軽減させることが可能になる。   As a result, the accelerator 105 can further reduce the processing load required when reflecting the contents of the difference log 131 in the copy destination database 3a.

図8に戻り、レコード探索部121は、例えば、S23の処理で特定した第1生成順情報132と、S24で特定した第2生成順情報133とを第1メモリ102に格納する(S25)。   Returning to FIG. 8, the record search unit 121 stores, for example, the first generation order information 132 specified in the process of S23 and the second generation order information 133 specified in S24 in the first memory 102 (S25).

具体的に、図14で説明した部分レコードに対してS23およびS24の処理が行われた場合、レコード探索部121は、第1生成順情報132として「2」、「3」および「4」を第1メモリ102に格納する。また、レコード探索部121は、この場合、第2生成順情報133として「8」、「6」および「5」を第1メモリ102に格納する。以下、CPU101におけるDB反映処理のうち、S15およびS16の処理について説明を行う。   Specifically, when the processes of S23 and S24 are performed on the partial record described in FIG. 14, the record search unit 121 sets “2”, “3” and “4” as the first generation order information 132. It is stored in the first memory 102. Also, in this case, the record search unit 121 stores “8”, “6” and “5” as the second generation order information 133 in the first memory 102. The processes of S15 and S16 in the DB reflection process in the CPU 101 will be described below.

[CPUにおけるDB反映処理(2)]
CPU101のレコード反映部114は、図7に示すように、アクセラレータ105が行ったDB反映処理によって出力された第1生成順情報132と第2生成順情報133が第1メモリ102に格納されるまで待機する(S15のNO)。
[DB reflection processing in CPU (2)]
As shown in FIG. 7, the record reflecting unit 114 of the CPU 101 continues until the first memory 102 stores the first generation order information 132 and the second generation order information 133 output by the DB reflection process performed by the accelerator 105. It waits (NO of S15).

そして、第1生成順情報132と第2生成順情報133が第1メモリ102に格納された場合(S15のYES)、レコード反映部114は、第1メモリ102に格納された第1生成順情報132と第2生成順情報133とに基づき、複写先データベース3aに対する複数のレコードの反映を行う(S16)。以下、S16の処理の詳細について説明を行う。   Then, when the first generation order information 132 and the second generation order information 133 are stored in the first memory 102 (YES in S15), the record reflecting unit 114 stores the first generation order information stored in the first memory 102. A plurality of records are reflected on the copy destination database 3a based on 132 and the second generation order information 133 (S16). The details of the process of S16 will be described below.

[S16の処理の詳細]
図11は、S16の処理の詳細を説明するフローチャート図である。
[Details of processing of S16]
FIG. 11 is a flowchart for explaining the details of the process of S16.

レコード反映部114は、S12の処理で取得した差分ログ131に含まれる複数のレコードのうち、S34の処理で特定した第1生成順情報132に対応するレコードを、複写先データベース3aから削除する(S51)。   The record reflecting unit 114 deletes the record corresponding to the first generation order information 132 identified in the process of S34 among the plurality of records included in the difference log 131 acquired in the process of S12 from the copy destination database 3a ( S51).

また、レコード反映部114は、S12の処理で取得した差分ログ131に含まれる複数のレコードのうち、S44の処理で特定した第2生成順情報133に対応するレコードを、複写先データベース3aに追加する(S52)。   In addition, the record reflecting unit 114 adds the record corresponding to the second generation order information 133 identified in the process of S44 among the plurality of records included in the difference log 131 acquired in the process of S12 to the copy destination database 3a. (S52).

これにより、情報処理装置1は、CPU101が実行する他の処理への影響を抑えながら、差分ログ131に含まれる複数のレコードの複写先データベース3aへの反映を行うことが可能になる。   Thus, the information processing apparatus 1 can reflect the plurality of records included in the difference log 131 on the copy destination database 3a while suppressing the influence on other processes executed by the CPU 101.

[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態におけるDB反映処理において、情報処理装置1は、DB反映処理の一部をアクセラレータ105に行わせることなく、DB反映処理の全てをCPU101に行わせる。
Second Embodiment
Next, a second embodiment will be described. In the DB reflection process in the second embodiment, the information processing apparatus 1 causes the CPU 101 to perform all of the DB reflection process without causing the accelerator 105 to perform a part of the DB reflection process.

[第2の実施の形態における情報処理システムのハードウエア構成]
初めに、第2の実施の形態における情報処理システム10のハードウエア構成について説明する。図18は、第2の実施の形態における情報処理装置1のハードウエア構成を示す図である。
[Hardware Configuration of Information Processing System in Second Embodiment]
First, the hardware configuration of the information processing system 10 according to the second embodiment will be described. FIG. 18 is a diagram showing a hardware configuration of the information processing device 1 in the second embodiment.

第2の実施の形態における情報処理装置1は、CPU101と、メモリ102と、外部インターフェース103と、記憶媒体104とを有する。各部は、バス107を介して互いに接続される。なお、第2の実施の形態における情報処理装置1は、第1の実施の形態における情報処理装置1と同様に、アクセラレータ105とメモリ106とを有するものであってもよい。   An information processing apparatus 1 according to the second embodiment includes a CPU 101, a memory 102, an external interface 103, and a storage medium 104. The respective parts are connected to one another via a bus 107. The information processing apparatus 1 in the second embodiment may have the accelerator 105 and the memory 106 as in the information processing apparatus 1 in the first embodiment.

[第2の実施の形態における情報処理システムの機能]
次に、第2の実施の形態における情報処理システム10の機能について説明する。図19は、第2の実施の形態における情報処理装置1の機能ブロック図である。
[Function of Information Processing System in Second Embodiment]
Next, functions of the information processing system 10 according to the second embodiment will be described. FIG. 19 is a functional block diagram of the information processing device 1 in the second embodiment.

第2の実施の形態における情報処理装置1のCPU101は、第1の実施の形態におけるCPU101と同様に、差分ログ取得部111と、ログ管理部112と、レコード格納部113と、レコード反映部114として動作する。また、第2の実施の形態における情報処理装置1のCPU101は、第1の実施の形態におけるCPU101と異なり、レコード探索部115としても動作する。レコード探索部115は、図3等で説明したレコード探索部121と同じ処理を行う。   The CPU 101 of the information processing apparatus 1 according to the second embodiment is similar to the CPU 101 according to the first embodiment in that the difference log acquisition unit 111, the log management unit 112, the record storage unit 113, and the record reflection unit 114. Act as. Further, the CPU 101 of the information processing device 1 in the second embodiment also operates as the record search unit 115 unlike the CPU 101 in the first embodiment. The record search unit 115 performs the same process as the record search unit 121 described with reference to FIG.

[第2の実施の形態におけるDB反映処理]
次に、第2の実施の形態におけるDB反映処理について説明を行う。図20および図21は、第2の実施の形態におけるDB反映処理を説明するフローチャート図である。なお、第2の実施の形態における差分ログ取得処理は、第1の実施の形態における差分ログ取得処理と同じ処理であるため説明を省略する。
[DB reflection processing in the second embodiment]
Next, DB reflection processing in the second embodiment will be described. FIG. 20 and FIG. 21 are flowcharts explaining the DB reflection processing in the second embodiment. The difference log acquisition process in the second embodiment is the same process as the difference log acquisition process in the first embodiment, and therefore the description thereof is omitted.

レコード格納部113は、図20に示すように、差分反映タイミングまで待機する(S201のNO)。そして、差分反映タイミングになった場合(S201のYES)、レコード格納部113は、情報格納領域130に記憶された差分ログ131を取得する(S202)。   As shown in FIG. 20, the record storage unit 113 waits until the difference reflection timing (NO in S201). When the difference reflection timing comes (YES in S201), the record storage unit 113 acquires the difference log 131 stored in the information storage area 130 (S202).

続いて、レコード格納部113は、S202の処理で取得した差分ログ131に含まれる複数のレコードのそれぞれに、各レコードの生成順を付加する(S203)。そして、レコード探索部121は、S203の処理で生成順を付加された各レコードから、プライマリーキー、データに対する操作の内容およびレコードの生成順を含む複数の部分レコードを抽出する(S204)。   Subsequently, the record storage unit 113 adds the generation order of each record to each of the plurality of records included in the difference log 131 acquired in the process of S202 (S203). Then, the record search unit 121 extracts a plurality of partial records including the primary key, the content of the operation on the data, and the generation order of the records from the records to which the generation order is added in the process of S203 (S204).

その後、レコード探索部115は、図21に示すように、複写先データベース3aのプライマリーキーごとに、S204の処理で抽出した複数の部分レコードから、レコードの生成が早い順に削除レコードを探索し、第1生成順情報132を特定する(S211)。また、レコード探索部121は、複写先データベース3aのプライマリーキーごとに、S204の処理で抽出した複数の部分レコードから、レコードの生成が遅い順に追加レコードを探索し、第2生成順情報133を特定する(S212)。   Thereafter, as shown in FIG. 21, the record search unit 115 searches for deletion records in the order of record generation from the plurality of partial records extracted in the process of S204 for each primary key of the copy destination database 3a. 1) The generation order information 132 is specified (S211). Further, the record search unit 121 searches for additional records in order of late record generation from the plurality of partial records extracted in the process of S204 for each primary key of the copy destination database 3a, and specifies the second generation order information 133. (S212).

すなわち、第2の実施の形態におけるDB反映処理において、情報処理装置1は、削除レコードの探索と追加レコードの探索とをCPU101に行わせる。   That is, in the DB reflection process in the second embodiment, the information processing device 1 causes the CPU 101 to search for a deletion record and search for an additional record.

そして、レコード反映部114は、S211およびS212の処理で特定された第1生成順情報132と第2生成順情報133とに基づき、複写先データベース3aに対する複数のレコードの反映を行う(S213)。   Then, the record reflecting unit 114 reflects a plurality of records on the copy destination database 3a based on the first generation order information 132 and the second generation order information 133 specified in the processing of S211 and S212 (S213).

これにより、情報処理装置1は、例えば、アクセラレータ105を有しない場合であっても、差分ログ131の内容の複写先データベース3aに対する反映に要する処理負担を軽減させることが可能になる。   Thus, even if the information processing apparatus 1 does not have the accelerator 105, for example, it is possible to reduce the processing load required for reflecting the content of the difference log 131 on the copy destination database 3a.

以上の実施の形態をまとめると、以下の付記のとおりである。   The above-mentioned embodiment is summarized as the following remarks.

(付記1)
コンピュータに、
差分ログに含まれる複数のレコードを前記コンピュータのプロセッサと異なるプロセッサである特定のプロセッサに読み込ませ、
前記特定のプロセッサにおいて、データベースのプライマリーキーごとに、前記複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、
処理を実行させるレコード反映プログラム。
(Supplementary Note 1)
On the computer
Read a plurality of records included in the differential log into a specific processor that is different from the processor of the computer,
In the specific processor, for each primary key of the database, the plurality of records are searched for a deletion record indicating an operation to delete data stored in the database in order of record generation, and addition of the data is performed. Search for additional records indicating the operation to be performed in the order of late record generation,
The plurality of records are reflected on the database based on the deletion record and the additional record for each primary key searched first.
Record reflection program that executes processing.

(付記2)
付記1において、
前記特定のプロセッサは、パイプライン処理を行うプロセッサである、
レコード反映プログラム。
(Supplementary Note 2)
In Appendix 1,
The particular processor is a processor that performs pipeline processing.
Record reflection program.

(付記3)
付記1において、
前記特定のプロセッサは、アクセラレータである、
レコード反映プログラム。
(Supplementary Note 3)
In Appendix 1,
The particular processor is an accelerator,
Record reflection program.

(付記4)
付記1において、
前記探索する処理では、前記複数のレコードから生成された前記プライマリーキー、データに対する操作の内容およびレコードの生成順を含む複数の部分レコードから、前記削除レコードおよび前記追加レコードの探索を行う、
レコード反映プログラム。
(Supplementary Note 4)
In Appendix 1,
In the search process, the deletion record and the additional record are searched from a plurality of partial records including the primary key generated from the plurality of records, the content of the operation on data, and the generation order of the records.
Record reflection program.

(付記5)
付記4において、
前記操作の内容は、前記データの削除、前記データの追加および前記データの更新を含み、
前記探索する処理では、
前記操作の内容が前記データの削除または前記データの更新である前記部分レコードが存在する場合、前記削除レコードが存在するものと判定し、
前記操作の内容が前記データの追加または前記データの更新である前記部分レコードが存在する場合、前記追加レコードが存在するものと判定する、
レコード反映プログラム。
(Supplementary Note 5)
In Appendix 4,
The content of the operation includes deletion of the data, addition of the data and update of the data,
In the process of searching,
If there is the partial record in which the content of the operation is deletion of the data or update of the data, it is determined that the deletion record is present;
If the partial record whose content of the operation is addition of the data or update of the data exists, it is determined that the additional record exists.
Record reflection program.

(付記6)
付記5において、
前記探索する処理では、特定のプライマリーキーについての前記追加レコードを探索する際に、前記操作の内容が前記データの追加または前記データの更新である前記部分レコードよりも先に、前記操作の内容が前記データの削除である前記部分レコードが探索された場合、前記特定のプライマリーキーについての前記追加レコードが存在しないものと判定する、
レコード反映プログラム。
(Supplementary Note 6)
In Appendix 5,
In the search process, when searching for the additional record for a specific primary key, the content of the operation is the content of the operation prior to the partial record that is the addition of the data or the update of the data. When the partial record which is the deletion of the data is searched, it is determined that the additional record for the specific primary key does not exist.
Record reflection program.

(付記7)
付記5において、
前記反映を行う処理では、
前記データベースに格納されたデータから、最初に探索された前記プライマリーキーごとの前記削除レコードが示すデータを削除し、
前記データベースに、最初に探索された前記プライマリーキーごとの前記追加レコードが示すデータを追加する、
レコード反映プログラム。
(Appendix 7)
In Appendix 5,
In the process of performing the reflection,
From the data stored in the database, delete the data indicated by the deletion record for each of the primary keys searched first.
Adding data indicated by the additional record for each of the primary keys searched first to the database;
Record reflection program.

(付記8)
付記7において、
前記探索する処理では、
前記削除レコードが存在するものと判定した場合、存在した前記削除レコードに対応する前記生成順を第1生成順として特定し、
前記追加レコードが存在するものと判定した場合、存在した前記追加レコードに対応する前記生成順を第2生成順として特定し、
前記反映を行う処理では、
前記複数のレコードのうち、特定した前記第1生成順に対応するレコードが示すデータを、前記データベースに格納されたデータから削除し、
前記複数のレコードのうち、特定した前記第2生成順に対応するレコードが示すデータを、前記データベースに追加する、
レコード反映プログラム。
(Supplementary Note 8)
In Appendix 7,
In the process of searching,
If it is determined that the deleted record exists, the generation order corresponding to the existing deleted record is specified as a first generation order,
When it is determined that the additional record exists, the generation order corresponding to the existing additional record is specified as a second generation order,
In the process of performing the reflection,
Data indicated by a record corresponding to the specified first generation order among the plurality of records is deleted from the data stored in the database,
The data indicated by the record corresponding to the specified second generation order among the plurality of records is added to the database.
Record reflection program.

(付記9)
コンピュータに、
データベースのプライマリーキーごとに、差分ログに含まれる複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、
処理を実行させるレコード反映プログラム。
(Appendix 9)
On the computer
An operation of searching for a deletion record indicating an operation of deleting data stored in the database from a plurality of records included in the difference log for each primary key of the database in the order of early record generation and adding the data Search for additional records indicating the order in which the record generation is late,
The plurality of records are reflected on the database based on the deletion record and the additional record for each primary key searched first.
Record reflection program that executes processing.

(付記10)
差分ログに含まれる複数のレコードを前記コンピュータのプロセッサと異なるプロセッサである特定のプロセッサに読み込ませるレコード格納部と、
前記特定のプロセッサにおいて、前記データベースのプライマリーキーごとに、前記複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索するレコード探索部と、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行うレコード反映部と、を有する、
レコード反映装置。
(Supplementary Note 10)
A record storage unit that causes a specific processor, which is a processor different from the processor of the computer, to read a plurality of records included in the difference log;
In the specific processor, for each primary key of the database, the plurality of records are searched for a deletion record indicating an operation to delete data stored in the database in order of record generation, and addition of the data is performed. A record search unit that searches additional records indicating an operation to perform in the order of late record generation;
A record reflecting unit that reflects the plurality of records on the database based on the deletion record and the additional record for each primary key initially searched;
Record reflection device.

(付記11)
データベースのプライマリーキーごとに、差分ログに含まれる複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索するレコード探索部と、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行うレコード反映部と、を有する、
レコード反映装置。
(Supplementary Note 11)
An operation of searching for a deletion record indicating an operation of deleting data stored in the database from a plurality of records included in the difference log for each primary key of the database in the order of early record generation and adding the data A record search unit that searches for additional records indicating the order of generation of the records in the order of late
A record reflecting unit that reflects the plurality of records on the database based on the deletion record and the additional record for each primary key initially searched;
Record reflection device.

(付記12)
差分ログに含まれる複数のレコードを前記コンピュータのプロセッサと異なるプロセッサである特定のプロセッサに読み込ませ、
前記特定のプロセッサにおいて、前記データベースのプライマリーキーごとに、前記複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、
レコード反映方法。
(Supplementary Note 12)
Read a plurality of records included in the differential log into a specific processor that is different from the processor of the computer,
In the specific processor, for each primary key of the database, the plurality of records are searched for a deletion record indicating an operation to delete data stored in the database in order of record generation, and addition of the data is performed. Search for additional records indicating the operation to
The plurality of records are reflected on the database based on the deletion record and the additional record for each primary key searched first.
Record reflection method.

(付記13)
データベースのプライマリーキーごとに、差分ログに含まれる複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、
レコード反映方法。
(Supplementary Note 13)
An operation of searching for a deletion record indicating an operation of deleting data stored in the database from a plurality of records included in the difference log for each primary key of the database in the order of early record generation and adding the data Search for additional records indicating the order in which the record generation is late,
The plurality of records are reflected on the database based on the deletion record and the additional record for each primary key searched first.
Record reflection method.

1:情報処理装置 2:複写元処理装置
2a:複写元データベース 3:複写先処理装置
3a:複写先データベース
1: Information processing device 2: Copy source processing device 2a: Copy source database 3: Copy destination processing device 3a: Copy destination database

Claims (12)

コンピュータに、
差分ログに含まれる複数のレコードを前記コンピュータのプロセッサと異なるプロセッサである特定のプロセッサに読み込ませ、
前記特定のプロセッサにおいて、データベースのプライマリーキーごとに、前記複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、
処理を実行させるレコード反映プログラム。
On the computer
Read a plurality of records included in the differential log into a specific processor that is different from the processor of the computer,
In the specific processor, for each primary key of the database, the plurality of records are searched for a deletion record indicating an operation to delete data stored in the database in order of record generation, and addition of the data is performed. Search for additional records indicating the operation to be performed in the order of late record generation,
The plurality of records are reflected on the database based on the deletion record and the additional record for each primary key searched first.
Record reflection program that executes processing.
請求項1において、
前記特定のプロセッサは、パイプライン処理を行うプロセッサである、
レコード反映プログラム。
In claim 1,
The particular processor is a processor that performs pipeline processing.
Record reflection program.
請求項1において、
前記探索する処理では、前記複数のレコードから生成された前記プライマリーキー、データに対する操作の内容およびレコードの生成順を含む複数の部分レコードから、前記削除レコードおよび前記追加レコードの探索を行う、
レコード反映プログラム。
In claim 1,
In the search process, the deletion record and the additional record are searched from a plurality of partial records including the primary key generated from the plurality of records, the content of the operation on data, and the generation order of the records.
Record reflection program.
請求項3において、
前記操作の内容は、前記データの削除、前記データの追加および前記データの更新を含み、
前記探索する処理では、
前記操作の内容が前記データの削除または前記データの更新である前記部分レコードが存在する場合、前記削除レコードが存在するものと判定し、
前記操作の内容が前記データの追加または前記データの更新である前記部分レコードが存在する場合、前記追加レコードが存在するものと判定する、
レコード反映プログラム。
In claim 3,
The content of the operation includes deletion of the data, addition of the data and update of the data,
In the process of searching,
If there is the partial record in which the content of the operation is deletion of the data or update of the data, it is determined that the deletion record is present;
If the partial record whose content of the operation is addition of the data or update of the data exists, it is determined that the additional record exists.
Record reflection program.
請求項4において、
前記探索する処理では、特定のプライマリーキーについての前記追加レコードを探索する際に、前記操作の内容が前記データの追加または前記データの更新である前記部分レコードよりも先に、前記操作の内容が前記データの削除である前記部分レコードが探索された場合、前記特定のプライマリーキーについての前記追加レコードが存在しないものと判定する、
レコード反映プログラム。
In claim 4,
In the search process, when searching for the additional record for a specific primary key, the content of the operation is the content of the operation prior to the partial record that is the addition of the data or the update of the data. When the partial record which is the deletion of the data is searched, it is determined that the additional record for the specific primary key does not exist.
Record reflection program.
請求項4において、
前記反映を行う処理では、
前記データベースに格納されたデータから、最初に探索された前記プライマリーキーごとの前記削除レコードが示すデータを削除し、
前記データベースに、最初に探索された前記プライマリーキーごとの前記追加レコードが示すデータを追加する、
レコード反映プログラム。
In claim 4,
In the process of performing the reflection,
From the data stored in the database, delete the data indicated by the deletion record for each of the primary keys searched first.
Adding data indicated by the additional record for each of the primary keys searched first to the database;
Record reflection program.
請求項6において、
前記探索する処理では、
前記削除レコードが存在するものと判定した場合、存在した前記削除レコードに対応する前記生成順を第1生成順として特定し、
前記追加レコードが存在するものと判定した場合、存在した前記追加レコードに対応する前記生成順を第2生成順として特定し、
前記反映を行う処理では、
前記複数のレコードのうち、特定した前記第1生成順に対応するレコードが示すデータを、前記データベースに格納されたデータから削除し、
前記複数のレコードのうち、特定した前記第2生成順に対応するレコードが示すデータを、前記データベースに追加する、
レコード反映プログラム。
In claim 6,
In the process of searching,
If it is determined that the deleted record exists, the generation order corresponding to the existing deleted record is specified as a first generation order,
When it is determined that the additional record exists, the generation order corresponding to the existing additional record is specified as a second generation order,
In the process of performing the reflection,
Data indicated by a record corresponding to the specified first generation order among the plurality of records is deleted from the data stored in the database,
The data indicated by the record corresponding to the specified second generation order among the plurality of records is added to the database.
Record reflection program.
コンピュータに、
データベースのプライマリーキーごとに、差分ログに含まれる複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、
処理を実行させるレコード反映プログラム。
On the computer
An operation of searching for a deletion record indicating an operation of deleting data stored in the database from a plurality of records included in the difference log for each primary key of the database in the order of early record generation and adding the data Search for additional records indicating the order in which the record generation is late,
The plurality of records are reflected on the database based on the deletion record and the additional record for each primary key searched first.
Record reflection program that executes processing.
差分ログに含まれる複数のレコードを前記コンピュータのプロセッサと異なるプロセッサである特定のプロセッサに読み込ませるレコード格納部と、
前記特定のプロセッサにおいて、前記データベースのプライマリーキーごとに、前記複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索するレコード探索部と、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行うレコード反映部と、を有する、
レコード反映装置。
A record storage unit that causes a specific processor, which is a processor different from the processor of the computer, to read a plurality of records included in the difference log;
In the specific processor, for each primary key of the database, the plurality of records are searched for a deletion record indicating an operation to delete data stored in the database in order of record generation, and addition of the data is performed. A record search unit that searches additional records indicating an operation to perform in the order of late record generation;
A record reflecting unit that reflects the plurality of records on the database based on the deletion record and the additional record for each primary key initially searched;
Record reflection device.
データベースのプライマリーキーごとに、差分ログに含まれる複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索するレコード探索部と、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行うレコード反映部と、を有する、
レコード反映装置。
An operation of searching for a deletion record indicating an operation of deleting data stored in the database from a plurality of records included in the difference log for each primary key of the database in the order of early record generation and adding the data A record search unit that searches for additional records indicating the order of generation of the records in the order of late
A record reflecting unit that reflects the plurality of records on the database based on the deletion record and the additional record for each primary key initially searched;
Record reflection device.
差分ログに含まれる複数のレコードを前記コンピュータのプロセッサと異なるプロセッサである特定のプロセッサに読み込ませ、
前記特定のプロセッサにおいて、前記データベースのプライマリーキーごとに、前記複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、
レコード反映方法。
Read a plurality of records included in the differential log into a specific processor that is different from the processor of the computer,
In the specific processor, for each primary key of the database, the plurality of records are searched for a deletion record indicating an operation to delete data stored in the database in order of record generation, and addition of the data is performed. Search for additional records indicating the operation to
The plurality of records are reflected on the database based on the deletion record and the additional record for each primary key searched first.
Record reflection method.
データベースのプライマリーキーごとに、差分ログに含まれる複数のレコードから、前記データベースに格納されたデータの削除を行う操作を示す削除レコードをレコードの生成が早い順に探索し、前記データの追加を行う操作を示す追加レコードをレコードの生成が遅い順に探索し、
最初に探索された前記プライマリーキーごとの前記削除レコードと前記追加レコードとに基づき、前記データベースに対する前記複数のレコードの反映を行う、
レコード反映方法。
An operation of searching for a deletion record indicating an operation of deleting data stored in the database from a plurality of records included in the difference log for each primary key of the database in the order of early record generation and adding the data Search for additional records indicating the order in which the record generation is late,
The plurality of records are reflected on the database based on the deletion record and the additional record for each primary key searched first.
Record reflection method.
JP2017081294A 2017-04-17 2017-04-17 Record reflecting program, record reflecting device and record reflecting method Pending JP2018181042A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017081294A JP2018181042A (en) 2017-04-17 2017-04-17 Record reflecting program, record reflecting device and record reflecting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017081294A JP2018181042A (en) 2017-04-17 2017-04-17 Record reflecting program, record reflecting device and record reflecting method

Publications (1)

Publication Number Publication Date
JP2018181042A true JP2018181042A (en) 2018-11-15

Family

ID=64275701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017081294A Pending JP2018181042A (en) 2017-04-17 2017-04-17 Record reflecting program, record reflecting device and record reflecting method

Country Status (1)

Country Link
JP (1) JP2018181042A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02137064A (en) * 1988-11-18 1990-05-25 Hitachi Ltd Record retrieving system
JPH06266599A (en) * 1993-03-11 1994-09-22 Hitachi Ltd Data base update information transfer system
JP2011118771A (en) * 2009-12-04 2011-06-16 Sony Corp Information processor, information processing method, data management server, and data synchronization system
JP2012155634A (en) * 2011-01-28 2012-08-16 Fujitsu Frontech Ltd Information processing program, information processing device and information processing method
JP2013178685A (en) * 2012-02-29 2013-09-09 Nec Corp Data processing system with asynchronous backup function, front system, backup method and program therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02137064A (en) * 1988-11-18 1990-05-25 Hitachi Ltd Record retrieving system
JPH06266599A (en) * 1993-03-11 1994-09-22 Hitachi Ltd Data base update information transfer system
JP2011118771A (en) * 2009-12-04 2011-06-16 Sony Corp Information processor, information processing method, data management server, and data synchronization system
JP2012155634A (en) * 2011-01-28 2012-08-16 Fujitsu Frontech Ltd Information processing program, information processing device and information processing method
JP2013178685A (en) * 2012-02-29 2013-09-09 Nec Corp Data processing system with asynchronous backup function, front system, backup method and program therefor

Similar Documents

Publication Publication Date Title
US11669510B2 (en) Parallel processing of disjoint change streams into a single stream
US10872081B2 (en) Redis-based database data aggregation and synchronization method
JP6050343B2 (en) Automatically synchronize a list of recently used documents
US9811577B2 (en) Asynchronous data replication using an external buffer table
US10007548B2 (en) Transaction system
US9020916B2 (en) Database server apparatus, method for updating database, and recording medium for database update program
US11030196B2 (en) Method and apparatus for processing join query
US20170177693A1 (en) Synchronization adapter for synchronizing data to applications that do not directly support synchronization
US11308060B2 (en) Method, apparatus, device and storage medium for managing index
EP3772691A1 (en) Database server device, server system and request processing method
US10671565B2 (en) Partitioning target data to improve data replication performance
US11822535B2 (en) Director-based database system for transactional consistency
US10956386B2 (en) Methods and apparatuses for automated performance tuning of a data modeling platform
JP2018181042A (en) Record reflecting program, record reflecting device and record reflecting method
JP6677605B2 (en) Program, storage system, and storage system control method
US20170091253A1 (en) Interrupted synchronization detection and recovery
JP5472885B2 (en) Program, stream data processing method, and stream data processing computer
CN118503319B (en) Database operation method, device, equipment, storage medium and product
WO2019126154A1 (en) System and method for data storage management
US11494382B2 (en) Optimization of first set of ordered items
US12086139B2 (en) In-memory graph query engine with persisted storage
US11775497B2 (en) Computer-readable recording medium storing information processing program for generating partial data lineage, method of generating partial data lineage, and information processing device for generating partial data lineage
US20180225318A1 (en) Data storing method using multi-version based data structure
US20230281009A1 (en) Managing artifact information including finding a searched artifact information item
CN118503319A (en) Database operation method, device, equipment, storage medium and product

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210511