流媒体资源的分发方法、系统、边缘节点及中心调度系统与流程

文档序号:15751737发布日期:2018-10-26 17:53阅读:271来源:国知局
流媒体资源的分发方法、系统、边缘节点及中心调度系统与流程

本发明涉及互联网技术领域,特别涉及一种流媒体资源的分发方法、系统、边缘节点及中心调度系统。



背景技术:

在当前的内容分发网络(contentdeliverynetwork,cdn)架构中,通常包含客户端、边缘节点、源节点以及二级缓存节点。请参阅图1,在视频直播的业务中,客户端可以包括主播使用的推流客户端以及观众使用的拉流客户端,边缘节点也可以包括推流边缘节点以及拉流边缘节点。当推流客户端需要上传直播视频时,推流边缘节点可以接收到推流客户端的推送的视频流,然后推流边缘节点会将视频流进一步地推送给源节点,从而使得源节点存储视频流。后续拉流客户端需要播放直播视频时,可以向拉流边缘节点发送资源获取请求,这样,拉流边缘节点会从源节点处获取对应的视频流。在获取视频流时,源节点会将视频流先转发给二级缓存节点,然后二级缓存节点再将视频流发送给拉流边缘节点,最终,拉流边缘节点可以将视频流反馈给拉流客户端进行播放。

由上可见,现有技术中cdn架构中的资源分发过程,需要在cdn内部的多个节点之间进行资源的转发,链路较长,增加直播延迟,同时这样也会导致cdn内部网络流量消耗巨大。



技术实现要素:

本申请的目的在于提供一种流媒体资源的分发方法、系统、边缘节点及中心调度系统,能够减少cdn内部的网络流量消耗。

为实现上述目的,本申请一方面提供一种流媒体资源的分发方法,所述方法包括:拉流边缘节点接收拉流客户端发来的指向目标流媒体资源的资源获取请求;若所述拉流边缘节点处未存储所述目标流媒体资源,所述拉流边缘节点向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源,并将获取的所述目标流媒体资源提供给所述拉流客户端。

为实现上述目的,本申请另一方面还提供一种拉流边缘节点,所述拉流边缘节点包括:资源获取请求接收单元,用于接收拉流客户端发来的指向目标流媒体资源的资源获取请求;查询单元,用于若所述拉流边缘节点处未存储所述目标流媒体资源,向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;资源获取单元,用于从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。

为实现上述目的,本申请另一方面还提供一种流媒体资源的分发方法,所述方法包括:推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及自身的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息;当所述推流边缘节点接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。

为实现上述目的,本申请另一方面还提供一种推流边缘节点,所述推流边缘节点包括:信息上报单元,用于在所述推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及所述推流边缘节点的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息;资源反馈单元,用于在接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。

为实现上述目的,本申请另一方面还提供一种流媒体资源的分发方法,所述方法包括:当推流边缘节点接收到推流客户端发来的推流请求后,中心调度系统接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息;所述中心调度系统接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。

为实现上述目的,本申请另一方面还提供一种中心调度系统,所述系统包括:推流信息接收单元,用于当推流边缘节点接收到推流客户端发来的推流请求后,接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息;查询结果反馈单元,用于接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。

为实现上述目的,本申请另一方面还提供一种流媒体资源的分发系统,所述系统包括推流边缘节点、拉流边缘节点、二级缓存节点、源节点以及中心调度系统,其中:所述推流边缘节点与所述源节点具备相同的配置信息,并且所述拉流边缘节点与所述二级缓存节点具备相同的配置信息;所述推流边缘节点、所述拉流边缘节点以及所述中心调度系统分别用于执行上述对应的步骤。

由上可见,本申请提供的技术方案,将源节点和推流边缘节点对等,并且将二级缓存节点和拉流边缘节点对等,从而可以避免在cdn内部进行大量的资源转发过程。具体地,推流边缘节点接收到推流客户端发来的推流请求后,可以不将对应的流媒体资源上推给源节点,而是将流媒体资源在本地存储,并且将流媒体资源的资源标识和自身的节点信息上报至中心调度系统,以表明该流媒体资源当前存储于该推流边缘节点处。当拉流边缘节点接收到拉流客户端发来的资源获取请求后,如果拉流边缘节点本地没有存储对应的流媒体资源,则可以向中心调度系统发送拉流查询请求,以从中心调度系统处获取当前存储该流媒体资源的节点。若中心调度系统向拉流客户端反馈的是推流边缘节点的节点信息,那么拉流边缘节点便可以直接从推流边缘节点处获取对应的流媒体资源。这样,推流边缘节点既承担了边缘节点的业务,也承担了源节点的业务。此外,当拉流边缘节点获取到所需的流媒体资源后,还可以在本地将获取到的流媒体资源进行存储,并且在存储之后,可以向中心调度系统上报资源标识和自身的节点信息。这样,如果有其它的拉流边缘节点需要获取该流媒体资源时,便可以从存储有该流媒体资源的拉流边缘节点处直接获取,这样,拉流边缘节点既承担了边缘节点的业务,同时也承担了二级缓存节点的业务。由上可见,通过将推流边缘节点和源节点对等,并且将拉流边缘节点和二级缓存节点对等,从而可以避免在cdn内部进行大量的资源转发过程,进而能够减少cdn内部的网络流量消耗,也缩短了资源传输链路长度,减少了延时。

附图说明

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

图1是现有技术中cdn的系统架构示意图;

图2是本发明实施例中流媒体资源的分发系统示意图;

图3是本发明实施例中拉流边缘节点执行的流媒体资源的分发方法流程图;

图4是本发明实施例中拉流边缘节点的结构示意图;

图5是本发明实施例中推流边缘节点执行的流媒体资源的分发方法流程图;

图6是本发明实施例中中心调度系统执行的流媒体资源的分发方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本申请提供一种流媒体资源的分发系统,请参阅图2,所述系统包括推流边缘节点、拉流边缘节点、二级缓存节点、源节点以及中心调度系统。在本实施方式中,所述推流边缘节点与所述源节点具备相同的配置信息,并且所述拉流边缘节点与所述二级缓存节点具备相同的配置信息。其中,具备相同的配置信息可以指节点中服务器的硬件资源和软件资源都一致,并且针对同一个流媒体资源,在节点中的域名也一致。这样,推流边缘节点和拉流边缘节点既可以承担正常的边缘节点的业务,同时,推流边缘节点还可以承担源节点的业务,拉流边缘节点还可以承担二级缓存节点的业务。如图2所示,在本实施方式中,所述中心调度系统可以提供推流上报接口,该推流上报接口可以接收推流边缘节点上报的推流信息。此外,所述中心调度系统还可以提供拉流查询接口,该拉流查询接口可以接收拉流边缘节点发来的拉流查询请求,并向所述拉流边缘节点反馈相应的查询结果。

具体地,请参阅图3,本申请提供一种流媒体资源的分发方法,该方法的执行主体可以是上述的拉流边缘节点。如图3所示,该方法可以包括以下步骤。

s11:拉流边缘节点接收拉流客户端发来的指向目标流媒体资源的资源获取请求。

在本实施方式中,所述拉流客户端可以是观看点播视频或者直播视频的用户所使用的终端设备,当然,所述拉流客户端也可以是运行于上述终端设备中的软件。例如,所述拉流客户端可以是智能手机,也可以是运行于智能手机中的优酷视频、腾讯视频、斗鱼直播等软件。当用户想要观看目标流媒体资源时,拉流客户端可以向外发出指向该目标流媒体资源的资源获取请求。该请求可以被cdn中的一个拉流边缘节点接收到。该拉流边缘节点可以是与所述拉流客户端之间通信状态最好的一个边缘节点,也可以是根据负载均衡策略选定的一个边缘节点,本申请对此并不做限定。

