CN113239011A - 数据库的扩容方法、装置及系统 - Google Patents
数据库的扩容方法、装置及系统 Download PDFInfo
- Publication number
- CN113239011A CN113239011A CN202110512918.4A CN202110512918A CN113239011A CN 113239011 A CN113239011 A CN 113239011A CN 202110512918 A CN202110512918 A CN 202110512918A CN 113239011 A CN113239011 A CN 113239011A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- original
- newly added
- information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据库的扩容方法、装置及系统,包括:若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至原始数据库和新增数据库,其中,原始数据库和新增数据库归属于数据读写系统,获取新增数据库的路由信息,并根据新增数据库的路由信息确定数据读写系统对外提供服务的数据源链接,通过采用本实施例的方法对数据库进行扩容处理,既可以避免因停机扩容导致的数据丢失的问题,也可以避免因平滑扩容造成的程序复杂,需要额外技术支持的问题,实现了对数据库进行扩容处理的可靠性、准确性、便捷高效性的技术效果。
Description
技术领域
本申请实施例涉及计算机技术领域、互联网技术领域,尤其涉及一种数据库的扩容方法、装置及系统。
背景技术
随着互联网技术和计算机技术的不断发展,数据的量有了突飞猛进地增加,如电商平台的用户相关的数据等,为了对数据进行存储,通常采用数据库的方式实现,且随着数据地不断增加,为了确保数据存储的可靠性,通过需要对数据库进行扩容处理。
在现有技术中,通常采用停机扩容的方法对数据库进行扩容处理,其中,停机扩容的方法具体可以包括:在工作人员设置停机时间(一般停机时间为夜间数据量最少的时候),并基于停机时间对数据读写系统切断数据读写系统对外提供数据读写服务的功能之后,预设的数据迁移软件将原有数据库中的数据迁移至现有数据库中,待数据迁移完成后,由工作人员确定重启数据读写系统对外提供数据读写服务。
在实现本申请的过程中,发明人发现现有技术中至少存在如下问题:停机扩容的方法对场景要求较高,通常需要由工作人员在夜间人流量最少的时候执行,相应地,用于完成数据迁移的时间相对较少,则很可能因数据迁移未完成而造成的数据丢失的问题。
发明内容
本申请实施例提供一种数据库的扩容方法、装置及系统,用以解决数据丢失的问题。
第一方面,本申请实施例提供一种数据库的扩容方法,所述方法包括:
若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至所述原始数据库和所述新增数据库,所述原始数据库和所述新增数据库归属于数据读写系统;
获取所述新增数据库的路由信息,并根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接。
在一些实施例中,根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接,包括:
将所述数据读写系统对外提供数据读写服务的数据库的路由信息,调整为所述新增数据库的路由信息;
根据所述新增数据库的路由信息确定所述数据源链接。
在一些实施例中,根据所述新增数据库的路由信息确定所述数据源链接,包括:
基于所述新增数据库的路由信息对所述数据读写系统对外提供数据读写服务的配置信息进行调整,得到调整后的配置信息,并根据所述调整后的配置信息生成所述数据源链接。
在一些实施例中,在将获取到的当前数据分别存储至所述原始数据库和所述新增数据库之前,所述方法还包括:
获取所述原始数据库的原始数据库表信息,并获取所述新增数据库的新增数据库表信息;
根据所述原始数据库表信息对所述新增数据库表信息进行哈希取余处理,得到迁移信息,并根据所述迁移信息将原始数据库中的数据迁移至所述新增数据库,其中,所述迁移信息指示所述原始数据在所述新增数据库的位置信息。
在一些实施例中,所述原始数据库表信息包括每一原始数据库表的标识,所述新增数据库表信息包括新增数据库表的总数量;根据所述原始数据库表信息对所述新增数据库表信息进行哈希取余处理,得到迁移信息,包括:
计算每一原始数据表的标识的哈希值,根据每一哈希值对所述总数量进行取余处理,得到所述迁移信息。
在一些实施例中,所述总数量是基于所述原始数据的属性信息确定的,所述属性信息包括:所述原始数据的数量和/或根据所述原始数据预测得到的数据增长信息。
在一些实施例中,获取所述原始数据库的原始数据库表信息,包括:
获取所述原始数据,并对所述原始数据进行预处理,并根据预处理后的原始数据生成所述原始数据库表信息,其中,所述预处理包括清洗处理和/或聚合处理。
在一些实施例中,在根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接之后,所述方法还包括:
对所述数据源链接进行初始化处理,并根据初始化处理后的数据源链接对所述数据读写系统进行数据读写操作。
第二方面,本申请实施例提供一种数据库的扩容装置,包括:
存储单元,用于若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至所述原始数据库和所述新增数据库,所述原始数据库和所述新增数据库归属于数据读写系统;
第一获取单元,用于获取所述新增数据库的路由信息;
确定单元,用于根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接。
在一些实施例中,所述确定单元包括:
调整子单元,用于将所述数据读写系统对外提供数据读写服务的数据库的路由信息,调整为所述新增数据库的路由信息;
确定子单元,用于根据所述新增数据库的路由信息确定所述数据源链接。
在一些实施例中,所述确定子单元包括:
调整模块,用于基于所述新增数据库的路由信息对所述数据读写系统对外提供数据读写服务的配置信息进行调整,得到调整后的配置信息;
生成模块,用于根据所述调整后的配置信息生成所述数据源链接。
在一些实施例中,所述装置还包括:
第二获取单元,用于获取所述原始数据库的原始数据库表信息;
第三获取单元,用于获取所述新增数据库的新增数据库表信息;
处理单元,用于根据所述原始数据库表信息对所述新增数据库表信息进行哈希取余处理,得到迁移信息,其中,所述迁移信息指示所述原始数据在所述新增数据库的位置信息;
迁移单元,用于根据所述迁移信息将原始数据库中的数据迁移至所述新增数据库。
在一些实施例中,所述原始数据库表信息包括每一原始数据库表的标识,所述新增数据库表信息包括新增数据库表的总数量;所述处理单元包括:
计算子单元,用于计算每一原始数据表的标识的哈希值;
处理子单元,用于根据每一哈希值对所述总数量进行取余处理,得到所述迁移信息。
在一些实施例中,所述总数量是基于所述原始数据的属性信息确定的,所述属性信息包括:所述原始数据的数量和/或根据所述原始数据预测得到的数据增长信息。
在一些实施例中,所述第二获取单元包括:
获取子单元,用于获取所述原始数据;
预处理子单元,用于对所述原始数据进行预处理,其中,所述预处理包括清洗处理和/或聚合处理;
生成子单元,用于根据预处理后的原始数据生成所述原始数据库表信息。
在一些实施例中,所述装置还包括:
初始化单元,用于对所述数据源链接进行初始化处理;
操作单元,用于根据初始化处理后的数据源链接对所述数据读写系统进行数据读写操作。
第三方面,本申请实施例提供了一种电子设备,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。
第六方面,本申请实施例提供了一种数据库的扩容系统,包括:原始数据库、新增数据库、以及如第二方面所述的扩容装置;其中,
所述原始数据库,用于存储扩容处理之前的原始数据,且用于存储扩容处理时的当前数据;
所述新增数据库,用于存储扩容处理时的当前数据,且用于存储从所述原始数据库迁移的当前数据。
本申请实施例提供的数据库的扩容方法、装置及系统,包括:若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至原始数据库和新增数据库,其中,原始数据库和新增数据库归属于数据读写系统,获取新增数据库的路由信息,并根据新增数据库的路由信息确定数据读写系统对外提供服务的数据源链接,在本实施例中,通过若原始数据完成迁移,则将当前数据分别存储至原始数据库和新增数据库,实现两种类型的数据库的同步存储当前数据的操作,无需停机操作,且即便新增数据库无法被使用,依然可以使得原始数据库中存储有当前数据,确保原始数据库中数据的完整性,且通过将新增数据库的路由信息确定为数据源链接,可以使得外接设备迅速定位到新增数据库,从而接受由新增数据库提供的对外服务,也就是说,通过采用本实施例的方法对数据库进行扩容处理,既可以避免因停机扩容导致的数据丢失的问题,也可以避免因平滑扩容造成的程序复杂,需要额外技术支持的问题,实现了对数据库进行扩容处理的可靠性、准确性、便捷高效性的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请一个实施例的数据库的扩容方法的示意图;
图2为本申请另一实施例的数据库的扩容方法的示意图;
图3为本申请一个实施例的数据库的扩容装置的示意图;
图4为本申请另一实施例的数据库的扩容装置的示意图;
图5为本申请实施例的数据库的扩容方法的电子设备的框图;
图6为本申请实施例的数据读写系统的示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本申请实施例所涉及的名词进行解释:
路由信息:是指数据库的网络地址的路径信息。
数据库表:是指包含数据库中所有数据的数据库对象。
内容分发服务装置:是指基于客户端开发的分库分表中间件产品,实现了Java数据库连接(Java Database Connectivity,JDBC)标准的应用程序编程接口(ApplicationProgramming Interface,API),可以支持多种数据库(或者数据库集群),如MySQL、Oracle和SQL Server等。
随着互联网技术和计算机技术的不断发展,数据的量有了突飞猛进地增加,如电商平台的用户相关的数据等,为了对数据进行存储,通常采用数据库的方式实现,且随着数据地不断增加,为了确保数据存储的可靠性,通过需要对数据库进行扩容处理。
在相关技术中,通常采用两种扩容方法对数据库进行扩容处理,一种为停机扩容,另一种为平滑扩容。
其中,停机扩容是指:系统在预设时间点停止对外服务,并将原有数据库中的数据迁移至现有数据库(即扩容后的数据库)中,待数据迁移完成后,系统重新开启对外服务。
例如,工作人员设置系统停机时段,并在时间到达停机时段的开始停机时刻时,工作人员对系统进行停机处理,即切断系统对外服务的功能,并相应增加预设数量的数据库,通过预先的迁移方法将原数据库中的数据迁移至新增数据库,待数据迁移完成,修改数据库服务配置,并重启系统对外服务。
若采用停机扩容的方法对数据库进行扩容处理,则当数据迁移失败,或者数据迁移后测试失败时,则将服务配置修改回原数据库,并在日后重新升级。
然而,采用停机扩容的方法对数据库进行扩容处理,存在如下技术问题中的至少一种:不高可用;从开启升级到升级完成,时间较短,出错的概率偏高;若数据迁移失败,需回到停机扩容前,则可能导致数据丢失等问题。
其中,平滑扩容是指:新增数据库,配置双主进行数据同步,在数据同步完成之后,配置主主双写,在双写完成之后,删除双主同步,修改数据库配置,从而完成扩容处理。
然而,采用平滑扩容的方法对数据库进行扩容处理,至少存在如下技术问题中的至少一种:存在程序复杂;需要配置双主、主主双写、检测数据同步等额外技术。
为了解决上述技术问题中的至少一种,本申请的发明人经过创造性地劳动,得到了本申请的发明构思:在原始数据已经迁移至新增数据库之后,将当前数据分别存储至原始数据库和新增数据库,并根据新增数据库的路由信息确定数据源链接。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
请参阅图1,图1为本申请一个实施例的数据库的扩容方法的示意图。
如图1所示,该方法包括:
S101:若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至原始数据库和新增数据库。
其中,原始数据库和新增数据库归属于数据读写系统。
示例性地,本实施例的执行主体可以为数据库的扩容装置(下文简称扩容装置),且扩容装置可以为服务器(如本地服务器,或者,云端服务器),也可以为终端设备,也可以为处理器,也可以为芯片,等等,本实施例不做限定。
数据读写系统可以包括两种类型的数据库,一种为原始数据库,一种为新增数据库。原始数据库可以理解为在对数据读写系统进行扩容之前,数据读写系统所包括的数据库,而新增数据库可以理解为为了提高数据存储的可靠性,在数据读写系统中新增加的数据库。
该步骤可以理解为:若扩容装置确定原始数据已经完成迁移(即将原始数据由原始数据库迁移至新增数据库),则将当前数据既存储于原始数据库,又存储于新增数据库。
应该理解地是,当前数据与原始数据为相对概念,原始数据可以理解为,之前存储于原始数据库中的数据,而当前数据可以理解为,在原始数据已经迁移至新增数据库之后,接收到的新的数据。
值得说明地是,在本实施例中,在扩容装置确定原始数据已经迁移至新增数据库之后,对当前数据进行分别存储,即采用原始数据库和新增数据库均存储的方式,对当前数据进行存储,这样就可以避免即便后续对新增数据库的测试验证失败时,依然能够使得原始数据库中的数据具有较高的完整性和全面性,且可以使得新增数据库中的数据具有较高的完整性(即不会造成对当前数据的丢失的问题)。
S102:获取新增数据库的路由信息,并根据新增数据库的路由信息确定数据读写系统对外提供服务的数据源链接。
基于上述分析可知,本申请提供了一种数据库的扩容方法,包括:若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至原始数据库和新增数据库,其中,原始数据库和新增数据库归属于数据读写系统,获取新增数据库的路由信息,并根据新增数据库的路由信息确定数据读写系统对外提供服务的数据源链接,在本实施例中,通过若原始数据完成迁移,则将当前数据分别存储至原始数据库和新增数据库,实现两种类型的数据库的同步存储当前数据的操作,无需停机操作,且即便新增数据库无法被使用,依然可以使得原始数据库中存储有当前数据,确保原始数据库中数据的完整性,且通过将新增数据库的路由信息确定为数据源链接,可以使得外接设备迅速定位到新增数据库,从而接受由新增数据库提供的对外服务,也就是说,通过采用本实施例的方法对数据库进行扩容处理,既可以避免因停机扩容导致的数据丢失的问题,也可以避免因平滑扩容造成的程序复杂,需要额外技术支持的问题,实现了对数据库进行扩容处理的可靠性、准确性、便捷高效性的技术效果。
请参阅图2,图2为本申请另一实施例的数据库的扩容方法的示意图。
如图2所示,该方法包括:
S201:获取原始数据库的原始数据库表信息,并获取新增数据库的新增数据库表信息。
在一些实施例中,获取原始数据库的原始数据库表信息可以包括如下步骤:
第一步骤:获取原始数据,并对原始数据进行预处理。
第二步骤:根据预处理后的原始数据生成述原始数据库表信息。
其中,预处理包括清洗处理和/或聚合处理。
示例性地,获取原始数据库表信息可以理解为:对原始数据进行清洗处理和/或聚合处理,得到预处理后的原始数据,并根据该预处理后的原始数据生成原始数据库表信息。
其中,清洗处理可以理解为:将原始数据中的重复数据删除,和/或,将原始数据中的错误数据进行纠正。
聚合处理可以理解为:将原始数据中相同类型的数据进行合并。
一般而言,预处理后的原始数据的量,与原始数据库表信息,成正相关关系,如预处理后的原始数据的量越大,则原始数据库表信息的量越多,具体可以为原始数据库表的量越多。
值得说明地是,在本实施例中,通过对原始数据进行清洗处理,可以使得原始数据库表信息相对更为精简,避免了冗余;通过聚合处理,可以提高原始数据表信息的高度完整性。
S202:根据原始数据库表信息对新增数据库表信息进行哈希取余处理,得到迁移信息。
其中,迁移信息指示原始数据在新增数据库的位置信息。
在一些实施例中,原始数据库表信息包括每一原始数据库表的标识,新增数据库表信息包括新增数据库表的总数量,S202可以包括如下步骤:
第一步骤:计算每一原始数据表的标识的哈希值。
第二步骤:根据每一哈希值对总数量进行取余处理,得到迁移信息。
其中,迁移信息用于表征每一原始数据表与新增数据库表之间的存储映射关系,即基于迁移信息,可以确定每一原始数据表对应的原始数据,可以存储至哪一个新增数据库表中。
值得说明地是,在本实施例中,通过计算哈希值,并基于哈希值进行取余处理,得到迁移信息,可以实现在新增数据库中,对原始数据进行较为平均的分配,从而实现均衡新增数据库的负载,提高新增数据库的整体运行效率,且延长新增数据库的整体使用寿命的技术效果。
在一些实施例中,总数量是基于原始数据的属性信息确定的,属性信息包括:原始数据的数量和/或根据原始数据预测得到的数据增长信息。
其中,总数量与原始数据的数量之间成正相关关系。例如,若原始数据的数量越多,则总数量越多;反之,若原始数据的数量越少,则总数量越少。
总数量与数据增长信息之间成正相关关系。例如,若数据增长信息越高,则总数量越多;反之,若数据增长信息越低,则总数量越少。
若属性信息包括原始数据的数量和数据增长信息,则可以为原始数据的数量和数据增长信息分别分配系数,并基于原始数据的数量、数据增长信息、以及各自对应的系数,确定总数量。
值得说明地是,在本实施例中,通过根据原始数据的数量和/或数据增长信息,确定总数量,可以实现资源的合理利用。
S203:根据迁移信息将原始数据库中的数据迁移至新增数据库。
示例性地,扩容装置在确定出迁移信息之后,相当于原始数据在新增数据库中的存储位置已经确定,则扩容装置可以基于迁移信息对原始数据进行迁移处理。
值得说明地是,在本实施例中,通过根据原始数据库表信息对新增数据库表信息进行哈希取余处理,得到迁移信息,可以实现对原始数据在新增数据库中的快速定位,且可以实现将原始数据平均迁移至新增数据库中,提高了数据迁移的效率和可靠性,且均衡了新增数据库的负载。
在一些实施例中,可以通过并行迁移的方式将原始数据迁移至新增数据库中。
示例性地,扩容装置可以基于迁移信息调用不同的线程,为不同的线程分配迁移任务,以便各线程并行执行各自对应的迁移任务。
值得说明地是,在本实施例中,通过并行迁移的方式对原始数据进行迁移,可以提高数据迁移的效率。
S204:若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至原始数据库和新增数据库。
其中,原始数据库和新增数据库归属于数据读写系统。
示例性地,关于S204地描述,可以参见S101,此处不再赘述。
S205:将数据读写系统对外提供数据读写服务的数据库的路由信息,调整为新增数据库的路由信息。
S206:根据新增数据库的路由信息确定数据源链接。
值得说明地是,在本实施例中,通过在将原始数据迁移至新增数据库,且将当前数据既存储于原始数据库,又存储于新增数据库中之后,将数据库的路由信息调整为新增数据库的路由信息,进而确定数据源链接,可以提高数据读写系统对外提供数据读写服务的可靠性和准确性的技术效果。
在一些实施例中,在将新增数据库的路由信息调整为对外提供数据读写服务的数据库的路由信息之后,可以对数据读写系统的数据读写服务进行验证,且具体为对新增数据库的数据读写服务进行验证,若验证通过,即说明可以由新增数据库完成数据读写服务,则执行S206(即根据新增数据库的路由信息确定数据源链接),以提高对外提供数据读写服务的准确性和可靠性的技术效果。
在一些实施例中,S206可以包括如下步骤:
第一步骤:基于新增数据库的路由信息对数据读写系统对外提供数据读写服务的配置信息进行调整,得到调整后的配置信息。
第二步骤:根据调整后的配置信息生成数据源链接。
值得说明地是,在本实施例中,通过在基于新增数据库的路由信息确定调整后的配置信息,并根据调整后的配置信息生成数据源链接,可以使得数据源链接具有较高的可靠性和准确性,以使得外接设备可以通过数据源链接准确且可靠地向数据读写系统写入或读取数据的技术效果。
S207:对数据源链接进行初始化处理,并根据初始化处理后的数据源链接对数据读写系统进行数据读写操作。
请参与图3,图3为本申请一个实施例的数据库的扩容装置的示意图。
如图3所示,数据库的扩容装置300包括:
存储单元301,用于若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至所述原始数据库和所述新增数据库,所述原始数据库和所述新增数据库归属于数据读写系统。
第一获取单元302,用于获取所述新增数据库的路由信息。
确定单元303,用于根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接。
请参与图4,图4为本申请另一实施例的数据库的扩容装置的示意图。
如图4所示,数据库的扩容装置400包括:
第二获取单元401,用于获取原始数据库的原始数据库表信息。
如图4所示,在一些实施例中,第二获取单元401包括:
获取子单元4011,用于获取原始数据。
预处理子单元4012,用于对原始数据进行预处理,其中,预处理包括清洗处理和/或聚合处理。
生成子单元4013,用于根据预处理后的原始数据生成原始数据库表信息。
第三获取单元402,用于获取新增数据库的新增数据库表信息。
处理单元403,用于根据原始数据库表信息对新增数据库表信息进行哈希取余处理,得到迁移信息,其中,迁移信息指示原始数据在新增数据库的位置信息。
如图4所示,在一些实施例中,原始数据库表信息包括每一原始数据库表的标识,新增数据库表信息包括新增数据库表的总数量,处理单元403包括:
计算子单元4031,用于计算每一原始数据表的标识的哈希值。
处理子单元4032,用于根据每一哈希值对总数量进行取余处理,得到迁移信息。
在一些实施例中,总数量是基于原始数据的属性信息确定的,属性信息包括:原始数据的数量和/或根据原始数据预测得到的数据增长信息。
迁移单元404,用于根据迁移信息将原始数据库中的数据迁移至新增数据库。
存储单元405,用于若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至原始数据库和新增数据库,原始数据库和新增数据库归属于数据读写系统。
第一获取单元406,用于获取新增数据库的路由信息。
确定单元407,用于根据新增数据库的路由信息确定数据读写系统对外提供服务的数据源链接。
如图4所示,在一些实施例中,确定单元407包括:
调整子单元4071,用于将数据读写系统对外提供数据读写服务的数据库的路由信息,调整为新增数据库的路由信息。
确定子单元4072,用于根据新增数据库的路由信息确定数据源链接。
初始化单元408,用于对数据源链接进行初始化处理。
操作单元409,用于根据初始化处理后的数据源链接对数据读写系统进行数据读写操作。
根据本申请的实施例,本申请还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是根据本申请实施例的数据库的扩容方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的数据库的扩容方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据库的扩容方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据库的扩容方法对应的程序指令/单元。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据库的扩容方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据库的扩容方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至数据库的扩容方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
数据库的扩容方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与数据库的扩容方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算机程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算机程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、区块链服务网络(Block-chain-based Service Network,BSN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的另一个方面,本申请实施例还提供了一种数据读写系统,数据读写系统包括:原始数据库、新增数据库、以及如上任一实施例所述的扩容装置。
请参阅图6,图6为本申请实施例的数据读写系统的示意图。
如图6所示,数据读写系统600包括:原始数据库601、新增数据库602、大数据平台603(可以包括扩容装置)、内容分发服务装置(Content Distribution Service,CDS)604、线上交互装置605,其中,
原始数据库601,用于在扩容处理之前,基于线上交互装置605产生的数据(称为原始数据),还用于在扩容处理时,基于线上交互装置605产生的数据(称为当前数据)。
新增数据库602,用于在扩容处理时,基于线上交互装置605产生的数据(称为当前数据),且用于存储从原始数据库601中迁移的原始数据。
需要说明地是,图6只是以一个原始数据库601和一个新增数据库602为例,对数据读写系统600中的数据库的数量进行示范性地展示,而不能理解为对数据库的数量的限定,且原始数据库601的数量与新增数据库602的数量之间,并不必然成一定的正相关或者负相关的关系。
示例性地,原始数据库601的数量可以为一个,新增数据库602的数量可以为4个,也可以为8个,等等。
线上交互装置605可以为线上交互装置,如ABS装置等。
大数据平台603,用于从线上交互装置605抽取数据(包括原始数据和当前数据),若在扩容处理前,则将抽取的原始数据存储至原始数据库601,若在扩容处理时,则将抽取到的当前数据既存储于原始数据库601,又存储于新增数据库602。
大数据平台603还用于,对原始数据进行预处理(如清洗处理和/或聚合处理),将预处理后的原始数据迁移至新增数据库602。
也就是说,在本实施例中,在扩容处理时,原始数据库601新增数据库602均为运行状态,大数据平台603同时将当前数据存储原始数据库601和新增数据库602,保障异常回滚。即若扩容失败,则原始数据库601中的数据不会丢失。
大数据平台603还用于,在完成原始数据的迁移之后,修改得到数据读写系统600对外提供服务的数据源链接,并进行初始化。
用户可以基于数据源链接,依次通过线上交互装置605和内容分发服务装置604,从新增数据库602中读取数据和/或写入数据。
其中,内容分发服务装置604可以支持分库分表、读写分离和数据运维等诸多功能,从而可以实现提供高性能、高并发和高可靠的数据读写服务。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (13)
1.一种数据库的扩容方法,所述方法包括:
若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至所述原始数据库和所述新增数据库,所述原始数据库和所述新增数据库归属于数据读写系统;
获取所述新增数据库的路由信息,并根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接。
2.根据权利要求1所述的方法,其中,根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接,包括:
将所述数据读写系统对外提供数据读写服务的数据库的路由信息,调整为所述新增数据库的路由信息;
根据所述新增数据库的路由信息确定所述数据源链接。
3.根据权利要求2所述的方法,其中,根据所述新增数据库的路由信息确定所述数据源链接,包括:
基于所述新增数据库的路由信息对所述数据读写系统对外提供数据读写服务的配置信息进行调整,得到调整后的配置信息,并根据所述调整后的配置信息生成所述数据源链接。
4.根据权利要求1至3中任一项所述的方法,在将获取到的当前数据分别存储至所述原始数据库和所述新增数据库之前,所述方法还包括:
获取所述原始数据库的原始数据库表信息,并获取所述新增数据库的新增数据库表信息;
根据所述原始数据库表信息对所述新增数据库表信息进行哈希取余处理,得到迁移信息,并根据所述迁移信息将原始数据库中的数据迁移至所述新增数据库,其中,所述迁移信息指示所述原始数据在所述新增数据库的位置信息。
5.根据权利要求4所述的方法,其中,所述原始数据库表信息包括每一原始数据库表的标识,所述新增数据库表信息包括新增数据库表的总数量;根据所述原始数据库表信息对所述新增数据库表信息进行哈希取余处理,得到迁移信息,包括:
计算每一原始数据表的标识的哈希值,根据每一哈希值对所述总数量进行取余处理,得到所述迁移信息。
6.根据权利要求5所述的方法,其中,所述总数量是基于所述原始数据的属性信息确定的,所述属性信息包括:所述原始数据的数量和/或根据所述原始数据预测得到的数据增长信息。
7.根据权利要求4所述的方法,其中,获取所述原始数据库的原始数据库表信息,包括:
获取所述原始数据,并对所述原始数据进行预处理,并根据预处理后的原始数据生成所述原始数据库表信息,其中,所述预处理包括清洗处理和/或聚合处理。
8.根据权利要求1所述的方法,在根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接之后,所述方法还包括:
对所述数据源链接进行初始化处理,并根据初始化处理后的数据源链接对所述数据读写系统进行数据读写操作。
9.一种数据库的扩容装置,包括:
存储单元,用于若确定原始数据库中的原始数据已迁移至新增数据库,则将获取到的当前数据分别存储至所述原始数据库和所述新增数据库,所述原始数据库和所述新增数据库归属于数据读写系统;
第一获取单元,用于获取所述新增数据库的路由信息;
确定单元,用于根据所述新增数据库的路由信息确定所述数据读写系统对外提供服务的数据源链接。
10.一种电子设备,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至8中任一项所述的方法。
13.一种数据库的扩容系统,包括:原始数据库、新增数据库、以及如权利要求9所述的扩容装置;其中,
所述原始数据库,用于存储扩容处理之前的原始数据,且用于存储扩容处理时的当前数据;
所述新增数据库,用于存储扩容处理时的当前数据,且用于存储从所述原始数据库迁移的当前数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110512918.4A CN113239011A (zh) | 2021-05-11 | 2021-05-11 | 数据库的扩容方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110512918.4A CN113239011A (zh) | 2021-05-11 | 2021-05-11 | 数据库的扩容方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113239011A true CN113239011A (zh) | 2021-08-10 |
Family
ID=77133539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110512918.4A Pending CN113239011A (zh) | 2021-05-11 | 2021-05-11 | 数据库的扩容方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113239011A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500576A (zh) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | 分布式缓存扩缩容方法、系统、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132949A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN110858194A (zh) * | 2018-08-16 | 2020-03-03 | 北京京东尚科信息技术有限公司 | 一种数据库扩容的方法和装置 |
CN111400273A (zh) * | 2019-11-19 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据库扩容方法、装置、电子设备及机器可读存储介质 |
CN111930716A (zh) * | 2020-07-31 | 2020-11-13 | 中国工商银行股份有限公司 | 一种数据库扩容方法、装置及系统 |
-
2021
- 2021-05-11 CN CN202110512918.4A patent/CN113239011A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132949A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN110858194A (zh) * | 2018-08-16 | 2020-03-03 | 北京京东尚科信息技术有限公司 | 一种数据库扩容的方法和装置 |
CN111400273A (zh) * | 2019-11-19 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据库扩容方法、装置、电子设备及机器可读存储介质 |
CN111930716A (zh) * | 2020-07-31 | 2020-11-13 | 中国工商银行股份有限公司 | 一种数据库扩容方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500576A (zh) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | 分布式缓存扩缩容方法、系统、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157393B2 (en) | Performance testing platform that enables reuse of automation scripts and performance testing scalability | |
US20170220393A1 (en) | Autonomous dynamic optimization of platform resources | |
EP3869336A1 (en) | Method and apparatus for processing development machine operation task, device and storage medium | |
CN111273872A (zh) | 一种数据迁移方法、装置、设备和介质 | |
JP7492079B2 (ja) | クラウドプラットフォームを更新するための方法及び装置 | |
CN112565356A (zh) | 数据存储方法、装置以及电子设备 | |
CN113312337A (zh) | 应用配置模型的构建方法和装置 | |
CN111782181A (zh) | 代码生成方法、装置、电子设备以及存储介质 | |
CN111782341A (zh) | 用于管理集群的方法和装置 | |
CN113239011A (zh) | 数据库的扩容方法、装置及系统 | |
CN111563253B (zh) | 智能合约运行方法、装置、设备及存储介质 | |
CN111767149B (zh) | 调度方法、装置、设备及存储设备 | |
US11635948B2 (en) | Systems and methods for mapping software applications interdependencies | |
CN112069155A (zh) | 数据多维分析模型生成方法和装置 | |
CN111339187A (zh) | 基于智能合约的数据处理方法、装置、设备和存储介质 | |
CN111767169A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115640280A (zh) | 数据迁移方法及装置 | |
US11237914B2 (en) | Intelligent handling of consistency level of virtual machines | |
JP2021118004A (ja) | グラフ計算の処理方法、装置、電子機器及び記憶媒体 | |
CN111614494B (zh) | 网络资源的仿真方法、装置、电子设备和计算机可读存储介质 | |
CN112437152B (zh) | 崩溃处理方法、装置、电子设备和存储介质 | |
CN114238169A (zh) | 数据缓存方法以及装置 | |
CN115796254A (zh) | 数据处理方法、装置、芯片、设备及介质 | |
CN111782357A (zh) | 标签控制方法及装置、电子设备和可读存储介质 | |
CN115858115A (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 | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176 Applicant before: Jingdong Digital Technology Holding Co.,Ltd. |
|
CB02 | Change of applicant information |