CN105224861B - 一种智能设备的死机状态处理方法及*** - Google Patents
一种智能设备的死机状态处理方法及*** Download PDFInfo
- Publication number
- CN105224861B CN105224861B CN201410262828.4A CN201410262828A CN105224861B CN 105224861 B CN105224861 B CN 105224861B CN 201410262828 A CN201410262828 A CN 201410262828A CN 105224861 B CN105224861 B CN 105224861B
- Authority
- CN
- China
- Prior art keywords
- memory usage
- time
- threshold value
- smart machine
- subprocess
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种智能设备的死机状态处理方法及***,其中,方法包括步骤:C、在日志信息内搜索程序列表数据中的各应用程序的名称,并统计各应用程序出现的次数;D、判断出现次数最多的应用程序为子进程或父进程,当是子进程时,强制退出该子进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束;当是父进程时,则强制退出该父进程,并转入步骤E;E、重新启动父进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束。本发明可在不断电的情况下,友好的关闭引起故障的应用程序,最大限度地保护***的稳定。
Description
技术领域
本发明涉及智能设备领域,尤其涉及一种智能设备的死机状态处理方法及***。
背景技术
当前智能电视、智能手机等智能设备越来越普及,在智能设备上可以安装大量的第三方应用,但是第三方应用有可能给***带来不稳定性,常常使得***死机或者重启等恶劣情况发生。面对死机状态,用户将束手无策,目前***死机状态的唯一解决办法就是强制断电,这种方式无疑会对***稳定性造成破坏,同时也给用户带来极大不便,严重影响产品的口碑。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种智能设备的死机状态处理方法及***,旨在解决现有的智能设备出现死机状态处理方法容易对***稳定性造成破坏、且处理方式不友好的问题。
本发明的技术方案如下:
一种智能设备的死机状态处理方法,其中,包括步骤:
A、监控程序读取程序列表数据;
B、保存从第一时间到第二时间的日志信息,所述第一时间为当前时间减去第一时间阈值,第二时间为当前时间加上第二时间阈值;
C、在日志信息内搜索程序列表数据中的各应用程序的名称,并统计各应用程序出现的次数;
D、判断出现次数最多的应用程序为子进程或父进程,当是子进程时,强制退出该子进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束;当是父进程时,则强制退出该父进程,并转入步骤E;
E、重新启动父进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束。
所述的智能设备的死机状态处理方法,其中,所述步骤A之前还包括:
A0、当***出现死机状态时,监控程序接收用户消息,并分析用户消息命令类型,当用户消息的命令类型为自动处理时,转入步骤A。
所述的智能设备的死机状态处理方法,其中,所述步骤D中,在强制退出该子进程后,当内存占用率不低于内存占用率阈值时,则返回步骤B。
所述的智能设备的死机状态处理方法,其中,所述步骤E中,当内存占用率依然不低于内存占用率阈值时,则返回步骤A0。
所述的智能设备的死机状态处理方法,其特征在于,所述第一时间阈值为3s~7s。
所述的智能设备的死机状态处理方法,其中,所述第一时间阈值与第二时间阈值相同。
所述的智能设备的死机状态处理方法,其中,所述内存占用率阈值为70%。
一种智能设备的死机状态处理***,其中,包括:
列表数据读取模块,用于读取程序列表数据;
日志信息保存模块,用于保存从第一时间到第二时间的日志信息,所述第一时间为当前时间减去第一时间阈值,第二时间为当前时间加上第二时间阈值;
出现次数记录模块,用于在日志信息内搜索程序列表数据中的各应用程序的名称,并统计各应用程序出现的次数;
程序强制退出模块,用于判断出现次数最多的应用程序为子进程或父进程,当是子进程时,强制退出该子进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束;当是父进程时,则强制退出该父进程;
程序重启模块,用于重新启动父进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束。
所述的智能设备的死机状态处理***,其中,还包括:
用户消息分析模块,用于当***出现死机状态时,监控程序接收用户消息,并分析用户消息命令类型,当用户消息的命令类型为自动处理时,转入列表数据读取模块。
所述的智能设备的死机状态处理***,其中,所述程序强制退出模块还用于:在强制退出该子进程后,当内存占用率不低于内存占用率阈值时,则返回日志信息保存模块。
有益效果:本发明通过对日志信息进行分析,将出现次数最高的程序强制终止,若是子进程,还要确保内存占用率低于内存占用率阈值,若是父进程,则还要重启父进程,使***恢复正常,本发明的方法可以在不断电的情况下,友好的关闭引起故障的应用程序,最大限度地保护***的稳定。
附图说明
图1为本发明一种智能设备的死机状态处理方法较佳实施例的流程图。
图2为本发明一种智能设备的死机状态处理***较佳实施例的结构框图。
具体实施方式
本发明提供一种智能设备的死机状态处理方法及***,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种智能设备的死机状态处理方法较佳实施例的流程图,如图所示,其包括步骤:
S101、当***出现死机状态时,监控程序接收到用户消息,并判断用户消息命令类型,当用户消息的命令类型为自动处理时,转入步骤S102;当用户消息的命令类型为手动处理时,转入步骤S103;
首先在此步骤S101中,当***出现死机状态时,用户可选择死机状态的处理方式,例如手动处理或者自动处理,当用户选择了相应的处理方式后,监控程序接收到用户消息,并分析用户消息的命令类型,判断其为自动处理还是手动处理。若手动处理的话,则由用户进行处理,若自动处理的话,则由***按照流程处理。
本发明实施例中的死机状态,某个程序或某些程序出现故障,比如:1、程序由于各种原因导致运行混乱,重复运行,无法正常释放内存,并且随着运行内存占用率越来越高,导致***内存崩溃,对用户输入无响应;2、由于程序运行遇到空指针等情况,导致程序运行错误,停止不同,从而导致***停滞;3、***运行速度过慢,对用户响应过慢。
死机状态大多是由于上层应用程序导致,所以对用户输入这种底层消息,***在处于死机状态时还是可以接收,比如死机时,用户操作鼠标、键盘某个特定按键,***会上报event事件,而用户消息就是在底层处理,所以本发明实施例可通过这种接收底层消息的方式来处理死机状态。
另外,本发明更优选的实施例中,还可以设置一个自动处理的阈值,例如将该阈值设置为10分钟,当超过阈值(10分钟)还未收到用户消息,则***自动处理死机状态,即相当于用户输入的用户消息为自动处理。
S102、监控程序读取程序列表数据,保存从第一时间到第二时间的日志信息,所述第一时间为当前时间减去第一时间阈值,第二时间为当前时间加上第二时间阈值,并转入步骤S104;
其中的第一时间阈值可以是5s,当然该大小并不限于此,可根据***本身日志的冗余量来调整第一时间阈值的大小,如果***本身日志打印内容过多,可以适当减少第一时间阈值为3s,防止生成过多的日志信息;如果***本身日志打印内容不多,则可以增加第一时间阈值为7s,以增加更多的日志信息,该第一时间阈值可以在设备出厂时设置好,也可以由用户在使用过程中进行调整。该第二时间阈值的大小与第一时间阈值的大小可设置为相同,当然也可根据日志的冗余量来进行调整。
S103、监控程序读取程序列表数据,并将读取到的程序列表数据进行显示,由用户手动选择强制终止程序,同时转入步骤S109;
若用户选择的处理方式是手动处理的话,则由监控程序读取程序列表数据,然后将程序列表数据显示给用户,供用户手动选择需要终止的程序,用户可手动强制终止某个程序,直到***恢复正常,然后转入到步骤S109流程结束。
S104、在日志信息内搜索程序列表数据中的各应用程序名称,并且统计各应用程序出现的次数;
每个应用程序在启动初期,都需要自动去程序列表登记,而生成程序列表数据,登记的内容有程序名称、功能简介、依赖程序及终极依赖程序等,其中的依赖程序是指与启动的程序具有直接依赖关系的程序,终极依赖程序(也称父进程),则是指启动的程序层层调用后的最顶层应用程序,终极依赖程序是***启动后自动运行的主线程,负责***的基本功能,如终极依赖程序终止,将自动重启,并重新初始化。
在获得了日志信息后,可以在日志信息内搜索程序列表数据中的各应用程序的名称,以统计出各应用程序在日志信息内的出现次数,并统计各应用程序的出现次数,一般来说,出现次数最多的应用程序是引起***死机的故障程序,需要终止该程序,所以本步骤事先统计各应用程序的出现次数。
S105、判断出现次数最多的应用程序为子进程或父进程,当是子进程时,进入步骤S106,当是父进程时,进入步骤S107;
出现次数最多的程序有可能是子进程,即非终极依赖程序,也有可能是父进程,针对程序类型不同,处理方式不同,当是子进程时,进入步骤S106,当是父进程时,进入步骤S107。
其中父进程与子进程的关系是管理和被管理的关系,当父进程终止时,子进程也随之而终止,但子进程终止,父进程并不一定终止,当被某个父进程或子进程占用资源过多时,应该终止相应的进程,以保护***的稳定安全运行。
S106、强制退出该子进程,并检测内存占用率,判断内存占用率是否低于内存占用率阈值,当内存占用率低于内存占用率阈值时,则转入步骤S109,当内存占用率不低于内存占用率阈值时,则返回步骤S102;
在本步骤中,由于出现次数最多的应用程序为子进程,所以强制退出该子进程,然后检测内容占用率,判断内存占用率是否低于一定的阈值(内存占用率阈值),在小于内存占用率阈值时,则说明***恢复正常,流程结束,若不小于内存占用率阈值,则说明***还未恢复正常,需要重新保存日志信息,查找到出现次数最多的应用程序,即返回到步骤S102中重新执行流程。
其中的内存占用率阈值可以是70%,显然这个值是可以根据***正常运行时的内存占用率进行估算调整,例如在设备出厂前,将***正常运行时的内存占用率作为内存占用率阈值。
S107、强制退出该父进程,并转入步骤S108;
在出现次数最多的程序为父进程的情况下,可强制终止该父进程。
S108、重新启动父进程,判断内存占用率是否低于内存占用率阈值,当是时进入步骤S109,否则返回步骤S101;
父进程在被终止后,会重新启动,在父进程重新启动后,判断内存占用率是否低于内存占用率阈值,当内存占用率低于内存占用率阈值时,则流程结束,即进入步骤S109,否则说明***还是处于死机状态,则转入到步骤S101,由用户再次选择处理方式,重新处理一遍。
S109、处理流程结束。
基于上述方法,本发明还提供一种智能设备的死机状态处理***较佳实施例,如图2所示,其包括:
列表数据读取模块100,用于读取程序列表数据;
日志信息保存模块200,用于保存从第一时间到第二时间的日志信息,所述第一时间为当前时间减去第一时间阈值,第二时间为当前时间加上第二时间阈值;
出现次数记录模块300,用于在日志信息内搜索程序列表数据中的各应用程序的名称,并统计各应用程序出现的次数;
程序强制退出模块400,用于判断出现次数最多的应用程序为子进程或父进程,当是子进程时,强制退出该子进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束;当是父进程时,则强制退出该父进程;
程序重启模块500,用于重新启动父进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束。
还包括:用户消息分析模块,用于当***出现死机状态时,监控程序接收用户消息,并分析用户消息命令类型,当用户消息的命令类型为自动处理时,转入列表数据读取模块。
进一步,所述程序强制退出模块400还用于:在强制退出该子进程后,当内存占用率不低于内存占用率阈值时,则返回日志信息保存模块。
关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
综上所述,本发明通过对日志信息进行分析,将出现次数最高的程序强制终止,若是子进程,还要确保内存占用率低于内存占用率阈值,若是父进程,则还要重启父进程,使***恢复正常,本发明的方法可以在不断电的情况下,友好的关闭引起故障的应用程序,最大限度地保护***的稳定。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种智能设备的死机状态处理方法,其特征在于,包括步骤:
A、监控程序读取程序列表数据;
B、保存从第一时间到第二时间的日志信息,所述第一时间为当前时间减去第一时间阈值,第二时间为当前时间加上第二时间阈值;
C、在日志信息内搜索程序列表数据中的各应用程序的名称,并统计各应用程序出现的次数;
D、判断出现次数最多的应用程序为子进程或父进程,当是子进程时,强制退出该子进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束;当是父进程时,则强制退出该父进程,并转入步骤E;
E、重新启动父进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束。
2.根据权利要求1所述的智能设备的死机状态处理方法,其特征在于,所述步骤A之前还包括:
A0、当***出现死机状态时,监控程序接收用户消息,并分析用户消息命令类型,当用户消息的命令类型为自动处理时,转入步骤A。
3.根据权利要求1所述的智能设备的死机状态处理方法,其特征在于,所述步骤D中,在强制退出该子进程后,当内存占用率不低于内存占用率阈值时,则返回步骤B。
4.根据权利要求2所述的智能设备的死机状态处理方法,其特征在于,所述步骤E中,当内存占用率依然不低于内存占用率阈值时,则返回步骤A0。
5.根据权利要求1所述的智能设备的死机状态处理方法,其特征在于,所述第一时间阈值为3s~7s。
6.根据权利要求1所述的智能设备的死机状态处理方法,其特征在于,所述第一时间阈值与第二时间阈值相同。
7.根据权利要求1所述的智能设备的死机状态处理方法,其特征在于,所述内存占用率阈值为70%。
8.一种智能设备的死机状态处理***,其特征在于,包括:
列表数据读取模块,用于读取程序列表数据;
日志信息保存模块,用于保存从第一时间到第二时间的日志信息,所述第一时间为当前时间减去第一时间阈值,第二时间为当前时间加上第二时间阈值;
出现次数记录模块,用于在日志信息内搜索程序列表数据中的各应用程序的名称,并统计各应用程序出现的次数;
程序强制退出模块,用于判断出现次数最多的应用程序为子进程或父进程,当是子进程时,强制退出该子进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束;当是父进程时,则强制退出该父进程;
程序重启模块,用于重新启动父进程,并检测内存占用率,当内存占用率低于内存占用率阈值时,则处理流程结束。
9.根据权利要求8所述的智能设备的死机状态处理***,其特征在于,还包括:
用户消息分析模块,用于当***出现死机状态时,监控程序接收用户消息,并分析用户消息命令类型,当用户消息的命令类型为自动处理时,转入列表数据读取模块。
10.根据权利要求8所述的智能设备的死机状态处理***,其特征在于,所述程序强制退出模块还用于:在强制退出该子进程后,当内存占用率不低于内存占用率阈值时,则返回日志信息保存模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410262828.4A CN105224861B (zh) | 2014-06-13 | 2014-06-13 | 一种智能设备的死机状态处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410262828.4A CN105224861B (zh) | 2014-06-13 | 2014-06-13 | 一种智能设备的死机状态处理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105224861A CN105224861A (zh) | 2016-01-06 |
CN105224861B true CN105224861B (zh) | 2018-04-06 |
Family
ID=54993824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410262828.4A Active CN105224861B (zh) | 2014-06-13 | 2014-06-13 | 一种智能设备的死机状态处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224861B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996013B (zh) * | 2022-06-09 | 2023-06-02 | 河南省肿瘤医院 | 一种基于嵌入式的微波治疗设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996106A (zh) * | 2010-12-17 | 2011-03-30 | 南京中兴力维软件有限公司 | 一种对软件运行状态进行监控的方法 |
CN102141942A (zh) * | 2011-04-01 | 2011-08-03 | 奇智软件(北京)有限公司 | 一种设备的监控保护方法及装置 |
US8230429B2 (en) * | 2008-05-30 | 2012-07-24 | International Business Machines Corporation | Detecting a deadlock condition by monitoring firmware inactivity during the system IPL process |
CN102929761A (zh) * | 2012-11-16 | 2013-02-13 | 赛尔网络有限公司 | 一种应对崩溃性错误的***及方法 |
CN102968352A (zh) * | 2012-12-14 | 2013-03-13 | 杨晓松 | 进程监控及多级恢复***和方法 |
CN103377074A (zh) * | 2012-04-28 | 2013-10-30 | Tcl集团股份有限公司 | 一种在java环境中执行程序的方法及*** |
CN103870747A (zh) * | 2014-03-31 | 2014-06-18 | 可牛网络技术(北京)有限公司 | 一种应用程序的监控及处理方法及装置 |
-
2014
- 2014-06-13 CN CN201410262828.4A patent/CN105224861B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8230429B2 (en) * | 2008-05-30 | 2012-07-24 | International Business Machines Corporation | Detecting a deadlock condition by monitoring firmware inactivity during the system IPL process |
CN101996106A (zh) * | 2010-12-17 | 2011-03-30 | 南京中兴力维软件有限公司 | 一种对软件运行状态进行监控的方法 |
CN102141942A (zh) * | 2011-04-01 | 2011-08-03 | 奇智软件(北京)有限公司 | 一种设备的监控保护方法及装置 |
CN103377074A (zh) * | 2012-04-28 | 2013-10-30 | Tcl集团股份有限公司 | 一种在java环境中执行程序的方法及*** |
CN102929761A (zh) * | 2012-11-16 | 2013-02-13 | 赛尔网络有限公司 | 一种应对崩溃性错误的***及方法 |
CN102968352A (zh) * | 2012-12-14 | 2013-03-13 | 杨晓松 | 进程监控及多级恢复***和方法 |
CN103870747A (zh) * | 2014-03-31 | 2014-06-18 | 可牛网络技术(北京)有限公司 | 一种应用程序的监控及处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105224861A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726072B (zh) | WebLogic服务器的监控告警方法、装置、***及计算机存储介质 | |
CN109918141B (zh) | 线程执行方法、装置、终端及存储介质 | |
US10545807B2 (en) | Method and system for acquiring parameter sets at a preset time interval and matching parameters to obtain a fault scenario type | |
EP2733611A1 (en) | Internal fault handling method, device and system for virtual machine | |
CN107783829B (zh) | 任务处理方法、装置、存储介质和计算机设备 | |
CN109542744A (zh) | 检测终端开机异常问题的方法、装置、存储介质及终端 | |
CN102946468A (zh) | 一种手机运行程序异常自动报警的方法及*** | |
CN113010275B (zh) | 一种中断处理方法和装置 | |
CN105045708A (zh) | 软件运行错误处理方法及*** | |
CN106454498B (zh) | Android平台管理USB设备的方法 | |
CN106095413B (zh) | 一种蓝牙驱动程序的配置方法及装置 | |
CN113409555B (zh) | 一种基于物联网的实时报警联动方法及*** | |
CN106951321B (zh) | 虚拟机cpu资源的管理方法及装置 | |
WO2020211253A1 (zh) | 分布式***中主机数量弹性伸缩方法、装置和计算机设备 | |
CN110659147B (zh) | 一种基于模块自检行为的自修复方法和*** | |
CN111831467A (zh) | java进程内存溢出自熔断的方法、***和电子设备 | |
CN103902401B (zh) | 基于监控的虚拟机容错方法及装置 | |
CN103354990A (zh) | 处理云平台中的虚拟机的***和方法 | |
CN105224861B (zh) | 一种智能设备的死机状态处理方法及*** | |
CN107911229B (zh) | 运行状态改变的提醒方法、装置、电子设备及存储介质 | |
US20230409391A1 (en) | Thread priority adjusting method, terminal, and computer-readable storage medium | |
CN106874126A (zh) | 一种软件开发中主进程异常检测方法 | |
CN106020426B (zh) | 一种唤醒锁的释放方法和装置 | |
CN117149482A (zh) | 一种对线程状态进行检测的方法和装置、电子设备、介质 | |
CN104166599A (zh) | 一种arm设备重启恢复出厂配置的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |