CN114125060A - 资源缓存方法、装置、电子设备及可读存储介质 - Google Patents

资源缓存方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN114125060A
CN114125060A CN202111140016.9A CN202111140016A CN114125060A CN 114125060 A CN114125060 A CN 114125060A CN 202111140016 A CN202111140016 A CN 202111140016A CN 114125060 A CN114125060 A CN 114125060A
Authority
CN
China
Prior art keywords
cache
cache node
list
node
edge
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
Application number
CN202111140016.9A
Other languages
English (en)
Other versions
CN114125060B (zh
Inventor
雷佳才
罗立
詹科
徐开红
彭柯潮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Knownsec Information Technology Co Ltd
Original Assignee
Beijing Knownsec Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Knownsec Information Technology Co Ltd filed Critical Beijing Knownsec Information Technology Co Ltd
Priority to CN202111140016.9A priority Critical patent/CN114125060B/zh
Publication of CN114125060A publication Critical patent/CN114125060A/zh
Application granted granted Critical
Publication of CN114125060B publication Critical patent/CN114125060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种资源缓存方法、装置、电子设备及可读存储介质,涉及计算机技术领域。该方法包括:获得每个边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表,两个缓存列表中包括本机已存储的各资源的URL及描述信息;针对每个边缘缓存节点,将该边缘缓存节点的第一缓存列表与第二缓存列表进行比较,并将经过比较确定出对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL;将各边缘缓存节点的第一URL发送给对应的边缘缓存节点,以使该边缘缓存节点从代理缓存节点获取并缓存第一待缓存资源。如此,可使得不同边缘缓存节点缓存的内容不会存在新旧差异。

Description

资源缓存方法、装置、电子设备及可读存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种资源缓存方法、装置、电子设备及可读存储介质。
背景技术
在CDN(Content Delivery Network,内容分发网络)系统中,会在靠近用户的边缘缓存节点上存放相关资源文件,使得用户请求时可以从边缘缓存节点获取资源。目前的CDN系统是按照URL(Uniform Resource Locator,统一资源定位符)进行的资源缓存,当源服务器做同名文件更新时,也即只是资源内容发生了变化,如果没有手动刷新边缘缓存节点的缓存资源,则会因为各边缘节点访问热度不一、缓存淘汰时间不一等导致不同边缘缓存节点上的缓存资源存在新旧差异。
发明内容
本申请提供了一种资源缓存方法、装置、电子设备及可读存储介质,其能够利用存储了从源服务器处获得的资源的代理缓存节点,对各边缘缓存节点的资源进行更新,使得不同边缘缓存节点缓存的内容一致,不会存在新旧差异,同时还不会增加源服务器的工作量。
本申请的实施例可以这样实现:
第一方面,本申请实施例提供一种资源缓存方法,应用于CDN系统中的控制平台,所述CDN系统中还包括通信连接的源服务器、代理缓存节点及多个边缘缓存节点,所述代理缓存节点中存储有从所述源服务器获得的资源,每个边缘缓存节点中包括第一缓存列表,所述代理缓存节点中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息,所述方法包括:
获得每个边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表;
针对每个边缘缓存节点,将该边缘缓存节点的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL;
将各边缘缓存节点的第一URL发送给对应的边缘缓存节点,以使该边缘缓存节点从所述代理缓存节点获取并缓存所述第一待缓存资源。
第二方面,本申请实施例提供一种资源缓存方法,应用于CDN系统中的代理缓存节点,所述CDN系统中还包括通信连接的源服务器、控制平台及多个边缘缓存节点,所述代理缓存节点中存储有从所述源服务器获得的资源,每个边缘缓存节点中包括第一缓存列表,所述代理缓存节点中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息,所述方法还包括:
接收边缘缓存节点根据所对应的第一待缓存资源的第一URL发送的资源获取请求,其中,该边缘缓存节点的第一URL由所述控制平台根据该边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表经过比较确定,所述第一URL包括该边缘缓存节点的第一缓存列表中与所述第二缓存列表中对应不同描述信息的相同URL;
向边缘缓存节点返回第一待缓存资源,以便边缘缓存节点缓存对应的第一待缓存资源。
第三方面,本申请实施例提供一种资源缓存方法,应用于CDN系统,所述CDN系统中包括通信连接的源服务器、代理缓存节点、控制平台及多个边缘缓存节点,所述代理缓存节点中存储有从所述源服务器获得的资源,每个边缘缓存节点中包括第一缓存列表,所述代理缓存节点中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息,所述方法包括:
所述控制平台获得每个边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表;
所述控制平台针对每个边缘缓存节点,将该边缘缓存节点的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL;
所述控制平台将每个边缘缓存节点的第一URL发送给对应的边缘缓存节点;
每个边缘缓存节点根据接收到的第一URL,从所述代理缓存节点获取并缓存所述第一待缓存资源。
第四方面,本申请实施例提供一种资源缓存装置,应用于CDN系统中的控制平台,所述CDN系统中还包括通信连接的源服务器、代理缓存节点及多个边缘缓存节点,所述代理缓存节点中存储有从所述源服务器获得的资源,每个边缘缓存节点中包括第一缓存列表,所述代理缓存节点中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息,所述装置包括:
列表获得模块,用于获得每个边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表;
比较模块,用于针对每个边缘缓存节点,将该边缘缓存节点的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL;
发送模块,用于将各边缘缓存节点的第一URL发送给对应的边缘缓存节点,以使该边缘缓存节点从所述代理缓存节点获取并缓存所述第一待缓存资源。
第五方面,本申请实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式所述的资源缓存方法。
第六方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式所述的资源缓存方法。
本申请实施例提供的资源缓存方法、装置、电子设备及可读存储介质,在获得每个边缘缓存节点根据本机已存储的资源生成的第一缓存列表、以及代理缓存节点根据从源服务器获得并存储的资源生成的第二缓存列表的情况下,针对每个边缘缓存界面,将该边缘缓存节点的第一缓存列表与第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL,进而将各边缘缓存节点的第一URL发送给对应的边缘缓存节点,以使该边缘缓存节点从代理缓存节点获取并缓存第一待缓存资源。由此,可利用存储了从源服务器处获得的资源的代理缓存节点,对各边缘缓存节点的资源进行更新,使得不同边缘缓存节点缓存的内容一致,不会存在新旧差异,同时还不会增加源服务器的工作量。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的CDN系统的示意图;
图2为本申请实施例提供的电子设备的方框示意图;
图3为本申请实施例提供的资源缓存方法的流程示意图之一;
图4为本申请实施例提供的资源缓存方法的流程示意图之二;
图5为本申请实施例提供的资源缓存方法的流程示意图之三;
图6为本申请实施例提供的资源缓存方法的流程示意图之四;
图7为本申请实施例提供的资源缓存方法的流程示意图之五;
图8为本申请实施例提供的资源缓存装置的方框示意图之一;
图9为本申请实施例提供的资源缓存装置的方框示意图之二。
图标:10-CDN系统;20-电子设备;21-存储器;22-处理器;23-通信单元;100-源服务器;200-边缘缓存节点;300-控制平台;400-代理缓存节点;500(600)-资源缓存装置;510-列表获得模块;520-比较模块;530-发送模块;610-请求接收模块;620-资源发送模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
CDN(Content Delivery Network,内容分发网络),是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
CDN是构建在现有互联网基础之上的一层智能虚拟网络,通过在边缘网络各处反向代理服务器,将源服务器内容分发至所有边缘缓存节点,使用户可以就近获得所需的内容。靠近用户的边缘缓存节点上存放有相关资源文件,使得在接收到用户请求时,不需要从源服务器上获取资源,减少了源服务器的负载和用户的等待资源的时间。
目前使用的CDN缓存方法为:当用户访问使用CDN服务的网站时,CDN通过一组预先定义好的策略(比如,与内容类型、地理区域、网络负载状况等相关的策略),将当时能够最快响应用户的CDN节点(即边缘缓存节点)提供给用户;用户向对应CDN节点发起请求,若对应CDN节点上不存在请求资源,对应CDN节点则将请求转发至源服务器,对应CDN节点作为反向代理,将源服务器的响应内容返回给客户端,同时将响应内容中的资源进行缓存。在资源缓存生命周期内,后续客户端请求均由CDN节点返回,不再进行回源转发。
在使用这种CDN缓存方法进行资源缓存时,若源服务器做同名文件更新,也即只是资源内容发生了变化,如果没有手动刷新边缘缓存节点的缓存资源,则会因为各边缘节点访问热度不一、缓存淘汰时间不一等导致不同边缘缓存节点上的缓存资源存在新旧差异。
针对以上情况,本申请实施例提供了一种资源缓存方法、装置、电子设备及可读存储介质,可使得不同边缘缓存节点缓存的内容不会存在新旧差异,同时不会增加源服务器的工作量。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请实施例提供的CDN系统10的示意图。所述CDN系统10中可以至少包括通信连接的源服务器100、多个边缘缓存节点200、控制平台300及代理缓存节点400。其中,所述源服务器100可以为一个或多个。代理缓存节点400及控制平台300可分别仅设置为一个。
一个源服务器100、一个边缘缓存节点200、代理缓存节点400中可以均只包括一个服务器,也可以是由多个服务器形成的集群服务器,具体可以根据实际需求确定,在此不进行具体限定。
每个边缘缓存节点200根据本机已存储的各资源生成第一缓存列表。一个边缘缓存节点200的第一缓存列表中,可以包括该边缘缓存节点200中已存储的各资源的URL及所述各资源的描述信息,各资源的URL及描述描述信息可以对应保存。其中,一URL对应的描述信息,可以是用于描述该URL对应的资源的情况的任意信息,具体可以结合实际需求设置。
所述代理缓存节点400中存储有从所述源服务器100处获得的资源。所述代理缓存节点400可以根据本机已存储的各资源生成第二缓存列表。该第二缓存列表中,可以包括所述代理缓存节点400已存储的各资源的URL及描述信息。
客户端可与边缘缓存节点200通信连接,以从边缘缓存节点200获取需要的资源。
请参照图2,图2为本申请实施例提供的电子设备20的方框示意图。该电子设备20可以作为图1中的控制平台300或者代理缓存节点400。所述电子设备20可以包括存储器21、处理器22及通信单元23。所述存储器21、处理器22以及通信单元23各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器21用于存储程序或者数据。所述存储器21可以是,但不限于,随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器22用于读/写存储器21中存储的数据或程序,并执行相应地功能。比如,存储器21中存储有资源缓存装置,所述资源缓存装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器21中的软件功能模块。所述处理器22通过运行存储在存储器21内的软件程序以及模块,如本申请实施例中的资源缓存装置,从而执行各种功能应用以及数据处理,即实现本申请实施例中的资源缓存方法。
通信单元23用于通过网络建立所述电子设备20与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图2所示的结构仅为电子设备20的结构示意图,所述电子设备20还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图3,图3为本申请实施例提供的资源缓存方法的流程示意图之一。所述方法可应用于图1所示的CDN系统10中的控制平台300。所述CDN系统10中还包括通信连接的源服务器100、代理缓存节点400及多个边缘缓存节点200,所述代理缓存节点400中存储有从所述源服务器100获得的资源,每个边缘缓存节点200中包括第一缓存列表,所述代理缓存节点400中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息。下面对该资源缓存方法的具体流程进行详细阐述。该资源缓存方法可以包括步骤S110、步骤S120及步骤S140。
步骤S110,获得每个边缘缓存节点200的第一缓存列表及代理缓存节点400的第二缓存列表。
在本实施例中,每个边缘缓存节点200中可包括与本机当前实际资源存储情况一致的第一缓存列表,代理缓存节点400中可包括与本机当前实际资源存储情况一致的第二缓存列表。第一缓存列表及第二缓存列表的更新方式在此不进行具体限定,只要保证这两个缓存列表与真实情况一致即可。也即,边缘缓存节点200及代理缓存节点400均需要维护各自的缓存列表。
所述控制平台300可以主动从所述边缘缓存节点200及代理缓存节点400处获得第一缓存列表及第二缓存类表。也可以是所述边缘缓存节点200及代理缓存节点400间隔一定时间将自身的缓存列表发送给所述控制平台300。当然可以理解的是,所述控制平台300还可以通过其他方式获得第一缓存列表及第二缓存列表,在此不进行具体限定。
步骤S120,针对每个边缘缓存节点200,将该边缘缓存节点200的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点200的第一待缓存资源的第一URL。
所述控制平台300可针对每个边缘缓存节点200,在获得该边缘缓存节点200的第一缓存列表及所述第二缓存列表的情况下,可对该第一缓存列表及第二缓存列表进行比对分析。在比对分析中,可以将该第一缓存列表中所包括的每条资源信息与第二缓存列表中所包括的每条资源信息进行比较。其中,一条资源信息对应一资源,包括该资源的URL及描述信息。
经过该比较,可确定出该第一缓存列表中与第二缓存列表中URL相同但描述信息不同的资源信息,进而将该资源信息中的URL作为该边缘缓存节点的第一待缓存资源的第一URL。也即,确定出了这两个缓存列表中的对应不同描述信息的相同URL,并将该相同URL作为了该边缘缓存节点的第一待缓存资源的第一URL。如此,可在一个第一缓存列表与第二缓存列表出现存在相同URL、但相同URL在两个缓存列表中对应的描述信息不同的情况下,将该相同URL对应的资源作为该第一缓存列表对应的边缘缓存节点200需要存储的第一待缓存资源。
可选地,作为一种可能的实现方式,所述描述信息可以包括一存储的各资源的缓存数据大小和/或缓存类型。其中,所述缓存类型表示文件类型,比如,apk、ipa、pxl等。在确定一个边缘缓存节点的第一待缓存资源的第一URL时,可比较该边缘缓存节点的第一缓存列表与所述第二缓存列表中的URL、缓存数据大小及缓存类型是否相同。可以理解的是,在所述描述信息仅包括缓存数据大小或者魂村类型时,则比较这两个缓存列表中的URL、缓存数据大小是否相同,或者是URL及缓存类型是否相同。
如此,可确定出该第一缓存列表和所述第二缓存列表中的相同URL,针对该部分相同URL,在该URL对应的缓存数据大小和/或缓存类型不同时,确定该URL为该边缘缓存节点的第一URL。比如,若一个URL存在与该第一缓存列表和第二缓存列表中,但该URL在第一缓存列表中对应的缓存数据大小与在第一缓存列表中对应的缓存数据大小不同,则可以将该URL作为该边缘缓存节点的第一URL。
针对每个边缘缓存节点,进行以上分析,即可确定出每个边缘缓存节点的第一待缓存资源的第一URL。
步骤S140,将各边缘缓存节点200的第一URL发送给对应的边缘缓存节点,以使该边缘缓存节点200从所述代理缓存节点获取并缓存所述第一待缓存资源。
在本实施例中,所述控制平台300可以同时将各边缘缓存节点200的第一URL发送给相应的边缘缓存节点,也可以分时进行发送,在此不进行具体限定。边缘缓存节点200在接收到所述控制平台300发送的第一URL的情况下,可基于该第一URL向所述代理缓存节点400发送资源获取请求,从而得到与该第一URL对应的第一待缓存资源,并对该第一待缓存资源进缓存。
如此,可使得每个边缘缓存节点200中存储的与代理缓存节点400具有相同URL的资源的内容相同,从而减少由于源服务器100进行了同名文件更新导致不同边缘缓存节点200中的该同名文件的内容存在新旧差异的情况,同时由于是从代理缓存节点400获得第一待缓存资源,因此也不会增加源服务器100的工作量。
可选地,为避免所述代理缓存节点400出现并发受限,所述控制平台300可按照一定规则控制各边缘缓存节点200获取第一待缓存资源的时机。具体控制方式在此不进行具体限定。
可选地,在本实施例中,所述代理缓存节点400可按照预设频率,从所述源服务器100出获得资源并存储。其中,所述代理缓存节点400可根据预设域名,以预设频率从所述源服务器100处爬取资源。
可选地,所述代理缓存节点400使用的预设频率可以小于预设回源频率。其中预设回源频率可以是根据一般业务的回源频率进行设置的。如此,可保证代理缓存节点400中的资源更新的及时性。还可以在代理缓存节点400中更新了资源的情况下,对边缘缓存节点200的资源也进行比对更新,由此还可以确定边缘缓存节点的资源更新的及时性,同时避免在大量边缘缓存节点200缓存资源到期时,回源请求突增影响源服务器性能。
可选地,所述代理缓存节点400从源服务器100获得的静态资源的类型可以是预设类型。该预设类型可以是,但不限于,apk、ipa、pxl、deb、7z、exe、rmvb、rav、wma、wmv、rar、mp3、mp4、mpeg、mov、dat、doc、zip、avi、flv、swf、iso、bin、css、js、jpeg、jpg、png、gif、bmp、ogg、ico等。该预设类型可以是CDN系统中的控制中心通过设置具体策略指定的。
请参照图4,图4为本申请实施例提供的资源缓存方法的流程示意图之二。在本实施例中,所述方法还可以包括步骤S130。
步骤S130,将经过所述比较确定出的所述第二缓存列表中的其他URL,作为该边缘缓存节点200的第一待缓存资源的第一URL。
确定所述其他URL作为第一URL,以及确定不同描述信息对应的相同URL作为第一URL,两个步骤的执行顺序在此不做具体限定。
其中,所述其他URL为所述第二缓存列表的URL中除与该边缘缓存节点的第一缓存列表中相同的URL之外的URL。之后,可将该URL也发送给相应的边缘缓存节点200,使得相应的边缘缓存节点200也可以将该URL对应的资源作为需要缓存的第一待缓存资源。
如此,通过步骤S120及步骤S130,可确定出一个边缘缓存节点200的两种第一URL。也即,当代理缓存节点400中的第二缓存列表中包含了该边缘缓存节点200的第一缓存列表中不存在的URL、或者这两个缓存列表中存在相同URL但描述信息不同时,可将这部分URL作为该边缘缓存节点的第一待缓存资源的第一URL,进而使得该边缘缓存节点200向代理缓存节点400请求这部分URL,并缓存相应的第一待缓存资源。
目前使用的CDN缓存方法,在边缘缓存节点的缓存资源到期产生大量回源请求的情况下,可能会导致源服务器并发受限,产生拒绝服务,导致部分边缘缓存节点对404页面等其他非预期资源进行缓存。而本申请实施例提供的对边缘缓存节点200的资源进行更新的方式,是提前利用代理缓存节点400进行的资源更新,因此可以避免上述问题。
请参照图5,图5为本申请实施例提供的资源缓存方法的流程示意图之三。在本实施例中,所述方法还可以包括步骤S150及步骤S160。
步骤S150,在所述第一缓存列表中包括所述第二缓存列表中不包括的URL的情况下,将该URL作为所述代理缓存节点400的第二待缓存资源的第二URL。
步骤S160,将所述第二URL发送给所述代理缓存节点400,以使所述代理缓存节点400从所述源服务器100获取并缓存所述第二待缓存资源。
控制平台300在通过比较确定出每个边缘缓存节点200的第一URL时,也可以确定出每个边缘缓存节点200的第一缓存列表中是否包括了所述第二缓存列表中不包括的URL。在任意一个或多个第一缓存列表中包括所述第二缓存列表中不包括的URL的情况下,可将这种URL作为所述代理缓存节点400需要缓存的第二待缓存资源的第二URL。也即,可以将所有第一缓存列表中包括但第二缓存列表中不包括的URL,作为所述第二URL。
控制平台300在确定出代理缓存节点400的第二URL的情况下,可将该第二URL发送给所述代理缓存节点400。所述代理缓存节点400可基于该第二URL,向所述源服务器100发送资源获取请求,从而得到第二待缓存资源,并进行缓存。
由于代理缓存节点400不直接参与客户端与CDN系统的交互,并且代理缓存节点400在从源服务器100中获得资源时并不能完全模拟用户行为,因此可能存在部分资源是代理缓存节点400无法获得的,比如,部分孤岛页面资源。其中,孤岛页面,是指没有内部链接支撑的网站页面。而通过以上步骤S150及步骤S160,则可以保证代理缓存节点400中存储了足够多的边缘缓存节点200更新资源时需要的资源。
其中,在进行资源更新时,若更新资源的设备出现存储空间不足的情况下,则该设备可以先将需要更新的资源中的最新资源更新到本设备,以保证本设备获得了最新资源。
本申请实施例相对于现有的CDN系统,在CDN系统增加了代理缓存节点400及控制平台300,同时新增了代理缓存机制和节点的缓存列表。代理缓存节点400以预设频率从源服务器100处获得资源,以保证及时获取源服务器100最新的资源。控制平台300收集边缘缓存节点200的第一缓存列表及代理缓存节点400的第二缓存列表,并作分析,在边缘缓存节点200和代理缓存节点400所维护的缓存列表存在不一致的情况时,及时进行相应处理,确保边缘缓存节点200及代理缓存节点400中的资源始终处于最新的状态。由此,在对源服务器100不做任何调整的情况下,实现对CDN缓存资源的优化。
本申请实施例中的代理缓存节点400,不直接参与客户端与CDN交互和边缘缓存节点200回源,主要用于以较低频率向源服务器请求资源,保证资源更新的及时性,同时避免在大量边缘缓存节点200缓存资源到期时回源请求突增影响源服务器100性能。
请参照图6,图6为本申请实施例提供的资源缓存方法的流程示意图之四。该资源缓存方法可以应用于图1所示的CDN系统10中的代理缓存节点400。所述CDN系统10中还包括通信连接的源服务器100、控制平台300及多个边缘缓存节点200。所述代理缓存节点400中存储有从所述源服务器100获得的资源。每个边缘缓存节点200中包括第一缓存列表,所述代理缓存节点400中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息。下面对该资源缓存方法进行简要描述。该资源缓存方法可以包括步骤S210及步骤S220。
步骤S210,接收边缘缓存节点200根据所对应的第一待缓存资源的第一URL发送的资源获取请求。
其中,该边缘缓存节点的第一URL由所述控制平台根据该边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表经过比较确定。所述第一URL包括该边缘缓存节点的第一缓存列表中与所述第二缓存列表中对应不同描述信息的相同URL。
所述第一URL还可以包括第二缓存列表中的其他URL,所述其他URL为所述第二缓存列表的URL中除与该边缘缓存节点的第一缓存列表中相同的URL之外的URL。
步骤S220,向边缘缓存节点200返回第一待缓存资源,以便边缘缓存节点200缓存对应的第一待缓存资源。
在本实施例中,关于步骤S210及步骤S220的具体描述,可以参照上文对应用于控制平台300的资源缓存方法的描述,在此不再赘述。
请参照图7,图7为本申请实施例提供的资源缓存方法的流程示意图之五。该资源缓存方法可应用于图1所示的CDN系统10。所述CDN系统10中包括通信连接的源服务器100、代理缓存节点400、控制平台300及多个边缘缓存节点200。所述代理缓存节点400中存储有从所述源服务器100获得的资源。每个边缘缓存节点200中包括第一缓存列表,所述代理缓存节点400中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息。下面对资源缓存方法进行简要描述。该资源缓存方法可以包括步骤S310~步骤S340。
步骤S310,所述控制平台300获得每个边缘缓存节点200的第一缓存列表及代理缓存节点400的第二缓存列表。
步骤S320,所述控制平台300针对每个边缘缓存节点200,将该边缘缓存节点200的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点200的第一待缓存资源的第一URL。
步骤S330,所述控制平台300将每个边缘缓存节点200的第一URL发送给对应的边缘缓存节点200。
步骤S340,每个边缘缓存节点200根据接收到的第一URL,从所述代理缓存节点获取并缓存所述第一待缓存资源。
在本实施例中,关于应用于CDN系统10的资源缓存方法的具体描述,可以参照上文对应用于控制平台300的资源缓存方法的描述,在此不再赘述。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种资源缓存装置的实现方式,可选地,该资源缓存装置可以采用上述图2所示的电子设备20的器件结构。需要说明的是,本实施例所提供的资源缓存装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
请参照图8,图8为本申请实施例提供的资源缓存装置500的方框示意图之一。该资源缓存装置500可应用于应用于CDN系统10中的控制平台300。所述CDN系统10中还包括通信连接的源服务器100、代理缓存节点400及多个边缘缓存节点200。所述代理缓存节点400中存储有从所述源服务器100获得的资源。每个边缘缓存节点200中包括第一缓存列表,所述代理缓存节点400中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息。该资源缓存装置500可以包括:列表获得模块510、比较模块520及发送模块530。
所述列表获得模块510,用于获得每个边缘缓存节点200的第一缓存列表及代理缓存节点400的第二缓存列表。
所述比较模块520,用于针对每个边缘缓存节点200,将该边缘缓存节点200的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点200的第一待缓存资源的第一URL。
所述发送模块530,用于将各边缘缓存节点200的第一URL发送给对应的边缘缓存节点200,以使该边缘缓存节点200从所述代理缓存节点400获取并缓存所述第一待缓存资源。
请参照图9,图9为本申请实施例提供的资源缓存装置600的方框示意图之二。该资源缓存装置600可以应用于图1所示的CDN系统10中的代理缓存节点400。该资源缓存装置600可以包括请求接收模块610及资源发送模块620。
所述请求接收模块610,用于接收边缘缓存节点200根据所对应的第一待缓存资源的第一URL发送的资源获取请求。
其中,该边缘缓存节点200的第一URL由所述控制平台根据该边缘缓存节点200的第一缓存列表及代理缓存节点400的第二缓存列表经过比较确定,所述第一URL包括该边缘缓存节点的第一缓存列表中与所述第二缓存列表中对应不同描述信息的相同URL。
资源发送模块620,用于向边缘缓存节点返回第一待缓存资源,以便边缘缓存节点缓存对应的第一待缓存资源。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图2所示的存储器21中或固化于电子设备20的操作系统(Operating System,OS)中,并可由图2中的处理器22执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器21中。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的资源缓存方法。
综上所述,本申请实施例提供一种资源缓存方法、装置、电子设备及可读存储介质,在获得每个边缘缓存节点根据本机已存储的资源生成的第一缓存列表、以及代理缓存节点根据从源服务器获得并存储的资源生成的第二缓存列表的情况下,针对每个边缘缓存界面,将该边缘缓存节点的第一缓存列表与第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL,进而将各边缘缓存节点的第一URL发送给对应的边缘缓存节点,以使该边缘缓存节点从代理缓存节点获取并缓存第一待缓存资源。由此,可利用存储了从源服务器处获得的资源的代理缓存节点,对各边缘缓存节点的资源进行更新,使得不同边缘缓存节点缓存的内容一致,不会存在新旧差异,同时还不会增加源服务器的工作量。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的可选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种资源缓存方法,其特征在于,应用于CDN系统中的控制平台,所述CDN系统中还包括通信连接的源服务器、代理缓存节点及多个边缘缓存节点,所述代理缓存节点中存储有从所述源服务器获得的资源,每个边缘缓存节点中包括第一缓存列表,所述代理缓存节点中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息,所述方法包括:
获得每个边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表;
针对每个边缘缓存节点,将该边缘缓存节点的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL;
将各边缘缓存节点的第一URL发送给对应的边缘缓存节点,以使该边缘缓存节点从所述代理缓存节点获取并缓存所述第一待缓存资源。
2.根据权利要求1所述的方法,其特征在于,所述描述信息包括已存储的各资源的缓存数据大小和/或缓存类型,所述将该边缘缓存节点的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的与所述第二缓存列表中的描述信息不同的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL,包括:
比较该边缘缓存节点的第一缓存列表与所述第二缓存列表中的URL、缓存数据大小及缓存类型是否相同;
针对第一缓存列表和所述第二缓存列表中相同的URL,在该URL对应的缓存数据大小和/或缓存类型不同时,确定该URL为该边缘缓存节点的第一URL。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将经过所述比较确定出的所述第二缓存列表中的其他URL,作为该边缘缓存节点的第一待缓存资源的第一URL,其中,所述其他URL为所述第二缓存列表的URL中除与该边缘缓存节点的第一缓存列表中相同的URL之外的URL。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一缓存列表中包括所述第二缓存列表中不包括的URL的情况下,将该URL作为所述代理缓存节点的第二待缓存资源的第二URL;
将所述第二URL发送给所述代理缓存节点,以使所述代理缓存节点从所述源服务器获取并缓存所述第二待缓存资源。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述代理缓存节点中保存有以预设频率从所述源服务器获得的资源。
6.一种资源缓存方法,其特征在于,应用于CDN系统中的代理缓存节点,所述CDN系统中还包括通信连接的源服务器、控制平台及多个边缘缓存节点,所述代理缓存节点中存储有从所述源服务器获得的资源,每个边缘缓存节点中包括第一缓存列表,所述代理缓存节点中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息,所述方法还包括:
接收边缘缓存节点根据所对应的第一待缓存资源的第一URL发送的资源获取请求,其中,该边缘缓存节点的第一URL由所述控制平台根据该边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表经过比较确定,所述第一URL包括该边缘缓存节点的第一缓存列表中与所述第二缓存列表中对应不同描述信息的相同URL;
向边缘缓存节点返回第一待缓存资源,以便边缘缓存节点缓存对应的第一待缓存资源。
7.一种资源缓存方法,其特征在于,应用于CDN系统,所述CDN系统中包括通信连接的源服务器、代理缓存节点、控制平台及多个边缘缓存节点,所述代理缓存节点中存储有从所述源服务器获得的资源,每个边缘缓存节点中包括第一缓存列表,所述代理缓存节点中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息,所述方法包括:
所述控制平台获得每个边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表;
所述控制平台针对每个边缘缓存节点,将该边缘缓存节点的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL;
所述控制平台将每个边缘缓存节点的第一URL发送给对应的边缘缓存节点;
每个边缘缓存节点根据接收到的第一URL,从所述代理缓存节点获取并缓存所述第一待缓存资源。
8.一种资源缓存装置,其特征在于,应用于CDN系统中的控制平台,所述CDN系统中还包括通信连接的源服务器、代理缓存节点及多个边缘缓存节点,所述代理缓存节点中存储有从所述源服务器获得的资源,每个边缘缓存节点中包括第一缓存列表,所述代理缓存节点中包括第二缓存列表,所述第一缓存列表及第二缓存列表中包括本机已存储的各资源的URL及描述信息,所述装置包括:
列表获得模块,用于获得每个边缘缓存节点的第一缓存列表及代理缓存节点的第二缓存列表;
比较模块,用于针对每个边缘缓存节点,将该边缘缓存节点的第一缓存列表与所述第二缓存列表进行比较,并将经过比较确定出的对应不同描述信息的相同URL,作为该边缘缓存节点的第一待缓存资源的第一URL;
发送模块,用于将各边缘缓存节点的第一URL发送给对应的边缘缓存节点,以使该边缘缓存节点从所述代理缓存节点获取并缓存所述第一待缓存资源。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-6中任意一项所述的资源缓存方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任意一项所述的资源缓存方法。
CN202111140016.9A 2021-09-28 2021-09-28 资源缓存方法、装置、电子设备及可读存储介质 Active CN114125060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111140016.9A CN114125060B (zh) 2021-09-28 2021-09-28 资源缓存方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111140016.9A CN114125060B (zh) 2021-09-28 2021-09-28 资源缓存方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114125060A true CN114125060A (zh) 2022-03-01
CN114125060B CN114125060B (zh) 2023-10-13

Family

ID=80441513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111140016.9A Active CN114125060B (zh) 2021-09-28 2021-09-28 资源缓存方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114125060B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130318229A1 (en) * 2012-05-25 2013-11-28 Netapp, Inc. Method and system for name space propagation and file caching to remote nodes in a storage system
CN106850817A (zh) * 2012-12-10 2017-06-13 北京奇虎科技有限公司 一种下载管理设备、方法及数据下载系统
CN110943876A (zh) * 2018-09-21 2020-03-31 阿里巴巴集团控股有限公司 Url状态检测方法、装置、设备和系统
CN112513830A (zh) * 2019-07-15 2021-03-16 华为技术有限公司 内容分发网络中的回源方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130318229A1 (en) * 2012-05-25 2013-11-28 Netapp, Inc. Method and system for name space propagation and file caching to remote nodes in a storage system
CN106850817A (zh) * 2012-12-10 2017-06-13 北京奇虎科技有限公司 一种下载管理设备、方法及数据下载系统
CN110943876A (zh) * 2018-09-21 2020-03-31 阿里巴巴集团控股有限公司 Url状态检测方法、装置、设备和系统
CN112513830A (zh) * 2019-07-15 2021-03-16 华为技术有限公司 内容分发网络中的回源方法及相关装置

Also Published As

Publication number Publication date
CN114125060B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
RU2673403C2 (ru) Способ доступа к веб-узлам, устройство и система веб-узла
JP6607783B2 (ja) 分散キャッシュクラスタ管理
JP4698756B2 (ja) ウェブベースアプリケーションのオフライン実行
US20180060431A1 (en) Managing cached data in a network environment
US10462250B2 (en) Distributed caching cluster client configuration
US7953887B2 (en) Asynchronous automated routing of user to optimal host
CN108173774B (zh) 一种客户端的升级方法及系统
US9262323B1 (en) Replication in distributed caching cluster
CN104468807A (zh) 进行网页缓存的处理方法、云端装置、本地装置及系统
US9529772B1 (en) Distributed caching cluster configuration
CN104714965A (zh) 静态资源去重方法、静态资源管理方法及装置
US20190155798A1 (en) Cache management
CN109634753B (zh) 切换浏览器内核的数据处理方法、装置、终端和存储介质
WO2017095820A1 (en) Methods and devices for acquiring data using virtual machine and host machine
CN114598748A (zh) 缓存资源的刷新方法、装置及系统
CN114125060B (zh) 资源缓存方法、装置、电子设备及可读存储介质
CN109547508A (zh) 一种实现资源访问的方法、装置及系统
JP4852326B2 (ja) サーバ装置
US10972577B1 (en) Systems, methods, and storage media for managing traffic on a digital content delivery network
US20140019518A1 (en) Delay the Persistent Memory Storage of Website Data to Control Data That is Stored in the Browser
CN108073660B (zh) 一种实现缓存数据同步的方法及系统
JP2017535847A (ja) コンテンツ・キャッシングおよび伝送の方法およびシステム
CN111125580A (zh) 网络资源获取方法、装置、电子设备及存储介质
CN110555040A (zh) 一种数据缓存方法、装置及服务器
CN113010816A (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