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

文档序号:7657232阅读:123来源:国知局
专利名称:一种网络设备软件系统高可靠性自适应远程更新的方法
技术领域
本发明涉及一种网络设备软件系统的更新方法,尤其涉及的是一种
IPTV机顶盒软件更新方法。
背景技术
现有技术的数字电视IPTV机顶盒的软件系统需要不断完善和更新,现 有的软件更新方式有多种 一是,清除原有设备的所有信息,将新的软件 版本下载到IPTV机顶盒中;二是,只清除机顶盒中数据库以外的存储空间, 仔细设计新的版本,保证与原有版本的的数据库兼容,将新版本软件覆盖 原有版本;三是,保留操作系统环境,只更新某些应用,不更新用户数据 区。
方式一在更新新的软件版本后,需要用户重新写入数据,其操作繁瑣, 有可能由于丟失重要数据导致机顶盒不能工作,而给用户带来重大损失; 同时系统更新过程中有可能掉电破坏机顶盒软件系统后无法再恢复。方式 一虽然能够彻底更新系统,但缺点是更新不可靠,很可能造成软件系统破 坏无法恢复。
方式二能够更新整个软件系统并且保留用户数据,而且也能保证数据
库与新的系统兼容,但是由于没有备份系统的存在,系统更新过程不可靠, 而且为了要保持新旧版本的数据库兼容,为新的软件版本开发人员带来很 多限制,比如数据库必须在第一个版本设计完美,不能在后续版本中做重 大修改,后续软件版本不能改变存储介质的分区大小和位置等等。即使按 照这些限制条件小心设计出来的版本也可能由于if争版本升级软件而导致机
顶盒无法正常工作。
方式三由于操作系统环境和用户数据库都不更新,因而更新系统过程 中即使掉电也不会造成软件系统破坏,但是新版本的应用程序有可能不兼 容原操作系统和用户数据库,从而造成系统无法正常工作。 因此,现有技术还存在缺陷,而有待于改进和发展。

发明内容
本发明的目的在于提供一种网络设备软件系统高可靠性自适应远程更 新的方法,采用自动识别更新前后的软件版本,将旧版本的数据库智能的 导入到新软件版本数据库的方式,同时避免用户数据丟失以及对开发的限
制。 ,
本发明的技术方案包括
一种网络设备软件系统高可靠性自适应远程更新的方法,其包括以下 步骤
A、 网络设备中软件更新程序从软件更新服务器上下载更新控制文件, 解析更新控制文件,进行网络设备身份认证,软件系统版本比较;
B、 更新数据库分区;
C、 升级除数据库分区以外的其他软件部分。 所述的方法,其中,所述步骤B还包括 Bl、下载并运行数据库处理程序;
B2、识别并读取网络设备原数据库;
B3、将原数据库格式转化为新版本的数据库格式;
B4、将新的数据库写入软件更新的目标位置。
所述的方法,其中,所述网络设备软件中设置有备份系统,在工作系 统故障时启动该备4分系统。
所述的方法,其中,所述工作系统中以压缩和只读的文件系统存放各
工作软件模块。
所述的方法,其中,所述备份系统中以压缩和只读的文件系统存放。
所述的方法,其中,所述步骤A还包括从所述软件更新服务器下载 更新控制文件,用于控制网络设备的更新流程。 所述的方法,其中,所述步骤B还包括
BOl、根据网络设备当前数据库系统版本号,从所述软件更新服务器下 载相应版本的用户数据库处理程序到网络设备内,并运行数据库处理程序;
B02、所述数据库处理程序将工作系统所在分区擦除,并将用户数据区 的数据拷贝到原工作系统分区中备份,拷贝完成后将拷贝的目标位置和大 小记录在系统数据区中;
B03、所述数据库处理程序将原用户数据区转换成的新版本格式用户数 据存储到软件更新后目标数据区位置;
B04、所述更新程序再次擦除工作系统区,将新版本的工作系统数据下 载到工作系统区中,实现工作系统软件的更新操作。
所述的方法,其中,所述步骤B还包括
所述网络设备将备份系统的数据放置到所述软件更新服务器,并通过 更新控制文件控制机顶盒更新备份系统。
本发明所提供的 一种网络设备软件系统高可靠性自适应远程更新的方 法,由于采用了软件系统高可靠性自适应的更新方式,数字电视IPTV机顶 盒的厂商能够通过更新控制文件,灵活地控制机顶盒内所有软件模块的更 新操作,并保证软件系统在更新过程不会造成机顶盒软件系统和用户数据 的破坏,保证了软件更新过程中的稳定性,同时方便了开发人员自行开发 的过程。


图1为本发明的网络设备的软件系统结构示意图2为本发明方法的网络设备软件更新流程示意图3为本发明方法的网络设备软件更新后启动的流程示意图4为本发明方法的网络设备软件更新的基本流程示意图。
具体实施例方式
以下结合附图,将对本发明的较佳实施例进行更为详细的说明。 本发明的网络设备软件系统高可靠性自适应远程更新的方法,如图4 所示,是本发明方法的基本流程,本发明方法主要是一软件方法,需设计 一设备端可执行的用户数据处理程序,放置在更新服务器上。在网络设备 检测到更新服务器上有新的版本可更新时,网路设备内系统更新程序下载 用户数据处理程序到机顶盒内存中并执行之。本发明所述用户数据处理智 能识别旧版本数据库,有选择的导出并转化成新的数据库数据格式,随后 将新的数据库数据保存到新的数据库分区中。更新程序擦除新数据库分区 以外的其它分区,并下载新版本软件,更新其他软件部分。 本发明方法的具体实施例分解说明如下
如图1所示是本发明方法中网络设备通用的软件系统结构图,网络设 备的操作系统等程序和数据库等数据一般放置于Flash存储器中100,如图 1所示,将软件系统规划在Flash的五个分区中启动上载模块Bootloader 110、工作系统Work System 120、备份系统Backup System 130、系统数据 区System Database 140、用户数据区User Database 150。
所述启动上载模块Bootloader IIO根据系统数据区(System Database) 140中的系统更新控制标记Flag,有选4奪地启动工作系统(Work System) 120或者备份系统(Backup System) 130,启动原则是工作系统破坏时,启 动备份系统。
所述工作系统(Work System) 120由操作系统(Operation System)121 、 Shell脚本解释器122、工作应用程序(OtherApplications)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分区擦除,随后将用户数据区User Database的数据拷贝到原工作系统分区中备份起来,拷贝完成后将拷贝的 目标位置和大小记录在System Database中,以防止在接下来的User Database处理过程中因掉电等原因造成用户数据丢失。
所述系綵更新程序本身在网络设备出厂之前便存储在设备存储器中, 它负责下载和解析更新控制文件,并根据更新控制文件中的指令实现网络 设备内软件系统的更新操作,它本身也是可被更新的。
所述数据库处理程序将原用户数据区(User Database)转换成新的版本 格式的用户数据(New User Database)存储到原用户数据分区。用户数据处理 成功后,更新程序再次〗察除工作系统所在的分区(Work System),将新版本 的工作系统Work System数据的影像文件下载到工作系统分区中,实现工作 系统软件的更新操作。
如果需要,网络设备厂商也可以将备份系统Backup System的影像文件 放置到更新服务器,并控制网络设备更新备份系统,即擦除备份系统所在 的分区,将下载的备份系统影像文件写入备份系统分区即可。
本发明方法的网络设备软件系统更新后的启动流程如图3所示,在以 上每一步更新操作成功后,更新程序都会在系统数据区System Database 140 中置相应的系统更新控制标志Flag,如果更新过程中掉电,机顶盒下次启动所述启动上载才莫块Bootloader 110会分析这些标志决定启动工作系统还 是备份系统。启动原则是, 一旦主系统更新完成,而在更新备份系统时掉 电,所述启动上载^f莫块Bootloader 110启动更新后的主系统,即工作系统, 主系统启动后运行系统更新程序(Updater) 125继续更新备份系统。否则, 如果是更新主系统时掉电,原有的备份系统肯定没有遭到破坏,此时启动 上载模块Bootloader 110启动备份系统,继续进行系统更新操作。
本发明方法采用了软件系统高可靠性自适应更新方式,网络设备厂商 能够通过更新控制文件,灵活地控制机顶盒内所有软件模块的更新操作, 并保证了软件系统更新过程不会造成机顶盒软件系统和用户数据的破坏。 本发明方法应用领域广泛,可应用在嵌入式网络(有线网络或无线网络) 设备中,比如IPTV机顶盒、智能手机、PDA、路由器、各中金融终端等设 备上。
应当理解的是,上述针对本发明较佳实施例的描述较为具体,但不能 因此而认为是对本发明专利保护范围的限制,本发明的专利保护范围应以 所附权利要求为准。
权利要求
1、一种网络设备软件系统高可靠性自适应远程更新的方法,其包括以下步骤A、网络设备中软件更新程序从软件更新服务器上下载更新控制文件,解析更新控制文件,进行网络设备身份认证,软件系统版本比较;B、更新数据库分区;C、升级除数据库分区以外的其他软件部分。
2、 根据权利要求1所述的方法,其特征在于,所述步骤B还包括 Bl、下载并运行数据库处理程序;B2、识别并读取网络设备原数据库;B3、将原数据库格式转化为新版本的数据库^^式;B4、将新的数据库写入软件更新的目标位置。
3、 根据权利要求2所述的方法,其特征在于,所述网络设备软件中设 置有备份系统,在工作系统故障时启动该备份系统。
4、 根据权利要求3所述的方法,其特征在于,所述工作系统中以压缩 和只读的文件系统存放各工作软件模块。
5、 根据权利要求3所述的方法,其特征在于,所述备份系统中以压缩 和只读的文件系统存》文。
6、 根据权利要求4或5所述的方法,其特征在于,所述步骤A还包括: 从所述软件更新服务器下载更新控制文件,用于控制网络设备的更新流程。
7、 根据权利要求6所述的方法,其特征在于,所述步骤B还包括 BOl、根据网络设备当前数据库系统版本号,从所述软件更新服务器 下载相应版本的用户数据库处理程序到网络设备内,并运行数据库处理程序;B02、所述数据库处理程序将工作系统所在分区擦除,并将用户数据区的数据拷贝到原工作系统分区中备份,拷贝完成后将拷贝的目标位置和大小记录在系统数据区中; B03、所述数据库处理程序将原用户数据区转换成的新版本格式用户数据存储到软件更新后目标数据区位置; B04、所述更新程序再次擦除工作系统区,将新版本的工作系统数据下载到工作系统区中,实现工作系统软件的更新操作。
8、根据权利要求7所述的方法,其特征在于,所述步骤B还包括 所述网络设备将备份系统的数据放置到所述软件更新服务器,并通过 更新控制文件控制机顶盒更新备份系统。
全文摘要
本发明公开了一种网络设备软件系统高可靠性自适应远程更新的方法,其包括以下步骤网络设备中更新程序从软件更新服务器上下载和解析更新控制文件;进行网络设备的身份认证和本地软件系统版本比较;由更新控制文件控制更新数据库分区;由更新控制文件控制更新除数据库分区以外的其他软件部分。本发明方法由于采用了软件系统高可靠性自适应的更新方式,网络设备的厂商能够通过更新控制文件,灵活地控制网络设备内所有软件模块的更新操作,保证网络设备在更新过程不会造成软件系统和用户数据的破坏,并保证了软件更新过程中的稳定性,同时方便了开发人员自行开发的过程。
文档编号H04L12/24GK101188516SQ20071012543
公开日2008年5月28日 申请日期2007年12月21日 优先权日2007年12月21日
发明者周燕清 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1