一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据库备份方法、装置、及计算设备与流程

2022-03-01 22:18:10 来源:中国专利 TAG:
1.本技术实施例涉及数据库
技术领域
:,尤其涉及一种数据库备份方法、装置、及计算设备。
背景技术
::2.目前,公司的业务都会对应于一个或多个关系型数据库管理系统(mysql)数据库,当该业务下线之后,该业务对应的一个或多个mysql数据库需要释放资源,给该业务更新后的业务对应的mysql数据库提供资源,此时需要对应释放资源的mysql数据库进行备份,以便开发人员可以基于该备份的mysql数据库对损坏的数据进行恢复和还原,或者测试更新后的业务功能是否可用等等。3.现在一般采用转储的方式对mysql数据库进行备份,但是当mysql数据库的数据量太大的时候,该方式的效率比较慢,甚至有备份失败的风险。技术实现要素:4.本技术实施例提供一种数据库备份方法、装置、及计算设备,用以解决存储有大量数据的数据库备份效率较低的问题。5.第一方面,本技术实施例中提供了一种数据库备份方法,包括:6.响应于针对原始数据库的数据库备份指令,创建备份数据库;7.根据所述原始数据库中的多个原始数据表的目标数量,在所述备份数据库创建多个备份数据表;8.将所述多个原始数据表各自对应的多个原始存储位置更改为所述多个备份数据表各自对应的多个备份存储位置,以便所述多个原始数据表的数据转移到所述多个备份数据表。9.第二方面,本技术实施例提供了一种数据库备份装置,包括:10.创建模块,用于响应于针对原始数据库的数据库备份指令,创建备份数据库;根据所述原始数据库中的多个原始数据表的目标数量,在所述备份数据库创建多个备份数据表;11.更改模块,用于将所述多个原始数据表各自对应的多个原始存储位置更改为所述多个备份数据表各自对应的多个备份存储位置,以便所述多个原始数据表的数据转移到所述多个备份数据表。12.所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。13.第三方面,本技术实施例提供了一种计算设备,包括处理组件以及存储组件;14.所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;15.所述处理组件用于:16.响应于针对原始数据库的数据库备份指令,创建备份数据库;17.根据所述原始数据库中的多个原始数据表的目标数量,在所述备份数据库创建多个备份数据表;18.将所述多个原始数据表各自对应的多个原始存储位置更改为所述多个备份数据表各自对应的多个备份存储位置,以便所述多个原始数据表的数据转移到所述多个备份数据表。19.第四方面,本技术实施例提供了一种计算机存储介质,存储有计算机程序,所述计算程序被计算机执行时,实现如第一方面所述的数据库备份方法。20.本技术实施例中,响应于针对原始数据库的数据库备份指令,创建备份数据库;根据所述原始数据库中的多个原始数据表的目标数量,在所述备份数据库创建多个备份数据表;将所述多个原始数据表各自对应的多个原始存储位置更改为所述多个备份数据表各自对应的多个备份存储位置,以便所述多个原始数据表的数据转移到所述多个备份数据表。由于将多个原始数据表各自对应的多个原始存储位置更改为所述多个备份数据表各自对应的多个备份存储位置相当于将多个原始数据表中的数据转移到备份数据库中的多个备份数据表中,从而可以快速将原始数据库中的数据转移到备份数据库中。21.本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。附图说明22.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。23.图1示出了本技术提供的数据库备份方法一个实施例的流程图;24.图2示出了本技术提供的数据库备份方法另一个实施例的流程图;25.图3示出了本技术提供的数据库备份装置一个实施例的结构示意图;26.图4示出了与本技术提供的数据库备份装置对应的结构示意图。具体实施方式27.为了使本
技术领域
:的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。28.在本技术的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。30.承接上述
背景技术
:,目前在对原始数据库进行备份的过程中,一般会采用转储(mysqldump)数据的方式,而由于转储过程中,会查询原始数据库中的各个表以及各个表中的数据,因此,当原始数据库的数据量较大时,需要耗费很多的时间去查询原始数据库中的数据,即会造成转储过程消耗的时间比较大,而且在进行转储的如下:在原始数据库中查询出数据,然后分批将数据返回备份数据库,然后将数据写入到备份数据库上。一般地,向备份数据库上写入数据的速度比在原始数据库查询之后发送数据的速度要慢得多,这就会导致无法及时的将原始数据库发送过来的数据写入备份数据库,原始数据库的数据就会积压在内存中等待发送,这个等待不是无限期的,当原始数据库中的数据超过一定时间没有被写入备份数据库,就会转储失败。31.对此,本技术实施例提供一种数据库备份方法、装置、及计算设备。其中,响应于针对原始数据库的数据库备份指令,创建备份数据库;根据所述原始数据库中的多个原始数据表的目标数量,在所述备份数据库创建多个备份数据表;多个原始数据表各自对应的多个原始存储位置更改为所述多个备份数据表各自对应的多个备份存储位置。由于将多个原始数据表各自对应的多个原始存储位置更改为所述多个备份数据表各自对应的多个备份存储位置相当于将多个原始数据表中的数据转移到备份数据库中的多个备份数据表中,从而可以快速将原始数据库中的数据转移到备份数据库中。32.图1示出了本技术提供的数据库备份方法一个实施例的流程图,其中,本实施例的技术方案可以由客户端的第三方应用程序执行,其中,该程序可以创建数据库以及接收指令。如图1所示,该方法包括:33.101、响应于针对原始数据库的数据库备份指令,创建备份数据库。34.102、根据原始数据库中的多个原始数据表的目标数量,在备份数据库创建多个备份数据表。35.一般情况下,服务器端运行有进行各种业务的程序,在客户端存储有数据库,用于支持程序的运行,当程序进行更新或者下架以后,其对应的数据库也会被删除,因此,为了在一定的时间内保存在数据库中的数据,需要对该数据库进行备份,此时,数据库备份指令可以由运行有程序的服务器端发送至客户端的第三方应用程序。从而第三方应用程序基于该数据库备份指令备份数据库。36.其中,数据库备份指令可以包括原始数据库的多个原始数据库的目标数据量以及原始数据库名称。37.一般情况下,为了表示方便,可以根据原始数据库名称对备份数据库进行命名,比如,原始数据库名为dbname,备份数据库可以为dbname1等。38.可选地,为了完整备份原始数据库中的数据,可以在备份数据库指令中获取原始数据库中的多个原始数据表的目标数量,从而创建出目标数量个备份数据表,以对应多个原始数据表。39.基于同样的道理,可以根据多个原始数据表名称对多个备份数据表进行命名。40.103、将多个原始数据表各自对应的多个原始存储位置更改为多个备份数据表各自对应的多个备份存储位置,以便多个原始数据表的数据转移到多个备份数据表。41.在一些实施例中,可以利用多个第一引用路径表示多个原始数据表中的多个原始存储位置,比如,某一表名为table原始数据表的原始存储位置为某一pc机上的c盘中名称为daname的数据库,那么该原始数据表的存储位置可以表示为第一引用路径c盘/daname/table。42.因此,可选地,将多个原始数据表各自对应的多个原始存储位置更改为多个备份数据表各自对应的多个备份存储位置可以实现为:43.确定多个原始存储位置对应的多个第一引用路径以及多个备份存储位置对应的多个第二引用路径;44.基于重命名函数,将多个第一引用路径修改为多个第二引用路径。45.可选地,基于重命名函数,将第一引用路径修改为第二引用路径包括可以实现为:基于重命名函数,确定用于指示多个第一引用路径的多个元数据;将多个元数据的引用路径字段由多个第一引用路径修改为多个第二引用路径。46.其中,多个原始数据表的引用路径用于指示多个原始数据表各自对应的存储位置,比如,某一名称为table1的原始数据表为名称为dbname的数据库的数据表,其引用路径可以为daname/table1。47.其中,重命名函数可以更改原始数据库中的元数据,而元数据可以用来指示多个原始数据表的存储位置,因此,可以利用重命名函数,将多个原始数据表中元数据指示的存储位置更改为多个备份数据表的位置。48.在一个可选的实施例中,原始数据库daname中包含有两个原始数据表,分别为原始数据表table1、原始数据表table2,基于数据库备份指令,创建备份数据表dbname1,并在备份数据表dbname1中创建两个备份数据表:原始数据表table1’、原始数据表table2’,并利用重命名函数rename更改多个原始数据表的引用路径,可选地,对应的重命名函数语句可以为:renamedbname/table1torenamedbname1/table1’;renamedbname/table1torenamedbname1/table1’,从而可以将多个原始数据库的引用路径更改为多个备份数据库的引用路径,即改变多个原始数据库的存储位置。49.由于本技术实施例中的原始数据库中的数据为下线业务对应的数据库,因此,不需要查询数据库中的数据,而只需要将原始数据库中的数据完整备份即可,因此,并不需要查询需要备份的数据,即只需要更改原始数据库中的元数据指示的存储位置,即更改原始数据库中的多个原始数据表的引用路径,就可以将原始数据库中的多个原始数据表中的数据完整备份到备份数据库中对应的多个备份数据表中。50.进一步的,由于本技术实施例改变的是原始数据库中的多个原始数据表的引用路径,因此,并不存在在原始数据库中获取数据以及将数据写入到备份数据库中,因此,也就不存在由于获取数据的速度大于写入数据的速度导致的备份失败的问题。51.本技术实施例中,响应于针对原始数据库的数据库备份指令,创建备份数据库;根据所述原始数据库中的多个原始数据表的目标数量,在所述备份数据库创建多个备份数据表;将多个原始数据表各自对应的多个原始存储位置更改为多个备份数据表各自对应的多个备份存储位置,以便多个原始数据表的数据转移到多个备份数据表。由于将多个原始数据表各自对应的多个原始存储位置更改为多个备份数据表各自对应的多个备份存储位置相当于将多个原始数据表中的数据转移到备份数据库中的多个备份数据表中,从而可以快速将原始数据库中的数据转移到备份数据库中。52.可选地,由于备份数据库是为了开发人员可以基于该备份的mysql数据库对损坏的数据进行恢复和还原,或者测试更新后的业务功能是否可用等等,因此,在新的业务运行稳定之后,会删除备份数据库以及备份数据库中的多个备份数据表,从而释放资源,以供下个备份数据库使用。53.图2示出了本技术提供的数据库备份方法一个实施例的流程图。如图2所示,在备份数据库指令中包括:备份数据库对应的第一保留时间多个备份数据表对应的第二保留时间,该方法包括:54.201、在备份数据库中保留时间字段填充第一保留时间,创建备份数据库。55.可选地,第一保留时间可以为备份数据库的保留时间,一旦时间超过第一保留时间,上述第三方应用程序就会对备份数据库进行删除。56.可选地,在创建备份数据库的过程中,可以在备份数据库中用于表示保留时间的字段中设置该第一保留时间,从而可以根据该第一保留时间对备份数据库进行删除。57.其中,第一保留时间可以根据不同的业务来灵活设定,在此不在赘述。58.202、在多个备份数据表分别对应的保留时间字段填充对应的第二时间字段,创建目标数量个备份数据表。59.对应的,第二保留时间可以为多个备份数据表的各自对应的保留时间,一旦时间超过第二保留时间,上述第三方应用程序就会对多个备份数据表进行删除。60.其中,由于多个备份数据表的保留时间可能会不一致,因此,该第二保留时间可以为多个,分别对应于多个备份数据表。61.203、将多个原始数据表各自对应的多个原始存储位置更改为多个备份数据表各自对应的多个备份存储位置。62.204、按照第二保留时间对多个备份数据表进行删除。63.205、按照第一保留时间对备份数据库进行删除。64.其中,第一保留时间在第二保留时间之后。65.可选地,当备份数据库的存储位置和原始数据库的存储位置位于同一磁盘或者同一硬盘上等同一存储位置时,可以提高数据备份的效率。66.可选地,响应于针对原始数据库的数据库备份指令,创建备份数据库包括:响应于针对原始数据库的数据库备份指令,获取数据库备份指令中原始数据库的目标存储位置;基于目标存储位置,创建备份数据库。67.本发明实施例,基于备份数据库对应的第一保留时间和与原始数据库的目标存储位置创建备份数据库,以及基于多个备份数据表对应的第二保留时间创建多个备份数据表,并且按照第一保留时间和第二保留时间分别删除备份数据库和多个备份数据表,基于目标存储位置创建数据库可以提高数据库备份的效率,同时设置第一保留时间和第二保留时间可以及时释放备份数据库的资源。68.图3示出了本技术提供的数据库备份装置一个实施例的结构示意图,该装置包括:创建模块31和更改模块32.69.创建模块31,用于响应于针对原始数据库的数据库备份指令,创建备份数据库;根据所述原始数据库中的多个原始数据表的目标数量,在所述备份数据库创建多个备份数据表;70.更改模块32,用于将所述多个原始数据表各自对应的多个原始存储位置更改为所述多个备份数据表各自对应的多个备份存储位置,以便所述多个原始数据表的数据转移到所述多个备份数据表。71.可选地,所述数据库备份指令中包括所述备份数据库对应的第一保留时间,创建模块31具体用于:72.在备份数据库中保留时间字段填充所述第一保留时间,创建备份数据库。73.可选地,所述数据库备份指令中还包括多个备份数据表对应的第二保留时间,创建模块31还具体用于:74.在所述多个备份数据表分别对应的保留时间字段填充对应的第二时间字段,创建所述目标数量个备份数据表。75.该装置还包括删除模块,用于将所述多个原始数据表的引用路径更改为所述多个备份数据表的引用路径,以便所述多个原始数据表的数据转移到所述多个备份数据表之后;76.按照所述第二保留时间对所述多个备份数据表进行删除;77.按照所述第一保留时间对所述备份数据库进行删除,所述第一保留时间在所述第二保留时间之后。78.可选地,该装置模块还包括:创建模块31,具体用于79.响应于针对原始数据库的数据库备份指令,获取所述数据库备份指令中所述原始数据库的目标存储位置;基于所述目标存储位置,创建备份数据库。80.可选地,更改模块32具体用于确定多个原始存储位置对应的多个第一引用路径以及多个备份存储位置对应的多个第二引用路径;基于重命名函数,将所述多个第一引用路径修改为多个第二引用路径。81.可选地,更改模块32进一步具体用于基于重命名函数,确定用于指示多个第一引用路径的多个元数据;将所述多个元数据的引用路径字段由所述多个第一引用路径修改为多个第二引用路径。82.图3所述的数据库备份装置可以执行图1-2所示实施例所述的数据库备份方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据库备份装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。83.在一个可能的设计中,图3所示实施例的数据库备份装置可以实现为计算设备,如图4所示,该计算设备可以包括存储组件401以及处理组件402;84.所述存储组件401存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件402调用执行。85.所述处理组件402用于:86.响应于针对原始数据库的数据库备份指令,创建备份数据库;87.根据所述原始数据库中的多个原始数据表的目标数量,在所述备份数据库创建多个备份数据表;88.将所述多个原始数据表的引用路径更改为所述多个备份数据表的引用路径,以便所述多个原始数据表的数据转移到所述多个备份数据表。89.其中,处理组件402可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。90.存储组件401被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。91.当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。92.输入/输出接口为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。93.通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。94.其中,该计算设备可以为物理设备或者云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器,上述处理组件、存储组件等可以是从云计算平台租用或购买的基础服务器资源。95.本技术实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图1-2所示实施例的数据备份方法。96.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。97.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。98.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。99.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献