System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开的实施例涉及计算机,具体涉及结构化查询语句信息处理方法、装置、电子设备和介质。
技术介绍
1、对mybatis配置文件中的sql语句进行预校验处理,可以发现sql语句中的潜在性能风险,从而降低线上执行sql的风险。目前,主要通过人工或正则匹配的方式对mybatis配置文件中的sql语句进行审查。
2、然而,实践中,当采用上述方式进行结构化查询语句信息处理时,经常会存在如下技术问题:
3、单个工程往往有多个mybatis配置文件,每个mybatis配置文件往往有多行代码,当采用人工校验方式,导致校验效率较低。采用正则匹配的方式,需要人工制定大量的匹配规则,对匹配规则未涉及到的问题sql无法检出,且mybatis的配置文件是xml标签与sql语法混合在一起的语法,并不是语法完备的sql语句,只有在条件满足时,存在性能风险的sql语句才会被生成出来,并导致线上问题,从而导致对存在性能风险的sql语句的检出率较低。
4、该
技术介绍
部分中所公开的以上信息仅用于增强对本专利技术构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
2、本公开的一些实施例提出了结构化查询语句信息处理方法、装
3、第一方面,本公开的一些实施例提供了一种结构化查询语句信息处理方法,该方法包括:获取目标配置文件信息;对上述目标配置文件信息进行信息抽取处理,得到各个结构化查询语句配置信息;对上述各个结构化查询语句配置信息进行分类处理,得到各个结构化查询语句配置信息集合;对于上述各个结构化查询语句配置信息集合中的每个结构化查询语句配置信息集合,执行以下处理步骤:对上述结构化查询语句配置信息集合中的各个结构化查询语句配置信息进行预处理,得到预处理后的各个结构化查询语句配置信息作为各个结构化查询语句信息;对上述各个结构化查询语句信息进行校验处理,得到各个校验结果信息;将上述各个校验结果信息中满足预设校验条件的各个校验结果信息对应的各个结构化查询语句信息确定为各个待处理查询语句信息;将上述各个待处理查询语句信息和上述各个待处理查询语句信息对应的各个校验结果信息发送至相关联的终端设备。
4、第二方面,本公开的一些实施例提供了一种结构化查询语句信息处理装置,装置包括:获取单元,被配置成获取目标配置文件信息;抽取单元,被配置成对上述目标配置文件信息进行信息抽取处理,得到各个结构化查询语句配置信息;分类单元,被配置成对上述各个结构化查询语句配置信息进行分类处理,得到各个结构化查询语句配置信息集合;处理单元,被配置成对于上述各个结构化查询语句配置信息集合中的每个结构化查询语句配置信息集合,执行以下处理步骤:对上述结构化查询语句配置信息集合中的各个结构化查询语句配置信息进行预处理,得到预处理后的各个结构化查询语句配置信息作为各个结构化查询语句信息;对上述各个结构化查询语句信息进行校验处理,得到各个校验结果信息;将上述各个校验结果信息中满足预设校验条件的各个校验结果信息对应的各个结构化查询语句信息确定为各个待处理查询语句信息;将上述各个待处理查询语句信息和上述各个待处理查询语句信息对应的各个校验结果信息发送至相关联的终端设备。
5、第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面任一实现方式所描述的方法。
6、第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述第一方面任一实现方式所描述的方法。
7、本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的结构化查询语句信息处理方法,提高了校验sql语句的效率和问题sql语句的检出率。具体来说,造成处理结构化查询语句的效率和问题sql语句的检出率较低的原因在于:单个工程往往有多个mybatis配置文件,每个mybatis配置文件往往有多行代码,当采用人工校验方式,导致校验效率较低。采用正则匹配的方式,需要人工制定大量的匹配规则,对匹配规则未涉及到的问题sql无法检出,且mybatis的配置文件是xml标签与sql语法混合在一起的语法,并不是语法完备的sql语句,只有在条件满足时,存在性能风险的sql语句才会被生成出来,并导致线上问题,从而导致对存在性能风险的sql语句的检出率较低。基于此,本公开的一些实施例的结构化查询语句信息处理方法,首先,获取目标配置文件信息。由此,可以得到mybatis配置文件的文本信息。然后,对上述目标配置文件信息进行信息抽取处理,得到各个结构化查询语句配置信息。由此,可以得到包括sql语句配置信息的各个结构化查询语句配置信息。之后,对上述各个结构化查询语句配置信息进行分类处理,得到各个结构化查询语句配置信息集合。由此,可以得到各个结构化查询语句配置信息集合。其中,结构化查询语句配置信息集合中的各个结构化查询语句配置信息对应的结构化查询语句类别相同。接着,对于上述各个结构化查询语句配置信息集合中的每个结构化查询语句配置信息集合,执行以下处理步骤:首先,对上述结构化查询语句配置信息集合中的各个结构化查询语句配置信息进行预处理,得到预处理后的各个结构化查询语句配置信息作为各个结构化查询语句信息。由此,可以得到各个语法完整的各个结构化查询语句信息。然后,对上述各个结构化查询语句信息进行校验处理,得到各个校验结果信息。由此,可以得到对各个结构化查询语句信息进行校验后的校验结果。之后,将上述各个校验结果信息中满足预设校验条件的各个校验结果信息对应的各个结构化查询语句信息确定为各个待处理查询语句信息。由此,可以得到各个结构化查询语句信息中存在的各个性能漏洞类型。最后,将上述各个待处理查询语句信息和上述各个待处理查询语句信息对应的各个校验结果信息发送至相关联的终端设备。由此,可以在上述终端设备上显示各个待处理查询语句信息和上述各个待处理查询语句信息对应的各个校验结果信息,可以使相关技术人员进行参考,以确定是否需要修改各个待处理查询语句信息。也因为所实现的结构化查询语句信息处理方法,能够自动对mybatis配置文件进行扫描检测,并对检测出的sql语句配置信息进行分类,得到各个类别,并对不同的类别对应的各个sql语句进行预处理,得到各个语义完整的各个sql语句,并对sql语句进行性能风险校验,得到各个校验结果,不需要人工参与,也不需要专业人员制定大量匹配规则,从而提高了处理结构化查询语句的效率和问题sql语句的检出率。
本文档来自技高网...【技术保护点】
1.一种结构化查询语句信息处理方法,包括:
2.根据权利要求1所述的方法,其中,所述对所述结构化查询语句配置信息集合中的各个结构化查询语句配置信息进行预处理,得到预处理后的各个结构化查询语句配置信息作为各个结构化查询语句信息,包括:
3.根据权利要求2所述的方法,其中,所述根据所确定的结构化查询语句类型信息,对所述各个结构化查询语句配置信息进行标签替换处理,得到标签替换处理后的各个结构化查询语句配置信息作为各个结构化查询语句信息,包括:
4.根据权利要求1所述的方法,其中,所述对所述各个结构化查询语句信息进行校验处理,得到各个校验结果信息,包括:
5.根据权利要求4所述的方法,其中,所述查询语法信息为树形结构,所述查询语法信息包括各个节点和各个节点对应的各个属性信息;以及所述根据所述查询语法信息,生成所述结构化查询语句信息对应的校验结果信息,包括:
6.根据权利要求5所述的方法,其中,所述方法还包括:
7.根据权利要求1所述的方法,其中,在所述将所述各个待处理查询语句信息和所述各个待处理查询语句信息对应的各个
8.一种结构化查询语句信息处理装置,包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的方法。
...【技术特征摘要】
1.一种结构化查询语句信息处理方法,包括:
2.根据权利要求1所述的方法,其中,所述对所述结构化查询语句配置信息集合中的各个结构化查询语句配置信息进行预处理,得到预处理后的各个结构化查询语句配置信息作为各个结构化查询语句信息,包括:
3.根据权利要求2所述的方法,其中,所述根据所确定的结构化查询语句类型信息,对所述各个结构化查询语句配置信息进行标签替换处理,得到标签替换处理后的各个结构化查询语句配置信息作为各个结构化查询语句信息,包括:
4.根据权利要求1所述的方法,其中,所述对所述各个结构化查询语句信息进行校验处理,得到各个校验结果信息,包括:
5.根据权利要求4所述的方法,其中,所述...
【专利技术属性】
技术研发人员:丁晨阳,朱小娟,刘丹,
申请(专利权)人:扬州市职业大学扬州开放大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。