首页  专利技术  电子电路装置的制造及其应用技术

数据库操作语句检测方法和装置、电子设备及存储介质与流程

2026-04-29 10:20:01 320次浏览
数据库操作语句检测方法和装置、电子设备及存储介质与流程

本技术涉及金融科技,尤其涉及一种数据库操作语句检测方法和装置、电子设备及存储介质。


背景技术:

1、目前,随着数据库规模和复杂性的增加,对于数据库的安全性问题变得越来越重要。数据库通常有日志系统,相关技术可以通过日志进程将数据库中用户执行的结构化查询语言(structured query language,sql)语句写入日志文件中,以根据该日志文件实现对用户操作行为对应的sql语句的检测,从而保证数据库的安全性。例如,在金融科技的保险领域中,其对应的数据库在一天内会采集到大量用户操作行为对应的sql语句,通过对sql语句进行准确地检测,可以及时捕获和分析sql语句执行过程中出现的错误和异常,确保sql语句的执行符合相关的安全策略和合规性要求。

2、然而,相关技术的sql语句检测方法只能实现对数据定义语言(data def i n iti on language,ddl)或数据操作语言(data man i pu l at i on language,dml)等大类sql语句的检测,而不能对某类sql语句的细节检测,降低了数据库的安全性。因此,如何提高对数据库操作语句的检测准确性,成为了亟待解决的技术问题。


技术实现思路

1、本技术实施例的主要目的在于提出一种数据库操作语句检测方法和装置、电子设备及存储介质,旨在提高对数据库操作语句的检测准确性。

2、为实现上述目的,本技术实施例的第一方面提出了一种数据库语句检测方法,所述方法包括:

3、获取目标操作语句的解析数据,所述解析数据包括执行用户数据、语句类型标签、目标操作对象和语句执行状态,所述目标操作语句为数据库操作语句,并用于对目标数据库的数据执行操作,所述语句执行状态用于表征所述目标操作语句为对所述目标数据库的数据所执行的操作为成功或者失败;

4、基于所述语句类型标签从预设规则表筛选出目标类型规则,并将所述目标操作语句、所述执行用户数据、所述目标类型规则和所述语句类型标签写入目标栈;

5、基于所述语句类型标签获取所述目标操作对象的对象名称、对象模式和对象类型,并将所述对象名称、所述对象模式和所述对象类型写入所述目标栈;

6、基于所述目标类型规则从注册执行函数中确定目标执行函数;

7、基于所述目标执行函数的预设执行状态和所述语句执行状态对所述目标操作语句进行时机检测,得到所述目标操作语句的时机检测状态,所述预设执行状态为调用所述目标执行函数期望得到的执行状态,所述时机检测状态用于表征对所述目标操作语句的检测为成功或失败;

8、基于所述时机检测状态和所述目标栈生成所述目标操作语句的语句检测报告,所述语句检测报告用于分析所述目标操作语句对所述目标数据库的数据执行过程的异常情况。

9、在一些实施例,在所述基于所述语句类型标签从预设规则表筛选出目标类型规则之前,所述方法还包括:

10、基于预设失效消息函数确定所述预设规则表的规则缓存状态,所述规则缓存状态包括无效状态,所述无效状态用于指示所述预设规则表的预设缓存中的规则发生变化;

11、若所述规则缓存状态是所述无效状态,获取当前配置的规则数据;

12、将所述规则数据加载到所述预设缓存中;

13、基于所述规则数据和所述规则数据的类型之间的映射关系构建所述预设规则表。

14、在一些实施例,所述基于所述语句类型标签获取所述目标操作对象的对象名称、对象模式和对象类型,包括:

15、若所述语句类型标签是预设类型标签,基于所述目标类型规则获取所述目标操作对象的所述对象名称、所述对象模式和所述对象类型;或者,

16、若所述语句类型标签不是所述预设类型标签,基于预设触发器获取所述目标操作对象的所述对象名称、所述对象模式和所述对象类型。

17、在一些实施例,所述基于所述目标类型规则获取所述目标操作对象的所述对象名称、所述对象模式和所述对象类型,包括:

18、基于所述目标操作对象的对象名称和所述目标类型规则进行对象规则匹配,得到对象规则匹配状态;所述对象规则匹配状态包括包含状态,所述包含状态表示所述目标类型规则中包含与所述目标操作对象的对象名称匹配的规则;

19、若所述对象规则匹配结果是所述包含状态,基于预设数据获取函数获取所述目标操作对象的所述对象名称、所述对象模式和所述对象类型。

20、在一些实施例,所述时机检测状态包括检测成功状态,所述检测成功状态表示所述预设执行状态与所述语句执行状态的类型相同;所述基于所述时机检测状态和所述目标栈生成所述目标操作语句的语句检测报告,包括:

