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

報文到達(dá)時間間隔的計算方法及裝置的制作方法

文檔序號:7711545閱讀:455來源:國知局
專利名稱:報文到達(dá)時間間隔的計算方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及移動通信才支術(shù)領(lǐng)域,尤其涉及一種才艮文到達(dá)時間間 隔的計算方法及裝置。
背景技術(shù)
由于數(shù)據(jù)網(wǎng)絡(luò)中報文到達(dá)間隔是隨機(jī)的,因此,大于網(wǎng)絡(luò)節(jié)點 處理容量的突發(fā)數(shù)據(jù)流量在通過網(wǎng)絡(luò)節(jié)點時,可能導(dǎo)致數(shù)據(jù)的阻塞。
目前,為避免突發(fā)數(shù)據(jù)流量對通信的影響, 一般采用基于令牌 桶的報文限速方法。圖1為基于令牌桶的^艮文限速方法的原理示意
圖。如圖1所示,令牌以v字節(jié)/秒的速率注入到容量為V字節(jié)的令 牌桶中,如果令牌桶滿,則注入的令牌;故丟棄。當(dāng)才艮文到達(dá)時,如 果報文長度小于令牌桶內(nèi)令牌數(shù)量,則將桶內(nèi)令牌數(shù)減去報文長度, 并讓才艮文通過;否則將報文丟棄。其中,v表征才艮文允許通過的平 均流量,而令牌桶容量V則表征報文允許通過的突發(fā)流量。
在基于令牌桶的報文限速方法中,在實現(xiàn)令牌注入時,首先需 要確定令牌注入的定時間隔。如果定時間隔比較大,當(dāng)才艮文到達(dá)速 率遠(yuǎn)小于定時間隔時,會導(dǎo)致報文通過速率產(chǎn)生大幅度的波動,不 能達(dá)到限速的效果。如果此定時間隔比較小,則系統(tǒng)需要頻繁進(jìn)4亍 添加令牌的操作,會耗費大量的運算資源。目前,相關(guān)技術(shù)中為了使得定時間隔比較合理,提出了一種只 在報文到達(dá)時才進(jìn)行令牌添加操作的方法。在該方法中,每當(dāng)報文 到達(dá)時,計算當(dāng)前凈艮文和前一個報文到達(dá)的這段時間間隔內(nèi),令牌 桶應(yīng)該累計的令牌數(shù)量。具體地,通過設(shè)置一個計時器,每次一個 才艮文到達(dá)時,記錄此才艮文到達(dá)的時間。當(dāng)一個凈艮文到達(dá)時,通過當(dāng) 前報文到達(dá)的時間與前一個報文到達(dá)的時間計算出此次報文到達(dá)的 時間間隔。則在這段時間內(nèi),令牌桶的累積令牌數(shù)-報文到達(dá)間隔 x令牌注入速率。將累積令牌凄t加入到令牌桶后,再進(jìn)4亍對才艮文長 度判斷的操作。使用該方法時,如果報文到達(dá)間隔如果過長,計時 器將溢出,從而導(dǎo)致累積令牌數(shù)計算錯誤。
在現(xiàn)有網(wǎng)絡(luò)節(jié)點中,需要將到達(dá)的報文按照報文的源地址、目 的地址等屬性進(jìn)行分類,屬于同一個分類的才艮文被稱為一個流。對 于一個大容量的網(wǎng)絡(luò)節(jié)點,流的數(shù)量可能非常巨大,需要對不同的 流進(jìn)行區(qū)分及設(shè)置不同的令牌桶容量和令牌注入速率,針對該情況, 相關(guān)技術(shù)中提出了一種便于硬件芯片實現(xiàn)的令牌桶報文限速方法。 該方法首先計算了系統(tǒng)中所需的最大計時器深度T^。對于一個系統(tǒng)
來說,以最小的令牌注入速率填滿最大深度的令牌桶的時間即為系 統(tǒng)所需的最大計時器深度。對于系統(tǒng)中任何一個流來說,當(dāng)兩個報 文到達(dá)的間隔大于這個時間時,令牌桶必然已經(jīng)溢出。此時無需對 累積令牌數(shù)進(jìn)行計算,只需直接將相應(yīng)令牌桶填滿即可。
具體地,該方法4吏用了 一個雙口隨^幾存取存〗諸器(Random Access Memory,簡-爾為RAM )用于計算每個流的包到達(dá)間隔,該 只又口 RAM記錄了各個流前一個才艮文的到達(dá)時刻和該時刻計時器的 進(jìn)位標(biāo)志(計時器每計滿一次,該標(biāo)志位取反),同時還有一個溢出 標(biāo)志位供溢出掃描才喿作使用。雙口 RAM的兩個存取端口分別用于 記錄報文到達(dá)時刻和進(jìn)行溢出掃描操作。其中,溢出掃描才喿作是對 雙口 RAM內(nèi)存々者的所有包到達(dá)時刻依次進(jìn)4亍掃描,每次i己錄新才艮 文到達(dá)時刻時,溢出標(biāo)志位都^皮置0。而在掃描過禾呈中,如果發(fā)5見計時間隔已經(jīng)溢出,則將此位置l。在r,時間內(nèi)需要對所有流掃描 一次,掃描時將待掃描的流的報文到達(dá)時刻7;讀出,并與當(dāng)前計時 器時刻7^進(jìn)行比較。如果讀出的溢出標(biāo)志為o,比較r,、 ^和兩者進(jìn) 位標(biāo)志如果兩者進(jìn)位標(biāo)志相同,且r,r,,表示從7;到當(dāng)前時刻, 令牌桶沒有溢出。如果兩者進(jìn)位標(biāo)志相同,JLr2<7;,表示乂人r,到當(dāng) 前時刻,計時器已經(jīng)循環(huán)兩次,令"皁桶已經(jīng)溢出。如果兩者進(jìn)^f立標(biāo) 志不同,JLr2>7;,表示從7;到當(dāng)前時刻,計時器已經(jīng)循環(huán)一次,令 牌桶已經(jīng)溢出。如果兩者進(jìn)位標(biāo)志相同,JLr2<7;,表示/人r,到當(dāng)前 時刻,計時器已經(jīng)循環(huán)一次,令牌桶沒有溢出。如果讀出的溢出標(biāo) 志為l,說明令牌桶已經(jīng)溢出,不進(jìn)行才喿作。因為掃描間隔為7^, 所以對于任何流來i兌,最新更新的才艮文到達(dá)時刻都會在2rmax時間內(nèi) 被標(biāo)記為令牌桶溢出。在才艮文到達(dá)后,計算才艮文到達(dá)間隔也采用相 同的判斷方法。這樣,當(dāng)報文到達(dá)間隔小于27^時,令牌桶是否溢 出都可以正確進(jìn)行判斷,而對于報文到達(dá)間隔大于27^的情況,則
通過溢出掃描才喿作解決。
該方法需要4吏用一個雙口 RAM,而現(xiàn)有網(wǎng)絡(luò)節(jié)點中,需要分 辨上萬個不同的流,并且,這些不同的流的限速速率可能相差上百 萬倍。因此,用于計算報文到達(dá)間隔的計時器寬度會達(dá)到20位以上。 對于硬件芯片來說,在芯片內(nèi)部可利用的雙口 RAM數(shù)量有限。當(dāng) 流密度非常大(16,000個流)、計時器寬度非常寬(20位以上)的 情況下,需要大量的存儲空間,從而不利于通過內(nèi)部RAM實現(xiàn)。 而如果使用外掛RAM,由于掃描操作和報文間隔計算操作有一定的 相關(guān)性(需要考慮溢出標(biāo)志位),而外掛RAM的操作延時較大,從 而有可能影響到包處理速度。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了 一種改進(jìn)的報文到達(dá)時間間隔的計算
方案,用以解決J見有4支術(shù)中由于采用一個雙口 RAM實J見時需要大 量的存儲空間從而既不利用內(nèi)部實現(xiàn)也不利用外部實現(xiàn)的問題。
根據(jù)本發(fā)明的一個方面,提供了 一種報文到達(dá)時間間隔的計算 方法,該方法用于計算各個流的才艮文到達(dá)網(wǎng)絡(luò)節(jié)點的時間間隔,以 確定各個流的令牌桶中的令牌數(shù)量。
根據(jù)本發(fā)明的報文到達(dá)時間間隔的計算方法包括當(dāng)前報文到 達(dá)時,從計時器讀取系統(tǒng)當(dāng)前時刻T2,并讀取外部RAM中記錄的 當(dāng)前才艮文所屬流的前一個才艮文的到達(dá)時刻Tn其中,計時器以預(yù)i殳 時間段Tmax為周期進(jìn)行循環(huán)計時,預(yù)設(shè)時間段Tmax大于或等于以最 小的令牌注入速率填滿流的令牌桶最大深度的時間;讀取內(nèi)部RAM 中記錄的當(dāng)前報文所屬流的當(dāng)前標(biāo)志位,其中,當(dāng)前標(biāo)志位用于指 示系統(tǒng)當(dāng)前時刻丁2與前一個報文的到達(dá)時刻Ti之間計時器的循環(huán) 次數(shù);根據(jù)系統(tǒng)當(dāng)前時刻TV前一個報文到達(dá)時刻Tt及當(dāng)前標(biāo)志位, 計算本次才艮文到達(dá)的時間間隔。
根據(jù)本發(fā)明的另 一個方面,提供了 一種報文到達(dá)時間間隔的計 算裝置,該裝置用于計算各個流的報文到達(dá)網(wǎng)絡(luò)節(jié)點的時間間隔, 以確定各個流的令牌桶中的令牌凄t量。
根據(jù)本發(fā)明的報文到達(dá)時間間隔的計算裝置包括外部RAM、 計時器、內(nèi)部RAM、讀取才莫塊和計算才莫塊。其中,外部RAM,用 于以各個流的流標(biāo)識為i也址,i己錄各個流中的最近一個才艮文的到達(dá) 時刻TV,計時器,用于以預(yù)設(shè)時間段Tn^為周期進(jìn)行循環(huán)計時,其 中,預(yù)設(shè)時間段Tmax大于或等于以最小的令牌注入速率填滿各個流 的令牌桶最大深度的時間;內(nèi)部RAM,用于以各個流的標(biāo)識為地址,記錄各個流的當(dāng)前標(biāo)志位,其中,當(dāng)前標(biāo)志位用于指示從系統(tǒng)當(dāng)前
時刻到各個流的前一個報文的到達(dá)時刻之間計時器循環(huán)的次數(shù);讀 取模塊,用于在當(dāng)前報文到達(dá)時,從計時器讀取系統(tǒng)當(dāng)前時刻T2、 外部RAM中記錄的與當(dāng)前凈艮文所屬流對應(yīng)的前一個才艮文到達(dá)時刻 Tj以及內(nèi)部RAM中記錄的與當(dāng)前才艮文所屬流對應(yīng)的當(dāng)前標(biāo)志位; 計算模塊,用于根據(jù)讀取模塊讀取的系統(tǒng)當(dāng)前時刻T2、前一個報文 到達(dá)時刻Ti及當(dāng)前標(biāo)志位,計算本次才艮文到達(dá)的時間間隔。
通過本發(fā)明的上述至少一個方案,通過采用一個內(nèi)部RAM保 存各個流的標(biāo)志位,將各個流的前一個^艮文到達(dá)時刻記錄在外掛 RAM, 乂人而可以減少內(nèi)部RAM的消壽毛量,^是高了石更〃f牛芯片實J見的 可操作性。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部 分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā) 明的目的和其〗也優(yōu)點可通過在所寫的i兌明書、4又利要求書、以及附 圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。


