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

主從節(jié)點(diǎn)之間狀態(tài)同步的方法

文檔序號(hào):7611530閱讀:291來源:國知局
專利名稱:主從節(jié)點(diǎn)之間狀態(tài)同步的方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種主從節(jié)點(diǎn)之間狀態(tài)同步的方法。
背景技術(shù)
在通信領(lǐng)域,主從節(jié)點(diǎn)之間需要進(jìn)行各種信息的通信。主從節(jié)點(diǎn)之間通信信息,有一類比較特殊的情況叫狀態(tài)類通信。這類通信的主要特點(diǎn)是主節(jié)點(diǎn)并不十分關(guān)心通信過程中從節(jié)點(diǎn)偶爾的中間狀態(tài)信息的丟失,主節(jié)點(diǎn)關(guān)心的是從節(jié)點(diǎn)當(dāng)前最新的狀態(tài)信息,即關(guān)心當(dāng)前主從節(jié)點(diǎn)間的狀態(tài)信息是否同步。在通信領(lǐng)域,同步是保證通信質(zhì)量的關(guān)鍵因素,主從同步是目前廣泛應(yīng)用的一種同步方式。
在通信正常時(shí),主從節(jié)點(diǎn)相應(yīng)的所有狀態(tài)信息都能達(dá)到一致的狀態(tài),例如從節(jié)點(diǎn)Slave_1有屬性Attr1,其對(duì)應(yīng)的取值可能為a1,a2,a3,從節(jié)點(diǎn)屬性Attr1的取值變化能正確傳送到主節(jié)點(diǎn),主節(jié)點(diǎn)能夠與從節(jié)點(diǎn)同步地進(jìn)行狀態(tài)更新。
然而,在通信出現(xiàn)異常的情況下。假設(shè)從節(jié)點(diǎn)Slave_1屬性Attr1目前的取值為a1,該值已經(jīng)正確傳送到主節(jié)點(diǎn),通信出現(xiàn)故障,期間Slave_1屬性Attr1的變化情況為a1->a2->a1->a3->a2。此后通信又恢復(fù)正常。此時(shí)主節(jié)點(diǎn)與從節(jié)點(diǎn)Slave_1屬性Attr1相對(duì)應(yīng)的值仍為a1,既出現(xiàn)了主從節(jié)點(diǎn)狀態(tài)失步。
為了達(dá)到主從節(jié)點(diǎn)對(duì)應(yīng)狀態(tài)信息一致即主從節(jié)點(diǎn)狀態(tài)同步,目前通常采用以下幾種做法1、從節(jié)點(diǎn)將對(duì)應(yīng)的狀態(tài)變化情況都緩存,并依次上報(bào)給主節(jié)點(diǎn)。對(duì)應(yīng)上面的例子,從節(jié)點(diǎn)需要保存的狀態(tài)變化情況就是a1->a2->a1->a3->a2,該做法的缺點(diǎn)是從節(jié)點(diǎn)需要較大的緩存來保存其狀態(tài)變化情況;2、主節(jié)點(diǎn)主動(dòng)查詢,根據(jù)查詢到的從節(jié)點(diǎn)所有屬性的當(dāng)前狀態(tài)來更新主節(jié)點(diǎn)中相對(duì)應(yīng)的狀態(tài),以達(dá)到主從節(jié)點(diǎn)狀態(tài)“同步”。該做法的缺點(diǎn)是主節(jié)點(diǎn)需要查詢從節(jié)點(diǎn)所有屬性的當(dāng)前狀態(tài),其中包括一些主從節(jié)點(diǎn)之間已經(jīng)保持同步的狀態(tài),因此,該方法導(dǎo)致了很多主從節(jié)點(diǎn)之間不必要的消息流量;3、僅僅將從節(jié)點(diǎn)Slave_1屬性Attr1的最新屬性值a2上報(bào),并更新主節(jié)點(diǎn)中對(duì)應(yīng)的信息。該做法的缺點(diǎn)是沒有一個(gè)主從節(jié)點(diǎn)之間互相響應(yīng)的機(jī)制來預(yù)防從節(jié)點(diǎn)上報(bào)的消息有可能丟失的情況。
為解決狀態(tài)類信息通信的主從節(jié)點(diǎn)之間的同步問題,基于上面所述的做法1,現(xiàn)有技術(shù)中有一種等待式應(yīng)答方法,其具體處理流程如圖1所示,包括如下步驟步驟11、從節(jié)點(diǎn)發(fā)生狀態(tài)變更后,從節(jié)點(diǎn)發(fā)送R_1消息給主節(jié)點(diǎn),以通知主節(jié)點(diǎn)自己的狀態(tài)變化情況;步驟12、從節(jié)點(diǎn)進(jìn)入等待主節(jié)點(diǎn)返回響應(yīng)消息的狀態(tài),等待期間從節(jié)點(diǎn)不能向主節(jié)點(diǎn)發(fā)送消息;步驟13、主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送R_1消息的響應(yīng)消息A_1,以通知從節(jié)點(diǎn)收到了R_1消息并進(jìn)行了相應(yīng)的狀態(tài)變更;步驟14、從節(jié)點(diǎn)收到主節(jié)點(diǎn)返回的響應(yīng)消息A_1后,從節(jié)點(diǎn)繼續(xù)給主節(jié)點(diǎn)發(fā)送消息R_2,以通知主節(jié)點(diǎn)自己的狀態(tài)變化情況。
從上述現(xiàn)有技術(shù)方案可以看出,通過上述方法實(shí)現(xiàn)主從節(jié)點(diǎn)同步具有如下兩方面的缺點(diǎn)
1、通信效率低由于從節(jié)點(diǎn)上報(bào)消息之后,必須等到收到主節(jié)點(diǎn)返回的響應(yīng)消息之后,才能上報(bào)下一個(gè)消息,這種實(shí)現(xiàn)方法存在一個(gè)時(shí)延,從而導(dǎo)致通信效率的下降;2、從節(jié)點(diǎn)需要較大的緩存當(dāng)從節(jié)點(diǎn)的消息較多時(shí),必然導(dǎo)致需要較大的緩存來保存這些在從節(jié)點(diǎn)上已經(jīng)產(chǎn)生但沒有發(fā)送,或者雖發(fā)送但還沒有收到響應(yīng)的消息。
為解決狀態(tài)類信息通信的主從節(jié)點(diǎn)之間的同步問題,基于上面所述的做法2,現(xiàn)有技術(shù)中還有一種查詢方法,其基本處理過程是通信正常時(shí),主從節(jié)點(diǎn)之間按照正常情況下確定的機(jī)制來進(jìn)行通信;一旦主節(jié)點(diǎn)判斷相應(yīng)從節(jié)點(diǎn)通信由“異?!?->“正常”,就下發(fā)查詢命令到相應(yīng)的從節(jié)點(diǎn);該從節(jié)點(diǎn)收到查詢命令后,將該節(jié)點(diǎn)所有屬性的最新狀態(tài)值全部上報(bào)一遍。
該方法的缺點(diǎn)是由于在對(duì)應(yīng)從節(jié)點(diǎn)通信由“異?!?->“正?!睍r(shí),需要將該節(jié)點(diǎn)所有屬性的最新狀態(tài)值全部上報(bào)一遍,其中有些是主從節(jié)點(diǎn)之間已經(jīng)保持同步的狀態(tài)值,因此,該方法導(dǎo)致了很多不必要的消息流量;而且主節(jié)點(diǎn)還需要判斷從節(jié)點(diǎn)上報(bào)的狀態(tài)信息中,哪些是已經(jīng)處理過而不必再處理的,因此該方法還增加了主節(jié)點(diǎn)的處理代價(jià)。

發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一種主從節(jié)點(diǎn)之間狀態(tài)同步的方法,可以實(shí)現(xiàn)主從節(jié)點(diǎn)之間的狀態(tài)同步,并可以克服現(xiàn)有技術(shù)存在的問題。
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供了一種主從節(jié)點(diǎn)之間狀態(tài)同步的方法,包括A、確定從節(jié)點(diǎn)中與主節(jié)點(diǎn)間未同步的狀態(tài)信息;B、主節(jié)點(diǎn)獲取從節(jié)點(diǎn)中所述的未同步的狀態(tài)信息,并根據(jù)所述的狀態(tài)信息更新主節(jié)點(diǎn)的狀態(tài)信息。
所述的步驟A包括A1、當(dāng)從節(jié)點(diǎn)發(fā)生狀態(tài)變更,則向主節(jié)點(diǎn)上報(bào)狀態(tài)變更消息;A2、根據(jù)主節(jié)點(diǎn)返回的所述狀態(tài)變更消息的響應(yīng)消息的內(nèi)容確定從節(jié)點(diǎn)中與主節(jié)點(diǎn)相應(yīng)狀態(tài)項(xiàng)的同步狀態(tài)。
所述的步驟A1包括A11、從節(jié)點(diǎn)在每一個(gè)狀態(tài)信息項(xiàng)中增加一個(gè)應(yīng)答標(biāo)志,并將所有表項(xiàng)的應(yīng)答標(biāo)記設(shè)置為有效;A12、從節(jié)點(diǎn)發(fā)生狀態(tài)變更,變更后的狀態(tài)信息項(xiàng)中的應(yīng)答標(biāo)記置為無效;A13、從節(jié)點(diǎn)上報(bào)包含狀態(tài)變更情況的消息給主節(jié)點(diǎn)。
所述的步驟A2包括A21、主節(jié)點(diǎn)回填所有相應(yīng)的狀態(tài)參數(shù)組成應(yīng)答消息,并發(fā)送給從節(jié)點(diǎn);A22、從節(jié)點(diǎn)根據(jù)主節(jié)點(diǎn)應(yīng)答消息中的狀態(tài)參數(shù)信息,更新主從節(jié)點(diǎn)間狀態(tài)同步的狀態(tài)信息項(xiàng)中的應(yīng)答標(biāo)記為有效;A23、從節(jié)點(diǎn)檢查狀態(tài)表中所有表項(xiàng),將應(yīng)答標(biāo)記為無效的狀態(tài)項(xiàng)確定為其與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
所述的步驟B包括B1、從節(jié)點(diǎn)將確定的其與主節(jié)點(diǎn)間未同步的狀態(tài)信息組成上報(bào)消息并發(fā)送給主節(jié)點(diǎn);B2、主節(jié)點(diǎn)根據(jù)收到的從節(jié)點(diǎn)上報(bào)的消息,更新主從節(jié)點(diǎn)間狀態(tài)不同步的狀態(tài)項(xiàng),使主從節(jié)點(diǎn)狀態(tài)保持一致。
所述的步驟A包括A3、在主從節(jié)點(diǎn)上分別設(shè)置同步號(hào),所述的同步號(hào)用于標(biāo)識(shí)信息發(fā)送的順序;A4、根據(jù)主從節(jié)點(diǎn)的同步號(hào)確定從節(jié)點(diǎn)上與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
所述的步驟A3還包括主從節(jié)點(diǎn)將其同步號(hào)設(shè)置為相同的初始值。
所述的步驟A4包括A41、從節(jié)點(diǎn)發(fā)生狀態(tài)變更,上報(bào)包含同步號(hào)信息字段的狀態(tài)變更消息給主節(jié)點(diǎn)并且將從節(jié)點(diǎn)同步號(hào)加1;A42、主節(jié)點(diǎn)根據(jù)收到的消息中的從節(jié)點(diǎn)同步號(hào),判斷主從節(jié)點(diǎn)是否同步,并確定從節(jié)點(diǎn)上與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
所述的步驟A42包括A421、當(dāng)從節(jié)點(diǎn)同步號(hào)等于主節(jié)點(diǎn)同步號(hào)時(shí),主節(jié)點(diǎn)同步號(hào)加1,主從節(jié)點(diǎn)同步;;A422、當(dāng)從節(jié)點(diǎn)同步號(hào)大于主節(jié)點(diǎn)同步號(hào)時(shí),從節(jié)點(diǎn)進(jìn)行查詢范圍為[主節(jié)點(diǎn)同步號(hào),從節(jié)點(diǎn)同步號(hào)]的從節(jié)點(diǎn)當(dāng)前狀態(tài)的查詢操作以確定其與主節(jié)點(diǎn)間未同步的狀態(tài)信息;A423、當(dāng)從節(jié)點(diǎn)同步號(hào)小于主節(jié)點(diǎn)同步號(hào)時(shí),直接丟棄從節(jié)點(diǎn)上報(bào)的消息。
所述的步驟B包括B1、從節(jié)點(diǎn)將確定的其與主節(jié)點(diǎn)間未同步的狀態(tài)信息組成消息上報(bào)給主節(jié)點(diǎn),B2、主節(jié)點(diǎn)根據(jù)收到的消息更新其狀態(tài)和對(duì)應(yīng)的同步號(hào)。
所述的步驟B還包括從節(jié)點(diǎn)每隔一定的時(shí)間,重發(fā)最近一次上報(bào)的消息。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明在一定程度上解決了現(xiàn)有技術(shù)所存在的問題,具有以下優(yōu)點(diǎn)本發(fā)明所述方法中從節(jié)點(diǎn)無需緩存中間狀態(tài),因此有效地克服了現(xiàn)有技術(shù)中等待式應(yīng)答方法需要較大的緩存、通信效率低的缺點(diǎn);本發(fā)明也克服了現(xiàn)有技術(shù)中查詢方法的不區(qū)分對(duì)應(yīng)狀態(tài)是否已經(jīng)同步而統(tǒng)統(tǒng)上報(bào)所帶來的不良影響,大大減少了主從節(jié)點(diǎn)之間不必要的信息交互。本發(fā)明適用于所有的基于狀態(tài)類通信場(chǎng)合,不但可以實(shí)現(xiàn)主從節(jié)點(diǎn)之間的狀態(tài)同步,而且可以大大提高系統(tǒng)性能,同時(shí)本發(fā)明所述方法在實(shí)現(xiàn)上又比較簡單。


圖1為現(xiàn)有技術(shù)中等待式應(yīng)答方法的流程圖;圖2為本發(fā)明所述的基于應(yīng)答標(biāo)記的實(shí)施方案的原理簡圖;圖3為本發(fā)明所述的基于同步號(hào)的實(shí)施方案的原理簡圖;圖4為本發(fā)明所述的基于應(yīng)答標(biāo)記的實(shí)施方案的流程圖;圖5為本發(fā)明所述的基于同步號(hào)的實(shí)施方案的流程圖。
具體實(shí)施例方式
本發(fā)明的主要內(nèi)容是提供一種主從節(jié)點(diǎn)之間狀態(tài)同步的方法,從而實(shí)現(xiàn)主從節(jié)點(diǎn)之間的狀態(tài)同步。
本發(fā)明所述方法的核心為1在從節(jié)點(diǎn)中,確定其與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
從節(jié)點(diǎn)每發(fā)生一次狀態(tài)變更,上報(bào)狀態(tài)變更消息給主節(jié)點(diǎn),然后根據(jù)主節(jié)點(diǎn)返回的狀態(tài)變更消息的響應(yīng)消息確定其與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
2主節(jié)點(diǎn)獲取從節(jié)點(diǎn)中所述的未同步的狀態(tài)信息,并根據(jù)所述的狀態(tài)信息更新主節(jié)點(diǎn)的狀態(tài)信息。
從節(jié)點(diǎn)將確定的其與主節(jié)點(diǎn)間未同步的狀態(tài)信息組成消息上報(bào)給主節(jié)點(diǎn),主節(jié)點(diǎn)根據(jù)收到的消息進(jìn)行狀態(tài)更新,使主從節(jié)點(diǎn)狀態(tài)保持一致。
本發(fā)明所述方法包括兩個(gè)實(shí)施方案基于應(yīng)答標(biāo)記的實(shí)施方案和基于同步號(hào)的實(shí)施方案。
本發(fā)明所述的基于應(yīng)答標(biāo)記的實(shí)施方案的原理簡圖如圖2所示,其具體處理流程如圖4所示,該方案需要從節(jié)點(diǎn)在每一個(gè)狀態(tài)信息項(xiàng)上增加一個(gè)標(biāo)志是否收到主節(jié)點(diǎn)的應(yīng)答標(biāo)志RespFlg,其具體處理流程包括如下步驟步驟41從節(jié)點(diǎn)初始化其所有屬性的狀態(tài)表項(xiàng),將所有表項(xiàng)的RespFlg標(biāo)記置為“收到應(yīng)答”,代表從節(jié)點(diǎn)目前狀態(tài)表項(xiàng)中所有狀態(tài)與主節(jié)點(diǎn)同步;步驟42從節(jié)點(diǎn)收到狀態(tài)變更消息Rept_n或者檢測(cè)到狀態(tài)需要發(fā)生變化時(shí),從節(jié)點(diǎn)更新狀態(tài)表對(duì)應(yīng)項(xiàng)的狀態(tài),然后將該狀態(tài)項(xiàng)對(duì)應(yīng)的RespFlg標(biāo)記置為“未應(yīng)答”,代表該狀態(tài)項(xiàng)目前尚未確認(rèn)與主節(jié)點(diǎn)中對(duì)應(yīng)狀態(tài)項(xiàng)同步,即主從節(jié)點(diǎn)在該狀態(tài)項(xiàng)上不同步;步驟43從節(jié)點(diǎn)上報(bào)包含狀態(tài)變更情況的消息Report_n給主節(jié)點(diǎn);步驟44主節(jié)點(diǎn)收到從節(jié)點(diǎn)上報(bào)的消息Report_n后,回填和從節(jié)點(diǎn)上報(bào)狀態(tài)項(xiàng)相對(duì)應(yīng)的主節(jié)點(diǎn)的狀態(tài)項(xiàng)中的所有參數(shù)組成應(yīng)答消息,并發(fā)送給從節(jié)點(diǎn),然后找到對(duì)應(yīng)的狀態(tài)項(xiàng),并判斷狀態(tài)是否一致,只有在狀態(tài)不一致時(shí)才更新狀態(tài)項(xiàng),使主從節(jié)點(diǎn)狀態(tài)保持一致;步驟45從節(jié)點(diǎn)收到主節(jié)點(diǎn)返回的應(yīng)答消息Resp_n后,根據(jù)主節(jié)點(diǎn)應(yīng)答信息中的狀態(tài)信息,判斷其對(duì)應(yīng)的狀態(tài)項(xiàng)和主節(jié)點(diǎn)是否一致,狀態(tài)一致時(shí),更新其RespFlg標(biāo)記為“收到應(yīng)答”;否則不處理,從節(jié)點(diǎn)狀態(tài)表中所有RespFlg標(biāo)記為“未應(yīng)答”的狀態(tài)項(xiàng)既被確定為和主節(jié)點(diǎn)不同步的狀態(tài)項(xiàng);步驟46從節(jié)點(diǎn)定時(shí)時(shí)間到,檢查狀態(tài)表中所有表項(xiàng),并將RespFlg標(biāo)記為“未應(yīng)答”的狀態(tài)項(xiàng)組成上報(bào)消息并發(fā)送給主節(jié)點(diǎn);步驟47主節(jié)點(diǎn)根據(jù)從節(jié)點(diǎn)上報(bào)的消息,找到和從節(jié)點(diǎn)對(duì)應(yīng)的狀態(tài)項(xiàng),然后判斷主從節(jié)點(diǎn)是否狀態(tài)一致,狀態(tài)不一致時(shí),更新主節(jié)點(diǎn)對(duì)應(yīng)狀態(tài)項(xiàng),使主從節(jié)點(diǎn)狀態(tài)保持同步。
本方案和等待式應(yīng)答方法相比,下一個(gè)消息不需要等到收到上一條消息的響應(yīng)消息即可發(fā)送給主節(jié)點(diǎn),不存在時(shí)延問題;和查詢方法相比,本方案可以避免發(fā)送一些本已經(jīng)正確同步的消息,主節(jié)點(diǎn)無需為此做一些額外的判斷處理。
實(shí)現(xiàn)時(shí),本方案還可以采取一個(gè)變通方案即在所述的步驟24,從節(jié)點(diǎn)在判斷狀態(tài)不一致時(shí),立即將該項(xiàng)組成消息并上報(bào)給主節(jié)點(diǎn),這樣做的好處是可以減少定時(shí)檢測(cè)時(shí)可能重發(fā)的消息量;弊端在于增加了一個(gè)消息重發(fā)判斷處理點(diǎn)。
本方案的缺點(diǎn)為因引入了響應(yīng)機(jī)制,導(dǎo)致主從節(jié)點(diǎn)之間的消息量倍增。
為克服本方案的缺點(diǎn),本發(fā)明還引入了另一個(gè)基于同步號(hào)的實(shí)施方案。
基于同步號(hào)的實(shí)施方案的原理簡圖如圖3所示,其具體處理流程如圖5所示,該方案的主要特點(diǎn)為主從節(jié)點(diǎn)基于一個(gè)32bit(比特)的同步號(hào)來實(shí)現(xiàn)主從節(jié)點(diǎn)之間的狀態(tài)同步;主從節(jié)點(diǎn)的同步號(hào)都保存在其內(nèi)存控制信息結(jié)構(gòu)中,并且該同步號(hào)作為從節(jié)點(diǎn)向主節(jié)點(diǎn)上報(bào)的狀態(tài)消息中的一個(gè)信息字段;主從節(jié)點(diǎn)狀態(tài)是否同步的判斷放在主節(jié)點(diǎn)。其具體處理流程包括如下步驟步驟51主從節(jié)點(diǎn)初始化其同步號(hào),同時(shí)將其同步號(hào)置為0,代表目前主從節(jié)點(diǎn)狀態(tài)同步;步驟52從節(jié)點(diǎn)收到狀態(tài)變更消息Rept_n或者檢測(cè)到狀態(tài)需要發(fā)生變化時(shí),從節(jié)點(diǎn)更新狀態(tài)表對(duì)應(yīng)項(xiàng)的狀態(tài),此時(shí)主從節(jié)點(diǎn)間對(duì)應(yīng)狀態(tài)可能同步也可能不同步;步驟53從節(jié)點(diǎn)上報(bào)包含同步號(hào)信息字段的狀態(tài)變更消息Report_n給主節(jié)點(diǎn),并且將其同步號(hào)加1,從節(jié)點(diǎn)上報(bào)的消息和同步號(hào)是一一對(duì)應(yīng)關(guān)系;步驟54主節(jié)點(diǎn)將收到的消息Report_n中的從節(jié)點(diǎn)同步號(hào)和對(duì)應(yīng)的主節(jié)點(diǎn)同步號(hào)進(jìn)行比較,判斷主從節(jié)點(diǎn)是否同步。
1當(dāng)從節(jié)點(diǎn)同步號(hào)=主節(jié)點(diǎn)同步號(hào)時(shí),主從節(jié)點(diǎn)同步,執(zhí)行步驟55;2當(dāng)從節(jié)點(diǎn)同步號(hào)>主節(jié)點(diǎn)同步號(hào)時(shí),主從節(jié)點(diǎn)不同步,并且主節(jié)點(diǎn)的狀態(tài)滯后于從節(jié)點(diǎn),執(zhí)行步驟57;3當(dāng)從節(jié)點(diǎn)同步號(hào)<主節(jié)點(diǎn)同步號(hào)時(shí),收到的消息是被延遲的從節(jié)點(diǎn)以前狀態(tài)所對(duì)應(yīng)的消息,執(zhí)行步驟56;步驟55、主節(jié)點(diǎn)同步號(hào)加1,然后進(jìn)行狀態(tài)判斷、更新操作;步驟56、直接丟棄從節(jié)點(diǎn)上報(bào)的消息,該處理流程結(jié)束;步驟57主從節(jié)點(diǎn)不同步,主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)起查詢從節(jié)點(diǎn)當(dāng)前狀態(tài)的操作,查詢范圍為[主節(jié)點(diǎn)同步號(hào),從節(jié)點(diǎn)同步號(hào)],以確定從節(jié)點(diǎn)中與主節(jié)點(diǎn)間未同步的狀態(tài)項(xiàng)的當(dāng)前狀態(tài);步驟58從節(jié)點(diǎn)將查詢結(jié)果上報(bào)給主節(jié)點(diǎn),以通知主節(jié)點(diǎn)其當(dāng)前的狀態(tài)和同步號(hào);步驟59主節(jié)點(diǎn)根據(jù)收到的消息中的從節(jié)點(diǎn)狀態(tài)信息,更新相應(yīng)的狀態(tài)項(xiàng)和同步號(hào),使主從節(jié)點(diǎn)狀態(tài)保持一致。
在該方案中,為了預(yù)防從節(jié)點(diǎn)再也沒有新消息產(chǎn)生,而主從節(jié)點(diǎn)之間又存在狀態(tài)不同步以及從節(jié)點(diǎn)上報(bào)的消息有可能丟失等情況,從節(jié)點(diǎn)還需要每隔一定的時(shí)間,重發(fā)最近一次上報(bào)的消息。
在該方案中,主從節(jié)點(diǎn)狀態(tài)是否同步的判斷放在主節(jié)點(diǎn),而且只有在判斷不同步且主節(jié)點(diǎn)的狀態(tài)滯后于從節(jié)點(diǎn)時(shí)才發(fā)起“查詢”動(dòng)作,從節(jié)點(diǎn)根本無需緩存“中間狀態(tài)”。
舉例假設(shè)從節(jié)點(diǎn)有狀態(tài)項(xiàng)StatA,其取值可能為a1,a2,現(xiàn)在記錄從節(jié)點(diǎn)中狀態(tài)項(xiàng)StatA的變化軌跡為a1(103)-->a2(105)-->a1(106)-->a2(108)括號(hào)中的數(shù)字為各狀態(tài)對(duì)應(yīng)的同步號(hào);
假設(shè)此時(shí)主節(jié)點(diǎn)中當(dāng)前狀態(tài)項(xiàng)對(duì)應(yīng)的同步號(hào)為106,而又收到同步號(hào)為108的消息,說明該同步方法在處理過程中丟掉了從節(jié)點(diǎn)發(fā)送的對(duì)應(yīng)同步號(hào)為106,107的消息。于是主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)起查詢從節(jié)點(diǎn)當(dāng)前狀態(tài)的操作,查詢范圍為[106,108]。但在從節(jié)點(diǎn),對(duì)應(yīng)同步號(hào)為106的狀態(tài)項(xiàng)實(shí)際保存的已經(jīng)是對(duì)應(yīng)同步號(hào)為108的最新狀態(tài),即同步號(hào)為106的“中間狀態(tài)”已經(jīng)不復(fù)存在。但這沒有任何問題,該從節(jié)點(diǎn)只要返回當(dāng)前狀態(tài)表中同步號(hào)范圍在查詢范圍內(nèi)的所有表項(xiàng)給主節(jié)點(diǎn)即可,主節(jié)點(diǎn)在收到查詢應(yīng)答消息后將對(duì)應(yīng)的同步號(hào)強(qiáng)制更新為108,并且更新同步號(hào)108對(duì)應(yīng)的狀態(tài),即達(dá)到主從節(jié)點(diǎn)實(shí)際的同步。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,包括A、確定從節(jié)點(diǎn)中與主節(jié)點(diǎn)間未同步的狀態(tài)信息;B、主節(jié)點(diǎn)獲取從節(jié)點(diǎn)中所述的未同步的狀態(tài)信息,并根據(jù)所述的狀態(tài)信息更新主節(jié)點(diǎn)的狀態(tài)信息。
2.根據(jù)權(quán)利要求1所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟A包括A1、當(dāng)從節(jié)點(diǎn)發(fā)生狀態(tài)變更,則向主節(jié)點(diǎn)上報(bào)狀態(tài)變更消息;A2、根據(jù)主節(jié)點(diǎn)返回的所述狀態(tài)變更消息的響應(yīng)消息的內(nèi)容獲知從節(jié)點(diǎn)中與主節(jié)點(diǎn)相應(yīng)狀態(tài)項(xiàng)的同步狀態(tài),并進(jìn)一步確定從節(jié)點(diǎn)中與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
3.根據(jù)權(quán)利要求2所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟A1包括A11、從節(jié)點(diǎn)在每一個(gè)狀態(tài)信息項(xiàng)中增加一個(gè)應(yīng)答標(biāo)志,并將所有表項(xiàng)的應(yīng)答標(biāo)記設(shè)置為有效;A12、從節(jié)點(diǎn)發(fā)生狀態(tài)變更,變更后的狀態(tài)信息項(xiàng)中的應(yīng)答標(biāo)記置為無效;A13、從節(jié)點(diǎn)上報(bào)包含狀態(tài)變更情況的消息給主節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求2所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟A2包括A21、主節(jié)點(diǎn)回填所有相應(yīng)的狀態(tài)參數(shù)組成應(yīng)答消息,并發(fā)送給從節(jié)點(diǎn);A22、從節(jié)點(diǎn)根據(jù)主節(jié)點(diǎn)應(yīng)答消息中的狀態(tài)參數(shù)信息,更新主從節(jié)點(diǎn)間狀態(tài)同步的狀態(tài)信息項(xiàng)中的應(yīng)答標(biāo)記為有效;A23、從節(jié)點(diǎn)檢查狀態(tài)表中所有表項(xiàng),將應(yīng)答標(biāo)記為無效的狀態(tài)項(xiàng)確定為其與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
5.根據(jù)權(quán)利要求1、2、3或4所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟B包括B1、從節(jié)點(diǎn)將確定的其與主節(jié)點(diǎn)間未同步的狀態(tài)信息組成上報(bào)消息并發(fā)送給主節(jié)點(diǎn);B2、主節(jié)點(diǎn)根據(jù)收到的從節(jié)點(diǎn)上報(bào)的消息,更新主從節(jié)點(diǎn)間狀態(tài)不同步的狀態(tài)項(xiàng),使主從節(jié)點(diǎn)狀態(tài)保持一致。
6.根據(jù)權(quán)利要求1所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟A包括A3、在主從節(jié)點(diǎn)上分別設(shè)置同步號(hào),所述的同步號(hào)用于標(biāo)識(shí)信息發(fā)送的順序;A4、根據(jù)主從節(jié)點(diǎn)的同步號(hào)確定從節(jié)點(diǎn)上與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
7.根據(jù)權(quán)利要求6所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟A3還包括主從節(jié)點(diǎn)將其同步號(hào)設(shè)置為相同的初始值。
8.根據(jù)權(quán)利要求6所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟A4包括A41、從節(jié)點(diǎn)發(fā)生狀態(tài)變更,上報(bào)包含同步號(hào)信息字段的狀態(tài)變更消息給主節(jié)點(diǎn)并且將從節(jié)點(diǎn)同步號(hào)加1;A42、主節(jié)點(diǎn)根據(jù)收到的消息中的從節(jié)點(diǎn)同步號(hào),判斷主從節(jié)點(diǎn)是否同步,并確定從節(jié)點(diǎn)上與主節(jié)點(diǎn)間未同步的狀態(tài)信息。
9.根據(jù)權(quán)利要求8所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟A42包括A421、當(dāng)從節(jié)點(diǎn)同步號(hào)等于主節(jié)點(diǎn)同步號(hào)時(shí),主節(jié)點(diǎn)同步號(hào)加1,主從節(jié)點(diǎn)同步;;A422、當(dāng)從節(jié)點(diǎn)同步號(hào)大于主節(jié)點(diǎn)同步號(hào)時(shí),從節(jié)點(diǎn)進(jìn)行查詢范圍為[主節(jié)點(diǎn)同步號(hào),從節(jié)點(diǎn)同步號(hào)]的從節(jié)點(diǎn)當(dāng)前狀態(tài)的查詢操作以確定其與主節(jié)點(diǎn)間未同步的狀態(tài)信息;A423、當(dāng)從節(jié)點(diǎn)同步號(hào)小于主節(jié)點(diǎn)同步號(hào)時(shí),直接丟棄從節(jié)點(diǎn)上報(bào)的消息。
10.根據(jù)權(quán)利要求6、7、8或9所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟B包括B1、從節(jié)點(diǎn)將確定的其與主節(jié)點(diǎn)間未同步的狀態(tài)信息組成消息上報(bào)給主節(jié)點(diǎn),B2、主節(jié)點(diǎn)根據(jù)收到的消息更新其狀態(tài)和對(duì)應(yīng)的同步號(hào)。
11.根據(jù)權(quán)利要求1或6所述的主從節(jié)點(diǎn)之間狀態(tài)同步的方法,其特征在于,所述的步驟B還包括從節(jié)點(diǎn)每隔一定的時(shí)間,重發(fā)最近一次上報(bào)的消息。
全文摘要
本發(fā)明提供了一種主從節(jié)點(diǎn)之間狀態(tài)同步的方法。該方法包括確定從節(jié)點(diǎn)與主節(jié)點(diǎn)間未同步的狀態(tài)信息;主節(jié)點(diǎn)獲取從節(jié)點(diǎn)中所述的未同步的狀態(tài)信息,并根據(jù)所述的狀態(tài)信息更新主節(jié)點(diǎn)的狀態(tài)信息。本發(fā)明適用于所有的基于狀態(tài)類通信場(chǎng)合,不但可以實(shí)現(xiàn)主從節(jié)點(diǎn)之間的狀態(tài)同步,而且可以大大提高系統(tǒng)性能,同時(shí)本發(fā)明所述方法在實(shí)現(xiàn)上又比較簡單。
文檔編號(hào)H04L29/00GK1812338SQ20051000491
公開日2006年8月2日 申請(qǐng)日期2005年1月28日 優(yōu)先權(quán)日2005年1月28日
發(fā)明者汪召兵, 竹錦, 葉洪波 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1