一种缓存计算的方法及装置制造方法及图纸

技术编号:18898783 阅读:23 留言:0更新日期:2018-09-08 13:41
本发明专利技术提供一种缓存计算的方法及装置,该方法适用于多链路,多链路包括至少一个不稳定链路和至少一个稳定链路,包括:获取多链路的平均报文时间间隔、不稳定链路的第一链路时延和稳定链路的第二链路时延;根据平均报文时间间隔、第一链路时延和第二链路时延,计算报文缓存个数,根据不同的时延合理计算出报文缓存个数,能够解决不同链路的时延带来的乱序问题,合理利用资源与开销,同时根据计算的报文缓存个数,在发生丢包时,及时结束保序,能够触发TCP的快速重传,防止保序造成TCP超时,保证传输速率,优化多链路传输性能。

A cache computing method and device

The present invention provides a method and apparatus for cache calculation, which is applicable to multiple links including at least one unstable link and at least one stable link, including: acquiring the average message interval of multiple links, the first link delay of unstable links, and the second link delay of stable links; and according to the average By calculating the number of packets cached and the number of packets cached according to the time interval, the first link delay and the second link delay, the disorder caused by the delay of different links can be solved, and the resources and overhead can be reasonably utilized. At the same time, according to the number of packets cached, packet loss occurs. Timely termination of order preservation can trigger TCP fast retransmission, prevent order preservation from causing TCP timeout, ensure the transmission rate, and optimize the performance of multi-link transmission.

