CN109240726B - 一种软件更新方法及系统 - Google Patents
一种软件更新方法及系统 Download PDFInfo
- Publication number
- CN109240726B CN109240726B CN201811165696.8A CN201811165696A CN109240726B CN 109240726 B CN109240726 B CN 109240726B CN 201811165696 A CN201811165696 A CN 201811165696A CN 109240726 B CN109240726 B CN 109240726B
- Authority
- CN
- China
- Prior art keywords
- file
- server
- version number
- client
- updating
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了一种软件更新方法及系统,对比服务器端与客户端软件的版本,通过更新策略判断单元判断采用哪种方式进行更新,若存在大版本A的更新,则选择直接下载最新版本的XML压缩文件进行更新,若仅存在功能更新B、bug修复C或者界面更新D中的一种或几种,则通过数据遍历单元对文件的特征值进行对比和统计,以获得需要更新的XML压缩文件,并通过下载更新,本发明能够针对不同的情况选择不同的方法进行更新,更新灵活度高,更新效率高,可以有效避免不必要的数据下载。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种软件更新方法及系统。
背景技术
随着软件的不断发展,软件在企业的各项活动中均扮演者重要的角色,软件应用的领域越来越广泛,软件的功能也越来越丰富和多样化。在软件的生命周期中,维护和升级是不可或缺的重要环节,由于软件和操作系统在最开始的设计中不可能做的非常完美,因此在使用过程中会逐渐暴露多种问题,有些问题可能是软件本身设计缺陷导致,有些可能是随着软硬件的升级变化而导致的,因此为了适应使用者的要求以及环境变化导致的问题,软件的升级维护是必不可少的步骤。
目前常用的软件更新方法主要有两种,一种是根据文件的修改时间进行全局更新,另一种是建立特征值表进行更新。采用全局更新的方式需要对源文件进行替换或者覆盖,更新的文件量比较大,因此如果应用在较大型的软件更新中会耗费大量的时间和网络流量。采用特征值表进行更新可以应用于大型软件更新,但是其在面对软件细微变化的更新时也需要频繁更新特征值,导致软件小更新的效率低下,因此这种方法又不适用于软件版本频繁更新的软件。
发明内容
有鉴于此,本发明提出了一种更新效率高,能够同时应用于各种大型或小型软件的更新方法及系统。
本发明的技术方案是这样实现的:本发明提供了一种软件更新方法,包括如下步骤:
软件检测操作系统的网络连接状态,并请求软件服务器端的报文信息,其中报文信息包括服务器端版本编号;
如果检测到网络连接状态正常,软件联网并获得服务器端软件的版本编号,同时将版本编号发送至服务器端,对比客户端与服务器端的版本编号,服务器端选择更新策略并进行软件更新。
在以上技术方案的基础上,优选的,所述识别码包括A、B、C和D,所述识别码A代表大版本更新,所述识别码B代表功能更新,所述识别码C代表bug修复,所述识别码D代表界面更新。
在以上技术方案的基础上,优选的,所述服务器端选择更新策略的方式包括如下步骤:
S1、服务器端将客户端的版本编号与服务器端的所有版本编号进行对比,若客户端的版本编号就是服务器端最新的版本编号,则放弃更新,若否则转至S2;
S2、当客户端版本编号并不是最新版本编号,且相比客户端版本编号较新的服务器端版本编号的识别码出现大版本A时,客户端从服务器端获取最新版本相应XML文件,创建下载文件存放目录,其中所述相应XML文件包括压缩文件下载地址、压缩文件MD5校验码以及文件版本号;
当客户端版本编号并不是最新版本编号,且相比客户端版本编号较新的服务器端版本编号的识别码仅为功能更新B、bug修复C或界面更新D中的一种或几种时,服务器端对文件进行分析,获取有效格式文件,计算出服务器端有效格式文件的特征值并与客户端文件特征值进行对比,筛选出特征值不同的有效格式文件,并将这些有效格式文件打包作为更新包,利用所述更新包对客户端进行更新。
一种软件更新系统,包括客户端和服务器端,所述服务器端包括数据遍历单元,用于获取服务器端文件的特征值;
版本号判定单元,用于根据服务器端版本号和客户端版本号进行判断是否需要进行更新;
更新策略判定单元,用于根据软件版本识别码进行判定选择更新策略的单元;
响应XML文件生成单元,用于将更新策略中的文件复制到响应XML文件中;
XML文件推送单元,用于将响应XML文件响应给客户端,客户端根据响应信息进行文件下载和更新。
更进一步优选的,所述客户端包括文件存放目录创建单元,用于根据从后台系统获取响应XML文件创建下载文件存放目录,所述响应XML文件包括压缩文件下载地址、压缩文件MD5校验码以及文件版本号;
压缩文件信息获取单元,用于获取一个压缩文件下载地址及文件名并判断要下载的文件是否已经存在,当确定要下载的文件不存在时,通知压缩文件下载单元下载压缩文件,当确定要下载的文件存在时,通知校验单元对该压缩文件进行校验;
压缩文件下载单元,用于下载压缩文件;
校验单元,用于校验压缩文件MD5校验码判断是否合法,如果合法通知压缩文件信息获取单元获取下一个文件信息,如果不合法则通知文件删除单元删除当前文件;
文件删除单元,用于删除当前文件并通知基础数据压缩文件下载单元重新下载压缩文件;
网络检测单元,用于检测终端系统的互联网连接状态;
配置确认单元,用于根据检测到的所述互联网连接状态,确定客户端软件的更新配置,所述更新配置包括所述客户端软件的当前信息,以及服务器标识,如果检测到所述互联网连接状态为无法连接,则获取控制代理中心的标识作为所述服务器标识。
在以上技术方案的基础上,优选的,所述配置确认单元,包括配置确认子单元,当检测到互联网连接状态为连接时,用于直接获取客户端软件的服务器标识。
本发明的软件更方法及系统相对于现有技术具有以下有益效果:
(1)本发明提供可以选择的软件更新方式,在不同的情况下选择不同的更新方式,当进行大版本更新时,更新的文件通常较多,数据量庞杂,采用特征值对比进行更新需要进行大量的数据分析对比,浪费时间,因此本发明在该情况下直接进行文件整体更新下载,当仅出现小范围的更像时,本发明采用特征值对比,筛选需要更新的文件进行打包下载更新,减小更新数据传输量,提高更新效率;
(2)本发明的升级系统通过在客户端与服务器端连接时自动对数据进行升级,提高升级的效率,减小升级难度,给软件升级带来极大的便利性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明软件更新方法的工作流程示意图;
图2为本发明软件更新系统的结构示意图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,本发明的软件更新方法,包括:
软件检测操作系统的网络连接状态,并请求软件服务器端的报文信息,其中报文信息包括服务器端版本编号;
如果检测到网络连接状态正常,软件联网并获得服务器端软件的版本编号,同时将版本编号发送至服务器端,对比客户端与服务器端的版本编号,服务器端选择更新策略并进行软件更新。
在具体实施方式中,所述版本编号包括识别码,所述识别码包括A、B、C和D,所述识别码A代表大版本更新,所述识别码B代表功能更新,所述识别码C代表bug修复,所述识别码D代表界面更新。
在具体实施方式中,所述服务器端选择更新策略的方式包括如下步骤:
S1、服务器端将客户端的版本编号与服务器端的所有版本编号进行对比,若客户端的版本编号就是服务器端最新的版本编号,则放弃更新,若否则转至S2;
S2、当客户端版本编号并不是最新版本编号,且相比客户端版本编号较新的服务器端版本编号的识别码出现大版本A时,客户端从服务器端获取最新版本相应XML文件,创建下载文件存放目录,其中所述相应XML文件包括压缩文件下载地址、压缩文件MD5校验码以及文件版本号;
当客户端版本编号并不是最新版本编号,且相比客户端版本编号较新的服务器端版本编号的识别码仅为功能更新B、bug修复C或界面更新D中的一种或几种时,服务器端对文件进行分析,获取有效格式文件,计算出服务器端有效格式文件的特征值并与客户端文件特征值进行对比,筛选出特征值不同的有效格式文件,并将这些有效格式文件打包作为更新包,利用所述更新包对客户端进行更新。
本发明一种软件更新系统,包括客户端和服务器端,所述服务器端包括数据遍历单元,用于获取服务器端文件的特征值;
版本号判定单元,用于根据服务器端版本号和客户端版本号进行判断是否需要进行更新;
更新策略判定单元,用于根据软件版本识别码进行判定选择更新策略的单元;
响应XML文件生成单元,用于将更新策略中的文件复制到响应XML文件中;
XML文件推送单元,用于将响应XML文件响应给客户端,客户端根据响应信息进行文件下载和更新。
在具体实施方式中,所述客户端包括文件存放目录创建单元,用于根据从后台系统获取响应XML文件创建下载文件存放目录,所述响应XML文件包括压缩文件下载地址、压缩文件MD5校验码以及文件版本号
压缩文件信息获取单元,用于获取一个压缩文件下载地址及文件名并判断要下载的文件是否已经存在,当确定要下载的文件不存在时,通知压缩文件下载单元下载压缩文件,当确定要下载的文件存在时,通知校验单元对该压缩文件进行校验;
压缩文件下载单元,用于下载压缩文件;
校验单元,用于校验压缩文件MD5校验码判断是否合法,如果合法通知压缩文件信息获取单元获取下一个文件信息,如果不合法则通知文件删除单元删除当前文件;
文件删除单元,用于删除当前文件并通知基础数据压缩文件下载单元重新下载压缩文件;
网络检测单元,用于检测终端系统的互联网连接状态;
配置确认单元,用于根据检测到的所述互联网连接状态,确定客户端软件的更新配置,所述更新配置包括所述客户端软件的当前信息,以及服务器标识,如果检测到所述互联网连接状态为无法连接,则获取控制代理中心的标识作为所述服务器标识。
在具体实施方式中,所述配置确认单元,包括配置确认子单元,当检测到互联网连接状态为连接时,用于直接获取客户端软件的服务器标识。
在具体实施例中,软件首先检测操作系统的网络连接状态,并请求软件服务器端的报文信息,若连接状态正常,则服务器端发送最新的软件版本编号信息给客户端,同时软件再次将两端的版本编号发送至服务器端,版本号判定单元对比客户端与服务器端的版本编号,判定是否需要进行版本更新,若否,停止更新,若是,更新策略判定单元对版本识别码进行判定,并选择更新策略,当服务器端的新版本相比客户端版本存在大版本A的识别码时,客户端从服务器端获取最新版本的XML文件,服务器端的响应XML文件生成单元生成对应的响应XML文件,XML文件推送单元将响应XML文件推送至客户端,文件存放目录创建单元首先创建下载文件存放目录,用于存放响应XML文件,压缩文件信息获取单元获取压缩文件的下载地址以及文件名,同时判断所要下载的压缩文件是否已经存在,避免重复下载,当文件不存在时,压缩文件下载单元执行下载操作,当检测到文件已经存在时,检验单元检验压缩文件的MD5校验码并判断是否合法,若合法,则通知压缩文件信息获取单元获取下一个文件的下载信息,若不合法则通知文件删除单元删除当前下载的压缩文件。
当服务器端的新版本相比客户端版本不存在大版本A的识别码,仅仅存在功能更新B、bug修复C或者界面更新D的识别码时,服务器端的数据遍历单元则对服务器端最新的软件数据进行遍历,并获取服务器端最新软件的特征值,同时遍历客户端软件的特征值,对比两者特征值的差别,提取出具有特征值差别的文件,并打包形成压缩XML文件,同时生成对应的下载地址、MD5校验码和文件版本号,XML文件推送单元将响应XML文件推送至客户端,文件存放目录创建单元首先创建下载文件存放目录,用于存放响应XML文件,压缩文件信息获取单元获取压缩文件的下载地址以及文件名,同时判断所要下载的压缩文件是否已经存在,避免重复下载,当文件不存在时,压缩文件下载单元执行下载操作,当检测到文件已经存在时,检验单元检验压缩文件的MD5校验码并判断是否合法,若合法,则通知压缩文件信息获取单元获取下一个文件的下载信息,若不合法则通知文件删除单元删除当前下载的压缩文件。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种软件更新方法,其特征在于,包括如下步骤:
软件检测操作系统的网络连接状态,并请求软件服务器端的报文信息,其中报文信息包括服务器端版本编号;
如果检测到网络连接状态正常,软件联网并获得服务器端软件的版本编号,同时将版本编号发送至服务器端,对比客户端与服务器端的版本编号,服务器端选择更新策略并进行软件更新,所述版本编号包括识别码,所述识别码包括A、B、C和D,所述识别码A代表大版本更新,所述识别码B代表功能更新,所述识别码C代表bug修复,所述识别码D代表界面更新;
所述服务器端选择更新策略的方式包括如下步骤:
S1、服务器端将客户端的版本编号与服务器端的所有版本编号进行对比,若客户端的版本编号就是服务器端最新的版本编号,则放弃更新,若否则转至S2;
S2、当客户端版本编号并不是最新版本编号,且相比客户端版本编号较新的服务器端版本编号的识别码出现大版本A时,客户端从服务器端获取最新版本相应XML文件,创建下载文件存放目录,其中所述相应XML文件包括压缩文件下载地址、压缩文件MD5校验码以及文件版本号;
当客户端版本编号并不是最新版本编号,且相比客户端版本编号较新的服务器端版本编号的识别码仅为功能更新B、bug修复C或界面更新D中的一种或几种时,服务器端对文件进行分析,获取有效格式文件,计算出服务器端有效格式文件的特征值并与客户端文件特征值进行对比,筛选出特征值不同的有效格式文件,并将这些有效格式文件打包作为更新包,利用所述更新包对客户端进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811165696.8A CN109240726B (zh) | 2018-09-30 | 2018-09-30 | 一种软件更新方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811165696.8A CN109240726B (zh) | 2018-09-30 | 2018-09-30 | 一种软件更新方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109240726A CN109240726A (zh) | 2019-01-18 |
CN109240726B true CN109240726B (zh) | 2022-04-22 |
Family
ID=65055726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811165696.8A Active CN109240726B (zh) | 2018-09-30 | 2018-09-30 | 一种软件更新方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109240726B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110177154B (zh) * | 2019-06-17 | 2021-07-02 | 深圳前海微众银行股份有限公司 | 一种文件交互处理方法、装置及系统 |
CN112579132A (zh) * | 2020-12-29 | 2021-03-30 | 苏州风之力网络科技有限公司 | 一种基于版本号管理的资源热更新方法 |
CN115729583A (zh) * | 2021-08-31 | 2023-03-03 | 广东艾檬电子科技有限公司 | 一种实现客户端配置及时更新的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662647A (zh) * | 2012-03-01 | 2012-09-12 | 中标软件有限公司 | 一种Linux操作系统及其安全升级方法 |
CN103019795A (zh) * | 2012-12-27 | 2013-04-03 | 福建榕基软件股份有限公司 | 一种软件基础数据升级方法及系统 |
CN105763369A (zh) * | 2016-02-04 | 2016-07-13 | 湖南长城信息金融设备有限责任公司 | 一种终端设备远程软件版本分发方法及系统 |
CN108121551A (zh) * | 2016-11-28 | 2018-06-05 | 宁波市镇海甬讯信息科技有限公司 | 一种软件基础数据升级方法及系统 |
CN108196857A (zh) * | 2017-12-07 | 2018-06-22 | 山东超越数控电子股份有限公司 | 一种基于网络更新uefi固件的方法 |
-
2018
- 2018-09-30 CN CN201811165696.8A patent/CN109240726B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662647A (zh) * | 2012-03-01 | 2012-09-12 | 中标软件有限公司 | 一种Linux操作系统及其安全升级方法 |
CN103019795A (zh) * | 2012-12-27 | 2013-04-03 | 福建榕基软件股份有限公司 | 一种软件基础数据升级方法及系统 |
CN105763369A (zh) * | 2016-02-04 | 2016-07-13 | 湖南长城信息金融设备有限责任公司 | 一种终端设备远程软件版本分发方法及系统 |
CN108121551A (zh) * | 2016-11-28 | 2018-06-05 | 宁波市镇海甬讯信息科技有限公司 | 一种软件基础数据升级方法及系统 |
CN108196857A (zh) * | 2017-12-07 | 2018-06-22 | 山东超越数控电子股份有限公司 | 一种基于网络更新uefi固件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109240726A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240726B (zh) | 一种软件更新方法及系统 | |
US7735057B2 (en) | Method and apparatus for packaging and streaming installation software | |
US7930692B2 (en) | Updating information in network devices | |
US7934210B1 (en) | System and method for updating one or more programs and their environment | |
CN102609326B (zh) | 一种数据下载处理方法及装置 | |
CN102129378B (zh) | 一种软件菜单更新方法和装置 | |
KR101735719B1 (ko) | 운영 체제 자동 업데이트 절차 | |
CN108228810B (zh) | 表单联动配置方法和系统以及表单更新方法和系统 | |
CN103002024B (zh) | 应用程序升级系统和应用程序升级方法 | |
CN105653329A (zh) | 一种应用管理的方法、装置及系统 | |
CN102262544A (zh) | 软件升级的方法和装置 | |
CN107809324A (zh) | 一种车载自动诊断系统设备及其升级方法 | |
CN108984224A (zh) | 一种插件管理方法、计算机可读存储介质及终端设备 | |
WO2019042311A1 (zh) | 基于Jenkins工具的软件项目构建任务配置方法及装置 | |
CN102541596A (zh) | 一种操作系统升级方法及装置 | |
CN104636172B (zh) | 一种应用升级方法和装置 | |
CN105279436B (zh) | 软件更新方法及系统 | |
CN107016280A (zh) | 一种客户端应用程序的升级方法及系统 | |
CN102833350A (zh) | WebApp更新的处理方法和处理装置 | |
CN112104501A (zh) | 一种农机深松物联网终端设备的软件远程升级的方法 | |
CN105260209A (zh) | 一种程序热更新解决方法 | |
CN109558147A (zh) | 一种基于Jenkins和Gitlab的持续集成平台构建方法 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN111736876A (zh) | 客户端更新控制方法、装置、存储介质及服务器 | |
CN112764772A (zh) | 更新文件的预下载方法、加载方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |