JP2023151992A - Data collection system, method, and program - Google Patents

Data collection system, method, and program Download PDF

Info

Publication number
JP2023151992A
JP2023151992A JP2022061897A JP2022061897A JP2023151992A JP 2023151992 A JP2023151992 A JP 2023151992A JP 2022061897 A JP2022061897 A JP 2022061897A JP 2022061897 A JP2022061897 A JP 2022061897A JP 2023151992 A JP2023151992 A JP 2023151992A
Authority
JP
Japan
Prior art keywords
data
association information
unit
storage unit
transfer unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022061897A
Other languages
Japanese (ja)
Inventor
大輔 伊藤
Daisuke Ito
信一郎 齊藤
Shinichiro Saito
拓哉 羽原
Takuya Hanehara
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2022061897A priority Critical patent/JP2023151992A/en
Publication of JP2023151992A publication Critical patent/JP2023151992A/en
Pending legal-status Critical Current

Links

Images

Abstract

To achieve data order guarantee and high scalability.SOLUTION: Data receiving units 103 and 113 perform mutually synchronized time management, add a timestamp representing a time based on the time management to data received from the data source, and transmit data and association information that associates data identification information and the timestamp to data transfer units 104 and 114, the data transfer units 104 and 114 receive data and association information from the data receiving units 103 and 113, temporarily save the association information and transfer the data and the association information to a data storage unit 105, and cancel the temporary storage of the association information after confirming that the data has been saved in the data storage unit 105.SELECTED DRAWING: Figure 1

Description

本開示は、データを収集する技術に関する。 TECHNICAL FIELD This disclosure relates to techniques for collecting data.

複数の情報システムによるデータの連携を図るためにデータハブが注目されている。データハブにはデータロスが少なくかつスケーラビリティが高いという特徴がある。近年では、データハブが適用される領域が拡大し、それに伴ってデータハブによって扱うデータも多様化している。例えば、データハブには、装置から出力される数値情報の収集だけでなく、ファイル転送への利用も要求される。ファイル転送ではデータ間の順序保証が要求される場合も多い。そして、バッチ処理を行う情報システムからは同時期に大量のデータがデータハブに出力される。 Data hubs are attracting attention in order to link data from multiple information systems. Data hubs are characterized by low data loss and high scalability. In recent years, the areas to which data hubs are applied have expanded, and the data handled by data hubs has also become more diverse. For example, a data hub is required not only to collect numerical information output from devices, but also to use it for file transfer. File transfer often requires guaranteeing the order of data. At the same time, a large amount of data is output from the information systems that perform batch processing to the data hub.

特許文献1には、データの順序保証を行う技術が開示されている。特許文献1に開示されたデータ処理システムは、ネットワークに接続されるルータと、ルータに接続される負荷分散サーバと、負荷分散サーバに接続される複数の受付サーバと、複数の受付サーバに接続される処理サーバとから構成される。ルータは、入力されるパケットに対しタイムスタンプを付与する。受付サーバは、同一の識別子を有する複数のパケットに分割されて伝送されたトランザクションに対し、複数のパケットに付与したタイムスタンプの最も遅い時刻をトランザクションの受付時刻として付与する。処理サーバは、複数の受付サーバから受信した複数のトランザクションを、予め設定した最大遅延時間を経過したトランザクションに対し付与されたトランザクションの受付時刻に従ってソートして処理する。 Patent Document 1 discloses a technique for guaranteeing the order of data. The data processing system disclosed in Patent Document 1 includes a router connected to a network, a load distribution server connected to the router, a plurality of reception servers connected to the load distribution server, and a plurality of reception servers connected to the router. It consists of a processing server. The router adds a timestamp to the input packet. The reception server adds the latest time of the timestamps added to the plurality of packets as the reception time of the transaction to the transaction that is divided into a plurality of packets having the same identifier and transmitted. The processing server sorts and processes a plurality of transactions received from a plurality of reception servers according to transaction reception times assigned to transactions for which a preset maximum delay time has elapsed.

特開2012-129857号公報Japanese Patent Application Publication No. 2012-129857

上述のように特許文献1の技術ではルータがパケットにタイムスタンプを付与する。ルータはパケットが必ず通る経路となり、そこでタイムスタンプを付与することによりパケットの順序保証が実現される。 As described above, in the technology of Patent Document 1, the router adds a timestamp to the packet. The router is the route that packets always take, and by adding a timestamp there, the order of the packets can be guaranteed.

しかしながら、順序保証を実現するために1箇所のルータでパケットにタイムスタンプを付与するため、複数の受付サーバによってパケットの処理負荷を分散する構成であっても、システム全体としてのスケーラビリティに限界がある。 However, in order to guarantee ordering, a single router adds timestamps to packets, so even if the packet processing load is distributed among multiple reception servers, there is a limit to the scalability of the system as a whole. .

本開示の目的のひとつは、データの順序保証と高いスケーラビリティとを実現する技術を提供することである。 One of the purposes of the present disclosure is to provide a technology that achieves data order guarantee and high scalability.

本開示のひとつの態様に従うデータ収集システムは、データソースからのデータの受け付けの処理を分担する複数のデータ受信部と、前記データ受信部のそれぞれに対応して設けられ、前記データ受信部で受け付けられたデータを転送する複数のデータ転送部と、前記複数のデータ転送部から転送された前記データを受信して保存するデータ蓄積部と、を有し、前記複数のデータ受信部は、互いに同期した時刻管理を行っており、前記受け付けたデータに対して、前記時刻管理に基づく時刻を表すタイムスタンプを付与し、前記データと、前記データの識別情報と前記タイムスタンプとを対応づけた対応付け情報とを前記データ転送部に送信し、前記データ転送部は、前記データ受信部から前記データと前記対応付け情報とを受信し、前記対応付け情報を一時的に保存して前記データおよび前記対応付け情報を前記データ蓄積部に転送し、前記データが前記データ蓄積部に保存されたことを確認してから前記対応付け情報の一時的な保存を解除する。 A data collection system according to one aspect of the present disclosure includes a plurality of data receiving units that share the processing of accepting data from a data source, and is provided corresponding to each of the data receiving units, and the data receiving unit receives data from a data source. and a data storage section that receives and stores the data transferred from the plurality of data transfer sections, and the plurality of data reception sections are synchronized with each other. A time stamp indicating the time based on the time management is assigned to the received data, and the data is associated with the identification information of the data and the time stamp. information to the data transfer unit, and the data transfer unit receives the data and the association information from the data reception unit, temporarily stores the association information, and transmits the data and the association information. The association information is transferred to the data storage unit, and after confirming that the data has been saved in the data storage unit, the temporary storage of the association information is canceled.

本開示のひとつの態様によれば、データの順序保証と高いスケーラビリティとを実現することが可能となる。 According to one aspect of the present disclosure, it is possible to guarantee data order and achieve high scalability.

本実施形態の情報収集システムを示すブロック図である。FIG. 1 is a block diagram showing an information collection system according to the present embodiment. 図1に示した情報収集システムにおいてデータ受信部及びデータ転送部にて障害が発生していない場合の処理を説明するためのシーケンス図である。FIG. 2 is a sequence diagram for explaining processing when no failure occurs in the data receiving section and the data transfer section in the information collection system shown in FIG. 1. FIG. 図2に示したデータ受信部における処理の詳細を説明するためのフローチャートである。3 is a flowchart for explaining details of processing in the data receiving section shown in FIG. 2. FIG. 図2に示したデータ転送部における処理の詳細を説明するためのフローチャートである。3 is a flowchart for explaining details of processing in the data transfer unit shown in FIG. 2. FIG. 図1に示した仕掛中状態管理データベースの構成の一例を示す図である。FIG. 2 is a diagram showing an example of the configuration of the in-process state management database shown in FIG. 1. FIG. 図1に示したデータ保存先データベースの構成の一例を示す図である。FIG. 2 is a diagram illustrating an example of the configuration of a data storage destination database illustrated in FIG. 1. FIG. 図1に示した情報収集システムにおいてデータ収集処理中にデータ受信部にて障害が発生した場合の処理を説明するためのシーケンス図である。FIG. 2 is a sequence diagram for explaining processing when a failure occurs in a data receiving unit during data collection processing in the information collection system shown in FIG. 1; 図1に示した情報収集システムにおいてデータ受信部からデータ転送部にデータ転送後にデータ受信部にて障害が発生した場合の処理を説明するためのシーケンス図である。FIG. 2 is a sequence diagram for explaining processing when a failure occurs in the data receiving section after data is transferred from the data receiving section to the data transferring section in the information collection system shown in FIG. 1; 図1に示した情報収集システムにおいてデータ転送部からデータ蓄積部にデータを転送する前にデータ転送部にて障害が発生した場合の処理を説明するためのシーケンス図である。FIG. 2 is a sequence diagram for explaining processing when a failure occurs in the data transfer unit before data is transferred from the data transfer unit to the data storage unit in the information collection system shown in FIG. 1; 図1に示した情報収集システムにおいてデータ転送部からデータ蓄積部にデータを転送中にデータ転送部にて障害が発生した場合の処理を説明するためのシーケンス図である。FIG. 2 is a sequence diagram for explaining processing when a failure occurs in the data transfer unit while transferring data from the data transfer unit to the data storage unit in the information collection system shown in FIG. 1; 図9及び図10に示したデータ転送部における処理の詳細を説明するためのフローチャートである。11 is a flowchart for explaining details of processing in the data transfer unit shown in FIGS. 9 and 10. FIG. 図1に示した情報収集システムにおいてデータ受信部及びデータ転送部にて障害が発生していない場合の処理の他の例を説明するためのシーケンス図である。FIG. 2 is a sequence diagram for explaining another example of processing when no failure occurs in the data receiving section and the data transfer section in the information collection system shown in FIG. 1; 図12に示したデータ転送部における処理の詳細を説明するためのフローチャートである。13 is a flowchart for explaining details of processing in the data transfer unit shown in FIG. 12. FIG. 図1に示した仕掛中状態管理データベースの構成の一例を示す図である。FIG. 2 is a diagram showing an example of the configuration of the in-process state management database shown in FIG. 1. FIG. 図1に示した情報収集システムにおいてデータ転送部からデータ蓄積部にデータを転送する前にデータ転送部にて障害が発生した場合の処理の他の例を説明するためのシーケンス図である。FIG. 2 is a sequence diagram for explaining another example of processing when a failure occurs in the data transfer unit before data is transferred from the data transfer unit to the data storage unit in the information collection system shown in FIG. 1; 図15に示したデータ転送部における処理の詳細を説明するためのフローチャートである。16 is a flowchart for explaining details of processing in the data transfer unit shown in FIG. 15. FIG.

以下に、本発明の実施の形態について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.

図1は、本実施形態の情報収集システムを示すブロック図である。 FIG. 1 is a block diagram showing the information collection system of this embodiment.

本実施形態のデータ収集システム100は、図1に示すように、データソース101,111から送信されてきたデータをデータ利活用106のために転送するシステムであって、負荷分散部102と、データ受信部103,113と、データ転送部104,114と、データ蓄積部105とを有する。なお、データ受信部103,113及びデータ転送部104,114の数はそれぞれ2つに限らない。 As shown in FIG. 1, the data collection system 100 of this embodiment is a system that transfers data transmitted from data sources 101 and 111 for data utilization 106, and includes a load balancing unit 102, a data It includes receiving sections 103 and 113, data transfer sections 104 and 114, and data storage section 105. Note that the number of data receiving units 103, 113 and data transferring units 104, 114 is not limited to two.

負荷分散部102は、データソース101,111から送信されてきたデータを、例えばラウンドロビン等の決められた負荷分散方式でデータ受信部103,113に振り分けて送信する。なお、データを振り分ける方式は、負荷分散方式に限らず、また、振り分けたデータをチャンクと称する場合もある。 The load distribution unit 102 distributes and transmits data transmitted from the data sources 101 and 111 to the data reception units 103 and 113 using a predetermined load distribution method such as round robin. Note that the method for distributing data is not limited to the load distribution method, and the distributed data may also be referred to as chunks.

データ受信部103,113は、データソース101,111から負荷分散部102を介して送信されてきたデータの受付の処理を分担するものであって、それぞれ、互いに同期した時刻管理を行っており、受け付けたデータに対して、時刻管理に基づく時刻を表すタイムスタンプを時刻同期生成部131,132にて生成して付与し、受け付けたデータと、データの識別情報となるIDとタイムスタンプとを対応づけた対応付け情報とをデータ転送部104,114に送信する。 The data receiving units 103 and 113 share the processing of receiving data transmitted from the data sources 101 and 111 via the load distribution unit 102, and each performs mutually synchronized time management. The time synchronization generation units 131 and 132 generate and add a timestamp representing the time based on time management to the received data, and the received data is associated with an ID and a timestamp that serve as identification information of the data. The associated association information is transmitted to the data transfer units 104 and 114.

データ転送部104,114は、データ受信部103,113のそれぞれに対応して設けられ、データ受信部103,113で受け付けられたデータを転送するものであって、データ受信部103,113からデータと対応付け情報とを受信し、対応付け情報を一時的に保存してデータおよび対応付け情報をデータ蓄積部105に転送し、データがデータ蓄積部105に保存されたことを確認してから対応付け情報の一時的な保存を解除する。また、データ転送部104,114は、データ受信部103,113から受信したデータと対応付け情報とを用いて、仕掛中状態管理データベース141,142に新たなレコードを生成し、データ受信部103,113から受信したデータと対応付け情報とを仕掛中状態管理データベース141,142に保存するとともに、その転送状態となる仕掛中の状態を設定する。また、データ転送部104,114は、データ受信部103,113からデータと対応付け情報とを受信した後に障害となり、その障害から再開した場合、データの再送を促す応答を、データ受信部103,113を介してデータソース101,111に送信するとともに、対応付け情報を保持しておき、再送されてきたデータに対して、保持しておいた対応付け情報内のタイムスタンプを用いる。 The data transfer units 104 and 114 are provided corresponding to the data reception units 103 and 113, respectively, and are configured to transfer data received by the data reception units 103 and 113. and correspondence information, temporarily saves the correspondence information, transfers the data and correspondence information to the data storage unit 105, and takes action after confirming that the data has been saved in the data storage unit 105. Cancel temporary storage of tag information. Furthermore, the data transfer units 104 and 114 generate new records in the in-process state management databases 141 and 142 using the data and association information received from the data reception units 103 and 113, and The data and association information received from 113 are saved in the in-process state management databases 141 and 142, and the in-process state to be the transfer state is set. In addition, when the data transfer units 104 and 114 encounter a failure after receiving data and association information from the data reception units 103 and 113 and restart from the failure, the data transfer units 104 and 114 send a response prompting data retransmission to the data reception units 103 and 114. 113 to the data sources 101 and 111, and also holds the association information, and uses the time stamp in the held association information for the retransmitted data.

データ蓄積部105は、データ転送部104,114から転送されたデータを受信して保存するものであって、データ転送部104,114から転送されてきた対応付け情報内のタイムスタンプにより示された時刻をデータの作成時刻とし、データとその作成時刻とを対応づけてデータ保存先データベース151に保存する。 The data storage unit 105 receives and stores the data transferred from the data transfer units 104 and 114, and is indicated by the time stamp in the association information transferred from the data transfer units 104 and 114. The time is set as the data creation time, and the data and the creation time are stored in the data storage database 151 in association with each other.

以下に、上記のように構成された情報収集システムにおける処理について説明する。 Processing in the information collection system configured as described above will be described below.

まず、データ受信部103,113及びデータ転送部104,114にて障害が発生していない場合の処理について説明する。 First, a description will be given of processing when no failure occurs in the data receiving sections 103, 113 and the data transferring sections 104, 114.

図2は、図1に示した情報収集システムにおいてデータ受信部103,113及びデータ転送部104,114にて障害が発生していない場合の処理を説明するためのシーケンス図である。なお、図2においては、データソース101,111、データ受信部103,113及びデータ転送部104,114のうち、データソース101、データ受信部103及びデータ転送部104にデータを転送する場合を例に挙げて説明する。 FIG. 2 is a sequence diagram for explaining processing when no failure occurs in the data receiving units 103, 113 and data transfer units 104, 114 in the information collection system shown in FIG. In addition, in FIG. 2, the case where data is transferred to the data source 101, the data receiver 103, and the data transfer unit 104 among the data sources 101, 111, the data receivers 103, 113, and the data transfer units 104, 114 is shown as an example. I will list and explain.

ステップ201においてデータソース101からデータが送信されてくると、負荷分散部102は、ステップ202において、決められた負荷分散方式で転送先のデータ受信部を決定し、決定したデータ受信部103に対してステップ222にてデータを転送する。 When data is transmitted from the data source 101 in step 201, the load distribution unit 102 determines a data reception unit as a transfer destination using a predetermined load distribution method in step 202, and sends the data to the determined data reception unit 103. In step 222, the data is transferred.

負荷分散部102から転送されたデータを受信したデータ受信部103は、ステップ203における処理を行う。 The data receiving unit 103 that has received the data transferred from the load balancing unit 102 performs the process in step 203.

図3は、図2に示したデータ受信部103における処理の詳細を説明するためのフローチャートである。 FIG. 3 is a flowchart for explaining details of the processing in data receiving section 103 shown in FIG. 2.

ステップ203における処理では、データ受信部103は、負荷分散部102から転送されたデータを受信すると、まずステップ231において、互いに同期した時刻管理を行うために時刻同期生成部131にて高精度時刻同期(例えば、GPS(Global Positioning System)やPTP(Precision Time Protocol))により生成されたタイムスタンプを取得し、また、ステップ232において、データを識別するためのデータIDを生成する。なお、データIDは、例えば、「ファイル名」+「データソースのID」(IPアドレスやクライアントID等)からなり、同一のデータソースからの同一の名前のファイルには同一のIDが付与され、同一の名前のファイルであってもそれらが互いに異なるデータソースからのものであれば異なるIDが付与される。なお、GPSやPTPによって時刻管理を行うことで、高精度の時刻同期が可能となる。 In the process in step 203, when the data receiving unit 103 receives the data transferred from the load balancing unit 102, first in step 231, the time synchronization generating unit 131 performs high-precision time synchronization in order to perform mutually synchronized time management. A time stamp generated by (for example, GPS (Global Positioning System) or PTP (Precision Time Protocol)) is acquired, and in step 232, a data ID for identifying the data is generated. Note that the data ID consists of, for example, "file name" + "data source ID" (IP address, client ID, etc.), and files with the same name from the same data source are given the same ID. Even files with the same name are assigned different IDs if they are from different data sources. Note that highly accurate time synchronization is possible by managing time using GPS or PTP.

次に、データ受信部103は、ステップ233において、時刻同期生成部131から取得したタイムスタンプと、データ名と、データIDとを組み合わせて、対応付け情報となる三つ組を作成する。 Next, in step 233, the data receiving unit 103 combines the time stamp acquired from the time synchronization generating unit 131, the data name, and the data ID to create a triplet that serves as association information.

次に、データ受信部103は、ステップ234において、負荷分散部102から転送されたデータと、ステップ233にて作成した三つ組とをデータ転送部104に転送し、ステップ705において、ステップ203における処理を終了する。 Next, in step 234, the data receiving unit 103 transfers the data transferred from the load distribution unit 102 and the triplet created in step 233 to the data transfer unit 104, and in step 705, the process in step 203 is performed. finish.

データ受信部103から転送されたデータ及び三つ組を受信したデータ転送部104は、ステップ204における処理を行う。 The data transfer unit 104, which has received the data and triplet transferred from the data reception unit 103, performs the process in step 204.

図4は、図2に示したデータ転送部104における処理の詳細を説明するためのフローチャートである。 FIG. 4 is a flowchart for explaining details of processing in data transfer unit 104 shown in FIG. 2.

ステップ204における処理では、データ転送部104は、データ受信部103から転送されたデータ及び三つ組を受信すると、まずステップ801において、仕掛中状態管理データベース141に、受信した三つ組が保存されているかどうかを判断する。これは、三つ組内のデータIDを用いて行う。 In the process in step 204, upon receiving the data and triplet transferred from the data receiving unit 103, the data transfer unit 104 first checks in step 801 whether or not the received triplet is stored in the in-process status management database 141. to decide. This is done using the data ID within the triplet.

仕掛中状態管理データベース141に、受信した三つ組が保存されていない場合は、データ転送部104は、ステップ241において、仕掛中状態管理データベース141に新たなレコードを生成し、データ受信部103から受信したデータと三つ組とを仕掛中状態管理データベース141に保存するとともに、その転送状態となる仕掛中の状態を「受信」に設定する。 If the received triplet is not stored in the in-process state management database 141, the data transfer unit 104 generates a new record in the in-process state management database 141 in step 241, and the data transfer unit 104 generates a new record in the in-process state management database 141, The data and the triplet are saved in the in-process state management database 141, and the in-process state, which is the transfer state, is set to "receive".

また、仕掛中状態管理データベース141に、受信した三つ組が保存されている場合は、データ転送部104は、ステップ242において、保存されている三つ組の転送状態となる仕掛中の状態を「転送中」に変更する。 Further, if the received triplet is stored in the in-process state management database 141, the data transfer unit 104 sets the in-process state, which is the transfer state of the stored triplet, to "transferring" in step 242. Change to

図5は、図1に示した仕掛中状態管理データベース141,142の構成の一例を示す図である。 FIG. 5 is a diagram showing an example of the configuration of the in-process status management databases 141 and 142 shown in FIG. 1.

図5に示すように、図1に示した仕掛中状態管理データベース141,142には、タイムスタンプ1001,データ名102及びデータID1003からなる三つ組について、その転送状態1004が対応づけて設定されている。 As shown in FIG. 5, in the in-process state management databases 141 and 142 shown in FIG. .

次に、データ転送部104は、ステップ243において、データ受信部103から受信したデータと三つ組とをデータ蓄積部105に転送し、ステップ802においてデータ蓄積部105からの応答を待つ。 Next, in step 243, the data transfer unit 104 transfers the data and triplet received from the data reception unit 103 to the data storage unit 105, and waits for a response from the data storage unit 105 in step 802.

データ蓄積部105は、データ転送部104から転送されてきたデータとその三つ組を受信すると、ステップ205における処理において、受信したデータをデータ保存先データベース151にステップ251にて保存し、ステップ252において、データ転送部104から受信したデータをデータ保存先データベース151にステップ251にて保存した旨をACKとしてデータ転送部104に返す。 When the data storage unit 105 receives the data and its triplet transferred from the data transfer unit 104, in the process in step 205, the data storage unit 105 stores the received data in the data storage database 151 in step 251, and in step 252, An ACK is returned to the data transfer unit 104 indicating that the data received from the data transfer unit 104 has been saved in the data storage database 151 in step 251.

また、データ蓄積部105は、その際、ステップ253において、三つ組内のタイムスタンプにより示された時刻をデータの作成時刻とし、データとその作成時刻とを対応づけてデータ保存先データベース151に保存する。 At this time, in step 253, the data storage unit 105 sets the time indicated by the timestamp in the triplet as the data creation time, associates the data with the creation time, and stores it in the data storage database 151. .

図6は、図1に示したデータ保存先データベース151の構成の一例を示す図である。 FIG. 6 is a diagram showing an example of the configuration of the data storage database 151 shown in FIG. 1. As shown in FIG.

図6に示すように、図1に示したデータ保存先データベース151には、データ蓄積部105がデータ転送部104から受信した三つ組内のデータ名1101、データID1102及びタイムスタンプ1103が、そのデータのコンテンツを示すデータコンテンツ1104と対応づけて保存される。 As shown in FIG. 6, in the data storage database 151 shown in FIG. It is stored in association with data content 1104 indicating the content.

このように、データ受信部103でのタイムスタンプをデータの作成時刻とするので、複数のデータ受信部が管理する精度の高い時刻により作成時刻を設定することができる。 In this way, since the time stamp in the data receiving section 103 is used as the data creation time, the creation time can be set using highly accurate times managed by a plurality of data receiving sections.

データ転送部104は、データ蓄積部105からのACKを受信すると、ステップ244において、仕掛中状態管理データベース141に保存されている三つ組のうち、データ蓄積部105からのACKに対応する三つ組についてデータがデータ蓄積部105に保存されたことを確認し、その転送状態となる仕掛中の状態を「転送完了」に変更する。 When the data transfer unit 104 receives the ACK from the data storage unit 105, in step 244, the data transfer unit 104 transfers the data for the three sets corresponding to the ACK from the data storage unit 105 among the three sets stored in the in-process state management database 141. After confirming that the data has been saved in the data storage unit 105, the transfer status (in progress) is changed to "transfer completed".

その後、データ転送部104は、ステップ245において、データ蓄積部105からのACKに対応する三つ組についてのACKをデータ受信部103に返し、ステップ246において、仕掛中状態管理データベース141に保存されていた三つ組の一時的な保存を解除して削除し、ステップ807において、ステップ204における処理を終了する。 Thereafter, in step 245, the data transfer unit 104 returns an ACK for the triplet corresponding to the ACK from the data storage unit 105 to the data receiving unit 103, and in step 246, The temporary storage is canceled and deleted, and the process in step 204 is ended in step 807.

データ受信部103は、データ転送部104からのACKを受信すると、ステップ206において、ステップ261として負荷分散部102にACKを返し、負荷分散部102は、データ受信部103からのACKを受信すると、ステップ202において、ステップ223としてデータソース101にACKを返す。 Upon receiving the ACK from the data transfer section 104, the data reception section 103 returns an ACK to the load distribution section 102 in step 261 in step 206, and upon receiving the ACK from the data reception section 103, the load distribution section 102 In step 202, ACK is returned to the data source 101 in step 223.

その後、データソース101は、ステップ212において、負荷分散部102に送信したデータを削除する。 Thereafter, the data source 101 deletes the data sent to the load distribution unit 102 in step 212.

このように、複数で負荷分散するデータ受信部での時刻管理に基づいてデータの順序保証を行うので、データの順序保証と高いスケラビリティとを併せて実現することができる。 In this way, data order is guaranteed based on time management in multiple data receiving units that distribute the load, so it is possible to simultaneously achieve data order guarantee and high scalability.

次に、データ収集処理中にデータ受信部103,113にて障害が発生した場合の処理について説明する。 Next, a description will be given of processing when a failure occurs in the data receiving units 103 and 113 during data collection processing.

図7は、図1に示した情報収集システムにおいてデータ収集処理中にデータ受信部103にて障害が発生した場合の処理を説明するためのシーケンス図である。 FIG. 7 is a sequence diagram for explaining processing when a failure occurs in the data receiving unit 103 during data collection processing in the information collection system shown in FIG.

図2に示したデータソース101におけるステップ201の処理からデータ受信部103におけるステップ233の処理を行った後に、データ受信部103においてステップ301にて障害が発生し、負荷分散部102において、ステップ321にて例えばタイムアウトやハートビートを用いて障害を検出した場合、負荷分散部102は、データの収集処理に失敗した旨を示すネガティブACKをステップ322にてデータソース101に返す。 After the processing from step 201 in the data source 101 to step 233 in the data receiving unit 103 shown in FIG. If a failure is detected using, for example, a timeout or a heartbeat, the load balancing unit 102 returns a negative ACK to the data source 101 in step 322, indicating that the data collection process has failed.

その後、データ受信部103は、ステップ302にて障害から回復したとしても、負荷分散部102から送信されてきたデータを保持していないため、図2に示した処理と同様の処理が行われることになる。 Thereafter, even if the data receiving unit 103 recovers from the failure in step 302, it does not retain the data sent from the load balancing unit 102, so the same process as shown in FIG. 2 is performed. become.

次に、データ受信部103からデータ転送部104にデータ転送後にデータ受信部103にて障害が発生した場合の処理について説明する。 Next, a description will be given of processing when a failure occurs in the data receiving section 103 after data is transferred from the data receiving section 103 to the data transferring section 104.

図8は、図1に示した情報収集システムにおいてデータ受信部103からデータ転送部104にデータ転送後にデータ受信部103にて障害が発生した場合の処理を説明するためのシーケンス図である。 FIG. 8 is a sequence diagram for explaining processing when a failure occurs in the data receiving unit 103 after data is transferred from the data receiving unit 103 to the data transferring unit 104 in the information collection system shown in FIG.

図2に示したデータソース101におけるステップ201の処理からデータ受信部103におけるステップ234の処理を行った後に、データ受信部103においてステップ401にて障害が発生したとしても、データ受信部103からデータ転送部104にデータとその三つ組が転送されているため、データ転送部104とデータ蓄積部105においては、図2の示したものと同様の処理が行われる。 Even if a failure occurs in step 401 in the data receiving unit 103 after the processing in step 201 in the data source 101 shown in FIG. Since the data and its triplet have been transferred to the transfer unit 104, the same processing as shown in FIG. 2 is performed in the data transfer unit 104 and the data storage unit 105.

また、データ転送部104からステップ245にてACKが返された際、ステップ402にてデータ受信部103が障害から回復していれば、その後のデータ受信部103,負荷分散部102及びデータソース101においては、図2の示したものと同様の処理が行われる。 Further, when the data transfer unit 104 returns ACK in step 245, if the data reception unit 103 has recovered from the failure in step 402, the subsequent data reception unit 103, load distribution unit 102, and data source 101 In this case, processing similar to that shown in FIG. 2 is performed.

次に、データ転送部104からデータ蓄積部105にデータを転送する前にデータ転送部104にて障害が発生した場合の処理について説明する。 Next, a description will be given of processing when a failure occurs in the data transfer unit 104 before data is transferred from the data transfer unit 104 to the data storage unit 105.

図9は、図1に示した情報収集システムにおいてデータ転送部104からデータ蓄積部105にデータを転送する前にデータ転送部104にて障害が発生した場合の処理を説明するためのシーケンス図である。 FIG. 9 is a sequence diagram for explaining processing when a failure occurs in the data transfer unit 104 before data is transferred from the data transfer unit 104 to the data storage unit 105 in the information collection system shown in FIG. be.

図2に示したデータソース101におけるステップ201の処理からデータ転送部104におけるステップ241の処理を行った後に、データ転送部104においてステップ501にて障害が発生した場合、その後、データ転送部104がステップ502にて障害から回復すると、データ転送部104は、ステップ504において、仕掛中状態管理データベース141から、状態が「受信」となっている三つ組をステップ541として検出する。 If a failure occurs in step 501 in the data transfer unit 104 after the process from step 201 in the data source 101 to step 241 in the data transfer unit 104 shown in FIG. After recovering from the failure in step 502, the data transfer unit 104 detects, as step 541, a triple whose status is "receiving" from the in-process status management database 141 in step 504.

そして、データ転送部104は、データの収集処理に失敗した旨を示すネガティブACKをステップ542にてデータ受信部103に返す。この際、データ転送部104は、仕掛中状態管理データベース141から検出した三つ組を削除しない。 Then, the data transfer unit 104 returns a negative ACK indicating that the data collection process has failed to the data reception unit 103 in step 542. At this time, the data transfer unit 104 does not delete the detected triple from the in-process state management database 141.

データ受信部103は、データ転送部104からネガティブACKを受け取ると、ステップ506においてネガティブACKをステップ561として負荷分散部102に返す。 Upon receiving the negative ACK from the data transfer unit 104, the data receiving unit 103 returns the negative ACK to the load distribution unit 102 in step 506 as step 561.

負荷分散部102は、データ受信部103からネガティブACKを受け取ると、ステップ202においてネガティブACKをステップ521としてデータソース101に返す。 When the load balancing unit 102 receives the negative ACK from the data receiving unit 103, the load distribution unit 102 returns the negative ACK to the data source 101 in step 521 in step 202.

その後、図2に示した一連の処理が再度行われることなるが、データ転送部104においては、仕掛中状態管理データベース141から検出した三つ組を削除していないため、再送されてきたデータに、保持していたタイムスタンプを用いることになる。 Thereafter, the series of processes shown in FIG. 2 will be performed again, but since the data transfer unit 104 has not deleted the triples detected from the in-process state management database 141, the retained data will not be included in the retransmitted data. The previous timestamp will be used.

このように、データの再送時に前回のタイムスタンプを用いるので、再送によるデータの順序入れ替わりを防止することができる。 In this way, since the previous timestamp is used when retransmitting data, it is possible to prevent the order of data from being changed due to retransmission.

次に、データ転送部104からデータ蓄積部105にデータを転送中にデータ転送部104にて障害が発生した場合の処理について説明する。 Next, a description will be given of processing when a failure occurs in the data transfer unit 104 while data is being transferred from the data transfer unit 104 to the data storage unit 105.

図10は、図1に示した情報収集システムにおいてデータ転送部104からデータ蓄積部105にデータを転送中にデータ転送部104にて障害が発生した場合の処理を説明するためのシーケンス図である。 FIG. 10 is a sequence diagram for explaining processing when a failure occurs in the data transfer unit 104 while transferring data from the data transfer unit 104 to the data storage unit 105 in the information collection system shown in FIG. .

図2に示したデータソース101におけるステップ201の処理からデータ転送部104におけるステップ243の処理を行った後に、データ転送部104においてステップ601にて障害が発生した場合、データ蓄積部105においては、ステップ205において、データ蓄積部105から転送されてきたデータをデータ保存先データベース151に保存しているものの、全てのデータを転送したか不明である。 If a failure occurs in step 601 in the data transfer unit 104 after the process from step 201 in the data source 101 to the process in step 243 in the data transfer unit 104 shown in FIG. In step 205, although the data transferred from the data storage unit 105 is stored in the data storage destination database 151, it is unclear whether all the data has been transferred.

そのため、その後にデータ転送部104がステップ602にて障害から回復すると、ステップ604における処理を行う。 Therefore, when the data transfer unit 104 recovers from the failure in step 602, it performs the process in step 604.

図11は、図9及び図10に示したデータ転送部104における処理の詳細を説明するためのフローチャートである。 FIG. 11 is a flowchart for explaining details of the processing in the data transfer unit 104 shown in FIGS. 9 and 10.

データ転送部104はステップ901にて処理を開始すると、まず、ステップ902において、仕掛中状態管理データベース141の中に、状態が「受信」の三つ組があるか判断する。 When the data transfer unit 104 starts processing in step 901, it first determines in step 902 whether there is a triple whose status is "receiving" in the in-process status management database 141.

そして、仕掛中状態管理データベース141の中に、状態が「受信」の三つ組がある場合は、図9に示したように、ステップ542において、状態が「受信」の三つ組に関するネガティブACKをデータ受信部103に返す。 If there is a triplet whose status is "receiving" in the in-process status management database 141, as shown in FIG. Return to 103.

仕掛中状態管理データベース141の中に、状態が「受信」の三つ組がない場合や、仕掛中状態管理データベース141の中に、状態が「受信」の三つ組がある場合であって、状態が「受信」の三つ組に関するネガティブACKをデータ受信部103に返した後、データ転送部104は、ステップ903において、仕掛中状態管理データベース141の中に、状態が「転送中」の三つ組があるか判断する。 If there is no triplet with the status "receiving" in the in-process status management database 141, or if there is a triplet with the status "receiving" in the in-progress status management database 141, and the status is "receiving". After returning a negative ACK regarding the triplet "transferring" to the data receiving unit 103, the data transfer unit 104 determines in step 903 whether there is a triplet whose status is "transferring" in the in-process status management database 141.

そして、仕掛中状態管理データベース141の中に、状態が「転送中」の三つ組がある場合は、ステップ641において、仕掛中状態管理データベース141の中に、状態が「転送中」の三つ組を検出したとして、ステップ642において、データ蓄積部105に対して、検出した三つ組のデータIDが示すデータの削除を依頼し、ステップ931において、それに対するデータ蓄積部105からのACKを待つ。 If there is a triple whose status is "transferring" in the in-process state management database 141, in step 641, a triple whose state is "transferring" is detected in the in-process state management database 141. In step 642, the data storage unit 105 is requested to delete the data indicated by the detected triplet of data IDs, and in step 931, an ACK from the data storage unit 105 is awaited.

データ蓄積部105は、ステップ651において、データ転送部104からの依頼に従ってデータ保存先データベース151からデータを削除し、ステップ652において、データを削除した旨を示すACKをデータ転送部104に返す。 In step 651, data storage unit 105 deletes data from data storage database 151 in accordance with the request from data transfer unit 104, and in step 652, returns ACK to data transfer unit 104 indicating that the data has been deleted.

データ転送部104は、データ蓄積部105からのACKを受け取ると、ステップ604において、データ蓄積部105に削除を依頼した三つ組のデータの収集処理に失敗した旨を示すネガティブACKをステップ643としてデータ受信部103に返す。 When the data transfer unit 104 receives the ACK from the data storage unit 105, in step 604, the data transfer unit 104 sends a negative ACK indicating that the data collection processing of the triplet of data requested to be deleted from the data storage unit 105 has failed in step 643, and receives the data. It is returned to section 103.

また、データ転送部104は、仕掛中状態管理データベース141に保存された三つ組を削除せず、ステップ644において、その状態を「転送中」から「受信」に変更する。 Furthermore, the data transfer unit 104 does not delete the triplet stored in the in-process status management database 141, but changes its status from "transferring" to "receiving" in step 644.

そして、データ転送部104は、ステップ904にてその処理を終了する。 The data transfer unit 104 then ends the process in step 904.

データ受信部103は、データ転送部104からネガティブACKを受け取ると、ステップ661においてネガティブACKをステップ662として負荷分散部102に返す。 Upon receiving the negative ACK from the data transfer unit 104, the data receiving unit 103 returns the negative ACK to the load distribution unit 102 in step 661 in step 662.

負荷分散部102は、データ受信部103からネガティブACKを受け取ると、ステップ202においてネガティブACKをステップ621としてデータソース101に返す。 When the load distribution unit 102 receives the negative ACK from the data reception unit 103, the load distribution unit 102 returns the negative ACK to the data source 101 in step 202 as step 621.

その後、図2に示した一連の処理が再度行われることなるが、データ転送部104においては、仕掛中状態管理データベース141から検出した三つ組を削除していないため、再送されてきたデータに、保持していたタイムスタンプを用いることになる。 Thereafter, the series of processes shown in FIG. 2 will be performed again, but since the data transfer unit 104 has not deleted the triples detected from the in-process state management database 141, the retained data will not be included in the retransmitted data. The previous timestamp will be used.

(他の実施の形態) (Other embodiments)

以下に、図1に示した情報収集システムにおいて、情報収集システム1側のリソースを用いて、データソース101,111側でデータを削除できるタイミングを早める実施形態について説明する。 Below, an embodiment will be described in which, in the information collection system shown in FIG. 1, the timing at which data can be deleted on the data sources 101 and 111 is advanced by using resources on the information collection system 1 side.

まず、データ受信部103,113及びデータ転送部104,114にて障害が発生していない場合の処理について説明する。 First, a description will be given of processing when no failure occurs in the data receiving sections 103, 113 and the data transferring sections 104, 114.

図12は、図1に示した情報収集システムにおいてデータ受信部103,113及びデータ転送部104,114にて障害が発生していない場合の処理の他の例を説明するためのシーケンス図である。 FIG. 12 is a sequence diagram for explaining another example of processing when no failure occurs in the data reception units 103, 113 and data transfer units 104, 114 in the information collection system shown in FIG. .

図2に示したデータソース101におけるステップ201の処理からデータ転送部104におけるステップ243の処理を行った後に、データ転送部104においてステップ1204の処理を行う。 After the process in step 201 in the data source 101 shown in FIG. 2 and the process in step 243 in the data transfer unit 104 are performed, the process in step 1204 is performed in the data transfer unit 104.

図13は、図12に示したデータ転送部104における処理の詳細を説明するためのフローチャートである。 FIG. 13 is a flowchart for explaining details of processing in data transfer unit 104 shown in FIG. 12.

ステップ1204における処理では、データ転送部104は、データ受信部103から転送されたデータ及び三つ組を受信すると、まずステップ1801において、仕掛中状態管理データベース141に、受信した三つ組及びデータが保存されているかどうかを判断する。これは、三つ組内のデータIDを用いて行う。 In the process in step 1204, upon receiving the data and triplet transferred from the data receiving unit 103, the data transfer unit 104 first checks in step 1801 whether the received triplet and data are stored in the in-process state management database 141. judge whether This is done using the data ID within the triplet.

仕掛中状態管理データベース141に、受信した三つ組及びデータが保存されていない場合は、データ転送部104は、ステップ1241において、仕掛中状態管理データベース141に新たなレコードを生成し、データ受信部103から受信したデータと三つ組とを仕掛中状態管理データベース141に保存するとともに、その転送状態となる仕掛中の状態を「受信」に設定する。 If the received triplet and data are not stored in the in-process state management database 141, the data transfer unit 104 generates a new record in the in-process state management database 141 in step 1241, and transfers the data from the data receiving unit 103 to the in-process state management database 141. The received data and triplet are stored in the in-process state management database 141, and the in-process state, which is the transfer state, is set to "receiving".

データ転送部104は、データ受信部103から受信したデータと三つ組とを仕掛中状態管理データベース141に保存するとともにその転送状態となる仕掛中の状態を「受信」に設定した後や、仕掛中状態管理データベース141に、受信した三つ組及びデータが保存されている場合は、データ転送部104は、ステップ1201において、データ受信部103に対して受信した三つ組に関するACKを返す。 The data transfer unit 104 saves the data and triples received from the data receiving unit 103 in the in-process state management database 141, and after setting the in-process state that becomes the transfer state to “reception”, or the in-process state If the received triplet and data are stored in the management database 141, the data transfer unit 104 returns ACK regarding the received triplet to the data receiving unit 103 in step 1201.

データ受信部103は、データ転送部104からのACKを受信すると、ステップ206において、ステップ261として負荷分散部102にACKを返し、負荷分散部102は、データ受信部103からのACKを受信すると、ステップ202において、ステップ223としてデータソース101にACKを返す。 Upon receiving the ACK from the data transfer section 104, the data reception section 103 returns an ACK to the load distribution section 102 in step 261 in step 206, and upon receiving the ACK from the data reception section 103, the load distribution section 102 In step 202, ACK is returned to the data source 101 in step 223.

その後、データソース101は、ステップ212において、負荷分散部102に送信したデータを削除する。 Thereafter, the data source 101 deletes the data sent to the load distribution unit 102 in step 212.

データ転送部104は、ステップ1242において、保存されている三つ組の転送状態となる仕掛中の状態を「転送中」に変更する。 In step 1242, the data transfer unit 104 changes the in-progress state, which is the transfer state of the stored triplet, to "transferring".

図14は、図1に示した仕掛中状態管理データベース141,142の構成の一例を示す図である。 FIG. 14 is a diagram showing an example of the configuration of the in-process state management databases 141 and 142 shown in FIG. 1.

図14に示すように、図1に示した仕掛中状態管理データベース141,142には、タイムスタンプ1601,データ名1602及びデータID1603からなる三つ組について、そのデータとなるデータコンテンツ1604とその転送状態1605とが対応づけて設定されている。 As shown in FIG. 14, the in-process status management databases 141 and 142 shown in FIG. are set in association with each other.

次に、データ転送部104は、ステップ243において、データ受信部103から受信したデータと三つ組とをデータ蓄積部105に転送し、ステップ802においてデータ蓄積部105からの応答を待つ。 Next, in step 243, the data transfer unit 104 transfers the data and triplet received from the data reception unit 103 to the data storage unit 105, and waits for a response from the data storage unit 105 in step 802.

データ蓄積部105は、データ転送部104から転送されてきたデータとその三つ組を受信すると、ステップ205における処理において、受信したデータをデータ保存先データベース151にステップ251にて保存し、ステップ252において、データ転送部104から受信したデータをデータ保存先データベース151にステップ251にて保存した旨をACKとしてデータ転送部104に返す。 When the data storage unit 105 receives the data and its triplet transferred from the data transfer unit 104, in the process in step 205, the data storage unit 105 stores the received data in the data storage database 151 in step 251, and in step 252, An ACK is returned to the data transfer unit 104 indicating that the data received from the data transfer unit 104 has been saved in the data storage database 151 in step 251.

また、データ蓄積部105は、その際、ステップ253において、三つ組内のタイムスタンプにより示された時刻をデータの作成時刻とし、データとその作成時刻とを対応づけてデータ保存先データベース151に保存する。 At this time, in step 253, the data storage unit 105 sets the time indicated by the timestamp in the triplet as the data creation time, associates the data with the creation time, and stores it in the data storage database 151. .

データ転送部104は、データ蓄積部105からのACKを受信すると、ステップ1244において、仕掛中状態管理データベース141に保存されている三つ組及びデータのうち、データ蓄積部105からのACKに対応する三つ組及びデータについてデータがデータ蓄積部105に保存されたことを確認し、その転送状態となる仕掛中の状態を「転送完了」に変更する。 When the data transfer unit 104 receives the ACK from the data storage unit 105, in step 1244, the data transfer unit 104 selects the triplet and data corresponding to the ACK from the data storage unit 105 from among the triplet and data stored in the in-process state management database 141. After confirming that the data has been saved in the data storage unit 105, the transfer status of the data is changed to "transfer completed".

その後、データ転送部104は、ステップ1245において、仕掛中状態管理データベース141に保存されていた三つ組及びデータの一時的な保存を解除して削除し、ステップ1405において、ステップ1204における処理を終了する。 Thereafter, in step 1245, the data transfer unit 104 cancels the temporary storage of the triplets and data stored in the in-process state management database 141 and deletes them, and in step 1405 ends the process in step 1204.

このように、データ転送部104が、三つ組と共にデータを一時的に保存し、データが保存されたことを示すACKをデータ受信部103を介してデータソース101に送信し、三つ組およびデータをデータ蓄積部105に転送し、データがデータ蓄積部105に保存されたことを確認してから三つ組およびデータの一時的な保存を解除するので、データソースにおけるデータの削除が早い段階で可能となる。 In this way, the data transfer unit 104 temporarily stores the data together with the triplet, transmits an ACK indicating that the data has been stored to the data source 101 via the data receiving unit 103, and stores the triplet and the data. Since the temporary storage of the triplet and data is canceled after confirming that the data is transferred to the data storage unit 105 and stored in the data storage unit 105, data can be deleted at an early stage in the data source.

次に、データ転送部104からデータ蓄積部105にデータを転送する前にデータ転送部104にて障害が発生した場合の処理について説明する。 Next, a description will be given of processing when a failure occurs in the data transfer unit 104 before data is transferred from the data transfer unit 104 to the data storage unit 105.

図15は、図1に示した情報収集システムにおいてデータ転送部104からデータ蓄積部105にデータを転送する前にデータ転送部104にて障害が発生した場合の処理の他の例を説明するためのシーケンス図である。 FIG. 15 is for explaining another example of processing when a failure occurs in the data transfer unit 104 before data is transferred from the data transfer unit 104 to the data storage unit 105 in the information collection system shown in FIG. FIG.

図12に示したデータソース101におけるステップ201の処理からデータ転送部104におけるステップ1201の処理を行った後に、データ転送部104においてステップ1301にて障害が発生した場合、その後、データ転送部104がステップ1302にて障害から回復すると、データ転送部104は、ステップ1304の処理を行う。 If a failure occurs in step 1301 in the data transfer unit 104 after the process from step 201 in the data source 101 to step 1201 in the data transfer unit 104 shown in FIG. After recovering from the failure in step 1302, the data transfer unit 104 performs the process in step 1304.

データ転送部104は、ステップ1341において、仕掛中状態管理データベース141から、状態が「受信」となっている三つ組とデータを検出し、ステップ1342において、その状態を「転送中」に変更する。 In step 1341, the data transfer unit 104 detects a triplet and data whose status is "receiving" from the in-process status management database 141, and in step 1342, changes the status to "transferring".

次に、データ転送部104は、ステップ1343において、仕掛中状態管理データベース141に保存されたデータおよび三つ組をデータ蓄積部105に転送する。 Next, in step 1343, the data transfer unit 104 transfers the data and triplet stored in the in-process state management database 141 to the data storage unit 105.

データ蓄積部105は、データ転送部104から転送されてきたデータとその三つ組を受信すると、ステップ205における処理において、受信したデータをデータ保存先データベース151にステップ251にて保存し、ステップ252において、データ転送部104から受信したデータをデータ保存先データベース151にステップ251にて保存した旨をACKとしてデータ転送部104に返す。 When the data storage unit 105 receives the data and its triplet transferred from the data transfer unit 104, in the process in step 205, the data storage unit 105 stores the received data in the data storage database 151 in step 251, and in step 252, An ACK is returned to the data transfer unit 104 indicating that the data received from the data transfer unit 104 has been saved in the data storage database 151 in step 251.

また、データ蓄積部105は、その際、ステップ253において、三つ組内のタイムスタンプにより示された時刻をデータの作成時刻とし、データとその作成時刻とを対応づけてデータ保存先データベース151に保存する。 At this time, in step 253, the data storage unit 105 sets the time indicated by the timestamp in the triplet as the data creation time, associates the data with the creation time, and stores it in the data storage database 151. .

データ転送部104は、データ蓄積部105からのACKを受信すると、ステップ1244において、仕掛中状態管理データベース141に保存されている三つ組及びデータのうち、データ蓄積部105からのACKに対応する三つ組及びデータについてデータがデータ蓄積部105に保存されたことを確認し、その転送状態となる仕掛中の状態を「転送完了」に変更する。 When the data transfer unit 104 receives the ACK from the data storage unit 105, in step 1244, the data transfer unit 104 selects the triplet and data corresponding to the ACK from the data storage unit 105 from among the triplet and data stored in the in-process state management database 141. After confirming that the data has been saved in the data storage unit 105, the transfer status of the data is changed to "transfer completed".

その後、データ転送部104は、ステップ1245において、仕掛中状態管理データベース141に保存されていた三つ組及びデータの一時的な保存を解除して削除する。 Thereafter, in step 1245, the data transfer unit 104 cancels the temporary storage of the triplet and data stored in the in-process state management database 141 and deletes them.

図16は、図15に示したデータ転送部104における処理の詳細を説明するためのフローチャートである。 FIG. 16 is a flowchart for explaining details of processing in data transfer unit 104 shown in FIG. 15.

ステップ1204における処理では、データ転送部104は、ステップ1501にて処理を開始すると、まず、ステップ1502において、データ転送部104は、仕掛中状態管理データベース141に、状態が「受信」の三つ組及びデータが保存されているかどうかを判断する。 In the process in step 1204, when the data transfer unit 104 starts the process in step 1501, first in step 1502, the data transfer unit 104 stores a triple whose status is “receiving” and data in the in-process status management database 141. determine whether it is saved.

仕掛中状態管理データベース141に、状態が「受信」の三つ組及びデータが保存されている場合は、データ転送部104は、ステップ1521において、図13に示したステップ1201の処理を行う。 If the in-process status management database 141 stores the triplet and data whose status is "receiving," the data transfer unit 104 performs the process of step 1201 shown in FIG. 13 in step 1521.

また、仕掛中状態管理データベース141に、状態が「受信」の三つ組及びデータが保存されていない場合は、データ転送部104は、ステップ1503において、仕掛中状態管理データベース141に、状態が「転送中」の三つ組及びデータが保存されているかどうかを判断する。 Further, if the in-process state management database 141 does not store the triplet and the data in which the state is "receiving", the data transfer unit 104 stores the state in the in-process state management database 141 as "transferring" in step 1503. ” triplet and determine whether the data is saved.

仕掛中状態管理データベース141に、状態が「転送中」の三つ組及びデータが保存されている場合は、データ転送部104は、ステップ1531において、データ蓄積部105に対して、その三つ組のデータIDが示すデータの削除を依頼し、ステップ1532においてデータ蓄積部105からのACKを待つ。 If the in-process status management database 141 stores a triplet and data whose status is "transferring," the data transfer unit 104 sends the data ID of the triplet to the data storage unit 105 in step 1531. It requests deletion of the indicated data and waits for an ACK from the data storage unit 105 in step 1532.

その後、データ転送部104は、データ蓄積部105からデータを削除した旨のACKを受けると、ステップ1533において、図13のステップ243の処理を行う。 After that, when the data transfer unit 104 receives an ACK from the data storage unit 105 indicating that the data has been deleted, the data transfer unit 104 performs the process of step 243 in FIG. 13 in step 1533.

データ転送部104は、上述した一連の処理を行い、ステップ1504にて終了する。 The data transfer unit 104 performs the series of processes described above, and ends at step 1504.

なお、本実施形態の情報収集システムが実行する方法はソフトウェアプログラムとして記述することもできる。また、そのソフトウェアプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。コンピュータがそのソフトウェアプログラムを実行することにより本実施形態の情報収集システムを実現することができる。 Note that the method executed by the information collection system of this embodiment can also be written as a software program. Further, the software program can be stored in a storage medium, and can also be provided externally via a network. The information collection system of this embodiment can be realized by a computer executing the software program.

上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態のみに限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。 The embodiments of the present invention described above are illustrative examples of the present invention, and are not intended to limit the scope of the present invention only to those embodiments. Those skilled in the art can implement the invention in various other ways without departing from the scope of the invention.

100…データ収集システム、101,111…データソース、102…付加分散部、103,113…データ受信部、104,114…データ転送部、105…データ蓄積部、131,132…時刻同期生成部、141,142…仕掛中状態管理データベース、151…データ保存先データベース 100... Data collection system, 101, 111... Data source, 102... Addition distribution section, 103, 113... Data receiving section, 104, 114... Data transfer section, 105... Data storage section, 131, 132... Time synchronization generation section, 141, 142...In-progress status management database, 151...Data storage destination database

Claims (11)

データソースからのデータの受け付けの処理を分担する複数のデータ受信部と、
前記データ受信部のそれぞれに対応して設けられ、前記データ受信部で受け付けられたデータを転送する複数のデータ転送部と、
前記複数のデータ転送部から転送された前記データを受信して保存するデータ蓄積部と、
を有し、
前記複数のデータ受信部は、互いに同期した時刻管理を行っており、前記受け付けたデータに対して、前記時刻管理に基づく時刻を表すタイムスタンプを付与し、前記データと、前記データの識別情報と前記タイムスタンプとを対応づけた対応付け情報とを前記データ転送部に送信し、
前記データ転送部は、前記データ受信部から前記データと前記対応付け情報とを受信し、前記対応付け情報を一時的に保存して前記データおよび前記対応付け情報を前記データ蓄積部に転送し、前記データが前記データ蓄積部に保存されたことを確認してから前記対応付け情報の一時的な保存を解除する、
データ収集システム。
multiple data receiving units that share the processing of receiving data from data sources;
a plurality of data transfer units that are provided corresponding to each of the data reception units and that transfer data received by the data reception units;
a data storage unit that receives and stores the data transferred from the plurality of data transfer units;
has
The plurality of data receiving units perform time management that is synchronized with each other, and add a timestamp representing the time based on the time management to the received data, and identify the data and the identification information of the data. transmitting association information associating the timestamp with the data transfer unit;
The data transfer unit receives the data and the association information from the data reception unit, temporarily stores the association information, and transfers the data and the association information to the data storage unit, canceling the temporary storage of the association information after confirming that the data has been saved in the data storage unit;
Data collection system.
前記データ蓄積部は、前記対応付け情報内の前記タイムスタンプにより示された時刻を前記データの作成時刻とし、前記データと該作成時刻とを対応づけて保存する、
請求項1に記載のデータ収集システム。
The data storage unit sets the time indicated by the timestamp in the association information as the creation time of the data, and stores the data in association with the creation time.
The data collection system according to claim 1.
前記データ転送部は、前記データと前記対応付け情報とを受信した後に障害となり該障害から再開した場合、前記データの再送を促す応答を前記データ受信部を介して前記データソースに送信するとともに、前記対応付け情報を保持しておき、再送されてきたデータに対して該対応付け情報内のタイムスタンプを用いる、
請求項1に記載のデータ収集システム。
When the data transfer unit encounters a failure after receiving the data and the association information and restarts from the failure, the data transfer unit transmits a response requesting retransmission of the data to the data source via the data reception unit, and retaining the association information and using the timestamp in the association information for retransmitted data;
The data collection system according to claim 1.
前記データ転送部は、前記対応付け情報と共に前記データを一時的に保存し、前記データが保存されたことを示す応答を前記データ受信部を介して前記データソースに送信し、前記対応付け情報および前記データを前記データ蓄積部に転送し、前記データが前記データ蓄積部に保存されたことを確認してから前記対応付け情報および前記データの一時的な保存を解除する、
請求項1に記載のデータ収集システム。
The data transfer unit temporarily stores the data together with the association information, transmits a response indicating that the data has been saved to the data source via the data reception unit, and transfers the association information and transferring the data to the data storage unit, confirming that the data has been stored in the data storage unit, and then canceling temporary storage of the association information and the data;
The data collection system according to claim 1.
前記複数のデータ受信部は、Global Positioning SystemまたはPrecision Time Protocolにより互いに同期した時刻管理を行う、
請求項1に記載のデータ収集システム。
The plurality of data receiving units perform mutually synchronized time management using a Global Positioning System or Precision Time Protocol.
The data collection system according to claim 1.
データソースからのデータの受け付けの処理を分担する複数のデータ受信部と、前記データ受信部のそれぞれに対応して設けられ、前記データ受信部で受け付けられたデータを転送する複数のデータ転送部と、前記複数のデータ転送部から転送された前記データを受信して保存するデータ蓄積部と、を有するデータ収集システムにおけるデータ収集方法であって、
前記複数のデータ受信部が、互いに同期した時刻管理を行っており、前記受け付けたデータに対して、前記時刻管理に基づく時刻を表すタイムスタンプを付与し、前記データと、前記データの識別情報と前記タイムスタンプとを対応づけた対応付け情報とを前記データ転送部に送信し、
前記データ転送部が、前記データ受信部から前記データと前記対応付け情報とを受信し、前記対応付け情報を一時的に保存して前記データおよび前記対応付け情報を前記データ蓄積部に転送し、前記データが前記データ蓄積部に保存されたことを確認してから前記対応付け情報の一時的な保存を解除する、
データ収集方法。
a plurality of data reception sections that share the processing of receiving data from a data source; and a plurality of data transfer sections that are provided corresponding to each of the data reception sections and that transfer the data received by the data reception sections. , a data storage unit that receives and stores the data transferred from the plurality of data transfer units, the data collection method in a data collection system comprising:
The plurality of data receiving units perform time management that is synchronized with each other, and add a timestamp representing the time based on the time management to the received data, and combine the data with identification information of the data. transmitting association information associating the timestamp with the data transfer unit;
The data transfer unit receives the data and the association information from the data reception unit, temporarily stores the association information, and transfers the data and the association information to the data storage unit, canceling the temporary storage of the association information after confirming that the data has been saved in the data storage unit;
Data collection methods.
前記データ蓄積部が、前記対応付け情報内の前記タイムスタンプにより示された時刻を前記データの作成時刻とし、前記データと該作成時刻とを対応づけて保存する、
請求項6に記載のデータ収集方法。
the data storage unit sets the time indicated by the timestamp in the association information as the creation time of the data, and stores the data in association with the creation time;
The data collection method according to claim 6.
前記データ転送部が、前記データと前記対応付け情報を受信した後に障害となり該障害から再開した場合、前記データの再送を促す応答を前記データ受信部を介して前記データソースに送信するとともに、前記対応付け情報を保持しておき、再送されてきたデータに対して該対応付け情報内のタイムスタンプを用いる、
請求項6に記載のデータ収集方法。
If the data transfer unit encounters a failure after receiving the data and the association information and restarts from the failure, the data transfer unit transmits a response requesting retransmission of the data to the data source via the data reception unit, and The mapping information is retained and the timestamp in the mapping information is used for retransmitted data.
The data collection method according to claim 6.
データソースからのデータの受け付けの処理を分担する複数のデータ受信部と、前記データ受信部のそれぞれに対応して設けられ、前記データ受信部で受け付けられたデータを転送する複数のデータ転送部と、前記複数のデータ転送部から転送された前記データを受信して保存するデータ蓄積部と、を有するデータ収集システムをコンピュータが動作させるためのデータ収集プログラムであって、
前記複数のデータ受信部が、互いに同期した時刻管理を行っており、前記受け付けたデータに対して、前記時刻管理に基づく時刻を表すタイムスタンプを付与し、前記データと、前記データの識別情報と前記タイムスタンプとを対応づけた対応付け情報とを前記データ転送部に送信し、
前記データ転送部が、前記データ受信部から前記データと前記対応付け情報とを受信し、前記対応付け情報を一時的に保存して前記データおよび前記対応付け情報を前記データ蓄積部に転送し、前記データが前記データ蓄積部に保存されたことを確認してから前記対応付け情報の一時的な保存を解除する、ことを前記コンピュータに実行させるためのデータ収集プログラム。
a plurality of data reception sections that share the processing of receiving data from a data source; and a plurality of data transfer sections that are provided corresponding to each of the data reception sections and that transfer the data received by the data reception sections. , a data storage unit that receives and stores the data transferred from the plurality of data transfer units, the data collection program for causing a computer to operate a data collection system,
The plurality of data receiving units perform time management that is synchronized with each other, and add a timestamp representing the time based on the time management to the received data, and combine the data with identification information of the data. transmitting association information associating the timestamp with the data transfer unit;
The data transfer unit receives the data and the association information from the data reception unit, temporarily stores the association information, and transfers the data and the association information to the data storage unit, A data collection program for causing the computer to cancel temporary storage of the association information after confirming that the data has been stored in the data storage unit.
前記データ蓄積部が、前記対応付け情報内の前記タイムスタンプにより示された時刻を前記データの作成時刻とし、前記データと該作成時刻とを対応づけて保存する、ことをコンピュータに実行させる、
請求項9に記載のデータ収集プログラム。
causing a computer to execute, in which the data storage unit sets the time indicated by the timestamp in the association information as the creation time of the data, and stores the data in association with the creation time;
The data collection program according to claim 9.
前記データ転送部が、前記データと前記対応付け情報を受信した後に障害となり該障害から再開した場合、前記データの再送を促す応答を前記データ受信部を介して前記データソースに送信するとともに、前記対応付け情報を保持しておき、再送されてきたデータに対して該対応付け情報内のタイムスタンプを用いる、ことをコンピュータに実行させる、
請求項9に記載のデータ収集プログラム。
If the data transfer unit encounters a failure after receiving the data and the association information and restarts from the failure, the data transfer unit transmits a response requesting retransmission of the data to the data source via the data reception unit, and causing a computer to hold association information and use a time stamp in the association information for retransmitted data;
The data collection program according to claim 9.
JP2022061897A 2022-04-01 2022-04-01 Data collection system, method, and program Pending JP2023151992A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022061897A JP2023151992A (en) 2022-04-01 2022-04-01 Data collection system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022061897A JP2023151992A (en) 2022-04-01 2022-04-01 Data collection system, method, and program

Publications (1)

Publication Number Publication Date
JP2023151992A true JP2023151992A (en) 2023-10-16

Family

ID=88326194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022061897A Pending JP2023151992A (en) 2022-04-01 2022-04-01 Data collection system, method, and program

Country Status (1)

Country Link
JP (1) JP2023151992A (en)

Similar Documents

Publication Publication Date Title
US6748447B1 (en) Method and apparatus for scalable distribution of information in a distributed network
US8185493B2 (en) Solution method of in-doubt state in two-phase commit protocol of distributed transaction
US6718361B1 (en) Method and apparatus for reliable and scalable distribution of data files in distributed networks
US7451221B2 (en) Method and apparatus for election of group leaders in a distributed network
JP5498594B2 (en) Consistency within the federation infrastructure
US8032578B2 (en) Using distributed queues in an overlay network
WO2010106991A1 (en) Method and system for data replication management
CN105607954A (en) Stateful container online migration method and apparatus
JP5184078B2 (en) File management system
CN102012944B (en) Distributed NOSQL (not only structured query language) database capable of providing replication property
US9881071B2 (en) Transport layer abstraction for clustering implementation
US20060184672A1 (en) Communication channels in a storage network
KR20190113366A (en) Distributed cluster management system and method for thereof
US20090049172A1 (en) Concurrent Node Self-Start in a Peer Cluster
CN103259866B (en) A kind of method and system of DNS zone file multi-node transmission
US8301750B2 (en) Apparatus, system, and method for facilitating communication between an enterprise information system and a client
EP1305924B1 (en) Method and apparatus for reliable and scalable distribution of data files in distributed networks
US20100131465A1 (en) Method for duplicating a database in a network of machines, and system of machines comprising a duplicated database
JP5029685B2 (en) Backup device
JP2023151992A (en) Data collection system, method, and program
JP3672465B2 (en) File storage device
KR100714462B1 (en) Loaction mangement and message delivery of mobile agent method and system in multi region mobile agent computing environment
JP2000029761A (en) Distributed data managing system
CA3164417A1 (en) System and method for managing and processing sequenced events in a distributed network
CN116756108A (en) File synchronization method, system, device and readable storage medium