專(zhuān)利名稱(chēng):一種數(shù)據(jù)同步方法及裝置的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及數(shù)據(jù)處理技木,尤其涉及ー種數(shù)據(jù)同步方法及裝置。
背景技術(shù):
在一些電子商務(wù)網(wǎng)站的效果付費(fèi)(P4P, Pay For Performance)系統(tǒng)中,是按照效果來(lái)付費(fèi)的,也即在進(jìn)行廣告的收費(fèi)時(shí),只有用戶點(diǎn)擊了廣告才會(huì)進(jìn)行該廣告的扣費(fèi)。在現(xiàn)有的P4P系統(tǒng)中,國(guó)外用戶的廣告點(diǎn)擊數(shù)據(jù)一般由設(shè)置于國(guó)外例如美國(guó)的國(guó)外數(shù)據(jù)中心來(lái)進(jìn)行處理,而設(shè)置于國(guó)內(nèi)的國(guó)內(nèi)數(shù)據(jù)中心則主要處理用戶和客服人員對(duì)于廣 告商家的賬戶操作數(shù)據(jù),例如修改廣告商家的賬戶金額等。P4P系統(tǒng)內(nèi)部維護(hù)有各個(gè)廣告在P4P系統(tǒng)中的位置信息。對(duì)于每ー廣告,不管是國(guó)外用戶對(duì)該廣告的點(diǎn)擊所引起的對(duì)于該廣告的扣費(fèi)數(shù)據(jù),還是廣告商家修改金額引起的賬戶變化等賬戶操作數(shù)據(jù),都會(huì)導(dǎo)致該廣告在P4P系統(tǒng)中的位置發(fā)生變化,該位置的變化可以理解為廣告在P4P系統(tǒng)中的排名,或者廣告在P4P系統(tǒng)中是否可見(jiàn)等。由于P4P系統(tǒng)中存在設(shè)置于不同物理位置的國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心,而廣告的位置變化情況要求兩數(shù)據(jù)中心必須一致。這樣,就要求國(guó)外數(shù)據(jù)中心的扣費(fèi)數(shù)據(jù)能夠同步到國(guó)內(nèi)數(shù)據(jù)中心,而國(guó)內(nèi)數(shù)據(jù)中心的賬戶操作數(shù)據(jù)能夠同步到國(guó)外數(shù)據(jù)中心。而兩個(gè)數(shù)據(jù)中心在處理完數(shù)據(jù)后就要?jiǎng)h除被處理的數(shù)據(jù),以避免重復(fù)操作,影響廣告在P4P系統(tǒng)中的位置。在現(xiàn)有的P4P系統(tǒng)中,進(jìn)行國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心之間扣費(fèi)數(shù)據(jù)以及賬戶操作數(shù)據(jù)等廣告位置相關(guān)數(shù)據(jù)的同步時(shí),在國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心中各設(shè)置有I張數(shù)據(jù)表,用于進(jìn)行廣告位置相關(guān)數(shù)據(jù)的管理,而國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心中的兩張數(shù)據(jù)表之間需要保證數(shù)據(jù)的同步,以便國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心能夠讀取到相同的數(shù)據(jù),進(jìn)行P4P系統(tǒng)中各個(gè)廣告位置的計(jì)算。也即是說(shuō)國(guó)外數(shù)據(jù)中心的第一數(shù)據(jù)表中増加了一條關(guān)于某ー廣告的扣費(fèi)數(shù)據(jù)的記錄時(shí),需要將增加的這條記錄同步到國(guó)外數(shù)據(jù)中心的第ニ數(shù)據(jù)表中,以便國(guó)內(nèi)數(shù)據(jù)中心也能讀取到該條記錄,從而使得兩數(shù)據(jù)中心中計(jì)算得到的各個(gè)廣告在P4P系統(tǒng)中的位置一致。具體的,國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心之間廣告位置相關(guān)數(shù)據(jù)的同步方法包括預(yù)設(shè)同步周期,在同步周期指示的每個(gè)同步時(shí)刻到來(lái)時(shí),國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心之間相互將本地的數(shù)據(jù)表發(fā)送給對(duì)端數(shù)據(jù)中心,以便對(duì)端數(shù)據(jù)中心根據(jù)接收到的數(shù)據(jù)表進(jìn)行本地?cái)?shù)據(jù)表的更新。但是,在以上的數(shù)據(jù)同步方法中,存在以下的情況發(fā)生的可能?chē)?guó)外數(shù)據(jù)中心在本地的第一數(shù)據(jù)表中寫(xiě)入了一條關(guān)于某ー廣告的扣費(fèi)數(shù)據(jù)的記錄,而在下ー個(gè)同步時(shí)刻到來(lái)之前,國(guó)外數(shù)據(jù)中心讀取并對(duì)該條記錄進(jìn)行了處理,這吋,國(guó)外數(shù)據(jù)中心將在本地的第一數(shù)據(jù)表中刪除該條記錄,以防止本地對(duì)該條記錄進(jìn)行重復(fù)處理,導(dǎo)致對(duì)應(yīng)廣告的位置產(chǎn)生偏差;但是在國(guó)外數(shù)據(jù)中心刪除該條記錄之前,國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心之間并未進(jìn)行數(shù)據(jù)表的同步,因此,在下ー個(gè)同步時(shí)刻到來(lái)時(shí),國(guó)內(nèi)數(shù)據(jù)中心將無(wú)法從國(guó)外數(shù)據(jù)中心獲取到該條記錄的數(shù)據(jù)。也即是說(shuō),在現(xiàn)有技術(shù)中,由于廣告位置相關(guān)數(shù)據(jù)的同步和刪除是無(wú)序進(jìn)行的,如果出現(xiàn)廣告位置相關(guān)數(shù)據(jù)的寫(xiě)入和刪除操作均在數(shù)據(jù)同步之前進(jìn)行的話,則會(huì)出現(xiàn)被寫(xiě)入和刪除的上述數(shù)據(jù)在另一需要同步的數(shù)據(jù)中心無(wú)法讀取的情況,造成需要同步的廣告位置相關(guān)數(shù)據(jù)的丟失,進(jìn)而造成國(guó)外數(shù)據(jù)中心和國(guó)內(nèi)數(shù)據(jù)中心中廣告位置的不一致。以上僅僅是以P4P系統(tǒng)中被推薦位置相關(guān)數(shù)據(jù)的同步為例進(jìn)行說(shuō)明,而現(xiàn)有技術(shù)中多個(gè)數(shù)據(jù)中心之間進(jìn)行數(shù)據(jù)同步時(shí)的均會(huì)遇到各種數(shù)據(jù)的同步和刪除是無(wú)序進(jìn)行的情況,從而導(dǎo)致在一個(gè)數(shù)據(jù)中心被寫(xiě)入和刪除的數(shù)據(jù)在另一需要同步的數(shù)據(jù)中心無(wú)法讀取的情況,造成需要同步的數(shù)據(jù)的丟失。
發(fā)明內(nèi)容
有鑒于此,本申請(qǐng)要解決的技術(shù)問(wèn)題是,提供ー種數(shù)據(jù)同步方法及裝置,能夠解決由于數(shù)據(jù)的同步和刪除無(wú)序進(jìn)行所導(dǎo)致的同歩數(shù)據(jù)丟失問(wèn)題。為此,本申請(qǐng)實(shí)施例采用如下技術(shù)方案·本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)的同步方法,每ー數(shù)據(jù)中心中設(shè)置數(shù)據(jù)表集合以及備份文件,該方法還包括第一數(shù)據(jù)中心確定進(jìn)行數(shù)據(jù)的寫(xiě)入?yún)?,向第一?shù)據(jù)中心本地的數(shù)據(jù)表集合中第一數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表寫(xiě)入所述數(shù)據(jù),并且,將被寫(xiě)入的所述數(shù)據(jù)同時(shí)寫(xiě)入第一數(shù)據(jù)中心本地的備份文件中;當(dāng)同步時(shí)刻到來(lái)時(shí),將所述備份文件發(fā)送到其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合。本申請(qǐng)實(shí)施例還提供ー種數(shù)據(jù)同步裝置,包括寫(xiě)入?yún)g元,用于確定進(jìn)行數(shù)據(jù)的寫(xiě)入?yún)?,向自身所屬?shù)據(jù)中心本地的數(shù)據(jù)表集合中自身所屬數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表寫(xiě)入所述數(shù)據(jù),并且,將被寫(xiě)入的數(shù)據(jù)同時(shí)寫(xiě)入自身所屬數(shù)據(jù)中心本地的備份文件中;同步單元,用于當(dāng)同步時(shí)刻到來(lái)時(shí),將所述備份文件發(fā)送到其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合;存儲(chǔ)單元,用于存儲(chǔ)自身所屬數(shù)據(jù)中心中設(shè)置的數(shù)據(jù)表集合以及備份文件。對(duì)于上述技術(shù)方案的技術(shù)效果分析如下第一數(shù)據(jù)中心確定進(jìn)行數(shù)據(jù)的寫(xiě)入?yún)迹瑫r(shí)在第一數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表以及備份文件中寫(xiě)入該信息;當(dāng)同步周期確定的同步時(shí)刻到來(lái)時(shí),將所述備份文件發(fā)送到預(yù)設(shè)的其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合,從而當(dāng)數(shù)據(jù)中心從本地的數(shù)據(jù)表集合中讀取并刪除某一數(shù)據(jù)時(shí),備份文件中的數(shù)據(jù)并未受到影響,從而即使數(shù)據(jù)中心在同步之前進(jìn)行了本地?cái)?shù)據(jù)表集合中某些數(shù)據(jù)的寫(xiě)入和刪除,也不會(huì)出現(xiàn)現(xiàn)有技術(shù)中指出的同歩數(shù)據(jù)丟失的問(wèn)題。
圖Ia為本申請(qǐng)實(shí)施例所適用網(wǎng)絡(luò)環(huán)境舉例;圖I為本申請(qǐng)實(shí)施例ー種數(shù)據(jù)同步方法流程示意圖;圖2為本申請(qǐng)實(shí)施例另ー種數(shù)據(jù)同步方法流程示意圖3為本申請(qǐng)實(shí)施例ー種數(shù)據(jù)同步裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下,結(jié)合附圖詳細(xì)說(shuō)明本申請(qǐng)實(shí)施例數(shù)據(jù)同步方法及裝置的實(shí)現(xiàn)。首先,介紹本申請(qǐng)實(shí)施例數(shù)據(jù)同步方法及裝置可以適用的網(wǎng)絡(luò)環(huán)境,其中可以包括至少兩個(gè)數(shù)據(jù)中心,每ー數(shù)據(jù)中心中均進(jìn)行相同或者不同的數(shù)據(jù)的處理;并且,需要將自身獲取到的數(shù)據(jù)同步到其他的數(shù)據(jù)中心。
在圖Ia所示的網(wǎng)絡(luò)環(huán)境舉例中,包括數(shù)據(jù)中心A、數(shù)據(jù)中心B以及數(shù)據(jù)中心C共三個(gè)數(shù)據(jù)中心,兩兩之間相互連接,以進(jìn)行同步數(shù)據(jù)的交互。本申請(qǐng)實(shí)施例出于理解的方便,將以被推薦數(shù)據(jù)的相關(guān)位置數(shù)據(jù)為例來(lái)作為各數(shù)據(jù)中心之間同步的數(shù)據(jù),當(dāng)然本申請(qǐng)對(duì)各數(shù)據(jù)中心之間同步的數(shù)據(jù)本身是什么并不作限定。其中,所述被推薦數(shù)據(jù)可以為廣告,也可以為網(wǎng)絡(luò)交易平臺(tái)中的產(chǎn)品等。當(dāng)被推薦數(shù)據(jù)為廣告時(shí),所述位置相關(guān)數(shù)據(jù)可以為用戶點(diǎn)擊引起的廣告扣費(fèi)數(shù)據(jù);或者,廣告對(duì)應(yīng)賬戶的賬戶操作數(shù)據(jù)等;當(dāng)被推薦數(shù)據(jù)為產(chǎn)品時(shí),所述位置相關(guān)數(shù)據(jù)可以為用戶對(duì)于產(chǎn)品的點(diǎn)擊所引起的扣費(fèi),或者產(chǎn)品對(duì)應(yīng)商家賬戶的帳戶操作數(shù)據(jù)等。圖I為本申請(qǐng)實(shí)施例ー種數(shù)據(jù)同步方法流程示意圖,如圖I所示,該方法包括
預(yù)先在各個(gè)數(shù)據(jù)中心中設(shè)置并存儲(chǔ)數(shù)據(jù)表集合以及備份文件,所述備份文件用于保存自身所屬數(shù)據(jù)中心所寫(xiě)入的數(shù)據(jù),示例性的可以是被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù);步驟101 :第一數(shù)據(jù)處理中心確定進(jìn)行數(shù)據(jù)的寫(xiě)入?yún)?,向第一?shù)據(jù)處理中心本地的數(shù)據(jù)表集合中第一數(shù)據(jù)處理中心對(duì)應(yīng)的數(shù)據(jù)表寫(xiě)入所述數(shù)據(jù),并且,將所述數(shù)據(jù)同時(shí)寫(xiě)入本地的備份文件中;步驟102 :當(dāng)同步時(shí)刻到來(lái)時(shí),將所述備份文件發(fā)送到預(yù)設(shè)的其他數(shù)據(jù)處理中心,以便其他數(shù)據(jù)處理中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合。其中,所述第一數(shù)據(jù)處理中心屬于泛指,可以為圖Ia所示網(wǎng)絡(luò)中的任一數(shù)據(jù)處理中心。其中,可以將一條對(duì)于被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù)作為一條記錄,寫(xiě)入對(duì)應(yīng)的數(shù)據(jù)表和備份文件中。例如,當(dāng)所述被推薦數(shù)據(jù)為廣告時(shí),可以將用戶對(duì)于該廣告的一次點(diǎn)擊所形成的扣費(fèi)數(shù)據(jù)作為一條記錄寫(xiě)入對(duì)應(yīng)的數(shù)據(jù)表和備份文件中,具體需要寫(xiě)入哪些字段信息可以在實(shí)際應(yīng)用中自主設(shè)置,這里不贅述。在圖I所示的本申請(qǐng)實(shí)施例數(shù)據(jù)同步方法中,在各個(gè)數(shù)據(jù)中心中均設(shè)置了備份文件,并且,將需要寫(xiě)入的被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù)同時(shí)寫(xiě)入數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表和備份文件中,每個(gè)同步時(shí)刻需要進(jìn)行數(shù)據(jù)同步吋,將備份文件發(fā)送給其他數(shù)據(jù)中心,而當(dāng)進(jìn)行數(shù)據(jù)的讀取時(shí),仍然從本地?cái)?shù)據(jù)表集合中讀取并刪除對(duì)應(yīng)的數(shù)據(jù),并不進(jìn)行備份文件對(duì)應(yīng)數(shù)據(jù)的刪除,備份文件中的數(shù)據(jù)并未受到影響,從而即使數(shù)據(jù)中心在同步之前進(jìn)行了本地?cái)?shù)據(jù)表中數(shù)據(jù)的刪除,也不會(huì)出現(xiàn)現(xiàn)有技術(shù)中指出的同歩數(shù)據(jù)丟失的問(wèn)題,從而保證了不同數(shù)據(jù)中心中被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù)的一致性,進(jìn)而保證了不同數(shù)據(jù)中心中被推薦數(shù)據(jù)的位置一致。在圖I的基礎(chǔ)上,通過(guò)圖2對(duì)本申請(qǐng)實(shí)施例的數(shù)據(jù)同步方法進(jìn)行更為詳細(xì)的說(shuō)明,如圖2所示,該數(shù)據(jù)同步方法包括預(yù)先在各個(gè)數(shù)據(jù)中心中設(shè)置并存儲(chǔ)數(shù)據(jù)表集合以及備份文件,所述備份文件用于保存?zhèn)浞菸募鶎贁?shù)據(jù)中心所寫(xiě)入的所述位置相關(guān)數(shù)據(jù);所述數(shù)據(jù)表集合用于存儲(chǔ)各個(gè)數(shù)據(jù)中心所寫(xiě)入的所述位置相關(guān)數(shù)據(jù);其中,數(shù)據(jù)中心中存儲(chǔ)的數(shù)據(jù)表集合可以僅包含一個(gè)數(shù)據(jù)表,此時(shí),該數(shù)據(jù)表中可以存儲(chǔ)自身所屬數(shù)據(jù)中心所寫(xiě)入的所述位置相關(guān)數(shù)據(jù),并且還存儲(chǔ)所有與自身所屬數(shù)據(jù)中心進(jìn)行數(shù)據(jù)同步的數(shù)據(jù)中心同步來(lái)的所述位置相關(guān)數(shù)據(jù)。或者,數(shù)據(jù)中心中存儲(chǔ)的數(shù)據(jù)表集合也可以由數(shù)據(jù)中心數(shù)目個(gè)數(shù)據(jù)表構(gòu)成,此時(shí),數(shù)據(jù)表集合中的每個(gè)數(shù)據(jù)表都對(duì)應(yīng)著一個(gè)數(shù)據(jù)中心,例如,第一數(shù)據(jù)中心Al有(η-l)個(gè)需 要與自身進(jìn)行位置相關(guān)數(shù)據(jù)同步的數(shù)據(jù)中心,則第一數(shù)據(jù)中心Al本地設(shè)置的數(shù)據(jù)表集合中將存儲(chǔ)η個(gè)數(shù)據(jù)表,每個(gè)數(shù)據(jù)表對(duì)應(yīng)著ー個(gè)數(shù)據(jù)中心,第一數(shù)據(jù)中心Al對(duì)應(yīng)的數(shù)據(jù)表用于存儲(chǔ)第一數(shù)據(jù)中心Al寫(xiě)入的所述被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù),而其他數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表則用于存儲(chǔ)其他數(shù)據(jù)中心通過(guò)備份文件傳輸來(lái)的同步數(shù)據(jù),也即其他數(shù)據(jù)中心寫(xiě)入的所述被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù)。η是大于I的整數(shù)。步驟201 :第一數(shù)據(jù)中心確定進(jìn)行被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù)的寫(xiě)入?yún)?,向本地的?shù)據(jù)表集合中第一數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表寫(xiě)入所述位置相關(guān)數(shù)據(jù),并且,將被寫(xiě)入的所述位置相關(guān)數(shù)據(jù)同時(shí)寫(xiě)入本地的備份文件中;其中,當(dāng)?shù)谝粩?shù)據(jù)中心本地存儲(chǔ)的數(shù)據(jù)表集合中只包含ー個(gè)數(shù)據(jù)表時(shí),第一數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表即是該數(shù)據(jù)表集合中的這個(gè)數(shù)據(jù)表。步驟202 :當(dāng)同步周期確定的同步時(shí)刻到來(lái)時(shí),第一數(shù)據(jù)中心將本地的備份文件發(fā)送到預(yù)設(shè)的其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合。其中,其他數(shù)據(jù)中心根據(jù)備份文件更新本地?cái)?shù)據(jù)表集合的方法參見(jiàn)步驟203中的描述。步驟203 :接收其他數(shù)據(jù)中心發(fā)來(lái)的備份文件,根據(jù)各個(gè)數(shù)據(jù)中心發(fā)來(lái)的備份文件更新本地的數(shù)據(jù)表集合。第一數(shù)據(jù)中心本地的數(shù)據(jù)表集合中包含數(shù)據(jù)中心數(shù)目個(gè)數(shù)據(jù)表,且每個(gè)數(shù)據(jù)表對(duì)應(yīng)ー個(gè)數(shù)據(jù)中心時(shí),本步驟中的所述根據(jù)各個(gè)數(shù)據(jù)中心發(fā)來(lái)的備份文件更新本地的數(shù)據(jù)表集合可以包括根據(jù)發(fā)送備份文件的數(shù)據(jù)中心,從本地的數(shù)據(jù)表集合中查找得到該數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表,根據(jù)備份文件更新查找得到的所述數(shù)據(jù)表。而第一數(shù)據(jù)中心本地的數(shù)據(jù)表集合中只包含ー個(gè)數(shù)據(jù)表時(shí),本步驟中直接根據(jù)備份文件更新該數(shù)據(jù)表即可。步驟204:第一數(shù)據(jù)中心確定進(jìn)行被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù)的讀取時(shí),從本地?cái)?shù)據(jù)表集合中讀取對(duì)應(yīng)的位置相關(guān)數(shù)據(jù),并相應(yīng)從本地?cái)?shù)據(jù)表集合中刪除被讀取的位置相關(guān)數(shù)據(jù)。步驟205 :當(dāng)刪除周期確定的刪除時(shí)刻到來(lái)時(shí),第一數(shù)據(jù)中心從備份文件中刪除保存時(shí)間超過(guò)預(yù)設(shè)時(shí)間長(zhǎng)度的數(shù)據(jù)。其中,所述預(yù)設(shè)時(shí)間長(zhǎng)度大于所述同步周期,從而保證被刪除的數(shù)據(jù)至少經(jīng)過(guò)了一次數(shù)據(jù)同步,保證備份文件中刪除的數(shù)據(jù)已經(jīng)被同步到了其他數(shù)據(jù)中心中。其中,步驟201 步驟205這5個(gè)步驟的執(zhí)行順序并非是固定的,在實(shí)際應(yīng)用中,數(shù)據(jù)的寫(xiě)入以及讀取一般是可以重復(fù)進(jìn)行,且隨機(jī)觸發(fā)的;而步驟202中觸發(fā)同步操作的時(shí)刻與同步周期有夫,而步驟203中接收其他數(shù)據(jù)中心的備份文件的觸發(fā)時(shí)刻與其他好總段的同步時(shí)刻有關(guān),各個(gè)數(shù)據(jù)中心之間進(jìn)行同步的同步時(shí)刻可以相同,也可以不同,當(dāng)同步時(shí)刻相同吋,步驟202和步驟203需要同時(shí)執(zhí)行;步驟205中觸發(fā)刪除操作的時(shí)刻與刪除周期有夫;另外,在同步周期和刪除周期不同時(shí),在一段足夠長(zhǎng)的時(shí)間中,同步時(shí)刻和刪除時(shí)刻之間并沒(méi)有固定的執(zhí)行順序。其中,所述備份文件可以為數(shù)據(jù)表,或者也可以為其他文件格式,只要能夠?qū)崿F(xiàn)對(duì)于寫(xiě)入數(shù)據(jù)的備份,并有利于其他數(shù)據(jù)中心根據(jù)該備份文件進(jìn)行數(shù)據(jù)表更新即可。對(duì)于通過(guò)數(shù)據(jù)表集合存儲(chǔ)各個(gè)數(shù)據(jù)中心的數(shù)據(jù)的實(shí)現(xiàn)方式,現(xiàn)通過(guò)舉例進(jìn)行更為具體的說(shuō)明 假設(shè)存在數(shù)據(jù)中心A和數(shù)據(jù)中心B兩個(gè)數(shù)據(jù)中心,數(shù)據(jù)中心A中建立了數(shù)據(jù)表messageA、messageA_sync (MessageA 的備份文件)、messageB_sync (數(shù)據(jù)中心 B 的備份文件MessageB_sync在數(shù)據(jù)中心A上的同步文件),數(shù)據(jù)中心B中建立了數(shù)據(jù)表messageB、messageA_sync (數(shù)據(jù)中心A的備份文件MessageA_sync在數(shù)據(jù)中心B上的同步文件)、messageB_sync (MessageB 的備份文件),數(shù)據(jù)中心 A 的數(shù)據(jù)寫(xiě)入MessageA,MessageA_sync,數(shù)據(jù)中心B的數(shù)據(jù)寫(xiě)入MessageB, MessageB-sync。進(jìn)行同步時(shí),數(shù)據(jù)中心A將備份文件MessageA_sync同步到數(shù)據(jù)中心B的MessageA_sync,數(shù)據(jù)中心B將備份文件MessageB_sync同步到A地的MessageB_sync。進(jìn)行數(shù)據(jù)的讀取并刪除的時(shí)候,數(shù)據(jù)中心A讀取MessageA 和 MessageB_sync,數(shù)據(jù)中心 B 讀取 MessageB 和 MessageB_sync ;從而最終實(shí)現(xiàn)了本申請(qǐng)實(shí)施例的數(shù)據(jù)同步。與上述的被推薦數(shù)據(jù)的位置相關(guān)數(shù)據(jù)同步的方法相對(duì)的,本申請(qǐng)實(shí)施例還提供一種數(shù)據(jù)同步裝置,該裝置可以設(shè)置于各個(gè)數(shù)據(jù)中心中,以便實(shí)現(xiàn)數(shù)據(jù)中心之間數(shù)據(jù)的同歩。如圖3所示,該裝置包括寫(xiě)入?yún)g元310,用于確定進(jìn)行數(shù)據(jù)的寫(xiě)入時(shí),向自身所屬數(shù)據(jù)中心本地的數(shù)據(jù)表集合中自身所屬數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表寫(xiě)入所述數(shù)據(jù),并且,將被寫(xiě)入的所述數(shù)據(jù)同時(shí)寫(xiě)入本地的備份文件中;同步單元320,用于當(dāng)同步時(shí)刻到來(lái)時(shí),將所述備份文件發(fā)送到預(yù)設(shè)的其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合;存儲(chǔ)單元330,用于存儲(chǔ)數(shù)據(jù)表集合以及備份文件。優(yōu)選地,該裝置還可以包括讀取單元340,用于確定進(jìn)行數(shù)據(jù)的讀取時(shí),從本地的數(shù)據(jù)表中讀取對(duì)應(yīng)的數(shù)據(jù),并從本地的數(shù)據(jù)表中刪除所讀取的所述數(shù)據(jù)。優(yōu)選地,該裝置還可以包括刪除單元350,用于當(dāng)刪除時(shí)刻到來(lái)吋,從備份文件中刪除保存時(shí)間超過(guò)預(yù)設(shè)時(shí)間長(zhǎng)度的所述數(shù)據(jù)。優(yōu)選地,該裝置還可以包括更新単元360,用于接收其他數(shù)據(jù)中心發(fā)來(lái)的備份文件,根據(jù)各個(gè)數(shù)據(jù)中心發(fā)來(lái)的備份文件更新本地的數(shù)據(jù)表集合。優(yōu)選地,當(dāng)存儲(chǔ)單元330所存儲(chǔ)的數(shù)據(jù)表集合包括數(shù)據(jù)中心數(shù)目個(gè)數(shù)據(jù)表,且每ー數(shù)據(jù)表對(duì)應(yīng)ー數(shù)據(jù)中心時(shí);相應(yīng)的,更新単元360具體用于接收其他數(shù)據(jù)中心發(fā)來(lái)的備份文件,根據(jù)發(fā)送備份文件的數(shù)據(jù)中心,從本地的數(shù)據(jù)表中查找得到該數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表,根據(jù)備份文件更新查找得到的所述數(shù)據(jù)表。優(yōu)選地,所述預(yù)設(shè)時(shí)間長(zhǎng)度不小于刪除周期。所述備份文件為數(shù)據(jù)表,或者也可以為其他文件格式,只要能夠?qū)崿F(xiàn)對(duì)于寫(xiě)入數(shù)據(jù)的備份,并有利于其他數(shù)據(jù)中心根據(jù)該備份文件進(jìn)行數(shù)據(jù)表更新即可。圖3所示的數(shù)據(jù)同步裝置中,寫(xiě)入?yún)g元確定進(jìn)行數(shù)據(jù)的寫(xiě)入?yún)?,同時(shí)在所屬數(shù)據(jù)中心對(duì)應(yīng)的本地?cái)?shù)據(jù)表以及備份文件中寫(xiě)入數(shù)據(jù);當(dāng)同步周期確定的同步時(shí)刻到來(lái)吋,同步單元將所述備份文件發(fā)送到預(yù)設(shè)的其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件·更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合,從而當(dāng)數(shù)據(jù)中心從本地的數(shù)據(jù)表集合中讀取并刪除所述數(shù)據(jù)時(shí),備份文件中的數(shù)據(jù)并未受到影響,從而即使數(shù)據(jù)中心在同步之前進(jìn)行了本地?cái)?shù)據(jù)表中某個(gè)或某些數(shù)據(jù)的刪除,也不會(huì)出現(xiàn)現(xiàn)有技術(shù)中指出的同歩數(shù)據(jù)丟失的問(wèn)題。所述數(shù)據(jù)表以及備份文件在進(jìn)行管理時(shí),可以選擇mysql或者oracle等能夠支持?jǐn)?shù)據(jù)同步的數(shù)據(jù)庫(kù)系統(tǒng)。本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例的方法的過(guò)程可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí)執(zhí)行上述方法中的對(duì)應(yīng)步驟。所述的存儲(chǔ)介質(zhì)可以如R0M/RAM、磁碟、光盤(pán)等。以上所述僅是本申請(qǐng)的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本申請(qǐng)?jiān)淼那疤嵯?,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本申請(qǐng)的保護(hù)范圍。
權(quán)利要求
1.一種數(shù)據(jù)的同步方法,其特征在于,每ー數(shù)據(jù)中心中設(shè)置數(shù)據(jù)表集合以及備份文件,該方法還包括 第一數(shù)據(jù)中心確定進(jìn)行數(shù)據(jù)的寫(xiě)入時(shí),向第一數(shù)據(jù)中心本地的數(shù)據(jù)表集合中第一數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表寫(xiě)入所述數(shù)據(jù),并且,將被寫(xiě)入的所述數(shù)據(jù)同時(shí)寫(xiě)入第一數(shù)據(jù)中心本地的備份文件中; 當(dāng)同步時(shí)刻到來(lái)時(shí),將所述備份文件發(fā)送到其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,還包括 確定進(jìn)行數(shù)據(jù)的讀取時(shí),第一數(shù)據(jù)中心從本地的數(shù)據(jù)表集合中讀取對(duì)應(yīng)的數(shù)據(jù),并從本地的數(shù)據(jù)表集合中刪除所讀取的數(shù)據(jù)。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,還包括 當(dāng)刪除時(shí)刻到來(lái)時(shí),第一數(shù)據(jù)中心從備份文件中刪除保存時(shí)間超過(guò)預(yù)設(shè)時(shí)間長(zhǎng)度的數(shù)據(jù)。
4.根據(jù)權(quán)利要求I至3任一項(xiàng)所述的方法,其特征在于,還包括 接收其他數(shù)據(jù)中心發(fā)來(lái)的備份文件,根據(jù)各個(gè)數(shù)據(jù)中心發(fā)來(lái)的備份文件更新本地的數(shù)據(jù)表集合。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,第一數(shù)據(jù)中心本地的數(shù)據(jù)表集合中包含數(shù)據(jù)中心數(shù)據(jù)個(gè)數(shù)據(jù)表,且每ー數(shù)據(jù)表對(duì)應(yīng)ー數(shù)據(jù)中心;相應(yīng)的,所述根據(jù)各個(gè)數(shù)據(jù)中心發(fā)來(lái)的備份文件更新本地的數(shù)據(jù)表集合包括 根據(jù)發(fā)送備份文件的數(shù)據(jù)中心,從本地的數(shù)據(jù)表中查找得到發(fā)送備份文件的數(shù)據(jù)中心所對(duì)應(yīng)的數(shù)據(jù)表,根據(jù)備份文件更新查找得到的所述數(shù)據(jù)表。
6.ー種數(shù)據(jù)同步裝置,其特征在于,包括 寫(xiě)入?yún)g元,用于確定進(jìn)行數(shù)據(jù)的寫(xiě)入?yún)?,向自身所屬?shù)據(jù)中心本地的數(shù)據(jù)表集合中自身所屬數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表寫(xiě)入所述數(shù)據(jù),并且,將被寫(xiě)入的數(shù)據(jù)同時(shí)寫(xiě)入自身所屬數(shù)據(jù)中心本地的備份文件中; 同步單元,用于當(dāng)同步時(shí)刻到來(lái)時(shí),將所述備份文件發(fā)送到其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合; 存儲(chǔ)單元,用于存儲(chǔ)自身所屬數(shù)據(jù)中心中設(shè)置的數(shù)據(jù)表集合以及備份文件。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括 讀取單元,用于確定進(jìn)行數(shù)據(jù)的讀取時(shí),從本地的數(shù)據(jù)表中讀取對(duì)應(yīng)的數(shù)據(jù),并從本地的數(shù)據(jù)表中刪除所讀取的數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括 刪除單元,用于當(dāng)刪除時(shí)刻到來(lái)吋,從備份文件中刪除保存時(shí)間超過(guò)預(yù)設(shè)時(shí)間長(zhǎng)度的數(shù)據(jù)。
9.根據(jù)權(quán)利要求6至8任一項(xiàng)所述的裝置,其特征在于,還包括 更新単元,用于接收其他數(shù)據(jù)中心發(fā)來(lái)的備份文件,根據(jù)各個(gè)數(shù)據(jù)中心發(fā)來(lái)的備份文件更新存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)表集合。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在干,存儲(chǔ)單元所存儲(chǔ)的數(shù)據(jù)表集合包括數(shù)據(jù)中心數(shù)目個(gè)數(shù)據(jù)表,且每個(gè)數(shù)據(jù)表對(duì)應(yīng)ー數(shù)據(jù)中心;相應(yīng)的,更新単元具體用于接收其他數(shù)據(jù)中心 發(fā)來(lái)的備份文件,根據(jù)發(fā)送備份文件的數(shù)據(jù)中心,從存儲(chǔ)単元存儲(chǔ)的數(shù)據(jù)表中查找得到發(fā)送備份文件的數(shù)據(jù)中心所對(duì)應(yīng)的數(shù)據(jù)表,根據(jù)備份文件更新查找得到的所述數(shù)據(jù)表。
全文摘要
本申請(qǐng)公開(kāi)了一種數(shù)據(jù)的同步方法,每一數(shù)據(jù)中心中設(shè)置數(shù)據(jù)表集合以及備份文件,該方法還包括第一數(shù)據(jù)中心確定進(jìn)行數(shù)據(jù)的寫(xiě)入時(shí),向第一數(shù)據(jù)中心本地的數(shù)據(jù)表集合中第一數(shù)據(jù)中心對(duì)應(yīng)的數(shù)據(jù)表寫(xiě)入所述數(shù)據(jù),并且,將被寫(xiě)入的所述數(shù)據(jù)同時(shí)寫(xiě)入第一數(shù)據(jù)中心本地的備份文件中;當(dāng)同步時(shí)刻到來(lái)時(shí),將所述備份文件發(fā)送到其他數(shù)據(jù)中心,以便其他數(shù)據(jù)中心根據(jù)所述備份文件更新所述其他數(shù)據(jù)中心本地的數(shù)據(jù)表集合。本申請(qǐng)同時(shí)公開(kāi)了一種數(shù)據(jù)同步裝置,該方法及裝置能夠解決由于數(shù)據(jù)的同步和刪除無(wú)序進(jìn)行所導(dǎo)致的同步數(shù)據(jù)丟失問(wèn)題。
文檔編號(hào)H04L29/08GK102843395SQ20111016977
公開(kāi)日2012年12月26日 申請(qǐng)日期2011年6月22日 優(yōu)先權(quán)日2011年6月22日
發(fā)明者李智慧, 梅慶, 桑植, 李彥超, 雷繼斌 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司