在本实施方式中,所述资源获取请求中通常会包含所述目标流媒体资源的资源标识,该资源标识可以是用于定位所述目标流媒体资源的url(uniformresourcelocator,统一资源定位符),也可以是所述目标流媒体资源的名称,当然,还可以上述url和名称的组合。此外,所述资源获取请求中还可以包括所述拉流客户端的通信地址,这样,后续可以根据该通信地址将目标流媒体资源反馈给所述拉流客户端。

s13:若所述拉流边缘节点处未存储所述目标流媒体资源,所述拉流边缘节点向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点。

在本实施方式中,所述拉流边缘节点在接收到所述资源获取请求之后,首先根据资源获取请求中携带的资源标识,判断本地是否存储了对应的目标流媒体资源。如果已经存储了目标流媒体资源,则可以直接向拉流客户端反馈所述目标流媒体资源。若所述拉流边缘节点处未存储所述目标流媒体资源,则可以通过中心调度系统提供的拉流查询接口,向中心调度系统发送拉流查询请求。

在本实施方式中,所述拉流查询请求中可以包括所述目标流媒体资源的资源标识以及所述拉流边缘节点的节点信息。其中,所述目标流媒体资源的资源标识用于告知中心调度系统,当前用户想要观看的是哪个流媒体资源。所述拉流边缘节点的节点信息可以包括该拉流边缘节点的名称、ip地址、所属区域等信息。中心调度系统可以根据该节点信息,在存储所述目标流媒体资源的多个节点中确定与所述拉流边缘节点具备最佳通信状态的节点。

在本实施方式中,中心调度系统接收到该拉流查询请求后,可以根据其中携带的资源标识,查询当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点。这里需要说明的是,由于推流边缘节点与源节点对等,因此流媒体资源可以存储于推流边缘节点中;此外,由于拉流边缘节点与二级缓存节点对等,因此流媒体资源也可以存储于拉流边缘节点中。在所述中心调度系统内,可以记录当前已经在cdn中存储的流媒体资源的信息,该信息可以包括流媒体资源的资源标识,以及存储该流媒体资源的节点的节点信息。这样,中心调度系统可以根据拉流查询请求中携带的资源标识,查询到当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点。

在本实施方式中,若查询得到的存储所述目标流媒体资源的节点数量多于1个,那么中心调度系统可以按照最佳路径原则,从查询得到的拉流边缘节点和/或推流边缘节点中确定与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点。具体地,中心调度系统可以确定发送拉流查询请求的拉流边缘节点与查询得到的各个节点之间的通信状态,该通信状态可以包括通信时延、丢包率、带宽消耗等多种信息。然后,可以将具备最佳通信状态的节点作为与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点。这样,确定的所述目标拉流边缘节点或目标推流边缘节点与发送所述拉流查询请求的拉流边缘节点之间可以构成最优传输路径。

在本实施方式中,所述中心调度系统可以将确定的所述目标拉流边缘节点的节点信息或目标推流边缘节点的节点信息反馈给发送所述拉流查询请求的拉流边缘节点。反馈的节点信息中可以包括目标拉流边缘节点或目标推流边缘节点的ip地址。

s15:所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源,并将获取的所述目标流媒体资源提供给所述拉流客户端。

在本实施方式中,拉流边缘节点可以根据中心调度系统反馈的节点信息,从对应的目标拉流边缘节点或目标推流边缘节点处获取到所述目标流媒体资源。在获取到所述目标流媒体资源后,拉流边缘节点从而可以将所述目标流媒体资源提供给所述拉流客户端。

在本实施方式中,由于拉流边缘节点与二级缓存节点对等,那么在所述拉流边缘节点获取到所述目标流媒体资源后,所述拉流边缘节点可以在本地存储所述目标流媒体资源,后续如果有新的拉流边缘节点要获取该目标流媒体资源时,存储了该目标流媒体资源的拉流边缘节点便可以作为二级缓存节点,向新的拉流边缘节点提供该目标流媒体资源。在本地存储了所述目标流媒体资源后,所述拉流边缘节点可以将所述目标流媒体资源的资源标识以及所述拉流边缘节点自身的节点信息反馈给所述中心调度系统,从而在中心调度系统中记录当前存储了所述目标流媒体资源的节点的节点信息。

请参阅图4,本申请还提供一种拉流边缘节点,所述拉流边缘节点包括:

资源获取请求接收单元,用于接收拉流客户端发来的指向目标流媒体资源的资源获取请求;

查询单元,用于若所述拉流边缘节点处未存储所述目标流媒体资源,向中心调度系统发送拉流查询请求,并接收所述中心调度系统反馈的查询结果;其中,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点;

资源获取单元,用于从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。

该拉流边缘节点实现的具体功能,可以参见上述的拉流边缘节点执行的流媒体资源的分发方法,这里便不再赘述。

本申请还提供一种流媒体资源的分发方法,该方法的执行主体可以是上述的推流边缘节点。请参阅图5,所述方法可以包括以下步骤。

s21:推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及自身的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息。

在本实施方式中,所述推流客户端可以是上传流媒体资源的用户所使用的终端设备,或者是安装于上述终端设备中的软件。上传流媒体资源的用户例如可以是直播平台的主播。所述终端设备例如可以是台式电脑或者智能手机,所述软件例如可以是acfun、哔哩哔哩、虎牙直播等应用程序(application,app)。所述推流客户端需要上传流媒体资源时,可以发出指向流媒体资源的推流请求,该推流请求中可以包含所述流媒体资源的资源标识。该推流请求可以被cdn中的一个推流边缘节点接收到。该推流边缘节点可以是与所述推流客户端之间通信状态最好的一个边缘节点,也可以是根据负载均衡策略选定的一个边缘节点,本申请对此并不做限定。

在本实施方式中,所述推流边缘节点接收到所述推流请求后,可以在本地存储该推流请求指向的流媒体资源,而不继续向源节点推送该流媒体资源,从而可以避免cdn内部的带宽消耗。在存储了所述流媒体资源后,推流边缘节点可以将所述流媒体资源的资源标识以及自身的节点信息上传至中心调度系统。其中,所述资源标识可以是用于定位所述流媒体资源的url,也可以是所述流媒体资源的名称,当然,还可以上述url和名称的组合。所述推流边缘节点的节点信息中可以包括该推流边缘节点的名称、ip地址、所属区域等信息。这样,中心调度系统便可以将接收到的资源标识和节点信息关联存储。后续如果拉流边缘节点发来指向该流媒体资源的拉流查询请求时,所述中心调度系统可以向所述拉流边缘节点反馈所述推流边缘节点的节点信息,从而使得拉流边缘节点可以从该推流边缘节点处获取该流媒体资源。

s23:当所述推流边缘节点接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。

在本实施方式中,当拉流边缘节点接收到拉流客户端发出的资源获取请求时,若该拉流边缘节点中没有缓存对应的流媒体资源,该拉流边缘节点可以按照步骤s13中的描述,向中心调度系统发送拉流查询请求,从而从所述中心调度系统处获取所述资源获取请求对应的推流边缘节点的节点信息。若该节点信息表征的是步骤s21中的推流边缘节点,那么该推流边缘节点便可以接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求,并可以向所述拉流边缘节点反馈所述流媒体资源。由此可见,本实施方式中的推流边缘节点,在接收到推流请求后,不会继续向源节点推送对应的流媒体资源,而是在本地存储该流媒体资源,并且将资源标识和自身的节点信息汇报给中心调度系统,这样,推流边缘节点既承担了边缘节点的业务,又实现了源节点的业务。

本申请还提供一种推流边缘节点,所述推流边缘节点包括:

信息上报单元,用于在所述推流边缘节点接收到推流客户端发来的推流请求后,存储所述推流请求指向的流媒体资源,并将所述流媒体资源的资源标识以及所述推流边缘节点的节点信息上传至中心调度系统,以使得所述中心调度系统在接收到拉流边缘节点发来的拉流查询请求时,向所述拉流边缘节点反馈所述推流边缘节点的节点信息;

资源反馈单元,用于在接收到所述拉流边缘节点发来的指向所述流媒体资源的拉流请求后,向所述拉流边缘节点反馈所述流媒体资源。

