一種基于時(shí)間戳的流量警管方法及電路的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)硬件技術(shù),涉及一種基于時(shí)間戳的流量警管方法及電路。
【背景技術(shù)】
[0002]在通信網(wǎng)絡(luò)設(shè)計(jì)中,經(jīng)常需要對(duì)網(wǎng)絡(luò)通信的數(shù)據(jù)流量進(jìn)行警管,流量警管涉及數(shù)據(jù)的計(jì)算和時(shí)間的度量,當(dāng)交換機(jī)多個(gè)交換端口同時(shí)要求進(jìn)行流量警管時(shí),傳統(tǒng)每個(gè)通信端口、每個(gè)幀類型基于一個(gè)計(jì)時(shí)器的時(shí)間測(cè)量方法就顯得不切實(shí)際,尤其是涉及8000多種幀類型、30多個(gè)交換端口同時(shí)監(jiān)控時(shí),傳統(tǒng)設(shè)計(jì)方法不能滿足設(shè)計(jì)要求。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提供了一種基于時(shí)間戳的交換機(jī)流量警管方法及電路,采用單一計(jì)時(shí)器和便于擴(kuò)展的信用記錄存儲(chǔ)器和信用賬戶比較器,實(shí)現(xiàn)多個(gè)端口、多種流量警管類要求的測(cè)量和處理。
[0004]本發(fā)明的技術(shù)解決方案是:
[0005]一種基于時(shí)間戳的流量警管電路,其特殊之處在于,所述警管電路集成了多個(gè)時(shí)間計(jì)數(shù)器、多個(gè)輸入控制模塊、多個(gè)信用查詢比較模塊,信用賬戶檢索模塊、信用管理狀態(tài)機(jī)、信用記錄存儲(chǔ)器和配置管理模塊,多個(gè)輸入控制模塊與多個(gè)信用查詢比較模塊一一對(duì)應(yīng),其中:
[0006]多個(gè)時(shí)間計(jì)數(shù)器:為整個(gè)電路提供時(shí)間基準(zhǔn),分布在每個(gè)輸入控制模塊和信用管理狀態(tài)機(jī)中;定時(shí)方法為:每個(gè)計(jì)時(shí)周期加1,單調(diào)遞增,增加到全F上溢后從O重新遞增,多個(gè)時(shí)間計(jì)數(shù)器同時(shí)復(fù)位、采用相同計(jì)時(shí)時(shí)鐘同時(shí)開(kāi)始計(jì)數(shù);時(shí)間計(jì)數(shù)器的上溢時(shí)間大于流量警管任務(wù)執(zhí)行時(shí)間;
[0007]輸入控制模塊:用于提取并鎖存交換機(jī)輸入端口輸入幀數(shù)據(jù)的輸入時(shí)間戳和幀ID并發(fā)送給對(duì)應(yīng)的信用查詢比較模塊;根據(jù)信用查詢比較模塊反饋的輸入幀數(shù)據(jù)流量警管通過(guò)狀態(tài)確定是否拋棄該輸入幀數(shù)據(jù);所述輸入時(shí)間戳為交換機(jī)輸入端口輸入第一個(gè)字節(jié)時(shí),該輸入控制模塊中的時(shí)間計(jì)數(shù)器當(dāng)前計(jì)數(shù)值;所述幀ID為輸入幀數(shù)據(jù)中能夠唯一標(biāo)識(shí)流量警管對(duì)象的字符;
[0008]信用查詢比較模塊:根據(jù)接收來(lái)自輸入控制模塊的幀ID和輸入時(shí)間戳,向信用管理狀態(tài)機(jī)發(fā)送幀ID查詢請(qǐng)求,并獲取與該幀ID對(duì)應(yīng)的信用賬戶的信用量信息;并將信用量信息與輸入時(shí)間戳進(jìn)行計(jì)算和比較,確定輸入幀數(shù)據(jù)的流量警管通過(guò)狀態(tài),并根據(jù)信用量信息計(jì)算幀ID對(duì)應(yīng)的信用賬戶的剩余信用量,將流量警管通過(guò)狀態(tài)反饋給輸入控制模塊和信用管理狀態(tài)機(jī),同時(shí)將剩余信用量反饋給信用管理狀態(tài)機(jī);
[0009]信用記錄存儲(chǔ)器由若干個(gè)信用賬戶存儲(chǔ)單元組成,采用雙端口設(shè)計(jì),兩個(gè)端口分別連接配置管理模塊和信用管理狀態(tài)機(jī);每個(gè)信用賬戶存儲(chǔ)單元存儲(chǔ)自身的信用量信息,所述信用量信息包括上一次更新信用賬戶的輸入時(shí)間戳、抖動(dòng)參數(shù)、包間隔參數(shù)、剩余信用量、共享信用占用標(biāo)志,其中抖動(dòng)參數(shù)和包間隔參數(shù)通過(guò)配置管理模塊配置;上一次更新信用賬戶的輸入時(shí)間戳初始值、共享信用占用標(biāo)志初始值和剩余信用量初始值通過(guò)配置管理模塊配置;所述上一次更新信用賬戶的輸入時(shí)間戳為上一次通過(guò)流量警管的數(shù)據(jù)幀的輸入時(shí)間戳,其初始值為零;所述包間隔參數(shù)為流量警管所允許通過(guò)的兩個(gè)數(shù)據(jù)幀之間的最小時(shí)間間隔;所述抖動(dòng)參數(shù)為包間隔參數(shù)的最大容差范圍;所述剩余信用量為信用賬戶的流量警管信用時(shí)間,其初始值為包間隔參數(shù)與抖動(dòng)參數(shù)之和;所述共享信用占用標(biāo)志用于控制信用賬戶的互斥訪問(wèn);
[0010]配置管理模塊:用于配置和訪問(wèn)信用記錄存儲(chǔ)器和信用賬戶檢索模塊;
[0011]信用賬戶檢索模塊:由一個(gè)內(nèi)容尋址存儲(chǔ)器構(gòu)成,用于存儲(chǔ)幀ID和幀ID對(duì)應(yīng)的信用賬戶存儲(chǔ)單元地址,根據(jù)來(lái)自信用管理狀態(tài)機(jī)的幀ID檢索對(duì)應(yīng)的信用賬戶存儲(chǔ)單元地址,并反饋給信用管理狀態(tài)機(jī);接受配置管理模塊的配置;1個(gè)信用賬戶存儲(chǔ)單元地址能夠?qū)?yīng)多個(gè)幀ID ;
[0012]信用管理狀態(tài)機(jī):通過(guò)分時(shí)服務(wù)響應(yīng)所有信用查詢比較模塊的請(qǐng)求,接收來(lái)自信用查詢比較模塊的幀ID和流量警管通過(guò)狀態(tài),向信用賬戶檢索模塊發(fā)送幀ID,接收來(lái)自信用賬戶檢索模塊的信用賬戶存儲(chǔ)單元地址,根據(jù)信用賬戶存儲(chǔ)單元地址訪問(wèn)信用記錄存儲(chǔ)器中對(duì)應(yīng)的信用賬戶存儲(chǔ)單元,并將訪問(wèn)結(jié)果反饋給對(duì)應(yīng)的信用查詢比較模塊;根據(jù)流量警管通過(guò)狀態(tài)更新對(duì)應(yīng)的信用賬戶存儲(chǔ)單元中的輸入時(shí)間戳和剩余信用量。
[0013]一種基于時(shí)間戳的流量警管方法,其特殊之處在于,包括以下步驟:
[0014]I】配置:
[0015]配置管理模塊配置信用記錄存儲(chǔ)器和信用賬戶檢索模塊;
[0016]2】輸入控制模塊提取并鎖存交換機(jī)輸入端口輸入幀數(shù)據(jù)的輸入時(shí)間戳和幀ID,并發(fā)送給對(duì)應(yīng)的信用查詢比較模塊;所述輸入時(shí)間戳為交換機(jī)輸入端口輸入第一個(gè)字節(jié)時(shí),該輸入控制模塊中的時(shí)間計(jì)數(shù)器當(dāng)前計(jì)數(shù)值;所述幀ID為輸入幀數(shù)據(jù)中能夠唯一標(biāo)識(shí)流量警管對(duì)象的字符;
[0017]3】信用查詢比較模塊根據(jù)接收來(lái)自輸入控制模塊的幀ID和輸入時(shí)間戳,向信用管理狀態(tài)機(jī)發(fā)送幀ID查詢請(qǐng)求;
[0018]4】信用管理狀態(tài)機(jī)通過(guò)分時(shí)服務(wù)響應(yīng)所有信用查詢比較模塊的請(qǐng)求,接收來(lái)自信用查詢比較模塊的幀ID,向信用賬戶檢索模塊發(fā)送幀ID ;
[0019]5】信用賬戶檢索模塊根據(jù)幀ID檢索對(duì)應(yīng)的信用賬戶存儲(chǔ)單元地址,并反饋給信用管理狀態(tài)機(jī):
[0020]如果多個(gè)幀ID對(duì)應(yīng)I個(gè)信用賬戶存儲(chǔ)單元地址,執(zhí)行步驟6】
[0021]如果一個(gè)幀ID對(duì)應(yīng)I個(gè)信用賬戶存儲(chǔ)單元地址,則執(zhí)行步驟7】
[0022]6】信用管理狀態(tài)機(jī)根據(jù)信用賬戶存儲(chǔ)單元地址訪問(wèn)信用記錄存儲(chǔ)器,獲取對(duì)應(yīng)的信用賬戶存儲(chǔ)單元的信用量信息,根據(jù)信用量信息中的共享信用占用標(biāo)志進(jìn)行判斷:
[0023]如果共享信用占用標(biāo)志為1,表示該信用賬戶存儲(chǔ)單元被占用,則暫停對(duì)對(duì)應(yīng)的信用查詢比較模塊服務(wù);回到步驟4】;
[0024]如果共享信用占用標(biāo)志為0,更新該信用賬戶存儲(chǔ)單元的共享信用占用標(biāo)志為1,同時(shí)執(zhí)行步驟7】
[0025]7】信用管理狀態(tài)機(jī)信用量信息發(fā)送給信用查詢比較模塊;
[0026]8】信用查詢比較模塊根據(jù)信用量信息進(jìn)行計(jì)算和比較:
[0027]將信用量信息中的上一次更新信用賬戶的輸入時(shí)間戳記為T0,抖動(dòng)參數(shù)記為Jitter、包間隔參數(shù)記為BAG、剩余信用量記為ACi,輸入控制模塊提取的本次輸入時(shí)間戳記為Tl ;
[0028]如果(Tl-TO+ACi)大于等于(BAG+Jitter),那么該幀數(shù)據(jù)流量警管通過(guò),更新信用量信息,執(zhí)行步驟9】;
[0029]更新信用量信息具體為:
[0030]剩余信用量ACi等于抖動(dòng)參數(shù)Jitter,上一次更新信用賬戶的輸入時(shí)間戳TO等于本次輸入時(shí)間戳Tl,共享信用占用標(biāo)志為O ;
[0031]如果(Tl-TO+ACi)大于等于BAG,且小于(BAG+Jitter),那么該幀數(shù)據(jù)流量警管通過(guò),更新信用量信息,執(zhí)行步驟9】;
[0032]更新信用量信息具體為:
[0033]剩余信用量ACi等于Tl-TO+AC1-BAG,上一次更新信用賬戶的輸入時(shí)間戳TO等于本次輸入時(shí)間戳Tl,共享信用占用標(biāo)志為O ;
[0034]如果(Tl-TO+ACi)小于BAG,那么該幀數(shù)據(jù)流量警管失敗,置共享信用占用標(biāo)志為
O,執(zhí)行步驟9】;
[0035]9】信用查詢比較模塊將流量警管狀態(tài)反饋給輸入控制模塊;
[0036]10】輸入控制模塊根據(jù)接收到的流量警管狀態(tài)處理幀數(shù)據(jù):
[0037]如果流量警管通過(guò),則轉(zhuǎn)發(fā)該幀數(shù)據(jù);
[0038]如果流量警管失敗,則拋棄該幀數(shù)據(jù)。
[0039]本發(fā)明的優(yōu)點(diǎn)是:
[0040]1、本發(fā)明利用多個(gè)時(shí)間計(jì)數(shù)器,實(shí)現(xiàn)時(shí)間戳的統(tǒng)一,設(shè)計(jì)簡(jiǎn)單,便于全局控制;采用便于擴(kuò)展的信用記錄存儲(chǔ)器,每個(gè)信用賬戶分配一個(gè)信用賬戶存儲(chǔ)單元,通過(guò)分時(shí)服務(wù),支持多個(gè)端口、多個(gè)流量警管信用賬戶同時(shí)進(jìn)行流量警管。支持流量警管信用賬戶的共享。該電路可配置性、可擴(kuò)展性好,當(dāng)設(shè)計(jì)指標(biāo)和需求發(fā)生改變時(shí),只需調(diào)整部分設(shè)計(jì)即可實(shí)現(xiàn),適合在高性能網(wǎng)絡(luò)交換機(jī)設(shè)計(jì)中使用。
[0041]2、本發(fā)明輸入控制模塊采集實(shí)際輸入時(shí)間并進(jìn)行鎖存,并與上一次更新信用賬戶的輸入時(shí)間戳進(jìn)行計(jì)算和比較,確定流量警管是否通過(guò),流量警管的計(jì)時(shí)精度高。
【附圖說(shuō)明】
[0042]圖1是一種基于時(shí)間戳的警管電路功能框圖
[0043]圖2是一種基于時(shí)間戳流量警管示意圖
【具體實(shí)施方式】
[0044]下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)描述,請(qǐng)參閱圖1至圖2,
[0045]一種基于時(shí)間戳的流量警管電路,警管電路集成了多個(gè)時(shí)間計(jì)數(shù)器、多個(gè)輸入控制模塊、多個(gè)信用查詢比較模塊,信用賬戶檢索模塊、信用管理狀態(tài)機(jī)、信用記錄存儲(chǔ)器和配置管理模塊,多個(gè)輸入控制模塊與多個(gè)信用查詢比較模塊一一對(duì)應(yīng),其中:
[0046]多個(gè)