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

一種判斷重傳的簡單重傳協(xié)議命令幀的方法

文檔序號:7597775閱讀:145來源:國知局
專利名稱:一種判斷重傳的簡單重傳協(xié)議命令幀的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種判別重傳的簡單重傳協(xié)議(SRP)命令幀的方法,特別是涉及一種在H.324協(xié)議中判斷重傳的SRP命令幀的方法。
背景技術(shù)
H.324協(xié)議是低速率多媒體通信終端協(xié)議,H.324終端按照H.223協(xié)議將音頻、視頻、數(shù)據(jù)及控制面信令復(fù)用在一起,傳送到對端,并由對端解復(fù)用,分離出音頻、視頻、數(shù)據(jù)以及控制面信令。控制面信令是H.245協(xié)議中定義的內(nèi)容,要求必須提供可靠的鏈路層進(jìn)行傳輸。
在H.324協(xié)議中,定義了簡單重傳協(xié)議即SRP,來保證H.245信令的可靠傳輸。在SRP協(xié)議下,每發(fā)送一個SRP命令幀,序列號以256為模進(jìn)行累加。如果在指定的時間內(nèi)沒有收到SRP響應(yīng)幀,需要重傳SRP命令幀。重傳的SRP命令幀必須和原SRP命令幀的序列號保持一致,不能累加序列號。由于SRP響應(yīng)幀沒有序列號,無法確定和哪一個SRP命令幀匹配。因此在SRP協(xié)議下,在下一個SRP命令幀被發(fā)送之前,當(dāng)前的SRP命令幀必須得到SRP響應(yīng)幀的響應(yīng)。這樣就導(dǎo)致SRP命令幀必須收到響應(yīng)幀之后才能傳輸下一個H.245信令,影響了H.245信令協(xié)商的效率。協(xié)議后續(xù)版本增加了一個新的編號SRP響應(yīng)幀(NSRP),它帶有序列號。這樣就可以正確匹配SRP命令幀,并行發(fā)送多個H.245消息,加快H.245協(xié)商速度。目前的3G H.324終端都支持NSRP。
H.324協(xié)議中規(guī)定了如果接收到的SRP命令幀有著和先前收到的命令幀相同的序列號,它將不被傳給H.245層,因?yàn)樗皇且粋€已經(jīng)處理過的命令的重傳。這就要求必須判斷出重傳的SRP命令幀,當(dāng)使用NSRP幀響應(yīng)時,如圖1所示,多個SRP命令幀同時發(fā)送。在此情況下,簡單、高效地判斷SRP命令幀是否為重傳的幀具有非常重要。
目前比較常用的一種方法是將最近一段時間內(nèi)接收到的SRP命令幀的所有序列號保存在序列號位表中,并按照時間的順序排列。如圖2所示,當(dāng)收到一個SRP命令幀時,從保存的序列號位表中查找并判斷該命令幀的序號是否是在序列號位表中,若在列表中,則是重傳的SRP命令幀,若不在列表中,則是新的SRP命令幀,將其序列號保存至列表中。
在這種方法中,按照終端的處理能力估算出每秒鐘能處理的SRP命令幀數(shù),例如是20個,SRP命令幀重發(fā)的最大間隔,例如是5S,那么只需保存最近收到的100個序列號即可以了。若當(dāng)前收到的SRP命令幀序列號和前面100個均不同,則代表是新的SRP命令幀,否則就是重傳的命令幀。
這種方法的優(yōu)點(diǎn)是能夠準(zhǔn)確判斷重傳的SRP命令幀,但每次都需遍歷查找序列號位表,當(dāng)系統(tǒng)高負(fù)荷運(yùn)行時,嚴(yán)重影響了系統(tǒng)運(yùn)行效率。呼叫中保存每一個序列號(序列號范圍為0-255)都需要1個字節(jié),保存100個序列號就需要100個字節(jié)。當(dāng)系統(tǒng)中呼叫數(shù)量很大時,要求很大的存儲空間。

發(fā)明內(nèi)容
為了解決上述現(xiàn)有技術(shù)方法中效率低下及耗費(fèi)存儲空間的問題,本發(fā)明的目的是提供一種簡單且高效的判斷重傳的SRP命令幀的方法。
為了實(shí)現(xiàn)上述目的,本發(fā)明的判斷重傳的SRP命令幀的方法包括1)設(shè)置一序列號位表,所述序列號位表中的每個位對應(yīng)于一個所述序列號;2)在接收到SRP命令幀時,確定所述序列號位表中與所述SRP命令幀的序列號對應(yīng)的位的狀態(tài);3)根據(jù)所述對應(yīng)位的狀態(tài),判斷所述SRP命令幀是否為重發(fā)的SRP命令幀;4)當(dāng)判斷所述SRP命令幀不是重發(fā)的SRP命令幀時,改變所述SRP命令幀的序列號在所述序列號位表中的對應(yīng)位的狀態(tài)。
在本發(fā)明的上述方法中,通過如下方式確定所接收的SRP命令幀的序列號在所述序列號位表中的對應(yīng)位確定SRP命令幀的序列號在所述位表中的偏移字節(jié)數(shù);和確定所述序列號在所述位表中相對于所述偏移字節(jié)的偏移位數(shù)。其中,所述偏移字節(jié)數(shù)由接收到的所述SRP命令幀的序列號除以8取整得到,所述偏移位數(shù)由接收到的所述SRP命令幀的序列號除以8取余數(shù)得到。
在本發(fā)明的實(shí)施方案中,可進(jìn)一步包括將所述序列號位表中與較早接收的序列號相應(yīng)的位的狀態(tài)清零的步驟。
本發(fā)明采用256位圖方式來映射接收的SRP命令幀序列號,以直接定位的方法代替了查找過程,避免了最耗費(fèi)系統(tǒng)資源的遍歷查找算法,極大地提高了系統(tǒng)運(yùn)行效率。本發(fā)明的每個呼叫只需占用32個字節(jié)就可以實(shí)現(xiàn)重傳SRP命令幀的判別,從而節(jié)約了存儲空間。
此外,根據(jù)本發(fā)明的方法,還可確保已收到過的SRP命令幀序列號記錄會在其時效過后被正確地清除,從而保證了序列號的回卷。


圖1是現(xiàn)有技術(shù)中多個SRP命令幀同時傳送時的示意圖;圖2是現(xiàn)有技術(shù)中保存SRP命令幀的序列號的列表示意圖;圖3是本發(fā)明實(shí)施例的序列號位表示意圖;圖4是圖3所示的SRP命令幀的序列號位表結(jié)構(gòu)示意圖;圖5是本發(fā)明實(shí)施例的序列號清零示意圖;圖6分別是N<=128和N<=64時的序列號清零示意圖。
具體實(shí)施例方式
以下參照圖3至圖6對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)的描述。
在本發(fā)明的一實(shí)施方案中,建立了如圖3所示的序列號位表。如圖4所示,該列表占用32個字節(jié),每個字節(jié)的8個位,共256個位。用這256個位分別對應(yīng)于SRP命令幀的256個序列號。例如,用位0代表序列號1(SN1),位1代表序列號2(SN2),...,位255代表序列號256(SN256)。在本例中,設(shè)以0表示未收到對應(yīng)序列號的SRP命令幀、1表示收到過對應(yīng)序列號的SRP命令幀。在開始時,所有位的值都被清零。
當(dāng)接收終端從發(fā)送終端接收到一個SRP命令幀時,取出其中的序列號。在序列號位表中直接找到與該序列號對應(yīng)的位,判斷該位的狀態(tài)。如果讀取該位的值為0時,表示先前未接收過該序列號的SRP命令幀,將該位的值置為1,然后接收終端對該幀進(jìn)行相應(yīng)的處理。若該位的值為1時,說明先前接收過該序列號的SRP命令幀,此SRP命令幀是重發(fā)的SRP命令幀,接收終端對該命令幀不作處理。
在本例中,在序列號位表中具體定位的方法可以采用如下計算公式nBytes=SNrecv/8(1)
nBits=SNrecv%8 (2)其中,nBytes表示SRP命令幀的序列號在列表中的偏移字節(jié)數(shù),SNrecv表示接收終端接收到的SRP命令幀的序列號。nBits表示接收終端接收的SRP命令幀的序列號在列表中位置相對于對應(yīng)字節(jié)的偏移位數(shù)。
式(1)表示用接收到的SRP命令幀的序列號除以8取整后得到該序列號在列表中位置的偏移字節(jié)數(shù)。
式(2)表示用接收到的序列號除以8取余數(shù)得到nBits的值。
圖4是本發(fā)明的SRP命令幀的序列號定位示意圖。如圖所示,接收終端接收到SRP命令幀的序列號為14,用接收終端接收到SRP命令幀的序列號可以直接計算出該序列號所在列表中位置的偏移字節(jié)數(shù)和該序列號相對于對應(yīng)字節(jié)的偏移位數(shù),即,nBytes=14/8=1nBits=14%8=6即該序列號被定位在第1個字節(jié)第6個比特處,若該位置的值為零,說明以前沒有接收過此SRP命令幀,若該位置的值為1,說明是重傳的SRP命令幀。
上述實(shí)施例對于一個會話中的SRP命令幀的序列號的范圍是0-255的情況下,其序列號位表中的位與SRP命令幀的序列號可以一一對應(yīng)。但是,對于一個會話過程中的SRP命令幀的個數(shù)超過256個,序列號要重新從零開始分配時,就無法判別了。
圖5顯示了根據(jù)本發(fā)明的一個改進(jìn)實(shí)施例的方法。
在本實(shí)施例中,采用了逐步將序列號位表中與較早以前接收到的序列號相應(yīng)的位清零的方法。如圖5所示,T1,T2,T3,T4之間的時間為接收終端和發(fā)送終端之間的最大SRP重傳間隔。所謂重傳間隔,就是指發(fā)送一個SRP命令幀,對端沒有響應(yīng),又重新發(fā)送這個SRP命令幀,這兩個命令幀之間的時間,就是重傳間隔。這個間隔時間可以配置,當(dāng)取配置最大值就是最大SRP重傳間隔。一般間隔時間在幾十毫秒到幾秒之間。當(dāng)T3時刻到來時,保留T2到T3時刻之間收到的序列號相應(yīng)的位,將T2時刻之前收到的序列號對應(yīng)的位清除。當(dāng)T4時刻到來時,保留T3到T4時刻收到的序列號對應(yīng)的位,將T3時刻之前收到的序列號對應(yīng)的位清除。
為了方便程序處理,可以將時間單位轉(zhuǎn)換為用SRP命令幀的個數(shù)來表示。為此,首先估算出在接收終端和發(fā)送終端之間最大重傳間隔時間內(nèi)最多處理的SRP命令幀的個數(shù)。該估算方法可以是,一般將最大重傳間隔設(shè)為S秒,而通常一個H245呼叫有M個消息。假設(shè)不分片,大約會有M個SRP命令幀,所以在最大重傳間隔時間內(nèi)一般會有N=S*M個SRP命令幀。一般S小于1秒,M小于30。如果分片,則相應(yīng)的M值會增大,但N的計算方法不變。假設(shè)在一個重傳間隔內(nèi)最多收到N個SRP命令幀,那么在當(dāng)接收到第2N個SRP命令幀時,只需保留N-2N之間的序列號對應(yīng)的位的狀態(tài)標(biāo)志即可,其它序列號的位清零。當(dāng)接收到第3N個SRP命令幀時,只需保留2N-3N之間的序列號即可,其他序列號對應(yīng)的位的狀態(tài)標(biāo)志清零,依此類推。
當(dāng)然,在清除很早以前收到的序列號對應(yīng)的位時,不必一定要清除256-N個,只要保證所保留的序列號大于等于N個就可以了。換言之,清除的序列號個數(shù)應(yīng)小于等于256-N個。
本實(shí)施例在具體實(shí)現(xiàn)時,為簡化程序處理,把序列號位表(協(xié)議規(guī)定共256個序列號)分段,每次只清除最早接收到的序列號對應(yīng)的分段,假設(shè)M表示分段的個數(shù),每次清除一個分段的序列號個數(shù)為256/M,因此只要保證滿足下列數(shù)學(xué)關(guān)系即可,即256-256/M>=NN表示SRP命令幀最大重傳間隔內(nèi)最多能收到的SRP命令幀個數(shù),因此,只要保留的序列號大于等于N就可以了。如果N<=192,則至少可以分為四段(M>=4),如果N<=128,則至少可以分為兩段(M>=2),依此類推。為便于處理,最好分段的個數(shù)是2的指數(shù)倍。
圖6分別是N<=128和N<=64時的序列號位表清零示意圖。當(dāng)N<=128時,將序列號位表分為兩段,當(dāng)收到SRP命令幀的序列號為127時,將128-255之間的序列號對應(yīng)位清零,當(dāng)收到SRP命令幀的序列號為255時,將0-127之間的序列號對應(yīng)位清零。當(dāng)N<=64時,將序列表分為四段,當(dāng)收到SRP命令幀的序列號為63時,將64-127之間的序列號對應(yīng)位清零,當(dāng)收到SRP命令幀的序列號為127時,將128-191之間的序列號對應(yīng)位清零,當(dāng)收到SRP命令幀的序列號為191時,將192-255之間的序列號對應(yīng)位清零,當(dāng)收到SRP命令幀的序列號為255時,將0-63之間的序列號對應(yīng)位清零。顯然,上述清零的序列號段和清零順序可以根據(jù)需要進(jìn)行不同的設(shè)置,而不限于上面所提到的方式。
根據(jù)H245協(xié)議,H245消息最多有34個,因此,一般一個會話中不會超過20個H245消息,最大重發(fā)間隔一般不會超過5秒,N取值最大為100,因此優(yōu)選將序列號位表劃分為兩段。當(dāng)收到SRP命令幀的序列號是127時,將128-255之間的序列號對應(yīng)的位段清零;當(dāng)收到SRP命令幀的序列號是255時,將0-127之間的序列號對應(yīng)的位段清零。
雖然以上結(jié)合具體實(shí)施例描述了本發(fā)明,但這些具體說明并不是對本發(fā)明的限制。本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍的情況下,可以對本發(fā)明做出各種修改和變換。它們均在所附的權(quán)利要求的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種判斷重傳的簡單重傳協(xié)議SRP命令幀的方法,包括1)設(shè)置一序列號位表,所述序列號位表中的每個位對應(yīng)于一個所述序列號;2)在接收到SRP命令幀時,確定所述序列號位表中與所述SRP命令幀的序列號對應(yīng)的位的狀態(tài);3)根據(jù)所述對應(yīng)位的狀態(tài),判斷所述SRP命令幀是否為重發(fā)的SRP命令幀;和4)當(dāng)判斷所述SRP命令幀不是重發(fā)的SRP命令幀時,改變所述SRP命令幀的序列號在所述序列號位表中的對應(yīng)位的狀態(tài)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過如下方式確定所接收的SRP命令幀的序列號在所述序列號位表中的對應(yīng)位確定SRP命令幀的序列號在所述位表中的偏移字節(jié)數(shù);和確定所述序列號在所述位表中相對于所述偏移字節(jié)的偏移位數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述偏移字節(jié)數(shù)由接收到的所述SRP命令幀的序列號除以8后取整數(shù)部分得到,所述偏移位數(shù)由接收到的所述SRP命令幀的序列號除以8后取余數(shù)得到。
4.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于進(jìn)一步包括將與在先接收的序列號相應(yīng)的位清零。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,清除的序列號對應(yīng)位的個數(shù)小于等于256-N,其中N為在一個SRP重傳間隔內(nèi)最多收到的SRP命令幀的個數(shù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于將所述序列號置為零的步驟包括確定發(fā)送端和接收端之間的最大SRP重傳間隔和在該間隔內(nèi)最多收到的SRP命令幀的個數(shù)N;和當(dāng)接收端收到SRP命令幀個數(shù)為N的整數(shù)倍時,在序列號位表中保留最近的N個序列號對應(yīng)的位,將其余序列號的對應(yīng)位清零。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,按照如下方式確定在最大SRP重傳間隔內(nèi)最多收到的SRP命令幀的個數(shù)N設(shè)所述最大SRP重傳間隔設(shè)為S秒,每個H245呼叫有M個消息,則N=S*M。
8.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將與在先接收的序列號相應(yīng)的位清零的步驟包括確定發(fā)送端和接收端的最大SRP重傳間隔;和在所述序列號位表中保留距當(dāng)前時刻為最大SRP重傳間隔的期間內(nèi)的序列號對應(yīng)位,將其它序列號對應(yīng)位清零。
9.根據(jù)權(quán)利要求4所述的方法,其特征在于將所述序列號置為零的步驟包括把所述序列號位表分段;確定發(fā)送端和接收端之間的最大SRP重傳間隔;和清除序列號位表中最早接收到的序列段,使保留的序列號的個數(shù)大于等于所述重傳間隔內(nèi)收到的SRP命令幀的最多個數(shù)。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于所述序列號位表的分段要滿足下列關(guān)系256-256/M>=N其中,N表示SRP命令幀最大重傳間隔內(nèi)最多能收到的SRP命令幀個數(shù)。
全文摘要
本發(fā)明公開了一種在H.324協(xié)議中判斷重傳的SRP命令幀的方法,本發(fā)明的方法包括設(shè)置一序列號位表,所述序列號位表中的每個位對應(yīng)于一個所述序列號;在接收到SRP命令幀時,確定所述序列號位表中與所述SRP命令幀的序列號對應(yīng)的位的狀態(tài);根據(jù)所述對應(yīng)位的狀態(tài),判斷所述SRP命令幀是否為重發(fā)的SRP命令幀;當(dāng)判斷所述SRP命令幀不是重發(fā)的SRP命令幀時,改變所述SRP命令幀的序列號在所述序列號位表中的對應(yīng)位的狀態(tài)。本發(fā)明克服了現(xiàn)有技術(shù)方法中效率低下及浪費(fèi)存儲空間的問題,并可確保已收到過的SRP命令幀序列號記錄會在時效過后被正確清除。
文檔編號H04L1/08GK1756255SQ20041008036
公開日2006年4月5日 申請日期2004年9月29日 優(yōu)先權(quán)日2004年9月29日
發(fā)明者高順紀(jì) 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1