国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)庫同步方法、服務(wù)器及系統(tǒng)的制作方法

      文檔序號:7814502閱讀:139來源:國知局
      一種數(shù)據(jù)庫同步方法、服務(wù)器及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明實施例公開了一種數(shù)據(jù)庫同步方法,包括:接收從服務(wù)器的同步請求;同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間;根據(jù)同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到同步請求對應(yīng)的第一歷史操作數(shù)據(jù);第一歷史操作數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù);按操作時間先后,將第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù);第一時刻晚于第二時刻;返回同步數(shù)據(jù)至從服務(wù)器。采用本發(fā)明,可減少主服務(wù)器對從服務(wù)器的同步操作,可縮小同步操作時的數(shù)據(jù)傳輸量,從而提高同步效率,節(jié)約網(wǎng)絡(luò)資源。
      【專利說明】—種數(shù)據(jù)庫同步方法、服務(wù)器及系統(tǒng)

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及數(shù)據(jù)庫領(lǐng)域,尤其涉及一種數(shù)據(jù)庫同步方法、服務(wù)器及系統(tǒng)。

      【背景技術(shù)】
      [0002]數(shù)據(jù)庫可視為存儲電子文件的處所,用戶可以對文件中的數(shù)據(jù)進(jìn)行新增、截取、更新、刪除等操作。隨著信息技術(shù)的發(fā)展,數(shù)據(jù)庫的同步越來越重要?,F(xiàn)有的數(shù)據(jù)庫同步技術(shù)有數(shù)據(jù)庫日志同步方法,該數(shù)據(jù)庫日志同步方法通過監(jiān)聽源數(shù)據(jù)庫的日志,來捕獲源數(shù)據(jù)庫的數(shù)據(jù)變化信息,從而實現(xiàn)源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的同步;現(xiàn)有的數(shù)據(jù)庫同步技術(shù)還有基于文件的數(shù)據(jù)庫同步方法,該基于文件的數(shù)據(jù)庫同步方法以文件方式從源端數(shù)據(jù)庫向目標(biāo)端數(shù)據(jù)庫進(jìn)行同步。
      [0003]但是,由于各個從服務(wù)器需要的數(shù)據(jù)不同,同步的時候,主服務(wù)器需要根據(jù)條件篩選,同時,各個從服務(wù)器都部署在不同的網(wǎng)絡(luò)中,上述現(xiàn)有的數(shù)據(jù)庫同步技術(shù)造成主服務(wù)器進(jìn)行頻繁的同步操作,同步操作中傳輸?shù)臄?shù)據(jù)量大。


      【發(fā)明內(nèi)容】

      [0004]本發(fā)明實施例所要解決的技術(shù)問題是提供一種數(shù)據(jù)庫同步方法及系統(tǒng),可減少主服務(wù)器對從服務(wù)器的同步操作,可縮小同步操作時的數(shù)據(jù)傳輸量,從而提高同步效率,節(jié)約網(wǎng)絡(luò)資源。為解決上述問題,本發(fā)明的技術(shù)方案為:
      [0005]本發(fā)明實施例提供了一種數(shù)據(jù)庫同步方法,該方法包括兩個方面的內(nèi)容。其中一個方面的內(nèi)容為主服務(wù)器側(cè)的數(shù)據(jù)庫同步方法,包括:
      [0006]接收從服務(wù)器的同步請求;所述同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間;
      [0007]根據(jù)所述同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到所述同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的第一歷史操作數(shù)據(jù);所述第一歷史操作數(shù)據(jù)為所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù);
      [0008]按操作時間先后,將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù);所述第一時刻晚于所述第二時刻;
      [0009]返回所述同步數(shù)據(jù)至所述從服務(wù)器。
      [0010]具體的,所述將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù)包括:按操作時間先后,從后往前以迭代的方式將所述第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)進(jìn)行合并來得到同步數(shù)據(jù)。
      [0011]具體的,所述根據(jù)所述同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到所述同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的第一歷史操作數(shù)據(jù)包括:
      [0012]根據(jù)所述參照時間在所述全部歷史操作數(shù)據(jù)中過濾出晚于所述參照時間的歷史操作數(shù)據(jù);
      [0013]根據(jù)所述業(yè)務(wù)數(shù)據(jù)標(biāo)識在所述晚于所述參照時間的歷史操作數(shù)據(jù)中過濾出所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù)為所述第一歷史操作數(shù)據(jù)。
      [0014]具體的,所述業(yè)務(wù)數(shù)據(jù)標(biāo)識包括多個子業(yè)務(wù)數(shù)據(jù)標(biāo)識;所述將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù)包括:
      [0015]將所述第一歷史操作數(shù)據(jù)按所述子業(yè)務(wù)數(shù)據(jù)標(biāo)識分類;
      [0016]按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù);
      [0017]打包所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)為所述同步數(shù)據(jù)。
      [0018]具體的,在所述返回所述同步數(shù)據(jù)至所述從服務(wù)器之前,如果所述同步數(shù)據(jù)中包含附件信息時,則為所述附件信息對應(yīng)的附件生成下載地址,并返回所述下載地址至所述從服務(wù)器。
      [0019]具體的,在所述按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中時,如果所述同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)與所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)相同的字段,則將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息。
      [0020]具體的,所述打包所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)為所述同步數(shù)據(jù)包括:按操作時間的先后順序組織所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)形成所述同步數(shù)據(jù)的數(shù)據(jù)包。
      [0021]具體的,在所述返回所述下載地址至所述從服務(wù)器之后,包括:
      [0022]接收所述從服務(wù)器的附件下載請求;
      [0023]發(fā)送所述下載地址對應(yīng)的附件至所述從服務(wù)器。
      [0024]具體的,所述歷史操作數(shù)據(jù)對應(yīng)的操作信息包括歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容和歷史操作數(shù)據(jù)對應(yīng)的操作動作;將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息包括:
      [0025]將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容;
      [0026]將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作。
      [0027]其中另一個方面的內(nèi)容為從服務(wù)器側(cè)的數(shù)據(jù)庫同步方法,包括:
      [0028]發(fā)送同步請求至主服務(wù)器;所述同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間;
      [0029]接收主服務(wù)器發(fā)送的同步數(shù)據(jù);所述同步數(shù)據(jù)為晚于所述參照時間的所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的歷史操作數(shù)據(jù);
      [0030]根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫。
      [0031]具體的,所述根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫包括:
      [0032]在所述本地數(shù)據(jù)庫找到所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù);
      [0033]根據(jù)所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作和歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容來更新所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
      [0034]具體的,在所述根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫之后,記錄所述更新完成的時間;所述更新完成的時間用作下一個同步周期的參照時間。
      [0035]具體的,在所述接收主服務(wù)器發(fā)送的同步數(shù)據(jù)之后,如果所述同步數(shù)據(jù)中包含附件的下載地址,根據(jù)所述下載地址發(fā)送下載請求至所述主服務(wù)器;從所述主服務(wù)器下載所述下載地址對應(yīng)的附件。
      [0036]具體的,所述根據(jù)所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作和歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容來更新所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)包括:
      [0037]如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為刪除動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)刪除;或
      [0038]如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為添加動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的字段添加到所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中;或
      [0039]如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為修改動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的字段覆蓋所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中的所述字段。
      [0040]本發(fā)明實施例提供了一種數(shù)據(jù)庫同步的主服務(wù)器,所述主服務(wù)器包括:
      [0041]同步請求接收模塊,用于接收從服務(wù)器的同步請求;所述同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間;
      [0042]過濾模塊,用于根據(jù)所述同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到所述同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的第一歷史操作數(shù)據(jù);所述第一歷史操作數(shù)據(jù)為所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù);
      [0043]合并模塊,用于按操作時間先后,將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù);所述第一時刻晚于所述第二時刻;
      [0044]同步數(shù)據(jù)發(fā)送模塊,用于返回所述同步數(shù)據(jù)至所述從服務(wù)器。
      [0045]具體的,所述合并模塊具體用于按操作時間先后,從后往前以迭代的方式將所述第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)進(jìn)行合并來得到同步數(shù)據(jù)。
      [0046]具體的,所述過濾模塊包括:
      [0047]第一過濾模塊,用于根據(jù)所述參照時間在所述全部歷史操作數(shù)據(jù)中過濾出晚于所述參照時間的歷史操作數(shù)據(jù);
      [0048]第二過濾模塊,用于根據(jù)所述業(yè)務(wù)數(shù)據(jù)標(biāo)識在所述晚于所述參照時間的歷史操作數(shù)據(jù)中過濾出所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù)為所述第一歷史操作數(shù)據(jù)。
      [0049]具體的,所述業(yè)務(wù)數(shù)據(jù)標(biāo)識包括多個子業(yè)務(wù)數(shù)據(jù)標(biāo)識;所述合并模塊包括:
      [0050]分類模塊,用于將所述第一歷史操作數(shù)據(jù)按所述子業(yè)務(wù)數(shù)據(jù)標(biāo)識分類;
      [0051]歷史操作合并模塊,用于按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù);
      [0052]打包模塊,用于打包所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)為所述同步數(shù)據(jù)。
      [0053]具體的,還包括附件處理模塊,用于在所述返回所述同步數(shù)據(jù)至所述從服務(wù)器之前,如果所述同步數(shù)據(jù)中包含附件信息時,則為所述附件信息對應(yīng)的附件生成下載地址,并返回所述下載地址至所述從服務(wù)器。
      [0054]具體的,還包括覆蓋模塊,用于在所述歷史操作合并模塊執(zhí)行所述按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)的步驟時,
      [0055]如果所述同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)與所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)相同的字段,則將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息。
      [0056]具體的,所述打包模塊具體用于按操作時間的先后順序組織所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)形成所述同步數(shù)據(jù)的數(shù)據(jù)包。
      [0057]具體的,還包括下載處理模塊,用于在所述附件處理模塊執(zhí)行所述返回所述下載地址至所述從服務(wù)器的步驟之后,接收所述從服務(wù)器的附件下載請求;發(fā)送所述下載地址對應(yīng)的附件至所述從服務(wù)器。
      [0058]具體的,所述覆蓋模塊包括:
      [0059]操作內(nèi)容覆蓋模塊,用于將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容;
      [0060]操作動作覆蓋模塊,用于將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作。
      [0061]本發(fā)明實施例提供了一種數(shù)據(jù)庫同步的從服務(wù)器,所述從服務(wù)器包括:
      [0062]同步請求模塊,用于發(fā)送同步請求至主服務(wù)器;所述同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間;
      [0063]同步數(shù)據(jù)接收模塊,用于接收主服務(wù)器發(fā)送的同步數(shù)據(jù);所述同步數(shù)據(jù)為晚于所述參照時間的所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的歷史操作數(shù)據(jù);
      [0064]更新模塊,用于根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫。
      [0065]具體的,所述更新模塊包括:
      [0066]業(yè)務(wù)數(shù)據(jù)定位模塊,用于在所述本地數(shù)據(jù)庫找到所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù);
      [0067]業(yè)務(wù)數(shù)據(jù)更新模塊,用于根據(jù)所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作和歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容來更新所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
      [0068]具體的,還包括:記錄模塊,用于在所述更新模塊執(zhí)行所述根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫的步驟之后,記錄所述更新完成的時間;所述更新完成的時間用作下一個同步周期的參照時間。
      [0069]具體的,還包括下載模塊,用于在所述同步數(shù)據(jù)接收模塊執(zhí)行所述接收主服務(wù)器發(fā)送的同步數(shù)據(jù)的步驟之后,如果所述同步數(shù)據(jù)中包含附件的下載地址,根據(jù)所述下載地址發(fā)送下載請求至所述主服務(wù)器;從所述主服務(wù)器下載所述下載地址對應(yīng)的附件。
      [0070]具體的,所述業(yè)務(wù)數(shù)據(jù)更新模塊包括:
      [0071]第一更新模塊,用于如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為刪除動作,則將所述歷史操作數(shù)據(jù)對應(yīng)業(yè)務(wù)數(shù)據(jù)刪除;或
      [0072]第二更新模塊,用于如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為添加動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的字段添加到所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中;或
      [0073]第三更新模塊,用于如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為修改動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的字段覆蓋所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中的所述字段。
      [0074]另外,本發(fā)明實施例還提供了一種數(shù)據(jù)庫同步的系統(tǒng),所述系統(tǒng)包括主服務(wù)器和從服務(wù)器,其中所述主服務(wù)器為上述全部內(nèi)容所述的主服務(wù)器,所述從服務(wù)器為上述全部內(nèi)容所述的從服務(wù)器,這里不再贅述。
      [0075]通過實施本發(fā)明實施例,主服務(wù)器接收從服務(wù)器的同步請求,根據(jù)從服務(wù)器的同步請求過濾歷史操作數(shù)據(jù)來得到該同步請求對應(yīng)的歷史操作數(shù)據(jù),合并該同步請求對應(yīng)的歷史操作數(shù)據(jù)來得到從服務(wù)器的同步數(shù)據(jù),發(fā)送該同步數(shù)據(jù)至從服務(wù)器,可減少主服務(wù)器對從服務(wù)器的同步操作,可縮小同步操作時的數(shù)據(jù)傳輸量,從而提高同步效率,節(jié)約網(wǎng)絡(luò)資源。

      【專利附圖】

      【附圖說明】
      [0076]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0077]圖1是本發(fā)明的一種實施例提供的主服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程圖;
      [0078]圖2是本發(fā)明的一種實施例提供的從服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程圖;
      [0079]圖3是本發(fā)明的另一種實施例提供的主服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程圖;
      [0080]圖4是本發(fā)明實施例提供的歷史操作數(shù)據(jù)合并的示意圖;
      [0081]圖5是本發(fā)明的一種實施例提供的主服務(wù)器的結(jié)構(gòu)示意圖;
      [0082]圖6是本發(fā)明的一種實施例提供的主服務(wù)器的過濾模塊的結(jié)構(gòu)示意圖;
      [0083]圖7是本發(fā)明的一種實施例提供的主服務(wù)器的合并模塊的結(jié)構(gòu)示意圖;
      [0084]圖8是本發(fā)明的另一種實施例提供的主服務(wù)器的結(jié)構(gòu)示意圖;
      [0085]圖9是本發(fā)明的第三種實施例提供的主服務(wù)器的結(jié)構(gòu)示意圖;
      [0086]圖10是本發(fā)明第三種實施例提供的主服務(wù)器的覆蓋模塊的結(jié)構(gòu)示意圖;
      [0087]圖11是本發(fā)明第四種實施例提供的主服務(wù)器的結(jié)構(gòu)示意圖;
      [0088]圖12是本發(fā)明一種實施例提供的從服務(wù)器的結(jié)構(gòu)示意圖;
      [0089]圖13是本發(fā)明一種實施例提供的從服務(wù)器的更新模塊的結(jié)構(gòu)示意圖;
      [0090]圖14是本發(fā)明一種實施例提供的從服務(wù)器的業(yè)務(wù)數(shù)據(jù)更新模塊的結(jié)構(gòu)示意圖;
      [0091]圖15是本發(fā)明另一種實施例提供的從服務(wù)器的結(jié)構(gòu)示意圖;
      [0092]圖16是本發(fā)明第三種實施例提供的從服務(wù)器的結(jié)構(gòu)示意圖。

      【具體實施方式】
      [0093]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
      [0094]需要說明的是,在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
      [0095]參見圖1,是本發(fā)明的一種實施例提供的主服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程圖。如圖所示本實施例中的主服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程可以包括:
      [0096]步驟SlOl:接收從服務(wù)器的同步請求。
      [0097]具體的,主服務(wù)器接收從服務(wù)器發(fā)送的同步請求,該同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間。從服務(wù)器可以將自身需要的業(yè)務(wù),上一次同步完成的時間(即參照時間)以及從服務(wù)器的身份標(biāo)識傳送給主服務(wù)器;主服務(wù)器接收到從服務(wù)器發(fā)送的同步請求之后,可根據(jù)該同步請求過濾歷史操作數(shù)據(jù)庫中的數(shù)據(jù)。
      [0098]步驟S103:根據(jù)同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到同步請求對應(yīng)的第一歷史操作數(shù)據(jù)。
      [0099]具體的,歷史操作數(shù)據(jù)庫可用于存儲業(yè)務(wù)數(shù)據(jù)的歷史操作記錄;該歷史操作記錄即為歷史操作數(shù)據(jù),可包括對業(yè)務(wù)數(shù)據(jù)進(jìn)行的新增、截取、更新、刪除等操作以及這些操作的內(nèi)容,還可包括業(yè)務(wù)數(shù)據(jù)的標(biāo)識,操作時間,附件信息等;其中,歷史操作數(shù)據(jù)中的業(yè)務(wù)數(shù)據(jù)標(biāo)識可以是該業(yè)務(wù)數(shù)據(jù)的唯一標(biāo)識,還可以是具體某個模塊下的業(yè)務(wù)數(shù)據(jù)的標(biāo)識,這里不限制歷史操作數(shù)據(jù)和其對應(yīng)的業(yè)務(wù)數(shù)據(jù)的關(guān)系的表現(xiàn)形式。
      [0100]具體的,該同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間;第一歷史操作數(shù)據(jù)為該業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于該參照時間的歷史操作數(shù)據(jù)。步驟S103可具體包括:根據(jù)該參照時間在歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù)中過濾出晚于該參照時間的歷史操作數(shù)據(jù);根據(jù)該業(yè)務(wù)數(shù)據(jù)標(biāo)識在所述晚于所述參照時間的歷史操作數(shù)據(jù)中過濾出該業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于該參照時間的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)。
      [0101]主服務(wù)器可根據(jù)同步請求中的參照時間過濾歷史操作數(shù)據(jù)庫中的歷史操作數(shù)據(jù),得到晚于參照時間的歷史操作數(shù)據(jù),即得到上一次同步完成之后新產(chǎn)生的歷史操作數(shù)據(jù);在此之后,主服務(wù)器可根據(jù)同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識來過濾上述晚于參照時間的歷史操作數(shù)據(jù)來得到該業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的歷史操作數(shù)據(jù),該數(shù)據(jù)即為從服務(wù)器請求的數(shù)據(jù)。
      [0102]步驟S105:按操作時間先后,將第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù)。
      [0103]具體的,上述第一時刻晚于上述第二時刻,可理解的,上述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)中的在后的歷史操作數(shù)據(jù);同理,上述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)中的在先的歷史操作數(shù)據(jù)。
      [0104]具體的,主服務(wù)器可根據(jù)業(yè)務(wù)數(shù)據(jù)標(biāo)識,操作動作,操作內(nèi)容,附件信息,以及操作時間進(jìn)行合并,合并重復(fù)操作為一個操作。這里重復(fù)操作可包括對于同一業(yè)務(wù)數(shù)據(jù)的不同操作時間的歷史操作記錄,例如,在廣播電視系統(tǒng)中,總服務(wù)器的編輯處對同一節(jié)目信息的不同時間的編輯動作即為該節(jié)目信息的重復(fù)歷史操作。
      [0105]具體實現(xiàn)中,主服務(wù)器可將第一歷史操作數(shù)據(jù)中的全部歷史操作數(shù)據(jù)按照操作時間排序,并將操作時間在后的歷史操作數(shù)據(jù)合并到操作時間在前的歷史操作數(shù)據(jù)中,從而得到同步數(shù)據(jù)。例如,對于同一業(yè)務(wù)數(shù)據(jù),時刻Tl的歷史操作數(shù)據(jù)A對字段T的操作動作為“修改”,操作內(nèi)容為“abc”,時刻T2的歷史操作數(shù)據(jù)B對字段T的操作動作為“修改”,操作內(nèi)容為“abcd”,其中時刻T2晚于時刻Tl,則歷史操作數(shù)據(jù)B合并到歷史操作數(shù)據(jù)A中,合并后的歷史操作數(shù)據(jù)的操作動作為“修改”,操作內(nèi)容為“abed”。
      [0106]需要說明的,歷史操作數(shù)據(jù)中的“添加”或“修改”等操作動作的直接操作對象為業(yè)務(wù)數(shù)據(jù)中的字段,但是歷史操作數(shù)據(jù)中的“刪除”這一操作動作的直接操作對象為業(yè)務(wù)數(shù)據(jù),則在第一歷史操作數(shù)據(jù)中,如果在后的歷史操作數(shù)據(jù)的操作動作為“刪除”,則可直接將該在后的歷史操作數(shù)據(jù)之前的歷史操作記錄全部刪除;相應(yīng)的,如果從服務(wù)器接收到的同步數(shù)據(jù)中存在操作動作為“刪除”的歷史操作數(shù)據(jù),從服務(wù)器直接刪除該歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)。例如,對于同一業(yè)務(wù)數(shù)據(jù),時刻Tl的歷史操作數(shù)據(jù)A的操作動作為對字段T的“修改”,操作內(nèi)容為“abc”,時刻T2的歷史操作數(shù)據(jù)B的操作動作為“刪除”,其中時刻T2晚于時刻Tl,則直接刪除該業(yè)務(wù)數(shù)據(jù)對應(yīng)的時刻T2之前的全部歷史操作數(shù)據(jù)。示例僅僅是本發(fā)明實施例的一種實現(xiàn)方式,實際使用中還可以不同,不應(yīng)構(gòu)成限定。
      [0107]最優(yōu)的,主服務(wù)器可以按操作時間先后,從后往前以迭代的方式將第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)進(jìn)行合并來得到同步數(shù)據(jù),即主服務(wù)器可以以迭代的方式依次將第一歷史操作數(shù)據(jù)中的在后的歷史操作數(shù)據(jù)合并到第一歷史操作數(shù)據(jù)中的在先的歷史數(shù)據(jù)中得到第一歷史操作數(shù)據(jù)的最終數(shù)據(jù),具體實現(xiàn)可參見圖3的步驟S311中的內(nèi)容。
      [0108]可選的,主服務(wù)器還可從第一歷史操作數(shù)據(jù)中歷取出連續(xù)相鄰的部分歷史操作數(shù)據(jù),將該連續(xù)相鄰的部分歷史操作數(shù)據(jù)按照操作時間排序,并將該連續(xù)相鄰的部分歷史操作數(shù)據(jù)中操作時間在后的歷史操作數(shù)據(jù)合并到操作時間在前的歷史操作數(shù)據(jù)中,用以減少第一歷史操作數(shù)據(jù)的部分重復(fù)操作。
      [0109]需要說明的,上述同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識可以是單一業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識,也可以是單個模塊下的多個子業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識的集合,還可以是其他組合形式的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識,這里不應(yīng)構(gòu)成限定。相應(yīng)的,對于非單一業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)標(biāo)識,主服務(wù)器可分別對各個業(yè)務(wù)數(shù)據(jù)對應(yīng)的歷史操作數(shù)據(jù)進(jìn)行合并操作,并將各個業(yè)務(wù)數(shù)據(jù)對應(yīng)的合并后的歷史操作數(shù)據(jù)打包為同步數(shù)據(jù)。特別的,如果上述業(yè)務(wù)數(shù)據(jù)標(biāo)識包含多個子業(yè)務(wù)數(shù)據(jù)標(biāo)識,主服務(wù)器可按照子業(yè)務(wù)數(shù)據(jù)標(biāo)識將第一歷史操作數(shù)據(jù)分類;在每一類歷史操作數(shù)據(jù)的合并過程中,主服務(wù)器可按操作時間先后,從后往前以迭代的方式將每一類第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)進(jìn)行合并。
      [0110]步驟S107:返回同步數(shù)據(jù)至從服務(wù)器。
      [0111]具體的,主服務(wù)器可將從服務(wù)器發(fā)送的同步請求對應(yīng)的同步數(shù)據(jù)發(fā)送給從服務(wù)器。具體實現(xiàn)中,主服務(wù)器可以根據(jù)同步請求中包含的從服務(wù)器的身份標(biāo)識來定位接收同步數(shù)據(jù)的從服務(wù)器。
      [0112]具體的,在返回同步數(shù)據(jù)至從服務(wù)器之前,如果該同步數(shù)據(jù)中包含附件信息時,主服務(wù)器可為該附件信息對應(yīng)的附件生成下載地址,并返回下載地址至從服務(wù)器。在主服務(wù)器返回附件下載地址至從服務(wù)器之后,主服務(wù)器可接收從服務(wù)器的附件下載請求;并發(fā)送下載地址對應(yīng)的附件至從服務(wù)器。
      [0113]參見圖2,是本發(fā)明的一種實施例提供的從服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程圖。如圖所示本實施例中的從服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程可以包括:
      [0114]步驟S201:發(fā)送同步請求至主服務(wù)器。
      [0115]具體的,從服務(wù)器可以將自身需要的業(yè)務(wù),上一次同步完成的時間(即參照時間)以及從服務(wù)器的身份標(biāo)識傳送給主服務(wù)器。需要說明的,從服務(wù)器發(fā)送同步請求的方式可以是按預(yù)設(shè)時間間隔定時向主服務(wù)器發(fā)起請求,還可以由用戶觸發(fā)來發(fā)起請求,這里不作限制。
      [0116]步驟S203:接收主服務(wù)器發(fā)送的同步數(shù)據(jù)。
      [0117]具體的,從服務(wù)器接收主服務(wù)器發(fā)送的同步數(shù)據(jù)。在接收主服務(wù)器發(fā)送的同步數(shù)據(jù)之后,如果同步數(shù)據(jù)中包含附件的下載地址,從服務(wù)器可根據(jù)該下載地址發(fā)送下載請求至主服務(wù)器;并從主服務(wù)器下載該下載地址對應(yīng)的附件。
      [0118]步驟S205:根據(jù)同步數(shù)據(jù)更新本地數(shù)據(jù)庫。
      [0119]具體的,從服務(wù)器可在本地數(shù)據(jù)庫找到同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù);并可根據(jù)同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作和該歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容來更新該歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)。實際應(yīng)用中,如果同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為刪除動作,從服務(wù)器則可直接將該歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)刪除;或如果同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為添加動作,從服務(wù)器則可將該歷史操作數(shù)據(jù)對應(yīng)的字段添加到該歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中;或如果同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為修改動作,從服務(wù)器則可將該歷史操作數(shù)據(jù)對應(yīng)的字段覆蓋該歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中的該字段。
      [0120]進(jìn)一步的,在從服務(wù)器根據(jù)最終的同步數(shù)據(jù)更新本地數(shù)據(jù)庫之后,從服務(wù)器記錄該次更新完成的時間;該次更新完成的時間用作下一個同步周期的參照時間。
      [0121]參見圖3,是本發(fā)明的另一種實施例提供的主服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程圖。如圖所示本實施例中的主服務(wù)器側(cè)的數(shù)據(jù)庫同步方法的流程可以包括:
      [0122]步驟S301:接收從服務(wù)器的同步請求。
      [0123]具體的,具體實現(xiàn)方式可參見步驟SlOl中的內(nèi)容。
      [0124]步驟S303:根據(jù)同步請求過濾歷史操作數(shù)據(jù)庫。
      [0125]具體的,歷史操作數(shù)據(jù)庫可用于存儲業(yè)務(wù)數(shù)據(jù)的歷史操作記錄;該歷史操作記錄即為歷史操作數(shù)據(jù),可包括對業(yè)務(wù)數(shù)據(jù)進(jìn)行的新增、截取、更新、刪除等操作以及這些操作的內(nèi)容,還可包括業(yè)務(wù)數(shù)據(jù)的標(biāo)識,操作時間,附件信息等;其中,歷史操作數(shù)據(jù)中的業(yè)務(wù)數(shù)據(jù)標(biāo)識可以是該業(yè)務(wù)數(shù)據(jù)的唯一標(biāo)識,還可以是具體某個模塊下的業(yè)務(wù)數(shù)據(jù)的標(biāo)識,這里不限制歷史操作數(shù)據(jù)和其對應(yīng)的業(yè)務(wù)數(shù)據(jù)的關(guān)系的表現(xiàn)形式。
      [0126]主服務(wù)器可根據(jù)同步請求中的參照時間過濾歷史操作數(shù)據(jù)庫中的歷史操作數(shù)據(jù),得到晚于參照時間的歷史操作數(shù)據(jù),即得到上一次同步完成之后新產(chǎn)生的歷史操作數(shù)據(jù);在此之后,主服務(wù)器可根據(jù)同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識來過濾上述晚于參照時間的歷史操作數(shù)據(jù)來得到該業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的歷史操作數(shù)據(jù),該數(shù)據(jù)即為從服務(wù)器請求的數(shù)據(jù)。
      [0127]步驟S305:將過濾后的歷史操作數(shù)據(jù)按業(yè)務(wù)數(shù)據(jù)標(biāo)識分類。
      [0128]具體的,上述同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識可以是單一業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)標(biāo)識,也可以是單個模塊下的多個業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識的集合,還可以是其他組合形式的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。
      [0129]具體的,當(dāng)上述業(yè)務(wù)數(shù)據(jù)標(biāo)識包括多個子業(yè)務(wù)數(shù)據(jù)標(biāo)識時,主服務(wù)器可將第一歷史操作數(shù)據(jù)按子業(yè)務(wù)數(shù)據(jù)標(biāo)識分類。
      [0130]步驟S307:判斷同一類第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)與第二時刻的歷史操作數(shù)據(jù)是否對應(yīng)相同的字段。
      [0131]具體的,上述第一時刻晚于上述第二時刻,可理解的,上述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)中的在后的歷史操作數(shù)據(jù);同理,上述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)中的在先的歷史操作數(shù)據(jù)。
      [0132]具體的,如果同一類第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)與第二時刻的歷史操作數(shù)據(jù)對應(yīng)相同的字段,則主服務(wù)器執(zhí)行步驟S309 ;否則,執(zhí)行步驟S311。
      [0133]步驟S309:將第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息。
      [0134]具體的,上述第一時刻晚于上述第二時刻,可理解的,上述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)中的在后的歷史操作數(shù)據(jù);同理,上述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)中的在先的歷史操作數(shù)據(jù)。
      [0135]具體的,如果同一類第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)與第二時刻的歷史操作數(shù)據(jù)對應(yīng)相同的字段,主服務(wù)器可將第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息。歷史操作數(shù)據(jù)對應(yīng)的操作信息可包括歷史操作數(shù)據(jù)對應(yīng)的操作動作和歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容。具體實現(xiàn)中,主服務(wù)器將第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容覆蓋第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容;主服務(wù)器將第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作覆蓋第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作。
      [0136]步驟S311:將同一類第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到第二時刻的歷史操作數(shù)據(jù)中。
      [0137]具體的,上述第一時刻晚于上述第二時刻,可理解的,上述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)中的在后的歷史操作數(shù)據(jù);同理,上述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)為第一歷史操作數(shù)據(jù)中的在先的歷史操作數(shù)據(jù)。
      [0138]具體的,如果同一類第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)與第二時刻的歷史操作數(shù)據(jù)不對應(yīng)相同的字段,主服務(wù)器可按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的上述第一時刻的歷史操作數(shù)據(jù)合并到同一類第一歷史操作數(shù)據(jù)中的上述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)。
      [0139]最優(yōu)的,對于同一類第一歷史操作數(shù)據(jù)的合并,主服務(wù)器可以按操作時間先后,從后往前以迭代的方式將所述第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)進(jìn)行合并來得到同步數(shù)據(jù)。具體實現(xiàn)中,迭代式的合并過程可參見圖4,其中,歷史操作數(shù)據(jù)401為同一類第一歷史操作數(shù)據(jù)中的按操作時間先后排列的歷史操作數(shù)據(jù),403為401所示的歷史操作數(shù)據(jù)的合并結(jié)果,405為時間軸;第一次合并的初始值可為離參照時間最近的時刻的歷史操作數(shù)據(jù),即圖4中的“N”,第一次合并的結(jié)果為“合并I ” ;“合并I ”作為第二次合并的初始值,第二次合并的結(jié)果為“合并2” 合并2”作為第三次合并的初始值,第三次合并的結(jié)果為“合并3”;依此反復(fù),最終可得到最終的合并結(jié)果,即為同一類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)。
      [0140]需要說明的,歷史操作數(shù)據(jù)中的“添加”或“修改”等操作動作的直接操作對象為業(yè)務(wù)數(shù)據(jù)中的字段,但是歷史操作數(shù)據(jù)中的“刪除”這一操作動作的直接操作對象為業(yè)務(wù)數(shù)據(jù),則在同一類第一歷史操作數(shù)據(jù)中,如果在后的歷史操作數(shù)據(jù)的操作動作為“刪除”,則可直接將該在后的歷史操作數(shù)據(jù)之前的歷史操作記錄全部刪除;相應(yīng)的,如果從服務(wù)器接收到的同步數(shù)據(jù)中存在操作動作為“刪除”的歷史操作數(shù)據(jù),從服務(wù)器直接刪除該歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)。例如,對于同一業(yè)務(wù)數(shù)據(jù),時刻Tl的歷史操作數(shù)據(jù)A的操作動作為對字段T的“修改”,操作內(nèi)容為“abc”,時刻T2的歷史操作數(shù)據(jù)B的操作動作為“刪除”,其中時刻T2晚于時刻Tl,則直接刪除該業(yè)務(wù)數(shù)據(jù)對應(yīng)的時刻T2的歷史操作數(shù)據(jù)以及時刻T2之前的全部歷史操作數(shù)據(jù)。示例僅僅是本發(fā)明實施例的一種實現(xiàn)方式,實際使用中還可以不同,不應(yīng)構(gòu)成限定。
      [0141]具體實現(xiàn)中,圖4所示的迭代式的合并過程可以為:
      [0142]新建第一容器用于存放將401所示的同一類第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù),新建第二容器用于存放401所示的同一類第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)的當(dāng)前合并結(jié)果403。
      [0143]從第一容器中取出最新的歷史操作數(shù)據(jù);
      [0144]判斷第二容器中是否為空,如果第二容器為空,則將第一容器中取出的最新的歷史操作數(shù)據(jù)放入第二容器中;如果第二容器不為空,則將第二容器中的數(shù)據(jù)取出與第一容器中取出的最新的歷史操作數(shù)據(jù)合并,在合并過程中如果兩份數(shù)據(jù)有相同的字段,則用最新的歷史操作數(shù)據(jù)的該字段覆蓋第二容器中取出的數(shù)據(jù)的該字段,最新的歷史操作數(shù)據(jù)的操作信息覆蓋第二容器中取出的數(shù)據(jù)的操作信息;
      [0145]然后把合并結(jié)果重新放入第二容器中,等待下次合并;
      [0146]重復(fù)上述過程直到第一容器中的歷史操作數(shù)據(jù)全部完成合并,則第二容器中存放的數(shù)據(jù)即為第一容器中最初存放的全部歷史操作數(shù)據(jù)的合并結(jié)果。
      [0147]需要說明的,圖4所示的迭代式的合并過程僅僅是本發(fā)明實施例提供的一種歷史操作數(shù)據(jù)的合并方式,實際應(yīng)用中還可以通過非迭代的方式來實現(xiàn)歷史操作數(shù)據(jù)的合并,當(dāng)在后的歷史操作數(shù)據(jù)對應(yīng)的操作動作為“刪除”時,則直接刪除該歷史操作數(shù)據(jù)之前的歷史操作數(shù)據(jù),這里不作限制。
      [0148]步驟S313:打包各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)為同步數(shù)據(jù)。
      [0149]具體的,主服務(wù)器可按操作時間的先后順序組織各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)形成同步數(shù)據(jù)的數(shù)據(jù)包。
      [0150]步驟S315:發(fā)送同步數(shù)據(jù)至從服務(wù)器。
      [0151]具體的,具體實現(xiàn)方式可參見步驟S107中的內(nèi)容。
      [0152]參見圖5,是本發(fā)明的一種實施例提供的主服務(wù)器的結(jié)構(gòu)示意圖。如圖5所示的主服務(wù)器50可至少包括:同步請求接收模塊501、過濾模塊503、合并模塊505以及同步數(shù)據(jù)發(fā)送模塊507。其中:
      [0153]同步請求接收模塊501,用于接收從服務(wù)器的同步請求;同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間;
      [0154]過濾模塊503,用于根據(jù)所述同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到所述同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的第一歷史操作數(shù)據(jù);所述第一歷史操作數(shù)據(jù)為所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù);
      [0155]合并模塊505,用于按操作時間先后,將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù);所述第一時刻晚于所述第二時刻;
      [0156]同步數(shù)據(jù)發(fā)送模塊507,用于返回同步數(shù)據(jù)至從服務(wù)器。
      [0157]具體的,合并模塊505可具體按操作時間先后,從后往前以迭代的方式將所述第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)進(jìn)行合并來得到同步數(shù)據(jù)。
      [0158]進(jìn)一步的,具體實現(xiàn)中,過濾模塊503可如圖6所示包括第一過濾模塊5031和第二過濾模塊5033。其中:
      [0159]第一過濾模塊5031,用于根據(jù)所述參照時間在所述全部歷史操作數(shù)據(jù)中過濾出晚于所述參照時間的歷史操作數(shù)據(jù);
      [0160]第二過濾模塊5033,用于根據(jù)所述業(yè)務(wù)數(shù)據(jù)標(biāo)識在所述晚于所述參照時間的歷史操作數(shù)據(jù)中過濾出所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù)為所述第一歷史操作數(shù)據(jù)。
      [0161]更進(jìn)一步的,具體實現(xiàn)中,合并模塊505可如圖7所示包括:分類模塊5051、歷史操作合并模塊5053以及打包模塊5055。其中:
      [0162]分類模塊5051,用于將同步請求對應(yīng)的第一歷史操作數(shù)據(jù)按業(yè)務(wù)數(shù)據(jù)標(biāo)識分類;
      [0163]歷史操作合并模塊5053,用于按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù);打包模塊5055,用于打包各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)為同步數(shù)據(jù)。
      [0164]打包模塊5055可具體按操作時間的先后順序組織各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)形成同步數(shù)據(jù)的數(shù)據(jù)包。
      [0165]參見圖8,是本發(fā)明的另一種實施例提供的主服務(wù)器的結(jié)構(gòu)示意圖。進(jìn)一步的,更詳細(xì)的示出了主服務(wù)器50的結(jié)構(gòu),如圖8所示的主服務(wù)器50包括:同步請求接收模塊501、過濾模塊503、合并模塊505以及同步數(shù)據(jù)發(fā)送模塊507外,還可包括附件處理模塊509。其中:
      [0166]附件處理模塊509,用于在返回所述同步數(shù)據(jù)至從服務(wù)器之前,如果同步數(shù)據(jù)中包含附件信息時,則為該附件信息對應(yīng)的附件生成下載地址,并返回下載地址至從服務(wù)器。
      [0167]參見圖9,是本發(fā)明的第三種實施例提供的主服務(wù)器的結(jié)構(gòu)示意圖。進(jìn)一步的,更詳細(xì)的示出了主服務(wù)器50的結(jié)構(gòu),如圖9所示的主服務(wù)器50包括:同步請求接收模塊501、過濾模塊503、合并模塊505以及同步數(shù)據(jù)發(fā)送模塊507外,還可包括覆蓋模塊511。其中:
      [0168]覆蓋模塊511,用于在歷史操作合并模塊5053執(zhí)行所述按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)的步驟時,如果所述同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)與所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)相同的字段,則將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息。
      [0169]更進(jìn)一步,覆蓋模塊511還可如圖10所示包括:操作內(nèi)容覆蓋模塊5111和操作動作覆蓋模塊5113。其中:
      [0170]操作內(nèi)容覆蓋模塊5111,用于將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容;
      [0171]操作動作覆蓋模塊5113,用于將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作。
      [0172]參見圖11,是本發(fā)明的第四種實施例提供的主服務(wù)器的結(jié)構(gòu)示意圖。進(jìn)一步的,更詳細(xì)的示出了主服務(wù)器50的結(jié)構(gòu),如圖11所示的主服務(wù)器50包括:同步請求接收模塊501、過濾模塊503、合并模塊505、同步數(shù)據(jù)發(fā)送模塊507以及附件處理模塊509外,還可包括下載處理模塊513。其中:
      [0173]下載處理模塊513,用于在附件處理模塊509返回下載地址至從服務(wù)器的之后,接收從服務(wù)器的附件下載請求;發(fā)送下載地址對應(yīng)的附件至從服務(wù)器。
      [0174]參見圖12,是本發(fā)明一種實施例提供的從服務(wù)器的結(jié)構(gòu)示意圖。如圖12所示的從服務(wù)器60可至少包括:同步請求模塊601、同步數(shù)據(jù)接收模塊603以及更新模塊605。其中:
      [0175]同步請求模塊601,用于發(fā)送同步請求至主服務(wù)器;同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間;
      [0176]同步數(shù)據(jù)接收模塊603,用于接收主服務(wù)器發(fā)送的同步數(shù)據(jù);同步數(shù)據(jù)為晚于參照時間的業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的歷史操作數(shù)據(jù);
      [0177]更新模塊605,用于根據(jù)同步數(shù)據(jù)更新本地數(shù)據(jù)庫。
      [0178]進(jìn)一步的,更新模塊605可如圖13所示包括:業(yè)務(wù)數(shù)據(jù)定位模塊6051和業(yè)務(wù)數(shù)據(jù)更新模塊6053。其中:
      [0179]業(yè)務(wù)數(shù)據(jù)定位模塊6051,用于在本地數(shù)據(jù)庫找到同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù);
      [0180]業(yè)務(wù)數(shù)據(jù)更新模塊6053,用于根據(jù)同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作和歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容來更新歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
      [0181]更進(jìn)一步的,業(yè)務(wù)數(shù)據(jù)更新模塊6053可如圖14所示包括:第一更新模塊60531、第二更新模塊60533以及第三更新模塊60535。其中:
      [0182]第一更新模塊60531,用于如果同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為刪除動作,則將歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)刪除;或
      [0183]第二更新模塊60533,用于如果同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為添加動作,則將歷史操作數(shù)據(jù)對應(yīng)的字段添加到歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中;或
      [0184]第三更新模塊60535,用于如果同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為修改動作,則將歷史操作數(shù)據(jù)對應(yīng)的字段覆蓋歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中的字段。
      [0185]參見圖15,是本發(fā)明另一種實施例提供的從服務(wù)器的結(jié)構(gòu)示意圖。進(jìn)一步的,更詳細(xì)的闡述了從服務(wù)器60的結(jié)構(gòu),如圖15所示的從服務(wù)器60包括:同步請求模塊601、同步數(shù)據(jù)接收模塊603以及更新模塊605外,還可包括:記錄模塊607。其中:
      [0186]記錄模塊607,用于在更新模塊605根據(jù)同步數(shù)據(jù)更新本地數(shù)據(jù)庫之后,記錄更新完成的時間;該更新完成的時間用作下一個同步周期的參照時間。
      [0187]參見圖16,是本發(fā)明第三種實施例提供的從服務(wù)器的結(jié)構(gòu)示意圖。進(jìn)一步的,更詳細(xì)的闡述了從服務(wù)器60的結(jié)構(gòu),如圖16所示的從服務(wù)器60包括:同步請求模塊601、同步數(shù)據(jù)接收模塊603以及更新模塊605外,還可包括:下載模塊609。其中:
      [0188]下載模塊609,用于在同步數(shù)據(jù)接收模塊603接收主服務(wù)器發(fā)送的同步數(shù)據(jù)之后,如果同步數(shù)據(jù)中包含附件的下載地址,根據(jù)該下載地址發(fā)送下載請求至主服務(wù)器;從主服務(wù)器下載該下載地址對應(yīng)的附件。
      [0189]相應(yīng)的,本發(fā)明實施例還提供了實施上述方案的系統(tǒng),包括主服務(wù)器和從服務(wù)器,其中:
      [0190]該主服務(wù)器可為上述圖5至圖11任一個實施例中的主服務(wù)器50 ;
      [0191]該從服務(wù)器可為上述圖12至圖16任一個實施例中的從服務(wù)器60。
      [0192]綜上所述,通過實施本發(fā)明實施例,主服務(wù)器接收從服務(wù)器的同步請求,根據(jù)從服務(wù)器的同步請求過濾歷史操作數(shù)據(jù)來得到該同步請求對應(yīng)的歷史操作數(shù)據(jù),合并該同步請求對應(yīng)的歷史操作數(shù)據(jù)來得到從服務(wù)器的同步數(shù)據(jù),發(fā)送該同步數(shù)據(jù)至從服務(wù)器,可減少主服務(wù)器對從服務(wù)器的同步操作,可縮小同步操作時的數(shù)據(jù)傳輸量,從而提高同步效率,節(jié)約網(wǎng)絡(luò)資源。
      [0193]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random AccessMemory, RAM)等。
      [0194]以上所揭露的僅為本發(fā)明一種較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
      【權(quán)利要求】
      1.一種數(shù)據(jù)庫同步方法,其特征在于,包括: 接收從服務(wù)器的同步請求;所述同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間; 根據(jù)所述同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到所述同步請求對應(yīng)的第一歷史操作數(shù)據(jù);所述第一歷史操作數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù); 按操作時間先后,將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù);所述第一時刻晚于所述第二時刻; 返回所述同步數(shù)據(jù)至所述從服務(wù)器。
      2.如權(quán)利要求1所述的方法,其特征在于,所述按操作時間先后,將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù)包括:按操作時間先后,從后往前以迭代的方式將所述第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)進(jìn)行合并來得到同步數(shù)據(jù)。
      3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到所述同步請求對應(yīng)的第一歷史操作數(shù)據(jù)包括: 根據(jù)所述參照時間在所述全部歷史操作數(shù)據(jù)中過濾出晚于所述參照時間的歷史操作數(shù)據(jù); 根據(jù)所述業(yè)務(wù)數(shù)據(jù)標(biāo)識在所述晚于所述參照時間的歷史操作數(shù)據(jù)中過濾出所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù)為所述第一歷史操作數(shù)據(jù)。
      4.如權(quán)利要求1所述的方法,其特征在于,所述業(yè)務(wù)數(shù)據(jù)標(biāo)識包括多個子業(yè)務(wù)數(shù)據(jù)標(biāo)識;所述將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù)包括: 將所述第一歷史操作數(shù)據(jù)按所述子業(yè)務(wù)數(shù)據(jù)標(biāo)識分類; 按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù); 打包所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)為所述同步數(shù)據(jù)。
      5.如權(quán)利要求1所述的方法,其特征在于,在所述返回所述同步數(shù)據(jù)至所述從服務(wù)器之前,如果所述同步數(shù)據(jù)中包含附件信息時,則為所述附件信息對應(yīng)的附件生成下載地址,并返回所述下載地址至所述從服務(wù)器。
      6.如權(quán)利要求4所述的方法,其特征在于,在所述按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中時, 如果所述同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)與所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)相同的字段,則將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息。
      7.如權(quán)利要求4所述的方法,其特征在于,所述打包所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)為所述同步數(shù)據(jù)包括:按操作時間的先后順序組織所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)形成所述同步數(shù)據(jù)的數(shù)據(jù)包。
      8.如權(quán)利要求5所述的方法,其特征在于,在所述返回所述下載地址至所述從服務(wù)器之后,包括: 接收所述從服務(wù)器的附件下載請求; 發(fā)送所述下載地址對應(yīng)的附件至所述從服務(wù)器。
      9.如權(quán)利要求6所述的方法,其特征在于,所述歷史操作數(shù)據(jù)對應(yīng)的操作信息包括歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容和歷史操作數(shù)據(jù)對應(yīng)的操作動作;將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息包括: 將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容; 將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作。
      10.一種數(shù)據(jù)庫同步方法,其特征在于,包括: 發(fā)送同步請求至主服務(wù)器;所述同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間; 接收主服務(wù)器發(fā)送的同步數(shù)據(jù);所述同步數(shù)據(jù)為晚于所述參照時間的所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的歷史操作數(shù)據(jù); 根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫。
      11.如權(quán)利要求10所述的方法,其特征在于,所述根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫包括: 在所述本地數(shù)據(jù)庫找到所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù); 根據(jù)所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作和歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容來更新所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
      12.如權(quán)利要求10所述的方法,其特征在于,在所述根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫之后,記錄所述更新完成的時間;所述更新完成的時間用作下一個同步周期的參照時間。
      13.如權(quán)利要求10所述的方法,其特征在于,在所述接收主服務(wù)器發(fā)送的同步數(shù)據(jù)之后,如果所述同步數(shù)據(jù)中包含附件的下載地址,根據(jù)所述下載地址發(fā)送下載請求至所述主服務(wù)器;從所述主服務(wù)器下載所述下載地址對應(yīng)的附件。
      14.如權(quán)利要求11所述的方法,其特征在于,所述根據(jù)所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作和歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容來更新所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)包括: 如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為刪除動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)刪除;或 如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為添加動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的字段添加到所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中;或 如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為修改動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的字段覆蓋所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中的所述字段。
      15.一種數(shù)據(jù)庫同步的主服務(wù)器,其特征在于,包括: 同步請求接收模塊,用于接收從服務(wù)器的同步請求;所述同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間; 過濾模塊,用于根據(jù)所述同步請求過濾歷史操作數(shù)據(jù)庫中的全部歷史操作數(shù)據(jù),得到所述同步請求中的業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的第一歷史操作數(shù)據(jù);所述第一歷史操作數(shù)據(jù)為所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù); 合并模塊,用于按操作時間先后,將所述第一歷史操作數(shù)據(jù)中的第一時刻的歷史操作數(shù)據(jù)合并到所述第一歷史操作數(shù)據(jù)中的第二時刻的歷史操作數(shù)據(jù)來得到同步數(shù)據(jù);所述第一時刻晚于所述第二時刻; 同步數(shù)據(jù)發(fā)送模塊,用于返回所述同步數(shù)據(jù)至所述從服務(wù)器。
      16.如權(quán)利要求15所述的主服務(wù)器,其特征在于,所述合并模塊具體用于按操作時間先后,從后往前以迭代的方式將所述第一歷史操作數(shù)據(jù)中的歷史操作數(shù)據(jù)進(jìn)行合并來得到同步數(shù)據(jù)。
      17.如權(quán)利要求15所述的主服務(wù)器,其特征在于,所述過濾模塊包括: 第一過濾模塊,用于根據(jù)所述參照時間在所述全部歷史操作數(shù)據(jù)中過濾出晚于所述參照時間的歷史操作數(shù)據(jù); 第二過濾模塊,用于根據(jù)所述業(yè)務(wù)數(shù)據(jù)標(biāo)識在所述晚于所述參照時間的歷史操作數(shù)據(jù)中過濾出所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的晚于所述參照時間的歷史操作數(shù)據(jù)為所述第一歷史操作數(shù)據(jù)。
      18.如權(quán)利要求15所述的主服務(wù)器,其特征在于,所述業(yè)務(wù)數(shù)據(jù)標(biāo)識包括多個子業(yè)務(wù)數(shù)據(jù)標(biāo)識;所述合并模塊包括: 分類模塊,用于將所述第一歷史操作數(shù)據(jù)按所述子業(yè)務(wù)數(shù)據(jù)標(biāo)識分類; 歷史操作合并模塊,用于按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù); 打包模塊,用于打包所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)為所述同步數(shù)據(jù)。
      19.如權(quán)利要求15所述的主服務(wù)器,其特征在于,還包括附件處理模塊,用于在所述返回所述同步數(shù)據(jù)至所述從服務(wù)器之前,如果所述同步數(shù)據(jù)中包含附件信息時,則為所述附件信息對應(yīng)的附件生成下載地址,并返回所述下載地址至所述從服務(wù)器。
      20.如權(quán)利要求18所述的主服務(wù)器,其特征在于,還包括覆蓋模塊,用于在所述歷史操作合并模塊執(zhí)行所述按操作時間先后將同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)合并到所述同一類第一歷史操作數(shù)據(jù)中的所述第二時刻的歷史操作數(shù)據(jù)中來分別得到各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)的步驟時, 如果所述同一類第一歷史操作數(shù)據(jù)中的所述第一時刻的歷史操作數(shù)據(jù)與所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)相同的字段,則將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作信息。
      21.如權(quán)利要求18所述的主服務(wù)器,其特征在于,所述打包模塊具體用于按操作時間的先后順序組織所述各類第一歷史操作數(shù)據(jù)的最終數(shù)據(jù)形成所述同步數(shù)據(jù)的數(shù)據(jù)包。
      22.如權(quán)利要求19所述的主服務(wù)器,其特征在于,還包括下載處理模塊,用于在所述附件處理模塊執(zhí)行所述返回所述下載地址至所述從服務(wù)器的步驟之后,接收所述從服務(wù)器的附件下載請求;發(fā)送所述下載地址對應(yīng)的附件至所述從服務(wù)器。
      23.如權(quán)利要求20所述的主服務(wù)器,其特征在于,所述覆蓋模塊包括: 操作內(nèi)容覆蓋模塊,用于將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容; 操作動作覆蓋模塊,用于將所述第一時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作覆蓋所述第二時刻的歷史操作數(shù)據(jù)對應(yīng)的操作動作。
      24.一種數(shù)據(jù)庫同步的從服務(wù)器,其特征在于,包括: 同步請求模塊,用于發(fā)送同步請求至主服務(wù)器;所述同步請求包括業(yè)務(wù)數(shù)據(jù)標(biāo)識,參照時間; 同步數(shù)據(jù)接收模塊,用于接收主服務(wù)器發(fā)送的同步數(shù)據(jù);所述同步數(shù)據(jù)為晚于所述參照時間的所述業(yè)務(wù)數(shù)據(jù)標(biāo)識對應(yīng)的歷史操作數(shù)據(jù); 更新模塊,用于根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫。
      25.如權(quán)利要求24所述的從服務(wù)器,其特征在于,所述更新模塊包括: 業(yè)務(wù)數(shù)據(jù)定位模塊,用于在所述本地數(shù)據(jù)庫找到所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù); 業(yè)務(wù)數(shù)據(jù)更新模塊,用于根據(jù)所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作和歷史操作數(shù)據(jù)對應(yīng)的操作內(nèi)容來更新所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)。
      26.如權(quán)利要求24所述的從服務(wù)器,其特征在于,還包括:記錄模塊,用于在所述更新模塊執(zhí)行所述根據(jù)所述同步數(shù)據(jù)更新本地數(shù)據(jù)庫的步驟之后,記錄所述更新完成的時間;所述更新完成的時間用作下一個同步周期的參照時間。
      27.如權(quán)利要求24所述的從服務(wù)器,其特征在于,還包括下載模塊,用于在所述同步數(shù)據(jù)接收模塊執(zhí)行所述接收主服務(wù)器發(fā)送的同步數(shù)據(jù)的步驟之后,如果所述同步數(shù)據(jù)中包含附件的下載地址,根據(jù)所述下載地址發(fā)送下載請求至所述主服務(wù)器;從所述主服務(wù)器下載所述下載地址對應(yīng)的附件。
      28.如權(quán)利要求25所述的從服務(wù)器,其特征在于,所述業(yè)務(wù)數(shù)據(jù)更新模塊包括: 第一更新模塊,用于如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為刪除動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)刪除;或 第二更新模塊,用于如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為添加動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的字段添加到所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中;或第三更新模塊,用于如果所述同步數(shù)據(jù)中的歷史操作數(shù)據(jù)對應(yīng)的操作動作為修改動作,則將所述歷史操作數(shù)據(jù)對應(yīng)的字段覆蓋所述歷史操作數(shù)據(jù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)中的所述字段。
      29.一種數(shù)據(jù)庫同步的系統(tǒng),其特征在于,包括主服務(wù)器和從服務(wù)器,其中: 所述主服務(wù)器為權(quán)利要求15-23任一項所述的數(shù)據(jù)庫同步的主服務(wù)器; 所述從服務(wù)器為權(quán)利要求24-28任一項所述的數(shù)據(jù)庫同步的從服務(wù)器。
      【文檔編號】H04L29/08GK104270424SQ201410474391
      【公開日】2015年1月7日 申請日期:2014年9月17日 優(yōu)先權(quán)日:2014年9月17日
      【發(fā)明者】鄒強(qiáng) 申請人:深圳創(chuàng)維數(shù)字技術(shù)有限公司, 深圳市創(chuàng)維軟件有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1