CN109408590A - 分布式数据库的扩容方法、装置、设备及存储介质 - Google Patents
分布式数据库的扩容方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109408590A CN109408590A CN201811131341.7A CN201811131341A CN109408590A CN 109408590 A CN109408590 A CN 109408590A CN 201811131341 A CN201811131341 A CN 201811131341A CN 109408590 A CN109408590 A CN 109408590A
- Authority
- CN
- China
- Prior art keywords
- dilatation
- original storage
- storage node
- node
- routing
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种分布式数据库的扩容方法、装置、设备及存储介质,所述方法包括:获取包括扩容指示信息的扩容配置指令,其中,所述扩容指示信息用于指示至少一个扩容存储节点的信息;进一步地,根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据,并分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。可见,本申请实施例中可以复用原始存储节点,仅需要将每个所述原始存储节点中的部分数据,迁移至所述至少一个扩容存储节点,从而可以提高资源利用率,还可以提高扩容效率。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种分布式数据库的扩容方法、装置、设备及存储介质。
背景技术
随着云时代和移动互联网的兴起,产生了规模庞大的网络行为数据。传统的单节点数据库已经难以满足海量数据的存储,分布式数据库应运而生。
为了满足高爆发的海量数据的存储,分布式数据库的扩容性尤为重要。相关技术中,通过创建新分布式数据库,并将原始分布式数据库中的数据按照新路由策略导入到新分布式数据库中,以完成数据扩容;其中,新分布式数据库中的存储节点个数大于原始分布式数据库中的存储节点个数。
但相关技术中,无法复用原始分布式数据库中的存储节点,需要将原始分布式数据库中的数据全部迁移到新分布式数据库,从而导致资源冗余利用,并且扩容效率低。
发明内容
本申请实施例提供一种分布式数据库的扩容方法、装置、设备及存储介质,解决了相关技术中资源冗余利用以及扩容效率低的问题。
第一方面,本申请实施例提供一种分布式数据库的扩容方法,包括:
获取扩容配置指令;其中,所述扩容配置指令中包括扩容指示信息,所述扩容指示信息用于指示至少一个扩容存储节点的信息;
根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据;
分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。
在一种可能的实现方式中,所述扩容指示信息包括所述扩容存储节点的个数,所述当前路由信息包括:当前路由模数、所述原始存储节点的个数和每个所述原始存储节点对应的第一路由区间,所述根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的数据迁移,包括:
根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度和扩容倍数;
分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,确定扩容后每个所述原始存储节点对应的第二路由区间;
分别根据所述迁移区间长度和每个所述原始存储节点对应的第二路由区间,确定每个所述原始存储节点对应的迁移数据。
在一种可能的实现方式中,所述根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度和扩容倍数,包括:
根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的路由模数;
根据所述扩容后的路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定所述迁移区间长度;
根据所述扩容后的路由模数和所述当前路由模数,确定所述扩容倍数。
在一种可能的实现方式中,所述根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的路由模数,包括:
根据所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的存储节点的总数;
确定所述当前路由模数与所述扩容后的存储节点的总数的最小公倍数为所述扩容后的路由模数。
在一种可能的实现方式中,所述根据所述扩容后的路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度,包括:
根据所述原始存储节点的个数和所述扩容存储节点的个数,确定比例差值;其中,所述比例差值是指扩容前的每个存储节点的平均数据量占总数据量的第一比例与扩容后的每个存储节点的平均数据量占总数据量的第二比例之间的差值;
根据所述扩容后的路由模数和所述比例差值,确定所述迁移区间长度。
在一种可能的实现方式中,所述根据所述扩容后的路由模数和所述当前路由模数,确定扩容倍数,包括:
确定所述扩容后的路由模数与所述当前路由模数的商值为所述扩容倍数。
在一种可能的实现方式中,所述分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,确定扩容后每个所述原始存储节点对应的第二路由区间,包括:
根据第i个原始存储节点对应的第一路由区间中的起始值和所述扩容倍数,确定扩容后所述第i个原始存储节点对应的第二路由区间中的起始值;
根据所述第i个原始存储节点对应的第一路由区间中的终止值和所述扩容倍数,确定扩容后所述第i个原始存储节点对应的第二路由区间中的终止值;
其中,所述i为取遍不大于所述原始存储节点的总数的正整数。
在一种可能的实现方式中,所述分别根据所述迁移区间长度和每个所述原始存储节点对应的第二路由区间,确定每个所述原始存储节点对应的迁移数据,包括:
根据所述迁移区间长度以及第j个原始存储节点对应的第二路由区间中的起始值和/或终止值,确定所述第j个原始存储节点对应的迁移数据;
其中,所述j为取遍不大于所述原始存储节点的总数的正整数。
在一种可能的实现方式中,所述分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点,包括:
分别将每个所述原始存储节点中的迁移数据,均匀地迁移至所述至少一个扩容存储节点。
在一种可能的实现方式中,所述方法,还包括:
根据扩容后的路由模数、扩容后的存储节点的总数、扩容后每个所述原始存储节点对应的第二路由区间以及每个所述扩容存储节点对应的第三路由区间,生成扩容后的路由信息。
在一种可能的实现方式中,所述根据扩容后的路由模数、扩容后的存储节点的总数、扩容后每个所述原始存储节点对应的第二路由区间以及每个所述扩容存储节点对应的第三路由区间,生成扩容后的路由信息之前,还包括:
确定每个所述扩容存储节点对应的第三路由区间。
在一种可能的实现方式中,所述方法,还包括:
接收读写指令;其中,所述读写指令中包括数据标识;
根据所述扩容后的路由信息以及所述数据标识,确定目标存储节点;
访问所述目标存储节点进行读写操作。
第二方面,本申请实施例提供一种分布式数据库的扩容装置,包括:
获取模块,用于获取扩容配置指令;其中,所述扩容配置指令中包括扩容指示信息,所述扩容指示信息用于指示至少一个扩容存储节点的信息;
第一确定模块,用于根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据;
迁移模块,用于分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。
第三方面,本申请实施例提供一种分布式数据库的扩容设备,包括:存储器和处理器;其中,所述存储器用于存储可供所述处理器执行的计算机程序;
所述处理器用于执行所述计算机程序实现上述第一方面的任意实现方式所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面的任意实现方式所述的方法。
本申请实施例提供的分布式数据库的扩容方法、装置、设备及存储介质,通过获取包括扩容指示信息的扩容配置指令,其中,所述扩容指示信息用于指示至少一个扩容存储节点的信息;进一步地,根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据,并分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。可见,本申请实施例中可以复用原始存储节点,仅需要将每个所述原始存储节点中的部分数据,迁移至所述至少一个扩容存储节点,从而可以提高资源利用率,还可以提高扩容效率。
附图说明
图1为本申请一实施例提供的分布式数据库的扩容方法的流程示意图;
图2为本申请另一实施例提供的分布式数据库的扩容方法的流程示意图;
图3为本申请另一实施例提供的分布式数据库的扩容方法的流程示意图;
图4为本申请另一实施例提供的分布式数据库的扩容方法的流程示意图;
图5A为本申请实施例提供的分布式数据库的扩容架构示意图;
图5B为本申请另一实施例提供的分布式数据库的扩容方法的流程示意图;
图6为本申请一实施例提供的分布式数据库的扩容装置的结构示意图;
图7为本申请一实施例提供的分布式数据库的扩容设备的结构示意图。
具体实施方式
首先,对本申请实施例所涉及的应用场景和部分词汇进行介绍。
本申请实施例涉及的分布式数据库的扩容方法、装置、设备及存储介质可以应用于对分布式数据库进行扩容的应用场景中,实现了可以复用原始存储节点,仅需要将每个所述原始存储节点中的部分数据,迁移至至少一个扩容存储节点,从而可以提高资源利用率,还可以提高扩容效率。
本申请实施例提供的分布式数据库的扩容方法的执行主体可以为分布式数据库的扩容装置或分布式数据库的扩容设备(为了便于描述,本实施例中以执行主体为分布式数据库的扩容装置为例进行说明)。示例性地,该装置可以通过软件和/或硬件实现。
本申请实施例中涉及的原始存储节点是指分布式数据库在扩容之前所包括的存储节点。
本申请实施例中涉及的扩容存储节点是指分布式数据库在扩容后所包括的非原始存储节点(即分布式数据库在扩容后所包括的存储节点中除原始存储节点之外的存储节点)。
本申请实施例中涉及的扩容指示信息用于指示至少一个扩容存储节点的信息。示例性地,扩容指示信息可以包括扩容存储节点的个数(即扩容指示信息用于指示扩容存储节点的个数)。当然,扩容指示信息还可以用于指示至少一个扩容存储节点的其它信息(例如,地址信息和/或容量信息等),本申请实施例中对此并不作限制。
本申请实施例中涉及的分布式数据库的当前路由信息是指分布式数据库在扩容之前对应的路由信息,用于指示当前路由模数和/或各原始存储节点的信息。示例性地,当前路由信息可以包括:当前路由模数、原始存储节点的个数和每个原始存储节点对应的第一路由区间;当然,当前路由信息还可以包括其它信息(例如原始存储节点的地址信息等)。
本申请实施例中涉及的当前路由模数用于在分布式数据库扩容之前,确定某数据落入哪个存储节点时取模的系数。例如,假设当前路由模数为2、数据1对应的数据标识1为004和数据2对应的数据标识2为005,由于数据标识1对当前路由模数(如2)取模为0,则确定数据1对应存储节点1;由于数据标识2对当前路由模数(如2)取模为1,则确定数据2对应存储节点2。
本申请实施例中涉及的数据标识用于唯一标识数据。示例性地,数据标识可以为数据身份标识号码(Identity,ID),当然还可以为能唯一标识该数据的其它信息,本申请实施例中对此并不作限制。
本申请实施例中涉及的扩容后的路由模数用于在分布式数据库扩容之后,确定某数据落入哪个存储节点时取模的系数。
本申请实施例中涉及的原始存储节点对应的第一路由区间用于在分布式数据库扩容之前,确定某数据落入该原始存储节点时对应的取模结果判定区间。例如,假设当前路由模数为2、数据1对应的数据标识1为004和数据2对应的数据标识2为005,由于数据标识1对2取模为0,则确定数据1对应存储节点1(即存储节点1对应的第一路由区间是[0,0]);由于数据标识2对2取模为1,则确定数据2对应存储节点2(即存储节点2对应的第一路由区间是[1,1])。
本申请实施例中涉及的原始存储节点对应的第二路由区间用于在分布式数据库扩容之后,确定某数据落入该原始存储节点时对应的取模结果判定区间。
本申请实施例中涉及的扩容存储节点对应的第三路由区间用于在分布式数据库扩容之后,确定某数据落入该扩容存储节点时对应的取模结果判定区间。
本申请实施例中涉及的迁移区间长度是指对分布式数据库进行扩容过程中,每个原始存储节点对应的迁移数据区间的长度。
本申请实施例中涉及的任一原始存储节点对应的迁移数据区间是指对分布式数据库进行扩容过程中,该原始存储节点所需迁移的迁移数据对应的数据区间。
本申请实施例中涉及的任一原始存储节点对应的保留数据区间是指对分布式数据库进行扩容过程中,该原始存储节点无需迁移的保留数据对应的数据区间。
本申请实施例中涉及的扩容倍数是指扩容后的路由模数与当前路由模数的商值。示例性地,假设扩容后的路由模数为6以及当前路由模数为2,则扩容倍数为3。
本申请实施例提供的分布式数据库的扩容方法、装置、设备及存储介质,通过获取包括扩容指示信息的扩容配置指令,其中,所述扩容指示信息用于指示至少一个扩容存储节点的信息;进一步地,根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据,并分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。可见,本申请实施例中可以复用原始存储节点,仅需要将每个所述原始存储节点中的部分数据,迁移至所述至少一个扩容存储节点,从而解决了相关技术中资源冗余利用以及扩容效率低的问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请一实施例提供的分布式数据库的扩容方法的流程示意图。如图1所示,本申请实施例的方法可以包括:
步骤S101、获取扩容配置指令。
本步骤中,分布式数据库的扩容装置可以接收用户输入的扩容配置指令,或者接收其它装置发送的扩容配置指令;其中,所述扩容配置指令中可以包括扩容指示信息,所述扩容指示信息用于指示至少一个扩容存储节点的信息(例如包括但不限于以下至少一项:个数信息、地址信息或容量信息)。
步骤S102、根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据。
本步骤中,分布式数据库的扩容装置根据所述扩容指示信息(用于指示至少一个扩容存储节点的信息)和分布式数据库的当前路由信息(用于指示当前路由模数和/或各原始存储节点的信息),确定所述分布式数据库中的每个原始存储节点对应的迁移数据,以便于后续将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。
示例性地,若所述扩容指示信息包括所述扩容存储节点的个数,所述当前路由信息包括:当前路由模数、所述原始存储节点的个数和每个所述原始存储节点对应的第一路由区间,则分布式数据库的扩容装置可以根据所述扩容存储节点的个数、所述当前路由模数、所述原始存储节点的个数和每个所述原始存储节点对应的第一路由区间,确定所述分布式数据库中的每个原始存储节点对应的迁移数据。
步骤S103、分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。
本步骤中,分布式数据库的扩容装置分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。可见,相比相关技术中无法复用原始分布式数据库中的存储节点,需要将原始分布式数据库中的数据全部迁移到新分布式数据库,本申请实施例中可以复用原始存储节点,仅需要将每个所述原始存储节点中的部分数据,迁移至所述至少一个扩容存储节点,从而可以提高资源利用率,还可以提高扩容效率。
本申请实施例中,通过获取包括扩容指示信息的扩容配置指令,其中,所述扩容指示信息用于指示至少一个扩容存储节点的信息;进一步地,根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据,并分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。可见,本申请实施例中可以复用原始存储节点,仅需要将每个所述原始存储节点中的部分数据,迁移至所述至少一个扩容存储节点,从而可以提高资源利用率,还可以提高扩容效率。
图2为本申请另一实施例提供的分布式数据库的扩容方法的流程示意图。在上述实施例的基础上,本申请实施例中对上述步骤S102的具体可实现方式进行介绍。如图2所示,本实施例中的步骤S102可以包括:
步骤S102A、根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度和扩容倍数。
本申请实施例中,若所述扩容指示信息包括所述扩容存储节点的个数,所述当前路由信息包括:当前路由模数、所述原始存储节点的个数和每个所述原始存储节点对应的第一路由区间,则本步骤中,分布式数据库的扩容装置可以根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,分别确定迁移区间长度和扩容倍数。
可选地,分布式数据库的扩容装置根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的路由模数;进一步地,所述分布式数据库的扩容装置根据所述扩容后的路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定所述迁移区间长度;进一步地,所述分布式数据库的扩容装置根据所述扩容后的路由模数和所述当前路由模数,确定所述扩容倍数。
本申请下述实施例对“根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的路由模数”的可实现方式进行介绍。
示例性地,分布式数据库的扩容装置根据所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的存储节点的总数;例如,所述分布式数据库的扩容装置将所述原始存储节点的个数(如N)与所述扩容存储节点的个数(如X)之和,确定为所述扩容后的存储节点的总数(如N+X)。进一步地,所述分布式数据库的扩容装置确定所述当前路由模数(如SN)与所述扩容后的存储节点的总数(如N+X)的最小公倍数为所述扩容后的路由模数(如SN+X),使得根据所述扩容后的路由模数所确定的每个所述原始存储节点对应的迁移数据量尽可能地降至最低,从而仅需将最少量的迁移数据迁移至扩容存储节点。
当然,根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,还可通过其它方式确定扩容后的路由模数,本申请实施例中对此并不作限制。
本申请下述实施例对“根据所述扩容后的路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度”的可实现方式进行介绍。
示例性地,分布式数据库的扩容装置根据所述原始存储节点的个数(如N)和所述扩容存储节点的个数(如X),确定比例差值(如O);其中,所述比例差值是指扩容前的每个存储节点的平均数据量占总数据量的第一比例(如1/N)与扩容后的每个存储节点的平均数据量占总数据量的第二比例(如1/(N+X))之间的差值(如O=1/N-1/(N+X)=X/N*(N+X))。进一步地,分布式数据库的扩容装置根据所述扩容后的路由模数和所述比例差值,确定所述迁移区间长度;示例性地,分布式数据库的扩容装置可以将所述扩容后的路由模数(如SN+X)与所述比例差值(如O)的乘积,确定为所述迁移区间长度(如L=SN+X*O)。
当然,根据所述扩容后的路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,还可通过其它方式确定迁移区间长度,本申请实施例中对此并不作限制。
本申请下述实施例对“根据所述扩容后的路由模数和所述当前路由模数,确定扩容倍数”的可实现方式进行介绍。
示例性地,分布式数据库的扩容装置可以将所述扩容后的路由模数(如SN+X)与所述当前路由模数(如SN)的商值,确定为所述扩容倍数(如Q=SN+X/SN)。
当然,根据所述扩容后的路由模数和所述当前路由模数,还可通过其它方式确定扩容倍数,本申请实施例中对此并不作限制。
当然,根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,还可通过其它方式确定迁移区间长度和扩容倍数,本申请实施例中对此并不作限制。
步骤S102B、分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,确定扩容后每个所述原始存储节点对应的第二路由区间。
本步骤中,分布式数据库的扩容装置分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,确定扩容后每个所述原始存储节点对应的第二路由区间。示例性地,对于每个所述原始存储节点,分布式数据库的扩容装置可以根据所述扩容倍数(如Q)和所述原始存储节点对应的第一路由区间(如[a,b]),确定在分布式数据库扩容后所述原始存储节点对应的第二路由区间(如[A,B])。
可选地,分布式数据库的扩容装置可以根据第i个原始存储节点对应的第一路由区间(如[a,b])中的起始值(如a)和所述扩容倍数(如Q),确定扩容后所述第i个原始存储节点对应的第二路由区间(如[A,B])中的起始值(如A);其中,所述i为取遍不大于所述原始存储节点的总数的正整数。例如,分布式数据库的扩容装置可以将第i个原始存储节点对应的第一路由区间(如[a,b])中的起始值(如a)与所述扩容倍数(如Q)的乘积,确定为扩容后所述第i个原始存储节点对应的第二路由区间(如[A,B])中的起始值(如A=a*Q)。
进一步地,分布式数据库的扩容装置可以根据所述第i个原始存储节点对应的第一路由区间(如[a,b])中的终止值(如b)和所述扩容倍数(如Q),确定扩容后所述第i个原始存储节点对应的第二路由区间(如[A,B])中的终止值(如B)。例如,分布式数据库的扩容装置可以将所述第i个原始存储节点对应的第一路由区间(如[a,b])中的终止值(如b)和所述扩容倍数(如Q),按照公式(b+1)*Q-1确定扩容后所述第i个原始存储节点对应的第二路由区间(如[A,B])中的终止值(如B)。
当然,分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,还可通过其它方式确定扩容后每个所述原始存储节点对应的第二路由区间,本申请实施例中对此并不作限制。
步骤S102C、分别根据所述迁移区间长度和每个所述原始存储节点对应的第二路由区间,确定每个所述原始存储节点对应的迁移数据。
本步骤中,分布式数据库的扩容装置分别根据所述迁移区间长度和每个所述原始存储节点对应的第二路由区间,确定每个所述原始存储节点对应的迁移数据。示例性地,对于每个所述原始存储节点,分布式数据库的扩容装置根据所述迁移区间长度(如L)和所述原始存储节点对应的第二路由区间(如[A,B]),确定所述原始存储节点对应的迁移数据区间(相当于确定出迁移数据)。
可选地,分布式数据库的扩容装置可以根据所述迁移区间长度(如L)以及第j个原始存储节点对应的第二路由区间(如[A,B])中的起始值(如A)和/或终止值(如B),确定所述第j个原始存储节点对应的迁移数据;其中,所述j为取遍不大于所述原始存储节点的总数的正整数。
例如,分布式数据库的扩容装置可以将所述第j个原始存储节点对应的第二路由区间(如[A,B])中的起始值(如A),确定为所述第j个原始存储节点对应的迁移数据区间中的起始值;进一步地,分布式数据库的扩容装置可以将所述迁移区间长度(如L)和所述第j个原始存储节点对应的第二路由区间(如[A,B])中的起始值(如A),按照公式A+L-1确定所述第j个原始存储节点对应的迁移数据区间中的终止值(如A+L-1),从而确定出所述第j个原始存储节点对应的迁移数据区间(如[A,A+L-1]),因此,确定出所述第j个原始存储节点对应的各数据中大于或等于A且小于或等于A+L-1的数据即为迁移数据。
需要说明的是,当确定出所述第j个原始存储节点对应的迁移数据区间(如[A,A+L-1])时,便可确定出所述第j个原始存储节点对应的保留数据区间(如[A+L,B])。同理,当确定出所述第j个原始存储节点对应的保留数据区间(如[A+L,B]),便可确定出所述第j个原始存储节点对应的迁移数据区间(如[A,A+L-1])。
又例如,分布式数据库的扩容装置可以将所述第j个原始存储节点对应的第二路由区间(如[A,B])中的终止值(如B),确定为所述第j个原始存储节点对应的迁移数据区间中的终止值;进一步地,分布式数据库的扩容装置可以将所述迁移区间长度(如L)和所述第j个原始存储节点对应的第二路由区间(如[A,B])中的终止值(如B),按照公式B-L+1确定所述第j个原始存储节点对应的迁移数据区间中的起始值(如B-L+1),从而确定出所述第j个原始存储节点对应的迁移数据区间(如[B-L+1,B]),因此,确定出所述第j个原始存储节点对应的各数据中大于或等于B-L+1且小于或等于B的数据即为迁移数据。
需要说明的是,当确定出所述第j个原始存储节点对应的迁移数据区间(如[B-L+1,B])时,便可确定出所述第j个原始存储节点对应的保留数据区间(如[A,B-L])。同理,当确定出所述第j个原始存储节点对应的保留数据区间(如[A,B-L]),便可确定出所述第j个原始存储节点对应的迁移数据区间(如[B-L+1,B])。
当然,所述第j个原始存储节点对应的迁移数据区间还可以位于所述第j个原始存储节点对应的第二路由区间(如[A,B])中的任意一段区间长度为L的位置,本申请实施例中此处不再赘述。
本申请实施例中,通过根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度和扩容倍数;进一步地,分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,确定扩容后每个所述原始存储节点对应的第二路由区间;进一步地,分别根据所述迁移区间长度和每个所述原始存储节点对应的第二路由区间,确定每个所述原始存储节点对应的迁移数据,以便于分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。可见,本申请实施例中,可以准确地确定出每个所述原始存储节点对应的迁移数据,且使得每个所述原始存储节点对应的迁移数据量尽可能地降至最低,从而仅需将每个所述原始存储节点中少量的迁移数据迁移至扩容存储节点,从而可以进一步地提高资源利用率以及扩容效率。
图3为本申请另一实施例提供的分布式数据库的扩容方法的流程示意图。在上述实施例的基础上,本申请实施例中对上述步骤S103的具体可实现方式进行介绍。如图3所示,本实施例中的步骤S103可以包括:
步骤S103A、分别将每个所述原始存储节点中的迁移数据,均匀地迁移至所述至少一个扩容存储节点。
本步骤中,分布式数据库的扩容装置分别将每个所述原始存储节点中的迁移数据,均匀地迁移至所述至少一个扩容存储节点,使得在分布式数据库扩容后每个存储节点所存储的数据量尽可能相同,从而实现了分布式数据库扩容后各存储节点之间的数据平衡性。
例如,假设分布式数据库在扩容之前包括原始存储节点A和原始存储节点B、当前路由模数为2、原始存储节点A对应的第一路由区间为[0,0]和原始存储节点B对应的第一路由区间为[1,1]。当接收到请求数据时,将所述请求数据对应的数据标识对2取模,若取模结果为0,则将所述请求数据放在原始存储节点A;若取模结果为1,则将所述请求数据放在原始存储节点B。
假设扩容指示信息指示扩容存储节点的个数为1(如扩容存储节点C),则将当前路由模数(如2)与扩容后的存储节点的总数(如3)的最小公倍数(如6),确定为扩容后的路由模数。
由于扩容前每个原始存储节点的平均数据量占总数据量的第一比例为1/2,扩容后每个存储节点(如原始存储节点A、原始存储节点B和扩容存储节点C)的平均数据量占总数据量的第二比例为1/3,因此,每个原始存储节点需要将其中1/6(即1/2-1/3)的数据迁移到扩容存储节点。
假设根据上述确定每个原始存储节点对应的数据迁移的方式,确定出扩容后原始存储节点A对应的保留数据区间(如[0,1])、迁移数据区间(如[2,2])、扩容后原始存储节点B对应的保留数据区间(如[3,4])和迁移数据区间(如[5,5]),则根据每个存储节点的数据均衡性原则,确定出扩容存储节点C对应的第三路由区间(如[2,5]),从而将原始存储节点B中对扩容后的路由模数(如6)取模后取模结果为2和5的各数据标识所对应的数据,迁移到扩容存储节点C。
本申请实施例中,通过获取包括扩容指示信息的扩容配置指令,其中,所述扩容指示信息用于指示至少一个扩容存储节点的信息;进一步地,根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据,并分别将每个所述原始存储节点中的迁移数据,均匀地迁移至所述至少一个扩容存储节点。可见,本申请实施例中可以复用原始存储节点,仅需要将每个所述原始存储节点中的部分数据,均匀地迁移至所述至少一个扩容存储节点,从而不仅可以提高资源利用率和扩容效率,还可以实现分布式数据库扩容后各存储节点之间的数据平衡性。
在上述实施例的基础上,为了便于后续对收到的请求数据准确地路由到相应的存储节点,本申请另一实施例提供的分布式数据库的扩容方法中,分布式数据库的扩容装置还可以根据扩容后的路由模数、扩容后的存储节点的总数、扩容后每个所述原始存储节点对应的第二路由区间以及每个所述扩容存储节点对应的第三路由区间,生成扩容后的路由信息(用于指示扩容后的路由模数和/或分布式数据库扩容后的各存储节点的信息)。
需要说明的是,分布式数据库的扩容装置分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点后,便可确定出每个所述扩容存储节点对应的第三路由区间(用于在分布式数据库扩容之后,确定某数据落入该扩容存储节点时对应的取模结果判定区间)。
需要说明的是,本申请实施例中涉及的扩容后的路由模数、扩容后的存储节点的总数、扩容后每个所述原始存储节点对应的第二路由区间的确定方式,可以参考本申请上述实施例中的相关内容,此处不再赘述。
图4为本申请另一实施例提供的分布式数据库的扩容方法的流程示意图。在上述实施例的基础上,本申请实施例提供的分布式数据库的扩容方法,还包括:
步骤S401、接收读写指令。
本步骤中,分布式数据库的扩容装置接收其它装置(如可以通过软件和/或硬件实现)发送的读写指令;其中,所述读写指令中可以包括但不限于:数据标识。
步骤S402、根据所述扩容后的路由信息以及所述数据标识,确定目标存储节点。
本步骤中,分布式数据库的扩容装置可以根据所述数据标识,以及所述扩容后的路由信息中所包括的扩容后的路由模数和分布式数据库扩容后的各存储节点对应的路由区间(例如扩容后每个所述原始存储节点对应的第二路由区间以及每个所述扩容存储节点对应的第三路由区间),确定目标存储节点。
示例性地,分布式数据库的扩容装置将所述数据标识对所述扩容后的路由模数取模,得到取模结果;进一步地,分布式数据库的扩容装置根据所述各存储节点对应的路由区间判断所述取模结果落入的目标路由区间,从而确定所述目标路由区间对应的存储节点为目标存储节点。
例如,假设所述扩容后的路由信息中包括:扩容后的路由模数为6、存储节点1对应的路由区间为[0,1]、存储节点2对应的路由区间为[3,4]和存储节点3对应的路由区间为[2,5],以及所述读写指令中所包括的数据标识为7,则分布式数据库的扩容装置将所述数据标识(如7)对所述扩容后的路由模数(如6)取模,得到取模结果(如1);进一步地,分布式数据库的扩容装置确定所述取模结果(如1)落入了目标路由区间(如[0,1]),从而确定所述目标路由区间(如[0,1])对应的存储节点(如存储节点1)为目标存储节点。
步骤S403、访问所述目标存储节点进行读写操作。
本步骤中,分布式数据库的扩容装置访问所述目标存储节点进行相应的读写操作。具体地,本申请实施例中涉及的访问目标存储节点进行读写操作的可实现方式,可以参考相关技术中的访问存储节点进行读写操作的可实现方式,本申请实施例中对此并不作限制。
图5A为本申请实施例提供的分布式数据库的扩容架构示意图,图5B为本申请另一实施例提供的分布式数据库的扩容方法的流程示意图。如图5A所示,本申请实施例提供的分布式数据库的扩容装置可以包括:路由模块、路由信息存储模块、路由信息生成模块、迁移任务管理模块和数据迁移模块;可选地,路由模块连接至路由信息存储模块,路由信息存储模块分别连接至路由信息生成模块和迁移任务管理模块,迁移任务管理模块还分别与路由信息生成模块和数据迁移模块连接。
示例性地,路由模块用于负责数据的路由、分发和聚合。例如,路由模块在接收到外部应用的读写指令后,向路由信息存储模块获取正确的路由信息,并根据路由信息访问对应的存储节点进行读写操作;进一步地,路由模块将读写操作的结果统一收集聚合处理后返回给外部应用。
路由信息存储模块用于负责路由信息的存储、查询和管理。例如,路由信息存储模块保存在分布式数据库扩容过程中,由路由信息生成模块生成的动态路由信息,并为路由模块提供路由信息的查询服务。
路由信息生成模块用于负责生成扩容后的路由信息和计算每个原始存储节点对应的迁移数据区间。例如,路由信息生成模块根据迁移任务管理模块下发的扩容指示信息和路由信息存储模块中读取的当前路由信息,计算每个原始存储节点对应的迁移数据区间,并确定扩容后的路由信息;进一步地,路由信息生成模块将扩容后的路由信息保存至路由信息存储模块,并将每个原始存储节点对应的迁移数据区间反馈至迁移任务管理模块。
迁移任务管理模块用于负责生成和管理迁移任务。例如,迁移任务管理模块在接收到用户输入的扩容配置指令后,调用路由信息生成模块确定扩容后的路由信息和每个原始存储节点对应的迁移数据区间;进一步地,迁移任务管理模块根据路由信息生成模块反馈的每个原始存储节点对应的迁移数据区间,调用数据迁移模块将每个原始存储节点对应的迁移数据区间中的数据迁移到至少一个扩容存储节点。
数据迁移模块用于负责在分布式数据库扩容过程中将每个原始存储节点对应的迁移数据区间中的数据迁移到至少一个扩容存储节点。例如,数据迁移模块在接收到迁移任务管理模块下发的迁移任务指令(可以携带每个原始存储节点对应的迁移数据区间)后,将每个原始存储节点对应的迁移数据区间中的数据迁移到至少一个扩容存储节点。
在上述实施例的基础上,如图5B所示,本申请实施例中结合图5A所示的分布式数据库的扩容装置,对本申请实施例提供的分布式数据库的扩容方法进行介绍。
步骤S501、迁移任务管理模块接收用户输入的扩容配置指令。
示例性地,扩容配置指令中包括扩容指示信息,所述扩容指示信息用于指示至少一个扩容存储节点的信息。
示例性地,扩容配置指令可以包括但不限于:计划扩容指令、定时扩容指令或条件扩容指令等。
步骤S502、迁移任务管理模块向路由信息生成模块发送扩容指示信息。
示例性地,迁移任务管理模块向路由信息生成模块发送扩容指示信息,以调用路由信息生成模块确定扩容后的路由信息和每个原始存储节点对应的迁移数据区间。
可选地,迁移任务管理模块在接收到扩容配置指令后,还可以解析扩容配置指令,并生成迁移批次任务;进一步地,迁移任务管理模块根据迁移批次任务向路由信息生成模块发送对应的扩容指示信息。例如,迁移任务管理模块根据扩容配置指令中的扩容指示信息0,生成迁移批次任务1和迁移批次任务2;进一步地,迁移任务管理模块根据迁移批次任务1向路由信息生成模块发送对应的扩容指示信息1,以及根据迁移批次任务2向路由信息生成模块发送对应的扩容指示信息2;其中,扩容指示信息0包括:扩容指示信息1和扩容指示信息2。
步骤S503、路由信息生成模块根据迁移任务管理模块下发的扩容指示信息和路由信息存储模块中读取的当前路由信息,计算每个原始存储节点对应的迁移数据区间,并确定扩容后的路由信息。
步骤S504、路由信息生成模块将扩容后的路由信息保存至路由信息存储模块,并将每个原始存储节点对应的迁移数据区间反馈至迁移任务管理模块。
需要说明的是,路由信息存储模块在收到路由信息生成模块发送的扩容后的路由信息时,所述扩容后的路由信息的状态默认为无效状态。
步骤S505、迁移任务管理模块向数据迁移模块发送迁移任务指令。
示例性地,迁移任务指令中可以携带每个原始存储节点对应的迁移数据区间。
步骤S506、数据迁移模块根据迁移任务管理模块下发的迁移任务指令,将每个原始存储节点对应的迁移数据区间中的数据,均匀地迁移到至少一个扩容存储节点。
需要说明的是,在所有原始存储节点对应的迁移数据区间中的数据全部迁移到至少一个扩容存储节点后,迁移任务管理模块将所述路由信息存储模块中的所述扩容后的路由信息的状态设置为生效状态,以便于后续对收到的请求数据准确地路由到相应的存储节点。
本申请实施例中,通过迁移任务管理模块在接收到用户输入的扩容配置指令后,调用路由信息生成模块确定扩容后的路由信息和每个原始存储节点对应的迁移数据区间;进一步地,迁移任务管理模块根据路由信息生成模块反馈的每个原始存储节点对应的迁移数据区间,调用数据迁移模块将每个原始存储节点对应的迁移数据区间中的数据,均匀地迁移到至少一个扩容存储节点。可见,本申请实施例中,在保证分布式数据库扩容后各存储节点之间的数据量均匀分布的基础上,使得每个所述原始存储节点对应的迁移数据量尽可能地降至最低,从而仅需将每个所述原始存储节点中少量的迁移数据,均匀地迁移至扩容存储节点,从而不仅可以进一步地提高资源利用率以及扩容效率,还可以实现分布式数据库扩容后各存储节点之间的数据平衡性。
图6为本申请一实施例提供的分布式数据库的扩容装置的结构示意图。如图6所示,本实施例提供的分布式数据库的扩容装置60可以包括:获取模块601、第一确定模块602和迁移模块603。
其中,获取模块601,用于获取扩容配置指令;其中,所述扩容配置指令中包括扩容指示信息,所述扩容指示信息用于指示至少一个扩容存储节点的信息;
第一确定模块602,用于根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据;
迁移模块603,用于分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。
在一种可能的实现方式中,所述扩容指示信息包括所述扩容存储节点的个数,所述当前路由信息包括:当前路由模数、所述原始存储节点的个数和每个所述原始存储节点对应的第一路由区间,所述第一确定模块602,包括:
第一确定单元,用于根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度和扩容倍数;
第二确定单元,用于分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,确定扩容后每个所述原始存储节点对应的第二路由区间;
第三确定单元,用于分别根据所述迁移区间长度和每个所述原始存储节点对应的第二路由区间,确定每个所述原始存储节点对应的迁移数据。
在一种可能的实现方式中,所述第一确定单元具体用于:
根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的路由模数;
根据所述扩容后的路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定所述迁移区间长度;
根据所述扩容后的路由模数和所述当前路由模数,确定所述扩容倍数。
在一种可能的实现方式中,所述第一确定单元具体用于:
根据所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的存储节点的总数;
确定所述当前路由模数与所述扩容后的存储节点的总数的最小公倍数为所述扩容后的路由模数。
在一种可能的实现方式中,所述第一确定单元具体用于:
根据所述原始存储节点的个数和所述扩容存储节点的个数,确定比例差值;其中,所述比例差值是指扩容前的每个存储节点的平均数据量占总数据量的第一比例与扩容后的每个存储节点的平均数据量占总数据量的第二比例之间的差值;
根据所述扩容后的路由模数和所述比例差值,确定所述迁移区间长度。
在一种可能的实现方式中,所述第一确定单元具体用于:确定所述扩容后的路由模数与所述当前路由模数的商值为所述扩容倍数。
在一种可能的实现方式中,所述第二确定单元具体用于:
根据第i个原始存储节点对应的第一路由区间中的起始值和所述扩容倍数,确定扩容后所述第i个原始存储节点对应的第二路由区间中的起始值;
根据所述第i个原始存储节点对应的第一路由区间中的终止值和所述扩容倍数,确定扩容后所述第i个原始存储节点对应的第二路由区间中的终止值;
其中,所述i为取遍不大于所述原始存储节点的总数的正整数。
在一种可能的实现方式中,所述第三确定单元具体用于:
根据所述迁移区间长度以及第j个原始存储节点对应的第二路由区间中的起始值和/或终止值,确定所述第j个原始存储节点对应的迁移数据;
其中,所述j为取遍不大于所述原始存储节点的总数的正整数。
在一种可能的实现方式中,所述迁移模块603具体用于:分别将每个所述原始存储节点中的迁移数据,均匀地迁移至所述至少一个扩容存储节点。
在一种可能的实现方式中,所述装置,还包括:
生成模块,用于根据扩容后的路由模数、扩容后的存储节点的总数、扩容后每个所述原始存储节点对应的第二路由区间以及每个所述扩容存储节点对应的第三路由区间,生成扩容后的路由信息。
在一种可能的实现方式中,所述装置,还包括:
第二确定模块,用于确定每个所述扩容存储节点对应的第三路由区间。
在一种可能的实现方式中,所述装置,还包括:
接收模块,用于接收读写指令;其中,所述读写指令中包括数据标识;
第三确定模块,用于根据所述扩容后的路由信息以及所述数据标识,确定目标存储节点;
访问模块,用于访问所述目标存储节点进行读写操作。
本实施例提供的分布式数据库的扩容装置,可以用于执行本申请上述分布式数据库的扩容方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请一实施例提供的分布式数据库的扩容设备的结构示意图。如图7所示,本实施例提供的分布式数据库的扩容设备70可以包括:存储器701和处理器702。可选地,所述存储器701和所述处理器702之间通过总线703连接。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,所述存储器701用于存储可供所述处理器702执行的计算机程序;
所述处理器702用于执行所述计算机程序实现本申请上述分布式数据库的扩容方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行本申请上述分布式数据库的扩容方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读内存(Read-OnlyMemory,简称:ROM)、随机存取存储器(Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种分布式数据库的扩容方法,其特征在于,包括:
获取扩容配置指令;其中,所述扩容配置指令中包括扩容指示信息,所述扩容指示信息用于指示至少一个扩容存储节点的信息;
根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据;
分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。
2.根据权利要求1所述的方法,其特征在于,所述扩容指示信息包括所述扩容存储节点的个数,所述当前路由信息包括:当前路由模数、所述原始存储节点的个数和每个所述原始存储节点对应的第一路由区间,所述根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的数据迁移,包括:
根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度和扩容倍数;
分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,确定扩容后每个所述原始存储节点对应的第二路由区间;
分别根据所述迁移区间长度和每个所述原始存储节点对应的第二路由区间,确定每个所述原始存储节点对应的迁移数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度和扩容倍数,包括:
根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的路由模数;
根据所述扩容后的路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定所述迁移区间长度;
根据所述扩容后的路由模数和所述当前路由模数,确定所述扩容倍数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的路由模数,包括:
根据所述原始存储节点的个数和所述扩容存储节点的个数,确定扩容后的存储节点的总数;
确定所述当前路由模数与所述扩容后的存储节点的总数的最小公倍数为所述扩容后的路由模数。
5.根据权利要求3所述的方法,其特征在于,所述根据所述扩容后的路由模数、所述原始存储节点的个数和所述扩容存储节点的个数,确定迁移区间长度,包括:
根据所述原始存储节点的个数和所述扩容存储节点的个数,确定比例差值;其中,所述比例差值是指扩容前的每个存储节点的平均数据量占总数据量的第一比例与扩容后的每个存储节点的平均数据量占总数据量的第二比例之间的差值;
根据所述扩容后的路由模数和所述比例差值,确定所述迁移区间长度。
6.根据权利要求3所述的方法,其特征在于,所述根据所述扩容后的路由模数和所述当前路由模数,确定扩容倍数,包括:
确定所述扩容后的路由模数与所述当前路由模数的商值为所述扩容倍数。
7.根据权利要求2所述的方法,其特征在于,所述分别根据所述扩容倍数和每个所述原始存储节点对应的第一路由区间,确定扩容后每个所述原始存储节点对应的第二路由区间,包括:
根据第i个原始存储节点对应的第一路由区间中的起始值和所述扩容倍数,确定扩容后所述第i个原始存储节点对应的第二路由区间中的起始值;
根据所述第i个原始存储节点对应的第一路由区间中的终止值和所述扩容倍数,确定扩容后所述第i个原始存储节点对应的第二路由区间中的终止值;
其中,所述i为取遍不大于所述原始存储节点的总数的正整数。
8.根据权利要求2所述的方法,其特征在于,所述分别根据所述迁移区间长度和每个所述原始存储节点对应的第二路由区间,确定每个所述原始存储节点对应的迁移数据,包括:
根据所述迁移区间长度以及第j个原始存储节点对应的第二路由区间中的起始值和/或终止值,确定所述第j个原始存储节点对应的迁移数据;
其中,所述j为取遍不大于所述原始存储节点的总数的正整数。
9.一种分布式数据库的扩容装置,其特征在于,包括:
获取模块,用于获取扩容配置指令;其中,所述扩容配置指令中包括扩容指示信息,所述扩容指示信息用于指示至少一个扩容存储节点的信息;
第一确定模块,用于根据所述扩容指示信息和分布式数据库的当前路由信息,确定所述分布式数据库中的每个原始存储节点对应的迁移数据;
迁移模块,用于分别将每个所述原始存储节点中的迁移数据,迁移至所述至少一个扩容存储节点。
10.一种分布式数据库的扩容设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储可供所述处理器执行的计算机程序;
所述处理器用于执行所述计算机程序实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811131341.7A CN109408590B (zh) | 2018-09-27 | 2018-09-27 | 分布式数据库的扩容方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811131341.7A CN109408590B (zh) | 2018-09-27 | 2018-09-27 | 分布式数据库的扩容方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408590A true CN109408590A (zh) | 2019-03-01 |
CN109408590B CN109408590B (zh) | 2021-06-01 |
Family
ID=65465482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811131341.7A Active CN109408590B (zh) | 2018-09-27 | 2018-09-27 | 分布式数据库的扩容方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408590B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059080A (zh) * | 2019-04-29 | 2019-07-26 | 珠海天燕科技有限公司 | 一种数据处理的方法和装置 |
CN110377585A (zh) * | 2019-07-01 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 分布式流式计算应用的在线扩容方法、装置、计算机设备 |
CN111026720A (zh) * | 2019-12-20 | 2020-04-17 | 深信服科技股份有限公司 | 一种文件处理方法、系统及相关设备 |
CN111125011A (zh) * | 2019-12-20 | 2020-05-08 | 深信服科技股份有限公司 | 一种文件处理方法、系统及相关设备 |
CN111723148A (zh) * | 2020-04-10 | 2020-09-29 | 浙江大华技术股份有限公司 | 数据存储方法及装置、存储介质、电子装置 |
CN113438668A (zh) * | 2021-06-22 | 2021-09-24 | 京信网络系统股份有限公司 | 扩容设备、方法、系统和存储介质 |
CN113448940A (zh) * | 2020-03-24 | 2021-09-28 | 北京京东振世信息技术有限公司 | 数据库扩容的方法和装置 |
-
2018
- 2018-09-27 CN CN201811131341.7A patent/CN109408590B/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059080A (zh) * | 2019-04-29 | 2019-07-26 | 珠海天燕科技有限公司 | 一种数据处理的方法和装置 |
CN110059080B (zh) * | 2019-04-29 | 2021-12-14 | 珠海天燕科技有限公司 | 一种数据处理的方法和装置 |
CN110377585A (zh) * | 2019-07-01 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 分布式流式计算应用的在线扩容方法、装置、计算机设备 |
CN110377585B (zh) * | 2019-07-01 | 2022-02-11 | 北京奇艺世纪科技有限公司 | 分布式流式计算应用的在线扩容方法、装置、计算机设备 |
CN111026720A (zh) * | 2019-12-20 | 2020-04-17 | 深信服科技股份有限公司 | 一种文件处理方法、系统及相关设备 |
CN111125011A (zh) * | 2019-12-20 | 2020-05-08 | 深信服科技股份有限公司 | 一种文件处理方法、系统及相关设备 |
CN111026720B (zh) * | 2019-12-20 | 2023-05-12 | 深信服科技股份有限公司 | 一种文件处理方法、系统及相关设备 |
CN111125011B (zh) * | 2019-12-20 | 2024-02-23 | 深信服科技股份有限公司 | 一种文件处理方法、系统及相关设备 |
CN113448940A (zh) * | 2020-03-24 | 2021-09-28 | 北京京东振世信息技术有限公司 | 数据库扩容的方法和装置 |
CN113448940B (zh) * | 2020-03-24 | 2023-09-22 | 北京京东振世信息技术有限公司 | 数据库扩容的方法和装置 |
CN111723148A (zh) * | 2020-04-10 | 2020-09-29 | 浙江大华技术股份有限公司 | 数据存储方法及装置、存储介质、电子装置 |
CN113438668A (zh) * | 2021-06-22 | 2021-09-24 | 京信网络系统股份有限公司 | 扩容设备、方法、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109408590B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408590A (zh) | 分布式数据库的扩容方法、装置、设备及存储介质 | |
US11487698B2 (en) | Parameter server and method for sharing distributed deep learning parameter using the same | |
WO2022037337A1 (zh) | 机器学习模型的分布式训练方法、装置以及计算机设备 | |
KR101959153B1 (ko) | 데이터베이스에서의 계좌와 관련된 거래 요청의 효율적인 처리를 위한 시스템 | |
CN104598459B (zh) | 数据库处理、数据访问方法及系统 | |
CN108810041A (zh) | 一种分布式缓存系统的数据写入及扩容方法、装置 | |
KR20200023706A (ko) | 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 및 컴퓨팅 장치 | |
CN108427684A (zh) | 数据查询方法、装置及计算设备 | |
CN105074702A (zh) | 提供单租户和多租户环境的数据库系统 | |
CN105468473A (zh) | 数据迁移方法及数据迁移装置 | |
CN106453444A (zh) | 缓存数据共享的方法及设备 | |
CN112162846B (zh) | 事务处理方法、设备及计算机可读存储介质 | |
Zhang et al. | A method to predict the performance and storage of executing contract for ethereum consortium-blockchain | |
CN102937918A (zh) | 一种hdfs运行时数据块平衡方法 | |
CN105577806B (zh) | 一种分布式缓存方法及系统 | |
CN109739684A (zh) | 基于向量时钟的分布式键值数据库的副本修复方法与装置 | |
CN109510852A (zh) | 灰度发布的方法及装置 | |
Blythe et al. | Farm: Architecture for distributed agent-based social simulations | |
CN103902548A (zh) | 一种访问数据库的系统和方法及注册、订票、网购系统 | |
CN106487854A (zh) | 存储资源分配方法、装置和系统 | |
CN109150964A (zh) | 一种可迁移的数据管理方法及服务迁移方法 | |
CN107426315A (zh) | 一种基于BP神经网络的分布式缓存系统Memcached的改进方法 | |
CN109788013B (zh) | 分布式系统中作业资源分配方法、装置及设备 | |
CN106412075A (zh) | 一种基于云计算的资源配置方法及装置 | |
CN107621980A (zh) | 一种虚拟机迁移方法、集群控制系统和控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 266104 Qingdao wisdom Valley, No. 8, Shengshui Road, Laoshan District, Qingdao, Shandong Patentee after: Qingdao Haishi Commercial Technology Co.,Ltd. Patentee after: Harbin Institute of Technology (Weihai) Address before: 266100, building 151, No. 3, Zhuzhou Road, Laoshan District, Shandong, Qingdao Patentee before: QINGDAO HISENSE INTELLIGENT COMMERCIAL SYSTEM CO.,LTD. Patentee before: Harbin Institute of Technology (Weihai) |
|
CP03 | Change of name, title or address |