一种数据库扩容的方法和装置制造方法及图纸

技术编号:21628648 阅读:34 留言:0更新日期:2019-07-17 11:00
本发明专利技术公开了一种数据库的扩容方法和装置,涉及计算机技术领域。该方法的一个具体实施方式包括:建立主数据库的扩容数据库;其中所述扩容数据库与所述主数据库的数据保持同步;根据预设规则配置所述扩容数据库的路由规则,以及根据所述预设规则替换所述主数据库的原有路由规则;取消所述扩容数据库与所述主数据库之间的同步。该实施方式能够在数据库备份的同时为数据库进行扩容,从而降低占用系统服务的时间和成本,提高效率。

A Method and Device for Database Expansion

【技术实现步骤摘要】
一种数据库扩容的方法和装置
本专利技术涉及计算机
,尤其涉及一种数据库扩容的方法、装置、电子设备和计算机可读介质。
技术介绍
随着信息技术的快速发展,对于一个系统而言,数据量及访问量有着井喷式的增长,随着数据量的不断增加,会导致现有数据库的存储空间不足,数据量的增多,也导致查询量增加,对查询效率的要求也越高,此时,就应该从数据库层面上进行扩容,增加存储空间,形成多数据库存储架构。现有数据库扩容方法需要停止系统服务,在数据静止状态下,将原数据库中的部分数据转移至扩容的数据库中,然后再开启服务。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:现有方法需要中断系统服务,占用系统服务时间,扩容成本高,效率低。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据库扩容的方法和装置,能够在数据库备份的同时为数据库进行扩容,从而降低占用系统服务的时间和成本,提高效率。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据库的扩容方法,包括:建立主数据库的扩容数据库;其中所述扩容数据库与所述主数据库的数据保持同步;根据预设规则配置所述扩容数据库的路由规则,以及根据所述预设规则替换所述主数据库的原有路由规则;取消所述扩容数据库与所述主数据库之间的同步。可选地,所述主数据库的原有路由规则符合所述预设规则,所述预设规则为根据待存储数据的标识将所述数据存储至相应的数据库中。可选地,取消所述扩容数据库与所述主数据库之间的同步之后,所述方法还包括:删除所述主数据库中不符合替换后的路由规则的数据;删除所述扩容数据库中不符合所述扩容数据库的路由规则的数据。可选地,所述预设规则包括:对于任意一个待存储数据,根据i的值将所述待存储数据存储至相应的数据库中;其中,A为所述待存储数据的标识,i=f(A)%N,f(A)为预定义映射函数,N为扩容后的主数据库和扩容数据库的数量之和,i=0,1,2,…,N-1。可选地,取消所述扩容数据库与所述主数据库之间的同步的步骤之前,所述方法还包括:监测所述主数据库和所述扩容数据库中的数据传输是否异常,若存在异常,则取消所述扩容数据库的路由规则,以及回滚所述主数据库的路由规则。为实现上述目的,根据本专利技术实施例的另一个方面,提供了一种数据库的扩容装置,包括:同步模块,用于建立主数据库的扩容数据库;其中所述扩容数据库与所述主数据库的数据保持同步;路由模块,用于根据预设规则配置所述扩容数据库的路由规则,以及根据所述预设规则替换所述主数据库的原有路由规则;所述同步模块还用于在所述路由模块根据预设规则配置所述扩容数据库的路由规则,以及根据所述预设规则替换所述主数据库的原有路由规则之后,取消所述扩容数据库与所述主数据库之间的同步。可选地,所述主数据库的原有路由规则符合所述预设规则,所述预设规则为根据待存储数据的标识将所述数据存储至相应的数据库中。可选地,所述装置还包括:清理模块,在所述同步模块取消所述扩容数据库与所述主数据库之间的同步之后,用于删除所述主数据库中不符合替换后的路由规则的数据,以及,删除所述扩容数据库中不符合所述扩容数据库的路由规则的数据。可选地,所述预设规则包括:对于任意一个待存储数据,根据i的值将所述待存储数据存储至相应的数据库中;其中,A为所述待存储数据的标识,i=f(A)%N,f(A)为预定义映射函数,N为扩容后的主数据库和扩容数据库的数量之和,i=0,1,2,…,N-1。为实现上述目的,根据本专利技术实施例的再一个方面,提供了一种用于数据库扩容的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现一种数据库的扩容方法中任一所述的方法。可选地,所述装置还包括:监测模块,用于在所述同步模块取消所述扩容数据库与所述主数据库之间的同步之前,监测所述主数据库和所述扩容数据库中的数据传输是否异常,若存在异常,则取消所述扩容数据库的路由规则,以及回滚所述主数据库的路由规则。为实现上述目的,根据本专利技术实施例的再一个方面,提供了一种用于数据库扩容的计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现一种数据库的扩容方法中任一所述的方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用在数据库备份的同时为数据库进行扩容的技术手段,所以克服了占用系统服务时间转移数据的技术问题,进而达到降低占用系统服务的时间和成本,提高效率的技术效果。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的一种数据库的扩容方法的主要步骤的示意图;图2是根据本专利技术实施例的一种数据库的扩容方法的优选流程图;图3是根据本专利技术实施例的一种数据库的扩容装置的主要部分的示意图;图4是本专利技术实施例可以应用于其中的示例性系统架构图;图5是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的一种数据库的扩容方法的主要步骤的示意图,如图1所示:步骤S101表示建立主数据库的扩容数据库;其中所述扩容数据库与所述主数据库的数据保持同步;此步骤的作用是为主数据库建立副本,可以起到数据备份的作用,同时为主数据库扩容做准备,节约扩容所需时间。可使用databus(一款低延迟的分布式数据库同步系统)对数据进行同步。步骤S102表示根据预设规则配置所述扩容数据库的路由规则,以及根据所述预设规则替换所述主数据库的原有路由规则;此步骤的作用是通过增加扩容数据库的路由规则和修改主数据库的路由规则,来使扩容数据库和主数据库一样具有路由功能,增加了具有路由功能的数据库的数量,为系统提供服务。其中,所述主数据库的原有路由规则也要符合所述预设规则,所述预设规则为根据待存储数据的标识将所述数据存储至相应的数据库中,本专利技术实施例中的路由规则不限于用于存储的路由规则,该路由规则还用于数据的访问等操作。可以选取待存储数据的用户ID或来源IP地址作为标识,对于任意一个待存储数据,根据i的值将所述待存储数据存储至相应的数据库中;其中,A为所述待存储数据的标识,i=f(A)%N,f(A)为预定义映射函数,N为扩容后的主数据库和扩容数据库的数量之和,i=0,1,2,…,N-1。例如,现有主数据库0和主数据库1,为其分别建立具有数据同步功能的对应的扩容数据库2和数据库3,预定义映射函数可以构造一种哈希映射,将待存储数据的标识A转换为0~9之间的任意数,主数据库0的原有路由规则为f(A)%2=0,表示某一数据的f(A)被2整除的余数为0时,该数据被存入主数据库0,主数据库1的原有路由规则为f(A)%2=1,表示某一数据的f(A)被2整除的余数为1时,该数据被存入主数据库1。对主数据库0和主数据库1进行扩容时,根据预设规则,本文档来自技高网...

