基于嵌入式实时系统的日志服务方法和系统技术方案

技术编号:18083704 阅读:46 留言:0更新日期:2018-05-31 12:17
本发明专利技术提供了一种基于嵌入式实时系统的日志服务方法,包括:日志内存管理、日志服务初始化、日志记录、日志显示、日志备份、轨迹记录。本发明专利技术不依赖过多的外设与系统资源,效率高,在系统异常、文件系统崩溃、存储设备损坏等特殊情况下,仍然能够记录下日志信息;当程序发生问题导致系统异常时,日志服务可以在看门狗复位系统前,将所有信息保存记录下来;在系统复位的过程中,保证日志信息的完整性,即便是信息被破坏,在读取解析日志信息时还将进行校验,保证信息的完整有效性;记录信息有序,能够实现系统故障的快速诊断定位。

【技术实现步骤摘要】
基于嵌入式实时系统的日志服务方法和系统
本专利技术涉及嵌入式系统
,具体地,涉及基于嵌入式实时系统的日志服务方法和系统,尤其是涉及嵌入式实时系统中日志服务的初始化方法,日志记录方法、日志显示方法和日志备份方法。
技术介绍
目前,现有的日志服务是将系统所有历史和当前的任务发送的日志记录信息,通过拷贝该日志记录信息,保存在位于存储介质中的基于文件系统的日志文件内。当调试人员需要查看日志记录信息时,获取日志文件内所有的日志记录信息。传统的这种日志服务方法针对日志记录信息的读写,都需要对存储介质进行读写,外部存储介质访问速度慢,频繁的读写访问对系统资源消耗严重,使用效率低;且读取到的所有日志记录信息,庞大而无序,无法区分日志是属于当前系统运行时的日志,还是系统历史的日志信息,难于实现系统的快速、准确的诊断和定位;基于文件系统进行读写访问,对于嵌入式实时系统来说,异常故障导致看门狗复位系统随时可能发生,它会导致文件系统不一致性,带来文件系统的破坏和信息的丢失。经检索发现如下专利文献:申请号:03145553.0,名称:应用程序日志记录方法及系统。该专利技术公开了一种日志服务系统,该专利技术利用进程间通讯技术将原来频繁的磁盘I/O操作大大降低,既能进行日志的详细记录,又保持较低的资源占用率。该专利技术针对的是PC系统,嵌入式系统与PC系统的差别在于硬件资源更加缺乏,且由于工作环境复杂,随时可能出现看门狗复位的情况,本专利技术针对嵌入式系统的特点,提出了一种在提高效率的同时确保日志记录可靠性的方法。申请号:200810127512.9,名称:一种嵌入式系统的日志功能实现方法。该专利技术公开了一种嵌入式系统的日志功能实现方法,该专利技术将过滤后的日志信息保存在内存缓冲池中,在写缓存条件出发后,将内存缓存池中的日志信息进行压缩,将压缩后的日志信息写入日志文件,采用日志过滤和压缩后,大大减少了对存储介质的读写访问,提高了嵌入式系统的性能。本专利技术在解决日志存储效率低的前提下,进一步提升了日志记录的规范性,使系统的故障诊断更加快速和准确,同时对日志的内容进行校验,确保了日志的可靠性。申请号:201310496989.5,名称:嵌入式系统的日志存储方法、系统及日志读取方法和系统。该专利技术公开了一种嵌入式系统的日志存储方法、系统及日志读取方法和系统,该方法先将日志数据保存在随机存储器中,再从随机存储器中将日志数据复制到外存储器,在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。本专利技术则针对看门狗复位造成的热重启过程中可能造成随机存储器中的日志数据被破坏问题进行了处理,保证即使看门狗复位导致随机存储器中的数据未能及时存入外部存储器,随机存储器中的数据也不会因为看门狗复位而被破坏。申请号:201410100327.6,名称:一种嵌入式系统的日志管理方法。该专利技术公开了一种嵌入式系统的日志管理方法,该专利技术提供了当前日志和历史日志的快速查看方式,只有在嵌入式系统复位或定时检测到日志记录区有改动时,将所述日志内存块的日志记录区中所有二进制数据保存到存储介质。在系统初始化的时候一次性为日志记录分配整块且连续的日志内存块,减少了系统内存的浪费。本专利技术将在普通日志的基础上增加了日志轨迹记录,通过记录任务调用执行顺序以及用户自定义桩点执行顺序,为分析故障发生时的程序运行轨迹提供帮助。综上,现有嵌入式系统日志服务实现方法专注于日志服务效率的提升以及日志内容的快速查找上。对于嵌入式系统来说,保证日志服务的可靠性也同样重要。本专利技术提供了一种提高日志服务效率,利于系统故障快速定位,保证可靠性的方法。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于嵌入式实时系统的日志服务方法和系统。根据本专利技术提供的一种基于嵌入式实时系统的日志服务方法,包括:日志内存管理步骤:在嵌入式实时系统初始化时,为日志服务分配所需内存空间构成日志内存;日志服务初始化步骤:在所述日志内存管理步骤执行之后,对日志服务进行初始化,选择是否保留日志内存中原有的日志记录,并指定每条日志记录的大小;进入日志记录步骤:日志记录步骤:在所述日志服务初始化步骤执行之后,将出现异常故障时嵌入式实时系统捕获的异常信息、用户添加的日志信息以及日志校验码写入日志内存中作为日志记录;进入日志记录查询显示步骤;日志显示步骤:在所述日志记录步骤执行之后,查询并显示所述日志内存中通过校验有效的日志记录;日志备份步骤:在所述日志记录步骤执行之后,将日志内存中的日志记录保存到文件系统中,并且将掉电情况下的日志记录保存在非易失性存储器中;轨迹记录步骤:在所述日志内存管理步骤执行之后,将任务调用执行顺序和/或用户自定义桩点执行顺序在日志内存中进行记录。优选地,所述日志内存内保存的信息在热重启的情况下具有完整有效性;所述日志内存设置为非高速缓冲存储器访问,并且所述日志内存的内存地址空间设为常驻转换检测缓冲区,复位时设置日志内存自刷新;所述日志服务初始化步骤包括:设置状态判断步骤:判断日志初始化状态是否未设置;若已设置,则进入日志记录步骤;若未设置,则进入日志地址与长度设置步骤;日志地址与长度设置步骤:获取并设置日志地址与日志长度;新建日志判断步骤:在所述日志地址与长度设置步骤执行之后,判断是否新建日志;若新建日志,则新建日志数据结构并初始化日志数据结构的参数,进入日志初始化状态设置步骤;若不新建日志,则检查日志内存中日志数据结构是否有效;若日志内存中日志数据结构是有效的,则继续使用原有日志数据结构;若日志内存中日志数据结构不是有效的,则新建日志数据结构并初始化日志数据结构的参数,进入日志初始化状态设置步骤;日志初始化状态设置步骤:设置日志初始化状态。优选地,所述日志记录步骤包括如下步骤:信息获取步骤:获取当前任务ID、CPUID与日志地址;日志服务有效性判断步骤:判断日志服务有效性;若无效,则显示无效信息;若有效,则获取一个日志记录单元,进入设置日志记录步骤;设置日志记录步骤:设置该日志记录单元的基本静态信息,并记录当前系统时间,进入文件任务名有效性判断步骤;文件任务名有效性判断步骤:判断文件名与任务名是否均有效;若均有效,则记录文件名、任务名;若不是均有效,则进入异常信息选项判断步骤;异常信息选项判断步骤:判断异常信息选项的有效性;若有效,则记录异常信息;若无效,则进入上下文信息选项判断步骤:上下文信息选项判断步骤:判断上下文信息选项的有效性;若有效,则记录上下文信息;若无效,则进入栈回溯信息选项判断步骤;栈回溯信息选项判断步骤:判断栈回溯信息选项的有效性;若有效,则记录栈回溯信息,进入日志记录单元提交步骤;若无效,则进入日志记录单元提交步骤;日志记录单元提交步骤:生成该条日志记录单元的校验码并提交一个日志记录单元作为一条日志记录的插入。优选地:所述日志显示步骤包括如下步骤:初始化状态有效性判断步骤:判断日志初始化状态是否有效;若有效,则进入日志信息获取步骤;若无效,则结束流程;日志信息获取步骤:获取日志地址与日志记录总条数,并计算需要显示的日志记录条数,打印显示日志头信息,进入日志迭代步骤;日志迭代步骤:创建日志迭代器,再本文档来自技高网
...
基于嵌入式实时系统的日志服务方法和系统

【技术保护点】
一种基于嵌入式实时系统的日志服务方法,其特征在于,包括:日志内存管理步骤:在嵌入式实时系统初始化时,为日志服务分配所需内存空间构成日志内存;日志服务初始化步骤:在所述日志内存管理步骤执行之后,对日志服务进行初始化,选择是否保留日志内存中原有的日志记录,并指定每条日志记录的大小;进入日志记录步骤:日志记录步骤:在所述日志服务初始化步骤执行之后,将出现异常故障时嵌入式实时系统捕获的异常信息、用户添加的日志信息以及日志校验码写入日志内存中作为日志记录;进入日志记录查询显示步骤;日志显示步骤:在所述日志记录步骤执行之后,查询并显示所述日志内存中通过校验有效的日志记录;日志备份步骤:在所述日志记录步骤执行之后,将日志内存中的日志记录保存到文件系统中,并且将掉电情况下的日志记录保存在非易失性存储器中;轨迹记录步骤:在所述日志内存管理步骤执行之后,将任务调用执行顺序和/或用户自定义桩点执行顺序在日志内存中进行记录。

【技术特征摘要】
1.一种基于嵌入式实时系统的日志服务方法,其特征在于,包括:日志内存管理步骤:在嵌入式实时系统初始化时,为日志服务分配所需内存空间构成日志内存;日志服务初始化步骤:在所述日志内存管理步骤执行之后,对日志服务进行初始化,选择是否保留日志内存中原有的日志记录,并指定每条日志记录的大小;进入日志记录步骤:日志记录步骤:在所述日志服务初始化步骤执行之后,将出现异常故障时嵌入式实时系统捕获的异常信息、用户添加的日志信息以及日志校验码写入日志内存中作为日志记录;进入日志记录查询显示步骤;日志显示步骤:在所述日志记录步骤执行之后,查询并显示所述日志内存中通过校验有效的日志记录;日志备份步骤:在所述日志记录步骤执行之后,将日志内存中的日志记录保存到文件系统中,并且将掉电情况下的日志记录保存在非易失性存储器中;轨迹记录步骤:在所述日志内存管理步骤执行之后,将任务调用执行顺序和/或用户自定义桩点执行顺序在日志内存中进行记录。2.根据权利要求1所述的基于嵌入式实时系统的日志服务方法,其特征在于,所述日志内存内保存的信息在热重启的情况下具有完整有效性;所述日志内存设置为非高速缓冲存储器访问,并且所述日志内存的内存地址空间设为常驻转换检测缓冲区,复位时设置日志内存自刷新;所述日志服务初始化步骤包括:设置状态判断步骤:判断日志初始化状态是否未设置;若已设置,则进入日志记录步骤;若未设置,则进入日志地址与长度设置步骤;日志地址与长度设置步骤:获取并设置日志地址与日志长度;新建日志判断步骤:在所述日志地址与长度设置步骤执行之后,判断是否新建日志;若新建日志,则新建日志数据结构并初始化日志数据结构的参数,进入日志初始化状态设置步骤;若不新建日志,则检查日志内存中日志数据结构是否有效;若日志内存中日志数据结构是有效的,则继续使用原有日志数据结构;若日志内存中日志数据结构不是有效的,则新建日志数据结构并初始化日志数据结构的参数,进入日志初始化状态设置步骤;日志初始化状态设置步骤:设置日志初始化状态。3.根据权利要求1所述的基于嵌入式实时系统的日志服务方法,其特征在于,所述日志记录步骤包括如下步骤:信息获取步骤:获取当前任务ID、CPUID与日志地址;日志服务有效性判断步骤:判断日志服务有效性;若无效,则显示无效信息;若有效,则获取一个日志记录单元,进入设置日志记录步骤;设置日志记录步骤:设置该日志记录单元的基本静态信息,并记录当前系统时间,进入文件任务名有效性判断步骤;文件任务名有效性判断步骤:判断文件名与任务名是否均有效;若均有效,则记录文件名、任务名;若不是均有效,则进入异常信息选项判断步骤;异常信息选项判断步骤:判断异常信息选项的有效性;若有效,则记录异常信息;若无效,则进入上下文信息选项判断步骤:上下文信息选项判断步骤:判断上下文信息选项的有效性;若有效,则记录上下文信息;若无效,则进入栈回溯信息选项判断步骤;栈回溯信息选项判断步骤:判断栈回溯信息选项的有效性;若有效,则记录栈回溯信息,进入日志记录单元提交步骤;若无效,则进入日志记录单元提交步骤;日志记录单元提交步骤:生成该条日志记录单元的校验码并提交一个日志记录单元作为一条日志记录的插入。4.根据权利要求1所述的基于嵌入式实时系统的日志服务方法,其特征在于:所述日志显示步骤包括如下步骤:初始化状态有效性判断步骤:判断日志初始化状态是否有效;若有效,则进入日志信息获取步骤;若无效,则结束流程;日志信息获取步骤:获取日志地址与日志记录总条数,并计算需要显示的日志记录条数,打印显示日志头信息,进入日志迭代步骤;日志迭代步骤:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则进入日志打印步骤;若无效,则结束流程;日志打印步骤:打印显示日志记录单元中的日志记录,返回日志迭代步骤继续执行;所述日志备份步骤包括如下步骤,如图6所示:初始化状态有效性判断步骤:判断日志初始化状态是否有效;若有效,则进入创建备份输出步骤;若无效,则结束流程;创建备份输出步骤:在文件系统中创建备份输出文件,进入日志信息获取步骤;日志信息获取步骤:获取日志地址与日志记录总条数,并计算需要备份的日志记录条数,进入头信息输出步骤;头信息输出步骤:输出备份日志头信息到所述备份输出文件,进入日志迭代步骤;日志迭代步骤:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则进入备份输出步骤;若无效,则结束流程;备份输出步骤:备份输出日志记录单元信息到文件系统中的备份输出文件,返回日志迭代步骤继续执行。5.根据权利要求1所述的基于嵌入式实时系统的日志服务方法,其特征在于,所述轨迹记录步骤包括如下步骤:地址设置步骤:设置轨迹记录结构体地址,在轨迹记录结构体中设置一个参数,该参数在轨迹记录功能未初始化完成时为随机值,在轨迹记录功能初始化完成后,设置为指定数值;该参数作为判断轨迹记录功能是否初始化完成的标记,轨迹记录功能初始化进行前检测该值,若已进行过初始化,则跳过初始化过程,否则触发轨迹初始化步骤进行初始化;轨迹初始化步骤:添加任务切换轨迹记录钩子,设置轨迹记录状态,进入轨迹记录插入步骤;轨迹记录插入步骤:插入轨迹记录,判断是否日志初始化且待写入的记录数据与上次不同;若是,则将记录数据写入轨迹记录环形缓冲区;若否,则结束流程;轨迹记录显示步骤:显示轨迹记录,判断是否轨迹记录模块是否已初始化;若是,则遍历轨迹记录环形缓冲区显示轨迹记录信息,显示轨迹记录信息对应任务名;若否,则结束流程。...

【专利技术属性】
技术研发人员:黄河王家万董方秀张航天徐鹏钱晨庄彦
申请(专利权)人:上海华元创信软件有限公司
类型:发明
国别省市:上海,31

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

1