欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

進行數(shù)據(jù)一致性校驗及同步的方法和分布式系統(tǒng)的制作方法

文檔序號:7611569閱讀:659來源:國知局
專利名稱:進行數(shù)據(jù)一致性校驗及同步的方法和分布式系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤其是涉及一種進行數(shù)據(jù)一致性校驗及同步的方法和分布式系統(tǒng)。
背景技術(shù)
分布式系統(tǒng)是指多個具有獨立處理能力的系統(tǒng)通過某種通信方式聯(lián)系在一起,共同完成全部功能的設(shè)備或多個設(shè)備。通常是由一個主系統(tǒng)和多個子系統(tǒng)組成,主系統(tǒng)可以有備份,對于處于備份狀態(tài)的主系統(tǒng),當(dāng)前主系統(tǒng)認(rèn)為其是一個子系統(tǒng)(僅子系統(tǒng)類型和普通業(yè)務(wù)子系統(tǒng)不一樣而已)。如果整個分布式系統(tǒng)中所有系統(tǒng)都是對等關(guān)系,則沒有主系統(tǒng)和子系統(tǒng)概念。
在分布式系統(tǒng)中,由于每個系統(tǒng)都具有獨立處理能力,數(shù)據(jù)需要在主系統(tǒng)和多個子系統(tǒng)中保留。主系統(tǒng)保留自身的數(shù)據(jù)和所有子系統(tǒng)的數(shù)據(jù),子系統(tǒng)僅保留自身的數(shù)據(jù);如果某幾個子系統(tǒng)需要完成相互之間的保護或備份,則該子系統(tǒng)可能也需要保留其它子系統(tǒng)的數(shù)據(jù)。
通常情況下,各個子系統(tǒng)的數(shù)據(jù)是通過主系統(tǒng)下發(fā)的,以及某子系統(tǒng)產(chǎn)生的數(shù)據(jù)上報給主系統(tǒng),此時保留在主系統(tǒng)和子系統(tǒng)中的關(guān)于這個子系統(tǒng)的數(shù)據(jù)是一致的。
但如果是對主系統(tǒng)本身進行配置,則數(shù)據(jù)不用下發(fā)給子系統(tǒng)。一個特例是對于備份狀態(tài)的主系統(tǒng),雖然在默認(rèn)情況將其視為一個特殊類型的子系統(tǒng),但是所有對主系統(tǒng)的配置同時也會發(fā)給備份主系統(tǒng),以便保持工作和備份狀態(tài)的主系統(tǒng)數(shù)據(jù)完全一致。
此外,當(dāng)某子系統(tǒng)產(chǎn)生的數(shù)據(jù)上報給主系統(tǒng)時,這些數(shù)據(jù)同時也要發(fā)給備份主系統(tǒng)(可以由該子系統(tǒng)直接發(fā)給備份主系統(tǒng),或者由主系統(tǒng)將收到的子系統(tǒng)上報數(shù)據(jù)轉(zhuǎn)發(fā)給備份子系統(tǒng)),以便保持工作和備份狀態(tài)的主系統(tǒng)數(shù)據(jù)完全一致。
在某些情況下,可能會不通過主系統(tǒng)直接管理子系統(tǒng),如單獨調(diào)試子系統(tǒng)時;或者在子系統(tǒng)脫機狀態(tài)下,在主系統(tǒng)上管理子系統(tǒng);或者在主系統(tǒng)向子系統(tǒng)下發(fā)數(shù)據(jù)時(或子系統(tǒng)向主系統(tǒng)上報數(shù)據(jù)時),忽然遇到系統(tǒng)掉電、復(fù)位、通信異常等情況,系統(tǒng)僅收到部分?jǐn)?shù)據(jù),從而出現(xiàn)數(shù)據(jù)錯誤,即出現(xiàn)主系統(tǒng)和子系統(tǒng)的數(shù)據(jù)不一致的情況;此外也有可能在分布式系統(tǒng)長期運行過程中,出現(xiàn)某些意外情況,如軟件處理異常、電信號異常導(dǎo)致數(shù)據(jù)跳變,從而造成了主系統(tǒng)或者子系統(tǒng)的數(shù)據(jù)變化,即出現(xiàn)數(shù)據(jù)不一致的情況。
當(dāng)主、子系統(tǒng)出現(xiàn)數(shù)據(jù)不一致的情況時,如果沒有一種有效的方法來發(fā)現(xiàn)和修正這種錯誤,會對整個分布式系統(tǒng)的正常功能構(gòu)成危險。
專利號為99814506.8的現(xiàn)有技術(shù)數(shù)據(jù)和源數(shù)據(jù)每個均被安排在一個或優(yōu)選的幾個數(shù)據(jù)組中。為每個數(shù)據(jù)組計算參考校驗和。接收單元確定接收單元中數(shù)據(jù)的每個數(shù)據(jù)組的內(nèi)容是否與相應(yīng)的參考校驗和相匹配。接收單元請求源單元發(fā)送已檢測到不匹配的那些數(shù)據(jù)組中源數(shù)據(jù)的拷貝到接收單元。被請求的數(shù)據(jù)從源單元被下載到接收單元。
由上述描述可以看出現(xiàn)有技術(shù)中主系統(tǒng)將校驗字和數(shù)據(jù)一起下發(fā)給子系統(tǒng),然后由子系統(tǒng)進行比較,若發(fā)現(xiàn)數(shù)據(jù)不一致,則主動向主系統(tǒng)申請下載數(shù)據(jù),從而實現(xiàn)主、子系統(tǒng)數(shù)據(jù)的一致性校驗及同步。
由于主系統(tǒng)將校驗字和數(shù)據(jù)一起下發(fā)給子系統(tǒng),如果需校驗的數(shù)據(jù)不兼容時,就不能很好地實現(xiàn)數(shù)據(jù)的一致性校驗及同步。例如由于主、子系統(tǒng)的版本、功能升級等情況而引起校驗數(shù)據(jù)不一致,包括數(shù)據(jù)的定義、類型、格式、排列順序、組合等,甚至包括以前需校驗的內(nèi)容后來不需校驗,以前不需校驗的內(nèi)容后來需要校驗的情況。
此外,由于此種校驗方式是把數(shù)據(jù)和校驗字一起下發(fā)給子系統(tǒng)的,因此存在系統(tǒng)間通信量較大的不足,當(dāng)整個分布式系統(tǒng)比較大時,校驗產(chǎn)生的通信量過大會影響分布式系統(tǒng)的正常功能。而且校驗字的比較是在每個子系統(tǒng)實現(xiàn)的,不便于集中控制校驗及同步策略。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種進行數(shù)據(jù)一致性校驗及同步方法和分布式系統(tǒng),以解決現(xiàn)有技術(shù)中在當(dāng)數(shù)據(jù)不兼容時,就不能很好地實現(xiàn)數(shù)據(jù)的一致性校驗及同步的問題。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)明提供的一種進行數(shù)據(jù)一致性校驗及同步的方法,包括A、主系統(tǒng)分別獲取每個子系統(tǒng)數(shù)據(jù)對應(yīng)在主、子系統(tǒng)內(nèi)的校驗字;B、主系統(tǒng)將所述的每個子系統(tǒng)數(shù)據(jù)對應(yīng)在主、子系統(tǒng)內(nèi)的校驗字進行比較,若一致,則結(jié)束校驗;否則,同步對應(yīng)的不一致的數(shù)據(jù)。
其中,所述步驟A具體包括A1、主系統(tǒng)發(fā)送校驗命令給子系統(tǒng);A2、子系統(tǒng)接收校驗命令,計算自己支持的數(shù)據(jù)的校驗字,返回響應(yīng)命令包給主系統(tǒng);A3、主系統(tǒng)接收該響應(yīng)命令包,并根據(jù)該響應(yīng)命令包中的內(nèi)容計算得到對應(yīng)該子系統(tǒng)的數(shù)據(jù)的校驗字。
其中,步驟A2和步驟A3中所述響應(yīng)命令包包括子系統(tǒng)的編號及數(shù)據(jù)的校驗字。
其中,在步驟A之前還包括子系統(tǒng)依據(jù)子系統(tǒng)的類型和數(shù)據(jù)的類型將數(shù)據(jù)劃分為若干組數(shù)據(jù)。
其中,步驟A2和步驟A3中所述響應(yīng)命令包包括子系統(tǒng)的編號、數(shù)據(jù)組的組號和數(shù)據(jù)組的校驗字及可選的包括數(shù)據(jù)組的數(shù)目。
其中,在步驟B中,所述同步對應(yīng)的不一致的數(shù)據(jù)的過程包括上報校驗失敗告警,通知人工同步子系統(tǒng)不一致的數(shù)據(jù);和/或向?qū)?yīng)子系統(tǒng)的不一致的數(shù)據(jù)下發(fā)正確數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);和/或向?qū)?yīng)子系統(tǒng)的全部數(shù)據(jù)下發(fā)正確數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);和/或向所有子系統(tǒng)的全部數(shù)據(jù)下發(fā)正確數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù)。
其中,所述步驟B中,當(dāng)一致并結(jié)束校驗之后,還包括對該子系統(tǒng)所有數(shù)據(jù)的校驗失敗計數(shù)器清零的過程。
其中,本發(fā)明所述的方法還包括C、校驗退出;D、校驗失敗時對該子系統(tǒng)對應(yīng)的校驗失敗計數(shù)器累計加1;E、判斷該子系統(tǒng)對應(yīng)的校驗失敗計數(shù)器的數(shù)值是否小于設(shè)定值,如小于設(shè)定值,則繼續(xù)執(zhí)行步驟A;否則,根據(jù)定義的處理策略同步對應(yīng)該子系統(tǒng)不一致的數(shù)據(jù)。
其中,所述校驗命令無需參數(shù)。
其中,在步驟A1之前還包括A4、子系統(tǒng)調(diào)用校驗字算法計算數(shù)據(jù)的校驗字;A5、將數(shù)據(jù)及校驗字上傳給主系統(tǒng)。
其中,所述校驗字算法包括MD5算法、校驗和Checksum算法或循環(huán)冗余校驗碼CRC算法。
本發(fā)明提供的一種進行數(shù)據(jù)一致性校驗及同步的分布式系統(tǒng),包括主系統(tǒng)、子系統(tǒng)、數(shù)據(jù)檢查單元和數(shù)據(jù)同步管理單元;
所述數(shù)據(jù)檢查單元用于分別獲取每個子系統(tǒng)數(shù)據(jù)對應(yīng)在主、子系統(tǒng)內(nèi)的校驗字,并進行比較,若一致,則結(jié)束校驗;否則,通知數(shù)據(jù)同步管理單元產(chǎn)生告警和/或同步所述的不一致的數(shù)據(jù);所述數(shù)據(jù)同步管理單元用于響應(yīng)數(shù)據(jù)檢查單元的通知,產(chǎn)生告警和/或同步所述的不一致的數(shù)據(jù)。
其中,本發(fā)明所述的系統(tǒng)還包括主系統(tǒng)校驗字計算單元和子系統(tǒng)校驗字計算單元;所述主系統(tǒng)校驗字計算單元用于計算主系統(tǒng)內(nèi)對應(yīng)子系統(tǒng)數(shù)據(jù)的校驗字,并將該校驗字提供給數(shù)據(jù)檢查單元;所述子系統(tǒng)校驗字計算單元用于計算子系統(tǒng)內(nèi)數(shù)據(jù)的校驗字,并將該校驗字提供給數(shù)據(jù)檢查單元。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明所述的方法采用主系統(tǒng)來完成子系統(tǒng)上報的校驗字和主系統(tǒng)中對應(yīng)該子系統(tǒng)的數(shù)據(jù)的校驗字比較,如果比較結(jié)果不一致,則通知主系統(tǒng)的同步管理模塊進行相應(yīng)的處理,進而實現(xiàn)數(shù)據(jù)的一致性校驗及同步,所以即使在需校驗數(shù)據(jù)不兼容的情況下也能夠很好地實現(xiàn)數(shù)據(jù)的一致性校驗及同步。
再者,本發(fā)明由于采用主系統(tǒng)發(fā)送校驗命令給子系統(tǒng),即主系統(tǒng)統(tǒng)一控制校驗調(diào)度的方式,以及采用子系統(tǒng)根據(jù)定義的處理策略自行決定返回校驗內(nèi)容的方式,提高了主、子系統(tǒng)數(shù)據(jù)校驗的靈活性。
另外由于采用將數(shù)據(jù)劃分為若干組數(shù)據(jù),不僅減少了每次校驗的計算量和通信量,而且便于根據(jù)具體組進行單獨的處理,從而更加提高主、子系統(tǒng)數(shù)據(jù)校驗的靈活性。
由于采用數(shù)據(jù)按照子系統(tǒng)類型、數(shù)據(jù)類型等方式定義數(shù)據(jù)組,從而保證開發(fā)的重用性,提高了開發(fā)效率。


