數(shù)據(jù)同步方法、裝置以及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供的一種數(shù)據(jù)同步方法、裝置以及系統(tǒng),涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),本發(fā)明實(shí)施例提供的數(shù)據(jù)同步方法,備份數(shù)據(jù)端在檢測(cè)到主機(jī)數(shù)據(jù)端的目標(biāo)數(shù)據(jù)被修改以后,并不是直接就將備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)進(jìn)行同步,而是再次對(duì)比目標(biāo)數(shù)據(jù)與備份數(shù)據(jù),以確認(rèn)主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)的修改,得到確認(rèn)以后,再將備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)進(jìn)行同步。采用這樣的數(shù)據(jù)同步方法,能有效的降低數(shù)據(jù)同步過(guò)程的抖動(dòng)性,保持?jǐn)?shù)據(jù)同步系統(tǒng)的穩(wěn)定。
【專利說(shuō)明】數(shù)據(jù)同步方法、裝置以及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,具體而言,涉及數(shù)據(jù)同步方法、裝置以及系統(tǒng)。
【背景技術(shù)】
[0002]目前常見(jiàn)數(shù)據(jù)同步方法的方法為,需要數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù)端向數(shù)據(jù)會(huì)發(fā)生變化的主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步的請(qǐng)求,同時(shí)對(duì)比主機(jī)數(shù)據(jù)端與備份數(shù)據(jù)端的數(shù)據(jù),如果發(fā)現(xiàn)主機(jī)數(shù)據(jù)端新增或者刪除了數(shù)據(jù)信息,則備份數(shù)據(jù)端立即進(jìn)行數(shù)據(jù)同步,保持與目標(biāo)數(shù)據(jù)的一致。采用這樣的方式,如果主機(jī)數(shù)據(jù)端的出現(xiàn)了誤操作,如新增了數(shù)據(jù)后又立刻刪除該數(shù)據(jù),備份數(shù)據(jù)端檢測(cè)到新增了數(shù)據(jù)后也會(huì)對(duì)應(yīng)的新增數(shù)據(jù),但是下一次檢測(cè)時(shí),發(fā)現(xiàn)該數(shù)據(jù)已經(jīng)刪除,又需要對(duì)應(yīng)刪除該數(shù)據(jù),這就導(dǎo)致數(shù)據(jù)同步時(shí)抖動(dòng)性較大,數(shù)據(jù)同步系統(tǒng)不穩(wěn)定。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種數(shù)據(jù)同步方法、裝置以及系統(tǒng),以改善現(xiàn)有數(shù)據(jù)同步方法進(jìn)行數(shù)據(jù)同步抖動(dòng)性較大,數(shù)據(jù)同步系統(tǒng)不穩(wěn)定的問(wèn)題。
[0004]為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例采用的技術(shù)方案如下:
[0005]第一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)同步方法,應(yīng)用于數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述方法包括:
[0006]所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令;
[0007]對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為同步修改數(shù)據(jù);
[0008]所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令;
[0009]對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為修改對(duì)比數(shù)據(jù);
[0010]對(duì)比所述同步修改數(shù)據(jù)和所述修改對(duì)比數(shù)據(jù),如果相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)一致。
[0011]結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第一種可能的實(shí)施方式,其中,所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令,包括:所述備份數(shù)據(jù)端按預(yù)設(shè)間隔時(shí)間向所述主機(jī)數(shù)據(jù)端發(fā)送N條數(shù)據(jù)同步請(qǐng)求指令,N為大于I的整數(shù);
[0012]所述對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為修改對(duì)比數(shù)據(jù),包括:
[0013]每發(fā)送一條所述數(shù)據(jù)同步請(qǐng)求指令,就對(duì)比一次所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果相同,則停止執(zhí)行后續(xù)步驟,如果不同,記錄不相同的數(shù)據(jù)為第η次修改對(duì)比數(shù)據(jù),η為大于等于1、小于等于N的整數(shù);
[0014]所述對(duì)比所述同步修改數(shù)據(jù)和所述修改對(duì)比數(shù)據(jù),如果相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)一致,包括:
[0015]對(duì)比所述同步修改數(shù)據(jù)與所述第η次修改對(duì)比數(shù)據(jù)(η按I到N依次取值),如果每一次都相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述同步數(shù)據(jù)一致。
[0016]結(jié)合第一方面或第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第二種可能的實(shí)施方式,其中,所述修改所述備份數(shù)據(jù),包括:
[0017]如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)增加所述同步修改數(shù)據(jù),則所述備份數(shù)據(jù)端在所述備份數(shù)據(jù)的基礎(chǔ)上增加所述同步修改數(shù)據(jù)。
[0018]結(jié)合第一方面或第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第三種可能的實(shí)施方式,其中,所述修改所述備份數(shù)據(jù),包括:
[0019]如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)刪除所述同步修改數(shù)據(jù),則所述備份數(shù)據(jù)端在所述備份數(shù)據(jù)中刪除所述同步修改數(shù)據(jù)。
[0020]第二方面,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)同步裝置,應(yīng)用于數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述數(shù)據(jù)同步裝置設(shè)置于所述備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述裝置包括:
[0021]第一數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元,用于向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令;
[0022]第一數(shù)據(jù)對(duì)比單元,用于對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為同步修改數(shù)據(jù);
[0023]第二數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元,用于向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令;
[0024]第二數(shù)據(jù)對(duì)比單元,用于對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為修改對(duì)比數(shù)據(jù);
[0025]數(shù)據(jù)同步單元,用于對(duì)比所述同步修改數(shù)據(jù)和所述修改對(duì)比數(shù)據(jù),如果相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述同步數(shù)據(jù)一致。
[0026]結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第一種可能的實(shí)施方式,其中,所述第二數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元具體用于:
[0027]按預(yù)設(shè)間隔時(shí)間向所述主機(jī)數(shù)據(jù)端發(fā)送N條數(shù)據(jù)同步請(qǐng)求指令,N為大于I的整數(shù);
[0028]所述第二數(shù)據(jù)對(duì)比單元具體用于:
[0029]每發(fā)送一條所述數(shù)據(jù)同步請(qǐng)求指令,就對(duì)比一次所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果相同,則停止執(zhí)行后續(xù)步驟,如果不同,記錄不相同的數(shù)據(jù)為第η次修改對(duì)比數(shù)據(jù),η為大于等于1、小于等于N的整數(shù);
[0030]所述數(shù)據(jù)同步單元具體用于:
[0031]對(duì)比所述同步修改數(shù)據(jù)與所述第η次修改對(duì)比數(shù)據(jù)(η按I到N依次取值),如果每一次都相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述同步數(shù)據(jù)一致。
[0032]結(jié)合第二方面或第二方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面的第二種可能的實(shí)施方式,其中,所述數(shù)據(jù)同步單元具體用于:
[0033]如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)增加所述同步修改數(shù)據(jù),則在所述備份數(shù)據(jù)的基礎(chǔ)上增加所述同步修改數(shù)據(jù)。
[0034]結(jié)合第二方面或第二方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面的第三種可能的實(shí)施方式,其中,所述所述數(shù)據(jù)同步單元具體用于:
[0035]如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)刪除所述同步修改數(shù)據(jù),則在所述備份數(shù)據(jù)中刪除所述同步修改數(shù)據(jù)。
[0036]第三方面,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述備份端中設(shè)置有權(quán)利要求5-6任一所述數(shù)據(jù)同步裝置。
[0037]結(jié)合第三方面,本發(fā)明實(shí)施例提供了第三方面的第一種可能的實(shí)施方式,其中,所述數(shù)據(jù)同步系統(tǒng)屬于分布式儲(chǔ)存系統(tǒng)。
[0038]本發(fā)明實(shí)施例提供的數(shù)據(jù)同步方法及裝置,備份數(shù)據(jù)端在檢測(cè)到主機(jī)數(shù)據(jù)端的目標(biāo)數(shù)據(jù)被修改以后,并不是直接就將備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)進(jìn)行同步,而是再次對(duì)比目標(biāo)數(shù)據(jù)與備份數(shù)據(jù),以確認(rèn)主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)的修改,得到確認(rèn)以后,再將備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)進(jìn)行同步。采用這樣的數(shù)據(jù)同步方法,能有效的降低數(shù)據(jù)同步過(guò)程的抖動(dòng)性,保持?jǐn)?shù)據(jù)同步系統(tǒng)的穩(wěn)定。
[0039]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。
【專利附圖】
【附圖說(shuō)明】
[0040]為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。通過(guò)附圖所示,本發(fā)明的上述及其它目的、特征和優(yōu)勢(shì)將更加清晰。在全部附圖中相同的附圖標(biāo)記指示相同的部分。并未刻意按實(shí)際尺寸等比例縮放繪制附圖,重點(diǎn)在于示出本發(fā)明的主旨。
[0041]圖1示出了本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)同步系統(tǒng)的結(jié)構(gòu)框圖;
[0042]圖2示出了本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)同步方法的流程圖;
[0043]圖3示出了本發(fā)明實(shí)施例所提供的另一種數(shù)據(jù)同步方法的流程圖;
[0044]圖4示出了本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)同步裝置的結(jié)構(gòu)框圖;
[0045]圖5示出了本發(fā)明實(shí)施例所提供的另一種數(shù)據(jù)同步系統(tǒng)的結(jié)構(gòu)框圖;
[0046]圖6示出了本發(fā)明實(shí)施例所提供的另一種數(shù)據(jù)同步裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0047]下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0048]云存儲(chǔ)是在云計(jì)算概念上延伸和發(fā)展出來(lái)的一個(gè)新的概念,是指通過(guò)集群應(yīng)用、網(wǎng)絡(luò)技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能的一個(gè)系統(tǒng)。當(dāng)云計(jì)算系統(tǒng)運(yùn)算和處理的核心是大量數(shù)據(jù)的存儲(chǔ)和管理時(shí),云計(jì)算系統(tǒng)中就需要配置大量的存儲(chǔ)設(shè)備,那么云計(jì)算系統(tǒng)就轉(zhuǎn)變成為一個(gè)云存儲(chǔ)系統(tǒng),所以云存儲(chǔ)是一個(gè)以數(shù)據(jù)存儲(chǔ)和管理為核心的云計(jì)算系統(tǒng)。簡(jiǎn)單來(lái)說(shuō),云存儲(chǔ)就是將儲(chǔ)存資源放到云上供人存取的一種新興方案。使用者可以在任何時(shí)間、任何地方,透過(guò)任何可連網(wǎng)的裝置連接到云上方便地存取數(shù)據(jù)。
[0049]數(shù)據(jù)同步在云存儲(chǔ)系統(tǒng)中的運(yùn)用非常廣泛,目前常見(jiàn)數(shù)據(jù)同步方法的方法為,需要數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù)端向數(shù)據(jù)會(huì)發(fā)生變化的主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步的請(qǐng)求,同時(shí)對(duì)比主機(jī)數(shù)據(jù)端與備份數(shù)據(jù)端的數(shù)據(jù),如果發(fā)現(xiàn)主機(jī)數(shù)據(jù)端新增或者刪除了數(shù)據(jù)信息,則備份數(shù)據(jù)端立即進(jìn)行數(shù)據(jù)同步,保持與目標(biāo)數(shù)據(jù)的一致。發(fā)明人經(jīng)過(guò)長(zhǎng)期觀察和研宄發(fā)現(xiàn),采用這樣的方式,如果主機(jī)數(shù)據(jù)端的出現(xiàn)了誤操作,如新增了數(shù)據(jù)后又立刻刪除該數(shù)據(jù),備份數(shù)據(jù)端檢測(cè)到新增了數(shù)據(jù)后也會(huì)對(duì)應(yīng)的新增數(shù)據(jù),但是下一次檢測(cè)時(shí),發(fā)現(xiàn)該數(shù)據(jù)已經(jīng)刪除,又需要對(duì)應(yīng)刪除該數(shù)據(jù),這就導(dǎo)致數(shù)據(jù)同步時(shí)抖動(dòng)性較大,數(shù)據(jù)同步系統(tǒng)不穩(wěn)定。
[0050]發(fā)明人為使現(xiàn)有的情況得到改善,提供了本發(fā)明實(shí)施例。備份數(shù)據(jù)端向數(shù)據(jù)會(huì)發(fā)生變化的主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步的請(qǐng)求,同時(shí)對(duì)比主機(jī)數(shù)據(jù)端的目標(biāo)數(shù)據(jù)與備份數(shù)據(jù)端的目標(biāo)數(shù)據(jù),如果發(fā)現(xiàn)主機(jī)數(shù)據(jù)端新增或者刪除了數(shù)據(jù)信息,記錄該新增或者刪除的數(shù)據(jù)信息。在間隔一段時(shí)間后,備份數(shù)據(jù)端向主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步的請(qǐng)求,再次比目標(biāo)數(shù)據(jù)與備份數(shù)據(jù),如果發(fā)現(xiàn)主機(jī)數(shù)據(jù)端新增或者刪除的數(shù)據(jù)信息與之前記錄相同,則確認(rèn)主機(jī)端執(zhí)行了該新增或者刪除的數(shù)據(jù)信息的操作,此時(shí),備份數(shù)據(jù)端再對(duì)其備份數(shù)據(jù)進(jìn)行修改,使備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)保持一致。
[0051]參閱圖1,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端100以及備份數(shù)據(jù)端200,所述主機(jī)數(shù)據(jù)端100儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端200儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù)。
[0052]參閱圖2,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)同步方法,應(yīng)用于數(shù)據(jù)同步系統(tǒng),所述方法包括:
[0053]步驟101:所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令。
[0054]步驟102:所述備份數(shù)據(jù)端對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,則執(zhí)行步驟103。
[0055]通過(guò)對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)就可以清楚的知道主機(jī)數(shù)據(jù)端的數(shù)據(jù)做出了哪些修改。
[0056]步驟103:所述備份數(shù)據(jù)端記錄不相同的數(shù)據(jù)為同步修改數(shù)據(jù);
[0057]如果發(fā)現(xiàn)所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)有不同,就說(shuō)明目標(biāo)數(shù)據(jù)已經(jīng)被修改,將被修改的數(shù)據(jù)記錄下來(lái),但是并不對(duì)所述備份數(shù)據(jù)進(jìn)行對(duì)應(yīng)修改。
[0058]步驟104:所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令。
[0059]為了能確認(rèn)主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)的修改,備份數(shù)據(jù)端繼續(xù)向主機(jī)數(shù)據(jù)端發(fā)送一次或者多次的數(shù)據(jù)同步請(qǐng)求指令,并對(duì)應(yīng)的將目標(biāo)數(shù)據(jù)與備份數(shù)據(jù)進(jìn)行一次或者多次的對(duì)比。
[0060]步驟105:所述備份數(shù)據(jù)端對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,則執(zhí)行步驟106。
[0061]如果主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)的修改不是誤操作,對(duì)比目標(biāo)數(shù)據(jù)與備份數(shù)據(jù)就會(huì)有不同的部分,如果主機(jī)數(shù)據(jù)端在備份數(shù)據(jù)端再次向主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令之前取消了之前對(duì)目標(biāo)數(shù)據(jù)的操作,此時(shí)所述目標(biāo)數(shù)據(jù)又恢復(fù)初始的與備份數(shù)據(jù)相同的狀態(tài)了。
[0062]步驟106:所述備份數(shù)據(jù)端記錄不相同的數(shù)據(jù)為修改對(duì)比數(shù)據(jù)。
[0063]將第二次對(duì)比后不相同的數(shù)據(jù)記錄為修改對(duì)比數(shù)據(jù),用于和同步修改數(shù)據(jù)進(jìn)行對(duì)比,以確定主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)的修改操作。
[0064]步驟107:所述備份數(shù)據(jù)端對(duì)比所述同步修改數(shù)據(jù)和所述修改對(duì)比數(shù)據(jù),如果相同,則執(zhí)行步驟108。
[0065]如果同步修改數(shù)據(jù)與修改對(duì)比數(shù)據(jù)相同,就說(shuō)明主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)進(jìn)行修改之后,沒(méi)有再繼續(xù)其他的操作。
[0066]步驟108:所述備份數(shù)據(jù)端修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)一致。
[0067]在確認(rèn)目標(biāo)數(shù)據(jù)做出的修改之后,備份數(shù)據(jù)端再對(duì)應(yīng)修改備份數(shù)據(jù)。
[0068]例如:所述目標(biāo)數(shù)據(jù)為ABC,所述備份數(shù)據(jù)的初始數(shù)據(jù)為目標(biāo)數(shù)據(jù)的備份,即也為ABCo主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)進(jìn)行了修改,修改后的目標(biāo)數(shù)據(jù)為ABCD,備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令,將目標(biāo)數(shù)據(jù)和備份數(shù)據(jù)進(jìn)行對(duì)比,發(fā)現(xiàn)目標(biāo)數(shù)據(jù)增加了D,此時(shí),則記錄D為同步修改數(shù)據(jù)。在間隔了預(yù)設(shè)時(shí)間之后時(shí)間之后(預(yù)設(shè)時(shí)間由備份數(shù)據(jù)端根據(jù)數(shù)據(jù)同步系統(tǒng)的情況隨機(jī)預(yù)先設(shè)置,在本實(shí)施例中設(shè)為2s),備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令。在這2s之內(nèi),如果所述主機(jī)數(shù)據(jù)端沒(méi)有再對(duì)目標(biāo)數(shù)據(jù)進(jìn)行修改,備份數(shù)據(jù)端再次對(duì)比目標(biāo)數(shù)據(jù)和備份數(shù)據(jù),記錄的修改對(duì)比數(shù)據(jù)也是D,就可以確認(rèn)D為主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)做出的修改,備份數(shù)據(jù)對(duì)應(yīng)修改為ABCD,完成了本次同步過(guò)程;如果在這2s之內(nèi),所述主機(jī)數(shù)據(jù)端取消了之前增加D的操作,目標(biāo)數(shù)據(jù)又變成了ABC,備份數(shù)據(jù)端再次對(duì)比目標(biāo)數(shù)據(jù)和備份數(shù)據(jù),會(huì)發(fā)現(xiàn)兩者相同,進(jìn)而停止執(zhí)行后面的步驟。
[0069]本實(shí)施例提供的數(shù)據(jù)同步方法,備份數(shù)據(jù)端在檢測(cè)到主機(jī)數(shù)據(jù)端的目標(biāo)數(shù)據(jù)被修改以后,并不是直接就將備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)進(jìn)行同步,而是再次對(duì)比目標(biāo)數(shù)據(jù)與備份數(shù)據(jù),以確認(rèn)主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)的修改,得到確認(rèn)以后,再將備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)進(jìn)行同步。采用這樣的數(shù)據(jù)同步方法,能有效的降低數(shù)據(jù)同步過(guò)程的抖動(dòng)性,保持?jǐn)?shù)據(jù)同步系統(tǒng)的穩(wěn)定。
[0070]參閱圖3,本發(fā)明實(shí)施例所提供的另一種數(shù)據(jù)同步方法,應(yīng)用于數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述方法包括:
[0071]步驟301:所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令。
[0072]步驟302:所述備份數(shù)據(jù)端對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,則執(zhí)行步驟303。
[0073]通過(guò)對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)就可以清楚的知道主機(jī)數(shù)據(jù)端的數(shù)據(jù)做出了哪些修改。
[0074]步驟303:所述備份數(shù)據(jù)端記錄不相同的數(shù)據(jù)為同步修改數(shù)據(jù)。
[0075]如果發(fā)現(xiàn)所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)有不同,就說(shuō)明目標(biāo)數(shù)據(jù)已經(jīng)被修改,將被修改的數(shù)據(jù)記錄下來(lái),但是并不對(duì)所述備份數(shù)據(jù)進(jìn)行對(duì)應(yīng)修改。
[0076]步驟304:所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送第η次數(shù)據(jù)同步請(qǐng)求指令,備份數(shù)據(jù)端按預(yù)設(shè)間隔時(shí)間向所述主機(jī)數(shù)據(jù)端發(fā)送N條數(shù)據(jù)同步請(qǐng)求指令,N為大于I的整數(shù),η為大于等于1、小于等于N的整數(shù),η的初始值為I,每發(fā)送一條數(shù)據(jù)同步請(qǐng)求指令,η的值增加I。例如:Ν = 3時(shí),η = 1,向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送第I次數(shù)據(jù)同步請(qǐng)求指令;η增加1,等于2,向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送第2次數(shù)據(jù)同步請(qǐng)求指令;η再增加1,等于3,向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送第3次數(shù)據(jù)同步請(qǐng)求指令。
[0077]步驟305:所述備份數(shù)據(jù)端對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,則執(zhí)行步驟306。
[0078]每發(fā)送一條所述數(shù)據(jù)同步請(qǐng)求指令,就對(duì)比一次所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果相同,就說(shuō)明目標(biāo)數(shù)據(jù)的修改被取消了,則停止執(zhí)行后續(xù)步驟,如果不同,執(zhí)行步驟306。
[0079]步驟306:所述備份數(shù)據(jù)端記錄不相同的數(shù)據(jù)為第η次修改對(duì)比數(shù)據(jù),η為大于等于1、小于等于N的整數(shù);例如:η = I時(shí),執(zhí)行步驟305后,記錄的不相同的數(shù)據(jù)為第I次修改對(duì)比數(shù)據(jù)。
[0080]步驟307:所述備份數(shù)據(jù)端對(duì)比所述同步修改數(shù)據(jù)和所述第η次修改對(duì)比數(shù)據(jù),當(dāng)η〈Ν時(shí),如果相同,則跳轉(zhuǎn)到步驟304,繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令,如果不同,就說(shuō)明主機(jī)數(shù)據(jù)段取消了之前對(duì)目標(biāo)數(shù)據(jù)的修改;當(dāng)n = N時(shí),如果相同,就說(shuō)明對(duì)比了 N次,每一次的修改對(duì)比數(shù)據(jù)都與同步修改數(shù)據(jù)相同,則主機(jī)數(shù)據(jù)段對(duì)目標(biāo)數(shù)據(jù)的修改已經(jīng)確認(rèn),主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)進(jìn)行修改之后,沒(méi)有再繼續(xù)其他的操作,進(jìn)而執(zhí)行步驟308。
[0081]步驟308:所述備份數(shù)據(jù)端修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)一致。如果主機(jī)數(shù)據(jù)段對(duì)目標(biāo)數(shù)據(jù)的修改是在目標(biāo)數(shù)據(jù)的基礎(chǔ)上增加同步修改數(shù)據(jù),則對(duì)應(yīng)的在備份數(shù)據(jù)的基礎(chǔ)上增加所述同步修改數(shù)據(jù);如果主機(jī)數(shù)據(jù)段對(duì)目標(biāo)數(shù)據(jù)的修改是從目標(biāo)數(shù)據(jù)中刪除同步修改數(shù)據(jù),則對(duì)應(yīng)的從備份數(shù)據(jù)中刪除所述同步修改數(shù)據(jù)。
[0082]例如:所述目標(biāo)數(shù)據(jù)為ABCD,所述備份數(shù)據(jù)的初始數(shù)據(jù)為目標(biāo)數(shù)據(jù)的備份,即也為ABCD。主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)進(jìn)行了修改,修改后的目標(biāo)數(shù)據(jù)為ABC,備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令,將目標(biāo)數(shù)據(jù)和備份數(shù)據(jù)進(jìn)行對(duì)比,發(fā)現(xiàn)目標(biāo)數(shù)據(jù)刪除了 D,此時(shí),則記錄D為同步修改數(shù)據(jù)。
[0083]設(shè)N = 3,在間隔了預(yù)設(shè)時(shí)間之后時(shí)間之后(預(yù)設(shè)時(shí)間由備份數(shù)據(jù)端根據(jù)數(shù)據(jù)同步系統(tǒng)的情況隨機(jī)預(yù)先設(shè)置,在本實(shí)施例中設(shè)為2s),備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令。此時(shí)η = 1,發(fā)送的為第I次數(shù)據(jù)同步請(qǐng)求指令,如果所述主機(jī)數(shù)據(jù)端在這2s內(nèi)沒(méi)有對(duì)目標(biāo)數(shù)據(jù)進(jìn)行修改,備份數(shù)據(jù)端對(duì)比目標(biāo)數(shù)據(jù)和備份數(shù)據(jù),記錄第I次修改對(duì)比數(shù)據(jù)為D ;備份數(shù)據(jù)端在等待了 2s后,向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令,此時(shí)η = 2,發(fā)送的為第2次數(shù)據(jù)同步請(qǐng)求指令,如果所述主機(jī)數(shù)據(jù)端在這2s內(nèi)還是沒(méi)有對(duì)目標(biāo)數(shù)據(jù)進(jìn)行修改,備份數(shù)據(jù)端對(duì)比目標(biāo)數(shù)據(jù)和備份數(shù)據(jù),記錄第2次修改對(duì)比數(shù)據(jù)為D ;備份數(shù)據(jù)端在又等待了 2s后,向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令,此時(shí)η = 3,發(fā)送的為第3次數(shù)據(jù)同步請(qǐng)求指令,如果所述主機(jī)數(shù)據(jù)端在這2s內(nèi)還是沒(méi)有對(duì)目標(biāo)數(shù)據(jù)進(jìn)行修改,備份數(shù)據(jù)端對(duì)比目標(biāo)數(shù)據(jù)和備份數(shù)據(jù),記錄第3次修改對(duì)比數(shù)據(jù)為D ;由于η=N,備份數(shù)據(jù)端不再向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令,備份數(shù)據(jù)端對(duì)比同步修改數(shù)據(jù)、第I次修改對(duì)比數(shù)據(jù)、第2次修改對(duì)比數(shù)據(jù)、第3次修改對(duì)比數(shù)據(jù),他們都為D,就可以確認(rèn)D為主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)做出的修改,備份數(shù)據(jù)對(duì)應(yīng)刪除D,更新為ABC,完成了本次同步過(guò)程;如果主機(jī)數(shù)據(jù)端在任一一個(gè)備份數(shù)據(jù)端等待2s內(nèi)做出了取消刪除D的操作,目標(biāo)數(shù)據(jù)又變成了 ABCD,當(dāng)下一次備份數(shù)據(jù)端對(duì)比目標(biāo)數(shù)據(jù)和備份數(shù)據(jù)時(shí),就會(huì)發(fā)現(xiàn)目標(biāo)數(shù)據(jù)和備份數(shù)據(jù)相同,進(jìn)而停止執(zhí)行后面的步驟。
[0084]本實(shí)施例提供的數(shù)據(jù)同步方法,備份數(shù)據(jù)端在檢測(cè)到主機(jī)數(shù)據(jù)端的目標(biāo)數(shù)據(jù)被修改以后,并不是直接就將備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)進(jìn)行同步,而是再經(jīng)過(guò)多次對(duì)比目標(biāo)數(shù)據(jù)與備份數(shù)據(jù),以確認(rèn)主機(jī)數(shù)據(jù)端對(duì)目標(biāo)數(shù)據(jù)的修改,得到確認(rèn)以后,再將備份數(shù)據(jù)與目標(biāo)數(shù)據(jù)進(jìn)行同步。采用這樣的數(shù)據(jù)同步方法,能有效的降低數(shù)據(jù)同步過(guò)程的抖動(dòng)性,保持?jǐn)?shù)據(jù)同步系統(tǒng)的穩(wěn)定。
[0085]參見(jiàn)圖4,本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)同步裝置,應(yīng)用于數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述數(shù)據(jù)同步裝置設(shè)置于所述備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述裝置包括:
[0086]第一數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元201,用于向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令。
[0087]第一數(shù)據(jù)對(duì)比單元202,用于對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為同步修改數(shù)據(jù)。
[0088]第二數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元203,用于向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令。
[0089]第二數(shù)據(jù)對(duì)比單元204,用于對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為修改對(duì)比數(shù)據(jù)。
[0090]數(shù)據(jù)同步單元205,用于對(duì)比所述同步修改數(shù)據(jù)和所述修改對(duì)比數(shù)據(jù),如果相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述同步數(shù)據(jù)一致。
[0091]其中,所述第二數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元203具體用于:
[0092]按預(yù)設(shè)間隔時(shí)間向所述主機(jī)數(shù)據(jù)端發(fā)送N條數(shù)據(jù)同步請(qǐng)求指令,N為大于I的整數(shù)。
[0093]所述第二數(shù)據(jù)對(duì)比單元204具體用于:
[0094]每發(fā)送一條所述數(shù)據(jù)同步請(qǐng)求指令,就對(duì)比一次所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果相同,則停止執(zhí)行后續(xù)步驟,如果不同,記錄不相同的數(shù)據(jù)為第η次修改對(duì)比數(shù)據(jù),η為大于等于1、小于等于N的整數(shù)。
[0095]所述數(shù)據(jù)同步單元205具體用于:
[0096]對(duì)比所述同步修改數(shù)據(jù)與所述第η次修改對(duì)比數(shù)據(jù)(η按I到N依次取值),如果每一次都相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述同步數(shù)據(jù)一致。
[0097]所述數(shù)據(jù)同步單元205具體用于:
[0098]如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)在所述備份數(shù)據(jù)的基礎(chǔ)上增加所述同步修改數(shù)據(jù),則在所述備份數(shù)據(jù)的基礎(chǔ)上增加所述同步修改數(shù)據(jù);
[0099]如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)在所述備份數(shù)據(jù)中刪除所述同步修改數(shù)據(jù),則在所述備份數(shù)據(jù)中刪除所述同步修改數(shù)據(jù)。
[0100]本發(fā)明實(shí)施例所提供的數(shù)據(jù)同步裝置,其實(shí)現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實(shí)施例相同,為簡(jiǎn)要描述,裝置實(shí)施例部分未提及之處,可參考前述方法實(shí)施例中相應(yīng)內(nèi)容。
[0101]參見(jiàn)圖5,本發(fā)明實(shí)施例所提供的另一種數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端100以及備份數(shù)據(jù)端200,所述主機(jī)數(shù)據(jù)端100儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端200儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述備份數(shù)據(jù)端200中設(shè)置有上述實(shí)施例中任一所述數(shù)據(jù)同步裝置300。所述數(shù)據(jù)同步系統(tǒng)屬于分布式儲(chǔ)存系統(tǒng),如云存儲(chǔ)系統(tǒng)。
[0102]參見(jiàn)圖6,本發(fā)明實(shí)施例還提供一種數(shù)據(jù)同步裝置600,包括:處理器500,存儲(chǔ)器501,總線502和通信接口 503,所述處理器500、通信接口 503和存儲(chǔ)器501通過(guò)總線502連接;處理器500用于執(zhí)行存儲(chǔ)器501中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。
[0103]其中,存儲(chǔ)器501可能包含高速隨機(jī)存取存儲(chǔ)器(RAM !Random Access Memory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤存儲(chǔ)器。通過(guò)至少一個(gè)通信接口 503 (可以是有線或者無(wú)線)實(shí)現(xiàn)該系統(tǒng)網(wǎng)元與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。
[0104]總線502可以是ISA總線、PCI總線或EISA總線等。所述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖5中僅用一個(gè)雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
[0105]其中,存儲(chǔ)器501用于存儲(chǔ)程序,所述處理器500在接收到執(zhí)行指令后,執(zhí)行所述程序,前述本發(fā)明實(shí)施例任一實(shí)施例揭示的流程定義的裝置所執(zhí)行的方法可以應(yīng)用于處理器500中,或者由處理器500實(shí)現(xiàn)。
[0106]處理器500可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)處理器500中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器500可以是通用處理器,包括中央處理器(Central Processing Unit,簡(jiǎn)稱CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡(jiǎn)稱NP)等;還可以是數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫?shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開(kāi)的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器501,處理器500讀取存儲(chǔ)器501中的信息,結(jié)合其硬件完成上述方法的步驟。
[0107]另外,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0108]本發(fā)明實(shí)施例所提供的進(jìn)行一種數(shù)據(jù)同步裝置的計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中所述的方法,具體實(shí)現(xiàn)可參見(jiàn)方法實(shí)施例,在此不再贅述。
[0109]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0110]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0111]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0112]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
[0113]所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0114]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0115]在本發(fā)明的描述中,還需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“設(shè)置”、“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。
[0116]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)同步方法,其特征在于,應(yīng)用于數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述方法包括: 所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令; 對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為同步修改數(shù)據(jù); 所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令; 對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為修改對(duì)比數(shù)據(jù); 對(duì)比所述同步修改數(shù)據(jù)和所述修改對(duì)比數(shù)據(jù),如果相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)一致。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述備份數(shù)據(jù)端向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令,包括:所述備份數(shù)據(jù)端按預(yù)設(shè)間隔時(shí)間向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送N條數(shù)據(jù)同步請(qǐng)求指令,N為大于I的整數(shù);所述對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為修改對(duì)比數(shù)據(jù),包括: 每發(fā)送一條所述數(shù)據(jù)同步請(qǐng)求指令,就對(duì)比一次所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果相同,則停止執(zhí)行后續(xù)步驟,如果不同,記錄不相同的數(shù)據(jù)為第η次修改對(duì)比數(shù)據(jù),η為大于等于1、小于等于N的整數(shù); 所述對(duì)比所述同步修改數(shù)據(jù)和所述修改對(duì)比數(shù)據(jù),如果相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述目標(biāo)數(shù)據(jù)一致,包括: 對(duì)比所述同步修改數(shù)據(jù)與所述第η次修改對(duì)比數(shù)據(jù)(η按I到N依次取值),如果每一次都相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述同步數(shù)據(jù)一致。
3.根據(jù)權(quán)利要求1-2任一所述的方法,其特征在于,所述修改所述備份數(shù)據(jù),包括: 如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)增加所述同步修改數(shù)據(jù),則所述備份數(shù)據(jù)端在所述備份數(shù)據(jù)的基礎(chǔ)上增加所述同步修改數(shù)據(jù)。
4.根據(jù)權(quán)利要求1-2任一所述的方法,其特征在于,所述修改所述備份數(shù)據(jù),包括: 如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)刪除所述同步修改數(shù)據(jù),則所述備份數(shù)據(jù)端在所述備份數(shù)據(jù)中刪除所述同步修改數(shù)據(jù)。
5.一種數(shù)據(jù)同步裝置,其特征在于,應(yīng)用于數(shù)據(jù)同步系統(tǒng),所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述數(shù)據(jù)同步裝置設(shè)置于所述備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述裝置包括: 第一數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元,用于向所述主機(jī)數(shù)據(jù)端發(fā)送數(shù)據(jù)同步請(qǐng)求指令;第一數(shù)據(jù)對(duì)比單元,用于對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為同步修改數(shù)據(jù); 第二數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元,用于向所述主機(jī)數(shù)據(jù)端繼續(xù)發(fā)送數(shù)據(jù)同步請(qǐng)求指令; 第二數(shù)據(jù)對(duì)比單元,用于對(duì)比所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果不相同,記錄不相同的數(shù)據(jù)為修改對(duì)比數(shù)據(jù); 數(shù)據(jù)同步單元,用于對(duì)比所述同步修改數(shù)據(jù)和所述修改對(duì)比數(shù)據(jù),如果相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述同步數(shù)據(jù)一致。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于, 所述第二數(shù)據(jù)同步請(qǐng)求指令發(fā)送單元具體用于: 按預(yù)設(shè)間隔時(shí)間向所述主機(jī)數(shù)據(jù)端發(fā)送N條數(shù)據(jù)同步請(qǐng)求指令,N為大于I的整數(shù); 所述第二數(shù)據(jù)對(duì)比單元具體用于: 每發(fā)送一條所述數(shù)據(jù)同步請(qǐng)求指令,就對(duì)比一次所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù),如果相同,則停止執(zhí)行后續(xù)步驟,如果不同,記錄不相同的數(shù)據(jù)為第η次修改對(duì)比數(shù)據(jù),η為大于等于1、小于等于N的整數(shù); 所述數(shù)據(jù)同步單元具體用于: 對(duì)比所述同步修改數(shù)據(jù)與所述第η次修改對(duì)比數(shù)據(jù)(η按I到N依次取值),如果每一次都相同,修改所述備份數(shù)據(jù),使得所述備份數(shù)據(jù)與所述同步數(shù)據(jù)一致。
7.根據(jù)權(quán)利要求5-6任一所述的裝置,其特征在于,所述數(shù)據(jù)同步單元具體用于: 如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)增加所述同步修改數(shù)據(jù),則在所述備份數(shù)據(jù)的基礎(chǔ)上增加所述同步修改數(shù)據(jù)。
8.根據(jù)權(quán)利要求5-6任一所述的裝置,其特征在于,所述數(shù)據(jù)同步單元具體用于: 如果所述目標(biāo)數(shù)據(jù)和所述備份數(shù)據(jù)的不同之處在于,所述目標(biāo)數(shù)據(jù)刪除所述同步修改數(shù)據(jù),則在所述備份數(shù)據(jù)中刪除所述同步修改數(shù)據(jù)。
9.一種數(shù)據(jù)同步系統(tǒng),其特征在于,所述數(shù)據(jù)同步系統(tǒng)包括主機(jī)數(shù)據(jù)端以及備份數(shù)據(jù)端,所述主機(jī)數(shù)據(jù)端儲(chǔ)存有可以被修改的目標(biāo)數(shù)據(jù),所述備份數(shù)據(jù)端儲(chǔ)存有需要與所述目標(biāo)數(shù)據(jù)進(jìn)行同步的備份數(shù)據(jù),所述備份數(shù)據(jù)端中設(shè)置有權(quán)利要求5-6任一所述數(shù)據(jù)同步裝置。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)同步系統(tǒng),其特征在于,所述數(shù)據(jù)同步系統(tǒng)應(yīng)用于分布式儲(chǔ)存系統(tǒng)。
【文檔編號(hào)】G06F3/06GK104503868SQ201410836700
【公開(kāi)日】2015年4月8日 申請(qǐng)日期:2014年12月29日 優(yōu)先權(quán)日:2014年12月29日
【發(fā)明者】黃睿 申請(qǐng)人:成都致云科技有限公司