国产精品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ù)同步的方法、系統(tǒng)及服務(wù)器的制造方法

      文檔序號(hào):7981440閱讀:261來(lái)源:國(guó)知局
      一種數(shù)據(jù)同步的方法、系統(tǒng)及服務(wù)器的制造方法
      【專利摘要】本發(fā)明適用于數(shù)據(jù)處理【技術(shù)領(lǐng)域】,提供了一種數(shù)據(jù)同步的方法、系統(tǒng)及服務(wù)器,所述方法包括:第二服務(wù)器向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息;第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表;第二服務(wù)器接收第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù);第一服務(wù)器在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。通過本發(fā)明可有效解決現(xiàn)有技術(shù)在進(jìn)行數(shù)據(jù)同步時(shí),存在的成本高、丟失數(shù)據(jù)過多或者停止服務(wù)時(shí)間較長(zhǎng)等問題。
      【專利說(shuō)明】一種數(shù)據(jù)同步的方法、系統(tǒng)及服務(wù)器
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于數(shù)據(jù)處理【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)同步的方法、系統(tǒng)即服務(wù)器。
      【背景技術(shù)】
      [0002]隨著信息技術(shù)的不斷發(fā)展,人們對(duì)數(shù)據(jù)穩(wěn)定性和安全性的要求也越來(lái)越高。很多 領(lǐng)域都通過采用主備服務(wù)器方式來(lái)保證數(shù)據(jù)的穩(wěn)定性和安全性,在主服務(wù)器發(fā)生故障時(shí), 及時(shí)的將備用服務(wù)器切換為主服務(wù)器,以保證信息系統(tǒng)安全、穩(wěn)定的運(yùn)作。
      [0003]要實(shí)現(xiàn)主備服務(wù)器的安全機(jī)制,必須保證主備服務(wù)器中數(shù)據(jù)的同步?,F(xiàn)有技術(shù)主 要采用以下方式實(shí)現(xiàn)主備服務(wù)器中數(shù)據(jù)的同步:
      [0004]方式一:基于共享的持久存儲(chǔ)。在這種方式下,由于數(shù)據(jù)是共享的,可以直接實(shí)現(xiàn) 同步,無(wú)需額外的同步過程。但這種方式需要依賴第三方昂貴的存儲(chǔ)設(shè)備,成本較高。
      [0005]方式二:周期性的同步前一時(shí)間段的數(shù)據(jù)。該方式通過預(yù)先設(shè)置同步周期,在達(dá)到 所設(shè)置的同步周期時(shí)間后,備用服務(wù)器獲取主服務(wù)器上該時(shí)間段內(nèi)的數(shù)據(jù),但由于備用服 務(wù)器在獲取主服務(wù)器內(nèi)數(shù)據(jù)的同時(shí),主服務(wù)器可能仍然在獲取新的數(shù)據(jù),導(dǎo)致備用服務(wù)器 無(wú)法獲取最新的數(shù)據(jù),在主備服務(wù)器切換時(shí)丟失較多的最新數(shù)據(jù)。
      [0006]方式三:暫停主備服務(wù)器的服務(wù),將主服務(wù)器中的全部數(shù)據(jù)備份到備用服務(wù)器后 再啟動(dòng)服務(wù)。這種方式雖然可以保證主備服務(wù)器的數(shù)據(jù)完全同步,但需要暫停較長(zhǎng)的服務(wù) 時(shí)間,例如二十分鐘以上,影響了數(shù)據(jù)的更新。
      [0007]綜上所述,現(xiàn)有技術(shù)在進(jìn)行數(shù)據(jù)同步時(shí),存在成本高、丟失數(shù)據(jù)或者停止服務(wù)時(shí)間 較長(zhǎng)等問題。

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

      [0008]本發(fā)明實(shí)施例的目的在于提供一種數(shù)據(jù)同步方法,以解決現(xiàn)有技術(shù)在進(jìn)行數(shù)據(jù)同 步時(shí),存在成本高、丟失數(shù)據(jù)較多或者停止服務(wù)時(shí)間較長(zhǎng)問題。
      [0009]本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種數(shù)據(jù)同步方法,所述方法包括:
      [0010]第二服務(wù)器向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息;
      [0011]所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向所述第二服務(wù)器發(fā)送待同 步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表;
      [0012]所述第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù) 器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù);
      [0013]所述第一服務(wù)器判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在所述剩余的待同 步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第 二服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      [0014]一種數(shù)據(jù)同步方法,所述方法包括:
      [0015]第一服務(wù)器接收第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息;
      [0016]第一服務(wù)器向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表,以使得所述第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā)送的 待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù);
      [0017]第一服務(wù)器判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在所述剩余的待同步數(shù) 據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第二服 務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      [0018]一種數(shù)據(jù)同步方法,所述方法包括:
      [0019]第二服務(wù)器向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息,以使得所述第一服務(wù)器在接收 到所述數(shù)據(jù)同步請(qǐng)求信息后,向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列 表;
      [0020]第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā) 送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù),并在剩余的待同步數(shù)據(jù) 的量小于預(yù)設(shè)值時(shí),接收所述第一服務(wù)器的寫請(qǐng)求,以實(shí)現(xiàn)第二服務(wù)器與所述第一服務(wù)器 數(shù)據(jù)的同步。
      [0021]本發(fā)明實(shí)施例的另一目的在于提供一種數(shù)據(jù)同步系統(tǒng),所述系統(tǒng)包括第一服務(wù)器 和第二服務(wù)器;
      [0022]所述第二服務(wù)器,用于向所述第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息,接收所述第一 服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一 服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù),并在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),接收所述第一 服務(wù)器的寫請(qǐng)求;
      [0023]所述第一服務(wù)器,用于在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向所述第二服務(wù)器發(fā) 送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表,判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在 所述剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服 務(wù)器,以實(shí)現(xiàn)第二服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      [0024]一種服務(wù)器,所述服務(wù)器包括:
      [0025]信息接收單元,用于接收第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息;
      [0026]第一信息發(fā)送單元,用于向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù) 列表,以使得所述第二服務(wù)器接收所述信息發(fā)送單元發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述信 息發(fā)送單元發(fā)送的待同步的數(shù)據(jù)列表從該服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù);
      [0027]同步單元,用于判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在所述剩余的待同 步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將該服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第二服務(wù) 器與該服務(wù)器數(shù)據(jù)的同步。
      [0028]一種服務(wù)器,所述服務(wù)器包括:
      [0029]第二信息發(fā)送單元,用于向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息,以使得所述第一 服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向該服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù) 據(jù)列表;
      [0030]信息接收單元,用于接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一 服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù),并在剩余的待 同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),接收所述第一服務(wù)器的寫請(qǐng)求,以實(shí)現(xiàn)該服務(wù)器與所述第一 服務(wù)器數(shù)據(jù)的同步。[0031]本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比存在的有益效果是:數(shù)據(jù)同步過程不需要依賴第三 方昂貴的存儲(chǔ)設(shè)備,節(jié)約了成本;預(yù)先設(shè)定有剩余的待同步數(shù)據(jù)的臨界值,在剩余的待同步 數(shù)據(jù)小于所述預(yù)設(shè)的臨界值時(shí),將第一服務(wù)器的寫請(qǐng)求同步到第二服務(wù)器,即第二服務(wù)器 和第一服務(wù)器同時(shí)接收寫請(qǐng)求,同時(shí)獲取最新的數(shù)據(jù),從而可有效避免現(xiàn)有周期性同步存 在的備份服務(wù)器無(wú)法獲取最新數(shù)據(jù)的問題,導(dǎo)致最新數(shù)據(jù)丟失過多的問題。而且由于預(yù)設(shè) 的臨界值較小,可以在暫停時(shí)間較小(幾十毫秒)或者完全不暫停的情況下完成數(shù)據(jù)同步, 從而不會(huì)影響數(shù)據(jù)的及時(shí)更新。另外,可以采用被動(dòng)接收和主動(dòng)獲取兩種方式中的任一種 來(lái)獲取待同步數(shù)據(jù),可操作性和實(shí)用性強(qiáng)。
      【專利附圖】

      【附圖說(shuō)明】
      [0032]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述 中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。
      [0033]圖1是本發(fā)明第一實(shí)施例提供的數(shù)據(jù)同步系統(tǒng)的網(wǎng)絡(luò)架構(gòu)圖;
      [0034]圖2是本發(fā)明第二實(shí)施例提供的數(shù)據(jù)同步方法的交互流程圖;
      [0035]圖3是本發(fā)明第三實(shí)施例提供的數(shù)據(jù)同步方法的交互流程圖;
      [0036]圖4是本發(fā)明第四實(shí)施例提供的數(shù)據(jù)同步方法的交互流程圖;
      [0037]圖5是本發(fā)明第五實(shí)施例提供的服務(wù)器的組成結(jié)構(gòu)圖;
      [0038]圖6是本發(fā)明第六實(shí)施例提供的服務(wù)器的組成結(jié)構(gòu)圖。
      【具體實(shí)施方式】
      [0039]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
      [0040]為了說(shuō)明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來(lái)進(jìn)行說(shuō)明。
      [0041]實(shí)施例一:
      [0042]圖1示出了本發(fā)明第一實(shí)施例提供的數(shù)據(jù)同步系統(tǒng)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例所 提供的數(shù)據(jù)同步方法可應(yīng)用于該數(shù)據(jù)同步系統(tǒng)系統(tǒng)中,為了便于說(shuō)明,僅示出了與本實(shí)施 例相關(guān)的部分。
      [0043]該數(shù)據(jù)同步系統(tǒng)包括第一服務(wù)器2和第二服務(wù)器3。其中,第一和第二服務(wù)器的形 式可以為一個(gè)單一的服務(wù)器,也可以為由幾個(gè)功能服務(wù)器共同組成的服務(wù)器端。其中所述 第一服務(wù)器2為存儲(chǔ)有最新、最全數(shù)據(jù)的服務(wù)器,所述第二服務(wù)器3為存儲(chǔ)的數(shù)據(jù)比所述第 一服務(wù)器2滯后的服務(wù)器,或者為新增加的未存儲(chǔ)數(shù)據(jù)的服務(wù)器。
      [0044]優(yōu)選的是,該數(shù)據(jù)同步系統(tǒng)還包括管理后臺(tái)1,
      [0045]所述管理后臺(tái)I在服務(wù)器啟動(dòng)后,獲取各服務(wù)器的狀態(tài)信息,并將所獲取的狀態(tài) 信息發(fā)送給各服務(wù)器。其中,所述狀態(tài)信息包括但不限于各服務(wù)器存儲(chǔ)的最新的數(shù)據(jù)序列 號(hào)以及各服務(wù)器的唯一標(biāo)示符,所述數(shù)據(jù)序列號(hào)與所述唯一標(biāo)示符存在映射關(guān)系。服務(wù)器 對(duì)每次數(shù)據(jù)的操作都會(huì)通過一個(gè)單調(diào)增長(zhǎng)的持久化的數(shù)據(jù)序列號(hào)來(lái)記錄,所述數(shù)據(jù)序列號(hào)可以表明服務(wù)器中存儲(chǔ)數(shù)據(jù)的新舊程度。
      [0046]各服務(wù)器接收到所述狀態(tài)信息后,通過比較所述狀態(tài)信息中各服務(wù)器的數(shù)據(jù)序列 號(hào)大小確定自己的狀態(tài),即確定自己是屬于第一服務(wù)器2 (數(shù)據(jù)序列號(hào)最大的服務(wù)器)還是 第二服務(wù)器3 (小于最大數(shù)據(jù)序列號(hào)的服務(wù)器)。在確定自己的狀態(tài)后,所述第二服務(wù)器3 根據(jù)所述數(shù)據(jù)序列號(hào)與所述唯一標(biāo)示符的映射關(guān)系,向?qū)?yīng)的第一服務(wù)器2發(fā)起數(shù)據(jù)同步 請(qǐng)求,所述述第一服務(wù)器2在接收到所述數(shù)據(jù)同步請(qǐng)求后,向所述第二服務(wù)器3發(fā)送待同步 的數(shù)據(jù)或者待同步的數(shù)據(jù)列表,所述第二服務(wù)器3接收所述第一服務(wù)器2發(fā)送的待同步數(shù) 據(jù),或者根據(jù)所述第一服務(wù)器2發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器2獲取相應(yīng)的 待同步數(shù)據(jù),所述第一服務(wù)器2判斷剩余的待同步數(shù)據(jù)(所述剩余的待同步數(shù)據(jù)指的是所 述待同步數(shù)據(jù)中剩余的數(shù)據(jù))的量是否小于預(yù)設(shè)值(通過數(shù)據(jù)序列號(hào)確定,例如當(dāng)前待同步 的數(shù)據(jù)的序列號(hào)為7,而最新的數(shù)據(jù)的序列號(hào)為10,則說(shuō)明剩余的數(shù)據(jù)的量為10-7=3),并 在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器2的寫請(qǐng)求同步到所述第二服 務(wù)器3以完成數(shù)據(jù)的同步。其中,所述寫請(qǐng)求包括數(shù)據(jù)的刪除、修改、添加等操作請(qǐng)求。
      [0047]需要說(shuō)明的是,各服務(wù)器并不局限于通過數(shù)據(jù)序列號(hào)大小確定自己的身份,也可 以通過數(shù)據(jù)存儲(chǔ)的時(shí)間信息等其他方式來(lái)確定自己的身份,在此不一一說(shuō)明。
      [0048]優(yōu)選的是,所述第一服務(wù)器2在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),可以暫停 寫請(qǐng)求,并在剩余的待同步數(shù)據(jù)全部發(fā)送給所述第二服務(wù)器3后或者所述剩余的待同步數(shù) 據(jù)全部被所述第二服務(wù)器3獲取后,重新開始接收寫請(qǐng)求,同時(shí)將所述第一服務(wù)器2的寫請(qǐng) 求同步到所述第二服務(wù)器3?;蛘?,
      [0049]直接在將所述剩余的待同步數(shù)據(jù)發(fā)送給所述第二服務(wù)器3的同時(shí)或者所述剩余 的待同步數(shù)據(jù)被所述第二服務(wù)器3獲取的同時(shí),將所述第一服務(wù)器2的寫請(qǐng)求同步到所述 第二服務(wù)器3。
      [0050]優(yōu)選的是,所述第一服務(wù)器2在接收到所述數(shù)據(jù)同步請(qǐng)求信息后還包括:
      [0051]所述第一服務(wù)器2將所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器3的信息存儲(chǔ)至預(yù) 設(shè)的信息表,所述信息包括但不限服務(wù)器的唯一標(biāo)示符以及對(duì)應(yīng)的數(shù)據(jù)序列號(hào)。
      [0052]所述第一服務(wù)器2周期性的檢測(cè)所述信息表,在所述請(qǐng)求信息表中存在多個(gè)第二 服務(wù)器3發(fā)送的數(shù)據(jù)同步請(qǐng)求信息時(shí),根據(jù)預(yù)設(shè)的選擇條件從所述多個(gè)第二服務(wù)器3中選 擇一個(gè)服務(wù)器用于數(shù)據(jù)同步。
      [0053]其中,所述預(yù)設(shè)的選擇條件包括但不限于所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù) 器3中待同步數(shù)據(jù)最少和/或歷史數(shù)據(jù)同步過程中出錯(cuò)次數(shù)最少的第二服務(wù)器3。需要說(shuō) 明的是,第一服務(wù)器可以根據(jù)服務(wù)器中最新的數(shù)據(jù)序列號(hào)判斷需要待同步的數(shù)據(jù)。第一服 務(wù)器可以根據(jù)預(yù)存的歷史數(shù)據(jù)同步記錄判斷第二服務(wù)器歷史數(shù)據(jù)同步過程中出錯(cuò)的次數(shù)。
      [0054]優(yōu)選的是,所述第一服務(wù)器2還設(shè)定有數(shù)據(jù)同步時(shí)間,在數(shù)據(jù)同步的時(shí)間大于預(yù) 設(shè)時(shí)間值時(shí),結(jié)束當(dāng)前的數(shù)據(jù)同步過程。優(yōu)選的是,所述服務(wù)器身份還包括第三服務(wù)器4,所 述第三服務(wù)器4為所述第一服務(wù)器2的備用服務(wù)器,所述第三服務(wù)器4中也存儲(chǔ)有最新、最 全的數(shù)據(jù)。
      [0055]所述管理后臺(tái)I還用于,在所述第二服務(wù)器3完成數(shù)據(jù)同步后,更新所述第二服務(wù) 器3的狀態(tài)信息,即將所述第二服務(wù)器3的狀態(tài)更新為所述第三服務(wù)器4。
      [0056]優(yōu)選的是,本實(shí)施例中的所述數(shù)據(jù)包括但不限于元數(shù)據(jù)。在所述數(shù)據(jù)為元數(shù)據(jù)時(shí),所述第一服務(wù)器2用于向所述第二服務(wù)器3發(fā)送待同步的操作日志和/或待同步的合并后 的元數(shù)據(jù)。其中,合并元數(shù)據(jù)的目的是為了減少服務(wù)器的內(nèi)存占用,并加速數(shù)據(jù)的發(fā)送、接 收以及加載到內(nèi)存中的速度。
      [0057]實(shí)施例二:
      [0058]圖2示出了本發(fā)明第二實(shí)施例提供的數(shù)據(jù)同步方法的交互流程,應(yīng)用于多個(gè)互聯(lián) 的服務(wù)器,所述服務(wù)器中存儲(chǔ)有用于確定各服務(wù)器狀態(tài)的狀態(tài)信息,所述服務(wù)器身份包括 第一服務(wù)器和第二服務(wù)器,其過程詳述如下:
      [0059]1、所述第二服務(wù)器向所述第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息。
      [0060]在本實(shí)施例中,所述狀態(tài)信息包括但不限于各服務(wù)器存儲(chǔ)的最新的數(shù)據(jù)序列號(hào)以 及各服務(wù)器的唯一標(biāo)示符,所述數(shù)據(jù)序列號(hào)與所述唯一標(biāo)示符存在映射關(guān)系,服務(wù)器通過 比較所述數(shù)據(jù)序列號(hào)大小確定自己的狀態(tài),在確定其狀態(tài)為第二服務(wù)器后根據(jù)所述數(shù)據(jù)序 列號(hào)與所述唯一標(biāo)示符的映射關(guān)系,自動(dòng)向?qū)?yīng)的所述第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信 息。其中所述第一服務(wù)器為存儲(chǔ)有最新、最全數(shù)據(jù)的服務(wù)器,所述第二服務(wù)器為存儲(chǔ)的數(shù)據(jù) 比所述第一服務(wù)器滯后的服務(wù)器,或者為新增加的未存儲(chǔ)數(shù)據(jù)的服務(wù)器。
      [0061]2、所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向所述第二服務(wù)器發(fā)送待 同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表。
      [0062]優(yōu)選的是,為了保證數(shù)據(jù)同步的效率,所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng) 求信息后還包括:
      [0063]所述第一服務(wù)器將所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器的信息存儲(chǔ)至預(yù)設(shè) 的信息表;
      [0064]所述第一服務(wù)器周期性的檢測(cè)所述信息表,在所述請(qǐng)求信息表中存在多個(gè)第二服 務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息時(shí),根據(jù)預(yù)設(shè)的選擇條件從所述多個(gè)第二服務(wù)器中選擇一個(gè) 服務(wù)器用于數(shù)據(jù)同步。
      [0065]其中,所述預(yù)設(shè)的選擇條件包括但不限于所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù) 器中待同步數(shù)據(jù)最少和/或歷史數(shù)據(jù)同步過程中出錯(cuò)次數(shù)最少的第二服務(wù)器。
      [0066]在本實(shí)施例中,所述第一服務(wù)器可以根據(jù)所述狀態(tài)信息中第二服務(wù)器最新的數(shù)據(jù) 序列號(hào)確定所述第二服務(wù)器需要的待同步數(shù)據(jù),并將所述待同步數(shù)據(jù)或者待同步的數(shù)據(jù)列 表發(fā)送給所述第二服務(wù)器。
      [0067]3、第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器 發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù)。
      [0068]本實(shí)施例可以采用被動(dòng)接收和主動(dòng)獲取兩種方式中的任一方式獲取待同步數(shù)據(jù), 增強(qiáng)可操作性和實(shí)用性。
      [0069]4、判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,若是,執(zhí)行步驟5,否則繼續(xù)向所 述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者接收第二服務(wù)器獲取待同步的數(shù)據(jù)。
      [0070]5、在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所 述第二服務(wù)器。
      [0071]為了減少服務(wù)器暫停的時(shí)間以及保證第一服務(wù)器和第二服務(wù)器同時(shí)獲取最新的 數(shù)據(jù),避免第一服務(wù)器和第二服務(wù)器切換時(shí)丟失最新的數(shù)據(jù),本實(shí)施例預(yù)先設(shè)定有剩余的 待同步數(shù)據(jù)的量的臨界值,在剩余的待同步數(shù)據(jù)的量小于所述臨界值時(shí),選擇以下任一種同步對(duì)齊方式:
      [0072]方式一:第一服務(wù)器暫停寫請(qǐng)求,在剩余的待同步數(shù)據(jù)全部發(fā)送給所述第二服務(wù) 器后或者所述剩余的待同步數(shù)據(jù)全部被所述第二服務(wù)器獲取后,重新開始接收寫請(qǐng)求,同 時(shí)將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。由于設(shè)置的臨界值較小,該方式只 需要暫停幾十毫秒就可以達(dá)到第一服務(wù)器和第二服務(wù)器數(shù)據(jù)的同步。
      [0073]為了不影響數(shù)據(jù)的及時(shí)更新,避免暫停時(shí)間過長(zhǎng),本實(shí)施例可以預(yù)先設(shè)定暫停時(shí) 間閾值,在第一服務(wù)器暫停寫請(qǐng)求的時(shí)間超過所述暫停時(shí)間閾值時(shí),說(shuō)明在數(shù)據(jù)同步過程 中可能出錯(cuò)(例如網(wǎng)絡(luò)中斷等),結(jié)束當(dāng)前的數(shù)據(jù)同步過程,以便第一服務(wù)器選擇其他發(fā)送 數(shù)據(jù)同步請(qǐng)求的服務(wù)器重新進(jìn)行數(shù)據(jù)同步,或者第二服務(wù)器重新向其他存儲(chǔ)有最新、最全 數(shù)據(jù)的服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求。
      [0074]方式二:第一服務(wù)器在發(fā)送所述剩余的待同步數(shù)據(jù)的同時(shí)或者所述剩余的待同步 數(shù)據(jù)被所述第二服務(wù)器獲取的同時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。 該方式可以在不需要服務(wù)器暫停服務(wù)的情況下完成數(shù)據(jù)同步。
      [0075]優(yōu)選的是,為了避免數(shù)據(jù)同步過程中服務(wù)器由于出錯(cuò)長(zhǎng)時(shí)間無(wú)響應(yīng),本實(shí)施例還 包括:
      [0076]所述第一服務(wù)器預(yù)先設(shè)定有整個(gè)數(shù)據(jù)同步的時(shí)間,在數(shù)據(jù)同步的時(shí)間大于所述預(yù) 設(shè)時(shí)間值時(shí),結(jié)束當(dāng)前的數(shù)據(jù)同步過程。所述數(shù)據(jù)同步時(shí)間包括整個(gè)數(shù)據(jù)同步過程的時(shí)間 和/或同步對(duì)齊過程的時(shí)間,所述數(shù)據(jù)同步時(shí)間可根據(jù)實(shí)際情況(例如服務(wù)器的性能、待同 步數(shù)據(jù)的多少)進(jìn)行修改。
      [0077]需要說(shuō)明的是,當(dāng)所述第一服務(wù)器采用方式二進(jìn)行同步對(duì)齊時(shí),第二服務(wù)器在接 收或者獲取所述剩余的待同步數(shù)據(jù)的同時(shí),先將接收到的新的寫請(qǐng)求數(shù)據(jù)暫存至內(nèi)存(第 二服務(wù)器新的寫請(qǐng)求的數(shù)據(jù)序列號(hào)與第一服務(wù)器新的寫請(qǐng)求的數(shù)據(jù)序列號(hào)相同),直到所 述剩余的待同步數(shù)據(jù)全部接收或者獲取后,將所述剩余的待同步數(shù)據(jù)以及所述接收的新的 寫請(qǐng)求數(shù)據(jù)按數(shù)據(jù)序列號(hào)的順序一起轉(zhuǎn)存至磁盤。
      [0078]為了減少傳輸出錯(cuò)造成的損失,本實(shí)施例采用斷點(diǎn)續(xù)傳的方式傳輸數(shù)據(jù),并記錄 傳輸?shù)倪M(jìn)度。
      [0079]優(yōu)選的是,本實(shí)施例所述服務(wù)器狀態(tài)還包括第三服務(wù)器。在所述第二服務(wù)器完成 數(shù)據(jù)同步后,更新所述第二服務(wù)器的狀態(tài)信息,即將所述第二服務(wù)器的狀態(tài)更新為所述第 三服務(wù)器。其中,所述第三服務(wù)器為所述第一服務(wù)器的備用服務(wù)器,所述第三服務(wù)器中也存 儲(chǔ)有最新、最全的數(shù)據(jù)。
      [0080]優(yōu)選的是,本實(shí)施例所述的數(shù)據(jù)包括但不限于元數(shù)據(jù),在所述數(shù)據(jù)為元數(shù)據(jù)時(shí),所 述第一服務(wù)器用于向所述第二服務(wù)器發(fā)送待同步的操作日志(MutationLog文件)和/或待 同步的合并后的元數(shù)據(jù)(Checkpoint文件)。其中,合并元數(shù)據(jù)的目的是為了減少服務(wù)器的 內(nèi)存占用,并加速數(shù)據(jù)的發(fā)送、接收以及加載到內(nèi)存中的速度。
      [0081]本發(fā)明實(shí)施例在數(shù)據(jù)同步過程不需要依賴第三方昂貴的存儲(chǔ)設(shè)備,節(jié)約了成本, 減少了依賴;各服務(wù)器中存儲(chǔ)有確定服務(wù)器的狀態(tài)信息,使得各服務(wù)器可以根據(jù)所述狀態(tài) 信息確定自己的狀態(tài)后自動(dòng)發(fā)起數(shù)據(jù)同步請(qǐng)求,獲取最新的數(shù)據(jù),整個(gè)過程不需要人工的 參與,保證了數(shù)據(jù)同步的效率以及及時(shí)性;另外,預(yù)先設(shè)定有剩余的待同步數(shù)據(jù)的臨界值, 在剩余的待同步數(shù)據(jù)小于所述預(yù)設(shè)的臨界值時(shí)進(jìn)行同步對(duì)齊,將第一服務(wù)器的寫請(qǐng)求同步到第二服務(wù)器,即第二服務(wù)器和第一服務(wù)器同時(shí)接收寫請(qǐng)求,同時(shí)獲取最新的數(shù)據(jù),從而可 有效避免現(xiàn)有周期性同步存在的備份服務(wù)器無(wú)法獲取最新數(shù)據(jù)的問題。而且采用多種方式 實(shí)現(xiàn)同步對(duì)齊,可以在暫停時(shí)間較小(幾十毫秒)或者完全不暫停的情況下完成數(shù)據(jù)同步, 從而不會(huì)影響數(shù)據(jù)的及時(shí)更新。采用被動(dòng)接收和主動(dòng)獲取兩種方式中的任一方式獲取待同 步數(shù)據(jù),增強(qiáng)了可操作性和實(shí)用性。
      [0082]實(shí)施例三:
      [0083]圖3示出了本發(fā)明第三實(shí)施例提供的數(shù)據(jù)同步方法的實(shí)現(xiàn)流程,本實(shí)施例流程的 執(zhí)行主體為圖1所述數(shù)據(jù)同步系統(tǒng)中的第一服務(wù)器,其實(shí)現(xiàn)流程詳述如下:
      [0084]在步驟S301中,第一服務(wù)器接收第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息;
      [0085]在步驟S302中,第一服務(wù)器向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的 數(shù)據(jù)列表,以使得所述第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述 第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù);
      [0086]在步驟S303中,第一服務(wù)器判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,若是, 執(zhí)行步驟S304,否則返回執(zhí)行S302。
      [0087]在步驟S304中,將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第二 服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      [0088]優(yōu)選的是,本實(shí)施例在剩余的待同步數(shù)據(jù)小于所述臨界值時(shí),可以選擇以下任一 種同步對(duì)齊方式:
      [0089]方式一:第一服務(wù)器暫停寫請(qǐng)求,并在所述剩余的待同步數(shù)據(jù)全部發(fā)送給所述第 二服務(wù)器后或者所述剩余的待同步數(shù)據(jù)全部被所述第二服務(wù)器獲取后,重新開始接收寫請(qǐng) 求,同時(shí)將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。由于設(shè)置的臨界值較小,該方 式只需要暫停幾十毫秒就可以達(dá)到第一服務(wù)器和第二服務(wù)器數(shù)據(jù)的完全同步,所述完全同 步是指第二服務(wù)器和第一服務(wù)器存儲(chǔ)的有相同的數(shù)據(jù)。
      [0090]方式二:第一服務(wù)器在發(fā)送所述剩余的待同步數(shù)據(jù)的同時(shí)或者所述剩余的待同步 數(shù)據(jù)被所述第二服務(wù)器獲取的同時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。 該方式可以在不需要服務(wù)器暫停服務(wù)的情況下完成數(shù)據(jù)的完全同步。
      [0091]優(yōu)選的是,為了保證數(shù)據(jù)同步的效率,本實(shí)施例在接收到所述數(shù)據(jù)同步請(qǐng)求信息 后還包括:
      [0092]所述第一服務(wù)器將所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器3的信息存儲(chǔ)至預(yù) 設(shè)的信息表;
      [0093]所述第一服務(wù)器周期性的檢測(cè)所述信息表,在所述請(qǐng)求信息表中存在多個(gè)第二服 務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息時(shí),根據(jù)預(yù)設(shè)的選擇條件從所述多個(gè)第二服務(wù)器中選擇一個(gè) 服務(wù)器用于數(shù)據(jù)同步。
      [0094]其中,所述預(yù)設(shè)的選擇條件包括但不限于所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù) 器中待同步數(shù)據(jù)最少和/或歷史數(shù)據(jù)同步過程中出錯(cuò)次數(shù)最少的第二服務(wù)器。
      [0095]優(yōu)選的是,為了避免數(shù)據(jù)同步過程中服務(wù)器由于出錯(cuò)長(zhǎng)時(shí)間無(wú)響應(yīng),本實(shí)施例還 包括以下步驟:
      [0096]所述第一服務(wù)器預(yù)先設(shè)定有整個(gè)數(shù)據(jù)同步的時(shí)間,在數(shù)據(jù)同步的時(shí)間大于所述預(yù) 設(shè)時(shí)間值時(shí),結(jié)束當(dāng)前的數(shù)據(jù)同步過程。[0097]優(yōu)選的是,本實(shí)施例所述的數(shù)據(jù)包括但不限于元數(shù)據(jù),在所述數(shù)據(jù)為元數(shù)據(jù)時(shí),所 述第一服務(wù)器用于向所述第二服務(wù)器發(fā)送待同步的操作日志(MutationLog文件)和/或待 同步的合并后的元數(shù)據(jù)(Checkpoint文件)。其中,合并元數(shù)據(jù)的目的是為了減少服務(wù)器的 內(nèi)存占用,并加速數(shù)據(jù)的發(fā)送、接收以及加載到內(nèi)存中的速度。
      [0098]本實(shí)施例中各步驟的具體實(shí)施過程可以參見上述第二實(shí)施例中與第一服務(wù)器相 關(guān)的描述,在此不再贅述。
      [0099]實(shí)施例四:
      [0100]圖4示出了本發(fā)明第四實(shí)施例提供的數(shù)據(jù)同步方法的實(shí)現(xiàn)流程,本實(shí)施例流程的 執(zhí)行主體為圖1所述數(shù)據(jù)同步系統(tǒng)中的第二服務(wù)器,其實(shí)現(xiàn)流程詳述如下:
      [0101]在步驟S401中,第二服務(wù)器向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息,以使得所述第 一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待 同步的數(shù)據(jù)列表;
      [0102]在步驟S402中,第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所 述第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù),并在剩 余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),接收所述第一服務(wù)器的寫請(qǐng)求,以實(shí)現(xiàn)第二服務(wù)器與 所述第一服務(wù)器數(shù)據(jù)的同步。
      [0103]在本實(shí)施例中,所述數(shù)據(jù)可以為元數(shù)據(jù)。
      [0104]本實(shí)施例中各步驟的具體實(shí)施過程可以參見上述第二實(shí)施例中與第二服務(wù)器相 關(guān)的描述,在此不再贅述。
      [0105]實(shí)施例五:
      [0106]圖5示出了本發(fā)明實(shí)施例五的服務(wù)器的組成結(jié)構(gòu),為了便于說(shuō)明,僅示出了與本 發(fā)明實(shí)施例相關(guān)的部分。
      [0107]該服務(wù)器2可應(yīng)用于如圖1所示的數(shù)據(jù)同步系統(tǒng)中,該服務(wù)器2為存儲(chǔ)有最新、最 全數(shù)據(jù)的服務(wù)器,該服務(wù)器2包括信息接收單元21、第一信息發(fā)送單元22和同步單元23, 各單元的具體功能如下:
      [0108]信息接收單元21,用于接收第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息;
      [0109]第一信息發(fā)送單元22,用于向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù) 據(jù)列表,以使得所述第二服務(wù)器接收所述信息發(fā)送單元發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述 信息發(fā)送單元發(fā)送的待同步的數(shù)據(jù)列表從該服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù);
      [0110]同步單元23,用于判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在所述剩余的待 同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將該服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第二服 務(wù)器與該服務(wù)器數(shù)據(jù)的同步。
      [0111]優(yōu)選的是,所述同步單元23具體用于,在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí), 暫停寫請(qǐng)求,并在剩余的待同步數(shù)據(jù)全部發(fā)送給所述第二服務(wù)器后或者所述剩余的待同步 數(shù)據(jù)全部被所述第二服務(wù)器獲取后,重新開始接收寫請(qǐng)求,同時(shí)將該服務(wù)器的寫請(qǐng)求同步 到所述第二服務(wù)器。或者,
      [0112]在發(fā)送所述剩余的待同步數(shù)據(jù)的同時(shí)或者所述剩余的待同步數(shù)據(jù)被所述第二服 務(wù)器獲取的同時(shí),將該服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      [0113]優(yōu)選的是,所述服務(wù)器2還包括:[0114]存儲(chǔ)單元24,用于將所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器的信息存儲(chǔ)至預(yù)設(shè)的信息表;
      [0115]選擇單元25,用于周期性的檢測(cè)所述存儲(chǔ)單元24存儲(chǔ)的信息表,在所述請(qǐng)求信息表中存在多個(gè)第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息時(shí),根據(jù)預(yù)設(shè)的選擇條件從所述多個(gè)第二服務(wù)器中選擇一個(gè)服務(wù)器用于數(shù)據(jù)同步。
      [0116]其中,所述預(yù)設(shè)的選擇條件包括但不限于所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器中待同步數(shù)據(jù)最少和/或歷史數(shù)據(jù)同步過程中出錯(cuò)次數(shù)最少的第二服務(wù)器。
      [0117]優(yōu)選的是,所述服務(wù)器2還包括:
      [0118]控制單元26,用于設(shè)定數(shù)據(jù)同步時(shí)間,在數(shù)據(jù)同步的時(shí)間大于預(yù)設(shè)時(shí)間值時(shí),結(jié)束當(dāng)前的數(shù)據(jù)同步過程。
      [0119]本實(shí)施例中的所述數(shù)據(jù)包括但不限于元數(shù)據(jù)。在所述數(shù)據(jù)為元數(shù)據(jù)時(shí),所述同步單元23具體用于,向所述第二服務(wù)器發(fā)送待同步的操作日志和/或待同步的合并后的元數(shù)據(jù)。
      [0120]本實(shí)施例提供的服務(wù)器可以使用在前述對(duì)應(yīng)的數(shù)據(jù)同步方法,詳情參見上述數(shù)據(jù)同步方法實(shí)施例二和三的相關(guān)描述,在此不再贅述。
      [0121]實(shí)施例六:
      [0122]圖6示出了本發(fā)明實(shí)施例六的服務(wù)器的組成結(jié)構(gòu),為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。
      [0123]該服務(wù)器3可應(yīng)用于如圖1所示的數(shù)據(jù)同步系統(tǒng)中,該服務(wù)器3為數(shù)據(jù)滯后的服務(wù)器,或者為新增加的未存儲(chǔ)數(shù)據(jù)的服務(wù)器,該服務(wù)器3包括信息發(fā)送單元31和信息接收單元32,各單元的具體功能如下:
      [0124]第二信息發(fā)送單元31,用于向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息,以使得所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向該服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表;
      [0125]信息接收單元32,用于接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù),并在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),接收所述第一服務(wù)器的寫請(qǐng)求,以實(shí)現(xiàn)該服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      [0126]在本實(shí)施例中,所述數(shù)據(jù)包括但不限于元數(shù)據(jù)。
      [0127]本實(shí)施例提供的服務(wù)器可以使用在前述對(duì)應(yīng)的數(shù)據(jù)同步方法,詳情參見上述數(shù)據(jù)同步方法實(shí)施例二和四的相關(guān)描述,在此不再贅述。
      [0128]本領(lǐng)域技術(shù)人員可以理解為上述實(shí)施例五和六所述服務(wù)器包括的各個(gè)單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。
      [0129]綜上所述,本發(fā)明實(shí)施例在數(shù)據(jù)同步過程不需要依賴第三方昂貴的存儲(chǔ)設(shè)備,節(jié)約了成本,減少了依賴;各服務(wù)器中存儲(chǔ)有確定服務(wù)器的狀態(tài)信息,使得各服務(wù)器可以根據(jù)所述狀態(tài)信息確定自己的狀態(tài)后自動(dòng)發(fā)起數(shù)據(jù)同步請(qǐng)求,讓滯后數(shù)據(jù)的服務(wù)器自動(dòng)、及時(shí)的獲取最新的數(shù)據(jù),整個(gè)過程不需要人工的參與,保證了數(shù)據(jù)同步的效率以及及時(shí)性?’另外,預(yù)先設(shè)定有剩余的待同步數(shù)據(jù)的臨界值,在剩余的待同步數(shù)據(jù)小于所述預(yù)設(shè)的臨界值時(shí)進(jìn)行同步對(duì)齊,將第一服務(wù)器的寫請(qǐng)求同步到第二服務(wù)器,即第二服務(wù)器和第一服務(wù)器 同時(shí)接收寫請(qǐng)求,同時(shí)獲取最新的數(shù)據(jù),從而可有效避免現(xiàn)有周期性同步存在的備份服務(wù) 器無(wú)法獲取最新數(shù)據(jù)的問題。而且采用多種方式實(shí)現(xiàn)同步對(duì)齊,可以在暫停時(shí)間較小(幾 十毫秒)或者完全不暫停的情況下完成數(shù)據(jù)同步,從而不會(huì)影響數(shù)據(jù)的及時(shí)更新。另外,可 以采用被動(dòng)接收和主動(dòng)獲取兩種方式中的任一方式來(lái)獲取待同步數(shù)據(jù),可操作性和實(shí)用性 強(qiáng)。
      [0130]本領(lǐng)域普通技術(shù)人員還可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可 以通過程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以在存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì) 中,所述的存儲(chǔ)介質(zhì),包括R0M/RAM、磁盤、光盤等。
      [0131]以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定 本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在 不脫離本發(fā)明構(gòu)思的前提下做出若干等同替代或明顯變型,而且性能或用途相同,都應(yīng)當(dāng) 視為屬于本發(fā)明由所提交的權(quán)利要求書確定的專利保護(hù)范圍。
      【權(quán)利要求】
      1.一種數(shù)據(jù)同步方法,其特征在于,所述方法包括: 第二服務(wù)器向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息; 所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表; 所述第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù); 所述第一服務(wù)器判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在所述剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第二服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      2.如權(quán)利要求1所述的方法,其特征在于,所述第一服務(wù)器將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器包括: 所述第一服務(wù)器暫停寫請(qǐng)求,并在所述剩余的待同步數(shù)據(jù)全部發(fā)送給所述第二服務(wù)器后或者所述剩余的待同步數(shù)據(jù)全部被所述第二服務(wù)器獲取后,接收寫請(qǐng)求,同時(shí)將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      3.如權(quán)利要求1所述的方法,其特征在于,所述第一服務(wù)器將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器包括: 所述第一服務(wù)器在發(fā)送所述剩余的待同步數(shù)據(jù)的同時(shí)或者所述剩余的待同步數(shù)據(jù)被所述第二服務(wù)器獲取的同時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      4.如權(quán)利要求1所述的方法,其特征在于,所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后還包括: 所述第一服務(wù)器將所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器的信息存儲(chǔ)至預(yù)設(shè)的信息表; 所述第一服務(wù)器周期性的檢測(cè)所述信息表,在所述請(qǐng)求信息表中存在多個(gè)第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息時(shí),根據(jù)預(yù)設(shè)的選擇條件從所述多個(gè)第二服務(wù)器中選擇一個(gè)服務(wù)器用于數(shù)據(jù)同步。
      5.如權(quán)利要求4所述的方法,其特征在于,所述預(yù)設(shè)的選擇條件包括所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器中待同步數(shù)據(jù)最少和/或歷史數(shù)據(jù)同步過程中出錯(cuò)次數(shù)最少的第二服務(wù)器。
      6.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述第一服務(wù)器設(shè)定有數(shù)據(jù)同步時(shí)間,在數(shù)據(jù)同步的時(shí)間大于所設(shè)定的時(shí)間時(shí),結(jié)束當(dāng)前的數(shù)據(jù)同步過程。
      7.如權(quán)利要求1所述的方法,其特征在于,所述第一服務(wù)器和第二服務(wù)器中存儲(chǔ)有用于確定各服務(wù)器的狀態(tài)信息,所述狀態(tài)信息中包括各服務(wù)器存儲(chǔ)的最新的數(shù)據(jù)序列號(hào)以及各服務(wù)器的唯一標(biāo)示符,所述數(shù)據(jù)序列號(hào)與所述唯一標(biāo)示符存在映射關(guān)系,以使得各服務(wù)器通過比較所述狀態(tài)信息中各服務(wù)器的數(shù)據(jù)序列號(hào)大小確定自己的狀態(tài)。
      8.如權(quán)利要求1-7任一項(xiàng)所述的方法,其特征在于,所述數(shù)據(jù)為元數(shù)據(jù); 所述第一服務(wù)器向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)包括: 所述第一服務(wù)器向所述第二服務(wù)器發(fā)送待同步的操作日志和/或待同步的合并后的元數(shù)據(jù)。
      9.一種數(shù)據(jù)同步方法,其特征在于,所述方法包括:第一服務(wù)器接收第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息;第一服務(wù)器向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表,以使得所述第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù);第一服務(wù)器判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在所述剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第二服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      10.如權(quán)利要求9所述的方法,其特征在于,所述將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器包括:所述第一服務(wù)器暫停寫請(qǐng)求,并在所述剩余的待同步數(shù)據(jù)全部發(fā)送給所述第二服務(wù)器后或者所述剩余的待同步數(shù)據(jù)全部被所述第二服務(wù)器獲取后,接收寫請(qǐng)求,同時(shí)將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      11.如權(quán)利要求9所述的方法,其特征在于,所述將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器包括:所述第一服務(wù)器在發(fā)送所述剩余的待同步數(shù)據(jù)的同時(shí)或者所述剩余的待同步數(shù)據(jù)被所述第二服務(wù)器獲取的同時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      12.如權(quán)利要求9所述的方法,其特征在于,所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后還包括:所述第一服務(wù)器將所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器的信息存儲(chǔ)至預(yù)設(shè)的信息表;所述第一服務(wù)器周期性的檢測(cè)所述信息表,在所述請(qǐng)求信息表中存在多個(gè)第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息時(shí),根據(jù)預(yù)設(shè)的選擇條件從所述多個(gè)第二服務(wù)器中選擇一個(gè)服務(wù)器用于數(shù)據(jù)同步。
      13.如權(quán)利要求12所述的方法,其特征在于,所述預(yù)設(shè)的選擇條件包括所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器中待同步數(shù)據(jù)最少和/或歷史數(shù)據(jù)同步過程中出錯(cuò)次數(shù)最少的第二服務(wù)器。
      14.如權(quán)利要求9所述的方法,其特征在于,所述方法還包括:所述第一服務(wù)器設(shè)定數(shù)據(jù)同步時(shí)間,在數(shù)據(jù)同步的時(shí)間大于預(yù)設(shè)時(shí)間值時(shí),結(jié)束當(dāng)前的數(shù)據(jù)同步過程。
      15.如權(quán)利要求9-14任一項(xiàng)所述的方法,其特征在于,所述數(shù)據(jù)為元數(shù)據(jù);所述第一服務(wù)器向所述第二服務(wù)器發(fā)送待同步 的數(shù)據(jù)包括:所述第一服務(wù)器向所述第二服務(wù)器發(fā)送待同步的操作日志和/或待同步的合并后的元數(shù)據(jù)。
      16.一種數(shù)據(jù)同步方法,其特征在于,所述方法包括:第二服務(wù)器向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息,以使得所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表;第二服務(wù)器接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù),并在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),接收所述第一服務(wù)器的寫請(qǐng)求,以實(shí)現(xiàn)第二服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      17.如權(quán)利要求16所述的方法,其特征在于,所述數(shù)據(jù)為元數(shù)據(jù)。
      18.一種數(shù)據(jù)同步系統(tǒng),其特征在于,所述系統(tǒng)包括: 第一服務(wù)器和第二服務(wù)器; 所述第二服務(wù)器,用于向所述第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息,接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù),并在剩余的待同步數(shù)據(jù)小于預(yù)設(shè)值時(shí),接收所述第一服務(wù)器的寫請(qǐng)求; 所述第一服務(wù)器,用于在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表,判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在所述剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第二服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述第一服務(wù)器具體用于,在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),暫停寫請(qǐng)求,并在剩余的待同步數(shù)據(jù)全部發(fā)送給所述第二服務(wù)器后或者所述剩余的待同步數(shù)據(jù)全部被所述第二服務(wù)器獲取后,接收寫請(qǐng)求,同時(shí)將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      20.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述第一服務(wù)器具體用于,在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將所述剩余的待同步數(shù)據(jù)發(fā)送給所述第二服務(wù)器的同時(shí)或者所述剩余的待同步數(shù)據(jù)被所述第二服務(wù)器獲取的同時(shí),將所述第一服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      21.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述第一服務(wù)器還用于,將所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器的信息存儲(chǔ)至預(yù)設(shè)的信息表,周期性的檢測(cè)所述信息表,在所述請(qǐng)求信息表中存在多個(gè)第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息時(shí),根據(jù)預(yù)設(shè)的選擇條件從所述多個(gè)第二服務(wù)器中選擇一個(gè)服務(wù)器用于數(shù)據(jù)同步。
      22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述預(yù)設(shè)的選擇條件包括所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器中待同步數(shù)據(jù)最少和/或歷史數(shù)據(jù)同步過程中出錯(cuò)次數(shù)最少的第二服務(wù)器。
      23.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述第一服務(wù)器還設(shè)定有數(shù)據(jù)同步時(shí)間,用于在數(shù)據(jù)同步的時(shí)間大于所設(shè)定的時(shí)間時(shí),結(jié)束當(dāng)前的數(shù)據(jù)同步過程。
      24.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 管理后臺(tái),用于獲取各服務(wù)器的狀態(tài)信息,并將所獲取的狀態(tài)信息分別發(fā)送給各服務(wù)器,以使得各服務(wù)器根據(jù)所述狀態(tài)信息確定各服務(wù)器的狀態(tài)后發(fā)起數(shù)據(jù)同步請(qǐng)求,所述服務(wù)器狀態(tài)包括第一服務(wù)器和第二服務(wù)器,所述狀態(tài)信息中包括各服務(wù)器存儲(chǔ)的最新的數(shù)據(jù)序列號(hào)以及各服務(wù)器的唯一標(biāo)示符,所述數(shù)據(jù)序列號(hào)與所述唯一標(biāo)示符存在映射關(guān)系,以使得各服務(wù)器通過比較所述狀態(tài)信息中各服務(wù)器的數(shù)據(jù)序列號(hào)大小確定自己的狀態(tài)。
      25.如權(quán)利要求24所述的系統(tǒng), 其特征在于,所述服務(wù)器的狀態(tài)還包括第三服務(wù)器; 所述管理后臺(tái)還用于,在所述第二服務(wù)器完成數(shù)據(jù)同步后,更新所述第二服務(wù)器的狀態(tài)信息,即將所述第二服務(wù)器的狀態(tài)更新為所述第三服務(wù)器。
      26.如權(quán)利要求18-25任一項(xiàng)所述的系統(tǒng),其特征在于,所述數(shù)據(jù)為元數(shù)據(jù);所述第一服務(wù)器用于向所述第二服務(wù)器發(fā)送待同步的操作日志和/或待同步的合并后的元數(shù)據(jù)。
      27.一種服務(wù)器,其特征在于,所述服務(wù)器包括:信息接收單元,用于接收第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息;第一信息發(fā)送單元,用于向所述第二服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表,以使得所述第二服務(wù)器接收所述信息發(fā)送單元發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述信息發(fā)送單元發(fā)送的待同步的數(shù)據(jù)列表從該服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù);同步單元,用于判斷剩余的待同步數(shù)據(jù)的量是否小于預(yù)設(shè)值,在所述剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),將該服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器,以實(shí)現(xiàn)第二服務(wù)器與該服務(wù)器數(shù)據(jù)的同步。
      28.如權(quán)利要求27所述的服務(wù)器,其特征在于,所述同步單元具體用于,暫停寫請(qǐng)求, 并在剩余的待同步數(shù)據(jù)全部發(fā)送給所述第二服務(wù)器后或者所述剩余的待同步數(shù)據(jù)全部被所述第二服務(wù)器獲取后,接收寫請(qǐng)求,同時(shí)將該服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      29.如權(quán)利要求27所述的服務(wù)器,其特征在于,所述同步單元具體用于,在發(fā)送所述剩余的待同步數(shù)據(jù)的同時(shí)或者所述剩余的待同步數(shù)據(jù)被所述第二服務(wù)器獲取的同時(shí),將該服務(wù)器的寫請(qǐng)求同步到所述第二服務(wù)器。
      30.如權(quán)利要求27所述的服務(wù)器,其特征在于,所述服務(wù)器還包括:存儲(chǔ)單元,用于將所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器的信息存儲(chǔ)至預(yù)設(shè)的信息表;選擇單元,用于周期性的檢測(cè)所述存儲(chǔ)單元存儲(chǔ)的信息表,在所述請(qǐng)求信息表中存在多個(gè)第二服務(wù)器發(fā)送的數(shù)據(jù)同步請(qǐng)求信息時(shí),根據(jù)預(yù)設(shè)的選擇條件從所述多個(gè)第二服務(wù)器中選擇一個(gè)服務(wù)器用于數(shù)據(jù)同步?!?br> 31.如權(quán)利要求30所述的服務(wù)器,其特征在于,所述預(yù)設(shè)的選擇條件包括所述發(fā)送數(shù)據(jù)同步請(qǐng)求信息的第二服務(wù)器中待同步數(shù)據(jù)最少和/或歷史數(shù)據(jù)同步過程中出錯(cuò)次數(shù)最少的第二服務(wù)器。
      32.如權(quán)利要求27所述的服務(wù)器,其特征在于,所述服務(wù)器還包括:控制單元,用于設(shè)定數(shù)據(jù)同步時(shí)間,在數(shù)據(jù)同步的時(shí)間大于預(yù)設(shè)時(shí)間值時(shí),結(jié)束當(dāng)前的數(shù)據(jù)同步過程。
      33.如權(quán)利要求27-32任一項(xiàng)所述的服務(wù)器,其特征在于,所述數(shù)據(jù)為元數(shù)據(jù);所述同步單元具體用于,向所述第二服務(wù)器發(fā)送待同步的操作日志和/或待同步的合并后的元數(shù)據(jù)。
      34.一種服務(wù)器,其特征在于,所述服務(wù)器包括:第二信息發(fā)送單元,用于向第一服務(wù)器發(fā)送數(shù)據(jù)同步請(qǐng)求信息,以使得所述第一服務(wù)器在接收到所述數(shù)據(jù)同步請(qǐng)求信息后,向該服務(wù)器發(fā)送待同步的數(shù)據(jù)或者待同步的數(shù)據(jù)列表;信息接收單元,用于接收所述第一服務(wù)器發(fā)送的待同步數(shù)據(jù),或者根據(jù)所述第一服務(wù)器發(fā)送的待同步的數(shù)據(jù)列表從所述第一服務(wù)器獲取相應(yīng)的待同步數(shù)據(jù),并在剩余的待同步數(shù)據(jù)的量小于預(yù)設(shè)值時(shí),接收所述第一服務(wù)器的寫請(qǐng)求,以實(shí)現(xiàn)該服務(wù)器與所述第一服務(wù)器數(shù)據(jù)的同步。
      35.如權(quán)利要求 34所述的服務(wù)器,其特征在于,所述數(shù)據(jù)為元數(shù)據(jù)。
      【文檔編號(hào)】H04L12/24GK103580891SQ201210264187
      【公開日】2014年2月12日 申請(qǐng)日期:2012年7月27日 優(yōu)先權(quán)日:2012年7月27日
      【發(fā)明者】鄒永強(qiáng), 李銳, 伍海君, 朱會(huì)燦, 鄧大付, 葉航軍, 董乘宇, 闕太富, 王磊, 楊紹鵬, 張書鑫, 趙大勇, 劉暢, 陳曉東, 張銀鋒 申請(qǐng)人:騰訊科技(深圳)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1