数据库存储引擎的测试方法、装置及电子设备制造方法及图纸

技术编号:36545327 阅读:17 留言:0更新日期:2023-02-04 16:57
本申请提供了一种数据库存储引擎的测试方法、装置及电子设备,方法应用于安装有日志组件的服务器,服务器中配置有日志组件对应的日志配置信息;方法包括:接收数据库存储引擎对应的测试指令;加载日志配置信息;根据日志配置信息获取日志输出规则;对存储引擎进行测试,得到测试过程中生成的目标监测事件对应的初始日志信息;通过日志输出规则对初始日志信息进行输出处理,得到目标监测事件对应的目标日志信息。本申请能够基于通过日志组件的日志配置信息获取的日志输出规则,快速输出目标监测事件对应的目标日志信息,使数据库存储引擎运行过程可视化,且有效提升数据库存储引擎调试效率。试效率。试效率。

【技术实现步骤摘要】
数据库存储引擎的测试方法、装置及电子设备


[0001]本申请涉及软件
,尤其是涉及一种数据库存储引擎的测试方法、装置及电子设备。

技术介绍

[0002]MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB从架构上来说由两层组成,上层主要为数据库需要处理的一些重要协议,包括副本协议、命令解析协议、网络连接协议、Bson的定义和日志组件管理等;下层是MongoDB的核心组件存储引擎,负责管理数据如何存储在硬盘和内存上,包括KV引擎、WiredTiger引擎等。
[0003]MongoDB程序代码过于复杂,开发调试过程中可能会出现各种各样的问题,现有技术中通常采用GDB(GNU symbolic debugger,GNU Project调试器)对下层存储引擎进行调试,这种方式需要设置精准的断点,导致定位问题慢,调试效率低。而且MongoDB在测试下层引擎的时候,不能直接引用上层的日志组件,这就导致调试下层引擎缺少一种有效手段。

技术实现思路

[0004]本申请的目的在于提供一种数据库存储引擎的测试方法、装置及电子设备,能够基于通过日志组件的日志配置信息获取的日志输出规则,快速输出目标监测事件对应的目标日志信息,使数据库存储引擎运行过程可视化,且有效提升数据库存储引擎调试效率。
[0005]第一方面,本申请实施例提供一种数据库存储引擎的测试方法,该方法应用于安装有日志组件的服务器;服务器中配置有日志组件对应的日志配置信息;该方法包括:接收数据库存储引擎对应的测试指令;加载日志配置信息;根据日志配置信息获取日志输出规则;对存储引擎进行测试,得到测试过程中生成的目标监测事件对应的初始日志信息;通过日志输出规则对初始日志信息进行输出处理,得到目标监测事件对应的目标日志信息。
[0006]在可选的实施方式中,上述加载上述日志配置信息的步骤,包括:获取日志组件对应的存储位置;从存储位置读取并加载日志配置信息;其中,日志配置信息至少包括以下之一:日志格式信息、日志级别信息和日志文件信息;日志文件信息包括:日志文件存储位置和/或单个日志文件的字节最大限制。
[0007]在可选的实施方式中,上述日志输出规则至少包括以下一个规则项:日志格式、日志级别和日志文件;根据日志配置信息,获取日志输出规则的步骤,包括:确定日志输出规则包括的规则项有:日志格式、日志级别和日志文件;从日志配置信息中分别提取日志格式、日志级别日志文件对应的信息;将提取到的信息作为日志输出规则。
[0008]在可选的实施方式中,日志输出规则包括:日志级别信息、日志文件存储位置和日志格式信息;通过日志输出规则对初始日志信息进行输出处理,得到目标监测事件对应的目标日志信息的步骤,包括:根据日志输出规则中的日志级别信息,判断初始日志信息是否输出;如果是,根据日志输出规则中的日志文件存储位置和日志格式信息,输出目标监测事
件对应的目标日志信息。
[0009]在可选的实施方式中,目标监测事件至少包括以下之一:线程的申请或释放事件、内存的申请或释放事件、文件的写入或读取操作、索引的插入或读取操作。
[0010]在可选的实施方式中,上述存储引擎包括KV存储引擎和/或wiredtiger存储引擎。
[0011]第二方面,本申请实施例提供了一种数据库存储引擎的测试装置,该装置应用于安装有日志组件的服务器;服务器中配置有日志组件对应的日志配置信息;上述装置包括:指令接收模块,用于接收数据库存储引擎对应的测试指令;配置加载模块,用于加载日志配置信息;规则获取模块,用于根据日志配置信息获取日志输出规则;测试模块,用于对存储引擎进行测试,得到测试过程中生成的目标监测事件对应的初始日志信息;日志输出模块,用于通过日志输出规则对初始日志信息进行输出处理,得到目标监测事件对应的目标日志信息。
[0012]在可选的实施方式中,所述配置加载模块,具体用于获取日志组件对应的存储位置;从存储位置读取并加载日志配置信息;其中,日志配置信息至少包括以下之一:日志格式信息、日志级别信息和日志文件信息;日志文件信息包括:日志文件存储位置和/或单个日志文件的字节最大限制。
[0013]第三方面,本申请实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面所述的方法。
[0014]第四方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述第一方面所述的方法。
[0015]本申请实施例带来了以下有益效果:
[0016]本申请提供了一种数据库存储引擎的测试方法、装置和电子设备,该方法应用于安装有日志组件的服务器,服务器中配置有日志组件对应的日志配置信息,在接收数据库存储引擎对应的测试指令后,通过加载日志配置信息,获取日志输出规则,对存储引擎进行测试,可以得到测试过程中目标监测事件对应的初始日志信息,通过日志输出规则对初始日志信息进行输出处理,得到目标监测事件对应的目标日志信息。该方法能够基于日志组件的日志配置信息获取日志输出规则,根据该日志输出规则将开发人员需要查看的目标监测事件的测试结果以目标日志信息的方式进行输出,使数据库下层存储引擎运行过程更加可视化,而且一次测试可输出所有目标监测事件对应的目标日志信息,有效提升数据库存储引擎调试效率。
[0017]本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0018]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0019]为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体
实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本申请实施例提供的一种数据库存储引擎的测试方法的流程图;
[0021]图2为本申请实施例提供的另一种数据库存储引擎的测试方法的流程图;
[0022]图3为本申请实施例提供的另一种数据库存储引擎的测试方法的流程图;
[0023]图4为本申请实施例提供的一种数据库引擎的测试装置的结构框图;
[0024]图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0025]下面将结合实施例对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库存储引擎的测试方法,其特征在于,所述方法应用于安装有日志组件的服务器;所述服务器中配置有所述日志组件对应的日志配置信息;所述方法包括:接收所述数据库存储引擎对应的测试指令;加载所述日志配置信息;根据所述日志配置信息获取日志输出规则;对所述存储引擎进行测试,得到测试过程中生成的目标监测事件对应的初始日志信息;通过所述日志输出规则对所述初始日志信息进行输出处理,得到目标监测事件对应的目标日志信息。2.根据权利要求1所述的方法,其特征在于,加载所述日志配置信息的步骤,包括:获取所述日志组件对应的存储位置;从所述存储位置读取并加载所述日志配置信息;其中,所述日志配置信息至少包括以下之一:日志格式信息、日志级别信息和日志文件信息;所述日志文件信息包括:日志文件存储位置和/或单个日志文件的字节最大限制。3.根据权利要求2所述的方法,其特征在于,所述日志输出规则至少包括以下一个规则项:日志格式、日志级别和日志文件;根据所述日志配置信息,获取日志输出规则的步骤,包括:确定所述日志输出规则包括的规则项有:日志格式、日志级别和日志文件;从所述日志配置信息中分别提取所述日志格式、所述日志级别和所述日志文件对应的信息;将提取到的信息作为所述日志输出规则。4.根据权利要求3所述的方法,其特征在于,所述日志输出规则包括:日志级别信息、日志文件存储位置和日志格式信息;通过所述日志输出规则对所述初始日志信息进行输出处理,得到所述目标监测事件对应的目标日志信息的步骤,包括:根据所述日志输出规则中的日志级别信息,判断所述初始日志信息是否输出;如果是,根据所述日志输出规则中的日志文件存储位置和日志格式信息,输出所述目标监测事件对应的目标日志信息。5.根据权...

【专利技术属性】
技术研发人员:陈青松
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

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

1