增量数据的备份方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36370385 阅读:20 留言:0更新日期:2023-01-18 09:28
本申请提出了一种增量数据的备份方法、装置、电子设备及存储介质,涉及数据处理领域。该方法包括:从非关系型数据库中批量导出文档的增量数据;对批量导出的增量数据进行分类,获取数据定义语言增量数据和数据操纵语言增量数据;按照类别将各类增量数据缓存至本地进程内存中的缓存池中;从缓存池中批量读取各类增量数据,并写入数据备份设备。本申请实施例中,通过分类定义增量数据的类型,方便数据管理,增强了数据的安全性,通过增加缓存池对各类增量数据进行缓存,实现批量读取增量数据写入数据备份设备,从而提高数据备份速度,缩小存储空间,降低备份成本,提高数据的安全性。提高数据的安全性。提高数据的安全性。

【技术实现步骤摘要】
增量数据的备份方法、装置、电子设备及存储介质


[0001]本申请涉及数据处理领域,尤其涉及一种增量数据的备份方法、装置、电子设备及存储介质。

技术介绍

[0002]在实际应用中,为了防止数据丢失,通常需要对数据进行备份。相关技术中,在需要处理的数据量较大时,单条导出增量数据的方法备份速度较慢。因此,如何提高增量数据的备份速度,已经成为重要的研究方向之一。

技术实现思路

[0003]本申请提供一种增量数据的备份方法、装置、电子设备及存储介质,以至少解决相关技术中存在的安全性差、备份速度慢以及成本高的技术问题。本申请的技术方案如下:。
[0004]第一方面,本申请实施例提出了一种增量数据的备份方法,包括:
[0005]从非关系型数据库中批量导出文档的增量数据;
[0006]对批量导出的增量数据进行分类,获取数据定义语言增量数据和数据操纵语言增量数据;
[0007]按照类别将各类增量数据缓存至本地进程内存中的缓存池中;
[0008]从缓存池中批量读取各类增量数据,并写入数据备份设备。
[0009]本申请实施例通过增加缓存池对增量数据进行缓存,实现批量读取增量数据写入数据备份设备,从而提高数据备份速度,缩小存储空间,降低备份成本,提高数据的安全性。
[0010]第二方面,本申请实施例提出了一种增量数据的备份装置,包括:
[0011]导出模块,用于从非关系型数据库中批量导出文档的增量数据;
[0012]分类模块,用于对批量导出的增量数据进行分类,获取数据定义语言增量数据和数据操纵语言增量数据;
[0013]缓存模块,用于按照类别将各类增量数据缓存至本地进程内存中的缓存池中;
[0014]写入模块,用于从缓存池中批量读取各类增量数据,并写入数据备份设备。
[0015]第三方面,本申请实施例提出了一种电子设备,包括:
[0016]至少一个处理器;以及
[0017]与至少一个处理器通信连接的存储器;其中,
[0018]存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请第一方面实施例中提供的增量数据的备份方法。
[0019]第四方面,本申请实施例提出了一种计算机可读存储介质,其上存储有计算机指令,其中,计算机指令用于使计算机执行根据本申请第一方面实施例中提供的增量数据的备份方法。
[0020]第五方面,本申请实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本申请第一方面实施例中提供的增量数据的备份方法。
附图说明
[0021]图1是本申请一个实施例的增量数据的备份方法的流程图;
[0022]图2是本申请一个实施例的增量数据的备份方法的示意图;
[0023]图3是本申请一个实施例的增量数据的备份方法的流程图;
[0024]图4是本申请一个实施例的增量数据的备份方法的流程图;
[0025]图5是本申请一个实施例的增量数据的备份方法的流程图;
[0026]图6是本申请一个实施例的增量数据的备份方法的示意图
[0027]图7是本申请一个实施例的增量数据的备份装置的结构框图;
[0028]图8是本申请一个实施例的电子设备的结构示意图。
具体实施方式
[0029]下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0030]在实际的工作中对于用户要求备份的数据情况有所不同,采取的备份方法也有所不同。有的用户为了提高数据安全性需要备份数据库中的所有数据,而有的用户只需要备份其中的一部分数据。从备份策略来讲,现在的备份可以分为四种:完全备份、增量备份、差异备份及累加备份,其中,增量备份即为只对增量数据进行备份,增量备份的备份速度较快、成本较低,因此一直被广泛使用。
[0031]非关系型数据库(MongoDB)是一个基于分布式文件存储的数据库,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,因此可以存储比较复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
[0032]下面结合附图来描述本申请实施例的增量数据的备份方法、装置、电子设备及存储介质。
[0033]图1是本申请一个实施例的增量数据的备份方法的流程图,如图1所示,该方法包括以下步骤:
[0034]S101,从非关系型数据库中批量导出文档的增量数据。
[0035]本申请实施例中,增量数据的备份方法可以由增量数据的备份装置执行,也可以为能实现该增量数据的备份方法的电子设备执行。
[0036]增量数据即为上一次备份后增加、改动的文档的数据,本申请实施例中,从非关系型数据库中批量导出用户需要备份的文档的增量数据,也就是说,在一次操作中从非关系型数据库导出多条文档的增量数据。相同时间段内,增量数据相比于全量数据占用空间更小,从而可以加快备份速度,降低备份成本。
[0037]可选地,为了保证数据同步,每次操作数据库,都会生成对应的一条或多条数据库操作日志(Oplog)即增量数据。Oplog里面包含操作的对象、操作的类型、操作的时间。
[0038]本申请实施例中,在从非关系型数据库中批量导出文档的增量数据之前,需要与非关系型数据库中存储增量数据所在节点之间建立长链接,通过该长链接从节点上批量导
出增量数据。在MangoDB数据库中隐节点(Hidden)为存储数据增量数据的节点,与该隐节点之间建立长链接。
[0039]S102,对批量导出的增量数据进行分类,获取数据定义语言增量数据和数据操纵语言增量数据。
[0040]可选地,对Oplog包括数据定义语言操作日志和数据操纵语言操作日志,即增量数据包括数据定义语言增量数据和数据操纵语言增量数据。在获取到增量数据后可以对增量数据行分类或筛选,以获取数据定义语言增量数据和数据操纵语言增量数据。
[0041]S103,按照类别将各类增量数据缓存至本地进程内存中的缓存池中。
[0042]本申请实施例中,本地进程内存中预先分配用于高速缓存增量数据的存储区域,也就是缓存池,利用缓存池来对批量导出的增量数据进行缓存,可以减少访问数据库的次数,降低磁盘的输入/输出(Input/Output,IO)次数,避免逐条导出增量数据带来的IO资源浪费,从而加快数据读取的速度,便于后续读取增量数据。
[0043]可选地,缓存池的存储空间至少需要满足存储一次批量导出的增量数据的数据量。实现中,缓存池的存储空间往往大于一次批量导出的增量数据的数据量。
[0044本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种增量数据的备份方法,其特征在于,包括:从非关系型数据库中批量导出文档的增量数据;对所述批量导出的增量数据进行分类,获取数据定义语言增量数据和数据操纵语言增量数据;按照类别将各类增量数据缓存至本地进程内存中的缓存池中;从所述缓存池中批量读取所述各类增量数据,并写入数据备份设备。2.根据权利要求1所述的方法,其特征在于,所述从所述缓存池中批量读取所述各类增量数据,包括:获取所述缓存池中缓存的所述增量数据的数据量;响应于所述数据量达到所述缓存池的最大承载量,则从所述缓存池中批量读取所述各类增量数据。3.根据权利要求2所述的方法,其特征在于,所述对所述批量导出的增量数据进行分类,包括:对所述批量导出的增量数据进行异常增量数据过滤,以获取目标增量数据,并对所述目标增量数据进行分类。4.根据权利要求1

3任一项所述的方法,其特征在于,所述从非关系型数据库中批量导出文档的增量数据之前,还包括:获取所述非关系型数据库中虚拟机的配置信息,并基于所述配置信息,确定所述缓存池的大小。5.根据权利要求1

3任一项所述的方法,其特征在于,所述从非关系型数据库中批量导出文档的增量数据之前,还包括:获取所述非关系型数据库应用的业务服务的属性信息;根据所述属性信息,确定所述缓存池的大小。6.根据权利要求1

3任一项所述的方法,其特征在于,所述从非关系型数据库中批量导出文档的增量数据,包括:获取所述非关系型数据库应用的业务服务的当前每秒操作次数并基于所述当前每秒操作次数确定需要批量导出的目标数据量;从所述非关系型数据库中按照所述目标数据量,批量导出所述增量数据。7.根据权利要求1

3任一项所述的方法,其特征在于,所述从非关系型数据库中批量导出文档的增量数据,包括:生成多个数据导出指令,其中,所述数据导出指令包括所述增量数据的时间戳范围;启动导出线程,由所述导出线程同步执行所述多个数据导出指令;针对每个所述数据导出指令,从所述非关系型数据库中导出处于所述时间戳范围内的所述增量数据。8.一种增量数据的备份装置,其特征在于,包括:导出模块,用于从非关系型数据库中批量导出文档的增量数据;分类模块,用于对所述批量导出的增量数据进行分类,获取数据定义语言增量数据和数据操纵语言增量数据;缓存模块,用于按照类别将各类增量数据缓存至本地...

【专利技术属性】
技术研发人员:陈青松
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1