JP5656722B2 - Data synchronization apparatus, data synchronization system, data synchronization method and program - Google Patents
Data synchronization apparatus, data synchronization system, data synchronization method and program Download PDFInfo
- Publication number
- JP5656722B2 JP5656722B2 JP2011087683A JP2011087683A JP5656722B2 JP 5656722 B2 JP5656722 B2 JP 5656722B2 JP 2011087683 A JP2011087683 A JP 2011087683A JP 2011087683 A JP2011087683 A JP 2011087683A JP 5656722 B2 JP5656722 B2 JP 5656722B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- server
- synchronization
- storage unit
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データ同期装置、データ同期システム、データ同期方法及びプログラムに関する。 The present invention relates to a data synchronization apparatus, a data synchronization system, a data synchronization method, and a program.
複数のコンピュータの間でデータの同期を取ることが行われている。例えば、携帯電話に記録されている写真や電話帳などのデータをサーバにも同期することにより、データのバックアップを行ったり、複数の機器の間でデータを共有したりされている。データが他のデータに依存をしているなお、データが他のデータを参照している場合があり、そのような場合には、データの関係性を壊さないように同期が行われる。例えば、第1のデータを参照している第2のデータを送信する場合には、第1のデータも送信するようにすることができる(特許文献1参照)。このような同期処理は通常アトミックに処理され、第1のデータの送信が失敗した場合には、第2のデータの送信が成功したか否かにかかわらず、同期処理全体としては失敗したものとされる。 Data synchronization is performed among a plurality of computers. For example, data such as photos and phone books recorded on a mobile phone is synchronized with a server to back up the data or to share data among a plurality of devices. The data depends on other data. However, the data may refer to other data. In such a case, synchronization is performed so as not to break the relationship of the data. For example, when transmitting the second data referring to the first data, the first data can also be transmitted (see Patent Document 1). Such synchronization processing is normally processed atomically, and if the transmission of the first data fails, the synchronization processing as a whole fails regardless of whether the transmission of the second data is successful or not. Is done.
しかしながら、第1のデータの送信が失敗したことにより同期処理全体が失敗とされると、第2のデータの送信が成功していてもその第2のデータを利用することはできなくなってしまう。 However, if the entire synchronization process is unsuccessful due to the failure of the transmission of the first data, the second data cannot be used even if the transmission of the second data is successful.
本発明は、このような背景を鑑みてなされたものであり、参照関係を有するデータの同期においてデータの可用性を高めることのできる、データ同期装置、データ同期システム、データ同期方法及びプログラムを提供することを目的とする。 The present invention has been made in view of such a background, and provides a data synchronization apparatus, a data synchronization system, a data synchronization method, and a program capable of increasing the availability of data in synchronization of data having a reference relationship. For the purpose.
上記課題を解決するための本発明の主たる発明は、データを記憶するサーバとの間でデータを同期する装置であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部と、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録する同期処理部と、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するデータ変更部と、を備えることとする。 A main invention of the present invention for solving the above-described problem is an apparatus for synchronizing data with a server that stores data, wherein the first data and the first data are referred to. A data storage unit that stores second data in which reference information indicating the data is set, the first and second data stored in the server, and the acquired first and second data When the acquisition of the first data fails, the synchronization processing unit for registering the data in the data storage unit and the setting of the reference information from the second data are canceled, and the first data A data changing unit that sets inconsistency information indicating that acquisition has failed in the second data.
また、本発明のデータ同期装置では、前記同期処理部は、前記第1のデータの取得に成功した場合に、前記不整合情報が設定されている前記第2のデータが前記データ記憶部に登録されているときは、当該第2のデータも前記サーバから取得するようにしてもよい。 In the data synchronization apparatus of the present invention, the synchronization processing unit registers the second data in which the inconsistency information is set in the data storage unit when the acquisition of the first data is successful. If it is, the second data may be acquired from the server.
また、本発明のデータ同期装置は、取得に失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記同期処理部は、前記第1のデータの取得に失敗した場合、前記第1のデータを特定する前記データ特定情報を前記失敗データ記憶部に登録し、前記データ変更部は、前記失敗データ記憶部に登録されている前記データ特定情報のそれぞれについて、前記データ特定情報に対応する前記参照情報が設定されている前記第2のデータを前記データ記憶部から検索し、検索した前記第2のデータから前記参照情報の設定を解除するとともに、前記不整合情報を設定するようにしてもよい。 Further, the data synchronization apparatus of the present invention includes a failure data storage unit that stores data specifying information for specifying data that has failed to be acquired, and the synchronization processing unit, when the acquisition of the first data fails, The data specifying information for specifying the first data is registered in the failure data storage unit, and the data changing unit stores the data specifying information for each of the data specifying information registered in the failure data storage unit. The second data for which the corresponding reference information is set is searched from the data storage unit, the setting of the reference information is canceled from the searched second data, and the inconsistency information is set. It may be.
また、本発明の他の態様は、サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期するシステムであって、前記クライアントは、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部と、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードするクライアント同期処理部と、を備え、前記サーバは、前記第1及び第2のデータを記憶するサーバデータ記憶部と、前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録するサーバ同期処理部と、前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除するサーバデータ変更部と、を備え、前記クライアント同期処理部は、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすることとする。 According to another aspect of the present invention, there is provided a system for synchronizing data between a server and a client communicably connected to the server, wherein the client includes first data, first data A client data storage unit that stores data and second data in which reference information indicating the first data is set, and the first and second data stored in the client data storage unit A client synchronization processing unit for uploading to the server, the server storing a server data storage unit for storing the first and second data, and the first and second data uploaded from the client The server synchronization processing unit registered in the received server data storage unit and the second data when the reception of the first data fails. A server data changing unit that cancels the setting of the reference information from the data, and the client synchronization processing unit uploads the first data again when the uploading of the first data fails, When re-uploading of the first data is successful, the second data in which the reference information for specifying the first data is set is read from the client data storage unit, and the read second data is read Upload to the server again.
また、本発明のデータ同期システムでは、前記データはヘッダ部を含み、前記参照情報は前記ヘッダ部に含まれ、前記クライアント同期処理部は、前記第1のデータの再度のアップロードが成功したとき、前記第2のデータの前記ヘッダ部のみを再度前記サーバにアップロードするようにしてもよい。 Further, in the data synchronization system of the present invention, the data includes a header part, the reference information is included in the header part, and the client synchronization processing unit has succeeded in uploading the first data again, Only the header part of the second data may be uploaded to the server again.
また、本発明のデータ同期システムでは、前記サーバは、アップロードに失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記サーバ同期処理部は、前記第2のデータに設定されている前記参照情報が示す前記第1のデータを特定する前記データ特定情報が前記失敗データ記憶部に登録されている場合に、当該参照情報の設定を解除するようにしてもよい。 In the data synchronization system of the present invention, the server includes a failure data storage unit that stores data specifying information that specifies data that failed to be uploaded, and the server synchronization processing unit is set to the second data. When the data specifying information for specifying the first data indicated by the reference information is registered in the failure data storage unit, the setting of the reference information may be canceled.
また、本発明のデータ同期システムでは、前記第1及び第2のデータには更新時点が設定され、前記クライアントは、前記サーバに対して最後に前記データをアップロードした時点であるアンカー時点を記憶するアンカー時点記憶部と、前記第1のデータの再度のアップロードが成功したとき、前記第1のデータを示す前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から検索し、前記検索した第2のデータの前記更新時点を、前記アンカー時点よりも新しい時点に更新する更新時点更新部を備え、前記クライアント同期処理部は、前記アンカー時点より後の前記更新時点が設定されている前記第1及び第2のデータを前記サーバにアップロードするようにしてもよい。 In the data synchronization system of the present invention, an update time is set for the first and second data, and the client stores an anchor time that is the last time the data is uploaded to the server. When the second upload of the first time data and the anchor time storage unit succeeds, the client data storage unit is searched for the second data in which the reference information indicating the first data is set, An update time update unit that updates the update time of the searched second data to a time that is newer than the anchor time, wherein the client synchronization processing unit is set with the update time after the anchor time. The first and second data may be uploaded to the server.
また、本発明のデータ同期システムでは、前記クライアントは、アップロードに失敗した前記第1のデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、前記クライアント同期処理部はさらに、前記失敗データ記憶部に記憶されている前記データ特定情報により特定される前記第1のデータを前記サーバにアップロードするようにしてもよい。 In the data synchronization system of the present invention, the client further includes a failure data storage unit that stores data specifying information for specifying the first data that has failed to be uploaded, and the client synchronization processing unit further includes the failure data The first data specified by the data specifying information stored in the storage unit may be uploaded to the server.
また、本発明の他の態様は、データを記憶するサーバとの間でデータを同期する方法であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータが、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録し、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定することとする。 According to another aspect of the present invention, there is provided a method for synchronizing data with a server storing data, wherein the first data refers to the first data and indicates the first data. A computer including a data storage unit that stores second data in which reference information is set acquires the first and second data stored in the server, and the acquired first and second data When registering data in the data storage unit and failing to acquire the first data, the setting of the reference information is canceled from the second data, and acquisition of the first data has failed Is set in the second data.
また、本発明の他の態様は、サーバと、前記サーバに通信可能に接続されるクライアントとの間でデータを同期する方法であって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部を備える前記クライアントが、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードし、前記第1及び第2のデータを記憶するサーバデータ記憶部を備える前記サーバが、前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録し、前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除し、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすることとする。 Another aspect of the present invention is a method of synchronizing data between a server and a client that is communicably connected to the server, and refers to the first data and the first data. The client includes a client data storage unit that stores second data in which reference information indicating the first data is set. The first and second data stored in the client data storage unit. The server having a server data storage unit for storing the first and second data is received by the server, and the server receives the first and second data uploaded from the client. When registration with the data storage unit fails to receive the first data, the setting of the reference information is canceled from the second data, and the first data If the uploading of the first data fails, the first data is uploaded again. If the uploading of the first data succeeds again, the reference information for specifying the first data is set in the second data. Are read from the client data storage unit, and the read second data is uploaded to the server again.
また、本発明の他の態様は、データを記憶するサーバとの間でデータを同期するためのプログラムであって、第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータに、前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録するステップと、前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するステップと、を実行させることとする。 According to another aspect of the present invention, there is provided a program for synchronizing data with a server storing data, wherein the first data refers to the first data. The first and second data stored in the server are acquired by a computer including a data storage unit that stores second data in which reference information indicating the second information is set, and the acquired first and second data Registering the second data in the data storage unit, and when the acquisition of the first data fails, the setting of the reference information is canceled from the second data, and the acquisition of the first data And the step of setting inconsistency information indicating the failure of the second data to the second data.
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。 Other problems and solutions to be disclosed by the present application will be made clear by the embodiments of the invention and the drawings.
本発明によれば、参照関係を有するデータの同期においてデータの可用性を高めることができる。 ADVANTAGE OF THE INVENTION According to this invention, the availability of data can be improved in the synchronization of the data which have a reference relationship.
==システム構成==
以下、本発明の一実施形態に係るデータ同期システムについて説明する。図1は、本実施形態のデータ同期システムの全体構成を示す図である。本実施形態のデータ同期システムは、クライアント10及びサーバ20を含んで構成される。クライアント10は、例えばテキストデータや画像データなど各種のデータを管理する、携帯電話やパーソナルコンピュータ、ワークステーション、PDA(Personal Digital Assistant)などである。サーバ20は、例えばクライアント10が記憶しているデータをバックアップしたり、複数のクライアント10間でデータを共有したりするために、クライアント10との間でデータを同期する、例えばパーソナルコンピュータやワークステーションなどである。クライアント10及びサーバ20は通信路30を介して互いに通信可能に接続される。通信路30は、例えばインターネットやLAN(Local Area Network)などであり、イーサネット(登録商標)や公衆電話回線、携帯電話回線、無線通信路などにより構成される。
== System configuration ==
Hereinafter, a data synchronization system according to an embodiment of the present invention will be described. FIG. 1 is a diagram showing the overall configuration of the data synchronization system of the present embodiment. The data synchronization system of the present embodiment includes a
クライアント10とサーバ20との間ではデータが同期される。クライアント10とサーバ20との間で同期されるデータは、そのデータに関係する他のデータへの参照が設定されることがある。例えば、ファイルがフォルダごとに管理されている場合、ファイルにはフォルダへの参照が設定され、フォルダが階層構造になっている場合には、下位のフォルダには上位のフォルダへの参照が設定される。画像にタグが設定されている場合、画像にはタグへの参照が設定され、また、リレーショナルデータベース管理システム(RDBMS)においてリレーションが定義されたテーブルのレコードには、他のテーブルのレコードへの参照が設定される。本実施形態のデータ同期システムは、このような参照関係を有するデータを同期することを想定する。
Data is synchronized between the
図2は、同期データ40の構成例を説明する図である。同期データ40は、ヘッダ部41及びボディ部42から構成され、ヘッダ部41には、当該同期データ40を特定するための情報(以下、「GUID411(Global Unique IDentification)」という。)が設定され、また当該同期データ40が参照する他の同期データ40を示す情報(以下、「参照ID412」という。)が設定可能である。本実施形態では、説明を簡単にするために、クライアント10とサーバ20との間で同期されるデータ(以下、「同期データ40」という。)は、画像を表示するための画像データと、画像に設定するタグを示すタグデータであるものとする。図2の例では、画像データ2のヘッダ部41には、タグデータ1を示す参照ID412が設定されている。タグデータ1と画像データ2との関係は1対多の関係であり、参照ID412は、画像データ2にのみ設定され、タグデータ1には設定されない。
FIG. 2 is a diagram for explaining a configuration example of the
本実施形態のデータ同期システムは、タグデータ1の同期が失敗しても、画像データ2の同期が成功した場合には、一時的に画像データ2からタグデータ1への参照を解除し、これにより画像データ2自体をユーザから利用可能にするものである。
以下、詳細について説明する。
Even if the synchronization of the
Details will be described below.
==ハードウェア構成==
図3は、クライアント10及びサーバ20に用いられる一般的なコンピュータ11(情報処理装置)のハードウェア構成例を示す図である。コンピュータ11は、CPU101、メモリ102、記憶装置103、通信インタフェース104、入力装置105、出力装置106を備える。記憶装置103は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやフラッシュメモリなどである。CPU101は、記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより各種の機能を実現する。通信インタフェース104は、例えば通信路30へのインタフェースであり、イーサネット(登録商標)に接続するためのアダプタや、電話回線網に接続するためのモデム、無線通信路に接続するための無線通信機などである。入力装置105は、ユーザからデータの入力を受け付ける、例えばキーボードやマウス、タッチパネル、ボタン、ダイアル、マイクロフォンなどである。出力装置106は、ユーザに対してデータを出力する、例えばディスプレイやスピーカ、プリンタなどである。
== Hardware configuration ==
FIG. 3 is a diagram illustrating a hardware configuration example of a general computer 11 (information processing apparatus) used for the
==クライアント10==
図4は、クライアント10のソフトウェア構成例を示す図である。クライアント10は、同期処理部111、ヘッダ変更部112、タグデータ記憶131、アンカー記憶部132、ダウンロード失敗ID記憶部133、及びアップロード失敗ID記憶部134を備える。なお、同期処理部111、及びヘッダ変更部112は、クライアント10が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。同期データ記憶部131、アンカー記憶部132、ダウンロード失敗ID記憶部133、及びアップロード失敗ID記憶部134は、クライアント10が備えるメモリ102及び記憶装置103が提供する記憶領域の一部として実現される。
==
FIG. 4 is a diagram illustrating a software configuration example of the
同期データ記憶部131は同期データ40を記憶する。図5は同期データ記憶部131及び同期データ40の構成例を示す図である。上述したように、同期データ記憶部131にはタグデータ1と画像データ2とが同期データ40として記憶され、同期データ40は、ヘッダ部41及びボディ部42から構成される。ヘッダ部41には、同期データ40のGUID411と、同期データ40の作成時点413及び更新時点414が含まれる。作成時点413及び更新時点414は、例えば、日時とすることもできるし、データが作成又は更新される度に増加するシリアル値とすることもできる。関係性を有する2つの同期データ40の一方には、他方の同期データ40を特定するGUIDが参照ID412としてヘッダ部41に含まれる。上述したように、本実施形態では、画像データ2には、参照するタグデータ1のGUIDが参照ID412としてヘッダ部41に含まれるが、タグデータ1には、画像データ2への参照ID412は含まれないものとするが、タグデータ1に画像データ2への参照ID412を含めるようにしてもよい。また、参照ID412は複数設定することもできるが、本実施形態では説明を簡単にするため、ヘッダ部41には1つの参照ID412のみが設定されうるものとする。また、ヘッダ部41には、不整合ID415が設定可能である。不整合ID415は、後述するように、参照ID412が示すタグデータ1のダウンロードに失敗した場合に、参照ID412に代えて設定される、タグデータ1を示すGUIDである。
The synchronization
アンカー記憶部132は、過去最後に同期処理を行った時点(以下、「アンカー時点」という。)が記憶される。アンカー時点は、日時としてもよいし、同期データ40が作成されもしくは更新され、又は同期処理が行われる度に増加するシリアル値としてもよい。
The
ダウンロード失敗ID記憶部133は、サーバ20からのダウンロードが失敗した同期データ40のGUIDを記憶する。アップロード失敗ID記憶部134は、サーバ20へのアップロードが失敗した同期データ40のGUIDを記憶する。
The download failure
同期処理部111は、サーバ20との間で同期データ40の同期を行う。本実施形態では、同期処理部111は、アンカー時点よりも後にサーバ20において作成又は更新された同期データ40をサーバ20からダウンロードするとともに、アンカー時点よりも後にクライアント10において作成又は更新された同期データ40をサーバ20にアップロードすることにより同期処理を行う。同期データ40のダウンロードは、同期処理部111が、同期データ40をダウンロードすることを要求するコマンド(以下、「ダウンロード要求」という。)をサーバ20に送信し、ダウンロード要求に応じてサーバ20から送信される同期データ40を受信する。ダウンロード要求には、アンカー時点が設定される。ダウンロード要求にはさらに、ダウンロードする同期データ40を示すGUIDを設定することもできる。サーバ20からは、ダウンロード要求に設定されるアンカー時点よりも後に作成又は更新された同期データ40が応答され、またダウンロード要求にGUIDが設定されていれば、そのGUIDに対応する同期データ40も応答される。なお、本実施形態では一般的な同期処理に係る処理については説明を省略するが、もちろん同期処理部111は一般的な同期処理に係る各種の処理を行うことができる。
The
同期データ40のダウンロード及びアップロードは失敗することがある。例えば、通信路30においてエラーが発生した場合や、同期データ40を記録する際にエラーが発生した場合、通信量や記憶容量に対する制約が設定されており、ダウンロード又はアップロードされた同期データ40がこの制約に違反した場合などに、ダウンロードやアップロードが失敗することが考えられる。なお、本実施形態では、説明を簡単にするために、ダウンロード又はアップロードをするべき同期データ40はクライアント10とサーバ20との間でやりとりが行われた上で、通信路30におけるエラーなどにより同期データ40の全てを受信することができなかった場合に、ダウンロード又はアップロードが失敗したものとする。
Downloading and uploading the
同期処理部111は、同期データ40のダウンロードに失敗した場合には、失敗した同期データ40のGUIDをダウンロード失敗ID記憶部133に登録し、同期データ40のアップロードに失敗した場合には、失敗した同期データ40のGUIDをアップロード失敗ID記憶部134に登録する。後述するように、同期処理部111は、アップロード失敗ID記憶部133にGUIDが登録されている同期データ40については、更新時点がアンカー時点より前であっても再度アップロードを行う。また、同期処理部111は、ヘッダ部41に不整合ID415が設定されている同期データ40については、更新時点にかかわらず、明示的にその同期データ40をダウンロードする。なお、同期データ40の同期処理の詳細については後述する。
The
ヘッダ変更部112は、ある同期データ40のダウンロードが失敗した場合に、その同期データ40を参照している他の同期データ40のヘッダ部41から参照ID411を削除し、参照ID411に設定されていたGUIDを不整合ID415としてヘッダ部41に設定する。ヘッダ変更部112は、同期データ40のダウンロードが成功した場合には、その同期データ40のGUIDが不整合ID415として設定されていた同期データ40について、不整合ID415を削除し、不整合ID415に設定されていたGUIDを参照ID411として設定する。
The
また、ヘッダ変更部112は、ある同期データ40のアップロードが成功した場合に、その同期データ40のGUIDがアップロード失敗ID記憶部134に登録されている場合には、そのGUIDが参照ID411として設定されている同期データ40もアップロードされるように、更新時点414をアンカー時点よりも後に設定する。
The
==サーバ20==
図6は、サーバ20のソフトウェア構成例を示す図である。サーバ20は、同期処理部211、ヘッダ変更部212、同期データ記憶部231、及び失敗ID記憶部232を備える。なお、同期処理部211及びヘッダ変更部212は、サーバ20が備えるCPU101が記憶装置103に記憶されているプログラムをメモリ102に読み出して実行することにより実現される。また、同期データ記憶部231及び失敗ID記憶部232は、サーバ20が備えるメモリ102や記憶装置103が提供する記憶領域の一部として実現される。
==
FIG. 6 is a diagram illustrating a software configuration example of the
同期データ記憶部231は、同期データ40を記憶する。同期データ記憶部231は、上述した図5に示すクライアント10の同期データ記憶部131と同様の構成である。
The synchronization
失敗ID記憶部232は、クライアント10からのアップロードが失敗した同期データ40のGUIDを記憶する。
The failure
同期処理部211は、クライアント10との間で同期データ40の同期を行う。同期処理部211は、クライアント10からダウンロード要求を受信した場合、ダウンロード要求に含まれているアンカー時点よりも作成時点又は更新時点が新しい同期データ40を同期データ記憶部231から検索し、検索した同期データ40をクライアント10に送信する。また、同期処理部211は、ダウンロード要求にGUIDが設定されている場合には、そのGUIDに対応する同期データ40を同期データ記憶部231から読み出してクライアント10に送信する。
The
また、同期処理部211は、クライアント10から同期データ40がアップロードされてきた場合、アップロードされてきた同期データ40を受信して同期データ記憶部231に登録し、当該同期データ40のGUIDが失敗ID記憶部232に登録されていた場合には、失敗ID記憶部232から当該GUIDを削除する。同期処理部211は、同期データ40のアップロードが失敗した場合には、当該同期データ40のGUIDを失敗ID記憶部232に登録する。なお、同期処理部211は、一般的な同期処理を行うこともできる。
Further, when the
ヘッダ変更部212は、失敗ID記憶部232に記憶されているGUIDを参照ID412としてヘッダ部41に含む同期データ40が同期データ記憶部232に登録される場合、当該同期データ40のヘッダ部41の参照ID412を削除する。
When the
==同期処理==
以下、本実施形態のデータ同期システムにおける同期データ40の同期処理について説明する。図7は、データ同期システムにおける同期処理の流れを説明する図である。データ同期システムにおける同期処理では、同期データ40をサーバ20からクライアント10にダウンロードするダウンロード処理を行われ(S501)、クライアント10において衝突の解消処理が行われ(S502)、クライアント10においてダウンロードした同期データ40の登録処理が行われる(S503)。次に、クライアント10からサーバ20への同期データ40のアップロード処理が行われ(S504)、サーバ20においてアップロードされた同期データ40の登録処理が行われ(S505)、不整合ID415が設定されている同期データ40の更新処理(不整合解消処理)が行われる(S506)。最後に、クライアント10においてアンカー時点が新しい時点(例えば、現時点としてもよいし、ダウンロードまたはアップロードした同期データ40の作成時点又は更新時点のうち最も新しい時点としてもよい。)に更新される(S507)。
== Synchronous processing ==
Hereinafter, a synchronization process of the
図8は、図7のステップS501におけるダウンロード処理の流れを示す図である。
クライアント10の同期処理部111は、アンカー記憶部132からアンカー時点を読み出し(S521)、読み出したアンカー時点を設定したダウンロード要求を作成する(S522)。同期処理部111は、ダウンロード失敗ID記憶部133に記憶されているGUIDを読み出してダウンロード要求に設定する(S523)。同期処理部111は、同期データ記憶部131から、不整合ID415が設定されており、かつ、不整合ID415に設定されたGUIDがダウンロード失敗ID記憶部133に登録されていない同期データ40を検索し(S524)、上記の同期データ40が検索されれば、当該同期データ40のGUIDをダウンロード要求に設定する(S525)。同期処理部111は、ダウンロード要求をサーバ20に送信する(S526)。
サーバ20の同期処理部211は、クライアント10から受信したダウンロード要求に設定されているアンカー時点よりも後の作成時点413又は更新時点414が設定されている同期データ40を同期データ記憶部231から読み出し(S527)、読み出した同期データ40をクライアント10に送信する(S528)。
クライアント10の同期処理部111は、サーバ20から同期データ40を受信し(S529)、受信に失敗した同期データ40がある場合には、失敗した同期データ40のGUIDをダウンロード失敗ID記憶部133に登録する(S530)。同期処理部111は、ダウンロードに成功した同期データ40のリストを作成し(S531)、ダウンロードに成功した同期データ40のGUIDをダウンロード失敗ID記憶部133から削除する(S532)。
以上のようにして、サーバ20においてアンカー時点より後に作成又は更新された同期データ40と、前回ダウンロードに失敗した同期データ40と、参照先がダウンロードに失敗していた同期データ40とが、サーバ20からダウンロードされる。
FIG. 8 is a diagram showing the flow of download processing in step S501 of FIG.
The
The
The
As described above, the
図9は、図7のステップS502における衝突の解消処理の流れを示す図である。クライアント10の同期処理部111は、ダウンロードに成功した同期データ40のそれぞれについて以下の処理を行う。同期処理部111は、同期データ40に衝突が発生していないかいどうかを判定する(S541)。データの衝突とは、データを同期している2つの装置のそれぞれおいてデータが更新されたことをいう。本実施形態では、サーバ20からダウンロードした同期データ40更新時点414と、同期データ記憶部131に記憶されている同期データ40の更新時点414とがともにアンカー時点よりも後である場合に、衝突が検出される。同期処理部111は、衝突を検出した場合(S541:YES)、サーバ20からダウンロードした同期データ40と、クライアント10に記憶されている同期データ40とのどちらを優先するかを決定する(S542)。同期処理部111は、例えば、常にサーバ20又はクライアント10のどちらかの同期データ40を優先するようにしてもよいし、更新時点414に応じてどちらを優先するか決定してもよいしし、ユーザから指定を受け付けるようにしてもよい。同期処理部111は、クライアント10に記憶されている同期データ40を優先すると決定した場合(S543:YES)、当該同期データ40をリストから削除する(S544)。このようにして、クライアント10において同期データ40の衝突が解消される。
FIG. 9 is a diagram showing the flow of the collision elimination process in step S502 of FIG. The
図10は、図7のステップS503における、クライアント10による同期データ40の登録処理の流れを示す図である。クライアント10の同期処理部111は、リストに含まれている同期データ40を同期データ記憶部131に登録する(S561)。同期処理部111は、ダウンロード失敗ID記憶部133からGUIDを読み出す(S562)。ヘッダ変更部112は、読み出されたGUIDのそれぞれについて、参照ID412に当該GUIDが設定されている同期データ40に、当該GUIDを不整合ID415として設定するとともに(S563)、当該同期データ40から参照ID412を削除する(S564)ように、同期データ記憶部131を更新する。このようにして、同期データ40のダウンロードの際、ダウンロードされた同期データ40が同期データ記憶部131に登録されるとともに、ダウンロードに失敗した同期データ40を参照している同期データ40については、参照ID412が削除されて、代わりに不整合ID415が設定されるようにすることができる。
FIG. 10 is a diagram showing the flow of registration processing of the
図11は、図7のステップS504における、同期データ40のアップロード処理の流れを示す図である。
クライアント10の同期処理部111は、アンカー記憶部132からアンカー時点を読み出し(S581)、アンカー時点よりも作成時点413又は更新時点414が新しい同期データ40を同期データ記憶部131から読み出し(S582)、アップロード失敗ID記憶部134に記憶されているGUIDに対応する同期データ40を同期データ記憶部131から読み出し(S583)、読み出した同期データ40をサーバ20に送信する(S584)。同期処理部111は、アップロード失敗ID記憶部134に記憶されているGUIDを削除し(S585)、送信に失敗した同期データ40があれば、失敗した同期データ40のGUIDをアップロード失敗ID記憶部134に登録する(S586)。
一方、サーバ20の同期処理部211は、クライアント10から送信される同期データ40を受信し(S587)、受信に失敗した同期データ40があれば、失敗した同期データ40のGUIDを失敗ID記憶部232に登録し(S588)、受信に成功した同期データ40のリストを作成する(S589)。
以上のようにして、クライアント10においてアンカー時点より後に作成又は更新された同期データ40と、前回アップロードに失敗した同期データ40とがサーバ20にアップロードされる。
FIG. 11 is a diagram showing a flow of upload processing of the
The
On the other hand, the
As described above, the
図12は、図7のステップS505における、サーバ20による同期データ40の登録処理の流れを示す図である。サーバ20の同期処理部211は、リストに含まれている同期データ40を同期データ記憶部231に登録する(S601)。ヘッダ変更部212は、失敗ID記憶部232からGUIDを読み出し(S602)、読み出したGUIDのそれぞれについて、同期データ記憶部231に記憶されている同期データ40のうち、当該GUIDが参照ID412として設定されているものから参照ID412を削除する(S603)。
FIG. 12 is a diagram showing a flow of registration processing of the
図13は、図7のステップS506における、クライアント10による不整合解消処理の流れを示す図である。クライアント10のヘッダ変更部112は、不整合ID415が設定されている同期データ40を同期データ記憶部131から検索し(S621)、検索した同期データ40のそれぞれについて、不整合ID415に設定されているGUIDがアップロード失敗ID記憶部134に登録されているか否かを判定し(S622)、登録されていなければ(S622:NO)、不整合ID415に設定されているGUIDを参照ID412としてヘッダ部41に設定し(S623)、不整合ID415を削除し(S624)、更新時点414をアンカー時点よりも後の時点(例えば現時点)に更新する(S625)。これにより、次のアップロード処理において当該同期データ40はサーバ20にアップロードされることになる。サーバ20ではアップロードに失敗した同期データ40のヘッダ部41から参照ID412が削除されているので、このアップロードにより削除された参照IDが復活することになる。
FIG. 13 is a diagram showing the flow of inconsistency resolution processing by the
以上説明したように、本実施形態のデータ同期システムによれば、参照関係を有する同期データ40を同期する際に、参照先の同期データ40の同期が失敗した場合でも、一時的に参照元の同期データ40からの参照ID412を削除して、参照関係を解除することができる。一般に関係性を有するデータを同期する場合には、アトミックな同期処理が行われ、参照先のデータの同期が失敗した場合には、参照元のデータの同期も失敗したものとされるが、本実施形態のデータ同期システムによれば、参照先の同期データ40の同期が失敗した場合でも、参照元の同期データ40は引き続き利用することが可能となる。したがって、同期データ40の可用性を高めることができる。
As described above, according to the data synchronization system of the present embodiment, when synchronizing the
また、本実施形態のデータ同期システムによれば、サーバ20側では、ダウンロードの失敗について管理する必要がなく、また、アップロードが失敗した場合には、失敗した同期データ40を参照している同期データ40から参照ID412を削除するだけでよい。すなわち、サーバ20は、参照関係の復旧等を考慮する必要がない。したがって、サーバ20が数多くのクライアント10との間で同期を行う場合でも、参照関係を管理するためのサーバ20の負荷を軽減することができる。
Further, according to the data synchronization system of the present embodiment, the
なお、本実施形態では、クライアント10は1台であるものとしたが、もちろん複数のクライアント10とサーバ20とが同期を行うようにすることもできる。また、サーバ20を複数台により構成してもよい。
In the present embodiment, the number of
また、本実施形態では、画像データ及びタグデータのみをクライアント10及びサーバ20の間で同期するものとしたが、もちろん、フォルダやリレーショナルデータベース管理システムで管理されるレコードなど、他のデータへの参照ID412を設定可能な各種のデータを同期することも可能である。
In the present embodiment, only the image data and the tag data are synchronized between the
また、本実施形態では、タグデータ1と画像データ2とは1対多の関係であるものとしたが、1対1の関係であってもよいし、多対多の関係であってもよい。多対多の関係である場合、参照ID412は、同期データ40のヘッダ部41に設定せず、関係性を管理するデータ(以下、「関係性データ」という。)に設定するようにしてもよい。
In the present embodiment, the
また、本実施形態では、画像データ2にのみ参照ID412が設定されるものとしたが、タグデータ1にも、画像データ2への参照ID412を設定するようにしてもよい。
In this embodiment, the
また、本実施形態では、説明を簡単にするために、ダウンロード又はアップロードをするべき同期データ40はクライアント10とサーバ20との間でやりとりが行われた上で、通信路30におけるエラーなどにより同期データ40を受信できなかった場合に、ダウンロード又はアップロードが失敗したものとしたが、通信路30におけるエラーに限らず、例えば、同期データ40を記録する際にエラーが発生した場合、通信量や記憶容量に対する制約が設定されており、ダウンロード又はアップロードされた同期データ40がこの制約に違反した場合などに、ダウンロードやアップロードの失敗を検出するようにしてもよい。
In this embodiment, for the sake of simplicity, the
また、本実施形態では、不整合ID415が設定されていた同期データ40については、不整合ID415に設定されるGUIDに対応する同期データ40のアップロードが成功した場合に、同期データ40の全体を再度アップロードするものとしたが、ヘッダ部41のみをアップロッドしてもよい。また、同期データ40のダウンロード及びダウンロードの際に、ボディ部42の差異の有無を判定し、差異がある場合には同期データ40の全体をダウンロード又はアップロードし、差異がない場合にはヘッダ部41のみをダウンロード又はアップロードするようにしてもよい。さらには、同期データ40の差分のみをアップロード又はダウンロードするようにすることもできる。
In the present embodiment, for the
また、本実施形態では、不整合ID415に設定されるGUIDに対応する同期データ40のアップロードが成功した場合、更新時点414を更新することにより、再度アップロードが行われるようにしたが、図13のステップS625を省略し、アップロードを行わないようにしてもよい。
Further, in this embodiment, when the
また、本実施形態では、タグデータ1のダウンロードが失敗した場合、そのタグデータ1のGUIDが参照ID412に設定されている画像データ2のヘッダ41から、当該参照ID411が削除され、代わりに不整合ID415が設定されるものとしたが、これに限らず、参照ID412を削除せず、また不整合ID415を設定しないようにすることもできる。この場合、例えば、アップロード失敗ID記憶部134に登録されていたGUIDに対応する同期データ40のアップロードが成功した場合に、当該GUIDを記憶するアップロード成功ID記憶部を設けるようにし、参照ID412に設定されているGUIDがアップロード成功ID記憶部に登録されているものについて、再度アップロードを行うようにしてもよい。
Further, in the present embodiment, when the download of the
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。 Although the present embodiment has been described above, the above embodiment is intended to facilitate understanding of the present invention and is not intended to limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.
1 タグデータ
2 画像データ
10 クライアント
20 サーバ
30 通信路
40 同期データ
41 ヘッダ部
42 ボディ部
111 同期処理部
112 ヘッダ変更部
131 同期データ記憶部
132 アンカー記憶部
133 ダウンロード失敗ID記憶部
134 アップロード失敗ID記憶部
211 同期処理部
212 ヘッダ変更部
231 同期データ記憶部
232 失敗ID記憶部
411 GUID
412 参照ID
413 作成時点
414 更新時点
415 不整合ID
DESCRIPTION OF
412 Reference ID
413
Claims (11)
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部と、
前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録する同期処理部と、
前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するデータ変更部と、
を備えることを特徴とするデータ同期装置。 A device for synchronizing data with a server for storing data,
A data storage unit that stores first data and second data that refers to the first data and in which reference information indicating the first data is set;
A synchronization processing unit that acquires the first and second data stored in the server and registers the acquired first and second data in the data storage unit;
When the acquisition of the first data fails, the setting of the reference information is canceled from the second data, and inconsistency information indicating that the acquisition of the first data has failed is set to the second data. A data change part to be set in the data;
A data synchronizer comprising:
前記同期処理部は、前記第1のデータの取得に成功した場合に、前記不整合情報が設定されている前記第2のデータが前記データ記憶部に登録されているときは、当該第2のデータも前記サーバから取得すること、
を特徴とするデータ同期装置。 The data synchronizer according to claim 1,
When the second data in which the inconsistency information is set is registered in the data storage unit when the synchronization processing unit has succeeded in obtaining the first data, the second processing unit Obtaining data from the server,
A data synchronizer characterized by the above.
取得に失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
前記同期処理部は、前記第1のデータの取得に失敗した場合、前記第1のデータを特定する前記データ特定情報を前記失敗データ記憶部に登録し、
前記データ変更部は、前記失敗データ記憶部に登録されている前記データ特定情報のそれぞれについて、前記データ特定情報に対応する前記参照情報が設定されている前記第2のデータを前記データ記憶部から検索し、検索した前記第2のデータから前記参照情報の設定を解除するとともに、前記不整合情報を設定すること、
を特徴とするデータ同期装置。 The data synchronization device according to claim 1 or 2,
A failure data storage unit for storing data specifying information for specifying data that has failed to be acquired;
If the acquisition of the first data fails, the synchronization processing unit registers the data specifying information for specifying the first data in the failure data storage unit,
For each of the data specifying information registered in the failure data storing unit, the data changing unit sends the second data in which the reference information corresponding to the data specifying information is set from the data storing unit. Searching, releasing the setting of the reference information from the searched second data, and setting the inconsistency information;
A data synchronizer characterized by the above.
前記クライアントは、
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部と、
前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードするクライアント同期処理部と、
を備え、
前記サーバは、
前記第1及び第2のデータを記憶するサーバデータ記憶部と、
前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録するサーバ同期処理部と、
前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除するサーバデータ変更部と、
を備え、
前記クライアント同期処理部は、前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすること、
を特徴とするデータ同期システム。 A system for synchronizing data between a server and a client communicably connected to the server,
The client
A client data storage unit that stores first data and second data that refers to the first data and in which reference information indicating the first data is set;
A client synchronization processing unit for uploading the first and second data stored in the client data storage unit to the server;
With
The server
A server data storage unit for storing the first and second data;
A server synchronization processing unit that receives the first and second data uploaded from the client and registers in the received server data storage unit;
A server data changing unit for releasing the setting of the reference information from the second data when reception of the first data fails;
With
The client synchronization processing unit uploads the first data again when the upload of the first data fails, and identifies the first data when the upload of the first data succeeds. Reading the second data set with the reference information from the client data storage unit and uploading the read second data to the server again;
A data synchronization system characterized by
前記データはヘッダ部を含み、前記参照情報は前記ヘッダ部に含まれ、
前記クライアント同期処理部は、前記第1のデータの再度のアップロードが成功したとき、前記第2のデータの前記ヘッダ部のみを再度前記サーバにアップロードすること、
を特徴とするデータ同期システム。 The data synchronization system according to claim 4,
The data includes a header part, and the reference information is included in the header part,
The client synchronization processing unit uploads only the header part of the second data to the server again when the first data upload succeeds;
A data synchronization system characterized by
前記サーバは、アップロードに失敗したデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
前記サーバ同期処理部は、前記第2のデータに設定されている前記参照情報が示す前記第1のデータを特定する前記データ特定情報が前記失敗データ記憶部に登録されている場合に、当該参照情報の設定を解除すること、
を特徴とするデータ同期システム。 A data synchronization system according to any one of claims 4 and 5,
The server includes a failure data storage unit that stores data specifying information for specifying data that failed to be uploaded,
The server synchronization processing unit refers to the reference when the data specifying information for specifying the first data indicated by the reference information set in the second data is registered in the failure data storage unit. Canceling the information settings,
A data synchronization system characterized by
前記第1及び第2のデータには更新時点が設定され、
前記クライアントは、
前記サーバに対して最後に前記データをアップロードした時点であるアンカー時点を記憶するアンカー時点記憶部と、
前記第1のデータの再度のアップロードが成功したとき、前記第1のデータを示す前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から検索し、前記検索した第2のデータの前記更新時点を、前記アンカー時点よりも新しい時点に更新する更新時点更新部を備え、
前記クライアント同期処理部は、前記アンカー時点より後の前記更新時点が設定されている前記第1及び第2のデータを前記サーバにアップロードすること、
を特徴とするデータ同期システム。 The data synchronization system according to any one of claims 4 to 6,
An update time point is set in the first and second data,
The client
An anchor point storage unit that stores an anchor point that is a point of time when the data was last uploaded to the server;
When re-uploading of the first data is successful, the second data in which the reference information indicating the first data is set is retrieved from the client data storage unit, and the retrieved second data An update point update unit for updating the update point of data to a point newer than the anchor point;
The client synchronization processing unit uploads the first and second data set with the update time after the anchor time to the server;
A data synchronization system characterized by
前記クライアントは、アップロードに失敗した前記第1のデータを特定するデータ特定情報を記憶する失敗データ記憶部を備え、
前記クライアント同期処理部はさらに、前記失敗データ記憶部に記憶されている前記データ特定情報により特定される前記第1のデータを前記サーバにアップロードすること、
を特徴とするデータ同期システム。 The data synchronization system according to claim 7, wherein
The client includes a failure data storage unit that stores data specifying information for specifying the first data that has failed to be uploaded,
The client synchronization processing unit further uploads the first data specified by the data specifying information stored in the failure data storage unit to the server;
A data synchronization system characterized by
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータが、
前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録し、
前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定すること、
を特徴とするデータ同期方法。 A method of synchronizing data with a server storing data,
A computer including a data storage unit that stores first data and second data in which reference information indicating the first data is set, which refers to the first data.
Acquiring the first and second data stored in the server, registering the acquired first and second data in the data storage unit;
When the acquisition of the first data fails, the setting of the reference information is canceled from the second data, and inconsistency information indicating that the acquisition of the first data has failed is set to the second data. To set the data,
A data synchronization method characterized by the above.
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するクライアントデータ記憶部を備える前記クライアントが、前記クライアントデータ記憶部に記憶されている前記第1及び第2のデータを前記サーバにアップロードし、
前記第1及び第2のデータを記憶するサーバデータ記憶部を備える前記サーバが、
前記クライアントからアップロードされる前記第1及び第2のデータを受信し、受信した前記サーバデータ記憶部に登録し、
前記第1のデータの受信が失敗した場合に、前記第2のデータから前記参照情報の設定を解除し、
前記第1のデータのアップロードが失敗した場合、再度前記第1のデータをアップロードし、前記第1のデータの再度のアップロードが成功したときには、前記第1のデータを特定する前記参照情報が設定されている前記第2のデータを前記クライアントデータ記憶部から読み出し、読み出した前記第2のデータを再度前記サーバにアップロードすること、
を特徴とするデータ同期方法。 A method of synchronizing data between a server and a client communicatively connected to the server,
The client comprising a client data storage unit that stores first data and second data that is set with reference information indicating the first data and that refers to the first data. Uploading the first and second data stored in the server to the server;
The server including a server data storage unit that stores the first and second data,
Receive the first and second data uploaded from the client, register in the received server data storage unit,
When the reception of the first data fails, the setting of the reference information is canceled from the second data,
When the upload of the first data fails, the first data is uploaded again. When the upload of the first data succeeds again, the reference information for specifying the first data is set. Reading the second data from the client data storage unit and uploading the read second data to the server again.
A data synchronization method characterized by the above.
第1のデータと、前記第1のデータを参照する、前記第1のデータを示す参照情報が設定された第2のデータとを記憶するデータ記憶部を備えるコンピュータに、
前記サーバに記憶されている前記第1及び第2のデータを取得し、取得した前記第1及び第2のデータを前記データ記憶部に登録するステップと、
前記第1のデータの取得に失敗した場合に、前記第2のデータから前記参照情報の設定を解除するとともに、前記第1のデータの取得が失敗したことを示す不整合情報を前記第2のデータに設定するステップと、
を実行させるためプログラム。 A program for synchronizing data with a server storing data,
A computer including a data storage unit that stores first data and second data that is set with reference information indicating the first data and that refers to the first data.
Acquiring the first and second data stored in the server, and registering the acquired first and second data in the data storage unit;
When the acquisition of the first data fails, the setting of the reference information is canceled from the second data, and inconsistency information indicating that the acquisition of the first data has failed is set to the second data. Steps to set the data,
A program for running.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011087683A JP5656722B2 (en) | 2011-04-11 | 2011-04-11 | Data synchronization apparatus, data synchronization system, data synchronization method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011087683A JP5656722B2 (en) | 2011-04-11 | 2011-04-11 | Data synchronization apparatus, data synchronization system, data synchronization method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012221317A JP2012221317A (en) | 2012-11-12 |
JP5656722B2 true JP5656722B2 (en) | 2015-01-21 |
Family
ID=47272723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011087683A Expired - Fee Related JP5656722B2 (en) | 2011-04-11 | 2011-04-11 | Data synchronization apparatus, data synchronization system, data synchronization method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5656722B2 (en) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792303B2 (en) | 2014-06-26 | 2017-10-17 | Amazon Technologies, Inc. | Identifying data from keyword searches of color palettes and keyword trends |
US9514543B2 (en) * | 2014-06-26 | 2016-12-06 | Amazon Technologies, Inc. | Color name generation from images and color palettes |
US9898487B2 (en) | 2014-06-26 | 2018-02-20 | Amazon Technologies, Inc. | Determining color names from keyword searches of color palettes |
US10235389B2 (en) | 2014-06-26 | 2019-03-19 | Amazon Technologies, Inc. | Identifying data from keyword searches of color palettes |
US10255295B2 (en) | 2014-06-26 | 2019-04-09 | Amazon Technologies, Inc. | Automatic color validation of image metadata |
US10169803B2 (en) | 2014-06-26 | 2019-01-01 | Amazon Technologies, Inc. | Color based social networking recommendations |
US9727983B2 (en) | 2014-06-26 | 2017-08-08 | Amazon Technologies, Inc. | Automatic color palette based recommendations |
US9659032B1 (en) | 2014-06-26 | 2017-05-23 | Amazon Technologies, Inc. | Building a palette of colors from a plurality of colors based on human color preferences |
US9177391B1 (en) | 2014-06-26 | 2015-11-03 | Amazon Technologies, Inc. | Image-based color palette generation |
US9996579B2 (en) | 2014-06-26 | 2018-06-12 | Amazon Technologies, Inc. | Fast color searching |
US9697573B1 (en) | 2014-06-26 | 2017-07-04 | Amazon Technologies, Inc. | Color-related social networking recommendations using affiliated colors |
US9245350B1 (en) | 2014-06-26 | 2016-01-26 | Amazon Technologies, Inc. | Image-based color palette generation |
US9679532B2 (en) | 2014-06-26 | 2017-06-13 | Amazon Technologies, Inc. | Automatic image-based recommendations using a color palette |
US9652868B2 (en) | 2014-06-26 | 2017-05-16 | Amazon Technologies, Inc. | Automatic color palette based recommendations |
US9524563B2 (en) | 2014-06-26 | 2016-12-20 | Amazon Technologies, Inc. | Automatic image-based recommendations using a color palette |
US9922050B2 (en) | 2014-06-26 | 2018-03-20 | Amazon Technologies, Inc. | Identifying data from keyword searches of color palettes and color palette trends |
US10073860B2 (en) | 2014-06-26 | 2018-09-11 | Amazon Technologies, Inc. | Generating visualizations from keyword searches of color palettes |
US9542704B2 (en) | 2014-06-26 | 2017-01-10 | Amazon Technologies Inc. | Automatic image-based recommendations using a color palette |
US10691744B2 (en) | 2014-06-26 | 2020-06-23 | Amazon Technologies, Inc. | Determining affiliated colors from keyword searches of color palettes |
US10120880B2 (en) | 2014-06-26 | 2018-11-06 | Amazon Technologies, Inc. | Automatic image-based recommendations using a color palette |
US9401032B1 (en) | 2014-06-26 | 2016-07-26 | Amazon Technologies, Inc. | Image-based color palette generation |
US10223427B1 (en) | 2014-06-26 | 2019-03-05 | Amazon Technologies, Inc. | Building a palette of colors based on human color preferences |
US9916613B1 (en) | 2014-06-26 | 2018-03-13 | Amazon Technologies, Inc. | Automatic color palette based recommendations for affiliated colors |
US9311889B1 (en) | 2014-06-26 | 2016-04-12 | Amazon Technologies, Inc. | Image-based color palette generation |
US10430857B1 (en) | 2014-08-01 | 2019-10-01 | Amazon Technologies, Inc. | Color name based search |
US9633448B1 (en) | 2014-09-02 | 2017-04-25 | Amazon Technologies, Inc. | Hue-based color naming for an image |
US9785649B1 (en) | 2014-09-02 | 2017-10-10 | Amazon Technologies, Inc. | Hue-based color naming for an image |
JP6492938B2 (en) | 2015-04-29 | 2019-04-03 | 株式会社リコー | Authentication system, synchronization method, authentication apparatus, and synchronization program |
CN110990359A (en) * | 2019-12-18 | 2020-04-10 | 北京华峰创业科技有限公司 | Method and system for cleaning useless data in synchronous framework |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07295868A (en) * | 1994-04-27 | 1995-11-10 | Hitachi Ltd | Integrity constraint control method for |
JPH09293010A (en) * | 1996-04-26 | 1997-11-11 | Mitsubishi Electric Corp | Information synchronizing method |
AU763524B2 (en) * | 1999-03-02 | 2003-07-24 | Flexera Software Llc | Data file synchronisation |
JP2001273217A (en) * | 2000-03-28 | 2001-10-05 | Canon Inc | Client/server system and data sharing method therefor |
JP4111881B2 (en) * | 2003-06-30 | 2008-07-02 | エスアーペー アーゲー | Data synchronization control device, data synchronization control method, and data synchronization control program |
JP4894483B2 (en) * | 2006-11-29 | 2012-03-14 | ソニー株式会社 | Data management server, data management system, data management method and program |
JP5061166B2 (en) * | 2009-09-04 | 2012-10-31 | Kii株式会社 | Data synchronization system and data synchronization method |
-
2011
- 2011-04-11 JP JP2011087683A patent/JP5656722B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012221317A (en) | 2012-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5656722B2 (en) | Data synchronization apparatus, data synchronization system, data synchronization method and program | |
US11698885B2 (en) | System and method for content synchronization | |
US20210117387A1 (en) | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform | |
Uppoor et al. | Cloud-based synchronization of distributed file system hierarchies | |
CA2900080C (en) | Systems and methods for automatic sharing, synchronizing and collaboration of information among users of a group | |
US9953036B2 (en) | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform | |
US10289692B2 (en) | Preserving file metadata during atomic save operations | |
US9396245B2 (en) | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform | |
EP2047382B1 (en) | Two-way and multi-master synchronization over web syndications | |
US9495434B1 (en) | Geographic distribution of files | |
US20140379586A1 (en) | Systems and methods for providing shell communication in a cloud-based platform | |
US9690796B2 (en) | Non-transitory computer-readable media storing file management program, file management apparatus, and file management method | |
MX2011010288A (en) | Employing user-context in connection with backup or restore of data. | |
EP2741217A1 (en) | Database synchronization | |
US20110296425A1 (en) | Management apparatus, management system, and recording medium for recording management program | |
US9934240B2 (en) | On demand access to client cached files | |
JP3756349B2 (en) | Database management apparatus and recording medium on which program is recorded | |
JP5724465B2 (en) | Electronic device, information processing system, and program | |
EP2763354B1 (en) | Method and apparatus for preventing duplicate saving of resource between universal plug and play devices providing content directory service | |
JP6192423B2 (en) | Information processing apparatus, information processing method, information processing system, and program | |
KR20080106534A (en) | Identifying changes to media-device contents | |
JP2009163640A (en) | Information providing device, information providing method, program, and recording medium | |
US9524312B2 (en) | Prioritized, incremental data retrieval from a database, with an event listener | |
US20090240719A1 (en) | Accumulating star knowledge in replicated data protocol | |
JP2008016047A (en) | Personal information management device, personal information management method, recording medium and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140325 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141015 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141015 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5656722 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |