本发明涉及数据备份,特别涉及一种基于动态监测的数据库自动备份方法及系统。
背景技术:
1、随着社会的不断发展,信息数据的容量也呈指数形式在急剧增加,为了满足社会对数据,数据库技术已被越来越多地人们所关注。不论是在日常生活中的数据传输还是工作当中重要数据的使用,人们对信息系统的依赖性越来越高,为避免数据的丢失,数据库备份技术成为科研工作者的研究热点。
2、为了实现数据库的自动备份,人们也提出了诸如一种数据库自动备份方法及装置、一种智能化数据库自动备份系统和一种基于mongodb的数据库自动备份方法、设备及存储设备,虽然这些方法可以实现数据库自动备份的功能,但是这些现有的方法大多采用固定的时间进行数据库备份,根据数据量的变化进行调整,进而降低备份效率,并且现有方法对数据逐一备份,容易造成较大文件的备份失败,浪费计算资源,因此需要改进。
技术实现思路
1、本发明提供了一种基于动态监测的数据库自动备份方法及系统,以解决目前数据库自动备份方法采用固定周期进行备份,备份效率不高,容易造成较大文件的备份失败的技术问题。
2、为解决上述技术问题,本发明提供了如下技术方案:
3、本发明提供了一种基于动态监测的数据库自动备份方法,包括:
4、s1:获取用户账号和用户ip地址,验证数据备份的安全性;
5、s2:获取待备份的数据,由数据类型选择备份方式,备份方式分为离线备份和在线增量备份;
6、s3:备份方式为离线备份时,初始化动态监测参数,其中动态监测参数包括动态备份周期、数据增长量和数据增长率;
7、s4:设计评级分区备份算法,完成数据的离线备份;
8、s5:计算数据增长量和数据增长率,由数据增长量和数据增长率更新动态备份周期。
9、进一步地,所述获取用户账号和用户ip地址,验证数据备份的安全性,包括:
10、获取用户账号和用户ip地址;
11、所述用户账号为8位且同时包含数字、小写英文字母和大写英文字母,所述用户ip地址为用户客户端的互联网协议地址;
12、所述验证数据备份的安全性,包括:
13、1)密码初次验证:用户账号需输入密码完成初始验证,如果密码正确则进行组合代码验证,如果密码不正确,表明用户账户存在安全风险,通过邮件、短信及智能电话提醒的方式对用户进行安全提醒;
14、2)组合代码验证:用户账号创建时,基于用户账号和用户ip地址生成一个组合代码,组合代码的设定规则如下:组合代码的头部b由四位0至9的随机数字组成,尾部c由三位a至z的随机字母组成,中部由用户账号和用户ip地址组成;
15、在用户完成密码初次验证后,进一步输入组合代码的头部b和尾部c,对组合代码进行安全性验证,如果组合代码正确,表示可以对数据进行备份,如果组合代码不正确,表示用户账户存在安全风险,通过邮件、短信及智能电话提醒的方式对用户进行安全提醒。
16、进一步地,所述获取待备份的数据,由数据类型选择备份方式,备份方式分为离线备份和在线增量备份,包括:
17、获取待备份的数据,由数据传输情况将待备份的数据分为实时数据和延时数据;
18、其中实时数据指实时发生变化的数据;延时数据指经过缓存后需要备份的数据;
19、对于实时数据,采用在线增量备份的方式进行数据备份;
20、对于延时数据,采用离线备份的方式进行数据备份;
21、所述延时数据包含延时数据容量m,延时数据中各文件的容量m,用户访问频率f和用户访问时长t。
22、所述采用在线增量备份的方式进行数据备份包括:
23、采用在线增量备份时,仅备份实时发生变化的数据,并覆盖原数据,为保证所有变化的数据可以追查修改记录,在进行在线增量备份时,使用日志记录全部修改的数据,并保留7日。
24、进一步地,所述步骤s3中,所述初始化动态监测参数包括:
25、初始化动态备份周期、数据增长量和数据增长率;其中动态备份周期是指每间隔时间,进行一次延时数据的离线备份;
26、在进行离线备份时,需要保证前一个动态备份周期内所有的延时数据均已备份完成,其中,,表示延时数据在所有动态周期进行离线备份时实际所需时间的平均值。
27、进一步地,所述步骤s4中,所述设计评级分区备份算法的步骤包括:
28、(1)初始化用户访问频率阈值和用户访问时长阈值,获取用户访问频率和用户访问时长,其中,表示延时数据中第i个文件的访问频率,,表示延时数据中第i个文件的用户访问时长,n表示延时数据中的文件量,;
29、(2)获取第i个文件的用户访问频率,用户访问时长,如果且,则第i个文件评级为ⅰ级;如果且,或且,则第i个文件评级为ⅱ级;如果是其他情况,则第i个文件评级为ⅲ级;
30、(3)初始化文件容量阈值,获取延时数据中各文件容量m,,表示延时数据中第i个文件的文件容量,获取第i个文件的文件容量,如果,则第i个文件为大文件;如果,则第i个文件为小文件;
31、(4)对延时数据进行筛选,得到六种文件评级分区标签,每个文件均对应其中一个标签,六种文件评级分区标签分别为ⅰ级小文件,ⅰ级大文件,ⅱ级小文件,ⅱ级大文件,ⅲ级小文件,ⅲ级大文件;
32、(5)获取日平均备份网速,计算随机选取连续的5秒的备份网速平均值,如果,则不进行任何备份;如果,则备份文件的顺序为、、;如果,则备份文件的顺序为、、;
33、(6)每当一种文件评级分区标签的所有文件备份完成后,均需要重新计算随机选取连续的5秒的平均网速。
34、进一步地,所述计算数据增长量和数据增长率,由数据增长量和数据增长率更新动态备份周期,包括:
35、计算数据增长量,数据增长量由前一个动态备份周期的延时数据的平均容量值和延时数据容量m得到,计算公式为:;
36、计算数据增长率,数据增长量由前一个动态备份周期的延时数据的平均容量值和数据增长量得到,计算公式为:;
37、获取当前动态备份周期平均备份网速,更新动态备份周期,更新后的动态备份周期的计算公式如下:;
38、对更新后的动态备份周期进行可靠性验证,如果,则更新后的动态备份周期符合要求,如果,则对进行补偿,补偿的计算公式为:,其中表示补偿后的动态备份周期。
39、另一方面,本发明还提供了一种基于动态监测的数据库自动备份系统,包括:
40、安全验证模块,获取用户账号和用户ip地址,验证数据备份的安全性;
41、数据获取模块,获取待备份的数据,由数据类型选择备份方式,备份方式分为离线备份和在线增量备份;
42、离线备份模块,备份方式为离线备份时,初始化动态监测参数,其中动态监测参数包括动态备份周期、数据增长量和数据增长率;针对离线备份,设计评级分区备份算法,完成延时数据备份;
43、动态备份周期更新模块,计算数据增长量和数据增长率,由数据增长量和数据增长率更新动态备份周期。
44、本发明提供的技术方案带来的有益效果至少包括:
45、1、本发明采用基于动态监测的方式实现数据库自动备份,通过数据增长量和数据增长率更新动态备份周期,并对更新后的动态备份周期进行可靠性验证,相比于固定周期进行数据库备份的方案,本发明方案可以根据数据量的变化自适应调整备份周期,从而提高计算资源的利用效率,进一步保证数据的完整备份。
46、2、本发明在进行备份前,需要完成密码初次验证和组合代码验证两步数据备份的安全性验证,相比于直接进行数据备份的方案,本方案可以避免其他账号进行非必要数据的备份,不仅可以保证重要用户的数据得到有效备份,还可以提高数据备份的安全性和可靠性。
47、3、本发明方案采用在线增量备份和离线备份相结合的方式进行数据备份,对于在线增量备份,仅备份变化的数据,并对所有修改的信息进行记录和保存,增强了备份数据的可回溯性,对于离线备份,设计评级分区备份算法,通过延时数据中各个文件的用户访问频率和用户访问时长评级分区标签,进一步确定各个文件的备份顺序,相比于其他直接备份的方案,本方案可以进一步提高备份效率,解决大文件因网络问题造成的备份失败,从而造成大文件数据丢失的问题。
1.一种基于动态监测的数据库自动备份方法,其特征在于,包括:
2.如权利要求1所述的基于动态监测的数据库自动备份方法,其特征在于,所述步骤s1包括:
3.如权利要求1所述的基于动态监测的数据库自动备份方法,其特征在于,所述步骤s2包括:
4.如权利要求3所述的基于动态监测的数据库自动备份方法,其特征在于,所述采用在线增量备份的方式进行数据备份包括:
5.如权利要求3所述的基于动态监测的数据库自动备份方法,其特征在于,所述步骤s3中,所述初始化动态监测参数包括:
6.如权利要求3所述的基于动态监测的数据库自动备份方法,其特征在于,所述步骤s4中,所述设计评级分区备份算法的步骤包括:
7.如权利要求5所述的基于动态监测的数据库自动备份方法,其特征在于,所述步骤s5包括:
8.一种基于动态监测的数据库自动备份系统,其特征在于,包括: