一种软件自动升级的实现方法、系统和装置的制作方法

文档序号:6471904阅读:177来源:国知局
专利名称:一种软件自动升级的实现方法、系统和装置的制作方法
技术领域
本发明涉及程序软件领域,特别涉及一种软件自动升级的实现方法、系统和装置。
背景技术
目前广泛应用于各行业的应用系统中的,既有C/S (Client/Server,客户端/服务 器)结构的产品也有B/S(Browser/Server,浏览器/服务器)结构的产品,尤其根据广电业 务目前的普遍现状及业务处理的具体要求来看,C/S结构具有更强的适用性,也是目前国内 绝大部分电视台所普遍采用的产品架构。 C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、 网络通信量低、响应速度快、有利于处理大量数据。其优点还包括能充分发挥客户端 PC (Personal Computer,个人计算机)的处理能力,很多工作可以在客户端处理后再提交给 服务器;在实际应用中的表现就是客户端响应速度快。 C/S程序对信息安全的控制能力很强,更加注重业务流程,可以对权限多层次校 验,系统运行速度较快,对于广电、媒体的实际业务管理来说,实用性更强。
例如,在处理广告合同及其订单的录入、修改、停播等具体操作时,C/S结构会突 显其灵活性,如,批量处理等,链接数据库的速度很快。特别对于业务量较大的单位和机构 而言,大批量的业务处理都会在某一时段集中下达,此时,就要求系统响应和处理速度非常 快,这正是C/S结构的特点。 在实现本发明的过程中,发明人发现现有技术至少存在以下问题 C/S结构的程序属于胖客户端程序,客户端部署的程序量大,因此,需要高昂的投
资和复杂的技术支持,后期的维护成本很高,维护和升级的工作量都很大。而且,传统的C/S
结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分
快,代价高和低效率已经不适应工作需要。

发明内容
本发明实施例提供一种软件自动升级的实现方法、系统和装置,以实现对C/S客 户端程序的零维护,大量縮减维护人工和工作量。 为达到上述目的,本发明实施例一方面提供一种软件自动升级的实现方法,包 括 将完整的软件程序根据完成功能划分成至少一个独立的组件程序文件单独封 装; 标识所述至少一个独立的组件程序的版本信息; 当所述组件程序的版本信息早于服务器更新库中组件程序的版本信息时,下载升 级本地组件程序。 其中,所述标识所述至少一个独立的组件程序的版本信息,包括采用所述组件程 序文件名命名规则对所述组件程序的版本信息进行标识;或,根据所述组件程序内部的版本ID号对所述组件程序的版本信息进行标识。 其中,所述当所述组件程序的版本信息早于服务器更新库中组件程序的版本信息 时,下载升级本地组件程序包括 侦测所述服务器更新库中的所述组件程序的版本信息; 将所述服务器更新库中的所述组件程序的版本信息与本地组件版本信息库中的 所述组件程序的版本信息进行比对; 当本地组件版本信息库中的所述组件程序的版本信息早于所述服务器更新库中
的版本信息时,启动下载升级程序。 在所述启动下载升级程序之后,还包括 将所述服务器中的组件程序下载到本地,更新替换本地组件程序;
更新成功后,修改所述本地组件版本信息库。
当更新不成功时,还包括根据设置的回滚功能采用本地组件程序。
本发明实施例还提供一种软件自动升级的实现系统,包括服务器和客户终端,
所述服务器,用于部署组件程序发布软件,将最新组件程序发布到服务器端组件 库,建立服务器更新库,保存所述组件程序的最新版本信息; 所述客户终端,用于将完整的软件程序根据完成功能划分成至少一个独立的组件
程序文件单独封装;标识所述至少一个独立的组件程序的版本信息;当所述组件程序的版
本信息早于服务器更新库中组件程序的版本信息时,下载升级本地组件程序。 其中,所述标识所述至少一个独立的组件程序的版本信息,包括 采用所述组件程序文件名命名规则对所述组件程序的版本信息进行标识;或,根
据所述组件程序内部的版本ID号对所述组件程序的版本信息进行标识。
本发明实施例还提供一种客户终端,包括 划分模块,用于将完整的软件程序根据完成功能划分成至少一个独立的组件程序 文件单独封装; 管理模块,用于标识所述至少一个独立的组件程序的版本信息; 升级模块,用于当所述组件程序的版本信息早于服务器更新库中组件程序的版本
信息时,下载升级本地组件程序。
其中,所述所述升级模块包括 信息侦测子模块,用于侦测所述服务器更新库中的所述组件程序的版本信息;
信息比对子模块,用于将所述信息侦测子模块侦测的所述组件程序的版本信息与 本地组件版本信息库中的所述组件程序的版本信息进行比对; 处理子模块,用于当本地组件版本信息库中的所述组件程序的版本信息早于所述
服务器更新库中的版本信息时,启动下载升级程序。 所述升级模块还包括 更新子模块,用于将所述服务器中的组件程序下载到本地,更新替换本地组件程 序; 信息修改子模块,用于当所述更新子模块更新成功后,修改所述本地组件版本信 息库。
另外,所述客户终端还包括
5
回滚模块,用于当所述更新子模块更新不成功时,根据设置的回滚功能采用本地 组件程序。 本发明实施例还提供一种服务器,包括 发布模块,用于部署组件程序发布软件,将最新组件程序发布到服务器端组件 库; 信息管理模块,用于建立服务器更新库,保存所述组件程序的最新版本信息。
与现有技术相比,本发明实施例具有以下优点本发明实施例可广泛应用于各行 业的C/S结构程序软件中,克服了C/S程序维护量大、部署困难等问题,从而实现C/S结构 程序的零维护和自动升级,大量縮减维护人工和工作量,增强用户体验。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的 附图。
图1是本发明实施例一种软件自动升级的实现方法的流程图;
图2是本发明实施例另一种软件自动升级的实现方法流程图;
图3是本发明实施例中实现软件自动升级系统结构示意图;
图4是本发明实施例中服务器结构示意图;
图5是本发明实施例中客户终端结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基 于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其 他实施例,都属于本发明保护的范围。 本发明实施例提供了一种软件自动升级的实现方法,该实现方法的流程如图1所 示,包括以下步骤 步骤S101,将完整的软件程序根据完成功能划分成至少一个独立的组件程序文件 单独封装。 步骤S102,标识所述至少一个独立的组件程序的版本信息。 其中,可以采用组件程序文件名命名规则对所述组件程序的版本信息进行标识;
或,根据所述组件程序内部的版本ID号对所述组件程序的版本信息进行标识。 步骤S103,当所述组件程序的版本信息早于服务器更新库中组件程序的版本信息
时,下载升级本地组件程序。 具体的,侦测所述服务器更新库中的所述组件程序的版本信息; 将所述服务器更新库中的所述组件程序的版本信息与本地组件版本信息库中的
所述组件程序的版本信息进行比对; 当本地组件版本信息库中的所述组件程序的版本信息早于所述服务器更新库中
6的版本信息时,启动下载升级程序。 另外,在启动下载升级程序之后,还包括 将所述服务器中的组件程序下载到本地,更新替换本地组件程序;更新成功后,修 改所述本地组件版本信息库;当更新不成功时,根据设置的回滚功能采用本地组件程序。
通过采用本发明实施例,可以实现对客户端程序的零维护,大量縮减维护人工和 工作量,增强用户体验。 对于C/S结构中的程序软件开发,实现C/S客户端软件的自动升级,本发明实施例 提供了另一种软件自动升级的实现方法,该方法的流程如图2所示,包括以下步骤
步骤S201, C/S客户端程序软件进行模块化、组件化的开发。 为了实现客户端程序的自动升级,客户端程序软件的开发必须遵循模块化、组件 化的开发方法,将构成整个客户端的完整程序,按照完成功能切分成多个独立的组件文件, 并对组件文件进行单独程序封装。客户端主程序调用各组件程序完成整体功能。这是实现 客户端程序自动升级的前提条件。 步骤S202,构建客户端程序各组件版本管理机制,明确标识各组件的版本信息。
其中,标识各组件的版本信息,可采用组件文件名命名规则或组件内部的版本ID 号进行标识。构建合理的组件版本管理是系统实现的关键,客户端主程序在每次启动时,首 先检查各组件与服务器端更新库中的组件版本号,如果版本不是最新的,则启动更新程序, 自动下载最新版本组件,并更新本地版本信息库。 步骤S203,开发客户端自动侦测升级模块,下载最新版本的组件到客户端。
其中,自动侦测升级模块功能可以包括自动侦测网络服务器端更新库中组件的 新版本;下载升级更新;更新客户端软件版本库等。 为了实现客户端软件程序的自动升级,客户端还需在应用系统之外,额外开发自
动升级模块,同时,服务器端需要开发部署组件发布软件,将最新组件发布到服务器端组件
库,并建立服务器端更新库,保存最新组件的版本信息。如在主程序每次启动时,自动侦测
升级模块首先检查网络中服务器端更新库的客户端软件最新版本,并与本地版本信息库中
所对应的组件的版本信息进行比对,如果本地版本信息库中的版本信息早于服务器端更新
库中的版本信息,则启动下载升级程序,下载最新版本的组件到客户端。 下载升级程序采用通用网络协议,如采用FTP (File Transfer Protocol,文件传
输协议)或Http (Hypertext Transfer Protocol,超文本传输协议)协议将最新版本组件
下载到本地,并更新替换本地程序。由于在主程序每次启动时,自动升级的侦测程序最先
运行,其它组件程序此时还未加载,因此可以对本地组件程序进行更新。更新成功后,修改
本地组件版本信息库。如果不成功,自动升级程序应设计回滚功能,采用本地原有的组件程序。 需要说明的是,步骤S202和步骤S203没有先后顺序,在客户端实行程序软件模块 化、组件化的开发时,同时需要根据程序软件开发模式配置侦测升级模块,以实现客户端软 件程序的自动升级。 通过采用本发明实施例,系统对客户端程序软件进行模块化组件技术开发,并部 署运行于客户端软件的软件智能升级功能,能够克服三层C/S结构软件部署困难、维护不 易的弱点,自动侦测服务器端的软件升级组件版本,在系统启动时,自动从服务端下载升级
7最新版本的组件,方便完成系统的更新,增强了用户体验。 本发明实施例还提供一种实现软件自动升级的系统,如图3所示,包括服务器 301和客户终端302。 其中,服务器301用于部署组件程序发布软件,将最新组件程序发布到服务器端 组件库,建立服务器更新库,保存所述组件程序的最新版本信息; 客户终端302用于将完整的软件程序根据完成功能划分成至少一个独立的组件 程序文件单独封装;标识所述至少一个独立的组件程序的版本信息;当所述组件程序的版 本信息早于服务器更新库中组件程序的版本信息时,下载升级本地组件程序。对于所述组 件程序的版本信息,可以采用所述组件程序文件名命名规则进行标识;或,根据所述组件程 序内部的版本ID号对其进行标识。 其中,服务器301的结构,如图4所示,可以包括 发布模块3011,用于部署组件程序发布软件,将最新组件程序发布到服务器端组 件库; 信息管理模块3012,用于建立服务器更新库,保存所述组件程序的最新版本信息。
其中,客户终端302的结构,如图5所示,可以包括 划分模块3021,用于将完整的软件程序根据完成功能划分成至少一个独立的组件 程序文件单独封装; 管理模块3022,用于标识所述至少一个独立的组件程序的版本信息; 升级模块3023,用于当所述组件程序的版本信息早于服务器更新库中组件程序的
版本信息时,下载升级本地组件程序。 其中,升级模块3023还可以包括 信息侦测子模块30231,用于侦测所述服务器更新库中的所述组件程序的版本信 息; 信息比对子模块30232,用于将所述信息侦测子模块30231侦测的所述组件程序
的版本信息与本地组件版本信息库中的所述组件程序的版本信息进行比对; 处理子模块30233,用于当本地组件版本信息库中的所述组件程序的版本信息早
于所述服务器更新库中的版本信息时,启动下载升级程序; 更新子模块30234,用于将所述服务器中的组件程序下载到本地,更新替换本地组 件程序; 信息修改子模块30235,用于当更新子模块30234更新成功后,修改所述本地组件 版本信息库。 客户终端302还可以包括回滚模块3024,用于当所述更新子模块30234更新不 成功时,根据设置的回滚功能采用本地组件程序。 通过本发明实施例提供的实现自动升级的系统,客户终端302利用划分模块3021 将一个完整的软件程序根据完成功能的不同,划分成多个独立的组件程序文件,并对该多 个独立的组件程序文件进行单独封装,然后通过管理模块3022标识该多个独立的组件程 序的版本信息,可以采用组件程序文件名命名规则进行标识,或者根据组件程序内部的版 本ID号对其进行标识,并将组件程序的版本信息保存在本地版本更新库中。在主程序启动 时,信息侦测子模块30231首先侦测网络中的服务器更新库的客户终端302软件组件的版本信息,通过信息比对子模块30232将所述信息侦测子模块30231侦测到的所述组件程序的版本信息与本地组件版本信息库中的组件程序的版本信息进行比对,当本地组件版本信息库中的所述组件程序的版本信息早于所述服务器更新库中的版本信息时,即通过处理子模块30233启动下载升级程序。更新子模块30234将服务器301中的组件程序下载到本地,并更新替换本地组件程序,更新成功后,然后由信息修改子模块30235修改本地组件版本信息库。如果更新不成功,回滚模块3024根据设置的回滚功能采用本地组件程序。通过本发明实施例,可以实现对客户端程序的零维护,大量縮减维护人工和工作量,增强用户体验。 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。 本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。 本发明实施例可广泛应用于各行业的C/S结构程序软件中,不仅限于广电行业,只要采用的是客户终端/服务器架构,客户终端将软件程序进行模块化、组件化管理,通过主程序调用各个独立的组件完成整体功能,服务器端相应的设计部署组件的发布软件程序,客户终端都可以在主程序启动前自动侦测网络服务器端组件的最新版本,并下载升级本地组件程序,完成客户终端软件程序的自动及时更新。有利于克服客户终端/服务器程序软件维护量大、部署困难等问题,实现程序零维护和自动升级。 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明,可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
9
权利要求
一种软件自动升级的实现方法,其特征在于,包括将完整的软件程序根据完成功能划分成至少一个独立的组件程序文件单独封装;标识所述至少一个独立的组件程序的版本信息;当所述组件程序的版本信息早于服务器更新库中组件程序的版本信息时,下载升级本地组件程序。
2. 如权利要求1所述软件自动升级的实现方法,其特征在于,所述标识所述至少一个 独立的组件程序的版本信息,包括采用所述组件程序文件名命名规则对所述组件程序的版本信息进行标识;或, 根据所述组件程序内部的版本ID号对所述组件程序的版本信息进行标识。
3. 如权利要求1所述软件自动升级的实现方法,其特征在于,所述当所述组件程序的 版本信息早于服务器更新库中组件程序的版本信息时,下载升级本地组件程序包括侦测所述服务器更新库中的所述组件程序的版本信息;将所述服务器更新库中的所述组件程序的版本信息与本地组件版本信息库中的所述 组件程序的版本信息进行比对;当本地组件版本信息库中的所述组件程序的版本信息早于所述服务器更新库中的版 本信息时,启动下载升级程序。
4. 如权利要求3所述软件自动升级的实现方法,其特征在于,所述启动下载升级程序 之后,还包括将所述服务器中的组件程序下载到本地,更新替换本地组件程序; 更新成功后,修改所述本地组件版本信息库。
5. 如权利要求3所述软件自动升级的实现方法,其特征在于,当更新不成功时,还包括根据设置的回滚功能采用本地组件程序。
6. —种软件自动升级的实现系统,包括服务器和客户终端,其特征在于, 所述服务器,用于部署组件程序发布软件,将最新组件程序发布到服务器端组件库,建立服务器更新库,保存所述组件程序的最新版本信息;所述客户终端,用于将完整的软件程序根据完成功能划分成至少一个独立的组件程序 文件单独封装;标识所述至少一个独立的组件程序的版本信息;当所述组件程序的版本信 息早于服务器更新库中组件程序的版本信息时,下载升级本地组件程序。
7. 如权利要求6所述软件自动升级的实现系统,其特征在于,所述标识所述至少一个 独立的组件程序的版本信息,包括采用所述组件程序文件名命名规则对所述组件程序的版本信息进行标识;或, 根据所述组件程序内部的版本ID号对所述组件程序的版本信息进行标识。
8. —种客户终端,其特征在于,包括划分模块,用于将完整的软件程序根据完成功能划分成至少一个独立的组件程序文件 单独封装;管理模块,用于标识所述至少一个独立的组件程序的版本信息;升级模块,用于当所述组件程序的版本信息早于服务器更新库中组件程序的版本信息 时,下载升级本地组件程序。
9. 如权利要求8所述客户终端,其特征在于,所述升级模块包括 信息侦测子模块,用于侦测所述服务器更新库中的所述组件程序的版本信息; 信息比对子模块,用于将所述信息侦测子模块侦测的所述组件程序的版本信息与本地组件版本信息库中的所述组件程序的版本信息进行比对;处理子模块,用于当本地组件版本信息库中的所述组件程序的版本信息早于所述服务 器更新库中的版本信息时,启动下载升级程序。
10. 如权利要求9所述客户终端,其特征在于,所述升级模块还包括更新子模块,用于将所述服务器中的组件程序下载到本地,更新替换本地组件程序; 信息修改子模块,用于当所述更新子模块更新成功后,修改所述本地组件版本信息库。
11. 如权利要求9所述客户终端,其特征在于,还包括回滚模块,用于当所述更新子模块更新不成功时,根据设置的回滚功能采用本地组件 程序。
12. —种服务器,其特征在于,包括发布模块,用于部署组件程序发布软件,将最新组件程序发布到服务器端组件库; 信息管理模块,用于建立服务器更新库,保存所述组件程序的最新版本信息。
全文摘要
本发明实施例公开了一种软件自动升级的实现方法、系统和装置,该方法包括将完整的软件程序根据完成功能划分成至少一个独立的组件程序文件单独封装;标识所述至少一个独立的组件程序的版本信息;当所述组件程序的版本信息早于服务器更新库中组件程序的版本信息时,下载升级本地组件程序。通过本发明实施例,可以实现对客户端程序的零维护,大量缩减维护人工和工作量,增强用户体验。
文档编号G06F9/445GK101770375SQ20081024079
公开日2010年7月7日 申请日期2008年12月26日 优先权日2008年12月26日
发明者王堃越 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1