[发明专利]应用程序更新方法和装置有效
申请号: | 201210283100.0 | 申请日: | 2012-08-09 |
公开(公告)号: | CN103577214A | 公开(公告)日: | 2014-02-12 |
发明(设计)人: | 林涛;张文颢;韩伯臣;郭振杰 | 申请(专利权)人: | 罗森伯格(上海)通信技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/14 |
代理公司: | 北京金信立方知识产权代理有限公司 11225 | 代理人: | 刘锋;刘世杰 |
地址: | 201707 上海市青*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 更新 方法 装置 | ||
技术领域
本发明涉及存储在数据处理系统中非易失性存储区域内的应用程序处理,更具体地,是一种对该应用程序进行更新的方法和装置。
背景技术
在移动通信领域、电调控制领域、监控领域等存在有室外控制设备的诸多领域内,对于控制设备的软硬件均要求具有高可靠性和高稳定性。与此同时,也需要必须的灵活性,以利于控制设备内软件的更新升级,因为此类控制设备通常挂设于室外(比如天线控制单元),如果设备没有灵活的软件更新能力,则需要将设备从固定位置拆除,然后把应用程序下载到设备内,以完成软件升级。这样做造成了时间和人力上的浪费。另一方面,如果设备具有灵活的软件更新能力,但是它的可靠性不高,则容易造成正在运行中的设备内原有的应用程序被擦除,而新的应用程序尚未安装,从而导致应用程序丢失,进而造成损失。
在现有的应用程序更新方法中,是在处理器的初始代码区(例如微处理器的Boot区)启动时等待下载更新命令,一旦受到该命令,初始化代码区则建立软件下载链接,等待下载数据并将下载完成的数据覆盖现有的应用程序区内的应用程序数据,该应用程序区位于非易失性存储区域内。此方案中,每次更新都会有相应的校验,并根据可以覆盖的块的大小建立通信长度。
如图1所示,是上述应用程序更新方案的流程图。在步骤P10中,上电复位后进入处理器内的初始代码区开始执行该区内程序,在P20中,判断是否收到更新指令,该更新指令为一个中断指令。当确认收到该更新指令后,接收用于更新现有应用程序的数据包(P30),经过P40的校验判断后,在P50中,将该数据覆盖应用程序区,否则,进入错误反馈P41,等待重新接收更新指令(P20),再经过P60的升级是否完成的判断,确定是否升级成功(P70),从而完成更新,进入到应用程序区内主程序的循环工作中(P80)。
由以上流程图可以看出,利用现有的应用程序更新方法对应用程序区内的程序进行更新,如果经过在P50,更新后的程序为不能正常运行的错误程序,则系统不能对该错误进行识别,也不能再恢复至原来正确的应用程序。并且,如果发生程序跑飞,擦除损坏了应用程序区内的应用程序,则系统自身没有自动修复的能力。另外,如果在下载更新过程中(即P50的数据覆盖过程)物理链接断开,则也会导致应用程序区内程序数据的损坏。
发明内容
本发明的目的,在于克服现有的应用程序更新方法在出现上述异常时无法实现更新或无法恢复这一技术问题,从而提供了一种创新的应用程序更新方法及装置。
为达到上述目的,在本发明的一个方面,提供了一种应用程序更新方法,用于对处理系统内的应用程序进行更新,该应用程序位于该处理系统的应用程序区。该应用程序更新方法包括以下步骤:
步骤S100,判断第一临时存储区内是否存在尚未覆盖该应用程序区的新的应用程序数据:
如果不存在该尚未覆盖该应用程序区的新的应用程序数据,则将应用程序区内原有应用程序数据备份至该第二临时存储区,并进入步骤S200;
如果存在该尚未覆盖该应用程序区的新的应用程序,则利用该第一临时存储区内的该新的应用程序数据覆盖该应用程序区,将该新的应用程序数据备份至该第二临时存储区,并进入该应用程序区内的循环流程;
步骤S200,向在运行中的应用程序区的循环流程发出更新指令;
步骤S300,应用程序区接收到该更新指令后,将新的应用程序数据下载到该第一临时存储区;
步骤S400,利用第一临时存储区内的该新的应用程序数据覆盖该应用程序区;
步骤S500,判断该覆盖完成后,应用程序区是否正确运行,其中:
如果该应用程序区运行正确,则进入步骤S600;
如果该应用程序区运行错误,则利用该第二临时存储区内的原有应用程序数据覆盖该应用程序区,并将该原有应用程序数据备份至第一临时存储区,然后进入该应用程序区内的循环流程;
步骤S600,将该第一临时存储区内的该新的应用程序数据备份至该第二临时存储区,并进入该应用程序区内的循环流程。
优选地,在步骤S100之前,还包括以下步骤:
步骤S000,对更新状态标签进行初始设定,该更新状态标签包括一个程序下载状态标记位;
并且:
在所述步骤S100中,通过程序下载状态标记位,判断该第一临时存储区内是否存在尚未覆盖该应用程序区的该新的应用程序数据;
在所述步骤S300中,所述将新的应用程序数据下载到该第一临时存储区后,还包括:更改该程序下载状态标记位;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于罗森伯格(上海)通信技术有限公司,未经罗森伯格(上海)通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210283100.0/2.html,转载请声明来源钻瓜专利网。