【技术保护点】
1.一种数据库的扩容方法,其特征在于,包括:建立主数据库的扩容数据库;其中所述扩容数据库与所述主数据库的数据保持同步;根据预设规则配置所述扩容数据库的路由规则,以及根据所述预设规则替换所述主数据库的原有路由规则;取消所述扩容数据库与所述主数据库之间的同步。

【技术特征摘要】
1.一种数据库的扩容方法,其特征在于,包括:建立主数据库的扩容数据库;其中所述扩容数据库与所述主数据库的数据保持同步;根据预设规则配置所述扩容数据库的路由规则,以及根据所述预设规则替换所述主数据库的原有路由规则;取消所述扩容数据库与所述主数据库之间的同步。2.根据权利要求1所述的方法,其特征在于,所述主数据库的原有路由规则符合所述预设规则,所述预设规则为根据待存储数据的标识将所述数据存储至相应的数据库中。3.根据权利要求2所述的方法,其特征在于,取消所述扩容数据库与所述主数据库之间的同步之后,所述方法还包括:删除所述主数据库中不符合替换后的路由规则的数据;删除所述扩容数据库中不符合所述扩容数据库的路由规则的数据。4.根据权利要求2所述的方法,其特在于,所述预设规则包括:对于任意一个待存储数据,根据i的值将所述待存储数据存储至相应的数据库中;其中,A为所述待存储数据的标识,i=f(A)%N,f(A)为预定义映射函数,N为扩容后的主数据库和扩容数据库的数量之和,i=0,1,2,…,N-1。5.根据权利要求1所述的方法,其特征在于,取消所述扩容数据库与所述主数据库之间的同步的步骤之前,所述方法还包括:监测所述主数据库和所述扩容数据库中的数据传输是否异常,若存在异常,则取消所述扩容数据库的路由规则,以及回滚所述主数据库的路由规则。6.一种数据库的扩容装置,其特征在于,包括:同步模块,用于建立主数据库的扩容数据库;其中所述扩容数据库与所述主数据库的数据保持同步;路由模块,用于根据预设规则配置所述扩容数据库的路由规则,以及根据所述预设规则替换所述主数据库的原有路由规则;所述同步模块还用于在所述路由模块根据...

【专利技术属性】
技术研发人员:于明辉
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1