CN112905375A - 双芯智能电表管理单元的自恢复方法、装置和计算机设备 - Google Patents

双芯智能电表管理单元的自恢复方法、装置和计算机设备 Download PDF

Info

Publication number
CN112905375A
CN112905375A CN202110175332.3A CN202110175332A CN112905375A CN 112905375 A CN112905375 A CN 112905375A CN 202110175332 A CN202110175332 A CN 202110175332A CN 112905375 A CN112905375 A CN 112905375A
Authority
CN
China
Prior art keywords
application program
state information
service application
target
fault
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
CN202110175332.3A
Other languages
English (en)
Inventor
吴昊文
张文瀚
何子昂
张本松
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.)
China Southern Power Grid Digital Grid Technology Guangdong Co ltd
Original Assignee
Southern Power Grid Digital Grid Research Institute Co Ltd
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 Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Southern Power Grid Digital Grid Research Institute Co Ltd
Priority to CN202110175332.3A priority Critical patent/CN112905375A/zh
Publication of CN112905375A publication Critical patent/CN112905375A/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种双芯智能电表管理单元的自恢复方法、装置和计算机设备。通过读取共享管道文件中存储的各业务应用程序的运行状态信息,根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障;在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略,并根据该故障排除策略对该目标业务应用程序进行修复;本申请实施例是对每个业务应用程序的运行状态进行监控,并在业务应用程序出现故障时,对该业务应用程序进行故障修复,而不是对整个管理单元进行重启来实现对故障的自修复,大大缩短了电表管理芯***的自恢复时间,避免了电表业务数据的丢失或混乱。

Description

双芯智能电表管理单元的自恢复方法、装置和计算机设备
技术领域
本申请涉及软件故障恢复技术领域,特别是涉及一种双芯智能电表管理单元的自恢复方法、装置、计算机设备和存储介质。
背景技术
随着智能电表的发展,出现了将法制计量功能和管理功能相互分离的双芯智能电表,包括用于法制计量功能的计量芯和用于软件管理功能的管理芯;其中,管理芯对应的智能电表的管理单元上可搭载软件操作***,在该软件操作***上可以运行多个不同的业务应用程序,用于实现电表显示、通信、以及多个应用的在线升级等功能。
传统技术中,一般采用硬件看门狗的方式,在管理单元的软件发生故障时,重启整个管理单元,以实现软件操作***的自恢复。
然而,上述的重启操作,将导致重新进行软件操作***的初始化和硬件外设的初始化、以及重新加载各个业务应用程序,导致***的自恢复时间慢,进而造成电表业务数据的丢失或混乱。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少***的自恢复时间的双芯智能电表管理单元的自恢复方法、装置、计算机设备和存储介质。
第一方面,提供了一种双芯智能电表管理单元的自恢复方法,该方法包括:
读取共享管道文件中存储的各业务应用程序的运行状态信息,其中,该共享管道文件用于供电表中安装的各业务应用程序将各业务应用程序的运行状态信息写入该共享管道文件;
根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障;
在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略;
根据该故障排除策略对该目标业务应用程序进行修复。
在其中一个实施例中,读取共享管道文件中存储的各业务应用程序的运行状态信息之前,该方法还包括:
在该电表上电之后,控制各业务应用程序启动;在预设的存储位置读取各业务应用程序的启动状态信息,其中,该存储位置用于供各业务应用程序将各业务应用程序的启动状态信息写入该存储位置;根据读取到的该启动状态信息,确定各业务应用程序中是否存在未成功启动的业务应用程序;在存在未成功启动的业务应用程序的情况下,控制该未成功启动的业务应用程序重新启动。
在其中一个实施例中,根据读取到的运行状态信息,确定各业务应用程序是否出现运行故障,包括:
确定读取到的该运行状态信息是否存在故障状态信息,该故障状态信息用于表征业务应用程序在运行过程中出现故障;在读取到的该运行状态信息存在该故障状态信息的情况下,将该故障状态信息对应的业务应用程序作为出现故障的目标业务应用程序。
在其中一个实施例中,根据读取到的目标业务应用程序的运行状态信息确定故障排除策略,包括:
在该目标业务应用程序对应的故障状态信息包括重启标识的情况下,将重启该目标业务应用程序作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:对该目标业务应用程序进行重启。
在其中一个实施例中,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略,包括:
在该目标业务应用程序对应的该故障状态信息包括文件错误标识的情况下,将修复文件作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:对与该目标业务应用程序运行相关的目标文件进行修复。
在其中一个实施例中,该方法还包括:
检测该目标文件是否修复成功;在该目标文件修复失败的情况下,删除该目标文件并重启该目标业务应用程序。
在其中一个实施例中,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略,包括:
在该目标业务应用程序对应的该故障状态信息包括硬件组件错误标识的情况下,将初始化硬件组件和重启该目标业务应用程序作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:初始化该目标业务应用程序调用的硬件组件,并对该目标业务应用程序进行重启。
第二方面,提供了一种双芯智能电表管理单元的自恢复装置,该装置包括:
第一读取模块,用于读取共享管道文件中存储的各业务应用程序的运行状态信息,其中,该共享管道文件用于供电表中安装的各业务应用程序将各业务应用程序的运行状态信息写入该共享管道文件。
第一确定模块,用于根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障。
第二确定模块,用于在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略。
修复模块,用于根据该故障排除策略对该目标业务应用程序进行修复。
第四方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,其特征在于,该处理器执行该计算机程序时实现如上述第一方面任一所述的双芯智能电表管理单元的自恢复方法。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上述第一方面任一所述的双芯智能电表管理单元的自恢复方法。
上述双芯智能电表管理单元的自恢复方法、装置、计算机设备和存储介质,通过读取共享管道文件中存储的各业务应用程序的运行状态信息,并根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障;在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略,并根据该故障排除策略对该目标业务应用程序进行修复;也就是说,本申请实施例中可以通过对各个业务应用程序的运行状态进行监控,来确定各个业务应用程序是否正常运行,并在业务应用程序出现故障的情况下,能够根据该业务应用程序的运行状态信息,确定对应的故障排除策略,根据该故障排除策略对出现故障的目标业务应用程序进行修复,而不是对整个管理单元进行重启操作来实现对软件故障的自修复,因此,本申请实施例也不需要执行重新初始化操作***和外设,以及重新加载各业务应用程序的操作,大大缩短了电表管理芯***的自恢复时间,避免了电表业务数据的丢失或混乱;另外,在电表管理单元的程序编程过程中,也可以降低程序编程的难度,无需再进行各业务应用程序的运行时间的精确计算,也无需时刻考虑调用喂狗函数的问题,以及无需担心使用比较耗时的业务功能时的重启问题,只需考虑各业务应用程序的业务逻辑,大大提高了电表管理单元的软件编程效率。
附图说明
图1为一个实施例中双芯智能电表管理单元的自恢复方法的应用环境图;
图2为一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图;
图3为另一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图;
图4为另一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图;
图5为另一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图;
图6为另一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图;
图7为一个实施例中双芯智能电表管理单元的自恢复装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,双芯智能电表的管理芯在发生软件故障时,大多采用硬件看门狗方式,即在该管理芯对应的管理单元搭载的业务应用程序中计算好喂硬件看门狗的频率,周期性地调用喂狗函数,清空计数。
如果某个业务应用程序在预期的时间周期内未调用该喂狗函数,使得看门狗定时器的计数达到最大上限,则认为该业务应用程序发生了故障,未能按照预期流程进行执行;在这种情况发生后,在该智能电表的硬件层,该硬件看门狗会将电表的整个管理单元重新启动,即重新初始化操作***和外设,以及重新加载应用程序。采用这样的自恢复方式,对业务应用程序的编写要求较高,需要对业务应用程序进行精确计算,以确保在固定的时间内,主动调用喂狗函数。
如果某个业务应用程序在调用其他外设时耗费时间过长,则有可能发生非预期的被看门狗重启的问题;且在业务应用程序退出后,如果未关闭看门狗,则也有可能发生被狗咬的问题;并且,采用这种方式,对于各种软件故障,都要重启***,且需要初始化各类硬件外设和加载业务应用程序,则导致智能电表管理单元不能快速的实现自恢复,影响智能电表的使用,导致业务数据的丢失或混乱。
本申请提供的双芯智能电表管理单元的自恢复方法,在智能电表管理芯的业务应用程序外启动一个监管程序,由该监管程序监控各个业务应用程序的运行状态,在发现某个业务应用程序运行异常时,可以根据异常的类型,进行相对应的故障处理,避免了***重启和重新加载业务应用程序的繁复操作,能够提高软件发生故障时的自恢复时间。
本申请提供的双芯智能电表管理单元的自恢复方法,可以应用于如图1所示的应用环境中。其中,计算机设备可以是双芯智能电表,其内部结构图可以如图1所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序,该计算机程序中包括一个监管程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种双芯智能电表管理单元的自恢复方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏。
在一个实施例中,如图2所示,提供了一种双芯智能电表管理单元的自恢复方法,以该方法应用于图1中的计算机设备中的监管程序为例进行说明,包括以下步骤:
步骤201,监管程序读取共享管道文件中存储的各业务应用程序的运行状态信息,其中,该共享管道文件用于供电表中安装的各业务应用程序将各业务应用程序的运行状态信息写入该共享管道文件。
在实现双芯智能电表管理单元的软件故障时的自恢复的过程中,本申请实施例可以在双芯智能电表管理单元的各业务应用程序之外,增加一个监管程序,通过该监管程序可以监控各个业务应用程序的运行状态,也可以在业务应用程序发生软件故障时实现故障的自恢复;可选地,该监管程序监控各个业务应用程序的运行状态的方式可以为,在监管程序与各个业务应用程序之间,建立共享管道文件,使得各个业务应用程序能够将各自的运行状态信息写入该共享管道文件,以及使得该监管程序能够从该共享管道文件中读取各个业务应用程序的运行状态信息,通过建立共享管道文件的方式,可以实现监管程序对各个业务应用程序运行状态的监控。
在本实施例的一种可选的实现方式中,每一个业务应用程序都可以预先存储有该共享管道文件的标识,该标识可以是该共享管道文件的文件名或者该共享管道文件的路径名;在各个业务应用程序正常启动运行之后,可以定时根据该共享管道文件的标识,将该业务应用程序的运行状态信息写入该共享管道文件,该运行状态信息可以是正常运行时的运行状态信息,也可以是发生故障时的故障状态信息;可选地,在该业务应用程序出现软件故障的情况下,也可以在出现该软件故障的故障发生时刻,将该业务应用程序的故障状态信息写入该共享管道文件;该监管程序可以读取该共享管道文件中存储的各业务应用程序的运行状态信息。
步骤202,根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障。
在本实施例的一种可选的实现方式中,该监管程序可以根据读取到的上述该共享管道文件中存储的各业务应用程序的运行状态信息,确定各业务应用程序是否出现运行故障;可选地,可以通过确定读取到的该运行状态信息是否存在故障状态信息,该故障状态信息用于表征业务应用程序在运行过程中出现故障;在读取到的该运行状态信息存在该故障状态信息的情况下,可以确定该业务应用程序出现了运行故障,并将该故障状态信息对应的业务应用程序作为出现故障的目标业务应用程序。
步骤203,在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略。
在本实施例的一种可选的实现方式中,对于不同的软件故障,可以允许智能电表的管理单元执行不同的软件故障分别对应的自恢复过程,而不仅仅只是通过重启整个管理单元的操作来恢复各类软件故障;也就是说,对于不同的运行状态信息,可以设置不同的故障排除策略,例如:对于出现死循环的业务应用程序,可以通过重启该业务应用程序的操作来修复该业务应用程序;可选地,该运行状态信息中可以包括该业务应用程序的标识和该业务应用程序的当前运行状态标识,根据预设的运行状态标识与故障排除策略之间的对应关系,可以确定该目标业务应用程序的运行状态信息中的当前运行状态标识对应的故障排除策略。
步骤204,根据该故障排除策略对该目标业务应用程序进行修复。
上述双芯智能电表管理单元的自恢复方法中,通过读取共享管道文件中存储的各业务应用程序的运行状态信息,并根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障;在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略,并根据该故障排除策略对该目标业务应用程序进行修复;也就是说,本申请实施例中可以通过对各个业务应用程序的运行状态进行监控,来确定各个业务应用程序是否正常运行,并在业务应用程序出现故障的情况下,能够根据该业务应用程序的运行状态信息,确定对应的故障排除策略,根据该故障排除策略对出现故障的目标业务应用程序进行修复,而不是对整个管理单元进行重启操作来实现对软件故障的自修复,因此,本申请实施例也不需要执行重新初始化操作***和外设,以及重新加载各业务应用程序的操作,大大缩短了电表管理芯***的自恢复时间,避免了电表业务数据的丢失或混乱;另外,在电表管理单元的程序编程过程中,也可以降低程序编程的难度,无需再进行各业务应用程序的运行时间的精确计算,也无需时刻考虑调用喂狗函数的问题,以及无需担心使用比较耗时的业务功能时的重启问题,只需考虑各业务应用程序的业务逻辑,大大提高了电表管理单元的软件编程效率。
图3为另一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图。本实施例涉及的是在电表上电之后确保各业务应用程序均正常启动运行的一种可选的实现过程。在上述实施例的基础上,如图3所示,上述方法还包括:
步骤301,在该电表上电之后,控制各业务应用程序启动。
在本实施例的一种可选的实现方式中,在电表上电之后,可以执行启动电表管理芯的操作***、初始化硬件外设、以及控制各业务应用程序启动的操作,另外,还可以执行创建上述共享管道文件和启动上述监管程序的操作。
步骤302,在预设的存储位置读取各业务应用程序的启动状态信息,其中,该存储位置用于供各业务应用程序将各业务应用程序的启动状态信息写入该存储位置。
在本实施例的一种可选的实现方式中,在各业务应用程序成功启动之后,各业务应用程序还可以将各业务应用程序的启动状态信息写入预设的存储位置,已供该监管程序能够从该存储位置中读取各业务应用程序的启动状态信息;可选地,该启动状态信息可以包括业务应用程序的标识和该业务应用程序的启动状态,该业务应用程序的标识可以是该业务应用程序的名称或者该业务应用程序的ID;对于未成功启动的业务应用程序,该存储位置中将不包括该未成功启动的业务应用程序的启动状态信息。
步骤303,根据读取到的该启动状态信息,确定各业务应用程序中是否存在未成功启动的业务应用程序。
在本实施例的一种可选的实现方式中,该监管程序可以从该存储位置中读取到各业务应用程序的启动状态信息,根据各业务应用程序的启动状态信息可以确定各成功启动的业务应用程序的标识,根据各成功启动的业务应用程序的标识和该监管程序中预先存储的所有业务应用程序的标识,可以确定出未成功启动的业务应用程序的标识;由于该存储位置中不包括未成功启动的业务应用程序的启动状态信息,也就是,该存储位置中不包括未成功启动的业务应用程序的标识,那么也就是,可以通过对比各成功启动的业务应用程序的标识和所有业务应用程序的标识,来确定各成功启动的业务应用程序中是否存在未成功启动的业务应用程序。
步骤304,在存在未成功启动的业务应用程序的情况下,控制该未成功启动的业务应用程序重新启动。
在步骤303之后,在存在未成功启动的业务应用程序的情况下,可以根据该未成功启动的业务应用程序的标识,控制该未成功启动的业务应用程序重新启动。
本实施例中,通过在电表上电之后,控制各业务应用程序启动,并在预设的存储位置读取各业务应用程序的启动状态信息,根据读取到的该启动状态信息,确定各业务应用程序中是否存在未成功启动的业务应用程序;并在存在未成功启动的业务应用程序的情况下,控制该未成功启动的业务应用程序重新启动;能够实现在电表上电后的初始启动过程中,确保所有业务应用程序均能正常启动运行,能够提高监管程序在监控各业务应用程序的运行状态的准确性。
图4为另一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图。本实施例涉及的是根据读取到的目标业务应用程序的运行状态信息确定故障排除策略的一种可选的实现过程。在上述实施例的基础上,如图4所示,上述步骤203包括:
步骤401,在该目标业务应用程序对应的故障状态信息包括重启标识的情况下,将重启该目标业务应用程序作为该故障排除策略。
在本实施例的一种可选的实现方式中,在该目标业务应用程序对应的故障状态信息中的当前运行状态标识为重启标识的情况下,可以将重启该目标业务应用程序作为该故障排除策略,并可以将对应该故障的重启标识写入上述共享管道文件,作为故障状态信息,以指示该监管程序根据该重启标识对该目标业务应用程序进行重启操作;可选地,在该目标业务应用程序出现死循环、自身程序运行错误等的故障情况下,可以将该目标业务应用程序进行重启,并将该重启标识写入上述共享管道文件,以指示该监管程序对该目标业务应用程序进行重启操作。
对应地,上述步骤204包括:
步骤402,对该目标业务应用程序进行重启。
本实施例中,通过确定该目标业务应用程序对应的故障状态信息中包括重启标识的情况下,将重启该目标业务应用程序作为该故障排除策略,并根据该故障排除策略对该目标业务应用程序进行重启;能够针对出现故障的业务应用程序进行重启操作,而不影响其他业务应用程序的正常使用,避免了重启整个电表管理单元的操作,大大加快了电表管理单元的软件故障的自恢复时间,提高了电表管理单元的软件故障的自恢复效率。
图5为另一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图。本实施例涉及的是根据读取到的目标业务应用程序的运行状态信息确定故障排除策略的另一种可选的实现过程。在上述实施例的基础上,如图5所示,上述步骤203包括:
步骤501,在该目标业务应用程序对应的该故障状态信息包括文件错误标识的情况下,将修复文件作为该故障排除策略。
在本实施例的一种可选的实现方式中,如果该目标业务应用程序的故障原因是由于该目标业务应用程序在调用或者运行某个文件时,由于该文件自身的错误而导致的该目标业务应用程序出现故障的情况下,例如:Flash中的文件数据错误导致的软件故障,可能包括:打开文件失败,或者文件大小不足的情况下,可能导致文件错误,进而导致该目标业务应用程序出现故障;这种情况下,即使再次重启该业务应用程序,或者重启该电表的管理单元,在读取该文件时也会因该文件错误而导致软件故障;因此,可以将修复文件作为该故障排除策略,并可以将对应该故障的文件错误标识写入上述共享管道文件,作为故障状态信息,以指示该监管程序根据该文件错误标识对该目标业务应用程序进行修复;可选地,对于不同的文件错误导致的故障,也可以采用不同的文件修复过程,也就是,可以对应不同的故障排除策略,对于不同的文件错误也可以对应不同的文件错误标识;例如:对于文件错误为打开文件失败的情况下,可以将创建新文件作为修复该文件的故障排除策略;对于文件错误为文件大小不足的情况下,可以将用0填充文件缺少的部分作为修复该文件的故障排除策略等。
对应地,上述步骤204包括:
步骤502,对与该目标业务应用程序运行相关的目标文件进行修复。
在本实施例的一种可选的实现方式中,该监管程序在检测到该目标业务应用程序的故障状态信息中包括文件错误标识的情况下,需要对该目标业务应用程序运行相关的目标文件进行修复;可选地,可以根据上述不同的文件错误标识确定对应该文件错误标识的故障排除策略,根据该故障排除策略对与该目标业务应用程序运行相关的目标文件进行修复。
在本实施例的一种可选的实现方式中,监管程序在执行对该目标文件的修复操作之后,还可以检测该目标文件是否修复成功,在该目标文件修复失败的情况下,可以删除该目标文件并重启该目标业务应用程序,以解决该目标业务应用程序出现的故障,实现该目标业务应用程序正常运行;基于上述举例的内容,对于上述打开文件失败的目标文件,可以通过检测该创建的新文件是否能正常打开,来确定该目标文件是否修复成功,在能正常打开该创建的新文件的情况下,可以确定该目标文件修复成功;对于上述文件大小不足的目标文件,可以通过检测修复后的目标文件大小是否满足要求来确定该目标文件是否修复成功,在修复后的目标文件大小满足要求的情况下,可以确定该目标文件修复成功。
本实施例中,通过确定该目标业务应用程序对应的该故障状态信息中包括文件错误标识的情况下,将修复文件作为该故障排除策略,并根据该故障排除策略对与该目标业务应用程序运行相关的目标文件进行修复;能够在文件错误的情况下,对该错误文件进行修复,解决了该错误文件导致的即使通过重启该业务应用程序,但还是会因该文件错误而引起的故障问题,大大提高了该电表管理单元的故障自恢复能力,提高了该电表管理单元的综合性能。
图6为另一个实施例中双芯智能电表管理单元的自恢复方法的流程示意图。本实施例涉及的是根据读取到的目标业务应用程序的运行状态信息确定故障排除策略的另一种可选的实现过程。在上述实施例的基础上,如图6所示,上述步骤203包括:
步骤601,在该目标业务应用程序对应的该故障状态信息包括硬件组件错误标识的情况下,将初始化硬件组件和重启该目标业务应用程序作为该故障排除策略。
在本实施例的一种可选的实现方式中,如果该目标业务应用程序的故障原因是由于该目标业务应用程序在调用或者运行某个硬件组件时,由于该硬件组件自身的错误而导致的该目标业务应用程序出现故障的情况下,例如:在调用通信组件实现数据交互时,该通信组件无法进行数据的正常收发,导致该目标业务应用程序无法正常运行,出现故障;这种情况下,可以将初始化该硬件组件和重启该目标业务应用程序作为该故障排除策略,并可以将对应该故障的硬件组件错误标识写入上述共享管道文件,作为故障状态信息,以指示该监管程序根据该硬件组件错误标识对该目标业务应用程序进行修复;可选地,该故障状态信息中还可以包括该硬件组件的标识,该硬件组件的标识可以是该硬件组件的名称或者ID。
对应地,上述步骤204包括:
步骤602,初始化该目标业务应用程序调用的硬件组件,并对该目标业务应用程序进行重启。
在本实施例的一种可选的实现方式中,监管程序可以根据上述故障状态信息中的该硬件组件的标识,初始化该目标业务应用程序调用的硬件组件,并对该目标业务应用程序进行重启。
本实施例中,通过确定该目标业务应用程序对应的故障状态信息中包括硬件组件错误标识的情况下,将初始化硬件组件和重启该目标业务应用程序作为该故障排除策略,并根据该故障排除策略初始化该目标业务应用程序调用的硬件组件,以及对该目标业务应用程序进行重启;能够在硬件组件错误的情况下,只针对该错误的硬件组件进行修复,而不影响其他硬件组件的正常使用,以及不影响除该目标业务应用程序之外的其他业务应用程序的正常使用,大大提高了该电表管理单元的软件故障的自恢复的效率和速率,以及提高了该电表管理单元的综合性能。另外,根据上述对不同故障情况的描述,以及不同故障情况下分别对应的故障排除策略的描述,可以看出,本申请实施例能够灵活处理各种不同类型的软件故障,监控程序可以根据各业务应用程序的运行状态信息,来精确处理不同的软件故障,且可以避免同样原因导致的故障多次发生的情况。
在本申请的一个可选的实施例中,在业务应用程序正常退出时,该业务应用程序也可以将该业务应用程序的退出状态信息写入该共享管道文件,以指示该监管程序在读取到该业务应用程序的退出状态信息的情况下,标志该业务应用程序已正常退出,可以不再监控该业务应用程序;可选地,在该退出后的业务应用程序再次重新启动的情况下,该业务应用程序也可以将该业务应用程序的启动状态信息写入该共享管道文件,以指示该监管程序在读取到该业务应用程序的启动状态信息后,对该业务应用程序的运行状态进行监控。
本实施例,能够对正常运行的业务应用程序的运行状态进行监控,也可以在业务应用程序正常退出的情况下,暂停对该业务应用程序的监控,以及在该退出后的业务应用程序重新启动运行的情况下,重新对该业务应用程序进行监控;能够提高该电表管理单元的智能性和可靠性。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种双芯智能电表管理单元的自恢复装置,包括:第一读取模块701、第一确定模块702、第二确定模块703和修复模块704,其中:
第一读取模块701,用于读取共享管道文件中存储的各业务应用程序的运行状态信息,其中,该共享管道文件用于供电表中安装的各业务应用程序将各业务应用程序的运行状态信息写入该共享管道文件。
第一确定模块702,用于根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障。
第二确定模块703,用于在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略。
修复模块704,用于根据该故障排除策略对该目标业务应用程序进行修复。
在其中一个实施例中,该装置还包括:启动模块、第二读取模块、第三确定模块和重启模块;该启动模块,用于在该电表上电之后,控制各业务应用程序启动;该第二读取模块,用于在预设的存储位置读取各业务应用程序的启动状态信息,其中,该存储位置用于供各业务应用程序将各业务应用程序的启动状态信息写入该存储位置;第三确定模块,用于根据读取到的该启动状态信息,确定各业务应用程序中是否存在未成功启动的业务应用程序;该重启模块,用于在存在未成功启动的业务应用程序的情况下,控制该未成功启动的业务应用程序重新启动。
在其中一个实施例中,上述第一确定模块702,具体用于确定读取到的该运行状态信息是否存在故障状态信息,该故障状态信息用于表征业务应用程序在运行过程中出现故障;在读取到的该运行状态信息存在该故障状态信息的情况下,将该故障状态信息对应的业务应用程序作为出现故障的目标业务应用程序。
在其中一个实施例中,上述第二确定模块703,具体用于在该目标业务应用程序对应的故障状态信息包括重启标识的情况下,将重启该目标业务应用程序作为该故障排除策略;对应地,上述修复模块704,具体用于对该目标业务应用程序进行重启。
在其中一个实施例中,上述第二确定模块703,具体用于在该目标业务应用程序对应的该故障状态信息包括文件错误标识的情况下,将修复文件作为该故障排除策略;对应地,上述修复模块704,具体用于对与该目标业务应用程序运行相关的目标文件进行修复。
在其中一个实施例中,该装置还包括:检测模块;该检测模块,用于检测该目标文件是否修复成功;在该目标文件修复失败的情况下,删除该目标文件并重启该目标业务应用程序。
在其中一个实施例中,上述第二确定模块703,具体用于在该目标业务应用程序对应的该故障状态信息包括硬件组件错误标识的情况下,将初始化硬件组件和重启该目标业务应用程序作为该故障排除策略;对应地,上述修复模块704,具体用于初始化该目标业务应用程序调用的硬件组件,并对该目标业务应用程序进行重启。
关于双芯智能电表管理单元的自恢复装置的具体限定可以参见上文中对于双芯智能电表管理单元的自恢复方法的限定,在此不再赘述。上述双芯智能电表管理单元的自恢复装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是双芯智能电表,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种双芯智能电表管理单元的自恢复方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
读取共享管道文件中存储的各业务应用程序的运行状态信息,其中,该共享管道文件用于供电表中安装的各业务应用程序将各业务应用程序的运行状态信息写入该共享管道文件;
根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障;
在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略;
根据该故障排除策略对该目标业务应用程序进行修复。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在该电表上电之后,控制各业务应用程序启动;在预设的存储位置读取各业务应用程序的启动状态信息,其中,该存储位置用于供各业务应用程序将各业务应用程序的启动状态信息写入该存储位置;根据读取到的该启动状态信息,确定各业务应用程序中是否存在未成功启动的业务应用程序;在存在未成功启动的业务应用程序的情况下,控制该未成功启动的业务应用程序重新启动。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定读取到的该运行状态信息是否存在故障状态信息,该故障状态信息用于表征业务应用程序在运行过程中出现故障;在读取到的该运行状态信息存在该故障状态信息的情况下,将该故障状态信息对应的业务应用程序作为出现故障的目标业务应用程序。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在该目标业务应用程序对应的故障状态信息包括重启标识的情况下,将重启该目标业务应用程序作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:对该目标业务应用程序进行重启。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在该目标业务应用程序对应的该故障状态信息包括文件错误标识的情况下,将修复文件作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:对与该目标业务应用程序运行相关的目标文件进行修复。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检测该目标文件是否修复成功;在该目标文件修复失败的情况下,删除该目标文件并重启该目标业务应用程序。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在该目标业务应用程序对应的该故障状态信息包括硬件组件错误标识的情况下,将初始化硬件组件和重启该目标业务应用程序作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:初始化该目标业务应用程序调用的硬件组件,并对该目标业务应用程序进行重启。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
读取共享管道文件中存储的各业务应用程序的运行状态信息,其中,该共享管道文件用于供电表中安装的各业务应用程序将各业务应用程序的运行状态信息写入该共享管道文件;
根据读取到的该运行状态信息,确定各业务应用程序是否出现运行故障;
在各业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的该目标业务应用程序的运行状态信息确定故障排除策略;
根据该故障排除策略对该目标业务应用程序进行修复。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在该电表上电之后,控制各业务应用程序启动;在预设的存储位置读取各业务应用程序的启动状态信息,其中,该存储位置用于供各业务应用程序将各业务应用程序的启动状态信息写入该存储位置;根据读取到的该启动状态信息,确定各业务应用程序中是否存在未成功启动的业务应用程序;在存在未成功启动的业务应用程序的情况下,控制该未成功启动的业务应用程序重新启动。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定读取到的该运行状态信息是否存在故障状态信息,该故障状态信息用于表征业务应用程序在运行过程中出现故障;在读取到的该运行状态信息存在该故障状态信息的情况下,将该故障状态信息对应的业务应用程序作为出现故障的目标业务应用程序。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在该目标业务应用程序对应的故障状态信息包括重启标识的情况下,将重启该目标业务应用程序作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:对该目标业务应用程序进行重启。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在该目标业务应用程序对应的该故障状态信息包括文件错误标识的情况下,将修复文件作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:对与该目标业务应用程序运行相关的目标文件进行修复。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:检测该目标文件是否修复成功;在该目标文件修复失败的情况下,删除该目标文件并重启该目标业务应用程序。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在该目标业务应用程序对应的该故障状态信息包括硬件组件错误标识的情况下,将初始化硬件组件和重启该目标业务应用程序作为该故障排除策略;对应地,根据该故障排除策略对该目标业务应用程序进行修复,包括:初始化该目标业务应用程序调用的硬件组件,并对该目标业务应用程序进行重启。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种双芯智能电表管理单元的自恢复方法,其特征在于,所述方法包括:
读取共享管道文件中存储的各业务应用程序的运行状态信息,其中,所述共享管道文件用于供电表中安装的各所述业务应用程序将各所述业务应用程序的运行状态信息写入所述共享管道文件;
根据读取到的所述运行状态信息,确定各所述业务应用程序是否出现运行故障;
在各所述业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的所述目标业务应用程序的运行状态信息确定故障排除策略;
根据所述故障排除策略对所述目标业务应用程序进行修复。
2.根据权利要求1所述的方法,其特征在于,所述读取共享管道文件中存储的各业务应用程序的运行状态信息之前,所述方法还包括:
在所述电表上电之后,控制各所述业务应用程序启动;
在预设的存储位置读取各所述业务应用程序的启动状态信息,其中,所述存储位置用于供各所述业务应用程序将各所述业务应用程序的启动状态信息写入所述存储位置;
根据读取到的所述启动状态信息,确定各所述业务应用程序中是否存在未成功启动的业务应用程序;
若存在所述未成功启动的业务应用程序,则控制所述未成功启动的业务应用程序重新启动。
3.根据权利要求1所述的方法,其特征在于,所述根据读取到的所述运行状态信息,确定各所述业务应用程序是否出现运行故障,包括:
确定读取到的所述运行状态信息是否存在故障状态信息,所述故障状态信息用于表征业务应用程序在运行过程中出现故障;
若读取到的所述运行状态信息存在所述故障状态信息,则将所述故障状态信息对应的业务应用程序作为出现故障的所述目标业务应用程序。
4.根据权利要求3所述的方法,其特征在于,所述根据读取到的所述目标业务应用程序的运行状态信息确定故障排除策略,包括:
若所述目标业务应用程序对应的所述故障状态信息包括重启标识,则将重启所述目标业务应用程序作为所述故障排除策略;
对应地,所述根据所述故障排除策略对所述目标业务应用程序进行修复,包括:
对所述目标业务应用程序进行重启。
5.根据权利要求3所述的方法,其特征在于,所述根据读取到的所述目标业务应用程序的运行状态信息确定故障排除策略,包括:
若所述目标业务应用程序对应的所述故障状态信息包括文件错误标识,则将修复文件作为所述故障排除策略;
对应地,所述根据所述故障排除策略对所述目标业务应用程序进行修复,包括:
对与所述目标业务应用程序运行相关的目标文件进行修复。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
检测所述目标文件是否修复成功;
若所述目标文件修复失败,则删除所述目标文件并重启所述目标业务应用程序。
7.根据权利要求3所述的方法,其特征在于,所述根据读取到的所述目标业务应用程序的运行状态信息确定故障排除策略,包括:
若所述目标业务应用程序对应的所述故障状态信息包括硬件组件错误标识,则将初始化硬件组件和重启所述目标业务应用程序作为所述故障排除策略;
对应地,所述根据所述故障排除策略对所述目标业务应用程序进行修复,包括:
初始化所述目标业务应用程序调用的硬件组件,并对所述目标业务应用程序进行重启。
8.一种双芯智能电表管理单元的自恢复装置,其特征在于,所述装置包括:
第一读取模块,用于读取共享管道文件中存储的各业务应用程序的运行状态信息,其中,所述共享管道文件用于供电表中安装的各所述业务应用程序将各所述业务应用程序的运行状态信息写入所述共享管道文件;
第一确定模块,用于根据读取到的所述运行状态信息,确定各所述业务应用程序是否出现运行故障;
第二确定模块,用于在各所述业务应用程序中的目标业务应用程序出现运行故障的情况下,根据读取到的所述目标业务应用程序的运行状态信息确定故障排除策略;
修复模块,用于根据所述故障排除策略对所述目标业务应用程序进行修复。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110175332.3A 2021-02-07 2021-02-07 双芯智能电表管理单元的自恢复方法、装置和计算机设备 Pending CN112905375A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110175332.3A CN112905375A (zh) 2021-02-07 2021-02-07 双芯智能电表管理单元的自恢复方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110175332.3A CN112905375A (zh) 2021-02-07 2021-02-07 双芯智能电表管理单元的自恢复方法、装置和计算机设备

Publications (1)

Publication Number Publication Date
CN112905375A true CN112905375A (zh) 2021-06-04

Family

ID=76122869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110175332.3A Pending CN112905375A (zh) 2021-02-07 2021-02-07 双芯智能电表管理单元的自恢复方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN112905375A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567518A (zh) * 2022-02-15 2022-05-31 深圳绿米联创科技有限公司 设备状态的提示方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567518A (zh) * 2022-02-15 2022-05-31 深圳绿米联创科技有限公司 设备状态的提示方法、装置、电子设备及存储介质
CN114567518B (zh) * 2022-02-15 2024-03-12 深圳绿米联创科技有限公司 设备状态的提示方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN112948157B (zh) 服务器故障定位方法、装置、***及计算机可读存储介质
CN105930236A (zh) 一种基于BMS Bootloader升级的应用程序版本回退方法
JP2014130585A (ja) ファームウェアアップグレードエラー検出および自動ロールバック
WO2023115999A1 (zh) 设备状态监控方法、装置、设备及计算机可读存储介质
CN111881014B (zh) 一种***测试方法、装置、存储介质及电子设备
US10261720B2 (en) Method for optimizing the use of a non-volatile memory in a motor vehicle computer for monitoring a functional member
CN102369513A (zh) 提高计算机***稳定性的方法及计算机***
CN114816022B (zh) 一种服务器电源异常监控方法、***及存储介质
US8984333B2 (en) Automatic computer storage medium diagnostics
CN113672306B (zh) 服务器组件自检异常恢复方法、装置、***及介质
CN111767172A (zh) 一种基于看门狗及bootloader的机顶盒自修复办法
CN114942859A (zh) 节点故障的处理方法、装置、设备、介质和程序产品
CN111651304A (zh) 基于双芯智能电表的软件恢复方法、装置和计算机设备
CN112905375A (zh) 双芯智能电表管理单元的自恢复方法、装置和计算机设备
CN109766207A (zh) 固件远程升级的恢复方法、装置、监控设备和存储介质
CN107273291B (zh) 一种处理器调试方法及***
CN114385418A (zh) 通信设备的保护方法、装置、设备和存储介质
CN112527343A (zh) 固件更新方法、装置、计算机设备和存储介质
CN109672573B (zh) 一种配置文件的部署方法、确定方法、服务器及存储介质
US20200379645A1 (en) Computing device operational control using monitored energy storage device health parameters
CN111858183A (zh) 一种电子设备的重启方法和装置
EP3754657B1 (en) Electronic control device
CN114978891B (zh) 网络设备bios配置的处理方法、设备及存储介质
CN117234787B (zh) ***级芯片运行状态监控方法及***
CN117472291B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230404

Address after: Full Floor 14, Unit 3, Building 2, No. 11, Middle Spectra Road, Huangpu District, Guangzhou, Guangdong 510700

Applicant after: China Southern Power Grid Digital Grid Technology (Guangdong) Co.,Ltd.

Address before: Room 86, room 406, No.1, Yichuang street, Zhongxin Guangzhou Knowledge City, Huangpu District, Guangzhou City, Guangdong Province

Applicant before: Southern Power Grid Digital Grid Research Institute Co.,Ltd.