非关系型数据库的扩展方法和装置制造方法及图纸

技术编号:14902070 阅读:75 留言:0更新日期:2017-03-29 17:27
本申请公开了一种非关系型数据库的扩展方法和装置。其中,非关系型数据库的扩展方法包括:监测非关系型数据库的每个第一分片已存储数据的数据量,其中,第一分片为非关系型数据库当前所具有的分片;比较每个第一分片的数据量与预设阈值的大小;以及在比较出存在数据量大于预设阈值的第一分片的情况下,添加第二分片至非关系型数据库。通过本申请,解决了现有技术中人为扩展非关系型数据复杂度比较高的技术问题。

Extension method and device for non relational database

The invention discloses a method and a device for extending a non relational database. Among them, including extensions of non relational database: the amount of data, each of the first pieces of monitoring non relational database has stored data in which the first piece as a non relational database currently has the amount of data; each of the first slice with the preset threshold; and in comparison with the first slice data amount is greater than the preset threshold condition, add second points to the non relational database. The utility model solves the technical problem that the artificial extension of the non relational data is relatively high in the prior art.

【技术实现步骤摘要】

本申请涉及数据处理领域,具体而言,涉及一种非关系型数据库的扩展方法和装置
技术介绍
随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的社会性网络服务(SocialNetworkSite,简称SNS)类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型数据库(NotOnlySQL,简称NoSQL)则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。非关系型数据库在进行数据存储过程中,需要将数据进行分区,将记录分散在多个节点上面。MongoDB是目前在IT行业非常流行的一种非关系型数据库,以MongoDB为例进行说明,MongoDB可以通过在不同服务器上建立分片来实现数据的分布式存储。同时,还可以通过添加分片来实现数据存储能力的水平扩展。当前的扩展方法是,维护者发现磁盘容量接近极限后,手动添加一台服务器,在新服务器上部署MongoDB的一个新的分片,来实现水平扩展。此种人为进行扩展的方式,需要人为的定期查看原有系统的磁盘状态,并手动在新服务器上部署MongoDB系统,并建立分片,存在部署复杂度高的弊端。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种非关系型数据库的扩展方法和装置,以至少解决现有技术中人为扩展非关系型数据复杂度比较高的技术问题。根据本申请实施例的一个方面,提供了一种非关系型数据库的扩展方法,包括:监测所述非关系型数据库的每个第一分片已存储数据的数据量,其中,所述第一分片为所述非关系型数据库当前所具有的分片;比较每个所述第一分片的数据量与预设阈值的大小;以及在比较出存在数据量大于所述预设阈值的第一分片的情况下,添加第二分片至所述非关系型数据库。进一步地,在比较出存在数据量大于所述预设阈值的第一分片的情况下,添加第二分片至所述非关系型数据库包括:检测第一服务器的第一磁盘,其中,目标分片部署在所述第一服务器的第二磁盘上,所述目标分片为数据量大于所述预设阈值的第一分片,所述第一磁盘为所述第一服务器中与所述第二磁盘不同的磁盘;在检测出所述第一服务器的所述第一磁盘具有剩余空间的情况下,在所述第一服务器的所述第一磁盘上创建所述第二分片;以及在检测出所述第一服务器的所述第一磁盘不具有剩余空间的情况下,查找第二服务器,并在所述第二服务器的磁盘上创建所述第二分片,其中,所述第二服务器为所述非关系型数据库的多个服务器中具有剩余空间的服务器,并且所述第二服务器和所述第一服务器为不同的服务器。进一步地,在所述第二服务器的磁盘上创建所述第二分片包括:在所述第二服务器的第三磁盘上创建所述第二分片,其中,所述第三磁盘为所述第二服务器中未部署所述第一分片的磁盘,并且所述第三磁盘具有剩余空间。进一步地,查找第二服务器包括:遍历所述多个服务器,并检测所遍历服务器的磁盘空间,直到检测出磁盘具有剩余空间的服务器为止,并将该磁盘具有剩余空间的服务器作为所述第二服务器。进一步地,监测所述非关系型数据库的每个第一分片已存储数据的数据量包括:执行部署在所述非关系型数据库的每个服务器上的监测程序;以及获取所述监测程序的监测结果,得到每个所述第一分片已存储数据的数据量,其中,所述监测程序通过连接所述非关系型数据库的路由节点获取每个所述服务器上的所述第一分片已存储数据的数据量。根据本申请实施例的另一方面,还提供了一种非关系型数据库的扩展装置,包括:监测单元,用于监测所述非关系型数据库的每个第一分片已存储数据的数据量,其中,所述第一分片为所述非关系型数据库当前所具有的分片;比较单元,用于比较每个所述第一分片的数据量与预设阈值的大小;以及添加单元,用于在所述比较单元比较出存在数据量大于所述预设阈值的第一分片的情况下,添加第二分片至所述非关系型数据库。进一步地,所述添加单元包括:检测子单元,用于在所述比较单元比较出存在数据量大于所述预设阈值的分片的情况下,检测第一服务器的第一磁盘,其中,目标分片部署在所述第一服务器的第二磁盘上,所述目标分片为数据量大于所述预设阈值的第一分片,所述第一磁盘为所述第一服务器中与所述第二磁盘不同的磁盘;第一创建子单元,用于在所述检测子单元检测出所述第一服务器的所述第一磁盘具有剩余空间的情况下,在所述第一服务器的所述第一磁盘上创建所述第二分片;以及第二创建子单元,用于在所述检测子单元检测出所述第一服务器的所述第一磁盘不具有剩余空间的情况下,查找第二服务器,并在所述第二服务器的磁盘上创建所述第二分片,其中,所述第二服务器为所述非关系型数据库的多个服务器中具有剩余空间的服务器,并且所述第二服务器和所述第一服务器为不同的服务器。进一步地,所述第二创建子单元包括:创建模块,用于在所述第二服务器的第三磁盘上创建所述第二分片,其中,所述第三磁盘为所述第二服务器中未部署所述第一分片的磁盘,并且所述第三磁盘具有剩余空间。进一步地,所述第二创建子单元还包括:遍历模块,用于遍历所述多个服务器,并检测所遍历服务器的磁盘空间,直到检测出磁盘具有剩余空间的服务器为止,并将该磁盘具有剩余空间的服务器作为所述第二服务器。进一步地,所述监测单元包括:执行子单元,用于执行部署在所述非关系型数据库的每个服务器上的监测程序;以及获取子单元,用于获取所述监测程序的监测结果,得到每个所述第一分片已存储数据的数据量,其中,所述监测程序通过连接所述非关系型数据库的路由节点获取每个所述服务器上的所述第一分片已存储数据的数据量。在本申请实施例中,通过监测非关系型数据库中当前已有的各个分片存储的数据的数据量,把当前已有的各个分片中存储的数据的数据量与阈值进行比较,当经过比较发现当前已有的分片中有某一个分片或者某几个分片中存储的数据的数据量大于阈值时,在数据库中添加新的分片,实现了自动为非关系型数据库添加分片的扩展方法,解决了现有技术中人为扩展非关系型数据复杂度比较高的技术问题,达到了自动扩展非关系型数据库的技术效果。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的非关系型数据库的扩展方法的流程图;以及图2是根据本申请实施例的非关系型数据库的扩展装置的示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一本文档来自技高网
...
非关系型数据库的扩展方法和装置

【技术保护点】
一种非关系型数据库的扩展方法,其特征在于,包括:监测所述非关系型数据库的每个第一分片已存储数据的数据量,其中,所述第一分片为所述非关系型数据库当前所具有的分片;比较每个所述第一分片的数据量与预设阈值的大小;以及在比较出存在数据量大于所述预设阈值的第一分片的情况下,添加第二分片至所述非关系型数据库。

【技术特征摘要】
1.一种非关系型数据库的扩展方法,其特征在于,包括:监测所述非关系型数据库的每个第一分片已存储数据的数据量,其中,所述第一分片为所述非关系型数据库当前所具有的分片;比较每个所述第一分片的数据量与预设阈值的大小;以及在比较出存在数据量大于所述预设阈值的第一分片的情况下,添加第二分片至所述非关系型数据库。2.根据权利要求1所述的方法,其特征在于,在比较出存在数据量大于所述预设阈值的第一分片的情况下,添加第二分片至所述非关系型数据库包括:检测第一服务器的第一磁盘,其中,目标分片部署在所述第一服务器的第二磁盘上,所述目标分片为数据量大于所述预设阈值的第一分片,所述第一磁盘为所述第一服务器中与所述第二磁盘不同的磁盘;在检测出所述第一服务器的所述第一磁盘具有剩余空间的情况下,在所述第一服务器的所述第一磁盘上创建所述第二分片;以及在检测出所述第一服务器的所述第一磁盘不具有剩余空间的情况下,查找第二服务器,并在所述第二服务器的磁盘上创建所述第二分片,其中,所述第二服务器为所述非关系型数据库的多个服务器中具有剩余空间的服务器,并且所述第二服务器和所述第一服务器为不同的服务器。3.根据权利要求2所述的方法,其特征在于,在所述第二服务器的磁盘上创建所述第二分片包括:在所述第二服务器的第三磁盘上创建所述第二分片,其中,所述第三磁盘为所述第二服务器中未部署所述第一分片的磁盘,并且所述第三磁盘具有剩余空间。4.根据权利要求2所述的方法,其特征在于,查找第二服务器包括:遍历所述多个服务器,并检测所遍历服务器的磁盘空间,直到检测出磁盘具有剩余空间的服务器为止,并将该磁盘具有剩余空间的服务器作为所述第二服务器。5.根据权利要求1至4中任一项所述的方法,其特征在于,监测所述非关系型数据库的每个第一分片已存储数据的数据量包括:执行部署在所述非关系型数据库的每个服务器上的监测程序;以及获取所述监测程序的监测结果,得到每个所述第一分片已存储数据的数据量,其中,所述监测程序通过连接所述非关系型数据库的路由节点获取每个所述服务器上的所述第一分片已存储数据的数据量。6.一种非关系型数据库的扩展装置,其特征在于,包括:监测单元,用于监测...

【专利技术属性】
技术研发人员:石岱曦
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

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

1