[发明专利]一种自主可控数据库闪回删除的方法和系统在审
申请号: | 202110632847.1 | 申请日: | 2021-06-07 |
公开(公告)号: | CN113342841A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 燕兴余;喻翠微;李朋 | 申请(专利权)人: | 北京许继电气有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F16/28;G06F8/61;G06F9/445;G06F11/14 |
代理公司: | 北京立成智业专利代理事务所(普通合伙) 11310 | 代理人: | 吕秀丽 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自主 可控 数据库 删除 方法 系统 | ||
本发明实施例提供了一种自主可控数据库闪回删除的方法,包括:获取用户闪回删除请求,并对该闪回删除请求进行解析以获取其中的数据操控语言DML和事务处理语言DPL;通过对DML和DPL按照属性进行分类以将DML和DPL操作以及对应的原始数据进行存储;若所述DML和DPL操作为误操作,通过flashback进行数据恢复。
技术领域
本发明属于涉及信息技术领域,尤其涉及一种自主可控数据库闪回删除的方法和系统。
背景技术
随着互联网的更进一步发展,现代化生产、销售及管理应用系统层出不穷,各类应用系统功能趋于超复杂化、一体化、智能化,对后台数据库的数据容错性及安全性要求日趋升高。由于用户对应用系统认识不到位或操作不当,导致数据错误修改或者删除的情况时有发生,严重影响企业的正常生产经营。这就意味着,数据库必须满足可还原误操作原始数据、可记录修改操作的要求。
现有关系数据库,很难同时实现这两个属性。
发明内容
针对现有技术中数据库无法同时实现可还原误操作和可记录修改操作的问题,本公开实施例提出了一种自主可控数据库闪回删除的方法和系统。
为了解决上述问题,本公开实施例提出了一种自主可控数据库闪回删除的方法,包括以下步骤:
为了实现自主可控数据库闪回删除功能,本公开实施例提出了一种自主可控数据库闪回删除的方法,包括:
获取用户闪回删除请求,并对该闪回删除请求进行解析以获取其中的数据操控语言DML和事务处理语言DPL;通过对DML和DPL按照属性进行分类以将DML和DPL操作以及对应的原始数据进行存储;
若所述DML和DPL操作为误操作,通过flashback进行数据恢复。
在一些可能的实施方式中,所述方法还包括:
将c语言编译的安装程序flashback以插件形式安装部署在所述自主可控数据库。
在一些可能的实施方式中,所述通过flashback进行数据恢复,包括:
通过闪回功能模块的函数dissql()对DML、DPL语句进行语法解和分流;针对DML与DPL语句,由consql()函数生成备份SQL语句,将原始未修改数据以数组形式备份至fbdata表,且该fbdata标至少包括以下字段:事务id、修改时间、修改用户、原始数据的数组;
备份完成后将原SQL语句记录至闪回日志/pgdata/data/flashback.log,同时将该语句抛入查询编译器执行,并将执行结果反馈至用户;其中所述分析及备份操作对用户透明不可见;
当用户发现误操作后,通过flashback.log确认操作内容、时间及相关用户后,通过flashback语句对误操作进行基于时间点的恢复,或数据抽取。
在一些可能的实施方式中,所述通过flashback.log确认操作内容、时间及相关用户后,通过flashback语句对误操作进行基于时间点的恢复,或数据抽取,包括:
通过
flashback delete/update/drop…from fbdata where user=’username’andtraid=’****’and wrtime=’**’;语法进行操作。
在一些可能的实施方式中,其中,通过修改用户user、事务id、修改时间wrtime对操作数据进行匹配,以确保所执行操作的正确性。
在一些可能的实施方式中,所述方法还包括:
在闪回操作执行前,通过consql()函数生成备份当前数据、闪回修改前数据的SQL语句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京许继电气有限公司,未经北京许继电气有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110632847.1/2.html,转载请声明来源钻瓜专利网。