本发明涉及数据处理,尤其涉及一种应用于数据库的数据修改方法、装置、设备及介质。
背景技术:
1、在日常的业务支撑系统运维工作中,涉及多批次的数据库数据修改时,主要通过手工编写sql(structured query language,结构化查询语言)语句后提交数据库执行,或提交给具备数据验证功能的数据修改工具执行。
2、现有的数据修改工具可对修改方案中sql语句进行逐条校验,简单验证每条语句的语法是否正确。在涉及执行修改大量sql语句的场景下,经常将多条sql语句打包一起执行修改,若在执行修改过程中,因网络、主机、数据库故障等出现异常中断或者在用户需要对之前修改的数据进行回退恢复时,需要对已经执行修改的数据进行部分或全部恢复。但是,现有的技术方案中当数据库的数据修改执行异常时须人工介入处理,而且修改方案中的sql语句越多,就会使得数据修改的回退方案越复杂,导致数据修改的回退操作耗时长,回退后数据不确定性高。
技术实现思路
1、本发明提供一种应用于数据库的数据修改方法、装置、设备及介质,用以解决相关技术中数据库数据修改的回退操作耗时长,回退后数据不确定性高的技术问题。
2、第一方面,本发明实施例提供一种应用于数据库的数据修改方法,该方法包括:
3、获取针对数据库的待执行修改语句;
4、根据待执行修改语句中的数据修改对象在数据库中查询和备份数据修改对象对应的初始数据,得到备份数据;
5、根据备份数据生成待执行修改语句对应的回退语句;
6、执行待执行修改语句对应的数据修改操作;
7、当触发待执行修改语句的修改回退条件时,执行回退语句对应的数据回退操作;
8、基于备份数据对数据回退操作对应的回退数据进行数据稽核。
9、在一种可能实施的方式中,本发明实施例提供的方法中,根据待执行修改语句中的数据修改对象在数据库中查询和备份数据修改对象对应的初始数据,得到备份数据,包括:
10、识别并提取待执行修改语句中关于数据修改的关键信息;
11、根据关键信息在数据库中查询和备份关键信息对应的初始数据,得到备份数据。
12、在一种可能实施的方式中,本发明实施例提供的方法中,识别并提取待执行修改语句中关于数据修改的关键信息,包括:
13、对待执行修改语句进行语句洗练,剔除待执行修改语句中的注释部分;
14、将待执行修改语句与各语句句型对应的规则表达式进行匹配,根据匹配结果确定待执行修改语句的语句句型;
15、按照待执行修改语句的语句句型对应的提取规则提取待执行修改语句中关于数据修改的关键信息。
16、在一种可能实施的方式中,本发明实施例提供的方法中,关键信息包括数据修改对象的目标修改库表、库表别名、where条件子句以及修改字段。
17、在一种可能实施的方式中,本发明实施例提供的方法中,根据关键信息在数据库中查询和备份关键信息对应的初始数据,得到备份数据,包括:
18、提取关键信息中目标修改库表的库表基础信息;
19、根据关键信息中数据修改对象的信息和库表基础信息定义数据修改对象的变量,生成临时备份表;
20、根据临时备份表中的变量在数据库中查找变量对应的初始值,并根据初始值为临时备份表中的变量进行变量赋值,得到备份数据。
21、在一种可能实施的方式中,本发明实施例提供的方法中,根据备份数据生成待执行修改语句对应的回退语句,包括:
22、根据预设的回退语句规则表达式和临时备份表中变量的值生成待执行修改语句对应的回退语句。
23、在一种可能实施的方式中,本发明实施例提供的方法中,基于备份数据对数据回退操作对应的回退数据进行数据稽核,包括:
24、基于备份数据执行预设的回退检查语句,以对数据回退操作对应的回退数据进行数据稽核。
25、第二方面,本发明实施例提供一种应用于数据库的数据修改装置,包括:
26、获取单元,用于获取针对数据库的待执行修改语句;
27、提取单元,用于根据待执行修改语句中的数据修改对象在数据库中查询和备份数据修改对象对应的初始数据,得到备份数据;
28、回退语句生成单元,用于根据备份数据生成待执行修改语句对应的回退语句;
29、修改单元,用于执行待执行修改语句对应的数据修改操作;
30、回退单元,用于当触发待执行修改语句的修改回退条件时,执行回退语句对应的数据回退操作;
31、稽核单元,用于基于备份数据对数据回退操作对应的回退数据进行数据稽核。
32、在一种可能实施的方式中,本发明实施例提供的装置中,提取单元具体用于:
33、识别并提取待执行修改语句中关于数据修改的关键信息;
34、根据关键信息在数据库中查询和备份关键信息对应的初始数据,得到备份数据。
35、在一种可能实施的方式中,本发明实施例提供的装置中,提取单元具体用于:
36、对待执行修改语句进行语句洗练,剔除待执行修改语句中的注释部分;
37、将待执行修改语句与各语句句型对应的规则表达式进行匹配,根据匹配结果确定待执行修改语句的语句句型;
38、按照待执行修改语句的语句句型对应的提取规则提取待执行修改语句中关于数据修改的关键信息。
39、在一种可能实施的方式中,本发明实施例提供的装置中,关键信息包括数据修改对象的目标修改库表、库表别名、where条件子句以及修改字段。
40、在一种可能实施的方式中,本发明实施例提供的装置中,提取单元具体用于:
41、提取关键信息中目标修改库表的库表基础信息;
42、根据关键信息中数据修改对象的信息和库表基础信息定义数据修改对象的变量,生成临时备份表;
43、根据临时备份表中的变量在数据库中查找变量对应的初始值,并根据初始值为临时备份表中的变量进行变量赋值,得到备份数据。
44、在一种可能实施的方式中,本发明实施例提供的装置中,回退语句生成单元具体用于:
45、根据预设的回退语句规则表达式和临时备份表中变量的值生成待执行修改语句对应的回退语句。
46、在一种可能实施的方式中,本发明实施例提供的装置中,稽核单元具体用于:
47、基于备份数据执行预设的回退检查语句,以对数据回退操作对应的回退数据进行数据稽核。
48、第三方面,本发明实施例提供一种电子设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如本发明实施例第一方面所提供的方法。
49、第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如本发明实施例第一方面所提供的方法。
50、本发明实施例中,通过获取针对数据库的待执行修改语句,根据待执行修改语句中的数据修改对象在数据库中查询和备份数据修改对象对应的初始数据,得到备份数据,然后根据备份数据生成待执行修改语句对应的回退语句,之后执行待执行修改语句对应的数据修改操作,当触发待执行修改语句的修改回退条件时,执行回退语句对应的数据回退操作,并且基于备份数据对数据回退操作对应的回退数据进行数据稽核。与相关技术相比,在数据库数据修改方案中配备相应的数据备份机制和数据修改回退机制,并且数据修改回退机制通过设置修改语句对应的回退语句实现,从而可以通过执行回退语句即可完成修改语句的数据修改回退,简化了回退方案,减少人工介入和回退操作耗时,此外通过对备份数据与回退后的数据进行稽核比对,提高了回退后数据的正确性。
1.一种应用于数据库的数据修改方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述待执行修改语句中的数据修改对象在所述数据库中查询和备份所述数据修改对象对应的初始数据,得到备份数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述识别并提取所述待执行修改语句中关于数据修改的关键信息,包括:
4.根据权利要求2所述的方法,其特征在于,所述关键信息包括所述数据修改对象的目标修改库表、库表别名、where条件子句以及修改字段。
5.根据权利要求4所述的方法,其特征在于,所述根据所述关键信息在所述数据库中查询和备份所述关键信息对应的初始数据,得到所述备份数据,包括:
6.根据权利要求5所述的方法,其特征在于,根据所述备份数据生成所述待执行修改语句对应的回退语句,包括:
7.根据权利要求1所述的方法,其特征在于,所述基于所述备份数据对所述数据回退操作对应的回退数据进行数据稽核,包括:
8.一种应用于数据库的数据修改装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-7中任一项所述的方法。