一种基于嵌入式Linux系统的log抓取方法、装置、计算机及存储介质制造方法及图纸

技术编号:36692464 阅读:27 留言:0更新日期:2023-02-27 20:01
一种基于嵌入式Linux系统的log抓取方法、装置、计算机及存储介质,涉及通信技术领域。解决了现有Linux系统异常信息无法全面抓取的问题。所述方法包括:Linux系统中CPU与MCU模块连接,Linux系统中CPU传输心跳数据至MCU模块,MCU模块抓取所述心跳数据,并判断是否有心跳数据缺失;获取的心跳数据缺失,保存心跳数据在flash;重启所述CPU,MCU模块抓取所述保存在flash的心跳数据传输至CPU;CPU获取所述心跳数据上传至后台服务器;CPU在发送异常心跳数据时,使用kdump makedumpfile机制进行抓取crashdump;CPU重启后,crashdump保存在Linux系统中,并通过Linux系统上传至后台服务器。本发明专利技术应用于无人机平台。发明专利技术应用于无人机平台。发明专利技术应用于无人机平台。

【技术实现步骤摘要】
一种基于嵌入式Linux系统的log抓取方法、装置、计算机及存储介质


[0001]本专利技术涉及通信
,尤其涉及一种基于嵌入式Linux系统的log抓取方法。

技术介绍

[0002]嵌入式系统出现于20世纪60年代晚期,它最初被用于控制机电电话交换机,如今已被广泛的应用于工业制造、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等众多领域。计算机系统核心CPU,每年在全球范围内的产量大概在二十亿颗左右,其中超过80%应用于各类专用性很强的嵌入式系统。一般的说,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。
[0003]Linux做嵌入式的优势,首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更新速度很快,linux是可以定制的,其系统内核最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。
[0004]当前的嵌入式Linux系统抓取log方式,一般采用Linux设备通过UART线直接PC电脑来进行调试,但是在外场客户使用过程中,无法进行实时连接PC,此时出现异常将导致异常信息无法抓取到,并且在实验室环境下不能复现的情况。
[0005]现有专利CN109189601A公开了的一种Linux系统下RAID卡log信息的抓取方法,包括将storcli工具安装至用户文件夹,搭建测试环境;在用户文件夹内创建用于保存RAID卡log信息的日志记录文件;使用storcli工具抓取RAID卡log信息并分类保存到日志记录文件中;根据预设条件对日志记录文件中的log信息进行过滤,得到处理后的log信息;将处理后的log信息存储到log数据表格table_log中。其有效缩短服务器故障修复时间,提高故障分析的效率和准确度是摆在每个维护人员面前的难题。然而,其仅能解决应用层log抓取问题,无法解决Linux内核层出现异常时,底层系统异常信息的全面抓取问题。
[0006]因此,亟需一种方法解决内核异常信息无法全面抓取的问题,解决系统出现异常死机、异常重启等问题。

技术实现思路

[0007]本专利技术解决了现有Linux系统抓取log无法供外场客户使用,无法进行实时连接PC,内核系统异常信息无法全面抓取的问题。
[0008]本专利技术提供一种基于嵌入式Linux系统的log抓取方法,所述方法包括:
[0009]Linux系统中CPU通过串行接口与MCU模块连接,所述Linux系统中CPU传输心跳数据至MCU模块,所述MCU模块抓取所述心跳数据,并判断是否有心跳数据缺失;
[0010]所述获取的心跳数据缺失,保存心跳数据在flash中;
[0011]重启所述CPU,所述MCU模块抓取所述保存在flash的心跳数据传输至CPU;
[0012]所述CPU获取所述心跳数据上传至后台服务器;
[0013]所述CPU在发送异常心跳数据时,使用kdump makedumpfile机制进行抓取crashdump;
[0014]所述CPU重启后,所述crashdump保存在Linux系统中,并通过所述Linux系统上传至后台服务器。
[0015]进一步的,还提供一种优选实施方式,所述kdump makedumpfile机制具体为:
[0016]在Linux系统中增加kexec tool,用于负责加载crash内核和启动参数传递;
[0017]在Linux系统中增加一个rootfs分区,用于存放rootfs文件系统。
[0018]进一步的,还提供一种优选实施方式,所述crashdump保存在Linux系统中,并通过所述Linux系统上传至后台服务器,还包括使用crash和vmlinux进行解析crashdump中各种系统调用栈、且使用objdump解析与Linux ARM异常状态寄存器相关的寄存器。
[0019]进一步的,还提供一种优选实施方式,所述MCU模块通过UART0抓取所述心跳数据。
[0020]进一步的,还提供一种优选实施方式,所述MCU模块抓取所述保存在flash的心跳数据通过UART1传输至CPU。
[0021]进一步的,还提供一种优选实施方式,所述MCU模块采用RT1160的MCU芯片。
[0022]进一步的,还提供一种优选实施方式,所述CPU型号为IMX8MP CPU。
[0023]基于同一专利技术构思,本专利技术还提供一种基于嵌入式Linux系统的log抓取装置,所述装置包括:
[0024]CPU模块,用于所述Linux系统中CPU通过串行接口与MCU模块连接,所述Linux系统中CPU传输心跳数据至MCU模块;
[0025]MCU模块,用于所述MCU模块抓取所述心跳数据,并判断是否有心跳数据缺失;
[0026]心跳数据获取模块,用于所述获取的心跳数据缺失,保存心跳数据在flash中;
[0027]心跳数据保存模块,用于重启所述CPU,所述MCU模块抓取所述保存在flash的心跳数据传输至CPU;
[0028]心跳数据上传单元,用于所述CPU获取所述心跳数据上传至后台服务器;
[0029]异常心跳抓取单元,用于所述CPU在发送异常心跳数据时,使用kdump makedumpfile机制进行抓取crashdump;
[0030]Crashdump上传单元,用于所述CPU重启后,所述crashdump保存在Linux系统中,并通过所述Linux系统上传至后台服务器。
[0031]基于同一专利技术构思,本专利技术还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行根据上述中任一项中所述的一种基于嵌入式Linux系统的log抓取方法。
[0032]基于同一专利技术构思,本专利技术还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述任一项所述的一种基于嵌入式Linux系统的log抓取方法。
[0033]本专利技术的有益之处在于:
[0034]本专利技术解决了现有Linux系统抓取log无法供外场客户使用,无法进行实时连接PC,异常信息无法全面抓取的问题。
[0035]本专利技术所述的一种基于嵌入式Linux系统的log抓取方法,通过MCU模块获取Linux系统中CPU的心跳数据,当MCU模块获取的心跳丢失,则将抓取到的数据保存在flash中。当Linux系统异常的时候,启动第二内核进行数据转存之后,系统将会重启,待重启后,MCU模块抓取所述保存在flash的心跳数据传输至CPU,cp本文档来自技高网
...

【技术保护点】

【技术特征摘要】
中任一项中所述的一种基于嵌入式Linux系统的log抓取方法。10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,...

【专利技术属性】
技术研发人员:李丹
申请(专利权)人:黑龙江惠达科技发展有限公司
类型:发明
国别省市:

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

1