JP2012243213A - Data processing method and data processor - Google Patents

Data processing method and data processor Download PDF

Info

Publication number
JP2012243213A
JP2012243213A JP2011114957A JP2011114957A JP2012243213A JP 2012243213 A JP2012243213 A JP 2012243213A JP 2011114957 A JP2011114957 A JP 2011114957A JP 2011114957 A JP2011114957 A JP 2011114957A JP 2012243213 A JP2012243213 A JP 2012243213A
Authority
JP
Japan
Prior art keywords
row data
internal
data
row
order
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.)
Withdrawn
Application number
JP2011114957A
Other languages
Japanese (ja)
Inventor
Eiichiro Toshima
英一朗 戸島
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011114957A priority Critical patent/JP2012243213A/en
Publication of JP2012243213A publication Critical patent/JP2012243213A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To improve the operability of search processing in a small-scaled device such as a camera by quickly processing search result outputs arranged in a chronological order from a database without performing sort processing.SOLUTION: Internal IDs each uniquely specifying line data are necessarily arranged in a chronological order, and the storage order of lines whose values are made the same in each index is set to the order of the internal IDs so that it is possible to acquire the line data in a chronological order from the index. Therefore, it is unnecessary to perform processing to finally sort search results in the chronological order. Thus, it is possible to achieve a data processing device for outputting the search results arranged in the chronological order with a small amount of resources even in the small-scaled device, and for increasing cost performance even in the small-scaled device.

Description

本発明はデータ処理方法およびデータ処理装置に関し、特に、データベースで検索を行うために用いて好適な技術に関する。   The present invention relates to a data processing method and a data processing apparatus, and more particularly to a technique suitable for use in performing a search in a database.

近年、ストレージや記録メディアの大容量化が進み、カメラ等の小型機器においても検索などの処理負荷の重いデータ処理が行われるようになりつつある。データ処理負荷の増大に対応して、従来、大規模サーバなどの分野においては、データベースマネジメントシステム(DBMS)が開発され、DBMSを利用したアプリケーションシステム構築推進によって、システムの開発効率向上に寄与してきた。そこで、小型機器においてもDBMSを活用しようと、組込み機器に見合ったDBMS(組込みデータベース)が提案され利用されるようになってきている。   In recent years, storage and recording media have been increased in capacity, and data processing with a heavy processing load such as search is being performed even in small devices such as cameras. In response to the increased data processing load, database management systems (DBMS) have been developed in the fields of large-scale servers and the like, and the development of application systems using DBMS has contributed to improving system development efficiency. . Therefore, a DBMS (embedded database) suitable for a built-in device has been proposed and used to utilize the DBMS in a small device.

一般に、機器の用途では、検索結果の並び(出力順)を所定の順番、例えばデータの登録時間順(カメラであれば撮影順、TVであれば録画順、複写機であればジョブ発生順)で求める場合が多い。通常、データベースは、この所定の順番に対応するために、(1)まず検査結果集合を抽出する。(2)次に、その集合を指定順にソート、の2段階で処理するため、ソート処理が必ず発生してしまう。ソート処理は、サーバのように大きなリソースを持つ機器の場合は問題にならないが、カメラのように低リソースの機器にとっては負荷が重く深刻な問題となる。   In general, in the application of a device, the order of search results (output order) is in a predetermined order, for example, data registration time order (shooting order for cameras, recording order for TVs, job generation order for copiers). There are many cases to ask for. Usually, in order to correspond to this predetermined order, the database (1) first extracts a test result set. (2) Next, since the set is processed in two stages of sorting in the designated order, the sorting process always occurs. Sort processing is not a problem for a device having a large resource such as a server, but a heavy load is a serious problem for a device having a low resource such as a camera.

このようなデータベースにおけるソート処理軽減の工夫はこれまでにも提案がなされている。例えば、特許文献1においては、検索条件とインデクスの構造を比較して、インデクス経由のレコード読み出しがソート処理と同じ効果が得られるかを判断し、同じならインデクス経由でレコードを読み出して、ソート処理を省略して検索する技術を開示している。   There have been proposals for reducing the sort processing in such a database. For example, in Patent Document 1, a comparison is made between a search condition and an index structure, and it is determined whether or not the record reading via the index has the same effect as the sorting process. The technique of searching by omitting is disclosed.

特開平8−255170号公報JP-A-8-255170

前述の特許文献1による対策は、ソートキーの順序に格納されたインデクスがたまたま存在するか否かを利用するというものであり、存在した場合のみ効果が得られるに過ぎない手法である。これに対して、低リソースの機器、例えばカメラにおいては確実に効果が得られる工夫が求められる。   The above-mentioned countermeasure according to Patent Document 1 uses whether or not the index stored in the order of the sort keys happens to be present, and is a method that can only be effective when it exists. On the other hand, a device that can surely obtain an effect is required for a low-resource device such as a camera.

実際には、カメラの場合は検索結果を撮影時間順にソートすることがほとんどであり、時間順ソートが高速なら充分実用的であり、任意の並び順出力を高速化する必要はない。
本発明は前述の問題点に鑑み、カメラのような低リソース機器においても、検索結果の時間順ソートを少ない負荷で高速に処理できるデータベースを実現して、機器上検索の操作性を向上させることができるようにすることを目的とする。
Actually, in the case of a camera, the search results are mostly sorted in order of shooting time. If the time order sort is fast, it is practical enough, and it is not necessary to speed up the arbitrary sort order output.
In view of the above-described problems, the present invention realizes a database capable of processing search results in time order with a small load even at low resource devices such as cameras, thereby improving the operability of on-device search. The purpose is to be able to.

本発明のデータ処理方法は、内部IDによって一意に特定可能な行データが構成されるとともに、前記内部IDと前記行データの内部に保持される登録時間のペアが全順序関係を成すように構成されたデータベースで検索を行うデータ処理方法であって、前記行データを前記内部IDの順に取得する行データ取得工程と、前記取得された行データがユーザ指定の検索条件を満たすか否かを判定する検索条件判定工程と、前記検索条件判定工程で条件を満たすと判定されたときに行データを出力する行データ出力工程とを備え、登録時間順に検索結果出力することを特徴とする。   The data processing method of the present invention is configured such that row data that can be uniquely specified by an internal ID is configured, and pairs of registration times held in the internal ID and the row data form a total order relationship. A data processing method for performing a search in a database, wherein a row data acquisition step of acquiring the row data in the order of the internal ID, and determining whether or not the acquired row data satisfies a user-specified search condition And a row data output step for outputting row data when it is determined that the condition is satisfied in the search condition determination step, and the search results are output in the order of registration time.

本発明によれば、検索結果を時間順に出力する場合に、検索結果集合抽出後の最終的な時間順ソート処理を省略できるため、低リソース機器においても高速に時間順検索結果を出力することができる。   According to the present invention, when the search results are output in time order, the final time order sorting process after extraction of the search result set can be omitted, so that even in low resource devices, the time order search results can be output at high speed. it can.

第1の実施形態を示し、データ処理装置の全体構成を示すブロック図である。It is a block diagram which shows 1st Embodiment and shows the whole structure of a data processor. データ処理装置における検索の処理例を示した図である。It is the figure which showed the example of a process of the search in a data processor. データ処理装置におけるデータベースの格納構造を示した図である。It is the figure which showed the storage structure of the database in a data processor. データ処理装置のエクスポート/インポートの処理の例を示した図である。It is the figure which showed the example of the process of export / import of a data processor. 全順序関係に応じたインポート処理方法を説明した図である。It is a figure explaining the import processing method according to all the order relations. 装置全体の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of the whole apparatus. 検索処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a search process. インポート処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of an import process. 内部ID再調整処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of an internal ID readjustment process. 第2の実施形態のデータ処理装置の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the data processor of 2nd Embodiment. 第3の実施形態を示し、内部IDの実現例を示した図である。It is the figure which showed 3rd Embodiment and showed the implementation example of internal ID.

(第1の実施形態)
以下、図面を参照しながら本発明の好適な実施形態を詳細に説明する。
図1は、第1の実施形態のデータ処理装置100の構成を示すブロック図である。
図1に示した構成において、CPU101はマイクロプロセッサであり、検索処理、エクスポート処理、インポート処理、撮影処理、画面遷移処理等のための演算、論理判断等を行い、バスを介してバスに接続された各構成要素を制御する。
(First embodiment)
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram illustrating a configuration of a data processing device 100 according to the first embodiment.
In the configuration shown in FIG. 1, the CPU 101 is a microprocessor, and performs operations such as search processing, export processing, import processing, shooting processing, screen transition processing, logical determination, etc., and is connected to the bus via the bus. Control each component.

BUS106は、マイクロプロセッサCPU(Central Processing Unit)101の制御対象である各構成要素を指示するアドレス信号、コントロール信号を転送する。また、各構成要素間のデータ転送を行う。入力部102はボタン、タッチパネル、キーボード等であり、オペレータが各種の指示を行う。表示部103は液晶ディスプレイ等である。   The BUS 106 transfers an address signal and a control signal instructing each component that is a control target of the microprocessor CPU (Central Processing Unit) 101. In addition, data transfer between each component is performed. The input unit 102 is a button, a touch panel, a keyboard, or the like, and an operator gives various instructions. The display unit 103 is a liquid crystal display or the like.

撮像部104は撮像センサ等であり、映像を読み取って電子データに変換する装置である。通信部105はデータ交換コントローラである。無線LAN、接続ケーブル等を介して外部とのデータ交換を行う装置である。インポート処理でインポートされるデータ、エクスポート処理でエクスポートされるデータはこの通信部105を介して外部の機器とやり取りされる。   The imaging unit 104 is an imaging sensor or the like, and is a device that reads an image and converts it into electronic data. The communication unit 105 is a data exchange controller. This is a device for exchanging data with the outside via a wireless LAN, a connection cable or the like. Data imported in the import process and data exported in the export process are exchanged with an external device via the communication unit 105.

ROM107は読出専用の不揮発性メモリである。CPU101によるブートプログラム、及び各種処理で使用する初期データ等を記憶する。ブートプログラムはシステム起動時に初期データをRAM108にロードし、CPU101に制御プログラムを実行させる。制御プログラムについては、後にフローチャートを参照して詳述する。   The ROM 107 is a read-only nonvolatile memory. A boot program by the CPU 101 and initial data used in various processes are stored. The boot program loads initial data into the RAM 108 when the system is started, and causes the CPU 101 to execute the control program. The control program will be described in detail later with reference to a flowchart.

RAM108は読み書き可能なランダムアクセスメモリであって、各構成要素からの各種データの一次記憶に用いる。データを処理するためのスタック、必要データを一時記憶する各種ワーク領域、表示に必要な表示データを一時記憶するバッファ等、処理中に値変更が行われる各種データが格納される。インポート処理でインポートされるデータもこのRAM108に一次記憶されて処理される。   A RAM 108 is a readable / writable random access memory, and is used for primary storage of various data from each component. Various data whose values are changed during processing, such as a stack for processing data, various work areas for temporarily storing necessary data, and a buffer for temporarily storing display data necessary for display, are stored. Data imported in the import process is also temporarily stored in the RAM 108 and processed.

DISK109は大規模記憶装置であり、大量のデータを変更可能に記憶するためのものである。ハードディスクあるいはフラッシュメモリ等で構成される。本実施形態のデータ処理装置100で使用する行データ、インデクス等が格納され、必要に応じて内容が修正される。   The DISK 109 is a large-scale storage device for storing a large amount of data in a changeable manner. It consists of a hard disk or flash memory. Row data, indexes, and the like used in the data processing apparatus 100 of the present embodiment are stored, and the contents are corrected as necessary.

前述した各構成要素からなる第1の実施形態のデータ処理装置100においては、入力部102等を介して入力される各種イベントに応じて作動するものである。入力部102等からインタラプト信号がCPU101に送られ、それに伴ってイベントが発生し、イベントに応じてCPU101がROM107またはRAM108内に記憶される各種命令を読み出し、その実行によって各種の制御が行われる。   The data processing apparatus 100 according to the first embodiment including the above-described components operates according to various events input via the input unit 102 or the like. An interrupt signal is sent from the input unit 102 or the like to the CPU 101, and an event is generated accordingly. The CPU 101 reads various commands stored in the ROM 107 or the RAM 108 according to the event, and various controls are performed by executing the commands.

図2は、第1の実施形態が対象とする検索の処理例を示した図である。なお、検索のユーザ指定は、ユーザがタッチパネル等を指示して行い、受け付けられた検索指示はアプリケーションによって解釈され、DB操作言語(SQL文等)で記述された検索クエリの形式でDBMSに渡されることになる。   FIG. 2 is a diagram illustrating an example of search processing targeted by the first embodiment. The user designation of the search is performed by the user instructing the touch panel or the like, and the received search instruction is interpreted by the application and passed to the DBMS in the form of a search query described in a DB operation language (SQL sentence or the like). It will be.

図2(a)は、検索クエリ(SQL文)の例を示す図である。ある写真集合を属性で検索できるように管理するデータベース(PhotoAlbum)の中から被写体(Person)が‘Kate’の写真を検索し、撮影時間(Time)順にソートして出力することを指定している。なお、第1の実施形態においては、カメラを想定しており、撮影時間はデータの登録時間を意味し、撮影時間順は登録時間順を意味する。   FIG. 2A is a diagram illustrating an example of a search query (SQL sentence). It is specified that a photo whose subject (Person) is 'Kate' is searched from a database (PhotoAlbum) that is managed so that a set of photos can be searched by attribute, sorted and output in order of shooting time (Time). . In the first embodiment, a camera is assumed, the shooting time means data registration time, and the shooting time order means registration time order.

図2(b)は、図2(a)の検索クエリに対する検索処理を示している。多数の写真を集めて管理している写真集合201がある。まず、最初のステップ(ステップ1)において写真集合201から検索条件を満たす写真を抽出して検索結果集合となる写真リスト202を作成する。次のステップ(ステップ2)において、この写真リスト203中の写真を検索クエリで指定する撮影時間順にソートし、ソートされた写真リスト203を作成する。この場合、ステップ2のソート処理はシステムに対して相応の負荷をかけることになる。もし、ステップ1の段階で、最終的に得られる写真リスト203の順に写真を抽出できれば、ステップ2の処理を省略できる。   FIG. 2B shows search processing for the search query in FIG. There is a photo set 201 that collects and manages a large number of photos. First, in the first step (step 1), photos satisfying the search condition are extracted from the photo set 201 to create a photo list 202 that becomes a search result set. In the next step (step 2), the photos in the photo list 203 are sorted in the order of shooting times specified by the search query, and the sorted photo list 203 is created. In this case, the sorting process in step 2 places a corresponding load on the system. If the photos can be extracted in the order of the finally obtained photo list 203 at the stage of step 1, the process of step 2 can be omitted.

図2(c)はそのソート処理が省略できる場合の検索処理例を示している。今度は、写真集合204から検索クエリに見合う写真を抽出する際、(1)〜(4)に示すように、最終的な出力順である撮影時間の順番に写真を抽出し、その順で写真リスト205を作成していく。このようにすると、最終的なソート処理を省略することができるので、処理負荷を減少させることができる。   FIG. 2C shows an example of a search process when the sort process can be omitted. This time, when extracting the photos that match the search query from the photo set 204, as shown in (1) to (4), the photos are extracted in the order of the shooting time, which is the final output order, and the photos in that order. A list 205 is created. In this way, the final sorting process can be omitted, so that the processing load can be reduced.

図3は、第1の実施形態におけるデータベースの格納構造を示した図である。基本的にはいわゆるB−Tree(木構造)の構造である。
図3(a)は、行データの格納構造を示している。行データは、行を一意に特定可能な内部ID(RowIDと呼ぶ)をキーとして、B−Treeの形式で格納される。なお、内部IDは行データを一意に特定するためのIDで、重複してはいけないという制約がある。
FIG. 3 is a diagram showing a database storage structure in the first embodiment. Basically, it has a so-called B-Tree (tree structure) structure.
FIG. 3A shows a storage structure of row data. The row data is stored in a B-Tree format using an internal ID (referred to as RowID) that can uniquely identify the row as a key. Note that the internal ID is an ID for uniquely identifying the row data, and there is a restriction that it should not be duplicated.

そのため、通例、個々のデータベースごとに異なる体系を持ち、内部で閉じたIDとして使用される。データベースの格納単位はノード301であり、複数のノードから構成される。各ノードはキー302と枝303からなり、最も上位のノード(ルートノード)から、キーの大小関係を判断して枝をたどることによって目的ノードまでたどることができる。最下層のノード(リーフノード)には複数の行データ304がRowIDの順に格納される。行データは行を特定するためのRowID305、撮影時間情報306、及びその他の列307から構成される。ここで、RowIDを時間(撮影時間情報)順としているので、格納順が時間順になっている。   For this reason, usually, each database has a different system and is used as an ID closed inside. The database storage unit is a node 301, which is composed of a plurality of nodes. Each node is composed of a key 302 and a branch 303, and the target node can be traced from the highest node (root node) by determining the key size relationship and following the branch. In the lowest layer node (leaf node), a plurality of row data 304 is stored in the order of RowID. The row data includes a RowID 305 for specifying a row, shooting time information 306, and other columns 307. Here, since RowID is in time (shooting time information) order, the storage order is in time order.

インデクスは、属性に従って行データを検索したい場合に、検索を高速化するために用意されるものである。高速検索が必要な属性ごとにインデクスを作成することになる。図3(b)はインデクスの格納構造の一例である。人名(Person)のインデクスを示している。PersonをキーとしたB−Treeの構造となっている。行データの格納構造と基本的に同一となるが、最下端のリーフノードに行データの代わりにキーであるPerson(308)とRowID(309)のペアが格納される点が異なっている。各ペアはPersonの値が同じ場合、RowIDの順、すなわち時間(撮影時間情報)順に格納される。このようにインデクスを介して検索した場合も、時間順に行データを取得できることになる。   The index is prepared to speed up the search when it is desired to search the row data according to the attribute. An index is created for each attribute that requires high-speed search. FIG. 3B shows an example of an index storage structure. The index of the person name (Person) is shown. It has a B-Tree structure with Person as a key. This is basically the same as the storage structure of the row data, except that a pair of Person (308) and RowID (309), which is a key, is stored in the lowermost leaf node instead of the row data. When the value of Person is the same, each pair is stored in the order of RowID, that is, in order of time (shooting time information). As described above, even when searching through the index, the row data can be acquired in time order.

図4は、第1の実施形態におけるエクスポート/インポート処理の例を示した図である。エクスポート時は、機器1(401)において内部のデータベースDB1から部分データベースDB2(402)がエクスポートされ、外部に出力される。このとき、本来は内部のID情報であるRowID情報を含めて出力される。以降、データベースDB1をエクスポート元データベース、DB2をエクスポート先データベースと呼ぶ。エクスポートされたデータベースDB2は、機器2(403)に転送され、機器2内の一時記憶領域に格納される。あるいは、一旦、SDカード等の外部メディアに吐き出され、その外部メディアが機器2に装着されることによりデータ転送される。   FIG. 4 is a diagram showing an example of export / import processing in the first embodiment. At the time of export, the partial database DB2 (402) is exported from the internal database DB1 in the device 1 (401) and output to the outside. At this time, it is output including RowID information which is originally internal ID information. Hereinafter, the database DB1 is called an export source database, and DB2 is called an export destination database. The exported database DB2 is transferred to the device 2 (403) and stored in a temporary storage area in the device 2. Alternatively, the data is transferred to an external medium such as an SD card once the external medium is attached to the device 2.

次に、インポート時は、該転送されたデータベースDB2が、機器2(403)において、内部のデータベースDB3にインポートされる。以降、DB2をインポート元データベース、DB3をインポート先データベースと呼ぶ。このとき、RowIDの値と時間情報がインポート先データベースDB3の内部で先後関係が矛盾しないようにRowIDの値が調整されてインポートされる。例えば、インポート元データベースDB2でのRowID=50の行データがRowID=1に変更されてインポートされている。   Next, at the time of import, the transferred database DB2 is imported into the internal database DB3 in the device 2 (403). Hereinafter, DB2 is called an import source database, and DB3 is called an import destination database. At this time, the value of the RowID is adjusted and imported so that the relationship between the value of the RowID and the time information does not contradict within the import destination database DB3. For example, the row data of RowID = 50 in the import source database DB2 is changed to RowID = 1 and imported.

図5は、第1の実施形態において、全順序関係に応じたインポート処理方法を説明した図である。
図5(a)は、インポートされるべきデータ(インポート行データ)の例を示した図である。図4で説明したように、別のデータベースからエクスポートされて生成された行データである。行データは、RowID(501)、撮影時間情報(502)、その他の情報(503)の列からなる。RowID(501)は、図4の説明でも述べたように、本来は内部のみで使用されるIDであるので、通例はエクスポートされないデータであるが、第1の実施形態においてはエクスポートされて存在する。
FIG. 5 is a diagram illustrating an import processing method according to the total order relationship in the first embodiment.
FIG. 5A is a diagram showing an example of data to be imported (imported row data). As described with reference to FIG. 4, the row data is generated by being exported from another database. The row data consists of columns of RowID (501), shooting time information (502), and other information (503). As described in the description of FIG. 4, RowID (501) is originally an ID that is used only internally, and is usually data that is not exported. However, in the first embodiment, it is exported. .

図5(b)は、全順序関係が維持できる場合のインポート例を示す図である。インポート前のDBを504で示し、インポート後のDBを505で示している。インポート後のDB505において、太枠部分は図5(a)がインポートされた行データである。(RowID、撮影時間)のペアがDB内でインポート先のDB内においても全順序関係を成しているので、RowIDが変更されずにそのままの値でインポートされていることが分かる。   FIG. 5B is a diagram illustrating an import example when the total order relationship can be maintained. A DB before import is indicated by 504, and a DB after import is indicated by 505. In the DB 505 after the import, the thick frame portion is the row data in which FIG. Since the pair of (RowID, shooting time) has a total order relationship in the DB of the import destination in the DB, it can be seen that the RowID is imported as it is without being changed.

図5(c)は、全順序関係が維持できない場合のインポート例である。同様に、インポート前のDBを506で示し、インポート後のDBを507で示している。やはり同様に、インポート後のDB507において、太枠部分の行データがインポートされた行データであるが、今度は、RowIDの値が変更されていることが分かる。   FIG. 5C shows an import example when the total order relationship cannot be maintained. Similarly, the DB before import is indicated by 506, and the DB after import is indicated by 507. Similarly, in the DB 507 after import, the row data in the thick frame portion is the imported row data, but it can be seen that the value of RowID is changed this time.

すなわち、RowIDが元のままでは(RowID、撮影時間)のペアが、直前、あるいは直後の撮影時間の行と全順序関係を成さないので、全順序関係が成り立つようにRowIDの値が調整されてインポートされたのである。508の行データは、直前の撮影時間の行(RowID=10)と直後の撮影時間の行(RowID=20)の間になるようにRowIDの値が調整(RowID=15)されてインポートされている。   That is, since the pair of (RowID, shooting time) does not have a total order relationship with the immediately preceding or immediately following shooting time row if the RowID remains unchanged, the value of the RowID is adjusted so that the total order relationship is satisfied. Was imported. The row data of 508 is imported by adjusting the value of RowID (RowID = 15) so that it is between the row of the previous shooting time (RowID = 10) and the row of the next shooting time (RowID = 20). Yes.

509の行データは、直前の撮影時間の行が複数(RowID=30と40)存在するが、このうち最大の値(RowID=40)と直後の撮影時間の行(RowID=50)の間に調整(RowID=45)されてインポートされている。5010の行データは、直前の撮影時間の行(RowID=70)と直後の撮影時間の行(RowID=71)の間が存在せず、新たな中間のRowIDが設定できないので、インポート先データベースの周辺のRowIDが不連続値となるように変更されている。すなわち、RowID=71の行は80に、72の行は90に変更された。その後、直前と直後の中間値(RowID=75)が求められ、インポートされている。   In the row data 509, there are a plurality of rows (RowID = 30 and 40) of the immediately preceding shooting time, but between the maximum value (RowID = 40) and the row of the immediately following shooting time (RowID = 50). Adjusted (RowID = 45) and imported. In the row data 5010, there is no space between the immediately preceding shooting time row (RowID = 70) and the immediately following shooting time row (RowID = 71), and a new intermediate RowID cannot be set. The peripheral RowID has been changed to be a discontinuous value. That is, the row with RowID = 71 is changed to 80, and the row with 72 is changed to 90. Thereafter, an intermediate value immediately before and after (RowID = 75) is obtained and imported.

前述の動作をフローチャートに従って説明する。
図6は、第1の実施形態におけるデータ処理装置100の動作を示すフローチャートである。より具体的には、CPU101の処理手順を示すフローチャートである。S601はシステムの初期化処理であり、各種パラメータの初期化や初期画面の表示等を行う処理である。
The above operation will be described with reference to a flowchart.
FIG. 6 is a flowchart illustrating the operation of the data processing apparatus 100 according to the first embodiment. More specifically, it is a flowchart showing a processing procedure of the CPU 101. S601 is a system initialization process, which initializes various parameters, displays an initial screen, and the like.

S602は、タッチパネル等の入力部102から何らかのイベントが発生するのをCPU101において待つ処理である。イベントが発生すると、S603においてCPU101がこのイベントを判別し、イベントの種類に応じて各種の処理に分岐する。図6においては、各種イベントに対応した分岐先の複数の処理をS604という形でまとめて表現している。   In step S602, the CPU 101 waits for an event to occur from the input unit 102 such as a touch panel. When an event occurs, the CPU 101 determines this event in S603, and branches to various processes depending on the type of event. In FIG. 6, a plurality of branch destination processes corresponding to various events are collectively expressed in the form of S604.

図7で詳述する検索処理、図8で詳述するインポート処理はこの分岐先の一部となる。他の処理としては、詳細は記述しないが、エクスポート処理、撮影処理、写真閲覧処理、通信処理、電源OFF処理などの処理がある。
S605は上記の各処理の処理結果や処理終了を通知し、画面を各処理の指示に従って表示する処理である。エラーがあった場合のエラー表示、正常な処理が行われた場合の画面表示への反映など通常広く行われる処理である。
The search process detailed in FIG. 7 and the import process detailed in FIG. 8 are part of this branch destination. Other processes include processes such as an export process, a photographing process, a photo browsing process, a communication process, and a power-off process, although details are not described.
S605 is a process for notifying the result of each process and the end of the process, and displaying the screen according to the instruction for each process. This is a process that is usually performed widely, such as displaying an error when there is an error and reflecting it on the screen display when normal processing is performed.

図7は、図6のS604の一部である検索処理を詳細化したフローチャートである。
S701において、初期設定が必要な変数、テーブルを初期化し、検索条件に応じた処理インデクスを選定する。例えば、「SELECT * FROM PhotoAlbum WHERE Person = ‘Kate’ AND Place = ‘Tokyo’ ORDER BY Time」というクエリに対して、Personのインデクスを選定する。
FIG. 7 is a detailed flowchart of the search process that is a part of S604 of FIG.
In step S701, variables and tables that need to be initialized are initialized, and a processing index corresponding to the search condition is selected. For example, for the query “SELECT * FROM PhotoAlbum WHERE Person =“ Kate ”AND Place =“ Tokyo ”ORDER BY Time”, the index of Person is selected.

S702において、検索条件から検索範囲を設定し、その範囲の先頭にポインタを初期設定する。例えば、PersonインデクスのB−Treeを辿って行き、Kateの始まりの位置にポインタを設定する。
S703において、ポインタに従ってRowIDの値を取得し、今度は行データのB−Treeを辿り、行データを取得する。既に説明したB−Treeのデータ構造に従って必ずRowIDの順、すなわち撮影時間順に行データ取得処理が行われることになる。
In S702, a search range is set from the search conditions, and a pointer is initially set at the head of the range. For example, the B-Tree of the Person index is traced, and a pointer is set at the start position of Kate.
In S703, the value of RowID is acquired according to the pointer, and this time, the B-Tree of the row data is traced to acquire the row data. In accordance with the data structure of the B-Tree already described, the row data acquisition process is always performed in the order of RowID, that is, in order of photographing time.

S704において、取得された行データが検索条件を満たすか否かをチェックする。例えば、先の例では、Place=‘Tokyo’を満たすか否かをチェックする検索条件判定を行う。S705において、検索条件判定処理を行い、検索条件を満たしている場合にはS706に進み、満たさない場合はS707にスキップする。   In step S704, it is checked whether the acquired row data satisfies the search condition. For example, in the previous example, a search condition determination is performed to check whether or not “Place =’ Tokyo ”is satisfied. In S705, a search condition determination process is performed. If the search condition is satisfied, the process proceeds to S706, and if not satisfied, the process skips to S707.

S706においては、検索条件を満たしているので行データ出力処理を行う。これによって検索結果出力が行われることになる。
S707において、ポインタが検索範囲の終了位置に来ているか否かを判定し、終了位置のときは、これ以上の処理は不要なのでリターンし、終了でないときは、S708に分岐する。ステップS708においては、検索範囲内の次の行データをポイントするためにポインタを更新し、S703にループする。
In S706, row data output processing is performed because the search condition is satisfied. As a result, the search result is output.
In S707, it is determined whether or not the pointer is at the end position of the search range. If the pointer is at the end position, no further processing is required and the process returns. If not, the process branches to S708. In step S708, the pointer is updated to point to the next row data in the search range, and the process loops to S703.

図8は、S604の一部であるインポート処理を詳細化したフローチャートである。
S801において、インポートされる行データの集合を取得する。インポートされる行データは、例えば、機器内のRAM108内に一時記憶されている。S802において、インポートされる行データを1件取得する。その行の内部ID取得、撮影時間取得を行い、RowIDをR、撮影時間をTとする。
FIG. 8 is a flowchart detailing the import process that is a part of S604.
In step S801, a set of row data to be imported is acquired. The imported row data is temporarily stored in the RAM 108 in the device, for example. In S802, one row data to be imported is acquired. Internal ID acquisition and shooting time acquisition of the row are performed, RowID is R, and shooting time is T.

S803において、行データが取得できたか否かを判定し、取得できなかったときは、処理終了でリターンし、取得できたときはS804に進む。S804において、インポート先データベースにRと同値のRowIDの行があるか否かをチェックする。すなわち、内部ID衝突チェックを行う。   In step S803, it is determined whether or not the row data can be acquired. If the row data cannot be acquired, the process ends. If acquired, the process proceeds to step S804. In S804, it is checked whether or not there is a RowID row having the same value as R in the import destination database. That is, an internal ID collision check is performed.

S805においては、ID衝突の有無を判定する、内部ID衝突判定を行う。同値のRowIDがある場合、すなわち、RowIDが衝突しているときはS811に分岐するが、衝突していないときはS806に分岐する。S806において、インポート先データベースからRより小さくてRに最も近いRowIDを取得し、その値をR1とする。   In step S805, internal ID collision determination is performed to determine whether or not there is an ID collision. If there is a RowID with the same value, that is, if the RowID collides, the process branches to S811, but if not, the process branches to S806. In S806, a RowID that is smaller than R and closest to R is acquired from the import destination database, and the value is set as R1.

S807において、R1の行の撮影時間を取得しT1とする。S808において、インポート先データベースからRより大きくてRに最も近いRowIDを取得し、その値をR2とする。S809において、R2の行の撮影時間を取得しT2とする。   In S807, the shooting time of the row R1 is acquired and set to T1. In S808, a RowID greater than R and closest to R is acquired from the import destination database, and the value is set as R2. In S809, the shooting time of the row R2 is acquired and set to T2.

S810において、T1<T<T2を満たすか否かを判定する。すなわち、全順序関係判定を行い、全順序関係を成していないときはS815に分岐し、全順序関係を成しているときはS816に分岐する。S815において、全順序関係が成り立たない場合の処理を行う。すなわち、インポートされる行データを引数として、図9に詳述する内部ID再調整処理を呼ぶことによって、インポート先データベースあるいはインポートされる行データのRowIDを調整する。S816において、行データをインポートし、S817に移行する。   In S810, it is determined whether T1 <T <T2 is satisfied. That is, a total order relation determination is performed, and if the total order relation is not established, the process branches to S815, and if the total order relation is established, the process branches to S816. In S815, processing is performed when the total order relationship does not hold. That is, the row ID of the import destination database or the imported row data is adjusted by calling the internal ID readjustment process described in detail in FIG. 9 with the imported row data as an argument. In S816, the row data is imported, and the process proceeds to S817.

一方、S805において、RowIDが衝突しているときはS811に分岐し、S811において、衝突している2つの行データの全列が同一であるか否かを判定する。同一の行データなら、そもそもインポート処理する必要がないのでS817に分岐して次の行データの処理に移る。同一でなければS812に進む。   On the other hand, if the RowID collides in S805, the process branches to S811, and in S811, it is determined whether or not all the columns of the two conflicting row data are the same. If it is the same line data, it is not necessary to perform the import process in the first place, so the process branches to S817 to move to the next line data. If not identical, the process proceeds to S812.

S812において、同期が必要な行データ(同期データ)であるか否かをチェックする。チェック方法は、行データの指すコンテンツが一致する場合に同期が必要と判断する。別のチェック方法としては、予めコンテンツを一意に特定するID情報を定めておき、その情報を行データの列に保持しておき、その情報の一致で判断する、などの方法が考えられる。   In S812, it is checked whether or not the row data needs to be synchronized (synchronized data). The check method determines that synchronization is required when the contents indicated by the row data match. As another check method, a method may be conceived in which ID information for uniquely specifying content is determined in advance, the information is stored in a row data column, and the determination is made based on the matching of the information.

