物联网终端日志的上传方法、装置、物联网终端与流程

文档序号:29092278发布日期:2022-03-02 03:12阅读:196来源:国知局
物联网终端日志的上传方法、装置、物联网终端与流程

1.本技术涉及物联网技术领域,特别是涉及一种物联网终端日志的上传方法、装置、物联网终端和存储介质。


背景技术:

2.随着物联网技术和边缘计算的发展,由微控制器和蜂窝通信模组构成的物联网终端越来越多。其中,微控制器作为主控,蜂窝通信模组提供透传通道,通过串口与微控制器进行连接,为微控制器提高蜂窝网络的接入能力。该物联网终端可以是obd(on board diagnostics,车载自动诊断)盒子、行车记录仪等等。
3.由于物联网终端常常部署在偏远地区或者异地甚至跨国区域,大多数是无人值守的状态。当物联网终端出现现场应用的兼容性或者稳定性的问题时,技术人员无法及时去现场解决问题,因此,需要将出现问题的物联网终端寄回,并且必须对出现的问题进行复现。这样,在解决物联网终端故障时,存在处理效率低的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种物联网终端日志的上传方法、装置、物联网终端和存储介质。
5.一种物联网终端日志的上传方法,该方法包括:
6.获取日志采集指令,并解析该日志采集指令得到目标任务标识;从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志;将该目标日志存储至该物联网终端中的目标存储区域;若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器,以供对该物联网终端的运行状态进行远程分析。
7.在其中一个实施例中,该物联网终端包括微控制器,该微控制器中运行有软件实时操作系统,在该软件实时操作系统中预先部署有多个软件任务和日志记录任务,其中,在该微控制器运行的过程中,通过该日志记录任务执行日志采集指令的解析、目标日志的采集、以及目标日志存储的步骤。
8.在其中一个实施例中,该解析该日志采集指令得到目标任务标识,包括:
9.从该日志采集指令中确定与各个任务标识分别对应的上传参数;若存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识,确定为目标任务标识。
10.在其中一个实施例中,该方法还包括:
11.若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识,确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。
12.在其中一个实施例中,所述方法还包括:
13.确定当前的网络信号是否满足拨号条件;确定当前的目标存储区域中是否已存储目标日志;确定当前的通信模块是否处于空闲状态;确定当前的微控制器的时间是否与该通信模块的网络时间保持一致;当该当前的网络信号满足拨号条件、且该当前的目标存储区域中已存储目标日志、且该当前的通信模块处于空闲状态、且该当前的微控制器的时间与该通信模块的网络时间保持一致时,则确定当前状态满足日志上传条件。
14.在其中一个实施例中,该方法还包括:
15.若当前状态不满足该上传条件,则确定该存储器的当前擦写次数;若该当前擦写次数小于擦写次数阈值,则继续进行目标日志的采集和存储步骤;若该当前擦写次数大于或等于该擦写次数阈值,则停止目标日志的采集和存储,并等待达到日志上传条件时,将该目标日志从目标存储区域中上传至远程服务器。
16.在其中一个实施例中,该若该当前擦写次数小于擦写次数阈值,则继续进行目标日志的采集和存储步骤,包括:
17.若该当前擦写次数小于擦写次数阈值,判断是否接收到新的日志采集指令;若未接收到新的日志采集指令,则直接返回该采集与该目标软件任务对应的目标日志的步骤继续执行;若接收到新的日志采集指令,则对新的日志采集指令进行解析得到新的目标任务标识,并基于新的目标任务标识进行新的目标日志的采集和存储。
18.一种物联网终端日志的上传装置,该装置包括:
19.解析模块,用于获取日志采集指令,并解析该日志采集指令得到目标任务标识;
20.采集模块,用于从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志;
21.存储模块,用于将该目标日志存储至该物联网终端中的目标存储区域;
22.上传模块,用于若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器,以供对所述物联网终端的运行状态进行远程分析。
23.一种物联网终端,包括存储器和微控制器,所述存储器存储有计算机程序,所述微控制器执行所述计算机程序时实现如上述任一物联网终端日志的上传方法。
24.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一物联网终端日志的上传方法。
25.上述物联网终端日志的上传方法、装置、物联网终端和存储介质,获取日志采集指令,并解析该日志采集指令得到目标任务标识;从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志;将该目标日志存储至该物联网终端中的目标存储区域;若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器,以供对该物联网终端的运行状态进行远程分析。这样,技术人员通过访问远程服务器就能够得到物联网终端的目标日志,大大节省了时间成本。同时,基于远程服务器获取的目标日志,能够及时复现物联网终端的问题,并对复现的问题进行有效的分析,从而加快了解决物联网终端故障的速度,进而大大提高了处理效率。
附图说明
26.图1为一个实施例中物联网终端日志的上传方法的应用环境图;
27.图2为一个实施例中物联网终端日志的上传方法的流程示意图;
28.图3为一个实施例中软件实时操作系统的示意图;
29.图4为一个实施例中物联网终端的结构示意图;
30.图5为另一个实施例中物联网终端日志的上传方法的流程示意图;
31.图6为一个实施例中物联网终端日志的上传装置的结构框图;
32.图7为一个实施例中物联网终端的内部结构图。
具体实施方式
33.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
34.本技术提供的物联网终端日志的上传方法,可以应用于如图1所示的应用环境中。其中,物联网终端102与远端服务器104通过网络进行通信。物联网终端102获取日志采集指令,并解析该日志采集指令得到目标任务标识;物联网终端102从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志;物联网终端102将该目标日志存储至该物联网终端中的目标存储区域;物联网终端102若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器104。其中,物联网终端102可以是微控制器和通信模组组成,远程服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
35.在一个实施例中,如图2所示,提供了一种物联网终端日志的上传方法,以该方法应用于图1中的物联网终端为例进行说明,包括以下步骤:
36.步骤s202,获取日志采集指令,并解析该日志采集指令得到目标任务标识。
37.其中,日志采集指令为指示物联网终端对软件任务进行采集的指令。任务标识用于区分各个软件任务,每个软件任务与物联网终端运行的软件所对应。
38.具体地,远程服务器下发日志采集指令至物联网终端,物联网终端获取该日志采集指令。物联网终端对该日志采集指令进行解析,得到与各个软件任务对应的任务标识,并对各个任务标识进行筛选,得到目标任务标识。例如,远程服务器下发日志采集指令至物联网终端,物联网终端获取该日志采集指令。物联网终端对该日志采集指令进行解析,得到各个任务标识,比如,各个任务标识分别为task1、task2、
……
、task8。并对各个任务标识进行筛选,得到与采集指令对应的目标任务标识,比如,目标任务标识为task1、task2。
39.需要说明的是,本技术中涉及到的需要采集的物联网终端日志,是在经过拥有物联网终端所有权的用户或相关用户授权的前提下进行采集的。比如,物联网终端获取的日志采集指令,是远程终端在接收到用户的授权或确认指令后生成并发送至物联网终端的。
40.步骤s204,从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志。
41.其中,日志(log)是指系统所指定对象的某些操作和其操作结果按时间有序的集合,log文件即为日志文件,该log文件记录了系统和系统的用户之间交互的信息,该文件可以是文本文件。
42.具体地,从物联网终端中执行的多个软件任务中,物联网终端基于目标任务标识,
确定与该目标任务标识对应的目标软件任务。物联网终端基于目标软件任务采集与目标软件任务对应的目标日志。
43.例如,物联网终端运行某个软件的8个任务(比如,软件任务a、
……
、软件任务h)。其中,每个软件任务分别一一对应一个任务标识,如软件任务a对应的任务标识task1,
……
,软件h对应的任务标识task8。物联网终端获取目标任务标识为task1、task2,并基于每个软件的任务与任务标识的对应关系,确定与目标任务标识中对应的目标软件任务,即目标软件任务分别为软件任务a对应的任务、软件任务b对应的任务。物联网终端采集与该目标软件任务对应的目标日志,即软件任务a对应的目标日志a,软件任务b对应的目标日志b。
44.步骤s206,将该目标日志存储至该物联网终端中的目标存储区域。
45.具体地,物联网终端确定目标存储区域,并基于采集到的目标日志,将该目标日志存储至物联网终端中的目标存储区域。
46.在其中一个实施例中,物联网终端指定存储区域为目标存储区域,并基于采集到的目标日志,将该目标日志存储至物联网终端中的目标存储区域。
47.在其中一个实施例中,物联网终端将存储区域中未被存储的区域作为目标存储区域,并基于采集到的目标日志,将该目标日志存储至物联网终端中的目标存储区域。
48.步骤s208,若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器,以供对该物联网终端的运行状态进行远程分析。
49.其中,当前状态为当前的网络信号状态、存储状态、业务处理状态以及时间状态等中的至少一种状态。
50.具体地,基于当前的网络信号状态、存储状态、业务处理状态以及时间状态,物联网终端确定当前状态。若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器。
51.上述物联网终端日志的上传方法,获取日志采集指令,并解析该日志采集指令得到目标任务标识;从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志;将该目标日志存储至该物联网终端中的目标存储区域;若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器,以供对该物联网终端的运行状态进行远程分析。这样,技术人员通过访问远程服务器就能够得到物联网终端的目标日志,大大节省了时间成本。同时,基于远程服务器获取的目标日志,能够及时复现物联网终端的问题,并对复现的问题进行有效的分析,从而加快了解决物联网终端故障的速度,进而大大提高了处理效率。
52.在一个实施例中,该物联网终端包括微控制器,该微控制器中运行有软件实时操作系统,在该软件实时操作系统中预先部署有多个软件任务和日志记录任务,其中,在该微控制器运行的过程中,通过该日志记录任务执行日志采集指令的解析、目标日志的采集、以及目标日志存储的步骤。
53.其中,软件实时操作系统(real-time operating system,rtos),即为即时操作系统,该系统会按照排序运行、管理系统资源,并为开发应用程序提供一致的基础。该软件实时操作系统用于创建多任务运行。
54.具体地,物联网终端中的微控制器运行软件实时操作系统,并在该软件实时操作
系统中预先部署多个与运行的软件所对应的软件任务、以及日志记录任务。其中,该日志记录任务默认不运行。当微控制器获取该日志采集指令时,基于该日志采集指令,微控制器控制相应的软件功能的开闭情况。并且该微控制器在运行的过程中,微控制器通过该日志记录任务对该日志采集指令进行解析,得到目标任务标识。从微控制器中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志。该微控制器将该目标日志存储至该物联网终端中的目标存储区域。
55.例如,如图3所示的软件实时操作系统。物联网终端中的微控制器运行软件实时操作系统,并在该软件实时操作系统中预先部署的n个与运行的软件所对应的软件任务、以及日志记录任务。其中,该日志记录任务默认不运行。当微控制器获取该日志采集指令时,基于该日志采集指令,微控制器控制相应的软件功能的开闭情况。并且该微控制器在运行的过程中,微控制器对该日志采集指令进行解析,得到与各个软件任务对应的任务标识,并对各个任务标识进行筛选,得到目标任务标识。微控制器基于目标任务标识,确定与该目标任务标识对应的目标软件任务。并基于目标软件任务采集与目标软件任务对应的目标日志。微控制器确定目标存储区域,并基于采集到的目标日志,将该目标日志存储至物联网终端中的目标存储区域。
56.在本实施例中,该物联网终端包括微控制器,基于该微控制器中的软件实时操作系统能够使得日志记录任务独立运行,以执行日志采集指令的解析、目标日志的采集、以及目标日志存储的步骤。因此,能够实现与其他任务的解耦,有利于软件的移植。
57.在一个实施例中,该解析该日志采集指令得到目标任务标识,包括:从该日志采集指令中确定与各个任务标识分别对应的上传参数;若存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识,确定为目标任务标识。
58.其中,上传参数可以是字节(byte)类型或字(word)类型的参数。以字节为例,它对应有8个位,每个位取值有1或0,即位值1用于表征使能上传,位值0用于表征关闭上传。
59.具体地,物联网终端获取日志采集指令,并从该日志采集指令中确定与各个任务标识分别对应的上传参数。物联网终端对各个任务标识分别对应的上传参数进行判定,若各个上传参数中存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识,确定为目标任务标识。
60.例如,物联网终端获取日志采集指令,该日志采集指令如下表1所示:
61.表1日志采集指令
[0062][0063]
基于该日志采集指令,物联网终端从该日志采集指令中确定与各个任务标识分别对应的上传参数,如rm,logup=0x03(二进制是0000 0011b)指定任务task1和任务task2的
日志被收集记录和上传,与任务标识task1至task8分别对应的上传参数为1、1、0、0、0、0、0、0。其中位值1为表征使能上传,位值0表征关闭上传。物联网终端对各个任务标识分别对应的上传参数进行判断,确定task1和task2为使能上传,task3至task8为关闭上传。若存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识task1和task2,均确定为目标任务标识。
[0064]
在本实施例中,从该日志采集指令中确定与各个任务标识分别对应的上传参数;若存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识,确定为目标任务标识。这样,基于上传参数,能够快速且有效的筛选出目标任务标识。从而,有利于基于该目标任务标识得到目标日志,确保采集日志的正确性,以使得技术人员能够迅速且精准的复现问题,从而大大加快了解决问题的速度。
[0065]
在一个实施例中,该方法还包括:若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识,确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。
[0066]
其中,上传参数可以是字节(byte)类型或字(word)类型的参数。以字节为例,它对应有8个位,每个位取值有1或0,即位值1用于表征使能上传,位值0用于表征关闭上传。具体地,物联网终端获取日志采集指令,该日志采集指令可以如表1所示。并从该日志采集指令中确定与各个任务标识分别对应的上传参数。物联网终端对各个任务标识分别对应的上传参数进行判定,若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识,确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。
[0067]
例如,物联网终端获取日志采集指令,并基于该日志采集指令,从该日志采集指令中确定与各个任务标识分别对应的上传参数,如,与任务标识task1至task8分别对应的上传参数为1、1、0、0、0、0、0、0。其中位值1为表征使能上传,位值0表征关闭上传。物联网终端对各个任务标识分别对应的上传参数进行判断,确定task1和task2为使能上传,task3至task8为关闭上传。若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识task3至task8,均确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。
[0068]
在本实施例中,若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识,确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。这样,基于上传参数,能够快速确定非目标任务标识,并且能够及时禁止对与非目标任务标识对应的日志进行采集,从而确保采集日志的正确性,以使得技术人员能够快速且精准的复现问题,从而大大加快了解决问题的速度。
[0069]
在一个实施例中,该方法还包括判断当前状态是否满足日志上传条件的步骤,该步骤包括:确定当前的网络信号是否满足拨号条件;确定当前的目标存储区域中是否已存储目标日志;确定当前的通信模块是否处于空闲状态;确定当前的微控制器的时间是否与该通信模块的网络时间保持一致;当该当前的网络信号满足拨号条件、且该当前的目标存储区域中已存储目标日志、且该当前的通信模块处于空闲状态、且该当前的微控制器的时间与该通信模块的网络时间保持一致时,则确定当前状态满足日志上传条件。
[0070]
其中,通信模块是物联网设备的核心组成部分,该通信模块将数据转换成可以传输的信号,并通过无线网络传输出去。通信模块的空闲状态为通信模块的原有数据业务已经处理完成。其中,原有数据业务可以是将设备需要上传的数据,即可以是gps(global positioning system,全球定位系统)位置信息、状态数据信息、传感器数据等物联网感知层数据。
[0071]
具体地,物联网终端获取当前状态,其中,当前状态由当前的网络信号状态、存储状态、业务处理状态以及时间状态,四种状态所确定。其中,物联网终端基于各个状态分别对应有各自的状态判定条件,确定各个状态是否满足对应的状态判定条件,即物联网终端分别确定当前的网络信号是否满足拨号条件、确定当前的目标存储区域是否已存储目标日志、确定当前的通信模块是否处于空闲状态、确定当前的微控制器的时间是否与该通信模块的网络时间保持一致。当该当前的网络信号满足拨号条件、且该当前的目标存储区域中已存储目标日志、且该当前的通信模块处于空闲状态、且该当前的微控制器的时间与该通信模块的网络时间保持一致时,则确定当前状态满足日志上传条件。其中,采集存储目标日志和上传目标日志是异步进行,当物联网终端在采集以及存储目标日志的过程中,若当前状态满足上传条件,则将已存储的目标日志上传至远程服务器中。
[0072]
其中,为了不影响原有数据业务逻辑,需要在通信模块处于空闲状态时上传目标日志,例如,微控制器处于预休眠阶段,该通信模块的原有数据业务已处理完毕,该通信模块将目标日志上传。其中预休眠阶段为微控制器的原有数据业务逻辑已完成,准备进入休眠阶段。这样,能够避免目标日志直接上传对原有业务数据业务逻辑的影响,同时,还能够有效避免由于增加目标日志导致上传数据吞吐量不足,出现数据丢失或延迟的问题。此外,基于通信模块的网络时间,将微控制器进行对时,使得记录的目标日志包含时间信息(比如,日期、时、分、秒)。
[0073]
在本实施例中,确定当前的网络信号是否满足拨号条件、确定当前的目标存储区域中是否已存储目标日志、确定当前的通信模块是否处于空闲状态、确定当前的微控制器的时间是否与该通信模块的网络时间保持一致。当该当前的网络信号满足拨号条件、且该当前的目标存储区域中已存储目标日志、且该当前的通信模块处于空闲状态、且该当前的微控制器的时间与该通信模块的网络时间保持一致时,则确定当前状态满足日志上传条件。这样,能够确保从目标存储区域中直接获取包含有时间信息的目标日志,并且在网络拨号数据链路正常的情况下,通信模块在不影响原有业务数据的情况下,将目标日志精准且高效的上传至远程服务器中,以使得技术人员能够远程获取目标日志,从而能够快速且准确的解决问题。
[0074]
在一个实施例中,该方法还包括:若当前状态不满足该上传条件,则确定该存储器的当前擦写次数;若该当前擦写次数小于擦写次数阈值,则继续进行目标日志的采集和存储步骤;若该当前擦写次数大于或等于该擦写次数阈值,则停止目标日志的采集和存储,并等待达到日志上传条件时,将该目标日志从目标存储区域中上传至远程服务器。
[0075]
其中,该存储器为flash存储器,该存储器属于内存器件的一种,是一种非易失性内存。该擦写次数阈值为存储器能够可循环擦写的最大次数。该擦写次数阈值可以通过flash的擦写寿命和产品寿命,结合远程日志使用的次数作估算,所确定。
[0076]
具体地,若当前状态中至少一种状态不满足对应的状态判定条件,则确定当前状
态不满足日志上传条件。若当前状态不满足该日志上传条件,则物联网终端确定该存储器的当前擦写次数,并将该当前擦写次数与该擦写次数阈值进行比较。若该当前擦写次数小于擦写次数阈值,则物联网终端继续进行目标日志的采集和存储步骤。若该当前擦写次数大于或等于该擦写次数阈值,则物联网终端停止目标日志的采集和存储,并等待达到日志上传条件时,物联网终端将该目标日志从目标存储区域中上传至远程服务器。
[0077]
例如,物联网终端获取当前状态,即当前的网络信号状态、存储状态、业务处理状态以及时间状态四种状态。物联网终端基于各个状态分别对应的状态判定条件,确定各个状态是否满足对应的状态判定条件。若当前状态中至少一种状态不满足对应的状态判断条件,则确定当前状态不满足该上传条件,则确定当前状态不满足日志上传条件。若当前状态不满足该日志上传条件,则物联网终端确定该存储器的当前擦写次数,并将该当前擦写次数与该擦写次数阈值进行比较。若该当前擦写次数小于擦写次数阈值,则物联网终端继续进行目标日志的采集和存储步骤。其中,若目标日志a当前存满了目标存储区域,但还未存储完该目标日志a,则物联网终端将存储至目标区域中的目标日志a,上传至远程服务器,并将该目标存储区域进行擦除,以对剩下未存储的目标日志a进行存储。若该当前擦写次数大于或等于该擦写次数阈值,则物联网终端停止目标日志的采集和存储,等待当前状态满足日志上传条件,当达到日志上传条件时,则物联网终端将该目标日志从目标存储区域中上传至远程服务器。
[0078]
在本实施例中,若当前状态不满足该上传条件,则确定该存储器的当前擦写次数。若该当前擦写次数小于擦写次数阈值,则继续进行目标日志的采集和存储步骤。若该当前擦写次数大于或等于该擦写次数阈值,则停止目标日志的采集和存储,并等待达到日志上传条件时,将该目标日志从目标存储区域中上传至远程服务器。这样,在等待达到日志上传条件的过程中,能够基于存储器实际可擦写的情况,确保最大化利用存储器的目标存储区域,使得目标日志能够最大化的上传至远程服务器,以使得技术人员更加高效的解决问题。
[0079]
在一个实施例中,若该当前擦写次数小于擦写次数阈值,则继续进行目标日志的采集和存储步骤,包括:若该当前擦写次数小于擦写次数阈值,判断是否接收到新的日志采集指令;若未接收到新的日志采集指令,则直接返回该采集与该目标软件任务对应的目标日志的步骤继续执行;若接收到新的日志采集指令,则对新的日志采集指令进行解析得到新的目标任务标识,并基于新的目标任务标识进行新的目标日志的采集和存储。
[0080]
具体地,若该当前擦写次数小于擦写次数阈值,物联网终端判断是否接收到新的日志采集指令。若未接收到新的日志采集指令,则物联网终端直接返回采集与目标软件任务对应的目标日志的步骤继续执行,将采集得到的目标日志存储至物联网终端中的目标存储区域,并等待当前状态满足日志上传条件,以将目标日志从目标存储区域中上传至远程服务器。若接收到新的日志采集指令,则物联网终端对新的日志采集指令进行解析,得到新的目标任务标识。物联网终端基于新的目标任务标识,从该物联网终端执行的多个软件任务中,确定新的目标软件任务,并采集与目标软件任务对应的新的目标日志。将该新的目标日志存储至目标存储区域,并等待当前状态满足日志上传条件,以将新的目标日志从目标存储区域中上传至远程服务器。
[0081]
例如,若该当前擦写次数小于擦写次数阈值,物联网终端判断是否接收到新的日志采集指令。若未接收到新的日志采集指令,则物联网终端直接返回采集与目标软件任务
对应的目标日志的步骤继续执行,如目标软件任务为软件任务a、软件任务b。物联网终端采集得到与软件任务a对应的目标日志a、以及与软件任务b对应的目标日志b。物联网终端将目标日志a和目标日志b均存储至物联网终端中的目标存储区域,并等待当前状态满足日志上传条件,以将目标日志a和目标日志b上传至远程服务器。若接收到新的日志采集指令,则物联网终端对新的日志采集指令进行解析,得到新的目标任务标识,比如,新的目标任务标识为task1,该任务标识对应与软件任务a。物联网终端通过新的目标任务标识,确定与新的任务标识对应的新的目标软件任务,即软件任务a。物联网终端停止对上一日志采集指令对应的目标日志b进行采集,采集新的目标软件任务对应的新的目标日志,即目标日志a。将该新的目标日志存储至目标存储区域,并等待当前状态满足日志上传条件,以将新的目标日志从目标存储区域中上传至远程服务器。
[0082]
在本实施例中,若该当前擦写次数小于擦写次数阈值,判断是否接收到新的日志采集指令。若未接收到新的日志采集指令,则直接返回该采集与该目标软件任务对应的目标日志的步骤继续执行。若接收到新的日志采集指令,则对新的日志采集指令进行解析得到新的目标任务标识,并基于新的目标任务标识进行新的目标日志的采集和存储。这样,基于对日志采集指令进行更新判断,以使得对更新的目标日志进行采集、存储。这样,可以基于实时的日志采集需求,灵活的获取技术人员实际所需要的目标日志,从而能够加快技术人员处理问题的速度。
[0083]
为了便于更清楚的了解本技术的技术方案,提供了一个更为详细实施例进行描述。如图4所示的物联网终端结构图。其中,物联网终端由微控制器(microcontroller unit,mcu)、蜂窝通信模组modem所组成,其中,微控制器中包含有存储器flash,该蜂窝通信模组作为透传通道,该微控制器通过at(attention)指令进行操控。该微控制器通过运行软件实时操作系统,该软件实时操作系统中预先部署有多个软件任务和日志记录任务,该日志记录任务执行日志采集指令的解析、目标日志的采集、以及目标日志存储的步骤。该日志记录任务默认不允许,可以基于日志采集指令控制相应软件任务的打开或关闭。
[0084]
该详细实施例的流程图如图5所示,远程服务器下发日志采集指令至物联网终端,物联网终端中的通信模块接收该下发日志采集指令,并透传该日志采集指令至物联网终端的微控制器。该物联网终端中的微控制器获取日志采集指令,并从该日志采集指令中确定与各个任务标识分别对应的上传参数。该微控制器对各个任务标识分别对应的上传参数进行判定。若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识,确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。若各个上传参数中存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识,确定为目标任务标识。从物联网终端中执行的多个软件任务中,基于目标任务标识,物联网终端中的微控制器确定与该目标任务标识对应的目标软件任务。微控制器基于目标软件任务采集与目标软件任务对应的目标日志。物联网终端中的微控制器确定目标存储区域,并基于采集到的目标日志,将该目标日志存储至物联网终端中存储器的目标存储区域。物联网终端中的微控制器获取当前状态,该当前状态由当前的网络信号状态、存储状态、业务处理状态以及时间状态,四种状态所确定。该微控制器基于各个状态分别对应有各自的状态判定条件,确定各个状态是否满足对应的状态判定条件。即微控制器分别确定当前的网络信号是否满足拨号条件、确定当前的
目标存储区域是否已存储目标日志、确定当前的通信模块是否处于空闲状态、确定当前的微控制器的时间是否与该通信模块的网络时间保持一致。
[0085]
当当前状态中至少一种状态不满足对应的状态判定条件时,则确定当前状态不满足日志上传条件。若当前状态不满足该日志上传条件,则物联网终端中的微控制器确定该存储器的当前擦写次数,并将该当前擦写次数与该擦写次数阈值进行比较。若该当前擦写次数小于擦写次数阈值,该微控制器判断是否接收到新的日志采集指令。若未接收到新的日志采集指令,则物联网终端中的微控制器直接返回采集与目标软件任务对应的目标日志的步骤继续执行,将采集得到的目标日志存储至物联网终端中存储器的目标存储区域,并等待当前状态满足日志上传条件,以将目标日志从目标存储区域中上传至远程服务器。若接收到新的日志采集指令,则物联网终端中的微控制器对新的日志采集指令进行解析,得到新的目标任务标识。该微控制器基于新的目标任务标识,从该物联网终端中的软件实时操作系统执行的多个软件任务中,确定新的目标软件任务,并采集与目标软件任务对应的新的目标日志。将该新的目标日志存储至目标存储区域,并等待当前状态满足日志上传条件,以将新的目标日志从目标存储区域中上传至远程服务器。若该当前擦写次数大于或等于该擦写次数阈值,则物联网终端中的微控制器停止目标日志的采集和存储,并等待达到日志上传条件时,该微控制器将该目标日志从目标存储区域中上传至远程服务器。
[0086]
当该当前的网络信号满足拨号条件、且该当前的目标存储区域中已存储目标日志、且该当前的通信模块处于空闲状态、且该当前的微控制器的时间与该通信模块的网络时间保持一致时,则确定当前状态满足日志上传条件,则通信模块将该目标日志从目标存储区域中上传至远程服务器,以供对该物联网终端的运行状态进行远程分析。
[0087]
在本实施例中,获取日志采集指令,并解析该日志采集指令得到目标任务标识。从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志。将该目标日志存储至该物联网终端中的目标存储区域。若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器,以供对该物联网终端的运行状态进行远程分析。这样,技术人员通过访问远程服务器就能够得到物联网终端的目标日志,大大节省了时间成本。同时,基于远程服务器获取的目标日志,能够及时复现物联网终端的问题,并对复现的问题进行有效的分析,从而加快了解决物联网终端故障的速度,进而大大提高了处理效率。此外,通过在物联网终端运行软件实时操作系统,能够实现日志上传任务与其他任务的解耦,有利于软件的移植。
[0088]
应该理解的是,虽然图2和图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0089]
在一个实施例中,如图6所示,提供了一种物联网终端日志的上传装置,包括:解析模块602、采集模块604、存储模块606和上传模块608,其中:
[0090]
解析模块602,用于获取日志采集指令,并解析该日志采集指令得到目标任务标
识。
[0091]
采集模块604,用于从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志。
[0092]
存储模块606,用于将该目标日志存储至该物联网终端中的目标存储区域。
[0093]
上传模块608,用于若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器,以供对该物联网终端的运行状态进行远程分析。
[0094]
在一个实施例中,该物联网终端包括微控制器,该微控制器中运行有软件实时操作系统,在该软件实时操作系统中预先部署有多个软件任务和日志记录任务,其中,在该微控制器运行的过程中,通过该日志记录任务执行日志采集指令的解析、目标日志的采集、以及目标日志存储的步骤。
[0095]
在一个实施例中,该解析模块602,用于从该日志采集指令中确定与各个任务标识分别对应的上传参数;若存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识,确定为目标任务标识。
[0096]
在一个实施例中,该解析模块602,还用于若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识,确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。
[0097]
在一个实施例中,该上传模块608,还用于确定当前的网络信号是否满足拨号条件;确定当前的目标存储区域中是否已存储目标日志;确定当前的通信模块是否处于空闲状态;确定当前的微控制器的时间是否与该通信模块的网络时间保持一致;当该当前的网络信号满足拨号条件、且该当前的目标存储区域中已存储目标日志、且该当前的通信模块处于空闲状态、且该当前的微控制器的时间与该通信模块的网络时间保持一致时,则确定当前状态满足日志上传条件。
[0098]
在一个实施例中,该上传模块608,还用于若当前状态不满足该上传条件,则确定该存储器的当前擦写次数;若该当前擦写次数小于擦写次数阈值,则继续进行目标日志的采集和存储步骤;若该当前擦写次数大于或等于该擦写次数阈值,则停止目标日志的采集和存储,并等待达到日志上传条件时,将该目标日志从目标存储区域中上传至远程服务器。
[0099]
在一个实施例中,该上传模块608,还用于若该当前擦写次数小于擦写次数阈值,判断是否接收到新的日志采集指令;若未接收到新的日志采集指令,则直接返回该采集与该目标软件任务对应的目标日志的步骤继续执行;若接收到新的日志采集指令,则对新的日志采集指令进行解析得到新的目标任务标识,并基于新的目标任务标识进行新的目标日志的采集和存储。
[0100]
关于物联网终端日志的上传装置的具体限定可以参见上文中对于物联网终端日志的上传方法的限定,在此不再赘述。上述物联网终端日志的上传装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于物联网终端中的处理器中,也可以以软件形式存储于物联网终端中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0101]
在一个实施例中,提供了一种物联网终端,该物联网终端可以是由低成本微控制器、存储器和通信模块组成,其内部结构图可以如图7所示。该物联网终端包括通过系统总线连接的微控制器、存储器和通信模块。其中,该物联网终端的微控制器用于提供计算和控
制能力。该物联网终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该物联网终端的存储器用于存储物联网终端日志的上传数据。该物联网终端的通信模块用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种物联网终端日志的上传方法。
[0102]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的物联网终端的限定,具体的物联网终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0103]
在一个实施例中,提供了一种物联网终端,包括存储器和微控制器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取日志采集指令,并解析该日志采集指令得到目标任务标识;从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志;将该目标日志存储至该物联网终端中的目标存储区域;若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器。
[0104]
在一个实施例中,该物联网终端包括微控制器,该微控制器中运行有软件实时操作系统,在该软件实时操作系统中预先部署有多个软件任务和日志记录任务,其中,在该微控制器运行的过程中,通过该日志记录任务执行日志采集指令的解析、目标日志的采集、以及目标日志存储的步骤。
[0105]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从该日志采集指令中确定与各个任务标识分别对应的上传参数;若存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识,确定为目标任务标识。
[0106]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识,确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。
[0107]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定当前的网络信号是否满足拨号条件;确定当前的目标存储区域中是否已存储目标日志;确定当前的通信模块是否处于空闲状态;确定当前的微控制器的时间是否与该通信模块的网络时间保持一致;当该当前的网络信号满足拨号条件、且该当前的目标存储区域中已存储目标日志、且该当前的通信模块处于空闲状态、且该当前的微控制器的时间与该通信模块的网络时间保持一致时,则确定当前状态满足日志上传条件。
[0108]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若当前状态不满足该上传条件,则确定该存储器的当前擦写次数;若该当前擦写次数小于擦写次数阈值,则继续进行目标日志的采集和存储步骤;若该当前擦写次数大于或等于该擦写次数阈值,则停止目标日志的采集和存储,并等待达到日志上传条件时,将该目标日志从目标存储区域中上传至远程服务器。
[0109]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若该当前擦写次数小于擦写次数阈值,判断是否接收到新的日志采集指令;若未接收到新的日志采集指令,则直接返回该采集与该目标软件任务对应的目标日志的步骤继续执行;若接收到新的日志采
集指令,则对新的日志采集指令进行解析得到新的目标任务标识,并基于新的目标任务标识进行新的目标日志的采集和存储。
[0110]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取日志采集指令,并解析该日志采集指令得到目标任务标识;从该物联网终端中执行的多个软件任务中,确定与该目标任务标识对应的目标软件任务,并采集与该目标软件任务对应的目标日志;将该目标日志存储至该物联网终端中的目标存储区域;若当前状态满足日志上传条件,则将该目标日志从目标存储区域中上传至远程服务器。
[0111]
在一个实施例中,该物联网终端包括微控制器,该微控制器中运行有软件实时操作系统,在该软件实时操作系统中预先部署有多个软件任务和日志记录任务,其中,在该微控制器运行的过程中,通过该日志记录任务执行日志采集指令的解析、目标日志的采集、以及目标日志存储的步骤。
[0112]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从该日志采集指令中确定与各个任务标识分别对应的上传参数;若存在上传参数表征为使能的上传参数,则将表征为使能的上传参数所对应的任务标识,确定为目标任务标识。
[0113]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若存在上传参数表征为非使能的上传参数,则将表征为非使能的上传参数所对应的任务标识,确定为非目标任务标识,并禁止对该非目标任务标识所对应的软件任务在运行过程中产生的日志进行采集。
[0114]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定当前的网络信号是否满足拨号条件;确定当前的目标存储区域中是否已存储目标日志;确定当前的通信模块是否处于空闲状态;确定当前的微控制器的时间是否与该通信模块的网络时间保持一致;当该当前的网络信号满足拨号条件、且该当前的目标存储区域中已存储目标日志、且该当前的通信模块处于空闲状态、且该当前的微控制器的时间与该通信模块的网络时间保持一致时,则确定当前状态满足日志上传条件。
[0115]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若当前状态不满足该上传条件,则确定该存储器的当前擦写次数;若该当前擦写次数小于擦写次数阈值,则继续进行目标日志的采集和存储步骤;若该当前擦写次数大于或等于该擦写次数阈值,则停止目标日志的采集和存储,并等待达到日志上传条件时,将该目标日志从目标存储区域中上传至远程服务器。
[0116]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若该当前擦写次数小于擦写次数阈值,判断是否接收到新的日志采集指令;若未接收到新的日志采集指令,则直接返回该采集与该目标软件任务对应的目标日志的步骤继续执行;若接收到新的日志采集指令,则对新的日志采集指令进行解析得到新的目标任务标识,并基于新的目标任务标识进行新的目标日志的采集和存储。
[0117]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可
包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0118]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0119]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1