多核模式下快速处理数据报文的方法及装置制造方法及图纸

技术编号:12181745 阅读:37 留言:0更新日期:2015-10-08 19:37
本发明专利技术提出了一种多核模式下快速处理数据报文的方法及装置。该方法包括:规则表项建立步骤:将管理报文上送至运行在多核中至少一个核上的用户态程序,以使用户态程序基于所述管理报文建立发送规则表项,所述发送规则表项包括所有业务报文的特征和与之对应的发送规则;收包步骤:从服务器的硬件端口对实时业务报文进行收包,将所述实时业务报文上送至运行在多核中其它至少一个核上的用户态程序;转发步骤:根据实时业务报文的特征查找所述发送规则表项,并按相应的发送规则转发所述实时业务报文。采用该方法可以提高数据报文处理的速度,提高中央处理器的数据处理能力。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种多核模式下快速处理数据报文的方法。此外,本专利技术还涉及一种多核模式下快速处理数据报文的装置。
技术介绍
现有技术中,中央处理器CPU首先通过套接字socket接收数据报文,然后根据数据报文的类型对数据报文进行相应的处理,其中数据报文包括管理报文和业务报文,管理报文的数据载荷内容中包括发送规则表项,发送业务报文之前,根据业务报文的特点查找规则表项并按相应的规则转发出去,所有的处理过程都是通过socket完成,由于socket是在协议栈基础上运行的,数据报文处理的全过程都需要TCP/IP协议栈的参与。另外,数据报文的处理都是在用户态进行的,数据报文从内核态上送至用户态时首先要经过TCP/IP协议栈,并且有数据拷贝的动作,整个数据报文的处理流程相对来说比较复杂,业务报文的处理速度比较慢,影响中央处理器的数据处理性能。因此,需要一种多核模式下快速处理业务数据报文的方法,以解决现有技术中存在的上述技术问题。
技术实现思路
本专利技术提供一种多核模式下快速处理业务数据报文的方法。采用所述多核模式下快速处理业务数据报文的方法可以提高数据报文处理的速度,提高中央处理器的数据处理能力。此外,本专利技术还提供了一种多核模式下快速处理业务数据报文的装置。本专利技术采用的技术方案是:一种多核模式下快速处理数据报文的方法,其包括:规则表项建立步骤:将管理报文上送至运行在多核中至少一个核上的用户态程序,以使用户态程序基于所述管理报文建立发送规则表项,所述发送规则表项包括所有业务报文的特征和与之对应的发送规则;收包步骤:从服务器的硬件端口对实时业务报文进行收包,将所述实时业务报文上送至运行在多核中其它至少一个核上的用户态程序;转发步骤:根据实时业务报文的特征查找所述发送规则表项,并按相应的发送规则转发所述实时业务报文。优选地,在规则表项建立步骤中,通过协议栈将所述管理报文上送至运行在所述多核中至少一个核上的用户态程序,和/或,根据设定的五元组规则建立所述发送规则表项。优选地,在规则表项建立步骤中,提取所述管理报文中数据载荷的内容,以获取所述设定的五元组规则。优选地,在规则表项建立步骤中,根据硬核分配策略将所述管理报文上送至运行在所述多核中至少一个核上的用户态程序;在收包步骤中,根据所述硬核分配策略将所述实时业务报文上送至运行在所述多核中其它至少一个核上的用户态程序。优选地,收包步骤中,通过轮询的方式从所述服务器的硬件端口对所述实时业务报文进行收包。本专利技术还提供了一种多核模式下快速处理数据报文的装置,设置于服务器中,其包括:规则表项建立模块,用于将管理报文上送至运行在多核中至少一个核上的用户态程序,以使用户态程序基于所述管理报文建立发送规则表项,所述发送规则表项包括所有业务报文的特征和与之对应的发送规则;收包模块,用于从服务器的硬件端口对实时业务报文进行收包,将所述实时业务报文上送至运行在多核中其它至少一个核上的用户态程序;转发模块,用于根据实时业务报文的特征查找所述发送规则表项,并按相应的发送规则转发所述实时业务报文。优选地,所述规则表项建立模块,还用于通过协议栈将所述管理报文上送至运行在多核中至少一个核上的用户态程序,和/或,还用于根据设定的五元组规则建立所述发送规则表项。优选地,所述规则表项建立模块,还用于提取所述管理报文中数据载荷的内容,以获取所述设定的五元组规则。优选地,所述规则表项建立模块还用于,根据硬核分配策略将所述管理报文上送至运行在所述多核中至少一个核上的用户态程序;所述收包模块还用于,根据所述硬核分配策略将所述实时业务报文上送至运行在所述多核中其它至少一个核上的用户态程序。优选地,所述收包模块还用于,通过轮询的方式从所述服务器的硬件端口对所述实时业务报文进行收包。采用上述技术方案,本专利技术至少具有下列优点:采用本专利技术的多模式下快速处理数据报文的方法可以实现对管理报文的可靠处理,而实现对业务报文的快速处理,减少了业务报文拷贝的次数,简化了系统的处理流程,提高了服务器的数据处理能力。【附图说明】图1为本专利技术第一实施例的多核模式下快速处理业务数据报文的方法的流程图;图2为本专利技术第二优选实施例的多核模式下快速处理业务数据报文的装置的示意图。其中,100-规则表项建立模块;200_收包模块;300_转发模块。【具体实施方式】为更进一步阐述本专利技术为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本专利技术进行详细说明如后。本专利技术提供的多核模式下快速处理数据报文的方法能够实现数据报文的快速处理,下面将详细地描述本专利技术的多核模式下快速处理业务数据报文的方法及其各个步骤。第一实施例如图1所示,本实施例中的多核模式下快速处理数据报文的方法是在服务器采用对称多处理SMP架构下实现的,由此可以将管理报文和业务报文分开来分别处理。具体地,如图中示出的,该方法包括规则表项建立步骤S10、收包步骤S20和转发步骤S30。其中,规则表项建立步骤SlO:将管理报文上送至运行在多核中至少一个核上的用户态,以使用户态程序基于管理报文建立发送规则表项,发送规则表项包括所有业务报文的特征和与之对应的发送规则。多核模式下是指一个CPU包括多个核,数据报文可以由指定的核处理,也可以分发到所有的核上同时处理。具体执行过程中,用户可以通过以太网端口向服务器下发包括发送规则表项的管理报文,将实时业务报文通过高速端口上送服务器。从而从服务器的不同硬件端口向服务器分开发送管理报文和业务报文。规则表项建立步骤SlO是将管理报文发送至多核中至少一个核上的用户态。服务器接收到管理报文后提取并且存储发送规则表项。作为优选地,可以根据硬核分配策略将管理报文上送至运行在多核中至少一个核上的用户态程序,例如硬核分配策略可以采用哈希策略,由此确定出负责处理管理报文的核。发送规则表项的建立可以依据不同的方式,只要发送规则表项中包括所有业务报文的特征和与之对应的发送规则即可。进一步地,根据设定的五元组规则建立发送规则表项。数据报文的五元组包括源IP地址、目的IP地址、源端口、目的端口和协议类型,设定的五元组规则是基于上述五元组中各项的不同取值采用对应的发送规则。另外,规则表项建立步骤S10中,数据载荷中的内容包含设定的五元组规则,提取管理报文中数据载荷的内容来获取设定的五元组规则,。由此可以看出,规则表项建立步骤SlO之前,预先将设定的五元组规则设置在管理报文的数据载荷中,当运行在多核中的至少一个核上的用户态程序接收到管理报文后,提取管理报文的数据载荷中包括的设定的五元组规则。此外,在规则表项建立步骤SlO中,通过协议栈例如TCP/IP协议栈,将管理报文上送至运行在多核中至少一个核上的用户态。采用协议栈可以保证管理报文传输的可靠性,确保管理报文的稳定处理。管理报文的到来是通过服务器的硬件端口例如以太网端口发送中断信号通知服务器,由此服务器将管理报文上送至运行在多核中至少一个核上的用户态程序。收包步骤S20:从服务器的硬件端口对实时业务报文进行收包至运行在多核中其它至少一个核上的用户态程当前第1页1 2 本文档来自技高网...

【技术保护点】
一种多核模式下快速处理数据报文的方法,其特征在于,包括:规则表项建立步骤:将管理报文上送至运行在多核中至少一个核上的用户态程序,以使用户态程序基于所述管理报文建立发送规则表项,所述发送规则表项包括所有业务报文的特征和与之对应的发送规则;收包步骤:从服务器的硬件端口对实时业务报文进行收包,将所述实时业务报文上送至运行在多核中其它至少一个核上的用户态程序;转发步骤:根据实时业务报文的特征查找所述发送规则表项,并按相应的发送规则转发所述实时业务报文。

【技术特征摘要】

【专利技术属性】
技术研发人员:周立邹昕张家琦金暐李应博朱小波
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1