[發明專利]一種報文處理的方法及裝置有效
| 申請號: | 202011043822.X | 申請日: | 2020-09-28 |
| 公開(公告)號: | CN112187665B | 公開(公告)日: | 2023-04-07 |
| 發明(設計)人: | 鄭磊 | 申請(專利權)人: | 杭州迪普科技股份有限公司 |
| 主分類號: | H04L47/24 | 分類號: | H04L47/24;H04L49/9005;H04L61/103 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 310051 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 報文 處理 方法 裝置 | ||
本說明書提供一種報文處理方法,預先將報文緩存區劃分為多個報文緩存分區,每個報文緩存分區用于緩存一種報文處理流程的報文;當接收到報文后,先判斷該報文的報文處理流程,根據該報文的報文處理流程,確定緩存該報文的報文緩存分區,緩存后進行后續報文處理。
技術領域
本說明書涉及網絡設備技術領域,尤其涉及一種報文處理的方法及裝置。
背景技術
套接字緩存(Socket?Buffer,SKB)是linux?TCP/IP協議棧中的關鍵數據結構,用于對網絡設備接收的報文進行緩存,以便網絡設備對報文進行處理。
在實際應用中,通常會預先在網絡設備的CPU內存中創建報文緩存區,報文緩存區包含一定數量的緩存單元buffer,每個緩存單元包含一個SKB。當網絡設備接收到報文時,CPU會在報文緩存區中取出一個緩存單元用于緩存該報文,在CPU結束對該報文處理時,CPU再將該緩存單元歸還至報文緩存區。
然而,有時網卡驅動程序或者CPU的業務處理模塊可能運行異常,無法正常完成對報文的處理,導致越來越多的報文長時間處于無法完成處理的狀態,這意味著越來越多的緩存單元無法被歸還到報文緩存區進行復用,直至報文緩存區中的緩存單元耗盡,此時,網絡設備無法再正常接收報文進行處理。
發明內容
為克服上述網絡設備無法正常接收報文進行處理的問題,本說明書提供了方法及裝置。
本說明書提供了一種報文處理的方法,將報文緩存區劃分成包含多個緩存分區的緩存分區集合;其中,所述緩存分區集合包括多個第一類緩存分區,不同的第一類緩存分區對應于不同的報文處理流程,每個第一類緩存分區包含若干緩存單元;所述方法包括:
獲取待處理的報文,并確定所述報文對應的報文處理流程;
從確定的報文處理流程所對應的第一類緩存分區中取出一個緩存單元;
基于取出的緩存單元緩存所述報文,并對所述報文進行處理。
本說明書還提供了一種報文處理的裝置,將報文緩存區劃分成包含多個緩存分區的緩存分區集合;其中,所述緩存分區集合包括多個第一類緩存分區,不同的第一類緩存分區對應于不同的報文處理流程,每個第一類緩存分區包含若干緩存單元;所述裝置包括:
報文獲取模塊,用于獲取待處理的報文,并確定所述報文對應的報文處理流程;
緩存單元獲取模塊,用于從確定的報文處理流程所對應的第一類緩存分區中取出一個緩存單元;
報文處理模塊,用于基于取出的緩存單元緩存所述報文,并對所述報文進行處理。
本說明書實施例的技術方案,預先將報文緩存區劃分為多個報文緩存分區,每個報文緩存分區用于緩存一種報文處理流程的報文;當接收到報文后,先判斷該報文的報文處理流程,根據該報文的報文處理流程,確定緩存該報文的報文緩存分區,緩存后進行后續報文處理。
通過本說明書實施例的技術方案,可將報文緩存區劃分為多個報文緩存分區,且各報文緩存分區互不影響,當某一報文處理流程將對應的報文緩存分區的緩存單元耗盡時,其他報文緩存分區并不會被影響,設備可繼續正常接收及處理其他報文處理流程對應的報文。
應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本說明書。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本說明書的實施例,并與說明書一起用于解釋本說明書的原理。
圖1是本說明書示出的一種報文處理方法的流程圖。
圖2是本說明書示出的一具體實施例流程圖。
圖3是本說明書示出的一種報文處理裝置的示意圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州迪普科技股份有限公司,未經杭州迪普科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202011043822.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于機械的組裝式同步折疊架體結構
- 下一篇:單輪對變軌試驗裝置