21、若所述时机检测状态是所述检测成功状态,获取所述目标操作语句的事务数据、所述目标数据库的数据库名和语句执行数据;

22、基于所述事务数据、所述数据库名、所述语句执行数据和所述目标栈中的数据,生成所述语句检测报告。

23、在一些实施例,所述基于所述目标执行函数的预设执行状态和所述语句执行状态对所述目标操作语句进行时机检测,得到所述目标操作语句的时机检测状态,包括:

24、对所述目标栈进行遍历操作,得到栈数据;

25、对所述栈数据进行类型检测,得到所述栈数据的数据类型,所述数据类型包括待测类型,所述待测类型用于表征所述栈数据与所述目标操作语句的语句检测相关;

26、若所述数据类型是所述待测类型,基于所述预设执行状态和所述语句执行状态对所述目标操作语句进行时机检测,得到所述时机检测状态。

27、在一些实施例,所述时机检测状态还包括检测失败状态,所述检测失败状态表示所述预设执行状态与所述语句执行状态的类型不相同;所述基于所述时机检测状态和所述目标栈生成所述目标操作语句的语句检测报告,还包括:

28、若所述时机检测状态是所述检测失败状态,释放所述目标栈;

29、对所述目标栈进行栈检测,得到栈状态。

30、为实现上述目的,本技术实施例的第二方面提出了一种数据库操作语句检测装置,所述装置包括:

31、获取模块,获取目标操作语句的解析数据,所述解析数据包括执行用户数据、语句类型标签、目标操作对象和语句执行状态,所述目标操作语句为数据库操作语句,并用于对目标数据库的数据执行操作,所述语句执行状态用于表征所述目标操作语句为对所述目标数据库的数据所执行的操作为成功或者失败;

32、第一写入模块,用于基于所述语句类型标签从预设规则表筛选出目标类型规则,并将所述目标操作语句、所述执行用户数据、所述目标类型规则和所述语句类型标签写入目标栈;

33、第二写入模块,用于基于所述语句类型标签获取所述目标操作对象的对象名称、对象模式和对象类型,并将所述对象名称、所述对象模式和所述对象类型写入所述目标栈;

34、确定模块,用于确定基于所述目标类型规则从注册执行函数中确定目标执行函数;

35、检测模块,基于所述目标执行函数的预设执行状态和所述语句执行状态对所述目标操作语句进行时机检测,得到所述目标操作语句的时机检测状态,所述预设执行状态为调用所述目标执行函数期望得到的执行状态,所述时机检测状态用于表征对所述目标操作语句的检测为成功或失败;

36、生成模块,用于基于所述时机检测状态和所述目标栈生成所述目标操作语句的语句检测报告,所述语句检测报告用于分析所述目标操作语句对所述目标数据库的数据执行过程的异常情况。

37、为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的一种数据库操作语句检测方法。

38、为实现上述目的,本技术实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的一种数据库操作语句检测方法。

39、本技术提出的一种数据库操作语句检测方法和装置、电子设备及存储介质,其通过获取目标操作语句的解析数据,解析数据包括执行用户数据、语句类型标签、目标操作对象和语句执行状态,目标操作语句为数据库操作语句、并用于对目标数据库的数据执行操作,语句执行状态用于表征目标操作语句为对目标数据库的数据所执行的操作为成功或者失败;基于语句类型标签从预设规则表筛选出目标类型规则;将目标操作语句、执行用户数据、目标类型规则和语句类型标签写入目标栈;基于语句类型标签获取目标操作对象的对象名称、对象模式和对象类型,并将对象名称、对象模式和对象类型写入目标栈;基于目标类型规则从注册执行函数中确定目标执行函数;基于目标执行函数的预设执行状态和语句执行状态对目标操作语句进行时机检测,得到目标操作语句的时机检测状态,预设执行状态为调用目标执行函数期望得到的执行状态,时机检测状态用于表征对目标操作语句的检测为成功或失败;基于时机检测状态和目标栈生成目标操作语句的语句检测报告,语句检测报告用于分析目标操作语句对目标数据库的数据执行过程的异常情况。本技术实施例可以基于语句类型标签对一个目标操作语句对应的用户、对象、执行状态、匹配的规则等角度进行语句检测,相比于相关技术只能利用日志文件对ddl、dml等大类操作语句进行检测的方式,本技术的检测粒度更细,可以实现对某类sql语句的细节检测,提高了对数据库操作语句的检测准确性。

文档序号 : 【 40164562 】

技术研发人员:颜学彪
技术所有人:平安科技(深圳)有限公司

备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
颜学彪平安科技(深圳)有限公司
一种链条受蚀断裂应力测量装置及其测量方法 对岩石炮孔进行切缝的装置的制作方法
相关内容