一种集群数据分片方法与流程
- 国知局
- 2024-10-21 15:05:05
本发明涉及mongodb数据分片不均衡,尤其涉及一种集群数据分片方法。
背景技术:
1、数据库集群分片是一种在大规模数据库中分割数据和负载的技术。它将数据库分成多个片段,每个片段存储一部分数据,并将负载分散到多个服务器上。这种分片技术可以提高数据库的性能、可扩展性和容错性。
2、mongodb是一种集群数据库,目前,关于mongodb集群数据分片不均衡问题有两种解决方法,一是通过选举方式选择主节点,主节点发现故障后,通过心跳检测机制探测其他节点是否正常,通过raft算法来重新选举,切换故障节点。该方法易产生通讯延迟,网络环境等影响因素易导致整个集群故障,虽然备节点继续提供服务,但是不能保证数据的有效性,实时性和准确性,即集群发生故障后,也就无法进行后续的分片流程。二是sharding分片集群,通过存储集群所有节点,分片数据路由信息,提供对外应用访问,所有操作通过路由节点执行,chunk分裂及迁移。但该方法,默认无负载均衡机制,需要额外引入负载均衡策略,数据量大的时候,存在分片分布不均衡,导致负载比大小分布差异明显,例如,10个请求有可能都随机分配至5个节点中的一个或两个,尤其数据量大的时候,导致系统严重卡顿、无法响应。自带的体系无法保证节点的高可用稳定性,自带自动平衡机制存在很大的瓶颈隐患。
技术实现思路
1、有鉴于此,本发明提供了一种集群数据分片方法,以解决现有技术中数据库集群数据分片不均衡,无法提升集群负载效率和分片均衡性的技术问题。
2、本发明提供了一种集群数据分片方法,包括:
3、s1.将设定数量的虚拟ip地址绑定至负载均衡设备,接收客户端集群数据存储请求,获取所述客户端集群数据存储请求携带的数据量,每一所述虚拟ip地址对应一集群数据库;
4、s2.若所述数据量大于预设的数据量阈值,基于所述数据量阈值,对所述数据量进行分片,得到分片数据;
5、s3.依据预先设置的负载均衡算法,获取用于响应所述客户端集群数据存储请求的集群数据库,所述集群数据库的数量与所述分片数据的数量相同;
6、s4.依据获取的集群数据库对应的虚拟ip地址,将所述分片数据分发至对应的集群数据库进行存储。
7、进一步地,所述预定义的负载均衡算法包括:
8、轮询、加权轮询、随机、最小连接、源地址散列。
9、进一步地,所述s1还包括:若后台出现后端服务器ip地址变更,则自动变更虚拟ip地址和所述后端服务器ip地址的映射关系。
10、进一步地,所述分片的分裂层数为4层,单个碎片数据分裂数,按偶数次分裂,且小于等于12次。
11、进一步地,所述s2还包括:
12、若所述数据量小于预设的数据量阈值,则对所述数据量不做处理。
13、进一步地,所述s2还包括:对分裂过程进行监控,若查出异常分裂数据,则对所述异常分裂数据做故障剔除处理。
14、进一步地,所述s3还包括:
15、添加监测修复机制,获得数据配置路由错误信息。
16、进一步地,所述监测修复机制为使继续网络保活的心跳检测机制。
17、进一步地,所述心跳检测机制,用于检测配置节点之间的通信情况,所述通信情况包括正常和异常告警。
18、进一步地,所述方法还包括:针对版本的差异提供相应的警示作用和处理机制。
19、本发明与现有技术相比存在的有益效果是:
20、1、本发明通过引入一种实用的负载均衡机制,配合数据分片集群调度策略,将访问地址负载平滑的均衡到多个后端的路由节点,确保了调度负载高效稳定运行,故障处理;
21、2、本发明通过对集群自带按范围分片机制做了优化处理,对基础组块大小做了配置优化、对路由节点策略机制做了优化调整、对服务器配置的稳定性做了优化,确保了在大业务量下,负载均衡有效,数据分片合理,规避了默认机制的瓶颈、负载不均衡、以及数据分片异常而导致业务问题等情况。
技术特征:1.一种集群数据分片方法,其特征在于,包括:
2.根据权利要求1所述的集群数据分片方法,其特征在于,所述预定义的负载均衡算法包括:
3.根据权利要求1所述的集群数据分片方法,其特征在于,所述s1还包括:若后台出现后端服务器ip地址变更,则自动变更虚拟ip地址和所述后端服务器ip地址的映射关系。
4.根据权利要求1所述的集群数据分片方法,其特征在于,所述分片的分裂层数为4层,单个碎片数据分裂数,按偶数次分裂,且小于等于12次。
5.根据权利要求1所述的集群数据分片方法,其特征在于,所述s2还包括:
6.根据权利要求1所述的集群数据分片方法,其特征在于,所述s2还包括:对分裂过程进行监控,若查出异常分裂数据,则对所述异常分裂数据做故障剔除处理。
7.根据权利要求1所述的集群数据分片方法,其特征在于,所述s3还包括:
8.根据权利要求7所述的集群数据分片方法,其特征在于,所述监测修复机制为使继续网络保活的心跳检测机制。
9.根据权利要求8所述的集群数据分片方法,其特征在于,所述心跳检测机制,用于检测配置节点之间的通信情况,所述通信情况包括正常和异常告警。
10.根据权利要求1所述的集群数据分片方法,其特征在于,所述方法还包括:针对版本的差异提供相应的警示作用和处理机制。
技术总结本发明涉及MongoDB数据分片不均衡技术领,提供了一种集群数据分片方法。该方法包括:将设定数量的虚拟IP地址绑定至负载均衡设备,接收客户端集群数据存储请求,获取客户端集群数据存储请求携带的数据量,每一虚拟IP地址对应一集群数据库;若数据量大于预设的数据量阈值,基于数据量阈值,对数据量进行分片,得到分片数据;依据预先设置的负载均衡算法,获取用于响应客户端集群数据存储请求的集群数据库,集群数据库的数量与分片数据的数量相同;依据获取的集群数据库对应的虚拟IP地址,将分片数据分发至对应的集群数据库进行存储。本发明规避了负载不均衡、以及数据分片异常而导致业务问题等情况。技术研发人员:蒋海,魏艳光,张保平受保护的技术使用者:布比(北京)网络技术有限公司技术研发日:技术公布日:2024/10/17本文地址:https://www.jishuxx.com/zhuanli/20241021/320441.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。