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