CN103440345B - 一种基于关系型数据库的分布式数据库扩展方法及系统 - Google Patents
一种基于关系型数据库的分布式数据库扩展方法及系统 Download PDFInfo
- Publication number
- CN103440345B CN103440345B CN201310413927.3A CN201310413927A CN103440345B CN 103440345 B CN103440345 B CN 103440345B CN 201310413927 A CN201310413927 A CN 201310413927A CN 103440345 B CN103440345 B CN 103440345B
- Authority
- CN
- China
- Prior art keywords
- node server
- database manipulation
- treat
- request
- corresponding data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于关系型数据库的分布式数据库扩展方法,包括:在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。因此解决了现有技术中占用过多的磁盘IO和CPU资源,影响分布式数据库系统正常运行的问题。
Description
技术领域
本申请涉及数据库扩展领域,特别涉及一种基于关系型数据库的分布式数据库扩展方法及系统。
背景技术
分布式数据库是数据分存在计算机网络中的各台计算机上的数据库。目前主要常用的为基于关系型数据库的分布式数据库,该分布式数据库采用表分区技术,将一个较大数据库表内的记录,按一定的分区规则分别存放在各个节点服务器(计算机)上。
当某个节点服务器上存储的数据流过大,基于关系型数据库的分布式数据库需要扩展时,就需要对分区规则重新调整。但在对分区规则重新调整后,需要将相应节点服务器上的部分映射值迁移至相应新增的节点服务器中,同时与迁移的部分映射值对应的数据也迁移至相应新增的节点服务器中。而在进行数据迁移时,由于迁移的数据量大,因此占用过多的磁盘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,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种基于关系型数据库的分布式数据库扩展方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于关系型数据库的分布式数据库扩展方法,其特征在于,包括:
在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;
为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;
发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联。
2.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的删除数据库操作请求;
所述待扩展节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据;
所述预设节点服务器在查询到存储有所述删除数据库操作请求对应的数据的情况下,删除所述删除数据库操作请求对应的数据。
3.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的修改数据库操作请求;
所述待扩展节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据;
所述预设节点服务器在查询到存储有所述修改数据库操作请求对应的数据的情况下,修改所述修改数据库操作请求对应的数据。
4.根据权利要求1所述的方法,其特征在于,所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,包括:
所述待扩展节点服务器和所述预设节点服务器分别接收相同的查询数据库操作请求;
所述待扩展节点服务器在查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据;
所述预设节点服务器查询到存储有所述查询数据库操作请求对应的数据的情况下,获取所述查询数据库操作请求对应的数据。
5.根据权利要求1所述的方法,其特征在于,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器包括:
在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。
6.根据权利要求1所述的方法,其特征在于,在为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器之后,还包括:
在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联;
若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;
若是,判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据;
若是,不发送所述插入数据库操作请求至所述预设节点服务器;
若否,发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述分区规则包括:
哈希分区;或,列表分区;或,范围分区。
8.一种基于关系型数据库的分布式数据库扩展系统,其特征在于,包括:
确定器,用于在节点服务器存储满数据的情况下,确定所述节点服务器为待扩展节点服务器;
分配器,用于为所述待扩展节点服务器分配一个与所述待扩展节点服务器的分区规则和映射值相同的预设节点服务器,其中,所述预设节点服务器当前存储量为零或未满;
第一发送器,用于发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器,以使所述待扩展节点服务器和所述预设节点服务器接收并处理相同的数据库操作请求,其中,所述数据库操作请求与所述分区规则和所述映射值相关联;
所述待扩展节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求;
所述预设节点服务器,用于接收并处理所述第一发送器发送的数据库操作请求。
9.根据权利要求8所述的系统,其特征在于,所述第一发送器包括:
第二发送器,用于在同一时刻,发送相同的数据库操作请求至所述待扩展节点服务器和所述预设节点服务器。
10.根据权利要求8所述的系统,其特征在于,还包括:
第一判断器,用于在发送插入数据库操作请求之前,判断所述插入数据库操作请求对应的数据是否为要求满足唯一性原则的数据,其中,所述插入数据库操作请求与所述分区规则和所述映射值相关联,若否,执行第三发送器,若是,执行第二判断器;
第三发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据;
第二判断器,用于判断所述待扩展节点服务器是否存储有所述插入数据库操作请求对应的数据,若是,不发送所述插入数据库操作请求至所述预设节点服务器,若否,执行第四发送器;
第四发送器,用于发送所述插入数据库操作请求至所述预设节点服务器,以存储所述插入数据库操作请求对应的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310413927.3A CN103440345B (zh) | 2013-09-11 | 2013-09-11 | 一种基于关系型数据库的分布式数据库扩展方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310413927.3A CN103440345B (zh) | 2013-09-11 | 2013-09-11 | 一种基于关系型数据库的分布式数据库扩展方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103440345A CN103440345A (zh) | 2013-12-11 |
CN103440345B true CN103440345B (zh) | 2017-01-25 |
Family
ID=49694038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310413927.3A Active CN103440345B (zh) | 2013-09-11 | 2013-09-11 | 一种基于关系型数据库的分布式数据库扩展方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103440345B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2521197A (en) | 2013-12-13 | 2015-06-17 | Ibm | Incremental and collocated redistribution for expansion of an online shared nothing database |
CN107220259A (zh) * | 2016-03-22 | 2017-09-29 | 北京京东尚科信息技术有限公司 | 一种数据库扩展系统、设备和用于扩展数据库的方法 |
CN105930390B (zh) * | 2016-04-14 | 2020-03-06 | 北京三快在线科技有限公司 | 关系型数据库扩展方法及关系型数据库扩展系统 |
CN107943412B (zh) * | 2016-10-12 | 2021-10-22 | 阿里巴巴集团控股有限公司 | 一种分区分裂、删除分区中数据文件的方法、装置及系统 |
CN107665246B (zh) * | 2017-09-13 | 2021-03-30 | 北京知道未来信息技术有限公司 | 基于图数据库的动态数据迁移方法及图数据库集群 |
CN107862090A (zh) * | 2017-12-04 | 2018-03-30 | 中企动力科技股份有限公司 | 数据库的水平扩展方法及装置 |
CN109933421A (zh) * | 2017-12-18 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 一种分布式数据处理的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299198A (zh) * | 2008-06-13 | 2008-11-05 | 南京邮电大学 | 一种动态自适应的网格数据迁移方法 |
CN102170474A (zh) * | 2011-04-22 | 2011-08-31 | 广州杰赛科技股份有限公司 | 一种云计算网络中虚拟资源动态调度方法及系统 |
CN102725739A (zh) * | 2009-05-18 | 2012-10-10 | 西山修平 | 虚拟单一存储装置上的元信息共享型分布式数据库系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8402119B2 (en) * | 2010-09-30 | 2013-03-19 | Microsoft Corporation | Real-load tuning of database applications |
-
2013
- 2013-09-11 CN CN201310413927.3A patent/CN103440345B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299198A (zh) * | 2008-06-13 | 2008-11-05 | 南京邮电大学 | 一种动态自适应的网格数据迁移方法 |
CN102725739A (zh) * | 2009-05-18 | 2012-10-10 | 西山修平 | 虚拟单一存储装置上的元信息共享型分布式数据库系统 |
CN102170474A (zh) * | 2011-04-22 | 2011-08-31 | 广州杰赛科技股份有限公司 | 一种云计算网络中虚拟资源动态调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103440345A (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440345B (zh) | 一种基于关系型数据库的分布式数据库扩展方法及系统 | |
US10191671B2 (en) | Common users, common roles, and commonly granted privileges and roles in container databases | |
EP2715971B1 (en) | Automating cloud service reconnections | |
CN108984639B (zh) | 服务器集群的数据处理方法和装置 | |
US20100030995A1 (en) | Method and apparatus for applying database partitioning in a multi-tenancy scenario | |
CN104601680B (zh) | 一种资源管理方法及装置 | |
US10191909B2 (en) | File system creating and deleting apparatus and driving method thereof | |
CN105991769B (zh) | 数据迁移方法及装置、边缘节点服务器 | |
CN103559319B (zh) | 分布式集群文件系统的缓存同步方法和设备 | |
CN106503091A (zh) | 一种可变数据结构自动同步匹配的实现方法 | |
CN110727738B (zh) | 基于数据分片的全局路由系统、电子设备及存储介质 | |
WO2022134797A1 (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN104125294B (zh) | 一种大数据安全管理方法和系统 | |
CN106933891A (zh) | 访问分布式数据库的方法和分布式数据服务的装置 | |
CN109684270A (zh) | 数据库归档方法、装置、系统、设备及可读存储介质 | |
US20190324877A1 (en) | Method to Efficiently and Reliably Process Ordered User Account Events in a Cluster | |
CN106815318A (zh) | 一种时序数据库的集群化方法及系统 | |
CN105978744A (zh) | 一种资源分配方法、装置及系统 | |
CN107038174A (zh) | 用于数据系统的数据同步方法和装置 | |
CN114205354B (zh) | 事件管理系统、事件管理方法、服务器及存储介质 | |
CN106294445A (zh) | 基于跨机房Hadoop集群的数据存储的方法及装置 | |
US20190155790A1 (en) | Event-based synchronization in a file sharing environment | |
CN107277126A (zh) | 一种云计算资源管理方法及装置 | |
US10803021B2 (en) | Dynamic reprioritization of content download during synchronization | |
CN104902022B (zh) | 一种分布式文件获取方法和分布式文件获取系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |