一种备份方法及相关装置与流程

文档序号:29303558发布日期:2022-03-19 11:52阅读:108来源:国知局
一种备份方法及相关装置与流程

1.本技术实施例涉及数据备份技术领域,尤其涉及一种备份方法及相关装置。


背景技术:

2.在数据库系统中,为了应对数据的损坏,需要针对数据指定合适的备份计划,将数据存储至用于备份的数据库中。按照备份方式可以分为完全备份和增量备份等方式,完全备份是指将数据全部备份至数据库中,而增量备份是指将数据与历史备份的数据相比,将新增的数据进行备份。
3.目前的备份方法大部分都采用了“完全备份+增量备份”的组合方式来降低备份数据量如每周全备一次,每天进行增量备份一次。这样可以有效的避免全备的数据量也兼顾了数据恢复的性能,保证数据库系统的可用性。
4.然而,现有的云数据库随着使用的时间增加带来了数据的显著增加,导致定期完全备份的代价越来越大,尤其是在指定的时间窗口内完成完全备份的挑战也越来越大。


技术实现要素:

5.本技术实施例提供了一种备份方法及相关装置,可以降低备份上传的数据量,提升备份性能。
6.第一方面,本技术实施例提供一种备份方法,包括:对象存储服务obs服务器从数据库系统获取待上传文件的第一校验值和待匹配对象文件路径清单;所述obs服务器获取所述待匹配对象文件路径清单对应待匹配对象文件的第二校验值;若所述第一校验值与所述第二校验值相同,则所述obs服务器将所述待匹配对象文件拷贝至预设备份路径。
7.本技术实施例通过比较待上传文件与obs服务器中已有历史文件内容是否相同,避免重复上传文件,可以降低备份上传的数据量,提升备份性能。进一步地,通过待匹配对象文件路径清单确定可能相同的待匹配文件,缩小匹配文件的范围,提高备份效率。进一步地,通过校验值方式判断文件是否相同,避免读取文件内容,提高备份效率和准确率。
8.结合第一方面,在本技术实施例的一种实现方式中,所述方法还包括:若所述第一校验值与当前的所述第二校验值不相同,则所述obs服务器比较所述第一校验值和下一个所述第二校验值是否相同;若所述第一校验值与所有的所述第二校验值均不相同,则所述obs服务器向所述数据库系统返回第一合成失败信息,所述第一合成失败信息用于指示所述数据库系统向所述obs服务器上传所述待上传文件。
9.结合第一方面,在本技术实施例的一种实现方式中,所述obs服务器返回第一合成失败信息至数据库系统之后,所述方法还包括:所述obs服务器将所述待上传文件保存至所述预设备份路径。
10.结合第一方面,在本技术实施例的一种实现方式中,所述方法还包括:所述obs服务器向数据库系统发送所述预设备份路径,使得所述数据库系统根据所述预设备份路径更新所述待匹配对象文件路径清单。
11.结合第一方面,在本技术实施例的一种实现方式中,所述方法还包括:若所述obs服务器将所述待匹配对象文件拷贝至预设备份路径失败,则所述obs服务器向所述数据库系统返回第二合成失败信息,所述第二合成失败信息用于指示所述数据库系统向所述obs服务器上传所述待上传文件。
12.第二方面,本技术实施例提供一种备份方法,包括:数据库系统获取待上传文件的第一校验值;所述数据库系统从obs服务器获取待匹配对象文件路径清单对应的待匹配对象文件的第二校验值;若所述第一校验值与所述第二校验值相同,则所述数据库系统向所述obs服务器发送指示信息,所述指示信息用于指示所述obs服务器将所述第二校验值对应的所述待匹配对象文件拷贝至预设备份路径。
13.结合第二方面,在本技术实施例的一种实现方式中,所述方法还包括:若所述第一校验值与当前所述第二校验值不相同,则所述数据库系统比较所述第一校验值和下一个所述第二校验值是否相同;比较所述第一校验值和下一个所述第二校验值是否相同;若所述第一校验值与所有的所述第二校验值不相同,则所述数据库系统向所述obs服务器上传所述待上传文件,以使得所述obs服务器将所述待上传文件保存至所述预设备份路径。
14.结合第二方面,在本技术实施例的一种实现方式中,所述方法还包括:所述数据库系统从obs服务器获取所述预设备份路径;所述数据库系统根据所述预设备份路径更新所述待匹配对象文件路径清单。
15.结合第二方面,在本技术实施例的一种实现方式中,所述方法还包括:所述数据库系统获取来自所述obs服务器的第二合成失败信息;响应于所述第二合成失败信息,所述数据库系统向所述obs服务器上传所述待上传文件。
16.第三方面,本技术实施例提供一种备份装置,包括:获取模块,用于从数据库系统获取待上传文件的第一校验值和待匹配对象文件路径清单;所述获取模块,还用于获取所述待匹配对象文件路径清单对应待匹配对象文件的第二校验值;处理模块,用于若所述第一校验值与所述第二校验值相同,则将所述待匹配对象文件拷贝至预设备份路径。
17.结合第三方面,在本技术实施例的一种实现方式中,所述处理模块,还用于若所述第一校验值与当前的所述第二校验值不相同,则比较所述第一校验值和下一个所述第二校验值是否相同;所述处理模块,还用于若所述第一校验值与所有的所述第二校验值均不相同,则向所述数据库系统返回第一合成失败信息,所述第一合成失败信息用于指示所述数据库系统向所述obs服务器上传所述待上传文件。
18.结合第三方面,在本技术实施例的一种实现方式中,所述处理模块,还用于将所述待上传文件保存至所述预设备份路径。
19.结合第三方面,在本技术实施例的一种实现方式中,所述处理模块,还用于向数据库系统发送所述预设备份路径,使得所述数据库系统根据所述预设备份路径更新所述待匹配对象文件路径清单。
20.结合第三方面,在本技术实施例的一种实现方式中,所述处理模块,还用于若所述obs服务器将所述待匹配对象文件拷贝至预设备份路径失败,则向所述数据库系统返回第二合成失败信息,所述第二合成失败信息用于指示所述数据库系统向所述obs服务器上传所述待上传文件。
21.第四方面,本技术实施例提供一种备份装置,包括:获取模块,用于获取待上传文
件的第一校验值;所述获取模块,还用于从obs服务器获取待匹配对象文件路径清单对应的待匹配对象文件的第二校验值;处理模块,用于若所述第一校验值与所述第二校验值相同,则向所述obs服务器发送指示信息,所述指示信息用于指示所述obs服务器将所述第二校验值对应的所述待匹配对象文件拷贝至预设备份路径。
22.结合第四方面,在本技术实施例的一种实现方式中,所述处理模块,还用于若所述第一校验值与当前所述第二校验值不相同,则比较所述第一校验值和下一个所述第二校验值是否相同;比较所述第一校验值和下一个所述第二校验值是否相同;所述处理模块,还用于若所述第一校验值与所有的所述第二校验值不相同,则向所述obs服务器上传所述待上传文件,以使得所述obs服务器将所述待上传文件保存至所述预设备份路径。
23.结合第四方面,在本技术实施例的一种实现方式中,所述获取模块,还用于从obs服务器获取所述预设备份路径;所述处理模块,还用于根据所述预设备份路径更新所述待匹配对象文件路径清单。
24.结合第四方面,在本技术实施例的一种实现方式中,所述获取模块,还用于获取来自所述obs服务器的第二合成失败信息;所述处理模块,还用于响应于所述第二合成失败信息,向所述obs服务器上传所述待上传文件。
25.第五方面,本技术实施例提供一种obs服务器,包括处理器,存储器;所述处理器、所述存储器之间进行相互的通信;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,执行如第一方面的方法。
26.第六方面,本技术实施例提供一种数据库系统,包括处理器,存储器;所述处理器、所述存储器之间进行相互的通信;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,执行如第二方面的方法。
27.第七方面,本技术实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面或第二方面的方法。
附图说明
28.图1为其中较常见的几种损坏情景示意图;
29.图2为本技术实施例中云存储的一种示意图;
30.图3为本技术实施例中云存储的另一种示意图;
31.图4为本技术实施例提供的备份方法的流程图;
32.图5为本技术提供的备份应用例的示意图;
33.图6为在图5的基础上实施本技术图4所示的备份方法的示意图;
34.图7为图6应用例对应的方法流程图;
35.图8为本技术提供的备份方法的另一种实施例示意图;
36.图9为本技术基于图5的应用例进行再次备份的示意图;
37.图10为图9对应的步骤流程图;
38.图11为本技术实施例中一种备份装置的示意图;
39.图12为本技术实施例中另一种备份装置的示意图;
40.图13为本技术实施例提供的一种obs服务器的示意图;
41.图14为本技术实施例提供的一种数据库系统的示意图。
具体实施方式
42.本技术实施例提供了一种备份方法及相关装置,可以降低完份上传的数据量,提升备份性能。
43.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
44.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
45.为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
46.在数据库系统中,数据可能会由于各种原因损坏。图1为其中较常见的几种损坏情景示意图。这些情景主要包括:硬件故障、软件故障、误操作、病毒入侵、灾难性事件。其中,硬件故障是指存储设备发生了硬件层面的故障,例如磁盘损坏等。软件故障是指软件在使用过程中可能产生了错误的数据,导致该软件或其他软件系统出错无法运行。误操作是指用户失误地删除了数据。病毒入侵是指存储设备被病毒或木马入侵,锁定了数据或删除了数据。灾难性事件是指发生了火灾或者其他情况,导致数据丢失。
47.为了应对数据的损坏,需要针对数据指定合适的备份计划。备份计划可以保留到数据的历史记录,方便人们随时恢复数据或者查看记录。备份主要遵从以下原则:1、保证数据丢失的尽量少,甚至完全不丢失。2、保证备份和恢复的时间尽量短,保证系统的最大可用性。
48.而根据备份内容的不同,备份主要分为物理备份和逻辑备份,根据效率可以分为完全备份、增量备份、累积备份等备份方式。一般而言物理备份的恢复速度比较快,占用的空间比较大,逻辑备份的速度比较慢,占用的空间比较小,恢复成本较高。
49.传统的数据库备份数据主要存储在存储设备上。而随着云的推广和普及,尤其是云数据库的大量使用,使得数据库备份数据可以存储在云上。图2为本技术实施例中云存储的一种示意图。如图2所示,云数据库的逻辑备份主要是通过工具将数据库的数据导出之后再存储为备份文件,在上传到对象存储服务(object storage service,obs)等类似的云存储服务中。文档数据库(例如mongodb)使用备份工具(例如mongodump工具)会将数据导出为特定格式数据(例如bson格式的数据)来存储,通过obs对象存储的接口将其存储到云(obs)上。可以理解的是,该备份方式是一种逻辑备份的方式。
50.图3为本技术实施例中云存储的另一种示意图。该备份方式是物理备份方式。随着云的普及,云数据库主要采用基于共享存储的快照,直接从物理层面读取快照数据来备份,即磁盘快照(snapshot)。备份数据保存在在对象存储的系统(obs)中。通过该方式备份可以比逻辑备份的性能提升5~10倍。
51.为了实现快速备份,云存储大部分都采用了“完全备份+增量备份”的组合方式来降低备份数据量。例如,云存储可以每周全备(完全备份)一次,每天进行增量备份一次。这样可以有效的避免全备的数据量也兼顾了数据恢复的性能,保证数据库系统的可用性。
52.然而,上述云数据库随着使用的时间增加带来了数据的显著增加,导致定期全备的代价越来越大,尤其是在指定的时间窗口内完成备份的挑战也越来越大。示例性的,过去云数据库完全备份的数据量为1gb,需要1小时来完全备份。经过一段时间使用后,该云数据库完全备份的数据量增长到3gb,则需要3小时来完全备份,备份效率较低。
53.为解决上述问题,本技术实施例提供一种备份方法,可以降低备份上传的数据量,提升备份性能。本技术实施例提供的备份方法可以应用于上述图2所示的逻辑备份,也可以应用于上述图3所示的物理备份,在实际应用中,还可以应用在其他存储场景,本技术实施例对此不做限定。
54.图4为本技术实施例提供的备份方法的流程图。该方法包括以下步骤:
55.401、obs服务器从数据库系统获取待上传文件的第一校验值和待匹配对象文件路径清单。
56.在本技术实施例中,数据库系统是指需要数据备份的装置或系统,可以是终端(terminal)、用户设备(user equipment),也可以是服务器等,本技术实施例对此不做限定。本技术实施例以数据库系统为例进行描述,其他装置可参照本技术实施例以实施,本技术实施例不再赘述。
57.在本技术实施例中,obs服务器是指对待备份数据进行存储,为以后恢复数据做准备的设备。该obs服务器也可以用云存储服务器、存储设备或者是其他可以存储数据的设备代替,本技术实施例对此不作限定。本技术实施例以obs服务器为例进行描述,其他设备可参照本技术实施例以实施,本技术实施例不再赘述。
58.在本技术实施例中,数据库系统进行备份时,可以将需要备份的所有文件视为待上传文件。数据库系统和obs服务器可以对每个待上传文件实施本技术实施例提供的备份方法,也可以对所有待上传文件进行批量处理,本技术实施例对此不做限定。
59.待上传文件的第一校验值可以是checksum值、md5值等,本技术实施例对第一校验值的具体类型不做限定。数据库系统可以预先对待上传文件执行校验算法,得到待上传文件的第一校验值。本技术实施例对校验算法不做限定。
60.在本技术实施例中,待匹配对象文件路径清单是历次备份中保存下来的清单,其记录着待匹配对象文件在obs服务器中的位置。示例性的,在一次数据备份过程中,obs服务器存储了若干数据文件,这些数据文件在obs服务器中的存储位置可保存在一个清单中,并且传输至数据库系统。因此,可以理解的是,这些存储备份在obs服务器中的数据文件都可以视为待匹配对象文件。数据库系统保存该清单,并且将数据库系统中的数据文件与清单中的数据文件关联起来。对于某一次备份,该待匹配对象文件路径清单是预先设置的记录“待匹配对象文件在obs服务器中的位置”的清单。对于第一次备份,该清单是空白的。表1为第一次备份之后,待匹配对象文件路径清单的示例。在表1的示例中,数据库系统备份了两个文件(file1和file2),分别存储为obs服务器中的backup1/backup1-file1和backup1/backup1-file2。
61.表1
file1)的第二校验值相同,则说明待上传文件file1和待匹配对象文件file1相同,obs服务器可以将backup1/backup1-file1拷贝为backup2/backup2-file1,而无需让数据库系统上传待上传文件file1,降低了备份时传输的数据量,提高了备份效率。
73.404、若拷贝成功,则obs服务器向数据库系统返回合成成功信息。
74.在一些实施例中,obs服务器将待匹配对象文件拷贝至预设备份路径后,确认拷贝成功,则可以向数据库系统返回合成成功信息,以通知数据库系统该待上传文件已经完成备份。
75.405、若拷贝失败,则obs服务器向数据库系统返回第二合成失败信息。
76.在一些实施例中,obs服务器可能由于一些原因导致待匹配对象文件无法拷贝至预设备份路径。其中的原因可能是待匹配对象文件被锁定、待匹配对象文件损坏或被删除等情况,本技术实施例对此不做限定。
77.因此,当拷贝失败时,obs服务器无法通过拷贝待匹配对象文件的方式来实现备份,则obs服务器可以向数据库系统返回第二合成失败信息,以指示数据库系统向obs服务器上传待上传文件。
78.406、响应于第二合成失败信息,数据库系统向obs服务器上传待上传文件。
79.在本技术实施例中,数据库系统接收到第二合成失败信息后,可以向obs服务器上传待上传文件,以使得obs服务器拷贝待上传文件至预设备份路径,以完成该待上传文件的备份。
80.可以理解的是,当obs服务器接收到来自数据库系统的待上传文件后,可以拷贝待上传文件至预设备份路径,以完成该待上传文件的备份。
81.407、若第一校验值与所有第二校验值均不相同,则obs服务器向数据库系统返回第一合成失败信息。
82.在本技术实施例中,当obs服务器检测到第一校验值与第二校验值相同时,可以拷贝待匹配对象文件至预设备份路径,以实现备份。而当obs服务器检测到第一校验值与第二校验值不相同时,obs服务器一般会检测第一校验值与下一个第二校验值是否相同。示例性的,在对表2的示例进行第三次备份时,数据库系统中的待上传文件file1对应的待匹配对象文件路径清单如表2第三列前两项(backup1/backup1-file1和backup2/backup2-file1)。因此obs服务器进行第三次备份时,先检测待上传文件file1的第一校验值与backup1/backup1-file1对应待匹配对象文件backup1-file1的第二校验值是否相同。当两者不相同的时候,obs服务器继续检测待上传文件file1的第一校验值与backup2/backup2-file1对应待匹配对象文件backup2-file1的第二校验值是否相同。
83.经过上述过程,若obs服务器检测到待上传文件的第一校验值与所有第二校验值均不相同时,说明obs服务器中没有与该待上传文件相同的待匹配对象文件,则obs服务器可以向数据库系统返回第一合成失败信息,该第一合成失败信息用于指示数据库系统向obs服务器上传该待上传文件。
84.408、响应于第一合成失败信息,数据库系统向obs服务器上传待上传文件。
85.在本技术实施例中,当数据库系统接收到第一合成失败信息后,可以向obs服务器上传待上传文件,以使得obs服务器拷贝待上传文件至预设备份路径,以完成该待上传文件的备份。
86.可以理解的是,当obs服务器接收到来自数据库系统的待上传文件后,可以拷贝待上传文件至预设备份路径,以完成该待上传文件的备份。
87.在一些实施例中,obs服务器完成该上传文件的备份后,可以向数据库系统发送预设备份路径,使得数据库系统根据预设备份路径更新待匹配对象文件路径清单。示例性的,在对表2的示例进行第三次备份后,数据库系统更新后的待匹配对象文件路径清单如表3所示。表3为对表2的示例进行第三次备份的示例表格。在第二次备份之后,第三次备份之前,数据库系统中的数据文件file1没有变化,而数据文件file2变成了file2.1(两者文件名称相同,文件里面的内容不同)。因此在进行第三次备份时,obs服务器检测到数据文件file1的第一校验值与待匹配对象文件backup2-file1的第二校验值相同,则可以直接将backup2-file1拷贝到预设备份路径文件夹backup3内。而obs服务器检测到数据文件file2.1与所有待匹配对象文件的第二校验值均不相同,则obs服务器可以指示数据库系统上传数据文件file2.1,然后将数据文件file2.1拷贝到预设备份路径文件夹backup3内,以完成这次备份。完成备份后,obs服务器可以将表3所示的待匹配对象文件路径清单发送给数据库系统,使得数据库系统根据预设备份路径更新待匹配对象文件路径清单。
88.在上述过程中,数据库系统可以通过合理的方式来确定数据文件file2变成数据文件file2.1。示例性的,数据文件file2和数据文件file2.1的文件名称相同,但是文件里面的内容不同,则数据库系统可以根据该文件名称确定数据文件file2和数据文件file2.1属于变化前后的数据文件,与上述情况类似。在实际应用中,数据库系统还可以根据其他文件标识来确定数据文件之间的变化关系,例如文件编号等,本技术实施例对此不做限定。因此,在对某一个待上传文件进行备份时,数据库系统可以根据该待上传文件的文件标识(如文件名称)找到该待上传文件的待匹配对象文件路径清单。然后将该待上传文件的第一校验值和该待上传文件对应的待匹配对象文件路径清单上传至obs服务器。示例性的,在表3的示例中第三次备份时,数据文件file2和数据文件file2.1的文件名称都是“第二文件”,则数据库系统可以根据该文件名称“第二文件”找到对应的待匹配对象文件路径清单是backup1/backup1-file2和backup2/backup2-file2,然后将其上传至obs服务器。
89.表3
90.数据库系统中的数据文件obs服务器中的数据文件待匹配对象文件路径清单file1backup1-file1backup1/backup1-file1 backup2-file1backup2/backup2-file1 backup3-file1backup3/backup3-file1file2.1backup1-file2backup1/backup1-file2 backup2-file2backup2/backup2-file2 backup3-file2.1backup3/backup3-file2.1
91.可以理解的是,本技术提供的实施例可以应用于所有备份过程,包括完全备份或者增量备份。在完全备份的情况下,传统方法需要上传的数据量较大,此时通过实施本技术实施例可以减少较多的需要上传的数据量,具有更加显著的效果。以下将对本技术实施例应用于完全备份的一个应用例进行详细的描述。
92.图5为本技术提供的备份应用例的示意图。该应用例包括数据库系统(database)和obs服务器。该数据库系统第一次备份,进行完全备份,备份了三个文件(file1、file2、
file3),备份至obs服务器中的fullbackup1文件夹下,并且,数据库系统上传这三个文件时一并上传了这三个文件对应的checksum值。
93.本技术实施例在备份时,通过对前期的备份的历史数据信息进行比对来确认数据是通过obs的对象合成接口实现合成新的备份数据文件,以此减少网络传输;还是需要通过网络把新的数据文件上传到obs进行存储。因此在图5的应用例中,数据库的文件(file1、file2、file3)在前期全备过程中,已经通过网络上传到了obs对象存储中,其不仅保存了数据文件,还维护了数据文件的描述信息(文件路径以及文件的校验信息如checksum)。
94.图6为在图5的基础上实施本技术图4所示的备份方法的示意图。图7为图6应用例对应的方法流程图。该数据库系统首先获取待上传文件,计算待上传文件的校验值,根据上次全备以及增备信息计算出对象路径清单(待匹配对象文件路径清单)。可以理解的是,在该应用例中,上次全备以及增备信息可以是指上次全备以及增备过程中obs服务器的备份文件(待匹配对象文件)的路径清单。数据库系统根据待上传文件的文件名,将历次备份中,与该文件名所对应的路径清单合并即可得到对象路径清单。
95.然后,数据库系统可以将上述信息通过obs服务器的合成对象接口上传至obs服务器。该合成对象接口是obs服务器为本技术实施例提供的备份方法提供的关联接口,用于接收上述的对象路径清单以及校验值等信息。可以理解的是,在其他实际应用的情况中,可以调用其他接口来传输上述信息,本技术对此不做限定。
96.obs服务器可以根据对象路径清单和文件名按照从新到旧的顺序查找对应的待匹配对象文件,以及上次备份时已存储的待匹配对象文件的校验值。一般地,越新的文件越有可能与待上传文件相同,因此从新到旧进行查找能够更快速地查找到与待上传文件相同的待匹配对象文件,提高处理效率。
97.然后obs服务器可以比较待匹配对象文件的校验值与待上传文件的校验值是否一致。如果一致则直接拷贝该待匹配对象文件到新的备份路径中,向数据库系统返回合成成功信息。如果不一致则向数据库系统返回第二合成失败信息。
98.数据库系统若接收到合成成功信息,则不再上传该待上传文件。如果数据库系统接收到第二合成失败信息,则数据库系统通过网络上传该待上传文件到obs服务器进行备份,同时还会上传该待上传文件的校验值。
99.通过上述流程可以把前期已经备份的后续未修改的对象文件file1、file2、file3直接通过obs合成新的备份对象,避免网络传输。对于新增的file4则需要上传到obs进行备份。
100.图8为本技术提供的备份方法的另一种实施例示意图。该实施例包括以下步骤:
101.801、数据库系统获取待上传文件的第一校验值。
102.在本技术实施例中,数据库系统可以按照预设的校验算法计算得到待上传文件的第一校验值。具体与前述图4对应的实施例中的描述类似,此处不再赘述。
103.802、数据库系统获取待匹配对象文件路径清单对应的待匹配对象文件的第二校验值。
104.在本技术实施例中,待匹配对象文件的第二校验值可以是存储在obs服务器中。数据库系统可以根据待匹配对象文件路径清单确定该次备份应该进行比较的待匹配对象文件,然后调用obs服务器的接口来从obs服务器中获取待匹配对象文件的第二校验值。
105.在本技术实施例中,待匹配对象文件路径清单与前述图4对应的实施例类似,此处不再赘述。
106.803、若第一校验值与第二校验值相同,则数据库系统向obs服务器发送指示信息。
107.在本技术实施例中,数据库系统可以检测第一校验值和第二校验值是否相同,与前述图4对应的实施例中的执行主体不同,本技术实施例是通过数据库系统进行检测。
108.若第一校验值与第二校验值相同,则说明obs服务器可以将第二校验值对应的待匹配对象文件作为备份用的对象文件。因此数据库系统可以向obs服务器发送指示信息,该指示信息用于指示obs服务器将第二校验值对应的待匹配对象文件拷贝至预设备份路径。在实际应用中,数据库系统也可以通过调用obs服务器的接口来实现指示obs服务器将第二校验值对应的待匹配对象文件拷贝至预设备份路径,或者采用其他方式进行指示,本技术实施例对此不做限定。
109.可以理解的是,obs服务器接收到指示信息后,响应于指示信息,将第二校验值对应的待匹配对象文件拷贝至预设备份路径。当拷贝成功时,obs服务器可以向数据库系统返回合成成功信息,以使得数据库系统可以进行相关处理。当拷贝不成功时,说明obs服务器无法通过拷贝的方式完成备份,则obs服务器可以向数据库系统返回第二合成失败信息。数据库系统接收到第二合而成失败信息后,数据库系统可以向obs服务器发送该待上传文件,以使得obs服务器可以根据该待上传文件进行备份。
110.804、若第一校验值与所有的第二校验值不相同,则数据库系统向obs服务器上传待上传文件。
111.在本技术实施例中,数据库系统可以将待上传文件的第一校验值和若干个待匹配对象文件的第二校验值进行一一比较。若其中一个相同,则可以执行上述步骤803,若均不相同,则数据库系统可以向obs服务器上传待上传文件,obs服务器接收到该待上传文件后,可以将该待上传文件保存至预设备份路径,以实现备份,
112.在一些实施例中,obs服务器实现备份后,还会将该次备份的数据文件(待匹配对象文件)的路径清单(也可以是预设备份路径)发送至数据库系统。与前述图4对应的实施例类似,此处不再赘述。
113.图9为本技术基于图5的应用例进行再次备份的示意图。图10为图9对应的步骤流程图。该应用例包括以下步骤:
114.数据库系统首先获取待上传文件,计算待上传文件的校验值,根据上次全备以及增备信息计算出对象路径清单(待匹配对象文件路径清单)。可以理解的是,在该应用例中,上次全备以及增备信息可以是指上次全备以及增备过程中obs服务器的备份文件(待匹配对象文件)的路径清单。数据库系统根据待上传文件的文件名,将历次备份中,与该文件名所对应的路径清单合并即可得到对象路径清单。
115.然后,数据库系统调用obs服务器的对象属性接口以获取与对象路径清单对应的待匹配对象文件的校验值。
116.数据库系统拿到待上传文件的校验值和待匹配对象文件的校验值后,可以比较两者的校验值是否相同。若相同,则说明数据库系统无需上传待上传文件,而是可以让obs服务器直接将该待匹配对象文件拷贝至预设备份路径。因此数据库可以指示obs服务器根据该待匹配对象文件完成备份。
117.若两者校验值不相同,则说明obs服务器中没有与待上传文件相同的对象文件,则数据库系统上传该待上传文件及其校验值至obs服务器。obs服务器则可以根据该待上传文件进行备份,并保存该校验值,以用于下一次备份。
118.obs服务器拷贝完成后,一般会返回合成成功信息至数据库系统。若拷贝失败,则obs服务器会返回合成失败信息至数据库系统,使得数据库系统上传该待上传文件至obs服务器以完成备份。
119.图11为本技术实施例中一种备份装置的示意图。该备份装置1100包括:
120.获取模块1101,用于执行如前述图4对应的各个实施例中的步骤401、步骤406和步骤408。
121.处理模块1102,用于执行如前述图4对应的各个实施例中的步骤402、步骤403、步骤404、步骤405、步骤407。
122.图12为本技术实施例中另一种备份装置的示意图。该备份装置1200包括:
123.获取模块1201,用于执行如前述图8对应的各个实施例中的步骤802。
124.处理模块1202,用于执行如前述图8对应的各个实施例中的步骤801、步骤803和步骤804。
125.图13为本技术实施例提供的一种obs服务器的示意图。该obs服务器1300包括:一个或多个处理器1301、存储器1303和通信接口1304,处理器1301、存储器1303和通信接口1304可以通过通信总线1302相连。所述存储器1303用于存储一个或多个程序;所述一个或多个处理器1301用于运行所述一个或多个程序,使得obs服务器1300执行如上述各个方法实施例对应的方法。即,该obs服务器1300可为上述图4所示的方法实施例中的obs服务器或为上述图8所示的方法实施例中的obs服务器。
126.处理器1301可以是一个通用中央处理器(central processing unit,cpu)、网络处理器(network processer,np)、微处理器、或者可以是一个或多个用于实现本技术方案的集成电路,例如,专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
127.通信总线1302用于在上述组件之间传送信息。通信总线1302可以分为地址总线、数据总线、控制总线等。为便于表示,附图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
128.存储器1303可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1303可以是独立存在,并通过通信总线1302与处理器1301相连接。存储
器1303也可以和处理器1301集成在一起。
129.通信接口1304使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口1304包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合等。
130.在具体实现中,作为一种实施例,处理器1301可以包括一个或多个cpu,如附图13中所示的cpu0和cpu1。
131.在具体实现中,作为一种实施例,obs服务器1300可以包括多个处理器,如附图13中所示的处理器1301和处理器1305。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
132.在具体实现中,作为一种实施例,obs服务器1300还可以包括输出设备和输入设备。输出设备和处理器1301通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备和处理器1301通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
133.在一些实施例中,存储器1303用于存储执行本技术方案的程序代码1310,处理器1301可以执行存储器1303中存储的程序代码1310。也即是,obs服务器1300可以通过处理器1301以及存储器1303中的程序代码1310,来实现方法实施例提供的报文处理方法。
134.本技术实施例的obs服务器1300可对应于上述各个方法实施例中的网关设备,并且,该obs服务器1300中的处理器1301、通信接口1304等可以实现上述各个方法实施例中的网关设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
135.应理解,obs服务器1300对应于上述方法实施例中的obs服务器,obs服务器1300中的各单元和上述其他操作和/或功能分别为了实现上述图4所示的方法中的obs服务器或图8所示的方法中的obs服务器所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
136.图14为本技术实施例提供的一种数据库系统的示意图。该数据库系统1400包括:一个或多个处理器1401、存储器1403和通信接口1404,处理器1401、存储器1403和通信接口1404可以通过通信总线1402相连。所述存储器1403用于存储一个或多个程序;所述一个或多个处理器1401用于运行所述一个或多个程序,使得数据库系统1400执行如上述各个方法实施例对应的方法。即,该数据库系统1400可为上述图4所示的方法实施例中的数据库系统或为上述图8所示的方法实施例中的数据库系统。
137.处理器1401可以是一个通用中央处理器(central processing unit,cpu)、网络处理器(network processer,np)、微处理器、或者可以是一个或多个用于实现本技术方案的集成电路,例如,专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组
合。
138.通信总线1402用于在上述组件之间传送信息。通信总线1402可以分为地址总线、数据总线、控制总线等。为便于表示,附图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
139.存储器1403可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1403可以是独立存在,并通过通信总线1402与处理器1401相连接。存储器1403也可以和处理器1401集成在一起。
140.通信接口1404使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口1404包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合等。
141.在具体实现中,作为一种实施例,处理器1401可以包括一个或多个cpu,如附图14中所示的cpu0和cpu1。
142.在具体实现中,作为一种实施例,数据库系统1400可以包括多个处理器,如附图14中所示的处理器1401和处理器1405。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
143.在具体实现中,作为一种实施例,数据库系统1400还可以包括输出设备和输入设备。输出设备和处理器1401通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备和处理器1401通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
144.在一些实施例中,存储器1403用于存储执行本技术方案的程序代码1410,处理器1401可以执行存储器1403中存储的程序代码1410。也即是,数据库系统1400可以通过处理器1401以及存储器1403中的程序代码1410,来实现方法实施例提供的报文处理方法。
145.本技术实施例的数据库系统1400可对应于上述各个方法实施例中的网关设备,并且,该数据库系统1400中的处理器1401、通信接口1404等可以实现上述各个方法实施例中的网关设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
146.应理解,数据库系统1400对应于上述方法实施例中的数据库系统,数据库系统1400中的各单元和上述其他操作和/或功能分别为了实现上述图4所示的方法中的数据库系统或图8所示的方法中的数据库系统所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
147.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
148.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
149.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
150.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
151.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1