基于内容分发网络的资源预热方法、系统、设备和介质与流程

未命名 10-08 阅读:76 评论:0


1.本公开涉及互联网技术领域,具体涉及一种基于内容分发网络的资源预热方法、系统、设备和介质。


背景技术:

2.内容分发网络(content delivery network,cdn)通过在各个地区部署边缘节点,使用户从就近的边缘节点访问资源,提高了资源访问的响应速度。具体的,用户通过客户端请求访问目标资源时,若边缘节点已缓存目标资源,则边缘节点直接将本地缓存的目标资源返回给客户端;若边缘节点未缓存目标资源,则边缘节点从源站获取目标资源,然后将获取到的目标资源返回客户端,并在本地缓存目标资源。这样,在客户端下一次请求访问目标资源时,边缘节点便可以直接从本地缓存中获取目标资源,无需再从源站获取目标资源。资源预热,就是将资源预先从源站推送至边缘节点进行缓存。这样,客户端请求访问资源时,边缘节点便可以直接从本地缓存获取资源,无需再从源站获取资源,提高了资源访问的响应速度,也缓解了源站压力。
3.目前,在进行资源预热时,存在部分边缘节点预热失败的问题。简单来说,就是需要预热的资源未缓存至部分边缘节点,资源预热的准确性还有待提高。


技术实现要素:

4.有鉴于此,本公开实施方式提供了一种资源预热方法、资源预热系统、电子设备和计算机可读存储介质,可以提高资源预热的准确性。
5.本公开一方面提供了一种基于内容分发网络的资源预热方法,所述内容分发网络包括多个用于资源缓存的边缘节点;所述方法包括:
6.基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,构建ip获取请求,以获取所述客户端需连接的第一边缘节点的第二ip地址;
7.根据所述第二ip地址,给所述第一边缘节点发送访问请求,以确定所述第一边缘节点是否已缓存所述域名下的资源;
8.若所述第一边缘节点未缓存所述域名下的资源,在所述第一边缘节点对所述域名下的资源进行预热。
9.本公开另一方面还提供了基于内容分发网络的资源预热系统,所述内容分发网络包括多个用于资源缓存的边缘节点;所述系统包括:
10.构建模块,用于基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,构建ip获取请求,以获取所述客户端需连接的第一边缘节点的第二ip地址;
11.访问模块,用于根据所述第二ip地址,给所述第一边缘节点发送访问请求,以确定所述第一边缘节点是否已缓存所述域名下的资源;
12.预热模块,用于若所述第一边缘节点未缓存所述域名下的资源,在所述第一边缘节点对所述域名下的资源进行预热。
13.本公开另一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现如上所述的方法。
14.本公开另一方面还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如上所述的方法。
15.在本技术一些实施例的技术方案中,基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,通过构建ip获取请求的方式,获取客户端需连接的第一边缘节点的第二ip地址,以及基于第二ip地址,给第一边缘节点发送访问请求,判断第一边缘节点是否缓存域名下的资源。若否,则重新在第一边缘节点对域名下的资源进行预热。如此,可以检查第一边缘节点的预热结果,并在预热失败的情况,重新进行资源预热,以保证第一边缘节点可以成功缓存域名下的资源,从而可以提高资源预热的准确性。
附图说明
16.通过参考附图会更加清楚的理解本公开的特征和优点,附图是示意性的而不应理解为对本公开进行任何限制,在附图中:
17.图1示出了本技术的一个实施例提供的内容分发网络的架构示意图;
18.图2示出了本技术的一个实施例提供的资源预热方法的流程示意图;
19.图3示出了本技术的一个实施例提供的资源预热系统的模块示意图;
20.图4示出了本技术的一个实施例提供的电子设备的示意图。
具体实施方式
21.为使本公开实施方式的目的、技术方案和优点更加清楚,下面将结合本公开实施方式中的附图,对本公开实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施方式,都属于本公开保护的范围。
22.请参阅图1,为本技术的一个实施例提供的内容分发网络100的架构示意图。图1中,内容分发网络100包括源站11、缓存系统12以及对内容分发网络100进行管理的管理平台13。其中:
23.源站11可以是提供资源的服务器设备。资源可以指以数字化形式记录的、保存在计算机存储介质中的,并允许通过计算机网络通信方式进行传递的信息内容,比如图像、声音、文字等。
24.缓存系统12可以缓存源站11中的至少部分资源。本实施例中,缓存系统12包括多个用于资源缓存的边缘节点122、与边缘节点122连接的二级缓存节点121。边缘节点122通过二级缓存节点121与源站11通信连接。一个或多个边缘节点122可以连接至同一个二级缓存节点121,以及同一个边缘节点122可以连接至不同的二级缓存节点121。在其它一些实施例中,缓存系统12可以包括除边缘节点122、二级缓存节点121外的其它级缓存节点。比如,在二级缓存节点121和源站11之间,缓存系统12还可以包括三级缓存节点。
25.不同的边缘节点122可以部署在不同的地理区域中。每个地理区域中的客户端通
过就近访问所在地理区域或相邻地理区域中的边缘节点122,可以访问源站11中的资源。
26.具体的,管理平台13可以包括域名解析系统131。客户端基于域名进行资源访问时,可以与域名解析系统131建立连接,由域名解析系统131根据客户端的ip地址,确定客户端所在的地理区域,并对域名进行解析,将距离客户端较近的目标边缘节点122(比如图1中的边缘节点1)的ip地址返回给客户端。客户端基于域名解析系统131返回的ip地址,向目标边缘节点122发起资源访问请求。目标边缘节点122响应于客户端发起的资源访问请求,查看客户端待访问的资源是否已在本地缓存,若已缓存,则直接将本地缓存的资源返回给客户端;若未缓存,则查看所连接的二级缓存节点121中是否缓存客户端待访问的资源。若二级缓存节点121已缓存客户端待访问的资源,则目标边缘节点122从二级缓存节点121获取资源,并将获取到的资源返回给客户端,以及在本地缓存获取到的资源。这样,客户端下一次发起同一资源的访问请求时,目标边缘节点122便可以直接从本地缓存中获取资源,提高资源访问的响应速度。
27.在目标边缘节点122以及目标边缘节点122连接的二级缓存节点121均未缓存客户端待访问的资源时,目标边缘节点122可以从源站11获取资源,并将获取到的资源返回给客户端,以及在本地缓存获取到的资源。这个过程又可称为“回源”。
28.所谓资源预热,就是将源站11的资源提前推送到边缘节点122进行缓存。如此,可以缓解源站11的压力。比如,将某个域名下的资源在边缘节点122进行预热后,在客户端访问该域名下的资源时,边缘节点122便可以无需再从源站11获取资源,从而缓解了源站11的压力。具体的,用户可以在管理平台13设置需要预热的资源和需要进行资源预热的目标地理区域。管理平台13通过调度管理,将需要预热的资源从源站11推送至目标地理区域的边缘节点122进行缓存。
29.目前,内容分发网络100在进行资源预热时,部分需要预热的边缘节点122可能会出现遗漏,资源预热的准确性还有待提高。
30.鉴于此,本技术提供一种基于内容分发网络的资源预热方法,可以提高资源预热的准确性。资源预热方法可应用于内容分发网络的管理平台。为了便于理解,在对本技术的方法进行具体阐述前,先对本技术方法中的相关概念以及总体思路进行说明。
31.本技术方法中,对于需要进行资源预热的域名来说,就是需要将这些域名下的资源推送到边缘节点进行缓存。预热区域用于表征进行资源预热的地理区域。比如,假设需要进行资源预热的域名为www.abc.com,预热区域为区域a,那么就是将域名www.abc.com下的资源推送到区域a的边缘节点进行缓存。在一些实施例中,将域名下的资源推送到预热区域中的边缘节点进行缓存,可以包括以下两种方式:
32.1)将域名下的资源推送到边缘节点连接的上级缓存节点进行缓存。其中,上级缓存节点可以是位于边缘节点和源站之间的缓存节点,比如二级缓存节点、三级缓存节点。
33.2)将源站的资源推送到边缘节点本地进行缓存。
34.在具体的实施过程中,可以基于以上其中一种方式进行资源预热。
35.为了保证域名下的资源在边缘节点预热成功,管理平台可以基于预热区域中的边缘节点的ip地址,给边缘节点发送访问请求,以检查边缘节点是否缓存域名下的资源。若边缘节点已缓存域名下的资源,表示域名下的资源在边缘节点预热成功;若边缘节点未缓存域名下的资源,表示域名下的资源在边缘节点预热失败。通过上述检查,可以筛选出预热失
败的边缘节点,并可以在预热失败的边缘节点重新对域名下的资源进行预热,以保证域名下的资源可以在预热区域中的各个边缘节点均预热成功。如此,达到了提高预热准确性的目的。
36.基于以上描述,请参阅图2,为本技术的一个实施例提供的资源预热方法的流程示意图。图2中,资源预热方法包括如下步骤:
37.步骤s21,基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,构建ip获取请求,以获取客户端需连接的第一边缘节点的第二ip地址。
38.简单来说,步骤s21即是获取边缘节点的ip地址的过程。结合图1的描述,由于客户端在获取域名下的资源时,首先是获取需要连接的边缘节点的ip地址,进而再连接到对应的边缘节点进行资源访问。因此,可以依据客户端获取边缘节点的ip地址的原理,通过模拟客户端的方式,去获取边缘节点的ip地址。具体的,可以基于edns(extension mechanisms for dns,dns扩展协议)协议构建ip获取请求,并在ip获取请求中携带需要进行资源预热的域名和客户端在预热区域的第一ip地址,由域名解析系统基于ip获取请求,返回客户端需连接的第一边缘节点的第二ip地址(即获取到了预热区域中的边缘节点的ip地址)。
39.具体的,ip获取请求的格式可以为:
40.https://edns.xxx.com/q?host=aaa.bbb.com&ip=1.1.1.1
41.其中,edns.xxx.com可以表示域名解析系统的域名;
42.aaa.bbb.com可以表示需要进行资源预热的域名;
43.1.1.1.1可以表示客户端在预热区域的第一ip地址。
44.步骤s22,根据第二ip地址,给第一边缘节点发送访问请求,以确定第一边缘节点是否已缓存域名下的资源。
45.在一些实施例中,第一边缘节点已缓存域名下的资源,可以包括如下两种情况:
46.1)第一边缘节点本地已经缓存域名下的资源;
47.2)第一边缘节点连接的上级缓存节点已经缓存域名下资源。
48.只要满足以上任一种情况,均可以确定第一边缘节点已缓存域名下的资源。
49.可以理解的是,若第一边缘节点已缓存域名下的资源,这些资源可以有两种来源,一种来源是第一边缘节点基于客户端发起的资源访问请求,通过回源方式从源站获取并缓存的;另一种来源是通过预热的方式获取并缓存的。在本技术中,在确定第一边缘节点是否缓存域名下的资源时,主要是确定第一边缘节点是否以预热的方式提前缓存域名下的资源。
50.为了识别出第一边缘节点是否存在以预热方式缓存的域名下的资源,可以基于域名下的未从第一边缘节点获取过的指定资源,给第一边缘节点发送访问请求。访问请求用于请求访问该指定资源。由于客户端没有在第一边缘节点获取过该指定资源,因此可以保证该指定资源还未通过回源的方式缓存至第一边缘节点。在上述前提下,基于第一边缘节点返回的响应,可以判断第一边缘节点和第一边缘节点连接的上级缓存节点是否存在该指定资源。若第一边缘节点和第一边缘节点连接的上级缓存节点均不存在该指定资源,可以确定第一边缘节点未缓存域名下的资源,进而可以确定域名下的资源在第一边缘节点预热失败;若第一边缘节点或第一边缘节点连接的上级缓存节点存在该指定资源,可以确定第一边缘节点已缓存域名下的资源,进而可以确定域名下的资源在第一边缘节点预热成功。
51.以下说明如何基于第一边缘节点返回的响应,确定判断第一边缘节点和第一边缘节点连接的上级缓存节点是否存在需访问的指定资源。比如,假设域名为aaa.bbb.com,指定资源的url为http://aaa.bbb.com/new.txt。针对指定资源向第一边缘节点发送访问请求后,第一边缘节点返回的响应可以类似如下:
52.《x-cache:tcp_miss from
53.a23-200-24-95.deploy.akamaitechnologies.com
54.(akamaighost/11.1.0-48603064)(-)
55.《x-cache-remote:tcp_miss from
56.a23-50-232-195.deploy.akamaitechnologies.com
57.(akamaighost/11.1.0-48603064)(-)
58.其中,x-cache:tcp_miss from a23-200-24-95:表示第一边缘节点的ip地址为23.200.24.95,且第一边缘节点对指定资源的命中状态为“tcp_miss”,即第一边缘节点未命中(缓存)指定资源。
59.x-cache-remote:tcp_miss from a23-50-232-195:表示第一边缘节点连接的二级缓存节点的ip地址为23.50.232.195,且二级缓存节点对指定资源的命中状态为“tcp_miss”,即二级缓存节点未命中(缓存)指定资源。
60.基于以上响应,可以确定第一边缘节点未缓存指定资源,即域名下的资源在第一边缘节点预热失败。
61.但是,若第一边缘节点返回的响应中,第一边缘节点或第一边缘节点连接的上级缓存节点(比如二级缓存节点)对指定资源的命中状态非“tcp_miss”,则表示第一边缘节点或第一边缘节点连接的上级缓存节点命中(已缓存)指定资源,域名下的资源在第一边缘节点预热成功。
62.比如,在如下响应中:
63.《x-cache:tcp_miss from
64.a23-200-24-95.deploy.akamaitechnologies.com
65.(akamaighost/11.1.0-48603064)(-)
66.《x-cache-remote:tcp_hit from
67.a23-50-232-195.deploy.akamaitechnologies.com
68.(akamaighost/11.1.0-48603064)(-)
69.《server-timing:cdn-cache;desc=miss,edge;dur=189
70.第一边缘节点对指定资源的命中状态为“tcp_miss”,第一边缘节点连接的二级缓存节点对指定资源的命中状态为“tcp_hit”,由于第一边缘节点连接的二级缓存节点已缓存指定资源,则可以确定域名下的资源在第一边缘节点预热成功。
71.到此,便可以确定域名下的资源是否已经在第一边缘节点缓存成功。
72.步骤s23,若第一边缘节点未缓存域名下的资源,在第一边缘节点对域名下的资源进行预热。
73.具体的,可以将域名下的资源缓存至第一边缘节点或第一边缘节点连接的上级缓存节点。关于资源预热,为本领域的常规技术手段,在此不赘述。
74.综上所述,在本技术一些实施例的技术方案中,基于需要进行资源预热的域名和
客户端在预热区域的第一ip地址,通过构建ip获取请求的方式,获取客户端需连接的第一边缘节点的第二ip地址,以及基于第二ip地址,给第一边缘节点发送访问请求,判断第一边缘节点是否缓存域名下的资源。若否,则重新在第一边缘节点对域名下的资源进行预热。如此,可以检查第一边缘节点的预热结果,并在预热失败的情况,重新进行资源预热,以保证第一边缘节点可以成功缓存域名下的资源,从而可以提高资源预热的准确性。
75.进一步的,由于预热区域中可能包括数量较多的边缘节点,以下介绍如何对预热区域中的边缘节点进行批量检查和预热。
76.由于预热区域中的边缘节点通常是位于不同的地理位置,且客户端是就近访问边缘节点,因此可以基于预热区域中的各个网络区域的客户端的第一ip地址,获取不同地理位置的边缘节点的第二ip地址。网络区域,指按照ip网段划分的地理位置上的区域。本领域技术人员可以理解的是,不同的城市有分别对应的ip网段。对每个城市的ip网段进一步划分,又可以使同一城市下的不同区域对应不同的网段。这些ip网段不同的区域,便可以认为是网络区域。获取预热区域下不同ip网段的客户端的ip地址,就相当于获取到了预热区域中的各个网络区域中的客户端的第一ip地址。示例性的,不同ip网段的客户端ip地址可以从geo ip数据库中查询得到。
77.综上所述,基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,构建ip获取请求,可以包括:
78.获取预热区域中不同ip网段的客户端的第一ip地址;
79.基于域名和每个客户端的第一ip地址分别构建ip获取请求,以获取各个客户端需连接的第一边缘节点的第二ip地址。
80.进一步的,由于同一个网络区域中的不同客户端通常均连接至同一个第一边缘节点,即在同一网络区域中,基于不同客户端的第一ip地址,得到的第一边缘节点的第二ip地址是相同的。对于同一个第一边缘节点来说,只需进行一次预热结果的检查或资源预热即可。因此,在获取预热区域中不同ip网段的客户端的第一ip地址时,可以在预热区域的各个ip网段下分别获取其中一个客户端的第一ip地址。如此,以减少数据处理量,同时,避免针对同一个第一边缘节点进行多次预热结果的检查或资源预热。
81.在基于不同ip网段的客户端的第一ip地址获取到各个第一边缘节点的第二ip地址后,客户端的第一ip地址与客户端需连接的第一边缘节点的第二ip地址构成第一对应关系,基于该第一对应关系,便可以对各个第一边缘节点的预热结果进行检查。表格1示例性的列出了第一对应关系:
82.表格1第一对应关系
83.客户端的第一ip地址第一边缘节点的第二ip地址1.1.1.111.11.11.11 2.2.2.222.22.22.22 3.3.3.322.22.22.22 4.4.4.444.44.44.41 5.5.5.544.44.44.42
84.通过表格1可以看出,在第一对应关系中,可能存在不同客户端的第一ip地址与同一个第一边缘节点的第二ip地址相对应。这种情况产生的原因是,两个网络区域的客户端
在获取域名下的资源时,连接至同一个第一边缘节点(比如22.22.22.22)。比如城市a和城市b中的客户端在获取资源,均连接城市a的第一边缘节点。这种情况下,若基于表格1中的第一对应关系对第一边缘节点进行检查,则可能会对同一个第一边缘节点进行多次重复检查。为了避免这种情况,可以对第一对应关系进行去重操作。即:若存在多个第一ip地址与同一个第二ip地址对应的情况,在该多个第一ip地址中,保留其中一个第一ip地址与第二ip地址的对应关系,删除其它第一ip地址与第二ip地址的对应关系。比如表格1中,可以保留2.2.2.2和22.22.22.22的对应关系,删除3.3.3.3和22.22.22.22的对应关系。如此,在检查第一边缘节点22.22.22.22的预热结果时,只需执行一次操作即可。
85.进一步的,在一些实施例中,对于属于同一个ip网段的第一边缘节点来说,可以认为这两个第一边缘节点属于同一个机房,可以只针对其中一个第一边缘节点进行预热结果的检查即可。鉴于此,还可以对第一对应关系进一步去重。即:若存在多个第二ip地址的ip网段相同,在多个第二ip地址中,保留其中一个第二ip地址与第一ip地址的对应关系,删除其它第二ip地址与第一ip地址的对应关系。比如表格1中,在第一边缘节点的第二ip地址中,44.44.44.41和44.44.44.42的ip网段相同,故可以保留44.44.44.41和4.4.4.4的对应关系,删除44.44.44.41和5.5.5.5的对应关系。
86.到此,对表格1中的第一对应关系执行去重操作后,可以得到表格2所示的结果。
87.表格2去重后的第一对应关系
88.客户端的第一ip地址第一边缘节点的第二ip地址1.1.1.111.11.11.11 2.2.2.222.22.22.22 4.4.4.444.44.44.41
89.进一步,根据第二ip地址,给第一边缘节点发送访问请求时,可以基于完成去重操作后的第一对应关系中的第二ip地址,分别给第一边缘节点发送访问请求,以确定各个第一边缘节点是否已缓存域名下的资源。如此,一方面,减少了数据处理量;另一方面,防止对同一个第一边缘节点或同一个机房的第一边缘节点重复发送访问请求。
90.可以理解的是,基于完成去重操作后的第一对应关系中的第二ip地址,分别给第一边缘节点发送访问请求后,可以根据各个第一边缘节点的响应,筛选出未缓存域名资源的第一边缘节点,进而可以在这些第一边缘节点对域名下的资源重新进行预热。
91.在一些实施例中,在第一边缘节点对域名下的资源进行预热,可以包括:
92.针对任一第一边缘节点,若该第一边缘节点未缓存域名下的资源,将该第一边缘节点作为待预热边缘节点;
93.建立预热覆盖图谱,预热覆盖图谱表征域名、待预热边缘节点的第二ip地址、待预热边缘节点连接的客户端的第一ip地址之间的第二对应关系;
94.基于预热覆盖图谱,在待预热边缘节点对域名下的资源进行预热。
95.在一些实施例中,若内容分发网络包括与待预热边缘节点连接的上级缓存节点,预热覆盖图谱还用于表征域名、待预热边缘节点连接的上级缓存节点的第三ip地址、待预热边缘节点连接的客户端的第一ip地址之间的第三对应关系;
96.在待预热边缘节点对域名下的资源进行预热,包括:
97.基于预热覆盖图谱,在待预热边缘节点连接的上级缓存节点,对域名下的资源进
行预热。
98.通过建立预热覆盖图谱的方式,适合批量对预热区域中的待预热边缘节点进行资源预热,效率较高。简单来说,就是在基于完成去重操作后的第一对应关系中的第二ip地址,分别给第一边缘节点发送访问请求时,若发现未缓存域名资源的第一边缘节点,可以无需立即进行资源预热,而是可以通过预热覆盖图谱的方式,记录下这些资源预热失败的第一边缘节点,待给所有的第一边缘节点发送完访问请求后,再基于预热覆盖图谱对资源预热失败的第一边缘节点进行统一的资源预热,效率较高。
99.在以上所述的方案中,是基于客户端在预热区域的第一ip地址,获取各个第一边缘节点的第二ip地址,以及对各个第一边缘节点的预热结果进行检查。但在一些情况下,可能会出现无法获取客户端的第一ip地址的特殊情况。以下针对这种特征情况下的实施方案进行说明。
100.在一些实施例中,若未获取到客户端在预热区域的第一ip地址,可以给预热区域的网络设备发送请求,以使网络设备发送资源访问请求,访问域名下的资源,然后根据网络设备接收到的资源访问响应,确定网络设备在访问域名下的资源时所连接的第二边缘节点是否已缓存域名下的资源。
101.具体的,管理平台可以与网络设备通信连接。网络设备可以基于域名的方式发送资源访问请求(即常规的客户端访问资源的方式)。与上述访问请求类似的原理,资源访问请求可以请求访问域名下的未被访问过的资源。如此,以防止资源通过回源的方式缓存到边缘节点。
102.网路设备接收到的资源访问响应可以类似如下:
103.《x-cache:tcp_miss from a23-200-24-95.deploy.akamaitechnologies.com
104.(akamaighost/11.1.0-48603064)(-)
105.《x-cache-remote:tcp_miss from a23-50-232-195.deploy.akamaitechnologies.com
106.(akamaighost/11.1.0-48603064)(-)
107.与上述步骤s22中的相关描述类似,基于资源访问响应,可以确定网络设备连接至的第二边缘节点的第四ip地址、第二边缘节点连接的上级缓存节点的第五ip地址,以及第二边缘节点和第二边缘节点连接的上级缓存节点是否命中访问的资源。比如上述资源访问响应中,表示网络设备连接的第二边缘节点的第四ip地址为23.200.24.95,第二边缘节点连接的上级缓存节点的第三ip地址为23.50.232.195,且第二边缘节点和第二边缘节点连接的上级缓存节点均未命中域名下的资源。这种情况下,可以认为第二边缘节点23.200.24.95在预热域名下的资源时失败,需要重新进行资源预热,即若根据网络设备接收到的资源访问响应,确定内容分发网络的边缘节点未缓存域名下的资源,基于第四ip地址,在第二边缘节点对域名下的资源进行预热;或基于第五ip地址,在第二边缘节点连接的上级缓存节点对域名下的资源进行预热。
108.如此,在未获取到客户端在预热区域的第一ip地址时,依然可以对各个边缘节点的资源预热情况进行检查,方案的可靠性更强。
109.请参阅图3,为本技术的一个实施例提供的基于内容分发网络的资源预热系统的模块示意图。资源预热系统包括:
110.构建模块,用于基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,构建ip获取请求,以获取客户端需连接的第一边缘节点的第二ip地址;
111.访问模块,用于根据第二ip地址,给第一边缘节点发送访问请求,以确定第一边缘节点是否已缓存域名下的资源;
112.预热模块,用于若第一边缘节点未缓存域名下的资源,在第一边缘节点对域名下的资源进行预热。
113.在一些实施例中,构建模块具体用于:
114.获取预热区域中不同ip网段的客户端的第一ip地址;
115.基于域名和每个客户端的第一ip地址分别构建ip获取请求,以获取各个客户端需连接的第一边缘节点的第二ip地址。
116.在一些实施例中,构建模块具体用于:
117.在预热区域的各个ip网段下分别获取其中一个客户端的第一ip地址。
118.在一些实施例中,客户端的第一ip地址与客户端需连接的第一边缘节点的第二ip地址构成第一对应关系;访问模块具体用于:
119.对第一对应关系执行去重操作;
120.基于完成去重操作后的第一对应关系中的第二ip地址,分别给第一边缘节点发送访问请求,以确定各个第一边缘节点是否已缓存域名下的资源。
121.在一些实施例中,访问模块具体用于:
122.若存在多个第一ip地址与同一个第二ip地址对应的情况,在多个第一ip地址中,保留其中一个第一ip地址与第二ip地址的对应关系,删除其它第一ip地址与第二ip地址的对应关系;和/或
123.若存在多个第二ip地址的ip网段相同,在多个第二ip地址中,保留其中一个第二ip地址与第一ip地址的对应关系,删除其它第二ip地址与第一ip地址的对应关系。
124.在一些实施例中,预热模块具体用于:
125.针对任一第一边缘节点,若该第一边缘节点未缓存域名下的资源,将该第一边缘节点作为待预热边缘节点;
126.建立预热覆盖图谱,预热覆盖图谱表征域名、待预热边缘节点的第二ip地址、待预热边缘节点连接的客户端的第一ip地址之间的第二对应关系;
127.基于预热覆盖图谱,在待预热边缘节点对域名下的资源进行预热。
128.在一些实施例中,内容分发网络还包括与待预热边缘节点连接的上级缓存节点,预热覆盖图谱还用于表征域名、待预热边缘节点连接的上级缓存节点的第三ip地址、待预热边缘节点连接的客户端的第一ip地址之间的第三对应关系;预热模块具体用于:
129.基于预热覆盖图谱,在待预热边缘节点连接的上级缓存节点,对域名下的资源进行预热。
130.在一些实施例中,内容分发网络还包括与第一边缘节点连接的上级缓存节点;访问模块具体用于:
131.基于域名下的未从第一边缘节点获取过的指定资源,给第一边缘节点发送访问请求;
132.若第一边缘节点和第一边缘节点连接的上级缓存节点均不存在指定资源,确定第
一边缘节点未缓存域名下的资源。
133.在一些实施例中,若未获取到客户端在预热区域的第一ip地址,访问模块具体用于:
134.给预热区域的网络设备发送请求,以使网络设备发送资源访问请求,访问域名下的资源;
135.根据网络设备接收到的资源访问响应,确定网络设备在访问域名下的资源时所连接的第二边缘节点是否已缓存域名下的资源。
136.在一些实施例中,资源访问响应还包括第二边缘节点的第四ip地址,以及与第二边缘节点连接的上级缓存节点的第五ip地址;预热模块具体用于:
137.若根据网络设备接收到的资源访问响应,确定第二边缘节点未缓存域名下的资源,基于第四ip地址,在第二边缘节点对域名下的资源进行预热;
138.或基于第五ip地址,在第二边缘节点连接的上级缓存节点对域名下的资源进行预热。
139.请参阅图4,为本技术的一个实施例提供的电子设备的示意图。电子设备包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
140.其中,处理器可以为中央处理器(central processing unit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
141.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
142.存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
143.本技术一个实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的方法。
144.虽然结合附图描述了本公开的实施方式,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

技术特征:
1.一种基于内容分发网络的资源预热方法,其特征在于,所述内容分发网络包括多个用于资源缓存的边缘节点;所述方法包括:基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,构建ip获取请求,以获取所述客户端需连接的第一边缘节点的第二ip地址;根据所述第二ip地址,给所述第一边缘节点发送访问请求,以确定所述第一边缘节点是否已缓存所述域名下的资源;若所述第一边缘节点未缓存所述域名下的资源,在所述第一边缘节点对所述域名下的资源进行预热。2.如权利要求1所述的方法,其特征在于,所述基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,构建ip获取请求,包括:获取所述预热区域中不同ip网段的客户端的第一ip地址;基于所述域名和每个客户端的第一ip地址分别构建ip获取请求,以获取各个客户端需连接的第一边缘节点的第二ip地址。3.如权利要求2所述的方法,其特征在于,所述获取所述预热区域中不同ip网段的客户端的第一ip地址,包括:在所述预热区域的各个ip网段下分别获取其中一个客户端的第一ip地址。4.如权利要求2所述的方法,其特征在于,所述客户端的第一ip地址与所述客户端需连接的第一边缘节点的第二ip地址构成第一对应关系;所述根据所述第二ip地址,给所述第一边缘节点发送访问请求,包括:对所述第一对应关系执行去重操作;基于完成去重操作后的第一对应关系中的第二ip地址,分别给第一边缘节点发送访问请求,以确定各个第一边缘节点是否已缓存所述域名下的资源。5.如权利要求4所述的方法,其特征在于,所述对所述第一对应关系执行去重操作,包括:若存在多个第一ip地址与同一个第二ip地址对应的情况,在所述多个第一ip地址中,保留其中一个第一ip地址与第二ip地址的对应关系,删除其它第一ip地址与第二ip地址的对应关系;和/或若存在多个第二ip地址的ip网段相同,在所述多个第二ip地址中,保留其中一个第二ip地址与第一ip地址的对应关系,删除其它第二ip地址与第一ip地址的对应关系。6.如权利要求4所述的方法,其特征在于,所述在所述第一边缘节点对所述域名下的资源进行预热,包括:针对任一所述第一边缘节点,若该第一边缘节点未缓存所述域名下的资源,将该第一边缘节点作为待预热边缘节点;建立预热覆盖图谱,所述预热覆盖图谱表征所述域名、所述待预热边缘节点的第二ip地址、所述待预热边缘节点连接的客户端的第一ip地址之间的第二对应关系;基于所述预热覆盖图谱,在所述待预热边缘节点对所述域名下的资源进行预热。7.如权利要求6所述的方法,其特征在于,所述内容分发网络还包括与所述待预热边缘节点连接的上级缓存节点,所述预热覆盖图谱还用于表征所述域名、所述待预热边缘节点连接的上级缓存节点的第三ip地址、所述待预热边缘节点连接的客户端的第一ip地址之间
的第三对应关系;所述在所述待预热边缘节点对所述域名下的资源进行预热,包括:基于所述预热覆盖图谱,在所述待预热边缘节点连接的上级缓存节点,对所述域名下的资源进行预热。8.如权利要求1所述的方法,其特征在于,所述内容分发网络还包括与所述第一边缘节点连接的上级缓存节点;所述给所述第一边缘节点发送访问请求,以确定所述第一边缘节点是否已缓存所述域名下的资源,包括:基于所述域名下的未从所述第一边缘节点获取过的指定资源,给所述第一边缘节点发送访问请求;若所述第一边缘节点和所述第一边缘节点连接的上级缓存节点均不存在所述指定资源,确定所述第一边缘节点未缓存所述域名下的资源。9.如权利要求1所述的方法,其特征在于,若未获取到所述客户端在所述预热区域的第一ip地址,所述方法还包括:给所述预热区域的网络设备发送请求,以使所述网络设备发送资源访问请求,访问所述域名下的资源;根据所述网络设备接收到的资源访问响应,确定所述网络设备在访问所述域名下的资源时所连接的第二边缘节点是否已缓存所述域名下的资源。10.如权利要求9所述的方法,其特征在于,所述资源访问响应还包括所述第二边缘节点的第四ip地址,以及与第二边缘节点连接的上级缓存节点的第五ip地址;若根据所述网络设备接收到的资源访问响应,确定所述第二边缘节点未缓存所述域名下的资源,基于所述第四ip地址,在所述第二边缘节点对所述域名下的资源进行预热;或基于所述第五ip地址,在所述第二边缘节点连接的上级缓存节点对所述域名下的资源进行预热。11.一种基于内容分发网络的资源预热系统,其特征在于,所述内容分发网络包括多个用于资源缓存的边缘节点;所述系统包括:构建模块,用于基于需要进行资源预热的域名和客户端在预热区域的第一ip地址,构建ip获取请求,以获取所述客户端需连接的第一边缘节点的第二ip地址;访问模块,用于根据所述第二ip地址,给所述第一边缘节点发送访问请求,以确定所述第一边缘节点是否已缓存所述域名下的资源;预热模块,用于若所述第一边缘节点未缓存所述域名下的资源,在所述第一边缘节点对所述域名下的资源进行预热。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至10中任一所述的方法。13.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至10中任一所述的方法。

技术总结
本公开公开了一种基于内容分发网络的资源预热方法、系统、设备和介质,内容分发网络包括多个用于资源缓存的边缘节点;方法包括:基于需要进行资源预热的域名和客户端在预热区域的第一IP地址,构建IP获取请求,以获取客户端需连接的第一边缘节点的第二IP地址;根据第二IP地址,给第一边缘节点发送访问请求,以确定第一边缘节点是否已缓存域名下的资源;若第一边缘节点未缓存域名下的资源,在第一边缘节点对域名下的资源进行预热。可以提高资源预热的准确性。的准确性。的准确性。


技术研发人员:郑友声 张航航 刘化伟 王剑
受保护的技术使用者:北京火山引擎科技有限公司
技术研发日:2023.07.26
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