WO2009147851A1 - データベースのデータ項目の平行編集方式 - Google Patents

データベースのデータ項目の平行編集方式 Download PDF

Info

Publication number
WO2009147851A1
WO2009147851A1 PCT/JP2009/002501 JP2009002501W WO2009147851A1 WO 2009147851 A1 WO2009147851 A1 WO 2009147851A1 JP 2009002501 W JP2009002501 W JP 2009002501W WO 2009147851 A1 WO2009147851 A1 WO 2009147851A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
editing
item
duplicate
copy
Prior art date
Application number
PCT/JP2009/002501
Other languages
English (en)
French (fr)
Inventor
上村邦夫
Original Assignee
株式会社 アテナテレコムラボ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/JP2008/001424 external-priority patent/WO2008149552A1/ja
Priority claimed from PCT/JP2008/001506 external-priority patent/WO2009147701A1/ja
Application filed by 株式会社 アテナテレコムラボ filed Critical 株式会社 アテナテレコムラボ
Priority to US12/743,367 priority Critical patent/US20110161292A1/en
Priority to JP2010515778A priority patent/JP4855538B2/ja
Publication of WO2009147851A1 publication Critical patent/WO2009147851A1/ja
Priority to US13/714,422 priority patent/US20130110777A1/en
Priority to US13/726,549 priority patent/US20130179652A1/en
Priority to US13/802,740 priority patent/US20130204842A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Definitions

  • the present invention relates to a method of editing data items of a database (hereinafter “DB”) in parallel by a plurality of computers (hereinafter “PC”).
  • DB database
  • PC computers
  • Non-Patent Document 1 ⁇ General operation to set items before data entry>
  • items are specified to define a table, and then data is input.
  • Patent Document 1 a new table (program using) is created (48 steps) by adding / deleting a template item defined in advance (128 steps) or changing the item name (150 steps).
  • Patent Document 2 has the same concept.
  • Patent Document 3 relates to a method for creating a new table. The study on creating items in these tables assumes that items are created before data is input.
  • Non-Patent Document 5 shows “add new column to table” (P384), “change table column type” (P389), “delete table column” (P395), etc. as SQL statements. Yes.
  • P46-47 describes that columns can be added with the ALTER TABLE statement.
  • Non-Patent Document 7 and Non-Patent Document 8 It can be said that it is a kind of editing lock if it is considered that “the editing is invalidated when the lock fails as a result”.
  • Patent Document 4 Patent Document 5, Patent Document 6, Patent Document 7, Patent Document 8, Patent Document 9, Patent Document 10, and Non-Patent Document 9 with an idea that they are related to cache and parallel editing. Remained in the way to deal with the collision.
  • Patent Document 11, Patent Document 12, Patent Document 13, Patent Document 14, Patent Document 15, and Patent Document 16 also show general technical levels and are different from the present application.
  • the parallel editing in this specification means that all or a part of the data of the original DB is held inside the PC, and the copy is performed on the copy.
  • the original DB may exist, or the contents of the duplicate DBs held by each PC that do not exist are synchronized with each other, so that the replica DB of each PC is synchronized with the virtual original DB (Patent Document 17). But it ’s okay.
  • the server may update the original DB, and all or part of the data may be synchronized with the duplicate DB of each PC.
  • the replica DB of each PC may be either temporary or permanently present on this PC.
  • the basis of the present invention is that the definition of data items contained in the DB, hereinafter referred to as “item definition”, is also handled as DB data and is subject to parallel editing.
  • DB data data
  • items of a table hereinafter referred to as “data table”
  • data table a table defining the items of the data table
  • this item table is also subject to parallel editing.
  • the data table is also changed according to the item table if necessary.
  • the relationship between the editing of the item table and the editing of the data table is “(A) parallel editing is possible unconditionally” and “(B) parallel editing is possible with no logical contradiction” according to the editing contents of the item table. (C) Parallel editing is not possible ”.
  • the parallel editing of the item table and the data table will be described using this classification. If the editing of the item table and the editing of the data table can be performed in parallel, and the editing of the item table itself and the editing of the data table itself can be changed, it can be said that it is a perfect parallel editing.
  • the item definition is recorded as basic information in the database, it is impossible to change the item definition itself in parallel with data input and data correction based on the item definition.
  • the item table and the data table are separated, and both are subjected to parallel editing, thereby enabling parallel editing. If there is a parallel editing technique, this technique may be applied to both the item table and the data table.
  • the server updates the original DB, and all or part of the data and the replicated DB of each PC are synchronized, the item change confirmation and the data table structure are updated by the server, so the replicated DB of each PC is different. There is no possibility.
  • Each PC has a replica DB synchronized with (all or a part of) the virtual or real original DB, and each PC edits the replica DB and records these edits (hereinafter referred to as “edit record”).
  • edit record In the case of the method of exchanging with each other and updating each duplicate DB (Patent Document 17), the order of editing and recording of the item table and the data table is important. If the order of updating the copy DB of each PC using the edit record is different, the detection result of the logical contradiction due to the item table change and the update result of the data table structure are different.
  • the edit record of the parallel edit performed on the data table and the edit record of the parallel edit performed on the item table defining this item are ordered, and the replication DB is updated. All PCs need to take out edit records in this order and update the duplicate DB. For example, even if an edit to an item table results in an error and invalidates the edit, an error occurs on all PCs and it becomes invalid, so the duplicate DB of each PC is synchronized.
  • the servers are arranged in the order of arrival (configure a single queue). If each PC receives the edit records in this order and updates the duplicate DB, the duplicate DB is synchronized.
  • the server that manages the order is inquired about the order of the edit record, and the order specified by this PC is written to the edit record. Even if the edit records themselves are sent directly between PCs, the order written here is unique. Instead of the order, the time may be entered in the editing record and used as the order. In consideration of the occurrence of a time lag for each PC, it is necessary to devise such that a specific PC manages the time.
  • One method is that the server detects and invalidates edits made during this prohibited section. For example, in the case where the editing record is uploaded to the server, first, the server concurrent editing prohibition is notified from the PC that performs editing X. Based on this information, the server processes the corresponding editing record as invalid. Although the process is simple, the effort on the side of creating this invalidated edit is wasted.
  • the PC that performs the editing X may be directly transmitted to another PC, or the PC that performs the editing X may be transmitted to the server and may be transmitted from the server to each PC. If the server prohibits editing, this PC will not edit the copy DB even if it updates the copy DB. Editing is started after notification of the prohibition of editing is notified.
  • the prohibition of editing includes prohibition of editing on the same item table by another PC, and prohibition of editing on a data table (this item table defines items) by another PC. Both or either one can be specified depending on the situation.
  • the parallel editing in this specification means that all or part of a copy of (original or virtual) DB original information is held inside the PC, and editing is performed on this copy.
  • the definition of the items of data stored in the DB hereinafter referred to as “item definition”, is also treated as DB data and is subject to parallel editing, and the copy of the data is reconfigured according to the updated copy of the item definition.
  • Claim 2 is based on claim 1, and edit records for data duplication and item definition duplication are managed in a single queue.
  • the present invention includes a case where a record of changes in both data and items is recorded in one edit record (described in the 47th step of the present application described with reference to FIG. 3). Further, it is the fourth aspect that “determination of the validity of the editing” is added.
  • Claim 5 is to maintain a copy of data and a copy of the item definition, edit the item definition, and manage edit records for these in a single queue.
  • Claim 6 adds “determining the validity of the editing” to this.
  • Claim 7 includes a step of prohibiting editing of another PC while editing “item definition” based on claim 5.
  • TBL including the figure
  • FIG. This is composed of two PCs (PC-A 0101 and PC-B 0102) and a server 0103, which are connected via a communication network 0104 such as the Internet.
  • a communication network 0104 such as the Internet.
  • the PC (PC-A0101 and PC-B0102) copies this, and the initial value of the duplicate item TBL0211 and the initial value of the duplicate data TBL0212
  • Each PC can create an empty TBL and use it as an initial value.
  • both the replication item TBL and the replication data TBL are indicated.
  • the editing record is sent to the server.
  • the server records these in the storage device 0105.
  • editing records for the item TBL and editing records 0108 and 0109 for the data TBL are managed in one column (single queue) in the order of arrival.
  • an arithmetic device In general, an arithmetic device, a main storage device, a secondary storage device, an input / output device, a communication device, a display device, and the like are connected to the PC via a bus.
  • PC-A 0101 and PC-B 0102 in FIG. 1 read a program based on the method of the present invention, and each PC functions as an aggregate of the means and storage device 0210 shown in FIG.
  • the PC 0201 connects to a communication network 0202 such as the Internet through the communication unit 0203 and communicates with the server 0210 beyond that.
  • the storage device 0210 has a duplicate item TBL0211 and duplicate data TBL0212, and edit records 0213 and 0214 are created corresponding to the edits to each. Also, edit records of other PCs are received from the server, and the order of edit records including edit records created by this PC is received from the server, and the duplicate item TBL and the duplicate data TBL are updated accordingly.
  • the editing record for the item TBL and the editing record for the data TBL are configured in the order of arrival at the server, the same column (editing records 0215, 0216) is created on the PC, and the PC is copied in this order.
  • the item TBL0211 and the duplicate data TBL0212 are updated.
  • the initial TBL (initial item TBL0106 and initial data TBL0107) in the server is copied and used as the initial duplicate TBL (initial duplicate item TBL0211 and initial data TBL0212) of the PC. If the initial replica TBL does not exist in the PC, this operation is first performed. Even if there is no initial TBL in the server, if each PC recognizes that “the initial replication TBL is empty”, each PC can create an initial replication TBL by creating an empty replication TBL. If the PC operator defines an item in the empty duplicate item TBL, an empty data table can be created according to this item definition.
  • the “means for synchronizing the duplicate TBL” 0205 takes in the edits 0106 and 0107 uploaded to the server, performs “determination of the validity of the edit”, and reproduces the duplicate TBL (the duplicate item TBL0211 and the duplicate data with the edit judged valid) The contents of TBL0212) are updated.
  • FIG. 3 shows a procedure for successively executing “means for creating initial duplicate TBL” 0204 and “means for synchronizing duplicate TBL” 0205.
  • FIG. 3 shows the flow of processing when one edit record holds a record for either the duplicate item TBL or the duplicate data TBL, but one edit record includes both edit records. May be. In this case, “update of duplicate item TBL” 0307 and “update of duplicate data TBL” 0308 are sequentially performed according to the edit record. This part is the processing of “means for synchronizing duplicate TBL” 0205.
  • the uploaded editing records 0108 and 0109 are taken into another PC by “means for synchronizing duplicate TBL” 0205 of another PC, and “determination of editing validity” 0306 is performed, and the duplicate TBL of that PC is obtained. Is updated.
  • the “means for synchronizing the duplicate TBL” 0205 is also executed by a computer that has been upgraded.
  • the presence / absence of “addition, change, (real) deletion” of the record of the item TBL is checked 0501. If there is, an empty data TBL having a new item structure is created 0502. Then, the record of the old duplicate data TBL is extracted 0503, and the contents are transferred to the new duplicate data TBL 0504. If an item is (really) deleted, its value cannot (cannot) be transferred to the new source table.
  • the DB software to be used has an item editing function and the configuration of the table is changed with the item editing, this may be used.
  • “means for reconstructing the duplicated data TBL based on the contents of the duplicate item TBL” 0208 is realized by calling an item editing function of the DB software based on the contents of the duplicate item TBL.
  • conversion processing that is, “processing for setting a new item value based on the value of an existing item” is designated, “retrieve old copy data TBL record” in FIG. After the “replicated data TBL” 0504 processing, “confirmation of conversion processing designation” 0505 and “conversion processing execution” 0506 are performed. An actual example of the conversion process will be shown later.
  • a “conversion process” from a conventional “evaluation” value to a new “evaluation” is defined. For example, 0 to 59 is “failed”, 60 to 100 is “passed”, other numbers, characters that cannot be converted to numbers, and unfilled are “undecided”.
  • PC-A 0802 and PC-B 0803 respectively acquire the initial DB 0804 in which the initial item TBL 0106 and the initial data TBL 0107 are present 0807 and 0808, and set them as the duplicate DBs 0805 and 0806, respectively.
  • edit record 1 to edit record 6 have been uploaded to server 0801. This is an edit that has been uploaded by a computer other than PC-A0802 or PC-B0803.
  • the PC-A 0802 performs the synchronization 0809 as the first process when editing the duplicate item TBL.
  • the edit record 6 is acquired from the edit record 1 from the server 0801, and the version of the duplicate DB 0805 is set to 6.
  • editing 0810 is performed on the duplicate item TBL0211 in the duplicate DB 0805.
  • This edit record is uploaded to the server and recorded as 0811 and edit 7.
  • the PC-A0802 reconstructs the duplicate data TBL and sends the result to the server as an edit record. 0814.
  • This editing is editing 8 on the server.
  • the PC-A 0802 performs synchronization 0815, and displays 0816 the result of the editing confirmation to the operator of the PC-A 0802.
  • the PC-B 0203 also synchronizes the duplicate item TBL0211 and the duplicate data TBL0212 0817.
  • the table items are first designed, and then data is entered into the table and edited.
  • items can be edited after data input, but simultaneous editing is prohibited.

