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

上传人:Y94****206 文档编号:1485005 上传时间:2018-06-17 格式:PDF 页数:17 大小:2.13MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310413927.3

申请日:

2013.09.11

公开号:

CN103440345A

公开日:

2013.12.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20130911|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

从兴技术有限公司

发明人:

陈百平; 袁晓鹏

地址:

510000 广东省广州市广州大道南368号19楼

优先权:

专利代理机构:

北京集佳知识产权代理有限公司 11227

代理人:

王宝筠

PDF下载: PDF下载
内容摘要

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

权利要求书

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

2.  根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求;
所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据;
所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。

3.  根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的修改数据库操作请求;
所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据;
所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。

4.  根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求;
所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据;
所述预设节点服务器查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。

5.  根据权利要求1所述的方法,其特征在于,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器包括:
在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。

6.  根据权利要求1所述的方法,其特征在于,在为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器之后,还包括:
在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联;
若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;
若是,判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据;
若是,不发送所述插入数据库操作请求至所述预设节点服务器;
若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。

7.  根据权利要求1-6所述的方法,其特征在于,所述分区规则包括:
哈希分区;或,列表分区;或,范围分区。

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

9.  根据权利要求8所述的系统,其特征在于,所述第一发送器包括:
第二发送器,用于在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。

10.  根据权利要求8所述的系统,其特征在于,还包括:
第一判断器,用于在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联,若否,执行第三发送器,若是,执行第二判断器;
第三发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;
第二判断器,用于判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据,若是,不发送所述插入数据库操作请求至所述预设节点服务器,若否,执行第四发送器;
第四发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。

说明书

说明书一种基于关系型数据库的分布式数据库扩展方法及系统
技术领域
本申请涉及数据库扩展领域,特别涉及一种基于关系型数据库的分布式数据库扩展方法及系统。
背景技术
分布式数据库是数据分存在计算机网络中的各台计算机上的数据库。目前主要常用的为基于关系型数据库的分布式数据库,该分布式数据库采用表分区技术,将一个较大数据库表内的记录,按一定的分区规则分别存放在各个节点服务器(计算机)上。
当某个节点服务器上存储的数据流过大,基于关系型数据库的分布式数据库需要扩展时,就需要对分区规则重新调整。但在对分区规则重新调整后,需要将相应节点服务器上的部分映射值迁移至相应新增的节点服务器中,同时与迁移的部分映射值对应的数据也迁移至相应新增的节点服务器中。而在进行数据迁移时,由于迁移的数据量大,因此占用过多的磁盘IO和CPU资源,从而影响基于关系型数据库的分布式数据库的正常运行。
由上可见,目前对基于关系型数据库的分布式数据库进行扩展时,存在需要对数据进行迁移,从而占用过多的磁盘IO和CPU资源,影响基于关系型数据库的分布式数据库正常运行的缺点。
发明内容
为解决上述技术问题,本申请提供一种基于关系型数据库的分布式数据库扩展方法,以达到解决现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题的目的,技术方案如下:
一种基于关系型数据库的分布式数据库扩展方法,包括:
在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;
为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;
发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。
优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求;
所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据;
所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。
优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的修改数据库操作请求;
所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据;
所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。
优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求;
所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据;
所述预设节点服务器查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。
优选的,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器包括:
在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。
优选的,在为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器之后,还包括:
在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联;
若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;
若是,判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据;
若是,不发送所述插入数据库操作请求至所述预设节点服务器;
若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
优选的,所述分区规则包括:
哈希分区;或,列表分区;或,范围分区。
一种基于关系型数据库的分布式数据库扩展系统,包括:
确定器,用于在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;
分配器,用于为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;
第一发送器,用于发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区 规则和所述映射值相关联;
所述待扩展节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求;
所述预设节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求。
优选的,所述第一发送器包括:
第二发送器,用于在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。
优选的,还包括:
第一判断器,用于在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联,若否,执行第三发送器,若是,执行第二判断器;
第三发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;
第二判断器,用于判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据,若是,不发送所述插入数据库操作请求至所述预设节点服务器,若否,执行第四发送器;
第四发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
与现有技术相比,本申请的有益效果为:
在本申请中,在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。
由于给待扩展节点服务器分配一个与其分区规则和映射值相同的预 设节点服务器,因此在分布式数据库系统中增加了一个与待扩展节点服务器完全相同,但存储量为零或未满的节点服务器,同时要求待扩展节点服务器和预设节点服务器接收并处理相同的数据操作请求,以保证能够正确处理数据库操作请求和数据库操作请求对应的数据,实现了扩展分布式数据库系统的目的。由于在本申请中,增加节点服务器后并未对待扩展节点服务器上的数据进行迁移,即实现了对分布式数据库系统的扩展,因此解决了现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的一种流程图;
图2是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的一种子流程图;
图3是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的另一种子流程图;
图4是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的再一种子流程图;
图5是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的另一种流程图;
图6是本申请提供的一种基于关系型数据库的分布式数据库扩展系统的一种结构示意图;
图7是本申请提供的一种基于关系型数据库的分布式数据库扩展系统的另一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供一种基于关系型数据库的分布式数据库扩展方法,首先,在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;其次,为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;最后,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。以下将列举实施例对本申请提供的一种基于关系型数据库的分布式数据库扩展方法进行详细说明。
一个实施例
请参见图1,其示出了本申请提供的一种基于关系型数据库的分布式数据库扩展方法的一种流程图,可以包括以下步骤:
步骤S11:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器。
在本实施例中,在节点服务器存储满数据的情况下,将存储满数据的节点服务器作为待扩展节点服务器。待扩展节点服务器的存储已满,不能再存储新的数据。
步骤S12:为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器。
在本实施例中,预设节点服务器的当前存储量为零或未满。
在本实施例中,待扩展节点服务器的分区规则包括:哈希分区;或,列表分区;或,范围分区。
其中,预设节点服务器的分区规则和映射值与待扩展节点服务器的分区规则和映射值相同。例如,待扩展节点服务器A的分区规则为哈希分区,映射值为哈希值[2,3,4,6],则为待扩展节点服务器A分配的预设节点服务器A1的分区规则也为哈希分区,预设节点服务器A1的映射值也为[2,3,4,6]。
步骤S13:发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,数据库操作请求与分区规则和映射值相关联。
在为待扩展节点服务器分配预设节点服务器后,向待扩展节点服务器和预设节点服务器发送相同的数据库操作请求,以使待扩展节点服务器和预设节点服务器接收并处理相同的数据库操作请求。
在本实施例中,向待扩展节点服务器和预设节点服务区发送相同的数据库操作请求,使得待扩展节点服务器和预设节点服务器可以都处理该数据库操作请求,保证能够正确处理该数据库操作请求,以保证正确处理待扩展节点服务器和预设节点服务器中映射值对应的数据,实现扩展分布式数据库系统的目的。
现举例对发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,保证能够正确处理该数据库操作请求进行说明。例如,待扩展节点服务器A的分区规则为哈希分区,映射值为哈希值[2,3,4,6],为待扩展节点服务器A分配的预设节点服务器A1的分区规则为哈希分区,映射值为[2,3,4,6]。其中,待扩展节点服务器A中哈希值为2的数据为a,预设节点服务器A1中哈希值为2的数据为e。
现有一个数据库操作请求1为查询哈希值为2的数据,则把数据库操作请求1发送至待扩展节点服务器A和预设节点服务器A1,待扩展节点服务器A在接收到数据库操作请求1后,对数据库操作请求1进行处理,获取到数据a,预设节点服务器A1在接收到数据库操作请求1后,对数据库操作请求1进行处理,获取到数据e。最后,查询的结果为数据a和 数据e。由此可见,待扩展节点服务器A和预设节点服务器A1由于接收并处理了相同的数据库操作请求1,因此获取到数据a和数据e,查询到了所有哈希值为2的数据,正确处理了数据库操作请求1,得到了正确的结果。
在本实施例中,现举例对数据库操作请求与分区规则和映射值相关联进行说明。例如:一个数据库操作请求若为:Update person set age=18where name=kite,name是分区列,数据库分区采用的是哈希分区规则,将哈希值为2的name存储在节点服务器A上,将哈希值为3、4的name存储在节点服务器B上。在kite的哈希值为2时,节点服务器A就会执行Update person set age=18where name=kite。由上可见,数据库操作请求与分区规则和映射值关联。
在本实施例中,数据库操作请求包括:插入数据库操作请求;或,修改数据库操作请求;或,删除数据库操作请求;或,查询数据库操作请求。
其中,插入数据库操作请求为插入新数据至节点服务器。修改数据库操作请求为对节点服务器中的某些数据进行修改。删除数据库操作请求为对节点服务器中的某些数据进行删除。查询数据库操作请求为对节点服务器中的某些数据进行查询。
在本申请中,在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。
由于给待扩展节点服务器分配一个与其分区规则和映射值相同的预设节点服务器,因此在分布式数据库系统中增加了一个与待扩展节点服务器完全相同,但存储量为零或未满的节点服务器,同时要求待扩展节点服务器和预设节点服务器接收并处理相同的数据操作请求,以保证能够正确处理数据库操作请求和数据库操作请求对应的数据,实现了扩展 分布式数据库系统的目的。由于在本申请中,增加节点服务器后并未对待扩展节点服务器上的数据进行迁移,即实现了对分布式数据库系统的扩展,因此解决了现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题。
另一个实施例
在本实施例中,示出的是在数据库操作请求为删除数据库操作请求的情况下,待扩展节点服务器和预设节点服务器接收并处理相同的数据库操作请求的具体过程,请参见图2,图2示出的是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的一种子流程图,可以包括以下步骤:
步骤S21:所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求。
步骤S22:所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。
步骤S23:所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。
在本实施例中,待扩展节点服务器和预设节点服务器分别对各自存储有删除数据库操作请求对应的数据进行删除,以保证删除删除数据库操作请求对应的所有数据,而不是删除部分数据。
再一个实施例
在本实施例中,示出的是在数据库操作请求为修改数据库操作请求的情况下,待扩展节点服务器和预设节点服务器接收并处理相同的数据库操作请求的具体过程,请参见图3,图3示出的是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的另一种子流程图,可以包括以下步骤:
步骤S31:所述待扩展节点服务器和所述预设节点服务器分别接收相同的修改数据库操作请求。
步骤S32:所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。
步骤S33:所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。
在本实施例中,待扩展节点服务器和预设节点服务器分别对各自存储有修改数据库操作请求对应的数据进行修改,以保证修改修改数据库操作请求对应的所有数据,而不是修改部分数据。
再一个实施例
在本实施例中,示出的是在数据库操作请求为查询数据库操作请求的情况下,待扩展节点服务器和预设节点服务器接收并处理相同的数据库操作请求的具体过程,请参见图4,图4示出的是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的再一种子流程图,可以包括以下步骤:
步骤S41:所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求。
步骤S42:所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。
步骤S43:所述预设节点服务器查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。
在本实施例中,待扩展节点服务器和预设节点服务器分别在各自存储的数据中对查询数据库操作请求对应的数据进行查询,以保证查询到查询数据库操作请求对应的所有数据,而不是查询到部分数据。
在上述方法步骤中,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器的一种实现方式可以为:在不同时刻,发送相同的数据库操作请求至待扩展节点服务器和预设节点服务器。当然,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器的另一种实现方式可以为:在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。
再一个实施例
在本实施例中,在图1所示的一种基于关系型数据库的分布式数据库扩展方法的基础上扩展出另一种基于关系型数据库的分布式数据库扩展 方法,具体过程请参见图5。其中图5为本申请提供的一种基于关系型数据库的分布式数据库扩展方法的另一种流程图,可以包括以下步骤:
步骤S51:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器。
步骤S52:为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器。
步骤S51和步骤S52与图1示出的基于关系型数据库的分布式数据库扩展方法中的步骤S11和步骤S12相同,在此不再赘述。
步骤S53:在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联。
在本实施例中,在判断结果为插入数据库操作请求对应的数据不为要求满足唯一性原则的数据的情况下,执行步骤S54,在判断结果为插入数据库操作请求对应的数据为要求满足唯一性原则的数据的情况下,执行步骤S55。
步骤S54:发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
在本实施例中,预设节点服务器在接收到插入数据库操作请求后,存储插入数据库操作请求对应的数据。
步骤S55:判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据。
在判断结果为待扩展节点服务器存储有插入数据库操作请求对应的数据的情况下,执行步骤S56,在判断结果为待扩展节点服务器未存储有插入数据库操作请求对应的数据的情况下,执行步骤S57。
步骤S56:不发送所述插入数据库操作请求至所述预设节点服务器。
步骤S57:发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
在本实施例中,预设节点服务器在接收到插入数据库操作请求后,存储插入数据库操作请求对应的数据。
步骤S58:发送相同的数据库操作请求至所述待扩展节点服务器和所述 预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。
步骤S58与图1示出的基于关系型数据库的分布式数据库扩展方法中的步骤S13相同,在此不再赘述。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述方法实施例相对应,本申请提供了一种基于关系型数据库的分布式数据库扩展系统的一种结构示意图,请参见图6,基于关系型数据库的分布式数据库扩展系统包括:确定器61、分配器62、第一发送器63、待扩展节点服务器64和预设节点服务器65,其中:
确定器61,用于在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器。
分配器62,用于为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满。
第一发送器63,用于发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。
待扩展节点服务器64,用于接收并处理所述第一发送器63发送的数据库操作请求。
预设节点服务器65,用于接收并处理所述第一发送器63发送的数据库操作请求。
在第一发送器63发送的数据库操作请求为删除数据库操作请求的情况 下,待扩展节点服务器64和预设节点服务器65各自接收并处理所述第一发送器63发送的数据库操作请求的具体过程可以为:
待扩展节点服务器64和预设节点服务器65分别接收相同的删除数据库操作请求;
待扩展节点服务器64在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据;
预设节点服务器65在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。
在第一发送器63发送的数据库操作请求为修改数据库操作请求的情况下,待扩展节点服务器64和预设节点服务器65各自接收并处理所述第一发送器63发送的数据库操作请求的具体过程可以为:
待扩展节点服务器64和所述预设节点服务器65分别接收相同的修改数据库操作请求;
待扩展节点服务器64在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据;
预设节点服务器65在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。
在第一发送器63发送的数据库操作请求为查询数据库操作请求的情况下,待扩展节点服务器64和预设节点服务器65各自接收并处理所述第一发送器63发送的数据库操作请求的具体过程可以为:
待扩展节点服务器64和预设节点服务器65分别接收相同的查询数据库操作请求;
待扩展节点服务器64在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据;
预设节点服务器65查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。
在上述基于关系型数据库的分布式数据库扩展系统中,第一发送器63可以包括:第二发送器,用于在同一时刻,发送相同的数据库操作请求至待扩展节点服务器64和预设节点服务器65。
当然,第一发送器63也可以包括除第二发送器之外的发送器,用于在不同时刻,发送相同的数据库操作请求至待扩展节点服务器64和预设节点服务器65。
另一个实施例
在本实施例中,在图6所示的一种基于关系型数据库的分布式数据库扩展系统的基础上扩展出另一种基于关系型数据库的分布式数据库扩展系统,具体构成请参见图7。其中图7为本申请提供的一种基于关系型数据库的分布式数据库扩展系统的另一种结构示意图,在图7所示的一种基于关系型数据库的分布式数据库扩展系统的基础上还包括:第一判断器71、第三发送器72、第二判断器73和第四发送器74。
第一判断器71,用于在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联,若否,执行第三发送器72,若是,执行第二判断器73。
第三发送器72,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
第二判断器73,用于判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据,若是,不发送所述插入数据库操作请求至所述预设节点服务器,若否,执行第四发送器74。
第四发送器74,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺 序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种基于关系型数据库的分布式数据库扩展方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

一种基于关系型数据库的分布式数据库扩展方法及系统.pdf_第1页
第1页 / 共17页
一种基于关系型数据库的分布式数据库扩展方法及系统.pdf_第2页
第2页 / 共17页
一种基于关系型数据库的分布式数据库扩展方法及系统.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《一种基于关系型数据库的分布式数据库扩展方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于关系型数据库的分布式数据库扩展方法及系统.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103440345 A(43)申请公布日 2013.12.11CN103440345A*CN103440345A*(21)申请号 201310413927.3(22)申请日 2013.09.11G06F 17/30(2006.01)(71)申请人从兴技术有限公司地址 510000 广东省广州市广州大道南368号19楼(72)发明人陈百平 袁晓鹏(74)专利代理机构北京集佳知识产权代理有限公司 11227代理人王宝筠(54) 发明名称一种基于关系型数据库的分布式数据库扩展方法及系统(57) 摘要本申请提供了一种基于关系型数据库的分布式数据库扩展方法,包括:在节点服务器存。

2、储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。因此解决了现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题。(51)Int.Cl.权利要求书2页 说明书10页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请。

3、权利要求书2页 说明书10页 附图4页(10)申请公布号 CN 103440345 ACN 103440345 A1/2页21.一种基于关系型数据库的分布式数据库扩展方法,其特征在于,包括:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。。

