一种端到端延时测量方法与流程

文档序号:21083662发布日期:2020-06-12 16:44阅读:523来源:国知局
一种端到端延时测量方法与流程

本发明涉及视频通讯相关技术领域,尤其是指一种端到端延时测量方法。



背景技术:

在现有的多人视频通话系统中,为了适应多人通讯,网络模型或者采用多终端和一个中心服务节点交互的mcu模式,或者采用多服务节点级联的sfu模式。不论mcu还是sfu,参与视频通话的各端,其媒体数据的传输都需要跨越至少一个或者多个服务器节点。

端到端的rtt(round-triptime,网络往返延迟),作为通话质量好坏的评价指标,在这种多节点路由的情况下被分拆成了多段,计算和统计很不方便。



技术实现要素:

本发明是为了克服现有技术中存在上述的不足,提供了一种方便统计的端到端延时测量方法。

为了实现上述目的,本发明采用以下技术方案:

一种端到端延时测量方法,具体包括如下步骤:

(1)定义一个rtt发送单元的报文类型,媒体数据的发送端将rtt发送单元报文作为扩展数据段附带在媒体数据包内,以固定周期发送;

(2)在发送端到接收端的路由上,所经过的媒体节点收包后不缓存,即刻下发;

(3)接收端收到媒体数据包后,检测rtt发送单元报文并解析,并定义一个rtt接收单元的报文类型;

(4)如果接收端本身也发送媒体数据到所接收rtt发送单元报文的发送端,那么发送端接收到rtt接收单元报文后,根据当前接收时刻的时间戳,得出往返rtt值;

(5)如果接收端是只收的端,或者不发送媒体数据到rtt发送单元报文的所在端,那么在该rtt接收单元报文发送的路由上,途径的媒体节点需要解析报文并拆解重新打包,发送端接收到rtt接收单元报文后,计算出端到端的rtt值。

本方法提出一种实时的端到端的rtt测量的方法,方便视频通话系统基于此做相关的指标监控。本发明适用于多人视频会议系统,媒体数据经过一到多个节点转发场景的端到端的rtt计算,作为端到端的rtt指标,上报给监控系统,方便做端到端通话质量的统计、展示以及问题调查。

作为优选,在步骤(1)中,rtt发送单元的报文类型包括媒体数据发送端的senderid和发送时的本地时间戳sendtimestamp;视频通话系统的媒体数据包是基于udp协议传输,为防止丢包,每个发送周期开始,在连续多个媒体数据包里携带重复的rtt发送单元内容。

作为优选,在步骤(2)中,由于复用了媒体数据的发送路由,媒体数据包内的rtt发送单元内容会自然传递到所有接收该媒体数据的接收端上。

作为优选,在步骤(3)中,当检测到有rtt发送单元报文,则接收端解析并获取相关的senderid和sendtimestamp信息;rtt接收单元的报文类型包括rtt发送单元里的发送端的senderid、rtt发送单元报文发送时的本地时间戳sendtimstamp、媒体数据接收端的recverid和接收端自收到rtt发送单元报文数据到发送rtt接收单元报文数据滞留的时长delay。

作为优选,在步骤(4)中,具体操作方法如下:

(41)接收端将接收到的rtt发送单元报文信息以及自己的id作为recverid打包进rtt接收单元报文,并附带在自己的媒体数据包内,即刻发送;

(42)在该媒体数据包传输到所有接收端的路由上,所经过的媒体节点收包后不缓存,即刻下发;

(43)rtt发送单元的发送端接收到媒体数据包后,检测rtt接收单元报文并解析,根据初始发送的本地时间戳sendtimestamp,与当前接收时刻的本地时间戳,相减得出往返rtt值。

作为优选,在步骤(41)中,为防止传输丢包,将rtt接收单元报文信息附带在连续的多个媒体数据包里。

作为优选,在步骤(43)中,由于视频会议系统是多对多的系统,该rtt接收单元报文可能包含对应多个发送端的rtt接收单元报文信息,接收到rtt接收单元报文的发送端需要通过rtt接收单元报文的senderid字段找出和自己匹配的senderid,根据初始发送的本地时间戳sendtimestamp,与当前接收时刻的本地时间戳,相减得出往返rtt值。

作为优选,在步骤(5)中,具体操作方法如下:

(51)接收端将rtt接收单元的报文单独作为一个数据包周期发送,rtt接收单元报文信息里记录从收到rtt发送单元报文到发送rtt接收单元报文滞留的时长;

(52)在该数据包发送的路由上,途径的媒体节点需要解析rtt接收单元报文,根据rtt接收单元报文里记录的senderid信息做包拆解,把拆解重组后的包按照senderid的媒体数据包来的路由逆向发送到上一个媒体节点直到发送端本身;

(53)rtt发送单元报文的发送端收到rtt接收单元的报文后,根据rtt接收单元报文的senderid和自己匹配的rtt接收单元报文信息,计算出端到端的rtt值。

作为优选,在步骤(51)中,如果接收端收到的是多个发送端的rtt发送单元报文信息,一个senderid对应一个发送端,有多个发送端,就有多个滞留时长delay,记录多组rtt接收单元报文信息并打包发出;为防止传输丢包,每个周期里rtt接收单元报文的数据包需要连续多个重复发送。

作为优选,在步骤(52)中,如果该rtt接收单元报文包含多个senderid,每经过一个媒体节点,该媒体节点对应的媒体服务要检测和拆解重组这个数据包,拆解重组成包含单个senderid的rtt接收单元报文,按照senderid来选择路径发送回归属于它的发送端,拆解重组是每个媒体节点都要做的操作,直到最后在senderid对应的发送端收到rtt接收单元报文,该发送端只应包含和自己相关的信息;在步骤(53)中,最终的rtt发送单元报文的发送端接收到的是单独的rtt接收单元报文,由于路经媒体节点做过拆解,收到的就是和自己关联的信息,故而计算出端到端的rtt值=发送端接收到rtt接收单元报文的时间戳-接收单元报文里记录的本地时间戳sendtimstamp-滞留时长delay。

本发明的有益效果是:适用于多人视频会议系统,媒体数据经过一到多个节点转发场景的端到端的rtt计算,作为端到端的rtt指标,上报给监控系统,方便做端到端通话质量的统计、展示以及问题调查。

附图说明

图1是本发明的方法示意图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步的描述。

如图1所述的实施例中,一种端到端延时测量方法,具体包括如下步骤:

(1)定义一个rtt发送单元的报文类型,媒体数据的发送端将rtt发送单元报文作为扩展数据段附带在媒体数据包内,以固定周期发送(比如每3秒1个周期);rtt发送单元的报文类型包括媒体数据发送端的senderid和发送时的本地时间戳sendtimestamp;视频通话系统的媒体数据包是基于udp协议传输,为防止丢包,每个发送周期开始,在连续多个媒体数据包里携带重复的rtt发送单元内容。

(2)在发送端到接收端的路由上,所经过的媒体节点收包后不缓存,即刻下发;由于复用了媒体数据的发送路由,媒体数据包内的rtt发送单元内容会自然传递到所有接收该媒体数据的接收端上。

(3)接收端收到媒体数据包后,检测rtt发送单元报文并解析,并定义一个rtt接收单元的报文类型;当检测到有rtt发送单元报文,则接收端解析并获取相关的senderid和sendtimestamp信息;rtt接收单元的报文类型包括rtt发送单元里的发送端的senderid、rtt发送单元报文发送时的本地时间戳sendtimstamp、媒体数据接收端的recverid和接收端自收到rtt发送单元报文数据到发送rtt接收单元报文数据滞留的时长delay。

(4)如果接收端本身也发送媒体数据到所接收rtt发送单元报文的发送端,那么发送端接收到rtt接收单元报文后,根据当前接收时刻的时间戳,得出往返rtt值;具体操作方法如下:

(41)接收端将接收到的rtt发送单元报文信息以及自己的id作为recverid打包进rtt接收单元报文,并附带在自己的媒体数据包内,即刻发送;为防止传输丢包,将rtt接收单元报文信息附带在连续的多个媒体数据包里。

