一种数据库集群数据分配方法及系统技术方案

技术编号:12511822 阅读:99 留言:0更新日期:2015-12-16 09:25
本发明专利技术公开一种数据库集群数据分配方法及系统,方法包括:定时检测数据库集群中所有数据库集合的数据存储情况,获取数据存储量超出阀值的数据库集合作为待分割数据库集合,将待分割数据库集合设置为分割状态;将待分割数据库集合中的数据转移到转移数据库集合;响应于客户端写入数据请求,如果当前数据库集合为分割状态,则根据分割规则获取当前数据库集合所对应的转移数据库集合,将客户端所写入的数据同时写入当前数据库集合和转移数据库集合;当将待分割数据库集合中的数据转移到转移数据库集合后,从数据库集群中卸载待分割数据库集合。本发明专利技术实现数据均匀分布,同时避免在分割转移过程中对客户端写入数据造成影响。

【技术实现步骤摘要】

本专利技术涉及数据库相关
,特别是一种数据库集群数据分配方法及系统
技术介绍
随着对查询条件的多样化,和查询性能要求越来越高,现在很多业务都是用数据库集群,例如:SolrCloud,作为查询引擎。Solr是一个独立的企业级搜索应用服务器,类似于数据库,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过HttpGet操作提出查找请求,并得到XML格式的返回结果。SolrCloud是对若干个solr应用提供的一套集群部署方案。然而,随着数据量的增长,数据就需要做分片存储,数据库集群提供的分片机制不能很好的满足业务需求,比如说自定义分片键数据不能均匀分布。
技术实现思路
基于此,有必要针对现有技术的数据库集群的分片机制不能很好的满足业务需求的技术问题,提供一种数据库集群数据分配方法及系统。一种数据库集群数据分配方法,包括:定时检测步骤,包括:定时检测数据库集群中所有数据库集合的数据存储情况,获取数据存储量超出阀值的数据库集合作为待分割数据库集合,将待分割数据库集合设置为分割状态;转移步骤,包括:对待分割数据库集合根据预设分割规则进行预分割,得到分割后的新集合数量,创建新集合数量的转移数据库集合,根据分割规则确定待分割数据库集合所对应的多个转移数据库集合,将待分割数据库集合中的数据转移到转移数据库集合;写入步骤,包括:客户端从集群的路由规则服务器中获取待写入数据库集合的链接,根据链接向集群写入数据,集群的路由器响应于客户端的写入数据信息,将写入数据信息的链接所指定的数据库集合作为当前数据库集合,判断当前数据库集合是否为分割状态,如果为分割状态,则根据分割规则获取当前数据库集合所对应的转移数据库集合,将客户端所写入的数据同时写入当前数据库集合和转移数据库集合;数据库集合卸载步骤,包括:当将待分割数据库集合中的数据转移到转移数据库集合后,从数据库集群中卸载待分割数据库集合一种数据库集群数据分配系统,包括:定时检测模块,用于:定时检测数据库集群中所有数据库集合的数据存储情况,获取数据存储量超出阀值的数据库集合作为待分割数据库集合,将待分割数据库集合设置为分割状态;转移模块,用于:对待分割数据库集合根据预设分割规则进行预分割,得到分割后的新集合数量,创建新集合数量的转移数据库集合,根据分割规则确定待分割数据库集合所对应的多个转移数据库集合,将待分割数据库集合中的数据转移到转移数据库集合;写入模块,用于:客户端从集群的路由规则服务器中获取待写入数据库集合的链接,根据链接向集群写入数据,集群的路由器响应于客户端的写入数据信息,将写入数据信息的链接所指定的数据库集合作为当前数据库集合,判断当前数据库集合是否为分割状态,如果为分割状态,则根据分割规则获取当前数据库集合所对应的转移数据库集合,将客户端所写入的数据同时写入当前数据库集合和转移数据库集合;数据库集合卸载模块,用于:当将待分割数据库集合中的数据转移到转移数据库集合后,从数据库集群中卸载待分割数据库集合。本专利技术通过对数据库集群定时检测,从而将数据存储量超出阀值的数据库集合分割为多个数据库,以实现数据均匀分布,同时对于在分割转移过程中的客户端写入数据请求,通过同时向两个数据库写入的方式,避免对客户端写入造成影响。附图说明图1为本专利技术一种数据库集群数据分配方法的工作流程图;图2为本专利技术的一个最佳实施例;图3为本专利技术一种数据库集群数据分配系统的结构模块图。具体实施方式下面结合附图和具体实施例对本专利技术做进一步详细的说明。如图1所示为本专利技术一种数据库集群数据分配方法的工作流程图,包括:步骤S101,包括:定时检测数据库集群中所有数据库集合的数据存储情况,获取数据存储量超出阀值的数据库集合作为待分割数据库集合,将待分割数据库集合设置为分割状态;步骤S102,包括:对待分割数据库集合根据预设分割规则进行预分割,得到分割后的新集合数量,创建新集合数量的转移数据库集合,根据分割规则确定待分割数据库集合所对应的多个转移数据库集合,将待分割数据库集合中的数据转移到转移数据库集合;步骤S103,包括:客户端从集群的路由规则服务器中获取待写入数据库集合的链接,根据链接向集群写入数据,集群的路由器响应于客户端的写入数据信息,将写入数据信息的链接所指定的数据库集合作为当前数据库集合,判断当前数据库集合是否为分割状态,如果为分割状态,则根据分割规则获取当前数据库集合所对应的转移数据库集合,将客户端所写入的数据同时写入当前数据库集合和转移数据库集合;步骤S104,包括:当将待分割数据库集合中的数据转移到转移数据库集合后,从数据库集群中卸载待分割数据库集合。步骤S101,对数据库集群的情况进行定时检测,具体可以采用一个专门部署定时任务的服务器,采用定时任务,每一小时检测一次。然后由步骤S102执行分割和转移。其中,分割规则由集群的管理员预先设定。在执行步骤S102的过程中,客户端向数据库集群写入数据,则触发步骤S103,由于集群中包括多个数据库集合,客户端并不能确定所要写入数据的最终的数据库集合,因此客户端向数据库集群写入数据时会先从路由规则服务器中获取待写入数据库集合的链接,然后向数据库集群写入数据,写入数据信息会先传递到路由器,然后由路由器判断客户端所要访问的当前数据库集合是否为分割状态,如果是分割状态,则将客户端所写入的数据同时写入当前数据库集合和转移数据库集合,因此客户端并不会需要更新其写入目标,同时数据也能保存在转移数据库集合中,而如果当前数据库集合的状态不是分割状态,则采用正常的方式,写入当前数据库集合即可。当转移完成后执行步骤S104将待分割数据库集合卸载,则后续所有对数据库的查询或者写入,将由新的转移数据库集合进行处理。如图2所示为本专利技术的一个最佳实施例的工作流程图,数据库集合为包括多个solr数据库的SolrCloud,具体包括:步骤S201,定时任务每隔一段时间,检测所有solr数据库集合的数据分布情况,得到数据超出阀值的数据库集合,设置此数据库集合为分割状态,然后通过消息触发步骤S202的任务分割功能;步骤S202:任务分割功能,根据规则预分割数据库集合,得到分成子数据库集合的数量。根据得到的本文档来自技高网...

【技术保护点】
一种数据库集群数据分配方法,其特征在于,包括:定时检测步骤,包括:定时检测数据库集群中所有数据库集合的数据存储情况,获取数据存储量超出阀值的数据库集合作为待分割数据库集合,将待分割数据库集合设置为分割状态;转移步骤,包括:对待分割数据库集合根据预设分割规则进行预分割,得到分割后的新集合数量,创建新集合数量的转移数据库集合,根据分割规则确定待分割数据库集合所对应的多个转移数据库集合,将待分割数据库集合中的数据转移到转移数据库集合;写入步骤,包括:客户端从集群的路由规则服务器中获取待写入数据库集合的链接,根据链接向集群写入数据,集群的路由器响应于客户端的写入数据信息,将写入数据信息的链接所指定的数据库集合作为当前数据库集合,判断当前数据库集合是否为分割状态,如果为分割状态,则根据分割规则获取当前数据库集合所对应的转移数据库集合,将客户端所写入的数据同时写入当前数据库集合和转移数据库集合;数据库集合卸载步骤,包括:当将待分割数据库集合中的数据转移到转移数据库集合后,从数据库集群中卸载待分割数据库集合。

【技术特征摘要】
1.一种数据库集群数据分配方法,其特征在于,包括:
定时检测步骤,包括:定时检测数据库集群中所有数据库集合的数
据存储情况,获取数据存储量超出阀值的数据库集合作为待分割数据库
集合,将待分割数据库集合设置为分割状态;
转移步骤,包括:对待分割数据库集合根据预设分割规则进行预分
割,得到分割后的新集合数量,创建新集合数量的转移数据库集合,根
据分割规则确定待分割数据库集合所对应的多个转移数据库集合,将待
分割数据库集合中的数据转移到转移数据库集合;
写入步骤,包括:客户端从集群的路由规则服务器中获取待写入数
据库集合的链接,根据链接向集群写入数据,集群的路由器响应于客户
端的写入数据信息,将写入数据信息的链接所指定的数据库集合作为当
前数据库集合,判断当前数据库集合是否为分割状态,如果为分割状
态,则根据分割规则获取当前数据库集合所对应的转移数据库集合,将
客户端所写入的数据同时写入当前数据库集合和转移数据库集合;
数据库集合卸载步骤,包括:当将待分割数据库集合中的数据转移
到转移数据库集合后,从数据库集群中卸载待分割数据库集合。
2.根据权利要求1所述的数据库集群数据分配方法,其特征在于,
所述数据库集合卸载步骤,具体包括:
从集群的路由规则服务器中,将指向待分割数据库集合的链接替换
为指向转移数据库集合,所述客户端在进行查询和写入操作时,从所述
路由规则服务器获取链接。
3.根据权利要求1所述的数据库集群数据分配方法,其特征在于,
所述写入步骤,具体包括:
客户端从集群的路由规则服务器中获取待写入数据库集合的链接,
根据链接向集群写入数据,集群的路由器响应于客户端的写入数据信
息,将写入数据信息的链接所指定的数据库集合作为当前数据库集合,
集群的路由器判断当前数据库集合是否为分割状态,如果为分割状态,

\t则根据分割规则获取当前数据库集合所对应的转移数据库集合,将客户
端所写入的数据同时转发到当前数据库集合和转移数据库集合。
4.根据权利要求1所述的数据库集群数据分配方法,其特征在于,
所述客户端从集群的路由规则服务器中获取待写入数据库集合的链接,
具体包括:客户端向集群的路由规则服务器发出包括分片字段的写入数
据请求,从路由规则服务器中获取关于所述分片字段的待写入数据库集
合的链接。
5.根据权利要求1所述的数据库集群数据分配方法,其特征在于,
所述转移步骤中,所述对待分割数据库集合根据预设分割规则进行预分
割,得到分割后的新集合数量,具体包括:
获取待分割数据库集合的数据存储量m,以及预设的单个数据库集合
的优选存储量k,则分割后的新集合数量n>m÷k。
...

【专利技术属性】
技术研发人员:冯军
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1