一种测试装置的制造方法

文档序号:10515311阅读:670来源:国知局
一种测试装置的制造方法
【专利摘要】本发明提供一种测试装置,包括:参数分发调度模块,用于获得流序列和所述流序列对应的流参数,并将所述流序列和所述流参数依次分配到多个流处理模块;流处理模块,用于根据获取的流序列、流参数生成数据流;流控制模块,用于依次从所述多个流处理模块获取生成的数据流,并按照预设速率发送给传输模块;所述传输模块,用于将从所述流控制模块获取的数据流发送给被测试设备。通过本发明的技术方案,可以满足较高的测试速率,并且多个流处理模块并行产生数据流,降低产生报文的功能模块的带宽要求和时钟频率的要求,具有一定的通用性和可扩展性,使测试设备的应用场景更加广泛。
【专利说明】
一种测试装置
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种测试装置。
【背景技术】
[0002]随着网络设备(如路由器、交换机等)的普及,以太网中部署的网络设备越来越多,而网络设备的以太网通信接口(本文中简称为通信接口)支持的接口速率大小,直接影响着网络设备的性能。那么,为了完成测试,测试设备(如流量测试仪)需要向待测试的网络设备(本文中简称为待测试设备)发送预设速率的数据流(每一个数据流由多个预设长度的报文构成),以完成对于待测试设备的测试。
[0003]当待测试设备的接口速率提升时,则需要测试设备也能发送出对应速率的数据流。在设计测试设备时,为了提高数据流的速率,一般采用提升时钟频率或者提升构建报文的数据位宽的方式。
[0004]但是,时钟频率需要测试设备中的所有功能模块都支持这一时钟频率,并非可以无限制的提升,过度的提升速率会导致高时钟频率的脉冲无法被功能模块识别的问题;而如果提升数据位宽保持时钟频率不变,那么为了满足预设速率,则构成一个报文的时间将会变短,而对于这个报文的计算将难以完成。

【发明内容】

[0005]本发明提供一种测试装置,所述测试装置包括参数分发调度模块、流控制模块、传输模块、多个流处理模块;
[0006]所述参数分发调度模块,用于获得流序列和所述流序列对应的流参数,并将所述流序列和所述流参数依次分配到所述多个流处理模块;
[0007]所述流处理模块,用于根据获取的流序列、流参数生成数据流;
[0008]所述流控制模块,用于依次从所述多个流处理模块获取生成的数据流,并按照预设速率发送给所述传输模块;
[0009]所述传输模块,用于将从所述流控制模块获取的数据流发送给被测试设备,以使所述测试设备利用发送的数据流测试所述被测试设备的接口性能。
[0010]基于上述技术方案,本发明实施例中,通过设置多个流处理模块分别产生数据流,并通过流序列使多个流处理模块产生的数据流按照预定的顺序发送至待测试设备,从而满足较高的测试速率,并且多个流处理模块并行产生数据流,降低了产生报文的功能模块的带宽要求和时钟频率的要求,具有一定的通用性和可扩展性,使得测试设备的应用场景更加广泛。
【附图说明】
[0011]图1是本发明一种实施方式中的测试装置的结构图;
[0012]图2是本发明另一种实施方式中的测试装置的结构图;
[0013]图3是本发明另一种实施方式中的测试装置的结构图;
[0014]图4是本发明另一种实施方式中的测试装置的结构图;
[0015]图5是本发明另一种实施方式中的测试装置的结构图;
[0016]图6是本发明另一种实施方式中的测试装置的结构图。
【具体实施方式】
[0017]针对现有技术中存在的问题,本发明实施例中提出一种测试装置,该测试装置可以应用在测试设备(如流量测试仪)上,并用于对被测试设备的接口性能进行测试。其中,被测试设备可以为被测试的网络设备(如路由器、交换机等),接口性能可以包括但不限于:通信接口的接口速率、接口丢包率等。如图1所示,该测试装置可以应用在测试设备的FPGA(Field Programmable Gate Array,现场可编程门阵列)上。
[0018]为了测试该被测试设备的接口性能,测试设备可以向被测试设备发送第二预设速率的数据流,并基于被测试设备返回的数据流大小,分析出被测试设备的接口性能。例如,为了判断出被测试设备的通信接口是否支持100G接口速率(即数据流转发能力),则以第二预设速率为100G为例,测试设备向被测试设备发送100G大小的数据流,如果获知被测试设备返回的数据流大小为100G,则分析出被测试设备的通信接口支持100G的接口速率,且接口丢包率为O。
[0019]以第二预设速率为100G为例进行说明,为了分析出被测试设备的接口性能,测试设备向该被测试设备发送的100G数据流,不是相同类型的数据流,而是类型不断变化的数据流。其原因是:假设100G数据流被分为10000个报文,如果向被测试设备发送相同类型的10000个报文,所有报文的IP地址和MAC(Media Access Control,介质访问控制)地址等信息均相同,这样被测试设备会采用相同方式直接处理每个报文,无法充分发挥被测试设备的性能,也就导致测试设备无法精确分析出被测试设备的接口性能。如果向被测试设备发送不同类型的10000个报文,所有报文的IP地址和/或MAC地址等信息不同,这样被测试设备会采用不同方式分别处理不同的报文,可以充分发挥被测试设备的性能,也就使得测试设备能够精确分析出被测试设备的接口性能。
[0020]为了精确分析出被测试设备的接口性能,测试设备会生成不同类型的数据流,而为了生成不同类型的数据流,则可以配置流序列信息、可变参数初始化信息、固定参数等。其中,流序列信息表示类型,如流序列I表示IP地址发生变化的类型,流序列2表示MAC地址发生变化的类型,流序列3表示IP地址和MAC地址同时发生变化的类型。此外,流序列信息还可以包括每种流序列的数量,如流序列I的数量为100,流序列8的数量为90,流序列3的数量为80。可变参数初始化信息是指与流序列信息对应的可变参数,如针对流序列I,可变参数初始化信息可以为IP地址初始值和IP地址变化范围,如IP地址初始值是192.168.0.0,IP地址变化范围是IP地址加I ;针对流序列2,可变参数初始化信息可以为MAC地址初始值和MAC地址变化范围,如MAC地址初始值是08:00:20:0A:8C:6D,MAC地址变化范围是MAC地址加I;针对流序列3,可变参数初始化信息可以为IP地址初始值和IP地址变化范围,以及MAC地址初始值和MAC地址变化范围。固定参数是指与流序列信息对应的固定参数,如针对流序列I,固定参数可以为报文内容、不会发生变化的参数(如MAC地址、协议类型等);针对流序列2,固定参数可以为报文内容、不会发生变化的参数(如IP地址、协议类型等);针对流序列3,固定参数可以为报文内容、不会发生变化的参数(如协议类型等)。不同的流序列对应的报文内容可相同,也可不同。
[0021]如图1所示,将流序列信息、可变参数初始化信息、固定参数等作为初始化参数,则根据用户的测试需要,可以在PC(Personal Computer,个人计算机)上配置初始化参数,PC可以通过网口将该初始化参数发送给测试设备的CPU(Central Processing Unit,中央处理器),CPU可以通过PCIE(Peripheral Component Interface Express,总线和接口标准)接口将该初始化参数发送给测试设备的FPGA。或者,还可以直接在FPGA中预先存储该初始化参数。
[0022]之后,FPGA可以根据该初始化参数生成不同类型的数据流,并通过光纤将不同类型的数据流发送给被测试设备。在被测试设备上,对不同类型的数据流进行不同的处理,并通过通信接口将数据流返回给测试设备。测试设备可以基于被测试设备返回的数据流大小,分析出被测试设备的接口性能。
[0023]本发明实施例中,针对FPGA根据初始化参数生成不同类型的数据流,并通过光纤将不同类型的数据流发送给被测试设备的过程进行详细说明。
[0024]如图2所示,为本发明实施例中提出的测试装置的结构示意图,该测试装置可应用在测试设备的FPGA上。其中,该测试装置可以包括参数分发调度模块、流控制模块、传输模块、多个流处理模块。
[0025]在实际应用中,流处理模块的数量可以根据实际经验进行任意选择,为了方便描述,在图2以及后续各图中,以8个流处理模块为例进行说明,但是流处理模块的数量并不限于此。
[0026]在本发明实施例的可选实施方式中,参数分发调度模块,用于获得流序列和该流序列对应的流参数,并将该流序列和该流参数依次分配到多个流处理模块。流处理模块,用于根据获取的流序列、流参数生成数据流。流控制模块,用于依次从多个流处理模块获取生成的数据流,并按照预设速率发送给传输模块。传输模块,用于将从流控制模块获取的数据流发送给被测试设备,以使测试设备利用发送的数据流测试被测试设备的接口性能。
[0027]流参数可以包括可变参数和固定参数,如图3所示,该参数分发调度模块可以包括参数存储子模块、流序列生成子模块、参数预计算子模块和调度子模块。其中,参数存储子模块,用于存储流序列信息、可变参数初始化信息和固定参数;流序列生成子模块,用于根据从参数存储子模块中获得的流序列信息,生成流序列;参数预计算子模块,用于根据从参数存储子模块中获得的可变参数初始化信息,生成接收到的流序列对应的可变参数;调度子模块,用于获取流序列和与该流序列对应的可变参数,并将获得的可变参数发送给流处理模块。
[0028]本发明实施例中,如图4所示,针对每个流处理模块,该流处理模块包括流生成子模块,参数缓存子模块和报文缓存子模块。在图4中,以包括8个流处理模块为例,流生成子模块I对应于参数缓存子模块I和报文缓存子模块I,流生成子模块2对应于参数缓存子模块2和报文缓存子模块2,以此类推,流生成子模块8对应于参数缓存子模块8和报文缓存子模块8 0
[0029]其中,参数缓存子模块,用于存储参数分发调度模块发送的流序列和可变参数。流生成子模块,用于根据从参数缓存子模块中读取的流序列和可变参数以及从参数存储子模块中读取的固定参数生成数据流。报文缓存子模块,用于存储生成的数据流,以使流控制模块从报文缓存子模块中获取到生成的数据流。
[0030]针对在参数存储子模块存储流序列信息、可变参数初始化信息和固定参数的过程,参数存储子模块可以是一个与FPGA直接连接的存储装置(如闪存等),且该存储装置内存储有序列信息、可变参数初始化信息和固定参数等信息。或者,如图3所示,该参数分发调度模块还可以包括:PCIE控制子模块,该PCIE控制子模块通过PCIE总线与CPU连接,且PCIE控制子模块接收CPU通过PCIE总线发送的流序列信息、可变参数初始化信息以及固定参数,并将流序列信息、可变参数初始化信息以及固定参数存储到参数存储子模块中,以使参数存储子模块能够存储流序列信息、可变参数初始化信息、固定参数。
[0031]其中,针对PCIE控制子模块接收流序列信息、可变参数初始化信息和固定参数,并将其存储到参数存储子模块的过程,由于PCIE控制子模块通过PCIE总线与测试设备的CPU通信,因此,CPU可以直接将流序列信息、可变参数初始化信息和固定参数发送给PCIE控制子模块。由于PCIE控制子模块通过PCIE总线与CPU进行通信,并可以通过Avalon-MM(AvalonMemory Mapped,Avalon存储器映射)总线与参数存储子模块进行通信,因此,PCIE控制子模块还可以将基于PCIE总线的流序列信息、可变参数初始化信息和固定参数,转换为基于A V a I ο n -MM总线的流序列信息、可变参数初始化信息和固定参数,并将转换后的流序列信息、可变参数初始化信息和固定参数存储到参数存储子模块。
[0032]在实际应用中,PCIE控制子模块的输入时钟频率可以为10MHz,且PCIE控制子模块内部有锁相环单元,该锁相环单元用于将时钟频率转换为125MHz。其中,PCIE控制子模块可以是PCIE控制器,锁相环单元可以是锁相环电路。
[0033]其中,针对参数存储子模块存储流序列信息、可变参数初始化信息、固定参数的过程,参数存储子模块可以为一块用于存储信息的区域,如可以为控制状态寄存器、数据寄存器、或者DPRAM(Dual Ported Random Access Memory,双端口随机存取存储器)等,且参数存储子模块挂接在Avalon-MM总线上。
[0034]其中,流序列生成子模块还可以将生成的流序列发送给参数预计算子模块和调度子模块。参数预计算子模块还可以将生成的可变参数发送给调度子模块。调度子模块可以获取流序列和与该流序列对应的可变参数。
[0035]其中,流序列生成子模块在将生成的流序列发送给调度子模块的过程中,可以直接将生成的流序列存储在流序列生成子模块对应的第一缓存区,以使调度子模块从该第一缓存区中获得流序列。参数预计算子模块在将生成的可变参数发送给调度子模块的过程中,可以直接将生成的可变参数存储在参数预计算子模块对应的第二缓存区,以使调度子模块从第二缓存区中获得可变参数。
[0036]其中,针对流序列生成子模块生成流序列的过程,流序列生成子模块可以从参数存储子模块中获得流序列信息,如流序列I以及对应的数量100、流序列2以及对应的数量90、流序列3以及对应的数量80等,基于这些流序列信息,流序列生成子模块生成的流序列可以为:123123123,...,在第80个123之后,流序列可以为:1212,...,在第10个12之后,流序列可以为1111111111。
[0037]其中,针对流序列生成子模块生成流序列,并将生成的流序列存储在流序列生成子模块对应的第一缓存区的过程,流序列生成子模块判断第一缓存区是否已经存满;如果否,则继续生成流序列,并将生成的流序列存储在流序列生成子模块对应的第一缓存区;如果是,则停止生成流序列。例如,当第一缓存区能够存储的流序列的深度是200时,在生成200个流序列(如上述的1、2等数值,各表示一个流序列)之前,第一缓存区没有存满,继续生成流序列,在生成200个流序列时,第一缓存区已经存满,停止生成流序列。
[0038]其中,针对参数预计算子模块生成可变参数的过程,参数预计算子模块可以从参数存储子模块中获得可变参数初始化信息,如针对流序列I的IP地址初始值I和IP地址变化范围,针对流序列2的MAC地址初始值I和MAC地址变化范围,针对流序列3的IP地址初始值I和IP地址变化范围,MAC地址初始值I和MAC地址变化范围。基于这些可变参数初始化信息,参数预计算子模块在依次接收到来自流序列生成子模块的123123123...时,生成的可变参数依次为IP地址初始值I (对应流序列I)、MAC地址初始值I (对应流序列2)、IP地址初始值1+MAC地址初始值I (对应流序列3),1?地址初始值2、1^(:地址初始值2、1?地址初始值2+1^(:地址初始值2,...,以此类推。
[0039]其中,针对参数预计算子模块生成可变参数,并将生成的可变参数存储在参数预计算子模块对应的第二缓存区的过程,先判断第二缓存区是否已经存满;如果否,则继续生成可变参数,并将生成的可变参数存储在参数预计算子模块对应的第二缓存区;如果是,则停止生成可变参数。例如,当第二缓存区能够存储的可变参数的深度是200时,在生成200个可变参数(如IP地址初始值I表示一个可变参数)之前,第二缓存区没有存满,继续生成可变参数,在生成200个可变参数时,第二缓存区已经存满,停止生成可变参数。
[0040]在一种可行的实施方式中,可以设置第一缓存区中能够存储的流序列的深度与第二缓存区中能够存储的可变参数的深度相同。由于参数预计算子模块会基于来自流序列生成子模块的流序列生成可变参数,即流序列生成子模块每生成一个流序列,则参数预计算子模块就会生成一个该流序列对应的可变参数。基于此,当第一缓存区中已经存满流序列时,则第二缓存区中也已经存满可变参数;当第一缓存区中未存满流序列时,则第二缓存区中也未存满可变参数。
[0041]这样,参数预计算子模块可以不再执行判断第二缓存区是否已经存满的过程,参数预计算子模块每接收到一个流序列,就生成一个该流序列对应的可变参数时,此时也可以保证第二缓存区存满后,不再写入新的可变参数。
[0042]本发明实施例中,调度子模块,在获取流序列和与该流序列对应的可变参数,并将获得的可变参数发送给流处理模块的过程中,具体用于获取流序列和与该流序列对应的可变参数;判断每个流处理模块中的报文缓存子模块是否为空;如果是,则将连续的N个流序列和N个流序列对应的N个可变参数分发到该报文缓存子模块所对应的参数缓存子模块中。其中,N个流序列对应的数据流长度总和不超过该报文缓存子模块的容量。
[0043]其中,在FPGA启动测试过程时,所有报文缓存子模块均为空,调度子模块将流序列和可变参数依次分发给8个参数缓存子模块。在后续过程中,在向参数缓存子模块写入流序列和可变参数之前,先判断该参数缓存子模块对应的报文缓存子模块是否为空,如果否,则不向该参数缓存子模块中写入流序列和可变参数,如果是,则向该参数缓存子模块中写入流序列和可变参数。
[0044]在报文缓存子模块为空时才向参数缓存子模块中写入流序列和可变参数的原因是:如果报文缓存子模块不为空,当前正在读取该报文缓存子模块中的数据流,此时继续向该报文缓存子模块对应的参数缓存子模块写入流序列和可变参数时,则流生成子模块会继续生成数据流,并将生成的数据流存储到该报文缓存子模块,这样,就从该报文缓存子模块中读取了流序列靠后的数据流,而没有去读取其它报文缓存子模块中的流序列靠前的数据流,从而导致最终发送的数据流未按照流序列顺序进行发送。
[0045]在一个例子中,针对报文缓存子模块I至报文缓存子模块8,假设N为10,则从第一个流序列开始,调度子模块将连续的10个流序列和这10个流序列对应的10个可变参数分发到参数缓存子模块I。在剩下的所有流序列和可变参数中,依然从第一个流序列开始,参数分发调度模块将连续的10个流序列和这10个流序列对应的10个可变参数分发到参数缓存子模块2。以此类推。
[0046]在调度子模块将连续的N个流序列和N个可变参数分发到参数缓存子模块的过程中,为了确定N的取值,固定参数中还可以包括每种类型的流序列对应的数据流长度,调度子模块可以从参数存储子模块中获得每个流序列对应的数据流长度,从而可以保证N个流序列对应的数据流长度总和,不超过报文缓存子模块的容量。
[0047]在一种实施方式中,为了确定N的取值,如果存在一个N值,当N+1个流序列对应的数据流长度总和超过报文缓存子模块的容量,N个流序列对应的数据流长度总和不超过报文缓存子模块的容量时,确定这个N值是要使用的N值。
[0048]针对流生成子模块生成数据流的过程,由于参数缓存子模块用于缓存流序列和可变参数,因此,当参数缓存子模块内存在流序列和可变参数时,则流生成子模块可以从参数缓存子模块中读取流序列和可变参数,并从参数存储子模块中获得固定参数,并利用流序列、可变参数和固定参数生成数据流。当参数缓存子模块内不存在流序列和可变参数时,则流生成子模块停止生成数据流。
[0049]在流生成子模块利用流序列、可变参数和固定参数生成数据流的过程中,当流序列为流序列I,可变参数为IP地址初始值I时,则流生成子模块利用IP地址初始值I和流序列I对应的固定参数(如报文内容、MAC地址、协议类型等)组成数据流。当流序列为流序列1,可变参数为IP地址初始值2时,则流生成子模块利用IP地址初始值2和流序列I对应的固定参数组成数据流。当流序列为流序列2,可变参数为MAC地址初始值I时,则流生成子模块利用MAC地址初始值I和流序列2对应的固定参数组成数据流。
[0050]在流生成子模块生成数据流的过程中,流生成子模块生成的是第一预设速率的数据流。在一种可行的实施方式中,第一预设速率、流生成子模块的数量、第二预设速率之间可以存在如下关系:第一预设速率乘以(流生成子模块的数量减去I),大于等于第二预设速率。在通常情况下,第一预设速率和第二预设速率均可以根据实际需要任意选择,例如,第二预设速率可以为1006、1106、1206等,第一预设速率可以为206、216、196、186等。为了方便描述,以第二预设速率为100G,第一预设速率为20G为例进行说明,流生成子模块的数量可以为6、7、8、9等,在图4中,以流生成子模块的数量为8为例。
[0051 ]当第一预设速率为20G时,则流生成子模块可以为20G速率的流生成子模块,而20G速率的流生成子模块是指:能够同时生成20G速率数据流的流生成子模块,因此,流生成子模块可以生成20G大小的数据流。在一种实施方式中,20G速率的流生成子模块的时钟频率可以为315MHz,总线位宽为64位位宽。其中,总线位宽决定了输入/输出之间一个时钟周期所数据传输的信息量。
[0052]但是,传输模块的总线位宽可能与流处理模块的总线位宽不同,此时则需要对产生的数据流进行转换以满足传输模块的数据传输要求。因此,针对流生成子模块将生成的数据流存储到报文缓存子模块的过程,在一种可行的实施方式中,如图5所示,流处理模块还包括设置于流生成子模块和报文缓存子模块之间的接口转换子模块。基于此,由于流生成子模块采用第一总线位宽(如64位位宽),而传输模块采用第二总线位宽(如512位位宽),因此,流生成子模块在根据接收的流序列和可变参数以及从参数存储子模块获取的固定参数生成数据流之后,还用于将第一总线位宽的数据流发送给接口转换子模块,接口转换子模块,用于将第一总线位宽的数据流转换为第二总线位宽的数据流,并将第二总线位宽的数据流存储到报文缓存子模块中。
[0053]本发明实施例中,由于数据流存储在报文缓存子模块中,因此,流控制模块依次从多个报文缓存子模块中获取数据流,并按照预设速率发送给传输模块。具体的,流控制模块,具体用于根据第一预设速率从每个报文缓存子模块中读取数据流,并按照第二预设速率发送给传输模块,其中,第二预设速率大于第一预设速率。在一个例子中,第二预设速率可以为1006、1106、1206等,第一预设速率可以为206、216、196、186等。例如,流控制模块从报文缓存子模块I中读取所有数据流,并将读取的所有数据流发送给传输模块,并且报文缓存子模块I将已经被流控制模块读取的数据流删除。之后,流控制模块从报文缓存子模块2中读取所有数据流,并将读取的所有数据流发送给传输模块,并且报文缓存子模块2将已经被流控制模块读取的数据流删除,以此类推。
[0054]其中,在FPGA启动测试过程时,所有报文缓存子模块均为空,流控制模块先等待所有报文缓存子模块中均写入数据流后,才从报文缓存子模块I开始,依次读取每个报文缓存子模块中的所有数据流,并将读取的数据流发送给传输模块。在后续过程中,当遍历到某报文缓存子模块时,如果该报文缓存子模块中存在数据流,则读取该报文缓存子模块的所有数据流,以此类推。在实际应用中,流控制模块在读取报文缓存子模块I的所有数据流后,在读取报文缓存子模块2-报文缓存子模块7的数据流的过程中,流生成子模块I又会生成数据流,将生成的数据流写入到报文缓存子模块I。这样,当流控制模块遍历到报文缓存子模块I时,该报文缓存子模块I中会存在数据流。
[0055]针对传输模块将数据流发送给被测试设备的过程,传输模块可以将第二预设速率的数据流发送给被测试设备。假设第二预设速率为100G,则在一种可行的实施方式中,传输模块可以为接口发送电路,且该接口发送电路可以为100G的MAC/PHY逻辑电路。接口发送电路的管理接口为Avalon-MM总线,数据接口为Avalon-ST总线,且接口发送电路与10G光模块直接连接,因此,接口发送电路可以通过光模块发送100G数据流。
[0056]本发明实施例中,在一种可行的实施方式中,如图6所示,接口性能的测试装置还可以包括:时钟模块(如时钟锁相环电路),用于将输入的第一时钟频率转换为第二时钟频率,并将第二时钟频率分别提供给参数分发调度模块、流控制模块、每个流处理模块。此外,该接口性能的测试装置还可以直接为传输模块提供有第三时钟频率。
[0057]在实际应用中,FPGA的输入时钟频率通常为125MHz(即第一时钟频率),而图6中虚线框内的各功能模块通常工作在315MHz(即第二时钟频率)下,因此,可以在接口性能的测试装置中配置时钟模块,该时钟模块用于将125MHz时钟频率倍频到315MHz时钟频率,并提供给虚线框内的各功能模块,作为虚线框内的各功能模块的输入时钟频率。
[0058]在实际应用中,传输模块通常工作在322.265625MHz (即第三时钟频率)下,因此,可以直接为传输模块提供一个322.265625MHz的外部时钟频率。
[0059]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0060]基于上述技术方案,本发明实施例中,通过设置多个流处理模块分别产生数据流,并通过流序列使多个流处理模块产生的数据流按照预定的顺序发送至待测试设备,从而满足较高的测试速率,并且多个流处理模块并行产生数据流,降低了产生报文的功能模块的带宽要求和时钟频率的要求,具有一定的通用性和可扩展性,使得测试设备的应用场景更加广泛。
[0061]本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0062]以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
【主权项】
1.一种测试装置,其特征在于,所述测试装置包括参数分发调度模块、流控制模块、传输模块、多个流处理模块; 所述参数分发调度模块,用于获得流序列和所述流序列对应的流参数,并将所述流序列和所述流参数依次分配到所述多个流处理模块; 所述流处理模块,用于根据获取的流序列、流参数生成数据流; 所述流控制模块,用于依次从所述多个流处理模块获取生成的数据流,并按照预设速率发送给所述传输模块; 所述传输模块,用于将从所述流控制模块获取的数据流发送给被测试设备,以使所述测试设备利用发送的数据流测试所述被测试设备的接口性能。2.根据权利要求1所述的装置,其特征在于,所述流参数包括可变参数和固定参数,所述参数分发调度模块包括参数存储子模块、流序列生成子模块、参数预计算子模块和调度子模块; 所述参数存储子模块,用于存储流序列信息、可变参数初始化信息和固定参数; 所述流序列生成子模块,用于根据从所述参数存储子模块中获得的流序列信息,生成流序列; 所述参数预计算子模块,用于根据从所述参数存储子模块中获得的可变参数初始化信息,生成接收到的流序列对应的可变参数; 所述调度子模块,用于获取所述流序列和与所述流序列对应的可变参数,并将获得的可变参数发送给所述流处理模块。3.根据权利要求2所述的装置,其特征在于,所述流处理模块包括流生成子模块、参数缓存子模块和报文缓存子模块; 所述参数缓存子模块,用于存储所述参数分发调度模块发送的流序列和可变参数; 所述流生成子模块,用于根据从所述参数缓存子模块中读取的流序列和可变参数以及从所述参数存储子模块中读取的固定参数生成数据流; 所述报文缓存子模块,用于存储生成的数据流,以使所述流控制模块从所述报文缓存子模块中获取到生成的数据流。4.根据权利要求3所述的装置,其特征在于, 所述调度子模块,具体用于获取所述流序列和与所述流序列对应的可变参数;判断每个所述流处理模块中的报文缓存子模块是否为空;如果是,则将连续的N个流序列和所述N个流序列对应的N个可变参数分发到所述报文缓存子模块所对应的参数缓存子模块中; 其中,所述N个流序列对应的数据流长度总和不超过所述报文缓存子模块的容量。5.根据权利要求3所述的装置,其特征在于,所述流生成子模块采用第一总线位宽,所述流处理模块还包括设置于所述流生成子模块和所述报文缓存子模块之间的接口转换子丰旲块; 所述流生成子模块在所述根据接收的流序列和可变参数以及从所述参数存储子模块获取的固定参数生成数据流之后,还用于将所述第一总线位宽的数据流发送给所述接口转换子模块; 所述接口转换子模块,用于将第一总线位宽的数据流转换为第二总线位宽的数据流。6.根据权利要求3所述的装置,其特征在于, 所述流控制模块,具体用于根据第一预设速率从每个报文缓存子模块中读取数据流,并按照第二预设速率发送给所述传输模块,其中,所述第二预设速率大于所述第一预设速率。7.根据权利要求1-6任一项所述的装置,其特征在于,所述装置还包括: 时钟模块,用于将输入的第一时钟频率转换为第二时钟频率,将所述第二时钟频率分别提供给所述参数分发调度模块、所述流控制模块、每个流处理模块; 所述装置还为所述传输模块提供第三时钟频率。
【文档编号】H04L12/26GK105871656SQ201610180564
【公开日】2016年8月17日
【申请日】2016年3月25日
【发明人】蔡恒, 於建军, 高青
【申请人】杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1