一种数据回滚方法与装置制造方法及图纸

技术编号:38157205 阅读:21 留言:0更新日期:2023-07-13 09:26
本申请提供了一种数据回滚方法与装置,涉及数据回滚技术领域。首先利用PostgreSQL触发器,对数据库表的DML的操作事件进行监听;其中,操作事件包括增加事件、删除事件以及修改事件,然后对DML的操作事件进行数据封装,其中,不同DML的操作事件的数据封装不同,再将进行数据封装后的操作事件存储至目标消息通道,其中,不同DML的操作事件对应的目标消息通道不同,接着监听目标消息通道,消费并解析目标消息通道的日志,并生成回滚脚本,最后当需要进行回滚操作时,利用回滚脚本进行数据回滚。本申请提供的数据回滚方法与装置具有可以在PostgreSQL数据库的数据丢失或误操作时进行数据回滚的优点。数据回滚的优点。数据回滚的优点。

【技术实现步骤摘要】
一种数据回滚方法与装置


[0001]本申请涉及数据回滚
,具体而言,涉及一种数据回滚方法与装置。

技术介绍

[0002]PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统,近年来倍受各大中小企业喜爱并用于作为互联网产品的持久层方案,数据库的数据丢失或误操作问题,也同样困扰着PostgreSQL的用户,当数据未按预期结果发生变化时,往往需要对数据做紧急的修复或者回滚。而目前仍没有一种针对PostgreSQL的数据库表级即时回滚方法。
[0003]综上,现有技术中存在当PostgreSQL数据库的数据丢失或误操作时,无法进行数据回滚的问题。

技术实现思路

[0004]本申请的目的在于提供一种数据回滚方法与装置,以解决现有技术中存在的当PostgreSQL数据库的数据丢失或误操作时,无法进行数据回滚的问题。
[0005]为了实现上述目的,本申请实施例采用的技术方案如下:
[0006]第一方面,本申请实施例提供一种数据回滚方法,应用于服务器,所述数据回滚方法:
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据回滚方法,其特征在于,应用于服务器,所述数据回滚方法:利用PostgreSQL触发器,对数据库表的DML的操作事件进行监听;其中,所述操作事件包括增加事件、删除事件以及修改事件;对DML的操作事件进行数据封装,其中,不同DML的操作事件的数据封装不同;将进行数据封装后的操作事件存储至目标消息通道,其中,不同DML的操作事件对应的目标消息通道不同;监听所述目标消息通道,消费并解析目标消息通道的日志,并生成回滚脚本;当需要进行回滚操作时,利用所述回滚脚本进行数据回滚。2.如权利要求1所述的数据回滚方法,其特征在于,将进行数据封装后的操作时间存储至目标消息通道的步骤包括:当所述DML的操作事件为增加事件时,依据新增数据,将数据封装后的操作事件存储至第一目标消息通道;当所述DML的操作事件为修改事件时,依据更新前后数据的变化,将数据封装后的操作事件存储至第二目标消息通道;当所述DML的操作事件为删除事件时,依据删除前的数据,将数据封装后的操作事件存储至第三目标消息通道。3.如权利要求2所述的数据回滚方法,其特征在于,将进行数据封装后的操作事件存储至目标消息通道的步骤包括:根据进行数据封装后的操作事件的字段进行全匹配到唯一的ROW函数,以实现将数据存储至目标消息通道。4.如权利要求1所述的数据回滚方法,其特征在于,监听所述目标消息通道,消费并解析目标消息通道的日志,并生成回滚脚本的包括:将所述日志解析为对应的逆向脚本;在生成回滚脚本的步骤之后,所述方法还包括:将所述逆向脚本存储至redis中,redis存储采用sortset数据结构,key以[主节点IP或浮动IP+数据库名+表名+YYYYMMDD]命名,并设置过期策略,将逆向脚本作为value,数据变更时间戳作为sort。5.如权利要求4所述的数据回滚方法,其特征在于,redis采用cluster集群模式部署,在将所述逆向脚本存储至redis中的步骤之后,所述方法还包括:监控redis集群的实例状态,若异常则发出告...

【专利技术属性】
技术研发人员:林永祥刘镜安
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1