【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及計算機
,具體涉及一種多副本數(shù)據(jù)一致性的檢測方法及裝置。
技術(shù)介紹
分布式系統(tǒng)就是將數(shù)據(jù)分散存儲在多臺獨立的設(shè)備上,為具有很多數(shù)據(jù)節(jié)點的集群系統(tǒng),其中,每個數(shù)據(jù)節(jié)點上會分布有多個數(shù)據(jù)分片,在分布式系統(tǒng)中,針對一份數(shù)據(jù),一般備份N個副本,將數(shù)據(jù)的N個副本分別存儲在N個數(shù)據(jù)節(jié)點的數(shù)據(jù)分片中,且要求N個副本數(shù)據(jù)相同?,F(xiàn)有方案中,是采用讀取數(shù)據(jù)分片中的數(shù)據(jù),將數(shù)據(jù)進行比較進而確定數(shù)據(jù)分片中的數(shù)據(jù)是否一致,這種方式不僅會產(chǎn)生額外的訪問量,給數(shù)據(jù)庫造成很大的壓力,而且還耗費了大量時間。
技術(shù)實現(xiàn)思路
鑒于上述問題,提出了本專利技術(shù)以便提供一種克服上述問題或者至少部分地解決上述問題的多副本數(shù)據(jù)一致性的檢測方法和相應的多副本數(shù)據(jù)一致性的檢測裝置。根據(jù)本專利技術(shù)的一個方面,提供了一種多副本數(shù)據(jù)一致性的檢測方法,其包括:獲取多個副本數(shù)據(jù)中每個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件,二進制日志文件用于記錄相應數(shù)據(jù)分片中對副本數(shù)據(jù)所執(zhí)行的數(shù)據(jù)操作;判斷各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件是否相同;依據(jù)對二進制日志文件的判斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致。根據(jù)本專利技術(shù)的另一方面,提供了一種多副本數(shù)據(jù)一致性的檢測裝置,其包括:獲取模塊,適于獲取多個副本數(shù)據(jù)中每個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件,二進制日志文件用于記錄相應數(shù)據(jù)分片中對副本數(shù)據(jù)所執(zhí)行的r>數(shù)據(jù)操作;判斷模塊,適于判斷各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件是否相同;確定模塊,適于依據(jù)對二進制日志文件的判斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致。根據(jù)本專利技術(shù)提供的方案,獲取多個副本數(shù)據(jù)中每個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件,二進制日志文件用于記錄相應數(shù)據(jù)分片中對副本數(shù)據(jù)所執(zhí)行的數(shù)據(jù)操作;判斷各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件是否相同;依據(jù)對二進制日志文件的判斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致,從而無需通過直接比較數(shù)據(jù)分片中的數(shù)據(jù)來判斷副本數(shù)據(jù)是否一致,控制了對數(shù)據(jù)節(jié)點的訪問量,減輕了數(shù)據(jù)庫的壓力,而且節(jié)省了時間,提升了性能。上述說明僅是本專利技術(shù)技術(shù)方案的概述,為了能夠更清楚了解本專利技術(shù)的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本專利技術(shù)的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本專利技術(shù)的具體實施方式。附圖說明通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本專利技術(shù)的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了根據(jù)本專利技術(shù)一個實施例的多副本數(shù)據(jù)一致性的檢測方法的流程示意圖;圖2示出了根據(jù)本專利技術(shù)另一個實施例的多副本數(shù)據(jù)一致性的檢測方法的流程示意圖;圖3示出了根據(jù)本專利技術(shù)一個實施例的多副本數(shù)據(jù)一致性的檢測裝置的功能框圖;圖4示出了根據(jù)本專利技術(shù)另一個實施例的多副本數(shù)據(jù)一致性的檢測裝置的功能框圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。圖1示出了根據(jù)本專利技術(shù)一個實施例的多副本數(shù)據(jù)一致性的檢測方法的流程示意圖。如圖1所示,該方法包括以下步驟:步驟S100,獲取多個副本數(shù)據(jù)中每個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件。其中,二進制日志文件也稱為Binlog文件,是一種邏輯日志,它記錄的是關(guān)于每個事務(wù)的具體操作內(nèi)容,也就是說,Binlog文件用于記錄相應數(shù)據(jù)分片中對副本數(shù)據(jù)所執(zhí)行的數(shù)據(jù)操作,并以二進制的形式保存在磁盤中。Binlog文件按照對副本數(shù)據(jù)所執(zhí)行的數(shù)據(jù)操作的順序進行存儲,而且記錄次數(shù)與所執(zhí)行操作的次數(shù)相對應,即,每對副本數(shù)據(jù)執(zhí)行一次數(shù)據(jù)操作,就在Binlog文件中記錄一次。Binlog文件是一具有固定大小的文件,一般設(shè)定Binlog文件的大小為20M,當一個Binlog文件遞增到20M后,即新建另一個Binlog文件來記錄相應數(shù)據(jù)分片中對副本數(shù)據(jù)所執(zhí)行的數(shù)據(jù)操作。步驟S101,判斷各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件是否相同。由于Binlog文件所具有的特性,按照所執(zhí)行的數(shù)據(jù)操作順序記錄,且記錄有所有的數(shù)據(jù)操作,因此可以通過判斷各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件是否相同,來確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致。現(xiàn)有技術(shù)方案中,是采用讀取數(shù)據(jù)分片中的數(shù)據(jù),將數(shù)據(jù)進行比較進而確定數(shù)據(jù)分片中的數(shù)據(jù)是否一致,這種方式不僅會產(chǎn)生額外的訪問量,給數(shù)據(jù)庫造成很大的壓力,而且還耗費了大量時間。為了解決上述問題,在根據(jù)本專利技術(shù)實施例中的步驟S100獲取多個副本數(shù)據(jù)中每個副本數(shù)據(jù)所在數(shù)據(jù)分片的Binlog文件后,判斷各個副本數(shù)據(jù)所在數(shù)據(jù)分片的Binlog文件是否相同,即可確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致,從而無需通過直接比較數(shù)據(jù)分片中的數(shù)據(jù)來判斷副本數(shù)據(jù)是否一致。步驟S102,依據(jù)對二進制日志文件的判斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致。對Binlog文件的判斷結(jié)果可以是以下結(jié)果中的任一種:多個副本數(shù)據(jù)中任意兩個副本數(shù)據(jù)所在數(shù)據(jù)分片的Binlog文件不同,或者多個副本數(shù)據(jù)所在數(shù)據(jù)分片的Binlog文件相同。若判斷出多個副本數(shù)據(jù)中任意兩個副本數(shù)據(jù)所在數(shù)據(jù)分片的Binlog文件不同,則確定這兩個Binlog文件相應的數(shù)據(jù)分片中的副本數(shù)據(jù)不一致;若判斷出多個副本數(shù)據(jù)所在數(shù)據(jù)分片的Binlog文件相同,則確定Binlog文件相應的數(shù)據(jù)分片中的副本數(shù)據(jù)一致。根據(jù)本專利技術(shù)上述實施例提供的方法,獲取多個副本數(shù)據(jù)中每個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件,二進制日志文件用于記錄相應數(shù)據(jù)分片中對副本數(shù)據(jù)所執(zhí)行的數(shù)據(jù)操作;判斷各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件是否相同;依據(jù)對二進制日志文件的判斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致,從而無需通過直接比較數(shù)據(jù)分片中的數(shù)據(jù)來判斷副本數(shù)據(jù)是否一致,控制了對數(shù)據(jù)節(jié)點的訪問量,減輕了數(shù)據(jù)庫的壓力,而且節(jié)省了時間,提升了性能。圖2示出了根據(jù)本專利技術(shù)另一個實施例的多副本數(shù)據(jù)一致性的檢測方法的流程示意圖。如圖2所示,該方法包括以下步驟:步驟S20本文檔來自技高網(wǎng)...
【技術(shù)保護點】
一種多副本數(shù)據(jù)一致性的檢測方法,其包括:獲取多個副本數(shù)據(jù)中每個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件,所述二進制日志文件用于記錄相應數(shù)據(jù)分片中對副本數(shù)據(jù)所執(zhí)行的數(shù)據(jù)操作;判斷所述各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件是否相同;依據(jù)對所述二進制日志文件的判斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致。
【技術(shù)特征摘要】 【專利技術(shù)屬性】
1.一種多副本數(shù)據(jù)一致性的檢測方法,其包括:
獲取多個副本數(shù)據(jù)中每個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件,所
述二進制日志文件用于記錄相應數(shù)據(jù)分片中對副本數(shù)據(jù)所執(zhí)行的數(shù)據(jù)操作;
判斷所述各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件是否相同;
依據(jù)對所述二進制日志文件的判斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)
是否一致。
2.根據(jù)權(quán)利要求1所述的方法,其中,依據(jù)對所述二進制日志文件的判
斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致進一步包括:
若判斷出多個副本數(shù)據(jù)中任意兩個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志
文件不同,則確定這兩個二進制日志文件相應的數(shù)據(jù)分片中的副本數(shù)據(jù)不一
致。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,判斷所述各個副本數(shù)據(jù)所在
數(shù)據(jù)分片的二進制日志文件是否相同進一步包括:
計算并記錄各個副本數(shù)據(jù)對應的二進制日志文件的哈希值;
判斷所述各個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志文件的哈希值是否一
致。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述依據(jù)對所述二進制日志文件
的判斷結(jié)果確定各個數(shù)據(jù)分片中的副本數(shù)據(jù)是否一致進一步包括:
若判斷出多個副本數(shù)據(jù)中任意兩個副本數(shù)據(jù)所在數(shù)據(jù)分片的二進制日志
文件的哈希值不一致,則確定這兩個二進制日志文件相應的數(shù)據(jù)分片中的副
本數(shù)據(jù)不一致。
5.根據(jù)權(quán)利要求3或4所述的方法,其中,每個數(shù)據(jù)分片的二進制日志
文件有多個;多個二進制日志文件按照時間順序記錄對所述數(shù)據(jù)分片中副本
技術(shù)研發(fā)人員:陳宗志,
申請(專利權(quán))人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發(fā)明
國別省市:北京;11
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。