数据库的操作方法、系统、设备和介质与流程

文档序号:18940172发布日期:2019-10-23 01:05阅读:188来源:国知局
数据库的操作方法、系统、设备和介质与流程

本发明涉及数据库领域,特别涉及数据库的操作方法、系统、设备和介质。



背景技术:

数据库的空间碎片会造成空间的浪费,也会使数据库的响应时间变长。现在常用的数据库的空间整理方法包括以下两种。

第一种是直接在数据库上操作,以进行数据库的空间整理。该方法可能需要锁定数据结构,在整个操作的过程中被锁定的数据无法进行修改,从而可能影响数据库的正常使用。此外,该方法需要额外的cpu、内存、磁盘等,对原有的数据库性能可能产生影响。最后,主从数据之间可能有较大的延时。

第二种是通过一些工具以迂回的方式操作,以进行数据库的空间整理。类似地,该方法也可能需要锁定数据结构,在整个操作的过程中被锁定的数据无法进行修改,从而可能影响数据库的正常使用。此外,该方法也需要额外的cpu、内存、磁盘等,对原有的数据库性能可能产生影响。最后,主从数据之间也可能有较大的延时。

类似地,现在常用的数据库的数据结构变更方法也包括上述两种,这些方法也存在上述的缺陷。



技术实现要素:

本发明的目的在于提供数据库的操作方法、系统、设备和介质,结合云的特性,可以在更节省资源和成本的同时,消除额外的cpu、内存、磁盘等的消耗,对业务的影响时间短,并且消除同步的延时。

本发明公开了一种数据库的操作方法,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步,方法包括:

接收数据库的空间整理指令和/或数据结构变更指令;

根据数据库的空间整理指令和/或数据结构变更指令,在第二数据库上进行空间整理操作和/或数据结构变更操作;

将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库;

根据数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作。

可选地,在将操作后的第二数据库切换为新的第一数据库之前,确定操作后的第二数据库的数据是否与第一数据库的数据保持同步;如果是,则将操作后的第二数据库切换为新的第一数据库;如果否,则更新操作后的第二数据库的数据以与第一数据库的数据保持同步,并且将更新后的第二数据库切换为新的第一数据库。

可选地,通过虚拟ip,将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库。

本发明公开了一种数据库的操作系统,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步,系统包括接收模块、操作模块和切换模块;

接收模块接收数据库的空间整理指令和/或数据结构变更指令;

操作模块根据数据库的空间整理指令和/或数据结构变更指令,在第二数据库上进行空间整理操作和/或数据结构变更操作;

切换模块将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库;

操作模块还根据数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作。

可选地,系统还包括确定模块和更新模块;在切换模块将操作后的第二数据库切换为新的第一数据库之前,确定模块确定操作后的第二数据库的数据是否与第一数据库的数据保持同步;如果是,则切换模块将操作后的第二数据库切换为新的第一数据库;如果否,则更新模块更新操作后的第二数据库的数据以与第一数据库的数据保持同步,并且切换模块将更新后的第二数据库切换为新的第一数据库。

可选地,切换模块通过虚拟ip,将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库。

本发明公开了一种数据库的操作设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施数据库的操作方法,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步,方法包括:

接收数据库的空间整理指令和/或数据结构变更指令;

根据数据库的空间整理指令和/或数据结构变更指令,在第二数据库上进行空间整理操作和/或数据结构变更操作;

将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库;

根据数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作。

本发明公开了一种使用计算机程序编码的计算机存储介质,计算机程序包括指令,指令被一个以上的计算机执行以实施数据库的操作方法,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步,方法包括:

接收数据库的空间整理指令和/或数据结构变更指令;

根据数据库的空间整理指令和/或数据结构变更指令,在第二数据库上进行空间整理操作和/或数据结构变更操作;

将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库;

根据数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作。

本发明与现有技术相比,主要区别及其效果在于:

首先,本发明可以根据云上等提供的数据库高可用方案(或主备方案)来设置数据库,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步,其中第一数据库可以为主数据库,第二数据库可以为从数据库(或备份数据库),用户可以在第一数据库上进行操作,可以在更节省资源和成本的同时,消除额外的cpu、内存、磁盘等的消耗,并且消除同步的延时。

其次,本发明当接收到来自用户的数据库的空间整理指令和/或数据结构变更指令时,该指令被发送到第二数据库,并且根据该指令,在第二数据库上进行空间整理操作和/或数据结构变更操作,在对第二数据库进行操作之后,将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库,用户可以在新的第一数据库上继续进行操作,对业务的影响时间短。

再次,本发明在将第一数据库切换为新的第二数据库之后,根据上述的数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作,从而新的第二数据库与新的第一数据库都已经根据数据库的空间整理指令和/或数据结构变更指令进行了空间整理操作和/或数据结构变更操作,保证两个数据库的数据空间和/或数据结构保持一致。

最后,本发明如果在对第二数据库进行空间整理操作和/或数据结构变更操作期间,接收到来自用户的读写等指令时,该指令被发送到第一数据库,从而用户依然可以在第一数据库上进行读写等操作。在将操作后的第二数据库切换为新的第一数据库之前,确定操作后的第二数据库的数据是否与第一数据库的数据保持同步,如果否,则更新操作后的第二数据库的数据以与第一数据库的数据保持同步,从而在对第二数据库进行空间整理操作和/或数据结构变更操作期间,由用户在第一数据库上进行的读写等操作可以被更新到操作后的第二数据库。在将更新后的第二数据库切换为新的第一数据库之后,用户可以在新的第一数据库上继续进行操作,对业务的影响时间短。

附图说明

图1是本发明的数据库的操作方法的计算机终端的硬件结构框图;

图2是根据本发明第一实施方式的数据库的操作方法的示意图;

图3是根据本发明第一实施方式的数据库的操作方法的流程示意图;

图4是根据本发明第二实施方式的数据库的操作系统的结构示意图。

具体实施方式

为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明实施方式,提供了一种数据库的操作方法的实施方式,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请方式所提供的方法实施方式可以在移动终端、计算机终端或者服务器中执行。以运行在计算机终端上为例,图1是根据本发明实施方式的数据库的操作方法的计算机终端的硬件结构框图。如图1所示,计算机终端100可以包括一个或多个(图中仅示出一个)处理器101(处理器101可以包括但不限于中央处理器cpu、图像处理器gpu、数字信号处理器dsp、微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于与用户交互的输入输出接口102、用于存储数据的存储器103、以及用于通信功能的传输装置104,处理器101、输入输出接口102、存储器103以及传输装置104经由总线105彼此连接。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器103可用于存储数据库、队列、应用软件的软件程序以及模块,如本发明实施方式中的数据库的操作方法对应的程序指令/模块,处理器101通过运行存储在存储器103内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据库的操作方法。存储器103可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器103可进一步包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置104用于经由网络接收或者发送数据,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。上述的网络具体实例可包括计算机终端100的通信供应商提供的互联网。

本发明的第一实施方式涉及一种数据库的操作方法,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步。

图2是该数据库的操作方法的示意图。具体地,如图2所示,根据云上等提供的数据库高可用方案(或主备方案)来设置数据库,数据库包括第一数据库a1和第二数据库a2,第二数据库a2的数据与第一数据库a1的数据保持同步,其中第一数据库a1可以为主数据库,第二数据库a2可以为从数据库(或备份数据库),用户可以在第一数据库a1上进行操作,可以在更节省资源和成本的同时,消除额外的cpu、内存、磁盘等的消耗,并且消除同步的延时。

可以通过虚拟ip(vip)在第一数据库a1和第二数据库a2之间进行切换。当接收到来自用户的数据库的空间整理指令和/或数据结构变更指令时,该指令被发送到第二数据库a2,并且根据该指令,在第二数据库a2上进行空间整理操作和/或数据结构变更操作,在对第二数据库a2进行操作之后,将操作后的第二数据库a2切换为新的第一数据库a1,并且将第一数据库a1切换为新的第二数据库a2,用户可以在新的第一数据库a1上继续进行操作,对业务的影响时间短。

在将第一数据库a1切换为新的第二数据库a2之后,根据上述的数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库a2上进行空间整理操作和/或数据结构变更操作,从而新的第二数据库a2与新的第一数据库a1都已经根据数据库的空间整理指令和/或数据结构变更指令进行了空间整理操作和/或数据结构变更操作,保证两个数据库的数据空间和/或数据结构保持一致。

如果在对第二数据库a2进行空间整理操作和/或数据结构变更操作期间,接收到来自用户的读写等指令时,该指令被发送到第一数据库a1,从而用户依然可以在第一数据库a1上进行读写等操作。在将操作后的第二数据库a2切换为新的第一数据库a1之前,确定操作后的第二数据库a2的数据是否与第一数据库a1的数据保持同步,如果否,则更新操作后的第二数据库a2的数据以与第一数据库a1的数据保持同步,从而在对第二数据库a2进行空间整理操作和/或数据结构变更操作期间,由用户在第一数据库a1上进行的读写等操作可以被更新到操作后的第二数据库a2。在将更新后的第二数据库a2切换为新的第一数据库a1之后,用户可以在新的第一数据库a1上继续进行操作,对业务的影响时间短。

图3是该数据库的操作方法的流程示意图。具体地,如图3所示,该数据库的操作方法包括以下步骤:

步骤302,接收数据库的空间整理指令和/或数据结构变更指令;

步骤304,根据数据库的空间整理指令和/或数据结构变更指令,在第二数据库上进行空间整理操作和/或数据结构变更操作;

步骤306,将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库;

步骤308,根据数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作。

其中,根据云上等提供的数据库高可用方案(或主备方案)来设置数据库,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步,其中第一数据库可以为主数据库,第二数据库可以为从数据库(或备份数据库),用户可以在第一数据库上进行操作,可以在更节省资源和成本的同时,消除额外的cpu、内存、磁盘等的消耗,并且消除同步的延时。

其中,可以通过虚拟ip在第一数据库和第二数据库之间进行切换。当接收到来自用户的数据库的空间整理指令和/或数据结构变更指令时,该指令被发送到第二数据库,并且根据该指令,在第二数据库上进行空间整理操作和/或数据结构变更操作,在对第二数据库进行操作之后,将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库,用户可以在新的第一数据库上继续进行操作,对业务的影响时间短。

其中,在将第一数据库切换为新的第二数据库之后,根据上述的数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作,从而新的第二数据库与新的第一数据库都已经根据数据库的空间整理指令和/或数据结构变更指令进行了空间整理操作和/或数据结构变更操作,保证两个数据库的数据空间和/或数据结构保持一致。

可选地,在将操作后的第二数据库切换为新的第一数据库之前,确定操作后的第二数据库的数据是否与第一数据库的数据保持同步;如果是,则将操作后的第二数据库切换为新的第一数据库;如果否,则更新操作后的第二数据库的数据以与第一数据库的数据保持同步,并且将更新后的第二数据库切换为新的第一数据库。

其中,如果在对第二数据库进行空间整理操作和/或数据结构变更操作期间,接收到来自用户的读写等指令时,该指令被发送到第一数据库,从而用户依然可以在第一数据库上进行读写等操作。在将操作后的第二数据库切换为新的第一数据库之前,确定操作后的第二数据库的数据是否与第一数据库的数据保持同步,如果否,则更新操作后的第二数据库的数据以与第一数据库的数据保持同步,从而在对第二数据库进行空间整理操作和/或数据结构变更操作期间,由用户在第一数据库上进行的读写等操作可以被更新到操作后的第二数据库。在将更新后的第二数据库切换为新的第一数据库之后,用户可以在新的第一数据库上继续进行操作,对业务的影响时间短。

可选地,通过虚拟ip,将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库。

其中,通过虚拟ip将上述来自用户的数据库的空间整理指令和/或数据结构变更指令发送到第二数据库,将上述来自用户的读写等指令发送到第一数据库,以及将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库。

本发明的第二实施方式涉及一种数据库的操作系统,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步。

图4是该数据库的操作系统的结构示意图。具体地,如图4所示,该数据库的操作系统包括接收模块、操作模块和切换模块。

接收模块接收数据库的空间整理指令和/或数据结构变更指令;

操作模块根据数据库的空间整理指令和/或数据结构变更指令,在第二数据库上进行空间整理操作和/或数据结构变更操作;

切换模块将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库;

操作模块还根据数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作。

可选地,系统还包括确定模块和更新模块;在切换模块将操作后的第二数据库切换为新的第一数据库之前,确定模块确定操作后的第二数据库的数据是否与第一数据库的数据保持同步;如果是,则切换模块将操作后的第二数据库切换为新的第一数据库;如果否,则更新模块更新操作后的第二数据库的数据以与第一数据库的数据保持同步,并且切换模块将更新后的第二数据库切换为新的第一数据库。

可选地,切换模块通过虚拟ip,将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第三实施方式涉及一种数据库的操作设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施数据库的操作方法,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步,方法包括:

接收数据库的空间整理指令和/或数据结构变更指令;

根据数据库的空间整理指令和/或数据结构变更指令,在第二数据库上进行空间整理操作和/或数据结构变更操作;

将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库;

根据数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第四实施方式涉及一种使用计算机程序编码的计算机存储介质,计算机程序包括指令,指令被一个以上的计算机执行以实施数据库的操作方法,数据库包括第一数据库和第二数据库,第二数据库的数据与第一数据库的数据保持同步,方法包括:

接收数据库的空间整理指令和/或数据结构变更指令;

根据数据库的空间整理指令和/或数据结构变更指令,在第二数据库上进行空间整理操作和/或数据结构变更操作;

将操作后的第二数据库切换为新的第一数据库,并且将第一数据库切换为新的第二数据库;

根据数据库的空间整理指令和/或数据结构变更指令,在新的第二数据库上进行空间整理操作和/或数据结构变更操作。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

需要说明的是,本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(programmablearraylogic,简称“pal”)、随机存取存储器(randomaccessmemory,简称“ram”)、可编程只读存储器(programmablereadonlymemory,简称“prom”)、只读存储器(read-onlymemory,简称“rom”)、电可擦除可编程只读存储器(electricallyerasableprogrammablerom,简称“eeprom”)、磁盘、光盘、数字通用光盘(digitalversatiledisc,简称“dvd”)等等。

需要说明的是,本发明各设备实施方式中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。

需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1