周期型数据的分布式缓存运维方法及装置制造方法及图纸

技术编号:14060858 阅读:90 留言:0更新日期:2016-11-27 17:13
本发明专利技术提供一种周期型数据的分布式缓存运维方法及装置,其中,所述方法包括:记录每次运维时的运维完成时间及运维设备数量;将隶属周期在上次运维完成时间至本次运维完成时间内的数据的存储设备,与上次运维后的存储设备总数量m匹配,以m台存储设备中分布式缓存数据;将隶属周期在本次运维完成时间至下次运维完成时间内的数据的存储设备,与本次运维后的存储设备总数量n匹配,以n台存储设备中分布式缓存数据。本发明专利技术在保障命中成功的前提下避免数据迁移等消耗,以在周期型数据缓存场景下用最低的成本解决机器扩容减容、故障处理时的损耗,实现低成本的可扩展性方案。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种周期型数据的分布式缓存运维方法及装置
技术介绍
在监控平台等众多领域中,分布式缓存被广泛使用,业界成熟的技术有memcache、tair等产品。这些产品都根据自身的场景实现了优秀的可扩展性方案。传统的分布式缓存在解决key‐value形式的数据缓存时,由不同形式的“数据分布”算法来决定各个key的value应该放置在哪些节点上,所述节点为缓存服务器。相应的,该种算法不仅要保证数据分布的均衡性,而且节点发生变化时不能影响数据的可用性并且依然要保持负载均衡。从本质上来说这是需要很多技术保障才能解决的问题,例如:假设有N条data,有M个缓存节点,我们希望每个节点上负责缓存N/M条数据,进一步的,当节点数量从M变成M+X时,M为增量,数据的分布必然有所调整,而调整的过程中client的读写请求依然还在持续发生,不能暂停。然而分布式缓存毕竟是有状态设计,现有技术始终无法避免在机器扩容减容、故障处理时对内存中状态的冲击,即难以避免数据迁移成本(如停机扩容等)。例如,现在有海量的数据(data[key:value]),有100台机器,通过策略让这些数据能负载均衡的发给各台机器。现有的策略是:intindex=Math.abs(key.hashCode)%100,如此,即可得到一个唯一的、确定的[0,99]中序号,按此序号发给对应的机器,最终能达到负载均衡的效果。然而,在
现有技术的方案中,若新增机器,例如由100台增加到130台,此时,大部分老数据的key执行上述策略后得到的index会发生变化,这也就意味着对它们的检索都会发往错误的机器,导致命中失败。再如,现在有海量的数据(data[key:value]),现有的策略是:假想已有一万台机器,将一万台机器命名为虚拟节点,简称vnode,vnode的序号简称为vnodeId,之后将vnode与真实机器建立多对一映射关系,例如,每个真实机器上100个vnode。在路由时,先按上述例子得到vnodeId,再执行一次映射,找到真实机器。该方案的实施前提是:确保在未来的发展中,机器数量不会涨到超过一万台,如此才能保证一个key永远对应某个vnodeId不会发生改变。然而,在扩容时,必然会改变vnode与真实机器的映射关系,所述此映射关系一改,即会不可避免的导致数据命中失败。上述两个现有技术的例子,其导致数据命中失败的原因在于,在实施过程中,上述两个例子均包含下述公式:int machine_id=assign_function1(data.key,x),其中machine_id指最终路由的机器,assign_function1代表路由策略函数,data.key代表数据的key;x在第一个例子中就是机器数量100,在第二个例子中就是vnode数量以及vnode与机器的映射关系。明显地,该公式中一直存在未知数x,一旦所述x发生变化,assign_function1的执行结果就可能改变。
技术实现思路
本专利技术的目的之一在于提供一种周期型数据的分布式缓存运维方法及装置。为实现上述专利技术目的之一,本专利技术一实施方式提供了一种周期型数据的分布式缓存运维方法,其包括:记录每次运维时的运维完成时间及运维设备数量;将隶属周期在上次运维完成时间至本次运维完成时间内的数据的存储设备,与上次运维后的存储设备总数量m匹配,以m台存储设备中分布式缓存数
据;将隶属周期在本次运维完成时间至下次运维完成时间内的数据的存储设备,与本次运维后的存储设备总数量n匹配,以n台存储设备中分布式缓存数据。作为本专利技术一实施方式的进一步改进,所述方法包括:将相邻的运维完成时间形成运维周期,以在读取缓存时确定读取数据的隶属周期。作为本专利技术一实施方式的进一步改进,所述方法包括:记录运维周期、存储设备总数量的关联关系,以在读取缓存时,根据读取数据的隶属周期确定存储设备总数量。作为本专利技术一实施方式的进一步改进,所述方法包括:记录运维周期、存储设备总数量和存储设备的序号区间的关联关系,以在读取缓存时,根据读取数据的隶属周期确定存储设备总数量和存储设备的序号区间。作为本专利技术一实施方式的进一步改进,运维完成时间为:运维完成的即刻时间+同步时间差,其中,所述同步时间差为将所述关联关系同步至客户端的时间。作为本专利技术一实施方式的进一步改进,所述方法包括:将隶属周期早于预设最早时间阈值的数据从缓存设备中转出或删除。作为本专利技术一实施方式的进一步改进,所述方法包括:将时间周期早于预设最早时间阈值的关联关系删除。为实现上述专利技术目的之一,本专利技术一实施方式提供了一种周期型数据的分布式缓存运维装置,其包括:存储模块,用于记录每次运维时的运维完成时间及运维设备数量;匹配运算模块,用于将隶属周期在上次运维完成时间至本次运维完成时间内的数据的存储设备,与上次运维后的存储设备总数量m匹配,以m台存储设备中分布式缓存数据;以及,将隶属周期在本次运维完成时间至下次运维完成时间内的数据的存储设备,与本次运维后的存储设备总数量n匹配,以n台存储设备中分布式缓存数据。作为本专利技术一实施方式的进一步改进,所述匹配运算模块还用于:将相邻的运维完成时间形成运维周期,以在读取缓存时确定读取数据的隶属周期。作为本专利技术一实施方式的进一步改进,所述匹配运算模块还用于:记录运维周期、存储设备总数量的关联关系,以在读取缓存时,根据读取数据的隶属周期确定存储设备总数量。作为本专利技术一实施方式的进一步改进,所述匹配运算模块还用于:记录运维周期、存储设备总数量和存储设备的序号区间的关联关系,以在读取缓存时,根据读取数据的隶属周期确定存储设备总数量和存储设备的序号区间。作为本专利技术一实施方式的进一步改进,运维完成时间为:运维完成时间为:运维完成的即刻时间+同步时间差,其中,所述同步时间差为将所述关联关系同步至客户端的时间。作为本专利技术一实施方式的进一步改进,所述周期型数据的分布式缓存运维装置还包括:清理模块,用于将隶属周期早于预设最早时间阈值的数据从缓存设备中转出或删除。作为本专利技术一实施方式的进一步改进,所述周期型数据的分布式缓存运维装置还包括:清理模块,用于将时间周期早于预设最早时间阈值的关联关系删除。与现有技术相比,本专利技术的有益效果是:充分利用周期型数据的本质属性,在保障命中成功的前提下避免数据迁移等消耗,以在周期型数据缓存场景下用最低的成本解决机器扩容减容、故障处理时的损耗,实现低成本的可扩展性方案,显著提高了运维的效率。附图说明图1是本专利技术一实施方式的周期型数据的分布式缓存运维方法的流程图。图2是本专利技术一实施方式的周期型数据的分布式缓存运维装置的模块图。图3是本专利技术一实施方式的实现周期型数据的分布式缓存运维方法的算法的模块示意图。具体实施方式以下将结合附图所示的各实施方式对本专利技术进行详细描述。但这些实施方式并不限制本专利技术,本领域的普通技术人员根据这些实施方式所轻易做出的结构、方法、或功能上的变换均包含在本专利技术的保护范围内。如图1所示,在本专利技术一实施方式中,所述周期型数据的分布式缓存运维方法包括以下步骤:记录每次运维时的运维完成时间及运维设备数量;在本实施方式中,所述运维包括对设备数量的增加和减少。所述运维完成时间,即对设备数量进行本文档来自技高网
...
周期型数据的分布式缓存运维方法及装置

【技术保护点】
一种周期型数据的分布式缓存运维方法,其特征在于,所述方法包括:记录每次运维时的运维完成时间及运维设备数量;将隶属周期在上次运维完成时间至本次运维完成时间内的数据的存储设备,与上次运维后的存储设备总数量m匹配,以m台存储设备中分布式缓存数据;将隶属周期在本次运维完成时间至下次运维完成时间内的数据的存储设备,与本次运维后的存储设备总数量n匹配,以n台存储设备中分布式缓存数据。

【技术特征摘要】
1.一种周期型数据的分布式缓存运维方法,其特征在于,所述方法包括:记录每次运维时的运维完成时间及运维设备数量;将隶属周期在上次运维完成时间至本次运维完成时间内的数据的存储设备,与上次运维后的存储设备总数量m匹配,以m台存储设备中分布式缓存数据;将隶属周期在本次运维完成时间至下次运维完成时间内的数据的存储设备,与本次运维后的存储设备总数量n匹配,以n台存储设备中分布式缓存数据。2.根据权利要求1所述的周期型数据的分布式缓存运维方法,其特征在于,所述方法包括:将相邻的运维完成时间形成运维周期,以在读取缓存时确定读取数据的隶属周期。3.根据权利要求2所述的周期型数据的分布式缓存运维方法,其特征在于,所述方法包括:记录运维周期、存储设备总数量的关联关系,以在读取缓存时,根据读取数据的隶属周期确定存储设备总数量。4.根据权利要求2所述的周期型数据的分布式缓存运维方法,其特征在于,所述方法包括:记录运维周期、存储设备总数量和存储设备的序号区间的关联关系,以在读取缓存时,根据读取数据的隶属周期确定存储设备总数量和存储设备的序号区间。5.根据权利要求1所述的周期型数据的分布式缓存运维方法,其特征在于,运维完成时间为:运维完成的即刻时间+同步时间差,其中,所述同步时间差为将所述关联关系同步至客户端的时间。6.根据权利要求1所述的周期型数据的分布式缓存运维方法,其特征在于,
\t所述方法包括:将隶属周期早于预设最早时间阈值的数据从缓存设备中转出或删除。7.根据权利要求1所述的周期型数据的分布式缓存运维方法,其特征在于,所述方法包括:将时间周期早于预设最早时间阈值的关联关系删除。8.一种周期型数据的分布式缓存运维装置,其特征在于,所述周期型数据的分布式缓存运维装置包括:存储...

【专利技术属性】
技术研发人员:储晓颖
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1