孟永勝,曹海萍,郭文佳
(天津中興軟件有限責(zé)任公司,天津 300300)
在數(shù)字同步網(wǎng)中,所有網(wǎng)元要達(dá)到與整網(wǎng)時鐘源PRC或LRC同步,保證業(yè)務(wù)接收正常。實現(xiàn)同步的方法主要依賴于一些同步協(xié)議,如SSM等。這些協(xié)議的同步方式是主從逐層同步,協(xié)議運行在每個網(wǎng)元上,效率比較高。同時,這種全分布式的同步也帶來一個問題,當(dāng)同步層中主源的質(zhì)量降低或丟失時,網(wǎng)絡(luò)內(nèi)相關(guān)的網(wǎng)元時鐘會重新調(diào)整,在一段時間內(nèi)時鐘震蕩,不穩(wěn)定。
網(wǎng)絡(luò)內(nèi)設(shè)置一個時鐘管理網(wǎng)元,各網(wǎng)的時鐘等級、ID等信息在時鐘管理網(wǎng)元上進(jìn)行配置,實時鏈路狀態(tài)和時鐘質(zhì)量通過周期上報的方式通知時鐘管理網(wǎng)元。普通網(wǎng)元檢測到鏈路斷或失鎖時,本網(wǎng)元首先進(jìn)入保持狀態(tài),管理網(wǎng)元檢測到鏈路斷或某普通網(wǎng)元失鎖時,分配其他可用的時鐘同步鏈路。
對于用戶操作的修改網(wǎng)元屬性時或修改網(wǎng)絡(luò)結(jié)構(gòu)時,時鐘管理網(wǎng)元對時鐘同步的方向順序地進(jìn)行調(diào)整分配。在網(wǎng)絡(luò)內(nèi)各網(wǎng)元配置或結(jié)構(gòu)不發(fā)生變化的情況下,所有普通網(wǎng)元自主確定跟蹤方向。具體步驟如下:
第1步:網(wǎng)元上電時配置一個管理網(wǎng)元的IP地址,并周期向管理網(wǎng)元發(fā)送注冊請求消息,直到收到管理網(wǎng)元的響應(yīng)。
第2步:管理網(wǎng)元收到注冊請求消息后,將該時鐘網(wǎng)元信息加入到網(wǎng)元列表中,并發(fā)送注冊響應(yīng)消息。
第3步:管理網(wǎng)元建立所有網(wǎng)元的物理鏈接關(guān)系表(Link Table),對于每一跳連接都有一個ID,并且發(fā)Link ID通知消息到該連接的兩個網(wǎng)元。
第4步:時鐘網(wǎng)元與管理網(wǎng)元注冊完成后,根據(jù)收到的SSM消息中的QL,進(jìn)行時鐘源的選擇,并跟蹤選擇的時鐘源(是另一個網(wǎng)元或該網(wǎng)元自身)。時鐘源消息包括本網(wǎng)元ID,跟蹤時鐘源ID,以及當(dāng)前跟蹤狀態(tài)等。
第5步:管理網(wǎng)元收到時鐘源消息后,建立整網(wǎng)時鐘跟蹤關(guān)系表,并知道當(dāng)前各網(wǎng)元的鎖定狀態(tài)。
第6步:在環(huán)形網(wǎng)絡(luò)中,當(dāng)網(wǎng)元發(fā)生一個方向鏈路狀態(tài)Down時,通過另一方向的鏈路上報實時鏈路狀態(tài)消息給管理網(wǎng)元,管理網(wǎng)元收到消息時,查看整網(wǎng)時鐘跟蹤關(guān)系表,如果發(fā)生狀態(tài)down的網(wǎng)元是時鐘上游網(wǎng)元,即網(wǎng)絡(luò)內(nèi)有些其他網(wǎng)元在跟蹤該網(wǎng)元,則向所有該網(wǎng)元的下級網(wǎng)元發(fā)強(qiáng)制holdover消息,包括向上報實時動態(tài)消息的網(wǎng)元下發(fā)強(qiáng)制Holdover的消息。
在鏈型網(wǎng)絡(luò)中,當(dāng)某個網(wǎng)元鏈路與管理網(wǎng)元方向的連接斷掉時,該網(wǎng)元的下游第一級網(wǎng)元自行進(jìn)入Holdover,再下級的網(wǎng)元根據(jù)SSM信息自行決定自己的跟蹤方向。
第7步:收到強(qiáng)制Holdover消息的網(wǎng)元將進(jìn)入Holdover,并持續(xù)保持1分鐘后,開始重新選擇時鐘,即利用步驟1中的方法。
第8步:當(dāng)普通網(wǎng)元失鎖時,網(wǎng)元發(fā)送的時鐘質(zhì)量QL變?yōu)椴豢捎?,收到SSM消息的網(wǎng)元將不再跟蹤該網(wǎng)元,進(jìn)入保持或切換到其他時鐘源上。
全網(wǎng)時鐘同步管理系統(tǒng)包含以下七種模塊:一是普通網(wǎng)元時鐘同步模塊A,在普通網(wǎng)元上實現(xiàn)選擇時鐘源,并跟蹤選擇的時鐘源。二是普通網(wǎng)元動態(tài)信息處理模塊B,在普通網(wǎng)元上實現(xiàn)時鐘源信號質(zhì)量的采集,并把采集的數(shù)據(jù)給A模塊,A模塊可以根據(jù)這些數(shù)據(jù)作為選擇時鐘源的依據(jù)。動態(tài)數(shù)據(jù)還會給C模塊,信號丟失或質(zhì)量降低等事件發(fā)生時,通知到G模塊。三是普通網(wǎng)元消息處理模塊C,接收處理來自G模塊的數(shù)據(jù)信息。并在某些事件觸發(fā)下給G模塊發(fā)送數(shù)據(jù)。四是管理網(wǎng)元間鏈路關(guān)系模塊D,根據(jù)網(wǎng)絡(luò)內(nèi)網(wǎng)元的注冊信息,建立網(wǎng)元之間的鏈路關(guān)系表。五是管理網(wǎng)元間時鐘跟蹤關(guān)系模塊E,根據(jù)C模塊上報的時鐘跟蹤信息,建立整網(wǎng)網(wǎng)元間的時鐘關(guān)系表。六是管理網(wǎng)元時鐘鏈路決策模塊F,處理各網(wǎng)元上報的動態(tài)信息,做出全網(wǎng)時鐘鏈路變更的決策。七是管理網(wǎng)元消息處理模塊G,接收報文進(jìn)行分發(fā),以及發(fā)送相關(guān)的報文。
在一個環(huán)形網(wǎng)絡(luò)內(nèi),網(wǎng)元A/B/C/D為普通網(wǎng)元,網(wǎng)元M為管理網(wǎng)元(圖1)。普通網(wǎng)元會自主選擇時鐘源跟蹤方向,在一個同步層斷鏈時,管理網(wǎng)元會對各網(wǎng)元的時鐘進(jìn)行控制管理。
圖1 時鐘跟蹤路徑斷鏈場景
(1)普通網(wǎng)元A/B/C/D周期地向管理網(wǎng)元M發(fā)送注冊請求消息,消息中包括自己的時鐘質(zhì)量,跟蹤狀態(tài)等信息,直到收到管理網(wǎng)元的響應(yīng)。其中網(wǎng)元A連接了質(zhì)量為2的時鐘,網(wǎng)元D連接了質(zhì)量為4的時鐘。管理網(wǎng)元收到注冊消息后,將該時鐘網(wǎng)元信息加入到網(wǎng)元列表中。并發(fā)送注冊響應(yīng)消息。
(2)普通網(wǎng)元A自主選擇質(zhì)量為2的時鐘,并發(fā)送質(zhì)量為2的消息,網(wǎng)元B接收到消息后,也自主選擇質(zhì)量為2的方向,即選擇A為跟蹤源,C、D也類似。A/B/C/D均向管理網(wǎng)元M上報當(dāng)前跟蹤的鏈接,管理網(wǎng)元M建立時鐘源跟蹤關(guān)系表。
(3)圖1中普通網(wǎng)元A與B之間的鏈接故障,B上報時鐘源故障消息給管理網(wǎng)元M,管理網(wǎng)元收到故障消息,按照順序先后向D,C,B發(fā)送切換方向到D的消息。
(4)普通網(wǎng)元B/C/D接收到管理網(wǎng)元M的切源消息后,切換到跟蹤D鏈接的質(zhì)量為4的時鐘源。減少普通切換方式中逐層切換方向的時間。(5)網(wǎng)元D鏈接故障,網(wǎng)元A跟蹤路徑故障,此時A/D均向M上報鏈路故障,管理網(wǎng)元M通知鏈路上所有網(wǎng)元進(jìn)入Holdover。減少Hold性能逐級傳遞的性能損失。
(6)鏈路上所有網(wǎng)元接收到強(qiáng)制Hold消息后,進(jìn)入Holdover,并在接收到新的質(zhì)量可用的SSM消息后,自主進(jìn)行切源。
與現(xiàn)有技術(shù)相比,本文所述方法提高時鐘跟蹤網(wǎng)絡(luò)中,某個網(wǎng)元發(fā)生失鎖或其他異常情況時,下游網(wǎng)元的時鐘穩(wěn)定性。