專利名稱:信息處理裝置和方法、數據管理服務器及數據同步系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及信息處理裝置、信息處理方法、數據管理服務器和數據同步系統(tǒng)。
背景技術:
近年來,網絡連接設備的增加以及對移動終端的普遍使用允許用戶隨時隨地訪問 在服務器上管理的信息。這種可訪問性需要用戶所管理的所有設備對服務器上的信息進行 一致地使用。用于此的技術是同步。對于客戶端/服務器與便攜式終端之間的同步,存在由 OMA(開放移動聯(lián)盟)指定的標準化協(xié)議“SyncML”,在該協(xié)議中,在檢查了同步類型和客戶 端認證之后,對服務器與客戶端之間的數據流進行調節(jié)。此時,為了指定用于同步的數據, 考慮存儲其改變歷史并且基于改變歷史將傳輸所需的信息發(fā)送給另一方。例如,日本專利申請早期公開No. 2004-86800公開了一種數據同步系統(tǒng),用于基 于數據更新歷史自動地開始以適當量的所發(fā)送數據進行數據同步,以使得不會在一次數據 同步中發(fā)送或接收大量信息。通過該系統(tǒng),能夠減小數據同步中發(fā)生錯誤以及通信時間增 加的可能性,減小通信成本并防止數據同步程序對客戶端終端的獨占使用。
發(fā)明內容
然而,在日本專利申請早期公開No. 2004-86800的數據同步系統(tǒng)中,如果客戶端 終端不對數據同步開始請求作出響應,或者例如當多個客戶端終端中的一部分完全關機 時,歷史記錄的數目超過了可存儲記錄量的閾值并且在開始同步時發(fā)送和接收的信息量變 得巨大。在此情況中,由于存儲器使用量隨著歷史記錄的增加而增加,因此存儲歷史記錄的 服務器的負擔或負荷增加。鑒于此,希望提供一種能夠減小服務器負荷和處理時間的新穎的經改進的信息處 理裝置、信息處理方法、數據管理服務器和數據同步系統(tǒng)。根據本發(fā)明的實施例,提供了一種經由網絡連接到用于管理數據的服務器的信息 處理裝置,該信息處理裝置包括數據存儲裝置,被配置為存儲從服務器獲得的數據;檢查 單元,被配置為檢查存儲在服務器中的指示服務器中的數據的改變的改變歷史信息的累積 狀態(tài);以及數據獲取單元,被配置為使用檢查單元的檢查結果作為基礎來通過選擇第一獲 取方法或第二獲取方法從而確定獲取方法并從服務器獲取數據,第一獲取方法根據改變歷 史信息將存儲在數據存儲裝置中的數據與由服務器管理的數據同步,第二獲取方法從服務 器獲取指示數據存在于服務器中的數據存在信息,以同步存儲在數據存儲裝置中的數據。這里,檢查單元可以檢查存儲在服務器中的改變歷史信息的條數是否超過了預定 歷史數目,當存儲在服務器中的改變歷史信息的條數等于或少于預定歷史數目時,數據獲 取單元可以通過第一獲取方法獲取數據,并且當存儲在服務器中的改變歷史信息的條數超 過預定歷史數目時,數據獲取單元可以通過第二獲取方法獲取數據。此外,數據存儲裝置可以存儲客戶端數據信息,該客戶端數據信息是與存儲在數 據存儲裝置中的數據有關的信息,并且當通過第二獲取方法獲取數據時,數據獲取單元可以將數據存在信息與客戶端數據信息相比較并且僅從服務器獲取在服務器處被更新的數 據。并且,當通過第二獲取方法獲取數據時,數據獲取單元可以將數據存在信息與客 戶端數據信息相比較以指定僅存在于信息處理裝置中的數據,并且從數據存儲裝置中刪除 僅存在于信息處理裝置中的數據。此外,數據獲取單元可以基于包含在客戶端數據信息中的、指示在信息處理裝置 中被改變并且未被發(fā)送給服務器的數據的發(fā)送狀態(tài)信息,向服務器發(fā)送用于與在信息處理 裝置中被改變的數據同步地更新由服務器管理的數據的信息。而且,數據獲取單元可以逐個數據地編譯改變歷史信息,并且基于編譯后的改變 歷史信息從服務器獲取數據。此外,數據獲取單元可以將以時間順序排列的改變歷史信息分割為預定條數的數 據,并且可以針對經分割的每條改變歷史信息從服務器獲取數據。根據本發(fā)明另一實施例,提供了一種信息處理方法,包括以下步驟檢查改變歷史 信息的累積狀態(tài),該改變歷史信息被存儲在經由網絡連接的用于管理數據的服務器中并且 指示服務器中的數據的改變;使用對改變歷史信息的累積狀態(tài)的檢查結果作為基礎以通過 選擇第一獲取方法或第二獲取方法來確定獲取方法,第一獲取方法根據改變歷史信息將存 儲在用于存儲從服務器獲得的數據的數據存儲裝置中的數據與由服務器管理的數據同步, 第二獲取方法從服務器獲取指示數據存在于服務器中的數據存在信息,以同步存儲在數據 存儲裝置中的數據;并且通過所確定的獲取方法從服務器獲取數據。根據本發(fā)明另一實施例,提供了一種數據管理服務器,其包括數據存儲裝置,被 配置為存儲數據;數據改變單元,被配置為基于改變信息來改變存儲在數據存儲裝置中的 數據;服務器歷史存儲裝置,被配置為存儲指示由數據改變單元改變的數據的改變的改變 歷史信息;設置存儲裝置,被配置為存儲服務器歷史存儲裝置中所存儲的改變歷史信息的 累積量的上限;管理單元,被配置為基于累積量的上限來管理存儲在服務器歷史存儲裝置 中的改變歷史信息的累積量;信息處理單元,被配置為當經由網絡相連的客戶端請求時,獲 取改變歷史信息或數據以發(fā)送給客戶端,并且基于存儲在數據存儲裝置中的數據創(chuàng)建指示 數據存在于數據存儲裝置中的數據存在信息;以及服務器通信單元,被配置為向客戶端發(fā) 送由信息處理單元獲得的數據、改變歷史信息或所創(chuàng)建的數據存在信息。 當存儲在服務器歷史存儲裝置中的改變歷史信息的累積量超過了累積量的上限 時,管理單元可以停止累積改變歷史信息。此外,當存儲在服務器歷史存儲裝置中的改變歷史信息的累積量超過了累積量的 上限時,管理單元可以在數據歷史存儲裝置中記錄指示改變歷史信息的累積量超過了累積 量的上限的溢出(overflow)判定信息。而且,信息處理單元可以包括用于從數據存儲裝置獲取數據并創(chuàng)建數據存在信息 的第一處理單元以及用于從服務器歷史存儲裝置獲取改變歷史信息的第二處理單元,并且 當從客戶端接收到對改變歷史信息的發(fā)送請求時,服務器通信單元可以使得第二處理單元 從服務器歷史存儲裝置獲取改變歷史信息。此外,服務器歷史存儲裝置可以針對經由網絡相連的每個客戶端來存儲改變歷史 fn息ο
根據本發(fā)明另一實施例,提供了一種信息處理方法,包括以下步驟基于改變信息 來改變存儲在用于存儲數據的數據存儲裝置中的數據;在服務器歷史存儲裝置中存儲指示 被改變的數據的改變的改變歷史信息;基于存儲在服務器歷史存儲裝置中的改變歷史信息 的累積量的上限,管理存儲在服務器歷史存儲裝置中的改變歷史信息的累積量;當經由網 絡相連的客戶端請求時,獲取數據或改變歷史信息以發(fā)送給客戶端;當客戶端請求時,基于 存儲在數據存儲裝置中的數據創(chuàng)建指示數據存在于數據存儲裝置中的數據存在信息;并且 向客戶端發(fā)送所獲取的數據、改變歷史信息或者所創(chuàng)建的數據存在信息。根據本發(fā)明另一實施例,提供了一種用于同步經由網絡相連的客戶端與服務器之 間的數據的數據同步系統(tǒng)。該服務器包括數據存儲裝置,被配置為存儲數據;數據改變單 元,被配置為基于改變信息來改變存儲在數據存儲裝置中的數據;服務器歷史存儲裝置,被 配置為存儲指示由數據改變單元改變的數據的改變的改變歷史信息;設置存儲裝置,被配 置為存儲服務器歷史存儲裝置中所存儲的改變歷史信息的累積量的上限;管理單元,被配 置為基于累積量的上限來管理存儲在服務器歷史存儲裝置中的改變歷史信息的累積量;信 息處理單元,被配 置為當經由網絡相連的客戶端請求時,獲取改變歷史信息或數據以發(fā)送 給客戶端,并且基于存儲在數據存儲裝置中的數據創(chuàng)建指示數據存在于數據存儲裝置中的 數據存在信息;以及服務器通信單元,被配置為向客戶端發(fā)送由信息處理單元獲得的數據、 改變歷史信息或所創(chuàng)建的數據存在信息。該客戶端包括客戶端通信單元,被配置為從服務 器接收數據、改變歷史信息和數據存在信息;數據存儲裝置,被配置為存儲從服務器獲取的 數據;檢查單元,被配置為檢查存儲在服務器中的改變歷史信息的累積狀態(tài);以及數據獲 取單元,被配置為使用檢查單元的檢查結果作為基礎來通過選擇第一獲取方法或第二獲取 方法從而確定獲取方法并從服務器獲取數據,第一獲取方法根據改變歷史信息將存儲在數 據存儲裝置中的數據與由服務器管理的數據同步,第二獲取方法從服務器獲取指示數據存 在于服務器中的數據存在信息,以同步存儲在數據存儲裝置中的數據。如上所述,根據本發(fā)明,可以提供能夠減小服務器負荷和處理時間的信息處理裝 置、信息處理方法、數據管理服務器和數據同步系統(tǒng)。
圖1是示意性地圖示出根據本發(fā)明實施例的數據同步系統(tǒng)的配置的概念圖;圖2是圖示出本實施例的數據同步系統(tǒng)的功能結構的框圖;圖3是圖示出歷史信息文件的配置的說明圖;圖4是圖示出當服務器中不存在溢出時客戶端中的數據同步處理的流程圖;圖5是圖示出當服務器中存在溢出時客戶端中的數據同步處理的流程圖;圖6是圖示出當服務器中存在溢出時客戶端中的數據更新和添加處理的流程圖;圖7是圖示出由客戶端管理的數據信息的示例的說明圖;圖8是用于說明圖6的處理中的數據更新和添加處理的說明圖;圖9是圖示出當服務器中存在溢出時客戶端處的數據刪除處理的流程圖;圖10是用于說明圖9的處理中的數據刪除處理的說明圖;圖11是圖示出改變歷史信息的編譯(compile)示例的說明圖;以及圖12是圖示出改變歷史信息的分割(divide)和編譯的說明圖。
具體實施例方式下面,將參考附圖詳細描述本發(fā)明的優(yōu)選實施例。注意,在本說明書和附圖中,用 相同的標號來表示具有基本上相同的功能和結構的結構元件,并且省略對這些結構元件的 重復描述。將按下面的順序進行說明。1.數據同步系統(tǒng)的配置示例2.數據同步系統(tǒng)的配置
3.數據同步處理3-1.沒有溢出情況下的數據同步處理3-2.溢出情況下的數據同步處理4.對改變歷史信息的有效處理方法4-1.改變歷史信息的編譯4-2.改變歷史信息的分割[1.數據同步系統(tǒng)的配置示例]首先參考圖1描述根據本發(fā)明實施例的數據同步系統(tǒng)的配置概況。圖1是示意性 地圖示出根據本發(fā)明實施例的數據同步系統(tǒng)的配置的概念圖。本實施例的數據同步系統(tǒng)被配置為具有用于提供數據的服務器100 ;以及能夠從 服務器100獲取數據的一個或多個客戶端200,服務器100與客戶端200經由網絡10相連。 例如,如圖1所示,數據同步系統(tǒng)可以由服務器100和與其相連接的四個客戶端200A、200B、 200C和200D構成。服務器100與客戶端200之間的通信可以是無線電通信或有線通信。 在服務器100與客戶端200之間發(fā)送和接收的數據例如可以是諸如圖片之類的靜止圖像、 運動圖像、文檔文件、郵件以及諸如日程表之類的應用數據。服務器100保存數據并且在客戶端200請求時提供數據。服務器100管理數據的 改變歷史并且向客戶端200提供在數據同步處理中使用的歷史信息文件。客戶端200是能 夠從服務器100獲取所需數據的信息處理終端,并且可以是諸如蜂窩電話或PDA (個人數字 助理)之類的通信終端、計算機、電視接收機等。每個客戶端200能夠查閱(refer to)并 修改從服務器100獲得的數據,并且還能夠刪除和添加數據。在根據本實施例的數據同步系統(tǒng)中,執(zhí)行同步處理,以使得客戶端200中的每個 可以獲得由服務器100保存的同一狀態(tài)中的數據。例如,如圖1所示,當經由網絡10相連 的客戶端200A至200D中的用戶A至D不同時,希望在用戶之間被共享的數據被同步在最 近的狀態(tài)中,以防止用戶使用不同的數據。當客戶端200A至200D的用戶相同時,數據需要 被同步以便任何客戶端200隨時隨地地獲取其在最近狀態(tài)中保存并管理的數據。所有客戶端200將由服務器100管理的所有數據或一部分數據拷貝(copy)到其 自身的數據庫或存儲器中。然后,當服務器100中存儲的數據發(fā)生改變時,客戶端200獲取 改變信息并且并入(incorporate)該改變,由此來維持同步狀態(tài)。此外,當客戶端200中保 存的數據發(fā)生改變時,客戶端200將改變信息發(fā)送給服務器100以使得服務器100執(zhí)行必 要的處理。下面的描述涉及能夠減少服務器負荷和處理時間的本實施例的數據同步系統(tǒng)的 結構以及該系統(tǒng)中的數據同步處理。
[2.數據同步系統(tǒng)的配置]首先,參考圖 2和圖3,說明本實施例的數據同步系統(tǒng)的結構。圖2是圖示出本實 施例的數據同步系統(tǒng)的功能配置的框圖,圖3是圖示出歷史信息文件的一種配置的說明性 示圖。本實施例的數據同步系統(tǒng)的服務器100包括如圖2所示的數據庫服務器(下面稱 為“DB服務器”)110、應用服務器(下面稱為“APP服務器” 120和HTTP服務器130。DB服 務器110、APP服務器120和HTTP服務器130可以彼此分離或者它們中的任何兩個或更多 個可被組合成一個單元。DB服務器110是用于保存并管理數據的服務器。本實施例的DB服務器110存儲 所有數據,包括數據主體的信息、元信息和應用數據。例如,數據主體信息和元信息被存儲 在DB服務器110的數據存儲裝置112中,應用數據被存儲在應用存儲裝置114中,S卩,數據 被存儲在DB服務器110的預定存儲裝置中。DB服務器110具有用于基于來自APP服務器 120的指令信息改變存儲在存儲裝置中的數據的數據改變單元(未示出)以及用于將數據 輸出給APP服務器120的輸出單元(未示出)。APP服務器120用于在客戶端請求時在DB服務器110與HTTP服務器130之間對 數據的改變進行仲裁(mediate),并且監(jiān)視存儲在DB服務器110中的數據,以將指示數據的 狀態(tài)的數據信息輸出給HTTP服務器130。例如,APP服務器120包括如圖2所示的APP服 務器處理單元122和設置存儲裝置124。APP服務器處理單元122用于對DB服務器110和HTTP服務器130之間的數據進 行仲裁處理,并且還充當用于基于設置信息獲取數據信息等的信息處理單元。APP服務器處 理單元122將存儲在DB服務器110中的數據的改變歷史信息輸出給HTTP服務器130,并將 其存儲在服務器歷史存儲裝置136中。此外,APP服務器處理單元122充當管理單元,來判 斷在服務器100處管理的數據的改變歷史信息是否存在溢出,并將其判斷結果(溢出判定 信息)通知給HTTP服務器130。設置存儲裝置124例如存儲歷史存儲條件和設置信息,例 如溢出歷史記錄的數目和歷史處理的次數。該設置信息將在下面描述。此外,APP服務器處理單元122在客戶端200請求時,針對存儲在DB服務器110的 數據存儲裝置112中的每個數據創(chuàng)建包括數據名稱和數據的上次改變時間在內的數據存 在信息。每當從客戶端200請求傳輸時,數據存在信息就被創(chuàng)建??蛻舳?00獲取數據存 在信息,從而認識到在數據存儲裝置112中被管理的數據的最近的狀態(tài)。HTTP服務器130是用于與客戶端200通信的服務器。HTTP服務器130例如包括 服務器通信單元132、歷史處理單元134和服務器歷史存儲裝置136。服務器通信單元132 是用于與客戶端200通信的接口。服務器通信單元132從客戶端200獲取信息,經由APP服 務器120將其輸出給DB服務器110,并且從DB服務器110獲取數據并經由APP服務器120 將其輸出給客戶端200。此外,服務器通信單元132將指示DB服務器110中的數據的狀態(tài) 的數據信息輸出給歷史處理單元134。歷史處理單元134使用該數據信息來將用于管理存儲在DB服務器110中的數據 的改變的改變歷史信息存儲在服務器歷史存儲裝置136中。歷史處理單元134將包含在該 數據信息中的數據名稱、數據的改變時間以及改變作為改變歷史信息存儲在服務器歷史存 儲裝置136中。此外,歷史處理單元134充當信息處理單元,用于在客戶端200請求時獲取包含改變歷史信息的歷史信息文件,并經由服務器通信單元132將其發(fā)送給客戶端200。 服務器歷史存儲裝置136存儲包括數據的改變歷史信息等的歷史信息文件。每當 存儲在DB服務器110的數據存儲裝置112中的數據改變時,服務器歷史存儲裝置136在其 中寫入從APP服務器處理單元122發(fā)送來的數據的改變信息。包含在服務器歷史存儲裝置 136的歷史信息文件中的改變歷史信息例如包括如圖3所示的將被管理的改變時間1361、 數據名稱1362和改變類型1363。在改變類型1363中,例如,數據被存儲為指示新近被添 加到DB服務器110的數據的“添加”、指示已存儲數據的更新數據的“更新”、指示所存儲數 據的刪除數據的“刪除”,等等。此外,歷史信息文件包含溢出判定信息,其指示改變歷史信息片段的數目是否超 過了存儲在服務器歷史存儲裝置136中的歷史數目(溢出歷史記錄的數目)或者是否存在 溢出。溢出歷史記錄的數目可根據服務器100和客戶端200的性能而被設置為使得服務器 100和客戶端200上的負荷不會變得繁重的值。 本實施例的服務器100在主管與客戶端200的通信的HTTP服務器130處來管理各 自包含溢出判定信息和指示服務器100中的數據的改變類型的改變歷史信息在內的歷史 信息文件。這使得能夠迅速地對來自客戶端200的對歷史信息文件的發(fā)送請求作出答復, 從而減小服務器100上的負荷。接下來,客戶端200包括如圖2所示的客戶端通信單元210、存儲條件設置單元 220、溢出判定單元230、數據獲取單元240和數據存儲裝置250??蛻舳送ㄐ艈卧?10是用于與服務器100通信的接口。客戶端通信單元210將由 存儲條件設置單元220設置的歷史存儲條件、數據的發(fā)送請求、數據存在信息和改變歷史 信息發(fā)送給服務器100,并且從服務器100接收改變歷史信息、數據存在信息和數據??蛻?端通信單元210將接收到的改變歷史信息、數據存在信息和數據輸出給溢出判定單元230 和數據獲取單元240。存儲條件設置單元220基于客戶端200的規(guī)范、從用戶輸入的輸入信息等來設置 用于將改變歷史信息存儲在服務器100中的設置信息。設置信息例如包括與客戶端200 兼容的監(jiān)視條件(例如,用于針對具有大容量存儲器的客戶端200來同步服務器100中的 所有數據并且針對具有小存儲器的客戶端200來同步一部分數據的同步文件夾的指定條 件)。另外,設置信息可以是用于約束用于存儲改變歷史信息的數據的類型的條件。存儲條 件設置單元220經由客戶端通信單元210將設置信息輸出給服務器100。溢出判定單元230查閱歷史信息文件的溢出判定信息,以檢查其是否超過了要存 儲在服務器100側的數據的改變歷史信息的累積量。如果將要在服務器100處管理的改變 歷史信息變得巨大,則將要在HTTP服務器130處管理的歷史信息文件的數據量增加并且存 儲器的使用量也可能顯著增加。此外,想到存在針對歷史記錄數目的閾值,經由該閾值使得 歷史信息處理所花的時間變得比將由服務器100管理的所有數據拷貝到客戶端200側的時 間長。在本實施例中,基于改變歷史信息的歷史信息處理在該閾值附近轉變?yōu)榛跀祿?在信息的數據拷貝處理,從而減小服務器負荷并且縮短同步時間。即,溢出判定信息是指示 歷史信息處理被轉變?yōu)閿祿截愄幚淼男畔?。服務?00的溢出判定信息在客戶端200處被管理為溢出標志。例如,當確認在溢 出判定信息的歷史信息文件中管理的歷史記錄的數目未超過溢出歷史記錄的數目時,溢出標志為“假”。此外,當確認 在溢出判定信息的歷史信息文件中管理的歷史記錄的數目超過 了溢出歷史記錄的數目時,溢出標志為“真”。S卩,溢出歷史記錄的數目是上面提到的閾值, 并且在客戶端200處設置的溢出標志和從服務器100的APP服務器處理單元122接收的溢 出判定信息變?yōu)橄鄬τ谏厦嫣岬降拈撝祦碇甘痉掌?00的改變歷史信息數目的狀態(tài)的 信息。以這種方式,溢出判定單元230查閱所獲得的歷史信息文件的溢出判定信息,以檢查 服務器100側是否存在溢出,并且將檢查結果(溢出標志)輸出給數據獲取單元240。數據獲取單元240基于溢出判定單元230的檢查結果來確定從服務器100獲取數 據的方法,并且從服務器100獲取數據。數據獲取單元240根據對服務器100側溢出發(fā)生 的檢查結果,確定歷史信息處理(第一獲取方法)和數據拷貝處理(第二獲取方法)中的 哪個被執(zhí)行。然后,數據獲取單元240使用所確定的獲取方法作為基礎來經由客戶端通信 單元210請求服務器100提供數據。在這樣的請求時從服務器100提供來的數據從客戶端 通信單元210被輸出給數據獲取單元240以被存儲在數據存儲裝置250中。在從服務器100獲取數據時,數據獲取單元240經由客戶端通信單元210獲取APP 服務器處理單元122創(chuàng)建的數據存在信息或者存儲在HTTP服務器130的服務器歷史存儲 裝置136中的歷史信息文件。此外,數據獲取單元240使用從服務器100獲取的數據作為 基礎來創(chuàng)建并更新客戶端數據信息,該客戶端數據信息是與存儲在客戶端200中的數據有 關的信息??蛻舳藬祿畔⒁苍谠诳蛻舳?00側處執(zhí)行諸如數據的添加、改變和刪除之類 的處理時由數據獲取單元240更新。這里,將在后面描述客戶端數據信息的內容。數據存儲裝置250存儲由數據獲取單元240從服務器100獲取的數據??蛻舳?200的用戶可以執(zhí)行對存儲在數據存儲裝置250中的數據的查閱、更新、添加和刪除處理。 數據存儲裝置250存儲與存儲在數據存儲裝置250中的數據有關的信息作為客戶端數據信 息??蛻舳藬祿畔瑪祿Q、服務器100處的上次改變時間、數據被存儲在數據存儲 裝置250中的存儲時間以及指示數據是否從客戶端200被發(fā)送給服務器100的發(fā)送狀態(tài)標 志。此外,客戶端數據信息可以包含存在檢查標志,該存在檢查標志指示存儲在客戶端200 中的數據是否是存在于服務器100中的數據。當在數據拷貝處理中刪除數據時可以使用存 在檢查標志。該處理將在下面詳細描述。每當存儲在數據存儲裝置250中的數據的狀態(tài)改 變時,客戶端數據信息被更新。到此為止,已描述了根據本實施例的數據同步系統(tǒng)的功能結構。[3.數據同步處理]接下來,將參考圖4至圖10描述根據本實施例的數據同步系統(tǒng)中的數據同步處 理。圖4是圖示出當服務器100中沒有溢出時客戶端200中的數據同步處理的流程圖。圖 5是圖示出當服務器100中存在溢出時客戶端200中的數據同步處理的流程圖。圖6是圖 示出當服務器100中存在溢出時客戶端200中的數據更新和添加處理的流程圖。圖7是圖 示出在客戶端200處管理的數據信息的示例的說明圖。圖8是用于說明圖6的處理中的數 據更新和添加處理的說明圖。圖9是圖示出當服務器100中存在溢出時客戶端200處的數 據刪除處理的流程圖。圖10是用于說明圖9的處理中的數據刪除處理的說明圖。在本實施例的數據同步系統(tǒng)中,數據獲取方法取決于服務器100所管理的改變歷 史信息是否存在溢出而不同。下面的描述將詳細論述存在溢出和不存在溢出兩種情況中的 數據同步處理。
(3-1.沒有溢出情況中的數據同步處理)沒有溢出時的數據同步處理根據圖4所示的流程圖來執(zhí)行??蛻舳?00定期監(jiān)視 服務器100的狀態(tài),并且判斷是否滿足結束數據同步處理的結束條件(步驟S100)。結束條 件例如可以使得客戶端200 和服務器100斷開連接等。客戶端200判斷是否符合結束條件 (步驟S102)。當符合結束條件時,數據同步處理結束。另一方面,如果不符合結束條件,則 判斷歷史存儲條件的設置是否完成(步驟S104)。歷史存儲條件是將被存儲在服務器100中并且針對每個客戶端200按照如下方式 設置的信息根據客戶端200的規(guī)范以適合于客戶端200的條件執(zhí)行數據同步。歷史存儲 條件例如包括同步文件夾指定條件以及用于約束數據類型的條件的設置信息,同步文件夾 指定條件使得對于具有大容量存儲器的客戶端200同步服務器中的所有數據并且對于各 自僅具有小存儲器的客戶端200同步數據的一部分。此外,歷史存儲條件可以包括對要存 儲的歷史改變類型的指定(例如,“添加”、“更新”、“刪除”等)??蛻舳?00判斷存儲條件設置單元220是否執(zhí)行了對上述設置信息的設置(步驟 S106)。如果設置信息未被設置,則客戶端200執(zhí)行對設置信息的設置并且將其作為歷史存 儲條件經由客戶端通信單元210輸出給服務器100 (步驟S108)。然后,當在步驟S108中設 置了歷史存儲條件之后或者當已經設置了歷史存儲條件時,客戶端200判斷服務器100所 管理的數據是否從服務器100被拷貝到客戶端200 (步驟S110)。對服務器100所管理的數據的拷貝是在客戶端200首次連接到服務器100時所執(zhí) 行的處理。在頻繁執(zhí)行數據同步處理的系統(tǒng)中,一旦該處理被執(zhí)行,則這種處理幾乎不再次 被執(zhí)行。例如,當在服務器100處管理的改變歷史信息的數目存在溢出時,或者當存在大量 數據要拷貝,數據被劃分為多片段并且分別被發(fā)送給客戶端200,并且數據的所有片段沒有 全部被接收到時,該處理再次被執(zhí)行。這里,將在后面描述數據的拷貝被再次執(zhí)行時的處 理。實際上,在S110,與后面將描述的圖5的S210類似地,參考溢出標志來檢查服務器100 處的改變歷史信息是否存在溢出。然而,在這里描述的情況中,不存在溢出,因此省略對這 樣的處理的描述。客戶端200判斷數據從服務器100到客戶端200的拷貝是否結束(步驟S112),并 且如果未結束,則執(zhí)行對服務器100處所管理的數據的拷貝(步驟S114 數據拷貝)。S114 的處理以從客戶端200到服務器100的對存在于服務器100中的所有數據的信息(即數據 存在信息)的請求開始。當接收到這樣的請求時,HTTP服務器130向APP服務器120的APP 服務器處理單元122通知該請求。APP服務器處理單元122查閱數據存儲裝置112以獲取 存儲在數據存儲裝置112中的所有數據的數據名稱和上次改變時間,并且創(chuàng)建服務器存在 信息。APP服務器處理單元122將所創(chuàng)建的服務器存在信息經由HTTP服務器130發(fā)送給客 戶端200。然后,客戶端200將數據存在信息與客戶端數據信息相比較,并且指定未存在于 客戶端200中的或者需要從服務器100獲取的數據。客戶端200請求服務器100發(fā)送所指定的要被獲取的數據。接收到該請求的HTTP 服務器130將請求發(fā)送給APP服務器120。然后,APP服務器120請求DB服務器110獲取 并發(fā)送所請求的數據。當獲取了所請求的數據時,DB服務器110將數據輸出給APP服務器 120。然后,APP服務器120將從DB服務器110發(fā)送來的數據輸出給HTTP服務器130,并且 HTTP服務器130將接收到的數據輸出給客戶端200。此時,客戶端200將所獲取的數據存儲在數據存儲裝置250中。另一方面,當在步驟S112中從服務器100到客戶端200的數據拷貝結束時,歷史 信息處理被執(zhí)行(步驟Sl 16)。歷史信息處理是基于服務器100的HTTP服務器130所管 理的數據的改變歷史信息來改變客戶端200所保存的數據的處理。如果服務器100和客戶 端200至少被同步一次,則客戶端200可以通過獲取在客戶端200處所獲取的數據的改變 類型來保存與服務器100所管理的數據相同的數據。利用這種結構,可以在服務器負荷較 低的狀態(tài)中執(zhí)行數據同步處理。為了執(zhí)行歷史信息處理,服務器100針對每個客戶端200將在服務器100處執(zhí)行 的數據的改變作為改變歷史信息存儲在HTTP服務器130的服務器歷史存儲裝置136中。 APP服務器120的APP服務器處理單元122基于歷史存儲條件來監(jiān)視數據的狀態(tài),每當改變 時將改變后的信息輸出給HTTP服務器130,并且將其作為改變歷史信息存儲在服務器歷史 存儲裝置136中。在步驟S116,客戶端200首先請求服務器100發(fā)送包含改變歷史信息的歷史信息 文件。當接收到發(fā)送歷史信息文件的請求時,服務器100從HTTP服務器130處的服務器歷 史存儲裝置136獲取對象客戶端200的歷史信息文件,并將其發(fā)送給該客戶端200。由于歷 史信息文件可直接由HTTP服務器130處理,因此當服務器100從客戶端200接收到用于獲 取歷史信息文件的請求時,該處理可僅由HTTP服務器130來完成。這使得服務器100可以 在較少的服務器負荷下執(zhí)行同步處理,除非要管理的歷史記錄的數目巨大。一旦獲取了歷史信息文件,客戶端200就查閱改變歷史信息以更新當前保存在客 戶端200的數據存儲裝置250中的數據。即,數據獲取單元240使用包含在改變歷史信息 中的數據名稱、改變類型和改變時間(在服務器100中的上次改變時間)作為基礎來更新 數據存儲裝置250的數據,并且執(zhí)行與存儲在服務器100中的數據的同步。當服務器100中管理的數據的狀態(tài)通過步驟S114和S116的處理被反映在客戶端 200中時,則存儲在客戶端200中的數據的狀態(tài)按照需要被通知給服務器100(步驟S118)。 當數據由另一客戶端200改變時,其從服務器100接收改變后的數據,而對于由客戶端200 自身更新的數據,有必要向服務器100通知改變后的數據以用于與另一客戶端200同步。然 后,客戶端200使用客戶端數據信息的發(fā)送狀態(tài)標志作為基礎,在從服務器100獲取數據之 后向服務器100發(fā)送由客戶端200自身改變的數據。發(fā)送狀態(tài)標志是用于確定在客戶端200處被添加或改變但未被發(fā)送給服務器100 的數據的信息。例如,發(fā)送狀態(tài)標志對于在客戶端200處被更新但未被發(fā)送給服務器100 的數據為“Post”,并且對于被成功發(fā)送給服務器100的數據為“PostSuccess”。對于其它 數據,發(fā)送狀態(tài)標志被設為“Steady”??蛻舳?00將發(fā)送狀態(tài)標志為“Post”的數據發(fā)送給 服務器100。當服務器100接收到在客戶端200處改變的數據時,服務器100改變存儲在DB服 務器Iio中的數據以與客戶端200的數據的狀態(tài)同步。通過此,存儲在服務器100中的數 據與存儲在客戶端200中的數據相同。此外,另一客戶端200查閱服務器100的改變歷史 文件以得知服務器100的數據的更新,并且從服務器100獲取改變后的數據以用于對數據 同步。 同樣記錄在發(fā)送了改變后數據的客戶端200的改變歷史文件中的是作為改變歷史信息的對服務器100的數據存儲裝置112中的自改變數據(self changed data)的反 映。利用這樣的結構,當客戶端200接下來從服務器100獲取改變歷史文件時,在服務器 100側對由其身更新的數據的反映從改變歷史信息中被認識到。即,當客戶端數據信息的 發(fā)送狀態(tài)標志為“Post”的數據成功被發(fā)送給服務器100時,該數據的發(fā)送狀態(tài)標志被設 為“PostSuccess”。然后,當客戶端200更新基于從服務器100獲取的改變歷史信息而改 變的數據時,客戶端200檢查客戶端數據信息的發(fā)送狀態(tài)標志。然后,如果發(fā)送狀態(tài)標志為 “PostSuccess”,則該數據為自改變數據并且不需要被發(fā)送給服務器100。因此,當要基于改 變歷史信息被更新的數據的發(fā)送狀態(tài)標志為“PostSuccess”時,客戶端200不更新由客戶 端200保存的數據并且將客戶端數據信息的數據的發(fā)送狀態(tài)標志的設置從“PostSuccess ” 改變?yōu)椤癝teady”。以后,如果數據進一步被更新,則發(fā)送狀態(tài)標志被再次被設置為“Post”。這里,如果客戶端200處的改變后內容在服務器100側得到反映,則如上所述,改 變后數據本身可以被發(fā)送給服務器100或者僅數據的改變后內容可被發(fā)送給服務器100。 當接收到改變后內容時,服務器100使用改變內容作為基礎來改變存儲在DB服務器110的 數據存儲裝置112中的數據以用于對數據進行同步。這里,在客戶端200處的數據的改變中,在數據刪除時,服務器100上的數據可以 根據客戶端200的改變而被刪除或者該數據可被保存在客戶端200上。這是因為,如果數據 從某個客戶端200被刪除,則數據也可能從不希望刪除數據的另一客戶端200被刪除。當 從客戶端200接收到刪除數據的請求時,服務器100向客戶端200發(fā)送用于確認數據是否 可被刪除的消息。然后,服務器100可以僅在從客戶端200接收到準許刪除的回復時刪除 該數據。替代地,當服務器100上的數據未被刪除并且該數據在客戶端200側被刪除時,被 刪除數據可以自動地或者在客戶端200請求時從服務器100被發(fā)送給客戶端200。以這種方式,通過步驟S114至S118的處理,數據可以在服務器100與客戶端200 之間被同步。當步驟S118的處理結束之后,檢查流程是否返回S100并且重復數據同步處 理。到此為止,已描述了當不存在溢出時的數據同步處理。當不存在溢出時,基本上只 有基于改變歷史信息被改變的數據被更新。另一方面,當改變歷史信息變得巨大時,存儲在 服務器100中的歷史信息文件可能消耗大量存儲器。于是,歷史信息處理所花的時間超過 了將在服務器100處管理的數據拷貝到客戶端200所花的時間。于是,根據本實施例的數 據同步處理允許減小服務器100上的負荷和同步時間。下面參考圖5對存在溢出時的數據 同步處理作出說明。(3-2.溢出情況下的數據同步處理)存在溢出時的數據同步處理根據圖5的流程圖來執(zhí)行。APP服務器處理單元122 基于存儲在APP服務器120的設置存儲裝置124中的溢出歷史記錄的數目來作出是否存在 溢出的判斷。如果存儲在HTTP服務器130的服務器歷史存儲裝置136中的改變歷史信息 的數目等于或少于溢出歷史記錄的數目,則每當保存在DB服務器110中的數據改變時,APP 服務器處理單元122就將改變信息作為改變歷史信息添加到服務器歷史存儲裝置136的歷 史信息文件中。因此,可以從歷史信息文件中認識到在客戶端200訪問服務器100之前在 服務器100側改變的數據的改變歷史。然而,當客戶端200長時間不訪問服務器100或者當存在多個連接到網絡10的客戶端200或者某個客戶端200頻繁訪問服務器100時,大量改變歷史信息被生成。當客戶 端200使用這樣的改變歷史信息作為基礎來依次獲取數據時,數據的拷貝花費大量時間。 此外,存儲改變歷史信息的服務器100的負荷也變得巨大。于是,在這樣的情況中,APP服務器處理單元122使得歷史處理單元134停止將改 變歷史信息寫入服務器歷史存儲裝置136的歷史信息文件中,并記錄指示存在溢出的溢出 判定信息。當從溢出判定信息認識到服務器100中的改變歷史信息存在溢出時,客戶端200 獲取作為與存儲在服務器100中的所有數據有關的信息的數據存在信息以用于對數據同 步。下面參考圖5描述當存在溢出時的數據同步處理。這里,步驟S200至S208的處理與 圖4中不存在溢出時的步驟SlOO至S108的數據同步處理相同,因此下面將省略對這些處 理的詳細描述。
首先,客戶端200檢查是否符合結束數據同步處理的結束條件(步驟S200)。客戶 端200判斷是否符合結束條件(步驟S202)并且如果符合,則結束數據同步處理。另一方 面,如果不符合結束條件,則檢查歷史存儲條件的設置是否結束(S204)。然后,客戶端200判斷對上面提到的設置信息的設置是否被存儲條件設置單元 220執(zhí)行(S206)。如果設置信息未被設置,則客戶端200執(zhí)行設置信息的設置并且將其作為 歷史存儲條件經由客戶端通信單元210輸出給服務器100(S208)。然后,當在步驟S208處 設置歷史存儲條件之后,或者當歷史存儲條件已經被設置時,客戶端200檢查由服務器100 管理的數據是否從服務器100被拷貝到客戶端200并且還檢查溢出標志的狀態(tài)(S210)。溢出標志基于存儲在HTTP服務器130的服務器歷史存儲裝置136中的歷史信息 文件中所包含的溢出判定信息而被設置。在本實施例中,如果確認由溢出判定信息的歷史 信息文件管理的歷史記錄的數目未超過溢出歷史記錄的數目,則溢出標志被設為“假”。如 果確認由溢出判定信息的歷史信息文件管理的歷史記錄的數目超過溢出歷史記錄的數目, 則溢出標志被設為“真”??蛻舳?00從S210中的檢查處理判斷數據拷貝是否完成并且溢出標志是否為 “假”(步驟S212)。然后,如果不符合數據拷貝結束和溢出標志為“假”中的至少一者,則客 戶端200執(zhí)行對服務器100所管理的數據的拷貝(步驟S214;數據拷貝處理)。步驟S214 的處理可以以與圖4的步驟S114的處理相同的方式被執(zhí)行。這里,圖4的步驟S114和圖5的步驟S214中的拷貝數據的處理有時需要根據要 處理的數據的數目和內容而被分割。例如,如果一次循環(huán)所花時間因一次拷貝所有數據而 較長,則優(yōu)選地對拷貝處理進行分割。此外,當在服務器100側存在溢出時,每個數據在服務器100處的上次改變時間被 存儲在客戶端200側,從而消除了再次從服務器100獲取已經存儲的數據的需要。該結構 有助于減少數據同步處理所花的時間。此外,如果在存在溢出之后直到重新開始數據同步 處理之前,在服務器100側存在數據刪除,則可以通過將存在于服務器100中的數據的信息 與存在于客戶端200中的數據相比較來指定被刪除數據。更具體地,例如可以通過圖6至圖10所示的方法來執(zhí)行僅獲取被確定為數據拷貝 處理所必需的數據的處理。首先,根據圖6所示的流程圖執(zhí)行獲取被更新或被添加數據的 處理。首先,客戶端200的數據獲取單元240將從服務器100獲取的數據存在信息與在客戶 端200處管理的客戶端數據信息相比較以確定被更新數據存在與否(步驟S300)。數據獲取單元240將數據存在信息的上次改變時間與客戶端數據信息在服務器100處的上次改變 時間相比較,并且當數據存在信息的上次改變時間為新的時,則判定數據改變在服務器100 側被執(zhí)行。如果在S300中判定存在被更新數據,則數據獲取單元240確定從服務器100獲取 數據(步驟S302)。另一方面,當數據存在信息的上次改變時間和客戶端數據信息在服務器 100處的上次改變時間相同時,數據獲取單元240獲取數據。
例如,假設圖7所示的信息是客戶端200處的客戶端數據信息的一部分并且圖8 的左側表中所示的信息是在服務器100處管理的數據存在信息。數據獲取單元240將數據 存在信息和客戶端數據信息之間的數據名稱和上次改變時間相比較,以判斷改變時間是否 在服務器100側被更新。在圖7和圖8的示例中,可見數據名稱為“222. jpg”的數據在服
務器100側被更新。通過這種結構,數據獲取單元240確定從服務器100獲取數據“222. jpg,,°然后,數據獲取單元240將從服務器100獲取的數據存在信息的上次改變時間與 客戶端200的客戶端數據信息相比較,以判斷服務器100處是否存在新添加的數據(步驟 S304)。數據獲取單元240將數據存在信息的數據名稱與客戶端數據信息的數據名稱相比 較,以檢查包含在服務器100的數據存在信息中的數據是否包含在客戶端200的客戶端數 據信息中。然后,如果存在其數據僅被包含在數據存在信息中的數據名稱,則數據獲取單 元240確定該數據被新近添加到服務器100并且確定從服務器100獲取它(步驟S306)。 另一方面,如果不存在其數據僅被包含在數據存在信息中的數據名稱,則數據獲取單元240 不從服務器100獲取數據。例如,如從圖7和圖8的示例可見的,數據名稱為“444. jpg”的數據僅被包含在數 據存在信息中。于是,數據獲取單元240確定從服務器100獲取該數據“444. jpg”。以這種 方式,在服務器100側被更新或添加的數據可以在客戶端200側被獲取。這里,僅從圖7和圖8所示的信息難以指定當服務器100側存在溢出時在服務器 100側被刪除的數據。于是,例如,客戶端數據信息可以包含存在檢查標志,其是指示存儲在 客戶端200側的數據在服務器100中存在與否的信息。在本實施例中,當確認相同數據存 在于服務器100中時,存在檢查標志為“真”,并且當不能認識到相同數據存在于服務器100 中時,存在檢查標志為“假”。因此,存在檢查標志為“假”的數據是未存在于服務器100中 的數據,并且可被確定為當存在溢出時被刪除。將在服務器100側被刪除的數據并入客戶端200側可以根據圖9所示的流程圖來 執(zhí)行。首先,當數據獲取單元240通過溢出標志認識到服務器100處發(fā)生改變歷史信息溢 出時,客戶端200的客戶端數據信息的存在檢查標志全被設置為“假”(步驟S310)。然后, 存在檢查標志可以作為管理參數被添加到客戶端數據信息中或者可以預先被設置作為管 理參數。然后,數據獲取單元240從服務器100獲取數據存在信息(步驟S311)。然后,數 據獲取單元240檢查數據存在信息的數據是否存在于客戶端200的客戶端數據信息中(步 驟S312)。當相同數據名稱的數據存在時,數據獲取單元240將客戶端數據信息的存在檢查 標志從“假”改變?yōu)椤罢妗?步驟S313)。另一方面,當不存在相同數據名稱的數據時,數據 獲取單元240使客戶端數據信息的存在檢查標志“假”保持不變(步驟S314)。
重復步驟S312至S314的處理直到完成了對服務器100的所有數據存在信息的數 據的檢查為止(步驟S315)。當針對所有數據執(zhí)行了存在檢查時,數據獲取單元240根據 客戶端數據信息指定存在檢查標志為“假”的數據,并且從數據存儲裝置250中刪除該數據 (步驟 S316)。例如,在圖7和圖8的示例中,根據圖9的處理來檢查數據存在,于是,發(fā)現沒有數 據名稱為“666. jpg”的數據包含在服務器100的數據存在信息中。因此,數據獲取單元240 從數據存儲裝置250中刪除數據“666. jpg”。以這種方式,能夠將溢出發(fā)生期間在服務器 100側被刪除的數據的信息并入客戶端200側。返回圖5,當步驟S214的數據拷貝處理結束時,客戶端200將溢出標志設為 “假”(步驟S216)。同時,在步驟S212,如果數據拷貝結束并且溢出標志被確定為“假”,則 客戶端200執(zhí)行歷史信息處理(步驟S218)。該歷史信息處理以與圖4的步驟S116的處理 相同的方式被執(zhí)行。客戶端200將從服務器100獲取的歷史信息文件的改變歷史信息與客 戶端200的客戶端數據信息相比較,并且僅從服務器100獲取被改變的數據以將其記錄在 數據存儲裝置250中。這里,客戶端200在步驟S218中判斷在服務器100處是否存在改變歷史信息的溢 出(步驟S220)。在步驟S220,執(zhí)行處理以生成用于判斷在數據同步處理的下一循環(huán)中是 否存在溢出的信息。當判定存在溢出時,客戶端200將溢出標志設為“真”(步驟S222),而 當判定不存在溢出時,其將溢出標志設為“假”(步驟S224)。然后,客戶端200在需要時向服務器100通知存儲在客戶端200自身中的數據的 狀態(tài)(步驟S226)。步驟S226的處理可以以與圖4的步驟S118的處理相同的方式被執(zhí)行。 客戶端200使用客戶端數據信息的發(fā)送狀態(tài)標志作為基礎來向服務器100發(fā)送在客戶端 200處被改變但未被發(fā)送給服務器100的數據。當接收到在客戶端200處被改變的數據時, 服務器100改變存儲在DB服務器110中的數據以與客戶端200中的數據同步。通過這種 同 步,存儲在服務器100中的數據和存儲在客戶端200中的數據變得相同。此外,另一客戶 端200查閱服務器100的改變歷史文件,從而認識到服務器100的數據被更新,并且從服務 器100獲取改變后數據以用于對數據同步。到此為止,已描述了當服務器100中存在溢出時的數據同步處理。以這種方式,當 在服務器100處管理的數據的改變歷史信息超過溢出歷史記錄的數目時,服務器100處的 改變歷史信息的記錄被停止并且指示溢出存在的信息被設置在歷史信息文件的溢出判定 信息中。在此情況中,客戶端200執(zhí)行從服務器100拷貝數據以用于同步數據的數據拷貝處 理。然后,當服務器100與客戶端200之間的數據同步結束時,指示溢出不存在的信息被設 置在歷史信息文件的溢出判定信息中。利用該設置,基于改變歷史信息下次溢出發(fā)生之前 的改變歷史信息,通過歷史信息處理來在服務器100與客戶端200之間執(zhí)行數據同步。于 是,能夠防止服務器負荷由于服務器100處所累積的大量改變歷史信息而增大并且能夠減 少數據同步處理所花的時間。[4.改變歷史信息的有效處理方法]這里,可對改變歷史信息進行編譯以減少數據同步處理所花的時間。下面將參考 圖11至圖12描述對改變歷史信息的有效處理方法。這里,圖11是圖示出編譯后的改變歷 史信息的示例的說明圖。圖12是圖示出改變歷史信息的分割和編譯的說明圖。
(4-1.改變歷史信息的編譯) 改變歷史信息是示出對數據執(zhí)行的改變內容并且如圖3所示按時間順序排列的 信息。例如,假設服務器歷史存儲裝置136存儲圖3所示的改變信息A至K作為改變歷史 信息。通常,服務器100的數據按照改變時間的時間順序被并入客戶端200以常規(guī)地對數 據進行同步。這里,當對同一數據進行多個改變時,以數據為單位來排列處理,從而能夠減 少數據同步處理的次數。例如,對數據“Test, txt”進行了改變信息A、E、I和K的四次改變??蛻舳?00的 數據獲取單元240如圖11那樣編譯這些改變信息。在此示例中,由于數據“Test, txt”新 近被添加、被更新兩次并且隨后被刪除,因此認為該數據從開始起即不存在。于是,數據獲 取單元240確定不從服務器100獲取數據“Test, txt”。同樣,對數據“Tree, jpg”執(zhí)行了改變信息B、F和J的三次改變處理。在此示例 中,由于存在于服務器100中的數據“Tree, jpg”被更新三次,因此數據獲取單元240僅將 數據“Tree, jpg”的上次改變(改變信息J)并入客戶端200的數據中。另外,對數據“Tmp. doc”執(zhí)行了改變信息C和G的兩次改變處理。在此示例中,由于數據“Tmp. doc”新近被添 加并且被更新,因此數據獲取單元240將更新(改變信息G)后數據“Tree, jpg”添加到客 戶端200的數據存儲裝置250中。然后,對數據“cmd. log”執(zhí)行改變信息D和H的兩次改變處理。在此示例中,由于 已經存在于服務器100中的數據“cmd. log”被更新并且被刪除,因此數據獲取單元240從 客戶端200的數據存儲裝置250中刪除數據“cmd. log”。因此,圖3的改變歷史信息的處理 最后被編譯為如圖11所示的三個處理。這使得能夠減少數據拷貝處理的時間并且極大地 縮短了數據同步處理的時間。(4-2.改變歷史信息的分割)在數據拷貝處理中,如上所述,由于要在一次循環(huán)中處理的數據的數目被約束,因 此一次數據拷貝所花的時間被減少為適當時間,從而實現了平滑的數據同步處理。這也適 用于改變歷史信息。然而,數據拷貝容易被分割,例如,如果通過以文件為單位進行分割來 執(zhí)行以文件為單位的同步,則可以常規(guī)地執(zhí)行處理而不用關注處理的順序或者其分割方 法。另一方面,對于改變歷史信息,改變處理被執(zhí)行的時間,即,處理的順序是極其重要的, 并且如果在未考慮到時間的情況下對處理進行分割,則合適的同步未被執(zhí)行。因此,需要根 據改變處理的時間順序來分割改變歷史信息。改變歷史信息的分割可以根據在一個循環(huán)中 處理的改變歷史信息的數目,即歷史改變次數來執(zhí)行。例如,考慮如圖3所示的對包括歷史信息A至K的改變歷史信息的分割。于是,一 次循環(huán)中的歷史處理的次數被預先存儲在APP服務器120的設置存儲裝置124中。歷史處 理的次數被設置為等于或小于溢出歷史記錄的數目。例如,假設溢出歷史記錄的數目為20, 并且一次循環(huán)中的歷史處理的次數為6。則如圖3所示,由于歷史信息的數目為11,因此不 存在溢出,并且在六條歷史信息被處理之后一次循環(huán)結束。在下次循環(huán)中,如果歷史信息條 數不增加,則余下的五條歷史信息被處理。S卩,如圖12所示,在第一次循環(huán)中,六條老的歷史信息A至F按照歷史信息的時間 順序被處理。在下次循環(huán)中,余下的五條歷史信息G至K被處理。于是,如上所述,兩條經 分割的歷史信息可進一步被編譯。
例如,當歷史信息A至F被編譯時,對數據“Test, txt”執(zhí)行了改變信息A和E的 兩次改變。在這樣的示例中,由于新的數據“Test, txt”新近被添加并被更新,因此數據獲 取單元240將更新(改變信息E)后數據“Test, txt”添加到客戶端200的數據存儲裝置 250中。同樣,對數據“Tree, jpg”執(zhí)行了改變信息B和F的兩次改變處理。在此示例中, 由于存在于服務器100中的數據“Tree, jpg”被更新兩次,因此數據獲取單元240僅將數據 "Tree, jpg”的上次改變(改變信息F)反映在客戶端200的數據上。 對于數據“Tmp. doc”和“cmd. log”,數據獲取單元240將歷史信息C和D的內容 并入數據存儲裝置250中。這種編譯使得能夠將六條歷史信息變?yōu)樗臈l(圖12的上側的 表),并且進一步減少了一次循環(huán)的處理。以相同的方式,當歷史信息G至K被編譯時,五條 歷史信息被編譯為四條(圖12的下側表)。以這種方式,即使在改變歷史信息被分割時,也 可以適當地執(zhí)行數據同步處理。當如本示例所示那樣分割改變歷史信息時,最終八次處理被執(zhí)行。如基于圖11所 描述的,與對改變歷史信息成批編譯的情況相比,處理的次數從三變?yōu)榘舜?,因此增加了?然而,編譯改變歷史信息的可能性隨著數據的數目和類型而變化。由于數據同步處理被分 割以便被執(zhí)行,如上所述,因此能夠穩(wěn)妥地將一次循環(huán)的處理所花的時間減少為適當時間 并且實現平滑的同步。另外,例如,對圖12的下面的表中的數據“Tree, jpg”和“Tmp. doc”的更新處理可 由對改變歷史信息執(zhí)行處理的客戶端200自身來執(zhí)行。如上所述,客戶端200查閱客戶端 數據信息的發(fā)送狀態(tài)標志以便能夠確認其是向服務器100請求的數據的改變類型。即,當 發(fā)送狀態(tài)標志是“PostSuccess”時,數據被確定為與已存儲的數據相同,并且可以省略從服 務器100獲取數據的處理。這使得能夠進一步減少同步處理所花的時間。上面描述了根據本發(fā)明實施例的數據同步系統(tǒng)的配置以及該數據同步系統(tǒng)中的 數據同步處理。根據依據本實施例的數據同步系統(tǒng),當在管理數據的改變歷史的服務器100 處存在歷史記錄的數目的溢出時,服務器100不保存歷史并且存儲指示溢出發(fā)生的溢出判 定信息。然后,當服務器100處不存在溢出時,客戶端200基于改變歷史信息來執(zhí)行數據同 步處理,并且當存在溢出時,數據存在信息被用作基礎以拷貝存儲在服務器100側的最近 的數據。通過這種結構,由于比預定數目的數據更多的數據的改變歷史未被累積在服務器 100中,因此能夠減少服務器100的存儲器使用量。此外,如果長時間未執(zhí)行數據同步的客 戶端200被連接到網絡10并且數據同步處理被重新啟動,則上述數據同步處理被執(zhí)行以實 現高速數據同步。這使得減少了通信流量并且減少了通信成本,并且節(jié)省了供不應求的帶
覓ο本領域的技術人員應當明白,可以根據設計要求和其它因素進行各種修改、組合、 子組合和變更,只要它們在所附權利要求或其等同物的范圍之內。例如,在上述實施例中,當服務器100側的數據的改變被反映到客戶端200側的數 據上之后,客戶端200側的數據的改變被通知給服務器100。然而,這不旨在限制本發(fā)明。 例如,可以在客戶端200側的數據的改變被通知給服務器100之后,將服務器100側的數據 的改變反映到客戶端200側的數據上。本申請包含與2009年12月4日向日本專利局提交的日本優(yōu)先專利申請JP2009-276947中公開的主題有關的主題,該申請的全部內容通 過引用結合于此。
權利要求
1.一種經由網絡連接到用于管理數據的服務器的信息處理裝置,該信息處理裝置包括數據存儲裝置,被配置為存儲從所述服務器獲得的數據;檢查單元,被配置為檢查存儲在所述服務器中的指示所述服務器中的數據的改變的改 變歷史信息的累積狀態(tài);以及數據獲取單元,被配置為根據所述檢查單元的檢查結果確定通過第一獲取方法和第二 獲取方法中的哪一個獲取方法來獲取數據并從所述服務器獲取數據,所述第一獲取方法根 據所述改變歷史信息將存儲在所述數據存儲裝置中的數據與由所述服務器管理的數據同 步,所述第二獲取方法從所述服務器獲取指示數據存在于所述服務器中的數據存在信息, 以同步存儲在所述數據存儲裝置中的數據。
2.根據權利要求1所述的信息處理裝置,其中,所述檢查單元檢查存儲在所述服務器中的改變歷史信息的條數是否超過了預定 歷史數目,當存儲在所述服務器中的改變歷史信息的條數等于或少于所述預定歷史數目時,所述 數據獲取單元通過所述第一獲取方法獲取數據,并且當存儲在所述服務器中的改變歷史信息的條數超過所述預定歷史數目時,所述數據獲 取單元通過所述第二獲取方法獲取數據。
3.根據權利要求2所述的信息處理裝置,其中,所述數據存儲裝置存儲客戶端數據信息,所述客戶端數據信息是與存儲在所述 數據存儲裝置中的數據有關的信息,并且當通過所述第二獲取方法獲取數據時,所述數據獲取單元將所述數據存在信息與所述 客戶端數據信息相比較并且僅從所述服務器獲取在所述服務器處被更新的數據。
4.根據權利要求3所述的信息處理裝置,其中,當通過所述第二獲取方法獲取數據時,所述數據獲取單元將所述數據存在信息 與所述客戶端數據信息相比較以指定僅存在于所述信息處理裝置中的數據,并且從所述數 據存儲裝置中刪除僅存在于所述信息處理裝置中的數據。
5.根據權利要求3所述的信息處理裝置,其中,所述數據獲取單元基于包含在所述客戶端數據信息中的、指示在所述信息處理 裝置中被改變并且未被發(fā)送給所述服務器的數據的發(fā)送狀態(tài)信息,向所述服務器發(fā)送用于 與所述信息處理裝置中被改變的數據同步地更新由所述服務器管理的數據的信息。
6.根據權利要求1所述的信息處理裝置,其中,所述數據獲取單元逐個數據地編譯所述改變歷史信息,并且基于編譯后的改變 歷史信息從所述服務器獲取數據。
7.根據權利要求1所述的信息處理裝置,其中,所述數據獲取單元將以時間順序排列的所述改變歷史信息分割為預定條數的數 據,并且針對經分割的每條改變歷史信息從所述服務器獲取數據。
8.一種信息處理方法,包括以下步驟檢查改變歷史信息的累積狀態(tài),所述改變歷史信息被存儲在經由網絡連接的用于管理 數據的服務器中并且指示所述服務器中的數據的改變;根據所述改變歷史信息的累積狀態(tài)的檢查結果來確定通過第一獲取方法和第二獲取 方法中的哪一個獲取方法來獲取數據,所述第一獲取方法根據所述改變歷史信息將存儲在 用于存儲從所述服務器獲得的數據的數據存儲裝置中的數據與由所述服務器管理的數據 同步,所述第二獲取方法從所述服務器獲取指示數據存在于所述服務器中的數據存在信 息,以同步存儲在所述數據存儲裝置中的數據;以及通過所確定的獲取方法從所述服務器獲取數據。
9.一種數據管理服務器,包括數據存儲裝置,被配置為存儲數據;數據改變單元,被配置為基于改變信息來改變存儲在所述數據存儲裝置中的數據;服務器歷史存儲裝置,被配置為存儲指示由所述數據改變單元改變的數據的改變的改 變歷史信息;設置存儲裝置,被配置為存儲所述服務器歷史存儲裝置中所存儲的改變歷史信息的累 積量的上限;管理單元,被配置為基于所述累積量的上限來管理存儲在所述服務器歷史存儲裝置中 的改變歷史信息的累積量;信息處理單元,被配置為當經由網絡相連的客戶端請求時,獲取要發(fā)送給所述客戶端 的所述改變歷史信息或數據,并且基于存儲在所述數據存儲裝置中的數據創(chuàng)建指示數據存 在于所述數據存儲裝置中的數據存在信息;以及服務器通信單元,被配置為向所述客戶端發(fā)送由所述信息處理單元獲得的數據、改變 歷史信息、或所創(chuàng)建的數據存在信息。
10.根據權利要求9所述的數據管理服務器,其中,當存儲在所述服務器歷史存儲裝置中的改變歷史信息的累積量超過了所述累積 量的上限時,所述管理單元停止累積所述改變歷史信息。
11.根據權利要求10所述的數據管理服務器,其中,當存儲在所述服務器歷史存儲裝置中的改變歷史信息的累積量超過了所述累積 量的上限時,所述管理單元在所述數據歷史存儲裝置中記錄指示所述改變歷史信息的累積 量超過了所述累積量的上限的溢出判定信息。
12.根據權利要求9所述的數據管理服務器,其中,所述信息處理單元包括用于從所述數據存儲裝置獲取數據并創(chuàng)建數據存在信息 的第一處理單元以及用于從所述服務器歷史存儲裝置獲取改變歷史信息的第二處理單元, 并且當從所述客戶端接收到對所述改變歷史信息的發(fā)送請求時,所述服務器通信單元使得 所述第二處理單元從所述服務器歷史存儲裝置獲取所述改變歷史信息。
13.根據權利要求9所述的數據管理服務器,其中,所述服務器歷史存儲裝置針對經由網絡相連的每個客戶端來存儲所述改變歷史 fn息ο
14.一種信息處理方法,包括以下步驟基于改變信息來改變存儲在用于存儲數據的數據存儲裝置中的數據;在服務器歷史存儲裝置中存儲指示被改變的數據的改變的改變歷史信息;基于存儲在所述服務器歷史存儲裝置中的改變歷史信息的累積量的上限,管理存儲在 所述服務器歷史存儲裝置中的改變歷史信息的累積量;當經由網絡相連的客戶端請求時,獲取要發(fā)送給所述客戶端的數據或所述改變歷史信息;當所述客戶端請求時,基于存儲在所述數據存儲裝置中的數據創(chuàng)建指示數據存在于所 述數據存儲裝置中的數據存在信息;以及向所述客戶端發(fā)送所獲取的數據、所述改變歷史信息或者所創(chuàng)建的數據存在信息。
15. 一種用于同步經由網絡相連的客戶端與服務器之間的數據的數據同步系統(tǒng), 其中,所述服務器包括 數據存儲裝置,被配置為存儲數據;數據改變單元,被配置為基于改變信息來改變存儲在所述數據存儲裝置中的數據; 服務器歷史存儲裝置,被配置為存儲指示由所述數據改變單元改變的數據的改變的改 變歷史信息;設置存儲裝置,被配置為存儲所述服務器歷史存儲裝置中所存儲的改變歷史信息的累 積量的上限;管理單元,被配 置為基于所述累積量的上限來管理存儲在所述服務器歷史存儲裝置中 的改變歷史信息的累積量;信息處理單元,被配置為當經由網絡相連的所述客戶端請求時,獲取要發(fā)送給所述客 戶端的所述改變歷史信息或數據,并且基于存儲在所述數據存儲裝置中的數據創(chuàng)建指示數 據存在于所述數據存儲裝置中的數據存在信息;以及服務器通信單元,被配置為向所述客戶端發(fā)送由所述信息處理單元獲得的數據、改變 歷史信息、或所創(chuàng)建的數據存在信息,并且 所述客戶端包括客戶端通信單元,被配置為從所述服務器接收數據、所述改變歷史信息和所述數據存 在信息;數據存儲裝置,被配置為存儲從所述服務器獲取的數據; 檢查單元,被配置為檢查存儲在所述服務器中的改變歷史信息的累積狀態(tài);以及 數據獲取單元,被配置為根據所述檢查單元的檢查結果來確定通過第一獲取方法和 第二獲取方法中的哪一個獲取方法來獲取數據并從所述服務器獲取數據,所述第一獲取方 法根據所述改變歷史信息將存儲在所述數據存儲裝置中的數據與由所述服務器管理的數 據同步,所述第二獲取方法從所述服務器獲取指示數據存在于所述服務器中的數據存在信 息,以同步存儲在所述數據存儲裝置中的數據。
全文摘要
本發(fā)明公開了信息處理裝置和方法、數據管理服務器及數據同步系統(tǒng)。提供了一種被連接到用于管理數據的服務器的信息處理裝置,該信息處理裝置包括數據存儲裝置,被配置為存儲從服務器獲得的數據;檢查單元,被配置為檢查存儲在服務器中的指示服務器中的數據的改變的改變歷史信息的累積狀態(tài);以及數據獲取單元,被配置為根據檢查單元的檢查結果確定通過第一獲取方法和第二獲取方法中的哪個獲取方法來獲取數據并從服務器獲取數據,第一獲取方法根據改變歷史信息將存儲在數據存儲裝置中的數據與由服務器管理的數據同步,第二獲取方法從服務器獲取指示數據存在于服務器中的數據存在信息,以同步存儲在數據存儲裝置中的數據。
文檔編號H04L7/00GK102104594SQ20101057081
公開日2011年6月22日 申請日期2010年11月29日 優(yōu)先權日2009年12月4日
發(fā)明者園田修平, 江坂征二, 金子武尊, 高田昌幸 申請人:索尼公司