CN109600373A - 一种直播数据传输方法、装置、系统以及可读存储介质 - Google Patents
一种直播数据传输方法、装置、系统以及可读存储介质 Download PDFInfo
- Publication number
- CN109600373A CN109600373A CN201811513576.2A CN201811513576A CN109600373A CN 109600373 A CN109600373 A CN 109600373A CN 201811513576 A CN201811513576 A CN 201811513576A CN 109600373 A CN109600373 A CN 109600373A
- Authority
- CN
- China
- Prior art keywords
- live data
- node
- data
- slice
- live
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1023—Media gateways
- H04L65/1026—Media gateways at the edge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/262—Content 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/26208—Content 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
- H04N21/26233—Content 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 involving content or additional data duration or size, e.g. length of a movie, size of an executable file
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了直播数据传输方法,应用于边缘节点,边缘节点与多个区域节点均建立连接,区域节点均与源站建立连接,边缘节点接收拉流请求,向多个区域节点发送拉取指令,以使区域节点分别各自回源源站拉取直播数据切片,每个区域节点拉取的直播数据切片为完整的直播数据流切片的一部分;从多个区域节点拉取直播数据切片,还原为直播数据流。本申请中每一个边缘节点均与多个区域节点建立连接,不再对单链路有很强的依赖性。在其中一个连接链路出现问题时,可以通过其他连接链路进行数据的传输,提升了直播数据的整体传输性能。此外,本申请还提供了一种具有上述技术优点的直播数据传输装置、设备以及计算机可读存储介质。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种直播数据传输方法、装置、系统以及计算机可读存储介质。
背景技术
随着网络技术的发展,用户越来越依赖于从网络中获取所需的视频内容。而在实际应用中,CDN(Content Delivery Network,内容分发网络)为常见的视频网络。参照图1所示,传统的CDN分发架构一般是树形结构,边缘节点回源区域节点,区域节点回源源站,源站再回源第三方服务器。
目前直播CDN内部流传输还是基于RTMP协议,其受TCP单连接传输限制较大,数据均采用单链路进行传输,在该链路发生抖动等状况时,导致整个数据无法进行传输。鉴于此,寻找有效避免单链路恶化对整体传输质量产生影响的技术方案是非常有必要的。
发明内容
本发明的目的是提供一种直播数据传输方法、装置、系统以及计算机可读存储介质,以解决现有直播数据传输过程中因单链路恶化导致整体网络传输质量受到影响的问题。
为解决上述技术问题,本发明提供一种直播数据传输方法,应用于边缘节点,所述边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接,所述方法包括:
接收拉流请求,向多个所述区域节点发送拉取指令,以使所述区域节点分别各自回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;
从多个所述区域节点拉取所述直播数据切片,还原为直播数据流。
可选地,所述直播数据切片为采用喷泉码对直播数据流进行切分得到的数据切片。
可选地,还包括:
接收推流请求,将所述边缘节点对应的本地数据流切分为多个数据切片;
向多个所述区域节点发送切分后的数据切片,以使所述区域节点分别向所述源站推送所述切分后的数据切片。
可选地,在所述区域节点分别各自回源所述源站拉取直播数据切片之前还包括:
由所述源站采用喷泉码对所述直播数据流进行切分得到所述数据切片。
可选地,从多个所述区域节点拉取的数据切片的总个数满足以下条件:
大于等于使得数据切片能够还原为原数据的最小分片数量,小于采用喷泉码进行切分得到的数据分片的全部数量。
可选地,所述区域节点分别各自回源所述源站拉取数据切片的总个数大于所述边缘节点从多个所述区域节点拉取的数据切片的总个数。
本申请还提供了一种直播数据传输方法,应用于区域节点,边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接,所述方法包括:
接收边缘节点发送的拉取指令,回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;
向所述边缘节点发送拉取的直播数据切片,以使所述边缘节点将接收到的直播数据切片还原为直播数据流。
本申请还提供了一种直播数据传输装置,应用于边缘节点,所述边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接,所述装置包括:存储器和处理器,所述存储器上存储有可在所述处理器上运行的直播数据传输程序,所述直播数据传输程序被所述处理器执行时实现上述任一种所述的方法。
可选地,所述装置为组成CDN网络的节点。
本申请还提供了一种直播数据传输系统,包括:源站、边缘节点以及多个区域节点;
其中,边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接;
所述源站用于接收拉流请求,向多个所述区域节点发送拉取指令,以使所述区域节点分别各自回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;从多个所述区域节点拉取所述直播数据切片,还原为直播数据流。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有直播数据传输程序,所述直播数据传输程序可被一个或者多个处理器执行,以实现上述任一种所述的直播数据传输方法。
本发明所提供的直播数据传输方法,应用于边缘节点,边缘节点与多个区域节点均建立连接,区域节点均与源站建立连接,边缘节点接收拉流请求,向多个区域节点发送拉取指令,以使区域节点分别各自回源源站拉取直播数据切片,每个区域节点拉取的直播数据切片为完整的直播数据流切片的一部分;从多个区域节点拉取直播数据切片,还原为直播数据流。本申请中每一个边缘节点均与多个区域节点建立连接,不再对单链路有很强的依赖性。在其中一个连接链路出现问题时,可以通过其他连接链路进行数据的传输,某一个连接链路的抖动对整个流的传输不构成实际的影响,提升了直播数据的整体传输性能。此外,本申请还提供了一种具有上述技术优点的直播数据传输装置、设备以及计算机可读存储介质。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统的CDN分发架构示意图;
图2为本申请所提供的CDN分发网络传输方法的一种具体实施方式的架构图;
图3为本申请所提供的直播数据传输方法的一种具体实施方式的流程图;
图4为本申请所提供的直播数据传输方法的另一种具体实施方式的流程图;
图5为本申请所提供的直播数据传输方法的又一种具体实施方式的流程图;
图6为本申请实施例提供的直播数据传输装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本发明所提供的CDN分发网络传输方法应用于边缘节点,参照图2本申请所提供的CDN分发网络传输方法的一种具体实施方式的架构图,边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接。可见,一个边缘节点可以通过多条边缘节点-区域节点-源站这样的连接链路与源站之间建立连接。也就是说在一个连接链路出现问题的情况下,可以切换到另一连接链路进行数据通信。
参照图3本申请所提供的直播数据传输方法的一种具体实施方式的流程图,该方法的过程具体包括:
步骤S101:接收拉流请求,向多个所述区域节点发送拉取指令,以使所述区域节点分别各自回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;;
边缘节点接收到数据的拉流请求之后,向与该边缘节点相连的多个区域节点发送拉取指令。各区域节点接收到该拉取指令之后,分别各自回源源站拉取直播数据。可以理解的是,对于单个区域节点,分别拉取的直播数据为完整的直播数据流切片的一部分。也就是经过切分的部分直播数据,切分后的部分直播数据在边缘节点可以再次还原为完整的直播数据。
步骤S102:从多个所述区域节点拉取所述直播数据切片,还原为直播数据流。
在多个区域节点拉取到直播数据切片之后,由边缘节点从多个区域节点上拉取该直播数据切片,并将拉取到的直播数据切片还原为直播数据流,完成直播数据的传输。该过程中,每一个连接链路拉取的直播数据均为经过切分的部分直播数据,切分后的部分直播数据在边缘节点可以再次还原为完整的直播数据,这均不影响本申请的实现。
本发明所提供的直播数据传输方法,应用于边缘节点,边缘节点与多个区域节点均建立连接,区域节点均与源站建立连接,边缘节点接收拉流请求,向多个区域节点发送拉取指令,以使区域节点分别各自回源源站拉取直播数据切片,每个区域节点拉取的直播数据切片为完整的直播数据流切片的一部分;从多个区域节点拉取直播数据切片,还原为直播数据流。本申请中每一个边缘节点均与多个区域节点建立连接,不再对单链路有很强的依赖性。在其中一个连接链路出现问题时,可以通过其他连接链路进行数据的传输,某一个连接链路的抖动对整个流的传输不构成实际的影响,提升了直播数据的整体传输性能。
在上述实施例的基础上,本申请提供的另一种实施方式中,直播数据可以为采用喷泉码对直播数据流进行切分得到的数据切片。本具体实施方式的流程图参见图4所示,该方法包括:
步骤S201:源站采用喷泉码对直播数据流进行切分,得到数据切片(piece),每个区域节点拉取缓存部分;
可选地,本申请实施例可以由源站采用喷泉码对直播数据流进行切分。源站可以先将直播数据流划分为大块数据(chunk),再将大块数据(chunk)采用预设算法切分为小块数据切片(piece),方便数据在网络中传输。每一块数据切片(piece)在边缘节点还原为大块数据(chunk)时,重要性都是一样的,只要满足了小块数据切片(piece)的个数,就能够还原为大块数据(chunk)。本申请实施例中采用喷泉码对直播数据流进行切分,喷泉码是基于图的线性纠删码,在广播方式的通信系统中,发送端对原始信息进行编码,得到源源不断的编码信息并且发送,只要接收端能正确接收到足够的编码信息就可以译出原始数据信源。
分给每一个区域节点的部分可以根据具体使用网络来进行设置,划分给每一个区域节点的数据分片(piece)的数量越多还原数据效率越高,但是如果划分给每一个区域节点的数据分片(piece)的数量太多,就会增加消耗的带宽,影响数据的传输性能。例如,还原数据需要32个数据切片(piece),即任意获取32个数据切片(piece)即可还原得到一个完整的大块数据(chunk),那么只要分给所有区域节点的数据分片的数量之和超过32个就能够实现还原。
步骤S202:边缘节点接收拉流请求,向多个区域节点发送拉取指令,以使区域节点分别各自回源源站拉取部分数据切片;
可选地,拉取指令中可以指定拉取百分比,例如拉取指令中指定拉取百分比为25%。当前区域节点是4个的情况下,表示32个数据切片(piece)中需要每一个区域节点拉取8个数据切片(piece),就能够在边缘节点聚集得到32个数据切片(piece),然后还原数据出原数据。
步骤S203:边缘节点从多个区域节点拉取数据切片,并还原为直播数据流。
其中,从多个区域节点拉取的数据切片的总个数满足以下条件:大于等于使得数据切片能够还原为原数据的最小分片数量,小于采用喷泉码进行切分得到的数据分片的全部数量。即,边缘节点从多个区域节点拉取的数据切片不是全部划分的数据分片的数量,并且应至少为使得数据切片能够还原为原数据的最小分片数量。例如,还原数据需要的最小分片数量为32时,从多个区域节点拉取的数据切片的总个数应该至少为32个。对于多于32个数据切片以外的其他切片,可以作为冗余数据直接丢弃。
优选地,区域节点分别各自回源所述源站拉取数据切片的总个数大于所述边缘节点从多个所述区域节点拉取的数据切片的总个数。通过在区域节点多缓存一部分数据切片,能够及时满足补充数据的需要。
进一步地,本申请还可以在推流点就进行切片,实现内部全piece分发,即,数据切片并不是由源站进行切分得到,而是在边缘节点推流数据时,就直接进行切分,将得到数据切片推流至源站,后续源站可以还原为原数据,也可以在接收到拉流请求之后,直接发送数据切片。该实施例中,边缘节点还用于:接收推流请求,将所述边缘节点对应的本地数据流切分为多个数据切片;向多个所述区域节点发送切分后的数据切片,以使所述区域节点分别向所述源站推送所述切分后的数据切片。
本申请边缘节点和区域回源拉流使用了多个连接链路,实现了直播数据的多路传输。在单链路出现波动时,能够从其他连接链路补数据,同时建立新连接链路代替当前连接链路。每一个连接链路传输的数据是整体数据的一部分,每一部分在还原整个数据时都是平等的。现有采用单链路分发技术只能分发一路完整的流,该流对该链路有很强的依赖性。采用本申请不再对单链路有很强的依赖性,某一个链路的抖动对整个流的传输不构成实际影响。
以边缘节点连接5个区域节点为例,设置每个区域节点拉取8个数据切片,一个区域节点出现问题后,从这个区域节点拉取不到数据切片,但这时候剩下的4个区域节点都能正常分发数据,汇集到边缘节点就是4*8=32,边缘节点仍然能够获取32个数据切片,这样就能还原出原数据。相当于一个链路出现了问题,系统整体还是可用的,保证了直播数据整体的传输性能。
本申请还提供了一种直播数据传输方法,该方法具体应用于区域节点,边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接,参照图5,所述方法包括:
步骤S301:接收边缘节点发送的拉取指令,回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;
步骤S302:向所述边缘节点发送拉取的直播数据切片,以使所述边缘节点将接收到的直播数据切片还原为直播数据流。
本实施例以区域节点为执行主体,其具体实施过程与上述以边缘节点为执行主体的实施例相对应,具体实施方式可以互相参照,在此不再赘述。
下面对本申请实施例提供的直播数据传输装置进行介绍,下文描述的直播数据传输装置与上文描述的直播数据传输方法可相互对应参照。图6为本申请实施例提供的直播数据传输装置的结构框图,该装置应用于边缘节点,所述边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接。参照图6直播数据传输装置1可以包括:存储器11、处理器12以及接口13。
所述存储器11上存储有可在所述处理器12上运行的直播数据传输程序,所述直播数据传输程序被所述处理器12执行时实现以下步骤:
接收拉流请求,向多个所述区域节点发送拉取指令,以使所述区域节点分别各自回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;从多个所述区域节点拉取所述直播数据切片,还原为直播数据流。
本实施例中,所述直播数据切片为采用喷泉码对直播数据流进行切分得到的数据切片。
本实施例中,所述直播数据传输程序被所述处理器12执行时还可以实现以下步骤:
接收推流请求,将所述边缘节点对应的本地数据流切分为多个数据切片;向多个所述区域节点发送切分后的数据切片,以使所述区域节点分别向所述源站推送所述切分后的数据切片。
本实施例中,所述直播数据传输程序被所述处理器12执行时还可以实现以下步骤:
在所述区域节点分别各自回源所述源站拉取直播数据切片之前,由所述源站采用喷泉码对所述直播数据流进行切分得到所述数据切片。
在本实施例中,直播数据传输装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。
该直播数据传输装置1可以是组成CDN网络的节点。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是直播数据传输装置1的内部存储单元,例如该直播数据传输装置1的硬盘。存储器11在另一些实施例中也可以是直播数据传输装置1的外部存储设备,例如直播数据传输装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括直播数据传输装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于直播数据传输装置1的应用软件及各类数据,例如直播数据传输程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行直播数据传输程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,直播数据传输装置还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在直播数据传输装置1中处理的信息以及用于显示可视化的用户界面。
图6仅示出了具有组件11-13的直播数据传输装置1,本领域技术人员可以理解的是,图6示出的结构并不构成对直播数据传输装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请中每一个边缘节点均与多个区域节点建立连接,不再对单链路有很强的依赖性。在其中一个连接链路出现问题时,可以通过其他连接链路进行数据的传输,某一个连接链路的抖动对整个流的传输不构成实际的影响,提升了直播数据的整体传输性能。
本申请还公开了一种直播数据传输系统,包括:源站、边缘节点以及多个区域节点;
其中,边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接;
所述源站用于接收拉流请求,向多个所述区域节点发送拉取指令,以使所述区域节点分别各自回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;从多个所述区域节点拉取所述直播数据切片,还原为直播数据流。
本实施例中区域节点、边缘节点以及源站的具体实施可以参照上述实施例以及现有技术,在此不再赘述。
本申请中每一个边缘节点均与多个区域节点建立连接,不再对单链路有很强的依赖性。在其中一个连接链路出现问题时,可以通过其他连接链路进行数据的传输,某一个连接链路的抖动对整个流的传输不构成实际的影响,提升了直播数据的整体传输性能。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有直播数据传输程序,所述直播数据传输程序可被一个或者多个处理器执行,以实现以下步骤:
接收拉流请求,向多个所述区域节点发送拉取指令,以使所述区域节点分别各自回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;从多个所述区域节点拉取所述直播数据切片,还原为直播数据流。
本实施例中,所述直播数据切片为采用喷泉码对直播数据流进行切分得到的数据切片。
本实施例中,所述直播数据传输程序可被一个或者多个处理器执行,还可以实现以下步骤:
接收推流请求,将所述边缘节点对应的本地数据流切分为多个数据切片;向多个所述区域节点发送切分后的数据切片,以使所述区域节点分别向所述源站推送所述切分后的数据切片。
本实施例中,所述直播数据传输程序可被一个或者多个处理器执行,还可以实现以下步骤:
在所述区域节点分别各自回源所述源站拉取直播数据切片之前,由所述源站采用喷泉码对所述直播数据流进行切分得到所述数据切片。
此外,本申请还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种所述的直播数据传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
综上,本申请中每一个边缘节点均与多个区域节点建立连接,不再对单链路有很强的依赖性。在其中一个连接链路出现问题时,可以通过其他连接链路进行数据的传输,某一个连接链路的抖动对整个流的传输不构成实际的影响,提升了直播数据的整体传输性能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种直播数据传输方法,其特征在于,应用于边缘节点,所述边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接,所述方法包括:
接收拉流请求,向多个所述区域节点发送拉取指令,以使所述区域节点分别各自回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;
从多个所述区域节点拉取所述直播数据切片,还原为直播数据流。
2.如权利要求1所述的直播数据传输方法,其特征在于,所述直播数据切片为采用喷泉码对直播数据流进行切分得到的数据切片。
3.如权利要求2所述的直播数据传输方法,其特征在于,还包括:
接收推流请求,将所述边缘节点对应的本地数据流切分为多个数据切片;
向多个所述区域节点发送切分后的数据切片,以使所述区域节点分别向所述源站推送所述切分后的数据切片。
4.如权利要求2所述的直播数据传输方法,其特征在于,在所述区域节点分别各自回源所述源站拉取直播数据切片之前还包括:
由所述源站采用喷泉码对所述直播数据流进行切分得到所述数据切片。
5.如权利要求2至4任一项所述的直播数据传输方法,其特征在于,从多个所述区域节点拉取的数据切片的总个数满足以下条件:
大于等于使得数据切片能够还原为原数据的最小分片数量,小于采用喷泉码进行切分得到的数据分片的全部数量。
6.如权利要求5所述的直播数据传输方法,其特征在于,所述区域节点分别各自回源所述源站拉取数据切片的总个数大于所述边缘节点从多个所述区域节点拉取的数据切片的总个数。
7.一种直播数据传输方法,其特征在于,应用于区域节点,边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接,所述方法包括:
接收边缘节点发送的拉取指令,回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;
向所述边缘节点发送拉取的直播数据切片,以使所述边缘节点将接收到的直播数据切片还原为直播数据流。
8.一种直播数据传输装置,其特征在于,应用于边缘节点,所述边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接,所述装置包括:存储器和处理器,所述存储器上存储有可在所述处理器上运行的直播数据传输程序,所述直播数据传输程序被所述处理器执行时实现如权利要求1-6任一项所述的方法。
9.根据权利要求8所述的直播数据传输装置,其特征在于,所述装置为组成CDN网络的节点。
10.一种直播数据传输系统,其特征在于,包括:源站、边缘节点以及多个区域节点;
其中,边缘节点与多个区域节点均建立连接,所述区域节点均与源站建立连接;
所述源站用于接收拉流请求,向多个所述区域节点发送拉取指令,以使所述区域节点分别各自回源所述源站拉取直播数据切片,每个所述区域节点拉取的所述直播数据切片为完整的直播数据流切片的一部分;从多个所述区域节点拉取所述直播数据切片,还原为直播数据流。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有直播数据传输程序,所述直播数据传输程序可被一个或者多个处理器执行,以实现如权利要求1至6中任一项所述的直播数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811513576.2A CN109600373B (zh) | 2018-12-11 | 2018-12-11 | 一种直播数据传输方法、装置、系统以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811513576.2A CN109600373B (zh) | 2018-12-11 | 2018-12-11 | 一种直播数据传输方法、装置、系统以及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109600373A true CN109600373A (zh) | 2019-04-09 |
CN109600373B CN109600373B (zh) | 2021-08-06 |
Family
ID=65961730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811513576.2A Active CN109600373B (zh) | 2018-12-11 | 2018-12-11 | 一种直播数据传输方法、装置、系统以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109600373B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414186A (zh) * | 2019-06-20 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 数据资产切分校验方法以及装置 |
CN111741319A (zh) * | 2020-06-23 | 2020-10-02 | 北京金山云网络技术有限公司 | 直播数据处理方法、装置及电子设备 |
CN112468262A (zh) * | 2020-09-30 | 2021-03-09 | 苏州健联医疗信息技术有限公司 | 数据单向传输方法与系统及二维码数据生成方法与装置 |
CN113824971A (zh) * | 2020-06-18 | 2021-12-21 | 中央广播电视总台 | 三维声直播流调度和分发方法及系统 |
CN114390338A (zh) * | 2022-01-26 | 2022-04-22 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种p2p视频的快速获取方法、装置和电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130148741A1 (en) * | 2011-12-10 | 2013-06-13 | Avigdor Steinberg | Method, System and Apparatus for Enhanced Video Transcoding |
CN106685942A (zh) * | 2016-12-20 | 2017-05-17 | 徐亮 | 视频直播回播系统以及视频直播回播方法 |
CN106993054A (zh) * | 2017-05-05 | 2017-07-28 | 腾讯科技(深圳)有限公司 | 文件分发方法、节点及系统 |
CN107147921A (zh) * | 2017-05-23 | 2017-09-08 | 北京网梯科技发展有限公司 | 基于切片与智能cdn调度的视频播放加速方法和设备 |
CN107645485A (zh) * | 2016-07-22 | 2018-01-30 | 中兴通讯股份有限公司 | 一种网络直播的分发方法、系统和装置 |
US20180084018A1 (en) * | 2016-09-22 | 2018-03-22 | Verizon Patent And Licensing Inc. | Hls over multimedia broadcast multicast service (mbms) |
CN108063769A (zh) * | 2017-12-26 | 2018-05-22 | 中兴通讯股份有限公司 | 一种内容服务的实现方法、装置及内容分发网络节点 |
-
2018
- 2018-12-11 CN CN201811513576.2A patent/CN109600373B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130148741A1 (en) * | 2011-12-10 | 2013-06-13 | Avigdor Steinberg | Method, System and Apparatus for Enhanced Video Transcoding |
CN107645485A (zh) * | 2016-07-22 | 2018-01-30 | 中兴通讯股份有限公司 | 一种网络直播的分发方法、系统和装置 |
US20180084018A1 (en) * | 2016-09-22 | 2018-03-22 | Verizon Patent And Licensing Inc. | Hls over multimedia broadcast multicast service (mbms) |
CN106685942A (zh) * | 2016-12-20 | 2017-05-17 | 徐亮 | 视频直播回播系统以及视频直播回播方法 |
CN106993054A (zh) * | 2017-05-05 | 2017-07-28 | 腾讯科技(深圳)有限公司 | 文件分发方法、节点及系统 |
CN107147921A (zh) * | 2017-05-23 | 2017-09-08 | 北京网梯科技发展有限公司 | 基于切片与智能cdn调度的视频播放加速方法和设备 |
CN108063769A (zh) * | 2017-12-26 | 2018-05-22 | 中兴通讯股份有限公司 | 一种内容服务的实现方法、装置及内容分发网络节点 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414186A (zh) * | 2019-06-20 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 数据资产切分校验方法以及装置 |
CN110414186B (zh) * | 2019-06-20 | 2023-06-30 | 创新先进技术有限公司 | 数据资产切分校验方法以及装置 |
CN113824971A (zh) * | 2020-06-18 | 2021-12-21 | 中央广播电视总台 | 三维声直播流调度和分发方法及系统 |
CN111741319A (zh) * | 2020-06-23 | 2020-10-02 | 北京金山云网络技术有限公司 | 直播数据处理方法、装置及电子设备 |
CN112468262A (zh) * | 2020-09-30 | 2021-03-09 | 苏州健联医疗信息技术有限公司 | 数据单向传输方法与系统及二维码数据生成方法与装置 |
CN112468262B (zh) * | 2020-09-30 | 2022-05-27 | 苏州健联医疗信息技术有限公司 | 数据单向传输方法与系统及二维码数据生成方法与装置 |
CN114390338A (zh) * | 2022-01-26 | 2022-04-22 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种p2p视频的快速获取方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109600373B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600373A (zh) | 一种直播数据传输方法、装置、系统以及可读存储介质 | |
CN110019125B (zh) | 数据库管理的方法和装置 | |
CN110086636A (zh) | 一种基于mqtt的消息分发方法、服务器及存储介质 | |
CN109492436A (zh) | 一种文件校验方法及相关装置 | |
CN109618174A (zh) | 一种直播数据传输方法、装置、系统以及存储介质 | |
CN106484858A (zh) | 热点内容推送方法和装置 | |
CN109525578A (zh) | 一种cdn分发网络传输方法、装置、系统以及存储介质 | |
CN105406974A (zh) | 一种提升聊天室中人气值的方法和系统 | |
CN109617959A (zh) | 一种数据加载方法、装置、系统以及存储介质 | |
CN109918203A (zh) | 接入服务器内存管理优化方法、接入服务器及通信系统 | |
CN103647870A (zh) | 一种终端及终端表情显示方法 | |
US20050289002A1 (en) | Method, system and computer program product for media content delivery and centralized purchase points | |
CN110831039A (zh) | 多路并发系统中的数据传输方法及传输服务器 | |
CN109413207A (zh) | 一种文件上传方法、系统、装置及计算机可读存储介质 | |
CN109660639A (zh) | 一种数据上传方法、设备、系统及介质 | |
CN110290399A (zh) | 一种数据分发方法、系统、装置及计算机可读存储介质 | |
CN110602004A (zh) | 监管数据上报、电子装置、设备及计算机可读存储介质 | |
CN110149374A (zh) | 一种文件传输方法、终端设备及计算机可读存储介质 | |
CN109151505A (zh) | 一种视频转码方法、系统、装置及计算机可读存储介质 | |
CN110290009B (zh) | 一种数据调度方法、装置及计算机可读存储介质 | |
CN104199781A (zh) | 一种基于共享内存的内存碎片分配方法和装置 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN110365771A (zh) | 一种数据获取方法、装置、系统和计算机可读存储介质 | |
CN102316002B (zh) | 配置虚拟局域网的方法和装置 | |
CN103036642B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |