路径规划方法、CDN连接建立方法、设备及存储介质与流程

文档序号:26402835发布日期:2021-08-24 16:15阅读:108来源:国知局
路径规划方法、CDN连接建立方法、设备及存储介质与流程

本申请涉及网络通信技术领域,尤其涉及一种路径规划方法、cdn连接建立方法、设备及存储介质。



背景技术:

内容分发网络(contentdeliverynetwork,cdn)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器(即cdn节点),可使用户就近获取所需内容,提高用户访问的响应速度。另外,在cdn网络中,cdn节点采用多级缓存结构,当低层级的cdn节点未缓存用户所需内容时,会向其上级cdn节点请求相应内容直至源站(originserver),并返回给用户,提高用户访问成功率。

随着直播、点播等视频应用的发展,大量视频内容逐渐成为互联网上最耗带宽的传输形式之一,存在缓冲时间长、启动时间慢、中断频繁等问题,严重影响用户观看体验。为了提高用户的观看体验,视频点播、直播等服务商将更多地依靠cdn网络加快视频内容的分发。

但是,在直播、点播等视频应用中用户群体分散,这会打破cdn网络中cdn节点之间的层级界限,原有cdn节点之间根据层级关系预先配置好的静态回源路径也将不适用,因此,如何为cdn节点规划回源路径是采用cdn网络给视频等动态内容加速时首要解决的问题。



技术实现要素:

本申请的多个方面提供一种路径规划方法、cdn连接建立方法、设备及存储介质,用以为cdn节点动态规划回源路径,提高路径规划成功率,为采用cdn网络对视频等动态内容加速提供条件。

本申请实施例提供一种路径规划方法,包括:接收cdn网络中第一cdn节点发起的路径规划请求,路径规划请求用于请求规划从第一cdn节点到源站的回源路径;若基于cdn网络中参与路径规划的cdn节点无法规划出或无法规划出符合条件的回源路径,则从预先配置的不参与路径规划的备用cdn节点中选择第二cdn节点;将第二cdn节点作为第一cdn节点和源站之间的中继cdn节点,得到从第一cdn节点到源站的回源路径;将回源路径的信息发送给第一cdn节点,以供第一cdn节点经第二cdn节点与源站建立连接。

本申请实施例还提供一种cdn连接建立方法,适用于cdn网络中的第一cdn节点,包括:根据接收到的资源请求,向选路设备发送路径规划请求,以请求规划从第一cdn节点到源站的回源路径;接收选路设备返回的回源路径的信息,回源路径的信息包括第二cdn节点的信息,第二cdn节点是选路设备预先配置的从不参与路径规划的备用cdn节点中为第一cdn节点和源站选择的中继cdn节点;根据第二cdn节点的信息,经第二cdn节点与源站建立连接,以向源站请求资源请求对应的资源内容。

本申请实施例还提供一种选路设备,包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:接收cdn网络中第一cdn节点发起的路径规划请求,路径规划请求用于请求规划从第一cdn节点到源站的回源路径;若基于cdn网络中参与路径规划的cdn节点无法规划出或无法规划出符合条件的回源路径,则从预先配置的不参与路径规划的备用cdn节点中选择第二cdn节点;将第二cdn节点作为第一cdn节点和源站之间的中继cdn节点,得到从第一cdn节点到源站的回源路径;将回源路径的信息发送给第一cdn节点,以供第一cdn节点经第二cdn节点与源站建立连接。

本申请实施例还提供一种cdn节点,可作为cdn网络中的第一cdn节点实现,该cdn节点包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:根据接收到的资源请求,向选路设备发送路径规划请求,以请求规划从第一cdn节点到源站的回源路径;接收选路设备返回的回源路径的信息,回源路径的信息包括第二cdn节点的信息,第二cdn节点是选路设备预先配置的从不参与路径规划的备用cdn节点中为第一cdn节点和源站选择的中继cdn节点;根据第二cdn节点的信息,经第二cdn节点与源站建立连接,以向源站请求资源请求对应的资源内容。

本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现本申请实施例提供的各方法中的步骤。

在本申请实施例中,cdn网络中不仅包括参与路径规划的cdn节点,还包括不参与路径规划的备份cdn节点;当接收到路径规划请求时,首先基于cdn网络中参与路径规划的cdn节点进行动态路径规划,并在路径规划失败的情况下,从不参与路径规划的备份cdn节点中选择合适地备份cdn节点,将该备份cdn节点作为请求路径规划的cdn节点与源站之间的中继cdn节点从而得到回源路径,在为cdn节点动态规划回源路径的同时,基于不参与路径规划的备份cdn节点能够保证成功地规划出回源路径,为采用cdn网络对视频等动态内容加速提供了条件。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请示例性实施例提供的一种cdn网络系统的结构示意图;

图2a为本申请示例性实施例提供的cdn网络系统中部分节点之间存在的回源路径及状态示意图;

图2b为本申请示例性实施例提供的基于备份cdn节点建连后的部分节点之间存在的回源路径及状态示意图;

图2c为本申请示例性实施例提供的cdn节点与源站建立连接的过程示意图;

图3为本申请示例性实施例提供的一种基于cdn网络的视频直播系统的架构示意图;

图4a为本申请示例性实施例提供的一种路径规划方法的流程示意图;

图4b为本申请示例性实施例提供的一种cdn连接建立方法的流程示意图;

图5a为本申请示例性实施例提供的一种路径规划装置的结构示意图;

图5b为本申请示例性实施例提供的一种选路设备的结构示意图;

图6a为本申请示例性实施例提供的一种cdn连接建立装置的结构示意图;

图6b为本申请示例性实施例提供的一种cdn节点的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供一种cdn网络系统,该cdn网络系统可以看作是分布式的缓存系统,可以面向其客户提供分布式的缓存服务,并可通过负载均衡、内容分发、调度等功能,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。本申请实施例提供的cdn网络系统,其客户可以是资源内容的提供方,例如可以是视频直播服务商、视频点播服务商等提供动态资源内容的服务商,这些服务商可借助于cdn网络系统加快对其提供的动态资源内容的分发。当然,本实施例的cdn网络系统也可以加快静态资源内容,如大型文件或软件等的分发。在本申请下述实施例中,重点以cdn网络加速动态资源内容的分发为例展开描述。

如图1所示,本申请实施例提供的cdn网络系统100包括:源站101、多个cdn节点102、域名解析系统(domainnamesystem,dns)服务器103、负载均衡设备104以及选路设备105。

其中,源站101是cnd网络系统100的核心,是服务商提供的资源内容在cnd网络系统100中的源头,即服务商提供的资源内容最先被上传至源站101上,cdn节点102上的资源内容均都来自于源站101;在物理实现上,源站101可以是任何具有计算、存储和通信能力的计算机设备,例如可以是常规服务器、云服务器、服务器阵列等。举例说明:如果服务商是视频直播服务商,则源站101可以是直播端所接入的服务器,负责存储直播端直播的视频内容;如果服务商是视频点播服务商,则源站101可以是点播服务商所接入的服务器,负责存储点播服务商提供的点播内容。在cdn网络系统100中,源站101的数量可以是一个,也可以是多个,在图1中以一个为例进行图示。另外,在cdn网络系统100中,源站101可以是动态变化的,即源站101可以在需求的时候动态产生,也可以在不需要的时候动态消失。

其中,dns服务器103负责为用户提供域名解析服务。在本实施例中,将资源内容的需求方简称为用户,用户发起的资源请求首先到达dns服务器103;由dns服务器103对用户的资源请求进行dns解析,并向用户返回负载均衡设备104的ip地址;用户向负载均衡设备104发起资源请求;负载均衡设备104为用户选择一个合适的cdn节点102为用户提供服务,并向用户返回该cdn节点102的ip地址,以供用户向该cdn节点102发起资源请求。

可选地,如图1所示,本实施例的dns服务器103包括本地dns服务器103a和根dns服务器103b;本地dns服务器103a是用户端的dns服务器;根dns服务器103b是cdn网络专用的dns服务器。具体地,用户发起的域名解析请求先到达本地dns服务器103a,本地dns服务器103a会将域名解析权交给根dns服务器103b;根dns服务器103b将负载均衡设备104的ip地址返回用户。

其中,负载均衡设备104为用户选择cdn节点102的依据包括但不限于以下几种:根据用户ip地址,选择距离用户最近或较近的cdn节点102为用户提供服务;根据资源请求中的url中携带的内容名称,选择具有用户所需资源内容的cdn节点102为用户提供服务;查询各个cdn节点102的负载情况,选择尚有服务能力的cdn节点102为用户提供服务;等等。

其中,多个cdn节点102分布于不同位置,可以是任何具有计算、通信和存储能力的计算机设备,例如可以是部署在各地的边缘服务器、终端设备、边缘计算设备等。这些cdn节点102更加靠近用户,负责响应用户发起的资源请求并为用户提供所需的资源内容。其中,cdn节点102在接收到用户发起的资源请求之后,可以判断本地是否具有用户请求的资源内容;若cdn节点102本地具有用户请求的资源内容,直接向用户返回其所需的资源内容;若cdn节点102本地没有用户请求的资源内容,那么该cdn节点102需要采用回源机制从其它cdn节点102或源站101获取该资源内容并返回给用户。

在本实施例中,cdn节点102之间以及cdn节点102与源站101之间可能存在多条路径。那么,当cdn节点102执行回源机制时,就会涉及路径规划的问题。在本申请实施例中,路径规划是指找到从发起请求的cdn节点102到源站101之间存在回源路径的过程。另外,在将cdn网络系统100应用于视频直播、视频点播等动态资源场景的情况下,由于这些场景中用户群体的分散性,致使哪个cdn节点102都有可能成为最靠近用户的cdn节点,无法预先根据cdn节点102与用户的距离设定cdn节点102之间的层级关系,而且即使预先配置了cdn节点102之间的层级关系,那么cdn节点102之间的层级界限也会因为用户群体的分散性而被打破。也就是说,在将cdn网络系统100应用于视频直播、视频点播等动态资源场景的情况下,cdn节点102之间实际上是对等关系,并不受层级关系的限定,cdn节点102与源站101之间的回源路径是会因用户群体的分散性而动态变化。鉴于此,也就无法通过cdn节点102之间的层级关系,确定cdn节点102与源站101之间的回源路径。

在本实施例中,在cdn网络系统100中增设选路设备105,由该选路设备105根据cdn节点102的路径规划请求,为cdn节点102进行动态路径规划。对任意cdn节点102而言,若其接收到用户发起的资源请求,且发现本地没有用户请求的资源内容,可以向选路设备105发起路径规划请求,以请求选路设备105为其规划到源站101的回源路径,以便于从回源路径上的其它cdn节点或源站101处获取该资源内容并返回给用户。为了便于描述和区分,在本申请实施例中,将cdn网络系统100中接收到用户发起的资源请求的cdn节点称为起始cdn节点。除该情况之外,在cdn网络系统100中,在一些起始cdn节点102与源站101之间会实际存在一些访问路径,这些访问路径上通常还会包含其它cdn节点,在本申请实施例中,将一条实际存在的访问路径上除起始cdn节点之外的其它cdn节点称为中继cdn节点。在实际使用中,中继cdn节点有可能因为链路故障、网络故障等因素与其下一跳断开连接,此时中继cdn节点也可以向选路设备105发起路径规划请求,以请求选路设备105为其规划到源站101的回源路径,以便于起始cdn节点能够继续从回源路径上的中继cdn节点或源站处获取用户请求的资源内容并返回给用户。其中,为了便于描述和区分,将发起路径规划请求的cdn节点记为第一cdn节点。在本实施例中,第一cdn节点可以是起始cdn节点,也可能是起始cdn节点与源站之间实际存在的访问路径上的中继cdn节点。

在本实施例中,选路设备105可以接收第一cdn节点发起的路径规划请求,该路径规划请求中包括第一cdn节点的标识信息以及指向源站的信息。其中,第一cdn节点的标识信息可以是第一cdn节点的ip地址、mac地址等。以直播应用为例,指向源站的信息可以包括直播端的url、直播流的名称以及应用名等信息,这些信息可指向唯一的源站。在本实施例中,选路设备105可以获知cdn网络系统100的网络拓扑关系,并可获取各cdn节点的状态等信息,基于这些信息可为第一cdn节点进行路径规划。进一步,选路设备105可以采用一定的路径规划策略为第一cdn节点进行路径规划。其中,选路设备105可以采用的路径规划策略包括但不限于:最短路径规划策略、最优路径规划策略和全局式路径规划策略等。在本实施例中,选路设备105可以根据第一cdn节点的路径规划请求,动态地为第一cdn节点规划到相应源站的回源路径。在一些情况下,选路设备105可以成功地规划出从第一cdn节点到源站的回源路径,且该回源路径可能为多条。但是,在一些应用场景中,选路设备105有可能无法成功地规划出从第一cdn节点到源站的回源路径。

如图2a所示为cdn网络系统100中部分节点之间存在的回源路径,在该示例中,节点e1-e3代表3个起始cdn节点,节点r4-r8代表5个中继cdn节点,节点s9代表源站;在该示例中,起始cdn节点e1-e3均向源站s9请求资源内容。在图2a中,节点e1-e3可以向选路设备105发起路径规划请求,选路设备105为节点e1-e3成功规划出如图2a所示的回源路径:节点e1与节点s9之间存在4条回源路径:e1->r4->r7->r8->s9、e1->r4->r5->r8->s9、e1->e2->r5->r8->s9以及e1->e2->r6->r8->s9;节点e2与节点s9之间存在2条回源路径:e2->r5->r8->s9、e2->r6->r8->s9;节点e3与节点s9之间存在1条回源路径:e3->r6->r8->s9。

