数据快照方法、装置、设备及存储介质制造方法及图纸

技术编号:32431745 阅读:20 留言:0更新日期:2022-02-24 18:46
本申请公开了一种数据快照方法、装置、设备及存储介质,该方法包括:Canal组件将从数据库中读取的日志文件发送至分布式发布订阅消息系统kafka;kafka对所述日志文件写入对应的消息分区,生成订阅消息并发送至快照组件;当达到快照触发条件时,所述快照组件基于所述订阅消息对所述日志文件进行快照处理得到数据快照。该方案中快照组件能够直接基于kafka发送的订阅消息进行快照处理,使得生成数据快照的过程中不影响业务的正常进行,并且具备强大的容灾性,能够通过快照组件进行快照处理时的备份数据快速恢复得到任意时间点的数据切面数据。数据。数据。

【技术实现步骤摘要】
数据快照方法、装置、设备及存储介质


[0001]本专利技术一般涉及数据处理
,具体涉及一种数据快照方法、装置、设备及存储介质。

技术介绍

[0002]随着信息技术的不断发展,产生的数据量越来越多,更新也越来越快,这同时对数据处理及存储技术提出了很高的要求,需要进行数据快照处理,以实现某个时间节点的数据备份。数据快照是一种保留某一时刻数据映像的技术,其保留的映像称为快照。
[0003]目前,数据快照可以通过执行sql语句将指定表里面的所有数据备份到另一张表中,使得在新的表中形成执行sql命令时的数据备份,也可以通过MySQL数据库自带的备份文件系统dump工具,实现单库单表/单库多表/多库多表的数据快照备份。
[0004]然而,相关的快照处理方案在生成数据快照的时候,其他的业务操作无法正常进行,会对全时段不停机业务产生业务影响,并且生成的快照如果损坏会导致无法恢复,使得快照处理的容灾性较差。

技术实现思路

[0005]鉴于现有技术中的上述缺陷或不足,期望提供一种数据快照方法、装置、设备及存储介质。
[0006]第一方面,本申请提供了一种数据快照方法,该方法包括:
[0007]Canal组件将从数据库中读取的日志文件发送至分布式发布订阅消息系统kafka;
[0008]kafka将日志文件写入对应的消息分区,生成订阅消息并发送至快照组件;
[0009]当达到快照触发条件时,快照组件基于订阅消息对日志文件进行快照处理得到数据快照。
[0010]在其中一个实施例中,kafka将日志文件写入对应的消息分区,生成订阅消息并发送至快照组件,包括:
[0011]kafka根据预先配置的分片规则对日志文件进行哈希处理,得到哈希值;
[0012]kafka按照哈希值将日志文件进行分区处理,存储至对应的消息分区;
[0013]kafka读取消息分区对应的日志文件,生成订阅消息;
[0014]kafka将订阅消息发送至快照组件。
[0015]在其中一个实施例中,快照组件基于订阅消息对日志文件进行快照处理得到数据快照,包括:
[0016]快照组件对订阅消息进行解析处理,得到与订阅消息对应的日志文件;
[0017]快照组件基于预设的配置文件,对日志文件进行快照处理得到数据快照。
[0018]在其中一个实施例中,快照组件包括至少一个业务处理组件和至少一个业务存储组件,快照组件基于预设的配置文件,对日志文件进行快照处理得到数据快照,包括:
[0019]快照组件基于预设的配置文件判断日志文件是否需要处理,配置文件包括针对相
同的日志文件进行不同业务处理条件下设置的配置参数;
[0020]当对日志文件需要处理时,获取至少一个业务处理组件中每个业务处理组件对应的业务类型;
[0021]基于业务类型对日志文件进行数据处理,得到每个业务处理组件对应的数据快照。
[0022]在其中一个实施例中,在快照组件基于预设的配置文件判断日志文件是否需要处理之后,该方法还包括:
[0023]当对日志文件不需要处理时,获取至少一个业务存储组件中每个业务存储组件对应的存储格式;
[0024]将所述日志文件按照所述存储格式进行处理,得到每个业务存储组件对应的数据快照。
[0025]在其中一个实施例中,快照组件还包括主节点组件,在kafka向快照组件发送订阅消息之后,该方法还包括:
[0026]基于订阅消息,将与订阅消息对应的日志文件存储至主节点组件中,以对日志文件进行数据备份。
[0027]在其中一个实施例中,在对日志文件进行数据备份之后,该方法还包括:
[0028]业务组件接收数据恢复请求,数据恢复请求包括数据恢复时间点和快照数据标识,业务组件为业务处理组件或业务存储组件;
[0029]业务组件基于快照数据标识从主节点组件中获取快照数据,快照数据包括数据集和每个消息分区对应的位置偏移量;
[0030]业务组件将数据集加载至工作表中,并重置每个消息分区对应的位置偏移量;
[0031]业务组件设置快照触发时间为数据恢复时间点,并从kafka中消费消息数据;
[0032]当达到快照触发时间时,业务组件停止消费kafka消息数据得到数据恢复时间点对应的数据快照。
[0033]第二方面,本申请提供了一种数据快照装置,该装置包括:
[0034]发送模块,用于Canal组件将从数据库中读取的日志文件发送至分布式发布订阅消息系统kafka;
[0035]分区模块,用于所述kafka将所述日志文件写入对应的partition消息分区,生成订阅消息并发送至快照组件;
[0036]快照生成模块,用于当达到快照触发时间时,所述快照组件基于所述订阅消息对所述日志文件进行快照处理得到数据快照。
[0037]第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如第一方面的数据快照方法。
[0038]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如第一方面的数据快照方法。
[0039]本申请实施例提供的数据快照方法、装置、设备及存储介质,通过Canal组件将从数据库中读取的日志文件发送至分布式发布订阅消息系统kafka,kafka将日志文件写入对应的消息分区,生成订阅消息并发送至快照组件,当达到快照触发条件时,快照组件基于订
阅消息对日志文件进行快照处理生成数据快照。该技术方案中快照组件能够直接基于kafka发送的订阅消息进行快照处理,使得生成数据快照的过程中不影响业务的正常进行,并且具备强大的容灾性,能够通过快照组件进行快照处理时的备份数据快速恢复得到任意时间点的数据切面数据。
附图说明
[0040]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0041]图1为本申请实施例提供的数据快照的系统架构示意图;
[0042]图2为本申请实施例提供的数据快照方法的流程示意图;
[0043]图3为本申请另一实施例提供的数据快照方法的流程示意图;
[0044]图4为本申请实施例提供的数据快照的结构示意图;
[0045]图5为本申请实施例提供的数据恢复方法的流程示意图;
[0046]图6为本申请实施例提供的数据恢复方法的结构示意图;
[0047]图7为本申请实施例提供的数据快照装置的结构示意图;
[0048]图8为本申请实施例提供的数据快照装置的结构示意图;
[0049]图9为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0050]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据快照方法,其特征在于,包括:Canal组件将从数据库中读取的日志文件发送至分布式发布订阅消息系统kafka;所述kafka将所述日志文件写入对应的消息分区,生成订阅消息并发送至快照组件;当达到快照触发条件时,所述快照组件基于所述订阅消息对所述日志文件进行快照处理得到数据快照。2.根据权利要求1所述的方法,其特征在于,所述kafka将所述日志文件写入对应的消息分区,生成订阅消息并发送至快照组件,包括:所述kafka根据预先配置的分片规则对日志文件进行哈希处理,得到哈希值;所述kafka按照哈希值将所述日志文件进行分区处理,存储至对应的消息分区;所述kafka读取所述消息分区对应的日志文件,生成订阅消息;所述kafka将所述订阅消息发送至所述快照组件。3.根据权利要求1所述的方法,其特征在于,所述快照组件基于所述订阅消息对所述日志文件进行快照处理得到数据快照,包括:所述快照组件对所述订阅消息进行解析处理,得到与所述订阅消息对应的日志文件;所述快照组件基于预设的配置文件,对所述日志文件进行快照处理得到数据快照。4.根据权利要求3所述的方法,其特征在于,所述快照组件包括至少一个业务处理组件和至少一个业务存储组件,所述快照组件基于预设的配置文件,对所述日志文件进行快照处理得到数据快照,包括:所述快照组件基于预设的配置文件判断所述日志文件是否需要处理,所述配置文件包括针对相同的日志文件进行不同业务处理条件下设置的配置参数;当对所述日志文件需要处理时,获取所述至少一个业务处理组件中每个业务处理组件对应的业务类型;基于所述业务类型对所述日志文件进行数据处理,得到所述每个所述业务处理组件对应的数据快照。5.根据权利要求4所述的方法,其特征在于,在所述快照组件基于预设的配置文件判断所述日志文件是否需要处理之后,所述方法还包括:当对所述日志文件不需要处理时,获取所述至少一个业务存储...

【专利技术属性】
技术研发人员:王安全黄议兴
申请(专利权)人:湖南福米信息科技有限责任公司
类型:发明
国别省市:

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

1