S813において、同期データか否かを判定する。同期データでなければS815に分岐し、同期データのときはS814に進む。S814において、同期処理を行う。同期処理は、2つの行データのうち、新しい行を選択して更新する処理である。あるいは、列単位で新しいデータに更新する場合もある。その場合、差分を抽出してどちらが最新か否かを判定し、更新することになる。あるいは、どのデータを選ぶかはユーザに選択させる処理を行う場合もある。その後、S817に移行する。S817においては、次の行データをポイントするためにポインタを更新し、S803にループする。   In step S813, it is determined whether the data is synchronous data. If it is not synchronous data, the process branches to S815, and if it is synchronous data, the process proceeds to S814. In S814, synchronization processing is performed. The synchronization process is a process of selecting and updating a new line from the two line data. Or, it may be updated to new data in units of columns. In that case, the difference is extracted to determine which is the latest and updated. Alternatively, there is a case where a process for causing the user to select which data is selected is performed. Thereafter, the process proceeds to S817. In S817, the pointer is updated to point to the next row data, and the process loops to S803.

図9は、S815の内部ID再調整処理を詳細化したフローチャートである。
S901において、インポートされる行データの撮影時間を取得しTとする。S902において、インポート先データベースに存在してTより小さくてTに最も近い撮影時間を取得し、T1とする。S903において、T1を撮影時間としてもつ(複数の)行のうち最大のRowIDをR1とする。
FIG. 9 is a flowchart detailing the internal ID readjustment process of S815.
In S901, the shooting time of the row data to be imported is acquired and set as T. In step S902, a shooting time that is present in the import destination database and is smaller than T and closest to T is acquired, and is set as T1. In step S903, the maximum RowID among the row (s) having T1 as the shooting time is R1.

S904において、インポート先データベースに存在してTより大きくてTに最も近い撮影時間を取得し、T2とする。S905において、T2を撮影時間として持つ(複数の)行のうち最小のRowIDをR2とする。S906において、R1<R<R2を満たすRを取得する。   In S904, an imaging time that is present in the import destination database and is greater than T and closest to T is acquired, and is set as T2. In S905, the minimum RowID among the (plurality of) rows having T2 as the shooting time is R2. In S906, R satisfying R1 <R <R2 is acquired.

S907において、Rが存在するか否かを判定する。存在しない場合(すなわち、R1とR2が連番である場合)、S908に分岐する。S908において、インポートされる行データのRowIDのうち、R1あるいはR2付近のRowIDの値が連番とならないように(すなわち、不連続の値となるように)リナンバーする。このリナンバーはインポート先データベース全体に対して実施することもできるが、R1、R2付近について局所的にリナンバーしてもよい。その後S906にループする。S907において、Rの値が存在した場合(すなわち、R1とR2が連続値でなかった場合)は、S909に分岐し、インポートされる行データのRowIDをRに変更してリターンする。なお、本発明は前述の実施形態に限定されるのではなく、本発明の趣旨を逸脱しない限りにおいて適宜変更が可能である。   In S907, it is determined whether or not R exists. If it does not exist (that is, if R1 and R2 are serial numbers), the process branches to S908. In S908, the row IDs in the row data to be imported are renumbered so that the values of the row IDs in the vicinity of R1 or R2 do not become sequential numbers (that is, become discontinuous values). This renumbering can be performed on the entire import destination database, but it may be locally renumbered in the vicinity of R1 and R2. Thereafter, the process loops to S906. If the value of R exists in S907 (that is, if R1 and R2 are not continuous values), the process branches to S909, changes the RowID of the imported row data to R, and returns. It should be noted that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.

(第2の実施形態)
これまで述べた実施形態においては、カメラ等のデバイス上でエクスポート処理、インポート処理等を実行することを想定して説明していた。ところが、カメラで撮影した写真等のデータはPC等で集中管理し、必要なデータをデバイスに配信してデバイス上で閲覧等するという使い方も存在する。このような場合、リソースの少ないカメラ上で複雑なインポート処理を行う必要性は少なく、PC上でカメラのためのインポート処理を行う方が妥当である。第2の実施形態は、このようにPC上でインポート処理を実現する場合の動作を説明する。
(Second Embodiment)
In the embodiments described so far, the description has been made assuming that export processing, import processing, and the like are executed on a device such as a camera. However, there is a usage in which data such as photographs taken with a camera is centrally managed by a PC or the like, and necessary data is distributed to the device and browsed on the device. In such a case, it is not necessary to perform complicated import processing on a camera with few resources, and it is more appropriate to perform import processing for the camera on the PC. In the second embodiment, the operation when the import process is realized on the PC will be described.

図10は、第2の実施形態に係るシステムの全体構成の例を示した図である。
図10(a)は全体構成であり、図1で示した全体構成とよく似た構成となっている。異なる点のみを説明する。
CPU1001、入力部1002、表示部1003、通信部1004、BUS1006、ROM1007、RAM1008、DISK1009等の構成及び役割はほぼ同じである。
FIG. 10 is a diagram illustrating an example of the overall configuration of a system according to the second embodiment.
FIG. 10A shows the overall configuration, which is very similar to the overall configuration shown in FIG. Only the differences will be described.
The configurations and roles of the CPU 1001, the input unit 1002, the display unit 1003, the communication unit 1004, the BUS 1006, the ROM 1007, the RAM 1008, the DISK 1009, and the like are almost the same.

本実施形態においては、PCであるため、図1の撮像部104は存在しない。通信部1004を介してデバイス1005(例えばカメラ)と接続され、デバイス上のデータベース(デバイスDB1)が参照できる。RAM1008にはワーク領域として抽出データ領域が使用され、DISK1009には全体DB、デバイスDB2が格納される。   In the present embodiment, since it is a PC, the imaging unit 104 in FIG. 1 does not exist. A device 1005 (for example, a camera) is connected via the communication unit 1004, and a database (device DB1) on the device can be referred to. The extracted data area is used as a work area in the RAM 1008, and the entire DB and device DB2 are stored in the DISK 1009.

全体DBには複数のデバイスから入手されたデータ(写真等)が集中管理される。デバイスDBは、デバイスにデータをインポートする際に使用するワーク領域である。インポートの際には、デバイス上のデータベース(デバイスDB1)がデバイスDB2に一旦コピーされる。   Data (photographs, etc.) obtained from a plurality of devices is centrally managed in the entire DB. The device DB is a work area used when importing data into a device. At the time of import, the database (device DB1) on the device is temporarily copied to the device DB2.

全体DBに記憶されたデータのうち、デバイスにインポートしたいデータは、一旦、抽出データ領域に抽出され、このようにコピーされたデバイスDB2にインポート処理される。インポート処理が終了後、このデバイスDB2はデバイス上のデバイスDB1に書き戻され、最終的にデバイスが使用可能になる。   Of the data stored in the entire DB, the data to be imported to the device is once extracted in the extraction data area and imported into the device DB 2 thus copied. After the import process is completed, this device DB2 is written back to the device DB1 on the device, and finally the device can be used.

図10(b)は、全体DBの論理構造(表形式)を示した図である。物理構造は、図3で説明したB−Treeの構造である。データベースを処理する場合に使用される本来のRowIDとして、1010の列が存在する。それとは別に、全体DBは各デバイスがDBを使用していたときのRowID情報を全て保管しておく。   FIG. 10B shows a logical structure (table format) of the entire DB. The physical structure is the B-Tree structure described with reference to FIG. There are 1010 columns as the original RowID used when processing the database. Separately, the entire DB stores all RowID information when each device is using the DB.

この場合、それを示したのが1011、1012であり、2つのデバイスの情報を保持する。例えば、デバイスDB1用のRowIDは1010の列に格納するとする。撮影時刻の情報は1013の列に格納され、その他の列の情報は1014でまとめて示した。このように全体DBの情報は、各デバイスが保有していた情報の全てを合わせて保有することになる。   In this case, reference numerals 1011 and 1012 indicate the information of two devices. For example, it is assumed that the RowID for the device DB1 is stored in the column 1010. The shooting time information is stored in a column 1013, and the information in the other columns is collectively shown by 1014. Thus, the information in the entire DB is held together with all the information held by each device.

デバイスにインポートする際には、まず、インポートが必要なデータを抽出する必要があり、抽出データ領域(1015)に抽出したデータが作成される。この抽出の際には、ターゲットとなるデバイスが特定され、そのデバイス用のRowID情報のみが抽出されている。デバイスDB2の構成を1016で示し、抽出されたデータはここにインポートされる。   When importing into a device, it is first necessary to extract data that needs to be imported, and the extracted data is created in the extracted data area (1015). At the time of this extraction, a target device is specified, and only RowID information for the device is extracted. The configuration of the device DB 2 is indicated by 1016, and the extracted data is imported here.

このように構成することで、複数のデバイスに対応したRowIDをPCにおいて保持できるので、RowIDの調整処理が起動される可能性が少なくなり、システムのパフォーマンスを改善することができる。   With this configuration, RowIDs corresponding to a plurality of devices can be held in the PC, so that the possibility of starting RowID adjustment processing is reduced, and system performance can be improved.

(第3の実施形態)
これまで述べた実施形態においては、内部IDは時間に沿った値として特に詳しく定義して説明していなかった。実際には、機器や機能の事情に応じて、図11に示すような、様々な形態の内部IDが考えられる。
(Third embodiment)
In the embodiments described so far, the internal ID is not particularly defined and explained as a value along the time. Actually, various forms of internal IDs as shown in FIG. 11 are conceivable depending on the circumstances of the equipment and functions.

図11(a)は、データの登録順序情報を使用する場合の例を説明した図である。データが登録される順序を1101で示し、データが登録された時間(登録時間)を1102で示す。登録時間1102の前後関係に応じて登録順序情報が与えられることになる。この方式によれば、内部IDが発番される機構を単純化でき、システムを低リソースで実現することができる。   FIG. 11A is a diagram illustrating an example of using data registration order information. The order in which the data is registered is indicated by 1101, and the time when the data is registered (registration time) is indicated by 1102. Registration order information is given according to the context of the registration time 1102. According to this method, the mechanism for issuing the internal ID can be simplified, and the system can be realized with low resources.

図11(b)は、内部IDとしてデータの登録時刻を採用した場合を説明した図である。登録時刻を1103で示しており、YYYYは年、MMは月、DDは日、hhは時、mmは分、ssは秒を示す。これに対し、内部ID(RowID)の計算式の例を1104で示している。ここでは、シンプルに月の日数を31日に固定した起算日からの秒数を計算する式としたが、もっと緻密な計算式、例えば、月の大小、うるう年、などを考慮した計算式も容易に与えることができる。この形態は、発番の仕掛けが簡単であり、複数の機器間で順序の整合性をとりやすいという利点がある。ただし、同時刻に多数のデータ登録が行われた場合(例えば、カメラで連写が行われた場合など)、内部IDの衝突の可能性が高くなってしまう。   FIG. 11B is a diagram illustrating a case where the data registration time is adopted as the internal ID. The registration time is indicated by 1103, YYYY is the year, MM is the month, DD is the day, hh is the hour, mm is the minute, and ss is the second. On the other hand, an example of an internal ID (RowID) calculation formula is shown by 1104. Here, the formula for calculating the number of seconds from the starting date with the number of days of the month fixed to 31 is simply used. However, more precise formulas such as the size of the month, leap years, etc. are also easy to calculate. Can be given to. This form has the advantage that the numbering is easy and the consistency of the order among the plurality of devices is easy. However, when a large number of data are registered at the same time (for example, when continuous shooting is performed with a camera), the possibility of a collision of internal IDs increases.

図11(c)は、これに対して衝突の可能性をより低くした方式である。前述した登録時刻の定数倍を内部IDとして使用する。登録時刻が1103で与えられた場合、同様に1105の式で内部ID(RowID)を与える。ここで、Cは定数を意味し、例えばC=10などの値で使用する。これによって、内部ID衝突の確率を大幅に低減することができる。
前述した実施形態以外にも、本発明の趣旨を逸脱しない限りにおいて、構成を適宜変更することが可能である。
FIG. 11C shows a method in which the possibility of collision is lowered. A constant multiple of the registration time described above is used as the internal ID. When the registration time is given by 1103, the internal ID (RowID) is given by the formula 1105 in the same manner. Here, C means a constant, and is used with a value such as C = 10, for example. Thereby, the probability of an internal ID collision can be greatly reduced.
In addition to the embodiments described above, the configuration can be changed as appropriate without departing from the spirit of the present invention.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するデータ処理プログラム(コンピュータプログラム)を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, a data processing program (computer program) that implements the functions of the above-described embodiments is supplied to a system or apparatus via a network or various computer-readable storage media. Then, the computer (or CPU, MPU, etc.) of the system or apparatus reads out and executes the program.

100 データ処理装置、101 CPU、102 入力部、103 表示部、104
撮像部、105 通信部、106 通信部、107 ROM、108 RAM、109
100 data processing device, 101 CPU, 102 input unit, 103 display unit, 104
Imaging unit, 105 communication unit, 106 communication unit, 107 ROM, 108 RAM, 109

Claims (7)

内部IDによって一意に特定可能な行データが構成されるとともに、前記内部IDと前記行データの内部に保持される登録時間のペアが全順序関係を成すように構成されたデータベースで検索を行うデータ処理方法であって、
前記行データを前記内部IDの順に取得する行データ取得工程と、
前記取得された行データがユーザ指定の検索条件を満たすか否かを判定する検索条件判定工程と、
前記検索条件判定工程で条件を満たすと判定されたときに行データを出力する行データ出力工程とを備え、登録時間順に検索結果出力することを特徴とするデータ処理方法。
Data that is searched for in a database that is configured so that the row ID that can be uniquely specified by the internal ID and the pair of registration times held in the internal ID and the row data form a total order relationship. A processing method,
A row data acquisition step of acquiring the row data in the order of the internal IDs;
A search condition determination step of determining whether or not the acquired row data satisfies a user-specified search condition;
A data processing method comprising: a row data output step of outputting row data when it is determined that the condition is satisfied in the search condition determination step, and the search results are output in order of registration time.
前記データベースからの行データのエクスポート時に、前記内部IDを含めて行データをエクスポート先に出力するエクスポート工程と、
前記エクスポートされた行データのデータベースへのインポート時に、インポート元の行データの内部ID及び登録時間を取得する内部ID取得工程と、
前記取得された内部IDがインポート先データベースの内部IDに衝突しないかを判定する内部ID衝突判定工程と、
前記取得された内部IDと撮影時間のペアがインポート先データベースの内部IDと登録時間の組と全順序関係を維持できるかを判定する全順序関係判定工程と、
前記内部ID衝突判定工程で衝突がないと判定され、かつ、前記全順序関係判定工程で全順序関係が維持されると判定された場合に、該行データをインポートするインポート工程とを備えることを特徴とする請求項1に記載のデータ処理方法。
An export step of outputting the row data including the internal ID to an export destination when exporting the row data from the database;
An internal ID acquisition step of acquiring the internal ID and registration time of the row data of the import source when importing the exported row data into the database;
An internal ID collision determination step of determining whether the acquired internal ID does not collide with the internal ID of the import destination database;
A total order relation determining step for determining whether the pair of the acquired internal ID and shooting time can maintain the total order relation with the pair of the internal ID and registration time of the import destination database;
An importing step of importing the row data when it is determined that there is no collision in the internal ID collision determination step and it is determined that the total order relationship is maintained in the total order relationship determination step. The data processing method according to claim 1, wherein:
前記内部IDとして、登録時間、または登録時間の定数倍、または登録順序情報のいずれかを使用することを特徴とする請求項1または2に記載のデータ処理方法。   The data processing method according to claim 1 or 2, wherein either the registration time, a constant multiple of the registration time, or registration order information is used as the internal ID. 前記全順序関係判定工程で全順序関係が維持されないと判定された場合に、前記インポート工程は、全順序関係を維持できるように、インポート行データの内部ID、またはインポート先データベースの行データの内部IDを変更してから行データをインポートすることを特徴とする請求項2に記載のデータ処理方法。   When it is determined in the total order relationship determination step that the total order relationship is not maintained, the import step allows the internal ID of the import row data or the internal row data of the import destination database so that the total order relationship can be maintained. 3. The data processing method according to claim 2, wherein the row data is imported after changing the ID. 内部IDによって一意に特定可能な行データが構成されるとともに、前記内部IDと前記行データの内部に保持される登録時間のペアが全順序関係を成すように構成されたデータベースで検索を行うデータ処理装置であって、
前記行データを前記内部IDの順に取得する行データ取得手段と、
前記取得された行データがユーザ指定の検索条件を満たすか否かを判定する検索条件判定手段と、
前記検索条件判定手段で条件を満たすと判定されたときに行データを出力する行データ出力手段とを備え、登録時間順に検索結果出力することを特徴とするデータ処理装置。
Data that is searched for in a database that is configured so that the row ID that can be uniquely specified by the internal ID and the pair of registration times held in the internal ID and the row data form a total order relationship. A processing device comprising:
Row data acquisition means for acquiring the row data in the order of the internal IDs;
Search condition determination means for determining whether or not the acquired row data satisfies a user-specified search condition;
A data processing apparatus comprising: row data output means for outputting row data when the search condition determining means determines that the condition is satisfied, and outputting the search results in the order of registration time.
内部IDによって一意に特定可能な行データを保持したデータベースであって、前記内部IDと前記行データの内部に保持される登録時間のペアが全順序関係を成し、前記行データを前記内部IDの順に取得する行データ取得工程と、
前記取得された行データがユーザ指定の検索条件を満たすか否かを判定する検索条件判定工程と、
前記検索条件判定工程で条件を満たすと判定されたときに行データを出力する行データ出力工程とをコンピュータに実行させ、登録時間順に検索結果出力することを特徴とするデータ処理プログラム。
A database holding row data that can be uniquely specified by an internal ID, wherein the internal ID and a pair of registration times held inside the row data form a total order relationship, and the row data is stored in the internal ID. Row data acquisition process to acquire in the order of,
A search condition determination step of determining whether or not the acquired row data satisfies a user-specified search condition;
A data processing program that causes a computer to execute a row data output step of outputting row data when it is determined that the condition is satisfied in the search condition determination step, and outputs search results in order of registration time.
請求項6に記載のデータ処理プログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the data processing program according to claim 6.
JP2011114957A 2011-05-23 2011-05-23 Data processing method and data processor Withdrawn JP2012243213A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011114957A JP2012243213A (en) 2011-05-23 2011-05-23 Data processing method and data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011114957A JP2012243213A (en) 2011-05-23 2011-05-23 Data processing method and data processor

Publications (1)

Publication Number Publication Date
JP2012243213A true JP2012243213A (en) 2012-12-10

Family

ID=47464821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011114957A Withdrawn JP2012243213A (en) 2011-05-23 2011-05-23 Data processing method and data processor

Country Status (1)

Country Link
JP (1) JP2012243213A (en)

Similar Documents

Publication Publication Date Title
US11423359B2 (en) Managing tasks in a content management system
US20220043843A1 (en) Distributed transaction management with tokens
CN105630863B (en) Transaction control block for multi-version concurrent commit status
US20230222448A1 (en) Managing projects in a content management system
US20180203888A1 (en) Multi-Version Concurrency Control Method in Database and Database System
US10445321B2 (en) Multi-tenant distribution of graph database caches
JP6118515B2 (en) System for associative memory update
US20180157737A1 (en) Systems and methods for distributing indexer configurations
EP2924567A1 (en) Method, apparatus, and electronic device for building a file system in a key value storage system
JP2017157192A (en) Method of matching between image and content item based on key word
CN106605221A (en) Multi-user search system with methodology for instant indexing
JP6165955B1 (en) Method and system for matching images and content using whitelist and blacklist in response to search query
JP5772458B2 (en) Data management program, node, and distributed database system
US20140289185A1 (en) Apparatus and Method for Policy Based Rebalancing in a Distributed Document-Oriented Database
JP6885784B2 (en) Incident management equipment, incident management methods and computer programs
JP2017157193A (en) Method of selecting image that matches with content based on metadata of image and content
JP2008165432A (en) Query control program, query control device and query control method
US9390131B1 (en) Executing queries subject to different consistency requirements
US10146813B2 (en) Single table index relational database
US10803028B2 (en) Multiphase approach to data availability
US20140304293A1 (en) Apparatus and Method for Query Based Replication of Database
JP2012243213A (en) Data processing method and data processor
US20200167310A1 (en) Systems, methods, storage media, and computing platforms for managing data files
JP4825504B2 (en) Data registration / retrieval system and data registration / retrieval method
US20200210530A1 (en) Systems, methods, and storage media for automatically translating content using a hybrid language

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140805