一种数据备份的方法及装置与流程

文档序号:12863650阅读:238来源:国知局
一种数据备份的方法及装置与流程
本发明涉及数据备份
技术领域
,尤其涉及一种数据备份的方法及装置。
背景技术
:目前随着大数据时代的到来,大量的业务数据和社会网络积累的各种数据越来越多,在数据量不断增长的情况下,为了防止数据的丢失,常需要对数据进行备份。下面对现有的备份方式进行举例说明。一种备份方式是全量备份,在备份时要对整个数据集进行备份,以得到该数据集的完全副本。全量备份为数据提供了最好最完整的保护,但是当要备份的数据集中包含的数据发生变化或者添加新的数据时需要重新进行全备份。全量备份的优点是数据恢复所需时间较短,缺点是备份数据中有大量内容是重复的,这些重复的数据浪费了大量的备份空间,增加了数据备份的成本,并且由于需要备份的数据量比较大,因此备份所需时间也较长。为了提高备份效率和减小备份开销,在全量备份的基础上进行了一些改进,基于全量备份进行增量备份,增量备份只备份上次备份之后新添加或者更改的数据。例如,在初始状态,源数据库有多个数据文件,那么第一次备份进行全量备份,过了一段时间源数据库中新增了数据,则将新增的数据写入到增量备份文件中。但是,如果新增的数据较多,目前的增量备份的方案的备份工作量和开销仍然很大。技术实现要素:本发明实施例的目的是提供一种数据备份的方法及装置,用于提供一种减小备份开销且提高备份效率的备份方案。本发明实施例的目的是通过以下技术方案实现的:一种数据备份的方法,包括:确定每个备份阶段内需要备份的冷数据和热数据;对于每个所述备份阶段,对所述热数据采用第一备份频率进行增量备份,得到至少两个热数据的子增量备份文件,对所述冷数据采用第二备份频率进行增量备份,得到至少一个冷数据的子增量备份文件;其中,所述第一备份频率大于所述第二备份频率;将每个所述备份阶段内的所述热数据的子增量备份文件和所述冷数据的子增量备份文件进行合并,得到每个所述备份阶段的增量备份文件。较佳地,该方法还包括:预先进行全量备份,得到全量备份文件;当各所述备份阶段的增量备份文件的数量达到预设数量时,将各备份阶段的增量备份文件合并到所述全量备份文件中。较佳地,该方法还包括:在数据初始导入时,确定导入的数据为冷数据;所述确定每个备份阶段内需要备份的冷数据和热数据,包括:针对每个所述备份阶段:在该备份阶段开始之前,每执行一次查询语句后,判断所述查询语句中所查询的字段被查询的总次数是否达到预设阈值;如果是,确定所查询的字段为热字段,该字段对应的数据为热数据;否则,确定所查询的字段为冷字段,该字段对应的数据仍为冷数据;以在该备份阶段开始时,最终确定的热数据和冷数据为该备份阶段内需要备份的冷数据和热数据。较佳地,如果在每个所述备份阶段内,所述冷数据的子增量备份文件有两个以上;将每个所述备份阶段内的所述热数据的子增量备份文件和所述冷数据的子增量备份文件进行合并,包括:将所述备份阶段内,各所述热数据的子增量备份文件进行合并,得到所述备份阶段的热数据的增量备份文件;将所述备份阶段内,各所述冷数据的子增量备份文件进行合并,得到所述备份阶段的冷数据的增量备份文件;将所述备份阶段的所述热数据的增量备份文件和所述冷数据的增量备份文件进行合并,得到所述备份阶段的增量备份文件;如果在每个所述备份阶段内,所述冷数据的子增量备份文件只有一个;将每个所述备份阶段内的所述热数据的子增量备份文件和所述冷数据的子增量备份文件进行合并,包括:将所述备份阶段内,各所述热数据的子增量备份文件进行合并,得到所述备份阶段的热数据的增量备份文件;将所述备份阶段的所述热数据的增量备份文件和所述冷数据的子增量备份文件进行合并,得到所述备份阶段的增量备份文件。较佳地,对所述热数据采用第一备份频率进行增量备份,对所述冷数据采用第二备份频率进行增量备份,包括:对所述热数据采用第一备份频率进行增量备份,对所述冷数据采用第二备份频率进行增量备份的过程中,对所述热数据和所述冷数据分别保留同一列的id值;将每个所述备份阶段内的所述热数据的子增量备份文件和所述冷数据的子增量备份文件进行合并,得到每个所述备份阶段的增量备份文件,包括:根据保留的同一列的id值,对所述热数据的子增量备份文件和所述冷数据的子增量备份文件进行合并。一种数据备份的装置,包括:冷热数据确定模块,用于:确定每个备份阶段内需要备份的冷数据和热数据;备份模块,用于:对于每个所述备份阶段,对所述热数据采用第一备份频率进行增量备份,得到至少两个热数据的子增量备份文件,对所述冷数据采用第二备份频率进行增量备份,得到至少一个冷数据的子增量备份文件;其中,所述第一备份频率大于所述第二备份频率;备份合并模块,用于:定期将每个所述备份阶段内的各所述热数据的子增量备份文件和各所述冷数据的子增量备份文件进行合并,得到每个所述备份阶段的增量备份文件。较佳地,所述备份模块,还用于:预先进行全量备份,得到全量备份文件;所述备份合并模块,还用于:当各所述备份阶段的增量备份文件的数量达到预设数量时,将各备份阶段的增量备份文件合并到所述全量备份文件中。较佳地,所述冷热数据确定模块,还用于:在数据初始导入时,确定导入的数据为冷数据;所述冷热数据确定模块,具体用于:针对每个所述备份阶段:在该备份阶段开始之前,每执行一次查询语句后,判断所述查询语句中所查询的字段被查询的总次数是否达到预设阈值;如果是,确定所查询的字段为热字段,该字段对应的数据为热数据;否则,确定所查询的字段为冷字段,该字段对应的数据仍为冷数据;以在该备份阶段开始时,最终确定的热数据和冷数据为该备份阶段内需要备份的冷数据和热数据。较佳地,如果在每个所述备份阶段内,所述冷数据的子增量备份文件有两个以上;所述备份合并模块,具体用于:将所述备份阶段内,各所述热数据的子增量备份文件进行合并,得到所述备份阶段的热数据的增量备份文件;将所述备份阶段内,各所述冷数据的子增量备份文件进行合并,得到所述备份阶段的冷数据的增量备份文件;将所述备份阶段的所述热数据的增量备份文件和所述冷数据的增量备份文件进行合并,得到所述备份阶段的增量备份文件;如果在每个所述备份阶段内,所述冷数据的子增量备份文件只有一个;所述备份模块,具体用于:将所述备份阶段内,各所述热数据的子增量备份文件进行合并,得到所述备份阶段的热数据的增量备份文件;将所述备份阶段的所述热数据的增量备份文件和所述冷数据的子增量备份文件进行合并,得到所述备份阶段的增量备份文件。较佳地,所述备份模块,具体用于:对所述热数据采用第一备份频率进行增量备份,对所述冷数据采用第二备份频率进行增量备份的过程中,对所述热数据和所述冷数据分别保留同一列的id值;所述备份合并模块,具体用于:根据保留的同一列的id值,对所述热数据的子增量备份文件和所述冷数据的子增量备份文件进行合并。本发明实施例的有益效果如下:本发明实施例提供的数据备份的方法及装置中,由于热数据是比较重要的数据,因而在每个备份阶段,仅对热数据采用较高频率进行增量备份,冷数据采用相对于热数据较低的频率进行增量备份,与现有技术中将所有的数据都进行全量备份或者将所有的新增数据或改变的数据进行增量备份的方式相比,极大的减小了备份开销,提高了备份效率,实现了对热数据的及时备份,保证了重要数据的极少丢失。附图说明图1为本发明实施例提供的一种数据备份的方法流程图;图2为本发明实施例提供的备份过程的示意图;图3为本发明实施例提供的备份文件合并的示意图;图4为本发明实施例提供的一种数据备份的装置示意图。具体实施方式下面结合附图和实施例对本发明提供的一种数据备份的方法及装置进行更详细地说明。关于本发明提供的数据备份方案,在实现本发明的过程中,发明人考虑到备份频率的因素:假如备份频率高,备份的代价比较大,特别是数据库系统中列属性较多的大表,将所有的字段进行备份代价更大,假如备份频率低,如果系统出现故障,利用备份数据进行恢复,得到的恢复记录与最新记录相差较大,该情况在表中实时导入数据量较大的情况下,表现尤为明显,基于此,发明人提出了对热数据进行高频率备份,对冷数据进行低频率备份的思想,可以但不限于应用于数据库系统中,以下进行举例说明。如图1所示,本发明实施例提供一种数据备份的方法,至少包括如下步骤:步骤110、确定每个备份阶段内需要备份的冷数据和热数据。本发明实施例中,按照预设的时间周期进行划分,得到多个备份阶段。例如,可以按天进行划分,每1天为一个备份阶段。本发明实施例中,冷数据和热数据是按照被访问次数划分的,热数据的被访问次数大于冷数据的被访问次数。由于随着被访问次数的变化,冷数据和热数据是动态变化的,因而对于每个备份阶段,都要确定需要备份的冷数据和热数据。步骤120、对于每个备份阶段,对热数据采用第一备份频率进行增量备份,得到至少两个热数据的子增量备份文件,对冷数据采用第二备份频率进行增量备份,得到至少一个冷数据的子增量备份文件;其中,第一备份频率大于第二备份频率。其中,子增量备份文件中包括元数据信息及对应的数据。元数据信息用于描述数据的属性信息(如冷数据、热数据等等)。步骤130、将每个备份阶段内的热数据的子增量备份文件和冷数据的子增量备份文件进行合并,得到每个备份阶段的增量备份文件。本发明实施例中,由于热数据是比较重要的数据,因而在每个备份阶段,仅对热数据采用较高频率进行增量备份,冷数据采用相对于热数据较低的频率进行增量备份,与现有技术中将所有的数据都进行全量备份或者将所有的新增数据或改变的数据进行增量备份的方式相比,极大的减小了备份开销,提高了备份效率,实现了对热数据的及时备份,保证了重要数据的极少丢失。由于增量备份是基于全量备份实现的,因而,较佳地,本发明实施例提供的方法还包括:预先进行全量备份,得到全量备份文件。实施中,在第一次进行备份时进行的是全量备份。为了避免随着备份阶段的数量的增加,相应的增量备份文件增多,导致增量备份文件过多,不利于管理以及恢复,可以按照预设策略将增量备份文件合并到全量备份文件中,既可以保证了增量备份文件数量不会过多,并且解决恢复需要合并大量增量备份文件导致恢复慢的问题。基于此,较佳地,本发明实施例提供的方法还包括:各备份阶段的增量备份文件的数量达到预设数量时,将各备份阶段的增量备份文件合并到全量备份文件中。在数据库系统中,查询语句对于数据库系统来说,是非常重要的信息,发明人发现,可以用户的查询语句为依据,判断数据的热度。基于此,本发明实施例提供的判断数据的热度的方案如下:由于数据刚导入数据库系统时,都没有被查询访问,因而都是冷数据,因此,本发明实施例提供的方法还包括:在数据初始导入时,确定导入的数据为冷数据;相应的,上述步骤110中,确定每个备份阶段内的冷数据和热数据,具体实现方式可以是:针对每个备份阶段:每执行一次查询语句后,判断查询语句中所查询的字段被查询的总次数是否达到预设阈值;如果是,确定所查询的字段为热字段,该字段对应的数据为热数据;否则,确定所查询的字段为冷字段,该字段对应的数据仍为冷数据。其中,字段被查询的总次数是指从数据导入开始,截止到本次查询的次数。具体实施中,上述查询语句为结构化查询语言(structuredquerylanguage,sql)的查询语句,可以统计select字段以及project字段出现的次数。假如数据表为student,参见表1。表1idnameageaddress0小王12addr11小李13addr22小张15addr3例如,开始时,name,age和address字段均为冷字段,经过了两次查询后,发生了冷热变化。假设,查询语句1为:selectname,agefromstudentwhereage>14;其中该语句的select字段为age,project字段为name和age,则可以统计为name字段的个数为1,age字段为2;查询语句2为:selectnamefromstudentwhereage>14;则可统计name字段的个数为1,age字段的个数为1。根据查询语句1和查询语句2,统计可知name字段被查询的总次数为2,age字段被查询的总次数为3。假如预设阈值为1,则确定name和age为热字段,对应的数据为热数据,而address字段一直未被查询,仍为冷字段,对应的数据为冷数据。具体实施时,将每个备份阶段内的热数据的子增量备份文件和冷数据的子增量备份文件进行合并的实现方式有多种,以下进行举例说明。如果在一个备份阶段内,冷数据的子增量备份文件有两个以上,将每个备份阶段内的热数据的子增量备份文件和冷数据的子增量备份文件进行合并,具体实现方式可以是:将备份阶段内,各热数据的子增量备份文件进行合并,得到备份阶段的热数据的增量备份文件;将备份阶段内,各冷数据的子增量备份文件进行合并,得到备份阶段的冷数据的增量备份文件;将备份阶段的热数据的增量备份文件和冷数据的增量备份文件进行合并,得到备份阶段的增量备份文件。还可以是:将备份阶段内,各热数据的子增量备份文件合并之后,依次与各冷数据的子增量备份文件进行合并,得到备份阶段的增量备份文件;或者,将备份阶段内,各冷数据的子增量备份文件进行合并后,依次与各热数据的子增量备份文件进行合并,得到备份阶段的增量备份文件。如果在一个备份阶段内,冷数据的子增量备份文件只有一个,较佳地,将每个备份阶段内的热数据的子增量备份文件和冷数据的子增量备份文件进行合并,具体实现方式可以是:将备份阶段内,各热数据的子增量备份文件进行合并,得到备份阶段的热数据的增量备份文件;将备份阶段的热数据的增量备份文件和冷数据的子增量备份文件进行合并,得到备份阶段的增量备份文件。还可以是:将备份阶段内,冷数据的子增量备份文件,依次与各热数据的子增量备份文件进行合并。由于各备份文件之间在合并时,需要一个关联信息,因而,较佳地,上述步骤120中,对热数据采用第一备份频率进行增量备份,对冷数据采用第二备份频率进行增量备份,具体实现方式可以是:对热数据采用第一备份频率进行增量备份,对冷数据采用第二备份频率进行增量备份的过程中,对热数据和冷数据分别保留同一列的标识(identification,id)值。相应的,上述步骤130中,将每个备份阶段内的热数据的子增量备份文件和冷数据的子增量备份文件进行合并,具体实现方式可以是:根据保留的同一列的id值,对热数据的子增量备份和冷数据的子增量备份进行合并。其中,保留的同一列的id值,用于关联各备份文件。另外,以上相关实施例中,可以但不限于是在每个备份阶段结束之后的预设时间内,将该备份阶段内的热数据的子增量备份文件和冷数据的子增量备份文件进行合并。也可以是定期将每个备份阶段内的热数据的子增量备份文件和冷数据的子增量备份文件进行合并;例如,可以每经过两个备份阶段,分别对这两个备份阶段内的热数据的子增量备份文件和冷数据的子增量备份文件进行合并,得到两个备份阶段的增量备份文件。本发明实施例中,备份文件存储在预设的存储空间或者存储设备中。下面以一个具体的备份场景为例,对本发明实施例提供的一种数据备份的方法进行更加详细地说明。本实施例中,以1天为1个备份阶段。在1个备份阶段中,对热数据按照每小时1次的第一备份频率进行增量备份,对冷数据按照每天1次的第二备份频率进行增量备份。假设,数据库系统中1月1日和1月2日导入数据,在没有得到热字段之前,所有的字段均为冷字段,对应的数据为冷数据,随着被访问次数的变化,出现了冷数据和热数据的分离,可以在每执行一次查询语句后,判断所述查询语句中所查询的select字段和project字段被查询的总次数是否达到预设阈值;如果是,确定所查询的字段为热字段,该字段对应的数据为热数据;否则,确定所查询的字段为冷字段,该字段对应的数据仍为冷数据。如图2所示,虚线左侧为原始数据文件,右侧为备份文件,在1月3日0点开始进行备份,第一次备份时对1月1日和1月2日导入的数据文件file1和file2进行全量备份,得到全量备份文件file1和file2,并开始以1天为一个备份阶段,对热数据每1h进行一次增量备份,共24次增量备份,到1月4日0点,得到24个热数据的子增量备份文件file3.1.part1,file3.1.part2,……,file3.1.part24;同时,到1月4日0点后,还要对1月3日这1天内的冷数据进行增量备份,得到1个冷数据的子增量备份文件file3.part2,这个合并过程为横向合并,由于这个备份阶段内,冷数据只进行1次增量备份,因而无需进行合并操作,冷数据的子增量备份文件就是冷数据的增量备份文件。如图3所示,虚线左侧为备份文件,右侧为合并后的文件,对各个热数据的子增量备份文件进行合并,得到1月3日1天内的热数据的增量备份文件file3.part1。然后,将冷数据的增量备份文件file3.part2和热数据的增量备份文件file3.part1进行合并,得到1月3日1天内的增量备份文件file3,这个合并过程为纵向合并。为了避免1天1个增量备份文件,导致增量备份文件较多,可以设置最大增量备份文件为10个,当到达10个后,则将这10个增量备份文件合并到全量备份文件中,保证了备份文件数量不会过多,并且解决恢复需要合并大量文件,导致恢复慢的问题。在使用过程中,假如,在某天9点半时刻挂掉,需要进行数据的恢复。则可以恢复前一天的全量数据,加上该天9点之前的热数据。可依据的备份文件为:一个全量备份文件,多个备份阶段的增量备份文件,0点到9点之间的热数据的子增量备份文件。该天9点前的热数据可以进行还原,可以保证热数据丢失量极大地降低,并可给用户一个很好的体验。基于同样的发明构思,如图4所示,本发明实施例还提供一种数据备份的装置,包括:冷热数据确定模块401,用于:确定每个备份阶段内需要备份的冷数据和热数据;备份模块402,用于:对于每个备份阶段,对热数据采用第一备份频率进行增量备份,得到至少两个热数据的子增量备份文件,对冷数据采用第二备份频率进行增量备份,得到至少一个冷数据的子增量备份文件;其中,第一备份频率大于第二备份频率;备份合并模块403,用于:将每个备份阶段内的各热数据的子增量备份文件和各冷数据的子增量备份文件进行合并,得到每个备份阶段的增量备份文件。本发明实施例中,由于热数据是比较重要的数据,因而在每个备份阶段,仅对热数据采用较高频率进行增量备份,冷数据采用相对于热数据较低的频率进行增量备份,与现有技术中将所有的数据都进行全量备份或者将所有的新增数据或改变的数据进行增量备份的方式相比,极大的减小了备份开销,提高了备份效率,实现了对热数据的及时备份,保证了重要数据的极少丢失。较佳地,备份模块,还用于:预先进行全量备份,得到全量备份文件;备份合并模块,还用于:当各备份阶段的增量备份文件的数量达到预设数量时,将各备份阶段的增量备份文件合并到全量备份文件中。较佳地,冷热数据确定模块,还用于:在数据初始导入时,确定导入的数据为冷数据;冷热数据确定模块,具体用于:针对每个备份阶段:在该备份阶段开始之前,每执行一次查询语句后,判断查询语句中所查询的字段被查询的总次数是否达到预设阈值;如果是,确定所查询的字段为热字段,该字段对应的数据为热数据;否则,确定所查询的字段为冷字段,该字段对应的数据仍为冷数据;以在该备份阶段开始时,最终确定的热数据和冷数据为该备份阶段内需要备份的冷数据和热数据。较佳地,如果在每个备份阶段内,冷数据的子增量备份文件有两个以上;备份合并模块,具体用于:将备份阶段内,各热数据的子增量备份文件进行合并,得到备份阶段的热数据的增量备份文件;将备份阶段内,各冷数据的子增量备份文件进行合并,得到备份阶段的冷数据的增量备份文件;将备份阶段的热数据的增量备份文件和冷数据的增量备份文件进行合并,得到备份阶段的增量备份文件;如果在每个备份阶段内,冷数据的子增量备份文件只有一个;备份合并模块,具体用于:将备份阶段内,各热数据的子增量备份文件进行合并,得到备份阶段的热数据的增量备份文件;将备份阶段的热数据的增量备份文件和冷数据的子增量备份文件进行合并,得到备份阶段的增量备份文件。较佳地,备份模块,具体用于:对热数据采用第一备份频率进行增量备份,对冷数据采用第二备份频率进行增量备份的过程中,对热数据和冷数据分别保留同一列的id值;备份合并模块,具体用于:根据保留的同一列的id值,对热数据的子增量备份文件和冷数据的子增量备份文件进行合并。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1