一种程序的运行方法及运行装置制造方法及图纸

技术编号:27848333 阅读:16 留言:0更新日期:2021-03-30 13:04
本申请适用于程序运行的技术领域,提供一种程序的运行及运行装置,所述运行方法包括:在备份区中分别存储升级版本程序和非升级版本程序;根据预设标识确定当前阶段;校验运行区中运行程序的当前状态;若确定所述运行程序的所述当前状态为非正常状态,则将所述备份区中第一运行状态为正常的程序转移至所述运行区,并运行所述运行区中的程序;上述方案,通过在运行程序前,利用程序存储器空闲的存储空间预先存储升级版本程序和非升级版本程序。以在运行程序出现异常时,在预存的升级版本程序和非升级版本程序中,选择运行状态正常的程序进行运行,保证程序的无缝运行,防止出现运行暂停,导致设备无法正常工作等情况。导致设备无法正常工作等情况。导致设备无法正常工作等情况。

【技术实现步骤摘要】
一种程序的运行方法及运行装置


[0001]本申请属于程序运行的
,尤其涉及一种程序的运行方法、运行装置、终端设备以及计算机可读存储介质。

技术介绍

[0002]程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。然而,在程序的运行过程中,往往容易出现BUG(漏洞)或参数初始化错误等情况,导致产品出现崩溃等情况。在一些实时应用的场景中,例如:智能路灯等产品程序需实时运行,若程序运行过程中出现错误,则可能造成智能路灯无法正常工作。这是一个亟需解决的技术问题。

技术实现思路

[0003]有鉴于此,本申请实施例提供了一种程序的运行方法、运行装置、终端设备以及计算机可读存储介质,可以解决若程序运行过程中出现错误,则可能造成智能路灯无法正常工作的技术问题。
[0004]本申请实施例的第一方面提供了一种程序的运行方法,所述运行方法包括:
[0005]在备份区中分别存储升级版本程序和非升级版本程序;
[0006]根据预设标识确定当前阶段;所述当前阶段包括试运行阶段以及非试运行阶段;
[0007]校验运行区中运行程序的当前状态;所述运行区与所述备份区为程序存储器预先划分的存储区域;
[0008]若确定所述运行程序的所述当前状态为非正常状态,则将所述备份区中第一运行状态为正常的程序转移至所述运行区,并运行所述运行区中的程序;所述非正常状态包括所述运行区中运行程序的第二运行状态为异常或所述运行区中运行程序不为当前阶段对应的目标版本程序。/>[0009]本申请实施例的第二方面提供了一种程序的运行装置,所述运行装置包括:
[0010]存储单元,用于在备份区中分别存储升级版本程序和非升级版本程序;
[0011]第一判断单元,用于根据预设标识确定当前阶段;所述当前阶段包括试运行阶段以及非试运行阶段;
[0012]校验单元,用于校验运行区中运行程序的当前状态;所述运行区与所述备份区为程序存储器预先划分的存储区域;
[0013]第二判断单元,用于若确定所述运行程序的所述当前状态为非正常状态,则将所述备份区中第一运行状态为正常的程序转移至所述运行区,并运行所述运行区中的程序;所述非正常状态包括所述运行区中运行程序的第二运行状态为异常或所述运行区中运行程序不为当前阶段对应的目标版本程序。
[0014]本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时
实现上述第一方面所述方法的步骤。
[0015]本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述方法的步骤。
[0016]本申请实施例与现有技术相比存在的有益效果是:本申请通过,在备份区中分别存储升级版本程序和非升级版本程序;根据预设标识确定当前阶段;所述当前阶段包括试运行阶段以及非试运行阶段;校验运行区中运行程序的当前状态;所述运行区与所述备份区为程序存储器预先划分的存储区域;若确定所述运行程序的所述当前状态为非正常状态,则将所述备份区中第一运行状态为正常的程序转移至所述运行区,并运行所述运行区中的程序;所述非正常状态包括所述运行区中运行程序的第二运行状态为异常或所述运行区中运行程序不为当前阶段对应的目标版本程序。上述方案,通过在运行程序前,利用程序存储器空闲的存储空间预先存储升级版本程序和非升级版本程序。以在运行程序出现异常时,在预存的升级版本程序和非升级版本程序中,选择运行状态正常的程序进行运行,保证程序的无缝运行,防止出现运行暂停,导致设备无法正常工作等情况。
附图说明
[0017]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0018]图1示出了本申请提供的一种程序的运行方法的示意性流程图;
[0019]图2示出了本申请提供的一种FLASH分区的示意图;
[0020]图3示出了本申请提供的获取升级版本程序的示意性流程图;
[0021]图4示出了本申请提供的一种程序的运行方法中步骤104具体示意性流程图;
[0022]图5示出了本申请提供的一种程序的运行方法中步骤104具体示意性流程图;
[0023]图6示出了本申请提供的一种程序的运行方法中步骤104具体示意性流程图;
[0024]图7示出了本申请提供的一种程序的运行方法中步骤104具体示意性流程图;
[0025]图8示出了本申请提供的另一种程序的运行方法的示意性流程图;
[0026]图9示出了本申请提供的一种程序的运行装置的示意图;
[0027]图10是本专利技术一实施例提供的一种终端设备的示意图。
具体实施方式
[0028]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0029]本申请适用于多种应用场景,为了更好地解释本申请的技术方案,本申请以智能路灯的应用场景为例,对本方案进行解释说明。
[0030]智能路灯是指具有入网能力的路灯设备,可实现远程升级等功能。在智能路灯过
程升级或正常运行的过程中,由于容易出现BUG(漏洞)或参数初始化错误等情况,导致智能路灯无法正常工作,引发一系列连带反应。故本申请提供了一种程序的运行方法、装置、终端设备以及计算机可读存储介质,可以解决上述技术问题。
[0031]请参见图1,图1示出了本申请提供的一种程序的运行方法的示意性流程图。
[0032]如图1所示,该方法可以包括如下步骤:
[0033]步骤101,在备份区中分别存储升级版本程序和非升级版本程序。
[0034]备份区是指程序存储器中预先划分的存储区域。其中,程序存储器包括但不限于闪存(FLASH,Flash Memory)或运行内存(RAM,Random Access Memory)等一种或多种存储器之间的组合。为了更好地解释本申请的技术方案,本申请以FLASH为例,对本申请的技术方案进行解释说明。其中,FLASH是一种不挥发性(Non

Volatile)内存,在没有电流供应的条件下也能够长久地保持数据,常应用于单片机中,用于运行程序。
[0035]本申请对FLASH进行分区,以分别存储升级版本程序和非升级版本程序。可以理解的是,非升级版本程序为旧版本程序。
[0036]示例性地,本申请对FLASH本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种程序的运行方法,其特征在于,所述运行方法包括:在备份区中分别存储升级版本程序和非升级版本程序;根据预设标识确定当前阶段;所述当前阶段包括试运行阶段以及非试运行阶段;校验运行区中运行程序的当前状态;所述运行区与所述备份区为程序存储器预先划分的存储区域;若确定所述运行程序的所述当前状态为非正常状态,则将所述备份区中第一运行状态为正常的程序转移至所述运行区,并运行所述运行区中的程序;所述非正常状态包括所述运行区中运行程序的第二运行状态为异常或所述运行区中运行程序不为当前阶段对应的目标版本程序。2.如权利要求1所述运行方法,其特征在于,当所述当前阶段为试运行阶段,所述非正常状态为所述运行区中运行程序的第二运行状态为异常时;试运行阶段对应的目标版本程序为升级版本程序;所述若确定所述运行程序的所述当前状态为非正常状态,则将所述备份区中第一运行状态为正常的程序转移至所述运行区,并运行所述运行区中的程序,包括:若确定所述运行区中的所述运行程序为所述升级版本程序,则确定所述运行区中运行程序的第二运行状态是否正常;若确定所述运行区中运行程序的第二运行状态为异常,则校验所述备份区中所述升级版本程序的第三运行状态;若确定所述第三运行状态为正常,则将所述备份区中所述升级版本程序转移至所述运行区,并运行所述运行区中的程序;若确定所述第三运行状态为异常,则校验所述备份区中所述非升级版本程序的第四运行状态;若确定所述第四运行状态为正常,则将所述备份区中所述非升级版本程序转移至所述运行区,并运行所述运行区中的程序。3.如权利要求1所述运行方法,其特征在于,当所述当前阶段为试运行阶段,所述非正常状态为运行区中运行程序不为当前阶段对应的目标版本程序时;试运行阶段对应的目标版本程序为升级版本程序;所述若确定所述运行程序的所述当前状态为非正常状态,则将所述备份区中第一运行状态为正常的程序转移至所述运行区,并运行所述运行区中的程序,包括:若确定所述运行区中的所述运行程序不为所述升级版本程序,则校验所述备份区中所述升级版本程序的第三运行状态;若确定所述第三运行状态为正常,则将所述备份区中所述升级版本程序转移至所述运行区,并运行所述运行区中的程序;若确定所述第三运行状态为异常,则校验所述备份区中所述非升级版本程序的第四运行状态;若确定所述第四运行状态为正常,则将所述备份区中所述非升级版本程序转移至所述运行区,并运行所述运行区中的程序。4.如权利要求1所述运行方法,其特征在于,当所述当前阶段为所述非试运行阶段,所述非正常状态为所述运行区中运行程序的第二运行状态为异常时;非试运行阶段对应的目
标版本程序为非升级版本程序;所述若确定所述运行程序的所述当前状态为非正常状态,则将所述备份区中第一运行状态为正常的程序转移至所述运行区,并运行所述运行区中的程序,包括:若确定所述运行区中的所述运行程序为所述非升级版本程序,则确定所述运行区中运行程序的第二运行状态是否正常;若确定所述运行区中运行程序的第二运行...

【专利技术属性】
技术研发人员:吴跃煊刘能周旺
申请(专利权)人:合安科技技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1