CN104301345B - 一种Cache集群中删除数据的方法及系统 - Google Patents
一种Cache集群中删除数据的方法及系统 Download PDFInfo
- Publication number
- CN104301345B CN104301345B CN201310300828.4A CN201310300828A CN104301345B CN 104301345 B CN104301345 B CN 104301345B CN 201310300828 A CN201310300828 A CN 201310300828A CN 104301345 B CN104301345 B CN 104301345B
- Authority
- CN
- China
- Prior art keywords
- cache
- equipment
- data
- clusters
- mark
- 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
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Abstract
本申请公开了一种缓存(Cache)集群中删除(Purge)数据的方法及系统,包括对故障Cache设备迁移的Cache数据设置标志;访问Cache集群中的Cache数据时,对设置有标志的Cache数据进行验证后访问。本申请通过使用对迁移的Cache数据进行置标的方式,记录了由于一致性哈希Cache集群状态颠簸时引起Cache数据迁移的信息,而在由这些迁移的Cache数据提供服务时,利用置标信息对需要进一步验证的该Cache数据进行验证后再使用,防止了失效的Cache数据再提供服务的情况,保证了Cache集群访问的高效准确性。
Description
技术领域
本申请涉及内容分发网络技术,尤指一种基于一致性哈希的Cache集群中删除(Purge)数据的方法及系统。
背景技术
内容分发网络(CDN,Content Delivery Network),是通过在网络各处放置节点服务器所构成的、在现有的互联网(Internet)基础之上的一层智能虚拟网络。CDN能够实时地根据网络流量和各节点的连接、负载状况,以及到用户的距离和响应时间等综合信息,将用户的请求重新导向离用户最近的服务节点上。也就是说,CDN的目的是使用户可就近取得所需内容,以解决Internet网络拥挤的状况,从而提高用户访问网站的响应速度。
目前,CDN已被广泛运用到各类中大型网站中,用以达到访问速度的最优化,从而方便分布广泛的用户的访问。在CDN系统中,缓存(Cache)集群是基础。
发明内容
为了解决上述技术问题,本申请提供了一种Cache集群中删除数据的方法及系统,能够防止失效的Cache数据再提供服务的情况,保证Cache集群访问的高效准确性。
为了达到本申请目的,本申请提供一种缓存Cache集群中删除数据的方法,包括:对故障Cache设备迁移的Cache数据设置标志;
访问Cache集群中的Cache数据时,验证设置有标志的Cache数据。
所述对故障Cache设备迁移的Cache数据设置标志包括:
所述Cache集群接收到访问请求;所述Cache集群进行一致性哈希处理,将访问请求转发给对应的Cache设备;
在Cache设备比较出所述访问请求原本转发的Cache设备与自身不一致时,对所述迁移的Cache数据设置标志。
该方法还包括:在所述Cache设备比较出所述访问请求原本转发的Cache设备与自身一致时,进行正常处理。
该方法之前还包括:
在所述Cache设备系统初始化时,建立用于存储初始化的Cache设备的标识的初始一致性哈希hash表;以及用于存储当前Cache设备检测到的当前Cache集群中其他存活的Cache设备的ID的当前一致性hash表。
所述访问请求原本转发的Cache设备与当前Cache设备不一致,对所述迁移的Cache数据设置标志具体包括:
分析所述访问请求的统一资源定位符URI信息,通过该URI计算purge请求一致性hash值;
通过所述初始一致性hash表确定访问请求分发的初始目标Cache设备ID,通过当前一致性hash表确定访问请求分发的当前目标Cache设备ID;
比较初始目标Cache设备ID与当前目标Cache设备ID是否一致,如果二者不一致,查找该Cache设备本地的Cache数据库,
在访问的是不命中Miss时,对所述迁移的Cache数据设置标志,标志信息为当前时间。
该方法进一步包括:
在所述访问的是命中Hit时,比较初始目标Cache设备上一次宕机时间与当前Cache设备的置标时间,如果置标时间晚于宕机时间,则直接提供服务;如果置标时间早于宕机时间,则从源服务器校验该Cache数据是否为最新的数据。
如果访问的是Miss,该方法还包括:从源服务器读取数据,并将数据写入当前Cache设备。
如果访问的是Hit,该方法还包括:读取Cache数据提供服务。
如果所述初始目标Cache设备ID与当前目标Cache设备ID一致,该方法还包括:按照现有Cache访问流程进行访问。
在出现Cache设备发生宕机、恢复服务时,该方法还包括:同步更新所述当前一致性hash表。
所述访问Cache集群中的Cache数据时,验证设置有标志的Cache数据包括:
所述Cache集群接收到访问请求;所述Cache集群进行一致性哈希处理,将访问请求转发给对应的Cache设备;
所述Cache设备判断被访问的Cache数据是否已被置标,如果被置标,进一步确定是否已经被验证过,如果未被验证过,则从源服务器验证该cache数据,如果已被经验证过,则正常处理;
如果被访问的Cache数据未被置标,则正常处理。
所述确定是否已被验证过包括:对比所述被置标的时间与宕机的Cache设备的恢复服务时间,如果置标的时间晚于恢复服务时间,则表明已经验证过;否则表明未被验证过。
当所述Cache集群中有一台或者多台Cache设备出现宕机后恢复提供服务状态时,该方法还包括:在该Cache设备上执行历史purge请求后,重新将其加入Cache集群中。
当所述Cache集群中的所有Cache设备正常服务状态时,该方法还包括:所述Cache集群按照现有一致性hash访问,一致性hash存储;
对接收到的purge请求,所述Cache集群接收到purge请求;所述Cache集群进行一致性哈希处理,将purge请求转发给对应的Cache设备;所述Cache设备处理purge请求。
当所述Cache集群中有一台或者多台Cache设备出现宕机状态时;或者,
当所述Cache集群中有一台或者多台Cache设备出现宕机后恢复提供服务状态时;或者,
当所述Cache集群中有一台或者多台宕机的Cache设备恢复后再宕机时,该方法还包括:
所述Cache集群接收到purge请求;所述Cache集群进行一致性哈希处理,将purge请求转发给对应的Cache设备;所述Cache设备处理purge请求。
一种Cache集群中删除数据的系统,包括位于Cache集群中的Cache设备;Cache设备,用于对故障Cache设备迁移的Cache数据设置标志;访问Cache集群中的Cache数据时,验证设置有标志的Cache数据。
所述Cache集群的Cache集群接口,用于接收访问请求;进行一致性哈希处理,将访问请求转发给对应的Cache设备;
所述Cache设备,具体用于比较出该访问请求原本该转发的Cache设备与自身不一致时,对Cache数据进行置标操作;判断出被访问的Cache数据已被置标且未被验证过,则经由所述Cache集群接口从源服务器验证该Cache数据,如果已被经验证过,则正常处理;
其中,所述确定是否已被验证过包括:对比所述被置标的时间与宕机的Cache设备的恢复服务时间,如果置标的时间晚于恢复服务时间,则表明已经验证过;否则表明未被验证过。
所述Cache设备,还用于在Cache设备比较出该访问请求原本该转发的Cache设备与自身一致时;或者,在确定被访问的Cache数据未被置标;或者,判断出被访问的Cache数据已被置标且已经被验证过;则,正常处理。
所述Cache设备,还用于执行历史purge请求,重新加入Cache集群中。
所述Cache集群的Cache集群接口,还用于接收purge请求;进行一致性哈希处理,将purge请求转发给对应的Cache设备;
所述Cache设备,还用于处理purge请求。
本申请提供的方案包括对故障Cache设备迁移的Cache数据设置标志;访问Cache集群中的Cache数据时,对设置有标志的Cache数据进行验证后访问。本申请方案通过使用对迁移的Cache数据进行置标的方式,记录了由于一致性哈希Cache集群状态颠簸时引起Cache数据迁移的信息,而在由这些迁移的Cache数据提供服务时,利用置标信息对需要进一步验证的该Cache数据进行验证后再使用,防止了失效的Cache数据再提供服务的情况,保证了Cache集群访问的高效准确性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请Cache集群中删除数据的方法的流程图;
图2为本申请Cache集群中删除数据的系统的组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在本申请一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
一致性哈希(consistent hash)处理最基础的思想即目标就是:对对象(object)和Cache设备(Cache machine)使用相同的哈希(hash)函数。这样做的好处是能够将Cache设备映射到一段区间(interval)上,而这段interval则会包含一定数目的对象的hash值。如果某台Cache设备被移除,那么该Cache设备所映射到的interval被与该Cache设备相邻的一个Cache设备托管,其他所有的Cache设备都不用变,这种情况在实际运行环境中为常态。但是,在一个一致性哈希Cache集群中,如果Cache集群中的Cache设备发生故障,那么整个Cache集群就会发生颠簸,破坏Cache集群数据的冗余性(有一份数据同时存放在多台Cache设备上)和及时性(Cache设备中存在的数据有可能是旧的)。
因此,Cache集群系统需要删除(purge)一些指定的Cache数据,比如业务确定已经过期的数据等,从而让客户不会再访问到这些Cache数据。而如何高效准确地purge这些Cache数据目前还没有具体的实现方案。
图1为本申请Cache集群中删除数据的方法的流程图,如图1所示,包括以下步骤:
步骤100:对故障Cache设备迁移的Cache数据设置标志。
本步骤中,当Cache集群中有一台或者多台Cache设备出现宕机状态时,原本访问、存储到当前出现宕机状态的Cache设备的Cache数据会迁移至能够正常服务的其他Cache设备上,此时,本申请提供的方法会对迁移的Cache数据进行置标操作,即设置一个标志,用于标识该Cache数据是迁移的数据。
本步骤包括:Cache集群接收到访问请求;Cache集群进行一致性哈希处理,将访问请求转发给对应的Cache设备,具体实现属于本领域技术人员的公知技术,这里不再赘述;Cache设备比较该访问请求原本该转发的Cache设备与自身是否一致,在Cache设备比较出该访问请求原本该转发的Cache设备与自身不一致时,表明该转发的Cache设备与当前Cache设备是不同的Cache设备,则对Cache数据进行置标操作。
进一步地,在Cache设备比较出该访问请求原本该转发的Cache设备与自身一致时,表明该转发的Cache设备与当前Cache设备是同一Cache设备,则退出本申请流程,进行正常处理。
其中,比较访问请求原本该转发的Cache设备与当前Cache设备是否一致的具体实现包括:
在Cache设备系统初始化时,建立两张一致性hash表,一张为用于存储初始化的Cache设备的标识(ID)的初始一致性hash表(orig_hash_table);另一张为用于存储当前Cache设备检测到的当前Cache集群中其他存活的Cache设备的ID的当前一致性hash表(now_hash_table)。其中,在出现Cache设备发生宕机、恢复服务时,会同步触发对当前一致性hash表的更新。
分析访问请求的统一资源定位符(URI)信息,通过该URI计算该purge请求一致性hash值。通过orig_hash_table表确定访问请求分发的初始目标Cache设备ID,通过now_hash_table表确定访问请求分发的当前目标Cache设备ID;比较初始目标Cache设备ID与当前目标Cache设备ID是否一致,如果二者不一致,表明初始目标Cache设备和当前目标Cache设备不相同,此时,说明被分配的处理当前访问请求的Cache设备发生了变化,查找该Cache设备本地的Cache数据库,
如果访问的是不命中(Miss),那么,Cache设备对Cache数据进行置标操作,标志信息为当前时间(迁移时间);同时从源站获得数据;
如果访问的是命中(Hit),那么,只需比较初始目标Cache设备上一次宕机时间与当前Cache设备的置标时间,如果置标时间晚于宕机时间,则直接提供服务;如果置标时间早于宕机时间,则从源服务器校验该Cache数据是否为最新的数据;
进一步地,如果初始目标Cache设备ID与当前目标Cache设备ID一致,表明被分配的处理当前访问请求的Cache设备没有发生变化,按照现有Cache访问流程进行访问即可:如果访问的是Miss,从源站读取数据,并将数据写入当前Cache设备;如果访问的是Hit,则读取Cache数据提供服务。
步骤101:访问Cache集群中的Cache数据时,验证设置有标志的Cache数据。
在Cache集群中有一台或者多台宕机的Cache设备恢复后再宕机的状态下,由于一台或者多台从宕机状态恢复的Cache设备再次宕机,使得用户会重新访问被迁移到另外一直正常服务的Cache设备的被置标的Cache数据。而这部分Cache数据是没有被purge过的,因此有可能是旧的内容。因此,本步骤中,需要在访问到这些被置标的Cache数据时,从源站服务器对其进行验证,以保证访问的Cache数据是最新的。具体包括:
Cache集群接收到访问请求;Cache集群进行一致性哈希处理,将访问请求转发给对应的Cache设备;Cache设备判断被访问的Cache数据是否已被置标,如果被置标,进一步确定是否已经被验证过,如果未被验证过,则从源服务器验证该cache数据,如果已被经验证过,则正常处理;如果被访问的Cache数据未被置标,则正常处理。其中,确定是否已被验证过为:对比置标的时间与宕机的Cache设备的恢复服务时间,如果置标的时间晚于恢复服务时间,则表明已经验证过;否则表明未被验证过。
本申请方法通过使用对迁移的Cache数据进行置标的方式,记录了由于一致性哈希Cache集群状态颠簸时引起Cache数据迁移的信息,而在由这些迁移的Cache数据提供服务时,利用置标信息对需要进一步验证的该Cache数据进行验证后再使用,防止了失效的Cache数据再提供服务的情况,保证了Cache集群访问的高效准确性。
本申请方法还包括:当Cache集群中有一台或者多台Cache设备出现宕机后恢复提供服务状态时,正常服务的Cache设备中服务的Cache数据是最新的内容。此时,一台或多台宕机的Cache设备恢复提供服务时,其原本被迁移的Cache数据会回迁,需要在该Cache设备上执行历史purge请求后,重新将其加入Cache集群中。其中,历史purge请求指的是,在宕机的Cache设备发生宕机到该Cache设备恢复服务这段时间内,整个Cache集群接收到的所有的purge请求。
本申请方法还包括:当Cache集群中的所有Cache设备正常服务状态时,Cache集群按照现有一致性hash访问,一致性hash存储。因此,只要按照一致性hash purge即能保证访问到的内容为最新。对purge请求的处理包括:Cache集群接收到purge请求;Cache集群进行一致性哈希处理,将purge请求转发给对应的Cache设备;Cache设备处理purge请求。具体实现属于本领域技术人员公知技术,这里不再赘述。
本申请方法还包括:当Cache集群中有一台或者多台Cache设备出现宕机状态时,或者,当Cache集群中有一台或者多台Cache设备出现宕机后恢复提供服务状态时,或者,当Cache集群中有一台或者多台宕机的Cache设备恢复后再宕机时,对purge请求的处理包括:Cache集群接收到purge请求;Cache集群进行一致性哈希处理,将purge请求转发给对应的Cache设备;Cache设备处理purge请求。具体实现属于本领域技术人员公知技术,这里不再赘述。
图2为本申请Cache集群中删除数据的系统的组成结构示意图,如图2所示,包括位于Cache集群中的Cache设备;
Cache设备,用于对故障Cache设备迁移的Cache数据设置标志;访问Cache集群中的Cache数据时,验证设置有标志的Cache数据。
具体地,
Cache集群接口,用于接收访问请求;进行一致性哈希处理,将访问请求转发给对应的Cache设备;
Cache设备,用于比较出该访问请求原本该转发的Cache设备与自身不一致时,对Cache数据进行置标操作;判断出被访问的Cache数据已被置标且未被验证过,则经由Cache集群接口从源服务器验证该Cache数据,如果已被经验证过,则正常处理。
Cache设备,还进一步用于,在Cache设备比较出该访问请求原本该转发的Cache设备与自身一致时,进行正常处理;在确定被访问的Cache数据未被置标,则正常处理;判断出被访问的Cache数据已被置标且已经被验证过,则正常处理。
Cache设备,还进一步用于,执行历史purge请求,重新加入Cache集群中。
Cache集群接口,还用于接收purge请求;进行一致性哈希处理,将purge请求转发给对应的Cache设备;Cache设备,还用于处理purge请求。
下面结合实施例对本申请方法进行详细描述。当整个Cache集群在系统发生颠簸时,提供服务的Cache设备可以分为在线服务Cache设备和宕机恢复Cache设备。其中,
在线服务Cache设备的工作流程包括:
(1)Cache设备系统初始化。建立两张一致性hash表。一张为用于存储初始化的Cache设备的标识(ID)的初始一致性hash表(orig_hash_table);另一张为用于存储当前Cache设备检测到的当前Cache集群中其他存活的Cache设备的ID的当前一致性hash表(now_hash_table)。其中,在出现Cache设备发生宕机、恢复服务时,会同步触发对当前一致性hash表的更新。
(2)当接收到访问请求时,通过分析访问请求得到请求的URI信息,通过该URI信息计算该purge请求一致性hash值。Hash计算函数可以定义为无符号整形哈希值:unsignedint compute_hash(char*uri);通过orig_hash_table表确定该请求分发的初始目标Cache设备的ID即orig_hash_table[hash],通过now_hash_table表确定该访问请求分发的当前目标Cache设备的ID即now_hash_table[hash];比较orig_hash_table[hash]和now_hash_table[hash]是否一致,如果二者一致,表明当前目标Cache设备与初始目标Cache设备为同一个Cache设备,那么,由于被分配至的处理当前访问请求的Cache设备没有发生变化,则按照现有Cache访问流程进行访问即可:如果访问的是Miss,从源站读取数据,并将数据写入当前Cache设备;如果访问的是Hit,则读取Cache数据提供服务;
如果比较出orig_hash_table[hash]和now_hash_table[hash]不一致,表明当前目标Cache设备和初始目标Cache设备不是同一Cache设备,那么,由于被分配的处理当前访问请求的Cache设备发生变化,因此需要进一步查找该Cache设备本地的Cache数据库,如果访问的是Miss,那么,Cache设备对Cache数据进行置标操作,标志信息为当前时间(迁移时间);同时从源站获得数据;
如果访问的是Hit,那么,比较初始目标Cache设备上一次宕机时间与当前Cache设备的置标时间,如果置标时间晚于宕机时间,则直接提供服务;如果置标时间早于宕机时间,则从源校验该Cache是否为最新的数据。
当接收到访问请求purge请求时,根据分析purge请求得到的请求相关输入字符串,计算该purge请求一致性hash。通过now_hash_table表确定该purge请求分发的目标Cache设备;发送该purge请求至目标Cache设备;目标Cache设备执行purge数据处理;
(3)对于宕机后恢复的Cache设备,在宕机后恢复的Cache设备提供服务之前,获取该Cache设备的宕机期间的purge历史;根据purge历史,对该宕机后恢复的Cache设备进行purge处理;purge处理完成后,重新将该宕机后恢复的Cache设备加入Cache集群,开始提供服务。其中,purge历史即历史purge请求,指的是在宕机的Cache设备发生宕机到该Cache设备恢复服务这段时间内,整个Cache集群接收到的所有的purge请求。历史purge请求一般保存于Purge系统的额外部分,由purge系统的业务系统提供(指明哪些数据已经失效),具体实现属于本领域技术人员惯用手段,并不属于本申请的保护范围,这里不再赘述。
本领域的技术人员应该明白,上述的本申请实施例所提供的装置的各组成部分,以及方法中的各步骤,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。可选地,它们可以用计算装置可执行的程序代码来实现。从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (19)
1.一种缓存Cache集群中删除数据的方法,其特征在于,包括:
对故障Cache设备迁移的Cache数据设置标志;
访问Cache集群中的Cache数据时,验证设置有标志的Cache数据;
其中,所述对故障Cache设备迁移的Cache数据设置标志包括:
所述Cache集群接收到访问请求,所述Cache集群进行一致性哈希处理,将访问请求转发给对应的Cache设备;
在Cache设备比较出所述访问请求原本转发的Cache设备与自身不一致时,对所述迁移的Cache数据设置标志。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:在所述Cache设备比较出所述访问请求原本转发的Cache设备与自身一致时,进行正常处理。
3.根据权利要求1或2所述的方法,其特征在于,该方法之前还包括:
在所述Cache设备系统初始化时,建立用于存储初始化的Cache设备标识ID的初始一致性哈希hash表;以及用于存储当前Cache设备检测到的当前Cache集群中其他存活的Cache设备ID的当前一致性hash表。
4.根据权利要求3所述的方法,其特征在于,所述访问请求原本转发的Cache设备与当前Cache设备不一致,对所述迁移的Cache数据设置标志具体包括:
分析所述访问请求的统一资源定位符URI信息,通过该URI计算purge请求一致性hash值;
通过所述初始一致性hash表确定访问请求分发的初始目标Cache设备ID,通过当前一致性hash表确定访问请求分发的当前目标Cache设备ID;
比较初始目标Cache设备ID与当前目标Cache设备ID是否一致,如果二者不一致,查找该Cache设备本地的Cache数据库,
在访问的是不命中Miss时,对所述迁移的Cache数据设置标志,标志信息为当前时间。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:
在所述访问的是命中Hit时,比较初始目标Cache设备上一次宕机时间与当前Cache设备的置标时间,如果置标时间晚于宕机时间,则直接提供服务;如果置标时间早于宕机时间,则从源服务器校验该Cache数据是否为最新的数据。
6.根据权利要求4所述的方法,其特征在于,如果访问的是Miss,该方法还包括:从源服务器读取数据,并将数据写入当前Cache设备。
7.根据权利要求5所述的方法,其特征在于,如果访问的是Hit,该方法还包括:读取Cache数据提供服务。
8.根据权利要求4或5所述的方法,其特征在于,如果所述初始目标Cache设备ID与当前目标Cache设备ID一致,该方法还包括:按照现有Cache访问流程进行访问。
9.根据权利要求3所述的方法,其特征在于,在出现Cache设备发生宕机、恢复服务时,该方法还包括:同步更新所述当前一致性hash表。
10.根据权利要求1所述的方法,其特征在于,所述访问Cache集群中的Cache数据时,验证设置有标志的Cache数据包括:
所述Cache集群接收到访问请求;所述Cache集群进行一致性哈希处理,将访问请求转发给对应的Cache设备;
所述Cache设备判断被访问的Cache数据是否已被置标,如果被置标,进一步确定是否被验证过,如果未被验证过,则从源服务器验证该Cache数据,如果已被验证过,则正常处理;
如果被访问的Cache数据未被置标,则正常处理。
11.根据权利要求10所述的方法,其特征在于,所述确定是否已被验证过包括:对比所述被置标的时间与宕机的Cache设备的恢复服务时间,如果置标的时间晚于恢复服务时间,则表明已经验证过;否则表明未被验证过。
12.根据权利要求1或10所述的方法,其特征在于,当所述Cache集群中有一台或者多台Cache设备出现宕机后恢复提供服务状态时,该方法还包括:在该Cache设备上执行历史purge请求后,重新将其加入Cache集群中。
13.根据权利要求1所述的方法,其特征在于,当所述Cache集群中的所有Cache设备正常服务状态时,该方法还包括:所述Cache集群按照现有一致性hash访问,一致性hash存储;
对接收到的purge请求,所述Cache集群接收到purge请求;所述Cache集群进行一致性哈希处理,将purge请求转发给对应的Cache设备;所述Cache设备处理purge请求。
14.根据权利要求1或10所述的方法,其特征在于,当所述Cache集群中有一台或者多台Cache设备出现宕机状态时;或者,
当所述Cache集群中有一台或者多台Cache设备出现宕机后恢复提供服务状态时;或者,
当所述Cache集群中有一台或者多台宕机的Cache设备恢复后再宕机时,该方法还包括:
所述Cache集群接收到purge请求;所述Cache集群进行一致性哈希处理,将purge请求转发给对应的Cache设备;所述Cache设备处理purge请求。
15.一种Cache集群中删除数据的系统,其特征在于,包括位于Cache集群中的Cache设备;
Cache设备,用于对故障Cache设备迁移的Cache数据设置标志;访问Cache集群中的Cache数据时,验证设置有标志的Cache数据;
具体地,所述Cache集群的Cache集群接口,用于接收访问请求;进行一致性哈希处理,将访问请求转发给对应的Cache设备;
所述Cache设备,具体用于比较出该访问请求原本该转发的Cache设备与自身不一致时,对Cache数据进行置标操作。
16.根据权利要求15所述的系统,其特征在于,
所述Cache设备,具体用于判断被访问的Cache数据是否被置标,如果被置标,进一步确定是否被验证过,如果未被验证过,则经由所述Cache集群接口从源服务器验证该Cache数据,如果已被验证过,则正常处理;
其中,所述确定是否被验证过包括:对比所述被置标的时间与宕机的Cache设备的恢复服务时间,如果置标的时间晚于恢复服务时间,则表明已经被验证过;否则表明未被验证过。
17.根据权利要求16所述的系统,其特征在于,
所述Cache设备,还用于在Cache设备比较出该访问请求原本该转发的Cache设备与自身一致时;或者,在确定出被访问的Cache数据未被置标;或者,判断出被访问的Cache数据已被置标且已经被验证过;则,正常处理。
18.根据权利要求16或17所述的系统,其特征在于,
所述Cache设备,还用于执行历史purge请求,重新加入Cache集群中。
19.根据权利要求15~17任一项所述的系统,其特征在于,
所述Cache集群的Cache集群接口,还用于接收purge请求;进行一致性哈希处理,将purge请求转发给对应的Cache设备;
所述Cache设备,还用于处理purge请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310300828.4A CN104301345B (zh) | 2013-07-17 | 2013-07-17 | 一种Cache集群中删除数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310300828.4A CN104301345B (zh) | 2013-07-17 | 2013-07-17 | 一种Cache集群中删除数据的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104301345A CN104301345A (zh) | 2015-01-21 |
CN104301345B true CN104301345B (zh) | 2018-04-27 |
Family
ID=52320913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310300828.4A Active CN104301345B (zh) | 2013-07-17 | 2013-07-17 | 一种Cache集群中删除数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301345B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710688B (zh) * | 2018-11-26 | 2021-10-08 | 福建天泉教育科技有限公司 | 一种数据实时比对校验方法及消息中间件 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560746A (zh) * | 2004-02-27 | 2005-01-05 | 中国人民解放军国防科学技术大学 | 基于操作系统反向页表的页迁移和复制方法 |
CN101562543A (zh) * | 2009-05-25 | 2009-10-21 | 阿里巴巴集团控股有限公司 | 一种缓存数据的处理方法、处理系统和装置 |
CN101751245A (zh) * | 2010-01-18 | 2010-06-23 | 北京龙芯中科技术服务中心有限公司 | 基于访存历史学习的处理器Cache写失效处理方法 |
CN102387169A (zh) * | 2010-08-26 | 2012-03-21 | 阿里巴巴集团控股有限公司 | 分布式缓存的对象删除方法、系统及删除服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI514147B (zh) * | 2009-01-23 | 2015-12-21 | Infortrend Technology Inc | 執行儲存虛擬化之儲存子系統及儲存系統架構及其方法 |
-
2013
- 2013-07-17 CN CN201310300828.4A patent/CN104301345B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560746A (zh) * | 2004-02-27 | 2005-01-05 | 中国人民解放军国防科学技术大学 | 基于操作系统反向页表的页迁移和复制方法 |
CN101562543A (zh) * | 2009-05-25 | 2009-10-21 | 阿里巴巴集团控股有限公司 | 一种缓存数据的处理方法、处理系统和装置 |
CN101751245A (zh) * | 2010-01-18 | 2010-06-23 | 北京龙芯中科技术服务中心有限公司 | 基于访存历史学习的处理器Cache写失效处理方法 |
CN102387169A (zh) * | 2010-08-26 | 2012-03-21 | 阿里巴巴集团控股有限公司 | 分布式缓存的对象删除方法、系统及删除服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN104301345A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
LU102666B1 (en) | Small-file storage optimization system based on virtual file system in kubernetes user-mode application | |
US9830101B2 (en) | Managing data storage in a set of storage systems using usage counters | |
CN111405019B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US9372765B2 (en) | System and method for recovering system status consistently to designed recovering time point in distributed database | |
US10073969B1 (en) | File system metadata extension utilizable with object store | |
US20120304262A1 (en) | Automating cloud service reconnections | |
CN106899654A (zh) | 一种序列值生成方法、装置及系统 | |
US9110820B1 (en) | Hybrid data storage system in an HPC exascale environment | |
CN110781028B (zh) | 数据备份方法、数据恢复方法、装置及计算设备 | |
US10515228B2 (en) | Commit and rollback of data streams provided by partially trusted entities | |
JP2019502186A (ja) | グローバル情報を取得、処理および更新するためのシステムおよび方法 | |
US11194682B2 (en) | Connectivity-aware witness for active-active storage | |
US11409711B2 (en) | Barriers for dependent operations among sharded data stores | |
CN106878370A (zh) | 一种本地缓存的更新方法和设备 | |
CN107870802A (zh) | 一种虚拟机迁移方法和装置 | |
US9146921B1 (en) | Accessing a file system during a file system check | |
CN111245897B (zh) | 数据处理方法、装置、系统、存储介质及处理器 | |
US11030345B2 (en) | Sharing regulated content stored on non-regulated storage platforms | |
CN107316176A (zh) | 保单处理的控制方法和装置 | |
US10545825B2 (en) | Fault-tolerant enterprise object storage system for small objects | |
CN104301345B (zh) | 一种Cache集群中删除数据的方法及系统 | |
US10210013B1 (en) | Systems and methods for making snapshots available | |
CN104915376A (zh) | 一种云存储中文件的归档压缩方法 | |
CN106611118B (zh) | 申请登录凭证的方法和装置 | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 |
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 |