圖1為本發(fā)明第一實施例的流程圖;圖2為本發(fā)明第二實施例的流程圖;圖3為本發(fā)明系統(tǒng)的原理圖。
具體實施例方式
本發(fā)明所述方法的第一實施例如圖1所示,首先執(zhí)行步驟S203,主系統(tǒng)發(fā)送校驗命令給子系統(tǒng)。具體實現(xiàn)為在主系統(tǒng)任務(wù)初始時生成一個定時器,所述定時觸發(fā)器用于定時觸發(fā)主系統(tǒng),按照輪詢的順序?qū)ψ酉到y(tǒng)發(fā)送校驗命令。主系統(tǒng)對子系統(tǒng)的校驗是否使能、校驗周期以及對關(guān)鍵子系統(tǒng)校驗比一般子系統(tǒng)更為頻繁等可以進行設(shè)置。
上述校驗命令無需參數(shù)。本發(fā)明所設(shè)置的校驗命令由于不需要參數(shù),能夠保證在子系統(tǒng)不支持校驗特性時,可以直接丟掉該命令,所以在校驗的數(shù)據(jù)不兼容時,不會出現(xiàn)副作用。當(dāng)然通常情況下,主系統(tǒng)知道子系統(tǒng)數(shù)據(jù)的類型,不會向不支持校驗的子系統(tǒng)下發(fā)校驗命令,但是由于分布式系統(tǒng)是一個長期運行的復(fù)雜系統(tǒng),存在主系統(tǒng)和子系統(tǒng)分別進行升級的情況,這時就不一定能保證最初的匹配關(guān)系,所以本發(fā)明所設(shè)置的校驗命令無參數(shù),為以后的系統(tǒng)升級提供了更多的靈活性。
接著執(zhí)行步驟S204,子系統(tǒng)接收校驗命令,計算自己支持的、需校驗數(shù)據(jù)的校驗字,返回響應(yīng)命令包給主系統(tǒng)。具體實現(xiàn)為子系統(tǒng)接收到檢驗命令后,分別計算自己支持的、需校驗數(shù)據(jù)的校驗字,然后返回給主系統(tǒng)一個響應(yīng)命令包,所述的響應(yīng)命令包包含該返回有數(shù)據(jù)的校驗字以及子系統(tǒng)的編號。一個特殊情況,如果子系統(tǒng)正處于某種狀態(tài),不適合進行校驗時,可以忽略主系統(tǒng)的校驗命令。
隨后執(zhí)行步驟S205,主系統(tǒng)接收上述響應(yīng)命令包,并根據(jù)該響應(yīng)命令包中的內(nèi)容計算并得到對應(yīng)該子系統(tǒng)的數(shù)據(jù)的校驗字。具體實現(xiàn)為主系統(tǒng)接收到子系統(tǒng)的響應(yīng)命令后,解開該命令包,得到數(shù)據(jù)的校驗字,根據(jù)對應(yīng)子系統(tǒng)編號,由主系統(tǒng)的校驗計算單元對事先保存在系統(tǒng)中的對應(yīng)該子系統(tǒng)數(shù)據(jù)進行計算,得到對應(yīng)該子系統(tǒng)中數(shù)據(jù)的校驗字。
緊接著執(zhí)行步驟S206,主系統(tǒng)比較主、子系統(tǒng)中對應(yīng)于需校驗數(shù)據(jù)的子系統(tǒng)中數(shù)據(jù)的校驗字,如果本次返回的校驗字一致,則執(zhí)行步驟S207,檢驗順利結(jié)束,并且對該子系統(tǒng)所有組的校驗失敗計數(shù)器清零。如果本次返回校驗字不一致,表明該子系統(tǒng)中的數(shù)據(jù)與主系統(tǒng)中與該系統(tǒng)對應(yīng)的數(shù)據(jù)不一致,則執(zhí)行步驟S208,本次檢驗退出,重新向該子系統(tǒng)下發(fā)一次校驗命令,并且對該子系統(tǒng)的對應(yīng)校驗失敗計數(shù)器增加1;接著執(zhí)行步驟S209,判斷連續(xù)該子系統(tǒng)的相同分組校驗失敗的次數(shù)是否超過設(shè)定值,如果連續(xù)該子系統(tǒng)的相同分組校驗失敗的次數(shù)超過設(shè)定值,則執(zhí)行步驟S210;否則,執(zhí)行步驟S203。
最后,執(zhí)行步驟S210,主系統(tǒng)的同步管理模塊根據(jù)定義的處理策略同步子系統(tǒng)不一致的數(shù)據(jù)。具體實現(xiàn)為主系統(tǒng)根據(jù)事先定義的處理策略,可以進行如下操作(可選擇1種或多種操作)(1)向分布式系統(tǒng)上報校驗失敗告警,然后由人工干預(yù)進行同步子系統(tǒng)不一致的數(shù)據(jù);(2)向?qū)?yīng)子系統(tǒng)的不一致的數(shù)據(jù)下發(fā)正確數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);(3)向?qū)?yīng)子系統(tǒng)下發(fā)全部數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);(4)向所有子系統(tǒng)下發(fā)全部數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);以及其它待定義操作;(5)觸發(fā)分布式系統(tǒng)預(yù)定義的其它操作。
由上述可以看出,由于本發(fā)明采用子系統(tǒng)可根據(jù)自身狀態(tài)自行決定是否響應(yīng)校驗請求、自行決定返回校驗內(nèi)容的方式進行主、子系統(tǒng)數(shù)據(jù)的一致性校驗,并且集中在主系統(tǒng)上設(shè)置分布式系統(tǒng)校驗失敗后的同步處理策略,從而提高了系統(tǒng)的靈活性。
本發(fā)明所述方法的第二實施例,也是本發(fā)明的優(yōu)選實施方案,其具體操作如圖2所示首先執(zhí)行步驟S302,子系統(tǒng)依據(jù)子系統(tǒng)的類型和數(shù)據(jù)的類型將數(shù)據(jù)劃分為若干組數(shù)據(jù)。
主系統(tǒng)和多個子系統(tǒng)進行一致性校驗的數(shù)據(jù)很多,包括分布式系統(tǒng)的各種類型數(shù)據(jù),如果采用一起打包處理,計算量大、計算時占用內(nèi)存也較多,所以采取按照子系統(tǒng)、按照模塊、按照數(shù)據(jù)類型等分成數(shù)據(jù)組的方法,減少每次數(shù)據(jù)的計算量。在將數(shù)據(jù)分組的過程中,盡量保證對主系統(tǒng)而言,各個子系統(tǒng)的數(shù)據(jù)組可重用。
為了便于對分組進行管理,減小生成校驗字時的計算量和內(nèi)存消耗,由主系統(tǒng)和子系統(tǒng)統(tǒng)一規(guī)定分組號,每組數(shù)據(jù)不要過大,否則該組可再定義一個組號。分組號如果使用一個字節(jié),共有0-255個組號;如果使用兩個字節(jié),共有0-65535個組號。每組數(shù)據(jù)定義由主系統(tǒng)和各個子系統(tǒng)開發(fā)人員共同確定,包括數(shù)據(jù)和數(shù)據(jù)排列方式。
下面是將某分布式系統(tǒng)的業(yè)務(wù)、保護和系統(tǒng)參數(shù)等類型數(shù)據(jù)分成若干個數(shù)據(jù)組的數(shù)據(jù)分組規(guī)則的例子。如0保留1-10子系統(tǒng)類型A11-20子系統(tǒng)類型B21-30子系統(tǒng)類型C101-110子系統(tǒng)G的特定模塊MA111-120子系統(tǒng)G的特定模塊MB
121-130子系統(tǒng)G的特定模塊MC160-255保留由于將數(shù)據(jù)劃分為若干分組,不僅減小了每次校驗的計算量,而且便于根據(jù)具體分組進行單獨劃分處理策略,從而保證數(shù)據(jù)校驗的靈活性。
此外,由于采用校驗字比較的方式來判斷數(shù)據(jù)組數(shù)據(jù)是否一致,極大的改善了分布式系統(tǒng)間由于數(shù)據(jù)校驗引起的通信量大的問題。
執(zhí)行步驟S303,主系統(tǒng)發(fā)送校驗命令給子系統(tǒng)。
接著執(zhí)行步驟S304,子系統(tǒng)接收校驗命令,計算自己支持的數(shù)據(jù)的校驗字,返回響應(yīng)命令包給主系統(tǒng)。具體實現(xiàn)為子系統(tǒng)接收到檢驗命令后,計算自己支持的數(shù)據(jù)組的數(shù)據(jù)校驗字,然后返回給主系統(tǒng)一個響應(yīng)命令包,所述的響應(yīng)命令包中包含該返回有幾組數(shù)據(jù)、數(shù)據(jù)組號、數(shù)據(jù)組的校驗字以及子系統(tǒng)的編號。下面舉例說明包括3組數(shù)據(jù)的響應(yīng)命令包的數(shù)據(jù)參數(shù)。
舉例如下參數(shù)13個組參數(shù)2第1組的組號參數(shù)3第1組的校驗字參數(shù)4第2組的組號參數(shù)5第2組的校驗字參數(shù)6第3組的組號參數(shù)7第3組的校驗字對于參數(shù)1,一共有幾組數(shù)據(jù)是由子系統(tǒng)決定的,比如在運行狀態(tài)A時,它可能僅支持1組數(shù)據(jù)的校驗;在運行狀態(tài)B時,則支持3組數(shù)據(jù)的校驗。更進一步而言,如果子系統(tǒng)正處于初始化階段、或者升級過程中、甚至本版本子系統(tǒng)不支持校驗功能,它可以不響應(yīng)校驗命令的要求。
從上述分析可以看出,雖然主系統(tǒng)可以對各個子系統(tǒng)發(fā)起校驗,但是子系統(tǒng)是否接受校驗以及校驗什么內(nèi)容,可以按照系統(tǒng)狀態(tài)、預(yù)定義策略等自行決定,從而保證分布式系統(tǒng)的靈活性。
隨后執(zhí)行步驟S305,主系統(tǒng)接收上述響應(yīng)命令包,并根據(jù)該響應(yīng)命令包中的內(nèi)容計算并得到對應(yīng)該子系統(tǒng)的數(shù)據(jù)組的校驗字。具體實現(xiàn)為主系統(tǒng)接收到子系統(tǒng)的相應(yīng)命令后,解開該響應(yīng)命令包,得到每個數(shù)據(jù)組的組號和校驗字,根據(jù)對應(yīng)子系統(tǒng)編號及類型、需校驗的數(shù)據(jù)組的組號,經(jīng)主系統(tǒng)的校驗計算單元對保存在主系統(tǒng)中對應(yīng)該子系統(tǒng)數(shù)據(jù)組的數(shù)據(jù)進行計算,得到主系統(tǒng)對應(yīng)的校驗字。
緊接著執(zhí)行步驟S306,主系統(tǒng)校驗單元比較主、子系統(tǒng)中對應(yīng)于需校驗數(shù)據(jù)的校驗字,如果本次返回的校驗字一致,則執(zhí)行步驟S307,檢驗順利結(jié)束,并且對該子系統(tǒng)校驗失敗計數(shù)器清零。如果本次返回中有某一組校驗不一致,則執(zhí)行步驟S308,檢驗退出,重新向該子系統(tǒng)下發(fā)一次校驗命令,并且對該子系統(tǒng)的對應(yīng)校驗失敗計數(shù)器增加1;接著執(zhí)行步驟S309,判斷連續(xù)該子系統(tǒng)的相同分組校驗失敗的次數(shù)是否超過設(shè)定值,如果連續(xù)該子系統(tǒng)的相同分組校驗失敗的次數(shù)超過設(shè)定值,則執(zhí)行步驟S310,否則,執(zhí)行步驟S303。
最后,執(zhí)行步驟S310,主系統(tǒng)根據(jù)定義的處理策略同步子系統(tǒng)不一致的數(shù)據(jù)。具體實現(xiàn)為主系統(tǒng)根據(jù)事先定義的處理策略,可以進行如下操作(可選擇1種或多種操作)(1)向分布式系統(tǒng)上報校驗失敗告警,然后由人工干預(yù)進行同步子系統(tǒng)不一致的數(shù)據(jù);(2)向?qū)?yīng)子系統(tǒng)的不一致的數(shù)據(jù)組下發(fā)正確數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);(3)向?qū)?yīng)子系統(tǒng)下發(fā)全部數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);(4)向所有子系統(tǒng)下發(fā)全部數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);以及其它待定義操作;(5)觸發(fā)分布式系統(tǒng)預(yù)定義的其它操作。
另外,當(dāng)子系統(tǒng)由于突然掉電或其它情況意外復(fù)位后,以及預(yù)定義了某種情況下需要校驗時,子系統(tǒng)可自行發(fā)起數(shù)據(jù)校驗,向主系統(tǒng)自動上報自己需要校驗的校驗組號和校驗字,此時,主系統(tǒng)收到子系統(tǒng)的觸發(fā),對該子系統(tǒng)需校驗的數(shù)據(jù)進行一致性校驗。在這種情況下,本發(fā)明的第三實施例是在所述步驟S302之前還包括下面兩個步驟首先執(zhí)行步驟S201,子系統(tǒng)調(diào)用校驗字算法計算數(shù)據(jù)的校驗字;數(shù)據(jù)校驗字的計算方法,可根據(jù)整個系統(tǒng)的實際情況(系統(tǒng)的CPU處理能力和內(nèi)存大小,以及是否滿足系統(tǒng)校驗的差錯能力要求)進行選擇,比如MD5、校驗和Checksum和循環(huán)冗余校驗碼CRC,甚至自定義的某種算法等。
接著執(zhí)行步驟S202,將數(shù)據(jù)組的組號及數(shù)據(jù)組的校驗字上傳給主系統(tǒng)。
本發(fā)明所述系統(tǒng)的實施例如圖3所示,該系統(tǒng)包括子系統(tǒng)311、主子系統(tǒng)數(shù)據(jù)一致性檢查單元312、主系統(tǒng)校驗字計算單元313、數(shù)據(jù)同步管理單元314和子系統(tǒng)校驗字計算單元315。
所述主子系統(tǒng)數(shù)據(jù)一致性檢查單元312下發(fā)校驗命令給子系統(tǒng)311,子系統(tǒng)311響應(yīng)所述校驗命令,調(diào)度子系統(tǒng)校驗字計算單元315計算其數(shù)據(jù)的校驗字,并將包括校驗字的數(shù)據(jù)有關(guān)信息(數(shù)據(jù)組的組號和數(shù)據(jù)組的數(shù)目等)反饋給主子系統(tǒng)數(shù)據(jù)一致性檢查單元312,主子系統(tǒng)數(shù)據(jù)一致性檢查單元312根據(jù)子系統(tǒng)311的反饋信息得到子系統(tǒng)中對應(yīng)該子系統(tǒng)數(shù)據(jù)的校驗字,并根據(jù)所述反饋信息(數(shù)據(jù)組的組號和數(shù)據(jù)組的數(shù)目)向所述主系統(tǒng)校驗字計算單元313下發(fā)查詢主系統(tǒng)中對應(yīng)該子系統(tǒng)數(shù)據(jù)的校驗字,主系統(tǒng)校驗字計算單元313接到查詢命令,則讀取主系統(tǒng)中事先保存的對應(yīng)該子系統(tǒng)的數(shù)據(jù),計算并得到主系統(tǒng)中對應(yīng)該子系統(tǒng)數(shù)據(jù)的校驗字,然后將該校驗字反饋給主子系統(tǒng)數(shù)據(jù)一致性檢查單元312,主子系統(tǒng)數(shù)據(jù)一致性檢查單元312將主、子系統(tǒng)中對應(yīng)該子系統(tǒng)數(shù)據(jù)的校驗字進行比較,若一致,則結(jié)束校驗;否則,通知數(shù)據(jù)同步管理單元314進行數(shù)據(jù)一致性校驗及同步;所述數(shù)據(jù)同步管理單元314接收主子系統(tǒng)數(shù)據(jù)一致性檢查單元的通知,并產(chǎn)生告警和/或進行同步處理。
本發(fā)明提供的技術(shù)方案,具有如下的有益效果由于本發(fā)明所述的方法采用主系統(tǒng)來完成子系統(tǒng)上報的校驗字和主系統(tǒng)中對應(yīng)該子系統(tǒng)的數(shù)據(jù)的校驗字比較,如果比較結(jié)果不一致,則通知主系統(tǒng)的同步管理模塊進行相應(yīng)的處理,進而實現(xiàn)數(shù)據(jù)的一致性校驗及同步,所以即使在需校驗數(shù)據(jù)不兼容的情況下也能夠很好地實現(xiàn)數(shù)據(jù)的一致性校驗及同步。
再者,本發(fā)明由于采用主系統(tǒng)發(fā)送校驗命令給子系統(tǒng),即主系統(tǒng)統(tǒng)一控制校驗調(diào)度的方式,以及采用子系統(tǒng)根據(jù)定義的處理策略自行決定返回校驗內(nèi)容的方式,提高了主、子系統(tǒng)數(shù)據(jù)校驗的靈活性。
另外由于采用將數(shù)據(jù)劃分為若干組數(shù)據(jù),不僅減少了每次校驗的計算量和通信量,而且便于根據(jù)具體組進行單獨的處理,從而更加提高主、子系統(tǒng)數(shù)據(jù)校驗的靈活性。
由于采用數(shù)據(jù)按照子系統(tǒng)類型、數(shù)據(jù)類型等方式定義數(shù)據(jù)組,從而保證開發(fā)的重用性,提高了開發(fā)效率。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求書的保護范圍為準(zhǔn)。
權(quán)利要求
1.一種進行數(shù)據(jù)一致性校驗及同步的方法,其特征在于,包括如下步驟A、主系統(tǒng)分別獲取每個子系統(tǒng)數(shù)據(jù)對應(yīng)在主、子系統(tǒng)內(nèi)的校驗字;B、主系統(tǒng)將所述的每個子系統(tǒng)數(shù)據(jù)對應(yīng)在主、子系統(tǒng)內(nèi)的校驗字進行比較,若一致,則結(jié)束校驗;否則,同步對應(yīng)的不一致的數(shù)據(jù)。
2.按照權(quán)利要求1所述的方法,其特征在于,所述步驟A具體包括A1、主系統(tǒng)發(fā)送校驗命令給子系統(tǒng);A2、子系統(tǒng)接收校驗命令,計算自己支持的數(shù)據(jù)的校驗字,返回響應(yīng)命令包給主系統(tǒng);A3、主系統(tǒng)接收該響應(yīng)命令包,并根據(jù)該響應(yīng)命令包中的內(nèi)容計算得到對應(yīng)該子系統(tǒng)的數(shù)據(jù)的校驗字。
3.按照權(quán)利要求2所述的方法,其特征在于,步驟A2和步驟A3中所述響應(yīng)命令包包括子系統(tǒng)的編號及數(shù)據(jù)的校驗字。
4.按照權(quán)利要求2所述的方法,其特征在于,在步驟A之前還包括步驟子系統(tǒng)依據(jù)子系統(tǒng)的類型和數(shù)據(jù)的類型將數(shù)據(jù)劃分為若干組數(shù)據(jù);步驟A2和步驟A3中所述響應(yīng)命令包包括子系統(tǒng)的編號、數(shù)據(jù)組的組號和數(shù)據(jù)組的校驗字及可選的包括數(shù)據(jù)組的數(shù)目。
5.按照權(quán)利要求3或4所述的方法,其特征在于,在步驟B中,所述同步對應(yīng)的不一致的數(shù)據(jù)的過程包括上報校驗失敗告警,通知人工同步子系統(tǒng)不一致的數(shù)據(jù);和/或向?qū)?yīng)子系統(tǒng)的不一致的數(shù)據(jù)下發(fā)正確數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);和/或向?qū)?yīng)子系統(tǒng)的全部數(shù)據(jù)下發(fā)正確數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù);和/或向所有子系統(tǒng)的全部數(shù)據(jù)下發(fā)正確數(shù)據(jù),同步子系統(tǒng)不一致的數(shù)據(jù)。
6.按照權(quán)利要求5所述的方法,其特征在于,所述步驟B中,當(dāng)一致并結(jié)束校驗之后,還包括對該子系統(tǒng)所有數(shù)據(jù)的校驗失敗計數(shù)器清零的過程。
7.按照權(quán)利要求1、2、3、4或6所述的方法,其特征在于,還包括C、校驗退出;D、校驗失敗時對該子系統(tǒng)對應(yīng)的校驗失敗計數(shù)器累計加1;E、判斷該子系統(tǒng)對應(yīng)的校驗失敗計數(shù)器的數(shù)值是否小于設(shè)定值,如小于設(shè)定值,則繼續(xù)執(zhí)行步驟A;否則,根據(jù)定義的處理策略同步對應(yīng)該子系統(tǒng)不一致的數(shù)據(jù)。
8.按照權(quán)利要求7所述的方法,其特征在于,所述校驗命令無需參數(shù)。
9.按照權(quán)利要求8所述的方法,其特征在于,在步驟A1之前還包括A4、子系統(tǒng)調(diào)用校驗字算法計算數(shù)據(jù)的校驗字;A5、將數(shù)據(jù)及校驗字上傳給主系統(tǒng)。
10.按照權(quán)利要求9所述的方法,其特征在于,所述校驗字算法包括MD5算法、校驗和Checksum算法或循環(huán)冗余校驗碼CRC算法。
11.一種進行數(shù)據(jù)一致性校驗及同步的分布式系統(tǒng),包括主、子系統(tǒng),其特征在于,還包括數(shù)據(jù)檢查單元和數(shù)據(jù)同步管理單元;所述數(shù)據(jù)檢查單元用于分別獲取每個子系統(tǒng)數(shù)據(jù)對應(yīng)在主、子系統(tǒng)內(nèi)的校驗字,并進行比較,若一致,則結(jié)束校驗;否則,通知數(shù)據(jù)同步管理單元產(chǎn)生告警和/或同步所述的不一致的數(shù)據(jù);所述數(shù)據(jù)同步管理單元用于響應(yīng)數(shù)據(jù)檢查單元的通知,產(chǎn)生告警和/或同步所述的不一致的數(shù)據(jù)。
12.按照權(quán)利要求11所述的分布式系統(tǒng),其特征在于,還包括主系統(tǒng)校驗字計算單元和子系統(tǒng)校驗字計算單元;所述主系統(tǒng)校驗字計算單元用于計算主系統(tǒng)內(nèi)對應(yīng)子系統(tǒng)數(shù)據(jù)的校驗字,并將該校驗字提供給數(shù)據(jù)檢查單元;所述子系統(tǒng)校驗字計算單元用于計算子系統(tǒng)內(nèi)數(shù)據(jù)的校驗字,并將該校驗字提供給數(shù)據(jù)檢查單元。
全文摘要
一種進行數(shù)據(jù)一致性校驗及同步的方法和分布式系統(tǒng),其核心是首先將數(shù)據(jù)劃分為若干組數(shù)據(jù);然后主系統(tǒng)分別獲取每個子系統(tǒng)數(shù)據(jù)對應(yīng)在主、子系統(tǒng)內(nèi)的校驗字;最后主系統(tǒng)將所述的每個子系統(tǒng)數(shù)據(jù)對應(yīng)在主、子系統(tǒng)內(nèi)的校驗字進行比較,若一致,則結(jié)束校驗;否則,同步對應(yīng)的不一致的數(shù)據(jù)。本發(fā)明即使在需校驗數(shù)據(jù)不兼容的情況下也能夠很好地實現(xiàn)數(shù)據(jù)的一致性校驗及同步。另外由于本發(fā)明采用將數(shù)據(jù)劃分為若干組數(shù)據(jù),不僅減少了每次校驗的計算量和通信量,而且便于根據(jù)具體組進行單獨的處理,從而提高主、子系統(tǒng)數(shù)據(jù)校驗及同步處理的靈活性。
文檔編號H04L29/06GK1816039SQ20051000518
公開日2006年8月9日 申請日期2005年2月1日 優(yōu)先權(quán)日2005年2月1日
發(fā)明者馬劍濤 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
塔河县| 黑水县| 米泉市| 壶关县| 新兴县| 无锡市| 监利县| 贡觉县| 巨野县| 尉犁县| 兴海县| 遂川县| 东乡县| 沽源县| 临颍县| 安远县| 安阳市| 满城县| 邵东县| 八宿县| 囊谦县| 苏尼特左旗| 大城县| 巢湖市| 沁源县| 克东县| 夏津县| 西峡县| 柳林县| 吕梁市| 寻甸| 泸西县| 行唐县| 焉耆| 建昌县| 岳阳市| 威远县| 罗江县| 弥渡县| 龙山县| 县级市|