一种数据处理方法及相关设备与流程

文档序号:20997046发布日期:2020-06-05 22:17阅读:176来源:国知局
本申请涉及通信领域,尤其涉及一种数据处理方法及相关设备。
背景技术
::数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。云计算时代,数据库的数据的备份结果文件一般会选择保存到云存储中。但是,在备份的过程中,备份时需要先落本地磁盘中,然后再上传到存储系统,这样就会导致占用资源多,耗时长。技术实现要素:本申请提供了一种数据处理方法及相关设备,可以减少资源占用,降低上传耗时,同时又可以提高备份的安全性。本申请实施例第一方面提供一种数据处理方法,包括:获取目标备份结果文件;将所述目标备份结果文件转换成文件流,得到第一文件流;对所述第一文件流进行标准化处理,得到标准文件流;将所述标准文件流存储至n个存储系统,其中,n为大于或等于2的正整数。可选地,所述方法还包括:获取所述目标备份结果文件对应的目标元数据文件,所述目标元数据文件包括所述目标备份结果文件的库表位点信息以及所述目标备份结果文件的校验信息;将所述目标元数据文件存储至所述n个存储系统。可选地,所述方法还包括:获取第一元数据文件;根据所述第一元数据文件从所述n个存储系统获取第一备份结果文件;通过所述第一元数据文件中的校验信息对所述第一备份结果文件校验;当校验通过时,确定所述第一备份结果文件的备份类型;根据所述备份类型将所述第一备份结果文件导入第一实例。可选地,所述备份类型为逻辑备份,所述根据所述备份类型将所述第一备份结果文件导入第一实例包括:将所述第一备份结果文件导入所述第一实例。可选地,所述备份类型为物理备份,所述根据所述备份类型将所述第一备份结果文件导入第一实例包括:将所述第一备份结果文件导入第一临时目录;通过所述第一元数据文件中的第一日志对所述第一临时目录执行回放操作,得到第二临时目录;终止所述第一实例中的目标进程;将所述第一实例的数据目录替换为所述第二临时目录;重启所述目标进程,以将所述第一备份结果文件导入所述第一实例。可选地,所述方法还包括:获取第二元数据文件;根据所述第二元数据文件从所述n个存储系统获取第一指定备份结果文件对应的数据块;按照第一预设规则将所述第一指定备份结果文件对应的数据块导入第二实例。可选地,所述根据所述第二元数据文件从所述n个存储系统获取第一指定备份结果文件对应的数据块包括:对所述第二元数据文件进行解析,得到所述第一指定备份结果文件的位点信息以及所述第一指定备份结果文件的校验信息;根据所述第一指定备份结果文件的位点信息按照第二预设规则从第一存储系统获取第一数据块,所述第一存储系统为所述n个存储系统中的存储系统;通过所述第一指定备份结果文件的校验信息对所述第一数据块进行验证;当验证通过时,将所述第一数据块确定为所述第一指定备份结果文件对应的数据块。可选地,所述方法还包括:获取第三元数据文件;根据所述第三元数据文件从所述n个存储系统中获取第二指定备份结果文件对应的数据块;将所述第二指定备份结果文件对应的数据块流式导入第三临时目录;对所述第三临时目录执行回放操作,得到第二数据块;通过所述第三元数据文件确定目标语句;根据所述目标语句将所述第二数据块导入第三实例。可选地,所述根据所述第三元数据文件从所述n个存储系统中获取第二指定备份结果文件对应的数据块包括:对所述第三元数据文件进行解析,得到所述第二指定备份结果文件对应的位点、所述第二指定备份结果文件对应的数据文件、所述第二指定备份结果文件对应的重做日志以及所述第二指定备份结果文件对应的校验信息;根据所述数据文件的文件名以及所述重做日志的文件名从所述n个存储系统中查找所述第二指定备份结果文件对应的数据块;根据所述第二指定备份结果文件对应的数据块的位点按照第三预设规则从第二存储系统中获取第三数据块,所述第二存储系统为所述n个存储系统中的存储系统;通过所述第二指定备份结果文件对应的校验信息对所述第三数据块进行校验;当校验通过时,将所述第三数据块确定为所述第二指定备份结果文件对应的数据块。本申请实施例第二方面提供了一种数据处理装置,包括:获取单元,用于获取目标备份结果文件;转换单元,用于将所述目标备份结果文件转换成文件流,得到第一文件流;处理单元,用于对所述第一文件流进行标准化处理,得到标准文件流;备份单元,用于将所述标准文件流存储至n个存储系统,其中,n为大于或等于2的正整数。可选地,获取单元还用于:获取所述目标备份结果文件对应的目标元数据文件,所述目标元数据文件包括所述目标备份结果文件的库表位点信息以及所述目标备份结果文件的校验信息;所述备份单元,还用于将所述目标元数据文件存储至所述n个存储系统。可选地,所述获取单元,还用于获取第一元数据文件;所述获取单元,还用于根据所述第一元数据文件从所述n个存储系统获取第一备份结果文件;所述数据处理装置还包括:校验单元,用于通过所述第一元数据文件中的校验信息对所述第一备份结果文件校验;确定单元,用于当校验通过时,确定所述第一备份结果文件的备份类型;第一导入单元,用于根据所述备份类型将所述第一备份结果文件导入第一实例。可选地,所述备份类型为逻辑备份,所述第一导入单元具体用于:将所述第一备份结果文件导入所述第一实例。可选地,所述备份类型为物理备份,所述第一导入单元还具体用于:将所述第一备份结果文件导入第一临时目录;通过所述第一元数据文件中的第一日志对所述第一临时目录执行回放操作,得到第二临时目录;终止所述第一实例中的目标进程;将所述第一实例的数据目录替换为所述第二临时目录;重启所述目标进程,以将所述第一备份结果文件导入所述第一实例。可选地,所述获取单元还用于:获取第二元数据文件;根据所述第二元数据文件从所述n个存储系统获取第一指定备份结果文件对应的数据块;所述数据处理装置还包括:第二导入单元,用于按照第一预设规则将所述第一指定备份结果文件对应的数据块导入第二实例。可选地,所述获取单元根据所述第二元数据文件从所述n个存储系统获取第一指定备份结果文件对应的数据块包括:对所述第二元数据文件进行解析,得到所述第一指定备份结果文件的位点信息以及所述第一指定备份结果文件的校验信息;根据所述第一指定备份结果文件的位点信息按照第二预设规则从第一存储系统获取第一数据块,所述第一存储系统为所述n个存储系统中的存储系统;通过所述第一指定备份结果文件的校验信息对所述第一数据块进行验证;当验证通过时,将所述第一数据块确定为所述第一指定备份结果文件对应的数据块。可选地,所述获取单元还用于:获取第三元数据文件;根据所述第三元数据文件从所述n个存储系统中获取第二指定备份结果文件对应的数据块;所述数据处理装置还包括:第三导入单元,所述第三导入单元用于:将所述第二指定备份结果文件对应的数据块流式导入第三临时目录;对所述第三临时目录执行回放操作,得到第二数据块;通过所述第三元数据文件确定目标语句;根据所述目标语句将所述第二数据块导入第三实例。可选地,所述获取单元根据所述第三元数据文件从所述n个存储系统中获取第二指定备份结果文件对应的数据块包括:对所述第三元数据文件进行解析,得到所述第二指定备份结果文件对应的位点、所述第二指定备份结果文件对应的数据文件、所述第二指定备份结果文件对应的重做日志以及所述第二指定备份结果文件对应的校验信息;根据所述数据文件的文件名以及所述重做日志的文件名从所述n个存储系统中查找所述第二指定备份结果文件对应的数据块;根据所述第二指定备份结果文件对应的数据块的位点按照第三预设规则从第二存储系统中获取第三数据块,所述第二存储系统为所述n个存储系统中的存储系统;通过所述第二指定备份结果文件对应的校验信息对所述第三数据块进行校验;当校验通过时,将所述第三数据块确定为所述第二指定备份结果文件对应的数据块。本申请实施例第三方面提供了一种计算机装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述各方面所述的数据处理方法的步骤。本申请实施例第四方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的数据处理方法的步骤。综上所述,可以看出,本申请提供的实施例中,在对目标备份结果文件进行备份时,可以通过将其转换成文件流,并进行标准化处理,并上传至至少两个存储系统中,由于是转换成文件流的方式进行上传,并且上传至至少两个不同类型的存储系统中,这样,可以在上传时无需落地至本次磁盘,减少资源占用,降低上传耗时,且由于是上传至至少两个不同类型的存储系统中,这样,又可以提高备份的安全性。附图说明图1为一种云数据库备份与恢复系统的架构图;图2为本申请实施例提供的数据处理方法的网络架构示意图;图3为本申请实施例提供的数据处理方法的一个流程示意图;图4为本申请实施例提供的数据处理方法的另一流程示意图;图5为本申请实施例提供的数据处理方法的另一流程示意图;图6为本申请实施例提供的数据处理方法的另一流程示意图;图7为本申请实施例提供的数据处理装置的虚拟结构示意图;图8为本申请实施例提供的数据处理装置的硬件结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征向量可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。云存储(cloudstorage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(identity,id)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(raid,redundantarrayofindependentdisk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。请参阅图1,图1为一种云数据库备份与恢复系统的架构图,包括,数据库即服务(database-as-a-service,dbaas)平台101、数据库集群102、上传/恢复组件103以及存储中心104,其中,数据备份流程为:dbaas平台101根据设置的备份策略,下发到响应的数据库集群102,数据库集群102根据备份策略备份日志以及备份数据文件,并将备份结果文件上报dbaas平台101,上传组件103将备份结果文件传输到存储中心104中,并将上传结果上报dbaas平台101;数据恢复系统按照以下步骤完成:dbaas平台101下发恢复指令,dbaas平台101根据恢复指令申请数据库集群102,并配置数据库基础环境,恢复组件103根据恢复指令向存储中心104获取数据备份结果文件,根据指令将备份结果文件恢复至数据库的实例上,并将备份结果文件上报dbaas平台101。但是,该备份结果文件只保存到一种存储系统中,安全性差,另外在备份时需要先落在本地盘,然后再上传到存储系统,占用资源多,耗时长。有鉴于此,本申请提供了一种数据处理方法,可以将备份结果文件保存至多个存储系统,相对于现有的只保存至一种存储系统中,提高安全性能;另外通过文件流的方式来上传备份结果文件,这样无需落在本地盘,直接上传存储系统,相对于现有的落在本地盘,然后在上传存储系统,占用的资源更少,耗时更少。请参阅图2,图2为本申请实施例提供的数据处理方法的网络架构图,包括:终端201、网络202以及n个存储系统203,其中,终端201通过网络202与n个存储系统203进行通信连接,终端201通过网络202与n个存储系统203进行数据交互。终端201获取目标备份结果文件,将目标备份结果文件转换成文件流,得到第一文件流,对第一文件流进行标准化处理,得到标准文件流,将所述标准文件流存储至n个存储系统203,其中,n为大于或等于2的正整数。由于本申请中,是将备份结果文件转换成文件流进行上传,因此无需先落在本地盘,之后上传存储系统,可以减少资源占用,另外是将备份结果文件上传至多个存储系统,又可以提高安全性能。需要说明的是,本申请提供的存储系统可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。下面从数据处理装置的角度对本申请实施例中的数据处理方法进行说明。请参阅图3,图3为本申请实施例提供的数据处理方法的流程示意图,包括:301、获取目标备份结果文件。本实施例中,数据处理装置可以获取目标备份结果文件,备份结果文件是指对应于当前时刻之前的某个时间点的关系型数据库管理系统(mystructuredquerylanguage,mysql)的一个一致性快照,可以用来构建一个跟它所对应的时间点的数据一模一样的新的mysql实例。备份结果文件由一个或者多个文件组成,它分为两种:逻辑备份和物理备份。逻辑备份的备份结果文件是一个文件,它的格式是多条sql语句。物理备份的备份结果文件是多个文件,包括数据文件以及redolog文件,每个数据文件都是原样地从mysql的每个数据文件拷贝过来的,所以格式也跟原文件相同,比如ibd、frm、myd以及myi等格式的文件;而redolog文件只有一个,它记录了在备份过程中的拷贝数据阶段用户对这个mysql实例的写入内容。需要说明的是,目标备份结果文件中包含:数据文件、redolog、快照位点信息文件以及元数据文件。数据文件就是mysql的原始数据文件,redolog记录了在备份过程中用户对mysql实例写入的内容,快照位点信息文件记录了目标备份结果文件对应的位点(可以认为是时间点),元数据文件则记录目标备份结果文件的各个库表对应的文件块信息,具体的文件块信息请参阅下面的表1以及表2的描述。302、将目标备份结果文件转换成文件流,得到第一文件流。本实施例中,数据处理装置可以将目标备份结果文件汇聚成一个文件流,得到第一文件流。由于目标备份结果文件其实就是一个或多个文件,数据处理装置将目标备份结果文件汇聚成一个文件流,其实就是读取多个文件并将其汇聚到一个流式的目标文件中。可以理解的是,本实施例中的目标备份结果文件有两种形式的备份结果文件,一种是逻辑备份形式的目标备份结果文件,一种是物理备份的目标备份结果文件:对于逻辑备份形式的目标备份结果文件来说,目标备份结果文件只有一个文件,那么在转换成文件流就是读取这个文件并将该文件的内容写入到同一个文件中即可;对于物理备份形式的目标备份结果文件来说,目标备份结果文件是多个文件,在转换成文件流时就需要读取每个文件,并将每个文件的内容拼接成一个目标文件,也就是进行打包操作,类似于tar、zip等,但是tar、zip等方式只能单线程打包,而mysql备份为了打包速度,采取了xbstream文件流的格式来打包,支持多线程打包,将每个原文件切成相等大小的多个小块,再把这些相等大小的小块并行地逐个写入到目标文件中。303、对第一文件流进行标准化处理,得到标准文件流。本实施例中,数据处理装置可以对第一文件流进行标准化处理,得到标准文件流,具体的可以将第一文件流输入到备份工具的stdout(标准化处理的目的是是为了兼顾备份性能以及目标备份结果文件存储的灵活性,这样既能方便地支持将备份结果文件上传到不同类型的云存储系统,又能保持较高的性能),将其目标备份结果文件转换成第一文件流之后,把该第一文件流输出到备份工具stdout的,之后无论想要上传到什么类型的存储系统中,都只需要一边读取输出到备份工具的stdout的内容一边调用相应的存储系统的接口将读取到的内容上传上去,而不需要将目标备份结果文件先写入到本地磁盘,然后再读取它并上传到存储系统,这样可以减少资源占用,减少耗时。需要说明的是,备份工具包括物理备份工具xtrabackup和逻辑备份工具mysqldump,物理备份工具对应的是物理备份形式的备份结果文件,逻辑备份工具对应的是逻辑备份形式的备份结果文件,当然也还可以是其他的备份工具,具体不做限定。304、将标准文件流存储至n个存储系统。本实施例中,数据处理装置在得到标准文件流之后,可以将标准文件流上传至n个存储系统中,其中,n为大于或等于2的正整数,该n个存储系统为不同类型的存储系统,例如腾讯云对象存储(cloudobjectstorage,cos)系统、腾讯云文件存储(cloudfilestorage,cfs)系统、阿里云对象存储服务(objectstorageservice,oss)、amazons3以及分布式文件系统(hadoopdistributedfilesystem,hdfs)等存储系统。在一个实施例中,数据处理装置可以在备份目标备份结果文件的同时或者之后获取目标备份结果文件对应的目标元数据文件,该目标元数据文件包并将目标元数据文件存储至n个存储系统,其中,该目标元数据文件包括目标备份结果文件的库表位点信息以及目标备份结果文件的校验信息(该校验信息例如可以为信息摘要算法(md5message-digestalgorithm,md5),当然也还可以是其他的校验信息,具体不做限定)。需要说明的是,目标备份结果文件有两种备份方式,一种是物理备份,一种是逻辑备份,下面分别进行说明:1、物理备份。对于物理备份,目标备份结果文件为多个文件,将多个文件汇聚成文件流,也即xbstream格式(当然也还可以为其他格式,此处仅以xbstream格式为例进行说明,具体不做限定)的文件流。在进行文件流转换时,数据处理装置可以将备份结果文件对应的多个文件切割为相同大小的块(chunk),文件流如表1所示:chunk1chunk2……chunkn表1下面对每个chunk的格式进行说明,请参阅表2:表2其中,chunkmagic表示魔数,一般用于标记这个块的文件类型;flags用于标记这个块的一些特征,比如该块是否压缩、压缩方式以及是否有crc校验等特征;chunktype表示块类型,本实施例中包括两个类型,一个是payload,表示这个块存储的是数据;另一个是eof,表示这个文件流结束了。pathlength表示文件路径的长度;path表示文件路径;length表示payload的长度;offset表示payload对应原文件的偏移量;checksum表示payload的校验和;payload表示path路径的文件的一段内容。可以理解的是,一个物理文件可能对应多个chunk,但一个chunk肯定只对应一个物理文件。上面对目标备份结果文件对应的文件流的格式进行说明,下面对目标备份结果文件进行备份的过程中,记录目标备份结果文件的元数据文件进行说明:记录目标备份结果文件对应的每个chunk的起始位点和结束位点,以及每个chunk的物理文件名,比如:...db1/t1.ibd:1032571,2081146db2/t1.ibd:2081147:3129722db3/t1.ibd:3129723:3131259...;其中,db1为某个块的物理文件名,1032571为该块的起始点,2081146为该块的结束点。2、逻辑备份。当目标备份结果文件为逻辑备份时,将目标备份结果文件转换成sql语句格式的文件流,文件流格式如下:createdatabaseifnotexistsdb1;usedb1;dropifexiststablet1;createtablet1...;locktablet1write;insertintot1values...;unlocktables;dropifexiststablet2;createtablet2...;locktablet2write;insertintot2values...;unlocktables;createdatabaseifnotexistsdb2;usedb2;...在备份目标备份结果文件时或者备份完成时,数据处理装置可以记录目标备份结果文件对应的所有库表在目标备份结果文件中的起始位点和结束位点(可以理解的是,在mysql中,库就是database,表就是table。这里的目标备份结果文件在备份时针对的是一个mysql实例。mysql实例对应一个数据集,database和table就是对该数据集的划分方式。一个mysql实例包含多个database,一个database包含多个table。目标备份结果文件就是整个mysql实例的数据集,而每个database或者table都对应着备份结果文件中的一段或多段内容),也就是说对于每个库,记录它对应的createdatabaseifnotexists语句的位点以及下个库的createdatabaseifnotexists语句的位点;对于每个表,记录它对应的dropifexiststable语句的位点以及下个表的dropifexiststable语句的位点。比如:db1:0,11db1.t1:2,6db1.t2:7:11db2:12:......。综上所述,可以看出,本申请提供的实施例中,在对目标备份结果文件进行备份时,可以通过将其转换成文件流,并进行标准化处理,并上传至至少两个存储系统中,由于是转换成文件流的方式进行上传,并且上传至至少两个不同类型的存储系统中,这样,可以在上传时无需落地至本次磁盘,减少资源占用,降低上传耗时,且由于是上传至至少两个不同类型的存储系统中,这样,又可以提高备份的安全性。需要说明的是,对于备份结果文件的恢复有两种恢复方式,一种是对整个实例的备份结果文件进行恢复,一种是对实例中的指定库表进行恢复,下面分别进行说明:结合图4对整个实例的恢复进行说明,请参阅图4,图4为本申请实施例提供过的数据处理方法的另一流程示意图,包括:401、获取第一元数据文件。本实施例中,数据处理装置可以获取第一元数据文件,此处具体不限定获取的方式,例如数据处理装置可以启动下载工具从n个存储系统下载第一元数据文件。该第一元数据文件为整个实例对应的元数据文件,该第一元数据文件中包括整个实例对应的库表位点信息以及校验信息(该校验信息例如可以为md5信息,当然也还可以是其他的校验信息,具体不做限定)。402、根据第一元数据文件从n个存储系统获取第一备份结果文件。本实施例中,数据处理装置在得到第一元数据文件之后,可以通过下载工具从n个存储系统中下载与第一元数据对应的备份结果文件,也即第一备份结果文件。403、通过第一元数据文件中的校验信息对第一备份结果文件校验。本实施例中,数据处理装置可以对第一元数据文件进行解析得到第一元数据文件中的校验信息,并通过校验信息对第一备份结果文件进行校验。404、当校验通过时,确定第一备份结果文件的备份类型。本实施例中,当数据处理装置通过第一元数据文件中的校验信息对第一备份结果文件校验通过时,可以确定该第一备份结果文件的备份类型,也即确定该第一备份结果文件是物理备份还是逻辑备份。405、根据备份类型将第一备份结果文件导入第一实例。本实施例中,数据处理装置根据备份类型将该备份结果文件以文件流的形式导入实例即可。需要说明的是,在从n个存储系统下载第一备份结果文件时,可以从n个存储系统中下载对应的备份结果文件,之后将下载的备份结果的校验信息与第一备份结果文件对应的元数据文件中的校验信息进行匹配,当匹配成功时,则说明下载成功,如果匹配不成功,则说明未下载成功,则进行报错处理。下面分别对不同备份类型的备份结果文件是如何导入实例进行说明:1、逻辑备份。当该第一备份结果文件为逻辑备份时,可以直接将第一备份结果文件流式导入对应的实例即可。2、物理备份。当该第一备份结果为物理备份时,将第一备份结果文件导入第一临时目录;通过第一元数据文件中的第一日志对第一临时目录执行回放操作,得到第二临时目录;终止第一实例中的目标进程;将第一实例的数据目录替换为第二临时目录;重启目标进程,以将第一备份结果文件导入第一实例。也就是说,当该第一备份结果文件为物理备份时,可以先将第一备份结果文件下载至本地磁盘的第一临时目录,之后通过第一元数据文件中的第一日志(也即元数据文件中的redo日志文件)执行回放操作(redo日志文件中记录的是备份过程中用户对mysql实例的写入内容,也就是对mysql数据的修改。回放redo日志就是将redo日志的内容写入到从第一备份结果文件中解压出来的数据文件的相应位置),得到第二临时目录,然后将第一实例中的目标进程(也即mysqld进程)停止,并将第一实例的数据目录替换为第二临时目录,最后重新启动目标进程,即可以完成对第一备份结果文件的导入。综上所述,本申请提供的实施例中,在对整个实例进行恢复时,可以使用文件流的形式导入实例,这样无需落地在本地磁盘,减少资源占用,提高数据恢复的速度。由于备份结果文件对应的备份类型不同,在对指定的库表进行恢复时需要采用不同的方式,下面结合图5以及图6对指定库表进行恢复进行说明:1、该指定库表对应的备份方式为逻辑备份。请参阅图5,图5为本申请实施例提供的数据处理方法的另一流程示意图,包括:501、获取第二元数据文件。本实施例中,数据处理装置可以获取第二元数据文件,此处具体不限定获取的方式,例如数据处理装置可以启动下载工具从n个存储系统下载第二元数据文件。该第二元数据文件为指定库表对应的元数据文件,该第二元数据文件包括指定库表对应的位点信息以及校验信息。502、根据第二元数据文件从n个存储系统获取第一指定备份结果文件对应的数据块。本实施例中,数据处理装置可以对第二元数据文件进行解析,得到第一指定备份结果文件的位点以及第一指定备份结果文件的校验信息,之后根据第一指定备份结果文件的位点,按照第二预设规则(例如按照位点从小到大的顺序,当然也还可以按照其他的规则,具体不限定),从n个存储系统中的一个存储系统中下载第一数据块,并通过第一备份结果文件的校验信息对第一数据块进行校验,当校验通过时,将第一数据块确定为第一指定备份结果文件对应的数据块。当校验未通过时,从n个存储系统中的其他存储系统中下载数据块,并校验,当n个存储系统中下载的数据块均未验证通过,则进行报错处理。503、按照第一预设规则将第一指定备份结对应的数据块导入第二实例。本实施例中,在成功下载第一指定备份结果文件对应的数据块之后,按照下载先后顺序将第一指定备份结果对应的数据块拼接成一个文件流,直接导入的第二实例中,此处的第一预设规则例如可以按照下载先后顺序,当然也还可以是其他的规则,具体不做限定。综上所述,可以看出,本申请提供的实施例中,可以对需要对逻辑备份的指定库表进行下载时,相对于现有的只能对整个实例进行恢复,而不能对指定库表进行恢复,可以提高数据恢复的时间。2、该指定库表对应的备份方式为物理备份。请参阅图6,图6为本申请实施例提供的数据处理方法的另一流程示意图,包括:601、获取第三元数据文件。本实施例中,数据处理装置可以获取第三元数据文件,此处具体不限定获取的方式,例如数据处理装置可以启动下载工具从n个存储系统下载第三元数据文件。该第三元数据文件为指定库表对应的元数据文件,该第三元数据文件中包括指定库表对应的位点信息以及校验信息。602、根据第三元数据文件从n个存储系统中获取第二指定备份结果文件对应的数据块。本实施例中,数据处理装置可以第三元数据文件进行解析,得到第二指定备份文件对应的位点(也即第二指定备份结果文件中的每个物理文件的所有chunk的位点)、第二指定备份结果对应的数据文件(也即frm文件和ibd文件,其中,frm保存的是mysql表的结构,ibd保存的是mysql表的具体内容)、第二指定备份结果文件对应的重做日志(也即redo日志)以及第二指定备份结果文件对应的校验信息,之后根据数据文件的文件名以及重做日志的文件名从n个存储系统中查找与第二备份结果对应的数据块(也即通过frm文件的文件名、ibd文件的文件名以及redo日志文件的文件名),找到所有需要下载的chunk,并根据第二指定备份结果文件对应的位点按照第三预设规则(例如按照位点从小到大的顺序,当然也还可以是其他的顺序,例如从大到小,具体不做限定)从第二存储系统中获取第三数据块,该第三数据块即为第二指定备份结果文件对应的数据块。需要说明的是,在每次下载一个数据块时,还需要对该数据块进行校验,具体的通过第二指定备份结果文件对应的校验信息对第三数据块进行校验,当校验通过时,执行步骤603,当校验不通过时,报错处理。603、将第二指定备份结果文件对应的数据块流式导入第三临时目录。本实施例中,数据处理装置可以将下载的第二指定备份结果文件对应的数据块流式导入第三临时目录,也即将第二指定备份结果文件对应的数据块按下载的顺序拼接成一个文件流,输出到下载工具的stdout中,并读取下载工具的stdout,并将第二指定备份结果文件对应的数据块解压至第三临时目录。604、对第三临时目录执行回放操作,得到第二数据块。本实施例中,数据处理装置在将第二指定备份结果文件对应的数据块解压至第三临时目录之后,可以对第三临时目录执行回放操作(因为物理备份是直接对原实例的数据目录进行拷贝,但是在拷贝数据文件的过程中耗时可能较长,用户可能又对实例进行了写入,也就是修改了某些数据文件,如果某个数据文件被备份任务拷贝完之后又被用户修改了,那么最终拷贝到的这个数据文件可能将不能和其他拷贝到的数据文件对应到同一个时间点。由于备份过程中用户的写入内容都记录在了rodo日志中,所以这里在解压完之后,对redo进行回放,就能将所有数据文件对应到同一个时间点上),得到第二数据块。605、通过第三元数据文件确定目标语句。本实施例中,数据处理装置对第三元数据进行解析后,可以得到指定库表对应的frm文件,此时可以从frm文件中解析出建表语句,也即目标语句。606、根据目标语句将第二数据块导入第三实例。本实施例中,数据处理装置在从frm文件中解析出建表语句之后,并通过建表语句在第三实例中建表,将ibd文件导入第三实例中新建的表中,也即拷贝ibd文件到第三实例中,完成第二指定备份结果文件的导入。综上所述,可以看出,本申请提供的实施例中,综上所述,可以看出,本申请提供的实施例中,可以对需要对逻辑备份的指定库表进行下载时,相对于现有的只能对整个实例进行恢复,而不能对指定库表进行恢复,可以提高数据恢复的时间,同时在对指定库表进行恢复的过程中加入了验证过程,可以提高数据的安全性。上述从数据处理方法的角度对本申请实施例进行描述,下面从数据处理装置的角度对本申请实施例进行描述。请参阅图7,图7为本申请实施例提供的数据处理装置的虚拟结构示意图,包括:获取单元701,用于获取目标备份结果文件;转换单元702,用于将所述目标备份结果文件转换成文件流,得到第一文件流;处理单元703,用于对所述第一文件流进行标准化处理,得到标准文件流;备份单元704,用于将所述标准文件流存储至n个存储系统,其中,n为大于或等于2的正整数。可选地,获取单元701还用于:获取所述目标备份结果文件对应的目标元数据文件,所述目标元数据文件包括所述目标备份结果文件的库表位点信息以及所述目标备份结果文件的校验信息;所述备份单元704,还用于将所述目标元数据文件存储至所述n个存储系统。可选地,所述获取单元701,还用于获取第一元数据文件;所述获取单元701,还用于根据所述第一元数据文件从所述n个存储系统获取第一备份结果文件;所述数据处理装置还包括:校验单元705,用于通过所述第一元数据文件中的校验信息对所述第一备份结果文件校验;确定单元706,用于当校验通过时,确定所述第一备份结果文件的备份类型;第一导入单元707,用于根据所述备份类型将所述第一备份结果文件导入第一实例。可选地,所述备份类型为逻辑备份,所述第一导入单元707具体用于:将所述第一备份结果文件导入所述第一实例。可选地,所述备份类型为物理备份,所述第一导入单元707还具体用于:将所述第一备份结果文件导入第一临时目录;通过所述第一元数据文件中的第一日志对所述第一临时目录执行回放操作,得到第二临时目录;终止所述第一实例中的目标进程;将所述第一实例的数据目录替换为所述第二临时目录;重启所述目标进程,以将所述第一备份结果文件导入所述第一实例。可选地,所述获取单元701还用于:获取第二元数据文件;根据所述第二元数据文件从所述n个存储系统获取第一指定备份结果文件对应的数据块;所述数据处理装置还包括:第二导入单元708,用于按照第一预设规则将所述第一指定备份结果文件对应的数据块导入第二实例。可选地,所述获取单元701根据所述第二元数据文件从所述n个存储系统获取第一指定备份结果文件对应的数据块包括:对所述第二元数据文件进行解析,得到所述第一指定备份结果文件的位点信息以及所述第一指定备份结果文件的校验信息;根据所述第一指定备份结果文件的位点信息按照第二预设规则从第一存储系统获取第一数据块,所述第一存储系统为所述n个存储系统中的存储系统;通过所述第一指定备份结果文件的校验信息对所述第一数据块进行验证;当验证通过时,将所述第一数据块确定为所述第一指定备份结果文件对应的数据块。可选地,所述获取单元701还用于:获取第三元数据文件;根据所述第三元数据文件从所述n个存储系统中获取第二指定备份结果文件对应的数据块;所述数据处理装置还包括:第三导入单元709,所述第三导入单元709用于:将所述第二指定备份结果文件对应的数据块流式导入第三临时目录;对所述第三临时目录执行回放操作,得到第二数据块;通过所述第三元数据文件确定目标语句;根据所述目标语句将所述第二数据块导入第三实例。可选地,所述获取单元701根据所述第三元数据文件从所述n个存储系统中获取第二指定备份结果文件对应的数据块包括:对所述第三元数据文件进行解析,得到所述第二指定备份结果文件对应的位点、所述第二指定备份结果文件对应的数据文件、所述第二指定备份结果文件对应的重做日志以及所述第二指定备份结果文件对应的校验信息;根据所述数据文件的文件名以及所述重做日志的文件名从所述n个存储系统中查找所述第二指定备份结果文件对应的数据块;根据所述第二指定备份结果文件对应的数据块的位点按照第三预设规则从第二存储系统中获取第三数据块,所述第二存储系统为所述n个存储系统中的存储系统;通过所述第二指定备份结果文件对应的校验信息对所述第三数据块进行校验;当校验通过时,将所述第三数据块确定为所述第二指定备份结果文件对应的数据块。综上所述,可以看出,本申请提供的实施例中,在对目标备份结果文件进行备份时,可以通过将其转换成文件流,并进行标准化处理,并上传至至少两个存储系统中,由于是转换成文件流的方式进行上传,并且上传至至少两个不同类型的存储系统中,这样,可以在上传时无需落地至本次磁盘,减少资源占用,降低上传耗时,且由于是上传至至少两个不同类型的存储系统中,这样,又可以提高备份的安全性。本申请实施例还提供了另一种数据处理装置,如图8所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该数据处理装置可以为包括手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑等任意终端设备,以数据处理装置为手机为例:图8示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图8,手机包括:射频(radiofrequency,rf)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(wirelessfidelity,wifi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图8中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。下面结合图8对手机的各个构成部件进行具体的介绍:rf电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,rf电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte)、电子邮件、短消息服务(shortmessagingservice,sms)等。存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入单元830可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图8中,触控面板831与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。手机还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。音频电路880、扬声器861,传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经rf电路810以发送给比如另一手机,或者将音频数据输出至存储器820以便进一步处理。wifi属于短距离无线传输技术,手机通过wifi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了wifi模块870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理单元;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。手机还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。在本申请实施例中,该终端所包括的处理器880还用于执行上述由数据处理装置所执行的操作。本申请实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述所述数据处理方法的步骤。本申请实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述数据处理方法的步骤。本申请实施例还提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述所述数据处理方法的步骤。本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述所述数据处理方法的步骤。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1