数据库生成方法、装置、设备及存储介质与流程

文档序号:26361015发布日期:2021-08-20 20:37阅读:76来源:国知局
数据库生成方法、装置、设备及存储介质与流程

本发明属于虚拟化快照技术领域,尤其涉及一种数据库生成方法、装置、设备及存储介质。



背景技术:

为了保证业务在迭代过程中的质量,在业务迭代的过程中需要使用镜像数据库。

目前,镜像数据库的复制主要采用逻辑卷管理软件来实现。此时,需要服务器全部用于数据复制,服务器的存储容量需要和存储数据的生产数据库存储容量大小一致。同时,计算机的中央处理器(centralprocessingunit,中央处理器)和存储资源也只能用于一套镜像数据库的复制,导致镜像数据库在复制过程中资源需求过大。



技术实现要素:

本发明实施例提供一种数据库生成方法、装置、设备及存储介质,能够解决镜像数据库在进行复制的过程中资源需求过大的问题。

第一方面,提供了一种数据库生成方法,该方法包括:

建立种子数据库中数据的数据快照;种子数据库中数据是通过采用数据保护dataguard技术同步生产数据库中的数据得到;

确定数据快照的链接;

根据数据快照的链接,读取数据快照,生成第一镜像数据库。

在一种可能的实现方式中,在建立种子数据库中数据的数据快照之前,方法还包括:

关闭第二镜像数据库所在的第一虚拟机,并删除第二镜像数据库所在的第一虚拟机;

删除第二镜像数据库对应的数据快照。

在一种可能的实现方式中,在生成第一镜像数据库之前,该方法还包括:

根据资源池中的计算资源和存储资源,生成第二虚拟机;

第一镜像数据库保存在第二虚拟机中。

在一种可能的实现方式中,该方法还包括:

启动并打开第二虚拟机,以用于测试人员对第一镜像数据库中的数据进行测试。

在一种可能的实现方式中,在测试人员对第一镜像数据库中的数据进行测试之前,该方法还包括:

修改第二虚拟机的网络配置为接入测试网段的网络。

在一种可能的实现方式中,该方法还包括:

根据第一镜像数据库中的数据的业务类型,对第一镜像数据库中的数据进行脱敏处理。

在一种可能的实现方式中,该方法还包括:

配置变量数据的存储位置;

变量数据为测试人员对第一镜像数据库中的数据进行测试时,修改第一镜像数据库中的数据生成的数据。

第二方面,提供了一种数据库生成装置,该装置包括:

建立模块,用于建立种子数据库中数据的数据快照;种子数据库中数据是通过采用数据保护dataguard技术同步生产数据库中的数据得到;

确定模块,用于确定数据快照的链接;

生成模块,用于根据数据快照的链接,读取数据快照,生成第一镜像数据库。

第三方面,提供了一种电子设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面或者第一方面的任一可能实现方式中的方法。

第四方面,提供了一种计算机存储介质,该计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或者第一方面的任一可能实现方式中的方法。

基于提供的数据库生成方法、装置、设备及存储介质,通过数据保护(dataguard)技术同步生产数据库中的数据,生成种子数据库。通过建立种子数据库中数据的数据快照,也就是建立了种子数据库中数据的数据快照。确定数据快照的链接。基于数据快照的链接,读取数据快照,进而实现种子数据库中数据的克隆,只需要访问数据快照的链接,即可建立镜像数据库。不需要服务器全部用于数据复制,减少了建立镜像数据库过程中的资源占用。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种数据库生成方法的整体架构的结构示意图;

图2是本发明实施例提供的一种数据库生成方法的流程示意图;

图3是本发明实施例提供的另一种数据库生成方法的流程示意图;

图4是本发明实施例提供的又一种数据库生成方法的流程示意图;

图5是本发明实施例提供的再一种数据库生成方法的流程示意图;

图6是本发明实施例提供的一种数据库生成装置的结构示意图;

图7是本发明实施例提供的一种数据库生成方法的流程示意图;

图8是本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

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

为快速响应市场变化,快速满足业务部门的新业务及功能需求,实现快速迭代,为保证迭代质量,迭代过程中需要使用到镜像测试数据库,且不同的开发/测试组,均希望有一套独立的镜像测试数据库,用于保证测试数据的准确性。传统的镜像测试数据库主要通过集中式存储器通过底层磁盘复制来实现,但随着数据库x86化以及去集中式存储器工作的展开,以往传统的镜像测试数据库技术已不再适用。

目前,x86化数据库的镜像测试数据库,主要是通过一台中转机,也称为种子机,通过逻辑卷管理软件,实现数据库底层的逻辑卷复制,进而实现数据库数据文件的复制,最终实现镜像数据库的整体复制、同步及实现。另外,通过数据库数据保护技术中的快照(snapshot)功能,也可将容灾数据库临时打开,实现临时测试、数据写入的功能。最后也可以利用数据库备份恢复技术,将生产数据库在测试环境上进行备份恢复,再打开并开放用于应用开发人员进行测试。

但是,镜像测试数据库复制还是依赖集中式存储器的本身功能,因此要求集中式存储器的型号较为高级,进而带来的采购及维保费用也较为高昂;而集中式存储器大多为国外厂商,缺乏自主维护能力以及掌控力;往往不支持横向扩容,或难度很高,导致无法更上业务快速发展的需求。采用逻辑卷管理软件实现镜像数据库的复制,通常需要整台服务器用于复制,其存储容量的大小需要和生产数据库大小一样,也就是说中央处理器的存储资源只能整体用于一套镜像测试数据库,且还需要独立的一台数据复制的种子机,造成镜像测试数据库的搭建成本较高,而镜像测试数据库的资源又存在一定的浪费。

因此,本发明实施例提供了一种数据库生成方法、装置、设备及存储介质,能够减少了建立镜像数据库过程中的资源占用。

为了方便理解本发明实施例,首先对本发明实施例提供的生成镜像数据库的整体架构进行详细阐述。

图1是本发明实施例提供的生成镜像数据库的整体架构的结构示意图。

如图1所示,本发明实施例提供的生成镜像数据库的整体架构包括:多个生产数据库101,种子数据库102和多个镜像数据库103。

多个生产数据库101之间通过数据保护(dataguard)技术保持数据一致。

种子数据库102,不影响生产数据库101运行的前提下,通过数据保护技术,实施同步及复制生产数据库101的数据,即获取到一份生产数据库101一模一样的数据种子,之后再通过对数据种子的快照生成,以及快照的链接复制,将数据镜像到各个镜像数据库中。

生成镜像数据库的整体架构突破了传统的物理架构,改为采用新型的虚拟化架构,实现中央处理器、内存等计算资源的灵活调配,彻底抛弃了镜像数据库原先极度依赖集中式存储器做数据复制的方案;同时通过快照及链接克隆的方式,规避了通常情况下数据库整体复制需要原库100%存储资源的需求,采用存放增量数据的方式,使复制出来的数据库在底层块(block)的读取上仍使用种子数据库的block,而对于打开后的新增写数据,则存放至指定的存储路径中,使测试镜像数据库只需要一定的增量存放空间即可,而由于测试数据库本身的业务特性,经实际使用测试,通常只需要源数据,即种子数据库存储大小的10%~20%即可;另外,由于实现了一台物理机承载多套测试镜像数据库的能力,其计算、存储资源均可实现池化管理,通过人工干预或定时调度,可实现资源间的削峰填谷,进一步提升设备的整体资源使用率,降低资源整体需求,实现节支减排。

本发明实施李提供的数据库生成方法的执行主体是虚拟化平台。

图2是本发明实施例提供的一种数据库生成方法的流程示意图。

如图2所示,本发明实施例提供的数据库生成方法,包括:

s201:建立种子数据库中数据的数据快照;种子数据库中数据是通过采用数据保护dataguard技术同步生产数据库中的数据得到。

生产数据库是指业务实际使用的数据库,存储了所有的业务数据。其中,生产数据库中的业务数据不能够随意更改。因此,测试人员在对开发系统进行测试的过程中,测试所使用的数据库的数据环境和生产数据库中的数据环境尽可能保持一致。在这里,采用数据保护(dataguard)技术同步生产数据库中的数据得到种子数据库,就能够获得一份与生产数据库一模一样的数据种子。

确定种子数据库后,为了能够避免整体复制生产数据库数据会占用存储资源,需要生成种子数据库中数据的数据快照,进而能够基于数据快照建立多个镜像数据库供测试人员进行系统测试。

s202:确定数据快照的链接。

数据快照的链接可以是存储数据快照的磁盘的链接,通过该链接就可以获取数据快照。

s203:根据数据快照的链接,读取数据快照,生成第一镜像数据库。

第一镜像数据库是指镜像种子数据库中数据后得到的数据库。

基于数据快照的链接,能够读取数据快照,对种子数据库进行复制,生成第一镜像数据库。

在这里,基于数据快照能够在不影响生产数据库运行的情况下,得到第一镜像数据库。系统开发人员能够基于第一镜像数据库,对已开发的系统进行测试,系统测试过程中如果需要改变数据,也不会影响生产数据库中数据。而且,还可以基于数据快照生成多个镜像数据库,用于系统开发人员进行不同的已开发系统的测试。

此外,镜像数据库的生成可以是首次生成,也可以是多次生成镜像数据库,再一次生成镜像数据库。

当镜像数据库不是首次生成的时候,如图3所示,在步骤s201之前,还包括下述步骤:

s301:关闭第二镜像数据库所在的第一虚拟机,并删除第二镜像数据库所在的第一虚拟机。

第二镜像数据库是已经建立好的镜像数据库。为了能够释放资源池中的计算资源,需要将第二镜像数据库所在的虚拟机关闭,并删除第二镜像数据库所在的第一虚拟机。

s302:删除第二镜像数据库对应的数据快照。

另外,资源池中还存储有第二镜像数据库对应的数据快照。为了建立第一镜像数据库,还需要释放资源池中的存储资源。将第二镜像数据库删除后,释放资源池中的存储资源。

第一镜像数据库生成后,需要保存在虚拟机上。如图4所示,当首次生成镜像数据库时,在步骤s203之前,还包括下述步骤:

s401:根据资源池中的计算资源和存储资源,生成第二虚拟机;第一镜像数据库保存在第二虚拟机中。

如图5所示,当镜像数据库不是首次生成的时候,在步骤s203之前,还包括下述步骤:

s501:根据资源池中的计算资源和存储资源,生成第二虚拟机;第一镜像数据库保存在第二虚拟机中。

在这里,生成第二虚拟机所使用的计算资源和存储资源是删除第一虚拟机得到的计算资源,以及删除第二镜像数据库的数据快照的存储资源。

生成第二虚拟机后,启动并打开第二虚拟机,以用于测试人员对第一镜像数据库中的数据进行测试。

在这里,在测试人员对第一镜像数据库中的数据进行测试之前,该方法还包括:

修改第二虚拟机的网络配置为接入测试网段的网络。

在本发明一些实施中,该方法还包括:

根据第一镜像数据库中的数据的业务类型,对第一镜像数据库中的数据进行脱敏处理。

根据信息安全管理要求,通过第一镜像测试数据库自启动脚本,根据业务情况,对其中的敏感数据,如:姓名,身份证号等进行脱敏处理。

在本发明一些实施中,该方法还包括:

配置变量数据的存储位置;

变量数据为测试人员对第一镜像数据库中的数据进行测试时,修改第一镜像数据库中的数据生成的数据。

本发明实施例提供的数据库生成方法,通过建立种子数据库中数据的数据快照;所述种子数据库中数据是通过采用数据保护dataguard技术同步生产数据库中的数据得到;确定所述数据快照的链接;根据所述数据快照的链接,读取所述数据快照,生成第一镜像数据库,能够减少了建立镜像数据库过程中的资源占用。

基于图2提供的数据库生成方法,本发明实施例还提供了与图2实施例所对应的数据库生成装置。

图6是本发明实施例提供的数据库生成装置的结构示意图。

如图6所示,本发明实施例提供的数据库生成装置可以包括:建立模块601,确定模块602,生成模块603。

建立模块601,用于建立种子数据库中数据的数据快照;所述种子数据库中数据是通过采用数据保护dataguard技术同步生产数据库中的数据得到;

确定模块602,用于确定所述数据快照的链接;

生成模块603,用于根据所述数据快照的链接,读取所述数据快照,生成第一镜像数据库。

可选的,在本发明一些实施例中,在建立种子数据库中数据的数据快照之前,该装置包括:

删除模块,用于关闭第二镜像数据库所在的第一虚拟机,并删除第二镜像数据库所在的第一虚拟机;删除第二镜像数据库对应的数据快照。

可选的,在本发明一些实施例中,在生成第一镜像数据库之前,生成模块603,还用于根据资源池中的计算资源和存储资源,生成第二虚拟机;第一镜像数据库保存在第二虚拟机中。

