【技术实现步骤摘要】
分布式系统集群在线分片扩容方法及装置
[0001]本专利技术涉及分布式系统
,尤指一种分布式系统集群在线分片扩容方法及装置。
技术介绍
[0002]目前,一个新的业务系统刚上线时,业务量较小,为了节省资源和成本,一般采用最小集群部署。对于采用单元化或微服务架构的系统,数据库和应用容器合并部署。数据库分片一般采用业务字段hash后对初始集群取模的方式确定数据所在集群,公式表示为:mod(hash(业务字段),集群数n)。业务上线初期集群数n较小,在同城双活的部署架构下,n一般取双数,两个园区对等部署,比如n=2。后续随着业务量增加,集群数需要扩容时。对于7
×
24小时业务,为了不影响业务连续性,将扩容停机时间在正常投产时间内完成。目前常用的做法可采取双倍扩容方式,数据扩容后分布如图1所示,即集群数扩容后为n
×
2,扩容后业务数据在新集群的分片计算公式为:mod(hash(业务字段),集群数n*2)。
[0003]按双倍扩容方式,原来集群0中的数据扩容后必然在新集群0和集群2中, ...
【技术保护点】
【技术特征摘要】
1.一种分布式系统集群在线分片扩容方法,其特征在于,所述方法包括:获取分布式系统中的集群路由配置规则,并根据所述集群路由配置规则确定待分片集群;其中,所述集群路由配置规则包括集群个数、待分片集群序号及集群拆分数;根据所述集群路由配置规则中的待分片集群序号及集群拆分数,对所述待分片集群进行拆分,得到待分片集群对应的子集群;根据接收到的外部数据请求,利用哈希算法确定所述外部数据请求对应的哈希值;根据所述哈希值、集群个数及所述分布式系统中的各子集群,利用预设迭代次数进行哈希迭代计算,确定所述外部数据请求对应的指定集群,并将所述外部数据请求对应的集群数据路由至所述指定集群。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据分布式系统中各集群的业务量及数据库容量,确定待分片集群的序号及集群拆分数;根据所述待分片集群的序号及集群拆分数,对所述分布式系统中的集群路由配置规则进行更新。3.根据权利要求1所述的方法,其特征在于,所述根据所述集群路由配置规则中的待分片集群序号及集群拆分数,对所述待分片集群进行拆分,得到待分片集群对应的子集群包括:根据所述集群路由配置规则中的待分片集群序号,在所述分布式系统的多个集群中确定待分片集群;关闭所述待分片集群的服务开关,根据所述集群路由配置规则中的集群拆分数,对所述待分片集群进行拆分,得到待分片集群对应的子集群。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:将待分片集群中的备数据库作为所述子集群的主数据库,并打开所述待分片集群的服务开关。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:删除所述分布式系统中各集群中的冗余数据。6.根据权利要求1所述的方法,其特征在于,所述根据所述哈希值、集群个数及所述分布式系统中的各子集群,利用预设迭代次数进行哈希迭代计算,确定所述外部数据请求对应的指定集群包括:计算所述哈希值与所述集群个数的第一余数值,将所述第一余数值与所述集群路由配置规则进行匹配,确定所述第一余数值对应的第一集群;将所述预设迭代次数作为分散因子,根据所述第一集群对应的子集群个数及所述分散因子进行哈希迭代计算,更新所述哈希值及其对应的余数值,直至达到所述预设迭代次数或当前集群不具有对应的子集群,则将当前集群作为所述外部数据请求对应的指定集群。7.一种分布式系统集群在线分片扩容装置,其特征在于,所述装置包括:待分片集群模块,用于获取分布式系统中的集群路由配置规则,并根据所述集群路由配置规则确定待分片集...
【专利技术属性】
技术研发人员:廖宸,李东丽,欧乾君,邓华丰,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。