SQLServer的合成备份方法与流程

文档序号:15492411发布日期:2018-09-21 20:53阅读:202来源:国知局

本发明涉及计算机数据处理技术领域,特别是涉及一种sqlserver的合成备份方法。



背景技术:

信息时代,数据安全的重要性不言而喻,不论是计算机系统内部故障,还是外部不可抗力的破坏,都可能造成数据库的损坏或丢失,导致不可挽回的灾难性后果。对于每一个对用户数据负责的商业公司,数据备份都是其不可回避的严肃的课题。

sqlserver是由微软公司开发的一个关系型数据库,自1988年第一个版本发布以来,已有数十年的历史,它集成了微软公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具及完善的关系型数据库功能支持,是目前世界上市场占有率最高,使用最为广泛的数据库系统之一。

作为一个较为成熟稳定的数据库产品,sqlserver提供了基本的备份方案,包括完全备份、差异备份、局部备份、日志备份和文件及文件组备份等等,数据库管理员可以需要根据自身业务需求选择备份方案制定不同的备份策略,备份行业生产商也可以在这些方案的基础提供自己的特色服务。

但在已有的基本备份方案的基础上,对sqlserver进行备份还存在备份集占据的数据库较大存储空间的问题。



技术实现要素:

基于此,有必要针对现有备份方案中备份集占据较大存储空间的问题,提供一种sqlserver的合成备份方法。

一种sqlserver的合成备份方法,包括:

接收第二创建指令,使用块设备存储池创建共享卷;

将所述共享卷挂载至数据库所在客户端,用以存放数据库的备份集;

接收第一快照指令,对数据库进行快照,得到数据库快照副本;

发送判断指令,使得数据库判断是否已进行首次合成备份;

当数据库未进行首次合成备份时,将所述数据库快照副本拷贝到所述共享卷中;

当数据库已进行过合成备份时,得到相对于首次备份产生的增量数据,将所述增量数据拷贝并合成到首次备份的备份集中;

接收所述数据库所在客户端提交的备份记录。

在其中一个实施例中,在所述接收创建指令,使用快设备存储池创建共享卷之前还包括:

接收第一创建指令,创建块设备存储池;

接收预设指令,预先设置备份集保留个数;

接收注册指令,注册所需要备份的数据库。

在其中一个实施例中,还包括:

检查备份集个数是否超过预先设置的备份集保留个数;

当检测到所述备份集个数超过预先设置的备份集保留个数时,删除时间上最早的备份集。

在其中一个实施例中,还包括当数据库进行首次合成备份的备份集失效时,将所述数据库快照副本拷贝到所述共享卷中。

在其中一个实施例中,当数据库已进行过合成备份时,通过文件比较算法得到相对于首次备份产生的增量数据。

一种sqlserver的合成备份装置,包括:

第二创建模块,用于接收第二创建指令,使用块设备存储池创建共享卷,将所述共享卷挂载至数据库所在客户端,用以存放数据库的备份集;

快照模块,用于接收第一快照指令,对数据库进行快照,得到数据库快照副本;

发送模块,用于发送判断指令,使得数据库判断是否已进行首次合成备份;

第一备份模块,用于当数据库未进行首次合成备份时,将所述数据库快照副本拷贝到所述共享卷中;

第二备份模块,用于当数据库已进行过合成备份时,得到相对于首次备份产生的增量数据,将所述增量数据拷贝并合成到首次备份的备份集中;

接收模块,用于接收所述数据库所在客户端提交的备份记录。

在其中一个实施例中,还包括:

第一创建模块,用于接收第一创建指令,创建块设备存储池;

预设模块,用于接收预设指令,预先设置备份集保留个数;

注册模块,用于接收注册指令,注册所需要备份的数据库。

在其中一个实施例中,还包括:

检测模块,用于检查备份集个数是否超过预先设置的备份集保留个数;

删除模块,用于当检测到所述备份集个数超过预先设置的备份集保留个数时,删除时间上最早的备份集。

一种计算机设备,包括存储器、处理器以及存储在存储器长并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述sqlserver的合成备份的方法。

一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述sqlserver的合成备份的方法。

上述sqlserver的合成备份方法和装置,除了首次备份拷贝了完整的数据库副本之外,之后每次备份只备份增量数据,极大地节省了备份全部数据带来的时间,并减少了存储空间的消耗。

附图说明

图1为一实施例中sqlserver的合成备份方法的流程示意图;

图2为另一实施例中sqlserver的合成备份方法的流程示意图;

图3为一实施例中sqlserver的合成备份装置的结构框图;

图4为另一实施例中sqlserver的合成备份装置的结构框图;

图5为一个实施例中计算机设备的内部结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为本发明一实施例中sqlserver的合成备份方法的流程示意图。如图1所示,一种sqlserver的合成备份方法,包括以下步骤:

s103,接收第二创建指令,使用块设备存储池创建共享卷。

具体地,第二创建指令由的备份管理系统的管理用户在备份管理系统发起,用于实现使用块设备存储池创建共享卷的操作。

其中,块设备是i/o设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬盘,u盘,sd卡等,存储池是存储池服务器在其中存储副本、卷影副本和传输日志的一组磁盘,故本实施例采用基于存储区域网络的块设备存储池作为备份存储设备。

s105,将共享卷挂载至数据库所在客户端,用以存放数据库的备份集。

具体地,利用块设备存储池创建的共享卷,是块设备存储池创建出来的虚拟存储空间,位于块设备存储池中,挂载到数据库所在的电脑主机作为一个虚拟的硬盘,用于存放数据库的备份数据。

s107,接收第一快照指令,对数据库进行快照,得到数据库快照副本。

具体地,快照技术是一种摄影技术,随着存储应用需求的提高,用户需要在线方式进行数据保护,快照就是在线存储设备防范数据丢失的有效方法之一,已经成为磁盘阵列、卷管理器、文件系统以及独立磁盘冗余阵列控制器的标准配置功能。快照技术定义为:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(或者说是拷贝开始的时间点)的映像,快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。

快照技术的作用主要是能够进行在线数据恢复,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。

s109,发送判断指令,使得数据库判断是否已进行首次合成备份。

具体地,备份管理系统向数据库发送判断指令,数据库响应判断指令,并对是否已经进行首次合成备份进行判断。

数据备份主要模式主要包括全量备份、增量备份,以及差异备份等,其中增量备份是以上一次完全备份或增量备份为基础,此后每次只备份相对于上一次备份操作以来新创建或者更新过的数据,但增量备份的数据恢复是比较麻烦的。必须具有上一次全备份和所有增量备份,一旦丢失或损坏其中的一个,就会造成恢复的失败,并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,因此这就极大地延长了恢复时间。而本实施例中的合成备份是基于增量备份的技术上,保持了传统增量备份的备份时间短的优点,既可以提高的恢复速度,又节省多次全备份对数据和设备的消耗。

s111,当数据库未进行首次合成备份时,将数据库快照副本拷贝到共享卷中。

具体地,当数据库经过判断之后,得到并未进行首次合成备份的结论后,将数据库进行快照后得到的快照副本拷贝到共享卷中,也就是存入块设备存储池中,作为首次合成备份的备份集。

s113,当数据库已进行过合成备份时,得到相对于首次备份产生的增量数据,将增量数据拷贝并合成到首次备份的备份集中。

具体地,当数据库经过判断之后,得到已进行首次合成备份的结论后,与首次备份得到的数据进行比较,得到相对于首次备份产生的增量数据,并将增量数据拷贝到首次备份的备份集中,并将增量数据与首次备份得到的数据进行合成,即与数据库快照副本进行合成。

s115,接收数据库所在客户端提交的备份记录。

具体地,数据库所在的客户端记录数据库进行备份的备份记录,并通过存入共享卷可在块设备存储池中得以查看,同时也可发送给备份管理系统。

上述sqlserver的合成备份方法,除了首次备份拷贝了完整的数据库副本之外,之后每次备份只备份增量数据,极大地节省了备份全部数据带来的时间,并减少了存储空间的消耗。

在其中一个实施例中,当数据库已进行过合成备份时,通过文件比较算法得到相对于首次备份产生的增量数据。

具体地,文件比较的核心就是比较两个给定的文本可以是字节流等之间的差异,目前,主流的比较文本之间的差异主要有两大类,一类是基于编辑距离的,例如ld算法;一类是基于最长公共子串的,例如needleman/wunsch算法等。ld算法又成为编辑距离算法,是以字符串a通过插入字符、删除字符、替换字符变成另一个字符串b,那么操作的过程的次数表示两个字符串的差异。可通过文件比较算法,得到两次数据的不同,进而得到增量数据。

在另一个实施例中,当数据库进行首次合成备份的备份集失效时,数据库快照副本拷贝到共享卷中。

具体地,备份集失效是指数据库已经进行首次合成备份,但是进行合成备份得到的备份集被损坏,比如数据丢失或数据备份不完整等情况,需要重新进行备份,故将数据库快照副本拷贝到共享卷中,作为首次备份的数据集。

图2为另一实施例中sqlserver的合成备份方法的流程示意图。如图2所示,在接收第二创建指令,使用快设备存储池创建共享卷之前还包括:

s100,接收第一创建指令,创建块设备存储池。

具体地,备份管理系统的管理员登录备份管理系统后,发起第一创建指令,备份管理系统接收第一创建指令并响应第一创建指令,创建块设备存储池。

s101,接收预设指令,预先设置备份集保留个数。

具体地,预设指令由备份管理系统的管理员登录备份管理系统后发起,备份管理系统接收并响应预设指令,预先设置备份集保留个数。其中数据库进行备份得到的备份集,在块设备存储池中存储,备份集保留个数是指对所存储的备份集进行保留的个数,超出保留个数的备份集需要删除。

s102,接收注册指令,注册所需要备份的数据库。

具体地,备份管理系统的管理员为操作员分配备份管理系统的账号,操作员用管理员分配的账号登录进备份管理,并用数据库自身账号,在备份管理系统为需要备份的数据库注册,并设置备份策略。

在另一个实施例中,还包括:

s117,检查备份集个数是否超过预先设置的备份集保留个数。

具体地,备份管理系统在接收备份记录后,对备份集个数进行统计,得到备份集个数,将备份集个数与预先设置的备份集保留个数进行比较。

s119,当检测到所述备份集个数超过预先设置的备份集保留个数时,删除时间上最早的备份集。

具体地,当检测到所述备份集个数超过预先设置的备份集保留个数时,对备份集的备份时间进行排序,删除备份时间最早的备份。

上述sqlserver的合成备份方法,设置了备份集保留个数,极大地减少了数据库管理员的负担,当检测到备份集个数超过预先设置的备份集保留个数时,删除时间上最早的备份集,减少了存储空间的消耗。

图3为本发明一实施例中sqlserver的合成备份装置的结构框图。如图3所示,一种sqlserver的合成备份装置,包括:

第二创建模块303,用于接收第二创建指令,使用块设备存储池创建共享卷,将所述共享卷挂载至数据库所在客户端,用以存放数据库的备份集。

具体地,第二创建指令由的备份管理系统的管理用户在备份管理系统发起,用于实现使用块设备存储池创建共享卷的操作,利用块设备存储池创建的共享卷,是块设备存储池创建出来的虚拟存储空间,位于块设备存储池中,挂载到数据库所在的电脑主机作为一个虚拟的硬盘,用于存放数据库的备份数据。

快照模块305,用于接收第一快照指令,对数据库进行快照,得到数据库快照副本。

具体地,快照技术的作用主要是能够进行在线数据恢复,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。

发送模块307,用于发送判断指令,使得数据库判断是否已进行首次合成备份。

具体地,备份管理系统向数据库发送判断指令,数据库响应判断指令,并对是否已经进行首次合成备份进行判断。

第一备份模块309,用于当数据库未进行首次合成备份时,将所述数据库快照副本拷贝到所述共享卷中。

具体地,当数据库经过判断之后,得到并未进行首次合成备份的结论后,将数据库进行快照后得到的快照副本拷贝到共享卷中,也就是存入块设备存储池中,作为首次合成备份的备份集。

第二备份模块311,用于当数据库已进行过合成备份时,得到相对于首次备份产生的增量数据,将所述增量数据拷贝并合成到首次备份的备份集中。

具体地,当数据库经过判断之后,得到已进行首次合成备份的结论后,与首次备份得到的数据进行比较,得到相对于首次备份产生的增量数据,并将增量数据拷贝到首次备份的备份集中,并将增量数据与首次备份得到的数据进行合成,即与数据库快照副本进行合成。

接收模块313,用于接收所述数据库所在客户端提交的备份记录。

具体地,数据库所在的客户端记录数据库进行备份的备份记录,并通过存入共享卷可在块设备存储池中得以查看,同时也可发送给备份管理系统。

上述sqlserver的合成备份装置,除了首次备份拷贝了完整的数据库副本之外,之后每次备份只备份增量数据,极大地节省了备份全部数据带来的时间,并减少了存储空间的消耗。

图4为另一实施例中sqlserver的合成备份装置的结构框图。如图4所示,sqlserver的合成备份装置还包括:

第一创建模块300,用于接收第一创建指令,创建块设备存储池。

具体地,备份管理系统的管理员登录备份管理系统后,发起第一创建指令,备份管理系统接收第一创建指令并响应第一创建指令,创建块设备存储池。

预设模块301,用于接收预设指令,预先设置备份集保留个数。

具体地,预设指令由备份管理系统的管理员登录备份管理系统后发起,备份管理系统接收并响应预设指令,预先设置备份集保留个数。其中数据库进行备份得到的备份集,在块设备存储池中存储,备份集保留个数是指对所存储的备份集进行保留的个数。

注册模块302,用于接收注册指令,注册所需要备份的数据库。

具体地,备份管理系统的管理员为操作员分配备份管理系统的账号,操作员用管理员分配的账号登录进备份管理,并用数据库自身账号,在备份管理系统为需要备份的数据库注册,并设置备份策略。

在另一个实施例中,还包括:

检测模块315,用于检查备份集个数是否超过预先设置的备份集保留个数。

具体地,备份管理系统在接收备份记录后,对备份集个数进行统计,得到备份集个数,将备份集个数与预先设置的备份集保留个数进行比较。

删除模块317,用于当检测到所述备份集个数超过预先设置的备份集保留个数时,删除时间上最早的备份集。

具体地,当检测到所述备份集个数超过预先设置的备份集保留个数时,对备份集的备份时间进行排序,删除备份时间最早的备份。

上述sqlserver的合成备份装置,设置了备份集保留个数,极大地减少了数据库管理员的负担,当检测到备份集个数超过预先设置的备份集保留个数时,删除时间上最早的备份集,减少了存储空间的消耗。

图5为一个实施例中计算机设备的内部结构示意图。该计算机设备可用作数据库所在的客户端。如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,存储器可包括非易失性存储介质和内存储器。存储器中可存储有操作系统,还存储有一种计算机程序,该计算机程序用于实现一种合成备份方法。该处理器用于提供计算和控制能力,支撑整个计算机设备的运行。内存储器为非易失性存储介质中的计算机程序的运行提供环境。网络接口用于接入互联网与应用服务器进行通信,如接收备份记录等。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该计算机设备可以是pc机或平板电脑等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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