本发明涉及一种应用于智能电表上的app生命周期管理方法。
背景技术:
目前智能电表的程序主要由bootloader和业务应用程序组成,内部功能调度固化。现有的智能电表通常将bootloader与业务应用层程序组合成一个,然后将程序烧录到表中,实现表计功能。当需求变更或因为bug需要更新程序时,利用通讯或者插入存储介质等方式将新的业务应用程序告知表,表内的bootloader启动升级流程,擦除原有业务应用层程序,写入新的,实现程序的更新。
但表计的计量、显示、通讯、结算、事件等所有功能均在业务应用层程序中,所有功能无法单独更新,只能整体升级;同时表内的计量、显示、通讯、结算、事件等所有功能的调度逻辑代码在程序中已固化,外部不可控。
技术实现要素:
为了解决现有技术的不足,本发明提供了一种应用于智能电表上的app生命周期管理方法,可以通过外部通信方式对表进行多app的下载、安装、运行、停止、卸载等操作,以在有限资源的电表上实现功能的多样性,易更新。
为了实现上述目标,本发明采用如下方案:
一种应用于智能电表上的app生命周期管理方法,包括以下步骤:
电表上电,程序启动,bootloader程序运行;
bootloader程序运行完跳转应用层程序,初始化app调度器;
app调度器检测当前电表是否已安装app,如果已有app安装,则初始化app,将app信息挂载到调度队列中,置为app状态为就绪态;若没有app安装,则app调度器进入等待状态,准备接收安装app;
通过外部通信方式可对已安装的app进行操作;
app调度器接收到操作命令后,从执行列表中查找到对应的app,并执行相应操作,置为相应状态;
操作执行完后,app调度器进入等待状态,等待下次操作。
进一步地,通过外部通信方式对已安装的app进行的操作包括运行、停止和卸载。
进一步地,app的状态包括下载状态、安装状态、就绪状态、运行状态、停止状态和卸载状态。
进一步地,app下载后状态为下载状态;
下载后的app通过app调度器进行安装后置为安装状态;
处于安装状态的app初始化成功后变为就绪状态;
处于就绪状态的app可以被运行,运行时为运行状态。
进一步地,运行的app可以一直处于运行状态也可以运行一次后进入到就绪状态。
进一步地,app运行时发生错误或外部干预,app可以进入到停止状态。
进一步地,处于安装状态、就绪状态、停止状态的app可直接卸载进入卸载状态。
进一步地,处于运行状态的app在要卸载时需要先进入到停止状态然后进行卸载进入卸载状态。
进一步地,电表的管理芯程序包括bootloader程序和app调度器程序。
进一步地,不同业务功能分别设置不同的app程序。
本发明的有益之处在于采用应用于智能电表上的app生命周期管理方法可将电表的计量、显示、通讯、结算、事件等功能分成独立的app进行开发,对app功能的管理更加灵活。
当某一功能需求变更或出现bug需要更新程序时,仅需对该功能的app进行卸载、重新下载、安装运行即可,升级颗粒度更小。
附图说明
图1是本发明的应用于智能电表上的app生命周期管理方法的流程图;
图2是图1中应用于智能电表上的app生命周期管理方法的app状态切换示意图。
具体实施方式
以下结合附图和具体实施例对本发明作具体介绍。
如图1和图2所示,一种应用于智能电表上的app生命周期管理方法,包括以下步骤:
电表上电,程序启动,bootloader程序运行;
bootloader程序运行完跳转应用层程序,初始化app调度器;
app调度器检测当前电表是否已安装app,如果已有app安装,则初始化app,将app信息挂载到调度队列中,置为app状态为就绪态;若没有app安装,则app调度器进入等待状态,准备接收安装app;
通过外部通信方式可对已安装的app进行操作;
app调度器接收到操作命令后,从执行列表中查找到对应的app,并执行相应操作,置为相应状态;
操作执行完后,app调度器进入等待状态,等待下次操作。
具体而言,通过外部通信方式对已安装的app进行的操作包括运行、停止和卸载等。
作为一种具体的实施方式,app的状态包括下载状态、安装状态、就绪状态、运行状态、停止状态和卸载状态。状态件的切换具有一定的限制关系。具体如下:
app下载后状态为下载状态;
下载后的app通过app调度器进行安装后置为安装状态;
处于安装状态的app初始化成功后变为就绪状态;
处于就绪状态的app可以被运行,运行时为运行状态;
运行的app可以一直处于运行状态也可以运行一次后进入到就绪状态;
app运行时发生错误或外部干预,app可以进入到停止状态;
处于安装状态、就绪状态、停止状态的app可直接卸载进入卸载状态;
处于运行状态的app在要卸载时需要先进入到停止状态然后进行卸载进入卸载状态。
在基于ir46规范的智能电表中,管理芯程序采用bootloader app调度器的结构,将业务功能按计量、通讯、显示、结算、事件、继电器控制、费率时段等进行分解,然后单独开发,最终将程序装载到管理中,实现管理芯完整的功能需求,并可通过上位机与表通信,采用合适的协议,对app的生命周期进行管控。
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
1.一种应用于智能电表上的app生命周期管理方法,其特征在于,包括以下步骤:
电表上电,程序启动,bootloader程序运行;
bootloader程序运行完跳转应用层程序,初始化app调度器;
app调度器检测当前电表是否已安装app,如果已有app安装,则初始化app,将app信息挂载到调度队列中,置为app状态为就绪态;若没有app安装,则app调度器进入等待状态,准备接收安装app;
通过外部通信方式可对已安装的app进行操作;
app调度器接收到操作命令后,从执行列表中查找到对应的app,并执行相应操作,置为相应状态;
操作执行完后,app调度器进入等待状态,等待下次操作。
2.根据权利要求1所述的应用于智能电表上的app生命周期管理方法,其特征在于,
通过外部通信方式对已安装的app进行的操作包括运行、停止和卸载。
3.根据权利要求1所述的应用于智能电表上的app生命周期管理方法,其特征在于,
app的状态包括下载状态、安装状态、就绪状态、运行状态、停止状态和卸载状态。
4.根据权利要求3所述的应用于智能电表上的app生命周期管理方法,其特征在于,
app下载后状态为下载状态;
下载后的app通过app调度器进行安装后置为安装状态;
处于安装状态的app初始化成功后变为就绪状态;
处于就绪状态的app可以被运行,运行时为运行状态。
5.根据权利要求4所述的应用于智能电表上的app生命周期管理方法,其特征在于,
运行的app可以一直处于运行状态也可以运行一次后进入到就绪状态。
6.根据权利要求4所述的应用于智能电表上的app生命周期管理方法,其特征在于,
app运行时发生错误或外部干预,app可以进入到停止状态。
7.根据权利要求6所述的应用于智能电表上的app生命周期管理方法,其特征在于,
处于安装状态、就绪状态、停止状态的app可直接卸载进入卸载状态。
8.根据权利要求7所述的应用于智能电表上的app生命周期管理方法,其特征在于,
处于运行状态的app在要卸载时需要先进入到停止状态然后进行卸载进入卸载状态。
9.根据权利要求1所述的应用于智能电表上的app生命周期管理方法,其特征在于,
电表的管理芯程序包括bootloader程序和app调度器程序。
10.根据权利要求1所述的应用于智能电表上的app生命周期管理方法,其特征在于,
不同业务功能分别设置不同的app程序。
技术总结