在本实施例中,回源路径上相邻节点之间存在上下跳关系,即一个节点是另一个节点的上一跳,而另一个节点是该节点的下一跳;在本实施例中,也可以按照回源路径的路径走向,将节点之间的上下跳关系称为父子关系,并将上下跳关系中的上一跳节点称为子节点,而将下一跳节点称为父节点。例如,对于回源路径e1->r4->r7->r8->s9而言,节点e1是节点r4的子节点,节点r4是节点e1的父节点,与此同时,节点r4还是节点r7的子节点;节点r7是节点r4的父节点但却是节点r8的子节点,依次类推。

在实际应用中,假设节点r8与节点s9之间的连接断开,此时,节点r8可以向选路设备105发起路径规划请求,以请求选路设备105为其进行路径规划。在图2a所示的示例中,由于与节点r8所连接的cdn节点,即节点r6-r7均是节点r8的子节点,节点r8的子节点是指在回源路径中将节点r8作为下一跳节点的cdn节点,在该情况下,节点之间会形成环路,选路设备105无法成功地规划出从节点r8到节点s9的回源路径。

由图2a所示的示例可知,选路设备105在为第一cdn节点规划回源路径的过程中,可以分析与第一cdn节点连接的cdn节点是否均是第一cdn节点的子节点;若与第一cdn节点连接的cdn节点均是第一cdn节点的子节点,第一cdn节点会形成环路,则确定无法规划出从第一cdn节点到源站的回源路径。可选地,在有些情况下,与第一cdn节点连接的cdn节点可能不全是第一cdn节点的子节点,在路径规划过程中有可能只会选择其中一部分cdn节点参与第一cdn节点的路径规划,即与第一cdn节点连接的cdn节点中有一部分cdn节点会被选择作为第一部分cdn节点的下一跳节点,如果为第一cdn节点规划出的下一跳节点均是第一cdn节点的子节点,这种情况下,第一cdn节点也会形成环路,也可以确定无法规划出从第一cdn节点到源站的回源路径。

如果选路设备105无法规划出从第一cdn节点到源站的回源路径,那么第一cdn节点将无法为用户提供所需的资源内容,会导致用户服务的中断或卡顿,降低用户对cdn网络系统100的服务感受。除这种情况之外,在有些情况下,可能会因为应用需求,对回源路径有一定要求。例如,客户要求回源路径的跳数要小于或等于设定跳数阈值,以便于能够保证回源时延。又例如,cdn网络中某个cdn节点的负载较重,或者正在负责重要数据流的分发,或者该cdn节点暂时出现了故障等,要求回源路径避开该cdn节点,即回源路径上不能包含指定的cdn节点。鉴于此,选路设备105虽然可以规划出从第一cdn节点到源站的回源路径,但规划出的回源路径不一定符合条件;如果规划出的从第一cdn节点到源站的回源路径不符合条件,那么第一cdn节点也无法通过该回源路径为用户提供所需的资源内容,同样会导致用户服务的中断或卡顿,降低用户对cdn网络系统100的服务感受。

为了保证cdn网络系统100的服务质量,在本实施例中,将多个cdn节点102分为两类,一类是正常参与路径规划的常规cdn节点,一类是不参与路径规划的备份cdn节点,如图1所示。其中,哪些cdn节点可以成为不参与路径规划的备份cdn节点可预先配置。可选地,备份cdn节点还可动态调整。不参与路径规划的备份cdn节点可以作为兜底节点,这些备份cdn节点可在选路设备105无法规划出从第一cdn节点到源站的回源路径或者无法规划出符合条件的回源路径的情况下,充当第一cdn节点和源站之间的中继cdn节点,以便将第一cdn节点与源站连接起来,形成回源路径。

对选路设备105来说,在接收到第一cdn节点发起的路径规划请求的情况下,可以先基于cdn网络中能够参与路径规划的常规cdn节点,动态地为第一cdn节点进行路径规划,具体是指基于常规cdn节点之间的拓扑关系和其它信息,动态地为第一cdn节点进行路径规划;若基于常规cdn节点之间的拓扑关系和其它信息成功地规划出从第一cdn节点到源站的回源路径,或者,基于常规cdn节点之间的拓扑关系和其它信息成功地规划出从第一cdn节点到源站的符合条件的回源路径,则将所规划出的回源路径的信息返回给第一cdn节点,以供第一cdn节点基于回源路径的信息与源站建立连接。进一步,若基于常规cdn节点之间的拓扑关系和其它信息无法规划出从第一cdn节点到源站的回源路径,或者,无法规划出从第一cdn节点到源站的符合条件的回源路径,则可以从预先配置的不参与路径规划的备份cdn节点中选择一个备份cdn节点,为便于描述,将所选择的备份cdn节点称为第二cdn节点;进一步,将第二cdn节点作为第一cdn节点与源站之间的中继cdn节点,得到从第一cdn节点到源站的回源路径;最后,将回源路径的信息发送给第一cdn节点,以使第一cdn节点经第二cdn节点与源站建立连接。可选地,若基于cdn网络中参与路径规划的cdn节点之间的拓扑关系和其它信息规划出的从第一cdn节点到源站的回源路径的跳数大于设定跳数阈值,则该回源路径不符合条件;或者,若基于cdn网络中参与路径规划的cdn节点之间的拓扑关系和其它信息规划出的从第一cdn节点到源站的回源路径中包含指定cdn节点,则该回源路径也不符合条件。当然,关于何种回源路径是符合条件的,可根据应用需求灵活设定,对此不做限定,前述仅为示例。

继续以图2a所示示例为例,在发现因节点r8发生环路而无法规划出从节点r8到节点s9的回源路径的情况下,选路设备105从不参与路径规划的备份cdn节点b1-bn中选择第二cdn节点,以选择备份cdn节点bn为例,将备份cdn节点bn作为节点r8和源站s9之间的中继cdn节点,节点r8连接到备份cdn节点bn之后,备份cdn节点bn直接连到源站s9,在节点r8和源站s9之间不会再有其它中间节点,如图2b所示。

其中,在从备份cdn节点中选择第二cdn节点时,需要考虑备份cdn节点的连通性,需要选择同时与第一cdn节点和源站连通的备用cdn节点,作为第二cdn节点。这里的连通主要是指具有物理连接关系,是指具有建立逻辑连接的物理基础;备份cdn节点的连通性可以通过备份cdn节点物理连接的其它节点或源站的数量来衡量;备份cdn节点物理连接的其它节点或源站的数量越多,表示该备份cdn节点的数量越多。

进一步可选地,若同时与第一cdn节点和源站连通的备用cdn节点为多个,则可以从多个备份cdn节点中随机选择一个作为第二cdn节点;或者,也可以根据cdn节点的运营商兼容性、位置以及网络性能中的至少一种参数,从多个备份cdn节点中选择一个作为第二cdn节点。其中,cdn节点的运营商兼容性是指cdn节点支持哪些移动通信运营商,例如是仅支持某个移动通信运营商,还是同时支持多个移动通信运营商以及具体支持哪些移动通信运营商;其中,cdn节点所支持的移动通信运营商的数量越多,表示该cdn节点的运营商兼容性越好。cdn节点的网络性能可以通过cdn节点的网络时延、丢包率、可用带宽以及当前负载量等中至少一种来体现。一般地,网络时延越小、丢包率越低、可用带宽越多、当前负载量越少,表示cdn节点的网络性能越好。

可选地,在同时与第一cdn节点和源站连通的备用cdn节点为多个的情况下,可以选择多个备份cdn节点中运营商兼容性较好的一个作为第二cdn节点;或者,可以选择多个备份cdn节点中网络性能较好的一个作为第二cdn节点;或者,可以选择多个备份cdn节点中位置与第一cdn节点最近的一个作为第二cdn节点;或者,也可以根据多个备份cdn节点的运营商兼容性、网络性能和位置,计算出多个备份cdn节点的综合得分;选择多个备份cdn节点中综合得分最高的一个作为第二cdn节点;等等。

在本申请实施例中,在配置不参与路径规划的备用cdn节点时,可以按照区域覆盖原则,尽量保证不同地理区域中都有备份cdn节点。一种实施方式为:按照区域覆盖原则,从cdn网络中已有的cdn节点中选择位于不同地理区域中的cdn节点作为备用cdn节点。另一种实施方式为:按照区域覆盖原则,在cdn网络覆盖的不同地理区域中部署新的cdn节点作为备用cdn节点。当然,也可以将两种方式结合实施。

进一步,对每个地理区域,在从该地理区域中已有的cdn节点中选择备用cdn节点时,可以根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择备用cdn节点。可选地,可以优先选择连通性最好或较好的cdn节点作为备用cdn节点。进一步可选地,在选择备用cdn节点时,除了可以考虑cdn节点的连通性之外,还可以结合cdn节点的其它属性,例如还可以同时结合cdn节点的运营商兼容性、位置以及网络性能中的至少一种。在一种具体实施方式中,针对每个地理区域,可以根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择满足连通性要求的候选cdn节点;进一步,若候选cdn节点为多个,则根据cdn节点的运营商兼容性、位置以及网络性能中的至少一种参数,从候选cdn节点中选择出备用cdn节点。

在实际应用中,cdn网络中cdn节点的数量、部署位置和/或连通关系都有可能发生变化。鉴于此,在本申请一些实施例中,还可以根据cdn网络中cdn节点的数量、部署位置和/或连通关系的变化信息,动态调整备用cdn节点,以便于能够选择更加符合要求的cdn节点作为备用cdn节点。例如,在cdn网络中新增连通性更好的cdn节点时,可以将该新增cdn节点作为备用cdn节点,或者,也可以用该新增cdn节点替换掉已有的某个备用cdn节点。又例如,在cdn网络中某个cdn节点部署在地理区域d1中且被选择为该地理区域d1中的备用cdn节点,则在该cdn节点的部署位置发生变化时,例如从地理区域d1切换到了另一个地理区域d2,则该cdn节点不再适合作为地理区域d1中的备用cdn节点,需要将其从地理区域d1中的备用cdn节点中删除。

进一步,为了便于对备用cdn节点进行管理、维护和动态调整,还可以面向用户(例如相关管理人员)提供可视化的配置界面,该配置界面用于供用户对备用cdn节点进行管理、维护和动态调整。例如,通过该配置界面,用户可以配置备用cdn节点,删除备用cdn节点以及录入备用cdn节点的相关信息等,还可以动配置备用cdn节点的调整策略,以便于能够按照调整策略动态调整备用cdn节点。可选地,该配置界面上可以包含策略配置项,用户通过触发该策略配置项可以添加至少一条调整策略。其中,调整策略可以是在cdn网络中新增cdn节点时,增加备用cdn节点;或者,也可以是在cdn网络中出现连通性满足设定连通性条件的cdn节点时,将该cdn节点添加为备用cdn节点;或者,也可以是在某个地理区域中出现连通性更好的cdn节点时,用该cdn节点替换掉该地理区域中已有备用cdn节点中连通性最差的一个,等等。基于此,可向用户显示配置界面,并响应用户在配置界面上的配置操作,获取备用cdn节点的调整策略,进而根据该调整策略,结合cdn网络中cdn节点的数量、部署位置和/或联通关系的变化信息,动态调整备用cdn节点。

在本实施例中,cdn网络中不仅包括参与路径规划的cdn节点,还包括不参与路径规划的备份cdn节点;当接收到路径规划请求时,首先基于cdn网络中参与路径规划的cdn节点进行动态路径规划,并在路径规划失败的情况下,从不参与路径规划的备份cdn节点中选择合适地备份cdn节点,将该备份cdn节点作为请求路径规划的cdn节点与源站之间的中继cdn节点从而得到回源路径,在为cdn节点动态规划回源路径的同时,基于不参与路径规划的备份cdn节点能够保证成功地规划出回源路径,为采用cdn网络对视频等动态内容加速提供了条件。

在为第一cdn节点规划出到源站的回源路径后,选路设备105还可以将回源路径的信息发送给第一cdn节点,以供第一cdn节点基于该回源路径与源站建立连接。其中,回源路径的信息包括第一cdn节点、源站以及从第一cdn节点到源站所经历的中继cdn节点的信息,以及第一cdn节点、中继cdn节点和源站之间的跳转关系。

对第一cdn节点来说,可以接收选路设备105返回的回源路径的信息,根据回源路径的信息,确定第一cdn节点的下一跳及下一跳的信息,进一步还可以确定下一跳之后的路径信息;一方面根据第一cdn节点的下一跳的信息与该下一跳建立连接,另一方面将下一跳之后的路径信息发送给下一跳,以供下一跳基于之后的路径信息继续与其下一跳建立连接直至到回源路径上具有用户所需资源内容的中继cdn节点或源站。其中,以图2a中节点e1与节点s9之间的4条回源路径以及节点e1与节点s9建立cdn连接的过程为例进行说明。如图2c所示,节点e1向选路设备105发起路径规划请求之后,选路设备105为节点e1动态规划出4条回源路径并将4条回源路径的信息返回给节点e1;假设节点e1选择回源路径e1->r4->r7->r8->s9,按照该回源路径的信息与节点s9建立cdn连接,该过程为:节点e1与节点r4建立连接,并将节点r4之后的路径信息r7->r8->s9发送给节点r4;节点r4与节点r7建立连接,并将节点r7之后的路径信息r8->s9发送给节点r8;节点r8与节点s9建立连接。在此说明,在本示例中,以选路设备105将为节点e1动态规划出的4条回源路径的信息全部提供给节点e1为例,但并不限于此。例如,选择设备105也可以采用路径选择策略,可以从规划出的回源路径中选择一个或部分回源路径,并将所选择的回源路径的信息返回给节点e1。相应地,在本示例中,节点e1在获取多条回源路径的信息的情况下,选择以根据其中一条回源路径的信息与源站建立cdn连接,但并不限于此。例如,节点e1也可以选择根据两条或两条以上的回源路径的信息与源站建立两条或两条以上的cdn连接,甚至可以选择根据接收到多条回源路径的信息与源站建立多条cdn连接。在节点e1与源站之间存在两条或两条以上的cdn连接的情况下,可以选择使用其中一条cdn连接进行资源内容的传输,其余cdn连接备用;或者,也可以同时使用两条或两条以上的cdn连接同时进行资源内容的传输,对此不做限定。

需要说明的是,在本实施例中,第一cdn节点接收到的回源路径可能是选路设备105基于参与路径规划的常规cdn节点规划出的,也可能是选路设备105基于不参与路径规划的备份cdn节点规划出来的。如果第一cdn节点接收到的回源路径是选路设备105基于不参与路径规划的备份cdn节点为其规划出来的,则该回源路径上的中继cdn节点是选路设备105从备份cdn节点中选出的第二cdn节点,该回源路径的信息中包括第二cdn节点的信息。对第一cdn节点来说,可根据第二cdn节点的信息,经第二cdn节点与源站建立连接,以向源站请求资源请求对应的资源内容。进一步,该回源路径的信息还包括指示第二cdn节点是第一cdn节点的下一跳、是源站的上一跳的跳转关系。基于此,根据第二cdn节点的信息,经第二cdn节点与源站建立连接的过程包括:根据该跳转关系和第二cdn节点的信息,与第二cdn节点建立连接,并将作为第二cdn节点的下一跳的源站的信息发送给第二cdn节点,以供第二cdn节点与源站建立连接。该连接建立过程与图2c所示类似,区别仅在于中继cdn节点及其数量不同。

进一步可选地,在本实施例中,可以对备份cdn节点进行特殊标记,以区分于常规cdn节点。例如,可以在备份cdn节点的标识中添加“备份”标记,关于“备份”标记的实现不做限定,可以是任何能够让用户或网络管理员识别到的标记信息。基于此,第一cdn节点除了根据选路设备105返回的回源路径的信息与源站建立cdn连接之外,还可以向用户或网络管理员等相关人员输出回源路径的信息。在回源路径是选路设备105基于不参与路径规划的备份cdn节点规划出的情况下,该回源路径的信息中包含第二cdn节点的信息,第二cdn节点的信息中带有备份cdn节点的标记,对用户或网络管理员来说可通过该标记了解该回源路径是通过备份cdn节点建立的,而非常规cdn节点。进一步,对网络管理员来说,可以根据透露出的备份cdn节点的标记,获知第一cdn节点出现了环路,进一步采取环路解决方案,解决环路问题。

图3为本申请示例性实施例提供的一种基于cdn网络的视频直播系统的架构示意图。如图3所示,该系统包括:直播终端301、直播服务端302、观看终端303以及cdn网络系统300。

在本实施例中,并不对直播终端301、直播服务端302以及观看终端303的实现形态进行限定。例如,直播终端301可以是但不限于:智能手机、平板电脑,台式电脑、智能电视等。例如,直播服务端302可以是常规服务器、云服务器或服务器阵列等服务端设备。例如,观看终端303可以是但不限于:智能手机、平板电脑,台式电脑、智能电视等。

在本实施例中,直播终端301与直播服务端302以及观看终端303与直播服务端302之间通信连接。直播终端301主要负责录制直播视频并向观看终端303提供直播视频。在本实施例中,并不对直播视频的内容进行限定,例如可以是远程教育类内容、直播购物类内容、直播视频会议或者直播娱乐类内容等,对此不做限定。不论直播视频的内容是什么,在线直播视频属于流式媒体,即直播终端301在线实时上传输直播视频的同时,观看终端303需要一边不断地接收观看或者收听被传输的直播视频。直播服务端302作为本实施例直播系统中的核心系统,是保证直播终端301成功向观看终端303提供直播视频的关键设备。直播服务端302位于直播终端301与观看终端303之间,主要负责直播间管理,对直播端与观看端之间的即时消息进行处理,进行实时视频处理,对直播间的连麦过程进行控制和管理,等等。观看终端303安装有直播应用,可响应用户通过直播应用观看直播视频的操作,展示直播界面,获取直播视频,并在直播界面上播放该直播视频。

在本实施例中,借助于cdn网络系统300向观看终端303分发直播视频,从而提高观看终端303获取直播视频的效率。如图3所示,cdn网络系统300至少包括:源站304、cdn节点305、选路设备306以及dns服务器307。在本实施例中,直播终端301将录制的直播视频上传至源站304;源站304负责存储直播终端301录制的直播视频。当有用户希望观看直播视频时,可以打开观看终端303上的直播应用进入应用界面(如首页面),在应用界面上选择希望观看的直播视频的入口(例如可以是直播图标、直播url或直播动图等);观看终端303响应于用户对直播视频的入口的触发,向dns服务器307发起dsn解析请求,该解析请求中包含直播视频对应的url;dns服务器307通过对该url进行解析将观看终端303重定向靠近该观看终端303的一个常规cdn节点305上,记为第一cdn节点;观看终端303向该第一cdn节点发起资源请求。

在初始阶段,第一cdn节点本地并不存在直播终端301提供的直播视频,故第一cdn节点在接收到资源请求之后,会向选路设备306发起路径规划请求,以请求规划从第一cdn节点到源站304的回源路径。选路设备306首先采用一定的路径规划策略,基于第一cdn节点与可参与路径规划的常规cdn节点之间的拓扑关系,在常规cdn节点中为第一cdn节点规划到源站304的回源路径。其中,资源请求包括指向直播视频的唯一标识,例如可以是直播url、流标识和直播应用的标识。

如果成功规划出回源路径,则将回源路径的信息发送给第一cdn节点;第一cdn节点根据该回源路径的信息,经过至少一个中继cdn节点(该情况下的中继cdn节点为常规cdn节点)与源站304建立连接,基于该连接从源站304获取直播终端301提供的直播视频,其中,该回源路径上的各中继cdn节点以及第一cdn节点都会在本地缓存该直播视频。

如果未能基于常规cdn节点成功地规划出回源路径,则从备份cdn节点中选择一个备份cdn节点,记为第二cdn节点,将第二cdn节点作为第一cdn节点与源站304之间的中继cdn节点,形成第一cdn节点与源站304之间的回源路径,并将该回源路径的信息发送给第一cdn节点;第一cdn节点根据该回源路径的信息,经过至少一个中继cdn节点(该情况下的中继cdn节点为常规cdn节点)与源站304建立连接,基于该连接从源站304获取直播终端301提供的直播视频,其中,该回源路径上的各中继cdn节点以及第一cdn节点都会在本地缓存该直播视频。

无论是上述哪种路径规划情况,本实施例中的cdn节点305可作为缓存节点,在接收到直播视频的情况下,会在本地缓存直播视频。如果后续有其它观看终端303向第一cdn节点发起请求同一直播视频的直播请求,因为第一cdn节点本地已经缓存有该直播视频,则第一cdn节点可以直接向后续其它观看终端303返回该直播视频,可以提高观看终端303获取直播视频的效率,减少时延和卡顿,提高观看流畅度,提高用户观看体验。需要说明的是,本实施例的cdn网络系统300可以同时为多个直播终端301提供视频加速服务,每个cdn节点305本地可缓存多条视频流,具体可通过视频流的标识进行区分。

进一步,在cdn节点305通过与源站304之间的cdn连接向观看终端303提供直播视频的过程中,有可能发生cdn连接断开的情况,对于发生cdn连接断开的cdn节点也可以作为第一cdn节点向选路设备306发起路径规划请求,以请求选路设备306重新为其规划到源站306的回源路径,以便于基于新的回源路径能够自断开之处继续向观看终端303提供直播视频。对选路设备306来说,无需关注第一cdn节点发起路径规划请求的原因,可采用相同的路径规划方式,在常规cdn节点和备份cdn节点的基础上为第一cdn节点规划回源路径。在本实施例中,选路设备306为cdn节点动态规划回源路径的同时,基于备份cdn节点能够保证成功地规划出回源路径,为采用cdn网络对直播视频进行加速提供了条件。

图4a为本申请示例性实施例提供的一种路径规划方法的流程示意图。如图4a所示,该方法包括:

41a、接收cdn网络中第一cdn节点发起的路径规划请求,路径规划请求用于请求规划从第一cdn节点到源站的回源路径;

42a、若基于cdn网络中参与路径规划的cdn节点无法规划出或无法规划出符合条件的回源路径,则从预先配置的不参与路径规划的备用cdn节点中选择第二cdn节点;

43a、将第二cdn节点作为第一cdn节点和源站之间的中继cdn节点,得到从第一cdn节点到源站的回源路径;

44a、将回源路径的信息发送给第一cdn节点,以供第一cdn节点经第二cdn节点与源站建立连接。

在一可选实施例中,第一cdn节点是cdn网络中的起始cdn节点,或者,是起始cdn节点与源站之间实际存在的访问路径上的中继cdn节点;其中,起始cdn节点是指接收到用户发起的资源请求的cdn节点。

在一可选实施例中,本实施提供的方法还包括:若与第一cdn节点连接的cdn节点均是第一cdn节点的子节点,则确定无法规划出从第一cdn节点到源站的回源路径;或者若为第一cdn节点规划出的下一跳节点均是第一cdn节点的子节点,则确定无法规划出从第一cdn节点到源站的回源路径;其中,第一cdn节点的子节点是指在回源路径中将第一cdn节点作为下一跳节点的cdn节点。

在一可选实施例中,若基于所述cdn网络中参与路径规划的cdn节点规划出的回源路径的跳数大于设定跳数阈值,所述回源路径不符合条件;或者,若基于所述cdn网络中参与路径规划的cdn节点规划出的回源路径中包含指定cdn节点,所述回源路径不符合条件。

在一可选实施例中,预先配置不参与路径规划的备用cdn节点,包括:按照区域覆盖原则,从cdn网络中已有的cdn节点中选择位于不同地理区域中的cdn节点作为备用cdn节点;和/或按照区域覆盖原则,在cdn网络覆盖的不同地理区域中部署新的cdn节点作为备用cdn节点。

在一可选实施例中,从cdn网络中已有的cdn节点中选择位于不同地理区域中的cdn节点作为备用cdn节点,包括:针对每个地理区域,根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择备用cdn节点。

在一可选实施例中,根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择备用cdn节点,包括:根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择满足连通性要求的候选cdn节点;根据cdn节点的运营商兼容性、位置以及网络性能中的至少一种参数,从候选cdn节点中选择备用cdn节点。

在一可选实施例中,该方法还包括:根据cdn网络中cdn节点的数量、部署位置和/或连通关系的变化信息,动态调整备用cdn节点。

进一步可选地,根据cdn网络中cdn节点的数量、部署位置和/或连通关系的变化信息,动态调整备用cdn节点,包括:显示配置界面,所述配置界面供用户配置备用cdn节点的调整策略;响应所述配置界面上的配置操作,获取备用cdn节点的调整策略;根据所述调整策略,结合cdn网络中cdn节点的数量、部署位置和/或连通关系的变化信息,动态调整备用cdn节点。

在一可选实施例中,从预先配置的不参与路径规划的备用cdn节点中选择第二cdn节点,包括:从备用cdn节点中选择同时与第一cdn节点和源站连通的备用cdn节点,作为第二cdn节点。

在一可选实施例中,从备用cdn节点中选择同时与第一cdn节点和源站连通的备用cdn节点,作为第二cdn节点,包括:若同时与第一cdn节点和源站连通的备用cdn节点为多个,则根据cdn节点的运营商兼容性、位置以及网络性能中的至少一种参数,从多个备用cdn节点中选择一个作为第二cdn节点。

在本实施例中,cdn网络中不仅包括参与路径规划的cdn节点,还包括不参与路径规划的备份cdn节点;当接收到路径规划请求时,首先基于cdn网络中参与路径规划的cdn节点进行动态路径规划,并在路径规划失败的情况下,从不参与路径规划的备份cdn节点中选择合适地备份cdn节点,将该备份cdn节点作为请求路径规划的cdn节点与源站之间的中继cdn节点从而得到回源路径,在为cdn节点动态规划回源路径的同时,基于不参与路径规划的备份cdn节点能够保证成功地规划出回源路径,为采用cdn网络对视频等动态内容加速提供了条件。

图4b为本申请示例性实施例提供的一种cdn连接建立方法的流程示意图,该方法适用于cdn网络中的第一cdn节点。如图4b所示,该方法包括:

41b、根据接收到的资源请求,向选路设备发送路径规划请求,以请求规划从第一cdn节点到源站的回源路径;

42b、接收选路设备返回的回源路径的信息,回源路径的信息包括第二cdn节点的信息,第二cdn节点是选路设备预先配置的从不参与路径规划的备用cdn节点中为第一cdn节点和源站选择的中继cdn节点;

43b、根据第二cdn节点的信息,经第二cdn节点与源站建立连接,以向源站请求资源请求对应的资源内容。

在一可选实施例中,在向选路设备发送路径规划请求之前,本实施例提供的方法还包括:根据接收到的资源请求,确定第一cdn节点本地不存在资源请求对应的资源内容,且第一cdn节点与源站处于未连接状态。

在一可选实施例中,第一cdn节点是cdn网络中的起始cdn节点,或者,是起始cdn节点与源站之间实际存在的访问路径上的中继cdn节点;其中,起始cdn节点是指接收到用户发起的资源请求的cdn节点。

在一可选实施例中,回源路径的信息还包括:指示第二cdn节点是第一cdn节点的下一跳、是源站的上一跳的跳转关系;根据第二cdn节点的信息,经第二cdn节点与源站建立连接,包括:根据跳转关系和第二cdn节点的信息,与第二cdn节点建立连接,并将源站的信息发送给第二cdn节点,以供第二cdn节点与源站建立连接。

在本申请实施例中,cdn节点通过向选路设备发送路径规划请求,可请求选路设备为其动态规划到源站的回源路径;其中,选路设备基于不参与路径规划的备份cdn节点能够保证成功地为cdn节点规划出回源路径;cdn节点在获取到完整的回源路径信息之后,一方面与相邻下一跳建立连接,另一方面将后续路径信息依次下发下去,使得下一跳能够继续按照后续路径信息与其下一跳建立连接,直至完成cdn连接的建立,可保证沿途的cdn节点能够精准的按照回源路径建连,为采用cdn网络对视频等动态内容加速提供了条件。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤41a至步骤43a的执行主体可以为设备a;又比如,步骤41a和42a的执行主体可以为设备a,步骤43a的执行主体可以为设备b;等等。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如41a、42a等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

图5a为本申请示例性实施例提供的一种路径规划装置的结构示意图。如图5a所示,该装置包括:接收模块51a、路径规划模块52a、获得模块53a和发送模块54a。

接收模块51a,用于接收cdn网络中第一cdn节点发起的路径规划请求,路径规划请求用于请求规划从第一cdn节点到源站的回源路径;

路径规划模块52a,用于若基于cdn网络中参与路径规划的cdn节点无法规划出或无法规划出符合条件的回源路径,则从预先配置的不参与路径规划的备用cdn节点中选择第二cdn节点;

获得模块53a,用于将第二cdn节点作为第一cdn节点和源站之间的中继cdn节点,得到从第一cdn节点到源站的回源路径;

发送模块54a,用于将回源路径的信息发送给第一cdn节点,以供第一cdn节点经第二cdn节点与源站建立连接。

在一可选实施例中,第一cdn节点是cdn网络中的起始cdn节点,或者,是起始cdn节点与源站之间实际存在的访问路径上的中继cdn节点;其中,起始cdn节点是指接收到用户发起的资源请求的cdn节点。

在一可选实施例中,路径规划模块52a还用于:在与第一cdn节点连接的cdn节点均是第一cdn节点的子节点的情况下,则确定无法规划出从第一cdn节点到源站的回源路径;或者在为第一cdn节点规划出的下一跳节点均是第一cdn节点的子节点的情况下,则确定无法规划出从第一cdn节点到源站的回源路径;其中,第一cdn节点的子节点是指在回源路径中将第一cdn节点作为下一跳节点的cdn节点。

在一可选实施例中,若基于所述cdn网络中参与路径规划的cdn节点规划出的回源路径的跳数大于设定跳数阈值,所述回源路径不符合条件;或者,若基于所述cdn网络中参与路径规划的cdn节点规划出的回源路径中包含指定cdn节点,所述回源路径不符合条件。

在一可选实施例中,该装置还包括:配置模块,该配置模块用于预先配置不参与路径规划的备用cdn节点。具体地,该配置模块用于:按照区域覆盖原则,从cdn网络中已有的cdn节点中选择位于不同地理区域中的cdn节点作为备用cdn节点;和/或,按照区域覆盖原则,在cdn网络覆盖的不同地理区域中部署新的cdn节点作为备用cdn节点。

进一步可选地,配置模块在从cdn网络中已有的cdn节点中选择位于不同地理区域中的cdn节点作为备用cdn节点时,具体用于:针对每个地理区域,根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择备用cdn节点。

进一步可选地,配置模块在根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择备用cdn节点时,具体用于:根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择满足连通性要求的候选cdn节点;根据cdn节点的运营商兼容性、位置以及网络性能中的至少一种参数,从候选cdn节点中选择备用cdn节点。

在一可选实施例中,配置模块还用于:根据cdn网络中cdn节点的数量、部署位置和/或连通关系的变化信息,动态调整备用cdn节点。

进一步可选地,配置模块在动态调整备用cdn节点时,具体用于:显示配置界面,所述配置界面供用户配置备用cdn节点的调整策略;响应所述配置界面上的配置操作,获取备用cdn节点的调整策略;根据所述调整策略,结合cdn网络中cdn节点的数量、部署位置和/或连通关系的变化信息,动态调整备用cdn节点。

在一可选实施例中,配置模块在从预先配置的不参与路径规划的备用cdn节点中选择第二cdn节点时,具体用于:从备用cdn节点中选择同时与第一cdn节点和源站连通的备用cdn节点,作为第二cdn节点。

进一步可选地,配置模块从备用cdn节点中选择同时与第一cdn节点和源站连通的备用cdn节点,作为第二cdn节点时,具体用于:若同时与第一cdn节点和源站连通的备用cdn节点为多个,则根据cdn节点的运营商兼容性、位置以及网络性能中的至少一种参数,从多个备用cdn节点中选择一个作为第二cdn节点。

以上描述了路径规划装置的内部功能和结构,如图5b所示,实际中,该路径规划装置可实现为选路设备,包括:存储器54、处理器55以及通信组件56。

存储器54,用于存储计算机程序,并可被配置为存储其它各种数据以支持在选路设备上的操作。这些数据的示例包括用于在选路设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器54可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器55,与存储器54耦合,用于执行存储器54中的计算机程序,以用于:通过通信组件56接收cdn网络中第一cdn节点发起的路径规划请求,路径规划请求用于请求规划从第一cdn节点到源站的回源路径;若基于cdn网络中参与路径规划的cdn节点无法规划出或无法规划出符合条件的回源路径,则从预先配置的不参与路径规划的备用cdn节点中选择第二cdn节点;将第二cdn节点作为第一cdn节点和源站之间的中继cdn节点,得到从第一cdn节点到源站的回源路径;通过通信组件56将回源路径的信息发送给第一cdn节点,以供第一cdn节点经第二cdn节点与源站建立连接。

在一可选实施例中,第一cdn节点是cdn网络中的起始cdn节点,或者,是起始cdn节点与源站之间实际存在的访问路径上的中继cdn节点;其中,起始cdn节点是指接收到用户发起的资源请求的cdn节点。

在一可选实施例中,处理器55还用于:若与第一cdn节点连接的cdn节点均是第一cdn节点的子节点,则确定无法规划出从第一cdn节点到源站的回源路径;或者若为第一cdn节点规划出的下一跳节点均是第一cdn节点的子节点,则确定无法规划出从第一cdn节点到源站的回源路径;其中,第一cdn节点的子节点是指在回源路径中将第一cdn节点作为下一跳节点的cdn节点。

在一可选实施例中,若基于所述cdn网络中参与路径规划的cdn节点规划出的回源路径的跳数大于设定跳数阈值,所述回源路径不符合条件;或者,若基于所述cdn网络中参与路径规划的cdn节点规划出的回源路径中包含指定cdn节点,所述回源路径不符合条件。

在一可选实施例中,处理器55在预先配置不参与路径规划的备用cdn节点时,具体用于:按照区域覆盖原则,从cdn网络中已有的cdn节点中选择位于不同地理区域中的cdn节点作为备用cdn节点;和/或按照区域覆盖原则,在cdn网络覆盖的不同地理区域中部署新的cdn节点作为备用cdn节点。

进一步可选地,处理器55在从cdn网络中已有的cdn节点中选择位于不同地理区域中的cdn节点作为备用cdn节点时,具体用于:针对每个地理区域,根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择备用cdn节点。

进一步可选地,处理器55在根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择备用cdn节点时,具体用于:根据cdn节点的连通性,从位于该地理区域中的cdn节点中选择满足连通性要求的候选cdn节点;根据cdn节点的运营商兼容性、位置以及网络性能中的至少一种参数,从候选cdn节点中选择备用cdn节点。

在一可选实施例中,处理器55还用于:根据cdn网络中cdn节点的数量、部署位置和/或连通关系的变化信息,动态调整备用cdn节点。

进一步可选地,处理器55在动态调整备用cdn节点时,具体用于:显示配置界面,所述配置界面供用户配置备用cdn节点的调整策略;响应所述配置界面上的配置操作,获取备用cdn节点的调整策略;根据所述调整策略,结合cdn网络中cdn节点的数量、部署位置和/或连通关系的变化信息,动态调整备用cdn节点。

在一可选实施例中,处理器55在从预先配置的不参与路径规划的备用cdn节点中选择第二cdn节点时,具体用于:从备用cdn节点中选择同时与第一cdn节点和源站连通的备用cdn节点,作为第二cdn节点。

进一步可选地,处理器55从备用cdn节点中选择同时与第一cdn节点和源站连通的备用cdn节点,作为第二cdn节点时,具体用于:若同时与第一cdn节点和源站连通的备用cdn节点为多个,则根据cdn节点的运营商兼容性、位置以及网络性能中的至少一种参数,从多个备用cdn节点中选择一个作为第二cdn节点。

进一步,如图5b所示,该选路设备还包括:显示器57、电源组件58、音频组件59等其它组件。图5b中仅示意性给出部分组件,并不意味着选路设备只包括图5b所示组件。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现图4a所示方法实施例中可由选路设备执行的各步骤。

图6a为本申请示例性实施例提供的一种cdn连接建立装置的结构示意图。如图6a所示,该装置包括:发送模块61a、接收模块62a和建连模块63a。

发送模块61a用于根据接收到的资源请求,向选路设备发送路径规划请求,以请求规划从第一cdn节点到源站的回源路径;

接收模块62a用于接收选路设备返回的回源路径的信息,回源路径的信息包括第二cdn节点的信息,第二cdn节点是选路设备预先配置的从不参与路径规划的备用cdn节点中为第一cdn节点和源站选择的中继cdn节点;

建连模块63a用于根据第二cdn节点的信息,经第二cdn节点与源站建立连接,以向源站请求资源请求对应的资源内容。

在一可选实施例中,该装置还包括:确定模块。确定模块用于在发送模块61a在向选路设备发送路径规划请求,根据接收到的资源请求,确定第一cdn节点本地不存在资源请求对应的资源内容,且第一cdn节点与源站处于未连接状态。

在一可选实施例中,第一cdn节点是cdn网络中的起始cdn节点,或者,是起始cdn节点与源站之间实际存在的访问路径上的中继cdn节点;其中,起始cdn节点是指接收到用户发起的资源请求的cdn节点。

在一可选实施例中,回源路径的信息还包括:指示第二cdn节点是第一cdn节点的下一跳、是源站的上一跳的跳转关系。基于此,建连模块63a在根据第二cdn节点的信息,经第二cdn节点与源站建立连接时,具体用于:根据跳转关系和第二cdn节点的信息,与第二cdn节点建立连接,并将源站的信息发送给第二cdn节点,以供第二cdn节点与源站建立连接。

以上描述了cdn连接建立装置的内部功能和结构,如图6b所示,实际中,该cdn连接建立装置可实现为cdn网络中的第一cdn节点,包括:存储器64、处理器65以及通信组件66。

存储器64,用于存储计算机程序,并可被配置为存储其它各种数据以支持在cdn节点上的操作。这些数据的示例包括用于在cdn节点上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器64可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器65,与存储器64耦合,用于执行存储器64中的计算机程序,以用于:根据接收到的资源请求,向选路设备发送路径规划请求,以请求规划从第一cdn节点到源站的回源路径;通过通信组件66接收选路设备返回的回源路径的信息,回源路径的信息包括第二cdn节点的信息,第二cdn节点是选路设备预先配置的从不参与路径规划的备用cdn节点中为第一cdn节点和源站选择的中继cdn节点;根据第二cdn节点的信息,经第二cdn节点与源站建立连接,以向源站请求资源请求对应的资源内容。

在一可选实施例中,处理器65在向选路设备发送路径规划请求之前,还用于:根据接收到的资源请求,确定第一cdn节点本地不存在资源请求对应的资源内容,且第一cdn节点与源站处于未连接状态。

在一可选实施例中,第一cdn节点是cdn网络中的起始cdn节点,或者,是起始cdn节点与源站之间实际存在的访问路径上的中继cdn节点;其中,起始cdn节点是指接收到用户发起的资源请求的cdn节点。

在一可选实施例中,回源路径的信息还包括:指示第二cdn节点是第一cdn节点的下一跳、是源站的上一跳的跳转关系;处理器65在根据第二cdn节点的信息,经第二cdn节点与源站建立连接时,具体用于:根据跳转关系和第二cdn节点的信息,与第二cdn节点建立连接,并将源站的信息发送给第二cdn节点,以供第二cdn节点与源站建立连接。

在本申请实施例中,cdn网络中不仅包括参与路径规划的cdn节点,还包括不参与路径规划的备份cdn节点;当接收到路径规划请求时,首先基于cdn网络中参与路径规划的cdn节点进行动态路径规划,并在路径规划失败的情况下,从不参与路径规划的备份cdn节点中选择合适地备份cdn节点,将该备份cdn节点作为请求路径规划的cdn节点与源站之间的中继cdn节点从而得到回源路径,在为cdn节点动态规划回源路径的同时,基于不参与路径规划的备份cdn节点能够保证成功地规划出回源路径,为采用cdn网络对视频等动态内容加速提供了条件。

进一步,如图6b所示,该第一cdn节点还包括:显示器67、电源组件68、音频组件69等其它组件。图6b中仅示意性给出部分组件,并不意味着选路设备只包括图6b所示组件。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现图4b所示方法实施例中可由第一cdn节点执行的各步骤。

上述图5b和图6b中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g/lte、5g等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

上述图5b和图6b中的显示器包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

上述图5b和图6b中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

上述图5b和图6b中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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