CN114116643A - 一种用于嵌入式系统的日志处理方法、装置及存储介质 - Google Patents
一种用于嵌入式系统的日志处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114116643A CN114116643A CN202111398134.XA CN202111398134A CN114116643A CN 114116643 A CN114116643 A CN 114116643A CN 202111398134 A CN202111398134 A CN 202111398134A CN 114116643 A CN114116643 A CN 114116643A
- Authority
- CN
- China
- Prior art keywords
- log
- sector
- storage address
- frame
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种用于嵌入式系统的日志处理方法,包括获取系统中产生的当前帧日志,以及系统中存储器的最新存储地址并根据存储器的最新存储地址获取最新存储地址所在的扇区;判断最新存储地址所在的扇区和当前帧日志是否匹配,若是,则将当前帧日志存储到最新存储地址所在的扇区并更新最新存储地址;若否,则获取下一扇区的起始存储地址并将当前帧日志存储到下一扇区并更新最新存储地址;其中,最新存储地址是指存储完当前帧日志后下一帧日志的存储地址。本发明通过对存储器进行扇区划分,将一个扇区内存储相同的日志,保证日志存储的有序性,提高日志处理的效率以及存储利用率。本发明公开一种用于嵌入式系统的日志处理装置和存储介质。
Description
技术领域
本发明涉及日志处理,尤其涉及一种用于嵌入式系统的日志处理方法、装置及存储介质。
背景技术
由于嵌入式系统在运行过程中会产生大量的不同协议类型的日志,由于日志的协议不同,导致在存储时无法采用嵌入式数据库及文件系统进行存储。目前对于日志的存储,一般采用EEPROM存储器和FLASH存储器。
其中,EEPROM存储器具有容量小、存储密度低,较适合用于针对产品的配置参数、设备的标定数据等操作时的日志的存储。
而FLASH存储器,尽管可用于存储大容量的日志数据的存储,但是其存在以下缺点:
1)FLASH存储器的存储空间未充分利用,导致FLASH存储器的存储空间存在浪费;
2)对于不同协议类型的日志,未做任何的处理;当存在多种协议类型的日志时无法进行有效处理,以及后续检索时当日志协议类型不同时无法读取,导致日志处理效率低下;
3)若将日志的协议类型更换后,原有协议类型的日志无法保存。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种用于嵌入式系统的日志处理方法,其能够解决现有技术中FLASH存储器存储日志时存在利用率低、日志处理效率低下等问题。
本发明的目的之二在于提供一种用于嵌入式系统的日志处理装置,其能够解决现有技术中FLASH存储器存储日志时存在利用率低、日志处理效率低下等问题。
本发明的目的之三在于提供一种存储介质,其能够解决现有技术中FLASH存储器存储日志时存在利用率低、日志处理效率低下等问题。
本发明的目的之一采用如下技术方案实现:
一种用于嵌入式系统的日志处理方法,所述日志处理方法包括:
日志获取步骤:获取系统中产生的当前帧日志;
地址获取步骤:获取系统中存储器的最新存储地址,并根据存储器的最新存储地址获取最新存储地址所在的扇区;所述存储器的最新存储地址是指系统将上一帧日志存储到存储器后更新的当前帧的存储地址;所述存储器包括多个扇区;
判断步骤:判断最新存储地址所在的扇区和当前帧日志是否匹配,若是,则执行存储步骤;若否,则执行查找步骤;
存储步骤:根据最新存储地址将当前帧日志存储到最新存储地址所在的扇区的对应位置,并根据当前帧日志的存储大小得出在最新存储地址所在的扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新;
查找步骤:根据最新存储地址所在的扇区获取下一扇区的起始存储地址,并根据下一扇区的起始存储地址将当前帧日志存储到下一扇区的对应位置,并根据当前帧日志的存储得出在下一扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新。
进一步地,所述判断步骤具体包括存储空间判断步骤和/或类型判断步骤:
存储空间判断步骤:获取最新存储地址所在扇区的可用存储空间,并判断最新存储地址所在的扇区的可用存储空间与当前帧日志的存储大小是否匹配;
类型判断步骤:获取最新存储地址所在的扇区内存储的日志,并判断最新存储地址所在的扇区内存储的日志与当前帧日志是否匹配。
进一步地,所述判断步骤还包括:若当前帧日志的存储大小+N等于最新存储地址所在扇区的可用存储空间时,匹配成功;N为最新存储地址所在扇区所预留的存储空间。
进一步地,每一帧日志在扇区内存储时均包括属性包头和数据区;其中,属性包头用于存储标识日志的数据信息,包括一帧日志的存储地址、下一帧日志的存储地址、一帧日志的数据区的长度、一帧日志的采集时间、一帧日志的协议类型和校验码;数据区用于存储一帧日志的数据记录;所述存储器为FLASH存储器。
进一步地,所述判断步骤还包括:若最新存储地址所在扇区内存储的日志的属性包头中的协议类型与当前帧日志的协议类型相同时,匹配成功。
进一步地,还包括:遍历步骤:获取待检索日志的检索信息并根据所述待检索日志的检索信息对存储器的每个扇区进行依次遍历,并获取每个扇区内存储的日志的属性包头;
匹配步骤:将待检索日志的检索信息与每个扇区内存储的日志的属性包头进行一一匹配并根据匹配结果确定待检索扇区;
检索步骤:获取待检索扇区内的每一帧日志并将其与待检索日志的检索信息进行匹配;若匹配成功时,则获取对应帧日志作为检索日志;若匹配不成功,则检索失败。
进一步地,所述遍历步骤中对存储器的每个扇区进行依次遍历时,获取每个扇区内存储的第一帧日志的属性包头;
所述匹配步骤包括:将待检索日志的检索信息与每个扇区内存储的第一帧日志的属性包头中的数据进行一一匹配并根据匹配结果确定待检索扇区。
进一步地,所述待检索日志的检索信息包括时间戳;
所述匹配步骤具体包括:获取每个扇区内存储的第一帧日志的属性包头中的采集时间并将其与待检索日志的时间戳进行匹配;
当存在一个扇区存储的第一日志的属性包头中的采集时间小于时间戳,下一扇区的第一帧日志的属性包头中的采集时间大于时间戳时,则该扇区为待检索扇区;当存在一个扇区存储的第一日志的属性包头中的采集时间等于时间戳时,则该扇区为待检索扇区。
本发明的目的之二采用如下技术方案实现:
一种用于嵌入式系统的日志处理装置,包括存储器和处理器,所述存储器上存储有在处理器上运行的日志处理程序,所述日志处理程序为计算机程序,所述处理器执行所述日志处理程序时实现如本发明的目的之一采用的一种用于嵌入式系统的日志处理方法的步骤。
本发明的目的之三采用如下技术方案实现:
一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序为日志处理程序,所述日志处理程序被处理器执行时如本发明的目的之一采用的一种用于嵌入式系统的日志处理方法的步骤。
相比现有技术,本发明的有益效果在于:
本发明通过将存储器通过划分的方式划分成多个扇区,每个扇区均可以用于存储日志,提高存储器的存储利用率;同时,当当前存储的日志与前一个存储的日志不匹配时,将当前存储的日志存储到下一个扇区,这样可保证同一个扇区内存储的日志相统一,通过对不同类型的日志进行有序存储,有利于后续对日志的检索,提高日志处理的效率;同时,原有的日志仍可以继续存储,不会导致原有的日志丢失等问题。
附图说明
图1为本发明提供的用于嵌入式系统的日志处理方法流程图;
图2为本发明提供的用于嵌入式系统的日志处理方法中日志检索的流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
实施例一
本发明提供一种用于嵌入式系统的日志处理方法,既可以提高现有的存储器的存储空间利用率,同时还可支持多种协议类型的日志的有序存储,提高后续日志检索处理的效率;同时,当存在多种协议时,在协议切换时也可保证原有日志不丢失。
如图1所示,本发明提供一种优选的实施例,一种用于嵌入式系统的日志处理方法,包括以下步骤:
步骤S11、获取系统中产生的当前帧日志。
对于嵌入式系统来说,系统在运行过程中会周期性地产生日志数据,并通过单片机定时对日志数据进行采集生成每一帧日志。
步骤S12、获取系统中存储器的最新存储地址,并根据存储器的最新存储地址获取最新存储地址所在的扇区。
优选地,本实施例中的存储器为FLASH存储器。由于FLASH存储器较为常见,同时其存储容量大,因此,可优选采用FLASH存储器。
为了提高FLASH存储器的存储利用率以及多种协议类型的日志的存储,本发明对FLASH存储器进行扇区划分。也即,将整个FLASH存储器的存储空间划分成多个扇区,每个扇区均可用于存储若干帧日志。
同时,本发明还规定每个扇区所存储的若干帧日志的类型均相同。也即,每个扇区存储的日志类型均为统一的,不同扇区存储的日志类型可以相同,也可以不同。
同时,为了保证每个扇区的存储的日志类型相同,本发明在获取到当前帧日志时,还需要将其与前一帧日志及其所在的扇区进行匹配。因此,当每一帧日志在存储后,均需要保存其下一帧的存储地址,也即FLASH存储器的最新存储地址。
步骤S13、判断最新存储地址所在的扇区和当前帧日志是否匹配,若是,则执行步骤S14;若否,则执行步骤S15。
优选地,步骤S13中判断最新存储地址所在的扇区和当前帧日志是否匹配,具体还包括两种判断:
其一、判断最新存储地址所在的扇区的可用存储空间与当前帧日志的数据大小是否匹配。
由于FLASH存储器的扇区划分完成后,每个扇区的存储空间均为固定值,若最新存储地址所在的扇区的可用存储空间不能够满足当前帧日志存储所用的存储空间时,为了避免日志数据的丢失,也即保证日志数据的完整性,需要将当前帧日志存储到下一扇区。
若最新存储地址所在的扇区的可用存储空间能够满足当前帧日志存储所用的存储空间时,则认为当前帧日志可以存储到该扇区,则将当前帧日志存储到该扇区即可。
为了保证日志的完整性,本实施例中的一帧日志在存储时,禁止跨扇区存储;同时,FLASH存储器在被二次覆盖时,保证每帧日志的正确性。
同时,基于FLASH存储器的存储特性可知:当FLASH存储器存储空间满时,会从头开始对旧的数据进行覆盖;而当FLASH存储器进行数据写入时,需要对存储器首先进行擦除处理,然后再进行写操作。因此,为了保证日志的完整性,本发明设定每帧日志在存储时,禁止跨扇区存储。
优选地,本发明还提供了一种对于FLASH存储器的扇区划分,也即,将FLASH存储空间划分成多个扇区,每个扇区以0xFFFFFFFF作为存储结束标志,保证了检索的有效性。比如:FALSH存储器进行扇区划分时采用顺序划分的方式,并对扇区进行依次编号,比如扇区0、扇区1、扇区2、扇区3、…。每个扇区的大小可根据FLASH存储器的具体空间进行设置,比如设为4K(4096字节)。
为了保证日志存储的完整性,本实施例还设定每个扇区的最后4个字节不使用。当最新存储地址所在的扇区的可用存储空间与当前帧日志的存储大小相差4个字节及以上时,才能认为匹配成功。另外,对于每个扇区的最后几个字节不可用,可根据实际的情况设置,不仅仅限于本实施例给出的4个字节。其中,本实施例中的可用存储空间是指存储器的每个扇区可以使用的存储空间,也即,剩余存储空间。
其二、判断最新存储地址所在的扇区内存储的日志与当前帧日志是否匹配。
由于本发明规定同一扇区内存储的日志类型均相同,因此,当最新存储地址所在的扇区内有存储日志时,还需要判断其所存储的日志与当前帧日志是否匹配,若不匹配,则需要将其存储到下一扇区;若匹配,则可将其存储到该扇区。
优选地,由于日志的类型可通过其协议类型进行区分。也即,本发明的日志在存储时,可分为属性包头和数据区,如图2所示:
其中,数据区,记录了一帧日志的数据信息。
属性包头,记录了一帧日志的基本信息,用于标识与其他日志的区别。具体可包括一帧日志的存储地址、下一帧日志的存储地址、一帧日志的数据区的长度、一帧日志的采集时间、一帧日志的协议类型和校验码。
当判断最新存储地址所在扇区中存储的日志与当前帧日志是否匹配时,可将最新存储地址所在扇区中存储的日志的属性包头的协议类型与当前帧日志的属性包头的协议类型进行匹配对比,以判断二者是否一致;若是,则认为匹配成功;若否,则认为匹配不成功。
步骤S14、将当前帧日志根据最新存储地址写入到最新存储地址所在扇区的对应位置,并根据当前帧日志的存储大小得出在最新存储地址所在扇区中下一帧日志的存储地址,进而对系统中存储器的最新存储地址进行更新。
当当前帧日志与最新存储地址所在的扇区匹配时,将其存到该扇区对应位置后,获取下一帧日志的存储地址,然后对系统中存储器的最新存储地址进行更新。也即,将下一帧日志的存储地址作为存储器的最新存储地址,以便下一帧日志的存储。
下一帧日志的存储地址是由最新存储地址以及当前帧日志的存储大小得出。
步骤S15、根据最新存储地址所在的扇区获取下一扇区的起始存储地址,并根据下一扇区的起始存储地址将当前帧日志存储到下一扇区的对应位置,并根据当前帧日志的存储得出在下一扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新。
由于FLASH存储器的存储特性可知,其在存储数据时会首先擦除原有的数据,然后再写入新的数据。因此,当当前帧日志与最新存储地址所在的扇区无法匹配时,获取下一扇区的存储地址,其实就是下一扇区的起始存储地址。在先接入时,首先擦除下一扇区内存储的数据,然后将当前帧日志写入到下一扇区。也即,若下一扇区内存储有旧的日志时,需要先将其擦除后再写入新的日志,因此,当当前帧日志与最新存储地址所在的扇区存储的日志不匹配时,将当当前帧日志存储到下一扇区即可。通过获取下一扇区的起始存储地址,将当前帧日志存储到下一扇区对应位置即可。
优选地,本发明的日志处理方法还可用于日志的检索。具体地,如图2所示,本实施例还包括:
步骤S21、获取待检索日志的检索信息。具体地,待检索日志的检索信息可包括时间戳、日志的协议类型等数据,通过对待检索日志设定检索条件,以便后续检索日志。
步骤S22、根据待检索日志的检索信息对存储器的每个扇区进行依次遍历,并获取每个扇区所存储的日志的属性包头。
步骤S23、将待检索日志的检索信息与每个扇区内存储的日志的属性包头进行一一匹配并根据匹配结果确定待检索扇区。
由于每个扇区内存的日志的属性包头记录日志与其他日志的区别,比如采集时间、协议类型、数据区长度等数据,因此,在检索时,通过给出检索条件,然后将其与每个日志的属性包头内的数据进行对比即可。
为了进一步提高检索的效率,本实施例的步骤S22中对存储器的每个扇区进行依次遍历时,获取每个扇区内存储的第一帧日志的属性包头。
步骤S23还包括:将待检索日志的信息与每个扇区内存储的第一帧日志的属性包头进行一一匹配并根据匹配结果确定待检索扇区。
本实施例中每个扇区所存储的第一帧日志,是指每个扇区存储的所有帧日志中的第一帧日志。
由于扇区内存储若干帧日志为顺序存储,也即按照日志的采集时间顺序存储的,因此,在检索日志时,若一个扇区所存储的第一帧日志的采集时间大于待检索日志的时间戳时,那么对于该扇区内所存储的所有帧的日志均会大于待检索日志的时间戳。由于扇区内存储若干帧日志,因此,为了避免将每个扇区内的存储的每帧日志与待检索日志进行匹配导致检索效率低下的问题,本发明获取每个扇区所存储的第一帧日志,然后将其与该待检索日志进行对比,确定待检索扇区后,再进一步对待检索扇区进行检索。
也即,当存在一个扇区存储的第一帧日志的属性包头中的采集时间小于时间戳,下一扇区的第一帧日志的属性包头中的采集时间大于时间戳时,则该扇区为待检索扇区。
当存在一个扇区存储的第一日志的属性包头中的采集时间等于时间戳时,则该扇区为待检索扇区。
由于系统中产生的日志均带有唯一的采集时间,因此可通过时间戳可实现日志的快速检索,提高日志的检索效率。
步骤S24、获取待检索扇区内的每一帧日志并将其与待检索日志的检索信息进行匹配;若匹配成功时,则获取对应帧日志作为检索日志;若匹配不成功,则检索失败。
比如将待检测日志的时间戳、协议类型与待检索扇区内的每一帧日志的属性包头中的日志的采集时间和/或协议类型等进行一一匹配,若均匹配成功时,则对应匹配的日志为检索日志。
实施例二
一种用于嵌入式系统的日志处理装置,包括存储器和处理器,所述存储器上存储有在处理器上运行的日志处理程序,所述日志处理程序为计算机程序,所述处理器执行所述日志处理程序时实现以下步骤:
日志获取步骤:获取系统中产生的当前帧日志;
地址获取步骤:获取系统中存储器的最新存储地址,并根据存储器的最新存储地址获取最新存储地址所在的扇区;所述存储器的最新存储地址是指系统将上一帧日志存储到存储器后更新的当前帧的存储地址;所述存储器包括多个扇区;
判断步骤:判断最新存储地址所在的扇区和当前帧日志是否匹配,若是,则执行存储步骤;若否,则执行查找步骤;
存储步骤:根据最新存储地址将当前帧日志存储到最新存储地址所在的扇区的对应位置,并根据当前帧日志的存储大小得出在最新存储地址所在的扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新;
查找步骤:根据最新存储地址所在的扇区获取下一扇区的起始存储地址,并根据下一扇区的起始存储地址将当前帧日志存储到下一扇区的对应位置,并根据当前帧日志的存储得出在下一扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新。
进一步地,所述判断步骤具体包括存储空间判断步骤和/或类型判断步骤:
存储空间判断步骤:获取最新存储地址所在扇区的可用存储空间,并判断最新存储地址所在的扇区的可用存储空间与当前帧日志的存储大小是否匹配;
类型判断步骤:获取最新存储地址所在的扇区内存储的日志,并判断最新存储地址所在的扇区内存储的日志与当前帧日志是否匹配。
进一步地,所述判断步骤还包括:若当前帧日志的存储大小+N等于最新存储地址所在扇区的可用存储空间时,匹配成功;N为最新存储地址所在扇区所预留的存储空间。
进一步地,每一帧日志在扇区内存储时均包括属性包头和数据区;其中,属性包头用于存储标识日志的数据信息,包括一帧日志的存储地址、下一帧日志的存储地址、一帧日志的数据区的长度、一帧日志的采集时间、一帧日志的协议类型和校验码;数据区用于存储一帧日志的数据记录;所述存储器为FLASH存储器。
进一步地,所述判断步骤还包括:若最新存储地址所在扇区内存储的日志的属性包头中的协议类型与当前帧日志的协议类型相同时,匹配成功。
进一步地,还包括:遍历步骤:获取待检索日志的检索信息并根据所述待检索日志的检索信息对存储器的每个扇区进行依次遍历,并获取每个扇区内存储的日志的属性包头;
匹配步骤:将待检索日志的检索信息与每个扇区内存储的日志的属性包头进行一一匹配并根据匹配结果确定待检索扇区;
检索步骤:获取待检索扇区内的每一帧日志并将其与待检索日志的检索信息进行匹配;若匹配成功时,则获取对应帧日志作为检索日志;若匹配不成功,则检索失败。
进一步地,所述遍历步骤中对存储器的每个扇区进行依次遍历时,获取每个扇区内存储的第一帧日志的属性包头;
所述匹配步骤包括:将待检索日志的检索信息与每个扇区内存储的第一帧日志的属性包头中的数据进行一一匹配并根据匹配结果确定待检索扇区。
进一步地,所述待检索日志的检索信息包括时间戳;
所述匹配步骤具体包括:获取每个扇区内存储的第一帧日志的属性包头中的采集时间并将其与待检索日志的时间戳进行匹配;
当存在一个扇区存储的第一帧日志的属性包头中的采集时间小于时间戳,下一扇区的第一帧日志的属性包头中的采集时间大于时间戳时,则该扇区为待检索扇区;当存在一个扇区存储的第一帧日志的属性包头中的采集时间等于时间戳时,则该扇区为待检索扇区。
实施例三
一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序为日志处理程序,所述日志处理程序被处理器执行时实现以下步骤:
日志获取步骤:获取系统中产生的当前帧日志;
地址获取步骤:获取系统中存储器的最新存储地址,并根据存储器的最新存储地址获取最新存储地址所在的扇区;所述存储器的最新存储地址是指系统将上一帧日志存储到存储器后更新的当前帧的存储地址;所述存储器包括多个扇区;
判断步骤:判断最新存储地址所在的扇区和当前帧日志是否匹配,若是,则执行存储步骤;若否,则执行查找步骤;
存储步骤:根据最新存储地址将当前帧日志存储到最新存储地址所在的扇区的对应位置,并根据当前帧日志的存储大小得出在最新存储地址所在的扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新;
查找步骤:根据最新存储地址所在的扇区获取下一扇区的起始存储地址,并根据下一扇区的起始存储地址将当前帧日志存储到下一扇区的对应位置,并根据当前帧日志的存储得出在下一扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新。
进一步地,所述判断步骤具体包括存储空间判断步骤和/或类型判断步骤:
存储空间判断步骤:获取最新存储地址所在扇区的可用存储空间,并判断最新存储地址所在的扇区的可用存储空间与当前帧日志的存储大小是否匹配;
类型判断步骤:获取最新存储地址所在的扇区内存储的日志,并判断最新存储地址所在的扇区内存储的日志与当前帧日志是否匹配。
进一步地,所述判断步骤还包括:若当前帧日志的存储大小+N等于最新存储地址所在扇区的可用存储空间时,匹配成功;N为最新存储地址所在扇区所预留的存储空间。
进一步地,每一帧日志在扇区内存储时均包括属性包头和数据区;其中,属性包头用于存储标识日志的数据信息,包括一帧日志的存储地址、下一帧日志的存储地址、一帧日志的数据区的长度、一帧日志的采集时间、一帧日志的协议类型和校验码;数据区用于存储一帧日志的数据记录;所述存储器为FLASH存储器。
进一步地,所述判断步骤还包括:若最新存储地址所在扇区内存储的日志的属性包头中的协议类型与当前帧日志的协议类型相同时,匹配成功。
进一步地,还包括:遍历步骤:获取待检索日志的检索信息并根据所述待检索日志的检索信息对存储器的每个扇区进行依次遍历,并获取每个扇区内存储的日志的属性包头;
匹配步骤:将待检索日志的检索信息与每个扇区内存储的日志的属性包头进行一一匹配并根据匹配结果确定待检索扇区;
检索步骤:获取待检索扇区内的每一帧日志并将其与待检索日志的检索信息进行匹配;若匹配成功时,则获取对应帧日志作为检索日志;若匹配不成功,则检索失败。
进一步地,所述遍历步骤中对存储器的每个扇区进行依次遍历时,获取每个扇区内存储的第一帧日志的属性包头;
所述匹配步骤包括:将待检索日志的检索信息与每个扇区内存储的第一帧日志的属性包头中的数据进行一一匹配并根据匹配结果确定待检索扇区。
进一步地,所述待检索日志的检索信息包括时间戳;
所述匹配步骤具体包括:获取每个扇区内存储的第一帧日志的属性包头中的采集时间并将其与待检索日志的时间戳进行匹配;
当存在一个扇区存储的第一帧日志的属性包头中的采集时间小于时间戳,下一扇区的第一帧日志的属性包头中的采集时间大于时间戳时,则该扇区为待检索扇区;当存在一个扇区存储的第一帧日志的属性包头中的采集时间等于时间戳时,则该扇区为待检索扇区。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (10)
1.一种用于嵌入式系统的日志处理方法,其特征在于,所述日志处理方法包括:
日志获取步骤:获取系统中产生的当前帧日志;
地址获取步骤:获取系统中存储器的最新存储地址,并根据存储器的最新存储地址获取最新存储地址所在的扇区;所述存储器的最新存储地址是指系统将上一帧日志存储到存储器后更新的当前帧的存储地址;所述存储器包括多个扇区;
判断步骤:判断最新存储地址所在的扇区和当前帧日志是否匹配,若是,则执行存储步骤;若否,则执行查找步骤;
存储步骤:根据最新存储地址将当前帧日志存储到最新存储地址所在的扇区的对应位置,并根据当前帧日志的存储大小得出在最新存储地址所在的扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新;
查找步骤:根据最新存储地址所在的扇区获取下一扇区的起始存储地址,并根据下一扇区的起始存储地址将当前帧日志存储到下一扇区的对应位置,并根据当前帧日志的存储得出在下一扇区中下一帧日志的存储地址,进而对系统中的存储器的最新存储地址进行更新。
2.根据权利要求1所述的用于嵌入式系统的日志处理方法,其特征在于,所述判断步骤具体包括存储空间判断步骤和/或类型判断步骤:
存储空间判断步骤:获取最新存储地址所在扇区的可用存储空间,并判断最新存储地址所在的扇区的可用存储空间与当前帧日志的存储大小是否匹配;
类型判断步骤:获取最新存储地址所在的扇区内存储的日志,并判断最新存储地址所在的扇区内存储的日志与当前帧日志是否匹配。
3.根据权利要求2所述的用于嵌入式系统的日志处理方法,其特征在于,所述判断步骤还包括:若当前帧日志的存储大小+N等于最新存储地址所在扇区的可用存储空间时,匹配成功;N为最新存储地址所在扇区所预留的存储空间。
4.根据权利要求2所述的用于嵌入式系统的日志处理方法,其特征在于,每一帧日志在扇区内存储时均包括属性包头和数据区;其中,属性包头用于存储标识日志的数据信息,包括一帧日志的存储地址、下一帧日志的存储地址、一帧日志的数据区的长度、一帧日志的采集时间、一帧日志的协议类型和校验码;数据区用于存储一帧日志的数据记录;所述存储器为FLASH存储器。
5.根据权利要求4所述的用于嵌入式系统的日志处理方法,其特征在于,所述判断步骤还包括:若最新存储地址所在扇区内存储的日志的属性包头中的协议类型与当前帧日志的协议类型相同时,匹配成功。
6.根据权利要求4所述的用于嵌入式系统的日志处理方法,其特征在于,还包括:遍历步骤:获取待检索日志的检索信息并根据所述待检索日志的检索信息对存储器的每个扇区进行依次遍历,并获取每个扇区内存储的日志的属性包头;
匹配步骤:将待检索日志的检索信息与每个扇区内存储的日志的属性包头进行一一匹配并根据匹配结果确定待检索扇区;
检索步骤:获取待检索扇区内的每一帧日志并将其与待检索日志的检索信息进行匹配;若匹配成功时,则获取对应帧日志作为检索日志;若匹配不成功,则检索失败。
7.根据权利要求6所述的用于嵌入式系统的日志处理方法,其特征在于,所述遍历步骤中对存储器的每个扇区进行依次遍历时,获取每个扇区内存储的第一帧日志的属性包头;
所述匹配步骤包括:将待检索日志的检索信息与每个扇区内存储的第一帧日志的属性包头中的数据进行一一匹配并根据匹配结果确定待检索扇区。
8.根据权利要求7所述的用于嵌入式系统的日志处理方法,其特征在于,所述待检索日志的检索信息包括时间戳;
所述匹配步骤具体包括:获取每个扇区内存储的第一帧日志的属性包头中的采集时间并将其与待检索日志的时间戳进行匹配;
当存在一个扇区存储的第一帧日志的属性包头中的采集时间小于时间戳,下一扇区的第一帧日志的属性包头中的采集时间大于时间戳时,则该扇区为待检索扇区;当存在一个扇区存储的第一帧日志的属性包头中的采集时间等于时间戳时,则该扇区为待检索扇区。
9.一种用于嵌入式系统的日志处理装置,包括存储器和处理器,所述存储器上存储有在处理器上运行的日志处理程序,所述日志处理程序为计算机程序,其特征在于:所述处理器执行所述日志处理程序时实现如权利要求1-8中任一项所述的一种用于嵌入式系统的日志处理方法的步骤。
10.一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序为日志处理程序,其特征在于:所述日志处理程序被处理器执行时如权利要求1-8中任意一项所述的一种用于嵌入式系统的日志处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111398134.XA CN114116643A (zh) | 2021-11-19 | 2021-11-19 | 一种用于嵌入式系统的日志处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111398134.XA CN114116643A (zh) | 2021-11-19 | 2021-11-19 | 一种用于嵌入式系统的日志处理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116643A true CN114116643A (zh) | 2022-03-01 |
Family
ID=80440226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111398134.XA Pending CN114116643A (zh) | 2021-11-19 | 2021-11-19 | 一种用于嵌入式系统的日志处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116643A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785073A (zh) * | 2024-02-28 | 2024-03-29 | 深圳市智岩科技有限公司 | 物联网设备及其时序数据存取方法和相应的装置与介质 |
CN117785073B (zh) * | 2024-02-28 | 2024-06-21 | 深圳市智岩科技有限公司 | 物联网设备及其时序数据存取方法和相应的装置与介质 |
-
2021
- 2021-11-19 CN CN202111398134.XA patent/CN114116643A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785073A (zh) * | 2024-02-28 | 2024-03-29 | 深圳市智岩科技有限公司 | 物联网设备及其时序数据存取方法和相应的装置与介质 |
CN117785073B (zh) * | 2024-02-28 | 2024-06-21 | 深圳市智岩科技有限公司 | 物联网设备及其时序数据存取方法和相应的装置与介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149803B (zh) | 数据存储方法、系统及终端设备 | |
US8335889B2 (en) | Content addressable storage systems and methods employing searchable blocks | |
CN107577436B (zh) | 一种数据存储方法及装置 | |
US20100217953A1 (en) | Hybrid hash tables | |
US7506129B2 (en) | Memory leak detection | |
US8099421B2 (en) | File system, and method for storing and searching for file by the same | |
CN105320775A (zh) | 数据的存取方法和装置 | |
CN109669622B (zh) | 一种文件管理方法、文件管理装置、电子设备及存储介质 | |
US9575886B2 (en) | Methods and apparatus for storing data to a solid state storage device based on data classification | |
CN112860592B (zh) | 基于链表的数据缓存方法、装置、电子设备和存储介质 | |
US10732896B2 (en) | Method and system for reading data during control sync operations | |
CN111858678A (zh) | 基于Redis的key值删除方法、计算机设备、装置和存储介质 | |
CN114089915B (zh) | 基于flash存储器的文件追加写操作方法及装置 | |
CN113297278B (zh) | 时序数据库、数据处理方法、存储设备及计算机程序产品 | |
CN110825533B (zh) | 一种数据发射方法及装置 | |
CN117435912A (zh) | 基于网络数据包属性值长短特征的数据包索引与检索方法 | |
CN114116643A (zh) | 一种用于嵌入式系统的日志处理方法、装置及存储介质 | |
CN109271097A (zh) | 数据处理方法、数据处理装置和服务器 | |
CN115454353B (zh) | 一种面向空间应用数据的高速写入及查询方法 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN110795031A (zh) | 一种基于全闪存储的数据重删方法、装置和系统 | |
CN113434438B (zh) | 一种提高智能卡flash写入寿命的方法 | |
CN109325023B (zh) | 一种数据处理方法及装置 | |
CN109783024B (zh) | 数据存储处理方法及装置 | |
EP2164005B1 (en) | Content addressable storage systems and methods employing searchable blocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |