数据流的处理方法与系统的制作方法

文档序号:6516413阅读:148来源:国知局
数据流的处理方法与系统的制作方法
【专利摘要】本发明实施例涉及一种数据流的处理方法与系统。所述方法包括:接收用户输入的配置参数;根据所述配置参数,在网络接口中建立至少1个逻辑通道;当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。实现了多核处理器中各处理器核并行处理网络接口中的数据流,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
【专利说明】数据流的处理方法与系统
【技术领域】
[0001]本发明涉及计算机系统和多核网络处理技术,尤其涉及ー种数据流的处理方法与系统。
【背景技术】
[0002]在三网融合、云计算和物联网等新兴通讯概念迅猛发展的背景下,由于各种高速率、低延迟的网络数据应用持续增长,对通信网络提出了更高的容量以及速率的要求。
[0003]现阶段的多核处理器作为高性能处理器的典型代表,其通过多个CPU核间有效的任务分配,多个CPU核间的并行计算极大增强了处理器在多任务条件下的处理能力,满足当前对通信网络提出的容量以及速率的要求。但是,在现有的网络服务器中,由于网卡设备管理器和网卡驱动程序中使用唯一的业务队列进行数据包的存储,在多个CPU核同时并发进行数据包处理时,必然造成对业务队列控制权的竞争。
[0004]目前,网络服务器通过自旋锁(Spinlock)技术,克服多个CPU核对业务队列控制权的竞争。自旋锁技木,是指在多个CPU核的相关进程并发访问业务队列吋,只有成功对业务队列加锁的CPU核才能获得业务队列的控制权,进入临界区域。其余CPU核在该业务队列的自旋锁解锁之前,将不断循环尝试,一直处于“忙等待”状态。
[0005]在现有技术中,网络服务器采用自旋锁技术克服多个CPU核对业务队列控制权的竞争,也暴露出以下缺陷:处于“忙等待”状态的CPU核,持续处在循环等待的状态,造成CPU核资源的浪费。尤其是在通信网络负载较重的情况下,每个CPU核均需快速向外发送数据包,造成多个CPU核对业务队列的竞争冲突更加激烈,降低每个CPU核对数据包处理能力的效率。

【发明内容】

[0006]本发明实施例提供了一种数据流的处理方法与系统,实现了多核处理器中各处理器核并行处理网络接口中的数据流,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接ロ的网络性能。
[0007]在第一方面,本发明实施例提供了一种数据流的处理方法,所述方法包括:
[0008]接收用户输入的配置參数;
[0009]根据所述配置參数,在网络接口中建立至少I个逻辑通道;
[0010]当所述网络接ロ中存在待处理数据流吋,获取所述待处理数据流的特征属性信息;
[0011]根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
[0012]优选地,所述根据所述配置參数,在网络接口中建立至少I个逻辑通道之后还包括:[0013]根据所述配置參数,在每个所述逻辑通道内建立至少I个发送队列和至少I个接收队列;
[0014]所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
[0015]优选地,所述根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内之后还包括:
[0016]根据所述配置參数,为分配到所述逻辑通道内的所述待处理数据流分配至少I个发送队列和至少I个接收队列;
[0017]判断所述待处理数据流的访问类型;
[0018]如果所述待处理数据流的访问类型为接收数据类型,则所述网络接ロ将所述待处理数据流包括的第一数据包存储在已分配的至少I个所述接收队列中。
[0019]优选地,所述判断所述待处理数据流的访问类型还包括:
[0020]如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少I个所述发送队列中。
[0021]优选地,所述多核处理器的空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理具体包括:
[0022]如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
[0023]如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接ロ发送通知消息,使得所述网络接ロ将所述发送队列存储的所述第二数据包进行发送处理。
[0024]优选地,在任意时刻,所述多核处理器中各空闲处理器核对I个所述逻辑通道内的所述待处理数据流进行业务处理。
[0025]优选地,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中I个空闲处理器核进行业务处理。
[0026]在第二方面,本发明实施例提供了一种数据流的处理系统,所述系统包括:
[0027]网络接ロ:
[0028]多核处理器;
[0029]存储器;
[0030]物理存储在所述存储器中的应用程序,所述应用程序包括可用于使所述所述系统执行以下过程的指令:
[0031]接收用户输入的配置參数;
[0032]根据所述配置參数,在所述网络接口中建立至少I个逻辑通道;
[0033]当所述网络接ロ中存在待处理数据流吋,获取所述待处理数据流的特征属性信息;
[0034]根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
[0035]优选地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
[0036]根据所述配置參数,在每个所述逻辑通道内建立至少I个发送队列和至少I个接收队列;
[0037]所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
[0038]优选地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
[0039]根据所述用户输入的配置參数,为分配到所述逻辑通道内的所述待处理数据流分配至少I个发送队列和至少I个接收队列;
[0040]判断所述待处理数据流的访问类型;
[0041]如果所述待处理数据流的访问类型为接收数据类型,则所述所述网络接ロ将所述待处理数据流包括的第一数据包存储在已分配的至少I个所述接收队列中。
[0042]优选地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
[0043]如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少I个所述发送队列中。
[0044]优选地,所述应用程序可用于使所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理过程的指令为:
[0045]如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
[0046]如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接ロ发送通知消息,使得所述网络接ロ将所述发送队列存储的所述第二数据包进行发送处理。
[0047]优选地,在任意时刻,所述多核处理器中各空闲处理器核对I个所述逻辑通道内的所述待处理数据流进行业务处理。
[0048]优选地,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中I个空闲处理器核进行业务处理。
[0049]因此,通过应用本发明实施例提供的数据流的处理方法与系统,根据用户输入的配置參数,在网络接ロ中建立至少I个逻辑通道,当网络接ロ中存在待处理数据流吋,根据获取的待处理数据流的特征属性信息,将待处理数据流分配到匹配的逻辑通道内,使得网络服务器的多核处理器中各空闲处理器核对不同的逻辑通道内的待处理数据流进行并行业务处理。解决了现有技术中网络服务器采用自旋锁技术造成的CPU核资源的浪费,降低每个CPU核对数据包处理能力的效率的问题,实现了多核处理器中各处理器核并行处理网络接ロ中的数据流,充分利用多核处理器的优势,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接ロ的网络性能。
【专利附图】

【附图说明】
[0050]图1为本发明实施例一提供的数据流的处理方法流程图;[0051]图2为本发明实施例二提供的数据流的处理系统示意图。
【具体实施方式】
[0052]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053]为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
[0054]实施例一
[0055]下面以图1为例详细说明本发明实施例一提供的数据流的处理方法,图1为本发明实施例一提供的数据流的处理方法流程图,在本发明实施例中,执行下述步骤的实施主体为应用所述数据流的处理方法的通信系统,具体的,该通信系统可应用在网络服务器中,但并不限制于此,下面以网络服务器为实施主体详细说明。如图1所示,该实施例具体包括以下步骤:
[0056]步骤101、接收用户输入的配置参数。
[0057]具体地,对网络服务器进行初始化处理,在执行初始化处理后,网络服务器接收用户输入的配置参数。
[0058]本发明实施例中,作为示例而非限定,所述配置参数具体包括:使用多核CPU中(PU核的个数、为网络服务器的网络接口建立逻辑通道的个数,每个逻辑通道内建立的发送队列和接收队列的个数,以及为网络接口中每条数据流分配的发送队列和接收队列的个数
坐坐寸寸O
[0059]其中,所述网络接口具体为高速网络接口,例如,当前流行的IOGb网络接口,以及正在普及的40Gb、100Gb网络接口等,所述高速网络接口具体可通过协处理器实现。
[0060]步骤102、根据所述配置参数,在网络接口中建立至少I个逻辑通道。
[0061]具体地,根据步骤101中用户输入的配置参数,网络服务器在自身包括的网络接口中建立至少I个逻辑通道。
[0062]步骤103、根据所述配置参数,在每个所述逻辑通道内建立至少I个发送队列和至少I个接收队列。
[0063]具体地,根据步骤101中用户输入的配置参数,网络服务器在已建立的逻辑通道内建立至少I个发送队列和至少I个接收队里。
[0064]其中,所述发送队列用于存储网络接口中待处理数据流包括的待发送数据;所述接收队列用于存储网络接口中待处理数据流包括的待接收数据。
[0065]在本发明实施例中,可在网络接口中的共享内存中建立至少I个逻辑通道,并在逻辑通道内建立至少I个发送队列和至少I个接收队列。
[0066]可以理解的是,接收队列和发送队列的长度可由用户输入配置参数时确定。
[0067]步骤104、当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征
属性信息。
[0068]具体地,网络服务器周期性地检测网络接口中是否存在待处理数据流,当网络接口中存在待处理数据流时,网络服务器获取待处理数据流的特征属性信息。
[0069]本发明实施例中,作为示例而非限定,所述待处理数据流的特征属性信息具体包括:源TP地址信息、目的TP地址信息、源端口号以及目的端口号中的I个或多个组合。
[0070]步骤105、根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息向匹配的所述逻辑通道内。
[0071]具体地,根据步骤104中获取的待处理数据流的特征属性参数,网络服务器将待处理数据流分配到与所述特征属性信息相匹配的逻辑通道内。
[0072]在一个例子中,待处理数据流的特征属性参数包括源TP地址信息、目的TP地址信息,根据待处理数据流的源TP地址信息和目的TP地址信息,例如,经过哈希(hash)运算,得到与源TP地址信息和目的TP地址信息对应的逻辑通道,也即是该逻辑通道的地址信息与特征属性参数包括的地址信息匹配,例如,逻辑通道I的地址信息与特征属性参数包括的地址信息匹配,则将待处理数据流分配到查找出的逻辑通道I内,并将待处理数据流包括的数据包存储在该逻辑通道I内。
[0073]步骤106、根据所述配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少I个发送队列和至少I个接收队列。
[0074]具体地,根据步骤101中用户输入的配置参数,网络服务器为分配到逻辑通道内的待处理数据流分配至少I个发送队列和至少I个接收队列。
[0075]进一步地,如前述步骤的例子,网络服务器为分配到逻辑通道I内的待处理数据流分配I个发送队列和I个接受队列。
[0076]步骤107、判断所述待处理数据流的访问类型。
[0077]具体地,如前述步骤的例子,网络服务器判断分配到逻辑通道I内的待处理数据流的访问类型,如果待处理数据流的访问类型为接收数据类型,则执行步骤108-109 ;如果待处理数据流的访问类型为发送数据类型,则执行步骤110-111。
[0078]可以理解的是,所述接收数据类型具体为网络服务器接收外部设备发送数据流;所述发送数据类型具体为网络服务器包括的多核CPU的各CPU核向外部设备发送数据流。
[0079]步骤108、如果所述待处理数据流的访问类型为接收数据类型,则所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少I个所述接收队列中。
[0080]具体地,根据步骤107的判断,如果待处理数据流的访问类型为接收数据类型,则网络接口将待处理数据流包括的第一数据包存储在已分配的I个接收队列中。
[0081]步骤109、如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理。
[0082]具体地,如果待处理数据流的访问类型为接收数据类型,多核CPU的空闲CPU核访问为待处理数据流分配的I个接收队列,从该接收队列中读取第一数据包,并对第一数据包进行协议处理。
[0083]步骤110、如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少I个所述发送队列中。
[0084]具体地,根据步骤106的判断,如果待处理数据流的访问类型为发送数据类型,则多核CPU的各空闲CPU核将待处理数据流包括的第二数据包存储在已分配的I个发送队列中。
[0085]步骤111、如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
[0086]具体地,如果待处理数据流的访问类型为发送数据类型,多核CPU的空闲CPU核访问为待处理数据流分配的I个发送队列,并向网络接口发送通知消息,使得网络接口将发送队列存储的第二数据包进行发送处理。
[0087]步骤112、判断所述待处理数据流是否已经处理完成。
[0088]具体地,在执行完成步骤109或者步骤111之后,网络服务器判断逻辑通道I内的待处理数据流是否已经处理完成。如果待处理数据流已经处理完成,则网络服务器将为待处理数据流分配的接收队列和发送队列进行清空处理,减少内存的占用率,并重新执行步骤105 ;如果逻辑通道I内的待处理数据流未处理完成,则网络服务器继续判断该待处理数据流的访问类型,并执行后续步骤。
[0089]可以理解的是,在执行步骤105-107的基础上,根据待处理数据流的访问类型,分别执行步骤108-109以及步骤110-111,以使得网络服务器包括的多核CPU中各空闲的CPU核对不同的逻辑通道内的待处理数据流进行并行业务处理。进而实现多核CPU中各CPU核并行处理网络接口中的数据流,避免了对多核CPU资源的浪费,提高多核CPU中每个CPU核对数据包处理能力的效率。
[0090]可选地,为了更好的实现多核处理器中各处理器核并行处理网络接口中的数据流,在本发明实施例中,在任意时刻,多核CPU中各空闲CPU核仅对I个逻辑通道内的待处理数据流进行数据处理;同时,任意时刻每个逻辑通道只能被I个空闲CPU核访问。
[0091]在本发明实施例中,在任意时刻,接收队列中的第一数据包或者发送队列中的第二数据包仅被多核CPU中I个空闲CPU进行业务处理。
[0092]因此,通过应用本发明实施例提供的数据流的处理方法,根据用户输入的配置参数,在网络接口中建立至少I个逻辑通道,当网络接口中存在待处理数据流时,根据获取的待处理数据流的特征属性信息,将待处理数据流分配到匹配的逻辑通道内,使得网络服务器的多核处理器中各空闲处理器核对不同的逻辑通道内的待处理数据流进行并行业务处理。解决了现有技术中网络服务器采用自旋锁技术造成的CPU核资源的浪费,降低每个CPU核对数据包处理能力的效率的问题,实现了多核处理器中各处理器核并行处理网络接口中的数据流,充分利用多核处理器的优势,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
[0093]实施例二
[0094]另外,本发明实施例二还提供了一种数据流的处理系统,用以实现前述本发明实施例中的数据流的处理方法,如图2所示,该系统可应用在网络服务器内部,也可应用在使用多核CPU处理数据流的场景下。
[0095]如图2所示,本实施例的数据流的处理系统包括:网络接口 210、多核处理器220和存储器230。系统总线240用于连接网络接口 210、多核处理器220和存储器230。
[0096]网络接口 210用于与外部设备进行交互通信。所述外部设备具体为终端、、路由器、网关等等。
[0097]存储器230可以是永久存储器,例如硬盘驱动器和闪存,存储器230用于存储应用程序,所述应用程序包括可用于使所述系统执行如下指令:
[0098]接收用户输入的配置参数;
[0099]根据所述配置参数,在所述网络接口中建立至少I个逻辑通道;
[0100]当所述网络接口中存在待处理数据流时,获取所述待处理数据流的特征属性信息;
[0101]根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
[0102]进一步地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
[0103]根据所述配置参数,在每个所述逻辑通道内建立至少I个发送队列和至少I个接收队列;
[0104]所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
[0105]进一步地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
[0106]根据所述用户输入的配置参数,为分配到所述逻辑通道内的所述待处理数据流分配至少I个发送队列和至少I个接收队列;
[0107]判断所述待处理数据流的访问类型;
[0108]如果所述待处理数据流的访问类型为接收数据类型,则所述所述网络接口将所述待处理数据流包括的第一数据包存储在已分配的至少I个所述接收队列中。
[0109]进一步地,所述应用程序还包括可用于使所述系统执行以下过程的指令:
[0110]如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少I个所述发送队列中。
[0111]进一步地,所述应用程序可用于使所述系统包括的所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理过程的指令为:
[0112]如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理;
[0113]如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接口发送通知消息,使得所述网络接口将所述发送队列存储的所述第二数据包进行发送处理。
[0114]进一步地,在任意时刻,所述多核处理器中各空闲处理器核对I个所述逻辑通道内的所述待处理数据流进行业务处理。
[0115]进一步地,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中I个空闲处理器核进行业务处理。
[0116]因此,通过应用本发明实施例提供的数据流的处理系统,根据用户输入的配置参数,在网络接口中建立至少I个逻辑通道,当网络接口中存在待处理数据流时,根据获取的待处理数据流的特征属性信息,将待处理数据流分配到匹配的逻辑通道内,使得网络服务器的多核处理器中各空闲处理器核对不同的逻辑通道内的待处理数据流进行并行业务处理。解决了现有技术中网络服务器采用自旋锁技术造成的CPU核资源的浪费,降低每个CPU核对数据包处理能力的效率的问题,实现了多核处理器中各处理器核并行处理网络接口中的数据流,充分利用多核处理器的优势,避免了对多核处理器资源的浪费,提高多核处理器中每个处理器核对数据包处理能力的效率,同时,也提高了网络接口的网络性能。
[0117]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据流的处理方法,其特征在于,所述方法包括: 接收用户输入的配置參数; 根据所述配置參数,在网络接口中建立至少I个逻辑通道; 当所述网络接ロ中存在待处理数据流吋,获取所述待处理数据流的特征属性信息; 根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
2.根据权利要求1所述的数据流的处理方法,其特征在于,所述根据所述配置參数,在网络接口中建立至少I个逻辑通道之后还包括: 根据所述配置參数,在每个所述逻辑通道内建立至少I个发送队列和至少I个接收队列; 所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
3.根据权利要求2所述的数据流的处理方法,其特征在干,所述根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内之后还包括: 根据所述配置參数,为分配到所述逻辑通道内的所述待处理数据流分配至少I个发送队列和至少I个接收队列; 判断所述待处理数据流的访问类型; 如果所述待处理数据流的访问类型为接收数据类型,则所述网络接ロ将所述待处理数据流包括的第一数据包存储在已分配的至少I个所述接收队列中。
4.根据权利要求3所述的数据流的处理方法,其特征在于,所述判断所述待处理数据流的访问类型还包括: 如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少I个所述发送队列中。
5.根据权利要求3或4所述的数据流的处理方法,其特征在于,所述多核处理器的空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理具体包括: 如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理; 如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接ロ发送通知消息,使得所述网络接ロ将所述发送队列存储的所述第二数据包进行发送处理。
6.根据权利要求1所述的数据流的处理方法,其特征在于,在任意时刻,所述多核处理器中各空闲处理器核对I个所述逻辑通道内的所述待处理数据流进行业务处理。
7.根据权利要求5所述的数据流的处理方法,其特征在于,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中I个空闲处理器核进行业务处理。
8.一种数据流的处理系统,其特征在于,所述系统包括:网络接ロ ; 多核处理器; 存储器; 物理存储在所述存储器中的应用程序,所述应用程序包括可用于使所述系统执行以下过程的指令: 接收用户输入的配置參数; 根据所述配置參数,在所述网络接口中建立至少I个逻辑通道; 当所述网络接ロ中存在待处理数据流吋,获取所述待处理数据流的特征属性信息; 根据所述待处理数据流的特征属性信息,将所述待处理数据流分配到与所述特征属性信息相匹配的所述逻辑通道内,以使得所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理。
9.根据权利要求8所述的数据流的处理系统,其特征在干,所述应用程序还包括可用于使所述系统执行以下过程的指令: 根据所述配置參数,在每个所述逻辑通道内建立至少I个发送队列和至少I个接收队列; 所述发送队列用于存储所述待处理数据流包括的待发送数据;所述接收队列用于存储所述待处理数据流包括的待接收数据。
10.根据权利要求9所述的数据流的处`理系统,其特征在于,所述应用程序还包括可用于使所述系统执行以下过程的指令: 根据所述用户输入的配置參数,为分配到所述逻辑通道内的所述待处理数据流分配至少I个发送队列和至少I个接收队列; 判断所述待处理数据流的访问类型; 如果所述待处理数据流的访问类型为接收数据类型,则所述所述网络接ロ将所述待处理数据流包括的第一数据包存储在已分配的至少I个所述接收队列中。
11.根据权利要求10所述的数据流的处理系统,其特征在于,所述应用程序还包括可用于使所述系统执行以下过程的指令: 如果所述待处理数据流的访问类型为发送数据类型,则所述多核处理器的各空闲处理器核将所述待处理数据流包括的第二数据包存储在已分配的至少I个所述发送队列中。
12.根据权利要求10或11所述的数据流的处理系统,其特征在于,所述应用程序可用于使所述多核处理器中各空闲处理器核对不同的所述逻辑通道内的所述待处理数据流进行并行业务处理过程的指令为: 如果所述待处理数据流的访问类型为接收数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述接收队列,并对所述接收队列存储的所述第一数据包进行协议处理; 如果所述待处理数据流的访问类型为发送数据类型,所述多核处理器的空闲处理器核访问为所述待处理数据流分配的所述发送队列,并向所述网络接ロ发送通知消息,使得所述网络接ロ将所述发送队列存储的所述第二数据包进行发送处理。
13.根据权利要求8所述的数据流的处理系统,其特征在干,在任意时刻,所述多核处理器中各空闲处理器核对I个所述逻辑通道内的所述待处理数据流进行业务处理。
14.根据权利要求12所述的数据流的处理系统,其特征在于,在任意时刻,所述接收队列中的第一数据包或者所述发送队列中的第二数据包被所述多核处理器中I个空闲处理器核进行业务处理。`
【文档编号】G06F9/38GK103532876SQ201310504010
【公开日】2014年1月22日 申请日期:2013年10月23日 优先权日:2013年10月23日
【发明者】张武, 尚秋里, 王劲林, 郭秀岩 申请人:中国科学院声学研究所, 北京中科智网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1