CN113886743B - 缓存资源的刷新方法、装置及系统 - Google Patents
缓存资源的刷新方法、装置及系统 Download PDFInfo
- Publication number
- CN113886743B CN113886743B CN202111491840.9A CN202111491840A CN113886743B CN 113886743 B CN113886743 B CN 113886743B CN 202111491840 A CN202111491840 A CN 202111491840A CN 113886743 B CN113886743 B CN 113886743B
- Authority
- CN
- China
- Prior art keywords
- resource
- regular expression
- request
- refreshing
- user terminal
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种缓存资源的刷新方法、装置及系统。其中,该方法包括:接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;响应于资源刷新通知,对缓存设备的缓存资源中与资源刷新通知匹配的第一资源进行操作,以使缓存设备不能利用第一资源对用户终端的资源请求进行响应,第一资源与资源请求所请求的资源匹配;在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;将第二资源发送给用户终端。本申请解决了相关技术中缓存的刷新效率较低的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种缓存资源的刷新方法、装置及系统。
背景技术
传统HTTP(超文本传输协议Hypertext Transfer Protocol的缩写)网站中,文件刷新的方式是:对资源文件设置过期时间,在文件过期后,客户端到源站验证本地缓存文件是否可用,如果源站对该文件没有修改,则告知客户端文件未修改,可使用本地缓存文件。
随着互联网的发展,对网站访问的用户群体也会随着增多,当网站的访问量到达一定程度后,就引入了缓存服务器的使用,缓存服务器的目的是为了减少对源站的请求,通常情况下,引入缓存服务器后,文件过期时还是需要回源验证的。对于这个问题,可以充分利用缓存服务器的优势,对缓存服务器和客户端设置不同的刷新过期时间,当源站资源更新的时候再通知缓存服务器更新资源,这样在及时更新客户端缓存的情况下,又能减少源站的请求。
比如一类资源对于客户端的过期时间设置5分钟,对于缓存服务器过期时间设置一天,源站在没有文件更新的情况下,缓存服务器一天只需要回源验证一次;在源站有资源更新的情况下,在更新资源的时候,同时通知缓存服务器资源已更新,而客户端每5分钟会来缓存服务器验证资源是否更新,这样客户端资源能得到及时更新,而源站只需要在文件更新的时候处理这类资源的请求。
因此在引入缓存服务器后,文件更新的时候,除了更新源站资源还需要通知缓存服务器更新文件,才能使资源得到及时的更新。随着业务的发展,网站的资源越来越多,使用这种文件刷新方式会变得效率较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种缓存资源的刷新方法、装置及系统,以至少解决相关技术中缓存的刷新效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种缓存资源的刷新方法,包括:接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;响应于资源刷新通知,对缓存设备的缓存资源中与资源刷新通知匹配的第一资源进行操作,以使缓存设备不能利用第一资源对用户终端的资源请求进行响应,第一资源与资源请求所请求的资源匹配;在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;将第二资源发送给用户终端。
根据本申请实施例的另一方面,还提供了一种缓存资源的刷新方法,包括:接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;响应于资源刷新通知,删除缓存设备的缓存资源中与资源刷新通知匹配的第一资源;在接收到用户终端的资源请求、且不能利用与资源请求匹配的第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;将第二资源发送给用户终端。
根据本申请实施例的另一方面,还提供了一种缓存资源的刷新装置,包括:第一接收单元,用于接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;第一处理单元,用于响应于资源刷新通知,对缓存设备的缓存资源中与资源刷新通知匹配的第一资源进行操作,以使缓存设备不能利用第一资源对用户终端的资源请求进行响应,第一资源与资源请求所请求的资源匹配;第一刷新单元,用于在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;第一发送单元,用于将第二资源发送给用户终端。
根据本申请实施例的另一方面,还提供了一种缓存资源的刷新装置,包括:第二接收单元,用于接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;第二处理单元,用于响应于资源刷新通知,删除缓存设备的缓存资源中与资源刷新通知匹配的第一资源;第二刷新单元,用于在接收到用户终端的资源请求、且不能利用与资源请求匹配的第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;第二发送单元,用于将第二资源发送给用户终端。
根据本申请实施例的另一方面,还提供了一种缓存资源的刷新系统,包括:源站,用于向缓存设备提供与资源请求匹配的第二资源;用户终端,用于在发送资源请求至缓存设备之后,从缓存设备接收与资源请求匹配的第二资源;缓存设备,用于在接收到资源刷新通知的情况下,对缓存资源中与资源刷新通知匹配的第一资源进行操作,以使被操作后的第一资源不能用于对用户终端的资源请求进行响应;在接收到资源请求、且不能利用第一资源进行响应的情况下,将从源站获取的第二资源发送给用户终端,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新,第一资源与资源请求所请求的资源匹配。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中任一实施例的步骤。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的缓存资源的刷新方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的缓存资源的刷新方法的流程图;
图3是根据本申请实施例的一种可选的缓存资源的刷新方法的流程图;
图4是根据本申请实施例的一种可选的缓存资源的刷新方案的示意图;
图5是根据本申请实施例的一种可选的缓存资源的刷新装置的示意图;
图6是根据本申请实施例的一种可选的缓存资源的刷新装置的示意图;以及,
图7是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种缓存资源的刷新方法的方法实施例。
可选地,在本实施例中,上述缓存资源的刷新方法可以应用于如图1所示的缓存资源的刷新系统,该系统包括CDN(即内容分发网络Content Delivery Network的简称)源站、多个CDN缓存服务器(即缓存设备,也可称为CDN节点)以及用户终端,源站是CDN网络中的核心,各CDN缓存服务器从源站获取文件缓存到本地,在用户终端请求时向用户终端进行分发。如图1所示,源站通过网络与各CDN缓存服务器连接,用户终端可以通过网络为之适配的CDN缓存服务器(一般是本地的CDN缓存服务器),上述网络包括但不限于:广域网、城域网或局域网,用户终端并不限定于PC、手机、平板电脑等。
本申请实施例的缓存资源的刷新方法可以由CDN缓存服务器来执行,图2是根据本申请实施例的一种可选的缓存资源的刷新方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,CDN缓存服务器接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新,即正则刷新。
刷新是指当客户源站资源发生变更后,需要将CDN缓存服务器上对应资源的缓存删除,用户再次访问此资源时会从源站获取更新后的资源,此操作称之为刷新。
正则刷新是指当客户源站某些指定条件的资源批量发生变更时,可以使用一条指令描述这些发生变更的资源,即通过正则表达式描述所有匹配变更的资源,这样客户(即使用CDN服务的公司、平台等)可以通过一条刷新指令刷新多条资源,此方法称之为正则刷新。
资源刷新通知是CDN刷新模块发送的,CDN刷新模块可以是一个单独的服务器,用于集中处理资源刷新通知,运行时接收各客户侧发送的资源刷新通知,将其转发到各个CDN缓存服务器;CDN刷新模块可以作为CDN源站的一个附属功能集成在CDN源站上;CDN刷新模块还可以作为客户服务器侧的一个附属功能集成在客户服务器上,由客户去触发刷新。
正则表达式是对字符串操作的一种逻辑公式,可用预先定义好的一些特定字符、及这些特定字符的组合,组成一个或多个“规则字符串”,这个“规则字符串”用来表达对资源的一种过滤逻辑。
例如,在本申请的技术方案中,“规则字符串”至少包括资源地址,这个地址可以具体到是某个特定资源的URL(即统一资源定位器Uniform Resource Locator的简称)地址,如http://123.com/abc/a.mv就是指abc这一目录下的a.mv这一个文件;这个地址还可以资源集合的地址,如http://123.com/abc就是指abc这一目录(该目录下可以包括多个资源)。
上述规则字符串还可以包括属性信息,即此时规则字符串就包括资源地址和属性信息,在进行匹配时就是从符合该资源地址的所有资源中过滤出属性信息也匹配的资源,如“http://123.com/abc/”&“.mv”就是在abc这一目录下寻找格式为“.mv”的文件,属性信息除了可以是格式外,还可以时缓存时间、资源大小、资源来源等,通过地址和属性信息的组合,可以实现各种资源的灵活过滤,例如:(“URL1”&“.mv”)or(“URL2”&“time<2021年11月26日21时0分0秒”)表示:从URL1这个地址中筛选出格式为“.mv”的文件,并从URL2这个地址中筛选出缓存时间早于2021年11月26日21时0分0秒的资源。
步骤S204,响应于资源刷新通知,CDN缓存服务器对缓存资源中与资源刷新通知匹配的第一资源进行操作,以使缓存设备不能利用第一资源对用户终端的资源请求进行响应,第一资源与资源请求所请求的资源匹配。在资源请求中存在用于唯一表示所请求资源的信息,如资源标识、资源URL等,后续以资源URL为例进行说明。
上述操作的目的就是让用户终端请求第一资源时,不能从缓存设备直接获取资源,至于此处的具体操作可以根据需求设定,如直接删除、设为过期等。
步骤S206,在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,CDN缓存服务器从源站获取与资源请求匹配的第二资源。
CDN缓存服务器在接收到资源请求时,若资源请求中用于唯一表示所请求资源的信息与正则表达式匹配,如资源请求中的URL(和第一资源的URL相同)落在正则表达式表示的地址范围内,如资源的URL“http://123.com/abc/a.mv”落在了正则表达式表示的地址范围“http://123.com/abc/”内,则认为需要对该资源请求中的URL进行回源刷新,虽然源请求中的URL和第一资源的URL相同,但是由于不存在能够用于直接响应的第一资源,所以不会直接返回第一资源,而是会从CDN源站按照该URL重新拉去新的资源,即第二资源,第二资源也是客户侧想要用来替换第一资源的资源,如新版本的软件、更新的视频等。
步骤S208,CDN缓存服务器将第二资源发送给用户终端。
在本申请的上述方案中,在接收到采用正则表达式的方式指示对缓存资源进行刷新的资源刷新通知的情况下,对缓存设备的缓存资源中与资源刷新通知匹配的第一资源进行操作,以使缓存设备不能利用第一资源对用户终端的资源请求(第一资源与资源请求所请求的资源匹配)进行响应;在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;将第二资源发送给用户终端,方案中采用正则表达式的方式对缓存资源进行刷新,可以实现资源的批量刷新,可以解决相关技术中缓存的刷新效率较低的技术问题,进而达到提高刷新效率的技术效果。
在相关技术中,若使用URL刷新,需要客户批量提供发生变更的资源列表,使用起来较为复杂,效率较低;若使用目录刷新,需要变更的资源处于多个目录或一个目录下,且该目录下的部分资源发生变更时,无法通过1条刷新指令精准刷新,可能会存在多刷的情况,比如/wwwroot/html目录下的html文件发生变更,其他文件无变更,使用目录刷新会将未变更的资源也执行刷新,从而影响其他资源的使用,并且为在刷新这些资源时会造成额外的带宽压力。
在本申请的上述方案中,除了采用正则表达式的方式能够提高刷新效率外,还具备如下优点:1)相对于URL刷新和目录刷新,采用正则表达式既可以实现批量刷新,还能利用属性准确的对符合要求的资源进行刷新,避免了对多余资源的刷新;2)仅仅在接收到用户终端的资源请求、且不能利用第一资源进行响应(即在第一资源被操作后首次被用户终端所请求)的情况下,才会从源站拉取资源,避免了大量缓存设备同时向源站请求资源造成的源站负载过大,另外,第二次及之后用户终端对相同资源的请求,由于本地已经对第一资源进行了刷新,刷新后的资源是第二资源,第二资源是可以直接用于进行响应的,故可以直接利用之前缓存的第二资源直接进行响应,避免重复从源站拉取资源;3)从源站获取与资源请求匹配的第二资源时,不用进行回源验证,而是直接获取第二资源,可以减少与源站的交互,降低源站的负载和对网络带宽的占用。
作为一种可选的实施例,下文结合上述图2所示步骤进一步详述本申请的技术方案:
在步骤S202提供的技术方案中,在CDN刷新模块需要刷新资源时,生成用于表示这些资源的正则表达式并发送给CDN缓存服务器,CDN缓存服务器接收资源刷新通知,并按照资源刷新通知的指示对缓存资源进行刷新。
可选地,在接收资源刷新通知之后,CDN缓存服务器按照如下方式对资源刷新通知采用的每个正则表达式进行处理:
步骤1,获取资源刷新通知中未处理过的正则表达式,记为第二正则表达式。
可选地,在得到第二正则表达式之后,可以对第二正则表达式进行校验,在校验通过之后,执行后续步骤,在校验不通过的情况下,向CDN刷新模块通告刷新失败,具体可以通知是第二正则式不合法,以便于客户对第二正则式进行核验。一种可选的具体校验方法如下:使用compile方法(或称为compile函数)对第二正则表达式进行编译,可将正则表达式的字符串形式编译为一个Pattern对象,若编译成功,则认为校验通过,否则认为校验不通过。
需要说明的是,若第二正则表达式中的域名存在共享域名(即虽然域名不同,但是两个域名中存储的资源相同,那么这两个域名就互为对方的共享域名),那么说明第二正则式还存在相应的第三正则式(第三正则式与第二正则式仅仅域名不同,第三正则式的域名部分为上述共享域名,所指向的资源完全相同),对于第二正则表达式和第三正则表达式均按照下述步骤处理。
在本申请的技术方案中,引入了共享域名这一特征,客户不用关心各个渠道中的相同资源,仅需更新其中一个即可做到对其他渠道相同资源的同步更新,大大减轻了其工作量。
步骤2,获取第二正则表达式中域名的第二域名哈希值。
例如,对于第二正则表达式http://123.com/abc,域名为“123.com”,可以利用哈希函数(将哈希表中元素的键值映射为元素存储位置的函数),如MD5、SHA-1、SHA-2、SHA-224等函数,计算出上述域名的第二域名哈希值。
可选地,在该步骤2中,还可包括:获取第三正则表达式中域名的第三域名哈希值。具体实现方式与上述内容类似。
步骤2,在哈希表中不存在以第二域名哈希值为索引的元素的情况下,在哈希表中创建以第二域名哈希值为索引、以第二正则表达式为键值的第二元素。
在哈希表中可以保存至少一个元素,每个元素以域名的哈希值为索引key、以包括有该域名的正则表达式为键值value,需要说明的是,每个域名可以对应存在多个正则表达式,换言之,用户可以分多次(用多个正则表达式)对同一域名下不同目录的资源进行分别更新,此时,这多个正则表达式对应的key相同,对应的value中保存了这多个正则表达式。上述value可以采用链表的形式存储数据,在插入新的正则表达式时,可以直接插入对尾。
可选地,在该步骤2中,还可包括:在哈希表中不存在以第三域名哈希值为索引的元素的情况下,在哈希表中创建以第三域名哈希值为索引、以第三正则表达式为键值的元素。具体实现方式与上述内容类似。
步骤3,在哈希表中已存在以第二域名哈希值为索引的第三元素的情况下,获取第三元素的键值。
可选地,在该步骤3中,还可包括:在哈希表中已存在以第三域名哈希值为索引的第四元素的情况下,获取第四元素的键值。
步骤4,在第三元素的键值中不存在第二正则表达式的情况下,将第二正则表达式插入至第三元素的键值中。
可选地,在该步骤4中,还可包括:在第四元素的键值中不存在第三正则表达式的情况下,将第三正则表达式插入至第四元素的键值中。
步骤5,在第三元素的键值中存在第二正则表达式的情况下,将第三元素的键值中第二正则表达式的过期时间从第一时刻更新为第二时刻,第二时刻晚于第一时刻,并将其提交时间更新为本次提交的时间。
正则表达式的过期时间可以根据需要设定为T(例如1天),第二正则表达式的原始的过期时间(即第一时刻)为T0+T,T0为上一次的刷新时间,第二正则表达式的变更后的过期时间(即第二时刻)为T1+T,T1为本次的刷新时间。
可选地,在该步骤4中,还可包括:在第四元素的键值中不存在第三正则表达式的情况下,将第三正则表达式插入至第四元素的键值中。具体实现方式与上述内容类似。
在步骤S204提供的技术方案中,响应于资源刷新通知,CDN缓存服务器对缓存资源中与资源刷新通知匹配的第一资源进行操作,以使CDN缓存服务器不能利用第一资源对用户终端的资源请求进行响应。
可选地,为了让CDN缓存服务器不能利用第一资源对用户终端的资源请求进行响应,可以按照如下方式之一对缓存资源中与资源刷新通知匹配的第一资源进行操作:
其一,直接删除缓存资源中与资源刷新通知匹配的第一资源,采用这种方式可以节省CDN缓存服务器的存储空间,提高CDN缓存服务器的利用率。
其二,将缓存资源中与资源刷新通知匹配的第一资源打上预设标记,预设标记用于表示被标记的资源不能用于对用户终端的请求进行响应。
可选地,可用标记“01”表示资源可用,用“10”表示资源不可用,采用这种方式,可以在某些情况下节约对网络资源的占用。如在更新时,若发现源站的资源(的哈希)与本地资源(的哈希)一致,则说明资源并未真正的发生更新,可以直接恢复该资源的可用性,而不用从源站拉取;再如,在客户侧发布更新之后,发现更新的资源存在问题(如更新版本的软件存在bug),需要回退至前一版本,此时,可以直接在本地启用之前的资源,而不用重新从源站拉取。
其三,将缓存资源中与资源刷新通知匹配的第一资源转移至预设存储位置保存,位于预设存储位置的资源不能用于对用户终端的请求进行响应。
与上述第二种方案相比,第二种方案需要额外为资源设置标记,会带来额外的开销。第三方案以CDN缓存服务器中的不同缓存目录来区分,例如,将CDN缓存服务器的缓存区域分为A区、B区、C区,A区存放当前有效的资源,B区存放不能用于对用户终端的请求进行响应的资源,C区作为备用区域,C去的存储空间可以扩容至A区或者B区。
可选地,正则式和缓存资源都有对应的过期时间,第一资源的过期时间早于与第一资源匹配的第一正则表达式的过期时间,对于上述第二种和第三种技术方案,在对缓存设备的缓存资源中与资源刷新通知匹配的第一资源进行操作之后,若长期没有发生更新,在当前时间达到第一资源的过期时间的情况下,从缓存设备的缓存资源中删除第一资源,可以释放存储空间,提高存储空间的利用率。
在步骤S206提供的技术方案中,在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,CDN缓存服务器从源站获取与资源请求匹配的第二资源。
可选地,上述步骤S206提供的方案,可以按照如下步骤1-步骤7所示方式进行处理:
步骤1,CDN缓存服务器接收用户终端发出的请求。
步骤2,CDN缓存服务器从用户终端发送的请求中解析出资源地址URL。
步骤3,CDN缓存服务器将解析出的资源地址与预存的正则表达式进行匹配,预存的正则表达式包括资源刷新通知中与第一资源匹配的第一正则表达式。包括如下步骤31-步骤35。
步骤31,获取资源地址中域名的第一域名哈希值,具体方式与上文类似,从URL中截取出域名字段,然后利用哈希算法计算其哈希值。
步骤32,在哈希表中不存在以第一域名哈希值为索引的第一元素的情况下,确定资源地址与第一正则表达式不匹配。
将计算出的第一域名哈希值与哈希表中各元素的索引key进行比对,若找到了以第一域名哈希值为索引key的元素,则确定该元素是第一元素,具体查找的方式可以根据需要采用以下之一:
其一是采用单线程形式查找,利用该单线程运行查找程序(即对元素索引key的哈希值和第一域名哈希值是否相同),可以从哈希表的队首或者对尾开始查找。
其二是采用N个线程并行查找,假设整个哈希表有M个元素,M对N取余的值为P,(M-P)/N=Q,则前P个线程中的每个线程处理(Q+1)个元素,后面(N-P)个线程中的每个线程处理Q个元素,具体安排可以是第i个线程的起始元素坐标是:在i的取值为1至Q的情况下,(Q+1)*(i-1)+1;在i的取值大于Q且小于等于N的情况下,(Q+1)*P+Q*(i-P-1)+1,N、P、Q、M、i都是整数。
采用并行的方式可以大幅提高处理的效率。
步骤33,在哈希表中存在以第一域名哈希值为索引key的第一元素的情况下,获取第一元素的键值。
步骤34,在资源地址不位于第一元素的键值中任一正则表达式所表示的地址范围内的情况下,确定资源地址与第一正则表达式不匹配。
第一元素的键值中可以包括多个正则表达式,在将资源地址URL与正则表达式进行比较时,正则表达式可以是表示具体资源的URL,此时直接比较二者是否相同即可,正则表达式还可以是表示资源目录的信息,此时可以看资源地址URL是否落在该目录(即范围)内,若是则确认二者匹配成功,否则匹配失败,继续匹配其他正则表达式。
步骤35,在资源地址位于第一元素的键值中第一正则表达式所表示的地址范围内的情况下,确定资源地址与第一正则表达式匹配。
步骤4,在解析出的资源地址与第一正则表达式匹配的情况下,确定用户终端发送的请求是资源请求(即请求第一资源的请求)。
步骤5,获取第一正则表达式的过期时间。
步骤6,在当前时间达到过期时间的情况下,将第一正则表达式从第一元素的键值中删除,并将其与哈希表中的剩余元素中的正则表达式按照相同方式进行匹配。
在删除第一正则表达式之后,也没有其他匹配的正则表达式,则查看本地是否存在与资源请求所匹配的资源,若存在则可利用缓存的资源来反馈;若不存在则按照资源请求从源站拉取。
步骤7,在当前时间未达到第一正则表达式的过期时间的情况下,按照资源请求指示的资源地址从源站获取第二资源。
为正则表达式配置过期时间,可以在与资源请求进行匹配时减少匹配时间(过期的正则式会被删除,而不用参与后续的匹配),从而可以提高匹配效率。
可选地,在从源站获取与资源请求匹配的第二资源并缓存第二资源之后,若用户请求第二资源,可以按照如下步骤1-步骤6所示方式进行处理:
步骤1,CDN缓存服务器接收用户终端的第二请求。
步骤2,CDN缓存服务器从用户终端的第二请求中解析出资源地址。
步骤3,在第二请求中解析出的资源地址与第一正则表达式匹配的情况下,CDN缓存服务器获取第一正则表达式的过期时间。
步骤4,在当前时间未达到过期时间的情况下,CDN缓存服务器获取缓存设备上与第二请求中解析出的资源地址匹配的第二资源。
步骤5,在第二资源的缓存时间晚于第一正则表达式的接收时间的情况下,CDN缓存服务器将第二资源发送给用户终端。
此处之所以要比较第二资源的缓存时间和第一正则表达式的接收时间,是因为第一正则式的刷新时间随时可能改变,例如,客户侧在一段时间内对目标URL(即第一资源的URL)的资源连续更新了两次,那么就会发送两次资源刷新通知(均携带第一正则表达式),前述步骤相当于完成了第一次资源刷新通知之后的资源刷新,但是其实在这次刷新资源之后,用户需要再次对资源进行刷新,即此时第一正则式的接收时间变成了第一次资源刷新之后的、第二次资源刷新通知的接收时间,换言之,此时的第二资源就不是最新的资源了,需要再次刷新。
步骤6,在第二资源的缓存时间不晚于第一正则表达式的接收时间的情况下,CDN缓存服务器按照第二请求重新从源站拉取匹配的资源,再将拉取的资源发送给用户终端。
在步骤S208提供的技术方案中,CDN缓存服务器将第二资源发送给用户终端,在此之后,若再接收用户终端的请求,在缓存设备上缓存的第二资源与请求所请求的资源匹配(请求中的URL与第二资源相同)的情况下,直接将第二资源发送给用户终端。
作为另一种可选的实施例,下文结合上述图3所示步骤进一步详述本申请的技术方案:
步骤S302,CDN缓存服务器接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新。
可选地,在接收资源刷新通知之后,可按照如下方式对资源刷新通知采用的每个正则表达式进行处理:从资源刷新通知获取未处理过的第二正则表达式;对第二正则表达式进行校验,在校验通过的情况下,获取资源刷新通知采用的第二正则表达式中域名的第二域名哈希值,第二正则表达式是资源刷新通知中未处理过的正则表达式;在哈希表中不存在以第二域名哈希值为索引的元素的情况下,在哈希表中创建以第二域名哈希值为索引、以第二正则表达式为键值的第二元素;在哈希表中已存在以第二域名哈希值为索引的第三元素的情况下,获取第三元素的键值;在第三元素的键值中不存在第二正则表达式的情况下,将第二正则表达式插入至第三元素的键值中;在第三元素的键值中存在第二正则表达式的情况下,将第三元素的键值中第二正则表达式的过期时间从第一时刻更新为第二时刻,第二时刻晚于第一时刻。
步骤S304,响应于资源刷新通知,CDN缓存服务器删除缓存资源中与资源刷新通知匹配的第一资源。
步骤S306,在接收到用户终端的资源请求、且不能利用与资源请求匹配的第一资源进行响应的情况下,CDN缓存服务器从源站获取与资源请求匹配的第二资源。
可选地,可按照如下方式确定用户终端发送的请求为资源请求:从用户终端发送的请求中解析出资源地址;将解析出的资源地址与预存的正则表达式进行匹配,预存的正则表达式包括资源刷新通知中与第一资源匹配的第一正则表达式;在解析出的资源地址与第一正则表达式匹配的情况下,确定用户终端发送的请求是资源请求。
可选地,将解析出的资源地址与预存的正则表达式进行匹配,包括:获取资源地址中域名的第一域名哈希值;在哈希表中不存在以第一域名哈希值为索引的第一元素的情况下,确定资源地址与第一正则表达式不匹配,其中,哈希表中的每个元素以域名的哈希值为索引、以包括有该域名的正则表达式为键值;在哈希表中存在以第一域名哈希值为索引的第一元素的情况下,获取第一元素的键值;在资源地址不位于第一元素的键值中任一正则表达式所表示的地址范围内的情况下,确定资源地址与第一正则表达式不匹配;在资源地址位于第一元素的键值中第一正则表达式所表示的地址范围内的情况下,确定资源地址与第一正则表达式匹配。
可选地,在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源,包括:在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,获取第一正则表达式的过期时间;在当前时间未达到第一正则表达式的过期时间的情况下,按照资源请求指示的资源地址从源站获取第二资源。
在当前时间达到过期时间的情况下,将第一正则表达式从第一元素的键值中删除。
步骤S308,CDN缓存服务器将第二资源发送给用户终端。
可选地,在将第二资源发送给用户终端之后,接收用户终端的第一请求;在缓存设备上缓存的第二资源与第一请求所请求的资源匹配的情况下,直接将缓存的第二资源发送给用户终端。
可选地于,在从源站获取与资源请求匹配的第二资源并缓存第二资源之后,接收用户终端的第二请求;从用户终端的第二请求中解析出资源地址;在第二请求中解析出的资源地址与第一正则表达式匹配的情况下,获取第一正则表达式的过期时间;在当前时间未达到过期时间的情况下,获取缓存设备上与第二请求中解析出的资源地址匹配的第二资源;在第二资源的缓存时间晚于第一正则表达式的接收时间的情况下,将第二资源发送给用户终端。
需要说明的是,图3所示步骤的具体实施方式与图2所示步骤的具体实施方式类似,具体实现时可以参照上文,在此不再赘述。
本申请的技术方案支持正则刷新,客户可提供待刷新的正则表达式,实现一次性批量刷新符合某种特征的所有缓存资源,CDN缓存服务器将符合正则表达式的资源删除,后续网民访问时重新回源获取更新后的资源。作为一种可选的实施例,如图4所示,下文结合具体实施方式进一步详述本申请的技术方案:
步骤41,客户(使用CDN服务的客户)提交正则刷新请求(即资源刷新通知)给CDN刷新中央,即CDN刷新模块,CDN刷新中央是接收客户的正则刷新请求的入口,接收到后将刷新请求分发到所有的CACHE设备(即CDN缓存服务器)做刷新缓存动作,客户源站是指内容生成和存储的地方,CDN缓存服务器的缓存内容都是从客户源站获取的。
步骤42,CDN刷新中央进行校验处理,在验证通过后将正则刷新请求(可以为包括URL的正则表达式)下发给CDN所有设备的CACHE系统,包括多个CDN缓存服务器,每个CDN缓存服务器可以包括高性能的HTTP和反向代理web服务器NGINX和缓存CACHE。
上述校验处理为一次校验,包括校验正则表达式是否合法、客户提交的正则刷新次数是否超过阈值、客户是否有对刷新域名的操作权限等等。
步骤43,CACHE系统对正则表达式的合法性进行二次校验,以防止客户提交错误的正则表达式,若校验失败(如正则表达式非法)直接返回刷新失败;校验成功继续。
上述二次校验的目的是校验正则表达式是否合法,可以对其进行compile操作,操作成功则确定正则表达式合法,不成功则确定正则表达式非法。
步骤44,CACHE系统将正则表达式中的域名字段作为key计算hash,然后查找此正则表达式是否已存在,如果存在,则更新其过期时间后返回;如果不存在,则将此正则表达式编译后插入hash表(客户提交的正则表达式使用hash表保存,key为正则表达式中的host字段,相同key的多个正则表达式使用链表存储),返回刷新中央正则刷新执行成功。
本申请采用的正则刷新是被动刷新,即资源只有在被访问的时候才会判断是否命中正则刷新,所以会为客户提交的正则刷新规则设置过期时间(如保存1个月),以保证需要刷新的资源会被刷新。
步骤45,接收网民请求时,如果资源未在本地命中,则按照原有逻辑处理;如果命中,则按照以下方法检查是否命中正则刷新。
步骤451,根据请求URL(请求中携带的资源存储URL)中的域名计算hash,在hash表中查找是否此域名是否存在正则刷新列表。
如果不存在、且不需要比对请求URL对应的存储URL,则直接返回未命中正则刷新,利用本地缓存正常提供服务,否则继续。正则刷新是通过hash表存储的,然后使用链表解决冲突,即先判断key对应的value是否存在,如果不存在,说明此域名没有提交正则刷新,直接返回继续处理;如果value存在,则需要对value中的所有正则表达式都进行比对。
步骤452,将请求URL对应的存储URL与前一步骤中获取的正则表达式逐个进行正则匹配,如果均未匹配成功,则返回未命中正则刷新,本地缓存可以正常提供服务;如果命中则继续。
存储URL是CDN内部用来识别资源的,比如域名a和域名b共享缓存,那么意味着http://a/1.html和http://b/1.html是同1个资源,如果设置b共享a的资源,则http://b/1.html对应的存储URL为http://a/1.html。
步骤453,如果命中了正则刷新,判断此正则刷新规则是否过期(从提交开始设定一个固定时长,如1个月过期),如果已经过期,则删除此正则刷新规则,并继续步骤452中剩余的正则表达式匹配;如果未过期则继续。
步骤454,比较资源缓存到本地的时间与正则刷新的提交时间,如果缓存到本地的时间晚于正则刷新的提交时间,则返回未命中正则刷新,本地缓存可继续提供服务;否则继续。正则刷新对此刷新请求提交到CACHE前,CACHE缓存的资源生效,这样保证资源只被刷新一次,后续可以正常命中。比如资源A先缓存,客户提交正则刷新,资源A再次被访问时会删除已有缓存,然后重新回源获取,再后续访问资源A时,直接从本地缓存命中,无需删除后重新获取。
正则表达式过期时间要大于磁盘轮换周期(即1个资源不被访问,多久后会被自然淘汰的时间周期),比如正则表达式过期时间为1个月,磁盘轮换周期2周,这样就能保证,资源连续2周未被访问就会被淘汰(从磁盘删除),这样即使1个月后正则表达式过期,此时资源也不会被命中,而是重新回源获取。
步骤455,命中正则刷新规则,且资源在正则刷新提交之前缓存,CDN需要删除此资源,重新从源站获取。
在本申请的技术方案中,支持正则表达式刷新,刷新前缓存且匹配正则表达式的资源直接删除,重新回源获取,客户可根据正则表达式控制刷新范围,实现更为精准的批量资源刷新;按照域名进行hash,分别存储不同域名的正则刷新,降低域名请求时的无效正则表达式匹配,减少处理时间。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述缓存资源的刷新方法的缓存资源的刷新装置。图5是根据本申请实施例的一种可选的缓存资源的刷新装置的示意图,如图5所示,该装置可以包括:
第一接收单元51,用于接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
第一处理单元53,用于响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
第一刷新单元55,用于在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源;
第一发送单元57,用于将所述第二资源发送给用户终端。
需要说明的是,该实施例中的第一接收单元51可以用于执行本申请实施例中的步骤S202,该实施例中的第一处理单元53可以用于执行本申请实施例中的步骤S204,该实施例中的第一刷新单元55可以用于执行本申请实施例中的步骤S206,该实施例中的第一发送单元57可以用于执行本申请实施例中的步骤S208。
通过上述模块,1)采用正则表达式的方式对缓存资源进行刷新,可以实现资源的批量刷新,可以解决相关技术中缓存的刷新效率较低的技术问题,进而达到提高刷新效率的技术效果;2)相对于URL刷新和目录刷新,采用正则表达式既可以实现批量刷新,还能准确的对指定类型的资源进行刷新,避免了对多余资源的刷新;3)仅仅在接收到用户终端的资源请求、且不能利用第一资源进行响应(即在第一资源被操作后首次被用户终端所请求)的情况下,才会从源站拉取资源,避免了大量缓存设备同时向源站请求资源造成的源站负载过大,另外,第二次及之后用户终端对相同资源的请求,由于本地已经对第一资源进行了刷新,刷新后的资源是第二资源,第二资源是可以直接用于进行响应的,故可以直接利用之前缓存的第二资源直接进行响应,避免重复从源站拉取资源;4)从源站获取与资源请求匹配的第二资源时,不用进行回源验证,而是直接获取第二资源,可以减少与源站的交互,降低源站的负载和对网络带宽的占用。
可选地,第一处理单元在对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作时,还用于:删除所述缓存资源中与所述资源刷新通知匹配的所述第一资源。
可选地,第一处理单元在对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作时,还用于:将所述缓存资源中与所述资源刷新通知匹配的所述第一资源打上预设标记,其中,所述预设标记用于表示被标记的资源不能用于对用户终端的请求进行响应。
可选地,第一处理单元在对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作时,还用于:将所述缓存资源中与所述资源刷新通知匹配的所述第一资源转移至预设存储位置保存,其中,位于所述预设存储位置的资源不能用于对用户终端的请求进行响应。
可选地,第一发送单元还用于:在将所述第二资源发送给用户终端之后,接收用户终端的第一请求;在所述缓存设备上缓存的所述第二资源与所述第一请求所请求的资源匹配的情况下,直接将缓存的所述第二资源发送给用户终端。
可选地,第一刷新单元还用于按照如下方式确定用户终端发送的请求为所述资源请求:从用户终端发送的请求中解析出资源地址;将解析出的资源地址与预存的正则表达式进行匹配,其中,所述预存的正则表达式包括所述资源刷新通知中与所述第一资源匹配的第一正则表达式;在解析出的资源地址与所述第一正则表达式匹配的情况下,确定用户终端发送的请求是所述资源请求。
可选地,第一刷新单元在将解析出的资源地址与预存的正则表达式进行匹配时,还用于:获取所述资源地址中域名的第一域名哈希值;在哈希表中不存在以所述第一域名哈希值为索引的第一元素的情况下,确定所述资源地址与所述第一正则表达式不匹配,其中,所述哈希表中的每个元素以域名的哈希值为索引、以包括有该域名的正则表达式为键值;在所述哈希表中存在以所述第一域名哈希值为索引的所述第一元素的情况下,获取所述第一元素的键值;在所述资源地址不位于所述第一元素的键值中任一正则表达式所表示的地址范围内的情况下,确定所述资源地址与所述第一正则表达式不匹配;在所述资源地址位于所述第一元素的键值中所述第一正则表达式所表示的地址范围内的情况下,确定所述资源地址与所述第一正则表达式匹配。
可选地,第一处理单元在接收资源刷新通知之后,还用于按照如下方式对所述资源刷新通知采用的每个正则表达式进行处理:获取所述资源刷新通知采用的第二正则表达式中域名的第二域名哈希值,其中,所述第二正则表达式是所述资源刷新通知中未处理过的正则表达式;在哈希表中不存在以所述第二域名哈希值为索引的元素的情况下,在所述哈希表中创建以所述第二域名哈希值为索引、以所述第二正则表达式为键值的第二元素;在所述哈希表中已存在以所述第二域名哈希值为索引的第三元素的情况下,获取所述第三元素的键值;在所述第三元素的键值中不存在所述第二正则表达式的情况下,将所述第二正则表达式插入至所述第三元素的键值中;在所述第三元素的键值中存在所述第二正则表达式的情况下,将所述第三元素的键值中所述第二正则表达式的过期时间从第一时刻更新为第二时刻,其中,所述第二时刻晚于所述第一时刻。
可选地,第一处理单元还用于在获取所述资源刷新通知采用的第二正则表达式中域名的第二域名哈希值之前,从所述资源刷新通知获取未处理过的所述第二正则表达式;对所述第二正则表达式进行校验,其中,在校验通过的情况下,获取所述资源刷新通知采用的第二正则表达式中域名的第二域名哈希值的。
可选地,第一刷新单元在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源时,还用于:在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,获取第一正则表达式的过期时间;在当前时间未达到所述第一正则表达式的过期时间的情况下,按照所述资源请求指示的资源地址从所述源站获取所述第二资源。
可选地,第一刷新单元还用于在获取第一正则表达式的过期时间之后,在所述当前时间达到所述过期时间的情况下,将所述第一正则表达式从第一元素的键值中删除。
可选地,第一发送单元还用于在从源站获取与所述资源请求匹配的第二资源并缓存所述第二资源之后,接收用户终端的第二请求;从用户终端的第二请求中解析出资源地址;在所述第二请求中解析出的资源地址与第一正则表达式匹配的情况下,获取所述第一正则表达式的过期时间;在当前时间未达到所述过期时间的情况下,获取所述缓存设备上与所述第二请求中解析出的资源地址匹配的所述第二资源;在所述第二资源的缓存时间晚于所述第一正则表达式的接收时间的情况下,将所述第二资源发送给用户终端。
可选地,第一处理单元还用于在对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作之后,在当前时间达到所述第一资源的过期时间的情况下,从所述缓存设备的缓存资源中删除所述第一资源,其中,所述第一资源的过期时间早于与所述第一资源匹配的第一正则表达式的过期时间。
根据本申请实施例的另一个方面,还提供了一种用于实施上述缓存资源的刷新方法的缓存资源的刷新装置。图6是根据本申请实施例的一种可选的缓存资源的刷新装置的示意图,如图6所示,该装置可以包括:
第二接收单元61,用于接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
第二处理单元63,用于响应于所述资源刷新通知,删除缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源;
第二刷新单元65,用于在接收到用户终端的资源请求、且不能利用与所述资源请求匹配的所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源;
第二发送单元67,用于将所述第二资源发送给用户终端。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述缓存资源的刷新方法的服务器或终端。
图7是根据本申请实施例的一种终端的结构框图,如图7所示,该终端可以包括:一个或多个(图7中仅示出一个)处理器701、存储器703、以及传输装置705,如图7所示,该终端还可以包括输入输出设备707。
其中,存储器703可用于存储软件程序以及模块,如本申请实施例中的缓存资源的刷新方法和装置对应的程序指令/模块,处理器701通过运行存储在存储器703内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的缓存资源的刷新方法。存储器703可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器703可进一步包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置705用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置705包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置705为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器703用于存储应用程序。
处理器701可以通过传输装置705调用存储器703存储的应用程序,以执行下述步骤:
接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;响应于资源刷新通知,对缓存设备的缓存资源中与资源刷新通知匹配的第一资源进行操作,以使缓存设备不能利用第一资源对用户终端的资源请求进行响应,第一资源与资源请求所请求的资源匹配;在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;将第二资源发送给用户终端。
处理器701还用于执行下述步骤:
接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;响应于资源刷新通知,删除缓存设备的缓存资源中与资源刷新通知匹配的第一资源;在接收到用户终端的资源请求、且不能利用与资源请求匹配的第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;将第二资源发送给用户终端。
采用本申请实施例,1)采用正则表达式的方式对缓存资源进行刷新,可以实现资源的批量刷新,可以解决相关技术中缓存的刷新效率较低的技术问题,进而达到提高刷新效率的技术效果;2)相对于URL刷新和目录刷新,采用正则表达式既可以实现批量刷新,还能准确的对指定类型的资源进行刷新,避免了对多余资源的刷新;3)仅仅在接收到用户终端的资源请求、且不能利用第一资源进行响应(即在第一资源被操作后首次被用户终端所请求)的情况下,才会从源站拉取资源,避免了大量缓存设备同时向源站请求资源造成的源站负载过大,另外,第二次及之后用户终端对相同资源的请求,由于本地已经对第一资源进行了刷新,刷新后的资源是第二资源,第二资源是可以直接用于进行响应的,故可以直接利用之前缓存的第二资源直接进行响应,避免重复从源站拉取资源;4)从源站获取与资源请求匹配的第二资源时,不用进行回源验证,而是直接获取第二资源,可以减少与源站的交互,降低源站的负载和对网络带宽的占用。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图7所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,终端还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行缓存资源的刷新方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;响应于资源刷新通知,对缓存设备的缓存资源中与资源刷新通知匹配的第一资源进行操作,以使缓存设备不能利用第一资源对用户终端的资源请求进行响应,第一资源与资源请求所请求的资源匹配;在接收到用户终端的资源请求、且不能利用第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;将第二资源发送给用户终端。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
接收资源刷新通知,资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;响应于资源刷新通知,删除缓存设备的缓存资源中与资源刷新通知匹配的第一资源;在接收到用户终端的资源请求、且不能利用与资源请求匹配的第一资源进行响应的情况下,从源站获取与资源请求匹配的第二资源;将第二资源发送给用户终端。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (24)
1.一种缓存资源的刷新方法,其特征在于,包括:
接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源,包括:在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,获取第一正则表达式的过期时间;在当前时间未达到所述第一正则表达式的过期时间的情况下,按照所述资源请求指示的资源地址从所述源站获取所述第二资源;
将所述第二资源发送给用户终端。
2.根据权利要求1所述的方法,其特征在于,所述对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,包括:
删除所述缓存资源中与所述资源刷新通知匹配的所述第一资源。
3.根据权利要求1所述的方法,其特征在于,所述对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,包括:
将所述缓存资源中与所述资源刷新通知匹配的所述第一资源打上预设标记,其中,所述预设标记用于表示被标记的资源不能用于对用户终端的请求进行响应。
4.根据权利要求1所述的方法,其特征在于,所述对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,包括:
将所述缓存资源中与所述资源刷新通知匹配的所述第一资源转移至预设存储位置保存,其中,位于所述预设存储位置的资源不能用于对用户终端的请求进行响应。
5.根据权利要求1所述的方法,其特征在于,在将所述第二资源发送给用户终端之后,所述方法还包括:
接收用户终端的第一请求;
在所述缓存设备上缓存的所述第二资源与所述第一请求所请求的资源匹配的情况下,直接将缓存的所述第二资源发送给用户终端。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:按照如下方式确定用户终端发送的请求为所述资源请求:
从用户终端发送的请求中解析出资源地址;
将解析出的资源地址与预存的正则表达式进行匹配,其中,所述预存的正则表达式包括所述资源刷新通知中与所述第一资源匹配的第一正则表达式;
在解析出的资源地址与所述第一正则表达式匹配的情况下,确定用户终端发送的请求是所述资源请求。
7.根据权利要求6所述的方法,其特征在于,将解析出的资源地址与预存的正则表达式进行匹配,包括:
获取所述资源地址中域名的第一域名哈希值;
在哈希表中不存在以所述第一域名哈希值为索引的第一元素的情况下,确定所述资源地址与所述第一正则表达式不匹配,其中,所述哈希表中的每个元素以域名的哈希值为索引、以包括有该域名的正则表达式为键值;
在所述哈希表中存在以所述第一域名哈希值为索引的所述第一元素的情况下,获取所述第一元素的键值;
在所述资源地址不位于所述第一元素的键值中任一正则表达式所表示的地址范围内的情况下,确定所述资源地址与所述第一正则表达式不匹配;
在所述资源地址位于所述第一元素的键值中所述第一正则表达式所表示的地址范围内的情况下,确定所述资源地址与所述第一正则表达式匹配。
8.根据权利要求1所述的方法,其特征在于,在接收资源刷新通知之后,所述方法还包括:按照如下方式对所述资源刷新通知采用的每个正则表达式进行处理:
获取所述资源刷新通知采用的第二正则表达式中域名的第二域名哈希值,其中,所述第二正则表达式是所述资源刷新通知中未处理过的正则表达式;
在哈希表中不存在以所述第二域名哈希值为索引的元素的情况下,在所述哈希表中创建以所述第二域名哈希值为索引、以所述第二正则表达式为键值的第二元素;
在所述哈希表中已存在以所述第二域名哈希值为索引的第三元素的情况下,获取所述第三元素的键值;
在所述第三元素的键值中不存在所述第二正则表达式的情况下,将所述第二正则表达式插入至所述第三元素的键值中;
在所述第三元素的键值中存在所述第二正则表达式的情况下,将所述第三元素的键值中所述第二正则表达式的过期时间从第一时刻更新为第二时刻,其中,所述第二时刻晚于所述第一时刻。
9.根据权利要求8所述的方法,其特征在于,在获取所述资源刷新通知采用的第二正则表达式中域名的第二域名哈希值之前,所述方法还包括:
从所述资源刷新通知获取未处理过的所述第二正则表达式;
对所述第二正则表达式进行校验,其中,在校验通过的情况下,执行获取所述资源刷新通知采用的第二正则表达式中域名的第二域名哈希值的步骤。
10.根据权利要求1所述的方法,其特征在于,在获取第一正则表达式的过期时间之后,所述方法还包括:
在所述当前时间达到所述过期时间的情况下,将所述第一正则表达式从第一元素的键值中删除。
11.根据权利要求1至9中任一项所述的方法,其特征在于,在从源站获取与所述资源请求匹配的第二资源并缓存所述第二资源之后,所述方法还包括:
接收用户终端的第二请求;
从用户终端的第二请求中解析出资源地址;
在所述第二请求中解析出的资源地址与第一正则表达式匹配的情况下,获取所述第一正则表达式的过期时间;
在当前时间未达到所述过期时间的情况下,获取所述缓存设备上与所述第二请求中解析出的资源地址匹配的所述第二资源;
在所述第二资源的缓存时间晚于所述第一正则表达式的接收时间的情况下,将所述第二资源发送给用户终端。
12.根据权利要求2或3所述的方法,其特征在于,在对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作之后,所述方法还包括:
在当前时间达到所述第一资源的过期时间的情况下,从所述缓存设备的缓存资源中删除所述第一资源,其中,所述第一资源的过期时间早于与所述第一资源匹配的第一正则表达式的过期时间。
13.一种缓存资源的刷新方法,其特征在于,包括:
接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
响应于所述资源刷新通知,删除缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源;
在接收到用户终端的资源请求、且不能利用与所述资源请求匹配的所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源,包括:在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,获取第一正则表达式的过期时间;在当前时间未达到所述第一正则表达式的过期时间的情况下,按照所述资源请求指示的资源地址从所述源站获取所述第二资源;
将所述第二资源发送给用户终端。
14.一种缓存资源的刷新方法,其特征在于,包括:
接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源,其中,按照如下方式确定用户终端发送的请求为所述资源请求:从用户终端发送的请求中解析出资源地址;将解析出的资源地址与预存的正则表达式进行匹配,其中,所述预存的正则表达式包括所述资源刷新通知中与所述第一资源匹配的第一正则表达式;在解析出的资源地址与所述第一正则表达式匹配的情况下,确定用户终端发送的请求是所述资源请求;
将所述第二资源发送给用户终端。
15.一种缓存资源的刷新方法,其特征在于,包括:
接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源;
将所述第二资源发送给用户终端;
其中,在接收资源刷新通知之后,所述方法还包括:按照如下方式对所述资源刷新通知采用的每个正则表达式进行处理:获取所述资源刷新通知采用的第二正则表达式中域名的第二域名哈希值,其中,所述第二正则表达式是所述资源刷新通知中未处理过的正则表达式;在哈希表中不存在以所述第二域名哈希值为索引的元素的情况下,在所述哈希表中创建以所述第二域名哈希值为索引、以所述第二正则表达式为键值的第二元素;在所述哈希表中已存在以所述第二域名哈希值为索引的第三元素的情况下,获取所述第三元素的键值;在所述第三元素的键值中不存在所述第二正则表达式的情况下,将所述第二正则表达式插入至所述第三元素的键值中;在所述第三元素的键值中存在所述第二正则表达式的情况下,将所述第三元素的键值中所述第二正则表达式的过期时间从第一时刻更新为第二时刻,其中,所述第二时刻晚于所述第一时刻。
16.一种缓存资源的刷新方法,其特征在于,包括:
接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源;
将所述第二资源发送给用户终端;
其中,在从源站获取与所述资源请求匹配的第二资源并缓存所述第二资源之后,所述方法还包括:接收用户终端的第二请求;从用户终端的第二请求中解析出资源地址;在所述第二请求中解析出的资源地址与第一正则表达式匹配的情况下,获取所述第一正则表达式的过期时间;在当前时间未达到所述过期时间的情况下,获取所述缓存设备上与所述第二请求中解析出的资源地址匹配的所述第二资源;在所述第二资源的缓存时间晚于所述第一正则表达式的接收时间的情况下,将所述第二资源发送给用户终端。
17.一种缓存资源的刷新装置,其特征在于,包括:
第一接收单元,用于接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
第一处理单元,用于响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
第一刷新单元,用于在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源,还用于:在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,获取第一正则表达式的过期时间,在当前时间未达到所述第一正则表达式的过期时间的情况下,按照所述资源请求指示的资源地址从所述源站获取所述第二资源;
第一发送单元,用于将所述第二资源发送给用户终端。
18.一种缓存资源的刷新装置,其特征在于,包括:
第二接收单元,用于接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
第二处理单元,用于响应于所述资源刷新通知,删除缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源;
第二刷新单元,用于在接收到用户终端的资源请求、且不能利用与所述资源请求匹配的所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源,还用于:在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,获取第一正则表达式的过期时间,在当前时间未达到所述第一正则表达式的过期时间的情况下,按照所述资源请求指示的资源地址从所述源站获取所述第二资源;
第二发送单元,用于将所述第二资源发送给用户终端。
19.一种缓存资源的刷新装置,其特征在于,包括:
第三接收单元,用于接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
第三处理单元,用于响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
第三刷新单元,用于在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源,并按照如下方式确定用户终端发送的请求为所述资源请求:从用户终端发送的请求中解析出资源地址;将解析出的资源地址与预存的正则表达式进行匹配,其中,所述预存的正则表达式包括所述资源刷新通知中与所述第一资源匹配的第一正则表达式;在解析出的资源地址与所述第一正则表达式匹配的情况下,确定用户终端发送的请求是所述资源请求;
第三发送单元,用于将所述第二资源发送给用户终端。
20.一种缓存资源的刷新装置,其特征在于,包括:
第四接收单元,用于接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
第四处理单元,用于响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
第四刷新单元,用于在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源;
第四发送单元,用于将所述第二资源发送给用户终端;
其中,第四接收单元在接收资源刷新通知之后,还用于按照如下方式对所述资源刷新通知采用的每个正则表达式进行处理:获取所述资源刷新通知采用的第二正则表达式中域名的第二域名哈希值,其中,所述第二正则表达式是所述资源刷新通知中未处理过的正则表达式;在哈希表中不存在以所述第二域名哈希值为索引的元素的情况下,在所述哈希表中创建以所述第二域名哈希值为索引、以所述第二正则表达式为键值的第二元素;在所述哈希表中已存在以所述第二域名哈希值为索引的第三元素的情况下,获取所述第三元素的键值;在所述第三元素的键值中不存在所述第二正则表达式的情况下,将所述第二正则表达式插入至所述第三元素的键值中;在所述第三元素的键值中存在所述第二正则表达式的情况下,将所述第三元素的键值中所述第二正则表达式的过期时间从第一时刻更新为第二时刻,其中,所述第二时刻晚于所述第一时刻。
21.一种缓存资源的刷新装置,其特征在于,包括:
第五接收单元,用于接收资源刷新通知,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新;
第五处理单元,用于响应于所述资源刷新通知,对缓存设备的缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使所述缓存设备不能利用所述第一资源对用户终端的资源请求进行响应,其中,所述第一资源与所述资源请求所请求的资源匹配;
第五刷新单元,用于在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,从源站获取与所述资源请求匹配的第二资源;
第五发送单元,用于将所述第二资源发送给用户终端;
响应单元,用于:在从源站获取与所述资源请求匹配的第二资源并缓存所述第二资源之后,接收用户终端的第二请求;从用户终端的第二请求中解析出资源地址;在所述第二请求中解析出的资源地址与第一正则表达式匹配的情况下,获取所述第一正则表达式的过期时间;在当前时间未达到所述过期时间的情况下,获取所述缓存设备上与所述第二请求中解析出的资源地址匹配的所述第二资源;在所述第二资源的缓存时间晚于所述第一正则表达式的接收时间的情况下,将所述第二资源发送给用户终端。
22.一种缓存资源的刷新系统,其特征在于,包括:
源站,用于向缓存设备提供与资源请求匹配的第二资源;
用户终端,用于在发送所述资源请求至缓存设备之后,从所述缓存设备接收与所述资源请求匹配的第二资源;
缓存设备,用于在接收到资源刷新通知的情况下,对缓存资源中与所述资源刷新通知匹配的第一资源进行操作,以使被操作后的所述第一资源不能用于对用户终端的资源请求进行响应;在接收到所述资源请求、且不能利用所述第一资源进行响应的情况下,将从源站获取的所述第二资源发送给用户终端,包括:在接收到用户终端的所述资源请求、且不能利用所述第一资源进行响应的情况下,获取第一正则表达式的过期时间;在当前时间未达到所述第一正则表达式的过期时间的情况下,按照所述资源请求指示的资源地址从所述源站获取所述第二资源,其中,所述资源刷新通知采用正则表达式的方式指示对缓存资源进行刷新,所述第一资源与所述资源请求所请求的资源匹配。
23.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至16任一项中所述的方法。
24.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至16任一项中所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210255221.8A CN114598748B (zh) | 2021-12-08 | 2021-12-08 | 缓存资源的刷新方法、装置及系统 |
CN202111491840.9A CN113886743B (zh) | 2021-12-08 | 2021-12-08 | 缓存资源的刷新方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111491840.9A CN113886743B (zh) | 2021-12-08 | 2021-12-08 | 缓存资源的刷新方法、装置及系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210255221.8A Division CN114598748B (zh) | 2021-12-08 | 2021-12-08 | 缓存资源的刷新方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113886743A CN113886743A (zh) | 2022-01-04 |
CN113886743B true CN113886743B (zh) | 2022-05-03 |
Family
ID=79016518
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210255221.8A Active CN114598748B (zh) | 2021-12-08 | 2021-12-08 | 缓存资源的刷新方法、装置及系统 |
CN202111491840.9A Active CN113886743B (zh) | 2021-12-08 | 2021-12-08 | 缓存资源的刷新方法、装置及系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210255221.8A Active CN114598748B (zh) | 2021-12-08 | 2021-12-08 | 缓存资源的刷新方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN114598748B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598748B (zh) * | 2021-12-08 | 2024-09-27 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
CN114070652B (zh) * | 2022-01-12 | 2022-05-27 | 北京金山云网络技术有限公司 | Cdn资源封禁方法、装置、电子设备及存储介质 |
CN115269648B (zh) * | 2022-07-07 | 2023-08-18 | 浙江恒生长运网络科技有限公司 | 一种批量抽取班次信息的班次查询管控方法 |
CN115883659B (zh) * | 2022-12-15 | 2023-10-03 | 江苏云工场信息技术有限公司 | 一种支持cdn缓存批量刷新的方法及装置 |
CN117194827B (zh) * | 2023-11-08 | 2024-02-27 | 联通在线信息科技有限公司 | Cdn目录刷新的方法及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200278A (zh) * | 2013-04-25 | 2013-07-10 | 网宿科技股份有限公司 | 源站文件更新发布方法及缓存文件更新方法 |
CN105868251A (zh) * | 2015-12-22 | 2016-08-17 | 乐视云计算有限公司 | 一种缓存数据更新方法及装置 |
CN106657249A (zh) * | 2016-10-25 | 2017-05-10 | 杭州迪普科技股份有限公司 | 更新缓存资源的方法及装置 |
CN106815349A (zh) * | 2017-01-19 | 2017-06-09 | 银联国际有限公司 | 基于哈希算法和正则匹配的时间过滤方法及事件过滤方法 |
CN106970917A (zh) * | 2016-01-13 | 2017-07-21 | 中国科学院声学研究所 | 一种黑名单url的哈希表的建立及请求url的查找方法 |
CN109995881A (zh) * | 2019-04-30 | 2019-07-09 | 网易(杭州)网络有限公司 | 缓存服务器的负载均衡方法和装置 |
CN110430286A (zh) * | 2019-08-30 | 2019-11-08 | 杭州领智云画科技有限公司 | Cdn系统中获取资源的方法、装置、设备及存储介质 |
CN112579652A (zh) * | 2020-12-28 | 2021-03-30 | 咪咕文化科技有限公司 | 缓存数据的删除方法、装置、电子设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202112B (zh) * | 2015-05-06 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 缓存目录刷新方法和装置 |
CN106357831A (zh) * | 2015-07-14 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种获取域名后缀的方法及装置 |
US20180129579A1 (en) * | 2016-11-10 | 2018-05-10 | Nec Laboratories America, Inc. | Systems and Methods with a Realtime Log Analysis Framework |
CN109542613A (zh) * | 2017-09-22 | 2019-03-29 | 中兴通讯股份有限公司 | 一种cdn节点内服务调度的分配方法、装置及存储介质 |
CN112861031B (zh) * | 2019-11-27 | 2024-04-02 | 北京金山云网络技术有限公司 | Cdn中url刷新方法、装置、设备以及cdn节点 |
CN113691581B (zh) * | 2021-07-08 | 2023-05-09 | 杭州又拍云科技有限公司 | 一种高效的cdn刷新分片的方法 |
CN114598748B (zh) * | 2021-12-08 | 2024-09-27 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
-
2021
- 2021-12-08 CN CN202210255221.8A patent/CN114598748B/zh active Active
- 2021-12-08 CN CN202111491840.9A patent/CN113886743B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200278A (zh) * | 2013-04-25 | 2013-07-10 | 网宿科技股份有限公司 | 源站文件更新发布方法及缓存文件更新方法 |
CN105868251A (zh) * | 2015-12-22 | 2016-08-17 | 乐视云计算有限公司 | 一种缓存数据更新方法及装置 |
CN106970917A (zh) * | 2016-01-13 | 2017-07-21 | 中国科学院声学研究所 | 一种黑名单url的哈希表的建立及请求url的查找方法 |
CN106657249A (zh) * | 2016-10-25 | 2017-05-10 | 杭州迪普科技股份有限公司 | 更新缓存资源的方法及装置 |
CN106815349A (zh) * | 2017-01-19 | 2017-06-09 | 银联国际有限公司 | 基于哈希算法和正则匹配的时间过滤方法及事件过滤方法 |
CN109995881A (zh) * | 2019-04-30 | 2019-07-09 | 网易(杭州)网络有限公司 | 缓存服务器的负载均衡方法和装置 |
CN110430286A (zh) * | 2019-08-30 | 2019-11-08 | 杭州领智云画科技有限公司 | Cdn系统中获取资源的方法、装置、设备及存储介质 |
CN112579652A (zh) * | 2020-12-28 | 2021-03-30 | 咪咕文化科技有限公司 | 缓存数据的删除方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113886743A (zh) | 2022-01-04 |
CN114598748B (zh) | 2024-09-27 |
CN114598748A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113886743B (zh) | 缓存资源的刷新方法、装置及系统 | |
JP6643490B2 (ja) | 可変ブラウザ識別子のセッションベースのマッチング | |
JP6410280B2 (ja) | ウェブサイト・アクセス方法、装置、およびウェブサイト・システム | |
US9521184B2 (en) | Efficient storage and retrieval of resources for rendering structured documents | |
CN102970284B (zh) | 用户信息处理方法和服务器 | |
US9195773B2 (en) | Structure-based adaptive document caching | |
US10324896B2 (en) | Method and apparatus for acquiring resource | |
CN102333092A (zh) | 一种网络用户识别的方法及其应用服务器 | |
CN109634753B (zh) | 切换浏览器内核的数据处理方法、装置、终端和存储介质 | |
US8352442B2 (en) | Determination of an updated data source from disparate data sources | |
CN106959975B (zh) | 一种转码资源缓存处理方法、装置及设备 | |
US8244688B2 (en) | Managing apparatus, recording medium in which managing program is recorded, and expiration date determining method | |
CN109344349A (zh) | 一种数据缓存方法及装置、电子设备 | |
CN103701844A (zh) | 管理用户信息的方法及系统 | |
JP2014524210A (ja) | 可変長ノンスの生成 | |
CN110944037A (zh) | 客户端缓存更改配置的方法、计算机设备和存储介质 | |
CN106790458B (zh) | 一种跨局域网的Memcache数据共享方法及系统 | |
CN114338634B (zh) | 数据处理方法及装置 | |
JP6083210B2 (ja) | 認証情報管理システム、認証情報管理方法、認証情報管理プログラム、及び、検索システム | |
CN109962883B (zh) | 信息指示的方法、网络设备与用户设备 | |
KR102197182B1 (ko) | 다국어 웹문서 브라우징 방법 | |
CN117156474B (zh) | 远程智能运维系统及其运维方法 | |
JP2008250586A (ja) | 添付url送受信方法、システム及びプログラム | |
KR20240018794A (ko) | 전자 문서 nft 화 처리 장치 및 방법 | |
CN115185971A (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 |