Abstract

DB原本のデータの全部または一部の複製をPCの内部に保持し、この複製に対して複数の計算機が並行して編集(変更編集)を行う。DBが記録するデータに加え、このデータの項目を定義するデータも並行編集の対象とする。項目テーブルを編集した結果が、並行編集のプロセスを経て有効と判定されると、その内容に従ってデータの構造も変更される。従来は「データ入力前の項目設計」又は「並行編集を禁止した項目編集」のみ可能であったが、本発明により、データ入力後であっても、項目の並行編集が可能となった。

Description

データベースのデータ項目の平行編集方式
データベース(以下「DB」)のデータ項目を複数の計算機(以下「PC」)で並行して編集する方法に関する。
<データ入力前に項目を設定する一般的な運用>
一般にDBの運用では非特許文献1に示すように項目を指定してテーブルを定義しその後データを投入している。DBシステム開発に関する専門的な解説書である、非特許文献2、非特許文献3、非特許文献4においても、最初にテーブルの項目を定義しその後テーブルにデータを入力する手順が説明されている。
特許文献1では、あらかじめ定義してあるテンプレートの項目を追加・削除(128段)し、または項目名を変更(150段)して、新しいテーブル(を用いたプログラム)を作成(48段)する。特許文献2も同じコンセプトである。特許文献3は、新規テーブルの作成方法に関する。これらのテーブルの項目作成に関する検討はデータを投入する前に項目を作成する事を前提としている。
<並行編集禁止のSQL言語>
一方、SQL言語仕様ではデータ投入後の項目の変更が可能である。非特許文献5ではSQL文として「テーブルに新しい列を加える」(P384)、「テーブルの列の型を変更する」(P389)、「テーブルの列を削除する」(P395)などが示されている。非特許文献6ではP46-47において、ALTER TABLE 文で、列の追加などが行える事が記載されている。
しかし、SQL言語では、一度に一つの操作に制限して並行編集を防いでいる。この事は、非特許文献5の第5章「データの更新・追加・削除」(p300-p319)にも説明されている。さらに、第6章「トランザクション」(p300-p319)では、関連する複数の操作がひとつのトランザクションとして管理され、他の処理の割り込みなどによるエラーが発生するとトランザクション全体の処理を無効にするロールバックや、トランザクション処理中に他の処理が割り込む事を禁止するロック(p322)など並行編集を禁止する高度な仕掛けがある。
<キャシュ技術に基づく並行編集>
ロックを用いず、作業用の複製を作成して処理を行うキャシュの技術で、処理や通信の効率化を図る試みも行われている。マイクロソフトのADO.NETは、計算機に当面の作業に必要なデータをサーバーからコピーし、サーバーとの接続を切断してから編集作業を行う。編集後に改めてサーバーと接続し編集内容をサーバーに送る。もし編集対象の情報が既に他のPCから変更されていれば、後からの(この)編集を無効にする。これは「オプティミスティック同時実行制御」(非特許文献7および非特許文献8)と呼ばれている。「ロックが結果として失敗した場合にはその編集を無効とする」と考えれば、編集ロックの一種とも言える。
<従来技術の限界>
以上の要点は、「一般的にはデータ入力後に項目の変更は行わない」「SQLではデータの入力後の項目編集が可能だが並行編集を禁止している」「キャシュを元に一時的な並行編集を行う方法があるがデータ入力後の項目の変更は検討していない」である。
つまり「データの入力後でも、複数のPCでの項目の並行編集、を可能とする」研究は行われていない。これは、キャシュの様な一時的な並行編集ではなく、長時間オフラインでDBを編集する「DBに対する本格的な並行編集」の技術が確立していなかったためと思われる。DBのデータ構造を決定する項目を複数のPCで並行して編集する事が、可能とは想像されなかった可能性もある。
<変更編集に関する一般的な技術調査>
キャシュや並行編集に関係すると見当をつけて、特許文献4、特許文献5、特許文献6、特許文献7、特許文献8、特許文献9、特許文献10、非特許文献9を調査したが、編集が衝突した場合の対処方法に留まっていた。特許文献11、特許文献12、特許文献13、特許文献14、特許文献15、特許文献16も、一般的技術水準を示すものであり、本願とは異なる。
特開2006-309697 WO/2008/043136 特開2004-341770 特開平11-272533 特開昭61-134853号公報 特開2005-216167号公報 特開平9-91184号広報 特開2004-13867号広報 特開2004-86800号広報 特開2006-284998号広報 特開2000-194592 特開平11-161535号公報 特表2005-503606号公報 特表2005-508050号公報 特開平8-16447号公報 特表2000-501532号公報 PCT/JP2009/002491 敷居隆、C++Builder データベースプログラミング第2回、InsideWindows(登録商標)、1997.12.01、第3巻、第12号、p71-77 イー・キャシュ著、SQL Server 2005ではじめよう データベースシステム開発入門、2005年11月28日、株エクスメディア発行 Wallace B. McClure, el at, Professional ADO.NET 2: Programming withSQL Server 2005, Oracle, and MySQL, Wiley Publishing, Inc. 2006 William R. Vaughn, 株トップスタジオ訳、伊藤由紀子監修、Windows(登録商標)データベースプログラミング ADO.NET専修講座 VB.NET 編、2003年8月4日初版発行、翔泳社 超図解SQLハンドブック、C&R研究所、2005年8月12日初版発行 Kevin Kline, Daniel Kline, 石井他監訳、イデアコラボレーション訳、SQL クイックレファレンス、2001年11月2日初版発行、オライリー・ジャパン 「ADO.NET におけるデータ同時実行制御の概要」、2007年1月、MSDNサブスクリプションライブラリー(msdn subscriptions Library)、ディスクファイル(URL:ms-help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_raddata/html/d5293098-4a88-4110-abd2-34d9e6661664.htm) 「チュートリアル : 同時実行例外の処理」、2007年1月、MSDNサブスクリプションライブラリー(msdn subscriptions Library)、ディスクファイル(URL: ms-help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_raddata/html/73ee9759-0a90-48a9-bf7b-9d6fc17bff93.htm) 「世界規模分散ファイルシステムSKINNY 」、情報処理学会研究報告, 95-OS-70, (学術刊行物 情処研報 Vol. 95, No.79 ISSN 0919-6072 「主な機能とメリット」、[online]、2007年4月22日検索、インターネット(URL:http://www.sonicsoftware.co.jp/products/object_store/function.html) 「MVCC(多版型同時実行制御)9.1. はじめに」、[online]、2007年4月22日検索、インターネット(URL:http://www.postgresql.jp/document/pg721doc/user/ mvcc.html #MVC C-INTRO) 「9.5. アプリケーションレベルでのデータの一貫性チェック」、[online]、2007年4月22日検索、インターネット(http://www.postgresql.jp/document/pg721doc/user/applevel-consistency.html) 「Cache Technology Guide」、[online]、2007年4月22日検索、インターネット(URL: http://www.intersystems.co.jp/cache/technologyguide/technologyguide.html) 「主な機能とメリット」、[online]、2007年4月22日検索、インターネット(URL:http://www.sonicsoftware.co.jp/products/object_store/function.html)
本願では、データの入力後でも「複数のPCで項目を並行編集する事を可能とする」仕組みを明らかにする。
<並行編集>
本明細書での並行編集とは、DB原本のデータの全部または一部の複製をPCの内部に保持し、この複製に対して複製を行う事である。このDB原本は実在しても良いし、実在せず各PCが保持する複製DBの内容が互いに同期する事により、いわば仮想の原本DBに各PCの複製DBが同期する方式(特許文献17)でも良い。サーバーが原本DBを更新し、この全部または一部のデータと各PCの複製DBが同期する方式で良い。各PCの複製DBは一時的であっても、永続的にこのPCに存在してもどちらでも良い。
<項目定義の分離と並行編集>
本発明の基本は、DBが収容するデータの項目の定義、以下「項目定義」、もDBのデータとして扱い並行編集の対象とする事にある。リレーショナルDB(RDB)の場合なら、従来は運用に先立ってテーブル(以下「データテーブル」)の項目を定義し、その後はこのデータテーブルへのデータの投入や編集などを行う。これに対して、本願ではデータテーブルの項目を定義したテーブル(以下「項目テーブル」)を作成し、この項目テーブルも並行編集の対象とする。項目テーブルを編集した結果、必要ならば項目テーブルに従ってデータテーブルも変更する。
RDBに対しては「項目テーブル」の表現は素直であるが、請求項の記述では一般的なDBを想定した「項目定義」の表現を、データテーブルも一般的な概念である「データ」の表現を用いる。つまり、本明細書で「項目テーブル」および「データテーブル」で説明する方法は、より一般的なDBに適用出来る。なお、RDB以外のオブジェクト指向DBなどの例は非特許文献10、非特許文献11、非特許文献12、非特許文献13などで見ることが出来る。
項目テーブルの編集とデータテーブルの編集の関係は、項目テーブルの編集内容に応じて、「(A)無条件に並行編集可」と「(B)論理矛盾無しの条件付きで並行編集可」「(C)並行編集不可」とに分ける事が出来る。この分類を用いて項目テーブルとデータテーブルの並行編集を説明する。項目テーブルの編集とデータテーブルの編集が並行して行え、さらに項目テーブル自体の並行編集とデータテーブル自体の変更編集が可能ならば、完璧な並行編集と言える。
項目の編集といっても、項目名や表示方法(数字の表示フォーマットや列の表示幅)の変更は、他のPCがデータの編集を行っていても、何ら問題は無い。これが「(A)無条件に並行編集可」である。
従来は、項目定義をデータベースの基本的な情報として記録していたため、この項目定義に基づいたデータの入力やデータの修正と並行して、項目定義自体を変更する事は不可能であった。本願では、項目テーブルとデータテーブルとを分離し、両方を並行編集の対象とする事により、並行編集を可能とした。並行編集の技術が有れば、この技術を項目テーブルとデータテーブルの両方に適用すれば良い。
項目テーブルの変更で、データテーブルの構造やデータを変更する可能性がある場合は、その変更が論理矛盾を起こさないとの条件付きで変更編集可能である。つまり「(B)論理矛盾無しの条件付きで並行編集可」である。
例えば、名簿に新たに「性別」の項目を設ける場合、選択肢が「男・女」のみでデフォルトが設定されてないと、既に入力済のデータに「性別」の項目を追加する時点で論理矛盾が発生する。「男・女」のどちらかをデフォルトとするか、選択肢を「男・女・不明」として「不明」をデフォルトとするなどの対策があれば矛盾は起きない。
この例は単純であるが、実際には十分検討したつもりでも、予想外のデータに対して論理矛盾を引き起こす可能性は否定出来ない。たとえ入力済の既存データで、論理矛盾が起きない事を事前検証したとしても、この事前検証と並行して追加や修正されたデータは検証もれとなり、項目追加の本番でエラーとなる可能性が残っている。
これを考慮すると、論理矛盾が無いことを確実に検証する手順が必要である。そして、この確認結果は関係する全PCで共通である必要がある。また、項目テーブルに関する変更を元にデータテーブルを変更した場合に、その変更した結果も各PCで同じである必要がある。これらの対策を後で示す。
「(B)論理矛盾無しの条件付きで並行編集可」の可能性があっても「(C)並行編集不可」として扱う事も可能である。並行編集の禁止により編集作業は不便になるが、編集競合が防止でき、簡単に各PCの複製DBを同期させる事が出来る。並行編集の禁止の手順を後で示す。
<項目変更の確認とデータテーブル構造の更新手順>
「項目テーブルの変更に論理矛盾が無い」ことの確認結果は、関係する全PCで同じとなる必要がある。もし、あるPCでは論理矛盾が発生し、別のPCでは論理矛盾は発生しないとすると、それぞれが保持する複製DBが同期しなくなる。また、データテーブル構造も更新の結果が同じとなる必要が有る。これらを実現する手順は、並行編集の具体的方法により異なる。
サーバーが原本DBを更新し、この全部または一部のデータと各PCの複製DBが同期するケースでは、項目変更の確認とデータテーブル構造の更新はサーバーで行うので、各PCの複製DBが異なる可能性はない。
各PCが、仮想のまたは実在する原本DBの(全部または一部の)と同期した複製DBを持ち、各PCが複製DBに対する編集を行い、これらの編集の記録(以下「編集記録」)をPC相互に交換し、それぞれの複製DBを更新する方法(特許文献17)の場合には、項目テーブルとデータテーブルの編集記録の順番が重要である。編集記録を用いて各PCの複製DBを更新する順番が異なると、項目テーブル変更による論理矛盾の検出の結果や、データテーブル構造の更新結果が異なることになる。
これを防ぐには、データテーブルに対して行われた並行編集の編集記録と、この項目を定義した項目テーブルに対して行われた並行編集の編集記録に順番を付け、複製DBの更新を行う全てのPCは、この順番で編集記録を取り出して複製DBを更新する必要がある。たとえ、項目テーブルに対するある編集がエラーになりこの編集を無効としても、全てのPCでエラーとなり無効となるので、各PCの複製DBは同期する。
これらに順序を付けるにはいくつかの方法がある。ひとつはデータテーブルに対して行われた並行編集の編集記録と、この項目を定義した項目テーブルに対して行われた並行編集の編集記録をサーバーにアップする。サーバーは到着順に並べる(シングルキューを構成する)。各PCがこの順番で編集記録を受信し複製DBの更新を行えば、複製DBは同期する。
各PCからアップされた編集記録をサーバー(又は特別なPC)が変更したり、その順番を変更したとしても、各PCが変更された順番(同じ順番)で変更後の編集記録(同じ内容)を受信し複製DBの更新を行えば同期する。
別の方法もある。編集記録を作成したPCから、順番を管理するサーバー(又はPC)に編集記録の順番を問い合わせ、このPCから指定された順番を編集記録に書き込む。編集記録自体はPCの間で直接送信しても、ここに書かれている順番はユニークである。順番の替わりに時間を編集記録に記入して、順番として用いても良い。なお、PC毎の時間のずれが生じる事を考え、特定のPCが時間を管理するなどの工夫が必要である。
<並行編集の禁止手順>
以下では説明のため、ある項目テーブルの編集(X)について、この編集との並行編集を禁止する状況を想定する。つまりXの編集開始からXの編集が完了して、(サーバーなどへのアップにより)Xの順番が確定するまで期間を、他のPCの「編集禁止期間」とする。この編集記録(X)までを取り込んで更新した後の複製DBに対する編集から禁止が解除される。
ひとつの方法は、この禁止区間に行われた編集をサーバーが検出して無効とする。例えば、編集記録をサーバーにアップするケースでは、まず、編集Xを行うPCからサーバー並行編集禁止を伝える。サーバーはこの情報に基づき、該当する編集記録を無効として処理する。処理としては単純であるが、この無効とされた編集を作成した側の労力は無駄になる。
PCに禁止を伝えるのが、もうひとつの方法である。編集Xを行うPCから他のPCに直接伝えても良いし、編集Xを行うPCから、サーバーに伝えて、サーバーから各PCに伝えても良い。サーバーから編集禁止が通知されたら、このPCは複製DBの更新を行っても、これに対する編集は行わない。編集禁止解除が通知されてから編集を開始する。
なお、編集の禁止は、他のPCによる同じ項目テーブルに対する編集の禁止、他のPCによる(この項目テーブルが項目を規定する)データテーブル対する編集の禁止がある。両方またはどちらか片方を状況に応じて指定すれば良い。
<出願時の請求項との対応>
本明細書での並行編集とは、(実在の又は仮想の)DB原本の情報の全部または一部の複製をPCの内部に保持し、この複製に対して編集を行う事である。これに、DBが収容するデータの項目の定義、以下「項目定義」、もDBのデータとして扱い並行編集の対象とし、更新された項目定義の複製に従って、データの該複製を再構成する事、を加えたのが本願の基本であり、これが請求項1である。請求項1をベースとし、データの複製と項目定義の複製に対する編集記録をシングルキューで管理するのが請求項2である。これにさらに、ひとつの編集記録にデータと項目の両方の変更の記録が記録される場合(図3について説明した本願の47段で説明)も含むのが請求項3である。さらに「該編集の有効性を判定」を加えたのが請求項4である。
データの複製と項目定義の複製を保持し、項目定義を編集し、これらに対する編集記録をシングルキューで管理するのが請求項5である。これに「該編集の有効性を判定」を加えたのが請求項6である。請求項5をベースに「項目定義」に対する編集を行う間の他のPCの編集を禁止する工程を加えたのが請求項7である。
従来は「データの入力後でも、複数のPCでの項目の並行編集を可能とする」研究は行われてこなかった。本発明により、いわゆるDBの本格的な並行編集、つまりDB原本のデータの全部または一部の複製をPCの内部に保持しこの複製に対して複製を行う編集、において複数のPCでの項目の並行編集を可能となった。
一般的な実施の概観 本願を実現する装置構成 初期の複製TBLを作成し複製TBLを同期する処理 複製TBLを編集し編集記録をサーバーにアップする処理 複製項目TBLの内容に基づき、複製データTBLを再構成する処理 複製項目TBLの内容に基づき複製データTBLのレコードを表示する処理 TBLの内容の例 処理例の説明図 並行編集の禁止手順
0101    PC-A
0102      PC-B
0103      サーバー
0104      通信網(インターネットなど)
0105      (サーバーの)記憶装置
0106      期項目TBL
0107      初期データTBL
0108      編集記録(1)
0108      編集記録(2)
0201      PC(計算機)
0202      通信網(インターネットなど)
0203      通信手段
0204      初期の複製TBLを作成する手段
0205      複製TBLを同期する手段
0206      複製TBLに対する編集記録を作成する手段
0207      編集結果をサーバーにアップする手段
0208      複製項目TBLの内容に基づき、複製データTBLを再構成する手段
0209      複製項目TBLの内容に基づき複製データTBLのレコードを表示する、または印刷する手段
0210      サーバー
0211      複製項目TBL
0212      複製データTBL
0213      編集記録
0214      編集記録
0215      編集記録
0216      編集記録
0301      複製TBLが計算機に作成されているかを調査
0302      複製TBLを作成する処理
0303      未取り込みの編集記録がサーバーにあるかを確認
0304      編集記録をサーバーから取り込む処理
0305      取り込んだ編集記録を順番に取り出す
0306      編集の有効性の判定
0307      複製項目TBLの更新
0308      複製データTBLの更新
0401      編集記録を特定
0402      編集記録に、編集対象の複製TBL(または複製DB)のバージョンを指定
0403      サーバーに編集記録をアップ
0501      項目TBLのレコードの、追加、変更、(本当の)削除の有無を確認
0502      新たな項目構成の空のデータTBLを作成
0503      古い複製データTBLのレコードを取り出す
0504      新しい複製データTBLに移す
0505      変換処理の指定を確認
0506      変換処理を実行
0601      複製項目TBLのレコードをその表示順に指定された順番に検査
0602      項目の表示非表示を確認
0603      複製データTBLの表示様の表の項目を作成
0604      複製データTBLのレコードを順番に取り出す
0605      レコードの対応する項目の値を表示
0701      複製項目TBL
0702      複製データTBL
0703      最初の表示
0704      削除=Trueと変更
0705      次の表示
0801      サーバー
0802      PC-A(計算機A)
0803      PC-B(計算機B)
0804      初期DB(初期項目TBL0106と初期データTBL0107)
0805      (PC-Aの)複製DB(複製項目TBL0211と複製データTBL0212)
0806      (PC-Bの)複製DB(複製項目TBL0211と複製データTBL0212)
0807      (PC-Aによる)初期DBの取得
0808      (PC-Bによる)初期DBの取得
0809      確認と同期
0810      複製項目TBLに対する編集
0811      編集記録のアップ
0812      確認と同期
0813      (操作者への)表示
0814      複製データTBLの構成変更結果(編集記録)
0815      確認と同期
0816      (操作者への)表示
0817      確認と同期
0901      他のPCに編集の一時停止を通知
0902      複製項目TBLに対する編集記録を作成
0903      編集記録を他のPCに送信
0904      他のPCに編集の一次停止の解除を通知
以下では、図も含め「テーブル」を「TBL」と表示する。さて、一般的な実施の概観を図1に示す。これは、PC2台(PC-A0101、PC-B0102)と、サーバー0103で構成され、これらはインターネットなどの通信網0104を介して接続される。サーバーの記憶装置0105の中には、初期項目TBL0106と初期データTBL0107が有り、PC(PC-A0101とPC-B0102)はこれをコピーして、複製項目TBL0211の初期値と複製データTBL0212の初期値とする。各PCが空のTBLを作成して初期値とする事も出来る。単に「複製TBL」といった場合、複製項目TBLと複製データTBLの両方を示す。
PCが複製TBLに対する編集を行った場合は、その編集記録をサーバーに送る。サーバーはこれらを記憶装置0105に記録する。図1では、項目TBLに対する編集記録とデータTBLに対する編集記録0108, 0109を到着順にひとつの列(シングルキュー)で管理している。
PCには一般的に、演算装置、主記憶装置、二次記憶装置、入出力装置、通信装置、表示装置
などがバスで接続され構成されている。図1のPC-A0101とPC-B0102は、本発明の方法に基づくプログラムを読み込み、それぞれのPCが図2に示す手段と記憶装置0210の集合体として機能する。PC0201は通信手段0203を通じてインターネットなどの通信網0202に接続し、その先のサーバー0210と通信する。
「初期の複製TBLを作成する手段」0204、「複製TBLを同期する手段」0205、「複製TBLに対する編集記録を作成する手段」0206、「編集結果をサーバーにアップする手段」0207、「複製項目TBLの内容に基づき、複製データTBLを再構成する手段」0208、「複製項目TBLの内容に基づき複製データTBLのレコードを表示する、または印刷する手段」0208、を実現する。
記憶装置0210には、複製項目TBL0211と複製データTBL0212があり、それぞれに対する編集に対応して編集記録0213、0214が作成される。また、他のPCの編集記録をサーバーから受信し、このPCが作成した編集記録も含めた編集記録の順番をサーバーから受信し、これらにより複製項目TBLと複製データTBLを更新する。サーバーで項目TBLに対する編集記録とデータTBLに対する編集記録を到着順にひとつの列を構成している場合は、PCでも同じひとつの列(編集記録0215、0216)を作成し、この順番でPCの複製項目TBL0211と複製データTBL0212を更新する。
「初期の複製TBLを作成する手段」0204では、サーバーにある初期TBL(初期項目TBL0106と初期データTBL0107)をコピーしてPCの初期の複製TBL(初期複製項目TBL0211と初期データTBL0212)とする。PCに初期複製TBLが存在しない場合には、まずこの作業を行う。初期TBLがサーバーに無くても「初期複製TBLは空」との認識が各PCにあれば、各PCが空の複製TBLを作成する事で、初期複製TBLが作成出来る。空の複製項目TBLにPCの操作者が項目を定義すれば、この項目定義に従って、空のデータテーブルが作成出来る
「複製TBLを同期する手段」0205は、サーバーにアップされた編集0106,0107を取り込み、「編集の有効性の判定」を行い、有効と判定された編集で複製TBL(複製項目TBL0211と複製データTBL0212)の内容を更新する。
              「初期の複製TBLを作成する手段」0204、「複製TBLを同期する手段」0205、を連続して実行する手順を図3に示す。
まず「複製TBLが計算機に作成されているかを調査」0301する。なければ、サーバーある初期TBL(初期項目TBL0211と初期データTBL0212)コピーしてPCの初期の複製TBLとする。又は、空の複製TBLを作成し初期値とする0302。この部分が「初期の複製TBLを作成する手段」0204の処理である。
次に、まだ取り込んでいない編集記録がサーバー0103, 0210にあるかを確認0303し、有れば「編集記録をサーバーから取り込む」0304。そして「取り込んだ編集記録を順番に取り出」し0305、「編集の有効性の判定」0306を行い、有効ならは編集記録の対象に応じて「複製項目TBLの更新」0307又は「複製データTBLの更新」0308を行う。なお、図3は、ひとつの編集記録は複製項目TBLまたは複製データTBLのどちらか一方に対する記録を保持している場合の処理の流れであるが、ひとつの編集記録が両方の編集記録を含んでいても良い。この場合は「複製項目TBLの更新」0307と「複製データTBLの更新」0308が編集記録に従って順に行われる。この部分が「複製TBLを同期する手段」0205の処理である。
「複製TBLを編集する手段」0206では、複製項目TBL0211と複製データTBL0212の編集を行う。これらの編集記録は「編集記録をサーバーにアップする手段」0207により、サーバーにアップされる。この手順を図4に示す。まず「編集記録を特定」0401し、「編集記録に、編集対象の複製TBL(または複製DB)のバージョンを指定」0402し、「サーバーに編集記録をアップ」0403する。
アップされた編集記録0108, 0109は、他のPCの「複製TBLを同期する手段」0205により、他のPCに取り込まれ、「編集の有効性の判定」0306が行われ、そのPCの複製TBLが更新される。「複製TBLを同期する手段」0205は、この編集をアップした計算機でも実行される。
以上の手段により、項目TBLとそのデータTBLを対象とした「平行DBアクセス」が実現される。残りの手段で項目テーブルとその元テーブルの関係を扱う。
「複製項目TBLの内容に基づき、複製データTBLを再構成する手段」0208 では、項目テーブルに追加、変更、(本当の)削除されたレコードが有れば、まず新たな項目構成の空の元テーブルを作成し、そして古い元テーブルのレコードをコピーして移す。削除でも、操作者に表示しないだけの削除ならば、複製データTBLを再構成する必要は無い。
この処理の流れを図5に示す。まず、項目TBLのレコードの、追加、変更、(本当の)削除」の有無を確認0501する。あれば、新たな項目構成の空のデータTBLを作成0502する。そして、古い複製データTBLのレコードを取り出し0503、その内容を新しい複製データTBLに移す0504。項目が(本当に)削除されていれば、その値は新しい元テーブルには移さない(移せない)。
利用するDBソフトに項目編集の機能が備わっており、項目編集に伴いテーブルの構成も変更されるならば、これを利用しても良い。この場合「複製項目TBLの内容に基づき、複製データTBLを再構成する手段」0208は、複製項目TBLの内容に基づきDBソフトの項目編集の機能を呼び出す事により実現される。
「変換処理」つまり「既存の項目の値を基に、新しい項目の値を設定する処理」が指定されていれば、図5の「古い複製データTBLのレコードを取り出し」0503「その内容を新しい複製データTBL」0504処理の後に、「変換処理の指定を確認」0505し「変換処理を実行」0506する。なお、変換処理の実例を後で示す。
「複製項目TBLの内容に基づき、複製データTBLのレコードを表示する、または印刷する手段」0209は、複製項目TBL0211のレコードに指定された表示順に、表示指定のある項目を表示する。さらに複製データTBL0212のレコードを表示(または印刷)する。「表示=False」の項目レコードについては、複製データTBL0212 のこの項目の値は表示(または印刷)しない。
この手順を図6に示す。「複製項目TBL0211のレコードをその表示順に指定された順番に検査」0601し、「項目の表示非表示を確認」0602し「表示=True」ならば、順番に「複製データTBL0211の表示用の項目を作成」0603する。次に、複製データTBL0211のレコードを順番に取り出し0604、表の行として、対応する項目の値を表示する0605。
<変換処理の実例>
図7の複製項目TBL0701と複製データTBL0702を用いて説明する。複製項目TBL0701には、複製データTBL0702の項目を定義するレコードとして、生徒名、評価、入学日のレコードが記録されている。複製データTBL0702には2件のレコードが記録されている。
「最初の表示」0703は、複製項目TBL0701の「追加(1)」のID=4の項目レコードが追加される前の表示である。この時点では、複製データTBLの「追加(2)」の項目ID=4の項目も無いし、複製データTBL0702の(レコードの)その値も設定されていない。
[変換処理]: ここで「評価」を0から100の数値でなく「合格/不合格」の表記に切り換えることにする。この変更は、項目の削除と追加を組み合わせる事により行う。
まず、従来の「評価」の項目レコード(ID=2)で、削除の値をFalseから Trueに変更0704し、項目を削除状態にする。次に、新しい「評価」の項目レコード(ID=4)を作成する。これが「追加(1)」である。
次に、従来の「評価」の値から新しい「評価」への「変換処理」を定義する。例えば、0から59を「不合格」、60から100を「合格」、それ以外の数字、数字に変換出来ない文字、および未記入を「未定」とする。
この変換処理を実行した結果が複製データTBL0702の各レコードの項目ID=4の値、つまり「追加(2)」の部分である。これを表示すると、複製データTBLの「最初の表示」0703が「次の表示」0705に変わる。元レコードの「項目ID=2」が表示されず、新しい「項目ID=4」が表示されるので、操作者からは「評価」項目が変更された様に見える。
[削除の復活]: 削除マークが付いただけの項目は、その削除マークをクリアする事により項目が復活し、元レコードのその項目の値が表示される。上記の例で、ID=4の項目レコードを「削除=Trueと変更」0704とし、ID=2の項目レコードを「削除=False」として復活させれば、再び「最初の表示」が示される。
[表示順]: 図7の「最初の表示」0703および「次の表示」0705で、項目名が「生徒名」「評価」「入学日」と、項目テーブルの表示順の値に従って表示されている。項目テーブルの表示順の値を変更することにより、元テーブルの項目の表示順は変更される。
[処理の流れ]: 複製項目TBLと複製データTBLが同じDBに記録され、両者に対する修正がこのDBのバージョンで管理されている場合の処理を図8で説明する。
PC-A0802とPC-B0803はそれぞれ、初期項目TBL0106と初期データTBL0107が存在する初期DB0804を取得0807, 0808し、それぞれの複製DB0805, 0806としている。このなかに初期値の複製項目TBL0211と複製データTBL0212が存在する。サーバー0801のバージョン0の初期DB0804をコピーしているので、どちらもバージョンは0である。その後、サーバー0801には編集記録1から編集記録6がアップされているが、これはPC-A0802、PC-B0803以外の計算機がアップした編集である
さて、PC-A0802は、複製項目TBLに対する編集を行うにあたり、最初の処理として同期0809を行う。この時、サーバー0801から編集記録1から編集記録6を取得し、複製DB0805のバージョンを6とする。そして、複製DB0805内の複製項目TBL0211に対する編集0810を行う。この編集記録がサーバーにアップされ0811、編集7として記録される。
この直後の確認と同期0812により、先のアップ0811の編集記録が有効と判定され、編集7となった事を確認する。この結果は計算機A0802の操作者に表示0813される。
この複製項目TBL0211に対する編集0810により、対応する複製データTBLの再構成が必要な場合は、PC-A0802(のプログラム)は、複製データTBLの再構成を行い、その結果を編集記録としてサーバーに送る0814。この編集はサーバーで編集8となる。PC-A0802は同期を行い0815、編集が確定した結果をPC-A0802の操作者に表示0816する。PC-B0203も複製項目TBL0211と複製データTBL0212の同期を行う0817。
<並行編集の禁止>
あるPCでの複製項目TBL0211の編集中に、他のPCでの編集を一次停止させる場合、図9の手順で行う。まず「他のPCに編集の一時停止を通知」0901した後、「複製項目TBLに対する編集記録を作成」0902し、この「編集記録を他のPCに送信」0903する。そして「他のPCに編集の一次停止の解除を通知」0904する。
従来のデータベースの運用の多くは、最初にテーブルの項目を設計し、その後はこのテーブルにデータを投入し編集するだけであった。またSQL言語仕様ではデータ入力後の項目の編集が可能であるが、同時編集を禁止していた。本願により、複数のPCで項目を並行編集する事を可能となり、データベースの運用に大きな自由度を与えられる。

Claims (7)

  1. データベースの編集方法であって、
    (A)データベースのデータの複製と、該データの項目を定めた項目定義の複製を保持し、
    (B)外部から受信した編集記録により、項目定義の該複製を更新する工程、
    (C)項目定義の、更新された該複製の内容に従って、データの該複製を再構成する工程、
    を特徴とする方法。
  2. データベースの編集方法であって、
    (A)データベースのデータの複製と、該データの項目を定めた項目定義の複製を保持し、
    (B1)外部から受信した編集記録を、指定された順番で取り出し、該編集記録の内容に応じて、データの該複製の更新または項目定義の該複製の更新を行う、一連の工程、
    (C)項目定義の、更新された該複製の内容に従って、データの該複製を再構成する工程、
    を特徴とする方法。
  3. データベースの編集方法であって、
    (A)データベースのデータの複製と、該データの項目を定めた項目定義の複製を保持し、
    (B2)外部から受信した編集記録を、指定された順番で取り出し、該編集記録の内容に応じて、「データの該複製の更新、そして、または、項目定義の該複製の更新」を行う、一連の工程、
    (C)項目定義の、更新された該複製の内容に従って、データの該複製を再構成する工程、
    を特徴とする方法。
  4. データベースの編集方法であって、
    (A)データベースのデータの複製と、該データの項目を定めた項目定義の複製を保持し、
    (B3)外部から受信した編集記録を、指定された順番で取り出し、該編集の有効性を判定し、有効と判定された該編集記録の内容に応じて、「データの該複製、そして、または、項目定義の該複製の更新」を行う、一連の工程、
    (C)項目定義の、更新された該複製の内容に従って、データの該複製を再構成する工程、
    を特徴とする方法。
  5. データベースの編集方法であって、
    (A)データベースのデータの複製と、該データの項目を定めた項目定義の複製を保持し、
    (D)項目定義の該複製に対する編集記録を作成し、外部に送信する工程、
    (B4)該編集記録、およびまたは外部の編集記録を、受信または保持し、
    (B5)これらの編集記録を、指定された順番で取り出し、指定された順番で取り出し、該編集記録の内容に応じて、「データの該複製、そして、または、項目定義の該複製の更新」を行う、一連の工程、
    を特徴とする方法。
  6. データベースの編集方法であって、
    (A)データベースのデータの複製と、該データの項目を定めた項目定義の複製を保持し、
    (D)項目定義の該複製に対する編集記録を作成し、外部に送信する工程、
    (B4)該編集記録、およびまたは外部の編集記録を、受信または保持し、
    (B6)これらの編集記録を、指定された順番で取り出し、指定された順番で取り出し、該編集の有効性を判定し、有効と判定された該編集記録の内容に応じて、「データの該複製、そして、または、項目定義の該複製の更新」を行う、一連の工程、
    を特徴とする方法。
  7. データベースの編集方法であって、
    (A)データベースのデータの複製と、該データの項目を定めた項目定義の複製を保持し、
    (D1)項目定義の該複製に対する編集を行う前に、他の計算機に編集停止を通知し、
    (D)項目定義の該複製に対する編集記録を作成し、外部に送信し、
    (D2)該編集の後に編集停止の解除を通知する一連の工程と、
    (B4)該編集記録、およびまたは外部の編集記録を、受信または保持し、
    (B5)これらの編集記録を、指定された順番で取り出し、指定された順番で取り出し、該編集記録の内容に応じて、「データの該複製、そして、または、項目定義の該複製の更新」を行う、一連の工程、
    を特徴とする方法。
PCT/JP2009/002501 2007-06-06 2009-06-03 データベースのデータ項目の平行編集方式 WO2009147851A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US12/743,367 US20110161292A1 (en) 2007-06-06 2009-06-03 Method for parallel editing data item of database
JP2010515778A JP4855538B2 (ja) 2008-06-04 2009-06-03 データベースのデータ項目の平行編集方式
US13/714,422 US20130110777A1 (en) 2007-06-06 2012-12-14 Synchronization of data edited in parallel
US13/726,549 US20130179652A1 (en) 2007-06-06 2012-12-25 Support for synchronization of data edited in parallel
US13/802,740 US20130204842A1 (en) 2007-06-06 2013-03-14 Method and system for synchronization of data edited in parallel

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
PCT/JP2008/001424 WO2008149552A1 (ja) 2007-06-06 2008-06-04 データベース矛盾解消方式
JPPCT/JP2008/001424 2008-06-04
PCT/JP2008/001506 WO2009147701A1 (ja) 2008-01-08 2008-06-12 データベースへの平行アクセスプログラム
JPPCT/JP2008/001506 2008-06-12
PCT/JP2008/001719 WO2009147704A1 (ja) 2008-06-04 2008-07-01 テーブルとテーブル項目の平行編集プログラム
JPPCT/JP2008/001719 2008-07-01

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/743,367 A-371-Of-International US20110161292A1 (en) 2007-06-06 2009-06-03 Method for parallel editing data item of database
US13/714,422 Continuation-In-Part US20130110777A1 (en) 2007-06-06 2012-12-14 Synchronization of data edited in parallel

Publications (1)

Publication Number Publication Date
WO2009147851A1 true WO2009147851A1 (ja) 2009-12-10

Family

ID=41397796

Family Applications (5)

Application Number Title Priority Date Filing Date
PCT/JP2008/001719 WO2009147704A1 (ja) 2007-06-06 2008-07-01 テーブルとテーブル項目の平行編集プログラム
PCT/JP2008/001900 WO2009147705A1 (ja) 2008-06-04 2008-07-15 データベース接続プログラムおよび装置
PCT/JP2009/002491 WO2009147847A1 (ja) 2007-06-06 2009-06-03 データベース並行編集方式
PCT/JP2009/002490 WO2009147846A1 (ja) 2007-06-06 2009-06-03 データベース並行編集の競合解消方式
PCT/JP2009/002501 WO2009147851A1 (ja) 2007-06-06 2009-06-03 データベースのデータ項目の平行編集方式

Family Applications Before (4)

Application Number Title Priority Date Filing Date
PCT/JP2008/001719 WO2009147704A1 (ja) 2007-06-06 2008-07-01 テーブルとテーブル項目の平行編集プログラム
PCT/JP2008/001900 WO2009147705A1 (ja) 2008-06-04 2008-07-15 データベース接続プログラムおよび装置
PCT/JP2009/002491 WO2009147847A1 (ja) 2007-06-06 2009-06-03 データベース並行編集方式
PCT/JP2009/002490 WO2009147846A1 (ja) 2007-06-06 2009-06-03 データベース並行編集の競合解消方式

Country Status (2)

Country Link
JP (1) JPWO2009147705A1 (ja)
WO (5) WO2009147704A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
JP5356351B2 (ja) * 2010-09-30 2013-12-04 ヤフー株式会社 ストレージサーバ、ファイル同期システム、ファイル衝突処理方法及びプログラム
US9946691B2 (en) * 2013-01-30 2018-04-17 Microsoft Technology Licensing, Llc Modifying a document with separately addressable content blocks
US10105700B2 (en) 2013-07-17 2018-10-23 The Johns Hopkins University Microfluidic chip for analysis of cell motility and methods for using same
CN106156094B (zh) * 2015-04-01 2019-09-17 阿里巴巴集团控股有限公司 一种数据库的远程数据同步方法和装置
CN111523291B (zh) * 2020-04-21 2023-04-18 四川川大智胜软件股份有限公司 一种低空雷达多席位空域数据编辑方法
JP7475086B1 (ja) 2023-02-03 2024-04-26 株式会社ミヤワキ 編集方法、編集装置及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233405A (ja) * 1992-02-18 1993-09-10 Hitachi Ltd データベース変更監視方式
JPH07191898A (ja) * 1993-12-27 1995-07-28 Fujitsu Ltd データベース排他制御装置
CA2152528C (en) * 1994-07-29 2000-04-18 Chung-Hwa Herman Rao Distributed systems with replicated files
JP3534596B2 (ja) * 1997-12-05 2004-06-07 富士通株式会社 インテリジェントネットワーク内のデータベースの同期方法と装置
JP4187302B2 (ja) * 1998-03-25 2008-11-26 富士通株式会社 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体
JP2000020370A (ja) * 1998-06-29 2000-01-21 Sharp Corp データ同期処理装置
JP2000194592A (ja) * 1998-12-25 2000-07-14 Nippon Telegr & Teleph Corp <Ntt> デ―タベ―スシステム、デ―タベ―スアクセスシステム、およびデ―タベ―スアクセスプログラムを記録した記録媒体
JP2000222268A (ja) * 1999-01-29 2000-08-11 Hitachi Ltd 複数のコンピュータ間におけるファイルの同期方法
JP2000284998A (ja) * 1999-03-31 2000-10-13 Ricoh Co Ltd データ更新制御システム、データ更新制御方法、その方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US6938070B2 (en) * 2001-12-17 2005-08-30 Dassault Systemes Conflict resolution for collaborative work system
JP4279499B2 (ja) * 2002-03-01 2009-06-17 シャープ株式会社 情報処理装置
JP2007179105A (ja) * 2005-12-26 2007-07-12 World Planning:Kk 共有データベースの制御システム及び共有データベースの制御方法並びにコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANDREW S. TANENBAUM: "DISTRIBUTED SYSTEMS", PEARSON EDUCATION JAPAN, 20 October 2003 (2003-10-20), pages 698 - 701 *
MICROSOFT ACCESS 97 FOR WINDOWS VER.8.0, 25 March 1998 (1998-03-25), pages 569 - 599 *

Also Published As

Publication number Publication date
WO2009147846A1 (ja) 2009-12-10
WO2009147847A1 (ja) 2009-12-10
WO2009147705A1 (ja) 2009-12-10
JPWO2009147705A1 (ja) 2011-10-20
WO2009147704A1 (ja) 2009-12-10

Similar Documents

Publication Publication Date Title
JP4573277B2 (ja) データベース矛盾解消方式
WO2009147851A1 (ja) データベースのデータ項目の平行編集方式
CN107122360B (zh) 数据迁移系统和方法
CN108932282B (zh) 一种数据库迁移方法、装置和存储介质
US10642696B2 (en) Copying compressed pages without uncompressing the compressed pages
US8429121B2 (en) Apparatus and method for creating a real time database replica
US20070288835A1 (en) Apparatus, computer readable medium, data signal, and method for document management
Liu et al. CloudETL: scalable dimensional ETL for hive
US20080046479A1 (en) Apparatus and method for read consistency in a log mining system
EP2800013B1 (en) Integration database framework
Schönig Mastering PostgreSQL 13: Build, administer, and maintain database applications efficiently with PostgreSQL 13
CN107391634A (zh) 数据迁移方法及装置
JP5543899B2 (ja) データベースのデータ項目の平行編集方式
US7194486B2 (en) Method and system for data processing with data replication for the same
US9015116B2 (en) Consistent replication of transactional updates
US9009098B1 (en) Methods and apparatus for creating a centralized data store
JP4855538B2 (ja) データベースのデータ項目の平行編集方式
JP5543918B2 (ja) データベース並行編集の競合解消方式
JP4855537B2 (ja) データベース並行編集方式
US20170177647A1 (en) Parallel database editing
JP4923140B2 (ja) データベース並行編集方式
WO2009147701A1 (ja) データベースへの平行アクセスプログラム
JP2009301352A (ja) テスト装置およびテスト方法
JP5543901B2 (ja) データベース並行編集方式
Zhu Towards Automated Online Schema Evolution

Legal Events

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

Ref document number: 09758118

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010515778

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09758118

Country of ref document: EP

Kind code of ref document: A1