CN106533847A - Udp通信质量的检测方法、装置和udp通信系统 - Google Patents
Udp通信质量的检测方法、装置和udp通信系统 Download PDFInfo
- Publication number
- CN106533847A CN106533847A CN201710059902.6A CN201710059902A CN106533847A CN 106533847 A CN106533847 A CN 106533847A CN 201710059902 A CN201710059902 A CN 201710059902A CN 106533847 A CN106533847 A CN 106533847A
- Authority
- CN
- China
- Prior art keywords
- packet
- time
- amendment
- receiving
- udp communication
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种UDP通信质量的检测方法、装置和UDP通信系统,方法包括:接收第二端发送的修正数据包;统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;计算作为样本的修正数据包中,最大发送序号减最小发送序号的差值,得到理论应收包数;将理论应收包数减实际收到包数的差值,除以理论应收包数,得到预设时间段内的丢包率;依据接收到的修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到第一端和第二端之间UDP通信链路的时延。本申请提供的技术方案能够提高检测UDP通信链路的通信质量的准确性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种UDP通信质量的检测方法、装置和UDP通信系统。
背景技术
UDP是基于IP(Internet Protocol,网络之间互连的协议)的、简单不可靠的数据包传输协议。客户端与服务器之间采用UDP的通信链路进行通信时,一般需要检测其通信质量,其中,丢包率和时延是主要的两项评价参数。丢包率是指一定时间范围内理论应该收到的数据包数与实际收到的数据包数之差,与理论应收包数的百分比。时延是指数据包从客户端到服务器之间来回所需要的时间。
请参阅图1,图1为目前技术中UDP的通信链路的通信质量检测方法的示意图。如图1所示,客户端发送测试请求包,服务器端收到测试请求包后,立即返回测试应答包,客户端记录发送的测试请求包的数量和接收的测试应答包的数量,以及收到测试应答包与发送测试请求包的时间差值,客户端根据收发包数量的差值除以发包数量来计算通信链路的丢包率,根据测试包来回的时间差来计算通信链路的时延。
但是,目前的技术中,由于测试包并不是实际业务数据包,二者会有偏差,从而导致测试结果并不准确。
发明内容
有鉴于此,本发明实施例提供一种UDP通信质量的检测方法、装置和UDP通信系统,能够避免现有技术中由于测试包与实际业务数据包存在偏差,导致的对UDP通信链路的通信质量的检测结果不准确的问题,从而提高检测结果的准确性。
为实现上述目的,本发明实施例提供如下技术方案:
一种UDP通信质量的检测方法,应用于UDP通信系统的第一端,所述UDP通信系统还包括与所述第一端基于UDP进行通信的第二端,所述第一端和所述第二端分别为客户端和服务器中的任意一种,所述方法包括:
接收所述第二端发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;
统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
优选的,所述统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,包括:
统计当前时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
或者统计目标时刻之前预设时间段内接收到的作为样本的修正数据包的数目,以及所述目标时刻与当前时刻的时间区间内接收到的,视为目标时刻之前预设时间段内接收的作为样本的修正数据包的数目,求和得到实际收到包数;所述目标时刻为当前时刻之前、距离当前时刻预设时间间隔的时刻。
优选的,所述预设时间段包括至少两个子时间段,所述统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,包括:
统计每个所述子时间段内接收到的作为样本的修正数据包的数量;
计算所有所述子时间段内接收到的作为样本的修正数据包的数量之和,得到视为在设定时刻之前预设时间段内接收到的实际收到包数。
优选的,所述依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延,包括:
选取接收到的任一所述修正数据包;
对于选取的修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
优选的,所述依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延,包括:
选取预设数目个接收到的所述修正数据包;
对于选取的每一个修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延;
确定所述计算得到的各个所述时延的平均值,为所述第一端和所述第二端之间UDP通信链路的时延。
一种UDP通信质量的检测装置,应用于UDP通信系统的第一端,所述UDP通信系统还包括与所述第一端基于UDP进行通信的第二端,所述第一端和所述第二端分别为客户端和服务器中的任意一种,所述装置包括:
接收模块,用于接收所述第二端发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;
统计模块,用于统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
第一计算模块,用于计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
第二计算模块,用于将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
第三计算模块,用于依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
优选的,所述统计模块包括:
第一统计单元,用于统计当前时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
或者第二统计单元,用于统计目标时刻之前预设时间段内接收到的作为样本的修正数据包的数目,以及所述目标时刻与当前时刻的时间区间内接收到的,视为目标时刻之前预设时间段内接收的作为样本的修正数据包的数目,求和得到实际收到包数;所述目标时刻为当前时刻之前、距离当前时刻预设时间间隔的时刻。
优选的,所述预设时间段包括至少两个子时间段,所述统计模块包括:
第三统计单元,用于统计每个所述子时间段内接收到的作为样本的修正数据包的数量;
第一计算单元,用于计算所有所述子时间段内接收到的作为样本的修正数据包的数量之和,得到视为在设定时刻之前预设时间段内接收到的实际收到包数。
优选的,所述第三计算模块包括:
第一选取单元,用于选取接收到的任一所述修正数据包;
第二计算单元,用于对于选取的修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
优选的,所述第三计算模块包括:
第二选取单元,用于选取预设数目个接收到的所述修正数据包;
第三计算单元,用于对于选取的每一个修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延;
确定单元,用于确定所述计算得到的各个所述时延的平均值,为所述第一端和所述第二端之间UDP通信链路的时延。
一种UDP通信系统,包括:
第一端,与所述第一端基于UDP进行通信的第二端;所述第一端和所述第二端分别为客户端和服务器中的任意一种;
所述第一端用于:接收所述第二端发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
优选的,还包括:
设置在所述第一端和所述第二端之间的网络加速系统,所述网络加速系统包括加速服务器节点。
优选的,还包括:
设置在所述第一端和所述第二端之间的数据中转系统,所述数据中转系统包括数据中转服务器节点。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种UDP通信质量的检测方法、装置和UDP通信系统。本发明提供的技术方案,利用实际业务包来确定所述第一端和所述第二端之间UDP通信链路的通信质量,不再额外使用专门的测试包。具体的,本发明提供的技术方案,第一端接收所述第二端发送的修正数据包,其中,所述修正数据包包括代理包头和业务数据包(即实际业务包),所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差,然后统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数,将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率,依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。通过计算得到的丢包率和时延,便能够确定第一端和第二端之间UDP通信链路的通信质量。也就是说,本发明提供的技术方案,通过对实际业务包预先设置代理包头,代理包头携带有用于计算丢包率和时延的相关参数,从而不再额外使用测试包便能够实现对第一端和第二端之间UDP通信链路的通信质量的检测。由于本发明提供的技术方案,并非使用测试包而是使用实际业务包来对第一端和第二端之间UDP通信链路的通信质量进行检测,因此,能够避免现有技术中由于测试包与实际业务数据包存在偏差,导致的检测结果不准确的问题,从而提高检测结果的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为目前技术中UDP的通信链路的通信质量检测方法的示意图;
图2为本发明实施例提供的一种UDP通信系统的结构图;
图3为本发明实施例提供的一种修正数据包的数据结构图;
图4为本发明实施例提供的另外一种修正数据包的数据结构图;
图5为本发明实施例提供的另外一种UDP通信系统的结构图;
图6为本发明实施例提供的另外一种UDP通信系统的结构图;
图7示出了本发明实施例提供的一种UDP通信质量的检测方法的信令流程图;
图8为本发明实施例提供的一种修正数据包的发送序号的分配示意图;
图9为本发明实施例提供的UDP的通信链路的通信质量检测方法的示意图;
图10为本发明实施例提供的UDP通信质量的检测方法的流程图;
图11为本发明实施例提供的UDP通信质量的检测装置的结构框图;
图12为本发明实施例提供的第一端的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的一种UDP通信系统的结构图,本发明实施例提供的UDP通信质量的检测方法可基于图2所示的UDP通信系统进行,如图2所示,该UDP通信系统可以包括:第一端21,与所述第一端21基于UDP进行通信的第二端22;
所述第一端21为客户端或者服务器,所述第二端22为客户端或者服务器。也就是说,所述第一端21和所述第二端22分别为客户端和服务器中的任意一种,其中,服务器可以是游戏服务器等。
本发明实施例中,所述第一端21用于:
接收所述第二端22发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端21发送上一修正数据包的时间以及所述第二端22最近一次发送修正数据包与上一次接收到修正数据包的时间差;统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端21和所述第二端22之间UDP通信链路的时延。
具体的,所述修正数据包为预先由实际业务包添加代理包头所形成。可以理解的是,由于所述修正数据包内包含实际业务包的全部内容,因此,所述修正数据包也是实际业务包,这与现有技术中额外使用测试包完全不同。
请参阅图3,图3为本发明实施例提供的一种修正数据包的数据结构图。如图3所示,所述修正数据包包括:
代理包头31,和业务数据包32,其中,业务数据包为实际业务数据包。
具体的,图3中示出的代理包头31为前置代理包头,即所述代理包头31位于所述业务数据包32之前,需要说明的是,代理包头也可以是后置代理包头,即所述代理包头可以位于所述业务数据包之后。
请参阅图4,图4为本发明实施例提供的另外一种修正数据包的数据结构图,如图4所示,所述修正数据包包括:
代理包头41,和业务数据包42,其中,业务数据包为实际业务数据包。
具体的,图4中示出的代理包头41为后置代理包头,即所述代理包头41位于所述业务数据包42之后。
本发明实施例提供的UDP通信系统,利用实际业务包来确定所述第一端和所述第二端之间UDP通信链路的通信质量,不再额外使用专门的测试包。具体的,本发明实施例提供的UDP通信系统,第一端接收所述第二端发送的修正数据包,其中,所述修正数据包包括代理包头和业务数据包(即实际业务包),所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差,然后统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数,将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率,依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。通过计算得到的丢包率和时延,便能够确定第一端和第二端之间UDP通信链路的通信质量。也就是说,本发明实施例提供的UDP通信系统,通过对实际业务包预先设置代理包头,代理包头携带有用于计算丢包率和时延的相关参数,从而不再额外使用测试包便能够实现对第一端和第二端之间UDP通信链路的通信质量的检测。由于本发明实施例提供的UDP通信系统,并非使用测试包而是使用实际业务包来对第一端和第二端之间UDP通信链路的通信质量进行检测,因此,能够避免现有技术中由于测试包与实际业务数据包存在偏差,导致的检测结果不准确的问题,从而提高检测结果的准确性。
另外,现有技术中额外使用测试包进行UDP通信链路的通信质量进行检测的方式,一般需要额外使用很多测试包,否则会使丢包率计算严重失真,这就不可避免的增加网络流量和带宽成本,而本发明实施例提供的UDP通信系统,预先为实际业务包添加代理包头,直接使用携带有代理包头的实际业务包来进行UDP通信链路的通信质量的检测,不需要额外使用测试包,因此,相对于现有技术,能够节省网络流量,降低带宽成本。
可选的,本发明实施例提供的UDP通信系统,第一端和第二端之间还可以设置网络加速系统或者数据中转系统,应用范围较广。
请参阅图5,图5为本发明实施例提供的另外一种UDP通信系统的结构图。如图5所示,该系统包括:
第一端51,与所述第一端51基于UDP进行通信的第二端52,以及设置在所述第一端51和所述第二端52之间的网络加速系统53,所述网络加速系统53包括加速服务器节点531;
具体的,所述第一端51和所述第二端52分别为客户端和服务器中的任意一种;
具体的,所述第一端51用于:接收所述第二端52发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端51发送上一修正数据包的时间以及所述第二端52最近一次发送修正数据包与上一次接收到修正数据包的时间差;统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端51和所述第二端52之间UDP通信链路的时延。
具体的,在所述第一端51和所述第二端52之间设置网络加速系统53,能够增加业务数据的网络通信的可靠性和稳定性,从而有效提高业务数据的通信质量,提升用户体验。比如,所述第一端51为客户端,所述第二端52为游戏服务器,在客户端和游戏服务器之间设置网络加速系统,能够有效提高业务数据的通信质量,使用户在客户端玩在线(联网的)游戏时游戏运行流畅,从而能够提升用户体验。
请参阅图6,图6为本发明实施例提供的另外一种UDP通信系统的结构图。如图6所示,该系统包括:
第一端61,与所述第一端61基于UDP进行通信的第二端62,以及设置在所述第一端61和所述第二端62之间的数据中转系统63,所述数据中转系统63包括数据中转服务器节点631;
具体的,所述第一端61和所述第二端62分别为客户端和服务器中的任意一种;
具体的,所述第一端61用于:接收所述第二端62发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端61发送上一修正数据包的时间以及所述第二端62最近一次发送修正数据包与上一次接收到修正数据包的时间差;统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端61和所述第二端62之间UDP通信链路的时延。
具体的,在所述第一端61和所述第二端62之间设置数据中转系统63,一般应用于客户端与客户端之间进行通信的场景,即客户端与客户端之间组建局域网的场景。由于局域网内的客户端与另一客户端之间的数据通信可能并不稳定和可靠,因此,通过在局域网内的客户端与客户端之间设置数据中转系统63,能够增加局域网内客户端与客户端之间数据通信的稳定性和可靠性,从而提升用户体验。比如,所述第一端61为客户端,所述第二端62也为客户端,在客户端和客户端之间设置数据中转系统,能够有效提高数据通信的稳定性和可靠性,使用户在客户端组网(局域网)玩单机游戏时游戏运行流畅,从而能够提升用户体验。
基于图2所示UDP通信系统,图7示出了本发明实施例提供的一种UDP通信质量的检测方法的信令流程,参照图7,该流程可以包括:
步骤S71、第一端向第二端发送改良数据包;
具体的,所述改良数据包包括改良包头和业务数据包,所述改良包头包括第一端发送上一修正数据包的时间。也就是说,所述改良数据包由第一端生成并发送至第二端。
可选的,所述第一端和所述第二端分别为客户端和服务器中的任意一种。
步骤S72、第二端向第一端发送修正数据包;
具体的,所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述端最近一次发送修正数据包与上一次接收到修正数据包的时间差。也就是说,所述修正数据包由第二端生成并发送至第一端。
具体的,第二端向第一端发送的多个修正数据包,其发送序号严格按照大小顺序设置。可选的,请参阅图8,图8为本发明实施例提供的一种修正数据包的发送序号的分配示意图。如图8所示,发送序号(如图8中SeqX、SeqK、SeqK+1、SeqN等)依照时间的推移(如图8中时间轴的后移)呈从小到大的顺序,如若同一时刻发送多个修正数据包,那么发送序号也应当具有大小顺序。当然,可以理解的是,发送序号也可呈从大到小的顺序。进一步的,为适应后续丢包率的计算,发送序号转换为阿拉伯数字后,任意两个相邻序号的差值应当为1。
步骤S73、第一端统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
具体的,所述预设时间段的长度为预先设定的固定数值,本发明不做限定,可选的,其计量单位为秒,可选的,所述预设时间段的长度可以为5秒。
可选的,所述设定时刻为当前时刻,则所述步骤S73可以包括:
第一端统计当前时刻之前属于预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数。
或者,可选的,所述设定时刻为目标时刻,所述目标时刻为当前时刻之前、距离当前时刻预设时间间隔的时刻。则所述步骤S73可以包括:
统计目标时刻之前预设时间段内接收到的作为样本的修正数据包的数目,以及所述目标时刻与当前时刻的时间区间内接收到的,视为目标时刻之前预设时间段内接收的作为样本的修正数据包的数目,求和得到实际收到包数;所述目标时刻为当前时刻之前、距离当前时刻预设时间间隔的时刻。
可选的,所述预设时间间隔为200毫秒。
具体的,由于通信延迟等原因,第一端接收修正数据包时,可能并不一定能够严格按照发送序号的顺序接收到修正数据包,比如,可能先收到发送序号为8、10的修正数据包,后收到发送序号为9的修正数据包。因此,以当前时刻之前、距离当前时刻预设时间间隔的目标时刻作为统计节点,统计目标时刻之前预设时间段内接收到的作为样本的修正数据包的第一数目;并统计所述目标时刻与当前时刻的时间区间内接收到的,但视为目标时刻之前预设时间段内接收的作为样本的修正数据包的第二数目;再将第一数目和第二数目求和,便可得到视为目标时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,即实际收到包数。其中,预设时间间隔可以预先设置,则在这个预设时间间隔(目标时刻到当前时刻)的时间区间内,可以接收到目标时刻之前预设时间段内未接收到的,却应当视为目标时刻之前预设时间段内接收到的作为样本的修正数据包,使统计得到的实际收到包数更加准确,从而进一步提高计算丢包率的准确性。可以理解的是,判断是否应当视为目标时刻之前预设时间段内接收到的作为样本的修正数据包,可以通过发送序号来判断,如若目标时刻到当前时刻的时间间隔内接收到的任一修正数据包(记为A包)的发送序号,小于目标时刻之前预设时间段内接收到的各修正数据包中发送序号最大的修正数据包的发送序号,则A包便是目标时刻之前预设时间段内未接收到的,却应当视为目标时刻之前预设时间段内接收到的作为样本的修正数据包。
进一步的,可选的,所述预设时间段包括至少两个子时间段,所述统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,包括:
统计每个所述子时间段内接收到的作为样本的修正数据包的数量;
可选的,所述子时间段的长度为1秒。
计算所有所述子时间段内接收到的作为样本的修正数据包的数量之和,得到视为在设定时刻之前预设时间段内接收到的实际收到包数。
具体的,计算所述预设时间段内每个子时间段内接收到的作为样本的修正数据包的数量之和,得到视为在设定时刻之前预设时间段内接收到的实际收到包数。
步骤S74、第一端计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
步骤S75、第一端将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
步骤S76、第一端依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延;
可选的,所述步骤S76具体包括:
选取接收到的任一所述修正数据包;
对于选取的修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
具体的,请参阅图9,图9为本发明实施例提供的UDP的通信链路的通信质量检测方法的示意图。如图9所示,所述第一端和所述第二端之间UDP通信链路的时延为:第一端发送修正数据包至第二端的网络上行时延,与第二端发送修正数据包至第一端的网络下行时延之和。可以理解的是,第一端计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,便可得到所述网络上行时延和所述网络下行时延之和,即得到所述第一端和所述第二端之间UDP通信链路的时延。
可以理解的是,虽然通过单个修正数据包便可得到所述第一端和所述第二端之间UDP通信链路的时延,但是,由于选取的单个修正数据包具有随机性,参考价值并不是很高,因此,本发明实施例还提出另外一种计算所述第一端和所述第二端之间UDP通信链路的时延的方式。
可选的,所述步骤S76具体包括:
选取预设数目个接收到的所述修正数据包;
对于选取的每一个修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延;
确定所述计算得到的各个所述时延的平均值,为所述第一端和所述第二端之间UDP通信链路的时延。
具体的,通过选取接收到的多个修正数据包,计算对应于各个修正数据包的时延的平均值,更具有参考价值。
可以理解的是,通过计算得到的所述第一端和所述第二端之间UDP通信链路的丢包率和时延,便可以分析和评价第一端和所述第二端之间UDP通信链路的通信质量。
本发明实施例提供的技术方案,利用实际业务包来确定所述第一端和所述第二端之间UDP通信链路的通信质量,不再额外使用专门的测试包。具体的,本发明实施例提供的技术方案,第一端接收所述第二端发送的修正数据包,其中,所述修正数据包包括代理包头和业务数据包(即实际业务包),所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差,然后统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数,将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率,依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。通过计算得到的丢包率和时延,便能够确定第一端和第二端之间UDP通信链路的通信质量。也就是说,本发明实施例提供的技术方案,通过对实际业务包预先设置代理包头,代理包头携带有用于计算丢包率和时延的相关参数,从而不再额外使用测试包便能够实现对第一端和第二端之间UDP通信链路的通信质量的检测。由于本发明实施例提供的技术方案,并非使用测试包而是使用实际业务包来对第一端和第二端之间UDP通信链路的通信质量进行检测,因此,能够避免现有技术中由于测试包与实际业务数据包存在偏差,导致的检测结果不准确的问题,从而提高检测结果的准确性。
另外,现有技术中额外使用测试包进行UDP通信链路的通信质量进行检测的方式,一般需要额外使用很多测试包,否则会使丢包率计算严重失真,这就不可避免的增加网络流量和带宽成本,而本发明实施例提供的技术方案,预先为实际业务包添加代理包头,直接使用携带有代理包头的实际业务包来进行UDP通信链路的通信质量的检测,不需要额外使用测试包,因此,相对于现有技术,能够节省网络流量,降低带宽成本。
由本发明上述实施例可知,UDP通信系统包括第一端,与所述第一端基于UDP进行通信的第二端;所述第一端和所述第二端分别为客户端和服务器中的任意一种。下面,站在第一端的角度,对本发明实施例提供的技术方案进行阐述。
请参阅图10,图10为本发明实施例提供的UDP通信质量的检测方法的流程图。如图10所示,该方法包括:
步骤S101,接收所述第二端发送的修正数据包;
具体的,所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;
步骤S102,统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
步骤S103,计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
步骤S104,将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
步骤S105,依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
本发明实施例提供的技术方案,通过对实际业务包预先设置代理包头,代理包头携带有用于计算丢包率和时延的相关参数,从而不再额外使用测试包便能够实现对第一端和第二端之间UDP通信链路的通信质量的检测。由于本发明实施例提供的技术方案,并非使用测试包而是使用实际业务包来对第一端和第二端之间UDP通信链路的通信质量进行检测,因此,能够避免现有技术中由于测试包与实际业务数据包存在偏差,导致的检测结果不准确的问题,从而提高检测结果的准确性。
另外,现有技术中额外使用测试包进行UDP通信链路的通信质量进行检测的方式,一般需要额外使用很多测试包,否则会使丢包率计算严重失真,这就不可避免的增加网络流量和带宽成本,而本发明实施例提供的技术方案,预先为实际业务包添加代理包头,直接使用携带有代理包头的实际业务包来进行UDP通信链路的通信质量的检测,不需要额外使用测试包,因此,相对于现有技术,能够节省网络流量,降低带宽成本。
本发明实施例可以应用到客户端与游戏服务器之间UDP通信链路的通信质量的检测,其中,第一端可以为客户端,第二端可以为游戏服务器。下面以第一端可以为客户端,第二端可以为游戏服务器为例,对本发明实施例提供的UDP通信质量的检测方法的应用过程进行介绍。
客户端接收所述游戏服务器发送的修正数据包;
所述修正数据包包括代理包头和游戏业务数据包,所述代理包头包括发送序号、客户端发送上一修正数据包的时间以及所述游戏服务器最近一次发送修正数据包与上一次接收到修正数据包的时间差;
客户端统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
客户端计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
客户端将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
客户端依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述客户端和所述游戏服务器之间UDP通信链路的时延。
也就是说,本发明实施例提供的技术方案,利用实际游戏业务包来确定所述客户端和游戏服务器之间UDP通信链路的通信质量,不再额外使用专门的测试包。通过对实际游戏业务包预先设置代理包头,代理包头携带有用于计算丢包率和时延的相关参数,从而不再额外使用测试包便能够实现对客户端和游戏服务器之间UDP通信链路的通信质量的检测。由于本发明提供的技术方案,并非使用测试包而是使用实际游戏业务包来对客户端和游戏服务器之间UDP通信链路的通信质量进行检测,因此,能够避免现有技术中由于测试包与实际游戏业务数据包存在偏差,导致的检测结果不准确的问题,从而提高检测结果的准确性。
本发明实施例还可以应用到客户端与客户端之间UDP通信链路的通信质量的检测,其中,第一端可以为预先组建的局域网内的第一客户端,第二端可以为预先组建的局域网内的第二客户端,各用户基于组建的局域网,各自在自己客户端上运行单机游戏,实现用户自己的客户端与局域网内其他用户的客户端进行通信。下面以第一端可以为预先组建的局域网内的第一客户端,第二端可以为预先组建的局域网内的第二客户端为例,对本发明实施例提供的UDP通信质量的检测方法的应用过程进行介绍。
第一客户端接收所述第二客户端发送的修正数据包;
所述修正数据包包括代理包头和游戏业务数据包,所述代理包头包括发送序号、第一客户端发送上一修正数据包的时间以及所述第二客户端最近一次发送修正数据包与上一次接收到修正数据包的时间差;
第一客户端统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
第一客户端计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
第一客户端将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
第一客户端依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一客户端和所述第二客户端之间UDP通信链路的时延。
也就是说,本发明实施例提供的技术方案,利用实际游戏业务包来确定预先组建的局域网内所述第一客户端和第二客户端之间UDP通信链路的通信质量,不再额外使用专门的测试包。通过对实际游戏业务包预先设置代理包头,代理包头携带有用于计算丢包率和时延的相关参数,从而不再额外使用测试包便能够实现对第一客户端和第二客户端之间UDP通信链路的通信质量的检测。由于本发明提供的技术方案,并非使用测试包而是使用实际游戏业务包来对第一客户端和第二客户端之间UDP通信链路的通信质量进行检测,因此,能够避免现有技术中由于测试包与实际游戏业务数据包存在偏差,导致的检测结果不准确的问题,从而提高检测结果的准确性。
下面对本发明实施例提供的UDP通信质量的检测装置进行介绍,下文描述的UDP通信质量的检测装置可与上文流程内容相互对应参照。下文描述的UDP通信质量的检测装置的模块可以认为是UDP通信质量的检测装置为实现UDP通信质量的检测,所需设置的功能模块架构。
图11为本发明实施例提供的UDP通信质量的检测装置的结构框图。本发明实施例提供的UDP通信质量的检测装置应用于UDP通信系统的第一端,所述UDP通信系统还包括与所述第一端基于UDP进行通信的第二端,所述第一端和所述第二端分别为客户端和服务器中的任意一种。参照图4,该UDP通信质量的检测装置可以包括:
接收模块111,用于接收所述第二端发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;
统计模块112,用于统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
可选的,所述统计模块112包括:
第一统计单元,用于统计当前时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
或者第二统计单元,用于统计目标时刻之前预设时间段内接收到的作为样本的修正数据包的数目,以及所述目标时刻与当前时刻的时间区间内接收到的,视为目标时刻之前预设时间段内接收的作为样本的修正数据包的数目,求和得到实际收到包数;所述目标时刻为当前时刻之前、距离当前时刻预设时间间隔的时刻。
可选的,所述预设时间段包括至少两个子时间段,则所述统计模块112包括:
第三统计单元,用于统计每个所述子时间段内接收到的作为样本的修正数据包的数量;
第一计算单元,用于计算所有所述子时间段内接收到的作为样本的修正数据包的数量之和,得到视为在设定时刻之前预设时间段内接收到的实际收到包数。
第一计算模块113,用于计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
第二计算模块114,用于将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
第三计算模块115,用于依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延;
可选的,所述第三计算模块115包括:
第一选取单元,用于选取接收到的任一所述修正数据包;
第二计算单元,用于对于选取的修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
或者,所述第三计算模块115包括:
第二选取单元,用于选取预设数目个接收到的所述修正数据包;
第三计算单元,用于对于选取的每一个修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延;
确定单元,用于确定所述计算得到的各个所述时延的平均值,为所述第一端和所述第二端之间UDP通信链路的时延。
本发明实施例提供的UDP通信质量的检测装置,通过对实际业务包预先设置代理包头,代理包头携带有用于计算丢包率和时延的相关参数,从而不再额外使用测试包便能够实现对第一端和第二端之间UDP通信链路的通信质量的检测。由于本发明实施例提供的UDP通信质量的检测装置,并非使用测试包而是使用实际业务包来对第一端和第二端之间UDP通信链路的通信质量进行检测,因此,能够避免现有技术中由于测试包与实际业务数据包存在偏差,导致的检测结果不准确的问题,从而提高检测结果的准确性。
另外,现有技术中额外使用测试包进行UDP通信链路的通信质量进行检测的方式,一般需要额外使用很多测试包,否则会使丢包率计算严重失真,这就不可避免的增加网络流量和带宽成本,而本发明实施例提供的UDP通信质量的检测装置,预先为实际业务包添加代理包头,直接使用携带有代理包头的实际业务包来进行UDP通信链路的通信质量的检测,不需要额外使用测试包,因此,相对于现有技术,能够节省网络流量,降低带宽成本。
图12示出了第一端的硬件结构框图,参照图12,第一端可以包括:CPU1,通信接口2,存储器3和通信总线4;
其中CPU1、通信接口2、存储器3通过通信总线4完成相互间的通信;
CPU1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,所述程序可具体用于:
接收所述第二端发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;
统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种UDP通信质量的检测方法、装置和UDP通信系统。本发明提供的技术方案,利用实际业务包来确定所述第一端和所述第二端之间UDP通信链路的通信质量,不再额外使用专门的测试包。具体的,本发明提供的技术方案,第一端接收所述第二端发送的修正数据包,其中,所述修正数据包包括代理包头和业务数据包(即实际业务包),所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差,然后统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数,将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率,依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。通过计算得到的丢包率和时延,便能够确定第一端和第二端之间UDP通信链路的通信质量。也就是说,本发明提供的技术方案,通过对实际业务包预先设置代理包头,代理包头携带有用于计算丢包率和时延的相关参数,从而不再额外使用测试包便能够实现对第一端和第二端之间UDP通信链路的通信质量的检测。由于本发明提供的技术方案,并非使用测试包而是使用实际业务包来对第一端和第二端之间UDP通信链路的通信质量进行检测,因此,能够避免现有技术中由于测试包与实际业务数据包存在偏差,导致的检测结果不准确的问题,从而提高检测结果的准确性。
另外,现有技术中额外使用测试包进行UDP通信链路的通信质量进行检测的方式,一般需要额外使用很多测试包,否则会使丢包率计算严重失真,这就不可避免的增加网络流量和带宽成本,而本发明提供的技术方案,预先为实际业务包添加代理包头,直接使用携带有代理包头的实际业务包来进行UDP通信链路的通信质量的检测,不需要额外使用测试包,因此,相对于现有技术,能够节省网络流量,降低带宽成本。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种UDP通信质量的检测方法,其特征在于,应用于UDP通信系统的第一端,所述UDP通信系统还包括与所述第一端基于UDP进行通信的第二端,所述第一端和所述第二端分别为客户端和服务器中的任意一种,所述方法包括:
接收所述第二端发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;
统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
2.根据权利要求1所述的方法,其特征在于,所述统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,包括:
统计当前时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
或者统计目标时刻之前预设时间段内接收到的作为样本的修正数据包的数目,以及所述目标时刻与当前时刻的时间区间内接收到的,视为目标时刻之前预设时间段内接收的作为样本的修正数据包的数目,求和得到实际收到包数;所述目标时刻为当前时刻之前、距离当前时刻预设时间间隔的时刻。
3.根据权利要求1或2所述的方法,其特征在于,所述预设时间段包括至少两个子时间段,所述统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数,包括:
统计每个所述子时间段内接收到的作为样本的修正数据包的数量;
计算所有所述子时间段内接收到的作为样本的修正数据包的数量之和,得到视为在设定时刻之前预设时间段内接收到的实际收到包数。
4.根据权利要求1所述的方法,其特征在于,所述依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延,包括:
选取接收到的任一所述修正数据包;
对于选取的修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
5.根据权利要求1所述的方法,其特征在于,所述依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延,包括:
选取预设数目个接收到的所述修正数据包;
对于选取的每一个修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延;
确定所述计算得到的各个所述时延的平均值,为所述第一端和所述第二端之间UDP通信链路的时延。
6.一种UDP通信质量的检测装置,其特征在于,应用于UDP通信系统的第一端,所述UDP通信系统还包括与所述第一端基于UDP进行通信的第二端,所述第一端和所述第二端分别为客户端和服务器中的任意一种,所述装置包括:
接收模块,用于接收所述第二端发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;
统计模块,用于统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
第一计算模块,用于计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;
第二计算模块,用于将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;
第三计算模块,用于依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
7.根据权利要求6所述的装置,其特征在于,所述统计模块包括:
第一统计单元,用于统计当前时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;
或者第二统计单元,用于统计目标时刻之前预设时间段内接收到的作为样本的修正数据包的数目,以及所述目标时刻与当前时刻的时间区间内接收到的,视为目标时刻之前预设时间段内接收的作为样本的修正数据包的数目,求和得到实际收到包数;所述目标时刻为当前时刻之前、距离当前时刻预设时间间隔的时刻。
8.根据权利要求6或7所述的装置,其特征在于,所述预设时间段包括至少两个子时间段,所述统计模块包括:
第三统计单元,用于统计每个所述子时间段内接收到的作为样本的修正数据包的数量;
第一计算单元,用于计算所有所述子时间段内接收到的作为样本的修正数据包的数量之和,得到视为在设定时刻之前预设时间段内接收到的实际收到包数。
9.根据权利要求6所述的装置,其特征在于,所述第三计算模块包括:
第一选取单元,用于选取接收到的任一所述修正数据包;
第二计算单元,用于对于选取的修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
10.根据权利要求6所述的装置,其特征在于,所述第三计算模块包括:
第二选取单元,用于选取预设数目个接收到的所述修正数据包;
第三计算单元,用于对于选取的每一个修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延;
确定单元,用于确定所述计算得到的各个所述时延的平均值,为所述第一端和所述第二端之间UDP通信链路的时延。
11.一种UDP通信系统,其特征在于,包括:
第一端,与所述第一端基于UDP进行通信的第二端;所述第一端和所述第二端分别为客户端和服务器中的任意一种;
所述第一端用于:接收所述第二端发送的修正数据包;所述修正数据包包括代理包头和业务数据包,所述代理包头包括发送序号、第一端发送上一修正数据包的时间以及所述第二端最近一次发送修正数据包与上一次接收到修正数据包的时间差;统计视为在设定时刻之前预设时间段内接收到的作为样本的修正数据包的总数目,得到实际收到包数;计算所述作为样本的修正数据包中,最大所述发送序号减最小所述发送序号的差值,得到理论应收包数;将所述理论应收包数减所述实际收到包数的差值,除以所述理论应收包数,得到所述预设时间段内的丢包率;依据接收到的所述修正数据包,计算收包时间分别减本端发送上一修正数据包的时间和所述时间差,得到所述第一端和所述第二端之间UDP通信链路的时延。
12.根据权利要求11所述的系统,其特征在于,还包括:
设置在所述第一端和所述第二端之间的网络加速系统,所述网络加速系统包括加速服务器节点。
13.根据权利要求11所述的系统,其特征在于,还包括:
设置在所述第一端和所述第二端之间的数据中转系统,所述数据中转系统包括数据中转服务器节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710059902.6A CN106533847B (zh) | 2017-01-24 | 2017-01-24 | Udp通信质量的检测方法、装置和udp通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710059902.6A CN106533847B (zh) | 2017-01-24 | 2017-01-24 | Udp通信质量的检测方法、装置和udp通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106533847A true CN106533847A (zh) | 2017-03-22 |
CN106533847B CN106533847B (zh) | 2020-02-07 |
Family
ID=58335894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710059902.6A Active CN106533847B (zh) | 2017-01-24 | 2017-01-24 | Udp通信质量的检测方法、装置和udp通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106533847B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351198A (zh) * | 2019-07-05 | 2019-10-18 | 视联动力信息技术股份有限公司 | 一种流量调节方法、数据传输系统、存储介质及设备 |
CN111614509A (zh) * | 2020-04-01 | 2020-09-01 | 视联动力信息技术股份有限公司 | 丢包统计方法、装置及可读存储介质 |
CN112383937A (zh) * | 2020-08-20 | 2021-02-19 | 佳格科技(浙江)股份有限公司 | 无线通信质量检测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488835A (zh) * | 2009-02-13 | 2009-07-22 | 华为技术有限公司 | 一种链路检测方法、装置和通信系统 |
US20100008250A1 (en) * | 2007-03-23 | 2010-01-14 | Fujitsu Limited | Method and apparatus for measuring packet transmission quality |
CN102026221A (zh) * | 2009-09-17 | 2011-04-20 | 华为技术有限公司 | 一种测量方法、装置和系统 |
CN102571479A (zh) * | 2010-12-31 | 2012-07-11 | 中国移动通信集团河北有限公司 | 延时的测量方法、装置及系统 |
-
2017
- 2017-01-24 CN CN201710059902.6A patent/CN106533847B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100008250A1 (en) * | 2007-03-23 | 2010-01-14 | Fujitsu Limited | Method and apparatus for measuring packet transmission quality |
CN101488835A (zh) * | 2009-02-13 | 2009-07-22 | 华为技术有限公司 | 一种链路检测方法、装置和通信系统 |
CN102026221A (zh) * | 2009-09-17 | 2011-04-20 | 华为技术有限公司 | 一种测量方法、装置和系统 |
CN102571479A (zh) * | 2010-12-31 | 2012-07-11 | 中国移动通信集团河北有限公司 | 延时的测量方法、装置及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351198A (zh) * | 2019-07-05 | 2019-10-18 | 视联动力信息技术股份有限公司 | 一种流量调节方法、数据传输系统、存储介质及设备 |
CN110351198B (zh) * | 2019-07-05 | 2022-05-17 | 视联动力信息技术股份有限公司 | 一种流量调节方法、数据传输系统、存储介质及设备 |
CN111614509A (zh) * | 2020-04-01 | 2020-09-01 | 视联动力信息技术股份有限公司 | 丢包统计方法、装置及可读存储介质 |
CN111614509B (zh) * | 2020-04-01 | 2022-12-13 | 视联动力信息技术股份有限公司 | 丢包统计方法、装置及可读存储介质 |
CN112383937A (zh) * | 2020-08-20 | 2021-02-19 | 佳格科技(浙江)股份有限公司 | 无线通信质量检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106533847B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6868094B1 (en) | Method and apparatus for measuring network data packet delay, jitter and loss | |
CN100442730C (zh) | 基于逐跳时间戳标签的网络链路带宽的测量方法 | |
EP3022874B1 (en) | Triangle loopback | |
CN102045222B (zh) | 网络系统实时整体测试的方法 | |
CN110677319B (zh) | 端到端时延测量方法和装置 | |
CN110138617B (zh) | 数据传输质量测试方法、系统、电子设备及存储介质 | |
US8345570B2 (en) | Network impairment metrics for timing over packet | |
CN107579869B (zh) | 网络性能检测方法和网络设备 | |
CN106533847A (zh) | Udp通信质量的检测方法、装置和udp通信系统 | |
EP3398296B1 (en) | Performance measurement in a packet-switched communication network | |
US11121938B2 (en) | Performance measurement in a packet-switched communication network | |
CN107534587A (zh) | 时延测量器 | |
Vakili et al. | Accurate one-way delay estimation: Limitations and improvements | |
Pásztor | Accurate active measurement in the Internet and its applications | |
CN112134750B (zh) | 网络时间协议压力测试方法和装置 | |
Happenhofer et al. | Quality of signalling: A new concept for evaluating the performance of non-INVITE SIP transactions | |
Dinh-Xuan et al. | Study on the accuracy of QoE monitoring for HTTP adaptive video streaming using VNF | |
KR20040082032A (ko) | 초고속 인터넷 서비스에서의 웹기반 단대단모의VoIP품질측정방법 | |
CN110300034B (zh) | 基于Web的网速测量方法及装置 | |
CN104703198B (zh) | 一种端到端网络服务时延的确定方法及装置 | |
CN106571970B (zh) | 承载网的监测方法及装置 | |
Salehin et al. | Scheme for Measuring Queueing Delay of a Router Using Probe-Gap Model: The Single-Hop Case | |
Choi et al. | Analytic end-to-end estimation for the one-way delay and its variation | |
Mou | Evaluating a tcp model-based network performance measurement method | |
US11743164B2 (en) | Quality measuring device, quality measuring method, and quality measuring program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230925 Address after: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |