System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别是涉及一种数据库的审计方法以及装置、介质、设备。
技术介绍
1、随着网络时代的发展,数据库得到了广泛的应用。为了保证数据库的正常运行,需要对数据库的相关问题进行审计,例如,索引是否缺失、字段设计是否合理、字符集是否相同等。
2、然而,目前由于敏捷开发的时效性,通常需要数据库上线到生产之后,才能够审计数据库是否存在上述缺陷,导致数据库审计不及时。
技术实现思路
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、按照预设的优化优先等级将各个所述异常结构化查询语言语句的优化建议以及所述第二审计结果对应的表元信息优化建议进行排序,以生成关于所述目标数据库的优化报告。
40、优选的,所述表元信息包括数据库名称、数据表名称、数据列名称、数据列的数据类型以及长度、数据列的约束、数据表的索引、数据表的字符集、数据表的比较规则。
41、优选的,所述结构化查询语言语句包括数据查询语言语句以及数据操作语言语句。
42、根据本申请的又一方面,提供了一种存储介质,所述存储介质中存储有至少一条可执行指令,所述可执行指令使处理器执行如上述数据库的审计方法对应的操作。
43、根据本申请的再一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
44、所述存储器用于存放本文档来自技高网...
【技术保护点】
1.一种数据库的审计方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述执行各个所述结构化查询语言语句,根据对应的执行结果生成第一审计结果,具体包括:
3.根据权利要求1所述的方法,其特征在于,所述获取客户端与服务端之间的通信数据,将所述通信数据解析为至少一个结构化查询语言语句,具体包括:
4.根据权利要求1所述的方法,其特征在于,所述获取客户端与服务端之间的通信数据,将所述通信数据解析为至少一个结构化查询语言语句,并执行各个所述结构化查询语言语句,根据对应的执行结果生成第一审计结果之前,所述方法还包括:
5.根据权利要求1或2所述的方法,其特征在于,所述基于所述第一审计结果以及所述第二审计结果生成关于所述目标数据库的优化报告,具体包括:
6.根据权利要求1所述的方法,其特征在于,所述表元信息包括数据库名称、数据表名称、数据列名称、数据列的数据类型以及长度、数据列的约束、数据表的索引、数据表的字符集、数据表的比较规则。
7.根据权利要求1或3所述的方法,其特征在于,所述结构化查询语言语句包
8.一种数据库的审计装置,其特征在于,包括:
9.一种存储介质,所述存储介质中存储有至少一条可执行指令,其特征在于,所述可执行指令使处理器执行如权利要求1-7中任一项所述的数据库的审计方法对应的操作。
10.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
...【技术特征摘要】
1.一种数据库的审计方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述执行各个所述结构化查询语言语句,根据对应的执行结果生成第一审计结果,具体包括:
3.根据权利要求1所述的方法,其特征在于,所述获取客户端与服务端之间的通信数据,将所述通信数据解析为至少一个结构化查询语言语句,具体包括:
4.根据权利要求1所述的方法,其特征在于,所述获取客户端与服务端之间的通信数据,将所述通信数据解析为至少一个结构化查询语言语句,并执行各个所述结构化查询语言语句,根据对应的执行结果生成第一审计结果之前,所述方法还包括:
5.根据权利要求1或2所述的方法,其特征在于,所述基于所述第一审计结果以及所述第二审计结果生成关于所述目标数据库的优化报告,...
【专利技术属性】
技术研发人员:吴齐,胡财忺,
申请(专利权)人:深圳前海环融联易信息科技服务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。