一种SQL语句语法可视化分析方法、系统及计算机可读存储介质与流程

文档序号:26050500发布日期:2021-07-27 15:25阅读:154来源:国知局
一种SQL语句语法可视化分析方法、系统及计算机可读存储介质与流程

本发明涉及数据分析领域,尤其涉及一种sql语句语法可视化分析方法、系统和计算机可读存储介质。



背景技术:

随着科技的不断发展,众多行业领域都产生了海量级数据。为了充分利用数据价值,挖掘数据带来的潜在收益,逐渐形成了大规模的sql计算场景。在金融、保险、债券等行业由于业务数据复杂在大数据调度elt中产生较为复杂且难以理解的长sql语句,往往需要花费开发者大量时间去识别理解sql语句的数据加工逻辑,因此需要一种sql语句语法的可视化分析方法和系统,方便开发者理解数据加工逻辑,提高逻辑分析效率。



技术实现要素:

本发明的目的在于提供一种sql语句语法可视化分析方法、系统及计算机可读存储介质,旨在解决现有技术中sql语句语法树可视化分析不够详尽的问题。

第一方面,本发明提供了一种sql语句语法的可视化分析方法,其特征在于,所述方法包括:

获取源sql语句并清洗后生成标准sql语句;

基于所述标准sql语句生成ast对象;

解析所述ast对象获取所述sql语句语法中的抽象组成元素;

基于所述抽象组成元素生成数据加工逻辑图;

输出所述抽象组成元素和/或所述数据加工逻辑图至可视化展示界面。

第二发明,本发明提供了一种sql语句语法可视化分析系统,其特征在于,所述系统包括:

sql语句获取模块,用于获取源sql语句并清洗后生成标准sql语句;

ast对象生成模块,用于基于所述标准sql语句生成所述ast对象;

ast对象解析模块,用于解析所述ast对象获取所述sql语句语法中的抽象组成元素;

数据加工逻辑图生成模块,用于基于所述抽象组成元素生成数据加工逻辑图;

展示模块,用于可视化展示所述抽象组成元素和/或所述数据加工逻辑图。

第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的sql语句语法可视化分析方法的步骤。

在本发明中,获取源sql语句清洗后生成标准sql语句,基于标准sql语句生成ast对象,解析ast对象后获取sql语句中的抽象组成元素,包括表结构、表之间关联关系、数据上下游链路及血缘关系、功能函数、限定关系等,从而实现全链路sql语法树的可视化分析,帮助开发者理解数据加工流程,提高逻辑分析效率。

附图说明

图1是本发明实施例一提供的一种sql语句语法可视化分析方法的流程图。

图2是本发明实施例二提供的一种sql语句语法可视化分析系统的模块框图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

如图1所示,本发明实施例一提供了一种sql语句语法可视化分析方法,包括如下步骤:

s101、获取源sql语句并清洗后生成标准sql语句。

在本发明实施例一中,源sql语句可以是在编辑器中编写的sql语句,还可以是在调度系统中的sql语句,还可以是嵌套在程序代码中的sql语句等等。获取源sql语句后进行的清洗可以包括参数替换、格式转换、注解去除、多余代码删除等操作中的一个或多个操作。源sql经清洗后生成的标准sql语句可以是ansi/iso标准sql语句。

s102、基于所述标准sql语句生成ast对象。

在本发明实施例一中,采用antlr工具构建标准sql语法分析器,并基于所述标准sql语法分析器分析所述标准sql语句生成ast对象。此外,还可以采用javacc工具构建标准sql语法分析器。

s103、解析所述ast对象获取所述sql语句语法中的抽象组成元素。

在本发明实施例一中,解析ast对象可以采用深度优先遍历,在深度优先遍历中可能碰见select*等缺失元数据信息,所以还需要连接数据库获取到该表库的元数据进行补充。sql语句语法中的抽象组成元素包括但不限于表结构、表之间关联关系、数据上下游链路及血缘关系、功能函数、限定关系。

s104、基于所述抽象组成元素生成数据加工逻辑图。

在本发明实施例一中,根据sql语句中的语义单元确定节点数据和逻辑处理先后顺序,根据逻辑处理先后顺序处理节点数据得到数据结构流程图,多个数据结构流程图构成整个数据加工逻辑图。此外,数据加工逻辑图也可以采用人工标注生成。在本发明实施例一中,采用关系型数据库mysql存储未清洗的源sql语句、清洗后的标准sql语句、ast对象、数据结构流程对象等。表结构、表之间关联关系、数据上下游链路及血缘关系、功能函数、限定关系等抽象组成元素可以采用图数据库来存储。

s105、输出所述抽象组成元素和/或所述数据加工逻辑图至可视化展示界面。

在本发明实施例一中,采用html页面进行可视化展示。其中html页面可以是经过订制的。在可视化展示界面可以展示以下页面中的一个或多个:源sql与标准sql清洗对比页面、数据加工逻辑图、抽象组成元素页面、整体缩略图。

在本发明实施例一中,sql语句语法可视化分析方法还可以包括以下步骤:

s106、汇总分析所述抽象组成元素并输出至可视化展示界面。

在本发明实施例一中,可以对抽象组成元素进行汇总分析,包括但不限于所述sql语句涉及的表的个数、视图的个数、表中字段、数据类型等,可以采用关系型数据库mysql存储汇总分析对象,还可以将汇总分析结果输出至可视化展示界面进行展示,使得开发人员对所述sql语句有整体上的把控。

实施例二:

如图2所示,本发明实施例二提供了一种sql语句语法可视化分析系统200,包括sql语句获取模块201、ast对象生成模块202、ast对象解析模块203、数据加工逻辑图生成模块204、和展示模块205。

sql语句获取模块201,用于获取源sql语句并清洗后生成标准sql语句。

ast对象生成模块202,用于基于所述标准sql语句生成所述ast对象。

ast对象解析模块203,用于解析所述ast对象获取所述sql语句语法中的抽象组成元素。

数据加工逻辑图生成模块204,用于基于所述抽象组成元素生成数据加工逻辑图。

展示模块205,用于可视化展示所述抽象组成元素和/或所述数据加工逻辑图。

本发明实施例二提供的sql语句语法可视化分析系统与本申请一实施例提供的sql语句语法可视化分析方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。

实施例三

本发明实施例三提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例一所述的sql语句语法可视化分析方法的步骤。

在本发明中,获取源sql语句清洗后生成标准sql语句,基于标准sql语句生成ast对象,解析ast对象后获取sql语句中的抽象组成元素,包括表结构、表之间关联关系、数据上下游链路及血缘关系、功能函数、限定关系等,从而实现全链路sql语法树的可视化分析,帮助开发者理解数据加工流程,提高逻辑分析效率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1