CN106656644B - 丢包统计的方法和网络设备 - Google Patents

丢包统计的方法和网络设备 Download PDF

Info

Publication number
CN106656644B
CN106656644B CN201510717993.9A CN201510717993A CN106656644B CN 106656644 B CN106656644 B CN 106656644B CN 201510717993 A CN201510717993 A CN 201510717993A CN 106656644 B CN106656644 B CN 106656644B
Authority
CN
China
Prior art keywords
negative number
positive
correction
negative
data window
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510717993.9A
Other languages
English (en)
Other versions
CN106656644A (zh
Inventor
岳坚飞
徐慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510717993.9A priority Critical patent/CN106656644B/zh
Publication of CN106656644A publication Critical patent/CN106656644A/zh
Application granted granted Critical
Publication of CN106656644B publication Critical patent/CN106656644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了丢包统计的方法和网络设备。该方法包括:获取第一统计文件中的第一负数;确定第一数据窗,所述第一数据窗中包括所述第一负数和所述第一统计文件中的多个数据;当所述第一数据窗中存在S个正数,所述第一负数与所述S个正数的和大于或等于零,且所述第一负数与所述S个正数中的S‑1个正数的和小于零时,依次修正所述S个正数和所述第一负数,得到修正后的第一统计文件,其中S为正整数。本发明实施例的方法和网络设备能够正确的进行丢包统计。

Description

丢包统计的方法和网络设备
技术领域
本发明涉及通信领域,并且更具体的,涉及通信领域中丢包统计的方法和网络设备。
背景技术
国际电信联盟远程通信标准化组织(Telecommunication StandardizationSector of ITU,ITU-T)Y.1731协议中丢包检测有两种统计模式:双端丢包统计(dual-ended lost-measure)和单端丢包统计(single-ended lost-measure)。双端丢包统计指两端同时发送连通性检查消息(Continuity Check Message,CCM)报文,该CCM报文携带网络设备发送的报文数量和接收的报文数量。Y.1731协议中网络设备可以同时在发送端和接收端进行丢包统计;单端丢包统计指源端发送丢包统计消息(Loss Measurement Message,LMM)报文给目的端,目的端回应丢包统计回应(Loss Measurement Reply,LMR)报文,目的端到报文后根据报文中携带的流量计数进行计算。
ITU-T Y1731协议的丢包统计算法继承于传送网的丢包统计标准,而传送网的报文是严格保序的,比如同步数字体系(Synchronous Digital Hierarchy,SDH)等网络,因此丢包算法不会出问题。但是,当将该丢包统计方法应用到工业应用层协议(Ethernet/IP)中时,由于服务质量(Quality of Service,QoS),等价路由(Equal-Cost MultipathRouting,ECMP)链路等影响,导致报文不能严格保序,此时根据Y.1731协议的丢包统计结果不正确,不能正确的进行丢包统计。
发明内容
本发明实施例提供了一种丢包统计的方法和网络设备,能够正确的对丢包结果进行统计。
第一方面,提供了一种丢包统计的方法,包括:获取第一统计文件中的第一负数;确定第一数据窗,该第一数据窗中包括该第一负数和该第一统计文件中的多个数据;当该第一数据窗中存在S个正数,该第一负数与该S个正数之和大于或等于零,且该第一负数与该S个正数中的S-1个正数之和小于零时,依次修正该S个正数和该第一负数,得到修正后的第一统计文件,其中S大于或等于1。
上述修正进行S次,每次修正包括修正S个正数中的一个正数和该第一负数,对该第一负数修正了S次。
可选地,该S个正数可以是第一数据窗中与第一负数距离最近的S个正数。
可选地,该S个正数可以包括第一数据窗中位于第一负数之前或者之后的并且与第一负数距离最近的S个正数。
可选地,该S个正数可以包括第一数据窗中位于第一负数之前的N个正数,以及第一数据窗中位于第一负数之后的且与第一负数距离最近的S-N个正数。
在该第一方面提供的丢包统计的方法中,应注意,该第一数据窗中可以包括S+L个正数,但是修正时只对上述S个正数进行。还应注意,该S-1个正数可以为该S个正数中的任意S-1个,也可以为该S个正数中距离该第一正数最近的S-1个正数。例如,当S=1时,该第一数据窗中的1个正数与该第一负数距离最近。
结合第一方面,在第一方面的第一种实现方式中,该S个正数位于该第一数据窗中的该第一负数之前,该依次修正该S个正数和该第一负数,包括:进行S次修正,其中,该S次修正中的第1次修正为将该S个正数中离该第一负数最近的正数修正为0,将该第一负数修正为该第一负数与该离该第一负数最近的正数之和,该S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S次修正中的第S次修正包括将该S-1次修正后的负数修正为零,将该S个正数中离该第一负数最远的正数修正为M1,M1为该离该第一负数最远的正数与该S-1次修正后的负数之和。
在上述第一方面的第一种实现方式中,当S=1时,上述实现方式中只需要进行一次修正,即将该第一负数修正为0,将该1个正数修正为该1个正数与该第一负数之和。
结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,当该第一数据窗中的该第一负数之前不存在正数时,则该S个正数位于该第一数据窗中的该第一负数之后,该依次修正该S个正数和该第一负数,包括:进行S次修正,其中,该S次修正中的第1次修正为将该S个正数中离该第一负数最近的正数修正为0,将该第一负数修正为该第一负数与该离该第一负数最近的正数之和,该S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S次修正中的第S次修正包括将该S-1次修正后的负数修正为零,将该S个正数中离该第一负数最远的正数修正为M2,M2为该离该第一负数最远的正数与该S-1次修正后的负数之和。
在上述第一方面的第二种实现方式中,当S=1时,上述实现方式中只需要进行一次修正,即将该第一负数修正为0,将该1个正数修正为该1个正数与该第一负数之和。
结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,该S个正数中的N个位于该第一数据窗中的该第一负数之前,S-N个位于该第一数据窗中的该第一负数之后,N为小于S的正整数,该依次修正该S个正数和该第一负数,包括:对该N个正数和该第一负数进行N次修正,该N次修正中的第1次修正为将该N个正数中离该第一负数最近的正数修正为0,将该第一负数修正为该第一负数与该离该第一负数最近的正数之和,该N次修正中的第2次修正至第N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该N次修正后该第一负数修正为第二负数;对该S个正数中除该N个正数之外的S-N个正数进行S-N次修正,该S-N次修正中的第1次修正为将该S-N个正数中离该第二负数最近的正数修正为0,将该第二负数修正为该第二负数与该离该第二负数最近的正数之和,该S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S-N次修正中的第S-N次修正包括将该S-N-1次修正后的负数修正为零,将该S-N个正数中离该第二负数最远的正数修正为M3,M3为该离该第二负数最远的正数与该S-N-1次修正后的负数之和。
应注意,该第一数据窗之前的正数有且仅有N个,并且该N个正数与该第一负数之和小于零,在该第一数据窗之后的部分存在该的S-N个正数。
结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,该确定第一数据窗,包括:根据预设值确定该第一数据窗。
结合第一方面及其上述实现方式,在第一方面的第五种实现方式中,该确定第一数据窗,包括:根据预设值确定第二数据窗,该第二数据窗中包括该第一负数和该第一统计文件中的多个数据;该第二数据窗中不存在正数时,将该第二数据窗扩大为该第一数据窗。
结合第一方面及其上述实现方式,在第一方面的第六种实现方式中,该第一负数位于该第二数据窗的中心。
结合第一方面及其上述实现方式,在第一方面的第七种实现方式中,在该获取第一统计文件中的第一负数之前,还包括:获取原始统计文件中的第三负数;根据预设值确定第三数据窗,该第三数据窗中包括该第三负数和该原始统计文件中的多个数据,且该第三数据窗中的所有正数与该第三负数之和等于该第一负数;将该第三负数修正为该第一负数,并将该第三数据窗中的每一个正数修正为零;将该修正后的原始统计文件作为该第一统计文件,所述确定单元确定第一数据窗具体为:将所述第三数据窗扩大为所述第一数据窗。
结合第一方面及其上述实现方式,在第一方面的第八种实现方式中,该第三负数位于该第三数据窗的中心。
结合第一方面及其上述实现方式,在第一方面的第九种实现方式中,该第一负数位于该第一数据窗的中心。
结合第一方面及其上述实现方式,在第一方面的第十种实现方式中,该第一数据窗中还包括第二统计文件中的数据,该第二统计文件为该第一文件相邻的下一个统计文件。
结合第一方面及其上述实现方式,在第一方面的第十一种实现方式中,还包括将该第一统计文件替换为该修正后的第一统计文件。
第二方面,提供了一种丢包统计的装置,该装置例如为网络设备,该装置包括存储器、处理器、收发器和总线系统,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,当该处理器执行该存储器中存储的指令时,该处理器具体用于执行第一方面的方法,或执行第一方面中的任意一种实行方式。
第三方面,提供了一种丢包统计的网络设备,该网络设备包括执行该第一方面中的方法或第一方面的任意一种实行方式的各模块。
本发明实施例的丢包统计的方法和网络设备,通过获取统计文件中的负数,确定包含该负数和该统计文件中的多个数据的数据窗,当该数据窗中存在至少一个正数,且该负数与该至少一个正数之和大于或等于零时,修正该至少一个正数和该负数,得到修正后的统计文件。本发明实施例通过修正该统计文件,能够正确的进行丢包统计。当该修正后的统计文件中不存在正数和负数时,表示该统计文件对应的传输过程中没有报文丢失。当该修正后的统计文件中只存在正数时,该正数表示该统计文件对应的传输过程中的报文丢失的数量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的单端丢包统计示意图。
图2是根据本发明实施例的单端丢包统计中报文乱序的示意图。
图3是根据本发明实施例的丢包统计的方法的一个具体实施例的流程图。
图4是根据本发明实施例的另一个丢包统计的方法的示意性流程图。
图5是根据本发明实施例的丢包统计的网络设备的框图。
图6是根据本发明实施例的另一个丢包统计的网络设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明实施例的技术方案可以应用于各种数据包或报文不能严格保序的传输网络中,该传输网络应用的协议例如为Y.1731协议或互联网协议(InternetProtocol,IP)。为了描述方便,本发明仅仅以Y.1731协议的丢包统计的方法为例进行说明,但本发明并不限于此。
图1是Y.1731协议的单端丢包统计示意图。如图1所示,路由器A为源端,路由器B为目的端。路由器A的维护终结点(Maintenance association End Point,MEP)为MEP1,该MEP1发送带有本端发送计数TxFCf的LMM报文给路由器B,TxFCf为MEP1在发送该LMM报文的时刻发送的报文的总数量。路由器B的维护终结点为MEP2,MEP2收到MEP1发送的LMM报文后,在该LMM报文中加上接收计数RxFCf,RxFCf为MEP2在接收到该LMM报文的时刻接收的报文的总数量,然后将LMM报文格式改为LMR,发送出去时在报文中加上发送计数TxFCb,TxFCb为MEP2在发送该LMR报文的时刻发送的报文的总数量。MEP1收到路由器B返回的LMR报文后,记录下当前的接收计数RxFCl,RxFCl为MEP1接收该LMR报文的时刻接收的报文的总数量。
设路由器A的MEP1在tc时刻接收到的LMR报文中TxFCf数量为TxFCf[tc],RxFCf数量为RxFCf[tc],在tp时刻接收到的LMR报文中TxFCf数量为TxFCf[tp],RxFCf数量为RxFCf[tp]。在路由器A发送报文至路由器B时,路由器A为近端,路由器B为远端。与出口报文相关联的报文丢失为远端报文丢失,计算公式为:
|TxFCf[tc]-TxFCf[tp]|-|RxFCf[tc]-RxFCf[tp]| (1)
公式(1)中|TxFCf[tc]-TxFCf[tp]|表示在tc至tp时间间隔中路由器A的MEP1发送的报文的数量,|RxFCf[tc]-RxFCf[tp]|表示tc至tp时间间隔中路由器B的MEP2接收的报文的数量。因此,公式(1)表示tc至tp时间间隔中路由器A向路由器B发送的报文中丢失的报文的数量。
路由器A的MEP1在tc时刻接收到的LMR报文中TxFCb数量为TxFCb[tc],记录下的RxFCl数量为RxFCl[tc],在tp时刻接收到的LMR报文中TxFCb数量为TxFCb[tp],记录下的RxFCl数量为RxFCl[tp]。与入口报文相关联的报文丢失为近端报文丢失,计算公式为:
|TxFCb[tc]-TxFCb[tp]|-|RxFCl[tc]-RxFCl[tp]| (2)
公式(2)中|TxFCb[tc]-TxFCb[tp]|表示在tc至tp时间间隔中路由器B的MEP2发送的报文的数量,|RxFCl[tc]-RxFCl[tp]|表示tc至tp时间间隔中路由器A的MEP1接收的报文的数量。因此,公式(2)表示tc至tp时间间隔中路由器B向路由器A发送的报文中丢失的报文的数量。
当丢包统计对象是虚拟专用局域网服务(Virtual Private LAN Service,VPLS)或虚拟租用专线(Virtual Leased Line,VLL)的一条伪线(Pseudo Wire,PW),那么当PW中承载多种服务等级(Class of Service,CoS)业务流时,Y.1731协议中的LMM报文任意选择一种CoS值都会导致报文乱序,最终导致统计结果不准确。
例如,如图2所示,假设LMM报文的CoS优先级比业务报文高,路由器A统计的时候,MEP1在tp时刻发送三个业务报文,然后紧跟业务报文之后的tc时刻发送LMM报文。LMM报文中的TxFCf[tc]=TxFCf[tp]+3。报文在中间链路上传递的时候,由于QoS调度,导致LMM报文比业务报文先到达,例如提前一个业务报文到达,这样RxFCf[tc]=RxFCf[tp]+2。这样最终路由器A根据LMR计算远端报文丢失的时候,可以得到:
|TxFCf[tc]-TxFCf[tp]|-|RxFCf[tc]-RxFCf[tp]|
=3-2
=1,
计算结果表明中间链路上传递的时候丢失了1个报文,但是实际上链路并没有丢失报文,该业务报文只是比该LMM报文晚到达,而导致统计结果不准确。
如果假设LMM报文的CoS优先级比较低,则会导致LMM报文延迟到达。路由器A统计的时候,MEP1在tp时刻发送LMM报文,然后紧跟该LMM报文之后的tc时刻发送三个业务报文。LMM报文中的TxFCf[tc]=TxFCf[tp]+3。报文在中间链路上传递的时候,由于QoS调度,导致LMM报文比业务报文推迟到达,一个业务报文在该LMM报文之前到达,这样RxFCf[tc]=RxFCf[tp]+4。这样最终路由器A根据LMR报文计算远端报文丢失的时候,可以得到:
|TxFCf[tc]-TxFCf[tp]|-|RxFCf[tc]-RxFCf[tp]|
=3-4
=-1,
计算出来数据为负数,表明接收报文的计数反而增大,按照Y.1731的算法,会认为计数翻转,最后做补偿算法后出现一个很大的丢包值,这个也是有问题的。
因此,当报文不能严格按照发送时的顺序到达接收端时,会导致报文丢失统计结果不正确。例如,QoS不同导致报文优先级不同,或者ECMP链路传输时,从发送端到接收端的多条链路的状况不同,导致部分报文提前或者推迟到达接收端,此时,统计的数据会出现正数和负数,因而不能反映实际的报文丢失数量。此时,可以应用本发明的技术方案。
图3为本发明的一个实施例的丢包统计的方法100的具体流程图。图3所示的方法100包括:
S101,获取统计文件中的负数,该负数可以为统计文件中的第一个负数,也可以为统计文件中的任意一个负数。
当该负数为该统计文件中第一个负数时,可以对该统计文件中的负数从左至右或者从前至后依次进行查找和修正,并且当划定包含该负数的数据窗时,可以避免该数据窗的范围过大,这样可以有效的提高查找效率。
本发明实施例中,路由器会周期性的发送LMM报文统计丢包数据,该发送周期可以为100ms、1s或者10s。这样,在一个发送周期内可以计算得到一个报文丢失的数据。然后按照统计周期将多个数据生成一个统计文件。该统计周期例如可以为15分钟,本发明对此不作限定。
在本发明实施例中,丢包统计对象(例如PW)中承载多种的CoS或者采用ECMP链路时,根据Y.1731协议中计算获得的统计文件中的数据会出现正数和负数。
可理解,统计文件中出现负数说明LMM报文相对于业务报文推迟到达目的端。因此,如果统计文件中出现了负数,表明报文出现了乱序,丢包统计结果必定不正确。
S102,划定数据窗,该负数位于该数据窗中。该数据窗中包含该负数和多个S101中的统计文件中的数据。该数据窗中的数据的个数可以为奇数,也可以为偶数,本发明对此不作限定。
该数据窗中存在S个正数,该负数与该S个正数之和大于或等于零,且该负数与该S个正数中的任意S-1个正数之和小于零。
可选的,本发明实施例中的修正正数,包括修正数据窗中的S个正数,该S个正数可以是数据窗中与负数距离最近的S个正数,该S个正数可以部分位于该数据窗中该负数之前,还可以部分位于该数据窗中该负数之后。
可选的,该S个正数还可以包括数据窗中位于负数之前的并且与负数距离最近的S个正数。
可选的,该S个正数还可以包括数据窗中位于负数之后的并且与负数距离最近的S个正数。
可选的,该S个正数还可以包括数据窗中位于负数之前的N个正数,以及数据窗中位于负数之后的且与负数距离最近的S-N个正数,此时,该数据窗中该负数之前有且仅有N个正数。
应理解,本发明实施例中,该数据窗中可以包括S+L个正数,但是修正时只对上述S个正数进行。该S个正数可以与该第一数据窗中距S101中的确定的负数依次邻近,本发明对此不作限定。
本发明实施中,可以根据预设值确定数据窗,也可以根据预设值自适应变化确定数据窗,例如多次扩大该预设值来确定数据窗。例如,对S101中获取的负数第一次划定数据窗时,该数据窗可以为预设值,当对该负数第二次划定数据窗时,该数据窗可以为根据预设值扩大后的数据窗。
本发明实施例中,可以根据发送LMM报文的周期,通过设置命令行的方式配置预设值的大小。例如可以配置该预设值为3,该预设值对应的数据窗内包含3个报文丢失统计的数据。还可以配置预设值为4,该预设值对应的数据窗内包含4个报文丢失统计数据。
在本发明实施例中,可以将该数据窗中该负数之前的部分称为前半数据窗,将该数据窗中该负数之后的部分称为后半数据窗。
可选的,本发明实施例中,可以以该负数为中心,划定数据窗。此时,该数据窗中包含的数据为奇数个,并且至少包含3个统计的数据。当以该负数为中心划定数据窗时,该前半数据窗和该后半数据窗包含相同数据的统计数据。
可理解,当以该负数为中心,划定数据窗时,可以在该负数的之前和之后的相同的范围依次查找与该负数最邻近的正数。这样,便于更快的将负数修正为0,因此可以更快的得到修正后的统计文件,提高丢包统计的效率。
S103,在前半数据窗查找是否存在正数。当查找到正数时,下一步执行S104,当没有查找到正数时,下一步执行S106。
应理解,在S101中确定统计文件中存在负数时,有报文提前到达目的端,此时,该负数对应的LMM报文之前或之后的至少一个LMM报文肯定没有统计到该提前到达的报文,因此该负数对应的LMM报文之前或之后肯定存在至少一个LMM报文对应的数据为正数。
在本发明实施例中,首先在该数据窗中该负数之前的部分查找正数,这样可以先查找到该负数之前的最邻近的正数,进而可以优先将该统计文件中前面的正数进行修正。
在S102中,以该负数位于该数据窗的中心为例,当划定的数据窗内包含3个数据时,即在S103中在前半数据窗中有1个数据,判断该数据是否为正数。当确定该数据为正数时,执行S104,当确定该数据不是正数时,执行S106。
又例如,当该数据窗内包含5个数据时,S103中,确定前半数据窗中的2个数据中是否存在正数,当该2个数据中至少有一个为正数时,执行S104,当该2个报文丢失数据中没有正数时,执行S106。
S104,判断该负数和S103中查找到的至少一个正数求和后是否小于0。当该负数和前半数据窗中的至少一个正数之和小于0时,下一步执行S105;当该负数和该至少一个正数的和大于或等于0时,下一步执行S110。
S105,修正S104中的负数和正数。将该负数修正为该负数和该至少一个正数的和,将S104中的至少一个正数修正为0。这里,该负数修正后仍然为负数,并且修正后的负数的绝对值小于修正前的负数。在S105之后,下一步执行S106。
应注意,当S103中确定的正数有N个,且该N个正数与该负数的和小于0时,S105对该N个正数和该负数进行N次修正,该N次修正中的第1次修正为将该N个正数中离该负数最近的正数修正为0,将该负数修正为该负数与该离该负数最近的正数的和,该N次修正中的第2次修正至第N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该N次修正后该负数仍然为一个负数。
应注意,此时,该数据窗的前半部分有且仅有N个正数,并且该N个正数与该负数的和小于0。N次修正中的每一次修正为将一个正数修正为0,将上一次修正后的负数进行一次修正。
例如,当该N个正数为a1,a2…ai…aN时,该负数为A,第i次修正时,ai离负数最近,则将ai修正为0,将i-1次修正后得到的负数Ai-1修正为Ai,Ai为Ai-1与ai的和。经过N次修正,将该N个正数都修正为0,将该负数修正为aN与AN-1的和,AN-1为第N-1次修正后的负数。
S106,在后半数据窗中判断是否存在正数。当在后半数据窗中查找到正数时,下一步执行S107,当查找不到正数时,下一步执行S109。
应注意,当流程从S103执行到S106中时,该负数仍然为S101中确定的负数。当流程从S105执行到S106中时,该负数为S105中修正后的负数。在S106中,该前半数据窗中不存在正数。
可理解,在前半数据窗中查找之后,如果修正后的负数仍然为负数,即该负数没有完全抵消时,在该数据窗的后半部分查找正数。这样可以在该前半数据窗和后半数据窗依次查找到与该负数最邻近的正数,因此可以更准确的对统计文件进行修正,提高丢包统计的效率。
S107,判断该S106中的负数和至少一个正数求和后是否小于0。当该负数和正数的和小于0时,下一步执行S108,当该负数和该正数求和后大于或等于0时,下一步执行S110。
S108,修正正数和负数。该负数为S106中的负数,该正数为S107中查找到的正数。将S107中查找到的正数都修正为0,将该负数修正为该负数和S107中该至少一个正数的和。这里,该负数修正后仍然为负数,并且修正后的负数的绝对值小于修正前的负数。
应注意,当S106中确定的正数有N个,且该N个正数和该负数进行N次修正,该N次修正包括将负数之前离该负数最近的正数修正为零,将该负数修正为该第二负数与该离该第二负数最近的正数的和。
即该N次修正中的第1次修正为将该N个正数中离该负数最近的正数修正为0,将该负数修正为该负数与该离该负数最近的正数的和,该N次修正中的第2次修正至第N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该N次修正后该负数仍然为一个负数。
应注意,此时,该数据窗的后半部分有且仅有N个正数,并且该N个正数与S105中修正后的负数的和小于0。N次修正中的每一次修正为将一个正数修正为0,将上一次修正后的负数进行一次修正。
例如,当该N个正数为a1,a2…ai…aN时,该S105中修正后的负数为A,第i次修正时,ai离负数最近,则将ai修正为0,将i-1次修正后得到的负数Ai-1修正为Ai,Ai为Ai-1与ai的和。经过N次修正,将该N个正数都修正为0,将该负数修正为aN与AN-1的和,AN-1为第N-1次修正后的负数。
S109,扩大该数据窗。经过S103和S106的查找,确定该数据窗中没有正数时,或者经过S105和/或S108的修正,将S102中划定的数据窗的所有正数都修正为0,并且将S101中获取的负数修正后仍然为负数时,需要扩大数据窗继续查找正数。执行完S109之后,下一步执行S102。此时,继续按照上述流程执行本发明的技术方案。
例如,执行S109后,将数据窗tm扩大为数据窗tm+1。该tm+1中的数据的个数多于该tm中的数据的个数。具体的,本发明实施例中,可以配置前半数据窗的扩大的步长为X1,后半数据窗的扩大的步长为X2,例如X1=10,X2=1。这样,扩大后的数据窗tm+1包括扩大前的数据窗tm、tm之前的10个数据和tm之后的1个数据。该步长X1和X2也可以相同,例如X1=X2=1,本发明对此不作限定。
可以理解,本发明实施例中,当在S102中划定的数据窗tm内没有找到正数,或者将数据窗tm内的所有正数都修正为0,修正后的负数仍然为负数时,扩大数据窗tm为数据窗tm+1,并在扩大数据窗后,流程进行到S102,在数据窗tm+1中继续查找正数。
当在扩大后的数据窗tm+1中仍然没有查找到正数,或者在扩大后的数据窗tm+1中该修正后的负数仍然为一个负数时,继续扩大数据窗为tm+2,直至修正数据后的数据窗tn中没有负数,下一步执行S110。应理解,在本发明实施例中,当确定数据窗tn时,停止查找正数,tn为本发明实施例中数据窗的上限。
可选的,在执行S109时的数据窗tm中的正数已经被修正为0,因此当在扩大后的数据窗tm+1中查找正数时,可以只在tm+1中除tm之外的部分查找正数。这样能够避免在修正过的数据窗部分重复查找正数,节省查找时间,进而可以提高查找效率。
例如,当以X1=10,X2=1扩大数据窗后,在S103中查找正数时,可以只在负数之前的扩大的数据窗的部分查找正数。例如,只在tm+1中的tm之前的10个数据中查找是否存在正数。在S106中查找正数时,可以只在负数之后的扩大的数据窗的部分查找正数。例如,只在tm+1中的tm之后的1个数据总查找是否存在正数。
可理解,本发明实施例中的丢包统计方法严格依赖该数据窗的大小,该数据窗设置的太小时不能查找到与该负数相加大于或等于0的至少一个正数。该数据窗设置的太大时,查询的效率会比较低。因此,本发明实施例中,可以根据统计文件的数据的特性,设置不同的数据窗初始值和扩大步长。例如,如果统计文件中的正数和负数比较少时,可以设置较大的初始值和较大的扩大步长。如果统计文件中的正数和负数比较多时,可以设置较小的初始值和较小的扩大步长。
可选的,本发明实施例中,该数据窗中还可以包括下一个待修正的统计文件中的数据,该下一个待修正的统计文件可以为统计丢包时在该统计文件之后生成的统计文件。
可理解,当网络设备统计丢包数据时,统计的数据按照统计周期生成统计文件。此时,正数和负数可能会横跨两个统计文件,这时候数据窗也需要横跨到两个文件中。
例如,在S102中划定数据窗时,如果该统计文件中位于该数据窗中的数据的个数少于该数据窗中应该包含的数据的个数时,该数据窗中可以包括下一个待修正的统计文件中的数据。
作为一例,当该负数位于该统计文件的中心时,如果该统计文件中位于该负数之后的数据的个数a小于该数据窗中位于该负数之前的数据的个数b时,该数据窗中还可以包括与该统计文件相邻的下一个统计文件中的数据。该数据窗中包括的下一个相邻的统计文件中数据的个数为N,N的值等于a和b的差值,a、b和N为正整数。
例如,当统计文件中的位于第一个负数之后的数据有1个,此时的数据窗中位于该负数之前的数据有2个,此时,该数据窗中可以包括下一个相邻的统计文件中的第一个数据。当在该数据窗中的负数之后查找正数时,可以判断该统计文件中的最后一个数据和下一个统计文件中的第一个数据是否为正数。
S110,修正正数和负数,并获得修正后的统计文件。在S110之后,执行S111。
当流程从S104执行到S110时,该S个正数位于该数据窗中该负数之前,即S次修正为对负数和负数之前确定的S个正数进行S次修正,其中,该S次修正中的第1次修正为将该S个正数中离该负数最近的正数修正为0,将该负数修正为该负数与该离该负数最近的正数的和,该S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S次修正中的第S次修正包括将该S-1次修正后的负数修正为零,将该S个正数中离该负数最远的正数修正为M1,M1为该离该负数最远的正数与该S-1次次修正后的负数的和。
可理解,M1为所述S个正数与S101中确定的负数之和。
例如,当该S个正数为a1,a2…ai…aS时,该负数为A,第i次修正时,ai离负数最近,则将ai修正为0,将i-1次修正后得到的负数Ai-1修正为Ai,Ai为Ai-1与ai的和。经过S次修正,将该负数修正为0,将aS修正为aS与AS-1的和,AS-1为第S-1次修正后的负数。
当S=1时,上述实现方式中只需要进行一次修正,即将该负数修正为0,将该1个正数修正为该1个正数与该负数的和。
具体的,例如,当流程从S101、S102、S103和S104执行到S110时,假设该前半数据窗中的数据为2 1 -3时,第一次修正将-3之前的1修正为0,将-3修正为-2,该前半数据窗中的数据为2 0 -2,第二次修正将该负数-2之前的正数2修正为0,将-2修正为0,得到修正后的前半数据窗中的数据为0 0 0。
假设该前半数据窗中的数据为2 2 -1时,第一次修正将负数-1之前的第一个正数2修正为1,将负数-1修正为0,此时得到修正后的数据窗中的数据为2 1 0。此时M1为1,S为1,即只对-1之前的2进行了修正。
当流程经S103、S106、S107执行到S110时,该S102中确定的前半数据窗中没有正数,该S个正数位于该数据窗中的负数之后,即S次修正为对负数和该负数之后确定的S个正数进行S次修正,其中,该S次修正中的第1次修正为将该S个正数中离该负数最近的正数修正为0,将该负数修正为该负数与该离该负数最近的正数的和,该S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S次修正中的第S次修正包括将该S-1次修正后的负数修正为零,将该S个正数中离该负数最远的正数修正为M2,M2为该离该负数最远的正数与该S-1次次修正后的负数的和。
可理解,M2为所述S个正数与S101中确定的负数之和。
例如,当该S个正数为a1,a2…ai…aS时,该负数为A,第i次修正时,ai离负数最近,则将ai修正为0,将i-1次修正后得到的负数Ai-1修正为Ai,Ai为Ai-1与ai的和。经过S次修正,将该负数修正为0,将aS修正为aS与AS-1的和,AS-1为第S-1次修正后的负数。
当S=1时,上述实现方式中只需要进行一次修正,即将该负数修正为0,将该1个正数修正为该1个正数与该负数的和。
具体的,例如,当流程从S101、S102、S103、S106和S107执行到S110时,假设该后半数据窗中的数据为-3 1 2时,第一次修正将负数-3之后的正数1修正为0,将-3修正为-2,该后半数据窗中的数据为-2 0 2,第二次修正将该负数-2之后的正数2修正为0,将-2修正为0,得到修正后的后半数据窗中的数据为0 0 0。
假设该后半数据窗中的数据为-1 2 2时,第一次修正将负数-1之后的第一个正数2修正为1,将负数-1修正为0,此时得到修正后的后半数据窗中的数据为0 1 2。此时M2为1,S为1,即即只对-1之后的2进行了修正。
当流程经S103、S104、S105、S106、S107执行到S110时,该S个正数中的N个位于该数据窗中的该负数之前,S-N个位于该数据窗中的该负数之后,N为小于S的正整数。
应理解,此时,该数据窗中的负数之前有且仅有N个正数,并且该数据窗中的负数之后存在S-N个正数。
那么,该依次修正该S个正数和该负数,包括:
S105中的对该N个正数和该负数进行N次修正,该N次修正中的第1次修正为将该N个正数中离该负数最近的正数修正为0,将该负数修正为该负数与该离该负数最近的正数的和,该N次修正中的第2次修正至第N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该N次修正后该负数仍然为一个负数;
S110中的对该S个正数中除该N个正数之外的S-N个正数进行S-N次修正,该S-N次修正中的第1次修正为将该S-N个正数中离上述N次修正后的负数最近的正数修正为0,将该N次修正后的负数修正为该N次修正后的负数与该离该N次修正后的负数最近的正数的和,该S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S-N次修正中的第S-N次修正包括将该S-N-1次修正后的负数修正为零,将该S-N个正数中离该N次修正后的负数最远的正数修正为M3,M3为该离该N次修正后的负数最远的正数与该S-N-1次修正后的负数的和。
可理解,M3为所述S个正数与S101中确定的负数之和。
例如,当该N个正数为a1,a2…ai…aN时,该负数为A,第i次修正时,ai离负数最近,则将ai修正为0,将i-1次修正后得到的负数Ai-1修正为Ai,Ai为Ai-1与ai的和。经过N次修正,将该N个正数都修正为0,将A最终修正Ai,Ai为aN与AN-1的和,AN-1为第N-1次修正后的负数。
当该S-N个正数为aN+1,aN+2…aN+i…aS时,该S-N次修正中的第i次修正时,aN+i离负数最近,则将aN+i修正为0,将i-1次修正后得到的负数AN+i-1修正为AN+i,AN+i为AN+i-1与ai的和。经过S-N次修正,将负数修正为0,将aS修正为aS与AS-1的和,AS-1为第S-N-1次修正后的负数。
具体的,例如,当流程经S101、S102、S103、S104、S105、S106、S107执行到S110时,假设S102中确定的数据窗中包括1 2-4 1 1时,在S105中执行所述N次修正,第一次将2修正为0,将-4修正为-2,第二次将1修正为0,将-2修正为-1,此时N=2,得到修正后的数据窗为0 0-1 1 1,该第二负数为-1。在S-2次修正中的第一次修正中将该-1之后的1修正为0,将-1修正为0,得到修正后的数据窗中的数据为0 0 0 0 1。这时,M3为0,S-2为1,即对后半数据窗进行了1次修正,此时S为3。
应注意,本发明实施例中,在将S101中确定的负数修正为0时,停止修正数据窗中的正数,并且,修正后的正数的绝对值必定小于修正前的正数的绝对值。这样可以避免修正后的统计文件中出现脉冲高峰。
应理解,该数据窗中的正数和负数都修正为0,即该正数和该负数相抵消,表示该数据窗中的数据对应的传输过程中没有出现报文丢失,该数据窗中负数修正为0,即该负数被抵消,正数修正为M,表示该数据窗中的该正数M对应的传输过程中丢失了M个报文。
经过上述S101至110的流程,可以使统计文件中距该负数最邻近的正数依次与该负数相抵消,最终将该负数修正为0。
S111,判断修正后的统计文件中是否存在负数。如果修正该负数和该至少一个正数之后的统计文件中不存在负数时,结束流程。如果修正该负数和该至少一个正数之后的统计文件中存在负数时,流程进行到S101。
当流程重新进行到S101时,在修正后的统计文件中查找负数。然后继续执行上述流程,经过至少一次查找和修正,将该负数修正为0,并获取重新修正的统计文件。经过多次执行上述S101至S110的流程,最终将统计文件中的负数都修正为0。
如果修正后的统计文件中的数据全部为0,表示该统计报文对应的传输过程中没有报文的丢失。如果修正后的统计文件中还存在负数,则可以在下一个待修正的统计文件中继续查找,直至将该统计文件中的负数修正为0。如果修正后的统计文件中存在正数m,则表示该统计文件对应的传输过程有m个报文的丢失。
本发明实施例中,当将该统计文件中的每个负数都进行修正后,可以对下一个待修正的统计文件进行修正。当对多个统计文件的数据进行修正后,如果该多个统计文件中都不存在负数时,则修正后的多个统计文件可以正确的表示该多个统计文件对应的传输过程中的丢包结果。如果修正后的多个统计文件中存在负数,则还需要继续扩大查找的统计文件的范围,最终将该负数修正为0。如果修正后的多个统计文件中的数据都为0时,表示该多个统计文件对应的传输过程中没有报文丢失。如果修正后的多个统计文件中的数据没有负数,并且存在正数m时,则该正数对应的传输过程中丢失了m个报文。
例如,当通过上述丢包统计的方法100修正了4个统计文件,如果将该4个统计文件中的负数都修正为0时,则修正后的4个统计文件可以正确的表示该4个文件对应的传输过程的丢包结果。如果修正后的该4个统计文件还存在负数,则继续查找下一个待修正的统计文件,直至将该4个统计文件中的负数修正为0。当修正后的4个统计文件中的数据都为0时,该4个文件对应的传输过程中没有报文丢失。当修正后的4个统计文件中没有负数并且有2个正数1时,该2个正数1对应的传输过程分别丢失了1个报文。
因此,本发明实施例通过获取统计文件中的负数,确定包含该负数和该统计文件中的多个数据的数据窗,当该数据窗中存在至少一个正数,且该负数与该至少一个正数的和大于或等于零时,修正该至少一个正数和该负数,得到修正后的统计文件。本发明实施例能够正确的进行丢包统计。当该修正后的统计文件中不存在正数和负数时,表示该统计文件对应的传输过程中没有报文丢失。当该修正后的统计文件中只存在正数时,该正数表示该统计文件对应的传输过程中的报文丢失的数量。
图4为本发明的一个实施例的丢包统计的方法200的流程图。图4所示的方法200包括:
S210,获取第一统计文件中的第一负数。
具体的,该第一统计文件可以为图3中的S101中的统计文件,该第一负数可以为S101中获取的负数。S210可以参见图3中的S101的描述,为避免重复,这里不再赘述。
S220,确定第一数据窗,该第一数据窗中包括该第一负数和该第一统计文件中的多个数据。
S230,当所述第一数据窗中存在S个正数,所述第一负数与所述S个正数的和大于或等于零,且所述第一负数与所述S个正数中的S-1个正数的和小于零时,依次修正所述S个正数和所述第一负数,得到修正后的第一统计文件,其中S为正整数。
具体的,该S个正数参见上述图3中S102的描述,为避免重复,这里不再赘述。
可选的,作为一例,所述S个正数位于所述第一数据窗中的所述第一负数之前,所述依次修正所述S个正数和所述第一负数,包括:进行S次修正,其中,所述S次修正中的第1次修正为将所述S个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数的和,所述S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S次修正中的第S次修正包括将所述S-1次修正后的负数修正为零,将所述S个正数中离所述第一负数最远的正数修正为M1,M1为所述离所述第一负数最远的正数与所述S-1次次修正后的负数的和。
具体的,可以参见上述S103、S104至S110的流程,为避免重复,这里不再赘述。
可选的,作为另一例,当所述第一数据窗中的所述第一负数之前不存在正数时,所述S个正数位于所述第一数据窗中的所述第一负数之后,所述依次修正所述S个正数和所述第一负数,包括:进行S次修正,其中,所述S次修正中的第1次修正为将所述S个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数的和,所述S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S次修正中的第S次修正包括将所述S-1次修正后的负数修正为零,将所述S个正数中离所述第一负数最远的正数修正为M2,M2为所述离所述第一负数最远的正数与所述S-1次次修正后的负数的和。
具体的,可以参见上述S103、S106、S107至S110的流程,为避免重复,这里不再赘述。
可选的,作为另一例,所述S个正数中的N个位于所述第一数据窗中的所述第一负数之前,S-N个位于所述第一数据窗中的所述第一负数之后,N为小于S的正整数,所述依次修正所述S个正数和所述第一负数,包括:对所述N个正数和所述第一负数进行N次修正,所述N次修正中的第1次修正为将所述N个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数的和,所述N次修正中的第2次修正至第N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述N次修正后所述第一负数修正为第二负数;对所述S个正数中除所述N个正数之外的S-N个正数进行S-N次修正,所述S-N次修正中的第1次修正为将所述S-N个正数中离所述第二负数最近的正数修正为0,将所述第二负数修正为所述第二负数与所述离所述第二负数最近的正数的和,所述S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S-N次修正中的第S-N次修正包括将所述S-N-1次修正后的负数修正为零,将所述S-N个正数中离所述第二负数最远的正数修正为M3,M3为所述离所述第二负数最远的正数与所述S-N-1次修正后的负数的和。
应注意,所述第一数据窗之前的正数有且仅有N个,并且该N个正数与该第一负数的和小于零,在该第一数据窗之后的部分存在所述的S-N个正数。
具体的,可以参见上述S103、S104、S105、S106、S107至S110的流程,为避免重复,这里不再赘述。
可选的,该第一负数位于该第一数据窗的中心。
该第一数据窗对应于图3中的S110中修正正数和负数时的数据窗。
可选的,作为一例,可以根据预设值确定该第一数据窗。
具体的,该第一数据窗可以为预设值,可以对应图3中流程经S101、S102、S103、S104和S110时的数据窗,或者图3中的流程经S101、S102、S103、S106、S107和S110时的数据窗,或者图3中的流程经S101、S102、S103、S104、S105、S106和S107和S110时的数据窗。具体的可以参见图3中的各个流程,为避免重复,这里不再赘述。
可选的,作为另一例,可以根据预设值确定第二数据窗,该第二数据窗中包括该该第一负数和该第一统计文件中的多个数据;该第二数据窗中不存在正数时,将该第二数据窗扩大为该第一数据窗。
可选的,该第一负数可以位于该第二数据窗的中心。
具体的,该第二数据窗可以对应图3中的执行S109之前的流程经S102、S103、S106中的数据窗。此时需要执行图3中的S109将该第二数据窗扩大为该第一数据窗,该第一数据窗可以对应于图3中的S109中的数据窗tn。具体可以参见上述图3中的对应的相应流程,为避免重复,这里不再赘述。
可选的,在该获取第一统计文件中的第一负数之前,还可以获取原始统计文件中的第三负数;根据预设值确定第三数据窗,该第三数据窗中包括该第三负数和该原始统计文件中的多个数据,且该第三数据窗中的所有正数与该第三负数的和等于该第一负数;将该第三负数修正为该第一负数,并将该第三数据窗中的每一个正数修正为零;将该修正后的原始统计文件作为该第一统计文件。
在上述获取第一统计文件和第一负数之后,可以将该第三数据窗扩大为第一数据窗。
应注意,本发明实施例中,该原始统计文件为在实施本发明实施例的过程中对该第三数据窗中的数据进行修正之前的统计文件,并不一定为图3中的S101中按照统计周期将多个数据生成的统计文件。
可选的,该第三负数位于该第三数据窗的中心。
具体的,该原始统计文件和第三负数可以分别为图3中流程经S102、S103、S104、S105、S106执行到S109中的修正前的统计文件和负数,或者流程经S102、S103、S106、S107、S108执行到S109中修正前的统计文件和负数,或者流程经S102、S103、S104、S105、S106、S107、S108执行到S109中修正前的统计文件和负数。具体的可以参见图3中的相应流程,为避免重复,这里不再赘述。
可选的,本发明实施例中,该第一数据窗中还包括第二统计文件中的数据,该第二统计文件为该第一文件相邻的下一个统计文件。
该第一统计文件可对应于上述方法100中的统计文件,该第二统计文件可对应于上述方法100中的与该统计文件相邻的下一个统计文件,具体的可以参见图3中的S109的描述,为避免重复,这里不再赘述。
可选的,该丢包统计的方法200还可以包括:将该第一统计文件替换为该修正后的该第一统计文件。
具体的,可以参见上述图3中的S111中的描述,为避免重复,这里不再赘述。
应理解,本发明实施例中,上述过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
因此,本发明实施例通过获取统计文件中的负数,确定包含该负数和该统计文件中的多个数据的数据窗,当该数据窗中存在至少一个正数,且该负数与该至少一个正数的和大于或等于零时,修正该至少一个正数和该负数,得到修正后的统计文件。本发明实施例能够正确的进行丢包统计。当该修正后的统计文件中不存在正数和负数时,表示该统计文件对应的传输过程中没有报文丢失。当该修正后的统计文件中只存在正数时,该正数表示该统计文件对应的传输过程中的报文丢失的数量。
下面结合表1,详细描述本发明的丢包统计的方法的一个具体的实施例。应注意,下面的例子仅仅是为了帮助本领域技术人员理解和实现本发明的实施例,而非限制本发明实施例的范围。本领域技术人员可以根据这里给出的例子进行等价变换或修改,这样的变换或修改仍然应落入本发明实施例的范围内。
表1
Figure BDA0000833850100000221
如表1所示,该统计文件中包括27个统计的报文丢失的数据。在该实施例中,以负数在数据窗的中心为例进行描述。首先,在该数据中从左至右查找第一个负数,具体的,可对应于上述图3中的S101。查找后可以确定该第一个负数为-1。
下一步以-1为中心,划定数据窗。具体的,可以对应于上述图3中的S102。可选的,第一次划定的数据窗的大小可以为预设值,例如为3,此时,该数据窗中包括1 -1 0三个数据。
下一步在该数据窗中的-1之前的数据中查找是否存在正数。具体的,可以对应上述图3中的S103。此时,查找到正数1。
下一步判断-1和1的和是否小于0。具体的,可以对应于上述图3中的S104。此时,显然该正数和该负数的和为0。
下一步将该负数-1和该正数1修正为0。具体的,可以对应于上述图3中的S110。
此时,对于统计文件中的数据,已经完成了1次修正,并且可以获得修正后的统计文件如表1中的第3行所示,其中,修正过的数据下面标记有下划线。
下一步,继续在修订后的统计文件,即上述表1中的第3行的数据中查找是否存在负数。具体的,可以对应于上述图3中的S111。
下一步在修正后的统计文件中查找第一个负数。查找后可以确定该第一个负数为-1。然后以-1为中心,划定数据窗。第一次划定的数据窗的大小为预设值3,此时,该数据窗中包括0-11三个数据。下一步在该数据窗中的-1之前的数据中查找不存在正数。下一步在该数据窗中的-1之后的数据中查找是否存在正数。此时,查找到数据1。
下一步判断-1和1的和是否小于0。显然该正数和该负数的和为0。下一步将该负数-1和该正数1修正为0。
具体可以参见上述图3中的S101、S102、S103、S106、S107和S110的流程,为避免重复,这里不再赘述。
此时,对于统计文件中的数据,已经完成了2次修正,修正后的统计文件如表1中的第4行所示,其中,修正过的数据下面标记有下划线。
下一步,继续在修订后的统计文件,即上述表1中的第4行的数据中查找是否存在负数。具体的,可以对应于上述图3中的S111。
下一步在修正后的统计文件中查找第一个负数。查找后可以确定该第一个负数为-2。然后以-2为中心,划定数据窗。第一次划定的数据窗为预设值3,此时,该数据窗中包括1-21三个数据。下一步在该数据窗中的-2之前的数据中查找到正数1。显然,该负数和该正数的和小于0,将该1和-2分别修正为0和-1。下一步继续在该数据窗中修正后的的-1之后的数据中查找是否存在正数。此时,查找到数据1。
下一步判断修正后的-1和1的和是否小于0。显然该正数和该负数的和为0。下一步将修正后的该负数-1和1修正为0。
具体可以参见上述图3中的S101、S102、S103、S104、S105、S106、S107和S110的流程,为避免重复,这里不再赘述。
此时,对于统计文件中的数据,已经完成了3次修正,修正后的统计文件如表1中的第4行所示,其中,修正过的数据下面标记有下划线。
下一步,继续在修订后的统计文件,即上述表1中的第5行的数据中查找是否存在负数。查找后可以确定该第一个负数为-2。
然后以-2为中心,划定数据窗。可选的,第一次划定的数据窗的大小为预设值3,此时,该数据窗中包括0 -2 0三个数据。
下一步在该数据窗中的-2之前的数据中查找没有找到正数,继续在该数据窗中的-2之后的数据中查找也没有找到正数,此时扩大数据窗。具体的,可以参见图3中的S109,为避免重复,这里不再赘述。这里可以配置X1=X2=1,扩大后的数据窗例如为5,此时数据窗中包含1 0 -2 0 -1五个数据。
在该扩大的数据窗前半部分可以查找到正数1,但是该负数和该正数的和小于0,将该正数1修正为0,将负数-2修正为负数-1。然后在该扩大的数据窗后半部分没有查找到正数。此时,修正后的数据窗为0 0 -1 0 -1。下一步继续扩大数据窗,例如括大为7,此时该数据窗中包含0 0 0 -1 0 -1 1七个数据。
在该扩大的数据窗的前半部分查找不到正数,在该扩大的数据窗的后半部分可以查找到正数1。
显然该修正后的负数-1和在扩大的数据窗的后半部分查找到的该正数1的和为0。下一步将该修正后的负数-1和该正数1修正为0。
具体可以参见上述图3中的S101、S102、S103、S104、S105、S106、S107、S108和S109的流程,为避免重复,这里不再赘述。
此时,对于统计文件中的数据,已经完成了4次修正,修正后的统计文件如表1中的第5行所示,其中,修正过的数据下面标记有下划线。
下一步,继续在修订后的统计文件,即上述表1中的第6行的数据中查找是否存在负数。查找后可以确定该第一个负数为-1。
然后以-1为中心,划定数据窗。当以初始数据窗3,扩大步长X1=X2=1查找时,经过5次扩大数据窗为t6,在该t6中的该负数之后查找到正数2,此时该负数-1和正数2之后为-1,可以将该负数修正为0,将该正数2修正为1。具体可以参见上述图3中的S101、S102、S103、S104、S105、S106、S107、S108和S109的流程,为避免重复,这里不再赘述。
此时,对于统计文件中的数据,已经完成了5次修正,修正后的统计文件如表1中的第6行所示,其中,修正过的数据下面标记有下划线。
下一步,继续在修订后的统计文件,即上述表1中的第7行的数据中查找是否存在负数。查找后可以确定该第一个负数为-1,该正数为1。然后将该正数1和该负数-1都修正为0。其中,为双下划线的0表示修正了2次。
具体可以参见上述图3中的S101、S102、S103、S104、S105、S106、S107、S108和S109的流程,为避免重复,这里不再赘述。
此时,经过6次修正,获得的修正后的统计文件中的数据均为0,表示该统计文件对应的传输过程中没有报文丢失。
因此,本发明实施例通过获取统计文件中的负数,确定包含该负数和该统计文件中的多个数据的数据窗,当该数据窗中存在至少一个正数,且该负数与该至少一个正数的和大于或等于零时,修正该至少一个正数和该负数,得到修正后的统计文件。本发明实施例能够正确的进行丢包统计。当该修正后的统计文件中不存在正数和负数时,表示该统计文件对应的传输过程中没有报文丢失。当该修正后的统计文件中只存在正数时,该正数表示该统计文件对应的传输过程中的报文丢失的数量。
图5是本发明的一个实施例的丢包统计的网络设备的框图。如图5所示,该网络设备400包括:
获取单元410,用于获取第一统计文件中的第一负数。
确定单元420,用于确定第一数据窗,该第一数据窗中包括该第一负数和该第一统计文件中的多个数据。
修正单元430,用于当所述第一数据窗中存在S个正数,所述第一负数与所述S个正数的和大于或等于零,且所述第一负数与所述S个正数中的S-1个正数的和小于零时,依次修正所述S个正数和所述第一负数,得到修正后的第一统计文件,其中S为正整数。
可选的,作为一例,该S个正数位于该第一数据窗中的该第一负数之前,该修正单元430可以对该S个正数和该第一负数进行S次修正,其中,该S次修正中的第1次修正为将该S个正数中离该第一负数最近的正数修正为0,将该第一负数修正为该第一负数与该离该第一负数最近的正数的和,该S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S次修正中的第S次修正包括将该S-1次修正后的负数修正为零,将该S个正数中离该第一负数最远的正数修正为M1,M1为该离该第一负数最远的正数与该S-1次修正后的负数的和。
可选的,作为另一例,当该第一数据窗中的该第一负数之前不存在正数时,该S个正数位于该第一数据窗中的该第一负数之后,该修正单元430可以对该S个正数和该第一负数进行S次修正,其中,该S次修正中的第1次修正为将该S个正数中离该第一负数最近的正数修正为0,将该第一负数修正为该第一负数与该离该第一负数最近的正数的和,该S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S次修正中的第S次修正包括将该S-1次修正后的负数修正为零,将该S个正数中离该第一负数最远的正数修正为M2,M2为该离该第一负数最远的正数与该S-1次修正后的负数的和。
可选的,作为另一例,该S个正数中的N个位于该第一数据窗中的该第一负数之前,S-N个位于该第一数据窗中的该第一负数之后,N为小于S的正整数,该修正单元430可以对该N个正数和该第一负数进行N次修正,该N次修正中的第1次修正为将该N个正数中离该第一负数最近的正数修正为0,将该第一负数修正为该第一负数与该离该第一负数最近的正数的和,该N次修正中的第2次修正至第N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该N次修正后该第一负数修正为第二负数;对该S个正数中除该N个正数之外的S-N个正数进行S-N次修正,该S-N次修正中的第1次修正为将该S-N个正数中离该第二负数最近的正数修正为0,将该第二负数修正为该第二负数与该离该第二负数最近的正数的和,该S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将该上一次修正后的负数修正为该离上一次修正后的负数最近的正数与该上一次修正后的负数之和,该S-N次修正中的第S-N次修正包括将该S-N-1次修正后的负数修正为零,将该S-N个正数中离该第二负数最远的正数修正为M3,M3为该离该第二负数最远的正数与该S-N-1次修正后的负数的和。
可选的,该第一负数位于该第一数据窗的中心
可选的,作为一例,该确定单元420可以根据预设值确定该第一数据窗。
可选的,作为另一例,该确定单元420可以根据预设值确定第二数据窗,该第二数据窗中包括该第一负数和该第一统计文件中的多个数据,当该第二数据窗中不存在正数时,将该第二数据窗扩大为该第一数据窗。
可选的,该第一负数位于该第二数据窗的中心
可选的,在该获取单元410获取该第一统计文件中的第一负数之前,该获取单元410还可以先获取原始统计文件中的第三负数;该确定单元420根据预设值确定第三数据窗,该第三数据窗中包括该第三负数和该原始统计文件中的多个数据,且该第三数据窗中的所有正数与该第三负数的和等于该第一负数;然后,该修正单元430将该第三负数修正为该第一负数,并将该第三数据窗中的每一个正数修正为零;将该修正后的原始统计文件作为该第一统计文件。
在上述获取第一统计文件和第一负数之后,可以将该第三数据窗扩大为第一数据窗。
可选的,该第三负数位于该第三数据窗的中心。
可选的,该第一数据窗中还包括第二统计文件中的数据,该第二统计文件为该第一文件相邻的下一个统计文件。
可选的,该网络设备400还可以包括:替换单元,用于将该第一统计文件替换为该修正后的第一统计文件。
因此,本发明实施例通过获取统计文件中的负数,确定包含该负数和该统计文件中的多个数据的数据窗,当该数据窗中存在至少一个正数,且该负数与该至少一个正数的和大于或等于零时,修正该至少一个正数和该负数,得到修正后的统计文件。本发明实施例能够正确的进行丢包统计。当该修正后的统计文件中不存在正数和负数时,表示该统计文件对应的传输过程中没有报文丢失。当该修正后的统计文件中只存在正数时,该正数表示该统计文件对应的传输过程中的报文丢失的数量。
应注意,本发明实施例中,获取单元410、确定单元420和修正单元430可以由处理器实现。如图6所示,装置500可以包括处理器510、存储器520、收发器530和总线系统540。该装置500例如为网络设备。其中,存储器520可以用于存储处理器510执行的代码等,收发器530可以用于收发报文等。
装置500中的各个组件通过总线系统540耦合在一起,其中总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
图5所示的网络设备400或图6所示的装置500能够实现前述图3和图4所示的方法实施例中的各个过程,为避免重复,这里不再赘述。
应注意,本发明上述方法实施例可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本发明实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或步骤可以用硬件、处理器执行的软件程序,或者二者的结合来实施。软件程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。

Claims (24)

1.一种丢包统计的方法,其特征在于,所述方法由网络设备执行,包括:
获取第一统计文件中的第一负数;
确定第一数据窗,所述第一数据窗中包括所述第一负数和所述第一统计文件中的多个数据;
当所述第一数据窗中存在S个正数,所述第一负数与所述S个正数的和大于或等于零,且所述第一负数与所述S个正数中的S-1个正数的和小于零时,依次修正所述S个正数和所述第一负数,得到修正后的第一统计文件,其中S为正整数。
2.根据权利要求1所述的方法,其特征在于,所述S个正数位于所述第一数据窗中的所述第一负数之前,所述依次修正所述S个正数和所述第一负数,包括:
进行S次修正,其中,所述S次修正中的第1次修正为将所述S个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数之和,所述S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S次修正中的第S次修正包括将所述S-1次修正后的负数修正为零,将所述S个正数中离所述第一负数最远的正数修正为M1,M1为所述离所述第一负数最远的正数与所述S-1次修正后的负数之和。
3.根据权利要求1所述的方法,其特征在于,当所述第一数据窗中的所述第一负数之前不存在正数时,所述S个正数位于所述第一数据窗中的所述第一负数之后,所述依次修正所述S个正数和所述第一负数,包括:
进行S次修正,其中,所述S次修正中的第1次修正为将所述S个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数之和,所述S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S次修正中的第S次修正包括将所述S-1次修正后的负数修正为零,将所述S个正数中离所述第一负数最远的正数修正为M2,M2为所述离所述第一负数最远的正数与所述S-1次修正后的负数之和。
4.根据权利要求1所述的方法,其特征在于,所述S个正数中的N个位于所述第一数据窗中的所述第一负数之前,S-N个位于所述第一数据窗中的所述第一负数之后,N为小于S的正整数,所述依次修正所述S个正数和所述第一负数,包括:
对所述N个正数和所述第一负数进行N次修正,所述N次修正中的第1次修正为将所述N个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数之和,所述N次修正中的第2次修正至第N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述N次修正后所述第一负数修正为第二负数;
对所述S个正数中除所述N个正数之外的S-N个正数进行S-N次修正,所述S-N次修正中的第1次修正为将所述S-N个正数中离所述第二负数最近的正数修正为0,将所述第二负数修正为所述第二负数与所述离所述第二负数最近的正数之和,所述S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S-N次修正中的第S-N次修正包括将所述S-N-1次修正后的负数修正为零,将所述S-N个正数中离所述第二负数最远的正数修正为M3,M3为所述离所述第二负数最远的正数与所述S-N-1次修正后的负数之和。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述确定第一数据窗,包括:
根据预设值确定所述第一数据窗。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述确定第一数据窗,包括:
根据预设值确定第二数据窗,所述第二数据窗中包括所述第一负数和所述第一统计文件中的多个数据;
所述第二数据窗中不存在正数时,将所述第二数据窗扩大为所述第一数据窗。
7.根据权利要求6所述的方法,其特征在于,所述第一负数位于所述第二数据窗的中心。
8.根据权利要求1至4中任一项所述的方法,其特征在于,在所述获取第一统计文件中的第一负数之前,还包括:
获取原始统计文件中的第三负数;
根据预设值确定第三数据窗,所述第三数据窗中包括所述第三负数和所述原始统计文件中的多个数据,且所述第三数据窗中的所有正数与所述第三负数之和等于所述第一负数;
将所述第三负数修正为所述第一负数,并将所述第三数据窗中的每一个正数修正为零;
将所述修正后的原始统计文件作为所述第一统计文件;
所述确定第一数据窗,包括:
将所述第三数据窗扩大为所述第一数据窗。
9.根据权利要求8所述的方法,其特征在于,所述第三负数位于所述第三数据窗的中心。
10.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一负数位于所述第一数据窗的中心。
11.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一数据窗中还包括第二统计文件中的数据,所述第二统计文件为所述第一统计文件相邻的下一个统计文件。
12.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
将所述第一统计文件替换为所述修正后的第一统计文件。
13.一种丢包统计的网络设备,其特征在于,包括:
获取单元,用于获取第一统计文件中的第一负数;
确定单元,用于确定第一数据窗,所述第一数据窗中包括所述第一负数和所述第一统计文件中的多个数据;
修正单元,用于当所述第一数据窗中存在S个正数,所述第一负数与所述S个正数之和大于或等于零,且所述第一负数与所述S个正数中的S-1个正数之和小于零时,依次修正所述S个正数和所述第一负数,得到修正后的第一统计文件,其中S为正整数。
14.根据权利要求13所述的网络设备,其特征在于,所述S个正数位于所述第一数据窗中的所述第一负数之前,所述修正单元具体用于:
进行S次修正,其中,所述S次修正中的第1次修正为将所述S个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数之和,所述S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S次修正中的第S次修正包括将所述S-1次修正后的负数修正为零,将所述S个正数中离所述第一负数最远的正数修正为M1,M1为所述离所述第一负数最远的正数与所述S-1次修正后的负数之和。
15.根据权利要求13所述的网络设备,其特征在于,当所述第一数据窗中的所述第一负数之前不存在正数时,所述S个正数位于所述第一数据窗中的所述第一负数之后,所述修正单元具体用于:
进行S次修正,其中,所述S次修正中的第1次修正为将所述S个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数之和,所述S次修正中的第2次修正至第S-1次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S次修正中的第S次修正包括将所述S-1次修正后的负数修正为零,将所述S个正数中离所述第一负数最远的正数修正为M2,M2为所述离所述第一负数最远的正数与所述S-1次修正后的负数之和。
16.根据权利要求13所述的网络设备,其特征在于,所述S个正数中的N个位于所述第一数据窗中的所述第一负数之前,S-N个位于所述第一数据窗中的所述第一负数之后,N为小于S的正整数,所述修正单元具体用于:
对所述N个正数和所述第一负数进行N次修正,所述N次修正中的第1次修正为将所述N个正数中离所述第一负数最近的正数修正为0,将所述第一负数修正为所述第一负数与所述离所述第一负数最近的正数之和,所述N次修正中的第2次修正至第N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述N次修正后所述第一负数修正为第二负数;
对所述S个正数中除所述N个正数之外的S-N个正数进行S-N次修正,所述S-N次修正中的第1次修正为将所述S-N个正数中离所述第二负数最近的正数修正为0,将所述第二负数修正为所述第二负数与所述离所述第二负数最近的正数之和,所述S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括将离上一次修正后的负数最近的正数修正为零,将所述上一次修正后的负数修正为所述离上一次修正后的负数最近的正数与所述上一次修正后的负数之和,所述S-N次修正中的第S-N次修正包括将所述S-N-1次修正后的负数修正为零,将所述S-N个正数中离所述第二负数最远的正数修正为M3,M3为所述离所述第二负数最远的正数与所述S-N-1次修正后的负数之和。
17.根据权利要求13至16中任一项所述的网络设备,其特征在于,所述确定单元具体用于:
根据预设值确定所述第一数据窗。
18.根据权利要求13至16中任一项所述的网络设备,其特征在于,所述确定单元具体用于:
根据预设值确定第二数据窗,所述第二数据窗中包括所述第一负数和所述第一统计文件中的多个数据;
所述第二数据窗中不存在正数时,将所述第二数据窗扩大为所述第一数据窗。
19.根据权利要求18所述的网络设备,其特征在于,所述第一负数位于所述第二数据窗的中心。
20.根据权利要求13至16中任一项所述的网络设备,其特征在于,在所述获取单元获取所述第一统计文件中的第一负数之前,还包括:
所述获取单元获取原始统计文件中的第三负数;
所述确定单元根据预设值确定第三数据窗,所述第三数据窗中包括所述第三负数和所述原始统计文件中的多个数据,且所述第三数据窗中的所有正数与所述第三负数之和等于所述第一负数;
所述修正单元将所述第三负数修正为所述第一负数,并将所述第三数据窗中的每一个正数修正为零;
将所述修正后的原始统计文件作为所述第一统计文件;
所述确定单元确定第一数据窗具体为:
将所述第三数据窗扩大为所述第一数据窗。
21.根据权利要求20所述的网络设备,其特征在于,所述第三负数位于所述第三数据窗的中心。
22.根据权利要求13至16中任一项所述的网络设备,其特征在于,所述第一负数位于所述第一数据窗的中心。
23.根据权利要求13至16中任一项所述的网络设备,其特征在于,所述第一数据窗中还包括第二统计文件中的数据,所述第二统计文件为所述第一统计文件相邻的下一个统计文件。
24.根据权利要求13至16中任一项所述的网络设备,其特征在于,还包括:
替换单元,用于将所述第一统计文件替换为所述修正后的第一统计文件。
CN201510717993.9A 2015-10-28 2015-10-28 丢包统计的方法和网络设备 Active CN106656644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510717993.9A CN106656644B (zh) 2015-10-28 2015-10-28 丢包统计的方法和网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510717993.9A CN106656644B (zh) 2015-10-28 2015-10-28 丢包统计的方法和网络设备

Publications (2)

Publication Number Publication Date
CN106656644A CN106656644A (zh) 2017-05-10
CN106656644B true CN106656644B (zh) 2020-01-10

Family

ID=58830352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510717993.9A Active CN106656644B (zh) 2015-10-28 2015-10-28 丢包统计的方法和网络设备

Country Status (1)

Country Link
CN (1) CN106656644B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616037A (zh) * 2009-07-27 2009-12-30 华为技术有限公司 网络通信中丢包的检测方法、装置及系统
EP2521317A1 (en) * 2009-12-30 2012-11-07 Huawei Technologies Co., Ltd. Method, device and router for packet loss detection
CN103684923A (zh) * 2013-12-24 2014-03-26 华为技术有限公司 一种丢包测量的方法及网络设备
CN104090951A (zh) * 2014-07-04 2014-10-08 李阳 一种异常数据的处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616037A (zh) * 2009-07-27 2009-12-30 华为技术有限公司 网络通信中丢包的检测方法、装置及系统
EP2521317A1 (en) * 2009-12-30 2012-11-07 Huawei Technologies Co., Ltd. Method, device and router for packet loss detection
CN103684923A (zh) * 2013-12-24 2014-03-26 华为技术有限公司 一种丢包测量的方法及网络设备
CN104090951A (zh) * 2014-07-04 2014-10-08 李阳 一种异常数据的处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
UDP网络通信中丢包的分析定位及修正Karn算法的应用;申屠铠宇;《声学与电子工程》;20140315;第2014卷(第1期);全文 *
基于丢包事件统计的TCP-Veno改进算法;胡愚等;《计算机工程与设计》;20110916;第2011卷;全文 *

Also Published As

Publication number Publication date
CN106656644A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
US11533254B2 (en) Packet processing method, related device, and computer storage medium
US10523352B2 (en) Forward error correction for incomplete blocks
US7978682B2 (en) Methods, systems, and computer-readable media for optimizing the communication of data packets in a data network
US11677670B2 (en) Method for determining sending period in deterministic network and apparatus
US11677657B2 (en) Method and apparatus for obtaining information about forwarding path of data packet in segment routing
US9264333B1 (en) Checksum trailer in timing protocols
US10361937B2 (en) Method and apparatus for detecting operating status of node
US20210184781A1 (en) Period mapping method and network device
US20120250700A1 (en) Method, apparatus, and system for data transmission
WO2009032281A2 (en) Methods and apparatus for generating simulated network traffic
EP2728812A1 (en) Method and device for leaky bucket speed-limitation
WO2019157750A1 (zh) 无线链路监测rlm的方法和设备
US20200322251A1 (en) Packet Transmission Method and Apparatus
EP3068083B1 (en) Method and apparatus for remaining lifetime aging
CN106549866B (zh) 处理报文的方法、网络设备及系统
CN106656644B (zh) 丢包统计的方法和网络设备
CN111404840A (zh) 报文处理方法和装置
US10097672B2 (en) Method and apparatus for generating link state protocol data packet
KR101417459B1 (ko) 차량 게이트웨이의 실시간 데이터 처리성능 향상 방법 및 그 시스템
CN112383512A (zh) Rtp帧序纠错方法、装置、接收端及计算机可读存储介质
CN108696335A (zh) 传输方法、发送端和接收端
CN112187557A (zh) 一种测量上报的方法、网络节点
CN113810275B (zh) 发送报文的方法及设备
JP2014217063A (ja) 故障診断装置及び方法、並びにバックオフ時間の設定方法
US9491088B2 (en) Distributed system and method for sharing capacity in an ad-hoc network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant