Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5247192B2 - Cyclic update data management system - Google Patents
[go: Go Back, main page]

JP5247192B2 - Cyclic update data management system - Google Patents

Cyclic update data management system Download PDF

Info

Publication number
JP5247192B2
JP5247192B2 JP2008066035A JP2008066035A JP5247192B2 JP 5247192 B2 JP5247192 B2 JP 5247192B2 JP 2008066035 A JP2008066035 A JP 2008066035A JP 2008066035 A JP2008066035 A JP 2008066035A JP 5247192 B2 JP5247192 B2 JP 5247192B2
Authority
JP
Japan
Prior art keywords
record
update
records
information source
target
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
JP2008066035A
Other languages
Japanese (ja)
Other versions
JP2009223507A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008066035A priority Critical patent/JP5247192B2/en
Publication of JP2009223507A publication Critical patent/JP2009223507A/en
Application granted granted Critical
Publication of JP5247192B2 publication Critical patent/JP5247192B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

この発明は、記憶部と更新処理部とを備えた周期更新データ管理システムに関するものである。   The present invention relates to a periodic update data management system including a storage unit and an update processing unit.

一般に、コンピュータが記憶する多数の情報(レコード)の中から特定の1つを更新する際には、まず、更新対象を特定するキー(ID)に基づいてレコードを検索する必要がある。このとき、扱う情報量が大きくなると、主記憶装置に比べて極めて低速な2次記憶装置にアクセスする必要が生じる。   Generally, when updating a specific one of a large number of information (records) stored in a computer, it is necessary to first search for a record based on a key (ID) that specifies an update target. At this time, if the amount of information to be handled increases, it becomes necessary to access a secondary storage device that is extremely slow compared to the main storage device.

したがって、多数のレコードを管理するデータベースにおいては、少ない2次記憶アクセスでキーに対応するレコードを検索するために、「B−tree」などの木構造索引が利用されることが一般的である。また、一度アクセスしたレコードを主記憶に留めるバッファリングにより、頻繁にアクセスされるレコードについては、2次記憶装置へのアクセスを回避できるようにしている。   Therefore, in a database that manages a large number of records, a tree structure index such as “B-tree” is generally used to retrieve a record corresponding to a key with a small number of secondary storage accesses. In addition, the buffering that keeps the record once accessed in the main memory makes it possible to avoid the access to the secondary storage device for the frequently accessed record.

2次記憶装置は、磁気ディスク装置に代表されるように、連続するアドレスに対するアクセス(シーケンシャルアクセス)速度(数10MB/s〜数100MB/s)に対して、不連続なアドレスに対するアクセス(ランダムアクセス)速度(数MB/s)が著しく低いという特性がある。
この結果、多数のレコードを更新する際には、2次記憶へのアクセスパターンがシーケンシャルであるかランダムであるかによって、得られる性能が著しく異なってしまう。
Secondary storage devices, as represented by magnetic disk devices, access to discontinuous addresses (random access) for access (sequential access) speeds (several tens of MB / s to several hundreds MB / s) for consecutive addresses. ) The speed (several MB / s) is extremely low.
As a result, when a large number of records are updated, the obtained performance varies greatly depending on whether the access pattern to the secondary storage is sequential or random.

キー(ID)に基づく検索のための「B−tree索引」では、キー順のアクセスにおいてはシーケンシャルアクセスに近い性能が得られるものの、キー順と一致しない任意順序のアクセスに対しては、巨大な主記憶バッファがない限り、ランダムアクセスの性能しか得られない。   In the “B-tree index” for search based on the key (ID), performance similar to sequential access is obtained in access in key order, but it is enormous for access in arbitrary order that does not match the key order. As long as there is no main memory buffer, only random access performance can be obtained.

そこで、上記特性を考慮して、複数レコードに対するアクセス要求をまとめ、キー順に並べ替えてから、実際のアクセスを行うことにより、性能低下を防ぐ方法が提案されている(たとえば、特許文献1参照)。   Therefore, in consideration of the above characteristics, a method has been proposed in which access requests for a plurality of records are collected and rearranged in the order of keys, and then actual access is performed to prevent performance degradation (see, for example, Patent Document 1). .

なお、更新ではなく、新規レコードを追加する際には、レコードの検索が不要であることから、書き込み順にレコードを格納することでシーケンシャルアクセスを実現することができる。これは書き込みの時刻にしたがう格納方式であり、ログ形式として知られる一般的な方式であるが、追加したレコードを再度更新しようとすると、ランダムアクセスが発生するため、更新には不適である。   Note that when a new record is added instead of being updated, it is not necessary to search for a record. Therefore, sequential access can be realized by storing records in the order of writing. This is a storage method according to the time of writing, and is a general method known as a log format. However, if an attempt is made to update the added record again, random access occurs, which is not suitable for the update.

特開平10−31602号公報、第1頁、図1Japanese Patent Laid-Open No. 10-31602, page 1, FIG.

従来の周期更新データ管理システムでは、特許文献1に記載のように、レコードをキー順に格納し、複数レコードに対するアクセス要求をキー順に並べ替えてから実際にアクセスしているので、多数のレコードが存在する場合には、アクセス対象がまばらとなり、連続するレコードをアクセスすることがまれになって、性能低下の防止効果が得られないという課題があった。   In the conventional periodic update data management system, as described in Patent Document 1, records are stored in the order of keys, and access requests for a plurality of records are actually accessed after being rearranged in the order of keys. In such a case, there is a problem that the access target is sparse, it is rare to access continuous records, and the effect of preventing performance degradation cannot be obtained.

この発明は、上記のような課題を解決するためになされたもので、各レコードに対する更新時刻があらかじめ判明している場合(システム自体が更新をスケジュールする場合)には、記憶部(2次記憶装置)への読み込みおよび書き込みがシーケンシャルアクセスとなるようにして、大量レコードの更新処理を高速化することのできる周期更新データ管理システムを得ることを目的とする。   The present invention has been made to solve the above-described problems. When the update time for each record is known in advance (when the system itself schedules the update), the storage unit (secondary storage) It is an object of the present invention to provide a periodic update data management system capable of speeding up the update processing of a large number of records so that reading and writing to the apparatus) are sequential access.

この発明による周期更新データ管理システムは、記憶部と更新処理部とを備えた周期更新データ管理システムであって、記憶部は、外部の複数の情報源と1対1に対応する複数のレコードを、各々の次回更新時刻に基づいて異なる複数の領域に格納し、更新処理部は、複数の領域のうち、現在時刻に対応するものを処理対象領域として選択し、処理対象領域内の対象レコードについて、複数の情報源の中から対象レコードに対応する対象情報源を参照し、対象情報源から取得した取得情報に基づいて、対象レコードの更新後の値を決定するとともに、取得情報の前回参照時からの変化の有無または大きさに基づいて、対象レコードの次回更新時刻を決定し、決定された次回更新時刻に対応する領域の末尾に、対象レコードの更新後の値を格納し、処理対象領域内のすべての対象レコードを処理し終えた後に、処理対象領域を削除するものである。   The periodic update data management system according to the present invention is a periodic update data management system including a storage unit and an update processing unit, and the storage unit stores a plurality of records corresponding to a plurality of external information sources on a one-to-one basis. The update processing unit selects a region corresponding to the current time from among the plurality of regions as a processing target region, and records the target record in the processing target region. , Refer to the target information source corresponding to the target record from a plurality of information sources, determine the updated value of the target record based on the acquired information acquired from the target information source, and at the time of the previous reference of the acquired information The next update time of the target record is determined based on the presence or absence or magnitude of the change from, and the updated value of the target record is stored at the end of the area corresponding to the determined next update time After it has finished processing all of the target record of the processing target area, it is intended to remove the processing target area.

この発明に係る周期更新データ管理システムよれば、大量レコードの更新処理を高速化することができる。   According to the periodic update data management system according to the present invention, the update processing of a large number of records can be speeded up.

実施の形態1.
図1はこの発明の実施の形態1に係る周期更新データ管理システムを示すブロック構成図である。
図1において、周期更新データ管理システムは、記憶部1と、記憶部1に接続された読込バッファ4と、記憶部1に接続された書込バッファ5a、5b、・・・と、書込バッファ5a、5b、・・・を制御する更新処理部6と、記憶部1とは異なる第2の記憶部8と、第2の記憶部8に接続された要求受付部10とを備えている。
以下、代表的に、複数の書込バッファのうちの2つの書込バッファ5a、5bに注目して説明する。
Embodiment 1 FIG.
1 is a block diagram showing a periodic update data management system according to Embodiment 1 of the present invention.
1, the periodic update data management system includes a storage unit 1, a read buffer 4 connected to the storage unit 1, write buffers 5a, 5b connected to the storage unit 1, and a write buffer. Are provided with an update processing unit 6 for controlling 5a, 5b,..., A second storage unit 8 different from the storage unit 1, and a request receiving unit 10 connected to the second storage unit 8.
Hereinafter, the description will be made by paying attention to two write buffers 5a and 5b among the plurality of write buffers.

また、周期更新データ管理システムの外部構成として、複数の情報源(A、B、C、・・・)7a、7b、7c、・・・と、制御端末11とを備えている。以下、代表的に、複数の情報源のうちの3つの情報源7a〜7cに注目して説明する・   In addition, as an external configuration of the periodic update data management system, a plurality of information sources (A, B, C,...) 7a, 7b, 7c,. The following description will be made with a focus on three information sources 7a to 7c among a plurality of information sources.

記憶部1は、記憶用の複数の領域(以下、「バケット」という)2a、2b、2c、・・・を有し、各バケット2a、2b、2c、・・・は、それぞれ、情報すなわちレコード3を格納する。
以下、代表的に、複数のバケットのうちの3つのバケット2a〜2cに注目して説明する。
The storage unit 1 has a plurality of storage areas (hereinafter referred to as “buckets”) 2a, 2b, 2c,..., And each bucket 2a, 2b, 2c,. 3 is stored.
Hereinafter, the description will be made by paying attention to three buckets 2a to 2c out of a plurality of buckets.

更新処理部6は、複数の情報源7a〜7cに基づいて、要求受付部10に登録要求を送信するとともに、書込バッファ5a、5bの保持データ(レコード)を制御する。
第2の記憶部8は、情報源登録テーブル9aを有しており、たとえば情報源7a〜7cに対応した識別子A〜Cを格納する。
要求受付部10は、更新処理部6および制御端末11からの登録要求に応答して、書込バッファ5a、5bの保持データを制御する。
The update processing unit 6 transmits a registration request to the request receiving unit 10 based on the plurality of information sources 7a to 7c, and controls data held in the write buffers 5a and 5b (records).
The second storage unit 8 includes an information source registration table 9a, and stores identifiers A to C corresponding to the information sources 7a to 7c, for example.
The request receiving unit 10 controls the data held in the write buffers 5a and 5b in response to registration requests from the update processing unit 6 and the control terminal 11.

周期更新データ管理システムの外部に存在する情報源7a〜7cおよび制御端末11は、インターネットやLANなどの通信回線を介して周期更新データ管理システムに接続されている。
ここでは、代表例として、情報源7a〜7cは、Webサーバ上のWebページにより構成され、制御端末11は、一般的なコンピュータにより構成されるものとする。
たとえば、情報源7a〜7cは、論理的な実体であり、物理的な実体であるWebサーバに、各情報源7a〜7cを識別するURLを指定して、Webページ取得要求を送付することに対応する。
The information sources 7a to 7c and the control terminal 11 existing outside the periodic update data management system are connected to the periodic update data management system via a communication line such as the Internet or a LAN.
Here, as a representative example, the information sources 7a to 7c are configured by Web pages on a Web server, and the control terminal 11 is configured by a general computer.
For example, the information sources 7a to 7c are logical entities, and a URL for identifying each of the information sources 7a to 7c is specified and a Web page acquisition request is sent to a Web server that is a physical entity. Correspond.

図1に示したこの発明の実施の形態1によるシステムの目的は、各Webページの時間的な変化をとらえるために、各Webページを取得するタイミングを決定するための情報をレコードとして管理することにある。
ここで、レコードは、Webページを取得するごとに更新され、次の取得タイミングは、適応的に制御されるものとする。実際に取得したWebページの内容自体は、ログ形式などで、記憶部1以外の別の記憶手段に格納されてもよい。
The purpose of the system according to the first embodiment of the present invention shown in FIG. 1 is to manage information for determining the timing for acquiring each Web page as a record in order to capture temporal changes of each Web page. It is in.
Here, the record is updated each time a Web page is acquired, and the next acquisition timing is adaptively controlled. The content of the actually acquired Web page itself may be stored in another storage unit other than the storage unit 1 in a log format or the like.

また、図1の周期更新データ管理システムは、一般的なコンピュータを用いて実現することができる。
すなわち、記憶部1および第2の記憶部8を磁気ディスク装置で実現し、読込バッファ4および書込バッファ5a〜5bをランダムアクセスメモリで実現し、更新処理部および要求受付部10を、ランダムアクセスメモリに格納されプロセッサで実行されるコンピュータプログラムとして実現することができる。
The periodic update data management system of FIG. 1 can be realized using a general computer.
That is, the storage unit 1 and the second storage unit 8 are realized by a magnetic disk device, the read buffer 4 and the write buffers 5a to 5b are realized by a random access memory, and the update processing unit and the request reception unit 10 are randomly accessed. It can be realized as a computer program stored in a memory and executed by a processor.

バケット2a〜2cは、記憶部1の互いに異なる領域を占めており、それぞれ、独立に新規作成、拡張および削除が可能である。
記憶部1内のバケット2a〜2cは、たとえばLinuxやWindows(登録商標)などの一般的なオペレーティングシステムが提供するファイルとして実現することができる。
The buckets 2a to 2c occupy different areas of the storage unit 1, and can be newly created, expanded and deleted independently.
The buckets 2a to 2c in the storage unit 1 can be realized as files provided by a general operating system such as Linux or Windows (registered trademark).

各バケット2a〜2cには、レコード3が複数格納される。
各レコード3は、各情報源7a〜7cと1対1に対応しており、それぞれ、独立の周期で、対応する情報源7a〜7cの情報に基づいて更新される。
A plurality of records 3 are stored in each of the buckets 2a to 2c.
Each record 3 has a one-to-one correspondence with each information source 7a to 7c, and is updated based on information of the corresponding information source 7a to 7c in an independent cycle.

レコード3は、所定単位(時間分解能)、たとえば「日」で表した次回更新時刻を含んでおり、各バケット2a〜2cに格納されるレコード3は、すべて同一の次回更新時刻を持つようにする。
すなわち、レコード3の次回更新時刻に応じて格納するバケット2a〜2cを定める。また、各バケット2a〜2c内でのレコード3の配置は格納順であり、特定の情報源識別子を持つレコード3を検索するためには、バケット2a〜2cの全体の走査を必要とする。
The record 3 includes the next update time expressed in a predetermined unit (time resolution), for example, “day”, and the records 3 stored in the buckets 2a to 2c all have the same next update time. .
That is, the buckets 2a to 2c to be stored are determined according to the next update time of the record 3. In addition, the arrangement of the records 3 in each of the buckets 2a to 2c is in the order of storage, and in order to search for the record 3 having a specific information source identifier, it is necessary to scan the entire buckets 2a to 2c.

書込バッファ5a〜5bは、バケット2a〜2cと同様に、次回更新時刻ごとに存在する。
情報源登録テーブル9aは、既知の情報源の識別子を格納しており、たとえば、公知の「B−tree」などの木構造を用いて、特定の情報源識別子の検索が効率的に行えるようにする。
The write buffers 5a to 5b exist at every next update time, similarly to the buckets 2a to 2c.
The information source registration table 9a stores the identifiers of known information sources. For example, a specific information source identifier can be efficiently searched by using a known tree structure such as “B-tree”. To do.

情報源登録テーブル9aへのアクセスは、本質的にランダムアクセスとなるが、レコード3の全体と比較して小規模なので、全体をランダムアクセスメモリでキャッシュすることにより、記憶部1および第2の記憶部8(磁気ディスク装置)へのアクセスを回避することができる。   Access to the information source registration table 9a is essentially random access, but is small compared with the entire record 3, so the entire storage is cached in a random access memory, so that the storage unit 1 and the second storage Access to the unit 8 (magnetic disk device) can be avoided.

図2はバケット2内のレコード3に含まれる情報を詳細に示す説明図である。
図2において、レコード3は、情報源識別子31と、次回更新時刻32と、最終状態33と、最終更新時刻34と、更新周期35とを、情報として含む。
FIG. 2 is an explanatory diagram showing in detail the information included in the record 3 in the bucket 2.
In FIG. 2, record 3 includes information source identifier 31, next update time 32, final state 33, final update time 34, and update cycle 35 as information.

情報源識別子31は、情報源であるWebページのURLを表す。
次回更新時刻32は、レコードが次に更新される予定の時刻であり、前述の通り、同一バケット内の各レコード3は、所定単位(たとえば、「日」)で表した同一の次回更新時刻を持つ。
The information source identifier 31 represents the URL of a Web page that is an information source.
The next update time 32 is a time when the record is scheduled to be updated next. As described above, each record 3 in the same bucket has the same next update time expressed in a predetermined unit (for example, “day”). Have.

最終状態33は、情報源識別子31に対応する情報源から最後に取得した情報を表す。
なお、レコード3の次回更新時刻32を決定するために、情報の値自体ではなく、値の変化の有無のみ、が重要な場合には、最終状態33には値自体に代えて、値にハッシュ関数(hash function)を適用してデータ長を圧縮した表現を用いることができる。
The final state 33 represents the information acquired last from the information source corresponding to the information source identifier 31.
Note that in order to determine the next update time 32 of the record 3, if only the presence / absence of the value is important, not the value of the information itself, the final state 33 has a hash value instead of the value itself. An expression obtained by compressing the data length by applying a function (hash function) can be used.

上述したように、次回更新時刻32の決定以外の目的(たとえば、取得したWebページに対する全文検索索引の生成など)のために、情報の値自体や値の履歴が必要な場合には、別の記憶手段にこれらを格納する。   As described above, if the information value itself or the value history is necessary for purposes other than the determination of the next update time 32 (for example, generation of a full-text search index for the acquired Web page), These are stored in the storage means.

レコード3内の最終更新時刻34および更新周期35は、次回更新時刻32を決定する際に、参照されるとともに更新されるデータである。
なお、レコード3は、情報源7a〜7cから情報を取得する際に必要な補助的なデータ(たとえば、Webサイトの認証情報やクッキー情報など)をさらに含んでいてもよい。
The last update time 34 and the update cycle 35 in the record 3 are data that is referred to and updated when the next update time 32 is determined.
Note that the record 3 may further include auxiliary data (for example, Web site authentication information and cookie information) necessary for obtaining information from the information sources 7a to 7c.

次に、図3および図4のフローチャートを参照しながら、更新処理部6および要求受付部10の各動作について説明する。まず、図3に示した更新処理部6の動作について説明する。
図3において、更新処理部6は、まず、バケット2a〜2cのうち、最小(t)の次回更新時刻32に対応するものを、処理対象バケット(処理対象領域)t(以下、単に「バケットt」ともいう)として選択する(ステップS1)。
Next, operations of the update processing unit 6 and the request receiving unit 10 will be described with reference to the flowcharts of FIGS. 3 and 4. First, the operation of the update processing unit 6 shown in FIG. 3 will be described.
In FIG. 3, the update processing unit 6 first selects one of the buckets 2 a to 2 c corresponding to the minimum (t) next update time 32 as a processing target bucket (processing target region) t (hereinafter simply referred to as “bucket t”). (Also referred to as “)” (step S1).

このとき、次回更新時刻32の最小値tに対応するバケットtとしては、単に現在時刻に対応するバケットを選択することもできるが、次回更新時刻32の単位期間(たとえば、1日)内に処理が完了しないバケットが存在した場合には、処理されないバケットが生じる可能性がある。   At this time, as the bucket t corresponding to the minimum value t of the next update time 32, a bucket corresponding to the current time can be simply selected, but the processing is performed within the unit period (for example, one day) of the next update time 32. If there is a bucket that does not complete, there may be a bucket that is not processed.

続いて、現在時刻が「t」に至るまで待機する(ステップS2)。ステップS2は、単位期間内に更新されるレコード3が存在しない場合に、バケット2がまばらになる可能性があるために実行される。   Then, it waits until the current time reaches “t” (step S2). Step S2 is executed because the bucket 2 may be sparse when there is no record 3 to be updated within the unit period.

以下、更新処理部6は、バケットtの内容を一括して、読込バッファ4に読み込む(ステップS3)。これにより、記憶部1に対する読み込みを、シーケンシャルアクセスとする。
続いて、読込バッファ4内のすべてのレコードが処理されたか否かを判定して(ステップS4)、すべてのレコードが処理済み(すなわち、YES)と判定されれば、ステップS10に進み、未処理レコードが残っている(すなわち、NO)と判定されれば、ステップS5に進む。
Thereafter, the update processing unit 6 reads the contents of the bucket t all at once into the reading buffer 4 (step S3). Thereby, the reading with respect to the memory | storage part 1 is set as sequential access.
Subsequently, it is determined whether or not all the records in the read buffer 4 have been processed (step S4). If it is determined that all the records have been processed (that is, YES), the process proceeds to step S10 and unprocessed. If it is determined that the record remains (that is, NO), the process proceeds to step S5.

ステップS5において、更新処理部6は、未処理のレコードの1つを選択し、選択されたレコードの情報源識別子31に基づいて、情報源から情報を取得する。
なお、上述したように、取得した情報を別の記憶手段に格納する必要がある場合は、ステップS5の時点で格納する。
In step S5, the update processing unit 6 selects one of the unprocessed records, and acquires information from the information source based on the information source identifier 31 of the selected record.
As described above, when the acquired information needs to be stored in another storage unit, it is stored at the time of step S5.

また、ここで、取得した情報はWebページであり、ハイパーリンクとして別のWebページのURLが含まれているので、更新処理部6は、それらのURLを取り出して、各URLを情報源識別子とする登録要求を、要求受付部10に送付することにより、新たな情報源を発見することができる。   Here, since the acquired information is a Web page and includes the URL of another Web page as a hyperlink, the update processing unit 6 extracts these URLs and uses each URL as an information source identifier. By sending the registration request to be sent to the request receiving unit 10, a new information source can be found.

また、ステップS5において、更新処理部6は、取得した情報に基づいて、次回更新時刻t’を決定する。
次回更新時刻t’は、たとえば、レコード3に格納された最終状態33と、取得した情報に基づく新たな最終状態とを比較して、情報の更新の検出有無に基づいて設定される。すなわち、情報の更新が検出された場合には、更新周期35の1/2を現在時刻に加算し、情報の更新が検出されなかった場合には、更新周期35に「1」を加算した値を現在時刻に加算する、などの方法により決定することができる。
In step S5, the update processing unit 6 determines the next update time t ′ based on the acquired information.
The next update time t ′ is set based on whether or not the update of information is detected by comparing the final state 33 stored in the record 3 with a new final state based on the acquired information, for example. That is, when update of information is detected, 1/2 of the update cycle 35 is added to the current time, and when update of information is not detected, a value obtained by adding “1” to the update cycle 35 Can be determined by a method such as adding to the current time.

さらに、ステップS5において、更新処理部6は、次回更新時刻32を「t’」に設定し、最終状態33を新たな値に設定し、最終更新時刻34を現在時刻に設定し、更新周期35を、情報の更新が検出された場合には「元の値の1/2」に設定し、情報の更新が検出されなかった場合には「元の値に1を加算した値」に設定する。   Further, in step S5, the update processing unit 6 sets the next update time 32 to “t ′”, sets the final state 33 to a new value, sets the final update time 34 to the current time, and updates the update cycle 35. Is set to “½ of the original value” when the information update is detected, and is set to “the value obtained by adding 1 to the original value” when the information update is not detected. .

なお、より高度な更新周期の決定方法は、公知文献(たとえば、日本データベース学会Letters、Vol.6、No.1、pp.173−176「大規模Webアーカイブのための更新クローラの設計と実装」田村孝之、喜連川優。または、特願2007−018012「Webページ再収集方式」参照)に述べられている。   Note that a more advanced update cycle determination method is known in the literature (for example, Database Society of Japan Letters, Vol. 6, No. 1, pp. 173-176 “Design and Implementation of an Update Crawler for Large-Scale Web Archives”). Takayuki Tamura, Yu Kitakawa, or Japanese Patent Application No. 2007-018012, “Web Page Recollection Method”).

続いて、レコードが棄却対象か否かを判定する(ステップS6)。
一般に、情報源からの情報取得は、異常終了することもあり、また、情報の更新がないと更新周期35が非常に大きくなる。したがって、たとえば、異常終了が「3回」続いた場合や、更新周期35が「2年以上」になった場合など、の所定条件を設けることにより、所定条件に当てはまる場合に「棄却対象」と判定することができる。
Subsequently, it is determined whether or not the record is a rejection target (step S6).
In general, information acquisition from an information source may end abnormally, and if the information is not updated, the update cycle 35 becomes very large. Therefore, for example, by setting a predetermined condition such as when the abnormal termination continues “three times” or when the update cycle 35 becomes “two years or more”, the “rejected object” is set when the predetermined condition is satisfied. Can be determined.

ステップS6において、レコードが棄却対象である(すなわち、YES)と判定された場合には、直ちにステップS4に戻り、棄却対象でない(すなわち、NO)と判定された場合には、次のステップS7に進む。   If it is determined in step S6 that the record is to be rejected (that is, YES), the process immediately returns to step S4. If it is determined that the record is not to be rejected (that is, NO), the process proceeds to the next step S7. move on.

ステップS7においては、次回更新時刻t’に対応する書込バッファt’の空き容量を調べて、書込バッファt’がフルである(空きがない)か否かを判定する。
ステップS7において、空きがない(すなわち、YES)と判定されれば、次のステップS8に進み、空きがある(すなわち、NO)と判定されれば、ステップS8をスキップしてテップS9に進む。
In step S7, the free capacity of the write buffer t ′ corresponding to the next update time t ′ is checked to determine whether the write buffer t ′ is full (no free space).
If it is determined in step S7 that there is no space (ie, YES), the process proceeds to the next step S8, and if it is determined that there is a space (ie, NO), the process skips step S8 and proceeds to step S9.

ステップS8においては、書込バッファt’のフラッシュ処理を行う。すなわち、書込バッファt’内のすべてのレコードをバケットt’の末尾に追加し、書込バッファt’を空にする。ステップS8の動作により、記憶部1に対する書き込みをシーケンシャルアクセスとする。
続いて、ステップS5で更新したレコードの値を書込バッファt’の末尾に追加して(ステップS9)、ステップS4に戻る。
In step S8, the write buffer t ′ is flushed. That is, all records in the write buffer t ′ are added to the end of the bucket t ′, and the write buffer t ′ is emptied. By the operation in step S8, writing to the storage unit 1 is set as sequential access.
Subsequently, the value of the record updated in step S5 is added to the end of the write buffer t ′ (step S9), and the process returns to step S4.

一方、ステップS4において、読込バッファ4によるレコード処理完了(すなわち、YES)と判定された場合には、ステップS10が実行され、ステップS10においては、書込バッファt+1のフラッシュを実行した後に、書込バッファt+1を削除する。   On the other hand, if it is determined in step S4 that the record processing by the read buffer 4 is completed (that is, YES), step S10 is executed. In step S10, the write buffer t + 1 is flushed and then the write is performed. Delete buffer t + 1.

ステップS10は、バケットt+1が次に処理対象となるための処理である。
最後に、読込バッファを空にし(ステップS11)、処理を終えたバケットtを削除して(ステップS12)、ステップS1に戻る。
Step S10 is processing for the bucket t + 1 to be processed next.
Finally, the reading buffer is emptied (step S11), the processed bucket t is deleted (step S12), and the process returns to step S1.

次に、図4に示した要求受付部10の動作について説明する。
図4において、要求受付部10は、まず、登録要求を受信する(ステップS21)。
このとき、登録要求は、登録対象となる情報源の情報源識別子Rを含んでいる。
Next, the operation of the request receiving unit 10 shown in FIG. 4 will be described.
In FIG. 4, the request receiving unit 10 first receives a registration request (step S21).
At this time, the registration request includes the information source identifier R of the information source to be registered.

続いて、要求受付部10は、登録要求の情報源識別子Rを参照して、第2の記憶部8内の情報源登録テーブル9aを検索し、登録要求の情報源識別子Rが情報源登録テーブル9aに存在する(見付かる)か否かを判定する(ステップS22)。   Subsequently, the request receiving unit 10 refers to the information source identifier R of the registration request, searches the information source registration table 9a in the second storage unit 8, and the information source identifier R of the registration request is the information source registration table. It is determined whether it is present (found) in 9a (step S22).

ステップS22において、情報源登録テーブル9a内に情報源識別子Rが存在する(すなわち、YES)と判定されれば、情報源登録テーブル9aにすでに情報源識別子Rが登録済みなので、ステップS21に戻る。
一方、ステップS22において、情報源登録テーブル9a内に情報源識別子Rが存在しない(すなわち、NO)と判定されれば、次のステップS23に進み、情報源識別子Rを情報源登録テーブル9aに追加登録する。
If it is determined in step S22 that the information source identifier R exists in the information source registration table 9a (that is, YES), the information source identifier R has already been registered in the information source registration table 9a, and the process returns to step S21.
On the other hand, if it is determined in step S22 that the information source identifier R does not exist in the information source registration table 9a (that is, NO), the process proceeds to the next step S23, and the information source identifier R is added to the information source registration table 9a. sign up.

続いて、情報源識別子Rに対応するレコードを初期化し、次回(初回)更新時刻t’を決定する(ステップS24)。
更新時刻t’は、現在時刻tに所定の定数(たとえば、「1」)、または所定範囲内の乱数を加算して決定することができる。
最後に、要求受付部10は、更新処理部6(図3)のステップS7〜S9と同様のレコード書き込み処理(ステップS25〜S27)を実行して、ステップS21に戻る。
Subsequently, the record corresponding to the information source identifier R is initialized, and the next (first time) update time t ′ is determined (step S24).
The update time t ′ can be determined by adding a predetermined constant (for example, “1”) or a random number within a predetermined range to the current time t.
Finally, the request receiving unit 10 executes the record writing process (steps S25 to S27) similar to steps S7 to S9 of the update processing unit 6 (FIG. 3), and returns to step S21.

以上のように、この発明の実施の形態1(図1〜図4)によれば、記憶部1と更新処理部6とを備えた周期更新データ管理システムであって、記憶部1は、外部の複数の情報源7a〜7cと1対1に対応する複数のレコード3を、各々の次回更新時刻に基づいて異なる複数のバケット2a〜2cに格納する。   As described above, according to the first embodiment (FIGS. 1 to 4) of the present invention, the periodic update data management system includes the storage unit 1 and the update processing unit 6, and the storage unit 1 is externally connected. The plurality of records 3 corresponding one-to-one with the plurality of information sources 7a to 7c are stored in different buckets 2a to 2c based on the respective next update times.

更新処理部6は、複数のバケット2a〜2cのうち、現在時刻に対応するものを処理対象バケットとして選択し、処理対象バケット内の対象レコードについて、複数の情報源7a〜7cの中から対象レコードに対応する対象情報源を参照し、対象情報源から取得した取得情報に基づいて、対象レコードの更新後の値を決定するとともに、取得情報の前回参照時からの変化の有無または大きさに基づいて、対象レコードの次回更新時刻t’を決定し、決定された次回更新時刻t’に対応するバケットの末尾に、対象レコードの更新後の値を格納し、処理対象バケット内のすべての対象レコードを処理し終えた後に、処理対象バケットを削除する。   The update processing unit 6 selects the bucket corresponding to the current time among the plurality of buckets 2a to 2c as the processing target bucket, and the target record for the target record in the processing target bucket from the plurality of information sources 7a to 7c. Based on the acquisition information acquired from the target information source, the updated value of the target record is determined, and based on the presence / absence or magnitude of the acquisition information from the previous reference The next update time t ′ of the target record is determined, the updated value of the target record is stored at the end of the bucket corresponding to the determined next update time t ′, and all target records in the processing target bucket are stored. After processing is completed, the target bucket is deleted.

このように、複数のレコード3を次回更新時刻t’に基づいて格納する複数のバケット2a〜2cを有することにより、同時に更新されるレコードをバケット単位に一括して読み込むことができ、大量レコードの更新処理を高速化することができる。
また、レコード単位のランダムアクセスを回避して、記憶部1(磁気ディスク装置)の性能低下を防ぐことができる。
In this way, by having a plurality of buckets 2a to 2c that store a plurality of records 3 based on the next update time t ′, it is possible to simultaneously read records that are updated simultaneously in units of buckets. The update process can be speeded up.
Further, random access in units of records can be avoided, and performance degradation of the storage unit 1 (magnetic disk device) can be prevented.

また、この発明の実施の形態1に係る周期更新データ管理システムは、記憶部1に接続された単一の読込バッファ4と、記憶部1内の複数のバケット2a〜2cと1対1に対応する所定容量の複数の書込バッファ5a、5bとを、さらに備えている。
この場合、更新処理部6は、処理対象バケットに格納されたすべての対象レコードを一括して読込バッファ4に読み込み、読込バッファ4内の各対象レコードについて、複数の情報源7a〜7cの中から対象レコードに対応する対象情報源を参照して、更新後の値および次回更新時刻t’を決定する。
Further, the periodic update data management system according to Embodiment 1 of the present invention has a one-to-one correspondence with a single read buffer 4 connected to the storage unit 1 and a plurality of buckets 2a to 2c in the storage unit 1. And a plurality of write buffers 5a and 5b having a predetermined capacity.
In this case, the update processing unit 6 collectively reads all target records stored in the processing target bucket into the read buffer 4, and for each target record in the read buffer 4, from among the plurality of information sources 7a to 7c. The updated value and the next update time t ′ are determined with reference to the target information source corresponding to the target record.

また、更新処理部6は、決定された次回更新時刻t’に対応する第1の書込バッファを、複数の書込バッファ5a、5bから選択し、第1の書込バッファにすでに所定容量のレコードが格納されている場合には、第1の書込バッファ内のすべてのレコードを第1の書込バッファに対応するバケットの末尾に書き込んで、第1の書込バッファを空にしてから、第1の書込バッファの末尾に対象レコードの更新後の値を格納し、読込バッファ4のすべてのレコードを処理し終えた後に、次に処理対象となる次回処理対象バケットに対応する第2の書込バッファ内のすべての次回対象レコードを、次回処理対象バケットの末尾に書き込んで、第2の書込バッファを空にしてから、第2の書込バッファおよび処理対象バケットを削除する。   Further, the update processing unit 6 selects a first write buffer corresponding to the determined next update time t ′ from the plurality of write buffers 5a and 5b, and the first write buffer already has a predetermined capacity. If records are stored, write all records in the first write buffer to the end of the bucket corresponding to the first write buffer, empty the first write buffer, The updated value of the target record is stored at the end of the first write buffer, and after processing all the records in the read buffer 4, the second corresponding to the next processing target bucket to be processed next is stored. All the next target records in the write buffer are written at the end of the next processing target bucket, the second write buffer is emptied, and then the second write buffer and the processing target bucket are deleted.

このように、更新後のレコードを元の位置に書き戻さず、同一の次回更新時刻t’を持つ複数のレコード3を一括して書き込むための書込バッファ5a〜5bを備えることにより、書き込み時のランダムアクセスを回避するとともに、レコードごとに更新周期が異なっていても、次回以降の読み込み動作がシーケンシャルアクセスとなることを保証することができる。
また、一括して読み込まれたバケットは、直ちに再利用可能となるので、バケット(記憶領域)の断片化を回避することができる。
In this way, by providing the write buffers 5a to 5b for collectively writing a plurality of records 3 having the same next update time t ′ without writing the updated records back to the original positions, Random access can be avoided, and even if the update cycle is different for each record, it can be ensured that the next read operation will be sequential access.
Moreover, since the buckets read in a lump can be reused immediately, fragmentation of the bucket (storage area) can be avoided.

また、この発明の実施の形態1に係る周期更新データ管理システムは、記憶部1とは異なる第2の記憶部8と、第2の記憶部8に接続された要求受付部10とを、さらに備えている。
第2の記憶部8は、記憶部1に格納されたすべてのレコードに対応する各情報源の識別子を格納する情報源登録テーブル9aを有する。
要求受付部10は、複数の情報源のいずれか1つに対応する識別子を含む登録要求を受け付け、その識別子が情報源登録テーブル9aに格納されていない場合には、その識別子を情報源登録テーブル9aに追加するとともに、その識別子に対応するレコードを所定値に初期化して、記憶部1内の複数のバケット2a〜2cのうちの1つ、または書込バッファ5a、5bの1つの末尾に書き込む。
Moreover, the periodic update data management system according to Embodiment 1 of the present invention further includes a second storage unit 8 different from the storage unit 1 and a request reception unit 10 connected to the second storage unit 8. I have.
The second storage unit 8 includes an information source registration table 9 a that stores identifiers of information sources corresponding to all records stored in the storage unit 1.
The request receiving unit 10 receives a registration request including an identifier corresponding to any one of a plurality of information sources, and if the identifier is not stored in the information source registration table 9a, the request is received from the information source registration table. In addition to 9a, the record corresponding to the identifier is initialized to a predetermined value and written to one of the plurality of buckets 2a to 2c in the storage unit 1 or one end of the write buffers 5a and 5b. .

このように、情報源登録テーブル9aを備えることにより、重複を避けながら、新たな情報源を動的に追加する処理を、バケット全体を検索せずに効率的に行うことができる。
特に、情報源の情報がWebサイト上のWebページの場合には、情報源の識別子は、WebページのURLであり、更新処理部6は、処理対象バケット内の対象レコードに対応するWebページの内容をダウンロードして、対象レコードの更新後の値を決定するとともに、対象レコードに対応するWebページからリンクを抽出して、得られたURLの各々を登録要求として要求受付部10に送付することにより、ハイパーリンクから新たな情報源の候補を発見することができ、自律的なWeb情報収集が可能になる。
As described above, by providing the information source registration table 9a, it is possible to efficiently perform a process of dynamically adding a new information source without searching for the entire bucket while avoiding duplication.
In particular, when the information of the information source is a web page on the website, the identifier of the information source is the URL of the web page, and the update processing unit 6 selects the web page corresponding to the target record in the processing target bucket. Download the contents, determine the updated value of the target record, extract a link from the Web page corresponding to the target record, and send each of the obtained URLs to the request receiving unit 10 as a registration request Thus, a new information source candidate can be found from the hyperlink, and autonomous Web information collection becomes possible.

また、更新処理部6は、レコードの棄却処理(ステップS6)を有し、レコードの更新後の値が所定条件を満たす場合には、そのレコードを複数のバケット2a〜2cまたは書込バッファのいずれにも書き込まないので、更新する必要のなくなったレコードの読み書きを回避することができる。   In addition, the update processing unit 6 has a record rejection process (step S6), and when the updated value of the record satisfies a predetermined condition, the update processing unit 6 determines whether the record is a plurality of buckets 2a to 2c or a write buffer. In this case, it is possible to avoid reading / writing a record that no longer needs to be updated.

なお、更新処理部6は、ステップS6において、レコードを書き込まないことにより、レコードの棄却処理を実現したが、さらに、情報源登録テーブル9aから対応する情報源識別子(そのレコードに対応する識別子)を削除してもよい。
これにより、一度不要と判定された情報源を、再度登録することが可能になる。
In addition, although the update process part 6 implement | achieved the rejection process of a record by not writing a record in step S6, furthermore, the information source identifier (identifier corresponding to the record) corresponding from the information source registration table 9a is obtained. It may be deleted.
This makes it possible to register again an information source that has been determined to be unnecessary.

また、この発明の実施の形態1による更新処理部6は、読込バッファ4のすべてのレコードを処理し終えた後に、次回処理対象バケットに対応する第2の書込バッファを新たな読込バッファとし、元の読込バッファおよび処理対象バケットを削除する。すなわち、ステップS10、S11においては、書込バッファt+1を削除して読込バッファ4を空にしたが、代わりに、読込バッファ4を削除し、書込バッファt+1を新たな読込バッファとしてもよい。
これにより、書込バッファt+1のレコードをバケットt+1に書き込み、再度読込バッファに読み込むオーバーヘッドを回避することができる。
In addition, the update processing unit 6 according to the first embodiment of the present invention sets the second write buffer corresponding to the next processing target bucket as a new read buffer after processing all the records in the read buffer 4, Delete the original read buffer and target bucket. That is, in steps S10 and S11, the write buffer t + 1 is deleted and the read buffer 4 is emptied. Instead, the read buffer 4 may be deleted and the write buffer t + 1 may be a new read buffer.
As a result, it is possible to avoid the overhead of writing the record in the write buffer t + 1 into the bucket t + 1 and reading it back into the read buffer.

また、上記説明では、情報源をWebページの情報としたが、ファイルサーバ上のファイルとしてもよい。
この場合、情報源の識別子は、ファイルのパス名であり、更新処理部6は、処理対象バケット内の対象レコードに対応するファイルの内容をダウンロードして、対象レコードの更新後の値を決定するとともに、対象レコードに対応するファイルがディレクトリである場合には、そのディレクトリ内のファイルおよびサブディレクトリの各パス名を登録要求として要求受付部10に送付する。
In the above description, the information source is Web page information, but it may be a file on a file server.
In this case, the identifier of the information source is the path name of the file, and the update processing unit 6 downloads the contents of the file corresponding to the target record in the processing target bucket and determines the updated value of the target record. At the same time, if the file corresponding to the target record is a directory, the path names of the files and subdirectories in the directory are sent to the request receiving unit 10 as registration requests.

