本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種設(shè)備間的數(shù)據(jù)全同步方法、裝置及系統(tǒng)。
背景技術(shù):
分布式數(shù)據(jù)存儲系統(tǒng)就是將數(shù)據(jù)分散存儲在多臺獨(dú)立的設(shè)備上,也就是說,針對一份數(shù)據(jù),存儲至N個(gè)設(shè)備上,一般是存儲至一個(gè)主設(shè)備和多個(gè)從設(shè)備,其中,從設(shè)備中的數(shù)據(jù)是與主設(shè)備進(jìn)行同步獲得的。
現(xiàn)有技術(shù)中,主從設(shè)備需要建立并維護(hù)設(shè)備間的關(guān)系,主設(shè)備還需要一直監(jiān)控從設(shè)備的狀態(tài),例如是否處于正常運(yùn)行狀態(tài),然而,維護(hù)設(shè)備間狀態(tài)以及監(jiān)控從設(shè)備的狀態(tài),會導(dǎo)致主設(shè)備負(fù)荷過重,同步效率低下,另外,主從設(shè)備的同步通常通過操作日志確定需要同步的數(shù)據(jù),但是會出現(xiàn)隨著生成的操作日志的增多,會刪除部分操作日志,就可能會出現(xiàn)無法通過操作日志進(jìn)行數(shù)據(jù)同步,而需要將主設(shè)備的全部數(shù)據(jù)同步給從設(shè)備的情況,此時(shí)主從設(shè)備需要不斷地進(jìn)行交互,告知數(shù)據(jù)全同步的狀態(tài),主設(shè)備和從設(shè)備間的處理邏輯復(fù)雜。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的設(shè)備間的數(shù)據(jù)全同步方法、設(shè)備間的數(shù)據(jù)全同步裝置和相應(yīng)的設(shè)備間的數(shù)據(jù)全同步系統(tǒng)。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種設(shè)備間的數(shù)據(jù)全同步方法,其包括:
接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求;
當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識;
根據(jù)端口信息將快照文件發(fā)送給第一設(shè)備,以使第一設(shè)備根據(jù)文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
根據(jù)本發(fā)明的另一方面,提供了一種設(shè)備間的數(shù)據(jù)全同步方法,其包括:
向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,以使第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識;
根據(jù)第二設(shè)備發(fā)送的包含有文件標(biāo)識的快照文件,加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
根據(jù)本發(fā)明的另一方面,提供了一種設(shè)備間的數(shù)據(jù)全同步裝置,其包括:
第一接收模塊,適于接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求;
備份模塊,適于當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識;
第一發(fā)送模塊,適于根據(jù)端口信息將快照文件發(fā)送給第一設(shè)備,以使第一設(shè)備根據(jù)文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
根據(jù)本發(fā)明的另一方面,提供了一種設(shè)備間的數(shù)據(jù)全同步裝置,其包括:
第二發(fā)送模塊,適于向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,以使第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識;
同步模塊,適于根據(jù)第二設(shè)備發(fā)送的包含有文件標(biāo)識的快照文件,加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
根據(jù)本發(fā)明的另一方面,提供了一種設(shè)備間的數(shù)據(jù)全同步系統(tǒng),其包括:一方面中的設(shè)備間的數(shù)據(jù)全同步裝置和另一方面中的設(shè)備間的數(shù)據(jù)全同步裝置。
根據(jù)本發(fā)明提供的方案,接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識,根據(jù)端口信息將快照文件發(fā)送給第一設(shè)備,以使第一設(shè)備根據(jù)文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)?;诒景l(fā)明實(shí)施例的方案,第二設(shè)備無需向第一設(shè)備發(fā)送快照文件備份已完成及可以加載數(shù)據(jù)的通知消息,減少了設(shè)備間的交互且無需建立并維護(hù)設(shè)備間關(guān)系,克服了現(xiàn)有技術(shù)中需要維護(hù)大量主從狀態(tài)而導(dǎo)致第二設(shè)備處理效率低、負(fù)荷重等缺陷。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明實(shí)施例一的設(shè)備間的數(shù)據(jù)全同步方法的流程示意圖;
圖2示出了根據(jù)本發(fā)明實(shí)施例二的設(shè)備間的數(shù)據(jù)全同步方法的流程示意圖;
圖3示出了根據(jù)本發(fā)明實(shí)施例三的設(shè)備間的數(shù)據(jù)全同步裝置的結(jié)構(gòu)示意圖;
圖4示出了根據(jù)本發(fā)明實(shí)施例四的設(shè)備間的數(shù)據(jù)全同步裝置的結(jié)構(gòu)示意圖;
圖5示出了根據(jù)本發(fā)明實(shí)施例五的設(shè)備間的數(shù)據(jù)全同步系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖1示出了根據(jù)本發(fā)明實(shí)施例一的設(shè)備間的數(shù)據(jù)全同步方法的流程示意圖。該方法的執(zhí)行主體為第二設(shè)備,如圖1所示,該方法包括以下步驟:
步驟S100,接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。
其中,端口信息是第一設(shè)備的標(biāo)識信息,第二設(shè)備可以根據(jù)端口信息識別出是哪個(gè)設(shè)備要求同步數(shù)據(jù),以及需要向哪個(gè)設(shè)備發(fā)送待同步數(shù)據(jù)。
第二設(shè)備在將待同步數(shù)據(jù)發(fā)送給第一設(shè)備時(shí),同時(shí)向第一設(shè)備發(fā)送待同步數(shù)據(jù)的文件偏移量,第一設(shè)備在同步數(shù)據(jù)成功后,會記錄已同步數(shù)據(jù)的文件偏移量,即第二設(shè)備發(fā)送的文件偏移量,在本發(fā)明實(shí)施例中,第一文件偏移量是已同步至第一設(shè)備的數(shù)據(jù)對應(yīng)于操作日志文件的文件偏移量,也就是說,根據(jù)該第一文件偏移量可以確定第二設(shè)備中哪些數(shù)據(jù)已被同步至第一設(shè)備,以及根據(jù)第一文件偏移量可以確定本次需要同步的數(shù)據(jù)。
第一設(shè)備在需要同步數(shù)據(jù)時(shí),可以根據(jù)第二設(shè)備的IP地址向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,使第二設(shè)備可以獲知需要進(jìn)行數(shù)據(jù)同步的設(shè)備以及確定本次需要同步的數(shù)據(jù),這里第一設(shè)備并未與第二設(shè)備建立連接。
步驟S101,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識。
其中,操作日志文件用于記錄寫入到第二設(shè)備的數(shù)據(jù)寫操作記錄,這里的操作日志文件可以是二進(jìn)制日志文件,也稱為Binlog文件,是一種邏輯日志,用于記錄對數(shù)據(jù)所執(zhí)行的數(shù)據(jù)寫操作,并以二進(jìn)制的形式保存在磁盤中。Binlog文件按照對數(shù)據(jù)所執(zhí)行的數(shù)據(jù)寫操作的順序進(jìn)行存儲,而且記錄次數(shù)與所執(zhí)行操作的次數(shù)相對應(yīng),即,每對數(shù)據(jù)執(zhí)行一次數(shù)據(jù)寫操作,就在Binlog文件中記錄一次。
而Binlog文件是一具有固定大小的文件,一般可以設(shè)定Binlog文件的大小為20M,當(dāng)一個(gè)Binlog文件遞增到20M后,即新建另一個(gè)Binlog文件來記錄對數(shù)據(jù)所執(zhí)行的數(shù)據(jù)寫操作,也就是說,第二設(shè)備操作日志文件有多個(gè),而且可以為每個(gè)操作日志文件設(shè)置文件編號,即:每個(gè)操作日志文件具有唯一的文件編號;這樣第一文件偏移量包括:文件編號和文件內(nèi)偏移量。
第二設(shè)備在接收到第一設(shè)備發(fā)送的攜帶有第一文件偏移量的數(shù)據(jù)同步請求后,根據(jù)第一文件偏移量在第二設(shè)備操作日志文件中查找第一文件偏移量對應(yīng)的操作日志,以獲取到對應(yīng)的數(shù)據(jù)寫操作記錄,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),說明第一文件偏移量對應(yīng)的操作日志可能已經(jīng)被刪除,無法通過操作日志實(shí)現(xiàn)數(shù)據(jù)同步,此時(shí)需要備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,通過數(shù)據(jù)全同步過程實(shí)現(xiàn)同步第二設(shè)備中的數(shù)據(jù),其中,快照文件中包含文件標(biāo)識。
本實(shí)施例中,第二設(shè)備當(dāng)前所有數(shù)據(jù)指備份時(shí)已寫入到第二設(shè)備中的所有數(shù)據(jù),文件標(biāo)識用于標(biāo)識第二設(shè)備已備份完成快照文件,僅在包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件備份結(jié)束后,快照文件中才包含文件標(biāo)識,該文件標(biāo)識不僅標(biāo)識了第二設(shè)備已備份完成快照文件,而且還是第一設(shè)備是否加載數(shù)據(jù)的依據(jù),第一設(shè)備僅在快照文件中包含文件標(biāo)識的情況下,才會加載第二設(shè)備當(dāng)前所有數(shù)據(jù),若快照文件中不包含文件標(biāo)識,第一設(shè)備將不會加載第二設(shè)備發(fā)送的數(shù)據(jù)。
在本發(fā)明實(shí)施例中,通過設(shè)置文件標(biāo)識,可以減少第二設(shè)備和第一設(shè)備之間的交互,而且,第二設(shè)備也無需對第一設(shè)備當(dāng)前的狀態(tài)進(jìn)行檢測。
步驟S102,根據(jù)端口信息將快照文件發(fā)送給第一設(shè)備,以使第一設(shè)備根據(jù)文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
第二設(shè)備可以在備份完包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件后,可以根據(jù)步驟S100中接收到的端口信息將備份的快照文件發(fā)送給第一設(shè)備,第一設(shè)備可以檢測快照文件中是否包含文件標(biāo)識,快照文件中包含文件標(biāo)識時(shí),第一設(shè)備將加載第二設(shè)備當(dāng)前所有數(shù)據(jù),完成同步過程。
舉例說明,第一設(shè)備向第二設(shè)備發(fā)送攜帶有端口信息(Port)20,第一文件偏移量6-47的數(shù)據(jù)同步請求,第二設(shè)備在接收到該數(shù)據(jù)同步請求后,將根據(jù)第一文件偏移量6-47查找操作日志文件,確定操作日志文件中是否存在與第一文件偏移量6-47對應(yīng)的操作日志,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量6-47對應(yīng)的操作日志時(shí),將會備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識,在備份完快照文件后,第二設(shè)備根據(jù)所接收到的端口信息Port-20將快照文件發(fā)送給第一設(shè)備,第一設(shè)備根據(jù)文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
在本發(fā)明實(shí)施例中,第二設(shè)備無需向第一設(shè)備發(fā)送快照文件備份已完成,請加載數(shù)據(jù)的通知消息,減少了設(shè)備間的交互,無需建立并維護(hù)設(shè)備間關(guān)系,例如主從關(guān)系,克服了現(xiàn)有技術(shù)中需要維護(hù)大量主從狀態(tài)而導(dǎo)致第二設(shè)備處理效率低、負(fù)荷重等缺陷。
在本發(fā)明一種可選實(shí)施方式中,在備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件之后,還需要記錄備份時(shí)的第二文件偏移量,并將第二文件偏移量同快照文件一起發(fā)送給第一設(shè)備,這樣第一設(shè)備在加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后,可以根據(jù)第二文件偏移量再次向第二設(shè)備發(fā)送數(shù)據(jù)同步請求,也就是說,第一設(shè)備再次發(fā)送的數(shù)據(jù)同步請求中可以攜帶有第二文件偏移量,第一設(shè)備請求同步從第二文件偏移量之后寫入到第二設(shè)備的數(shù)據(jù)。
其中,第二文件偏移量是備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件時(shí),數(shù)據(jù)對應(yīng)于操作日志文件的文件偏移量,也是第一設(shè)備加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后,已同步至第一設(shè)備的數(shù)據(jù)對應(yīng)于操作日志文件的文件偏移量。第一設(shè)備在加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后,需要將第一文件偏移量更新為第二文件偏移量。
在本發(fā)明一種可選實(shí)施方式中,第一設(shè)備在加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后,第一設(shè)備和第二設(shè)備實(shí)現(xiàn)了數(shù)據(jù)同步,但數(shù)據(jù)一直不斷的寫入到第二設(shè)備中,因此第一設(shè)備還可以向第二設(shè)備發(fā)送攜帶有第二文件偏移量的數(shù)據(jù)同步請求,第二設(shè)備接收第一設(shè)備發(fā)送的攜帶有第二文件偏移量的數(shù)據(jù)同步請求,然后根據(jù)第二文件偏移量將第二設(shè)備操作日志文件中的起始于第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備,以供第一設(shè)備根據(jù)所接收到的第二設(shè)備操作日志進(jìn)行相應(yīng)的數(shù)據(jù)操作進(jìn)而完成第二設(shè)備和第一設(shè)備之間的數(shù)據(jù)同步,這里僅需要將第二設(shè)備操作日志文件中的起始于第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備,實(shí)現(xiàn)數(shù)據(jù)部分同步。
在本發(fā)明一種可選實(shí)施方式中,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),第二設(shè)備還可以向第一設(shè)備發(fā)送數(shù)據(jù)全同步的通知消息,以使第一設(shè)備根據(jù)通知消息確定是否等待同步數(shù)據(jù)。具體地,第二設(shè)備存儲了大量的數(shù)據(jù),因此,備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件過程需要占用很長時(shí)間,也就是說,數(shù)據(jù)全同步是非常耗時(shí)的過程,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),第二設(shè)備可以向第一設(shè)備發(fā)送需要進(jìn)行數(shù)據(jù)全同步的通知消息,告知第一設(shè)備,第二設(shè)備需要備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,使得第一設(shè)備可以根據(jù)該通知消息確定是否等待同步數(shù)據(jù),若第一設(shè)備同意等待,第一設(shè)備將不執(zhí)行其他任務(wù);若第一設(shè)備不同意等待,第一設(shè)備可以去執(zhí)行其他任務(wù),待收到文件標(biāo)識后,再加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
在本發(fā)明一種可選實(shí)施方式中,第二設(shè)備在將快照文件發(fā)送給第一設(shè)備后,第一設(shè)備可能會由于網(wǎng)絡(luò)不穩(wěn)定等原因,而未成功加載第二設(shè)備當(dāng)前所有數(shù)據(jù),這樣第一設(shè)備可以嘗試再次向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,具體地,接收第一設(shè)備加載第二設(shè)備的數(shù)據(jù)失敗后再次發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。若第一設(shè)備還未成功加載第二設(shè)備當(dāng)前所有數(shù)據(jù),還可以進(jìn)行再一次的嘗試,其中,第一設(shè)備可以嘗試預(yù)設(shè)次數(shù),預(yù)設(shè)次數(shù)可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,例如設(shè)置為3次,兩次嘗試發(fā)送數(shù)據(jù)同步請求的時(shí)間間隔需要達(dá)到預(yù)設(shè)時(shí)間間隔,例如1毫秒,這里僅僅是舉例說明,不具有任何限定作用。這里不需要第一設(shè)備與第二設(shè)備之間的交互,簡化了處理邏輯。
根據(jù)本發(fā)明上述實(shí)施例提供的方法,接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識,根據(jù)端口信息將快照文件發(fā)送給第一設(shè)備,以使第一設(shè)備根據(jù)文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)?;诒景l(fā)明實(shí)施例的方案,第二設(shè)備無需向第一設(shè)備發(fā)送快照文件備份已完成及可以加載數(shù)據(jù)的通知消息,減少了設(shè)備間的交互且無需建立并維護(hù)設(shè)備間關(guān)系,克服了現(xiàn)有技術(shù)中需要維護(hù)大量主從狀態(tài)而導(dǎo)致第二設(shè)備處理效率低、負(fù)荷重等缺陷,簡化了設(shè)備間的處理邏輯。
圖2示出了根據(jù)本發(fā)明實(shí)施例二的設(shè)備間的數(shù)據(jù)全同步方法的流程示意圖。如圖2所示,該方法包括以下步驟:
步驟S200,向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,以使第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識。
這里的第二設(shè)備存儲有用戶寫入的完整的數(shù)據(jù)。其中,端口信息是第一設(shè)備的標(biāo)識信息,第二設(shè)備可根據(jù)端口信息識別出是哪個(gè)設(shè)備要求同步數(shù)據(jù),以及需要向哪個(gè)設(shè)備發(fā)送待同步數(shù)據(jù)。
在本發(fā)明實(shí)施例中,第一文件偏移量是已同步至第一設(shè)備的數(shù)據(jù)對應(yīng)于操作日志文件的文件偏移量,也就是說,根據(jù)該第一文件偏移量可以確定第二設(shè)備中哪些數(shù)據(jù)已被同步至第一設(shè)備,以及根據(jù)第一文件偏移量可以確定本次需要同步的數(shù)據(jù)。
第一設(shè)備在需要同步數(shù)據(jù)時(shí),可以根據(jù)第二設(shè)備的IP地址向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,使第二設(shè)備可以獲知需要進(jìn)行數(shù)據(jù)同步的設(shè)備以及確定本次需要同步的數(shù)據(jù),這里第一設(shè)備并未與第二設(shè)備建立連接。
第二設(shè)備在接收到第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求后,根據(jù)第一文件偏移量在第二設(shè)備操作日志文件中查找與第一文件偏移量對應(yīng)的操作日志,第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識。
本實(shí)施例中,第二設(shè)備當(dāng)前所有數(shù)據(jù)指備份時(shí)已寫入到第二設(shè)備中的所有數(shù)據(jù),文件標(biāo)識用于標(biāo)識第二設(shè)備已備份完成快照文件,僅在包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件備份結(jié)束后,快照文件中才包含文件標(biāo)識,該文件標(biāo)識不僅標(biāo)識了第二設(shè)備已備份完成快照文件,而且還是第一設(shè)備是否加載數(shù)據(jù)的依據(jù),第一設(shè)備僅在快照文件中包含文件標(biāo)識的情況下,才會加載第二設(shè)備當(dāng)前所有數(shù)據(jù),若快照文件中不包含文件標(biāo)識,第一設(shè)備將不會加載第二設(shè)備發(fā)送的數(shù)據(jù)。
步驟S201,根據(jù)第二設(shè)備發(fā)送的包含有文件標(biāo)識的快照文件,加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
第二設(shè)備可以在備份完包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件后,可以根據(jù)步驟S200中接收到的端口信息將備份的快照文件發(fā)送給第一設(shè)備,第一設(shè)備可以檢測快照文件中是否包含文件標(biāo)識,快照文件中包含文件標(biāo)識時(shí),第一設(shè)備將加載第二設(shè)備當(dāng)前所有數(shù)據(jù),完成同步過程。
在本發(fā)明一種可選實(shí)施方式中,第二設(shè)備在備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件時(shí),會記錄備份時(shí)的第二文件偏移量,并將第二文件偏移量同快照文件一起發(fā)送給第一設(shè)備,因此,第一設(shè)備在加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后將第一文件偏移量更新為第二文件偏移量,也就是說,第二文件偏移量是第二設(shè)備在備份包含第二設(shè)備所有數(shù)據(jù)的快照文件時(shí)記錄的文件偏移量;在將第一文件偏移量更新為第二文件偏移量后,第一設(shè)備可以向第二設(shè)備發(fā)送攜帶有第二文件偏移量的數(shù)據(jù)同步請求,以供第二設(shè)備將第二設(shè)備操作日志文件中的起始于第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備,以部分同步從第二文件偏移量對應(yīng)的數(shù)據(jù)之后寫入第二設(shè)備的數(shù)據(jù)。
在本發(fā)明一種可選實(shí)施方式中,為了避免占用磁盤空間,可以每隔預(yù)設(shè)時(shí)間刪除預(yù)設(shè)數(shù)量的操作日志文件,就可能出現(xiàn)在第二設(shè)備操作日志中未找到與第一文件偏移量對應(yīng)的操作日志,此時(shí)第二設(shè)備會向第一設(shè)備發(fā)送未找到與第一文件偏移量對應(yīng)的操作日志需要數(shù)據(jù)全同步的通知消息,第一設(shè)備接收第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí)發(fā)送的數(shù)據(jù)全同步的通知消息,并根據(jù)通知消息確定是否等待同步數(shù)據(jù)。
具體地,第二設(shè)備存儲了大量的數(shù)據(jù),因此,備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件過程需要占用很長時(shí)間,也就是說,數(shù)據(jù)全同步是非常耗時(shí)的過程,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),第二設(shè)備可以向第一設(shè)備發(fā)送需要進(jìn)行數(shù)據(jù)全同步的通知消息,告知第一設(shè)備,第二設(shè)備需要備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,使得第一設(shè)備可以根據(jù)該通知消息確定是否等待同步數(shù)據(jù),若第一設(shè)備同意等待,第一設(shè)備將不執(zhí)行其他任務(wù);若第一設(shè)備不同意等待,第一設(shè)備可以去執(zhí)行其他任務(wù),待收到文件標(biāo)識后,再加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
在本發(fā)明一種可選實(shí)施方式中,第二設(shè)備在將快照文件發(fā)送給第一設(shè)備后,第一設(shè)備可能會由于網(wǎng)絡(luò)不穩(wěn)定等原因,而未成功加載第二設(shè)備當(dāng)前所有數(shù)據(jù),這樣第一設(shè)備可以嘗試再次向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,具體地,第一設(shè)備在加載第二設(shè)備的數(shù)據(jù)失敗后再次向第二設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。若第一設(shè)備還未成功加載第二設(shè)備當(dāng)前所有數(shù)據(jù),還可以進(jìn)行再一次的嘗試,其中,第一設(shè)備可以嘗試預(yù)設(shè)次數(shù),預(yù)設(shè)次數(shù)可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,例如設(shè)置為3次,兩次嘗試發(fā)送數(shù)據(jù)同步請求的時(shí)間間隔需要達(dá)到預(yù)設(shè)時(shí)間間隔,例如1毫秒,這里僅僅是舉例說明,不具有任何限定作用。這里不需要第一設(shè)備與第二設(shè)備之間的交互,簡化了處理邏輯。
根據(jù)本發(fā)明上述實(shí)施例提供的方法,向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,以使第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識;根據(jù)第二設(shè)備發(fā)送的包含有文件標(biāo)識的快照文件,加載第二設(shè)備當(dāng)前所有數(shù)據(jù)?;诒景l(fā)明上述實(shí)施例提供的方案,減少了設(shè)備間的交互且無需建立并維護(hù)設(shè)備間關(guān)系,克服了現(xiàn)有技術(shù)中需要維護(hù)大量主從狀態(tài)而導(dǎo)致第二設(shè)備處理效率低、負(fù)荷重等缺陷。
圖3示出了根據(jù)本發(fā)明實(shí)施例三的設(shè)備間的數(shù)據(jù)全同步裝置的結(jié)構(gòu)示意圖。如圖3所示,該裝置300包括:第一接收模塊310、備份模塊320、第一發(fā)送模塊330。
第一接收模塊310,適于接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。
備份模塊320,適于當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識。
第一發(fā)送模塊330,適于根據(jù)端口信息將快照文件發(fā)送給第一設(shè)備,以使第一設(shè)備根據(jù)文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
可選地,裝置還包括:記錄模塊,適于記錄備份時(shí)的第二文件偏移量。
可選地,第一接收模塊進(jìn)一步適于:接收第一設(shè)備發(fā)送的攜帶有第二文件偏移量的數(shù)據(jù)同步請求,其中在第一設(shè)備加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后將第一文件偏移量更新為第二文件偏移量;
第一發(fā)送模塊進(jìn)一步適于:根據(jù)第二文件偏移量將第二設(shè)備操作日志文件中的起始于第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備,以供第一設(shè)備根據(jù)所接收到的第二設(shè)備操作日志進(jìn)行相應(yīng)的數(shù)據(jù)操作進(jìn)而完成第二設(shè)備和第一設(shè)備之間的數(shù)據(jù)同步。
可選地,第一發(fā)送模塊進(jìn)一步適于:當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),向第一設(shè)備發(fā)送數(shù)據(jù)全同步的通知消息,以使第一設(shè)備根據(jù)通知消息確定是否等待同步數(shù)據(jù)。
可選地,第一接收模塊進(jìn)一步適于:接收第一設(shè)備加載第二設(shè)備的數(shù)據(jù)失敗后再次發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。
可選地,第二設(shè)備操作日志文件有多個(gè),每個(gè)第二設(shè)備操作日志文件具有唯一的文件編號;第一文件偏移量包括:文件編號和文件內(nèi)偏移量。
根據(jù)本發(fā)明上述實(shí)施例提供的裝置,接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,當(dāng)在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識,根據(jù)端口信息將快照文件發(fā)送給第一設(shè)備,以使第一設(shè)備根據(jù)文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)?;诒景l(fā)明實(shí)施例的方案,第二設(shè)備無需向第一設(shè)備發(fā)送快照文件備份已完成及可以加載數(shù)據(jù)的通知消息,減少了設(shè)備間的交互且無需建立并維護(hù)設(shè)備間關(guān)系,克服了現(xiàn)有技術(shù)中需要維護(hù)大量主從狀態(tài)而導(dǎo)致第二設(shè)備處理效率低、負(fù)荷重等缺陷。
圖4示出了根據(jù)本發(fā)明實(shí)施例四的設(shè)備間的數(shù)據(jù)全同步裝置的結(jié)構(gòu)示意圖。如圖4所示,該裝置400包括:第二發(fā)送模塊410、同步模塊420。
第二發(fā)送模塊410,適于向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,以使第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識。
同步模塊420,適于根據(jù)第二設(shè)備發(fā)送的包含有文件標(biāo)識的快照文件,加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
可選地,裝置還包括:更新模塊,適于在加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后將第一文件偏移量更新為第二文件偏移量,其中第二文件偏移量是第二設(shè)備在備份包含第二設(shè)備所有數(shù)據(jù)的快照文件時(shí)記錄的文件偏移量;
第二發(fā)送模塊進(jìn)一步適于:向第二設(shè)備發(fā)送攜帶有第二文件偏移量的數(shù)據(jù)同步請求,以供第二設(shè)備將第二設(shè)備操作日志文件中的起始于第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備。
可選地,裝置還包括:第二接收模塊,適于接收第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí)發(fā)送的數(shù)據(jù)全同步的通知消息;
確定模塊,適于根據(jù)通知消息確定是否等待同步數(shù)據(jù)。
可選地,第二發(fā)送模塊進(jìn)一步適于:在加載第二設(shè)備的數(shù)據(jù)失敗后再次向第二設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。
根據(jù)本發(fā)明上述實(shí)施例提供的裝置,向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,以使第二設(shè)備在第二設(shè)備操作日志文件中未找到與第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,快照文件中包含文件標(biāo)識;根據(jù)第二設(shè)備發(fā)送的包含有文件標(biāo)識的快照文件,加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。基于本發(fā)明上述實(shí)施例提供的方案,減少了設(shè)備間的交互且無需建立并維護(hù)設(shè)備間關(guān)系,克服了現(xiàn)有技術(shù)中需要維護(hù)大量主從狀態(tài)而導(dǎo)致第二設(shè)備處理效率低、負(fù)荷重等缺陷。
圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的設(shè)備間的數(shù)據(jù)全同步系統(tǒng)的結(jié)構(gòu)示意圖。如圖5所示,該系統(tǒng)500包括:實(shí)施例三中的設(shè)備間的數(shù)據(jù)全同步裝置300和實(shí)施例四中的設(shè)備間的數(shù)據(jù)全同步裝置400。
根據(jù)本發(fā)明上述實(shí)施例提供的系統(tǒng),第二設(shè)備無需向第一設(shè)備發(fā)送快照文件備份已完成及可以加載數(shù)據(jù)的通知消息,減少了設(shè)備間的交互且無需建立并維護(hù)設(shè)備間關(guān)系,克服了現(xiàn)有技術(shù)中需要維護(hù)大量主從狀態(tài)而導(dǎo)致第二設(shè)備處理效率低、負(fù)荷重等缺陷。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的設(shè)備間的數(shù)據(jù)全同步設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了:
A1、一種設(shè)備間的數(shù)據(jù)全同步方法,其包括:
接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求;
當(dāng)在第二設(shè)備操作日志文件中未找到與所述第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,所述快照文件中包含文件標(biāo)識;
根據(jù)所述端口信息將所述快照文件發(fā)送給第一設(shè)備,以使所述第一設(shè)備根據(jù)所述文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
A2、根據(jù)A1所述的方法,其中,在所述備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件之后,所述方法還包括:記錄備份時(shí)的第二文件偏移量。
A3、根據(jù)A2所述的方法,其中,所述方法還包括:
接收所述第一設(shè)備發(fā)送的攜帶有第二文件偏移量的數(shù)據(jù)同步請求,其中在第一設(shè)備加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后將第一文件偏移量更新為第二文件偏移量;
根據(jù)所述第二文件偏移量將第二設(shè)備操作日志文件中的起始于所述第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備,以供第一設(shè)備根據(jù)所接收到的第二設(shè)備操作日志進(jìn)行相應(yīng)的數(shù)據(jù)操作進(jìn)而完成第二設(shè)備和第一設(shè)備之間的數(shù)據(jù)同步。
A4、根據(jù)A1-A3任一項(xiàng)所述的方法,其中,所述方法還包括:
當(dāng)在第二設(shè)備操作日志文件中未找到與所述第一文件偏移量對應(yīng)的操作日志時(shí),向所述第一設(shè)備發(fā)送數(shù)據(jù)全同步的通知消息,以使所述第一設(shè)備根據(jù)所述通知消息確定是否等待同步數(shù)據(jù)。
A5、根據(jù)A1所述的方法,其中,所述方法還包括:
接收第一設(shè)備加載第二設(shè)備的數(shù)據(jù)失敗后再次發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。
A6、根據(jù)A1所述的方法,其中,所述第二設(shè)備操作日志文件有多個(gè),每個(gè)第二設(shè)備操作日志文件具有唯一的文件編號;
第一文件偏移量包括:文件編號和文件內(nèi)偏移量。
B7、一種設(shè)備間的數(shù)據(jù)全同步方法,其包括:
向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,以使所述第二設(shè)備在第二設(shè)備操作日志文件中未找到與所述第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,所述快照文件中包含文件標(biāo)識;
根據(jù)所述第二設(shè)備發(fā)送的包含有文件標(biāo)識的快照文件,加載所述第二設(shè)備當(dāng)前所有數(shù)據(jù)。
B8、根據(jù)B7所述的方法,其中,所述方法還包括:
在加載完所述第二設(shè)備當(dāng)前所有數(shù)據(jù)后將第一文件偏移量更新為第二文件偏移量,其中所述第二文件偏移量是第二設(shè)備在所述備份包含第二設(shè)備所有數(shù)據(jù)的快照文件時(shí)記錄的文件偏移量;
向所述第二設(shè)備發(fā)送攜帶有第二文件偏移量的數(shù)據(jù)同步請求,以供第二設(shè)備將第二設(shè)備操作日志文件中的起始于所述第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備。
B9、根據(jù)B7或B8所述的方法,其中,所述方法還包括:
接收所述第二設(shè)備在第二設(shè)備操作日志文件中未找到與所述第一文件偏移量對應(yīng)的操作日志時(shí)發(fā)送的數(shù)據(jù)全同步的通知消息,并根據(jù)所述通知消息確定是否等待同步數(shù)據(jù)。
B10、根據(jù)B7所述的方法,其中,所述方法還包括:在加載第二設(shè)備的數(shù)據(jù)失敗后再次向第二設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。
C11、一種設(shè)備間的數(shù)據(jù)全同步裝置,其包括:
第一接收模塊,適于接收第一設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求;
備份模塊,適于當(dāng)在第二設(shè)備操作日志文件中未找到與所述第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,所述快照文件中包含文件標(biāo)識;
第一發(fā)送模塊,適于根據(jù)所述端口信息將所述快照文件發(fā)送給第一設(shè)備,以使所述第一設(shè)備根據(jù)所述文件標(biāo)識加載第二設(shè)備當(dāng)前所有數(shù)據(jù)。
C12、根據(jù)C11所述的裝置,其中,所述裝置還包括:記錄模塊,適于記錄備份時(shí)的第二文件偏移量。
C13、根據(jù)C12所述的裝置,其中,所述第一接收模塊進(jìn)一步適于:接收所述第一設(shè)備發(fā)送的攜帶有第二文件偏移量的數(shù)據(jù)同步請求,其中在第一設(shè)備加載完第二設(shè)備當(dāng)前所有數(shù)據(jù)后將第一文件偏移量更新為第二文件偏移量;
所述第一發(fā)送模塊進(jìn)一步適于:根據(jù)所述第二文件偏移量將第二設(shè)備操作日志文件中的起始于所述第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備,以供第一設(shè)備根據(jù)所接收到的第二設(shè)備操作日志進(jìn)行相應(yīng)的數(shù)據(jù)操作進(jìn)而完成第二設(shè)備和第一設(shè)備之間的數(shù)據(jù)同步。
C14、根據(jù)C11-C13任一項(xiàng)所述的裝置,其中,所述第一發(fā)送模塊進(jìn)一步適于:當(dāng)在第二設(shè)備操作日志文件中未找到與所述第一文件偏移量對應(yīng)的操作日志時(shí),向所述第一設(shè)備發(fā)送數(shù)據(jù)全同步的通知消息,以使所述第一設(shè)備根據(jù)所述通知消息確定是否等待同步數(shù)據(jù)。
C15、根據(jù)C11所述的裝置,其中,所述第一接收模塊進(jìn)一步適于:接收第一設(shè)備加載第二設(shè)備的數(shù)據(jù)失敗后再次發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。
C16、根據(jù)C11所述的裝置,其中,所述第二設(shè)備操作日志文件有多個(gè),每個(gè)第二設(shè)備操作日志文件具有唯一的文件編號;
第一文件偏移量包括:文件編號和文件內(nèi)偏移量。
D17、一種設(shè)備間的數(shù)據(jù)全同步裝置,其包括:
第二發(fā)送模塊,適于向第二設(shè)備發(fā)送攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求,以使所述第二設(shè)備在第二設(shè)備操作日志文件中未找到與所述第一文件偏移量對應(yīng)的操作日志時(shí),備份包含第二設(shè)備當(dāng)前所有數(shù)據(jù)的快照文件,其中,所述快照文件中包含文件標(biāo)識;
同步模塊,適于根據(jù)所述第二設(shè)備發(fā)送的包含有文件標(biāo)識的快照文件,加載所述第二設(shè)備當(dāng)前所有數(shù)據(jù)。
D18、根據(jù)D17所述的裝置,其中,所述裝置還包括:
更新模塊,適于在加載完所述第二設(shè)備當(dāng)前所有數(shù)據(jù)后將第一文件偏移量更新為第二文件偏移量,其中所述第二文件偏移量是第二設(shè)備在所述備份包含第二設(shè)備所有數(shù)據(jù)的快照文件時(shí)記錄的文件偏移量;
所述第二發(fā)送模塊進(jìn)一步適于:向所述第二設(shè)備發(fā)送攜帶有第二文件偏移量的數(shù)據(jù)同步請求,以供第二設(shè)備將第二設(shè)備操作日志文件中的起始于所述第二文件偏移量的第二設(shè)備操作日志發(fā)送至第一設(shè)備。
D19、根據(jù)D17或D18所述的裝置,其中,所述裝置還包括:
第二接收模塊,適于接收所述第二設(shè)備在第二設(shè)備操作日志文件中未找到與所述第一文件偏移量對應(yīng)的操作日志時(shí)發(fā)送的數(shù)據(jù)全同步的通知消息;
確定模塊,適于根據(jù)所述通知消息確定是否等待同步數(shù)據(jù)。
D20、根據(jù)D17所述的裝置,其中,所述第二發(fā)送模塊進(jìn)一步適于:在加載第二設(shè)備的數(shù)據(jù)失敗后再次向第二設(shè)備發(fā)送的攜帶有端口信息和第一文件偏移量的數(shù)據(jù)同步請求。
E21、一種設(shè)備間的數(shù)據(jù)全同步系統(tǒng),其包括:C11-C16任一項(xiàng)所述的設(shè)備間的數(shù)據(jù)全同步裝置和D17-D20任一項(xiàng)所述的設(shè)備間的數(shù)據(jù)全同步裝置。