【技术实现步骤摘要】
一种缓存计算的方法及装置
本专利技术涉及通信领域,尤其是涉及一种缓存计算的方法及装置。
技术介绍
乱序问题在网络负载均衡的场景下,是一个比较普遍的现象,对于不同的链路设备或者上行方式,由于其在网络中传输的时延不一致,可能会发生先发送的报文反而后到达终端设备的情况。例如,当以DSL(DigitalSubscriberLine,数字用户线)与LTE双链路同时工作时,因为DSL链路的时延与LTE的时延不一致,可能出现LTE(LongTermEvolution,长期演进技术)链路先发送的数据晚于DSL链路发送的数据包到达。常见的保序方法一般将报文缓存,待定时器到期或者正序报文到达再将缓存的报文发送出去,例如网络设备会启用定时器或者预留一定的缓存,将DSL到达的报文先缓存,等到LTE的报文到达或者定时器到期,再一并将整序过的报文发送出去。这种方法适用于两条链路时延稳定的场景,比如DSL、ETH(Ethernet,以太网)链路等。但是如前所述当DSL与LTE链路同时工作,由于LTE链路时延的不稳定性,报文缓存的方法无法确定最大缓存的大小,如果缓存过小,无法达到保序的目的,如果缓存过大,增加了网络设备的系统负担与开销,造成不必要的浪费。当然,如果使用定时器的方法,也无法预置定时器的到期时间,依然存在缓存个数无法预置的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种缓存计算的方法及装置,解决链路的时延动态变化导致无法正确估计保序队列的缓存大小的问题。为解决上述问题,第一方面,本专利技术实施例提供一种缓存计算的方法适用于多链路,多链路包括至少一个不稳定链路和至少一个稳定链路,方法包括:获取多链路的平均报文时间间隔、不稳定链路的第一链路时延和稳定链路的第二链路时延;根据平均报文时间间隔、第一链路时延和第二链路时延,计算报文缓存个数。可选地,获取多链路的平均报文时间间隔包括:通过采样方法获取第一预设时间内经过多链路的报文个数;计算平均报文时间间隔,计算公式为:Δt=ΔT/m其中,Δt为平均报文时间间隔,ΔT为第一预设时间,m为报文个数,其中,第一预设时间小于最长的链路时延,报文个数小于报文缓存个数。可选地,第二链路时延的计算公式为:ΔTD=(ΔT回包时间-ΔT上行交织-ΔTD下行交织)/2+ΔTD下行交织其中,ΔTD为第二链路时延,ΔT回包时间为回包时间,ΔT上行交织为上行交织时间,ΔTD下行交织为下行交织时间。可选地,第一链路时延的计算方法为:接收到发送端发送的一组报文后,由稳定链路发送确认报文至发送端,记录稳定链路的发送时间为第一时间,其中,确认报文中包含期望的序列号SequenceNumber;接收到发送端由不稳定链路发送的包含期望的序列号的下一组报文时,记录第二时间;根据第二时间,第一时间以及稳定链路的上行时延计算不稳定链路的数据流时延,计算公式为:ΔTL1=T2-T1-ΔTD2其中,ΔTL1为数据流时延,T1为第一时间,T2为第二时间,ΔTD2为稳定链路的上行时延;根据获取的至少两组不稳定链路的数据流时延,计算数据流时延的平均值,平均值为第一链路时延ΔTL。可选地,计算报文缓存个数的公式为:n≥(ΔTL-ΔTD)/Δt其中,n为报文缓存个数,ΔTL为第一链路时延,ΔTD为第二链路时延,Δt为平均报文时间间隔。可选地,方法还包括:若不稳定链路的第一链路时延满足更新规则,重新计算报文缓存个数。可选地,若不稳定链路的第一链路时延满足更新规则,重新计算报文缓存个数,包括:若获取的多个第一链路时延中,最新一次获取的时延与上一次获取的时延满足更新规则,重新计算报文缓存个数。可选地,更新规则为:Tn≥Tn-1*β或者Tn≤Tn-1*β其中,Tn为最新一次获取的第一链路时延,Tn-1为上一次获取的第一链路时延,β为影响因子,其取值由不稳定链路的第一链路时延决定。可选地,方法还包括:若获取的当前保序队列中报文缓存个数超过计算出的报文缓存个数,结束保序过程。第二方面,本专利技术还提供一种缓存计算的装置,包括:获取模块:用于获取多链路的平均报文时间间隔、不稳定链路的第一链路时延和稳定链路的第二链路时延;计算模块:用于根据第一链路时延、第二链路时延和平均报文时间间隔,计算报文缓存个数。可选地,获取模块包括:计数单元:用于通过采样方法获取第一预设时间内经过多链路的报文个数;第一处理单元:用于根据第一预设时间与报文个数计算平均报文时间间隔。可选地,获取模块还包括第二处理单元,用于计算第二链路时延,计算公式为:ΔTD=(ΔT回包时间-ΔT上行交织-ΔTD下行交织)/2+ΔTD下行交织其中,ΔT回包时间为回包时间,ΔT上行交织为上行交织时间,ΔTD下行交织为下行交织时间。可选地,获取模块还包括第三处理单元,用于计算第一链路时延,其中,第三处理单元包括:第一记录子单元:用于接收到发送端发送的一组报文后,由稳定链路发送确认报文至发送端,记录稳定链路的发送时间为第一时间,其中,确认报文中包含期望的序列号;第二记录子单元:用于接收到发送端由不稳定链路发送的包含期望的序列号的下一组组报文后,记录第二时间;第一计算子单元:根据第二时间,第一时间以及稳定链路的上行时延计算不稳定链路的数据流时延,计算公式为:ΔTL1=T2-T1-ΔTD2其中,ΔTL1为数据流时延,T1为第一时间,T2为第二时间,ΔTD2为稳定链路的上行时延;第二计算子单元:根据获取的至少两组不稳定链路的数据流时延,计算数据流时延的平均值,平均值为第一链路时延ΔTL。可选地,装置还包括:更新模块:用于若不稳定链路的第一链路时延满足更新规则,重新计算报文缓存个数。可选地,更新模块包括:重计算单元:用于若获取的多个第一链路时延中,最新一次获取的时延与上一次获取的时延满足更新规则,重新计算报文缓存个数。可选地,装置还包括:终止模块:用于若获取的当前保序队列中报文缓存个数超过计算出的报文缓存个数,结束保序过程。综上所述,本专利技术实施通过多链路的平均报文时间间隔、不稳定链路的第一链路时延和稳定链路的第二链路时延,根据平均报文时间间隔、第一链路时延和第二链路时延,计算报文缓存个数,能够在多链路包含不稳定链路时,根据不同的时延合理的计算出报文的缓存个数,合理利用的资源与开销,解决不同链路的时延带来的乱序问题,同时根据计算的报文缓存个数,在发生丢包时,及时结束保序,能够触发TCP(TransmissionControlProtocol,传输控制协议)的快速重传,防止保序的超时造成TCP超时、保证传输速率,优化多链路传输性能。附图说明图1为本专利技术实施例的缓存计算的方法的一种流程图;图2为本专利技术实施例的缓存计算的方法的另一种流程图;图3为本专利技术实施例的缓存计算的方法的另一种流程图;图4为本专利技术实施例的缓存计算的方法的另一种流程图;图5为本专利技术实施例的缓存计算的装置的结构示意图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。参见图1,图中示出了缓存计算的方法的一种流程图,该方法适用于多链路,其中,多链路包括至少一个不稳定链路和至少一个稳定链路,包括以下步骤:S101、获取多链路的平均报文时间间隔、不稳定链路的第一链路时延和稳定链路的第二链路时延。本实施例以D本文档来自技高网...

【技术保护点】
1.一种缓存计算的方法,适用于多链路,所述多链路包括至少一个不稳定链路和至少一个稳定链路,其特征在于,所述方法包括:获取所述多链路的平均报文时间间隔、所述不稳定链路的第一链路时延和所述稳定链路的第二链路时延;根据所述平均报文时间间隔、第一链路时延和第二链路时延,计算报文缓存个数。

【技术特征摘要】
1.一种缓存计算的方法,适用于多链路,所述多链路包括至少一个不稳定链路和至少一个稳定链路,其特征在于,所述方法包括:获取所述多链路的平均报文时间间隔、所述不稳定链路的第一链路时延和所述稳定链路的第二链路时延;根据所述平均报文时间间隔、第一链路时延和第二链路时延,计算报文缓存个数。2.根据权利要求1所述的方法,其特征在于,所述获取所述多链路的平均报文时间间隔包括:通过采样方法获取第一预设时间内经过所述多链路的报文个数;计算平均报文时间间隔,计算公式为:Δt=ΔT/m其中,Δt为平均报文时间间隔,ΔT为第一预设时间,m为报文个数,所述第一预设时间小于最长的链路时延,所述报文个数小于报文缓存个数。3.根据权利要求1所述的方法,其特征在于,所述第二链路时延的计算公式为:ΔTD=(ΔT回包时间-ΔT上行交织-ΔTD下行交织)/2+ΔTD下行交织其中,ΔTD为第二链路时延,ΔT回包时间为回包时间,ΔT上行交织为上行交织时间,ΔTD下行交织为下行交织时间。4.根据权利要求1所述的方法,其特征在于,所述第一链路时延的计算方法为:接收到发送端发送的一组报文后,由所述稳定链路发送确认报文至所述发送端,记录所述稳定链路的发送时间为第一时间,其中,所述确认报文中包含期望的序列号SequenceNumber;接收到所述发送端由不稳定链路发送的包含所述期望的序列号的下一组报文时,记录第二时间;根据所述第二时间,第一时间以及稳定链路的上行时延计算不稳定链路的数据流时延,计算公式为:ΔTL1=T2-T1-ΔTD2其中,ΔTL1为数据流时延,T1为第一时间,T2为第二时间,ΔTD2为稳定链路的上行时延;根据获取的至少两组不稳定链路的数据流时延,计算所述数据流时延的平均值,所述平均值为第一链路时延ΔTL。5.根据权利要求1所述的方法,其特征在于,所述计算报文缓存个数的公式为:n≥(ΔTL-ΔTD)/Δt其中,n为报文缓存个数,ΔTL为第一链路时延,ΔTD为第二链路时延,Δt为平均报文时间间隔。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述不稳定链路的第一链路时延满足更新规则,重新计算报文缓存个数。7.根据权利要求6所述的方法,其特征在于,所述若所述不稳定链路的第一链路时延满足更新规则,重新计算报文缓存个数,包括:若获取的多个第一链路时延中,最新一次获取的时延与上一次获取的时延满足更新规则,重新计算报文缓存个数。8.根据权利要求7所述的方法,其特征在于,所述更新规则为:Tn≥Tn-1*β或者Tn≤Tn-1*β其中,Tn为最新一次获取的第一链路时...

【专利技术属性】
技术研发人员:何页
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1