八月瓜首页 > 专利查询 > G06计算;推算;计数 >正文

一种缓存的备份方法及装置

基本信息

  • 申请号 CN201811377489.9 
  • 公开号 CN109558425A 
  • 申请日 2018/11/19 
  • 公开日 2019/04/02 
  • 申请人 郑州云海信息技术有限公司  
  • 优先权日期  
  • 发明人 刘汉龙  
  • 主分类号 G06F16/2455 
  • 申请人地址 450018 河南省郑州市郑东新区心怡路278号16层1601室 
  • 分类号 G06F16/2455;G06F16/23;G06F11/14 
  • 专利代理机构 北京集佳知识产权代理有限公司 11227 
  • 当前专利状态 发明专利申请公布 
  • 代理人 王宝筠 
  • 有效性 审查中-实审 
  • 法律状态 审查中-实审
  •  

摘要

本发明提供了一种缓存的备份方法,所述方法应用于分布式数据缓存系统,所述方法包括:根据数据查询指令检测本地缓存是否存在对应数据;若所述对应数据不存在,从本地数据库中获取所述对应数据并放入所述本地缓存;将第一更新消息发送至所述分布式数据缓存系统的其它节点;所述第一更新消息中记录了所述本地缓存的更新内容。
利用本发明提供的方法,能够将本地缓存的更新消息发送到分布式数据缓存系统的其它节点,以实现各节点之间缓存的同步更新与备份。
本发明还提供了一种缓存的备份装置。
展开

权利要求书


1.一种缓存的备份方法,其特征在于,所述方法应用于分布式数据缓存系统,所述方法包括:根据数据查询指令检测本地缓存是否存在对应数据;若所述对应数据不存在,从本地数据库中获取所述对应数据并放入所述本地缓存;将第一更新消息发送至所述分布式数据缓存系统的其它节点;所述第一更新消息中记录了所述本地缓存的更新内容。
2.根据权利要求1所述的缓存的备份方法,其特征在于,所述方法还包括:若所述本地缓存中存在所述对应数据,则从所述本地缓存中直接获取所述对应数据。
3.根据权利要求1所述的缓存的备份方法,其特征在于,所述方法还包括:将所述对应数据放入所述本地缓存时,在所述对应数据中添加生存周期标识;所述生存周期标识用于标识所述对应数据在所述本地缓存中的存在时间,以确定所述对应数据是否过期。
4.根据权利要求3所述的缓存的备份方法,其特征在于,所述方法还包括:检测所述本地缓存中是否存在过期数据,若存在,将检测到的所述过期数据从所述本地缓存中删除,并将第二更新消息发送至所述分布式数据缓存系统的其它节点;所述第二更新消息用于使所述分布式数据缓存系统的其它节点删除所述过期数据。
5.根据权利要求4所述的缓存的备份方法,其特征在于,从所述本地缓存中直接获取所述对应对象时,更新所述对应对象的生存周期标识。
6.一种缓存的备份装置,其特征在于,所述装置应用于分布式数据缓存系统,所述装置包括:检测模块、获取模块和通信模块;所述检测模块,用于根据数据查询指令检测本地缓存是否存在对应数据;所述获取模块,用于若所述对应数据不存在,从本地数据库中获取所述对应数据并放入所述本地缓存;所述通信模块,用于将第一更新消息发送至所述分布式数据缓存系统的其它节点;所述第一更新消息中记录了所述本地缓存的更新内容。
7.根据权利要求6所述的缓存的备份装置,其特征在于,所述获取模块还用于:若所述本地缓存中存在所述对应数据,则从所述本地缓存中直接获取所述对应数据。
8.根据权利要求6所述的缓存的备份装置,其特征在于,所述装置还包括:标识模块;所述标识模块,用于将所述对应数据放入所述本地缓存时,在所述对应数据中添加生存周期标识;所述生存周期标识用于标识所述对应数据在所述本地缓存中的存在周期,以确定所述对应数据是否过期。
9.根据权利要求8所述的缓存的备份装置,其特征在于,所述装置还包括:周期模块;所述周期模块,用于检测所述本地缓存中是否存在过期数据,若存在,将检测到的所述过期数据从所述本地缓存中删除,并将第二更新消息发送至所述分布式数据缓存系统的其它节点;所述第二更新消息用于使所述分布式数据缓存系统的其它节点删除所述过期数据。
10.根据权利要求9所述的缓存的备份装置,其特征在于,所述获取模块从所述本地缓存中直接获取所述对应对象时,所述周期模块还用于更新所述对应对象的生存周期标识。
展开

说明书

技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种缓存的备份方法及装置。
背景技术
随着现代企业互联网应用的规模的扩大化与事务的复杂化,企业的服务器所使用的数据缓存系统处理大量并发请求的能力越来越重要。
在整个分布式数据缓存系统的构架中,数据层的访问速度会成为整个系统处理大量并发请求的瓶颈。
现有一般采用数据缓存技术将对数据库的查询结果缓存到本地设备中,当下次访问同样的数据时,可以直接从缓存中获取而不需要再次从数据库中查询,这样可以有效降低数据库层的访问负载量。
但是,由于网络用户的不断增加,一台服务器的性能不足以同时处理大量的并发请求,这种情况就要求使用服务器集群,并且需要在分布式集群环境下使用数据缓存系统,而现有的数据缓存系统适用于单一节点,应用于分布式集群环境时往往难以实现各节点之间的数据同步冗余备份,因此也无法在某个节点数据丢失时实现对应节点的数据恢复。
发明内容
为了解决现有技术存在的上述技术问题,本申请提供了一种缓存的备份方法及装置,能够将本地缓存的更新消息发送到分布式数据缓存系统的其它节点,以实现各节点之间缓存的同步更新与备份。
本申请提供了一种缓存的备份方法,所述方法应用于分布式数据缓存系统,所述方法包括:根据数据查询指令检测本地缓存是否存在对应数据;若所述对应数据不存在,从本地数据库中获取所述对应数据并放入所述本地缓存;将第一更新消息发送至所述分布式数据缓存系统的其它节点;所述第一更新消息中记录了所述本地缓存的更新内容。
可选的,所述方法还包括:若所述本地缓存中存在所述对应数据,则从所述本地缓存中直接获取所述对应数据。
可选的,所述方法还包括:将所述对应数据放入所述本地缓存时,在所述对应数据中添加生存周期标识;所述生存周期标识用于标识所述对应数据在所述本地缓存中的存在时间,以确定所述对应数据是否过期。
可选的,所述方法还包括:检测所述本地缓存中是否存在过期数据,若存在,将检测到的所述过期数据从所述本地缓存中删除,并将第二更新消息发送至所述分布式数据缓存系统的其它节点;所述第二更新消息用于使所述分布式数据缓存系统的其它节点删除所述过期数据。
可选的,从所述本地缓存中直接获取所述对应对象时,更新所述对应对象的生存周期标识。
本申请实施例还提供了一种缓存的备份装置,其特征在于,所述装置应用于分布式数据缓存系统,所述装置包括:检测模块、获取模块和通信模块;所述检测模块,用于根据数据查询指令检测本地缓存是否存在对应数据;所述获取模块,用于若所述对应数据不存在,从本地数据库中获取所述对应数据并放入所述本地缓存;所述通信模块,用于将第一更新消息发送至所述分布式数据缓存系统的其它节点;所述第一更新消息中记录了所述本地缓存的更新内容。
可选的,所述获取模块还用于:若所述本地缓存中存在所述对应数据,则从所述本地缓存中直接获取所述对应数据。
可选的,所述装置还包括:标识模块;所述标识模块,用于将所述对应数据放入所述本地缓存时,在所述对应数据中添加生存周期标识;所述生存周期标识用于标识所述对应数据在所述本地缓存中的存在周期,以确定所述对应数据是否过期。
可选的,所述装置还包括:周期模块;所述周期模块,用于检测所述本地缓存中是否存在过期数据,若存在,将检测到的所述过期数据从所述本地缓存中删除,并将第二更新消息发送至所述分布式数据缓存系统的其它节点;所述第二更新消息用于使所述分布式数据缓存系统的其它节点删除所述过期数据。
可选的,所述获取模块从所述本地缓存中直接获取所述对应对象时,所述周期模块还用于更新所述对应对象的生存周期标识。
本发明提供了一种缓存的备份方法,所述方法应用于分布式数据缓存系统:首先根据数据查询指令检测本地缓存是否存在对应数据;若所述对应数据不存在,从本地数据库中获取所述对应数据并放入所述本地缓存,通过本地缓存可以直接访问所述对应数据;将第一更新消息发送至所述分布式数据缓存系统的其它节点,所述第一更新消息中记录了所述本地缓存的更新内容,以使所述其它节点根据所述第一更新消息完成缓存同步。
利用本发明提供的方法,能够将本地缓存的更新消息发送到分布式数据缓存系统的其它节点,以实现各节点之间缓存的同步更新与备份。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例一提供的缓存的备份方法的流程图;图2为本申请实施例二提供的缓存的备份方法的示意图;图3为本申请实施例三提供的一种缓存的备份装置的示意图;图4为本申请实施例四提供的另一种缓存的备份装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:本申请实施例一提供了一种缓存的备份方法,下面结合附图进行具体说明。
参见图1,该图为本申请实施例一提供的一种缓存的备份方法的流程图。
本申请实施例所述方法应用于分布式数据缓存系统,缓存的备份就是使各个节点之间具有一致的缓存内容,每个节点都有一份缓存数据的完整备份。
本申请实施例所述方法包括以下步骤:S101:根据数据查询指令检测本地缓存是否存在对应数据。
在本地节点接收到数据查询指令后,根据数据查询指令的信息检测本地缓存中是否已经存在对应的数据。
若本地缓存中不存在所述对应数据,执行S102;否则,执行S104。
S102:从本地数据库中获取所述对应数据并放入所述本地缓存。
需要注意的是,由于本地数据库中的数据量一般较大,而本地缓存的容量有限,如果将所有从本地数据库中查询的数据全部永久保存在本地缓存中,会导致本地缓存中的数据量因逐渐积累而变得十分庞大,这会影响本地缓存的读取性能,同时由于有些数据的访问频率极低,甚至某些数据在首次访问后就不在使用,因此将所有访问的数据都永久放入本地缓存中还会造成本地缓存的容量的浪费。
为了解决上述问题,本申请实时例所述方法还包括:将所述对应数据放入所述本地缓存时,在所述对应数据中添加生存周期标识;所述生存周期标识用于标识所述对应数据在所述本地缓存中的存在时间,以确定所述对应数据是否过期。
通过上述方法,每一个放入本地缓存的数据都会有一个对应的生存周期,所述生存周期的时间长度可以在所述对应数据放入本地缓存时统一分配或者根据实际需求进行单独分配,本申请对此不作具体限定。
此外,所述生存周期可以以所述对应数据放入本地缓存的时刻作为开始时刻。
通过周期性检测本地缓存中的数据的生存周期标识以检测所述本地缓存中是否存在过期数据,将检测到的所述过期数据从所述本地缓存中删除,以将使用频率过低甚至在初次访问后再也未被访问的数据从本地缓存中删除,减少了本地缓存存放的数据数量,同时由于本地缓存放置的数据数量减少,本地缓存的读取性能也能在一定程度上获得提升。
S103:将第一更新消息发送至所述分布式数据缓存系统的其它节点。
所述第一更新消息中记录了所述本地缓存的更新内容。
所述更新消息中可以包含所述数据查询指令,其它节点根据所述数据查询指令执行与本地节点相同的操作;所述更新消息还可以直接包含本地缓存中更新的对应数据,其它节点直接接收所述第一数据并将其保存在缓存中;所述更新消息还可以是操作指令,用于控制其它节点执行将数据库中对应数据存放在缓存中的操作。
所述更新消息还可以为其它能记录所述本地缓存更新内容的形式,本申请对此不作具体限定。
需要注意的是,所述生存周期标识可以包含在所述第一更新消息中,通过第一更新消息发送到其它节点,也可以只保留在本地节点,本申请对此不作具体限定。
此外,若检测到所述本地缓存中存在过期数据,将检测到的所述过期数据从所述本地缓存中删除后,本地节点还会向所述分布式数据缓存系统的其它节点发送第二更新消息,所述第二更新消息用于使所述分布式数据缓存系统的其它节点删除所述过期数据。
S104:从所述本地缓存中直接获取所述对应数据。
若检测到本地缓存中存在所述对应数据,表明所述对应数据此前已经被访问过且已经备份到所有节点,此时直接从所述本地缓存中获取所述对应数据,不需要向其它节点发送第一更新消息。
但需要注意的是,此时需要更新所述对应数据的生存周期标识,即将所述对应数据的获取时刻作为生存周期的开始时刻重新开始计算生存周期,以避免所述对应数据过早从本地缓存中被删除。
本申请实施例提供了一种缓存的备份方法,所述方法应用于分布式数据缓存系统:首先根据数据查询指令检测本地缓存是否存在对应数据;若所述对应数据不存在,从本地数据库中获取所述对应数据并放入所述本地缓存,通过本地缓存可以直接访问所述对应数据;将第一更新消息发送至所述分布式数据缓存系统的其它节点,所述第一更新消息中记录了所述本地缓存的更新内容,以使所述其它节点根据所述第一更新消息完成缓存同步。
利用本申请实施例提供的缓存的备份方法,能够将本地缓存的更新消息发送到分布式数据缓存系统的其它节点,以实现各节点之间缓存的同步更新与备份。
实施例二:基于实施例一提供的缓存的备份方法,下面结合具体应用场景说明所述方法的实现过程。
参见图2,该图为本申请实施例二提供的缓存的备份方法的示意图。
本发明对分布式数据缓存系统中的节点数量不做具体限定,为了方便说明,本发明实施例以分布式数据缓存系统包含三个节点为例进行说明,其中将节点1选为本地节点。
所述方法具体包括以下步骤:S201:检测本地缓存是否存在对应数据。
节点1接收到数据查询指令并根据所述数据查询指令检测本地缓存是否存在对应数据,若存在,执行S205;否则,执行S202。
S202:从本地数据库中获取对应数据。
根据所述数据查询指令在节点1的本地数据库中查询得到对应数据。
S203:在对应数据中添加生存周期标识,放入所述本地缓存。
所述生存周期标识用于标识所述对应数据在所述本地缓存中的存在时间,以确定所述对应数据是否过期,可以将所述对应数据放入节点1本地缓存中的时刻作为生存周期的开始时刻。
S204:将第一更新消息发送至其它节点。
所述第一更新消息中记录了所述本地缓存的更新内容。
节点1将所述第一更新消息发送至节点2和节点3,以使节点2和节点3根据所述第一更新消息同步其本地缓存中的数据。
S205:从本地缓存中直接获取对应数据。
S206:更新所述对应对象的生存周期标识。
将所述对应数据的获取时刻作为生存周期的开始时刻重新开始计算生存周期,以避免所述对应数据过早从节点1的本地缓存删除。
S207:检测本地缓存中是否存在过期数据,将检测到的过期数据从本地缓存中删除,并将第二更新消息发送至其它节点。
节点1通过周期性检测本地缓存中的数据的生存周期标识以检测所述本地缓存中是否存在过期数据,将检测到的所述过期数据从所述本地缓存中删除,以将使用频率过低甚至在初次访问后再也未被访问的数据从本地缓存中删除,同时向节点2和节点3发送第二更新消息,所述第二更新消息用于使节点2和节点3删除所述过期数据,实现同步更新。
实施例三:基于上述实施例提供的缓存的备份方法,本申请实施例还提供了一种缓存的备份装置,下面结合附图进行具体说明。
参见图3,该图为本申请实施例三提供的一种缓存的备份装置的示意图。
本申请实施例所述装置应用于分布式数据缓存系统,所述装置包括:检测模块301、获取模块302和通信模块303。
所述检测模块301,用于根据数据查询指令检测本地缓存是否存在对应数据。
所述获取模块302,用于若所述对应数据不存在,从本地数据库中获取所述对应数据并放入所述本地缓存。
所述获取模块302,还用于若所述本地缓存中存在所述对应数据,则从所述本地缓存中直接获取所述对应数据。
所述通信模块303,用于将第一更新消息发送至所述分布式数据缓存系统的其它节点;所述第一更新消息中记录了所述本地缓存的更新内容。
本申请实施例提供了一种缓存的备份装置,所述装置通过检测模块根据数据查询指令检测本地缓存是否存在对应数据;若所述对应数据不存在,获取模块从本地数据库中获取所述对应数据并放入所述本地缓存,通过本地缓存可以直接访问所述对应数据;通信模块将第一更新消息发送至所述分布式数据缓存系统的其它节点,所述第一更新消息中记录了所述本地缓存的更新内容,以使所述其它节点根据所述第一更新消息完成缓存同步。
利用本申请实施例提供的装置,能够实现各节点之间缓存的同步更新与备份。
实施例四:本申请实施例还提供了另一种缓存的备份装置,下面结合附图进行具体说明。
参见图4,该图为本申请实施例四提供的另一种缓存的备份装置的示意图。
本申请实施例所述装置在实施例三所述装置的基础上增加了:标识模块401和周期模块402。
所述标识模块401,用于将所述对应数据放入所述本地缓存时,在所述对应数据中添加生存周期标识;所述生存周期标识用于标识所述对应数据在所述本地缓存中的存在周期,以确定所述对应数据是否过期。
所述周期模块402,用于检测所述本地缓存中是否存在过期数据,将检测到的所述过期数据从所述本地缓存中删除,并将第二更新消息发送至所述分布式数据缓存系统的其它节点;所述第二更新消息用于使所述分布式数据缓存系统的其它节点删除所述过期数据。
所述获取模块302从所述本地缓存中直接获取所述对应对象时,所述周期模块402还用于更新所述对应对象的生存周期标识。
利用本申请实施例所述的装置,在实现各节点之间缓存的同步更新与备份的同时,能够将使用频率过低甚至在初次访问后再也未被访问的数据从本地缓存中删除,减少了本地缓存存放的数据数量,同时由于本地缓存放置的数据数量减少,本地缓存的读取性能也能在一定程度上获得提升。
上述实施例中,对于各个实施例的描写都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。
“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。
字符“/”一般表示前后关联对象是一种“或”的关系。
“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。
例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。
虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。
任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。
因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
展开

查看更多专利详情信息请先登录或注册会员

相关专利类别推荐

获取手机验证码,即可注册成为会员

专利详情咨询

咨询内容

姓名

手机

验证码

用户登录

手机号

手机验证码

提示

不能再减了!!!

提交成功

八月瓜客服中心已经收到您的信息,正在为您派遣知识产权顾问。知识产权顾问会携带贴心的服务以闪电搬的速度与您联系。

扫一扫关注八月瓜微信 创业一手掌握