CN111949009B - 嵌入式控制器自诊断自维护方法、装置及存储介质 - Google Patents
嵌入式控制器自诊断自维护方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111949009B CN111949009B CN202010820067.5A CN202010820067A CN111949009B CN 111949009 B CN111949009 B CN 111949009B CN 202010820067 A CN202010820067 A CN 202010820067A CN 111949009 B CN111949009 B CN 111949009B
- Authority
- CN
- China
- Prior art keywords
- self
- detection object
- maintenance
- embedded controller
- executing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0262—Confirmation of fault detection, e.g. extra checks to confirm that a failure has indeed occurred
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24065—Real time diagnostics
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种嵌入式控制器自诊断自维护方法、装置及存储介质,所述嵌入式控制器自诊断自维护方法包括:读取检测对象描述文件以获取一个检测对象;依次根据所述检测对象中的更新标记变量和定时器进行判断,对对所述检测对象执行专用检测以得到参数值;判断所述参数值是否在预设的阈值范围内,并根据参数值超过计数阈值发送异常信息给服务器;对所述检测对象执行维护程序以完成对所述检测对象的维护,并将所述维护信息上传至服务器,并根据所述检测对象的链表指针以获取下一个检测对象。本发明还提供一种嵌入式控制器自诊断自维护装置及存储介质。本发明提供的技术方案,能够掌握远端子***的工作状态,提高***的稳定性和可维护性。
Description
技术领域
本发明涉及一种远程嵌入式控制器自诊断自维护技术领域,尤其是涉及一种嵌入式控制器自诊断自维护方法、装置及存储介质。
背景技术
嵌入式控制器一般长期运行在无人值守的环境中,控制器可能广泛分布在不同的地理位置,跨省市、跨地域、乃至跨国安装运行都有可能,如果其出现异常运行故障,一般只能通过软件看门狗进行***复位或进行人工手动断电复位。软件看门狗只能捕捉到严重的软件运行故障,而且只能故障发生后进行自动复位处理,不能保存故障现场的***环境信息,使一些潜在的严重故障不能及时被侦测到,容易使控制器长期带病运行;而现场人工手动断电复位操作,则由于处于故障现场的人员并不一定具有足够的专业知识来根据故障表现判断出***故障原因,具有较大的盲目性,同时断电复位将控制器造成较长时间的工作中断,并且人工维护成本较高,不是一个很好的维护手段。一般的,传统嵌入式控制器发生故障时,如果希望得到现场***运行信息,只能采用保存工作日志的方法来实现,但是对于嵌入式控制器来说,其内部ROM空间和擦写使用寿命都是有限的,保存工作日志的方法不适合长期处于运行状态的嵌入式控制器,一般只在程序开发调试阶段记录***工作日志,用于故障排查分析。
发明内容
本发明提供一种嵌入式控制器自诊断自维护方法、装置及存储介质,旨在解决在嵌入式控制器自诊断自维护时不易检测不易维护的问题。
为实现上述目的,本发明提供一种嵌入式控制器自诊断自维护方法,包括:
步骤S1:读取检测对象描述文件以获取一个检测对象,同时记录当前时间及更新所述检测对象文件中的循环时间;
步骤S2:判断所述检测对象是否存在于检测对象链表中,如果否则执行步骤S3,如果是则执行步骤S4;
步骤S3:将所述检测对象进行实例化;所述实例化是将所述检测对象加入到检测对象链表中;
步骤S4:判断所述检测对象中的更新标记变量是否被置位;如果是则执行步骤S5,否则删除所述检测对象并执行步骤S10;
步骤S5:判断定时器是否到期,如果是则执行步骤S6,否则执行步骤S10;
步骤S6:对所述检测对象执行专用检测以得到参数值;
步骤S7:判断所述参数值是否在预设的阈值范围内;如果超出所述阈值范围则执行步骤S8,否则将计数器清零后执行步骤S10;
步骤S8:将计数器加1并判断所述计数器是否大于计数阈值;如果是则执行步骤S9,否则发送异常信息给服务器;
步骤S9:对所述检测对象执行维护程序以完成对所述检测对象的维护,并将所述维护信息上传至服务器,并将所述计数器清零;
步骤S10:读取所述检测对象的链表指针以获取下一个检测对象;
步骤S11:判断检测对象是否有效,如果有效则执行步骤S4,否则执行步骤S12;
步骤S12:检测循环时间是否到,如果是则执行步骤S1,否则获取检测对象链表中的首个检测对象。
进一步地,多个检测对象通过链表指针构成检测对象链表。
进一步地,所述链表指针包括链表头指针和链表尾指针。
进一步地,所述链表头指针指向所述检测对象链表中的上一个检测对象,所述链表尾指针指向所述检测对象链表中的下一个检测对象。
进一步地,所述参考值为对所述检测对象进行检测时得到的返回值,该返回值用于判断是否在预设的参考值阈值范围。
进一步地,所述维护信息包括控制器身份、当前检测对象名、检测参数值、维护方法和维护时间中的任意一种或多种。
进一步地,所述检测对象描述文件包括每个检测对象的基本参数,所述基本参数包括检测对象名称、参考值最小值、参考值最大值、计数阈值、检测对象的检测间隔时间、检测方法和维护方法中的任意一种或多种。
进一步地,所述检测对象描述文件还包括AppCPU检测对象和AppMem检测对象,所述AppCPU检测对象用于检测指定App程序的CPU占用率;所述AppMem检测对象用于检测指定App程序的内存使用规模。
此外,本发明提供一种嵌入式控制器自诊断自维护装置,所述嵌入式控制器自诊断自维护装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的嵌入式控制器自诊断自维护程序,所嵌入式控制器自诊断自维护程序被所述处理器执行时实现如上述的嵌入式控制器自诊断自维护方法的步骤。
同时,本发明提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有嵌入式控制器自诊断自维护程序,所述嵌入式控制器自诊断自维护程序可被一个或者多个处理器执行,以实现如上述的嵌入式控制器自诊断自维护方法的步骤。
本发明提供的嵌入式控制器自诊断自维护方法、装置及存储介质,可以使嵌入式控制器能够在运行时自行检测出***、应用软件及外设硬件的运行状态,使其能够在故障发生前或发生时检测到可能发生的故障,进而采取措施进行处理,同时将本地相关的***故障信息上传到云端管理平台服务器中进行备案保存,使***管理者可以全面的掌握远端子***的工作状态,提高***的稳定性和可维护性;同时,本发明中所述的嵌入式控制器自诊断自维护方法为独立的模块化设计,可单独进行更新维护,进一步提高了***的可维护性。
附图说明
图1为本发明一实施例提供的检测对象链表示意图;
图2为图1中删除检测对象的检测对象链表示意图;
图3为本发明一实施例提供的嵌入式控制器自诊断自维护方法的流程示意图;
图4为本发明实施例提供了一种嵌入式控制器自诊断自维护装置的内部结构示意图;
图5为本发明嵌入式控制器自诊断自维护装置一实施例中的嵌入式控制器自诊断自维护程序的程序模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明提供的一实施例中,通过建立一个可执行的检测对象链表实现对嵌入式控制器的***健康检测与维护,检测对象可以为具体的***或应用程序的某项检测与维护,不同的检测对象可以使用不同的检测方法和维护方法,同时多个不同的检测对象的不同的检测方法与维护方法通过统一的接口进行调用,多个检测对象通过链表指针构建成一个检测对象链表,对所述检测对象链表中的检测对象根据需要进行动太的添加或删减,通过对所述检测对象链表进行遍历即可实现对嵌入式控制器的***健康检测与维护。
请结合参阅图1和图2,具体地,在本发明一实施例中,通过对检测对象定义确定对其检测的参数,在以下示例中,基于C++编程语言,但其实现的方法不局限于C++语言。具体地对所述检测对象的定义包括:
检测对象类:class TestObj_Class
{
TestObj_Class();//构造函数
~TestObj_Class();//构析函数
int Value;//参数值
int ValueMin;//参数最小参考值
int ValueMax;//参数最大参考值
int OverCnt;//连续检测差错次数
int OverCntMax;//最大检测差错次数
int PeriodTime;//检测周期时间
int RefreshFlag;//描述更新标记
string TestObjName;//检测对象名字
string TestMethodName;//检测方法程序名字
string ProcessedMethodName;//维护方法程序名字
int TestTimer();//定时器
int TestMethod();//检测方法函数入口
int ProcessedMethod();//维护方法函数入口
TestObj_Class*pForward;//对象头指针
TestObj_Class*pNext;//对象尾指针
};
其中,TestObj_Class()为TestObj_Class类的构造函数,在实例化检测对象时负责将该对象新增到双向对象链表的尾部,如图1所示。
~TestObj_Class()为TestObj_Class类的构析函数,在删除实例化检测对象时负责将该对象从双向对象链表中释放出来,并使剩余的链表保持完整性,如图2所示。
成员变量Value为参考值用于保存TestMethod()函数的返回值。
成员变量ValueMin为参考值阈值最小值,即检测对象的最低参考值,低于此值即触发告警和维护行为。
成员变量ValueMax为参考值阈值最大值,即检测对象的最高参考值,高于此值即触发告警和维护行为。
成员变量OverCnt为计数器,用于连续检测超程次数。
成员变量OverCntMax为计数阈值,用于设定的最大检测差错次数。
成员变量PeriodTime为检测对象的检测间隔时间。
成员变量RefreshFlag为更新标记变量,用于标记检测对象是否从对象描述文件得到更新。
成员变量TestObjName为检测对象名字。
成员变量TestMethodName为检测对象所使用的检测方法程序名字,该程序可以是shell脚本程序也可以是编译后的C/C++程序,是根据检测对象特性而制作的专用检测程序,可单独进行更新维护。
成员变量ProcessedMethodName为检测对象所使用的维护方法程序名字,该程序可以是shell脚本程序也可以是编译后的C/C++程序,是为解决某类问题而制作的专用维护程序,可单独进行更新维护。
成员函数TestTimer为检测定时器函数,用于指示检测对象在什么时候执行检测操作。
成员函数TestMethod为检测对象所使用的检测方法程序调用函数,其检测返回值保存在成员变量Value中。
成员函数ProcessedMethod为检测对象所使用的维护方法程序调用函数。当检测对象的检测值超过指定范围值后,ProcessedMethod函数除调用ProcessedMethodName指定的维护方法程序外,还负责将控制器身份、当前检测对象名、检测参数值、维护方法、维护时间等参数通过TCP/IP协议上传到云端服务器中。
成员变量pForward为链表头指针,指向对象链表中上一个对象。
成员变量pNext为链表尾指针,指向对象链表中下一个对象。
同时,检测对象的基本参数或初始化值可由一个检测对象描述文件定义,所述检测对象描述文件包括每个检测对象的基本参数,所述基本参数包括检测对象名称、参考值最小值、参考值最大值、计数阈值、检测对象的检测间隔时间、检测方法和维护方法中的任意一种或多种。该文件可以是纯文本文件也可以是其它格式类型的文件,在本实施例中以文本文件类型为例进行描述。
检测对象描述文件内容样例描述:
LoopTime:100
ObjName:AppCPU
ValueMin:1
ValueMax:15
PeriodTime:100
OverCnt:3
Test_method:TestAppCPU.sh
Processed_method:ProcessedAppCPU.sh
ObjName:AppMem
ValueMin:10000
ValueMax:15000
PeriodTime:100
OverCnt:3
Test_method:TestAppMem.sh
Processed_method:ProcessedAppMem.sh
…
在上述的检测对象描述文件内容样例中,第一行的LoopTime描述了对检测对象描述文件的更新检查周期(单位为秒),所述检测对象描述文件还包括两个检测对象AppCPU和AppMem,所述AppCPU检测对象用于检测指定App程序的CPU占用率;所述AppMem检测对象用于检测指定App程序的内存使用规模;其中,APP的正常CUP占用率为1%-15%,正常的内存使用规模为10000-15000字节,AppCPU对象的检测方法程序和维护方法程序分别为TestAppCPU.sh和ProcessedAppCPU.sh,AppMem对象的检测方法程序和维护方法程序分别为TestAppMem.sh和ProcessedAppMem.sh。如果AppCPU对象或AppMem对象连续3次检测返回值超过指定范围,则执行其对应的维护方法程序ProcessedAppCPU.sh或ProcessedAppMem.sh进行维护操作。
请参见图3,具体地,本发明一实施例中提供一种嵌入式控制器自诊断自维护方法,包括:
步骤S1:读取检测对象描述文件以获取一个检测对象,同时记录当前时间及更新所述检测对象文件中的循环时间;
步骤S2:判断所述检测对象是否存在于检测对象链表中,如果否则执行步骤S3,如果是则执行步骤S4;
步骤S3:将所述检测对象进行实例化;所述实例化是将所述检测对象加入到检测对象链表中;
步骤S4:判断所述检测对象中的更新标记变量是否被置位;如果是则执行步骤S5,否则删除所述检测对象并执行步骤S10;
步骤S5:判断定时器是否到期,如果是则执行步骤S6,否则执行步骤S10;
步骤S6:对所述检测对象执行专用检测以得到参数值;
步骤S7:判断所述参数值是否在预设的阈值范围内;如果超出所述阈值范围则执行步骤S8,否则将计数器清零后执行步骤S10;
步骤S8:将计数器加1并判断所述计数器是否大于计数阈值;如果是则执行步骤S9,否则发送异常信息给服务器;
步骤S9:对所述检测对象执行维护程序以完成对所述检测对象的维护,并将所述维护信息上传至服务器,并将所述计数器清零;所述维护信息包括控制器身份、当前检测对象名、检测参数值、维护方法和维护时间中的任意一种或多种;
步骤S10:读取所述检测对象的链表指针以获取下一个检测对象;
步骤S11:判断检测对象是否有效,如果有效则执行步骤S4,否则执行步骤S12;
步骤S12:检测循环时间是否到,如果是则执行步骤S1,否则获取检测对象链表中的首个检测对象。
与现有技术相比,本发明提供的嵌入式控制器自诊断自维护方法、装置及存储介质,可以使嵌入式控制器能够在运行时自行检测出***、应用软件及外设硬件的运行状态,使其能够在故障发生前或发生时检测到可能发生的故障,进而采取措施进行处理,同时将本地相关的***故障信息上传到云端管理平台服务器中进行备案保存,使***管理者可以全面的掌握远端子***的工作状态,提高***的稳定性和可维护性;同时,本发明中所述的嵌入式控制器自诊断自维护方法为独立的模块化设计,可单独进行更新维护,进一步提高了***的可维护性。
为实现上述目的,本发明还提供一种嵌入式控制器自诊断自维护装置,所述嵌入式控制器自诊断自维护装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的嵌入式控制器自诊断自维护程序,所述嵌入式控制器自诊断自维护程序被所述处理器执行时实现上述的嵌入式控制器自诊断自维护方法的步骤。
此外,本发明提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有嵌入式控制器自诊断自维护程序,所述嵌入式控制器自诊断自维护程序可被一个或者多个处理器执行,以实现上述的嵌入式控制器自诊断自维护方法的步骤。
请参阅图4,是本发明实施例提供了一种嵌入式控制器自诊断自维护装置的内部结构示意图,所述嵌入式控制器自诊断自维护装置至少包括存储器11、处理器12、通信总线13、以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是嵌入式控制器自诊断自维护装置的内部存储单元,例如该嵌入式控制器自诊断自维护装置的硬盘。存储器11在另一些实施例中也可以是嵌入式控制器自诊断自维护装置的外部存储设备,例如嵌入式控制器自诊断自维护装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器11还可以既包括嵌入式控制器自诊断自维护装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于嵌入式控制器自诊断自维护装置的应用软件及各类数据,例如嵌入式控制器自诊断自维护程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行嵌入式控制器自诊断自维护程序等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该嵌入式控制器自诊断自维护装置与其他电子设备之间建立通信连接。
可选地,该嵌入式控制器自诊断自维护装置还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在嵌入式控制器自诊断自维护装置中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-14以及嵌入式控制器自诊断自维护程序的嵌入式控制器自诊断自维护装置,本领域技术人员可以理解的是,图4示出的结构并不构成对嵌入式控制器自诊断自维护装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图4所示的嵌入式控制器自诊断自维护装置实施例中,存储器11中存储有嵌入式控制器自诊断自维护程序;处理器12执行存储器11中存储的嵌入式控制器自诊断自维护程序时实现如下步骤:
步骤S1:读取检测对象描述文件以获取一个检测对象,同时记录当前时间及更新所述检测对象文件中的循环时间;
步骤S2:判断所述检测对象是否存在于检测对象链表中,如果否则执行步骤S3,如果是则执行步骤S4;
步骤S3:将所述检测对象进行实例化;所述实例化是将所述检测对象加入到检测对象链表中;
步骤S4:判断所述检测对象中的更新标记变量是否被置位;如果是则执行步骤S5,否则删除所述检测对象并执行步骤S10;
步骤S5:判断定时器是否到期,如果是则执行步骤S6,否则执行步骤S10;
步骤S6:对所述检测对象执行专用检测以得到参数值;
步骤S7:判断所述参数值是否在预设的阈值范围内;如果超出所述阈值范围则执行步骤S8,否则将计数器清零后执行步骤S10;
步骤S8:将计数器加1并判断所述计数器是否大于计数阈值;如果是则执行步骤S9,否则发送异常信息给服务器;
步骤S9:对所述检测对象执行维护程序以完成对所述检测对象的维护,并将所述维护信息上传至服务器,并将所述计数器清零;
步骤S10:读取所述检测对象的链表指针以获取下一个检测对象;
步骤S11:判断检测对象是否有效,如果有效则执行步骤S4,否则执行步骤S12;
步骤S12:检测循环时间是否到,如果是则执行步骤S1,否则获取检测对象链表中的首个检测对象。
参照图5所示,为本发明嵌入式控制器自诊断自维护装置一实施例中的嵌入式控制器自诊断自维护程序的程序模块示意图,该实施例中,嵌入式控制器自诊断自维护程序可以被分割为设置模块10、检测模块20和维护模块30,示例性地:
设置模块10,用于设置检测对象及检测对象链表;
检测模块20,用于实现对检测对象的检测;
维护模块30,用于实现对检测对象的维护。
上述设置模块10、检测模块20和维护模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有嵌入式控制器自诊断自维护程序,所述嵌入式控制器自诊断自维护程序可被一个或多个处理器执行,以实现如下操作:
步骤S1:读取检测对象描述文件以获取一个检测对象,同时记录当前时间及更新所述检测对象文件中的循环时间;
步骤S2:判断所述检测对象是否存在于检测对象链表中,如果否则执行步骤S3,如果是则执行步骤S4;
步骤S3:将所述检测对象进行实例化;所述实例化是将所述检测对象加入到检测对象链表中;
步骤S4:判断所述检测对象中的更新标记变量是否被置位;如果是则执行步骤S5,否则删除所述检测对象并执行步骤S10;
步骤S5:判断定时器是否到期,如果是则执行步骤S6,否则执行步骤S10;
步骤S6:对所述检测对象执行专用检测以得到参数值;
步骤S7:判断所述参数值是否在预设的阈值范围内;如果超出所述阈值范围则执行步骤S8,否则将计数器清零后执行步骤S10;
步骤S8:将计数器加1并判断所述计数器是否大于计数阈值;如果是则执行步骤S9,否则发送异常信息给服务器;
步骤S9:对所述检测对象执行维护程序以完成对所述检测对象的维护,并将所述维护信息上传至服务器,并将所述计数器清零;
步骤S10:读取所述检测对象的链表指针以获取下一个检测对象;
步骤S11:判断检测对象是否有效,如果有效则执行步骤S4,否则执行步骤S12;
步骤S12:检测循环时间是否到,如果是则执行步骤S1,否则获取检测对象链表中的首个检测对象。
本发明的存储介质具体实施方式与上述嵌入式控制器自诊断自维护方法和装置各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是无人机、手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种嵌入式控制器自诊断自维护方法,其特征在于,所述嵌入式控制器自诊断自维护方法包括:
步骤S1:读取检测对象描述文件以获取一个检测对象,同时记录当前时间及更新所述检测对象文件中的循环时间;
步骤S2:判断所述检测对象是否存在于检测对象链表中,如果否则执行步骤S3,如果是则执行步骤S4;
步骤S3:将所述检测对象进行实例化;所述实例化是将所述检测对象加入到检测对象链表中;
步骤S4:判断所述检测对象中的更新标记变量是否被置位;如果是则执行步骤S5,否则删除所述检测对象并执行步骤S10;
步骤S5:判断定时器是否到期,如果是则执行步骤S6,否则执行步骤S10;
步骤S6:对所述检测对象执行专用检测以得到参数值;
步骤S7:判断所述参数值是否在预设的阈值范围内;如果超出所述阈值范围则执行步骤S8,否则将计数器清零后执行步骤S10;
步骤S8:将计数器加1并判断所述计数器是否大于计数阈值;如果是则执行步骤S9,否则发送异常信息给服务器;
步骤S9:对所述检测对象执行维护程序以完成对所述检测对象的维护,并将所述维护信息上传至服务器,并将所述计数器清零;
步骤S10:读取所述检测对象的链表指针以获取下一个检测对象;
步骤S11:判断检测对象是否有效,如果有效则执行步骤S4,否则执行步骤S12;
步骤S12:检测循环时间是否到,如果是则执行步骤S1,否则获取检测对象链表中的首个检测对象。
2.根据权利要求1所述的嵌入式控制器自诊断自维护方法,其特征在于,多个检测对象通过链表指针构成检测对象链表。
3.根据权利要求2所述的嵌入式控制器自诊断自维护方法,其特征在于,所述链表指针包括链表头指针和链表尾指针。
4.根据权利要求3所述的嵌入式控制器自诊断自维护方法,其特征在于,所述链表头指针指向所述检测对象链表中的上一个检测对象,所述链表尾指针指向所述检测对象链表中的下一个检测对象。
5.根据权利要求1所述的嵌入式控制器自诊断自维护方法,其特征在于,所述参考值为对所述检测对象进行检测时得到的返回值,该返回值用于判断是否在预设的参考值阈值范围。
6.根据权利要求1所述的嵌入式控制器自诊断自维护方法,其特征在于,所述维护信息包括控制器身份、当前检测对象名、检测参数值、维护方法和维护时间中的任意一种或多种。
7.根据权利要求1所述的嵌入式控制器自诊断自维护方法,其特征在于,所述检测对象描述文件包括每个检测对象的基本参数,所述基本参数包括检测对象名称、参考值最小值、参考值最大值、计数阈值、检测对象的检测间隔时间、检测方法和维护方法中的任意一种或多种。
8.根据权利要求7所述的嵌入式控制器自诊断自维护方法,其特征在于,所述检测对象描述文件还包括AppCPU检测对象和AppMem检测对象,所述AppCPU检测对象用于检测指定App程序的CPU占用率;所述AppMem检测对象用于检测指定App程序的内存使用规模。
9.一种嵌入式控制器自诊断自维护装置,其特征在于,所述嵌入式控制器自诊断自维护装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的嵌入式控制器自诊断自维护程序,所嵌入式控制器自诊断自维护程序被所述处理器执行时实现如权利要求1至8中任一项所述的嵌入式控制器自诊断自维护方法的步骤。
10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有嵌入式控制器自诊断自维护程序,所述嵌入式控制器自诊断自维护程序可被一个或者多个处理器执行,以实现如权利要求1至8中任一项所述的嵌入式控制器自诊断自维护方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010820067.5A CN111949009B (zh) | 2020-08-14 | 2020-08-14 | 嵌入式控制器自诊断自维护方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010820067.5A CN111949009B (zh) | 2020-08-14 | 2020-08-14 | 嵌入式控制器自诊断自维护方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949009A CN111949009A (zh) | 2020-11-17 |
CN111949009B true CN111949009B (zh) | 2022-04-08 |
Family
ID=73343022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010820067.5A Active CN111949009B (zh) | 2020-08-14 | 2020-08-14 | 嵌入式控制器自诊断自维护方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949009B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61255411A (ja) * | 1985-05-09 | 1986-11-13 | Nippon Denso Co Ltd | 車載用制御装置の自己診断装置 |
JPS6418804A (en) * | 1987-07-14 | 1989-01-23 | Diesel Kiki Co | Self-diagnosis device for controller |
CN1499208A (zh) * | 2002-10-31 | 2004-05-26 | ͨ�õ�����˾ | 建立自诊断和自修复自动***的方法、***及程序产品 |
CN1737383A (zh) * | 2004-08-21 | 2006-02-22 | 山东临工工程机械有限公司 | 装载机转向液压***嵌入式故障诊断装置 |
CN101923508A (zh) * | 2009-06-12 | 2010-12-22 | 中兴通讯股份有限公司 | 一种嵌入式***中的异常处理方法及装置 |
CN102236353A (zh) * | 2010-04-23 | 2011-11-09 | 上海康丘乐电子电器科技有限公司 | 电动车控制器自诊断***及方法 |
CN104102572A (zh) * | 2013-04-01 | 2014-10-15 | 中兴通讯股份有限公司 | 一种***故障检测及处理方法、装置 |
CN104155971A (zh) * | 2014-08-07 | 2014-11-19 | 北京九五智驾信息技术股份有限公司 | 一种车辆诊断仪对车辆诊断仪协议的自诊断方法 |
CN106527390A (zh) * | 2015-09-11 | 2017-03-22 | 九江长江仪表精密液压件厂 | 一种智能电液执行机构故障检测及诊断方法 |
CN106897180A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种存储设备故障自检测方法及*** |
CN110515820A (zh) * | 2019-08-29 | 2019-11-29 | 北京浪潮数据技术有限公司 | 一种服务器故障维护方法、装置、服务器及存储介质 |
-
2020
- 2020-08-14 CN CN202010820067.5A patent/CN111949009B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61255411A (ja) * | 1985-05-09 | 1986-11-13 | Nippon Denso Co Ltd | 車載用制御装置の自己診断装置 |
JPS6418804A (en) * | 1987-07-14 | 1989-01-23 | Diesel Kiki Co | Self-diagnosis device for controller |
CN1499208A (zh) * | 2002-10-31 | 2004-05-26 | ͨ�õ�����˾ | 建立自诊断和自修复自动***的方法、***及程序产品 |
CN1737383A (zh) * | 2004-08-21 | 2006-02-22 | 山东临工工程机械有限公司 | 装载机转向液压***嵌入式故障诊断装置 |
CN101923508A (zh) * | 2009-06-12 | 2010-12-22 | 中兴通讯股份有限公司 | 一种嵌入式***中的异常处理方法及装置 |
CN102236353A (zh) * | 2010-04-23 | 2011-11-09 | 上海康丘乐电子电器科技有限公司 | 电动车控制器自诊断***及方法 |
CN104102572A (zh) * | 2013-04-01 | 2014-10-15 | 中兴通讯股份有限公司 | 一种***故障检测及处理方法、装置 |
CN104155971A (zh) * | 2014-08-07 | 2014-11-19 | 北京九五智驾信息技术股份有限公司 | 一种车辆诊断仪对车辆诊断仪协议的自诊断方法 |
CN106527390A (zh) * | 2015-09-11 | 2017-03-22 | 九江长江仪表精密液压件厂 | 一种智能电液执行机构故障检测及诊断方法 |
CN106897180A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种存储设备故障自检测方法及*** |
CN110515820A (zh) * | 2019-08-29 | 2019-11-29 | 北京浪潮数据技术有限公司 | 一种服务器故障维护方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111949009A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789157B2 (en) | Systems and methods for detecting anomalies in execution of computer programs | |
CN107800757B (zh) | 用户行为记录方法及装置 | |
CN103518191A (zh) | 一种升级方法、智能终端及升级*** | |
CN109873904A (zh) | 消息推送的用户消息状态上报处理方法、装置及存储介质 | |
JP2019525275A (ja) | 異常スタック情報取得方法、装置及びコンピュータ読み取り可能な記憶媒体 | |
US11106520B2 (en) | Systems and methods for preventing client application crashes due to operating system updates | |
CN111400125A (zh) | Java进程的内存溢出监控方法、装置、设备及存储介质 | |
CN113832663B (zh) | 控制芯片故障记录方法、装置以及控制芯片故障读取方法 | |
CN112202628B (zh) | 一种WiFi模块串口协议自动化测试***及方法 | |
CN110716878A (zh) | 一种接口自动化测试方法、装置及*** | |
CN110069925A (zh) | 软件监测方法、***及计算机可读存储介质 | |
CN109783309A (zh) | 网页加载的异常监控方法及装置 | |
CN110807050B (zh) | 性能分析方法、装置、计算机设备及存储介质 | |
CN110347565B (zh) | 一种应用程序的异常分析方法及装置、电子设备 | |
CN111949009B (zh) | 嵌入式控制器自诊断自维护方法、装置及存储介质 | |
CN114006885A (zh) | 一种基于智能设备的数据采集方法、装置及电子设备 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
CN113986689A (zh) | 一种自定义配置告警方法、***及终端 | |
CN107995023A (zh) | 电子装置、微信报警方法和计算机可读存储介质 | |
CN110764745B (zh) | 变量的传输和收集方法、装置及计算机可读存储介质 | |
CN112732358A (zh) | 一种航天器控制脚本的编写方法和装置 | |
CN112256575A (zh) | 一种代码质量管理方法、***及相关设备 | |
CN107291614B (zh) | 文件异常检测方法和电子设备 | |
JP6253303B2 (ja) | プラント点検支援システム | |
CN103778218A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 1603, west block, Tian'an Innovation Technology Plaza (phase II), intersection of Binhe Road and Xiangmihu Road, Tian'an community, Shatou street, Futian District, Shenzhen, Guangdong Province Applicant after: Shenzhen Zhongwu Internet Technology Development Co., Ltd Address before: 518000 1905, west block, phase II, Tian'an Innovation Technology Plaza, Tairan 10th Road, Tian'an community, Shatou street, Futian District, Shenzhen, Guangdong Province Applicant before: Shenzhen Zhongwu Internet Technology Development Co., Ltd |
|
GR01 | Patent grant | ||
GR01 | Patent grant |