JP2023151992A - Data collection system, method, and program - Google Patents
Data collection system, method, and program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 93
- 238000013480 data collection Methods 0.000 title claims description 21
- 238000012546 transfer Methods 0.000 claims abstract description 169
- 238000013500 data storage Methods 0.000 claims abstract description 85
- 238000007726 management method Methods 0.000 claims abstract description 60
- 230000001360 synchronised effect Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 51
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 21
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
Images
Abstract
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.
上述のように特許文献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.
以下に、本発明の実施の形態について図面を参照して説明する。 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
負荷分散部102は、データソース101,111から送信されてきたデータを、例えばラウンドロビン等の決められた負荷分散方式でデータ受信部103,113に振り分けて送信する。なお、データを振り分ける方式は、負荷分散方式に限らず、また、振り分けたデータをチャンクと称する場合もある。
The
データ受信部103,113は、データソース101,111から負荷分散部102を介して送信されてきたデータの受付の処理を分担するものであって、それぞれ、互いに同期した時刻管理を行っており、受け付けたデータに対して、時刻管理に基づく時刻を表すタイムスタンプを時刻同期生成部131,132にて生成して付与し、受け付けたデータと、データの識別情報となるIDとタイムスタンプとを対応づけた対応付け情報とをデータ転送部104,114に送信する。
The
データ転送部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
データ蓄積部105は、データ転送部104,114から転送されたデータを受信して保存するものであって、データ転送部104,114から転送されてきた対応付け情報内のタイムスタンプにより示された時刻をデータの作成時刻とし、データとその作成時刻とを対応づけてデータ保存先データベース151に保存する。
The
以下に、上記のように構成された情報収集システムにおける処理について説明する。 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
図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
ステップ201においてデータソース101からデータが送信されてくると、負荷分散部102は、ステップ202において、決められた負荷分散方式で転送先のデータ受信部を決定し、決定したデータ受信部103に対してステップ222にてデータを転送する。
When data is transmitted from the
負荷分散部102から転送されたデータを受信したデータ受信部103は、ステップ203における処理を行う。
The
図3は、図2に示したデータ受信部103における処理の詳細を説明するためのフローチャートである。
FIG. 3 is a flowchart for explaining details of the processing in
ステップ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
次に、データ受信部103は、ステップ233において、時刻同期生成部131から取得したタイムスタンプと、データ名と、データIDとを組み合わせて、対応付け情報となる三つ組を作成する。
Next, in
次に、データ受信部103は、ステップ234において、負荷分散部102から転送されたデータと、ステップ233にて作成した三つ組とをデータ転送部104に転送し、ステップ705において、ステップ203における処理を終了する。
Next, in
データ受信部103から転送されたデータ及び三つ組を受信したデータ転送部104は、ステップ204における処理を行う。
The
図4は、図2に示したデータ転送部104における処理の詳細を説明するためのフローチャートである。
FIG. 4 is a flowchart for explaining details of processing in
ステップ204における処理では、データ転送部104は、データ受信部103から転送されたデータ及び三つ組を受信すると、まずステップ801において、仕掛中状態管理データベース141に、受信した三つ組が保存されているかどうかを判断する。これは、三つ組内のデータIDを用いて行う。
In the process in
仕掛中状態管理データベース141に、受信した三つ組が保存されていない場合は、データ転送部104は、ステップ241において、仕掛中状態管理データベース141に新たなレコードを生成し、データ受信部103から受信したデータと三つ組とを仕掛中状態管理データベース141に保存するとともに、その転送状態となる仕掛中の状態を「受信」に設定する。
If the received triplet is not stored in the in-process
また、仕掛中状態管理データベース141に、受信した三つ組が保存されている場合は、データ転送部104は、ステップ242において、保存されている三つ組の転送状態となる仕掛中の状態を「転送中」に変更する。
Further, if the received triplet is stored in the in-process
図5は、図1に示した仕掛中状態管理データベース141,142の構成の一例を示す図である。
FIG. 5 is a diagram showing an example of the configuration of the in-process
図5に示すように、図1に示した仕掛中状態管理データベース141,142には、タイムスタンプ1001,データ名102及びデータID1003からなる三つ組について、その転送状態1004が対応づけて設定されている。
As shown in FIG. 5, in the in-process
次に、データ転送部104は、ステップ243において、データ受信部103から受信したデータと三つ組とをデータ蓄積部105に転送し、ステップ802においてデータ蓄積部105からの応答を待つ。
Next, in
データ蓄積部105は、データ転送部104から転送されてきたデータとその三つ組を受信すると、ステップ205における処理において、受信したデータをデータ保存先データベース151にステップ251にて保存し、ステップ252において、データ転送部104から受信したデータをデータ保存先データベース151にステップ251にて保存した旨をACKとしてデータ転送部104に返す。
When the
また、データ蓄積部105は、その際、ステップ253において、三つ組内のタイムスタンプにより示された時刻をデータの作成時刻とし、データとその作成時刻とを対応づけてデータ保存先データベース151に保存する。
At this time, in
図6は、図1に示したデータ保存先データベース151の構成の一例を示す図である。
FIG. 6 is a diagram showing an example of the configuration of the
図6に示すように、図1に示したデータ保存先データベース151には、データ蓄積部105がデータ転送部104から受信した三つ組内のデータ名1101、データID1102及びタイムスタンプ1103が、そのデータのコンテンツを示すデータコンテンツ1104と対応づけて保存される。
As shown in FIG. 6, in the
このように、データ受信部103でのタイムスタンプをデータの作成時刻とするので、複数のデータ受信部が管理する精度の高い時刻により作成時刻を設定することができる。
In this way, since the time stamp in the
データ転送部104は、データ蓄積部105からのACKを受信すると、ステップ244において、仕掛中状態管理データベース141に保存されている三つ組のうち、データ蓄積部105からのACKに対応する三つ組についてデータがデータ蓄積部105に保存されたことを確認し、その転送状態となる仕掛中の状態を「転送完了」に変更する。
When the
その後、データ転送部104は、ステップ245において、データ蓄積部105からのACKに対応する三つ組についてのACKをデータ受信部103に返し、ステップ246において、仕掛中状態管理データベース141に保存されていた三つ組の一時的な保存を解除して削除し、ステップ807において、ステップ204における処理を終了する。
Thereafter, in
データ受信部103は、データ転送部104からのACKを受信すると、ステップ206において、ステップ261として負荷分散部102にACKを返し、負荷分散部102は、データ受信部103からのACKを受信すると、ステップ202において、ステップ223としてデータソース101にACKを返す。
Upon receiving the ACK from the
その後、データソース101は、ステップ212において、負荷分散部102に送信したデータを削除する。
Thereafter, the
このように、複数で負荷分散するデータ受信部での時刻管理に基づいてデータの順序保証を行うので、データの順序保証と高いスケラビリティとを併せて実現することができる。 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
図7は、図1に示した情報収集システムにおいてデータ収集処理中にデータ受信部103にて障害が発生した場合の処理を説明するためのシーケンス図である。
FIG. 7 is a sequence diagram for explaining processing when a failure occurs in the
図2に示したデータソース101におけるステップ201の処理からデータ受信部103におけるステップ233の処理を行った後に、データ受信部103においてステップ301にて障害が発生し、負荷分散部102において、ステップ321にて例えばタイムアウトやハートビートを用いて障害を検出した場合、負荷分散部102は、データの収集処理に失敗した旨を示すネガティブACKをステップ322にてデータソース101に返す。
After the processing from
その後、データ受信部103は、ステップ302にて障害から回復したとしても、負荷分散部102から送信されてきたデータを保持していないため、図2に示した処理と同様の処理が行われることになる。
Thereafter, even if the
次に、データ受信部103からデータ転送部104にデータ転送後にデータ受信部103にて障害が発生した場合の処理について説明する。
Next, a description will be given of processing when a failure occurs in the
図8は、図1に示した情報収集システムにおいてデータ受信部103からデータ転送部104にデータ転送後にデータ受信部103にて障害が発生した場合の処理を説明するためのシーケンス図である。
FIG. 8 is a sequence diagram for explaining processing when a failure occurs in the
図2に示したデータソース101におけるステップ201の処理からデータ受信部103におけるステップ234の処理を行った後に、データ受信部103においてステップ401にて障害が発生したとしても、データ受信部103からデータ転送部104にデータとその三つ組が転送されているため、データ転送部104とデータ蓄積部105においては、図2の示したものと同様の処理が行われる。
Even if a failure occurs in
また、データ転送部104からステップ245にてACKが返された際、ステップ402にてデータ受信部103が障害から回復していれば、その後のデータ受信部103,負荷分散部102及びデータソース101においては、図2の示したものと同様の処理が行われる。
Further, when the
次に、データ転送部104からデータ蓄積部105にデータを転送する前にデータ転送部104にて障害が発生した場合の処理について説明する。
Next, a description will be given of processing when a failure occurs in the
図9は、図1に示した情報収集システムにおいてデータ転送部104からデータ蓄積部105にデータを転送する前にデータ転送部104にて障害が発生した場合の処理を説明するためのシーケンス図である。
FIG. 9 is a sequence diagram for explaining processing when a failure occurs in the
図2に示したデータソース101におけるステップ201の処理からデータ転送部104におけるステップ241の処理を行った後に、データ転送部104においてステップ501にて障害が発生した場合、その後、データ転送部104がステップ502にて障害から回復すると、データ転送部104は、ステップ504において、仕掛中状態管理データベース141から、状態が「受信」となっている三つ組をステップ541として検出する。
If a failure occurs in
そして、データ転送部104は、データの収集処理に失敗した旨を示すネガティブACKをステップ542にてデータ受信部103に返す。この際、データ転送部104は、仕掛中状態管理データベース141から検出した三つ組を削除しない。
Then, the
データ受信部103は、データ転送部104からネガティブACKを受け取ると、ステップ506においてネガティブACKをステップ561として負荷分散部102に返す。
Upon receiving the negative ACK from the
負荷分散部102は、データ受信部103からネガティブACKを受け取ると、ステップ202においてネガティブACKをステップ521としてデータソース101に返す。
When the
その後、図2に示した一連の処理が再度行われることなるが、データ転送部104においては、仕掛中状態管理データベース141から検出した三つ組を削除していないため、再送されてきたデータに、保持していたタイムスタンプを用いることになる。
Thereafter, the series of processes shown in FIG. 2 will be performed again, but since the
このように、データの再送時に前回のタイムスタンプを用いるので、再送によるデータの順序入れ替わりを防止することができる。 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
図10は、図1に示した情報収集システムにおいてデータ転送部104からデータ蓄積部105にデータを転送中にデータ転送部104にて障害が発生した場合の処理を説明するためのシーケンス図である。
FIG. 10 is a sequence diagram for explaining processing when a failure occurs in the
図2に示したデータソース101におけるステップ201の処理からデータ転送部104におけるステップ243の処理を行った後に、データ転送部104においてステップ601にて障害が発生した場合、データ蓄積部105においては、ステップ205において、データ蓄積部105から転送されてきたデータをデータ保存先データベース151に保存しているものの、全てのデータを転送したか不明である。
If a failure occurs in
そのため、その後にデータ転送部104がステップ602にて障害から回復すると、ステップ604における処理を行う。
Therefore, when the
図11は、図9及び図10に示したデータ転送部104における処理の詳細を説明するためのフローチャートである。
FIG. 11 is a flowchart for explaining details of the processing in the
データ転送部104はステップ901にて処理を開始すると、まず、ステップ902において、仕掛中状態管理データベース141の中に、状態が「受信」の三つ組があるか判断する。
When the
そして、仕掛中状態管理データベース141の中に、状態が「受信」の三つ組がある場合は、図9に示したように、ステップ542において、状態が「受信」の三つ組に関するネガティブACKをデータ受信部103に返す。
If there is a triplet whose status is "receiving" in the in-process
仕掛中状態管理データベース141の中に、状態が「受信」の三つ組がない場合や、仕掛中状態管理データベース141の中に、状態が「受信」の三つ組がある場合であって、状態が「受信」の三つ組に関するネガティブACKをデータ受信部103に返した後、データ転送部104は、ステップ903において、仕掛中状態管理データベース141の中に、状態が「転送中」の三つ組があるか判断する。
If there is no triplet with the status "receiving" in the in-process
そして、仕掛中状態管理データベース141の中に、状態が「転送中」の三つ組がある場合は、ステップ641において、仕掛中状態管理データベース141の中に、状態が「転送中」の三つ組を検出したとして、ステップ642において、データ蓄積部105に対して、検出した三つ組のデータIDが示すデータの削除を依頼し、ステップ931において、それに対するデータ蓄積部105からのACKを待つ。
If there is a triple whose status is "transferring" in the in-process
データ蓄積部105は、ステップ651において、データ転送部104からの依頼に従ってデータ保存先データベース151からデータを削除し、ステップ652において、データを削除した旨を示すACKをデータ転送部104に返す。
In
データ転送部104は、データ蓄積部105からのACKを受け取ると、ステップ604において、データ蓄積部105に削除を依頼した三つ組のデータの収集処理に失敗した旨を示すネガティブACKをステップ643としてデータ受信部103に返す。
When the
また、データ転送部104は、仕掛中状態管理データベース141に保存された三つ組を削除せず、ステップ644において、その状態を「転送中」から「受信」に変更する。
Furthermore, the
そして、データ転送部104は、ステップ904にてその処理を終了する。
The
データ受信部103は、データ転送部104からネガティブACKを受け取ると、ステップ661においてネガティブACKをステップ662として負荷分散部102に返す。
Upon receiving the negative ACK from the
負荷分散部102は、データ受信部103からネガティブACKを受け取ると、ステップ202においてネガティブACKをステップ621としてデータソース101に返す。
When the
その後、図2に示した一連の処理が再度行われることなるが、データ転送部104においては、仕掛中状態管理データベース141から検出した三つ組を削除していないため、再送されてきたデータに、保持していたタイムスタンプを用いることになる。
Thereafter, the series of processes shown in FIG. 2 will be performed again, but since the
(他の実施の形態) (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
まず、データ受信部103,113及びデータ転送部104,114にて障害が発生していない場合の処理について説明する。
First, a description will be given of processing when no failure occurs in the
図12は、図1に示した情報収集システムにおいてデータ受信部103,113及びデータ転送部104,114にて障害が発生していない場合の処理の他の例を説明するためのシーケンス図である。
FIG. 12 is a sequence diagram for explaining another example of processing when no failure occurs in the
図2に示したデータソース101におけるステップ201の処理からデータ転送部104におけるステップ243の処理を行った後に、データ転送部104においてステップ1204の処理を行う。
After the process in
図13は、図12に示したデータ転送部104における処理の詳細を説明するためのフローチャートである。
FIG. 13 is a flowchart for explaining details of processing in
ステップ1204における処理では、データ転送部104は、データ受信部103から転送されたデータ及び三つ組を受信すると、まずステップ1801において、仕掛中状態管理データベース141に、受信した三つ組及びデータが保存されているかどうかを判断する。これは、三つ組内のデータIDを用いて行う。
In the process in
仕掛中状態管理データベース141に、受信した三つ組及びデータが保存されていない場合は、データ転送部104は、ステップ1241において、仕掛中状態管理データベース141に新たなレコードを生成し、データ受信部103から受信したデータと三つ組とを仕掛中状態管理データベース141に保存するとともに、その転送状態となる仕掛中の状態を「受信」に設定する。
If the received triplet and data are not stored in the in-process
データ転送部104は、データ受信部103から受信したデータと三つ組とを仕掛中状態管理データベース141に保存するとともにその転送状態となる仕掛中の状態を「受信」に設定した後や、仕掛中状態管理データベース141に、受信した三つ組及びデータが保存されている場合は、データ転送部104は、ステップ1201において、データ受信部103に対して受信した三つ組に関するACKを返す。
The
データ受信部103は、データ転送部104からのACKを受信すると、ステップ206において、ステップ261として負荷分散部102にACKを返し、負荷分散部102は、データ受信部103からのACKを受信すると、ステップ202において、ステップ223としてデータソース101にACKを返す。
Upon receiving the ACK from the
その後、データソース101は、ステップ212において、負荷分散部102に送信したデータを削除する。
Thereafter, the
データ転送部104は、ステップ1242において、保存されている三つ組の転送状態となる仕掛中の状態を「転送中」に変更する。
In
図14は、図1に示した仕掛中状態管理データベース141,142の構成の一例を示す図である。
FIG. 14 is a diagram showing an example of the configuration of the in-process
図14に示すように、図1に示した仕掛中状態管理データベース141,142には、タイムスタンプ1601,データ名1602及びデータID1603からなる三つ組について、そのデータとなるデータコンテンツ1604とその転送状態1605とが対応づけて設定されている。
As shown in FIG. 14, the in-process
次に、データ転送部104は、ステップ243において、データ受信部103から受信したデータと三つ組とをデータ蓄積部105に転送し、ステップ802においてデータ蓄積部105からの応答を待つ。
Next, in
データ蓄積部105は、データ転送部104から転送されてきたデータとその三つ組を受信すると、ステップ205における処理において、受信したデータをデータ保存先データベース151にステップ251にて保存し、ステップ252において、データ転送部104から受信したデータをデータ保存先データベース151にステップ251にて保存した旨をACKとしてデータ転送部104に返す。
When the
また、データ蓄積部105は、その際、ステップ253において、三つ組内のタイムスタンプにより示された時刻をデータの作成時刻とし、データとその作成時刻とを対応づけてデータ保存先データベース151に保存する。
At this time, in
データ転送部104は、データ蓄積部105からのACKを受信すると、ステップ1244において、仕掛中状態管理データベース141に保存されている三つ組及びデータのうち、データ蓄積部105からのACKに対応する三つ組及びデータについてデータがデータ蓄積部105に保存されたことを確認し、その転送状態となる仕掛中の状態を「転送完了」に変更する。
When the
その後、データ転送部104は、ステップ1245において、仕掛中状態管理データベース141に保存されていた三つ組及びデータの一時的な保存を解除して削除し、ステップ1405において、ステップ1204における処理を終了する。
Thereafter, in
このように、データ転送部104が、三つ組と共にデータを一時的に保存し、データが保存されたことを示すACKをデータ受信部103を介してデータソース101に送信し、三つ組およびデータをデータ蓄積部105に転送し、データがデータ蓄積部105に保存されたことを確認してから三つ組およびデータの一時的な保存を解除するので、データソースにおけるデータの削除が早い段階で可能となる。
In this way, the
次に、データ転送部104からデータ蓄積部105にデータを転送する前にデータ転送部104にて障害が発生した場合の処理について説明する。
Next, a description will be given of processing when a failure occurs in the
図15は、図1に示した情報収集システムにおいてデータ転送部104からデータ蓄積部105にデータを転送する前にデータ転送部104にて障害が発生した場合の処理の他の例を説明するためのシーケンス図である。
FIG. 15 is for explaining another example of processing when a failure occurs in the
図12に示したデータソース101におけるステップ201の処理からデータ転送部104におけるステップ1201の処理を行った後に、データ転送部104においてステップ1301にて障害が発生した場合、その後、データ転送部104がステップ1302にて障害から回復すると、データ転送部104は、ステップ1304の処理を行う。
If a failure occurs in step 1301 in the
データ転送部104は、ステップ1341において、仕掛中状態管理データベース141から、状態が「受信」となっている三つ組とデータを検出し、ステップ1342において、その状態を「転送中」に変更する。
In
次に、データ転送部104は、ステップ1343において、仕掛中状態管理データベース141に保存されたデータおよび三つ組をデータ蓄積部105に転送する。
Next, in
データ蓄積部105は、データ転送部104から転送されてきたデータとその三つ組を受信すると、ステップ205における処理において、受信したデータをデータ保存先データベース151にステップ251にて保存し、ステップ252において、データ転送部104から受信したデータをデータ保存先データベース151にステップ251にて保存した旨をACKとしてデータ転送部104に返す。
When the
また、データ蓄積部105は、その際、ステップ253において、三つ組内のタイムスタンプにより示された時刻をデータの作成時刻とし、データとその作成時刻とを対応づけてデータ保存先データベース151に保存する。
At this time, in
データ転送部104は、データ蓄積部105からのACKを受信すると、ステップ1244において、仕掛中状態管理データベース141に保存されている三つ組及びデータのうち、データ蓄積部105からのACKに対応する三つ組及びデータについてデータがデータ蓄積部105に保存されたことを確認し、その転送状態となる仕掛中の状態を「転送完了」に変更する。
When the
その後、データ転送部104は、ステップ1245において、仕掛中状態管理データベース141に保存されていた三つ組及びデータの一時的な保存を解除して削除する。
Thereafter, in
図16は、図15に示したデータ転送部104における処理の詳細を説明するためのフローチャートである。
FIG. 16 is a flowchart for explaining details of processing in
ステップ1204における処理では、データ転送部104は、ステップ1501にて処理を開始すると、まず、ステップ1502において、データ転送部104は、仕掛中状態管理データベース141に、状態が「受信」の三つ組及びデータが保存されているかどうかを判断する。
In the process in
仕掛中状態管理データベース141に、状態が「受信」の三つ組及びデータが保存されている場合は、データ転送部104は、ステップ1521において、図13に示したステップ1201の処理を行う。
If the in-process
また、仕掛中状態管理データベース141に、状態が「受信」の三つ組及びデータが保存されていない場合は、データ転送部104は、ステップ1503において、仕掛中状態管理データベース141に、状態が「転送中」の三つ組及びデータが保存されているかどうかを判断する。
Further, if the in-process
仕掛中状態管理データベース141に、状態が「転送中」の三つ組及びデータが保存されている場合は、データ転送部104は、ステップ1531において、データ蓄積部105に対して、その三つ組のデータIDが示すデータの削除を依頼し、ステップ1532においてデータ蓄積部105からのACKを待つ。
If the in-process
その後、データ転送部104は、データ蓄積部105からデータを削除した旨のACKを受けると、ステップ1533において、図13のステップ243の処理を行う。
After that, when the
データ転送部104は、上述した一連の処理を行い、ステップ1504にて終了する。
The
なお、本実施形態の情報収集システムが実行する方法はソフトウェアプログラムとして記述することもできる。また、そのソフトウェアプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。コンピュータがそのソフトウェアプログラムを実行することにより本実施形態の情報収集システムを実現することができる。 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.
請求項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.
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) |
-
2022
- 2022-04-01 JP JP2022061897A patent/JP2023151992A/en active Pending
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 |