消除网络设备中时钟偏差造成的误差积累的方法及其装置制造方法及图纸

技术编号:3545565 阅读:211 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种消除网络设备中时钟偏差造成的误差积累的方法及其装置,所述方法包括计算数据包在接收缓存中的标准播放延时值;计算数据包在接收缓存中的实际缓存时间的统计值;根据实际缓存时间的统计值相对标准播放延时值的变化,消除时钟偏差造成的误差积累。通过本发明专利技术实施例提供的技术方案,能有效地避免因时钟偏差而造成接收缓存周期性被读空或者溢出,保证了网络设备承载业务的流畅性。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种消除网络设备中时钟偏差造成的误差积累的方法及其装置
技术介绍
随着互联网(Internet)的普遍使用及其自身技术的不断发展,人们经常在网络上进行各种资讯的交流。然而,网络中存在延时、抖动(Jitter)、丢包、乱序等问题会对网络上的资讯交流造成不可避免的影响,其中网络中的抖动是较为常见的问题之一。网络中,数据被封装成不同的数据包在网络中传输,由于在分组交换网中每个数据包走的路径可能不同,那么网络延时也就不同,从而造成数据包到达时间的改变,这种延时变化就叫抖动。在网络设备的接收缓存中采用增加数据包的标准播放延时的方法来消除网络侧的抖动,所述接收缓存是指用于暂时存储数据包的存储单元。所述标准播放延时也被称为去抖缓存(JB,Jitter Buffer),标准播放延时的大小即JB的深度决定了去除网络抖动的能力。实时传输协议(RTP)中对Jitter的定义和计算如下:Si表示第i个包的源端时戳,Ri表示第i个包的本地时戳,Sj表示第j个包的源端时戳,Rj表示第j个包的本地时戳,则i、j两个RTP包网络传输时间之差D可以表示为:D(i,j)=(Rj-Ri)-(Sj-Si)=(Rj-Sj)-(Ri-Si)网络的Jitter值每到一个数据包要更新统计,将统计值和新到数据包的|D|以不同权重相加得到新的Jitter统计值。J(i)=(15/16)×J(i-1)+(1/16)×|D(i-1,i)|JB深度即标准播放延时就是根据这个Jitter统计值换算得到。一般只要JB深度也就是标准播放延时大于网络的实际抖动就可以消除网络抖动。然而,由于在IP网络环境,时钟同步技术尚不成熟,且时钟同步技术实现上会导致设备成本增加。因此,大多数情况下,接入设备的时钟是异步的,所以在绝大多数情况下不可能保证两个对接设备的时钟完全匹配,例如一端-->设备的10ms相当于另一端设备的10.001ms。时钟偏差造成的结果是一端设备发送和接收相对较快,另一端设备发送和接收相对较慢。虽然这个时钟的偏差可能不大,但经过长时间的积累会造成快速设备的接收缓存被读空,慢速设备的接收缓存溢出,甚至导致系统业务的中断。例如,由于时钟偏差,根据对端时钟发出的10ms均匀间隔的数据包序列,被本地的时钟判断为10.01ms的均匀数据包序列。10s之内读比写快了10ms。假设此时JB深度为50ms即缓存50ms数据,50秒后接收缓存被读空,这样会导致业务中断或复位。例如,对端的10ms被本地当作9.99ms的序列,则在本地写入比读出在10ms之内快了0.01ms,以JB最大深度100ms为例,100秒后接收缓存会被塞满溢出,造成后面收到的数据包因为缓存空间不够而丢弃,也将给上层业务带来异常。现有技术的消除网络抖动的方法将时钟完全匹配的理想条件作为前提,对时钟偏差造成的影响并没有提供任何措施,没有建立对端时间和本地时间之间的联系和比较机制,反映的只是从网络接收包序列的间隔是否均匀,不能消除对端接收数据包的时间间隔,相对本地标准时间间隔偏大或偏小的积累误差,因此无法解决两端设备时钟偏差造成的周期性接收缓存被读空或溢出的问题。
技术实现思路
有鉴于此,本专利技术实施例提出一种消除网络设备中时钟偏差造成的误差积累的方法及其装置,能够解决由于时钟偏差造成的接收缓存周期性被读空或溢出的问题。为解决上述技术问题,本专利技术实施例的目的是通过以下技术方案实现的:本专利技术实施例提供一种消除网络设备中时钟偏差造成的误差积累的方法,所述方法包括:计算数据包在接收缓存中的标准播放延时值;计算数据包在接收缓存中的实际缓存时间的统计值;根据实际缓存时间的统计值相对标准播放延时值的变化,消除时钟偏差造成的误差积累。-->本专利技术实施例还提供一种消除网络设备中时钟偏差造成的误差积累的装置,所述装置包括:标准播放延时值计算单元,用于计算数据包在接收缓存中的标准播放延时值;实际缓存时间统计值计算单元,用于计算数据包在接收缓存中的实际缓存时间统计值;误差消除单元,用于根据实际缓存时间的统计值相对标准播放延时值的变化,消除时钟偏差造成的误差积累通过本专利技术实施例提供的消除网络设备中时钟偏差造成的误差积累的方法及其装置,对数据包的网络抖动和实际缓存时间分别进行统计,得到实际缓存时间统计值相对标准播放延时值的变化,并根据所述变化对接收缓存的数据进行相应的调整,有效地避免了因时钟偏差而造成接收缓存周期性被读空或者溢出,保证了网络设备承载业务的流畅性。附图说明图1为本专利技术消除网络设备中时钟偏差造成的误差积累的装置较佳实施例的结构图;图2为本专利技术消除网络设备中时钟偏差造成的误差积累的方法较佳实施例的流程图;图3为本专利技术数据包从对端发送到本地的网络延迟示意图。具体实施方式本专利技术实施例提供一种消除网络设备中时钟偏差造成的误差积累的方法及其装置。为使本专利技术的技术方案更加清楚明白,以下参照附图并列举实施例,对本专利技术进一步详细说明。请参照图1,为本专利技术消除网络设备中时钟偏差造成的误差积累的装置较佳实施例的结构图。所述消除网络设备中时钟偏差造成的误差积累的装置包括标准播放延时值计算单元11、实际缓存时间统计值计算单元12以及误差消除单元13。所述标准播放延时值计算单元11,用于计算数据包在接收缓存中的标准播放延时值,其包括网络抖动值计算单元111、网络抖动值统计单元112以及-->标准播放延时值换算单元113。所述网络抖动值计算单元111,用于计算接收缓存中收到的数据包的网络抖动值;所述网络抖动值统计单元112,用于统计所述网络抖动值计算单元111计算所得的网络抖动值,得到网络抖动统计值;所述标准播放延时值换算单元113,用于将所述网络抖动值统计单元112计算所得的网络抖动统计值,换算为标准播放延时值。所述实际缓存时间统计值计算单元12,用于计算数据包在接收缓存中的实际缓存时间统计值,其包括实际缓存时间获取单元121以及实际缓存时间统计单元122。所述实际缓存时间获取单元121,用于获取数据包从到达接收缓存的时刻到从接收缓存中出队的时刻之间的实际缓存时间;所述实际缓存时间统计单元122,用于统计实际缓存时间获取单元121获取的实际缓存时间,得到实际缓存时间的统计值。所述误差消除单元13,用于根据所述实际缓存时间统计值计算单元12计算所得的实际缓存时间的统计值,相对所述标准播放延时值计算单元11计算所得的标准播放延时值的变化,消除时钟偏差造成的误差积累。所述误差消除单元13包括判断单元131、数据调整单元132以及指示单元133。所述判断单元131,用于根据所述实际缓存时间的统计值相对标准播放延时值的变化,判断数据包在接收缓存中写入和读出之间的快慢关系;所述数据调整单元132,用于根据所述数据包在接收缓存中写入和读出之间的快慢关系,在接收缓存中删除或增加数据来消除时钟偏差造成的误差积累;所述指示单元133根据判断单元131的判断所得的数据包在接收缓存中写入和读出之间的快慢关系,输出相应的指示信号指示对端时钟和本地时钟的快慢关系。请参照图2,为本专利技术消除网络设备中时钟偏差造成的误差积累的方法较佳实施例的流程图,所述方法具体包括:步骤201:计算数据包在接收缓存中的标准播放延时值;所述计算数据包本文档来自技高网
...

【技术保护点】
一种消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,包括:计算数据包在接收缓存中的标准播放延时值;计算数据包在接收缓存中的实际缓存时间的统计值;根据实际缓存时间的统计值相对标准播放延时值的变化,消除时钟偏差造 成的误差积累。

【技术特征摘要】
1.一种消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,包括:计算数据包在接收缓存中的标准播放延时值;计算数据包在接收缓存中的实际缓存时间的统计值;根据实际缓存时间的统计值相对标准播放延时值的变化,消除时钟偏差造成的误差积累。2.根据权利要求1所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,所述计算数据包在接收缓存中的标准播放延时值包括:计算数据包的网络抖动值;统计所述数据包的网络抖动值,得到数据包的网络抖动统计值;根据所述数据包的网络抖动统计值,换算得到数据包在接收缓存中的标准播放延时值。3.根据权利要求2所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,所述计算数据包的网络抖动统计值具体方式为:将接收缓存所接收的当前数据包的本地时戳与对端时戳的差值减去前一数据包的对端时戳和本地时戳的差值,得到数据包的网络统计值。4.根据权利要求2所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,所述统计所述数据包的网络抖动值具体方式为:将当前数据包的抖动值纳入前一时刻网络抖动统计值进行计算。5.根据权利要求2所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,所述根据所述数据包的网络抖动统计值换算得到数据包在接收缓存中的标准播放延时值具体方式为:将网络抖动统计值向上取整到与网络抖动统计值最接近的值为标准播放延时值。6.根据权利要求1所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,所述计算数据包在接收缓存中的实际缓存时间的统计值的步骤具体包括:获得数据包在接收缓存中实际缓存时间;统计所述数据包在接收缓存中实际缓存时间,得到实际缓存时间的统计值。7.根据权利要求6所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,所述数据包在接收缓存中实际缓存时间为数据包到达接收缓存的时刻到从接收缓存中出队的时刻之间的一段时间。8.根据权利要求1所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,所述根据实际缓存时间的统计值相对标准播放延时值的变化,消除时钟偏差造成的误差积累包括:根据实际缓存时间的统计值相对标准播放延时值的变化,判断数据包在接收缓存中写入和读出之间的快慢关系;根据数据包在接收缓存中写入和读出之间的快慢关系,通过在接收缓存中删除或增加数据来消除时钟偏差造成的误差积累。9.根据权利要求8所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,根据实际缓存时间的统计值相对标准播放延时值的变化,判断数据包在接收缓存中写入和读出之间的快慢关系具体方式为:如果实际缓存时间的统计值相对标准播放延时值持续增大,则判断对端时钟比本地时钟快,数据包在接收缓存中写入快于读出;如果实际缓存时间的统计值相对标准播放延时值持续减小,则判断对端时钟比本地时钟快,数据包在接收缓存中写入慢于读出。10.根据权利要求8所述的消除网络设备中时钟偏差造成的误差积累的方法,其特征在于,所述通过在接收缓存中删除或增...

【专利技术属性】
技术研发人员:余凡
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利