[發明專利]基于Netty框架的數據處理方法、裝置、設備及存儲介質在審
| 申請號: | 202210280862.9 | 申請日: | 2022-03-22 |
| 公開(公告)號: | CN114640719A | 公開(公告)日: | 2022-06-17 |
| 發明(設計)人: | 孫旭 | 申請(專利權)人: | 康鍵信息技術(深圳)有限公司 |
| 主分類號: | H04L69/06 | 分類號: | H04L69/06;H04L67/01;G06F9/38;G06F9/54 |
| 代理公司: | 北京市京大律師事務所 11321 | 代理人: | 沈克琪 |
| 地址: | 518052 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 netty 框架 數據處理 方法 裝置 設備 存儲 介質 | ||
1.一種基于Netty框架的數據處理方法,所述Netty框架設有多個并行執行的線程,其特征在于,所述數據處理方法包括:
獲取服務端上的待發送數據,將所述待發送數據分發給多個線程執行;
通過所述線程對對應的待發送數據按照預設的SBE協議進行編碼處理,得到SBE消息;
將所述SBE消息發送至客戶端。
2.根據權利要求1所述的基于Netty框架的數據處理方法,其特征在于,所述獲取客戶端上的待發送數據,將所述待發送數據分發給多個線程執行,包括:
獲取服務端上設有發送標記的數據,得到待發送數據;
按照消息隊列的存儲規則,將所述待發送數據劃分為多個片段,形成待處理消息隊列;
獲取所述服務端上存在空閑資源的至少兩個線程,并按照優先級對所述至少兩個線程進行排序,得到線程序列;
通過所述線程序列中的各線程依次輪詢所述待處理消息隊列,得到待處理消息隊列中的資源要求,并判斷對應的線程上空閑資源是否滿足所述資源要求;
若是,則將所述片段分發給對應的線程執行,直到所有片段分發完成。
3.根據權利要求1所述的基于Netty框架的數據處理方法,其特征在于,所述通過所述線程對對應的待發送數據按照預設的SBE協議進行編碼處理,得到SBE消息,包括:
在所述待發送數據經劃分而成的片段被分發給對應的線程執行后,通過所述線程構造一個通道,并構建與所述通道對應的管道;
在所述管道上的Handler鏈上對所述片段按照預設的SBE協議進行編碼處理,得到多個SBE消息片段,其中,所述Handler鏈包括至少一個Handler;
將多個所述SBE消息片段進行合并,得到SBE消息。
4.根據權利要求1所述的基于Netty框架的數據處理方法,其特征在于,所述將所述SBE消息發送至客戶端,包括:
在所述待發送數據被劃分而成的片段被分發給對應的線程執行后,通過所述線程創建用于處理寫事件的子通道;
調用所述子通道上的調用鏈將所述SBE消息發送至服務端,其中,所述調用鏈包括至少一個Handler。
5.根據權利要求2所述的基于Netty框架的數據處理方法,其特征在于,所述通過所述線程序列中的各線程依次輪詢所述待處理消息隊列,得到待處理消息隊列中的資源要求,并判斷對應的線程上空閑資源是否滿足所述資源要求,包括:
輪詢所述待處理消息隊列,判斷消息隊列中是否有所述待處理消息;
如果消息隊列中有所述待處理消息,則獲取該待處理消息對應的事件類型,其中,不同的事件類型對應不同的資源要求;
調用Selector的selectNow()方法,觸發Selector的選擇操作,如果有就緒的Channel,則返回就緒的通道集合,如果沒有就緒的通道,則返回0;
根據所述就緒的通道集合,依次讀取所述就緒的通道具有的SelectionKey的值,獲取所述就緒的通道對應的事件類型;
如果所述就緒的通道對應的事件類型包含所述待處理消息對應的事件類型,則判定對應的線程上空閑資源是否滿足所述資源要求,反之則判定不滿足。
6.根據權利要求1-5中任一項所述的基于Netty框架的數據處理方法,其特征在于,所述數據處理方法還包括:
對多個客戶端發送過來的數據進行監聽;
將監聽到的數據分發給多個線程執行;
在相應線程上對所述監聽到的數據進行處理和接收操作;
對所述接收到的數據中的SBE消息按照預設的SBE協議進行解碼處理,得到解碼后的數據;
將所述解碼后的數據發送到服務端。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于康鍵信息技術(深圳)有限公司,未經康鍵信息技術(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210280862.9/1.html,轉載請聲明來源鉆瓜專利網。





