CN108307213A - 一种直播数据的下载方法、装置及系统 - Google Patents

一种直播数据的下载方法、装置及系统 Download PDF

Info

Publication number
CN108307213A
CN108307213A CN201710020461.9A CN201710020461A CN108307213A CN 108307213 A CN108307213 A CN 108307213A CN 201710020461 A CN201710020461 A CN 201710020461A CN 108307213 A CN108307213 A CN 108307213A
Authority
CN
China
Prior art keywords
upper layer
layer node
node
lower level
data block
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
Application number
CN201710020461.9A
Other languages
English (en)
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.)
Shenzhen Excellent Friends Bullock Media Development Co
Original Assignee
Shenzhen Excellent Friends Bullock Media Development Co
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 Shenzhen Excellent Friends Bullock Media Development Co filed Critical Shenzhen Excellent Friends Bullock Media Development Co
Priority to CN201710020461.9A priority Critical patent/CN108307213A/zh
Publication of CN108307213A publication Critical patent/CN108307213A/zh
Pending legal-status Critical Current

Links

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/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
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control 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
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Landscapes

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

Abstract

本发明公开了一种直播数据的下载方法及装置,该方法包括:下层节点获取多个上层节点;下层节点分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点;下层节点与在用上层节点集合包括的所述上层节点建立连接;下层节点接收所述在用上层节点集合包括的第一上层节点发送的数据块信息;下层节点从所述在用上层节点集合中选出至少一个第二上层节点,并基于接收的所述数据块信息,向选出的所述至少一个第二上层节点发送数据块下载请求。本发明可以提高直播服务的质量,有效解决单点网络传输带来的延迟及数据丢失风险。

Description

一种直播数据的下载方法、装置及系统
技术领域
本发明涉及计算机技术及互联网领域,特别是涉及一种直播数据的下载方法、装置及系统。
背景技术
在直播系统的数据传输过程中,对实时性与稳定性有着较高的要求,而网络状况一旦发生拥堵导致延迟或者丢包时则会影响到直播的观看体验。而目前市场上对于直播传输服务的做法是基于单连接进行,在发生问题之后再切换不同源,这样使得处理滞后于问题发生的时间点,仍然会影响用户体验。
发明内容
本发明提供了一种直播数据的下载方法、装置及系统,用于解决现有技术中存在的直播流单点网络传输容易导致延迟或者丢包的问题。
第一方面,本发明提供了一种直播数据的下载方法,包括:
下层节点获取多个上层节点;
所述下层节点分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点;
所述下层节点与所述在用上层节点集合包括的所述上层节点建立连接;
所述下层节点接收所述在用上层节点集合包括的第一上层节点发送的数据块信息;
所述下层节点从所述在用上层节点集合中选出至少一个第二上层节点,并基于接收的所述数据块信息,向选出的所述至少一个第二上层节点发送数据块下载请求。
其中,所述下层节点分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点,包括:
所述下层节点获取每个上层节点的下载速率和所述数据块的视频码率;
所述下层节点筛选出下载速率不小于所述数据块的视频码率的上层节点;
所述下层节点按照下载速率对筛选出的多个上层节点进行排序;
所述下层节点将排序在前或者排序在后的若干个上层节点,确定为所述在用上层节点集合包括的所述上层节点;
所述下层节点将不属于所述在用上层节点集合的上层节点,确定为所述备用上层节点集合包括的所述上层节点;
所述下层节点从所述在用上层节点集合中选出至少一个第二上层节点,包括:
所述下层节点按照下载速率对所述在用上层节点集合中包括的各上层节点进行排序;
所述下层节点将排序在前或者排序在后的至少一个上层节点,确定为选出的所述至少一个第二上层节点。
其中,所述直播数据的下载方法还包括:
在所述在用上层节点集合包括的上层节点满足如下任意一个条件时,所述下层节点从所述在用上层节点集合中删除所述上层节点,并在所述备用上层节点集合中增加所述上层节点:
所述下层节点无法与所述上层节点建立连接;
或者,所述下层节点与所述上层节点建立的连接断开;
或者,所述下层节点在与所述上层节点建立连接后,设定时间内未接收到所述上层节点发送的数据块信息;
或者,所述下层节点接收到的所述上层节点发送的数据块发生错误;
或者,所述上层节点的下载速率小于预设速率;
所述方法还包括:
在所述备用上层节点集合包括的上层节点的下载速率不小于预设速率时,所述下层节点从所述备用上层节点集合中删除所述下载速率不小于预设速率的上层节点,并在所述在用上层节点集合中增加所述下载速率不小于预设速率的上层节点;
所述方法还包括:
在所述在用上层节点集合包括的上层节点的数量小于预设数量阈值时,所述下层节点从所述备用上层节点集合中删除至少一个上层节点,并在所述在用上层节点集合中增加所述删除的至少一个上层节点。
其中,所述直播数据的下载方法还包括:
在数据块下载过程中,每隔设定时间间隔,根据所述在用上层节点集合中的各上层节点的下载速率,重新选出下载所述数据块的所述第二上层节点,并向所述重新选出的第二上层节点发送数据块下载请求。
第二方面,本发明还提供了一种直播数据的下载方法,包括:
在用上层节点集合包括的上层节点与下层节点建立连接;
所述在用上层节点集合包括的第一上层节点向所述下层节点发送数据块信息;
所述在用上层节点集合包括的至少一个第二上层节点接收所述下层节点基于所述数据块信息发送的数据块下载请求;
其中,所述在用上层节点集合包括,所述下层节点获取的多个上层节点中、除备用上层节点集合包括的上层节点以外的上层节点。
第三方面,本发明提供了一种直播数据的下载装置,包括:
获取模块,用于获取多个上层节点;
筛选模块,用于分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点;
连接模块,用于与所述在用上层节点集合包括的所述上层节点建立连接;
接收模块,用于接收所述在用上层节点集合包括的第一上层节点发送的数据块信息;
下载模块,用于从所述在用上层节点集合中选出至少一个第二上层节点,并基于接收的所述数据块信息,向选出的所述至少一个第二上层节点发送数据块下载请求。
其中,所述筛选模块在分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点时,具体用于:
获取每个上层节点的获取每个上层节点的下载速率和所述数据块的视频码率;筛选出下载速率不小于所述数据块的视频码率的上层节点;按照下载速率对筛选出的多个上层节点进行排序;将排序在前或者排序在后的若干个上层节点,确定为所述在用上层节点集合包括的所述上层节点;将不属于所述在用上层节点集合的上层节点,确定为所述备用上层节点集合包括的所述上层节点;
所述下载模块在从所述在用上层节点集合中选出至少一个第二上层节点时,具体用于:
按照下载速率对所述在用上层节点集合中包括的各上层节点进行排序;将排序在前或者排序在后的至少一个上层节点,确定为选出的所述至少一个第二上层节点。
其中,所述直播数据的下载装置还包括切换模块,所述切换模块用于:
在所述在用上层节点集合包括的上层节点满足如下任意一个条件时,从所述在用上层节点集合中删除所述上层节点,并在所述备用上层节点集合中增加所述上层节点:所述连接模块无法与所述上层节点建立连接;或者,所述连接模块与所述上层节点建立的连接断开;或者,在所述连接模块与所述上层节点建立连接后,所述接收模块设定时间内未接收到所述上层节点发送的数据块信息;或者,所述下载模块接收到的所述上层节点发送的数据块发生错误;或者,所述上层节点的下载速率小于预设速率;
和/或,在所述备用上层节点集合包括的上层节点的下载速率不小于预设速率时,从所述备用上层节点集合中删除所述下载速率不小于预设速率的上层节点,并在所述在用上层节点集合中增加所述下载速率不小于预设速率的上层节点;
和/或,在所述在用上层节点集合包括的上层节点的数量小于预设数量阈值时,从所述备用上层节点集合中删除至少一个上层节点,并在所述在用上层节点集合中增加所述删除的至少一个上层节点。
其中,所述直播数据的下载装置还包括下载更新模块,用于:
在数据块下载过程中,每隔设定时间间隔,根据所述在用上层节点集合中的各上层节点的下载速率,重新选出下载所述数据块的所述第二上层节点,并向所述重新选出的第二上层节点发送数据块下载请求。
第四方面,本发明提供了一种直播数据的下载系统,包括多个上层节点以及所述的直播数据的下载装置。
本发明实施例中,下层节点与确定出的在用上层节点集合包括的上层节点建立连接,接收在用上层节点集合包括的第一上层节点发送的数据块信息,从在用上层节点集合中选出至少一个第二上层节点,向选出的至少一个第二上层节点发送数据块下载请求,从而实现了提供一种新的直播数据下载方法,解决了直播流单点网络传输容易导致延迟或者丢包的问题,提高了直播服务的质量。
附图说明
图1是本发明实施例的直播数据的下载方法流程示意图;
图2是本发明实施例的下层节点获取上层节点的方法流程示意图;
图3是本发明实施例的在用节点和备用节点选择示意图;
图4是本发明实施例的分块数据下载示意图;
图5是本发明实施例的在用上层节点集合和备用上层节点集合动态调整示意图;
图6是本发明实施例的直播数据的下载装置的结构示意图。
具体实施方式
为了更好的理解本发明实施例提供的技术方案,首先对直播、TCP、缓存和负载均衡等名词进行简单的介绍。
直播:将实时产生的音视频流媒体数据通过网络传输及时分发至终端并播出的技术。
TCP(Transmission Control Protocol,传输控制协议):一种面向连接的、可靠的、基于字节流的传输层通信协议。
缓存:数据交换的缓冲区,在直播体系中用来存储实时分发的音视频数据。
负载均衡:负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
如图1所示,本发明实施例提供的第一种直播数据的下载方法,包括:
步骤101、下层节点获取多个上层节点。
具体实施中,下层节点可以采用任意一种方法获取上层节点,比如,可以预先在下层节点的本地存储多个上层节点,则下层节点可以直接从本地获取上层节点;或者,下层节点可以从上层节点的管理节点获取上层节点;或者,下层节点可以向中间节点(比如,代理节点)发送获取上层节点请求,由中间节点获取上层节点后转发给下层节点等。
下面以下层节点(即,传输节点)从上层节点的管理节点(即,配置中心)获取上层节点为例进行介绍。
如图2所示,下层节点向配置中心请求上层节点列表;配置中心根据下层节点的请求返回上层节点列表,配置中心返回上层节点列表的原则是依据上层节点的系统资源空闲情况、IO负载等挑选出性能最优的上层节点返回。
其中,下层节点获取多个上层节点的目的是为了与多个上层节点建立连接获取数据从而实现多点下载。
步骤102、下层节点分别确定在用上层节点集合包括的上层节点,以及备用上层节点集合包括的上层节点。
具体实施中,下层节点需要对获取的多个上层节点进行分类,得到在用的上层节点(即,在用上层节点集合包括的上层节点)以及备用的上层节点(即,备用上层节点集合包括的上层节点)。
具体实施中,下层节点对获取的多个上层节点进行分类的方法可以多种多样,比如,下层节点将下载速率不小于预设速率阈值的上层节点确定为在用的上层节点,将剩余的上层节点确定为备用的上层节点;或者,下层节点将IO负载小于预设负载阈值的上层节点确定为在用的上层节点,将剩余的上层节点确定为备用的上层节点;或者,下层节点将连接数小于预设连接数阈值的上层节点确定为在用的上层节点,将剩余的上层节点确定为备用的上层节点;或者,下层节点将下载速率不小于预设速率阈值且系统资源空闲程度低于预设空闲等级的上层节点确定为在用的上层节点,将剩余的上层节点确定为备用的上层节点等等;其中,预设速率阈值、预设负载阈值、预设连接数阈值和预设空闲等级等可以预先配置。
需要说明的是,在本发明其他实施例中,对获取的多个上层节点进行分类所参考的性能参数不限,还可以是响应时间、数据连接的稳定度或者其他影响直播数据下载的参数。
较佳的,下层节点分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的上层节点,包括:
下层节点获取每个上层节点的下载速率和数据块的视频码率;
下层节点筛选出下载速率不小于数据块的视频码率的上层节点;
下层节点按照下载速率对筛选出的多个上层节点进行排序;
下层节点将排序在前或者排序在后的若干个上层节点,确定为在用上层节点集合包括的上层节点;
下层节点将不属于在用上层节点集合的上层节点,确定为备用上层节点集合包括的所述上层节点。
具体实施中,数据块的视频码率是指下载的直播数据包含的数据块的视频码率,也就是指下载的直播数据的视频码率。
具体实施中,若下层节点按照下载速率从大到小的顺序对筛选出的多个上层节点进行排序,则下层节点将排序在前的若干个上层节点,确定为在用上层节点集合包括的上层节点;若下层节点按照下载速率从小到大的顺序对筛选出的多个上层节点进行排序,则下层节点将排序在后的若干个上层节点,确定为在用上层节点集合包括的上层节点。
具体实施中,也可以把筛选出的下载速率不小于数据块的视频码率的上层节点直接确定为在用上层节点集合包括的上层节点。
较佳的,在实际部署环境中出于热点备份的考虑,在用上层节点集合中包括的上层节点属于不同源。
下面以下层节点根据上层节点的下载速率,对获取的多个上层节点进行分类的方法进行介绍。
如图3所示,在此采取竞争-决策模型,定义一系列策略经过分析比较上层节点的下载速率排序后最终决出当前使用的区域号,然后根据当前使用的区域号选择相应的上层节点作为在用的上层节点,而其他区域的节点则自动转为备用的上层节点;即,在用的上层节点选择策略具体为:首先按照下载速率进行排序并分析获得视频播放速率;以多数优先原则将速率最高的节点区域号定为在用区域号;根据选定区域号挑选在用上层节点集合;被排除的节点集合转为备用节点集合。
步骤103、下层节点与在用上层节点集合包括的上层节点建立连接。
具体实施中,对获取的多个上层节点进行分类后,下层节点与若干个上层节点建立连接,然后从上层节点取得同步数据。
具体实施中,下层节点可以与在用上层节点集合包括的部分上层节点建立连接,也可以与在用上层节点集合包括的全部上层节点建立连接。
步骤104、下层节点接收在用上层节点集合包括的第一上层节点发送的数据块信息。
具体实施中,直播数据在上层节点上进行缓存时要按照分块规则进行存储,直播数据的分块规则是以视频的GOP size为基准,对每个数据块都要打上包序号与分块号标识。
具体实施中,每个上层节点在收到新数据时会自动向已经连接上自己的下层节点发送新数据块的信息,此数据块信息可以包含块序号、块大小等,但不包含音视频数据;下层节点在收到新数据块信息之后会更新本地下载任务。
步骤105、下层节点从在用上层节点集合中选出至少一个第二上层节点,并基于接收的数据块信息,向选出的至少一个第二上层节点发送数据块下载请求。
具体实施中,下层节点在收到分块信息之后依据分块信息向上层节点请求数据。
具体实施中,第二上层节点可以包括发送数据块信息的第一上层节点,也可以不包括发送数据块信息的第一上层节点。
具体实施中,步骤105中下层节点从在用上层节点集合中选出第二上层节点的实施方式,与步骤102中下层节点挑选在用上层节点集合包括的上层节点的实施方式类似,可以采用多种多样的选择方式,在此不再赘述。
较佳的,下层节点从所述在用上层节点集合中选出至少一个第二上层节点,包括:
下层节点按照下载速率对在用上层节点集合中包括的各上层节点进行排序;
下层节点将排序在前或者排序在后的至少一个上层节点,确定为选出的至少一个第二上层节点。
其中,以下载速率优先作为首要原则,可以实现数据尽可能快地传输到下层,保证直播业务对时效性的要求。
具体实施中,对于下载速率的计算方式,可以采用现有技术中任一种方式;比如,在下载一个块数据之前将精确到毫秒的系统时间记录下来,然后在经过发出请求、收到应答直至整块数据收完为止记录当时系统时间,以块数据的大小除以前后时间差得到下载速率值。
具体实施中,上层节点收到数据块下载请求以后检索本地,如果请求命中则将音视频数据块推送至下层节点。
如图4所示,下层节点在成功下载数据块后,会执行另一数据块下载任务;而在下载失败时,会重新选择第二上层节点下载之前下载失败的数据块。
其中,下载任务工作可以在多个线程中,以此达到并行下载分块数据的目的,以此解决单点连接带来的风险。
具体实施中,鉴于上层节点性能动态变化的情况,下层节点可以动态调整在用上层节点集合和备用上层节点集合;即,下层节点对各上层节点进行持续的探测与分析,一旦满足调整条件时,即进行调整;主要包括如下几种情况:
第一种情况:
较佳的,本发明实施例提供的直播数据的下载方法还包括:
在所述在用上层节点集合包括的上层节点满足如下任意一个条件时,所述下层节点从所述在用上层节点集合中删除所述上层节点,并在所述备用上层节点集合中增加所述上层节点:
所述下层节点无法与所述上层节点建立连接;
或者,所述下层节点与所述上层节点建立的连接断开;
或者,所述下层节点在与所述上层节点建立连接后,设定时间内未接收到所述上层节点发送的数据块信息;
或者,所述下层节点接收到的所述上层节点发送的数据块发生错误;
或者,所述上层节点的下载速率小于预设速率。
具体实施中,一旦在用上层节点集合包括的上层节点满足如上任意一个条件时,则变更区域号,将在用的上层节点转为备用的上层节点。
具体实施中,预设速率可以根据实际情况或经验确定。
下面以在用上层节点集合包括的上层节点的下载速率小于预设速率时,从所述在用上层节点集合中删除所述上层节点,并在所述备用上层节点集合中增加所述上层节点为例进行介绍。
如图5所示,当在用的上层节点的下载速率低于工作要求时,将其转为备用的上层节点;并在其下载速率达到工作要求时,将其再转为在用的上层节点。
其中,在用的上层节点的下载速率小于预设速率时,将在用的上层节点转为备用上层节点,可以防止其拖累直播整体下载过程。
第二种情况:
较佳的,本发明实施例提供的直播数据的下载方法还包括:
在所述备用上层节点集合包括的上层节点的下载速率不小于预设速率时,所述下层节点从所述备用上层节点集合中删除所述下载速率不小于预设速率的上层节点,并在所述在用上层节点集合中增加所述下载速率不小于预设速率的上层节点。
具体实施中,一旦备用上层节点集合包括的上层节点满足如上条件时,则变更区域号,将备用的上层节点转为在用的上层节点。
第三种情况:
较佳的,本发明实施例提供的直播数据的下载方法还包括:
在所述在用上层节点集合包括的上层节点的数量小于预设数量阈值时,所述下层节点从所述备用上层节点集合中删除至少一个上层节点,并在所述在用上层节点集合中增加所述删除的至少一个上层节点。
具体实施中,预设数量阈值可以根据实际情况或经验确定;比如,根据经验设置为1或2。
具体实施中,在所述在用上层节点集合包括的上层节点的数量小于预设数量阈值时,选择要在在用上层节点集合中增加的上层节点的方式,与步骤102中下层节点挑选在用上层节点集合包括的上层节点的实施方式类似,可以采用多种多样的选择方式,在此不再赘述。
具体实施中,鉴于上层节点性能动态变化的情况,下层节点可以动态调整下载数据块的第二上层节点。
下面以上层节点的下载速率动态变化时,下层节点动态调整下载数据块的第二上层节点的方案进行详细介绍;上层节点的其他性能动态变化时,动态调整下载数据块的第二上层节点的方案与下述方案类似,在此不再赘述。
较佳的,本发明实施例提供的直播数据的下载方法还包括:
在数据块下载过程中,每隔设定时间间隔,根据所述在用上层节点集合中的各上层节点的下载速率,重新选出下载所述数据块的所述第二上层节点,并向所述重新选出的第二上层节点发送数据块下载请求。
具体实施中,针对每条数据下载连接都进行下载速率计算工作,在下载过程当中根据下载速率值随时调整任务分配,优先将任务分配给下载速率高的连接。
较佳的,本发明实施例提供的第二种直播数据的下载方法,包括:
在用上层节点集合包括的上层节点与下层节点建立连接;
所述在用上层节点集合包括的第一上层节点向所述下层节点发送数据块信息;
所述在用上层节点集合包括的至少一个第二上层节点接收所述下层节点基于所述数据块信息发送的数据块下载请求;
其中,所述在用上层节点集合包括,所述下层节点获取的多个上层节点中、除备用上层节点集合包括的上层节点以外的上层节点。
具体实施中,本发明实施例提供的第二种直播数据的下载方法中的上层节点和下层节点的实施方式可以参照本发明实施例提供的第一种直播数据的下载方法中的上层节点和下层节点的实施方式。
其中,本发明实施例提供的第二种直播数据的下载方法实现了直播数据多点传输,提高了直播服务的质量,提升了直播过程的用户体验。
如图6所示,本发明实施例提供的直播数据的下载装置600,包括:
获取模块610,用于获取多个上层节点;
筛选模块620,用于分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点;
连接模块630,用于与所述在用上层节点集合包括的所述上层节点建立连接;
接收模块640,用于接收所述在用上层节点集合包括的第一上层节点发送的数据块信息;
下载模块650,用于从所述在用上层节点集合中选出至少一个第二上层节点,并基于接收的所述数据块信息,向选出的所述至少一个第二上层节点发送数据块下载请求。
较佳的,所述筛选模块620在分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点时,具体用于:
获取每个上层节点的获取每个上层节点的下载速率和所述数据块的视频码率;筛选出下载速率不小于所述数据块的视频码率的上层节点;按照下载速率对筛选出的多个上层节点进行排序;将排序在前或者排序在后的若干个上层节点,确定为所述在用上层节点集合包括的所述上层节点;将不属于所述在用上层节点集合的上层节点,确定为所述备用上层节点集合包括的所述上层节点;
所述下载模块650在从所述在用上层节点集合中选出至少一个第二上层节点时,具体用于:
按照下载速率对所述在用上层节点集合中包括的各上层节点进行排序;将排序在前或者排序在后的至少一个上层节点,确定为选出的所述至少一个第二上层节点。
较佳的,本发明实施例提供的直播数据的下载装置600还包括切换模块660,用于:
在所述在用上层节点集合包括的上层节点满足如下任意一个条件时,从所述在用上层节点集合中删除所述上层节点,并在所述备用上层节点集合中增加所述上层节点:所述连接模块无法与所述上层节点建立连接;或者,所述连接模块与所述上层节点建立的连接断开;或者,在所述连接模块与所述上层节点建立连接后,所述接收模块设定时间内未接收到所述上层节点发送的数据块信息;或者,所述下载模块接收到的所述上层节点发送的数据块发生错误;或者,所述上层节点的下载速率小于预设速率;
和/或,在所述备用上层节点集合包括的上层节点的下载速率不小于预设速率时,从所述备用上层节点集合中删除所述下载速率不小于预设速率的上层节点,并在所述在用上层节点集合中增加所述下载速率不小于预设速率的上层节点;
和/或,在所述在用上层节点集合包括的上层节点的数量小于预设数量阈值时,从所述备用上层节点集合中删除至少一个上层节点,并在所述在用上层节点集合中增加所述删除的至少一个上层节点。
较佳的,本发明实施例提供的直播数据的下载装置600还包括下载更新模块670,用于:
在数据块下载过程中,每隔设定时间间隔,根据所述在用上层节点集合中的各上层节点的下载速率,重新选出下载所述数据块的所述第二上层节点,并向所述重新选出的第二上层节点发送数据块下载请求。
较佳的,本发明实施例提供的直播数据的下载系统,包括多个上层节点以及上述直播数据的下载装置。
现有技术中的直播传输往往通过单连接进行,一旦网络出现异常断开或者传输延迟时就会造成直播播放卡顿、花屏等现象,直播传输出现故障到修复时间段内的数据无法弥补,且无法预测修复时间,对用户体验是极大损伤。本发明提供的直播数据下载方法和装置,有效解决直播流传输因为单点网络传输出现延迟、异常断开造成的数据丢失导致播放异常的问题,提升了用户体验。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种直播数据的下载方法,其特征在于,包括:
下层节点获取多个上层节点;
所述下层节点分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点;
所述下层节点与所述在用上层节点集合包括的所述上层节点建立连接;
所述下层节点接收所述在用上层节点集合包括的第一上层节点发送的数据块信息;
所述下层节点从所述在用上层节点集合中选出至少一个第二上层节点,并基于接收的所述数据块信息,向选出的所述至少一个第二上层节点发送数据块下载请求。
2.根据权利要求1所述的直播数据的下载方法,其特征在于,所述下层节点分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点,包括:
所述下层节点获取每个上层节点的下载速率和所述数据块的视频码率;
所述下层节点筛选出下载速率不小于所述数据块的视频码率的上层节点;
所述下层节点按照下载速率对筛选出的多个上层节点进行排序;
所述下层节点将排序在前或者排序在后的若干个上层节点,确定为所述在用上层节点集合包括的所述上层节点;
所述下层节点将不属于所述在用上层节点集合的上层节点,确定为所述备用上层节点集合包括的所述上层节点;
所述下层节点从所述在用上层节点集合中选出至少一个第二上层节点,包括:
所述下层节点按照下载速率对所述在用上层节点集合中包括的各上层节点进行排序;
所述下层节点将排序在前或者排序在后的至少一个上层节点,确定为选出的所述至少一个第二上层节点。
3.根据权利要求1所述的直播数据的下载方法,其特征在于,所述方法还包括:
在所述在用上层节点集合包括的上层节点满足如下任意一个条件时,所述下层节点从所述在用上层节点集合中删除所述上层节点,并在所述备用上层节点集合中增加所述上层节点:
所述下层节点无法与所述上层节点建立连接;
或者,所述下层节点与所述上层节点建立的连接断开;
或者,所述下层节点在与所述上层节点建立连接后,设定时间内未接收到所述上层节点发送的数据块信息;
或者,所述下层节点接收到的所述上层节点发送的数据块发生错误;
或者,所述上层节点的下载速率小于预设速率;
所述方法还包括:
在所述备用上层节点集合包括的上层节点的下载速率不小于预设速率时,所述下层节点从所述备用上层节点集合中删除所述下载速率不小于预设速率的上层节点,并在所述在用上层节点集合中增加所述下载速率不小于预设速率的上层节点;
所述方法还包括:
在所述在用上层节点集合包括的上层节点的数量小于预设数量阈值时,所述下层节点从所述备用上层节点集合中删除至少一个上层节点,并在所述在用上层节点集合中增加所述删除的至少一个上层节点。
4.根据权利要求1所述的直播数据的下载方法,其特征在于,所述方法还包括:
在数据块下载过程中,每隔设定时间间隔,根据所述在用上层节点集合中的各上层节点的下载速率,重新选出下载所述数据块的所述第二上层节点,并向所述重新选出的第二上层节点发送数据块下载请求。
5.一种直播数据的下载方法,其特征在于,包括:
在用上层节点集合包括的上层节点与下层节点建立连接;
所述在用上层节点集合包括的第一上层节点向所述下层节点发送数据块信息;
所述在用上层节点集合包括的至少一个第二上层节点接收所述下层节点基于所述数据块信息发送的数据块下载请求;
其中,所述在用上层节点集合包括,所述下层节点获取的多个上层节点中、除备用上层节点集合包括的上层节点以外的上层节点。
6.一种直播数据的下载装置,其特征在于,包括:
获取模块,用于获取多个上层节点;
筛选模块,用于分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点;
连接模块,用于与所述在用上层节点集合包括的所述上层节点建立连接;
接收模块,用于接收所述在用上层节点集合包括的第一上层节点发送的数据块信息;
下载模块,用于从所述在用上层节点集合中选出至少一个第二上层节点,并基于接收的所述数据块信息,向选出的所述至少一个第二上层节点发送数据块下载请求。
7.根据权利要求6所述的直播数据的下载装置,其特征在于,所述筛选模块在分别确定在用上层节点集合包括的所述上层节点,以及备用上层节点集合包括的所述上层节点时,具体用于:
获取每个上层节点的获取每个上层节点的下载速率和所述数据块的视频码率;筛选出下载速率不小于所述数据块的视频码率的上层节点;按照下载速率对筛选出的多个上层节点进行排序;将排序在前或者排序在后的若干个上层节点,确定为所述在用上层节点集合包括的所述上层节点;将不属于所述在用上层节点集合的上层节点,确定为所述备用上层节点集合包括的所述上层节点;
所述下载模块在从所述在用上层节点集合中选出至少一个第二上层节点时,具体用于:
按照下载速率对所述在用上层节点集合中包括的各上层节点进行排序;将排序在前或者排序在后的至少一个上层节点,确定为选出的所述至少一个第二上层节点。
8.根据权利要求6所述的直播数据的下载装置,其特征在于,所述装置还包括切换模块,用于:
在所述在用上层节点集合包括的上层节点满足如下任意一个条件时,从所述在用上层节点集合中删除所述上层节点,并在所述备用上层节点集合中增加所述上层节点:所述连接模块无法与所述上层节点建立连接;或者,所述连接模块与所述上层节点建立的连接断开;或者,在所述连接模块与所述上层节点建立连接后,所述接收模块设定时间内未接收到所述上层节点发送的数据块信息;或者,所述下载模块接收到的所述上层节点发送的数据块发生错误;或者,所述上层节点的下载速率小于预设速率;
和/或,在所述备用上层节点集合包括的上层节点的下载速率不小于预设速率时,从所述备用上层节点集合中删除所述下载速率不小于预设速率的上层节点,并在所述在用上层节点集合中增加所述下载速率不小于预设速率的上层节点;
和/或,在所述在用上层节点集合包括的上层节点的数量小于预设数量阈值时,从所述备用上层节点集合中删除至少一个上层节点,并在所述在用上层节点集合中增加所述删除的至少一个上层节点。
9.根据权利要求6所述的直播数据的下载装置,其特征在于,所述装置还包括下载更新模块,用于:
在数据块下载过程中,每隔设定时间间隔,根据所述在用上层节点集合中的各上层节点的下载速率,重新选出下载所述数据块的所述第二上层节点,并向所述重新选出的第二上层节点发送数据块下载请求。
10.一种直播数据的下载系统,其特征在于,包括多个上层节点以及如权利要求6-9任一项所述的直播数据的下载装置。
CN201710020461.9A 2017-01-12 2017-01-12 一种直播数据的下载方法、装置及系统 Pending CN108307213A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710020461.9A CN108307213A (zh) 2017-01-12 2017-01-12 一种直播数据的下载方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710020461.9A CN108307213A (zh) 2017-01-12 2017-01-12 一种直播数据的下载方法、装置及系统

Publications (1)

Publication Number Publication Date
CN108307213A true CN108307213A (zh) 2018-07-20

Family

ID=62872301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710020461.9A Pending CN108307213A (zh) 2017-01-12 2017-01-12 一种直播数据的下载方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108307213A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048906A (zh) * 2019-03-27 2019-07-23 网宿科技股份有限公司 一种判断节点传输质量的方法、系统、装置及服务器
US10917497B2 (en) 2019-03-27 2021-02-09 Wangsu Science & Technology Co., Ltd. Method, system, device and server for determining transmission quality of node

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008080320A1 (fr) * 2006-12-31 2008-07-10 Huawei Technologies Co., Ltd. Procédé de transmission de flux multimédia, système et dispositif associé
CN101355432A (zh) * 2007-07-27 2009-01-28 浙江省电信有限公司 一种多点传输数据方法
CN101551781A (zh) * 2009-05-22 2009-10-07 中国科学院计算技术研究所 一种p2p视频点播系统中的磁盘缓存替换方法
CN101702734A (zh) * 2009-10-27 2010-05-05 北京算通数字技术研究中心有限公司 流媒体数据调度方法、装置与节点设备
US20150078340A1 (en) * 2012-05-30 2015-03-19 Tencent Technology (Shenzhen) Company Limited Method and System of Changing Service Points
CN105681828A (zh) * 2016-03-24 2016-06-15 合一网络技术(北京)有限公司 一种节点连接调整方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008080320A1 (fr) * 2006-12-31 2008-07-10 Huawei Technologies Co., Ltd. Procédé de transmission de flux multimédia, système et dispositif associé
CN101355432A (zh) * 2007-07-27 2009-01-28 浙江省电信有限公司 一种多点传输数据方法
CN101551781A (zh) * 2009-05-22 2009-10-07 中国科学院计算技术研究所 一种p2p视频点播系统中的磁盘缓存替换方法
CN101702734A (zh) * 2009-10-27 2010-05-05 北京算通数字技术研究中心有限公司 流媒体数据调度方法、装置与节点设备
US20150078340A1 (en) * 2012-05-30 2015-03-19 Tencent Technology (Shenzhen) Company Limited Method and System of Changing Service Points
CN105681828A (zh) * 2016-03-24 2016-06-15 合一网络技术(北京)有限公司 一种节点连接调整方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048906A (zh) * 2019-03-27 2019-07-23 网宿科技股份有限公司 一种判断节点传输质量的方法、系统、装置及服务器
US10917497B2 (en) 2019-03-27 2021-02-09 Wangsu Science & Technology Co., Ltd. Method, system, device and server for determining transmission quality of node

Similar Documents

Publication Publication Date Title
US11539768B2 (en) System and method of minimizing network bandwidth retrieved from an external network
US8059560B2 (en) Tree-type network system, node device, broadcast system, broadcast method, and the like
EP3331219B1 (en) Method for multi-path communication
US9621642B2 (en) Methods of forwarding data packets using transient tables and related load balancers
US9137165B2 (en) Methods of load balancing using primary and stand-by addresses and related load balancers and servers
CN104394441B (zh) 一种视频内容分发的调度方法、装置及系统
CN106993014B (zh) 缓存内容的调整方法、装置及系统
US20140372616A1 (en) Methods of forwarding/receiving data packets using unicast and/or multicast communications and related load balancers and servers
CN103458466B (zh) 流量控制装置与方法以及网络流量管理系统与方法
CN106060009B (zh) 对等网络流媒体点播节点请求转移与缓存替换方法
CN105898388B (zh) 一种节点下载调度方法和装置
CN106790532A (zh) 一种基于边缘网络聚合的在线直播上传方法及系统
WO2023005701A1 (zh) 数据通信方法及装置、电子设备、存储介质
CN108462755A (zh) 一种下载数据资源的方法和系统
CN105847377A (zh) 集群网络的请求拥塞过载处理方法及系统
US11843649B2 (en) System and method of minimizing network bandwidth retrieved from an external network
US12052607B2 (en) Communication apparatus, communication method, and program
CN108307213A (zh) 一种直播数据的下载方法、装置及系统
CN118018472A (zh) 一种数据传输处理方法、装置、存储介质及电子装置
CN109963312A (zh) 一种网络切换方法、系统、网络转换设备及存储介质
CN102238423B (zh) 一种设备调度方法、装置及系统
CN111586349A (zh) 一种监控设备的数据断网续传方法及系统
US12132946B2 (en) Systems and methods for streaming media content during unavailability of content server
CN104521320B (zh) 用户管理设备、bng、bng用户上线方法及系统
US20230344753A1 (en) Communication system, distribution device, data distribution method and program

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180720

WD01 Invention patent application deemed withdrawn after publication