CN103532876A - 数据流的处理方法与系统 - Google Patents
数据流的处理方法与系统 Download PDFInfo
- Publication number
- CN103532876A CN103532876A CN201310504010.4A CN201310504010A CN103532876A CN 103532876 A CN103532876 A CN 103532876A CN 201310504010 A CN201310504010 A CN 201310504010A CN 103532876 A CN103532876 A CN 103532876A
- Authority
- CN
- China
- Prior art keywords
- data flow
- pending data
- network interface
- queue
- logical channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明实施例涉及一种数据流的处理方法与系统。所述方法包括:接收用户输入的配置参数;根据所述配置参数,在网络接口中建立至少1个逻辑通道;当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。实现了多核处理器中各处理器核并行处理网络接口中的数据流,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
Description
技术领域
本发明涉及计算机系统和多核网络处理技术,尤其涉及一种数据流的处理方法与系统。
背景技术
在三网融合、云计算和物联网等新兴通讯概念迅猛发展的背景下,由于各种高速率、低延迟的网络数据应用持续增长,对通信网络提出了更高的容量以及速率的要求。
现阶段的多核处理器作为高性能处理器的典型代表,其通过多个CPU核间有效的任务分配,多个CPU核间的并行计算极大增强了处理器在多任务条件下的处理能力,满足当前对通信网络提出的容量以及速率的要求。但是,在现有的网络服务器中,由于网卡设备管理器和网卡驱动程序中使用唯一的业务队列进行数据包的存储,在多个CPU核同时并发进行数据包处理时,必然造成对业务队列控制权的竞争。
目前,网络服务器通过自旋锁(Spinlock)技术,克服多个CPU核对业务队列控制权的竞争。自旋锁技术,是指在多个CPU核的相关进程并发访问业务队列时,只有成功对业务队列加锁的CPU核才能获得业务队列的控制权,进入临界区域。其余CPU核在该业务队列的自旋锁解锁之前,将不断循环尝试,一直处于“忙等待”状态。
在现有技术中,网络服务器采用自旋锁技术克服多个CPU核对业务队列控制权的竞争,也暴露出以下缺陷:处于“忙等待”状态的CPU核,持续处在循环等待的状态,造成CPU核资源的浪费。尤其是在通信网络负载较重的情况下,每个CPU核均需快速向外发送数据包,造成多个CPU核对业务队列的竞争冲突更加激烈,降低每个CPU核对数据包处理能力的效率。
发明内容
本发明实施例提供了一种数据流的处理方法与系统,实现了多核处理器中各处理器核并行处理网络接口中的数据流,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
在第一方面,本发明实施例提供了一种数据流的处理方法,所述方法包括:
接收用户输入的配置参数;
根据所述配置参数,在网络接口中建立至少1个逻辑通道;
当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;
根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
优选地,所述根据所述配置参数,在网络接口中建立至少1个逻辑通道之后还包括:
根据所述配置参数,在每个所述逻辑通道内建立至少1个发送队列和至少1个接收队列;
所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
优选地,所述根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内之后还包括:
根据所述配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少1个发送队列和至少1个接收队列;
判断所述待处理数据流的访问类型;
如果所述待处理数据流的访问类型为接收数据类型,则所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少1个所述接收队列中。
优选地,所述判断所述待处理数据流的访问类型还包括:
如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少1个所述发送队列中。
优选地,所述多核处理器的空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理具体包括:
如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
优选地,在任意时刻,所述多核处理器中各空闲处理器核对1个所述逻辑通道内的所述待处理数据流进行业务处理。
优选地,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中1个空闲处理器核进行业务处理。
在第二方面,本发明实施例提供了一种数据流的处理系统,所述系统包括:
网络接口:
多核处理器;
存储器;
物理存储在所述存储器中的应用程序,所述应用程序包括可用于使所述所述系统执行以下过程的指令:
接收用户输入的配置参数;
根据所述配置参数,在所述网络接口中建立至少1个逻辑通道;
当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;
根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
优选地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
根据所述配置参数,在每个所述逻辑通道内建立至少1个发送队列和至少1个接收队列;
所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
优选地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
根据所述用户输入的配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少1个发送队列和至少1个接收队列;
判断所述待处理数据流的访问类型;
如果所述待处理数据流的访问类型为接收数据类型,则所述所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少1个所述接收队列中。
优选地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少1个所述发送队列中。
优选地,所述应用程序可用于使所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理过程的指令为:
如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
优选地,在任意时刻,所述多核处理器中各空闲处理器核对1个所述逻辑通道内的所述待处理数据流进行业务处理。
优选地,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中1个空闲处理器核进行业务处理。
因此,通过应用本发明实施例提供的数据流的处理方法与系统,根据用户输入的配置参数,在网络接口中建立至少1个逻辑通道,当网络接口中存在待处理数据流时,根据获取的待处理数据流的特征属性信息,将待处理数据流分配到匹配的逻辑通道内,使得网络服务器的多核处理器中各空闲处理器核对不同的逻辑通道内的待处理数据流进行并行业务处理。解决了现有技术中网络服务器采用自旋锁技术造成的CPU核资源的浪费,降低每个CPU核对数据包处理能力的效率的问题,实现了多核处理器中各处理器核并行处理网络接口中的数据流,充分利用多核处理器的优势,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
附图说明
图1为本发明实施例一提供的数据流的处理方法流程图;
图2为本发明实施例二提供的数据流的处理系统示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
实施例一
下面以图1为例详细说明本发明实施例一提供的数据流的处理方法,图1为本发明实施例一提供的数据流的处理方法流程图,在本发明实施例中,执行下述步骤的实施主体为应用所述数据流的处理方法的通信系统,具体的,该通信系统可应用在网络服务器中,但并不限制于此,下面以网络服务器为实施主体详细说明。如图1所示,该实施例具体包括以下步骤:
步骤101、接收用户输入的配置参数。
具体地,对网络服务器进行初始化处理,在执行初始化处理后,网络服务器接收用户输入的配置参数。
本发明实施例中,作为示例而非限定,所述配置参数具体包括:使用多核CPU中CPU核的个数、为网络服务器的网络接口建立逻辑通道的个数,每个逻辑通道内建立的发送队列和接收队列的个数,以及为网络接口中每条数据流分配的发送队列和接收队列的个数等等。
其中,所述网络接口具体为高速网络接口,例如,当前流行的10Gb网络接口,以及正在普及的40Gb、100Gb网络接口等,所述高速网络接口具体可通过协处理器实现。
步骤102、根据所述配置参数,在网络接口中建立至少1个逻辑通道。
具体地,根据步骤101中用户输入的配置参数,网络服务器在自身包括的网络接口中建立至少1个逻辑通道。
步骤103、根据所述配置参数,在每个所述逻辑通道内建立至少1个发送队列和至少1个接收队列。
具体地,根据步骤101中用户输入的配置参数,网络服务器在已建立的逻辑通道内建立至少1个发送队列和至少1个接收队里。
其中,所述发送队列用于存储网络接口中待处理数据流包括的待发送数据;所述接收队列用于存储网络接口中待处理数据流包括的待接收数据。
在本发明实施例中,可在网络接口中的共享内存中建立至少1个逻辑通道,并在逻辑通道内建立至少1个发送队列和至少1个接收队列。
可以理解的是,接收队列和发送队列的长度可由用户输入配置参数时确定。
步骤104、当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息。
具体地,网络服务器周期性地检测网络接口中是否存在待处理数据流,当网络接口中存在待处理数据流时,网络服务器获取待处理数据流的特征属性信息。
本发明实施例中,作为示例而非限定,所述待处理数据流的特征属性信息具体包括:源TP地址信息、目的TP地址信息、源端口号以及目的端口号中的1个或多个组合。
步骤105、根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息向匹配的所述逻辑通道内。
具体地,根据步骤104中获取的待处理数据流的特征属性参数,网络服务器将待处理数据流分配到与所述特征属性信息相匹配的逻辑通道内。
在一个例子中,待处理数据流的特征属性参数包括源TP地址信息、目的TP地址信息,根据待处理数据流的源TP地址信息和目的TP地址信息,例如,经过哈希(hash)运算,得到与源TP地址信息和目的TP地址信息对应的逻辑通道,也即是该逻辑通道的地址信息与特征属性参数包括的地址信息匹配,例如,逻辑通道1的地址信息与特征属性参数包括的地址信息匹配,则将待处理数据流分配到查找出的逻辑通道1内,并将待处理数据流包括的数据包存储在该逻辑通道1内。
步骤106、根据所述配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少1个发送队列和至少1个接收队列。
具体地,根据步骤101中用户输入的配置参数,网络服务器为分配到逻辑通道内的待处理数据流分配至少1个发送队列和至少1个接收队列。
进一步地,如前述步骤的例子,网络服务器为分配到逻辑通道1内的待处理数据流分配1个发送队列和1个接受队列。
步骤107、判断所述待处理数据流的访问类型。
具体地,如前述步骤的例子,网络服务器判断分配到逻辑通道1内的待处理数据流的访问类型,如果待处理数据流的访问类型为接收数据类型,则执行步骤108-109;如果待处理数据流的访问类型为发送数据类型,则执行步骤110-111。
可以理解的是,所述接收数据类型具体为网络服务器接收外部设备发送数据流;所述发送数据类型具体为网络服务器包括的多核CPU的各CPU核向外部设备发送数据流。
步骤108、如果所述待处理数据流的访问类型为接收数据类型,则所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少1个所述接收队列中。
具体地,根据步骤107的判断,如果待处理数据流的访问类型为接收数据类型,则网络接口将待处理数据流包括的第一数据包存储在已分配的1个接收队列中。
步骤109、如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理。
具体地,如果待处理数据流的访问类型为接收数据类型,多核CPU的空闲CPU核访问为待处理数据流分配的1个接收队列,从该接收队列中读取第一数据包,并对第一数据包进行协议处理。
步骤110、如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少1个所述发送队列中。
具体地,根据步骤106的判断,如果待处理数据流的访问类型为发送数据类型,则多核CPU的各空闲CPU核将待处理数据流包括的第二数据包存储在已分配的1个发送队列中。
步骤111、如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
具体地,如果待处理数据流的访问类型为发送数据类型,多核CPU的空闲CPU核访问为待处理数据流分配的1个发送队列,并向网络接口发送通知消息,使得网络接口将发送队列存储的第二数据包进行发送处理。
步骤112、判断所述待处理数据流是否已经处理完成。
具体地,在执行完成步骤109或者步骤111之后,网络服务器判断逻辑通道1内的待处理数据流是否已经处理完成。如果待处理数据流已经处理完成,则网络服务器将为待处理数据流分配的接收队列和发送队列进行清空处理,减少内存的占用率,并重新执行步骤105;如果逻辑通道1内的待处理数据流未处理完成,则网络服务器继续判断该待处理数据流的访问类型,并执行后续步骤。
可以理解的是,在执行步骤105-107的基础上,根据待处理数据流的访问类型,分别执行步骤108-109以及步骤110-111,以使得网络服务器包括的多核CPU中各空闲的CPU核对不同的逻辑通道内的待处理数据流进行并行业务处理。进而实现多核CPU中各CPU核并行处理网络接口中的数据流,避免了对多核CPU资源的浪费,提高多核CPU中每个CPU核对数据包处理能力的效率。
可选地,为了更好的实现多核处理器中各处理器核并行处理网络接口中的数据流,在本发明实施例中,在任意时刻,多核CPU中各空闲CPU核仅对1个逻辑通道内的待处理数据流进行数据处理;同时,任意时刻每个逻辑通道只能被1个空闲CPU核访问。
在本发明实施例中,在任意时刻,接收队列中的第一数据包或者发送队列中的第二数据包仅被多核CPU中1个空闲CPU进行业务处理。
因此,通过应用本发明实施例提供的数据流的处理方法,根据用户输入的配置参数,在网络接口中建立至少1个逻辑通道,当网络接口中存在待处理数据流时,根据获取的待处理数据流的特征属性信息,将待处理数据流分配到匹配的逻辑通道内,使得网络服务器的多核处理器中各空闲处理器核对不同的逻辑通道内的待处理数据流进行并行业务处理。解决了现有技术中网络服务器采用自旋锁技术造成的CPU核资源的浪费,降低每个CPU核对数据包处理能力的效率的问题,实现了多核处理器中各处理器核并行处理网络接口中的数据流,充分利用多核处理器的优势,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
实施例二
另外,本发明实施例二还提供了一种数据流的处理系统,用以实现前述本发明实施例中的数据流的处理方法,如图2所示,该系统可应用在网络服务器内部,也可应用在使用多核CPU处理数据流的场景下。
如图2所示,本实施例的数据流的处理系统包括:网络接口210、多核处理器220和存储器230。系统总线240用于连接网络接口210、多核处理器220和存储器230。
网络接口210用于与外部设备进行交互通信。所述外部设备具体为终端、、路由器、网关等等。
存储器230可以是永久存储器,例如硬盘驱动器和闪存,存储器230用于存储应用程序,所述应用程序包括可用于使所述系统执行如下指令:
接收用户输入的配置参数;
根据所述配置参数,在所述网络接口中建立至少1个逻辑通道;
当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;
根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
进一步地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
根据所述配置参数,在每个所述逻辑通道内建立至少1个发送队列和至少1个接收队列;
所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
进一步地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
根据所述用户输入的配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少1个发送队列和至少1个接收队列;
判断所述待处理数据流的访问类型;
如果所述待处理数据流的访问类型为接收数据类型,则所述所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少1个所述接收队列中。
进一步地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少1个所述发送队列中。
进一步地,所述应用程序可用于使所述系统包括的所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理过程的指令为:
如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
进一步地,在任意时刻,所述多核处理器中各空闲处理器核对1个所述逻辑通道内的所述待处理数据流进行业务处理。
进一步地,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中1个空闲处理器核进行业务处理。
因此,通过应用本发明实施例提供的数据流的处理系统,根据用户输入的配置参数,在网络接口中建立至少1个逻辑通道,当网络接口中存在待处理数据流时,根据获取的待处理数据流的特征属性信息,将待处理数据流分配到匹配的逻辑通道内,使得网络服务器的多核处理器中各空闲处理器核对不同的逻辑通道内的待处理数据流进行并行业务处理。解决了现有技术中网络服务器采用自旋锁技术造成的CPU核资源的浪费,降低每个CPU核对数据包处理能力的效率的问题,实现了多核处理器中各处理器核并行处理网络接口中的数据流,充分利用多核处理器的优势,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种数据流的处理方法,其特征在于,所述方法包括:
接收用户输入的配置参数;
根据所述配置参数,在网络接口中建立至少1个逻辑通道;
当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;
根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
2.根据权利要求1所述的数据流的处理方法,其特征在于,所述根据所述配置参数,在网络接口中建立至少1个逻辑通道之后还包括:
根据所述配置参数,在每个所述逻辑通道内建立至少1个发送队列和至少1个接收队列;
所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
3.根据权利要求2所述的数据流的处理方法,其特征在于,所述根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内之后还包括:
根据所述配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少1个发送队列和至少1个接收队列;
判断所述待处理数据流的访问类型;
如果所述待处理数据流的访问类型为接收数据类型,则所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少1个所述接收队列中。
4.根据权利要求3所述的数据流的处理方法,其特征在于,所述判断所述待处理数据流的访问类型还包括:
如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少1个所述发送队列中。
5.根据权利要求3或4所述的数据流的处理方法,其特征在于,所述多核处理器的空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理具体包括:
如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
6.根据权利要求1所述的数据流的处理方法,其特征在于,在任意时刻,所述多核处理器中各空闲处理器核对1个所述逻辑通道内的所述待处理数据流进行业务处理。
7.根据权利要求5所述的数据流的处理方法,其特征在于,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中1个空闲处理器核进行业务处理。
8.一种数据流的处理系统,其特征在于,所述系统包括:
网络接口;
多核处理器;
存储器;
物理存储在所述存储器中的应用程序,所述应用程序包括可用于使所述系统执行以下过程的指令:
接收用户输入的配置参数;
根据所述配置参数,在所述网络接口中建立至少1个逻辑通道;
当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;
根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
9.根据权利要求8所述的数据流的处理系统,其特征在于,所述应用程序还包括可用于使所述系统执行以下过程的指令:
根据所述配置参数,在每个所述逻辑通道内建立至少1个发送队列和至少1个接收队列;
所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
10.根据权利要求9所述的数据流的处理系统,其特征在于,所述应用程序还包括可用于使所述系统执行以下过程的指令:
根据所述用户输入的配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少1个发送队列和至少1个接收队列;
判断所述待处理数据流的访问类型;
如果所述待处理数据流的访问类型为接收数据类型,则所述所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少1个所述接收队列中。
11.根据权利要求10所述的数据流的处理系统,其特征在于,所述应用程序还包括可用于使所述系统执行以下过程的指令:
如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少1个所述发送队列中。
12.根据权利要求10或11所述的数据流的处理系统,其特征在于,所述应用程序可用于使所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理过程的指令为:
如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
13.根据权利要求8所述的数据流的处理系统,其特征在于,在任意时刻,所述多核处理器中各空闲处理器核对1个所述逻辑通道内的所述待处理数据流进行业务处理。
14.根据权利要求12所述的数据流的处理系统,其特征在于,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中1个空闲处理器核进行业务处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310504010.4A CN103532876A (zh) | 2013-10-23 | 2013-10-23 | 数据流的处理方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310504010.4A CN103532876A (zh) | 2013-10-23 | 2013-10-23 | 数据流的处理方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103532876A true CN103532876A (zh) | 2014-01-22 |
Family
ID=49934562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310504010.4A Pending CN103532876A (zh) | 2013-10-23 | 2013-10-23 | 数据流的处理方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103532876A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104821924A (zh) * | 2014-01-30 | 2015-08-05 | 西门子公司 | 一种网络数据包处理方法、装置和网络处理设备 |
CN105792289A (zh) * | 2014-12-23 | 2016-07-20 | 中国移动通信集团公司 | 一种数据传输方法、相关节点及系统 |
CN107819693A (zh) * | 2016-09-12 | 2018-03-20 | 北京百度网讯科技有限公司 | 用于数据流系统的数据流处理方法及装置 |
CN108259248A (zh) * | 2018-01-31 | 2018-07-06 | 泰康保险集团股份有限公司 | 队列管理器的配置方法及装置 |
CN111030844A (zh) * | 2019-11-14 | 2020-04-17 | 中盈优创资讯科技有限公司 | 流量处理框架建立方法及装置 |
CN111667680A (zh) * | 2020-06-03 | 2020-09-15 | 贵州电网有限责任公司 | 一种数据传输方法、rdss通信终端和存储介质 |
CN111859416A (zh) * | 2020-06-23 | 2020-10-30 | 天地融科技股份有限公司 | 一种安全显示控制的方法及装置 |
WO2021073473A1 (zh) * | 2019-10-16 | 2021-04-22 | 中兴通讯股份有限公司 | 数据包处理方法、装置、通信设备及存储介质 |
CN112789604A (zh) * | 2018-09-28 | 2021-05-11 | 罗克韦尔柯林斯德国公司 | 具有多个处理器和多个接口的数据处理设备 |
CN112866029A (zh) * | 2021-02-03 | 2021-05-28 | 树根互联股份有限公司 | 基于云平台的日志数据处理方法、装置以及服务端设备 |
CN113312605A (zh) * | 2021-04-15 | 2021-08-27 | 北京交通大学 | 一种数据传输方法、装置、电子设备及存储介质 |
CN114024838A (zh) * | 2021-11-26 | 2022-02-08 | 北京天融信网络安全技术有限公司 | 日志处理方法、装置及电子设备 |
US20230308952A1 (en) * | 2022-03-28 | 2023-09-28 | International Business Machines Corporation | Resource management and logical channel aggregation for 5g networks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101568191A (zh) * | 2009-05-06 | 2009-10-28 | 北京创毅视讯科技有限公司 | 移动终端上主从设备之间的数据通讯方法和移动终端 |
CN101650698A (zh) * | 2009-08-28 | 2010-02-17 | 曙光信息产业(北京)有限公司 | 直接存储器访问的实现方法 |
CN101901198A (zh) * | 2008-12-12 | 2010-12-01 | 辉达公司 | 通过标记cpu流量为特殊来避免死锁 |
CN102497322A (zh) * | 2011-12-19 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法 |
-
2013
- 2013-10-23 CN CN201310504010.4A patent/CN103532876A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901198A (zh) * | 2008-12-12 | 2010-12-01 | 辉达公司 | 通过标记cpu流量为特殊来避免死锁 |
CN101568191A (zh) * | 2009-05-06 | 2009-10-28 | 北京创毅视讯科技有限公司 | 移动终端上主从设备之间的数据通讯方法和移动终端 |
CN101650698A (zh) * | 2009-08-28 | 2010-02-17 | 曙光信息产业(北京)有限公司 | 直接存储器访问的实现方法 |
CN102497322A (zh) * | 2011-12-19 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104821924B (zh) * | 2014-01-30 | 2018-11-27 | 西门子公司 | 一种网络数据包处理方法、装置和网络处理设备 |
CN104821924A (zh) * | 2014-01-30 | 2015-08-05 | 西门子公司 | 一种网络数据包处理方法、装置和网络处理设备 |
CN105792289A (zh) * | 2014-12-23 | 2016-07-20 | 中国移动通信集团公司 | 一种数据传输方法、相关节点及系统 |
CN105792289B (zh) * | 2014-12-23 | 2019-06-25 | 中国移动通信集团公司 | 一种数据传输方法、相关节点及系统 |
CN107819693A (zh) * | 2016-09-12 | 2018-03-20 | 北京百度网讯科技有限公司 | 用于数据流系统的数据流处理方法及装置 |
CN107819693B (zh) * | 2016-09-12 | 2019-05-07 | 北京百度网讯科技有限公司 | 用于数据流系统的数据流处理方法及装置 |
CN108259248A (zh) * | 2018-01-31 | 2018-07-06 | 泰康保险集团股份有限公司 | 队列管理器的配置方法及装置 |
CN112789604A (zh) * | 2018-09-28 | 2021-05-11 | 罗克韦尔柯林斯德国公司 | 具有多个处理器和多个接口的数据处理设备 |
CN112789604B (zh) * | 2018-09-28 | 2024-04-26 | 罗克韦尔柯林斯德国公司 | 具有多个处理器和多个接口的数据处理设备 |
WO2021073473A1 (zh) * | 2019-10-16 | 2021-04-22 | 中兴通讯股份有限公司 | 数据包处理方法、装置、通信设备及存储介质 |
CN111030844A (zh) * | 2019-11-14 | 2020-04-17 | 中盈优创资讯科技有限公司 | 流量处理框架建立方法及装置 |
CN111667680A (zh) * | 2020-06-03 | 2020-09-15 | 贵州电网有限责任公司 | 一种数据传输方法、rdss通信终端和存储介质 |
CN111859416A (zh) * | 2020-06-23 | 2020-10-30 | 天地融科技股份有限公司 | 一种安全显示控制的方法及装置 |
CN112866029A (zh) * | 2021-02-03 | 2021-05-28 | 树根互联股份有限公司 | 基于云平台的日志数据处理方法、装置以及服务端设备 |
CN112866029B (zh) * | 2021-02-03 | 2023-09-29 | 树根互联股份有限公司 | 基于云平台的日志数据处理方法、装置以及服务端设备 |
CN113312605A (zh) * | 2021-04-15 | 2021-08-27 | 北京交通大学 | 一种数据传输方法、装置、电子设备及存储介质 |
CN114024838A (zh) * | 2021-11-26 | 2022-02-08 | 北京天融信网络安全技术有限公司 | 日志处理方法、装置及电子设备 |
US20230308952A1 (en) * | 2022-03-28 | 2023-09-28 | International Business Machines Corporation | Resource management and logical channel aggregation for 5g networks |
US11877191B2 (en) * | 2022-03-28 | 2024-01-16 | International Business Machines Corporation | Resource management and logical channel aggregation for 5G networks |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103532876A (zh) | 数据流的处理方法与系统 | |
CN105511954A (zh) | 一种报文处理方法及装置 | |
US10521283B2 (en) | In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives | |
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
TWI430102B (zh) | 網路卡資源配置方法、儲存媒體、及電腦 | |
US8751655B2 (en) | Collective acceleration unit tree structure | |
US9742855B2 (en) | Hybrid tag matching | |
CN102497322A (zh) | 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法 | |
CN109697122A (zh) | 任务处理方法、设备及计算机存储介质 | |
CN103200128A (zh) | 一种网络包处理的方法、装置和系统 | |
CN112291293B (zh) | 任务处理方法、相关设备及计算机存储介质 | |
CN104281493A (zh) | 一种提升应用交付通讯平台多进程程序性能的方法 | |
US10263893B2 (en) | Application-level dynamic scheduling of network communication for efficient re-partitioning of skewed data | |
CN109992405A (zh) | 一种处理数据报文的方法和网卡 | |
US11218570B2 (en) | Network packet processing method and apparatus and network server | |
WO2014070137A1 (en) | Waved time multiplexing | |
WO2015113435A1 (zh) | 基于并行协议栈实例的数据包处理方法和装置 | |
CN104965810A (zh) | 多核模式下快速处理数据报文的方法及装置 | |
US20090132582A1 (en) | Processor-server hybrid system for processing data | |
US11700189B2 (en) | Method for performing task processing on common service entity, common service entity, apparatus and medium for task processing | |
CN104899105A (zh) | 一种进程间通信方法 | |
CN103347077A (zh) | 分布式文件系统的数据传输方法和装置 | |
WO2022228485A1 (zh) | 一种数据传输方法、数据处理方法及相关产品 | |
US10284501B2 (en) | Technologies for multi-core wireless network data transmission | |
CN104125292A (zh) | 一种数据处理装置、云服务器及其使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140122 |
|
RJ01 | Rejection of invention patent application after publication |