CN110505500A - 一种缓存数据发送处理方法及装置 - Google Patents
一种缓存数据发送处理方法及装置 Download PDFInfo
- Publication number
- CN110505500A CN110505500A CN201910721027.2A CN201910721027A CN110505500A CN 110505500 A CN110505500 A CN 110505500A CN 201910721027 A CN201910721027 A CN 201910721027A CN 110505500 A CN110505500 A CN 110505500A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- rate
- receives
- data cached
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 61
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001052 transient effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 20
- 230000001737 promoting effect Effects 0.000 abstract description 10
- 230000008569 process Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000011217 control strategy Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6408—Unicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64723—Monitoring of network processes or resources, e.g. monitoring of network load
- H04N21/64738—Monitoring network characteristics, e.g. bandwidth, congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种缓存数据发送处理方法及装置,方法包括:当服务器收到客户端发送的接收消息时,采用第一预设速率向所述客户端发送所述服务器的缓存数据;其中,所述接收消息为所述客户端接收到组播序列号的消息;所述第一预设速率低于所述服务器接收组播流的速率。本发明实施例在服务器收到客户端发送的客户端接收到组播序列号的消息时,通过采用低于服务器接收组播流速率的第一预设速率向客户端发送服务器的缓存数据,从而减少了服务器的运算和高带宽输出的时间,便于提升服务能力,同时有效降低了客户端处理的数据量,提升了客户端的效率和稳定性,避免了播放卡顿等问题。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种缓存数据发送处理方法及装置。
背景技术
随着电视信号数字化的普及,互联网电视(IPTV,Internet ProtocolTelevision)技术也被广泛地应用。目前,绝大多数IPTV中都引入了快速频道切换(FCC,Fast Channel Change)服务器。FCC服务器发给客户端的首帧永远是I帧,因此,终端能够快速展示频道信息。FCC服务器在进行频道切换时,通过单播以快发倍速的优势先向终端发送缓存中的目的频道码流,以便终端解码器可以尽快获得最近的一个完整I帧,当单播码流追赶上组播码流时,通知终端切换到多播组中,继续接收目标频道直播码码流。
但是引入FCC服务器后,在实现频道切换速度提升的同时,对用户侧的接入网络的带宽会带来较大的波动,也就是需要更大的网络带宽,在直播情况下,这会带来用户最不喜欢的卡顿现象的发生,从而影响用户的直播观看体验。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种缓存数据发送处理方法及装置。
第一方面,本发明实施例提供了一种缓存数据发送处理方法,包括:
当服务器收到客户端发送的接收消息时,采用第一预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述接收消息为所述客户端接收到组播序列号的消息;
所述第一预设速率低于所述服务器接收组播流的速率。
优选地,在所述服务器收到客户端发送的接收消息之前,还包括:
当所述服务器收到所述客户端的请求服务时,采用第二预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述第二预设速率高于所述服务器接收组播流的速率。
优选地,所述缓存数据发送处理方法还包括:
在所述服务器通知所述客户端加入组播至所述服务器收到所述客户端发送的接收消息的时间段内,采用所述服务器接收组播流的速率向所述客户端发送所述服务器的缓存数据。
优选地,所述第一预设速率为所述服务器接收组播流的速率的X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
优选地,所述第二预设速率为所述服务器接收组播流的速率的1+X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
第二方面,本发明实施例还提供了一种缓存数据发送处理装置,包括:
第一发送模块,用于当服务器收到客户端发送的接收消息时,采用第一预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述接收消息为所述客户端接收到组播序列号的消息;
所述第一预设速率低于所述服务器接收组播流的速率。
优选地,所述缓存数据发送处理装置,还包括:
第二发送模块,用于在所述服务器收到客户端发送的接收消息之前,当所述服务器收到所述客户端的请求服务时,采用第二预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述第二预设速率高于所述服务器接收组播流的速率。
优选地,所述缓存数据发送处理装置,还包括:
第三发送模块,用于在所述服务器通知所述客户端加入组播至所述服务器收到所述客户端发送的接收消息的时间段内,采用所述服务器接收组播流的速率向所述客户端发送所述服务器的缓存数据。
优选地,所述第一预设速率为所述服务器接收组播流的速率的X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
优选地,所述第二预设速率为所述服务器接收组播流的速率的1+X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的缓存数据发送处理方法。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的缓存数据发送处理方法。
由上述技术方案可知,本发明实施例提供的缓存数据发送处理方法及装置,当服务器收到客户端发送的客户端接收到组播序列号的消息时,通过采用低于服务器接收组播流速率的第一预设速率向客户端发送服务器的缓存数据,从而减少了服务器的运算和高带宽输出的时间,便于提升服务能力,同时有效降低了客户端处理的数据量,提升了客户端的效率和稳定性,避免了播放卡顿等问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种缓存数据发送处理方法的流程示意图;
图2为现有技术提供的一种典型的TS的GOP的示意图;
图3是现有技术提供的一个标准的IPTV直播在加入了FCC服务器后的服务流程示意图;
图4为本发明一实施例提供的服务器端的速率发送控制策略示意图;
图5为本发明一实施例提供的无速率控制和有速率控制的带宽变化对比图;
图6为本发明一实施例提供的一种缓存数据发送处理装置的结构示意图;
图7为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种缓存数据发送处理方法的流程示意图,如图1所示,本实施例提供的缓存数据发送处理方法包括如下处理过程:
S101、当服务器收到客户端发送的接收消息时,采用第一预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述接收消息为所述客户端接收到组播序列号的消息;
所述第一预设速率低于所述服务器接收组播流的速率。
在本实施例中,所述服务器指快速频道切换服务器,也即FCC(Fast ChannelChange)服务器。所述客户端是指视频播放终端,也称为终端播放器。
在本实施例中,首先介绍下本发明实施例提供的缓存数据发送处理方法的应用背景:互联网电视(IPTV,Internet Protocol Television)的直播业务与传统广播业务不同,是由视频播放终端首先加入频道码流所在的多播组,再对接收的组播频道码流进行解码。也即,与传统的广电直播不同,IPTV业务的直播基于IP的组播模式进行。在IPTV业务的直播中,内容服务提供商提供的视频流多基于TS(Transport Stream)格式进行传输,为确保视频流能够有序的分发到客户端,需要通过RTP(Reliable Transport Protocol)进行封装,然后再推送分发到客户端。同时,由于IPTV使用的视频编码算法,直播的频道码流被编码为由I帧、P帧和B帧组成的图像序列,如图2所示,I帧通常是每个GOP(Group of Pictures,画面组)的第一个帧,经过适度地压缩,作为随机访问的参考点,可以直接显示为图像,I帧一般压缩效率最低且体积最大,B帧和P帧需要基于前后向的帧才能够正确的解析和显示,压缩效率大且体积相对I帧小,典型的TS的GOP如图2所示。为在视频质量和传输体积大小之间平衡,内容服务商提供的TS流的GOP一般为2秒。在客户端接收RTP流时,收到的首帧可能为两个I帧(关键帧)间隔间的任何帧,若客户端首先收到的I帧,由于I帧的特性,客户端可以直接显示展现画面,若客户端先收到的是P帧和B帧,由于P、B帧的特点,需要依赖前向的I帧到本帧之间的前序帧来进行解析,才能生成本帧的画面,而由于直播的特点,I帧和前序帧已发完,不可能再发,所以客户端需要等待接收到下一个I帧才能显示,这样会直接导致延长频道切换时第一个画面的等待时间。为改进频道切换的体验,在IPTV业务中,通过部署FCC(Fast Channel Change)服务器来解决,如图3所示,客户端请求时,先访问FCC服务器,FCC服务器会快速定位到缓存的I帧,然后将I帧及后续帧序列快速分发到客户端,客户端接收到帧序列后进行展示播放,同时,访问组播服务器,在组播与FCC发送的帧序列后,切换到组播上进行播放。由于FCC服务器发给客户端的首帧永远是I帧包,所以终端能够快速展示频道信息。
但在频道切换速度提升的同时,带来了另外一个问题,对用户侧的接入网络的带宽会带来较大的波动,在直播情况下,可能会带来卡顿等影响播放体验的影响。同时,终端播放器同时接收组播流和FCC的单播流,对播放器的缓存策略等造成较大的影响。例如,图3为一个标准的IPTV直播在加入了FCC服务器后的服务流程,这里假定频道的平均码率为1。从图3中可以看出,在第六步中,会发送FCC的单播流,以1+X(其中的X>0)的速率发送,从此时开始终端接收的带宽为:FCC的单播流带宽1*(1+X)。在第9步开始,组播网络设备也开始向终端设备发送组播流,组播流的速率为1*1,带宽为1,从这个时刻开始,终端接收的带宽为:组播流的带宽+单播流的带宽=1+1+X=2+X。到第十三步,结束了单播后,带宽恢复到组播流的带宽为X。从图3以及上面描述中可以看出,当以恒定速率提供FCC服务时,带宽最大2+X,也就是频道码率的2倍以上,对网络设备、用户的接入网络的带宽影响较大,有可能会导致播放卡顿等问题。
基于上述应用背景可知,当终端播放器请求FCC服务器提供单播媒体流时,FCC服务器需要从请求的频道缓存中快速定位到距离当前时刻最近或者次近的I帧位置,然后将I帧及后续帧序列给到客户端。若假定FCC服务器接收组播流的速率为1,向客户端发送单播流的速率为(1+X),X为发送给客户端的速率与所述客户端接收的组播接收速率的差值。由图3可以看出,在第6步中,FCC以1+X(其中的X>0)的速率发送单播流,从此时开始终端接收的带宽为:FCC的单播流带宽1×(1+X)。在第9步开始,组播网络设备也开始向终端设备发送组播流,组播流的速率为1×1,带宽为1,从这个时刻开始,终端接收的带宽为:组播流的带宽+单播流的带宽=1+1+X=2+X。当FCC服务器以恒定速率提供FCC服务时,带宽最大2+X,也就是频道码率的2倍以上,对网络设备、用户的接入网络的带宽影响较大,甚至可能导致播放卡顿等问题。因此,在本实施例中,在FCC服务器服务过程中,为了保证客户端能够进行快速的频道切换,避免客户端出现播放卡顿等问题,采用了一种速率降低的思想,下面将对本实施例提供的具体实现方法给予详细说明。
可以理解的是,在IPTV直播业务中,共存在以下几个关键时间节点,分别为T1、T0、T1、T2、T3:
时刻 | 描述 |
T<sup>1</sup> | FCC服务器选取的IDR帧对应的时刻 |
T<sub>0</sub> | FCC服务器接到客户端请求FCC服务的时刻 |
T<sub>1</sub> | FCC服务器通知客户端加入组播的时刻 |
T<sub>2</sub> | 客户端通知接收到的组播序列号的时刻 |
T<sub>3</sub> | 服务器补发组播序列号的时刻 |
在本实施例中,从上述时刻T2开始,也即当FCC服务器收到客户端发送的客户端接收到组播序列号的消息时,由于此时客户端已经开始接收组播数据,因此,FCC服务器只需要将剩余的缓存数据以低速方式发送给客户端即可。也即当FCC服务器收到客户端发送的客户端接收到组播序列号的消息时,通过采用低于FCC服务器接收组播流速率的第一预设速率向客户端发送FCC服务器的缓存数据,从而减少了FCC服务器的运算和高带宽输出的时间,便于提升服务能力,同时有效降低了客户端处理的数据量,提升了客户端的效率和稳定性,避免了播放卡顿等问题。
由上述技术方案可知,本发明实施例提供的缓存数据发送处理方法,当服务器收到客户端发送的客户端接收到组播序列号的消息时,通过采用低于服务器接收组播流速率的第一预设速率向客户端发送服务器的缓存数据,从而减少了服务器的运算和高带宽输出的时间,便于提升服务能力,同时有效降低了客户端处理的数据量,提升了客户端的效率和稳定性,避免了播放卡顿等问题。
基于上述实施例的内容,在本实施例中,在所述服务器收到客户端发送的接收消息之前,所述缓存数据发送处理方法还包括:
步骤100:当所述服务器收到所述客户端的请求服务时,采用第二预设速率向所述客户端发送所述服务器的缓存数据;其中,所述第二预设速率高于所述服务器接收组播流的速率。
在本实施例中,所述服务器收到所述客户端的请求服务是指所述客户端对单播流的请求服务。
在实施例中,从上述时刻T0开始,也即当FCC服务器收到所述客户端的FCC请求服务时,由于此时需要确保客户端能够快速接收到缓存数据,故需要以较高的速率将缓冲数据发送给客户端,因此,当FCC服务器收到客户端的FCC请求服务时,采用高于所述服务器接收组播流速率的第二预设速率向所述客户端发送所述服务器的缓存数据。
基于上述各实施例的内容,在本实施例中,所述缓存数据发送处理方法还包括:
在所述服务器通知所述客户端加入组播至所述服务器收到所述客户端发送的接收消息的时间段内,采用所述服务器接收组播流的速率向所述客户端发送所述服务器的缓存数据。
在本实施例中,从上述时刻T1开始,由于FCC服务器已经经过了以较高的速率将缓冲数据发送给客户端的“快发阶段”,因此,FCC服务器此时的任务就是确保客户端能够平稳过渡即可,因此,可以采用一种介于较低的第一预设速率和较高的第二预设速率之间的中等速率将缓冲数据发送给客户端,因此,在FCC服务器通知客户端加入组播至FCC服务器收到客户端发送的接收消息的时间段内(也即上述的T1至T2时间段内),可以优选采用所述FCC服务器接收组播流的速率向客户端发送FCC服务器的缓存数据。
根据上面各实施例的描述可知,在本发明实施例中,共可分为三个阶段,分别为T0至T1时间段、T1至T2时间段,以及T2至T3时间段。其中,在T0至T1时间段内,由于此时FCC服务器需要确保客户端能够快速接收到缓存数据,故需要以较高的速率将缓冲数据发送给客户端,因此,在这段时间内采用较高的第二预设速率向客户端发送缓存数据。而在T1至T2时间段内,由于此时FCC服务器已经经过了以较高的速率将缓冲数据发送给客户端的“快发阶段”,因此,FCC服务器只需确保客户端能够平稳过渡即可,故这段时间内可以采用一种低于所述第二预设速率的中等速率(如采用所述服务器接收组播流的速率)向客户端发送缓存数据。而在T2至T3时间段内,由于此时客户端已经开始接收组播数据,因此,FCC服务器只需要将剩余的缓存数据以低速方式发送给客户端即可,因此在这段时间内可以采用一种低于所述中等速率的第一预设速率向客户端发送缓存数据。由此可见,本发明实施例在不同的时间段以不同的速率向客户端发送服务器端缓存数据,且速率变化方式是逐渐降低,从而减少了服务器的运算和高带宽输出的时间,便于提升服务能力,同时有效降低了客户端处理的数据量,提升了客户端的效率和稳定性,避免播放卡顿等问题。此外,本发明实施例提供的这种在不同的时间段以不同的速率向客户端发送服务器端缓存数据的控制方式,实现起来也较为简便,避免了复杂的控制策略,减少了FCC服务器的运算,便于提升服务能力。
此外,在本发明实施例中,优选地,所述第一预设速率为所述服务器接收组播流的速率的X倍;所述第二预设速率为所述服务器接收组播流的速率的1+X倍;其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值。
需要说明的是,当X≤0,会导致客户端观看的画面缓慢,和组播切换时,容易出现画面不连续的现象。若X过大,会导致画面和声音快速播放明显,用户体验差,甚至可能导致投诉,同时可能会导致FCC服务器缓存用尽,导致画面延迟等现象,因此,X值优选取一个相对合适的值,如X的取值范围优选为0.2≤X≤0.4,此外,作为一种更为优选的方案,X值可以设置为0.3。下面结合图4和图5所示内容对本发明实施例提供的缓存数据发送处理方法给予进一步的解释说明。
参见图4和图5,本发明实施例共包括有三个控制阶段,分别为:
第一阶段:T0到T1时间段(快发阶段):
以1+X的速率发送FCC服务器端缓存数据,确保客户端能够快速接收到数据,同时,尽可能的将缓存数据发送完。
第二阶段:T1到T2时间段(匀发阶段):
当FCC服务器端快发完毕,以1的速率发送FCC服务器端缓存数据,确保客户端能够平滑过渡。
第三阶段:T2到T3时间段(慢发阶段):
以X的速率发送FCC服务器端缓存数据,由于客户端已开始接收数据,只需要将剩余的缓存数据以低速方式发送给客户端即可。
举例来说,假定直播频道的码率为1M,发送标准速率为1,X为0.3,则对于无速率控制的FCC服务器和有速率控制的FCC服务器,客户端的带宽变化如图5所示,其中的具体数据对比如下表所示:
通过执行本实施例提供的缓存数据发送处理方法,对FCC服务器来说:有效的减少了FCC高带宽输出的时间,从T3到的T0时间减少到从T1到T0的时间;从T1到T3的时间段,带宽持续下降,对于提升FCC服务器的吞吐量和减少服务器的负荷起到有效的提升;同时通过快发、匀发、慢发三个时间阶段划分,在不同阶段采用不同的速率发送策略,避免了复杂的控制策略,减少了FCC服务器的运算,便于提升服务能力。
对客户端及带宽控制来说:有效的控制了客户端的带宽占用,对于平均码率为1M的视频直播内容,从客户端最大值2.3降为了2,节省了0.3M的带宽。若将码率提升为50M的4K内容,可以节省带宽为50×0.3=15M,效果非常有效。带宽的降低也意味着终端***处理的数据量的有效降低,对于提升终端的效率和稳定性,都带来了提升。高带宽时间段从T1到T3时间段内占用2.3M,变为从T1到T2、从T2到T3两个时间段,带宽减少为2M和1.3M,有效的减少了高带宽占用的时间,对于客户端观看直播的稳定性和接入网络的稳定性都带来一定的提升作用。
本实施例通过将FCC服务器的发送阶段划分为三个不同的阶段,每个阶段以不同的速率发送服务器端缓存数据,避免了复杂的控制策略,减少了服务器的运算和高带宽输出的时间,便于提升服务能力;同时有效降低了客户端处理的数据量,提升了客户端的效率和稳定性,避免播放卡顿等问题。
进一步地,在上述各实施例的基础上,所述缓冲数据发送处理方法还包括:
若接收到所述客户端对单播流的服务请求,则根据所述服务请求确定对应的缓存区,并根据所述服务请求定位所述缓存区内距离当前时刻最近或次近的I帧位置。
其中,所述服务器端缓存数据存储在所述缓存区内。
具体地,当客户端的播放器请求FCC提供单播媒体流时,FCC服务器需要从请求的频道缓存中快速定位到距离当前时刻最近或者次近的I帧位置,然后将I帧及后续帧序列给到客户端,以实现画面的正常展现。
图6示出了本实施例提供的一种缓存数据发送处理装置的结构示意图,如图6所示,所述装置包括:第一发送模块601;
第一发送模块601,用于当服务器收到客户端发送的接收消息时,采用第一预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述接收消息为所述客户端接收到组播序列号的消息;
所述第一预设速率低于所述服务器接收组播流的速率。
基于上述实施例的内容,在本实施例中,所述的缓存数据发送处理装置,还包括:
第二发送模块,用于在所述服务器收到客户端发送的接收消息之前,当所述服务器收到所述客户端的请求服务时,采用第二预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述第二预设速率高于所述服务器接收组播流的速率。
基于上述实施例的内容,在本实施例中,所述的缓存数据发送处理装置,还包括:
第三发送模块,用于在所述服务器通知所述客户端加入组播至所述服务器收到所述客户端发送的接收消息的时间段内,采用所述服务器接收组播流的速率向所述客户端发送所述服务器的缓存数据。
基于上述实施例的内容,在本实施例中,所述第一预设速率为所述服务器接收组播流的速率的X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
基于上述实施例的内容,在本实施例中,所述第二预设速率为所述服务器接收组播流的速率的1+X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
本实施例所述的缓存数据发送处理装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图7,所述电子设备具体包括如下内容:包括:处理器(processor)701、存储器(memory)702和总线703;其中,所述处理器701和存储器702通过所述总线703完成相互间的通信;
所述处理器701用于调用所述存储器702中的程序指令,以执行上述各方法实施例所提供的方法。
基于相同的发明构思,本发明又一实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例所提供的方法。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的沙箱内程序动态执行过程中的操作文件提取方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种缓存数据发送处理方法,其特征在于,包括:
当服务器收到客户端发送的接收消息时,采用第一预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述接收消息为所述客户端接收到组播序列号的消息;
所述第一预设速率低于所述服务器接收组播流的速率。
2.根据权利要求1所述的缓存数据发送处理方法,其特征在于,在所述服务器收到客户端发送的接收消息之前,还包括:
当所述服务器收到所述客户端的请求服务时,采用第二预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述第二预设速率高于所述服务器接收组播流的速率。
3.根据权利要求1或2所述的缓存数据发送处理方法,其特征在于,所述缓存数据发送处理方法还包括:
在所述服务器通知所述客户端加入组播至所述服务器收到所述客户端发送的接收消息的时间段内,采用所述服务器接收组播流的速率向所述客户端发送所述服务器的缓存数据。
4.根据权利要求1所述的缓存数据发送处理方法,其特征在于,所述第一预设速率为所述服务器接收组播流的速率的X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
5.根据权利要求2或4所述的缓存数据发送处理方法,其特征在于,所述第二预设速率为所述服务器接收组播流的速率的1+X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
6.一种缓存数据发送处理装置,其特征在于,包括:
第一发送模块,用于当服务器收到客户端发送的接收消息时,采用第一预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述接收消息为所述客户端接收到组播序列号的消息;
所述第一预设速率低于所述服务器接收组播流的速率。
7.根据权利要求6所述的缓存数据发送处理装置,其特征在于,还包括:
第二发送模块,用于在所述服务器收到客户端发送的接收消息之前,当所述服务器收到所述客户端的请求服务时,采用第二预设速率向所述客户端发送所述服务器的缓存数据;
其中,所述第二预设速率高于所述服务器接收组播流的速率。
8.根据权利要求6或7所述的缓存数据发送处理装置,其特征在于,所述缓存数据发送处理装置还包括:
第三发送模块,用于在所述服务器通知所述客户端加入组播至所述服务器收到所述客户端发送的接收消息的时间段内,采用所述服务器接收组播流的速率向所述客户端发送所述服务器的缓存数据。
9.根据权利要求6所述的缓存数据发送处理装置,其特征在于,所述第一预设速率为所述服务器接收组播流的速率的X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
10.根据权利要求7或9所述的缓存数据发送处理装置,其特征在于,所述第二预设速率为所述服务器接收组播流的速率的1+X倍;
其中,X为发送给所述客户端的单播流速率与所述客户端接收的组播流速率的差值,X的取值范围为:0.2≤X≤0.4。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一所述的缓存数据发送处理方法。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一所述的缓存数据发送处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721027.2A CN110505500A (zh) | 2019-08-06 | 2019-08-06 | 一种缓存数据发送处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721027.2A CN110505500A (zh) | 2019-08-06 | 2019-08-06 | 一种缓存数据发送处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110505500A true CN110505500A (zh) | 2019-11-26 |
Family
ID=68587985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910721027.2A Pending CN110505500A (zh) | 2019-08-06 | 2019-08-06 | 一种缓存数据发送处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505500A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112489611A (zh) * | 2020-11-27 | 2021-03-12 | 腾讯音乐娱乐科技(深圳)有限公司 | 线上歌房实现方法及电子设备和计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933385A (zh) * | 2006-09-30 | 2007-03-21 | 中兴通讯股份有限公司 | 无线局域网ip组播帧传输速率动态自调整的实现方法 |
CN101753973A (zh) * | 2008-12-12 | 2010-06-23 | 华为技术有限公司 | 一种频道切换方法、装置和*** |
US20100293587A1 (en) * | 2009-05-13 | 2010-11-18 | Alcatel-Lucent Usa Inc. | Fast channel change handling of late multicast join |
CN101998147A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 媒体数据的传输方法、网络侧设备及通信*** |
WO2012113212A1 (zh) * | 2011-02-24 | 2012-08-30 | 中兴通讯股份有限公司 | 在快速频道切换时预先发送加入组播请求的方法和*** |
CN106101865A (zh) * | 2016-06-30 | 2016-11-09 | 凌云天博光电科技股份有限公司 | 一种降低视频播放等待时间的方法、视频播放终端和*** |
CN106961625A (zh) * | 2017-03-13 | 2017-07-18 | 华为技术有限公司 | 一种频道切换方法及其装置 |
CN107682718A (zh) * | 2017-09-21 | 2018-02-09 | 烽火通信科技股份有限公司 | 多iptv平台下快速切换频道的方法及*** |
CN107948762A (zh) * | 2016-10-13 | 2018-04-20 | 华为技术有限公司 | 直播视频的传输方法、装置和*** |
EP3376770A1 (en) * | 2015-11-11 | 2018-09-19 | Sony Corporation | Communication device |
-
2019
- 2019-08-06 CN CN201910721027.2A patent/CN110505500A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933385A (zh) * | 2006-09-30 | 2007-03-21 | 中兴通讯股份有限公司 | 无线局域网ip组播帧传输速率动态自调整的实现方法 |
CN101753973A (zh) * | 2008-12-12 | 2010-06-23 | 华为技术有限公司 | 一种频道切换方法、装置和*** |
US20100293587A1 (en) * | 2009-05-13 | 2010-11-18 | Alcatel-Lucent Usa Inc. | Fast channel change handling of late multicast join |
CN101998147A (zh) * | 2009-08-14 | 2011-03-30 | 华为技术有限公司 | 媒体数据的传输方法、网络侧设备及通信*** |
WO2012113212A1 (zh) * | 2011-02-24 | 2012-08-30 | 中兴通讯股份有限公司 | 在快速频道切换时预先发送加入组播请求的方法和*** |
EP3376770A1 (en) * | 2015-11-11 | 2018-09-19 | Sony Corporation | Communication device |
CN106101865A (zh) * | 2016-06-30 | 2016-11-09 | 凌云天博光电科技股份有限公司 | 一种降低视频播放等待时间的方法、视频播放终端和*** |
CN107948762A (zh) * | 2016-10-13 | 2018-04-20 | 华为技术有限公司 | 直播视频的传输方法、装置和*** |
CN106961625A (zh) * | 2017-03-13 | 2017-07-18 | 华为技术有限公司 | 一种频道切换方法及其装置 |
CN107682718A (zh) * | 2017-09-21 | 2018-02-09 | 烽火通信科技股份有限公司 | 多iptv平台下快速切换频道的方法及*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112489611A (zh) * | 2020-11-27 | 2021-03-12 | 腾讯音乐娱乐科技(深圳)有限公司 | 线上歌房实现方法及电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111135569B (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
US10848433B2 (en) | Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device | |
CN103828325B (zh) | 流送媒体的统计复用 | |
US11863841B2 (en) | Video playing control method and system | |
US20130346627A1 (en) | Dynamic bit rate scaling | |
KR20180031547A (ko) | 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치 | |
CN106303674B (zh) | 数据传输方法、装置和智能电视*** | |
US20120297430A1 (en) | Central controller to manage network resources across a group of playback devices to control streaming video quality across the group of playback devices | |
CN102055718B (zh) | 一种在http streaming***中实现分层请求内容的方法,装置和*** | |
CN103067748B (zh) | 一种流媒体视频播放方法 | |
CN104219286A (zh) | 流媒体处理方法、装置、客户端、cdn节点服务器及终端 | |
US11356712B2 (en) | Minimizing stall duration tail probability in over-the-top streaming systems | |
EP1879353B1 (en) | Contents distribution system, contents distribution server, contents reproduction terminal, and contents distribution method | |
CN110351569B (zh) | 一种直播内容处理方法、装置、设备及介质 | |
CN107147921A (zh) | 基于切片与智能cdn调度的视频播放加速方法和设备 | |
WO2017166496A1 (zh) | 一种下载视频文件和提供视频文件的方法及装置 | |
US20220224778A1 (en) | Delivery of media content to a media device via multiple data packet streams | |
CN104471947A (zh) | 内容发送装置、内容再现装置、内容发布***、内容发送装置的控制方法、内容再现装置的控制方法、数据结构、控制程序以及记录介质 | |
CN110505500A (zh) | 一种缓存数据发送处理方法及装置 | |
CN112383775A (zh) | 一种基于云手机的视频数据传输方法 | |
CN102378066A (zh) | 一种实现低码率高清点播的方法和*** | |
Gotoh et al. | d-Cast: A division based broadcasting system for IP networks | |
CN114416013A (zh) | 数据发送方法、装置、电子设备及计算机可读存储介质 | |
CN112887742B (zh) | 直播流处理方法、装置、设备及存储介质 | |
CN115334068A (zh) | 一种数据传输方法、装置、终端设备和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191126 |