[发明专利]一种支持多方言SQL血缘解析的语义分析方法在审
| 申请号: | 202110887535.5 | 申请日: | 2021-08-03 |
| 公开(公告)号: | CN113326286A | 公开(公告)日: | 2021-08-31 |
| 发明(设计)人: | 凌立刚;陈科皓;孙锐 | 申请(专利权)人: | 杭州量之智能科技有限公司 |
| 主分类号: | G06F16/242 | 分类号: | G06F16/242 |
| 代理公司: | 杭州云睿专利代理事务所(普通合伙) 33254 | 代理人: | 张骁敏 |
| 地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 支持 多方 sql 血缘 解析 语义 分析 方法 | ||
本发明公开了一种支持多方言SQL血缘解析的语义分析方法,对SQL进行词法分析、语法分析得到抽象语法分析树;通过归纳不同种类SQL的语义特征,归纳不同种类SQL语义间的关联关系、从属关系,提取不同种类SQL在血缘解析中所需要的语义信息,根据SQL的语义信息、以及抽象语法分析树的树形结构形成一种适用不同种类SQL做语义分析的语义分析模型;对于新的SQL,生成抽象语法分析树并进行遍历,获取抽象语法分析树节点中的语义信息,根据抽象语法分析树上节点包含的单词序列的语义信息,将单词序列拆分,分别填充至语义分析模型中;调用语义分析模型的输出接口,获取新的SQL的语义信息以进行进一步的血缘解析。
技术领域
本发明涉及SQL血缘解析技术领域,特别涉及一种支持多方言SQL血缘解析的语义分析方法。
背景技术
数据血缘可以帮助开发人员更好地认识表之间的数据流向,理解业务,并且在需要做数据变更时去做影响分析。在任务调度时,也可以通过字段级别的血缘关系,反过来去推荐、诊断、优化任务级别依赖关系的配置。
现有的SQL血缘解析工具类往往包含的语义不完整,也没有同时适配多方言SQL的能力,对于开发人员来说,面对一个新的SQL血缘解析任务,就需要重新为该新的SQL做一份语义分析,开发工作量大,并且很难将所有语义覆盖完整。
发明内容
在针对现有技术存在的不足,本发明的目的在于提供一种支持多方言SQL血缘解析的语义分析方法,可以完全做到表、字段级别的血缘解析,开发的语义分析模型可以做到多种方言SQL的通用水平,对于一种新的SQL,只需要做好SQL的抽象语法树生成和遍历,再采用开发的通用语义分析模型就能够快速生成血缘解析结果。
通过语义分析构建抽象语法分析树,获得树结构,再通过分析归纳不同种类SQL提取SQL的语义信息以完成语义分析模型的构建。
对于一种新的SQL,只需要再进行语义分析构建抽象语法分析树,再遍历抽象语法分析树以获得语义信息并填充至构建的语义分析模型中,最终采用开发的通用语义分析模型就能够调用所需的语义信息快速生成血缘解析结果。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种支持多方言SQL血缘解析的语义分析方法,包括以下步骤:
步骤1,对SQL进行词法分析将SQL序列转化成单词序列,再进行语法分析得到对应的抽象语法分析树;
步骤2,通过归纳不同种类SQL的语义特征,归纳不同种类SQL语义间的关联关系、从属关系,提取不同种类SQL在血缘解析中所需要的语义信息,根据提取出的SQL的语义信息、以及生成的抽象语法分析树的树形结构形成一种适用不同种类SQL做语义分析的语义分析模型,并提供设置输入、输出接口分别作为语法分析和血缘解析的中间结构;
步骤3,对于新的SQL,通过步骤1的方式生成抽象语法分析树,再遍历抽象语法分析树,获取抽象语法分析树节点中的语义信息,根据抽象语法分析树上节点包含的单词序列的语义信息,将单词序列拆分,通过调用输入接口分别填充至语义分析模型中;
步骤4,调用语义分析模型的输出接口,获取新的SQL的语义信息以进行进一步的血缘解析。
进一步优选为,所述步骤1中的抽象语法分析树的生成过程包括:
步骤1.1,对SQL按照SQL语言的词法规则识别各类单词,并产生相应单词的属性字,最终将SQL序列转换成属性字的单词序列;
步骤1.2,根据SQL的语法规则设计一套EBNF范式,对传入的单词序列按照语法规则进行匹配,生成抽象语法分析树。
进一步优选为,所述步骤1.1需将输入中的无效属性字进行过滤,只保留对SQL语法分析有效的属性字的单词序列。
进一步优选为,所述步骤2还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州量之智能科技有限公司,未经杭州量之智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110887535.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于检测镶嵌宝石类首饰稳固性的检测装置及检测方法
- 下一篇:一种甲醛去除装置





