最近公司接了一个项目,要部署在全国300左右个点。项目任务紧做的急,项目的大部分功能已经完成,应客户要求尽快上线,后期留下很多遗留问题,要解决300个点要人为维护的话我想,对任何一个实施人员来说都是一种挑战。考虑到实施过程中的维护费用、操作复杂度和认为操作的不确定性,决定开发一套分离于应用系统的自动升级程序系统,实现系统的自动升级,减少维护成本,降低实施人员的手动操作出错的概率还有减少实施人员的痛苦和昂贵的维护费用。
下面就简单说一下这个程序的网络拓扑图,这个项目是全国部署的,采用的是内部网络。在设计上,更新程序分成了多级部署,成金字塔形状,最上面是总服务器,控制着所有更新程序的版本。采用分级主要是减轻上级服务的压力,同时减轻上级对下级的控制。更新客户端实时心跳通知服务器端,检测网络的畅通,检测达到一定的时间范围内网络任然不通,发邮件和短信消息到指定的网络管理员手机。更新程序包括自己更新自己的功能和更新应用程序的功能(文件、数据库更新),更新程序和应用系统一对一更新操作,放在同一台服务器。如果在这一层的下级还有应用系统和更新客户端,在这一层再起一个更新服务或者单独搞一台更新服务器。
更新服务器的功能:
1.记录下级更新客户的端的应用的版本
2.下级应用的版本管理
3.更改下级更新客户端的更新服务器地址
4.记录更新程序的版本。
5.记录下级应用的更新程序的过程。
更新客户端功能:
1.自动升级应用程序文件
2.操作数据库,备份、DDL、DML
3.升级自身自己程序
4.发送新版本到同级更新服务器
5.支持手动升级(在网络出现问题时,通过介质承载过来的文件手动升级)。
6.如果是WEB应用,对容器的停止、重启、启动操作。
7.心跳功能,主要提供检测网络。
分享到:
相关推荐
为了降低耦合度,这个自动升级程序设计为独立于宿主程序运行。这意味着升级过程不会干扰正在运行的应用程序,降低了升级失败的风险,同时也简化了开发者的集成工作。这种设计使得升级程序可以作为一个独立的服务或...
在IT行业中,自动升级程序是软件生命周期管理的关键组成部分,它允许开发者轻松地向用户推送新的功能、修复和安全更新。对于VC++(Visual C++)应用程序来说,实现自动升级功能可以使用户保持软件的最新状态,而无需...
基于GD32E230平台的单片机自动升级程序设计涉及到多个关键知识点,下面将详细阐述这些内容。 1. **GD32E230系列单片机**:GD32E230是由GigaDevice公司推出的通用高性能MCU,基于Arm Cortex-M23内核,具备低功耗和高...
VB源码自动升级程序是一种用于更新应用程序的自动化工具,它主要设计用于VB(Visual Basic)开发的应用程序。VB是微软公司推出的一种可视化编程语言,它以其直观易用的界面和强大的编程能力深受开发者喜爱。然而,...
总结,Qt自动升级程序涉及到网络请求、数据解析、进程管理、界面设计等多个方面,需要综合运用Qt的各种功能。通过合理的代码组织和良好的设计,可以构建出高效、稳定且用户体验良好的自动升级系统。
针对标题和描述中的内容,我们将探讨VC++、C++和C语言实现的软件自动升级程序源代码以及其在线自动升级功能。 1. **VC++、C++和C语言基础**: VC++是Microsoft Visual C++的简称,它是一个集成开发环境,支持C++...
描述中提到,这个自动升级程序是作者为WinForm应用程序设计的,适用于任何WinForm客户端。这意味着无论你的WinForm应用是什么,只要按照一定的接口或规范进行集成,都可以利用这个自动升级程序。作者将其开源共享,...
标题中的“delphi版的自动升级程序(自动更新软件)【全绿色的】”指的是使用Delphi编程语言开发的一种无须安装,可直接运行的自动更新机制。这种机制允许软件在用户端进行自我检查和更新,确保软件始终处于最新状态...
【C# WinForm 自动升级程序V1.0详解】 在软件开发中,为了确保用户始终使用最新版本,避免因旧版本存在的问题而影响用户体验,通常会设计自动升级功能。C# WinForm 自动升级程序V1.0是实现这一功能的一种解决方案。...
总结,开发一个C++自动升级程序涵盖了从基础语言特性到高级应用的多个方面,包括网络编程、文件操作、并发处理、错误处理、版本控制、安装卸载、安全策略、设计模式和测试调试。熟练掌握这些知识点,才能构建出稳定...
在软件开发领域,自动升级程序是一项重要的功能,它允许用户无缝地更新应用程序到最新版本,无需手动下载安装包。Delphi作为一款强大的Object Pascal编程环境,提供了丰富的工具和库来实现这一目标。以下是对Delphi...
在本文中,我们将深入探讨自动升级程序的工作原理、设计思路以及实现过程。 一、工作原理 自动升级程序通常包含以下几个关键步骤: 1. **检测更新**:程序启动时或设定的时间间隔内,自动连接到服务器检查是否有...
5. **错误处理**:在设计自动升级程序时,必须考虑到各种可能的错误情况,如网络问题、文件冲突、权限问题等,并提供相应的错误提示和处理机制。 6. **用户体验**:为了提供良好的用户体验,自动升级过程应该透明且...
VB自动升级程序源码是一个非常实用的技术,它允许VB(Visual Basic)开发的应用程序能够自我检查更新并自动下载和安装新版本。这个功能对于软件维护和用户体验提升至关重要,因为用户不再需要手动下载和安装每个新...
标题中的“通过数据库客户端自动升级程序”意味着一种技术方法,它允许软件应用程序通过与数据库的交互来自动进行更新。这种方法通常适用于服务器-客户端架构,其中客户端应用能够连接到服务器端的数据库来检查并...
在编写自动升级程序时,开发者需要掌握C#的基本语法、类库和面向对象的设计原则。 2. **.NET Framework或.NET Core**:C#程序通常运行在.NET Framework或.NET Core上,这两个框架提供了大量的API,用于文件操作、...
PB程序自动升级是一种技术,主要用于方便用户更新PowerBuilder(PB)开发的应用程序,无需手动进行繁琐的安装步骤。这一过程通常涉及多个组件和步骤,确保应用程序可以无缝地从旧版本过渡到新版本。 首先,`MyZip....
标题中的“使用Http在线自动升级程序”涉及到的是软件更新与分发的技术,它通常用于确保用户的软件保持最新状态,修复已知问题,增加新功能。在这个过程中,HTTP(超文本传输协议)扮演了关键角色,因为它是互联网上...
**VC软件自动升级程序** 在软件开发中,保持软件的更新和维护是至关重要的,以修复潜在的漏洞、增加新功能或改进用户体验。VC(Visual C++)是一种广泛使用的编程环境,用于创建Windows应用程序。本篇文章将深入...
在软件开发中,自动升级程序的设计与实现包含以下几个关键知识点: 1. **版本控制**:自动升级程序首先需要识别当前软件的版本,以便知道是否有新的更新可供应用。这通常涉及到一个版本号系统,如主版本号、次版本...