System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种针对数据库的风险代码的检测方法及装置制造方法及图纸_技高网

一种针对数据库的风险代码的检测方法及装置制造方法及图纸

技术编号:40051218 阅读:10 留言:0更新日期:2024-01-16 21:14
本说明书提供一种针对数据库的风险代码的检测方法及装置,所述方法包括:获取待检测代码;查询所述待检测代码包含的数据定义语句,并判断所述数据定义语句是否基于在线方式实现,所述数据定义语句用于定义所述数据库中对应目标数据表的结构和模式;在判断结果为否的情况下,确定所述待检测代码在所述数据定义语句执行过程中存在针对所述目标数据表的数据操作语句阻塞的风险。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种针对数据库的风险代码的检测方法及装置


技术介绍

1、在涉及数据库的软件开发过程中,基于数据定义语言(data definitionlanguage,ddl)实现的数据定义语句可以有效帮助数据库定义关系模式以及各种数据库对象,进而提高数据处理效率。但在数据定义语句的执行过程中,相关的数据表将会被上锁,导致针对上述数据表的、基于数据操作语言(data manipulation language,dml)实现的数据操作语句被阻塞,进而影响对应的业务处理效率。

2、在相关技术中,可以通过在线方式(online)实现上述数据操作语句,使得该数据操作语句针对与原数据表对应的临时表进行上锁,进而避免针对原数据表的数据操作语句收到影响。然而,上述在线方式的存在与否并不会引起数据操作语句的编译错误,很难通过编译器发现此类问题,即使发现时上述软件往往也已经上线并影响到实际用户的业务处理。因此通常通过人工代码校验的方式来检测出代码中在数据定义语句执行过程中是否存在针对目标数据表的数据操作语句阻塞的风险,但该方式必然将浪费较大的时间成本与人力成本。


技术实现思路

1、有鉴于此,本专利技术提供一种针对数据库的风险代码的检测方法及装置,以解决相关技术中的不足。

2、具体地,本专利技术是通过如下技术方案实现:

3、根据本专利技术的第一方面,提供了一种针对数据库的风险代码的检测方法,所述方法包括:

4、获取待检测代码;

>5、查询所述待检测代码包含的数据定义语句,并判断所述数据定义语句是否基于在线方式实现,所述数据定义语句用于定义所述数据库中对应目标数据表的结构和模式;

6、在判断结果为否的情况下,确定所述待检测代码在所述数据定义语句执行过程中存在针对所述目标数据表的数据操作语句阻塞的风险。

7、根据本专利技术的第二方面,提供了一种针对数据库的风险代码的检测装置,所述装置包括:

8、代码获取单元,用于获取待检测代码;

9、语句查询单元,用于查询所述待检测代码包含的数据定义语句,并判断所述数据定义语句是否基于在线方式实现,所述数据定义语句用于定义所述数据库中对应目标数据表的结构和模式;

10、风险确定单元,用于在判断结果为否的情况下,确定所述待检测代码在所述数据定义语句执行过程中存在针对所述目标数据表的数据操作语句阻塞的风险。

11、根据本说明书实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的方法的步骤。

12、根据本说明书实施例的第四方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法的步骤。

13、本专利技术的实施例提供的技术方案可以包括以下有益效果:

14、在本专利技术的实施例中,可以通过从待检测代码中查询数据定义语句,以及该语句是否基于在线方式实现,从而判断出该待检测代码的数据定义语句在执行过程中是否存在针对目标数据表的数据操作语句阻塞的风险,进而帮助代码开发人员高效地发现并确认编译过程中无法发现的风险,并避免实际应用场景中计算资源消耗过度的情况发生。其中,由于整个检测风险过程无需依赖于人工参与,因此无需消耗大量的人力、时间成本较小。

本文档来自技高网...

【技术保护点】

1.一种针对数据库的风险代码的检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述查询所述待检测代码包含的数据定义语句,包括:

3.根据权利要求2所述的方法,其特征在于,所述判断所述数据定义语句是否基于在线方式实现,包括:

4.根据权利要求3所述的方法,其特征在于,所述数据定义语句由面向数据库对象的定义语法构成;所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述定义语法包含:增加语法、修改语法、删除语法和清除语法。

6.根据权利要求2所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述待检测代码包含于待检测程序中,所述方法还包括:

8.一种针对数据库的风险代码的检测装置,其特征在于,所述装置包括:

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~7任一所述方法的步骤。

10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7任一所述方法的步骤。

...

【技术特征摘要】

1.一种针对数据库的风险代码的检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述查询所述待检测代码包含的数据定义语句,包括:

3.根据权利要求2所述的方法,其特征在于,所述判断所述数据定义语句是否基于在线方式实现,包括:

4.根据权利要求3所述的方法,其特征在于,所述数据定义语句由面向数据库对象的定义语法构成;所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述定义语法包含:增加语法、修改语法、删除语法和清除语法。

6.根据权利要求...

【专利技术属性】
技术研发人员:刘磊
申请(专利权)人:浙江极氪智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1