System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库领域,并且更具体地,涉及一种结构化查询语言sql防御的方法、系统以及计算设备。
技术介绍
1、在当前的结构化查询语言(structured query language,sql)引擎中,通过执行用户的sql语句为用户提供数据查询服务。随着技术的发展,sql引擎层出不穷,在带给我们解决方案多样性的同时,也暴露出一定的问题,比如用户输入的sql语句的质量良莠不齐,低质量的sql语句会给平台或系统带来的不可预料的冲击。对于大sql语句或烂sql语句会造成系统的瘫痪,导致服务不可用。对于慢sql语句会影响系统的稳定性,主要表现是服务器线程池被占满,造成雪崩效应,其它正常sql无法正常执行,出现系统假死现象。
2、相关的技术方案中,通过业务层对sql语句进行解析和防御,一方面,由于在业务层中对sql语句进行解析判断,需要改造业务层的业务流程。另一方面,由于在业务层中需要对sql语句进行解析判断,对于符合要求的sql语句需要发送给sql引擎,sql引擎在对sql语句进行处理时,还需要对sql语句再次进行解析,性能损耗较高。另一方面,每个sql引擎各自针对自己的sql语法进行sql语句的解析和防御,这样不仅灵活性差,可扩展性也较差,sql语法的通用性不足。
3、因此,如何增强sql防御的灵活性和可扩展性成为亟需要解决的技术问题。
技术实现思路
1、本申请提供一种结构化查询语言sql防御的方法、系统以及计算设备,该方法能够增强sql防御的灵活性和可扩展性。<
...【技术保护点】
1.一种结构化查询语言SQL防御的方法,其特征在于,所述方法应用于SQL防御系统,所述SQL防御系统包括SQL防御规则配置单元和多个SQL引擎,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述多个SQL引擎包括第一SQL引擎,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述SQL防御规则配置单元根据每个所述SQL防御规则中生效的SQL引擎,将配置的SQL防御规则分别发送给对应的SQL引擎包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述SQL防御规则包括提示类的SQL防御规则、拦截类的SQL防御规则、熔断类的SQL防御规则。
5.根据权利要求4所述的方法,其特征在于,第一SQL防御规则为所述提示类的SQL防御规则,
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求4所述的方法,其特征在于,所述第一SQL防御规则为所述拦截类的SQL防御规则或所述熔断类的SQL防御规则,
8.根据权利要求7所述的方法,其特征在于,所述方法还
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述SQL防御规则中还包括生效的租户列表以及规则标识ID。
10.一种结构化查询语言SQL防御的系统,其特征在于,所述系统包括SQL防御规则配置单元和多个SQL引擎:
11.根据权利要求10所述的系统,其特征在于,所述多个SQL引擎包括第一SQL引擎,
12.根据权利要求10或11所述的系统,其特征在于,所述SQL防御规则配置单元具体用于:
13.根据权利要求10至12中任一项所述的系统,其特征在于,所述SQL防御规则包括提示类的SQL防御规则、拦截类的SQL防御规则、熔断类的SQL防御规则。
14.根据权利要求13所述的系统,其特征在于,第一SQL防御规则为所述提示类的SQL防御规则,
15.根据权利要求14所述的系统,其特征在于,
16.根据权利要求13所述的系统,其特征在于,所述第一SQL防御规则为所述拦截类的SQL防御规则或所述熔断类的SQL防御规则,
17.根据权利要求16所述的系统,其特征在于,
18.根据权利要求10至17中任一项所述的系统,其特征在于,所述SQL防御规则中还包括生效的租户列表以及规则标识ID。
19.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
20.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求的1至9中任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至9中任一项所述的方法。
...【技术特征摘要】
1.一种结构化查询语言sql防御的方法,其特征在于,所述方法应用于sql防御系统,所述sql防御系统包括sql防御规则配置单元和多个sql引擎,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述多个sql引擎包括第一sql引擎,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述sql防御规则配置单元根据每个所述sql防御规则中生效的sql引擎,将配置的sql防御规则分别发送给对应的sql引擎包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述sql防御规则包括提示类的sql防御规则、拦截类的sql防御规则、熔断类的sql防御规则。
5.根据权利要求4所述的方法,其特征在于,第一sql防御规则为所述提示类的sql防御规则,
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求4所述的方法,其特征在于,所述第一sql防御规则为所述拦截类的sql防御规则或所述熔断类的sql防御规则,
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述sql防御规则中还包括生效的租户列表以及规则标识id。
10.一种结构化查询语言sql防御的系统,其特征在于,所述系统包括sql防御规则配置单元和多个sql引擎:
11.根据权利...
【专利技术属性】
技术研发人员:武文博,赵胜涛,吴定梅,
申请(专利权)人:华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。