备份数据的处理方法、装置和计算机设备
文献发布时间:2023-06-19 18:29:06
技术领域
本申请涉及大数据技术领域,特别是涉及一种备份数据的处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着核心账务数据逐渐由大型主机下移至开放平台,MySQL数据库使用量大幅增加。为保障相关业务功能改造、新功能上线前期测试及开发过程的顺利开展,生产部门一般需要将指定日期的MySQL离线备份数据恢复至专用环境并脱敏后交付相关方使用。
目前MySQL离线备份是基于Veritas NetBackup(备份)软件完成的,在从VeritasNetBackup中恢复备份数据时,Veritas NetBackup当前提供的图形化界面一般是通过人工点击、操作相应的功能以实现备份数据的恢复,然而当前的图形化方式存在较多重复操作和潜在的人为操作失误风险,且无法批量执行,耗时较长,导致最终备份数据的恢复效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高备份数据恢复效率的备份数据的处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供一种备份数据的处理方法,所述方法包括:
获取备份数据恢复需求表,所述备份数据恢复需求表中包括有各备份数据的文件标识;
基于所述备份数据恢复需求表,输出数据存放位置查询指令至备份应用程序,以指示所述备份应用程序查找各所述文件标识分别指示的备份数据的存储位置;
接收所述备份应用程序反馈的存储位置;
若根据所述存储位置确定各所述备份数据存储在磁带上,则对存储于所述磁带上的备份数据进行分批处理,确定各所述备份数据的恢复批次信息;
基于所述备份数据恢复需求表以及所述恢复批次信息,分批生成备份数据恢复指令,并依次输出各所述备份数据恢复指令至所述备份应用程序,以指示所述备份应用程序自动进行备份数据的批次恢复。
在其中一个实施例中,所述备份数据恢复需求表的确定方式,包括:
获取测试需求信息表,所述测试需求信息表为根据业务需求确定的信息表;将所述测试需求信息表导入恢复需求数据库;
将所述测试需求信息表与所述恢复需求数据库中的生产服务器信息表、备份策略表进行整合处理,获得所述备份数据恢复需求表。
在其中一个实施例中,所述测试需求信息表中包括测试需求容器地址信息,所述生产服务器信息表中包括数据库容器主备信息、数据库容器地址信息、宿主机名信息;所述备份策略表中包括备份信息;
所述将所述测试需求信息表与所述恢复需求数据库中的生产服务器信息表、备份策略表进行整合处理,获得所述备份数据恢复需求表,包括:
基于所述测试需求容器地址信息,与所述生产服务器信息表中的数据库容器主备信息、服务器容器地址信息、宿主机名信息进行匹配,确定出所述测试需求容器地址信息所属数据库集群的备库容器信息;
根据所述备库容器信息,从所述备份策略表中匹配所述备份信息,获得备份数据恢复需求表。
在其中一个实施例中,所述方法还包括:
若根据所述存储位置确定存在有存储于磁盘的备份数据,则执行数据转存,获得数据转存结果;
若所述数据转存结果为转存成功,则返回到执行对存储于所述磁带上的备份数据进行分批处理,确定各所述备份数据的恢复批次信息的步骤;
若所述数据转存结果为转存失败,则重新执行所述数据转存的步骤,并在执行所述数据转存的次数达到转存次数阈值,所述数据转存结果仍为转存失败时,输出第一提示信息。
在其中一个实施例中,所述备份数据恢复需求表还包括数据内容为空的介质信息字段;
所述接收所述备份应用程序反馈的存储位置之后,还包括:
基于所述存储位置,更新所述备份数据恢复需求表中,所述介质信息字段中的数据内容。
在其中一个实施例中,所述恢复批次信息包括恢复的批次数量;
对存储于所述磁带上的备份数据进行分批处理,确定各所述备份数据的恢复批次信息,包括:
遍历所述介质信息字段中的数据内容,确定出属于同一磁带上的备份数据;
对属于同一磁带上的备份数据进行文件数检索,确定出各所述磁带上的文件数量;
将各所述文件数量中,数值最大的文件数量作为所述恢复的批次数量。
在其中一个实施例中,所述备份数据恢复需求表还包括应用名字段、数据库容器地址字段、宿主机名字段、备份日期字段以及批次内容为空的执行批次字段;
所述基于所述备份数据恢复需求表以及所述恢复批次信息,分批生成备份数据恢复指令,并依次输出所述备份数据恢复指令至所述备份应用程序,包括:基于所述恢复批次信息,更新所述备份数据恢复需求表中,所述执行批次字段的批次内容;
在更新所述批次内容之后,基于所述应用名字段中的应用名、所述数据库容器地址字段中的数据库容器地址、所述宿主机名字段中的宿主机名、以及所述备份日期字段中的备份日期,分批生成备份数据恢复指令;
创建备份数据脱敏准备前的数据脱敏专用路径;
在所述数据脱敏专用路径中,依次输出各所述备份数据恢复指令至所述备份应用程序。
在其中一个实施例中,所述依次输出所述备份数据恢复指令至所述备份应用程序之后,还包括:
基于恢复日志,确定各所述备份数据的恢复结果;
若所述恢复结果为恢复失败,则重新输出所述备份数据恢复指令至所述备份应用程序,以指示所述备份应用程序重新自动进行备份数据的批次恢复,并在重新输出所述备份数据恢复指令的次数达到恢复次数阈值,所述恢复结果仍为恢复失败时,输出第二提示信息。
第二方面,本申请还提供了一种备份数据的处理装置,所述装置包括:
第一获取模块,用于获取备份数据恢复需求表,所述备份数据恢复需求表中包括有各备份数据的文件标识;
查询模块,用于基于所述备份数据恢复需求表,输出数据存放位置查询指令至备份应用程序,以指示所述备份应用程序查找各所述文件标识分别指示的备份数据的存储位置;
第二获取模块,用于接收所述备份应用程序反馈的存储位置;
数据处理模块,用于若根据所述存储位置确定各所述备份数据存储在磁带上,则对存储于所述磁带上的备份数据进行分批处理,确定各所述备份数据的恢复批次信息;
恢复模块,用于基于所述备份数据恢复需求表以及所述恢复批次信息,分批生成备份数据恢复指令,并依次输出各所述备份数据恢复指令至所述备份应用程序,以指示所述备份应用程序自动进行备份数据的批次恢复。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述备份数据的处理方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述备份数据的处理方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述备份数据的处理方法的步骤。
上述备份数据的处理方法、装置、计算机设备、存储介质和计算机程序产品,通过获取备份数据恢复需求表,数据恢复需求表中包括有各备份数据的文件标识;基于备份数据恢复需求表,输出数据存放位置查询指令至备份应用程序,以指示备份应用程序查找各文件标识分别指示的备份数据的存储位置,从而可自动确定出备份数据在备份应用程序中的存储位置。进一步的,若根据存储位置确定各备份数据存储在磁带上时,则对存储于磁带上的备份数据进行分批处理,确定各备份数据的恢复批次信息,由此确定出各备份数据的恢复批次,最后,基于备份数据恢复需求表以及恢复批次信息,分批生成备份数据恢复指令,并依次输出各备份数据恢复指令至备份应用程序,以指示备份应用程序自动进行备份数据的批次恢复。这样通过全自动生成指令的方式,可以解决大批量数据恢复需求耗时长,人工操作繁琐的问题,有效提高备份数据的恢复效率。
附图说明
图1为一个实施例中备份数据的处理方法的应用环境图;
图2为一个实施例中备份数据的处理方法的流程示意图;
图3为一个实施例中备份数据的处理方法的流程示意图;
图4为另一个实施例中备份数据的处理方法的流程示意图;
图5为一个实施例中备份数据的处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的备份数据的处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
具体的,终端102可以是测试终端,用户可以根据实际的业务研发情况、版本测试需要等,通过测试终端发送请求恢复备份数据的需求给服务器104,服务器104根据终端102的需求,获取备份数据恢复需求表,备份数据恢复需求表中包括有各备份数据的文件标识;基于备份数据恢复需求表,输出数据存放位置查询指令至备份应用程序,以指示备份应用程序查找各文件标识分别指示的备份数据的存储位置;接收备份应用程序反馈的存储位置;若根据存储位置确定各备份数据存储在磁带上时,则对存储于磁带上的备份数据进行分批处理,确定各备份数据的恢复批次信息;基于备份数据恢复需求表以及恢复批次信息,分批生成备份数据恢复指令,并依次输出各备份数据恢复指令至备份应用程序,以指示备份应用程序自动进行备份数据的批次恢复,以此高效的实现备份数据的自动恢复。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在其中一个实施例中,服务器104上运行有备份应用程序,备份应用程序可以是指备份管理软件,具体的,备份管理软件可以为Veritas NBU,通过备份管理软件可以对数据进行备份,获得备份数据,具体的,服务器104在实现上述备份数据的自动恢复过程时,可以基于Veritas NBU的API(应用程序接口),采用SHELL脚本,实现备份数据的批量化、自动化恢复。
在一个实施例中,如图2所示,提供了一种备份数据的处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,获取备份数据恢复需求表,数据恢复需求表中包括有各备份数据的文件标识。
其中,备份数据恢复需求表可以是指服务器根据业务测试部门的业务研发需求、版本测试需要等、以及备份数据所在数据库的数据库相关信息、备份数据的备份信息等确定出的表,备份数据是指已经在备份应用程序中进行了备份的数据(如MySQL离线备份数据)。
其中,备份数据恢复需求表中可以包括有备份数据的文件标识,备份数据的文件标识可以用于区分出各备份数据,其中,备份数据的文件标识可以采用数字、字母以及特征码等任意形式,只要可以区分出不同的备份数据即可。
在其中一个实施例中,备份数据恢复需求表中存储有与备份数据相关的各类信息,备份数据恢复需求表在存储信息时,可以通过字段来定义不同的信息,例如,备份数据恢复需求表中的字段可以包括:应用名,容器IP,宿主机名,备份日期,备份文件名,备份策略名,介质信息,执行批次等各类字段。
在其中一个实施例中,备份数据恢复需求表的确定方式,包括:获取测试需求信息表,测试需求信息表为根据业务需求确定的信息表;将测试需求信息表导入恢复需求数据库;将测试需求信息表与恢复需求数据库中的生产服务器信息表、备份策略表进行整合处理,获得备份数据恢复需求表。
其中,测试需求信息表是指根据业务测试部门的需求生成的表,测试需求表中可以包括应用名、数据库容器IP(地址)信息、恢复方式、所需数据日期等信息,恢复需求数据库中可以是服务器上运行的数据库,恢复需求数据库中可以包括生产服务器信息表、备份策略表,生产服务器信息表可以包括各个应用的数据库容器的主备关系、数据库容器IP信息、宿主机名等,备份策略表可以包括备份策略名,备份日期,备份文件名,备份对象,保留期限,备份域等信息。
当服务器获取到测试需求信息表之后,可以将测试需求信息表与恢复需求数据库中的生产服务器信息表、备份策略表进行整合处理,以获得进行备份数据恢复所需要的信息,根据所需要的信息生成备份数据恢复需求表。
在其中一个实施例中,测试需求信息表中包括测试需求容器地址信息,生产服务器信息表中包括数据库容器主备信息、数据库容器地址信息、宿主机名信息;备份策略表中包括备份信息;
将测试需求信息表与恢复需求数据库中的生产服务器信息表、备份策略表进行整合处理,获得备份数据恢复需求表,包括:
基于测试需求容器地址信息,与生产服务器信息表中的数据库容器主备信息、服务器容器地址信息、宿主机名信息进行匹配,确定出测试需求容器地址信息所属数据库集群的备库容器信息;
根据备库容器信息,从备份策略表中匹配备份信息,获得备份数据恢复需求表。
其中,测试需求容器地址信息是指用户所需的备份数据所在的数据库容器的地址信息,数据库容器主备信息是指的数据库集群(一般由一台主节点容器及多台备节点容器组成一套数据库集群)中数据库容器的主备关系(即主节点容器以及备节点容器之间的对应关系),数据库容器地址信息是指的数据库容器化后的IP信息、宿主机名信息是指用于确定数据库容器的部署位置的信息,备份信息是指与备份过程相关的信息,如备份日期、备份策略等。
当服务器对测试需求信息表、生产服务器信息表、备份策略表进行整合处理时,首先,可以根据测试需求信息表中的测试需求容器地址信息(不同需求方习惯不同,A和B都需要某一数据库的备份数据,但A的需求IP为数据库集群中主库IP,B的需求IP为该数据库集群中的某台备库IP,而备份是在该数据库集群的备库(如容器编号(SETID)末位为4的)上执行的),因此,从生产服务器信息表中,匹配到所在数据库集群中的备库容器IP(数据库集群中容器编号(SETID)末位为4的备库容器IP)、宿主机名,再通过备库容器IP去备份策略表里,匹配备份日期、备份文件名,备份策略名等,由此可以获得备份数据恢复需求表。
步骤S204,基于备份数据恢复需求表,输出数据存放位置查询指令至备份应用程序,以指示备份应用程序查找各文件标识分别指示的备份数据的存储位置。
其中,备份应用程序可以是指备份管理软件,具体的,备份管理软件可以为Veritas NBU,存储位置可以是指备份数据具体在备份应用程序中的存储介质,如是存在磁带上,还是存储在光盘上等,数据存放位置查询指令是指用于查询备份数据在备份应用程序中的存储位置的指令,从而服务器可以指示备份应用程序查找文件标识分别指示的备份数据的存储位置。
在其中一个实施例中,服务器可以通过SHELL脚本向备份应用程序的备份应用程序接口提交数据存放位置查询指令,从而无需人工操作,也可以自动实现备份数据的存储位置的自动查询。
步骤S206,接收备份应用程序反馈的存储位置。
其中,当备份应用程序接收到数据存放位置查询指令之后,则可以对文件标识指示的备份应用程序进行查询,由此确定出备份数据的存储位置,在确定备份数据的存储位置之后,备份应用程序会将存储位置反馈给服务器。
在其中一个实施例中,服务器会接收到由备份应用程序反馈的存储位置,并解析接收到的存储位置,获得解析结果,具体的,若解析结果为“D*”,则可以代表备份数据是存储在磁带上的,若解析结果为“@*”,则可以代表备份数据是存储在磁盘上的。
步骤S208,若根据存储位置确定各备份数据存储在磁带上时,则对存储于磁带上的备份数据进行分批处理,确定各备份数据的恢复批次信息。
其中,分批处理是指对确定出各备份数据的恢复批次,通过分批处理,目的是将所属同一磁带的备份数据分散至不同批次,以减少多个备份数据并行恢复时,涉及同一磁带调用等待而引起的超时中断报错。
步骤S210,基于备份数据恢复需求表以及恢复批次信息,分批生成备份数据恢复指令,并依次输出各备份数据恢复指令至备份应用程序,以指示备份应用程序自动进行备份数据的批次恢复。
其中,备份数据恢复指令是指用于指示备份应用程序自动进行备份数据的批次恢复的指令,由于同一磁带上可能存储有多个备份数据,因此,服务器在生成备份数据恢复指令时,也是分批生成的,并依次输出备份数据恢复指令至备份应用程序,以指示备份应用程序自动进行备份数据的批次恢复。
上述备份数据的处理方法中,通过获取备份数据恢复需求表,数据恢复需求表中包括有各备份数据的文件标识;基于备份数据恢复需求表,输出数据存放位置查询指令至备份应用程序,以指示备份应用程序查找各文件标识分别指示的备份数据的存储位置,接收备份应用程序反馈的存储位置,从而自动确定出备份数据在备份应用程序中的存储位置,进一步的,若根据存储位置确定各备份数据存储在磁带上时,则对存储于磁带上的备份数据进行分批处理,确定各备份数据的恢复批次信息,由此确定出各备份数据的恢复批次,最后,基于备份数据恢复需求表以及恢复批次信息,分批生成备份数据恢复指令,并依次输出各备份数据恢复指令至备份应用程序,以指示备份应用程序自动进行备份数据的批次恢复,可以解决大批量数据恢复需求耗时长,人工操作繁琐的问题,有效提高备份数据的恢复效率。
在其中一个实施例中,还包括:若根据存储位置确定存在有存储于磁盘的备份数据,则执行数据转存,获得数据转存结果;若数据转存结果为转存成功,则返回到执行对存储于磁带上的备份数据进行分批处理,确定各备份数据的恢复批次信息的步骤;若数据转存结果为转存失败,则重新执行数据转存的步骤,并在执行数据转存的次数达到转存次数阈值,数据转存结果仍为转存失败时,输出第一提示信息。
其中,当服务器从存储位置中确定有存储于磁盘中的备份数据,则服务器可以对存储于磁盘中的数据进行数据转存,从而将存储于磁盘中的备份数据转存到磁带上,如果转存成功,则可以执行对存储于磁带上的备份数据进行分批处理,从而确定各备份数据的恢复批次信息的步骤。
其中,转存次数阈值是指设定的进行数据转存的次数阈值,具体的,转存次数阈值可以为3次,也可以为2次,具体的转存次数阈值可以根据服务器的实际运行情况等进行适应性调整。当服务器第一次数据转存失败之后,则会重新执行数据转存,若达到转存次数阈值,数据转存仍然失败,则可以输出第一提示信息,具体的,第一提示信息可以为邮件,从而通过邮件推送有助于运维人员及时了解情况,把控整体进度。
在其中一个实施例中,服务器在执行数据转存时,可以发送数据转存指令至备份应用程序,生成duplicate(复制)任务,指示备份应用程序将磁盘上的数据复制到磁带上,当备份应用程序完成任务之后,则可以将任务执行结果返回给服务器,服务器可以解析任务返回结果确定是否转存成功,例如,可以设定当任务返回结果为0时代表转存成功,当任务返回结果为1代表转存失败。
上述实施例中,当备份数据存储于磁盘上时,由于后续在进行数据脱敏时,数据脱敏专用环境与磁盘在网络层面是隔离的,只可访问磁带库,无法直接从磁盘恢复数据,因此,需将磁盘上的数据先转存到磁带,再从磁带库恢复到数据脱敏专用环境,进一步的,在进行数据转存的过程中,若转存失败,还会在预设转存次数阈值内重复数据转存的过程,最大程度的保存数据转存的成功率,如果在达到预设转存次数阈值,数据转存仍然失败,服务器还会输出提示信息给运维人员,有助于运维人员及时了解情况,把控整体进度。
在其中一个实施例中,备份数据恢复需求表还包括数据内容为空的介质信息字段;接收备份应用程序反馈的存储位置之后,还包括:
基于存储位置,更新备份数据恢复需求表中,介质信息字段中的数据内容。
其中,介质信息字段是指用于存储备份数据的存放信息的字段,服务器在初始获得备份数据的备份数据恢复需求表时,此时服务器还未确定备份数据的存储位置,因此,备份数据恢复需求表中的介质信息字段对应的内容为空,当服务器确定出备份数据的存储位置之后,则可以根据确定的存储位置,更新备份数据恢复需求表中,介质信息字段中的数据内容。
在其中一个实施例中,当服务器根据存储位置,确定出备份数据为磁带备份时,直接更新备份数据恢复需求表中的介质信息字段中的数据内容,例如,可以更新数据内容为与磁带相关的标识符:如磁带标识+D*;若确定出备份数据为磁盘备份,则可以先更新数据内容为与磁盘相关的标识符:如磁盘标识+@*,在转存成功后,更新为磁带标识+D*。
上述实施例中,通过在确定备份数据的存储位置之后,对备份数据恢复需求表中的介质信息字段进行更新,由此可以在后续进行分批处理的过程中,辅助磁带上的备份数据的检索。
在其中一个实施例中,恢复批次信息包括恢复的批次数量;对存储于磁带上的备份数据进行分批处理,确定各备份数据的恢复批次信息,包括:遍历介质信息字段中的数据内容,确定出属于同一磁带上的备份数据;对属于同一磁带上的备份数据进行文件数检索,确定出各磁带上的文件数量;将各文件数量中,数值最大的文件数量作为恢复的批次数量。
其中,恢复批次信息包括备份数据的批次数量,即针对多个备份数据需要执行多少次备份数据的恢复流程,具体的,服务器可以遍历介质信息字段中的数据内容,从而确定出属于同一磁带上的备份数据,从而对属于同一磁带上的备份数据进行文件数检索,确定出每一个磁带上,存在的文件数量,最后,将最大的文件数量作为恢复的批次数量。
在其中一个实施例中,若存在A、B、C以及D四个磁带,如果A磁带上存在的文件数量为5,B磁带上存在的文件数量为4,C磁带上存在的文件数量为3,D磁带上存在的文件数量为2,则确定恢复的批次数量为5。
上述实施例中,通过将最大的文件数量作为恢复的批次数量,可以使得属于同一磁带的备份数据不会在同一批次中并行恢复,可以有效的减少涉及同一磁带调用等待而引起的超时中断报错。
在其中一个实施例中,在确定出恢复的批次数量之后,可以按照一定的randrange(随机范围)规则,确定出各备份数据所对应的恢复批次,具体的,randrange规则可以包括以下三点:1、randrange为1-MAX之间;2、同磁带随机数具有唯一性3、各磁带随机数权重均匀,其中,第一点是指的在确定各磁带上备份数据的恢复批次的数量时,所选择的批次在1-MAX(确定的恢复批次数量)之间,如针对A磁带,A磁带上存在的文件数量为5,则恢复批次包括5批,针对B磁带,B磁带上存在的文件数量为4,则恢复批次包括4批;第二点指的是属于同一磁带上的备份数据的恢复批次均是不同的(如D磁带上的备份数据D1和备份数据D2,不会出现在同一恢复批次上);第三点指的是在确定磁带上各备份数据的恢复批次时,会按照恢复批次中实际的备份数据的数量,确定各恢复批次中的备份数据是均衡的,以避免某一批次中的备份数据太多,导致恢复过程负荷太大而引起超时中断出错。
在其中一个实施例中,备份数据恢复需求表还包括应用名字段、数据库容器地址字段、宿主机名字段、备份日期字段以及批次内容为空的执行批次字段;
基于备份数据恢复需求表以及恢复批次信息,分批生成备份数据恢复指令,并依次输出备份数据恢复指令至备份应用程序,包括:
基于恢复批次信息,更新备份数据恢复需求表中,执行批次字段的批次内容;在更新批次内容之后,基于在更新批次内容之后,基于应用名字段中的应用名、数据库容器地址字段中的数据库容器地址、宿主机名字段中的宿主机名、以及备份日期字段中的备份日期,分批生成备份数据恢复指令;创建备份数据脱敏准备前的数据脱敏专用路径;在数据脱敏专用路径中,依次输出各备份数据恢复指令至备份应用程序。
其中,备份数据恢复需求表还包括应用名字段、数据库容器地址字段、宿主机名字段、以及备份日期字段、以及批次内容为空的执行批次字段,应用名字段存储有备份数据的应用名,应用名可以用于区分出备份数据的类型、数据库容器地址字段存储有数据库容器地址,可以用于确定出备份数据所在数据库集群中的哪一个数据库容器,数据库容器是部署在宿主机上的,备份日期字段中存储有备份数据的备份日期,备份日期可以用于确定备份数据是在什么时候进行备份的,执行批次字段中存储了备份数据的执行批次,服务器在初始生成备份数据恢复表时,由于还没有执行分批处理,因此,执行批次字段中的批次内容为空。
在其中一个实施例中,服务器在确定出恢复批次信息之后,则可以将恢复批次信息写入执行批次字段中,更新执行批次字段的批次内容,在服务器更新批次内容之后,则可以针对每一批待恢复的备份数据,根据应用名字段中的应用名、数据库容器地址字段中的数据库容器地址、宿主机名字段中的宿主机名、以及备份日期字段中的备份日期,分批生成备份数据恢复指令,然后再创建数据脱敏专用环境,在数据脱敏专用环境中,依次通过脚本将备份数据恢复指令输出至备份应用程序,以指示备份应用程序自动进行备份数据的批次恢复。
上述实施例中,服务器针对每一批待恢复的备份数据,都基于备份数据恢复表中的相关信息,生成对应的备份数据恢复指令,从而在数据脱敏专用环境中,指示备份应用程序自动进行备份数据的批次恢复。
在其中一个实施例中,依次输出备份数据恢复指令至备份应用程序之后,还包括:
基于恢复日志,确定各备份数据的恢复结果;
若恢复结果为恢复失败,则重新输出备份数据恢复指令至备份应用程序,以指示备份应用程序重新自动进行备份数据的批次恢复,并在重新输出备份数据恢复指令的次数达到恢复次数阈值,恢复结果仍为恢复失败时,输出第二提示信息。
其中,恢复次数阈值是指设定的进行数据恢复的次数阈值,具体的,恢复次数阈值可以为3次,也可以为2次,具体的恢复次数阈值可以根据服务器的实际运行情况等进行适应性调整。
具体的,服务器在依次输出备份数据恢复指令至备份应用程序之后,还会通过恢复日志进行恢复结果的判断,例如,可以读取恢复日志中的信息,来确定是否恢复成功(如读取到的STATUS为DONE且STATE为“0”,则可以确定恢复成功)否则确定为恢复失败。若失败则自动发起重试,超出恢复次数阈值(如3次)则报错,并输出第二提示信息。
上述实施例中,当服务器通过恢复日志确定某一批次中存在有备份数据恢复失败时,会重新进行备份数据的恢复,由此可以提升恢复成功率,当恢复次数达到恢复次数阈值时,若该批次中的备份数据仍然恢复失败,则服务器会跳过该批次中恢复失败的备份数据的恢复过程,并输出第二提示信息,进一步的,服务器也会继续完成该批次中其他备份数据的恢复,当该批次的其他备份数据自动恢复完成之后,则会自动进入下一批次的备份数据的自动恢复过程由此不仅可以提示运维人员每一批次的恢复情况,还可以避免资源的浪费。
在其中一个实施例中,服务器可以通过文件计数器检查每一批次的备份数据的恢复进度,确认该批次执行完成后,依次执行下一批次,全批次恢复结束后,服务器自动生成恢复结果表并进行邮件推送。
在其中一个实施例中,如图3所示,为一个具体实施例中备份数据的处理方法的流程示意图:
其中,本实施例中涉及到的备份数据的处理方法是在服务器上完成的,服务器上运行有备份应用程序,服务器基于备份应用程序的API(应用程序接口),采用SHELL脚本,实现备份数据的批量化、自动化恢复。
首先,恢复需求预处理。当服务器接收到将测试需求台账(测试需求信息表)之后,可以将测试需求台账导入恢复需求数据库,与恢复需求数据库中的生产服务器信息表及备份策略表进行整合,生成恢复需求表(恢复需求数据库),恢复需求数据库表中可以包括包含以下字段:应用名,容器IP,宿主机名,备份日期,备份文件名,备份策略名,介质信息,执行批次等。
在确定出恢复需求表之后,服务器可以检查备份文件存放信息。具体的,服务器可以通过SHELL脚本向NBU API提交查询命令,自动调用备份软件命令行程序,从而判断备份数据是存放于磁盘还是磁带上,若存放于磁盘上,则执行数据转存,转存成功则更新恢复需求表中的介质信息字段,其中,介质信息为D*可以代表磁带备份,@*可以代表磁盘备份,同时,服务器会自动轮循检查介质信息字段,确认转存是否成功,如失败则重复执行转存操作,超出最大尝试次数(3次)则跳过,并进行邮件推送。
当检测得到备份文件的存放信息之后,服务器可以进行备份文件介质信息的分批处理,并按分批算法更新恢复需求表中的执行批次字段。将所属同一磁带的备份文件分散至不同批次,以减少多个备份文件并行恢复时涉及同一磁带调用等待而引起的超时中断报错。
在确定出执行批次字段的基础上,服务器可以根据恢复需求表,分批生成恢复命令,并自动在目标服务器上创建数据脱敏准备前的专用路径。其中恢复命令需要指定恢复的目标服务器名。
最后,在数据脱敏专用环境上,服务器通过脚本自动分批向NBU API提交恢复命令,系统自动通过恢复日志进行结果判断,例如,可以为STATUS为DONE且STATE为“0”则恢复成功,若失败则自动发起重试,超出最大尝试次数(3次)则报错,并进行邮件推送同时跳过该文件,通过文件计数器检查恢复进度,确认该批次执行完成后,依次执行下一批次,全批次恢复结束后,系统自动生成恢复结果表并进行邮件推送。
在其中一个实施例中,如图4所示,为一个具体实施例中备份数据的处理方法的流程示意图:
其中,本实施例找那个涉及到的是如何确定出各备份数据的恢复批次的过程,首先,服务器可以进行磁带文件数检索,具体的,服务器可以遍历介质信息字段中的数据内容,从而确定出属于同一磁带上的备份数据,从而对属于同一磁带上的备份数据进行文件数检索,确定出每一个磁带上,存在的文件数量,最后,将最大的文件数量作为恢复的批次数量。
例如,若存在A、B、C以及D四个磁带,如果A磁带上存在的文件数量为5,B磁带上存在的文件数量为4,C磁带上存在的文件数量为3,D磁带上存在的文件数量为2,则确定恢复的批次数量为5。
在确定出恢复的批次数量之后,可以按照一定的randrange(随机范围)规则,确定出各备份数据所对应的恢复批次,具体的,randrange规则可以包括以下三点:1、randrange为1-MAX之间;2、同磁带随机数具有唯一性3、各磁带随机数权重均匀,其中,第一点是指的在确定各磁带上备份数据的恢复批次的数量时,所选择的批次在1-MAX(确定的恢复批次数量)之间,如针对A磁带,A磁带上存在的文件数量为5,则恢复批次包括5批,针对B磁带,B磁带上存在的文件数量为4,则恢复批次包括4批;第二点指的是属于同一磁带上的备份数据的恢复批次均是不同的(如D磁带上的备份数据D1和备份数据D2,不会出现在同一恢复批次上);第三点指的是在确定磁带上各备份数据的恢复批次时,会按照恢复批次中实际的备份数据的数量,确定各恢复批次中的备份数据是均衡的,以避免某一批次中的备份数据太多,导致恢复过程负荷太大而引起超时中断出错。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的备份数据的处理方法的备份数据的处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个备份数据的处理装置实施例中的具体限定可以参见上文中对于备份数据的处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种备份数据的处理装置,包括:第一获取模块502、查询模块504、第二获取模块506、数据处理模块508和恢复模块510,其中:
第一获取模块502,用于获取备份数据恢复需求表,备份数据恢复需求表中包括有各备份数据的文件标识;
查询模块504,用于基于备份数据恢复需求表,输出数据存放位置查询指令至备份应用程序,以指示备份应用程序查找各文件标识分别指示的备份数据的存储位置;
第二获取模块506,用于接收备份应用程序反馈的存储位置;
数据处理模块508,用于若根据存储位置确定各备份数据存储在磁带上时,则对存储于磁带上的备份数据进行分批处理,确定各备份数据的恢复批次信息;
恢复模块510,用于基于备份数据恢复需求表以及恢复批次信息,分批生成备份数据恢复指令,并依次输出各备份数据恢复指令至备份应用程序,以指示备份应用程序自动进行备份数据的批次恢复。
在其中一个实施例中,第一获取模块,用于获取测试需求信息表,测试需求信息表为根据业务需求确定的信息表;将测试需求信息表导入恢复需求数据库;将测试需求信息表与恢复需求数据库中的生产服务器信息表、备份策略表进行整合处理,获得备份数据恢复需求表。
在其中一个实施例中,测试需求信息表中包括测试需求容器地址信息,生产服务器信息表中包括数据库容器主备信息、数据库容器地址信息、宿主机名信息;备份策略表中包括备份信息,第一获取模块,用于基于测试需求容器地址信息,与生产服务器信息表中的数据库容器主备信息、服务器容器地址信息、宿主机名信息进行匹配,确定出测试需求容器地址信息所属数据库集群的备库容器信息;根据备库容器信息,从备份策略表中匹配备份信息,获得备份数据恢复需求表。
在其中一个实施例中,所述装置还包括:数据转存模块;
数据转存模块,用于若根据存储位置确定存在有存储于磁盘的备份数据,则执行数据转存,获得数据转存结果;若数据转存结果为转存成功,则返回到执行对存储于磁带上的备份数据进行分批处理,确定各备份数据的恢复批次信息的步骤;若数据转存结果为转存失败,则重新执行数据转存的步骤,并在执行数据转存的次数达到转存次数阈值,数据转存结果仍为转存失败时,输出第一提示信息。
在其中一个实施例中,备份数据恢复需求表还包括数据内容为空的介质信息字段,第一获取模块,还用于基于存储位置,更新备份数据恢复需求表中,介质信息字段中的数据内容。
在其中一个实施例中,恢复批次信息包括恢复的批次数量,数据处理模块,用于遍历介质信息字段中的数据内容,确定出属于同一磁带上的备份数据;对属于同一磁带上的备份数据进行文件数检索,确定出各磁带上的文件数量;将各文件数量中,数值最大的文件数量作为恢复的批次数量。
在其中一个实施例中,备份数据恢复需求表还包括应用名字段、数据库容器地址字段、宿主机名字段、以及备份日期字段、以及批次内容为空的执行批次字段;恢复模块,用于基于恢复批次信息,更新备份数据恢复需求表中,执行批次字段的批次内容;在更新批次内容之后,基于应用名字段中的应用名、数据库容器地址字段中的数据库容器地址、宿主机名字段中的宿主机名、以及备份日期字段中的备份日期,分批生成备份数据恢复指令;创建备份数据脱敏准备前的数据脱敏专用路径;在数据脱敏专用路径中,依次输出各备份数据恢复指令至备份应用程序。
在其中一个实施例中,装置还包括提示模块;
提示模块,用于基于恢复日志,确定各备份数据的恢复结果;
若恢复结果为恢复失败,则重新输出备份数据恢复指令至备份应用程序,以指示备份应用程序重新自动进行备份数据的批次恢复,并在重新输出备份数据恢复指令的次数达到恢复次数阈值,恢复结果仍为恢复失败时,输出第二提示信息。
上述备份数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储备份数据恢复需求表。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种备份数据的处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述备份数据的处理方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述备份数据的处理方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述备份数据的处理方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
- 数据处理方法、装置、计算机设备及计算机可读存储介质
- 一种数据处理方法、数据处理装置、计算机设备及可读存储介质
- 数据仓库内数据处理方法、装置、计算机设备和存储介质
- 不平衡样本数据预处理方法、装置和计算机设备
- 问诊数据处理方法、装置、计算机设备和存储介质
- 数据备份方法、数据备份设备和计算机程序产品
- 数据备份处理方法、数据存储节点设备及数据存储装置