專利名稱:消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法及其裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)(Internet)的普遍使用及其自身技術(shù)的不斷發(fā)展,人們經(jīng)常在網(wǎng)絡(luò)上進行各種資訊的交流。然而,網(wǎng)絡(luò)中存在延時、抖動(Jitter)、丟包、亂序等問題會對網(wǎng)絡(luò)上的資訊交流造成不可避免的影響,其中網(wǎng)絡(luò)中的抖動是較為常見的問題之一。網(wǎng)絡(luò)中,數(shù)據(jù)被封裝成不同的數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸,由于在分組交換網(wǎng)中每個數(shù)據(jù)包走的路徑可能不同,那么網(wǎng)絡(luò)延時也就不同,從而造成數(shù)據(jù)包到達(dá)時間的改變,這種延時變化就叫抖動。在網(wǎng)絡(luò)設(shè)備的接收緩存中采用增加數(shù)據(jù)包的標(biāo)準(zhǔn)播放延時的方法來消除網(wǎng)絡(luò)側(cè)的抖動,所述接收緩存是指用于暫時存儲數(shù)據(jù)包的存儲單元。所述標(biāo)準(zhǔn)播放延時也被稱為去抖緩存(JB,Jitter Buffer),標(biāo)準(zhǔn)播放延時的大小即JB的深度決定了去除網(wǎng)絡(luò)抖動的能力。
實時傳輸協(xié)議(RTP)中對Jitter的定義和計算如下Si表示第i個包的源端時戳,Ri表示第i個包的本地時戳,Sj表示第j個包的源端時戳,Rj表示第j個包的本地時戳,則i、j兩個RTP包網(wǎng)絡(luò)傳輸時間之差D可以表示為D(i,j)=(Rj-Ri)-(Sj-Si)=(Rj-Sj)-(Ri-Si)網(wǎng)絡(luò)的Jitter值每到一個數(shù)據(jù)包要更新統(tǒng)計,將統(tǒng)計值和新到數(shù)據(jù)包的|D|以不同權(quán)重相加得到新的Jitter統(tǒng)計值。
J(i)=(15/16)×J(i-1)+(1/16)×|D(i-1,i)|JB深度即標(biāo)準(zhǔn)播放延時就是根據(jù)這個Jitter統(tǒng)計值換算得到。一般只要JB深度也就是標(biāo)準(zhǔn)播放延時大于網(wǎng)絡(luò)的實際抖動就可以消除網(wǎng)絡(luò)抖動。
然而,由于在IP網(wǎng)絡(luò)環(huán)境,時鐘同步技術(shù)尚不成熟,且時鐘同步技術(shù)實現(xiàn)上會導(dǎo)致設(shè)備成本增加。因此,大多數(shù)情況下,接入設(shè)備的時鐘是異步的,所以在絕大多數(shù)情況下不可能保證兩個對接設(shè)備的時鐘完全匹配,例如一端設(shè)備的10ms相當(dāng)于另一端設(shè)備的10.001ms。時鐘偏差造成的結(jié)果是一端設(shè)備發(fā)送和接收相對較快,另一端設(shè)備發(fā)送和接收相對較慢。雖然這個時鐘的偏差可能不大,但經(jīng)過長時間的積累會造成快速設(shè)備的接收緩存被讀空,慢速設(shè)備的接收緩存溢出,甚至導(dǎo)致系統(tǒng)業(yè)務(wù)的中斷。
例如,由于時鐘偏差,根據(jù)對端時鐘發(fā)出的10ms均勻間隔的數(shù)據(jù)包序列,被本地的時鐘判斷為10.01ms的均勻數(shù)據(jù)包序列。10s之內(nèi)讀比寫快了10ms。假設(shè)此時JB深度為50ms即緩存50ms數(shù)據(jù),50秒后接收緩存被讀空,這樣會導(dǎo)致業(yè)務(wù)中斷或復(fù)位。
例如,對端的10ms被本地當(dāng)作9.99ms的序列,則在本地寫入比讀出在10ms之內(nèi)快了0.01ms,以JB最大深度100ms為例,100秒后接收緩存會被塞滿溢出,造成后面收到的數(shù)據(jù)包因為緩存空間不夠而丟棄,也將給上層業(yè)務(wù)帶來異常。
現(xiàn)有技術(shù)的消除網(wǎng)絡(luò)抖動的方法將時鐘完全匹配的理想條件作為前提,對時鐘偏差造成的影響并沒有提供任何措施,沒有建立對端時間和本地時間之間的聯(lián)系和比較機制,反映的只是從網(wǎng)絡(luò)接收包序列的間隔是否均勻,不能消除對端接收數(shù)據(jù)包的時間間隔,相對本地標(biāo)準(zhǔn)時間間隔偏大或偏小的積累誤差,因此無法解決兩端設(shè)備時鐘偏差造成的周期性接收緩存被讀空或溢出的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提出一種消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法及其裝置,能夠解決由于時鐘偏差造成的接收緩存周期性被讀空或溢出的問題。
為解決上述技術(shù)問題,本發(fā)明實施例的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)明實施例提供一種消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,所述方法包括計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值;計算數(shù)據(jù)包在接收緩存中的實際緩存時間的統(tǒng)計值;根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累。
本發(fā)明實施例還提供一種消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置,所述裝置包括標(biāo)準(zhǔn)播放延時值計算單元,用于計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值;實際緩存時間統(tǒng)計值計算單元,用于計算數(shù)據(jù)包在接收緩存中的實際緩存時間統(tǒng)計值;誤差消除單元,用于根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累通過本發(fā)明實施例提供的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法及其裝置,對數(shù)據(jù)包的網(wǎng)絡(luò)抖動和實際緩存時間分別進行統(tǒng)計,得到實際緩存時間統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,并根據(jù)所述變化對接收緩存的數(shù)據(jù)進行相應(yīng)的調(diào)整,有效地避免了因時鐘偏差而造成接收緩存周期性被讀空或者溢出,保證了網(wǎng)絡(luò)設(shè)備承載業(yè)務(wù)的流暢性。
圖1為本發(fā)明消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置較佳實施例的結(jié)構(gòu)圖;圖2為本發(fā)明消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法較佳實施例的流程圖;圖3為本發(fā)明數(shù)據(jù)包從對端發(fā)送到本地的網(wǎng)絡(luò)延遲示意圖。
具體實施例方式
本發(fā)明實施例提供一種消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法及其裝置。為使本發(fā)明的技術(shù)方案更加清楚明白,以下參照附圖并列舉實施例,對本發(fā)明進一步詳細(xì)說明。
請參照圖1,為本發(fā)明消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置較佳實施例的結(jié)構(gòu)圖。所述消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置包括標(biāo)準(zhǔn)播放延時值計算單元11、實際緩存時間統(tǒng)計值計算單元12以及誤差消除單元13。
所述標(biāo)準(zhǔn)播放延時值計算單元11,用于計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值,其包括網(wǎng)絡(luò)抖動值計算單元111、網(wǎng)絡(luò)抖動值統(tǒng)計單元112以及標(biāo)準(zhǔn)播放延時值換算單元113。所述網(wǎng)絡(luò)抖動值計算單元111,用于計算接收緩存中收到的數(shù)據(jù)包的網(wǎng)絡(luò)抖動值;所述網(wǎng)絡(luò)抖動值統(tǒng)計單元112,用于統(tǒng)計所述網(wǎng)絡(luò)抖動值計算單元111計算所得的網(wǎng)絡(luò)抖動值,得到網(wǎng)絡(luò)抖動統(tǒng)計值;所述標(biāo)準(zhǔn)播放延時值換算單元113,用于將所述網(wǎng)絡(luò)抖動值統(tǒng)計單元112計算所得的網(wǎng)絡(luò)抖動統(tǒng)計值,換算為標(biāo)準(zhǔn)播放延時值。
所述實際緩存時間統(tǒng)計值計算單元12,用于計算數(shù)據(jù)包在接收緩存中的實際緩存時間統(tǒng)計值,其包括實際緩存時間獲取單元121以及實際緩存時間統(tǒng)計單元122。所述實際緩存時間獲取單元121,用于獲取數(shù)據(jù)包從到達(dá)接收緩存的時刻到從接收緩存中出隊的時刻之間的實際緩存時間;所述實際緩存時間統(tǒng)計單元122,用于統(tǒng)計實際緩存時間獲取單元121獲取的實際緩存時間,得到實際緩存時間的統(tǒng)計值。
所述誤差消除單元13,用于根據(jù)所述實際緩存時間統(tǒng)計值計算單元12計算所得的實際緩存時間的統(tǒng)計值,相對所述標(biāo)準(zhǔn)播放延時值計算單元11計算所得的標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累。所述誤差消除單元13包括判斷單元131、數(shù)據(jù)調(diào)整單元132以及指示單元133。所述判斷單元131,用于根據(jù)所述實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,判斷數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系;所述數(shù)據(jù)調(diào)整單元132,用于根據(jù)所述數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系,在接收緩存中刪除或增加數(shù)據(jù)來消除時鐘偏差造成的誤差積累;所述指示單元133根據(jù)判斷單元131的判斷所得的數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系,輸出相應(yīng)的指示信號指示對端時鐘和本地時鐘的快慢關(guān)系。
請參照圖2,為本發(fā)明消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法較佳實施例的流程圖,所述方法具體包括步驟201計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值;所述計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值具體包括步驟a計算數(shù)據(jù)包的網(wǎng)絡(luò)抖動值;所述計算數(shù)據(jù)包的網(wǎng)絡(luò)抖動統(tǒng)計值具體方式為將接收緩存所接收的當(dāng)前數(shù)據(jù)包的本地時戳與對端時戳的差值減去前一數(shù)據(jù)包的對端時戳和本地時戳的差值,得到數(shù)據(jù)包的網(wǎng)絡(luò)統(tǒng)計值。
計算公式為NewJitter(當(dāng)前網(wǎng)絡(luò)統(tǒng)計值)=(Rj-Ri)-(Sj-Si)=(Rj-Sj)-(Ri-Si),其中,Rj表示當(dāng)前數(shù)據(jù)包的對端時戳,Ri表示前一數(shù)據(jù)包的對端時戳,Sj表示當(dāng)前數(shù)據(jù)包的本地時戳,Si表示前一數(shù)據(jù)包的本地時戳。
步驟b統(tǒng)計所述數(shù)據(jù)包的網(wǎng)絡(luò)抖動值,得到數(shù)據(jù)包的網(wǎng)絡(luò)抖動統(tǒng)計值;所述統(tǒng)計所述數(shù)據(jù)包的網(wǎng)絡(luò)抖動值具體方式為將當(dāng)前數(shù)據(jù)包的抖動值納入前一時刻網(wǎng)絡(luò)抖動統(tǒng)計值進行計算。
計算公式為Jitter統(tǒng)計值=m×Jitter統(tǒng)計值’+n×|NewJitter|,其中,m和n為0~1之間數(shù)值,且滿足m+n=1,Jitter統(tǒng)計值’為前一時刻網(wǎng)絡(luò)抖動統(tǒng)計值。
所述m和n可以由線性回歸或其他統(tǒng)計方式得到,或者使用其他Jitter統(tǒng)計值的計算方式得到。
步驟c根據(jù)所述數(shù)據(jù)包的網(wǎng)絡(luò)抖動統(tǒng)計值,換算得到數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值。
所述換算得到數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值具體方式為將網(wǎng)絡(luò)抖動統(tǒng)計值向上取整到與網(wǎng)絡(luò)抖動統(tǒng)計值最接近的值為標(biāo)準(zhǔn)播放延時值。
假如網(wǎng)絡(luò)抖動統(tǒng)計值為36.2ms,則向上取整到37ms,37ms為當(dāng)前的標(biāo)準(zhǔn)播放延時值。數(shù)據(jù)包按照計算所得的標(biāo)準(zhǔn)播放延時值在接收緩存中進行緩存。
步驟202計算數(shù)據(jù)包在接收緩存中實際緩存時間的統(tǒng)計值;所述計算數(shù)據(jù)包在接收緩存中實際緩存時間的統(tǒng)計值具體包括步驟A獲得數(shù)據(jù)包在接收緩存中實際緩存時間;所述數(shù)據(jù)包在接收緩存中實際緩存時間為數(shù)據(jù)包到達(dá)接收緩存的時刻到從接收緩存中出隊的時刻之間的一段時間。
步驟B統(tǒng)計所述數(shù)據(jù)包在接收緩存中實際緩存時間,得到實際緩存時間的統(tǒng)計值。
所述統(tǒng)計數(shù)據(jù)包在接收緩存中實際緩存時間具體方式為將當(dāng)前數(shù)據(jù)包的實際緩存時間納入前一時刻實際緩存時間統(tǒng)計值進行計算。
計算公式為P(實際緩存時間)統(tǒng)計值=m×P統(tǒng)計值’+n×P,其中,m和n為0~1之間數(shù)值,且滿足m+n=1,P統(tǒng)計值’為前一時刻實際緩存時間統(tǒng)計值。
所述m和n可以由線性回歸或其他統(tǒng)計方式得到,或者使用其他P統(tǒng)計值的計算方式得到。
步驟203根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累。
所述根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累包括步驟X根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,判斷數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系;所述根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,判斷數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系具體方式為如果實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值持續(xù)增大,則判斷對端時鐘比本地時鐘快,數(shù)據(jù)包在接收緩存中寫入快于讀出;如果實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值持續(xù)減小,則判斷對端時鐘比本地時鐘快,數(shù)據(jù)包在接收緩存中寫入慢于讀出??梢圆捎幂敵鱿鄳?yīng)的指示信號的方式來指示對端時鐘和本地時鐘的快慢關(guān)系。
請參照圖3,為數(shù)據(jù)包從對端發(fā)送到本地的網(wǎng)絡(luò)延遲示意圖。
圖3中“a”和“o”表示對端發(fā)送數(shù)據(jù)包的時刻,所述時刻為對端時鐘決定的間隔均勻的一系列發(fā)送時刻,例如每間隔10ms發(fā)送一次數(shù)據(jù)包;“b”表示數(shù)據(jù)包到達(dá)本地的標(biāo)準(zhǔn)時刻,為一個理論值;“c”表示數(shù)據(jù)包實際到達(dá)本地的時刻,c的值為不確定的;“d”表示數(shù)據(jù)包從本地JB出隊交付上層的時刻,由本地時鐘決定的間隔均勻的一系列時刻,與上層具體業(yè)務(wù)相關(guān),例如每間隔10ms發(fā)送一次數(shù)據(jù)包至上層;Delay表示數(shù)據(jù)包從對端設(shè)備經(jīng)過網(wǎng)絡(luò)到達(dá)本地的平均延遲或標(biāo)準(zhǔn)延遲;J為Jitter,J可能是正也可能是負(fù),對前后每個數(shù)據(jù)包的J的絕對值進行統(tǒng)計,其結(jié)果反映J的大?。籇ep表示標(biāo)準(zhǔn)播放時間,一般由Jitter統(tǒng)計值換算得到,是為了消除網(wǎng)絡(luò)抖動所有數(shù)據(jù)包在JB中需要緩存的平均時間的理論值,也是數(shù)據(jù)包是否遲到的判斷依據(jù);P表示數(shù)據(jù)包在JB中實際緩存時間,即從數(shù)據(jù)包實際到達(dá)本地接收緩存的時刻到數(shù)據(jù)包從本地接收緩存中出隊的時刻之間的時間,因此P=d-c。
但是由于時鐘偏差導(dǎo)致的本地時間軸和對端時間軸的時間刻度不同,將對上述網(wǎng)絡(luò)延時造成影響,一段時間后數(shù)據(jù)包在本地接收緩存的延時Delay+J+P將持續(xù)增大或者縮小。其中Delay和J與網(wǎng)絡(luò)狀況有關(guān),因此由于時鐘偏差造成的網(wǎng)絡(luò)延時持續(xù)增大或縮小的趨勢,可以通過P的統(tǒng)計值來反映如果P的統(tǒng)計值相對Dep持續(xù)增大,則說明對端時鐘比本地時鐘快,寫入快于讀出;如果P的統(tǒng)計值相對Dep持續(xù)減小,則說明對端時鐘比本地時鐘慢,寫入慢于讀出。
步驟Y根據(jù)數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系,通過在接收緩存中刪除或增加數(shù)據(jù)來消除時鐘偏差造成的誤差積累。
所述通過在接收緩存中刪除或增加數(shù)據(jù)來消除時鐘偏差造成的誤差積累可以采用方式一如果數(shù)據(jù)包在接收緩存中寫入快于讀出,且實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的差值超過設(shè)定的閾值,則在接收緩存中刪除相當(dāng)于閾值長度的數(shù)據(jù),來消除時鐘偏差造成的誤差積累,避免接收緩存溢出,而且可以將當(dāng)前的實際緩存時間統(tǒng)計值減去所述閾值,再重新進行實際緩存時間的統(tǒng)計;如果數(shù)據(jù)包在接收緩存中寫入慢于讀出,且實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的差值超過設(shè)定的閾值,則在接收緩存中插入相當(dāng)于閾值長度的數(shù)據(jù),來消除時鐘偏差造成的誤差積累,避免接收緩存被讀空,而且可以將當(dāng)前的實際緩存時間統(tǒng)計值加上所述閾值,再重新進行實際緩存時間的統(tǒng)計。
上述閾值可以以數(shù)據(jù)包打包時間間隔為單位,比如閾值為2個數(shù)據(jù)包打包時間間隔;也可以直接以時間為單位,比如閾值為20ms。
例如,接收緩存的標(biāo)準(zhǔn)播放延時為30ms,閾值設(shè)為一個數(shù)據(jù)包打包時間間隔10ms,當(dāng)實際緩存時間的統(tǒng)計值已經(jīng)到40ms的時候,則在接收緩存中刪除一個10ms的數(shù)據(jù)包以抵消時鐘偏差造成的誤差積累。
在接收緩存中刪除或插入的數(shù)據(jù)也可以不必等于閾值,可以是另外一個比閾值稍小或稍大的值。
所述通過在接收緩存中刪除或增加數(shù)據(jù)來消除時鐘偏差造成的誤差積累還可以采用方式二如果數(shù)據(jù)包在接收緩存中寫入快于讀出,且實際緩存時間的統(tǒng)計值大于設(shè)定的上限值,則在接收緩存中刪除一定長度的數(shù)據(jù),來消除時鐘偏差造成的誤差積累,避免接收緩存溢出;如果數(shù)據(jù)包在接收緩存中寫入慢于讀出,且實際緩存時間的統(tǒng)計值小于設(shè)定的下限值,則在接收緩存中插入一定長度的數(shù)據(jù),來消除時鐘偏差造成的誤差積累,避免接收緩存被讀空。
所述消除時鐘偏差造成的誤差積累的同時還可以記錄實際緩存時間的統(tǒng)計值與標(biāo)準(zhǔn)播放延時值之間的偏差超過閾值的次數(shù),并向其他設(shè)備發(fā)送時鐘偏差的告警。
本發(fā)明實施例提供的消除網(wǎng)絡(luò)抖動方法及其裝置同時適用于動態(tài)JB和靜態(tài)JB應(yīng)用場合。
通過本發(fā)明實施例提供的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法及其裝置,對數(shù)據(jù)包的網(wǎng)絡(luò)抖動值和實際緩存時間分別進行統(tǒng)計,得到實際緩存統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,并根據(jù)所述變化及時對接收緩存數(shù)據(jù)進行相應(yīng)的調(diào)整,有效地避免了因時鐘偏差而造成接收緩存周期性被讀空或者溢出,從而保證了網(wǎng)絡(luò)設(shè)備承載業(yè)務(wù)的流暢性;進一步地,還可以通過實際緩存統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值之間的變化,判斷對端時鐘和本地時鐘的快慢關(guān)系,從而對網(wǎng)絡(luò)設(shè)備時鐘偏差問題進行有效地監(jiān)控。
以上對本發(fā)明所提供的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法及其裝置進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明所揭示的技術(shù)方案;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,包括計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值;計算數(shù)據(jù)包在接收緩存中的實際緩存時間的統(tǒng)計值;根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累。
2.根據(jù)權(quán)利要求1所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值包括計算數(shù)據(jù)包的網(wǎng)絡(luò)抖動值;統(tǒng)計所述數(shù)據(jù)包的網(wǎng)絡(luò)抖動值,得到數(shù)據(jù)包的網(wǎng)絡(luò)抖動統(tǒng)計值;根據(jù)所述數(shù)據(jù)包的網(wǎng)絡(luò)抖動統(tǒng)計值,換算得到數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值。
3.根據(jù)權(quán)利要求2所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述計算數(shù)據(jù)包的網(wǎng)絡(luò)抖動統(tǒng)計值具體方式為將接收緩存所接收的當(dāng)前數(shù)據(jù)包的本地時戳與對端時戳的差值減去前一數(shù)據(jù)包的對端時戳和本地時戳的差值,得到數(shù)據(jù)包的網(wǎng)絡(luò)統(tǒng)計值。
4.根據(jù)權(quán)利要求2所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述統(tǒng)計所述數(shù)據(jù)包的網(wǎng)絡(luò)抖動值具體方式為將當(dāng)前數(shù)據(jù)包的抖動值納入前一時刻網(wǎng)絡(luò)抖動統(tǒng)計值進行計算。
5.根據(jù)權(quán)利要求2所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)包的網(wǎng)絡(luò)抖動統(tǒng)計值換算得到數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值具體方式為將網(wǎng)絡(luò)抖動統(tǒng)計值向上取整到與網(wǎng)絡(luò)抖動統(tǒng)計值最接近的值為標(biāo)準(zhǔn)播放延時值。
6.根據(jù)權(quán)利要求1所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述計算數(shù)據(jù)包在接收緩存中的實際緩存時間的統(tǒng)計值的步驟具體包括獲得數(shù)據(jù)包在接收緩存中實際緩存時間;統(tǒng)計所述數(shù)據(jù)包在接收緩存中實際緩存時間,得到實際緩存時間的統(tǒng)計值。
7.根據(jù)權(quán)利要求6所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述數(shù)據(jù)包在接收緩存中實際緩存時間為數(shù)據(jù)包到達(dá)接收緩存的時刻到從接收緩存中出隊的時刻之間的一段時間。
8.根據(jù)權(quán)利要求1所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累包括根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,判斷數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系;根據(jù)數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系,通過在接收緩存中刪除或增加數(shù)據(jù)來消除時鐘偏差造成的誤差積累。
9.根據(jù)權(quán)利要求8所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,判斷數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系具體方式為如果實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值持續(xù)增大,則判斷對端時鐘比本地時鐘快,數(shù)據(jù)包在接收緩存中寫入快于讀出;如果實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值持續(xù)減小,則判斷對端時鐘比本地時鐘快,數(shù)據(jù)包在接收緩存中寫入慢于讀出。
10.根據(jù)權(quán)利要求8所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述通過在接收緩存中刪除或增加數(shù)據(jù)來消除時鐘偏差造成的誤差積累具體方式為如果數(shù)據(jù)包在接收緩存中寫入快于讀出,且實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的差值超過設(shè)定的閾值,則在接收緩存中刪除相當(dāng)于閾值長度的數(shù)據(jù),來消除時鐘偏差造成的誤差積累,避免接收緩存溢出;如果數(shù)據(jù)包在接收緩存中寫入慢于讀出,且實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的差值超過設(shè)定的閾值,則在接收緩存中插入相當(dāng)于閾值長度的數(shù)據(jù),來消除時鐘偏差造成的誤差積累,避免接收緩存被讀空。
11.根據(jù)權(quán)利要求8所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法,其特征在于,所述通過在接收緩存中刪除或增加數(shù)據(jù)來消除時鐘偏差造成的誤差積累具體方式為如果數(shù)據(jù)包在接收緩存中寫入塊于讀出,且實際緩存時間的統(tǒng)計值大于設(shè)定的上限值,則在接收緩存中刪除一定長度的數(shù)據(jù),來消除時鐘偏差造成的誤差積累,避免接收緩存溢出;如果數(shù)據(jù)包在接收緩存中寫入慢于讀出,且實際緩存時間的統(tǒng)計值小于設(shè)定的下限值,則在接收緩存中插入一定長度的數(shù)據(jù),來消除時鐘偏差造成的誤差積累,避免接收緩存被讀空。
12.一種消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置,其特征在于,所述裝置包括標(biāo)準(zhǔn)播放延時值計算單元,用于計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值;實際緩存時間統(tǒng)計值計算單元,用于計算數(shù)據(jù)包在接收緩存中的實際緩存時間統(tǒng)計值;誤差消除單元,用于根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累。
13.根據(jù)權(quán)利要求12所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置,其特征在于,所述標(biāo)準(zhǔn)播放延時值計算單元包括網(wǎng)絡(luò)抖動值計算單元,用于計算接收緩存中收到的數(shù)據(jù)包的網(wǎng)絡(luò)抖動值;網(wǎng)絡(luò)抖動值統(tǒng)計單元,用于統(tǒng)計所述網(wǎng)絡(luò)抖動值計算單元計算所得的網(wǎng)絡(luò)抖動值,得到網(wǎng)絡(luò)抖動統(tǒng)計值;標(biāo)準(zhǔn)播放延時值換算單元,用于將所述網(wǎng)絡(luò)抖動值統(tǒng)計單元計算所得的網(wǎng)絡(luò)抖動統(tǒng)計值,換算為標(biāo)準(zhǔn)播放延時值。
14.根據(jù)權(quán)利要求12所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置,其特征在于,所述實際緩存時間統(tǒng)計值計算單元包括實際緩存時間獲取單元,用于獲取數(shù)據(jù)包從到達(dá)接收緩存的時刻到從接收緩存中出隊的時刻之間的實際緩存時間;實際緩存時間統(tǒng)計單元,用于統(tǒng)計實際緩存時間獲取單元獲取的實際緩存時間,得到實際緩存時間的統(tǒng)計值。
15.根據(jù)權(quán)利要求12所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置,其特征在于,所述誤差消除單元包括判斷單元,用于根據(jù)所述實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,判斷數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系;數(shù)據(jù)調(diào)整單元,用于根據(jù)所述數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系,在接收緩存中刪除或增加數(shù)據(jù)來消除時鐘偏差造成的誤差積累。
16.根據(jù)權(quán)利要求15所述的消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的裝置,其特征在于,所述誤差消除單元還包括指示單元,所述指示單元根據(jù)判斷單元判斷所得的數(shù)據(jù)包在接收緩存中寫入和讀出之間的快慢關(guān)系,輸出相應(yīng)的指示信號指示對端時鐘和本地時鐘的快慢關(guān)系。
全文摘要
本發(fā)明提供了一種消除網(wǎng)絡(luò)設(shè)備中時鐘偏差造成的誤差積累的方法及其裝置,所述方法包括計算數(shù)據(jù)包在接收緩存中的標(biāo)準(zhǔn)播放延時值;計算數(shù)據(jù)包在接收緩存中的實際緩存時間的統(tǒng)計值;根據(jù)實際緩存時間的統(tǒng)計值相對標(biāo)準(zhǔn)播放延時值的變化,消除時鐘偏差造成的誤差積累。通過本發(fā)明實施例提供的技術(shù)方案,能有效地避免因時鐘偏差而造成接收緩存周期性被讀空或者溢出,保證了網(wǎng)絡(luò)設(shè)備承載業(yè)務(wù)的流暢性。
文檔編號H04L1/00GK101018153SQ200710000478
公開日2007年8月15日 申請日期2007年2月26日 優(yōu)先權(quán)日2007年2月26日
發(fā)明者余凡 申請人:華為技術(shù)有限公司