CN115733883B - 一种刷新cdn缓存的方法及装置 - Google Patents

一种刷新cdn缓存的方法及装置 Download PDF

Info

Publication number
CN115733883B
CN115733883B CN202211680741.XA CN202211680741A CN115733883B CN 115733883 B CN115733883 B CN 115733883B CN 202211680741 A CN202211680741 A CN 202211680741A CN 115733883 B CN115733883 B CN 115733883B
Authority
CN
China
Prior art keywords
refreshing
task
refresh
queue
cache
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
Application number
CN202211680741.XA
Other languages
English (en)
Other versions
CN115733883A (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.)
Jiangsu Yungongchang Information Technology Co ltd
Original Assignee
Jiangsu Yungongchang 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 Jiangsu Yungongchang Information Technology Co ltd filed Critical Jiangsu Yungongchang Information Technology Co ltd
Priority to CN202211680741.XA priority Critical patent/CN115733883B/zh
Publication of CN115733883A publication Critical patent/CN115733883A/zh
Application granted granted Critical
Publication of CN115733883B publication Critical patent/CN115733883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本申请提供的一种刷新CDN缓存的方法及装置,包括:接收待刷新缓存的URL,生成刷新任务;读取多个任务刷新队列,根据每个所述任务刷新队列的消息数量,判断并将所述刷新任务写入所述消息数量最少的所述任务刷新队列;根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点;所述缓存节点根据所述刷新任务执行刷新缓存。本申请通过将大量需要刷新的资源提交到任务生成器、刷新队列,大量任务同时提交时,分配到不同的队列进行消费,并且在刷新任务独立以及节点链路间做TLS双向加密认证,确保在公网数据传输安全,解决用户快速处理异常缓存的需求。

Description

一种刷新CDN缓存的方法及装置
技术领域
本申请涉及CDN节点缓存刷新领域,尤其涉及一种刷新CDN缓存的方法。本申请还涉及一种刷新CDN缓存的装置。
背景技术
CDN的全称是ContentDeliveryNetwork,即内容分发网络。CDN技术的基本思路是:尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。
所述CDN作为一种新的网络内容服务体系,它是在IP网络基础上而构建而成的,用于实现内容访问与应用的效率要求、质量要求和内容秩序而提供内容的分发和服务。
所述CDN是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要求,而内容管理和全局的网络流量管理是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。
具体的,内容服务基于缓存服务器,也称作代理缓存,它位于网络的边缘,距用户仅有"一跳"之遥。同时,代理缓存是内容提供商源服务器的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。
CDN服务中,当客户业务量需求增多,刷新的量也同样增多,不单纯针对单个URL进行刷新或者单个目录刷新,往往一次提交上万或者上十万百万条资源进行更新,这种情况对于CDN刷新服务的稳定性以及安全性都有着很高的要求。
申请号:202110742356.2,发明名称为:一种CDN内容管理系统的中国专利提出一种系统,包括应用程序接口模块、发布订阅消息系统、任务管理模块、代理模块和服务节点集群。应用程序接口模块用于接收CDN用户发起的刷新请求,针对刷新请求中待刷新内容的URL创建刷新任务,并将刷新任务发布至发布订阅消息系统中与CDN用户的优先级相对应的主题队列中,发布订阅消息系统包含有针对至少两种CDN用户的优先级所配置的主题队列;任务管理模块按照优先级由高到低的顺序轮询发布订阅消息系统中的主题队列以执行:提取刷新任务,将提取得到的刷新任务配置为由服务节点执行的节点任务,将节点任务分配至代理模块;代理模块将得到的节点任务转发至服务节点集群中对应的服务节点,由服务节点完成内容刷新。
但是,例如上述现有技术方案,现有的CDN厂商可能存在刷新队列单一、稳定性较差、刷新慢而且不安全等。
发明内容
本发明的目的在于克服现有技术中存在的缺陷,提供一种刷新CDN缓存的方法。本申请还涉及一种刷新CDN缓存的装置。
本申请提供的一种刷新CDN缓存的方法,包括:
接收待刷新缓存的URL,生成刷新任务;
读取多个任务刷新队列,根据每个所述任务刷新队列的消息数量,和预计等待时间进行判断,并将所述刷新任务写入所述消息数量最少的所述任务刷新队列,该判断基于相同周期位置的消息数量和预计等待时间进行综合的判断,其中所述预计等待时间根据刷新任务队列的消息发送数据总量、历史刷新任务队列的消息发送数据总量和发送完毕时间进行确定;
根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点;
所述缓存节点根据所述刷新任务执行刷新缓存。
可选的,所述CDN缓存节点包括:
设置有接收缓存队列,用于缓存接收的所述URL。
可选的,所述任务刷新队列和所述缓存节点之间设置有TLS双向加密认证。
可选的,所述执行刷新缓存后,在操作记录中保留平台的所有资源的刷新情况。
可选的,所述执行刷新缓存后,展示当前资源的刷新状态以及刷新进度。
本申请还提供一种刷新CDN缓存的装置,包括:
接收模块,用于接收待刷新缓存的URL,生成刷新任务;
判断模块,用于读取多个任务刷新队列,根据每个所述任务刷新队列的消息数量,判断并将所述刷新任务写入所述消息数量最少的所述任务刷新队列;
发送模块,用于根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点;
执行模块,用于所述缓存节点根据所述刷新任务执行刷新缓存。
可选的,所述CDN缓存节点包括:
设置有接收缓存队列,用于缓存接收的所述URL。
可选的,所述任务刷新队列和所述缓存节点之间设置有TLS双向加密认证。
可选的,所述执行刷新缓存后,在操作记录中保留平台的所有资源的刷新情况。
可选的,所述执行刷新缓存后,展示当前资源的刷新状态以及刷新进度。
本申请的优点和有益效果:
本申请提供的一种刷新CDN缓存的方法,包括:接收待刷新缓存的URL,生成刷新任务;读取多个任务刷新队列,根据每个所述任务刷新队列的消息数量,判断并将所述刷新任务写入所述消息数量最少的所述任务刷新队列;根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点;所述缓存节点根据所述刷新任务执行刷新缓存。本申请通过将大量需要刷新的资源提交到任务生成器、刷新队列,大量任务同时提交时,分配到不同的队列进行消费,并且在刷新任务独立以及节点链路间做TLS双向加密认证,确保在公网数据传输安全,解决用户快速处理异常缓存的需求。
附图说明
图1是本申请中刷新CDN缓存流程示意图。
图2是本申请中刷新CDN缓存的系统结构示意图。
图3是本申请中刷新CDN缓存装置示意图。
图4 是本申请中URL 或目录对资源进行刷新示意图。
图5是本申请中边缘缓存资源的刷新情况示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施。
以下内容均是为了详细说明本申请要保护的技术方案所提供的具体实施过程的示例,但是本申请还可以采用不同于此的描述的其他方式实施,本领域技术人员可以在本申请构思的指引下,采用不同的技术手段实现本申请,因此本申请不受下面具体实施例的限制。
本申请提供的一种刷新CDN缓存的方法,包括:
接收待刷新缓存的URL,生成刷新任务;
读取多个任务刷新队列,根据每个所述任务刷新队列的消息数量,判断并将所述刷新任务写入所述消息数量最少的所述任务刷新队列;
根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点;所述缓存节点根据所述刷新任务执行刷新缓存。
本申请通过将大量需要刷新的资源提交到任务生成器、刷新队列,大量任务同时提交时,分配到不同的队列进行消费,并且在刷新任务独立以及节点链路间做TLS双向加密认证,确保在公网数据传输安全,解决用户快速处理异常缓存的需求。
具体的,客户通过CDN控制台提交URL刷新任务写入到任务生成器,然后任务生成器在多个刷新任务队列里选择一个写入刷新任务,缓存节点的刷机控制器同时消费数据中心的多个刷新队列的任务。由于消费任务需要经过公网,因此这里需要对数据中心的刷新任务队列和缓存节点的刷新控制器间的链跟做TLS双向加密认证。刷新控制器收到刷新任务后,对所在节点上的所有缓存组件发起刷新请求,清除缓存。
图1是本申请中刷新CDN缓存流程示意图。
请参照图1所示,S101接收待刷新缓存的URL,生成刷新任务。
本申请所述CDN服务是依靠实体的承载网建立的,所述承载网是分布在不同区域的CDN服务器、CDN服务器群、网关节点以及用户和服务器组成的分布式网络。
所述CDN服务应用主要包括内容加速,例如:图片小文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速等等。
如阿里云为例,CDN服务的流程如下:
假设使用CDN进行加速服务的域名为XXX,当用户接入CDN网络使用加速服务后:
所述用户发起HTTP请求时,首先向本地DNS发起域名解析请求;
本地DNS检查在本地缓存中是否有域名为XXX的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询;
当授权DNS解析所述XXX域名时,返回文件服务器中对应的IP地址。然后域名解析请求发送至DNS调度系统,并为请求分配最佳节点IP地址。LDNS获取DNS返回的解析IP地址。
然后,用户获取解析IP地址;
用户向获取的IP地址发起对该资源的访问请求。
如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,请求结束。
如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,并返回给用户,请求结束。
所述CDN边缘节点用于提供资源的刷新和预热功能。通过刷新功能,可以强制CDN边缘节点回源并获取最新文件;通过预热功能您可以在业务高峰期预热热门资源,提高资源访问效率。
所述CDN边缘节点提供的资源的刷新和预热功能,包括:
所述刷新功能是指提交URL刷新或目录刷新请求后,所述CDN节点的缓存内容将会被强制过期,当向所述CDN边缘节点请求资源时,所述CDN会直接回源站获取对应的资源返回,并将其缓存。
所述预热功能是指提交URL预热请求后,源站将会主动将对应的资源缓存到所述CDN边缘节点,当首次请求时,就能直接从CDN节点缓存中获取到最新的请求资源,无需再回源站获取。预热功能会提高缓存命中率。
刷新分为两种:URL刷新和目录刷新。所述URL刷新:通过提供目录下文件的方式,强制CDN节点回源获取最新文件。所述目录刷新:通过提供目录及目录下所有文件的方式,强制CDN节点回源获取最新文件。
可知,在CDN服务中,当客户业务量需求增多,刷新的量也同样增多,此时用户则需要对刷新缓存进行控制。
图2是本申请中刷新CDN缓存的系统结构示意图。
如图2所示,本申请中,数据中心和CDN缓存节点通过公网进行数据传输,所述数中心中设置有控制台和刷新任务生成器,所述刷新任务生成器连接有多个刷新任务队列。
在本申请中,客户通过CDN控制台将需要刷新缓存的URL写入刷新任务生成器,然后将所述刷新任务添加到刷新任务队列中。
请参照图1所示,S102读取多个任务刷新队列,根据每个所述任务刷新队列的消息数量,判断并将所述刷新任务写入所述消息数量最少的所述任务刷新队列。
所述刷新任务生成器在多个刷新任务队列里选一个,写入所述刷新任务。所述选择是根据所述消息对应的数据量大小决定,即分析每个队列在当前状态下队列对应的数据发送完毕的时间越短,则其应当优先写入所述刷新任务。
所述发送完毕的时间的长短由发送平均速度和数据量大小共同决定,但是在进行所述刷新任务的发送时,每两个所述刷新任务之间还需要设置一定的缓存时间,因此,判断公式如下:
其中,所述是预计等待时间,所述/>是刷新任务队列的每一个刷新任务消息发送数据量值,所述/>是选择的一段预设时间段的历史刷新任务队列中每一个刷新任务发送数据量值,所述T是该/>对应刷新任务队列发送完毕的时间,所述i和j为序号,所述n、m为刷新任务数量,所述d是间隔时长。
基于上述公式,所述可以是某一时段刷新任务。基于历史数据的最高值。进一步的,为了可以更准确的进行所述速度的确定,将所述最高值进行如下修正:
基于时间对应关系,从历史数据中选择一个设定周期的、确定刷新任务数量和时间位置的多个,其中所述设定周期的是指在一个设定的周期,例如一天、一个月或者一年;还可以是基于数据发送规律设置的周期。所述确定刷新任务数量和时间长度分别是,发送数据量相同且发送时间段在每个周期的相同位置。
基于上述设置,确定一个数据筛选标准,例如将的值进行排序,选择上30%的数据进行求平均,将该平均数作为/>的值。
当所述刷新任务被建立后,根据所述刷新任务队列的大小进行选择,当所述/>值越大,则优先级越高,优选的,还可以通过深度神经网络进行所述/>大小的判断。例如,调取预先训练的深度神经网络模型,输入发送完毕的时间和消息数量,周期位置等数据,通过所述深度神经网络输出所述/>。所述周期位置是指在一个周期时间段中的时间段位置,该周期位置长度小于所述周期长度。
本申请中刷新任务队列有多个,即使有一个出现故障也不会影响整体上刷新任务的分发,可以实现高可用。
请参照图1所示,S103根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点。
缓存节点的刷机控制器同时消费数据中心的多个刷新队列的任务。由于消费任务需要经过公网,因此这里需要对数据中心的刷新任务队列和缓存节点的刷新控制器间的链跟做TLS双向加密认证。
所述TLS(transportlayersecurity)是在明文的上层和TCP层(传输控制协议)之间加上一层加密,这样就保证上层信息传输的安全。如HTTP协议是明文传输,加上TLS层之后,就有了HTTPS。其唯一目的就是保证上层通讯安全的一套机制。
本申请中刷新任务队列和缓存节点间的链路做TLS双向加密认证,可以保证公网上数据传输的安全性。
本申请中刷新任务由刷新队列异步发送,可以在网络不可靠的时候做重试等操作,保证刷新任务能可靠地发送到缓存节点。
在本领域中,通信有两类不同的基本方式:具有依时性的同步方式以及与时间无关的异步方式。消息传送中间件有许多不同类型,它们分别都能够支持一类基本方式的消息通信,有时可以支持两类方式。
根据定义,同步执行的特征为:在两个通信应用系统之间必须要进行同步,两个系统必须都在正常运行,并且会中断客户端的执行流,转而执行调用。发送程序和接收程序都必须一直做好相互通信的准备。发送程序首先向接收程序发起一个请求(发送消息)。发送程序紧接着就会堵塞它自身的进程,直到收到接收程序的响应。发送程序在收到响应后会继续向下进行处理。
当使用异步消息传送时,调用者在发送消息以后可以不用等待响应,可以接着处理其他任务。对于异步通信,一个应用程序(请求者或发送者)将请求发送给另一个应用程序,然后可以继续向下执行它自身的其他任务。发送程序无须等待接收程序的执行和返回结果,而是可以继续处理其他请求。与同步方式不同,异步方式中两个应用系统(发送程序和接收程序)无须同时都在运行,也无须同时都在处理通信任务。
请参照图1所示,S104所述缓存节点根据所述刷新任务执行刷新缓存。
刷新控制器收到刷新任务后,对所在节点上的所有缓存组件发起刷新请求,清除缓存。
在CDN服务中,支持通过URL或目录对资源进行刷新。执行刷新后,会在操作记录中保留平台的所有资源的刷新情况,展示当前资源的刷新状态(进行中、已完成、已失败)以及刷新进度。用户可实时查看边缘缓存资源的刷新情况。
本申请中,当用户提交大量刷新任务时,即使其中一个队列出现故障,也不会影响整体任务的分发,保证刷新任务实时处理,另外一个比较重要的点就是安全,可以使得刷新任务队列和缓存节点间的链路做TLS双向加密认证,可以保证公网上数据传输的安全性,用户也不必担心数据遭到泄露。并且所有热刷新任务都是异步发送,可以在网络不可靠的时候做重试等操作,保证刷新任务能可靠地发送到缓存节点。
本申请还提供一种刷新CDN缓存的装置,包括:接收模块301,判断模块302,发送模块303,执行模块304。
图3是本申请中刷新CDN缓存装置示意图。
请参照图3所示,接收模块301,用于接收待刷新缓存的URL,生成刷新任务。
本申请所述CDN服务是依靠实体的承载网建立的,所述承载网是分布在不同区域的CDN服务器、CDN服务器群、网关节点以及用户和服务器组成的分布式网络。
所述CDN服务应用主要包括内容加速,例如:图片小文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速等等。
如阿里云为例,CDN服务的流程如下:
假设使用CDN进行加速服务的域名为XXX,当用户接入CDN网络使用加速服务后:
所述用户发起HTTP请求时,首先向本地DNS发起域名解析请求;
本地DNS检查在本地缓存中是否有域名为XXX的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询;
当授权DNS解析所述XXX域名时,返回文件服务器中对应的IP地址。然后域名解析请求发送至DNS调度系统,并为请求分配最佳节点IP地址。LDNS获取DNS返回的解析IP地址。
然后,用户获取解析IP地址;
用户向获取的IP地址发起对该资源的访问请求。
如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,请求结束。
如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,并返回给用户,请求结束。
所述CDN边缘节点用于提供资源的刷新和预热功能。通过刷新功能,可以强制CDN边缘节点回源并获取最新文件;通过预热功能您可以在业务高峰期预热热门资源,提高资源访问效率。
所述CDN边缘节点提供的资源的刷新和预热功能,包括:
所述刷新功能是指提交URL刷新或目录刷新请求后,所述CDN节点的缓存内容将会被强制过期,当向所述CDN边缘节点请求资源时,所述CDN会直接回源站获取对应的资源返回,并将其缓存。
所述预热功能是指提交URL预热请求后,源站将会主动将对应的资源缓存到所述CDN边缘节点,当首次请求时,就能直接从CDN节点缓存中获取到最新的请求资源,无需再回源站获取。预热功能会提高缓存命中率。
刷新分为两种:URL刷新和目录刷新。所述URL刷新:通过提供目录下文件的方式,强制CDN节点回源获取最新文件。所述目录刷新:通过提供目录及目录下所有文件的方式,强制CDN节点回源获取最新文件。
可知,在CDN服务中,当客户业务量需求增多,刷新的量也同样增多,此时用户则需要对刷新缓存进行控制。
图2是本申请中刷新CDN缓存的系统结构示意图。
如图2所示,本申请中,数据中心和CDN缓存节点通过公网进行数据传输,所述数中心中设置有控制台和刷新任务生成器,所述刷新任务生成器连接有多个刷新任务队列。
在本申请中,客户通过CDN控制台将需要刷新缓存的URL写入刷新任务生成器,然后将所述刷新任务添加到刷新任务队列中。
请参照图3所示,判断模块302,用于读取多个任务刷新队列,根据每个所述任务刷新队列的消息数量,判断并将所述刷新任务写入所述消息数量最少的所述任务刷新队列。
所述刷新任务生成器在多个刷新任务队列里选一个,写入所述刷新任务。所述选择是根据所述消息对应的数据量大小决定,即分析每个队列在当前状态下队列对应的数据发送完毕的时间越短,则其应当优先写入所述刷新任务。
所述发送完毕的时间的长短由发送平均速度和数据量大小共同决定,但是在进行所述刷新任务的发送时,每两个所述刷新任务之间还需要设置一定的缓存时间,因此,判断公式如下:
其中,所述是预计等待时间,所述/>是刷新任务队列的每一个刷新任务消息发送数据量值,所述/>是选择的一段预设时间段的历史刷新任务队列中每一个刷新任务发送数据量值,所述T是该/>对应刷新任务队列发送完毕的时间,所述i和j为序号,所述n、m为刷新任务数量,所述d是间隔时长。
基于上述公式,所述可以是某一时段刷新任务。基于历史数据的最高值。进一步的,为了可以更准确的进行所述速度的确定,将所述最高值进行如下修正:
基于时间对应关系,从历史数据中选择一个设定周期的、确定刷新任务数量和时间位置的多个,其中所述设定周期的是指在一个设定的周期,例如一天、一个月或者一年;还可以是基于数据发送规律设置的周期。所述确定刷新任务数量和时间长度分别是,发送数据量相同且发送时间段在每个周期的相同位置。
基于上述设置,确定一个数据筛选标准,例如将的值进行排序,选择上30%的数据进行求平均,将该平均数作为/>的值。
当所述刷新任务被建立后,根据所述刷新任务队列的大小进行选择,当所述/>值越大,则优先级越高,优选的,还可以通过深度神经网络进行所述/>大小的判断。例如,调取预先训练的深度神经网络模型,输入发送完毕的时间和消息数量,周期位置等数据,通过所述深度神经网络输出所述/>。所述周期位置是指在一个周期时间段中的时间段位置,该周期位置长度小于所述周期长度。
本申请中刷新任务队列有多个,即使有一个出现故障也不会影响整体上刷新任务的分发,可以实现高可用。
请参照图3所示,发送模块303,用于根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点。
缓存节点的刷机控制器同时消费数据中心的多个刷新队列的任务。由于消费任务需要经过公网,因此这里需要对数据中心的刷新任务队列和缓存节点的刷新控制器间的链跟做TLS双向加密认证。
所述TLS(transportlayersecurity)是在明文的上层和TCP层(传输控制协议)之间加上一层加密,这样就保证上层信息传输的安全。如HTTP协议是明文传输,加上TLS层之后,就有了HTTPS。其唯一目的就是保证上层通讯安全的一套机制。
本申请中刷新任务队列和缓存节点间的链路做TLS双向加密认证,可以保证公网上数据传输的安全性。
本申请中刷新任务由刷新队列异步发送,可以在网络不可靠的时候做重试等操作,保证刷新任务能可靠地发送到缓存节点。
在本领域中,通信有两类不同的基本方式:具有依时性的同步方式以及与时间无关的异步方式。消息传送中间件有许多不同类型,它们分别都能够支持一类基本方式的消息通信,有时可以支持两类方式。
根据定义,同步执行的特征为:在两个通信应用系统之间必须要进行同步,两个系统必须都在正常运行,并且会中断客户端的执行流,转而执行调用。发送程序和接收程序都必须一直做好相互通信的准备。发送程序首先向接收程序发起一个请求(发送消息)。发送程序紧接着就会堵塞它自身的进程,直到收到接收程序的响应。发送程序在收到响应后会继续向下进行处理。
当使用异步消息传送时,调用者在发送消息以后可以不用等待响应,可以接着处理其他任务。对于异步通信,一个应用程序(请求者或发送者)将请求发送给另一个应用程序,然后可以继续向下执行它自身的其他任务。发送程序无须等待接收程序的执行和返回结果,而是可以继续处理其他请求。与同步方式不同,异步方式中两个应用系统(发送程序和接收程序)无须同时都在运行,也无须同时都在处理通信任务。
请参照图3所示,执行模块304,用于所述缓存节点根据所述刷新任务执行刷新缓存。
刷新控制器收到刷新任务后,对所在节点上的所有缓存组件发起刷新请求,清除缓存。
在CDN服务中,支持通过URL或目录对资源进行刷新。执行刷新后,会在操作记录中保留平台的所有资源的刷新情况,展示当前资源的刷新状态(进行中、已完成、已失败)以及刷新进度。用户可实时查看边缘缓存资源的刷新情况。
本申请中,当用户提交大量刷新任务时,即使其中一个队列出现故障,也不会影响整体任务的分发,保证刷新任务实时处理,另外一个比较重要的点就是安全,可以使得刷新任务队列和缓存节点间的链路做TLS双向加密认证,可以保证公网上数据传输的安全性,用户也不必担心数据遭到泄露。并且所有热刷新任务都是异步发送,可以在网络不可靠的时候做重试等操作,保证刷新任务能可靠地发送到缓存节点。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种刷新CDN缓存的方法,其特征在于,包括:
接收待刷新缓存的URL,生成刷新任务;
读取多个任务刷新队列,根据每个相同周期位置的所述任务刷新队列的消息数量和预计等待时间进行判断,分析得出每个任务刷新队列在当前状态下对应的数据发送完毕的时间,并将所述刷新任务写入所述数据发送完毕的时间最短的所述任务刷新队列,所述预计等待时间根据刷新任务队列的消息发送数据总量、历史刷新任务队列的消息发送数据总量和发送完毕时间进行确定,判断公式如下:
其中,所述是预计等待时间,所述/>是刷新任务队列的每一个刷新任务消息发送数据量值,所述/>是选择的一段预设时间段的历史刷新任务队列中每一个刷新任务发送数据量值,所述T是该/>对应刷新任务队列发送完毕的时间,所述i和j为序号,所述n、m为刷新任务数量,所述d是间隔时长;
根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点;
所述缓存节点根据所述刷新任务执行刷新缓存。
2.根据权利要求1所述刷新CDN缓存的方法,其特征在于,所述CDN缓存节点包括:
设置有接收缓存队列,用于缓存接收的所述URL。
3.根据权利要求1所述刷新CDN缓存的方法,其特征在于,所述任务刷新队列和所述缓存节点之间设置有TLS双向加密认证。
4.根据权利要求1所述刷新CDN缓存的方法,其特征在于,所述执行刷新缓存后,在操作记录中保留平台的所有资源的刷新情况。
5.根据权利要求1所述刷新CDN缓存的方法,其特征在于,所述执行刷新缓存后,展示当前资源的刷新状态以及刷新进度。
6.一种刷新CDN缓存的装置,其特征在于,包括:
接收模块,用于接收待刷新缓存的URL,生成刷新任务;
判断模块,用于读取多个任务刷新队列,根据每个相同周期位置的所述任务刷新队列的消息数量和预计等待时间进行判断,分析得出每个任务刷新队列在当前状态下对应的数据发送完毕的时间,并将所述刷新任务写入所述数据发送完毕的时间最短的所述任务刷新队列,所述预计等待时间根据刷新任务队列的消息发送数据总量、历史刷新任务队列的消息发送数据总量和发送完毕时间进行确定,判断公式如下:
其中,所述是预计等待时间,所述/>是刷新任务队列的每一个刷新任务消息发送数据量值,所述/>是选择的一段预设时间段的历史刷新任务队列中每一个刷新任务发送数据量值,所述T是该/>对应刷新任务队列发送完毕的时间,所述i和j为序号,所述n、m为刷新任务数量,所述d是间隔时长;
发送模块,用于根据所述任务刷新队列顺序,将所述刷新任务依次发送到CDN缓存节点;
执行模块,用于所述缓存节点根据所述刷新任务执行刷新缓存。
7.根据权利要求6所述刷新CDN缓存的装置,其特征在于,所述CDN缓存节点包括:
设置有接收缓存队列,用于缓存接收的所述URL。
8.根据权利要求6所述刷新CDN缓存的装置,其特征在于,所述任务刷新队列和所述缓存节点之间设置有TLS双向加密认证。
9.根据权利要求6所述刷新CDN缓存的装置,其特征在于,所述执行刷新缓存后,在操作记录中保留平台的所有资源的刷新情况。
10.根据权利要求6所述刷新CDN缓存的装置,其特征在于,所述执行刷新缓存后,展示当前资源的刷新状态以及刷新进度。
CN202211680741.XA 2022-12-27 2022-12-27 一种刷新cdn缓存的方法及装置 Active CN115733883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211680741.XA CN115733883B (zh) 2022-12-27 2022-12-27 一种刷新cdn缓存的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211680741.XA CN115733883B (zh) 2022-12-27 2022-12-27 一种刷新cdn缓存的方法及装置

Publications (2)

Publication Number Publication Date
CN115733883A CN115733883A (zh) 2023-03-03
CN115733883B true CN115733883B (zh) 2023-10-03

Family

ID=85302060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211680741.XA Active CN115733883B (zh) 2022-12-27 2022-12-27 一种刷新cdn缓存的方法及装置

Country Status (1)

Country Link
CN (1) CN115733883B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117194827B (zh) * 2023-11-08 2024-02-27 联通在线信息科技有限公司 Cdn目录刷新的方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016177283A1 (zh) * 2015-05-06 2016-11-10 阿里巴巴集团控股有限公司 缓存目录刷新方法和装置
CN110990302A (zh) * 2019-11-22 2020-04-10 北京云宽志业网络技术有限公司 数据缓存方法、装置、电子设备及存储介质
CN111131498A (zh) * 2018-03-23 2020-05-08 贵州白山云科技股份有限公司 Url信息更新方法、缓存服务器、设备及存储介质
CN111200637A (zh) * 2019-12-20 2020-05-26 新浪网技术(中国)有限公司 一种缓存的处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901860B (zh) * 2014-03-04 2018-03-23 中国科学院声学研究所 一种ndn与cdn互联互通的系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016177283A1 (zh) * 2015-05-06 2016-11-10 阿里巴巴集团控股有限公司 缓存目录刷新方法和装置
CN111131498A (zh) * 2018-03-23 2020-05-08 贵州白山云科技股份有限公司 Url信息更新方法、缓存服务器、设备及存储介质
CN110990302A (zh) * 2019-11-22 2020-04-10 北京云宽志业网络技术有限公司 数据缓存方法、装置、电子设备及存储介质
CN111200637A (zh) * 2019-12-20 2020-05-26 新浪网技术(中国)有限公司 一种缓存的处理方法及装置

Also Published As

Publication number Publication date
CN115733883A (zh) 2023-03-03

Similar Documents

Publication Publication Date Title
US11616826B2 (en) System providing faster and more efficient data communication
US10404790B2 (en) HTTP scheduling system and method of content delivery network
CN108173774B (zh) 一种客户端的升级方法及系统
CN1981501A (zh) 调度内容文件的分发的方法和缓存服务器网络
EP2272239A2 (en) Server selection for routing content to a client using application layer redirection
WO2017185633A1 (zh) Cdn服务器及其缓存数据的方法
CN115733883B (zh) 一种刷新cdn缓存的方法及装置
CN115883657A (zh) 一种云盘服务加速调度的方法及系统
CN114301848B (zh) 基于cdn的通信方法、系统、设备及存储介质
WO2024138821A1 (zh) 一种刷新cdn缓存的方法及装置

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