CN110832464A - 应用程序从错误中的恢复 - Google Patents

应用程序从错误中的恢复 Download PDF

Info

Publication number
CN110832464A
CN110832464A CN201880043669.5A CN201880043669A CN110832464A CN 110832464 A CN110832464 A CN 110832464A CN 201880043669 A CN201880043669 A CN 201880043669A CN 110832464 A CN110832464 A CN 110832464A
Authority
CN
China
Prior art keywords
error
recovery
application
database
recovery operation
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
Application number
CN201880043669.5A
Other languages
English (en)
Inventor
纳文·保罗·M
皮尤什·库姆·哈因
达南贾伊·沙梅高达·肯佩高达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN110832464A publication Critical patent/CN110832464A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display

Abstract

应用程序从错误中恢复的方面。从与应用程序相关联的代理接收错误通知,错误通知指示在应用程序执行期间遇到的错误。将错误通知与存储在数据库中的错误模式进行比较,以确定匹配的错误模式。此外,确定恢复操作,并且将恢复操作提供给代理以从错误中恢复应用程序。

Description

应用程序从错误中的恢复
背景技术
计算设备通常被实现在联网环境中以执行各种功能。为此,在每个计算设备上执行一个或多个应用程序。例如,在制造机构中,可有多个计算设备,被称为制造工位。操作员可以在每个制造工位上执行一个或多个应用程序,以对正在制造或组装的设备的组件进行操作。所执行的操作可以包括例如配置、测试和修复组件。在另一个示例中,多个计算设备可以存在于联网环境中,例如分布式计算网络、移动计算网络等。每个计算设备可以执行一个或多个应用程序。有时,当应用程序在计算设备处正被执行时可能会出现错误,并且因此,计算设备的操作可能会中断,直到应用程序从错误中恢复为止。
附图说明
参照附图提供了详细描述。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在所有附图中,相同的标记用于指代相似的特征和组件。
图1示出了根据本主题的原理的用于在计算设备处实现应用程序的恢复的示例系统。
图2示出了根据本主题的原理的用于实现应用程序的恢复的示例环境。
图3示出了根据本主题的原理的用于应用程序恢复的示例方法。
图4示出了根据本主题的原理的用于应用程序恢复的另一示例方法。
图5示出了根据本主题的原理的用于应用程序恢复的示例计算机可读介质实施方式。
具体实施方式
本文描述了应用程序从错误中的恢复的方面。通常,为了从错误中恢复应用程序并且恢复执行该应用程序的计算设备的操作,计算设备的操作员必须致电专家,例如服务工程师。专家分析错误,并可能提供恢复解决方案。在联网环境中,有可能在不同时间在网络中的不同计算设备上执行应用程序期间遇到类似错误。即使在这种情况下,专家必须单独提供解决方案以在每个计算设备上恢复应用程序。当远程收集应用程序错误日志时,它们通常被用于创建更新(例如补丁程序),在一段时间后,更新随后被发布到计算设备。
本主题的方面旨在促进在计算设备处的应用程序从错误中的恢复,使得在发生错误后依赖于正在执行的应用程序的操作可以以最小的中断继续进行。为此,将代理与应用程序关联。当发生错误时,代理向中央系统(例如服务器)提供错误通知。服务器将错误通知与数据库中存储的错误模式进行比较,以找到匹配的错误模式。该数据库还包括每个错误模式的恢复操作。与匹配的错误模式相对应的恢复操作被发送到代理以恢复应用程序。如果没有匹配的错误模式,则向用户(例如服务工程师)提供警报,用户然后可以提供恢复操作。
在一个示例中,恢复操作可以包括向操作员提供一组指令以恢复应用程序。在另一示例中,恢复操作可以包括在计算设备处触发例如由应用程序或操作系统自动执行的一组指令,以恢复应用程序。所执行的恢复操作和错误通知可被存储在数据库中,并且可被用于进一步分析以识别新的错误模式。此外,中央系统可以向用户提供与错误的严重程度等级(criticality level)有关的警报,以帮助确定错误分析和恢复操作的执行的优先级。
在计算设备处使用的代理可以例如是使用web应用程序接口(API)(例如轻量级REST协议)连接到中央系统的插件。由于代理无需执行任何中间分析就可以传达错误通知并接收恢复操作,因此该代理既快速又高效,并且不复杂。此外,当遇到新的错误时,不必更新代理,因为中央系统从数据库中存储的信息学习新的错误模式和相关的恢复操作。而且,中央系统可以生成各种报告,以供用户进行分析以识别和解决系统错误、监控网络的运行状况等。
结合图1至图5进一步描述本主题的方面。应当注意的是,说明书和附图仅示出了本主题的原理。因此,将认识到,尽管未在本文中明确描述或示出,但是体现本主题的原理的各种布置可以根据说明书进行设计并且包括在其范围内。此外,本文中引用本主题的原理、方面和实现以及其特定示例的所有陈述旨在涵盖其等同形式。
图1示出了根据本主题的原理的用于在计算设备处实现应用程序的恢复的示例系统。如图所示,系统102可被通信地耦合到计算设备104。系统102可被实现为例如台式计算机、服务器、膝上型计算机、移动设备等。类似地,计算设备104可以被实现为任何移动的或固定的计算设备。如果是联网环境,系统102可以是与多个计算设备通信耦合的中央系统。为了讨论的目的,图中示出了单个计算设备104。
系统102包括处理器106、错误恢复模块108、学习模块110和数据库112。处理器106可以被实现为一个或多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或根据操作指令操纵信号的任何设备。在其它功能中,处理器106获取并执行存储在存储器中的计算机可读指令。可以通过专用硬件以及能够执行计算机可读指令的硬件的使用来提供图中所示的包括被标记为处理器的任何功能块的各种元件的功能。
错误恢复模块108和学习模块110(统称为模块)可被耦合到处理器106,并且可以包括除其它外的执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。这些模块可以被实现为硬件、软件或两者的组合。数据库112可以用作用于存储数据的存储库,该数据可被模块获取、处理、接收或创建,或者可以从连接的计算设备和存储设备接收。尽管数据库112被示为系统102的一部分,但是应当理解,数据库112可以在系统102外部,并且系统102可使用各种通信手段访问数据库112。
另外,系统102可以包括为简洁起见未被示出的各种接口、存储器、其它模块、其它数据等。接口可以包括各种基于计算机可读指令的接口和硬件接口,其允许与其它通信、存储设备和计算设备(例如网络实体、web服务器、数据库和外部存储库以及外围设备)进行交互。存储器可以包括任何非暂时性计算机可读介质,包括例如易失性存储器(例如,RAM)和/或非易失性存储器(例如,EPROM、闪存等)。存储器可以包括外部存储单元,诸如闪存驱动器、光盘驱动器、外部硬盘驱动器等。其它模块可以包括用于系统102的操作的模块,例如操作系统,以及可以在系统102上执行的其它应用程序。其它数据可以包括由其它模块使用、获取、存储或以任何方式操纵的数据。
计算设备104还可包括为简洁起见未被示出的处理器、接口、模块、数据等。另外,计算设备104包括代理114和应用程序116。尽管计算设备104可以包括多个应用程序和与每个应用程序相对应的代理,但是出于讨论的目的已经示出了单个应用程序116和相对应的代理114,并且不应将其解释为限制。代理114和应用程序116可被耦合到计算设备104的处理器,并且可被实现为硬件、软件或两者的组合。此外,代理114和应用程序116可以包括除其它外的执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。
在一种实现中,计算设备104可以是计算机集成制造(CIM)环境中的制造工位。可以理解,CIM环境是用于组件的集成以制造装置的自动化环境。例如,当在CIM环境中制造打印机时,打印机的各种组件(例如存储器、固件、电源组件、电子组件和接口以及机械组件)可在各个工位处被集成。在集成期间,可以对组件执行诸如配置、测试和维修的各种操作,以确保组件按照各自的规范工作。因此,应用程序116可以是在计算设备104处使用的工具,用于对正被制造的装置中的组件执行一个或多个操作。
在计算设备104处执行应用程序116期间,可能会遇到错误。例如,由于可以在先前的版本上更新或修改组件,因此应用程序116可能没有执行适当的脚本以配置或测试该组件。因此,在计算设备104处的操作可能受到破坏,直到恢复应用程序为止。将会理解,应用程序的恢复可以包括以下中的一项或多项:重新启动应用程序、更新应用程序正在运行的脚本、更新应用程序、更改应用程序使用的组件规格、更改应用程序执行的步骤顺序等。
代理114可以例如是插件,该插件在计算设备104处侦听与应用程序116有关的事件,并将该事件传达给系统102。代理114可使用web应用程序接口API(例如轻量级REST协议)连接到系统104,以促进快速且可靠的通信。在一个示例中,代理114可以向错误恢复模块108发送通知,以指示在应用程序116的执行期间已经遇到错误。在另一个示例中,代理114可向错误恢复模块108发送在执行应用程序116期间可能发生的包括错误事件和非错误事件的各种事件的通知。错误恢复模块108然后可以确定事件是否是错误。如果事件不是错误,则错误恢复模块108可以忽略该通知,或者如果事件是错误,则错误恢复模块108可以对该事件采取适当的操作。为了易于讨论,与错误相对应的通知被称为错误通知。
在接收到错误通知时,错误恢复模块108可以将错误通知与存储在数据库112中的错误模式进行比较,以确定在数据库112中是否存在匹配的错误模式。错误模式可以包括错误的标识、应用程序116等。可以从先前存储的错误通知中获知错误模式,如稍后将讨论的。将理解的是,在一些实施方式中,错误恢复模块108可以寻求将错误通知与存储在数据库112中的先前错误通知进行匹配,并且这种比较也被包括在确定匹配的错误模式的范围内。因此,在这样的实施方式中,所存储的错误模式可以包括先前接收到的错误通知。
如果找到匹配的错误模式,错误恢复模块108可以从数据库112获取与匹配的恢复模式相对应的恢复操作,并且可以将恢复操作发送给代理114。代理114可将恢复操作提供给应用程序116,其中,基于所要采取的恢复操作,应用程序116可以向操作员显示一组指令以用于执行,或者可以触发一组指令的执行以用于应用程序116的恢复。
然而,如果在数据库112中找不到匹配的错误模式,错误恢复模块108可以向用户发送警报。用户可以例如是监控系统102的服务工程师或专家,并且警报可以是系统102上显示的消息。在另一个示例中,警报可以是发送给用户的电子邮件id的电子邮件消息或发送给用户的移动设备的消息以通知用户该错误。错误恢复模块108还可以确定错误的严重程度,并将该严重程度作为警报的一部分通知给用户。在一个示例中,可以基于错误的类型和该类型的错误的发生频率确定错误的严重程度。
错误恢复模块108然后可以从用户获取恢复操作,并且可以将恢复操作提供给代理114以用于如上所述的应用程序的恢复。
此外,学习模块110可以将错误通知与从用户或从数据库112获取的相应恢复操作一起存储在数据库112中。在一个示例中,当存在多个通信耦合到系统102的计算设备时,学习模块110可以将从多个计算设备的每一个中的代理接收的错误通知以及与错误通知相关联的恢复操作存储在数据库112中。学习模块110可以执行深度学习技术来分析错误通知以学习错误模式,并且可以将错误模式以及相关联的恢复操作一起存储在数据库112中,以供后续使用。
可以理解,深度学习使用多层分级神经网络来识别模式。在本主题中,例如,每个错误以及因此每个错误通知可以与诸如与应用程序相关的参数、与组件相关的参数以及与计算设备相关的参数之类的参数相关联。例如,与应用程序相关的参数可以标识正在执行的应用程序以及遇到的错误的类型;与组件相关的参数可以标识组件以及错误发生时应用程序正在执行的操作;以及与计算设备相关的参数可以标识计算设备可用的资源,例如处理器、存储器、操作系统和其它资源。基于这些参数,可以例如通过识别在不同时间发生特定错误时呈现的通用参数来识别错误模式。因此,随着时间的流逝,系统102中的学习模块110可以学习错误模式并将错误模式与采取的恢复操作相关联。因此,可以将错误通知中的参数与存储在数据库112中的错误模式中的参数进行比较,以确定匹配的错误模式。
此外,系统102还可以以指定的时间间隔或在接收到用户请求时生成报告。这些报告可以提供信息,例如遇到的错误的类型、错误的数量和频率、错误的严重程度、对错误采取行动的用户等。
现在将参考用于打印机制造的示例CIM环境描述应用程序从错误中的恢复的实施方式的方面。然而,将理解,本主题不限于该示例,而是适用于在任何联网环境中的任何应用程序的恢复,并且因此所有这样的实施方式旨在被覆盖在本主题的范围内。
图2示出了根据本主题的原理的用于实现应用程序的恢复的示例环境202。环境202可以对应于用于打印机制造的CIM机构。环境202包括多个制造工位204-1、204-2…204-n,分别称为工位204。制造工位204-1、204-2…204-n通过网络206与中央系统(例如服务器208)通信地耦合。
例如,工位204-1可以是功率组件工位,并且可被用于刷新和加电操作,工位204-2可以是机械组件工位,工位204-3可以是维修工位,工位204-4可以是扫描仪和进纸工位,等等。类似地,可以有生产线工位终点、包装和运输工位等。此外,可以有多个工位执行相似的功能。例如,可以有多个维修工位或多个机械组件工位,等等。此外,可以在每个工位204处对一个或多个组件进行操作。
每个制造工位204可被实现为计算设备,并且可以包括处理器、存储器、接口等,如之前参考计算设备104所讨论的。而且,每个制造工位204可以包括一个或多个应用程序,例如应用程序212-1、212-2…212-m,分别称为应用程序212,以对一个或多个组件进行操作。每个应用程序212可以与代理相关联,例如代理210-1、210-2…210-p,分别称为代理210。在一个示例中,每个应用程序212可以与各自的代理210相关联。在另一示例中,两个或更多应用程序可以共享代理210。但是,出于说明目的而非限制,每个工位204被示为包括应用程序212和代理210。
网络206可以是无线网络、有线网络或其组合。网络206还可以是彼此互连的并且用作单个大型网络(例如,互联网或内联网)的单个网络或许多这种单个网络的集合。网络206可以包括不同类型的网络,诸如内联网、局域网(LAN)、广域网(WAN)、互联网等等。网络206还可以包括单独的网络,例如但不限于全球通信系统(GSM)网络、通用电信系统(UMTS)网络、长期演进(LTE)网络等。因此,网络206包括各种网络实体,例如基站、网关、服务器和路由器;然而,为了保持描述的简洁,省略了这些细节。
在一种实现中,当应用程序212在工位204处正被执行时,可遇到错误并且代理210可向服务器208提供错误通知。服务器208可被实现为计算系统,并且可包括处理器、存储器、接口等,如先前参考系统102所讨论的那样。此外,服务器208可以包括错误恢复模块214和学习模块216,它们可以分别类似于前面所讨论的错误恢复模块108和学习模块110。服务器208还与数据库218相关联,该数据库218至少包括错误通知、错误模式和恢复操作。尽管数据库218被示为在服务器208的外部,但应理解,在不同的实施方式中,它可被部分地或全部地托管在服务器208中。
考虑工位204是刷新工位的示例,其中应用程序212负责刷新打印机板上的固件。刷新包括在固件的存储器(例如闪存)中写入或更新数据。在这种情况下,要操作的组件是打印机板。在应用程序212执行期间,例如,当刷新后,应用程序212无法通过通信通道(例如通用串行总线(USB))与打印机板进行通信时,可发生错误。
例如,如果在刷新之前未在打印机板上正确设置区域设置,则可发生通信错误。通常,基于监管准则或商业考虑,在一个区域中正被制造的用于出售的打印机与在另一区域中正被制造的用于出售的打印机可以具有不同的设置。这些设置作为区域设置可被存储在每台打印机中。因此,用于刷新的脚本将必须有所不同。但是,如果区域设置未被正确地设置,则刷新的固件将与区域设置不兼容,并可导致刷新时失去通信。
在以上示例中,代理210将向错误恢复模块214发送错误通知,以指示在刷新后,应用程序212无法通过USB通道与打印机板进行通信。错误恢复模块214可以基于错误通知与所存储的错误模式的比较以及采取了什么恢复操作,从数据库218确定是否之前遇到过类似的错误。例如,错误恢复模块214可发现针对匹配的错误模式在数据库218中存在恢复操作。恢复操作可以是在工位204处执行诊断命令以重置无效的区域设置,并且然后刷新打印机板。在该示例中,恢复操作可被发送到代理210,代理210将恢复操作提供给应用程序212以用于执行和从错误中的恢复。在其它示例中,可以在工位204处向操作员显示恢复操作,操作员然后可以执行恢复操作。
错误通知的另一示例可以包括以下指示:在打印机完全组装之后应用程序212无法与打印机通信,并且恢复操作可以包括在工位204处重新初始化通信驱动程序。
在一种实施方式中,错误恢复模块214在接收到错误通知时,还可以在与服务器208相关联的显示设备上显示错误通知,以向用户警告错误。用户可以是在环境202中监控错误的服务工程师或技术专家。错误恢复模块214可以在显示器上额外地显示与错误通知相对应的错误的严重程度等级。
错误的严重程度等级可以由错误恢复模块214基于错误的类型和错误的频率确定。高严重程度等级错误的类型可包括重复错误和再发生的错误。例如,如果错误是在数据库218中没有找到匹配的错误模式的重复错误,则可以为其提供高严重程度等级。在另一个示例中,如果错误在相同的操作周期中在相同的工位处再次发生,则可以为其提供高严重程度等级。考虑固件刷新的上述示例,如果在重置区域设置之后,应用程序212遇到无法通过USB通道与打印机板进行通信的相同错误,则该错误可具有高严重程度等级。在又一示例中,如果当在不同的装置上执行操作时错误频繁发生,则可为其提供高严重程度等级。
另一方面,如果例如基于所提供的恢复操作解决错误或错误不经常发生,可以为该错误提供低严重程度等级。将被理解的是,确定严重程度等级的基础可以是可配置的,并且不同的用户可以在错误恢复模块214中配置不同的规则,以用于严重程度等级的确定。
此外,学习模块216可以将错误通知和恢复操作存储在数据库218中,并且可以应用深度学习技术以识别新的错误模式和所关联的恢复操作。由于环境202中可存在多个工位204,因此学习模块216可以更有效地学习新的错误模式和所关联的恢复操作。新的错误模式和所关联的恢复操作也可被存储在数据库218中以供后续使用。
由于学习模块216将每个错误通知和恢复操作保存在数据库218中,每次接收到新的错误通知时,错误恢复模块214可以从数据库218确定错误的类型和错误的发生频率,以确定严重程度等级。
除了在警报中显示错误通知和错误的严重程度等级之外,错误恢复模块214还可以显示是否找到了匹配的错误模式和/或是否从数据库218中识别出针对该错误通知的恢复操作。此外,可以另外或替代地将警报作为电子邮件消息或消息提供给用户的移动设备。
例如,在与刷新固件有关的以上示例中,如果错误恢复模块214无法找到匹配的错误模式,则错误恢复模块214可以通过警报通知用户。相应地,如果要处理多个错误通知,用户可以提供恢复操作,并且可以基于严重程度等级确定恢复操作的提供的优先级。如果有多个用户可参与错误通知的处理,错误恢复模块214可进一步选择应向其分配错误通知以提供恢复操作的合适的用户。合适的用户的选择可以基于例如正被操作的组件或错误的类型。此外,学习模块216还可以在数据库中存储用户的身份,例如用户名或用户id,以识别被分配了错误通知以提供恢复操作的用户。
服务器208还可以向用户提供各种报告,以用于分析接收到的错误通知、所采取的恢复操作、经常遇到的错误模式、错误通知被分配给的用户等。为此,服务器208可以包括报告模块220,报告模块220可以从数据库218获取和分析数据以提供报告。可以基于存储在数据库218中的错误通知、错误模式和恢复操作生成报告。报告可被显示在显示设备上,或者可以作为文档通过电子通信通道发送。
因此,通过实施本主题的各个方面,可以在遇到错误之后有效且可靠地恢复应用程序,并且在工位204处的操作可以以最小的中断继续进行。现在将参考图3和图4进一步描述如上所述的用于应用程序恢复的方法。
图3示出了根据本主题的原理的用于应用程序恢复的示例方法。图4示出了根据本主题的原理的用于应用程序恢复的另一示例方法。描述方法300和方法400的顺序不旨在被解释为限制,并且可以以任何顺序组合任意数量的所描述的方法框以实现方法300和方法400或替代方法。另外,在不脱离本文描述的主题的精神和范围的情况下,可以从方法300和方法400中删除单个框。此外,方法300和方法400可以以任何合适的硬件、计算机可读指令、固件或其组合实现。为了讨论,参考图1和图2所示的实施方式描述方法300和方法400。
本领域技术人员将容易认识到,方法300和方法400的步骤可被编程的计算机执行。这里,一些示例还旨在覆盖程序存储设备和非暂时性计算机可读介质,例如数字数据存储介质,它们是计算机可读的并且对计算机可执行指令进行编码,其中该指令执行所描述的方法300和方法400的部分或全部步骤。程序存储设备可以例如是数字存储器、磁存储介质(例如磁盘和磁带)、硬盘驱动器或光可读数字数据存储介质。
参考如图3所示的方法300,在框302处,从制造工位的代理接收错误通知,该错误通知指示在制造工位上执行的应用程序中的错误。例如,当在应用程序212的执行期间遇到错误时,错误恢复模块214可以从代理210接收错误通知。在框304处,将错误通知与存储在数据库中的错误模式进行比较以确定匹配的错误模式。例如,错误恢复模块214可以将错误通知与存储在数据库218中的错误模式进行比较。
在一个示例中,应用程序可以对应于组件配置、测试和维修应用程序,并且错误通知包括指示正被操作的组件以及正被执行的应用程序的参数。此外,当错误通知的参数的子集与错误模式的参数的对应子集匹配时,将数据库中存储的错误模式中的错误模式确定为匹配的错误模式。
在框306处,从数据库中确定与匹配的错误模式相对应的恢复操作。例如,错误恢复模块214可以从数据库218确定恢复操作。在框308处,将恢复操作提供给代理以在制造工位上执行以将应用程序从错误中恢复。例如,错误恢复模块214可以将恢复操作提供给代理210以用于应用程序212的恢复。代理210可以触发恢复操作的执行或者可以将恢复操作提供给操作员执行。
如果错误恢复模块214无法从数据库218确定恢复操作,如将参考图4进一步讨论的,它可以向用户提供警报。
参考如图4所示的方法400,在框402处,接收指示应用程序中的错误的错误通知。例如,服务器208上的错误恢复模块214可以接收指示在工位204上执行的应用程序212中的错误的错误通知。可以从与应用程序212相关联的代理210接收错误通知。在框404处,将错误通知和错误的严重程度等级通知给用户。例如,错误恢复模块214可以通过在显示设备上显示错误通知和错误的严重程度等级通知用户。在另一示例中,可以通过电子邮件消息或发送到用户的移动设备的消息通知用户。
在框406处,确定数据库中是否存在匹配错误。例如,错误恢复模块214可以确定数据库218中是否存在匹配错误。如果存在,则在框408处,从数据库中确定与匹配错误相对应的恢复操作。然而,如果在框406处没有找到匹配的错误模式,则该方法继续进行到框410,在此向用户提供警报以获取恢复操作。在一个示例中,可以从用户列表中识别用户。例如,错误恢复模块214可以基于错误的类型和用户的专业知识从用户列表中识别用户,以提供警报。用户然后可以例如通过服务器208上的接口将恢复操作提供给错误恢复模块214。
基于框408和框410,一旦已经从数据库或从用户确定了恢复操作,则方法400进行到框412,在此将恢复操作提供给代理以用于应用程序的恢复。例如,可以将恢复操作提供给工位204处的代理210以恢复应用程序212。另外,在框414处,将错误通知和恢复操作存储在数据库中。此外,在框416处,分析错误通知和相应的恢复操作,以在数据库中识别和存储错误模式和相关联的恢复操作。例如,学习模块216可以分析错误通知和恢复操作以在数据库218中识别和存储错误模式。
图5示出了根据本主题的原理的用于应用程序恢复的示例计算机可读介质实施方式。网络环境500可以包括公共网络环境或专用网络环境或其组合的至少一部分。在实施方式中,网络环境500包括通过通信链路506通信地耦合到非暂时性计算机可读介质504的处理资源502。在示例中,处理资源502可以包括计算系统(例如如先前所描述的系统102)的一个或多个处理器,用于应用程序的恢复。非暂时性计算机可读介质504可以例如是计算系统的内部存储设备或外部存储设备。在实施方式中,通信链路506可以是直接通信链路,例如任何存储器读/写接口。在另一实施方式中,通信链路506可以是间接通信链路,例如网络接口。在这种情况下,处理资源502可以通过网络508访问非暂时性计算机可读介质504。网络508可以是单个网络或多个网络的组合,并且可以使用各种不同的通信协议。
处理资源502和非暂时性计算机可读介质504也可以通过通信链路506和/或网络508被耦合到数据源510(例如存储错误通知、错误模式和恢复操作的数据库)和执行应用程序的计算设备512(例如制造工位)。
在实施方式中,非暂时性计算机可读介质504包括一组计算机可读指令,用于恢复在计算设备512处遇到错误的应用程序。根据本主题的原理,该组计算机可读指令(在下文中称为指令514)可被处理资源502访问并且被执行以用于应用程序恢复。
在示例中,指令514包括指令516,指令516使处理资源502将错误通知与存储在数据库(例如数据源510)中的错误模式进行比较,以识别匹配的错误模式。可以从与在计算设备512处执行的应用程序相关联的代理接收错误通知。此外,指令514包括指令518,用于确定要执行的恢复操作。当找到匹配的错误模式时,从数据库确定恢复操作。另一方面,当未找到匹配的错误模式时,从用户确定恢复操作。
指令514还包括指令520,用于向代理提供恢复操作以用于应用程序的恢复,以及用于将错误通知和恢复操作存储在数据库中。指令514还包括指令522,用于从数据库分析错误通知和恢复操作,并基于该分析识别错误模式和相关联的恢复操作。
指令514可以包括例如如前所述的用于确定错误通知中指示的错误的严重程度等级、用于生成报告等的其它指令。
尽管已经以特定于结构特征和/或方法的语言描述了应用程序从错误中的恢复的实施方式,但是应当理解,本发明不必限于所描述的特定的特征或方法。相反,在一些示例实施方式的上下文中公开和解释了特定的特征和方法。

Claims (15)

1.一种方法,包括:
由服务器通过网络从与所述服务器连接的制造工位处的代理接收错误通知,所述错误通知指示在所述制造工位上被执行的应用程序中的错误;
由所述服务器将所述错误通知与数据库中存储的错误模式进行比较,以确定匹配的错误模式;
由所述服务器从所述数据库中确定与所述匹配的错误模式相对应的恢复操作;以及
由所述服务器向所述代理提供所述恢复操作,以将所述应用程序从所述错误中恢复。
2.根据权利要求1所述的方法,进一步包括:
当没有为所述错误通知找到匹配的错误模式时,由所述服务器向用户提供警报,以从所述用户获取所述恢复操作,其中,基于所述错误通知从用户列表中识别所述用户;以及
由所述服务器将所述错误通知和从所述用户获取的所述相对应的恢复操作一起存储在所述数据库中。
3.根据权利要求1所述的方法,其中,提供所述恢复操作包括:提供将由所述制造工位的操作员执行的一组指令。
4.根据权利要求1所述的方法,其中,提供所述恢复操作包括:触发在所述制造工位上的一组指令的执行以恢复所述应用程序。
5.根据权利要求1所述的方法,其中,所述应用程序用于对组件执行操作,并且所述错误通知包括与所述组件和所述应用程序相关的参数。
6.根据权利要求5所述的方法,其中,当所述错误通知的所述参数的子集与所述错误模式的参数的相应子集匹配时,将存储在所述数据库中的所述错误模式中的错误模式确定为所述匹配的错误模式。
7.根据权利要求1所述的方法,进一步包括:由所述服务器确定所述错误通知的严重程度等级,并且将所述严重程度等级通知给用户。
8.根据权利要求1所述的方法,进一步包括:由所述服务器分析从多个制造工位的代理接收的错误通知和与所述错误通知相对应的恢复操作,以在所述数据库中识别并且存储错误模式和相关联的恢复操作。
9.一种系统,包括:
处理器;
与所述处理器耦合的错误恢复模块,其中,所述错误恢复模块用于:
从计算设备的代理接收错误通知,所述错误通知指示在所述计算设备处被执行的应用程序中的错误;
当从存储在数据库中的错误中找不到所述错误通知的匹配错误时,从用户获取恢复操作;以及
向所述代理提供所述恢复操作以用于所述应用程序的恢复;以及
与所述处理器耦合的学习模块,其中,所述学习模块用于:
分析从多个计算设备的代理接收的错误通知以及针对所述错误通知采取的恢复操作;以及
将基于所述分析识别的错误模式和相关联的恢复操作存储在所述数据库中。
10.根据权利要求9所述的系统,其中,所述错误恢复模块用于:
将所述错误通知的参数与存储在所述数据库中的所述错误的参数进行比较,以识别匹配错误,其中,所述参数包括与计算设备相关的参数和与应用程序相关的参数;以及
向所述代理提供与所述匹配错误对应的所述恢复操作以恢复所述应用程序。
11.根据权利要求9所述的系统,其中,所述错误恢复模块用于基于所述错误的类型和所述类型的错误的发生频率来确定所述错误通知的严重程度等级。
12.根据权利要求9所述的系统,其中,所述恢复操作包括可执行以更新所述应用程序的一组指令,并且其中所述错误恢复模块用于触发在所述计算设备处的所述一组指令的执行以恢复所述应用程序。
13.根据权利要求9所述的系统,进一步包括报告模块,用于基于所述错误通知、所述错误模式和所述恢复操作来生成报告。
14.一种非暂时性计算机可读介质,包括指令,所述指令在被执行时使处理器:
将从计算设备的代理接收的错误通知与存储在数据库中的错误模式进行比较,以识别匹配的错误模式,其中,所述错误通知包括与在所述计算设备上被执行的应用程序相关的参数;
确定要在所述计算设备处执行的用于所述应用程序的恢复的恢复操作,其中,当找到所述匹配的错误模式时从所述数据库确定所述恢复操作,以及当没有找到匹配的错误模式时从用户确定所述恢复操作;
向所述代理提供所述恢复操作以用于所述应用程序的恢复;
从所述数据库分析从多个计算设备的代理接收的错误通知以及针对所述错误通知采取的恢复操作;以及
根据分析来识别错误模式和相关联的恢复操作。
15.根据权利要求14所述的非暂时性计算机可读介质,进一步包括指令,所述指令在被执行时使所述处理器:
根据所述错误的类型和从所述多个计算设备的所述代理接收的所述错误通知中的所述类型的错误的发生频率,确定所述错误通知的严重程度等级;以及
将所述严重程度等级通知给所述用户。
CN201880043669.5A 2017-06-29 2018-05-07 应用程序从错误中的恢复 Pending CN110832464A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN201741022902 2017-06-29
IN201741022902 2017-06-29
PCT/US2018/031314 WO2019005294A1 (en) 2017-06-29 2018-05-07 RECOVERING APPLICATION FOLLOWING AN ERROR

Publications (1)

Publication Number Publication Date
CN110832464A true CN110832464A (zh) 2020-02-21

Family

ID=64742157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880043669.5A Pending CN110832464A (zh) 2017-06-29 2018-05-07 应用程序从错误中的恢复

Country Status (4)

Country Link
US (1) US11263072B2 (zh)
EP (1) EP3646182A4 (zh)
CN (1) CN110832464A (zh)
WO (1) WO2019005294A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767170A (zh) * 2020-06-28 2020-10-13 百度在线网络技术(北京)有限公司 设备的操作复原方法、装置、设备以及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416327B2 (en) * 2019-05-24 2022-08-16 Dell Products L.P. System and method for intelligent firmware updates, firmware restore, device enable or disable based on telemetry data analytics, and diagnostic failure threshold for each firmware
US11487602B2 (en) 2021-03-15 2022-11-01 International Business Machines Corporation Multi-tenant integration environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
US20070174654A1 (en) * 2006-01-13 2007-07-26 Velocity11 System and method for error recovery
US20090013208A1 (en) * 2008-03-31 2009-01-08 Dimuzio Thomas M Real time automated exception notification and reporting solution

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673386A (en) 1994-06-29 1997-09-30 U S West Technologies, Inc. Method and system for identification of software application faults
US6115643A (en) * 1998-02-03 2000-09-05 Mcms Real-time manufacturing process control monitoring method
US7028225B2 (en) 2001-09-25 2006-04-11 Path Communications, Inc. Application manager for monitoring and recovery of software based application processes
US7200779B1 (en) * 2002-04-26 2007-04-03 Advanced Micro Devices, Inc. Fault notification based on a severity level
US6970804B2 (en) 2002-12-17 2005-11-29 Xerox Corporation Automated self-learning diagnostic system
US7539277B2 (en) 2005-09-09 2009-05-26 Freescale Semiconductor, Inc. Binary stream switching controlled modulus divider for fractional frequency synthesis
US7720639B2 (en) 2005-10-27 2010-05-18 General Electric Company Automatic remote monitoring and diagnostics system and communication method for communicating between a programmable logic controller and a central unit
US8949671B2 (en) 2008-01-30 2015-02-03 International Business Machines Corporation Fault detection, diagnosis, and prevention for complex computing systems
US7962472B2 (en) * 2008-09-29 2011-06-14 International Business Machines Corporation Self-optimizing algorithm for real-time problem resolution using historical data
US9235464B2 (en) * 2012-10-16 2016-01-12 Microsoft Technology Licensing, Llc Smart error recovery for database applications
US10120372B2 (en) * 2013-08-01 2018-11-06 Applied Materials, Inc. Event processing based system for manufacturing yield improvement
CN104461842B (zh) 2013-09-23 2018-02-16 伊姆西公司 基于日志相似性来处理故障的方法和装置
TWI543102B (zh) * 2014-10-22 2016-07-21 財團法人工業技術研究院 異因分析與校正方法與系統
US10866849B2 (en) * 2017-01-17 2020-12-15 American Express Travel Related Services Company, Inc. System and method for automated computer system diagnosis and repair
US10761974B2 (en) * 2017-11-10 2020-09-01 International Business Machines Corporation Cognitive manufacturing systems test repair action

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
US20070174654A1 (en) * 2006-01-13 2007-07-26 Velocity11 System and method for error recovery
US20090013208A1 (en) * 2008-03-31 2009-01-08 Dimuzio Thomas M Real time automated exception notification and reporting solution

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767170A (zh) * 2020-06-28 2020-10-13 百度在线网络技术(北京)有限公司 设备的操作复原方法、装置、设备以及存储介质
CN111767170B (zh) * 2020-06-28 2024-02-27 百度在线网络技术(北京)有限公司 设备的操作复原方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
EP3646182A4 (en) 2021-03-17
US20200201706A1 (en) 2020-06-25
US11263072B2 (en) 2022-03-01
WO2019005294A1 (en) 2019-01-03
EP3646182A1 (en) 2020-05-06

Similar Documents

Publication Publication Date Title
US20180067795A1 (en) Systems and methods for automatic replacement and repair of communications network devices
RU2682018C2 (ru) Идентификация вариантов выявления неисправностей для устранения отказов сети
US11281519B2 (en) Health indicator platform for software regression reduction
CN107660289B (zh) 自动网络控制
CN112559303B (zh) 向量空间中的日志分析
US11204824B1 (en) Intelligent network operation platform for network fault mitigation
EP3926891B1 (en) Intelligent network operation platform for network fault mitigation
JP2017517060A (ja) 障害処理方法、関連装置、およびコンピュータ
US20140310564A1 (en) Autonomous Service Management
JP4598065B2 (ja) 監視シミュレーション装置,方法およびそのプログラム
CN104268061A (zh) 一种适用于虚拟机的存储状态监控机制
CN110832464A (zh) 应用程序从错误中的恢复
CN112529223A (zh) 一种设备故障报修方法、装置、服务器及储存介质
US10929261B1 (en) Device diagnosis
US8667340B2 (en) Method and system for distributed processing of alerts
CN109150596B (zh) 一种scada系统实时数据转储方法和装置
US9354962B1 (en) Memory dump file collection and analysis using analysis server and cloud knowledge base
US20220066917A1 (en) Candidate program release evaluation
US11271798B2 (en) Automated network link repair
CN113260984A (zh) 监视系统、监视方法和监视程序
JP2007052756A (ja) ワイヤレスデバイスの不具合診断に適用する学習型診断データベース
WO2024042599A1 (ja) 障害発生時におけるサーバ状態確認支援
CN117319178A (zh) 一种信息化及网络化设备的维护方法及相关装置
JP2011159234A (ja) 障害対応システム及び障害対応方法

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200221

WD01 Invention patent application deemed withdrawn after publication