CN1506829A - 预防软件由于长时间运行而发生错误的方法 - Google Patents
预防软件由于长时间运行而发生错误的方法 Download PDFInfo
- Publication number
- CN1506829A CN1506829A CNA021545170A CN02154517A CN1506829A CN 1506829 A CN1506829 A CN 1506829A CN A021545170 A CNA021545170 A CN A021545170A CN 02154517 A CN02154517 A CN 02154517A CN 1506829 A CN1506829 A CN 1506829A
- Authority
- CN
- China
- Prior art keywords
- software
- time
- reset
- application state
- running
- 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.)
- Pending
Links
Images
Abstract
一种预防软件由于长时间运行而发生错误的方法,所述方法包括步骤:记录软件运行时间;设置阈值;在软件运行时间超过设置的阈值时通知软件系统;用户对软件发出请求数量较少的时刻使软件状态重置;软件在重新启动之前将数据保存,重新启动后恢复。使用本发明的方法,在软件发生故障之前就对软件进行状态重置,能够有效地预防软件由于长时间运行而产生的错误,适用范围广,具有很高的现实意义。本方法避免实现复杂的故障模式诊断,解决了软件在运行足够长时间后发生故障的普遍问题,实现简单,也比较通用。
Description
技术领域
本发明涉及一种预防软件由于长时间运行而发生错误的方法。
背景技术
目前常见的故障诊断与恢复方法是在软件系统内放置监控器,实时查看系统状态,当发现故障症状,就采取一定措施使软件状态回复正常。这种方式是一种主动查询的方法。它可以实时监控软件运行状态,随时发现问题,但实质上是一种补救措施,不能预防故障的发生。当软件出现发生故障的先兆时,软件对用户的服务质量已经受到了损害。
多数软件的故障不是立即发生的,在发生故障之前软件本身或者与其相关的部件都有一定的反常的症状,例如处理速度变慢,用户响应时间时大时小,网络阻塞等等。有些症状是由故障引起的早期表现形式,有些症状则是引起故障的原因。当发现这些症状的时候,故障已经形成或者处于正在形成的阶段,软件的性能已经受到损害,对用户的服务质量已经有所下降。
发明内容
本发明的目的是提供一种预防软件由于长时间运行而发生错误的方法,能够主动采取措施预防在特定情况下出现概率很大的故障。
一种预防软件由于长时间运行而发生错误的方法,所述方法包括步骤:
记录软件运行时间;
设置阈值;
在软件运行时间超过设置的阈值时通知软件系统;
用户对软件发出请求数量较少的时刻使软件状态重置;
软件在重新启动之前将数据保存,重新启动后恢复。
使用本发明的方法,在软件发生故障之前就对软件进行状态重置,能够有效地预防软件由于长时间运行而产生的错误,适用范围广,具有很高的现实意义。本方法避免实现复杂的故障模式诊断,解决了软件在运行足够长时间后发生故障的普遍问题,实现简单,也比较通用。
附图所明
图1是预防软件由于长时间运行而产生故障的方法的结构图;
图2是软件数据保存与恢复过程示意图。
具体实施方式
软件运行时间越长,发生故障的概率越大。软件发生故障的很大原因是由于软件设计的不完备,当外部环境发生变化,软件内部处理机制不能适应,就引起软件状态发生紊乱。另外,由于软件大多在内存中开辟空间存放数据,这样的空间有大小限制,当软件服务时间逐渐增长,内存空间的使用接近初始限制,在边界条件的处理上容易出错。
软件运行的环境也是软件发生错误的原因之一。有的计算机操作系统对内存的分配和回收存在漏洞,以Linux操作系统为例,程序中使用的内存在释放后应该由操作系统自动回收,并分配给其它程序使用。但是我们经常遇到的情况是程序运行时释放的内存却没有被放到空闲内存队列中,因此其它程序也不能使用,造成内存分配错误,也引起软件出错。
因此本发明提出一种方法,可以预防在长时间运行后发生的错误。该方法记录软件运行时间的长度,在没有用户请求或者请求较少的时候,重置软件状态,减少由于长时间运行而产生错误的概率。本方法的总体结构示意图如附图1所示。
a.一个记录软件运行时间的计时器:
计时器记录软件启动时间,当前时间距离启动时间超过一定阈值时向软件系统发出通知。阈值由使用者通过配置模块设定。阈值的大小决定软件状态重置的时间间隔,其本身则取决于软件的结构设计和稳定性能,以及运行环境的变动。
b.用户请求监测模块
本发明在软件运行足够长的时间后,同时又没有用户请求或者用户请求数量较少的时刻进行软件状态重置。用户请求监测模块记录软件用户请求的情况,当一段时间内平均用户请求数低于系统管理员设定的阈值时,即满足软件状态重置的充分条件之一。
c.一个阈值配置模块:
软件使用者通过阈值配置模块设定计时器发出通知的时间长度,以及允许软件重启的平均用户请求数。
d.数据保存和恢复模块:
软件应该在不影响正在处理的用户请求的情况下,进行状态重置。数据保存模块记录软件内部状态以及各种服务信息,并且应该在软件被关闭时也继续保留,这样在软件重新启动之后,仍然可以通过数据恢复模块从中读出以往信息,使用户请求不被中断。
e.数据保存和恢复的方法:
数据保存和恢复就是在软件和被重新启动的软件之间共享数据,本方法利用操作系统中的进程间共享内存机制实现数据的保存和恢复。软件在第一次启动时开辟一块共享内存,将与软件状态相关和与用户请求相关的数据保存在共享内存中。在软件被重新启动后,软件找到第一次启动时开辟的共享内存,将有关数据从共享内存中读出,恢复重新启动之前的软件状态。数据的保存和修复方法如附图2所示。
现有的常见软件维护方法多是事后修复的方法,侦测模块每隔一定时间间隔探测软件状态,当发现软件状态异常时,采取修复手段。这种方法在探测到软件发生故障或者出现发生故障的先兆时,软件服务质量已经受到损害。由于各种软件发生故障时表现出来的现象各不相同,因此构造通用的软件故障诊断模块非常困难。但是软件运行时间越长,发生故障的概率越大,这个规律却是比较普遍的。本发明使用的方法在软件发生故障之前就对软件进行状态重置,能够有效地预防软件由于长时间运行而产生的错误,适用范围广,具有很高的现实意义。这种预防软件由于长时间运行而发生故障的方法,回避了复杂的故障模式识别,解决了软件在运行足够长时间后发生故障的普遍问题,实现简单,也比较通用。本方法在用户请求数量非常少,或者根本没有用户请求的时候对软件状态进行重置,因此不会影响服务质量。在进行软件状态重置之前,软件内部数据均被记录并保存,在软件重新启动的过程中也不会受到破坏,因此重新启动后的软件会从被中断的地方继续执行,不影响已经处理的用户请求,也不影响正在处理的用户请求。本方法中软件运行时间长度和允许软件重启的平均用户请求数都可以在软件运行过程中动态配置,即时生效。因此本方法具有良好的可配置性,可以根据软件所在环境调节软件运行时间和允许重启的工作负载范围,使用灵活。
Claims (5)
1.一种预防软件由于长时间运行而发生错误的方法,所述方法包括步骤:
记录软件运行时间;
设置阈值;
在软件运行时间超过设置的阈值时通知软件系统;
用户对软件发出请求数量较少的时刻使软件状态重置;
软件在重新启动之前将数据保存,重新启动后恢复。
2.如权利要求1所述的方法,其特征在于:所述软件状态重置包括:当一段时间内平均用户请求数低于系统管理员设置的阈值时,软件状态重置。
3.如权利要求1所述的方法,其特征在于:所述软件状态重置包括软件重新启动。
4.如权利要求1所述的方法,其特征在于:所述保存的软件内部状态及各种服务信息在软件被关闭时继续保留。
5.如权利要求1所述的方法,其特征在于:所述恢复数据包括软件和被重新启动的软件之间共享数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA021545170A CN1506829A (zh) | 2002-12-06 | 2002-12-06 | 预防软件由于长时间运行而发生错误的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA021545170A CN1506829A (zh) | 2002-12-06 | 2002-12-06 | 预防软件由于长时间运行而发生错误的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1506829A true CN1506829A (zh) | 2004-06-23 |
Family
ID=34235512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA021545170A Pending CN1506829A (zh) | 2002-12-06 | 2002-12-06 | 预防软件由于长时间运行而发生错误的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1506829A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100465853C (zh) * | 2004-11-15 | 2009-03-04 | 南京大学 | 基于程序内部行为监控的软件安全保障的方法 |
CN102222486A (zh) * | 2011-06-09 | 2011-10-19 | 深圳市英威腾电源有限公司 | 一种显示控制方法和显示设备 |
CN101118626B (zh) * | 2007-09-13 | 2011-12-28 | 中兴通讯股份有限公司 | 电子工单自动施工系统及电子工单处理方法 |
CN102427491A (zh) * | 2011-10-08 | 2012-04-25 | 捷开通讯科技(上海)有限公司 | 一种自动提醒用户重新启动电子装置的装置及方法 |
CN102479146A (zh) * | 2010-11-30 | 2012-05-30 | 金蝶软件(中国)有限公司 | 一种场景测试监控方法、装置及场景测试监控系统 |
CN103856348A (zh) * | 2012-12-06 | 2014-06-11 | 阿里巴巴集团控股有限公司 | 服务器的配置方法和装置 |
CN105389202A (zh) * | 2015-11-25 | 2016-03-09 | 福建天晴数码有限公司 | 处理应用程序响应的方法及系统 |
CN109766170A (zh) * | 2018-11-21 | 2019-05-17 | 惠州Tcl移动通信有限公司 | 存储器、移动终端及其应用程序的动态重启方法 |
-
2002
- 2002-12-06 CN CNA021545170A patent/CN1506829A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100465853C (zh) * | 2004-11-15 | 2009-03-04 | 南京大学 | 基于程序内部行为监控的软件安全保障的方法 |
CN101118626B (zh) * | 2007-09-13 | 2011-12-28 | 中兴通讯股份有限公司 | 电子工单自动施工系统及电子工单处理方法 |
CN102479146A (zh) * | 2010-11-30 | 2012-05-30 | 金蝶软件(中国)有限公司 | 一种场景测试监控方法、装置及场景测试监控系统 |
CN102222486A (zh) * | 2011-06-09 | 2011-10-19 | 深圳市英威腾电源有限公司 | 一种显示控制方法和显示设备 |
CN102427491A (zh) * | 2011-10-08 | 2012-04-25 | 捷开通讯科技(上海)有限公司 | 一种自动提醒用户重新启动电子装置的装置及方法 |
CN102427491B (zh) * | 2011-10-08 | 2014-04-16 | 捷开通讯科技(上海)有限公司 | 一种自动提醒用户重新启动电子装置的装置及方法 |
CN103856348A (zh) * | 2012-12-06 | 2014-06-11 | 阿里巴巴集团控股有限公司 | 服务器的配置方法和装置 |
CN105389202A (zh) * | 2015-11-25 | 2016-03-09 | 福建天晴数码有限公司 | 处理应用程序响应的方法及系统 |
CN109766170A (zh) * | 2018-11-21 | 2019-05-17 | 惠州Tcl移动通信有限公司 | 存储器、移动终端及其应用程序的动态重启方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7661032B2 (en) | Adjusting sliding window parameters in intelligent event archiving and failure analysis | |
CN107179957B (zh) | 物理机故障分类处理方法、装置和虚拟机恢复方法、系统 | |
CN102880522B (zh) | 面向硬件故障的系统关键文件故障纠正方法及装置 | |
CN110609778A (zh) | 一种保存服务器宕机日志的方法及系统 | |
CN105607973B (zh) | 一种虚拟机系统中设备故障处理的方法、装置及系统 | |
CN111581021B (zh) | 应用程序启动异常的修复方法、装置、设备及存储介质 | |
CN1506829A (zh) | 预防软件由于长时间运行而发生错误的方法 | |
CN101145983B (zh) | 一种网管系统的自诊断和自恢复子系统及方法 | |
CN114816022B (zh) | 一种服务器电源异常监控方法、系统及存储介质 | |
CN115543740A (zh) | 业务运行异常监控方法、系统、设备及存储介质 | |
CN105426263A (zh) | 一种实现金库系统安全运行的方法及系统 | |
CN109614297A (zh) | 数据保护方法、装置、设备、系统及计算机可读存储介质 | |
CN114020509A (zh) | 工作负载集群的修复方法、装置、设备及可读存储介质 | |
CN1874253A (zh) | 一种系统日志管理方法 | |
CN114968129B (zh) | 磁盘阵列冗余方法、系统、计算机设备和存储介质 | |
CN115328735A (zh) | 一种基于容器化应用管理系统的故障隔离方法和系统 | |
CN111078474A (zh) | 一种数据安全备份系统及方法 | |
JP3551079B2 (ja) | 修正ロードモジュール置換後の復旧方法ならびに装置 | |
CN115964218A (zh) | 高速串行计算机扩展总线设备故障的识别方法及装置 | |
CN110716903A (zh) | 一种日志文件清理方法及装置 | |
CN113868001B (zh) | 一种内存修复结果的检查方法、系统及计算机存储介质 | |
CN115562800A (zh) | 一种基于持续数据保护技术的kvm自动应急恢复方法及装置 | |
JP2002140209A (ja) | ウオッチドッグタイマ | |
CN103500136A (zh) | 一种云系统中计算机硬盘数据的保护方法 | |
JP3287295B2 (ja) | オペレーティングシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |