System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及云数据库服务,尤其涉及一种文档数据库审计方法及系统。
技术介绍
1、当前常用的分布式文档数据库支持比较完善的审计功能,包括灵活的审计规则配置,支持控制台、syslog、bson文件、json文件等多种输出方式,并支持ddl、副本集和分片集群、认证操作、读写操作的审计。
2、但是上述的文档数据库对读写操作的审计不够完善。现有技术采用在权限检查时记录读写操作,记录时间在请求执行之前,因此不能记录请求的总耗时,访问的文档条数等细节信息,这些信息不能在审计日志中得到最终体现。
3、另外审计规则和参数配置不够便捷。现有技术采用配置文件以及连接数据库节点执行命令的方式进行设置,如果采用配置文件进行设置,则需要重启节点才能生效;如果采用连接节点执行命令的方式进行设置,则节点发生故障重启之后会出现配置丢失。另外,这2种方式都需要对每个数据库节点进行操作,一般mongodb集群有多个mongos,configserver和mongod节点,这种方式下会导致配置流程较为复杂,并且容易出现操作错误。
技术实现思路
1、本专利技术旨在至少解决相关技术中存在的技术问题之一。为此,本专利技术提供一种文档数据库审计方法及系统。
2、本专利技术提供一种文档数据库审计方法,包括:
3、s1:接收用户审计请求,所述审计请求中包括配置信息及审计规则;
4、s2:通过网络调用将所述配置信息发送并存储至文档数据库的系统表,所述文档数据库中的多个节点由
5、s3:同步所述配置信息后的节点根据所述审计规则进行审计,并将审计结果填充为审计日志;
6、s4:基于内存缓冲区的共享锁,将所述审计日志拷贝至内容缓冲区中的可写槽位;
7、s5:通过节点中异于进行审计的后台线程将所述审计日志持久化至硬盘,以完成文档数据库审计。
8、根据本专利技术提供的一种文档数据库审计方法,步骤s2中的所述系统表为config.audit_settings表。
9、根据本专利技术提供的一种文档数据库审计方法,步骤s2中,文档数据库中的所述节点的类型包括:
10、mongos节点,所述mongos节点为分片集群节点;
11、mongod节点,所述mongod节点为副本集节点。
12、根据本专利技术提供的一种文档数据库审计方法,步骤s3中的所述审计日志为json格式。
13、根据本专利技术提供的一种文档数据库审计方法,步骤s4进一步包括:
14、s41:获取内容缓冲区的共享锁;
15、s42:根据所述审计日志的大小,通过原子操作获取内存缓冲区内的可写槽位;
16、s43:将所述审计日志拷贝至所述可写槽位;
17、s44:释放内容缓冲区的所述共享锁。
18、根据本专利技术提供的一种文档数据库审计方法,步骤s5进一步包括:
19、s51:获取需要持久化的内存缓冲区的互斥锁;
20、s52:将需要持久化的内存缓冲区及空白缓冲区进行指针交换及角色互换;
21、s53:释放需要持久化的内存缓冲区的所述互斥锁;
22、s54:将需要持久化的内存缓冲区中的所述审计日志的内容批量持久化至硬盘的日志文件中。
23、根据本专利技术提供的一种文档数据库审计方法,步骤s5中持久化的触发条件为:
24、所述内存缓冲区的使用率达到预设阈值触发;
25、单位时间段内定期触发。
26、本专利技术还提供一种文档数据库审计系统,包括:
27、配置同步模块:用于接收用户审计请求,还用于将配置信息发送并存储至文档数据库的系统表,并为文档数据库中的多个节点由所述系统表同步所述配置信息;
28、审计执行模块:用于根据审计规则进行审计,并将审计结果填充为审计日志;
29、日志拷贝模块:用于将所述审计执行模块获得的审计日志拷贝至内容缓冲区中的可写槽位;
30、日志持久化模块:用于通过节点中异于进行审计的后台线程将所述审计日志持久化至硬盘。
31、本专利技术还提供一种文档数据库审计设备,包括:
32、存储器和至少一个处理器,所述存储器中存储有指令;
33、至少一个所述处理器调用所述存储器中的所述指令,以使得文档数据库审计设备执行如以上任一项所述的一种文档数据库审计方法。
34、本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如以上任一项所述的一种文档数据库审计方法。
35、本专利技术提供的一种文档数据库审计方法、系统、设备及存储介质,首先简化了配置流程,通过直接将配置写入写系统表,并后台自动同步的方式,简化了配置流程,并保证了配置的一致性和持久性;其次拥有更丰富的审计信息,通过将读写操作的审计流程放在请求执行完后进行,能够在审计日志中记录请求耗时、扫描的索引条数、扫描的文档条数等关键信息;另外还具有显著的性能提升,通过无锁缓冲区、双缓冲区机制,以及优化后的审计日志生成逻辑,使得开启审计功能后数据库的吞吐不会出现大幅降低的情况,相比现有技术实现了显著的性能提升;最后更加稳定可控,通过固定缓冲区大小,定时周期性触发和缓冲区使用率阈值触发的双重机制,使得缓冲区大小更加可控,数据库节点的内存使用更加可控。
36、本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
本文档来自技高网...【技术保护点】
1.一种文档数据库审计方法,其特征在于,包括:
2.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤S2中的所述系统表为config.audit_settings表。
3.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤S2中,文档数据库中的所述节点的类型包括:
4.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤S3中的所述审计日志为JSON格式。
5.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤S4进一步包括:
6.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤S5进一步包括:
7.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤S5中持久化的触发条件为:
8.一种文档数据库审计系统,其特征在于,包括:
9.一种文档数据库审计设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如权利要求1至7任一项所述的一种文档数据
...【技术特征摘要】
1.一种文档数据库审计方法,其特征在于,包括:
2.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤s2中的所述系统表为config.audit_settings表。
3.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤s2中,文档数据库中的所述节点的类型包括:
4.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤s3中的所述审计日志为json格式。
5.根据权利要求1所述的一种文档数据库审计方法,其特征在于,步骤s...
【专利技术属性】
技术研发人员:彭振翼,谈志军,许光华,魏兴国,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。