[发明专利]一种数据流的处理方法和装置有效
申请号: | 201711483430.3 | 申请日: | 2017-12-29 |
公开(公告)号: | CN108228366B | 公开(公告)日: | 2022-01-25 |
发明(设计)人: | 胡宇光;殷宇辉 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/48 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据流 处理 方法 装置 | ||
1.一种数据流的传输方法,包括:
从预设的端口接收多个数据流;
查询每个数据流的流标识;
至少根据所述流标识将所述数据流分配至匹配的线程进行处理;
所述流标识代表一个唯一确定的数据流的信息;
所述至少根据所述流标识将所述数据流分配至匹配的线程进行处理,包括:
至少按照所述流标识确定处理所述数据流的处理器内核;
通过所述处理器内核对应的套接字socket接收所述数据流;
调用所述处理器内核上的线程从所述套接字socket中处理所述数据流;
所述至少按照所述流标识确定处理所述数据流的处理器内核,包括:
查询所述数据流的源IP地址、目的IP地址、源端口、目的端口;
按照所述源IP地址、所述目的IP地址、所述源端口、所述目的端口与所述流标识确定处理所述数据流的处理器内核。
2.如权利要求1所述的方法,其特征在于,还包括:
针对预置的多个处理器内核,针对每个处理器内核创建一个套接字socket、启动一个线程;
将所述多个处理器内核的线程配置在预设的端口上。
3.如权利要求1所述的方法,其特征在于,所述调用所述处理器内核上的线程从所述套接字socket中处理所述数据流,包括:
调用所述处理器内核上的线程从所述套接字socket中接收所述数据流,并按照用户数据报协议UDP进行处理。
4.如权利要求1-3任一项所述的方法,其特征在于,还包括:
查询通信状态信息;
判断所述通信状态信息是否满足预设的条件;若是,则执行所述从预设的端口接收多个数据流;
其中,所述通信状态信息包括如下的至少一种:
带宽、数据包类型、带宽占比。
5.一种数据流的传输装置,包括:
数据流接收模块,用于从预设的端口接收多个数据流;
流标识查询模块,用于查询每个数据流的流标识;
数据流分配模块,用于至少根据所述流标识将所述数据流分配至匹配的线程进行处理;
所述流标识代表一个唯一确定的数据流的信息;
所述数据流分配模块包括:
内核确定子模块,用于至少按照所述流标识确定处理所述数据流的处理器内核;
套接字接收子模块,用于通过所述处理器内核对应的套接字socket接收所述数据流;
线程处理子模块,用于调用所述处理器内核上的线程从所述套接字socket中处理所述数据流;
所述内核确定子模块包括:
四要素查询单元,用于查询所述数据流的源IP地址、目的IP地址、源端口、目的端口;
五要素确定单元,用于按照所述源IP地址、所述目的IP地址、所述源端口、所述目的端口与所述流标识确定处理所述数据流的处理器内核。
6.如权利要求5所述的装置,其特征在于,还包括:
内核处理模块,用于针对预置的多个处理器内核,针对每个处理器内核创建一个套接字socket、启动一个线程;
端口配置模块,用于将所述多个处理器内核的线程配置在预设的端口上。
7.如权利要求5所述的装置,其特征在于,所述线程处理子模块包括:
UDP处理单元,用于调用所述处理器内核上的线程从所述套接字socket中接收所述数据流,并按照用户数据报协议UDP进行处理。
8.如权利要求5-7任一项所述的装置,其特征在于,还包括:
通信状态信息查询模块,用于查询通信状态信息;
条件判断模块,用于判断所述通信状态信息是否满足预设的条件;若是,则调用所述数据流接收模块;
其中,所述通信状态信息包括如下的至少一种:
带宽、数据包类型、带宽占比。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711483430.3/1.html,转载请声明来源钻瓜专利网。