一种rtt统计方法和rtt统计系统的制作方法

文档序号:7616880阅读:580来源:国知局
专利名称:一种rtt统计方法和rtt统计系统的制作方法
技术领域
本发明涉及数据传输技术,更具体地说,涉及一种RTT统计方法和RTT统计系统。
背景技术
RTT(Round-Trip Time,往返时延)在计算机网络中是一个重要的性能指标,它表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认)总共经历的时延。发送方发送tcp (Transmission Control Protocol)报文到收到ack(ACKnowledge Character)回复之间的时间,称为一个RTT(Round-Trip Time,往返时延)样本,记为to。由于tcp协议栈的优化操作,接收方收到tcp报文后,并不会立即回复 ack确认包,而是延迟几百ms,期望能附带到其它数据包上搭载过去。这样,通过上述方法统计到的RTT样本并不等于真实的RTT,而是包含了 tcp协议栈优化时延AR。可以用公式表示为Rn = Rt+ Δ R ;其中,Rt表示真实的RTT ;Rn表示统计出的一次普通RTT样本;Δ R表示tcp协议栈优化的时延。通过对现实网络中tcp数据进行分析,Δ R因子的值在0 200ms之间,对最终的 RTT统计结果影响非常大。现有的统计方法主要包括两种,下面进行详细介绍1)、统计方法一采用如下公式来计算真实的tcp往返时延R = (R1+R2+R3+. . . +Rn) /n ;对多次统计出的to累加求平均值,这样一定程度上平缓了 AR因子的影响,但是效果不明显。采用此统计方法计算出的RTT与实际RTT相差很大。2)、统计方法二Rn = aR+(l-a)RnR = (R1+R2+R3+. . . +Rn) /n此统计方法中,为了消除AR因子的随机抖动,利用加权平均算法对RTT样本1 进行平滑,其中a是平滑因子,典型的值是0. 9。这个公式的含义是,按照上一次统计出的R 占有0. 9的权重,新的RTT样本1 占有0. 1的权重,来更新1 的值,最后再对平滑后的1 累加求平均值。此种方法较方法一有所改进,采用平滑算法对每次统计出的RTT样本进行了平滑,减小了因子抖动的影响,使最终的R更接近于真实RTT。但是仍然存在如下缺陷如果多次RTT样本中AR因子都比较大,那么最终统计出的结果R仍然比真实RTT相差较大。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述统计结果不准确、误差较大的缺陷,提供一种RTT统计方法和RTT统计系统。
本发明解决其技术问题所采用的技术方案是构造一种RTT统计方法,包括步骤A、对于预设时间内的RTT样本,在每一预设单位时间内,分别从每一预设数目的连续RTT样本中提取最小的RTT样本,从而得到对应于每一预设单位时间的第一次采样的 RTT样本集合;B、分别从对应于每一预设单位时间的第一次采样的RTT样本集合中提取最小的 RTT样本,从而得到对应于预设时间的第二次采样的RTT样本集合;C、依据第一次采样的RTT样本集合中RTT样本的数量,确定第二次采样的RTT样本集合中对应的RTT样本的可信权重;D、依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,计算近似RTT。在本发明所述的RTT统计方法中,所述可信权重包括多个等级值。在本发明所述的RTT统计方法中,其中,步骤C具体包括Cl、判断第一次采样的RTT样本集合中RTT样本的数量是否大于所述多个等级值中的最大等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为最大等级值;若否,则进入步骤C2 ;C2、判断第一次采样的RTT样本集合中RTT样本的数量是否等于所述多个等级值中的一个等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为该等级值。在本发明所述的RTT统计方法中,在步骤A之前还包括步骤A01、判断预设时间内的RTT样本是否包含有三次握手数据包对应的RTT样本,若是,则从预设时间内的RTT样本中分离出三次握手数据包对应的RTT样本;若否,则进入步骤A;A02、设置三次握手数据包对应的RTT样本的可信权重为多个等级值中的最大等级值。在本发明所述的RTT统计方法中,步骤D具体包括依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,以及三次握手数据包对应的RTT样本及其可信权重,计算近似RTT。在本发明所述的RTT统计方法中,在步骤A之前还包括步骤A03、判断每一预设单位时间内的RTT样本的数量是否小于预设数目,若是,则丢弃该预设单位时间内的RTT样本。本发明还提供一种RTT统计系统,包括第一采样单元,用于对于预设时间内的RTT样本,在每一预设单位时间内,分别从每一预设数目的连续RTT样本中提取最小的RTT样本,从而得到对应于每一预设单位时间的第一次采样的RTT样本集合;第二采样单元,用于分别从对应于每一预设单位时间的第一次采样的RTT样本集合中提取最小的RTT样本,从而得到对应于预设时间的第二次采样的RTT样本集合;确定单元,用于依据第一次采样的RTT样本集合中RTT样本的数量,确定第二次采样的RTT样本集合中对应的RTT样本的可信权重;计算单元,用于依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,计算近似RTT。在本发明所述的RTT统计系统中,所述可信权重包括多个等级值。在本发明所述的RTT统计系统中,所述确定单元具体包括第一判断单元,用于判断第一次采样的RTT样本集合中RTT样本的数量是否大于所述多个等级值中的最大等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为最大等级值;若否,则由第二判断单元进行处理;第二判断单元,用于判断第一次采样的RTT样本集合中RTT样本的数量是否等于所述多个等级值中的一个等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为该等级值。在本发明所述的RTT统计系统中,还包括分离单元,用于判断预设时间内的RTT样本是否包含有三次握手数据包对应的 RTT样本,若是,则从预设时间内的RTT样本中分离出三次握手数据包对应的RTT样本;若否,则由第一采样单元进行处理;设置单元,用于设置三次握手数据包对应的RTT样本的可信权重为多个等级值中的最大等级值;其中,计算单元具体用于依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,以及三次握手数据包对应的RTT样本及其可信权重,计算近似RTT。本发明的有益效果是,通过对一段时间内的RTT样本进行两次采样,然后再对采样后的RTT样本集合的每一 RTT样本确定可信权重,从而计算得出近似RTT。该方案使得预设单位时间内,即使90%的RTT样本都是错误的,只要连续多个RTT样本内,有一个正确的 RTT样本,那么正确的RTT样本就可以被筛选出来。为提取出来的RTT样本设置可信权重, 使得计算得出的近似RTT逼近真实的RTT。进一步地,在预设单位时间内,如果发送方与接收方之间的数据包交互很少,使得 RTT样本的数量未达到最低的预设数目,则认为此单位时间内的RTT样本数过少,不足以计算出正确的RTT,因此不对此单位时间统计RTT值,保证整体统计结果的准确性。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是依据本发明一实施例的RTT统计方法流程图;图2是步骤103的详细流程图;图3是依据本发明另一实施例的RTT统计方法流程图;图4是依据本发明另一实施例的RTT统计系统结构示意图;图5是确定单元403的详细结构示意图;图6是依据本发明另一实施例的RTT统计系统结构示意图。
具体实施例方式图1是依据本发明一实施例的RTT统计方法100流程图。方法100包括如下步骤
6
步骤101、对于预设时间内的RTT样本,在每一预设单位时间内,分别从每一预设数目的连续RTT样本中提取最小的RTT样本,从而得到对应于每一预设单位时间的第一次采样的RTT样本集合;步骤102、分别从对应于每一预设单位时间的第一次采样的RTT样本集合中提取最小的RTT样本,从而得到对应于预设时间的第二次采样的RTT样本集合;步骤103、依据第一次采样的RTT样本集合中RTT样本的数量,确定第二次采样的 RTT样本集合中对应的RTT样本的可信权重;步骤104、依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,计算近似RTT。在本发明一实施例中,近似RTT的数值等于第二次采样的RTT样本集合中每一 RTT 样本与其对应的可信权重的乘积之和,再除以可信权重之和,所得的商值。S卩,假设第二次采样的RTT样本集合为(M1、M2、…、Mn),其对应的可信权重为(Cl、C2、…、Cn),则近似 RTT可表示为Rt' = (Ml X C1+M2 X C2+— +Mn X Cn) / (C1+C2+— +Cn)在本发明中,可信权重包括多个等级值,具体数值可依据实际情况进行设置,例如但不限于设置为1、2、…、10。等级值的设置方式对近似RTT的计算结果影响很小,可以忽略不计。在本发明一实施例中,步骤103具体包括如下步骤,如图2所示步骤1031、判断第一次采样的RTT样本集合中RTT样本的数量是否大于所述多个等级值中的最大等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为最大等级值;若否,则进入步骤1032 ;步骤1032、判断第一次采样的RTT样本集合中RTT样本的数量是否等于所述多个等级值中的一个等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为该等级值。对于设置为1、2、…、10,10个等级值的可信权重为例,假设预设时间为20s,预设单位时间为5s,则总共有四个预设单位时间。如果第一个预设单位时间的第一次采样的 RTT样本集合中RTT样本的数量为11,则第二次采样的RTT样本集合中对应的RTT样本的可信权重就设置为最大等级值10。第二个预设单位时间的第一次采样的RTT样本集合中RTT 样本的数量为8,则第二次采样的RTT样本集合中对应的RTT样本的可信权重就设置为8。 依次类推,第三个预设单位时间的第一次采样的RTT样本集合中RTT样本的数量为3,则第二次采样的RTT样本集合中对应的RTT样本的可信权重就设置为3 ;第四四个预设单位时间的第一次采样的RTT样本集合中RTT样本的数量为1,则第二次采样的RTT样本集合中对应的RTT样本的可信权重就设置为1。此处的数值仅为了阐述之用,并不作为对本发明的限制。对于上述示例,4个预设单位时间表示为tl、t2、t3、t4,第一次采样的RTT样本集合表示为N1、N2、N3、N4,第二次采样的RTT样本集合表示为M,其中M中包括4个RTT样本即M1、M2、M3、M4,Ml是附集合中最小的RTT样本,M2是N2集合中最小的RTT样本,M3是 N,3集合中最小的RTT样本、M4是N4集合中最小的RTT样本。M1、M2、M3、M4,Ml对应的可信权重分别表示为Cl、C2、C3、C4,在此例中,Cl = 10、C2 = 8、C3 = 3、C4 = 1。近似RTT表示为IV,那么步骤104的近似RTT的计算过程可以表示如下Rt' = (Ml X C1+M2 X C2+M3 X C3+M4 X C4) / (C1+C2+C3+C4)= (Ml X10+M2 X 8+M3 X 3+M4 X1)/(10+8+3+1)= (Ml X 10+M2 X 8+M3 X 3+M4 X 1) /22对于TCP数据包,有可能会存在三次握手数据包,由于TCP协议栈对三次握手数据包的回复包不做优化延迟处理,因此,根据TCP三次握手数据包统计出的RTT样本基本等于实际的RTT。所以,还需要在步骤101之前进行如下步骤,如图3所示步骤101 ‘、判断预设时间内的RTT样本是否包含有三次握手数据包对应的RTT样本,若是,则进入步骤101 〃,从预设时间内的RTT样本中分离出三次握手数据包对应的RTT 样本;若否,则进入步骤101;步骤101〃 ‘、设置三次握手数据包对应的RTT样本的可信权重为多个等级值中的最大等级值。对于包含有三次握手数据包对应的RTT样本时,步骤104的计算结果要做适应性调整,需要把三次握手数据包对应的RTT样本计算进去。即,依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,以及三次握手数据包对应的 RTT样本及其可信权重,计算近似RTT。为了简要起见,图3中未示出步骤101-104,详细内容可参见图1,此处不再赘述。假设包含有1个三次握手数据包对应的RTT样本S,其对应的可信权重即为Ms,在设置为1、2、…、10,10个等级值的可信权重的例子中,Ms = 10,最后计算得到的近似RTT 为Rt' = (Ml X C1+M2 X C2+M3 X C3+M4 X C4+S X Ms) / (C1+C2+C3+C4)= (Ml X 10+M2 X 8+M3 X 3+M4 X 1+S X 10) / (10+8+3+1)= (Ml X 10+M2 X 8+M3 X 3+M4 X 1+S X 10) /22在本发明又一实施例中,在步骤101之前还包括步骤步骤101"“(未示出)、判断每一预设单位时间内的RTT样本的数量是否小于预设数目,若是,则丢弃该预设单位时间内的RTT样本。步骤101〃 “可在步骤101' ,101"、 101"‘的之前,也可在其之后,本发明对此不加限制。这里的预设数目例如但不限于10 个、30个等等。图4是依据本发明另一实施例的RTT统计系统结构示意图,RTT统计系统400包括彼此通信连接的第一采样单元401、第二采样单元402、确定单元403、计算单元404。第一采样单元401,用于对于预设时间内的RTT样本,在每一预设单位时间内,分别从每一预设数目的连续RTT样本中提取最小的RTT样本,从而得到对应于每一预设单位时间的第一次采样的RTT样本集合;第二采样单元402,用于分别从对应于每一预设单位时间的第一次采样的RTT样本集合中提取最小的RTT样本,从而得到对应于预设时间的第二次采样的RTT样本集合;确定单元403,用于依据第一次采样的RTT样本集合中RTT样本的数量,确定第二次采样的RTT样本集合中对应的RTT样本的可信权重;计算单元404,用于依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,计算近似RTT。
其中,可信权重包括多个等级值。详细内容可参见上文关于RTT统计方法的描述, 此处不再赘述。在本发明一实施例中,确定单元403具体包括第一判断单元4031、第二判断单元 4033,如图5所示。第一判断单元4031,用于判断第一次采样的RTT样本集合中RTT样本的数量是否大于所述多个等级值中的最大等级值,若是,则设置第二次采样的RTT样本集合中对应的 RTT样本的可信权重为最大等级值;若否,则由第二判断单元4032进行处理;第二判断单元4032,用于判断第一次采样的RTT样本集合中RTT样本的数量是否等于所述多个等级值中的一个等级值,若是,则设置第二次采样的RTT样本集合中对应的 RTT样本的可信权重为该等级值。对于包含有三次握手数据包对应的RTT样本时,RTT统计系统400还可以包括分离单元405、设置单元406,如图6所示。分离单元405,用于判断预设时间内的RTT样本是否包含有三次握手数据包对应的RTT样本,若是,则从预设时间内的RTT样本中分离出三次握手数据包对应的RTT样本; 若否,则由第一采样单元401进行处理;设置单元406,用于设置三次握手数据包对应的RTT样本的可信权重为多个等级值中的最大等级值。将三次握手数据包对应的RTT样本及其可信权重发送给计算单元,以便计算近似RTT。在此实施例中,计算单元404具体用于依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,以及三次握手数据包对应的RTT样本及其可信权重,计算近似RTT。另外,本发明的RTT统计系统还可以包括丢弃单元(未示出),用于判断每一预设单位时间内的RTT样本的数量是否小于预设数目,若是,则丢弃该预设单位时间内的RTT样本。本发明通过对一段时间内的RTT样本进行两次采样,然后再对采样后的RTT样本集合的每一 RTT样本确定可信权重,从而计算得出近似RTT。该方案使得预设单位时间内, 即使90%的RTT样本都是错误的,只要连续多个RTT样本内,有一个正确的RTT样本,那么正确的RTT样本就可以被筛选出来。为提取出来的RTT样本设置可信权重,使得计算得出的近似RTT逼近真实的RTT。进一步地,在预设单位时间内,如果发送方与接收方之间的数据包交互很少,使得RTT样本的数量未达到最低的预设数目,则认为此单位时间内的RTT样本数过少,不足以计算出正确的RTT,因此不对此单位时间统计RTT值,保证整体统计结果的准确性。本发明中,在预设单位时间内,即使90%的RTT样本都是错误的,只要连续多个 RTT样本或者预设的时间段内,有一个正确的RTT样本,那么正确的RTT样本就可以被筛选出来。在某单位时间内,如果发送方与接收方之间的数据包交互很少,使得RTT样本数未达到最低的要求的数目,则认为此单位时间内的RTT样本数过少,不足以计算出正确的RTT, 因此不对此单位时间统计RTT值,保证整体统计结果的准确性。关于近似RTT的计算过程可参见图1-图3所示,此处不再赘述。RTT统计方法的内容适用于RTT统计系统,同理,RTT统计系统的内容也适用于RTT统计方法。
权利要求
1.一种RTT统计方法,其特征在于,包括步骤A、对于预设时间内的RTT样本,在每一预设单位时间内,分别从每一预设数目的连续 RTT样本中提取最小的RTT样本,从而得到对应于每一预设单位时间的第一次采样的RTT样本集合;B、分别从对应于每一预设单位时间的第一次采样的RTT样本集合中提取最小的RTT样本,从而得到对应于预设时间的第二次采样的RTT样本集合;C、依据第一次采样的RTT样本集合中RTT样本的数量,确定第二次采样的RTT样本集合中对应的RTT样本的可信权重;D、依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一RTT样本的可信权重,计算近似RTT。
2.根据权利要求1所述的RTT统计方法,其特征在于,所述可信权重包括多个等级值。
3.根据权利要求2所述的RTT统计方法,其特征在于,其中,步骤C具体包括Cl、判断第一次采样的RTT样本集合中RTT样本的数量是否大于所述多个等级值中的最大等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为最大等级值;若否,则进入步骤C2;C2、判断第一次采样的RTT样本集合中RTT样本的数量是否等于所述多个等级值中的一个等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为该等级值。
4.根据权利要求2所述的RTT统计方法,其特征在于,在步骤A之前还包括步骤 A01、判断预设时间内的RTT样本是否包含有三次握手数据包对应的RTT样本,若是,则从预设时间内的RTT样本中分离出三次握手数据包对应的RTT样本;若否,则进入步骤 A;A02、设置三次握手数据包对应的RTT样本的可信权重为多个等级值中的最大等级值。
5.根据权利要求4所述的RTT统计方法,其特征在于,步骤D具体包括依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,以及三次握手数据包对应的RTT样本及其可信权重,计算近似RTT。
6.根据权利要求1所述的RTT统计方法,其特征在于,在步骤A之前还包括步骤 A03、判断每一预设单位时间内的RTT样本的数量是否小于预设数目,若是,则丢弃该预设单位时间内的RTT样本。
7.一种RTT统计系统,其特征在于,包括第一采样单元,用于对于预设时间内的RTT样本,在每一预设单位时间内,分别从每一预设数目的连续RTT样本中提取最小的RTT样本,从而得到对应于每一预设单位时间的第一次采样的RTT样本集合;第二采样单元,用于分别从对应于每一预设单位时间的第一次采样的RTT样本集合中提取最小的RTT样本,从而得到对应于预设时间的第二次采样的RTT样本集合;确定单元,用于依据第一次采样的RTT样本集合中RTT样本的数量,确定第二次采样的 RTT样本集合中对应的RTT样本的可信权重;计算单元,用于依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,计算近似RTT。
8.根据权利要求7所述的RTT统计系统,其特征在于,所述可信权重包括多个等级值。
9.根据权利要求8所述的RTT统计系统,其特征在于,所述确定单元具体包括第一判断单元,用于判断第一次采样的RTT样本集合中RTT样本的数量是否大于所述多个等级值中的最大等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为最大等级值;若否,则由第二判断单元进行处理;第二判断单元,用于判断第一次采样的RTT样本集合中RTT样本的数量是否等于所述多个等级值中的一个等级值,若是,则设置第二次采样的RTT样本集合中对应的RTT样本的可信权重为该等级值。
10.根据权利要求8所述的RTT统计系统,其特征在于,所述RTT统计系统还包括 分离单元,用于判断预设时间内的RTT样本是否包含有三次握手数据包对应的RTT样本,若是,则从预设时间内的RTT样本中分离出三次握手数据包对应的RTT样本;若否,则由第一采样单元进行处理;设置单元,用于设置三次握手数据包对应的RTT样本的可信权重为多个等级值中的最大等级值;其中,所述计算单元具体用于依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一 RTT样本的可信权重,以及三次握手数据包对应的RTT样本及其可信权重,计算近似RTT。
全文摘要
本发明涉及一种RTT统计方法和RTT统计系统,包括对于预设时间内的RTT样本,在每一预设单位时间内,分别从每一预设数目的连续RTT样本中提取最小的RTT样本,得到第一次采样的RTT样本集合;分别从对应于每一预设单位时间的第一次采样的RTT样本集合中提取最小的RTT样本,从而得到第二次采样的RTT样本集合;依据第一次采样的RTT样本集合中RTT样本的数量,确定第二次采样的RTT样本集合中对应的RTT样本的可信权重;依据第二次采样的RTT样本集合和第二次采样的RTT样本集合中每一RTT样本的可信权重,计算近似RTT。本技术方案计算得出的近似RTT逼近真实的RTT,保证了统计结果的准确性。
文档编号H04L1/00GK102185673SQ20111006943
公开日2011年9月14日 申请日期2011年3月22日 优先权日2011年3月22日
发明者李凡, 雷建 申请人:深信服网络科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1