JP4825504B2 - Data registration / retrieval system and data registration / retrieval method - Google Patents

Data registration / retrieval system and data registration / retrieval method Download PDF

Info

Publication number
JP4825504B2
JP4825504B2 JP2005351316A JP2005351316A JP4825504B2 JP 4825504 B2 JP4825504 B2 JP 4825504B2 JP 2005351316 A JP2005351316 A JP 2005351316A JP 2005351316 A JP2005351316 A JP 2005351316A JP 4825504 B2 JP4825504 B2 JP 4825504B2
Authority
JP
Japan
Prior art keywords
data
registration
search
unit
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005351316A
Other languages
Japanese (ja)
Other versions
JP2007156844A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2005351316A priority Critical patent/JP4825504B2/en
Publication of JP2007156844A publication Critical patent/JP2007156844A/en
Application granted granted Critical
Publication of JP4825504B2 publication Critical patent/JP4825504B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データを登録し、検索するデータ登録・検索システムおよびデータ登録・検索方法に関する。   The present invention relates to a data registration / retrieval system and a data registration / retrieval method for registering and retrieving data.

文書等のデータの登録および検索を可能とするデータ登録・検索システムが用いられている。ここで、登録された文書の全文を検索する全文検索システムなどでは、検索の高速化のために、登録されたデータのインデックスを作成する場合がある。一例として、単語とその単語を含む文書のIDとの対応表(インデックス)を作成する。例えば、「東京都」という単語は文書1と文書3に含まれ、「神奈川県」という単語は文書3と文書4に含まれるというような対応表を作り、単語のアルファベット順に並べておく。検索時に対応表の単語を2分探索することで、検索条件の単語を含む文書を高速に抽出できる。   A data registration / retrieval system that enables registration and retrieval of data such as documents is used. Here, in a full-text search system that searches the full text of a registered document, an index of registered data may be created in order to speed up the search. As an example, a correspondence table (index) between a word and an ID of a document including the word is created. For example, a correspondence table in which the word “Tokyo” is included in documents 1 and 3 and the word “Kanagawa” is included in documents 3 and 4 is arranged in alphabetical order. By searching the correspondence table for two words at the time of the search, a document including the search condition word can be extracted at high speed.

このように、インデックスを作成することで、検索が高速化される。この一方、インデックスの作成に時間がかかるため、情報の登録に時間を要する。既に作成されているインデックスの量が多いほど(対応表が大きいほど)、新たなインデックスの追加に多くの時間が必要となる。
ここで、インデックスのサイズがほぼ均等になるようにキーワードをブロックに割り付けることで、インデックス作成を伴う登録処理を高速化する技術が公開されている(特許文献1参照)。
特開平08−147328号
Thus, the search is speeded up by creating the index. On the other hand, since it takes time to create an index, it takes time to register information. The more indexes that have already been created (the larger the correspondence table), the more time is required to add new indexes.
Here, a technique for accelerating a registration process involving index creation by allocating keywords to blocks so that the sizes of indexes are almost equal has been disclosed (see Patent Document 1).
JP 08-147328 A

しかしながら、この技術の適用の可否はインデックスの作成方法に依存するため、汎用性にかける。
上記に鑑み、本発明は登録処理の高速化を図ったデータ登録・検索システムおよびデータ登録・検索方法を提供することを目的とする。
However, the applicability of this technique depends on the method of creating the index, and is therefore versatile.
In view of the above, it is an object of the present invention to provide a data registration / retrieval system and a data registration / retrieval method that speed up registration processing.

本発明の一態様に係るデータ登録・検索システムは、データを記憶する第1の記憶部と、データを記憶する第2の記憶部と、データを前記第1の記憶部に登録するデータ登録部と、前記第1、第2の記憶部からデータを検索するデータ検索部と、前記第1の記憶部から前記第2の記憶部へとデータを移行させるデータ移行部と、を具備することを特徴とする。   A data registration / retrieval system according to one aspect of the present invention includes a first storage unit that stores data, a second storage unit that stores data, and a data registration unit that registers data in the first storage unit And a data search unit for searching for data from the first and second storage units, and a data transfer unit for transferring data from the first storage unit to the second storage unit. Features.

本発明の一態様に係るデータ登録・検索方法は、データを記憶する第1、第2の記憶部を用いるデータ登録・検索方法であって、前記第1の記憶部にデータを登録するステップと、前記第1、第2の記憶部からデータを検索するステップと、前記第1の記憶部から前記第2の記憶部へとデータを移行させるステップと、を具備することを特徴とする。   A data registration / retrieval method according to an aspect of the present invention is a data registration / retrieval method using first and second storage units for storing data, the step of registering data in the first storage unit; A step of retrieving data from the first and second storage units and a step of migrating data from the first storage unit to the second storage unit.

本発明によれば、登録処理の高速化を図ったデータ登録・検索システムおよびデータ登録・検索方法を提供できる。   According to the present invention, it is possible to provide a data registration / retrieval system and a data registration / retrieval method that speed up the registration process.

以下、図面を参照して、本発明の実施の形態を詳細に説明する。
図1は本発明の一実施形態に係るデータベースシステムを表すブロック図である。
データベースシステムは、データの登録、検索等の処理を行うシステムであり、データ利用システム100とデータ管理システム200に区分される。
データ利用システム100は、データ管理システム200にデータの登録、検索等の処理を要求し、その処理結果を受け取るコンピュータ・システムである。このコンピュータ・システムは、例えば、単一、複数のコンピュータから構成することができる。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing a database system according to an embodiment of the present invention.
The database system is a system that performs processing such as data registration and search, and is divided into a data use system 100 and a data management system 200.
The data utilization system 100 is a computer system that requests the data management system 200 to perform processing such as data registration and search, and receives the processing results. This computer system can be composed of, for example, a single computer or a plurality of computers.

データ管理システム200は、データ利用システム100からの要求(登録要求、更新要求、削除要求、検索要求)により、データを処理(登録、更新、削除、検索)するものであり、例えば、単一、複数のコンピュータから構成することができる。
データ管理システム200は、データ管理部210,登録用DB(データベース)220,検索用DB(データベース)230、データ移行部240,登録用DB管理部250,検索用DB管理部260を有する。データベースとして、登録用DB220,検索用DB230の双方を有することから、データの登録の高速化が可能となる。なお、この詳細は後述する。
The data management system 200 processes (registers, updates, deletes, searches) data according to requests (registration request, update request, delete request, search request) from the data utilization system 100. It can consist of a plurality of computers.
The data management system 200 includes a data management unit 210, a registration DB (database) 220, a search DB (database) 230, a data migration unit 240, a registration DB management unit 250, and a search DB management unit 260. Since both the registration DB 220 and the search DB 230 are used as databases, it is possible to speed up data registration. Details of this will be described later.

データ管理部210は、登録用DB220,検索用DB230の双方を管理するものであり、データ登録部211,データ検索部212,データ更新部213,データ削除部214を有する。   The data management unit 210 manages both the registration DB 220 and the search DB 230, and includes a data registration unit 211, a data search unit 212, a data update unit 213, and a data deletion unit 214.

データ登録部211は,DB(「登録用DB220,検索用DB230」をいう、以下、同様)にデータを登録する。この登録に際し、データ登録部211は,登録用DB220のみにデータを登録し、検索用DB230にはデータを登録しない。この結果、データの登録の高速化が可能となる。なお、この詳細は後述する。
データ検索部212は,DBからデータを検索する。この検索に際し、データ検索部212は,登録用DB220および検索用DB230の双方からデータを検索する。この結果、登録用DB220,検索用DB230のいずれにデータが登録された状態でも、データの検索が可能となる。
The data registration unit 211 registers data in a DB (referred to as “registration DB 220 and search DB 230”, hereinafter the same). At the time of registration, the data registration unit 211 registers data only in the registration DB 220 and does not register data in the search DB 230. As a result, data registration can be speeded up. Details of this will be described later.
The data search unit 212 searches for data from the DB. In this search, the data search unit 212 searches for data from both the registration DB 220 and the search DB 230. As a result, data can be searched regardless of whether the data is registered in either the registration DB 220 or the search DB 230.

データ更新部213は,DBのデータを更新する。この更新に際し、データ更新部213は,登録用DB220のみでデータを更新ないし登録し、検索用DB230ではデータを更新しない(データがあれば削除する)。この結果、データの更新の高速化が可能となる。
データ削除部214は、DBからデータを削除する。この削除に際し、データ削除部214は,登録用DB220および検索用DB230の双方からデータを検索する。この結果、登録用DB220,検索用DB230のいずれにデータが登録された状態でも、データの削除が可能となる。
The data update unit 213 updates DB data. In this update, the data update unit 213 updates or registers data only in the registration DB 220 and does not update data in the search DB 230 (deletes data if any). As a result, the data update speed can be increased.
The data deletion unit 214 deletes data from the DB. At the time of this deletion, the data deletion unit 214 searches for data from both the registration DB 220 and the search DB 230. As a result, the data can be deleted regardless of whether the data is registered in either the registration DB 220 or the search DB 230.

なお、データ登録部211,データ検索部212,データ更新部213,データ削除部214のインタフェース(API(Application Program Interface))は、後述のデータ登録部251、261,データ検索部252、262,データ更新部253、263,データ削除部254、264によって、DBをアクセスするときと同様のインタフェースとすることができる。このようにすると、利用者は登録用DB管理部250,検索用DB管理部260でDBをアクセスする場合と同様に、データ管理部210を操作することができる。   Note that an interface (API (Application Program Interface)) of the data registration unit 211, the data search unit 212, the data update unit 213, and the data deletion unit 214 is a data registration unit 251, 261, a data search unit 252, 262, and data described later. The update units 253 and 263 and the data deletion units 254 and 264 can provide the same interface as when accessing the DB. In this way, the user can operate the data management unit 210 as in the case where the DB is accessed by the registration DB management unit 250 and the search DB management unit 260.

登録用DB220,検索用DB230は、全体として1つのDBを構成する記憶装置、例えば、ハードディスクであり、前者は登録用、後者は検索用である。データは、登録時には登録用DB220に登録され、その後、データ移行部240によって検索用DB230に移行される。
新たなデータは登録用DB220に登録されることから、登録処理の高速化がなされる。登録用DB220から検索用DB230への移行処理によって、登録用DB220内の登録されたデータが削減されることから、登録時の処理(例えば、インデックスの作成)の量が低減されるからである。言い換えれば、DBを区分することで、登録処理の高速化が図られ、しかもデータベースの内部構成によらず、汎用的に適用可能である。なお、登録用DB220,検索用DB230は別個あるいは単一のハードウェアの何れで構成しても差し支えない。
The registration DB 220 and the search DB 230 are storage devices that constitute one DB as a whole, for example, a hard disk. The former is for registration and the latter is for search. The data is registered in the registration DB 220 at the time of registration, and then transferred to the search DB 230 by the data migration unit 240.
Since new data is registered in the registration DB 220, the registration process is speeded up. This is because the migration process from the registration DB 220 to the search DB 230 reduces the registered data in the registration DB 220, thereby reducing the amount of processing (for example, index creation) during registration. In other words, by dividing the DB, the registration process can be speeded up, and can be applied universally regardless of the internal structure of the database. The registration DB 220 and the search DB 230 may be configured separately or by a single piece of hardware.

登録用DB220,検索用DB230には、登録、検索対象のデータそのもの(登録対象データ)に加え、そのデータのスキーマ情報(スキーマ・データ)、およびインデックス(検索用の索引)用の情報(インデックス・データ)が記憶される。
図2〜図4はそれぞれ、登録対象データ、スキーマ・データ、およびインデックス・データの一例を表す模式図である。なお、これらの例ではデータとしてXMLデータを用いているが、データの形式がXML以外であっても差し支えない。
In the registration DB 220 and the search DB 230, in addition to registration / search target data itself (registration target data), schema information (schema data) of the data and information (index / index) for the index (search index) are included. Data) is stored.
2 to 4 are schematic diagrams illustrating examples of registration target data, schema data, and index data, respectively. In these examples, XML data is used as data, but the data format may be other than XML.

図2に示す登録対象データは、人物のデータの一例であり、データの項目として、その人物の「ファーストネーム(firstname)」、「ラストネーム(lastname)」、連絡先(contact)としての、「電子メールアドレス(email)」および「住所(address)」が表わされる。これらのデータ項目の内容として、「山田」、「太郎」、「yamada@toshiba.co.jp」、および「東京都...」が示される。   The registration target data shown in FIG. 2 is an example of person data. As data items, “first name”, “last name” of the person, and “contact” as “contact” “E-mail address” and “address” are represented. As the contents of these data items, “Yamada”, “Taro”, “yamada@toshiba.co.jp”, and “Tokyo ...” are shown.

また、図2の登録対象データは、登録対象データを互いに識別する識別情報(ID)としての人物識別番号(person id)「87055710」を含む。このIDは適宜に付与することもできるし、既存の情報を用いることもできる。例えば、データが社員の場合に社員番号をIDとしたり、データが製品の場合に製品番号をIDとしたりすることができる。
また、図2の登録対象データのIDの情報が配置される場所のパス、例えば、「/person/@id」を別途保持する。このパスはXPathによって表現できる。なお、XPathとはXML Path Languageの略であり、W3Cにより標準化されたXMLデータを検索するための仕様である。XPathにより、XMLデータの階層構造の一部を指定できる。
The registration target data in FIG. 2 includes a person identification number (person id) “87055710” as identification information (ID) for mutually identifying the registration target data. This ID can be given as appropriate, or existing information can be used. For example, when the data is an employee, the employee number can be an ID, and when the data is a product, the product number can be an ID.
Further, a path where the ID information of the registration target data in FIG. 2 is arranged, for example, “/ person / @ id” is separately stored. This path can be represented by XPath. XPath is an abbreviation for XML Path Language, and is a specification for searching XML data standardized by W3C. XPath can specify part of the hierarchical structure of XML data.

「スキーマ」は、登録対象データのデータ構造、例えば、どのようなデータがどのように配列されるかを表現する。
図3に示すスキーマ・データは、図2の登録対象データのスキーマを示し、データの項目としての、「ファーストネーム(firstname)」、「ラストネーム(lastname)」、連絡先(contact)としての、「電子メールアドレス(email)」および「住所(address)」がどのように配列されているか、そのデータ項目の表現形式(「string」等を表している。
The “schema” expresses the data structure of registration target data, for example, what data is arranged and how.
The schema data shown in FIG. 3 shows the schema of the registration target data in FIG. 2, and “first name”, “last name”, and contact information (contact) as data items, It shows how “e-mail address (email)” and “address (address)” are arranged, and the expression format (“string”, etc.) of the data item.

図4に示すインデックス・データは、図2の登録対象データのノードパス、ID、行番号の対応関係を表す。「ノードパス」は、データ項目(「氏名(name)」、「ファーストネーム(firstname)」、「ラストネーム(lastname)」、連絡先(contact)としての、「電子メールアドレス(email)」および「住所(address)」)を表す。
即ち、図4は、それぞれのデータ項目がその登録対象データのどこ(何行目)に配置されるかを表している。例えば、データ項目「ファーストネーム(firstname)」は図3の登録対象データ(ID:「87055710」)の3行目に配置される。インデックス・データによってデータ項目の配置が判ることから、登録対象データの全部の検索が不要となり、データの検索が高速化する。
The index data shown in FIG. 4 represents the correspondence between the node path, ID, and row number of the registration target data in FIG. “Node path” is a data item (“name”, “firstname”, “lastname”, “email address” and “address” as contact) (Address) ").
That is, FIG. 4 shows where (in what line) each data item is arranged in the registration target data. For example, the data item “first name” is arranged in the third row of the registration target data (ID: “87055710”) in FIG. Since the arrangement of the data items is known by the index data, it is not necessary to search all of the registration target data, and the data search speeds up.

データ移行部240は,登録用DB220から検索用DB230へとデータを移行する。即ち、登録用DB220からデータを削除し、削除されたデータを検索用DB230に登録する。また、データ移行部240は,登録用DB220および検索用DB230でのインデックスの更新を実行する。   The data migration unit 240 migrates data from the registration DB 220 to the search DB 230. That is, the data is deleted from the registration DB 220 and the deleted data is registered in the search DB 230. Further, the data migration unit 240 updates the index in the registration DB 220 and the search DB 230.

登録用DB管理部250は,登録用DB220を管理するものであり、データ登録部251,データ検索部252,データ更新部253,データ削除部254を有する。
また、検索用DB管理部260は,検索用DB230を管理するものであり、データ登録部261,データ検索部262,データ更新部263,データ削除部264を有する。登録用DB管理部250と検索用DB管理部260はそれぞれ、管理対象が登録用DB220および検索用DB230である以外は実質的には同様の構成である。
なお、登録用DB管理部250と検索用DB管理部260は登録用DB220および検索用DB230を個別に管理するものであるが、登録用DB220等の個別的な管理を行わないのであれば省略することも可能である。
The registration DB management unit 250 manages the registration DB 220 and includes a data registration unit 251, a data search unit 252, a data update unit 253, and a data deletion unit 254.
The search DB management unit 260 manages the search DB 230, and includes a data registration unit 261, a data search unit 262, a data update unit 263, and a data deletion unit 264. The registration DB management unit 250 and the search DB management unit 260 have substantially the same configuration except that the management targets are the registration DB 220 and the search DB 230, respectively.
The registration DB management unit 250 and the search DB management unit 260 manage the registration DB 220 and the search DB 230 individually, but are omitted if the registration DB 220 and the like are not managed individually. It is also possible.

データ登録部251およびデータ登録部261はそれぞれ,登録用DB220および検索用DB230にデータを登録する。
データ検索部252およびデータ検索部262はそれぞれ,登録用DB220および検索用DB230からデータを検索する。
データ更新部253およびデータ更新部263はそれぞれ,登録用DB220および検索用DB230のデータを更新する。
データ削除部254およびデータ削除部254はそれぞれ,登録用DB220および検索用DB230からデータを削除する。
The data registration unit 251 and the data registration unit 261 register data in the registration DB 220 and the search DB 230, respectively.
The data search unit 252 and the data search unit 262 search for data from the registration DB 220 and the search DB 230, respectively.
The data update unit 253 and the data update unit 263 update data in the registration DB 220 and the search DB 230, respectively.
The data deletion unit 254 and the data deletion unit 254 delete data from the registration DB 220 and the search DB 230, respectively.

(データベースシステムの動作)
図5は、本実施形態に係るデータベースシステムの動作手順の一例を表すフロー図である。
データの登録、更新時には(ステップS11)、登録用DB220のみに登録、更新された登録対象データが配置され、データの移行(ステップS13)によって、全ての登録対象データが検索用DB230に移行する。即ち、検索用DB230からすれば、データが移行されなければ、データの登録、更新が完了したことにはならないことになる。
しかしながら、登録用DB220を補完的に用いることで、データの登録、更新を速やかに行い、しかもデータの移行の前後に依らず、データの検索を可能としている(ステップS12、S14)。
以下、データの登録、更新、削除、検索、移行の詳細を説明する。なお、データの削除に関しては、データの移行の影響を受けない(データの削除は移行すべきデータの消滅に結びつく)。
(Operation of database system)
FIG. 5 is a flowchart showing an example of an operation procedure of the database system according to the present embodiment.
At the time of data registration / update (step S11), the registration target data registered / updated only in the registration DB 220 is arranged, and all the registration target data is transferred to the search DB 230 by data transfer (step S13). That is, from the search DB 230, if the data is not migrated, the registration and update of the data will not be completed.
However, by using the registration DB 220 in a complementary manner, data can be registered and updated promptly, and data can be searched regardless of before and after data migration (steps S12 and S14).
Details of data registration, update, deletion, search, and migration will be described below. Note that data deletion is not affected by data migration (deletion of data leads to disappearance of data to be migrated).

(1)データの登録
図6は、ステップS11でのデータの登録の詳細な手順を表すフロー図である。
1)データ登録部211が、登録されるデータ自体とこの登録対象データを指定する登録要求を受領する(ステップS21)。
この登録対象データの指定は、そのデータのIDの情報またはIDが配置される場所のパスの情報によって行える。このパスはXPathを用いて指定することができる。このパスを登録されるデータ自体とは別個の、設定ファイル等で指定してもよい。なお、IDが登録データに含まれるときは、IDの指定を省略してもよい。
(1) Data Registration FIG. 6 is a flowchart showing a detailed procedure for registering data in step S11.
1) The data registration unit 211 receives a registration request specifying the data itself to be registered and the registration target data (step S21).
The registration target data can be specified by the ID information of the data or the path information of the location where the ID is arranged. This path can be specified using XPath. This path may be specified by a setting file or the like separate from the registered data itself. Note that when the ID is included in the registration data, the designation of the ID may be omitted.

2)登録用DB220および検索用DB230を検索し、これらの何れかにデータが存在するか否かを判断する(ステップS22,S23)。
同一のデータの2重登録を防止するためである。DBを分離したことで、登録用DB220および検索用DB230それぞれで同一のデータが登録される可能性が生じている。
データの同一性はIDが同一か否かで判断できる。データの内容自体が同一であったとしても、IDが異なれば別のデータだからである。
登録要求を受け付けると、データ登録部211は、登録に先だって、IDの情報またはそのパスの情報に従って、登録用DB220および検索用DB230の両方を検索する。
2) The registration DB 220 and the search DB 230 are searched to determine whether data exists in any of them (steps S22 and S23).
This is to prevent double registration of the same data. By separating the DB, there is a possibility that the same data is registered in each of the registration DB 220 and the search DB 230.
The identity of data can be determined by whether the IDs are the same. This is because even if the content of the data itself is the same, if the ID is different, it is different data.
When the registration request is received, the data registration unit 211 searches both the registration DB 220 and the search DB 230 according to the ID information or the path information prior to registration.

3)登録用DB220および検索用DB230のいずれにも登録されるデータが存在しないときは、登録用DB220にデータを登録する(ステップS24)。即ち、データ登録部211は、データの登録要求を受け付けると、登録用DB220にのみデータを登録する。この登録に際してインデックスが作成される。登録対象のインデックスのみを作成すれば良いので、インデックスの作成が速やかになされる。   3) If there is no data to be registered in either the registration DB 220 or the search DB 230, the data is registered in the registration DB 220 (step S24). That is, when receiving a data registration request, the data registration unit 211 registers data only in the registration DB 220. An index is created for this registration. Since only the index to be registered needs to be created, the index is created promptly.

データを登録するときは、登録されるデータの項目に対応して、インデックスが追加される。このインデックスの追加に際して、インデックスが検索され、登録されるデータの項目がインデックス中に存在するか否か(存在するときはどの箇所に存在するか)が判断される。
登録するデータの項目がインデックスに登録済であれば、インデックス上、その項目が記述されている箇所(例えば、行)に、インデックス情報が追加される。登録するデータの項目がインデックスに未登録であれば、インデックスにその項目が追加される(例えば、インデックスへの行の追加)。
When registering data, an index is added corresponding to the data item to be registered. When this index is added, the index is searched, and it is determined whether or not the item of data to be registered exists in the index (if it exists, where it exists).
If an item of data to be registered has already been registered in the index, index information is added to a location (for example, a row) where the item is described on the index. If an item of data to be registered is not registered in the index, the item is added to the index (for example, addition of a row to the index).

4)登録用DB220および検索用DB230のいずれか、または双方に登録されるデータが存在するときは、エラー処理を行う(ステップS25)。例えば、登録されるべきデータが既登録である旨を通知する。   4) When there is data registered in either or both of the registration DB 220 and the search DB 230, error processing is performed (step S25). For example, it notifies that the data to be registered is already registered.

(2)データの更新
図7は、ステップS11でのデータの更新の詳細な手順を表すフロー図である。
1)データ更新部213が、更新データと更新対象データとを指定された更新要求を受領する(ステップS31)。
この更新対象データの指定は、そのデータのIDの情報またはIDが配置される場所のパスの情報によって行える。このパスはXPathを用いて指定することができる。このパスを登録されるデータ自体とは別個の、設定ファイル等で指定してもよい。なお、IDが更新データに含まれるときは、IDの指定を省略してもよい。
(2) Data Update FIG. 7 is a flowchart showing a detailed procedure for updating data in step S11.
1) The data update unit 213 receives an update request designating update data and update target data (step S31).
This update target data can be specified by the ID information of the data or the path information of the location where the ID is arranged. This path can be specified using XPath. This path may be specified by a setting file or the like separate from the registered data itself. Note that when the ID is included in the update data, designation of the ID may be omitted.

2)データ更新部213は、登録用DB220および検索用DB230を検索し、これらの何れにデータが存在するか否かを判断する(ステップS32,S33)。即ち、データ更新部213は更新要求を受け付けると、登録用DB220および検索用DB230の両方を対象にデータを更新処理する。
DBを分離したことで、登録用DB220および検索用DB230のいずれにもデータが登録されている可能性が生じている。
2) The data update unit 213 searches the registration DB 220 and the search DB 230 to determine which of these has data (steps S32 and S33). In other words, when receiving an update request, the data update unit 213 updates the data for both the registration DB 220 and the search DB 230.
By separating the DB, there is a possibility that data is registered in both the registration DB 220 and the search DB 230.

3)登録用DB220に更新されるデータが存在すときは、登録用DB220のデータを更新する(ステップS34)。
4)検索用DB230に更新されるデータが存在するときは、検索用DB230から更新対象データを削除し、登録用DB220に更新データを登録する(ステップS35,S36)。
3) When there is data to be updated in the registration DB 220, the data in the registration DB 220 is updated (step S34).
4) When there is data to be updated in the search DB 230, the update target data is deleted from the search DB 230 and the update data is registered in the registration DB 220 (steps S35 and S36).

(3)データの削除
図8は、ステップS11でのデータの削除の詳細な手順を表すフロー図である。
1)データ削除部214が、削除対象データを指定された削除要求を受領する(ステップS41)。
この削除対象データの指定は、そのデータのIDの情報またはIDが配置される場所のパスの情報によって行える。このパスはXPathを用いて指定することができる。このパスは、設定ファイル等で指定してもよい。
(3) Data Deletion FIG. 8 is a flowchart showing a detailed procedure for deleting data in step S11.
1) The data deletion unit 214 receives a deletion request designating deletion target data (step S41).
This deletion target data can be specified by the ID information of the data or the path information of the location where the ID is arranged. This path can be specified using XPath. This path may be specified in a setting file or the like.

2)データ削除部214は、登録用DB220および検索用DB230を検索する(ステップS42)。即ち、データ削除部214は削除要求を受け付けると、登録用DB220および検索用DB230の両方を対象にデータを削除処理する。
DBを分離したことで、登録用DB220および検索用DB230のいずれにもデータが登録されている可能性が生じている。
2) The data deletion unit 214 searches the registration DB 220 and the search DB 230 (step S42). That is, when the data deletion unit 214 receives a deletion request, the data deletion unit 214 deletes data for both the registration DB 220 and the search DB 230.
By separating the DB, there is a possibility that data is registered in both the registration DB 220 and the search DB 230.

3)登録用DB220、検索用DB230からデータが削除される(ステップS43)。即ち、登録用DB220に削除されるデータが存在するときは、登録用DB220のデータを削除する。また、検索用DB230に削除されるデータが存在するときは、検索用DB230から削除対象データを削除する。
データが削除されるときは、削除されるデータのインデックスも削除される。即ち、インデックス全体から、削除されるデータに含まれる項目が記述されている箇所(例えば、行)が検索される。そして、その箇所に記述された削除対象のデータのインデックス情報が削除される。
3) Data is deleted from the registration DB 220 and the search DB 230 (step S43). That is, when there is data to be deleted in the registration DB 220, the data in the registration DB 220 is deleted. Further, when there is data to be deleted in the search DB 230, the deletion target data is deleted from the search DB 230.
When data is deleted, the index of the deleted data is also deleted. That is, a part (for example, a row) in which an item included in data to be deleted is described is searched from the entire index. Then, the index information of the data to be deleted described at that location is deleted.

(4)データの検索
図9は、ステップS12,S14でのデータの検索の詳細な手順を表すフロー図である。
1)データ検索部212が、検索対象データを指定された検索要求を受領する(ステップS51)。
この検索対象データの指定は、そのデータのIDの情報またはIDが配置される場所のパスの情報によって行える。このパスはXPathを用いて指定することができる。このパスは、設定ファイル等で指定してもよい。
(4) Data Search FIG. 9 is a flowchart showing a detailed procedure of data search in steps S12 and S14.
1) The data search unit 212 receives a search request designating search target data (step S51).
The search target data can be specified by the ID information of the data or the path information of the place where the ID is arranged. This path can be specified using XPath. This path may be specified in a setting file or the like.

2)データ検索部212は、登録用DB220および検索用DB230を検索する(ステップS52)。登録用DB220および検索用DB230に対して同じXPath検索を実施する。
DBを分離したことで、登録用DB220および検索用DB230のいずれにもデータが登録されている可能性が生じている。
2) The data search unit 212 searches the registration DB 220 and the search DB 230 (step S52). The same XPath search is performed on the registration DB 220 and the search DB 230.
By separating the DB, there is a possibility that data is registered in both the registration DB 220 and the search DB 230.

3)登録用DB220および検索用DB230の検索結果を纏め、返信する(ステップS53、S54)。例えば、登録用DB220で2件、検索用DB230で3件のデータがヒットしたら、計5件のデータを纏めた検索結果として返信する。   3) The search results of the registration DB 220 and the search DB 230 are collected and returned (steps S53 and S54). For example, if there are two hits in the registration DB 220 and three hits in the search DB 230, the search results are returned as a total of five hits.

(5)データの移行
図10は、ステップS13でのデータの移行の詳細な手順を表すフロー図である。
1)登録用DB220から検索用DB230にデータを移行する(ステップS61,S62)。具体的には、登録用DB220内のデータを削除し、同じデータを検索用DB230に登録する。ここでは1件ずつデータを移行するものとする。但し、複数件のデータを纏めて移行することも可能である。
(5) Data Migration FIG. 10 is a flowchart showing a detailed procedure for data migration in step S13.
1) Data is transferred from the registration DB 220 to the search DB 230 (steps S61 and S62). Specifically, the data in the registration DB 220 is deleted, and the same data is registered in the search DB 230. Here, data is transferred one by one. However, it is also possible to migrate a plurality of data collectively.

データの移行に伴い、検索用DB230内のインデックスが更新される。即ち、移行したデータのインデックス情報が検索用DB230に登録される。また、登録用DB220内のインデックス・データが削除される。なお、この削除は個別のデータの移行に対応して行っても良いし、全てのデータの移行が完了した後でも行える。   With the data migration, the index in the search DB 230 is updated. That is, the index information of the migrated data is registered in the search DB 230. Also, the index data in the registration DB 220 is deleted. Note that this deletion may be performed in correspondence with individual data migration, or after all data migration is completed.

データの移行に応じて、インデックスが更新され、インデックスの情報が追加、削除、変更される。即ち、移行するデータに含まれる項目がインデックス中に存在するか否か(存在するときはどの箇所に存在するか)が検索され、インデックスの項目への情報の追加、削除、変更の要否がそれぞれ判断される。   As the data migrates, the index is updated and index information is added, deleted, or changed. That is, it is searched whether or not the item included in the data to be migrated exists in the index (if it exists, where it exists), and whether or not the information in the index item needs to be added, deleted, or changed is determined. Each is judged.

インデックスへの情報の追加は、インデックスの項目への情報の追加(対応する項目が既存の場合)、または項目自体の追加(対応する項目が存在しない場合)によって行われる。
インデックスからの情報の削除は、インデックスの項目中の情報の削除によって行われる。
インデックスの情報の変更は、インデックスの項目中の情報の変更によって行われる。
Information is added to the index by adding information to the index item (when the corresponding item already exists) or by adding the item itself (when the corresponding item does not exist).
Deletion of information from the index is performed by deleting information in the index item.
The index information is changed by changing the information in the index item.

ここで、データのスキーマ情報は登録用DB220から削除されない。その結果、登録用DB220および検索用DB230で同じスキーマ情報が存在することになる。
スキーマ情報が登録用DB220および検索用DB230の双方に存在することで、データの追加、削除の度にスキーマ情報を追加、削除する手間を省くことができる。
Here, the schema information of the data is not deleted from the registration DB 220. As a result, the same schema information exists in the registration DB 220 and the search DB 230.
Since the schema information exists in both the registration DB 220 and the search DB 230, it is possible to save the trouble of adding or deleting schema information each time data is added or deleted.

2)ステップS61,S62での削除、登録の何れかに誤りがあれば、エラー処理を行う(ステップS63,S64)。データの削除、登録を一連の処理とし(いわゆるトランザクション処理)、登録用DB220と検索用DB230間で不整合が発生しないためである。   2) If there is an error in either deletion or registration in steps S61 and S62, error processing is performed (steps S63 and S64). This is because data deletion and registration are a series of processes (so-called transaction processing), and no inconsistency occurs between the registration DB 220 and the search DB 230.

3)移行するデータが無くなるまで、ステップS61〜S64の処理が繰り返される(ステップS65)。
4)インデックスを処理する(ステップS66)。
必要であれば、データ移行後に、インデックスの処理がなされる。例えば、登録用DB220からデータを削除したときに、インデックスのごみ(無効なデータ)が残る場合は、登録用DB220のインデックスを削除する。また、登録用DB220へのインデックスの削除処理に換えて、インデックスの初期化を行ってもよい。例えば、登録用DB220のインデックス生成用のインスタンスを削除した後に、このインスタンスを再構築する。
3) Steps S61 to S64 are repeated until there is no data to be transferred (step S65).
4) The index is processed (step S66).
If necessary, index processing is performed after data migration. For example, if index garbage (invalid data) remains when data is deleted from the registration DB 220, the index of the registration DB 220 is deleted. In addition, the index may be initialized instead of the index deletion processing to the registration DB 220. For example, after deleting the index generation instance of the registration DB 220, the instance is reconstructed.

以上のデータの移行は、全てのデータを一括して処理する、いわゆるバッチ処理によって実行できる。
また、データの移行は、スケジューラ機能等を用いて、周期的、定期的に行える。例えば、深夜など、利用が少ない時間にデータを定期的に移行させることができる。
The above data migration can be executed by so-called batch processing in which all data is processed at once.
Data migration can be performed periodically and periodically using a scheduler function or the like. For example, data can be periodically transferred during times of low usage such as late at night.

(その他の実施形態)
本発明の実施形態は上記の実施形態に限られず拡張、変更可能であり、拡張、変更した実施形態も本発明の技術的範囲に含まれる。
上記実施形態は、データの例として、XMLデータを挙げて、説明しているが、蓄積、検索するデータはXMLデータに限られない。
(Other embodiments)
Embodiments of the present invention are not limited to the above-described embodiments, and can be expanded and modified. The expanded and modified embodiments are also included in the technical scope of the present invention.
The above embodiment has been described by taking XML data as an example of data, but the data to be stored and searched is not limited to XML data.

本発明の一実施形態に係るデータベースシステムを表すブロック図である。It is a block diagram showing the database system concerning one embodiment of the present invention. 登録対象データの一例を表す模式図である。It is a schematic diagram showing an example of registration object data. スキーマ・データの一例を表す模式図である。It is a schematic diagram showing an example of schema data. インデックス・データの一例を表す模式図である。It is a schematic diagram showing an example of index data. 本発明の一実施形態に係るデータベースシステムの動作手順の一例を表すフロー図である。It is a flowchart showing an example of the operation | movement procedure of the database system which concerns on one Embodiment of this invention. 図5に示すデータの登録の詳細な手順を表すフロー図である。It is a flowchart showing the detailed procedure of registration of the data shown in FIG. 図5に示すデータの更新の詳細な手順を表すフロー図である。It is a flowchart showing the detailed procedure of the update of the data shown in FIG. 図5に示すデータの削除の詳細な手順を表すフロー図である。It is a flowchart showing the detailed procedure of deletion of the data shown in FIG. 図5に示すデータの検索の詳細な手順を表すフロー図である。It is a flowchart showing the detailed procedure of the search of the data shown in FIG. 図5に示すデータの移行の詳細な手順を表すフロー図である。It is a flowchart showing the detailed procedure of the data transfer shown in FIG.

符号の説明Explanation of symbols

100…データ利用システム、200…データ管理システム、210…データ管理部、211…データ登録部、212…データ検索部、213…データ更新部、214…データ削除部、220…登録用DB、230…検索用DB、240…データ移行部、250…管理部、251…データ登録部、252…データ検索部、252…データ検索部、253…データ更新部、254…データ削除部、260…管理部、261…データ登録部、262…データ検索部、263…データ更新部、264…データ削除部   DESCRIPTION OF SYMBOLS 100 ... Data utilization system, 200 ... Data management system, 210 ... Data management part, 211 ... Data registration part, 212 ... Data search part, 213 ... Data update part, 214 ... Data deletion part, 220 ... Registration DB, 230 ... DB for search, 240 ... data migration unit, 250 ... management unit, 251 ... data registration unit, 252 ... data search unit, 252 ... data search unit, 253 ... data update unit, 254 ... data deletion unit, 260 ... management unit, 261 ... Data registration unit, 262 ... Data search unit, 263 ... Data update unit, 264 ... Data deletion unit

Claims (5)

データを記憶する第1の記憶部と,
データを記憶する第2の記憶部と,
登録対象データを,この登録対象データのデータ構造を表すスキーマ・データと供に,前記第1の記憶部に登録するデータ登録部と,
前記第1,第2の記憶部から前記登録対象データを検索するデータ検索部と,
前記第1の記憶部から前記登録データを削除し,前記スキーマ・データを保持し,前記第2の記憶部に前記登録対象データを,前記スキーマ・データと供に登録することで,前記第1の記憶部から前記第2の記憶部へと前記登録対象データを移行させるデータ移行部と,
を具備することを特徴とするデータ登録・検索システム。
A first storage unit for storing data;
A second storage unit for storing data;
A data registration unit for registering registration target data in the first storage unit together with schema data representing a data structure of the registration target data ;
A data search unit for searching the registration target data from the first and second storage units;
By deleting the registration data from the first storage unit, holding the schema data, and registering the registration target data together with the schema data in the second storage unit, A data migration unit for migrating the registration target data from the storage unit to the second storage unit;
A data registration / retrieval system comprising:
前記第1,第2の記憶部から更新対象データを検索し,検索されたデータを更新するデータ更新部
をさらに具備することを特徴とする請求項1記載のデータ登録・検索システム。
The data registration / retrieval system according to claim 1, further comprising a data updating unit that retrieves update target data from the first and second storage units and updates the retrieved data.
前記第1,第2の記憶部から削除対象データを検索し,検索されたデータを削除するデータ削除部
をさらに具備することを特徴とする請求項1記載のデータ登録・検索システム。
The data registration / retrieval system according to claim 1, further comprising a data deleting unit that searches the first and second storage units for data to be deleted and deletes the searched data.
前記データが,このデータを識別する識別情報またはこの識別情報の存在場所を表すパス情報を含む
ことを特徴とする請求項1記載のデータ登録・検索システム。
The data registration / retrieval system according to claim 1, wherein the data includes identification information for identifying the data or path information indicating the location of the identification information.
データを記憶する第1,第2の記憶部を用いるデータ登録・検索方法であって,
前記第1の記憶部に登録対象データを,この登録対象データのデータ構造を表すスキーマ・データと供に,登録するステップと,
前記第1,第2の記憶部から前記登録対象データを検索するステップと,
前記第1の記憶部から前記登録データを削除し,前記スキーマ・データを保持し,前記第2の記憶部に前記登録対象データを,前記スキーマ・データと供に登録することで,前記第1の記憶部から前記第2の記憶部へと前記登録対象データを移行させるステップと,
を具備することを特徴とするデータ登録・検索方法。
A data registration / retrieval method using first and second storage units for storing data,
Registering registration target data in the first storage unit together with schema data representing a data structure of the registration target data ;
Retrieving the registration object data from the first and second storage units;
By deleting the registration data from the first storage unit, holding the schema data, and registering the registration target data together with the schema data in the second storage unit, Transferring the registration target data from the storage unit to the second storage unit;
A data registration / retrieval method comprising:
JP2005351316A 2005-12-05 2005-12-05 Data registration / retrieval system and data registration / retrieval method Expired - Fee Related JP4825504B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005351316A JP4825504B2 (en) 2005-12-05 2005-12-05 Data registration / retrieval system and data registration / retrieval method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005351316A JP4825504B2 (en) 2005-12-05 2005-12-05 Data registration / retrieval system and data registration / retrieval method

Publications (2)

Publication Number Publication Date
JP2007156844A JP2007156844A (en) 2007-06-21
JP4825504B2 true JP4825504B2 (en) 2011-11-30

Family

ID=38241132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005351316A Expired - Fee Related JP4825504B2 (en) 2005-12-05 2005-12-05 Data registration / retrieval system and data registration / retrieval method

Country Status (1)

Country Link
JP (1) JP4825504B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133820B2 (en) 2007-06-29 2018-11-20 Veritas Technologies Llc Techniques for performing intelligent content indexing
JP5276391B2 (en) * 2008-09-17 2013-08-28 シマンテック コーポレーション Intelligent content indexing technology

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04312188A (en) * 1991-04-11 1992-11-04 Chubu Nippon Denki Software Kk System for collecting data
JP2004178180A (en) * 2002-11-26 2004-06-24 Canon Inc Registration and retrieval system for full-text retrieval information
JP2005122755A (en) * 2004-11-15 2005-05-12 Hitachi Software Eng Co Ltd Form data saving management system

Also Published As

Publication number Publication date
JP2007156844A (en) 2007-06-21

Similar Documents

Publication Publication Date Title
EP3026578B1 (en) N-bit compressed versioned column data array for in-memory columnar stores
CN105630864B (en) Forced ordering of a dictionary storing row identifier values
US7228299B1 (en) System and method for performing file lookups based on tags
US9256607B2 (en) Efficient file access in a large repository using a two-level cache
US7467163B1 (en) System and method to manipulate large objects on enterprise server data management system
US7752226B1 (en) Reverse pathname lookup by inode identifier
US8738572B2 (en) System and method for storing data streams in a distributed environment
US9639542B2 (en) Dynamic mapping of extensible datasets to relational database schemas
US8527556B2 (en) Systems and methods to update a content store associated with a search index
US7376658B1 (en) Managing cross-store relationships to data objects
US20060059204A1 (en) System and method for selectively indexing file system content
US7720869B2 (en) Hierarchical structured abstract file system
US10417265B2 (en) High performance parallel indexing for forensics and electronic discovery
US20170255709A1 (en) Atomic updating of graph database index structures
JP2020529673A5 (en)
Borodin et al. Optimization of memory operations in generalized search trees of PostgreSQL
JP2004038960A (en) System and method of managing file name for file system filter driver
US20180144061A1 (en) Edge store designs for graph databases
US20170255708A1 (en) Index structures for graph databases
KR20110010736A (en) Paging hierarchical data
US7844596B2 (en) System and method for aiding file searching and file serving by indexing historical filenames and locations
CN106874329A (en) The implementation method and device of database table index
JP4825504B2 (en) Data registration / retrieval system and data registration / retrieval method
WO2012081165A1 (en) Database management device and database management method
JPH08235040A (en) Data file management system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110221

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110221

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110912

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees