[发明专利]程序语言转换方法、装置、电子设备及存储介质在审
申请号: | 202011448598.2 | 申请日: | 2020-12-09 |
公开(公告)号: | CN112541002A | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 李奕儒 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2452 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 卢万腾;李曼 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序语言 转换 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了一种程序语言转换方法、装置、电子设备及存储介质,所述方法包括:接收程序语言转换请求,以及提取所述程序语言转换请求中携带的领域语言语句;利用预设语句解析器将所述领域语言语句解析为抽象语法树;基于所述抽象语法树以及预设数据模型,生成所述抽象语法树对应的对象;利用预设动态SQL拼接方法对所述对象进行处理,拼接成数据库可执行的SQL语句。如此将领域语言语句转换为数据库可执行的SQL语句,可以实现将领域语言转换为数据库可识别的SQL。
技术领域
本发明涉及程序语言转换处理技术领域,尤其涉及一种程序语言转换方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的不断发展,企业的互联网环境越来越复杂,数量庞大、品种繁多的IT设备及相关基础服务很难被有效管理。与此同时,企业的互联网环境在不断变化,如何评估某个IT设备或服务发生的事故、变更所造成的影响,以及如何为其它流程提供IT资源当前准确的配置信息都是企业面临的重大挑战。CMDB(Configuration ManagementDatabase,配置管理数据库)正是为了解决这些问题而诞生的,CMDB统一管理了服务内部所有的配置信息,是运维体系中重要的数据基础来源。
相关技术中,CMDB的使用用户大多数为企业内部的运维人员,这些运维人员若使用传统数据库进行数据查询,需要学习SQL(Structured Query Language,结构化查询语言),学习成本较高,特别是复杂的多表连接查询,还需要熟悉数据表结构,基于此,这些运维人员可以学习领域语言(自定义的领域语言),学习成本较低,且适应性好,但是需要解决领域语言转换为SQL的技术问题。
发明内容
本发明实施例的目的在于提供一种程序语言转换方法、装置、电子设备及存储介质,以实现将领域语言转换为数据库可识别的SQL的有益效果。具体技术方案如下:
在本发明实施例的第一方面,首先提供了一种程序语言转换方法,所述包括:
接收程序语言转换请求,以及提取所述程序语言转换请求中携带的领域语言语句;
利用预设语句解析器将所述领域语言语句解析为抽象语法树;
基于所述抽象语法树以及预设数据模型,生成所述抽象语法树对应的对象;
利用预设动态SQL拼接方法对所述对象进行处理,拼接成数据库可执行的SQL语句。
在一个可选的实施方式中,所述利用预设语句解析器将所述领域语言语句解析为抽象语法树,包括:
利用预设语法分析器以及词法分析器对所述领域语言语句进行准确性校验;
若所述领域语言语句通过准确性校验,利用预设语句解析器将所述领域语言语句解析为抽象语法树。
在一个可选的实施方式中,所述方法还包括:
若所述领域语言语句未通过准确性校验,获取所述预设语法分析器以及所述词法分析器反馈的错误信息;
将所述错误信息发送至所述程序语言转换请求对应的发出者。
在一个可选的实施方式中,所述基于所述抽象语法树以及预设数据模型,生成所述抽象语法树对应的对象,包括:
对于所述抽象语法树中任一节点,从预设数据模型中查找对应的特征属性;
通过对象封装方法将所述特征属性封装为所述抽象语法树对应的对象。
在一个可选的实施方式中,所述利用预设动态SQL拼接方法对所述对象进行处理,拼接成数据库可执行的SQL语句,包括:
利用预设动态SQL拼接方法将预设SQL语句中对象替换为所述对象,拼接成数据库可执行的SQL语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011448598.2/2.html,转载请声明来源钻瓜专利网。