【技术实现步骤摘要】
一种基于MongoDB负载均衡优化系统及方法
本专利技术属于数据库的数据处理性能优化领域,尤其是负载均衡改进方法,提升数据库的高并发读写能力。
技术介绍
由于大数据时代的到来,云存储技术的快速发展,人们的日常生活以及各种科学实验产生了海量数据。对于如何有效和快速地存储和提取这些海量数据,传统的关系型数据库,暴露了很多难以解决的问题。尤其在面对高并发量的读写请求,海量数据的快速访问、高效存储方面和数据库高扩展性等方面,需求难以得到满足。因此,非关系型数据库NoSql应运而生。NoSql数据库以支持海量数据、高可用性、高扩展性而闻名,解决了关心型数据库所面临的问题。其中MongoDB作为文档型数据库的代表,因其高性能、易部署、易使用、存储效率高等优点,获得很多大中型企业和网站的使用。MongoDB为了存储海量数据,依据其自动分片机制来实现数据库的水平扩展(是指加入更多的服务器来加大存储空间,提升运算性能),而且水平扩展的过程是系统自动实现,无需人工添加。另外数据存储在每个分片中(将数据划分为一定大小的数据块,然后放入各个服务器中),当各个服务器中的数据块个数不均衡时, ...
【技术保护点】
一种基于MongoDB负载均衡优化系统,包括MongoDB分布式存储系统,所述MongoDB分布式存储系统的数据存储在每个分片中,将数据划分为一定大小的数据块,然后放入各个服务器中,当各个服务器中的数据块个数不均衡时,通过balancer模块来实现负载均衡,其特征在于,在所述MongoDB系统框架上增加一个负载监听器模块,负责周期性动态监听各个服务器的cpu利用率NCPU、内存memory利用率NMEMORY、带宽bandwidth利用率NBANDWIDTH,并分别设置cpu利用率权值k1、内存memory利用率权值k2、带宽bandwidth利用率权值k3,服务器根据实时 ...
【技术特征摘要】
1.一种基于MongoDB负载均衡优化系统,包括MongoDB分布式存储系统,所述MongoDB分布式存储系统的数据存储在每个分片中,将数据划分为一定大小的数据块,然后放入各个服务器中,当各个服务器中的数据块个数不均衡时,通过balancer模块来实现负载均衡,其特征在于,在所述MongoDB系统框架上增加一个负载监听器模块,负责周期性动态监听各个服务器的cpu利用率NCPU、内存memory利用率NMEMORY、带宽bandwidth利用率NBANDWIDTH,并分别设置cpu利用率权值k1、内存memory利用率权值k2、带宽bandwidth利用率权值k3,服务器根据实时判断是否超载和数据块的操作热度数综合考虑调节,实现MongoDB动态负载均衡。2.根据权利要求1所述的基于MongoDB负载均衡优化系统,其特征在于,所述cpu利用率权值k1和内存利用率权值k2均比带宽利用率权值k3要大。3.根据权利要求1或2所述的基于MongoDB负载均衡优化系统,其特征在于,所述cpu利用率权值k1、内存memory利用率权值k2、带宽bandwidth利用率权值k3还满足k1+k2+k3=1。4.根据权利要求3所述的基于MongoDB负载均衡优化系统,其特征在于,服务器负载超载的判断步骤包括:设系统有X个服务器,当前第r个服务器的负载为:load(r)=k1×NCPU+k2×NMEMORY+k3×NBANDWIDTH则系统的总负载系统服务器的平均负载设当前服务器中最大负载为Maxload,并设为服务器A,当前服务器中最小负载为Minload,设为服务器B;若(Maxload-avg)/avg≥λ,则当前最大负载服务器Maxload超载;上式中λ为系统负载阈值,为常数。5.根据权利要求1所述的基于MongoDB负载均衡优化系统,其特征在于,所述据块的操作热度数的获取具体包括:在MongoDB原有的balancer模块中加入对数据块操作类型以及次数的统计,获取其数据块的操作热度数h,对数据块的操作分为读操作read、写操作write、更新操作update及删除操作delete,并分别对其四种操作设赋予O1、O2、O3、O4权值,并满足O1+O2+O3+O4=1。6.根据权利要求5所述的基于MongoDB负载均衡优化系统,其特征在于,所述read操作分配的权值O1要小些,因为有一些数据可以在物理缓存中找到,而且也可以从副节点读取;delete操作权重O4设置最低;write操作和update操作两者设置的权重都要比read和delete要高,write权重O2设置最高,update权重O3设置次之。7.根据权利要求5所述的基于M...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。