基于快照技术的数据库备份方法及系统与流程
未命名
08-07
阅读:65
评论:0

1.本发明涉及数据库技术领域,尤其涉及一种基于快照技术的数据库备份方法及系统。
背景技术:
2.快照技术是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。快照技术的作用主要是能够进行在线数据恢复,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态,因此,快照在备份、数据保护过程中发挥着越来越大的作用。
3.数据库数据备份是数据安全的最后保证手段,数据备份的目的在于最大限度地降低系统风险,保护网络最重要的资源数据,在系统遇到灾难后,能够提供一种简便、有效的手段来恢复整个网络。
4.中国专利公开号:cn104462342b,公开了一种数据库快照同步处理方法及装置,包括确定源数据库和目标数据库;根据源数据库生成数据库快照,其中,数据库快照是用于将源数据库中的数据转移至目标数据库中的数据库,在数据库快照中包括用于执行同步操作的脚本文件;确定脚本文件中需要删除的脚本代码;对脚本文件进行修改,删除脚本文件中需要删除的脚本代码,得到修改后的脚本文件;通过修改后的脚本文件对数据库快照执行同步处理,由此可见,所述存在以下问题,没有对数据进行优化,导致备份数据库存储内容不精确且冗余数据过多,对备份存储介质空间造成了极大的浪费。
技术实现要素:
5.为此,本发明提供一种基于快照技术的数据库备份方法及系统,通过快照技术精准的实现了数据的备份,且备份过程中优化了数据集的大小,在保证备份数据精准度的基础上节约了备份存储的空间。
6.一方面,本发明提供一种基于快照技术的数据库备份方法,包括:步骤s1、当主数据库接收到数据变更指令时启动验证模块,验证模块确定本次变更的权限级别;步骤s2、启动校对模块并复制所述主数据库中变更前的数据,将变更后的数据与变更前的数据比对以确定变更数据的变更地址,完成变更数据的校对;步骤s3、将所述变更前的数据和所述变更数据发送至压缩模块,压缩模块对其压缩以生成压缩数据集;步骤s4、中控模块将所述压缩数据集进行标记后输送至对应备份数据库中的对应位置,其中,标记的内容包括压缩模块接收到数据的时间节点、本次数据变更的权限级别以及变更数据相对于变更前数据的变更地址;步骤s5、所述中控模块周期性的检测所述备份数据库,并根据备份数据库中的常
规数据库存储的数据的内存占比确定是否对对应的备份数据库中存储的所述压缩数据集进行滤除处理,当判定需要滤除时,中控模块滤除前一压缩数据集且保留后一压缩数据集并对滤除后的压缩数据集增加标记或中控模块仅保留前后相邻的所述压缩数据集中的变更数据且滤除前后相邻的所述压缩数据集中的其他数据并对滤除后的压缩数据集增加标记;步骤s6、当备份数据库中的常规数据库中标记有变更地址的变更数据占比大于预设占比时,所述中控模块进一步确定备份数据库内存扩容的判定方式。
7.进一步地,所述步骤s1中,所述主数据库包含若干分别用以存储对应权重级别的数据的分区,所述验证模块根据数据变更权重值c确定针对本次数据变更的权限级别的判定方式,设定,其中,α为权重评价系数,设定α=0.82,ni为对应权重级别的数据的分区内数据变更的字节数,i=1,2,3
……
n,n为主数据库中的总分区数,对于第i个分区,验证模块根据该分区所存储的数据的权重级别确定针对该分区的权重系数βi,设定βi∈(0.2,0.5,0.6,0.8),其中,0.2为一级权重级别的数据对应的分区的权重系数,0.5为二级权重级别的数据对应的分区的权重系数,0.6为三级权重级别的数据对应的分区的权重系数,0.8为四级权重级别的数据对应的分区的权重系数,其中:第一权限级别判定方式为所述验证模块确定本次数据变更的权限级别为一级权限;所述第一权限级别判定方式满足所述数据变更权重值小于第一预设数据变更权重值;第二权限级别判定方式为所述验证模块确定本次数据变更的权限级别为二级权限;所述第二权限级别判定方式满足所述数据变更权重值大于等于所述第一预设数据变更权重值且小于第二预设数据变更权重值,同时,变更的一级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设一级占比,若变更的一级权重级别的数据的字节数与变更数据的总字节数的占比小于预设一级占比,则权限级别降低至所述第一权限级别;第三权限级别判定方式为所述验证模块确定本次数据变更的权限级别为三级权限;所述第三权限级别判定方式满足所述数据变更权重值大于等于所述第二预设数据变更权重值且小于第三预设数据变更权重值,同时,变更的二级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设二级占比,若变更的二级权重级别的数据的字节数与变更数据的总字节数的占比小于预设二级占比,则权限级别降低至所述第二权限级别;第四权限级别判定方式为所述验证模块确定本次数据变更的权限级别为四级权限;所述第四权限级别判定方式满足所述数据变更权重值大于等于所述第三预设数据变更权重值且小于第四预设数据变更权重值,同时,变更的三级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设三级占比,若变更的三级权重级别的数据的字节数与变更数据的总字节数的占比小于预设三级占比,则权限级别降低至所述第三权限级别;第五权限级别判定方式为所述验证模块确定本次数据变更的权限级别为五级权限;所述第五权限级别判定方式满足所述数据变更权重值大于等于所述第四预设数据变更权重值,同时,变更的四级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设四级占比,若变更的四级权重级别的数据的字节数与变更数据的总字节数的占比小于预设四级占比,则权限级别降低至所述第四权限级别。
8.进一步地,所述步骤s4中,所述备份数据库包含常规数据库和权限数据库,所述中
控模块将数据存储至常规数据库的备份判定为常规备份,并将数据存储至权限数据库的备份判定为权限备份;当所述中控模块判定前次常规备份后经过预设时长时,启动所述校对模块,并按照所述步骤s2-步骤s4进行本次常规备份;当所述中控模块判定本次数据变更的权限级别大于等于预设权限级别时启动所述校对模块,并按照所述步骤s2-步骤s4进行本次权限备份。
9.进一步地,所述步骤s5中,所述中控模块根据所述常规数据库存储的数据的内存占比确定针对所述压缩数据集的滤除处理方式的判定,其中:第一判定方式为所述中控模块判定不滤除所述常规数据库中的所述压缩数据集;所述第一判定方式满足所述内存占比小于所述中控模块中设置的第一预设内存占比;第二判定方式为所述中控模块判定不滤除所述常规数据库中的所述压缩数据集,并根据所述常规数据库存储的数据的内存占比与所述第一预设占比的差值将相邻两次常规备份之间的预设时长增加至对应值;所述第二判定方式满足所述内存占比大于等于所述第一预设内存占比且小于所述中控模块中设置的第二预设内存占比,第一预设内存占比小于第二预设内存占比;第三判定方式为所述中控模块判定滤除所述常规数据库中的所述压缩数据集,并控制所述校对模块校对时间节点前后相邻的所述压缩数据集,中控模块滤除前一压缩数据集且保留后一压缩数据集,并对滤除后的压缩数据集增加标记;所述第三判定方式满足所述内存占比大于等于所述第二预设内存占比且小于所述中控模块中设置的第三预设内存占比,第二预设内存占比小于第三预设内存占比;第四判定方式为所述中控模块判定滤除所述常规数据库中的所述压缩数据集,并控制所述校对模块校对时间节点前后相邻的所述压缩数据集,中控模块仅保留前后相邻的所述压缩数据集中的变更数据,并滤除前后相邻的所述压缩数据集中的其他数据,中控模块对滤除后的压缩数据集增加标记,中控模块判定需要恢复时,中控模块从所述权限数据库中检索出与变更前压缩数据集相同的数据集作为针对该次变更数据的基准数据集;所述第四判定方式满足所述内存占比大于等于所述第三预设内存占比。
10.进一步地,所述中控模块在所述第二判定方式下计算所述常规数据库存储的数据的内存占比与所述第一预设占比的差值,并将该差值记为占比差值,中控模块根据占比差值确定针对所述相邻两次常规备份之间的预设时长的调节方式,其中:第一预设时长调节方式为所述中控模块使用第一预设时长调节系数将所述预设时长调节至第一预设时长;所述第一预设时长调节方式满足所述占比差值小于所述中控模块中设置的第一预设占比差值;第二预设时长调节方式为所述中控模块使用第二预设时长调节系数将所述预设时长调节至第二预设时长;所述第二预设时长调节方式满足所述占比差值大于等于所述第一预设占比差值且小于所述中控模块中设置的第二预设占比差值,第一预设占比差值小于第二预设占比差值;第三预设时长调节方式为所述中控模块使用第三预设时长调节系数将所述预设时长调节至第三预设时长;所述第三预设时长调节方式满足所述占比差值大于等于所述第二预设占比差值。
11.进一步地,所述中控模块在所述第四判定方式下判定是否将所述权限数据库中的压缩数据集判定为针对对应变更数据的基准数据集,对于单个压缩数据集,中控模块记录将该压缩数据集作为基准数据集的变更数据的数量并根据该数量确定是否能够将该压缩数据集判定为基准数据集的判定方式,其中:第一类判定方式为所述中控模块判定所述压缩数据集不符合预设标准,并判定所述压缩数据集不能作为基准数据集;所述第一类判定方式满足所述权限数据库中将该压缩数据集作为基准数据集的变更数据的数量小于等于所述中控模块中设置的预设数量;第二类判定方式为所述中控模块判定所述压缩数据集不符合预设标准,并判定所述压缩数据集作为基准数据集;所述第二类判定方式满足所述权限数据库中将该压缩数据集作为基准数据集的变更数据的数量大于所述预设数量。
12.进一步地,所述中控模块在第一预设条件下,将所述常规数据库与所述权限数据库中存储的所述压缩数据集进行比对,并将相同的压缩数据集命名为镜像数据集,中控模块根据镜像数据集与常规数据库中存储的压缩数据集的比值确定针对所述常规数据中压缩数据集的进一步的滤除方式,其中:第一滤除方式为所述中控模块判定不滤除所述常规数据中的镜像数据集;所述第一滤除方式满足所述镜像数据集与常规数据库中存储的压缩数据集的比值小于预设比值;第二滤除方式为所述中控模块判定滤除所述常规数据中的镜像数据集;所述第二滤除方式满足所述镜像数据集与常规数据库中存储的压缩数据集的比值大于等于预设比值;所述第一预设条件满足所述备份数据库的数据存储内存大于预设存储内存。
13.进一步地,所述步骤s6中,所述中控模块根据所述常规数据库中标记有变更地址的变更数据占比确定针对所述备份数据库内存扩容的判定方式,其中:第一扩容判定方式为所述中控模块判定所述备份数据库内存符合预设标准,并不对所述备份数据库内存进行扩容;所述第一扩容判定方式满足所述变更数据占比小于等于所述中控模块中设置的预设变更数据占比;第二扩容判定方式为所述中控模块判定所述备份数据库内存不符合预设标准,并根据所述变更数据占比与预设变更数据占比的差值将所述备份数据库内存扩容至对应值;所述第二扩容判定方式满足所述变更数据占比大于所述中控模块中设置的预设变更数据占比。
14.进一步地,所述中控模块在所述第二扩容判定方式下计算所述变更数据占比与所述预设变更数据占比的差值,并将该差值记为扩容差值,中控模块根据扩容差值确定针对所述备份数据库内存扩容的调节方式,其中:第一内存扩容调节方式为所述中控模块使用第一扩容调节系数将所述备份数据库内存扩容至对应值;所述第一内存扩容调节方式满足所述扩容差值小于所述中控模块中设置的第一预设扩容差值;第二内存扩容调节方式为所述中控模块使用第二扩容调节系数将所述备份数据库内存扩容至对应值;所述第二内存扩容调节方式满足所述扩容差值大于等于所述第一预设扩容差值且小于所述中控模块中设置的第二预设扩容差值,第一预设扩容差值小于第二预设扩容差值;
第三内存扩容调节方式为所述中控模块使用第三扩容调节系数将所述备份数据库内存扩容至对应值;所述第三内存扩容调节方式满足所述扩容差值大于等于所述第二预设扩容差值。
15.另一方面,本发明还提供一种基于快照技术的数据库备份方法的数据库备份系统,其特征在于,包括:主数据库,用以存储数据;验证模块,其与所述主数据库相连,用以确定单次主数据库内数据变更的权限级别;校对模块,其与所述验证模块相连,用以复制所述主数据库中变更前的数据并校对变更后的数据与变更前的数据以确定变更数据的变更地址;压缩模块,其与所述校对模块相连,用以压缩变更前的数据和变更后的数据以生成压缩数据集;备份数据库,其与所述压缩模块相连,其包括用以存储备份时长达到与预设时长时备份的所述压缩数据集的常规数据库和用以存储权限级别大于等于预设权限级别时备份的压缩数据集的权限数据库;中控模块,其分别与所述主数据库、所述验证模块、所述校对模块、所述压缩模块以及所述备份数据库相连,用以将所述压缩数据集进行标记后输送至对应的备份数据库的对应位置,用以周期性的检测所述备份数据库并对压缩数据集进行滤除处理,以及,用以确定备份数据库内存扩容的判定方式。
16.与现有技术相比,本发明的有益效果在于,发明提供的一种基于快照技术的数据库备份方法包括步骤s1、主数据库接收到数据变更指令,验证模块确定本次变更的权限级别;步骤s2、启动校对模块并复制所述主数据库中变更前的数据,确定变更数据的变更地址;步骤s3、将所述变更前的数据和所述变更数据发送至压缩模块,压缩模块对其压缩以生成压缩数据集;步骤s4、中控模块将所述压缩数据集进行标记后输送至对应备份数据库中的对应位置;步骤s5、中控模块周期性的检测所述备份数据库,并判定是否滤除处理;步骤s6、中控模块进一步确定备份数据库内存扩容的判定方式。解决了备份数据库存储内容不精确且冗余数据过多,浪费备份存储空间的问题。
17.进一步地,本发明将主数据库分成了若干分别用以存储对应权重级别的数据的分区,并引入了数据变更权重值,验证模块根据数据变更权重值确定了对单词变更数据的权限级别的判定,从而精准的定义并划分了单次数据变更的数据权限的等级,对于重要的数据和非重要数据分别进行不同的备份。
18.进一步地,本发明将备份数据库分为常规数据库和权限数据库,当到达预设时间时进行常规备份,当变更的权限级别大于等于预设权限级别时进行权限备份,对重要数据进行权限备份,保证了数据的安全性。
19.进一步地,当中控模块根据所述常规数据库存储的数据的内存占比确定针对所述是否需要对常规数据库中的压缩数据集进行滤除,通过升高相邻两次常规备份之间的预设时长、滤除前一压缩数据集且保留后一压缩数据集并对滤除后的压缩数据集增加标记或者仅保留前后相邻的所述压缩数据集中的变更数据,并滤除前后相邻的所述压缩数据集中的其他数据,从而优化存储数据,解决备份数据库内存不足的问题。
20.进一步地,当常规数据库存储的数据的内存占比过高时,中控模块增大相邻两次常规备份之间的预设时长,从而在预设时间内减少数据备份的次数,从而解决了常规数据库存储内存不足的问题。
21.进一步地,对于仅保留前后相邻的所述压缩数据集中的变更数据,并滤除前后相邻的所述压缩数据集中的其他数据的情况,在需要恢复时,中控模块从所述权限数据库中检索出与变更前压缩数据集相同的数据集作为针对该次变更数据的基准数据集,本发明设置了基准数据集的判定方法,从而精准的调出基准数据集。
22.进一步地,当整个备份数据库的数据存储内存大于预设存储内存时,中控模块将备份数据库中的常规数据库与所述权限数据库中存储的所述压缩数据集进行比对并在需要时将内容相同的数据集删除,从而进一步优化和节省了空间。
23.进一步地,当备份数据库的存储达到极限时,中控模块根据变更数据占比进一步确定是否需要对其进行扩容,从而解决了备份数据库存储空间不足的问题。
24.进一步地,当备份数据库需要扩容时,中控模块根据扩容差值将备份数据库的存储内存扩容至对应值,从而精准的实现了备份数据库的内存的扩容。
25.进一步地,本发明提供的一种基于快照技术的数据库备份方法的数据库备份系统,该系统包括主数据库,验证模块,用以复制所述主数据库中变更前的数据并校对变更后的数据与变更前的数据以确定变更数据的变更地址的校对模块,压缩模块,备份数据库,和用以将所述压缩数据集进行标记后输送至对应的备份数据库的对应位置,用以周期性的检测所述备份数据库并对压缩数据集进行滤除处理,以及,用以确定备份数据库内存扩容的判定方式的主控模块,通过快照技术精准的实现了数据的备份,且备份过程中优化了数据集的大小,在保证备份数据精准度的基础上节约了备份存储的空间,最终解决了备份数据库存储内容不精确且冗余数据过多,浪费备份存储空间的问题。
附图说明
26.图1为本发明所述基于快照技术的数据库备份方法的流程图;图2为本发明所述基于快照技术的数据库备份系统的结构示意图;图3为本发明所述压缩数据集的滤除处理方式的判定的流程图;图4为本发明所述相邻两次常规备份之间的预设时长的调节方式的流程图。
具体实施方式
27.为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
28.需要指出的是在本实施例中的数据均为通过本发明所述备份系统在进行本次备份前三个月的历史检测数据以及对应的历史检测结果中综合分析评定得出。本发明所述备份系统在本次备份前根据前三个月中累计进行的2163次备份中对应的数据变更的权限级别,数据的校对,存储的位置,备份数据库的内存占比情况综合确定针对本次备份的各项预设参数标准的数值。本领域的技术人员可以理解的是,本发明所述系统针对单项上述参数的确定方式可以为根据数据分布选取占比最高的数值作为预设标准参数、使用加权求和以将求得的数值作为预设标准参数、将各历史数据代入至特定公式并将利用该公式求得的数
值作为预设标准参数或其他选取方式,只要满足本发明所述系统能够通过获取的数值明确界定单项判定过程中的不同特定情况即可。
29.请参阅图1、图2、图3以及图4所示,其分别本发明所述基于快照技术的数据库备份方法的流程图;所述基于快照技术的数据库备份系统的流程图;所述压缩数据集的滤除处理方式的判定的流程图;所述相邻两次常规备份之间的预设时长的调节方式的流程图。
30.本发明实施例基于快照技术的数据库备份方法及系统一方面,本发明提供一种基于快照技术的数据库备份方法,包括:步骤s1、当主数据库接收到数据变更指令时启动验证模块,验证模块确定本次变更的权限级别;步骤s2、启动校对模块并复制所述主数据库中变更前的数据,将变更后的数据与变更前的数据比对以确定变更数据的变更地址,完成变更数据的校对;步骤s3、将所述变更前的数据和所述变更数据发送至压缩模块,压缩模块对其压缩以生成压缩数据集;步骤s4、中控模块将所述压缩数据集进行标记后输送至对应备份数据库中的对应位置,其中,标记的内容包括压缩模块接收到数据的时间节点、本次数据变更的权限级别以及变更数据相对于变更前数据的变更地址;步骤s5、所述中控模块周期性的检测所述备份数据库,并根据备份数据库中的常规数据库存储的数据的内存占比确定是否对对应的备份数据库中存储的所述压缩数据集进行滤除处理,当判定需要滤除时,中控模块滤除前一压缩数据集且保留后一压缩数据集并对滤除后的压缩数据集增加标记或中控模块仅保留前后相邻的所述压缩数据集中的变更数据且滤除前后相邻的所述压缩数据集中的其他数据并对滤除后的压缩数据集增加标记;步骤s6、当备份数据库中的常规数据库中标记有变更地址的变更数据占比大于预设占比70%时,所述中控模块进一步确定备份数据库内存扩容的判定方式。
31.进一步地,所述步骤s1中,所述主数据库包含若干分别用以存储对应权重级别的数据的分区,所述验证模块根据数据变更权重值c确定针对本次数据变更的权限级别的判定方式,设定,其中,α为权重评价系数,设定α=0.82,ni为对应权重级别的数据的分区内数据变更的字节数,i=1,2,3
……
n,n为主数据库中的总分区数,对于第i个分区,验证模块根据该分区所存储的数据的权重级别确定针对该分区的权重系数βi,设定βi∈(0.2,0.5,0.6,0.8),其中,0.2为一级权重级别的数据对应的分区的权重系数,0.5为二级权重级别的数据对应的分区的权重系数,0.6为三级权重级别的数据对应的分区的权重系数,0.8为四级权重级别的数据对应的分区的权重系数,其中:第一权限级别判定方式为所述验证模块确定本次数据变更的权限级别为一级权限;所述第一权限级别判定方式满足所述数据变更权重值小于第一预设数据变更权重值56.58
×
103;第二权限级别判定方式为所述验证模块确定本次数据变更的权限级别为二级权限;所述第二权限级别判定方式满足所述数据变更权重值大于等于所述第一预设数据变更
权重值且小于第二预设数据变更权重值112.25
×
103,同时,变更的一级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设一级占比65%,若变更的一级权重级别的数据的字节数与变更数据的总字节数的占比小于预设一级占比,则权限级别降低至所述第一权限级别;第三权限级别判定方式为所述验证模块确定本次数据变更的权限级别为三级权限;所述第三权限级别判定方式满足所述数据变更权重值大于等于所述第二预设数据变更权重值且小于第三预设数据变更权重值185.23
×
103,同时,变更的二级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设二级占比71%,若变更的二级权重级别的数据的字节数与变更数据的总字节数的占比小于预设二级占比,则权限级别降低至所述第二权限级别;第四权限级别判定方式为所述验证模块确定本次数据变更的权限级别为四级权限;所述第四权限级别判定方式满足所述数据变更权重值大于等于所述第三预设数据变更权重值且小于第四预设数据变更权重值289.33
×
103,同时,变更的三级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设三级占比75%,若变更的三级权重级别的数据的字节数与变更数据的总字节数的占比小于预设三级占比,则权限级别降低至所述第三权限级别;第五权限级别判定方式为所述验证模块确定本次数据变更的权限级别为五级权限;所述第五权限级别判定方式满足所述数据变更权重值大于等于所述第四预设数据变更权重值,同时,变更的四级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设四级占比80%,若变更的四级权重级别的数据的字节数与变更数据的总字节数的占比小于预设四级占比,则权限级别降低至所述第四权限级别。
32.进一步地,所述步骤s4中,所述备份数据库包含常规数据库和权限数据库,所述中控模块将数据存储至常规数据库的备份判定为常规备份,并将数据存储至权限数据库的备份判定为权限备份;当所述中控模块判定前次常规备份后经过预设时长6h时,启动所述校对模块,并按照所述步骤s2-步骤s4进行本次常规备份;当所述中控模块判定本次数据变更的权限级别大于等于第三权限级别时启动所述校对模块,并按照所述步骤s2-步骤s4进行本次权限备份。
33.进一步地,所述步骤s5中,所述中控模块根据所述常规数据库存储的数据的内存占比确定针对所述压缩数据集的滤除处理方式的判定,其中:第一判定方式为所述中控模块判定不滤除所述常规数据库中的所述压缩数据集;所述第一判定方式满足所述内存占比小于所述中控模块中设置的第一预设内存占比60%;第二判定方式为所述中控模块判定不滤除所述常规数据库中的所述压缩数据集,并根据所述常规数据库存储的数据的内存占比与所述第一预设占比的差值将相邻两次常规备份之间的预设时长6h增加至对应值;所述第二判定方式满足所述内存占比大于等于所述第一预设内存占比且小于所述中控模块中设置的第二预设内存占比70%,第一预设内存占比小于第二预设内存占比;第三判定方式为所述中控模块判定滤除所述常规数据库中的所述压缩数据集,并控制所述校对模块校对时间节点前后相邻的所述压缩数据集,中控模块滤除前一压缩数据
集且保留后一压缩数据集,并对滤除后的压缩数据集增加标记;所述第三判定方式满足所述内存占比大于等于所述第二预设内存占比且小于所述中控模块中设置的第三预设内存占比80%,第二预设内存占比小于第三预设内存占比;第四判定方式为所述中控模块判定滤除所述常规数据库中的所述压缩数据集,并控制所述校对模块校对时间节点前后相邻的所述压缩数据集,中控模块仅保留前后相邻的所述压缩数据集中的变更数据,并滤除前后相邻的所述压缩数据集中的其他数据,中控模块对滤除后的压缩数据集增加标记,中控模块判定需要恢复时,中控模块从所述权限数据库中检索出与变更前压缩数据集相同的数据集作为针对该次变更数据的基准数据集;所述第四判定方式满足所述内存占比大于等于所述第三预设内存占比。
34.进一步地,所述中控模块在所述第二判定方式下计算所述常规数据库存储的数据的内存占比与所述第一预设占比的差值,并将该差值记为占比差值,中控模块根据占比差值确定针对所述相邻两次常规备份之间的预设时长的调节方式,其中:第一预设时长调节方式为所述中控模块使用第一预设时长调节系数1.1将所述预设时长调节至第一预设时长;所述第一预设时长调节方式满足所述占比差值小于所述中控模块中设置的第一预设占比差值3.2;第二预设时长调节方式为所述中控模块使用第二预设时长调节系数1.2将所述预设时长调节至第二预设时长;所述第二预设时长调节方式满足所述占比差值大于等于所述第一预设占比差值且小于所述中控模块中设置的第二预设占比差值6.5,第一预设占比差值小于第二预设占比差值;第三预设时长调节方式为所述中控模块使用第三预设时长调节系数1.4将所述预设时长调节至第三预设时长;所述第三预设时长调节方式满足所述占比差值大于等于所述第二预设占比差值。
35.进一步地,所述中控模块在所述第四判定方式下判定是否将所述权限数据库中的压缩数据集判定为针对对应变更数据的基准数据集,对于单个压缩数据集,中控模块记录将该压缩数据集作为基准数据集的变更数据的数量并根据该数量确定是否能够将该压缩数据集判定为基准数据集的判定方式,其中:第一类判定方式为所述中控模块判定所述压缩数据集不符合预设标准,并判定所述压缩数据集不能作为基准数据集;所述第一类判定方式满足所述权限数据库中将该压缩数据集作为基准数据集的变更数据的数量小于等于所述中控模块中设置的预设数量5;第二类判定方式为所述中控模块判定所述压缩数据集不符合预设标准,并判定所述压缩数据集作为基准数据集;所述第二类判定方式满足所述权限数据库中将该压缩数据集作为基准数据集的变更数据的数量大于所述预设数量。
36.进一步地,所述中控模块在第一预设条件下,将所述常规数据库与所述权限数据库中存储的所述压缩数据集进行比对,并将相同的压缩数据集命名为镜像数据集,中控模块根据镜像数据集与常规数据库中存储的压缩数据集的比值确定针对所述常规数据中压缩数据集的进一步的滤除方式,其中:第一滤除方式为所述中控模块判定不滤除所述常规数据中的镜像数据集;所述第一滤除方式满足所述镜像数据集与常规数据库中存储的压缩数据集的比值小于预设比值20%;
第二滤除方式为所述中控模块判定滤除所述常规数据中的镜像数据集;所述第二滤除方式满足所述镜像数据集与常规数据库中存储的压缩数据集的比值大于等于预设比值;所述第一预设条件满足所述备份数据库的数据存储内存大于预设存储内存90%。
37.进一步地,所述步骤s6中,所述中控模块根据所述常规数据库中标记有变更地址的变更数据占比确定针对所述备份数据库内存扩容的判定方式,其中:第一扩容判定方式为所述中控模块判定所述备份数据库内存符合预设标准,并不对所述备份数据库内存进行扩容;所述第一扩容判定方式满足所述变更数据占比小于等于所述中控模块中设置的预设变更数据占比70%;第二扩容判定方式为所述中控模块判定所述备份数据库内存不符合预设标准,并根据所述变更数据占比与预设变更数据占比的差值将所述备份数据库内存扩容至对应值;所述第二扩容判定方式满足所述变更数据占比大于所述中控模块中设置的预设变更数据占比。
38.进一步地,所述中控模块在所述第二扩容判定方式下计算所述变更数据占比与所述预设变更数据占比的差值,并将该差值记为扩容差值,中控模块根据扩容差值确定针对所述备份数据库内存扩容的调节方式,其中:第一内存扩容调节方式为所述中控模块使用第一扩容调节系数1.05将所述备份数据库内存扩容至对应值;所述第一内存扩容调节方式满足所述扩容差值小于所述中控模块中设置的第一预设扩容差值10%;第二内存扩容调节方式为所述中控模块使用第二扩容调节系数1.08将所述备份数据库内存扩容至对应值;所述第二内存扩容调节方式满足所述扩容差值大于等于所述第一预设扩容差值且小于所述中控模块中设置的第二预设扩容差值15%,第一预设扩容差值小于第二预设扩容差值;第三内存扩容调节方式为所述中控模块使用第三扩容调节系数1.10将所述备份数据库内存扩容至对应值;所述第三内存扩容调节方式满足所述扩容差值大于等于所述第二预设扩容差值。
39.另一方面,本发明还提供一种基于快照技术的数据库备份方法的数据库备份系统,其特征在于,包括:主数据库,用以存储数据;验证模块,其与所述主数据库相连,用以确定单次主数据库内数据变更的权限级别;校对模块,其与所述验证模块相连,用以复制所述主数据库中变更前的数据并校对变更后的数据与变更前的数据以确定变更数据的变更地址;压缩模块,其与所述校对模块相连,用以压缩变更前的数据和变更后的数据以生成压缩数据集;备份数据库,其与所述压缩模块相连,其包括用以存储备份时长达到与预设时长时备份的所述压缩数据集的常规数据库和用以存储权限级别大于等于第三权限级别时备份的压缩数据集的权限数据库;中控模块,其分别与所述主数据库、所述验证模块、所述校对模块、所述压缩模块
以及所述备份数据库相连,用以将所述压缩数据集进行标记后输送至对应的备份数据库的对应位置,用以周期性的检测所述备份数据库并对压缩数据集进行滤除处理,以及,用以确定备份数据库内存扩容的判定方式。
实施例1
40.当主数据库接收到数据变更指令时启动验证模块,验证模块确定本次变更的权限级别为第四权限级别;则中控模块判定本次数据变更的权限级别大于等于第三权限级别时启动所述校对模块,将变更前的数据和变更的数据发动到压缩模块,生成压缩数据集,中控模块将所述压缩数据集标记为:20230428-{05-m3k6}-r4,其中20230428为时间节点,{05-m3k6}为变更地址,r4为第四权限级别,中控模块将所述压缩数据集进行标记后输送至对应备份数据库中的权限数据库中,完成数据的存储。
41.当所述中控模块判定前次常规备份后经过预设时长6h时,启动所述校对模块,若该时间未发生数据的变更,则将上次变更后的数据发动到压缩模块,生成压缩数据集,中控模块将所述压缩数据集标记为:20230428-{00-m0k0}-r0,其中20230428为本次压缩的时间节点,{00-m0k0}为未变更地址,r0为未变更数据,中控模块将所述压缩数据集进行标记后输送至对应备份数据库中的常规数据库中,完成数据的存储。
实施例2
42.当常规数据库存储的数据的内存占比超过第三预设内存占比80%时,中控模块仅保留前后相邻的所述压缩数据集中的变更数据,并滤除前后相邻的所述压缩数据集中的其他数据,中控模块对滤除后的压缩数据集增加标记,即2023xxxx-{05-m3k6}-r4-d,中控模块判定需要恢复时,中控模块从所述权限数据库中检索出与变更前压缩数据集相同的数据集作为针对该次变更数据的基准数据集,在确定变更数据的基准数据集时,所述权限数据库中将该压缩数据集作为基准数据集的变更数据的数量大于所述预设数量5时,该压缩数据集作为基准数据集,与所述滤除后的压缩数据集结合,生成恢复的数据集。
43.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
44.以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于快照技术的数据库备份方法,其特征在于,包括:步骤s1、当主数据库接收到数据变更指令时启动验证模块,验证模块确定本次变更的权限级别;步骤s2、启动校对模块并复制所述主数据库中变更前的数据,将变更后的数据与变更前的数据比对以确定变更数据的变更地址,完成变更数据的校对;步骤s3、将所述变更前的数据和所述变更数据发送至压缩模块,压缩模块对其压缩以生成压缩数据集;步骤s4、中控模块将所述压缩数据集进行标记后输送至对应备份数据库中的对应位置,其中,标记的内容包括压缩模块接收到数据的时间节点、本次数据变更的权限级别以及变更数据相对于变更前数据的变更地址;步骤s5、所述中控模块周期性的检测所述备份数据库,并根据备份数据库中的常规数据库存储的数据的内存占比确定是否对对应的备份数据库中存储的所述压缩数据集进行滤除处理,当判定需要滤除时,中控模块滤除前一压缩数据集且保留后一压缩数据集并对滤除后的压缩数据集增加标记或中控模块仅保留前后相邻的所述压缩数据集中的变更数据且滤除前后相邻的所述压缩数据集中的其他数据并对滤除后的压缩数据集增加标记;步骤s6、当备份数据库中的常规数据库中标记有变更地址的变更数据占比大于预设占比时,所述中控模块进一步确定备份数据库内存扩容的判定方式。2.根据权利要求1所述的基于快照技术的数据库备份方法,其特征在于,所述步骤s1中,所述主数据库包含若干分别用以存储对应权重级别的数据的分区,所述验证模块根据数据变更权重值c确定针对本次数据变更的权限级别的判定方式,设定,其中,α为权重评价系数,设定α=0.82,n
i
为对应权重级别的数据的分区内数据变更的字节数,i=1,2,3
……
n,n为主数据库中的总分区数,对于第i个分区,验证模块根据该分区所存储的数据的权重级别确定针对该分区的权重系数βi,设定βi∈(0.2,0.5,0.6,0.8),其中,0.2为一级权重级别的数据对应的分区的权重系数,0.5为二级权重级别的数据对应的分区的权重系数,0.6为三级权重级别的数据对应的分区的权重系数,0.8为四级权重级别的数据对应的分区的权重系数,其中:第一权限级别判定方式为所述验证模块确定本次数据变更的权限级别为一级权限;所述第一权限级别判定方式满足所述数据变更权重值小于第一预设数据变更权重值;第二权限级别判定方式为所述验证模块确定本次数据变更的权限级别为二级权限;所述第二权限级别判定方式满足所述数据变更权重值大于等于所述第一预设数据变更权重值且小于第二预设数据变更权重值,同时,变更的一级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设一级占比,若变更的一级权重级别的数据的字节数与变更数据的总字节数的占比小于预设一级占比,则权限级别降低至所述第一权限级别;第三权限级别判定方式为所述验证模块确定本次数据变更的权限级别为三级权限;所述第三权限级别判定方式满足所述数据变更权重值大于等于所述第二预设数据变更权重值且小于第三预设数据变更权重值,同时,变更的二级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设二级占比,若变更的二级权重级别的数据的字节数与变
更数据的总字节数的占比小于预设二级占比,则权限级别降低至所述第二权限级别;第四权限级别判定方式为所述验证模块确定本次数据变更的权限级别为四级权限;所述第四权限级别判定方式满足所述数据变更权重值大于等于所述第三预设数据变更权重值且小于第四预设数据变更权重值,同时,变更的三级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设三级占比,若变更的三级权重级别的数据的字节数与变更数据的总字节数的占比小于预设三级占比,则权限级别降低至所述第三权限级别;第五权限级别判定方式为所述验证模块确定本次数据变更的权限级别为五级权限;所述第五权限级别判定方式满足所述数据变更权重值大于等于所述第四预设数据变更权重值,同时,变更的四级权重级别的数据的字节数与变更数据的总字节数的占比大于等于预设四级占比,若变更的四级权重级别的数据的字节数与变更数据的总字节数的占比小于预设四级占比,则权限级别降低至所述第四权限级别。3.根据权利要求1所述的基于快照技术的数据库备份方法,其特征在于,所述步骤s4中,所述备份数据库包含常规数据库和权限数据库,所述中控模块将数据存储至常规数据库的备份判定为常规备份,并将数据存储至权限数据库的备份判定为权限备份;当所述中控模块判定前次常规备份后经过预设时长时,启动所述校对模块,并按照所述步骤s2-步骤s4进行本次常规备份;当所述中控模块判定本次数据变更的权限级别大于等于预设权限级别时启动所述校对模块,并按照所述步骤s2-步骤s4进行本次权限备份。4.根据权利要求3所述的基于快照技术的数据库备份方法,其特征在于,所述步骤s5中,所述中控模块根据所述常规数据库存储的数据的内存占比确定针对所述压缩数据集的滤除处理方式的判定,其中:第一判定方式为所述中控模块判定不滤除所述常规数据库中的所述压缩数据集;所述第一判定方式满足所述内存占比小于所述中控模块中设置的第一预设内存占比;第二判定方式为所述中控模块判定不滤除所述常规数据库中的所述压缩数据集,并根据所述常规数据库存储的数据的内存占比与所述第一预设占比的差值将相邻两次常规备份之间的预设时长增加至对应值;所述第二判定方式满足所述内存占比大于等于所述第一预设内存占比且小于所述中控模块中设置的第二预设内存占比,第一预设内存占比小于第二预设内存占比;第三判定方式为所述中控模块判定滤除所述常规数据库中的所述压缩数据集,并控制所述校对模块校对时间节点前后相邻的所述压缩数据集,中控模块滤除前一压缩数据集且保留后一压缩数据集,并对滤除后的压缩数据集增加标记;所述第三判定方式满足所述内存占比大于等于所述第二预设内存占比且小于所述中控模块中设置的第三预设内存占比,第二预设内存占比小于第三预设内存占比;第四判定方式为所述中控模块判定滤除所述常规数据库中的所述压缩数据集,并控制所述校对模块校对时间节点前后相邻的所述压缩数据集,中控模块仅保留前后相邻的所述压缩数据集中的变更数据,并滤除前后相邻的所述压缩数据集中的其他数据,中控模块对滤除后的压缩数据集增加标记,中控模块判定需要恢复时,中控模块从所述权限数据库中检索出与变更前压缩数据集相同的数据集作为针对该次变更数据的基准数据集;所述第四判定方式满足所述内存占比大于等于所述第三预设内存占比。
5.根据权利要求4所述的基于快照技术的数据库备份方法,其特征在于,所述中控模块在所述第二判定方式下计算所述常规数据库存储的数据的内存占比与所述第一预设占比的差值,并将该差值记为占比差值,中控模块根据占比差值确定针对所述相邻两次常规备份之间的预设时长的调节方式,其中:第一预设时长调节方式为所述中控模块使用第一预设时长调节系数将所述预设时长调节至第一预设时长;所述第一预设时长调节方式满足所述占比差值小于所述中控模块中设置的第一预设占比差值;第二预设时长调节方式为所述中控模块使用第二预设时长调节系数将所述预设时长调节至第二预设时长;所述第二预设时长调节方式满足所述占比差值大于等于所述第一预设占比差值且小于所述中控模块中设置的第二预设占比差值,第一预设占比差值小于第二预设占比差值;第三预设时长调节方式为所述中控模块使用第三预设时长调节系数将所述预设时长调节至第三预设时长;所述第三预设时长调节方式满足所述占比差值大于等于所述第二预设占比差值。6.根据权利要求4所述的基于快照技术的数据库备份方法,其特征在于,所述中控模块在所述第四判定方式下判定是否将所述权限数据库中的压缩数据集判定为针对对应变更数据的基准数据集,对于单个压缩数据集,中控模块记录将该压缩数据集作为基准数据集的变更数据的数量并根据该数量确定是否能够将该压缩数据集判定为基准数据集的判定方式,其中:第一类判定方式为所述中控模块判定所述压缩数据集不符合预设标准,并判定所述压缩数据集不能作为基准数据集;所述第一类判定方式满足所述权限数据库中将该压缩数据集作为基准数据集的变更数据的数量小于等于所述中控模块中设置的预设数量;第二类判定方式为所述中控模块判定所述压缩数据集不符合预设标准,并判定所述压缩数据集作为基准数据集;所述第二类判定方式满足所述权限数据库中将该压缩数据集作为基准数据集的变更数据的数量大于所述预设数量。7.根据权利要求1所述的基于快照技术的数据库备份方法,其特征在于,所述中控模块在第一预设条件下,将所述常规数据库与所述权限数据库中存储的所述压缩数据集进行比对,并将相同的压缩数据集命名为镜像数据集,中控模块根据镜像数据集与常规数据库中存储的压缩数据集的比值确定针对所述常规数据中压缩数据集的进一步的滤除方式,其中:第一滤除方式为所述中控模块判定不滤除所述常规数据中的镜像数据集;所述第一滤除方式满足所述镜像数据集与常规数据库中存储的压缩数据集的比值小于预设比值;第二滤除方式为所述中控模块判定滤除所述常规数据中的镜像数据集;所述第二滤除方式满足所述镜像数据集与常规数据库中存储的压缩数据集的比值大于等于预设比值;所述第一预设条件满足所述备份数据库的数据存储内存大于预设存储内存。8.根据权利要求1所述的基于快照技术的数据库备份方法,其特征在于,所述步骤s6中,所述中控模块根据所述常规数据库中标记有变更地址的变更数据占比确定针对所述备份数据库内存扩容的判定方式,其中:第一扩容判定方式为所述中控模块判定所述备份数据库内存符合预设标准,并不对所
述备份数据库内存进行扩容;所述第一扩容判定方式满足所述变更数据占比小于等于所述中控模块中设置的预设变更数据占比;第二扩容判定方式为所述中控模块判定所述备份数据库内存不符合预设标准,并根据所述变更数据占比与预设变更数据占比的差值将所述备份数据库内存扩容至对应值;所述第二扩容判定方式满足所述变更数据占比大于所述中控模块中设置的预设变更数据占比。9.根据权利要求8所述的基于快照技术的数据库备份方法,其特征在于,所述中控模块在所述第二扩容判定方式下计算所述变更数据占比与所述预设变更数据占比的差值,并将该差值记为扩容差值,中控模块根据扩容差值确定针对所述备份数据库内存扩容的调节方式,其中:第一内存扩容调节方式为所述中控模块使用第一扩容调节系数将所述备份数据库内存扩容至对应值;所述第一内存扩容调节方式满足所述扩容差值小于所述中控模块中设置的第一预设扩容差值;第二内存扩容调节方式为所述中控模块使用第二扩容调节系数将所述备份数据库内存扩容至对应值;所述第二内存扩容调节方式满足所述扩容差值大于等于所述第一预设扩容差值且小于所述中控模块中设置的第二预设扩容差值,第一预设扩容差值小于第二预设扩容差值;第三内存扩容调节方式为所述中控模块使用第三扩容调节系数将所述备份数据库内存扩容至对应值;所述第三内存扩容调节方式满足所述扩容差值大于等于所述第二预设扩容差值。10.一种使用权利要求1-9任一项权利要求的基于快照技术的数据库备份方法的数据库备份系统,其特征在于,包括:主数据库,用以存储数据;验证模块,其与所述主数据库相连,用以确定单次主数据库内数据变更的权限级别;校对模块,其与所述验证模块相连,用以复制所述主数据库中变更前的数据并校对变更后的数据与变更前的数据以确定变更数据的变更地址;压缩模块,其与所述校对模块相连,用以压缩变更前的数据和变更后的数据以生成压缩数据集;备份数据库,其与所述压缩模块相连,其包括用以存储备份时长达到与预设时长时备份的所述压缩数据集的常规数据库和用以存储权限级别大于等于预设权限级别时备份的压缩数据集的权限数据库;中控模块,其分别与所述主数据库、所述验证模块、所述校对模块、所述压缩模块以及所述备份数据库相连,用以将所述压缩数据集进行标记后输送至对应的备份数据库的对应位置,用以周期性的检测所述备份数据库并对压缩数据集进行滤除处理,以及,用以确定备份数据库内存扩容的判定方式。
技术总结
本发明涉及数据库技术领域,尤其涉及一种基于快照技术的数据库备份方法及系统,包括步骤s1、主数据库接收到数据变更指令,验证模块确定本次变更的权限级别;步骤s2、启动校对模块并复制所述主数据库中变更前的数据,确定变更数据的变更地址;步骤s3、将所述变更前的数据和所述变更数据发送至压缩模块,压缩模块对其压缩以生成压缩数据集;步骤s4、中控模块将所述压缩数据集进行标记后输送至对应备份数据库中的对应位置;步骤s5、中控模块周期性的检测所述备份数据库,并判定是否滤除处理;步骤s6、中控模块进一步确定备份数据库内存扩容的判定方式,解决了备份数据库存储内容不精确且冗余数据过多,浪费备份存储空间的问题。浪费备份存储空间的问题。浪费备份存储空间的问题。
技术研发人员:金树柏 罗玲
受保护的技术使用者:深圳市中科鼎创科技股份有限公司
技术研发日:2023.07.07
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种瓦楞纸板裁切机及其控制方法与流程 下一篇:分娩母猪饲喂控制系统及方法与流程