[發明專利]并行多線程報文處理的方法和裝置在審
| 申請號: | 201310465494.6 | 申請日: | 2013-09-30 |
| 公開(公告)號: | CN104518987A | 公開(公告)日: | 2015-04-15 |
| 發明(設計)人: | 張歡;沈偉峰;李紀先 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | H04L12/819 | 分類號: | H04L12/819;G06F9/38 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 并行 多線程 報文 處理 方法 裝置 | ||
技術領域
本發明涉及通信技術,尤其涉及一種并行多線程報文處理的方法和裝置。
背景技術
在現代通信中,人們通過令牌桶算法對網絡上的數據流量進行控制,也就是說,通過從令牌桶取出令牌發送數據的方式對網絡中數據的流量進行限制。
在現有技術中,當一個需要m個字節的數據包到達時,若令牌桶中當前的令牌數大于或等于m個令牌時,則從令牌桶中取出m個令牌用于該數據包的發送,若令牌桶中當前的令牌數少于m個令牌時,則將數據包丟棄。
然而,在多線程同時訪問同一個令牌桶的情況下,可以通過令牌桶鎖定方式來避免因數據競爭而導致數據錯誤,例如,當某個線程使用該令牌桶時,將該令牌桶鎖定,此時僅此線程能訪問該令牌桶,其他線程若訪問令牌桶必須暫時掛起,直到該線程對令牌桶訪問結束并解除對令牌桶的鎖定,但這會使得原本并行計算的數據被串行處理,大大降低了系統的性能。
發明內容
本發明提供一種并行多線程報文處理的方法和裝置,用以提高系統性能。
第一方面,本發明實施例提供一種并行多線程處理方法,包括:
獲取每個線程分別需要從所述令牌桶請求提取的第一令牌量,所述線程為所述令牌桶在當前時刻接收的線程;
確定所述令牌桶在所述當前時刻的可使用令牌量;
將所述可使用令牌量分別與每個所述線程請求提取的所述第一令牌量進行比較,確定所述可使用令牌量是否大于或等于所述第一令牌量;
若是,則從所述令牌桶中提取所述第一令牌量的令牌,并分配給所述線程。
在第一種可能的實現方式中,所述確定所述令牌桶在所述當前時刻的可使用令牌量,包括:
將所述令牌桶的累計令牌量與所述當前時刻的令牌消耗量進行比較,獲得所述令牌桶在所述當前時刻的所述可使用令牌量,所述令牌消耗量為所有所述線程從初始時刻至所述當前時刻的第一時長內對所述令牌桶的令牌消耗量,所述累計令牌量為所述令牌桶在所述第一時長內接收的增加令牌量與所述令牌桶的初始值相加的結果。
結合第一個方面或是第一個方面的第一種可能的實現方式,在第二種可能的實現方式中,所述獲取每個線程分別需要從所述令牌桶中請求提取的第一令牌量之前,還包括:
對所述線程設置一個計數器,所述計數器用于記錄所述第一時長內所述線程消耗所述令牌桶中令牌的數量。
結合第一個方面至第一個方面的第二種可能的實現方式中的任意一種實現方式,在第三種可能的實現方式中,所述從所述令牌桶中取出所述第一令牌量的令牌之后,還包括:
將所述第一令牌量增加在所述計數器記錄的所述令牌消耗量中。
結合第一個方面至第一個方面的第三種可能的實現方式中的任意一種實現方式,在第四種可能的實現方式中,所述獲取每個線程分別需要從所述令牌桶中請求提取的第一令牌量之后,或所述獲取每個線程分別需要從所述令牌桶中請求提取的第一令牌量之前,還包括:
將準備向所述令牌桶發放的增加令牌量與所述可使用令牌量進行相加,獲得第一和數;
確定所述第一和數是否大于或等于所述令牌桶深度;
若大于,則將所述令牌桶深度與所述可使用令牌量的差值增加在所述令牌桶;
若小于,則將所述增加令牌量增加在所述令牌桶中。
第二方面,本發明實施例提供一種并行多線程處理裝置,包括:
獲取模塊,用于獲取每個線程分別需要從所述令牌桶請求提取的第一令牌量,所述線程為所述令牌桶在當前時刻接收的線程;
確定模塊,用于確定所述令牌桶在所述當前時刻的可使用令牌量;
比較模塊,用于將所述可使用令牌量分別與每個所述線程請求提取的所述第一令牌量進行比較,確定所述可使用令牌量是否大于或等于所述第一令牌量;
分配模塊,用于在所述比較模塊確定為是之后,從所述令牌桶中提取所述第一令牌量的令牌,并分配給所述線程。
在第一種可能的實現方式中,所述比較模塊,具體用于將所述令牌桶的累計令牌量與所述當前時刻的令牌消耗量進行比較,獲得所述令牌桶在所述當前時刻的所述可使用令牌量,所述令牌消耗量為所有所述線程從初始時刻至所述當前時刻的第一時長內對所述令牌桶的令牌消耗量,所述累計令牌量為所述令牌桶在所述第一時長內接收的增加令牌量與所述令牌桶的初始值相加的結果。
結合第二個方面或是第二個方面的第一種可能的實現方式,在第二種可能的實現方式中,還包括:記錄模塊;
所述記錄模塊,用于記錄所述第一時長內所述線程消耗所述令牌桶中令牌的數量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司;,未經華為技術有限公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310465494.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種報文轉發方法、裝置和系統
- 下一篇:一種可掛設的無線路由





