[发明专利]一种创建分片式数据库集群的方法及装置在审
申请号: | 202210009346.2 | 申请日: | 2022-01-05 |
公开(公告)号: | CN114356347A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 齐兴一;王梓涵 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06F16/27 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 钱娜 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 创建 分片 数据库 集群 方法 装置 | ||
1.一种创建分片式数据库集群的方法,其特征在于,适用于分片式数据库,所述方法包括:
获取当前用于创建分片式数据库集群redis cluster的分片数、副本数和内存规格,并依次为所述分片、以及所述分片中的redis实例进行编号,其中,每个分片由1个主本和N个副本组成,一个所述主本或所述副本为一个redis实例,N为正整数;
根据所述分片数和所述副本数确定创建所述redis cluster所需的物理设备数M,M为大于1的正整数;
根据所述内存规格和所述物理设备数M,从资源池中获取满足所述内存规格的M个物理设备,并进行编号,每一所述物理设备对应一编号;
针对每一分片,按照所述redis实例的编号顺序和所述物理设备的编号顺序,循环将每一所述redis实例落位至一个物理设备上,直至所有分片中的redis实例均完成落位,得到创建好的redis cluster。
2.根据权利要求1所述的方法,其特征在于,所述根据所述分片数和所述副本数确定创建所述redis cluster所需的物理设备数M,包括:
当所述分片数为奇数时,利用O=math.ceil(shards*(1+replicas)/(math.floor(shards/2))进行计算,得到所需的物理设备数M,其中,所述shards为所述分片数,所述replicas为所述副本数;
当所述分片数为偶数时,利用E=math.ceil(shards*(1+replicas)/(shards/2-1)),得到所需的物理设备数M。
3.根据权利要求1所述的方法,其特征在于,所述依次为所述分片、以及所述分片中的redis实例进行编号,包括:
根据所述分片数和所述副本数,为所述分片进行编号,并确定每个所述分片中的主本和副本;
依次为每个所述分片中的主本进行编号,并记录最后一个编号,其中,每个所述主本对应一redis实例;
从所述最后一个编号开始,依次为每个所述分片中的副本进行编号,其中,每个所述副本对应一redis实例。
4.根据权利要求1所述的方法,其特征在于,所述根据所述内存规格和所述物理设备数M,从资源池中获取满足所述内存规格的M个物理设备,并进行编号,包括:
根据所述内存规格计算第一个待获取的物理设备的剩余容量;
若所述第一个待获取的物理设备的剩余容量大于等于所述内存规格,从资源池中获取所述第一个待获取的物理设备,并进行编号;
依次根据所述内存规格计算下一个待获取的物理设备的剩余容量;
若所述下一个待获取的物理设备的剩余容量大于等于所述内存规格,从资源池中获取所述下一个待获取的物理设备,并进行编号,直至获取M个物理设备。
5.根据权利要求1所述的方法,其特征在于,所述针对每一分片,按照所述redis实例的编号顺序和所述物理设备的编号顺序,循环将每一所述redis实例落位至一个物理设备上,直至所有分片中的redis实例均完成落位,得到创建好的redis cluster,包括:
基于每个所述分片的编号顺序,确定第一个分片;
按照所述redis实例的编号顺序和所述物理设备的编号顺序,将所述第一个分片中的每一所述redis实例落位至一个物理设备上;
按照所述redis实例的编号顺序和所述物理设备的编号顺序,依次将非第一个分片中的每一所述redis实例落位至一个物理设备上,直至所有分片中的redis实例均完成落位,得到创建好的redis cluster。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210009346.2/1.html,转载请声明来源钻瓜专利网。