一种网络包随机损伤方法及系统转让专利

申请号 : CN202210735242.X

文献号 : CN114826942B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈文博

申请人 : 江苏信而泰智能装备有限公司

摘要 :

本申请涉及一种网络包随机损伤方法及系统,其属于互联网技术领域,该方法包括:获取固定采样点数值;根据固定采样点数值调取目标数据包得到目标采样点数值,所述目标采样点数值与所述固定采样点数值相等;根据转换规则和目标采样点数值得到值序列;获取随机点位和损伤点位;根据随机点位确定值序列的初始读取点位;根据损伤点位、值序列的初始读取点位以及值序列得到损伤数据包。本申请具有改善随机损伤网络包的随机特性的效果。

权利要求 :

1.一种网络包随机损伤方法,其特征在于,包括:获取固定采样点数值;

根据固定采样点数值调取目标数据包得到目标采样点数值,所述目标采样点数值与所述固定采样点数值相等;

根据转换规则和目标采样点数值得到值序列;

获取随机点位和损伤点位,所述损伤点位包括丢包点位和读取点位顺序;

根据所述丢包点位确定值序列中被丢弃的点位;

根据所述读取点位顺序确定读取值序列的顺序,所述读取点位顺序包括正序读取和反序读取;

根据随机点位确定值序列的初始读取点位;

根据值序列的初始读取点位正序读取值序列或者反序读取值序列,若读取到丢包点位则进行丢弃操作;

若否,则输出剩余点位;

剩余点位按照输出顺序再次排列形成损伤数据包。

2.根据权利要求1所述的网络包随机损伤方法,其特征在于,所述固定采样点数值为预设值。

3.根据权利要求1所述的网络包随机损伤方法,其特征在于,所述转换规则为将目标采样点数值转换为二进制的值序列。

4.根据权利要求1所述的网络包随机损伤方法,其特征在于,所述随机点位与所述值序列中的任意一个点位对应。

5.一种网络包随机损伤系统,所述系统用于实现如权利要求1 4中任一项所述的方法,~其特征在于,包括输入端口(210)、FPGA芯片(220)以及输出端口(230),所述输入端口(210)和所述输出端口(230)均连接所述FPGA芯片(220);

所述输入端口(210)用于接收被测设备(100)输出的数据包并输出目标数据包;

所述FPGA芯片(220)包括随机存取存储器(221)、随机数发生器(222)以及控制器(223),所述随机存取存储器(221)和所述随机数发生器(222)均连接所述控制器(223);

所述随机存取存储器(221)用于存储固定采样点数值;

所述随机数发生器(222)用于发生随机点位;

所述控制器(223)用于:

调取固定采样点数值和接收所述目标数据包,并根据固定采样点数值和目标数据包得到目标采样点数值,并在得到目标采样点数值后计算目标采样点数值的值序列;

接收所述随机点位,并根据所述随机点位确定值序列的初始读取点位;

接收外部编程设备输入的损伤点位,所述损伤点位包括丢包点位和读取点位顺序;

根据损伤点位、值序列的初始读取点位以及值序列输出损伤数据包;

所述输出端口(230)用于接收并输出所述损伤数据包。

6.根据权利要求5所述的网络包随机损伤系统,其特征在于,所述随机数发生器(222)设置有多个。

7.根据权利要求5所述的网络包随机损伤系统,其特征在于,所述控制器(223)还用于接收外部编程设备输入的固定采样点数值并传输至随机存取存储器(221)中。

说明书 :

一种网络包随机损伤方法及系统

技术领域

[0001] 本申请涉及互联网技术领域,尤其是涉及一种网络包随机损伤方法及系统。

背景技术

