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

文档序号:16390269发布日期:2018-12-22 11:20阅读:184来源:国知局
一种数据备份方法、装置、设备及存储介质与流程

本发明实施例涉及数据安全技术领域,尤其涉及一种数据备份方法、装置、设备及存储介质。

背景技术

数据库备份是数据安全领域中一个很常见的技术操作。

发明人在实现本发明的过程中,发现现有技术存在如下缺陷:为了数据存储的安全,常使用至少一个从数据库来备份主数据库,但由于每个从数据库与主数据库具有相同的全部数据,这样的冗余存储造成了存储空间的浪费和成本的提升。另外,在备份过程中,需要对主数据库进行读取操作,而对于一些不稳定的主数据库,频繁的数据库读取操作会影响主数据库的使用性能。



技术实现要素:

本发明实施例提供一种数据备份方法、装置、设备及存储介质,以实现备份成本低、备份效率高、备份可靠性强和备份数据安全性高的技术效果。

第一方面,本发明实施例提供了一种数据备份方法,该方法包括:

获取数据操作指令,所述数据操作指令包括目标独立数据和操作方式;

对主数据库执行所述数据操作指令,所述主数据库用于存储所有的独立数据;

查找目标备份单元,所述主数据库的每条独立数据根据预设索引方式备份存储于各自对应的备份单元,所述目标备份单元是与所述目标独立数据具有对应关系的备份单元;

对所述目标备份单元执行所述数据操作指令。

可选的,所述获取数据操作指令之前,还包括:

初始化至少一个所述备份单元。

可选的,所述初始化至少一个所述备份单元包括:

确定所述预设索引方式,所述预设索引方式根据所述主数据库的主键进行确定;

读取所述主数据库的每条独立数据;

确定每条所述独立数据对应的备份单元,所述备份单元和所述独立数据的对应关系根据所述预设索引方式确定;

将每条所述独立数据备份至对应的备份单元中。

可选的,所述对主数据库执行所述数据操作指令包括:

在所述主数据库中开始执行所述数据操作指令;

在执行过程中,判断主数据库是否发生第一异常,所述第一异常为业务逻辑异常或主数据库异常;

若主数据库发生第一异常,则执行异常处理,所述异常处理根据所述第一异常确定;

若主数据库未发生第一异常,则继续执行所述数据操作指令,并在所述数据操作指令执行完毕后,执行查找目标备份单元的操作。

可选的,所述第一异常为业务逻辑异常,所述执行异常处理包括:

确定所述业务逻辑异常的异常类型;

按照预设提示方式提示所述异常类型。

可选的,所述第一异常为主数据库异常,所述执行异常处理包括:

查找所述主数据库中的异常独立数据;

获取所述异常独立数据对应的备份独立数据,所述备份独立数据存储于所述异常独立数据对应的备份单元中;

将所述异常独立数据替换为所述备份独立数据;

返回执行在所述主数据库中开始执行所述数据操作指令的操作。

可选的,所述对所述目标备份单元执行所述数据操作指令包括:

在所述目标备份单元中开始执行所述数据操作指令;

在执行过程中,判断所述目标备份单元是否发生第二异常;

若发生第二异常,则初始化所述目标备份单元。

可选的,所述初始化所述目标备份单元包括:

在所述主数据库中,读取与所述目标备份单元对应的独立数据;

将与所述目标备份单元对应的独立数据备份存储于所述目标备份单元。

可选的,所述操作方式包括增加独立数据、删除独立数据和更改独立数据中的至少一种。

可选的,所述备份单元为从数据库或配置文件。

第二方面,本发明实施例提供了一种数据备份装置,该装置包括:

数据操作获取模块,用于获取数据操作指令,所述数据操作指令包括目标独立数据和操作方式;

主数据库更新模块,用于对主数据库执行所述数据操作指令,所述主数据库用于存储所有的独立数据;

目标备份单元查找模块,用于查找目标备份单元,所述主数据库的每条独立数据根据预设索引方式备份存储于各自对应的备份单元,所述目标备份单元是与所述目标独立数据具有对应关系的备份单元;

目标备份单元更新模块,用于对所述目标备份单元执行所述数据操作指令。

第三方面,本发明实施例提供了一种数据备份设备,该设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中提供的数据备份方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中提供的数据备份方法。

上述提供的一种数据备份方法、装置、设备及存储介质,通过获取数据操作指令,并在对主数据库执行数据操作指令后,按照预设索引方式查找到对应的目标备份单元,之后对目标备份单元执行数据操作指令的技术手段,解决整体备份和数据库频繁读取操作分别带来的数据冗余和不稳定问题,实现备份成本低、备份效率高、备份可靠性强和备份数据安全性高的技术效果,同时,由于主数据库和目标备份单元各自执行数据操作指令,也可以减小主数据库的读取次数,保证主数据库的使用性能。

附图说明

图1a为本发明实施例一提供的一种数据备份方法的流程图;

图1b为本发明实施例一提供的一种课件数据录入界面的示意图;

图1c为本发明实施例一提供的一种主数据库与备份单元的结构示意图;

图2a为本发明实施例二提供的一种数据备份方法的流程图;

图2b为本发明实施例二提供的对应业务逻辑异常的异常处理方法的流程图;

图2c为本发明实施例二提供的对应主数据库异常的异常处理方法的流程图;

图3为本发明实施例三提供的一种数据备份装置的结构示意图;

图4为本发明实施例四提供的一种数据备份设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1a为本发明实施例一提供的一种数据备份方法的流程图。本实施例提供的数据备份方法可以由数据备份设备执行,该数据备份设备可以通过软件和/或硬件的方式实现,该数据备份设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。该数据备份设备可以是电脑、服务器或虚拟服务器等。在本实施例中,以服务器为数据备份设备为例进行描述。具体的,本实施例中的数据备份方法主要是针对数据库的备份。服务器中预先安装有主数据库,主数据库中存储有业务处理需要的全部业务数据。服务器中还设置有存储空间作为存储单元的载体,用于分布存储备份主数据库,根据需求恢复主数据库的业务数据。其中,一台服务器对应一个或多个存储单元。需要注意的是,在实际运用中,还可以通过多台数据备份设备互相配合来实现本实施例提供的方法,如电脑和至少一台服务器。其中,电脑作为业务的处理端,用于安装主数据库,服务器作为备份端,即服务器作为存储单元的载体。并且,在数据库的使用过程中,本实施例以数据服务层和业务层进行隔离为例进行说明,业务层是针对于数据库服务的使用方,业务层无需知道数据库备份功能的存在,只需要操作数据服务层对外提供的接口即可,数据服务层主要用于对数据库执行读写和备份的操作,具体的,数据服务层可以调用内置的数据库操作模块对数据库执行读写的操作,还可以调用内置的备份操作模块对数据执行备份的操作。具体的,参考图1a,本实施例提供的数据备份方法具体包括如下步骤:

s110、获取数据操作指令。

其中,数据操作指令用于操作主数据库,本实施例对数据操作指令的形式不作限定,可以是结构化查询语言(structuredquerylanguage,sql)语句,也可以是以其他计算机语言形式表示的进行数据库操作的指令。

本实施例中,数据操作指令包括目标独立数据和操作方式,其中,独立数据存储于主数据库中。独立数据是业务对象的信息,独立是指该数据不依赖其他的数据,拥有该业务对象所需的全部信息。如一个数据库只存储课件数据,即业务对象为课件,由于不同课件数据之间是相互独立,不依赖其他课件数据,所以课件数据为独立数据,又如一个数据库存储有学生和班级的数据,即业务对象为学生和班级,由于学生数据中只是存储了班级的编号,若要获取学生所属班级的详细信息,需要依赖于班级的数据部分,所以学生和班级的数据不相互独立。目标独立数据是指数据操作指令进行操作的独立数据,即目标独立数据是需要被更新的独立数据。

进一步的,本实施例对操作方式不作限定,如操作方式包括增加独立数据、删除独立数据和更改独立数据中的至少一种。

一般的,本实施例对数据操作指令的获取方式不作限定,如数据操作指令的获取可以是通过业务层检测用户对业务数据的操作。图1b为本发明实施例一提供的一种课件数据录入界面的示意图。参照图1b,业务层主要用于为数据库使用方提供操作界面10,操作界面10中呈现有业务数据和为用户提供的多种修改业务数据的途径,其中,业务数据为独立数据,用于表示业务对象的信息。本实施例对业务数据的呈现方式和修改途径不作限定,如用户可以通过在文本框12录入相应的内容13,业务层检测该文本框12的内容13变化,确定相应的数据操作指令。具体的,如图1b中的文字11表示文本框12中内容13的属性是“课件名称”,用户在文本框12中录入内容13“aaaa”,表示录入“课件名称”为“aaaa”的业务数据,同理,该业务数据还包括“主题bbbb”和“副标题cccc”,业务层检测到该业务数据的变化,从而获取数据操作指令,数据操作指令中的目标独立数据为“课件名称aaaa主题bbbb副标题cccc”,操作方式为增加独立数据。

s120、对主数据库执行数据操作指令。

其中,主数据库用于存储所有的独立数据。主数据库可以是一个数据库,也可以是一个数据库集群,可通过封装后表现为一个完整的存储实体。本实施例以业务数据是课件数据,即独立数据是课件数据为例进行详细说明。此时,主数据库存储有所有的课件数据。

具体的,业务层通过检测用户对业务数据的操作,并根据该业务数据和对应的操作生成数据操作指令后,通过调用与数据操作指令相关的接口实现对主数据库执行数据操作指令。其中,接口由数据服务层中数据库操作模块所提供,该接口负责主数据库的读写操作。读写操作根据数据操作指令中的目标独立数据和操作方式确定。具体的,首先接口确定目标独立数据,之后再根据操作方式确定在主数据库中如何读写该目标独立数据。如,数据操作指令中的目标独立数据为“课件名称aaaa主题bbbb副标题cccc”,操作方式为增加独立数据,则在主数据库中写入一条内容为“课件名称aaaa主题bbbb副标题cccc”的独立数据,又如操作方式为删除独立数据,则在主数据库中删除内容为“课件名称aaaa主题bbbb副标题cccc”的独立数据,再如操作方式为更改独立数据,则将主数据库中“课件名称aaaa”对应的独立数据,更改为内容“课件名称aaaa主题bbbb副标题cccc”。

需要说明的是,本实施例对独立数据的内容格式不作限定,上述“课件名称aaaa主题bbbb副标题cccc”仅是为了方便说明。

s130、查找目标备份单元。

一般的,传统的数据备份方式通常是读取主数据库中的所有业务数据,并将该业务数据复制到一个从数据库进行备份。此时,如果主数据库或从数据库有损坏,则可能影响全部的业务数据,因此,为了保证业务数据的安全,本实施例以对主数据库的所有独立数据进行分类后,将得到的各个分类的独立数据备份后分布存储于各个分类对应的备份单元为例进行说明。具体的,主数据库的每条独立数据根据预设索引方式备份存储于各自对应的备份单元,目标备份单元是与目标独立数据具有对应关系的备份单元。

其中,备份单元为对独立数据进行备份而生成备份独立数据时,存储备份独立数据的文件。备份独立数据是独立数据的备份数据。

需要注意的是,本发明对备份单元对应的独立数据的数量不作限定。如每个备份单元只包含一份独立数据,独立数据的备份存储分散,相互间影响小,任何备份单元的损坏,不影响其他的独立数据。又如每个备份单元包含至少一份独立数据,在保证独立数据的备份存储分散,相互间影响小的情况下,不同备份单元的损坏,不影响其他备份单元中的独立数据,而且相比于每个备份单元只包含一份独立数据的情况,节省存储的空间。

可选的,备份单元为从数据库或配置文件。

其中,备份单元是一个不可分割的数据实体,可以是从数据库或配置文件,配置文件可以是日志文件。

具体的,在备份单元是从数据库的情况下,本实施例对从数据库的类型不作限定,可以采用与主数据库相同类型的数据库,也可以采用其他类型的数据库。当采用不同类型的数据库时,若数据操作指令是sql语句,经过兼容转换后即可在备份单元中兼容执行该数据操作指令。另外,若备份单元是日志文件,日志文件可以是存储数据操作指令的文件,如将sql语句直接写入日志文件中,可通过对该日志文件进行解析得到对应的sql语句,执行日志文件里的所有sql语句,即可进而获得该备份单元中存储的所有独立数据。

进一步的,本实施例对主数据库中独立数据的分类的方式不作限定,本实施例以根据预设索引方式确定独立数据的分类进行描述。需要说明的是,由于各个分类的独立数据对应各自的备份单元,预设索引方式还可以确定独立数据对应的备份单元。

具体的,图1c为本发明实施例一提供的一种主数据库与备份单元的结构示意图,参照图1c,以每个备份单元只包含一份独立数据为例进行说明,主数据库14中的独立数据(a1、a2、a3、……、an)已按照预设索引方式分类成n个分类后分布存储备份于n个备份单元15中,每个独立数据对应一个分类,即每个独立数据对应一个备份单元。进一步的,在对主数据库执行数据操作指令后,主数据库中的目标独立数据发生变化,需要对该目标独立数据进行备份。在对目标独立数据进行备份的过程中,由于采用分布式存储的方式对独立数据对应的备份独立数据进行存储,所以,需要先根据预设索引方式确定该目标独立数据的分类,才能进一步确定目标独立数据需要备份存储到的对应的备份单元,即目标备份单元。

本实施例对预设索引方式不作限定,在一实施例中,预设索引方式可以是按照独立数据的识别号(identity,id)顺序建立独立数据序与备份单元的对应关系,一般而言,主数据库会自动为主数据库中的每个独立数据生成各自唯一的识别号。如,以每个备份单元只包含一份独立数据为例进行说明,识别号1的独立数据与第一备份单元对应,识别号2的独立数据与第二备份单元对应,以此类推。又如,以每个备份单元包含至少一份独立数据为例进行说明,识别号1-100的独立数据与第一备份单元对应,识别号101-200的独立数据与第二备份单元对应,以此类推。由于目标独立数据是独立数据,同样是按照预设索引方式确定对应的目标备份单元。

示例性的,以每个备份单元只包含一份独立数据为例进行说明,在查找目标备份单元的过程中,根据目标独立数据的识别号即可确定目标备份单元。如根据数据操作指令确定目标独立数据的识别号为2,则确定该目标独立数据与第二备份单元具有对应关系,即目标备份单元为第二备份单元,进而为将该目标独立数据备份存储在目标备份单元作准备。

s140、对目标备份单元执行数据操作指令。

一般的,数据服务层的数据库操作模块在成功根据数据操作指令完成主数据库的更新后,数据服务层中备份操作模块需要对主数据库的更新内容进行备份。现有技术中,需要通过读取主数据库中的独立数据,进而将该独立数据复制到从数据库,从而实现对主数据库的更新内容的备份。而本实施例采用直接对目标备份单元执行数据操作指令的技术方案,避免了因频繁读取主数据库对主数据库稳定性和业务处理速度的影响。

具体的,在备份操作模块根据数据操作指令中的目标独立数据查找到目标备份单元之后,备份操作模块对目标备份单元执行数据操作指令,进而更新目标备份单元的内容。其中,更新目标备份单元的内容的过程为:如根据数据操作指令确定操作方式为增加独立数据,则将该目标独立数据写入目标备份单元;又如,根据数据操作指令确定操作方式为删除独立数据,则将该目标独立数据从目标备份单元中删除;再如,根据数据操作指令确定操作方式为更改独立数据,则将目标备份单元中该目标独立数据对应的备份独立数据进行更改,如目标独立数据与备份独立数据的识别号相同,即二者为对应关系。进一步的,如,数据操作指令中的目标独立数据为“课件名称aaaa”,操作方式为增加独立数据,则在对应的目标备份单元中写入一条内容为“课件名称aaaa”的独立数据,具体的,若目标备份单元是从数据库,则在目标备份单元中执行sql语句,以便将目标独立数据写入从数据库中,若目标备份单元是日志文件,则在日志文件中写入一条内容为“增加课件名称aaaa”的记录。

下面对本实施例提供的数据备份方法进行示例性描述。在本示例中,独立数据为课件数据。以图1b所示的课件数据录入界面为例进行描述。参考图1b,用户在课件数据录入界面中对应输入“aaaa”、“bbbb”和“cccc”,分别代表“课件名称”、“主题”和“副主题”,业务层检测到该业务数据的变化,从而获取数据操作指令,数据操作指令中的目标独立数据为“课件名称aaaa主题bbbb副标题cccc”,以操作方式是增加独立数据为例进行说明。业务层调用操作数据服务层中数据库操作模块对外提供的接口,该接口实现对主数据库执行数据操作指令,完成主数据库的内容更新,即在主数据库中写入一条内容为“课件名称aaaa主题bbbb副标题cccc”的独立数据。在数据操作模块完成主数据库更新后,数据服务层继续调用备份操作模块中预设索引方式为以独立数据中的识别号顺序建立独立数据序与备份单元的对应关系,如识别号2的独立数据与第二备份单元对应。根据目标独立数据“课件名称aaaa主题bbbb副标题cccc”中的识别号为2,进而确定该目标独立数据对应的目标备份单元是第二备份单元。进一步的,备份操作模块查找到第二备份单元,在第二备份单元中执行与主数据库相同的数据操作指令,从而更新第二备份单元的内容,完成备份的操作。

本实施例的技术方案,通过获取数据操作指令,并在根据该数据操作指令更新主数据库后,按照所预设索引方查找到对应的目标备份单元,之后对目标备份单元执行该数据操作指令,解决整体备份和数据库频繁读取操作分别带来的数据冗余和不稳定问题,实现备份成本低、备份效率高、备份可靠性强和备份数据安全性高的技术效果,,同时,由于主数据库和目标备份单元各自执行数据操作指令,也可以减小主数据库的读取次数,保证主数据库的使用性能。

实施例二

图2a为本发明实施例二提供的一种数据备份方法的流程图。本实施例是在上述实施例的基础上进行具体化。具体的,本实施例提供了数据备份中的异常处理方法。参考图2a,本实施例提供的数据备份方法具体包括:

s210、初始化至少一个备份单元。

其中,为了保证主数据库的数据安全,即在主数据库发生故障时,可以及时恢复数据,需要对主数据库进行备份。本实施例中主数据库存储的是独立数据,独立数据之间不互相依赖,因此,独立数据可以被备份到不同的备份单元,且不会影响业务数据的完整性,也不会影响业务层的正常工作。例如,当一个备份单元中的独立数据发生故障时,不至于影响全部的备份独立数据,从而进一步保障独立数据的安全。若主数据库从未进行备份,则需要进行初始化至少一个备份单元,从而对主数据库进行及时的备份,防止造成数据不可恢复的风险。本实施例对备份单元的数量不作限定,具体的,可以根据实际需求进行确定,如考虑独立数据的数量、备份空间的大小和备份成本等。

本实施例中,s210可具体化为s211-s214:

s211、确定预设索引方式。

其中,预设索引方式用于确定独立数据的分类方式和独立数据对应的备份单元。预设索引方式根据主数据库的主键进行确定。主键是数据表的唯一索引,比如学生表里有学号和姓名,姓名可能有重名的,但学号确是唯一的,所以学号可以作为数据表的主键。需要说明的是,主数据库用于存储独立数据,所以只存储一张数据表。数据表的主键即主数据库的主键。

本实施例对预设索引方式不作限定,在一实施例中,以每个备份单元包含至少一份独立数据为例进行说明,预设索引方式可以是根据独立数据主键对应的内容的首字母,每个首字母对应一个备份单元。具体的,以独立数据主键的首字母作为预设索引方式的依据,如将主键对应内容的首字母为a的独立数据备份至第三备份单元,将主键对应内容的首字母为b的独立数据备份至第四备份单元,以此类推。如独立数据的主键对应内容为“百科”,其首字母为“b”,则确定该独立数据与第四备份单元具有对应关系。

s212、读取主数据库的每条独立数据。

本实施例以独立数据为课件数据为例进行详细说明,业务层操作数据服务层中数据库操作模块对外提供的接口对主数据库执行读取的操作,即读取所有的课件数据。

s213、确定每条独立数据对应的备份单元,备份单元和独立数据的对应关系根据预设索引方式确定。

具体的,数据服务层中的备份操作模块根据每条独立数据按照预设索引方式确定每条独立数据对应的备份单元。本实施例以根据课件名称的首字母与备份单元建立对应关系的预设索引方式为例进行说明,如“a”与第三备份单元有对应关系。如独立数据为“课件名称aaaa主题bbbb副标题cccc”,其中,“课件名称”为独立数据的主键,备份操作模块根据独立数据“课件名称aaaa”中的“aaaa”确定首字母为“a”,即该独立数据“课件名称aaaa主题bbbb副标题cccc”与第三备份单元有对应关系。

s214、将每条独立数据备份至对应的备份单元中。

具体的,在确定每条独立数据对应的备份单元后,将每条独立数据备份存储至对应的备份单元中,如独立数据为“课件名称aaaa主题bbbb副标题cccc”与第三备份单元有对应关系后,在第三备份单元中写入一条内容为“课件名称aaaa主题bbbb副标题cccc”的独立数据,进一步的,若第三备份单元是从数据库,则在从数据库中执行sql语句,以便将该独立数据写入从数据库中若备份单元是日志文件,则在日志文件中写入一条内容为“增加课件名称aaaa主题bbbb副标题cccc”的记录。

s220、获取数据操作指令。

其中,数据操作指令包括目标独立数据和操作方式。

s230、对主数据库执行数据操作指令。

其中,主数据库用于存储所有的独立数据。

本实施例中,s230可具体化为s231-s233:

s231、在主数据库中开始执行数据操作指令。在执行过程中,执行s232。

具体的,本实施例以独立数据为课件数据为例进行详细说明,业务层操作数据服务层中数据库操作模块对外提供的接口对主数据库执行读写的操作,即读写所有的课件数据。其中,数据库操作模块对外提供的接口用于对主数据库执行数据操作指令,进而更新主数据库的内容。由于有可能出现主数据库异常的情况,需要在执行s231的过程中,执行s232进行异常的判断,并进一步对出现的异常采取异常处理,恢复正常的主数据库读写操作。

s232、判断主数据库是否发生第一异常。若主数据库发生第一异常,则进行s233的操作,若主数据库未发生第一异常,则继续执行数据操作指令,并在数据操作指令执行完毕后,执行s240。

其中,第一异常为业务逻辑异常或主数据库异常。具体的,业务逻辑异常或主数据库异常均可以在对主数据库执行数据操作指令时发现。通常情况下,业务逻辑异常主要是由于业务层操作不当造成的异常,具体的,数据库具有判断业务逻辑异常的功能,如主数据库确认插入一个相同识别号的课件数据时,确定产生业务逻辑异常。此时,主数据库会报错,提示已经存在相同的id。又如主数据库确认删除一个主数据库中不存在的id的课件数据时,确定产生业务逻辑异常。此时,主数据库会报错,提示不存在该id。主数据库异常主要是主数据库损坏的情况,如无法读取数据库或者数据库中的部分独立数据。

s233、执行异常处理。

其中,异常处理根据第一异常确定。

具体的,主数据库发生第一异常时,需要对出现的第一异常采取相应的异常处理,恢复正常的主数据库读写操作。

示例性的,第一异常为业务逻辑异常时,图2b为本发明实施例二提供的对应业务逻辑异常的异常处理方法的流程图。参考图2b,s233具体为s2331-s2332:

s2331、确定业务逻辑异常的异常类型。

其中,本实施例对异常类型不作限定,如插入相同识别号(identity,id)、删除主数据库中不存在的id、更新的独立数据缺少必要属性或插入的独立数据格式不符等数据库错误。

s2332、按照预设提示方式提示异常类型。

具体的,当出现业务逻辑异常时,现有的数据库都有实现该业务逻辑异常的判断,主数据库会报错,并提示异常类型。业务层在获取该异常类型后,按照预设提示方式进行提示,本实施例对预设提示方式不作限定,如文字或语音提示,如插入一个相同识别号(identity,id)的课件数据,主数据库会报错,业务层提示“已经存在相同的id的课件数据,请重新输入”,又如删除一个主数据库中不存在的id的课件数据,主数据库会报错,业务层提示“不存在该id的课件数据,请重新确定”。

示例性的,第一异常为主数据库异常时,若主数据库异常是主数据库无法读取,则根据全部备份单元内存储的独立数据还原主数据库,若主数据库异常是部分独立数据无法读写,那么可以仅对无法读写的独立数据进行还原。具体的,图2c为本发明实施例二提供的对应主数据库异常的异常处理方法的流程图。参考图2c,仅对无法读写的独立数据进行还原时,s233具体为s2333-2335:

s2333、查找主数据库中的异常独立数据。

具体的,业务层操作数据服务层对外提供的接口对主数据库执行读取操作,进行异常独立数据的查找。其中,查找方式为遍历读取主数据库中每条独立数据,若某条独立数据无法被读取,则将该独立数据确定为异常独立数据。

s2334、获取异常独立数据对应的备份独立数据。

其中,备份独立数据存储于异常独立数据对应的备份单元中,备份独立数据是独立数据的备份数据。

具体的,数据服务层按照预设索引方式确定异常独立数据对应的备份单元,进而控制备份操作模块读取该备份单元中存储的备份独立数据,并回传给数据服务层。

s2335、将异常独立数据替换为备份独立数据。返回执行s231的操作。

具体的,数据服务层中的数据库操作模块根据备份独立数据对异常独立进行替换,从而实现异常独立数据的恢复。进一步的,将主数据库中所有异常独立数据替换恢复完成后,控制主数据库返回执行s231,即继续执行数据操作指令,以实现主数据库的更新。

s240、查找目标备份单元。

其中,主数据库的每条独立数据根据预设索引方式备份存储于各自对应的备份单元,目标备份单元是与目标独立数据具有对应关系的备份单元。

s250、对目标备份单元执行数据操作指令。

本实施例中,s250可具体化为s251-s253:

s251、在目标备份单元中开始执行数据操作指令。在执行过程中,进行s252的操作。

具体的,备份操作模块按照预设索引方式查找目标独立数据对应的目标备份单元,之后,备份操作模块对目标备份单元执行数据操作指令,进而更新目标备份单元的内容。由于有可能出现目标备份单元异常的情况,需要在执行数据操作指令的过程中,判断是否出现异常。具体的,参见s252:

s252、判断目标备份单元是否发生第二异常。若发生第二异常,则进行s253的操作。若未发生第二异常,则继续执行数据操作指令,直到执行完毕为止。

其中,第二异常为备份操作模块对目标备份单元操作失败,即无法对目标备份单元进行读写操作。若对目标备份单元操作失败,则进一步执行s253的操作对目标备份单元进行恢复。

s253初始化目标备份单元。

具体的,需要从主数据库中读取目标备份单元所对应的所有独立数据,并据此重新构建目标备份单元。

本实施例中,s253可具体化为s2531-s2532:

s2531、在主数据库中,读取与目标备份单元对应的独立数据。

具体的,在主数据库中,根据预设索引方式确定目标备份单元对应的所有独立数据。对主数据库的读取操作,主要是通过业务层调用数据库操作模块对外提供的接口进行。本实施例以根据课件名称的首字母与备份单元建立对应关系的预设索引方式为例进行说明,如目标备份单元与首字母“a”有对应关系。如主数据库中的独立数据为“课件名称aaaa主题bbbb副标题cccc”,由于独立数据中主键“课件名称”对应的内容为“aaaa”,即确定主键对应内容的首字母为“a”,即该独立数据“课件名称aaaa主题bbbb副标题cccc”与目标备份单元有对应关系。

s2532、将与目标备份单元对应的独立数据备份存储于目标备份单元。

具体的,在确定主数据库中目标备份单元对应的所有独立数据后,将每条独立数据备份至目标备份单元中,如确定独立数据“课件名称aaaa主题bbbb副标题cccc”与目标备份单元有对应关系后,在目标备份单元中增加一条内容为“课件名称aaaa主题bbbb副标题cccc”的独立数据,进一步的,若目标备份单元是数据库,则在目标备份单元中执行sql语句,若目标备份单元是日志文件,则在备份单元中增加一条内容为“增加课件名称aaaa主题bbbb副标题cccc”的记录。

需要说明的是,由于主数据库中的内容已经更新,通过读取主数据库的方式对目标备份单元进行备份,是对已更新内容的备份,无需再进行s251的操作。

本实施例的技术方案,通过初始化备份单元,获取数据操作,并在根据该数据操作更新主数据库时进行第一异常的判断和相应的异常处理,按照所预设索引方查找到对应的目标备份单元,之后对目标备份单元执行该数据操作,并在判断发生第二异常后进行目标备份单元的初始化的技术手段,解决整体备份和数据库频繁读取操作分别带来的数据冗余和不稳定问题,实现备份成本低、备份效率高、备份可靠性强和备份数据安全性高的技术效果,在执行主数据库更新和备份单元更新的过程中,增加异常判断和相应的异常处理,进一步增加了操作的可靠性和安全性。

实施例三

图3为本发明实施例三提供的一种数据备份装置的结构示意图。本实施例提供的数据备份的装置可以包括:数据操作获取模块310、主数据库更新模块320、目标备份单元查找模块330和目标备份单元更新模块340。

数据操作获取模块310,用于获取数据操作指令,数据操作指令包括目标独立数据和操作方式。

主数据库更新模块320,用于对主数据库执行数据操作指令,主数据库用于存储所有的独立数据。

目标备份单元查找模块330,用于查找目标备份单元,主数据库的每条独立数据根据预设索引方式备份存储于各自对应的备份单元,目标备份单元是与目标独立数据具有对应关系的备份单元。

目标备份单元更新模块340,用于对目标备份单元执行数据操作指令。