附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部 分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的 限制。在附圖中
圖1為相關(guān)技術(shù)中基于令牌的報文限速方法的原理示意圖2為根據(jù)本發(fā)明實施例的報文到達(dá)時間間隔的計算裝置的結(jié) 構(gòu)示意圖3為根據(jù)本發(fā)明實施例的報文到達(dá)時間間隔的計算方法的流 程圖;圖4為實施例一的流禾呈圖; 圖5為實施例二的流禾呈圖; 圖6為實施例三的流考呈圖。
具體實施方式
功能和克述
現(xiàn)有技術(shù)中采用硬件芯片實現(xiàn)的令牌桶才艮文限速方法中,由于 石更件芯片中的RAM需要記錄各個流前一個才艮文的到達(dá)時刻和該時 刻計時器的進(jìn)位標(biāo)志,同時還需要進(jìn)行溢出掃描操作,在流數(shù)量較 大情況下,該RAM需要的存4諸空間較大,而芯片內(nèi)部可利用的RAM 數(shù)量有限,因而在實際中的可實施性不強(qiáng),針對該問題,本發(fā)明實 施例提供了 一種改進(jìn)的報文到達(dá)時間間隔的計算方案。在本發(fā)明實 施例中,設(shè)置一個用于記錄各個流的標(biāo)志位的內(nèi)部RAM,同時設(shè)置 一個大容量的外掛RAM,用于記錄各個流的前一個才艮文到達(dá)時刻, 當(dāng)才艮文到達(dá)時,讀取系統(tǒng)當(dāng)前時刻T2,并讀取外部RAM中記錄的 當(dāng)前報文所屬流的前一個報文的到達(dá)時刻TV以及內(nèi)部RAM中記 錄的當(dāng)前報文所屬流的標(biāo)志位,然后根據(jù)讀取的各個參數(shù),計算本 次才艮文到達(dá)的時間間隔。
在不沖突的情況下,本申請中的實施例及實施例中的特征可以 相互組合。
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行說明,應(yīng)當(dāng)理解,此 處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本 發(fā)明。根據(jù)本發(fā)明實施例,首先提供了 一種才艮文到達(dá)時間間隔的計算 裝置,該裝置用于計算各個流的才艮文到達(dá)網(wǎng)絡(luò)節(jié)點的時間間隔,以 確定各個流的令牌桶中的令牌數(shù)量。
圖2為才艮據(jù)本發(fā)明實施例的才艮文到達(dá)時間間隔的計算裝置的結(jié) 構(gòu)示意圖,如圖2所示,根據(jù)本發(fā)明實施例的報文到達(dá)時間間隔的 計算裝置主要包括外部RAM1、計時器2、內(nèi)部RAM3、讀取模 塊5和計算模塊7。其中,外部RAM1,用于以各個流的流標(biāo)識為 地址,記錄各個流中的最近一個報文的到達(dá)時刻計時器2用于 以預(yù)設(shè)時間段為周期進(jìn)行循環(huán)計時,其中,預(yù)i殳時間段大于或等于 以最小的令牌注入速率填滿各個流的令牌桶最大深度的時間;內(nèi)部 RAM 3,用于以各個流的流標(biāo)識為地址,記錄各個流的當(dāng)前標(biāo)志位, 其中,該當(dāng)前標(biāo)志^f立用于指示/人系統(tǒng)當(dāng)前時刻到各個流的前一個才艮 文的到達(dá)時刻之間計時器2循環(huán)的次數(shù);讀取才莫塊5分別與外部 RAM 1、計時器2和內(nèi)部RAM 3連"l妄,用于在當(dāng)前才艮文到達(dá)時, 乂人計時器2讀取系統(tǒng)當(dāng)前時刻T2、外部RAM 1中i己錄的與當(dāng)前才艮 文所屬流》寸應(yīng)的前一個才艮文到達(dá)時刻T,以及內(nèi)部RAM中i己錄的與 當(dāng)前報文所屬流對應(yīng)的當(dāng)前標(biāo)志位;計算模塊7與讀取模塊5連接, 用于才艮據(jù)讀取才莫塊5讀取的系統(tǒng)當(dāng)前時刻T2、前一個才艮文到達(dá)時刻 1及標(biāo)志位,計算本次才艮文到達(dá)的時間間隔。
具體;也,內(nèi)部RAM 3可以包4舌兩個端口第一端口,用于在 當(dāng)前才艮文到達(dá)時,向讀Wt塊5返回當(dāng)前才艮文所屬流的當(dāng)前標(biāo)志4立, 并將該流的當(dāng)前標(biāo)志位置1;第二端口,用于以預(yù)i殳時間^殳Tmax 為周期,對內(nèi)部RAM中記錄的各個流的標(biāo)志位進(jìn)4亍掃描,每掃描 到一個標(biāo)志^f立,該標(biāo)志^f立的值力口 1。
優(yōu)選地,每個流的標(biāo)志位位寬為2,其最大取值為3,則才艮據(jù)系 統(tǒng)所需支持的流個數(shù)n,可以將上述內(nèi)部RAM 3 i殳置為一個2bit x n的雙口 RAM,具體i也,內(nèi)部RAM 3由硬/f牛芯片實J見,該》又口 RAM
12的一個端口用于新才艮文到達(dá)時,讀取該新才艮文所屬流對應(yīng)的標(biāo)志^f立,
并在讀取該標(biāo)志位后將該標(biāo)志位置1;另外一個端口用于掃描才喿作, 該端口以Tmax為周期,對每個流的標(biāo)志位進(jìn)4亍掃描,每次掃描到 一個標(biāo)志位,該標(biāo)志位的取值加1,如果該標(biāo)志位的值已到達(dá)最大 值,則該標(biāo)志位的取值不在增加。
外部RAM 1在i己錄各個流的前一個才艮文到達(dá)時刻以及內(nèi)部 RAM 3在記錄各個流的標(biāo)志4立時,可以以各個流的流標(biāo)識為i也址進(jìn) 4亍記錄,優(yōu)選地,流標(biāo)識可以為流的序列號。因此,在實施應(yīng)用中, 可以爿夸外部RAM 1 i殳置為一個大容量的外4圭RAM,其i也址空間為 n,位寬大于系統(tǒng)計時器的位寬。
根據(jù)本發(fā)明實施例提供的上述裝置,可以減少芯片內(nèi)部RAM 的消4C量,同時由于內(nèi)部RAM在掃描標(biāo)志位時不需讀取前一個才艮 文到達(dá)時刻,乂人而可以簡化算法的復(fù)雜度。
才艮據(jù)本發(fā)明實施例,還4是供了 一種凈艮文到達(dá)時間間隔的計算方 法,該方法用于計算各個流的才艮文到達(dá)網(wǎng)纟各節(jié)點的時間間隔,以確 定各個流的令牌桶中的令牌數(shù)量。該方法可以通過上述的裝置實現(xiàn)。
圖3為根據(jù)本發(fā)明實施例的報文到達(dá)時間間隔的計算方法的流 程圖,如圖3所示,根據(jù)本發(fā)明實施例的報文到達(dá)時間間隔的計算 方法主要包括以下步驟(步驟S301 -步驟S305 ):
步驟S301:當(dāng)前才艮文到達(dá)時,乂人i十時器讀取系統(tǒng)當(dāng)前時刻T2, 并讀取外部RAM中記錄的當(dāng)前才艮文所屬流的前一個才艮文的到達(dá)時 刻T!,其中,計時器以預(yù)設(shè)時間段Tmax為周期進(jìn)行循環(huán)計時,預(yù)設(shè) 時間段Tmax大于或等于以最小的令牌注入速率填滿令牌桶最大深度 的時間;具體地,為系統(tǒng)i殳置一個計時器,用于記錄各個流的才艮文到達(dá) 時刻,計時器4安照預(yù)i殳時間〗史Tn^不斷循環(huán)計時。該計時器計時循
環(huán) 一 次的時間rmax大于以最小的令牌注入速率填滿最大深度的令牌 桶的時間。對于系統(tǒng)中任何一個流來i兌,當(dāng)同屬于該流的兩個才艮文 到達(dá)的間隔大于這個時間時,令牌桶必然已經(jīng)溢出,因此,此時無 需對累積令牌數(shù)進(jìn)行計算,只需直接將相應(yīng)令牌桶填滿即可。
在具體實施過程中,外部RAM在記錄各個流的前一個才艮文到 達(dá)時刻,以及內(nèi)部RAM在i己錄各個流的才示志4立時,可以以各個流 的流標(biāo)識為地址進(jìn)4亍記錄。因此,在讀取外部RAM i己錄的當(dāng)前才艮 文所屬流的前一個報文到達(dá)時刻時,首先可以獲取當(dāng)前才艮文所屬流 的流標(biāo)識,然后,以該流標(biāo)識為地址,讀取外部RAM中i己錄的與 該流標(biāo)識對應(yīng)的到達(dá)時刻,即為該流的前一個凈艮文到達(dá)時刻。
并且,在讀取當(dāng)前才艮文所屬流的前一個才艮文的到達(dá)時刻后,以 當(dāng)前才艮文所屬流的流標(biāo)識為地址,S夸當(dāng)前才艮文的到達(dá)時刻(即當(dāng)前 系統(tǒng)時刻)寫入外部RAM中。
步-驟S303:讀取內(nèi)部RAM中記錄的當(dāng)前才艮文所屬流的當(dāng)前標(biāo) 志位,其中,當(dāng)前標(biāo)志位用于指示系統(tǒng)當(dāng)前時刻丁2與前一個報文的 到達(dá)時刻T,之間計時器的循環(huán)次凄史;
具體;l也,內(nèi)部RAM中可以以各個流的濟(jì)b才示識為;也址,i己錄各 個流對應(yīng)的前一個才艮文的到達(dá)時間的標(biāo)志位,在當(dāng)前才艮文到達(dá)時, 首先獲取當(dāng)前才艮文所屬流的流標(biāo)識,然后才艮據(jù)該流標(biāo)識讀取內(nèi)部 RAM中記錄的與該流標(biāo)識對應(yīng)的當(dāng)前標(biāo)志4立。并且,在讀取內(nèi)部 RAM中i己錄的與當(dāng)前凈艮文所屬流的當(dāng)前才示志4立后,以該流標(biāo)識為;也 址,將內(nèi)部RAM中記錄的與該流標(biāo)識^f應(yīng)的標(biāo)志位置1,即以當(dāng)前 報文作為下一個報文的前一個報文,更新記錄前一個報文到達(dá)時間 的才示志、4立。在具體實施過禾呈中,每當(dāng)系統(tǒng)計時器計凄欠值為0時,啟動新一
輪的標(biāo)志位掃描更新。具體地,可以按照各個流的流標(biāo)識進(jìn)4于掃描, 優(yōu)選地,該流標(biāo)識為流的序列號,即系統(tǒng)為每個流分配的索引號。
因此,在標(biāo)志位掃描更新時,可以」接照每個流的索引號進(jìn)4亍掃
描,具體地,可以/人流索引號為0開始掃描,將當(dāng)前掃描流索引號
作為地址,將對應(yīng)的標(biāo)志4立讀出,并將標(biāo)志zf立的值加1,將計算后 的標(biāo)志位重新寫入原地址。將當(dāng)前掃描流索引號加1,繼續(xù)更新下 一個流,直到所有流都經(jīng)過一次掃描,本4&標(biāo)志位掃描結(jié)束。
乂人上述標(biāo)志位掃描更新的操作流禾呈可以看出,對于4壬4可一個流
來說,兩次標(biāo)志位更新的間隔一定為系統(tǒng)計時器循環(huán)時間T^。因此, 當(dāng)一個流的標(biāo)志^f立為"01"時,系統(tǒng)當(dāng)前時刻與前一個4艮文到達(dá)時 刻的時間間隔必然小于7^;當(dāng)一個流的標(biāo)志位為"10"時,系統(tǒng)當(dāng) 前時刻與前一個才艮文到達(dá)時刻的時間間隔必然小于27_且大于7_ ; 當(dāng)一個流的標(biāo)志位為"11"時,系統(tǒng)當(dāng)前時刻與前一個才艮文到達(dá)時 刻的時間間隔必然大于2rmax 。
優(yōu)選地,在本發(fā)明實施例中,各個流的流標(biāo)識為各個流的序列
弓—
步驟S305:才艮據(jù)系統(tǒng)當(dāng)前時刻T2、前一個才艮文到達(dá)時刻Tj及 讀取的當(dāng)前標(biāo)志位,計算本次報文到達(dá)的時間間隔。
具體地,4艮據(jù)上述對標(biāo)志位掃描更新的才喿作可知,如果當(dāng)前標(biāo) 志位為"01",即當(dāng)前標(biāo)志位的取值為1,則本次凈艮文到達(dá)間隔為 (r2-r,);如果標(biāo)志位為"10",即當(dāng)前標(biāo)志位的取值為1,且7^>7;, 則令牌桶已經(jīng)溢出,直接將令牌桶填滿;如果標(biāo)志位為"10",且 7^r,,則本次才艮文到達(dá)間隔為(7^+7^r,);如果標(biāo)志位為"11", 即取值為3,則令牌桶已經(jīng)溢出,直接將令牌桶填滿。根據(jù)本發(fā)明實施例提供的上述報文到達(dá)時間間隔的計算方法,
可以分別以內(nèi)部RAM記錄的標(biāo)志4立和外部RAM i己錄的前一個才艮 文的到達(dá)時刻,計算本次才艮文到達(dá)時間間隔。
為進(jìn)一步理解本發(fā)明實施例,下面通過具體實施例對本發(fā)明實 施例提供的技術(shù)方案進(jìn)行說明。
實施例一
本實施例以當(dāng)前4艮文到達(dá)時,對內(nèi)部RAM中i己錄的標(biāo)志4立以 及外部RAM中i己錄的前一個才艮文的到達(dá)時刻進(jìn)4亍更新的流禾呈進(jìn)4亍 說明。
圖4為本實施例的流程圖,如圖4所示,當(dāng)前才艮文到達(dá)時,對 內(nèi)部RAM中i己錄的標(biāo)志4立以及外部RAM中i己錄前一個才艮文的到 達(dá)時刻進(jìn)4于更達(dá)斤主要包4舌以下步駛朵
步驟S401,當(dāng)前才艮文到達(dá)時,將該才艮文所屬流的序列號作為地 址,將當(dāng)前系統(tǒng)計時器的值寫入外掛RAM中。
步驟S403,將該才艮文所屬流的序列號作為地址,將內(nèi)部雙口 RAM的該標(biāo)志4立置1。其中,上述步驟S401和步艱艮S403中時間上 沒有先后順序。至此,報文到達(dá)時刻更新結(jié)束。
實施例二
本實施例對內(nèi)部RAM中記錄的各個流的前一個才艮文到達(dá)時間 的標(biāo)志位進(jìn)行掃描的流程進(jìn)^f于描述。圖5為本實施例的流程圖,如圖5所示,在本實施例中,對內(nèi) 部RAM中記錄的各個流的前一個才艮文到達(dá)時間的標(biāo)志位進(jìn)行掃描 更新主要包4舌以下步艱《
步艱《S501:在標(biāo)志位掃描更新流程開始后,判斷系統(tǒng)計時器是 否為0,如果是,則執(zhí)4于步驟S502,否則繼續(xù)進(jìn)4亍判斷;
步驟S502:當(dāng)系統(tǒng)計時器計凄t值為0時,啟動新一4侖的標(biāo)志位 掃描更新,將當(dāng)前掃描流索引號清0;
步驟S503,以當(dāng)前掃描流索引號作為地址,讀出當(dāng)前掃描流的 標(biāo)志位;
步驟S504:將讀:f又的標(biāo)志位加l;
步驟S505:將計算后的標(biāo)志位重新寫入原地址;
步艱《S506:將當(dāng)前掃描流索引號加l;
步驟S507:判斷當(dāng)前掃描流序列號是否為0,如果為0,則本輪 標(biāo)志位掃描結(jié)束,否則,返回執(zhí)行步驟S503,繼續(xù)更新下一個流, 直到所有流都經(jīng)過一次掃描。
實施例三
在本實施例中,對當(dāng)前才艮文到達(dá)后,計算本次4艮文才艮文到達(dá)時 間間隔進(jìn)行計算的流程進(jìn)行描述。
圖6為本實施例的流考呈圖,i口圖6所示,在本實施例中,當(dāng)當(dāng) 前報文到達(dá)后,計算本次報文到達(dá)時間間隔主要包括以下步驟步-驟S601,記錄當(dāng)前才艮文到達(dá)時刻72;讀取外部RAM,將才艮文 所屬流的前一個凈艮文到達(dá)時刻7;讀出;讀取內(nèi)部雙口 RAM, 4夸才艮文 戶斤屬;克的當(dāng)前才示志4立讀出;
步驟S602,對讀取的標(biāo)志位進(jìn)行判斷,如果標(biāo)志位為2'b01 (即 2比特的"01"),則本次才艮文到達(dá)間隔為(r2-7;);如果標(biāo)志位為 2'bl0,且7^》7;,則令牌桶已經(jīng)溢出,直接將令牌桶填滿;如果標(biāo) 志位為2'M0,且『2<7;,則本次才艮文到達(dá)間隔為(7"+7;-r,);如果 標(biāo)志位為2,bl1,則令牌桶已經(jīng)溢出,直接將令牌桶填滿。
如上所述,借助本發(fā)明實施例提供的技術(shù)方案,通過將大量耗 費芯片內(nèi)部存儲單元的報文到達(dá)時刻字段記錄到外掛RAM中,提 高了硬件芯片實現(xiàn)的可操作性。同時,在本發(fā)明實施例中,時間差 的計算只需要在計算時間間隔時一次性進(jìn)行,燥作頻率相對較高的 時間掃描更新^^喿作也只需進(jìn)^f亍簡單的移位和異或才喿作,簡化了實現(xiàn) 的復(fù)雜度。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明, 對于本領(lǐng)域的才支術(shù)人員來i兌,本發(fā)明可以有各種更改和變化。凡在 本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種報文到達(dá)時間間隔的計算方法,用于計算各個流的報文到達(dá)網(wǎng)絡(luò)節(jié)點的時間間隔,以確定各個流的令牌桶中的令牌數(shù)量,其特征在于,所述方法包括當(dāng)前報文到達(dá)時,從計時器讀取系統(tǒng)當(dāng)前時刻T2,并讀取外部隨機(jī)存取存儲器RAM中記錄的所述當(dāng)前報文所屬流的前一個報文的到達(dá)時刻T1,其中,所述計時器以預(yù)設(shè)時間段Tmax為周期進(jìn)行循環(huán)計時,所述預(yù)設(shè)時間段Tmax大于或等于以最小的令牌注入速率填滿所述流的令牌桶最大深度的時間;讀取內(nèi)部RAM中記錄的所述當(dāng)前報文所屬流的當(dāng)前標(biāo)志位,其中,所述當(dāng)前標(biāo)志位用于指示所述系統(tǒng)當(dāng)前時刻T2與所述前一個報文的到達(dá)時刻T1之間所述計時器的循環(huán)次數(shù);根據(jù)所述系統(tǒng)當(dāng)前時刻T2、所述前一個報文到達(dá)時刻T1及所述當(dāng)前標(biāo)志位,計算本次報文到達(dá)的時間間隔。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,讀取所述外部RAM 中記錄的所述前一個才艮文到達(dá)時刻包^r:獲取所述當(dāng)前凈艮文所屬流的流標(biāo)識,以所述流標(biāo)識為;也址 讀取所述外部RAM中i己錄的與所述流標(biāo)i只只于應(yīng)的到達(dá)時刻
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在讀取所述前 一個4艮文到達(dá)時刻Ti之后,所述方法還包4舌以所述當(dāng)前報文所屬流的流標(biāo)識為地址,將所述系統(tǒng)當(dāng)前 時刻T2寫入所述外部RAM中。
4. 才艮據(jù)4又利要求1所述的方法,其特征在于,讀取所述內(nèi)部RAM 中記錄的所述當(dāng)前才艮文所屬流的當(dāng)前標(biāo)志位包括獲耳又所述當(dāng)前才艮文所屬流的流標(biāo)識,以所述流標(biāo)識為地 址,讀取所述內(nèi)部RAM中i己錄的與所述流才示i只》t應(yīng)的當(dāng)前標(biāo) 志位。
5. 根據(jù)權(quán)利要求1或4所述的方法,其特征在于,在讀取所述當(dāng) 前才艮文所屬流的所述當(dāng)前標(biāo)志位之后,所述方法還包4舌獲取所述當(dāng)前4艮文所屬流的流標(biāo)識,以所述流標(biāo)識為地 址,將所述內(nèi)部RAM中記錄的與所述流標(biāo)識7于應(yīng)的標(biāo)志位置
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括以所述預(yù)設(shè)時間段Tm狀為周期,對所述內(nèi)部RAM中記錄 的各個流的標(biāo)志位進(jìn)4亍掃描,每掃描到一個標(biāo)志位,該標(biāo)志位 的值加1。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,每個標(biāo)志位的位寬 為2,標(biāo)志位的最大值為3,當(dāng)掃描到的當(dāng)前標(biāo)志位的值為最 大值時,當(dāng)前標(biāo)志位的值保持最大值不變。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,計算本次報文到達(dá) 的時間間隔包4舌如果所述當(dāng)前標(biāo)志位的值為1,則本次才艮文到達(dá)的時間間 隔為T2-T^如果所述當(dāng)前標(biāo)志位的值為2,且T2》Tn則所述流的令 牌桶已經(jīng)溢出,直接將所述令牌桶填滿;如果所述當(dāng)前標(biāo)志位的值為2,且T2〈T!,則本次才艮文到 達(dá)的時間間隔為Tmax + T2-T1;如果所述當(dāng)前標(biāo)志位的值為3,則所述流的令牌桶已經(jīng)溢 出,直接將所述令牌桶填滿。
9. 根據(jù)權(quán)利要求2或4所述的方法,其特征在于,所述流標(biāo)識包 括流的序列號。
10. —種報文到達(dá)時間間隔的計算裝置,用于計算各個流的報文到 達(dá)網(wǎng)全各節(jié)點的時間間隔,以確定各個流的令"皁桶中的令"皁凄史 量,其特征在于,包括夕卜部RAM,用于以所述各個流的流標(biāo)"i只為J4址,i己錄所 述各個流中的最近一個凈艮文的到達(dá)時刻T!;計時器,用于以預(yù)設(shè)時間段Tmax為周期進(jìn)行循環(huán)計時, 其中,所述預(yù)設(shè)時間段Tmax大于或等于以最小的令牌注入速率 填滿各個流的令牌桶最大深度的時間;內(nèi)部RAM,用于以所述各個力t的才示i口、為i也址,i己錄所述 各個流的當(dāng)前標(biāo)志位,其中,所述當(dāng)前標(biāo)志位用于指示從系統(tǒng) 當(dāng)前時刻到各個流的前一個才艮文的到達(dá)時刻之間所述計時器 循環(huán)的次凄t;讀取才莫塊,用于在當(dāng)前才艮文到達(dá)時,從所述計時器讀取系 統(tǒng)當(dāng)前時刻T2、所述外部RAM中^己錄的與所述當(dāng)前才艮文所屬 流對應(yīng)的前一個才艮文到達(dá)時刻T!以及所述內(nèi)部RAM中記錄 的與所述當(dāng)前才艮文所屬流對應(yīng)的當(dāng)前標(biāo)志位;計算模塊,用于根據(jù)所述讀取模塊讀取的所述系統(tǒng)當(dāng)前時 刻T2、前一個凈艮文到達(dá)時刻T^及所述當(dāng)前標(biāo)志位,計算本次 才艮文到達(dá)的時間間隔。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述內(nèi)部RAM 包括第一端口,用于在當(dāng)前才艮文到達(dá)時,向所述讀取才莫塊返回 所述當(dāng)前才艮文所屬流的標(biāo)志位,并將所述流的才示志4立置1;第二端口,用于以所述預(yù)設(shè)時間段Tmax為周期,對所述 內(nèi)部RAM中記錄的各個流的標(biāo)志位進(jìn)4亍掃描,每掃描到一個 才示志"立,i亥才示志"立的^直力口 1。
全文摘要
本發(fā)明公開了一種報文到達(dá)時間間隔的計算方法及裝置。在上述方法中,當(dāng)前報文到達(dá)時,從計時器讀取系統(tǒng)當(dāng)前時刻T<sub>2</sub>,并讀取外部RAM中記錄的當(dāng)前報文所屬流的前一個報文的到達(dá)時刻T<sub>1</sub>,其中,計時器以預(yù)設(shè)時間段T<sub>max</sub>為周期進(jìn)行循環(huán)計時,預(yù)設(shè)時間段T<sub>max</sub>大于或等于以最小的令牌注入速率填滿流的令牌桶最大深度的時間;讀取內(nèi)部RAM中記錄的當(dāng)前報文所屬流的當(dāng)前標(biāo)志位,其中,當(dāng)前標(biāo)志位用于指示系統(tǒng)當(dāng)前時刻T<sub>2</sub>與前一個報文的到達(dá)時刻T<sub>1</sub>之間計時器的循環(huán)次數(shù);根據(jù)系統(tǒng)當(dāng)前時刻T<sub>2</sub>、前一個報文到達(dá)時刻T<sub>1</sub>及當(dāng)前標(biāo)志位,計算本次報文到達(dá)的時間間隔。根據(jù)本發(fā)明,可以減少內(nèi)部RAM的消耗量,提高硬件芯片實現(xiàn)的可操作性。
文檔編號H04W28/00GK101616441SQ20091016403
公開日2009年12月30日 申請日期2009年8月4日 優(yōu)先權(quán)日2009年8月4日
發(fā)明者晨 余, 邊 吳, 吳風(fēng)波, 潔 肖 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
崇义县| 广东省| 榆社县| 徐州市| 高青县| 赞皇县| 凌源市| 卓尼县| 徐汇区| 黄骅市| 乌海市| 探索| 三原县| 成都市| 漳平市| 沁水县| 娄底市| 女性| 鄂伦春自治旗| 咸阳市| 宁陵县| 鄂州市| 土默特右旗| 台江县| 嘉善县| 太仆寺旗| 北安市| 壶关县| 马鞍山市| 鲁山县| 济源市| 新平| 新泰市| 河津市| 尚志市| 随州市| 阿拉善右旗| 精河县| 晴隆县| 上虞市| 新野县|