发明内容
本发明提供了一种测试高速链路的方法,用以在测试高速链路的过程中,为测试参数组配置不同测试时长,提高测试高速链路的效率。
本发明第一方面提供的测试高速链路的方法,可包括:选择待测的测试参数,所述待测的测试参数组成测试参数组,所述测试参数组中包括至少两个待测的测试参数;
按照所述测试参数组的取值组配置待测高速链路,所述测试参数组的取值组由组成所述测试参数组的所述待测的测试参数的取值组成;
在所述待测高速链路上传输测试数据包;
确定待测的所述测试参数组的取值组对应的坐标与已经测试过的使所述待测高速链路发生丢包的所有所述测试参数组的取值组对应的坐标的所有距离中的最小距离;
根据所述最小距离,确定待测的所述测试参数组的取值组的最大测试时长,所述最大测试时长随所述最小距离单调递减;
在所述最大测试时长内,测试所述待测高速链路上传输的测试数据是否丢包。
在第一种可能实现的方式中,所述根据所述最小距离,确定待测的所述测试参数组的取值组的最大测试时长包括:
若所述最小距离小于等于预设的门限值,则确定待测的所述测试参数组的取值组的第一最大测试时长,若所述最小距离大于预设的门限值,则确定待测的所述测试参数组的取值组的第二最大测试时长,其中,第二最大测试时长远小于第一最大测试时长。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述在所述最大测试时长内,测试所述待测高速链路上传输的测试数据是否丢包之后包括:若测试数据包出现丢包,则更新所述测试参数组的取值组对应的丢包标记的值。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:在所有所述测试参数组的取值组完成测量之后,确定不包含所述丢包标记的所述测试参数组的最大不丢包立方体。
本发明第二方面提供的测试高速链路的装置,可包括:
选择单元,用于选择待测的测试参数,所述待测的测试参数组成测试参数组,所述测试参数组中包括至少两个待测的测试参数;
配置单元,用于按照所述测试参数组的取值组配置待测高速链路,所述测试参数组的取值组由组成所述测试参数组的所述待测的测试参数的取值组成;
传输单元,用于在所述待测高速链路上传输测试数据包;
确定单元,用于确定待测的所述测试参数组的取值组对应的坐标与已经测试过的使所述待测高速链路发生丢包的所有所述测试参数组的取值组对应的坐标的所有距离中的最小距离;
所述确定单元,还用于根据所述最小距离,确定所述待测的测试参数组的取值组的最大测试时长,所述最大测试时长随所述最小距离单调递减;
测试单元,用于在所述确定单元确定的所述最大测试时长内,测试所述待测高速链路上传输的测试数据是否丢包。
在第一种可能实现的方式中,所述确定单元,还用于若所述最小距离小于等于预设的门限值,则确定待测的所述测试参数组的取值组的第一最大测试时长,若所述最小距离大于预设的门限值,则确定待测的所述测试参数组的取值组的第二最大测试时长,其中,第二最大测试时长远小于第一最大测试时长。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
更新单元,用于若测试数据包出现丢包,则更新所述测试参数组的取值组对应的丢包标记的值。
结合第二方面或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定单元,还用于在所有所述测试参数组的取值组完成测量之后,确定不包含所述丢包标记的所述测试参数组的最大不丢包立方体。
从以上技术方案可以看出,本发明实施例具有以下优点:计算机选择待测的测试参数,待测的测试参数组成测试参数组,按照所述测试参数组的取值组配置待测高速链路,在该待测高速链路上传输测试数据包,确定所述测试参数组的取值组对应的坐标与已经测试过的会使所述待测高速链路发生丢包的所有所述测试参数组的取值组对应的坐标的所有距离中的最小距离,根据所述最小距离,确定所述测试参数组的取值组的最大测试时长,所述最大测试时长随所述最小距离单调递减,测试参数组的取值组对应的坐标与会使所述待测高速链路发生丢包的所有测试参数组的取值组对应的坐标的距离越小,越可能发生丢包,为可能发生丢包的待测的测试参数组的取值组配置更长的最大测试时长,而为可能不发生丢包的待测的测试参数组的取值组配置更短的最大测试时长,可节省高速链路的测试时间。
具体实施方式
本发明实施例提供了一种测试高速链路的方法,用于通过为测试参数组配置不同测试时长,提高测试高速链路的效率。
对高速链路进行测试,在测试过程中可使用多个测试参数,包括:预加重高频分量、驱动电流值、信号摆幅、均衡高频分量、判决反馈均衡器(英文:decision feedback equalizer,缩写:DFE)系数、可变增益放大器(英文:variable-gain amplifier,缩写:VGA)系数。
本发明实施例中的测试高速链路的系统请参阅图1,测试高速链路的系统包括:计算机101,驱动器102,待测高速链路103,
其中,所述计算机101,发送配置指令及配置的测试参数给所述驱动器102,还用于读取驱动器记录的丢包信息;
所述驱动器102,根据所述计算机101发送的配置指令和配置信息,配置所述待测试高速链路103的发送端和接收端参数,在所述待测高速链路上传输测试数据包,同时记录所述待测高速链路103中测试数据包的丢包数。所述驱动器102可以是串行器/解串器(英文:Serializer/Deserializer,缩写:SerDes)。
因为使得测试数据包发生丢包的待测的测试参数的值具有一定连续性,所以在待测的测试参数的值变化极小的情况下,对所述待测高速链路上的数据包是否发生丢包的测试结果从不丢包变为丢包或者从丢包变为不丢包的可能性都小。
请参阅图2,本发明实施例中的测试高速链路的方法的一个实施例包括:
201、计算机选择待测的测试参数;
计算机在高速链路测试参数中选择至少两个待测的测试参数,所述待测的测试参数组成测试参数组。所述待测的测试参数包括:预加重高频分量、驱动电流值、信号摆幅、均衡高频分量、判决反馈均衡器系数和可变增益放大器系数。
以在高速链路测试参数中选择两个待测的测试参数为例,具体地,计算机为选择的两个待测的测试参数的各个取值分别设置对应的序号。被选择的测试参数中的任意一个的各个取值的序号为连续的整数,可替换的,也可以是其它等差数列。被选择的测试参数中的任意一个的取值随其序号严格单调递增或者严格单调递减。计算机将所述两个待测的测试参数中的其中一个待测的测试参数的各个取值的序号作为横坐标,将其中另一个待测的测试参数的各个取值的序号作为纵坐标,组成测试参数组的取值坐标系。如果选择的待测的测试参数多于两个,则组成测试参数组的取值坐标系为三维或更高维的坐标系。
计算机发送配置指令给所述驱动器102,指示所述驱动器102将两个待测的测试参数配置在待测的测试高速链路上。
本实施例中,以第一物理层(英文:Physical Layer,缩写:PHY)芯片通过电缆与第二PHY芯片连接,组成待测试高速链路为例。
本实施例中,以信号摆幅和预加重高频分量作为测试参数组成测试参数组为例。以信号摆幅的个数为横轴,预加重高频分量的个数为纵轴,此两个测试参数各有16个测试参数的取值,则该测试参数组包含256个测试参数的取值组,具体请参阅图3,图3以表格的形式直观地表示该测试参数组的取值组,其中,信号摆幅的取值的序号为0至15,预加重高频分量的取值的序号为0至15。图3中的取值组“(9,1)”表示信号摆幅的取值为序号为9的取值,预加重高频分量的取值为序号为1的取值。
202、驱动器按照所述测试参数组的取值组配置待测高速链路;
测试参数组的取值组由组成所述测试参数组的所述待测的测试参数的取值组成。
203、驱动器在所述待测高速链路上传输测试数据包;
在测试环境下,待测试高速链路的发送端和接收端通过物理链路连接,该物理链路包括但不限于印制电路板(英文:printed circuit board,缩写:PCB)的走线、背板、电缆、光纤。进入测试模式,即在发送端发送数据包,经过待测高速链路,在该接收端检测测试数据包的计数,通过检测数据包是否丢包数测量高速链路的通信状况。
204、计算机确定待测的测试参数组的取值组的最大测试时长;
计算机确定待测的测试参数组的取值组对应的坐标与所有已经测试过的会使所述待测高速链路发生丢包的所有测试参数组的取值组对应的坐标的所有距离中的最小距离。根据所述最小距离,确定所述待测的测试参数组的取值组的最大测试时长,所述最大测试时长随所述最小距离单调递减。本实施例中的距离可以是欧几里得距离(英文:Euclidean distance)。可替换的,距离也可以是其它可能的距离。例如,坐标(x1,y1)与坐标(x2,y2)的距离D为,D=|x1-x2|+|y1-y2|,其中||表示取绝对值。
驱动器在根据测试参数组的取值组所述待测高速链路测试后,记录所述待测高速链路上传输的测试数据包是否丢包,计算机根据该记录得到所有已经测试过的会使所述待测高速链路发生丢包的所有测试参数组的取值组对应的坐标。
如果待测的测试参数组的取值组能够使得测试数据包发生丢包,那么将该待测的测试参数组的取值组进行微调,测试数据仍然可能发生丢包,而待测的测试参数组的取值组不会使测试数据包发生丢包,那么将该待测的测试参数组的取值组进行微调,测试数据仍然可能不出现丢包,所以,待测的测试参数组的取值组对应的坐标与会使所述待测高速链路发生丢包的所有测试参数组的取值组对应的坐标的距离越小,越可能发生丢包,为可能发生丢包的待测的测试参数组的取值组配置更长的最大测试时长,而为可能不发生丢包的待测的测试参数组的取值组配置更短的最大测试时长,可节省高速链路的测试时间。本发明实施例中将待测的测试参数组的取值组的边界值看作会使得待测的高速链路丢包的取值组,该待测的测试参数组的取值组的边界值为测试参数组中至少一个测试参数的取值为最小值或最大值,例如上述图3中测试参数组的取值组的边界值可包括:(0,0)、(0,1)、(0,2)、(0,15)、(1,15)、(2,15)、(15,15)、(15,14)、(15,1)、(15,0)、(14,0)、(2,0)、(1,0)等。
为保证最大测试时长随所述最小距离单调递减,可以有多种设置最大测试时长和所述最小距离间关系的方式。举例来说,最大测试时长和所述最小距离间关系为由门限划分的分段函数。即,若所述最小距离小于等于预设的门限值,则计算机确定所述待测的测试参数组的取值组的第一最大测试时长T1,若所述最小距离大于预设的门限值,则确定所述待测的测试参数组的取值组的第二最大测试时长T2,其中,T2远小于T1。又如,最大测试时长T与所述最小距离D的关系为T=max(Tmin,(Tmax/D),其中max()表示取最大值,Tmin为最大测试时长的最小的可能取值,Tmax为最大测试时长的最大的可能取值。
以下以距离是欧几里得距离,最大测试时长和所述最小距离间关系为由门限划分的分段函数为例,说明本实施例的一个场景。待测的测试参数组的取值组的坐标为(1,2)与会使待测高速链路发生丢包的测试参数组的取值组的坐标(0,2)、(0,1)和(0,0)的距离,1、1.41和2.24,以及与所有所述边界取值组的坐标的距离,中的最小距离为1。预设的门限值为2。该最小距离小于预设的门限值,表示坐标为(1,2)的取值组会使测试数据包丢包的可能性高,因此需要增加测试证时长来提高测试准确度,则将其测试最大时长设置为T1。
205、在所述最大测试时长内,测试所述待测高速链路上传输的测试数据是否丢包;
根据计算机的指令,驱动器在该最大测试时长内,测试所述待测高速链路上传输的测试数据是否丢包。如果待测高速链路上传输的测试数据出现丢包,则中止测试,回到步骤201,即计算机选取所述待测的测试参数组的下一组取值组,在该下一组取值组对应的最大测试时长内测试所述待测高速链路上传输的测试数据是否丢包。如果直到最大测试时长结束,待测高速链路上传输的测试数据都没有出现丢包,回到步骤201,即计算机选取所述待测的测试参数组的下一组取值组,在该下一组取值组对应的最大测试时长内测试所述待测高速链路上传输的测试数据是否丢包。
上述下一组取值组是按照一定的顺序选择的坐标与当前的取值组的坐标相邻的取值组。举例来说,当前的取值组中一个取值的序号保持不变,另一个取值的序号增加1。取值组如果该另一个取值的序号是最大序号,则将该另一个取值的序号变为最小序号,同时原先保持不变的取值的序号增加1。又例如,当前的取值组中一个取值的序号保持不变,另一个取值的序号减小1。如果该另一个取值的序号是最小序号,则该另一个取值的序号保持不变,同时原先保持不变的取值的序号减小1。
206、记录在所述最大测试时长内所述待测高速链路上传输的测试数据是否丢包;
驱动器监测丢包情况,计算机获取丢包情况后记录在所述最大测试时长内所述待测高速链路上传输的测试数据是否丢包。若测试数据包出现丢包,则更新所述测试参数组的取值组对应的丢包标记的值。
例如,驱动器以丢包标记的方式记录按照所述测试参数组的取值组配置所述待测高速链路后,所述待测高速链路上传输的测试数据是否丢包。该丢包标记的初始值为“0”,当测试数据包出现丢包时,将测试参数组的丢包标记的值设置为“1”。
207、在所有测试参数组的取值组完成测量之后,确定不包含所述丢包标记的所述测试参数组的取值组的最大不丢包立方体。
本发明实施例中的立方体包括2维坐标系中的正方形,3维坐标系中的立方体以及高维坐标系中的超立方(英文:hypercube)。
举例来说当所述测试参数组中包含两个测试参数时,所述测试参数组的取值组的最大不丢包立方体为最大不丢包正方形。不丢包正方形为两个待测的测试参数作为横坐标和纵坐标组成2维坐标系中包括n2个坐标的边长为n的正方形,其中n为奇数。如果该n2个坐标对应的n2个取值组中的任意一个都不使得测试数据包发生丢包,则称该正方形为不丢包正方形。所有的不丢包正方形中边长最大的不丢包正方形为最大不丢包正方形。该最大不丢包正方形的中心点是测试参数组的取值组中的最优取值组。在待测高速链路上配置测试参数组的最优取值组时,待测高速链路的通信性能最好。
同理,当测试参数组的测试参数数量为3个时,在测试参数组的取值组中确定最大不丢包立方体,该最大不丢包立方体的中心为测试参数组的取值组的最优取值组。当测试参数组的测试参数数量为4个及以上时,在所述测试参数组的取值组中确定最大不丢包超立方,该最大不丢包超立方的中心为所述测试参数组的取值组的最优取值组。
本发明实施例中,计算机选择待测的测试参数,待测的测试参数组成测试参数组,按照测试参数组的取值组配置待测高速链路,在该待测高速链路上传输测试数据包,确定所述待测的测试参数组的取值组对应的坐标与已经测试过的会使所述待测高速链路发生丢包的所有测试参数组的取值组对应的坐标的所有距离中的最小距离,根据所述最小距离,确定所述测试参数组的最大测试时长,所述最大测试时长随所述最小距离单调递减,待测的测试参数组的取值组对应的坐标与会使所述待测高速链路发生丢包的所有测试参数组的取值组对应的坐标的距离越小,越可能发生丢包,为可能发生丢包的待测的测试参数组的取值组配置更长的最大测试时长,而为可能不发生丢包的待测的测试参数组的取值组配置更短的最大测试时长,可节省高速链路的测试时间。进一步根据测试数据包是否丢包,更新所述测试参数组的丢包标记的值,在所有测试参数组的取值组完成测量之后,确定不包含所述丢包标记的所述待测的测试参数组的最大不丢包立方体,进而确定所述最大不丢包立方体的中心,以确定为使待测高速链路达到最佳通信性能所需配置的所述待测的测试参数组的取值组。
下面详细说明本发明实施例中的测试高速链路的装置,请参阅图4,本发明实施例中的测试高速链路的装置的一个实施例包括:
选择单元301,用于选择待测的测试参数,所述待测的测试参数组成测试参数组,所述测试参数组中包括至少两个待测的测试参数;
配置单元302,用于按照所述测试参数组的取值组配置待测高速链路,所述测试参数组的取值组由组成所述测试参数组的所述待测的测试参数的取值组成;
传输单元303,用于在所述待测高速链路上传输测试数据包;
确定单元304,用于确定待测的所述测试参数组的取值组对应的坐标与已经测试过的使所述待测高速链路发生丢包的所有所述测试参数组的取值组对应的坐标的所有距离中的最小距离;
所述确定单元304,还用于根据所述最小距离,确定所述待测的测试参数组的取值组的最大测试时长,所述最大测试时长随所述最小距离单调递减;
测试单元305,用于在所述确定单元304确定的所述最大测试时长内,测试所述待测高速链路上传输的测试数据是否丢包。
进一步地,所述确定单元304,还用于若所述最小距离小于等于预设的门限值,则确定待测的所述测试参数组的取值组的第一最大测试时长,若所述最小距离大于预设的门限值,则确定待测的所述测试参数组的取值组的第二最大测试时长,其中,第二最大测试时长远小于第一最大测试时长。
本发明实施例中的测试高速链路的装置还可以进一步包括:
更新单元306,用于若测试数据包出现丢包,则更新所述测试参数组的取值组对应的丢包标记的值。
进一步地,所述确定单元304,还用于在所有所述测试参数组的取值组完成测量之后,确定不包含所述丢包标记的所述测试参数组的最大不丢包立方体。
本发明实施例中处理测试参数的装置各单元实现各自功能的具体过程,请参见前述图2所示实施例中的描述,此处不再赘述。
本发明实施例中,选择单元301选择待测的测试参数,所述待测的测试参数组成测试参数组,配置单元302按照所述测试参数组的取值组配置待测高速链路,传输单元303在所述待测高速链路上传输测试数据包,确定单元304确定待测的所述测试参数组的取值组对应的坐标与已经测试过的使所述待测高速链路发生丢包的所有所述测试参数组的取值组对应的坐标的所有距离中的最小距离,确定单元304根据所述最小距离,确定所述待测的测试参数组的取值组的最大测试时长,所述最大测试时长随所述最小距离单调递减,测试单元305在所述确定单元304确定的所述最大测试时长内,测试所述待测高速链路上传输的测试数据是否丢包。进一步地,若所述最小距离小于等于预设的门限值,所述确定单元304则确定待测的所述测试参数组的取值组的第一最大测试时长,若所述最小距离大于预设的门限值,则确定待测的所述测试参数组的取值组的第二最大测试时长,其中,第二最大测试时长远小于第一最大测试时长,待测的测试参数组的取值组对应的坐标与会使所述待测高速链路发生丢包的所有测试参数组的取值组对应的坐标的距离越小,越可能发生丢包,为可能发生丢包的待测的测试参数组的取值组配置更长的最大测试时长,而为可能不发生丢包的待测的测试参数组的取值组配置更短的最大测试时长,可节省高速链路的测试时间,提升测试高速链路的效率。若测试数据包出现丢包,更新单元306则更新所述测试参数组的取值组对应的丢包标记的值,在所有所述测试参数组的取值组完成测量之后,确定单元304确定不包含所述丢包标记的所述测试参数组的最大不丢包立方体,进而确定所述最大不丢包立方体的中心,以确定为使待测高速链路达到最佳通信性能所需配置的所述待测的测试参数组的取值组。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种测试高速链路的方法及装置进行了详细介绍,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。