您的位置:首页 > 运维架构 > 网站架构

CS架构客户端软件升级方案

2013-08-22 14:44 375 查看
目的:

满足C/S架构的客户端软件升级和补丁安装需要。

概念:

u 整包升级:软件功能进行了大范围的变更,主版本号发生变化,客户端需要重新安装。

u 补丁包升级:软件修复部分bug,功能进行了小范围调整或变更。

u 文件升级:软件的个别文件进行了细微的调整或bug修复,为最小粒度软件升级。

框架:

客户端主要由升级管理主程序和提供升级功能的底层支持库构成,

服务端主要由升级包管理web支持页面构成。





流程:

1、升级整体流程图如下:



2、升级配置文件

2.1服务端升级配置文件 升级配置文件

Xml文件分为两个部分:

u 升级策略:升级方式,升级范围等

u 升级文件:三种升级文件。

n 安装包,在程序重新打包,重大修改时使用。

n 补丁包,功能模块的修复和增加,使用最多。

n 模块,单个文件的替换和增加。

以下为XML配置文件:

<?xml version="1.0" encoding="UTF-8">
<UPDATE>
<POLICY>
<OPEN>0:升级打开 1:升级关闭</OPEN>
<CLIENT>
<IP>192.168.10.1-192.168.10.255</IP>
<IP>192.168.1.1-192.168.1.10</IP>
</CLIENT>
</POLICE>
<INSTALL_PACKAGE>
<NAME>SecureDOCClientSetup.exe</NAME>
<VERSION>2.0.11.6321</VERSION>
<SOFTWARE_MAME>EESecureDoc</SOFTWARE_NAME>
<MD5>56324412236514522365527820216504798220</MD5>
<SIZE>5020</SIZE>
<FORCE>0:强制升级 1:非强制升级</FORCE>
<ZIP>0:压缩 1:不压缩</ZIP>
<UP_TIME>2013/8/16</UP_TIME>
<OS_VER>MicrosoftWindows 6.1.7601 </OS_VER>
<URL>http://192.168.4.10:8080/file/soft/package</URL>
<INSTALL_TYPE>0:卸载安装 1:覆盖安装</INSTALL_TYPE>
</INSTALL_PACKAGE>
<PATCH_PACKAGE>
<NAME>EE_DOC20012301.EXE</NAME>
<VERSION>0.0.1.7552</VERSION>
<SOFTWARE_NAME> EESecureDoc</SOFTWARE_NAME>
<SOFTWARE_BASE_VER>2.0.11</SOFTWARE_BASE_VER>
<SOFTWARE_UP_VER>2.0.12</SOFTWARE_UP_VER>
<OS_VER> Microsoft Windows 6.1.7601 </OS_VER>
<SIZE>100</SIZE>
<FORCE>0:强制升级 1:非强制升级</FORCE>
<ZIP>0:压缩 1:不压缩</ZIP>
<URL> http://192.168.4.10:8080/file/soft/patchPackage</URL> <MD5>841052305621005442FDSA1552015988204523015</MD5>
<UP_TIME>2013/8/16</UP_TIME>
<UP_INFO_LIST>
<UP_INFO>修正了模块更新失败进程不退出BUG </UP_INFO>
<UP_INFO>完成模块更新与安装包更新程序</UP_INFO>
<UP_INFO_LIST>
</PATCH_PACKAGE>
<UPDATE_FILES>
<FILE>
<NAME>DocProc.dll</NAME>
<VERSION>2.0.6.0</VERSION>
<URL> http://192.168.4.10:8080/file/soft/dll/DocProc.dll</URL> <SIZE>150</SIZE>
<FORCE>0:强制升级 1:非强制升级</FORCE>
<MD5>0144AB1DA4FD2284422014532DDDACDFEGH</MD5>
<OS_VER> MicrosoftWindows 6.1.7601 </OS_VER>
<OVER_WRITE>0:覆盖 1:保留备份</OVER_WRITE>
<DEST_PATH>{APP}/SDClient/DocProc.dll</PATH>
</FILE>
</UPDATE_FILES>
</UPDATE>


2.2户端升级配置文件

[settings]
product=SecureDOC文档安全保护系统
productVersion=1.3.2.0
patchVersion=0.0.1.3
autoUpdateSwitch=0
;自动更新开关,0:自动更新,1:手动更新,默认为自动更新
serverIP=sdoc.vrv.com
ServerPort=80
updateCfgURI=\securedoc\sdclientupdate.xml
;服务器升级配置文件地址
downloadPath=F:\ProgramFiles\SDClient\Download
;升级文件下载路径
APP= F:\Program Files\SDClient
;程序安装路径
updateInstalledFlag=0
;下载的更新是否已经安装标志位,0:未安装,1:已安装


数据定义:

//更新文件基本信息
Typedef struct FILEBASEINFO{
CharszName[32];
CharszURL[256];
CharszVersion[32];
CharszMD5[32];
Int nSize;
CharszUpTime[64];
} FileBaseInfo;

//更新文件运行环境
Typedef struct FILEENVIRONMENT{
CharszOSVersion[32];
CharszSoftName[16];
CharszSoftVersion[32];
}FileEnvironment;
// 补丁包
Typedef struct PATCHINFO {
FileBaseInfoptInfo;
FileEnvironmentfiEnrnt;
CharszSoftUpVer[32];
Char szDescription[256];
Boolsilent;
BoolbForce;
} patchInfo;
// 整包
Typedef struct PACKINFO{
FileBaseInfopkInfo;
FileEnvironmentfiEnrnt;
BoolbOverWrite;
BoolbForce;
} packInfo;
// 模块文件
Typedef struct MODULEINFO{
FileBaseInfomodInfo;
FileEnvironmentfiEnrnt;
CharszDestPath[128];
BoolbBackUp;
} ModuleInfo;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: