[发明专利]数据库操作方法及装置在审
申请号: | 202110232312.5 | 申请日: | 2021-03-02 |
公开(公告)号: | CN113778981A | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 袁钢 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F8/41 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 赵婷 |
地址: | 100176 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 操作方法 装置 | ||
本公开提供了一种数据库操作方法,包括:接收结构化查询语言SQL操作指令,所述SQL操作指令指示待操作的目标数据库;对所述SQL操作指令进行语法解析,以获得所述SQL操作指令中的操作信息;利用与所述目标数据库相适应的数据库语言,对所述SQL操作指令中的操作信息进行翻译,得到翻译后的操作信息;基于所述翻译后的操作信息,对所述SQL操作指令进行自然语言翻译,得到翻译后的操作指令;执行所述翻译后的操作指令,以实现对所述目标数据库进行操作。本公开还提供了一种数据库操作装置、一种电子设备及一种计算机可读存储介质。
技术领域
本公开涉及数据库技术领域,更具体地,涉及一种数据库操作方法、一种数据库操作装置、一种电子设备以及一种计算机可读存储介质。
背景技术
为充分利用不同类型数据库的优势,实际生产应用中常把相同数据存入多种类型数据库中。不同类型数据库所使用的数据库语言和操作逻辑可能不同,因此,如何高效操作不同类型数据库是生产应用中常被关注的问题。
在实现本公开技术构思过程中,发明人发现相关技术中在对不同类型数据库进行操作时,存在代码逻辑冗余、代码维护成本高的问题,这明显影响针对多种类型数据库进行操作时的操作效率。
发明内容
有鉴于此,本公开提供了一种代码逻辑冗余少、代码维护成本低且能够实现对不同类型数据库进行高效操作的数据库操作方法及装置。
本公开的一个方面提供了一种数据库操作方法,包括:接收结构化查询语言SQL操作指令,所述SQL操作指令指示待操作的目标数据库;对所述SQL操作指令进行语法解析,以获得所述SQL操作指令中的操作信息;利用与所述目标数据库相适应的数据库语言,对所述SQL操作指令中的操作信息进行翻译,得到翻译后的操作信息;基于所述翻译后的操作信息,对所述SQL操作指令进行自然语言翻译,得到翻译后的操作指令;执行所述翻译后的操作指令,以实现对所述目标数据库进行操作。
可选地,在对所述SQL操作指令进行语法解析之前,包括:校验所述SQL操作指令的语法格式是否正确;若是,执行所述语法解析的操作。
可选地,所述对所述SQL操作指令进行语法解析,以获得所述SQL操作指令中的操作信息,包括:识别所述SQL操作指令的语句类型,以确定所述语句类型指示的目标操作类型;解析所述SQL操作指令中基于所述语句类型的语法树信息,以获得所述语法树信息表征的操作属性信息;所述目标操作类型和所述操作属性信息构成所述SQL操作指令中的操作信息。
可选地,所述执行所述翻译后的操作指令,以实现对所述目标数据库进行操作,包括:确定所述目标数据库的数据库类型;根据所述数据库类型与线程的预设对应关系,从线程池中调用与所述数据库类型关联的目标线程,所述线程池包括至少一个线程;通过所述目标线程执行所述翻译后的操作指令,以实现对所述目标数据库进行操作。
可选地,在所述SQL操作指令指示针对所述目标数据库的写操作的情况下,所述方法包括:获取所述目标数据库的数据库信息,所述数据库信息包括异步写标识、异步补数据标识中的至少之一;所述通过所述目标线程执行所述翻译后的操作指令,以实现对所述目标数据库进行操作,包括:根据所述数据库信息指示的写操作方式,通过所述目标线程执行所述翻译后的操作指令,以实现对所述目标数据库进行写操作。
可选地,在所述SQL操作指令指示针对M个目标数据库的写操作的情况下,M为大于1的整数,所述方法还包括:在确定针对某目标数据库的写操作失败,且该目标数据库不支持异步写操作的情况下,回滚所有已写成功数据,并终止针对各所述目标数据库的写操作。
可选地,在所述SQL操作指令指示针对N个目标数据库的读操作的情况下,N为大于1的整数,所述方法还包括:根据与各所述目标数据库关联的预设优先级,在所述N个目标数据库中确定优先级最高并且支持所述读操作的数据库,以作为待进行读操作的数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110232312.5/2.html,转载请声明来源钻瓜专利网。