外设设备软件升级的方法、计算机及系统的制作方法

文档序号:6604228阅读:188来源:国知局
专利名称:外设设备软件升级的方法、计算机及系统的制作方法
技术领域
本发明涉及移动通信应用领域,特别涉及一种外设设备软件升级的方法、计算机 和系统。
背景技术
以无线调制解调器(又称数据卡)为代表的移动宽带产品,为了连接计算机正常 使用,其常用的软件包括两类固件Firmware和主机侧客户端软件(Dashboard软件)。其 中,Firmware指的是运行在数据卡内部嵌入式平台上的嵌入式软件;Host软件一般是运 行在计算机上的是管理数据卡的PC软件。当这两种软件需要升级时,由于受到数据卡硬 件平台的限制,不一定能实现软件的增量升级,通常需要计算机下载完整的Firmware和 Dashboard安装包。然而,很多的软件升级版本仅仅只是在原来版本的基础上修改了很小的 地方,为了这些很小的修改点来下载庞大的“完整包”,增加了下载的数据量,从而导致了用 户的费用、下载时间的增加,同时也浪费了系统的带宽资源。为了解决这一问题,开放移动联盟OMA定义了一种FOTA技术,可以实现数据卡软 件的增量升级。这种技术的关键是如何计算两个版本的差分包,对于不同的设备平台、其算 法是完全不同的。另外,在计算机软件领域,增量升级的实现是计算机从服务器上下载增量的软件 升级包,并在计算机上运行后更新本地的软件版本,例如windows的补丁程序、杀毒软件的
病毒库升级。发明人发现,现有技术并没有提供一种针对与计算机相连的外设设备的、外设设 备软件的高效率升级方案。

发明内容
为解决现有技术中针对PC外设设备软件升级缺少高效率方案的问题,本发明实 施例提供一种外设设备软件升级的方法、计算机和系统,采用本发明实施例的方法、计算机 和系统,可以有效提高系统带宽利用率,降低用户在外设设备软件升级上支出的网络资费。—方面,本发明实施例提供一种外设设备软件升级方法,适用于具有外设设备的 计算机对主机侧客户端软件的升级,该方法包括计算机接收服务器下发的用于主机侧客户端软件升级的增量包;所述计算机利用所述增量包和本地存储的主机侧客户端软件已有版本的软件包, 打包生成主机侧客户端软件升级的完整包,并将所述完整包写入所述外设设备。另一方面,本发明实施例提供的一种使用上述外设设备软件升级计算机,包括接收模块,用于接收服务器下发的用于主机侧客户端软件升级的增量包;生成模块,用于用所述增量包和本地存储的主机侧客户端软件已有版本的软件 包,打包生成主机侧客户端软件升级的完整包;第一发送模块,用将所述完整包写入所述外设设备。
另一方面,本发明实施提供的一种外设设备软件升级的系统,包括服务器、计算机 和所述计算机的外设设备;所述服务器用于存储主机侧客户端软件升级的增量包,并向所述计算机下发;所述计算机用于,接收服务器下发的用于主机侧客户端软件升级的增量包;利用 所述增量包和本地存储的主机侧客户端软件已有版本的软件包,打包生成主机侧客户端软 件升级的完整包,并将所述完整包发送给所述外设设备运行;所述外设设备用于接收所述完整包,完成所述主机侧客户端软件的升级。由上述方案可以看出,本发明实施例提供的外设设备软件升级的方法、计算机和 系统,实现了一种针对主机侧客户端软件已有版本的增量升级,从而有效提高了系统带宽 利用率,降低了用户在外设设备软件升级上支出的网络资费,同时易于实现且广泛适用。


图1为本发明实施例一外设设备软件升级方法的流程示意图;图2为本发明实施例二外设设备软件升级方法的流程示意图。
具体实施例方式以下结合附图对具体实施方式
加以说明。图1所示为本发明实施一外设设备软件升级方法的流程示意图,该方法适用于具 有外设设备的计算机对主机侧客户端软件的升级。如图所示,该方法包括下列步骤101、计算机接收服务器下发的用于主机侧客户端软件升级的增量包。例如第一次发布的主机侧客户端软件包括以下组件:dl. exe, d2. dll,d3. dll, d4. dll,而且这些文件已经在计算机上安装完毕。现在的升级版本的Dashboard包括的组 件是,dl. exe, d2a. dll, d3a. dll, d4. dll。由于仅仅升级了两个文件,即从d2. dll升级到 d2a. dll, JA d3. dll升级到d3a. dll。那么此次下发的增量包就包括d2a. dll和d3a. dll两 个文件。102、计算机利用所述增量包和本地存储的主机侧客户端软件已有版本的软件包, 打包生成主机侧客户端软件升级的完整包。为了直观的说明本发明实施例,此处仍利用上面的例子计算机在收到内容为 d2a. dll和d3a. dll两个文件的增量包后,读取本地保存的版本,即"dl. exe, d2. dll, d3. dll, d4. dll”四个文件,然后用“Dashboard增量包”替换其中的对应文件,最后生成 "Dashboard 完整包,,,即"dl. exe, d2a. dll, d3a. dll, d4. dll,,四个文件。103、将所述完整包写入所述外设设备。通过本实施例,计算机可以针对主机侧客户端软件已有版本的增量升级,从而有 效提高了系统带宽利用率,降低了用户在外设设备软件升级上支出的网络资费,同时易于 实现且广泛适用。图2为本发明实施例二外设设备软件升级方法的流程示意图。该方法适用于具有 外设设备的计算机对主机侧客户端软件的升级。如图所示,该方法包括下列步骤201、计算机向服务器上报已有版本的版本号,查询是否有新版本,即是否需要升 级。
例如计算机向服务器上报的已有版本为1. 0. 0,可以采用下述信息表示< ? xml version = “ 1.0〃 encoding = “ utf-8 “ ? >〈client〉<dashboard><version>l. 0. 0</version></dashboard>〈/client〉上述信息为可扩展标记语言XML的基本格式,其中定义了主机侧客户端软件的版 本号是1. 0. 0。202、服务器根据上报的版本号,检查是否有合适的增量包供计算机升级。具体的,服务器如果收到“当前版本是1. 0. 0”的信息,需要查看是否已经有合适的 增量包供计算机升级,如果有,则进行步骤203,如果没有,则下发一个通知消息告知计算机 此时不需要升级。203、服务器下发增量包配置文件,该配置文件用于通知计算机有新的版本,配置 文件还包括新版本的校验和。配置文件可以用如下的形式表示< ? xml version = " 1.0〃 encoding = " utf-8" ? ><server><old_version>l. 0. 0</old_version><new_version>l. 0. l</new_version><new_version_ckm>AABBCCDD</new_version_ckm><files><url>http://www. aaa. com/update/d2. dll</url><ur1>http://www. aaa. com/update/d3. dll</url></files></server>上述配置文件传达给计算机的信息是,有新的版本“1.0. 1”,新版本的校验和是
“AABBCCDD” (可以理解,校验和的计算可以采用现有的检验算法,例如CRC-32算法等);±曾 量升级文件有两个,d2. dll和d3. dll以及对应的url,并且下载的地址是http //www, aaa. com/update/d2. dll 和 http//www. aaa. com/update/d3. dll。204、计算机从服务器下载增量包。由于上面的配置文件已经告知了计算机下载增量包的信息,即从下面的网址下载 d2. dll 和 d3. dll <ur1>http//www. aaa. com/update/d2. dll</url><ur1>http://www. aaa. com/update/d3. dll</url>此时,计算机利用该地址获取增量包。205、计算机返回下载结果。可选的,计算机在下载完成或下载失败时,可通知服务器本次下载的结果,以便服 务器进行相应的操作。例如计算机本次下载完成,服务器可以在收到结果后不做任何操作,而如果本次下载失败,服务器可以与计算机进行一次增量包的重传。206、计算机利用增量包和已有版本的主机侧客户端软件进行二次打包。由于计算机上已经存有完整映像,即“dl. exe,d2. dll,d3. dll,d4. dll”四个文件, 这是主机侧客户端软件的1. 0. 0版本;现在把下载的增量升级文件“d2. dll和d3. dll”覆 盖上去,就构成了新的“dl.exe,d2. dll, d3. dll, d4. dll”四个文件,也就是说现在的主机 侧客户端软件已经变为1. 0. 1的版本了。207、计算机检查二次打包获得版本的完整性。将二次打包后的完整映像进行校验和运算,然后与步骤203中收到的服务器上的 新版本的校验和进行比较,如果两个一致,则说明二次打包后的版本完整正确,如果不一 致,计算机向所述服务器返回失败响应,请求所述服务器再次下发所述主机侧客户端软件 升级的增量包。208、计算机向外设设备下发二次打包得到的完整升级包。需要说明的是,上述的外设设备可以是数据卡,手机,用户驻地设备CPE,CPE上连 接的任何设备或家庭网关上连接的任何设备。上述完成整个升级过程的具体可以是计算机 内安装的主机侧客户端软件。通过本实施例,计算机可以针对主机侧客户端软件已有版本的增量升级,而且提 供了保证增量升级正确完整的验证方案,从而有效提高了系统带宽利用率,降低了用户在 外设设备软件升级上支出的网络资费,同时易于实现且广泛适用。相应的,本发明实施例还提供一个使用上述实施例一的软件升级方法的个人计算 机,该计算机包括接收模块,用于接收服务器下发的用于主机侧客户端软件升级的增量包;生成模块,用于用所述增量包和本地存储的主机侧客户端软件已有版本的软件 包,打包生成主机侧客户端软件升级的完整包;第一发送模块,用于将所述完整包写入所述外设设备。例如第一次发布的主机侧客户端软件包括以下组件:dl. exe, d2. dll, d3. dll, d4. dll,而且这些文件已经在计算机上安装完毕。现在的升级版本的Dashboard包括的组 件是,dl. exe, d2a. dll, d3a. dll, d4. dll。由于仅仅升级了两个文件,即从d2. dll升级到 d2a. dll, JA d3. dll升级到d3a. dll。那么此次下发的增量包就包括d2a. dll和d3a. dll两 个文件。接收模块在收到内容为d2a. dll和d3a. dll两个文件的增量包后,生成读取本地保 存的版本,即"dl. exe, d2. dll, d3. dll, d4. dll ”四个文件,然后用“Dashboard增量包”替 换其中的对应文件,最后生成“Dashboard 完整包”,BP "dl. exe, d2a. dll,d3a. dll,d4. dll” 四个文件,然后第一发送模块完成将完整包写入外设设备的操作。本实施例的计算机可以针对主机侧客户端软件已有版本的增量升级,从而有效提 高了系统带宽利用率,降低了用户在外设设备软件升级上支出的网络资费,同时易于实现 且广泛适用。具体的,本发明实施例四还提供一种使用上述实施例二方法的个人计算机,该计 算机包括接收模块,用于接收服务器下发的用于主机侧客户端软件升级的增量包;生成模块,用于用所述增量包和本地存储的主机侧客户端软件已有版本的软件包,打包生成主机侧客户端软件升级的完整包;第一发送模块,用于将所述完整包写入所述外设设备;存储模块,用于保存所述主机侧客户端软件已有版本的软件包。进一步的,该计算机还包括,第二发送模块,用于向所述服务器上报已有版本的版 本号,和查询所述服务器是否有新的升级版本的查询请求,并在有新的升级版本时,接收服 务器下发的新版本的校验和;所述服务器下发的增量包是用于将主机侧客户端软件从所述 计算机本地已有版本升级到所述新版本的。其中,上报可采用实施例二步骤201中的XML 格式的消息。可选的,该计算机还包括,比较模块,用于计算所述完整包的版本号的校验和,并 与所述服务器下发的新版本的版本号的校验和进行比较,且比较结果为相同。完整包的版 本号的校验和可以采用实施例二步骤203中的配置文件来发送,此处不再赘述。可选的,述计算机还包括,第三发送模块,用于若两个校验和的比较结果为不同, 向所述服务器返回失败响应,请求所述服务器再次下发所述主机侧客户端软件升级的增量 包。第三发送模块在下载完成或下载失败时,可通知服务器本次下载的结果,以便服务器进 行相应的操作。例如计算机本次下载完成,服务器可以在收到结果后不做任何操作,而如果 本次下载失败,服务器可以与计算机进行一次增量包的重传。需要说明的是,上述的外设设备可以是数据卡,手机,用户驻地设备CPE,CPE上连 接的任何设备或家庭网关上连接的任何设备。上述各个模块可以是计算机内安装的主机侧 客户端软件程序。本实施例的计算机可以针对主机侧客户端软件已有版本的增量升级,而且提供了 保证增量升级正确完整的验证方案,从而有效提高了系统带宽利用率,降低了用户在外设 设备软件升级上支出的网络资费,同时易于实现且广泛适用。本发明实施例五还提供一种使用上述实施例一方法的系统。该系统包括服务器、 计算机和所述计算机的外设设备;该服务器用于存储主机侧客户端软件升级的增量包,并向所述计算机下发;所述计算机用于,接收服务器下发的用于主机侧客户端软件升级的增量包;利用 所述增量包和本地存储的主机侧客户端软件已有版本的软件包,打包生成主机侧客户端软 件升级的完整包,并将所述完整包写入所述外设设备;所述外设设备用于接收所述完整包,完成所述主机侧客户端软件的升级。可以理解上述的计算机还可以采用实施例四中的构成方式,相应的,服务器也具 备实施例四中所述的功能。本实施例的升级系统可以针对主机侧客户端软件已有版本的增量升级,从而有效 提高了系统带宽利用率,降低了用户在外设设备软件升级上支出的网络资费,同时易于实 现且广泛适用。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 该程序在执行时,实施的步骤与方法相同,所述的存储介质,如R0M/RAM、磁碟、光盘等。以上是对本发明具体实施例的说明,在具体的实施过程中可对本发明的方法进行 适当的改进,以适应具体情况的具体需要。因此可以理解,根据本发明的具体实施方式
只是起示范作用,并不用以限制本发明的保护范围。
权利要求
一种外设设备软件升级的方法,适用于具有外设设备的计算机对主机侧客户端软件的升级,其特征在于,该方法包括计算机接收服务器下发的用于主机侧客户端软件升级的增量包;所述计算机利用所述增量包和本地存储的主机侧客户端软件已有版本的软件包,打包生成主机侧客户端软件升级的完整包,并将所述完整包写入所述外设设备。
2.如权利要求1所述的外设设备软件升级的方法,其特征在于,所述计算机在接收所 述增量包之前还包括,在本地保存所述主机侧客户端软件已有版本的软件包。
3.如权利要求2所述的外设设备软件升级的方法,其特征在于,所述计算机在保存了 已有版本的软件包之后,在接收所述增量包之前还包括,向所述服务器上报已有版本的版 本号,和查询所述服务器的主机侧客户端软件是否有新的版本的查询请求,并在有新版本 时,接收服务器下发的新版本的校验和;所述服务器下发的增量包是用于将主机侧客户端软件从所述计算机本地已有版本升 级到所述新版本的。
4.如权利要求3所述的外设设备软件升级的方法,其特征在于,在打包生成所述主机 侧客户端软件升级的完整包之后,向外设设备发送该完整包之前还包括,计算所述完整包 的版本号的校验和,并与所述服务器下发的新版本的版本号的校验和进行比较,且比较结 果为相同。
5.如权利要求4所述的外设设备软件升级的方法,其特征在于,若两个校验和的比较 结果为不同,向所述服务器返回失败响应,请求所述服务器再次下发所述主机侧客户端软 件升级的增量包。
6.如权利要求1至5任一项所述的外设设备软件升级的方法,其特征在于,所述外设设 备为数据卡,手机,用户驻地设备CPE,CPE上连接的设备或家庭网关上连接的设备。
7.一种使用如权利要求1所述的外设设备软件升级的方法的计算机,其特征在于,包括接收模块,用于接收服务器下发的用于主机侧客户端软件升级的增量包;生成模块,用于用所述增量包和本地存储的主机侧客户端软件已有版本的软件包,打 包生成主机侧客户端软件升级的完整包;第一发送模块,用于将所述完整包写入所述外设设备。
8.如权利要求7所述的计算机,其特征在于,所述计算机包括,存储模块,用于保存所 述主机侧客户端软件已有版本的软件包。
9.如权利要求8所述的计算机,其特征在于,所述计算机还包括,第二发送模块,用于 向所述服务器上报已有版本的版本号,和查询所述服务器是否有新的升级版本的查询请 求,并在有新的升级版本时,接收服务器下发的新版本的校验和;所述服务器下发的增量包 是用于将主机侧客户端软件从所述计算机本地已有版本升级到所述新版本的。
10.如权利要求9所述的计算机,其特征在于,所述计算机还包括,比较模块,用于计 算所述完整包的版本号的校验和,并与所述服务器下发的新版本的版本号的校验和进行比 较,且比较结果为相同。
11.如权利要求10所述的计算机,其特征在于,所述计算机还包括,第三发送模块,用 于若两个校验和的比较结果为不同,向所述服务器返回失败响应,请求所述服务器再次下2发所述主机侧客户端软件升级的增量包。
12. —种外设设备软件升级的系统,包括服务器、计算机和所述计算机的外设设备,其 特征在于,所述服务器用于存储主机侧客户端软件升级的增量包,并向所述计算机下发;所述计算机用于,接收服务器下发的用于主机侧客户端软件升级的增量包;利用所述 增量包和本地存储的主机侧客户端软件已有版本的软件包,打包生成主机侧客户端软件升 级的完整包,并将所述完整包写入所述外设设备;所述外设设备用于接收所述完整包,完成所述主机侧客户端软件的升级。
全文摘要
本发明公开了一种外设设备软件升级的方法、计算机和系统。该方法包括,计算机接收服务器下发的用于主机侧客户端软件升级的增量包;所述计算机利用所述增量包和本地存储的主机侧客户端软件已有版本的软件包,打包生成主机侧客户端软件升级的完整包,并将所述完整包写入所述外设设备。相应的,本发明实施例还提供使用上述方法的计算机和系统。采用本发明实施例的方法、计算机和系统,可以有效提高系统带宽利用率,降低用户在外设设备软件升级上支出的网络资费。
文档编号G06F9/445GK101883139SQ20101020086
公开日2010年11月10日 申请日期2010年6月11日 优先权日2010年6月11日
发明者钟振, 黄扬 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1