一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种仪器表设备运行日志组件的实现方法与流程

2022-06-11 09:01:23 来源:中国专利 TAG:


1.本发明涉及嵌入式物联网仪器表技术领域,具体为一种仪器表设备运行日志组件的实现方法。


背景技术:

2.针对资源敏感的单片机物联网设备难以移植并且运行复杂,内存要求高的日志库的问题,我们设计了一种仪器表设备运行日志组件的实现方法。


技术实现要素:

3.本发明提供一种仪器表设备运行日志组件的实现方法可以解决上述背景技术中的问题。
4.为实现上述目的,本发明提供如下技术方案:一种仪器表设备运行日志组件的实现方法,包括函数接口、使用方法、输出过滤、输出方式,所述函数接口包括日志分区初始化、写缓冲区持久化存储、获取可读取日志数目、清除所有存储区日志、获取最大可存储日志条数、更新日志基本信息、更新设备属性、更新事件、更新告警。
5.优选的,仪器表设备运行日志组件的实现方法包括以下步骤:
6.步骤一,函数接口:
7.初始化:flash日志分区初始化(文件系统初始化),以及日志各参数默认值,根据日志分区内容计算当前日志存储索引;
8.写缓冲区持久化存储:获取当前系统时间,将日志写缓冲区内容存储进flash或文件系统;存储规则,因为flash擦除基本以页为单位,单页的擦除会导致之前记录数据的丢失,此处建议使用两页及其以上flash分区,抽象出类似于乒乓缓存机制,根据当前日志存储索引,计算出待写入flash的相对偏移地址,如果当前存储区内容不为默认值,则首先擦除当前页,然后执行持久化存储操作,成功后存储索引自增,达到向可写入区域移动的目的,待偏移地址到达分区结尾,则将当前日志存储索引复位;
9.根据读取索引获取记录的单条日志信息:读取索引对应日志存储索引,计算出待读取日志的在flash中的偏移地址,读取存储的日志信息到读缓冲区;
10.根据索引,标签,批量读取日志信息:遍历日志分区,获取对应标签的日志信息;
11.获取可读取日志数目:遍历日志分区获取当前存储的日志总数目;
12.清除所有存储区日志:遍历擦除日志分区为默认值;
13.获取最大可存储日志条数:根据分区大小与日志字节数计算最大可存储日志条目数;
14.更新设备属性:当设备属性发生故障异常时,调用此接口更新设备属性参数;
15.更新事件:当设备发生指定事件时,调用此接口更新发生事件;
16.更新告警:当设备发生指定告警时,调用此接口更新系统告警;
17.步骤二,使用方法:在flash设备初始化后,可以使用各函数接口,在需要记录的位
置使用更新函数接口,然后调用持久化存储接口,之后可以使用读取接口,获取运行时设备数据。
18.优选的,所述输出过滤为按照级别,标签等进行过滤,日志内容较多时,使用过滤功能可以快速定位日志,保证日志的可读性。
19.优选的,所述输出方式为通过用户的移植,可以支持任何一种输出方式,只不过对于某种输出方式可能引入的新功能,需要通过对应组件实现。
20.与现有技术相比,本发明的有益效果是:本发明通过初始化、持久化存储、获取可读取日志数目、清除所有存储区日志、获取最大可存储日志条数、更新日志基本信息、更新设备属性、更新事件、更新告警的步骤提供了一种超轻量级,高性能的c日志库的实现方法,非常适合各类型iot产品,智能家居等软件项目,功能更加简单,灵活,易于上手。
附图说明
21.图1为本发明一种仪器表设备运行日志组件的实现方法的流程图。
具体实施方式
22.为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.实施例1
25.请参阅图1,本发明提供一种技术方案:一种仪器表设备运行日志组件的实现方法,包括函数接口、使用方法、输出过滤、输出方式,函数接口包括日志分区初始化、写缓冲区持久化存储、获取可读取日志数目、清除所有存储区日志、获取最大可存储日志条数、更新日志基本信息、更新设备属性、更新事件、更新告警。
26.进一步的,仪器表设备运行日志组件的实现方法包括以下步骤:
27.步骤一,函数接口:
28.初始化:flash日志分区初始化(文件系统初始化),以及日志各参数默认值,根据日志分区内容计算当前日志存储索引;
29.写缓冲区持久化存储:获取当前系统时间,将日志写缓冲区内容存储进flash或文件系统;存储规则,因为flash擦除基本以页为单位,单页的擦除会导致之前记录数据的丢失,此处建议使用两页及其以上flash分区,抽象出类似于乒乓缓存机制,根据当前日志存储索引,计算出待写入flash的相对偏移地址,如果当前存储区内容不为默认值,则首先擦除当前页,然后执行持久化存储操作,成功后存储索引自增,达到向可写入区域移动的目的,待偏移地址到达分区结尾,则将当前日志存储索引复位;
30.根据读取索引获取记录的单条日志信息:读取索引对应日志存储索引,计算出待读取日志的在flash中的偏移地址,读取存储的日志信息到读缓冲区;
31.根据索引,标签,批量读取日志信息:遍历日志分区,获取对应标签的日志信息;
32.获取可读取日志数目:遍历日志分区获取当前存储的日志总数目;
33.清除所有存储区日志:遍历擦除日志分区为默认值;
34.获取最大可存储日志条数:根据分区大小与日志字节数计算最大可存储日志条目数;
35.更新设备属性:当设备属性发生故障异常时,调用此接口更新设备属性参数;
36.更新事件:当设备发生指定事件时,调用此接口更新发生事件;
37.更新告警:当设备发生指定告警时,调用此接口更新系统告警;
38.步骤二,使用方法:在flash设备初始化后,可以使用各函数接口,在需要记录的位置使用更新函数接口,然后调用持久化存储接口,之后可以使用读取接口,获取运行时设备数据。
39.进一步的,输出过滤为按照级别,标签等进行过滤,日志内容较多时,使用过滤功能可以快速定位日志,保证日志的可读性。
40.进一步的,输出方式为通过用户的移植,可以支持任何一种输出方式。只不过对于某种输出方式可能引入的新功能,需要通过对应组件实现,例如:文件转存,检索flash日志等等。下面简单对比下部分输出方式使用场景。
41.终端:方便用户动态查看,不具有存储功能;
42.文件与flash:都具有存储功能,用户可以查看历史日志,但是文件方式需要文件系统的支持,而flash方式更加适合应用在无文件系统的小型嵌入式设备中。
43.本发明通过以下步骤完成整个仪器表设备运行日志组件的实现方法,步骤一,函数接口:初始化:flash日志分区初始化(文件系统初始化),以及日志各参数默认值,根据日志分区内容计算当前日志存储索引;写缓冲区持久化存储:获取当前系统时间,将日志写缓冲区内容存储进flash或文件系统;存储规则,因为flash擦除基本以页为单位,单页的擦除会导致之前记录数据的丢失,此处建议使用两页及其以上flash分区,抽象出类似于乒乓缓存机制,根据当前日志存储索引,计算出待写入flash的相对偏移地址,如果当前存储区内容不为默认值,则首先擦除当前页,然后执行持久化存储操作,成功后存储索引自增,达到向可写入区域移动的目的,待偏移地址到达分区结尾,则将当前日志存储索引复位;根据读取索引获取记录的单条日志信息:读取索引对应日志存储索引,计算出待读取日志的在flash中的偏移地址,读取存储的日志信息到读缓冲区;根据索引,标签,批量读取日志信息:遍历日志分区,获取对应标签的日志信息;获取可读取日志数目:遍历日志分区获取当前存储的日志总数目;清除所有存储区日志:遍历擦除日志分区为默认值;获取最大可存储日志条数:根据分区大小与日志字节数计算最大可存储日志条目数;更新设备属性:当设备属性发生故障异常时,调用此接口更新设备属性参数;更新事件:当设备发生指定事件时,调用此接口更新发生事件;更新告警:当设备发生指定告警时,调用此接口更新系统告警;步骤二,使用方法:在flash设备初始化后,可以使用各函数接口,在需要记录的位置使用更新函数接口,然后调用持久化存储接口,之后可以使用读取接口,获取运行时设备数据;本发明通过初始化、持久化存储、获取可读取日志数目、清除所有存储区日志、获取最大可存储日志条数、更新日志基本信息、更新设备属性、更新事件、更新告警的步骤提供了一种超轻量级,高性能的c日志库的实现方法,非常适合各类型iot产品,智能家居等软件项目,功能更加简单,灵活,易于上手,具备一定的使用前景。
44.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献