CN101188516B - 一种网络设备软件系统高可靠性自适应远程更新的方法 - Google Patents

一种网络设备软件系统高可靠性自适应远程更新的方法 Download PDF

Info

Publication number
CN101188516B
CN101188516B CN 200710125434 CN200710125434A CN101188516B CN 101188516 B CN101188516 B CN 101188516B CN 200710125434 CN200710125434 CN 200710125434 CN 200710125434 A CN200710125434 A CN 200710125434A CN 101188516 B CN101188516 B CN 101188516B
Authority
CN
China
Prior art keywords
software
database
updating
network equipment
data
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.)
Active
Application number
CN 200710125434
Other languages
English (en)
Other versions
CN101188516A (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.)
Konka Group Co Ltd
Original Assignee
Konka Group 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 Konka Group Co Ltd filed Critical Konka Group Co Ltd
Priority to CN 200710125434 priority Critical patent/CN101188516B/zh
Publication of CN101188516A publication Critical patent/CN101188516A/zh
Application granted granted Critical
Publication of CN101188516B publication Critical patent/CN101188516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种网络设备软件系统高可靠性自适应远程更新的方法,其包括以下步骤:网络设备中更新程序从软件更新服务器上下载和解析更新控制文件;进行网络设备的身份认证和本地软件系统版本比较;由更新控制文件控制更新数据库分区;由更新控制文件控制更新除数据库分区以外的其他软件部分。本发明方法由于采用了软件系统高可靠性自适应的更新方式,网络设备的厂商能够通过更新控制文件,灵活地控制网络设备内所有软件模块的更新操作,保证网络设备在更新过程不会造成软件系统和用户数据的破坏,并保证了软件更新过程中的稳定性,同时方便了开发人员自行开发的过程。

Description

一种网络设备软件系统高可靠性自适应远程更新的方法
技术领域
本发明涉及一种网络设备软件系统的更新方法,尤其涉及的是一种IPTV机顶盒软件更新方法。
背景技术
现有技术的数字电视IPTV机顶盒的软件系统需要不断完善和更新,现有的软件更新方式有多种:一是,清除原有设备的所有信息,将新的软件版本下载到IPTV机顶盒中;二是,只清除机顶盒中数据库以外的存储空间,仔细设计新的版本,保证与原有版本的的数据库兼容,将新版本软件覆盖原有版本;三是,保留操作系统环境,只更新某些应用,不更新用户数据区。
方式一在更新新的软件版本后,需要用户重新写入数据,其操作繁琐,有可能由于丢失重要数据导致机顶盒不能工作,而给用户带来重大损失;同时系统更新过程中有可能掉电破坏机顶盒软件系统后无法再恢复。方式一虽然能够彻底更新系统,但缺点是更新不可靠,很可能造成软件系统破坏无法恢复。
方式二能够更新整个软件系统并且保留用户数据,而且也能保证数据库与新的系统兼容,但是由于没有备份系统的存在,系统更新过程不可靠,而且为了要保持新旧版本的数据库兼容,为新的软件版本开发人员带来很多限制,比如数据库必须在第一个版本设计完美,不能在后续版本中做重大修改,后续软件版本不能改变存储介质的分区大小和位置等等。即使按照这些限制条件小心设计出来的版本也可能由于跨版本升级软件而导致机顶盒无法正常工作。
方式三由于操作系统环境和用户数据库都不更新,因而更新系统过程中即使掉电也不会造成软件系统破坏,但是新版本的应用程序有可能不兼容原操作系统和用户数据库,从而造成系统无法正常工作。
因此,现有技术还存在缺陷,而有待于改进和发展。
发明内容
本发明的目的在于提供一种网络设备软件系统高可靠性自适应远程更新的方法,采用自动识别更新前后的软件版本,将旧版本的数据库智能的导入到新软件版本数据库的方式,同时避免用户数据丢失以及对开发的限制。
本发明的技术方案包括:
一种网络设备软件系统高可靠性自适应远程更新的方法,其包括以下步骤:
A、网络设备中软件更新程序从软件更新服务器上下载更新控制文件,解析更新控制文件,进行网络设备身份认证,软件系统版本比较;
B、更新数据库分区;
C、升级除数据库分区以外的其他软件部分。
所述的方法,其中,所述步骤B还包括:
B1、下载并运行数据库处理程序;
B2、识别并读取网络设备原数据库;
B3、将原数据库格式转化为新版本的数据库格式;
B4、将新的数据库写入软件更新的目标位置。
所述的方法,其中,所述网络设备软件中设置有备份系统,在工作系统故障时启动该备份系统。
所述的方法,其中,所述工作系统中以压缩和只读的文件系统存放各工作软件模块。
所述的方法,其中,所述备份系统中以压缩和只读的文件系统存放。
所述的方法,其中,所述步骤A还包括:从所述软件更新服务器下载更新控制文件,用于控制网络设备的更新流程。
所述的方法,其中,所述步骤B还包括:
B01、根据网络设备当前数据库系统版本号,从所述软件更新服务器下载相应版本的用户数据库处理程序到网络设备内,并运行数据库处理程序;
B02、所述数据库处理程序将工作系统所在分区擦除,并将用户数据区的数据拷贝到原工作系统分区中备份,拷贝完成后将拷贝的目标位置和大小记录在系统数据区中;
B03、所述数据库处理程序将原用户数据区转换成的新版本格式用户数据存储到软件更新后目标数据区位置;
B04、所述更新程序再次擦除工作系统区,将新版本的工作系统数据下载到工作系统区中,实现工作系统软件的更新操作。
所述的方法,其中,所述步骤B还包括:
所述网络设备将备份系统的数据放置到所述软件更新服务器,并通过更新控制文件控制机顶盒更新备份系统。
本发明所提供的一种网络设备软件系统高可靠性自适应远程更新的方法,由于采用了软件系统高可靠性自适应的更新方式,数字电视IPTV机顶盒的厂商能够通过更新控制文件,灵活地控制机顶盒内所有软件模块的更新操作,并保证软件系统在更新过程不会造成机顶盒软件系统和用户数据的破坏,保证了软件更新过程中的稳定性,同时方便了开发人员自行开发的过程。
附图说明
图1为本发明的网络设备的软件系统结构示意图;
图2为本发明方法的网络设备软件更新流程示意图;
图3为本发明方法的网络设备软件更新后启动的流程示意图;
图4为本发明方法的网络设备软件更新的基本流程示意图。
具体实施方式
以下结合附图,将对本发明的较佳实施例进行更为详细的说明。
本发明的网络设备软件系统高可靠性自适应远程更新的方法,如图4所示,是本发明方法的基本流程,本发明方法主要是一软件方法,需设计一设备端可执行的用户数据处理程序,放置在更新服务器上。在网络设备检测到更新服务器上有新的版本可更新时,网路设备内系统更新程序下载用户数据处理程序到机顶盒内存中并执行之。本发明所述用户数据处理智能识别旧版本数据库,有选择的导出并转化成新的数据库数据格式,随后将新的数据库数据保存到新的数据库分区中。更新程序擦除新数据库分区以外的其它分区,并下载新版本软件,更新其他软件部分。
本发明方法的具体实施例分解说明如下:
如图1所示是本发明方法中网络设备通用的软件系统结构图,网络设备的操作系统等程序和数据库等数据一般放置于Flash存储器中100,如图1所示,将软件系统规划在Flash的五个分区中:启动上载模块Bootloader110、工作系统Work System 120、备份系统Backup System 130、系统数据区System Database 140、用户数据区User Database 150。
所述启动上载模块Bootloader110根据系统数据区(System Database)140中的系统更新控制标记Flag,有选择地启动工作系统(Work System)120或者备份系统(Backup System)130,启动原则是工作系统破坏时,启动备份系统。
所述工作系统(Work System)120由操作系统(Operation System)121、Shell脚本解释器122、工作应用程序(Other Applications)123、数据库管理系统(MiniDB)124、系统更新程序(Updater)125等组成,通常为了节省空间以压缩和只读的文件系统存放,比如以Linux下CRAMFS存放。
所述备份系统(Backup System)130则由备份操作系统131、备份Shell脚本解释器132、备份升级程序133组成,通常为了节省空间以压缩和只读的文件系统存放,比如以Linux下CRAMFS存放。为了进一步节省存储空间,备份操作系统、备份Shell脚本解释器、备份更新程序通常是工作系统中的一个简化版本。
所述用户数据区(User Database)150用于存放应用程序用到的各种数据记录,通常存储在可读写的文件系统中,比如Linux下的JFFS2或者YAFFS文件系统中以文件的方式存储。
所述系统数据区(System Database)140通常只保存网络配置参数和更新过程中用到的少量数据,所以通常单独放置在一个很小的Flash分区中,并不用到文件系统,它在系统更新过程中不会被擦除。
本发明方法的网络设备软件系统更新流程,具体如图2所示,其系统更新程序(Updater)除了具有从软件更新服务器上下载文件功能外,还有执行下载文件的功能。
所述系统更新程序(Updater)是运行在客户端的具有解析更新控制文件,并按照更新控制文件的指令进行网络设备身份确认,从软件更新服务器下载文件,校验下载文件,执行下载文件,或将下载文件写入指定位置功能应用程序。
系统更新控制文件(System Updating Control File)是由网络设备厂商设计,并随新的软件版本一起发布在更新服务器上的用于控制网络设备更新流程的脚本文件。
用户数据库处理程序(User Database Processor)是一个可在网络设备上独立运行的用户数据库导出导入或备份的小应用程序,它通常有多个版本放置在更新服务器上,由系统更新程序下载到网络设备中执行。
软件更新服务器(Software Updating Server)是一个由网络设备厂商管理或网络设备厂商委托第三方管理的网络服务器。可以是一个通用的Web服务器或FTP服务器,也可以是特别设计的一个可以下载文件的网络服务器。它负责新的网络设备软件版本发布和更新文件发布。
所述系统更新程序首先从机顶盒厂商软件更新服务器上下载系统更新控制文件,系统更新控制文件控制机顶盒更新流程。如果需要更新用户数据库,更新程序根据机顶盒当前数据库系统版本号,从软件更新服务器下载相应版本的用户数据库处理程序到机顶盒内,并运行数据库处理程序。数据库处理程序将工作系统所在的Flash分区擦除,随后将用户数据区UserDatabase的数据拷贝到原工作系统分区中备份起来,拷贝完成后将拷贝的目标位置和大小记录在System Database中,以防止在接下来的UserDatabase处理过程中因掉电等原因造成用户数据丢失。
所述系统更新程序本身在网络设备出厂之前便存储在设备存储器中,它负责下载和解析更新控制文件,并根据更新控制文件中的指令实现网络设备内软件系统的更新操作,它本身也是可被更新的。
所述数据库处理程序将原用户数据区(User Database)转换成新的版本格式的用户数据(New User Database)存储到原用户数据分区。用户数据处理成功后,更新程序再次擦除工作系统所在的分区(Work System),将新版本的工作系统Work System数据的影像文件下载到工作系统分区中,实现工作系统软件的更新操作。
如果需要,网络设备厂商也可以将备份系统Backup System的影像文件放置到更新服务器,并控制网络设备更新备份系统,即擦除备份系统所在的分区,将下载的备份系统影像文件写入备份系统分区即可。
本发明方法的网络设备软件系统更新后的启动流程如图3所示,在以上每一步更新操作成功后,更新程序都会在系统数据区System Database 140中置相应的系统更新控制标志Flag,如果更新过程中掉电,机顶盒下次启动所述启动上载模块Bootloader 110会分析这些标志决定启动工作系统还是备份系统。启动原则是,一旦主系统更新完成,而在更新备份系统时掉电,所述启动上载模块Bootloader 110启动更新后的主系统,即工作系统,主系统启动后运行系统更新程序(Updater)125继续更新备份系统。否则,如果是更新主系统时掉电,原有的备份系统肯定没有遭到破坏,此时启动上载模块Bootloader 110启动备份系统,继续进行系统更新操作。
本发明方法采用了软件系统高可靠性自适应更新方式,网络设备厂商能够通过更新控制文件,灵活地控制机顶盒内所有软件模块的更新操作,并保证了软件系统更新过程不会造成机顶盒软件系统和用户数据的破坏。本发明方法应用领域广泛,可应用在嵌入式网络(有线网络或无线网络)设备中,比如IPTV机顶盒、智能手机、PDA、路由器、各中金融终端等设备上。
应当理解的是,上述针对本发明较佳实施例的描述较为具体,但不能因此而认为是对本发明专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。

Claims (6)

1.一种网络设备软件系统高可靠性自适应远程更新的方法,其包括以下步骤:
A、网络设备中软件更新程序从软件更新服务器上下载更新控制文件,解析更新控制文件,进行网络设备身份认证,软件系统版本比较;
B、更新数据库分区;
C、升级除数据库分区以外的其他软件部分;
所述步骤B还包括:
B1、下载并运行数据库处理程序;
B2、识别并读取网络设备原数据库;
B3、将原数据库格式转化为新版本的数据库格式;
B4、将新的数据库写入软件更新的目标位置;
所述数据库处理程序将用户数据区的数据拷贝到原工作系统分区中备份起来,拷贝完成后将拷贝的目标位置和大小记录在系统数据区中,在原数据库格式转化为新版本的数据库格式之后,将新版本的数据库存储到原用户数据分区;
所述网络设备软件中设置有备份系统,在工作系统故障时启动该备份系统。
2.根据权利要求1所述的方法,其特征在于,所述工作系统中以压缩和只读的文件系统存放各工作软件模块。
3.根据权利要求1所述的方法,其特征在于,所述备份系统中以压缩和只读的文件系统存放。
4.根据权利要求2或3所述的方法,其特征在于,所述步骤A还包括:从所述软件更新服务器下载更新控制文件,用于控制网络设备的更新流程。
5.根据权利要求4所述的方法,其特征在于,所述步骤B还包括:
B01、根据网络设备当前数据库系统版本号,从所述软件更新服务器下载相应版本的用户数据库处理程序到网络设备内,并运行数据库处理程序;
B02、所述数据库处理程序将工作系统所在分区擦除,并将用户数据区的数据拷贝到原工作系统分区中备份,拷贝完成后将拷贝的目标位置和大小记录在系统数据区中;
B03、所述数据库处理程序将原用户数据区转换成的新版本格式用户数据存储到软件更新后目标数据区位置;
B04、所述软件更新程序再次擦除工作系统区,将新版本的工作系统数据下载到工作系统区中,实现工作系统软件的更新操作。
6.根据权利要求5所述的方法,其特征在于,所述步骤B还包括:
所述网络设备将备份系统的数据放置到所述软件更新服务器,并通过更新控制文件控制机顶盒更新备份系统。
CN 200710125434 2007-12-21 2007-12-21 一种网络设备软件系统高可靠性自适应远程更新的方法 Active CN101188516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710125434 CN101188516B (zh) 2007-12-21 2007-12-21 一种网络设备软件系统高可靠性自适应远程更新的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710125434 CN101188516B (zh) 2007-12-21 2007-12-21 一种网络设备软件系统高可靠性自适应远程更新的方法

Publications (2)

Publication Number Publication Date
CN101188516A CN101188516A (zh) 2008-05-28
CN101188516B true CN101188516B (zh) 2013-04-17

Family

ID=39480715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710125434 Active CN101188516B (zh) 2007-12-21 2007-12-21 一种网络设备软件系统高可靠性自适应远程更新的方法

Country Status (1)

Country Link
CN (1) CN101188516B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937348A (zh) * 2010-08-20 2011-01-05 四川长虹电器股份有限公司 电视软件在线增量升级方法
CN102082966B (zh) * 2010-10-15 2013-01-02 福建新大陆通信科技股份有限公司 一种机顶盒脚本配置升级的方法
CN102300239B (zh) * 2011-09-27 2013-12-11 大唐移动通信设备有限公司 一种基站及其自启动方法
CN102880495A (zh) * 2012-10-15 2013-01-16 华为终端有限公司 移动终端及其软件升级方法
CN103092659A (zh) * 2013-01-31 2013-05-08 中国航空无线电电子研究所 脱离仿真器支持环境的dsp软件升级系统及其升级方法
EP2827275A1 (en) * 2013-07-16 2015-01-21 Gemalto SA Method for transferring user data between two instances of an application
CN103530150B (zh) * 2013-10-10 2017-03-01 上海爱数信息技术股份有限公司 一种Linux操作系统远程更新的方法
CN105095063A (zh) * 2014-05-12 2015-11-25 腾讯科技(深圳)有限公司 应用程序测试方法、装置及系统
CN104581362A (zh) * 2014-12-25 2015-04-29 四川金网通电子科技有限公司 从云端管理ott智能机顶盒的系统及方法
WO2017171749A1 (en) * 2016-03-30 2017-10-05 Ford Global Technologies, Llc Vehicle computer update authentication
CN107066294B (zh) * 2017-03-17 2020-12-29 深圳市邦华电子有限公司 一种应用安装方法、装置和一种智能终端
CN107911741A (zh) * 2017-12-14 2018-04-13 深圳Tcl新技术有限公司 可用存储空间提升方法、智能电视及计算机可读存储介质
CN109101279B (zh) * 2018-06-26 2021-08-24 珠海全志科技股份有限公司 一种多版本系统的兼容性启动方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713143A (zh) * 2004-06-24 2005-12-28 华为技术有限公司 一种嵌入式程序的兼容性升级方法
CN1713154A (zh) * 2004-06-22 2005-12-28 中兴通讯股份有限公司 一种移动通信网管系统的升级方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713154A (zh) * 2004-06-22 2005-12-28 中兴通讯股份有限公司 一种移动通信网管系统的升级方法
CN1713143A (zh) * 2004-06-24 2005-12-28 华为技术有限公司 一种嵌入式程序的兼容性升级方法

Also Published As

Publication number Publication date
CN101188516A (zh) 2008-05-28

Similar Documents

Publication Publication Date Title
CN101188516B (zh) 一种网络设备软件系统高可靠性自适应远程更新的方法
WO2021217871A1 (zh) 微服务集群部署方法、装置、计算机设备及存储介质
CN104793946B (zh) 基于云计算平台的应用部署方法和系统
CN102521031B (zh) 移动终端预置应用程序的管理方法和移动终端
CN104166561B (zh) 电子设备系统启动方法和电子设备
CN103559065B (zh) 一种ota升级的方法和系统
CN101719073B (zh) 一种基于智能客户端的按需下载实现方法
CN102402446A (zh) 应用软件的安装方法和应用软件的安装装置
CN101494930B (zh) 一种智能终端升级方法和智能终端
CN101770383B (zh) 一种跨平台版本在线升级的方法及装置
CN104182255A (zh) 一种系统应用的库文件升级方法及终端
US20230393840A1 (en) File update method and apparatus, device and storage medium
CN103077043B (zh) 一种快速启动及运行Linux的方法
KR20030071750A (ko) 정보의 업데이트 및 분산 시스템 및 방법
CN101923473B (zh) 嵌入式电子装置及更新其固件的方法
CN112882729A (zh) 应用镜像升级方法、装置、计算机设备和存储介质
CN110231949A (zh) 系统升级方法、装置、电子设备和存储介质
CN102360298A (zh) 一种终端设备的软件升级方法
CN104007992A (zh) 程序更新、启动方法及其装置
CN104657158A (zh) 一种业务系统中业务处理的方法和装置
CN104881604A (zh) 版本文件的运行方法及装置
CN104572354A (zh) 基于恢复服务的操作系统备份和恢复的方法及其设备
CN110597568B (zh) 一种插件部署方法、系统及终端
KR100648817B1 (ko) 자동 펌웨어 업데이트 시스템 및 그 방법
CN106933604B (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