多級云存儲同步控制方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種多級云存儲同步控制方法及系統(tǒng),該多級云存儲同步控制方法包括當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測,根據(jù)數(shù)據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步;根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測,當所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步。本發(fā)明實現(xiàn)了解決同一時間段內(nèi)同步請求過多而造成網(wǎng)絡擁堵的問題,能夠提高多級云存儲同步的效率。
【專利說明】多級云存儲同步控制方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及云存儲領域,尤其涉及一種多級云存儲同步控制方法及系統(tǒng)。
【背景技術】
[0002]隨著計算機技術的不斷革新,云存儲技術得到了迅猛發(fā)展。云存儲是在云計算概念上延伸和發(fā)展出來的一個新的概念,是指通過集群應用、網(wǎng)格技術或者分布式文件系統(tǒng)等功能,將網(wǎng)絡中大量各種不同類型的存儲設備通過應用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務訪問功能的一個系統(tǒng)。云存儲技術可以實現(xiàn)多個主機、前端存儲服務器以及后端存儲服務器等節(jié)點之間的數(shù)據(jù)同步,從而使得各主機及服務器上的數(shù)據(jù)保持最新、最完整。但是,當某一云存儲系統(tǒng)中,如果在一段時間內(nèi)其多個節(jié)點同時發(fā)起數(shù)據(jù)同步請求時,就容易造成網(wǎng)絡擁塞。
[0003]上述內(nèi)容僅用于輔助理解本發(fā)明的技術方案,并不代表承認上述內(nèi)容是現(xiàn)有技術。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種多級云存儲同步控制方法,旨在解決同一時間段內(nèi)同步請求過多而造成網(wǎng)絡擁堵的問題。
[0005]為實現(xiàn)上述目的,本發(fā)明提供的多級云存儲同步控制方法,所述方法包括:
[0006]當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;
[0007]按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測,根據(jù)數(shù)據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步;
[0008]根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測,當所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步。
[0009]優(yōu)選地,所述當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序的步驟包括:
[0010]當接收到多個請求節(jié)點發(fā)送的同步請求時,讀取所述請求節(jié)點的IP地址;
[0011]根據(jù)所述IP地址確認所述請求節(jié)點的類型,并根據(jù)節(jié)點的類型將所述請求節(jié)點進行分類;
[0012]按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;所述節(jié)點的類型包括服務器和主機,所述服務器的優(yōu)先級高于所述主機。
[0013]優(yōu)選地,所述按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測的步驟包括:
[0014]按照優(yōu)先級由高至低的順序,控制所述請求節(jié)點根據(jù)其內(nèi)部所有文件生成MD5校驗碼;
[0015]根據(jù)所述MD5校驗碼判斷所述請求節(jié)點中是否存在損壞文件,當所述請求節(jié)點中存在損壞文件時,判定所述請求節(jié)點的數(shù)據(jù)不完整。
[0016]優(yōu)選地,所述根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測的步驟包括:
[0017]對比所述請求節(jié)點與被請求節(jié)點的文件的元數(shù)據(jù)或者索引;
[0018]根據(jù)對比結果確認所述請求節(jié)點和/或被請求節(jié)點的文件是否為新增、刪除或者修改,若是,則判定所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異。
[0019]優(yōu)選地,所述當請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,對所述請求節(jié)點與被請求節(jié)點進行同步的步驟包括:
[0020]當所述文件為新增時,則將新增的所述文件添加至不存在該文件的請求節(jié)點或被請求節(jié)點中;
[0021]當所述文件為刪除時,則對應刪除所述請求節(jié)點或被請求節(jié)點中的所述文件;
[0022]當所述文件為修改時,則根據(jù)修改時間的先后順序,將在后修改的文件更新至在先修改的文件。
[0023]進一步地,為實現(xiàn)上述目的,本發(fā)明提供一種多級云存儲同步控制系統(tǒng),所述系統(tǒng)包括:
[0024]處理模塊,用于當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;
[0025]第一檢測模塊,用于按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測;
[0026]第一同步模塊,用于根據(jù)數(shù)據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步;
[0027]第二檢測模塊,用于根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測;
[0028]第二同步模塊,用于當所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步。
[0029]優(yōu)選地,所述處理模塊包括:
[0030]讀取單元,用于當接收到多個請求節(jié)點發(fā)送的同步請求時,讀取所述請求節(jié)點的IP地址;
[0031]分類單元,用于根據(jù)所述IP地址確認所述請求節(jié)點的類型,并根據(jù)節(jié)點的類型將所述請求節(jié)點進行分類;
[0032]排序單元,用于按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;所述節(jié)點的類型包括服務器和主機,所述服務器的優(yōu)先級高于所述主機。
[0033]優(yōu)選地,所述第一檢測模塊包括:
[0034]控制單元,按照優(yōu)先級由高至低的順序,控制所述請求節(jié)點根據(jù)其內(nèi)部所有文件生成MD5校驗碼;
[0035]第一判斷單元,用于根據(jù)所述MD5校驗碼判斷所述請求節(jié)點中是否存在損壞文件,當所述請求節(jié)點中存在損壞文件時,判定所述請求節(jié)點的數(shù)據(jù)不完整。
[0036]優(yōu)選地,所述第二檢測模塊包括:
[0037]比較單元,用于對比所述請求節(jié)點與被請求節(jié)點的文件的元數(shù)據(jù)或者索引;
[0038]第二判斷單元,用于根據(jù)對比結果確認所述請求節(jié)點和/或被請求節(jié)點的文件是否為新增、刪除或者修改,若是,則判定所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異。
[0039]優(yōu)選地,所述第二同步控制模塊包括:
[0040]第一同步單元,用于當所述文件為新增時,則將新增的所述文件添加至不存在該文件的請求節(jié)點或被請求節(jié)點中;
[0041]第二同步單元,用于當所述文件為刪除時,則對應刪除所述請求節(jié)點或被請求節(jié)點中的所述文件;
[0042]第三同步單元,用于當所述文件為修改時,則根據(jù)修改時間的先后順序,將在后修改的文件更新至在先修改的文件。
[0043]本發(fā)明通過將在同一時間段內(nèi)發(fā)起同步請求的多個節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序,然后按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測,以及根據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步,當請求節(jié)點的數(shù)據(jù)完整后,繼續(xù)對其進行數(shù)據(jù)差異檢測,并在所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步,從而實現(xiàn)了解決同一時間段內(nèi)同步請求過多而造成網(wǎng)絡擁堵的問題。
【專利附圖】
【附圖說明】
[0044]圖1為本發(fā)明多級云存儲同步控制方法一實施例的流程示意圖;
[0045]圖2為圖1中步驟SlO的一實施例流程示意圖;
[0046]圖3為圖1中步驟S20的一實施例流程示意圖;
[0047]圖4為圖1中步驟S30的一實施例流程示意圖;
[0048]圖5為圖1中步驟S40的一實施例流程示意圖;
[0049]圖6是使用本發(fā)明多級云存儲同步控制方法后各節(jié)點的優(yōu)先調(diào)度示意圖;
[0050]圖7為本發(fā)明多級云存儲同步控制系統(tǒng)一實施例的結構示意圖;
[0051]圖8為圖7中處理模塊一實施例的結構示意圖;
[0052]圖9為圖7中第一檢測模塊一實施例的結構示意圖;
[0053]圖10為圖7中第二檢測模塊一實施例的結構示意圖;
[0054]圖11為圖7中第二同步模塊一實施例的結構示意圖。
[0055]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0056]應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0057]本發(fā)明中,節(jié)點是指一臺電腦或者其他設備與一個有獨立地址和具有傳送或接收數(shù)據(jù)功能的網(wǎng)絡相連。節(jié)點可以是工作站、客戶、網(wǎng)絡用戶或個人計算機,還可以是服務器、打印機和其他網(wǎng)絡連接的設備,即每一個工作站、服務器、終端設備、網(wǎng)絡設備以及擁有自己唯一網(wǎng)絡地址的設備都是網(wǎng)絡節(jié)點,各個網(wǎng)絡節(jié)點可通過網(wǎng)卡獲得唯一的IP地址。
[0058]參照圖1,圖1為本發(fā)明多級云存儲同步控制方法一實施例的流程示意圖;如圖1所示,本實施例多級云存儲同步控制方法包括以下步驟:
[0059]步驟S10、當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;
[0060]每個節(jié)點都具有其對應的類型,通過識別節(jié)點的類型標示可以獲得節(jié)點的類型,本實施例中將所述節(jié)點類型劃分為服務器和主機。當節(jié)點為服務器時,則劃分至服務器類型,當節(jié)點為主機時,則劃分至主機類型。其中,每個節(jié)點中都預存有優(yōu)先級順序信息,使得在對發(fā)起請求的各節(jié)點進行分類后,可以將各節(jié)點按類型的優(yōu)先級順序進行排序,而排序時,將優(yōu)先級別高的類型排在前面,優(yōu)先級別低的類型排在后面,例如,預設服務器的優(yōu)先級高于主機時,則將是服務器類型的請求節(jié)點排在是主機類型的請求節(jié)點前面,即服務器中的請求節(jié)點優(yōu)先于主機中的請求節(jié)點。通過識別節(jié)點的類型,然后根據(jù)節(jié)點類型進行分類處理,以實現(xiàn)各請求節(jié)點分批依次處理,減少同步請求過多占用網(wǎng)絡資源。
[0061]步驟S20、按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測;
[0062]存儲在節(jié)點中的數(shù)據(jù)可能會發(fā)生損壞或者錯位,因此,需要對存儲在節(jié)點中的數(shù)據(jù)進行修復,本步驟中,根據(jù)已排好的優(yōu)先級順序,對順序在前的請求節(jié)點依次進行數(shù)據(jù)完整性檢測。檢測時,可以對比兩個節(jié)點中相同的某個文件,確認其是否存在缺損或者字節(jié)錯位等,以確認該節(jié)點內(nèi)的數(shù)據(jù)不完整。
[0063]步驟S30、根據(jù)數(shù)據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步;
[0064]本實施例具體是將同一類行中數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點中的相同文件進行數(shù)據(jù)同步,以保證這一類型中的各請求節(jié)點的數(shù)據(jù)相同??梢岳斫獾氖?,當節(jié)點類型為服務器和主機,且服務器優(yōu)先于主機時,則先實現(xiàn)服務器中的各請求節(jié)點先完成同步,然后在實現(xiàn)主機內(nèi)的各請求節(jié)點完成同步,最終實現(xiàn)各類型中的請求節(jié)點的數(shù)據(jù)的完整性。
[0065]可以理解的是,為防止請求節(jié)點內(nèi)的數(shù)據(jù)在同步一次之后還存在不完整的情況,在進一步地實施例中,可以設置在執(zhí)行完步驟S30之后,返回執(zhí)行所述步驟S20。S卩,對同步后的所述請求節(jié)點再次進行完整性檢測,以保證數(shù)據(jù)的完整、可靠。
[0066]步驟S40、根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測;
[0067]本步驟中,將同步后的所述請求節(jié)點中的文件與被請求節(jié)點進行比對,判斷請求節(jié)點以及被請求節(jié)點中數(shù)據(jù)是否存在差異,主要檢測請求節(jié)點和/或被請求節(jié)點中的文件是否存在新增、刪除或者修改。本實施例中,可以是請求節(jié)點以被請求節(jié)點為參照進行檢測,或者是被請求節(jié)點以請求節(jié)點為參照進行檢測,又或者是兩者之間相互參照檢測,即,既確認請求節(jié)點中的文件是否存在新增、刪除或者修改,又確認被請求節(jié)點中的文件是否存在新增、刪除或者修改,這樣在同步后就可保證被請求節(jié)點與請求節(jié)點中的數(shù)據(jù)都保持最新、最完整。
[0068]步驟S50、當所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步。
[0069]應當理解的是,本步驟中,請求節(jié)點與被請求節(jié)點可以是單向同步,也可以是雙向同步,其中,單向同步包括將請求節(jié)點上的數(shù)據(jù)同步至被請求節(jié)點,及將被請求節(jié)點上的數(shù)據(jù)同步至請求節(jié)點上;雙向同步是控制請求節(jié)點與被請求節(jié)點相互之間進行數(shù)據(jù)同步,使兩者中的數(shù)據(jù)都保持最新、最完整。
[0070]綜上,本發(fā)明方法通過將在同一時間段內(nèi)發(fā)起同步請求的多個節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序,然后按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測,以及根據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步,當請求節(jié)點的數(shù)據(jù)完整后,繼續(xù)對其進行數(shù)據(jù)差異檢測,并在所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步,從而實現(xiàn)了解決同一時間段內(nèi)同步請求過多而造成網(wǎng)絡擁堵的問題,并且保證了各節(jié)點數(shù)據(jù)在同步后準確,完整。
[0071]進一步地,參照圖2,圖2為圖1中步驟SlO的一實施例流程示意圖;
[0072]如圖2所示,其中步驟SlO具體包括以下步驟:
[0073]步驟S101、當接收到多個請求節(jié)點發(fā)送的同步請求時,讀取所述請求節(jié)點的IP地址;
[0074]步驟S102、根據(jù)所述IP地址確認所述請求節(jié)點的類型,并根據(jù)節(jié)點的類型將所述請求節(jié)點進行分類;
[0075]步驟S103、按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;
[0076]每一個節(jié)點都具有唯一的IP地址,根據(jù)其IP地址可以獲取該節(jié)點的類型,本實施例中,所述節(jié)點的類型包括服務器和主機,所述服務器的優(yōu)先級高于所述主機。其中,某一類型中包括多個節(jié)點時,各節(jié)點可按照網(wǎng)絡連接速度進行排序,對網(wǎng)絡連接速度較快的節(jié)點優(yōu)先處理。
[0077]進一步地,參照圖3,圖3為圖1中步驟S20的一實施例流程示意圖;
[0078]如圖3所示,其中步驟S20具體包括以下步驟:
[0079]步驟S201、按照優(yōu)先級由高至低的順序,控制所述請求節(jié)點根據(jù)其內(nèi)部所有文件生成MD5校驗碼;
[0080]步驟S202、根據(jù)所述MD5校驗碼判斷所述請求節(jié)點中是否存在損壞文件,當所述請求節(jié)點中存在損壞文件時,判定所述請求節(jié)點的數(shù)據(jù)不完整;
[0081]MD5是一種不可逆的字符串變換算法,通過控制請求節(jié)點根據(jù)其內(nèi)部所有文件生成對應的MD5校驗碼可以知道該節(jié)點內(nèi)的現(xiàn)有文件是否與原文件一致,從而判定出所述請求節(jié)點的數(shù)據(jù)是不是完整。
[0082]進一步地,參照圖4,圖4為圖1中步驟S30的一實施例流程示意圖;
[0083]如圖4所示,其中步驟S30具體包括以下步驟:
[0084]步驟S301、對比所述請求節(jié)點與被請求節(jié)點的文件的元數(shù)據(jù)或者索引;
[0085]步驟S302、根據(jù)對比結果確認所述請求節(jié)點和/或被請求節(jié)點的文件是否為新增、刪除或者修改,若是,則判定所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異。
[0086]本實施例中,將請求節(jié)點與被請求節(jié)點中相同的文件進行對比,若被請求節(jié)點內(nèi)的文件相較于請求節(jié)點內(nèi)的文件個數(shù)多,或者請求節(jié)點內(nèi)的文件相較于被請求節(jié)點內(nèi)的文件個數(shù)多,則判定所述文件為新增;若被請求節(jié)點內(nèi)的文件相較于請求節(jié)點內(nèi)的文件個數(shù)少,或者請求節(jié)點內(nèi)的文件相較于被請求節(jié)點內(nèi)的文件個數(shù)少,則判定所述文件為刪除;若被請求節(jié)點內(nèi)的文件與請求節(jié)點內(nèi)的文件個數(shù)一致,且被請求節(jié)點內(nèi)的文件及/或請求節(jié)點內(nèi)的文件存在修改時,則判定所述文件為修改。
[0087]進一步地,參照圖5,圖5為圖1中步驟S40的一實施例流程示意圖;
[0088]如圖5所示,其中步驟40具體包括以下步驟:
[0089]步驟S401、當所述文件為新增時,則將新增的所述文件添加至不存在該文件的請求節(jié)點或被請求節(jié)點中;
[0090]步驟S402、當所述文件為刪除時,則對應刪除所述請求節(jié)點或被請求節(jié)點中的所述文件;
[0091]步驟S403、當所述文件為修改時,則根據(jù)修改時間的先后順序,將在后修改的文件更新至在先修改的文件。
[0092]本實施例中,當檢測出被請求節(jié)點內(nèi)的文件相對于請求節(jié)點的文件為新增時,即被請求節(jié)點內(nèi)的文件個數(shù)比原來多,此時,多出來的文件將被更新到請求節(jié)點,即下載;當檢測出請求節(jié)點內(nèi)的文件相對于被請求節(jié)點的文件為新增時,即請求節(jié)點內(nèi)的文件個數(shù)比原來多,此時,多出來的文件將被更新到被請求節(jié)點,即上傳。
[0093]當檢測出被請求節(jié)點內(nèi)的文件相對于請求節(jié)點的文件為減少時,即被請求節(jié)點內(nèi)的文件個數(shù)比原來少,此時,被請求節(jié)點內(nèi)減少的文件將從請求節(jié)點中刪除。其中,請求節(jié)點接收需要刪除的文件,并在被請求節(jié)點中查找相應的文件,如果待刪文件存在,則刪除對應的文件、文件標簽以及文件的索引。當檢測出請求節(jié)點內(nèi)的文件相對于被請求節(jié)點的文件為減少時,即請求節(jié)點內(nèi)的文件個數(shù)比原來少,此時,請求節(jié)點內(nèi)減少的文件將從被請求節(jié)點中刪除。其中,被請求節(jié)點接收需要刪除的文件,并在請求節(jié)點中查找相應的文件,如果待刪文件存在,則刪除對應的文件、文件標簽以及文件的索引。
[0094]相對于請求節(jié)點以及被請求節(jié)點內(nèi)都存在的某個文件,假設為W,若檢測出請求節(jié)點以及被請求節(jié)點的文件W都存在修改時,則比較請求節(jié)點與被請求節(jié)點內(nèi)文件W被修改的時間的先后順序,若請求節(jié)點中的文件W相對于被請求節(jié)點中的文件W修改時間在先,而被請求節(jié)點中的文件W相對于請求節(jié)點中的文件W修改時間在后,則將被請求節(jié)點中的文件W更新至請求節(jié)點中的文件W,使請求節(jié)點中的文件W與被請求節(jié)點中的文件W —致。
[0095]需要說明的是,在請求節(jié)點與被請求節(jié)點之間進行數(shù)據(jù)同步時,在同步的兩端分別將文件劃分為固定大小M的塊,并計算出每個塊的校驗碼。其中,文件數(shù)據(jù)較新的一端將校驗碼發(fā)送到文件數(shù)據(jù)較舊的一端,即待同步端,待同步端通過搜索較舊文件中所有大小為M的塊來定位較新文件中帶有相同校驗碼的數(shù)據(jù)塊,然后向文件數(shù)據(jù)較新的一端發(fā)送更新較舊文件的請求,并開始同步。
[0096]參照圖6,圖6是使用本發(fā)明多級云存儲同步控制方法后各請求節(jié)點的優(yōu)先調(diào)度示意圖。
[0097]如圖6,當多個IP地址唯一的主機節(jié)點Rl、I^"Rn-l、Rn,同時向被請求節(jié)點SI發(fā)送同步請求時,假設某一請求節(jié)點(IP地址為m)Rl獲得較高優(yōu)先級,并進入緩沖隊列等待處理。此時,被請求節(jié)點SI通過解析請求節(jié)點發(fā)送的請求信息報文中的IP地址信息來查找并確定請求節(jié)點的類型,并根據(jù)預設的優(yōu)先級順序?qū)⒏髡埱蠊?jié)點進行排序。
[0098]排序后,各請求節(jié)點將對其內(nèi)部的所有目前存在的文件進行一次完整性校驗。其中,完整性校驗通過的請求節(jié)點,則進行數(shù)據(jù)差異檢驗。
[0099]數(shù)據(jù)差異檢驗發(fā)現(xiàn)請求節(jié)點Rl中已存在文件B、C、D,且在同步前增加了文件A ;被請求節(jié)點SI中已存在文件B和文件C,且在同步前減少了文件D,此時,同時存在于請求節(jié)點Rl與被請求節(jié)點SI中的文件B未發(fā)現(xiàn)數(shù)據(jù)差異,但檢測到文件C中存在數(shù)據(jù)差異,且請求節(jié)點Rl相較于被請求節(jié)點SI在后上傳文件C。
[0100]對于請求節(jié)點Rl中文件A采取新增同步策略,即將文件A上傳到被請求節(jié)點SI中
[0101]對于請求節(jié)點Rl中文件D采取刪除同步策略,即將文件D從被請求節(jié)點Rl上刪除。
[0102]對于文件B,由于請求節(jié)點Rl與被請求節(jié)點Rl中的文件B不存在數(shù)據(jù)差異,所以同步時越過此文件。
[0103]對于文件C,由于請求節(jié)點Rl上的C文件(CRl)相較于被請求節(jié)點SI上的C文件(CSl)在后修改,由于文件CRl與文件CSl互為相似文件,故將Rl上的C文件(CRl)其更新到SI上,其過程如下:
[0104]在請求節(jié)點Rl端將文件CRl分割成大小相等或不等的數(shù)據(jù)塊;
[0105]且在請求節(jié)點Rl端,對應每一個數(shù)據(jù)塊生成一個校驗碼,并記錄數(shù)據(jù)塊長度及該數(shù)據(jù)塊在在文件B中的偏移量。
[0106]然后,請求節(jié)點Rl將這些數(shù)據(jù)塊信息發(fā)送至被請求節(jié)點SI ;被請求節(jié)點SI端采用同樣的數(shù)據(jù)塊方式將文件CSl分割成大小相等或不等的數(shù)據(jù)塊,并與請求節(jié)點Rl發(fā)過來的數(shù)據(jù)信息進行搜索匹配,生成差異編碼信息,被請求節(jié)點SI將差異編碼信息發(fā)送給請求節(jié)點R1,并同時發(fā)送重構文件CSl的指令。至此,同步完成。
[0107]對應地,本發(fā)明還提供一種多級云存儲同步控制系統(tǒng),參照圖7,圖7為本發(fā)明多級云存儲同步控制系統(tǒng)一實施例的結構示意圖;如圖7所示,該系統(tǒng)包括處理模塊100、第一檢測模塊200、第一同步模塊300及第二檢測模塊400及第二同步模塊500 ;
[0108]其中,處理模塊100,用于當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;
[0109]每個節(jié)點都具有其對應的類型,通過識別節(jié)點的類型標示可以獲得節(jié)點的類型,本實施例中將所述節(jié)點類型劃分為服務器和主機。當節(jié)點為服務器時,則劃分至服務器類型,當節(jié)點為主機時,則劃分至主機類型。其中,每個節(jié)點中都預存有優(yōu)先級順序信息,使得在對發(fā)起請求的各節(jié)點進行分類后,可以將各節(jié)點按類型的優(yōu)先級順序進行排序,而排序時,將優(yōu)先級別高的類型排在前面,優(yōu)先級別低的類型排在后面,例如,預設服務器的優(yōu)先級高于主機時,則將是服務器類型的請求節(jié)點排在是主機類型的請求節(jié)點前面,即服務器中的請求節(jié)點優(yōu)先于主機中的請求節(jié)點。通過識別節(jié)點的類型,然后根據(jù)節(jié)點類型進行分類處理,以實現(xiàn)各請求節(jié)點分批依次處理,減少同步請求過多占用網(wǎng)絡資源。
[0110]第一檢測模塊200,用于按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測;存儲在節(jié)點中的數(shù)據(jù)可能會發(fā)生損壞或者錯位,因此,需要對存儲在節(jié)點中的數(shù)據(jù)進行修復,其中,根據(jù)已排好的優(yōu)先級順序,對順序在前的請求節(jié)點依次進行數(shù)據(jù)完整性檢測。檢測時,可以對比兩個節(jié)點中相同的某個文件,確認其是否存在缺損或者字節(jié)錯位等,以確認該節(jié)點內(nèi)的數(shù)據(jù)不完整。
[0111]第一同步模塊300,用于根據(jù)數(shù)據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步;本實施例具體是將同一類行中數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點中的相同文件進行數(shù)據(jù)同步,以保證這一類型中的各請求節(jié)點的數(shù)據(jù)相同??梢岳斫獾氖牵敼?jié)點類型為服務器和主機,且服務器優(yōu)先于主機時,則先實現(xiàn)服務器中的各請求節(jié)點先完成同步,然后在實現(xiàn)主機內(nèi)的各請求節(jié)點完成同步,最終實現(xiàn)各類型中的請求節(jié)點的數(shù)據(jù)的完整性。
[0112]第二檢測模塊400,用于根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測;將同步后的所述請求節(jié)點中的文件與被請求節(jié)點進行比對,判斷請求節(jié)點以及被請求節(jié)點中數(shù)據(jù)是否存在差異,主要檢測請求節(jié)點和/或被請求節(jié)點中的文件是否存在新增、刪除或者修改。本實施例中,可以是請求節(jié)點以被請求節(jié)點為參照進行檢測,或者是被請求節(jié)點以請求節(jié)點為參照進行檢測,又或者是兩者之間相互參照檢測,即,既確認請求節(jié)點中的文件是否存在新增、刪除或者修改,又確認被請求節(jié)點中的文件是否存在新增、刪除或者修改,這樣在同步后就可保證被請求節(jié)點與請求節(jié)點中的數(shù)據(jù)都保持最新、最完整。
[0113]第二同步模塊500,用于當所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步。
[0114]應當理解的是,請求節(jié)點與被請求節(jié)點可以是單向同步,也可以是雙向同步,其中,單向同步包括將請求節(jié)點上的數(shù)據(jù)同步至被請求節(jié)點,及將被請求節(jié)點上的數(shù)據(jù)同步至請求節(jié)點上;雙向同步是控制請求節(jié)點與被請求節(jié)點相互之間進行數(shù)據(jù)同步,使兩者中的數(shù)據(jù)都保持最新、最完整。
[0115]可以理解的是,為防止請求節(jié)點內(nèi)的數(shù)據(jù)在同步一次之后還存在不完整的情況,在進一步地實施例中,所述第一檢測模塊200還用于在第一同步模塊300控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步后,繼續(xù)對同步后的所述請求節(jié)點再次進行數(shù)據(jù)完整性檢測,以保證數(shù)據(jù)的完整、可靠。
[0116]綜上,本發(fā)明裝置通過處理模塊100將在同一時間段內(nèi)發(fā)起同步請求的多個節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序,然后通過第一檢測模塊200按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測,檢測完后由第一同步模塊300根據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步,當請求節(jié)點的數(shù)據(jù)完整后,再通過第二檢測模塊400繼續(xù)對其進行數(shù)據(jù)差異檢測,并在所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,由所述第二同步模塊500控制所述請求節(jié)點與被請求節(jié)點進行同步,從而實現(xiàn)了解決同一時間段內(nèi)同步請求過多而造成網(wǎng)絡擁堵的問題,并且保證了各節(jié)點數(shù)據(jù)在同步后準確,完整。
[0117]進一步地,參照圖8,圖8為圖7中處理模塊一實施例的結構示意圖;
[0118]如圖8所示,所述處理模塊100包括:
[0119]讀取單元101,用于當接收到多個請求節(jié)點發(fā)送的同步請求時,讀取所述請求節(jié)點的IP地址;
[0120]分類單元102,用于根據(jù)所述IP地址確認所述請求節(jié)點的類型,并根據(jù)節(jié)點的類型將所述請求節(jié)點進行分類;
[0121]排序單元103,用于按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;所述節(jié)點的類型包括服務器和主機,所述服務器的優(yōu)先級高于所述主機。
[0122]每一個節(jié)點都具有唯一的IP地址,根據(jù)其IP地址可以獲取該節(jié)點的類型,本實施例中,所述節(jié)點的類型包括服務器和主機,所述服務器的優(yōu)先級高于所述主機。其中,某一類型中包括多個節(jié)點時,各節(jié)點可按照網(wǎng)絡連接速度進行排序,對網(wǎng)絡連接速度較快的節(jié)點優(yōu)先處理。
[0123]進一步地,參照圖9,圖9為圖7中第一檢測模塊200 —實施例的結構示意圖;
[0124]如圖8所示,所述第一檢測模塊200包括:
[0125]控制單元201,按照優(yōu)先級由高至低的順序,控制所述請求節(jié)點根據(jù)其內(nèi)部所有文件生成MD5校驗碼;
[0126]第一判斷單元202,用于根據(jù)所述MD5校驗碼判斷所述請求節(jié)點中是否存在損壞文件,當所述請求節(jié)點中存在損壞文件時,判定所述請求節(jié)點的數(shù)據(jù)不完整。
[0127]MD5是一種不可逆的字符串變換算法,通過控制請求節(jié)點根據(jù)其內(nèi)部所有文件生成對應的MD5校驗碼可以知道該節(jié)點內(nèi)的現(xiàn)有文件是否與原文件一致,從而判定出所述請求節(jié)點的數(shù)據(jù)是不是完整。
[0128]進一步地,參照圖10,圖10為圖7中第二檢測模塊一實施例的結構示意圖;
[0129]如圖10所示,所述第二檢測模塊400包括:
[0130]比較單元401,用于對比所述請求節(jié)點與被請求節(jié)點的文件的元數(shù)據(jù)或者索引;
[0131]第二判斷單元402,用于根據(jù)對比結果確認所述請求節(jié)點和/或被請求節(jié)點的文件是否為新增、刪除或者修改,若是,則判定所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異。
[0132]本實施例中,將請求節(jié)點與被請求節(jié)點中相同的文件進行對比,若被請求節(jié)點內(nèi)的文件相較于請求節(jié)點內(nèi)的文件個數(shù)多,或者請求節(jié)點內(nèi)的文件相較于被請求節(jié)點內(nèi)的文件個數(shù)多,則判定所述文件為新增;若被請求節(jié)點內(nèi)的文件相較于請求節(jié)點內(nèi)的文件個數(shù)少,或者請求節(jié)點內(nèi)的文件相較于被請求節(jié)點內(nèi)的文件個數(shù)少,則判定所述文件為刪除;若被請求節(jié)點內(nèi)的文件與請求節(jié)點內(nèi)的文件個數(shù)一致,且被請求節(jié)點內(nèi)的文件及/或請求節(jié)點內(nèi)的文件存在修改時,則判定所述文件為修改。
[0133]進一步地,參照圖11,圖11為圖7中第二同步模塊一實施例的結構示意圖;
[0134]如圖10所示,本實施例中所述第二同步模塊500包括:
[0135]第一同步單元501,用于當所述文件為新增時,則將新增的所述文件添加至不存在該文件的請求節(jié)點或被請求節(jié)點中;
[0136]第二同步單元502,用于當所述文件為刪除時,則對應刪除所述請求節(jié)點或被請求節(jié)點中的所述文件;
[0137]第三同步單元503,用于當所述文件為修改時,則根據(jù)修改時間的先后順序,將在后修改的文件更新至在先修改的文件。
[0138]本實施例中,當檢測出被請求節(jié)點內(nèi)的文件相對于請求節(jié)點的文件為新增時,即被請求節(jié)點內(nèi)的文件個數(shù)比原來多,此時,多出來的文件將被更新到請求節(jié)點,即下載;當檢測出請求節(jié)點內(nèi)的文件相對于被請求節(jié)點的文件為新增時,即請求節(jié)點內(nèi)的文件個數(shù)比原來多,此時,多出來的文件將被更新到被請求節(jié)點,即上傳。
[0139]當檢測出被請求節(jié)點內(nèi)的文件相對于請求節(jié)點的文件為減少時,即被請求節(jié)點內(nèi)的文件個數(shù)比原來少,此時,被請求節(jié)點內(nèi)減少的文件將從請求節(jié)點中刪除。其中,請求節(jié)點接收需要刪除的文件,并在被請求節(jié)點中查找相應的文件,如果待刪文件存在,則刪除對應的文件、文件標簽以及文件的索引。當檢測出請求節(jié)點內(nèi)的文件相對于被請求節(jié)點的文件為減少時,即請求節(jié)點內(nèi)的文件個數(shù)比原來少,此時,請求節(jié)點內(nèi)減少的文件將從被請求節(jié)點中刪除。其中,被請求節(jié)點接收需要刪除的文件,并在請求節(jié)點中查找相應的文件,如果待刪文件存在,則刪除對應的文件、文件標簽以及文件的索引。
[0140]相對于請求節(jié)點以及被請求節(jié)點內(nèi)都存在的某個文件,假設為W,若檢測出請求節(jié)點以及被請求節(jié)點的文件W都存在修改時,則比較請求節(jié)點與被請求節(jié)點內(nèi)文件W被修改的時間的先后順序,若請求節(jié)點中的文件W相對于被請求節(jié)點中的文件W修改時間在先,而被請求節(jié)點中的文件W相對于請求節(jié)點中的文件W修改時間在后,則將被請求節(jié)點中的文件W更新至請求節(jié)點中的文件W,使請求節(jié)點中的文件W與被請求節(jié)點中的文件W —致。
[0141]需要說明的是,在請求節(jié)點與被請求節(jié)點之間進行數(shù)據(jù)同步時,在同步的兩端分別將文件劃分為固定大小M的塊,并計算出每個塊的校驗碼。其中,文件數(shù)據(jù)較新的一端將校驗碼發(fā)送到文件數(shù)據(jù)較舊的一端,即待同步端,待同步端通過搜索較舊文件中所有大小為M的塊來定位較新文件中帶有相同校驗碼的數(shù)據(jù)塊,然后向文件數(shù)據(jù)較新的一端發(fā)送更新較舊文件的請求,并開始同步。
[0142]參照圖6,圖6是使用本發(fā)明多級云存儲同步控制系統(tǒng)后各請求節(jié)點的優(yōu)先調(diào)度示意圖。
[0143]如圖6,當多個IP地址唯一的主機節(jié)點R1、R2…Rn-l、Rn,同時向被請求節(jié)點SI發(fā)送同步請求時,假設某一請求節(jié)點(IP地址為m)Rl獲得較高優(yōu)先級,并進入緩沖隊列等待處理。此時,被請求節(jié)點SI通過解析請求節(jié)點發(fā)送的請求信息報文中的IP地址信息來查找并確定請求節(jié)點的類型,并根據(jù)預設的優(yōu)先級順序?qū)⒏髡埱蠊?jié)點進行排序。
[0144]排序后,各請求節(jié)點將對其內(nèi)部的所有目前存在的文件進行一次完整性校驗。其中,完整性校驗通過的請求節(jié)點,則進行數(shù)據(jù)差異檢驗。
[0145]數(shù)據(jù)差異檢驗發(fā)現(xiàn)請求節(jié)點Rl中已存在文件B、C、D,且在同步前增加了文件A ;被請求節(jié)點SI中已存在文件B和文件C,且在同步前減少了文件D,此時,同時存在于請求節(jié)點Rl與被請求節(jié)點SI中的文件B未發(fā)現(xiàn)數(shù)據(jù)差異,但檢測到文件C中存在數(shù)據(jù)差異,且請求節(jié)點Rl相較于被請求節(jié)點SI在后上傳文件C。
[0146]對于請求節(jié)點Rl中文件A采取新增同步策略,即將文件A上傳到被請求節(jié)點SI中
[0147]對于請求節(jié)點Rl中文件D采取刪除同步策略,即將文件D從被請求節(jié)點Rl上刪除。
[0148]對于文件B,由于請求節(jié)點Rl與被請求節(jié)點Rl中的文件B不存在數(shù)據(jù)差異,所以同步時越過此文件。
[0149]對于文件C,由于請求節(jié)點Rl上的C文件(CRl)相較于被請求節(jié)點SI上的C文件(CSl)在后修改,由于文件CRl與文件CSl互為相似文件,故將Rl上的C文件(CRl)其更新到SI上,其過程如下:
[0150]在請求節(jié)點Rl端將文件CRl分割成大小相等或不等的數(shù)據(jù)塊;
[0151]且在請求節(jié)點Rl端,對應每一個數(shù)據(jù)塊生成一個校驗碼,并記錄數(shù)據(jù)塊長度及該數(shù)據(jù)塊在在文件B中的偏移量。
[0152]然后,請求節(jié)點Rl將這些數(shù)據(jù)塊信息發(fā)送至被請求節(jié)點SI ;被請求節(jié)點SI端采用同樣的數(shù)據(jù)塊方式將文件CSl分割成大小相等或不等的數(shù)據(jù)塊,并與請求節(jié)點Rl發(fā)過來的數(shù)據(jù)信息進行搜索匹配,生成差異編碼信息,被請求節(jié)點SI將差異編碼信息發(fā)送給請求節(jié)點R1,并同時發(fā)送重構文件CSl的指令。至此,同步完成。
[0153]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0154]以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【權利要求】
1.一種多級云存儲同步控制方法,其特征在于,包括: 當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序; 按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測,根據(jù)數(shù)據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步; 根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測,當所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步。
2.如權利要求1所述的多級云存儲同步控制方法,其特征在于,所述當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序的步驟包括: 當接收到多個請求節(jié)點發(fā)送的同步請求時,讀取所述請求節(jié)點的IP地址; 根據(jù)所述IP地址確認所述請求節(jié)點的類型,并根據(jù)節(jié)點的類型將所述請求節(jié)點進行分類; 按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;所述節(jié)點的類型包括服務器和主機,所述服務器的優(yōu)先級高于所述主機。
3.如權利要求2所述的多級云存儲同步控制方法,其特征在于,所述按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測的步驟包括: 按照優(yōu)先級由高至低的順序,控制所述請求節(jié)點根據(jù)其內(nèi)部所有文件生成MD5校驗碼; 根據(jù)所述MD5校驗碼判斷所述請求節(jié)點中是否存在損壞文件,當所述請求節(jié)點中存在損壞文件時,判定所述請求節(jié)點的數(shù)據(jù)不完整。
4.如權利要求3所述的多級云存儲同步控制方法,其特征在于,所述根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測的步驟包括: 對比所述請求節(jié)點與被請求節(jié)點的文件的元數(shù)據(jù)或者索引; 根據(jù)對比結果確認所述請求節(jié)點和/或被請求節(jié)點的文件是否為新增、刪除或者修改,若是,則判定所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異。
5.如權利要求4所述的多級云存儲同步控制方法,其特征在于,所述當請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,對所述請求節(jié)點與被請求節(jié)點進行同步的步驟包括: 當所述文件為新增時,則將新增的所述文件添加至不存在該文件的請求節(jié)點或被請求節(jié)點中; 當所述文件為刪除時,則對應刪除所述請求節(jié)點或被請求節(jié)點中的所述文件; 當所述文件為修改時,則根據(jù)修改時間的先后順序,將在后修改的文件更新至在先修改的文件。
6.一種多級云存儲同步控制系統(tǒng),其特征在于,包括: 處理模塊,用于當接收到多個請求節(jié)點發(fā)送的同步請求時,根據(jù)節(jié)點的類型將多個所述請求節(jié)點進行分類,并按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序; 第一檢測模塊,用于按照優(yōu)先級由高至低的順序?qū)λ稣埱蠊?jié)點進行數(shù)據(jù)完整性檢測; 第一同步模塊,用于根據(jù)數(shù)據(jù)完整性檢測結果控制數(shù)據(jù)不完整的請求節(jié)點與數(shù)據(jù)完整的請求節(jié)點進行數(shù)據(jù)同步; 第二檢測模塊,用于根據(jù)被請求節(jié)點對同步后的所述請求節(jié)點進行數(shù)據(jù)差異檢測;第二同步模塊,用于當所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異時,控制所述請求節(jié)點與被請求節(jié)點進行同步。
7.如權利要求6所述的多級云存儲同步控制系統(tǒng),其特征在于,所述處理模塊包括: 讀取單元,用于當接收到多個請求節(jié)點發(fā)送的同步請求時,讀取所述請求節(jié)點的IP地址; 分類單元,用于根據(jù)所述IP地址確認所述請求節(jié)點的類型,并根據(jù)節(jié)點的類型將所述請求節(jié)點進行分類; 排序單元,用于按照預設的優(yōu)先級順序?qū)⒎诸惡蟮恼埱蠊?jié)點進行排序;所述節(jié)點的類型包括服務器和主機,所述服務器的優(yōu)先級高于所述主機。
8.如權利要求7所述的多級云存儲同步控制系統(tǒng),其特征在于,所述第一檢測模塊包括: 控制單元,按照優(yōu)先級由高至低的順序,控制所述請求節(jié)點根據(jù)其內(nèi)部所有文件生成MD5校驗碼; 第一判斷單元,用于根據(jù)所述MD5校驗碼判斷所述請求節(jié)點中是否存在損壞文件,當所述請求節(jié)點中存在損壞文件時,判定所述請求節(jié)點的數(shù)據(jù)不完整。
9.如權利要求8所述的多級云存儲同步控制系統(tǒng),其特征在于,所述第二檢測模塊包括: 比較單元,用于對比所述請求節(jié)點與被請求節(jié)點的文件的元數(shù)據(jù)或者索引; 第二判斷單元,用于根據(jù)對比結果確認所述請求節(jié)點和/或被請求節(jié)點的文件是否為新增、刪除或者修改,若是,則判定所述請求節(jié)點與被請求節(jié)點的數(shù)據(jù)存在差異。
10.如權利要求9所述的多級云存儲同步控制系統(tǒng),其特征在于,所述第二同步控制模塊包括: 第一同步單元,用于當所述文件為新增時,則將新增的所述文件添加至不存在該文件的請求節(jié)點或被請求節(jié)點中; 第二同步單元,用于當所述文件為刪除時,則對應刪除所述請求節(jié)點或被請求節(jié)點中的所述文件; 第三同步單元,用于當所述文件為修改時,則根據(jù)修改時間的先后順序,將在后修改的文件更新至在先修改的文件。
【文檔編號】H04L29/08GK104079623SQ201410193621
【公開日】2014年10月1日 申請日期:2014年5月8日 優(yōu)先權日:2014年5月8日
【發(fā)明者】張勤 申請人:深圳市中博科創(chuàng)信息技術有限公司