CN111651304A - 基于双芯智能电表的软件恢复方法、装置和计算机设备 - Google Patents

基于双芯智能电表的软件恢复方法、装置和计算机设备 Download PDF

Info

Publication number
CN111651304A
CN111651304A CN202010685998.9A CN202010685998A CN111651304A CN 111651304 A CN111651304 A CN 111651304A CN 202010685998 A CN202010685998 A CN 202010685998A CN 111651304 A CN111651304 A CN 111651304A
Authority
CN
China
Prior art keywords
software
electric meter
intelligent electric
backup
double
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.)
Granted
Application number
CN202010685998.9A
Other languages
English (en)
Other versions
CN111651304B (zh
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 CN202010685998.9A priority Critical patent/CN111651304B/zh
Publication of CN111651304A publication Critical patent/CN111651304A/zh
Application granted granted Critical
Publication of CN111651304B publication Critical patent/CN111651304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种基于双芯智能电表的软件恢复方法、装置、计算机设备和存储介质。通过在检测到双芯智能电表系统中的软件出现异常,访问双芯智能电表的存储器的备份目录,从中获取软件对应的备份文件,并根据备份文件中的软件对应的最近正常版本以及最近正常版本的安装信息,生成恢复请求文件,重启双芯智能电表的系统,在重启系统后,根据恢复请求文件将最近正常版本最为软件的目标版本,在系统中按照恢复请求文件中的安装信息更新软件,从而将软件恢复至目标版本。相较于传统的对异常软件的处理方法,本方案可以实现双芯智能电表系统的软件异常时,对异常软件进行可靠恢复的效果。

Description

基于双芯智能电表的软件恢复方法、装置和计算机设备
技术领域
本申请涉及计算机软件技术领域,特别是涉及一种基于双芯智能电表的软件恢复方法、装置、计算机设备和存储介质。
背景技术
电力是以电能作为动力的能源,是世界发生的三次科技革命之一,随着互联网时代的带来,新技术的不断出现,电力已经成为人们生活以及国家生产的必需品。电力通常通过电力系统进行生产和维护等工作、电力系统中一个重要的设备便是电能表,因此保证电力系统可以正常运行的重中之重是要保证电能表的正常运行。
双芯智能电表是电能表的一种,为保证电能表的正常运行,通常需要对电能表中的应用程序进行升级和更新,目前,我国电能表为一体化设计,即计量部分和非计量部分不做独立工作要求,这种电能表软件系统比较固化,且与硬件平台强耦合,并且按照IR46标准的要求,电能表的管理芯和计量芯应互相分离,不允许电能表计量芯软件在线升级,但管理芯相关软件需要系统更新完成迭代升级,在升级过程中如遇到异常断电等极端状况,对系统软硬件的损害比较大,进而导致硬件中软件被损害,无法保证电能表中软件的正常运行。
因此,如何保证电能表中的软件遇到异常时,实现软件的恢复成为了亟需解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在电能表中软件遇到异常时,实现软件恢复的基于双芯智能电表的软件恢复方法、装置、计算机设备和存储介质。
一种基于双芯智能电表的软件恢复方法,所述方法包括:
检测到双芯智能电表系统中的软件出现异常,访问所述双芯智能电表的存储器的备份目录,从中获取所述软件对应的备份文件;所述备份文件中包含所述软件对应的最近正常版本以及所述最近正常版本的安装信息;所述备份目录中存储有所述双芯智能电表系统中各软件对应的备份文件;
根据所述备份文件,生成恢复请求文件,重启所述双芯智能电表的系统;
在重启系统之后,根据所述恢复请求文件,以所述最近正常版本作为所述软件的目标版本,在所述双芯智能电表系统中按照所述安装信息更新所述软件,以将所述软件恢复至所述目标版本。
在其中一个实施例中,还包括:
当所述软件首次启动成功时,获取所述软件对应的镜像软件、启动参数以及安装信息文件;根据所述镜像软件、启动参数以及安装信息文件,得到所述软件对应的备份文件;
将所述备份文件存储到所述备份目录中。
在其中一个实施例中,所述当所述软件首次启动成功时,获取所述软件对应的镜像软件、启动参数以及安装信息文件之前,还包括:
获取出厂固件制作设备针对所述双芯智能电表制作的软件;
将所述软件烧写至所述双芯智能电表系统中,得到所述软件的出厂版本。
在其中一个实施例中,还包括:
接收用户触发的系统启动指令,启动所述双芯智能电表系统以及系统中的软件;
检测所述软件是否启动成功;当所述软件启动失败时,确定所述双芯智能电表系统中的软件出现异常。
在其中一个实施例中,还包括:
获取所述软件对应的升级请求文件,所述升级请求文件用于将所述软件升级至最新版本;
根据所述升级请求文件,升级所述软件;
当所述软件的升级完成时,重启所述双芯智能电表系统,以启动升级完成的所述软件;
若检测到升级完成的所述软件启动失败,确定所述双芯智能电表系统中的软件出现异常。
在其中一个实施例中,还包括:
若确定所述软件升级成功,获取升级成功的所述软件对应的镜像软件、启动参数以及安装信息文件,形成新的备份文件,存储至所述备份目录中,以更新所述备份目录中所述软件对应的备份文件。
在其中一个实施例中,所述在重启系统之后,根据所述恢复请求文件,以所述最近正常版本作为所述软件的目标版本,在所述双芯智能电表系统中按照所述安装信息更新所述软件,包括:
根据所述恢复请求文件,获取所述软件对应的最近正常版本以及所述最近正常版本的安装信息;
根据所述最近正常版本以及所述安装信息,调用所述双芯智能电表系统的更新接口,所述更新接口用于以所述最近正常版本作为所述软件的目标版本,在所述双芯智能电表系统中按照所述安装信息更新所述软件;
重启所述双芯智能电表系统,以启动更新完成后的所述软件。
一种基于双芯智能电表的软件恢复装置,所述装置包括:
获取模块,用于检测到双芯智能电表系统中的软件出现异常,访问所述双芯智能电表的存储器的备份目录,从中获取所述软件对应的备份文件;所述备份文件中包含所述软件对应的最近正常版本以及所述最近正常版本的安装信息;所述备份目录中存储有所述双芯智能电表系统中各软件对应的备份文件;
生成模块,用于根据所述备份文件,生成恢复请求文件,重启所述双芯智能电表的系统;
恢复模块,用于在重启系统之后,根据所述恢复请求文件,以所述最近正常版本作为所述软件的目标版本,在所述双芯智能电表系统中按照所述安装信息更新所述软件,以将所述软件恢复至所述目标版本。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述基于双芯智能电表的软件恢复方法、装置、计算机设备和存储介质,通过在检测到双芯智能电表系统中的软件出现异常,访问双芯智能电表的存储器的备份目录,从中获取软件对应的备份文件,并根据备份文件中的软件对应的最近正常版本以及最近正常版本的安装信息,生成恢复请求文件,重启双芯智能电表的系统,在重启系统后,根据恢复请求文件将最近正常版本最为软件的目标版本,在系统中按照恢复请求文件中的安装信息更新软件,从而将软件恢复至目标版本。相较于传统的对异常软件的处理方法,本方案利用备份目录中的备份文件形成恢复请求文件,对发生异常的软件通过回滚至最近正常版本的方式恢复至正常版本,从而可以实现双芯智能电表系统的软件异常时,对异常软件进行可靠恢复的效果。
附图说明
图1为一个实施例中基于双芯智能电表的软件恢复方法的应用环境图;
图2为一个实施例中基于双芯智能电表的软件恢复方法的流程示意图;
图3为一个实施例中双芯智能电表存储器的结构示意图;
图4为另一个实施例中基于双芯智能电表的软件恢复方法的流程示意图;
图5为一个实施例中基于双芯智能电表的软件恢复装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于双芯智能电表的软件恢复方法,可以应用于如图1所示的应用环境中。其中,双芯智能电表中的内核100可以与存储器104进行通信。内核100可以在检测到双芯智能电表系统中的软件出现异常时,访问存储器104中的备份目录并获取其中的备份文件,并且可以根据备份文件生成恢复请求文件,并在重启系统后,利用恢复请求文件,将异常的软件更新为最近正常版本,从而实现异常软件的恢复。其中,内核100可以由处理器、外部接口和时钟等组成,存储器104可以包括由一个存储器或多个存储器组成。
在一个实施例中,如图2所示,提供了一种基于双芯智能电表的软件恢复方法,以该方法应用于图1中的内核为例进行说明,包括以下步骤:
步骤S202,检测到双芯智能电表系统中的软件出现异常,访问双芯智能电表的存储器的备份目录,从中获取软件对应的备份文件;备份文件中包含软件对应的最近正常版本以及最近正常版本的安装信息;备份目录中存储有双芯智能电表系统中各软件对应的备份文件。
其中,双芯智能电表可以是计量功能和非计量功能相互独立的电能表,符合IR46标准。备份目录可以是存储在上述存储器104中的目录,备份目录中可以存储有备份文件,备份文件可以由上述软件的最近正常版本以及上述最近正常版本的安装信息组成,最近正常版本可以是上述软件可以正常启动和运行的最新版本,安装信息可以是该软件在进行更新或升级时,需要进行的安装动作。备份恢复文件104可以检测上述双芯智能电表系统中的软件是否出现异常,当出现异常时,可以访问在存储器104中的备份目录,并在该目录中获取软件对应的备份文件,由于上述系统中有多个软件,因此备份目录中可以存储有双芯智能电表系统中各个软件对应的备份文件。
在一个实施例中,上述存储器的结构可以如图3所示,图3为一个实施例中双芯智能电表存储器的结构示意图。该存储器可以是一种非易失性存储器,例如NorFlash,NorFlash可以是一种非易失性闪存,它提供完整的寻址与数据总线,并允许随机存取存储器上的任何区域。上述双芯智能电表中的NorFlash可以分为内部NorFlash和外部NorFlash,其中内部NorFlash可以存储上述软件的出厂版本,外部NorFlash可以存储上述软件的备份相关信息以及升级相关信息,具体地,外部NorFlash可以存放电表业务数据、待升级软件的镜像以及软件的最近正常版本等。
步骤S204,根据备份文件,生成恢复请求文件,重启双芯智能电表的系统。
其中,备份文件可以是存储在上述存储器104中的文件,其中可以包括软件的最近正常版本,内核100可以根据上述备份文件,生成恢复请求文件,并重启上述双芯智能电表的系统。其中,恢复请求文件可以是用于对上述异常软件进行版本恢复的文件,内核100检测到恢复请求文件后,可以利用该恢复请求文件中包含的上述异常软件的备份文件,对异常软件进行恢复。
步骤S206,在重启系统之后,根据恢复请求文件,以最近正常版本作为软件的目标版本,在系统中按照安装信息更新软件,以将软件恢复至目标版本。
其中,恢复请求文件可以是内核100生成的用于对异常软件进行版本恢复的文件,在生成恢复请求文件,并重启上述系统后,根据恢复请求文件,将其中的软件对应的最近正常版本作为软件的目标版本,在系统中按照上述软件对应的安装信息,更新上述软件,例如可以调用系统中的更新接口对软件进行版本的恢复,从而将异常软件恢复至目标版本,即最近正常版本。即内核100可以将恢复请求文件作为上述软件的下一次更新用到的文件,并在重启后的系统中对软件进行更新,实现软件的异常恢复。
上述基于双芯智能电表的软件恢复方法中,通过在检测到双芯智能电表系统中的软件出现异常,访问双芯智能电表的存储器的备份目录,从中获取软件对应的备份文件,并根据备份文件中的软件对应的最近正常版本以及最近正常版本的安装信息,生成恢复请求文件,重启双芯智能电表的系统,在重启系统后,根据恢复请求文件将最近正常版本最为软件的目标版本,在系统中按照恢复请求文件中的安装信息更新软件,从而将软件恢复至目标版本。相较于传统的对异常软件的处理方法,本方案利用备份目录中的备份文件形成恢复请求文件,对发生异常的软件通过更新的方式恢复至正常版本,从而可以实现双芯智能电表系统的软件异常时,对异常软件进行可靠恢复的效果。
在一个实施例中,还包括:当软件首次启动成功时,获取软件对应的镜像软件、启动参数以及安装信息文件;根据镜像软件、启动参数以及安装信息文件,得到软件对应的备份文件;将备份文件存储到备份目录中。
本实施例中,首次启动可以是在上述软件在安装至双芯智能电表后的第一次启动,镜像软件可以是一种文件存储形式,具体地,可以是上述软件对应的镜像软件,启动参数可以是上述软件在启动时需要用到的参数,内核100可以根据启动参数,启动上述软件,安装信息文件可以是上述软件在安装时需要进行的相关动作以及软件在安装时用到的相关信息。内核100可以在上述双芯智能电表系统中的软件首次启动成功时,获取启动成功的软件对应的镜像软件、该软件的启动参数和安装信息文件,具体地,可以从上述存储器中的内部NorFlash中获取,内核100在获取上述镜像软件、启动参数和安装信息文件后,可以得到上述软件对应的备份文件,将该备份文件存储至备份目录中。具体地,当上述双芯智能电表首次启动上述软件时,可以打包该软件的镜像软件、启动参数和升级动作文件,即安装信息文件,形成上述备份文件,并根据该软件的External-Fs path,即外部文件路径,复制到备份目录,例如备份目录/nor/backup/。
通过本实施例,双芯智能电表中的内核100将首次启动成功的软件进行备份存储,得到该软件对应的备份文件,从而确保了该软件的首个稳定版本的备份,使得上述软件在异常时可以实现软件的恢复。
在一个实施例中,当软件首次启动成功时,获取软件对应的镜像软件、启动参数以及安装信息文件之前,还包括:获取出厂固件制作设备针对双芯智能电表制作的软件;将软件烧写至所述双芯智能电表系统中,得到软件的出厂版本。
本实施例中,镜像软件可以是上述软件对应的镜像文件,启动参数可以是上述软件启动时需要的参数,安装信息文件可以是上述软件在更新或安装时的安装动作和需要用到的信息。出厂固件制作设备可以是用于制作上述软件的出厂版本的设备。出厂固件设备可以制作上述双芯智能电表中的各个软件的出厂版本,并且可以将制作完成的软件发送至双芯智能电表中,内核100可以将出厂固件设备发送的出厂版本的软件烧写至双芯智能电表系统中,从而得到上述软件的出厂版本。具体地,内核100可以将上述软件的出厂版本烧写进系统中上述存储器的内部NorFlash存储器,并将软件和启动参数的外部文件路径设置为“/nor/backup/firmware/文件名”,同时还可以打包一个update_actions升级动作文件,即上述安装信息文件,该文件的外部文件路径可以是“/nor/backup/update_actions”,该安装信息文件可以表示上述软件在恢复时需要执行哪些安装动作。
通过本实施例,双芯智能电表可以将出厂固件制作设备发送的出厂版本的软件烧写进存储器中,得到上述双芯智能电表中各个软件的出厂版本,从而保证了上述双芯智能电表中的软件可以正常运行。
在一个实施例中,还包括:接收用户触发的系统启动指令,启动双芯智能电表系统以及系统中的软件;检测软件是否启动成功;当软件启动失败时,确定双芯智能电表系统中的软件出现异常。
本实施例中,用户可以是双芯智能电表的使用者,例如电厂的工作人员,系统启动指令可以是上述双芯智能电表系统的启动指令,可以用于启动上述双芯智能电表以及其中的软件。双芯智能电表中的内核100可以在接收到上述用户触发的系统启动指令后,启动上述双芯智能电表系统,以及系统中的各个软件,并且可以检测软件是否启动成功,当上述软件中的一个启动失败时,可以确定双芯智能电表中的软件出现异常,从而可以对出现异常的软件进行恢复。具体地,内核100可以在接收用户触发的系统启动指令后,启动上述系统,还可以判断备份目录是否存在,当备份目录存在时,即已完成首个稳定可运行版本的备份,可以启动参数文件“/flash/ms-boot-param.dtb”,启动系统中的各个软件,例如中间层服务和基础应用,当检测到软件启动失败时,可以确定软件发送异常,需要将软件恢复至最近的正常版本。
通过本实施例,双芯智能电表中的内核可以在系统启动后,软件启动失败时,确定软件发生异常,对软件进行恢复处理,从而实现了双芯智能电表中异常软件的可靠地恢复。
在一个实施例中,还包括:获取软件对应的升级请求文件,升级请求文件用于将软件升级至最新版本;根据升级请求文件,升级软件;当软件的升级完成时,重启系统,以启动升级完成的软件;若检测到升级完成的软件启动失败,确定双芯智能电表系统中的软件出现异常。
本实施例中,升级请求文件可以是用于令上述软件进行正常升级的文件,升级请求文件中可以包括有上述软件对应的升级版本的镜像软件、启动参数和升级动作文件,其中启动参数可以是上述软件升级后,在启动时需要的参数,升级动作文件可以是上述软件在升级时需要执行的动作。内核100可以获取上述软件对应的升级请求文件,并根据升级请求文件,升级上述软件,升级完成后,可以重启上述系统,并启动升级完成的软件,当检测到软件启动失败时,可以确定双芯智能电表系统中的软件出现异常。具体地,内核100可以在升级完成后,系统再次启动时,可以检测软件是否启动成功,例如可以检测升级动作文件update_actions中是否包含err错误码信息,其中升级动作文件中可以包括有启动动作,若包含错误信息,即启动失败,可以确定软件出现异常,并可以对软件进行恢复。
通过本实施例,双芯智能电表中的内核可以在系统软件升级后,升级的软件启动失败时,确定软件发生异常,对软件进行恢复处理,从而实现了双芯智能电表中异常软件的可靠地恢复。
在一个实施例中,还包括:若确定软件升级成功,获取升级成功的软件对应的镜像软件、启动参数以及安装信息文件,形成新的备份文件,存储至备份目录中,以更新备份目录中软件对应的备份文件。
本实施例中,上述软件可以通过升级请求文件进行升级,在内核100对软件进行升级后,可以判断升级后的软件是否升级成功,具体地,可以通过判断升级后的软件是否能正常启动或升级动作文件中是否包含错误码信息来确定,当升级后的软件可以正常启动或者升级动作文件中不包含错误码信息时,可以确定软件升级成功,内核100可以获取升级成功的软件对应的镜像软件、启动参数文件以及升级动作文件,并将其存储至备份目录中,替换该软件对应的旧的备份文件,从而可以实现该软件对应的备份文件的更新。
通过本实施例,内核可以通过将升级成功的软件对应的相关文件存储至备份目录中,从而更新该软件对应的备份文件,实现在该软件异常时可以进行可靠稳定的恢复。
在一个实施例中,在重启系统之后,根据恢复请求文件,以最近正常版本作为软件的目标版本,在系统中按照安装信息更新软件,包括:根据恢复请求文件,获取软件对应的最近正常版本以及最近正常版本的安装信息;根据最近正常版本以及安装信息,调用系统的更新接口,更新接口用于以最近正常版本作为软件的目标版本,在系统中按照安装信息更新软件;重启系统,以启动更新完成后的软件。
本实施例中,恢复请求文件可以是用于对上述软件进行版本恢复的文件,其中可以包括上述软件最近正常版本,还可以包括该软件对应的安装信息文件。内核100可以将上述恢复请求文件中的最近正常版本作为该软件的目标版本,在上述双芯智能电表的系统中按照恢复请求文件中的安装信息,调用系统的更新接口,通过更新接口对上述软件进行版本恢复,即恢复至上述恢复请求文件中的最近正常版本,更新完成后,内核100可以重启上述系统,从而启动上述更新完成后的软件。具体地,内核100可以预设的传输协议接收恢复请求文件中的镜像软件到待更新目录“/nor/update/”,再调用系统更新接口对上述软件进行更新。
通过本实施例,内核100可以通过调用双芯智能电表系统中的系统更新接口对异常的软件更新至正常的版本,从而实现了异常软件的可靠稳定的恢复。
在一个实施例中,如图4所示,图4为另一个实施例中基于双芯智能电表的软件恢复方法的流程示意图。本实施例中,出厂固件制作设备可以制作上述双芯智能电表的出厂固件,其中可以包括双芯智能电表中各个软件的出厂版本,还可以将出厂固件发送至双芯智能电表系统中,使得内核100可以将固件烧写至上述系统中,具体地,可以是烧写至内部NorFlash中,还可以在烧写后,将上述软件的出厂版本复制至备份目录中,得到软件的出厂版本的备份文件。
内核100可以通过BSP(Board Support Package,板级支持包)启动,BSP可以是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP。系统启动后,可以检测备份目录是否存在,若不存在,则将出厂版本的软件存储至备份目录中,若存在,则启动软件启动脚本,检测相关软件或者管理单元服务是否正常启动,若是,则可以结束流程,否则,可以执行软件恢复的流程,将软件恢复至上一个稳定的版本。其中管理单元服务可以是管理上述软件的服务。
系统中的软件还可以进行升级,在升级时,内核100可以接收需要升级软件的镜像软件至待升级目录,其中软件中可以包括各种服务和应用,再调用系统接口升级,升级完成后,可以通过检查升级后的软件的启动情况或升级动作文件中的错误码信息,确定是否升级成功,若可以正常启动或升级动作文件中没有错误码信息,则可以确定升级成功,将升级成功的软件对应的镜像软件、启动参数文件和升级动作文件存储至备份目录中,从而更新该软件对应的备份文件,若没有升级成功,则可以执行软件恢复流程,将软件恢复至上一个稳定的版本。
其中,软件恢复流程可以是,通过内核100通过函数meter_process_check()检查软件是否正常启动,若否,可以执行meter_restore()函数恢复到上一版本,在meter_restore()函数中,检查恢复动作文件,即上述安装信息文件是否存在,若存在,则可以将其路径写入恢复请求文件ms_io_creat(BSP_CFG_UPDATE_REQ_FILE,0666),再调用操作系统更新函数进行稳定版本软件的更新。
通过本实施例,内核100可以在软件启动失败或升级失败时,利用该软件对应的备份文件以及恢复请求文件,将软件恢复至上一个正常版本,从而实现了异常软件的可靠稳定的恢复。
应该理解的是,虽然图2和图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种基于双芯智能电表的软件恢复装置,包括:获取模块500、生成模块502和恢复模块504,其中:
获取模块500,用于检测到双芯智能电表系统中的软件出现异常,访问双芯智能电表的存储器的备份目录,从中获取软件对应的备份文件;备份文件中包含软件对应的最近正常版本以及最近正常版本的安装信息;备份目录中存储有双芯智能电表系统中各软件对应的备份文件。
生成模块502,用于根据备份文件,生成恢复请求文件,重启双芯智能电表的系统。
恢复模块504,用于在重启系统之后,根据恢复请求文件,以最近正常版本作为软件的目标版本,在系统中按照安装信息更新软件,以将软件恢复至目标版本。
在一个实施例中,上述装置还包括:备份模块,用于当软件首次启动成功时,获取软件对应的镜像软件、启动参数以及安装信息文件;根据镜像软件、启动参数以及安装信息文件,得到软件对应的备份文件;将备份文件存储到备份目录中。
在一个实施例中,上述装置还包括:存储模块,用于获取出厂固件制作设备针对双芯智能电表制作的软件;将软件烧写至双芯智能电表系统中,得到软件的出厂版本。
在一个实施例中,上述装置还包括:第一检测模块,用于接收用户触发的系统启动指令,启动双芯智能电表系统以及系统中的软件;检测软件是否启动成功;当软件启动失败时,确定双芯智能电表系统中的软件出现异常。
在一个实施例中,上述装置还包括:第二检测模块,用于获取软件对应的升级请求文件,升级请求文件用于将软件升级至最新版本;根据升级请求文件,升级软件;当软件的升级完成时,重启系统,以启动升级完成的软件;若检测到升级完成的软件启动失败,确定双芯智能电表系统中的软件出现异常。
在一个实施例中,上述装置还包括:更新模块,用于若确定软件升级成功,获取升级成功的软件对应的镜像软件、启动参数以及安装信息文件,形成新的备份文件,存储至备份目录中,以更新备份目录中软件对应的备份文件。
在一个实施例中,上述恢复模块504,具体用于根据恢复请求文件,获取软件对应的最近正常版本以及最近正常版本的安装信息;根据最近正常版本以及所述安装信息,调用系统的更新接口,更新接口用于以最近正常版本作为软件的目标版本,在系统中按照安装信息更新软件;重启系统,以启动更新完成后的软件。
关于基于双芯智能电表的软件恢复装置的具体限定可以参见上文中对于基于双芯智能电表的软件恢复方法的限定,在此不再赘述。上述基于双芯智能电表的软件恢复装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储双芯智能电表系统中的软件数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于双芯智能电表的软件恢复方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上述的基于双芯智能电表的软件恢复方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于双芯智能电表的软件恢复方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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.根据权利要求2所述的方法,其特征在于,所述当所述软件首次启动成功时,获取所述软件对应的镜像软件、启动参数以及安装信息文件之前,还包括:
获取出厂固件制作设备针对所述双芯智能电表制作的软件;
将所述软件烧写至所述双芯智能电表系统中,得到所述软件的出厂版本。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收用户触发的系统启动指令,启动所述双芯智能电表系统以及系统中的软件;
检测所述软件是否启动成功;当所述软件启动失败时,确定所述双芯智能电表系统中的软件出现异常。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取所述软件对应的升级请求文件,所述升级请求文件用于将所述软件升级至最新版本;
根据所述升级请求文件,升级所述软件;
当所述软件的升级完成时,重启所述双芯智能电表系统,以启动升级完成的所述软件;
若检测到升级完成的所述软件启动失败,确定所述双芯智能电表系统中的软件出现异常。
6.根据权利要求5所述的方法,其特征在于,还包括:
若确定所述软件升级成功,获取升级成功的所述软件对应的镜像软件、启动参数以及安装信息文件,形成新的备份文件,存储至所述备份目录中,以更新所述备份目录中所述软件对应的备份文件。
7.根据权利要求1所述的方法,其特征在于,所述在重启系统之后,根据所述恢复请求文件,以所述最近正常版本作为所述软件的目标版本,在所述双芯智能电表系统中按照所述安装信息更新所述软件,包括:
根据所述恢复请求文件,获取所述软件对应的最近正常版本以及所述最近正常版本的安装信息;
根据所述最近正常版本以及所述安装信息,调用所述双芯智能电表系统的更新接口,所述更新接口用于以所述最近正常版本作为所述软件的目标版本,在所述双芯智能电表系统中按照所述安装信息更新所述软件;
重启所述双芯智能电表系统,以启动更新完成后的所述软件。
8.一种基于双芯智能电表的软件恢复装置,其特征在于,所述装置包括:
获取模块,用于检测到双芯智能电表系统中的软件出现异常,访问所述双芯智能电表的存储器的备份目录,从中获取所述软件对应的备份文件;所述备份文件中包含所述软件对应的最近正常版本以及所述最近正常版本的安装信息;所述备份目录中存储有所述双芯智能电表系统中各软件对应的备份文件;
生成模块,用于根据所述备份文件,生成恢复请求文件,重启所述双芯智能电表的系统;
恢复模块,用于在重启系统之后,根据所述恢复请求文件,以所述最近正常版本作为所述软件的目标版本,在所述双芯智能电表系统中按照所述安装信息更新所述软件,以将所述软件恢复至所述目标版本。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010685998.9A 2020-07-16 2020-07-16 基于双芯智能电表的软件恢复方法、装置和计算机设备 Active CN111651304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010685998.9A CN111651304B (zh) 2020-07-16 2020-07-16 基于双芯智能电表的软件恢复方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010685998.9A CN111651304B (zh) 2020-07-16 2020-07-16 基于双芯智能电表的软件恢复方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN111651304A true CN111651304A (zh) 2020-09-11
CN111651304B CN111651304B (zh) 2024-02-27

Family

ID=72351845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010685998.9A Active CN111651304B (zh) 2020-07-16 2020-07-16 基于双芯智能电表的软件恢复方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN111651304B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579359A (zh) * 2020-12-24 2021-03-30 深圳市科力锐科技有限公司 业务系统重建方法、装置、设备及存储介质
CN112667643A (zh) * 2021-01-07 2021-04-16 南方电网数字电网研究院有限公司 基于双芯智能电表的掉电数据保存方法和装置
CN113688051A (zh) * 2021-08-31 2021-11-23 南方电网科学研究院有限责任公司 一种电能表软件升级测试方法和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377744A (zh) * 2008-09-24 2009-03-04 深圳华为通信技术有限公司 一种终端设备软件升级恢复方法及装置
CN104899065A (zh) * 2015-06-11 2015-09-09 武汉虹信通信技术有限责任公司 一种可批量软件在线恢复与软件在线升级的方法和系统
US20170206079A1 (en) * 2014-05-19 2017-07-20 Zte Corporation Method and Device for Upgrading Software
CN210804735U (zh) * 2019-12-30 2020-06-19 云丁网络技术(北京)有限公司 一种智能电表

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377744A (zh) * 2008-09-24 2009-03-04 深圳华为通信技术有限公司 一种终端设备软件升级恢复方法及装置
US20170206079A1 (en) * 2014-05-19 2017-07-20 Zte Corporation Method and Device for Upgrading Software
CN104899065A (zh) * 2015-06-11 2015-09-09 武汉虹信通信技术有限责任公司 一种可批量软件在线恢复与软件在线升级的方法和系统
CN210804735U (zh) * 2019-12-30 2020-06-19 云丁网络技术(北京)有限公司 一种智能电表

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579359A (zh) * 2020-12-24 2021-03-30 深圳市科力锐科技有限公司 业务系统重建方法、装置、设备及存储介质
CN112579359B (zh) * 2020-12-24 2024-05-03 深圳市科力锐科技有限公司 业务系统重建方法、装置、设备及存储介质
CN112667643A (zh) * 2021-01-07 2021-04-16 南方电网数字电网研究院有限公司 基于双芯智能电表的掉电数据保存方法和装置
CN112667643B (zh) * 2021-01-07 2023-09-15 南方电网数字电网研究院有限公司 基于双芯智能电表的掉电数据保存方法和装置
CN113688051A (zh) * 2021-08-31 2021-11-23 南方电网科学研究院有限责任公司 一种电能表软件升级测试方法和存储介质

Also Published As

Publication number Publication date
CN111651304B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
CN107844386B (zh) 一种数据备份、恢复方法及装置
CN111651304B (zh) 基于双芯智能电表的软件恢复方法、装置和计算机设备
CN105760165B (zh) 一种mcu自我备份加载刷新的方法
CN102609275A (zh) Bios更新系统及其方法
CN112433769A (zh) 一种bmc启动方法、装置、计算机设备及存储介质
CN111857777A (zh) 基于双芯智能电表的系统更新方法、装置和计算机设备
CN108628705B (zh) 数据库恢复方法、装置、计算机设备和存储介质
US12099612B2 (en) Firmware corruption recovery
CN117130672A (zh) 服务器启动流程控制方法、系统、终端及存储介质
CN109445800B (zh) 一种基于分布式系统的版本自动部署方法及系统
CN111913733A (zh) 制作自动升级包方法、装置、计算机设备和存储介质
WO2016131294A1 (zh) 版本升级处理方法及装置
CN116185510A (zh) 分区切换启动方法、阵列服务器和计算机可读存储介质
CN115827069A (zh) 服务器主板的启动控制方法、系统及装置
CN114356658A (zh) 固件升级异常的处理方法、计算机设备以及可读存储介质
CN114153503A (zh) 一种bios控制方法、装置、介质
CN113934573A (zh) 一种内存数据库的数据恢复方法及装置
CN113377425A (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
CN112099992A (zh) 服务器的系统备份恢复方法、装置、计算机设备及存储介质
CN112527327A (zh) 一种uos操作系统恢复出厂的方法、系统、终端及存储介质
WO2022050938A1 (en) Firmware event recovery
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备
CN109783150A (zh) 一种嵌入式系统启动防砖方法及装置
CN113805946B (zh) 用于安卓系统的非易失属性的处理方法、装置及电子设备
KR102142905B1 (ko) 통신 단말기의 사용자 파일 시스템 자동 복구 방법

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: Room 86, room 406, No.1, Yichuang street, Zhongxin Guangzhou Knowledge City, Huangpu District, Guangzhou City, Guangdong Province

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

Address before: 511458 Room 1301, Chengtou Building, 106 Fengze East Road, Nansha District, Guangzhou City, Guangdong Province (self-compiled 1301-12159)

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

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230420

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.

GR01 Patent grant
GR01 Patent grant