JP4891979B2 - Data stream management system, record processing method, program, and recording medium - Google Patents

Data stream management system, record processing method, program, and recording medium Download PDF

Info

Publication number
JP4891979B2
JP4891979B2 JP2008315867A JP2008315867A JP4891979B2 JP 4891979 B2 JP4891979 B2 JP 4891979B2 JP 2008315867 A JP2008315867 A JP 2008315867A JP 2008315867 A JP2008315867 A JP 2008315867A JP 4891979 B2 JP4891979 B2 JP 4891979B2
Authority
JP
Japan
Prior art keywords
record
current record
processing
filter
current
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.)
Active
Application number
JP2008315867A
Other languages
Japanese (ja)
Other versions
JP2010140252A (en
Inventor
一兵衛 内藤
浩樹 赤間
知洋 長谷川
崇 毛受
雅司 山室
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008315867A priority Critical patent/JP4891979B2/en
Publication of JP2010140252A publication Critical patent/JP2010140252A/en
Application granted granted Critical
Publication of JP4891979B2 publication Critical patent/JP4891979B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、多様なデータ型を持つレコードへのフィルタ処理を行うデータストリーム管理システムもしくはデータに応じたイベント処理を行うイベント処理システムに関するものであり、特に、多様なフィルタ処理を簡易かつ効率的に実現するための技術に関するものである。   The present invention relates to a data stream management system that performs filter processing on records having various data types or an event processing system that performs event processing according to data, and in particular, various filter processing can be performed easily and efficiently. It relates to the technology to realize.

まず、多様なフィルタ処理を組み込んだ従来のデータストリーム管理システムにおける処理例について、図1、図2を参照して説明する。図1は、当該データストリーム管理システムにおける処理の流れを示すフローチャートであり、図2は、入力されたレコードが、複数のフィルタ処理(フィルタ処理系列)における各フィルタ処理により、どのように変化するかを示した図である。   First, an example of processing in a conventional data stream management system incorporating various filter processes will be described with reference to FIGS. FIG. 1 is a flowchart showing the flow of processing in the data stream management system, and FIG. 2 shows how the input record changes depending on each filter processing in a plurality of filter processing (filter processing series). FIG.

図1に示すように、このデータストリーム管理システムでは、あるレコードが入力され(ステップ1)、フィルタ処理系列が終了するまで、レコードに対する各フィルタ処理が実行され(ステップ2、3)、フィルタ処理系列による処理が施されたレコードが出力される(ステップ4)。   As shown in FIG. 1, in this data stream management system, a certain record is input (step 1), and each filtering process is executed on the record until the filtering process sequence ends (steps 2 and 3). A record that has been subjected to the above process is output (step 4).

より具体的な処理例を図2を参照して説明する。なお、図2において、右側の部分がフィルタ処理やレコードの内容を示しており、左側の部分は、右側に記載された対応する部分が何であるかを記述したものである。例えば、右側の"(in11, in12, in13)→(out11, out12)"は左側で"フィルタ処理1"であることが示されている。以下、本明細書で説明する同種の図に関して同様である。   A more specific processing example will be described with reference to FIG. In FIG. 2, the right part shows the contents of the filtering process and the record, and the left part describes what the corresponding part described on the right side is. For example, “(in11, in12, in13) → (out11, out12)” on the right side indicates that “filter processing 1” is on the left side. Hereinafter, the same applies to the same kind of figures described in this specification.

図2に示す例では、フィルタ処理系列として、図2に示すとおりのフィルタ処理1、フィルタ処理2、フィルタ処理3を有する系列を用いる。   In the example illustrated in FIG. 2, a sequence including filter processing 1, filter processing 2, and filter processing 3 as illustrated in FIG. 2 is used as the filter processing sequence.

図2に示すように、データストリーム管理システムに対して入力レコードとして(Ca, Cb, Cc)が入力されたとする。すると、フィルタ処理1では入力レコードとして(Ca, Cb, Cc)を受け取り、出力レコードとして(Cd, Ce)を返す。これをカレントレコード1と呼ぶ。当該カレントレコード1が次のフィルタ処理2の入力レコードとなる。   As shown in FIG. 2, it is assumed that (Ca, Cb, Cc) is input as an input record to the data stream management system. Then, the filter process 1 receives (Ca, Cb, Cc) as an input record and returns (Cd, Ce) as an output record. This is called current record 1. The current record 1 becomes an input record for the next filtering process 2.

フィルタ処理2では入力レコードとして(Cd, Ce)を受け取り、出力レコードとして(Cf, Cg, Ch)を返す。これをカレントレコード2と呼ぶ。当該カレントレコード2が次のフィルタ処理3の入力レコードとなる。   Filter process 2 receives (Cd, Ce) as an input record and returns (Cf, Cg, Ch) as an output record. This is called current record 2. The current record 2 becomes an input record for the next filtering process 3.

フィルタ処理3では入力レコードとして(Cf, Cg, Ch)を受け取り、出力レコードとして(Ci, Cj, Ck)を返す。これをカレントレコード3と呼ぶ。フィルタ処理3の終了により処理系列が完了したので、カレントレコード3がそのままデータストリーム管理システムの出力レコードとなる。   Filter process 3 receives (Cf, Cg, Ch) as an input record and returns (Ci, Cj, Ck) as an output record. This is called current record 3. Since the processing sequence is completed by the end of the filter processing 3, the current record 3 becomes an output record of the data stream management system as it is.

上述したフィルタ処理の方式は、非特許文献1に記載されたフィルタ・オペレーションの作成時に前提とされている方式である。また、この方式は、カレントレコード空間を更新型で管理する場合の例である。   The filter processing method described above is a method premised on creation of the filter operation described in Non-Patent Document 1. This method is an example of managing the current record space in an update type.

上記の方式は、処理間の接続に無駄がなく効率的であるという利点を有する。しかしながら、N番目のフィルタ処理の出力レコードのスキーマ(データ型)と、N+1番目のフィルタ処理の入力レコードのスキーマが一致しなければならないという欠点がある。つまり、フィルタ処理系列における各フィルタ処理が全体の処理フローにおけるスキーマを勘案して設計されていなければならず、設計が難しく、ある特定の目的専用のものとなってしまうという問題がある。   The above system has the advantage that the connection between processes is efficient and efficient. However, there is a disadvantage that the schema (data type) of the output record of the Nth filter process must match the schema of the input record of the N + 1th filter process. In other words, each filter processing in the filter processing sequence must be designed in consideration of the schema in the entire processing flow, and there is a problem that the design is difficult and dedicated to a specific purpose.

上記の方式では、例えば、最終的なレコードにCaを残そうとした場合に、各フィルタ処理の出力レコード中にCaを含めるようにフィルタ処理1〜フィルタ処理3を修正する必要がある。この修正に係る処理は、各フィルタ処理にとっては本質的でないロジックであり、本来は分離されることが望ましいものである。   In the above system, for example, when Ca is to be left in the final record, it is necessary to modify the filter processes 1 to 3 so that Ca is included in the output record of each filter process. The processing related to this modification is not essential logic for each filter processing, and it is desirable that the processing is originally separated.

次に、カレントレコード空間を更新型で管理する上記の方式の欠点を解消した例を図3、図4を参照して説明する。次に説明する方式は、カレントレコード空間を追加型で管理する方式の例である。   Next, an example in which the drawbacks of the above-described method for managing the current record space in an update type is solved will be described with reference to FIGS. The method described below is an example of a method for managing the current record space in an additional manner.

図3は、本例でのデータストリーム管理システムにおける処理の流れを示すフローチャートであり、図4は、本例において、入力されたレコードが、複数のフィルタ処理(フィルタ処理系列)における各フィルタ処理により、どのように変化するかを示している図である。   FIG. 3 is a flowchart showing the flow of processing in the data stream management system in this example. FIG. 4 is a flowchart showing how the input record is processed by each filter process in a plurality of filter processes (filter process sequences) in this example. It is a figure which shows how it changes.

本例におけるフィルタの処理系列は、図2に示したものと同じであり、フィルタ処理1、フィルタ処理2、フィルタ処理3を有する。また、各フィルタ処理に対する入力レコードと出力レコードも図2に示したものと同じである。   The filter processing sequence in this example is the same as that shown in FIG. 2, and includes filter processing 1, filter processing 2, and filter processing 3. The input record and output record for each filter process are the same as those shown in FIG.

図3に示すように、あるレコードが入力されると(ステップ11)、フィルタ処理系列が終了するまで、レコードに対する各フィルタ処理が実行される(ステップ11、14)。ただし、本方式では、フィルタ処理後のカレントレコードを、当該フィルタ処理の結果レコードだけとするのではなく、当該フィルタ処理への入力レコードに対して当該フィルタ処理の処理結果レコードを追加することにより得られたレコードをカレントレコードとしている(ステップ15の処理)。また、カレントレコードから、次のフィルタ処理への入力レコードを構成するため入力カラム選択処理を行っている(ステップ13の処理)。更に、全てのフィルタ処理が終了した後に、出力カラムを選択する処理が行われ(ステップ16)、選択されたカラムの要素からなるレコードが出力される(ステップ17)。   As shown in FIG. 3, when a certain record is input (step 11), each filtering process on the record is executed until the filtering process sequence is completed (steps 11 and 14). However, in this method, the current record after the filter process is not limited to only the result record of the filter process, but is obtained by adding the process result record of the filter process to the input record to the filter process. The recorded record is made the current record (step 15 processing). In addition, an input column selection process is performed in order to construct an input record for the next filter process from the current record (the process of step 13). Further, after all the filter processes are completed, a process for selecting an output column is performed (step 16), and a record including elements of the selected column is output (step 17).

より具体的な処理例を図4を参照して説明する。図4に示すように、データストリーム管理システムに対して入力レコードとして(Ca, Cb, Cc)が入力されたとする。すると、フィルタ処理1では、(Ca, Cb, Cc)が入力レコードとして入力され、出力レコードとして(Cd, Ce)を返す。そして、カレントレコードへの追加処理1が行われ、カレントレコード1として(Ca, Cb, Cc, Cd, Ce)が得られる。   A more specific processing example will be described with reference to FIG. As shown in FIG. 4, it is assumed that (Ca, Cb, Cc) is input as an input record to the data stream management system. Then, in the filter process 1, (Ca, Cb, Cc) is input as an input record, and (Cd, Ce) is returned as an output record. Then, addition processing 1 to the current record is performed, and (Ca, Cb, Cc, Cd, Ce) is obtained as the current record 1.

続いて、フィルタ処理2の直前で、入力カラム選択処理2が行われ、それによりカレントレコード1から、フィルタ処理2への入力レコードとして(Cd, Ce)が選択され、フィルタ処理2では、当該入力レコードに対してフィルタ処理が行われ、(Cf, Cg, Ch)が返される。そして、カレントレコードへの追加処理2が行われ、カレントレコード2として(Ca, Cb, Cc, Cd, Ce, Cf, Cg, Ch)が得られる。   Subsequently, the input column selection process 2 is performed immediately before the filter process 2, whereby (Cd, Ce) is selected from the current record 1 as an input record to the filter process 2. The record is filtered and (Cf, Cg, Ch) is returned. Then, addition processing 2 to the current record is performed, and (Ca, Cb, Cc, Cd, Ce, Cf, Cg, Ch) is obtained as the current record 2.

続いて、フィルタ処理3の直前で、入力カラム選択処理3が行われ、それによりカレントレコード2から、フィルタ処理3への入力レコードとして(Cf, Cg, Ch)が選択され、フィルタ処理3では、当該入力レコードに対してフィルタ処理が行われ、(Ci, Cj, Ck)が返される。そして、カレントレコードへの追加処理3が行われ、カレントレコード3として(Ca, Cb, Cc, Cd, Ce, Cf, Cg, Ch, Ci, Cj, Ck)が得られる。   Subsequently, the input column selection process 3 is performed immediately before the filter process 3, whereby (Cf, Cg, Ch) is selected from the current record 2 as the input record to the filter process 3. The input record is filtered and (Ci, Cj, Ck) is returned. Then, addition processing 3 to the current record is performed, and (Ca, Cb, Cc, Cd, Ce, Cf, Cg, Ch, Ci, Cj, Ck) is obtained as the current record 3.

最後に、出力カラムを選択する処理において、カレントレコードから(Ca,Ci, Cj, Ck)が選択され、データストリーム管理システムは、(Ca,Ci, Cj, Ck)を出力する。   Finally, in the process of selecting an output column, (Ca, Ci, Cj, Ck) is selected from the current record, and the data stream management system outputs (Ca, Ci, Cj, Ck).

上述したカレントレコード空間を追加型で管理する方式では、Caなど、最後のフィルタ処理の出力レコード以外の中間データを参照できるという利点がある。   The above-described method of managing the current record space in an additional type has an advantage that intermediate data other than the output record of the last filter processing such as Ca can be referred to.

しかしながら、本方式では、カレントレコードの管理領域(メモリ領域)が増加することによるリソース(メモリ)不足が発生しやすいという欠点がある。特に、フィルタ処理系列が長い場合、及び、データとして画像や映像などのメディアデータが含まれている場合に、それを格納するための領域が増大しやすく、システムのリソースを圧迫してしまう。   However, this method has a drawback that a shortage of resources (memory) is likely to occur due to an increase in the management area (memory area) of the current record. In particular, when the filter processing sequence is long and when media data such as images and videos is included as data, the area for storing the data tends to increase, and the system resources are compressed.

また、本方式では、フィルタ処理の都度データが増加するが、それらのいずれが後に参照されるかを固定できないため、全てのデータに名前を付けなければならず、名前管理の複雑化(名前を付与する際の負担、値を参照する際に名前を選択する負担)が発生するという問題もある。
「追記・参照型データ管理システムの設計と評価」、赤間 他、情報処理学会論文誌Vol.49 No.2, 2008年2月, pp749-764
In this method, data increases each time filtering is performed, but since it is not possible to fix which of them will be referred to later, all data must be named, and name management becomes complicated (names There is also a problem that a burden when assigning and a burden of selecting a name when referring to a value are generated.
“Design and Evaluation of Additional Write / Reference Data Management System”, Akama et al., IPSJ Transactions Vol.49 No.2, February 2008, pp749-764

上述したように、従来技術に係る方式では、各フィルタ処理が全体の処理フローにおけるスキーマを勘案して設計されていなければならず、設計が難しく、かつ、専用のものとなってしまう、すなわち、汎用的なフィルタ処理を予め用意することが困難であるという問題があった。   As described above, in the method according to the prior art, each filter process has to be designed in consideration of the schema in the entire process flow, is difficult to design, and is dedicated. There is a problem that it is difficult to prepare a general-purpose filter process in advance.

また、カレントレコードの管理領域が増加することによるリソース(メモリ)不足が発生しやすいという問題もあった。特に、フィルタ処理系列が長い場合、及び、データとして画像や映像などのメディアデータが含まれている場合に、それらを格納するための領域が増大しやすく、システムのリソースを圧迫してしまうという問題があった。   There is also a problem that a shortage of resources (memory) is likely to occur due to an increase in the management area of the current record. In particular, when the filter processing sequence is long, and when media data such as images and videos is included as data, the area for storing them tends to increase, and the system resources are compressed. was there.

更に、従来技術の一方式では、フィルタ処理の都度データが増加するが、それらのいずれが後に参照されるかを固定できないため、全てのデータに名前を付けなければならず、名前管理の複雑化(名前を付与する際の負担、値を参照する際に名前を選択する負担)が発生するという問題もあった。   Furthermore, in one method of the prior art, data increases each time filtering is performed, but since it is not possible to fix which of them will be referred to later, it is necessary to name all of the data, which complicates name management There is also a problem that (the burden of assigning a name, the burden of selecting a name when referring to a value) occurs.

本発明は上記の点に鑑みてなされたものであり、上記の問題を解決し、多様なデータ型を持つレコードに対して、多様なフィルタ処理を簡易かつ効率的に実現する技術を提供することを目的とする。   The present invention has been made in view of the above points, and provides a technique for solving the above problems and realizing various filter processes easily and efficiently for records having various data types. With the goal.

上記の課題を解決するために、本発明は、データストリームを構成するデータとして入力されるレコードに対し、所定のフィルタ処理系列における各々のフィルタ処理を順に実行するデータストリーム管理システムであって、カレントレコードを格納するカレントレコード格納手段と、前記カレントレコード格納手段から前記カレントレコードを読み出し、前記カレントレコードを構成する複数の要素のうちの全部又は一部の要素からなる局所入力レコードに対して前記フィルタ処理を実行するフィルタ処理実行手段と、前記フィルタ処理実行手段により得られた前記フィルタ処理の処理結果レコードを構成する要素と、前記カレントレコードを構成する要素とから、予め定めたカラムにある要素を抽出し、抽出された要素を予め定めた順序に並べることにより新たなカレントレコード作成し、当該新たなカレントレコードを、前記カレントレコードに代えて前記カレントレコード格納手段に格納するカレントレコード構成手段と、を有し、前記フィルタ処理実行手段は、前記カレントレコード格納手段から前記カレントレコードを読み出し、前記フィルタ処理に適合した入力レコードになるように、前記カレントレコードから、予め定めたカラムに存在する要素を抽出し、抽出された要素を予め定めた順序に並べることにより前記局所入力レコードを作成する局所入力レコード構成手段と、前記フィルタ処理を実行するためのフィルタ処理手段と、を有することを特徴とするデータストリーム管理システムとして構成される。 In order to solve the above-described problem, the present invention provides a data stream management system that sequentially executes each filtering process in a predetermined filtering process sequence for records input as data constituting a data stream, Current record storage means for storing records, and the current record is read from the current record storage means, and the filter is applied to a local input record comprising all or part of a plurality of elements constituting the current record Filter processing execution means for executing processing, elements constituting the processing result record of the filter processing obtained by the filter processing execution means, and elements in a predetermined column from elements constituting the current record Extract and order the extracted elements in a predetermined order Created, the new current record, have a, a current record structure means for storing the current record storing means in place of the current record, the filtering process executing means a new current record by arranging, the The current record is read from the current record storage means, and the elements existing in a predetermined column are extracted from the current record so as to become an input record suitable for the filter processing, and the extracted elements are determined in a predetermined order. and the local input record structure means for creating the local input records by arranging the configured as a data stream management system, characterized by chromatic and a filter processing means for executing the filtering process.

また、前記データストリーム管理システムは、前記フィルタ処理実行手段、及び前記カレントレコード構成手段による処理を、前記フィルタ処理系列におけるフィルタ処理の順に、フィルタ処理が終了するまで繰り返し実行するフィルタ処理実行制御手段を有することとしてもよい。   The data stream management system further includes a filter process execution control unit that repeatedly executes the process by the filter process execution unit and the current record forming unit in the order of filter processes in the filter process series until the filter process is completed. It is good also as having.

本発明によれば、カレントレコードにおいて、その後に必要なデータのみが管理可能となり、データ記憶域及び名前空間の管理負荷を削減することが可能となる。つまり、フィルタ処理系列が長い場合や、データとして画像データや映像データなどのメディアデータが含まれる場合に、その領域を不必要に増大させることなく処理を行うことが可能となる。また、管理対象が必要最低限となるため、名前空間の管理負荷が削減される。   According to the present invention, only necessary data can be managed thereafter in the current record, and the management load on the data storage area and the name space can be reduced. That is, when the filter processing sequence is long or when media data such as image data or video data is included as data, processing can be performed without unnecessarily increasing the area. In addition, since the management target is the minimum necessary, the management load on the name space is reduced.

また、本発明によれば、汎用的なフィルタ処理を予め用意しておいて後で組み合わせることが可能となる。つまり、各フィルタ処理の入力を、その直前のカレントスキーマと独立にすることが可能になり、かつ、各フィルタ処理の出力を、その直後のカレントスキーマとも独立にすることが可能になる。そして、各フィルタ処理の入出力とカレントスキーマの関係を柔軟に調整することが可能になる。これらから、汎用的なフィルタ処理を多様なスキーマの処理に対して適用することが可能になる。   Further, according to the present invention, general-purpose filter processing can be prepared in advance and combined later. That is, the input of each filter process can be made independent of the immediately preceding current schema, and the output of each filter process can be made independent of the immediately following current schema. The relationship between the input / output of each filter process and the current schema can be flexibly adjusted. Thus, general-purpose filter processing can be applied to processing of various schemas.

すなわち、本発明によれば、多値を入力し、多値を出力するフィルタ処理系列において、カレントレコード構成手段により処理によって、カレントレコードとして、真に必要な分だけのデータを選択して持つことができ、データ記憶領域の効率向上、及び、名前空間の混乱防止という効果を奏する。   That is, according to the present invention, in the filter processing sequence for inputting multi-values and outputting multi-values, the current record composing means selects and has as much data as is really necessary as the current record. It is possible to improve the efficiency of the data storage area and prevent the name space from being confused.

また、カレントレコード構成手段、及び、局所入力レコード構成手段の処理によって、フィルタ処理の期待する(フィルタ処理に適合した)レコードのスキーマと、カレントレコードのスキーマが異なってもよくなり、フィルタ処理をカレントレコードのスキーマと独立に事前に用意、つまり、汎用的に用意しておくことが可能になる。   In addition, the schema of the record expected by the filtering process (applicable to the filtering process) and the schema of the current record may be different depending on the processing of the current record forming unit and the local input record forming unit. It is possible to prepare in advance independently of the record schema, that is, to prepare for general use.

以下、図面を参照して本発明の実施の形態について説明するが、まず、本実施の形態について説明する前に、本明細書において用いられている用語についてここで整理して説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments of the present invention will be described with reference to the drawings. First, terms used in the present specification will be organized and described before describing the embodiments.

(用語の説明)
レコード:一般的な言語(C言語やSQL言語)におけるレコードと同等の意味をもつものであり、複数の値から構成されるデータ型を有する。また、レコードは、1つの値から構成されてもよい。本実施の形態におけるデータストリーム管理システムの入力データは、一般には連続するレコードとなる。
(Explanation of terms)
Record: It has the same meaning as a record in a general language (C language or SQL language), and has a data type composed of a plurality of values. A record may be composed of one value. In general, the input data of the data stream management system in the present embodiment is a continuous record.

スキーマ:レコードのデータ型と同等のものである。本明細書では、データベースの用語に合わせて、レコードのデータ型をスキーマと呼ぶ。なお、データ型に関し、テキストに特化したシステムではデータ型を1種類に固定する場合もあるが、マルチメディアデータを扱う場合には多様なデータ型を利用できることが必要となる。   Schema: Equivalent to the data type of the record. In this specification, the data type of the record is called a schema in accordance with the terminology of the database. As for the data type, a system specialized in text may fix the data type to one type, but it is necessary to be able to use various data types when handling multimedia data.

フィルタ処理:レコードに対して実行される各種処理の総称であり、フィルタ処理部に入力されたレコードに対して行われる処理である。フィルタ処理には、データを条件によって選別する処理だけでなく、データの統合、構造化、複製等の多様な処理がある。なお、本実施の形態におけるフィルタ処理部への入力レコード及びフィルタ処理からの出力レコードはそれぞれ多値であり、入力レコードと出力レコードのスキーマは異なっても構わない。   Filtering process: A generic term for various processes executed on a record, and is a process performed on a record input to the filter processing unit. Filter processing includes not only processing for selecting data according to conditions but also various processing such as data integration, structuring, and replication. Note that the input record to the filter processing unit and the output record from the filter process in the present embodiment are multivalued, and the schemas of the input record and the output record may be different.

フィルタ処理系列:複数のフィルタ処理の系列であり、その系列におけるフィルタ処理の順序に従い、一のレコードが逐次処理される。なお、フィルタ処理系列には、条件分岐や繰り返しなどの系列制御構造が含まれていてもよい。   Filter processing sequence: A sequence of a plurality of filter processes, and one record is sequentially processed according to the order of the filter processing in the sequence. Note that the filter processing sequence may include a sequence control structure such as conditional branching and repetition.

カレントレコード:データストリーム管理システムが現在のレコード(一般には操作の対象となっているレコード)として格納・管理しているレコードである。カレントレコードは、外部のシステムや情報源からデータストリーム管理システムに入力されたレコードそのものである場合や、フィルタ処結果を反映したレコードである場合もある。カレントレコードにフィルタ処理が適用される度にその内容が変化する。   Current record: A record stored and managed by the data stream management system as a current record (generally a record to be operated). The current record may be a record itself input from an external system or information source to the data stream management system, or may be a record reflecting the filter processing result. The content changes each time filtering is applied to the current record.

カレントスキーマ:カレントレコードのスキーマのことである。   Current schema: The schema of the current record.

局所入力レコード:フィルタ処理の入力となるレコードである。当該レコードは、直後のフィルタ処理にのみ有効であり、次のフィルタ処理の前に消滅するので、"局所"入力レコードと呼ぶ。カレントレコードがそのまま局所入力レコードとなる場合もある。   Local input record: A record to be input for filtering. Since this record is effective only for the immediately following filter processing and disappears before the next filter processing, it is called a “local” input record. The current record may become a local input record as it is.

局所出力レコード:直前のフィルタ処理の結果の出力レコードである。当該レコードは、次のフィルタ処理の前に消滅するので"局所"出力レコードと呼ぶ。局所出力レコードがそのままカレントレコードとなる場合もある。   Local output record: An output record as a result of the previous filtering process. This record is called a “local” output record because it disappears before the next filtering process. The local output record may become the current record as it is.

多値:多値とは、1つだけの値に限らないことをいう。なお、一般的なプログラミング言語の関数は入力としては多値(複数のパラメータ)を許容するが、出力としては多値は許容しない。   Multi-value: Multi-value means that it is not limited to only one value. Note that a general programming language function allows multi-values (a plurality of parameters) as input, but does not allow multi-values as output.

<第1の実施の形態>
(システム構成)
図5は、本発明の第1の実施の形態に係るデータストリーム管理システム100の機能構成図である。図5に示すように、本実施の形態に係るデータストリーム管理システム100は、ストリーム受付部101、ストリームバッファ部102、カレントレコード管理部103、フィルタ処理実行制御部104、結果出力部105、及びフィルタ処理部1〜Pを有する。
ストリーム受付部101は、例えば通信ネットワークを介してストリーム(連続するレコード)を受信し、受信したストリームのデータをストリームバッファ部102に格納するとともに、フィルタ処理実行制御部104からの指示を受けて、ストリームバッファ部102に格納されたストリームデータから順次各レコードを読み出して、フィルタ処理実行制御部104に渡す機能部である。
<First Embodiment>
(System configuration)
FIG. 5 is a functional configuration diagram of the data stream management system 100 according to the first embodiment of the present invention. As shown in FIG. 5, the data stream management system 100 according to the present embodiment includes a stream reception unit 101, a stream buffer unit 102, a current record management unit 103, a filter processing execution control unit 104, a result output unit 105, and a filter. It has processing parts 1-P.
For example, the stream reception unit 101 receives a stream (continuous record) via a communication network, stores the received stream data in the stream buffer unit 102, and receives an instruction from the filter processing execution control unit 104. This is a functional unit that sequentially reads each record from the stream data stored in the stream buffer unit 102 and passes it to the filter processing execution control unit 104.

ストリームバッファ部102は、ストリームのデータを格納する機能部であり、例えば、メモリ等の記憶装置により実現される。カレントレコード管理部103は、カレントレコードを格納する機能部であり、例えば、メモリ等の記憶装置により実現される。   The stream buffer unit 102 is a functional unit that stores stream data, and is realized by, for example, a storage device such as a memory. The current record management unit 103 is a functional unit that stores a current record, and is realized by a storage device such as a memory.

フィルタ処理実行制御部104は、処理の目的とするフィルタ処理系列における各フィルタ処理の実行制御を行う機能部であり、各フィルタ処理について、カレントレコードに対して局所入力レコード構成処理を施して局所入力レコードを生成し、該当のフィルタ処理部に局所入力レコードを入力することにより当該フィルタ処理部にフィルタ処理を行わせ、フィルタ処理部からの出力に対してカレントレコード構成処理を施してカレントレコードを生成する等の処理を行う機能部である。すなわち、フィルタ処理実行制御部104は、局所入力レコード構成手段、及びカレントレコード構成手段を備えている。   The filter process execution control unit 104 is a functional unit that controls the execution of each filter process in the filter process sequence targeted for the process. For each filter process, the local input record configuration process is performed on the current record to perform local input. Generate a record, input the local input record to the corresponding filter processing unit, let the filter processing unit perform the filtering process, and apply the current record composition processing to the output from the filter processing unit to generate the current record It is a functional unit that performs processing such as. That is, the filter processing execution control unit 104 includes a local input record configuration unit and a current record configuration unit.

また、局所入力レコード構成手段とフィルタ処理部をまとめてフィルタ処理実行手段と呼んでもよい。更に、また、フィルタ処理実行制御部104は、フィルタ処理実行手段、及びカレントレコード構成手段による処理を、フィルタ処理系列におけるフィルタ処理の順に、フィルタ処理が終了するまで繰り返し実行するフィルタ処理実行制御手段を有している。   Further, the local input record forming unit and the filter processing unit may be collectively referred to as a filter processing executing unit. Further, the filter process execution control unit 104 includes a filter process execution control unit that repeatedly executes the process by the filter process execution unit and the current record forming unit in the order of the filter processes in the filter process series until the filter process is completed. Have.

なお、局所入力レコード構成処理及びカレントレコード構成処理の詳細については後述する。   Details of the local input record composition process and the current record composition process will be described later.

フィルタ処理部1〜Pは、それぞれ局所入力レコードに対してフィルタ処理を実行し、結果をフィルタ処理実行制御部104に対して出力する機能部である。結果出力部105は、フィルタ処理実行制御部104から、フィルタ処理系列に含まれる全てのフィルタ処理が実行された後のカレントレコードを受け取り、例えば通信ネットワークを介して外部に出力する機能部である。   Each of the filter processing units 1 to P is a functional unit that executes filter processing on the local input record and outputs the result to the filter processing execution control unit 104. The result output unit 105 is a functional unit that receives the current record after all the filter processes included in the filter process sequence are executed from the filter process execution control unit 104, and outputs the current record to the outside via a communication network, for example.

上記各機能部を備えたデータストリーム管理システム100は、例えばコンピュータに、各機能部の処理に対応するプログラムを実行させることにより実現できるものである。当該プログラムは、メモリやCD-ROM等の記録媒体に格納しておき、当該記録媒体からコンピュータにインストールして実行してもよいし、ネットワーク上のサーバ等からコンピュータがダウンロードして実行することとしてもよい。   The data stream management system 100 including the above functional units can be realized, for example, by causing a computer to execute a program corresponding to the processing of each functional unit. The program may be stored in a recording medium such as a memory or a CD-ROM, installed on a computer from the recording medium and executed, or downloaded and executed by a computer from a server on a network. Also good.

(システムの動作)
次に、図6〜図9を参照して、本実施の形態におけるデータストリーム管理システム100の基本的な動作について説明する。
(System operation)
Next, a basic operation of the data stream management system 100 in the present embodiment will be described with reference to FIGS.

まず、図6を参照して全体の処理の流れを説明する。なお、図6は、データストリーム管理システム100に連続的に入力されるレコードのうちのある1つのレコードに関する処理を示している。実際には、図6に示す処理が、各入力レコードに対して連続的に行われることになる。また、図6の処理の前提として、処理対象のカレントレコード(処理の最初であれば入力されたままのレコード)がカレントレコード管理部103に格納されているものとする。また、図7は、レコードの具体例を示して図6の処理内容を分かりやすく示す図である。以下の図6の処理の説明の中で、図7の中のレコードの内容等を適宜示して説明する。   First, the overall processing flow will be described with reference to FIG. FIG. 6 shows processing related to one record among records continuously input to the data stream management system 100. Actually, the process shown in FIG. 6 is continuously performed for each input record. Further, as a premise of the processing in FIG. 6, it is assumed that the current record to be processed (the record that has been input at the beginning of the processing) is stored in the current record management unit 103. FIG. 7 is a diagram showing a specific example of a record and showing the processing contents of FIG. 6 in an easy-to-understand manner. In the description of the processing of FIG. 6 below, the contents of the record in FIG.

図6に示すように、フィルタ処理実行制御部104は、フィルタ処理系列の中の全てのフィルタ処理が終了したかどうかをチェックする(ステップ101)。   As shown in FIG. 6, the filter processing execution control unit 104 checks whether or not all the filter processing in the filter processing sequence has been completed (step 101).

フィルタ処理系列の中の全てのフィルタ処理が終了していなければ、前回の処理対象となったフィルタ処理の次のフィルタ処理(フィルタ処理fNとする)に関する処理を行うことになる。また、この時点でのカレントレコードをカレントレコードNとする。 If all the filter processes in the filter process sequence have not been completed, a process related to a filter process (referred to as filter process f N ) next to the filter process that was the previous process target is performed. Also, the current record at this point is defined as current record N.

図6のステップ102において、フィルタ処理実行制御部104は、カレントレコード管理部103からカレントレコードNを取得し、カレントレコードNに対して局所入力レコードN構成処理を行う(ステップ103)。つまり、カレントレコードNから、フィルタ処理fNを実行するフィルタ処理部に対する入力レコードとなる局所入力レコードNを作成する処理を行う。図7の例では、カレントレコードN(Ca1, Ca2, Ca3)から、局所入力レコードN(Ca2, Ca3)を作成している。 In step 102 of FIG. 6, the filter process execution control unit 104 acquires the current record N from the current record management unit 103, and performs local input record N configuration processing on the current record N (step 103). That is, carried out from the current record N, the process of creating a local input record N as an input record for filter processing unit that performs a filtering process f N. In the example of FIG. 7, a local input record N (Ca2, Ca3) is created from the current record N (Ca1, Ca2, Ca3).

続いて、フィルタ処理実行制御部104は、局所入力レコードNをフィルタ処理fNを実行するフィルタ処理部に入力し、当該フィルタ処理部は、局所入力レコードNに対してフィルタ処理fNを実行し、フィルタ処理fNの結果である局所出力レコードNをフィルタ処理実行制御部104に出力する(図6のステップ104)。図7の例では、(Ca2, Ca3)に対してフィルタ処理fNが施されて局所出力レコードN(Cb1, Cb2)が得られている。 Subsequently, the filter processing execution control unit 104 receives the local input records N in the filter processing unit that performs filter processing f N, the filter processing unit performs filter processing f N to the local input record N Then, the local output record N that is the result of the filtering process f N is output to the filtering process execution control unit 104 (step 104 in FIG. 6). In the example of FIG. 7, filtering f N is subjected to a local output records N (Cb1, Cb2) are obtained for (Ca2, Ca3).

続いて、フィルタ処理実行制御部104は、局所出力レコードNに対してカレントレコードN+1構成処理を行う(図6のステップ105)。つまり、局所出力レコードN等から、カレントレコードNの次のカレントレコードであるカレントレコードN+1を作成し、作成したカレントレコードN+1をカレントレコード管理部103に格納するとともに、直前のカレントレコードNを破棄する処理を行う。図7の例では、カレントレコードN(Ca1, Ca2, Ca3)と、局所出力レコードN(Cb1, Cb2)とから、カレントレコードN+1(Cb1,Ca3,Cb2,Ca1)が得られている。   Subsequently, the filter process execution control unit 104 performs a current record N + 1 configuration process on the local output record N (step 105 in FIG. 6). That is, the current record N + 1 that is the next current record of the current record N is created from the local output record N and the like, the created current record N + 1 is stored in the current record management unit 103, and the immediately preceding current record Process to discard N. In the example of FIG. 7, the current record N + 1 (Cb1, Ca3, Cb2, Ca1) is obtained from the current record N (Ca1, Ca2, Ca3) and the local output record N (Cb1, Cb2).

その後、N+1を新たなNとして、図6に示すステップ101からの処理が再び実行される。   Thereafter, the process from step 101 shown in FIG. 6 is executed again with N + 1 as a new N.

ステップ101において、フィルタ処理系列の中の全てのフィルタ処理が終了していた場合、フィルタ処理実行制御部104は、カレントレコード管理部103に格納されているカレントレコードNをフィルタ処理系列の処理結果として結果出力部105に渡し、結果出力部105が当該レコードを出力する(ステップ106)。   In step 101, when all the filter processes in the filter process sequence have been completed, the filter process execution control unit 104 uses the current record N stored in the current record management unit 103 as the process result of the filter process sequence. The result is output to the result output unit 105, and the result output unit 105 outputs the record (step 106).

次に、図8を参照して、カレントレコードN+1構成処理について説明する。カレントレコードN+1構成処理において、フィルタ処理実行制御部104は、フィルタ処理fNの出力結果レコードである局所出力レコードNと、直前のフィルタ処理後のカレントレコードであるカレントレコードNとから、カレントレコードN+1におけるカラムの集合として予め定めた部分的なカラム集合を選択する(ステップ201)。なお、カラムとはレコードの中の要素の場所を示す情報であるが、その場所における要素の意味でも使用する場合がある。続いて、フィルタ処理実行制御部104は、選択したカラムの集合を予め定めた順序に並べてカレントレコード候補を作成する(ステップ202)。そして、フィルタ処理実行制御部104は、カレントレコード管理部103からカレントレコードNを破棄し、ステップ202において作成したカレントレコード候補をカレントレコードN+1としてカレントレコード管理部103に格納する(ステップ203)。 Next, the current record N + 1 configuration process will be described with reference to FIG. In the current record N + 1 configuration process, the filter process execution control unit 104 calculates the current from the local output record N that is the output result record of the filter process f N and the current record N that is the current record after the previous filter process. A predetermined partial column set is selected as a set of columns in the record N + 1 (step 201). Note that a column is information indicating the location of an element in a record, but may also be used to mean the element at that location. Subsequently, the filter processing execution control unit 104 creates a current record candidate by arranging the selected column set in a predetermined order (step 202). Then, the filter process execution control unit 104 discards the current record N from the current record management unit 103, and stores the current record candidate created in step 202 as the current record N + 1 in the current record management unit 103 (step 203).

続いて、図9を参照して、局所入力レコードN構成処理について説明する。局所入力レコードN構成処理において、フィルタ処理実行制御部104は、カレントレコードNから、フィルタ処理fNに適合するものとして予め定めた部分的なカラムの集合を選択する(ステップ301)。そして、フィルタ処理実行制御部104は、当該カラムの集合を、フィルタ処理fNに適合する予め定めた順序に並べることにより局所入力レコードNを構成する(ステップ302)。 Next, the local input record N configuration process will be described with reference to FIG. In the local input record N configuration process, the filter process execution control unit 104 selects a partial set of columns determined in advance as being suitable for the filter process f N from the current record N (step 301). Then, the filter processing execution control unit 104, a set of the column to form a local input record N by arranging in a predetermined order conforming to filter f N (step 302).

次に、図10を参照して、より具体的な例に基づき本実施の形態に係るデータストリーム管理システム100の動作を説明する。   Next, the operation of the data stream management system 100 according to the present embodiment will be described based on a more specific example with reference to FIG.

本例におけるフィルタの処理系列は、図2に示したものと同じであり、フィルタ処理1、フィルタ処理2、フィルタ処理3を有する。また、各フィルタ処理に対する入力レコードと出力レコードも図2に示したものと同じである。また、以下の説明では、フィルタ処理1、フィルタ処理2、フィルタ処理3をそれぞれフィルタ処理部1、フィルタ処理部2、フィルタ処理部3が実行するものとする。   The filter processing sequence in this example is the same as that shown in FIG. 2, and includes filter processing 1, filter processing 2, and filter processing 3. The input record and output record for each filter process are the same as those shown in FIG. In the following description, it is assumed that filter processing 1, filter processing 2, and filter processing 3 execute filter processing 1, filter processing 2, and filter processing 3, respectively.

図10に示すように、データストリーム管理システム100に対して入力レコードとして(Ca, Cb, Cc)が入力され、(Ca, Cb, Cc)がカレントレコード1としてカレントレコード管理部103に格納される。次に、局所入力レコード1構成処理が行われるが、ここではカレントレコード1そのものが局所入力レコード1になるため、局所入力レコード1構成処理としては特別な処理は行われない。   As shown in FIG. 10, (Ca, Cb, Cc) is input as an input record to the data stream management system 100, and (Ca, Cb, Cc) is stored in the current record management unit 103 as current record 1. . Next, the local input record 1 configuration process is performed. Here, since the current record 1 itself becomes the local input record 1, no special process is performed as the local input record 1 configuration process.

続いて、フィルタ処理実行制御部104は、局所入力レコード1(Ca, Cb, Cc)をフィルタ処理部1に入力し、フィルタ処理部1が局所入力レコード1(Ca, Cb, Cc)に対してフィルタ処理1を実行して局所出力レコード1(Cd, Ce)をフィルタ処理実行制御部104に出力する。そして、フィルタ処理実行制御部104は、カレントレコード2構成処理を行うことにより、カレントレコード1(Ca, Cb, Cc)と局所出力レコード1(Cd, Ce)とから、カレントレコード2(Ca, Cd, Ce)を取得し、それをカレントレコード管理部104に格納するとともに、カレントレコード1(Ca, Cb, Cc)を破棄する。   Subsequently, the filter processing execution control unit 104 inputs the local input record 1 (Ca, Cb, Cc) to the filter processing unit 1, and the filter processing unit 1 applies to the local input record 1 (Ca, Cb, Cc). The filter process 1 is executed and the local output record 1 (Cd, Ce) is output to the filter process execution control unit 104. Then, the filter process execution control unit 104 performs the current record 2 configuration process, so that the current record 2 (Ca, Cd) is obtained from the current record 1 (Ca, Cb, Cc) and the local output record 1 (Cd, Ce). , Ce), and stores it in the current record management unit 104 and discards the current record 1 (Ca, Cb, Cc).

次に、フィルタ処理実行制御部104は、カレントレコード2(Ca, Cd, Ce)に対して局所入力レコード2構成処理を実行することにより局所入力レコード2(Cd, Ce)を取得し、局所入力レコード2(Cd, Ce)をフィルタ処理部2に入力する。フィルタ処理部2は局所入力レコード2(Cd, Ce)に対してフィルタ処理2を実行して局所出力レコード2(Cf, Cg, Ch)をフィルタ処理実行制御部104に出力する。そして、フィルタ処理実行制御部104は、カレントレコード3構成処理を行うことにより、カレントレコード2(Ca, Cd, Ce)と局所出力レコード2(Cf, Cg, Ch)とから、カレントレコード3(Ca, Cf, Cg, Ch)を取得し、それをカレントレコード管理部103に格納するとともに、カレントレコード2(Ca, Cd, Ce)を破棄する。   Next, the filter process execution control unit 104 acquires the local input record 2 (Cd, Ce) by executing the local input record 2 configuration process for the current record 2 (Ca, Cd, Ce), and performs local input. Record 2 (Cd, Ce) is input to the filter processing unit 2. The filter processing unit 2 executes the filter processing 2 on the local input record 2 (Cd, Ce) and outputs the local output record 2 (Cf, Cg, Ch) to the filter processing execution control unit 104. Then, the filter process execution control unit 104 performs the current record 3 configuration process to obtain the current record 3 (Ca, Cg, Ch) from the current record 2 (Ca, Cd, Ce) and the local output record 2 (Cf, Cg, Ch). , Cf, Cg, Ch), and stores it in the current record management unit 103, and discards the current record 2 (Ca, Cd, Ce).

次に、フィルタ処理実行制御部104は、カレントレコード3(Ca, Cf, Cg, Ch)に対して局所入力レコード3構成処理を実行することにより局所入力レコード3(Cf, Cg, Ch)を取得し、局所入力レコード3(Cf, Cg, Ch)をフィルタ処理部3に入力する。フィルタ処理部3は局所入力レコード3(Cf, Cg, Ch)に対してフィルタ処理3を実行して局所出力レコード3(Ci, Cj, Ck)をフィルタ処理実行制御部104に出力する。そして、フィルタ処理実行制御部104は、カレントレコード4構成処理を行うことにより、カレントレコード3(Ca, Cf, Cg, Ch)と局所出力レコード3(Ci, Cj, Ck)とから、カレントレコード4(Ca,Ci, Cj, Ck)を取得し、それをカレントレコード管理部103に格納するとともに、カレントレコード3(Ca, Cf, Cg, Ch)を破棄する。   Next, the filter process execution control unit 104 acquires the local input record 3 (Cf, Cg, Ch) by executing the local input record 3 configuration process for the current record 3 (Ca, Cf, Cg, Ch). Then, the local input record 3 (Cf, Cg, Ch) is input to the filter processing unit 3. The filter processing unit 3 executes the filter processing 3 on the local input record 3 (Cf, Cg, Ch) and outputs the local output record 3 (Ci, Cj, Ck) to the filter processing execution control unit 104. Then, the filter process execution control unit 104 performs the current record 4 configuration process, so that the current record 4 is obtained from the current record 3 (Ca, Cf, Cg, Ch) and the local output record 3 (Ci, Cj, Ck). (Ca, Ci, Cj, Ck) is acquired, stored in the current record management unit 103, and the current record 3 (Ca, Cf, Cg, Ch) is discarded.

本例では、以上で全てのフィルタ処理が終了するので、カレントレコード4(Ca,Ci, Cj, Ck)が、フィルタ処理系列による処理結果として結果出力部105から出力される。   In this example, since all the filter processes are completed as described above, the current record 4 (Ca, Ci, Cj, Ck) is output from the result output unit 105 as a process result by the filter process sequence.

<第2の実施の形態>
次に、フィルタ処理系列としてより具体的な処理の系列を用いた形態を第2の実施の形態として説明する。本実施の形態において、データストリーム管理システム100の機能構成や、基本的な処理の流れは第1の実施の形態で説明したものと同様である。
<Second Embodiment>
Next, an embodiment using a more specific processing sequence as the filtering processing sequence will be described as a second embodiment. In the present embodiment, the functional configuration of the data stream management system 100 and the basic processing flow are the same as those described in the first embodiment.

本実施の形態では、フィルタ処理系列で用いるフィルタ処理として、以下に示すフィルタ処理を用いる。下記のフィルタ処理の記述において、フィルタ処理の名称の右側にそのフィルタ処理の説明を記載し、当該説明の下に入出力を示している。各入出力については入出力データの名称、型(形式)の順に記載している。例えば、最初のフィルタ処理であるppm2jpgにおいて、InImgが入力データの名称であり、ppmがその型を示す。   In the present embodiment, the following filter processing is used as the filter processing used in the filter processing sequence. In the description of the filter processing below, the description of the filter processing is described on the right side of the name of the filter processing, and the input / output is shown below the description. Each input / output is described in the order of input / output data name and type (form). For example, in the first filtering process, ppm2jpg, InImg is the name of the input data, and ppm indicates the type.

ppm2jpg:PPM形式の画像データをJPEG形式の画像データに変換する。   ppm2jpg: Converts PPM format image data to JPEG format image data.

入力:InImg ppm、 出力:OutImg jpg
jpg2ppm:JPEG形式の画像データをPPM形式の画像データに変換する。
Input: InImg ppm, Output: OutImg jpg
jpg2ppm: Converts JPEG image data to PPM image data.

入力:InImg jpg、 出力:OutImg ppm
findFace:PGM形式の入力画像内にある最大の顔領域を検出してその矩形領域情報をX0, X1, Y0, Y1に返却する。なお、X0, X1はそれぞれX座標値であり、Y0, Y1はそれぞれY座標値である。
Input: InImg jpg, Output: OutImg ppm
findFace: The largest face area in the PGM format input image is detected, and the rectangular area information is returned to X0, X1, Y0, and Y1. X0 and X1 are X coordinate values, and Y0 and Y1 are Y coordinate values.

入力:InImg pgm、 出力:X0 int, X1 int, Y0 int, Y1 int
resize:PPM形式の入力画像データの大きさを縦H横Wに変更する。
Input: InImg pgm, Output: X0 int, X1 int, Y0 int, Y1 int
resize: Changes the size of input image data in PPM format to vertical H horizontal W.

入力:InImg ppm、フィルタ引数:H int, W int, 出力:OutImg ppm
rgb2hsi:PPM形式の入力画像データをHSV空間の各グレイスケール画像データ(PGM形式)に変換する。
Input: InImg ppm, filter arguments: H int, W int, output: OutImg ppm
rgb2hsi: Converts input image data in PPM format to each grayscale image data (PGM format) in HSV space.

入力:InImg ppm、出力:HueImg pgm, SatImg pgm, IntImg pgm
drawCircle:PPM形式の画像データに矩形(X0, Y0, X1, Y1)に内接する楕円を描画する。
Input: InImg ppm, Output: HueImg pgm, SatImg pgm, IntImg pgm
drawCircle: Draws an ellipse inscribed in a rectangle (X0, Y0, X1, Y1) in image data in PPM format.

入力:InImg ppm, X0 int, Y0 int, X1 int, Y1 int、出力:OutImg ppm
writeText:PPM形式の画像データにSJISで与えられたテキスト文字列Tを描画する。
Input: InImg ppm, X0 int, Y0 int, X1 int, Y1 int, Output: OutImg ppm
writeText: Draws a text string T given by SJIS on PPM format image data.

入力:InImg ppm, T text、出力:OutImg ppm
toSJIS :入力文字列をSJIS形式に変換する。
Input: InImg ppm, T text, Output: OutImg ppm
toSJIS: Converts the input character string to SJIS format.

入力:InT text、出力:OutT text
本実施の形態のデータストリーム管理システム100における各フィルタ処理部は、上記のフィルタ処理に対応する機能を有し、フィルタ処理実行制御部104は、各フィルタ処理に適した局所入力レコード構成処理及びカレントレコード構成処理を行う機能を有する。
Input: InT text, Output: OutT text
Each filter processing unit in the data stream management system 100 according to the present embodiment has a function corresponding to the above filter processing, and the filter processing execution control unit 104 performs local input record configuration processing and current processing suitable for each filter processing. It has a function to perform record composition processing.

本実施の形態では、下記のスキーマのデータがデータストリーム管理システム100への入力として与えられ続けるものとする。   In the present embodiment, it is assumed that data of the following schema continues to be given as an input to the data stream management system 100.

IMG jpg:カメラからの映像データであり、MotionJPGの形式である。   IMG jpg: Video data from the camera, in MotionJPG format.

T text: カメラからのテキスト情報であり、例えば外気温を示すテキスト情報である。   T text: text information from the camera, for example, text information indicating the outside air temperature.

そして、本実施の形態では、データストリーム管理システム100において以下に示す一連のフィルタ処理からなるフィルタ処理系列を実行するものとする。   In the present embodiment, it is assumed that the data stream management system 100 executes a filter processing sequence including the following series of filter processing.

jpg2ppm();
resize(H=400, W=640);
rgb2hsi();
findface();
drawCircle();
toSJIS();
writeText();
ppm2jpg();
図11に、本実施の形態に係るデータストリーム管理システム100が実行する処理を表す記述例を示す。この記述例では、カレントレコードN+1構成処理をMRGandSELという機能名とし、局所入力レコードN構成処理をSELforLOCALという機能名とし、直前のフィルタ処理の結果(局所出力レコードN)をRESという名前空間で一時的に管理し、結果を参照し、asにより新しい名前をつけている。各フィルタ処理に係るMRGandSELとSELforLOCALについては、その処理ロジックがプログラム(スクリプト)によりフィルタ処理実行制御部104に組み込まれている。
jpg2ppm ();
resize (H = 400, W = 640);
rgb2hsi ();
findface ();
drawCircle ();
toSJIS ();
writeText ();
ppm2jpg ();
FIG. 11 shows a description example representing processing executed by the data stream management system 100 according to the present embodiment. In this example, the current record N + 1 composition process is named MRGandSEL, the local input record N composition process is named SELforLOCAL, and the result of the previous filter process (local output record N) is the name space RES. Temporarily manage, refer to the result, and give a new name with as. The processing logic of MRGandSEL and SELforLOCAL related to each filter processing is incorporated in the filter processing execution control unit 104 by a program (script).

図11に示す記述に係る基本的な処理の流れは、第1の実施の形態の図6〜図9で示したものと同様である。   The basic processing flow according to the description shown in FIG. 11 is the same as that shown in FIGS. 6 to 9 of the first embodiment.

例えば、2行目のフィルタ処理resizeに係る処理として、まず、フィルタ処理実行制御部104は、1行目のフィルタ処理後のカレントレコード(カレントレコード2とする)をカレントレコード管理部103から取得する。このカレントレコード2は、第1行目に記載されたカレントレコード2構成処理MRGandSELにより生成されたものであり、具体的には(T, IMGppm)である。続いて、フィルタ処理実行制御部104は、局所入力レコード2構成処理SELforLOCALとして、(T, IMGppm)から IMGppmを抽出し、フィルタ処理resizeを行うフィルタ処理部にIMGppmを入力して、フィルタ処理resizeを実行させ、その処理結果であるOutImgをIMGszとして、カレントレコード3構成処理MRGandSELを行って、カレントレコード3(T, IMGsz)を取得する。他のフィルタ処理に関しても処理内容の違いを除いて同様の処理が行われる。   For example, as the processing related to the filter processing resize in the second row, first, the filter processing execution control unit 104 acquires the current record (referred to as current record 2) after the filter processing in the first row from the current record management unit 103. . This current record 2 is generated by the current record 2 configuration process MRGandSEL described in the first line, and is specifically (T, IMGppm). Subsequently, the filter processing execution control unit 104 extracts IMGppm from (T, IMGppm) as the local input record 2 configuration process SELforLOCAL, inputs IMGppm to the filter processing unit that performs the filter processing resize, and performs the filter processing resize. The current record 3 configuration process MRGandSEL is performed with OutImg being the process result as IMGsz, and current record 3 (T, IMGsz) is acquired. The same processing is performed with respect to other filter processing except for the difference in processing contents.

このようなフィルタ処理系列を実行しようとする場合、カレントレコード空間を更新型で管理する従来方式ではスキーマが合わずそもそも実行することができず、カレントレコード空間を追加型で管理する従来方式では大量の無駄なppm画像が発生してしまう。   When trying to execute such a filter processing sequence, the conventional method of managing the current record space with the update type cannot be executed in the first place, and the conventional method of managing the current record space with the additional type cannot be executed in the first place. A wasteful ppm image is generated.

一方、本実施の形態で示した方式によれば、入出力スキーマの整合性がない既存のフィルタ処理系列に対し、カレントレコードN+1構成処理(MRGandSEL)及び局所入力レコードN構成処理(SELforLOCAL)を組み合わせたことによって、既存のフィルタ処理系列を一連のフィルタ処理系列として構成することが可能となる。更に、本実施の形態に係る方式によれば、カレントストリームとして後続の処理に必要な分だけのデータ保持を行えばすみ、リソースの無駄がなくなる。   On the other hand, according to the method shown in the present embodiment, the current record N + 1 configuration processing (MRGandSEL) and the local input record N configuration processing (SELforLOCAL) are applied to an existing filter processing sequence having no consistency of input / output schema. By combining these, it becomes possible to configure an existing filter processing sequence as a series of filter processing sequences. Furthermore, according to the method according to the present embodiment, it is sufficient to hold data as much as necessary for subsequent processing as a current stream, and resources are not wasted.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

従来のデータストリーム管理システムにおける処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the conventional data stream management system. 従来のデータストリーム管理システムにおいて、フィルタ処理に伴うレコードの変化を示す図である。It is a figure which shows the change of the record accompanying a filter process in the conventional data stream management system. 従来のデータストリーム管理システムにおける処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the conventional data stream management system. 従来のデータストリーム管理システムにおいて、フィルタ処理に伴うレコードの変化を示す図である。It is a figure which shows the change of the record accompanying a filter process in the conventional data stream management system. 本発明の第1の実施の形態に係るデータストリーム管理システム100の機能構成図である。It is a functional lineblock diagram of data stream management system 100 concerning a 1st embodiment of the present invention. 第1の実施の形態に係るデータストリーム管理システム100の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the data stream management system 100 which concerns on 1st Embodiment. 図6の処理内容を具体的に説明するための図である。It is a figure for demonstrating the processing content of FIG. 6 concretely. カレントレコードN+1構成処理を示すフローチャートである。It is a flowchart which shows a current record N + 1 composition process. 局所入力レコードN構成処理を示すフローチャートである。It is a flowchart which shows a local input record N structure process. 第1の実施の形態に係るデータストリーム管理システム100の動作を具体例に基づき説明するための図である。It is a figure for demonstrating operation | movement of the data stream management system 100 which concerns on 1st Embodiment based on a specific example. 第2の実施の形態に係るデータストリーム管理システム100が実行する処理を表す記述例である。It is a description example showing the process which the data stream management system 100 which concerns on 2nd Embodiment performs.

符号の説明Explanation of symbols

100 データストリーム管理システム
101 ストリーム受付部
102 ストリームバッファ部
103 カレントレコード管理部
104 フィルタ処理実行制御部
105 結果出力部
1〜P フィルタ処理部
DESCRIPTION OF SYMBOLS 100 Data stream management system 101 Stream reception part 102 Stream buffer part 103 Current record management part 104 Filter process execution control part 105 Result output part 1-P Filter process part

Claims (6)

データストリームを構成するデータとして入力されるレコードに対し、所定のフィルタ処理系列における各々のフィルタ処理を順に実行するデータストリーム管理システムであって、
カレントレコードを格納するカレントレコード格納手段と、
前記カレントレコード格納手段から前記カレントレコードを読み出し、前記カレントレコードを構成する複数の要素のうちの全部又は一部の要素からなる局所入力レコードに対して前記フィルタ処理を実行するフィルタ処理実行手段と、
前記フィルタ処理実行手段により得られた前記フィルタ処理の処理結果レコードを構成する要素と、前記カレントレコードを構成する要素とから、予め定めたカラムにある要素を抽出し、抽出された要素を予め定めた順序に並べることにより新たなカレントレコード作成し、当該新たなカレントレコードを、前記カレントレコードに代えて前記カレントレコード格納手段に格納するカレントレコード構成手段と、を有し、
前記フィルタ処理実行手段は、
前記カレントレコード格納手段から前記カレントレコードを読み出し、前記フィルタ処理に適合した入力レコードになるように、前記カレントレコードから、予め定めたカラムに存在する要素を抽出し、抽出された要素を予め定めた順序に並べることにより前記局所入力レコードを作成する局所入力レコード構成手段と、
前記フィルタ処理を実行するためのフィルタ処理手段と、を有する
ことを特徴とするデータストリーム管理システム。
A data stream management system that sequentially executes each filter processing in a predetermined filter processing sequence for records input as data constituting a data stream,
Current record storage means for storing the current record;
Filter processing execution means for reading out the current record from the current record storage means, and executing the filter processing on a local input record consisting of all or part of a plurality of elements constituting the current record;
The elements in the predetermined column are extracted from the elements constituting the processing result record of the filtering process obtained by the filtering process execution unit and the elements constituting the current record, and the extracted elements are determined in advance. create a new current record by arranging the order was, the new current record, have a, a current record structure means for storing the current record storing means in place of the current record,
The filtering process execution means
The current record is read from the current record storage means, and an element existing in a predetermined column is extracted from the current record so as to become an input record suitable for the filtering process, and the extracted element is determined in advance. Local input record constructing means for creating the local input record by arranging in order;
Data stream management system, characterized by chromatic and a filter processing means for executing the filtering process.
前記フィルタ処理実行手段、及び前記カレントレコード構成手段による処理を、前記フィルタ処理系列におけるフィルタ処理の順に、フィルタ処理が終了するまで繰り返し実行するフィルタ処理実行制御手段を有する
ことを特徴とする請求項に記載のデータストリーム管理システム。
Claim 1, wherein the filtering process execution means, and processing by the current record configuration means, in the order of the filtering process in the filtering process sequence a filter process execution control means for repeatedly executed until the filter processing is completed The data stream management system described in 1.
データストリームを構成するデータとして入力されるレコードに対し、所定のフィルタ処理系列における各々のフィルタ処理を順に実行するデータストリーム管理システムにおいて実行されるレコード処理方法であって、
前記データストリーム管理システムは、カレントレコードを格納するカレントレコード格納手段を備え、前記レコード処理方法は、
前記データストリーム管理システムが備えるフィルタ処理実行手段が、前記カレントレコード格納手段から前記カレントレコードを読み出し、前記カレントレコードを構成する複数の要素のうちの全部又は一部の要素からなる局所入力レコードに対して前記フィルタ処理を実行するフィルタ処理実行ステップと、
前記データストリーム管理システムが備えるカレントレコード構成手段が、前記フィルタ処理実行ステップにより得られた前記フィルタ処理の処理結果レコードを構成する要素と、前記カレントレコードを構成する要素とから、予め定めたカラムにある要素を抽出し、抽出された要素を予め定めた順序に並べることにより新たなカレントレコードを作成し、当該新たなカレントレコードを、前記カレントレコードに代えて前記カレントレコード格納手段に格納するカレントレコード構成ステップと、を有し、
前記フィルタ処理実行ステップは、
前記カレントレコード格納手段から前記カレントレコードを読み出し、前記フィルタ処理に適合した入力レコードになるように、前記カレントレコードから、予め定めたカラムに存在する要素を抽出し、抽出された要素を予め定めた順序に並べることにより前記局所入力レコードを作成する局所入力レコード構成ステップと、
前記フィルタ処理を実行するフィルタ処理ステップと、を有する
ことを特徴とするレコード処理方法。
A record processing method executed in a data stream management system that sequentially executes each filter processing in a predetermined filter processing sequence for records input as data constituting a data stream,
The data stream management system includes current record storage means for storing a current record, and the record processing method includes:
The filter processing execution means provided in the data stream management system reads the current record from the current record storage means, and for a local input record consisting of all or a part of a plurality of elements constituting the current record A filtering process executing step for executing the filtering process;
The current record constituting means provided in the data stream management system is arranged in a predetermined column from elements constituting the processing result record of the filtering process obtained by the filtering process executing step and elements constituting the current record. A current record that extracts a certain element, creates a new current record by arranging the extracted elements in a predetermined order, and stores the new current record in the current record storage means instead of the current record configuration and step, the possess,
The filtering process execution step includes:
The current record is read from the current record storage means, and an element existing in a predetermined column is extracted from the current record so as to become an input record suitable for the filtering process, and the extracted element is determined in advance. A local input record construction step for creating the local input record by arranging in order;
Record processing method characterized by chromatic and a filtering processing step of executing the filtering process.
前記データストリーム管理システムが備えるフィルタ処理実行制御手段が、前記フィルタ処理実行ステップ、及び前記カレントレコード構成ステップによる処理を、前記フィルタ処理系列におけるフィルタ処理の順に、フィルタ処理が終了するまで繰り返し実行する
ことを特徴とする請求項に記載のレコード処理方法。
The filter processing execution control means included in the data stream management system repeatedly executes the processing by the filtering processing execution step and the current record composition step in the order of filtering processing in the filtering processing series until the filtering processing is completed. The record processing method according to claim 3 .
コンピュータを、請求項1又は2に記載のデータストリーム管理システムが備える各手段として機能させるためのプログラム。 The program for functioning a computer as each means with which the data stream management system of Claim 1 or 2 is provided. 請求項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium on which the program according to claim 5 is recorded.
JP2008315867A 2008-12-11 2008-12-11 Data stream management system, record processing method, program, and recording medium Active JP4891979B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008315867A JP4891979B2 (en) 2008-12-11 2008-12-11 Data stream management system, record processing method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008315867A JP4891979B2 (en) 2008-12-11 2008-12-11 Data stream management system, record processing method, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2010140252A JP2010140252A (en) 2010-06-24
JP4891979B2 true JP4891979B2 (en) 2012-03-07

Family

ID=42350349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008315867A Active JP4891979B2 (en) 2008-12-11 2008-12-11 Data stream management system, record processing method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP4891979B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI530808B (en) * 2014-12-04 2016-04-21 知意圖股份有限公司 System and method for providing instant query
CN111086814A (en) * 2019-12-31 2020-05-01 上海中冶横天智能科技股份有限公司 Robot sampling and lofting, labeling and material rack caching system and working method thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06251073A (en) * 1993-02-24 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> Data distribution device
JP4010516B2 (en) * 2000-01-27 2007-11-21 株式会社日立製作所 Conversion rule derivation system
JP2004021698A (en) * 2002-06-18 2004-01-22 Hitachi Eng Co Ltd Data file conversion processing system
JP4100156B2 (en) * 2002-12-06 2008-06-11 株式会社日立製作所 Data conversion system
JP4764300B2 (en) * 2006-09-26 2011-08-31 日本電信電話株式会社 Stream data management system, stream data management method and program thereof

Also Published As

Publication number Publication date
JP2010140252A (en) 2010-06-24

Similar Documents

Publication Publication Date Title
WO2021218327A1 (en) Page processing method and related device
US8418053B2 (en) Division program, combination program and information processing method
US9418241B2 (en) Unified platform for big data processing
CN112131837B (en) Service report configuration method, device, computer equipment and storage medium
JP2010205257A (en) Image management apparatus, and control method thereof, and program
CN108491195A (en) Equipment controls page generation method and system
US20100060936A1 (en) Image data processor and image data processing program storage medium
US20080196009A1 (en) Apparatus and method for componentizing legacy system
JP4891979B2 (en) Data stream management system, record processing method, program, and recording medium
CN111309424A (en) Page restoration method and related equipment
CN102810200A (en) Image batch processing method
JP2009187099A (en) Information processor and program
JP7041603B2 (en) How to generate patterns for computer systems and business flows
CN113568614A (en) Task issuing method, electronic device and storage medium
JP2010224659A (en) Information processing device, information processing method, program and storage medium
JP5702265B2 (en) Program automatic generation apparatus and program automatic generation method
JP2010140166A (en) Data pattern/test data generation/storage method and system
JP2013118510A (en) Image processing apparatus and image processing method
JP5674974B2 (en) Compressed data processing program, compressed data editing program
US11921688B2 (en) Environment construction support device and environment construction support method
JP5294962B2 (en) Image editing apparatus, image editing method, and program
US20220292748A1 (en) Imagery keepsake generation
JP5410155B2 (en) Data division system and data division method
JP2006277037A (en) Documentation management system
JP4865323B2 (en) Graphic information processing device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111216

R150 Certificate of patent or registration of utility model

Ref document number: 4891979

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350