基于多核平台的报文生成方法及生成装置的制作方法

文档序号:7776896阅读:145来源:国知局
专利名称:基于多核平台的报文生成方法及生成装置的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于多核平台的报文生成方法及生成装置。
背景技术
随着网络技术的高速发展,高流量的数据已经成为网络传输中的一个主要特征,例如IOG甚至更高流量的数据逐渐网络传输中的主流。为了避免线上带来的风险,需要向线下提供能模拟网络七层协议OSI中第3层(网络层)、第4层(传输层)、第7层(应用层)网络流量的设备,从而实现对后端应用进行充分测试。然后,传统的测试设备只能支持数百兆的网络流量,无法满足现有的网络测试的需求。

发明内容
本发明的目的旨在至少解决上述技术缺陷。为此,本发明的第一个目的在于提供一种基于多核平台的报文生成方法,该报文生成方法可以向线下提供较大的网络流量以实现对后端应用的充分测试。本发明的第二个目的在于提供一种基于多核平台的报文生成装置。为实现上述目的,本发明的第一方面的实施例提供了 了一种基于多核平台的报文生成方法,其中,所述多核平台包括控制核和多个数据核,所述控制核运行控制进程,所述多个数据核分别运行对应的数据进程,所述方法包括以下步骤:接收配置文件,其中,所述配置文件包括多个地址信息、所需数据核的个数及测试信息;所述控制进程根据所述配置文件中所需数据核的个数选择对应的运行数据核,并将所述多个地址信息分别分配至所述多个运行数据核;所述控制进程进行进程分裂以为所述多个运行数据核建立对应的数据进程;以及所述多个运行数据核对应的数据进程分别根据分配的地址信息及测试信息生成报文,并将所述报文发送至被测系统。根据本发明实施例的基于多核平台的报文生成方法,可以提高多进程使用多和设备进行数据收发的过程中收发效率,并避免不同的数据核之间出现的锁机制,从而可以向线下提供较大的网络流量以实现对后端应用的充分测试。本发明第二方面的实施例提供了一种基于多核平台的报文生成装置,包括:多个处理核,所述多个处理核包括控制核和多个数据核,其中,所述控制核运行控制进程,所述多个数据核分别运行对应的数据进程;接收模块,用于接收配置文件,其中,所述配置文件包括多个地址信息、所需数据核的个数及测试信息;所述控制核进一步包括:预分配模块,用于根据所述配置文件中所需数据核的个数选择对应的运行数据核,并将所述多个地址信息分别分配至所述多个运行数据核;进程分裂模块,用于进行进程分裂以为所述多个运行数据核建立对应的数据进程;所述数据核进一步包括:报文生成模块,用于根据分配的地址信息及测试信息生成报文;发送模块,用于将所述报文发送至被测系统。根据本发明实施例的基于多核平台的报文生成装置,可以提高多进程使用多和设备进行数据收发的过程中收发效率,并避免不同的数据核之间出现的锁机制,从而可以向线下提供较大的网络流量以实现对后端应用的充分测试。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明实施例的基于多核平台的报文生成方法的流程框图;图2为根据本发明实施例的控制核解析配置文件并进行预分配的流程;图3为根据本发明实施例的数据核处理的数据的流程;图4为根据本发明实施例的基于多核平台的报文生成装置的示意图;图5为根据本发明实施例的控制核的结构示意图;以及图6为根据本发明实施例的数据核的结构示意图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。下面参考图1至图3描述根据本发明实施例的基于多核平台的报文生成方法。多核平台包括控制和多个数据核。其中,控制核用于运行控制进程,包括:解析配置文件、根据配置文件的要求进行相应的进程分裂、为数据进程分配空间和资源以及统计所有核的信息等。多个数据核分别运行对应的数据进程,数据进程负责对每一个核上进入进出的数据进行处理,并合理地分配时间片处理数据的收发。需要说明的是,控制进程和数据进程可以并行操作。包括针对不同的数据包进行不同的处理等。如图1所示,本发明实施例的基于多核平台的报文生成方法,包括如下步骤:步骤SlOl,接收配置文件。为了实现对多个数据核的预分配,控制核需要首先接收配置文件,然后根据解析配置文件中的配置信息,并根据该配置信息对多个数据核进行配置。在本发明的一个实施例中,配置文件包括多个地址信息、所需数据核的个数以及测试信息。控制核通过解析上述配置文件,可以获取配置文件中的配置信息。具体地,地址信息包括源IP地址、源端口、目的IP地址和目的端口中的一种或多种。为了实现多大批PPS的线速发送,需要使用多个源IP和多个源端口进行处理。由于并非所有的数据核都需要运行,可以根据需要处理的数据包及数据类型配置所需数据核的个数。测试信息包括报文类型和测试类型。其中,报文类型包括IPv4 (InternetProtocolversion 4,第四版互联网协议)报文或IPv6 (Internet Protocolversion6,第六版互联网协议)报文,TCP (Transmission Control Protocol,传输控制协议)报文或 UDP(UserDatagram Protocol,用户数据包协议)报文。测试类型包括synf10d攻击、三次握手、短连接测试或长连接测试等。步骤S102,控制进程根据配置文件中所需数据核的个数选择对应的运行数据核,并将多个地址信息分别分配至多个运行数据核。控制进程根据配置文件中的所需的数据核的个数在多个数据核中选取对应的运行数据核,其中运行数据核为多个数据核中的一部分。控制进程在选取完运行数据核之后,将多个地址信息分配至多个运行数据核。具体地,控制进程分别对多个地址信息进行哈希(hash)运算,即对地址信息中的五元组进行hash运算,从而使得每个数据流流入和流出的过程都在同一个数据核上进行,从而避免了不同的数据核之间出现的锁机制。具体地,由于网络测试需要多个不同的五元组同时运行,为了让同一个五元组的数据流进入进出到同一个数据核上,需要对多个地址信息进行哈希(hash)运算,实现同一个数据流的进入进出均针对同一个数据核,可以避免由一个数据核流出的数据,在反馈时流入到另一个数据核上。步骤S103,控制进程进行进程分裂以为多个运行数据核建立对应的数据进程。控制进程可以根据测试信息进行进程分裂,即为步骤S102中选择的多个运行数据核建立对应的数据进程。具体地,控制进程向数据核对应的数据进程分配地址信息和测试信息,以向数据进程配置测试目标和测试内容。在本发明的一个实施例中,每个运行数据核运行一个数据进程。步骤S104,多个运行数据核对应的数据进程分别根据分配的地址信息和测试信息生成报文,并将报文发送至被测系统。多个运行数据核对应的数据进程根据控制进程分配的测试信息分别调用对应的操作器handler,然后根据地址信息通过调用的对应的handler生成报文。在本发明的一个实施例中,操作器handler可以包括传输控制协议TCPhandler、ARP(address resolution protocol,地址解析协议)handler、用户数据包协议 UDPhandler、IPv6 handler、ICMPv6 (Internet Control MessageProtocol Version 6,第六版互联网控制报文协议)handler中的一种或多种。数据进程不仅可以支持IPv6和IPv4两种网络层协议,而且能够提供针对Ethernet、IPv4、IPv6、TCP、UDP的数据包头部定制,从而可以实现对服务器的TCP功能测试。例如:syn flood攻击,三次握手测试、TCP连接的整个过程测试、短连接测试和长连接测试等。此外,数据进程还可以实现对UDP的攻击测试和DNS的压力测试。具体地,运行数据核的数据进行在执行过程中,需要针对不同的数据包进行不同处理。例如。在TCP数据流中,数据进程需要对syn、synack、ack和get包进行处理。在UDP数据流中,数据进行需要对DNS包进行处理。此外,针对IPv4网络,需要对ARP进行特殊的处理。针对IPv6网络,需要对NS进行特殊的处理。多个运行数据核对应的数据进程分别统计对应的运行数据核的数据,然后将统计到的数据上报给控制进程。由控制进程对多个运行数据核的数据进行汇总和统计。
在本发明的一个实施例中,数据进程在对通过合适的handler生成测试报文后,向被测系统发送测试报文以对被测系统进行测试。多核平台的底层接收被测系统反馈的响应报文,并转发给控制核。控制核根据响应报文的地址信息将响应报文分配给对应的运行数据核。对应的运行数据核对该响应报文进行分析。通过上述机制,可以实现对运行数据核的正确定位。具体地,控制核对响应报文的地址信息进行哈希运算,然后根据哈希运算结果将响应报文分配至对应的运行数据核。例如,运行数据核A生成的对被测系统的测试报文,被测系统响应该测试报文的响应报文也必须要反馈到该运行数据核A,这是通过地址信息中的五元组保证的,从而避免了不同核之间出现锁机制。下面参考图2对控制核解析配置文件并进行预分配的流程进行说明。步骤S201,开始,控制核准备对对配置文件进行检查。步骤S202,控制核的控制进程对配置文件进行预检查(pre_CheCk)。其中,配置文件包括多个地址信息、所需数据核的个数以及测试信息。步骤S203,检查配置文件是否出错(check_failed),如果出错,则执行步骤S210,否则执行步骤S204。步骤S204,控制进程执行进程分裂之前,进行初始化(init_before_fork)。步骤S205,控制进程解析配置文件。控制核的控制进程通过解析上述配置文件,可以获取配置文件中的配置信息。步骤S206,根据配置文件对多个数据核进行预分配(predistribution)。控制进程根据配置文件中的所需的数据核的个数在多个数据核中选取对应的运行数据核,其中运行数据核为多个数据核中的一部分。控制进程在选取完运行数据核之后,将多个地址信息分配至多个运行数据核。步骤S207,执行进程分裂。控制进程向数据核对应的数据进程分配地址信息和测试信息,以向数据进程配置测试目标和测试内容。步骤S208,进行全局内存初始化。步骤S209,执行各个数据核的自身内存初始化,然后执行步骤S211。步骤S210,结束动作。步骤S211,选取核序列号(rank)。多核中的每个核都分配有一个序列号,其中,控制核的序列化为N,多个数据核的序列号为O N-1,N为多核中核数量。步骤S212,对数据核内存执行初始化。步骤S213,根据配置文件调用合适的操作器handler进行处理。多个运行数据核对应的数据进程根据控制进程分配的测试信息分别调用对应的操作器handler,然后根据地址信息通过调用的对应的handler生成报文。步骤S214,各个运行数据核统计数据核各自的数据,并上报给控制核。步骤S215,控制核的控制进程对所有核的进行汇总和统计。步骤S216,检查数据包的校验和或者配置文件的解析过程是否出错,如果是则执行步骤S210,否则执行步骤S217。
步骤S217,释放内存(free_heaps)。下面参考图3对数据核处理数据的流程进行说明。步骤S301,控制进程执行进程分裂。步骤S302,根据配置文件调用合适的操作器handler进行处理。下面以TCP报文为例对后续步骤进行描述。步骤S303,根据配置选择合适的操作器handler。步骤S304,由 tcp_syb_handler 发送 syn 包。步骤S305,使用底层驱动发送syn包。步骤S306,底层驱动接收数据包。步骤S307,采用L2 handler根据数据包类型选取不同操作器handler。步骤S308,当报文类型为0x86DD时,采用Ipv6_handler,然后执行步骤S314。步骤S309,当报文类型为0x800时,采用Ip_handler,然后执行步骤S311。步骤S310,当报文类型为其他时,采用Arp_handler。步骤S311,判断包的类型,如果为TCP包则执行步骤S312,如果为UDP包,则执行步骤S313。步骤S312,米用 Tcp_handler。步骤S3I3,米用 UDP_handler。步骤S314,判断包的类型,如果为数据包的类型icmvp6,则执行步骤S315,如果数据包的类型为TCP,则执行步骤S316,如果数据包的类型为UDP,则执行步骤S317。步骤S3I5,米用 Icmpv6_handler。步骤S3I5,米用 Tcp_handler。步骤S3I5,米用 Udp_handler。根据本发明实施例的基于多核平台的报文生成方法,可以将配置文件中的多个地址信息分配至多个运行数据核,即根据不同的五元组进行预分配。从而可以在TCP建立长连接的过程中建立会话并保持会话,为每一条数据流建立会话。此外,可以同时在多进程使用多和设备进行数据收发的过程中提高收发效率,并避免不同的数据核之间出现的锁机制。从而可以向线下提供较大的网络流量以实现对后端应用的充分测试。下面参考图4至图6描述根据本发明实施例的基于多核平台的报文生成装置400。如图4所示,本发明实施例提供的基于多核平台的报文生成装置400包括多个处理核和接收模块420,其中多个处理核包括控制核411和多个数据核412。其中,控制核411用于运行控制进程,多个数据核412分别运行对应的数据进程。接收模块420用于接收配置文件,其中,配置文件包括多个地址信息、所需数据核的个数及测试信息。具体地,地址信息包括源IP地址、源端口、目的IP地址和目的端口中的一种或多种。由于并非所有的数据核都需要运行,可以根据需要处理的数据包及数据类型配置所需数据核的个数。测试信息包括报文类型和测试类型。其中,报文类型包括IPv4报文或IPv6报文,TCP报文或UDP报文。测试类型包括synflood攻击、三次握手、短连接测试或长连接测试等。如图5所示,控制核411进一步包括预分配模块4111和进程分裂模块4112。其中,预分配模块4111用于根据配置文件中所需数据核的个数选择对应的运行数据核,并将多个地址信息分别分配至多个运行数据核。进程分裂模块4112用于进行进程分裂以为多个运行数据核建立对应的数据进程。具体地,预分配模块4111解析上述配置文件,可以获取配置文件中的配置信息。预分配模块4111根据配置文件中的所需的数据核的个数在多个数据核中选取对应的运行数据核,其中运行数据核为多个数据核中的一部分。控制进程在选取完运行数据核之后,将多个地址信息分配至多个运行数据核。具体地,控制进程分别对多个地址信息进行哈希(hash)运算,即对地址信息中的五元组进行hash运算,从而使得每个数据流流入和流出的过程都在同一个数据核上进行,从而避免了不同的数据核之间出现的锁机制。进程分裂模块4112根据测试信息进行进程分裂,为选取的多个运行数据核建立对应的数据进程。具体地,进程分裂模块4112向数据核对应的数据进程分配地址信息和测试信息,以向数据进程配置测试目标和测试内容。在本发明的一个实施例中,每个运行数据核运行一个数据进程。如图6所示,数据核412进一步包括报文生成模块4121和发送模块4122,其中,报文生成模块4121用于根据分配的地址信息及测试信息生成报文,发送模块4122用于将报文发送至被测系统。报文生成模块4121中存储有多个操作器handler。报文生成模块4121根据控制进程分配的测试信息分别调用对应的操作器handler,然后根据地址信息通过调用的对应的handler生成报文。在本发明的一个实施例中,操作器handler可以包括传输控制协议TCPhandler、地址解析协议ARP handler、用户数据包协议UDP handler、IPv6handler、互联网控制报文协议ICMPv6 handler中的一种或多种。数据进程在对通过合适的handler生成测试报文后,由发送模块4122向被测系统发送测试报文以对被测系统进行测试。在本发明的一个实施例中,控制核411还包括汇总统计模块4113,用于对多个运行数据核的数据进行汇总和统计。具体地,发送模块4122将各自对应的数据核的信息发送给控制核411的汇总统计模块4113,由汇总统计模块4113对所有核的信息进行汇总和统计。接收模块420还可以接收被测系统反馈的响应报文,并将其转发给控制核411。控制核411根据响应报文的地址信息将响应报文分配给对应的运行数据核。对应的运行数据核对该响应报文进行分析。通过上述机制,可以实现对运行数据核的正确定位。具体地,控制核411对响应报文的地址信息进行哈希运算,然后根据哈希运算结果将响应报文分配至对应的运行数据核。例如,运行数据核A生成的对被测系统的测试报文,被测系统响应该测试报文的响应报文也必须要反馈到该运行数据核A,这是通过地址信息中的五元组保证的,从而避免了不同核之间出现锁机制。根据本发明实施例的基于多核平台的报文生成装置,根据本发明实施例的基于多核平台的报文生成方法,可以将配置文件中的多个地址信息分配至多个运行数据核,即根据不同的五元组进行预分配。从而可以在TCP建立长连接的过程中建立会话并保持会话,为每一条数据流建立会话。此外,可以同时在多进程使用多和设备进行数据收发的过程中提高收发效率,并避免不同的数据核之间出现的锁机制。从而可以向线下提供较大的网络流量以实现对后端应用的充分测试。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(R0M),可擦除可编辑只读存储器(EPR0M或闪速存储器),光纤装置,以及便携式光盘只读存储器(⑶ROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
1.一种基于多核平台的报文生成方法,其特征在于,所述多核平台包括控制核和多个数据核,所述控制核运行控制进程,所述多个数据核分别运行对应的数据进程,所述方法包括以下步骤: 接收配置文件,其中,所述配置文件包括多个地址信息、所需数据核的个数及测试信息; 所述控制进程根据所述配置文件中所需数据核的个数选择对应的运行数据核,并将所述多个地址信息分别分配至所述多个运行数据核; 所述控制进程进行进程分裂以为所述多个运行数据核建立对应的数据进程;以及所述多个运行数据核对应的数据进程分别根据分配的地址信息及测试信息生成报文,并将所述报文发送至被测系统。
2.如权利要求1所述的基于多核平台的报文生成方法,其特征在于,所述测试信息包括报文类型和测试类型。
3.如权利要求1所述的基于多核平台的报文生成方法,其特征在于,所述地址信息包括源IP地址、源端口、目的IP地址和目的端口中的一种或多种。
4.如权利要求1-3任一项所述的基于多核平台的报文生成方法,其特征在于,所述控制进程将所述多个地址信息分配至所述多个运行数据核进一步包括: 所述控制进程分别对所述多个地址信息进行哈希运算;以及 根据所述哈希运算结果将所述多个地址信息分别分配至所述多个运行数据核。
5.如权利要求1-4任一项所述的基于多核平台的报文生成方法,其特征在于,所述多个运行数据核对应的数据进程分别根据分配的地址信息及测试信息生成报文进一步包括: 所述多个运行数据核对应的数据进程分别根据所述测试信息调用对应的操作器handler ;以及 根据所述地址信息通过调用的对应的handler生成所述报文。
6.如权利要求5所述的基于多核平台的报文生成方法,其特征在于,还包括: 所述多个运行数据核对应的数据进程分别统计每个运行数据核的数据,并将所述统计的数据上报至所述控制进程; 所述控制进程对所述多个运行数据核的数据进行汇总和统计。
7.如权利要求1-6任一项所述的基于多核平台的报文生成方法,其特征在于,还包括: 接收所述被测系统反馈的响应报文; 根据所述响应报文的地址信息将所述响应报文分配至对应的运行数据核;以及 所述对应的运行数据核对所述响应报文进行分析。
8.如权利要求7所述的基于多核平台的报文生成方法,其特征在于,所述根据响应报文的地址信息将响应报文分配至对应的运行数据核进一步包括: 对所述响应报文的地址信息进行哈希运算;以及 根据哈希运算结果将所述响应报文分配至对应的运行数据核。
9.如权利要求5-8任一项所述的基于多核平台的报文生成方法,其特征在于,所述handler包括传输控制协议TCP handler、地址解析协议ARPhandler、用户数据包协议UDPhandler、IPv6 handler、互联网控制报文协议ICMPv6 handler中的一种或多种。
10.一种基于多核平台的报文生成装置,其特征在于,包括: 多个处理核,所述多个处理核包括控制核和多个数据核,其中,所述控制核运行控制进程,所述多个数据核分别运行对应的数据进程; 接收模块,用于接收配置文件,其中,所述配置文件包括多个地址信息、所需数据核的个数及测试信息; 所述控制核进一步包括: 预分配模块,用于根据所述配置文件中所需数据核的个数选择对应的运行数据核,并将所述多个地址信息分别分配至所述多个运行数据核; 进程分裂模块,用于进行进程分裂以为所述多个运行数据核建立对应的数据进程; 所述数据核进一步包括: 报文生成模块,用于根据分配的地址信息及测试信息生成报文; 发送模块,用于将所述报文发送至被测系统。
11.如权利要求10所述的基于多核平台的报文生成装置,其特征在于,所述测试信息包括报文类型和测试类型。
12.如权利要求10所述的基于多核平台的报文生成装置,其特征在于,所述地址信息包括源IP地址、源端口、目的IP地址和目的端口中的一种或多种。
13.如权利要 求10所述的基于多核平台的报文生成装置,其特征在于,所述预分配模块分别对所述多个地址信息进行哈希运算,并根据所述哈希运算结果将所述多个地址信息分别分配至所述多个运行数据核。
14.如权利要求10所述的基于多核平台的报文生成装置,其特征在于,所述报文生成模块中存储有多个handler,所述报文生成模块分别根据所述测试信息调用对应的handler生成所述报文。
15.如权利要求10所述的基于多核平台的报文生成装置,其特征在于,所述控制核还包括: 汇总统计模块,用于对所述多个运行数据核的数据进行汇总和统计。
16.如权利要求10所述的基于多核平台的报文生成装置,其特征在于,所述接收模块还用于接收所述被测系统反馈的响应报文,所述控制核还用于根据所述响应报文的地址信息将所述响应报文分配至对应的运行数据核,以使所述对应的运行数据核对所述响应报文进行分析。
17.如权利要求16所述的基于多核平台的报文生成装置,其特征在于,所述控制核对所述响应报文的地址信息进行哈希运算,并根据哈希运算结果将所述响应报文分配至对应的运行数据核。
18.如权利要求14所述的基于多核平台的报文生成装置,其特征在于,所述handler包括 TCP handler、ARP handler、UDP handler、IPv6 handler、ICMPv6 handler 中的一种或多种。
全文摘要
本发明公开了一种基于多核平台的报文生成方法,多核平台包括控制核和多个数据核,控制核运行控制进程,多个数据核分别运行对应的数据进程,包括以下步骤接收配置文件;控制进程根据配置文件中所需数据核的个数选择对应的运行数据核,并将多个地址信息分别分配至多个运行数据核;控制进程进行进程分裂以为多个运行数据核建立对应的数据进程;多个运行数据核对应的数据进程分别根据分配的地址信息及测试信息生成报文,并将报文发送至被测系统。本发明还公开了一种基于多核平台的报文生成装置。本发明可以向线下提供较大的网络流量以实现对后端应用的充分测试。
文档编号H04L12/26GK103166842SQ20111041584
公开日2013年6月19日 申请日期2011年12月13日 优先权日2011年12月13日
发明者吴教仁, 胡明明, 刘晓光, 刘涛, 刘宁, 张 诚 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1