CN108089971B - 基于嵌入式实时系统的日志服务方法和系统 - Google Patents

基于嵌入式实时系统的日志服务方法和系统 Download PDF

Info

Publication number
CN108089971B
CN108089971B CN201711209614.0A CN201711209614A CN108089971B CN 108089971 B CN108089971 B CN 108089971B CN 201711209614 A CN201711209614 A CN 201711209614A CN 108089971 B CN108089971 B CN 108089971B
Authority
CN
China
Prior art keywords
log
module
information
recording
valid
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.)
Active
Application number
CN201711209614.0A
Other languages
English (en)
Other versions
CN108089971A (zh
Inventor
黄河
王家万
董方秀
张航天
徐鹏
钱晨
庄彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huayuan Chuangxin Software Co ltd
Original Assignee
Shanghai Huayuan Chuangxin Software Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huayuan Chuangxin Software Co ltd filed Critical Shanghai Huayuan Chuangxin Software Co ltd
Priority to CN201711209614.0A priority Critical patent/CN108089971B/zh
Publication of CN108089971A publication Critical patent/CN108089971A/zh
Application granted granted Critical
Publication of CN108089971B publication Critical patent/CN108089971B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

基于嵌入式实时系统的日志服务方法和系统
技术领域
本发明涉及嵌入式系统技术领域,具体地,涉及基于嵌入式实时系统的日志服务方法和系统,尤其是涉及嵌入式实时系统中日志服务的初始化方法,日志记录方法、日志显示方法和日志备份方法。
背景技术
目前,现有的日志服务是将系统所有历史和当前的任务发送的日志记录信息,通过拷贝该日志记录信息,保存在位于存储介质中的基于文件系统的日志文件内。当调试人员需要查看日志记录信息时,获取日志文件内所有的日志记录信息。
传统的这种日志服务方法针对日志记录信息的读写,都需要对存储介质进行读写,外部存储介质访问速度慢,频繁的读写访问对系统资源消耗严重,使用效率低;且读取到的所有日志记录信息,庞大而无序,无法区分日志是属于当前系统运行时的日志,还是系统历史的日志信息,难于实现系统的快速、准确的诊断和定位;基于文件系统进行读写访问,对于嵌入式实时系统来说,异常故障导致看门狗复位系统随时可能发生,它会导致文件系统不一致性,带来文件系统的破坏和信息的丢失。
经检索发现如下专利文献:
申请号:03145553.0,名称:应用程序日志记录方法及系统。该发明公开了一种日志服务系统,该发明利用进程间通讯技术将原来频繁的磁盘I/O操作大大降低,既能进行日志的详细记录,又保持较低的资源占用率。该发明针对的是PC系统,嵌入式系统与PC系统的差别在于硬件资源更加缺乏,且由于工作环境复杂,随时可能出现看门狗复位的情况,本发明针对嵌入式系统的特点,提出了一种在提高效率的同时确保日志记录可靠性的方法。
申请号:200810127512.9,名称:一种嵌入式系统的日志功能实现方法。该发明公开了一种嵌入式系统的日志功能实现方法,该发明将过滤后的日志信息保存在内存缓冲池中,在写缓存条件出发后,将内存缓存池中的日志信息进行压缩,将压缩后的日志信息写入日志文件,采用日志过滤和压缩后,大大减少了对存储介质的读写访问,提高了嵌入式系统的性能。本发明在解决日志存储效率低的前提下,进一步提升了日志记录的规范性,使系统的故障诊断更加快速和准确,同时对日志的内容进行校验,确保了日志的可靠性。
申请号:201310496989.5,名称:嵌入式系统的日志存储方法、系统及日志读取方法和系统。该发明公开了一种嵌入式系统的日志存储方法、系统及日志读取方法和系统,该方法先将日志数据保存在随机存储器中,再从随机存储器中将日志数据复制到外存储器,在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。本发明则针对看门狗复位造成的热重启过程中可能造成随机存储器中的日志数据被破坏问题进行了处理,保证即使看门狗复位导致随机存储器中的数据未能及时存入外部存储器,随机存储器中的数据也不会因为看门狗复位而被破坏。
申请号:201410100327.6,名称:一种嵌入式系统的日志管理方法。该发明公开了一种嵌入式系统的日志管理方法,该发明提供了当前日志和历史日志的快速查看方式,只有在嵌入式系统复位或定时检测到日志记录区有改动时,将所述日志内存块的日志记录区中所有二进制数据保存到存储介质。在系统初始化的时候一次性为日志记录分配整块且连续的日志内存块,减少了系统内存的浪费。本发明将在普通日志的基础上增加了日志轨迹记录,通过记录任务调用执行顺序以及用户自定义桩点执行顺序,为分析故障发生时的程序运行轨迹提供帮助。
综上,现有嵌入式系统日志服务实现方法专注于日志服务效率的提升以及日志内容的快速查找上。对于嵌入式系统来说,保证日志服务的可靠性也同样重要。本发明提供了一种提高日志服务效率,利于系统故障快速定位,保证可靠性的方法。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于嵌入式实时系统的日志服务方法和系统。
根据本发明提供的一种基于嵌入式实时系统的日志服务方法,包括:
日志内存管理步骤:在嵌入式实时系统初始化时,为日志服务分配所需内存空间构成日志内存;
日志服务初始化步骤:在所述日志内存管理步骤执行之后,对日志服务进行初始化,选择是否保留日志内存中原有的日志记录,并指定每条日志记录的大小;进入日志记录步骤:
日志记录步骤:在所述日志服务初始化步骤执行之后,将出现异常故障时嵌入式实时系统捕获的异常信息、用户添加的日志信息以及日志校验码写入日志内存中作为日志记录;进入日志记录查询显示步骤;
日志显示步骤:在所述日志记录步骤执行之后,查询并显示所述日志内存中通过校验有效的日志记录;
日志备份步骤:在所述日志记录步骤执行之后,将日志内存中的日志记录保存到文件系统中,并且将掉电情况下的日志记录保存在非易失性存储器中;
轨迹记录步骤:在所述日志内存管理步骤执行之后,将任务调用执行顺序和/或用户自定义桩点执行顺序在日志内存中进行记录。
优选地,所述日志内存内保存的信息在热重启的情况下具有完整有效性;所述日志内存设置为非高速缓冲存储器访问,并且所述日志内存的内存地址空间设为常驻转换检测缓冲区,复位时设置日志内存自刷新;
所述日志服务初始化步骤包括:
设置状态判断步骤:判断日志初始化状态是否未设置;若已设置,则进入日志记录步骤;若未设置,则进入日志地址与长度设置步骤;
日志地址与长度设置步骤:获取并设置日志地址与日志长度;
新建日志判断步骤:在所述日志地址与长度设置步骤执行之后,判断是否新建日志;若新建日志,则新建日志数据结构并初始化日志数据结构的参数,进入日志初始化状态设置步骤;若不新建日志,则检查日志内存中日志数据结构是否有效;若日志内存中日志数据结构是有效的,则继续使用原有日志数据结构;若日志内存中日志数据结构不是有效的,则新建日志数据结构并初始化日志数据结构的参数,进入日志初始化状态设置步骤;
日志初始化状态设置步骤:设置日志初始化状态。
优选地,所述日志记录步骤包括如下步骤:
信息获取步骤:获取当前任务ID、CPU ID与日志地址;
日志服务有效性判断步骤:判断日志服务有效性;若无效,则显示无效信息;若有效,则获取一个日志记录单元,进入设置日志记录步骤;
设置日志记录步骤:设置该日志记录单元的基本静态信息,并记录当前系统时间,进入文件任务名有效性判断步骤;
文件任务名有效性判断步骤:判断文件名与任务名是否均有效;若均有效,则记录文件名、任务名;若不是均有效,则进入异常信息选项判断步骤;
异常信息选项判断步骤:判断异常信息选项的有效性;若有效,则记录异常信息;若无效,则进入上下文信息选项判断步骤:
上下文信息选项判断步骤:判断上下文信息选项的有效性;若有效,则记录上下文信息;若无效,则进入栈回溯信息选项判断步骤;
栈回溯信息选项判断步骤:判断栈回溯信息选项的有效性;若有效,则记录栈回溯信息,进入日志记录单元提交步骤;若无效,则进入日志记录单元提交步骤;
日志记录单元提交步骤:生成该条日志记录单元的校验码并提交一个日志记录单元作为一条日志记录的插入。
优选地:
所述日志显示步骤包括如下步骤:
初始化状态有效性判断步骤:判断日志初始化状态是否有效;若有效,则进入日志信息获取步骤;若无效,则结束流程;
日志信息获取步骤:获取日志地址与日志记录总条数,并计算需要显示的日志记录条数,打印显示日志头信息,进入日志迭代步骤;
日志迭代步骤:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则进入日志打印步骤;若无效,则结束流程;
日志打印步骤:打印显示日志记录单元中的日志记录,返回日志迭代步骤继续执行;
所述日志备份步骤包括如下步骤,如图6所示:
初始化状态有效性判断步骤:判断日志初始化状态是否有效;若有效,则进入创建备份输出步骤;若无效,则结束流程;
创建备份输出步骤:在文件系统中创建备份输出文件,进入日志信息获取步骤;
日志信息获取步骤:获取日志地址与日志记录总条数,并计算需要备份的日志记录条数,进入头信息输出步骤;
头信息输出步骤:输出备份日志头信息到所述备份输出文件,进入日志迭代步骤;
日志迭代步骤:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则进入备份输出步骤;若无效,则结束流程;
备份输出步骤:备份输出日志记录单元信息到文件系统中的备份输出文件,返回日志迭代步骤继续执行。
优选地,所述轨迹记录步骤包括如下步骤:
地址设置步骤:设置轨迹记录结构体地址,在轨迹记录结构体中设置一个参数,该参数在轨迹记录功能未初始化完成时为随机值,在轨迹记录功能初始化完成后,设置为指定数值;该参数作为判断轨迹记录功能是否初始化完成的标记,轨迹记录功能初始化进行前检测该值,若已进行过初始化,则跳过初始化过程,否则触发轨迹初始化步骤进行初始化;
轨迹初始化步骤:添加任务切换轨迹记录钩子,设置轨迹记录状态,进入轨迹记录插入步骤;
轨迹记录插入步骤:插入轨迹记录,判断是否日志初始化且待写入的记录数据与上次不同;若是,则将记录数据写入轨迹记录环形缓冲区;若否,则结束流程;
轨迹记录显示步骤:显示轨迹记录,判断是否轨迹记录模块是否已初始化;若是,则遍历轨迹记录环形缓冲区显示轨迹记录信息,显示轨迹记录信息对应任务名;若否,则结束流程。
根据本发明提供的一种基于嵌入式实时系统的日志服务系统,包括:
日志内存管理模块:在嵌入式实时系统初始化时,为日志服务分配所需内存空间构成日志内存;
日志服务初始化模块:在所述日志内存管理模块执行之后,对日志服务进行初始化,选择是否保留日志内存中原有的日志记录,并指定每条日志记录的大小;触发日志记录模块:
日志记录模块:在所述日志服务初始化模块执行之后,将出现异常故障时嵌入式实时系统捕获的异常信息、用户添加的日志信息以及日志校验码写入日志内存中作为日志记录;触发日志记录查询显示模块;
日志显示模块:在所述日志记录模块执行之后,查询并显示所述日志内存中通过校验有效的日志记录;
日志备份模块:在所述日志记录模块执行之后,将日志内存中的日志记录保存到文件系统中,并且将掉电情况下的日志记录保存在非易失性存储器中;
轨迹记录模块:在所述日志内存管理模块执行之后,将任务调用执行顺序和/或用户自定义桩点执行顺序在日志内存中进行记录。
优选地,所述日志内存内保存的信息在热重启的情况下具有完整有效性;所述日志内存设置为非高速缓冲存储器访问,并且所述日志内存的内存地址空间设为常驻转换检测缓冲区,复位时设置日志内存自刷新;
所述日志服务初始化模块包括:
设置状态判断模块:判断日志初始化状态是否未设置;若已设置,则触发日志记录模块;若未设置,则触发日志地址与长度设置模块;
日志地址与长度设置模块:获取并设置日志地址与日志长度;
新建日志判断模块:在所述日志地址与长度设置模块执行之后,判断是否新建日志;若新建日志,则新建日志数据结构并初始化日志数据结构的参数,触发日志初始化状态设置模块;若不新建日志,则检查日志内存中日志数据结构是否有效;若日志内存中日志数据结构是有效的,则继续使用原有日志数据结构;若日志内存中日志数据结构不是有效的,则新建日志数据结构并初始化日志数据结构的参数,触发日志初始化状态设置模块;
日志初始化状态设置模块:设置日志初始化状态。
优选地,所述日志记录模块包括如下模块:
信息获取模块:获取当前任务ID、CPU ID与日志地址;
日志服务有效性判断模块:判断日志服务有效性;若无效,则显示无效信息;若有效,则获取一个日志记录单元,触发设置日志记录模块;
设置日志记录模块:设置该日志记录单元的基本静态信息,并记录当前系统时间,触发文件任务名有效性判断模块;
文件任务名有效性判断模块:判断文件名与任务名是否均有效;若均有效,则记录文件名、任务名;若不是均有效,则触发异常信息选项判断模块;
异常信息选项判断模块:判断异常信息选项的有效性;若有效,则记录异常信息;若无效,则触发上下文信息选项判断模块:
上下文信息选项判断模块:判断上下文信息选项的有效性;若有效,则记录上下文信息;若无效,则触发栈回溯信息选项判断模块;
栈回溯信息选项判断模块:判断栈回溯信息选项的有效性;若有效,则记录栈回溯信息,触发日志记录单元提交模块;若无效,则触发日志记录单元提交模块
日志记录单元提交模块:生成该条日志记录单元的校验码并提交一个日志记录单元作为一条日志记录的插入。
优选地:
所述日志显示模块包括如下模块:
初始化状态有效性判断模块:判断日志初始化状态是否有效;若有效,则触发日志信息获取模块;若无效,则结束流程;
日志信息获取模块:获取日志地址与日志记录总条数,并计算需要显示的日志记录条数,打印显示日志头信息,触发日志迭代模块;
日志迭代模块:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则触发日志打印模块;若无效,则结束流程;
日志打印模块:打印显示日志记录单元中的日志记录,返回日志迭代模块继续执行;
所述日志备份模块包括如下模块,如图6所示:
初始化状态有效性判断模块:判断日志初始化状态是否有效;若有效,则触发创建备份输出模块;若无效,则结束流程;
创建备份输出模块:在文件系统中创建备份输出文件,触发日志信息获取模块;
日志信息获取模块:获取日志地址与日志记录总条数,并计算需要备份的日志记录条数,触发头信息输出模块;
头信息输出模块:输出备份日志头信息到所述备份输出文件,触发日志迭代模块;
日志迭代模块:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则触发备份输出模块;若无效,则结束流程;
备份输出模块:备份输出日志记录单元信息到文件系统中的备份输出文件,返回日志迭代模块继续执行。
优选地,所述轨迹记录模块包括如下模块:
地址设置模块:设置轨迹记录结构体地址,在轨迹记录结构体中设置一个参数,该参数在轨迹记录功能未初始化完成时为随机值,在轨迹记录功能初始化完成后,设置为指定数值;该参数作为判断轨迹记录功能是否初始化完成的标记,轨迹记录功能初始化进行前检测该值,若已进行过初始化,则跳过初始化过程,否则触发轨迹初始化模块进行初始化;
轨迹初始化模块:添加任务切换轨迹记录钩子,设置轨迹记录状态,触发轨迹记录插入模块;
轨迹记录插入模块:插入轨迹记录,判断是否日志初始化且待写入的记录数据与上次不同;若是,则将记录数据写入轨迹记录环形缓冲区;若否,则结束流程;
轨迹记录显示模块:显示轨迹记录,判断是否轨迹记录模块是否已初始化;若是,则遍历轨迹记录环形缓冲区显示轨迹记录信息,显示轨迹记录信息对应任务名;若否,则结束流程。
与现有技术相比,本发明具有如下的有益效果:
1、不依赖过多的外设与系统资源,效率高,在系统异常、文件系统崩溃、存储设备损坏等特殊情况下,仍然能够记录下日志信息;
2、当程序发生问题导致系统异常时,日志服务可以在看门狗复位系统前,将所有信息保存记录下来;
3、在系统复位的过程中,保证日志信息的完整性,即便是信息被破坏,在读取解析日志信息时还需要进行校验,保证信息的完整有效性;记录信息有序,能够实现系统故障的快速诊断定位。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为日志服务功能图。
图2为日志服务流程图。
图3为初始化日志服务流程图。
图4为记录日志的流程图。
图5为日志显示的流程图。
图6为日志备份流程图。
图7为轨迹记录的流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明提供的日志服务包括以下内容,如图1所示:
1、异常与用户日志记录;
2、日志查询显示;
3、日志获取备份;
4、日志轨迹记录;
5、热重启后内容不被破坏的一块内存空间;
本发明提供的基于嵌入式实时系统的日志服务方法,实现流程如图2所示。
在嵌入式实时系统初始化时,通过日志内存管理步骤,分配日志服务所需内存空间获得日志内存,设置为非高速缓冲存储器(cache)访问,并将该段日志内存的内存地址空间设为常驻转换检测缓冲区(TLB,Translation Lookaside Buffer),通过复位时设置日志内存自刷新(SR,Self Refresh)模式,保证在热重启的情况下该日志内存内保存的信息不会被破坏,为日志服务提供基础保障。
在所述日志内存管理步骤执行后,触发日志服务初始化步骤、轨迹记录步骤。
通过日志服务初始化步骤,对日志服务进行初始化,选择是否保留日志内存中原有的日志记录,并指定每条日志记录的大小;出现异常故障时系统捕获的异常信息与用户添加的日志信息以及日志校验码将作为日志记录写入日志内存中。
在所述日志服务初始化步骤执行后,触发日志显示步骤、日志备份步骤;
通过日志显示步骤,对于已经记录的日志记录,通过日志显示功能,按照日志的级别、类型、起始编号以及条数,查询并显示日志内存中记录的通过校验有效的日志记录。
通过日志备份步骤,日志备份功能将日志内存中的日志记录保存到文件系统中,并且,将掉电情况下的日志记录保存在硬盘、FLASH、SD卡等非易失性存储器中,实现掉电情况下的日志保存。
在日志内存管理完成之后,执行轨迹记录步骤,通过轨迹记录功能,将任务调用执行顺序以及用户自定义桩点执行顺序在日志内存中进行记录。
所述日志服务初始化步骤包括如下步骤,如图3所示:
设置状态判断步骤:判断日志初始化状态是否未设置;若已设置,则进入日志记录步骤;若未设置,则进入日志地址与长度设置步骤;
日志地址与长度设置步骤:获取并设置日志地址与日志长度;
新建日志判断步骤:在所述日志地址与长度设置步骤执行之后,判断是否新建日志;若新建日志,则新建日志数据结构并初始化日志数据结构的参数,进入日志初始化状态设置步骤;若不新建日志,则检查日志内存中日志数据结构是否有效;若日志内存中日志数据结构是有效的,则继续使用原有日志数据结构;若日志内存中日志数据结构不是有效的,则新建日志数据结构并初始化日志数据结构的参数,进入日志初始化状态设置步骤;
日志初始化状态设置步骤:设置日志初始化状态。
所述日志记录步骤包括如下步骤,如图4所示:
信息获取步骤:获取当前任务ID、CPU ID与日志地址;
日志服务有效性判断步骤:判断日志服务有效性;若无效,则显示无效信息;若有效,则获取一个日志记录单元,进入设置日志记录步骤;
设置日志记录步骤:设置该日志记录单元的基本静态信息,并记录当前系统时间,进入文件任务名有效性判断步骤;
文件任务名有效性判断步骤:判断文件名与任务名是否均有效;若均有效,则记录文件名、任务名;若不是均有效,则进入异常信息选项判断步骤;
异常信息选项判断步骤:判断异常信息选项的有效性;若有效,则记录异常信息;若无效,则进入上下文信息选项判断步骤:
上下文信息选项判断步骤:判断上下文信息选项的有效性;若有效,则记录上下文信息;若无效,则进入栈回溯信息选项判断步骤;
栈回溯信息选项判断步骤:判断栈回溯信息选项的有效性;若有效,则记录栈回溯信息,进入日志记录单元提交步骤;若无效,则进入日志记录单元提交步骤
日志记录单元提交步骤:生成该条日志记录单元的校验码并提交一个日志记录单元作为一条日志记录的插入。
所述日志显示步骤包括如下步骤,如图5所示:
初始化状态有效性判断步骤:判断日志初始化状态是否有效;若有效,则进入日志信息获取步骤;若无效,则结束流程;
日志信息获取步骤:获取日志地址与日志记录总条数,并计算需要显示的日志记录条数,打印显示日志头信息,进入日志迭代步骤;
日志迭代步骤:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则进入日志打印步骤;若无效,则结束流程;
日志打印步骤:打印显示日志记录单元中的日志记录,返回日志迭代步骤继续执行。
所述日志备份步骤包括如下步骤,如图6所示:
初始化状态有效性判断步骤:判断日志初始化状态是否有效;若有效,则进入创建备份输出步骤;若无效,则结束流程;
创建备份输出步骤:在文件系统中创建备份输出文件,进入日志信息获取步骤;
日志信息获取步骤:获取日志地址与日志记录总条数,并计算需要备份的日志记录条数,进入头信息输出步骤;
头信息输出步骤:输出备份日志头信息到所述备份输出文件,进入日志迭代步骤;
日志迭代步骤:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则进入备份输出步骤;若无效,则结束流程;
备份输出步骤:备份输出日志记录单元信息到文件系统中的备份输出文件,返回日志迭代步骤继续执行。
所述轨迹记录步骤包括如下步骤,如图7所示:
地址设置步骤:设置轨迹记录结构体地址,在轨迹记录结构体中设置一个参数,该参数在轨迹记录功能未初始化完成时为随机值,在轨迹记录功能初始化完成后,设置为指定数值。该参数作为判断轨迹记录功能是否初始化完成的标记,轨迹记录功能初始化进行前检测该值,若已进行过初始化,则跳过初始化过程,否则触发轨迹初始化步骤进行初始化;
轨迹初始化步骤:添加任务切换轨迹记录钩子,设置轨迹记录状态,进入轨迹记录插入步骤;
轨迹记录插入步骤:插入轨迹记录,判断是否日志初始化且待写入的记录数据与上次不同;若是,则将记录数据写入轨迹记录环形缓冲区;若否,则结束流程;
轨迹记录显示步骤:显示轨迹记录,判断是否轨迹记录模块是否已初始化;若是,则遍历轨迹记录环形缓冲区显示轨迹记录信息,显示轨迹记录信息对应任务名;若否,则结束流程。
本发明还提供一种基于嵌入式实时系统的日志服务系统,本领域技术人员可以将所述基于嵌入式实时系统的日志服务方法理解为所述基于嵌入式实时系统的日志服务系统的实施例,所述基于嵌入式实时系统的日志服务系统可以通过所述基于嵌入式实时系统的日志服务方法的步骤流程实现。
具体地,根据本发明提供的一种基于嵌入式实时系统的日志服务系统,包括:
日志内存管理模块:在嵌入式实时系统初始化时,为日志服务分配所需内存空间构成日志内存;
日志服务初始化模块:在所述日志内存管理模块执行之后,对日志服务进行初始化,选择是否保留日志内存中原有的日志记录,并指定每条日志记录的大小;触发日志记录模块:
日志记录模块:在所述日志服务初始化模块执行之后,将出现异常故障时嵌入式实时系统捕获的异常信息、用户添加的日志信息以及日志校验码写入日志内存中作为日志记录;触发日志记录查询显示模块;
日志显示模块:在所述日志记录模块执行之后,查询并显示所述日志内存中通过校验有效的日志记录;
日志备份模块:在所述日志记录模块执行之后,将日志内存中的日志记录保存到文件系统中,并且将掉电情况下的日志记录保存在非易失性存储器中;
轨迹记录模块:在所述日志内存管理模块执行之后,将任务调用执行顺序和/或用户自定义桩点执行顺序在日志内存中进行记录。
所述日志内存内保存的信息在热重启的情况下具有完整有效性,所述日志内存内保存的信息在热重启的情况下不被破坏或者通过校验保证完整有效性;所述日志内存设置为非高速缓冲存储器访问,并且所述日志内存的内存地址空间设为常驻转换检测缓冲区,复位时设置日志内存自刷新;
所述日志服务初始化模块包括:
设置状态判断模块:判断日志初始化状态是否未设置;若已设置,则触发日志记录模块;若未设置,则触发日志地址与长度设置模块;
日志地址与长度设置模块:获取并设置日志地址与日志长度;
新建日志判断模块:在所述日志地址与长度设置模块执行之后,判断是否新建日志;若新建日志,则新建日志数据结构并初始化日志数据结构的参数,触发日志初始化状态设置模块;若不新建日志,则检查日志内存中日志数据结构是否有效;若日志内存中日志数据结构是有效的,则继续使用原有日志数据结构;若日志内存中日志数据结构不是有效的,则新建日志数据结构并初始化日志数据结构的参数,触发日志初始化状态设置步骤;
日志初始化状态设置模块:设置日志初始化状态。
所述日志记录模块包括如下模块:
信息获取模块:获取当前任务ID、CPU ID与日志地址;
日志服务有效性判断模块:判断日志服务有效性;若无效,则显示无效信息;若有效,则获取一个日志记录单元,触发设置日志记录模块;
设置日志记录模块:设置该日志记录单元的基本静态信息,并记录当前系统时间,触发文件任务名有效性判断模块;
文件任务名有效性判断模块:判断文件名与任务名是否均有效;若均有效,则记录文件名、任务名;若不是均有效,则触发异常信息选项判断模块;
异常信息选项判断模块:判断异常信息选项的有效性;若有效,则记录异常信息;若无效,则触发上下文信息选项判断模块:
上下文信息选项判断模块:判断上下文信息选项的有效性;若有效,则记录上下文信息;若无效,则触发栈回溯信息选项判断模块;
栈回溯信息选项判断模块:判断栈回溯信息选项的有效性;若有效,则记录栈回溯信息,触发日志记录单元提交模块;若无效,则触发日志记录单元提交模块
日志记录单元提交模块:生成该条日志记录单元的校验码并提交一个日志记录单元作为一条日志记录的插入。
所述日志显示模块包括如下模块:
初始化状态有效性判断模块:判断日志初始化状态是否有效;若有效,则触发日志信息获取模块;若无效,则结束流程;
日志信息获取模块:获取日志地址与日志记录总条数,并计算需要显示的日志记录条数,打印显示日志头信息,触发日志迭代模块;
日志迭代模块:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则触发日志打印模块;若无效,则结束流程;
日志打印模块:打印显示日志记录单元中的日志记录,返回日志迭代模块继续执行;
所述日志备份模块包括如下模块,如图6所示:
初始化状态有效性判断模块:判断日志初始化状态是否有效;若有效,则触发创建备份输出模块;若无效,则结束流程;
创建备份输出模块:在文件系统中创建备份输出文件,触发日志信息获取模块;
日志信息获取模块:获取日志地址与日志记录总条数,并计算需要备份的日志记录条数,触发头信息输出模块;
头信息输出模块:输出备份日志头信息到所述备份输出文件,触发日志迭代模块;
日志迭代模块:创建日志迭代器,再通过日志迭代器查询日志记录单元,并对日志记录单元的校验码进行校验是否有效;若有效,则触发备份输出模块;若无效,则结束流程;
备份输出模块:备份输出日志记录单元信息到文件系统中的备份输出文件,返回日志迭代模块继续执行。
所述轨迹记录模块包括如下模块:
地址设置模块:设置轨迹记录结构体地址,在轨迹记录结构体中设置一个参数,该参数在轨迹记录功能未初始化完成时为默认值,在轨迹记录功能初始化完成后,设置为另一个值。该参数作为判断轨迹记录功能是否初始化完成的标记,轨迹记录功能初始化进行前检测该值,若已进行过初始化,则跳过初始化过程,否则触发轨迹初始化模块进行初始化;
轨迹初始化模块:添加任务切换轨迹记录钩子,设置轨迹记录状态,触发轨迹记录插入模块;
轨迹记录插入模块:插入轨迹记录,判断是否日志初始化且待写入的记录数据与上次不同;若是,则将记录数据写入轨迹记录环形缓冲区;若否,则结束流程;
轨迹记录显示模块:显示轨迹记录,判断是否轨迹记录模块是否已初始化;若是,则遍历轨迹记录环形缓冲区显示轨迹记录信息,显示轨迹记录信息对应任务名;若否,则结束流程。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (8)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711209614.0A CN108089971B (zh) 2017-11-27 2017-11-27 基于嵌入式实时系统的日志服务方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711209614.0A CN108089971B (zh) 2017-11-27 2017-11-27 基于嵌入式实时系统的日志服务方法和系统

Publications (2)

Publication Number Publication Date
CN108089971A CN108089971A (zh) 2018-05-29
CN108089971B true CN108089971B (zh) 2021-03-16

Family

ID=62173170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711209614.0A Active CN108089971B (zh) 2017-11-27 2017-11-27 基于嵌入式实时系统的日志服务方法和系统

Country Status (1)

Country Link
CN (1) CN108089971B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960590B (zh) * 2019-03-26 2021-05-18 北京简约纳电子有限公司 一种优化嵌入式系统诊断打印的方法
CN110716838A (zh) * 2019-08-31 2020-01-21 苏州浪潮智能科技有限公司 一种raid卡有效故障日志的获取方法、系统及设备
CN111290355B (zh) * 2020-02-27 2021-06-22 中电九天智能科技有限公司 记录及查找log的方法
CN112100032B (zh) * 2020-09-17 2023-11-10 上海创景信息科技有限公司 一种嵌入式设备日志输出记录方法及系统
CN112115097B (zh) * 2020-09-28 2023-08-29 合肥沛睿微电子股份有限公司 运行日志信息的访问方法及存储设备
CN112612643A (zh) * 2020-12-21 2021-04-06 武汉天宫北斗科技有限公司 一种高精度变形监测数据存储系统
CN113254460B (zh) * 2021-07-07 2022-01-11 阿里云计算有限公司 数据处理方法、系统、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286130A (zh) * 2007-04-11 2008-10-15 中兴通讯股份有限公司 一种嵌入式设备的复位故障定位的实现方法
CN102722440A (zh) * 2012-06-07 2012-10-10 中兴通讯股份有限公司 一种嵌入式系统可执行代码的调试装置、调试方法及嵌入式系统
CN103577121A (zh) * 2013-11-05 2014-02-12 中船重工(武汉)凌久电子有限责任公司 一种基于nand flash的高可靠线性文件存取方法
CN103927251A (zh) * 2014-03-18 2014-07-16 烽火通信科技股份有限公司 一种嵌入式系统的日志管理方法
CN104461521A (zh) * 2014-11-26 2015-03-25 北京航空航天大学 一种应用程序重放方法及系统
US9552249B1 (en) * 2014-10-20 2017-01-24 Veritas Technologies Systems and methods for troubleshooting errors within computing tasks using models of log files
CN106407029A (zh) * 2016-08-31 2017-02-15 福建联迪商用设备有限公司 一种便于现场定位支付终端故障的方法及其系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286130A (zh) * 2007-04-11 2008-10-15 中兴通讯股份有限公司 一种嵌入式设备的复位故障定位的实现方法
CN102722440A (zh) * 2012-06-07 2012-10-10 中兴通讯股份有限公司 一种嵌入式系统可执行代码的调试装置、调试方法及嵌入式系统
CN103577121A (zh) * 2013-11-05 2014-02-12 中船重工(武汉)凌久电子有限责任公司 一种基于nand flash的高可靠线性文件存取方法
CN103927251A (zh) * 2014-03-18 2014-07-16 烽火通信科技股份有限公司 一种嵌入式系统的日志管理方法
US9552249B1 (en) * 2014-10-20 2017-01-24 Veritas Technologies Systems and methods for troubleshooting errors within computing tasks using models of log files
CN104461521A (zh) * 2014-11-26 2015-03-25 北京航空航天大学 一种应用程序重放方法及系统
CN106407029A (zh) * 2016-08-31 2017-02-15 福建联迪商用设备有限公司 一种便于现场定位支付终端故障的方法及其系统

Also Published As

Publication number Publication date
CN108089971A (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
CN108089971B (zh) 基于嵌入式实时系统的日志服务方法和系统
US9690642B2 (en) Salvaging event trace information in power loss interruption scenarios
US10474618B2 (en) Debug data saving in host memory on PCIE solid state drive
US10949342B2 (en) Persistent memory garbage collection
CN104461391A (zh) 一种存储设备元数据管理处理方法及系统
CN110727597B (zh) 一种基于日志排查无效代码补全用例的方法
CN106682162A (zh) 日志管理方法及装置
CN103226499A (zh) 一种恢复内部存储器中的异常数据的方法及装置
CN105718330A (zh) 一种Linux系统备份数据的恢复方法及装置
CN113791741B (zh) 固态硬盘的数据巡检方法、装置、计算机设备及存储介质
CN113900903B (zh) 日志存储装置、日志撷取方法及存储介质
CN109683825B (zh) 一种存储系统在线数据压缩方法、装置及设备
CN103165194A (zh) 快速检测大容量NOR Flash的方法及装置
CN113296694A (zh) 一种上电重建方法及装置和固态硬盘
WO2024077863A1 (zh) 一种全闪存储系统的恢复方法及相关装置
CN109086162B (zh) 一种内存诊断方法和装置
CN117131014A (zh) 数据库迁移方法、装置、设备及存储介质
CN110688242A (zh) SSD异常掉电后恢复block信息的方法及相关组件
CN106648969A (zh) 一种磁盘中损坏数据巡检方法及系统
CN102063365B (zh) 一种记录单板运行信息的方法及装置
CN108614664B (zh) 基于NAND flash的读错误处理方法和装置
US9880926B1 (en) Log structured reserved zone for a data storage device
CN111142792B (zh) 一种存储装置的掉电保护方法
CN113986599A (zh) 一种应用处理方法、终端、服务器、设备及存储介质
CN110597674B (zh) 一种存储器检测方法、装置、录像系统及存储介质

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
GR01 Patent grant
GR01 Patent grant