CN111741319A - 直播数据处理方法、装置及电子设备 - Google Patents

直播数据处理方法、装置及电子设备 Download PDF

Info

Publication number
CN111741319A
CN111741319A CN202010585694.5A CN202010585694A CN111741319A CN 111741319 A CN111741319 A CN 111741319A CN 202010585694 A CN202010585694 A CN 202010585694A CN 111741319 A CN111741319 A CN 111741319A
Authority
CN
China
Prior art keywords
live broadcast
data
live
source station
data frame
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
Application number
CN202010585694.5A
Other languages
English (en)
Other versions
CN111741319B (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010585694.5A priority Critical patent/CN111741319B/zh
Publication of CN111741319A publication Critical patent/CN111741319A/zh
Application granted granted Critical
Publication of CN111741319B publication Critical patent/CN111741319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control 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/64784Data processing by the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供了一种直播数据处理方法、装置及电子设备,涉及直播技术领域,该方法包括如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求;从源站服务器返回的直播数据中,筛选得到目标直播数据;将该目标直播数据发送给该直播终端。本发明实施例通过从多个源站服务器同时拉取直播终端请求的直播数据,并从接收到的多个直播数据中筛选出目标直播数据,再发送给直播终端,该方式避免了因单个源站服务器异常,或者因源站服务器与直播服务器之间网络链路异常,导致的直播卡顿现象,提升了直播服务质量。

Description

直播数据处理方法、装置及电子设备
技术领域
本发明涉及直播技术领域,尤其是涉及一种直播数据处理方法、装置及电子设备。
背景技术
随着互联网技术的发展,越来越多的用户可以采用互联网收看视频直播,如游戏直播、脱口秀直播等,给用户带来了极大的便利。网络直播技术的实现大多基于HLS(HTTPLive Streaming,HTTP的流媒体网络传输)类直播协议,并且是以流媒体为对象,采用流式传输方式进行的。HLS类直播协议主要用于为用户终端提供音视频服务,该协议包括m3u8索引文件和TS(Transport Stream,传输流)媒体分片文件,其中m3u8索引文件为文件列表形式,用于提供对应TS媒体分片文件的索引链接。
目前,现有直播服务的方案,通常是采用直播服务器向一个源站服务器拉流,这种方式下,如果直播服务器和源站服务器之间的链路质量出现问题,或者源站服务器发生服务异常,都会造成客户端的直播卡顿,降低直播服务质量。
发明内容
有鉴于此,本发明的目的在于提供一种直播数据处理方法、装置及电子设备,可以缓解直播服务中,因源站服务器异常或源站服务器与直播服务器之间网络链路异常,导致的直播卡顿现象,提升直播服务质量。
第一方面,本发明实施例提供了一种直播数据处理方法,应用于直播服务器,该直播服务器与多个源站服务器通信连接,该方法包括:如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求;从源站服务器返回的直播数据中,筛选得到目标直播数据;将该目标直播数据发送给该直播终端。
在本发明较佳的实施例中,上述从源站服务器返回的直播数据中,筛选得到目标直播数据的步骤,包括:如果接收到源站服务器返回的第一帧直播数据,确定该第一帧直播数据属于目标直播数据;对于在该第一帧直播数据之后接收到的数据帧,比较从该数据帧对应的源站服务器接收到的上一数据帧,是否与当前已发送给直播终端的最后发送数据帧相同;如果是,确定该数据帧属于目标直播数据。
在本发明较佳的实施例中,上述比较从该数据帧对应的源站服务器接收到的上一数据帧,是否与当前已发送给该直播终端的最后发送数据帧相同的步骤,包括:顺次比较该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给该直播终端的最后发送数据帧的数据类型、数据大小和数据内容,如果该数据类型、该数据大小和该数据内容中的任一项的比较结果为不同,确定最终比较结果为不同。
在本发明较佳的实施例中,上述数据类型包括视频数据和音频数据。
在本发明较佳的实施例中,上述方法还包括:如果从该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给该直播终端的最后发送数据帧不同,将该数据帧保存至指定内存。
在本发明较佳的实施例中,在将该数据帧保存至指定内存的步骤之后,该方法还包括:如果接收到上述多个源站服务器中,除该数据帧对应的源站服务器之外的源站服务器返回的新数据帧,比较该新数据帧与该指定内存中存储的最早数据帧是否相同;如果是,确定该指定内存中保存的数据帧均为目标直播数据。
在本发明较佳的实施例中,在上述将该目标直播数据发送给该直播终端的步骤之后,该方法还包括:确定当前已发送给该直播终端的最后发送数据帧对应的源站服务器;确定该指定内存中是否存储有从该源站服务器接收到的历史数据帧,如果是,清除该历史数据帧。
第二方面,本发明实施例还提供了一种直播数据处理装置,应用于直播服务器,该直播服务器与多个源站服务器通信连接,该装置包括:直播数据拉取请求发送模块,用于如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求;目标直播数据筛选模块,用于从该源站服务器返回的直播数据中,筛选得到目标直播数据;目标直播数据发送模块,用于将该目标直播数据发送给该直播终端。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述直播数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述直播数据处理方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种直播数据处理方法、装置及电子设备,如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求;从源站服务器返回的直播数据中,筛选得到目标直播数据;将该目标直播数据发送给该直播终端。该方式中,直播服务器通过从多个源站服务器同时拉取直播终端请求的直播数据,并从接收到的多个直播数据中筛选出目标直播数据,再发送给直播终端,该方式避免了因单个源站服务器异常,或者因源站服务器与直播服务器之间网络链路异常,导致的直播卡顿现象,提升了直播服务质量。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种直播数据处理方法的流程示意图;
图2为本发明实施例提供的一种直播数据处理方法的应用场景示意图;
图3为本发明实施例提供的另一种直播数据处理方法的流程示意图;
图4为本发明实施例提供的一种直播数据处理装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
图标:20-直播服务器;21-直播终端;22-第一源站服务器;23-第二源站服务器;41-直播数据拉取请求发送模块;42-目标直播数据筛选模块;43-目标直播数据发送模块;51-处理器;52-存储器;53-总线;54-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有的直播服务方式,在直播服务器和源站服务器之间的链路质量出现问题,或者源站服务器发生服务异常时,都会造成客户端的直播卡顿的问题,本发明实施例提供的一种直播数据处理方法、装置及电子设备,该技术可以应用于网络直播、现场直播等各种直播场景中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种直播数据处理方法进行详细介绍。
参见图1,所示为本发明实施例提供的一种直播数据处理方法的流程示意图,其中,该方法应用于直播服务器,并且,该直播服务器与多个源站服务器通信连接。由图1可见,该方法包括以下步骤:
步骤S102:如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求。
这里,上述源站服务器为可以拉取到该目标内容的直播数据的服务器,在实际操作中,直播服务器接收直播终端发送的直播数据请求,并向多个对应的源站服务器发送直播数据拉取请求,以拉取用户所请求的直播数据。
在本实施例中,直播服务器与多个源站服务器通信连接,这里,多个可以是两个或两个以上;并且,相比于传统的直播数据拉取方式,本实施例中不是仅向一个源站服务器拉流,而是同时向多个源站服务器拉流;因而,直播服务器将收到多个源站服务器返回的直播数据,这些直播数据均与直播终端的直播数据请求中的目标内容相匹配。
步骤S104:从源站服务器返回的直播数据中,筛选得到目标直播数据。
对于多个源站服务器返回的直播数据,均是各个源站服务器独立响应直播服务器发送的数据拉取请求而返回的直播数据,均与目标内容相匹配。在实际操作中,由于不同源站服务器本身的性能,以及源站服务器与直播服务器之间的链路差异(如网速差异、负载差异),直播数据帧到达直播服务器的时间有先后的差别,也可能存在数据帧丢失的差别。
在本实施例中,直播服务器以帧为单位从各个源站服务器接收直播数据,并且,根据各个源站服务器返回的直播数据帧,从接收到的数据帧中筛选出当前发送给直播终端的数据帧,从而得到目标直播数据。
在实际操作中,各个源站服务器发送的直播数据均是按序发送,直播服务器接收到的数据帧也是按顺序接收,例如,对于源站服务器A,从其接收到的数据帧可能是Frame1、Frame2、Frame4、Frame6、Frame7、Frame9;也即,接收到的数据帧是顺序排列的,但是可能中间存在丢失帧的情况。
在其中一种可能的实施方式中,对接收到的数据帧进行筛选时,可以在按序发送数据帧的前提下,按照将优先到达的数据帧优先发送,并将重复的数据帧丢弃的原则,从多个源站服务器接收到直播数据帧中,筛选出目标数据帧。
步骤S106:将该目标直播数据发送给该直播终端。
这里,以帧为单位将前述步骤中确定出的数据帧发送给直播终端,从而实现将目标直播数据发送给该直播终端。
参见图2,所示为一种直播数据处理方法的应用场景示意图,由图2可见,直播服务器20分别与直播终端21、第一源站服务器22和第二源站服务器23通信连接,其中,当直播服务器20接收到直播终端21的直播数据请求时,分别向第一源站服务器22和第二源站服务器23发送直播数据拉取请求,并从这两个源站服务接收直播数据流。由于直播服务器20从第一源站服务器22和第二源站服务器23接收到直播数据帧的时间有先后差异,在图2所示的实施方式中,按序将先到达的数据帧优先发送给直播终端21,从而实现直播。
相比于传统的直播数据发送方式,由于本实施例中的直播服务器同时向多个源站服务器拉取直播流,相应接收到多个源站服务器返回的直播数据,并从多个直播数据中筛选出目标直播数据,再发送给直播终端。通过这种方式,即使单个源站服务器发生异常,或者某源站服务器与直播服务器之间的链路出现异常,直播服务器还可以从其他正常的源站服务器和链路接收到直播数据,因而可以缓解因上述异常导致的直播卡顿现象。
本发明实施例提供的一种直播数据处理方法,如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求;从源站服务器返回的直播数据中,筛选得到目标直播数据;将该目标直播数据发送给该直播终端。该方式中,直播服务器通过从多个源站服务器同时拉取直播终端请求的直播数据,并从接收到的多个直播数据中筛选出目标直播数据,再发送给直播终端,该方式避免了因单个源站服务器异常,或者因源站服务器与直播服务器之间网络链路异常,导致的直播卡顿现象,提升了直播服务质量。
在图1所示直播数据处理方法的基础上,本发明实施例还提供了另一种直播数据处理方法,该方法重点描述了上述步骤S104(从源站服务器返回的直播数据中,筛选得到目标直播数据)的具体实现过程。
如图3所示,其为另一种直播数据处理方法的流程示意图,其中,该方法也应用于直播服务器,且该直播服务器与多个源站服务器通信连接,该方法包括以下步骤:
步骤S302:如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求。
这里,本实施例中的步骤S302对应前述实施例中的步骤S102,相应内容的描述可参考前述实施例中的对应部分,在此不再赘述。
步骤S304:如果接收到源站服务器返回的第一帧直播数据,确定该第一帧直播数据属于目标直播数据。
无论从上述多个源站服务器中的哪个源站服务器接收到第一帧直播数据,都确定该第一帧直播数据属于目标直播数据,也即,将最及时的影像发送给直播终端,使得用户可以以最快速度获取到直播内容。
步骤S306:对于在该第一帧直播数据之后接收到的数据帧,比较从该数据帧对应的源站服务器接收到的上一数据帧,是否与当前已发送给直播终端的最后发送数据帧相同;如果是,执行步骤S308;如果否,执行步骤S310。
在将接收到的第一帧直播数据发送给直播终端后,对于后续接收到的直播数据帧,按下述方式进行处理:
如果再接收到数据帧,比较从该数据帧对应的源站服务器接收到的上一数据帧,是否与当前已发送给直播终端的最后发送数据帧相同。其中,如果是相同的,则确定该数据帧属于目标直播数据;如果是不同的,则将该数据帧保存至指定内存。
在至少一种可能的实施方式中,可以通过顺次比较该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给该直播终端的最后发送数据帧的数据类型、数据大小和数据内容,以判断上述两个数据帧是否相同。其中,如果该数据类型、该数据大小和该数据内容中的任一项的比较结果为不同,则确定最终比较结果为不同。这里,数据帧的数据类型可以是视频数据和音频数据。
对于上述数据帧的比较结果为不同时,可能存在两种情况:当前接收到的该数据帧是较早的数据帧或者较晚的数据帧。
例如,假设直播服务器当前时刻已发送的数据帧为Frame5,且接收到的下一数据帧为Frame4(较早的数据帧)或者Frame8(较晚的数据帧)。这里,假设接收到的下一数据帧为Frame4,直播服务器从其对应的源站服务器接收到的上一数据帧(只可能是Frame4之前的Frame3等数据帧),必然与当前已发送给该直播终端的最后发送数据帧Frame5是不同的,因而将Frame4保存到内存中。
另外,假设接收到的下一数据帧为Frame8,直播服务器从其对应的源站服务器接收到的上一数据帧,可能是Frame8之前的任一帧,假设为Frame7,则与Frame5是不同的,因而也将Frame8保存到内存中;而如果上一数据帧是Frame5,则将Frame8确定为目标数据帧(由于从多个源站服务器拉流,这种情况出现概率极低)。
步骤S308:确定该数据帧属于目标直播数据。
如果直播服务器从该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给直播终端的最后发送数据帧相同,则确定该数据帧属于目标直播数据。
步骤S310:将该数据帧保存至指定内存。
如果直播服务器从该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给直播终端的最后发送数据帧不同,则将该数据帧保存至指定内存。
步骤S312:如果接收到上述多个源站服务器中,除该数据帧对应的源站服务器之外的源站服务器返回的新数据帧,比较该新数据帧与该指定内存中存储的最早数据帧是否相同,如果是,确定该指定内存中保存的数据帧均为目标直播数据。
显然,对于上述接收到的较晚的数据帧,在保存到内存中后,后续还需将其发送给直播终端;而对于接收到的较早的数据帧,无需再发送给直播终端,因而在保存到内存后还需要对其进行清除。
在其中一种可能的实施方式中,在将该数据帧M保存至指定内存的之后,如果接收到上述多个源站服务器中,除该数据帧M对应的源站服务器之外的源站服务器返回的新数据帧,比较该新数据帧与该指定内存中存储的最早数据帧是否相同;如果是,确定该指定内存中保存的数据帧均为目标直播数据。
例如,直播服务器当前发送给直播终端的最后数据帧为Frame5,其是从源站服务器A接收的,并且,接收到下一数据帧为源站服务器B发送的Frame8,其中,从源站服务器B接收到的上一数据帧为Frame4,经比较之后,将Frame8保存到指定内存中(后续可能从源站服务器B接收到Frame9、Frame10等,在Frame8发送前,这些数据帧均相应保存到内存中,且Frame8为内存中的最早数据帧);后续从源站服务器A继续接收Frame6、Frame7均发送给直播终端(均与内存中的最早数据帧Frame8进行了比较),当从源站服务器A接收到Frame8时,与内存中的最早数据帧Frame8进行比较并判断为相同,此时,将内存中的Frame8以及此时在内存中保存的,从源站服务器B接收的在Frame8之后的数据帧(如Frame9、Frame10等)均确定为目标直播数据,从而一并发送给直播终端。
在另一种可能的实施方式中,每次将确定出的目标数据帧发送给直播终端之后,还确定当前已发送给该直播终端的最后发送数据帧对应的源站服务器,并且,确定该指定内存中是否存储有从该源站服务器接收到的历史数据帧,如果是,清除该历史数据帧。
例如,假设直播服务器当前发送给直播终端的最后数据帧为Frame5,其是从源站服务器A接收的,在将Frame5发送给直播终端后,还需查询指定内存中是否存储有从该源站服务器A接收到的历史数据帧,如果有,表明这些历史数据帧都是Frame5之前的数据帧,例如Frame4、Frame3等,是不需要再发送给直播终端的,因而将这部分历史数据帧清除。
步骤S314:将该目标直播数据发送给该直播终端。
这里,本实施例中的步骤S314,对应上述实施例中的步骤S106,相应内容的描述可以参考前述实施例的对应部分,在此不再赘述。
本实施例提供的直播数据处理方法,直播服务器通过从多个源站服务器同时拉取直播终端请求的直播数据,并从拉取的直播数据中确定出目标直播数据,再将目标直播数据发送给直播终端,该方式避免了因单个源站服务器异常,或者因源站服务器与直播服务器之间网络链路异常,导致的直播卡顿现象,提升了直播服务质量。
对应于图1中所示的直播数据处理方法,本发明实施例还提供了一种直播数据处理装置,其中,该装置应用于直播服务器,并且该直播服务器与多个源站服务器通信连接。参见图4,所示为一种直播数据处理装置的结构示意图,由图4可见,该装置包括依次相连的直播数据拉取请求发送模块41、目标直播数据筛选模块42和目标直播数据发送模块43。其中,各个模块的功能如下:
直播数据拉取请求发送模块41,用于如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求;
目标直播数据筛选模块42,用于从该源站服务器返回的直播数据中,筛选得到目标直播数据;
目标直播数据发送模块43,用于将该目标直播数据发送给该直播终端。
本发明实施例提供的一种直播数据处理装置,如果接收到来自直播终端针对目标内容的直播数据请求,向该多个源站服务器发送针对该目标内容的直播数据拉取请求;从源站服务器返回的直播数据中,筛选得到目标直播数据;将该目标直播数据发送给该直播终端。该装置中,直播服务器通过从多个源站服务器同时拉取直播终端请求的直播数据,并从接收到的多个直播数据中筛选出目标直播数据,再发送给直播终端,该方式避免了因单个源站服务器异常,或者因源站服务器与直播服务器之间网络链路异常,导致的直播卡顿现象,提升了直播服务质量。
在其中一种可能的实施方式中,上述目标直播数据筛选模块42还用于:如果接收到源站服务器返回的第一帧直播数据,确定该第一帧直播数据属于目标直播数据;对于在该第一帧直播数据之后接收到的数据帧,比较从该数据帧对应的源站服务器接收到的上一数据帧,是否与当前已发送给直播终端的最后发送数据帧相同;如果是,确定该数据帧属于目标直播数据。
在另一种可能的实施方式中,上述目标直播数据筛选模块42还用于:顺次比较该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给该直播终端的最后发送数据帧的数据类型、数据大小和数据内容,如果该数据类型、该数据大小和该数据内容中的任一项的比较结果为不同,确定最终比较结果为不同。
在另一种可能的实施方式中,上述数据类型包括视频数据和音频数据。
在另一种可能的实施方式中,上述装置还包括保存模块,用于如果从该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给该直播终端的最后发送数据帧不同,将该数据帧保存至指定内存。
在另一种可能的实施方式中,上述目标直播数据筛选模块42还用于:如果接收到上述多个源站服务器中,除该数据帧对应的源站服务器之外的源站服务器返回的新数据帧,比较该新数据帧与该指定内存中存储的最早数据帧是否相同;如果是,确定该指定内存中保存的数据帧均为目标直播数据。
在另一种可能的实施方式中,上述装置还包括清除模块,用于确定当前已发送给该直播终端的最后发送数据帧对应的源站服务器;确定该指定内存中是否存储有从该源站服务器接收到的历史数据帧,如果是,清除该历史数据帧。
本发明实施例提供的直播数据处理装置,其实现原理及产生的技术效果和前述直播数据处理方法实施例相同,为简要描述,直播数据处理装置的实施例部分未提及之处,可参考前述直播数据处理方法实施例中相应内容。
本发明实施例还提供了一种电子设备,如图5所示,为该电子设备的结构示意图,其中,该电子设备包括处理器51和存储器52,该存储器52存储有能够被该处理器51执行的机器可执行指令,该处理器51执行该机器可执行指令以实现上述直播数据处理方法。
在图5示出的实施方式中,该电子设备还包括总线53和通信接口54,其中,处理器51、通信接口54和存储器52通过总线连接。
其中,存储器52可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口54(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器51可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器51中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器51可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器51读取存储器52中的信息,结合其硬件完成前述实施例的直播数据处理方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述直播数据处理方法,具体实现可参见前述方法实施例,在此不再赘述。
本发明实施例所提供的直播数据处理方法、直播数据处理装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的直播数据处理方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种直播数据处理方法,其特征在于,应用于直播服务器,所述直播服务器与多个源站服务器通信连接,所述方法包括:
如果接收到来自直播终端针对目标内容的直播数据请求,向所述多个源站服务器发送针对所述目标内容的直播数据拉取请求;
从所述源站服务器返回的直播数据中,筛选得到目标直播数据;
将所述目标直播数据发送给所述直播终端。
2.根据权利要求1所述的直播数据处理方法,其特征在于,所述从所述源站服务器返回的直播数据中,筛选得到目标直播数据的步骤,包括:
如果接收到所述源站服务器返回的第一帧直播数据,确定所述第一帧直播数据属于目标直播数据;
对于在所述第一帧直播数据之后接收到的数据帧,比较从该数据帧对应的源站服务器接收到的上一数据帧,是否与当前已发送给所述直播终端的最后发送数据帧相同;
如果是,确定该数据帧属于目标直播数据。
3.根据权利要求2所述的直播数据处理方法,其特征在于,所述比较从该数据帧对应的源站服务器接收到的上一数据帧,是否与当前已发送给所述直播终端的最后发送数据帧相同的步骤,包括:
顺次比较该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给所述直播终端的最后发送数据帧的数据类型、数据大小和数据内容,如果所述数据类型、所述数据大小和所述数据内容中的任一项的比较结果为不同,确定最终比较结果为不同。
4.根据权利要求3所述的直播数据处理方法,其特征在于,所述数据类型包括视频数据和音频数据。
5.根据权利要求3所述的直播数据处理方法,其特征在于,所述方法还包括:
如果从该数据帧对应的源站服务器接收到的上一数据帧,与当前已发送给所述直播终端的最后发送数据帧不同,将该数据帧保存至指定内存。
6.根据权利要求5所述的直播数据处理方法,其特征在于,在将该数据帧保存至指定内存的步骤之后,所述方法还包括:
如果接收到所述多个源站服务器中,除该数据帧对应的源站服务器之外的源站服务器返回的新数据帧,比较所述新数据帧与所述指定内存中存储的最早数据帧是否相同;
如果是,确定所述指定内存中保存的数据帧均为目标直播数据。
7.根据权利要求5所述的直播数据处理方法,其特征在于,在所述将所述目标直播数据发送给所述直播终端的步骤之后,所述方法还包括:
确定当前已发送给所述直播终端的最后发送数据帧对应的源站服务器;
确定所述指定内存中是否存储有从该源站服务器接收到的历史数据帧,如果是,清除所述历史数据帧。
8.一种直播数据处理装置,其特征在于,应用于直播服务器,所述直播服务器与多个源站服务器通信连接,所述装置包括:
直播数据拉取请求发送模块,用于如果接收到来自直播终端针对目标内容的直播数据请求,向所述多个源站服务器发送针对所述目标内容的直播数据拉取请求;
目标直播数据筛选模块,用于从所述源站服务器返回的直播数据中,筛选得到目标直播数据;
目标直播数据发送模块,用于将所述目标直播数据发送给所述直播终端。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至7任一项所述的直播数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至7任一项所述的直播数据处理方法。
CN202010585694.5A 2020-06-23 2020-06-23 直播数据处理方法、装置及电子设备 Active CN111741319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010585694.5A CN111741319B (zh) 2020-06-23 2020-06-23 直播数据处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010585694.5A CN111741319B (zh) 2020-06-23 2020-06-23 直播数据处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111741319A true CN111741319A (zh) 2020-10-02
CN111741319B CN111741319B (zh) 2022-06-03

Family

ID=72650899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010585694.5A Active CN111741319B (zh) 2020-06-23 2020-06-23 直播数据处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111741319B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992997A (zh) * 2021-10-27 2022-01-28 北京金山云网络技术有限公司 源站切换方法、装置、设备及计算机可读存储介质
CN114844847A (zh) * 2021-12-14 2022-08-02 合肥哈工轩辕智能科技有限公司 一种高可靠性的实时消息分发方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166190A (zh) * 2007-09-20 2008-04-23 腾讯科技(深圳)有限公司 影音文件的多源下载方法及装置
CN101453485A (zh) * 2007-12-07 2009-06-10 英业达股份有限公司 使用多播数据流进行数据传输及写入的方法
CN101505253A (zh) * 2008-02-05 2009-08-12 突触计算机系统(上海)有限公司 网络设备的附属设备中为网络设备提供数据的方法及装置
CN103427925A (zh) * 2012-05-16 2013-12-04 现代摩比斯株式会社 数字广播收信终端及数字多媒体广播提供方法
CN103428060A (zh) * 2012-05-25 2013-12-04 北京东土科技股份有限公司 环形网络的无缝冗余实现方法
US20140222973A1 (en) * 2007-12-27 2014-08-07 At&T Intellectual Property I, L.P. Network-optimized content delivery for high demand non-live contents
CN104735044A (zh) * 2014-11-18 2015-06-24 深圳市同洲电子股份有限公司 一种流媒体直播方法及系统
CN109600373A (zh) * 2018-12-11 2019-04-09 深圳市网心科技有限公司 一种直播数据传输方法、装置、系统以及可读存储介质
CN110650214A (zh) * 2019-10-21 2020-01-03 北京知道创宇信息技术股份有限公司 一种代理方法、装置、电子设备及存储介质
CN111093110A (zh) * 2019-12-03 2020-05-01 华为技术有限公司 一种http请求传输方法及设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166190A (zh) * 2007-09-20 2008-04-23 腾讯科技(深圳)有限公司 影音文件的多源下载方法及装置
CN101453485A (zh) * 2007-12-07 2009-06-10 英业达股份有限公司 使用多播数据流进行数据传输及写入的方法
US20140222973A1 (en) * 2007-12-27 2014-08-07 At&T Intellectual Property I, L.P. Network-optimized content delivery for high demand non-live contents
CN101505253A (zh) * 2008-02-05 2009-08-12 突触计算机系统(上海)有限公司 网络设备的附属设备中为网络设备提供数据的方法及装置
CN103427925A (zh) * 2012-05-16 2013-12-04 现代摩比斯株式会社 数字广播收信终端及数字多媒体广播提供方法
CN103428060A (zh) * 2012-05-25 2013-12-04 北京东土科技股份有限公司 环形网络的无缝冗余实现方法
CN104735044A (zh) * 2014-11-18 2015-06-24 深圳市同洲电子股份有限公司 一种流媒体直播方法及系统
CN109600373A (zh) * 2018-12-11 2019-04-09 深圳市网心科技有限公司 一种直播数据传输方法、装置、系统以及可读存储介质
CN110650214A (zh) * 2019-10-21 2020-01-03 北京知道创宇信息技术股份有限公司 一种代理方法、装置、电子设备及存储介质
CN111093110A (zh) * 2019-12-03 2020-05-01 华为技术有限公司 一种http请求传输方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张冰等: "多路恢复数据流并行传输与控制方法", 《通信学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992997A (zh) * 2021-10-27 2022-01-28 北京金山云网络技术有限公司 源站切换方法、装置、设备及计算机可读存储介质
CN114844847A (zh) * 2021-12-14 2022-08-02 合肥哈工轩辕智能科技有限公司 一种高可靠性的实时消息分发方法及装置

Also Published As

Publication number Publication date
CN111741319B (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN111628847B (zh) 数据传输方法及装置
CN108696773B (zh) 一种实时视频的传输方法及装置
EP4362422A2 (en) Network traffic identification method and related device
US11218382B2 (en) Quality of service monitoring method, device, and system
CN111741319B (zh) 直播数据处理方法、装置及电子设备
CN109495505B (zh) 流媒体协议转换方法、装置、系统及计算机可读介质
CN113453085B (zh) 判断播放卡顿的方法、装置和电子终端
US20140109156A1 (en) Method, terminal, server and system for playing media file
WO2013021097A1 (en) Methods, apparatuses and computer program products for enabling live sharing of data
CN111263239B (zh) 视频帧丢包的处理方法及相关装置
CN106210929B (zh) 基于hls客户端的网络流下载终端及优化方法
JP2024509728A (ja) データ再送処理方法、装置、コンピュータ機器及びコンピュータプログラム
US20170142029A1 (en) Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium
CN102136962B (zh) 质量问题定界方法及相关设备与系统
CN106105145B (zh) 用于操作沿客户端终端和至少一个服务器之间的传输路径布置的缓存器的方法、及相应的缓存器
CN111314179A (zh) 网络质量检测方法、装置、设备和存储介质
CN105556922A (zh) 网络中的dash表示自适应
CN113727199A (zh) 一种hls切片快速起播方法
CN112565016B (zh) 异常时延的定位方法、系统、装置、电子设备及存储介质
WO2012075601A1 (en) Method and apparatus for managing content distribution over multiple terminal devices in collaborative media system
CN114422866B (zh) 一种视频处理方法、装置、电子设备和存储介质
EP3691261A1 (en) Method and device for locating video service fault, and storage medium
CN108616760B (zh) 一种基于浏览器的直播方法、服务器、主播端和用户端
CN113824970B (zh) 直播数据的处理方法、装置及电子设备
CN112688824B (zh) Rtp丢包检测方法、装置、设备及计算机可读存储介质

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