WO2014163072A1 - Information processing apparatus, information processing method, and program - Google Patents

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

Info

Publication number
WO2014163072A1
WO2014163072A1 PCT/JP2014/059626 JP2014059626W WO2014163072A1 WO 2014163072 A1 WO2014163072 A1 WO 2014163072A1 JP 2014059626 W JP2014059626 W JP 2014059626W WO 2014163072 A1 WO2014163072 A1 WO 2014163072A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
input data
search
output
control unit
Prior art date
Application number
PCT/JP2014/059626
Other languages
French (fr)
Japanese (ja)
Inventor
浩明 井上
竹中 崇
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2015510093A priority Critical patent/JP6428603B2/en
Publication of WO2014163072A1 publication Critical patent/WO2014163072A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Definitions

  • the present invention is based on a Japanese patent application: Japanese Patent Application No. 2013-076114 (filed on April 1, 2013), and the entire contents of this application are incorporated in the present specification by reference.
  • the present invention relates to an information processing device, an information processing method, and a program, and more particularly, to an information processing device, an information processing method, and a program that perform stream data combining processing.
  • join process is a search from stream data by searching for data having the same search ID as the search data from a limited range of stream data received in the past using the search ID included in the search data as a key.
  • the data is combined with the search data and output in the order of the data in the stream data received in the past.
  • the combining process there is a process of combining the price increase rate of the stock price within the past 10 minutes and the current stock price data with the search ID of the brand as a key.
  • stream data flows in at high speed from moment to moment, so that it is required to speed up the search processing included in the combination processing.
  • FIG. 7 is a block diagram illustrating an example of the configuration of an information processing apparatus that performs stream data combining processing.
  • the information processing apparatus includes a linear search unit 110, a linear storage unit 120, and a storage unit 130.
  • the linear search unit 110 reads data linearly, that is, sequentially from the beginning, from the stream data sequence received in the past held in the storage unit 130, and the search ID included in the search data 100 Search for data having the same search ID.
  • the linear storage unit 120 linearly writes newly arrived input data 200 in a storage unit that holds a stream data string.
  • the linear storage unit 120 notifies the linear search unit 110 of the position of the newly written input data 200 in the stream data string.
  • the linear search unit 110 determines where the oldest data is based on the notification from the linear storage unit 120.
  • Non-Patent Document 1 describes a data stream processing device based on the same method as the information processing device shown in FIG.
  • Patent Document 1 describes a system including a plurality of processing nodes and control nodes that process stream data in parallel.
  • the information processing apparatus shown in FIG. 7 searches for data linearly. Therefore, according to the information processing apparatus shown in FIG. 7, when the number of stream data sequences to be referred to increases among the stream data sequences received in the past, the search time increases, and there is a possibility that the stream data cannot be processed in real time. is there.
  • the control node stores the order in which the stream data is transferred and the transfer destination processing node as a pair, and processes the processing nodes in the order in which the stream data is transferred. Arrange the results. Thereby, the order of the stream data is maintained.
  • the process in which the control node refers to the information and rearranges the processing results of the processing nodes may cause a bottleneck.
  • the objective of this invention is providing the information processing apparatus, the information processing method, and program which contribute to this request.
  • An information processing apparatus provides: A write control unit, a plurality of data search units, and an output order control unit,
  • the write control unit periodically assigns input data included in stream data to the plurality of data search units in order
  • the plurality of data search units store the assigned input data, search the input data stored first, including the same identifier as the identifier included in the search data, from the stored input data.
  • Output The output order control unit sorts the input data output from the plurality of data search units in the order of the input data in the stream data according to the allocation status by the write control unit, and the plurality of data search units Are combined with the search data in the order after sorting and output.
  • An information processing method includes: A computer periodically assigning input data included in stream data to a plurality of processing nodes in order; The plurality of processing nodes that store the assigned input data, include the same identifier as the identifier included in the search data from the stored input data, and search for and output the first stored input data Sorting the input data output from the input data in the stream data according to the allocation status; Combining the input data output from the plurality of processing nodes and the search data in the sorted order and outputting the combined data.
  • the program according to the third aspect of the present invention is: A process of periodically assigning input data included in stream data to a plurality of processing nodes in order;
  • the plurality of processing nodes that store the assigned input data include the same identifier as the identifier included in the search data from the stored input data, and search for and output the first stored input data Sorting the input data output from the input data in the stream data according to the allocation status;
  • a process of combining the input data output from the plurality of processing nodes and the search data in the sorted order and outputting the data is executed by a computer.
  • the program can be provided as a program product recorded on a non-transitory computer-readable storage medium.
  • the information processing apparatus the information processing method, and the program according to the present invention, it is possible to speed up the stream data combining process while maintaining the data order before and after the combining process.
  • FIG. 1 is a block diagram illustrating an example of a configuration of an information processing apparatus according to an embodiment.
  • the information processing apparatus includes a write control unit 30, a plurality of data search units 10-0, 10-1, ..., 10- (K-1), and an output order control unit 20. ing.
  • the write control unit 30 periodically inputs the input data included in the stream data to the plurality of data search units 10-0, 10-1,..., 10- (K ⁇ 1) (that is, cyclic To).
  • the plurality of data search units 10-0, 10-1,..., 10- (K-1) store the assigned input data and have the same identifier as the search data included in the stored input data.
  • the input data including the identifier and stored first is searched for and output.
  • the output order control unit 20 converts the input data output from the plurality of data search units 10-0, 10-1,..., 10- (K-1) into stream data according to the allocation status by the write control unit 30.
  • Are sorted in the order of input data and the input data and search data output from the plurality of data search units 10-0, 10-1,..., 10- (K-1) are combined and output in the order after sorting. To do.
  • the write control unit 30 may notify the output order control unit 20 of the data search unit that has finally assigned the input data included in the stream data. At this time, the output order control unit 20 inputs the input data output from the plurality of data search units 10-0, 10-1,..., 10- (K-1) in the stream data based on the notification. You may sort in the order of the data.
  • the write control unit 30 updates the count value in response to the arrival of the input data included in the stream data, and the data search units 10-0, 10-1,. There may be provided a counter that initializes the count value when the number reaches (ie, K). At this time, the write control unit 30 may allocate the input data included in the stream data to the plurality of data search units 10-0, 10-1, ..., 10- (K-1) based on the count value. .
  • the write control unit 30 may notify the output order control unit 20 of the count value.
  • the output order control unit 20 inputs the input data output from the plurality of data search units 10-0, 10-1,..., 10- (K-1) in the stream data based on the count value. You may sort in the order of the data.
  • FIG. 1 may be realized as a computer and a plurality of processing nodes.
  • FIG. 2 is a block diagram showing an example of such a configuration.
  • the computer 60 cycles the input data included in the stream data in order with respect to a plurality of processing nodes 50-0, 50-1,..., 50- (K-1). And assigning the assigned input data, and searching for and outputting the first stored input data that includes the same identifier as the identifier contained in the search data from the stored input data Sorting the input data output from the plurality of processing nodes 50-0, 50-1,..., 50- (K-1) in the order of the input data in the stream data according to the allocation status, , 50- (K-1) and the input data output from the processing nodes 50-0, 50-1,..., 50- (K-1) are combined and output in the order after sorting.
  • the information processing apparatus and the information processing method it is possible to speed up the stream data combining process while maintaining the data order before and after the combining process.
  • the write control unit 30 cyclically assigns the input data included in the stream data to the data search units 10-0, 10-1,..., 10- (K-1).
  • the input data output from the data search units 10-0, 10-1,..., 10- (K-1) can be easily sorted in the order of the input data in the stream data.
  • FIG. 3 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the present embodiment.
  • the information processing apparatus includes K data search units 10-0, 10-1,..., 10- (K-1), an output order control unit 20, a write control unit 30, And a demultiplexer 40.
  • the data having the same search ID as the search ID included in the search data 100 and its storage position are output.
  • the input data 200 is stored in the data search unit 10-M as the latest data.
  • the output order control unit 20 receives K pieces of output data output from the data search units 10-0, 10-1,..., 10- (K-1), and outputs the output data according to the stored order. Output from oldest to newest.
  • the output order control unit 20 refers to information notified from the write control unit 30 to determine whether the stored order is the oldest.
  • the write control unit 30 determines to which data search unit the input data is to be delivered based on the arrival notification of the input data 200 and passes the output to the demultiplexer 40 and the output order control unit 20.
  • the write control unit 30 periodically issues a delivery instruction in the order of the data search units 10-0, 10-1, 10- (K-1). Since the delivery instruction is performed sequentially and periodically, according to this delivery instruction, it is possible to uniquely determine which data search unit holds the latest data. That is, it is possible to uniquely determine that the K data search units preceding the data search unit that holds the latest data hold the oldest data.
  • a counter with a period K that uses an arrival notification as a trigger for counting up can be used. However, it is sufficient if an integer string from 1 to K can be efficiently generated, and the present invention is not limited to a counter having a period K.
  • FIG. 4 is a diagram illustrating a data structure in the present embodiment as an example.
  • the search data 100 includes a search ID 400 and data.
  • the input data 200 includes a search ID 400 and data.
  • the output data 300 includes a search ID 400, search data 100 data, and input data 200 data.
  • the search ID 400 included in the search data 100 and the search ID 400 included in the input data 200 have the same format (the same interpretation).
  • the data stored in the search data 100 and the input data 200 may be in any format.
  • data search unit 10 -M includes a data reading / comparing unit 11, a data writing unit 12, and a storage unit 13.
  • an element having a storage function such as a memory or a register can be used as the storage unit 13.
  • the data reading / comparing unit 11 refers to the search ID 400 included in the search data 100, and selects from the past stream data strings stored in the storage unit 13 (a pointer indicating the oldest position held internally) In this case, data having the same search ID 400 is searched in the oldest order, and if they match, the data is output.
  • the data search may be any linear search as long as the order can be maintained.
  • the data writing unit 12 receives the input data 200 and writes the data at the oldest data position in the storage unit 13. When data is written, the data writing unit 12 notifies the data reading / comparing unit 11 of the writing. When the data reading / comparing unit 11 receives the writing notification from the data writing unit 12, the data reading / comparing unit 11 moves the pointer from the oldest position currently held to the next oldest position.
  • the storage unit 13 stores past stream data strings. Due to the periodicity of the delivery instruction by the write control unit 30 (that is, the cycle K), the data sequence included in the M-th data search unit 10-M stores a data sequence in which the remainder of K with respect to the arrival order is M. The At this time, the K data search units 10-0, 10-1,..., 10- (K-1) can be used to search K data strings in parallel from the oldest.
  • FIG. 6 is a block diagram illustrating an example of the configuration of the output order control unit 20 and the write control unit 30 in the present embodiment.
  • the output order control unit 20 includes a sort number adjustment unit 21, a sort unit 22, and a data combination unit 23.
  • the write control unit 30 includes a counter 31.
  • the sort number adjustment unit 21 receives data having the same search ID as the search ID 400 included in the search data 100 from the K data search units 10-0, 10-1, ..., 10- (K-1). . Further, the sort number adjustment unit 21 specifies the data search unit that holds the oldest data based on the information of the data search unit that holds the latest data indicated by the write control unit 30. As a result, the sort number adjustment unit 21 labels (numbers) the output results of the K data search units 10-0, 10-1,..., 10- (K-1) in the oldest order. The received data is transferred to the sorting unit 22.
  • the write control unit 30 includes the counter 31 with the period K
  • the data search unit 10-1 holding the latest data when the data search unit 10-1 holding the latest data is instructed, the data search unit holding the oldest data Becomes the K-th previous data search unit, that is, the data search unit 10-2.
  • the sort number adjustment unit 21 assigns label 1 to the data output from the data search unit 10-2, assigns label 2 to the data output from the data search unit 10-3, and so on.
  • the label K is assigned to the data output from the unit 10-1.
  • the output data arrives from all the data search units 10-M. However, if there is no output data, the label may be skipped or indicated to be invalid.
  • the sorting unit 22 receives the numbered data, sorts the data in the oldest order according to the number, and passes the sorted data to the data combining unit 23 in the oldest order. As an example, when the numbering as described above is performed, the sorting unit 22 may sort the data in ascending order of the numbers.
  • the sort number adjustment unit 21 and the sort unit 22 are separated from each other, but both may be realized as a single unit.
  • the data combining unit 23 combines the search ID and data included in the search data 100 and the data output from the sorting unit 22, that is, performs a combining process, and sequentially outputs the output data 300.
  • the data having the same search ID searched in parallel by the K data search units 10-0, 10-1,..., 10- (K-1). It becomes possible to perform the joining process from the oldest to the oldest.
  • the information processing apparatus is as described above.
  • the write control unit notifies the output order control unit of the data search unit that has finally assigned the input data included in the stream data;
  • the output order control unit may sort the input data output from the plurality of data search units in the order of the input data in the stream data based on the notification.
  • the write control unit has a counter that updates a count value in response to arrival of input data included in the stream data, and initializes the count value when the number of updates reaches the number of the plurality of data search units.
  • the input data included in the stream data may be assigned to the plurality of data search units based on the count value.
  • the write control unit notifies the count value to the output order control unit,
  • the output order control unit may sort the input data output from the plurality of data search units in the order of the input data in the stream data based on the count value.
  • the information processing method according to the second viewpoint is as described above.
  • the computer inputs input data output from the plurality of processing nodes based on information indicating a processing node to which input data included in the stream data is last assigned, in the stream data. You may sort in the order of the data.
  • the computer updates a count value in response to arrival of input data included in the stream data, and initializes the count value when the number of updates reaches the number of the plurality of data search units. Further comprising a step, The computer may assign input data included in the stream data to the plurality of processing nodes based on the count value. [Form 8] In the information processing method, the computer may sort the input data output from the plurality of processing nodes in the order of the input data in the stream data based on the count value. [Form 9] The program is related to the third viewpoint.
  • the program sorts the input data output from the plurality of processing nodes in the order of the input data in the stream data based on the information indicating the processing node to which the input data included in the stream data is assigned last. Processing may be executed by the computer.
  • the program updates the count value in response to arrival of input data included in the stream data, and initializes the count value when the number of updates reaches the number of the plurality of data search units; Processing for assigning input data included in the stream data to the plurality of processing nodes based on the count value may be executed by the computer.
  • the program may cause the computer to execute a process of sorting the input data output from the plurality of processing nodes in the order of the input data in the stream data based on the count value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An information processing apparatus is provided with a write control unit, a plurality of data search units, and an output sequence control unit. The write control unit cyclically allots input data included in stream data to the plurality of data search units in sequence. The plurality of data search units stores the allotted input data, and from among the stored input data, searches and outputs the input data that includes the same identifiers as the identifiers included in the retrieval data, and was stored earliest. The output sequence control unit sorts the input data outputted from the plurality of data search units into the sequence of input data of the stream data according to the allotment status from the write control unit, joins the input data outputted from the plurality of data search units with the retrieval data in the post-sort sequence, and outputs the data. Join processing of the stream data is speeded up while retaining the sequence of the data before and after the joining process.

Description

情報処理装置、情報処理方法およびプログラムInformation processing apparatus, information processing method, and program
 [関連出願についての記載]
 本発明は、日本国特許出願:特願2013-076114号(2013年4月1日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、情報処理装置、情報処理方法およびプログラムに関し、特に、ストリームデータの結合処理を行う情報処理装置、情報処理方法およびプログラムに関する。
[Description of related applications]
The present invention is based on a Japanese patent application: Japanese Patent Application No. 2013-076114 (filed on April 1, 2013), and the entire contents of this application are incorporated in the present specification by reference.
The present invention relates to an information processing device, an information processing method, and a program, and more particularly, to an information processing device, an information processing method, and a program that perform stream data combining processing.
 近年、センサ、端末等の情報源から時々刻々と得られるデータ(ストリームデータ、時系列データ)を処理することで、社会インフラのスマート化(例えば、構造物の劣化診断、交通渋滞の解消等)を図る情報処理技術が進展しつつある。 In recent years, by processing data (stream data, time-series data) obtained from information sources such as sensors and terminals in every moment, smarter social infrastructure (for example, diagnosis of deterioration of structures, elimination of traffic congestion, etc.) Information processing technology that aims to achieve this is progressing.
 ストリームデータを扱う上で必要とされる処理の1つとして、「結合(join)」処理と呼ばれる処理がある。結合処理とは、検索データに含まれる検索IDを鍵として、過去に受信した限られた範囲のストリームデータの中から、検索データと同一の検索IDを有するデータを検索し、ストリームデータから検索されたデータと検索データとを結合して、過去に受信したストリームデータ中のデータの順に出力する処理をいう。結合処理の具体例として、銘柄という検索IDを鍵として、過去10分以内の株価の値上がり率と、現在の株価データとを結合する処理があげられる。一般に、ストリームデータは時々刻々と高速に流入するため、結合処理に含まれる検索処理を高速化することが求められる。 One of the processes required for handling stream data is a process called “join” process. The join process is a search from stream data by searching for data having the same search ID as the search data from a limited range of stream data received in the past using the search ID included in the search data as a key. The data is combined with the search data and output in the order of the data in the stream data received in the past. As a specific example of the combining process, there is a process of combining the price increase rate of the stock price within the past 10 minutes and the current stock price data with the search ID of the brand as a key. In general, stream data flows in at high speed from moment to moment, so that it is required to speed up the search processing included in the combination processing.
 図7は、ストリームデータの結合処理を行う情報処理装置の構成を一例として示すブロック図である。図7を参照すると、情報処理装置は、線形探索部110、線形格納部120、および、記憶部130を備えている。 FIG. 7 is a block diagram illustrating an example of the configuration of an information processing apparatus that performs stream data combining processing. Referring to FIG. 7, the information processing apparatus includes a linear search unit 110, a linear storage unit 120, and a storage unit 130.
 線形探索部110は、検索データ100を元に、記憶部130が保持する過去に受信したストリームデータ列から、線形に、すなわち、先頭から順にデータを読み出して、検索データ100に含まれる検索IDと同一の検索IDを有するデータを探す。線形格納部120は、新規に到着した入力データ200を、ストリームデータ列を保持する記憶部に線形に書き込む。また、線形格納部120は、新規に書き込んだ入力データ200のストリームデータ列における位置を線形探索部110に通知する。線形探索部110は、線形格納部120からの通知に基づいて、最古のデータがどこにあるかを判断する。 Based on the search data 100, the linear search unit 110 reads data linearly, that is, sequentially from the beginning, from the stream data sequence received in the past held in the storage unit 130, and the search ID included in the search data 100 Search for data having the same search ID. The linear storage unit 120 linearly writes newly arrived input data 200 in a storage unit that holds a stream data string. The linear storage unit 120 notifies the linear search unit 110 of the position of the newly written input data 200 in the stream data string. The linear search unit 110 determines where the oldest data is based on the notification from the linear storage unit 120.
 かかる情報処理装置によると、データが線形に探索されるため、上記の結合処理の要件のうちの、過去に受信したストリームデータ列の出力順序を維持するという要件を実現し易いという利点がある。 According to such an information processing apparatus, since data is searched linearly, there is an advantage that it is easy to realize the requirement of maintaining the output order of the stream data string received in the past among the requirements of the above-described combination processing.
 一例として、非特許文献1には、図7に示した情報処理装置と同様の方式に基づくデータストリーム処理装置が記載されている。 As an example, Non-Patent Document 1 describes a data stream processing device based on the same method as the information processing device shown in FIG.
 また、特許文献1には、ストリームデータを並列処理する複数の処理ノードと制御ノードとを備えたシステムが記載されている。 Further, Patent Document 1 describes a system including a plurality of processing nodes and control nodes that process stream data in parallel.
特開2007-251769号公報JP 2007-251769 A
 上記の特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。 The entire disclosure of the above-mentioned patent documents and non-patent documents is incorporated by reference in this document. The following analysis was made by the present inventors.
 図7に示した情報処理装置は、データを線形に探索する。したがって、図7に示した情報処理装置によると、過去に受信したストリームデータ列のうちの参照すべきストリームデータ列の数が増えると探索時間が増大し、ストリームデータをリアルタイムに処理できなくなるおそれがある。 The information processing apparatus shown in FIG. 7 searches for data linearly. Therefore, according to the information processing apparatus shown in FIG. 7, when the number of stream data sequences to be referred to increases among the stream data sequences received in the past, the search time increases, and there is a possibility that the stream data cannot be processed in real time. is there.
 また、特許文献1に記載されたシステムでは、制御ノードがストリームデータを転送した順序と転送先の処理ノードとを対にして記憶しておいて、ストリームデータを転送した順序で、処理ノードの処理結果を並べる。これにより、ストリームデータの順序が保たれる。しかしながら、かかる構成によると、ストリームデータを転送した順序と転送先の処理ノードとの対から成る情報を記憶するための記憶領域を制御ノードに設ける必要が生じる。また、制御ノードが当該情報を参照して処理ノードの処理結果を並べ替える処理がボトルネックとなるおそれもある。 Further, in the system described in Patent Document 1, the control node stores the order in which the stream data is transferred and the transfer destination processing node as a pair, and processes the processing nodes in the order in which the stream data is transferred. Arrange the results. Thereby, the order of the stream data is maintained. However, according to such a configuration, it is necessary to provide a storage area in the control node for storing information composed of a pair of the transfer order of the stream data and the transfer destination processing node. In addition, the process in which the control node refers to the information and rearranges the processing results of the processing nodes may cause a bottleneck.
 そこで、ストリームデータの結合処理を、結合処理の前後におけるデータの順序を保ちつつ高速化することが要望される。本発明の目的は、かかる要望に寄与する情報処理装置、情報処理方法およびプログラムを提供することにある。 Therefore, it is desired to speed up the stream data combining process while maintaining the data order before and after the combining process. The objective of this invention is providing the information processing apparatus, the information processing method, and program which contribute to this request.
 本発明の第1の視点に係る情報処理装置は、
 書込制御部と、複数のデータ探索部と、出力順序制御部とを備え、
 前記書込制御部は、ストリームデータに含まれる入力データを前記複数のデータ探索部に対して順番に周期的に割り当て、
 前記複数のデータ探索部は、割り当てられた入力データを蓄積するとともに、蓄積した入力データの中から検索データに含まれる識別子と同一の識別子を含み、かつ、最先に蓄積した入力データを探索して出力し、
 前記出力順序制御部は、前記複数のデータ探索部から出力された入力データを、前記書込制御部による割り当て状況に応じて前記ストリームデータにおける入力データの順序にソートし、前記複数のデータ探索部から出力された入力データと前記検索データをソート後の順序で結合して出力する。
An information processing apparatus according to the first aspect of the present invention provides:
A write control unit, a plurality of data search units, and an output order control unit,
The write control unit periodically assigns input data included in stream data to the plurality of data search units in order,
The plurality of data search units store the assigned input data, search the input data stored first, including the same identifier as the identifier included in the search data, from the stored input data. Output,
The output order control unit sorts the input data output from the plurality of data search units in the order of the input data in the stream data according to the allocation status by the write control unit, and the plurality of data search units Are combined with the search data in the order after sorting and output.
 本発明の第2の視点に係る情報処理方法は、
 コンピュータが、ストリームデータに含まれる入力データを複数の処理ノードに対して順番に周期的に割り当てる工程と、
 割り当てられた入力データを蓄積するとともに、蓄積した入力データの中から検索データに含まれる識別子と同一の識別子を含み、かつ、最先に蓄積した入力データを探索して出力する前記複数の処理ノードから出力された入力データを、前記割り当て状況に応じて前記ストリームデータにおける入力データの順序にソートする工程と、
 前記複数の処理ノードから出力された入力データと前記検索データをソート後の順序で結合して出力する工程と、を含む。
An information processing method according to the second aspect of the present invention includes:
A computer periodically assigning input data included in stream data to a plurality of processing nodes in order;
The plurality of processing nodes that store the assigned input data, include the same identifier as the identifier included in the search data from the stored input data, and search for and output the first stored input data Sorting the input data output from the input data in the stream data according to the allocation status;
Combining the input data output from the plurality of processing nodes and the search data in the sorted order and outputting the combined data.
 本発明の第3の視点に係るプログラムは、
 ストリームデータに含まれる入力データを複数の処理ノードに対して順番に周期的に割り当てる処理と、
 割り当てられた入力データを蓄積するとともに、蓄積した入力データの中から検索データに含まれる識別子と同一の識別子を含み、かつ、最先に蓄積した入力データを探索して出力する前記複数の処理ノードから出力された入力データを、前記割り当て状況に応じて前記ストリームデータにおける入力データの順序にソートする処理と、
 前記複数の処理ノードから出力された入力データと前記検索データを前記ソート後の順序で結合して出力する処理と、をコンピュータに実行させる。
 なお、プログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することができる。
The program according to the third aspect of the present invention is:
A process of periodically assigning input data included in stream data to a plurality of processing nodes in order;
The plurality of processing nodes that store the assigned input data, include the same identifier as the identifier included in the search data from the stored input data, and search for and output the first stored input data Sorting the input data output from the input data in the stream data according to the allocation status;
A process of combining the input data output from the plurality of processing nodes and the search data in the sorted order and outputting the data is executed by a computer.
The program can be provided as a program product recorded on a non-transitory computer-readable storage medium.
 本発明に係る情報処理装置、情報処理方法およびプログラムによると、ストリームデータの結合処理を、結合処理の前後におけるデータの順序を保ちつつ高速化することが可能となる。 According to the information processing apparatus, the information processing method, and the program according to the present invention, it is possible to speed up the stream data combining process while maintaining the data order before and after the combining process.
一実施形態に係る情報処理装置の構成を一例として示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus which concerns on one Embodiment as an example. 一実施形態に係る情報処理装置をコンピュータと複数の処理ノードとして実現した場合の構成を一例として示すブロック図である。It is a block diagram which shows the structure at the time of implement | achieving the information processing apparatus which concerns on one Embodiment as a computer and a some processing node as an example. 第1の実施形態に係る情報処理装置の構成を一例として示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus which concerns on 1st Embodiment as an example. 第1の実施形態におけるデータ形式を一例として示す図である。It is a figure which shows the data format in 1st Embodiment as an example. 第1の実施形態に係る情報処理装置のデータ探索部の構成を一例として示すブロック図である。It is a block diagram which shows the structure of the data search part of the information processing apparatus which concerns on 1st Embodiment as an example. 第1の実施形態に係る情報処理装置の出力順序制御部の構成を一例として示すブロック図である。It is a block diagram which shows the structure of the output order control part of the information processing apparatus which concerns on 1st Embodiment as an example. 関連技術に係る情報処理装置の構成を一例として示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus which concerns on related technology as an example.
 はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。 First, an outline of one embodiment will be described. Note that the reference numerals of the drawings attached to this summary are merely examples for facilitating understanding, and are not intended to limit the present invention to the illustrated embodiment.
 図1は、一実施形態に係る情報処理装置の構成を一例として示すブロック図である。図1を参照すると、情報処理装置は、書込制御部30と、複数のデータ探索部10-0、10-1、…、10-(K-1)と、出力順序制御部20とを備えている。 FIG. 1 is a block diagram illustrating an example of a configuration of an information processing apparatus according to an embodiment. Referring to FIG. 1, the information processing apparatus includes a write control unit 30, a plurality of data search units 10-0, 10-1, ..., 10- (K-1), and an output order control unit 20. ing.
 書込制御部30は、ストリームデータに含まれる入力データを複数のデータ探索部10-0、10-1、…、10-(K-1)に対して順番に周期的に(すなわち、サイクリックに)割り当てる。複数のデータ探索部10-0、10-1、…、10-(K-1)は、割り当てられた入力データを蓄積するとともに、蓄積した入力データの中から検索データに含まれる識別子と同一の識別子を含み、かつ、最先に蓄積した入力データを探索して出力する。出力順序制御部20は、複数のデータ探索部10-0、10-1、…、10-(K-1)から出力された入力データを、書込制御部30による割り当て状況に応じてストリームデータにおける入力データの順序にソートし、複数のデータ探索部10-0、10-1、…、10-(K-1)から出力された入力データと検索データをソート後の順序で結合して出力する。 The write control unit 30 periodically inputs the input data included in the stream data to the plurality of data search units 10-0, 10-1,..., 10- (K−1) (that is, cyclic To). The plurality of data search units 10-0, 10-1,..., 10- (K-1) store the assigned input data and have the same identifier as the search data included in the stored input data. The input data including the identifier and stored first is searched for and output. The output order control unit 20 converts the input data output from the plurality of data search units 10-0, 10-1,..., 10- (K-1) into stream data according to the allocation status by the write control unit 30. Are sorted in the order of input data, and the input data and search data output from the plurality of data search units 10-0, 10-1,..., 10- (K-1) are combined and output in the order after sorting. To do.
 書込制御部30は、ストリームデータに含まれる入力データを最後に割り当てたデータ探索部を出力順序制御部20に通知してもよい。このとき、出力順序制御部20は、複数のデータ探索部10-0、10-1、…、10-(K-1)から出力された入力データを、当該通知に基づいて、ストリームデータにおける入力データの順序にソートしてもよい。 The write control unit 30 may notify the output order control unit 20 of the data search unit that has finally assigned the input data included in the stream data. At this time, the output order control unit 20 inputs the input data output from the plurality of data search units 10-0, 10-1,..., 10- (K-1) in the stream data based on the notification. You may sort in the order of the data.
 書込制御部30は、ストリームデータに含まれる入力データの到着に応じてカウント値を更新し、更新回数が複数のデータ探索部10-0、10-1、…、10-(K-1)の個数(すなわち、K)に達するとカウント値を初期化するカウンタを有していてもよい。このとき、書込制御部30は、ストリームデータに含まれる入力データをカウント値に基づいて複数のデータ探索部10-0、10-1、…、10-(K-1)に割り当ててもよい。 The write control unit 30 updates the count value in response to the arrival of the input data included in the stream data, and the data search units 10-0, 10-1,. There may be provided a counter that initializes the count value when the number reaches (ie, K). At this time, the write control unit 30 may allocate the input data included in the stream data to the plurality of data search units 10-0, 10-1, ..., 10- (K-1) based on the count value. .
 また、書込制御部30は、カウント値を出力順序制御部20に通知してもよい。このとき、出力順序制御部20は、複数のデータ探索部10-0、10-1、…、10-(K-1)から出力された入力データを、カウント値に基づいて、ストリームデータにおける入力データの順序にソートしてもよい。 Further, the write control unit 30 may notify the output order control unit 20 of the count value. At this time, the output order control unit 20 inputs the input data output from the plurality of data search units 10-0, 10-1,..., 10- (K-1) in the stream data based on the count value. You may sort in the order of the data.
 さらに、一実施形態に係る情報処理装置(図1)をコンピュータと複数の処理ノードとして実現してもよい。図2は、かかる場合の構成を一例として示すブロック図である。 Furthermore, the information processing apparatus (FIG. 1) according to an embodiment may be realized as a computer and a plurality of processing nodes. FIG. 2 is a block diagram showing an example of such a configuration.
 図2を参照すると、情報処理方法は、コンピュータ60が、ストリームデータに含まれる入力データを複数の処理ノード50-0、50-1、…、50-(K-1)に対して順番に周期的に割り当てる工程と、割り当てられた入力データを蓄積するとともに、蓄積した入力データの中から検索データに含まれる識別子と同一の識別子を含み、かつ、最先に蓄積した入力データを探索して出力する複数の処理ノード50-0、50-1、…、50-(K-1)から出力された入力データを、割り当て状況に応じてストリームデータにおける入力データの順序にソートする工程と、複数の処理ノード50-0、50-1、…、50-(K-1)から出力された入力データと検索データをソート後の順序で結合して出力する工程と、を含む。 Referring to FIG. 2, in the information processing method, the computer 60 cycles the input data included in the stream data in order with respect to a plurality of processing nodes 50-0, 50-1,..., 50- (K-1). And assigning the assigned input data, and searching for and outputting the first stored input data that includes the same identifier as the identifier contained in the search data from the stored input data Sorting the input data output from the plurality of processing nodes 50-0, 50-1,..., 50- (K-1) in the order of the input data in the stream data according to the allocation status, , 50- (K-1) and the input data output from the processing nodes 50-0, 50-1,..., 50- (K-1) are combined and output in the order after sorting.
 かかる情報処理装置および情報処理方法によると、ストリームデータの結合処理を、結合処理の前後におけるデータの順序を保ちつつ高速化することが可能となる。なぜなら、書込制御部30はストリームデータに含まれる入力データをデータ探索部10-0、10-1、…、10-(K-1)に対してサイクリックに割り当てるため、出力順序制御部20はデータ探索部10-0、10-1、…、10-(K-1)から出力された入力データをストリームデータにおける入力データの順序に容易にソートすることができるからである。 According to the information processing apparatus and the information processing method, it is possible to speed up the stream data combining process while maintaining the data order before and after the combining process. This is because the write control unit 30 cyclically assigns the input data included in the stream data to the data search units 10-0, 10-1,..., 10- (K-1). This is because the input data output from the data search units 10-0, 10-1,..., 10- (K-1) can be easily sorted in the order of the input data in the stream data.
<実施形態1>
 第1の実施形態に係る情報処理装置について、図面を参照しつつ説明する。図3は、本実施形態に係る情報処理装置の構成を一例として示すブロック図である。図3を参照すると、情報処理装置は、K個のデータ探索部10-0、10-1、…、10-(K-1)と、出力順序制御部20と、書込制御部30と、デマルチプレクサ40とを備えている。
<Embodiment 1>
An information processing apparatus according to a first embodiment will be described with reference to the drawings. FIG. 3 is a block diagram illustrating an example of the configuration of the information processing apparatus according to the present embodiment. Referring to FIG. 3, the information processing apparatus includes K data search units 10-0, 10-1,..., 10- (K-1), an output order control unit 20, a write control unit 30, And a demultiplexer 40.
 データ探索部10-M(M=0、1、…、K-1)は、入力データ200および検索データ100を入力とし、データ探索部10-Mに格納されている過去のストリームデータ列の中から、検索データ100に含まれる検索IDと同一の検索IDを有するデータと、その格納位置を出力する。入力データ200は、最新データとして、データ探索部10-Mに格納される。 The data search unit 10-M (M = 0, 1,..., K-1) receives the input data 200 and the search data 100 as input, and stores the past stream data strings stored in the data search unit 10-M. The data having the same search ID as the search ID included in the search data 100 and its storage position are output. The input data 200 is stored in the data search unit 10-M as the latest data.
 出力順序制御部20は、データ探索部10-0、10-1、…、10-(K-1)から出力されるK個の出力データを入力とし、その出力データを、格納された順序が古いものから順に出力する。出力順序制御部20は、格納された順序が最古かどうかを判定するために、書込制御部30から通知される情報を参照する。 The output order control unit 20 receives K pieces of output data output from the data search units 10-0, 10-1,..., 10- (K-1), and outputs the output data according to the stored order. Output from oldest to newest. The output order control unit 20 refers to information notified from the write control unit 30 to determine whether the stored order is the oldest.
 書込制御部30は、入力データ200の到着通知を元に、どのデータ探索部へ入力データを配送するかを決定し、その出力をデマルチプレクサ40および出力順序制御部20に渡す。書込制御部30は、データ探索部10-0、10-1、10-(K-1)の順序で周期的に配送指示を行う。順番に、かつ、周期的に配送指示を行うことから、この配送指示によると、どのデータ探索部が最新のデータを保持しているかを一意に判別することができる。すなわち、最新のデータを保持するデータ探索部のK個前のデータ探索部が最古のデータを保持していることを一意に判別することができる。なお、具体的な実現方式として、到着通知をカウントアップの契機とする、周期Kのカウンタを用いることができる。ただし、1からKまでの整数列を効率良く生成できれば十分であり、周期Kのカウンタに限定されない。 The write control unit 30 determines to which data search unit the input data is to be delivered based on the arrival notification of the input data 200 and passes the output to the demultiplexer 40 and the output order control unit 20. The write control unit 30 periodically issues a delivery instruction in the order of the data search units 10-0, 10-1, 10- (K-1). Since the delivery instruction is performed sequentially and periodically, according to this delivery instruction, it is possible to uniquely determine which data search unit holds the latest data. That is, it is possible to uniquely determine that the K data search units preceding the data search unit that holds the latest data hold the oldest data. As a specific implementation method, a counter with a period K that uses an arrival notification as a trigger for counting up can be used. However, it is sufficient if an integer string from 1 to K can be efficiently generated, and the present invention is not limited to a counter having a period K.
 図4は、本実施形態におけるデータ構造を一例として示す図である。図4を参照すると、検索データ100は、検索ID400とデータを含む。また、入力データ200は、検索ID400とデータを含む。一方、出力データ300は、検索ID400と検索データ100のデータと入力データ200のデータを含む。検索データ100に含まれる検索ID400と入力データ200に含まれる検索ID400は、同一の形式(同一の解釈)である。一方、検索データ100および入力データ200に格納されるデータは、どのような形式であってもよい。 FIG. 4 is a diagram illustrating a data structure in the present embodiment as an example. Referring to FIG. 4, the search data 100 includes a search ID 400 and data. The input data 200 includes a search ID 400 and data. On the other hand, the output data 300 includes a search ID 400, search data 100 data, and input data 200 data. The search ID 400 included in the search data 100 and the search ID 400 included in the input data 200 have the same format (the same interpretation). On the other hand, the data stored in the search data 100 and the input data 200 may be in any format.
 図5は、本実施形態におけるM番目(M=0、1、…、K-1)のデータ探索部10-Mの構成を一例として示すブロック図である。図5を参照すると、データ探索部10-Mは、データ読出・比較部11、データ書込部12、および、記憶部13を備えている。記憶部13として、例えば、メモリ、レジスタ等の記憶機能を持つ素子を用いることができる。 FIG. 5 is a block diagram illustrating an example of the configuration of the M-th (M = 0, 1,..., K−1) data search unit 10-M in the present embodiment. Referring to FIG. 5, data search unit 10 -M includes a data reading / comparing unit 11, a data writing unit 12, and a storage unit 13. For example, an element having a storage function such as a memory or a register can be used as the storage unit 13.
 データ読出・比較部11は、検索データ100に含まれる検索ID400を参照し、記憶部13に格納された過去のストリームデータ列の中から、(内部で保持している最古の位置を示すポインタを利用して)、古い順に、同一の検索ID400を有するデータを検索し、一致した場合、そのデータを出力する。データの検索は、順序が維持できれば、線形探索でもどのようなものであってもよい。 The data reading / comparing unit 11 refers to the search ID 400 included in the search data 100, and selects from the past stream data strings stored in the storage unit 13 (a pointer indicating the oldest position held internally) In this case, data having the same search ID 400 is searched in the oldest order, and if they match, the data is output. The data search may be any linear search as long as the order can be maintained.
 データ書込部12は入力データ200を入力とし、記憶部13の最古のデータ位置にデータを書き込む。データ書込部12は、データを書き込むと、データ読出・比較部11に書込みを通知する。データ読出・比較部11は、データ書込部12から書込みの通知を受けると、現在保持している最古の位置から、次の最古の位置へとポインタを移動させる。 The data writing unit 12 receives the input data 200 and writes the data at the oldest data position in the storage unit 13. When data is written, the data writing unit 12 notifies the data reading / comparing unit 11 of the writing. When the data reading / comparing unit 11 receives the writing notification from the data writing unit 12, the data reading / comparing unit 11 moves the pointer from the oldest position currently held to the next oldest position.
 記憶部13は、過去のストリームデータ列を格納する。書込制御部30による配送指示の周期性(すなわち、周期K)により、M番目のデータ探索部10-Mに含まれるデータ列は、到着順序に対するKの剰余がMとなるデータ列が格納される。このとき、K個のデータ探索部10-0、10-1、…、10-(K-1)で検索することにより、古い順にK個のデータ列を並列に検索することが可能となる。 The storage unit 13 stores past stream data strings. Due to the periodicity of the delivery instruction by the write control unit 30 (that is, the cycle K), the data sequence included in the M-th data search unit 10-M stores a data sequence in which the remainder of K with respect to the arrival order is M. The At this time, the K data search units 10-0, 10-1,..., 10- (K-1) can be used to search K data strings in parallel from the oldest.
 図6は、本実施形態における出力順序制御部20および書込制御部30の構成を一例として示すブロック図である。図6を参照すると、出力順序制御部20は、ソート番号調整部21、ソート部22、および、データ結合部23を備えている。一方、書込制御部30は、カウンタ31を備えている。 FIG. 6 is a block diagram illustrating an example of the configuration of the output order control unit 20 and the write control unit 30 in the present embodiment. Referring to FIG. 6, the output order control unit 20 includes a sort number adjustment unit 21, a sort unit 22, and a data combination unit 23. On the other hand, the write control unit 30 includes a counter 31.
 ソート番号調整部21は、K個のデータ探索部10-0、10-1、…、10-(K-1)から、検索データ100に含まれる検索ID400と同一の検索IDを有するデータを受け取る。また、ソート番号調整部21は、書込制御部30が示す最新のデータを保持するデータ探索部の情報に基づいて、最古のデータを保持するデータ探索部を特定する。これにより、ソート番号調整部21は、K個のデータ探索部10-0、10-1、…、10-(K-1)の出力結果に対し、最古の順にラベル(番号)付けを行い、受け取ったデータとともにソート部22へと渡す。 The sort number adjustment unit 21 receives data having the same search ID as the search ID 400 included in the search data 100 from the K data search units 10-0, 10-1, ..., 10- (K-1). . Further, the sort number adjustment unit 21 specifies the data search unit that holds the oldest data based on the information of the data search unit that holds the latest data indicated by the write control unit 30. As a result, the sort number adjustment unit 21 labels (numbers) the output results of the K data search units 10-0, 10-1,..., 10- (K-1) in the oldest order. The received data is transferred to the sorting unit 22.
 例えば、書込制御部30が周期Kのカウンタ31を備えている場合、最新のデータを保持するデータ探索部10-1を指示しているとき、最古のデータを保持しているデータ探索部はK個前のデータ探索部、すなわち、データ探索部10-2となる。上述のように、各データ探索部10-Mは、それぞれが保持するストリームデータ列を最古の順に検索するため、出力データの中で、最も古いデータはデータ探索部10-2から出力されたデータであり、以下、データ探索部10-3、…、10-(K-1)、10-0、10-1の順に古いデータを出力することが分かる。したがって、ソート番号調整部21は、データ探索部10-2から出力されたデータにラベル1を割り当て、データ探索部10-3から出力されたデータにラベル2を割り当て、以下同様にして、データ探索部10-1から出力されたデータにラベルKを割り当てる。ここでは、すべてのデータ探索部10-Mから出力データが到来する場合を想定したが、出力データがない場合、そのラベルは飛ばすか、または、無効であることを示すようにすればよい。 For example, when the write control unit 30 includes the counter 31 with the period K, when the data search unit 10-1 holding the latest data is instructed, the data search unit holding the oldest data Becomes the K-th previous data search unit, that is, the data search unit 10-2. As described above, since each data search unit 10-M searches the stream data sequence held by each data in the oldest order, the oldest data among the output data is output from the data search unit 10-2. It is understood that the old data is output in the order of data search units 10-3,..., 10- (K-1), 10-0, 10-1. Therefore, the sort number adjustment unit 21 assigns label 1 to the data output from the data search unit 10-2, assigns label 2 to the data output from the data search unit 10-3, and so on. The label K is assigned to the data output from the unit 10-1. Here, it is assumed that the output data arrives from all the data search units 10-M. However, if there is no output data, the label may be skipped or indicated to be invalid.
 ソート部22は、番号付けされたデータを受け取り、その番号に従って、古い順にソートを行い、古い順にデータ結合部23へと渡す。一例として、上記のような番号付けを行った場合、ソート部22は番号の昇順にデータをソートすればよい。ここでは、ソート番号調整部21とソート部22とが分離された構成としたが、両者を単一のユニットとして実現してもよい。 The sorting unit 22 receives the numbered data, sorts the data in the oldest order according to the number, and passes the sorted data to the data combining unit 23 in the oldest order. As an example, when the numbering as described above is performed, the sorting unit 22 may sort the data in ascending order of the numbers. Here, the sort number adjustment unit 21 and the sort unit 22 are separated from each other, but both may be realized as a single unit.
 データ結合部23は、検索データ100に含まれる検索IDおよびデータと、ソート部22から出力されたデータとを組み合わせて、すなわち、結合処理を実施して、出力データ300を順に出力する。 The data combining unit 23 combines the search ID and data included in the search data 100 and the data output from the sorting unit 22, that is, performs a combining process, and sequentially outputs the output data 300.
 本実施形態に係る情報処理装置によると、K個のデータ探索部10-0、10-1、…、10-(K-1)にて並列に検索された、同一の検索IDを持つデータの中から、最古の順に、結合処理を行うことが可能となる。 According to the information processing apparatus according to the present embodiment, the data having the same search ID, searched in parallel by the K data search units 10-0, 10-1,..., 10- (K-1). It becomes possible to perform the joining process from the oldest to the oldest.
 なお、本発明において、下記の形態が可能である。
[形態1]
 上記第1の視点に係る情報処理装置のとおりである。
[形態2]
 前記書込制御部は、前記ストリームデータに含まれる入力データを最後に割り当てたデータ探索部を前記出力順序制御部に通知し、
 前記出力順序制御部は、前記複数のデータ探索部から出力された入力データを、前記通知に基づいて、前記ストリームデータにおける入力データの順序にソートしてもよい。
[形態3]
 前記書込制御部は、前記ストリームデータに含まれる入力データの到着に応じてカウント値を更新し、更新回数が前記複数のデータ探索部の個数に達すると前記カウント値を初期化するカウンタを有し、前記ストリームデータに含まれる入力データを前記カウント値に基づいて前記複数のデータ探索部に割り当ててもよい。
[形態4]
 前記書込制御部は、前記カウント値を前記出力順序制御部に通知し、
 前記出力順序制御部は、前記複数のデータ探索部から出力された入力データを、前記カウント値に基づいて、前記ストリームデータにおける入力データの順序にソートしてもよい。
[形態5]
 上記第2の視点に係る情報処理方法のとおりである。
[形態6]
 上記情報処理方法において、前記コンピュータは、前記ストリームデータに含まれる入力データを最後に割り当てた処理ノードを示す情報に基づいて、前記複数の処理ノードから出力された入力データを、前記ストリームデータにおける入力データの順序にソートしてもよい。
[形態7]
 上記情報処理方法は、前記コンピュータが、前記ストリームデータに含まれる入力データの到着に応じてカウント値を更新し、更新回数が前記複数のデータ探索部の個数に達すると前記カウント値を初期化する工程をさらに含み、
 前記コンピュータは、前記ストリームデータに含まれる入力データを前記カウント値に基づいて前記複数の処理ノードに割り当ててもよい。
[形態8]
 上記情報処理方法において、前記コンピュータは、前記複数の処理ノードから出力された入力データを、前記カウント値に基づいて、前記ストリームデータにおける入力データの順序にソートしてもよい。
[形態9]
 上記第3の視点に係るプログラムのとおりである。
[形態10]
 上記プログラムは、前記ストリームデータに含まれる入力データを最後に割り当てた処理ノードを示す情報に基づいて、前記複数の処理ノードから出力された入力データを、前記ストリームデータにおける入力データの順序にソートする処理を、前記コンピュータに実行させてもよい。
[形態11]
 上記プログラムは、前記ストリームデータに含まれる入力データの到着に応じてカウント値を更新し、更新回数が前記複数のデータ探索部の個数に達すると前記カウント値を初期化する処理と、
 前記ストリームデータに含まれる入力データを前記カウント値に基づいて前記複数の処理ノードに割り当てる処理と、を前記コンピュータに実行させてもよい。
[形態12]
 上記プログラムは、前記複数の処理ノードから出力された入力データを、前記カウント値に基づいて、前記ストリームデータにおける入力データの順序にソートする処理を、前記コンピュータに実行させてもよい。
In the present invention, the following modes are possible.
[Form 1]
The information processing apparatus according to the first aspect is as described above.
[Form 2]
The write control unit notifies the output order control unit of the data search unit that has finally assigned the input data included in the stream data;
The output order control unit may sort the input data output from the plurality of data search units in the order of the input data in the stream data based on the notification.
[Form 3]
The write control unit has a counter that updates a count value in response to arrival of input data included in the stream data, and initializes the count value when the number of updates reaches the number of the plurality of data search units. The input data included in the stream data may be assigned to the plurality of data search units based on the count value.
[Form 4]
The write control unit notifies the count value to the output order control unit,
The output order control unit may sort the input data output from the plurality of data search units in the order of the input data in the stream data based on the count value.
[Form 5]
The information processing method according to the second viewpoint is as described above.
[Form 6]
In the information processing method, the computer inputs input data output from the plurality of processing nodes based on information indicating a processing node to which input data included in the stream data is last assigned, in the stream data. You may sort in the order of the data.
[Form 7]
In the information processing method, the computer updates a count value in response to arrival of input data included in the stream data, and initializes the count value when the number of updates reaches the number of the plurality of data search units. Further comprising a step,
The computer may assign input data included in the stream data to the plurality of processing nodes based on the count value.
[Form 8]
In the information processing method, the computer may sort the input data output from the plurality of processing nodes in the order of the input data in the stream data based on the count value.
[Form 9]
The program is related to the third viewpoint.
[Mode 10]
The program sorts the input data output from the plurality of processing nodes in the order of the input data in the stream data based on the information indicating the processing node to which the input data included in the stream data is assigned last. Processing may be executed by the computer.
[Form 11]
The program updates the count value in response to arrival of input data included in the stream data, and initializes the count value when the number of updates reaches the number of the plurality of data search units;
Processing for assigning input data included in the stream data to the plurality of processing nodes based on the count value may be executed by the computer.
[Form 12]
The program may cause the computer to execute a process of sorting the input data output from the plurality of processing nodes in the order of the input data in the stream data based on the count value.
 なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。 It should be noted that the disclosures of the above patent documents and non-patent documents are incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiment can be changed and adjusted based on the basic technical concept. Further, various combinations or selections of various disclosed elements (including each element of each claim, each element of each embodiment, each element of each drawing, etc.) are possible within the framework of the entire disclosure of the present invention. is there. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea. In particular, with respect to the numerical ranges described in this document, any numerical value or small range included in the range should be construed as being specifically described even if there is no specific description.
10-0、10-1、…、10-(K-1)  データ探索部
11  データ読出・比較部
12  データ書込部
13  記憶部
20  出力順序制御部
21  ソート番号調整部
22  ソート部
23  データ結合部
30  書込制御部
31  カウンタ
40  デマルチプレクサ
50-0、50-1、…、50-(K-1)  処理ノード
60  コンピュータ
100  検索データ
110  線形探索部
120  線形格納部
130  記憶部
200  入力データ
300  出力データ
400  検索ID
10-0, 10-1,..., 10- (K-1) Data search unit 11 Data read / comparison unit 12 Data write unit 13 Storage unit 20 Output order control unit 21 Sort number adjustment unit 22 Sort unit 23 Data combination Unit 30 write control unit 31 counter 40 demultiplexer 50-0, 50-1,..., 50- (K-1) processing node 60 computer 100 search data 110 linear search unit 120 linear storage unit 130 storage unit 200 input data 300 Output data 400 Search ID

Claims (12)

  1.  書込制御部と、複数のデータ探索部と、出力順序制御部とを備え、
     前記書込制御部は、ストリームデータに含まれる入力データを前記複数のデータ探索部に対して順番に周期的に割り当て、
     前記複数のデータ探索部は、割り当てられた入力データを蓄積するとともに、蓄積した入力データの中から検索データに含まれる識別子と同一の識別子を含み、かつ、最先に蓄積した入力データを探索して出力し、
     前記出力順序制御部は、前記複数のデータ探索部から出力された入力データを、前記書込制御部による割り当て状況に応じて前記ストリームデータにおける入力データの順序にソートし、前記複数のデータ探索部から出力された入力データと前記検索データを前記ソート後の順序で結合して出力する、情報処理装置。
    A write control unit, a plurality of data search units, and an output order control unit,
    The write control unit periodically assigns input data included in stream data to the plurality of data search units in order,
    The plurality of data search units store the assigned input data, search the input data stored first, including the same identifier as the identifier included in the search data, from the stored input data. Output,
    The output order control unit sorts the input data output from the plurality of data search units in the order of the input data in the stream data according to the allocation status by the write control unit, and the plurality of data search units An information processing apparatus that combines and outputs the input data output from and the search data in the sorted order.
  2.  前記書込制御部は、前記ストリームデータに含まれる入力データを最後に割り当てたデータ探索部を前記出力順序制御部に通知し、
     前記出力順序制御部は、前記複数のデータ探索部から出力された入力データを、前記通知に基づいて、前記ストリームデータにおける入力データの順序にソートする、請求項1に記載の情報処理装置。
    The write control unit notifies the output order control unit of the data search unit that has finally assigned the input data included in the stream data;
    The information processing apparatus according to claim 1, wherein the output order control unit sorts input data output from the plurality of data search units in an order of input data in the stream data based on the notification.
  3.  前記書込制御部は、前記ストリームデータに含まれる入力データの到着に応じてカウント値を更新し、更新回数が前記複数のデータ探索部の個数に達すると前記カウント値を初期化するカウンタを有し、前記ストリームデータに含まれる入力データを前記カウント値に基づいて前記複数のデータ探索部に割り当てる、請求項1または2に記載の情報処理装置。 The write control unit has a counter that updates a count value in response to arrival of input data included in the stream data, and initializes the count value when the number of updates reaches the number of the plurality of data search units. The information processing apparatus according to claim 1, wherein input data included in the stream data is allocated to the plurality of data search units based on the count value.
  4.  前記書込制御部は、前記カウント値を前記出力順序制御部に通知し、
     前記出力順序制御部は、前記複数のデータ探索部から出力された入力データを、前記カウント値に基づいて、前記ストリームデータにおける入力データの順序にソートする、請求項3に記載の情報処理装置。
    The write control unit notifies the count value to the output order control unit,
    The information processing apparatus according to claim 3, wherein the output order control unit sorts input data output from the plurality of data search units in an order of input data in the stream data based on the count value.
  5.  コンピュータが、ストリームデータに含まれる入力データを複数の処理ノードに対して順番に周期的に割り当てる工程と、
     割り当てられた入力データを蓄積するとともに、蓄積した入力データの中から検索データに含まれる識別子と同一の識別子を含み、かつ、最先に蓄積した入力データを探索して出力する前記複数の処理ノードから出力された入力データを、前記割り当て状況に応じて前記ストリームデータにおける入力データの順序にソートする工程と、
     前記複数の処理ノードから出力された入力データと前記検索データを前記ソート後の順序で結合して出力する工程と、を含む、情報処理方法。
    A computer periodically assigning input data included in stream data to a plurality of processing nodes in order;
    The plurality of processing nodes that store the assigned input data, include the same identifier as the identifier included in the search data from the stored input data, and search for and output the first stored input data Sorting the input data output from the input data in the stream data according to the allocation status;
    Combining the input data output from the plurality of processing nodes and the search data in the sorted order and outputting the combined data.
  6.  前記コンピュータは、前記ストリームデータに含まれる入力データを最後に割り当てた処理ノードを示す情報に基づいて、前記複数の処理ノードから出力された入力データを、前記ストリームデータにおける入力データの順序にソートする、請求項5に記載の情報処理方法。 The computer sorts the input data output from the plurality of processing nodes in the order of the input data in the stream data based on information indicating a processing node that has finally assigned the input data included in the stream data. The information processing method according to claim 5.
  7.  前記コンピュータが、前記ストリームデータに含まれる入力データの到着に応じてカウント値を更新し、更新回数が前記複数のデータ探索部の個数に達すると前記カウント値を初期化する工程をさらに含み、
     前記コンピュータは、前記ストリームデータに含まれる入力データを前記カウント値に基づいて前記複数の処理ノードに割り当てる、請求項5または6に記載の情報処理方法。
    The computer further includes a step of updating the count value in response to arrival of input data included in the stream data, and initializing the count value when the number of updates reaches the number of the plurality of data search units,
    The information processing method according to claim 5, wherein the computer assigns input data included in the stream data to the plurality of processing nodes based on the count value.
  8.  前記コンピュータは、前記複数の処理ノードから出力された入力データを、前記カウント値に基づいて、前記ストリームデータにおける入力データの順序にソートする、請求項7に記載の情報処理方法。 The information processing method according to claim 7, wherein the computer sorts input data output from the plurality of processing nodes in an order of input data in the stream data based on the count value.
  9.  ストリームデータに含まれる入力データを複数の処理ノードに対して順番に周期的に割り当てる処理と、
     割り当てられた入力データを蓄積するとともに、蓄積した入力データの中から検索データに含まれる識別子と同一の識別子を含み、かつ、最先に蓄積した入力データを探索して出力する前記複数の処理ノードから出力された入力データを、前記割り当て状況に応じて前記ストリームデータにおける入力データの順序にソートする処理と、
     前記複数の処理ノードから出力された入力データと前記検索データを前記ソート後の順序で結合して出力する処理と、をコンピュータに実行させる、プログラム。
    A process of periodically assigning input data included in stream data to a plurality of processing nodes in order;
    The plurality of processing nodes that store the assigned input data, include the same identifier as the identifier included in the search data from the stored input data, and search for and output the first stored input data Sorting the input data output from the input data in the stream data according to the allocation status;
    A program that causes a computer to execute a process of combining input data output from the plurality of processing nodes and the search data in the sorted order and outputting the combined data.
  10.  前記ストリームデータに含まれる入力データを最後に割り当てた処理ノードを示す情報に基づいて、前記複数の処理ノードから出力された入力データを、前記ストリームデータにおける入力データの順序にソートする処理を、前記コンピュータに実行させる、請求項9に記載のプログラム。 The process of sorting the input data output from the plurality of processing nodes in the order of the input data in the stream data, based on the information indicating the processing node that lastly assigned the input data included in the stream data, The program according to claim 9, which is executed by a computer.
  11.  前記ストリームデータに含まれる入力データの到着に応じてカウント値を更新し、更新回数が前記複数のデータ探索部の個数に達すると前記カウント値を初期化する処理と、
     前記ストリームデータに含まれる入力データを前記カウント値に基づいて前記複数の処理ノードに割り当てる処理と、を前記コンピュータに実行させる、請求項9または10に記載のプログラム。
    Updating the count value in response to arrival of input data included in the stream data, and initializing the count value when the number of updates reaches the number of the plurality of data search units;
    The program according to claim 9 or 10, which causes the computer to execute a process of allocating input data included in the stream data to the plurality of processing nodes based on the count value.
  12.  前記複数の処理ノードから出力された入力データを、前記カウント値に基づいて、前記ストリームデータにおける入力データの順序にソートする処理を、前記コンピュータに実行させる、請求項11に記載のプログラム。 12. The program according to claim 11, wherein the computer executes a process of sorting the input data output from the plurality of processing nodes in the order of the input data in the stream data based on the count value.
PCT/JP2014/059626 2013-04-01 2014-04-01 Information processing apparatus, information processing method, and program WO2014163072A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015510093A JP6428603B2 (en) 2013-04-01 2014-04-01 Information processing apparatus, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-076114 2013-04-01
JP2013076114 2013-04-01

Publications (1)

Publication Number Publication Date
WO2014163072A1 true WO2014163072A1 (en) 2014-10-09

Family

ID=51658367

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/059626 WO2014163072A1 (en) 2013-04-01 2014-04-01 Information processing apparatus, information processing method, and program

Country Status (2)

Country Link
JP (1) JP6428603B2 (en)
WO (1) WO2014163072A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001464A1 (en) * 2008-07-01 2010-01-07 富士通株式会社 Search device and search method
WO2010065295A1 (en) * 2008-12-01 2010-06-10 Micron Technology, Inc. Systems and methods to enable identification of different data sets
JP2011039820A (en) * 2009-08-12 2011-02-24 Hitachi Ltd Stream data processing method and apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4528273B2 (en) * 2006-03-17 2010-08-18 三菱電機株式会社 Control node device, data management method, and program
WO2012046316A1 (en) * 2010-10-06 2012-04-12 株式会社日立製作所 Stream data processing method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001464A1 (en) * 2008-07-01 2010-01-07 富士通株式会社 Search device and search method
WO2010065295A1 (en) * 2008-12-01 2010-06-10 Micron Technology, Inc. Systems and methods to enable identification of different data sets
JP2011039820A (en) * 2009-08-12 2011-02-24 Hitachi Ltd Stream data processing method and apparatus

Also Published As

Publication number Publication date
JP6428603B2 (en) 2018-11-28
JPWO2014163072A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
US8081646B1 (en) Old virtual queues technique for routing data packets in a packet switch
WO2016062254A1 (en) Memory-based history search
US9921874B2 (en) Storage medium, information processing device, and information processing method
US8126927B1 (en) Data structure, method, and computer program for providing a linked list in a first dimension and a plurality of linked lists in a second dimension
CN110795028B (en) System and method for implementing hierarchical distributed linked lists for network devices
CN111177017B (en) Memory allocation method and device
CN101162471B (en) Method and device for insert sorting
US10038571B2 (en) Method for reading and writing forwarding information base, and network processor
JP6458823B2 (en) Information processing apparatus, information processing method, and information processing program
CN109800005A (en) A kind of hot update method of client and device
TWI720926B (en) Network device, memory system for the network device, and method for operating the network device
CN103699442A (en) Iterable data processing method under MapReduce calculation framework
JP6500896B2 (en) Attribute enumeration system, attribute enumeration method and attribute enumeration program
US8559439B1 (en) Method and apparatus for queue ordering in a multi-engine processing system
CN107547378B (en) VPN route learning method and device
US8392636B2 (en) Virtual multiple instance extended finite state machines with wait rooms and/or wait queues
JP6428603B2 (en) Information processing apparatus, information processing method, and program
US8032543B2 (en) Sorting apparatus and method
US9851941B2 (en) Method and apparatus for handling incoming data frames
JP5517263B2 (en) Chunk generating device, chunk reading device, chunk generating method and program
CN108541365B (en) Apparatus and method for distribution of congestion information in a switch
CN102375854A (en) Method and device for data processing for database
JP2009224946A (en) Packet transmission apparatus
US8255623B2 (en) Ordered storage structure providing enhanced access to stored items
CN109491807A (en) Data exchange method, device and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14778294

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015510093

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14778294

Country of ref document: EP

Kind code of ref document: A1