本發(fā)明屬于預(yù)警核對,具體為一種內(nèi)容最終一致性核對預(yù)警的方法。
背景技術(shù):
1、內(nèi)容數(shù)據(jù)最終一致的校驗,是很多系統(tǒng)面臨的問題,要去發(fā)現(xiàn)不一致的數(shù)據(jù),并做出一定的處理,處理可以是解決問題或者預(yù)警,分布式系統(tǒng)天然就存在一致性問題,作為業(yè)務(wù)系統(tǒng),經(jīng)常會修改邏輯會容易出現(xiàn)同步數(shù)據(jù)丟失,字段沒有傳遞,字段傳遞錯誤等問題,也會因為傳遞過程的順序性問題,導(dǎo)致并發(fā)傳遞后產(chǎn)生不一致。
2、現(xiàn)有的核對機制的方式一般為版本號核對,當(dāng)發(fā)現(xiàn)版本號一致,會直接對比內(nèi)容,僅一次就可以判斷差異,但是很多系統(tǒng)設(shè)計時沒有版本號,再去增加版本號要引起各系統(tǒng)的修改,有的系統(tǒng)并不愿意去增加版本號,但是現(xiàn)有方案存在諸多問題,例如:
3、1.一個內(nèi)容不能一直修改,需要修改過后有一段時間是不會改的;
4、2.發(fā)現(xiàn)的過程,需要幾次校驗,需要等一段時間;
5、3.當(dāng)數(shù)據(jù)同步字段增加,需要補充對比數(shù)據(jù);
6、為了檢驗汽車資訊內(nèi)容在分布式系統(tǒng)中數(shù)據(jù)的最終一致性,需要支持?jǐn)?shù)據(jù)核對機制,為了避免原來系統(tǒng)的改造,以及內(nèi)容邏輯的修改,通過在規(guī)定的時間內(nèi),校驗n次來檢驗是否最終一致,是否需要預(yù)警,因此需要對其進行改進。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種內(nèi)容最終一致性核對預(yù)警的方法,以解決上述背景技術(shù)中提出的問題。
2、為了實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種內(nèi)容最終一致性核對預(yù)警的方法,包括以下步驟:
3、[1.1]【事件觸發(fā)】當(dāng)數(shù)據(jù)庫發(fā)生變更,通過binlog發(fā)現(xiàn)某id數(shù)據(jù)產(chǎn)生了修改、增加、刪除;
4、[1.2]從content_check中查找,是否有內(nèi)容id已經(jīng)在表里,
5、如果不在表里,進入1.3
6、如果在表里,進入1.4;
7、[1.3]記錄id到content_check,列times=0,status=false;
8、[1.4]更新content_check表中id的信息,t?imes=0、status=false、checktime=當(dāng)前時間、fai?lurereason=空;
9、[3.1]獲取到b的信息(a來源于binlog,b來源于表數(shù)據(jù)或者其它人提供的接口),按照核對需求核對字段信息;
10、[3.2]判斷核對的信息是否正常,
11、正常3.3
12、不正常3.4;
13、[3.3]修改content_check的id?status列,status=成功;
14、[3.4]修改content_check的id列,times=t?imes+1、status:失敗、checktime=當(dāng)前時間、fai?lurereason:【增加異?!?、【刪除異?!?、【修改異常】具體的不匹配的列描述;
15、[2.1]【事件觸發(fā)】循環(huán)執(zhí)行,來自第1次,或上次執(zhí)行完成;
16、[2.2]找到content_check中,status=false且times<=timesmax(配置的)且(checktime+t?imeinterval(配置的))<當(dāng)前時間
17、如果是,進入3.1
18、如果否,進入2.3;
19、[2.3]發(fā)對應(yīng)內(nèi)容的報警給相關(guān)人。
20、這樣的方案設(shè)計,能夠在不改變原有系統(tǒng)的前提下,用一種相對簡單且高效的方案,從而能夠快速的找出與內(nèi)容id不一致的數(shù)據(jù)。
21、優(yōu)選的,所述數(shù)據(jù)庫設(shè)置有病毒查殺系統(tǒng),所述病毒查殺系統(tǒng)每兩個小時查殺一次病毒。
22、設(shè)置定期病毒查殺的功能,能夠有效的預(yù)防病毒入侵?jǐn)?shù)據(jù)庫,保障了數(shù)據(jù)庫的安全,同時避免了數(shù)據(jù)庫資料被盜或者丟失帶來的不利影響。
23、優(yōu)選的,所述循環(huán)執(zhí)行具有自動儲存信息的功能,所述循環(huán)執(zhí)行每循環(huán)一次就會儲存一次數(shù)據(jù)。
24、循環(huán)執(zhí)行系統(tǒng)自動儲存信息功能的設(shè)計,能夠有效的避免數(shù)據(jù)丟失。
25、優(yōu)選的,所述核對記錄表(content_check)包含內(nèi)容id(contentid)、核對次數(shù)(times)、核對結(jié)果(status)。
26、核對記錄表能夠清楚的顯示出內(nèi)容id的核對次數(shù)和核對結(jié)果。
27、優(yōu)選的,所述最后核對時間(checktime)能夠做到毫秒級別,所述毫秒級別的范圍是一毫秒到二百毫秒。
28、毫秒級別的設(shè)計,提高了核對的效率,同時能夠快速的核對內(nèi)容。
29、優(yōu)選的,所述核對需求包含最大核對次數(shù)(timesmax)、核對間隔(timeinterval),所述核對間隔(t?imeinterval)以分鐘和秒為單元。
30、最大核對次數(shù)和核對間隔由系統(tǒng)配置的,能夠進行修改。
31、優(yōu)選的,所述對應(yīng)內(nèi)容采用郵件、手機短信和通訊app來發(fā)送,所述對應(yīng)內(nèi)容的發(fā)送方式可由相關(guān)人來自主選擇其一。
32、這樣的設(shè)計,使得內(nèi)容發(fā)送的方式可以讓相關(guān)人根據(jù)自身需求來選擇,從而給相關(guān)人的接收和提示帶來了便利。
33、優(yōu)選的,所述binlog是一種只記錄對表中數(shù)據(jù)以及對表結(jié)構(gòu)產(chǎn)生更改操作的二進制文件,所述binlog有三種格式能夠通過binlog-format來設(shè)定。
34、binlog是直接記錄sql語句,或者說記錄原始sql邏輯,因此binlog屬于邏輯日志。
35、優(yōu)選的,所述核對字段信息是用于儲存特定類型的信息,所述核對字段信息的數(shù)據(jù)類型決定了它能夠儲存的數(shù)據(jù)種類和范圍。
36、每個字段都有唯一的標(biāo)識符,稱為字段名,它用于在數(shù)據(jù)庫或數(shù)據(jù)表中標(biāo)識和引用特定的數(shù)據(jù)項。
37、本發(fā)明的有益效果如下:
38、本發(fā)明通過設(shè)計新的方案,能夠在不改變原有系統(tǒng)的前提下,用一種相對簡單且高效的方案,從而達到快速找出不一致數(shù)據(jù)的目的,解決了現(xiàn)有技術(shù)中一個內(nèi)容不能一直修改,需要修改過后有一段時間是不會改的;發(fā)現(xiàn)的過程,需要幾次校驗,需要等一段時間;當(dāng)數(shù)據(jù)同步字段增加,需要補充對比數(shù)據(jù)等問題,從而提高了數(shù)據(jù)內(nèi)容對比的效率,給操作人員的作業(yè)使用帶來了便利。
1.一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于:所述數(shù)據(jù)庫設(shè)置有病毒查殺系統(tǒng),所述病毒查殺系統(tǒng)每兩個小時查殺一次病毒。
3.根據(jù)權(quán)利要求1所述的一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于:所述循環(huán)執(zhí)行具有自動儲存信息的功能,所述循環(huán)執(zhí)行每循環(huán)一次就會儲存一次數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于:所述核對記錄表(content_check)包含有內(nèi)容id(contentid)、核對次數(shù)(times)和核對結(jié)果(status)。
5.根據(jù)權(quán)利要求1所述的一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于:所述最后核對時間(checktime)能夠做到毫秒級別,所述毫秒級別的范圍是一毫秒到二百毫秒。
6.根據(jù)權(quán)利要求1所述的一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于:所述核對需求包含有最大核對次數(shù)(timesmax)和核對間隔(timeinterval),所述核對間隔(timeinterval)以分鐘和秒為單位。
7.根據(jù)權(quán)利要求1所述的一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于:所述對應(yīng)內(nèi)容采用郵件、手機短信和通訊app來發(fā)送,所述對應(yīng)內(nèi)容的發(fā)送方式可由相關(guān)人來自主選擇其一。
8.根據(jù)權(quán)利要求1所述的一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于:所述binlog是一種只記錄對表中數(shù)據(jù)以及對表結(jié)構(gòu)產(chǎn)生更改操作的二進制文件,所述binlog有三種格式能夠通過binlog-format來設(shè)定。
9.根據(jù)權(quán)利要求1所述的一種內(nèi)容最終一致性核對預(yù)警的方法,其特征在于:所述核對字段信息是用于儲存特定類型的信息,所述核對字段信息的數(shù)據(jù)類型決定了它能夠儲存的數(shù)據(jù)種類和范圍。