CN114945046A - 回源路径确定方法、内容分发网络、存储介质、程序产品 - Google Patents
回源路径确定方法、内容分发网络、存储介质、程序产品 Download PDFInfo
- Publication number
- CN114945046A CN114945046A CN202210546758.XA CN202210546758A CN114945046A CN 114945046 A CN114945046 A CN 114945046A CN 202210546758 A CN202210546758 A CN 202210546758A CN 114945046 A CN114945046 A CN 114945046A
- Authority
- CN
- China
- Prior art keywords
- source
- path
- candidate
- paths
- stream
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种回源路径确定方法、内容分发网络、存储介质、程序产品,回源路径的确定方法,包括:将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图;确定待建立回源路径的拉流端和推流端各自对应的CDN节点;根据内容分发网络中包括的若干个CDN节点的传输参数以及根据拉流端拉取的直播流对应的新流图,确定从拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径;将候选回源路径中存在于新流图中的部分路径的传输成本设置为预设成本,并计算候选回源路径位于新流图之外的部分路径的传输成本,得到候选回源路径对应的传输成本;至少根据多个候选回源路各自的传输成本,从多个候选回源路径确定出目标回源路径。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种回源路径确定方法、内容分发网络、存储介质、程序产品。
背景技术
在通过内容分发网络CDN进行直播时,需要通过CDN节点建立拉流端到推流端之间的回源路径。一般情况下,会根据各个CDN节点的相关参数,例如CDN节点间的延时、丢包率,CDN节点自身的带宽、内存、CPU等,来获得从拉流端到推流段之间的优选路径作为回源路径。
但是回源路径的建立是为了使得拉流端的CDN节点基于回源路径实时获得直播流数据,而上述建立方式并未考虑到除了推流端对应的CDN节点之外,有其他的CDN节点中已经存在直播数据的情况,导致通过上述方案建立的回源路径存在成本较高、质量较差的问题。
发明内容
有鉴于此,本申请实施例提供一种回源路径确定方法、内容分发网络、存储介质、程序产品,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种回源路径的确定方法,包括:针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,所述流图中的边用于指示回源路径,所述流图中的节点用于指示回源路径经过的CDN节点;确定待建立回源路径的拉流端和推流端各自对应的CDN节点;根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径;将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本;至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径。
根据本申请实施例的第二方面,提供了一种内容分发网络,包括:中心节点以及服务节点,所述服务节点包括拉流服务节点和推流服务节点;所述拉流服务节点用于在接受到针对本地未存储的直播流的拉取请求时,向所述中心节点发送获取所述直播流数据的直播流获取请求;所述中心节点用于根据所述服务节点发送的直播流获取请求,确定所述直播流对应的推流端服务节点,并通过如上所述的方法确定从所述拉流服务节点到所述推流服务节点的回源路径;所述拉流服务节点通过所述回源路径获取所述直播流。
根据本申请实施例的第三方面,提供了一种内容分发网络的中心节点,包括:流信息汇聚单元,用于针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,所述流图中的边用于指示回源路径,所述流图中的节点用于指示回源路径经过的CDN节点;路径规划单元,用于确定待建立回源路径的拉流端和推流端各自对应的CDN节点;根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径;将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本;至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径。
根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的方法。
根据本申请实施例的第五方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如上所述的方法对应的操作。
根据本申请实施例提供的方案,针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,所述流图中的边用于指示回源路径,所述流图中的节点用于指示回源路径经过的CDN节点,由此,可以通过流图反映当前直播流对应的回源路径;确定待建立回源路径的拉流端和推流端各自对应的CDN节点;根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径;将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本,由此,可以考虑内容分发网络的流命中特性,并据此调整候选回源路径的传输成本,使得确定出的传输成本更加符合实际进行回源时耗费的传输成本;至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径,与通过一般的方法确定出的回源路径相比,本实施例提供的方案确定出的回源路径的成本更低,更加符合实际使用情况;另外,本实施例中,针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,还可以通过流图及时了解到内容分发网络中传输的直播流的传输情况,并及时进行调整。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种内容分发网络的示意图;
图2为本申请实施例提供的内容分发网络的中心节点及服务节点的结构框图;
图3为本申请实施例提供的一种中心节点的数据处理示意图;
图4为本申请实施例提供的一种回源路径的确定方法的流程示意图;
图5为本申请实施例提供的一种流图的示意图;
图6为本申请实施例提供的一种候选回源路径的示意图;
图7为本申请实施例提供的另一种回源路径的确定方法的流程示意图;
图8为本申请实施例提供的一种替换部分候选回源路径的示意图;
图9为根据本申请实施例的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
为了更加详细地说明本实施例提供的方案,下面先对通过内容分发网络CDN进行直播的原理进行示例性说明。
如图1所示,示出了一种内容分发网络的示意图。
内容分发网络中的节点可以分为中心节点和服务节点,中心节点用于管理服务节点,以通过服务节点提供内容传输服务。图中的节点1-25可以为服务节点,节点26可以为中心节点。
通过中心节点,可以控制节点1为推流端节点(即推流端对应的CDN节点),控制其他节点2-10分别为中继节点和拉流端节点(即拉流端对应的CDN节点)。需要说明的是,拉流端节点同样也可以作为中继节点。
推流端节点用于从推流端请求直播流数据,拉流端节点用于向拉流端发送直播流数据,中继节点可以用于转发直播流数据,推流端节点可以为预先确定的,拉流端节点可以为每次新增拉流端后实时确定的。
内容分发网络可以用于传输视频、音频、文本等各种内容数据。内容分发网络传播的数据可以分为两类,一类是已经预存在网络中的已有数据,一类是需要实时获取的数据,例如直播视频数据等。
在传输已有数据时,可以将视频数据预先缓存在距离拉流端较近的CDN节点中;但直播的视频数据是实时更新的,不能预先缓存。
为了能够向拉流端提供直播视频数据,拉流端对应的CDN节点需要及时从推流端获得视频流,为此,需要建立一条从拉流端对应的CDN节点到推流端的CDN节点之间的回源路径,拉流端对应的CDN节点可以通过回源路径向推流端对应的CDN节点实时请求直播流。
一般在具体建立回源路径时,会根据内容分发网络中各个CDN节点的相关参数,例如CDN节点间的延时、丢包率,CDN节点自身的带宽、内存、CPU等,为拉流端对应的CDN节点动态规划回源路径。但是,这种方式并未考虑到除了推流端对应的CDN节点之外,有其他的CDN节点中已经存在直播数据的情况,导致通过上述方式建立的回源路径的成本较高。
为此,本申请实施例提供了一种回源路径的确定方案,可以降低规划出的回源路径传输直播流数据的成本。
需要说明的是,内容分发网络包括中心节点以及服务节点,服务节点即CDN节点,所述服务节点包括拉流服务节点和推流服务节点;拉流服务节点用于在接受到针对本地未存储的直播流的拉取请求时,向所述中心节点发送获取所述直播流数据的直播流获取请求;所述中心节点用于根据所述服务节点发送的直播流获取请求,确定所述直播流对应的推流端服务节点,并通过后续实施例提供的方法确定从所述拉流服务节点到所述推流服务节点的回源路径;所述拉流服务节点通过所述回源路径获取所述直播流。
具体地,参见图2,示出了一种内容分发网络的中心节点及服务节点的结构框图,如图所示,中心节点中可以包括:流信息汇聚单元、路径规划单元。
流信息汇聚单元,用于针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,所述流图中的边用于指示回源路径,所述流图中的节点用于指示回源路径经过的CDN节点。
本实施例中,CDN节点可以向中心节点上报自身传输的直播流信息,中心节点的流信息汇聚单元接收到各个CDN节点上报的直播流信息后,可以获得各个CDN节点传输的直播流及直播流的传输方向,并以直播流为单位,将对应于同一个直播流的信息汇聚为一组,之后可以根据每个直播流对应的信息,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图。
路径规划单元,用于确定待建立回源路径的拉流端和推流端各自对应的CDN节点;根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径;将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本;至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径。
可选地,本实施例中,路径规划单元可以包括多个并行的路径规划进程LDRM,用于处理若干个内容分发网络的服务节点发送的获取所述直播流数据的直播流获取请求;多个所述路径规划进程中的一个,从所述流信息汇聚单元获得当前直播流对应的新流图,并更新至存储单元中;多个所述路径规划进程中除用于更新流图的一个路径规划进程之外的其他路径规划进程,从所述存储单元中获得所述新流图。
具体地,由于中心节点由于管理多个服务节点,因此,中心节点可能同时接收到多个服务节点发送的获取直播流数据的直播流获取请求,为了提高处理请求的速度,路径规划单元中可以包括多个并行的路径规划进程LDRM,则多个所述路径规划进程中除用于更新流图的一个路径规划进程之外的其他路径规划进程,从所述存储单元中获得所述新流图。
进一步地,参见图3,中心节点可以存在一个或者多个中心机房,图中以两个为例进行示例性说明,一个路径规划进程外侧的虚线框对应一个中心机房,运行在同一个中心机房的多个所述路径规划进程中除用于更新流图的一个路径规划进程之外的其他路径规划进程,从所述存储单元中获得所述新流图。存储单元具体可以为图示中的Redis数据库,每个中心机房对应一个Redis数据库。
如图3所示,中心节点还可以包括探测进程,探测进程可以用于向各个CDN节点发送探测时延或丢包率的探测消息,并获得CDN节点的延时以及丢包率,多个路径规划进程LDRM中的一个可以用于探测进程探测得到CDN节点的延时以及丢包率,以及可以用于从流信息汇聚单元获得流图,并通过写入(例如set)方式将延时、丢包率以及流图更新至Redis数据库,其他路径规划进程LDRM可以通过读取(例如get)的方式从Redis数据库获得延时、丢包率以及流图,并据此确定回源路径。
下面对中心节点具体确定回源路径的步骤进行具体说明。
图4为本申请实施例提供的一种回源路径的确定方法的流程示意图,下述步骤S401-S405由中心节点执行,如图所示,其包括:
S401、针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图。
在通过内容分发网络传输直播流时,每个直播流可以对应一个直播流ID,通过直播流ID可以在内容分发网络中定位到对应的直播流数据。
本实施例中,可以维护直播流对应的流图,并针对内容分发网络传输的当前直播流更新流图,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,使得新流图可以表征当前直播流的回源路径。
具体地,流图中可以包括节点和边,流图中的边用于指示回源路径,所述流图中的节点用于指示回源路径经过的CDN节点。
示例地,参见图5,示出了一种流图的示意图,如图所示,流图中可以包括推流端对应的CDN节点S、中继节点R、拉流端对应的节点E。中继节点用于转发数据。另外,如图所示,拉流端对应的CDN节点E也可以作为中继节点。
通过图5所示的流图中示出的回源路径,拉流端对应的节点E可以从推流端对应的节点S实时请求得到直播流数据。
本步骤中,可以按照预设间隔时长,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图;也可以实时将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图;或者,当某一CDN节点传输的直播流发生变化时,可以将变化后的当前直播流进行上报,中心节点可以根据CDN节点上报的数据将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图。
为了便于理解,后续将流图中存在的除推流端对应CDN节点之外的其他CDN节点称为流图节点。即,流图中除推流端对应的CDN节点S之外的其他中继节点R和拉流端对应的节点E均称为流图节点。
S402、确定待建立回源路径的拉流端和推流端各自对应的CDN节点。
本步骤中,拉流端对应的CDN节点用于向拉流端发送直播流数据,推流端对应的CDN节点用于从推流端请求直播流数据,推流端对应的CDN节点可以为在开启直播时确定的,拉流端对应的CDN节点可以为每次新增拉流端后确定的。
本步骤中,具体可以根据拉流端或者推流端的位置信息,确定距离拉流端或者推流端距离较近的CDN节点作为其对应的CDN节点。当然,上述仅为举例说明,其他确定拉流端和推流端各自对应的CDN节点的方法也在本申请的保护范围内。
当有新的拉流端请求获取直播流数据时,可以确定拉流端对应的CDN节点,若该拉流端对应的CDN节点中存储有拉流端请求的直播流数据(即CDN节点已经存在于当前直播流对应的新流图中),可以直接将直播流数据推送至拉流端,若CDN节点中并未存储有拉流端请求的直播流数据(即CDN节点不存在于当前直播流对应的新流图中),则需要为CDN节点建立回源路径。
回源路径建立后,CDN节点可以基于回源路径进行回源,即当CDN节点上没有拉流端请求的数据时,会根据回源路径从直播源(推流端对应的CDN节点)读取数据。
S403、根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径。
当确定需要建立回源路径时,可以先获得所述内容分发网络中包括的若干个CDN节点的传输参数以及确定拉流端拉取的直播流对应的新流图,CDN节点的传输参数可以用于选择出能够作为回源路径上节点的CDN节点,新流图可以用于表征直播流当前存在的回源路径,新流图中包括的所有CDN节点中都存在直播流数据。
在内容分发网络中存在流命中特性,即在按照回源路径进行回源的过程中,若某一个CDN节点中已经存在所请求的数据了,则直接获得该CDN节点中的数据而不再执行后续的回源路径。
若按照一般的方案,根据CDN节点的各个参数信息来确定回源路径,但并未考虑内容分发网络的流命中特性,可能会导致确定出的回源路径过长或者导致需要新增不存在于新流图的中继节点等情况,进而导致按照确定出的回源路径进行回源时的成本较高的问题。
本步骤中,由于新流图可以用于表征当前直播流的回源路径,因此,根据新流图确定的多个候选回源路径,可以充分考虑到当前直播流对应的已经建立的回源路径。再结合后续确定传输成本的步骤,可以使得确定出的目标回源路径的传输成本降低。
S404、将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本。
候选回源路径为从拉流端对应的CDN节点到推流端对应的CDN节点之间的路径,候选回源路径可以有部分属于新流图。
如图6所示,示出了针对拉流端对应的CDN节点,即需要新建回源路径的节点,图中标记为E(NEW),确定的三条候选回源路径,分别标记为候选回源路径1、2、3。
图中的实线对应流图,虚线对应需要新增的部分路径。候选回源路径1,可以经过不存在于流图中的中继节点R之后直接回源至推流端对应的CDN节点;候选回源路径2,可以经过流图中存在的流图节点及路径回源至推流端对应的CDN节点;候选回源路径3可以经过一个不存在于流图中的中继节点R之后,再经过流图中存在的流图节点及路径回源至推流端对应的CDN节点。
传输成本是指按照路径在CDN节点之间传输直播流数据的成本,例如传输直播流数据消耗的带宽、耗费的流量等。
在确定候选回源路径对应的传输成本时,由于内容分发网络中存在流命中特性,即流图节点中已经存在拉流端请求的直播流数据,并可以直接命中并返回至拉流端,无需继续根据回源路径进行回源,因此,可以直接将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,使得确定出的传输成本更加符合实际进行回源时耗费的传输成本。
预设成本可以由本领域的技术人员根据CDN节点被分配新的回源路径所耗费的成本确定,优选地,若无需耗费成本,则预设成本可以为零成本。
针对候选回源路径中不存在于新流图的部分路径,仍然需要进行正常的回源,因此,可以计算候选回源路径中不存在于新流图的部分路径对应的传输成本。
候选回源路径的传输成本可以为预设成本与不存在于新流图的部分路径对应的传输成本的加和。
S405、至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径。
根据多个候选回源路径各自的传输成本,可以从多个候选回源路径中确定出目标回源路径并发送至拉流端对应的CDN节点。
需要说明的是,目标回源路径也可以为多个,并均发送至拉流端对应的CDN节点,CDN节点可以根据实际回源时的情况确定真实使用的回源路径,并进行回源。
下面通过一种具体的场景,对本申请进行示例性说明。
内容分发网络的中心节点可以接收各个CDN节点上报的自身传输的直播流数据的信息,中心节点可以针对通过内容分发网络传输的各个当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,每个直播流可以对应一张流图。
用户在通过手机等观看直播时,手机(即拉流端)可以向附近的CDN节点拉取直播流数据,若CND节点中不存在手机请求的直播流数据,则CDN节点可以向中心节点请求建立回源路径来获得直播流数据。
中心节点在接收到拉流端对应的CDN节点发送的建立回源路径的请求时,可以根据请求中携带的直播流信息,确定直播流对应的推流端CDN节点,并开始确定发送请求的拉流端对应的CDN节点和直播流的推流端对应的CDN节点之间的回源路径。
具体确定回源路径时,可以先获得拉流端对应的CDN节点请求的直播流对应的新流图,以确定哪些CDN节点中当前存在直播流数据,进而确定多个候选回源路径。
在确定出多个候选回源路径后,可以将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本,由于将存在于新流图中的部分路径的传输成本单独设置较为符合内容分发网络的流命中特性,因此,通过本实施例提供的方案确定出的候选回源路径的传输成本更加符合实际进行回源时耗费的传输成本。
相对于位于所述新流图之外的部分路径,存在于所述新流图中的部分路径的传输成本可以较小。
在确定出多个候选回源路径各自的传输成本后,还可以确定出候选回源路径各自对应的传输时长、传输过程的丢包率等数据,并根据传输成本、传输时长、丢包率等数据从多个所述候选回源路径确定出目标回源路径。
中心节点可以将确定出的目标回源路径发送至拉流端对应的CDN节点,拉流端对应的CDN节点可以根据目标回源路径进行回源来获得直播流数据,并提供至用户的手机等,供用户观看直播。
具体进行回源的方法可参考相关技术,在此不再赘述。
本实施例提供的方案,针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,所述流图中的边用于指示回源路径,所述流图中的节点用于指示回源路径经过的CDN节点,由此,可以通过流图反映当前直播流对应的回源路径;确定待建立回源路径的拉流端和推流端各自对应的CDN节点;根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径;将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本,由此,可以考虑内容分发网络的流命中特性,并据此调整候选回源路径的传输成本,使得确定出的传输成本更加符合实际进行回源时耗费的传输成本;至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径,与通过一般的方法确定出的回源路径相比,本实施例提供的方案确定出的回源路径的成本更低,更加符合实际使用情况;另外,本实施例中,针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,还可以通过流图及时了解到内容分发网络中传输的直播流的传输情况,并及时进行调整。
本实施例的回源路径的确定方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、PAD等)和PC机等。
参见图7,示出了一种回源路径的确定方法的流程示意图,下述步骤S701-S707由中心节点执行,如图所示,其包括:
S701、针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图。
可选地,本实施例中,步骤S701可以包括:获得各个CDN节点实时上报的其自身传输的直播流信息,所述直播流信息包括CDN节点传输的直播流以及所述直播流的传输方向;对获得的所述直播流信息进行信息汇聚,得到当前直播流对应的CDN节点及直播流在CDN节点之间的传输路径;根据当前直播流对应的CDN节点及直播流在CDN节点之间的传输路径,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图。
具体地,可以由中心节点的流信息汇聚单元来获得CDN节点上报的直播流信息,并以直播流为单位进行信息汇聚,以及基于汇聚后的信息将直播流对应的原流图更新为当前直播流对应的新流图。
S702、确定待建立回源路径的拉流端和推流端各自对应的CDN节点。
S703、基于预先设定的选路策略,根据内容分发网络中包括的若干个CDN节点的传输参数确定从拉流端到推流端的多个候选回源路径。
本实施例中,预先设定的选路策略可以由本领域的技术人员根据需求确定,本实施例对此不进行限定。
需要说明的是,步骤S703可以由中心节点执行,也可以由其他节点执行,并将确定出的候选回源路径发送至中心节点,本实施例对此不进行限定。
可选地,本实施例中,确定出的候选回源路径可以为三条,具体可以如图8中左侧的虚线和点划线所示,图8中的单实线为新流图的边。
S704、根据所述拉流端拉取的直播流对应的新流图,确定所述候选回源路径中存在于所述新流图的第一CND节点。
可选地,步骤S704可以具体包括:沿着从所述拉流端到所述推流端的方向,遍历所述候选回源路径中的CDN节点,确定所述CDN节点是否存在于所述新流图中;将第一个被确定为存在于所述新流图中的CDN节点确定为所述第一CDN节点。
由于内容分发网络中存在流命中特性,即按照回源路径进行回源时,如果回源路径上的某一个CDN节点内存在直播流数据,则不再继续回源,因此,可以将回源路径中,从所述拉流端到所述推流端的方向上,第一个被确定为存在于所述新流图中的CDN节点确定为所述第一CDN节点,并以此为基准将候选回源路径分为两部分,第一CDN节点之后的回源路径在实际回源时不再执行。
S705、将所述候选回源路径中所述第一CDN节点至所述推流端节点之间的部分路径,替换为所述新流图中存在的路径,以对所述候选回源路径进行调整。
由于在实际进行回源时,回源至第一CDN节点后会不再继续回源,而第一CDN节点中的直播流数据根据新流图中已经建立的回源路径获得,因此,可认为候选回源路径中第一CDN节点之后的部分候选回源路径为已经建立的回源路径。则本步骤中,将所述候选回源路径中所述第一CDN节点至所述推流端节点之间的部分路径,替换为所述新流图中存在的路径,以对所述候选回源路径进行调整,调整后的候选回源路径与实际进行回源时的路径较为接近。
调整后的候选回源路径可以如图8右侧所示,点划线所示的部分路径被替换为流图中已有的路径。
S706、将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本。
可选地,本实施例中,可以将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为零成本;并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本作为所述候选回源路径对应的传输成本。
具体可以根据CDN节点发送或者接收直播流数据所耗费的带宽、流量等计算传输成本,计算方法可参考相关技术,在此不再赘述。
S707、至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径。
可选地,本申请任意实施例中,所述方法还包括:向所述CDN节点发送探测消息,获得所述CDN节点返回的传输质量信息,根据所述传输质量信息确定多个所述候选回源路各自的传输质量,则步骤S707可以包括:根据多个候选回源路各自的传输成本和传输质量,从多个所述候选回源路径确定出目标回源路径。
本实施例中,可以通过中心节点的探测进程,向各个CDN节点发送探测消息,并接收各个CDN节点返回的传输质量信息,返回的传输质量信息可以包括时延和丢包率等。中心节点的路径规划单元可以据此计算得到候选回源路径的传输质量。
具体根据多个候选回源路各自的传输成本和传输质量,从多个所述候选回源路径确定出目标回源路径时,可以按照预设的打分策略,为传输成本和传输质量设定不同的权重,并具体对传输成本和传输质量进行加权求和,得到候选回源路径各自的分数,并根据分数确定出目标回源路径。
具体的权重可以由本领域的技术人员根据需求确定,若侧重传输成本,则将传输成本的权重设置的较高;若侧重传输质量,则将传输质量的权重设置的较高。
本实施例提供的方案,利用流图可以在已有的选路策略的基础上对候选规划路径进行调整,来降低候选回源路径的传输成本,并可以使得确定出的候选回源路径更加符合实际回源时的情况,并可以尽量减少回源路径的长度,提升播放质量。
另外需要说明的是,针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,还可以通过流图及时了解到内容分发网络中传输的直播流的传输情况,并可以格局流图反映的回源路径的拓扑结构,对已有的回源路径进行重新规划,例如减少回源路径的延时、减少中继节点的数量等。
参照图9,示出了本申请实施例提供的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图9所示,该电子设备可以包括:处理器(processor)902、通信接口(Communications Interface)904、存储器(memory)906、以及通信总线908。
其中:
处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。
通信接口904,用于与其它电子设备或服务器进行通信。
处理器902,用于执行程序910,具体可以执行上述回源路径的确定方法实施例中的相关步骤。
具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。
处理器902可能是处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器906,用于存放程序910。存储器906可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序910中各步骤的具体实现可以参见上述回源路径的确定方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一回源路径的确定方法对应的操作。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的回源路径的确定方法。此外,当通用计算机访问用于实现在此示出的回源路径的确定方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的回源路径的确定方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
Claims (11)
1.一种回源路径的确定方法,包括:
针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,所述流图中的边用于指示回源路径,所述流图中的节点用于指示回源路径经过的CDN节点;
确定待建立回源路径的拉流端和推流端各自对应的CDN节点;
根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径;
将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本;
至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径。
2.根据权利要求1所述的方法,其中,所述根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径,包括:
基于预先设定的选路策略,根据所述内容分发网络中包括的若干个CDN节点的传输参数确定从拉流端到推流端的多个候选回源路径;
根据所述拉流端拉取的直播流对应的新流图,确定所述候选回源路径中存在于所述新流图的第一CND节点;
将所述候选回源路径中所述第一CDN节点至所述推流端节点之间的部分路径,替换为所述新流图中存在的路径,以对所述候选回源路径进行调整。
3.根据权利要求2所述的方法,其中,所述根据所述拉流端拉取的直播流对应的新流图,确定所述候选回源路径中存在于所述新流图的第一CND节点,包括:
沿着从所述拉流端到所述推流端的方向,遍历所述候选回源路径中的CDN节点,确定所述CDN节点是否存在于所述新流图中;
将第一个被确定为存在于所述新流图中的CDN节点确定为所述第一CDN节点。
4.根据权利要求1所述的方法,其中,所述将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本,包括:
将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为零成本;
计算所述候选回源路径位于所述新流图之外的部分路径的传输成本作为所述候选回源路径对应的传输成本。
5.根据权利要求1所述的方法,其中,所述针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,包括:
获得各个CDN节点实时上报的其自身传输的直播流信息,所述直播流信息包括CDN节点传输的直播流以及所述直播流的传输方向;
对获得的所述直播流信息进行信息汇聚,得到当前直播流对应的CDN节点及直播流在CDN节点之间的传输路径;
根据当前直播流对应的CDN节点及直播流在CDN节点之间的传输路径,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图。
6.根据权利要求1所述的方法,其中,所述方法还包括:
向所述CDN节点发送探测消息,获得所述CDN节点返回的传输质量信息,根据所述传输质量信息确定多个所述候选回源路各自的传输质量;
所述至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径,包括:
根据多个候选回源路各自的传输成本和传输质量,从多个所述候选回源路径确定出目标回源路径。
7.一种内容分发网络,包括:中心节点以及服务节点,所述服务节点包括拉流服务节点和推流服务节点;
所述拉流服务节点用于在接受到针对本地未存储的直播流的拉取请求时,向所述中心节点发送获取所述直播流数据的直播流获取请求;
所述中心节点用于根据所述服务节点发送的直播流获取请求,确定所述直播流对应的推流端服务节点,并通过如权利要求1-6任一项所述的方法确定从所述拉流服务节点到所述推流服务节点的回源路径;
所述拉流服务节点通过所述回源路径获取所述直播流。
8.一种内容分发网络的中心节点,包括:
流信息汇聚单元,用于针对通过内容分发网络传输的当前直播流,将用于表征直播流的回源路径的原流图更新为与当前直播流对应的新流图,所述流图中的边用于指示回源路径,所述流图中的节点用于指示回源路径经过的CDN节点;
路径规划单元,用于确定待建立回源路径的拉流端和推流端各自对应的CDN节点;根据所述内容分发网络中包括的若干个CDN节点的传输参数以及根据所述拉流端拉取的直播流对应的新流图,确定从所述拉流端对应的CDN节点到推流端对应的CDN节点的多个候选回源路径;将所述候选回源路径中存在于所述新流图中的部分路径的传输成本设置为预设成本,并计算所述候选回源路径位于所述新流图之外的部分路径的传输成本,得到所述候选回源路径对应的传输成本;至少根据多个候选回源路各自的传输成本,从多个所述候选回源路径确定出目标回源路径。
9.根据权利要求1所述的中心节点,其中,所述路径规划单元包括多个并行的路径规划进程,用于处理若干个内容分发网络的服务节点发送的获取所述直播流数据的直播流获取请求;
多个所述路径规划进程中的一个,从所述流信息汇聚单元获得当前直播流对应的新流图,并更新至存储单元中;
多个所述路径规划进程中除用于更新流图的一个路径规划进程之外的其他路径规划进程,从所述存储单元中获得所述新流图。
10.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
11.一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如权利要求1-6中任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546758.XA CN114945046A (zh) | 2022-05-19 | 2022-05-19 | 回源路径确定方法、内容分发网络、存储介质、程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546758.XA CN114945046A (zh) | 2022-05-19 | 2022-05-19 | 回源路径确定方法、内容分发网络、存储介质、程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114945046A true CN114945046A (zh) | 2022-08-26 |
Family
ID=82906657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210546758.XA Pending CN114945046A (zh) | 2022-05-19 | 2022-05-19 | 回源路径确定方法、内容分发网络、存储介质、程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114945046A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115643203A (zh) * | 2022-09-15 | 2023-01-24 | 阿里巴巴(中国)有限公司 | 内容分发方法、装置、内容分发网络、设备及介质 |
-
2022
- 2022-05-19 CN CN202210546758.XA patent/CN114945046A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115643203A (zh) * | 2022-09-15 | 2023-01-24 | 阿里巴巴(中国)有限公司 | 内容分发方法、装置、内容分发网络、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656800B (zh) | 一种路径选取方法及系统、网络加速节点及网络加速系统 | |
WO2020048147A1 (zh) | 数据传输方法及装置 | |
US9954941B2 (en) | Global server load balancer apparatus and method for dynamically controlling time-to-live | |
US10587513B2 (en) | Method, apparatus and system for determining content acquisition path and processing request | |
US20150215400A1 (en) | File Upload Method And System | |
KR102160494B1 (ko) | 네트워크 노드, 엔드포인트 노드 및 관심 메시지 수신 방법 | |
SG182222A1 (en) | Methods for collecting and analyzing network performance data | |
CN104780199A (zh) | 在客户端下载多媒体内容即将到来的分段的方法及终端 | |
US20040199664A1 (en) | Method and system for improving a route along which data is sent using an ip protocol in a data communications network | |
CN109218363B (zh) | 内容分发方法、网络节点及存储介质 | |
WO2012075970A1 (zh) | 一种获取媒体内容的方法、设备及系统 | |
CN111211988B (zh) | 面向分布式机器学习的数据传输方法及系统 | |
CN113783787B (zh) | 一种基于云边协同的非实时数据传输方法及装置 | |
CN101499914A (zh) | 一种组播系统的父节点选择方法、系统及节点 | |
CN116545936B (zh) | 拥塞控制方法、系统、装置、通信设备及存储介质 | |
US10680922B2 (en) | Communication control apparatus and communication control method | |
CN114945046A (zh) | 回源路径确定方法、内容分发网络、存储介质、程序产品 | |
US20090150564A1 (en) | Per-user bandwidth availability | |
CN109788075B (zh) | 专网网络系统、数据的获取方法及边缘服务器 | |
US20170013524A1 (en) | Methods and system in user service enhancement for roaming in wireless mesh networks | |
US20130159547A1 (en) | Data transfer system | |
CN105191251B (zh) | 基于站点的服务器选择 | |
KR102141444B1 (ko) | 모바일 콘텐트 네트워크에서 데이터 전송 및 수신 장치 및 방법 | |
WO2018121421A1 (zh) | 一种流数据的跨域传输方法、装置和系统 | |
Kalan et al. | Implementation of sand architecture using sdn |
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 |