CN114760482B - 直播回源方法及装置 - Google Patents
直播回源方法及装置 Download PDFInfo
- Publication number
- CN114760482B CN114760482B CN202210324997.0A CN202210324997A CN114760482B CN 114760482 B CN114760482 B CN 114760482B CN 202210324997 A CN202210324997 A CN 202210324997A CN 114760482 B CN114760482 B CN 114760482B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- source
- distribution
- edge node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000011144 upstream manufacturing Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 235000008694 Humulus lupulus Nutrition 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- 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/21—Server components or server architectures
- H04N21/226—Characteristics of the server or Internal components of the server
- H04N21/2265—Server identification by a unique number or address, e.g. serial number
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供直播回源方法及装置,其中直播回源方法包括:接收边缘节点发送的回源请求,其中,回源请求携带待获取直播流的流标识和边缘节点的节点标识;根据流标识,查找待获取直播流的至少一个分布节点;根据至少一个分布节点的类型,确定边缘节点的目标回源路径,根据节点标识,将目标回源路径返回给边缘节点,其中,目标回源路径用于指示边缘节点进行回源获取待获取直播流。如此,选择的目标回源路径性价比较高,大大提高了回源效率和成功率,降本增效。
Description
技术领域
本申请涉及直播技术领域,特别涉及一种直播回源方法。本申请同时涉及一种直播回源装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机和互联网技术的快速发展,直播行业飞速发展,直播受众不断扩大,各种各样的直播层出不穷。在直播过程中,主播端推送的直播流可以通过CDN(ContentDelivery Network,内容分发网络)提供给用户观看,传统的CDN通过源站、二级源站、边缘节点的三级树状结构,来进行大规模的分发网络,在直播接入时,CDN无法做到提前将直播流分发到各边缘节点,用户需要访问某个直播流时,边缘节点可以进行回源,也即边缘节点实时到源站或者二级源站拉取所需的直播流。
现有技术中,各个边缘节点的回源路径都是预先固定好的,也即边缘节点通过哪条路径拉取所需的直播流是预先固定好的,边缘节点的回源路径固化,可能会造成带宽浪费或者带宽压力过大,增加回源成本,回源性价比较低;并且,若预先固定好的回源路径出现异常,则可能会多次重复尝试回源,进而可能会导致回源失败,极大影响了回源效率和回源成功率。
发明内容
有鉴于此,本申请实施例提供了一种直播回源方法。本申请同时涉及一种直播回源装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的回源成本高、性价比低的技术问题。
根据本申请实施例的第一方面,提供了一种直播回源方法,应用于回源服务器,包括:
接收边缘节点发送的回源请求,其中,回源请求携带待获取直播流的流标识和边缘节点的节点标识;
根据流标识,查找待获取直播流的至少一个分布节点;
根据至少一个分布节点的类型,确定边缘节点的目标回源路径,根据节点标识,将目标回源路径返回给边缘节点,其中,目标回源路径用于指示边缘节点进行回源获取待获取直播流。
根据本申请实施例的第二方面,提供了一种直播回源装置,应用于回源服务器,包括:
接收模块,被配置为接收边缘节点发送的回源请求,其中,回源请求携带待获取直播流的流标识和边缘节点的节点标识;
查找模块,被配置为根据流标识,查找待获取直播流的至少一个分布节点;
确定模块,被配置为根据至少一个分布节点的类型,确定边缘节点的目标回源路径,根据节点标识,将目标回源路径返回给边缘节点,其中,目标回源路径用于指示边缘节点进行回源获取待获取直播流。
根据本申请实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
存储器用于存储计算机可执行指令,处理器用于执行计算机可执行指令:
接收边缘节点发送的回源请求,其中,回源请求携带待获取直播流的流标识和边缘节点的节点标识;
根据流标识,查找待获取直播流的至少一个分布节点;
根据至少一个分布节点的类型,确定边缘节点的目标回源路径,根据节点标识,将目标回源路径返回给边缘节点,其中,目标回源路径用于指示边缘节点进行回源获取待获取直播流。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现任意直播回源方法的步骤。
本申请提供的直播回源方法,回源服务器接收到边缘节点发送的回源请求时,可以根据其中携带的流标识,查找待获取直播流的至少一个分布节点,然后根据至少一个分布节点的类型,确定边缘节点的目标回源路径,之后根据回源请求中携带的节点标识,将目标回源路径返回给边缘节点,以使边缘节点可以根据动态选择的目标回源路径进行回源,拉取所需的直播流。这种情况下,各个分布节点中存储有待获取直播流,分布节点类型可以表示存储的待获取直播流的拉取或推送情况,基于至少一个分布节点的类型可以合理分配回源请求,选择性价比较高的回源路径,合理利用带宽,分散拉流压力,减少拥塞程度,避免带宽浪费或者带宽压力过大,降低回源成本,也即选择的目标回源路径性价比较高,大大提高了回源效率和成功率,降本增效。
附图说明
图1是本申请一实施例提供的一种直播回源方法的流程图;
图2a是本申请一实施例提供的一种直播过程的交互示意图;
图2b是本申请一实施例提供的一种内容分发网络的结构示意图;
图3是本申请一实施例提供的另一种直播回源方法的流程图;
图4是本申请一实施例提供的一种直播回源装置的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
CDN:全称为Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘节点,通过中心平台的调度、负载均衡、内容分发等功能模块,使用户就近获取所需内容,降低网络拥塞,以提高用户访问响应速度和命中率。CDN网络中最重要的是源站,是CDN的数据源,即最上级的后端服务器,各机房节点都要从源站获取静态文件或实时多媒体流为用户访问进行分发。边缘CDN节点是靠近用户的网络边缘侧CDN,边缘CDN节点到用户客户端的数据传输被称为“最后一公里”。
第一公里:是指互联网上的骨干网都是非常畅通的,只有用户到接入骨干网的最后一公里的网络非常不稳定,大部分的网络问题都是在这里。
回源:在用户就近接入骨干网后,如果该节点没有所需的直播流,则需要向上级节点请求拉流,该行为称为回源。本申请实施例中,源站是主播实时上传直播内容的服务器,边缘节点是用户最终观看直播的服务器,源站和边缘节点中间有一层或多层的中间源节点(即二级源站),也称中继服务器。用户访问边缘节点时,边缘节点可能没有所需的直播流,此时边缘节点就需要逐级向上层的中间源节点、直至源站进行请求,来拉取相关的直播流,这一过程即为回源。
流媒体:是指采用流式传输的方式在Internet播放的媒体格式,包含音频、视频、多媒体文件;流媒体在播放前不会下载整个文件,只将开始部分存入内存,在用户访问时对数据包进行缓存,让媒体数据正确地输出。
推流:客户端采集视频数据,经过编码和网络传输,发送给流媒体服务器的过程,其中的服务器自行搭建或由CDN提供。
拉流:客户端或者播放器从服务器下载或拉取指定的媒体流到本地的过程。在本发明中,边缘CDN节点到推流节点的回源对应边缘CDN节点从推流节点点拉流。
RPC:全称为Remote Procedure Call,即远程过程调用。客户端应用调用服务器应用提供的函数或方法,需要通过网络来表达调用的语义和传达调用的数据。
需要说明的是,传统CDN通过源站、中间源节点、边缘节点的三级树状结构,来进行大规模的分发网络。CDN节点的回源分为IP回源或域名回源。现有的CDN节点回源策略是在CDN节点系统中配置固定的回源IP或回源域名(若必要还需匹配端口号),CDN运营商可以在当前节点覆盖区域内选择一个较近的CDN节点作为其回源的目标,或者选择成本较低的第三方CDN作为其回源目标。
由于配置固定的回源IP或回源域名,CDN节点未能考虑网络中各节点的成本信息和网络质量信息(包括数据传输带宽、传输丢包率、传输延时等),以及分布有待获取直播流的节点情况,无法保证回源的性价比较高。
因而,本申请实施例提供了一种直播回源方法,对边缘节点直播回源推算一条拉流质量高且所需成本低的拉流路径,可以考虑所有CDN机房、节点的实时信息以及所有直播流的信息,从而能够为回源提供高质量、高性价比的拉流路径,降本增效。
在本申请中,提供了一种直播回源方法,本申请同时涉及一种直播回源装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种直播回源方法的流程图,应用于回源服务器,具体包括以下步骤:
步骤102:接收边缘节点发送的回源请求,其中,回源请求携带待获取直播流的流标识和边缘节点的节点标识。
具体的,边缘节点可以是指内容分发网络中部署在各地的边缘服务器,在内容分发网络中提供用户接入能力。回源请求是指边缘节点中不存在用户需要获取的待获取直播流时,边缘节点向回源服务器发起的请求,该回源请求中可以携带待获取直播流的流标识和边缘节点的节点标识,以使回源服务器可以向边缘节点返回能够获取到待获取直播流的回源路径。
其中,回源服务器可以是指能够提供回源服务的服务器,即能够接收边缘节点发送的回源请求,确定出进行回源的路径,并向边缘节点返回的服务器;待获取直播流的流标识可以唯一标识待获取直播流,如待获取直播流的流标识可以为待获取直播流的流名uuid;边缘节点的节点标识可以唯一标识一个边缘节点,如该节点标识可以为边缘节点的node ID。
图2a是本申请一实施例提供的一种直播过程的交互示意图,用户端可以向调度服务器发送访问请求,调度服务器可以从内容分发网络(CDN)分布在各地的边缘节点中选择目标边缘节点分配给该用户端(将目标边缘节点的地址返回给用户端),该用户端可以基于目标边缘节点的地址,向目标边缘节点发送拉流请求,目标边缘节点接收到该拉流请求后,应该向用户端发送相应的直播流。若目标边缘节点中不存在相应的直播流,则目标边缘节点可以向回源服务器发送回源请求,回源服务器可以提供回源服务,向目标边缘节点返回对应的回源路径(如从目标边缘节点至左侧第一个中间源节点再至源站),目标边缘节点可以基于接收到的回源路径从源站拉取相应的直播流并推送给用户端。
实际应用中,回源服务器可以启动RPC(Remote Procedure Cal,远程过程调用)的server端服务。具体地,接口可以选择HTTP(HyperText Transfer Protocol,超文本传输协议)方式,解析边缘节点发送的回源请求的请求信息,获得待获取直播流的流标识和边缘节点的节点标识,
需要说明的是,当用户通过观众端进入某个直播间向中心调度服务器请求分配边缘节点后,该用户的观众端可以到分配的边缘节点进行拉流,当该边缘节点没有该直播间的直播流时,需要进行回源,此时该边缘节点可以向回源服务器发送回源请求,该回源请求中携带该直播间的直播流的流标识。
示例的,图2b示出了根据本申请一实施例提供的一种内容分发网络的结构示意图,如图2b所示,内容分发网络包括源站:ROOT,中间源节点:L1-01、L1-02,边缘节点:L2-01、L2-02、L2-03、L2-04。各个主播可以通过自己持有的主播端将对应的直播流推送至源站ROOT。假设观众甲进入主播A的直播间,内容分发网络为其分配的边缘节点为L2-01,边缘节点L2-01中没有主播A对应的直播流A,此时边缘节点L2-01可以向回源服务器发送回源请求,该回源请求中携带直播流A的流标识。
本申请实施例中,边缘节点中不存在用户需要获取的待获取直播流时,可以向回源服务器发送回源请求,回源服务器可以接收边缘节点的回源请求,以便后续确定出对应的回源路径返回给边缘节点,使得边缘节点可以获取到所需的直播流,保证了可以成功拉取到用户想要观看的直播流。
本实施例一个可选的实施方式中,可以预先计算内容分发网络中所有节点之间性价比较高的零跳、一跳参考路径,进行存储,便于后续直接查询,也即接收边缘节点发送的回源请求之前,还可以包括:
获取内容分发网络中每两个节点之间的成本信息和网络参数信息;
根据每两个节点之间的成本信息和网络参数信息,计算每两个节点之间的链路分值;
根据链路分值,确定内容分发网络中边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,其中,参考零跳路径是指边缘节点与其他节点之间直连,参考一跳路径是指边缘节点与其他节点之间存在一个中继节点;
将参考零跳路径、参考一跳路径与对应的起始节点、终止节点对应存储,构建内容分发网络的参考路径库。
具体的,成本信息为评估每两个节点之间的带宽成本的信息,如每两个节点之间单位带宽所需耗费的成本;网络参数信息为评估每两个节点之间的网络环境的信息,网络参数信息包括节点所处机房的网络带宽、丢包率、往返延时、节点拥塞程度等与网络环境相关的信息中的至少一个,两节点之间的网络参数信息可以指示该两节点之间的网络环境。
需要说明的是,内容分发网络中每个节点所处的机房可以向其他节点所处的机房发送测试消息,以测试自身的网络情况,如丢包率、网络延时等;另外,内容分发网络中每个节点还可以实时获取当前的网络带宽,以及当前被选中作为回源路径的频次信息,然后该节点可以将测试获得的网络情况、实时获取的网络带宽、当前被选中作为回源路径的频次信息(即节点拥塞程度)等网络参数信息上报给基础信息服务器,通过基础信息服务器存储内容分发网络中各个节点的网络参数信息。
另外,链路分值基于成本信息和网络参数信息计算获得,可以均衡成本和质量,也即链路分值可以表示每两个节点之间的传输性价比,链路分值越高,说明该两个节点之间的传输性价比越高,该两个节点之间的链路被选择的概率越大。
本实施例一个可选的实施方式中,成本信息包括至少一个成本参数,网络参数信息包括至少一个网络参数,因而根据每两个节点之间的成本信息和网络参数信息,计算每两个节点之间的链路分值,具体实现过程可以如下:
确定成本信息中的各个成本参数,以及网络参数信息中的各个网络参数;
基于预先设置的参数和分值之间的对应关系,分别确定各个成本参数、各个网络参数对应的参数分值;
根据获得的各个参数分值,确定两个节点之间的链路分值。
需要说明的是,不同的成本参数、网络参数位于不同的数值范围时,均设置有对应的分值,因而可以基于预先设置的参数和分值之间的对应关系,分别确定各个成本参数、各个网络参数对应的参数分值,然后可以根据各个参数分值,确定该两个节点之间的链路分值。
实际应用中,根据各个参数分值,确定两个节点之间的链路分值时,可以确定各个参数分值对应的参数平均分值,将该参数平均分值作为该两个节点之间的链路分值。或者,还可以根据成本信息和网络参数信息中各个参数对实际访问质量的影响程度,设置各个参数的权重系数,基于各个参数分值和对应的权重系数,确定各个参数分值对应的参数加权平均分值,将该参数加权平均分值作为该两个节点之间的链路分值。
另外,还可以基于AI(人工智能)确定成本信息和网络参数信息中各个参数(单位带宽所需耗费的成本、网络带宽、丢包率、往返延时、节点拥塞程度等)的权重系数,然后对各个参数分值进行加权融合获得两个节点之间的链路分值。
其中,参数和分值之间的对应关系可以基于参数的属性确定,如单位带宽所需耗费的成本越低,对应的分值越高;网络带宽越高,对应的分值越高;丢包率越低,对应的分值越高;往返延时越低,对应的分值越高;节点拥塞程度越低,对应的分值越高等。
另外,参考零跳路径是指边缘节点与其他节点之间直连,不存在中继节点,如图2b中的路径3。另外,边缘节点与某节点直接连接,应该对应一条零跳路径,但是实际应用中,节点中的服务可以由不同的运营商提供,而不同的运营商提供服务的成本不同,因而可以确定边缘节点与某节点直接连接时,与该节点的各个运营商之间的链路分值,从而选择链路分值最高的路径作为边缘节点至该节点的参考零跳路径。
再者,参考一跳路径是指边缘节点与其他节点之间存在一个中继节点(即中间源节点),如图2b中的路径1和路径2,因而参考一跳路径由两段链路组成,边缘节点至中继节点、中继节点至其他节点,因而可以对边缘节点至中继节点、中继节点至其他节点的链路分值求和,可以获得该边缘节点至该中继节点再至该其他节点之间候选一跳路径的链路分值,由于边缘节点和其他节点之间可以经过的中继节点有多个,每个中继节点均可以构成一条候选一跳路径,因而可以基于该边缘节点至其他节点之间的各条候选一跳路径的链路分值,确定参考一跳路径,从而可以从该边缘节点至其他节点之间的各条候选一跳路径中选择最优的一跳路径作为参考一跳路径。
需要说明的是,采用零跳路径的好处是降低下游边缘节点从上游推流节点拉流的延迟;而采用一跳路径的好处是避免上游推流节点产生多份下行带宽,即上游节点的下行带宽由中继节点承担,上游节点只需向中继节点传送流媒体数据;不采用多跳路径的原因是避免请求节点拉流的延迟过高。
实际应用中,根据链路分值,确定内容分发网络中边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径之后,还可以将参考零跳路径、参考一跳路径与对应的起始节点、终止节点对应存储,构建内容分发网络的参考路径库,后续基于起始节点和终止节点可以直接从该参考路径库中查询到对应的参考零跳路径和参考一跳路径。
本申请实施例中,可以基于每两个节点之间的成本信息和网络参数信息,计算每两个节点之间的链路分值,从而确定出内容分发网络中边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,构建参考路径库,后续基于起始节点和终止节点可以直接从该参考路径库中查询到对应的参考零跳路径和参考一跳路径,查找到的参考零跳路径和参考一跳路径均基于节点的成本信息和网络参数信息动态确定获得,基于节点的成本信息和网络参数信息向边缘节点提供一条拉流质量高且所需成本低的拉流路径,后续可以将选择的回源条件较优的回源路径返回给边缘节点,合理利用带宽,避免带宽浪费或者带宽压力过大,大大提高了回源效率和成功率,降本增效。
本实施例一个可选的实施方式中,可以基于排序结果选择参考零跳路径和参考一跳路径,也即根据链路分值,确定内容分发网络中边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,具体实现过程可以如下:
针对边缘节点至第一分布节点,将边缘节点至第一分布节点之间的各条候选一跳路径的链路分值进行排序,其中,第一分布节点为至少一个分布节点中的任一个;
根据预设选取规则,在排序结果中选择预设数量的候选一跳路径作为参考一跳路径。
具体的,预设选取规则是指预先设置的、从排序结果中选取候选一跳路径作为参考一跳路径的规则,该预设选取规则可以为选取排序靠前的预设数量的候选一跳路径,还可以为选取分值大于分数阈值的预设数量个候选一跳路径,或者还可以为选取预设排序范围内的预设数量个候选一跳路径。另外,预设数量是指预先设置的、目标回源路径的个数,如预设数量可以为1,2,3等。
需要说明的是,边缘节点至第一分布节点之间的各条候选一跳路径的链路分值可以表示各条候选一跳路径的成本情况、网络情况等性价比,分值越高,表示成本较低且网络情况较高,即性价比越高,因而可以将各条候选一跳路径的分值从高至低进行排序,根据预设选取规则,在排序结果中选择预设数量的候选一跳路径作为参考一跳路径,从而动态选择性价比较好的路径作为回源路径返回给边缘节点,大大提高了回源效率和成功率,降本增效。
进一步地,除了上述基于边缘节点至第一分布节点之间的各条候选一跳路径的链路分值的排序结果,选取参考一跳路径之外,由于内容分发网络中的各个节点可以构成一个多源有向图,内容分发网络各个节点是该多源有向图中的节点,因而可以将内容分发网络中每两个节点之间的链路分值,作为该两个节点之间边的权重值,然后基于最短路径算法,获得该边缘节点至各个其他节点之间的最短路径,将该最短路径作为参考零跳路径或参考一跳路径。其中,最短路径算法可以为Dijkstra算法(狄克斯特拉算法)或Floyd算法(弗洛伊德算法)。
本实施例一个可选的实施方式中,还可以定时更新构建的参考路径库,也即构建内容分发网络的参考路径库之后,还可以包括:
以预设时长为周期,获取当前周期内内容分发网络中每两个节点之间的更新成本信息和更新网络参数信息;
根据更新成本信息和更新网络参数信息,更新内容分发网络的参考路径库。
具体的,预设时长可以是预先设置的时长,表示定期更新参考路径库的周期,如0.5秒、1秒、10秒等。
需要说明的是,可以每隔预设时长获取当前周期内的内容分发网络中每两个节点之间的更新成本信息和更新网络参数信息,根据更新成本信息和更新网络参数信息,更新内容分发网络的参考路径库,定期更新构建的参考路径库,使得参考路径库中的参考零跳路径和参考一跳路径可以基于实时的成本信息和网络参数信息动态更新,可以适应实时变化的网络环境,保证了参考路径库的准确性,从而保证了后续确定出的目标回源路径的准确性。
步骤104:根据流标识,查找待获取直播流的至少一个分布节点。
需要说明的是,待获取直播流的至少一个分布节点是指待获取直播流的流分布信息,即各个直播流在内容分发网络中的分布信息,流分布信息可以通过流转发树的形式存储,一个直播流对应一个流转发树,流转发树中的各个节点是存储有该直播流的分布节点。
其中,流转发树是一个多叉树,流转发树中的根节点为树结构中存在子节点的节点,如内容分发网络中的推流节点,即源站;叶节点为树结构中存在父节点的节点,如内容分发网络中的拉流节点,即中间源节点、边缘节点等。
需要说明的是,内容分发网络中的节点拉取一个直播流后,可以将拉取的直播流存储在节点本地,后续如果需要再次拉取相同的直播流,则可以直接从该节点中拉取,且该节点可以将自身存储的直播流信息上报给流信息服务器,如此,流信息服务器中可以存储有内容分发网络中各个节点存储的直播流信息,以及每个直播流的当前拉取次数,也即当前的流观看人数,即播放量。
实际应用中,回源服务器接收到边缘节点发送的回源请求后,可以根据回源请求中携带的待获取直播流的流标识,从流信息服务器中获取对应的流分布信息,根据该流分布信息即可获得待获取直播流的至少一个分布节点,确定出内容分发网络中哪些节点存储有待获取直播流。
本实施例一个可选的实施方式中,若未查找待获取直播流的至少一个分布节点,则可以直接向源站回源,也即根据流标识,查找待获取直播流的至少一个分布节点之后,还可以包括:
在未查找到待获取直播流的至少一个分布节点的情况下,从参考路径库中查找边缘节点至源站的参考一跳路径,作为边缘节点的目标回源路径。
需要说明的是,如果未查找到待获取直播流的至少一个分布节点,则说明内容分发网络中没有节点拉取过待获取直播流,即内容分发网络中的各个节点上均未存储待获取直播流,如该待获取直播流为新开播的主播对应的直播流,此时可以直接向源站回源。
实际应用中,若大量边缘节点直接向源站回源,可能会导致源站压力过大,因而在未查找到待获取直播流的至少一个分布节点的情况下,不选择边缘节点至源站的参考零跳路径,而是从参考路径库中查找边缘节点至源站的参考一跳路径,作为边缘节点的目标回源路径,避免突增的用户请求引起上游推流节点(即源站)的下行带宽的突增,导致服务压力过大或宕机。
步骤106:根据至少一个分布节点的类型,确定边缘节点的目标回源路径。
需要说明的是,如果查找到待获取直播流的至少一个分布节点,则说明内容分发网络中某些节点已经拉取过待获取直播流,此时可以根据至少一个分布节点的类型,确定边缘节点的目标回源路径。其中,分布节点的类型可以表示分布节点在流转发树中的位置,从而指示存储的待获取直播流的拉取或推送情况,如分布节点的类型可以为根节点、叶节点、临近分布节点等,其中,临近分布节点为与边缘节点处于相同机房的分布节点。
本申请实施例中,各个分布节点中存储有待获取直播流,分布节点类型可以表示存储的待获取直播流的拉取或推送情况,基于至少一个分布节点的类型可以合理分配回源请求,从而选择性价比较高的回源路径,合理利用带宽,分散拉流压力,减少拥塞程度,避免带宽浪费或者带宽压力过大,降低回源成本,也即选择的目标回源路径性价比较高,大大提高了回源效率和成功率,降本增效。
本实施例一个可选的实施方式中,还可以预先判断请求回源的边缘节点中是否已经存储有待获取直播流,也即根据至少一个分布节点的类型,确定边缘节点的目标回源路径之前,还可以包括:
确定边缘节点是否位于至少一个分布节点中;
若位于至少一个分布节点中,则确定边缘节点的目标回源路径为空路径;
若不位于至少一个分布节点中,则执行根据至少一个分布节点的类型,确定边缘节点的目标回源路径的操作步骤。
需要说明的是,至少一个分布节点是指内容分发网络中存储有待获取直播流的节点,若边缘节点位于至少一个分布节点中,则说明边缘节点已经拉取过待获取直播流,无需回源从其他节点再次拉取,因而此时可以确定边缘节点的目标回源路径为空路径;若边缘节点不位于至少一个分布节点中,则说明边缘节点之前没有拉取过待获取直播流,需要进行回源从其他节点拉取,因而此时需要确定回源路径,即执行根据至少一个分布节点的类型,确定边缘节点的目标回源路径的操作步骤。
本申请实施例中,若边缘节点位于至少一个分布节点中,则可以确定边缘节点的目标回源路径为空路径,只有边缘节点不位于至少一个分布节点中,才执行根据至少一个分布节点的类型,确定边缘节点的目标回源路径的操作步骤,避免了边缘节点多次拉取同一直播流,节省了边缘节点的带宽。
本实施例一个可选的实施方式中,至少一个分布节点为树结构,即至少一个分布节点通过流转发树的形式存储,此时根据至少一个分布节点的类型,确定边缘节点的目标回源路径,具体实现过程可以如下:
确定至少一个分布节点中是否仅存在根节点,其中,根节点为内容分发网络中的推流节点;
在至少一个分布节点中仅存在根节点的情况下,从参考路径库中查找边缘节点至至少一个分布节点中根节点的参考一跳路径,作为边缘节点的目标回源路径;
在至少一个分布节点中存在除根节点之外的节点的情况下,确定至少一个分布节点中是否存在临近分布节点,若存在,则从参考路径库中查找边缘节点至临近分布节点的参考零跳路径,作为边缘节点的目标回源路径,其中,临近分布节点为与边缘节点处于相同机房的分布节点。
需要说明的是,流转发树是一个多叉树,流转发树中叶节点是根节点的子节点,在至少一个分布节点中仅存在根节点的情况下,说明只有该根节点拉取过待获取直播流,因而可以从参考路径库中查找边缘节点至该根节点的参考一跳路径,作为边缘节点的目标回源路径。
实际应用中,获取到的至少一个分布节点中只有该一个根节点中存储有待获取直播流,若大量边缘节点直接向该根节点回源,可能会导致该根节点的压力过大,因而在仅存在根节点的情况下,不选择边缘节点至根节点的参考零跳路径,而是从参考路径库中查找边缘节点至该根节点的参考一跳路径,作为边缘节点的目标回源路径,避免突增的用户请求引起上游推流节点(即根节点)的下行带宽的突增,导致服务压力过大或宕机。
另外,在至少一个分布节点中存在除根节点之外的节点的情况下,说明有多个节点拉取过待获取直播流,边缘节点从该多个节点中均可以获取到待获取直播流,因而此时可以确定至少一个分布节点中是否存在临近分布节点,该临近分布节点为与边缘节点处于相同机房的分布节点,若存在,则可以从参考路径库中查找边缘节点至临近分布节点的参考零跳路径,作为边缘节点的目标回源路径,从而使得边缘节点可以直接从同机房的分布节点中拉取待获取直播流,降低拉取成本和时间。其中,边缘节点至临近分布节点的参考零跳路径对应机房内部的内网IP路径。
需要说明的是,内容分发网络中的边缘节点是分布在各个区域的机房中、向用户提供服务的节点,各个区域的一个机房中往往设置有多个边缘节点,也即内容分发网络中存在多个边缘节点位于同一机房。至少一个分布节点是拉取过所需直播流的节点,因而可以确定至少一个分布节点中是否存在临近分布节点,也即确定发起回源请求的边缘节点的同机房节点是否曾经拉取相应的直播流,若是,则可以直接从该同机房节点进行回源,降低拉取成本和时间。
另外,只有位于同机房的边缘节点会向该临近分布节点回源,拉取待获取直播流,突增用户请求的概率较小,因而可以选取边缘节点至临近分布节点的参考零跳路径,作为边缘节点的目标回源路径,以减少拉流延迟。
本实施例一个可选的实施方式中,若至少一个分布节点中不存在临近分布节点,则可以进一步结合待获取直播流的类型,确定目标回源路径,也即确定至少一个分布节点中是否存在临近分布节点之后,还可以包括:
在至少一个分布节点中不存在临近分布节点的情况下,确定至少一个分布节点对应的流观看人数;
根据流观看人数,确定边缘节点的目标回源路径。
需要说明的是,待获取直播流的流观看人数可以表示待获取直播流的当前播放量,可以通过待获取直播流的流观看人数,控制回源路径的回源跳转数,该回源跳转数包括零跳和一跳,即从边缘节点至确定出上游推流节点之间是否经过中继节点。
实际应用时,各节点拉流采用的实时流式传输协议可以选择RTMP(Real TimeMessaging Protocol,实时消息传输协议)、HLS(HTTP Live Streaming,基于HTTP的自适应码率流媒体传输协议)等,根据流观看人数,可以确定待获取直播流为冷流还是热流,热流表示拉取待获取直播流的人数较多,若采用零跳,则可能会导致上游推流节点产生多份下行带宽,上游推流节点的压力过大,因而此时可以选取一跳路径,避免上游推流节点产生多份下行带宽,即上游推流节点的下行带宽由中继节点承担,上游推流节点只需向中继节点传送待获取直播流的流媒体数据。
另外,冷流表示拉取待获取直播流的人数较少,上游推流节点产生的下行带宽较少,若采取一跳路径,则可能会导致拉流延迟,因而此时可以选取零跳路径,降低下游边缘节点从上游推流节点拉流的延迟。
本实施例一个可选的实施方式中,可以根据流观看人数和人数阈值,确定待获取直播流是冷流还是热流,也即根据流观看人数,确定边缘节点的目标回源路径,具体实现过程可以如下:
在流观看人数小于人数阈值的情况下,确定边缘节点至各个分布节点的参考零跳路径,并根据各条参考零跳路径的链路分值,确定边缘节点的目标回源路径;
在流观看人数大于等于人数阈值的情况下,确定边缘节点至各个分布节点的参考一跳路径,并根据各条参考一跳路径的链路分值,确定边缘节点的目标回源路径。
需要说明的是,在流观看人数小于人数阈值的情况下,说明待获取直播流是冷流,观看人数较少,应该采用零跳路径进行回源,因而此时可以遍历边缘节点至各个分布节点的参考零跳路径,并根据各条参考零跳路径的链路分值,确定边缘节点的目标回源路径。其中,缘节点至各个分布节点的参考零跳路径可以从预先构建的参考路径库中获得。
实际应用中,根据各条参考零跳路径的链路分值,确定边缘节点的目标回源路径时,可以对各条参考零跳路径的链路分值进行排序,根据预设规则从排序结果中选取预设数量条参考零跳路径作为目标回源路径,如从各条参考零跳路径中选取链路分值最高的作为目标回源路径。
另外,在流观看人数大于等于人数阈值的情况下,说明待获取直播流是热流,观看人数较多,应该采用一跳路径进行回源,因而此时可以遍历边缘节点至各个分布节点的参考一跳路径,并根据各条参考一跳路径的链路分值,确定边缘节点的目标回源路径。其中,缘节点至各个分布节点的参考一跳路径可以从预先构建的参考路径库中获得。
实际应用中,根据各条参考一跳路径的链路分值,确定边缘节点的目标回源路径时,可以与上述根据各条参考零跳路径的链路分值,确定边缘节点的目标回源路径的过程类似。
本申请实施例中,可以根据待获取直播流的流观看人数确定回源跳转数,选择的目标回源路径结合了流分布信息中的待获取直播流的分布节点、流观看人数,综合考虑了待获取直播流的流观看人数、拉流延迟以及下行带宽等,从而选择的回源性价比较优的目标回源路径返回给边缘节点,大大提高了回源效率和成功率,降本增效。
步骤108:根据节点标识,将目标回源路径返回给边缘节点,其中,目标回源路径用于指示边缘节点进行回源获取待获取直播流。
需要说明的是,回源服务器确定出回源请求对应的目标回源路径后,可以通过RPC接口将目标回源路径返回给边缘节点,以使该边缘节点可以根据目标回源路径进行回源,获取所需的待获取直播流。
本申请提供的直播回源方法,可以预先基于每两个节点之间的成本信息和网络参数信息,确定边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,构建参考路径库,后续基于起始节点和终止节点可以直接从该参考路径库中查询到对应的参考零跳路径和参考一跳路径。回源服务器接收到边缘节点发送的回源请求时,可以根据其中携带的流标识,查找待获取直播流的至少一个分布节点,然后根据至少一个分布节点的类型,从预先构建的参考路径库中确定边缘节点的目标回源路径,之后根据回源请求中携带的节点标识,将目标回源路径返回给边缘节点,以使边缘节点可以根据动态选择的目标回源路径进行回源,拉取所需的直播流。
这种情况下,各个分布节点中存储有待获取直播流,分布节点类型可以表示存储的待获取直播流的拉取或推送情况,基于至少一个分布节点的类型可以合理分配回源请求,选择性价比较高的回源路径,合理利用带宽,分散拉流压力,减少拥塞程度,避免带宽浪费或者带宽压力过大,降低回源成本,也即选择的目标回源路径性价比较高,大大提高了回源效率和成功率,降本增效。
图3示出了根据本申请一实施例提供的另一种直播回源方法的流程图,应用于回源服务器,具体包括以下步骤:
步骤302:根据每两个节点之间的成本信息和网络参数信息,确定内容分发网络中边缘节点至各个其他节点之间的参考零跳路径和参考一跳路,构建内容分发网络的参考路径库。
其中,参考零跳路径是指边缘节点与其他节点之间直连,参考一跳路径是指边缘节点与其他节点之间存在一个中继节点。
步骤304:接收边缘节点发送的回源请求,其中,回源请求携带待获取直播流的流标识和边缘节点的节点标识。
步骤306:根据流标识,查找待获取直播流的至少一个分布节点。
步骤308:确定是否查找到待获取直播流的至少一个分布节点,若否,则执行下述步骤310,若是,则执行下述步骤312。
步骤310:从参考路径库中查找边缘节点至源站的参考一跳路径,作为边缘节点的目标回源路径。
步骤312:确定边缘节点是否位于至少一个分布节点中,若是,则执行下述步骤314,若否,则执行下述步骤316。
步骤314:确定边缘节点的目标回源路径为空路径。
步骤316:确定至少一个分布节点中是否仅存在根节点,若否,则执行下述步骤318,若是,则执行下述步骤320。
步骤318:从参考路径库中查找边缘节点至至少一个分布节点中根节点的参考一跳路径,作为边缘节点的目标回源路径。
步骤320:确定至少一个分布节点中是否存在临近分布节点,若是,则执行下述步骤322,若否,则执行下述步骤324。
步骤322:从参考路径库中查找边缘节点至临近分布节点的参考零跳路径,作为边缘节点的目标回源路径。
其中,临近分布节点为与边缘节点处于相同机房的分布节点。
步骤324:确定待获取直播流是否为冷流,若是,则执行下述步骤326,若否,则执行下述步骤328。
步骤326:确定边缘节点至各个分布节点的参考零跳路径,并根据各条参考零跳路径的链路分值,确定边缘节点的目标回源路径。
步骤328:确定边缘节点至各个分布节点的参考一跳路径,并根据各条参考一跳路径的链路分值,确定边缘节点的目标回源路径。
步骤330:根据节点标识,将目标回源路径返回给边缘节点,其中,目标回源路径用于指示边缘节点进行回源获取待获取直播流。
本申请提供的直播回源方法,可以预先基于每两个节点之间的成本信息和网络参数信息,确定边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,构建参考路径库,后续基于起始节点和终止节点可以直接从该参考路径库中查询到对应的参考零跳路径和参考一跳路径。回源服务器接收到边缘节点发送的回源请求时,可以根据其中携带的流标识,查找待获取直播流的至少一个分布节点,然后根据至少一个分布节点的类型,从预先构建的参考路径库中确定边缘节点的目标回源路径,之后根据回源请求中携带的节点标识,将目标回源路径返回给边缘节点,以使边缘节点可以根据动态选择的目标回源路径进行回源,拉取所需的直播流。
与上述方法实施例相对应,本申请还提供了直播回源装置实施例,图4示出了本申请一实施例提供的一种直播回源装置的结构示意图。如图4所示,该装置包括:
接收模块402,被配置为接收边缘节点发送的回源请求,其中,回源请求携带待获取直播流的流标识和边缘节点的节点标识;
查找模块404,被配置为根据流标识,查找待获取直播流的至少一个分布节点;
确定模块406,被配置为根据至少一个分布节点的类型,确定边缘节点的目标回源路径,根据节点标识,将目标回源路径返回给边缘节点,其中,目标回源路径用于指示边缘节点进行回源获取待获取直播流。
可选地,该装置还包括构建模块,被配置为:
获取内容分发网络中每两个节点之间的成本信息和网络参数信息;
根据每两个节点之间的成本信息和网络参数信息,计算每两个节点之间的链路分值;
根据链路分值,确定内容分发网络中边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,其中,参考零跳路径是指边缘节点与其他节点之间直连,参考一跳路径是指边缘节点与其他节点之间存在一个中继节点;
将参考零跳路径、参考一跳路径与对应的起始节点、终止节点对应存储,构建内容分发网络的参考路径库。
可选地,至少一个分布节点为树结构;确定模块406进一步被配置为:
确定至少一个分布节点中是否仅存在根节点,其中,根节点为内容分发网络中的推流节点;
在至少一个分布节点中仅存在根节点的情况下,从参考路径库中查找边缘节点至至少一个分布节点中根节点的参考一跳路径,作为边缘节点的目标回源路径;
在至少一个分布节点中存在除根节点之外的节点的情况下,确定至少一个分布节点中是否存在临近分布节点,若存在,则从参考路径库中查找边缘节点至临近分布节点的参考零跳路径,作为边缘节点的目标回源路径,其中,临近分布节点为与边缘节点处于相同机房的分布节点。
可选地,确定模块406进一步被配置为:
在至少一个分布节点中不存在临近分布节点的情况下,确定至少一个分布节点对应的流观看人数;
根据流观看人数,确定边缘节点的目标回源路径。
可选地,确定模块406进一步被配置为:
在流观看人数小于人数阈值的情况下,确定边缘节点至各个分布节点的参考零跳路径,并根据各条参考零跳路径的链路分值,确定边缘节点的目标回源路径;
在流观看人数大于等于人数阈值的情况下,确定边缘节点至各个分布节点的参考一跳路径,并根据各条参考一跳路径的链路分值,确定边缘节点的目标回源路径。
可选地,该装置还包括第一执行模块,被配置为:
确定边缘节点是否位于至少一个分布节点中;
若位于至少一个分布节点中,则确定边缘节点的目标回源路径为空路径;
若不位于至少一个分布节点中,则执行根据至少一个分布节点的类型,确定边缘节点的目标回源路径的操作步骤。
可选地,该装置还包括查找模块,被配置为:
在未查找到待获取直播流的至少一个分布节点的情况下,从参考路径库中查找边缘节点至源站的参考一跳路径,作为边缘节点的目标回源路径。
可选地,该装置还包括更新模块,被配置为:
以预设时长为周期,获取当前周期内内容分发网络中每两个节点之间的更新成本信息和更新网络参数信息;
根据更新成本信息和更新网络参数信息,更新内容分发网络的参考路径库。
可选地,成本信息包括至少一个成本参数,网络参数信息包括至少一个网络参数;构建模块进一步被配置为:
确定成本信息中的各个成本参数,以及所述网络参数信息中的各个网络参数;
基于预先设置的参数和分值之间的对应关系,分别确定所述各个成本参数、各个网络参数对应的参数分值;
根据获得的各个参数分值,确定所述两个节点之间的链路分值。
可选地,构建模块进一步被配置为:
针对边缘节点至第一分布节点,将边缘节点至第一分布节点之间的各条候选一跳路径的链路分值进行排序,其中,第一分布节点为至少一个分布节点中的任一个;
根据预设选取规则,在排序结果中选择预设数量的候选一跳路径作为参考一跳路径。
可选地,成本信息为评估每两个节点之间的带宽成本的信息,网络参数信息为评估每两个节点之间的网络环境的信息,网络参数信息包括节点所处机房的网络带宽、丢包率、往返延时、节点拥塞程度中的至少一个。
本申请提供的直播回源装置,可以预先基于每两个节点之间的成本信息和网络参数信息,确定边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,构建参考路径库,后续基于起始节点和终止节点可以直接从该参考路径库中查询到对应的参考零跳路径和参考一跳路径。回源服务器接收到边缘节点发送的回源请求时,可以根据其中携带的流标识,查找待获取直播流的至少一个分布节点,然后根据至少一个分布节点的类型,从预先构建的参考路径库中确定边缘节点的目标回源路径,之后根据回源请求中携带的节点标识,将目标回源路径返回给边缘节点,以使边缘节点可以根据动态选择的目标回源路径进行回源,拉取所需的直播流。
上述为本实施例的一种直播回源装置的示意性方案。需要说明的是,该直播回源装置的技术方案与上述的直播回源方法的技术方案属于同一构思,直播回源装置的技术方案未详细描述的细节内容,均可以参见上述直播回源方法的技术方案的描述。
图5示出了根据本申请一实施例提供的一种计算设备的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,WideAreaNetwork)、个域网(PAN,PersonalArea Network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,Network Interface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,Wireless LocalArea Networks)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令:
接收边缘节点发送的回源请求,其中,回源请求携带待获取直播流的流标识和边缘节点的节点标识;
根据流标识,查找待获取直播流的至少一个分布节点;
根据至少一个分布节点的类型,确定边缘节点的目标回源路径,根据节点标识,将目标回源路径返回给边缘节点,其中,目标回源路径用于指示边缘节点进行回源获取待获取直播流。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的直播回源方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述直播回源方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时以用于实现直播回源方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的直播回源方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述直播回源方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
计算机指令包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种直播回源方法,其特征在于,应用于回源服务器,包括:
接收边缘节点发送的回源请求,其中,所述回源请求携带待获取直播流的流标识和所述边缘节点的节点标识;
根据所述流标识,查找所述待获取直播流的至少一个分布节点,其中,所述至少一个分布节点为树结构;
确定所述至少一个分布节点中是否仅存在根节点,其中,所述根节点为内容分发网络中的推流节点;
在所述至少一个分布节点中仅存在根节点的情况下,从参考路径库中查找所述边缘节点至所述至少一个分布节点中根节点的参考一跳路径,作为所述边缘节点的目标回源路径,其中,所述参考一跳路径是指所述边缘节点与所述根节点之间存在一个中继节点;
根据所述节点标识,将所述目标回源路径返回给所述边缘节点,其中,所述目标回源路径用于指示所述边缘节点进行回源获取所述待获取直播流。
2.根据权利要求1所述的直播回源方法,其特征在于,所述接收边缘节点发送的回源请求之前,还包括:
获取内容分发网络中每两个节点之间的成本信息和网络参数信息;
根据所述每两个节点之间的成本信息和网络参数信息,计算所述每两个节点之间的链路分值;
根据所述链路分值,确定所述内容分发网络中边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,其中,所述参考零跳路径是指所述边缘节点与所述其他节点之间直连,所述参考一跳路径是指所述边缘节点与其他节点之间存在一个中继节点;
将所述参考零跳路径、所述参考一跳路径与对应的起始节点、终止节点对应存储,构建所述内容分发网络的参考路径库。
3.根据权利要求2所述的直播回源方法,其特征在于,在所述确定所述至少一个分布节点中是否仅存在根节点之后,还包括:
在所述至少一个分布节点中存在除根节点之外的节点的情况下,确定所述至少一个分布节点中是否存在临近分布节点,若存在,则从所述参考路径库中查找所述边缘节点至所述临近分布节点的参考零跳路径,作为所述边缘节点的目标回源路径,其中,所述临近分布节点为与所述边缘节点处于相同机房的分布节点。
4.根据权利要求3所述的直播回源方法,其特征在于,所述确定所述至少一个分布节点中是否存在临近分布节点之后,还包括:
在所述至少一个分布节点中不存在所述临近分布节点的情况下,确定所述至少一个分布节点对应的流观看人数;
根据所述流观看人数,确定所述边缘节点的目标回源路径。
5.根据权利要求4所述的直播回源方法,其特征在于,所述根据所述流观看人数,确定所述边缘节点的目标回源路径,包括:
在所述流观看人数小于人数阈值的情况下,确定所述边缘节点至各个分布节点的参考零跳路径,并根据各条参考零跳路径的链路分值,确定所述边缘节点的目标回源路径;
在所述流观看人数大于等于人数阈值的情况下,确定所述边缘节点至各个分布节点的参考一跳路径,并根据各条参考一跳路径的链路分值,确定所述边缘节点的目标回源路径。
6.根据权利要求1-5任一项所述的直播回源方法,其特征在于,所述确定所述至少一个分布节点中是否仅存在根节点之前,还包括:
确定所述边缘节点是否位于所述至少一个分布节点中;
若位于所述至少一个分布节点中,则确定所述边缘节点的目标回源路径为空路径;
若不位于所述至少一个分布节点中,则执行所述确定所述至少一个分布节点中是否仅存在根节点的操作步骤。
7.根据权利要求1-5任一项所述的直播回源方法,其特征在于,所述根据所述流标识,查找所述待获取直播流的至少一个分布节点之后,还包括:
在未查找到所述待获取直播流的至少一个分布节点的情况下,从参考路径库中查找所述边缘节点至源站的参考一跳路径,作为所述边缘节点的目标回源路径。
8.根据权利要求2所述的直播回源方法,其特征在于,所述构建所述内容分发网络的参考路径库之后,还包括:
以预设时长为周期,获取当前周期内所述内容分发网络中每两个节点之间的更新成本信息和更新网络参数信息;
根据所述更新成本信息和所述更新网络参数信息,更新所述内容分发网络的参考路径库。
9.根据权利要求2所述的直播回源方法,其特征在于,所述成本信息包括至少一个成本参数,所述网络参数信息包括至少一个网络参数;
所述根据所述每两个节点之间的成本信息和网络参数信息,计算每两个节点之间的链路分值,包括:
确定所述成本信息中的各个成本参数,以及所述网络参数信息中的各个网络参数;
基于预先设置的参数和分值之间的对应关系,分别确定所述各个成本参数、所述各个网络参数对应的参数分值;
根据获得的各个参数分值,确定所述两个节点之间的链路分值。
10.根据权利要求2所述的直播回源方法,其特征在于,所述根据所述链路分值,确定所述内容分发网络中边缘节点至各个其他节点之间的参考零跳路径和参考一跳路径,包括:
针对所述边缘节点至第一分布节点,将所述边缘节点至所述第一分布节点之间的各条候选一跳路径的链路分值进行排序,其中,所述第一分布节点为所述至少一个分布节点中的任一个;
根据预设选取规则,在排序结果中选择预设数量的候选一跳路径作为所述参考一跳路径。
11.根据权利要求2所述的直播回源方法,其特征在于,所述成本信息为评估所述每两个节点之间的带宽成本的信息,所述网络参数信息为评估所述每两个节点之间的网络环境的信息,所述网络参数信息包括节点所处机房的网络带宽、丢包率、往返延时、节点拥塞程度中的至少一个。
12.一种直播回源装置,其特征在于,应用于回源服务器,包括:
接收模块,被配置为接收边缘节点发送的回源请求,其中,所述回源请求携带待获取直播流的流标识和所述边缘节点的节点标识;
查找模块,被配置为根据所述流标识,查找所述待获取直播流的至少一个分布节点,其中,所述至少一个分布节点为树结构;
确定模块,被配置为确定所述至少一个分布节点中是否仅存在根节点,其中,所述根节点为内容分发网络中的推流节点;在所述至少一个分布节点中仅存在根节点的情况下,从参考路径库中查找所述边缘节点至所述至少一个分布节点中根节点的参考一跳路径,作为所述边缘节点的目标回源路径,其中,所述参考一跳路径是指所述边缘节点与所述根节点之间存在一个中继节点;根据所述节点标识,将所述目标回源路径返回给所述边缘节点,其中,所述目标回源路径用于指示所述边缘节点进行回源获取所述待获取直播流。
13.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
接收边缘节点发送的回源请求,其中,所述回源请求携带待获取直播流的流标识和所述边缘节点的节点标识;
根据所述流标识,查找所述待获取直播流的至少一个分布节点,其中,所述至少一个分布节点为树结构;
确定所述至少一个分布节点中是否仅存在根节点,其中,所述根节点为内容分发网络中的推流节点;在所述至少一个分布节点中仅存在根节点的情况下,从参考路径库中查找所述边缘节点至所述至少一个分布节点中根节点的参考一跳路径,作为所述边缘节点的目标回源路径,其中,所述参考一跳路径是指所述边缘节点与所述根节点之间存在一个中继节点;根据所述节点标识,将所述目标回源路径返回给所述边缘节点,其中,所述目标回源路径用于指示所述边缘节点进行回源获取所述待获取直播流。
14.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述直播回源方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210324997.0A CN114760482B (zh) | 2022-03-30 | 2022-03-30 | 直播回源方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210324997.0A CN114760482B (zh) | 2022-03-30 | 2022-03-30 | 直播回源方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114760482A CN114760482A (zh) | 2022-07-15 |
CN114760482B true CN114760482B (zh) | 2024-02-27 |
Family
ID=82328448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210324997.0A Active CN114760482B (zh) | 2022-03-30 | 2022-03-30 | 直播回源方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114760482B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115460427B (zh) * | 2022-08-26 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | 直播调度方法、装置、计算设备和存储介质 |
CN115412737B (zh) * | 2022-08-30 | 2024-03-08 | 上海哔哩哔哩科技有限公司 | 直播回源中继节点确定方法及装置 |
CN115643203A (zh) * | 2022-09-15 | 2023-01-24 | 阿里巴巴(中国)有限公司 | 内容分发方法、装置、内容分发网络、设备及介质 |
CN117834956B (zh) * | 2023-12-18 | 2024-06-21 | 北京联广通网络科技有限公司 | 一种资源分发回源的直播视频加速系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001058237A2 (en) * | 2000-02-12 | 2001-08-16 | Hrl Laboratories, Llc | Scalable unidirectional routing for mobile ad-hoc networks |
CN108200443A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇虎科技有限公司 | 一种直播流的分发方法和装置 |
CN109769023A (zh) * | 2019-01-16 | 2019-05-17 | 网宿科技股份有限公司 | 一种数据传输方法、相关服务器和存储介质 |
CN111263171A (zh) * | 2020-02-25 | 2020-06-09 | 北京达佳互联信息技术有限公司 | 直播流的流媒体数据获取方法、边缘节点区域组网系统 |
CN111385198A (zh) * | 2018-12-29 | 2020-07-07 | 北京华为数字技术有限公司 | 路径确定方法、装置及通信系统 |
CN112822105A (zh) * | 2019-11-15 | 2021-05-18 | 华为技术有限公司 | 路径规划方法及装置、数据传输系统 |
CN112929676A (zh) * | 2019-12-06 | 2021-06-08 | 北京金山云网络技术有限公司 | 一种直播数据流获取方法、装置、节点及系统 |
CN113301364A (zh) * | 2021-01-05 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 路径规划方法、cdn连接建立方法、设备及存储介质 |
-
2022
- 2022-03-30 CN CN202210324997.0A patent/CN114760482B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001058237A2 (en) * | 2000-02-12 | 2001-08-16 | Hrl Laboratories, Llc | Scalable unidirectional routing for mobile ad-hoc networks |
CN108200443A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇虎科技有限公司 | 一种直播流的分发方法和装置 |
CN111385198A (zh) * | 2018-12-29 | 2020-07-07 | 北京华为数字技术有限公司 | 路径确定方法、装置及通信系统 |
CN109769023A (zh) * | 2019-01-16 | 2019-05-17 | 网宿科技股份有限公司 | 一种数据传输方法、相关服务器和存储介质 |
CN112822105A (zh) * | 2019-11-15 | 2021-05-18 | 华为技术有限公司 | 路径规划方法及装置、数据传输系统 |
CN112929676A (zh) * | 2019-12-06 | 2021-06-08 | 北京金山云网络技术有限公司 | 一种直播数据流获取方法、装置、节点及系统 |
CN111263171A (zh) * | 2020-02-25 | 2020-06-09 | 北京达佳互联信息技术有限公司 | 直播流的流媒体数据获取方法、边缘节点区域组网系统 |
CN113301364A (zh) * | 2021-01-05 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 路径规划方法、cdn连接建立方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114760482A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114760482B (zh) | 直播回源方法及装置 | |
EP3595268B1 (en) | Streaming media resource distribution method, system, edge node and central dispatching system | |
US10225619B2 (en) | Method and system for adaptive virtual broadcasting of digital content | |
WO2018133306A1 (zh) | 内容分发网络中的调度方法和设备 | |
CN114501073B (zh) | 直播回源方法及装置 | |
CN106941507B (zh) | 请求消息的调度方法及装置 | |
CN113811013B (zh) | 集群容量动态调节方法、设备、存储介质和通信系统 | |
US20230119540A1 (en) | Content delivery system special network device and special local area network connection, content discovery, data transfer, and control methods | |
CN114679604B (zh) | 资源处理方法及装置 | |
CN113055692A (zh) | 数据处理方法及装置 | |
CN115002497B (zh) | 直播回源的调度方法及系统、回源服务器 | |
CN103763206A (zh) | 一种网络调度方法及网关 | |
CN101854287B (zh) | 一种p2p流量优化方法及装置 | |
EP3902279A1 (en) | Audio and video stream distribution method in audio and video stream distribution system, and dynamic parent node | |
WO2016180284A1 (zh) | 服务节点分配方法、装置、cdn管理服务器及系统 | |
US20230224548A1 (en) | Streaming Assistance System and Computer-Implemented Method | |
CN114501053B (zh) | 直播流获取方法及装置 | |
CN115022660B (zh) | 内容分发网络的参数配置方法及系统 | |
Sun et al. | Beyond 1 million nodes: A crowdsourced video content delivery network | |
CN114866790B (zh) | 直播流调度方法及装置 | |
Hu et al. | A novel video transmission optimization mechanism based on reinforcement learning and edge computing | |
CN112788135B (zh) | 资源调度方法、设备及存储介质 | |
CN110139126B (zh) | 基于用户交互行为感知的移动视频系统资源共享方法 | |
He et al. | Towards smart routing: Exploiting user context for video delivery in mobile networks | |
CN110581802A (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 |