用于多路cpu架构的报文处理方法、装置及设备
技术领域:
:1.本公开涉及计算机信息处理领域,具体而言,涉及一种用于多路cpu架构的报文处理方法、装置及设备。
背景技术:
::2.由于多核cpu的快速发展,每个内核(core)都要通过共享一个北桥来访问内存,随着核数的不断增多,北桥在响应时间上的性能成为了新的瓶颈,于是多路/多带cpu成为新的j9九游会真人的解决方案。3.如图1所示,每个cpu访问自己的内存称之为localmemoryaccess,cpu之间也可以通过内部总线访问彼此的内存,称之为remotememoryaccess,因此多路/多带cpu架构下localmemoryaccess和remotememoryaccess统称为numa。4.在单个cpu架构下,其内部每个core访问内存的时间几乎是相同的,这种情况下,对于正反向的网络报文来说,由网卡分配到不同的core上,几乎不影响其业务处理性能;而对于多路/多带cpu来说,若网卡将报文分配到不同的core(不在同一网卡节点node)上,则意味着两个core很可能会根据业务需要,在对报文进行业务数据处理时产生remotememoryaccess,从而降低了处理速度,增加了报文cpu处理的难度和复杂度,造成性能上的影响。5.因此,需要一种新的用于多路cpu架构的报文处理方法、装置及设备。6.在所述
背景技术:
:部分公开的上述信息仅用于加强对本技术的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现要素:7.有鉴于此,本技术提供一种用于多路cpu架构的报文处理方法、装置及设备,能够显著减少报文跨芯片发出去情况,显著减少硬件内存存取时跨cpu网卡节点访问情况,提升报文处理速度和效率。8.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。9.根据本技术的一方面,提出一种用于多路cpu架构的报文处理方法,该方法包括:报文处理设备获取待处理的正向报文,所述报文处理设备为多路cpu架构;所述正向报文通过报文处理设备中多路cpu中的一个cpu对应的网卡接口输入到所述cpu;所述cpu对所述正向报文进行数据业务处理,生成处理结果;根据处理结果和接口对应关系表确定正向报文传输路径;将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去。10.在本技术的一种示例性实施例中,还包括:报文处理设备获取待处理的反向报文;根据所述接口对应关系表确定反向报文传输路径;将所述反向报文通过所述反向报文传输路径发送到多路cpu中的一个cpu中进行数据业务处理。11.在本技术的一种示例性实施例中,还包括:根据cpu的网卡、网卡接口和交换芯片、交换芯片接口之间的硬件连接关系生成接口对应关系表。12.在本技术的一种示例性实施例中,根据处理结果和接口对应关系表确定正向报文传输路径,包括:根据处理结果确定目标交换芯片;根据所述目标交换芯片和接口对应关系表确定对应目标网卡接口和目标交换芯片接口;通过所述目标网卡接口和所述目标交换芯片接口生成所述正向报文传输路径。13.在本技术的一种示例性实施例中,将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去,包括:将数据业务处理之后的正向报文通过所述正向报文传输路径发送到交换芯片中;所述交换芯片根据转发规则将所述正向报文转发出去。14.在本技术的一种示例性实施例中,根据所述接口对应关系表确定反向报文传输路径,包括:获取所述反向报文对应的交换机接口;根据所述接口对应关系表确定与所述交换机接口对应的反向网卡接口;通过所述反向网卡接口生成所述反向报文传输路径。15.在本技术的一种示例性实施例中,根据所述接口对应关系表确定与所述交换机接口对应的反向网卡接口,包括:计算所述交换机接口对应的芯片哈希值;根据所述接口对应关系表确定与所述芯片哈希值对应的反向网卡接口。16.根据本技术的一方面,提出一种用于多路cpu架构的报文处理装置,该装置包括:报文模块,用于报文处理设备获取待处理的正向报文,所述报文处理设备为多路cpu架构;输入模块,用于所述正向报文通过报文处理设备中多路cpu中的一个cpu对应的网卡接口输入到所述cpu;处理模块,用于所述cpu对所述正向报文进行数据业务处理,生成处理结果;路径模块,用于根据处理结果和接口对应关系表确定正向报文传输路径;发送模块,用于将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去。17.根据本技术的一方面,提出一种用于多路cpu架构的报文处理设备,该设备包括:多个cpu;所述多个cpu中每个cpu均包含网卡;多个交换芯片;其中,每个cpu对应的网卡均和所述多个交换芯片中的每一个交换芯片物理连接。18.在本技术的一种示例性实施例中,每个cpu对应的网卡均和所述多个交换芯片中的每一个交换芯片物理连接,包括:每个cpu对应的网卡对应着多个网卡接口;所述多个交换芯片中每个交换芯片对应着多个交换芯片接口;每个cpu的网卡接口和每个交换芯片的至少一个交换芯片接口物理连接。19.根据本技术的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。20.根据本技术的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。21.根据本技术的用于多路cpu架构的报文处理方法、装置及设备,通过报文处理设备获取待处理的正向报文,所述报文处理设备为多路cpu架构;所述正向报文通过报文处理设备中多路cpu中的一个cpu对应的网卡接口输入到所述cpu;所述cpu对所述正向报文进行数据业务处理,生成处理结果;根据处理结果和接口对应关系表确定正向报文传输路径;将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去的方式,能够显著减少报文跨芯片发出去情况,显著减少硬件内存存取时跨cpu网卡节点访问情况,提升报文处理速度和效率。22.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。附图说明23.通过参照附图详细描述其示例实施例,本技术的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。24.图1是多路cpu的内存访问示意图。25.图2是现有技术中的多路cpu架构。26.图3是根据一示例性实施例示出的一种用于多路cpu架构的报文处理架构。27.图4是根据一示例性实施例示出的一种用于多路cpu架构的报文处理方法的流程图。28.图5是根据另一示例性实施例示出的一种用于多路cpu架构的报文处理方法的流程图。29.图6是根据一示例性实施例示出的一种用于多路cpu架构的报文处理装置的框图。30.图7是根据另一示例性实施例示出的一种用于多路cpu架构的报文处理装置的框图。31.图8是根据一示例性实施例示出的一种电子设备的框图。32.图9是根据一示例性实施例示出的一种计算机可读介质的框图。具体实施方式33.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本技术将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。34.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。35.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。36.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。37.应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本技术概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。38.本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本技术所必须的,因此不能用于限制本技术的保护范围。39.本技术涉及的技术缩略语解释如下:40.cpu:中央处理器(centralprocessingunit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。cpu自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。41.dma:内存直接存取技术(directmemoryaccess)是一些计算机总线架构提供的功能,它能使数据从附加设备(如磁盘驱动器)直接发送到计算机主板的内存上。42.numa(nonuniformmemoryaccess):非统一内存访问,是一种用于多处理器的电脑内存体设计,内存访问时间取决于处理器的内存位置。在numa下,处理器访问它自己的本地存储器的速度比非本地存储器(存储器的地方到另一个处理器之间共享的处理器或存储器)快一些。numa通过提供分离的存储器给各个处理器,避免当多个处理器访问同一个存储器产生的性能损失来试图解决这个问题。对于涉及到分散的数据的应用(在服务器和类似于服务器的应用中很常见),numa可以通过一个共享的存储器提高性能至n倍,而n大约是处理器(或者分离的存储器)的个数。43.当然,不是所有数据都局限于一个任务,所以多个处理器可能需要同一个数据。为了处理这种情况,numa系统包含了附加的软件或者硬件来移动不同存储器的数据。这个操作降低了对应于这些存储器的处理器的性能,所以总体的速度提升受制于运行任务的特点。44.node:网络连接的端点,或两条(或多条)线路的连接点。结点可以是处理器、控制器或工作站。结点随其功能不同而各不相同,它们可以通过链路互联在一起,在网络中用作控制点。45.rss:(receivesidescaling)是一种能够在多处理器系统下使接收报文在多个cpu之间高效分发的网卡驱动技术。网卡对接收到的报文进行解析,获取ip地址、协议和端口五元组信息。网卡通过配置的hash函数根据五元组信息计算出hash值,也可以根据二、三或四元组进行计算。取hash值的低几位(这个具体网卡可能不同)作为reta(redirectiontable)的索引,根据reta中存储的值分发到对应的cpu。基于rss技术程序可以通过硬件在多个cpu之间来分发数据流,并且可以通过对reta的修改来实现动态的负载均衡。46.sw:sw在网络通信中是switch交换机的缩写,在本技术中指交换芯片。47.图2是现有技术中的多路cpu架构。在如图2所示的嵌入式设备中,numa架构的cpu和多交换芯片组成报文处理装置。48.其中,sw1(交换芯片1)/sw2(交换芯片2)分别与cpu侧的网卡连接。网卡的编号可为node0、node1、node2、node3。49.更具体的,cpu侧的网卡node0、node1中8个接口和sw1连接。其中,可例如,node0上的710网卡芯片中有4个网卡接口和sw1相连,node1上的710网卡芯片有4个网卡接口和sw1相连。50.cpu侧的网卡node2、node3中8个接口和sw2连接.其中,可例如,node2上的710网卡芯片中有4个网卡接口和sw2相连,node3上的710网卡芯片有4个网卡接口和sw2相连。51.报文的转发业务存在有几种情况:52.①从sw1进来的报文从sw1转发出去;53.②从sw2进来的报文从sw2转发出去;54.③从sw1/sw2进来的报文从sw2/sw1转发出去;55.其中,①②中的报文均会在本网卡的node处理后,选在本node接口发出即可从原芯片转出,③则由一个芯片进来由另一个芯片转发则必须要跨节点才能完成,这种情况下,就会产生remotememoryaccess,造成性能上的影响。56.本案的申请人,在经过研究之后发现,在现有技术的numa架构中,在报文由一个芯片进来却由另一个芯片转发时,必须要跨节点才能完成,这种情况下,会产生remotememoryaccess,造成性能上的影响。有鉴于现有技术中的技术缺陷,本技术提出一种用于多路cpu架构的报文处理方法,能够在多路/多带cpu架构numa功能开启时,避免由一个芯片进来由另一个芯片转发则必须要跨节点才能完成的情况,尽量减少remotememoryaccess造成的性能影响。57.下面结合具体的实施例,对本技术的内容进行详细描述。58.在本技术的报文处理装置中包含:多个cpu;所述多个cpu中每个cpu均包含网卡;多个交换芯片;其中,每个cpu对应的网卡均和所述多个交换芯片中的每一个交换芯片物理连接。59.在本技术中的报文处理装置中,每个cpu对应的网卡对应着多个网卡接口;所述多个交换芯片中每个交换芯片对应着多个交换芯片接口;每个cpu的网卡接口和每个交换芯片的至少一个交换芯片接口物理连接。60.图3是根据一示例性实施例示出的一种用于多路cpu架构的报文处理架构。在一个具体的应用中,报文处理设备包含2个交换芯片,每个交换芯片包含8个端口,cpu端对应的网卡节点的编号可为node0、node1、node2、node3。根据硬件连线已达到每个node的每个网卡芯片上,都有连接到每个交换芯片的内部口数据通道。61.报文处理设备的内部架构可如图3所示:62.sw1中包含接口ieth0、ieth1、ieth2、ieth3、ieth4、ieth5、ieth6;63.sw2中也包含接口ieth0、ieth1、ieth2、ieth3、ieth4、ieth5、ieth6;64.网卡节点node0中包含接口ieth0、ieth1、ieth2、ieth3;65.网卡节点node1中包含接口ieth4、ieth5、ieth6、ieth7;66.网卡节点node2中包含接口ieth8、ieth9、ieth10、ieth11;67.网卡节点node3中包含接口ieth12、ieth13、ieth14、ieth15。68.其中,sw1中的ieth0、ieth1和网卡节点node0中的ieth0、ieth1物理连接;sw1中的ieth2、ieth3和网卡节点node1中的ieth4、ieth5物理连接;sw1中的ieth4、ieth5和网卡节点node2中的ieth8、ieth9物理连接;sw1中的ieth6、ieth7和网卡节点node3中的ieth12、ieth13物理连接。69.其中,sw2中的ieth0、ieth1和网卡节点node0中的ieth2、ieth3物理连接;sw2中的ieth2、ieth3和网卡节点node1中的ieth6、ieth7物理连接;sw2中的ieth4、ieth5和网卡节点node2中的ieth10、ieth11物理连接;sw2中的ieth6、ieth7和网卡节点node3中的ieth14、ieth14物理连接。70.在报文处理设备的多路/多带cpu架构numa功能开启时,多交换芯片与cpu组合的嵌入式系统中,根据组网不同,网络转发报文可能由某个芯片接口进入送到cpu,由cpu处理数据业务后,再经某个交换芯片接口发到网络中出口所在的交换芯片可能是入口所在交换芯片,也可能是连接cpu的其他交换芯片。71.根据本技术的以上的架构设置,在上述情况下由硬件进行接口连接时,可将网卡芯片均匀分布到cpu所含的node上,网卡的接口数选择使用交换芯片个数的倍数,这样能够满足每个node的每个网卡芯片上,都有连到每个交换芯片的内部口数据通道。72.在一个实施例中,还可根据cpu的网卡、网卡接口和交换芯片、交换芯片接口之间的硬件连接关系生成接口对应关系表。73.通过上述连接关系,在实际的报文收发中,正向报文可例如由sw1的ieth6通过node3的ieth12上cpu处理,处理完成后,需由sw2发出,即在node3网卡去sw2的网卡接口ieth14和ieth15中选择一个发出,经sw2的ieth6/ieth7接收后再由交换芯片根据转发规则发送到网路中;反向报文由sw2的ieth6进入通过node3的ieth14上cpu处理。处理之后,需由sw1发出,即在node3网卡去sw1的网卡接口ieth0_12/ieth0_13中选择一个发出,经sw1的ieth6/ieth7接收到再由交换芯片根据转发规则发送到网络中完成转发过程。74.本技术中的报文处理设备能将正反向报文在同一个node上处理,大大减少跨node操作,提升报文处理效率。75.根据本技术中的方案,由于sw1和sw2对应内部口都能与cpu各node下的网卡相通,即每个网卡节点中前两个口连接sw1,后两个口连接sw2,配合相应的分流策略,就能够保证正反向报文能分到同一个node下的网卡上。在这种设置中,转发流量硬buf和会话软硬件都不会有跨节点访问的情况,只有少量的全局变量的访问及本机流量跨节点,从而提升报文处理性能。76.根据本技术中的方案,即使没有配置响应的分流策略,也能够在现有技术方案的基础上,提升处理效率,具体包括如下优点:77.①可以消除一些因报文跨芯片发出去时,硬件dma跨node访问报文的情况;78.②当正反向五元组相同的报文从两个芯片上送cpu时,根据芯片hash后内部口序号一样,即能分到同一个node网卡上,硬buf、会话均不会跨节点访问。79.在系统初始化之初,驱动可根据硬件连线保存了接口对应关系,记录了每个node去每个交换芯片的每个网卡接口,比如图3中,node0去sw1的网卡由ieth0和ieth1,当报文在cpu进行数据业务的处理之后准备转发出去时,驱动软件上选择出接口所在芯片的那组链路上的内部口发送报文到交换芯片上,交换芯片内部再根据转发规则最终从对面的面板口转发出去。80.图4是根据一示例性实施例示出的一种用于多路cpu架构的报文处理方法的流程图。用于多路cpu架构的报文处理方法40至少包括步骤s402至s408。81.如图4所示,在s402中,报文处理设备获取待处理的正向报文,所述报文处理设备为多路cpu架构。82.在s404中,所述正向报文通过报文处理设备中多路cpu中的一个cpu对应的网卡接口输入到所述cpu。83.在s406中,所述cpu对所述正向报文进行数据业务处理,生成处理结果。84.在s408中,根据处理结果和接口对应关系表确定正向报文传输路径。可根据处理结果确定目标交换芯片;根据所述目标交换芯片和接口对应关系表确定对应目标网卡接口和目标交换芯片接口;通过所述目标网卡接口和所述目标交换芯片接口生成所述正向报文传输路径。85.在s410中,将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去。可将数据业务处理之后的正向报文通过所述正向报文传输路径发送到交换芯片中;所述交换芯片根据转发规则将所述正向报文转发出去。86.根据本技术的用于多路cpu架构的报文处理方法,通过报文处理设备获取待处理的正向报文,所述报文处理设备为多路cpu架构;所述正向报文通过报文处理设备中多路cpu中的一个cpu对应的网卡接口输入到所述cpu;所述cpu对所述正向报文进行数据业务处理,生成处理结果;根据处理结果和接口对应关系表确定正向报文传输路径;将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去的方式,能够显著减少报文跨芯片发出去情况,显著减少硬件内存存取时跨cpu网卡节点访问情况,提升报文处理速度和效率。87.应清楚地理解,本技术描述了如何形成和使用特定示例,但本技术的原理不限于这些示例的任何细节。相反,基于本技术公开的内容的教导,这些原理能够应用于许多其它实施例。88.图5是根据另一示例性实施例示出的一种用于多路cpu架构的报文处理方法的流程图。图5所示的流程50是对图4所示的流程的补充描述。89.如图5所示,在s502中,报文处理设备获取待处理的反向报文。90.在s504中,根据所述接口对应关系表确定反向报文传输路径。更具体的,可获取所述反向报文对应的交换机接口;根据所述接口对应关系表确定与所述交换机接口对应的反向网卡接口;通过所述反向网卡接口生成所述反向报文传输路径。91.在一个实施例中,还可例如,计算所述交换机接口对应的芯片哈希值;根据所述接口对应关系表确定与所述芯片哈希值对应的反向网卡接口。92.在s506中,将所述反向报文通过所述反向报文传输路径发送到多路cpu中的一个cpu中进行数据业务处理。93.根据本技术的用于多路cpu架构的报文处理方法,通过硬件连线保证每个node的每个网卡芯片上,都有连接到每个交换芯片的内部口数据通道。驱动软件发包时还可选择连到对应交换芯片接口的网卡接口进行发包。从而解决了在多路/多带cpu架构numa功能开启时,硬件dma跨node访问报文的问题。94.本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本技术提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。95.此外,需要注意的是,上述附图仅是根据本技术示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。96.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。97.图6是根据一示例性实施例示出的一种用于多路cpu架构的报文处理装置的框图。如图6所示,用于多路cpu架构的报文处理装置60包括:报文模块602,输入模块604,处理模块606,路径模块608,发送模块610。98.报文模块602用于报文处理设备获取待处理的正向报文,所述报文处理设备为多路cpu架构;99.输入模块604用于所述正向报文通过报文处理设备中多路cpu中的一个cpu对应的网卡接口输入到所述cpu;100.处理模块606用于所述cpu对所述正向报文进行数据业务处理,生成处理结果;101.路径模块608用于根据处理结果和接口对应关系表确定正向报文传输路径;路径模块608还用于根据处理结果确定目标交换芯片;根据所述目标交换芯片和接口对应关系表确定对应目标网卡接口和目标交换芯片接口;通过所述目标网卡接口和所述目标交换芯片接口生成所述正向报文传输路径。102.发送模块610用于将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去。发送模块610还用于将数据业务处理之后的正向报文通过所述正向报文传输路径发送到交换芯片中;所述交换芯片根据转发规则将所述正向报文转发出去。103.图7是根据另一示例性实施例示出的一种用于多路cpu架构的报文处理装置的框图。如图7所示,用于多路cpu架构的报文处理装置70包括:反向模块702,传输模块704,业务模块706。104.反向模块702用于报文处理设备获取待处理的反向报文;105.传输模块704用于根据所述接口对应关系表确定反向报文传输路径;传输模块704还用于获取所述反向报文对应的交换机接口;根据所述接口对应关系表确定与所述交换机接口对应的反向网卡接口;通过所述反向网卡接口生成所述反向报文传输路径。106.业务模块706用于将所述反向报文通过所述反向报文传输路径发送到多路cpu中的一个cpu中进行数据业务处理。107.根据本技术的用于多路cpu架构的报文处理装置,通过报文处理设备获取待处理的正向报文,所述报文处理设备为多路cpu架构;所述正向报文通过报文处理设备中多路cpu中的一个cpu对应的网卡接口输入到所述cpu;所述cpu对所述正向报文进行数据业务处理,生成处理结果;根据处理结果和接口对应关系表确定正向报文传输路径;将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去的方式,能够显著减少报文跨芯片发出去情况,显著减少硬件内存存取时跨cpu网卡节点访问情况,提升报文处理速度和效率。108.图8是根据一示例性实施例示出的一种电子设备的框图。109.下面参照图8来描述根据本技术的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。110.如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840等。111.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书中描述的根据本技术各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图4,图5中所示的步骤。112.所述存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(rom)8203。113.所述存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。114.总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。115.电子设备800也可以与一个或多个外部设备800’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备800交互的设备通信,和/或该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器860可以通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。116.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图9所示,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本技术实施方式的上述方法。117.所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。118.所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。119.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。120.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:报文处理设备获取待处理的正向报文,所述报文处理设备为多路cpu架构;所述正向报文通过报文处理设备中多路cpu中的一个cpu对应的网卡接口输入到所述cpu;所述cpu对所述正向报文进行数据业务处理,生成处理结果;根据处理结果和接口对应关系表确定正向报文传输路径;将数据业务处理之后的正向报文通过所述正向报文传输路径发送出去。121.该计算机可读介质还可实现如下功能:报文处理设备获取待处理的反向报文;根据所述接口对应关系表确定反向报文传输路径;将所述反向报文通过所述反向报文传输路径发送到多路cpu中的一个cpu中进行数据业务处理。122.该计算机可读介质还可实现如下功能:根据cpu的网卡、网卡接口和交换芯片、交换芯片接口之间的硬件连接关系生成接口对应关系表。123.本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。124.通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本技术实施例的方法。125.以上具体地示出和描述了本技术的示例性实施例。应可理解的是,本技术不限于这里描述的详细结构、设置方式或实现方法;相反,本技术意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。当前第1页12当前第1页12