【技术实现步骤摘要】
将SQL运行信息映射到SQL文件的方法、系统及电子设备
本专利技术属于计算机
,尤其涉及将SQL运行信息映射到SQL文件的方法、系统及电子设备。
技术介绍
在大数据离线应用和业务系统中,对于SQL的使用在一定程度上不可或缺,其中,SQL不仅被大量的应用在与数据库进行交互,以获取数据集(例如Mysql等面向关系型数据库),还被广泛应用在大数据离线计算中,以降低了编写程序的难度(例如Hive等面向分析型数据仓库)。但是,目前关系型数据库和面向分析型数据仓库等需要编写SQL进行计算的场景,用户运行SQL后,其仅能看到SQL运行整体的结果,即仅能看到SQL运行结果数据的准确性,但是并不能看到SQL中每个关键字对应的运行信息。为保证SQL在运行结果正确的基础上,增加其运行效率、统计信息和异常原因等判断的可视化,现有技术主要在SQL运行前进行人工或者自动化审核,判断SQL运行的效率和正确性问题。例如公开号CN106980637A的专利技术专利提出一种SQL文件审核的方法和装置,其中方法包括:获取慢日志数据;从所述慢 ...
【技术保护点】
1.一种将SQL运行信息映射到SQL文件的方法,其特征在于,包括步骤:/n获取并遍历待审核SQL文件的抽象语法树,筛选出所述抽象语法树中的有效关键字,并将所述有效关键字分别存储;/n获取所述有效关键字对应的运行信息,并将所述运行信息与所述有效关键字对应存储,生成运行信息映射树;/n遍历所述运行信息映射树,输出包含有效关键字的运行信息的SQL文件。/n
【技术特征摘要】
1.一种将SQL运行信息映射到SQL文件的方法,其特征在于,包括步骤:
获取并遍历待审核SQL文件的抽象语法树,筛选出所述抽象语法树中的有效关键字,并将所述有效关键字分别存储;
获取所述有效关键字对应的运行信息,并将所述运行信息与所述有效关键字对应存储,生成运行信息映射树;
遍历所述运行信息映射树,输出包含有效关键字的运行信息的SQL文件。
2.根据权利要求1所述的将SQL运行信息映射到SQL文件的方法,其特征在于,对所述抽象语法树中的有效关键字的筛选具体包括:
依据SQL计算引擎的语法文件生成解析工具和映射器;
利用所述解析工具获取待审核SQL文件的抽象语法树;
使用所述映射器遍历所述抽象语法树,筛选出有效关键字并将所述有效关键字分别存储。
3.根据权利要求2所述的将SQL运行信息映射到SQL文件的方法,其特征在于,依据SQL计算引擎的语法文件生成解析工具和映射器的方法包括:
按照语法分析器的语法规则编写SQL计算引擎的语法文件,或者获取SQL计算引擎适用于语法分析器的语法文件;
依据所述语法文件配置语法分析器的工具包,生成解析工具和映射接口;
定义所述映射接口,生成所述映射器。
4.根据权利要求3所述的将SQL运行信息映射到SQL文件的方法,其特征在于,所述解析工具包括词法分析器和语法解析器,其中,所述词法分析器从SQL文件的字符流中分离出所有单个的关键字,并将所述关键字输入所述语法解析器;所述语法解析器基于语法规则构建由所述关键字组成的抽象语法树;
所述映射接口包括监听器接口和访问者接口,分别定义所述监听器接口和所述访问者接口的关键字筛选参数,对应生成监听模式映射器和访问模式映射器。
5.根据权利要求2-4中任一项所述的将SQL运行信息映射到SQL文件的方法,其特征在于,使用所述映射器遍历所述抽象语法树,筛选出有效关键字并将所述有效关键字分别存储的方法包括:
创建运行信息映射树结构体,所述运行信息映射树结构体包括多个叶子结点,每个叶子结点对应有存储单元;
利用所述映射器遍历待审核SQL文件的抽象语法树,筛选并获取SQL抽象语法树上叶子结点对应的所有的有效关键字;
将所述有效关键...
【专利技术属性】
技术研发人员:李鸿飞,蔡苗,陈震宇,刘国华,
申请(专利权)人:中国邮政储蓄银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。