【技术实现步骤摘要】
语法解析器生成方法、SQL访问控制方法、装置及设备
[0001]本说明书涉及分布式数据库
,尤其是涉及一种语法解析器生成方法、SQL访问控制方法、装置及设备。
技术介绍
[0002]随着分布式数据库技术的发展,很多应用系统可以访问分布式数据库。然而,目前大量应用系统在访问分布式数据库的时,使用的SQL(Structured Query Language)语句缺乏统一规范;这种不规范的SQL语句容易造成分布式数据库的性能下降。因此,如何降低或避免不规范的SQL语句访问分布式数据库所造成的数据库性能下降,已成为目前亟待解决的技术问题。
技术实现思路
[0003]本说明书实施例的目的在于提供一种语法解析器生成方法、SQL访问控制方法、装置及设备,以降低或避免不规范的SQL语句访问分布式数据库所造成的数据库性能下降。
[0004]为达到上述目的,一方面,本说明书实施例提供了一种SQL访问控制方法,包括:
[0005]在应用程序执行SQL语句前,基于集成于所述应用程序中的过滤器链拦截所述SQL语句 ...
【技术保护点】
【技术特征摘要】
1.一种SQL访问控制方法,其特征在于,包括:在应用程序执行SQL语句前,基于集成于所述应用程序中的过滤器链拦截所述SQL语句;调用所述过滤器链中的过滤器对所述SQL语句执行对应的过滤处理;其中一个所述过滤器为配置有自定义的访问控制规则的语法分析器;当所述SQL语句未通过所述语法分析器的审核时,禁止所述应用程序执行所述SQL语句。2.如权利要求1所述的SQL访问控制方法,其特征在于,所述过滤器链配置于所述应用程序的数据库连接池中。3.如权利要求1所述的SQL访问控制方法,其特征在于,还包括:在所述应用程序启动时,遍历过滤器接口集合中各过滤器的开关是否处于打开状态;将所述过滤器接口集合中其开关处于打开状态的所有过滤器记载至过滤器链中。4.如权利要求1所述的SQL访问控制方法,其特征在于,所述禁止所述应用程序执行所述SQL语句,包括:终止所述应用程序的执行。5.如权利要求4所述的SQL访问控制方法,其特征在于,在终止所述应用程序的执行之后,还包括:输出提示日志。6.一种语法解析器生成方法,其特征在于,包括:获取SQL语法规则文件;对所述SQL语法规则文件进行词法分析,以从中提取符号集;对所述符号集进行语法解析,以生成解析树;在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器。7.如权利要求6所述的语法解析器生成方法,其特征在于,所述SQL语法规则文件包括多种关系型数据库的SQL语法规则文件。8.如权利要求6所述的语法解析器生成方法,其特征在于,所述对所述SQL语法规则文件进行词法分析,以从中提取符号集,包括:基于语法分析器生成工具的词法分析模块对所述SQL语法规则文件进行词法分析,获得对应的符号集。9.如权利要求6所述的语法解析器生成方法,其特征在于,所述对所述符号集进行语法解析,以生成解析树,包括:基于语法分析器生成工具的语法分析模块对所述符号集进行语法分析,获得对应的解析树。10.如权利要求6所述的语法解析器生成方法,其特征在于,所述在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器,包括:在所述解析树中规则对应的子节点的属性中,加入自定义的访问控制规则。11.一种SQL访...
【专利技术属性】
技术研发人员:刘小强,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。