[0002] 随着以太网的普及,以太网承载的数据也在不断增多,导致以太网在复杂的网络环境下发生非理想特性的概率增大。非理想特性如丢包,乱序,延迟等。
[0003] 目前,常采用网络损伤仪在实验室环境下研究各种设备对网络非理想特性的忍受和处理能力。具体地,网络损伤仪串接在各种设备的连接回路中,实现带宽限制、延时/抖动、丢包、乱序、重复报文、队列深度、物理链路等典型损伤仿真功能。但在实际应用中,由于网络损伤仪内的FPGA存储能力有限,导致网络损伤仪在损伤仿真过程中,不断重复FPGA内存储的数据包。网络损伤仪不断重复FPGA内存储的数据包的原理如下:
[0004] 参照图1,网络损伤仪取一定的采样点数,比如64K个,算出采样点数的点位图,并且该点位图中0或者1符合所需要的随机分布特征,即以0或者1作为损伤随机数,可以认为在采样点数范围内,网络损伤仪是具有随机特性的,但是由于FPGA的存储空间是有限的,只能存储一定长度的采样点数,FPGA读取完这个采样点数以后,只能重复读取另一个相同的采样点数。这就意味着,在超出FPGA读取完这个采样点数的时间尺度上,损伤操作并不是随机的。比如64K个点位,FPGA重复读取64K的初始点位,使得前一个64K内损伤的点位与后一个64K内损伤的点位完全相同,这就导致损伤的模式在重复,并没有达到完全的随机。

发明内容

[0005] 本申请提供一种网络包随机损伤方法及系统,具有改善随机损伤网络包的随机特性的特点。
[0006] 本申请目的一是提供一种网络包随机损伤方法。
[0007] 本申请的上述申请目的一是通过以下技术方案得以实现的:
[0008] 一种网络包随机损伤方法,包括获取固定采样点数值;
[0009] 根据固定采样点数值调取目标数据包得到目标采样点数值,所述目标采样点数值与所述固定采样点数值相等;
[0010] 根据转换规则和目标采样点数值得到值序列;
[0011] 获取随机点位和损伤点位;
[0012] 根据随机点位确定值序列的初始读取点位;
[0013] 根据损伤点位、值序列的初始读取点位以及值序列得到损伤数据包。
[0014] 通过采用上述技术方案,首先,根据网络损伤仪的存储空间设置固定采样点数值,使得网络损伤仪能够在承受范围内对目标数据包进行随机损伤操作。然后,将根据固定采样点数值得到的目标采样点数值转换为值序列,便于后续进行随机损伤操作。再然后,通过网络损伤仪内的随机数发生器得到随机点位和通过外部编程设备获取到损伤点位。最后,根据值序列的初始读取点位读取值序列,并在读取值序列过程中进行丢弃操作,使得未被丢弃的值序列输出形成损伤数据包。上述通过在网络损伤仪内新增了随机数发生器,使得在网络损伤仪对数据包进行随机损伤操作时,随机数发生器生成的随机点位改变了值序列的初始读取点位,但没有改变值序列本身,所以通过外部编程设备设定的丢包点位仍旧成立,但是由于值序列的初始读取点位随机化了,所以不会再出现网络损伤仪在对数据包进行随机损伤操作时是按目标采样点数值重复读取的情况。即有效改善了网络损伤仪对目标数据包进行随机损伤操作的随机特性。
[0015] 本申请在一较佳示例中可以进一步配置为:所述固定采样点数值为预设值。
[0016] 通过采用上述技术方案,固定采样点数值需要满足两个方面,一方面是保障固定采样点数值的点位数量在网络损伤仪的最大存储点数值内,使得网络损伤仪能够正常运行;另一方面是要保障固定采样点数值靠近网络损伤仪的最大存储点数值,以实现更好地检测被测设备对网络非理想特性的忍受阈值。所以固定采样点数值需要操作人员通过外部编程设备提前设定。
[0017] 本申请在一较佳示例中可以进一步配置为:所述转换规则为将目标采样点数值转换为二进制的值序列。
[0018] 通过采用上述技术方案,将目标采样点数值转换为二进制的值序列以便于网络损伤仪根据值序列确定丢弃的值序列点位,从而为实现随机损伤操作提供数据支持。
[0019] 本申请在一较佳示例中可以进一步配置为:所述随机点位与所述值序列中的任意一个点位对应。
[0020] 通过采用上述技术方案,使得随机数发生器生成的随机点位在值序列中存在唯一一个对应的点位,从而降低网络损伤仪漏掉对值序列进行随机损伤操作的概率,即保障了网络损伤仪对网络包随机损伤的准确度。
[0021] 本申请在一较佳示例中可以进一步配置为:所述损伤点位包括丢包点位和读取点位顺序;
[0022] 根据所述丢包点位确定值序列中被丢弃的点位;
[0023] 根据所述读取点位顺序确定读取值序列的顺序。
[0024] 通过采用上述技术方案,便于网络损伤仪根据值序列的初始读取点位读取值序列,在读取值序列的过程中,若遇到丢包点位则进行丢弃操作。所以通过上述技术方案,实现了网络损伤仪对值序列进行随机损伤操作的目的。
[0025] 本申请在一较佳示例中可以进一步配置为:所述读取点位顺序包括正序读取和反序读取。
[0026] 通过采用上述技术方案,便于网络损伤仪根据值序列的初始读取点位正序读取值序列或者反序读取值序列,从而进一步完善网络损伤仪对目标数据包进行随机损伤操作的随机特性。
[0027] 本申请在一较佳示例中可以进一步配置为:所述根据损伤点位、值序列的初始读取点位以及值序列得到损伤数据包的方法包括:
[0028] 根据值序列的初始读取点位正序读取值序列或者反序读取值序列,若读取到丢包点位则进行丢弃操作;
[0029] 若否,则输出剩余点位;
[0030] 剩余点位按照输出顺序再次排列形成损伤数据包。
[0031] 通过采用上述技术方案,网络损伤仪输出损伤数据包至被测设备中,便于网络测试仪根据损伤数据包的损伤程度判断被测设备对网络非理想特性的忍受阈值。
[0032] 本申请目的二是提供一种网络包随机损伤系统。
[0033] 本申请的上述申请目的二是通过以下技术方案得以实现的:
[0034] 一种网络包随机损伤系统,包括输入端口、FPGA芯片以及输出端口,所述输入端口和所述输出端口均连接所述FPGA芯片;
[0035] 所述输入端口用于接收被测设备输出的数据包并输出目标数据包;
[0036] 所述FPGA芯片包括随机存取存储器、随机数发生器以及控制器,所述随机存取存储器和所述随机数发生器均连接所述控制器;
[0037] 所述随机存取存储器用于存储固定采样点数值;
[0038] 所述随机数发生器用于发生随机点位;
[0039] 所述控制器用于:
[0040] 调取固定采样点数值和接收所述目标数据包,并根据固定采样点数值和目标数据包得到目标采样点数值,并在得到目标采样点数值后计算目标采样点数值的值序列;
[0041] 接收所述随机点位,并根据所述随机点位确定值序列的初始读取点位;
[0042] 接收外部编程设备输入的损伤点位,所述损伤点位包括丢包点位和读取点位顺序;
[0043] 根据损伤点位、值序列的初始读取点位以及值序列输出损伤数据包;
[0044] 所述输出端口用于接收并输出所述损伤数据包。
[0045] 通过采用上述技术方案,输入端口和输出端口的设置实现了FPGA芯片与被测设备之间的连接,从而便于FPGA芯片对被测设备输出的数据包进行随机损伤操作。FPGA芯片具有存储、调取、计算以及输出等多种功能,从而为网络损伤仪对数据包进行随机损伤操作提供硬件和软件上的支持。
[0046] 本申请在一较佳示例中可以进一步配置为:所述随机数发生器设置有多个。
[0047] 通过采用上述技术方案,使得正在生成随机点位的随机数发生器损坏时,利用其他的备用随机数发生器来生成随机点位,以保障网络损伤仪对网络包随机损伤的准确度。
[0048] 本申请在一较佳示例中可以进一步配置为:所述控制器还用于接收外部编程设备输入的固定采样点数值并传输至随机存取存储器中。
[0049] 综上所述,本申请包括以下至少一种有益技术效果:
[0050] 通过在网络损伤仪内新增了随机数发生器,使得在网络损伤仪对数据包进行随机损伤操作时,随机数发生器生成的随机点位改变了值序列的初始读取点位,但没有改变值序列本身,所以通过外部编程设备设定的丢包点位仍旧成立,但是由于值序列的初始读取点位随机化了,所以不会再出现网络损伤仪在对数据包进行随机损伤操作时是按目标采样点数值重复读取的情况。即有效改善了网络损伤仪对目标数据包进行随机损伤操作的随机特性。

附图说明

[0051] 图1是本申请的背景技术的现有技术示例图。
[0052] 图2是本申请实施例的示例性运行环境示意图。
[0053] 图3是本申请实施例的网络包随机损伤方法流程图。
[0054] 图4是本申请的网络包随机损伤技术示例图。
[0055] 图5是本申请实施例的网络包随机损伤系统图。
[0056] 附图标记说明:100、被测设备;200、网络损伤仪;210、输入端口;220、FPGA芯片;221、随机存取存储器;222、随机数发生器;223、控制器;230、输出端口;300、网络测试仪。

具体实施方式

[0057] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
[0058] 图2示出了能够在其中实现本申请实施例的示例性运行环境示意图。参照图2,运行环境包括被测设备100、网络损伤仪200以及网络测试仪300。被测设备100分别连接网络损伤仪200和网络测试仪300。
[0059] 由于在实际的应用过程中,网络由很多设备组成,如数据终端、帧中继设备、ATM交换机、软交换设备、路由设备等能够发送、接收或传送二进制数据的硬件和软件系统组成的电信设备,所以被测设备100应设置有多个。在以下实施例中,为了便于说明数据包在多个被测设备100之间的传递过程,将被测设备100设置为两个,分别为第一被测设备和第二被测设备。在本示例中设置的第一被测设备和第二被测设备只是示例性解释并不构成对本申请实施例的限定。
[0060] 其中,第一被测设备和第二被测设备能够进行数据包的交互。例如,第一被测设备可以接收来自第二被测设备输出数据包B,同样的,第二被测设备也可以接收来自第一被测设备输出数据包A。由于第一被测设备和第二被测设备进行数据包交互时,可能存在丢包、时延等非理想特性,所以为了模拟第一被测设备和第二被测设备对网络非理想特性的忍受和处理能力,将网络损伤仪200串接在第一被测设备和第二被测设备之间。同时,为了判断第一被测设备和第二被测设备对网络非理想特性的忍受阈值,设置有第一网络测试仪与第一被测设备连接,还设置有第二网络测试仪与第二被测设备连接。
[0061] 当第一被测设备输出数据包A时,网络损伤仪200接收数据包A,并对数据包A进行随机损伤操作后输出为损伤数据包A,第二被测设备接收网络损伤仪200输出的损伤数据包A并传输至第二网络测试仪中,第二网络测试仪300根据测试包A的损伤程度判断第一被测设备对网络非理想特性的忍受阈值。上述损伤程度为数据包A转变为损伤数据包A的过程中丢失的所有子数据包,多个子数据包组合成数据包A。同样地,第二被测设备也可以输出数据包B至网络损伤仪200中,数据包B经过网络损伤仪200随机损伤操作后输出为损伤数据包B,并经过第一被测设备传输至第一网络测试仪中。
[0062] 需要说明的是,图2所示的运行环境仅是解释性的,绝不是为了限制本发明实施例的应用或用途。例如,该运行环境中可以包括多个被测设备100、多个网络损伤仪200以及多个网络测试仪300。
[0063] 图3示出了根据本申请实施例的一种网络包随机损伤方法的流程图。方法可以由图2中的网络损伤仪200执行。
[0064] 参照图3,步骤S100:获取固定采样点数值。
[0065] 固定采样点数值是通过外部编程设备输入的,用于确定网络损伤仪200每次接收的数据包的点位个数,其存储在网络损伤仪200内。外部编程设备如电脑、平板以及手机等能够实现编程操作的电子设备。由于固定采样点数值是外部编程设备输入的,所以每次外部编程设备输出传输固定采样点数值至网络损伤仪200前,都已经提前设定好固定采样点数值。但是由于网络损伤仪200的存储能力有限,所以设置的固定采样点数值应在网络损伤仪200的存储能力范围内。例如,网络损伤仪200的最大存储点数值为64K,则外部编程设备可以设置16K、32K或者64K等不超过64K的固定采样点数值。
[0066] 需要说明的是,在网络损伤仪200进行随机损伤操作时,网络损伤仪200接收到的数据包的点位数量越多,网络损伤仪200的损伤程度越高,即使得网络测试仪300更好的判断被测设备100对网络非理想特性的忍受阈值,但是受限于网络损伤仪200的存储能力有限,所以在设置固定采样点数值时应保障固定采样点数值的点位数量在网络损伤仪200的最大存储点数值内,同时要保障固定采样点数值靠近网络损伤仪200的最大存储点数值,以更好地检测被测设备100对网络非理想特性的忍受阈值。
[0067] 将固定采样点数值存储在网络损伤仪200内后,便于在网络损伤仪200需要进行随机损伤操作时取用。
[0068] 步骤S200:根据固定采样点数值调取目标数据包得到目标采样点数值,所述目标采样点数值与所述固定采样点数值相等。
[0069] 具体来说,被测设备100输出的数据包中需要进行随机损伤操作的数据包为目标数据包。目标数据包均传输至网络损伤仪200中进行随机损伤操作。随机损伤操作过程中,首先是网络损伤仪200先调取固定采样数值,然后根据固定采样数值周期性接收目标数据包,每一个周期内接收到的目标数据包为目标采样点数值。当网络损伤仪200完成前一个周期内接收到的目标采样点数值的随机损伤操作后,才能继续接收下一周期内的目标采样点数值。
[0070] 上述将目标数据包划分为多个目标采样点数值,使得网络损伤仪200满足存储能力有限的要求外,还能够对整个目标数据包内的所有目标采样点数值进行随机损伤操作,从而保障了网络损伤仪200对网络包随机损伤的准确度,即降低了发生漏随机损伤的概率,使得网络损伤仪200的随机损伤操作完整覆盖目标数据包的处理过程。
[0071] 步骤S300:根据转换规则和目标采样点数值得到值序列。
[0072] 转换规则为将目标采样点数值转换为二进制的值序列。具体来说,是在网络损伤仪200获得目标采样点数值后,通过转换规则将目标采样点数值转换为二进制的值序列。例如,目标采样点数值为64K,则得到值序列为1111101000000000。
[0073] 步骤S400:获取随机点位和损伤点位。
[0074] 为了改善随机损伤网络包的随机特性,在网络损伤仪200内设置有随机数发生器222,随机数发生器222用于发生随机点位。网络损伤仪200每对目标数据包进行一次随机损伤操作则随机数发生器222就对应生成一个随机点位,同时,随机数发生器222生成的随机点位与值序列中的任意一个点位对应。例如值序列为11111010000000,则随机数发生器222生成的随机点位可以为1到14中的任意一个数值。
[0075] 损伤点位由外部编程设备输入,其包括丢包点位和读取点位顺序。
[0076] 丢包点位用于在网络损伤仪200对目标数据包进行随机损伤操作时确定值序列中被丢弃的点位,其包括点位0和点位1。为了不造成丢包混乱或者损伤程度为百分之百,网络损伤仪200每对目标数据包进行一次随机损伤操作,则外部编程设备输入的丢包点位仅为点位0和点位1中的其中一个。需要说明的是,外部编程设备输入丢包点位为点位0或者点位1后,并不是就保持丢包点位一直为点位0或者点位1,而是在网络损伤仪200每对目标数据包进行一次随机损伤操作,则输入的丢包点位可以由点位0更换为点位1,也可以由点位1更换为点位0。例如,网络损伤仪200对目标数据包C进行随机损伤操作时,目标数据包C中的目标采样点数值的值序列为11111010000000,丢包点位为点位0,则值序列11111010000000中所有为0的点位都将被丢弃。再例如,网络损伤仪200对目标数据包D进行随机损伤操作时,目标数据包D中的目标采样点数值的值序列为11111010000000,丢包点位为点位1,则值序列11111010000000中所有为1的点位都将被丢弃。
[0077] 读取点位顺序用于在网络损伤仪200对目标数据包进行随机损伤操作时,确定读取值序列的顺序,其包括正序读取和反序读取。为了节约网络损伤仪200内的存储空间,所以正序读取和反序读取采用0或者1表示,同时为了区分正序读取和反序读取,当正序读取采用0表示时,反序读取则采用1表示;当正序读取采用1表示时,反序读取采用0表示。
[0078] 步骤S500:根据随机点位确定值序列的初始读取点位。
[0079] 值序列的初始读取点位为值序列开始进行随机损伤操作的点位。而值序列开始进行随机损伤操作的点位由随机点位确定。例如,值序列为11111010000000,随机点位为数值5,则开始进行随机损伤操作的点位为值序列11111010000000中的第五点位,即从点位1开始读取。
[0080] 步骤S600:根据损伤点位、值序列的初始读取点位以及值序列得到损伤数据包。
[0081] 在得到丢包点位、读取点位顺序、值序列的初始读取点位以及值序列后,根据值序列的初始读取点位正序读取值序列或者反序读取值序列,若读取到丢包点位则进行丢弃操作。若否,则输出剩余点位,剩余点位按照输出顺序再次排列形成损伤数据包。为了便于理解,将获得损伤数据包的过程举例如下:
[0082] 参照图4,设置丢包点位为点位1、读取点位顺序为反序读取、值序列的初始读取点位为第3点位以及值序列为11111010000000,则得到随机损伤操作的点位依次是11100000001011,而由于丢包点位为点位1,则值序列中所有为1的点位都将被丢弃,即输出
00000000,损伤数据包的值序列即为00000000。
[0083] 参照图4,通过上述获得损伤数据包的过程得知,由于在网络损伤仪200内新增了随机数发生器222,在网络损伤仪200对数据包进行随机损伤操作时,随机数发生器222生成的随机点位改变了值序列的初始读取点位,并没有改变值序列本身,所以通过外部编程设备设定的丢包点位仍旧成立,但是由于值序列的初始读取点位随机化了,所以不会再出现网络损伤仪200在对数据包进行随机损伤操作时是按目标采样点数值重复读取的情况。
[0084] 以上是关于方法实施例的介绍,以下通过系统实施例,对本申请所述方案进行进一步说明。
[0085] 本申请提供一种网络包随机损伤系统。
[0086] 参照图5,一种网络包随机损伤系统,包括输入端口210、FPGA芯片220以及输出端口230。输入端口210和输出端口230均连接FPGA芯片220。
[0087] 其中,输入端口210用于接收被测设备100输出的数据包并输出目标数据包,即FPGA芯片220获取到目标数据包。
[0088] FPGA芯片220包括随机存取存储器221、随机数发生器222以及控制器223。随机存取存储器221和随机数发生器222均连接控制器223。
[0089] 具体来说,由于控制器223与外部编程设备连接,所以当外部编程设备输入固定采样点数值时,控制器223将固定采样点数值存储在随机存取存储器221中,即随机存取存储器221用于存储固定采样点数值。在控制器223需要对目标数据包进行随机损伤操作时,再从随机存取存储器221中调取固定采样点数值。
[0090] 随机数发生器222用于发生随机点位,为了保障随机数发生器222生成的随机点位的随机特性,所以在将随机数发生器222安装在FPGA芯片220上之前,需要对随机数发生器222进行随机数种子的初始化,同时还需要根据值序列的点位数量限定随机数发生器222生成随机点位的最大点位,避免随机数发生器222生成随机点位的最大点位超出值序列的点位数量,从而造成FPGA芯片220没有获取到值序列的初始读取点位而不能对该值序列进行随机损伤操作。
[0091] 为了保障网络损伤仪200对网络包随机损伤的准确度,随机数发生器222设置有多个。其中一个随机数发生器222为主随机数发生器,剩余的多个随机数发生器222为备用随机数发生器,当主随机数发生器损坏时,利用备用随机数发生器来生成随机点位。
[0092] 控制器223是FPGA芯片220内原有的,用于进行随机损伤操作的功能模块,控制器223具有多个功能模式。功能一是调取固定采样点数值和接收目标数据包,并根据固定采样点数值和目标数据包得到目标采样点数值,并在得到目标采样点数值后计算目标采样点数值的值序列。功能二是接收随机点位,并根据随机点位确定值序列的初始读取点位。功能三是接收外部编程设备输入的损伤点位。功能四是根据损伤点位、值序列的初始读取点位以及值序列输出损伤数据包。上述控制器223的随机损伤操作如方法实施例中所述的处理过程,在此不再赘述。
[0093] 输出端口230用于接收并输出损伤数据包到被测设备100中,从而便于网络测试仪300根据损伤数据包的损伤程度判断被测设备100对网络非理想特性的忍受阈值。
[0094] 以上描述仅为本申请得较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其他技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。