数据回滚方法、装置及计算机可读存储介质制造方法及图纸

技术编号:39044785 阅读:14 留言:0更新日期:2023-10-10 11:57
本发明专利技术公开了一种数据回滚方法、装置及计算机可读存储介质,其中,所述方法包括:监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息;当接收到回滚指令时,确定所述回滚指令对应的目标数据变更信息;根据目标数据变更信息逆向生成回滚代码,并执行所述回滚代码。本发明专利技术旨在提高数据回滚效率。提高数据回滚效率。提高数据回滚效率。

【技术实现步骤摘要】
数据回滚方法、装置及计算机可读存储介质


[0001]本专利技术涉及数据库
,尤其涉及一种数据回滚方法、装置及计算机可读存储介质。

技术介绍

[0002]在数据库操作中,进行数据的修改后需要及时记录数据的变更情况,当发生数据错误变更、误删除等情况时,需要进行数据回滚。目前数据回滚方案,都是通过数据库直接数据回滚,这种方式需要定义需要回滚的数据内容,指定时间、版本等,因而回滚需要耗费大量时间,导致数据回滚效率不高。
[0003]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0004]本专利技术的主要目的在于提供一种数据回滚方法、装置及计算机可读存储介质,旨在达成提高数据回滚效率的效果。
[0005]为实现上述目的,本专利技术提供一种数据回滚方法,所述数据回滚方法包括:
[0006]监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息;
[0007]当接收到回滚指令时,确定所述回滚指令对应的目标数据变更信息;
[0008]根据目标数据变更信息逆向生成回滚代码,并执行所述回滚代码。
[0009]可选地,所述监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息的步骤包括:
[0010]基于容器管理平台的应用实例部署日志监听应用;
[0011]当所述应用实例就绪时,触发就绪型探针,竞抢分布式锁;
[0012]当竞抢成功时,基于所述应用实例初始化所述日志监听应用的配置项,基于所述配置项监听所述二进制日志;
[0013]在所述应用实例的运行过程中触发存活探针,对所述分布式锁续约,以使所述日志监听应用持续监听所述二进制日志。
[0014]可选地,所述在所述应用实例运行过程中触发存活探针,对所述分布式锁续约,以使所述日志监听应用持续监听所述二进制日志的步骤之后,还包括:
[0015]当满足监听二进制日志的停止条件时,触发停止探针,基于所述停止探针确定所述日志监听应用当前监听到的日志位置,并停止当前应用实例;
[0016]当下一个应用实例就绪时,将所述日志位置作为所述下一个应用实例中日志监听应用对应的监听开始位置;
[0017]其中,所述监听归档日志的停止条件包括以下至少一个:
[0018]所述应用实例故障、重启、重新部署;
[0019]接收到监听归档日志的停止指令。
[0020]可选地,所述基于所述应用实例初始化所述日志监听应用的配置项的步骤包括:
[0021]获取所述数据库中各个数据表的数据库对象集合、字段、字段类型和字段在表中的位置;
[0022]将所述数据库对象集合、所述字段、所述字段类型和字段在数据表中的位置作为所述配置项。
[0023]可选地,所述监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息的步骤之后,还包括:
[0024]将所述数据变更信息作为消费事件发送到消费队列;
[0025]基于多个消费线程轮询所述消费队列中的数据变更信息,并为所述数据变更信息绑定批次号标识;
[0026]将绑定批次号标识后的数据变更信息保存于存储器中。
[0027]可选地,所述基于多个消费线程轮询所述消费队列中的数据变更信息,并为所述数据变更信息绑定批次号标识的步骤之前,还包括:
[0028]获取所述数据库当前事务对应的事务标识;
[0029]将所述当前事务中变更数据对应的批次号标识与事务标识进行关联绑定。
[0030]可选地,所述确定所述回滚指令对应的目标变更数据的步骤包括:
[0031]根据所述回滚指令确定目标事务标识,并确定所述目标事务标识关联绑定的批次号标识,将所述批次号标识对应的数据变更信息作为所述目标数据变更信息;或者
[0032]根据所述回滚指令确定批次号标识,将所述批次号标识对应的数据变更信息作为所述目标数据变更信息。
[0033]可选地,所述监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息的步骤之后,还包括:
[0034]根据所述数据变更信息确定各个变更数据对应的待展示信息;
[0035]根据所述待展示信息生成图形化界面;
[0036]基于所述图形化界面接收用户的回滚指令。
[0037]此外,为实现上述目的,本专利技术还提供一种数据回滚装置,所述数据回滚装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据回滚程序,所述数据回滚程序被所述处理器执行时实现如上所述的数据回滚方法的步骤。
[0038]此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据回滚程序,所述数据回滚程序被处理器执行时实现如上所述的数据回滚方法的步骤。
[0039]该方法通过监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息;当接收到回滚指令时,确定所述回滚指令对应的目标数据变更信息;根据目标数据变更信息逆向生成回滚代码,并执行所述回滚代码。这样监听数据库的二进制日志,得到变更数据对应的数据变更信息,用户可以通过回滚指令指定需要进行回滚的目标变更信息,根据目标变更信息自动逆向回滚代码,并执行该回滚代码以实现目标数据变更信息对应的变更数据的回滚,从而提高数据回滚效率。
附图说明
[0040]图1是本专利技术实施例方案涉及的硬件运行环境的终端结构示意图;
[0041]图2为本专利技术数据回滚方法的一实施例的流程示意图;
[0042]图3为本专利技术数据回滚方法的另一实施例的流程示意图;
[0043]图4为本专利技术实施例涉及的第一应用场景流程示意图;
[0044]图5为本专利技术实施例涉及的初始化配置项结构示意图;
[0045]图6为本专利技术实施例涉及的第二应用场景流程示意图;
[0046]图7为本专利技术实施例涉及的标识与数据表的关系图;
[0047]图8为本专利技术实施例涉及的图形化界面。
[0048]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0049]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0050]由于目前数据回滚方案,都是通过数据库直接数据回滚,这种方式需要定义需要回滚的数据内容,指定时间、版本等,因而回滚需要耗费大量时间,导致数据回滚效率不高。
[0051]为了提高数据回滚效率,本专利技术实施例提出一种数据回滚方法、装置及计算机可读存储介质,其中,所述方法的主要步骤包括:
[0052]监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息;
[0053]当接收到回滚指令时,确定所述回滚指令对应的目标数据变更信息;...

【技术保护点】

【技术特征摘要】
1.一种数据回滚方法,其特征在于,所述数据回滚方法包括:监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息;当接收到回滚指令时,确定所述回滚指令对应的目标数据变更信息;根据目标数据变更信息逆向生成回滚代码,并执行所述回滚代码。2.如权利要求1所述的数据回滚方法,其特征在于,所述监听数据库的二进制日志,根据所述二进制日志确定所述数据库中的变更数据对应的数据变更信息的步骤包括:基于容器管理平台的应用实例部署日志监听应用;当所述应用实例就绪时,触发就绪型探针,竞抢分布式锁;当竞抢成功时,基于所述应用实例初始化所述日志监听应用的配置项,基于所述配置项监听所述二进制日志;在所述应用实例的运行过程中触发存活探针,对所述分布式锁续约,以使所述日志监听应用持续监听所述二进制日志。3.如权利要求2所述的数据回滚方法,其特征在于,所述在所述应用实例运行过程中触发存活探针,对所述分布式锁续约,以使所述日志监听应用持续监听所述二进制日志的步骤之后,还包括:当满足监听二进制日志的停止条件时,触发停止探针,基于所述停止探针确定所述日志监听应用当前监听到的日志位置,并停止当前应用实例;当下一个应用实例就绪时,将所述日志位置作为所述下一个应用实例中日志监听应用对应的监听开始位置;其中,所述监听归档日志的停止条件包括以下至少一个:所述应用实例故障、重启、重新部署;接收到监听归档日志的停止指令。4.如权利要求2所述的数据回滚方法,其特征在于,所述基于所述应用实例初始化所述日志监听应用的配置项的步骤包括:获取所述数据库中各个数据表的数据库对象集合、字段、字段类型和字段在表中的位置;将所述数据库对象集合、所述字段、所述字段类型和字段在数据表中的位置作为所述配置项。5.如权利要求1所述的数据回滚方法,其特征在于,所述监听数据库的二进制...

【专利技术属性】
技术研发人员:黎立聪韩晓周柯柯
申请(专利权)人:招商银行股份有限公司
类型:发明
国别省市:

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

1