一种直播数据传输方法、装置、系统以及存储介质与流程

文档序号:17376861发布日期:2019-04-12 23:24阅读:195来源:国知局
一种直播数据传输方法、装置、系统以及存储介质与流程

本申请涉及通信技术领域,尤其涉及一种直播数据传输方法、装置、系统以及计算机可读存储介质。



背景技术:

随着网络技术的发展,用户越来越依赖于从网络中获取所需的视频内容。而在实际应用中,cdn(contentdeliverynetwork,内容分发网络)为常见的视频网络。参照图1所示,传统的cdn分发架构一般是树形结构,边缘节点回源区域节点,区域节点回源源站,源站再回源第三方服务器。

当前的cdn系统中需要进行分布式切片,因此需要对切片的数据添加定位信息,以在边缘根据定位信息对数据进行对齐。现有技术中考虑到源站的稳定性,一般设置有主备两个源站。主源站回源第三方服务器拉流,一旦发现主源站网络数据不足、丢包严重等状况时,会立刻让区域节点切换到备源站上,使用备源站继续拉流。此时,拉取数据流的uid(useridentification,用户身份标识)发生了变化,主源站给流添加定位信息的数据不能够再继续使用。

区域节点切换到备源站之后,部分区域节点发现数据仍然不足,则会再次切换到主源站,使得部分区域节点从主源站拉流,部分区域节点从备源站拉流,导致边缘切片的数据不能够正确还原,使得p2p的意义失效。



技术实现要素:

本申请的目的是提供一种直播数据传输方法、装置、系统以及计算机可读存储介质,以解决现有直播技术中分布式切片对应的uid不一致导致数据不能正常还原的问题。

为解决上述技术问题,本申请提供一种直播数据传输方法,用于cdn网络中的源站,所述cdn网络还包括控制中心,所述控制中心提供有访问预先存储的配置信息的接口,所述方法包括:

接收对音视频数据流回源的回源指令;

从所述控制中心获取所述配置信息;

根据所述配置信息确定源站的主备身份是否发生切换;

如果否,则由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息;

如果是,则由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站。

可选地,所述源站包括多个源站组,所述接收对音视频数据流回源的回源指令包括:

接收对待拉取音视频数据流的拉流请求,所述拉流请求中至少包括所述音视频数据流的参数信息;

根据所述参数信息以及配置信息,确定进行拉流的目标源站组;

所述目标源站组接收对音视频数据流回源的回源指令。

可选地,所述根据所述参数信息以及配置信息,确定进行拉流的目标源站组包括:

所述参数信息为所述待拉取音视频数据流的三元组数据,对所述三元组数据进行哈希均衡计算,根据计算结果确定进行拉流的目标源站组。

可选地,当接收所述拉流请求的第三源站不属于所述目标源站组时,所述第三源站回源所述目标源站组拉取所述音视频数据流。

可选地,还包括:

当检测到区域节点与所述第一源站之间的连接出现故障时,断开当前区域节点与所述第一源站的连接,切换到所述第二源站回源。

可选地,在所述由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息之后还包括:

所述第二源站回源所述第一源站。

可选地,在所述由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站之后还包括:

所述第一源站判断从所述第二源站回源的音视频数据流是否添加了定位信息,如果否,则由所述第一源站对所述音视频数据流添加定位信息。

本申请还提供了一种直播数据传输装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的直播数据传输程序,所述直播数据传输程序被所述处理器执行时实现上述任一种所述的方法。

可选地,所述装置为组成cdn网络的节点。

本申请还提供了一种直播数据传输方法,应用于cdn网络中的第一源站,所述cdn网络还包括控制中心,所述控制中心提供有访问预先存储的配置信息的接口,所述方法包括:

接收对音视频数据流回源的回源指令;

从所述控制中心获取所述配置信息;

根据所述配置信息确定所述第一源站的主备身份是否发生切换;

在所述第一源站由主源站切换为备源站,原本作为备源站的第二源站切换为主源站时,断开所述第一源站与第三方服务器的连接,回源所述第二源站,所述第二源站从所述第三方服务器回源并对所述音视频数据添加定位信息。

本申请还提供了一种直播数据传输方法,应用于cdn网络中的第二源站,所述cdn网络还包括控制中心,所述控制中心提供有访问预先存储的配置信息的接口,所述方法包括:

接收对音视频数据流回源的回源指令;

从所述控制中心获取所述配置信息;

根据所述配置信息确定所述第二源站的主备身份是否发生切换;

在所述第二源站由备源站切换为主源站,原本作为主源站的第一源站切换为备源站时,从所述第三方服务器回源并对所述音视频数据添加定位信息,以使所述第一源站回源所述第二源站。

本申请还提供了一种直播数据传输方法,应用于cdn网络中的控制中心,所述控制中心提供有访问预先存储的配置信息的接口,cdn网络中的源站通过所述接口与所述控制中心进行数据通信,所述方法包括:

实时检测源站的主备身份,生成标识源站的主备身份的配置信息;

向所述源站发送所述配置信息,以使所述源站根据所述配置信息确定主备身份是否发生切换。

本申请还提供了一种直播数据传输系统,包括:源站以及控制中心;

其中,所述控制中心提供有访问预先存储的配置信息的接口;

所述源站用于接收对音视频数据流回源的回源指令;从所述控制中心获取所述配置信息;根据所述配置信息确定源站的主备身份是否发生切换;如果否,则由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息;如果是,则由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有直播数据传输程序,所述直播数据传输程序可被一个或者多个处理器执行,以实现上述任一种所述的直播数据传输方法。

本申请还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种所述的直播数据传输方法。

本申请所提供的直播数据传输方法,在原有的cdn网络架构上增加设置了控制中心,用来在源站的主备身份发生切换时进行记录,生成配置信息。在接收到对音视频数据流回源的回源指令之后,先与控制中心通信,获取配置信息,确定源站的主备身份是否发生了切换。在主备身份未发生切换的情况下,也就是切换前作为主源站的第一源站仍然作为主源站,继续从第三方服务器回源,并由第一源站对音视频数据流添加定位信息。在主备身份发生切换的情况下,也就是切换前作为主源站的第一源站现在被切换为备源站,第二源站现在被切换为主源站,由第二源站从第三方服务器回源,并由第二源站对音视频数据添加定位信息,而第一源站回源第二源站,不再从第三方服务器回源。这样,就能够保证全网中只有一个源站回源,当区域再次切换主备源站时,全网中的数据都是统一的,数据在边缘能够正常还原,解决了p2p传输中的通用性问题。

此外,本申请还提供了一种具有上述技术优点的直播数据传输装置、设备以及计算机可读存储介质。

附图说明

为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为传统的cdn分发架构示意图;

图2为本申请所提供的cdn网络架构示意图;

图3为本申请所提供的直播数据传输方法一种具体实施方式的流程图;

图4为本申请所提供的直播数据传输方法的另一种具体实施方式的流程图;

图5为本申请实施例提供的直播数据传输装置的结构框图;

图6为本申请所提供的直播数据传输方法的第三种具体实施方式的流程图;

图7为本申请所提供的直播数据传输方法的第四种具体实施方式的流程图;

图8为本申请所提供的直播数据传输方法的第五种具体实施方式的流程图。

具体实施方式

现有技术中源站有两台机器,一主一备,主备同时拉流,添加定位信息,而不同区域节点回源两个主备,造成定位信息不一致,到边缘时会使边缘切片的uid不一致,在小矿机p2p还原时,造成无法还原chunk。本申请保证了第三方数据流在cdn网络的入口是唯一的,这样在入口处对数据添加定位信息,全网就能保证是统一的定位信息。根据该定位信息即可在全网边缘节点对齐数据,避免了数据uid不一致的现象。

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

本申请提供的直播数据传输方法应用于cdn网络,参照图2本申请所提供的cdn网络架构示意图,该cdn网络包括边缘节点、区域节点、源站以及第三方服务器,除此之外,在原有的cdn网络架构上增加设置了控制中心,用来在源站的主备身份发生切换时进行记录,生成配置信息。该控制中心提供有访问预先存储的配置信息的接口。各个源站可以通过该接口访问控制中心内存储的配置信息。

本申请所提供的直播数据传输方法一种具体实施方式的流程图如图3所示,该方法应用于源站,该源站为多个源站组中的其中一组,每一组源站中又可以分为主源站以及备源站两种,过程具体包括:

步骤s101:接收对音视频数据流回源的回源指令;

回源是指当cdn网络中的节点没有用户所请求的内容时,向其他节点请求此内容的过程。可选地,本步骤中源站接收下一级区域节点发送的对音视频数据流回源的回源指令。

步骤s102:从所述控制中心获取所述配置信息;

可选地,源站调用接口从控制中心获取配置信息。

步骤s103:根据所述配置信息确定源站的主备身份是否发生切换;

由于配置信息中记录了主备源站之间发生切换的信息,因此通过读取到的配置信息可以分析得到源站的主备身份是否发生了切换。

步骤s104:如果否,则由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息;

在主备身份未发生切换的情况下,也就是切换前作为主源站的第一源站仍然作为主源站,继续从第三方服务器回源,并由第一源站对音视频数据流添加定位信息。此时,作为备源站的第二源站没有区域节点连接,因此可以不进行回源。在第二源站有区域节点连接时,第一源站回源第一源站。该过程中从第三方服务器拉取的数据流均由第一源站作为入口进入到cdn网络中,由第一源站添加定位信息。

步骤s105:如果是,则由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站。

在主备身份发生切换的情况下,也就是切换前作为主源站的第一源站现在被切换为备源站,第二源站现在被切换为主源站,由第二源站从第三方服务器回源,并由第二源站对音视频数据添加定位信息,而第一源站回源第二源站,不再从第三方服务器回源。此后,第一源站再接收到拉取指令时,只能从第二源站回源,此过程中从第三方服务器拉取的数据流均由第二源站作为入口进入到cdn网络中,由第二源站添加定位信息。

在上述步骤s105由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站之后还包括:第一源站判断从第二源站回源的音视频数据流是否添加了定位信息,如果否,则由所述第一源站对所述音视频数据流添加定位信息。如果是,则不需要再对音视频数据流添加定位信息。

本申请实施例中源站每一次回源之前,都先从控制中心获取配置信息。例如,主源站回源之前,先从控制中心获取配置信息,判断是回源第三方服务器还是回源备源站。控制中心的配置信息中记录主备身份未发生切换的情况下,主源站回源第三方服务器,这时备源站没有接收到连接,不需回源。在判断出主源站出现欠帧、丢包、网络切割等状况时,控制中心中的配置信息中记录主源站与备源站的主备身份切换信息。主源站断开向第三方服务器的拉流连接,由备源站询问是否回源第三方服务器。根据控制中心中的配置信息,允许备源站回源第三方服务器。此时,主源站再次向控制中心询问是否回源第三方服务器时,控制中心会让主源站回源备源站,完成一次切换,保证全网中只有一个源站回源。当区域节点再次欠帧主备来回切换时,全网中的数据都是统一的。控制中心记录出现问题的源站,同时记录正在回源的备源站,为防止频繁来回切换,在经过预设时间之后,控制中心将原先的主源站当做第一次的备源站来看待,重复执行以上动作。

本申请所提供的直播数据传输方法,在原有的cdn网络架构上增加设置了控制中心,用来在源站的主备身份发生切换时进行记录,生成配置信息。在接收到对音视频数据流回源的回源指令之后,先与控制中心通信,获取配置信息,确定源站的主备身份是否发生了切换。在主备身份未发生切换的情况下,也就是切换前作为主源站的第一源站仍然作为主源站,继续从第三方服务器回源,并由第一源站对音视频数据流添加定位信息。在主备身份发生切换的情况下,也就是切换前作为主源站的第一源站现在被切换为备源站,第二源站现在被切换为主源站,由第二源站从第三方服务器回源,并由第二源站对音视频数据添加定位信息,而第一源站回源第二源站,不再从第三方服务器回源。这样,就能够保证全网中只有一个源站回源,当区域再次切换主备源站时,全网中的数据都是统一的,数据在边缘能够正常还原,解决了p2p传输中的通用性问题。

本申请所提供的直播数据传输方法还可以应用于多个源站组,如图4本申请所提供的直播数据传输方法的另一种具体实施方式的流程图所示,该过程包括:

步骤s201:接收对待拉取音视频数据流的拉流请求,所述拉流请求中至少包括所述音视频数据流的参数信息;

可选地,所述参数信息可以为所述待拉取音视频数据流的三元组数据。对于一路流,三元组数据是唯一的。三元组数据的形式可以为:vhost/app/stream。该三元组为拉流的url(uniformresourcelocator,统一资源定位符),每一路流的vhost/app/stream组成的url是唯一的。

步骤s202:根据所述参数信息以及配置信息,确定进行拉流的目标源站组;

本步骤中可以对所述三元组数据进行哈希均衡计算,根据计算结果确定进行拉流的目标源站组。例如配置信息中当前配置的源站为x组,在计算哈希落点时,需要对x求余,然后根据结果确定落到哪一组上,即目标源站组。

步骤s203:所述目标源站组接收对音视频数据流回源的回源指令;

在确定得到目标源站组之后,由目标源站组接收回源指令,执行后续步骤,需要指出的是,后续步骤与实施例一中的步骤相对应,可以相互参照,在此不再赘述。

步骤s204:从所述控制中心获取所述配置信息;

步骤s205:根据所述配置信息确定源站的主备身份是否发生切换;

步骤s206:如果否,则由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息;

步骤s207:如果是,则由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站。

此外,当接收所述拉流请求的第三源站不属于所述目标源站组时,所述第三源站回源所述目标源站组拉取所述音视频数据流。

在上述实施例的基础上,本申请还可以进一步包括:当检测到区域节点与所述第一源站之间的连接出现故障时,断开当前区域节点与所述第一源站的连接,切换到所述第二源站回源。本实施例当发现源站丢包、欠帧、网络切割等状况时,区域节点可以切换到另一台源站上。如果是区域自身网络的问题,当然也可以选择不进行切换。

下面以配置两个源站组为例,对本申请所提供的直播数据传输方法进行进一步详细阐述。本实施例中,配置两个源站组,各组都是一主一备。分别用a/a1、b/b1表示,x1的是备,a、b是哈希组,根据待拉取音视频流对应的三元组,进行哈希均衡计算,确定配置的两组源站最终落到哪一组上。

默认在控制中心h设置a、b为主源站,a1、b1为备源站。a、a1、b、b1每次回源时都要回调一个接口,也就是on_ingest接口。

区域节点拉流时,会回主a或者主b,a/b回源时,调用on_ingest接口,同时把参数xy3rdurl传到控制中心h,控制中心h会根据传送过来的三元组计算哈希,然后对组数求余,落到一组机器上。

(1)假设落到a/a1组上,控制中心h发现是a拉流,同时a是主源站,则rewrite到参数中的第三方cdn的vhost/app/stream,返回同意回源第三方服务器。a收到后,直接回源第三方服务器。

(2)如果另外一路流落到b/b1组上,控制中心h发现a拉流,同时b是主源站,不要rewrite参数中的第三方服务器的vhost/app/stream,同时的返回b地址给a,a收到后,直接使用原来的url回源b。

(3)根据第(2)步骤,b开始回源,调用on_ingest接口,同时把参数xy3rdurl传到控制中心h,控制中心h发现是b拉流,同时b是主源站,rewrite到参数中的第三方服务器的vhost/app/stream,返回同意回源第三方服务器。b收到后,直接回源第三方服务器。

(4)如果哈希组多的话,重复以上操作。

当第(3)步骤中的落到组(a/a1)的a上后,a回源后,如果发现a出现抖动,网络丢包,则在控制中心h上调换主备配置设置a1/a,a1当做主,a当做备,查明a的原因修正后,a继续做备,如果a1再次出现丢包、抖动后,在控制中心h上在调换为a/a1,a再次设置为主源站。

如果第(3)步骤落到组(b/b1)的b,b、b1的切换类似a、a1的切换,重复以上操作。

本实施例中,每个源站会自动定时调用一个接口get_origin,把传过来的三元数据组和参数xy3rdurl传输到控制中心h,然后从控制中心h计算哈希值,获取对应流的hash组的主源站,如果控制中心记录主备源站身份没变化,则每次返回的主源站都是一台机器,源站继续回源原链路;如果对应流的主备身份变化了,则断开原回源链路,使用新的链路继续回源。通过本申请所提供的方法,使得线上一路流始终保持一个源站回源第三方,其他源站回源该源站。

进一步地,如果源站需要扩容,可以在上述基础上继续添加设备。例如再添加一组设备,则计算哈希落点时,需要对3求余,然后根据数值确定落到对应组。

优选地,本申请实施例如果控制中心出现问题,则直接走默认,使用本地接口,rewrite成第三方vhost/app/stream,直接回源第三方服务器。

下面对本申请实施例提供的直播数据传输装置进行介绍,下文描述的直播数据传输装置与上文描述的直播数据传输方法可相互对应参照。

图5为本申请实施例提供的直播数据传输装置的结构框图,该装置应用于cdn网络中的源站,所述cdn网络还包括控制中心,所述控制中心提供有访问预先存储的配置信息的接口,参照图5直播数据传输装置1可以包括:

存储器11、处理器12以及接口13。

所述存储器11上存储有可在所述处理器12上运行的直播数据传输程序,所述直播数据传输程序被所述处理器12执行时实现以下步骤:

接收对音视频数据流回源的回源指令;从所述控制中心获取所述配置信息;根据所述配置信息确定源站的主备身份是否发生切换;如果否,则由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息;如果是,则由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站。

本实施例中,所述源站包括多个源站组,所述直播数据传输程序被所述处理器12执行时可以实现以下步骤:

接收对待拉取音视频数据流的拉流请求,所述拉流请求中至少包括所述音视频数据流的参数信息;

根据所述参数信息以及配置信息,确定进行拉流的目标源站组;

所述目标源站组接收对音视频数据流回源的回源指令。

本实施例中,所述直播数据传输程序被所述处理器12执行时可以实现以下步骤:所述参数信息为所述待拉取音视频数据流的三元组数据,对所述三元组数据进行哈希均衡计算,根据计算结果确定进行拉流的目标源站组。

本实施例中,所述直播数据传输程序被所述处理器12执行时可以实现以下步骤:当接收所述拉流请求的第三源站不属于所述目标源站组时,所述第三源站回源所述目标源站组拉取所述音视频数据流。

本实施例中,所述直播数据传输程序被所述处理器12执行时还可以实现以下步骤:当检测到区域节点与所述第一源站之间的连接出现故障时,断开当前区域节点与所述第一源站的连接,切换到所述第二源站回源。

本实施例中,所述直播数据传输程序被所述处理器12执行时还可以实现以下步骤:在所述由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息之后,所述第二源站回源所述第一源站。

本实施例中,所述直播数据传输程序被所述处理器12执行时还可以实现以下步骤:在所述由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站之后,所述第一源站判断从所述第二源站回源的音视频数据流是否添加了定位信息,如果否,则由所述第一源站对所述音视频数据流添加定位信息。

在本实施例中,直播数据传输装置1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。

该直播数据传输装置1可以是组成cdn网络的节点。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是直播数据传输装置1的内部存储单元,例如该直播数据传输装置1的硬盘。存储器11在另一些实施例中也可以是直播数据传输装置1的外部存储设备,例如直播数据传输装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括直播数据传输装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于直播数据传输装置1的应用软件及各类数据,例如直播数据传输程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行直播数据传输程序01等。

该总线13可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

进一步地,直播数据传输装置还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在直播数据传输装置1中处理的信息以及用于显示可视化的用户界面。

图5仅示出了具有组件11-13的直播数据传输装置1,本领域技术人员可以理解的是,图5示出的结构并不构成对直播数据传输装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

本申请在原有的cdn网络架构上增加设置了控制中心,用来在源站的主备身份发生切换时进行记录,生成配置信息。在接收到对音视频数据流回源的回源指令之后,先与控制中心通信,获取配置信息,确定源站的主备身份是否发生了切换。在主备身份未发生切换的情况下,也就是切换前作为主源站的第一源站仍然作为主源站,继续从第三方服务器回源,并由第一源站对音视频数据流添加定位信息。在主备身份发生切换的情况下,也就是切换前作为主源站的第一源站现在被切换为备源站,第二源站现在被切换为主源站,由第二源站从第三方服务器回源,并由第二源站对音视频数据添加定位信息,而第一源站回源第二源站,不再从第三方服务器回源。这样,就能够保证全网中只有一个源站回源,当区域再次切换主备源站时,全网中的数据都是统一的,数据在边缘能够正常还原,解决了p2p传输中的通用性问题。

本申请还公开了一种直播数据传输方法,应用于cdn网络中的第一源站,所述cdn网络还包括控制中心,所述控制中心提供有访问预先存储的配置信息的接口,参照图6,所述方法包括:

步骤s301:接收对音视频数据流回源的回源指令;

步骤s302:从所述控制中心获取所述配置信息;

步骤s303:根据所述配置信息确定所述第一源站的主备身份是否发生切换;

步骤s304:在所述第一源站由主源站切换为备源站,原本作为备源站的第二源站切换为主源站时,断开所述第一源站与第三方服务器的连接,回源所述第二源站,所述第二源站从所述第三方服务器回源并对所述音视频数据添加定位信息。

本申请还公开了一种直播数据传输方法,应用于cdn网络中的第二源站,所述cdn网络还包括控制中心,所述控制中心提供有访问预先存储的配置信息的接口,参照图7,所述方法包括:

步骤s401:接收对音视频数据流回源的回源指令;

步骤s402:从所述控制中心获取所述配置信息;

步骤s403:根据所述配置信息确定所述第二源站的主备身份是否发生切换;

步骤s404:在所述第二源站由备源站切换为主源站,原本作为主源站的第一源站切换为备源站时,从所述第三方服务器回源并对所述音视频数据添加定位信息,以使所述第一源站回源所述第二源站。

本申请还公开一种直播数据传输方法,应用于cdn网络中的控制中心,所述控制中心提供有访问预先存储的配置信息的接口,cdn网络中的源站通过所述接口与所述控制中心进行数据通信,参照图8,所述方法包括:

步骤s501:实时检测源站的主备身份,生成标识源站的主备身份的配置信息;

步骤s502:向所述源站发送所述配置信息,以使所述源站根据所述配置信息确定主备身份是否发生切换。

需要指出的是,本申请上述实施例分别以第一源站、第二源站、控制中心作为执行主体,其公开的直播数据传输方法与前述方法相对应,具体的实施过程可以参照前述的方法,在此不再赘述。

本申请还公开了一种直播数据传输系统,包括:源站、区域节点、边缘节点、第三方服务器以及控制中心;

其中,所述控制中心提供有访问预先存储的配置信息的接口;

所述源站用于接收对音视频数据流回源的回源指令;从所述控制中心获取所述配置信息;根据所述配置信息确定源站的主备身份是否发生切换;如果否,则由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息;如果是,则由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站。

本实施例中区域节点、边缘节点、第三方服务器的具体实施可以参照上述实施例以及现有技术,在此不再赘述。

本申请在原有的cdn网络架构上增加设置了控制中心,用来在源站的主备身份发生切换时进行记录,生成配置信息。在接收到对音视频数据流回源的回源指令之后,先与控制中心通信,获取配置信息,确定源站的主备身份是否发生了切换。在主备身份未发生切换的情况下,也就是切换前作为主源站的第一源站仍然作为主源站,继续从第三方服务器回源,并由第一源站对音视频数据流添加定位信息。在主备身份发生切换的情况下,也就是切换前作为主源站的第一源站现在被切换为备源站,第二源站现在被切换为主源站,由第二源站从第三方服务器回源,并由第二源站对音视频数据添加定位信息,而第一源站回源第二源站,不再从第三方服务器回源。这样,就能够保证全网中只有一个源站回源,当区域再次切换主备源站时,全网中的数据都是统一的,数据在边缘能够正常还原,解决了p2p传输中的通用性问题。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有直播数据传输程序,所述直播数据传输程序可被一个或者多个处理器执行,以实现以下步骤:

接收对音视频数据流回源的回源指令;从所述控制中心获取所述配置信息;根据所述配置信息确定源站的主备身份是否发生切换;如果否,则由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息;如果是,则由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站。

本实施例中,所述直播数据传输程序可被一个或者多个处理器执行,可以实现以下步骤:

接收对待拉取音视频数据流的拉流请求,所述拉流请求中至少包括所述音视频数据流的参数信息;

根据所述参数信息以及配置信息,确定进行拉流的目标源站组;

所述目标源站组接收对音视频数据流回源的回源指令。

本实施例中,所述直播数据传输程序可被一个或者多个处理器执行,可以实现以下步骤:所述参数信息为所述待拉取音视频数据流的三元组数据,对所述三元组数据进行哈希均衡计算,根据计算结果确定进行拉流的目标源站组。

本实施例中,所述直播数据传输程序可被一个或者多个处理器执行,可以实现以下步骤:当接收所述拉流请求的第三源站不属于所述目标源站组时,所述第三源站回源所述目标源站组拉取所述音视频数据流。

本实施例中,所述直播数据传输程序可被一个或者多个处理器执行,可以实现以下步骤:当检测到区域节点与所述第一源站之间的连接出现故障时,断开当前区域节点与所述第一源站的连接,切换到所述第二源站回源。

本实施例中,所述直播数据传输程序可被一个或者多个处理器执行,可以实现以下步骤:在所述由切换前作为主源站的第一源站继续从第三方服务器回源,并对音视频数据流添加定位信息之后,所述第二源站回源所述第一源站。

本实施例中,所述直播数据传输程序可被一个或者多个处理器执行,可以实现以下步骤:在所述由切换前作为备源站的第二源站从所述第三方服务器回源,并对所述音视频数据添加定位信息,所述第一源站回源所述第二源站之后,所述第一源站判断从所述第二源站回源的音视频数据流是否添加了定位信息,如果否,则由所述第一源站对所述音视频数据流添加定位信息。

此外,本申请还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种所述的直播数据传输方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

综上,本申请在原有的cdn网络架构上增加设置了控制中心,用来在源站的主备身份发生切换时进行记录,生成配置信息。在接收到对音视频数据流回源的回源指令之后,先与控制中心通信,获取配置信息,确定源站的主备身份是否发生了切换。在主备身份未发生切换的情况下,也就是切换前作为主源站的第一源站仍然作为主源站,继续从第三方服务器回源,并由第一源站对音视频数据流添加定位信息。在主备身份发生切换的情况下,也就是切换前作为主源站的第一源站现在被切换为备源站,第二源站现在被切换为主源站,由第二源站从第三方服务器回源,并由第二源站对音视频数据添加定位信息,而第一源站回源第二源站,不再从第三方服务器回源。这样,就能够保证全网中只有一个源站回源,当区域再次切换主备源站时,全网中的数据都是统一的,数据在边缘能够正常还原,解决了p2p传输中的通用性问题。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1