(42)在该媒体数据包传输到所有接收端的路由上,所经过的媒体节点收包后不缓存,即刻下发;

(43)rtt发送单元的发送端接收到媒体数据包后,检测rtt接收单元报文并解析,根据初始发送的本地时间戳sendtimestamp,与当前接收时刻的本地时间戳,相减得出往返rtt值。由于视频会议系统是多对多的系统,该rtt接收单元报文可能包含对应多个发送端的rtt接收单元报文信息,接收到rtt接收单元报文的发送端需要通过rtt接收单元报文的senderid字段找出和自己匹配的senderid,根据初始发送的本地时间戳sendtimestamp,与当前接收时刻的本地时间戳,相减得出往返rtt值。

(5)如果接收端是只收的端,或者不发送媒体数据到rtt发送单元报文的所在端,那么在该rtt接收单元报文发送的路由上,途径的媒体节点需要解析报文并拆解重新打包,发送端接收到rtt接收单元报文后,计算出端到端的rtt值;从这个接收端到收到的rtt发送单元报文对应的发送端,没有媒体数据的链路存在,只能单独发包。为了减少发包数,在一个udp数据包里组合多个rtt接收单元报文,一个senderid对应一个发送端;定周期发,这样从收到rtt发送单元的报文到周期发rtt接收单元的报文,是有滞留时长delay的,要记录下来。有多个发送端,就有多个滞留时长delay,这个复合报文应该表述成:recverid,senderid-1,sendertimestamp-1,delay-1;senderid-2,sendertimestamp-2,delay-2…

具体操作方法如下:

(51)接收端将rtt接收单元的报文单独作为一个数据包周期发送,rtt接收单元报文信息里记录从收到rtt发送单元报文到发送rtt接收单元报文滞留的时长;如果接收端收到的是多个发送端的rtt发送单元报文信息,一个senderid对应一个发送端,有多个发送端,就有多个滞留时长delay,记录多组rtt接收单元报文信息并打包发出;为防止传输丢包,每个周期里rtt接收单元报文的数据包需要连续多个重复发送。

(52)在该数据包发送的路由上,途径的媒体节点需要解析rtt接收单元报文,根据rtt接收单元报文里记录的senderid信息做包拆解,把拆解重组后的包按照senderid的媒体数据包来的路由逆向发送到上一个媒体节点直到发送端本身;如果该rtt接收单元报文包含多个senderid,每经过一个媒体节点,该媒体节点对应的媒体服务要检测和拆解重组这个数据包,拆解重组成包含单个senderid的rtt接收单元报文,按照senderid来选择路径发送回归属于它的发送端,拆解重组是每个媒体节点都要做的操作,直到最后在senderid对应的发送端收到rtt接收单元报文,该发送端只应包含和自己相关的信息。逆向发送是按rtt发送单元报文来的路径反向发回,这里仍然是一个udp数据包里,一个接收端recverid携带了多个rtt接收单元报文的情况,每个rtt接收单元报文对应一个senderid,因此发送的路径也不一样。

(53)rtt发送单元报文的发送端收到rtt接收单元的报文后,根据rtt接收单元报文的senderid和自己匹配的rtt接收单元报文信息,计算出端到端的rtt值;最终的rtt发送单元报文的发送端接收到的是单独的rtt接收单元报文,由于路经媒体节点做过拆解,收到的就是和自己关联的信息,故而计算出端到端的rtt值=发送端接收到rtt接收单元报文的时间戳-接收单元报文里记录的本地时间戳sendtimstamp-滞留时长delay。

备注:由于视频通讯基于udp不可靠传输,有概率丢包,通过重复发送相关的信息包减少丢包概率后还是会有丢包情况存在。只能基于接收到的rtt接收单元算rtt,对于这些检测不到rtt接收单元的周期可以标注一个大的值,比如3秒表征丢包。

本方法提出一种实时的端到端的rtt测量的方法,方便视频通话系统基于此做相关的指标监控。本发明适用于多人视频会议系统,媒体数据经过一到多个节点转发场景的端到端的rtt计算,作为端到端的rtt指标,上报给监控系统,方便做端到端通话质量的统计、展示以及问题调查。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1