本实施例的技术方案,通过获取数据操作,并在根据该数据操作更新主数据库后,按照所预设索引方查找到对应的目标备份单元,之后对目标备份单元执行该数据操作,解决整体备份和数据库频繁读取操作分别带来的数据冗余和不稳定问题,实现备份成本低、备份效率高、备份可靠性强和备份数据安全性高的技术效果。

在上述实施例的基础上,数据备份的装置还包括:备份单元初始化模块,用于初始化至少一个备份单元。

在上述实施例的基础上,备份单元初始化模块包括:预设索引方式确定单元,用于确定预设索引方式,预设索引方式根据主数据库的主键进行确定;独立数据读取单元,用于读取主数据库的每条独立数据;备份单元确定单元,用于确定每条独立数据对应的备份单元,备份单元和独立数据的对应关系根据预设索引方式确定;第一备份初始化单元,用于将每条独立数据备份至对应的备份单元中。

在上述实施例的基础上,主数据库更新模块320包括:数据操作指令执行单元,用于在主数据库中开始执行数据操作指令;第一异常判断单元,用于在执行过程中,判断主数据库是否发生第一异常,第一异常为业务逻辑异常或主数据库异常;第一异常处理单元,用于若主数据库发生第一异常,则执行异常处理,异常处理根据第一异常确定;第二异常处理单元,用于若主数据库未发生第一异常,则继续执行数据操作指令,并在数据操作指令执行完毕后,执行查找目标备份单元的操作。

在上述实施例的基础上,第一异常为业务逻辑异常,第一异常处理单元包括:异常类型确定子单元,用于确定业务逻辑异常的异常类型;异常类型提示子单元,用于按照预设提示方式提示异常类型。

在上述实施例的基础上,第一异常为主数据库异常,第一异常处理单元包括:异常独立数据查找子单元,用于查找主数据库中的异常独立数据;备份独立数据获取子单元,用于获取异常独立数据对应的备份独立数据,备份独立数据存储于异常独立数据对应的备份单元中;独立数据替换子单元,用于将异常独立数据替换为备份独立数据;返回单元,用于返回执行在主数据库中开始执行数据操作指令的操作。

在上述实施例的基础上,目标备份单元更新模块340包括:目标备份单元更新单元,用于在目标备份单元中开始执行数据操作指令;第二异常判断单元,用于在执行过程中,判断目标备份单元是否发生第二异常;第二备份初始化单元,用于若发生第二异常,则初始化目标备份单元。

在上述实施例的基础上,第二备份初始化单元包括:独立数据读取子单元,用于在主数据库中,读取与目标备份单元对应的独立数据;备份初始化子单元,用于将与目标备份单元对应的独立数据备份存储于目标备份单元。

在上述实施例的基础上,操作方式包括增加独立数据、删除独立数据和更改独立数据中的至少一种。

在上述实施例的基础上,备份单元为数据库或配置文件。

上述数据备份装置通过软件和/或硬件的方式配置在数据备份设备中,且可执行本发明任意实施例所提供的数据备份方法,具备执行数据备份方法相应的功能模块和有益效果。

实施例四

图4为本发明实施例四提供的一种数据备份设备的结构示意图。如图4所示,该数据备份设备包括处理器40、存储器41、输入装置42和输出装置43;数据备份设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例,数据备份设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器41作为一种计算机可读存储介质,用于存储一个或多个程序,如本发明实施例中的数据备份方法对应的程序指令/模块(例如,数据操作获取模块310、主数据库更新模块320、目标备份单元查找模块330和目标备份单元更新模块340)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据备份方法。

存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至数据备份设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置42可用于接收输入的数字或字符信息,以及产生与数据备份设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。

上述数据备份设备可执行本发明任意实施例所提供的数据备份方法,具备执行数据备份方法相应的功能模块和有益效果。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种数据备份的方法,该方法包括:

获取数据操作指令,数据操作指令包括目标独立数据和操作方式;

对主数据库执行数据操作指令,主数据库用于存储所有的独立数据;

查找目标备份单元,主数据库的每条独立数据根据预设索引方式备份存储于各自对应的备份单元,目标备份单元是与目标独立数据具有对应关系的备份单元;

对目标备份单元执行数据操作指令。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的数据备份的方法操作,还可以执行本发明任意实施例所提供的数据备份的方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是数据备份设备,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的数据备份的方法。

值得注意的是,上述数据备份装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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