[發明專利]一種數據流的處理方法和裝置有效
| 申請號: | 201711483430.3 | 申請日: | 2017-12-29 |
| 公開(公告)號: | CN108228366B | 公開(公告)日: | 2022-01-25 |
| 發明(設計)人: | 胡宇光;殷宇輝 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/48 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 王玉雙 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據流 處理 方法 裝置 | ||
本發明實施例提供了一種數據流的處理方法和裝置,該方法包括:從預設的端口接收多個數據流;查詢每個數據流的流標識;至少根據所述流標識將所述數據流分配至匹配的線程進行處理。流標識具有唯一性,因此,即便在IP地址、端口等相同的情況下,可以至少基于流標識將數據流分配至相應的線程進行處理,避免同一處理器內核進行處理,實現均衡負載,可以盡量使用處理器內核,避免空載,提高了資源的利用率,大大提高了吞吐量、提高了帶寬的使用率,減少資源浪費。
技術領域
本發明涉及計算機處理的技術領域,特別是涉及一種數據流的傳輸方法和一種數據流的傳輸裝置。
背景技術
UDP(User Datagram Protocol,用戶數據報協議)由于控制選項較少,在數據傳輸過程中延遲小、數據傳輸效率高,在直播等領域應用較為廣泛,用于傳輸視頻流等數據流。
目前,在兩臺服務器之間的多路數據流,由于數據流應用的IP(InternetProtocol,網絡之間互連的協議)地址、端口等參數是一致的,因此,這些數據流是會分配至同一個處理器內核進行處理。
但是,在CPU(Central Processing Unit,中央處理器)中,處理器內核通常是有多個的,如48個,部分處理器內核可能是空載,資源利用率較低,導致吞吐量較低,大多數實現在測試載荷為100字節的小數據包時,吞吐率僅能達到每秒20~30萬包,此外,由于無法處理更多的數據包,限制無法發送更多的數據流,帶寬使用率較低,浪費資源。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的一種數據流的傳輸方法和相應的一種數據流的傳輸裝置。
依據本發明的一個方面,提供了一種數據流的傳輸方法,包括:
從預設的端口接收多個數據流;
查詢每個數據流的流標識;
至少根據所述流標識將所述數據流分配至匹配的線程進行處理。
可選地,還包括:
針對預置的多個處理器內核,針對每個處理器內核創建一個套接字socket、啟動一個線程;
將所述多個處理器內核的線程配置在預設的端口上。
可選地,所述至少根據所述流標識將所述數據流分配至匹配的線程進行處理,包括:
至少按照所述流標識確定處理所述數據流的處理器內核;
通過所述處理器內核對應的套接字socket接收所述數據流;
調用所述處理器內核上的線程從所述套接字socket中處理所述數據流。
可選地,所述至少按照所述流標識確定處理所述數據流的處理器內核,包括:
查詢所述數據流的源IP地址、目的IP地址、源端口、目的端口;
按照所述流源IP地址、所述目的IP地址、所述源端口、所述目的端口與所述流標識確定處理所述數據流的處理器內核。
可選地,所述調用所述處理器內核上的線程從所述套接字socket中處理所述數據流,包括:
調用所述處理器內核上的線程從所述套接字socket中接收所述數據流,并按照用戶數據報協議UDP進行處理。
可選地,還包括:
查詢通信狀態信息;
判斷所述通信狀態信息是否滿足預設的條件;若是,則執行所述從預設的端口接收多個數據流;
其中,所述通信狀態信息包括如下的至少一種:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711483430.3/2.html,轉載請聲明來源鉆瓜專利網。





