亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)一致性認(rèn)證的方法和裝置與流程

文檔序號(hào):12719613閱讀:266來源:國(guó)知局
一種數(shù)據(jù)一致性認(rèn)證的方法和裝置與流程

本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)一致性認(rèn)證的方法和裝置。



背景技術(shù):

目前,分布式系統(tǒng)間數(shù)據(jù)認(rèn)證的方法是:本系統(tǒng)通過接口調(diào)用方式獲取其他分布式系統(tǒng)全部數(shù)據(jù),在本系統(tǒng)側(cè)進(jìn)行雙側(cè)數(shù)據(jù)對(duì)比;由于每條數(shù)據(jù)有可能是一個(gè)數(shù)據(jù)集合,包含多個(gè)參數(shù),每個(gè)參數(shù)的類型及值不一樣,比對(duì)過程需要對(duì)每條數(shù)據(jù)中的每個(gè)參數(shù)分別進(jìn)行比對(duì);如果存在不一致參數(shù),則認(rèn)為該條數(shù)據(jù)在雙側(cè)存在不一致性。

由于分布式系統(tǒng)間存在大量數(shù)據(jù),數(shù)據(jù)認(rèn)證比對(duì)過程會(huì)嚴(yán)重影響事務(wù)并發(fā)程度,不能滿足大量并發(fā)驗(yàn)證的需求;如果采用兩階段提交(2PC,Two-phase commit)協(xié)議或三階段提交(3PC,Three-phase commit)協(xié)議,會(huì)引起網(wǎng)絡(luò)上的通信量增大,受網(wǎng)絡(luò)帶寬限制,會(huì)使用戶陷入長(zhǎng)時(shí)間的不可忍受的等待狀態(tài);或遇到頻繁的事務(wù)失敗,重新啟動(dòng)事務(wù)太多,造成應(yīng)用程序運(yùn)行效率低下。并且,由于各分布式系統(tǒng)可能存在底層數(shù)據(jù)模型不同,導(dǎo)致數(shù)據(jù)存儲(chǔ)方式不同。另外,每條數(shù)據(jù)集合包含的數(shù)據(jù)類型繁多、數(shù)據(jù)量大,分布式系統(tǒng)間需要對(duì)所有數(shù)據(jù)集合中的數(shù)據(jù)進(jìn)行稽核,往往會(huì)由于數(shù)據(jù)格式兼容性、解析出錯(cuò)等問題使得系統(tǒng)面臨性能瓶頸。

顯然,現(xiàn)有的數(shù)據(jù)一致性認(rèn)證方法采用全量數(shù)據(jù)集合比對(duì)、比對(duì)時(shí)間長(zhǎng)、比對(duì)工作復(fù)雜、應(yīng)用程序運(yùn)行效率低下,是亟待解決的問題。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例期望提供一種數(shù)據(jù)一致性認(rèn)證的方法和裝置,能 提高數(shù)據(jù)一致性認(rèn)證的效率,縮短認(rèn)證時(shí)間。

為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:

本發(fā)明實(shí)施例提供了一種數(shù)據(jù)一致性認(rèn)證的方法,所述方法包括:

采用加密算法分別加密第一分布式系統(tǒng)和第二分布式系統(tǒng)中需要進(jìn)行一致性認(rèn)證的數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合,獲取生成的第一驗(yàn)證碼和第二驗(yàn)證碼;

對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼,確定所述數(shù)據(jù)對(duì)象的一致性。

上述方案中,所述方法還包括:

記錄所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳;

記錄所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳;

所述加密算法包括:消息摘要算法5(MD5,Message Digest Algorithm 5)、三重?cái)?shù)據(jù)加密算法(3DES,Triple Data Encryption Algorithm)。

上述方案中,所述對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼,確定所述認(rèn)證數(shù)據(jù)對(duì)象的一致性,包括:

對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼是否相等;

如果所述第一驗(yàn)證碼和所述第二驗(yàn)證碼相等,則確定所述數(shù)據(jù)對(duì)象認(rèn)證一致,并記錄本次認(rèn)證一致的時(shí)間戳;

如果所述第一驗(yàn)證碼和所述第二驗(yàn)證碼不相等,則將所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳作為過濾基準(zhǔn)點(diǎn),分別在所述第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中,過濾出所述基準(zhǔn)點(diǎn)及之后維護(hù)的各數(shù)據(jù)集合,并列出差異數(shù)據(jù)。

上述方案中,所述分別在所述第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中,過濾出所述基準(zhǔn)點(diǎn)及之后維護(hù)的各數(shù)據(jù)集合,并列出差異數(shù)據(jù);包括:

對(duì)比所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的各數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳和所述基準(zhǔn)點(diǎn),獲取所述維護(hù)時(shí)間戳在基準(zhǔn)點(diǎn)及之后的所有變更數(shù)據(jù)集合;

比較所述第一分布式系統(tǒng)中的各所述變更數(shù)據(jù)集合的第一關(guān)鍵字和所述第二分布式系統(tǒng)中的各所述變更數(shù)據(jù)集合的第二關(guān)鍵字;

如果所述第一關(guān)鍵字和所述第二關(guān)鍵字不相等,則列出所述第一關(guān)鍵字對(duì) 應(yīng)的變更數(shù)據(jù)集合和所述第二關(guān)鍵字對(duì)應(yīng)的變更數(shù)據(jù)集合,并標(biāo)注新增;

如果所述第一關(guān)鍵字和所述第二關(guān)鍵字相等,則逐條對(duì)比第一分布式系統(tǒng)中的所述變更數(shù)據(jù)集合和第二分布式系統(tǒng)中的所述變更數(shù)據(jù)集合的維護(hù)時(shí)間戳,并列出維護(hù)時(shí)間戳不同的變更數(shù)據(jù)集合之間的差異數(shù)據(jù),并標(biāo)注更新;

所述關(guān)鍵字,包括:字段名、參數(shù)。

上述方案中,所述方法還包括:將第一分布式系統(tǒng)和第二分布式系統(tǒng)中所述對(duì)象數(shù)據(jù)最后一次認(rèn)證一致的時(shí)間戳更新為所述本次認(rèn)證一致的時(shí)間戳;

所述記錄所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳,包括:記錄對(duì)所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的各數(shù)據(jù)集合進(jìn)行新增、修改、刪除的時(shí)間戳。

本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)一致性認(rèn)證的裝置,所述裝置包括:加密模塊、認(rèn)證模塊,其中,

所述加密模塊,用于采用加密算法分別加密第一分布式系統(tǒng)和第二分布式系統(tǒng)中需要進(jìn)行一致性認(rèn)證的數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合,獲取生成的第一驗(yàn)證碼和第二驗(yàn)證碼;

所述認(rèn)證模塊,用于對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼,確定所述數(shù)據(jù)對(duì)象的一致性。

上述方案中,所述裝置還包括:記錄模塊,用于記錄所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳;記錄所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳;

所述加密算法,包括:MD5、3DES。

上述方案中,所述認(rèn)證模塊,具體用于:

對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼是否相等;

如果所述第一驗(yàn)證碼和所述第二驗(yàn)證碼相等,則確定所述數(shù)據(jù)對(duì)象認(rèn)證一致,并記錄本次認(rèn)證一致的時(shí)間戳;

如果所述第一驗(yàn)證碼和所述第二驗(yàn)證碼不相等,則將所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳作為過濾基準(zhǔn)點(diǎn),分別在所述第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中,過濾出所述基準(zhǔn)點(diǎn)及之后維護(hù)的各數(shù)據(jù)集合,并列出差異數(shù)據(jù)。

上述方案中,所述認(rèn)證模塊分別在所述第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中,過濾出所述基準(zhǔn)點(diǎn)及之后維護(hù)的各數(shù)據(jù)集合,并列出差異數(shù)據(jù);包括:

對(duì)比所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的各數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳和所述基準(zhǔn)點(diǎn),獲取所述維護(hù)時(shí)間戳在基準(zhǔn)點(diǎn)及之后的所有變更數(shù)據(jù)集合;

比較所述第一分布式系統(tǒng)中的各所述變更數(shù)據(jù)集合的第一關(guān)鍵字和所述第二分布式系統(tǒng)中的各所述變更數(shù)據(jù)集合的第二關(guān)鍵字;

如果所述第一關(guān)鍵字和所述第二關(guān)鍵字不相等,則列出所述第一關(guān)鍵字對(duì)應(yīng)的變更數(shù)據(jù)集合和所述第二關(guān)鍵字對(duì)應(yīng)的變更數(shù)據(jù)集合,并標(biāo)注新增;

如果所述第一關(guān)鍵字和所述第二關(guān)鍵字相等,則逐條對(duì)比第一分布式系統(tǒng)中的所述變更數(shù)據(jù)集合和第二分布式系統(tǒng)中的所述變更數(shù)據(jù)集合的維護(hù)時(shí)間戳,并列出維護(hù)時(shí)間戳不同的變更數(shù)據(jù)集合之間的差異數(shù)據(jù),并標(biāo)注更新;

所述關(guān)鍵字,包括:字段名、參數(shù)。

上述方案中,所述記錄模塊,還用于將第一分布式系統(tǒng)和第二分布式系統(tǒng)中所述對(duì)象數(shù)據(jù)最后一次認(rèn)證一致的時(shí)間戳更新為所述本次認(rèn)證一致的時(shí)間戳;

所述記錄所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳,包括:記錄對(duì)所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的各數(shù)據(jù)集合進(jìn)行新增、修改、刪除的時(shí)間戳。

本發(fā)明實(shí)施例所提供的數(shù)據(jù)一致性認(rèn)證的方法和裝置,采用加密算法分別加密第一分布式系統(tǒng)和第二分布式系統(tǒng)中需要進(jìn)行一致性認(rèn)證的數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合,獲取生成的第一驗(yàn)證碼和第二驗(yàn)證碼;對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼,確定所述數(shù)據(jù)對(duì)象的一致性。進(jìn)一步的,記錄所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳;列出最后一次認(rèn)證一致的時(shí)間戳同時(shí)和之后進(jìn)行維護(hù)的數(shù)據(jù)集合的差異數(shù)據(jù)。如此,將數(shù)據(jù)集合加密生成校驗(yàn)碼,僅通過比較時(shí)間戳和校驗(yàn)碼的方式代替繁重的比對(duì)工作,最終使得數(shù)據(jù)一致性認(rèn)證更具高效性,不僅比對(duì)操作簡(jiǎn)單方便、能縮短認(rèn)證時(shí)間,并且更具安全性。

附圖說明

圖1為本發(fā)明實(shí)施例一致性認(rèn)證的方法的流程示意圖;

圖2為本發(fā)明實(shí)施例分布式系統(tǒng)間數(shù)據(jù)一致性稽核整體流程的示意圖;

