本发明专利技术涉及数据处理技术领域,公开了一种日志数据存储方法、装置、计算机设备及存储介质,其方法通过获取新增日志数据;根据日志存储配置信息判断新增日志数据的有效性;若新增日志数据的有效性为有效,则获取新增日志数据的存储标志信息;若存储标志信息为缓存写入标志,则将新增日志数据写入缓存区,形成日志缓存数据;当日志缓存数据的个数达到预设缓存阈值时,则将缓存区的所有日志缓存数据取出并写入外部存储器。本发明专利技术公开的日志数据存储方法基于缓存区的缓存机制,避免了直接对外部存储器的频繁读写操作,缓解了数据处理压力,提高了响应速率。同时,缓存区采用环形队列的数据模型,保证了日志缓存数量的可控性。保证了日志缓存数量的可控性。保证了日志缓存数量的可控性。
【技术实现步骤摘要】
日志数据存储方法、装置、计算机设备及存储介质
[0001]本专利技术涉及数据处理
,尤其涉及一种日志数据存储方法、装置、计算机设备及存储介质。
技术介绍
[0002]嵌入式产品是软件硬件相结合的产品,通过软件驱动硬件完成工作。嵌入式产品的硬件和软件必须具有高度的适配设计,经过量体裁衣和去除冗余以实现更高的性能。当硬件不同时,软件工程师会根据使用的外部设备和日志存储格式的不同而为嵌入式产品编写一套新的程序,消耗了软件工程师的大量时间和精力。同时,每次编写的新程序在未经验证之前都无法保证可靠性和安全性,而多次重复验证操作也会对嵌入式产品产生不可修复的损耗,影响嵌入式产品的使用寿命。
[0003]嵌入式产品的日志读写是重要功能,用于存取信息和数据。现有的日志存储方式中,每当产生一条新的日志数据则即刻写入磁盘进行存档,但是在日志数据高并发的情况下,频繁的读写操作增加了数据处理压力,降低了响应速率。
技术实现思路
[0004]基于此,有必要针对上述技术问题,提供一种日志数据存储方法、装置、计算机设备及存储介质,以解决日志数据存储的数据处理压力大,响应速率低的问题。
[0005]一种日志数据存储方法,包括:
[0006]获取新增日志数据;
[0007]根据日志存储配置信息判断所述新增日志数据的有效性;
[0008]若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息;
[0009]若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据;
[0010]当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。
[0011]一种日志数据存储装置,包括:
[0012]数据获取模块,用于获取新增日志数据;
[0013]有效性判断模块,用于根据日志存储配置信息判断所述新增日志数据的有效性;
[0014]存储标志信息获取模块,用于若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息;
[0015]缓存数据写入模块,用于若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据;
[0016]数据存储模块,用于当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。
[0017]一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述日志数据存储方法。
[0018]一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述日志数据存储方法。
[0019]上述日志数据存储方法、装置、计算机设备及存储介质,其方法通过获取新增日志数据;根据日志存储配置信息判断新增日志数据的有效性;若新增日志数据的有效性为有效,则获取新增日志数据的存储标志信息;若存储标志信息为缓存写入标志,则将新增日志数据写入缓存区,形成日志缓存数据;当日志缓存数据的个数达到预设缓存阈值时,则将缓存区的所有日志缓存数据取出并写入外部存储器。本专利技术提供的日志数据存储方法通过日志存储配置信息对日志数据进行缓存和外部存储操作,基于缓存区的缓存机制避免了直接对外部存储器的频繁读写操作,缓解了数据处理压力,提高了响应速率;缓存区采用环形队列的数据模型,通过预设缓存阈值保证了日志缓存数量的可控性,杜绝了日志无限多的情形。
附图说明
[0020]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是本专利技术一实施例中日志数据存储方法的一流程示意图;
[0022]图2是本专利技术一实施例中日志数据存储装置的一结构示意图;
[0023]图3是本专利技术一实施例中计算机设备的一示意图。
具体实施方式
[0024]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]在一实施例中,如图1所示,提供一种日志数据存储方法,包括如下步骤S10
‑
S50。
[0026]S10、获取新增日志数据。
[0027]可理解地,日志数据是用于记录系统操作事件的记录数据,日志数据在类型结构上以“*.log”结尾。通过查看日志数据,可以了解到具体哪个用户、在具体什么时间、在哪台设备上或者什么应用系统中、做了什么具体的操作。新增日志数据是系统运行过程中产生的与实时操作事件对应的新增记录数据,不同的事件类型对应不同类型的日志数据,例如与预警通知事件对应的预警日志数据,与查询操作事件对应的查询操作日志数据。
[0028]S20、根据日志存储配置信息判断所述新增日志数据的有效性。
[0029]可理解地,日志存储配置信息指的是日志数据的结构体信息,不同的日志类型具有不同的结构体信息。结构体是由一批数据组合而成的结构型数据,组成结构型数据的每
个数据称为结构型数据的成员,结构体描述了一块内存缓存区间的大小并解释意义。结构体类型不是由系统定义好的,而是需要程序设计者进行自定义。在进行日志数据存储之前,用户需要预先设置如下表1中的日志存储配置信息,具体包括:存储日志的文件地址、存储日志总数、一个日志占用的字节数、触发存储个数等日志基本信息以及实现应用层的接口函数。不同类型的日志数据可以通过日志存储配置信息进行分类存储,用户只需预先自定义配置日志类型和触发存储个数等信息,即可实现日志数据存储。在获取新增日志数据之后,对新增日志数据进行解析,并判断新增日志数据是否满足日志存储配置信息的有效性要求,例如:新增日志数据的日志类型是否符合,数据结构格式是否正确,结构体的指针是否为空。
[0030]表1日志存储配置信息说明
[0031]结构名称类型说明fileNameconst char*文件地址logTotaluint32_t日志总数logItemSizeuint32_t一个日志占用的字节数logItemCountuint32_t用于存储日志缓存个数logTrigNumuint32_t触发存储时的日志到达个数cbInitLogCB_LOG_FUNC初始化日志回调函数cbWriteLogCB_LOG_FUNC写日志回调函数cbReadLogCB_LOG_FUNC读日志回调函数
[0032]S30、若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息。
本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种日志数据存储方法,其特征在于,包括:获取新增日志数据;根据日志存储配置信息判断所述新增日志数据的有效性;若所述新增日志数据的有效性为有效,则获取所述新增日志数据的存储标志信息;若所述存储标志信息为缓存写入标志,则将所述新增日志数据写入缓存区,形成日志缓存数据;当所述日志缓存数据的个数达到预设缓存阈值时,则将所述缓存区的所有日志缓存数据取出并写入外部存储器。2.如权利要求1所述的日志数据存储方法,其特征在于,所述获取所述新增日志数据的存储标志信息之后,还包括:若所述存储标志信息为存储写入标志,则判断所述缓存区中是否存在已缓存日志数据;若存在,则将所述已缓存日志数据和所述新增日志数据写入所述外部存储器;若不存在,则将所述新增日志数据写入所述外部存储器。3.如权利要求1所述的日志数据存储方法,其特征在于,所述将所述新增日志数据写入缓存区,形成日志缓存数据,包括:查找所述缓存区的第二指针;所述第二指针包括所述缓存区待写入的存储位置;将所述新增日志数据写入所述第二指针,并更新所述第二指针。4.如权利要求3所述的日志数据存储方法,其特征在于,所述将所述新增日志数据写入所述第二指针之后,还包括:查找所述缓存区的第一指针;所述第一指针包括所述缓存区第一日志的存储位置;判断所述第一指针与更新的所述第二指针是否相同;若所述第一指针与更新的所述第二指针相同,则更新所述第一指针。5.如权利要求1所述的日志数据存储方法,其特征在于,所述将所述缓存区的所有日志缓存数据取出并写入外部存储器,包括:查找所述缓存区的第一指针和第二指针;所述第一指针包括所述缓存区第一日志的存储位置;所述第二指针包括所述缓存区待写入的存储位置;将所述第一指针指向的第一日志写入所述外部存储器,并更新所述第一指针;当更新的所述第一指针与所...
【专利技术属性】
技术研发人员:陈浩,王富启,陈志男,
申请(专利权)人:深圳市安保医疗科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。