CN115022177A - Cdn系统、回源方法、cdn节点及存储介质 - Google Patents
Cdn系统、回源方法、cdn节点及存储介质 Download PDFInfo
- Publication number
- CN115022177A CN115022177A CN202210648130.0A CN202210648130A CN115022177A CN 115022177 A CN115022177 A CN 115022177A CN 202210648130 A CN202210648130 A CN 202210648130A CN 115022177 A CN115022177 A CN 115022177A
- Authority
- CN
- China
- Prior art keywords
- cdn
- node
- source
- resource content
- target resource
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 322
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004590 computer program Methods 0.000 claims description 25
- 238000013507 mapping Methods 0.000 claims description 23
- 238000012384 transportation and delivery Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 32
- 230000001133 acceleration Effects 0.000 abstract description 21
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
Abstract
本申请实施例提供一种CDN系统、回源方法、CDN节点及存储介质。在本申请实施例中,在CDN系统中新增一种CDN源端节点作为CDN系统内的数据源端,并区分源内CDN节点和源外CDN节点,在CDN源端节点中还包括能够为源内CDN节点提供存储服务的存储节点,负责存储内容提供方的资源内容;这样,源内CDN节点在确定与其网络连接的源外CDN节点及其自身均未缓存有用户请求的资源内容时,可以从存储节点中获取目标资源内容并经与上述源外CDN节点提供给用户。由此可见,在本申请实施例中,内容提供方无需额外准备数据源端,回源过程可被收敛在CDN系统内部,能够为用户提供一体化的CDN加速体验,节约回源过程对出网资源的消耗。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种CDN系统、回源方法、CDN节点及存储介质。
背景技术
内容分发网络(Content Delivery Network,CDN)作为缓存加速网络,通常采用二级缓存结构,即包括两级CDN节点,第一级CDN节点更加靠近用户,第二级CDN节点更加靠近源站(Origin Server)。当第一级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节点提供存储服务的存储节点,负责存储内容提供方的资源内容;这样,源内CDN节点在确定与其网络连接的源外CDN节点及其自身均未缓存有用户请求的资源内容时,可以从存储节点中获取目标资源内容并经与其网络连接的源外CDN节点提供给用户。由此可见,在本申请实施例中,内容提供方无需额外准备数据源端,回源过程可被收敛在CDN系统内部,能够为用户提供一体化的CDN加速体验,节约回源过程对出网资源的消耗。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请示例性实施例提供的一种CDN系统的结构示意图;
图1b为本申请示例性实施例提供的另一种CDN系统的结构示意图;
图1c为本申请示例性实施例提供的基于边缘云系统承载的CDN系统的结构示意图;
图2a为本申请示例性实施例提供的一种回源方法的流程示意图;
图2b为本申请示例性实施例提供的另一种回源方法的流程示意图;
图3a为本申请示例性实施例提供的一种回源装置的结构示意图;
图3b为本申请示例性实施例提供的另一种回源装置的结构示意图;
图4为本申请示例性实施例提供的一种CDN节点的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有CND在回源过程中需要消耗出网带宽资源的技术问题,在本申请实施例中,在CDN系统中新增一种CDN源端节点作为CDN系统内的数据源端,并区分源内CDN节点和源外CDN节点,在CDN源端节点中还包括能够为源内CDN节点提供存储服务的存储节点,负责存储内容提供方的资源内容;这样,源内CDN节点在确定与其网络连接的源外CDN节点及其自身均未缓存有用户请求的资源内容时,可以从存储节点中获取目标资源内容并经与其网络连接的源外CDN节点提供给用户。由此可见,在本申请实施例中,内容提供方无需额外准备数据源端,回源过程可被收敛在CDN系统内部,能够为用户提供一体化的CDN加速体验,节约回源过程对出网资源的消耗。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1a为本申请示例性实施例提供的一种CDN系统的结构示意图。如图1a所示,该CDN系统100包括:多个源外CDN节点11,以及至少一个CDN源端节点10;其中,每个CDN源端节点10包括:源内CDN节点12和为该源内CDN节点12提供存储服务的存储节点13。
在本实施例的CDN系统中,增加至少一个CDN源端节点10作为CDN系统内的数据源端,并将CDN系统中的CDN节点区分为源内CDN节点12和源外CDN节点11,位于CDN源端节点10内部的CDN节点称为源内CDN节点12,位于CDN源端节点10外部的CDN节点作为源外CDN节点11。源内CDN节点12和源外CDN节点11都属于CDN节点,都具有本地缓存能力,可以在本地缓存用户请求过的资源内容,以便于为用户就近提供资源内容,提高用户获取所需资源内容的效率,实现加速目的。也就是说,本实施例中的源内CDN节点12首先具有CDN加速功能。
在本实施例中,CDN源端节点10作为数据源端,是内容提供方的资源内容在CND系统100内的源头,即内容提供方的资源内容首先被上传至至少一个CDN源端节点10上,源外CDN节点11和源内CDN节点12本地缓存的资源内容均都来自于至少一个CDN源端节点10。在CND系统100中,CDN源端节点10的数量可以是一个,也可以是多个,在图1a中以多个为例进行图示。在CDN源端节点10为多个的情况下,不同CDN源端节点10中所存储的资源内容可以相同,也可以不相同,对此不做限定。需要说明的是,不同CDN源端节点10之间可以针对资源内容进行同步。另外,在CND系统100中,CDN源端节点10可以是动态变化的,即CDN源端节点10可以在需求的时候动态创建,也可以在不需要的时候动态取消。
为了让CDN源端节点10实现数据源端的功能,如图1a所示,每个CDN源端节点10包括:源内CDN节点12和为该源内CDN节点12提供存储服务的存储节点13。其中,CDN源端节点10中的存储节点13负责存储内容提供方的资源内容;CDN源端节点10中的源内CDN节点12除了具有CDN加速功能之外,还能够在存储节点13存储的资源内容的基础上执行回源处理逻辑,即源内CDN节点12还具有回源处理功能。具体地,源内CDN节点12至少与一个源外CDN节点11网络连接,用于在与其网络连接的源外CDN节点11及其自身均未缓存有用户请求的目标资源内容的情况下,从目标存储节点13获取所述目标资源内容,并经与其网络连接的源外CDN节点11提供给用户。其中,目标存储节点13是至少一个CDN源端节点10中存储有目标资源内容的存储节点13,当然,用户请求的目标资源内容是内容提供方的至少部分资源内容。可选地,目标存储节点13可以是源内CDN节点12所在CDN源端节点10中的存储节点13,也可以是其它CDN源端节点10中的存储节点13,对此不做限定。
在本实施例中,多个源外CDN节点11分布于不同位置,相对于源内CDN节点12,这些源外CDN节点11更加靠近用户,这些源外CDN节点11主要负责响应用户通过其终端设备发起的资源请求并为用户提供所需的资源内容。其中,源外CDN节点11在接收到用户通过其终端设备发起的资源请求之后,可以查询本地缓存中是否存在用户请求的目标资源内容;若在本地缓存中查询到用户请求的目标资源内容,直接向用户的终端设备返回目标资源内容;若在本地缓存中没有查询到用户请求的目标资源内容,那么该源外CDN节点11需要采用回源机制从其上一级源外CDN节点11或CDN源端节点10获取目标资源内容并返回给用户的终端设备。
需要说明的是,在一些可选实施例中,CDN系统多采用多级缓存结构,可以是二级或者三级等,在图1a中以二级缓存结构为例进行图示,但并不限于此。在CDN节点采用二级缓存结构的情况下,可以将CDN节点划分为第一级CDN节点L1和第二级CD节点L2。相对而言,第一级CDN节点L1更加靠近边缘,第二级CD节点L2更加靠近中心。在一可选实施例中,源外CDN节点11包括第一级CDN节点L1,源内CDN节点12包括第二级CDN节点L2,如图1a所示。在另一可选实施例中,源外CDN节点11包括第一级CDN节点L1和第二级CDN节点L2;相应地,源内CDN节点12包括第二级CDN节点L2。
对于源外CDN节点11仅包含第一级CDN节点的情况,作为第一级CDN节点的源外CDN节点11在本地缓存中没有查询到用户请求的目标资源内容的情况下,需要采用回源机制从与其网络连接的CDN源端节点10获取目标资源内容并返回给用户的终端设备。
对于源外CDN节点11同时包含第一级CDN节点和第二级CDN节点的情况,作为第一级CDN节点的源外CDN节点11在本地缓存中没有查询到用户请求的目标资源内容的情况下,如果作为第一级CDN节点的源外CDN节点11存在上一级源外CDN节点,即作为第二级CDN节点的源外CDN节点11,则可以采用回源机制首先从其上一级源外CDN节点获取目标资源内容并返回给用户的终端设备。进一步,若作为第二级CDN节点的源外CDN节点11在本地缓存中没有查询到用户请求的目标资源内容的情况下,需要采用回源机制从与其网络连接的CDN源端节点10获取目标资源内容并经作为第一级CDN节点的源外CDN节点11返回给用户的终端设备。
其中,无论是作为第一级CDN节点的源外CDN节点11,还是作为第二级CDN节点的源外CDN节点11,采用回源机制从与其网络连接的CDN源端节点10获取目标资源内容的过程为:作为第一级CDN节点的源外CDN节点11或作为第二级CDN节点的源外CDN节点11在本地缓存中没有查询到用户请求的目标资源内容的情况下,向与其网络连接的CDN源端节点10中的源内CDN节点12发送回源请求,该回源请求中包含目标资源内容的标识信息,用于标识需要请求目标资源内容。目标资源内容的标识信息可以是URL、名称或ID等。
相应地,对于任一CDN源端节点10中的源内CDN节点12,该源内CDN节点12可以接收与其网络连接的源外CDN节点11发送的回源请求,据此确定与其网络连接的源外CDN节点11本地未缓存有用户请求的目标资源内容;之后,源内CDN节点12首先发挥CDN加速功能,即查询本地缓存中是否存在目标资源内容,若在本地缓存中查询到目标资源内容,则将查询到的目标资源内容返回给与其网络连接的源外CDN节点11,以使与其网络连接的源外CDN节点11将目标资源内容发送给用户终端。
进一步,若未在本地缓存中查询到目标资源内容,则源内CDN节点12继续发挥回源处理功能,即从至少一个CDN源端节点10中的存储节点13中选择出存储有目标资源内容的目标存储节点,从目标存储节点获取目标资源内容,并经与其网络连接的源外CDN节点11提供给用户的终端设备。
进一步可选地,在选择目标存储节点时,源内CDN节点12可以优先选择自身所属CDN源端节点10中的存储节点13,如果源内CDN节点12自身所属CDN源端节点10中的存储节点13中未存储有目标资源内容,再考虑其他CDN源端节点10中的存储节点13。基于此,在源内CDN节点12因为未在本地缓存中查询到目标资源内容,需要发挥回源处理功能的情况下,该源内CDN节点12可以先查询其所属CDN源端节点10中的存储节点13中是否存储有目标资源内容;若其所属CDN源端节点10中的存储节点13存储有目标资源内容,将其所属CDN源端节点10中的存储节点13作为目标存储节点,从该目标存储节点中获取目标资源内容,并经与其网络连接的源外CDN节点11提供给用户。
进一步可选地,若源内CDN节点12所属CDN源端节点10中的存储节点13未存储有目标资源内容,还可以根据预先维护的各存储节点与资源内容之间的存储映射关系,从其它CDN源端节点10中选择存储有目标资源内容的目标存储节点;从目标存储节点获取目标资源内容。
进一步可选地,在根据预先维护的各存储节点与资源内容之间的存储映射关系,从其它CDN源端节点10中选择存储有目标资源内容的目标存储节点的包括:若根据上述存储映射关系确定其它CDN源端节点10中存储有目标资源内容的存储节点只有一个,则可以直接将该存储节点作为目标存储节点;若根据上述存储映射关系确定其它CDN源端节点10中存储有目标资源内容的存储节点有多个,则根据存储节点所属CDN源端节点的位置信息、存储节点的负载信息以及可用带宽资源中至少一种属性信息,从多个存储有目标资源内容的存储节点中,选择目标存储节点。
例如,源内CDN节点12可以根据其所属CDN源端节点的位置信息,以及存储有目标资源内容的存储节点所属的其它CDN源端节点的位置信息,计算该源内CDN节点12所属CDN源端节点10与各个存储有目标资源内容的存储节点所属的其它CDN源端节点10之间的距离,从中选择距离小于设定距离阈值,或者选择距离最短的一个存储节点13,作为目标存储节点。这样,源内CDN节点12可以做到就近获取目标资源内容,有利于提高获取目标资源内容的效率。
又例如,源内CDN节点12可以从多个存储有目标资源内容的存储节点中,选择负载信息较轻的存储节点13作为目标存储节点。这样,可以在各存储节点之间进行负载均衡,有利于减轻各存储节点的负载。
又例如,源内CDN节点12可以同时结合存储节点的负载信息和可用带宽资源,从多个存储有目标资源内容的存储节点中,选择负载信息较轻且可用带宽资源较多的存储节点作为目标存储节点。这样,既能考虑存储节点之间的负载均衡,也能保证源内CDN节点及时获取目标资源内容。
在上述实施例中,各存储节点与资源内容之间的存储映射关系中存储有各CDN源端节点中存储节点的标识信息以及该存储节点上存储的资源内容的标识信息。基于该存储映射关系可以获知哪个CDN源端节点10中的存储节点13上存储有哪些资源内容。另外,该存储映射关系会跟随资源内容以及存储节点的更新而动态更新。在本申请实施例中,并不限定该存储映射关系的存储位置。例如,该存储映射关系可以位于每个存储节点13本地,每个CDN源端节点10中的源内CDN节点12可以查询该CDN源端节点10中存储节点13上的存储映射关系,从而确定哪些存储节点13上存储有目标资源内容。又例如,每个CDN源端节点10中的源内CDN节点12可以维护该存储映射关系,这样,可以直接查询本地维护的该存储映射关系,确定哪些存储节点13上存储有目标资源内容。
又例如,如图1b所示,本实施例的CDN系统还包括存储中心节点14,该存储中心节点14负责存储和维护该存储映射关系。在该实施例中,源内CDN节点12可以请求存储中心节点,存储中心节点查询所维护的存储映射关系确定哪些存储节点13上存储有目标资源内容,并将其它CDN源端节点10中存储有目标资源内容的存储节点的标识信息提供给源内CDN节点12,源内CDN节点12从中选择目标存储节点之后,从目标存储节点获取目标资源内容。其中,存储节点的标识信息可以是但不限于其IP地址、名称或ID等。
进一步,本实施例中的存储中心节点除了负责维护上述存储映射关系之外,还可以针对各CDN源端节点10中的存储节点13进行各种管理。例如,存储中心节点可以控制各存储节点13进行资源内容的同步,或者,存储中心节点可以控制各存储节点13进行资源内容的获取,或者,存储中心节点还可以监测各存储节点13的运行状态、资源使用情况等等。
在本申请实施例中,各CDN源端节点10中的存储节点13负责存储内容提供方的资源内容,但是,在本实施例中,并不限定各存储节点13获取资源内容的方式。在一可选实施例中,各CDN源端节点10可以直接作为内容提供方的数据源端(可简称为源站)对外暴露给内容提供方,基于此,内容提供方可以直接将自己的资源内容上传至一个或多个CDN源端节点10中的存储节点13上进行存储;也就是说,各CDN源端节点10中的存储节点13可接收内容提供方上传的资源内容并存储在本地。
在另一可选实施例中,如图1b所示,存储节点13还可以预先从外部数据源端15获取资源内容并存储在本地。其中,该外部数据源端15是指内容提供方自己部署的数据源端,是与CDN源端节点10不同的数据源端。外部数据源端15至少与部分CDN源端节点10中的存储节点13网络连接,在该实施例中,内容提供方可以将自己的资源内容上传至外部数据源端15,并由该外部数据源端15向各CDN源端节点10中的存储节点13提供资源内容;相应地,每个存储节点13可以预先从外部数据源端获取资源内容并存储在本地。
可选地,外部数据源端向各CDN源端节点10中的存储节点13提供资源内容的方式包括:外部数据源端可以根据内容提供方的上传操作,每当内容提供方向外部数据源端上传资源内容时,将最新上传的资源内容提供给与其网络连接的存储节点13。或者,也可以由存储中心节点控制与外部数据源端网络连接的存储节点13定期从外部数据源端获取最新的资源内容。
进一步可选地,如果与外部数据源端网络连接的存储节点13是CDN系统中的部分存储节点13,则这部分存储节点13还可以向其它存储节点13同步从外部数据源端获取到的最新资源内容。
另外,需要说明的是,CDN源端节点10中的存储节点13从外部数据源端获取资源内容的频率较低,这对CDN系统的出网带宽资源的消耗不会太大;而且,优选地,可以在系统空闲时段从外部数据源端获取资源内容,这样不影响CDN系统的加速效率。
无论是从外部数据源端获取资源内容,还是接收内容提供方直接上传的资源内容,针对CDN源端节点10采用分布式部署方式,即在CDN系统中包含多个CDN源端节点10,且多个CDN源端节点10分布在不同位置。则在分布式的CDN源端节点10内部的存储节点13之间可以针对内容提供方的资源内容进行同步,使得这些CDN源端节点10中的源内CDN节点12能够及时响应回源请求,在保证用户访问成功率的同时,进一步提高用户访问的响应速度,使得CDN系统能够提供更好的加速效果,减少时延。
具体地,对各CDN源端节点10中的存储节点13而言,可以按照约定的资源同步策略在彼此之间进行资源同步。其中,该资源同步策略包括但不限于以下至少一种:周期同步策略、空闲时段同步策略、单点存储事件同步策略以及超存储水位同步策略。其中,周期同步策略是指各存储节点之间按照设定的同步周期,每当同步周期到达时,各存储节点之间执行资源内容的同步操作。空闲时段同步策略是指各存储节点在监测到进入空闲时段的情况下,执行资源内容的同步操作。需要说明的是,各存储节点的空闲时段相同,或者存在时间重叠,各存储节点可在空闲时段中重叠时间内进行资源内容的同步操作。单点存储事件同步策略是指各存储节点监测是否发生单点存储事件,当发生单点存储事件时,发生单点存储事件的存储节点之间执行资源内容的同步操作。单点存储事件包括:同一资源内容只在一个存储节点上存储的事件,则可由存储该资源内容的存储节点发起资源同步操作,即将该资源内容发送给其它存储节点进行存储。超存储水位同步策略是指各存储节点监测自己的存储空间的使用情况,当存储空间的使用率超过了存储水位时,该存储节点可以发起资源内容同步操作,即将本地存储的至少部分资源内容发送给其它存储节点进行存储。
在本申请各实施例中,CDN系统可承载于各种物理网络之上,对此不做限定。在本申请一些可选实施例中,考虑到边缘云技术的日渐成熟、标准趋于统一,将CDN系统与边缘云相结合,一方面由边缘云节点承载CDN系统中的CDN节点,即源内CDN节点和源外CDN节点,另一方面,借助于边缘云节点的存储能力为源内CDN节点提供存储服务,使得源内CDN节点在具备加速能力的同时还能具备数据源端的存储能力,这样源内CDN节点和存储节点相结合可实现为CDN系统内的数据源端,使得内容提供方无需额外准备数据源端,而且回源过程可由源内CDN节点和存储节点配合完成,相当于被收敛在了CDN系统内部,不仅能够为用户提供一体化的CDN加速体验,而且还能节约回源过程对出网资源的消耗。
如图1c所示,在由边缘云系统承载的CDN系统中,源外CDN节点11和CDN源端节点10分别由边缘云节点承载。在一可选实施例中,每个源外CDN节点11分别由一个边缘云节点承载;相应地,每个CDN源端节点10分别由一个边缘云节点承载,也就是说,同一CDN源端节点10中的源内CDN节点12和存储节点13由同一边缘云节点承载。在该可选实施例中,回源操作不仅会收敛在整个CDN系统内部,进一步可以收敛到同一边缘云节点中,能够极大地提高回源操作的效率,减少时延。在图1c中,以每个源外CDN节点11由一个边缘云节点承载,且同一CDN源端节点10中的源内CDN节点12和存储节点13由同一边缘云节点承载为例进行图示,但并不限于此。
例如,在一些可选实施例中,同一边缘云节点上可以同时承载一个或多个源外CDN节点11。在一些可选实施例中,同一CDN源端节点10中的存储节点13和源内CDN节点12由不同的边缘云节点承载,优选地,用于承载同一CDN源端节点10中的存储节点13和源内CDN节点12的不同边缘云节点之间在距离、负载或资源容量等属性维度上可满足设定的要求。例如,可以由距离较近的两个边缘云节点分别承载同一CDN源端节点10中的存储节点13和源内CDN节点12,这样,回源操作可以在就近的边缘云节点上完成,可以提高回源效率,减少时延。或者,可由负载相对较轻的两个边缘云节点分别承载同一CDN源端节点10中的存储节点13和源内CDN节点12,这样,可以保证回源操作具有较高的执行效率,进而提高回源效率。或者,可由资源容量相对较多的两个边缘云节点分别承载同一CDN源端节点10中的存储节点13和源内CDN节点12。或者,同时结合距离、负载或资源容量等多个属性维度,例如选择距离较近且负载较轻的两个边缘云节点分别承载同一CDN源端节点10中的存储节点13和源内CDN节点12,或者,选择距离较近且资源容量较多的两个边缘云节点分别承载同一CDN源端节点10中的存储节点13和源内CDN节点12,等等。
进一步,结合图1c所示CDN系统,对本申请实施例中的回源过程进行描述,具体如下:
如图1c中的①所示,用户像源外CDN节点11发送资源请求,以请求目标资源内容;如图1c中的②所示,源外CDN节点11查询本地缓存中是否存在目标资源内容;如果存在,则执行图1c中的③,向用户返回目标资源内容;如果不存在,执行图1c中的④,即向与其网络连接的源内CND节点发送回源请求,以请求目标资源内容;如图1c中的⑤所示,源内CDN节点12查询本地缓存中是否存在目标资源内容;如果存在,则执行图1c中的⑥,经与其网络连接的源外CDN节点11向用户返回目标资源内容;如果不存在,则执行图1c中的⑦,通过存储中心节点查询其所在CDN源端节点10中的存储节点13上是否存在目标资源内容;如果存在,则执行图1c中的⑧,即从其所在CDN源端节点10中的存储节点13上获取目标资源内容,进而执行图1c中的⑥,即经与其网络连接的源外CDN节点11向用户返回目标资源内容。在此说明,每个源外CDN节点11可以与一个或多个源内CDN节点连接。在一个源外CDN节点与多个源内CDN节点12连接的情况下,在回源过程中,可以按照一定策略规划回源路径,该回源路径上包括一个源内CDN节点12,并向该汇源路径上的源内CDN节点发送回源请求,关于回源路径的规划方式本申请实施例对此不做限定。
在一可选实施例中,如果源内CDN节点12所在CDN源端节点10中的存储节点13上不存在目标资源内容,可选地,在图1c中的⑦中,存储中心节点会返回存储有目标资源内容的其它存储节点13的标识信息,则如图1c中的⑨所示,源内CDN节点12从其它CDN源端节点10中的存储节点13上获取目标资源内容,并执行图1c中的⑥,即经与其网络连接的源外CDN节点11向用户返回目标资源内容。
在上述实施例中,源内CDN节点在确定与其网络连接的源外CDN节点及其自身均未缓存有用户请求的资源内容时,可以从CDN源端节点的存储节点中获取目标资源内容并经与其网络连接的源外CDN节点提供给用户,回源过程可被收敛在CDN系统内部,能够为用户提供一体化的CDN加速体验,节约回源过程对出网资源的消耗。
本申请实施例提供的CDN系统可应用于各种加速场景,例如,直播场景、视频会议场景、短时延的RTC直播场景等。相应地,根据应用场景的不同,内容提供方也会有所不同。下面举例说明:
在直播场景中,包括播放端、主播端以及本申请上述实施例提供的CDN系统,关于CDN系统的结构不再赘述。主播端拍摄直播视频,将直播视频上传至CDN系统中CDN源端节点中的存储节点。用户想要观看主播端推送的直播视频,可以通过播放端发起观看,播放端响应用户发起的直播播放操作,向CDN系统中的第一源外CDN节点发送播放请求,该播放请求中包括:直播流的URL。第一源外CDN节点接收该播放请求,查询本地缓存中是否存在用户请求的直播视频;如果存在,则向播放端返回直播视频,如果不存在,向与其网络连接的第一源内CDN节点发送回源请求,回源请求中包含直播流的URL。第一源内CDN节点查询本地缓存中是否存在用户请求的直播视频;如果存在,则经第一源外CDN节点向播放端返回直播视频;如果不存在,通过存储中心节点查询其所在CDN源端节点中的存储节点上是否存在用户请求的直播视频。如果存储中心节点返回存在指示信息,第一源外CDN节点从其所在CDN源端节点中的存储节点上获取直播视频,并经第一源外CDN节点向播放端返回直播视频。如果存储中心节点返回存储有直播视频的其它存储节点的标识信息,第一源内CDN节点根据其它存储节点的标识信息,从其它存储节点上获取直播视频,并经第一源外CDN节点向播放端返回直播视频。在直播场景中,回源过程可被收敛在CDN系统内部,能够为用户提供一体化的CDN加速体验,节约回源过程对出网资源的消耗。
在视频会议场景中,包括:多个会议终端,以及本申请上述实施例提供的CDN系统,关于CDN系统的结构不再赘述。每个会议终端加入视频会议后,会议中会存在当前发言人和未发言人,当前发言人的会议终端可以采集当前发言人所在环境中的会议视频流并向CDN系统中推流,当前未发言人的会议终端可以向CDN系统拉取当前发言人推送的会议视频流,获知当前发言人的发言内容等信息,从而实现多端参与的远程视频会议。在本实施例中,以第一会议终端是发言人的会议终端,第二会议终端是未发言人的会议为例进行说明。
具体地,第一会议终端将会议视频流推送至CDN系统中CDN源端节点中的存储节点上。第二会议终端希望获取第一会议终端的会议视频流,第二会议终端响应于用户发起的参会操作,向CDN系统中的第二源外CDN节点发送会议请求,该会议请求中包括:会议视频流的URL。第二源外CDN节点接收该会议请求,查询本地缓存中是否存在用户请求的会议视频流;如果存在,则向第二会议终端返回会议视频流,如果不存在,向与其网络连接的第二源内CDN节点发送回源请求,回源请求中包含直播流的URL。第二源内CDN节点查询本地缓存中是否存在用户请求的会议视频流;如果存在,则经第二源外CDN节点向第二会议终端返回会议视频流;如果不存在,通过存储中心节点查询其所在CDN源端节点中的存储节点上是否存在用户请求的会议视频流。如果存储中心节点返回存在指示信息,第二源外CDN节点从其所在CDN源端节点中的存储节点上获取会议视频流,并经第二源外CDN节点向第二会议终端返回会议视频流。如果存储中心节点返回存储有会议视频流的其它存储节点的标识信息,第二源内CDN节点根据其它存储节点的标识信息,从其它存储节点上获取会议视频流,并经第二源外CDN节点向第二会议终端返回会议视频流。在视频会议场景中,回源过程可被收敛在CDN系统内部,能够为用户提供一体化的CDN加速体验,节约回源过程对出网资源的消耗。
图2a为本申请示例性实施例提供的一种回源方法的流程示意图。该回源方法适用于上述CDN系统中任一CDN源端节点中的源内CDN节点,该任一CDN源端节点是CDN系统中的数据源端,还包括负责存储内容提供方的资源内容的存储节点,关于CDN系统的结构描述可参见前述实施例,在此不再赘述。如图2a所示,该方法包括:
21a、确定CDN系统中与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有用户请求的目标资源内容;
22a、从目标存储节点获取目标资源内容,该目标存储节点是CDN系统中至少一个CDN源端节点中存储有目标资源内容的存储节点;
23a、将目标资源内容经与该源内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加速体验,节约回源过程对出网资源的消耗。
图2b为本申请示例性实施例提供的另一种回源方法的流程示意图。该回源方法适用于上述CDN系统中的任一源外CDN节点,该CDN系统还包括CDN源端节点,CDN源端节点包括源内CDN节点和存储节点,关于CDN系统的结构描述可参见前述实施例,在此不再赘述。如图2b所示,该方法包括:
21b、在本地未缓存有用户请求的目标资源内容的情况下,向CDN系统中与该源外CDN节点网络连接的源内CDN节点发送回源请求,以请求目标资源内容;
22b、接收与该源外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系统实施例中的相关描述,在此不再赘述。
需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如21a、22a等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图3a为本申请示例性实施例提供的一种回源装置的结构示意图。该回源装置可应用于上述CDN系统中任一CDN源端节点中的源内CDN节点中实现,如图3a所示,该回源装置包括:确定模块31a、获取模块32a和提供模块33a。
确定模块31a,用于确定CDN系统中与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有用户请求的目标资源内容。
获取模块32a,用于从目标存储节点获取目标资源内容,目标存储节点是CDN系统中至少一个CDN源端节点中的存储节点,作为数据源端负责存储内容提供方的资源内容。
提供模块33a,用于将目标资源内容经与该源内CDN节点网络连接的源外CDN节点提供给用户,目标资源内容是内容提供方的至少部分资源内容。
在一可选实施例中,确定模块31a具体用于:接收与该源内CDN节点网络连接的源外CDN节点发送的回源请求,查询本地缓存中是否存在目标资源内容,回源请求用于请求目标资源内容;若未在本地缓存中查询到目标资源内容,确定与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有目标资源内容。
在一可选实施例中,获取模块32a具体用于:查询该源内CDN节点所属CDN源端节点中的存储节点中是否存储有目标资源内容;若该源内CDN节点所属CDN源端节点中的存储节点中存储有目标资源内容,将该源内CDN节点所属CDN源端节点中的存储节点作为目标存储节点;从目标存储节点中获取目标资源内容,并经与其网络连接的源外CDN节点提供给用户。
进一步可选地,获取模块32a还用于:若该源内CDN节点所属CDN源端节点中的存储节点未存储有目标资源内容,根据预先维护的各存储节点与资源内容之间的存储映射关系,从其它CDN源端节点中选择存储有目标资源内容的目标存储节点,并从目标存储节点获取目标资源内容。
在一可选实施例中,获取模块32a在从其它CDN源端节点中选择存储有目标资源内容的目标存储节点时,具体用于:若根据存储映射关系确定其它CDN源端节点中存储有目标资源内容的存储节点有多个,则根据存储节点所属CDN源端节点的位置信息、存储节点的负载信息以及可用带宽资源中至少一种属性信息,从多个存储有目标资源内容的存储节点中,选择目标存储节点。
关于本申请实施例中功能模块的详细功能,可参见前述CDN系统实施例中的相关描述,在此不再赘述。采用本实施例的回源装置可以将回源过程收敛在CDN系统内部,能够为用户提供一体化的CDN加速体验,节约回源过程对出网资源的消耗。
图3b为本申请示例性实施例提供的另一种回源装置的结构示意图。该回源装置可应用于CDN系统中的任一源外CDN节点中实现,如图3b所示,该回源装置包括:发送模块31b和接收模块32b。
发送模块31b,用于在本地未缓存有用户请求的目标资源内容的情况下,向CDN系统中与该源外CDN节点网络连接的源内CDN节点发送回源请求,以请求目标资源内容;
接收模块32b,用于接收与该源外CDN节点网络连接的源内CDN节点根据回源请求返回的目标资源内容,并将目标资源内容提供给用户;
其中,目标资源内容是目标存储节点中存储的至少部分资源内容,目标存储节点是CDN系统中至少一个CDN源端节点中的存储节点,且作为数据源端负责存储内容提供方的资源内容。
图4为本申请示例性实施例提供的一种CDN节点的结构示意图。如图4所示,该CDN节点包括:存储器41、处理器42以及通信组件43。
存储器41,用于存储计算机程序,并可被配置为存储其它各种数据以支持在CDN节点上的操作。这些数据的示例包括用于在CDN节点上操作的任何应用程序或方法的指令,数据消息,图片,视频等。
处理器42,与存储器41耦合,用于执行存储器41中的计算机程序,以用于执行以下操作:
确定CDN系统中与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有用户请求的目标资源内容;
从目标存储节点获取目标资源内容,该目标存储节点是CDN系统中至少一个CDN源端节点中存储有目标资源内容的存储节点;
将目标资源内容经与该源内CDN节点网络连接的源外CDN节点提供给用户,上述目标资源内容是内容提供方的至少部分资源内容。
在一可选实施例中,处理器42在确定CDN系统中与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有用户请求的目标资源内容时,具体用于:通过通信组件43接收与该源内CDN节点网络连接的源外CDN节点发送的回源请求,查询本地缓存中是否存在目标资源内容,回源请求用于请求目标资源内容;若未在本地缓存中查询到目标资源内容,确定与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有目标资源内容。
在一可选实施例中,处理器42在从目标存储节点获取所述目标资源内容时,具体用于:查询该源内CDN节点所属CDN源端节点中的存储节点中是否存储有目标资源内容;若在该源内CDN节点所属CDN源端节点中的存储节点中查询到目标资源内容,将该源内CDN节点所属CDN源端节点中的存储节点作为目标存储节点;从目标存储节点中获取目标资源内容,并经与其网络连接的源外CDN节点提供给用户。
进一步可选地,处理器42还用于:若未能从该源内CDN节点所属CDN源端节点中的存储节点中查询到目标资源内容,根据预先维护的各存储节点与资源内容之间的存储映射关系,从其它CDN源端节点中选择存储有目标资源内容的目标存储节点,并从目标存储节点获取目标资源内容。
在一可选实施例中,处理器42在从其它CDN源端节点中选择存储有目标资源内容的目标存储节点时,具体用于:若根据存储映射关系确定其它CDN源端节点中存储有目标资源内容的存储节点有多个,则根据存储节点所属CDN源端节点的位置信息、存储节点的负载信息以及可用带宽资源中至少一种属性信息,从多个存储有目标资源内容的存储节点中,选择目标存储节点。
进一步,如图4所示,该CDN节点还包括:电源组件44等其它组件。图4中仅示意性给出部分组件,并不意味着CDN节点只包括图4所示组件。
关于本申请实施例中各操作的详细实施方式,可参见前述CDN系统实施例中的相关描述,在此不再赘述。在本实施例中,源内CDN节点在确定与其网络连接的源外CDN节点及其自身均未缓存有用户请求的资源内容时,可以从存储节点中获取目标资源内容并经与其网络连接的源外CDN节点提供给用户,回源过程可被收敛在CDN系统内部,能够为用户提供一体化的CDN加速体验,节约回源过程对出网资源的消耗。相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行,致使处理器能够实现上述可由源内CDN节点执行的回源方法实施例中的各步骤。
除图4所示实施例提供的CDN节点之外,本申请实施例还提供了另一种CDN节点,该CDN节点与图4所示实施例中的CDN节点具有相同或相似的实现结构,故不再图示。该CDN节点包括存储器和处理器,存储器中存储有计算机程序,处理器与存储器耦合,用于执行存储器中的计算机程序,以用于:在本地未缓存有用户请求的目标资源内容的情况下,向CDN系统中与该源外CDN节点网络连接的源内CDN节点发送回源请求,以请求目标资源内容;接收与该源外CDN节点网络连接的源内CDN节点根据回源请求返回的目标资源内容,并将目标资源内容提供给用户;其中,目标资源内容是源内CDN节点从CDN系统中至少一个CDN源端节点中存储有目标资源内容的目标存储节点中获取的,CDN源端节点作为CDN系统中的数据源端,其中的存储节点负责存储内容提供方的资源内容。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行,致使处理器能够实现上述可由源外CDN节点执行的回源方法实施例中的各步骤。
上述实施例中的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图实施例中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图实施例中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种内容分发网络CDN系统,其特征在于,包括:多个源外CDN节点,以及作为数据源端的至少一个CDN源端节点,每个CDN源端节点包括:源内CDN节点和为所述源内CDN节点提供存储服务的存储节点,所述存储节点负责存储内容提供方的资源内容;
所述源内CDN节点至少与一个源外CDN节点网络连接,用于在与其网络连接的源外CDN节点及其自身均未缓存有用户请求的目标资源内容的情况下,从目标存储节点获取所述目标资源内容,并经与其网络连接的源外CDN节点提供给所述用户;
其中,所述目标存储节点是所述至少一个CDN源端节点中存储有所述目标资源内容的存储节点,所述目标资源内容是所述内容提供方的至少部分资源内容。
2.根据权利要求1所述的系统,其特征在于,所述CDN系统承载于边缘云系统之上,所述多个源外CDN节点和所述至少一个CDN源端节点分别由所述边缘云系统中的边缘云节点承载。
3.根据权利要求2所述的系统,其特征在于,同一CDN源端节点中的存储节点和源内CDN节点由同一边缘云节点承载;或者,
同一CDN源端节点中的存储节点和源内CDN节点由不同的边缘云节点承载,且不同的边缘云节点之间的距离、负载或资源容量满足设定的要求。
4.根据权利要求2所述的系统,其特征在于,所述多个源外CDN节点包括第一级CDN节点,或者包括第一级CDN节点和第二级CDN节点;相应地,所述源内CDN节点包括第二级CDN节点。
5.根据权利要求1所述的系统,其特征在于,每个存储节点具体用于:接收内容提供方上传的资源内容并存储在本地;或者,
每个存储节点具体用于:预先从外部数据源端获取资源内容并存储在本地,所述外部数据源端的资源内容是内容提供方上传的。
6.根据权利要求1-5任一项所述的系统,其特征在于,每个源内CDN节点还用于:
接收与其网络连接的源外CDN节点发送的回源请求,查询本地缓存中是否存在所述目标资源内容,所述回源请求用于请求所述目标资源内容;
若未在本地缓存中查询到所述目标资源内容,查询其所属CDN源端节点中的存储节点中是否存储所述目标资源内容;
若其所属CDN源端节点中的存储节点存储有所述目标资源内容,将其所属CDN源端节点中的存储节点作为目标存储节点。
7.一种回源方法,其特征在于,适用于内容分发网络CDN系统中任一CDN源端节点中的源内CDN节点,所述任一CDN源端节点是CDN系统中的数据源端,还包括负责存储内容提供方的资源内容的存储节点,所述方法包括:
确定CDN系统中与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有用户请求的目标资源内容;
从目标存储节点获取所述目标资源内容,所述目标存储节点是所述CDN系统中至少一个CDN源端节点中存储有所述目标资源内容的存储节点;
将所述目标资源内容经与该源内CDN节点网络连接的源外CDN节点提供给所述用户,所述目标资源内容是所述内容提供方的至少部分资源内容。
8.根据权利要求7所述的方法,其特征在于,确定CDN系统中与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有用户请求的目标资源内容,包括:
接收与该源内CDN节点网络连接的源外CDN节点发送的回源请求,查询本地缓存中是否存在所述目标资源内容,所述回源请求用于请求所述目标资源内容;
若未在本地缓存中查询到所述目标资源内容,确定与该源内CDN节点网络连接的源外CDN节点以及该源内CDN节点自身均未缓存有所述目标资源内容。
9.根据权利要求7或8所述的方法,其特征在于,从目标存储节点获取所述目标资源内容,包括:
查询该源内CDN节点所属CDN源端节点中的存储节点是否存储有所述目标资源内容;
若该源内CDN节点所属CDN源端节点中的存储节点存储有所述目标资源内容,将该源内CDN节点所属CDN源端节点中的存储节点作为目标存储节点,并从所述目标存储节点获取所述目标资源内容。
10.根据权利要求9所述的方法,其特征在于,还包括:
若该源内CDN节点所属CDN源端节点中的存储节点未存储有所述目标资源内容,根据预先维护的各存储节点与资源内容之间的存储映射关系,从其它CDN源端节点中选择存储有所述目标资源内容的目标存储节点,并从所述目标存储节点获取所述目标资源内容。
11.一种回源方法,其特征在于,适用于内容分发网络CDN系统中的任一源外CDN节点,所述方法包括:
在本地未缓存有用户请求的目标资源内容的情况下,向CDN系统中与该源外CDN节点网络连接的源内CDN节点发送回源请求,以请求所述目标资源内容;
接收与该源外CDN节点网络连接的源内CDN节点根据所述回源请求返回的所述目标资源内容,并将所述目标资源内容提供给所述用户;
其中,所述目标资源内容是所述源内CDN节点从所述CDN系统中至少一个CDN源端节点中存储有所述目标资源内容的目标存储节点中获取的,所述CDN源端节点作为CDN系统中的数据源端,其中的存储节点负责存储内容提供方的资源内容。
12.一种内容分发网络CDN节点,其特征在于,可作为内容分发网络CDN系统中任一CDN源端节点中的源内CDN节点实现,包括:存储器和处理器;
所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于实现权利要求7-10任一项所述方法中的步骤。
13.一种内容分发网络CDN节点,其特征在于,可作为内容分发网络CDN系统中的任一源外CDN节点实现,包括:存储器和处理器;
所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于实现权利要求11所述方法中的步骤。
14.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求7-11任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210648130.0A CN115022177B (zh) | 2022-06-08 | 2022-06-08 | Cdn系统、回源方法、cdn节点及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210648130.0A CN115022177B (zh) | 2022-06-08 | 2022-06-08 | Cdn系统、回源方法、cdn节点及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022177A true CN115022177A (zh) | 2022-09-06 |
CN115022177B CN115022177B (zh) | 2023-10-24 |
Family
ID=83072785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210648130.0A Active CN115022177B (zh) | 2022-06-08 | 2022-06-08 | Cdn系统、回源方法、cdn节点及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022177B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100217869A1 (en) * | 2009-02-20 | 2010-08-26 | Esteban Jairo O | Topology aware cache cooperation |
WO2012106918A1 (zh) * | 2011-07-22 | 2012-08-16 | 华为技术有限公司 | 内容处理方法、装置和系统 |
CN104185036A (zh) * | 2014-09-10 | 2014-12-03 | 北京奇艺世纪科技有限公司 | 一种视频文件回源方法及装置 |
CN105450780A (zh) * | 2015-12-31 | 2016-03-30 | 深圳市网心科技有限公司 | 一种cdn系统及其回源方法 |
CN107222560A (zh) * | 2017-06-29 | 2017-09-29 | 珠海市魅族科技有限公司 | 一种多节点回源的方法、装置及存储介质 |
CN107277561A (zh) * | 2016-04-08 | 2017-10-20 | 北京优朋普乐科技有限公司 | 内容分发网络 |
CN108337327A (zh) * | 2018-04-26 | 2018-07-27 | 拉扎斯网络科技(上海)有限公司 | 一种资源获取方法和代理服务器 |
CN108566370A (zh) * | 2018-02-11 | 2018-09-21 | 北京奇艺世纪科技有限公司 | 一种数据回源的方法以及装置 |
CN110933140A (zh) * | 2019-11-05 | 2020-03-27 | 北京字节跳动网络技术有限公司 | Cdn存储分配方法、系统及电子设备 |
WO2021004384A1 (zh) * | 2019-07-09 | 2021-01-14 | 阿里巴巴集团控股有限公司 | 内容分发网络、数据处理方法、装置、设备及存储介质 |
CN112333290A (zh) * | 2021-01-05 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 数据访问控制方法、装置、存储介质及内容分发网络系统 |
CN112513830A (zh) * | 2019-07-15 | 2021-03-16 | 华为技术有限公司 | 内容分发网络中的回源方法及相关装置 |
WO2021135835A1 (zh) * | 2019-12-31 | 2021-07-08 | 北京金山云网络技术有限公司 | 资源获取方法、装置及cdn网络中的节点设备 |
WO2021208780A1 (zh) * | 2020-04-14 | 2021-10-21 | 中兴通讯股份有限公司 | Cdn功能虚拟化的管理方法、电子设备和计算机可读介质 |
CN113726846A (zh) * | 2021-07-14 | 2021-11-30 | 阿里巴巴新加坡控股有限公司 | 边缘云系统、资源调度方法、设备及存储介质 |
-
2022
- 2022-06-08 CN CN202210648130.0A patent/CN115022177B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100217869A1 (en) * | 2009-02-20 | 2010-08-26 | Esteban Jairo O | Topology aware cache cooperation |
WO2012106918A1 (zh) * | 2011-07-22 | 2012-08-16 | 华为技术有限公司 | 内容处理方法、装置和系统 |
CN104185036A (zh) * | 2014-09-10 | 2014-12-03 | 北京奇艺世纪科技有限公司 | 一种视频文件回源方法及装置 |
CN105450780A (zh) * | 2015-12-31 | 2016-03-30 | 深圳市网心科技有限公司 | 一种cdn系统及其回源方法 |
CN107277561A (zh) * | 2016-04-08 | 2017-10-20 | 北京优朋普乐科技有限公司 | 内容分发网络 |
CN107222560A (zh) * | 2017-06-29 | 2017-09-29 | 珠海市魅族科技有限公司 | 一种多节点回源的方法、装置及存储介质 |
CN108566370A (zh) * | 2018-02-11 | 2018-09-21 | 北京奇艺世纪科技有限公司 | 一种数据回源的方法以及装置 |
CN108337327A (zh) * | 2018-04-26 | 2018-07-27 | 拉扎斯网络科技(上海)有限公司 | 一种资源获取方法和代理服务器 |
WO2021004384A1 (zh) * | 2019-07-09 | 2021-01-14 | 阿里巴巴集团控股有限公司 | 内容分发网络、数据处理方法、装置、设备及存储介质 |
CN112513830A (zh) * | 2019-07-15 | 2021-03-16 | 华为技术有限公司 | 内容分发网络中的回源方法及相关装置 |
CN110933140A (zh) * | 2019-11-05 | 2020-03-27 | 北京字节跳动网络技术有限公司 | Cdn存储分配方法、系统及电子设备 |
WO2021135835A1 (zh) * | 2019-12-31 | 2021-07-08 | 北京金山云网络技术有限公司 | 资源获取方法、装置及cdn网络中的节点设备 |
WO2021208780A1 (zh) * | 2020-04-14 | 2021-10-21 | 中兴通讯股份有限公司 | Cdn功能虚拟化的管理方法、电子设备和计算机可读介质 |
CN112333290A (zh) * | 2021-01-05 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 数据访问控制方法、装置、存储介质及内容分发网络系统 |
CN113726846A (zh) * | 2021-07-14 | 2021-11-30 | 阿里巴巴新加坡控股有限公司 | 边缘云系统、资源调度方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115022177B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112218100B (zh) | 内容分发网络、数据处理方法、装置、设备及存储介质 | |
EP3595268B1 (en) | Streaming media resource distribution method, system, edge node and central dispatching system | |
CN108737405B (zh) | 一种对直播视频流进行导流的方法、ccl服务器和系统 | |
US11924650B2 (en) | System, method and service product for content delivery | |
KR102305064B1 (ko) | 비디오 라이브 방송 방법 및 장치 | |
CN110336843B (zh) | 一种用于众包的内容分发方法、中心节点及边缘节点 | |
CN106941507B (zh) | 请求消息的调度方法及装置 | |
US20130191511A1 (en) | Method and apparatus for enabling pre-fetching of media | |
CN101540775A (zh) | 内容分发方法、装置与内容分发网络系统 | |
KR20170103255A (ko) | D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체 | |
CN113296924A (zh) | 一种内容分发方法、设备、系统及存储介质 | |
US9667691B2 (en) | Method for retrieving service capability of a group of contacts | |
CN105656978A (zh) | 一种资源共享方法及装置 | |
US20150163853A1 (en) | Mobile communication terminal having multiple communication interfaces, and cooperative data communication method thereof | |
CN113301558B (zh) | 一种消息传输方法、设备、系统及存储介质 | |
CN102223288A (zh) | 资源调度方法、系统、装置 | |
CN115022177B (zh) | Cdn系统、回源方法、cdn节点及存储介质 | |
Yan et al. | Design and implementation of integrated ICN and CDN as a video streaming service | |
WO2018090315A1 (zh) | 数据请求的处理方法及缓存系统 | |
CN112788135B (zh) | 资源调度方法、设备及存储介质 | |
KR101525471B1 (ko) | 비디오제공방법 및 비디오제공시스템 | |
CN115002497A (zh) | 直播回源的调度方法及系统、回源服务器 | |
CN105100147A (zh) | 一种基于内容提供商与服务提供商分离的控制方法及装置 | |
CN114615333A (zh) | 一种资源访问请求处理方法、装置、设备及介质 | |
CN110139126B (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 |