圖3為本發(fā)明實(shí)施例針對(duì)數(shù)據(jù)集合生成校驗(yàn)碼的步驟的流程示意圖;

圖4為本發(fā)明實(shí)施例雙方系統(tǒng)比對(duì)校驗(yàn)碼的流程示意圖;

圖5為本發(fā)明實(shí)施例在數(shù)據(jù)集合中過濾出變更數(shù)據(jù)的流程示意圖;

圖6為本發(fā)明實(shí)施例在A系統(tǒng)中分析展現(xiàn)變更數(shù)據(jù)的流程示意圖;

圖7為本發(fā)明實(shí)施例一致性認(rèn)證的裝置的組成結(jié)構(gòu)示意圖。

具體實(shí)施方式

本發(fā)明實(shí)施例中,采用加密算法分別加密第一分布式系統(tǒng)和第二分布式系統(tǒng)中需要進(jìn)行一致性認(rèn)證的數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合,獲取生成的第一驗(yàn)證碼和第二驗(yàn)證碼;對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼,確定所述數(shù)據(jù)對(duì)象的一致性;

進(jìn)一步的,記錄所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳;列出最后一次認(rèn)證一致的時(shí)間戳同時(shí)和之后進(jìn)行維護(hù)的的數(shù)據(jù)集合的差異數(shù)據(jù)。

下面結(jié)合實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。

本發(fā)明實(shí)施例提供的數(shù)據(jù)一致性認(rèn)證的方法,如圖1所示,包括:

步驟101:采用加密算法分別加密第一分布式系統(tǒng)和第二分布式系統(tǒng)中需要進(jìn)行一致性認(rèn)證的數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合,獲取生成的第一驗(yàn)證碼和第二驗(yàn)證碼;

通常,分布式系統(tǒng)中有多個(gè)數(shù)據(jù)對(duì)象,一個(gè)數(shù)據(jù)對(duì)象會(huì)對(duì)應(yīng)多個(gè)數(shù)據(jù)集合,數(shù)據(jù)認(rèn)證通常是對(duì)某一個(gè)數(shù)據(jù)對(duì)象進(jìn)行認(rèn)證,認(rèn)證兩個(gè)分布式系統(tǒng)中某個(gè)數(shù)據(jù)對(duì)象對(duì)應(yīng)的全部數(shù)據(jù)集合是否一致。這里,第一分布式系統(tǒng)和所述第二分布式系統(tǒng)使用加密算法,分別對(duì)自身系統(tǒng)中需要進(jìn)行認(rèn)證的數(shù)據(jù)對(duì)象的全部數(shù)據(jù)集合進(jìn)行加密,分別生成唯一的驗(yàn)證碼:第一驗(yàn)證碼、第二驗(yàn)證碼;所述加密算法包括:MD5、3DES;這里可以采用32位MD5加密算法進(jìn)行加密;

實(shí)際應(yīng)用中,所述第一分布式系統(tǒng)可以是應(yīng)用系統(tǒng),所述第二分布式系統(tǒng)可以是認(rèn)證系統(tǒng);可以由所述第一分布式系統(tǒng)發(fā)起分布式系統(tǒng)間數(shù)據(jù)一致性稽核任務(wù);第一分布式系統(tǒng)和所述第二分布式系統(tǒng)約定需要進(jìn)行一致性認(rèn)證的數(shù)據(jù)對(duì)象,兩個(gè)系統(tǒng)分別對(duì)自身系統(tǒng)中需要進(jìn)行認(rèn)證的數(shù)據(jù)對(duì)象的全部數(shù)據(jù)集合進(jìn)行加密,分別生成唯一的驗(yàn)證碼:第一驗(yàn)證碼和第二驗(yàn)證碼;所述第二驗(yàn)證碼可以由所述第二分布式系統(tǒng)發(fā)送到所述第一分布式系統(tǒng)進(jìn)行下一步處理。

本發(fā)明實(shí)施例提供的方法還包括:記錄所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳;記錄所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳。對(duì)分布式系統(tǒng)的所有數(shù)據(jù)集合做維護(hù)時(shí)都需要記錄維護(hù)時(shí)間,所述數(shù)據(jù)集合的維護(hù),包括:對(duì)數(shù)據(jù)集合進(jìn)行新增、修改、刪除等操作。同時(shí),記錄第一分布式系統(tǒng)和第二分布式系統(tǒng)中所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳。其中,所述第一分布式系統(tǒng)和第二分布式系統(tǒng)可以包括多個(gè)數(shù)據(jù)對(duì)象,所述數(shù)據(jù)對(duì)象可以包括多個(gè)數(shù)據(jù)集合。

步驟102:對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼,確定所述數(shù)據(jù)對(duì)象的一致性;

這里,對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼是否相等;如果所述第一驗(yàn)證碼和所述第二驗(yàn)證碼相等,則表明所述第一分布式系統(tǒng)中進(jìn)行認(rèn)證的數(shù)據(jù)對(duì)象的全部數(shù)據(jù)集合和所述第二分布式系統(tǒng)中進(jìn)行認(rèn)證的數(shù)據(jù)對(duì)象的全部數(shù)據(jù)集合一致,如此,確定所述數(shù)據(jù)對(duì)象的一致性認(rèn)證結(jié)果為數(shù)據(jù)一致,同時(shí),記錄本次數(shù)據(jù)認(rèn)證一致時(shí)間戳;并將第一分布式系統(tǒng)和第二分布式系統(tǒng)中所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳更新為所述本次數(shù)據(jù)認(rèn)證一致的時(shí)間戳;

如果所述第一驗(yàn)證碼和所述第二驗(yàn)證碼不相等,將所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳作為過濾基準(zhǔn)點(diǎn),分別在所述第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中,過濾出所述基準(zhǔn)點(diǎn)及之后維護(hù)的各數(shù)據(jù)集合,并列出差異數(shù)據(jù);

具體的,首先,檢索出雙方系統(tǒng)在進(jìn)行數(shù)據(jù)一致性稽核任務(wù)中所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳;然后,所述第一分布式系統(tǒng)和第二分布式系統(tǒng)遍歷自身系統(tǒng)中所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的每條數(shù)據(jù)集合最后一次變更的時(shí)間戳;最 后,將所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳作為過濾基準(zhǔn)點(diǎn),對(duì)比所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的各數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳和所述基準(zhǔn)點(diǎn),獲取所述維護(hù)時(shí)間戳在基準(zhǔn)點(diǎn)及之后的所有變更數(shù)據(jù)集合;

實(shí)際應(yīng)用中,所述對(duì)比驗(yàn)證碼可以在所述第一分布式系統(tǒng)中進(jìn)行,所述第一分布式系統(tǒng)過濾出所述第一分布式系統(tǒng)中維護(hù)時(shí)間在所述基準(zhǔn)點(diǎn)及之后的數(shù)據(jù)集合;并由所述第一分布式系統(tǒng)將所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳發(fā)送給所述第二分布式系統(tǒng),由所述第二分布式系統(tǒng)過濾出所述第二分布式系統(tǒng)中維護(hù)時(shí)間在所述基準(zhǔn)點(diǎn)及之后的數(shù)據(jù)集合;由于在各個(gè)時(shí)間點(diǎn)均有可能進(jìn)行數(shù)據(jù)集合維護(hù),因此,會(huì)濾出各個(gè)維護(hù)時(shí)間點(diǎn)的多組變更數(shù)據(jù)集合。

更進(jìn)一步的,所述列出差異數(shù)據(jù)為列出所述第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中變更數(shù)據(jù)集合的差異數(shù)據(jù),包括:比較所述第一分布式系統(tǒng)中的各所述變更數(shù)據(jù)集合的第一關(guān)鍵字和所述第二分布式系統(tǒng)中的各所述變更數(shù)據(jù)集合的第二關(guān)鍵字;如果所述第一關(guān)鍵字和所述第二關(guān)鍵字不相等,則列出所述第一關(guān)鍵字對(duì)應(yīng)的變更數(shù)據(jù)集合和所述第二關(guān)鍵字對(duì)應(yīng)的變更數(shù)據(jù)集合,并標(biāo)注新增;如果所述第一關(guān)鍵字和所述第二關(guān)鍵字相等,則逐條對(duì)比第一分布式系統(tǒng)中的所述變更數(shù)據(jù)集合和第二分布式系統(tǒng)中的所述變更數(shù)據(jù)集合的維護(hù)時(shí)間,并列出維護(hù)時(shí)間不同的變更數(shù)據(jù)集合中的數(shù)據(jù)差異,并標(biāo)注更新;所述關(guān)鍵字,包括:字段名、參數(shù);

實(shí)際應(yīng)用中,可以遍歷所述第一分布式系統(tǒng)中的所述變更數(shù)據(jù)集合,提取每條變更數(shù)據(jù)集合的第一關(guān)鍵字;遍歷所述第二分布式系統(tǒng)中的所述變更數(shù)據(jù)集合,提取每條變更數(shù)據(jù)集合的第二關(guān)鍵字;這里,關(guān)鍵字可以是字段名、參數(shù),比如:所述變更數(shù)據(jù)集合是一張表格,那么,關(guān)鍵字就可以是每欄的字段名。對(duì)比第一關(guān)鍵字和第二關(guān)鍵字,如果所述第一關(guān)鍵字和第二關(guān)鍵字不同,則在數(shù)據(jù)一致性稽核任務(wù)的執(zhí)行結(jié)果列表中分別展現(xiàn)所述第一關(guān)鍵字和第二關(guān)鍵字對(duì)應(yīng)的兩條數(shù)據(jù)集合,并標(biāo)注為新增。如果所述第一關(guān)鍵字和第二關(guān)鍵字相同,則對(duì)比兩條變更數(shù)據(jù)集合的維護(hù)時(shí)間,如果維護(hù)時(shí)間不同,則比對(duì)的所述兩條變更數(shù)據(jù)集合中數(shù)據(jù)差異項(xiàng),并標(biāo)注為更新。對(duì)于所述第一關(guān)鍵字和第 二關(guān)鍵字相同,維護(hù)時(shí)間也相同的變更數(shù)據(jù)集合不做其他處理。

所述列出的差異數(shù)據(jù)結(jié)合和差異數(shù)據(jù)可以由維護(hù)人員來做進(jìn)一步處理。

下面結(jié)合具體示例對(duì)本發(fā)明產(chǎn)生的積極效果作進(jìn)一步詳細(xì)的描述。

