一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据传输方法、装置、流媒体服务器及发送客户端与流程

2022-03-23 02:37:55 来源:中国专利 TAG:


1.本发明涉及流媒体传输领域,具体而言,涉及一种数据传输方法、装置、流媒体服务器及发送客户端。


背景技术:

2.在互联网发展日新月异的今天,实时音视频的应用场景趋向多元化和复杂化,单纯的端到端模型已经不能满足流媒体数据的传输需求。
3.在传统传输模型中,根据sr(sender reports,发送者报告)/rr(receiver reports,接收者报告)包计算rtt(round-trip time,发送者与接受者之间网络来回耗时)和单向网络时延的计算方法只能计算两个相邻节点的时延,无法计算中间含有多个媒体服务节点的端到端的网络时延,导致无法对数据传输的过程进行实时监测,影响数据传输效果。


技术实现要素:

4.本发明实施例提供一种数据传输方法、装置、流媒体服务器及发送客户端,能够提高对网络时延检测的实时性,增强对数据传输状态的监测。
5.第一方面,本发明实施例提供一种数据传输方法,应用于多级流媒体服务器中的任一流媒体服务器,包括:
6.向所述流媒体服务器的后级设备发送发送者报文;
7.接收所述后级设备针对所述发送者报文返回的接收者报文;
8.根据所述发送者报文和所述接收者报文,计算所述流媒体服务器和所述后级设备之间的第二网络时延;
9.根据预先获取的发送客户端至所述流媒体服务器之间的第一网络时延,以及所述第二网络时延,计算所述发送客户端至所述后级设备之间的本级网络时延;
10.基于所述本级网络时延,将待传输的流媒体数据逐级转发至接收客户端。
11.可选地,所述根据预先获取的所述发送客户端至所述流媒体服务器之间的第一网络时延,以及所述第二网络时延,计算所述客户端至所述流媒体服务器之间的本级网络时延之前,所述方法还包括:
12.接收所述流媒体服务器的前级设备发送的第一应用数据包,所述第一应用数据包包括:所述第一网络时延以及所述流媒体数据。
13.可选地,若所述流媒体服务器为第一级流媒体服务器,则所述前级设备为所述发送客户端;或者,若所述流媒体服务器为所述第一级流媒体服务器之后的任一流媒体服务器,则所述前级设备为所述流媒体服务器之前的任一流媒体服务器。
14.可选地,若所述后级设备为所述流媒体服务器之后的下一级媒体服务器,则所述基于所述本级网络时延,将所述流媒体数据逐级转发至接收客户端,包括:
15.向所述下一级流媒体服务器发送第二应用数据包,所述第二应用数据包包括:所
述本级网络时延,和所述流媒体数据,所述第二应用数据包用于使得所述下一级流媒体服务器基于所述本级网络时延,将所述流媒体数据逐级转发至所述接收客户端。
16.可选地,若所述后级设备为接收客户端,则所述基于所述本级网络时延,将所述流媒体数据逐级转发至接收客户端,包括:
17.向所述接收客户端发送第三应用数据包,所述第三应用数据包包括:所述本级网络时延,和所述流媒体数据,所述第三应用数据包中的所述本级网络时延用于指示所述发送客户端和所述接收客户端之间的网络时延。
18.第二方面,本发明实施例还提供一种数据传输方法,应用于发送客户端,包括:
19.向多级流媒体服务器中的第一级流媒体服务器发送发送者报文;
20.接收所述第一级流媒体服务器针对所述发送者报文返回的接收者报文;
21.根据所述发送者报文和所述接收者报文,计算所述发送客户端到所述第一级流媒体服务器之间的本级网络时延;
22.向所述第一级流媒体服务器发送应用数据包,所述应用数据包包括:所述本级网络时延,和待传输的流媒体数据,所述应用数据包用于使得所述第一级流媒体服务器基于所述本级网络时延,将所述流媒体数据逐级转发至接收客户端。
23.第三方面,本发明实施例还提供一种数据传输装置,应用于多级流媒体服务器中的任一流媒体服务器,所述装置包括:
24.第一发送模块,用于向所述流媒体服务器的后级设备发送发送者报文;
25.第一接收模块,用于接收所述后级设备针对所述发送者报文返回的接收者报文;
26.第一处理模块,用于根据所述发送者报文和所述接收者报文,计算所述流媒体服务器和所述后级设备之间的第二网络时延;根据预先获取的发送客户端至所述流媒体服务器之间的第一网络时延,以及所述第二网络时延,计算所述发送客户端至所述后级设备之间的本级网络时延;基于所述本级网络时延,将待传输的流媒体数据逐级转发至接收客户端。
27.第四方面,本发明实施例还提供一种数据传输装置,应用于发送客户端,所述装置包括:
28.第二发送模块,用于向多级流媒体服务器中的第一级流媒体服务器发送发送者报文;
29.第二接收模块,用于接收所述第一级流媒体服务器针对所述发送者报文返回的接收者报文;
30.第二处理模块,用于根据所述发送者报文和所述接收者报文,计算所述发送客户端到所述第一级流媒体服务器之间的本级网络时延;向所述第一级流媒体服务器发送应用数据包,所述应用数据包包括:所述本级网络时延,和待传输的流媒体数据,所述应用数据包用于使得所述第一级流媒体服务器基于所述本级网络时延,将所述流媒体数据逐级转发至接收客户端。
31.第五方面,本发明实施例还提供一种流媒体服务器,包括:第一发送器、第一接收器、第一处理器和第一总线,所述第一发送器、所述第一接收器、所述第一处理器通过所述第一总线连接;
32.所述第一发送器,用于向所述流媒体服务器的后级设备发送发送者报文;
33.所述第一接收器,用于接收所述后级设备针对所述发送者报文返回的接收者报文;
34.所述第一处理器,用于根据所述发送者报文和所述接收者报文,计算所述流媒体服务器和所述后级设备之间的第二网络时延;根据预先获取的所述发送客户端至所述流媒体服务器之间的第一网络时延,以及所述第二网络时延,计算所述发送客户端至所述后级设备之间的本级网络时延;基于所述本级网络时延,将待传输的流媒体数据逐级转发至接收客户端。
35.第六方面,本发明实施例还提供一种发送客户端,包括:第二发送器、第二接收器、第二处理器和第二总线,所述第二发送器、所述第二接收器、所述第二处理器通过所述第二总线连接;
36.所述第二发送器,用于向多级流媒体服务器中的第一级流媒体服务器发送发送者报文;
37.所述第二接收器,用于接收所述第一级流媒体服务器针对所述发送者报文返回的接收者报文;
38.所述第二处理器,用于根据所述发送者报文和所述接收者报文,计算所述发送客户端到所述第一级流媒体服务器之间的本级网络时延;向所述第一级流媒体服务器发送应用数据包,所述应用数据包包括:所述本级网络时延,和待传输的流媒体数据,所述应用数据包用于使得所述第一级流媒体服务器基于所述本级网络时延,将所述流媒体数据逐级转发至接收客户端。
39.与现有技术相比,先通过当前流媒体服务器和后级设备之间的发送者报文和接受者报文计算当前流媒体服务器至后级设备之间的网络时延,再根据预先获得的发送客户端至当前流媒体服务器之间的网络时延,就可得到发送客户端至后级设备之间的网络时延,基于此可将多级流媒体数据逐级从发送客户端转发至接收客户端,可以在数据传输过程中计算中间含有多级流媒体服务器的端到端之间的网络时延,使得数据传输过程中可以实时检测网络时延,更加灵活地对数据传输过程进行监测,保障数据传输过程的及时性,避免网络拥塞。
附图说明
40.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
41.图1为本发明提供的一种流媒体传输系统图;
42.图2为本发明提供的一种数据传输方法的流程示意图;
43.图3为本发明提供的另一种数据传输方法的流程示意图;
44.图4为本发明提供的另一种数据传输方法的流程示意图;
45.图5为本发明提供的另一种数据传输方法的流程示意图;
46.图6为本发明提供的另一种数据传输方法的流程示意图;
47.图7为本发明提供的一种数据传输装置的示意图;
48.图8为本发明提供的另一种数据传输装置的示意图;
49.图9为本发明提供的一种流媒体服务器的示意图;
50.图10为本发明提供的一种发送客户端的示意图。
51.图标:1000,第一发送模块;2000,第一接收模块;3000,第一处理模块;4000,第二发送模块;5000,第二接收模块;6000,第二处理模块;10,流媒体服务器;11,第一发送器;12,第一接收器;13,第一处理器;14,第一总线;20,发送客户端;21,第二发送器;22,第二接收器;23,第二处理器;24,第二总线;30,接收客户端。
具体实施方式
52.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
53.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
54.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
55.在对本发明进行详细地解释之前,先对本发明的应用场景予以介绍。
56.对于流媒体的传输而言,数据的实时性传输是至关重要的。流媒体传输不同于传统的单一数据传输业务,具有时延敏感、数据量大等特性。为了满足大数据量的流媒体数据的实时传输,通常使用rtp(real-time transport protocol,实时传输协议)和rtcp(real-time transport control protocol,实时传输控制协议)配合使用。rtp在单个发送者与单个接受者或者一个发送者与多个接受者之间的传输进行工作,其配套的rtcp为rtp提供传输控制功能。
57.为解决终端压力过大、用户接入的网络分区和长距离传输的问题,衍生出了含有proxy(代理)的多节点sfu(selective forwarding unit)通信架构。为了对含有多个流媒体节点的传输系统进行数据的监控,由于传统的方法只能计算两个相邻节点之间的时延,间隔多级流媒体服务器的发送端与接收端的时延数据无法传输给彼此。
58.基于此,本发明提供一种数据传输方法、装置、流媒体服务器及发送客户端,把中间的多级流媒体服务器都看成一个节点,相近连接的两个节点就构成p2p(peer to peer,端到端)连接,这样就可以使发送客户端在间隔多级流媒体服务器后将时延数据传输给接收客户端,帮助实现流媒体数据传输中的监控。本发明下述各实施例提供的数据传输方法可由流媒体服务器执行,也可由发送客户端执行,该流媒体服务器可由移动通信设备或台式计算机设备搭建,该发送客户端可为移动通信设备或台式计算机设备,本发明对此不做限制。
59.如下结合附图通过多个实施例进行解释说明。图1为本发明提供的一种流媒体传输系统图,如图1所示,该流媒体传输系统,包括:流媒体服务器10、发送客户端20、接收客户
端30。其中,流媒体服务器10的数量为n,n≥1。发送客户端20发送流媒体数据,中间经过一个或多个流媒体服务器10,最终传输给接收客户端30。发送客户端20和接收客户端30主要实现了流媒体数据的接收及后续解码播放,中间的流媒体服务器10主要实现了流媒体数据传输速率调整以及编码码率控制的功能。具体地,当前流媒体传输系统采用sfu通信架构,则流媒体传输系统中的流媒体服务器10为sfu server(sfu服务器),可将没有和发送客户端20或/和接收客户端30直接相连的sfu server称为proxy server(代理服务器),proxy server可以转发所有请求。通过这样的方式,发送客户端20和接收客户端30并不知道与客户端相连的是一台真实的客户端还是一台服务器,可以将所有的流媒体服务器10伪装成客户端,实现p2p的连接。由于流媒体传输中时延的不稳定会导致两个相邻数据接收时间差不稳定而引起流媒体传输的抖动,导致接收数据的乱序。因此需要对流媒体数据传输过程的时延进行实时地监测。
60.在上述图1提供的一种流媒体传输系统的基础上,本发明还通过了一种数据传输方法的可能实现方式。图2为本发明提供的一种数据传输方法的流程示意图。如图2所示,一种数据传输方法,应用于多级流媒体服务器中的任一流媒体服务器,包括:
61.s110,向流媒体服务器的后级设备发送发送者报文。
62.在流媒体数据传输过程中,流媒体服务器10会构造sr(sender report,发送者报文)发送给后级设备,用来描述当前流媒体服务器10作为发送者成员的传输和接收的统计信息,统计自己的发送情况以通知后级设备,sr包内包含ntp(network time procotol,网络时间协议)时间戳,指示此sr包发送时的时间背景。
63.s120,接收后级设备针对发送者报文返回的接收者报文。
64.后记设备接收到sr包之后,会记录下sr包内的lsr(time of last sender report,ntp时间戳中间的32位),并构造rr(receiver report,接收者报告)返回给上一级的流媒体服务器10,用来描述当前后级设备作为非发送者成员的接收的统计信息,rr包内包含lsr和dlsr(delay since last sender report,接收到sr包和当前发送rr包直接的时间差)。
65.s130,根据发送者报文和接收者报文,计算流媒体服务器和后级设备之间的第二网络时延。
66.当前流媒体服务器10发送一个sr包,收到后级设备返回的rr包,则设流媒体服务器10收到最近一个rr包时间为r
now
,则最近一次的rtt(round-trip time,发送者与接收者之间的网络来回耗时)为:
67.rtt=r
now-r
lsr-r
dlsr
公式(1)
68.公式(1)中r
lsr
为后级设备最近接收到的来自流媒体服务器10的sr包中的ntp时间戳中间32位,存放在流媒体服务器10收到的rr包中的lsr域。r
dlsr
为后级设备最近接收到来自流媒体服务器10的sr包到发送rr包之间的延迟,单位为1/65536秒,存放在流媒体服务器10收到的rr包中的dlsr域。由此,流媒体服务器10可通过后级设备反馈的rr包相关信息计算出回环时间rtt。则流媒体服务器10和后级设备之间的第二网络时延就为rtt/2。
69.s140,根据预先获取的发送客户端至流媒体服务器之间的第一网络时延,以及第二网络时延,计算发送客户端至后级设备之间的本级网络时延。
70.设预先获取的发送客户端20至流媒体服务器10之间的第一网络时延为t

,第二网
络时延为t

,则计算发送客户端20至后级设备之间的本级网络时延为t=t

t


71.s150,基于本级网络时延,将待传输的流媒体数据逐级转发至接收客户端。
72.基于发送客户端20至后级设备之间的本级网络时延t3,可将需要传输的流媒体数据依据rtcp协议从后级设备逐级转发至接收客户端30,完成数据从发送客户端20至接收客户端30之间的传输。
73.在本实施例中先通过当前流媒体服务器和后级设备之间的发送者报文和接受者报文计算当前流媒体服务器至后级设备之间的网络时延,再根据预先获得的发送客户端至当前流媒体服务器之间的网络时延,就可得到发送客户端至后级设备之间的网络时延,基于此可将多级流媒体数据逐级从发送客户端转发至接收客户端,可以在数据传输过程中计算中间含有多级流媒体服务器的端到端之间的网络时延,使得数据传输过程中可以实时检测网络时延,更加灵活地对数据传输过程进行监测,保障数据传输过程的及时性,避免网络拥塞。
74.在上述图2提供的一种流媒体传输系统的基础上,本发明还通过了一种数据传输方法的可能实现方式。图3为本发明提供的另一种数据传输方法的流程示意图。如图3所示,上述方法中s140,根据预先获取的发送客户端至流媒体服务器之间的第一网络时延,以及第二网络时延,计算发送客户端至后级设备之间的本级网络时延之前,还包括:
75.s135,接收流媒体服务器的前级设备发送的第一应用数据包。
76.第一应用数据包包括:第一网络时延以及流媒体数据。
77.为了传输第一网络时延的数据信息,当前流媒体服务器10要接收由前级设备发送的第一应用数据包(app,applicetion-defined rtcp packet),app表示应用特定的函数报告,可由用户自定义。第一app包包含了前级设备至流媒体服务器10之间的第一网络时延和由发送客户端20传输至接收客户端30之间的流媒体数据。
78.可选地,若流媒体服务器为第一级流媒体服务器,则前级设备为发送客户端;或者,若流媒体服务器为第一级流媒体服务器之后的任一流媒体服务器,则前级设备为流媒体服务器之前的任一流媒体服务器。
79.在本实施例中,若流媒体服务器10为第一级流媒体服务器,则前级设备为发送客户端20,即第一app包包含了发送客户端20与直接相连的第一级流媒体服务器之间的第一网络时延和发送客户端20需要传输至接收客户端30之间的流媒体数据;
80.若流媒体服务器10为第一级流媒体服务器之后的任一流媒体服务器,则前级设备为流媒体服务器10之前的任一流媒体服务器,则前级设备和流媒体服务器10之间的连接是服务器与服务器之间的连接,通过含有proxy server的sfu通信架构,使它们之间构成p2p连接,则第一app包包含了两级流媒体服务器10之间的第一网络时延和发送客户端20需要传输至接收客户端30之间的流媒体数据。
81.在本实施例中,根据sr/rr包计算出网络时延后,通过传输带有上一级网络时延的自定义app包至下一级流媒体服务器,从而可以计算含有多个服务节点的端到端的网络时延,便于对流媒体传输中的监控。
82.在上述图2提供的一种流媒体传输系统的基础上,本发明还通过了一种数据传输方法的可能实现方式。图4为本发明提供的另一种数据传输方法的流程示意图。如图4所示,上述方法中包括:
83.s210,若后级设备为流媒体服务器之后的下一级媒体服务器,则基于本级网络时延,将流媒体数据逐级转发至接收客户端。
84.s215,向下一级流媒体服务器发送第二应用数据包。
85.第二应用数据包包括:本级网络时延,和流媒体数据,第二应用数据包用于使得下一级流媒体服务器基于本级网络时延,将流媒体数据逐级转发至接收客户端。
86.在本实施例中,若后级设备为流媒体服务器10之后的下一级媒体服务器,则当前流媒体服务器10向下一级相连的流媒体服务器发送第二app包,第二app包包括发送客户端20至下一级流媒体服务器之间的本级网络时延和需要传输的流媒体数据,下一级流媒体服务器将基于本机网络时延,逐级累加得到发送客户端20与接收客户端30之间的网络时延,并将流媒体数据逐级转发至接收客户端30。
87.在本实施例中,通过发送客户端至下一级流媒体服务器之间的本级网络时延,并往后逐级累加直至流媒体数据传输至接收客户端,则可计算得出含有多个服务器节点的端到端的网络时延,实现对流媒体数据传输中的时延计算,便于基于网络时延对传输速率进行调整。
88.在上述图2提供的一种流媒体传输系统的基础上,本发明还通过了一种数据传输方法的可能实现方式。图5为本发明提供的另一种数据传输方法的流程示意图。如图5所示,上述方法中包括:
89.s310,若后级设备为接收客户端,则基于本级网络时延,将流媒体数据逐级转发至接收客户端。
90.s315,向接收客户端发送第三应用数据包。
91.第三应用数据包包括:本级网络时延,和流媒体数据,第三应用数据包中的本级网络时延用于指示发送客户端和接收客户端之间的网络时延。
92.在本实施例中,若当前流媒体服务器10的后级设备为接收客户端,则发送客户端20至后级设备之间的本级网络时延就是发送客户端20和接收客户端30之间的网络时延。则流媒体服务器10至接收客户端30之间的第三app包包括发送客户端20和接收客户端30之间的网络时延和发送客户端20需要发送的流媒体数据。
93.在本实施例中,当前流媒体服务器为直接与接收客户端连接的服务器,通过向接收客户端直接传输装有本级网络时延的app包,则可计算得出含有多个服务器节点的端到端的网络时延,提升了对流媒体数据传输的灵活性,不局限于发送端与接收端之间的传输。
94.图1提供的一种流媒体传输系统的基础上,本发明还通过了一种数据传输方法的可能实现方式。图6为本发明提供的一种数据传输方法的流程示意图。如图6所示,一种数据传输方法,应用于发送客户端,包括:
95.s410,向多级流媒体服务器中的第一级流媒体服务器发送发送者报文。
96.当由发送客户端20执行该方法,向多级流媒体服务器10中与发送客户端20直接相连的第一级流媒体服务器发送sr包,sr包内包含ntp时间戳,指示此sr包发送时的时间背景。
97.s420,接收第一级流媒体服务器针对发送报文返回的接收者报文。
98.发送客户端20在发送sr包给第一级流媒体服务器之后,第一级流媒体服务器会构造rr包,并将rr包返回给发送客户端20,rr包内包含lsr和dlsr。
99.s430,根据发送者报文和接收者报文,计算发送客户端到第一级流媒体服务器之间的本级网络时延。
100.根据sr包和rr包的r

lsr
和r

dlsr
,结合发送客户端20收到rr包的时间rn′
ow
,即可根据公式(2)计算发送客户端20至第一级流媒体服务器之间的本级网络时延rtt


101.rtt

=rn′
ow-r

lsr-r

dlsr
公式(2)
102.s440,向第一级流媒体服务器发送应用数据包。
103.应用数据包包括:本级网络时延,和待传输的流媒体数据,应用数据包用于使得第一级流媒体服务器基于本级网络时延,将流媒体数据逐级转发至接收客户端。
104.具体地,在计算完发送客户端20至第一级流媒体服务器之间的本级网络时延rtt

之后,发送客户端20将rtt

和需要传输至接收客户端30的待传输的流媒体数据装在app包内发送给第一级流媒体服务器,第一流媒体服务器可以根据app内的rtt

,逐级将流媒体数据转发至接收客户端30,并可以叠加转发app包内的网络时延,最终得到中间含有多个流媒体服务器10的发送客户端20至接收接收客户端30之间网络时延。在一种可能的实现方式中,可以在后续依据网络时延对传输过程中的网络速率进行调整。
105.在本实施例中,发送客户端通过向相连的第一级流媒体服务器发送sr包并根据返回的rr包计算发送客户端至第一级流媒体服务器之间的网路时延,同时将网络时延通过app包发送给第一级流媒体服务器,使得第一级流媒体服务器可以根据app包内的网络时延和需要转发的流媒体数据,逐级转发至接收客户端,最终得到发送客户端到接收客户端的网络时延,完成数据的传输,使流媒体数据的传输过程可以得到监控,便于判断当前的网络拥塞情况。
106.可选地,在一种可能的实现方式中,设当前流媒体传输系统包含发送客户端20,n个流媒体服务器10和接收客户端30;其中,n≥2。
107.则在当前流媒体传输系统中,发送客户端20发送第一sr包至与发送客户端20相连的第一级流媒体服务器,第一级流媒体服务器再返回第一rr包至发送客户端20,并依据第一sr包和第一rr包计算出从发送客户端20至第一级流媒体服务器之间的网络时延t
s1
,令t
s1
=t1,发送客户端20把装载t1的第一app包发送给第一级流媒体服务器;
108.第一级流媒体服务器发送第二sr包至与第一级流媒体服务器相连的第二级流媒体服务器,第二级流媒体服务器再返回第二rr包至第一级流媒体服务器,并依据第二sr包和第二rr包计算出从第一级流媒体服务器至第二级流媒体服务器之间的网络时延t2;同时,第一级流媒体服务器把t1与t2相加装进第二app包发送给第二级流媒体服务器;则发送客户端20至第二级流媒体服务器之间的网络时延t
s2
=t1 t2。
109.以此类推,第n级流媒体服务器会收到来自第n-1级流媒体服务器发送的第napp包,装载着从发送客户端20至第n级流媒体服务器的网络时延t
sn

110.则当第n级流媒体服务器与接收客户端30完成第n 1个sr/rr包传输,计算得到第n级流媒体服务器与接收客户端30之间的网络时延t
n 1
;第n级流媒体服务器会发送第n 1app包至接收客户端30,装载着发送客户端20至接收客户端30的网络时延t
sr
,基于此,就可以计算得到中间含有多级流媒体服务器的端到端之间的网络时延,便于对整个流
媒体数据传输进行监控。
111.图7为本发明提供的一种数据传输装置的示意图,如图7所示,该数据传输装置,应用于多级流媒体服务器中的任一流媒体服务器,包括:
112.第一发送模块1000,用于向流媒体服务器的后级设备发送发送者报文;
113.第一接收模块2000,用于接收后级设备针对发送者报文返回的接收者报文;
114.第一处理模块3000,用于根据发送者报文和接收者报文,计算流媒体服务器和后级设备之间的第二网络时延;根据预先获取的发送客户端至流媒体服务器之间的第一网络时延,以及第二网络时延,计算发送客户端至后级设备之间的本级网络时延;基于本级网络时延,将待传输的流媒体数据逐级转发至接收客户端。
115.可选地,第一处理模块3000,具体还用于接收流媒体服务器的前级设备发送的第一应用数据包,第一应用数据包包括:第一网络时延以及流媒体数据。
116.可选地,第一处理模块3000,具体还用于若流媒体服务器为第一级流媒体服务器,则前级设备为发送客户端;或者,若流媒体服务器为第一级流媒体服务器之后的任一流媒体服务器,则前级设备为第一流媒体服务器之前的流媒体服务器。
117.可选地,第一处理模块3000,具体还用于若后级设备为流媒体服务器之后的下一级媒体服务器,则基于本级网络时延,将流媒体数据逐级转发至接收客户端,包括:向下一级流媒体服务器发送第二应用数据包,第二应用数据包包括:本级网络时延,和流媒体数据,第二应用数据包用于使得下一级流媒体服务器基于本级网络时延,将流媒体数据逐级转发至接收客户端。
118.可选地,第一处理模块3000,具体还用于若后级设备为接收客户端,则基于本级网络时延,将流媒体数据逐级转发至接收客户端,包括:向接收客户端发送第三应用数据包,第三应用数据包包括:本级网络时延,和流媒体数据,第三应用数据包中的本级网络时延用于指示发送客户端和接收客户端之间的网络时延。
119.图8为本发明提供的另一种数据传输装置的示意图,如图8所示,该数据传输装置,应用于发送客户端,包括:
120.第二发送模块4000,用于向多级流媒体服务器中的第一级流媒体服务器发送发送者报文;
121.第二接收模块5000,用于接收第一级流媒体服务器针对发送者报文返回的接收者报文;
122.第二处理模块6000,用于根据发送者报文和接收者报文,计算发送客户端到第一级流媒体服务器之间的本级网络时延;向所述第一级流媒体服务器发送应用数据包,所述应用数据包包括:所述本级网络时延,和待传输的流媒体数据,所述应用数据包用于使得所述第一级流媒体服务器基于所述本级网络时延,将所述流媒体数据逐级转发至接收客户端。
123.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个数字信号处理器(digital singnal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器
(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
124.图9为本发明提供的一种流媒体服务器的示意图,该流媒体服务器可以是具备计算处理功能的计算设备或服务器。
125.该流媒体服务器10包括:第一发送器11、第一接收器12、第一处理器13和第一总线14,第一发送器11、第一接收器12、第一处理器13通过第一总线14连接;
126.第一发送器11,用于向流媒体服务器的后级设备发送发送者报文;
127.第一接收器12,用于接收后级设备针对发送者报文返回的接收者报文;
128.第一处理器13,用于根据发送者报文和接收者报文,计算流媒体服务器和后级设备之间的第二网络时延;根据预先获取的发送客户端至流媒体服务器之间的第一网络时延,以及第二网络时延,计算发送客户端至后级设备之间的本级网络时延;基于本级网络时延,将待传输的流媒体数据逐级转发至接收客户端。
129.可选地,第一处理器13,具体还用于接收流媒体服务器的前级设备发送的第一应用数据包,第一应用数据包包括:第一网络时延以及流媒体数据。
130.可选地,第一处理器13,具体还用于若流媒体服务器为第一级流媒体服务器,则前级设备为发送客户端;或者,若流媒体服务器为第一级流媒体服务器之后的任一流媒体服务器,则前级设备为第一流媒体服务器之前的流媒体服务器。
131.可选地,第一处理器13,具体还用于若后级设备为流媒体服务器之后的下一级媒体服务器,则基于本级网络时延,将流媒体数据逐级转发至接收客户端,包括:向下一级流媒体服务器发送第二应用数据包,第二应用数据包包括:本级网络时延,和流媒体数据,第二应用数据包用于使得下一级流媒体服务器基于本级网络时延,将流媒体数据逐级转发至接收客户端。
132.可选地,第一处理器13,具体还用于若后级设备为接收客户端,则基于本级网络时延,将流媒体数据逐级转发至接收客户端,包括:向接收客户端发送第三应用数据包,第三应用数据包包括:本级网络时延,和流媒体数据,第三应用数据包中的本级网络时延用于指示发送客户端和接收客户端之间的网络时延。
133.在一种可能的实现方式中,上述流媒体服务器10还包括第一存储介质,第一存储介质上存储有第一处理器13可执行的程序指令,当流媒体服务器10运行时,第一处理器13执行该程序指令,以实现上述实施例。
134.图10为本发明提供的一种发送客户端的示意图,该发送客户端可以是具备计算处理功能的计算设备或服务器。
135.该发送客户端20包括:第二发送器21、第二接收器22、第二处理器23和第二总线24,第二发送器21、第二接收器22、第二处理器23通过第二总线24连接;
136.第二发送器21,用于向多级流媒体服务器中的第一级流媒体服务器发送发送者报文;
137.第二接收器22,用于接收第一级流媒体服务器针对发送者报文返回的接收者报文;
138.第二处理器23,用于根据发送者报文和接收者报文,计算发送客户端到第一级流媒体服务器之间的本级网络时延;向第一级流媒体服务器发送应用数据包,应用数据包包
括:本级网络时延,和待传输的流媒体数据,应用数据包用于使得第一级流媒体服务器基于本级网络时延,将流媒体数据逐级转发至接收客户端。
139.在一种可能的实现方式中,上述发送客户端20还包括第二存储介质,第二存储介质上存储有第二处理器23可执行的程序指令,当发送客户端20运行时,第二处理器23执行该程序指令,以实现上述实施例。
140.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
141.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
142.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
143.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
144.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献