[发明专利]基于SQL解析的数据更新方法、装置、电子设备及存储介质在审
申请号: | 202010477746.7 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111651468A | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 聂志 | 申请(专利权)人: | 中国平安财产保险股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/242;G06F8/41 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东省深圳市福田区益田路*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sql 解析 数据 更新 方法 装置 电子设备 存储 介质 | ||
本发明涉及数据处理,提供了一种基于SQL解析的数据更新方法、装置、电子设备及存储介质。该方法获取数据更新请求中的SQL语句后,拦截该请求,利用预设的状态机对SQL语句进行解析并构建SQL语句的语法树,基于语法树获取SQL语句对应的表名及操作类型,从预设的配置文件中查找是否存在SQL语句的主键字段,若存在,则获取该主键字段,若不存在,则基于表名从预设数据库的元数据中获取SQL语句的主键字段,基于SQL语句的操作类型和主键字段获取该请求的待更新数据,基于SQL语句的操作类型对待更新数据执行更新操作,得到更新后的数据。本发明还涉及区块链技术,所述待更新数据存储于区块链中。本发明可以准确获取SQL语句更新操作之前的数据。
技术领域
本发明涉及数据处理,尤其涉及一种基于SQL解析的数据更新方法、装置、电子设备及存储介质。
背景技术
在对被SQL语句更新的数据进行审计追踪时,需要确定SQL语句是对哪一条或哪些条数据进行更新操作,即需要解析SQL语句及确定被更新的数据的主键字段,通常业务系统中涉及大量不同类型的SQL语句,导致解析时容易出错,且这些SQL语句中不一定包含主键字段信息,导致难以获取被更新数据的主键字段,进而业务系统难以获取被更新的数据来追溯数据的更新过程。
发明内容
鉴于以上内容,本发明提供一种基于SQL解析的数据更新方法、装置、电子设备及存储介质,其目的在于解决现有技术中业务系统难以获取被更新的数据导致难以追溯数据更新过程的技术问题。
为实现上述目的,本发明提供一种基于SQL解析的数据更新方法,该方法包括:
接收步骤:接收客户端发出的数据更新的请求,获取所述请求中携带的SQL语句;
解析步骤:拦截所述请求,利用预设的状态机对所述SQL语句进行解析,基于解析结果构建所述SQL语句的语法树,从所述语法树中获取所述SQL语句的更新表、更新字段及更新条件并封装成JAVA类,基于所述JAVA类获取所述SQL语句对应的表名及操作类型;
获取步骤:从预设的配置文件中查找是否存在所述SQL语句对应的主键字段,若存在,则获取该主键字段,若不存在,则基于所述表名从预设数据库的元数据中获取所述SQL语句的主键字段,基于所述SQL语句对应的操作类型和所述主键字段获取所述请求对应的待更新数据;及
更新步骤:基于所述SQL语句对应的操作类型对所述待更新数据执行更新操作,得到所述待更新数据对应的更新后的数据,将所述更新后的数据反馈至所述客户端。
优选的,所述解析步骤包括:
将所述状态机的状态设为初始状态,利用所述状态机去匹配所述SQL语句的操作类型,将匹配到的操作类型作为所述语法树的根节点;
利用所述状态机根据第一预设正则表达式匹配所述SQL语句的更新表,将匹配到的更新表作为所述语法树的子节点;
利用状态机根据第二预设正则表达式匹配所述SQL语句更新字段,将匹配到的更新字段作为所述语法树的子节点。
优选的,所述获取步骤包括:
当所述SQL语句对应的操作类型为插入操作时,所述待更新数据为空;
当所述SQL语句对应的操作类型为更新操作时,根据所述SQL语句的更新表、更新字段及更新条件生成选择语句,基于所述主键字段及所述选择语句,获取更新字段的当前值作为所述待更新数据;
当所述SQL语句对应的操作类型为删除操作时,根据所述SQL语句的更新表、更新条件及所述主键字段,获取全量数据作为所述待更新数据。
优选的,所述更新步骤包括:
当所述SQL语句对应的操作类型为插入操作时,所述更新后的数据为所述更新字段的值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国平安财产保险股份有限公司,未经中国平安财产保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010477746.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置