[发明专利]数据流的处理方法与系统在审
申请号: | 201310504010.4 | 申请日: | 2013-10-23 |
公开(公告)号: | CN103532876A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 张武;尚秋里;王劲林;郭秀岩 | 申请(专利权)人: | 中国科学院声学研究所;北京中科智网科技有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863;G06F9/50;G06F9/38 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据流 处理 方法 系统 | ||
技术领域
本发明涉及计算机系统和多核网络处理技术,尤其涉及一种数据流的处理方法与系统。
背景技术
在三网融合、云计算和物联网等新兴通讯概念迅猛发展的背景下,由于各种高速率、低延迟的网络数据应用持续增长,对通信网络提出了更高的容量以及速率的要求。
现阶段的多核处理器作为高性能处理器的典型代表,其通过多个CPU核间有效的任务分配,多个CPU核间的并行计算极大增强了处理器在多任务条件下的处理能力,满足当前对通信网络提出的容量以及速率的要求。但是,在现有的网络服务器中,由于网卡设备管理器和网卡驱动程序中使用唯一的业务队列进行数据包的存储,在多个CPU核同时并发进行数据包处理时,必然造成对业务队列控制权的竞争。
目前,网络服务器通过自旋锁(Spinlock)技术,克服多个CPU核对业务队列控制权的竞争。自旋锁技术,是指在多个CPU核的相关进程并发访问业务队列时,只有成功对业务队列加锁的CPU核才能获得业务队列的控制权,进入临界区域。其余CPU核在该业务队列的自旋锁解锁之前,将不断循环尝试,一直处于“忙等待”状态。
在现有技术中,网络服务器采用自旋锁技术克服多个CPU核对业务队列控制权的竞争,也暴露出以下缺陷:处于“忙等待”状态的CPU核,持续处在循环等待的状态,造成CPU核资源的浪费。尤其是在通信网络负载较重的情况下,每个CPU核均需快速向外发送数据包,造成多个CPU核对业务队列的竞争冲突更加激烈,降低每个CPU核对数据包处理能力的效率。
发明内容
本发明实施例提供了一种数据流的处理方法与系统,实现了多核处理器中各处理器核并行处理网络接口中的数据流,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
在第一方面,本发明实施例提供了一种数据流的处理方法,所述方法包括:
接收用户输入的配置参数;
根据所述配置参数,在网络接口中建立至少1个逻辑通道;
当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;
根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
优选地,所述根据所述配置参数,在网络接口中建立至少1个逻辑通道之后还包括:
根据所述配置参数,在每个所述逻辑通道内建立至少1个发送队列和至少1个接收队列;
所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
优选地,所述根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内之后还包括:
根据所述配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少1个发送队列和至少1个接收队列;
判断所述待处理数据流的访问类型;
如果所述待处理数据流的访问类型为接收数据类型,则所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少1个所述接收队列中。
优选地,所述判断所述待处理数据流的访问类型还包括:
如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少1个所述发送队列中。
优选地,所述多核处理器的空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理具体包括:
如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
优选地,在任意时刻,所述多核处理器中各空闲处理器核对1个所述逻辑通道内的所述待处理数据流进行业务处理。
优选地,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中1个空闲处理器核进行业务处理。
在第二方面,本发明实施例提供了一种数据流的处理系统,所述系统包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科智网科技有限公司,未经中国科学院声学研究所;北京中科智网科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310504010.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种组合刀模
- 下一篇:信息处理装置、信息处理系统和信息处理方法