System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及分布式系统集群,尤其涉及一种分布式缓存系统的构建的方法及装置。
技术介绍
1、zookeeper是一种开源的分布式应用程序协调服务,支持创建目录和数据,目录和数据的变化可以实时通知客户端。zookeeper的目录可以分为临时和持久化两种,临时目录有固定生存周期,当客户端断开时会自动删除。现有技术中,集群方式机制简单,集群节点间不实际交互,每个集群节点固定接入部分数据,只使用本地缓存,一般只能固定几个集群节点,不容易动态扩缩容节点。不能弹性容错,一个节点异常后业务不能漂移到另外的节点。
技术实现思路
1、本申请提供一种分布式缓存系统的构建的方法及装置,能够安全启动分布式缓存系统,支持动态扩缩容节点。
2、为达到上述目的,本申请采用如下技术方案:
3、第一方面,本申请提供一种分布式缓存系统的构建的的方法,该方法包括:获取第一时间段内根目录中的节点变化信息,所述根目录用于记录初始化完成的节点信息;向所述根目录下的所有节点发送所述节点变化信息,以使得所述根目录下的每个节点更改各自对应的集群状态集合,所述更改后的集群状态集合包括的节点信息与所述根目录下的节点信息相同;当所述根目录下的每个节点的集群状态集合中的节点信息的数量均大于或等于第一预设数量时,则利用所述集群状态集合中的节点构建分布式缓存系统。
4、基于上述第一方面提供的方法,每个节点中均包含根目录下所有节点的信息,当节点信息变化时,可以迅速通知到其他节点,能够实现动态扩缩容。可以支持集群启
5、一种可能的实现方式,该方法还包括:初始化目标节点;在所述目标节点初始化完成之后,将所述目标节点的节点信息写入所述根目录;所述节点变化信息包括所述目标节点的节点信息,所述更改后的集群状态集合包括所述目标节点的节点信息。
6、基于上述第一方面提供的方法,可以根据节点增加情况,通知到各个节点,支持节点的动态增加。
7、一种可能的实现方式,该方法还包括:在一个目标节点故障,且所述根目录包括所述目标节点的节点信息的情况下,从所述根目录中删除所述根目录下的目标节点的节点信息;所述节点变化信息包括所述目标节点的节点信息,所述更改后的集群状态集合不包括所述目标节点的节点信息。
8、基于上述第一方面提供的方法,可以根据节点减少情况,通知到各个节点,支持节点的动态减少。
9、一种可能的实现方式,所述节点信息还包括所有所述根目录下的每个节点的缓存状态和根目录下的每个节点的集群状态,所述将所述目标节点的节点信息写入所述根目录之后还包括:将所述节点的缓存状态设置为无法缓存状态,并将所述节点的集群状态为未完成;所述利用所述集群状态集合中的节点构建分布式缓存系统,包括:构建初始分布式键值存储系统,将所述根目录下的所有节点加入初始分布式键值存储系统得到所述分布式缓存系统;所述方法还包括:将所述节点的缓存状态从无法缓存状态更改为正常缓存状态。
10、基于上述第一方面提供的方法,可以提供内置分布式缓存能力,且分布式缓存和集群机制绑定,确保集群可用性。
11、一种可能的实现方式,该方法还包括:若所述分布式缓存系统中的节点的数量大于或等于第二预设数量,且所述分布式缓存系统中的节点的缓存状态均为正常缓存状态,则设置所述分布式缓存系统中的节点的集群状态为完成;利用所述分布式缓存系统中的节点对数据进行分布式缓存。
12、基于上述第一方面提供的方法,可以根据节点准备情况和节点数量确定缓存时机,提高集群缓存可用性。
13、一种可能的实现方式,所述利用所述分布式缓存系统中的节点对数据进行分布式缓存之后,还包括:当所述分布式缓存系统中新增节点,将所述分布式缓存系统中的所有节点的缓存状态设置为无法缓存状态;将所述分布式缓存系统中各节点存储的数据重新存储在所述分布式缓存系统中的节点后,设置所述分布式缓存系统中的所有节点的缓存状态为正常缓存状态。
14、一种可能的实现方式,设置所述分布式缓存系统中的节点的集群状态为完成之后还包括:当所述分布式缓存系统中的节点退出后,将所述分布式队列中的所有节点的缓存状态设置为无法缓存状态;将所述分布式缓存系统中各节点存储的数据重新存储在所述分布式缓存系统中的节点后,设置所述分布式缓存系统中的所有节点的缓存状态为正常缓存状态。
15、基于上述第一方面提供的方法,本申请具有灵活的集群机制,容易扩展异常节点的业务数据漂移能力。
16、第二方面,本申请提供一种分布式缓存系统的构建的装置用于实现上述方法。该分布式缓存系统的构建的装置包括实现上述方法相应的模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
17、第三方面,本申请提供了一种分布式缓存系统的构建的的装置,该装置包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的分布式缓存系统的构建的方法。
18、第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得终端执行如第一方面和第一方面的任一种可能的实现方式中描述的分布式缓存系统的构建的的方法。
19、第五方面,本申请实施例提供一种包含指令的计算机程序产品,当计算机程序产品在分布式缓存系统的构建的装置上运行时,使得分布式缓存系统的构建的装置执行如第一方面和第一方面的任一种可能的实现方式中所描述的分布式缓存系统的构建的的方法。
20、第六方面,本申请实施例提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的分布式缓存系统的构建的的方法。
21、具体的,本申请实施例中提供的芯片还包括存储器,用于存储计算机程序或指令。
本文档来自技高网...【技术保护点】
1.一种分布式缓存系统的构建的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述节点信息还包括所有所述根目录下的每个节点的缓存状态和根目录下的每个节点的集群状态,所述将所述目标节点的节点信息写入所述根目录之后还包括:将所述节点的缓存状态设置为无法缓存状态,并将所述节点的集群状态为未完成;
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述利用所述分布式缓存系统中的节点对数据进行分布式缓存之后,还包括:
7.根据权利要求4所述的方法,其特征在于,所述设置所述分布式缓存系统中的节点的集群状态为完成之后还包括:
8.一种分布式缓存系统的构建的装置,其特征在于,所述装置包括获取模块和处理模块;
9.一种分布式缓存系统的构建的装置,其特征在于,包括:处理器和通信接口;所述通信接口和所述处理器耦
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当计算机执行该指令时,该计算机执行上述权利要求1-7任一项中所述的分布式缓存系统的构建的方法。
...【技术特征摘要】
1.一种分布式缓存系统的构建的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述节点信息还包括所有所述根目录下的每个节点的缓存状态和根目录下的每个节点的集群状态,所述将所述目标节点的节点信息写入所述根目录之后还包括:将所述节点的缓存状态设置为无法缓存状态,并将所述节点的集群状态为未完成;
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述利用所述分布式缓存系统中的节点对数据...
【专利技术属性】
技术研发人员:朱宏,邓程,孙钰,宋文杰,赵诣欣,侍晶晶,兰婷,杨明,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。