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

目的

满足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;



  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Java CS客户端程序架构是指基于Java语言开发的客户端软件的结构和组织方式。在Java CS客户端程序架构中,常见的架构模式包括MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)等。 MVC是一种经典的架构模式,将软件分为模型(Model)、视图(View)和控制器(Controller)三层。模型负责数据的存储和操作,视图负责展示用户界面,控制器负责处理用户的操作并根据需要调用模型或视图的相关功能。这种架构模式可以使各个模块之间的职责分离,提高代码的可维护性和可复用性。 MVVM是一种相对较新的架构模式,它在MVC基础上增加了一个ViewModel层,用于连接模型和视图。视图负责展示用户界面,模型负责存储和操作数据,而ViewModel则负责管理模型和视图之间的数据同步和交互。MVVM架构在开发响应式UI和大规模数据驱动应用方面具有优势。 无论采用哪种架构模式,Java CS客户端程序通常会包含以下组件或功能: 1. 用户界面:负责与用户进行交互,包括各种界面元素和用户输入的处理。 2. 网络通信:用于与服务器进行通信,包括发送请求和接收响应等功能。 3. 数据处理:负责处理和操作数据,包括从服务器获取数据、本地数据的存储和查询等。 4. 业务逻辑:根据用户的操作和数据的变化,处理各种业务逻辑,进行计算和判断等。 5. 安全性和权限控制:确保身份验证和数据权限的合法性,以保护系统和用户数据的安全。 6. 错误处理和日志记录:处理程序运行过程中可能出现的错误,并记录日志以便后续排查和修复。 7. 可扩展性和规模化:将程序设计为可扩展和易于维护的结构,支持后续功能的添加和系统的规模化。 总的来说,Java CS客户端程序架构旨在将软件的不同部分分离,降低耦合度,提高可重用性和可维护性,并满足用户对界面友好性、性能和安全性等需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值