两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

業(yè)務(wù)數(shù)據(jù)同步方法、恢復(fù)方法及裝置和網(wǎng)絡(luò)設(shè)備的制作方法

文檔序號:7861352閱讀:216來源:國知局
專利名稱:業(yè)務(wù)數(shù)據(jù)同步方法、恢復(fù)方法及裝置和網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種業(yè)務(wù)數(shù)據(jù)同步方法、恢復(fù)方法及裝置和網(wǎng)絡(luò)設(shè)備。
背景技術(shù)
為提高服務(wù)器系統(tǒng)的可用性,常采用主備冗余設(shè)計,以縮短主服務(wù)器故障導(dǎo)致服務(wù)不可用的時間。高可用集群是服務(wù)器系統(tǒng)主備冗余設(shè)計之一,是以減少服務(wù)中斷時間為目的的服務(wù)器集群技術(shù)。在高可用集群中,如果某個服務(wù)器失效,它的備用服務(wù)器將在短時間內(nèi)接管該服務(wù)器的職責(zé),以使高可用集群的整體服務(wù)盡可能可用,從而減少由集群中硬件和軟件異常所帶來的損失。
要使備用服務(wù)器能夠接管主服務(wù)器的職責(zé),必須保證主備服務(wù)器的數(shù)據(jù)庫完全一致,這就要求數(shù)據(jù)必須實時同步,尤其是對數(shù)據(jù)同步可靠性要求較高的一些關(guān)鍵業(yè)務(wù)數(shù)據(jù),以盡可能減少對于用戶的損失。一種常用的數(shù)據(jù)同步方法是利用數(shù)據(jù)庫現(xiàn)有的復(fù)制技術(shù),以事務(wù)為單位向備用服務(wù)器同步數(shù)據(jù)。由于以事務(wù)為單位的數(shù)據(jù)復(fù)制為異步復(fù)制,實時性受網(wǎng)絡(luò)及主服務(wù)器負(fù)載等因素的影響,所以數(shù)據(jù)庫復(fù)制技術(shù)在數(shù)據(jù)同步過程中存在時延,這就可能造成在主備服務(wù)器切換過程來不及將數(shù)據(jù)同步到備用服務(wù)器,從而導(dǎo)致切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致。

發(fā)明內(nèi)容
本發(fā)明提供一種業(yè)務(wù)數(shù)據(jù)同步方法、恢復(fù)方法及裝置和網(wǎng)絡(luò)設(shè)備,用以保證切換前后主備服務(wù)器的數(shù)據(jù)庫完全一致。本發(fā)明第一方面提供一種業(yè)務(wù)數(shù)據(jù)同步方法,包括作為主服務(wù)器的第一服務(wù)器執(zhí)行同步處理事務(wù);所述同步處理事務(wù)包括執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)、在本地第一業(yè)務(wù)事務(wù)記錄表中記錄所述第一業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中并在所述業(yè)務(wù)事務(wù)日志表中設(shè)置所述第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交,以供所述第二服務(wù)器在切換為主服務(wù)器之后,根據(jù)所述第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表和所述業(yè)務(wù)事務(wù)日志表實現(xiàn)與所述第一服務(wù)器的數(shù)據(jù)庫的同步,所述業(yè)務(wù)事務(wù)日志包括重新執(zhí)行所述第一業(yè)務(wù)事務(wù)所需的信息,所述第二業(yè)務(wù)事務(wù)記錄表用于存儲由所述第一服務(wù)器成功同步到所述第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識;如果所述同步處理事務(wù)執(zhí)行成功,所述第一服務(wù)器設(shè)置所述業(yè)務(wù)事務(wù)日志表中所述第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交;所述第一服務(wù)器執(zhí)行同步事務(wù),所述同步事務(wù)包括向所述第二服務(wù)器同步所述第一業(yè)務(wù)數(shù)據(jù)并將所述第一業(yè)務(wù)事務(wù)記錄表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識寫入所述第二業(yè)務(wù)事務(wù)記錄表中。本發(fā)明第二方面提供一種業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,包括
切換為主服務(wù)器的第二服務(wù)器判斷本地的業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識是否全部存在于本地的第二業(yè)務(wù)事務(wù)記錄表中;所述第二業(yè)務(wù)事務(wù)記錄表用于存儲由切換之前作為主服務(wù)器的第一服務(wù)器成功同步到所述第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識;所述業(yè)務(wù)事務(wù)日志表用于存儲所述第一服務(wù)器在切換之前根據(jù)執(zhí)行同步處理事務(wù)與入的業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和提交狀態(tài) 目息; 如果判斷結(jié)果為否,所述第二服務(wù)器獲取存在于所述業(yè)務(wù)事務(wù)日志表中但不存在于所述第二業(yè)務(wù)事務(wù)記錄表中的第一業(yè)務(wù)事務(wù)的標(biāo)識;如果所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交,所述第二服務(wù)器根據(jù)所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行所述第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)。本發(fā)明第三方面提供一種業(yè)務(wù)數(shù)據(jù)同步裝置,設(shè)置于作為主服務(wù)器的第一服務(wù)器中,所述裝置包括
同步處理模塊,用于執(zhí)行同步處理事務(wù),所述同步處理事務(wù)包括執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)、在所述第一服務(wù)器的第一業(yè)務(wù)事務(wù)記錄表中記錄所述第一業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中并在所述業(yè)務(wù)事務(wù)日志表中設(shè)置所述第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交,以供所述第二服務(wù)器在切換為主服務(wù)器之后,根據(jù)所述第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表和所述業(yè)務(wù)事務(wù)日志表實現(xiàn)與所述第一服務(wù)器的數(shù)據(jù)庫的同步,所述業(yè)務(wù)事務(wù)日志包括重新執(zhí)行所述第一業(yè)務(wù)事務(wù)所需的信息,所述第二業(yè)務(wù)事務(wù)記錄表用于存儲由所述第一服務(wù)器成功同步到所述第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識;設(shè)置模塊,用于在所述同步處理事務(wù)執(zhí)行成功后,設(shè)置所述業(yè)務(wù)事務(wù)日志表中所述第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交;同步模塊,用于執(zhí)行同步事務(wù),所述同步事務(wù)包括向所述第二服務(wù)器同步所述第一業(yè)務(wù)數(shù)據(jù)并將所述第一業(yè)務(wù)事務(wù)記錄表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識寫入所述第二業(yè)務(wù)事務(wù)記錄表中。本發(fā)明第四方面提供一種業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,設(shè)置于切換為主服務(wù)器的第二服務(wù)器中,所述裝置包括判斷模塊,用于判斷所述第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識是否全部存在于所述第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表中;所述第二業(yè)務(wù)事務(wù)記錄表用于存儲由切換之前作為主服務(wù)器的第一服務(wù)器成功同步到所述第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識;所述業(yè)務(wù)事務(wù)日志表用于存儲所述第一服務(wù)器在切換之前根據(jù)執(zhí)行同步處理事務(wù)與入的業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和提交狀態(tài) 目息;獲取模塊,用于在所述判斷模塊的判斷結(jié)果為否時,獲取存在于所述業(yè)務(wù)事務(wù)日志表中但不存在于所述第二業(yè)務(wù)事務(wù)記錄表中的第一業(yè)務(wù)事務(wù)的標(biāo)識;恢復(fù)處理模塊,用于在所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交時,根據(jù)所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行所述第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)。本發(fā)明第五方面提供一種網(wǎng)絡(luò)設(shè)備,包括本發(fā)明第三方面提供的任一業(yè)務(wù)數(shù)據(jù)同步裝置,和/或,本發(fā)明第四方面提供的任一業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置。
本發(fā)明提供的業(yè)務(wù)數(shù)據(jù)同步方法、裝置和網(wǎng)絡(luò)設(shè)備,第一服務(wù)器在作為主服務(wù)器時,通過使用業(yè)務(wù)事務(wù)日志記錄重新執(zhí)行第一業(yè)務(wù)事務(wù)所需的業(yè)務(wù)事務(wù)日志,并將該業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器,在因故障第一服務(wù)器和第二服務(wù)器發(fā)生切換后,第二服務(wù)器在接管第一服務(wù)器的業(yè)務(wù)時,若發(fā)現(xiàn)有業(yè)務(wù)數(shù)據(jù)未能從切換前的第一服務(wù)器上同步過來,則可以根據(jù)業(yè)務(wù)事務(wù)日志重新執(zhí)行相應(yīng)的業(yè)務(wù)事務(wù)進行業(yè)務(wù)數(shù)據(jù)的自動恢復(fù),進而解決了由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題。本發(fā)明提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法、裝置和網(wǎng)絡(luò)設(shè)備,第二服務(wù)器從備用服務(wù)器切換為主服務(wù)器之后,根據(jù)本地的第二業(yè)務(wù)事務(wù)記錄表和業(yè)務(wù)事務(wù)日志表判斷在切換之前第一服務(wù)器是否有未能成功同步過來的業(yè)務(wù)數(shù)據(jù),并在判斷出有未能成功同步的業(yè)務(wù)數(shù)據(jù)后,根據(jù)業(yè)務(wù)事務(wù)日志表中記載的業(yè)務(wù)事務(wù)日志重新執(zhí)行相應(yīng)的業(yè)務(wù)事務(wù)產(chǎn)生業(yè)務(wù)數(shù)據(jù),實現(xiàn)了與第一服務(wù)器的數(shù)據(jù)庫的一致,進而解決了由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題,有利于整個服務(wù)器系統(tǒng)服務(wù)質(zhì)量的提高。


圖I為本發(fā)明一實施例提供的業(yè)務(wù)數(shù)據(jù)同步方法的流程圖;圖2為本發(fā)明一實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法的流程圖;圖3為本發(fā)明一實施例提供的業(yè)務(wù)數(shù)據(jù)同步裝置的結(jié)構(gòu)示意圖;圖4為本發(fā)明一實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明另一實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置的結(jié)構(gòu)示意圖。
具體實施例方式在存在主備冗余設(shè)計的服務(wù)器系統(tǒng)中,現(xiàn)有技術(shù)通常采用數(shù)據(jù)庫復(fù)制技術(shù)進行數(shù)據(jù)同步。數(shù)據(jù)庫復(fù)制技術(shù)是以事務(wù)為單位向備用服務(wù)器同步數(shù)據(jù)的,由于以事務(wù)為單位的數(shù)據(jù)復(fù)制為異步復(fù)制,實時性受網(wǎng)絡(luò)及主服務(wù)器負(fù)載等因素的影響,該數(shù)據(jù)同步過程存在時延,有可能在主備服務(wù)器發(fā)生切換的過程中來不及將主服務(wù)器的數(shù)據(jù)同步到備用服務(wù)器,從而導(dǎo)致切換前后主備服務(wù)器的數(shù)據(jù)庫的不完全一致。針對該問題,本發(fā)明實施例提供一種解決方案。本發(fā)明實施例提供的解決方案的主要核心思想是主服務(wù)器執(zhí)行業(yè)務(wù)事務(wù)產(chǎn)生業(yè)務(wù)數(shù)據(jù)、在本地記錄業(yè)務(wù)事務(wù)的標(biāo)識、根據(jù)業(yè)務(wù)事務(wù)處理過程中的日志信息生成業(yè)務(wù)事務(wù)日志并將業(yè)務(wù)事務(wù)日志寫入備用服務(wù)器;然后主服務(wù)器可以采用各種數(shù)據(jù)同步技術(shù)向備用服務(wù)器實時同步上述業(yè)務(wù)數(shù)據(jù)。上述業(yè)務(wù)事務(wù)日志包括重新執(zhí)行上述業(yè)務(wù)事務(wù)所需的信息。主用服務(wù)器使用業(yè)務(wù)事務(wù)日志記錄重新執(zhí)行上述業(yè)務(wù)事務(wù)所需的信息,然后將該信息寫入備用服務(wù)器,這樣主備服務(wù)器由于故障發(fā)生切換后,備用服務(wù)器在接管主服務(wù)器的業(yè)務(wù)時,若發(fā)現(xiàn)有業(yè)務(wù)數(shù)據(jù)未能從切換前的主服務(wù)器上同步過來,則可以根據(jù)業(yè)務(wù)事務(wù)日志重新執(zhí)行相應(yīng)的業(yè)務(wù)事務(wù)進行業(yè)務(wù)數(shù)據(jù)的自動恢復(fù),進而解決了由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題。
在該解決方案中,主服務(wù)器將業(yè)務(wù)事務(wù)的執(zhí)行、在本地記錄業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將業(yè)務(wù)事務(wù)日志寫入備用服務(wù)器作為一個事務(wù)(本實施稱該事務(wù)為同步處理事務(wù))執(zhí)行,這樣可以保障業(yè)務(wù)事務(wù)的執(zhí)行、記錄業(yè)務(wù)事務(wù)的標(biāo)識和生成業(yè)務(wù)事務(wù)日志的原子性。由于向備用服務(wù)器寫入業(yè)務(wù)事務(wù)日志操作的是對端,雖然無法保證與本地數(shù)據(jù)庫操作之間的原子性,但是向備用服務(wù)器寫入業(yè)務(wù)事務(wù)日志作為一個事務(wù)具有原子性。另夕卜,上述業(yè)務(wù)事務(wù)日志并未參與業(yè)務(wù)數(shù)據(jù)的同步過程,而是主服務(wù)器在執(zhí)行同步處理事務(wù)過程中主動寫入備用服務(wù)器的。對于每一筆業(yè)務(wù)事務(wù)的操 作,主服務(wù)器都能夠產(chǎn)生足以用于重新執(zhí)行該業(yè)務(wù)事務(wù)所需的業(yè)務(wù)級日志(即業(yè)務(wù)事務(wù)日志)。每成功提交一筆業(yè)務(wù)事務(wù),主服務(wù)器都會在備用服務(wù)器上記錄對應(yīng)的業(yè)務(wù)事務(wù)日志。下面實施例將分別描述切換前主服務(wù)器向備用服務(wù)器同步業(yè)務(wù)數(shù)據(jù)的過程和切換后主服務(wù)器根據(jù)業(yè)務(wù)事務(wù)日志恢復(fù)業(yè)務(wù)數(shù)據(jù)的過程。在本發(fā)明以下實施例中,為了便于描述和區(qū)分,將互為備份的兩個服務(wù)器分別成為第一服務(wù)器和第二服務(wù)器。圖I為本發(fā)明一實施例提供的業(yè)務(wù)數(shù)據(jù)同步方法的流程圖。如圖I所示,本實施例的方法包括步驟101、作為主服務(wù)器的第一服務(wù)器執(zhí)行同步處理事務(wù),該同步處理事務(wù)包括執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)、在本地第一業(yè)務(wù)事務(wù)記錄表中記錄第一業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將第一業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中并在業(yè)務(wù)事務(wù)日志表中設(shè)置第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交,以供第二服務(wù)器在切換為主服務(wù)器之后,根據(jù)第二業(yè)務(wù)事務(wù)記錄表和業(yè)務(wù)事務(wù)日志表實現(xiàn)與第一服務(wù)器的數(shù)據(jù)庫的同步,該業(yè)務(wù)事務(wù)日志包括重新執(zhí)行第一業(yè)務(wù)事務(wù)所需的信息,第二業(yè)務(wù)事務(wù)記錄表用于存儲由第一服務(wù)器同步到第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識。在本實施例中,第一服務(wù)器為主服務(wù)器,第二服務(wù)器為備用服務(wù)器。對于每一個業(yè)務(wù)事務(wù),第一服務(wù)器對其處理流程都是相同的,故本實施例以其中一個業(yè)務(wù)事務(wù)為例進行說明,并將該業(yè)務(wù)事務(wù)稱為第一業(yè)務(wù)事務(wù)。在本實施例中,第一服務(wù)器上和第二服務(wù)器上均設(shè)置有一個業(yè)務(wù)事務(wù)記錄表,為便于區(qū)分將第一服務(wù)器上的業(yè)務(wù)事務(wù)記錄表稱為第一業(yè)務(wù)事務(wù)記錄表,將第二服務(wù)器上的業(yè)務(wù)事務(wù)記錄表稱為第二業(yè)務(wù)事務(wù)記錄表。第一業(yè)務(wù)事務(wù)記錄表用于存儲第一服務(wù)器執(zhí)行的業(yè)務(wù)事務(wù)的標(biāo)識(ID),這樣便于第一服務(wù)器知道已經(jīng)處理了哪些業(yè)務(wù)事務(wù);第二業(yè)務(wù)事務(wù)記錄表用于存儲由第一服務(wù)器成功同步到第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識,這樣便于第二服務(wù)器了解第一服務(wù)器將哪些業(yè)務(wù)事務(wù)的業(yè)務(wù)數(shù)據(jù)成功同步過來了。第二服務(wù)器上還設(shè)置有業(yè)務(wù)事務(wù)日志表,該業(yè)務(wù)事務(wù)日志表用于存儲第一服務(wù)器成功執(zhí)行的業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志以及業(yè)務(wù)事務(wù)的提交狀態(tài)信息。對于任何一個事務(wù)來說,在事務(wù)執(zhí)行過程中,所有的操作都是在虛擬的環(huán)境中進行的,只有事務(wù)執(zhí)行成功時才將事務(wù)進行的所有修改更新到數(shù)據(jù)庫的存儲介質(zhì)上,例如硬盤;如果事務(wù)執(zhí)行失敗,需要進行回滾操作,以便可以取消事務(wù)所進行的修改;如果事務(wù)執(zhí)行成功后,再執(zhí)行回滾操作是無效的。這里的事務(wù)執(zhí)行成功也就是該事務(wù)提交成功,事務(wù)執(zhí)行失敗意味著事務(wù)提交失敗。本實施例的同步處理事務(wù)屬于一個事務(wù),業(yè)務(wù)事務(wù)屬于同步處理事務(wù)中的一個操作,因此,同步處理事務(wù)執(zhí)行成功意味著業(yè)務(wù)事務(wù)提交成功,同步處理事務(wù)執(zhí)行失敗也就意味著業(yè)務(wù)事務(wù)提交失敗。其中,如果業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交,意味著同步處理事務(wù)執(zhí)行成功。在本實施例中,第一服務(wù)器將執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)、在本地第一業(yè)務(wù)事務(wù)記錄表中記錄第一業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將第一業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表并在業(yè)務(wù)事務(wù)日志表中設(shè)置第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交這些操作作為一個整體的事務(wù)(即同步處理事務(wù)),以保證各動作之間的原子性。其中,由于將第一業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表并在業(yè)務(wù)事務(wù)日志表中設(shè)置第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交這些操作的對象是對端,所以無法保證與前面幾個操作的原子性,但是這些操作之間具有原子性。步驟102、如果該同步處理事務(wù)執(zhí)行成功,第一服務(wù)器可以設(shè)置業(yè)務(wù)事務(wù)日志表中第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交。首先,第一服務(wù)器會啟動同步處理事務(wù),接著執(zhí)行該同步處理事務(wù)的流程,接下來是同步處理事務(wù)的提交。如果該同步處理事務(wù)執(zhí)行成功,第一服務(wù)器可以設(shè)置業(yè)務(wù)事務(wù)日 志表中第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交,這也表明了第一服務(wù)器的數(shù)據(jù)庫中已經(jīng)存在第一業(yè)務(wù)數(shù)據(jù)??蛇x的,如果該同步處理事務(wù)執(zhí)行失敗,則第一服務(wù)器刪除第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中的第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志以及第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息。此時的提交狀態(tài)信息為未提交。步驟103、第一服務(wù)器執(zhí)行同步事務(wù),該同步事務(wù)包括向第二服務(wù)器提交第一業(yè)務(wù)數(shù)據(jù)并將第一業(yè)務(wù)事務(wù)記錄表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識寫入第二業(yè)務(wù)事務(wù)記錄表中。具體的,如果上述同步處理事務(wù)執(zhí)行成功,則第一服務(wù)器還會向第二服務(wù)器同步第一業(yè)務(wù)數(shù)據(jù)并將第一業(yè)務(wù)事務(wù)記錄表中的第一業(yè)務(wù)事務(wù)的標(biāo)識寫入第二業(yè)務(wù)事務(wù)記錄表中,以便于第二服務(wù)器獲知第一服務(wù)器已經(jīng)成功將第一業(yè)務(wù)數(shù)據(jù)同步過來。其中,第一服務(wù)器可以采用各種數(shù)據(jù)同步技術(shù)向第二服務(wù)器同步第一業(yè)務(wù)數(shù)據(jù)。例如,第一服務(wù)器可以采用數(shù)據(jù)庫復(fù)制技術(shù)向第二服務(wù)器同步第一業(yè)務(wù)數(shù)據(jù)。又例如,第一服務(wù)器也可以采用同步應(yīng)用程序周期性的向第二服務(wù)器同步第一業(yè)務(wù)數(shù)據(jù)。在此說明,本實施例并不限定步驟102和步驟103之間的執(zhí)行順序,可以并行執(zhí)行。在此說明,上述各種操作均是第一服務(wù)器在作為主服務(wù)器的情況下執(zhí)行的。如果第一服務(wù)器在執(zhí)行任何一個操作過程中,與第二服務(wù)器發(fā)生切換(即第一服務(wù)器切換為備用服務(wù)器,而第二服務(wù)器切換為主服務(wù)器),則該操作和該操作之后的操作就會終止。舉例說明如果第一服務(wù)器在執(zhí)行同步處理事務(wù)的過程中,與第二服務(wù)器發(fā)生切換,則該同步處理事務(wù)過程就會中斷,由于同步處理事務(wù)本身的原子性,該同步處理事務(wù)執(zhí)行過程中產(chǎn)生的各種信息都將被回滾,即第一服務(wù)器上在同步處理事務(wù)執(zhí)行過程中產(chǎn)生的信息都將被刪除。但是由于同步處理事務(wù)中將第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器以及設(shè)置第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息無法保證與前述幾個操作之間的原子性,所以如果同步處理事務(wù)執(zhí)行到向第二服務(wù)器寫入第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志以及設(shè)置第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息,則第二服務(wù)器上會存在第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志以及提交狀態(tài)信息等。對于這種情況,第二服務(wù)器將會作為存疑事務(wù)進行處理。如果在同步處理事務(wù)執(zhí)行成功后,第一服務(wù)器設(shè)置第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交過程中,與第二服務(wù)器發(fā)生切換,可能導(dǎo)致第一服務(wù)器來不及將第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息設(shè)置為已提交,在這種情況下,第二服務(wù)器的業(yè)務(wù)事日志表中就會記錄有第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和未提交狀態(tài)信息。在該情況下,由于上述步驟102和步驟103的先后順序不做限定,所以第一服務(wù)器有可能已經(jīng)將第一業(yè)務(wù)數(shù)據(jù)成功同步到第二服務(wù)器的數(shù)據(jù)庫中。如果在同步處理事務(wù)執(zhí)行失敗后,第一服務(wù)器刪除第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中關(guān)于第一業(yè)務(wù)事務(wù)的信息的過程,與第二服務(wù)器發(fā)生切換,則可能導(dǎo)致第一服務(wù)器來不及將第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中關(guān)于第一業(yè)務(wù)事務(wù)的信息刪除,在這種情況下,第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中就會存儲有第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和未提交狀態(tài) 信息。如果在第一服務(wù)器執(zhí)行同步事務(wù)的過程中,與第二服務(wù)器發(fā)生切換,由于同步第一業(yè)務(wù)數(shù)據(jù)需要一定時間(即所謂存在的時延),可能導(dǎo)致第一業(yè)務(wù)數(shù)據(jù)不能成功同步到第二服務(wù)器,則第一服務(wù)器也就不會將第一業(yè)務(wù)事務(wù)的標(biāo)識寫入第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表中,在該情況下,第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中存儲有第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和已提交狀態(tài)信息。由上述可見,在第一服務(wù)器和第二服務(wù)器發(fā)生切換之后,對第二服務(wù)器來說,可以根據(jù)其業(yè)務(wù)事務(wù)日志表和第二業(yè)務(wù)事務(wù)記錄表進行比較,得到以下幾種情況第一種情況業(yè)務(wù)事務(wù)日志表中記錄有第一業(yè)務(wù)事務(wù)的標(biāo)識,且第二業(yè)務(wù)事務(wù)記錄表中存儲有第一業(yè)務(wù)事務(wù)的標(biāo)識。該情況說明第一服務(wù)器在發(fā)生切換之前成功將第一業(yè)務(wù)數(shù)據(jù)同步到了第二服務(wù)器。此時,作為主服務(wù)器的第二服務(wù)器不需要對第一業(yè)務(wù)數(shù)據(jù)進行恢復(fù)處理。第二種情況業(yè)務(wù)事務(wù)日志表中記錄有第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和未提交狀態(tài)信息,而第二業(yè)務(wù)事務(wù)記錄表中未存儲第一業(yè)務(wù)事務(wù)的標(biāo)識。該情況說明第一服務(wù)器在發(fā)生切換之前未能成功將第一業(yè)務(wù)數(shù)據(jù)同步給第二服務(wù)器,且由于業(yè)務(wù)事務(wù)日志表中記錄的提交狀態(tài)信息為未提交,因此,第二服務(wù)器無法判定第一服務(wù)器上的同步處理事務(wù)是否成功提交,所以無法確定第一服務(wù)器的數(shù)據(jù)庫中是否一定存在第一業(yè)務(wù)數(shù)據(jù),故無法確定是否需要重新執(zhí)行第一業(yè)務(wù)事務(wù)。在該情況下,作為主服務(wù)器的第二服務(wù)器可以將第一業(yè)務(wù)事務(wù)作為存疑事務(wù),并將第一業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志存儲到存疑業(yè)務(wù)事務(wù)表中,以等待管理人員進行處理。例如,管理人員可以確定需要對該存疑業(yè)務(wù)進行重做,則第二服務(wù)器可以根據(jù)存疑業(yè)務(wù)事務(wù)表中記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),將該第一業(yè)務(wù)數(shù)據(jù)存儲到本地數(shù)據(jù)庫中從而保持與第一服務(wù)器的數(shù)據(jù)庫的一致。又例如,管理人員可以確定忽略該存疑業(yè)務(wù),即不需要重做該存疑業(yè)務(wù),則第二服務(wù)器可以將存疑業(yè)務(wù)事務(wù)表中存儲的該第一業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志等信息刪除,以防止重復(fù)對該存疑業(yè)務(wù)進行處理。
第三種情況業(yè)務(wù)事務(wù)日志表中存儲有第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和已提交狀態(tài)信息,但第二業(yè)務(wù)事務(wù)記錄表中不存在第一業(yè)務(wù)事務(wù)的標(biāo)識。該情況說明第一服務(wù)器在切換之前成功提交了同步處理事務(wù),第一服務(wù)器的數(shù)據(jù)庫中已經(jīng)存在第一業(yè)務(wù)數(shù)據(jù),但是第一業(yè)務(wù)數(shù)據(jù)未能成功同步到第二服務(wù)器。針對該情況,作為主服務(wù)器的第二服務(wù)器可以根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),將第一業(yè)務(wù)數(shù)據(jù)存儲到本地的數(shù)據(jù)庫中,從而保持與第一服務(wù)器的數(shù)據(jù)庫的一致。由上述可見,本實施例提供的業(yè)務(wù)數(shù)據(jù)同步方法,第一服務(wù)器在作為主服務(wù)器時,通過使用業(yè)務(wù)事務(wù)日志記錄重新執(zhí)行第一業(yè)務(wù)事務(wù)所需的業(yè)務(wù)事務(wù)日志,并將該業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器,在因故障第一服務(wù)器和第二服務(wù)器發(fā)生切換后,第二服務(wù)器在接管第一服務(wù)器的業(yè)務(wù)時,若發(fā)現(xiàn)有業(yè)務(wù)數(shù)據(jù)未能從切換前的第一服務(wù)器上同步過來,則可以根據(jù)業(yè)務(wù)事務(wù)日志重新執(zhí)行相應(yīng)的業(yè)務(wù)事務(wù)進行業(yè)務(wù)數(shù)據(jù)的自動恢復(fù),進而解決了由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題。圖2為本發(fā)明一實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法的流程圖。如圖2所示,本實施 例的方法包括步驟201、切換為主服務(wù)器的第二服務(wù)器判斷本地的業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識是否全部存在于本地的第二業(yè)務(wù)事務(wù)記錄表中;如果判斷結(jié)果為否,執(zhí)行步驟202 ;如果判斷結(jié)果為是,執(zhí)行步驟204。其中,第二業(yè)務(wù)事務(wù)記錄表用于存儲切換之前由作為主服務(wù)器的第一服務(wù)器成功同步到第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識,業(yè)務(wù)事務(wù)日志表用于存儲第一服務(wù)器在切換之前根據(jù)執(zhí)行同步處理事務(wù)寫入的業(yè)務(wù)事務(wù)的標(biāo)識、寫入的業(yè)務(wù)事務(wù)的業(yè)務(wù)事務(wù)日志和寫入的業(yè)務(wù)事務(wù)的提交狀態(tài)信息。在本實施例中,所述切換是指主備服務(wù)器切換,在切換之前,第一服務(wù)器為主服務(wù)器,第二服務(wù)器為備用服務(wù)器,在切換之后,第一服務(wù)器為備用服務(wù)器,第二服務(wù)器為主服務(wù)器。本實施例主要描述的是發(fā)生切換之后,第二服務(wù)器作為主服務(wù)器時進行數(shù)據(jù)恢復(fù)的過程。在第二服務(wù)器上設(shè)置有第二業(yè)務(wù)事務(wù)記錄表和業(yè)務(wù)事務(wù)日志表,這兩個表中的信息都是由切換之前作為主服務(wù)器的第一服務(wù)器寫入的。具體的,第二業(yè)務(wù)事務(wù)記錄表中存儲的是由切換之前作為主服務(wù)器的第一服務(wù)器成功同步到第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識。第一服務(wù)器在作為主服務(wù)器時,會執(zhí)行同步處理事務(wù)并會記錄同步處理事務(wù)過程中執(zhí)行的業(yè)務(wù)事務(wù)的標(biāo)識到第一業(yè)務(wù)事務(wù)記錄表中,如果同步處理事務(wù)執(zhí)行成功,第一服務(wù)器會執(zhí)行同步事務(wù),以向第二服務(wù)器同步該同步處理事務(wù)過程中產(chǎn)生的業(yè)務(wù)數(shù)據(jù)并將第一業(yè)務(wù)事務(wù)記錄表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識同步到第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表中。第一業(yè)務(wù)事務(wù)記錄表設(shè)置在第一服務(wù)器上,用于存儲第一服務(wù)器已經(jīng)成功執(zhí)行的業(yè)務(wù)事務(wù)的標(biāo)識。業(yè)務(wù)事務(wù)日志表中存儲有業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和業(yè)務(wù)事務(wù)的提交狀態(tài)信息。其中,業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志是發(fā)生切換之前作為主服務(wù)器的第一服務(wù)器在執(zhí)行同步處理事務(wù)過程中生成并寫入業(yè)務(wù)事務(wù)日志表中的。另外,在業(yè)務(wù)事務(wù)執(zhí)行過程中,第一服務(wù)器還會在業(yè)務(wù)事務(wù)日志表中設(shè)置業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交,并會在同步處理事務(wù)執(zhí)行成功之后,將業(yè)務(wù)事務(wù)日志表中業(yè)務(wù)事務(wù)的提交狀態(tài)信息設(shè)置為已提交?;诖?,本實施例的業(yè)務(wù)事務(wù)日志表中的提交狀態(tài)信息可能是未提交,有可能是已提交。如果業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交,說明該業(yè)務(wù)事務(wù)對應(yīng)的業(yè)務(wù)數(shù)據(jù)已經(jīng)存在于第一服務(wù)器的數(shù)據(jù)庫中。由上述可見,在發(fā)生切換之后,作為主服務(wù)器的第二服務(wù)器通過比較第二業(yè)務(wù)事務(wù)記錄表和業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識,可以確定哪些業(yè)務(wù)事務(wù)的業(yè)務(wù)數(shù)據(jù)沒有從第一服務(wù)器上成功同步過來。具體的,作為主服務(wù)器的第二服務(wù)器判斷本地的業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識是否全部存在于本地的第二業(yè)務(wù)事務(wù)記錄表中??蛇x的,第二服務(wù)器可以逐一將業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識與第二業(yè)務(wù)事務(wù)記錄表中的業(yè)務(wù)事務(wù)的標(biāo)識進行比較。如果判斷結(jié)果為是,說明切換之前第一服務(wù)器已經(jīng)成功將其上全部的業(yè)務(wù)數(shù)據(jù)同步到了第二服務(wù)器上,則切換之后作為主服務(wù)器的第二服務(wù)器可以直接接管業(yè)務(wù),并開始繼續(xù)對外提供服務(wù),即執(zhí)行步驟204。如果判斷結(jié)果為否,作為主服 務(wù)器的第二服務(wù)器獲取存在于業(yè)務(wù)事務(wù)日志表中但不存在于第二業(yè)務(wù)事務(wù)記錄表中的業(yè)務(wù)事務(wù)的標(biāo)識,即執(zhí)行步驟202。為便于描述,本實施例將存在于業(yè)務(wù)事務(wù)日志表中但不存在于第二業(yè)務(wù)事務(wù)記錄表中的業(yè)務(wù)事務(wù)的標(biāo)識稱為第一業(yè)務(wù)事務(wù)的標(biāo)識。步驟202、第二服務(wù)器獲取存在于業(yè)務(wù)事務(wù)日志表中但不存在于第二業(yè)務(wù)事務(wù)記錄表中的第一業(yè)務(wù)事務(wù)的標(biāo)識,轉(zhuǎn)去執(zhí)行步驟203。步驟203、如果業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交,第二服務(wù)器根據(jù)業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)數(shù)據(jù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)。第二服務(wù)器獲取到第一業(yè)務(wù)事務(wù)的標(biāo)識后,進一步判斷業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息是已提交還是未提交。如果是已提交,則說明第一服務(wù)器的數(shù)據(jù)庫中已經(jīng)存在第一業(yè)務(wù)事務(wù)的業(yè)務(wù)數(shù)據(jù)(即第一業(yè)務(wù)數(shù)據(jù)),故第二服務(wù)器根據(jù)業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),將第一業(yè)務(wù)數(shù)據(jù)存儲在本地的數(shù)據(jù)庫中,這樣就可以保持與第一服務(wù)器的數(shù)據(jù)庫的一致。可選的,為了避免第二服務(wù)器發(fā)生重復(fù)根據(jù)業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)的操作,如果業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交,第二服務(wù)器除了根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)之外,還可以刪除業(yè)務(wù)事務(wù)日志表中的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息??蛇x的,如果第二服務(wù)器根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)失敗,說明該第一業(yè)務(wù)事務(wù)存在問題,需要做進一步處理??蛇x的,在本實施例中,第二服務(wù)器可以將根據(jù)業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)、刪除業(yè)務(wù)事務(wù)日志表中的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息作為一個整體的事務(wù)來執(zhí)行,這樣可以保證這些操作之間的原子性,使這些之間保持同步。本實施例將這里的整體的事務(wù)稱為恢復(fù)事務(wù),則第二服務(wù)器具體可以通過執(zhí)行恢復(fù)事務(wù),以完成根據(jù)業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),以及刪除業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息的操作。可選的,由上述實施例提供的發(fā)生切換之后,第二服務(wù)器根據(jù)其業(yè)務(wù)事務(wù)日志表和第二業(yè)務(wù)事務(wù)記錄表進行比較得到的幾種情況可知,第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表中不存在第一業(yè)務(wù)事務(wù)的標(biāo)識,而第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息是未提交。同樣由上述實施例的描述可知,產(chǎn)生這種情況的原因可能有多種,在一些原因下,第一服務(wù)器的數(shù)據(jù)庫中已經(jīng)存儲有第 一業(yè)務(wù)數(shù)據(jù),而在另一些原因下,第一服務(wù)器的數(shù)據(jù)庫中不存在第一業(yè)務(wù)數(shù)據(jù),因此,對于判斷出第二業(yè)務(wù)事務(wù)記錄表中不存在第一業(yè)務(wù)事務(wù)的標(biāo)識,且業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交的情況,第二服務(wù)器無法確定是否需要根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù),需要做進一步處理。針對根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)失敗的情況和無法確定是否需要根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)的情況,本實施例提供一種可選的解決方法。該解決方法包括第二服務(wù)器可以將第一業(yè)務(wù)事務(wù)的標(biāo)識和對應(yīng)的業(yè)務(wù)事務(wù)日志存儲到存疑業(yè)務(wù)事務(wù)表中,并將業(yè)務(wù)事務(wù)日志表中關(guān)于第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志以及第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息刪除。其中,將第一業(yè)務(wù)事務(wù)的標(biāo)識和對應(yīng)的業(yè)務(wù)事務(wù)日志存儲到存疑業(yè)務(wù)事務(wù)表中可以等待管理人員做進一步處理。具體的,在整個服務(wù)器系統(tǒng)正常運行以后,管理人員可以對存疑業(yè)務(wù)事務(wù)表中的存疑業(yè)務(wù)事務(wù)進行處理。由于存疑業(yè)務(wù)事務(wù)表中已經(jīng)包含了自動重做業(yè)務(wù)事務(wù)所需的業(yè)務(wù)事務(wù)日志,因此管理人員只需要決定是重做還是忽略該存疑業(yè)務(wù)事務(wù)即可,操作非常簡單??蛇x的,在本實施例中,第二服務(wù)器可以將將第一業(yè)務(wù)事務(wù)的標(biāo)識和對應(yīng)的業(yè)務(wù)事務(wù)日志存儲到存疑業(yè)務(wù)事務(wù)表中,并將業(yè)務(wù)事務(wù)日志表中關(guān)于第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志以及第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息刪除作為一個整體的事務(wù)來執(zhí)行,這樣可以保證這些操作之間的原子性,使這些之間保持同步。本實施例將這里的整體的事務(wù)稱為存疑處理事務(wù),則第二服務(wù)器具體可以通過執(zhí)行存疑處理事務(wù),以完成將第一業(yè)務(wù)事務(wù)的標(biāo)識和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中,刪除業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息的操作。在此說明,在上述將第一業(yè)務(wù)事務(wù)的標(biāo)識和對應(yīng)的業(yè)務(wù)事務(wù)日志存儲到存疑業(yè)務(wù)事務(wù)表中的過程中,如果失敗,即未能成功將第一業(yè)務(wù)事務(wù)的標(biāo)識和對應(yīng)的業(yè)務(wù)事務(wù)日志存儲到存疑業(yè)務(wù)事務(wù)表中,則第二服務(wù)器可以將第一業(yè)務(wù)事務(wù)的標(biāo)識和對應(yīng)的業(yè)務(wù)事務(wù)日志記錄在數(shù)據(jù)庫之外的其他文件中,以便于后續(xù)查詢或進一步處理。這里的文件可以txt文本或Word文檔。在此說明,如果第二服務(wù)器的數(shù)據(jù)庫中已經(jīng)存在與第一業(yè)務(wù)事務(wù)對應(yīng)的第二業(yè)務(wù)數(shù)據(jù),則第二服務(wù)器在將第一業(yè)務(wù)事務(wù)的標(biāo)識和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中之后并在對第一業(yè)務(wù)事務(wù)進行處理之前,需要根據(jù)第一業(yè)務(wù)事務(wù)的標(biāo)識判斷第二服務(wù)器本地的數(shù)據(jù)庫中是否存在與第一業(yè)務(wù)事務(wù)對應(yīng)的第二業(yè)務(wù)數(shù)據(jù),如果判斷結(jié)果為存在,則將第二業(yè)務(wù)數(shù)據(jù)進行鎖定。這樣做可以在管理人員確定對第一業(yè)務(wù)事務(wù)的處理之前保護第一業(yè)務(wù)事務(wù)的相關(guān)數(shù)據(jù)。其中,第一業(yè)務(wù)事務(wù)對應(yīng)的第二業(yè)務(wù)數(shù)據(jù)主要是是第一業(yè)務(wù)數(shù)據(jù)操作中的相關(guān)存儲數(shù)據(jù),這些數(shù)據(jù)有可能成為后續(xù)可能對第一業(yè)務(wù)事務(wù)進行的操作的對象。例如,繳費100元是第一業(yè)務(wù)事務(wù),與該事務(wù)相關(guān)的會產(chǎn)生更新賬戶金額的動作,更新后的賬戶金額是需要同步的第一業(yè)務(wù)數(shù)據(jù),而賬戶則是這里所述的需要鎖定的第二業(yè)務(wù)數(shù)據(jù),即在前面的操作沒有完成前,其他任何人不能對該賬戶進行操作,避免混亂。??蛇x的,第二服務(wù)器也可以在執(zhí)行存疑處理事務(wù)的過程中完成鎖存第二業(yè)務(wù)數(shù)據(jù)的操作。也就是說,第二服務(wù)器可以同時將將第一業(yè)務(wù)事務(wù)的標(biāo)識和對應(yīng)的業(yè)務(wù)事務(wù)日志存儲到存疑業(yè)務(wù)事務(wù)表中,將業(yè)務(wù)事務(wù)日志表中關(guān)于第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志以及第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息刪除,以及對第二業(yè)務(wù)數(shù)據(jù)進行鎖定作為一個整體的事務(wù)來執(zhí)行,以保證這些操作之間的原子性,避免發(fā)生重復(fù)執(zhí)行相同操作的問題。如果管理人員確定對第一業(yè)務(wù)事務(wù)進行重做,則第二服務(wù)器可以根據(jù)存疑業(yè)務(wù)事務(wù)表中記錄的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),并刪除存疑業(yè) 務(wù)事務(wù)表中的第一業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志。在此說明,這里第二服務(wù)器根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)的操作與第一服務(wù)器執(zhí)行同步處理事務(wù)的過程不同,不需要在重新執(zhí)行第一業(yè)務(wù)事務(wù)的過程中向第一服務(wù)器寫入該過程的業(yè)務(wù)事務(wù)日志。由于這里根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)的操作是在整個服務(wù)器系統(tǒng)正常運行之后執(zhí)行的,因此,第二服務(wù)器已經(jīng)將存疑業(yè)務(wù)事務(wù)表同步給了第一服務(wù)器,第一服務(wù)器上已經(jīng)存在一個第一業(yè)務(wù)事務(wù)的存疑記錄,如果第二服務(wù)器還在根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)的過程中將該過程對應(yīng)的業(yè)務(wù)事務(wù)日志寫入第一服務(wù)器,則在重新執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生的第一業(yè)務(wù)數(shù)據(jù)尚未完成同步時發(fā)生切換,即第一服務(wù)器重新切換為主服務(wù)器,第一服務(wù)器可能也會將該第一業(yè)務(wù)事務(wù)作為存疑業(yè)務(wù)事務(wù)寫入存疑業(yè)務(wù)事務(wù)記錄表中,這樣第一服務(wù)器的存疑業(yè)務(wù)事務(wù)記錄表中就會存在兩條相同的存疑記錄,為避免該問題,本實施例的第二服務(wù)器在根據(jù)記錄的業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)的過程中不向第一服務(wù)器寫入該過程對應(yīng)的業(yè)務(wù)事務(wù)日志。進一步說明,對于同時存在于業(yè)務(wù)事務(wù)日志表和第二業(yè)務(wù)事務(wù)記錄表中的業(yè)務(wù)事務(wù)的標(biāo)識,第二服務(wù)器會將這些業(yè)務(wù)事務(wù)的標(biāo)識以及所對應(yīng)的業(yè)務(wù)事務(wù)日志和提交狀態(tài)信息從業(yè)務(wù)事務(wù)日志表中刪除,并且也會將這些業(yè)務(wù)事務(wù)的標(biāo)識從第二業(yè)務(wù)事務(wù)記錄表中刪除。換句話說,第二服務(wù)器會在實現(xiàn)與第一服務(wù)器的數(shù)據(jù)庫的一致之后,將本地的第二業(yè)務(wù)事務(wù)記錄表和業(yè)務(wù)事務(wù)日志表刪除。因為在完成了業(yè)務(wù)數(shù)據(jù)的恢復(fù)處理后,這兩張表的內(nèi)容就沒有用了,應(yīng)該給予清除以避免遺留產(chǎn)生副作用。進一步,第二服務(wù)器根據(jù)存疑業(yè)務(wù)事務(wù)表中記錄的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)事務(wù)也可能成功,也可能失敗。如果失敗,則第二服務(wù)器可以將有關(guān)信息,例如第一業(yè)務(wù)事務(wù)的標(biāo)識信息、業(yè)務(wù)事務(wù)日志以及重新執(zhí)行失敗結(jié)果等信息寫入指定的文件中進行記錄,以便于后續(xù)進行查看。步驟204、第二服務(wù)器接管業(yè)務(wù),并繼續(xù)對外提供服務(wù)。由上述可見,本實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,與上述業(yè)務(wù)數(shù)據(jù)同步方法相配合,第二服務(wù)器從備用服務(wù)器切換為主服務(wù)器之后,根據(jù)本地的第二業(yè)務(wù)事務(wù)記錄表和業(yè)務(wù)事務(wù)日志表判斷在切換之前第一服務(wù)器是否有未能成功同步過來的業(yè)務(wù)數(shù)據(jù),并在判斷出有未能成功同步的業(yè)務(wù)數(shù)據(jù)后,根據(jù)業(yè)務(wù)事務(wù)日志表中記載的業(yè)務(wù)事務(wù)日志重新執(zhí)行相應(yīng)的業(yè)務(wù)事務(wù)產(chǎn)生業(yè)務(wù)數(shù)據(jù),實現(xiàn)了與第一服務(wù)器的數(shù)據(jù)庫的一致,進而解決了由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題,有利于整個服務(wù)器系統(tǒng)服務(wù)質(zhì)量的提高。在此說明,本發(fā)明上述實施例提供的業(yè)務(wù)數(shù)據(jù)同步方法和業(yè)務(wù)數(shù)據(jù)恢復(fù)方法可以適用于任何業(yè)務(wù)數(shù)據(jù),但是尤其適用于對數(shù)據(jù)同步可靠性要求較高的一些關(guān)鍵業(yè)務(wù)數(shù)據(jù),例如繳費業(yè)務(wù)產(chǎn)生的繳費數(shù)據(jù)等。圖3為本發(fā)明一實施例提供的業(yè)務(wù)數(shù)據(jù)同步裝置的結(jié)構(gòu)示意圖。本實施例的業(yè)務(wù)數(shù)據(jù)同步裝置設(shè)置在作為主服務(wù)器的第一服務(wù)器中實現(xiàn)。如圖3所示,本實施例的裝置包括同步處理模塊31、設(shè)置模塊32和同步模塊33。 同步處理模塊31,用于執(zhí)行同步處理事務(wù),該同步處理事務(wù)包括執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)、在第一服務(wù)器的第一業(yè)務(wù)事務(wù)記錄表中記錄第一業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將第一業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中并在業(yè)務(wù)事務(wù)日志表中設(shè)置第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交,以供第二服務(wù)器在切換為主服務(wù)器之后,根據(jù)第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表和業(yè)務(wù)事務(wù)日志表實現(xiàn)與第一服務(wù)器的數(shù)據(jù)庫的同步。其中,業(yè)務(wù)事務(wù)日志包括重新執(zhí)行第一業(yè)務(wù)事務(wù)所需的信息,第二業(yè)務(wù)事務(wù)記錄表用于存儲由第一服務(wù)器成功同步到第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識。第一服務(wù)器和第二服務(wù)器互為備份。設(shè)置模塊32,與同步處理模塊31連接,用于在同步處理模塊31執(zhí)行同步處理事務(wù)成功后,設(shè)置業(yè)務(wù)事務(wù)日志表中第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交。同步模塊33,用于執(zhí)行同步事務(wù),所述同步事務(wù)包括向所述第二服務(wù)器同步所述第一業(yè)務(wù)數(shù)據(jù)并將所述第一業(yè)務(wù)事務(wù)記錄表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識寫入所述第二業(yè)務(wù)事務(wù)記錄表中。可選的,同步模塊33與同步處理模塊31連接,用于在同步處理模塊31執(zhí)行同步處理事務(wù)成功后,執(zhí)行同步事務(wù)??蛇x的,本實施例的業(yè)務(wù)數(shù)據(jù)同步裝置還包括刪除模塊34。刪除模塊34,與同步處理模塊31連接,用于在同步處理模塊31執(zhí)行同步處理事務(wù)失敗后,刪除業(yè)務(wù)事務(wù)日志表中的第一業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和提交狀態(tài)信息。本實施例提供的業(yè)務(wù)數(shù)據(jù)同步裝置的各功能模塊可用于執(zhí)行圖I所示實施例提供的業(yè)務(wù)數(shù)據(jù)同步方法中的相應(yīng)流程,其具體工作原理不再贅述,詳見方法實施例的描述。本實施例提供的業(yè)務(wù)數(shù)據(jù)同步裝置,在其所在的第一服務(wù)器作為主服務(wù)器時,通過使用業(yè)務(wù)事務(wù)日志記錄重新執(zhí)行第一業(yè)務(wù)事務(wù)所需的業(yè)務(wù)事務(wù)日志,并將該業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器,使得在因故障第一服務(wù)器和第二服務(wù)器發(fā)生切換后,第二服務(wù)器在接管第一服務(wù)器的業(yè)務(wù)時,若發(fā)現(xiàn)有業(yè)務(wù)數(shù)據(jù)未能從切換前的第一服務(wù)器上同步過來,可以根據(jù)業(yè)務(wù)事務(wù)日志重新執(zhí)行相應(yīng)的業(yè)務(wù)事務(wù)進行業(yè)務(wù)數(shù)據(jù)的自動恢復(fù),進而解決了由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題。圖4為本發(fā)明一實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置的結(jié)構(gòu)示意圖。本實施例的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置設(shè)置在切換為主服務(wù)器的第二服務(wù)器中實現(xiàn)。如圖4所示,本實施例的裝置包括判斷模塊41、獲取模塊42和恢復(fù)處理模塊43。
其中,判斷模塊41,用于判斷第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識是否全部存在于第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表中。其中,第二業(yè)務(wù)事務(wù)記錄表用于存儲由切換之前作為主服務(wù)器的第一服務(wù)器成功同步到第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識。業(yè)務(wù)事務(wù)日志表用于存儲第一服務(wù)器在切換之前根據(jù)執(zhí)行同步處理事務(wù)寫入的業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和提交狀態(tài)信息。獲取模塊42,與判斷模塊41連接,用于在判斷模塊41的判斷結(jié)果為否時,獲取存在于業(yè)務(wù)事務(wù)日志表中但不存在于第二業(yè)務(wù)事務(wù)記錄表中的第一業(yè)務(wù)事務(wù)的標(biāo)識。恢復(fù)處理模塊43,與獲取模塊42連接,用于在業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交時,根據(jù)業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)??蛇x的,恢復(fù)處理模塊43可以根據(jù)獲取模塊42獲取的第一業(yè)務(wù)事務(wù)的標(biāo)識判斷業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息。在一可選實施方式中,恢復(fù)處理模塊43還用于在業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交時,刪除業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息??蛇x的,恢復(fù)處理模塊43具體用于執(zhí)行恢復(fù)事務(wù),以完成根據(jù)業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),以及刪除業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息的操作。也就是說,恢復(fù)事務(wù)包括根據(jù)業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),以及刪除業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài) 信息。在一可選實施方式中,如圖5所示,本實施例的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置還包括存疑處理模塊44。存疑處理模塊44,與恢復(fù)處理模塊43連接,用于在業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為未提交時,或者,在恢復(fù)處理模塊43根據(jù)業(yè)務(wù)事務(wù)日志重新執(zhí)行第一業(yè)務(wù)事務(wù)失敗時,將第一業(yè)務(wù)事務(wù)的標(biāo)識和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中,刪除業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息??蛇x的,存疑處理模塊44還可以與獲取模塊42連接,用于根據(jù)獲取模塊42獲取的第一業(yè)務(wù)事務(wù)的標(biāo)識判斷業(yè)務(wù)事務(wù)日志表中記錄的與第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息??蛇x的,存疑處理模塊44具體可用于執(zhí)行存疑處理事務(wù),以完成將第一業(yè)務(wù)事務(wù)的標(biāo)識和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中,刪除業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息的操作。也就是說,存疑處理事務(wù)包括將第一業(yè)務(wù)事務(wù)的標(biāo)識和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中,以及刪除業(yè)務(wù)事務(wù)日志表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識、第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息。在一可選實施方式中,存疑處理模塊44還用于在將第一業(yè)務(wù)事務(wù)的標(biāo)識和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中之后且在對第一業(yè)務(wù)事務(wù)進行處理之前,判斷第二服務(wù)器的數(shù)據(jù)庫中是否存在與第一業(yè)務(wù)事務(wù)對應(yīng)的第二業(yè)務(wù)數(shù)據(jù),如果判斷結(jié)果為存在,將第二業(yè)務(wù)數(shù)據(jù)進行鎖定。在一可選實施方式中,存疑處理模塊44還用于根據(jù)存疑業(yè)務(wù)事務(wù)表中記錄的第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),刪除存疑業(yè)務(wù)事務(wù)表中的第一業(yè)務(wù)事務(wù)的標(biāo)識和第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志。本實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置的各功能模塊可用于執(zhí)行圖2所示實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法中的相應(yīng)流程,其具體工作原理不再贅述,詳見方法實施例的描述。本實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,與本發(fā)明上述實施例提供的業(yè)務(wù)數(shù)據(jù)同步裝 置相配合,在其所在的第二服務(wù)器從備用服務(wù)器切換為主服務(wù)器之后,根據(jù)本地的第二業(yè)務(wù)事務(wù)記錄表和業(yè)務(wù)事務(wù)日志表判斷在切換之前第一服務(wù)器是否有未能成功同步過來的業(yè)務(wù)數(shù)據(jù),并在判斷出有未能成功同步的業(yè)務(wù)數(shù)據(jù)后,根據(jù)業(yè)務(wù)事務(wù)日志表中記載的業(yè)務(wù)事務(wù)日志重新執(zhí)行相應(yīng)的業(yè)務(wù)事務(wù)產(chǎn)生業(yè)務(wù)數(shù)據(jù),實現(xiàn)了與第一服務(wù)器的數(shù)據(jù)庫的一致,進而解決了由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題,有利于整個服務(wù)器系統(tǒng)服務(wù)質(zhì)量的提聞。本發(fā)明一實施例提供一種網(wǎng)絡(luò)設(shè)備,包括本發(fā)明圖3所示實施例提供的業(yè)務(wù)數(shù)據(jù)同步裝置。關(guān)于業(yè)務(wù)數(shù)據(jù)同步裝置的結(jié)構(gòu)和工作原理可參見上述裝置實施例和相應(yīng)的方法實施例,在此不再贅述。本實施例的網(wǎng)絡(luò)設(shè)備可以是各種應(yīng)用場景中需要進行業(yè)務(wù)數(shù)據(jù)同步的主服務(wù)器。本實施例的網(wǎng)絡(luò)設(shè)備同樣可以執(zhí)行圖I所示實施例提供的業(yè)務(wù)數(shù)據(jù)同步方法的流程,因此,可以解決由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題,有利于整個服務(wù)器系統(tǒng)服務(wù)質(zhì)量的提聞。本發(fā)明另一實施例提供一種網(wǎng)絡(luò)設(shè)備,包括圖4或圖5所示實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置。關(guān)于業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置的結(jié)構(gòu)和工作原理可參見上述裝置實施例和相應(yīng)方法實施例的描述,在此不再贅述。本實施例的網(wǎng)絡(luò)可以是各種數(shù)據(jù)同步場景中從備用狀態(tài)換為主用狀態(tài)的服務(wù)器。本實施例的網(wǎng)絡(luò)設(shè)備同樣可以執(zhí)行圖2所示實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法的流程,因此,可以解決由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題,有利于整個服務(wù)器系統(tǒng)服務(wù)質(zhì)量的提聞。本發(fā)明又一實施例提供一種網(wǎng)絡(luò)設(shè)備,包括圖3所示實施例提供的業(yè)務(wù)數(shù)據(jù)同步裝置,以及圖4或圖5所示實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置。關(guān)于業(yè)務(wù)數(shù)據(jù)同步裝置和業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置的工作原理和結(jié)構(gòu)在此不再贅述。本實施例的網(wǎng)絡(luò)設(shè)備可以是各種應(yīng)用場景中需要進行業(yè)務(wù)數(shù)據(jù)同步的服務(wù)器,其狀態(tài)可以是主用狀態(tài),也可以是備用狀態(tài)。
本實施例的網(wǎng)絡(luò)設(shè)備同樣可以執(zhí)行圖I所示實施例提供的業(yè)務(wù)數(shù)據(jù)同步方法以及圖2所示實施例提供的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法的流程,因此,可以解決由于數(shù)據(jù)同步過程存在時延導(dǎo)致在主備服務(wù)器切換過程中來不及同步引起的切換前后主備服務(wù)器的數(shù)據(jù)庫不完全一致的問題,有利于整個服務(wù)器系統(tǒng)服務(wù)質(zhì)量的提高。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其 依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種業(yè)務(wù)數(shù)據(jù)同步方法,其特征在于,包括 作為主服務(wù)器的第一服務(wù)器執(zhí)行同步處理事務(wù);所述同步處理事務(wù)包括執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)、在本地第一業(yè)務(wù)事務(wù)記錄表中記錄所述第一業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中并在所述業(yè)務(wù)事務(wù)日志表中設(shè)置所述第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交,以供所述第二服務(wù)器在切換為主服務(wù)器之后,根據(jù)所述第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表和所述業(yè)務(wù)事務(wù)日志表實現(xiàn)與所述第一服務(wù)器的數(shù)據(jù)庫的同步,所述業(yè)務(wù)事務(wù)日志包括重新執(zhí)行所述第一業(yè)務(wù)事務(wù)所需的信息,所述第二業(yè)務(wù)事務(wù)記錄表用于存儲由所述第一服務(wù)器成功同步到所述第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識; 如果所述同步處理事務(wù)執(zhí)行成功,所述第一服務(wù)器設(shè)置所述業(yè)務(wù)事務(wù)日志表中所述第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交; 所述第一服務(wù)器執(zhí)行同步事務(wù),所述同步事務(wù)包括向所述第二服務(wù)器同步所述第一業(yè)務(wù)數(shù)據(jù)并將所述第一業(yè)務(wù)事務(wù)記錄表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識寫入所述第二業(yè)務(wù)事務(wù)記錄表中。
2.根據(jù)權(quán)利要求I所述的業(yè)務(wù)數(shù)據(jù)同步方法,其特征在于,還包括 如果所述同步處理事務(wù)執(zhí)行失敗,所述第一服務(wù)器刪除所述業(yè)務(wù)事務(wù)日志表中的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述業(yè)務(wù)事務(wù)日志和所述提交狀態(tài)信息。
3.—種業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,其特征在于,包括 切換為主服務(wù)器的第二服務(wù)器判斷本地的業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識是否全部存在于本地的第二業(yè)務(wù)事務(wù)記錄表中;所述第二業(yè)務(wù)事務(wù)記錄表用于存儲由切換之前作為主服務(wù)器的第一服務(wù)器成功同步到所述第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識;所述業(yè)務(wù)事務(wù)日志表用于存儲所述第一服務(wù)器在切換之前根據(jù)執(zhí)行同步處理事務(wù)與入的業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和提交狀態(tài) 目息; 如果判斷結(jié)果為否,所述第二服務(wù)器獲取存在于所述業(yè)務(wù)事務(wù)日志表中但不存在于所述第二業(yè)務(wù)事務(wù)記錄表中的第一業(yè)務(wù)事務(wù)的標(biāo)識; 如果所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交,所述第二服務(wù)器根據(jù)所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行所述第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,其特征在于,還包括 如果所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交,所述第二服務(wù)器刪除所述業(yè)務(wù)事務(wù)日志表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)息。
5.根據(jù)權(quán)利要求4所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,其特征在于,所述第二服務(wù)器執(zhí)行恢復(fù)事務(wù),以完成根據(jù)所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行所述第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),以及刪除所述業(yè)務(wù)事務(wù)日志表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息的操作。
6.根據(jù)權(quán)利要求3或4或5所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,其特征在于,還包括如果所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為未提交,或者,如果根據(jù)所述業(yè)務(wù)事務(wù)日志重新執(zhí)行所述第一業(yè)務(wù)事務(wù)失敗,所述第二服務(wù)器將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中,刪除所述業(yè)務(wù)事務(wù)日志表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和所述 第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息。
7.根據(jù)權(quán)利要求6所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,其特征在于,所述第二服務(wù)器執(zhí)行存疑處理事務(wù),以完成將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中,刪除所述業(yè)務(wù)事務(wù)日志表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息的操作。
8.根據(jù)權(quán)利要求6所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,其特征在于,所述第二服務(wù)器將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中之后并在對所述第一業(yè)務(wù)事務(wù)進行處理之前包括 所述第二服務(wù)器判斷所述第二服務(wù)器的數(shù)據(jù)庫中是否存在與所述第一業(yè)務(wù)事務(wù)對應(yīng)的第二業(yè)務(wù)數(shù)據(jù),如果判斷結(jié)果為存在,所述第二服務(wù)器將所述第二業(yè)務(wù)數(shù)據(jù)進行鎖定。
9.根據(jù)權(quán)利要求6所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)方法,其特征在于,所述第二服務(wù)器將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中之后包括 根據(jù)所述存疑業(yè)務(wù)事務(wù)表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行所述第一業(yè)務(wù)事務(wù)以產(chǎn)生所述第一業(yè)務(wù)數(shù)據(jù),刪除所述存疑業(yè)務(wù)事務(wù)表中的所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志。
10.一種業(yè)務(wù)數(shù)據(jù)同步裝置,其特征在于,設(shè)置于作為主服務(wù)器的第一服務(wù)器中,所述裝置包括 同步處理模塊,用于執(zhí)行同步處理事務(wù),所述同步處理事務(wù)包括執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)、在所述第一服務(wù)器的第一業(yè)務(wù)事務(wù)記錄表中記錄所述第一業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中并在所述業(yè)務(wù)事務(wù)日志表中設(shè)置所述第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交,以供所述第二服務(wù)器在切換為主服務(wù)器之后,根據(jù)所述第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表和所述業(yè)務(wù)事務(wù)日志表實現(xiàn)與所述第一服務(wù)器的數(shù)據(jù)庫的同步,所述業(yè)務(wù)事務(wù)日志包括重新執(zhí)行所述第一業(yè)務(wù)事務(wù)所需的信息,所述第二業(yè)務(wù)事務(wù)記錄表用于存儲由所述第一服務(wù)器成功同步到所述第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識; 設(shè)置模塊,用于在所述同步處理事務(wù)執(zhí)行成功后,設(shè)置所述業(yè)務(wù)事務(wù)日志表中所述第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交; 同步模塊,用于執(zhí)行同步事務(wù),所述同步事務(wù)包括向所述第二服務(wù)器同步所述第一業(yè)務(wù)數(shù)據(jù)并將所述第一業(yè)務(wù)事務(wù)記錄表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識寫入所述第二業(yè)務(wù)事務(wù)記錄表中。
11.根據(jù)權(quán)利要求10所述的業(yè)務(wù)數(shù)據(jù)同步裝置,其特征在于,還包括 刪除模塊,用于在所述同步處理事務(wù)執(zhí)行失敗后,刪除所述業(yè)務(wù)事務(wù)日志表中的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述業(yè)務(wù)事務(wù)日志和所述提交狀態(tài)信息。
12.—種業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,其特征在于,設(shè)置于切換為主服務(wù)器的第二服務(wù)器中,所述裝置包括 判斷模塊,用于判斷所述第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中記錄的業(yè)務(wù)事務(wù)的標(biāo)識是否全部存在于所述第二服務(wù)器的第二業(yè)務(wù)事務(wù)記錄表中;所述第二業(yè)務(wù)事務(wù)記錄表用于存儲由切換之前作為主服務(wù)器的第一服務(wù)器成功同步到所述第二服務(wù)器的業(yè)務(wù)數(shù)據(jù)對應(yīng)的業(yè)務(wù)事務(wù)的標(biāo)識;所述業(yè)務(wù)事務(wù)日志表用于存儲所述第一服務(wù)器在切換之前根據(jù)執(zhí)行同步處理事務(wù)寫入的業(yè)務(wù)事務(wù)的標(biāo)識、業(yè)務(wù)事務(wù)日志和提交狀態(tài)信息; 獲取模塊,用于在所述判斷模塊的判斷結(jié)果為否時,獲取存在于所述業(yè)務(wù)事務(wù)日志表中但不存在于所述第二業(yè)務(wù)事務(wù)記錄表中的第一業(yè)務(wù)事務(wù)的標(biāo)識; 恢復(fù)處理模塊,用于在所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交時,根據(jù)所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行所述第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)。
13.根據(jù)權(quán)利要求12所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,其特征在于,所述恢復(fù)處理模塊還用于在所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為已提交時,刪除所述業(yè)務(wù)事務(wù)日志表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息。
14.根據(jù)權(quán)利要求13所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,其特征在于,所述恢復(fù)處理模塊具體用于執(zhí)行恢復(fù)事務(wù),以完成根據(jù)所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行所述第一業(yè)務(wù)事務(wù)以產(chǎn)生第一業(yè)務(wù)數(shù)據(jù),以及刪除所述業(yè)務(wù)事務(wù)日志表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息的操作。
15.根據(jù)權(quán)利要求12或13或14所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,其特征在于,還包括 存疑處理模塊,用于在所述業(yè)務(wù)事務(wù)日志表中記錄的與所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息為未提交時,或者,在所述恢復(fù)處理模塊根據(jù)所述業(yè)務(wù)事務(wù)日志重新執(zhí)行所述第一業(yè)務(wù)事務(wù)失敗時,將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中,刪除所述業(yè)務(wù)事務(wù)日志表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息。
16.根據(jù)權(quán)利要求15所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,其特征在于,所述存疑處理模塊具體用于執(zhí)行存疑處理事務(wù),以完成將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中,刪除所述業(yè)務(wù)事務(wù)日志表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識、所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的提交狀態(tài)信息的操作。
17.根據(jù)權(quán)利要求15所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,其特征在于,所述存疑處理模塊還用于在將所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志加入存疑業(yè)務(wù)事務(wù)表中之后且在對所述第一業(yè)務(wù)事務(wù)進行處理之前,判斷所述第二服務(wù)器的數(shù)據(jù)庫中是否存在與所述第一業(yè)務(wù)事務(wù)對應(yīng)的第二業(yè)務(wù)數(shù)據(jù),如果判斷結(jié)果為存在,將所述第二業(yè)務(wù)數(shù)據(jù)進行鎖定。
18.根據(jù)權(quán)利要求15所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置,其特征在于,所述存疑處理模塊還用于根據(jù)所述存疑業(yè)務(wù)事務(wù)表中記錄的所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志,重新執(zhí)行所述第一業(yè)務(wù)事務(wù)以產(chǎn)生所述第一業(yè)務(wù)數(shù)據(jù),刪除所述存疑業(yè)務(wù)事務(wù)表中的所述第一業(yè)務(wù)事務(wù)的標(biāo)識和所述第一業(yè)務(wù)事務(wù)的標(biāo)識對應(yīng)的業(yè)務(wù)事務(wù)日志。
19.一種網(wǎng)絡(luò)設(shè)備,其特征在于,包括權(quán)利要求10或11所述的業(yè)務(wù)數(shù)據(jù)同步裝置,和/或,權(quán)利要求12-18任一項所述的業(yè)務(wù)數(shù)據(jù)恢復(fù)裝置。
全文摘要
本發(fā)明提供一種業(yè)務(wù)數(shù)據(jù)同步方法、恢復(fù)方法及裝置和網(wǎng)絡(luò)設(shè)備。同步方法包括作為主服務(wù)器的第一服務(wù)器執(zhí)行同步處理事務(wù);該同步處理事務(wù)包括執(zhí)行第一業(yè)務(wù)事務(wù)產(chǎn)生第一業(yè)務(wù)數(shù)據(jù)、在本地第一業(yè)務(wù)事務(wù)記錄表中記錄第一業(yè)務(wù)事務(wù)的標(biāo)識、生成業(yè)務(wù)事務(wù)日志以及將第一業(yè)務(wù)事務(wù)的標(biāo)識和業(yè)務(wù)事務(wù)日志寫入第二服務(wù)器的業(yè)務(wù)事務(wù)日志表中并在業(yè)務(wù)事務(wù)日志表中設(shè)置第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為未提交;如果同步處理事務(wù)執(zhí)行成功,設(shè)置第一業(yè)務(wù)事務(wù)的提交狀態(tài)信息為已提交;第一服務(wù)器執(zhí)行同步事務(wù),以向第二服務(wù)器同步第一業(yè)務(wù)數(shù)據(jù)。采用本發(fā)明技術(shù)方案可以保證切換前后主備服務(wù)器的數(shù)據(jù)庫完全一致。
文檔編號H04L12/24GK102891849SQ20121036111
公開日2013年1月23日 申請日期2012年9月25日 優(yōu)先權(quán)日2012年9月25日
發(fā)明者陽外玲 申請人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
扎兰屯市| 澄城县| 罗甸县| 石屏县| 焦作市| 渭南市| 东安县| 富川| 浦城县| 乐陵市| 大悟县| 靖西县| 甘德县| 金湖县| 松江区| 乐亭县| 天津市| 全椒县| 和田市| 芒康县| 安阳市| 溧水县| 安达市| 朝阳县| 镇原县| 江陵县| 新绛县| 清苑县| 平罗县| 台前县| 普格县| 西宁市| 得荣县| 连江县| 酒泉市| 厦门市| 六安市| 大港区| 惠东县| 米泉市| 扎兰屯市|