[發明專利]一種無鎖化處理方法和裝置有效
| 申請號: | 201810790841.5 | 申請日: | 2018-07-18 |
| 公開(公告)號: | CN109120550B | 公開(公告)日: | 2019-10-08 |
| 發明(設計)人: | 鄧超;譚國權 | 申請(專利權)人: | 武漢綠色網絡信息服務有限責任公司 |
| 主分類號: | H04L12/863 | 分類號: | H04L12/863;G06F9/52;H04L12/26 |
| 代理公司: | 深圳市六加知識產權代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 超時 線程 隊列 超時處理 閉環 包處理 跳轉 方法和裝置 節點位置 多線程 無鎖 預設 計算機數據處理技術 處理流程 節省資源 速度實現 線程同步 性能問題 資源開銷 復雜度 寫沖突 場景 引入 訪問 | ||
1.一種無鎖化處理方法,其特征在于,用于流超時閉環隊列、一個或者多個流超時處理線程和一個或者多個包處理線程;其中,所述流超時閉環隊列用于存儲在對應各時間節點上獲取的流數據的標識信息;所述一個或者多個流超時處理線程與所述一個或者多個包處理線程之間相差預設的超時間隔,方法包括:
所述一個或者多個流超時處理線程按照預設的時間間隔ts在所述流超時閉環隊列中的各節點位置間跳轉;所述一個或者多個流超時處理線程,對于其抵達的節點中存儲的標識信息所對應的流數據進行超時處理;
所述一個或者多個包處理線程,采用預設的時間間隔ts在所述流超時閉環隊列中各節點位置間跳轉;所述包處理線程用于在網卡接收到數據包的時候,將相應數據內容存儲到當前包處理線程所指向的節點位置中標識信息所標定的存儲區域。
2.根據權利要求1所述的無鎖化處理方法,其特征在于,所述流超時處理線程比對所述超時處理所用時間ti和所述預設的時間間隔ts,
若ti>ts,則按照長度為1的跳轉參數值調整所述流超時處理線程;并進入流超時處理補時環節;在所述流超時處理補時環節中,后續處理的一個或者多個流超時處理線程在完成流超時處理便跳轉,直到ti-ts的超時部分的時間被補償回來,然后恢復比對所述流超時處理所用時間ti和所述預設的時間間隔ts的判斷過程;
若ti<ts,在等待當前節點位置的停留時長達到ts時,按照長度為1的跳轉參數值,調整所述流超時處理線程;然后恢復比對所述流超時處理所用時間ti和所述預設的時間間隔ts的判斷過程。
3.根據權利要求1所述的無鎖化處理方法,其特征在于,所述包處理線程的跳轉位置和/或流超時處理線程的跳轉位置具體根據以下公式計算得到:
POSx=計算得到的理論跳轉量%tmout_queue_size;其中,tmout_queue_size為流超時閉環隊列的總的節點位置數量,計算得到的理論跳轉量包括包處理線程的理論跳轉量或者流超時處理線程的理論跳轉量;其中,所述“%”為取余計算符。
4.根據權利要求1所述的無鎖化處理方法,其特征在于,在超時時間參數值為tc時,所述預設的超時間隔具體由tc/ts個節點位置構成。
5.根據權利要求4所述的無鎖化處理方法,其特征在于,具體的:
用于存儲有效標識信息的各節點位置之間,均設置有緩沖帶proc_flex;其中,所述緩沖帶proc_flex由預設數量的空置節點構成;
則每次在進行包處理線程所對應節點位置間跳轉時,跳轉的距離額外加上所述緩沖帶proc_flex長度。
6.根據權利要求5所述的無鎖化處理方法,其特征在于,在所述流超時處理線程數量具體為一條時,初始狀態時所述流超時處理線程指向的流超時閉環隊列中的節點位置為起始位置;而相對應的所述一個或者多個包處理線程中的首個包處理線程所指向的流超時閉環隊列中的節點位置為起始位置+tc/ts計算得到;其它包處理線程所執行的流超時閉環隊列中的節點位置為起始位置+tc/ts+thread_idx*proc_flex計算得到,其中,thread_idx為后續包處理線程的序號,在首個包處理線程序號為0的基礎上,其它后續包處理線程的序號thread_idx依次相差1。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢綠色網絡信息服務有限責任公司,未經武漢綠色網絡信息服務有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810790841.5/1.html,轉載請聲明來源鉆瓜專利網。





