【技术实现步骤摘要】
一种风险代码的检测方法及装置
[0001]本说明书涉及计算机
,尤其涉及一种风险代码的检测方法及装置
。
技术介绍
[0002]在软件开发过程中,针对数据库的基本操作
(
即
CRUD
,
Create,Read,Update and Delete
,增加,删除,修改与查询
)
编写是设计相关业务时的重要环节
。
当需要查询来自数据库中多个表的组合数据时,可以在对应的数据库语句中连接
(JOIN)
关键词以轻松地实现
。
然而,在面对查询海量数据的场景时,开发人员可能由于编程经验的不足或者对数据库表结构设计不科学等原因滥用连接关键词,导致对应的数据库语句因为对过多的数据表进行连接操作而引起
CPU(Central Processing Unit
,中央处理机
)
资源及
IO(Input Output
,输入输出
)
资源的指数级别增大, ...
【技术保护点】
【技术特征摘要】
1.
一种风险代码的检测方法,其特征在于,所述方法包括:获取待检测代码;查询所述待检测代码包含的数据库语句中的连接关键词;在确定任一数据库语句中的连接关键词的数量大于预设最大阈值的情况下,确定所述待检测代码存在涉及多表连接的复杂数据库语句的风险
。2.
根据权利要求1所述的方法,其特征在于,所述查询所述待检测代码包含的数据库语句中的连接关键词,包括:解析所述待检测代码,以获取相应的抽象语法树;根据所述抽象语法树查询所述待检测代码中的数据库节点,所述数据库节点用于表征所述待检测代码中的所述数据库语句;遍历查询到的数据库节点,并统计被遍历的数据库节点对应的数据库语句中的连接关键词
。3.
根据权利要求2所述的方法,其特征在于,所述统计被遍历的数据库节点对应的数据库语句中的连接关键词,包括:提取对应数据库节点的文本属性值,所述文本属性值描述有所述数据库语句的内容;查询所述文本属性值中匹配所述连接关键词的目标内容,并对所述目标内容计数
。4.
根据权利要求2所述的方法,其特征在于,所述数据库语句为数据查询语句;所述数据库节点为用于表征所述数据查询语句的数据查询节点
。5.
根据权利要求4所述的方法,其特征在于,所述方法还包括:在未查询到所述数据库节点或所有数据库节点不为所述数据查询语句的情况下,确定所述待检测代码不存在涉及多表连接的复杂数据库语句的风险
。6.
根据权利要求2所述的方...
【专利技术属性】
技术研发人员:方海波,
申请(专利权)人:浙江吉利控股集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。