4、2.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求;所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据;所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。3.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的修改数。

5、据库操作请求;所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据;所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。4.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求;所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据;所述预设节点服务器查询到存储有所述查询数据库操作请求。

6、对应的数据的情况下,获取所述查询数据库操作请求对应的数据。5.根据权利要求1所述的方法,其特征在于,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器包括:在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。6.根据权利要求1所述的方法,其特征在于,在为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器之后,还包括:在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值权 利 要 求 书CN 103440345 A2。

7、/2页3相关联;若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;若是,判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据;若是,不发送所述插入数据库操作请求至所述预设节点服务器;若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。7.根据权利要求1-6所述的方法,其特征在于,所述分区规则包括:哈希分区;或,列表分区;或,范围分区。8.一种基于关系型数据库的分布式数据库扩展系统,其特征在于,包括:确定器,用于在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;分配器,用于为所。

8、述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;第一发送器,用于发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联;所述待扩展节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求;所述预设节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求。9.根据权利要求8所述的系统,其特征在于,所述第一发送器包括:第二发送器,用于在同一时刻,发送相同的数据库。

9、操作请求至所述待扩展节点服务器和所述预设节点服务器。10.根据权利要求8所述的系统,其特征在于,还包括:第一判断器,用于在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联,若否,执行第三发送器,若是,执行第二判断器;第三发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;第二判断器,用于判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据,若是,不发送所述插入数据库操作请求至所述预设节点服务器,若否,执行第四发送器;第四发送器。

