CN102387169A - 分布式缓存的对象删除方法、***及删除服务器 - Google Patents

分布式缓存的对象删除方法、***及删除服务器 Download PDF

Info

Publication number
CN102387169A
CN102387169A CN2010102688003A CN201010268800A CN102387169A CN 102387169 A CN102387169 A CN 102387169A CN 2010102688003 A CN2010102688003 A CN 2010102688003A CN 201010268800 A CN201010268800 A CN 201010268800A CN 102387169 A CN102387169 A CN 102387169A
Authority
CN
China
Prior art keywords
server
current cache
deletion
caching
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010102688003A
Other languages
English (en)
Other versions
CN102387169B (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.)
Alibaba Chengdu Software and Technology Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201010268800.3A priority Critical patent/CN102387169B/zh
Priority to PCT/US2011/048832 priority patent/WO2012027387A1/en
Priority to US13/320,509 priority patent/US8769208B2/en
Priority to EP11820536.8A priority patent/EP2609521B1/en
Priority to JP2013526100A priority patent/JP5890416B2/ja
Priority to EP17205403.3A priority patent/EP3312733B1/en
Publication of CN102387169A publication Critical patent/CN102387169A/zh
Priority to HK12104929A priority patent/HK1164575A1/zh
Priority to US14/266,549 priority patent/US8838904B2/en
Application granted granted Critical
Publication of CN102387169B publication Critical patent/CN102387169B/zh
Priority to US14/468,774 priority patent/US8935482B2/en
Priority to US14/562,224 priority patent/US9047224B2/en
Priority to JP2016029168A priority patent/JP6280146B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

本申请公开了一种分布式缓存的对象删除方法、***及删除服务器,该方法包括:接收包含对象的标识符删除请求;通过对对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值;根据哈希结果值定位到对应的缓存服务器,将对应的缓存服务器作为当前缓存服务器;判断当前缓存服务器是否处于活跃状态且活跃时间大于对象的过期时间,当判断当前缓存服务器处于活跃状态且活跃时间大于对象的过期时间时,从当前缓存服务器上删除对象。本申请通过比较所定位缓存服务器的活跃时间和对象的过期时间,精确定位到包含待删除对象的缓存服务器,并执行删除操作,节约了其它缓存服务器为执行删除操作所要耗费的资源,提高了分布式缓存***的整体性能。

Description

分布式缓存的对象删除方法、***及删除服务器
技术领域
本申请涉及网络技术领域,尤其涉及一种分布式缓存的对象删除方法、***及删除服务器。
背景技术
大型网站***通常采用分布式缓存结构对数据进行存取,例如,淘宝网(taobao.com)利用分布式缓存结构对用户所上传的图片进行存取。在分布式缓存***中,通常包含一个源数据服务器和若干与该源数据服务器进行通信的缓存服务器,以及一个调度器。分布式缓存***在响应用户请求时,通常由调度器根据接收到的用户请求,通过一致性哈希调度算法计算出该用户需要从哪台缓存服务器上获取数据,如果计算出的缓存服务器存在要获取的数据,则将该数据返回调度器;如果计算出的缓存服务器不存在要获取的数据,则向源数据服务器索取该数据并将该数据保存在本机,同时将该数据返回给调度器,由调度器将数据返回给用户。
在现有的分布式缓存***中,以淘宝网的图片***为例,卖家向网站上传了一张恶意图片,例如涉及侵权或者违法的图片,该恶意图片首先上传到源图片服务器。当网络用户通过淘宝网的链接访问该恶意图片时,首先会访问通过一致性哈希算法计算出的某台图片缓存服务器,若该图片缓存服务器上还未存储该恶意图片,该图片缓存服务器将从源图片服务器获取该恶意图片并保存。当一旦发现***中存在恶意图片时,就需要对该恶意图片进行删除操作。现有技术中在删除恶意图片时,在分布式缓存***中的源图片服务器和所有图片缓存服务器上执行删除该恶意图片的操作。
发明人在对现有技术的研究过程中发现,现有技术中的删除方式由于需要在所有服务器上执行删除操作,但是并非所有的缓存服务器上都存在恶意数据,因此,这样的操作方式将极大地增加服务器的负担,浪费服务器资源,特别是对于包含大量缓存服务器的***来说,不存在恶意数据的缓存服务器均要执行多余的删除操作,这降低了分布式缓存***的整体性能。
发明内容
本申请实施例的目的是提供一种分布式缓存的对象删除方法、***及删除服务器,以解决现有技术中所有分布式缓存服务器都需要执行删除操作浪费服务器资源,导致***性能降低的问题。
为解决上述技术问题,本申请实施例提供了一种分布式缓存的对象删除方法,是这样实现的:
一种分布式缓存的对象删除方法,包括:
接收删除请求,所述删除请求中包含对象的标识符;
通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值;
根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器;
判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间;
当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象。
为解决上述技术问题,本申请实施例提供了一种分布式缓存的对象删除***,是这样实现的:
一种分布式缓存的对象删除***,包括:删除服务器和若干缓存服务器,
所述缓存服务器,用户缓存用户访问的对象;
所述删除服务器,用于接收删除请求,所述删除请求中包含对象的标识符,通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值,根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器,判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间,当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象。
为解决上述技术问题,本申请实施例还提供了一种删除服务器,是这样实现的:
一种删除服务器,包括:
接收单元,用于接收删除请求,所述删除请求中包含对象的标识符;
计算单元,用于通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值;
定位单元,用于根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器;
判断单元,用于判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间;
删除单元,用于当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象。
可见,本申请实施例中接收包含对象的标识符的删除请求,通过对对象的标识符进行一致性哈希计算得到哈希结果值,根据哈希结果值定位到对应的缓存服务器,将对应的缓存服务器作为当前缓存服务器,判断当前缓存服务器是否处于活跃状态且活跃时间大于对象的过期时间,当判断当前缓存服务器处于活跃状态且活跃时间大于对象的过期时间时,从当前缓存服务器上删除所述对象。由此可知,本申请实施例中无需在所有缓存服务器上执行删除对象的操作,而是通过比较所定位缓存服务器的活跃时间和对象的过期时间,精确定位到包含待删除对象的缓存服务器,并执行删除操作,由此节约了其它缓存服务器为执行删除操作所要耗费的资源,提高了分布式缓存***的整体性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一致性哈希圆环的示意图;
图2为本申请分布式缓存的对象删除方法的第一实施例流程图;
图3为本申请分布式缓存的对象删除方法的第二实施例流程图;
图4为应用本申请分布式缓存的对象删除方法实施例的一种***结构示意图;
图5为应用图4中的***结构执行对象删除的流程;
图6为本申请应用实例中的一致性哈希圆环示意图;
图7为本申请分布式缓存的对象删除***的实施例框图;
图8为本申请删除服务器的第一实施例框图;
图9为本申请删除服务器的第二实施例框图。
具体实施方式
本申请实施例提供一种分布式缓存的对象删除方法、***及删除服务器。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
本申请实施例中对分布式缓存***中对象的删除基于该***中分布式缓存服务器上已经存储的对象。因此,下面首先结合一致性哈希算法描述一下现有***中对象如何在分布式缓存服务器上进行存取。
分布式缓存***中,通过一致性哈希算法计算后的缓存服务器将根据其哈希值的大小配置在一个0至2的32次幂的圆环上。在计算缓存服务器的哈希值时,将每个缓存服务器的IP地址通过选定的哈希函数进行计算得到一个哈希值,该哈希值为一个32位的整数,根据该整数的大小将其对应的缓存服务器映射在圆环上的相应位置。参见图1,为一个0至2的32次幂的圆环示例,假设分布式缓存***中包含四个缓存服务器,则经过一致性哈希计算后,四个缓存服务器根据其哈希值的大小如图1所示映射在圆环上,顺时针依次为缓存服务器1、缓存服务器2、缓存服务器3和缓存服务器4;当用户想要通过分布式缓存服务器访问某个对象时(对象可以为图片、音视频等网络资源),对该对象进行哈希计算(通常对对象的标识符URL进行哈希计算),将得到的哈希值作为键值,根据该键值的大小将其映射到0至2的32次幂的圆环上的相应位置,并将该键值所在的位置作为起始位置,在圆环上顺时针查找到第一个缓存服务器,用户通过该查找到的第一个缓存服务器访问所要访问的对象,如果顺时针查找到的第一个缓存服务器不可用(例如宕机),则继续顺时针查找,直到找到一个可用的缓存服务器。如果找到的可用缓存服务器上存在用户要访问的对象,则将该对象通过调度服务器返回给用户,如果找到的可用缓存服务器上不存在用户要访问的对象,则该缓存服务器向源数据服务器索取该对象并将该对象保存在本机上,同时将该对象返回给调度服务器,由调度服务器将对象返回给用户。
存储在缓存服务器上的每个对象都有其过期时间,当对象的缓存时间超过过期时间时,缓存服务器将自动删除该对象。此后当用户再次通过该缓存服务器访问该对象时,则可以重新从源数据服务器上获取该对象,并重复执行前述流程。
参见图2,为本申请分布式缓存的对象删除方法的第一实施例流程图,该实施例仅示出了所定位的缓存服务器的活跃时间大于待删除对象的存活时间时的对象删除过程:
步骤201:接收删除请求,该删除请求中包含对象的标识符。
当分布式缓存***应用在大型网站时,对象具体指图片、音视频等网络资源,每一个具体的网络资源通过URL(Universal Resource Locator,统一资源定位符)进行定位。
步骤202:通过对对象的标识符进行一致性哈希计算得到标识符的哈希结果值。
本步骤中对对象的标识符进行一致性哈希计算得到哈希结果值的过程,与现有技术中为实现对象的存取所进行的计算过程一致,在此不再赘述。
步骤203:根据哈希结果值定位到对应的缓存服务器,将该对应的缓存服务器作为当前缓存服务器。
结合图1所示的一致性哈希圆环可知,对对象的标识符进行一致性哈希计算并获得哈希结果值后,可以将该哈希结果值作为键值映射到一致性哈希圆环上的相应位置,并从该位置开始顺时针查找第一个缓存服务器,由于该查找到的第一个缓存服务器即为用户要访问该对象时所调度的缓存服务器,因此该第一个缓存服务器在活跃状态下,并且有用户访问该对象且该对象的过期时间未超过时,必然缓存了待删除的对象。
步骤204:判断当前缓存服务器是否处于活跃状态且活跃时间大于对象的过期时间。
步骤205:当判断当前缓存服务器处于活跃状态且活跃时间大于对象的过期时间时,从当前缓存服务器上删除该对象。
活跃时间指缓存服务器处于活跃状态的持续时间,当所定位的第一个缓存服务器处于活跃状态,且活跃时间大于对象的过期时间,则由于该缓存服务器当前活跃,则所有访问对象的请求都将发送到该缓存服务器,而其它缓存服务器上即使存在过该对象,也会因为存在时间超过了对象的过期时间而被自动删除,此时只需要在所定位的第一个缓存服务器上执行删除URL的操作即可。
参见图3,为本申请分布式缓存的对象删除方法的第二实施例流程图,该实施例详细示出了根据所定位缓存服务器的活跃状态及状态历史信息实现对象删除的过程:
步骤301:预先建立缓存服务器的状态表,并通过状态表保存每一个缓存服务器最后一次发生状态变化时的时间戳,以及每一个缓存服务器的当前状态。
本申请实施例中建立缓存服务器的状态表,状态表的每一个表项用于记录一个缓存服务器最后一次发生状态变化时的时间戳,以及每一个缓存服务器的当前状态。其中,通过时间戳可以确定缓存服务器当前状态的持续时间,当前状态可以包括活跃状态和非活跃状态,非活跃状态通常指缓存服务器发生宕机。
步骤302:接收删除请求,该删除请求中包含对象的标识符。
步骤303:通过对对象的标识符进行一致性哈希计算得到标识符的哈希结果值。
步骤304:根据哈希结果值定位到对应的缓存服务器,将对应的缓存服务器作为当前缓存服务器。
步骤305:判断当前缓存服务器是否处于活跃状态,若是,则执行步骤306;否则,执行步骤309。
步骤306:判断当前缓存服务器的活跃时间是否大于对象的过期时间,若是,则执行步骤307;否则,执行步骤308。
步骤307:从当前缓存服务器上删除该对象,结束当前流程。
当根据状态表查找到当前缓存服务器处于活跃状态,且活跃时间大于对象的过期时间,则由于该缓存服务器当前活跃,所有访问该对象的请求都将发送到该缓存服务器,而其它缓存服务器上即使存在过该对象,也会因为存在时间超过了对象的过期时间而被自动删除,此时只需要在所定位的第一个缓存服务器上执行删除URL的操作即可。
步骤308:从当前缓存服务器上删除该对象,从当前缓存服务器顺序迁移到下一台缓存服务器,并将下一台缓存服务器作为当前缓存服务器,返回步骤305。
当根据状态表查找到当前缓存服务器处于活跃状态,且根据其时间戳的记载判断其活跃时间小于对象的过期时间,则首先从缓存服务器上删除该对象;然后,考虑到假如该缓存服务器在活跃状态之前为非活跃状态,则该缓存服务器处于非活跃状态时,访问该待删除对象的请求可能顺序迁移到一致性哈希圆环上该当前缓存服务器的下一台缓存服务器,使得下一台缓存服务器上也可能缓存了该对象,因此需要顺序获取下一台缓存服务器,并将该下一台缓存服务器作为当前缓存服务器,重新对其状态进行判断,因此返回步骤305。
步骤309:判断当前缓存服务器的非活跃时间是否大于对象的过期时间,若是,则执行步骤310;否则,执行步骤311。
步骤310:从当前缓存服务器顺序迁移到下一台缓存服务器,并将下一台缓存服务器作为当前缓存服务器,返回步骤305。
当根据状态表查找到当前缓存服务器处于非活跃状态,且根据其时间戳的记载判断其非活跃时间大于对象的过期时间,则在当前缓存服务器的非活跃时间内,对待删除对象的访问可能顺序迁移到一致性哈希圆环上该当前缓存服务器的下一台缓存服务器,使得下一台缓存服务器上也可能缓存了该对象,因此需要顺序获取下一台缓存服务器,并将该下一台缓存服务器作为当前缓存服务器,重新对其状态进行判断,因此返回步骤305。
而对于原来非活跃时间大于对象的过期时间的缓存服务器来说,当其一旦恢复到活跃状态,由于已经超过了对象的过期时间,因此该缓存服务器会自动执行对对象的删除操作。
步骤311:记录该对象的标识符,从当前缓存服务器顺序迁移到下一台缓存服务器,并将下一台缓存服务器作为当前缓存服务器,返回步骤305。
当根据状态表查找到当前缓存服务器处于非活跃状态,且根据其时间戳的记载判断其非活跃时间小于对象的过期时间,则在当前缓存服务器的非活跃时间内,对待删除对象的访问可能顺序迁移到一致性哈希圆环上该当前缓存服务器的下一台缓存服务器,使得下一台缓存服务器上也可能缓存了该对象,因此需要顺序获取下一台缓存服务器,并将该下一台缓存服务器作为当前缓存服务器,重新对其状态进行判断,因此返回步骤305。
而对于原来非活跃时间小于对象的过期时间的缓存服务器来说,需要同时记录该待删除对象的标识符,以便当该缓存服务器在小于对象的过期时间内恢复到活跃状态时,可以根据记录的标识符删除该对象。
参见图4,为应用本申请分布式缓存的对象删除方法实施例的一种***结构示意图:该***结构中包括一个源数据服务器,N个缓存服务器(N为正整数),一个调度服务器和一个删除代理服务器。其中,删除代理服务器为本申请实施例为了实现对分布式缓存的对象进行删除所增加的服务器,而源数据服务器、缓存服务器和调度服务器仍然按照现有方式实现数据在分布式缓存***中的存取过程。
其中,调度服务器(也可称为负载均衡调度器haproxy)接收用户的对象访问请求,并根据一致性哈希算法调度某个缓存服务器,调度过程与前述对现有技术的描述过程一致,在此不再赘述。
缓存服务器(可以通过在服务器上承载开源缓存服务程序squid实现)接收调度服务器的调度请求,从本机缓存中返回用户要访问的对象,或者从源数据服务器中获取并返回用户要访问的对象。
删除代理服务器(purge agent)为本申请***结构中增加的服务器,其采用与调度服务器同样的一致性哈希算法,实现对缓存对象的删除。该删除代理服务器可以是一***立的服务器,或者也可以集成在某个缓存服务器中,由该缓存服务器同时执行删除功能,删除代理服务器可以与***中的所有缓存服务器进行通信。***中的对象删除请求会传输到该删除代理服务器,例如,当监测到恶意图片需要删除,或者某个商品退市时其图片也需要删除,此时向该删除代理服务器发送删除请求,该删除请求中包含待删除对象的标识符(例如,恶意图片的链接地址)。同时,删除代理服务器上还维护一个包含所有缓存服务器的状态信息的状态表,该状态表中记录了每个缓存服务器的两条信息,一条信息是缓存服务器最后一次发生状态变化的时间戳(通过该时间戳可以计算缓存服务器最后一次状态变化的持续时间),另一条信息是缓存服务器的当前状态,通过该当前状态可以判断缓存服务器当前处于活跃状态还是宕机状态。
假设待删除对象的标识符为url_a,则结合图1的一致性哈希圆环对本申请实施例的删除过程进行描述。url_a代表一个网站资源,通常为对象的链接地址,当确定要删除url_a后,首先在源数据服务器上删除该对象,然后删除缓存服务器上存在的url_a。此时,对url_a进行一致性哈希计算后,确定要访问url_a则首先对应到一致性哈希圆环上的缓存服务器1,然后查找状态表,其处理流程如图5所示:
步骤501:接收包含url_a的对象删除请求。
步骤502:根据一致性哈希计算确定访问url_a需要调度的缓存服务器1。
步骤503:判断当前调度的缓存服务器是否处于活跃状态,并且其活跃时间大于对象url_a的过期时间,若是,则执行步骤504;否则,执行步骤505。
步骤504:在当前调度的缓存服务器上删除对象url_a,结束当前流程。
如果查找到缓存服务器1的当前状态为“活跃”,且根据其时间戳的记载判断其活跃时间大于url_a的过期时间,则说明无论该缓存服务器1是否宕机过,由于该缓存服务器1当前活跃,则所有访问url_a的请求都将发送到缓存服务器1,而其它缓存服务器上即使存在该对象url_a,也会因为存在时间超过了url_a的过期时间而被自动删除,此时只需要在缓存服务器1上执行删除url的操作即可。
步骤505:判断当前调度的缓存服务器是否仍然处于宕机状态,若是,则执行步骤506;否则,执行步骤508。
步骤506:判断当前处于宕机状态的缓存服务器的宕机时长是否超过对象url_a的过期时间,若是,则执行步骤509;否则,执行步骤507。
如果查找到缓存服务器1的当前状态为“宕机”,且根据其时间戳的记载判断其宕机时长超过对象url_a的过期时间,则在缓存服务器1“宕机”时间内,对对象url_a的访问可能顺序迁移到缓存服务器2至缓存服务器4中的任意一台,因此需要顺序获取下一台缓存服务器,并对该缓存服务器重复从步骤503开始执行;而对于缓存服务器1本身,当其一旦恢复活跃状态,由于已经超过对象url_a的过期时间,因此缓存服务器1会自动执行对对象url_a的删除操作。
步骤507:保存当前缓存服务器及对象url_a,执行步骤509。
如果查找到缓存服务器1的当前状态为“宕机”,且根据其时间戳的记载判断其宕机时长小于对象url_a的过期时间,则在缓存服务器1“宕机”时间内,对对象url_a的访问可能顺序迁移到缓存服务器2至缓存服务器4中的任意一台,因此需要顺序获取下一台缓存服务器,并对该缓存服务器重复从步骤503开始执行;而由于缓存服务器1的宕机时长小于对象url_a的过期时间,因此需要同时记录该对象的url_a,以便当缓存服务器1在小于对象url_a的过期时间内恢复活跃状态时,可以根据该记录删除对象url_a。
其中,可以将当前缓存服务器1和对象的url_a的对应关系保存到延迟删除列表中,当缓存服务器1在小于对象url_a的过期时间内恢复活跃状态时,根据该延迟删除列表中记录的表项删除该缓存服务器1上的对象url_a。
步骤508:在当前缓存服务器上删除对象url_a。
如果查找到缓存服务器1的当前状态为“活跃”,且根据其时间戳的记载判断其活跃时间小于url_a的过期时间,则首先从缓存服务器1上删除url_a;然后,考虑到假如缓存服务器1在“活跃”状态之前为“宕机”状态,则缓存服务器1在“宕机”状态时,访问url_a的请求可能顺序迁移到缓存服务器2至缓存服务器4中的任意一台,因此需要顺序获取下一台缓存服务器,并对该缓存服务器重复从步骤503开始执行。
步骤509:判断是否能够从当前缓存服务器映射到下一个缓存服务器,若是,则执行步骤510;否则,结束当前流程。
步骤510:顺序从当前缓存服务器映射到下一个缓存服务器,返回步骤503。
由此可见,本申请实施例中,删除代理服务器保持与调度服务器相同的一致性哈希算法,通过结合缓存服务器的状态变化信息,对待删除对象所在的缓存服务器进行精确定位,由于能准确全面地删除对象,而无需对所有缓存服务器都执行删除操作,因此与现有技术相比,减少了在***中所有缓存服务器上执行删除操作所占用的***资源。
下面结合图6,通过分布式缓存图片***中对恶意图片进行删除为例描述本申请实施例的实现过程:
假设分布式缓存***中包含三个缓存服务器,分别为S1、S2和S3,每个缓存服务器以其IP地址为标识进行识别,通过选定的哈希函数hash_fuction_x将对S1、S2和S3的IP地址分别进行哈希计算,假设得到的哈希值为三个整数,分别为1000、2000、3000,则这三个缓存服务器在圆环上的映射位置如图3A所示,并且,假设这三个缓存服务器初始时刻的状态表如下表1所示,其中Last_stamp表示缓存服务器最后一次发生状态变化时的时间戳,Current_status表示缓存服务器的当前状态:
表1
  服务器   S1   S2   S3
  Last_stamp   0   0   0
  Current_status   Up   Up   Up
上表1中,S1、S2和S3在初始时刻的Last_stamp为“0”,表示在初始时刻S1、S2和S3的时间戳均为0,时间戳可以以“天”为单位进行记录,例如,初始开机为第一天,则时间戳为“0”,后续每过一天,时间戳的值顺序增加1;Current_status为“UP”,表示S1、S2和S3在初始时刻都处于活跃状态,当Current_status为“DOWN”时,表示处于宕机状态。
假设在时刻1,用户想要访问对象资源url_1,对该url_1通过哈希函数hash_fuction_x计算后,得到的哈希值为253,将该哈希值映射到图3A所示的圆环上,从哈希值253映射的位置开始顺指针查找到的第一个缓存服务器为S1,因此访问对象资源url_1的请求由S1进行处理,假设用户第一次通过S1访问url_1,则S1从源服务器获取该对象资源url_1,保存该url_1并将该url_1返回给客户。
假设在时刻2,S1发生宕机,则此时更新缓存服务器的状态表,如下表2所示:
表2
  服务器   S1   S2   S3
  Last_stamp   2   0   0
  Current_status   DOWN   Up   Up
上表2中,S1的Current_status为“DOWN”,表示S1最近一次发生状态变化后的状态为“宕机”,即S1当前处于“宕机”状态,Last_stamp从“0”变为“2”,表示S1变化为“宕机”状态的时间戳为“2”,则S1处于“宕机”状态的持续时间为当前时刻的时间戳与该时间戳“2”的差值。
假设在时刻3,用户再次想要访问对象资源url_1,则对该url_1通过哈希函数hash_fuction_x计算后,得到的哈希值为253,从圆环上哈希值253映射的位置开始顺指针查找到的第一个缓存服务器为S1,此时通过状态表表2查找到S1宕机,因此从S1开始在圆环上顺时针查找到下一个缓存服务器为S2,此时S2处于活跃状态,因此访问对象资源url_1的请求由S2进行处理,此时S1和S2上都缓存了对象资源url_1。
假设在时刻4,监测到对象资源url_1为恶意图片,则需要将该url_1从分布式缓存***中删除,此时可以由***维护人员通过HTTP的标准post方法向删除代理服务器发送一条删除请求,该删除请求中包含的删除目标为url_1。
删除代理服务器接收到删除请求后,读取其中的删除目标url_1,并通过哈希函数hash_fuction_x计算url_1的哈希值为253,此时将哈希值253映射到图3A所示的圆环上,从哈希值253映射的位置开始顺指针查找到的第一个缓存服务器为S1,此时进一步查找状态表可知S1从时刻2开始持续处于宕机状态,因此存储在S1上的url_1无法立刻删除,将S1和对应的url_1添加到延迟删除列表中,待S1恢复后再进行删除;然后在圆环上从S1开始顺时针查找到S2,进一步查找状态表可知S2此时处于活跃状态,因此将删除请求发送给S2,由S2根据删除请求查找到其上缓存的恶意图片url_1并删除,由于S2在历史时刻未宕机过,因此删除操作结束。
与本申请分布式缓存的对象删除方法的实施例相对应,本申请还提供了分布式缓存的对象删除***及删除服务器的实施例。
参见图7,为本申请分布式缓存的对象删除***的实施例框图:
该***包括:若干缓存服务器710和删除服务器720。
其中,所述若干缓存服务器710,用户缓存用户访问的对象;
所述删除服务器720,用于接收删除请求,所述删除请求中包含对象的标识符,通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值,根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器,判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间,当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象。
进一步,所述删除服务器,还用于当判断所述活跃时间小于所述过期时间时,从所述当前缓存服务器上删除所述对象,从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,返回执行所述判断当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间的功能;
所述删除服务器,还用于当所述当前缓存服务器处于非活跃状态时,判断所述当前缓存服务器的非活跃时间是否大于所述对象的过期时间,当所述非活跃时间大于所述过期时间时,从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,返回执行所述判断当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间的功能;
所述删除服务器,还用于当所述非活跃时间不大于所述过期时间时,记录所述标识符,并执行从所述当前缓存服务器顺序迁移到下一台缓存服务器的功能,以及当所述当前缓存服务器进入活跃状态后,根据所述记录的标识符删除所述对象;
所述删除服务器,还用于预先建立缓存服务器的状态表,通过所述状态表保存每一个缓存服务器最后一次发生状态变化时的时间戳,以及每一个缓存服务器的当前状态,其中所述时间戳用于判断所述缓存服务器的当前状态的持续时间。
参见图8,为本申请删除服务器的第一实施例框图:
该删除服务器包括:接收单元810、计算单元820、定位单元830、判断单元840和删除单元850。
其中,接收单元810,用于接收删除请求,所述删除请求中包含对象的标识符;
计算单元820,用于通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值;
定位单元830,用于根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器;
判断单元840,用于判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间;
删除单元850,用于当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象。
参见图9,为本申请删除服务器的第二实施例框图:
该删除服务器包括:建立单元910、保存单元920、接收单元930、计算单元940、定位单元950、判断单元960、删除单元970、迁移单元980和记录单元990。
其中,建立单元910,用于预先建立缓存服务器的状态表;
保存单元920,用于通过所述状态表保存每一个缓存服务器最后一次发生状态变化时的时间戳,以及每一个缓存服务器的当前状态,其中所述时间戳用于判断所述缓存服务器的当前状态的持续时间;
接收单元930,用于接收删除请求,所述删除请求中包含对象的标识符;
计算单元940,用于通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值;
定位单元950,用于根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器;
判断单元960,用于判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间;
删除单元970,用于当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象;
所述删除单元970,还用于当判断所述活跃时间小于所述过期时间时,从所述当前缓存服务器上删除所述对象;迁移单元980,用于从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,并触发所述判断单元960;
所述判断单元970,还用于当所述当前缓存服务器处于非活跃状态时,判断所述当前缓存服务器的非活跃时间是否大于所述对象的过期时间;所述迁移单元980,还用于当所述非活跃时间大于所述过期时间时,从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,并触发所述判断单元960;
记录单元990,用于当所述非活跃时间不大于所述过期时间时,记录所述标识符,并触发所述迁移单元980;
所述删除单元970,还用于当所述当前缓存服务器进入活跃状态后,根据所述记录的标识符删除所述对象。
通过以上的实施方式的描述可知,本申请实施例中接收包含对象的标识符的删除请求,通过对对象的标识符进行一致性哈希计算得到哈希结果值,根据哈希结果值定位到对应的缓存服务器,将对应的缓存服务器作为当前缓存服务器,判断当前缓存服务器是否处于活跃状态且活跃时间大于对象的过期时间,当判断当前缓存服务器处于活跃状态且活跃时间大于对象的过期时间时,从当前缓存服务器上删除所述对象。由此可知,本申请实施例中无需在所有缓存服务器上执行删除对象的操作,而是通过比较所定位缓存服务器的活跃时间和对象的过期时间,精确定位到包含待删除对象的缓存服务器,并执行删除操作,由此节约了其它缓存服务器为执行删除操作所要耗费的资源,提高了分布式缓存***的整体性能。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (15)

1.一种分布式缓存的对象删除方法,其特征在于,包括:
接收删除请求,所述删除请求中包含对象的标识符;
通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值;
根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器;
判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间;
当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象。
2.根据权利要求1所述的方法,其特征在于,还包括:
当判断所述活跃时间小于所述过期时间时,从所述当前缓存服务器上删除所述对象;
从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,返回所述判断当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间的步骤。
3.根据权利要求2所述的方法,其特征在于,所述根据所述哈希结果值定位到对应的缓存服务器之后,还包括:
当所述当前缓存服务器处于非活跃状态时,判断所述当前缓存服务器的非活跃时间是否大于所述对象的过期时间;
当所述非活跃时间大于所述过期时间时,从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,返回所述判断当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间的步骤。
4.根据权利要求3所述的方法,其特征在于,还包括:
当所述非活跃时间不大于所述过期时间时,记录所述标识符,并执行从所述当前缓存服务器顺序迁移到下一台缓存服务器的步骤;
当所述当前缓存服务器进入活跃状态后,根据所述记录的标识符删除所述对象。
5.根据权利要求1至4任意一项所述的方法,其特征在于,还包括:
预先建立缓存服务器的状态表;
通过所述状态表保存每一个缓存服务器最后一次发生状态变化时的时间戳,以及每一个缓存服务器的当前状态,其中所述时间戳用于判断所述缓存服务器的当前状态的持续时间。
6.一种分布式缓存的对象删除***,其特征在于,包括:删除服务器和若干缓存服务器,
所述缓存服务器,用户缓存用户访问的对象;
所述删除服务器,用于接收删除请求,所述删除请求中包含对象的标识符,通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值,根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器,判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间,当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象。
7.根据权利要求6所述的***,其特征在于,所述删除服务器,还用于当判断所述活跃时间小于所述过期时间时,从所述当前缓存服务器上删除所述对象,从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,返回执行所述判断当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间的功能。
8.根据权利要求7所述的***,其特征在于,所述删除服务器,还用于当所述当前缓存服务器处于非活跃状态时,判断所述当前缓存服务器的非活跃时间是否大于所述对象的过期时间,当所述非活跃时间大于所述过期时间时,从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,返回执行所述判断当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间的功能。
9.根据权利要求8所述的***,其特征在于,所述删除服务器,还用于当所述非活跃时间不大于所述过期时间时,记录所述标识符,并执行从所述当前缓存服务器顺序迁移到下一台缓存服务器的功能,以及当所述当前缓存服务器进入活跃状态后,根据所述记录的标识符删除所述对象。
10.根据权利要求6至9任意一项所述的***,其特征在于,所述删除服务器,还用于预先建立缓存服务器的状态表,通过所述状态表保存每一个缓存服务器最后一次发生状态变化时的时间戳,以及每一个缓存服务器的当前状态,其中所述时间戳用于判断所述缓存服务器的当前状态的持续时间。
11.一种删除服务器,其特征在于,包括:
接收单元,用于接收删除请求,所述删除请求中包含对象的标识符;
计算单元,用于通过对所述对象的标识符进行一致性哈希计算得到所述标识符的哈希结果值;
定位单元,用于根据所述哈希结果值定位到对应的缓存服务器,将所述对应的缓存服务器作为当前缓存服务器;
判断单元,用于判断所述当前缓存服务器是否处于活跃状态且活跃时间大于所述对象的过期时间;
删除单元,用于当判断当前缓存服务器处于活跃状态且所述活跃时间大于所述对象的过期时间时,从所述当前缓存服务器上删除所述对象。
12.根据权利要求11所述的删除服务器,其特征在于,所述删除单元,还用于当判断所述活跃时间小于所述过期时间时,从所述当前缓存服务器上删除所述对象;
所述删除服务器还包括:
迁移单元,用于从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,并触发所述判断单元。
13.根据权利要求12所述的删除服务器,其特征在于,所述判断单元,还用于当所述当前缓存服务器处于非活跃状态时,判断所述当前缓存服务器的非活跃时间是否大于所述对象的过期时间;
所述迁移单元,还用于当所述非活跃时间大于所述过期时间时,从所述当前缓存服务器顺序迁移到下一台缓存服务器,并将所述下一台缓存服务器作为当前缓存服务器,并触发所述判断单元。
14.根据权利要求13所述的删除服务器,其特征在于,还包括:
记录单元,用于当所述非活跃时间不大于所述过期时间时,记录所述标识符,并触发所述迁移单元;
所述删除单元,还用于当所述当前缓存服务器进入活跃状态后,根据所述记录的标识符删除所述对象。
15.根据权利要求11至14任意一项所述的删除服务器,其特征在于,还包括:
建立单元,用于预先建立缓存服务器的状态表;
保存单元,用于通过所述状态表保存每一个缓存服务器最后一次发生状态变化时的时间戳,以及每一个缓存服务器的当前状态,其中所述时间戳用于判断所述缓存服务器的当前状态的持续时间。
CN201010268800.3A 2010-08-26 2010-08-26 分布式缓存的对象删除方法、***及删除服务器 Active CN102387169B (zh)

Priority Applications (11)

Application Number Priority Date Filing Date Title
CN201010268800.3A CN102387169B (zh) 2010-08-26 2010-08-26 分布式缓存的对象删除方法、***及删除服务器
PCT/US2011/048832 WO2012027387A1 (en) 2010-08-26 2011-08-23 Method, system and server of removing a distributed caching object
US13/320,509 US8769208B2 (en) 2010-08-26 2011-08-23 Method, system and server of removing a distributed caching object
EP11820536.8A EP2609521B1 (en) 2010-08-26 2011-08-23 Method, system and server of removing a distributed caching object
JP2013526100A JP5890416B2 (ja) 2010-08-26 2011-08-23 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ
EP17205403.3A EP3312733B1 (en) 2010-08-26 2011-08-23 Method, systems and storage medium for removing a distributed caching object
HK12104929A HK1164575A1 (zh) 2010-08-26 2012-05-21 分佈式緩存的對象刪除方法、系統及刪除服務器
US14/266,549 US8838904B2 (en) 2010-08-26 2014-04-30 Method, system and server of removing a distributed caching object
US14/468,774 US8935482B2 (en) 2010-08-26 2014-08-26 Method, system and server of removing a distributed caching object
US14/562,224 US9047224B2 (en) 2010-08-26 2014-12-05 Method, system and server of removing a distributed caching object
JP2016029168A JP6280146B2 (ja) 2010-08-26 2016-02-18 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010268800.3A CN102387169B (zh) 2010-08-26 2010-08-26 分布式缓存的对象删除方法、***及删除服务器

Publications (2)

Publication Number Publication Date
CN102387169A true CN102387169A (zh) 2012-03-21
CN102387169B CN102387169B (zh) 2014-07-23

Family

ID=45723774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010268800.3A Active CN102387169B (zh) 2010-08-26 2010-08-26 分布式缓存的对象删除方法、***及删除服务器

Country Status (6)

Country Link
US (4) US8769208B2 (zh)
EP (2) EP3312733B1 (zh)
JP (2) JP5890416B2 (zh)
CN (1) CN102387169B (zh)
HK (1) HK1164575A1 (zh)
WO (1) WO2012027387A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078946A (zh) * 2013-01-10 2013-05-01 绍兴电力局 一种海量实时数据分布方法及其访问方法
CN103236989A (zh) * 2013-04-25 2013-08-07 青岛海信传媒网络技术有限公司 一种内容分发网络中的缓存控制方法、设备及***
CN103491124A (zh) * 2012-06-14 2014-01-01 中兴通讯股份有限公司 一种对彩信数据进行处理的方法及分布式缓存***
CN104052824A (zh) * 2014-07-04 2014-09-17 哈尔滨工业大学深圳研究生院 分布式缓存方法及***
CN104301345A (zh) * 2013-07-17 2015-01-21 阿里巴巴集团控股有限公司 一种Cache集群中删除数据的方法及***
CN106528455A (zh) * 2016-10-28 2017-03-22 上海斐讯数据通信技术有限公司 电子终端的多媒体缓存的清理方法、***及电子终端
CN108055302A (zh) * 2017-12-05 2018-05-18 竞技世界(北京)网络技术有限公司 一种图片缓存处理方法、***和服务器
CN108134817A (zh) * 2017-11-30 2018-06-08 北京白山耘科技有限公司 一种自动调整缓存时长的方法及装置
CN108932236A (zh) * 2017-05-22 2018-12-04 北京金山云网络技术有限公司 一种文件管理方法、过期文件删除方法及装置
CN109167840A (zh) * 2018-10-19 2019-01-08 网宿科技股份有限公司 一种任务推送方法、节点自治服务器及边缘缓存服务器
CN109948098A (zh) * 2019-02-21 2019-06-28 网宿科技股份有限公司 数据过滤方法、缓存信息的记录方法及装置
CN110032671A (zh) * 2019-04-12 2019-07-19 北京百度网讯科技有限公司 用户轨迹信息的处理方法、装置、计算机设备及存储介质
CN111131498A (zh) * 2018-03-23 2020-05-08 贵州白山云科技股份有限公司 Url信息更新方法、缓存服务器、设备及存储介质
US11218561B1 (en) 2021-03-09 2022-01-04 Wipro Limited Method and system for managing cache data in a network through edge nodes

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387169B (zh) 2010-08-26 2014-07-23 阿里巴巴集团控股有限公司 分布式缓存的对象删除方法、***及删除服务器
CN102724314B (zh) * 2012-06-20 2015-08-05 深圳市远行科技有限公司 一种基于元数据管理的分布式缓存客户端
JP6102108B2 (ja) * 2012-07-24 2017-03-29 富士通株式会社 情報処理装置、データ提供方法、及びデータ提供プログラム
CN103971687B (zh) * 2013-02-01 2016-06-29 腾讯科技(深圳)有限公司 一种语音识别***中的负载均衡实现方法和装置
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
CN103281358B (zh) * 2013-05-07 2016-04-20 汉柏科技有限公司 一种基于一致性hash算法存储资源的方法
US9210219B2 (en) 2013-07-15 2015-12-08 Red Hat, Inc. Systems and methods for consistent hashing using multiple hash rings
US9413842B2 (en) * 2013-09-25 2016-08-09 Verizon Digital Media Services Inc. Instantaneous non-blocking content purging in a distributed platform
US9792578B2 (en) * 2013-10-08 2017-10-17 Google Inc. Managing information about inventory
US9668020B2 (en) 2014-04-07 2017-05-30 The Nielsen Company (Us), Llc Signature retrieval and matching for media monitoring
US10270876B2 (en) * 2014-06-02 2019-04-23 Verizon Digital Media Services Inc. Probability based caching and eviction
US10462249B2 (en) * 2014-08-25 2019-10-29 Super Micro Computer, Inc. Globally distributed virtual cache for worldwide real-time data access
US9860316B2 (en) * 2014-09-19 2018-01-02 Facebook, Inc. Routing network traffic based on social information
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10033766B2 (en) 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US9965350B2 (en) 2016-09-30 2018-05-08 International Business Machines Corporation Maintaining cyclic redundancy check context in a synchronous I/O endpoint device cache system
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US11860819B1 (en) * 2017-06-29 2024-01-02 Amazon Technologies, Inc. Auto-generation of partition key
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US10498696B2 (en) * 2018-01-31 2019-12-03 EMC IP Holding Company LLC Applying a consistent hash to a distributed domain name server cache

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070266037A1 (en) * 2004-11-05 2007-11-15 Data Robotics Incorporated Filesystem-Aware Block Storage System, Apparatus, and Method
CN101778367A (zh) * 2009-12-29 2010-07-14 北京首信科技股份有限公司 一种计费网关重启恢复工作的方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9606733D0 (en) 1996-03-29 1996-06-05 British Telecomm Collection of events within a distributed object system
US5933849A (en) 1997-04-10 1999-08-03 At&T Corp Scalable distributed caching system and method
US6449695B1 (en) 1999-05-27 2002-09-10 Microsoft Corporation Data cache using plural lists to indicate sequence of data storage
US6601090B1 (en) * 1999-06-25 2003-07-29 Nortel Networks Limited System and method for servicing internet object accessess from a coupled intranet
US7062541B1 (en) 2000-04-27 2006-06-13 International Business Machines Corporation System and method for transferring related data objects in a distributed data storage environment
US6999988B2 (en) 2000-07-13 2006-02-14 Lucent Technologies Inc. Method and system for data layout and replacement in distributed streaming caches on the Internet
JP2003085032A (ja) * 2001-09-10 2003-03-20 Kanazawa Inst Of Technology 自己組織化キャッシュ方法およびその方法を利用可能なキャッシュサーバ
CN1221898C (zh) * 2002-08-13 2005-10-05 国际商业机器公司 刷新网络代理高速缓存服务器对象的***和方法
US7236977B1 (en) 2002-09-20 2007-06-26 Novell, Inc. Method for dynamically distributing items for changes based on group membership
US7318074B2 (en) 2003-11-17 2008-01-08 International Business Machines Corporation System and method for achieving deferred invalidation consistency
US7469256B1 (en) 2004-04-29 2008-12-23 Sap Ag Cached persistent data management through state tracking
US7802065B1 (en) 2004-05-03 2010-09-21 Crimson Corporation Peer to peer based cache management
KR20070104566A (ko) * 2005-01-24 2007-10-26 사이트릭스 시스템스, 인크. 네트워크에서 동적으로 발생된 객체들의 캐싱을 수행하는시스템 및 방법
EP1770954A1 (en) 2005-10-03 2007-04-04 Amadeus S.A.S. System and method to maintain coherence of cache contents in a multi-tier software system aimed at interfacing large databases
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US20090083115A1 (en) 2007-09-24 2009-03-26 Pearson Gregory A Interactive networking systems
US8943271B2 (en) 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
US8799409B2 (en) * 2009-01-15 2014-08-05 Ebay Inc. Server side data cache system
US9952968B2 (en) 2010-01-29 2018-04-24 Micro Focus Software, Inc. Methods and system for maintaining data coherency in distributed data cache network
US8744997B2 (en) 2010-02-09 2014-06-03 Google Inc. Pruning of blob replicas
CN102387169B (zh) 2010-08-26 2014-07-23 阿里巴巴集团控股有限公司 分布式缓存的对象删除方法、***及删除服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070266037A1 (en) * 2004-11-05 2007-11-15 Data Robotics Incorporated Filesystem-Aware Block Storage System, Apparatus, and Method
CN101778367A (zh) * 2009-12-29 2010-07-14 北京首信科技股份有限公司 一种计费网关重启恢复工作的方法

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491124B (zh) * 2012-06-14 2018-08-14 南京中兴软件有限责任公司 一种对彩信数据进行处理的方法及分布式缓存***
CN103491124A (zh) * 2012-06-14 2014-01-01 中兴通讯股份有限公司 一种对彩信数据进行处理的方法及分布式缓存***
CN103078946A (zh) * 2013-01-10 2013-05-01 绍兴电力局 一种海量实时数据分布方法及其访问方法
CN103236989A (zh) * 2013-04-25 2013-08-07 青岛海信传媒网络技术有限公司 一种内容分发网络中的缓存控制方法、设备及***
CN104301345A (zh) * 2013-07-17 2015-01-21 阿里巴巴集团控股有限公司 一种Cache集群中删除数据的方法及***
CN104301345B (zh) * 2013-07-17 2018-04-27 阿里巴巴集团控股有限公司 一种Cache集群中删除数据的方法及***
CN104052824A (zh) * 2014-07-04 2014-09-17 哈尔滨工业大学深圳研究生院 分布式缓存方法及***
CN104052824B (zh) * 2014-07-04 2017-06-23 哈尔滨工业大学深圳研究生院 分布式缓存方法及***
CN106528455A (zh) * 2016-10-28 2017-03-22 上海斐讯数据通信技术有限公司 电子终端的多媒体缓存的清理方法、***及电子终端
CN108932236A (zh) * 2017-05-22 2018-12-04 北京金山云网络技术有限公司 一种文件管理方法、过期文件删除方法及装置
CN108134817A (zh) * 2017-11-30 2018-06-08 北京白山耘科技有限公司 一种自动调整缓存时长的方法及装置
CN108055302A (zh) * 2017-12-05 2018-05-18 竞技世界(北京)网络技术有限公司 一种图片缓存处理方法、***和服务器
CN108055302B (zh) * 2017-12-05 2020-10-20 竞技世界(北京)网络技术有限公司 一种图片缓存处理方法、***和服务器
CN111131498A (zh) * 2018-03-23 2020-05-08 贵州白山云科技股份有限公司 Url信息更新方法、缓存服务器、设备及存储介质
CN111131498B (zh) * 2018-03-23 2023-04-21 贵州白山云科技股份有限公司 Url信息更新方法、缓存服务器、设备及存储介质
CN109167840A (zh) * 2018-10-19 2019-01-08 网宿科技股份有限公司 一种任务推送方法、节点自治服务器及边缘缓存服务器
CN109167840B (zh) * 2018-10-19 2021-12-07 网宿科技股份有限公司 一种任务推送方法、节点自治服务器及边缘缓存服务器
CN109948098B (zh) * 2019-02-21 2021-07-06 网宿科技股份有限公司 数据过滤方法、缓存信息的记录方法及装置
CN109948098A (zh) * 2019-02-21 2019-06-28 网宿科技股份有限公司 数据过滤方法、缓存信息的记录方法及装置
CN110032671A (zh) * 2019-04-12 2019-07-19 北京百度网讯科技有限公司 用户轨迹信息的处理方法、装置、计算机设备及存储介质
CN110032671B (zh) * 2019-04-12 2021-06-18 北京百度网讯科技有限公司 用户轨迹信息的处理方法、装置、计算机设备及存储介质
US11218561B1 (en) 2021-03-09 2022-01-04 Wipro Limited Method and system for managing cache data in a network through edge nodes

Also Published As

Publication number Publication date
JP5890416B2 (ja) 2016-03-22
WO2012027387A1 (en) 2012-03-01
US20140237068A1 (en) 2014-08-21
US20150113227A1 (en) 2015-04-23
US9047224B2 (en) 2015-06-02
EP3312733B1 (en) 2019-10-16
JP6280146B2 (ja) 2018-02-14
EP3312733A3 (en) 2018-05-02
EP2609521B1 (en) 2018-01-17
US8838904B2 (en) 2014-09-16
JP2016085767A (ja) 2016-05-19
CN102387169B (zh) 2014-07-23
US8769208B2 (en) 2014-07-01
US8935482B2 (en) 2015-01-13
US20130145099A1 (en) 2013-06-06
US20140365600A1 (en) 2014-12-11
JP2013536530A (ja) 2013-09-19
HK1164575A1 (zh) 2012-09-21
EP2609521A1 (en) 2013-07-03
EP3312733A2 (en) 2018-04-25
EP2609521A4 (en) 2014-03-26

Similar Documents

Publication Publication Date Title
CN102387169A (zh) 分布式缓存的对象删除方法、***及删除服务器
US10853142B2 (en) Stateless instance backed mobile devices
CN109997126B (zh) 事件驱动提取、变换、加载(etl)处理
CA2892889C (en) Scaling computing clusters
CN103248684B (zh) 一种互联网中资源获取方法和装置
JP3484049B2 (ja) 遅延コード化データ伝送
US8566578B1 (en) Method and system for ensuring compliance in public clouds using fine-grained data ownership based encryption
US9960975B1 (en) Analyzing distributed datasets
CN102037710A (zh) 用于远程处理多媒体插件调用的方法和***
EP2779583B1 (en) Telecommunication method and system
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
US8745331B2 (en) Technique for improving replication persistance in a caching applicance structure
CN104932941A (zh) 一种分布式消息处理***及其中的设备和方法
CN103248666A (zh) 一种离线下载资源的***、方法及装置
CN102722405A (zh) 高并发、多线程应用中的计数方法及***
US20140337296A1 (en) Techniques to recover files in a storage network
CN104239508A (zh) 数据查询方法和装置
CN103369002A (zh) 一种资源下载的方法及***
WO2000052574A3 (en) Method and system for data processing by proxy
US10048883B2 (en) Integrated page-sharing cache storing a single copy of data where the data is stored in two volumes and propagating changes to the data in the cache back to the two volumes via volume identifiers
Kasu et al. FTLADS: Object-logging based fault-tolerant big data transfer system using layout aware data scheduling
CN112804366B (zh) 用于解析域名的方法和装置
CN103942123A (zh) 一种反向数据抓取实现云容灾备份的方法及***
CN109445966A (zh) 事件处理方法、装置、介质和计算设备
US9137276B2 (en) Managing message distribution in a networked environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1164575

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1164575

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211109

Address after: Room 201, floor 2, building 15, No. 1999, Yizhou Avenue, hi tech Zone, Chengdu, Sichuan

Patentee after: Alibaba (Chengdu) Software Technology Co.,Ltd.

Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox

Patentee before: ALIBABA GROUP HOLDING Ltd.