このように、Webページのハイパーリンクに代えて、ディレクトリ(フォルダ)の情報を利用し、更新処理部6は、ステップS5において、ディレクトリ内のファイルのパス名を情報源識別子とする登録要求を要求受付部10に送信することにより、ファイルの追加に自律的に対応することができる。
また、ファイルの削除に対しては、ステップS6の棄却処理で対応することができる。
In this way, the directory (folder) information is used instead of the Web page hyperlink, and the update processing unit 6 requests a registration request using the path name of the file in the directory as the information source identifier in step S5. By transmitting to the reception unit 10, it is possible to autonomously respond to the addition of a file.
Further, the deletion of the file can be dealt with by the rejection process in step S6.

実施の形態2.
なお、上記実施の形態1(図3)では、ステップS4の判定結果がNO(レコード処理が未完了)の場合に、無条件で次回更新時刻t’の決定処理(ステップS5)を実行したが、図5のように、所定数処理または所定時間経過の判定条件(ステップS51)の正否に応じて、次回更新時刻t’の決定処理(ステップS52、S53)を実行してもよい。
Embodiment 2. FIG.
In the first embodiment (FIG. 3), when the determination result in step S4 is NO (record processing is not completed), the next update time t ′ determination process (step S5) is executed unconditionally. As shown in FIG. 5, the next update time t ′ determination process (steps S <b> 52 and S <b> 53) may be executed according to whether a predetermined number of processes or a predetermined time elapsed determination condition (step S <b> 51) is correct.

図5はこの発明の実施の形態2による更新処理部6の動作を示すフローチャートであり、前述(図3参照)と同様の処理については、図示が省略されている。
なお、この発明の実施の形態2に係る周期更新データ管理システムの全体構成は、前述(図1参照)と同様であり、更新処理部6の一部動作が異なるのみである。
FIG. 5 is a flowchart showing the operation of the update processing unit 6 according to the second embodiment of the present invention, and illustration of processes similar to those described above (see FIG. 3) is omitted.
The overall configuration of the periodic update data management system according to the second embodiment of the present invention is the same as that described above (see FIG. 1), and only the partial operation of the update processing unit 6 is different.

図5において、更新処理部6は、ステップS4の判定結果がNO(読込バッファ4に未処理レコードが残存)の場合には、読込バッファ4の処理を開始してから所定数のレコードを処理したか否か、または、所定時間が経過したか否かを判定する(ステップS51)。   In FIG. 5, when the determination result in step S4 is NO (the unprocessed record remains in the read buffer 4), the update processing unit 6 processes the predetermined number of records after starting the process of the read buffer 4. It is determined whether or not a predetermined time has passed (step S51).

ステップS51において、条件が不成立(すなわち、NO)と判定されれば、未処理レコードの1つを選択して、前述のステップS5と同様の処理(ステップS52)を実行する。
ただし、ステップS53において選択されるレコードは、未処理レコードのうち、以下の値Kが最も大きいものとする。
If it is determined in step S51 that the condition is not satisfied (that is, NO), one of the unprocessed records is selected, and the same processing (step S52) as in step S5 described above is executed.
However, the record selected in step S53 is assumed to have the largest value K below among unprocessed records.

K=(現在時刻t−最終更新時刻34)/更新周期35   K = (current time t−last update time 34) / update cycle 35

この値Kは、レコードの更新周期に対する相対的な累積待ち時間の大きさを表しており、累積待ち時間の影響が大きいレコードから優先して処理することに対応する。   This value K represents the magnitude of the accumulated waiting time relative to the record update period, and corresponds to processing preferentially from the record that is greatly affected by the accumulated waiting time.

一方、ステップS51において、条件が成立する(すなわち、YES)と判定されれば、読込バッファ4の更新に要する時間(負荷)が大き過ぎて、後続バケットの更新に悪影響を及ぼすことを意味するので、未処理レコードの1つを選択して情報源から情報取得する処理(ステップS52)を実行せずに、次回更新時刻t’のみを設定して(ステップS53)、ステップS7に進む。
このとき、次回更新時刻t’は、現在時刻tに所定の定数(たとえば、「1」)または所定範囲の乱数を加算することにより、決定することができる。
On the other hand, if it is determined in step S51 that the condition is satisfied (that is, YES), it means that the time (load) required to update the read buffer 4 is too large and adversely affects the update of the subsequent bucket. Instead of executing the process of selecting one of the unprocessed records and acquiring information from the information source (step S52), only the next update time t ′ is set (step S53), and the process proceeds to step S7.
At this time, the next update time t ′ can be determined by adding a predetermined constant (for example, “1”) or a predetermined range of random numbers to the current time t.

以上のように、この発明の実施の形態2(図5)によれば、更新処理部6は、処理対象バケットの所定数のレコードを処理し終えたか、処理対象バケットの処理開始から所定時間が経過した際(ステップS51の判定結果がNOの場合)に、未処理のレコードに対応する情報源を参照せずに、次回更新時刻t’を所定値に更新して(ステップS53)、複数のバケット2a〜2cのうちの1つ、または書込バッファ5a、5bの1つの末尾に書き込む。   As described above, according to the second embodiment (FIG. 5) of the present invention, the update processing unit 6 has processed a predetermined number of records in the processing target bucket, or a predetermined time from the start of processing of the processing target bucket. When the time has elapsed (when the determination result of step S51 is NO), the next update time t ′ is updated to a predetermined value without referring to the information source corresponding to the unprocessed record (step S53), Write to the end of one of the buckets 2a-2c or one of the write buffers 5a, 5b.

このように、バケットの更新処理を打ち切る処理(ステップS51、S53)を有することにより、特定バケットへの更新負荷の集中によって、後続バケットの更新時刻に悪影響を及ぼすことを回避することができる。
また、更新処理部6は、ステップS51の条件が不成立の場合に、レコードを相対累積待ち時間に基づいて、処理対象バケットの各レコードを優先度順に処理(ステップS52)するので、高負荷時であってもレコードの更新を公平に実行することができる。
As described above, by having the processing (steps S51 and S53) for aborting the update processing of the bucket, it is possible to avoid adversely affecting the update time of the subsequent bucket due to the concentration of the update load on the specific bucket.
In addition, when the condition of step S51 is not satisfied, the update processing unit 6 processes the records in the processing target bucket in order of priority based on the relative cumulative waiting time (step S52). Even if there is, update of the record can be executed fairly.

実施の形態3.
なお、上記実施の形態1、2では特に言及しなったが、図6のように、次々回以降に処理対象となるすべてのバケットに書き込まれるレコードを一時的に格納するために、第1の書込バッファ5xとは別に、第2の書込バッファ5yを設けてもよい。
図6はこの発明の実施の形態3に係る周期更新データ管理システムを示すブロック構成図であり、前述(図1参照)と同様のものについては、前述と同一符号を付して、または符号の後に「A」を付して詳述を省略する。
Embodiment 3 FIG.
Although not particularly mentioned in the first and second embodiments, as shown in FIG. 6, in order to temporarily store records to be written in all buckets to be processed one after another, the first document A second write buffer 5y may be provided separately from the embedded buffer 5x.
FIG. 6 is a block diagram showing a periodic update data management system according to Embodiment 3 of the present invention. Components similar to those described above (see FIG. 1) are denoted by the same reference numerals as those described above, or A detailed description will be omitted with “A” attached later.

図6において、第1の書込バッファ5xおよび第2の書込バッファ5yは、更新処理部6Aおよび要求受付部10Aの制御下で、記憶部1A内のバケット2a〜2cに対する格納データを保持する。
この場合、前述の書込バッファ5a、5bの数とは異なり、書込バッファ数は、バケット2a〜2cの数とは無関係に、2つ(第1および第2の書込バッファ5x、5y)である。
In FIG. 6, the first write buffer 5x and the second write buffer 5y hold stored data for the buckets 2a to 2c in the storage unit 1A under the control of the update processing unit 6A and the request receiving unit 10A. .
In this case, unlike the number of write buffers 5a and 5b described above, the number of write buffers is two (first and second write buffers 5x and 5y) regardless of the number of buckets 2a to 2c. It is.

第1の書込バッファ5xは、記憶部1A内の単一バケット(処理対象バケットの次のバケット)に対応し、第1の書込バッファ5xには、単一バケットに書き込まれるレコードが格納される。
また、第2の書込バッファ5yには、単一バケット以外のバケットに書き込まれるレコードが格納される。
The first write buffer 5x corresponds to a single bucket (the bucket next to the processing target bucket) in the storage unit 1A, and the first write buffer 5x stores a record to be written to the single bucket. The
The second write buffer 5y stores a record to be written in a bucket other than a single bucket.

第2の記憶部8Aは、前述の情報源登録テーブル9aに対応した情報源登録テーブル9bに加えて、棄却バケット12a、12b、・・・を備えている。
棄却バケット12a、12b、・・・は、前述と同様に、バケット2a〜2cに対応した複数のレコードを格納する。
さらに、制御端末11から要求受付部10Aに対しては、前述の登録要求のみならず、検索要求および更新要求が送信される。
The second storage unit 8A includes rejection buckets 12a, 12b,... In addition to the information source registration table 9b corresponding to the information source registration table 9a described above.
Rejection buckets 12a, 12b,... Store a plurality of records corresponding to buckets 2a to 2c, as described above.
Further, not only the above-described registration request but also a search request and an update request are transmitted from the control terminal 11 to the request receiving unit 10A.

図7は第2の記憶部8A内の情報源登録テーブル9bを詳細に示す説明図である。
図7において、情報源登録テーブル9bは、前述(図1参照)の情報源登録テーブル9aとは異なり、情報源識別子91に加えて、情報源(A、B、C、・・・)7a、7b、7c、・・・ごとに、次回更新時刻92を格納している。
次回更新時刻92は、情報源識別子91に対応するレコード3の次回更新時刻32(図2参照)の値であり、一部の情報源については、棄却済みであることを示す場合がある。
FIG. 7 is an explanatory diagram showing the information source registration table 9b in the second storage unit 8A in detail.
In FIG. 7, the information source registration table 9b is different from the information source registration table 9a described above (see FIG. 1), in addition to the information source identifier 91, information sources (A, B, C,...) 7a, The next update time 92 is stored for each of 7b, 7c,.
The next update time 92 is a value of the next update time 32 (see FIG. 2) of the record 3 corresponding to the information source identifier 91, and some information sources may indicate that it has been rejected.

図8は記憶部1A内のバケット2a〜2cに含まれる情報を詳細に示す説明図であり、前述(図2参照)と同様のものについては、前述と同一符号を付して詳述を省略する。
図8において、バケット2は、前述(図2)とは異なり、レコード3に加えて、形式の異なる更新レコード30を含む場合がある。
FIG. 8 is an explanatory diagram showing in detail the information contained in the buckets 2a to 2c in the storage unit 1A. The same components as those described above (see FIG. 2) are denoted by the same reference numerals as those described above, and detailed description thereof is omitted. To do.
In FIG. 8, the bucket 2 may include an update record 30 having a different format in addition to the record 3, unlike the above (FIG. 2).

更新レコード30は、前述と同様の情報源識別子31および次回更新時刻32などに加えて、固定更新周期36と、同一情報源に対応するレコードへの更新を指示する更新内容37とを含む。
更新内容37は、レコード3の更新対象項目名およびその値を含む。
The update record 30 includes a fixed update period 36 and an update content 37 for instructing an update to a record corresponding to the same information source, in addition to the information source identifier 31 and the next update time 32 as described above.
The update content 37 includes the update target item name of the record 3 and its value.

次に、図9〜図12のフローチャートを参照しながら、この発明の実施の形態3による更新処理部6Aおよび要求受付部10Aの動作について説明する。
まず、図9を参照しながら、更新処理部6Aの動作について説明する。
図9において、ステップS101〜S104、S106、S107およびS118は、それぞれ、前述(図3参照)のステップS1〜S6およびS12と同様の処理である。
Next, operations of the update processing unit 6A and the request receiving unit 10A according to the third embodiment of the present invention will be described with reference to the flowcharts of FIGS.
First, the operation of the update processing unit 6A will be described with reference to FIG.
In FIG. 9, steps S101 to S104, S106, S107 and S118 are the same processes as steps S1 to S6 and S12 described above (see FIG. 3), respectively.

まず、更新処理部6Aは、バケットtの内容を読込バッファ4に読み込み(ステップS101〜S103)、ステップS104で未処理レコードが残っている(すなわち、NO)と判定されれば、読込バッファ4内の未処理レコードの1つを選択して処理対象とし、読込バッファ4中に処理対象レコードと同一の情報源識別子31(図8参照)を持つ更新レコードが存在すれば、その更新レコードの更新内容37にしたがって処理対象レコードを更新し、更新内容37をその更新レコードに反映させる(ステップS105)。   First, the update processing unit 6A reads the contents of the bucket t into the reading buffer 4 (steps S101 to S103). If it is determined in step S104 that an unprocessed record remains (that is, NO), the update processing unit 6A If an update record having the same information source identifier 31 (see FIG. 8) as the processing target record exists in the read buffer 4, the update contents of the update record are selected. The processing target record is updated according to 37, and the updated content 37 is reflected in the updated record (step S105).

続いて、情報源から情報を取得し、レコードの更新処理および次回更新時刻t’の決定処理(ステップS106)を行い、レコードが棄却対象であるか否かを判定する(ステップS107)。
ステップS107でレコードが棄却対象である(すなわち、YES)と判定されればステップS108に進み、レコードが棄却対象でない(すなわち、NO)と判定されればステップS109に進む。
Subsequently, information is acquired from the information source, a record update process and a next update time t ′ determination process (step S106) are performed, and it is determined whether the record is a rejection target (step S107).
If it is determined in step S107 that the record is to be rejected (that is, YES), the process proceeds to step S108, and if it is determined that the record is not to be rejected (that is, NO), the process proceeds to step S109.

ステップS108においては、更新後のレコードを棄却バケット12a、12b、・・・のいずれかの末尾に追加する。なお、棄却バケットは単一でもよいが、所定サイズに達したら新たな棄却バケットに書き込むようにして、複数に分割してもよい。
さらに、ステップS108においては、レコードの情報源識別子に対応する情報源登録テーブル9bの次回更新時刻92に対し、書き込んだ棄却バケットを識別するための情報を設定して、ステップS104に戻る。
In step S108, the updated record is added to the end of one of the rejection buckets 12a, 12b,. In addition, although the rejection bucket may be single, when it reaches a predetermined size, it may be divided into a plurality by writing in a new rejection bucket.
Furthermore, in step S108, information for identifying the written rejection bucket is set for the next update time 92 of the information source registration table 9b corresponding to the information source identifier of the record, and the process returns to step S104.

一方、ステップS109においては、次回更新時刻t’と現在時刻tに「1」を加算した時刻とを比較して、「t’=t+1」であるか否かを判定する。
ステップS109において、t’=t+1(すなわち、YES)と判定されればステップS110に進み、t’≠t+1(すなわち、NO)と判定されればステップS113に進む。
On the other hand, in step S109, the next update time t ′ is compared with the time obtained by adding “1” to the current time t to determine whether or not “t ′ = t + 1”.
If it is determined in step S109 that t ′ = t + 1 (that is, YES), the process proceeds to step S110, and if it is determined that t ′ ≠ t + 1 (that is, NO), the process proceeds to step S113.

ステップS110〜S112においては、レコードの書き込み先として第1の書込バッファ5xを選択する。
まず、第1の書込バッファ5xが満杯(フル)であるか否かを判定し(ステップS110)、満杯でない(すなわち、NO)と判定されれば、直ちにステップS112に進み、満杯である(すなわち、YES)と判定されれば、第1の書込バッファ5xの各レコードを一括してバケットt+1の末尾に追加して、第1の書込バッファ5xを空にする(ステップS111)。
In steps S110 to S112, the first write buffer 5x is selected as a record write destination.
First, it is determined whether or not the first write buffer 5x is full (step S110). If it is determined that the first write buffer 5x is not full (that is, NO), the process immediately proceeds to step S112 and is full ( In other words, if it is determined as YES), the records in the first write buffer 5x are collectively added to the end of the bucket t + 1 to empty the first write buffer 5x (step S111).

続いて、ステップS112において、ステップS106で更新したレコードを第1の書込バッファ5xの末尾に追加するとともに、そのレコードの情報源識別子に対応する情報源登録テーブル9bの次回更新時刻92を「t+1(=t’)」に設定して、ステップS104に戻る。   Subsequently, in step S112, the record updated in step S106 is added to the end of the first write buffer 5x, and the next update time 92 of the information source registration table 9b corresponding to the information source identifier of the record is set to “t + 1”. (= T ′) ”and the process returns to step S104.

一方、ステップS113〜S115においては、レコードの書き込み先として第2の書込バッファ5yを選択する。
まず、第2の書込バッファ5yが満杯(フル)であるか否かを判定し(ステップS113)、満杯でない(すなわち、NO)と判定されれば、直ちにステップS115に進み、満杯である(すなわち、YES)と判定されれば、第2の書込バッファ5yの各レコードを次回更新時刻順にソートして、同一の次回更新時刻ごとに一括して対応するバケットの末尾に追加し、すべてのレコードを書き込み終えたら第2の書込バッファを空にする(ステップS114)。
On the other hand, in steps S113 to S115, the second write buffer 5y is selected as a record write destination.
First, it is determined whether the second write buffer 5y is full (full) (step S113). If it is determined that the second write buffer 5y is not full (that is, NO), the process immediately proceeds to step S115 and is full ( That is, if it is determined as YES), the records in the second write buffer 5y are sorted in the order of the next update time, and added to the end of the corresponding bucket at the same time for the next next update time. When the record has been written, the second write buffer is emptied (step S114).

続いて、ステップS115において、ステップS106で更新したレコードを第2の書込バッファ5yの末尾に追加するとともに、そのレコードの情報源識別子に対応する情報源登録テーブルの次回更新時刻92を「t’」に設定してステップS104に戻る。   Subsequently, in step S115, the record updated in step S106 is added to the end of the second write buffer 5y, and the next update time 92 of the information source registration table corresponding to the information source identifier of the record is set to “t ′”. And return to step S104.

一方、ステップS104において、読込バッファ4のすべてのレコード処理が完了した(すなわち、YES)と判定されれば、第1の書込バッファ5xを「新たな読込バッファ」とし、元の読込バッファ4を空にして「新たな第1の書込バッファ」とし、読込バッファ4と第1の書込バッファ5xとの役割を交換する(ステップS116)。   On the other hand, if it is determined in step S104 that all record processing of the read buffer 4 has been completed (that is, YES), the first write buffer 5x is set as the “new read buffer”, and the original read buffer 4 is changed. It is emptied to be a “new first write buffer”, and the roles of the read buffer 4 and the first write buffer 5x are exchanged (step S116).

最後に、ステップS114と同様に、第2の書込バッファ5yをフラッシュして空にし(ステップS117)、処理し終えたバケットtを削除して(ステップS118)、ステップS101に戻る。   Finally, as in step S114, the second write buffer 5y is flushed and emptied (step S117), the processed bucket t is deleted (step S118), and the process returns to step S101.

次に、図10を参照しながら、登録要求を受信したときの要求受付部10Aの動作について説明する。
図10において、ステップS201、S202およびS204は、それぞれ、前述(図4参照)のステップS21、S22およびS24と同様の処理である。
Next, the operation of the request reception unit 10A when receiving a registration request will be described with reference to FIG.
In FIG. 10, steps S201, S202 and S204 are the same processes as steps S21, S22 and S24 described above (see FIG. 4), respectively.

まず、要求受付部10Aは、ステップS201で登録要求を受信すると、ステップS202で情報源登録テーブル9bを検索し、登録要求の情報源識別子Rが見付かった場合にはステップS205に進み、情報源識別子Rが見付からなかった場合にはステップS203に進む。   First, when receiving the registration request in step S201, the request receiving unit 10A searches the information source registration table 9b in step S202. If the information source identifier R of the registration request is found, the request receiving unit 10A proceeds to step S205. If R is not found, the process proceeds to step S203.

ステップS203においては、登録要求の情報源識別子Rに対応するレコードを初期化し、そのときの次回(初回)更新時刻t’を決定する。次回更新時刻t’は、前述のように、現在時刻tに所定定数(たとえば、「1」)、または所定範囲の乱数を加算して決定することができる。
続いて、ステップS204で情報源識別子Rを情報源登録テーブル9bに追加登録し、ステップS208に進む。
In step S203, the record corresponding to the information source identifier R of the registration request is initialized, and the next (first time) update time t ′ at that time is determined. As described above, the next update time t ′ can be determined by adding a predetermined constant (for example, “1”) or a predetermined range of random numbers to the current time t.
Subsequently, in step S204, the information source identifier R is additionally registered in the information source registration table 9b, and the process proceeds to step S208.

ステップS208においては、図9内のステップS109〜S115と同様に、次回更新時刻t’の値に応じて、第1または第2の書込バッファ5x、5yの末尾に情報源識別子Rに対応するレコードを書き込み、ステップS201に戻る。   In step S208, as in steps S109 to S115 in FIG. 9, the information source identifier R corresponds to the end of the first or second write buffer 5x, 5y according to the value of the next update time t ′. Write the record and return to step S201.

一方、ステップS205においては、情報源登録テーブル9b内の情報源識別子Rに対応する次回更新時刻92が棄却バケットを示しているか否かを判定し、棄却バケットを示す(すなわち、YES)と判定されればステップS206に進み、棄却バケットを示していない(すなわち、NO)と判定されればステップS201に戻る。   On the other hand, in step S205, it is determined whether or not the next update time 92 corresponding to the information source identifier R in the information source registration table 9b indicates a rejection bucket, and is determined to indicate the rejection bucket (that is, YES). If it is determined that the rejection bucket is not indicated (ie, NO), the process returns to step S201.

ステップS206においては、情報源識別子Rに対応する棄却バケットを末尾から走査し、情報源識別子Rに対応するレコードが最後に棄却された時点の値を取得する。
続いて、ステップS203と同様に、次回更新時刻t’の値を決定して(ステップS207)、ステップS208に進む。
In step S206, the rejection bucket corresponding to the information source identifier R is scanned from the end, and the value at the time when the record corresponding to the information source identifier R is finally rejected is acquired.
Subsequently, as in step S203, the value of the next update time t ′ is determined (step S207), and the process proceeds to step S208.

次に、図11を参照しながら、検索要求(検索対象情報源の情報源識別子Qを含む)を受信したときの要求受付部10Aの動作について説明する。
図11において、ステップS211は、前述(図10参照)のステップS201と同様の処理である。
Next, the operation of the request receiving unit 10A when a search request (including the information source identifier Q of the search target information source) is received will be described with reference to FIG.
In FIG. 11, step S211 is the same processing as step S201 described above (see FIG. 10).

まず、要求受付部10Aは、ステップS211で検索要求を受信すると、検索要求の情報源識別子Qに関して情報源登録テーブル9bを検索し(ステップS212)、情報源識別子Qが見付かった場合にはステップS213に進み、情報源識別子Qが見付からなかった場合にはステップS216に進む。   First, when receiving a search request in step S211, the request receiving unit 10A searches the information source registration table 9b for the information source identifier Q of the search request (step S212). If the information source identifier Q is found, step S213 is performed. If the information source identifier Q is not found, the process proceeds to step S216.

ステップS213においては、情報源登録テーブル9bから情報源識別子Qに対応する次回更新時刻92を取得して、「s」とする。
続いて、読込バッファ4、第1の書込バッファ5x、第2の書込バッファ5y、およびバケットsの順に、先頭から走査を行い、情報源識別子Qに対応するレコードを取得する(ステップS214)。
In step S213, the next update time 92 corresponding to the information source identifier Q is acquired from the information source registration table 9b and is set to “s”.
Subsequently, scanning is performed from the top in the order of the read buffer 4, the first write buffer 5x, the second write buffer 5y, and the bucket s, and a record corresponding to the information source identifier Q is acquired (step S214). .

ただし、次回更新時刻s=現在時刻tでない場合には、ステップS214において、読込バッファ4の走査処理をスキップすることができる。
以下、取得したレコードを要求元に送信して(ステップS215)、ステップS211に戻る。
一方、ステップS216においては、検索失敗通知を要求元に送信し、ステップS211に戻る。
However, if it is not the next update time s = current time t, the scanning process of the reading buffer 4 can be skipped in step S214.
Thereafter, the acquired record is transmitted to the request source (step S215), and the process returns to step S211.
On the other hand, in step S216, a search failure notification is transmitted to the request source, and the process returns to step S211.

次に、図12を参照しながら、更新要求(検索対象情報源の情報源識別子Uと、更新内容とを含む)を受信したときの要求受付部10Aの動作について説明する。
図12において、ステップS221は、前述(図11参照)のステップS211と同様の処理である。
Next, the operation of the request receiving unit 10A when receiving an update request (including the information source identifier U of the search target information source and the update content) will be described with reference to FIG.
In FIG. 12, step S221 is the same process as step S211 described above (see FIG. 11).

まず、要求受付部10Aは、ステップS221で検索要求を受信すると、更新要求の情報源識別子Uに関して情報源登録テーブル9bを検索し(ステップS222)、情報源識別子Uが見付かった場合にはステップS223に進み、情報源識別子Qが見付からなかった場合にはステップS221に戻る。   First, when receiving the search request in step S221, the request receiving unit 10A searches the information source registration table 9b for the information source identifier U of the update request (step S222). If the information source identifier U is found, the request receiving unit 10A performs step S223. If the information source identifier Q is not found, the process returns to step S221.

ステップS223においては、情報源登録テーブル9bから情報源識別子Uに対応する次回更新時刻92を取得して、「r」とする。
続いて、情報源識別子31を「U」、次回更新時刻32を「r」、更新内容37を更新要求に含まれる更新内容として、更新レコード30を構成し、次回更新時刻32の値rに応じて、適当なバッファに書き込む(ステップS224)。
In step S223, the next update time 92 corresponding to the information source identifier U is acquired from the information source registration table 9b and is set to “r”.
Subsequently, the update record 30 is configured with the information source identifier 31 as “U”, the next update time 32 as “r”, and the update content 37 as the update content included in the update request, in accordance with the value r of the next update time 32. Then, the data is written into an appropriate buffer (step S224).

すなわち、更新レコード30を、次回更新時刻r=現在時刻tであれば読込バッファ4に追加し、r=t+1であれば第1の書込バッファ5xに追加し、r>t+1であれば第2の書込バッファ5yに追加する。
なお、第1の書込バッファ5xおよび第2の書込バッファ5yが満杯であれば、図9内のステップS111、ステップS114と同様にフラッシュ処理を行う。以下、ステップS221に戻る。
That is, the update record 30 is added to the read buffer 4 if the next update time r = current time t, added to the first write buffer 5x if r = t + 1, and second if r> t + 1. To the write buffer 5y.
If the first write buffer 5x and the second write buffer 5y are full, flush processing is performed in the same manner as in steps S111 and S114 in FIG. Thereafter, the process returns to step S221.

以上のように、この発明の実施の形態3(図6)に係る周期更新データ管理システムは、記憶部1Aに接続された単一の読込バッファ4と、記憶部1Aに接続された第1および第2の書込バッファ5x、5yとを備え、更新処理部6Aは、処理対象バケットに格納されたすべての対象レコードを一括して読込バッファ4に読み込み、読込バッファ4内の各対象レコードについて、複数の情報源の中から対象レコードに対応する対象情報源を参照して、更新後の値および次回更新時刻を決定する。   As described above, the periodic update data management system according to Embodiment 3 (FIG. 6) of the present invention includes the single read buffer 4 connected to the storage unit 1A, the first and the second connected to the storage unit 1A, and The update processing unit 6A includes all the second write buffers 5x and 5y, and reads all target records stored in the processing target bucket into the read buffer 4 at once, and for each target record in the read buffer 4, The updated information and the next update time are determined by referring to the target information source corresponding to the target record from the plurality of information sources.

また、更新処理部6Aは、決定された次回更新時刻が現在時刻tよりも1単位だけ大きな値であって、かつ第1の書込バッファ5xにすでに所定数のレコードが格納されている場合には、第1の書込バッファ5x内のすべてのレコードを次回更新時刻に対応する領域の末尾に書き込んで、第1の書込バッファ5xを空にし、決定された次回更新時刻が現在時刻よりも1単位だけ大きな値である場合には、第1の書込バッファ5xの末尾にすべてのレコードの各々の更新後の値を格納する。   In addition, the update processing unit 6A determines that the next update time determined is a value larger by one unit than the current time t and a predetermined number of records are already stored in the first write buffer 5x. Writes all records in the first write buffer 5x to the end of the area corresponding to the next update time, emptyes the first write buffer 5x, and the determined next update time is greater than the current time. When the value is larger by one unit, the updated value of each record is stored at the end of the first write buffer 5x.

また、更新処理部6Aは、決定された次回更新時刻が現在時刻tよりも2単位以上大きな値であって、かつ第2の書込バッファ5yにすでに所定数のレコードが格納されている場合には、第2の書込バッファ5y内のすべてのレコードを次回更新時刻の順に、すべてのレコードの各々の次回更新時刻に対応する領域の末尾に書き込んで、第2の書込バッファ5yを空にし、決定された前記次回更新時刻が前記現在時刻よりも2単位以上大きな値である場合には、第2の書込バッファ5yの末尾にすべてのレコードの各々の更新後の値を格納し、読込バッファ4のすべてのレコードを処理し終えた後に、読込バッファ4と第1の書込バッファ5xとの役割を交換し、第2の書込バッファ5y内のすべてのレコードを次回更新時刻の順に、すべてのレコードの各々の次回更新時刻に対応する領域の末尾に書き込んで、第2の書込バッファ5yを空にしてから、処理対象バケットを削除する。   In addition, the update processing unit 6A determines that the next update time determined is a value that is two units or more larger than the current time t, and a predetermined number of records are already stored in the second write buffer 5y. Writes all the records in the second write buffer 5y in the order of the next update time to the end of the area corresponding to each next update time of all the records to empty the second write buffer 5y. If the determined next update time is 2 units or more larger than the current time, the updated values of all the records are stored at the end of the second write buffer 5y and read. After all the records in the buffer 4 have been processed, the roles of the read buffer 4 and the first write buffer 5x are exchanged, and all the records in the second write buffer 5y are changed in the order of the next update time. all Writing at the end of the area corresponding to the next update time of each record, after the second write buffer 5y empty, delete the processed bucket.

このように、次々回以降に処理対象となるすべてのバケットに書き込まれるレコードを一時的に格納する第2の書込バッファ5yを備えることにより、前述(図1)のようにバケットごとに書込バッファ5a、5b、・・・を用意した場合と比較して、書込バッファごとの使用率の違いによる記憶効率の低下を防ぐことができ、記憶部1A(磁気ディスク装置)への書き込み頻度を抑制することができる。   Thus, by providing the second write buffer 5y that temporarily stores records to be written in all buckets to be processed after the next time, the write buffer for each bucket as described above (FIG. 1). Compared to the case where 5a, 5b,... Are prepared, it is possible to prevent a decrease in storage efficiency due to a difference in usage rate for each write buffer, and to suppress the frequency of writing to the storage unit 1A (magnetic disk device). can do.

また、更新処理部6Aは、第2の書込バッファ5yに格納されたレコードを複数のバケット2に振り分けて書き込む際に、次回更新時刻ごと、すなわちバケットごとにレコードを並べ替えて処理する(ステップS114、S117)ので、シーケンシャルアクセスに近い性能を得ることができる。   Further, when the update processing unit 6A distributes and writes the records stored in the second write buffer 5y to the plurality of buckets 2, the records are rearranged and processed for each next update time, that is, for each bucket (step). S114, S117), performance close to sequential access can be obtained.

また、次回処理対象となるバケットに書き込まれるレコードを一時的に格納する第1の書込バッファ5xを備え、処理対象バケットの切り換え時に、第1の書込バッファ5xを新たな読込バッファとする(ステップS116)ので、次回処理対象バケットへの書き込みと再読み込みによるオーバーヘッドを低減することができる。   In addition, a first write buffer 5x that temporarily stores records to be written in the bucket to be processed next time is provided, and the first write buffer 5x is set as a new read buffer when the processing target bucket is switched ( Since step S116), it is possible to reduce overhead due to writing to the next processing target bucket and rereading.

また、この発明の実施の形態3によれば、第2の記憶部8A内の情報源登録テーブル9bは、各情報源に対応するレコードが格納されているバケット(領域)を識別するための領域識別情報(次回更新時刻)を含み、更新処理部6Aおよび要求受付部10Aは、複数の情報源のいずれかに対応するレコードを記憶部1A内の複数のバケット(領域)2のいずれかに書き込む際に、情報源登録テーブル9bのそのレコードに対応する領域識別情報を更新する。   According to Embodiment 3 of the present invention, the information source registration table 9b in the second storage unit 8A is an area for identifying a bucket (area) in which a record corresponding to each information source is stored. The update processing unit 6A and the request receiving unit 10A include identification information (next update time), and write a record corresponding to one of the plurality of information sources to one of the plurality of buckets (areas) 2 in the storage unit 1A. At this time, the area identification information corresponding to the record in the information source registration table 9b is updated.

また、要求受付部10Aは、識別子を含む検索要求を受け付け、その識別子が情報源登録テーブル9bに格納されている場合には、その識別子に対応するバケット(領域)を走査してその識別子に対応するレコードを読み込み、そのレコードの内容を検索要求の要求元に返信する。   Further, the request accepting unit 10A accepts a search request including an identifier. When the identifier is stored in the information source registration table 9b, the request accepting unit 10A scans a bucket (area) corresponding to the identifier and corresponds to the identifier. The record to be read is read, and the contents of the record are returned to the requester of the search request.

このように、情報源登録テーブル9bにおいて、情報源識別子とともに次回更新時刻を格納することにより、すべてのバケットを走査することなく、情報源に対応するレコードの内容を検索することができる。   In this manner, by storing the next update time together with the information source identifier in the information source registration table 9b, the contents of the record corresponding to the information source can be searched without scanning all buckets.

また、この発明の実施の形態3によれば、要求受付部10Aは、複数の情報源のいずれかに対応する識別子と、その情報源に対応するレコードに対する更新内容とを含む更新要求を受け付け、識別子が情報源登録テーブル9bに格納されている場合には、その識別子に対応するバケット(領域)の末尾にその更新要求を書き込む。   Further, according to the third embodiment of the present invention, the request receiving unit 10A receives an update request including an identifier corresponding to one of the plurality of information sources and an update content for the record corresponding to the information source, If the identifier is stored in the information source registration table 9b, the update request is written at the end of the bucket (area) corresponding to the identifier.

また、更新処理部6Aは、処理対象バケットに格納されたレコードおよび更新要求を識別子の順に処理し、対応する情報源を参照した結果と、更新要求とに基づいてレコードの更新後の値を決定する。
このように、バケット2a〜2cには、通常のレコード3に加えて、更新レコード30を格納し、更新処理部6Aでその処理(ステップS105)を行うことにより、情報源に対応するレコードの内容を外部から更新することができる。
Further, the update processing unit 6A processes the records stored in the processing target bucket and the update request in the order of identifiers, and determines an updated value of the record based on the result of referring to the corresponding information source and the update request. To do.
In this way, in addition to the normal record 3, the update records 30 are stored in the buckets 2a to 2c, and the update processing unit 6A performs the processing (step S105), whereby the contents of the records corresponding to the information sources are stored. Can be updated externally.

また、この発明の実施の形態3によれば、第2の記憶部8Aは、複数のレコードを格納する棄却バケット12a、12bを有し、更新処理部6Aは、レコードの更新後の値が所定条件を満たす場合には、そのレコードを棄却バケットの末尾に書き込むとともに、情報源登録テーブル9bのそのレコードに対応する領域識別情報を棄却バケットに設定する。   Further, according to Embodiment 3 of the present invention, the second storage unit 8A has the rejection buckets 12a and 12b for storing a plurality of records, and the update processing unit 6A has a predetermined value after updating the records. If the condition is satisfied, the record is written at the end of the rejection bucket, and the area identification information corresponding to the record in the information source registration table 9b is set in the rejection bucket.

また、要求受付部10Aは、受け付けた登録要求の情報源識別子が情報源登録テーブル9bに格納されており、かつ対応する領域識別情報が棄却バケットを示している場合には、棄却バケットを走査してその識別子に対応するレコードの値を読み込み、そのレコードの値に基づいてそのレコードを再設定して、複数のバケット2のうちの1つ、または書込バッファの1つの末尾に書き込むとともに、情報源登録テーブル9bのそのレコードに対応する領域識別情報を更新する。   Further, the request receiving unit 10A scans the rejection bucket when the information source identifier of the received registration request is stored in the information source registration table 9b and the corresponding region identification information indicates the rejection bucket. The value of the record corresponding to the identifier is read, the record is reset based on the value of the record, and written to one of the plurality of buckets 2 or one end of the write buffer. The area identification information corresponding to the record of the source registration table 9b is updated.

このように、棄却バケット12a、12b、・・・を有し、棄却されたレコードの値を棄却バケットに格納するとともに、棄却レコードの格納先を情報源登録テーブル9bに記録する(ステップS108)ことにより、要求受付部10Aが登録要求を受け付けた際に、棄却済みレコードを棄却時点の値で再登録することができる。   In this way, it has rejection buckets 12a, 12b,... And stores the value of the rejected record in the rejection bucket and records the storage location of the rejection record in the information source registration table 9b (step S108). Thus, when the request receiving unit 10A receives the registration request, the rejected record can be re-registered with the value at the time of rejection.

なお、上記実施の形態3では、第1および第2の書込バッファ5x、5yを用いたが、第1の書込バッファ5xを用いず、次回更新時刻t+1のレコードをも合わせて第2の書込バッファ(単一の書込バッファ)5yに書き込んでもよい。
この場合、周期更新データ管理システムは、記憶部1Aに接続された単一の読込バッファ4と、記憶部1Aに接続された単一の書込バッファ5yとを備え、更新処理部6Aは、処理対象バケットに格納されたすべての対象レコードを一括して読込バッファ4に読み込み、読込バッファ4内の各対象レコードについて、複数の情報源の中から対象レコードに対応する対象情報源を参照して、更新後の値および次回更新時刻を決定する。
In the third embodiment, the first and second write buffers 5x and 5y are used. However, the first write buffer 5x is not used, and the second update time t + 1 is added to the second update buffer t. You may write in the write buffer (single write buffer) 5y.
In this case, the periodic update data management system includes a single read buffer 4 connected to the storage unit 1A and a single write buffer 5y connected to the storage unit 1A. All the target records stored in the target bucket are collectively read into the read buffer 4, and for each target record in the read buffer 4, refer to the target information source corresponding to the target record from the plurality of information sources, The updated value and the next update time are determined.

また、更新処理部6Aは、書込バッファ5yにすでに所定数のレコードが格納されている場合には、書込バッファ5y内のすべてのレコードを次回更新時刻の順に、すべてのレコードの各々の次回更新時刻に対応する領域の末尾に書き込んで、書込バッファ5yを空にしてから、書込バッファ5yの末尾に対象レコードの更新後の値を格納する。   Further, when a predetermined number of records are already stored in the write buffer 5y, the update processing unit 6A changes all the records in the write buffer 5y in the order of the next update time to the next of all the records. After writing at the end of the area corresponding to the update time and emptying the write buffer 5y, the updated value of the target record is stored at the end of the write buffer 5y.

また、更新処理部6Aは、読込バッファ4のすべてのレコードを処理し終えた後に、書込バッファ5yが空でない場合には、書込バッファ5y内のすべてのレコードを次回更新時刻の順に、すべてのレコードの各々の次回更新時刻に対応する領域の末尾に書き込んで、書込バッファ5yを空にしてから、処理対象バッファを削除する。   If the write buffer 5y is not empty after processing all the records in the read buffer 4, the update processing unit 6A deletes all the records in the write buffer 5y in the order of the next update time. Is written at the end of the area corresponding to the next update time of each record, the write buffer 5y is emptied, and then the processing target buffer is deleted.

これにより、次回処理対象バケットのレコードの一部に対する書き込みおよび読み込みを回避する効果は得られないが、前述(図1)のようにバケット2ごとに書込バッファ5a、5b、・・・を用意した場合の記憶効率の低下を防ぐことができ、記憶部1A(磁気ディスク装置)への書き込み頻度を抑制する効果は維持される。   As a result, the effect of avoiding writing and reading to a part of the record of the bucket to be processed next time cannot be obtained, but write buffers 5a, 5b,... Are prepared for each bucket 2 as described above (FIG. 1). In this case, it is possible to prevent the storage efficiency from being lowered, and the effect of suppressing the frequency of writing to the storage unit 1A (magnetic disk device) is maintained.

また、上記実施の形態1〜3では、次回更新時刻の単位を固定(たとえば、1日に設定)したが、たとえば1日以内の更新については、1時間単位、1日以上後の更新については、1日単位、のように単位を可変設定してもよい。   In the first to third embodiments, the unit of the next update time is fixed (for example, set to one day). For example, for updates within one day, for updates after one hour, one day or more. The unit may be variably set such as one day unit.

このように、次回更新時刻の時間分解能に対応する単位を、現在時刻との差の大きさに応じて異なる値に設定することにより、最短更新周期を小さくしながら、非常に小さなバケットが多数必要になることを回避し、記憶部1A(磁気ディスク)へのアクセス効率および更新速度の向上を両立させることができる。   In this way, by setting the unit corresponding to the time resolution of the next update time to a different value depending on the difference from the current time, many very small buckets are required while reducing the shortest update cycle. Therefore, the access efficiency to the storage unit 1A (magnetic disk) and the update speed can be improved at the same time.

さらに、上記実施の形態1〜3では、記憶部1Aとして磁気ディスク装置を用い、情報源7a〜7cとしてWebページやファイルを用いたが、記憶部1Aとしてフラッシュメモリを用い、情報源7a〜7cとして通信機能を有するセンサ素子を用いてもよい。
たとえば、情報源7a〜7cとして通信機能を有するセンサ素子を用いた場合、更新処理部6、6Aは、処理対象バッファ内の対象レコードに対応するセンサ素子からデータを取得して、対象レコードの更新後の値を決定し、要求受付部10、10Aは、センサ素子からの登録要求を受け付けることになる。
Further, in the first to third embodiments, a magnetic disk device is used as the storage unit 1A and a Web page or file is used as the information sources 7a to 7c. However, a flash memory is used as the storage unit 1A and the information sources 7a to 7c are used. A sensor element having a communication function may be used.
For example, when sensor elements having a communication function are used as the information sources 7a to 7c, the update processing units 6 and 6A acquire data from the sensor elements corresponding to the target records in the processing target buffer, and update the target records. The subsequent values are determined, and the request receiving units 10 and 10A receive a registration request from the sensor element.

一般に、フラッシュメモリは、純粋なランダムアクセスには適さないが、ブロック単位でのアクセスが機能面や性能面から要求されるので、バケット2a〜2cとしてフラッシュメモリのブロックを用いることにより、これらの制約による性能低下を回避することができる。   In general, the flash memory is not suitable for pure random access, but access in units of blocks is required from the viewpoint of function and performance. Therefore, by using the blocks of the flash memory as the buckets 2a to 2c, these restrictions are imposed. Performance degradation due to can be avoided.

また、この場合、レコード3の最終状態33(図2、図8参照)には、センサ素子から取得したデータ値自体を格納し、更新処理手段6、6Aは、ステップ5、S106(図3、図9参照)において、最終状態33の値の変化率(単位時間当たり)に比例して次回更新時刻を決定することもできる。
さらに、要求受付部10、10Aは、センサ素子自体からの登録要求を受け付けることにより、センサ素子がアドホック(ad hoc)に追加設置される環境にも対応することができる。
In this case, the final value 33 (see FIGS. 2 and 8) of the record 3 stores the data value itself acquired from the sensor element, and the update processing means 6 and 6A perform steps 5, S106 (FIG. 3, FIG. 3). 9), the next update time can be determined in proportion to the rate of change (per unit time) of the value of the final state 33.
Furthermore, the request receiving units 10 and 10A can cope with an environment in which the sensor element is additionally installed in an ad hoc by receiving a registration request from the sensor element itself.

この発明の実施の形態1に係る周期更新データ管理システムを示すブロック構成図である。It is a block block diagram which shows the periodic update data management system which concerns on Embodiment 1 of this invention. この発明の実施の形態1によるバケット内のレコードに含まれる情報を詳細に示す説明図である。It is explanatory drawing which shows in detail the information contained in the record in the bucket by Embodiment 1 of this invention. この発明の実施の形態1による更新処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the update process part by Embodiment 1 of this invention. この発明の実施の形態1による要求受付部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the request | requirement reception part by Embodiment 1 of this invention. この発明の実施の形態2による更新処理部の要部動作を示すフローチャートである。It is a flowchart which shows the principal part operation | movement of the update process part by Embodiment 2 of this invention. この発明の実施の形態3に係る周期更新データ管理システムを示すブロック構成図である。It is a block block diagram which shows the periodic update data management system which concerns on Embodiment 3 of this invention. この発明の実施の形態3による情報源登録テーブルを詳細に示す説明図である。It is explanatory drawing which shows the information source registration table by Embodiment 3 of this invention in detail. この発明の実施の形態3によるバケット内のレコードに含まれる情報を詳細に示す説明図である。It is explanatory drawing which shows in detail the information contained in the record in the bucket by Embodiment 3 of this invention. この発明の実施の形態3による更新処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the update process part by Embodiment 3 of this invention. この発明の実施の形態3による登録要求受信時の要求受付部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the request | requirement reception part at the time of the registration request reception by Embodiment 3 of this invention. この発明の実施の形態3による検索要求受信時の要求受付部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the request | requirement reception part at the time of the search request reception by Embodiment 3 of this invention. この発明の実施の形態3による更新要求受信時の要求受付部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the request | requirement reception part at the time of the update request reception by Embodiment 3 of this invention.

符号の説明Explanation of symbols

1、1A 記憶部、2、2a〜2c バケット(領域)、3 レコード、4 読込バッファ、5a、5b 書込バッファ、5x 第1の書込バッファ、5y 第2の書込バッファ、6、6A 更新処理部、7a〜7c 情報源、8、8A 第2の記憶部、9a、9b 情報源登録テーブル、10、10A 要求受付部、11 制御端末、12a、12b 棄却バケット。   1, 1A storage unit, 2, 2a to 2c bucket (area), 3 records, 4 read buffer, 5a, 5b write buffer, 5x first write buffer, 5y second write buffer, 6, 6A update Processing unit, 7a to 7c Information source, 8, 8A Second storage unit, 9a, 9b Information source registration table, 10, 10A Request receiving unit, 11 Control terminal, 12a, 12b Rejection bucket.

Claims (19)

記憶部と更新処理部とを備えた周期更新データ管理システムであって、
前記記憶部は、外部の複数の情報源と1対1に対応する複数のレコードを、各々の次回更新時刻に基づいて異なる複数の領域に格納し、
前記更新処理部は、
前記複数の領域のうち、現在時刻に対応するものを処理対象領域として選択し、
前記処理対象領域内の対象レコードについて、前記複数の情報源の中から前記対象レコードに対応する対象情報源を参照し、前記対象情報源から取得した取得情報に基づいて、前記対象レコードの更新後の値を決定するとともに、
前記取得情報の前回参照時からの変化の有無または大きさに基づいて、前記対象レコードの次回更新時刻を決定し、
決定された前記次回更新時刻に対応する領域の末尾に、前記対象レコードの更新後の値を格納し、
前記処理対象領域内のすべての対象レコードを処理し終えた後に、前記処理対象領域を削除することを特徴とする周期更新データ管理システム。
A periodic update data management system comprising a storage unit and an update processing unit,
The storage unit stores a plurality of records corresponding one-to-one with a plurality of external information sources in a plurality of different areas based on respective next update times,
The update processing unit
Among the plurality of areas, the one corresponding to the current time is selected as a processing target area,
For the target record in the processing target area, refer to the target information source corresponding to the target record from the plurality of information sources, and after updating the target record based on the acquired information acquired from the target information source And determine the value of
Based on the presence or absence of the change from the previous reference time of the acquired information or the size, determine the next update time of the target record,
Store the updated value of the target record at the end of the area corresponding to the determined next update time,
The periodic update data management system, wherein after all the target records in the processing target area have been processed, the processing target area is deleted.
前記記憶部に接続された単一の読込バッファと、
前記記憶部内の複数の領域と1対1に対応する所定容量の複数の書込バッファとを備え、
前記更新処理部は、
前記処理対象領域に格納されたすべての対象レコードを一括して前記読込バッファに読み込み、
前記読込バッファ内の各対象レコードについて、前記複数の情報源の中から前記対象レコードに対応する対象情報源を参照して、前記更新後の値および前記次回更新時刻を決定するとともに、
決定された前記次回更新時刻に対応する第1の書込バッファを、前記複数の書込バッファから選択し、
前記第1の書込バッファにすでに所定容量のレコードが格納されている場合には、
前記第1の書込バッファ内のすべてのレコードを前記第1の書込バッファに対応する領域の末尾に書き込んで、前記第1の書込バッファを空にしてから、
前記第1の書込バッファの末尾に前記対象レコードの更新後の値を格納し、
前記読込バッファのすべてのレコードを処理し終えた後に、
次に処理対象となる次回処理対象領域に対応する第2の書込バッファ内のすべての次回対象レコードを、前記次回処理対象領域の末尾に書き込んで、前記第2の書込バッファを空にしてから、
前記第2の書込バッファおよび前記処理対象領域を削除することを特徴とする請求項1に記載の周期更新データ管理システム。
A single read buffer connected to the storage unit;
A plurality of areas in the storage unit and a plurality of write buffers having a predetermined capacity corresponding to one-to-one;
The update processing unit
Read all target records stored in the processing target area into the reading buffer in a batch,
For each target record in the read buffer, referring to the target information source corresponding to the target record from among the plurality of information sources, determining the updated value and the next update time,
A first write buffer corresponding to the determined next update time is selected from the plurality of write buffers;
If a record of a predetermined capacity is already stored in the first write buffer,
Writing all records in the first write buffer to the end of the area corresponding to the first write buffer, emptying the first write buffer,
Storing the updated value of the target record at the end of the first write buffer;
After processing all records in the read buffer,
Next, all the next target records in the second write buffer corresponding to the next processing target area to be processed are written at the end of the next processing target area, and the second write buffer is emptied. From
The periodic update data management system according to claim 1, wherein the second write buffer and the processing target area are deleted.
前記更新処理部は、
前記読込バッファのすべてのレコードを処理し終えた後に、
前記次回処理対象領域に対応する第2の書込バッファを新たな読込バッファとし、
元の前記読込バッファおよび前記処理対象領域を削除することを特徴とする請求項2に記載の周期更新データ管理システム。
The update processing unit
After processing all records in the read buffer,
The second write buffer corresponding to the next processing target area as a new read buffer,
3. The periodic update data management system according to claim 2, wherein the original read buffer and the processing target area are deleted.
前記記憶部に接続された単一の読込バッファと、
前記記憶部に接続された単一の書込バッファとを備え、
前記更新処理部は、
前記処理対象領域に格納されたすべての対象レコードを一括して前記読込バッファに読み込み、
前記読込バッファ内の各対象レコードについて、前記複数の情報源の中から前記対象レコードに対応する対象情報源を参照して、前記更新後の値および前記次回更新時刻を決定するとともに、
前記書込バッファにすでに所定数のレコードが格納されている場合には、
前記書込バッファ内のすべてのレコードを前記次回更新時刻の順に、前記すべてのレコードの各々の次回更新時刻に対応する領域の末尾に書き込んで、前記書込バッファを空にしてから、
前記書込バッファの末尾に前記対象レコードの更新後の値を格納し、
前記読込バッファのすべてのレコードを処理し終えた後に、
前記書込バッファが空でない場合には、
前記書込バッファ内のすべてのレコードを前記次回更新時刻の順に、前記すべてのレコードの各々の次回更新時刻に対応する領域の末尾に書き込んで、前記書込バッファを空にしてから、
前記処理対象領域を削除することを特徴とする請求項1に記載の周期更新データ管理システム。
A single read buffer connected to the storage unit;
A single write buffer connected to the storage unit,
The update processing unit
Read all target records stored in the processing target area into the reading buffer in a batch,
For each target record in the read buffer, referring to the target information source corresponding to the target record from among the plurality of information sources, determining the updated value and the next update time,
When a predetermined number of records are already stored in the write buffer,
Write all the records in the write buffer in the order of the next update time to the end of the area corresponding to the next update time of each of all the records, empty the write buffer,
Store the updated value of the target record at the end of the write buffer;
After processing all records in the read buffer,
If the write buffer is not empty,
Write all the records in the write buffer in the order of the next update time to the end of the area corresponding to the next update time of each of all the records, empty the write buffer,
The periodic update data management system according to claim 1, wherein the processing target area is deleted.
前記記憶部に接続された単一の読込バッファと、
前記記憶部に接続された第1および第2の書込バッファとを備え、
前記更新処理部は、前記処理対象領域に格納されたすべての対象レコードを一括して前記読込バッファに読み込み、
前記読込バッファ内の各対象レコードについて、前記複数の情報源の中から前記対象レコードに対応する対象情報源を参照して、前記更新後の値および前記次回更新時刻を決定するとともに、
決定された前記次回更新時刻が前記現在時刻よりも1単位だけ大きな値であって、かつ前記第1の書込バッファにすでに所定数のレコードが格納されている場合には、
前記第1の書込バッファ内のすべてのレコードを前記次回更新時刻に対応する領域の末尾に書き込んで、前記第1の書込バッファを空にし、決定された前記次回更新時刻が前記現在時刻よりも1単位だけ大きな値である場合には、
前記第1の書込バッファの末尾に前記すべてのレコードの各々の更新後の値を格納し、
決定された前記次回更新時刻が前記現在時刻よりも2単位以上大きな値であって、かつ前記第2の書込バッファにすでに所定数のレコードが格納されている場合には、
前記第2の書込バッファ内のすべてのレコードを前記次回更新時刻の順に、前記すべてのレコードの各々の次回更新時刻に対応する領域の末尾に書き込んで、前記第2の書込バッファを空にし、決定された前記次回更新時刻が前記現在時刻よりも2単位以上大きな値である場合には、
前記第2の書込バッファの末尾に前記すべてのレコードの各々の更新後の値を格納し、
前記読込バッファのすべてのレコードを処理し終えた後に、
前記読込バッファと前記第1の書込バッファとの役割を交換し、
前記第2の書込バッファ内のすべてのレコードを前記次回更新時刻の順に、前記すべてのレコードの各々の次回更新時刻に対応する領域の末尾に書き込んで、前記第2の書込バッファを空にしてから、
前記処理対象領域を削除することを特徴とする請求項1に記載の周期更新データ管理システム。
A single read buffer connected to the storage unit;
First and second write buffers connected to the storage unit,
The update processing unit reads all target records stored in the processing target area into the reading buffer in a batch,
For each target record in the read buffer, referring to the target information source corresponding to the target record from among the plurality of information sources, determining the updated value and the next update time,
When the determined next update time is a value larger by one unit than the current time and a predetermined number of records are already stored in the first write buffer,
All records in the first write buffer are written at the end of the area corresponding to the next update time, the first write buffer is emptied, and the determined next update time is greater than the current time Is also a value larger by one unit,
Storing updated values of each of all the records at the end of the first write buffer;
When the determined next update time is a value larger by 2 units or more than the current time and a predetermined number of records are already stored in the second write buffer,
All the records in the second write buffer are written in the order of the next update time to the end of the area corresponding to the next update time of each of all the records, and the second write buffer is emptied. When the determined next update time is 2 units or more larger than the current time,
Storing updated values of each of all the records at the end of the second write buffer;
After processing all records in the read buffer,
Exchanging roles of the read buffer and the first write buffer;
All the records in the second write buffer are written in the order of the next update time to the end of the area corresponding to the next update time of each of all the records, and the second write buffer is emptied. After
The periodic update data management system according to claim 1, wherein the processing target area is deleted.
前記次回更新時刻の時間分解能に対応する単位は、前記現在時刻との差の大きさに応じて異なる値に設定されたことを特徴とする請求項1から請求項5までのいずれか1項に記載の周期更新データ管理システム。   The unit corresponding to the time resolution of the next update time is set to a different value in accordance with the magnitude of the difference from the current time. The periodic update data management system described. 前記更新処理部は、
前記レコードの更新後の値が所定条件を満たす場合には、
前記レコードを前記複数の領域または前記書込バッファのいずれにも書き込まないことを特徴とする請求項1から請求項6までのいずれか1項に記載の周期更新データ管理システム。
The update processing unit
When the updated value of the record satisfies a predetermined condition,
The periodic update data management system according to any one of claims 1 to 6, wherein the record is not written to any of the plurality of areas or the write buffer.
前記記憶部とは異なる第2の記憶部と、
前記第2の記憶部に接続された要求受付部とを備え、
前記第2の記憶部は、前記記憶部に格納されたすべてのレコードに対応する各情報源の識別子を格納する情報源登録テーブルを有し、
前記要求受付部は、
前記複数の情報源のいずれか1つに対応する識別子を含む登録要求を受け付け、前記識別子が前記情報源登録テーブルに格納されていない場合には、前記識別子を前記情報源登録テーブルに追加するとともに、
前記識別子に対応するレコードを所定値に初期化して、前記記憶部内の複数の領域のうちの1つ、または前記書込バッファの1つの末尾に書き込むことを特徴とする請求項1から請求項7までのいずれか1項に記載の周期更新データ管理システム。
A second storage unit different from the storage unit;
A request receiving unit connected to the second storage unit,
The second storage unit has an information source registration table that stores identifiers of information sources corresponding to all records stored in the storage unit,
The request receiving unit
When a registration request including an identifier corresponding to any one of the plurality of information sources is received and the identifier is not stored in the information source registration table, the identifier is added to the information source registration table. ,
It initializes the record corresponding to the identifier to a predetermined value, claims 1 to 7 in which one of a plurality of regions, or to write to one end of the write buffer, wherein in said storage unit The periodic update data management system according to any one of the preceding items.
前記情報源登録テーブルは、前記各情報源に対応するレコードが格納されている領域を識別するための領域識別情報を含み、
前記更新処理部および前記要求受付部は、
前記複数の情報源のいずれかに対応するレコードを前記記憶部内の複数の領域のいずれかに書き込む際に、前記情報源登録テーブルの前記レコードに対応する領域識別情報を更新し、
前記要求受付部は、
前記識別子を含む検索要求を受け付け、前記識別子が前記情報源登録テーブルに格納されている場合には、前記識別子に対応する領域を走査して前記識別子に対応するレコードを読み込み、前記レコードの内容を前記検索要求の要求元に返信することを特徴とする請求項8に記載の周期更新データ管理システム。
The information source registration table includes area identification information for identifying an area in which a record corresponding to each information source is stored,
The update processing unit and the request receiving unit are:
When writing a record corresponding to any of the plurality of information sources to any of the plurality of areas in the storage unit, update the area identification information corresponding to the record of the information source registration table,
The request receiving unit
When a search request including the identifier is received and the identifier is stored in the information source registration table, the area corresponding to the identifier is scanned to read the record corresponding to the identifier, and the content of the record is 9. The periodic update data management system according to claim 8 , wherein a reply is made to the request source of the search request.
前記要求受付部は、
前記複数の情報源のいずれかに対応する識別子と、前記情報源に対応するレコードに対する更新内容とを含む更新要求を受け付け、
前記識別子が前記情報源登録テーブルに格納されている場合には、
前記識別子に対応する領域の末尾に更新要求を書き込み、
前記更新処理部は、前記処理対象領域に格納されたレコードおよび更新要求を前記識別子の順に処理し、
対応する情報源を参照した結果と、更新要求とに基づいてレコードの更新後の値を決定することを特徴とする請求項9に記載の周期更新データ管理システム。
The request receiving unit
Receiving an update request including an identifier corresponding to one of the plurality of information sources and an update content for a record corresponding to the information source;
When the identifier is stored in the information source registration table,
Write an update request at the end of the area corresponding to the identifier,
The update processing unit processes records and update requests stored in the processing target area in the order of the identifiers,
10. The periodic update data management system according to claim 9 , wherein the updated value of the record is determined based on the result of referring to the corresponding information source and the update request.
前記更新処理部は、
前記レコードの更新後の値が所定条件を満たす場合には、
前記レコードを前記複数の領域または前記書込バッファのいずれにも書き込まず、
前記レコードに対応する識別子を前記情報源登録テーブルから削除することを特徴とする請求項8から請求項10までのいずれか1項に記載の周期更新データ管理システム。
The update processing unit
When the updated value of the record satisfies a predetermined condition,
Not writing the record to any of the plurality of regions or the write buffer;
The periodic update data management system according to any one of claims 8 to 10 , wherein an identifier corresponding to the record is deleted from the information source registration table.
前記第2の記憶部は、複数のレコードを格納する棄却領域を有し、
前記更新処理部は、
前記レコードの更新後の値が所定条件を満たす場合には、
前記レコードを前記棄却領域の末尾に書き込むとともに、
前記情報源登録テーブルの前記レコードに対応する領域識別情報を前記棄却領域に設定し、
前記要求受付部は、
受け付けた登録要求の情報源識別子が前記情報源登録テーブルに格納されており、かつ対応する領域識別情報が前記棄却領域を示している場合には、
前記棄却領域を走査して前記識別子に対応するレコードの値を読み込み、前記レコードの値に基づいて前記レコードを再設定して、前記複数の領域のうちの1つ、または前記書込バッファの1つの末尾に書き込むとともに、
前記情報源登録テーブルのレコードに対応する領域識別情報を更新することを特徴とする請求項9または請求項10に記載の周期更新データ管理システム。
The second storage unit has a rejection area for storing a plurality of records,
The update processing unit
When the updated value of the record satisfies a predetermined condition,
Write the record at the end of the rejection area,
Set the area identification information corresponding to the record of the information source registration table in the rejection area,
The request receiving unit
When the information source identifier of the accepted registration request is stored in the information source registration table and the corresponding area identification information indicates the rejection area,
The rejection area is scanned to read the value of the record corresponding to the identifier, the record is reset based on the value of the record, and one of the plurality of areas or one of the write buffers Write at the end of
The period update data management system according to claim 9 or 10 , wherein region identification information corresponding to a record of the information source registration table is updated.
前記更新処理部は、
前記処理対象領域の所定数のレコードを処理し終えたか、前記処理対象領域の処理開始から所定時間が経過した際に、
未処理のレコードに対応する情報源を参照せずに、前記次回更新時刻を所定値に更新して、前記複数の領域のうちの1つ、または前記書込バッファの1つの末尾に書き込むことを特徴とする請求項1から請求項12までのいずれか1項に記載の周期更新データ管理システム。
The update processing unit
When a predetermined number of records in the processing target area have been processed, or when a predetermined time has passed since the processing start of the processing target area,
Without referring to an information source corresponding to an unprocessed record, the next update time is updated to a predetermined value and written to one end of the plurality of areas or one end of the write buffer. The periodic update data management system according to any one of claims 1 to 12, characterized in that:
前記更新処理部は、前記処理対象領域の各レコードを優先度順に処理することを特徴とする請求項13に記載の周期更新データ管理システム。   The periodic update data management system according to claim 13, wherein the update processing unit processes each record of the processing target area in order of priority. 前記記憶部は、磁気ディスク装置であることを特徴とする請求項1から請求項14までのいずれか1項に記載の周期更新データ管理システム。   The periodic update data management system according to any one of claims 1 to 14, wherein the storage unit is a magnetic disk device. 前記記憶部は、フラッシュメモリであることを特徴とする請求項1から請求項14までのいずれか1項に記載の周期更新データ管理システム。   The periodic update data management system according to any one of claims 1 to 14, wherein the storage unit is a flash memory. 前記情報源は、Webサイト上のWebページであり、
前記情報源の識別子は、WebページのURLであり、
前記更新処理部は、
前記処理対象領域内の対象レコードに対応するWebページの内容をダウンロードして、前記対象レコードの更新後の値を決定するとともに、
前記対象レコードに対応するWebページからリンクを抽出して、得られたURLの各々を登録要求として前記要求受付部に送付することを特徴とする請求項8から請求項12までのいずれか1項に記載の周期更新データ管理システム。
The information source is a web page on a website,
The identifier of the information source is a URL of a web page,
The update processing unit
Download the contents of the web page corresponding to the target record in the processing target area, determine the updated value of the target record,
Extracting a link from a Web page corresponding to the target record any one of claims 8, characterized in that sending said request receiving unit each of the resulting URL as registration request to claim 12 The periodic update data management system described in 1.
前記情報源は、ファイルサーバ上のファイルであり、
前記情報源の識別子は、前記ファイルのパス名であり、
前記更新処理部は、
前記処理対象領域内の対象レコードに対応するファイルの内容をダウンロードして、前記対象レコードの更新後の値を決定するとともに、
前記対象レコードに対応するファイルがディレクトリである場合には、前記ディレクトリ内のファイルおよびサブディレクトリの各パス名を登録要求として前記要求受付部に送付することを特徴とする請求項8から請求項12までのいずれか1項に記載の周期更新データ管理システム。
The information source is a file on a file server;
The identifier of the information source is a path name of the file,
The update processing unit
Download the contents of the file corresponding to the target record in the processing target area, determine the updated value of the target record,
Wherein when a file that corresponds to the target record is a directory, claim from claim 8, characterized in that sending said request receiving unit each path name of the file and subdirectories in the directory as a registration request 12 The periodic update data management system according to any one of the preceding items.
前記情報源は、通信機能を有するセンサ素子であり、
前記更新処理部は、前記処理対象領域内の対象レコードに対応するセンサ素子からデータを取得して、前記対象レコードの更新後の値を決定し、
前記要求受付部は、前記センサ素子からの登録要求を受け付けることを特徴とする請求項8から請求項12までのいずれか1項に記載の周期更新データ管理システム。
The information source is a sensor element having a communication function,
The update processing unit obtains data from a sensor element corresponding to a target record in the processing target region, determines an updated value of the target record,
The periodic update data management system according to any one of claims 8 to 12, wherein the request reception unit receives a registration request from the sensor element.
JP2008066035A 2008-03-14 2008-03-14 Cyclic update data management system Active JP5247192B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008066035A JP5247192B2 (en) 2008-03-14 2008-03-14 Cyclic update data management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008066035A JP5247192B2 (en) 2008-03-14 2008-03-14 Cyclic update data management system

Publications (2)

Publication Number Publication Date
JP2009223507A JP2009223507A (en) 2009-10-01
JP5247192B2 true JP5247192B2 (en) 2013-07-24

Family

ID=41240236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008066035A Active JP5247192B2 (en) 2008-03-14 2008-03-14 Cyclic update data management system

Country Status (1)

Country Link
JP (1) JP5247192B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016187831A1 (en) 2015-05-27 2016-12-01 华为技术有限公司 Method and device for accessing file, and storage system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934765A (en) * 1995-07-20 1997-02-07 Fuji Xerox Co Ltd File managing device
JP3618917B2 (en) * 1996-08-05 2005-02-09 株式会社東芝 Information collection method
JPH11328191A (en) * 1998-05-13 1999-11-30 Nec Corp Www robot retrieving system
JP2000011067A (en) * 1998-06-23 2000-01-14 Oki Software Okayama:Kk Master information updating reserving method for automatic machine centralized monitoring operation system
JP4380375B2 (en) * 2003-03-19 2009-12-09 富士ゼロックス株式会社 Document collection device and computer program for document collection
JP2008293218A (en) * 2007-05-23 2008-12-04 Nec Corp System, method and program for file management

Also Published As

Publication number Publication date
JP2009223507A (en) 2009-10-01

Similar Documents

Publication Publication Date Title
KR101127304B1 (en) Hsm two-way orphan reconciliation for extremely large file systems
US8682941B2 (en) Database apparatus
US20100115061A1 (en) Server system, server apparatus, program and method
CN102819586A (en) Uniform Resource Locator (URL) classifying method and equipment based on cache
CN102096626A (en) Mobile terminal and processing method of test log thereof
EP4579423A1 (en) Storage system and data processing method
US10599726B2 (en) Methods and systems for real-time updating of encoded search indexes
CN104899249A (en) Reliable index update system and method under mass data
CN101046807B (en) Method and device for storing data read information
US7769792B1 (en) Low overhead thread synchronization system and method for garbage collecting stale data in a document repository without interrupting concurrent querying
US8559764B2 (en) Editing an image representation of a text
US9886446B1 (en) Inverted index for text searching within deduplication backup system
CN111857556A (en) Method, apparatus and computer program product for managing metadata of storage objects
US6640225B1 (en) Search method using an index file and an apparatus therefor
JP5448428B2 (en) Data management system, data management method, and data management program
JP5247192B2 (en) Cyclic update data management system
CN117544642A (en) Capacity expansion method, device and equipment of storage system and storage medium
CN114328031A (en) Metadata organization method, system, storage medium, backup method and retrieval method
US8316008B1 (en) Fast file attribute search
JP5655538B2 (en) Data management apparatus and data management method
JPH10289135A (en) Database search method with search result caching function
WO2024169393A1 (en) Data processing method and apparatus, electronic device, and storage medium
CN107819806B (en) Method, device and system for optimizing APP interface data
CN117493276A (en) Reading method and device for Ceph file, server and storage medium
CN110083763A (en) Data query method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121214

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: 20130312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130409

R150 Certificate of patent or registration of utility model

Ref document number: 5247192

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250