10、,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。权 利 要 求 书CN 103440345 A1/10页4一种基于关系型数据库的分布式数据库扩展方法及系统技术领域0001 本申请涉及数据库扩展领域,特别涉及一种基于关系型数据库的分布式数据库扩展方法及系统。背景技术0002 分布式数据库是数据分存在计算机网络中的各台计算机上的数据库。目前主要常用的为基于关系型数据库的分布式数据库,该分布式数据库采用表分区技术,将一个较大数据库表内的记录,按一定的分区规则分别存放在各个节点服务器(计算机)上。0003 当某个节点服务器上存储的数据流过大,基于关系型数据。

11、库的分布式数据库需要扩展时,就需要对分区规则重新调整。但在对分区规则重新调整后,需要将相应节点服务器上的部分映射值迁移至相应新增的节点服务器中,同时与迁移的部分映射值对应的数据也迁移至相应新增的节点服务器中。而在进行数据迁移时,由于迁移的数据量大,因此占用过多的磁盘IO和CPU资源,从而影响基于关系型数据库的分布式数据库的正常运行。0004 由上可见,目前对基于关系型数据库的分布式数据库进行扩展时,存在需要对数据进行迁移,从而占用过多的磁盘IO和CPU资源,影响基于关系型数据库的分布式数据库正常运行的缺点。发明内容0005 为解决上述技术问题,本申请提供一种基于关系型数据库的分布式数据库扩展方。

12、法,以达到解决现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题的目的,技术方案如下:0006 一种基于关系型数据库的分布式数据库扩展方法,包括:0007 在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;0008 为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;0009 发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映。

13、射值相关联。0010 优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:0011 所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求;0012 所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据;0013 所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。说 明 书CN 103440345 A2/10页50014 优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:0015 所述待。

14、扩展节点服务器和所述预设节点服务器分别接收相同的修改数据库操作请求;0016 所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据;0017 所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。0018 优选的,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:0019 所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求;0020 所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操。

15、作请求对应的数据;0021 所述预设节点服务器查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。0022 优选的,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器包括:0023 在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。0024 优选的,在为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器之后,还包括:0025 在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映。

16、射值相关联;0026 若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;0027 若是,判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据;0028 若是,不发送所述插入数据库操作请求至所述预设节点服务器;0029 若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。0030 优选的,所述分区规则包括:0031 哈希分区;或,列表分区;或,范围分区。0032 一种基于关系型数据库的分布式数据库扩展系统,包括:0033 确定器,用于在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服。

17、务器;0034 分配器,用于为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未说 明 书CN 103440345 A3/10页6满;0035 第一发送器,用于发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联;0036 所述待扩展节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求;0037 所述预设节点服务器,用于接收并处理所述第一发送器发送的数据库操作。

18、请求。0038 优选的,所述第一发送器包括:0039 第二发送器,用于在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。0040 优选的,还包括:0041 第一判断器,用于在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联,若否,执行第三发送器,若是,执行第二判断器;0042 第三发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;0043 第二判断器,用于判断所述待扩展节点服务器是否存储有所述插入数据库操作请。

19、求对应的数据,若是,不发送所述插入数据库操作请求至所述预设节点服务器,若否,执行第四发送器;0044 第四发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。0045 与现有技术相比,本申请的有益效果为:0046 在本申请中,在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并。

20、处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。0047 由于给待扩展节点服务器分配一个与其分区规则和映射值相同的预设节点服务器,因此在分布式数据库系统中增加了一个与待扩展节点服务器完全相同,但存储量为零或未满的节点服务器,同时要求待扩展节点服务器和预设节点服务器接收并处理相同的数据操作请求,以保证能够正确处理数据库操作请求和数据库操作请求对应的数据,实现了扩展分布式数据库系统的目的。由于在本申请中,增加节点服务器后并未对待扩展节点服务器上的数据进行迁移,即实现了对分布式数据库系统的扩展,因此解决了现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系。

21、统正常运行的问题。附图说明0048 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于说 明 书CN 103440345 A4/10页7本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0049 图1是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的一种流程图;0050 图2是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的一种子流程图;0051 图3是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的另一种子流程图;0052 图4是本。

22、申请提供的一种基于关系型数据库的分布式数据库扩展方法的再一种子流程图;0053 图5是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的另一种流程图;0054 图6是本申请提供的一种基于关系型数据库的分布式数据库扩展系统的一种结构示意图;0055 图7是本申请提供的一种基于关系型数据库的分布式数据库扩展系统的另一种结构示意图。具体实施方式0056 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本。

