专利名称:网络装置及其软件更新方法
技术领域:
本发明涉及一种网络装置及其软件更新方法,尤其涉及一可自动更新软件的网络装置及其软件更新方法。
背景技术:
数字机顶盒(Set-top box)、缆线调制解调器(Cable Modem)以及非对称数字回路调制解调器(ADSL Modem)等网络装置包括有核心软件(Kernel)以及非核心软件(包括应用程序以及驱动程序等)。用户在使用时,通常会遇到需增加网络装置中的软件数量,以扩展网络装置的功能,或需更新软件版本,以提高数据传输速率等诸多问题。因此,适时且恰当的增加软件数量,或更新软件的版本就显得尤为重要。通常在更新软件时,要通过人工的介入才可实现。而在进行手动更新时,要求进行更新的人员需具有相关的专业知识,才可保证更新软件的可靠性。如果是一般的用户进行软件的更新,就有损坏网络装置的危险。
所以,需要一种网络装置及其软件更新方法,以更新网络装置的软件。
发明内容为解决上述现有技术存在的不足,需要解决的技术问题在于提供一种包括有一软件更新模块的网络装置。
需要解决的另一技术问题在于提供一种利用所述网络装置中的软件更新模块更新软件的方法。
一种网络装置,包括有一软件更新模块,用于自动更新网络装置的软件以保持与服务器端的软件一致,此软件更新模块包括一版本文件下载单元,用于从服务器端下载一新版本文件;一主体检查单元,用于检查新版本文件有无新软件;一软件下载单元,用于下载新软件;一主体更新单元,用于更新网络装置的软件。
作为上述技术方案的进一步改进,还包括一解密单元,用于解密新版本文件;一验证单元,用于验证新软件是否有效;一核心软件检查单元,用于检查新软件是否为核心软件。所述主体检查单元还包括一新增软件检查单元,用于检查新版本文件是否包含新增软件;一版本检查单元,用于检查新版本文件是否包含较新版本软件。所述主体更新单元还包括一核心软件更新单元,用于更新核心软件;一非核心软件更新单元,用于更新非核心软件。
一种软件更新方法,其通过一软件更新模块更新网络装置的软件,以使网络装置的软件与服务器端的软件保持一致,此方法包括如下步骤从服务器端下载一新版本文件;检查新版本文件,以确定有无新软件;当有新软件时下载新软件;更新网络装置的软件。
作为上述技术方案的进一步改进,还包括解密新版本文件的步骤;检查新版本文件是否包含新增软件的步骤;检查新版本文件是否包含较新版本软件的步骤;验证新软件是否有效的步骤;检查新软件是否为核心软件的步骤;当新软件为核心软件时,更新核心软件的步骤;当新软件为非核心软件时,更新非核心软件的步骤。所述核心软件更新流程还包括如下步骤将核心软件写入网络装置的存储装置;更新旧版本文件中核心软件信息;删除网络装置中的临时文件夹;重新开机。所述非核心软件更新流程还包括如下步骤将非核心软件转移至目标文件夹;更新旧版本文件;将相应软件标记为已更新。
上述技术方案由于可通过软件更新模块自动更新网络装置中的软件,使得其比起现有的人工更新方法更加安全、可靠、简便。
图1为本发明网络装置的软件更新模块的示意图。
图2为本发明网络装置的软件更新模块更新软件的方法流程图。
图3为本发明网络装置的核心软件更新单元更新核心软件的方法流程图。
具体实施方式目前的网络装置中都存放有一版本文件(Version File),本发明通过对比网络装置与服务器端的版本文件中的各项信息以达到自动更新软件的目的。版本文件所包括的信息有文件名(Filename),即网络装置所储存的软件的名称;版本(Version),网络装置更新软件时,通过版本信息将服务器端的软件版本与网络装置的软件版本进行对比,以决定是否需要更新软件版本;日期(Date),相应版本软件的发行日期;路径(Path),即软件放置在哪一个文件夹中;摘要(Digest),即用于确认软件是否正确的验证串,例如MD5(信息-摘要算法,Message-Digest Algorithm 5)验证;批注(Comment),用于对软件做进一步说明。本实施方式中的网络装置包括数字机顶盒(Set Top Box)、非对称数字环路调制解调器(ADSLModem)及缆线调制解调器(Cable Modem)等。
请参阅图1,所示为本发明网络装置的软件更新模块100的示意图。软件更新模块100用于更新网络装置的软件,以使网络装置的软件与服务器端的软件保持一致。软件更新模块100包括一版本文件下载单元111、一解密单元113、一主体检查单元115、一软件下载单元117、一验证单元119、一核心软件检查单元121、一主体更新单元123。其中主体检查单元115包括一新增软件检查单元1151以及一版本检查单元1152,主体更新单元123包括一非核心软件更新单元1231以及一核心软件更新单元1232。
在本发明的实施方式中,版本文件下载单元111用于从服务器端下载新版本文件,解密单元113用于解密新版本文件。主体检查单元115用于检查经过解密的新版本文件有无新软件的信息,其中新增软件检查单元1151用于检查经过解密的新版本文件有无新增软件的信息,版本检查单元1152用于检查经过解密的新版本文件有无较新版本软件的信息。软件下载单元117用于下载新增软件以及较新版本的软件。验证单元119用于验证软件下载单元117下载的软件是否有效。核心软件检查单元121用于检查通过验证单元119验证的软件是否为核心软件。主体更新单元123的非核心软件更新单元1231用于更新非核心软件,核心软件更新单元1232用于更新核心软件。
请参阅图2,所示为本发明软件更新模块100更新软件的方法流程图。在本实施方式中,软件更新模块100在更新软件之前,即已在网络装置的闪存(Flash Memory)中储存有一旧版本文件。软件更新模块100在进行更新软件前首先建立一临时文件夹。临时文件夹用于存放在后续的更新过程中从服务器端下载的版本文件或软件,更新软件完成后网络装置将临时文件夹中的所有数据转移至目标文件夹,然后将此临时文件夹删除。本实施方式中,不同的软件具有不同的目标文件夹。
当网络装置启动后,进入步骤S211,软件更新模块100检查网络装置的存储装置中是否存在旧的临时文件夹。如果软件更新模块100检查到有旧的临时文件夹存在,则进入步骤S212将此旧的临时文件夹删除,这样可确保网络装置的存储装置有足够的空间来进行本次更新过程。软件更新模块100删除旧的临时文件夹后,接着进入步骤S213建立一新的临时文件夹。在步骤S211中,如果软件更新模块100未检查到有旧的临时文件夹,则直接进入步骤S213建立新的临时文件夹。
进入步骤S215,版本文件下载单元111通过小文件传输协议(TFTP,Trivial File Transfer Protocol)从服务器端下载一新版本文件并将其放置在步骤S213所建立的临时文件夹中,然后解密单元113解密此新版本文件。
进入步骤S217,新增软件检查单元1151检查是否有新增软件。具体为,新增软件检查单元1151首先对旧版本文件与新版本文件所列出的软件信息进行排序,排序完成后两个版本文件中的软件信息将按照相同的顺序各自排列,接着新增软件检查单元1151对比两个版本文件中所列出的软件的数量,以达到检查有无新增软件的目的。在本实施方式中,新增软件检查单元1151将旧版本文件与新版本文件的软件信息按日期从小到大进行排序。在其它实施方式中,也可按文件名进行排列。新增软件检查单元1151将所有的软件信息排完序后,即对比旧版本文件与新版本文件所列出的软件的数量。如果新版本文件的软件数量较旧版本文件的软件数量要多,则表明有新增的软件。接着进入步骤S218,软件下载单元117下载新增软件。
具体为,在本实施方式中,由于新增软件检查单元1151在步骤S217中已经将旧版本文件与新版本文件所列出的软件信息按日期从小到大进行排列,所以新增软件检查单元1151在步骤S217中如果已检查出有新增软件,即按照日期的先后顺序下载新增软件。本实施方式中,如果新增软件为多个,则软件下载单元117每次只下载一个新增的软件,下载完成后首先将其放置在临时文件夹中,余下的新增软件需在下一循环中进行下载。每下载完成一个新增软件,需进入步骤S220,通过验证单元119验证下载的软件是否有效。如果有效,则进入步骤S227将下载的软件转移至目标文件夹。如果无效,则返回步骤S218通过软件下载单元117重新下载本次验证失败的软件。值的注意的是,由于新增软件不可能为核心软件,所以本实施方式中如果检查到有新增软件,就不需要进入步骤S225检查新增软件是否为核心软件。
在步骤S217中,如果新增软件检查单元1151对比新版本文件与旧版本文件的软件数量的结果为相等,表明服务器端无新增软件。接着进入步骤S219,版本检查单元1152根据版本文件中的版本信息逐个对比新版本文件与旧版本文件软件的新旧。本实施方式中,软件的对比也是每次只对比一个,且其对比顺序也是按版本文件的日期信息逐个对比每个软件的新旧。如果版本检查单元1152发现新版本文件中的某一软件版本较旧版本文件对应的软件要新,便进入步骤S221,通过软件下载单元117通过小文件传输协议从服务器端下载最新版本的软件。下载完成后,进入步骤S223通过验证单元119验证下载的软件是否有效。如果有效,则进入步骤S225。如果无效,则返回步骤S221重新下载较新版本的软件,然后重复步骤S223,接着再进入步骤S225。如果在步骤S219中,版本检查单元1152未发现有最新版本的软件,即直接进入步骤S230,将此软件标记为已更新。
在步骤S225中,核心软件检查单元121通过检查新版本文件中的文件名信息,检查在步骤S221中软件下载单元117所下载的软件是否为核心软件。如果是核心软件则进入节点A,详情请参阅图3。
在步骤S225中,如果核心软件检查单元121检查到所下载的软件并非核心软件,则直接进入步骤S227将下载的软件转移至目标文件夹。
在步骤S227中,软件更新模块100将所下载的软件转移至目标文件夹后。接着进入步骤S229,软件更新模块100更新其旧版本文件中的相应软件的信息,然后进入步骤S230,软件更新模块100将此软件标记为已更新。接着进入步骤S231,软件更新模块100根据新版本文件所列出的软件数量,检查是否所有的软件都已经更新完毕。如果未更新完毕,返回步骤S217进入下一循环的更新。如果已经更新完毕,进入步骤S233删除在步骤S213中所建立的临时文件夹,结束整个更新过程。软件更新完成后,旧版本文件中的软件信息(包括软件的个数及版本)与新版本文件中的软件信息完全相同。
请参阅图3,所示为本发明的核心软件更新单元1232更新核心软件的方法流程图。从图2的节点A(步骤S225)进入步骤S226,核心软件更新单元1232将下载的核心软件写入闪存;随后进入步骤S228,核心软件更新单元1232更新旧版本文件中的核心软件信息;接着进入步骤S232,核心软件更新单元1232删除在步骤S213中所建立的临时文件夹;然后进入步骤S234,重新启动,以确保所下载的核心软件可正确执行,最后进入图2中的节点B(步骤S211)以进行下一循环的更新。
本发明网络装置100及其软件更新方法,可通过软件更新模块自动更新软件,较现有人工更新方法更加安全、可靠、简便。
权利要求
1.一种网络装置,包括有一软件更新模块,用于自动更新所述网络装置的软件以保持与服务器端的软件一致,其特征在于所述软件更新模块包括一版本文件下载单元,用于从所述服务器端下载一新版本文件;一主体检查单元,用于检查所述新版本文件有无新软件;一软件下载单元,用于下载所述新软件;一主体更新单元,用于更新所述网络装置的软件。
2.如权利要求1所述的网络装置,其特征在于所述软件更新模块还包括一解密单元,用于解密所述新版本文件。
3.如权利要求1所述的网络装置,其特征在于所述新软件包括新增软件以及较新版本的软件。
4.如权利要求3所述的网络装置,其特征在于所述主体检查单元还包括一新增软件检查单元,用于检查所述新版本文件是否包含新增软件。
5.如权利要求3所述的网络装置,其特征在于所述主体检查单元还包括一版本检查单元,用于检查所述新版本文件是否包含较新版本软件。
6.如权利要求1所述的网络装置,其特征在于所述软件更新模块还包括验证单元,用于验证所述新软件是否有效。
7.如权利要求6所述的网络装置,其特征在于所述新软件包括核心软件以及非核心软件。
8.如权利要求7所述的网络装置,其特征在于所述软件更新模块还包括核心软件检查单元,用于检查所述新软件是否为核心软件。
9.如权利要求7所述的网络装置,其特征在于所述主体更新单元还包括一核心软件更新单元,用于更新核心软件。
10.如权利要求7所述的网络装置,其特征在于所述主体更新单元还包括一非核心软件更新单元,用于更新非核心软件。
11.一种软件更新方法,其通过一软件更新模块更新网络装置的软件,以使网络装置的软件与服务器端的软件保持一致,其特征在于所述方法包括如下步骤从所述服务器端下载一新版本文件;检查所述新版本文件,以确定有无新软件;如果有新软件下载所述新软件;更新所述网络装置的软件。
12.如权利要求11所述的软件更新方法,其特征在于还包括解密所述新版本文件的步骤。
13.如权利要求11所述的软件更新方法,其特征在于所述新软件包括新增的软件以及较新版本的软件。
14.如权利要求13所述的软件更新方法,其特征在于还包括检查所述新版本文件是否包含新增软件的步骤。
15.如权利要求13所述的软件更新方法,其特征在于还包括检查所述新版本文件是否包含较新版本软件的步骤。
16.如权利要求11所述的软件更新方法,其特征在于还包括验证所述新软件是否有效的步骤。
17.如权利要求11所述的软件更新方法,其特征在于所述新软件包括核心软件以及非核心软件。
18.如权利要求17所述的软件更新方法,其特征在于还包括检查所述新软件是否为核心软件的步骤。
19.如权利要求18所述的软件更新方法,其特征在于还包括有当所述新软件为核心软件时,更新所述核心软件的步骤。
20.如权利要求19所述的软件更新方法,其特征在于所述核心软件更新流程包括如下步骤将所述核心软件写入所述网络装置的存储装置;更新所述旧版本文件中所述核心软件信息;删除网络装置中的临时文件夹;重新开机。
21.如权利要求18所述的软件更新方法,其特征在于还包括当所述新软件为非核心软件时,更新所述非核心软件的步骤。
22.如权利要求21所述的软件更新方法,其特征在于所述非核心软件更新流程包括如下步骤将所述非核心软件转移至目标文件夹;更新所述旧版本文件;将相应软件标记为已更新。
全文摘要
一种网络装置,包括有一软件更新模块,用于自动更新网络装置的软件以保持与服务器端的软件一致,此软件更新模块包括一版本文件下载单元,用于从服务器端下载一新版本文件;一主体检查单元,用于检查新版本文件有无新软件;一软件下载单元,用于下载新软件;一主体更新单元,用于更新网络装置的软件。本发明还提供有一种利用上述网络装置中的软件更新模块更新软件的方法。本发明网络装置及其软件更新方法,可通过软件更新模块自动更新软件,较现有人工更新方法更加安全、可靠、简便。
文档编号H04L12/24GK1928818SQ20051003724
公开日2007年3月14日 申请日期2005年9月9日 优先权日2005年9月9日
发明者郑淑敏, 黄祺翰, 陈志豪 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司