CN101950254B - 一种软件更新方法和系统 - Google Patents
一种软件更新方法和系统 Download PDFInfo
- Publication number
- CN101950254B CN101950254B CN201010283271.4A CN201010283271A CN101950254B CN 101950254 B CN101950254 B CN 101950254B CN 201010283271 A CN201010283271 A CN 201010283271A CN 101950254 B CN101950254 B CN 101950254B
- Authority
- CN
- China
- Prior art keywords
- software
- parameter
- storage medium
- renewal
- unit
- 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.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件更新方法和系统。所述方法包括:将软件参数存储到存储介质中;在初始时,从存储介质中获取软件参数赋给相应的软件参数变量,运行软件;当需要更新软件时,更新存储介质中的软件参数;从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件。本发明提供的软件更新技术方案实现成本低、效率高且不容易出错。
Description
技术领域
本发明涉及移动通信技术领域,特别是涉及一种软件更新方法和系统。
背景技术
在TD-SCDMA通信系统中,无论通讯设备产品处于开发阶段还是运营阶段,由于特性和功能需求的不同,以及环境的复杂性等各种需求,需要调整程序流程、调整参数或变更协议类型等,这都需要对现有的软件进行更新和升级。
现有技术中,对软件更新和升级提供的方法主要是采用软件静态更新架构。即由于采用该架构的软件所有运行程序都是静态的,要控制程序流程、调整参数或变更协议类型,就必须修改源代码,然后经过编译,最后进行系统升级。因此,每次更新均需要执行下面的一系列操作流程:源代码修改、编译、测试验证、软件下载、软件更新、软件更新后重启动、软件更新失败进行版本回退等。
现有的软件更新方法存在如下缺点:
1、更新模式过于单一,这种按部就班的软件更新模式,只要有更新需求,就按源代码的修改、编译、测试验证、软件下载、软件更新、软件更新后重启动这一更新操作流程走一遍。
2、开发维护时间成本和人力成本高,不利于产品的开发、升级和维护。主要在于每一次更新都需要开发人员和工程维护人员执行上述的一系列操作,增加了工作量,同时增加了开发、运营和维护成本。例如,代码编译修改带来一些不必要的工作量,哪怕一个很小的改动,都需要进行源代码修改,然后就有可能出现编译出错,耗费人力和时间去查错。
3、不利于系统的稳定性,主要在于代码改动,很可能会由于开发人员的这样或那样的问题,引入新的漏洞(bug),导致系统不稳定。
4、更新成功率低,主要在于升级流程操作过于复杂,每进行一次升级,在操作维护界面,维护人员都需要进行多项指令的操作,很容易操作失误或操作顺序失误,从而引起升级失败,甚至导致系统无法正常运行等问题发生。
综上所述,现有的软件更新方法成本高、效率低、容易出错。
发明内容
本发明提供了一种软件更新方法,该方法实现成本低、效率高且不容易出错。
本发明还提供了一种软件更新系统,该系统实现成本低、效率高且不容易出错。
为达到上述目的,本发明的技术方案是这样实现的:
本发明公开了一种软件更新方法,该方法包括:
将软件参数存储到存储介质中;
在初始时,从存储介质中获取软件参数赋给相应的软件参数变量运行软件;
当需要更新软件时,更新存储介质中的软件参数;
从存储介质中获取更新后的软件参数赋给相应的软件参数变量运行软件;
所述软件参数指软件在更新升级过程中需要进行更改的参数。
本发明还公开了一种软件更新系统,该系统包括:存储模块、第一运行模块、第二运行模块和更新模块,其中:
将软件参数存储到存储介质中的存储模块;
在初始时,从存储介质中获取软件参数赋给相应的软件参数变量,运行软件的第一运行模块;
当需要更新软件时,更新存储介质中的软件参数的更新模块;
从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件的第二运行模块;
所述软件参数指软件在更新升级过程中需要进行更改的参数。
由上述可见,本发明这种将软件参数存储到存储介质中,在初始时,从存储介质中获取软件参数赋给相应的软件参数变量运行软件,当需要更新软件时,更新存储介质中的软件参数,再从存储介质中获取更新后的软件参数赋给相应的软件参数变量运行软件的技术方案,不需要向现有技术那样执行源代码修改、编译、测试验证等一系列的操作,因此实现成本低、效率高且不容易出错。
附图说明
图1是本发明实施例一种软件更新方法的流程图;
图2是本发明中的软件更新方法的较佳实施例的流程图;
图3是本发明实施例一种软件更新系统的组成示意图。
具体实施方式
图1是本发明实施例一种软件更新方法的流程图。如图1所示,该方法包括:
步骤101,将软件参数存储到存储介质中。
在本发明中,存储介质为永久性存储媒介,如闪存(Flash)或电可擦可编程只读存储器(EEPROM)等。
这里的软件参数泛指软件在更新升级过程中需要进行更改的参数,如程序在运行过程中用到的一些重要的流程控制变量参数、公式计算参数、协议变更参数等。
步骤102,在初始时,从存储介质中获取软件参数赋给相应的软件参数变量,运行软件。
步骤103,当需要更新软件时,更新存储介质中的软件参数。
步骤104,从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件。
在本发明的实施例中,在有相应的软件更新需求时,通过管理维护中心的在线存储介质参数专用更改接口,来添加或修改相关参数进行软件更新。
为了使本发明的目的、技术方案和优点更加清楚,下面列举较佳实施例对本发明进行详细描述。
图2是本发明中的软件更新方法的较佳实施例的流程图。如图2所示,该流程分两部分:点划线左侧的设备单元侧的处理流程和点划线右侧的管理维护中心侧的处理流程,这里设备单元泛指需要进行软件更新的主体,如板卡、通信终端等,且本实施例中存储介质以EEPROM为例进行说明,该方法具体包括如下步骤:
步骤201,设备单元侧进行初始化,运行开始。
步骤202,设备单元从EEPROM中获取软件参数。
步骤203,设备单元将获取的软件参数赋给相应的软件参数变量,运行软件。
步骤204,当管理维护中心收到软件更新请求时,通过调用在线存储介质参数专用更改接口,向设备单元下发更改的软件参数和更改指令。
步骤205,设备单元接收到更改的软件参数和更改指令后,触发存储介质参数专用更改服务程序,由存储介质参数专用更改服务程序用更改的软件参数更新EEPROM中的软件参数。
本实施例中,存储介质EEPROM加写了保护,只有调用存储介质参数专用更改服务程序才能对EEPROM进行数据修改。
步骤206,存储介质参数专用更改服务程序对EEPROM中的软件参数更新是否成功,是则执行步骤207,否则执行步骤208。
步骤207,设备单元向管理维护中心发送更新成功响应消息。
步骤208,设备单元向管理维护中心发送更新失败响应消息。
步骤209,管理维护中心根据设备单元的响应消息判断更新是否成功,是则执行步骤211,否则执行步骤210。
步骤210,管理维护中心接收的是更新失败响应消息,确定更新失败,结束流程。
步骤211,管理维护中心接收的是更新成功响应消息,确定更新成功,向设备单元下发更新后处理操作指令。
步骤212,设备单元判断更新后处理操作指令是否为更新立即生效指令,是则返回步骤202,否则执行步骤213。
步骤213,设备单元判断更新后处理操作指令是否为指定时间点后更新生效指令,是则执行步骤214,否则执行步骤216。
步骤214,设备单元启动预设时间点定时器。
该预设时间点定时器设定为在所述的预设时间点超时。
步骤215,在预设时间点定时器超时的时候,返回执行步骤202。
这种设定定时器的方案,可以让系统在夜深人静业务量少的时间点执行更新生效。
步骤216,设备单元判断更新后处理操作指令为是否为更新后重启动指令,是则执行步骤217,否则执行步骤218。
步骤217,设备单元进行重新启动操作,返回步骤201。
步骤218,本次软件更新操作结束。软件运行的参数变量保持原来的数值继续正常运行,下次系统重启动时或收到更新后处理操作指令后,在进行相应的更新操作。
图2所流程结束。
在图2所示的流程中,设备单元向维护管理中心发送的响应消息为更新成功响应消息时,管理维护中心下发更新后处理操作指令。更新后处理操作指令有三种情况:一是新参数立即生效,使软件程序立即以更新后的参数进行运算、协议变更和流程控制。二是设定时间点生效,即软件程序在某个时间节点后生效,该指令下发后,带上时间点参数,即绝对时间信息或相对时间信息。三是软件立即重启动生效,这主要是针对一些需要重启动执行初始化的更新需求。
基于上述实施例,接下来给出本发明中的一种软件更新系统的组成示意图。
图3是本发明实施例一种软件更新系统的组成示意图。如图3所示,该系统包括:存储介质模块301、设备单元302和管理维护中心303,其中:
存储介质模块301,用于保存软件参数;
设备单元302,用于在初始时,从存储介质模块301中获取软件参数赋给相应的软件参数变量,运行软件;用于在接收到管理维护中心303下发的更改的软件参数和更改指令后,用更改的软件参数更新存储介质模块301中的软件参数,并重新从存储介质模块301中获取更新后的软件参数赋给相应的软件参数变量,运行软件;
管理维护中心303,用于在需要更新软件时,向设备单元302下发更改的软件参数和更改指令。
在图3所示系统中,管理维护中心303,用于通过调用在线存储介质参数专用更改接口,向设备单元302下发更改的软件参数和更改指令。设备单元302,用于在接收到更改的软件参数和更改指令后,触发存储介质参数专用更改服务程序,由存储介质参数专用更改服务程序用更改的软件参数更新存储介质模块301中的软件参数。
在图3所示系统中,设备单元302,用于在存储介质参数专用更改服务程序对存储介质模块301中的软件参数更新成功时,进一步向管理维护中心303发送更新成功响应消息;用于在存储介质参数专用更改服务程序对存储介质模块301中的软件参数更新失败时,进一步向管理维护中心303发送更新失败响应消息。
在图3所示系统中,管理维护中心303,用于在接收到更新成功响应消息后,进一步向设备单元302发送更新后处理操作指令;
如果所述更新后处理操作指令为更新立即生效指令,则设备单元302在接收到更新后处理操作指令后,直接从存储介质模块301中获取更新后的软件参数赋给相应的软件参数变量,运行软件;
如果所述更新后处理操作指令为指定时间点后更新生效指令,则设备单元302在接收到更新后处理操作指令后,先启动预设时间点定时器,在该定时器超时的时候,再从存储介质模块301中获取更新后的软件参数赋给相应的软件参数变量,运行软件;
如果所述更新后处理操作指令为更新后重启动指令,则设备单元进行重新启动操作,在重新启动操作后执行所述的从存储介质模块301中获取更新后的软件参数赋给相应的软件参数变量,运行软件的步骤。
在图3所示系统中,所述存储介质模块301为闪存或电可擦可编程只读存储器EEPROM。
本发明提出的上述软件更新方案有如下优点:
1、对许多由于软件参数更新、流程及协议兼容变更需求导致的更新需求,本发明可实现软件的灵活且便利的平滑升级。这种平滑升级可根据需要设计更新生效时间点。
2、节省了软件开发和维护的时间成本和人力成本。这主要体现在,本发明的技术方案完全节省了代码修改和编译这两步骤的时间,可以有效地减轻开发维护人员的工作负担,缩短软件开发设计及系统升级的时间。进而减少代码维护量,节省开发、运营和维护的成本。
3、有益于维护系统的稳定性,避免了软件更新升级引入漏洞的问题。这主要体现在无需进行源代码修改和编译工作,也就避免了由于开发人员这样或那样的原因,引入新的漏洞,导致最后系统不稳定的问题。
4、提高了更新的成功率,主要原因是节省了软件下载、更新及更新后必须重启动等一系列操作流程,降低了维护人员的误操作率,因此可大大提高更新的成功率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (11)
1.一种软件更新方法,其特征在于,该方法包括:
将软件参数存储到存储介质中;
在初始时,从存储介质中获取软件参数赋给相应的软件参数变量,运行软件;
当需要更新软件时,更新存储介质中的软件参数;
从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件;
所述软件参数指软件在更新升级过程中需要进行更改的参数。
2.根据权利要求1所述的方法,其特征在于,所述更新存储介质中的软件参数包括:
管理维护中心向设备单元下发更改的软件参数和更改指令;
设备单元接收到更改指令后,用更改的软件参数更新存储介质中的软件参数。
3.根据权利要求2所述的方法,其特征在于,
所述管理维护中心通过调用在线存储介质参数专用更改接口,向设备单元下发更改的软件参数和更改指令;
设备单元触发存储介质参数专用更改服务程序,由存储介质参数专用更改服务程序用更改的软件参数更新存储介质中的软件参数。
4.根据权利要求2所述的方法,其特征在于,在用更改的软件参数更新存储介质中的软件参数之后,并在从存储介质中获取更新后的软件参数赋给相应的软件参数变量运行软件之前,该方法进一步包括:
如果存储介质参数专用更改服务程序对存储介质中的软件参数更新成功,设备单元向管理维护中心发送更新成功响应消息;
如果存储介质参数专用更改服务程序对存储介质中的软件参数更新失败,设备单元向管理维护中心发送更新失败响应消息。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:管理维护中心在接收到更新成功响应消息后,向设备单元发送更新后处理操作指令;
所述从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件包括:
如果所述更新后处理操作指令为更新立即生效指令,则设备单元在接收到更新后处理操作指令后,直接从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件;
如果所述更新后处理操作指令为指定时间点后更新生效指令,则设备单元在接收到更新后处理操作指令后,先启动预设时间点定时器,在该定时器超时的时候,再从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件;
如果所述更新后处理操作指令为更新后重启动指令,则设备单元进行重新启动操作,在重新启动操作后执行所述的从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件的步骤。
6.一种软件更新系统,其特征在于,该系统包括:存储模块、第一运行模块、第二运行模块和更新模块,其中:
将软件参数存储到存储介质中的存储模块;
在初始时,从存储介质中获取软件参数赋给相应的软件参数变量,运行软件的第一运行模块;
当需要更新软件时,更新存储介质中的软件参数的更新模块;
从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件的第二运行模块;
所述软件参数指软件在更新升级过程中需要进行更改的参数。
7.根据权利要求6所述的系统,其特征在于,更新模块包括:
用于接收管理维护中心向设备单元下发更改的软件参数和更改指令的参数接收模块;
用于在设备单元接收到更改指令后,用更改的软件参数更新存储介质中的软件参数的参数更新模块。
8.根据权利要求7所述的系统,其特征在于,
所述参数接收模块,用于将所述管理维护中心通过调用在线存储介质参数专用更改接口,向设备单元下发更改的软件参数和更改指令;
所述参数更新模块,用于在设备单元接收到更改的软件参数和更改指令后,触发存储介质参数专用更改服务程序,由存储介质参数专用更改服务程序用更改的软件参数更新存储介质中的软件参数。
9.根据权利要求8所述的系统,其特征在于,该系统包括:
用于在存储介质参数专用更改服务程序对存储介质中的软件参数更新成功时,由设备单元进一步向管理维护中心发送更新成功响应消息的更新成功消息发送模块;
用于在存储介质参数专用更改服务程序对存储介质中的软件参数更新失败时,由设备单元进一步向管理维护中心发送更新失败响应消息的更新失败消息发送模块。
10.根据权利要求9所述的系统,其特征在于,该系统包括:
用于管理维护单元在接收到更新成功响应消息后,进一步向设备单元发送更新后处理操作指令的更新后操作指令发送模块;
其中,第二运行模块包括:
用于在所述更新后处理操作指令为更新立即生效指令,则设备单元在接收到更新后处理操作指令后,立即从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件的装置;
用于在所述更新后处理操作指令为指定时间点后更新生效指令,则设备单元在接收到更新后处理操作指令后,先启动预设时间点定时器,在该定时器超时的时候,再从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件的装置;
用于在所述更新后处理操作指令为更新后重启动指令,则设备单元进行重新启动操作,在重新启动操作后执行所述的从存储介质中获取更新后的软件参数赋给相应的软件参数变量,运行软件的装置。
11.根据权利要求6至10中任一项所述的系统,其特征在于,所述存储介质为闪存或电可擦可编程只读存储器EEPROM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010283271.4A CN101950254B (zh) | 2010-09-16 | 2010-09-16 | 一种软件更新方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010283271.4A CN101950254B (zh) | 2010-09-16 | 2010-09-16 | 一种软件更新方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101950254A CN101950254A (zh) | 2011-01-19 |
CN101950254B true CN101950254B (zh) | 2014-07-30 |
Family
ID=43453759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010283271.4A Expired - Fee Related CN101950254B (zh) | 2010-09-16 | 2010-09-16 | 一种软件更新方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101950254B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102538824B (zh) * | 2011-12-29 | 2015-07-08 | 北京遥测技术研究所 | 一种适用于mems imu重复多次标定的方法 |
CN103077048B (zh) * | 2012-12-28 | 2016-02-10 | 东莞宇龙通信科技有限公司 | 通信模块的运行参数更新方法及通信终端 |
CN103559063A (zh) * | 2013-11-14 | 2014-02-05 | 金蝶软件(中国)有限公司 | 应用程序的更新方法、系统及应用程序系统和参数据配置系统 |
CN104765591A (zh) | 2014-01-02 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 一种软件配置参数更新的方法、终端服务器及系统 |
CN105323276B (zh) * | 2014-07-09 | 2020-05-26 | 腾讯科技(深圳)有限公司 | 一种应用的云接入方法、装置及应用服务器 |
CN104951345A (zh) * | 2015-07-03 | 2015-09-30 | 北京奇虎科技有限公司 | 应用程序的更新方法及装置 |
CN107391173A (zh) * | 2017-06-14 | 2017-11-24 | 北京康得新创科技股份有限公司 | 应用程序的更新方法、存储介质和终端 |
CN107861747A (zh) * | 2017-06-26 | 2018-03-30 | 平安普惠企业管理有限公司 | 产品更新方法、设备和计算机可读存储介质 |
CN109753305A (zh) * | 2019-01-21 | 2019-05-14 | 上海微小卫星工程中心 | 卫星软件系统和卫星软件系统配置方法 |
CN110274350B (zh) * | 2019-06-28 | 2020-05-26 | 宁波奥克斯电气股份有限公司 | 一种空调器售后维修的控制方法及空调器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529847A (zh) * | 2001-07-16 | 2004-09-15 | 任宇清 | 内嵌软件更新系统 |
CN101630265A (zh) * | 2009-08-19 | 2010-01-20 | 深圳华为通信技术有限公司 | 升级设备、终端设备、软件更新方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8161474B2 (en) * | 2007-12-14 | 2012-04-17 | Sharp Laboratories Of America, Inc. | Diagnostic information preservation during installations of over the air update of wireless handset software |
-
2010
- 2010-09-16 CN CN201010283271.4A patent/CN101950254B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529847A (zh) * | 2001-07-16 | 2004-09-15 | 任宇清 | 内嵌软件更新系统 |
CN101630265A (zh) * | 2009-08-19 | 2010-01-20 | 深圳华为通信技术有限公司 | 升级设备、终端设备、软件更新方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101950254A (zh) | 2011-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101950254B (zh) | 一种软件更新方法和系统 | |
US8589909B2 (en) | Techniques for reducing down time in updating applications with metadata | |
CN100570558C (zh) | 一种芯片固件升级方法 | |
CN102609281B (zh) | 分布式软件补丁更新方法及系统 | |
CN108170448B (zh) | 一种自动化高效进行软件更新版本发布的系统 | |
CN104572206A (zh) | 应用程序自更新和备份恢复的方法 | |
CN105103132A (zh) | 在升级期间修复云服务 | |
EP2456257A1 (en) | Method and system for upgrading wireless data card | |
CN105930236A (zh) | 一种基于BMS Bootloader升级的应用程序版本回退方法 | |
CN104007996A (zh) | 一种分布式控制系统的可靠固件升级实现方法 | |
CN101778376A (zh) | 一种实现固件无线更新的方法及装置 | |
CN105260209A (zh) | 一种程序热更新解决方法 | |
CN112040476A (zh) | 物联网终端的升级方法及装置 | |
CN102207879A (zh) | Lua脚本热更新方法及系统 | |
CN113342387A (zh) | 一种软件自动升级方法、更新客户端及更新服务器 | |
CN113760332A (zh) | 软件升级方法和电子设备 | |
CN106201588A (zh) | 终端的软件升级方法和终端 | |
CN109388416A (zh) | 一种应用软件的插件化实现方法及系统 | |
CN105589718A (zh) | 智能设备的系统更新方法与更新装置 | |
CN111984287A (zh) | 设备升级方法及系统 | |
CN115344292B (zh) | 固件自动升级方法、装置、电子设备及可读存储介质 | |
CN115794182A (zh) | 固件带外升级方法、装置、电子设备及存储介质 | |
CN104636574A (zh) | 终端设备升级方法及终端设备 | |
CN105574024A (zh) | 非易失性数据存储方法及装置 | |
CN103488503B (zh) | 软件更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170830 Address after: 100070, No. 188, building 25, No. eighteen, South Fourth Ring Road, Fengtai District, Beijing, 1, 101 Patentee after: Beijing Haiyun Technology Co.,Ltd. Address before: 510663, No. 3, color road, Science City, Guangzhou Development Zone, Guangdong Patentee before: NEW POSTCOM EQUIPMENT Co.,Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140730 |
|
CF01 | Termination of patent right due to non-payment of annual fee |