数据备份方法、装置、电子设备及存储介质与流程

文档序号:25543622发布日期:2021-06-18 20:40
数据备份方法、装置、电子设备及存储介质与流程

本申请涉及数据存储技术领域,尤其涉及一种数据备份方法、装置、电子设备及存储介质。



背景技术:

数据备份是指为防止系统出现操作失误或系统故障导致数据丢失,而将数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。

在传统的备份过程中,不论以何种方式进行备份,始终需要将生产系统中备份的全部数据传输至备份设备中,再进行保存。

采用这样的备份方式,需要使用较高的网络带宽,同时需要保存大量的数据,占用大量的存储空间。



技术实现要素:

本申请实施例提供一种数据备份方法以解决现有技术中,数据备份时占用带宽大、传输数据量大、占用存储空间多的问题。

本申请实施例还提供一种数据备份装置以解决现有技术中,数据备份时占用带宽大、传输数据量大、占用存储空间多的问题。

本申请实施例还提供一种电子设备及存储介质。

本申请实施例采用下述技术方案:

一种数据备份方法,包括:

将待备份数据切割成预定长度的数据项,得到第一数据项集;

将所述第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对;

根据比对结果更新所述数据字典以及所述存储介质存储的与所述数据字典关联的编码集及备份数据;

将更新后的所述数据字典同步到所述存储介质。

一种数据备份装置,所述数据备份装置包括:

分割模块,被配置成将待备份数据切割成预定长度的数据项,得到第一数据项集;

比对模块,被配置成将所述第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对;

更新模块,被配置成根据比对结果更新所述数据字典以及所述存储介质存储的与所述数据字典关联的编码集及备份数据;

同步模块,被配置成将更新后的所述数据字典同步到所述存储介质。

一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序,实现上述所述的方法步骤。

一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法步骤。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

由于将第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对,根据比对结果更新数据字典以及存储介质存储的与数据字典关联的编码集及备份数据,并将更新后的数据字典同步到存储介质。因此,无需将备份的全部数据传输至存储介质,具有降低占用带宽、数据传输量小、占用存储空间小等优点。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的数据备份方法、装置、电子设备及存储介质的应用环境示意图。

图2为本申请实施例提供的数据备份方法的流程图。

图3为本申请实施例提供的电子设备的结构示意图。

图4为本申请实施例提供的数据备份装置的结构示意图。

具体实施方式

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

以下结合附图,详细说明本申请各实施例提供的技术方案。

解决现有技术中,数据备份时占用带宽大、传输数据量大、占用存储空间多的问题,本申请实施例提供了一种数据备份方法、装置、电子设备及存储介质,该方法、装置、电子设备及存储介质可在数据备份时无需将备份的全部数据传输至存储介质,从而减少数据在用户端与存储介质之间的传输,降低网络带宽的占用。

首先,为了更直观地理解本说明书实施例提供的方案,下面结合图1,对本说明书实施例提供的数据备份方案的系统架构进行说明。

如图1所示,是本申请一个或多个实施例提供的数据备份方法、装置、电子设备及存储介质的应用环境示意图。如图1所示,终端设备10与存储介质20建立通信连接以进行数据交换,以便终端设备10能够将需要备份的数据备份到存储介质20中。所述终端设备10可以是,但不限于个人电脑、智能手机、平板电脑、膝上型便携计算机、车载电脑、人数字助理等。所述存储介质20可以是,但不限于用于数据备份的数据存储服务器、磁盘阵列等专门用于数据存储备份的设备。

下面将对本申请实施例提供的数据备份方法进行详细说明。

本申请实施例提供的数据备份方法可应用于终端设备10,为了便于描述,除特别说明外,本申请实施例均以终端设备10为执行主体进行说明。

具体的,数据备份方法如图2所示,可以包括如下步骤:

步骤s21,将待备份数据切割成预定长度的数据项,得到第一数据项集。

本申请实施例提供的备份方案,主要用于数据更新后对已备份的数据再次备份。例如,可以用于某应用在版本升级后,对升级后的新版本应用进行备份。

在对待备份数据进行备份时,首先,可以将待备份数据切割成预定长度的数据项,该预定长度可以是用户根据实际情况设定的。

本申请的一个或多个实施例中,可根据不同的数据类型设置不同的切割长度。例如,对于文件系统的数据,切割长度可以设置为16位,对于数据库的数据,切割长度可以设置为32位。在进行数据切割时,可根据待备份数据的数据类型所对应的切割长度,对待备份数据进行切割,得到多个数据项,为方便描述这里称这多个数据项的集合为第一数据项集。

本申请的一个或多个实施例中,待备份数据可能由多个长度不一的数据块组成,进行切割时可以以数据块为单位进行切割。数据块的长度可能不是切割长度的整数倍,在根据设置的切割长度对待备份数据中的数据块进行切割后,得到的最后的一个数据项的长度可能达不到该切割长度。因此,对数据块切割时,最后一个数据项可以不用要求达到该预定的长度。

例如,对于一文件系统的数据,切割长度设置为16位,然而某一数据块只有24位长度,则在进行切割时,可将该数据块切割成数据长度依次为16位和8位的两个数据项。

本申请的一个或多个实施例中,数据项可以包括基准位和增量位两部分,其中基准位与对应的数据项的数据类型关联,用于区分不同类型的数据。增量位与对应的数据项的内容关联。例如,对于文件系统的数据所对应的数据项,基准位可以是001,对于数据库的数据所对应的数据项,基准位可以是002,如此可以根据基准位区分不同类型的数据。

步骤s23,从存储介质中获取数据字典。

与此同时,从存储介质中获取与待备份数据对应的数据字典,该数据字典为该待备份数据的在前版本备份后得到的。例如,待备份数据为a应用的2.0版本,则获取到的数据字典可以是a应用的1.0版本在备份后得到的数据字典。

本申请的一个或多个实施例中,在获取数据字典时,可以根据待备份数据的标识信息从存储介质中获取与该标识信息对应的数据字典。所述标识信息可以是数据类型或用于识别待备份数据的一些其他信息,以确保能准确从存储介质中获取到与待备份数据对应的数据字典。

其中,数据字典包括多个数据项,为方便描述这里称之为第二数据项集。数据项中设置对应的编码,该编码用于对对应的数据项进行编号,为方便描述将第二数据项集对应的所有编码的集合称之为第一编码集。

第一编码集种的编码可以采用二进制编码、八进制编码、十进制编码、十六进行编码等。一般情况下数据的存储都是采用二进制,为避免运算时的再次转换,因此在本申请的一个或多个实施例中,编码采用二进制编码。

可以理解的是,步骤s21与步骤s23的顺序并不限定。

步骤s25,将第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对。

在将待备份数据切割成预定长度的数据项得到第一数据项集,以及从存储介质中获取数据字典后,可将第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对,以找出第一数据项集与第二数据项集中不同的数据项。

步骤s27,根据比对结果更新数据字典以及存储介质存储的与数据字典关联的编码集及备份数据。

具体的,新版本的发布,一般会在上一次版本中新增内容,即待备份数据中对多出部分数据。因此,在将待备份数据切割成预定长度的数据项得到第一数据项集后,第一数据项集相对于数据字典中的第二数据项集一般会多出一部分数据项。

因此,在进行比对时,可以将第一数据项集中的数据项与第二数据项集中的数据项逐一对比,找出第一数据项集中相对于第二数据项集多出的数据项。

在将进行比对后,可以将第一数据项集中相对于第二数据项集多出的数据项添加到第二数据项集中,并在第一编码集中新增与添加的数据项对应的编码,其中,添加的编码还可以指示对应的数据项的存储顺序。

存储介质中存储有与数据字典关联的第二编码集以备份数据集,即上一版本应用的所有数据以及上一版本应用的数据切割成数据项后所对应的所有编码的集合。

在将第一数据项集中的数据项与第二数据项集中的数据项逐一对比后,还可根据第一数据项集中数据项所对应的编码,更新存储介质中存储的第二编码集,以及将第一数据项集中多出的数据添加至备份数据集中。

例如,某一段待备份数据为“aabbccddccddee”,切割成第一数据项集后,第一数据项集中的数据项分别为00010、00001、00100、00111、00100、00111和11111。而在上一版本中该段数据为“aabbccddccdd”,即第二数据项集中的数据项分别为00010、00001、00100、00111、00100、00111,假定第二数据项集中的这几个数据项对应的编码分别是2、1、4、7、4、7(为了方便区分二进制编码的数据项,因此这里用阿拉伯数字示意性的表示编码),数据项11111在数据字典的第二数据项集中未找到。此时可将该多出的数据项11111添加到数据字典的第二数据项集中,并更新数据项11111对应的编码为x,然后存储该编码x,最后编码集中的编码为214747x,且编码x还指示有对应数据项11111的存储顺序。

存储介质中存储有上一版本应用所有的数据以及上一版本应用所切割成数据项后所对应的所有编码的集合,即存储有数据“aabbccdd”以及其切割成数据项所对应的编码2、1、4、7、4、7。在更新时还将多出的编码x添加到第二编码集中,更新后的第二编码集中的编码为214747x。同时,将多出的数据“ee”添加到备份数据集中,添加后的备份数据集即为“aabbccddee”。

步骤s29,将更新后的数据字典同步到存储介质。

在更新数据字典中的第二数据项集和编码集后,可将更新后的数据字典同步到存储介质中,此时完成待备份数据的备份过程。

采用这样的备份方式,在数据恢复时,可通过终端设备发起恢复进程,从存储介质中找到对应第二编码集,并根据第二编码集中编码查询数据字典,通过编码顺序及数据字典中编码与数据项的对应关系,能够快速恢复数据项并合成需要恢复的数据。

本申请实施例提供的数据备份方法,由于将第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对,根据比对结果更新数据字典以及存储介质存储的与数据字典关联的编码集及备份数据,并将更新后的数据字典同步到存储介质。因此,无需将备份的全部数据传输至存储介质,减少了终端设备与存储之间之间的数据传输,具有降低占用带宽、数据传输量小、占用存储空间小等优点。同时,由于数据项的多变性,以及编码的唯一性,这相当于对备份数据进行了加密,提升了备份数据的安全性。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图3是本申请的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据备份装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:

将待备份数据切割成预定长度的数据项,得到第一数据项集;

将所述第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对;

根据比对结果更新数据字典以及所述存储介质存储的与所述数据字典关联的编码集及备份数据;

将更新后的所述数据字典同步到所述存储介质。

上述如本申请图2所示实施例揭示的数据备份装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

该电子设备还可执行图2的方法,并实现数据备份装置在图2所示实施例的功能,本申请实施例在此不再赘述。

当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2所示实施例的方法,并具体用于执行以下操作:

将待备份数据切割成预定长度的数据项,得到第一数据项集;

将所述第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对;

根据比对结果更新数据字典以及所述存储介质存储的与所述数据字典关联的编码集及备份数据;

将更新后的所述数据字典同步到所述存储介质。

图4是本申请的一个实施例数据备份装置40的结构示意图。请参考图4,在一种软件实施方式中,数据备份装置40可包括:

分割模块41,被配置成将待备份数据切割成预定长度的数据项,得到第一数据项集。

可以理解的,分割模块41可以被配置为执行上述的步骤s21。

获取模块43,被配置为从存储介质中获取数据字典。

可以理解的,获取模块43可以被配置为执行上述的步骤s23。

比对模块45,被配置成将第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对。

可以理解的,比对模块45可以被配置为执行上述的步骤s25。

更新模块47,被配置成根据比对结果更新数据字典以及存储介质存储的与数据字典关联的编码集及备份数据。

可以理解的,更新模块47可以被配置为执行上述的步骤s27。

同步模块49,被配置成将更新后的数据字典同步到存储介质。

可以理解的,同步模块49可以被配置为执行上述的步骤s29。

本申请实施例提供的数据备份装置40,由于将第一数据项集与从存储介质获取到的数据字典中的第二数据项集进行比对,根据比对结果更新数据字典以及存储介质存储的与数据字典关联的编码集及备份数据,并将更新后的数据字典同步到存储介质。因此,无需将备份的全部数据传输至存储介质,减少了终端设备与存储之间之间的数据传输,具有降低占用带宽、数据传输量小、占用存储空间小等优点。同时,由于数据项的多变性,以及编码的唯一性,这相当于对备份数据进行了加密,提升了备份数据的安全性。

总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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