可选的,在本发明一些实施例中,该装置还包括启动模块;

启动模块,用于启动并打开第二虚拟机,以用于测试人员对第一镜像数据库中的数据进行测试。

可选的,在本发明一些实施例中,在测试人员对第一镜像数据库中的数据进行测试之前,该装置还包括修改模块;

修改模块,用于:修改第二虚拟机的网络配置为接入测试网段的网络。

可选的,在本发明一些实施例中,该装置还包括脱敏模块;

脱敏模块,用于根据第一镜像数据库中的数据的业务类型,对第一镜像数据库中的数据进行脱敏处理。

可选的,在本发明一些实施例中,该装置还包括配置模块;

配置模块,用于配置变量数据的存储位置;

变量数据为测试人员对第一镜像数据库中的数据进行测试时,修改第一镜像数据库中的数据生成的数据。

本发明实施例提供的数据库生成装置,通过建立模块601,用于建立种子数据库中数据的数据快照;所述种子数据库中数据是通过采用数据保护dataguard技术同步生产数据库中的数据得到;确定模块602,用于确定所述数据快照的链接;生成模块603,用于根据所述数据快照的链接,读取所述数据快照,生成第一镜像数据库,能够减少了建立镜像数据库过程中的资源占用。

本发明实施例提供的路况确定装置执行图2所示的方法中的各个步骤,并能够达到减少了建立镜像数据库过程中的资源占用的技术效果,为简洁描述,再此不在详细赘述。

作为一个示例,如图7所示,本发明实施例提供的数据库生成方法包括下述步骤:

s701:关闭克隆虚拟机:通过虚拟化管理平台,关闭已打开的测试镜像数据库,并关闭镜像数据库所在的虚拟机。

s702:删除克隆虚拟机:通过虚拟化管理平台,删除之前已关闭的测试镜像数据库所在的虚拟机,释放资源池中的计算资源。

s703:删除源虚拟机(virtualmachine,vm)原有快照:通过虚拟化管理平台,删除测试镜像数据库所在虚拟机其对应的快照,释放存储资源。

s704:为源vm创建快照:通过虚拟化管理平台,针对当前的种子数据库建立快照,为后续的复制提供源数据。

s705:指定存储:通过虚拟化管理平台,为后续做链接克隆的测试镜像数据库指定增量数据存储路径,做好前期配置准备。

s706:执行vm链接克隆:通过虚拟化管理平台,对种子数据库的快照记录发起链接克隆,产生相应虚拟机资源。

s707:打开克隆虚拟机:通过虚拟化管理平台,启动链接克隆生成的虚拟机,并打开对应的虚拟机。其中,包含数据库相关数据。

s708:修改网络配置:通过虚拟化管理平台,,调整链接克隆生成的虚拟机对应的网络配置,将其修改并接入测试网段。

s709:抹除敏感数据:根据部门信息安全管理要求,通过镜像测试数据库自启动脚本,根据业务情况,对其中的敏感数据(如:姓名,身份证号等)进行脱敏处理。

本发明实施例提供的数据库生成方法,解决了目前镜像测试数据库资源需求较大的不足,通过获取数据种子,快照生成,链接克隆等镜像测试数据库复制及执行流程,使其支持自动或人工的数据库刷新管理。同时,通过链接复制以及资源的虚拟化管理,将镜像测试数据库的资源进一步降低,特别是其存储资源直接从原先的100%,将地址10~20%,大幅减少了存储资源的需求,还可实现cpu,内存资源的按需分配、共享,使一台物理机即可实现多份镜像测试数据库的提供。

图8示出了本发明实施例提供的一种电子设备的硬件结构示意图。

在电子设备可以包括处理器801以及存储有计算机程序指令的存储器802。

具体地,上述处理器801可以包括中央处理器(中央处理器),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在综合网关容灾设备的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。在特定实施例中,存储器802包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现图3至图5所示实施例中的任意一种数据库生成方法。

在一个示例中,电子设备还可包括通信接口803和总线810。其中,如图8所示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。

通信接口803,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线810包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

该电子设备可以执行本发明实施例中的数据库生成方法,从而实现结合图2至图5描述的数据库生成方法。

另外,结合上述实施例中的数据库生成方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据库生成方法。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

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