一种软件客户端通过网络进行更新的方法及系统的制作方法
【专利摘要】本发明公开了一种软件客户端通过网络进行更新的方法及系统,首先对更新器进行更新,待更新器更新后,通过新版本的更新器对软件客户端进行更新,避免旧版本的更新器因缺陷可能导致软件客户端无法更新的问题;在对软件客户端时行更新时,新版本的更新器在更新脚本文件时,则能够执行特殊操作,如修改软件的目录结构、修改用户的配置项、创建快捷方式、对磁盘文件进行整理、上报用户数据、弹出特殊公告窗口等,使软件客户端的更新一次性完成,减少甚至消除后续可能产生产生的问题。
【专利说明】一种软件客户端通过网络进行更新的方法及系统
【技术领域】
[0001]本发明涉及软件客户端的更新,特别是一种软件客户端通过网络进行更新的方法及系统。
【背景技术】
[0002]软件客户端的更新一般是通过互联网实现的,主要是由更新器程序对打包文件和常规文件进行更新,以便实现软件客户端的更新。更新器程序在更新时,是利用旧版本的更新器程序,如果更新器程序存在缺陷,软件客户端则无法更新,因此,如果将更新器程序更新后,通过新版本的更新器程序对软件客户端进行更新,则可以避免此类问题。同时,旧版本的更新器程序在对打包文件和常规文件更新后,软件客户端的更新即相应完成,但其他与软件客户端相关的更新则无法完成,如修改软件的目录结构、修改用户的配置项、创建快捷方式、对磁盘文件进行整理、上报用户数据、弹出特殊公告窗口等,因此,现有的常规更新方式明显存在有缺陷。
【发明内容】
[0003]为解决上述问题,本发明的目的在于提供一种软件客户端通过网络进行更新的方法及系统,首先更新更新器,避免旧版本的更新器可能存在缺陷的问题,再通过新版本的更新器对软件客户端进行更新,包括目录结构、快捷方式等特殊更新。
[0004]本发明解决其问题所采用的技术方案是:
一种软件客户端通过网络进行更新的方法,包括:
更新器程序检测自身版本号,当检测到有新版本号的更新器程序时,更新器程序进行更新,更新器程序更新后,则由新版本更新器检测软件客户端的版本号,当检测到软件客户端有新版本号时,则对软件客户端进行常规更新。
[0005]所述方法还包括:
当更新器程序没有检测到有新版本号的更新器程序时,更新器直接检测软件客户端的版本号,当软件客户端有新版本号时,则对软件客户端进行常规更新。
[0006]所述更新器程序进行更新时,从网络服务端下载新版本的更新器程序替换旧版本的更新器程序。
[0007]所述对软件客户端进行更新时,由更新器程序从网络服务端下载软件客户端的更新包,所述更新包包含有常规文件、打包文件和脚本文件,更新器程序依次根据常规文件、打包文件和脚本文件对软件客户端进行更新。
[0008]所述更新器程序根据常规文件对软件客户端进行更新时,直接将常规文件从更新包中解压出来,并将其覆盖至软件客户端下的同名文件。
[0009]所述更新器程序根据打包文件对软件客户端进行更新时,直接将打包文件从更新包中解压出来,并将其与软件客户端下指定的打包文件合并。
[0010]所述脚本文件中的脚本内容为通过解释器执行的脚本语言或用于在任一操作系统执行的脚本程序。
[0011]一种软件客户端通过网络进行更新的系统,包括:
更新器模块,用于更新器程序检测自身版本号,当检测到有新版本号的更新器程序时,更新器程序进行更新;
软件客户端更新模块,用于在更新器程序更新后,由新版本更新器程序检测软件客户端的版本号,当检测到软件客户端有新版本号时,则对软件客户端进行常规更新。
[0012]所述软件客户端更新模块还用于当更新器程序没有检测到有新版本号的更新器程序时,由更新器直接检测软件客户端的版本号,当软件客户端有新版本号时,则对软件客户端进行常规更新。
[0013]所述更新器程序进行更新时,从网络服务端下载新版本的更新器程序替换旧版本的更新器程序。
[0014]所述对软件客户端进行更新时,由更新器程序从网络服务端下载软件客户端的更新包,所述更新包包括常规文件、打包文件和脚本文件,更新器程序依次根据常规文件、打包文件和脚本文件对软件客户端进行更新。
[0015]所述更新器程序根据常规文件对软件客户端进行更新时,直接将常规文件从更新包中解压出来,并将其覆盖至软件客户端下的同名文件。
[0016]所述更新器程序根据打包文件对软件客户端进行更新时,直接将打包文件从更新包中解压出来,并将其与软件客户端下指定的打包文件合并。
[0017]所述脚本文件中的脚本内容为通过解释器执行的脚本语言或用于在任一操作系统执行的脚本程序。
[0018]本发明的有益效果是:
本发明采用的一种软件客户端通过网络进行更新的方法及系统,将更新器更新后,通过新版本的更新器对软件客户端进行更新,避免旧版本的更新器因缺陷可能导致软件客户端无法更新的问题;在对软件客户端时行更新时,新版本的更新器在更新脚本文件时,则能够执行特殊操作,如修改软件的目录结构、修改用户的配置项、创建快捷方式、对磁盘文件进行整理、上报用户数据、弹出特殊公告窗口等,使软件客户端的更新一次性完成,减少甚至消除后续可能产生产生的问题。
【专利附图】
【附图说明】
[0019]下面结合附图和实例对本发明作进一步说明。
[0020]图1是本发明所述方法中软件客户端更新示意图;
图2是本发明所述方法流程图;
图3是本发明所述方法中更新器更新流程图;
图4是本发明所述方法中软件客户端更新流程图。
【具体实施方式】
[0021]参照图1所示软件客户端更新示意图,软件客户端包括常规文件和打包文件,还包括更新器程序和此软件版本号文件,所述软件版本号文件记录了软件客户端的版本号。软件客户端在更新时,需要下载相应的更新包,参照图中所示,更新包包括需要更新的常规文件和打包文件,还包括有更新器程序、更新器版本号文件和软件版本号文件。常规的软件客户端更新,使用旧版本的更新器程序,如果更新器程序存有缺陷,软件客户端的更新就无法进行。因此,本发明首先对更新器程序进行更新,之后再对软件客户端进行更新。
[0022]参照图2所示的方法流程图,本发明首先对更新器程序进行更新,检测更新器程序自身的版本号,若检测到较新版本的更新器程序,说明软件客户端中的更新器程序有新版本,软件客户端直接从网络服务端下载新版本的更新器程序,并替换旧版本的更新器程序。之后,启动新版本的更新器程序,由新版本的更新器程序检测软件客户端版本号,若有新的版本号,则由新版本的更新器程序执行并完成软件客户端的常规更新。如果没有检测到到较新版本的更新器程序,则说明更新器程序没有更新,则直接通过更新器程序进行常规更新。
[0023]参照图3所示的更新器更新流程图,通过更新器版本号的对比确定更新器程序是否需要更新,软件客户端的更新器程序在启动后,更新器程序访问更新服务端上的更新器版本号文件,并读取出其中的版本号,此版本号为服务端更新器的版本号,之后更新器程序读取自身的版本号,将两者进行对比,若服务端更新器的版本号小于或等于此自身版本号,则表明更新器程序无需更新,此时更新器更新步骤结束。相反,说明更新器程序需要更新,则下载服务端的更新器程序,替换客户端的更新器程序。因为此更新器程序正在运行,因此,本发明将目前更新器程序(即软件客户端的更新器程序)移动到一个临时目录,将下载到的新版本更新器移动到原更新器所在的位置,以此完成替换。
[0024]参照图4所示软件客户端更新流程图,更新器程序完成更新后,需要更新软件客户端,具体更新时,程序会判断是否对更新器进行了更新,如果没有更新,则直接进入常规更新,如果进行了更新,则需要通过新版本的更新器对软件客户端进行更新,此时,旧版本的更新器程序会通过一个独立的进程启动新版本的更新器程序,等新版本的更新器程序启动后,老版本更新器程序结束运行,新版本的更新器程序进入常规更新过程后,删除老版本的更新器程序。常规更新过程中,新版本的更新器程序首先访问更新服务端的软件版本号文件,读取其中的软件版本号,并将其与本地软件客户端的版本号进行对比,若本地软件客户端版本号大于等于服务端软件版本号,则表明客户使用的是较新的软件产品,此时不需要对软件客户端进行更新;若本地客户端软件版本号小于服务端软件版本号,则表明客户端的软件版本落后,需要进行常规更新。则开始常规更新过程:
新版本的更新器下载服务端新版本软件所对应的更新包文件,更新包文件为一个压缩或非压缩的打包文件,里面打包存储了这次更新所需要的文件,包括常规文件、打包文件和脚本文件,更新器依次对这些文件进行处理。更新器首先查看下载的更新包中是否有常规文件,如果有常规文件,则将这些文件直接替换客户端目录下的同名文件;之后,更新器查看下载的更新包中是否有打包文件,如果有打包文件,则将打包文件与客户端下的打包文件合并,合并主要包括有两种方式,一种是将其与客户端下的同名打包文件合并,一种是将其合并到客户端下的最后一个打包文件上;以上两个过程完成后,更新器查看更新包中是否有脚本文件,如果有脚本文件,表明这次更新除了更新软件客户端的数据以外,还需要进行其他较为复杂的操作,脚本文件中的脚本内容为通过解释器执行的脚本语言或用于在任一操作系统执行的脚本程序,更新器执行更新包中的脚本文件即可完成特定的任务,包括修改软件产品目录结构、修改用户的某个配置项、创建快捷方式等,其中,何种任务以及如何操作,由脚本文件内容决定,更新器只负责执行此脚本。整个步骤完成之后,本次更新过程完成,成功更新软件客户端。相对于使用旧版本的更新器,本发明避免了旧版本可能存在缺陷使软件客户端无法更新的问题,并且,也能完成脚本文件中的特殊更新,一次性全部更新,为以后用户使用带来了方便。
[0025]本发明提供了一种软件客户端通过网络进行更新的系统,包括:
更新器模块,用于更新器程序检测自身版本号,当检测到有新版本号的更新器程序时,从网络服务端下载新版本的更新器程序替换旧版本的更新器程序,对更新器程序进行更新;
软件客户端更新模块,用于在更新器程序更新后,由新版本更新器程序检测软件客户端的版本号,当检测到软件客户端有新版本号时,则对软件客户端进行常规更新:由更新器程序从网络服务端下载软件客户端的更新包,所述更新包包括常规文件、打包文件和脚本文件,更新器程序依次根据常规文件、打包文件和脚本文件对软件客户端进行更新。当更新器程序没有检测到有新版本号的更新器程序时,由更新器直接检测软件客户端的版本号,当软件客户端有新版本号时,则对软件客户端进行常规更新。
[0026]其中,更新器程序根据常规文件对软件客户端进行更新时,直接将常规文件从更新包中解压出来,并将其覆盖至软件客户端下的同名文件;更新器程序根据打包文件对软件客户端进行更新时,直接将打包文件从更新包中解压出来,并将其与软件客户端下指定的打包文件合并;所述脚本文件中的脚本内容为通过解释器执行的脚本语言或用于在任一操作系统执行的脚本程序,更新器根据脚本文件中的内容执行相应的操作,完成更新。
[0027]以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。
【权利要求】
1.一种软件客户端通过网络进行更新的方法,其特征在于,包括: 更新器程序检测自身版本号,当检测到有新版本号的更新器程序时,更新器程序进行更新,更新器程序更新后,则由新版本更新器检测软件客户端的版本号,当检测到软件客户端有新版本号时,则对软件客户端进行常规更新。
2.根据权利要求1所述的一种软件客户端通过网络进行更新的方法,其特征在于,所述方法还包括: 当更新器程序没有检测到有新版本号的更新器程序时,更新器直接检测软件客户端的版本号,当软件客户端有新版本号时,则对软件客户端进行常规更新。
3.根据权利要求1或2所述的一种软件客户端通过网络进行更新的方法,其特征在于,所述更新器程序进行更新时,从网络服务端下载新版本的更新器程序替换旧版本的更新器程序。
4.根据权利要求1或2所述的软件一种软件客户端通过网络进行更新的方法,其特征在于,所述对软件客户端进行更新时,由更新器程序从网络服务端下载软件客户端的更新包,所述更新包包含有常规文件、打包文件和脚本文件,更新器程序依次根据常规文件、打包文件和脚本文件对软件客户端进行更新。
5.根据权利要求4所述的一种软件客户端通过网络进行更新的方法,其特征在于,所述更新器程序根据常规文件对软件客户端进行更新时,直接将常规文件从更新包中解压出来,并将其覆盖至软件客户端下的同名文件。
6.根据权利要求4所述的一种软件客户端通过网络进行更新的方法,其特征在于,所述更新器程序根据打包文件对软件客户端进行更新时,直接将打包文件从更新包中解压出来,并将其与软件客户端下指定的打包文件合并。
7.根据权利要求4所述的一种软件客户端通过网络进行更新的方法,其特征在于,所述脚本文件中的脚本内容为通过解释器执行的脚本语言或用于在任一操作系统执行的脚本程序。
8.一种软件客户端通过网络进行更新的系统,其特征在于,包括: 更新器模块,用于更新器程序检测自身版本号,当检测到有新版本号的更新器程序时,更新器程序进行更新; 软件客户端更新模块,用于在更新器程序更新后,由新版本更新器程序检测软件客户端的版本号,当检测到软件客户端有新版本号时,则对软件客户端进行常规更新。
9.根据权利要求8所述的一种软件客户端通过网络进行更新的系统,其特征在于,所述软件客户端更新模块还用于当更新器程序没有检测到有新版本号的更新器程序时,由更新器直接检测软件客户端的版本号,当软件客户端有新版本号时,则对软件客户端进行常规更新。
10.根据权利要求8或9所述的一种软件客户端通过网络进行更新的系统,其特征在于,所述更新器程序进行更新时,从网络服务端下载新版本的更新器程序替换旧版本的更新器程序。
11.根据权利要求8或9所述的一种软件客户端通过网络进行更新的系统,其特征在于,所述对软件客户端进行更新时,由更新器程序从网络服务端下载软件客户端的更新包,所述更新包包括常规文件、打包文件和脚本文件,更新器程序依次根据常规文件、打包文件和脚本文件对软件客户端进行更新。
12.根据权利要求11所述的一种软件客户端通过网络进行更新的系统,其特征在于,所述更新器程序根据常规文件对软件客户端进行更新时,直接将常规文件从更新包中解压出来,并将其覆盖至软件客户端下的同名文件。
13.根据权利要求11所述的一种软件客户端通过网络进行更新的系统,其特征在于,所述更新器程序根据打包文件对软件客户端进行更新时,直接将打包文件从更新包中解压出来,并将其与软件客户端下指定的打包文件合并。
14.根据权利要求11所述的一种软件客户端通过网络进行更新的系统,其特征在于,所述脚本文件中的脚本内容为通过解释器执行的脚本语言或用于在任一操作系统执行的脚本程序。·
【文档编号】G06F9/445GK103442077SQ201310397442
【公开日】2013年12月11日 申请日期:2013年9月4日 优先权日:2013年9月4日
【发明者】吴才忠, 刘畅, 胡浩, 梁波, 李翔威 申请人:珠海金山网络游戏科技有限公司, 珠海西山居祥游科技有限公司