CN105808274A - 软件升级方法、系统及对应的客户端与服务器 - Google Patents
软件升级方法、系统及对应的客户端与服务器 Download PDFInfo
- Publication number
- CN105808274A CN105808274A CN201410844176.5A CN201410844176A CN105808274A CN 105808274 A CN105808274 A CN 105808274A CN 201410844176 A CN201410844176 A CN 201410844176A CN 105808274 A CN105808274 A CN 105808274A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- software
- upgrading
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明提供了一种软件升级系统,包括若干客户端、主服务器及若干分服务器,用于实现对客户端中的软件进行升级,客户端与主服务器之间通过HTTP协议实现相互联通,客户端与分服务器之间通过HTTP协议实现相互联通,主服务器与分服务器之间通过HTTP协议实现相互联通。本系统采用主服务器和分服务器的形式,若有对应的分服务器,则由分服务器负责提供下载升级服务,若无分服务器则由主服务器负责提供下载升级服务。通过这种方式,功能划分清晰,降低了功能之间耦合度,便于管理和功能扩展,提高了升级效率。本发明还提供了一种可以远程连接服务器进行升级的客户端及对客户端提供升级服务的服务器以及一种软件升级方法。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种软件升级方法及系统,还涉及对应的客户端及服务器。
背景技术
为了使系统中的软件、数据等资讯信息处于最新状态,需实时对系统进行升级维护。现有的软件版本的升级方法为:客户端检测到服务器上有新版本上传后,即从服务器下载该新版本,进而判断该新版本的版本号与自身已安装的旧版本的版本号是否相同,是则删除该新版本,否则,安装该新版本并重新启动软件。该方法的缺点在于服务器要面对大量的客户端,在新版本的集中下载期间,服务器的载荷较重,客户端的下载速度也很慢,升级效率比较低。
发明内容
为了解决上述的问题,本发明提供了一种软件升级方法、系统及对应的客户端与服务器,所述软件升级方法及系统的技术方案如下:
一种软件升级方法,包括以下步骤:
步骤1:客户端读取XML配置文件信息并向主服务器发送XML配置文件信息;
步骤2:主服务器判断客户端是否有对应的分服务器300,若无对应的分服务器,则执行步骤6;若有对应的分服务器,则执行步骤3;
步骤3:主服务器发送分服务器的地址给客户端,客户端访问对应的分服务器,分服务器依据具有升级权限的客户端列表判断客户端是否具有升级权限,是则执行步骤4;否则该客户端继续启动旧版本主程序;
步骤4:客户端访问分配的分服务器上的下载地址,下载分服务器中新版本软件的文件信息列表,并将客户端的软件信息与分服务器的文件信息列表比对,判断是否有新版本文件需要进行升级,是则确定升级文件列表并执行步骤5;否则该客户端继续启动旧版本主程序;
步骤5:客户端从分服务器的下载地址中下载升级文件列表所指定的新版本文件;
步骤6:主服务器判断客户端是否具有升级权限,是则执行步骤7;否则该客户端继续启动旧版本主程序;
步骤7:客户端访问主服务器的下载地址,下载主服务器中新版本软件的文件信息列表,判断是否有新版本文件需要进行升级,是则确定升级文件列表并执行步骤8;否则该客户端继续启动旧版本主程序;
步骤8:客户端从主服务器的下载地址中下载升级文件列表所指定的新版本文件。
一种软件升级系统,包括若干客户端、主服务器及若干分服务器,用于实现对客户端中的软件进行升级,客户端与主服务器之间通过HTTP协议实现相互联通,客户端与分服务器之间通过HTTP协议实现相互联通,主服务器与分服务器之间通过HTTP协议实现相互联通;
客户端用于对软件进行XML配置文件的读写,软件主程序启动时,读取XML配置文件信息并发送到主服务器,并向主服务器或者分服务器发送版本升级请求;
主服务器用于接收客户端的软件升级请求,判断该客户端是否具有对应的分服务器,若有对应的分服务器,则发送分服务器的地址给客户端,若无对应的分服务器,则主服务器审核客户端是否具有升级权限,并对具有升级权限的客户端提供升级服务;
分服务器用于接收客户端的软件升级请求以及主服务器发送来的具有升级权限的客户端列表,并判断客户端是否具有升级权限,对具有升级权限的客户端提供升级服务。
一种通过HTTP协议连接到服务器对软件进行升级的客户端,包括升级检查模块、文件比对模块、文件下载模块、文件升级模块以及主程序启动模块,其中:
升级检查模块用于对客户端的软件进行XML配置文件的读写上传到服务器,若需要升级,则向服务器发送版本升级请求;
文件比对模块用于将客户端的XML配置文件信息与新版本软件的文件信息列表比对,得出升级文件列表;
文件下载模块用于访问服务器的下载地址,将要下载的文件下载到客户端;
文件升级模块用于备份与替换客户端本地文件并对客户端进行注册表信息更新;
主程序启动模块用于在升级操作完成时启动主程序。
一种服务器,用于对远程客户端进行升级,其包括主服务器及若干与主服务器之间通过HTTP协议实现相互联通的分服务器,其特征在于:
主服务器用于接收客户端的软件升级请求,判断该客户端是否具有对应的分服务器,若有对应的分服务器,则发送分服务器的地址给客户端,若无对应的分服务器,则主服务器审核客户端是否具有升级权限,并对具有升级权限的客户端提供升级服务;
分服务器用于接收客户端的软件升级请求以及主服务器发送来的具有升级权限的客户端列表,并判断客户端是否具有升级权限,对具有升级权限的客户端提供升级服务。
本发明提供的技术方案带来的有益效果是:
本发明所提供的软件在线升级方法、系统及对应的客户端与服务器,采用主服务器和分服务器的形式,若客户端有对应的分服务器,则由分服务器提供软件下载升级服务,若无分服务器,则由主服务器提供软件下载升级服务。通过这种方式,功能划分清晰,便于管理和功能扩展,提高了升级效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明软件升级系统的较佳实施例的示意框图。
图2为本发明软件升级系统的较佳实施例的客户端的示意框图。
图3为本发明软件升级系统的较佳实施例的主服务器的示意框图。
图4为本发明软件升级系统的较佳实施例的分服务器的示意框图。
图5A与图5B为本发明软件升级系统的较佳实施例的具体处理流程图。
主要元件符号说明
客户端100
升级检查模块101
文件比对模块102
文件下载模块103
文件升级模块104
主程序启动模块105
通用功能模块106
主服务器200
软件类型管理模块201
主服务器软件版本管理模块202
分服务器注册审核模块203
版本下载管理模块204
主服务器公告模块205
分服务器300
系统设置模块301
分服务器注册模块302
分服务器软件版本管理模块303
客户端下载管理304
分服务器公告模块305
具体实施例
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例作进一步地详细描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,在对实施例进行描述之前,有必要对本文中出现的一些术语进行解释。例如:
本文中若出现使用“第一”、“第二”等术语来描述各种元件,但是这些元件不应当由这些术语所限制。这些术语仅用来区分一个元件和另一个元件。因此,“第一”元件也可以被称为“第二”元件而不偏离本发明的教导。
另外,应当理解的是,当提及一元件“连接”或者“联接”到另一元件时,其可以直接地连接或直接地联接到另一元件或者也可以存在中间元件。相反地,当提及一元件“直接地连接”或“直接地联接”到另一元件时,则不存在中间元件。
在本文中出现的各种术语仅仅用于描述具体的实施例的目的而无意作为对本发明的限定。除非上下文另外清楚地指出,则单数形式意图也包括复数形式。
当在本说明书中使用术语“包括”和/或“包括有”时,这些术语指明了所述特征、整体、步骤、操作、元件和/或部件的存在,但是也不排除一个以上其他特征、整体、步骤、操作、元件、部件和/或其群组的存在和/或附加。
关于实施例
本发明将可供升级的软件的版本称为新版本,而将客户端目前已安装的软件的版本称为旧版本,该旧版本是客户端上次进行软件版本的升级时所下载得到。
请参阅图1,本发明实施例的软件升级系统包括若干客户端100、主服务器200及若干分服务器300,用于实现对客户端100中的软件的升级。客户端100与主服务器200之间通过HTTP协议实现相互联通,客户端100与分服务器300之间通过HTTP协议实现相互联通,主服务器200与分服务器300之间通过HTTP协议实现相互联通。
请一并参阅图2,客户端100包括升级检查模块101、文件比对模块102、文件下载模块103、文件升级模块104、主程序启动模块105以及通用功能模块106。
升级检查模块101用于对客户端100的软件进行XML配置文件的读写,软件主程序启动时,升级检查模块101读取XML配置文件信息并发送给主服务器200,并向主服务器200或者分服务器300发送版本升级请求,并在升级完成之后,再完成XML配置文件和配置信息的更新。
文件比对模块102用于将客户端100的程序文件信息与主服务器200或者分服务器200的新版本文件信息列表比对,得出升级文件列表。
文件下载模块103用于访问主服务器200或者分服务器300发送来的下载地址,将要下载的文件下载到客户端100。
文件升级模块104用于备份与替换客户端100本地文件并对客户端100进行注册表信息更新。具体的,文件下载模块103下载完成后,客户端100关闭旧版本的软件,并备份该旧版本,用升级文件列表指定的各文件替换相应的旧文件并进行注册表信息更新。
主程序启动模块105用于在升级操作完成时启动主程序。文件升级模块104完成旧文件的替换之后,主程序启动模块105判断该升级后的软件是否能够正常启动,是则意味着此次软件版本的升级已成功,可以输出软件升级成功的信息,否则意味着此次软件版本的升级失败,客户端100要删除此次下载的版本配置信息以及升级文件列表指定的各文件,启动已备份的旧版本的软件,并输出软件升级失败的信息。
通用功能模块106用于进行文件压缩与解压缩、生成文件CRC值等操作。在升级文件下载时,通用功能模块106对大文件采用压缩解压缩的处理,节省传输带宽。通用功能模块106同时用于生成文件CRC值,提高比对准确性。
请一并参阅图3,主服务器200包括软件类型管理模块201、主服务器软件版本管理模块202、分服务器注册审核模块203、版本下载管理模块204及主服务器公告模块205。
软件类型管理模块201用于管理软件类型信息,如软件标识、软件名称和描述信息等,并对软件类型信息进行新增、修改、删除等数据操作。
主服务器软件版本管理模块202用于上传软件新版本、修改或作废已上传软件版本以及管理上传的软件版本信息,如软件名称、版本号、版本有效期及版本说明等,并对可下载升级的分服务器的限制条件、软件版本关联、是否强制升级等情况进行设置。
分服务器注册审核模块203用于接收分服务器300发出的注册请求消息,如果审核通过,则返回给分服务器300注册的ID编号,同时将审核结果发邮件给该分服务器300的联系人;如果审核被驳回,则只将审核结果发邮件给该分服务器300的联系人。审核通过意味着该分服务器300能够从主服务器200下载新版本。
版本下载管理模块204用于接收分服务器300或客户端100的文件升级下载请求,针对各分服务器300或者客户端100的版本升级权限,将新版本文件列表配置信息和需要下载的文件发送到具有该新版本的版本权限的分服务器300或者客户端100,并将下载结果保存到版本下载记录中;针对客户端100,判断发送请求的客户端100是否有权获得新版本,是则将新版本的下载地址发送到客户端100,如果判断结果为否,则向该客户端100发送其不具有下载该新版本的权限的通知,使其停止此次软件版本的升级。
主服务器公告模块205用于发布主服务器的系统公告,公开管理员发布的信息。
请一并参阅图4,分服务器300包括系统设置模块301、分服务器注册模块302、分服务器软件版本管理模块303、客户端下载管理304及分服务器公告模块305。
系统设置模块301用于设置系统参数,系统参数主要包括主服务器地址、分服务器的地区编号、分服务器地址、自动更新的时间参数设置等。
分服务器注册模块302用于向主服务器200提交分服务器注册信息,注册信息包括分服务器地区编号、单位名称、分服务器地址、负责人、负责人的电话和邮箱等信息。如果注册请求审核通过,则返回给分服务器300注册的ID编号,意味着该分服务器300能够从主服务器200下载新版本。
分服务器软件版本管理模块303用于从主服务器200下载新版本软件,更新服务器软件版本信息并将更新的软件版本信息保存到数据库。
客户端下载管理模块304用于保存主服务器200送来的软件的新版本,审核访问该分服务器300的客户端100的升级权限并向有升级权限的客户端100提供下载服务,并管理客户端下载记录,例如下载时间、客户端编号、客户端所下载文件的文件属性等。
分服务器公告模块305用于发布分服务器300的系统公告,公开分服务器300的管理员发布的信息。
请参阅图5A与图5B,本发明实施例提出了一种软件升级方法,该方法包括:
步骤S401:将软件的新版本上传至主服务器200;软件类型管理模块201对上传的软件的新版本的类型信息进行新增操作,主服务器200软件版本管理模块202管理上传的软件的新版本的版本信息。
步骤S402:主服务器200分配新版本升级权限给注册通过的分服务器300及客户端100,分服务器300定期从主服务器200下载新版本软件及相对应的具有升级权限的客户端列表。新设立分服务器300时,利用分服务器300的系统设置模块301设置系统参数,系统参数主要包括主服务器地址、分服务器的地区编号、分服务器地址、自动更新的时间参数设置等,分服务器注册模块302向主服务器200提交分服务器注册信息,注册信息包括分服务器地区编号、单位名称、分服务器地址、负责人、负责人的电话和邮箱等信息,如果注册请求审核未通过,则说明该分服务器300不具备升级权限;如果注册请求审核通过,则主服务器200返回给分服务器300注册的ID编号并授予该分服务器300新版本升级权限。分服务器300接收到的客户端列表依据客户端100的IP地址进行分配,具有升级权限的客户端100的IP地址若位于注册通过的分服务器300的相同或者邻近区域,则该客户端100列于该分服务器300的具有升级权限的客户端列表中。分服务器软件版本管理模块303用于从主服务器200下载新版本软件,更新服务器软件版本信息并将更新的软件版本信息保存到数据库。
本步骤中,主服务器200将新版本发送到具有该新版本的版本权限的分服务器300之后,还记录发送时间、该分服务器的编号、新版本的版本号。
本发明中,主服务器200为分服务器300设置了版本升级权限,分服务器300是否具有版本升级权限,意味着该分服务器300是否具有下载新版本的权限。分服务器版本升级权限的设置,可以保证该新版本不会提供给某些特定的客户端(如使用盗版的该软件的客户端等),这既降低了新版本的下载量和各服务器的载荷,也提高了客户端的下载速度。
步骤S403:客户端100的升级检查模块101读取XML配置文件信息并向主服务器200发送XML配置文件信息。
本步骤中,客户端100可以周期性向主服务器200发送XML配置文件信息,也可以在启动时人工选择是否向主服务器200发送XML配置文件信息。
步骤S404:主服务器200判断客户端100是否有对应的分服务器300,若无对应的分服务器300,则执行步骤S412;若有对应的分服务器300,则执行步骤S405。
步骤S405:主服务器200发送分服务器300的地址给客户端100,客户端100访问对应的分服务器300,分服务器300依据具有升级权限的客户端列表判断客户端100是否具有升级权限,是则执行步骤S406;否则该客户端100继续启动旧版本主程序。
步骤S406:客户端100访问分配的分服务器300上的下载地址,下载分服务器300中新版本软件的文件信息列表,文件比对模块102将客户端100的软件信息与分服务器300的文件信息列表比对,判断是否有新版本文件需要进行升级,是则确定升级文件列表并执行步骤S407;否则该客户端100继续启动旧版本主程序。通用功能模块106同时用于生成文件CRC值,提高文件比对模块102的比对准确性。
升级文件列表的确定原则是:新版本中的文件的任一文件属性(即文件的大小和文件的MD5值中的任一个)与旧版本中的相应文件的相应文件属性不同,则将该文件的名称添加到升级文件列表中。当然,如果旧版本中不包括新版本中的某一文件,则旧版本配置信息中自然也就没有该文件的任一文件属性,该情况视同旧版本配置信息中该旧文件的相应文件属性与新版本中的该文件的文件属性不同,也要将该文件的名称添加到升级文件列表中。
步骤S407:客户端100的文件下载模块103从分服务器300的下载地址中下载升级文件列表所指定的新版本文件。在升级文件下载时,通用功能模块106对文件采用压缩解压缩的处理,节省传输带宽。
步骤S408:客户端100的文件更新模块104关闭旧版本的软件,并备份旧版本,进而用升级文件列表指定的各文件替换相应的旧版本文件并进行注册表信息更新。
步骤S409:客户端100的主程序启动模块105在升级操作完成时启动主程序,判断主程序是否能够正常启动,是则执行步骤S410,否则执行步骤S411。
如果升级后的主程序能够正常启动,意味着此次软件版本升级顺利完成,如果不能正常启动,则意味着此次版本升级失败,应恢复旧版本的使用,以待下次版本升级。
步骤S410:客户端100输出软件升级成功的信息。
步骤S411:客户端100删除XML配置文件信息以及升级文件列表指定的各文件,启动已备份的旧版本的软件,并输出软件升级失败的信息。本步骤的执行,意味着此次软件版本的升级过程失败,客户端100应删除步骤S405下载的版本配置信息以及步骤S406所下载的各文件,并将软件的版本恢复为旧版本。
步骤S412:主服务器200判断客户端100是否具有升级权限,是则执行步骤S413;否则该客户端100继续启动旧版本主程序。
步骤S413:客户端100访问主服务器200的下载地址,下载主服务器200中新版本软件的文件信息列表,文件比对模块102将客户端100的软件信息与主服务器200的文件信息列表比对,判断是否有新版本文件需要进行升级,是则确定升级文件列表并执行步骤S414;否则该客户端100继续启动旧版本主程序。通用功能模块106同时用于生成文件CRC值,提高文件比对模块102的比对准确性。
步骤S414:客户端100的文件下载模块103从主服务器200的下载地址中下载升级文件列表所指定的新版本文件。在升级文件下载时,通用功能模块106对文件采用压缩解压缩的处理,节省传输带宽。
步骤S415:客户端100的文件更新模块104关闭旧版本的软件,并备份旧版本,进而用升级文件列表指定的各文件替换相应的旧版本文件并进行注册表信息更新。
步骤S416:客户端100的主程序启动模块105在升级操作完成时启动主程序,判断主程序是否能够正常启动,是则执行步骤S417,否则执行步骤S418。
如果升级后的主程序能够正常启动,意味着此次软件版本升级顺利完成,如果不能正常启动,则意味着此次版本升级失败,应恢复旧版本的使用,以待下次版本升级。
步骤S417:客户端100输出软件升级成功的信息。
步骤S418:客户端100删除XML配置文件信息以及升级文件列表指定的各文件,输出软件升级失败的信息并启动已备份的旧版本主程序。本步骤的执行,意味着此次软件版本的升级过程失败,客户端100应删除步骤S413下载的文件信息列表以及步骤S414所下载的各文件,并将软件的版本恢复为旧版本。
利用本发明提供的软件升级方法,具有如下优点:
本发明所提供的软件在线升级方法及系统,采用主服务器和分服务器的形式,若客户端有对应的分服务器,则由分服务器提供软件下载升级服务,若无分服务器,则由主服务器提供软件下载升级服务。通过这种方式,功能划分清晰,便于管理和功能扩展,提高了升级效率。在配置文件的选择上选用了XML配置文件的形式,相比传统INI文件的形式,节点清晰,便于维护。而在大文件的处理上更是增加了压缩解压缩的方式,节省了网络带宽,进而降低了阻塞的可能性,提高了升级效率。
由于本发明将新版本分散到主服务器和各分服务器,因而每台服务器承担的新版本下载任务量大大减少,从而有效降低了各服务器的载荷,提高了软件版本的升级速度。主服务器根据各个已经注册审核通过的分服务器300的地理位置、当前访问量等来确定分配给客户端的分服务器300,保证客户端升级的网络顺畅,提高了升级效率。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种软件升级方法,包括以下步骤:
步骤1:客户端(100)读取XML配置文件信息并向主服务器(200)发送XML配置文件信息;
步骤2:主服务器(200)判断客户端(100)是否有对应的分服务器(300),若无对应的分服务器(300),则执行步骤6;若有对应的分服务器(300),则执行步骤3;
步骤3:主服务器(200)发送分服务器(300)的地址给客户端(100),客户端100)访问对应的分服务器(300),分服务器(300)依据具有升级权限的客户端列表判断客户端(100)是否具有升级权限,是则执行步骤4;否则该客户端(100)继续启动旧版本主程序;
步骤4:客户端(100)访问分配的分服务器(300)上的下载地址,下载分服务器(300)中新版本软件的文件信息列表,并将客户端(100)的软件信息与分服务器(300)的文件信息列表比对,判断是否有新版本文件需要进行升级,是则确定升级文件列表并执行步骤5;否则该客户端(100)继续启动旧版本主程序;
步骤5:客户端(100)从分服务器(300)的下载地址中下载升级文件列表所指定的新版本文件;
步骤6:主服务器(200)判断客户端(100)是否具有升级权限,是则执行步骤7;否则该客户端(100)继续启动旧版本主程序;
步骤7:客户端(100)访问主服务器(200)的下载地址,下载主服务器(200)中新版本软件的文件信息列表,判断是否有新版本文件需要进行升级,是则确定升级文件列表并执行步骤8;否则该客户端(100)继续启动旧版本主程序;
步骤8:客户端(100)从主服务器(200)的下载地址中下载升级文件列表所指定的新版本文件。
2.根据权利要求1所述的软件升级方法,其特征在于:在步骤1之前还包括如下步骤:
将软件的新版本上传至主服务器((200));
主服务器(200)分配新版本升级权限给分服务器(300)及客户端(100),分服务器(300)定期从主服务器(200)下载新版本软件及相对应的具有升级权限的客户端列表。
3.根据权利要求2所述的软件升级方法,其特征在于:主服务器(200)授予该分服务器(300)新版本升级权限之后,主服务器(200)将新版本发送到具有该新版本的版本权限的分服务器(300)。
4.根据权利要求2所述的软件升级方法,其特征在于:设立分服务器(300)时,分服务器(300)设置系统参数向主服务器(200)提交分服务器注册信息,如果注册请求审核未通过,则说明该分服务器(300)不具备升级权限;如果注册请求审核通过,则主服务器(200)返回给分服务器(300)注册的ID编号并授予该分服务器(300)新版本升级权限。
5.根据权利要求4所述的软件升级方法,其特征在于:分服务器(300)设置的系统参数主要包括主服务器地址、分服务器的地区编号、分服务器地址以及自动更新的时间参数设置,分服务器提交的注册信息包括分服务器地区编号、单位名称、分服务器地址。
6.根据权利要求2所述的软件升级方法,其特征在于:分服务器300接收到的客户端列表依据客户端(100)的IP地址进行分配,具有升级权限的客户端(100)的IP地址若位于注册通过的分服务器300的相同或者邻近区域,则该客户端(100)列于该分服务器300的具有升级权限的客户端列表中。
7.根据权利要求1所述的软件升级方法,其特征在于:步骤5之后还包括如下步骤:
客户端(100)关闭旧版本的软件,并备份旧版本,进而用升级文件列表指定的各文件替换相应的旧版本文件并进行注册表信息更新;
客户端(100)在升级操作完成时启动主程序,判断主程序是否能够正常启动,是则客户端(100)输出软件升级成功的信息,否,则客户端(100)启动已备份的旧版本的软件,并输出软件升级失败的信息。
8.根据权利要求1所述的软件升级方法,其特征在于:步骤8之后还包括如下步骤:
客户端(100)关闭旧版本的软件,并备份旧版本,进而用升级文件列表指定的各文件替换相应的旧版本文件并进行注册表信息更新;
客户端(100)在升级操作完成时启动主程序,判断主程序是否能够正常启动,是则客户端(100)输出软件升级成功的信息,否,则客户端(100)输出软件升级失败的信息并启动已备份的旧版本主程序。
9.一种软件升级系统,包括若干客户端(100)、主服务器(200)及若干分服务器(300),用于实现对客户端(100)中的软件进行升级,客户端(100)与主服务器(200)之间通过HTTP协议实现相互联通,客户端(100)与分服务器(300)之间通过HTTP协议实现相互联通,主服务器(200)与分服务器(300)之间通过HTTP协议实现相互联通;
客户端(100)用于对软件进行XML配置文件的读写,软件主程序启动时,读取XML配置文件信息并发送到主服务器(200),并向主服务器(200)或者分服务器(300)发送版本升级请求;
主服务器(200)用于接收客户端(100)的软件升级请求,判断该客户端(100)是否具有对应的分服务器(300),若有对应的分服务器(300),则发送分服务器(300)的地址给客户端(100),若无对应的分服务器(300),则主服务器(200)审核客户端是否具有升级权限,并对具有升级权限的客户端(100)提供升级服务;
分服务器(300)用于接收客户端(100)的软件升级请求以及主服务器(200)发送来的具有升级权限的客户端列表,并判断客户端(100)是否具有升级权限,对具有升级权限的客户端(100)提供升级服务。
10.根据权利要求9所述的软件升级系统,其特征在于:
主服务器(200)包括软件类型管理模块(201)、主服务器软件版本管理模块(202)、分服务器注册审核模块(203)、版本下载管理模块(204),其中:
软件类型管理模块(201)用于管理软件类型信息;
主服务器软件版本管理模块(202)用于上传软件新版本;
分服务器注册审核模块(203)用于接收分服务器(300)发出的注册请求消息,如果审核通过,则返回给分服务器(300)注册的ID编号;
版本下载管理模块(204)用于接收分服务器(300)或客户端(100)的文件升级下载请求,针对各分服务器(300)的版本权限,将新版本文件列表配置信息和需要下载的文件发送到具有该新版本的版本权限的分服务器(300)或者客户端(100)。
11.根据权利要求10所述的软件升级系统,其特征在于:主服务器(200)还包括主服务器公告模块(205),主服务器公告模块(205)用于发布主服务器的系统公告,公开管理员发布的信息。
12.根据权利要求9所述的软件升级系统,其特征在于:
分服务器(300)包括系统设置模块(301)、分服务器注册模块(302)、分服务器软件版本管理模块(303)、客户端下载管理(304),其中:
系统设置模块(301)用于设置系统参数,系统参数主要包括主服务器地址;
分服务器注册模块(302)用于向主服务器(200)提交分服务器注册信息;
分服务器软件版本管理模块(303)用于从主服务器(200)下载新版本软件,更新服务器软件版本信息并将更新的软件版本信息保存到数据库;
客户端下载管理模块(304)用于保存主服务器(200)送来的软件的新版本,向访问该分服务器(300)的下载地址的客户端(100)提供下载服务,并管理客户端下载记录。
13.根据权利要求12所述的软件升级系统,其特征在于:分服务器(300)还包括分服务器公告模块(305),该分服务器公告模块(305)用于发布分服务器(300)的系统公告,公开分服务器(300)的管理员发布的信息。
14.根据权利要求9所述的软件升级系统,其特征在于:客户端(100)包括升级检查模块(101)、文件比对模块(102)、文件下载模块(103)、文件升级模块(104)以及主程序启动模块(105),其中:
升级检查模块(101)用于对软件进行XML配置文件的读写,软件主程序启动时,读取XML配置文件信息并上传到主服务器(200);
文件比对模块(102)用于将客户端(100)的XML配置文件信息与分服务器(200)的文件信息列表比对,得出升级文件列表;
文件下载模块(103)用于访问主服务器(200)发送来的下载地址,将要下载的文件下载到客户端(100);
文件升级模块(104)用于备份与替换客户端(100)本地文件并对客户端(100)进行注册表信息更新;
主程序启动模块(105)用于在升级操作完成时启动主程序。
15.根据权利要求14所述的软件升级系统,其特征在于:客户端(100)还包括通用功能模块(106),通用功能模块(106)用于进行文件压缩与解压缩、生成文件CRC值等操作。
16.一种通过HTTP协议连接到服务器对软件进行升级的客户端,包括升级检查模块(101)、文件比对模块(102)、文件下载模块(103)、文件升级模块(104)以及主程序启动模块(105),其中:
升级检查模块(101)用于对客户端(100)的软件进行XML配置文件的读写上传到服务器,若需要升级,则向服务器发送版本升级请求;
文件比对模块(102)用于将客户端(100)的XML配置文件信息与新版本软件的文件信息列表比对,得出升级文件列表;
文件下载模块(103)用于访问服务器的下载地址,将要下载的文件下载到客户端(100);
文件升级模块(104)用于备份与替换客户端(100)本地文件并对客户端(100)进行注册表信息更新;
主程序启动模块(105)用于在升级操作完成时启动主程序。
17.根据权利要求16所述的客户端,其还包括通用功能模块(106),通用功能模块(106)用于进行文件压缩与解压缩、生成文件CRC值等操作。
18.一种服务器,用于对远程客户端(100)进行升级,其包括主服务器(200)及至少一个与主服务器(200)之间通过HTTP协议实现相互联通的分服务器(300),其特征在于:
主服务器(200)用于接收客户端(100)的软件升级请求,判断该客户端(100)是否具有对应的分服务器(300),若有对应的分服务器(300),则发送分服务器(300)的地址给客户端(100),若无对应的分服务器(300),则主服务器(200)审核客户端是否具有升级权限,并对具有升级权限的客户端(100)提供升级服务;
分服务器(300)用于接收客户端(100)的软件升级请求以及主服务器(200)发送来的具有升级权限的客户端列表,并判断客户端(100)是否具有升级权限,对具有升级权限的客户端(100)提供升级服务。
19.根据权利要求18所述的服务器,其特征在于:所述主服务器(200)包括软件类型管理模块(201)、主服务器软件版本管理模块(202)、分服务器注册审核模块(203)、版本下载管理模块(204),其中:
软件类型管理模块(201)用于管理软件类型信息,并对软件类型信息进行新增、修改、删除等数据操作;
主服务器软件版本管理模块(202)用于上传软件新版本、修改或作废已上传软件版本以及管理上传的软件版本信息;
分服务器注册审核模块(203)用于接收分服务器(300)发出的注册请求消息,如果审核通过,则返回给分服务器(300)注册的ID编号;
版本下载管理模块(204)用于接收分服务器(300)或客户端(100)的文件升级下载请求,针对各分服务器(300)的版本权限,将新版本文件列表配置信息和需要下载的文件发送到具有该新版本的版本升级权限的分服务器(300)或者客户端(100)。
20.根据权利要求19所述的服务器,其特征在于:主服务器(200)还包括主服务器公告模块(205),主服务器公告模块(205)用于发布主服务器的系统公告,公开管理员发布的信息。
21.根据权利要求18所述的服务器,其特征在于:
所述分服务器(300)包括系统设置模块(301)、分服务器注册模块(302)、分服务器软件版本管理模块(303)、客户端下载管理(304),其中:
系统设置模块(301)用于设置系统参数,系统参数主要包括主服务器地址;
分服务器注册模块(302)用于向主服务器(200)提交分服务器注册信息;
分服务器软件版本管理模块(303)用于从主服务器(200)下载新版本软件,更新服务器软件版本信息并将更新的软件版本信息保存到数据库;
客户端下载管理模块(304)用于保存主服务器(200)送来的软件的新版本,向访问该分服务器(300)的下载地址的客户端(100)提供下载服务,并管理客户端下载记录。
22.根据权利要求21所述的服务器,其特征在于:分服务器(300)还包括分服务器公告模块(305),该分服务器公告模块(305)用于发布分服务器(300)的系统公告,公开分服务器(300)的管理员发布的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410844176.5A CN105808274A (zh) | 2014-12-30 | 2014-12-30 | 软件升级方法、系统及对应的客户端与服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410844176.5A CN105808274A (zh) | 2014-12-30 | 2014-12-30 | 软件升级方法、系统及对应的客户端与服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105808274A true CN105808274A (zh) | 2016-07-27 |
Family
ID=56420109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410844176.5A Pending CN105808274A (zh) | 2014-12-30 | 2014-12-30 | 软件升级方法、系统及对应的客户端与服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808274A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657259A (zh) * | 2016-10-28 | 2017-05-10 | 努比亚技术有限公司 | 一种用于服务器集群的路由服务器及路由服务方法 |
CN107193580A (zh) * | 2017-03-31 | 2017-09-22 | 北京元心科技有限公司 | 系统更新方法及非短暂计算机可读介质 |
CN108205445A (zh) * | 2017-12-31 | 2018-06-26 | 北京诺君安信息技术股份有限公司 | 一种软件自动更新方法 |
CN108632374A (zh) * | 2018-05-09 | 2018-10-09 | 星络科技有限公司 | 软件灰度发布方法及装置 |
CN109240728A (zh) * | 2018-11-20 | 2019-01-18 | 北京千丁互联科技有限公司 | 一种软件升级方法及装置 |
CN109495433A (zh) * | 2017-09-13 | 2019-03-19 | 腾讯科技(深圳)有限公司 | 数据下载方法和装置、存储介质及电子装置 |
CN109493953A (zh) * | 2018-11-26 | 2019-03-19 | 中国科学院深圳先进技术研究院 | 一种医学影像应用信息传输方法、装置、设备及介质 |
CN109766131A (zh) * | 2017-11-06 | 2019-05-17 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
CN111008030A (zh) * | 2019-12-10 | 2020-04-14 | 厦门中控智慧信息技术有限公司 | 基于xml文件清单的软件在线更新系统、方法和相关装置 |
CN111405009A (zh) * | 2020-03-06 | 2020-07-10 | 北京云创世联科技股份有限公司 | 一种基于桌面云的客户端软件升级方法 |
CN112527354A (zh) * | 2020-12-11 | 2021-03-19 | 山东中创软件商用中间件股份有限公司 | 一种监控软件升级方法、装置、设备及可读存储介质 |
CN112612485A (zh) * | 2020-12-25 | 2021-04-06 | 交控科技股份有限公司 | 一种部署工具客户端的升级方法 |
CN113064611A (zh) * | 2021-03-16 | 2021-07-02 | 上海市共进通信技术有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN115174543A (zh) * | 2022-07-29 | 2022-10-11 | 中国工商银行股份有限公司 | 一种版本更新发布时间确定方法及装置 |
CN116489210A (zh) * | 2023-06-21 | 2023-07-25 | 深圳市双合电气股份有限公司 | 一种远程配置、应用下发的方法、装置和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399593A (zh) * | 2007-09-30 | 2009-04-01 | 大唐移动通信设备有限公司 | 基站、基带处理单元、射频拉远单元及其版本更新方法 |
CN102169437A (zh) * | 2010-02-26 | 2011-08-31 | 英业达股份有限公司 | 以分离的模块提供软件更新的系统及其方法 |
CN103902299A (zh) * | 2012-12-24 | 2014-07-02 | 航天信息股份有限公司 | 一种软件版本的更新方法和系统 |
-
2014
- 2014-12-30 CN CN201410844176.5A patent/CN105808274A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399593A (zh) * | 2007-09-30 | 2009-04-01 | 大唐移动通信设备有限公司 | 基站、基带处理单元、射频拉远单元及其版本更新方法 |
CN102169437A (zh) * | 2010-02-26 | 2011-08-31 | 英业达股份有限公司 | 以分离的模块提供软件更新的系统及其方法 |
CN103902299A (zh) * | 2012-12-24 | 2014-07-02 | 航天信息股份有限公司 | 一种软件版本的更新方法和系统 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657259A (zh) * | 2016-10-28 | 2017-05-10 | 努比亚技术有限公司 | 一种用于服务器集群的路由服务器及路由服务方法 |
CN106657259B (zh) * | 2016-10-28 | 2020-12-01 | 广东亿网通科技有限公司 | 一种用于服务器集群的路由服务器及路由服务方法 |
CN107193580A (zh) * | 2017-03-31 | 2017-09-22 | 北京元心科技有限公司 | 系统更新方法及非短暂计算机可读介质 |
CN109495433A (zh) * | 2017-09-13 | 2019-03-19 | 腾讯科技(深圳)有限公司 | 数据下载方法和装置、存储介质及电子装置 |
CN109495433B (zh) * | 2017-09-13 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 数据下载方法和装置、存储介质及电子装置 |
CN109766131A (zh) * | 2017-11-06 | 2019-05-17 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
CN109766131B (zh) * | 2017-11-06 | 2022-04-01 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
CN108205445A (zh) * | 2017-12-31 | 2018-06-26 | 北京诺君安信息技术股份有限公司 | 一种软件自动更新方法 |
CN108632374A (zh) * | 2018-05-09 | 2018-10-09 | 星络科技有限公司 | 软件灰度发布方法及装置 |
CN108632374B (zh) * | 2018-05-09 | 2021-06-18 | 恒大智慧科技有限公司 | 软件灰度发布方法及装置 |
CN109240728A (zh) * | 2018-11-20 | 2019-01-18 | 北京千丁互联科技有限公司 | 一种软件升级方法及装置 |
CN109493953A (zh) * | 2018-11-26 | 2019-03-19 | 中国科学院深圳先进技术研究院 | 一种医学影像应用信息传输方法、装置、设备及介质 |
US11699513B2 (en) | 2018-11-26 | 2023-07-11 | Shenzhen Institutes Of Advanced Technology Chinese Academy Of Sciences | Information transmission method, apparatus, device and medium for medical imaging application |
CN111008030A (zh) * | 2019-12-10 | 2020-04-14 | 厦门中控智慧信息技术有限公司 | 基于xml文件清单的软件在线更新系统、方法和相关装置 |
CN111405009A (zh) * | 2020-03-06 | 2020-07-10 | 北京云创世联科技股份有限公司 | 一种基于桌面云的客户端软件升级方法 |
CN112527354A (zh) * | 2020-12-11 | 2021-03-19 | 山东中创软件商用中间件股份有限公司 | 一种监控软件升级方法、装置、设备及可读存储介质 |
CN112612485A (zh) * | 2020-12-25 | 2021-04-06 | 交控科技股份有限公司 | 一种部署工具客户端的升级方法 |
CN113064611A (zh) * | 2021-03-16 | 2021-07-02 | 上海市共进通信技术有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN113064611B (zh) * | 2021-03-16 | 2024-02-02 | 太仓市同维电子有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN115174543A (zh) * | 2022-07-29 | 2022-10-11 | 中国工商银行股份有限公司 | 一种版本更新发布时间确定方法及装置 |
CN115174543B (zh) * | 2022-07-29 | 2024-01-30 | 中国工商银行股份有限公司 | 一种版本更新发布时间确定方法及装置 |
CN116489210A (zh) * | 2023-06-21 | 2023-07-25 | 深圳市双合电气股份有限公司 | 一种远程配置、应用下发的方法、装置和计算机设备 |
CN116489210B (zh) * | 2023-06-21 | 2023-10-20 | 深圳市双合电气股份有限公司 | 一种远程配置、应用下发的方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105808274A (zh) | 软件升级方法、系统及对应的客户端与服务器 | |
CN103309694B (zh) | 应用程序更新方法和装置 | |
KR101676042B1 (ko) | 클라이언트/서버 네트워크 환경에서 비 역호환 서버 버전을 분배하기 위한 방법 및 시스템 | |
US9582387B2 (en) | Server, backup system and backup method | |
CN105897946A (zh) | 一种访问地址的获取方法及系统 | |
CN102298647B (zh) | 数据文件审核分配系统及方法 | |
CN111291000B (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
EA012550B1 (ru) | Способ доставки файлов в сети | |
CN102402441B (zh) | 一种对多台计算机进行配置的系统和方法 | |
CN101038591A (zh) | 数据库同步方法及系统 | |
CN107122262A (zh) | 基于agent的数据库智能备份系统 | |
KR20140010187A (ko) | 파일 동기화 방법 및 장치 | |
DE112011102443T5 (de) | Server-Verwaltung unter Verwendung eines Baseboard Management Controllers zum Aufbau eines Drahtlosnetzwerks | |
US20150227605A1 (en) | Information processing terminal, synchronization control method, and computer-readable recording medium | |
CN110413295A (zh) | 一种嵌入式设备远程固件更新方法 | |
CN105808273B (zh) | 软件升级方法和软件升级装置 | |
US20150154211A1 (en) | File storage service system and method for the same | |
CN101951369A (zh) | 基于自动发现的终端批量升级方法及其系统 | |
CN105677789A (zh) | 一种分布式文件系统的目录容量管理方法及系统 | |
CN104133715A (zh) | 一种以太网供电设备固件升级方法和装置 | |
CN105912424A (zh) | 一种基于云架构的终端程序快速备份及恢复方法 | |
CN113127023B (zh) | 业务升级的方法、装置和系统 | |
CN110099128B (zh) | 一种认证数据同步方法及装置 | |
CN103023990B (zh) | 堆叠系统中的镜像文件升级系统及方法 | |
CN103491137A (zh) | 数据同步系统和数据同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160727 |
|
RJ01 | Rejection of invention patent application after publication |