本發(fā)明示例采用MD5加密算法對(duì)分布式系統(tǒng)中的全體數(shù)據(jù)集合進(jìn)行加密,分布式系統(tǒng)中創(chuàng)建、刪除、變更的數(shù)據(jù)集合均要記錄時(shí)間,分布式系統(tǒng)通過接口調(diào)用方式獲取到針對(duì)全體數(shù)據(jù)集合生成的MD5碼;并且,在生成MD5碼時(shí)記錄一個(gè)時(shí)間戳,分布式系統(tǒng)對(duì)雙方的MD5碼進(jìn)行比對(duì),對(duì)MD5碼不一致的數(shù)據(jù)集合通過時(shí)間戳過濾出變化的數(shù)據(jù),并通過調(diào)用接口獲取變化的數(shù)據(jù)保存于本地系統(tǒng),保證分布式系統(tǒng)間數(shù)據(jù)一致性,結(jié)合附圖具體說明如下。

分布式系統(tǒng)間數(shù)據(jù)一致性稽核整體流程,如圖2所示,包括:

步驟201:開始分布式系統(tǒng)間數(shù)據(jù)一致性稽核任務(wù);

步驟202:針對(duì)數(shù)據(jù)集合A系統(tǒng)和B系統(tǒng)分別生成各自的校驗(yàn)碼;

本步驟中,當(dāng)A系統(tǒng)向B系統(tǒng)發(fā)起數(shù)據(jù)一致性稽核信號(hào)時(shí),A系統(tǒng)和B系統(tǒng)針對(duì)約定的數(shù)據(jù)對(duì)象,如:某種業(yè)務(wù)部門的組織機(jī)構(gòu),分別對(duì)各自系統(tǒng)中該數(shù)據(jù)對(duì)象的所有數(shù)據(jù)集合進(jìn)行加密;每個(gè)數(shù)據(jù)集合包括多個(gè)參數(shù),如:一個(gè)業(yè)務(wù)部門的組織機(jī)構(gòu)是一個(gè)數(shù)據(jù)集合,該數(shù)據(jù)集合包括:標(biāo)識(shí)(ID,Identity)、父級(jí)ID、及名稱。本發(fā)明示例使用32位MD5加密算法對(duì)全部數(shù)據(jù)集合進(jìn)行加密,各自生成唯一的驗(yàn)證碼;A系統(tǒng)生成校驗(yàn)碼為a,B系統(tǒng)生成校驗(yàn)碼為b;

步驟203:B系統(tǒng)將生成的MD5校驗(yàn)碼b發(fā)送給A系統(tǒng),A系統(tǒng)對(duì)校驗(yàn)碼a和校驗(yàn)b進(jìn)行比對(duì);

步驟204:A系統(tǒng)將步驟203中校驗(yàn)碼比對(duì)的結(jié)果返回給B系統(tǒng),B系統(tǒng)根據(jù)校驗(yàn)碼的比對(duì)結(jié)果自動(dòng)過濾出變更數(shù)據(jù)并發(fā)送至A系統(tǒng);

步驟205:A系統(tǒng)將步驟204中B系統(tǒng)發(fā)送來的變更數(shù)據(jù)進(jìn)行解析,A系統(tǒng)對(duì)每個(gè)數(shù)據(jù)集合進(jìn)行拆分,根據(jù)每條數(shù)據(jù)集合記錄的時(shí)間戳進(jìn)行A、B系統(tǒng)間的數(shù)據(jù)比對(duì),并以列表形式區(qū)分展現(xiàn)A系統(tǒng)和B系統(tǒng)的差異項(xiàng);

步驟206:結(jié)束分布式系統(tǒng)間數(shù)據(jù)一致性稽核任務(wù)。

圖3為針對(duì)上述分布式系統(tǒng)間數(shù)據(jù)一致性稽核整體流程中步驟202的詳細(xì)描述,如圖3所示,生成校驗(yàn)碼的過程包括:

步驟301:A系統(tǒng)向B系統(tǒng)發(fā)送雙側(cè)數(shù)據(jù)進(jìn)行一致性稽核的請(qǐng)求;

步驟302:A系統(tǒng)針對(duì)約定的數(shù)據(jù)對(duì)象的所有數(shù)據(jù)集合進(jìn)行加密,所述約定的數(shù)據(jù)對(duì)象可以是某種業(yè)務(wù)部門的組織機(jī)構(gòu);每個(gè)數(shù)據(jù)集合包括多個(gè)參數(shù),如一個(gè)業(yè)務(wù)部門的組織機(jī)構(gòu)是一個(gè)數(shù)據(jù)集合,該數(shù)據(jù)集合包括:ID、父級(jí)ID、及名稱;

本發(fā)明實(shí)施例使用32位MD5加密算法對(duì)全部數(shù)據(jù)集合進(jìn)行加密,生成唯一的驗(yàn)證碼,假設(shè)A系統(tǒng)生成校驗(yàn)碼為a;

步驟303:A系統(tǒng)在對(duì)全部數(shù)據(jù)集合加密生成校驗(yàn)碼a時(shí)記錄時(shí)間戳timA1;

步驟304:B系統(tǒng)接收到數(shù)據(jù)一致性稽核通知;

步驟305:B系統(tǒng)針對(duì)約定的數(shù)據(jù)對(duì)象的所有數(shù)據(jù)集合進(jìn)行加密,所述約定的數(shù)據(jù)對(duì)象可以是某種業(yè)務(wù)部門的組織機(jī)構(gòu);每個(gè)數(shù)據(jù)集合包括多個(gè)參數(shù),如:一個(gè)業(yè)務(wù)部門的組織機(jī)構(gòu)是一個(gè)數(shù)據(jù)集合,該數(shù)據(jù)集合包括ID、父級(jí)ID、及名稱;

本發(fā)明實(shí)施例使用32位MD5加密算法對(duì)全部數(shù)據(jù)集合進(jìn)行加密,生成唯一的驗(yàn)證碼,假設(shè)B系統(tǒng)生成校驗(yàn)碼為b;

步驟306:B系統(tǒng)在對(duì)全部數(shù)據(jù)集合加密生成校驗(yàn)碼b時(shí)記錄時(shí)間戳timB1;

步驟307:B系統(tǒng)將生成的校驗(yàn)碼b發(fā)送至A系統(tǒng)。

這里,步驟301和步驟304為并發(fā)進(jìn)行,A系統(tǒng)和B系統(tǒng)可以同時(shí)進(jìn)行加密,生成校驗(yàn)碼和記錄時(shí)間戳。

圖4為針對(duì)上述分布式系統(tǒng)間數(shù)據(jù)一致性稽核整體流程中步驟203的詳細(xì)描述,如圖4所示,雙方系統(tǒng)比對(duì)校驗(yàn)碼的流程包括:

步驟401:A系統(tǒng)接收到從B系統(tǒng)發(fā)送來的校驗(yàn)碼b;

步驟402:A系統(tǒng)針對(duì)A系統(tǒng)生成的校驗(yàn)碼a和B系統(tǒng)發(fā)送來的校驗(yàn)碼b 進(jìn)行比對(duì);

步驟403:比對(duì)校驗(yàn)碼a和b的值,如果a=b,也即雙方通過MD5算法對(duì)各自系統(tǒng)中的全部數(shù)據(jù)集合生成的校驗(yàn)碼相同,則轉(zhuǎn)到步驟404;如果a≠b,也即雙方生成的校驗(yàn)碼不相同,則轉(zhuǎn)到步驟406;

步驟404:A系統(tǒng)記錄本次比對(duì)結(jié)果為“數(shù)據(jù)一致”;

步驟405:A系統(tǒng)針對(duì)數(shù)據(jù)比對(duì)一致記錄時(shí)間戳SameTim;結(jié)束本次處理流程;

步驟406:A系統(tǒng)記錄本次比對(duì)結(jié)果為“數(shù)據(jù)不一致”;

步驟407:A系統(tǒng)針對(duì)數(shù)據(jù)比對(duì)不一致記錄時(shí)間戳DiffTim;

步驟408:A系統(tǒng)檢索出雙方系統(tǒng)在進(jìn)行數(shù)據(jù)一致性稽核任務(wù)中最后一次比對(duì)結(jié)果為“數(shù)據(jù)一致”的時(shí)間戳SameTim;

步驟409:A系統(tǒng)遍歷自身系統(tǒng)中每條數(shù)據(jù)集合最后一次變更的時(shí)間戳timA;

步驟410:比對(duì)每條數(shù)據(jù)集合最后一次變更時(shí)間戳timA和SameTim。如果SameTim<=timA,則轉(zhuǎn)到步驟411,如果SameTim>timA,則轉(zhuǎn)到步驟409;

步驟411:將SameTim<=timA的數(shù)據(jù)集合加入到數(shù)據(jù)變更表TableA中;結(jié)束本次處理流程;

步驟412:A系統(tǒng)將最后一次比對(duì)結(jié)果為“數(shù)據(jù)一致”的時(shí)間戳SameTim發(fā)送至B系統(tǒng)。

這里,步驟409和步驟412可以并發(fā)進(jìn)行,如此,A系統(tǒng)和B系統(tǒng)可以同步進(jìn)行數(shù)據(jù)集合的過濾。

圖5為針對(duì)上述分布式系統(tǒng)間數(shù)據(jù)一致性稽核整體流程中步驟204的詳細(xì)描述,如圖5所示,數(shù)據(jù)集合中過濾出變更數(shù)據(jù)的流程包括:

步驟501:B系統(tǒng)接收到從A系統(tǒng)發(fā)送來的時(shí)間戳SameTim;

步驟502:B系統(tǒng)遍歷自身系統(tǒng)中每條數(shù)據(jù)集合最后一次變更的時(shí)間戳timB;

步驟503:比對(duì)每條數(shù)據(jù)集合最后一次變更時(shí)間戳timB和SameTim,如果 SameTim<=timB,則轉(zhuǎn)到步驟504,如果Sametim>timB,則轉(zhuǎn)到步驟502;

步驟504:將SameTim<=timB的數(shù)據(jù)集合加入到數(shù)據(jù)變更表TableB中;

步驟505:B系統(tǒng)對(duì)本系統(tǒng)中所有數(shù)據(jù)集合比對(duì)完成后生成的數(shù)據(jù)變更表TableB發(fā)送給A系統(tǒng)。

圖6為針對(duì)上述分布式系統(tǒng)間數(shù)據(jù)一致性稽核整體流程中步驟205的詳細(xì)描述,如圖6所示,A系統(tǒng)中分析展現(xiàn)變更數(shù)據(jù)的流程包括:

步驟601:A系統(tǒng)接收到B系統(tǒng)發(fā)送的數(shù)據(jù)變更表TableB;

步驟602:A系統(tǒng)解析數(shù)據(jù)變更表TableB,獲取到每條變更數(shù)據(jù)的關(guān)鍵字KeyB;

步驟603:A系統(tǒng)遍歷自身系統(tǒng)生成的數(shù)據(jù)變更表TableA,獲取到每條變更數(shù)據(jù)的關(guān)鍵字KeyA;

步驟604:比對(duì)數(shù)據(jù)變更表TableA和數(shù)據(jù)變更表TableB中的關(guān)鍵字KeyA和KeyB。如果KeyA≠KeyB,則轉(zhuǎn)到步驟605,如果KeyA=KeyB,則轉(zhuǎn)到步驟606;

步驟605:在數(shù)據(jù)一致性稽核任務(wù)的執(zhí)行結(jié)果列表中分別展現(xiàn)關(guān)鍵字為KeyA和KeyB的兩條數(shù)據(jù),并標(biāo)注為新增;結(jié)束本次處理流程;

步驟606:比對(duì)KeyA對(duì)應(yīng)數(shù)據(jù)集合的變更時(shí)間timA和KeyB對(duì)應(yīng)數(shù)據(jù)集合的變更時(shí)間timB。如果timA≠timB,則轉(zhuǎn)步驟607,如果timA=timB,則轉(zhuǎn)到步驟608;

步驟607:比對(duì)關(guān)鍵字為KeyA和KeyB的兩條數(shù)據(jù)集合中參數(shù)差異項(xiàng),并標(biāo)注為更新;結(jié)束本次處理流程;

步驟608:不作處理。

本發(fā)明實(shí)施例提供的數(shù)據(jù)一致性認(rèn)證的裝置,如圖7所示,包括:加密模塊11、認(rèn)證模塊12,其中,

所述加密模塊11,用于采用MD5分別加密第一分布式系統(tǒng)和第二分布式系統(tǒng)中需要進(jìn)行一致性認(rèn)證的數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合,獲取生成的第一驗(yàn)證碼和第二驗(yàn)證碼;

通常,分布式系統(tǒng)中有多個(gè)數(shù)據(jù)對(duì)象,一個(gè)數(shù)據(jù)對(duì)象會(huì)對(duì)應(yīng)多個(gè)數(shù)據(jù)集合,數(shù)據(jù)認(rèn)證通常是對(duì)某一盒數(shù)據(jù)對(duì)象進(jìn)行認(rèn)證,認(rèn)證兩個(gè)分布式系統(tǒng)中某個(gè)數(shù)據(jù)對(duì)象對(duì)應(yīng)的全部數(shù)據(jù)集合是否一致。這里,所述加密模塊11使用加密算法,對(duì)第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中需要進(jìn)行認(rèn)證的數(shù)據(jù)對(duì)象的全部數(shù)據(jù)集合進(jìn)行加密,分別生成唯一的驗(yàn)證碼:第一驗(yàn)證碼、第二驗(yàn)證碼;所述加密算法包括:MD5、3DES;這里可以采用32位MD5加密算法進(jìn)行加密;

實(shí)際應(yīng)用中,所述第一分布式系統(tǒng)可以是應(yīng)用系統(tǒng),所述第二分布式系統(tǒng)可以是認(rèn)證系統(tǒng);可以由所述第一分布式系統(tǒng)發(fā)起分布式系統(tǒng)間數(shù)據(jù)一致性稽核任務(wù);第一分布式系統(tǒng)和所述第二分布式系統(tǒng)約定需要進(jìn)行一致性認(rèn)證的數(shù)據(jù)對(duì)象,兩個(gè)系統(tǒng)分別對(duì)自身系統(tǒng)中需要進(jìn)行認(rèn)證的數(shù)據(jù)對(duì)象的全部數(shù)據(jù)集合進(jìn)行加密,分別生成唯一的驗(yàn)證碼:第一驗(yàn)證碼和第二驗(yàn)證碼;所述第二驗(yàn)證碼可以由所述第二分布式系統(tǒng)發(fā)送到所述第一分布式系統(tǒng)進(jìn)行下一步處理。

本發(fā)明實(shí)施例提供的裝置,還包括:記錄模塊13,用于記錄所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳;記錄所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳。對(duì)分布式系統(tǒng)的所有數(shù)據(jù)集合做維護(hù)時(shí)都需要記錄維護(hù)時(shí)間,所述數(shù)據(jù)集合的維護(hù),包括:對(duì)數(shù)據(jù)集合進(jìn)行新增、修改、刪除等操作。同時(shí),記錄第一分布式系統(tǒng)和第二分布式系統(tǒng)中所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳。其中,所述第一分布式系統(tǒng)和第二分布式系統(tǒng)可以包括多個(gè)數(shù)據(jù)對(duì)象,所述數(shù)據(jù)對(duì)象可以包括多個(gè)數(shù)據(jù)集合。

所述認(rèn)證模塊12,用于對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼,確定所述數(shù)據(jù)對(duì)象的一致性。

這里,對(duì)比所述第一驗(yàn)證碼和所述第二驗(yàn)證碼是否相等;如果所述第一驗(yàn)證碼和所述第二驗(yàn)證碼相等,則表明所述第一分布式系統(tǒng)中進(jìn)行認(rèn)證的數(shù)據(jù)對(duì)象的全部數(shù)據(jù)集合和所述第二分布式系統(tǒng)中進(jìn)行認(rèn)證的數(shù)據(jù)對(duì)象的全部數(shù)據(jù)集合一致,如此,確定所述數(shù)據(jù)對(duì)象的一致性認(rèn)證結(jié)果為數(shù)據(jù)一致,同時(shí),所述記錄模塊13記錄本次數(shù)據(jù)認(rèn)證一致時(shí)間戳;并將第一分布式系統(tǒng)和第二分布式系統(tǒng)中所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳更新為所述本次數(shù)據(jù)認(rèn)證一致 的時(shí)間戳;

如果所述第一驗(yàn)證碼和所述第二驗(yàn)證碼不相等,將所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳作為過濾基準(zhǔn)點(diǎn),分別在所述第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中,過濾出所述基準(zhǔn)點(diǎn)及之后維護(hù)的各數(shù)據(jù)集合,并列出差異數(shù)據(jù);

具體的,首先,檢索出雙方系統(tǒng)在進(jìn)行數(shù)據(jù)一致性稽核任務(wù)中所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳;然后,所述第一分布式系統(tǒng)和第二分布式系統(tǒng)遍歷自身系統(tǒng)中所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的每條數(shù)據(jù)集合最后一次變更的時(shí)間戳;最后,將所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳作為過濾基準(zhǔn)點(diǎn),對(duì)比所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的各數(shù)據(jù)集合進(jìn)行維護(hù)的時(shí)間戳和所述基準(zhǔn)點(diǎn),獲取所述維護(hù)時(shí)間戳在基準(zhǔn)點(diǎn)及之后的所有變更數(shù)據(jù)集合;

實(shí)際應(yīng)用中,所述對(duì)比驗(yàn)證碼可以在所述第一分布式系統(tǒng)中進(jìn)行,所述第一分布式系統(tǒng)過濾出所述第一分布式系統(tǒng)中維護(hù)時(shí)間在所述基準(zhǔn)點(diǎn)及之后的數(shù)據(jù)集合;并由所述第一分布式系統(tǒng)將所述數(shù)據(jù)對(duì)象最后一次認(rèn)證一致的時(shí)間戳發(fā)送給所述第二分布式系統(tǒng),由所述第二分布式系統(tǒng)過濾出所述第二分布式系統(tǒng)中維護(hù)時(shí)間在所述基準(zhǔn)點(diǎn)及之后的數(shù)據(jù)集合;由于在各個(gè)時(shí)間點(diǎn)均有可能進(jìn)行數(shù)據(jù)集合維護(hù),因此,會(huì)濾出各個(gè)維護(hù)時(shí)間點(diǎn)的多組變更數(shù)據(jù)集合。

更進(jìn)一步的,所述列出差異數(shù)據(jù)為列出所述第一分布式系統(tǒng)和所述第二分布式系統(tǒng)中變更數(shù)據(jù)集合的差異數(shù)據(jù),包括:比較所述第一分布式系統(tǒng)中的各所述變更數(shù)據(jù)集合的第一關(guān)鍵字和所述第二分布式系統(tǒng)中的各所述變更數(shù)據(jù)集合的第二關(guān)鍵字;如果所述第一關(guān)鍵字和所述第二關(guān)鍵字不相等,則列出所述第一關(guān)鍵字對(duì)應(yīng)的變更數(shù)據(jù)集合和所述第二關(guān)鍵字對(duì)應(yīng)的變更數(shù)據(jù)集合,并標(biāo)注新增;如果所述第一關(guān)鍵字和所述第二關(guān)鍵字相等,則逐條對(duì)比第一分布式系統(tǒng)中的所述變更數(shù)據(jù)集合和第二分布式系統(tǒng)中的所述變更數(shù)據(jù)集合的維護(hù)時(shí)間,并列出維護(hù)時(shí)間不同的變更數(shù)據(jù)集合中的數(shù)據(jù)差異,并標(biāo)注更新;所述關(guān)鍵字,包括:字段名、參數(shù);

實(shí)際應(yīng)用中,可以遍歷所述第一分布式系統(tǒng)中的所述變更數(shù)據(jù)集合,提取每條變更數(shù)據(jù)集合的第一關(guān)鍵字;遍歷所述第二分布式系統(tǒng)中的所述變更數(shù)據(jù) 集合,提取每條變更數(shù)據(jù)集合的第二關(guān)鍵字;這里,關(guān)鍵字可以是字段名、參數(shù),比如:所述變更數(shù)據(jù)集合是一張表格,那么,關(guān)鍵字就可以是每欄的字段名。對(duì)比第一關(guān)鍵字和第二關(guān)鍵字,如果所述第一關(guān)鍵字和第二關(guān)鍵字不同,則在數(shù)據(jù)一致性稽核任務(wù)的執(zhí)行結(jié)果列表中分別展現(xiàn)所述第一關(guān)鍵字和第二關(guān)鍵字對(duì)應(yīng)的兩條數(shù)據(jù)集合,并標(biāo)注為新增。如果所述第一關(guān)鍵字和第二關(guān)鍵字相同,則對(duì)比兩條變更數(shù)據(jù)集合的維護(hù)時(shí)間,如果維護(hù)時(shí)間不同,則比對(duì)的所述兩條變更數(shù)據(jù)集合中數(shù)據(jù)差異項(xiàng),并標(biāo)注為更新。對(duì)于所述第一關(guān)鍵字和第二關(guān)鍵字相同,維護(hù)時(shí)間也相同的變更數(shù)據(jù)集合不做其他處理。

所述列出的差異數(shù)據(jù)結(jié)合和差異數(shù)據(jù)可以由維護(hù)人員來做進(jìn)一步處理。

在實(shí)際應(yīng)用中,所述加密模塊11、認(rèn)證模塊12、記錄模塊13均可由分布式系統(tǒng)中的中央處理器(CPU)、微處理器(MPU)、數(shù)字信號(hào)處理器(DSP)、或現(xiàn)場(chǎng)可編程門陣列(FPGA)等實(shí)現(xiàn)。

以上所述,僅為本發(fā)明的佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1