專利名稱:一種報文的傳輸方法和系統的制作方法
技術領域:
本發明涉及通信領域,尤其涉及一種報文的傳輸方法和系統。
背景技術:
隨著數據網絡技術的發展,網絡業務呈現出多樣性,同時又由于網絡業務的突發性,使得報文在網絡傳輸過程中可能產生網絡擁塞,為了避免出現網絡擁塞,最有效的方式是對傳輸的報文進行限速,如為報文傳輸設定限速值,丟棄超過設定限速值的報文,或者降低報文的優先級,在網絡出現擁塞時延遲報文的傳輸。上述對報文進行限速的方式雖然能夠在一定程度上避免網絡擁塞,但是,考慮到目前用戶對網絡的服務質量OioS)的高要求,上述常規避免網絡擁塞的報文限速方法已不能滿足用戶對網絡業務的需求,因此,現有常用的報文限速方式是利用令牌桶對報文進行限速。令牌桶限速方式如圖1所示,系統按照一定的速率不斷地向令牌桶中填充令牌, 直到令牌桶中填充的令牌數量達到令牌桶的容量。當報文到來時,將報文的長度跟令牌桶中的令牌數量進行比較,如果令牌桶中的令牌數量不小于報文長度,則允許報文通過,同時從令牌桶中減去報文長度所對應的令牌數量;如果令牌桶中的令牌數量小于報文長度,則丟失報文,或者降低報文的發送優先級。在圖1所示的令牌桶限速方式下,令牌的填充速率將會限制傳輸報文的速率,在網絡即將或已經出現擁塞時,對于同一令牌桶限速的報文而言,被丟棄的概率是均等的,這將會導致同一用戶的高優先級業務(如語音通信業務)和低優先級業務(如上網業務)的報文都被限速,無法對高優先級業務提高由于低優先級業務的服務質量,為此,在令牌桶限速方式的基礎上,進一步提出基于業務的限速方法,其主要內容包括為同一用戶的不同業務分別分配一定的帶寬,使得不同業務之間互不干擾,從而提高業務的服務質量。但是,上述基于業務的在令牌桶限速方式中,由于固定了每個業務的帶寬,因此, 在某些業務的業務量較小時,其空閑的帶寬即造成了網絡資源的浪費。例如,用戶的上網業務、電話業務都被分配了一定的帶寬,但當該用戶只使用上網業務或只使用電話業務時,即使當前使用的業務的帶寬不夠時,即無法實現對于網絡業務的高服務質量。綜上所述,在目前的令牌桶限速方式下,存在網絡帶寬資源浪費,無法實現對于網絡業務的高服務質量的問題。
發明內容
本發明實施例提供一種報文的傳輸方法和系統,用以解決現有技術中存在的令牌桶限速方式下,網絡帶寬資源浪費,無法實現對于網絡業務的高服務質量的問題。一種報文的傳輸方法,所述方法包括接收用戶發送的報文,并確定為每一報文所屬業務類型分配的帶寬中的空閑帶寬;
在一報文所屬業務類型的空閑帶寬量小于門限值時,從其他業務類型的空閑帶寬中選擇設定量的帶寬來輸出所述報文。一種報文的傳輸系統,所述系統包括報文接收模塊,用于接收用戶發送的報文;控制模塊,用于確定為每一報文所屬業務類型分配的帶寬中的空閑帶寬,在一報文所屬業務類型的空閑帶寬量小于門限值時,從其他業務類型的空閑帶寬中選擇設定量的帶寬來輸出所述報文。本發明有益效果如下本發明實施例為用戶的各業務分配獨立的帶寬資源,在基于報文所屬業務類型多級限速后,在接收到的報文所屬業務的帶寬不足以傳輸該報文時,借用其他業務的帶寬資源來傳輸該報文,以提高網絡帶寬資源的利用率,為用戶提供較好的服務質量。
圖1為背景技術中令牌桶限速示意圖;圖2為本發明報文的傳輸方法示意圖;圖3為本發明實施例一中報文的傳輸方法示意圖;圖4為本發明實施例二中報文的傳輸系統結構示意圖;圖5為本發明實施例二中報文的傳輸系統中的控制模塊結構示意圖。
具體實施例方式為了實現本發明目的,本發明實施例提出基于報文所屬業務類型多級限速后傳輸報文的方案,如圖2所示,首先接收用戶發送的報文,然后確定為每一報文所屬業務類型分配的帶寬中的空閑帶寬;接著判斷針對一個報文所屬是否足夠用來傳輸報文;最后,在上述報文所屬業務類型的空閑帶寬量小于門限值時(即不足以傳輸報文時),從其他業務類型的空閑帶寬中選擇設定量的帶寬來輸出所述報文,使得不同的業務獨享各自帶寬的情況下,當某一業務的報文的帶寬不夠用時,可以借用其他業務的帶寬資源,提高了網絡資源的利用率,實現了對于網絡業務的高服務質量。下面結合說明書附圖對本發明實施例進行詳細描述。實施例一本發明實施例一通過令牌桶方式來說明本發明的具體實現過程。本發明各實施例中涉及的令牌桶可以是多級令牌桶中的任意兩級相鄰的令牌桶,其中,高一級的令牌桶的填充速率大于低一級的令牌桶的填充速率。每一級令牌桶的填充速率可以根據報文傳輸的入口帶寬設定。例如當入口帶寬為4兆,且用戶需要執行三種不同類型的業務時,可以為這三個業務分別分配的帶寬都為3兆,在此情況下,當其中兩個業務只占用1兆帶寬時,第三個業務最多可以占用3兆的帶寬資源;如果每個業務占用的帶寬資源都超過1兆時,各業務的報文可以根據優先級的高低來占用帶寬資源。如圖3所示,為本發明實施例一中報文的傳輸方法示意圖,所述方法包括以下步驟步驟101 接收用戶發送的報文。
在本步驟中,根據接收到的報文所屬的業務類型確定對應的第一級令牌桶,以及與該第一級令牌桶相鄰的高一級的第二級令牌桶。第一級令牌桶對一個用戶發送的屬于一個業務類型的報文進行限速,第二級令牌桶對同一用戶發送的屬于多個業務類型的報文進行限速。例如用戶的業務類型有4種,則每種業務類型對應一個第一級令牌桶,這4種業務類型對應的4個第一級令牌桶可以有一個共同的第二級令牌桶,也可以是其中2個第一級令牌桶有一個共同的第二級令牌桶,另外2個第一級令牌桶對應另一個第二級令牌桶。在本步驟中,還可以根據接收到的報文所屬業務確定報文的優先級。例如可以為實時性要求較高的語音通話業務的報文設定較高的優先級,為上網和網絡電視等業務的報文設定較低的優先級。步驟102 確定報文所屬業務的類型對應的第一級令牌桶中的可用令牌數。本步驟的具體執行過程如下第一步確定所述報文所屬業務的類型對應的第一級令牌桶的第一級填充速率 (即第一級限速值CIR)和第一級令牌桶能夠填充的最大令牌數。(即第一級令牌桶深度 CBS)。第二步確定當前接收所述報文與上一次接收相同業務類型的報文的時間差值, 將所述時間差值和第一級填充速率相乘,并將得到的乘積值與第一級令牌桶中剩余的令牌數相加。本步驟相加之后得到的和值是前后報文達到時間內填充的令牌數以及對上一次的報文處理之后第一級令牌桶中剩余的令牌數之和。第三步將第二步中得到的和值與第一級令牌桶能夠填充的最大令牌數進行比較。由于第一級令牌桶中的可用令牌數不能夠超出第一級令牌桶能夠填充的最大令牌數(第二步中計算的和值如果超出第一級令牌桶能夠填充的最大令牌數,則超出部分將會溢出),因此,需要將第二步中計算得到的和值與第一級令牌桶能夠填充的最大令牌數進行比較。第四步如果第二步得到的和值不大于第一級令牌桶能夠填充的最大令牌數,則將第二步得到的和值作為第一級令牌桶中的可用令牌數;否則,直接將第一級令牌桶能夠填充的最大令牌數作為第一級令牌桶中的可用令牌數。步驟103 判斷報文的長度是否不大于所述第一級令牌桶中的可用令牌數,若是, 則執行步驟104 ;否則,丟棄所述報文。在本實施例一的方案中,第一令牌桶的第一級填充速率和能夠填充的最大令牌數是根據報文所屬的業務類型確定的,也就是說,本步驟是對報文進行單令牌桶的限速,使報文能夠在所屬業務獨享的帶寬內進行傳輸。特殊地,為了使某些業務的帶寬處于空閑狀態時,其他業務的報文可以使用空閑狀態的帶寬,可以將第一級填充速率設置得小于第二級填充速率,但第一級填充速率接近第二級填充速率。步驟104 判斷報文的優先級是否達到設定的優先級,若是,則執行步驟105 ;否則,執行步驟110。在本實施例一的方案中,根據報文所屬業務的類型為報文分配優先級,將達到設定的優先級的報文作為高優先級的報文,未達到設定的優先級的報文作為低優先級的報文。本步驟不是實現本發明實施例的必要步驟,本實施例方案也不限于針對任意優先級的報文,在該報文所屬業務的帶寬不夠用時,借用為該用戶的其他業務分配的空閑帶寬傳輸報文的技術方案。通過步驟104的方案,可以區別體現高優先級報文和低優先級報文的不同傳輸,進一步提高服務質量。步驟105 確定報文對應的第二級令牌桶中的可用令牌數。本步驟的具體執行過程如下第一步確定第二級令牌桶的第二級填充速率(即第二級限速值CIR)和第二級令牌桶能夠填充的最大令牌數(即第二級令牌桶深度CBQ,其中,所述第二級填充速率大于第一級填充速率。第二步確定當前接收所述報文與上一次接收相同業務類型的報文的時間差值, 將所述時間差值和第二級填充速率相乘,并將得到的乘積值與第二級令牌桶中剩余的令牌數相加。第三步將第二步得到的和值與第二級令牌桶能夠填充的最大令牌數進行比較。第四步如果第二步得到的和值不大于第二級令牌桶能夠填充的最大令牌數,則將第二步得到的和值作為第二級令牌桶中的可用令牌數;否則,將第二級令牌桶能夠填充的最大令牌數作為第二級令牌桶中的可用令牌數。步驟106 將報文的長度與第二級令牌桶中的可用令牌數進行比較,若比較結果為報文的長度大于第二級令牌桶中的可用令牌數,執行步驟107 ;否則,執行步驟108。在本步驟中,由于報文的長度既不大于第一級令牌桶中的可用令牌數(即報文所屬業務的傳輸通道未擁塞),又不大于第二級令牌桶中的可用令牌數(即傳輸多業務報文的傳輸通道未擁塞),因此,該報文可以正常傳輸。如果在第二級令牌桶后還有更高一級的第三級令牌桶,則可以跳轉至步驟105,確定第三級令牌桶的可用令牌數后對報文長度進行檢測,直至報文通過多有級別的限速后正常傳輸或是被丟棄。步驟107 判斷所述報文的長度是否不大于第二級令牌桶中的可用令牌數與預先設定的令牌數之和,若是,則跳轉至步驟108 ;否則,執行步驟109。所述預先設定的令牌數可以等于第二級令牌桶中能夠填充的最大令牌數,或是等于N倍第二級令牌桶中能夠填充的最大令牌數(N大于0)。在本步驟中,報文所屬業務的傳輸通道可能已經發生擁塞,但為了保證高優先級的報文的業務質量,在第二級令牌桶中額外增加第二級令牌桶中能夠填充的最大令牌數, 相當于將其他業務的空閑帶寬資源借用給當前接收到的報文用于傳輸,以達到提高網絡資源利用率的目的。在從步驟107跳轉至步驟108之前,還可以進一步包括以下步驟首先,將當前接收所述報文與上一次接收相同業務類型的報文的時間差值與預先設定的均值填充速率相乘,并將得到的乘積值、第二級令牌桶中剩余的令牌數和第二級令牌桶中能夠填充的最大令牌數三者之和與報文的長度進行比較,其中所述均值填充速率小于第二級填充速率。均值填充速率可以是介于第一級填充速率和第二級填充速率的一個速率值,如果均值填充速率取值較大,則可以減少需要限速的報文數量;如果均值填充速率取值較小,則增加需要限速的報文數量。然后,當確定報文的長度不大于所述三者之和,則保持所述報文的優先級不改變, 并跳轉至步驟108 ;否則,降低所述報文的優先級后跳轉至步驟107。在從步驟107跳轉至步驟108之前執行上述步驟,是為了根據當前網絡的擁塞情況對報文進行限速。如果當前網絡擁塞狀態不嚴重,報文可以以高優先級的狀態占用其他業務的帶寬進行傳輸;如果當前網絡擁塞狀態嚴重,報文雖然仍占用其他業務的帶寬進行傳輸,但降低該報文的優先級后,該報文可能會延時傳輸以達到限速的目的,或者在后續需要還需要對該報文進行限速的情況下,利用優先級降低后的條件進行限速。步驟108 輸出所述報文,并跳轉至步驟101。在執行步驟108之后,需要將第一級令牌桶中可用令牌數減去傳輸的報文的長度,并利用得到的差值更新第一級令牌桶中剩余的令牌數,此時,更新后的第一級令牌桶中剩余的令牌數為0或正整數;以及,將第二級令牌桶中可用令牌數減去傳輸的報文的長度, 并利用得到的差值更新第二級令牌桶中剩余的令牌數,此時,更新后的第二級令牌桶中剩余的令牌數為負數、0或正整數。如果更新后的第二級令牌桶中剩余的令牌數為負數,則表示傳輸該報文時借用了其他業務的空閑帶寬,且得到的負數的絕對值不大于第二級令牌桶能夠填充的最大令牌數。步驟109 丟棄所述報文,并跳轉至步驟101。在執行步驟109之后,由于沒有消耗令牌數第一級令牌桶和第二級令牌桶中剩余的令牌數不變。步驟110 比較報文的長度和第二級令牌桶中的可用令牌數,若報文的長度不大于第二級令牌桶中的可用令牌數時,跳轉至步驟108,否則,跳轉至步驟109。本步驟中,確定第二級令牌桶中的可用令牌數的方式與步驟105的方式相同。對于優先級較低的報文而言,如果報文所屬網絡的帶寬不夠用時,不再為其借用其他業務的空閑帶寬,而是直接將該報文丟棄。在從步驟110跳轉至步驟108之前,還可以進一步包括以下步驟首先,將當前接收所述報文與上一次接收相同業務類型的報文的時間差值與預先設定的均值填充速率相乘,并將得到的乘積值與第二級令牌桶中剩余的令牌數之和與報文的長度進行比較。然后,在報文的長度不大于乘積值與第二級令牌桶中剩余的令牌數之和時,保持所述報文的優先級不改變;否則,降低所述報文的優先級。在從步驟110跳轉至步驟108之前執行上述步驟,是為了根據當前網絡的擁塞情況對報文進行限速。如果當前網絡不擁塞,報文可以直接進行傳輸;如果當前網絡可能要出現擁塞,則報文雖然仍可以傳輸,但需要進一步降低該報文的優先級以達到限速的目的。通過上述步驟101 步驟110的方案,針對同一用戶的不同業務分配獨立的帶寬, 并對不同業務和不同優先級的報文采用多級限速,在接收到的報文所屬業務的帶寬無法滿足該報文的傳輸時,借用其他業務的空閑帶寬來傳輸接收到的報文,在用戶的各業務報文傳輸不干擾的情況下,提高了網絡資源的利用率,為用戶提供了較好的服務質量。實施例二本發明實施例二還提供一種與實施例一屬于同一發明構思下的報文傳輸系統,如圖4所示,所述系統包括報文接收模塊11和控制模塊12,其中報文接收模塊11用于接收用戶發送的報文;控制模塊12用于確定為每一報文所屬業務類型分配的帶寬中的空閑帶寬,在一報文所屬業務類型的空閑帶寬量小于門限值時,從其他業務類型的空閑帶寬中選擇設定量的帶寬來輸出所述報文。如圖5所示,控制模塊12具體包括第一可用令牌確定模塊101、第一比較模塊 102、第二可用令牌確定模塊103、第二比較模塊104、第一執行模塊105、輸出模塊106和丟棄模塊107,其中第一可用令牌確定模塊101用于針對多級令牌桶的相鄰兩級令牌桶中, 確定該報文所屬業務的類型對應的第一級令牌桶中的可用令牌數;第一比較模塊102用于比較所述報文的長度和第一級令牌桶中的可用令牌數;第二可用令牌確定模塊103用于在比較結果為報文的長度不大于第一級令牌桶中的可用令牌數時,確定該報文對應的第二級令牌桶中的可用令牌數,其中,所述用戶發送的屬于多個類型業務的報文都通過第二級令牌桶限速;第二比較模塊104用于比較報文的長度和第二級令牌桶中的可用令牌數;第一執行模塊105用于在報文的長度不大于第二級令牌桶中的可用令牌數時,觸發輸出模塊 106,并在報文的長度大于第二級令牌桶中的可用令牌數時,判斷所述報文的長度是否不大于第二級令牌桶中的可用令牌數與預先設定的令牌數之和,若是,則觸發輸出模塊106,否則,觸發丟棄模塊107 ;輸出模塊106用于輸出所述報文;丟棄模塊107用于丟棄所述報文。第一可用令牌確定模塊101具體用于確定第一級令牌桶的第一級填充速率和第一級令牌桶能夠填充的最大令牌數,將當前接收報文與上一次接收相同業務類型的報文的時間差值和第一級填充速率相乘,并將得到的乘積值與第一級令牌桶中剩余的令牌數之和與第一級令牌桶能夠填充的最大令牌數進行比較,如果乘積值與第一級令牌桶中剩余的令牌數之和不大于所述第一級令牌桶能夠填充的最大令牌數,則將乘積值與第一級令牌桶中剩余的令牌數之和作為第一級令牌桶中的可用令牌數;否則,將第一級令牌桶能夠填充的最大令牌數作為第一級令牌桶中的可用令牌數。第二可用令牌確定模塊103具體用于確定第二級令牌桶的第二級填充速率和第二級令牌桶能夠填充的最大令牌數,將所述時間差值和第二級填充速率相乘,并將得到的乘積值與第二級令牌桶中剩余的令牌數之和與第二級令牌桶能夠填充的最大令牌數進行比較,如果乘積值與第二級令牌桶中剩余的令牌數之和不大于第二級令牌桶能夠填充的最大令牌數,則將乘積值與第二級令牌桶中剩余的令牌數之和作為第二級令牌桶中的可用令牌數;否則,將第二級令牌桶能夠填充的最大令牌數作為第二級令牌桶中的可用令牌數,其中,所述第二級填充速率大于第一級填充速率。所述系統還包括優先權確定模塊108,用于判斷所述報文的優先級是否達到設定優先級,在達到設定優先級時,觸發第二可用令牌確定模塊103。所述系統還包括第一優先權調整模塊109,用于在第一執行模塊105判斷報文的長度不大于第二級令牌桶中的可用令牌數與預先設定的令牌數之和時,將所述時間差值與預先設定的均值填充速率相乘,并將得到的乘積值、第二級令牌桶中剩余的令牌數和預先設定的令牌數三者之和與報文的長度進行比較,如果報文的長度不大于所述三者之和,則保持所述報文的優先級不改變;否則,降低所述報文的優先級,其中,所述均值填充速率小于第二級填充速率。優先權確定模塊108還用于在報文的優先級未達到設定優先級時,觸發第二執行模塊110 ;第二執行模塊110用于比較報文的長度和第二級令牌桶中的可用令牌數,若報文的長度不大于第二級令牌桶中的可用令牌數時觸發輸出模塊106,否則,觸發丟棄模塊 107。所述系統還包括第二優先權調整模塊111,用于在第二執行模塊110確定報文的長度不大于第二級令牌桶中的可用令牌數時,將當前接收所述報文與上一次接收相同業務類型的報文的時間差值與預先設定的均值填充速率相乘,并將得到的乘積值與第二級令牌桶中剩余的令牌數之和與報文的長度進行比較,如果報文的長度不大于乘積值與第二級令牌桶中剩余的令牌數之和,則保持所述報文的優先級不改變,否則,降低所述報文的優先級,其中所述時間差值與預先設定的均值填充速率相乘得到的乘積值小于第二級令牌桶中的可用令牌數。本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。本申請是參照根據本申請實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請范圍的所有變更和修改。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1.一種報文的傳輸方法,其特征在于,所述方法包括接收用戶發送的報文,并確定為每一報文所屬業務類型分配的帶寬中的空閑帶寬;在一報文所屬業務類型的空閑帶寬量小于門限值時,從其他業務類型的空閑帶寬中選擇設定量的帶寬來輸出所述報文。
2.如權利要求1所述的方法,其特征在于,確定為每一報文所屬業務類型分配的帶寬中的空閑帶寬,具體包括針對多級令牌桶的相鄰兩級令牌桶中,確定該報文所屬業務類型對應的第一級令牌桶中的可用令牌數。
3.如權利要求2所述的方法,其特征在于,在一報文所屬業務類型的空閑帶寬量小于門限值時,從其他業務類型的空閑帶寬中選擇設定量的帶寬來發送所述報文,具體包括在所述報文的長度不大于所述第一級令牌桶中的可用令牌數時,確定該報文對應的第二級令牌桶中的可用令牌數,其中,所述用戶發送的屬于多個類型業務的報文都通過第二級令牌桶限速;在報文的長度不大于第二級令牌桶中的可用令牌數時輸出所述報文;在報文的長度大于第二級令牌桶中的可用令牌數時,進一步判斷所述報文的長度是否不大于第二級令牌桶中的可用令牌數與預先設定的令牌數之和,若是,則輸出所述報文,否則,丟棄所述報文。
4.如權利要求3所述的方法,其特征在于,確定報文對應的第一級令牌桶中的可用令牌數,包括確定所述報文所屬業務的類型對應的第一級令牌桶的第一級填充速率和第一級令牌桶能夠填充的最大令牌數;確定當前接收所述報文與上一次接收相同業務類型的報文的時間差值,將所述時間差值和第一級填充速率相乘,并將得到的乘積值與第一級令牌桶中剩余的令牌數之和與第一級令牌桶能夠填充的最大令牌數進行比較;如果乘積值與第一級令牌桶中剩余的令牌數之和不大于所述第一級令牌桶能夠填充的最大令牌數,則將乘積值與第一級令牌桶中剩余的令牌數之和作為第一級令牌桶中的可用令牌數;否則,將第一級令牌桶能夠填充的最大令牌數作為第一級令牌桶中的可用令牌數。
5.如權利要求4所述的方法,其特征在于,確定該報文對應的第二級令牌桶中的可用令牌數,包括確定第二級令牌桶的第二級填充速率和第二級令牌桶能夠填充的最大令牌數,其中, 所述第二級填充速率大于第一級填充速率;將所述時間差值和第二級填充速率相乘,并將得到的乘積值與第二級令牌桶中剩余的令牌數之和與第二級令牌桶能夠填充的最大令牌數進行比較;如果乘積值與第二級令牌桶中剩余的令牌數之和不大于第二級令牌桶能夠填充的最大令牌數,則將乘積值與第二級令牌桶中剩余的令牌數之和作為第二級令牌桶中的可用令牌數;否則,將第二級令牌桶能夠填充的最大令牌數作為第二級令牌桶中的可用令牌數。
6.如權利要求3 5任一所述的方法,其特征在于,所述預先設定的令牌數等于第二級令牌桶能夠填充的最大令牌數。
7.如權利要求6所述的方法,其特征在于,在確定所述報文的長度不大于所述第一級令牌桶中的可用令牌數之后,且確定第二級令牌桶中的可用令牌數之前,所述方法還包括確定所述報文的優先級達到設定優先級。
8.如權利要求7所述的方法,其特征在于,在判斷報文的長度不大于第二級令牌桶中的可用令牌數與預先設定的令牌數之和后,且輸出所述報文之前,所述方法還包括將當前接收所述報文與上一次接收相同業務類型的報文的時間差值與預先設定的均值填充速率相乘,并將得到的乘積值、第二級令牌桶中剩余的令牌數和預先設定的令牌數三者之和與報文的長度進行比較;如果報文的長度不大于所述三者之和,則保持所述報文的優先級不改變;否則,降低所述報文的優先級;所述均值填充速率小于第二級填充速率。
9.如權利要求7所述的方法,其特征在于,所述方法還包括在所述報文的優先級未達到設定優先級時,比較報文的長度和第二級令牌桶中的可用令牌數;若報文的長度不大于第二級令牌桶中的可用令牌數時輸出所述報文,否則,丟棄所述報文。
10.如權利要求9所述的方法,其特征在于,在報文的長度不大于第二級令牌桶中的可用令牌數之后,且輸出所述報文之前,所述方法還包括將當前接收所述報文與上一次接收相同業務類型的報文的時間差值與預先設定的均值填充速率相乘,并將得到的乘積值與第二級令牌桶中剩余的令牌數之和與報文的長度進行比較;如果報文的長度不大于乘積值與第二級令牌桶中剩余的令牌數之和,則保持所述報文的優先級不改變;否則,降低所述報文的優先級;所述時間差值與預先設定的均值填充速率相乘得到的乘積值小于第二級令牌桶中的可用令牌數。
11.一種報文的傳輸系統,其特征在于,所述系統包括 報文接收模塊,用于接收用戶發送的報文;控制模塊,用于確定為每一報文所屬業務類型分配的帶寬中的空閑帶寬,在一報文所屬業務類型的空閑帶寬量小于門限值時,從其他業務類型的空閑帶寬中選擇設定量的帶寬來輸出所述報文。
12.如權利要求11所述的系統,其特征在于,所述控制模塊,包括第一可用令牌確定模塊,用于針對多級令牌桶的相鄰兩級令牌桶中,確定該報文所屬業務的類型對應的第一級令牌桶中的可用令牌數;第一比較模塊,用于比較所述報文的長度和第一級令牌桶中的可用令牌數; 第二可用令牌確定模塊,用于在比較結果為報文的長度不大于第一級令牌桶中的可用令牌數時,確定該報文對應的第二級令牌桶中的可用令牌數,其中,所述用戶發送的屬于多個類型業務的報文都通過第二級令牌桶限速;第二比較模塊,用于比較報文的長度和第二級令牌桶中的可用令牌數;第一執行模塊,用于在報文的長度不大于第二級令牌桶中的可用令牌數時,觸發輸出模塊,并在報文的長度大于第二級令牌桶中的可用令牌數時,判斷所述報文的長度是否不大于第二級令牌桶中的可用令牌數與預先設定的令牌數之和,若是,則觸發輸出模塊,否則,觸發丟棄模塊;輸出模塊,用于輸出所述報文;丟棄模塊,用于丟棄所述報文。
13.如權利要求12所述的系統,其特征在于,第一可用令牌確定模塊,具體用于確定第一級令牌桶的第一級填充速率和第一級令牌桶能夠填充的最大令牌數,將當前接收報文與上一次接收相同業務類型的報文的時間差值和第一級填充速率相乘,并將得到的乘積值與第一級令牌桶中剩余的令牌數之和與第一級令牌桶能夠填充的最大令牌數進行比較,如果乘積值與第一級令牌桶中剩余的令牌數之和不大于所述第一級令牌桶能夠填充的最大令牌數,則將乘積值與第一級令牌桶中剩余的令牌數之和作為第一級令牌桶中的可用令牌數;否則,將第一級令牌桶能夠填充的最大令牌數作為第一級令牌桶中的可用令牌數。
14.如權利要求13所述的系統,其特征在于,第二可用令牌確定模塊,具體用于確定第二級令牌桶的第二級填充速率和第二級令牌桶能夠填充的最大令牌數,將所述時間差值和第二級填充速率相乘,并將得到的乘積值與第二級令牌桶中剩余的令牌數之和與第二級令牌桶能夠填充的最大令牌數進行比較,如果乘積值與第二級令牌桶中剩余的令牌數之和不大于第二級令牌桶能夠填充的最大令牌數, 則將乘積值與第二級令牌桶中剩余的令牌數之和作為第二級令牌桶中的可用令牌數;否則,將第二級令牌桶能夠填充的最大令牌數作為第二級令牌桶中的可用令牌數,其中,所述第二級填充速率大于第一級填充速率。
15.如權利要求12 14任一所述的系統,其特征在于,所述系統還包括優先權確定模塊,用于判斷所述報文的優先級是否達到設定優先級,在達到設定優先級時,觸發第二可用令牌確定模塊。
16.如權利要求15所述的系統,其特征在于,所述系統還包括第一優先權調整模塊,用于在第一執行模塊判斷報文的長度不大于第二級令牌桶中的可用令牌數與預先設定的令牌數之和時,將所述時間差值與預先設定的均值填充速率相乘,并將得到的乘積值、第二級令牌桶中剩余的令牌數和預先設定的令牌數三者之和與報文的長度進行比較,如果報文的長度不大于所述三者之和,則保持所述報文的優先級不改變;否則,降低所述報文的優先級,其中,所述均值填充速率小于第二級填充速率。
17.如權利要求15所述的系統,其特征在于,優先權確定模塊,還用于在報文的優先級未達到設定優先級時,觸發第二執行模塊;第二執行模塊,用于比較報文的長度和第二級令牌桶中的可用令牌數,若報文的長度不大于第二級令牌桶中的可用令牌數時觸發輸出模塊,否則,觸發丟棄模塊。
18.如權利要求17所述的系統,其特征在于,所述系統還包括第二優先權調整模塊,用于在第二執行模塊確定報文的長度不大于第二級令牌桶中的可用令牌數時,將當前接收所述報文與上一次接收相同業務類型的報文的時間差值與預先設定的均值填充速率相乘,并將得到的乘積值與第二級令牌桶中剩余的令牌數之和與報文的長度進行比較,如果報文的長度不大于乘積值與第二級令牌桶中剩余的令牌數之和,則保持所述報文的優先級不改變,否則,降低所述報文的優先級,其中所述時間差值與預先設定的均值填充速率相乘得到的乘積值小于第二級令牌桶中的可用令牌數。
全文摘要
本發明公開了一種報文的傳輸方法和系統,主要內容包括接收用戶發送的報文,并確定為每一報文所屬業務類型分配的帶寬中的空閑帶寬,在一報文所屬業務類型的空閑帶寬量小于門限值時,從其他業務類型的空閑帶寬中選擇設定量的帶寬來輸出所述報文。通過本發明,提高了網絡帶寬資源的利用率,為用戶提供較好的服務質量。
文檔編號H04L12/56GK102238068SQ20101016289
公開日2011年11月9日 申請日期2010年5月4日 優先權日2010年5月4日
發明者劉毅, 時彥平 申請人:中興通訊股份有限公司