该推流边缘节点实现的具体功能,可以参见上述的推流边缘节点执行的流媒体资源的分发方法,这里便不再赘述。

请参阅图6,本申请还提供一种流媒体资源的分发方法,该方法的执行主体可以是上述的中心调度系统,所述方法包括以下步骤。

s31:当推流边缘节点接收到推流客户端发来的推流请求后,中心调度系统接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息。

在本实施方式中,推流客户端需要上传流媒体资源时,可以发出指向流媒体资源的推流请求,该推流请求中可以包含所述流媒体资源的资源标识。该推流请求可以被cdn中的推流边缘节点接收到。所述推流边缘节点接收到所述推流请求后,可以在本地存储该推流请求指向的流媒体资源,而不继续向源节点推送该流媒体资源,从而可以避免cdn内部的带宽消耗。在存储了所述流媒体资源后,推流边缘节点可以将所述流媒体资源的资源标识以及自身的节点信息作为推流信息上传至中心调度系统。这样,中心调度系统便可以将接收到的资源标识和节点信息关联存储。

s33:所述中心调度系统接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。

在本实施方式中,当用户想要观看目标流媒体资源时,拉流客户端可以向拉流边缘节点发送指向该目标流媒体资源的资源获取请求。在本实施方式中,所述拉流边缘节点在接收到所述资源获取请求之后,首先根据其中携带的资源标识,判断本地是否存储了对应的目标流媒体资源。如果已经存储了目标流媒体资源,则可以直接向拉流客户端反馈所述目标流媒体资源。若所述拉流边缘节点处未存储所述目标流媒体资源,则可以通过中心调度系统提供的拉流查询接口,向中心调度系统发送拉流查询请求。

在本实施方式中,所述拉流查询请求中可以包括所述目标流媒体资源的资源标识以及所述拉流边缘节点的节点信息。其中,所述目标流媒体资源的资源标识用于告知中心调度系统,当前用户想要观看的是哪个流媒体资源。所述拉流边缘节点的节点信息可以包括该拉流边缘节点的名称、ip地址、所属区域等信息。中心调度系统可以根据该节点信息,在存储所述目标流媒体资源的多个节点中确定与所述拉流边缘节点具备最佳通信状态的节点。

在本实施方式中,中心调度系统接收到该拉流查询请求后,可以根据其中携带的资源标识,查询当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点。这里需要说明的是,由于推流边缘节点与源节点对等,因此流媒体资源可以存储于推流边缘节点中;此外,由于拉流边缘节点与二级缓存节点对等,因此流媒体资源也可以存储于拉流边缘节点中。在所述中心调度系统内,可以记录当前已经在cdn中存储的流媒体资源的信息,该信息可以包括流媒体资源的资源标识,以及存储该流媒体资源的节点的节点信息。这样,中心调度系统可以根据拉流查询请求中携带的资源标识,查询到当前存储所述目标流媒体资源的拉流边缘节点和/或推流边缘节点。

在本实施方式中,若查询得到的存储所述目标流媒体资源的节点数量多于1个,那么中心调度系统可以按照最佳路径原则,从查询得到的拉流边缘节点和/或推流边缘节点中确定与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点。具体地,中心调度系统可以确定发送拉流查询请求的拉流边缘节点与查询得到的各个节点之间的通信状态,该通信状态可以包括通信时延、丢包率、带宽消耗等多种信息。然后,可以将具备最佳通信状态的节点作为与发送所述拉流查询请求的拉流边缘节点相匹配的目标拉流边缘节点或目标推流边缘节点。这样,确定的所述目标拉流边缘节点或目标推流边缘节点与发送所述拉流查询请求的拉流边缘节点之间可以构成最优传输路径。

在本实施方式中,所述中心调度系统可以将确定的所述目标拉流边缘节点的节点信息或目标推流边缘节点的节点信息反馈给发送所述拉流查询请求的拉流边缘节点。反馈的节点信息中可以包括目标拉流边缘节点或目标推流边缘节点的ip地址。

在本实施方式中,拉流边缘节点可以根据中心调度系统反馈的节点信息,从对应的目标拉流边缘节点或目标推流边缘节点处获取到所述目标流媒体资源。在获取到所述目标流媒体资源后,拉流边缘节点从而可以将所述目标流媒体资源提供给所述拉流客户端。

在本实施方式中,由于拉流边缘节点与二级缓存节点对等,那么在所述拉流边缘节点获取到所述目标流媒体资源后,所述拉流边缘节点可以在本地存储所述目标流媒体资源,后续如果有新的拉流边缘节点要获取该目标流媒体资源时,存储了该目标流媒体资源的拉流边缘节点便可以作为二级缓存节点,向新的拉流边缘节点提供该目标流媒体资源。在本地存储了所述目标流媒体资源后,所述拉流边缘节点可以将所述目标流媒体资源的资源标识以及所述拉流边缘节点自身的节点信息反馈给所述中心调度系统,从而在中心调度系统中记录当前存储了所述目标流媒体资源的节点的节点信息。

本申请还提供一种中心调度系统,所述系统包括:

推流信息接收单元,用于当推流边缘节点接收到推流客户端发来的推流请求后,接收所述推流边缘节点上报的推流信息,所述推流信息中包括所述推流请求指向的流媒体资源的资源标识以及所述推流边缘节点的节点信息;

查询结果反馈单元,用于接收拉流边缘节点发来的指向目标流媒体资源的拉流查询请求,并向所述拉流边缘节点反馈查询结果,所述查询结果表征存储所述目标流媒体资源的目标推流边缘节点或者存储所述目标流媒体资源的目标拉流边缘节点,以使得所述拉流边缘节点从所述查询结果表征的目标推流边缘节点或者目标拉流边缘节点处获取所述目标流媒体资源。

该中心调度系统实现的具体功能,可以参见上述的中心调度系统执行的流媒体资源的分发方法,这里便不再赘述。

请参阅图2,本申请还提供一种流媒体资源的分发系统,所述系统包括推流边缘节点、拉流边缘节点、二级缓存节点、源节点以及中心调度系统,其中:

所述推流边缘节点与所述源节点具备相同的配置信息,并且所述拉流边缘节点与所述二级缓存节点具备相同的配置信息;

所述推流边缘节点、拉流边缘节点以及中心调度系统分别用于执行上述对应的方法步骤,这里便不再赘述。

由上可见,本申请提供的技术方案,将源节点和推流边缘节点对等,并且将二级缓存节点和拉流边缘节点对等,从而可以避免在cdn内部进行大量的资源转发过程。具体地,推流边缘节点接收到推流客户端发来的推流请求后,可以不将对应的流媒体资源上推给源节点,而是将流媒体资源在本地存储,并且将流媒体资源的资源标识和自身的节点信息上报至中心调度系统,以表明该流媒体资源当前存储于该推流边缘节点处。当拉流边缘节点接收到拉流客户端发来的资源获取请求后,如果拉流边缘节点本地没有存储对应的流媒体资源,则可以向中心调度系统发送拉流查询请求,以从中心调度系统处获取当前存储该流媒体资源的节点。若中心调度系统向拉流客户端反馈的是推流边缘节点的节点信息,那么拉流边缘节点便可以直接从推流边缘节点处获取对应的流媒体资源。这样,推流边缘节点既承担了边缘节点的业务,也承担了源节点的业务。此外,当拉流边缘节点获取到所需的流媒体资源后,还可以在本地将获取到的流媒体资源进行存储,并且在存储之后,可以向中心调度系统上报资源标识和自身的节点信息。这样,如果有其它的拉流边缘节点需要获取该流媒体资源时,便可以从存储有该流媒体资源的拉流边缘节点处直接获取,这样,拉流边缘节点既承担了边缘节点的业务,同时也承担了二级缓存节点的业务。由上可见,通过将推流边缘节点和源节点对等,并且将拉流边缘节点和二级缓存节点对等,从而可以避免在cdn内部进行大量的资源转发过程,进而能够减少cdn内部的网络流量消耗。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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