23、申请保护的范围。0057 本申请提供一种基于关系型数据库的分布式数据库扩展方法,首先,在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;其次,为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;最后,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。以下将列举实施例对本申请提供的一种基于关系型数据库的分布式数据库扩展方法进行详细说明。005。

24、8 一个实施例0059 请参见图1,其示出了本申请提供的一种基于关系型数据库的分布式数据库扩展方法的一种流程图,可以包括以下步骤:0060 步骤S11:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器。0061 在本实施例中,在节点服务器存储满数据的情况下,将存储满数据的节点服务器作为待扩展节点服务器。待扩展节点服务器的存储已满,不能再存储新的数据。0062 步骤S12:为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器。说 明 书CN 103440345 A5/10页80063 在本实施例中,预设节点服务器的当前存储量为零或未满。0。

25、064 在本实施例中,待扩展节点服务器的分区规则包括:哈希分区;或,列表分区;或,范围分区。0065 其中,预设节点服务器的分区规则和映射值与待扩展节点服务器的分区规则和映射值相同。例如,待扩展节点服务器A的分区规则为哈希分区,映射值为哈希值2,3,4,6,则为待扩展节点服务器A分配的预设节点服务器A1的分区规则也为哈希分区,预设节点服务器A1的映射值也为2,3,4,6。0066 步骤S13:发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,数据库操作请求与分区规则和映射值相关联。0067 在为。

26、待扩展节点服务器分配预设节点服务器后,向待扩展节点服务器和预设节点服务器发送相同的数据库操作请求,以使待扩展节点服务器和预设节点服务器接收并处理相同的数据库操作请求。0068 在本实施例中,向待扩展节点服务器和预设节点服务区发送相同的数据库操作请求,使得待扩展节点服务器和预设节点服务器可以都处理该数据库操作请求,保证能够正确处理该数据库操作请求,以保证正确处理待扩展节点服务器和预设节点服务器中映射值对应的数据,实现扩展分布式数据库系统的目的。0069 现举例对发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操。

27、作请求,保证能够正确处理该数据库操作请求进行说明。例如,待扩展节点服务器A的分区规则为哈希分区,映射值为哈希值2,3,4,6,为待扩展节点服务器A分配的预设节点服务器A1的分区规则为哈希分区,映射值为2,3,4,6。其中,待扩展节点服务器A中哈希值为2的数据为a,预设节点服务器A1中哈希值为2的数据为e。0070 现有一个数据库操作请求1为查询哈希值为2的数据,则把数据库操作请求1发送至待扩展节点服务器A和预设节点服务器A1,待扩展节点服务器A在接收到数据库操作请求1后,对数据库操作请求1进行处理,获取到数据a,预设节点服务器A1在接收到数据库操作请求1后,对数据库操作请求1进行处理,获取到数。

28、据e。最后,查询的结果为数据a和数据e。由此可见,待扩展节点服务器A和预设节点服务器A1由于接收并处理了相同的数据库操作请求1,因此获取到数据a和数据e,查询到了所有哈希值为2的数据,正确处理了数据库操作请求1,得到了正确的结果。0071 在本实施例中,现举例对数据库操作请求与分区规则和映射值相关联进行说明。例如:一个数据库操作请求若为:Update person set age=18where name=kite,name是分区列,数据库分区采用的是哈希分区规则,将哈希值为2的name存储在节点服务器A上,将哈希值为3、4的name存储在节点服务器B上。在kite的哈希值为2时,节点服务器A。

29、就会执行Update person set age=18where name=kite。由上可见,数据库操作请求与分区规则和映射值关联。0072 在本实施例中,数据库操作请求包括:插入数据库操作请求;或,修改数据库操作请求;或,删除数据库操作请求;或,查询数据库操作请求。0073 其中,插入数据库操作请求为插入新数据至节点服务器。修改数据库操作请求为说 明 书CN 103440345 A6/10页9对节点服务器中的某些数据进行修改。删除数据库操作请求为对节点服务器中的某些数据进行删除。查询数据库操作请求为对节点服务器中的某些数据进行查询。0074 在本申请中,在节点服务器存储满数据的情况下,确。

30、定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。0075 由于给待扩展节点服务器分配一个与其分区规则和映射值相同的预设节点服务器,因此在分布式数据库系统中增加了一个与待扩展节点服务器完全相同,但存储量为零或未满的节点服务器,同时要求待扩展节点服务器和预设节点服务器接收并处。

31、理相同的数据操作请求,以保证能够正确处理数据库操作请求和数据库操作请求对应的数据,实现了扩展分布式数据库系统的目的。由于在本申请中,增加节点服务器后并未对待扩展节点服务器上的数据进行迁移,即实现了对分布式数据库系统的扩展,因此解决了现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题。0076 另一个实施例0077 在本实施例中,示出的是在数据库操作请求为删除数据库操作请求的情况下,待扩展节点服务器和预设节点服务器接收并处理相同的数据库操作请求的具体过程,请参见图2,图2示出的是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的一种子流程图,可以包括以下步骤:00。

32、78 步骤S21:所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求。0079 步骤S22:所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。0080 步骤S23:所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。0081 在本实施例中,待扩展节点服务器和预设节点服务器分别对各自存储有删除数据库操作请求对应的数据进行删除,以保证删除删除数据库操作请求对应的所有数据,而不是删除部分数据。0082 再一个实施例0083 在本实施例中,示出的是在数据库操。

33、作请求为修改数据库操作请求的情况下,待扩展节点服务器和预设节点服务器接收并处理相同的数据库操作请求的具体过程,请参见图3,图3示出的是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的另一种子流程图,可以包括以下步骤:0084 步骤S31:所述待扩展节点服务器和所述预设节点服务器分别接收相同的修改数据库操作请求。0085 步骤S32:所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。0086 步骤S33:所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的说 明 书CN 103440345 A7/10页10数据的情况。

34、下,修改所述修改数据库操作请求对应的数据。0087 在本实施例中,待扩展节点服务器和预设节点服务器分别对各自存储有修改数据库操作请求对应的数据进行修改,以保证修改修改数据库操作请求对应的所有数据,而不是修改部分数据。0088 再一个实施例0089 在本实施例中,示出的是在数据库操作请求为查询数据库操作请求的情况下,待扩展节点服务器和预设节点服务器接收并处理相同的数据库操作请求的具体过程,请参见图4,图4示出的是本申请提供的一种基于关系型数据库的分布式数据库扩展方法的再一种子流程图,可以包括以下步骤:0090 步骤S41:所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求。。

35、0091 步骤S42:所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。0092 步骤S43:所述预设节点服务器查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。0093 在本实施例中,待扩展节点服务器和预设节点服务器分别在各自存储的数据中对查询数据库操作请求对应的数据进行查询,以保证查询到查询数据库操作请求对应的所有数据,而不是查询到部分数据。0094 在上述方法步骤中,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器的一种实现方式可以为:在不同时刻,发送相同的数据库操。

36、作请求至待扩展节点服务器和预设节点服务器。当然,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器的另一种实现方式可以为:在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。0095 再一个实施例0096 在本实施例中,在图1所示的一种基于关系型数据库的分布式数据库扩展方法的基础上扩展出另一种基于关系型数据库的分布式数据库扩展方法,具体过程请参见图5。其中图5为本申请提供的一种基于关系型数据库的分布式数据库扩展方法的另一种流程图,可以包括以下步骤:0097 步骤S51:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器。0098 步。

37、骤S52:为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器。0099 步骤S51和步骤S52与图1示出的基于关系型数据库的分布式数据库扩展方法中的步骤S11和步骤S12相同,在此不再赘述。0100 步骤S53:在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联。0101 在本实施例中,在判断结果为插入数据库操作请求对应的数据不为要求满足唯一性原则的数据的情况下,执行步骤S54,在判断结果为插入数据库操作请求对应的数据为要说 明 书CN 103440345 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1