CN106202112B - 缓存目录刷新方法和装置 - Google Patents
缓存目录刷新方法和装置 Download PDFInfo
- Publication number
- CN106202112B CN106202112B CN201510228135.8A CN201510228135A CN106202112B CN 106202112 B CN106202112 B CN 106202112B CN 201510228135 A CN201510228135 A CN 201510228135A CN 106202112 B CN106202112 B CN 106202112B
- Authority
- CN
- China
- Prior art keywords
- cache directory
- under
- refresh tasks
- content
- refresh
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种缓存目录刷新方法,包括:接收到客户端的数据请求;在由哈希表和哈希字典树建立的目录结构中,查询到URL地址对应的缓存目录;判断缓存目录下是否已挂载刷新任务;当缓存目录下已挂载刷新任务时,判断缓存目录下的内容的保存时刻是否早于刷新任务的下发时刻;当缓存目录下的内容的保存时刻早于刷新任务的下发时刻时,触发缓存目录的回源请求至源站,从源站刷新缓存目录下的内容。减少了缓存服务器磁盘空间的占用,保证了数据刷新的及时性和准确性。
Description
技术领域
本发明属于互联网领域,具体地说,涉及一种缓存目录刷新方法和装置。
背景技术
字典树(Trie树),是一种有序的树,用于保存关联数组,其中的键通常是字符串。Trie的强大之处就在于它的时间复杂度。它的插入和查询时间复杂度都为O(k),其中k为key的长度,与Trie中保存了多少个元素无关。字典树的典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。
Hash,一般译做“散列”或“哈希”,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
CDN(Content Delivery Network,内容分发网络)是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
刷新是CDN清除脏数据不可或缺的功能,目前CDN缓存系统是通过针对目录下的每个url执行刷新操作,其具体过程包括:1、CDN缓存系统接收到目录刷新通知;2、根据磁盘已记录的每个目录存储的URL,进行多次磁盘I/O和字符串比较;3、找出目录下存储的全部URL,逐一做刷新操作。这种处理方式不但需要占用大量的磁盘存储,而且及时性和准确性都不能得到保证。
发明内容
有鉴于此,本申请提供了一种缓存目录刷新方法和装置,解决了文件目录刷新需占用大量的磁盘存储空间并且即时性和准确性较低的技术问题。
为了解决上述技术问题,本申请公开了一种缓存目录刷新方法,包括:接收到客户端的数据请求,所述数据请求包括URL地址;在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录;判断所述缓存目录下是否已挂载刷新任务;当所述缓存目录下已挂载刷新任务时,判断所述缓存目录下的内容的保存时刻是否早于所述刷新任务的下发时刻;当所述缓存目录下的内容的保存时刻早于所述刷新任务的下发时刻时,触发所述缓存目录的回源请求至源站,从所述源站刷新所述缓存目录下的内容。
所述方法还包括:当所述缓存目录下未挂载刷新任务时,判断所述缓存目录下的内容是否已过期;当所述缓存目录下的内容已过期时,触发所述缓存目录的回源请求至源站;从所述源站刷新所述缓存目录下的内容。
所述在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录包括:在所述哈希表中匹配出所述URL地址中的域名,在与所述域名对应的哈希字典树中,查询到所述域名下的缓存目录。
所述接收到客户端的数据请求之前,所述方法还包括:接收到刷新任务;在所述由哈希表和哈希字典树建立的目录结构中,在所述刷新任务对应的缓存目录下挂载刷新任务并记录所述刷新任务的下发时刻。
所述接收到刷新任务之后,所述方法还包括:对所述刷新任务进行数据持久化处理,在磁盘中保存所述刷新任务。
所述刷新任务包括生效时间段。
所述方法还包括:发送所述缓存目录下刷新后的内容至所述客户端;当所述缓存目录下的文件的保存时刻晚于所述刷新任务的下发时刻时,或者当所述缓存目录下的内容未过期时,发送所述缓存目录下的内容至所述客户端。
当所述缓存目录下已挂载刷新任务时,所述方法还包括:判断所述刷新任务是否包括所述生效时间段;当所述刷新任务包括所述生效时间段时,判断所述缓存目录下的内容的保存时刻是否在所述生效时间段之内;当所述缓存目录下的内容的保存时刻不在所述生效时间段之内时,发送所述缓存目录下的内容至所述客户端;当所述缓存目录下的内容的保存时刻在所述生效时间段之内时,或者当所述刷新任务不包括所述生效时间段时,判断所述缓存目录下的内容的保存时刻是否早于所述刷新任务的下发时刻。
所述方法还包括:当重新启动时,根据当前时间确定所述磁盘中保存的有效的刷新任务;在所述目录结构中加载所述有效的刷新任务。
所述触发所述缓存目录的回源请求至源站,从所述源站刷新所述缓存目录下的内容之后,所述方法还包括:记录所述缓存目录下刷新后的内容在磁盘中的第一偏移量;每隔预设时长判断所述磁盘执行写入操作时的当前偏移量与所述第一偏移量是否相同;当所述磁盘执行写入操作时的当前偏移量与所述第一偏移量相同时,删除所述缓存目录下的所述刷新任务。
为了解决上述技术问题,本申请公开了一种缓存目录刷新方法,包括:接收到客户端的数据请求,所述数据请求包括URL地址;在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录;判断所述缓存目录下是否已挂载刷新任务;当所述缓存目录下未挂载刷新任务时,判断所述缓存目录下的内容是否已过期;当所述缓存目录下的内容已过期时,触发所述缓存目录的回源请求至源站;从所述源站刷新所述缓存目录下的内容。
为了解决上述技术问题,本申请还公开了一种缓存目录刷新装置,包括:第一接收模块,用于接收到客户端的数据请求,所述数据请求包括URL地址;查询模块,用于在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录;第一判断模块,用于判断所述缓存目录下是否已挂载刷新任务;第二判断模块,用于当所述缓存目录下已挂载刷新任务时,判断所述缓存目录下的内容的保存时刻是否早于所述刷新任务的下发时刻;第一回源模块,用于当所述缓存目录下的文件的保存时刻早于所述刷新任务的下发时刻时,触发所述缓存目录的回源请求至源站,从所述源站刷新所述缓存目录下的内容。
所述装置还包括:第三判断模块,用于当所述缓存目录下未挂载刷新任务时,判断所述缓存目录下的内容是否已过期;第二回源模块,用于当所述缓存目录下的内容已过期时,触发所述缓存目录的回源请求至源站;从所述源站刷新所述缓存目录下的内容。
所述查询模块包括:匹配子模块,用于在所述哈希表中匹配出所述URL地址中的域名,查询子模块,用于在与所述域名对应的哈希字典树中,查询到所述域名下的缓存目录。
所述装置还包括:第二接收模块,用于接收到刷新任务;处理模块,用于在所述由哈希表和哈希字典树建立的目录结构中,在所述刷新任务对应的缓存目录下挂载刷新任务并记录所述刷新任务的下发时刻。
所述装置还包括:保存模块,用于对所述刷新任务进行数据持久化处理,在磁盘中保存所述刷新任务。
所述刷新任务包括生效时间段。
所述装置还包括:第一发送模块,用于发送所述缓存目录下刷新后的内容至所述客户端;第二发送模块,用于当所述缓存目录下的文件的保存时刻晚于所述刷新任务的下发时刻时,或者当所述缓存目录下的内容未过期时,发送所述缓存目录下的内容至所述客户端。
所述装置还包括:第四判断模块,用于判断所述刷新任务是否包括所述生效时间段;第五判断模块,用于当所述刷新任务包括所述生效时间段时,判断所述缓存目录下的内容的保存时刻是否在所述生效时间段之内;第三发送模块,用于当所述缓存目录下的内容的保存时刻不在所述生效时间段之内时,发送所述缓存目录下的内容至所述客户端;第六判断模块,用于当所述缓存目录下的内容的保存时刻在所述生效时间段之内时,或者当所述刷新任务不包括所述生效时间段时,判断所述缓存目录下的内容的保存时刻是否早于所述刷新任务的下发时刻。
所述装置还包括:确定模块,用于当重新启动时,根据当前时间确定所述磁盘中保存的有效的刷新任务;在所述目录结构中加载所述有效的刷新任务。
所述装置还包括:记录模块,用于记录所述缓存目录下刷新后的内容在磁盘中的第一偏移量;第七判断模块,用于每隔预设时长判断所述磁盘执行写入操作时的当前偏移量与所述第一偏移量是否相同;删除模块,用于当所述磁盘执行写入操作时的当前偏移量与所述第一偏移量相同时,删除所述缓存目录下的所述刷新任务。
为了解决上述技术问题,本申请还公开了一种缓存目录刷新装置,包括:第一接收模块,用于接收到客户端的数据请求,所述数据请求包括URL地址;查询模块,用于在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录;第一判断模块,用于判断所述缓存目录下是否已挂载刷新任务;第三判断模块,用于当所述缓存目录下未挂载刷新任务时,判断所述缓存目录下的内容是否已过期;第二回源模块,用于当所述缓存目录下的内容已过期时,触发所述缓存目录的回源请求至源站;从所述源站刷新所述缓存目录下的内容。
与现有技术相比,本申请可以获得包括以下技术效果:降低了同时进行的刷新任务的数量,减少了对磁盘空间的占用,根据客户端的数据请求判断相应的缓存目录是否需要刷新,保证了数据刷新的及时性和准确性。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种缓存目录刷新方法的流程示意图;
图2是本申请实施例的目录结构示意图。
图3是本申请实施例的一种缓存目录刷新方法的流程示意图;
图4是本申请实施例的一种缓存目录刷新方法的流程示意图;
图5是本申请实施例的一种缓存目录刷新方法的流程示意图;
图6是本申请实施例的淘汰过期刷新任务的流程示意图;
图7是本申请实施例的一种缓存目录刷新装置的结构示意图。
具体实施方式
以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
图1是本申请实施例提供的一种缓存目录刷新方法,适用于缓存服务器设备,该方法包括以下步骤。
在步骤S101中,接收到客户端的数据请求,数据请求包括URL地址。
该URL地址包括域名和目录,其结构为:域名/一级目录/二级目录/…/n级目录(即domain/path1/path2/…/pathn),例如abcd.com/e/fg/h。
在步骤S102中,在由哈希表和哈希字典树建立的目录结构中,查询到URL地址对应的缓存目录。
该目录结构存储于缓存服务器设备的内存中,包括哈希表(hash table)和哈希字典树(hash trie)两部分,其中,哈希表用于存储域名,哈希字典树用于建立缓存目录,每个域名对应着一个哈希字典树,该哈希字典树存储该域名下的缓存目录。
缓存服务器设备首先在哈希表中匹配出数据请求中URL地址的域名,确定该域名对应的哈希字典树,在与该域名对应的哈希字典树中查询该域名下的缓存目录。在哈希字典树中,代表一级目录的节点是其每个二级目录节点的父节点,根据URL地址的目录层级,在哈希字典树中逐级查询到相应的缓存目录。例如图2所示的目录结构示意图,查询abcd.com/e/fg/h对应的缓存目录的过程如下:A1、根据域名abcd.com的哈希值在内存中的哈希表20匹配到域名abcd.com的存储位置201;A2、确定与域名abcd.com的存储位置201对应的哈希字典树211;A3、在哈希字典树211的一级节点中查询到代表字符串e的节点a2,在节点a2的子节点中查询到代表字符串fg的节点b3,在节点b3的子节点中查询到代表字符串h的节点c2。
采用上述目录结构可以使百万级的缓存目录所占用的系统内存在200M以下,对响应时间的影响在1毫秒以下,使缓存服务器设备保持较高的处理效率。
在步骤S103中,判断缓存目录下是否已挂载刷新任务。当缓存目录下已挂载刷新任务时,执行步骤S104;当缓存目录下未挂载刷新任务时,执行步骤S107。
缓存服务器设备接收到源站下发的刷新任务时,不会立刻主动向该源站请求刷新相应的缓存目录下的内容,而会将刷新任务挂载到内存中相应的缓存目录,接收到来自客户端的数据请求时再判断是否需要刷新该缓存目录下的内容,在挂载命令中通过参数方式记录刷新任务的下发时刻。缓存服务器设备判断与URL地址对应的缓存目录下是否已挂载刷新任务。
在步骤S104中,判断缓存目录下的内容的保存时刻是否早于刷新任务的下发时刻。当缓存目录下的内容的保存时刻早于刷新任务的下发时刻时,执行步骤S105,当缓存目录下的文件的保存时刻晚于刷新任务的下发时刻时,执行步骤S108。
在步骤S105中,触发缓存目录的回源请求至源站,从源站刷新缓存目录下的内容。
如果缓存目录下的内容的保存时刻早于刷新任务的下发时刻,代表该缓存目录下的内容还没有刷新,该缓存目录下的内容目前属于脏数据。此时触发该缓存目录的回源请求至源站,从源站刷新该缓存目录下的内容,从而淘汰原有的脏数据。
在步骤S106中,发送缓存目录下刷新后的内容至客户端。
在步骤S107中,判断缓存目录下的内容是否已过期。当缓存目录下的内容已过期时,执行步骤S105;当缓存目录下的内容未过期时,执行步骤S108。
缓存服务器设备对缓存数据设有过期时间,当缓存目录下未挂载刷新任务时,判断该缓存目录下的内容是否已过期,如果已过期则代表该缓存目录下的内容属于脏数据,需要进行刷新,从而触发相应的回源请求至源站,刷新该缓存目录下的内容。
在步骤S108中,发送缓存目录下的内容至客户端。
当缓存目录下的文件的保存时刻晚于刷新任务的下发时刻时,或者当缓存目录下的内容未过期时,代表该缓存目录下的内容已是最新的内容,可以直接返回给客户端。
本申请实施例将缓存服务器设备的主动刷新模式变为缓存目录下内容的被动失效而触发回源来刷新内容的模式,降低了同时进行的刷新任务的数量,减少了对磁盘空间的占用,根据客户端的数据请求判断相应的缓存目录是否需要刷新,保证了数据刷新的及时性和准确性,同时在内存中引入哈希表和哈希字典树组成的目录结构,使得百万级缓存目录所占用的系统内存在200M以下,对于响应时间的影响在1毫秒以下,使缓存服务器设备保持较高的处理效率。
缓存服务器设备在接收到客户端的数据请求之前,需要将本地磁盘存储的内容映射到内存中,在内存中建立相应的映射目录结构,该目录结构由哈希表和哈希字典树组成。缓存服务器设备接收到来自源站的刷新任务,该刷新任务也包括由域名和目录组成的URL地址,域名/一级目录/二级目录/…/n级目录(即domain/path1/path2/…/pathn)。缓存服务器设备接收到刷新任务后,不会立刻向源站刷新相应的缓存目录下的内容,而是在刷新任务对应的缓存目录下挂载刷新任务并记录刷新任务的下发时刻。该挂载命令中包括参数、设备名称、挂载点(即相应的缓存目录)等信息。缓存服务器设备将接收到的刷新任务挂载到相应的缓存目录下,并以参数的形式记录该刷新任务的下发时刻,从而将刷新任务的数据存储到了内存中。而缓存服务器出现异常宕机或重启时,内存中的数据会丢失,因此,在一个实施例中,缓存服务器接收到刷新任务后,对内存中的目录结构的数据进行数据持久化处理,在磁盘中记录目录结构的数据,以防止缓存服务器异常重启而造成的数据丢失。当缓存服务器出现异常宕机或重启,内存数据丢失时,可以从磁盘中重新加载目录结构的数据。
在一个实施例中,如图3所示的一种缓存目录刷新方法,适用于缓存服务器设备,该方法包括以下步骤。
在步骤S301中,接收到刷新任务,所述刷新任务包括第一URL地址。
在步骤S302中,在由哈希表和哈希字典树建立的目录结构中,在第一URL地址对应的缓存目录下挂载该刷新任务并记录该刷新任务的下发时刻。
在步骤S303中,接收到客户端的数据请求,数据请求包括第一URL地址。
在步骤S304中,在由哈希表和哈希字典树建立的目录结构中,查询到第一URL地址对应的缓存目录。
此时第一URL地址对应的缓存目录下已挂载了刷新任务。
在步骤S305中,判断第一URL地址对应的缓存目录下的内容的保存时刻是否早于刷新任务的下发时刻。当第一URL地址对应的缓存目录下的内容的保存时刻早于刷新任务的下发时刻时,执行步骤S306;当第一URL地址对应的缓存目录下的内容的保存时刻晚于刷新任务的下发时刻时,执行步骤S308。
在步骤S306中,触发第一URL地址对应的缓存目录的回源请求至源站,从源站刷新第一URL地址对应的缓存目录下的内容。
在步骤S307中,发送第一URL地址对应的缓存目录下刷新后的内容至客户端。
在步骤S308中,发送第一URL地址对应的缓存目录下的内容至客户端。
在一个实施例中,如图4所示的一种缓存目录刷新方法,适用于缓存服务器设备,该方法包括以下步骤。
在步骤S401中,接收到刷新任务,所述刷新任务包括第一URL地址。
在步骤S402中,在由哈希表和哈希字典树建立的目录结构中,在第一URL地址对应的缓存目录下挂载该刷新任务并记录该刷新任务的下发时刻。
在步骤S403中,接收到客户端的数据请求,数据请求包括第二URL地址。
在步骤S404中,在由哈希表和哈希字典树建立的目录结构中,查询到第二URL地址对应的缓存目录。
此时第二URL地址对应的缓存目录下未挂载刷新任务。
在步骤S405中,判断第二URL地址对应的缓存目录下的内容是否已过期。当第二URL地址对应的缓存目录下的内容已过期时,执行步骤S406;当第二URL地址对应的缓存目录下的内容未过期时,执行步骤S
在步骤S406中,触发第二URL地址对应的缓存目录的回源请求至源站,从源站刷新第二URL地址对应的缓存目录下的内容。
在步骤S407中,发送第二URL地址对应的缓存目录下刷新后的内容至客户端。
在步骤S408中,发送第二URL地址对应的缓存目录下的内容至客户端。在现有技术中,源站下发的刷新任务属于全量刷新,刷新操作会将该目录下的正常数据和源站由于刷新文件产生的脏数据一起刷新,造成缓存命中率下降和回源成本增加的问题。本申请实施例的刷新任务中增加了生效时间段的维度,在刷新任务下发时可以明确指定生效的起始时间(start timestamp)和结束时间(end timestamp),如果缓存中的内容生成时间点不在这一生效时间段[start,end]范围之内,则都不会被刷掉,还可以继续直接返回给客户端,不仅提高了缓存命中率,也减少了因刷新引起的回源流量增加的问题。如图5所示,该方法包括以下步骤。
在步骤S501中,接收到刷新任务,该刷新任务包括生效时间段。
例如,该刷新任务中包括URL地址abcd.com/e/fg/h,生效时间段为[m,n],下发时刻为t1。
在步骤S502中,对刷新任务的进行数据持久化处理,在磁盘中保存刷新任务。
接收到刷新任务时,将刷新任务的数据进行持久化处理,根据该刷新任务对应的缓存目录,将刷新任务的数据刷新到磁盘保存的目录结构数据中。
在步骤S503中,在由哈希表和哈希字典树建立的目录结构中,在刷新任务对应的缓存目录下挂载刷新任务并记录刷新任务的生效时间段和下发时刻。
将刷新任务挂载到内存中与URL地址对应的缓存目录abcd.com/e/fg/h中,并以参数的形式记录刷新任务的生效时间段[m,n]以及下发时刻t1。
在步骤S504中,接收到客户端的数据请求,数据请求包括URL地址。
在步骤S505中,在由哈希表和哈希字典树建立的目录结构中,查询到URL地址对应的缓存目录。
在步骤S506中,判断缓存目录下是否已挂载刷新任务。当缓存目录下已挂载刷新任务时,执行步骤S507;当缓存目录下未挂载刷新任务时,执行步骤S513。
在步骤S507中,判断刷新任务是否包括生效时间段。当刷新任务包括生效时间段时,执行步骤S508;当刷新任务不包括生效时间段时,执行步骤S510。
缓存服务器设备判断缓存目录中挂载的刷新任务是否包括生效时间段。
在步骤S508中,判断缓存目录下的内容的保存时刻是否在生效时间段之内。当缓存目录下的内容的保存时刻在生效时间段之内时,执行步骤S510,当缓存目录下的内容的保存时刻不在生效时间段之内时,执行步骤S509
例如,数据请求中的URL地址包括abcd.com/e/fg/h,判断出相应的缓存目录中已挂载刷新任务,且该刷新任务中包括生效时间段[m,n]和下发时刻t1。该缓存目录下的内容的保存时刻为t2,判断保存时刻t2是否属于生效时间段[m,n]。
在步骤S509中,发送缓存目录下的内容至客户端。
当步骤S508判断出缓存目录下的内容的保存时刻t2不在生效时间段[m,n]之内时,该缓存目录下当前保存的内容不需要进行刷新操作,可以直接将缓存目录下的内容发送至客户端;
或者,当步骤S510判断出缓存目录abcd.com/e/fg/h下的内容的保存时刻t2晚于刷新任务的下发时刻t1时,代表该缓存目录abcd.com/e/fg/h下的内容已经被刷新,不需要再进行刷新操作,可以直接将缓存目录下的内容发送至客户端;
或者,当步骤S513判断出缓存目录abcd.com/e/dh/c下未挂载刷新任务并且内容未过期时,可以直接将缓存目录下的内容发送至客户端。
在步骤S510中,判断缓存目录下的内容的保存时刻是否早于刷新任务的下发时刻。当缓存目录下的内容的保存时刻早于刷新任务的下发时刻时,执行步骤S511;当缓存目录下的内容的保存时刻晚于刷新任务的下发时刻时,执行步骤S509。
在步骤S511中,触发缓存目录的回源请求至源站,从源站刷新缓存目录下的内容。
当步骤S510判断出缓存目录abcd.com/e/fg/h下的内容的保存时刻t2早于刷新任务的下发时刻t1时,代表该缓存目录挂载刷新任务后,内容还没有进行刷新,此时触发缓存目录abcd.com/e/fg/h的回源请求至源站,从源站刷新缓存目录abcd.com/e/fg/h下的内容;
或者,当步骤S513判断出缓存目录abcd.com/e/dh/c下未挂载刷新任务但内容已过期时,需要向源站回源刷新该缓存目录下的内容,此时触发缓存目录abcd.com/e/dh/c的回源请求至源站,从源站刷新缓存目录abcd.com/e/dh/c下的内容。
在步骤S512中,发送缓存目录下刷新后的内容至客户端。
缓存服务器对数据请求中的URL地址对应的缓存目录下的内容进行刷新后,将刷新后的内容发送至客户端。
在步骤S513中,判断缓存目录下的内容是否已过期。当缓存目录下的内容已过期时,执行步骤S511;当缓存目录下的内容未过期时,执行步骤S509。
例如,数据请求中的URL地址包括abcd.com/e/dh/c,查询到该URL地址对应的缓存目录并没有挂载刷新任务,则进一步判断该缓存目录abcd.com/e/dh/c下的内容是否已过期。
本申请实施例为刷新任务增加了生效时间段的维度,在刷新任务下发时可以明确指定生效时间段,缓存目录下的内容保存时刻不在生效时间段之内就不会被刷新,还可以继续直接返回给客户端,不仅提高了缓存命中率,也减少了因全量刷新引起的回源流量增加的问题。
缓存服务器设备接收到的刷新任务包括生效时间段时,为了防止重启时内存数据丢失,将刷新任务进行数据持久化,写入到磁盘中。缓存服务器设备重启时,根据当前时间确定磁盘中保存的有效的刷新任务,即当前时间如果在刷新任务的生效时间段之内,则确定刷新任务有效。将磁盘中当前所有有效的刷新任务加载到内存中的目录结构中,在缓存服务器设备重启后只加载仍然有效的刷新任务,从而可以快速重建内存中的目录结构中的哈希字典树并且降低重建后的目录结构对内存的占用。
由于缓存服务器容量的限制,经过刷新操作新写入的缓存内容会覆盖之前很久没有访问的数据,可以理解为缓存内容会循环写整个磁盘空间。如果写磁盘一圈之后,之前的内容都会被覆盖淘汰,但现有技术中,针对这些内容的刷新任务还在内存的目录结构中,还要对这些任务做不必要的校验。本申请实施例会对已被覆盖的内容所在的缓存目录中所挂载的刷新任务进行淘汰,如图6所示,该方法包括以下步骤。
在步骤S601中,触发缓存目录的回源请求至源站,从源站刷新缓存目录下的内容。
例如,刷新缓存目录abcd.com/e/fg/h下的内容。
在步骤S602中,记录缓存目录下刷新后的内容在磁盘中的第一偏移量。
缓存目录abcd.com/e/fg/h下刷新后的内容写入到磁盘时,记录该刷新后的内容在磁盘中的第一偏移量,通过该第一偏移量确定刷新后的内容在磁盘中的写入位置。
在步骤S603中,每隔预设时长判断磁盘执行写入操作时的当前偏移量与第一偏移量是否相同。当磁盘执行写入操作时的当前偏移量与第一偏移量相同时,执行步骤S604;当磁盘执行写入操作时的当前偏移量与第一偏移量不同时,流程结束,不进行任何操作。
缓存服务器设备每隔预设时长检测执行写入操作时的当前偏移量,判断第一偏移量是否与磁盘执行写入操作时的当前偏移量相同。
在步骤S604中,删除缓存目录下的刷新任务。
当磁盘执行写入操作时的当前偏移量与第一偏移量相同时,代表磁盘已经完整的写过了一圈,例如在磁盘的第一偏移量位置处写入的缓存目录abcd.com/e/fg/h下的内容已经被其他数据覆盖,不会再有针对该内容的数据请求,在内存空间建立的目录结构中该缓存目录下挂载的刷新任务也需要相应的淘汰掉,因此将内存中该缓存目录abcd.com/e/fg/h下挂载的刷新任务删除,从而减少了目录结构的内存占用,也减少了重启时在内存中加载目录结构所耗费的时间。
图7是本申请实施例提供的一种缓存目录刷新装置,该装置包括:
第一接收模块70,用于接收到客户端的数据请求,数据请求包括URL地址;
查询模块71,用于在由哈希表和哈希字典树建立的目录结构中,查询到URL地址对应的缓存目录;
第一判断模块72,用于判断缓存目录下是否已挂载刷新任务;
第二判断模块73,用于当缓存目录下已挂载刷新任务时,判断缓存目录下的内容的保存时刻是否早于刷新任务的下发时刻;
第一回源模块74,用于当缓存目录下的文件的保存时刻早于刷新任务的下发时刻时,触发缓存目录的回源请求至源站,从源站刷新缓存目录下的内容。
在一个实施例中,该装置还包括:第三判断模块75,用于当缓存目录下未挂载刷新任务时,判断缓存目录下的内容是否已过期;
第二回源模块76,用于当缓存目录下的内容已过期时,触发缓存目录的回源请求至源站;从源站刷新缓存目录下的内容。
其中,该查询模块71包括:
匹配子模块,用于在哈希表中匹配出URL地址中的域名,
查询子模块,用于在与域名对应的哈希字典树中,查询到域名下的缓存目录。
在一个实施例中,该装置还包括:
第二接收模块,用于接收到刷新任务;
处理模块,用于在由哈希表和哈希字典树建立的目录结构中,在刷新任务对应的缓存目录下挂载刷新任务并记录刷新任务的下发时刻。
在一个实施例中,该装置还包括:
保存模块,用于对刷新任务进行数据持久化处理,在磁盘中保存刷新任务。
在一个实施例中,该刷新任务包括生效时间段。
在一个实施例中,该装置还包括:
第一发送模块,用于发送缓存目录下刷新后的内容至客户端;
第二发送模块,用于当缓存目录下的文件的保存时刻晚于刷新任务的下发时刻时,或者当缓存目录下的内容未过期时,发送缓存目录下的内容至客户端。
在一个实施例中,该装置还包括:
第四判断模块,用于判断刷新任务是否包括生效时间段;
第五判断模块,用于当刷新任务包括生效时间段时,判断缓存目录下的内容的保存时刻是否在生效时间段之内;
第三发送模块,用于当缓存目录下的内容的保存时刻不在生效时间段之内时,发送缓存目录下的内容至客户端;
第六判断模块,用于当缓存目录下的内容的保存时刻在生效时间段之内时,或者当刷新任务不包括生效时间段时,判断缓存目录下的内容的保存时刻是否早于刷新任务的下发时刻。
在一个实施例中,该装置还包括:
确定模块,用于当重新启动时,根据当前时间确定磁盘中保存的有效的刷新任务;
在目录结构中加载有效的刷新任务。
在一个实施例中,该装置还包括:
记录模块,用于记录缓存目录下刷新后的内容在磁盘中的第一偏移量;
第七判断模块,用于每隔预设时长判断磁盘执行写入操作时的当前偏移量与第一偏移量是否相同;
删除模块,用于当磁盘执行写入操作时的当前偏移量与第一偏移量相同时,删除缓存目录下的刷新任务。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (22)
1.一种缓存目录刷新方法,其特征在于,包括:
接收到客户端的数据请求,所述数据请求包括URL地址;
在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录;
判断所述缓存目录下是否已挂载刷新任务;
当所述缓存目录下已挂载刷新任务时,判断所述缓存目录下的内容的保存时刻是否早于所述刷新任务的下发时刻;
当所述缓存目录下的内容的保存时刻早于所述刷新任务的下发时刻时,触发所述缓存目录的回源请求至源站,从所述源站刷新所述缓存目录下的内容。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述缓存目录下未挂载刷新任务时,判断所述缓存目录下的内容是否已过期;
当所述缓存目录下的内容已过期时,触发所述缓存目录的回源请求至源站;从所述源站刷新所述缓存目录下的内容。
3.如权利要求1所述的方法,其特征在于,所述在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录包括:
在所述哈希表中匹配出所述URL地址中的域名,
在与所述域名对应的哈希字典树中,查询到所述域名下的缓存目录。
4.如权利要求1所述的方法,其特征在于,所述接收到客户端的数据请求之前,所述方法还包括:
接收到刷新任务;
在所述由哈希表和哈希字典树建立的目录结构中,在所述刷新任务对应的缓存目录下挂载刷新任务并记录所述刷新任务的下发时刻。
5.如权利要求4所述的方法,其特征在于,所述接收到刷新任务之后,所述方法还包括:
对所述刷新任务进行数据持久化处理,在磁盘中保存所述刷新任务。
6.如权利要求1-5任一所述的方法,其特征在于,所述刷新任务包括生效时间段。
7.如权利要求2-5任一所述的方法,其特征在于,所述方法还包括:
发送所述缓存目录下刷新后的内容至所述客户端;
当所述缓存目录下的文件的保存时刻晚于所述刷新任务的下发时刻时,或者当所述缓存目录下的内容未过期时,发送所述缓存目录下的内容至所述客户端。
8.如权利要求7所述的方法,其特征在于,当所述缓存目录下已挂载刷新任务时,所述方法还包括:
判断所述刷新任务是否包括生效时间段;
当所述刷新任务包括所述生效时间段时,判断所述缓存目录下的内容的保存时刻是否在所述生效时间段之内;
当所述缓存目录下的内容的保存时刻不在所述生效时间段之内时,发送所述缓存目录下的内容至所述客户端;
当所述缓存目录下的内容的保存时刻在所述生效时间段之内时,或者当所述刷新任务不包括所述生效时间段时,判断所述缓存目录下的内容的保存时刻是否早于所述刷新任务的下发时刻。
9.如权利要求5所述的方法,其特征在于,所述方法还包括:
当重新启动时,根据当前时间确定所述磁盘中保存的有效的刷新任务;
在所述目录结构中加载所述有效的刷新任务。
10.如权利要求1所述的方法,其特征在于,所述触发所述缓存目录的回源请求至源站,从所述源站刷新所述缓存目录下的内容之后,所述方法还包括:
记录所述缓存目录下刷新后的内容在磁盘中的第一偏移量;
每隔预设时长判断所述磁盘执行写入操作时的当前偏移量与所述第一偏移量是否相同;
当所述磁盘执行写入操作时的当前偏移量与所述第一偏移量相同时,删除所述缓存目录下的所述刷新任务。
11.一种缓存目录刷新方法,其特征在于,所述方法包括:
接收到客户端的数据请求,所述数据请求包括URL地址;
在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录;
判断所述缓存目录下是否已挂载刷新任务;
当所述缓存目录下未挂载刷新任务时,判断所述缓存目录下的内容是否已过期;
当所述缓存目录下的内容已过期时,触发所述缓存目录的回源请求至源站;从所述源站刷新所述缓存目录下的内容。
12.一种缓存目录刷新装置,其特征在于,包括:
第一接收模块,用于接收到客户端的数据请求,所述数据请求包括URL地址;
查询模块,用于在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录;
第一判断模块,用于判断所述缓存目录下是否已挂载刷新任务;
第二判断模块,用于当所述缓存目录下已挂载刷新任务时,判断所述缓存目录下的内容的保存时刻是否早于所述刷新任务的下发时刻;
第一回源模块,用于当所述缓存目录下的文件的保存时刻早于所述刷新任务的下发时刻时,触发所述缓存目录的回源请求至源站,从所述源站刷新所述缓存目录下的内容。
13.如权利要求12所述的装置,其特征在于,所述装置还包括:
第三判断模块,用于当所述缓存目录下未挂载刷新任务时,判断所述缓存目录下的内容是否已过期;
第二回源模块,用于当所述缓存目录下的内容已过期时,触发所述缓存目录的回源请求至源站;从所述源站刷新所述缓存目录下的内容。
14.如权利要求12所述的装置,其特征在于,所述查询模块包括:
匹配子模块,用于在所述哈希表中匹配出所述URL地址中的域名,
查询子模块,用于在与所述域名对应的哈希字典树中,查询到所述域名下的缓存目录。
15.如权利要求12所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收到刷新任务;
处理模块,用于在所述由哈希表和哈希字典树建立的目录结构中,在所述刷新任务对应的缓存目录下挂载刷新任务并记录所述刷新任务的下发时刻。
16.如权利要求15所述的装置,其特征在于,所述装置还包括:
保存模块,用于对所述刷新任务进行数据持久化处理,在磁盘中保存所述刷新任务。
17.如权利要求12-16任一所述的装置,其特征在于,所述刷新任务包括生效时间段。
18.如权利要求12-16任一所述的装置,其特征在于,所述装置还包括:
第一发送模块,用于发送所述缓存目录下刷新后的内容至所述客户端;
第二发送模块,用于当所述缓存目录下的文件的保存时刻晚于所述刷新任务的下发时刻时,或者当所述缓存目录下的内容未过期时,发送所述缓存目录下的内容至所述客户端。
19.如权利要求18所述的装置,其特征在于,所述装置还包括:
第四判断模块,用于判断所述刷新任务是否包括生效时间段;
第五判断模块,用于当所述刷新任务包括所述生效时间段时,判断所述缓存目录下的内容的保存时刻是否在所述生效时间段之内;
第三发送模块,用于当所述缓存目录下的内容的保存时刻不在所述生效时间段之内时,发送所述缓存目录下的内容至所述客户端;
第六判断模块,用于当所述缓存目录下的内容的保存时刻在所述生效时间段之内时,或者当所述刷新任务不包括所述生效时间段时,判断所述缓存目录下的内容的保存时刻是否早于所述刷新任务的下发时刻。
20.如权利要求16所述的装置,其特征在于,所述装置还包括:
确定模块,用于当重新启动时,根据当前时间确定所述磁盘中保存的有效的刷新任务;
在所述目录结构中加载所述有效的刷新任务。
21.如权利要求16所述的装置,其特征在于,所述装置还包括:
记录模块,用于记录所述缓存目录下刷新后的内容在磁盘中的第一偏移量;
第七判断模块,用于每隔预设时长判断所述磁盘执行写入操作时的当前偏移量与所述第一偏移量是否相同;
删除模块,用于当所述磁盘执行写入操作时的当前偏移量与所述第一偏移量相同时,删除所述缓存目录下的所述刷新任务。
22.一种缓存目录刷新装置,其特征在于,包括:
第一接收模块,用于接收到客户端的数据请求,所述数据请求包括URL地址;
查询模块,用于在由哈希表和哈希字典树建立的目录结构中,查询到所述URL地址对应的缓存目录;
第一判断模块,用于判断所述缓存目录下是否已挂载刷新任务;
第三判断模块,用于当所述缓存目录下未挂载刷新任务时,判断所述缓存目录下的内容是否已过期;
第二回源模块,用于当所述缓存目录下的内容已过期时,触发所述缓存目录的回源请求至源站;从所述源站刷新所述缓存目录下的内容。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510228135.8A CN106202112B (zh) | 2015-05-06 | 2015-05-06 | 缓存目录刷新方法和装置 |
PCT/CN2016/079816 WO2016177283A1 (zh) | 2015-05-06 | 2016-04-21 | 缓存目录刷新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510228135.8A CN106202112B (zh) | 2015-05-06 | 2015-05-06 | 缓存目录刷新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106202112A CN106202112A (zh) | 2016-12-07 |
CN106202112B true CN106202112B (zh) | 2019-07-02 |
Family
ID=57218057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510228135.8A Active CN106202112B (zh) | 2015-05-06 | 2015-05-06 | 缓存目录刷新方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106202112B (zh) |
WO (1) | WO2016177283A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153796B (zh) * | 2016-12-02 | 2023-05-16 | 阿里巴巴集团控股有限公司 | 一种电子红包的数据处理方法、装置和系统 |
CN108416017B (zh) * | 2018-03-05 | 2022-11-01 | 北京云端智度科技有限公司 | 一种cdn缓存清除方法和系统 |
CN108416016A (zh) * | 2018-03-05 | 2018-08-17 | 北京云端智度科技有限公司 | 一种cdn按前缀缓存清除方法和系统 |
CN108616609A (zh) * | 2018-03-10 | 2018-10-02 | 北京酷我科技有限公司 | 一种iOS网络DNS解析策略 |
CN109190070B (zh) * | 2018-08-01 | 2021-10-15 | 北京奇艺世纪科技有限公司 | 一种数据处理方法、装置、系统及应用服务器 |
CN109344353B (zh) * | 2018-09-12 | 2021-10-08 | 福建天泉教育科技有限公司 | 一种可配置化的本地缓存刷新方法及终端 |
CN110990480A (zh) * | 2018-09-30 | 2020-04-10 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN109639801A (zh) * | 2018-12-17 | 2019-04-16 | 深圳市网心科技有限公司 | 数据节点分配及数据获取方法及系统 |
CN111367921A (zh) * | 2018-12-26 | 2020-07-03 | 北京奇虎科技有限公司 | 数据对象的刷新方法及装置 |
CN109783499B (zh) * | 2019-01-18 | 2023-09-22 | 成都宝瓜科技有限公司 | 一种数据缓存方法、装置和服务器 |
CN110059023B (zh) * | 2019-04-04 | 2020-11-10 | 创新先进技术有限公司 | 一种刷新级联缓存的方法、系统及设备 |
US10922236B2 (en) | 2019-04-04 | 2021-02-16 | Advanced New Technologies Co., Ltd. | Cascade cache refreshing |
CN112513830A (zh) * | 2019-07-15 | 2021-03-16 | 华为技术有限公司 | 内容分发网络中的回源方法及相关装置 |
CN110489420A (zh) * | 2019-08-14 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种基于区块链的数据处理方法及装置 |
CN110531930B (zh) * | 2019-08-22 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 存储卷缓存的清除方法及装置 |
CN112448979B (zh) * | 2019-08-30 | 2022-09-13 | 贵州白山云科技股份有限公司 | 一种缓存信息的更新方法、装置及介质 |
CN112861030B (zh) * | 2019-11-27 | 2024-04-05 | 北京金山云网络技术有限公司 | Cdn的刷新方法和装置、缓存服务器以及存储介质 |
CN112861031B (zh) * | 2019-11-27 | 2024-04-02 | 北京金山云网络技术有限公司 | Cdn中url刷新方法、装置、设备以及cdn节点 |
CN113497813B (zh) * | 2020-03-18 | 2022-11-25 | 北京金山云网络技术有限公司 | 内容分发网络的内容刷新方法、装置和电子设备 |
CN112463653B (zh) * | 2020-12-15 | 2024-07-23 | 北京金山云网络技术有限公司 | 数据刷新的方法、装置及电子设备 |
CN113282539B (zh) * | 2021-05-14 | 2024-09-06 | 北京达佳互联信息技术有限公司 | 信息加载方法、装置、电子设备及存储介质 |
CN113271359A (zh) * | 2021-05-19 | 2021-08-17 | 北京百度网讯科技有限公司 | 刷新缓存数据的方法、装置、电子设备和存储介质 |
CN113596105B (zh) * | 2021-07-06 | 2023-12-26 | 深圳市华曦达科技股份有限公司 | 内容的获取方法、边缘节点及计算机可读存储介质 |
CN114598748B (zh) * | 2021-12-08 | 2024-09-27 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
CN115834697B (zh) * | 2022-11-16 | 2024-09-06 | 北京奇艺世纪科技有限公司 | 一种文件存储方法、系统、装置及电子设备 |
US20240168733A1 (en) * | 2022-11-18 | 2024-05-23 | Stripe, Inc. | Systems and methods for a remotebuild tree cache |
CN115883659B (zh) * | 2022-12-15 | 2023-10-03 | 江苏云工场信息技术有限公司 | 一种支持cdn缓存批量刷新的方法及装置 |
CN115733883B (zh) * | 2022-12-27 | 2023-10-03 | 江苏云工场信息技术有限公司 | 一种刷新cdn缓存的方法及装置 |
CN117194827B (zh) * | 2023-11-08 | 2024-02-27 | 联通在线信息科技有限公司 | Cdn目录刷新的方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831181A (zh) * | 2012-07-31 | 2012-12-19 | 北京光泽时代通信技术有限公司 | 缓存文件的目录刷新方法及采用该方法的代理缓存服务器 |
CN103685551A (zh) * | 2013-12-25 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 更新cdn缓存文件的方法和装置 |
CN104317741A (zh) * | 2014-11-13 | 2015-01-28 | 北京奇虎科技有限公司 | 缓存目录的识别、清理方法和系统 |
US8954673B1 (en) * | 2012-03-20 | 2015-02-10 | Emc International Company | Using a conditional read request and a hash to determine synchronization of data in a cache at a host with data in storage array |
US9003127B2 (en) * | 2012-06-13 | 2015-04-07 | International Business Machines Corporation | Storing data in a system memory for a subsequent cache flush |
-
2015
- 2015-05-06 CN CN201510228135.8A patent/CN106202112B/zh active Active
-
2016
- 2016-04-21 WO PCT/CN2016/079816 patent/WO2016177283A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954673B1 (en) * | 2012-03-20 | 2015-02-10 | Emc International Company | Using a conditional read request and a hash to determine synchronization of data in a cache at a host with data in storage array |
US9003127B2 (en) * | 2012-06-13 | 2015-04-07 | International Business Machines Corporation | Storing data in a system memory for a subsequent cache flush |
CN102831181A (zh) * | 2012-07-31 | 2012-12-19 | 北京光泽时代通信技术有限公司 | 缓存文件的目录刷新方法及采用该方法的代理缓存服务器 |
CN103685551A (zh) * | 2013-12-25 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 更新cdn缓存文件的方法和装置 |
CN104317741A (zh) * | 2014-11-13 | 2015-01-28 | 北京奇虎科技有限公司 | 缓存目录的识别、清理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2016177283A1 (zh) | 2016-11-10 |
CN106202112A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106202112B (zh) | 缓存目录刷新方法和装置 | |
CN105718455B (zh) | 一种数据查询方法及装置 | |
CN106796547B (zh) | 用于代理缓存智能对象淘汰的方法和系统 | |
CN109240946A (zh) | 数据的多级缓存方法及终端设备 | |
CN106649349B (zh) | 用于游戏应用的数据缓存方法、装置和系统 | |
CN106569733A (zh) | 缓存数据的处理方法和装置 | |
CN105224255B (zh) | 一种存储文件管理方法及装置 | |
CN104994139B (zh) | 一种对高并发网络请求快速响应的系统及方法 | |
CN106161569A (zh) | 网络内容的推荐、缓存替换方法和设备 | |
US9292454B2 (en) | Data caching policy in multiple tenant enterprise resource planning system | |
CN110275900B (zh) | 一种基于Redis缓存技术监控订单及预警的方法 | |
CN104239353B (zh) | 一种web分类控制和日志审计的方法 | |
EP2898430A2 (en) | Mail indexing and searching using hierarchical caches | |
CN105389311B (zh) | 一种用于确定查询结果的方法与设备 | |
CN104794228A (zh) | 一种搜索结果提供方法及装置 | |
CN107301215A (zh) | 一种搜索结果缓存方法及装置、搜索方法及装置 | |
CN105426321A (zh) | 采用远程位置信息的rdma友好缓存方法 | |
CN107343031A (zh) | 一种自动更新文件的方法、装置、电子设备及存储介质 | |
US11573981B1 (en) | Auto-scaling using temporal splits in a time-series database | |
CN103116627A (zh) | 一种高并发soa技术访问数据库的方法和系统 | |
CN106210022A (zh) | 一种用于处理论坛高并发数据请求的系统和方法 | |
CN110147345A (zh) | 一种基于rdma的键值存储系统及其工作方法 | |
CN105915619A (zh) | 顾及访问热度的网络空间信息服务高性能内存缓存方法 | |
CN110266799B (zh) | 一种基于缓存的幂等性实现的方法 | |
CN103559307A (zh) | 一种查询的缓存方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |