一种基于关系型数据库的分布式数据库扩展方法及系统技术方案

技术编号:9434672 阅读:108 留言:0更新日期:2013-12-12 00:41
本申请提供了一种基于关系型数据库的分布式数据库扩展方法,包括:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。因此解决了现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题。

【技术实现步骤摘要】
一种基于关系型数据库的分布式数据库扩展方法及系统
本申请涉及数据库扩展领域,特别涉及一种基于关系型数据库的分布式数据库扩展方法及系统。
技术介绍
分布式数据库是数据分存在计算机网络中的各台计算机上的数据库。目前主要常用的为基于关系型数据库的分布式数据库,该分布式数据库采用表分区技术,将一个较大数据库表内的记录,按一定的分区规则分别存放在各个节点服务器(计算机)上。当某个节点服务器上存储的数据流过大,基于关系型数据库的分布式数据库需要扩展时,就需要对分区规则重新调整。但在对分区规则重新调整后,需要将相应节点服务器上的部分映射值迁移至相应新增的节点服务器中,同时与迁移的部分映射值对应的数据也迁移至相应新增的节点服务器中。而在进行数据迁移时,由于迁移的数据量大,因此占用过多的磁盘IO和CPU资源,从而影响基于关系型数据库的分布式数据库的正常运行。由上可见,目前对基于关系型数据库的分布式数据库进行扩展时,存在需要对数据进行迁移,从而占用过多的磁盘IO和CPU资源,影响基于关系型数据库的分布式数据库正常运行的缺点。
技术实现思路
为解决上述技术问题,本申请提供一种基于关系型数据库的分布式数据库扩展方法,以达到解决现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题的目的,技术方案如下:一种基于关系型数据库的分布式数据库扩展方法,包括:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求;所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据;所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的修改数据库操作请求;所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据;所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求;所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据;所述预设节点服务器查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。优选的,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器包括:在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。优选的,在为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器之后,还包括:在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联;若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;若是,判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据;若是,不发送所述插入数据库操作请求至所述预设节点服务器;若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。优选的,所述分区规则包括:哈希分区;或,列表分区;或,范围分区。一种基于关系型数据库的分布式数据库扩展系统,包括:确定器,用于在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;分配器,用于为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;第一发送器,用于发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联;所述待扩展节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求;所述预设节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求。优选的,所述第一发送器包括:第二发送器,用于在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。优选的,还包括:第一判断器,用于在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联,若否,执行第三发送器,若是,执行第二判断器;第三发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;第二判断器,用于判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据,若是,不发送所述插入数据库操作请求至所述预设节点服务器,若否,执行第四发送器;第四发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。与现有技术相比,本申请的有益效果为:在本申请中,在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。由于给待扩展节点服务器分配一个与其分区规则和映射值相同的预设节点服务器,因此在分布式数据库系统中增加了一个与待扩展节点服务器完全相同,但存储量为零或未满的节点服务器,同时要求待扩展节点服务器和预设节点服务器接收并处理相同的数据操作请求,以保证能够正确处理数据库操作请求和数据库操作请求对应的数据,实现了扩展分布式数据库系统的目的。由于在本申请中,增加节点服务器后并未对待扩展节点服务器上的数据进行迁移,即实现了对分布式数据库系统的扩展,因此解决了现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显本文档来自技高网...
一种基于关系型数据库的分布式数据库扩展方法及系统

【技术保护点】
一种基于关系型数据库的分布式数据库扩展方法,其特征在于,包括:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。

【技术特征摘要】
1.一种基于关系型数据库的分布式数据库扩展方法,其特征在于,包括:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。2.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求;所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据;所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。3.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的修改数据库操作请求;所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据;所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。4.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求;所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据;所述预设节点服务器查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。5.根据权利要求1所述的方法,其特征在于,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器包括:在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。6.根据权利要求1所述的方法,其特征在于,在为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务...

【专利技术属性】
技术研发人员:陈百平袁晓鹏
申请(专利权)人:从兴技术有限公司
类型:发明
国别省市:

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

1