CN109547534A - 一种辅助分布式b/s架构实现系统自动在线升级的方法 - Google Patents

一种辅助分布式b/s架构实现系统自动在线升级的方法 Download PDF

Info

Publication number
CN109547534A
CN109547534A CN201811269490.XA CN201811269490A CN109547534A CN 109547534 A CN109547534 A CN 109547534A CN 201811269490 A CN201811269490 A CN 201811269490A CN 109547534 A CN109547534 A CN 109547534A
Authority
CN
China
Prior art keywords
server
client
upgrading
line
auxiliary distribution
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.)
Granted
Application number
CN201811269490.XA
Other languages
English (en)
Other versions
CN109547534B (zh
Inventor
邢亚凯
王鲲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Same Farming Polytron Technologies Inc
Original Assignee
Shenzhen Same Farming Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Same Farming Polytron Technologies Inc filed Critical Shenzhen Same Farming Polytron Technologies Inc
Priority to CN201811269490.XA priority Critical patent/CN109547534B/zh
Publication of CN109547534A publication Critical patent/CN109547534A/zh
Application granted granted Critical
Publication of CN109547534B publication Critical patent/CN109547534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明是一种辅助分布式B/S架构实现系统自动在线升级的方法,在服务器端的步骤和客户端的步骤,其中,服务端向客户端推升级消息,客户端收到消息判断是否要升级,如果要升级则从服务端下载升级文件进行升级,并回传升级信息到服务端。本发明通过远程升级方法,来降低升级工作的难度,减少人工操作。

Description

一种辅助分布式B/S架构实现系统自动在线升级的方法
技术领域
本发明涉及软件远程升级方法领域,特别涉及一种辅助分布式B/S架构实现系统自动在线升级的方法。
背景技术
B/S结构(Browser/Server,浏览器/服务器模式),如图1所示是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。
为了支撑客户日益增长的庞大业务量,单一的B/S架构的系统架构逐渐无法满足现状,于是从单一的B/S架构演变成分布式的B/S架构如图2所示,由一些B/S加构系统组合成分布式的,分布式的B/S架构的升级大大提高了客户数据传输和处理效率,但是系统的升级工作复杂度就随着客户端服务器的扩展呈直线上升趋势。
发明内容
本发明为了解决分布式B/S架构系统软件升级这一问题,提供一种辅助分布式B/S架构实现系统自动在线升级的方法,来降低升级工作的难度,减少人工操作。
本发明的技术方案是:一种辅助分布式B/S架构实现系统自动在线升级的方法,在服务器端包括以下步骤:
步骤S1、发布更新补丁文件和数据更新脚本到统一的文件管理服务器;
步骤S2、记录发布的版本信息;
步骤S3、推送更新消息到各个客户端;
客户端收到服务端的推送消息后,启动更新流程,包括以下步骤:
步骤B1、检查系统是否正在运行,如果正在运行会停止B/S系统;
步骤B2、备份B/S系统文件到指定的文件系统;
步骤B3、从所述的文件管理服务器中下载更新补丁文件到系统运行目录;
步骤B4、从所述的文件管理服务器中下载数据更新脚本到指定的文件系统;
步骤B5、按分割符解析每条执行语句并自动执行;
步骤B6、回传客户端升级信息到服务器。
本发明通过远程升级方法,来降低升级工作的难度,减少人工操作。
进一步的,上述的辅助分布式B/S架构实现系统自动在线升级的方法中:步骤B6中,客户端升级信息是通过SOAP协议回传服务器的,包括客户端编号、升级时间、升级版本号、状态。
进一步的,上述的辅助分布式B/S架构实现系统自动在线升级的方法中:当服务器接收到客户端回传的客户端升级信息中,状态信息表示是升级失败时,发送异常消息给目标B/S系统的服务端,B/S服务端按其内部机制处理。
进一步的,上述的辅助分布式B/S架构实现系统自动在线升级的方法中:所述的版本信息包括:版本号、上传时间、是否需要重启服务、发布内容说明,兼容版本号,异常数据处理接口。
下面结合附图和具体实施例对本发明进行详细地说明。
附图说明
附图1为B/S架构图。
附图2为辅助分布式B/S架构图。
附图3是本发明客户端逻辑图。
具体实施方式
实施例1,本实施例是针对如图2所示的分布式B/S架构的系统进行远程软件升级,包含一个服务端和客户端,运行平台为Java,利用Java的跨平台性实现跨平台。
服务端处理的业务:
1. 发布更新补丁文件到统一的文件管理服务器。
2. 发布数据更新脚本到统一的文件管理服务器。
本实施例中,上面两个文件管理器是同一个。在实践中,可以通过配置文件来配置与WEB服务器的关系,可以放到一起,也可以分开两台。
3. 记录发布的版本信息到服务端。信息包含:版本号、上传时间、是否需要重启服务、发布内容说明,兼容版本号,异常数据处理接口。
本实施例中,这个服务端就是指WEB服务器。
4. 推送更新消息到各个客户端。
本实施例中WEB服务器通过http协议推送文本消息到各个客户端。
更新的内容包含:消息类型(执行成功,执行失败),客户端IP,更新时间等。
5.服务器接受到客户端更新异常信息后,发送异常消息(客户端IP、时间等)给目标B/S系统的服务端,目标B/S服务端可按其内部机制处理异客户端的数据,以防服务器数据收到客户端异常版本数据的影响。执行失败的消息细化为:错误分类(脚本,补丁包),脚本会记录那一段脚本执行出错,错误的内容。
6.项目运维人员可实时通过服务端监控到每个客户端对发布版本程序的更新过程信息。
客户端处理的业务:
客户端收到服务端的推送消息后,启动更新流程,流程如下:
1) 软件会检查系统是否正在运行,如果正在运行会停止B/S系统;
2) 停止后,备份B/S系统文件到指定的文件系统;
3) 自动下载更新补丁包到本地,解压补丁包后到系统运行目录;
4) 下载数据库更新脚本到指定的文件系统;
5)按分割符解析每条执行语句并自动执行,每条命令的执行情况都会记录到数据库中,为日后错误排查进行日志记录;
6) 过SOAP协议回传客户端升级信息:客户端编号、升级时间、升级版本号、状态(失败/成功)到服务端,回传后由服务端记录到数据库;
7) 发送客户端更新成功的消息到服务器。
8) 客户端自动启动B/S系统服务,系统正常运行;
如果升级出现异常,在非断电的情况下,会立即启动异常处理机制:
1) 服务器发送升级失败记录到服务端(服务端IP, 异常信息,异常位置,异常时间等),并邮件通知到运维人员。
2) 通过服务端接口获取是否兼容最新的版本,如果可以从本地文件系统下载最新的版本(系统文件和数据文件)进行恢复,如果不兼容停止本地服务;
如果只发布B/S系统更新补丁或数据库更新脚本,则只执行其中一项的更新和其中一项的恢复。

Claims (4)

1.一种辅助分布式B/S架构实现系统自动在线升级的方法,其特征在于:
在服务器端包括以下步骤:
步骤S1、发布更新补丁文件和数据更新脚本到统一的文件管理服务器;
步骤S2、记录发布的版本信息;
步骤S3、推送更新消息到各个客户端;
客户端收到服务端的推送消息后,启动更新流程,包括以下步骤:
步骤B1、检查系统是否正在运行,如果正在运行会停止B/S系统;
步骤B2、备份B/S系统文件到指定的文件系统;
步骤B3、从所述的文件管理服务器中下载更新补丁文件到系统运行目录;
步骤B4、从所述的文件管理服务器中下载数据更新脚本到指定的文件系统;
步骤B5、按分割符解析每条执行语句并自动执行;
步骤B6、回传客户端升级状态信息到服务器。
2.根据权利要求1所述的辅助分布式B/S架构实现系统自动在线升级的方法,其特征在于:步骤B6中,客户端回传的升级状态信息是通过SOAP协议回传服务器的,包括客户端编号、升级时间、升级版本号、状态。
3.根据权利要求2所述的辅助分布式B/S架构实现系统自动在线升级的方法,其特征在于:当服务器接收到客户端回传的客户端升级状态信息中,状态信息表示是升级失败时,发送异常消息给目标B/S系统的服务端,目标B/S服务端按其内部机制处理。
4.根据权利要求1所述的辅助分布式B/S架构实现系统自动在线升级的方法,其特征在于:所述的版本信息包括:版本号、上传时间、是否需要重启服务、发布内容说明,兼容版本号,异常数据处理接口。
CN201811269490.XA 2018-10-29 2018-10-29 一种辅助分布式b/s架构实现系统自动在线升级的方法 Active CN109547534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811269490.XA CN109547534B (zh) 2018-10-29 2018-10-29 一种辅助分布式b/s架构实现系统自动在线升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811269490.XA CN109547534B (zh) 2018-10-29 2018-10-29 一种辅助分布式b/s架构实现系统自动在线升级的方法

Publications (2)

Publication Number Publication Date
CN109547534A true CN109547534A (zh) 2019-03-29
CN109547534B CN109547534B (zh) 2021-11-30

Family

ID=65845877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811269490.XA Active CN109547534B (zh) 2018-10-29 2018-10-29 一种辅助分布式b/s架构实现系统自动在线升级的方法

Country Status (1)

Country Link
CN (1) CN109547534B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767064A (zh) * 2019-04-02 2020-10-13 北京精雕科技集团有限公司 一种无需客户端支持的软件批量远程升降级方法及系统
CN113407215A (zh) * 2021-06-29 2021-09-17 山东新一代信息产业技术研究院有限公司 一种基于多节点服务器模式的自动运维方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346178A (zh) * 2013-07-26 2015-02-11 镇江雅迅软件有限责任公司 一种基于b/s架构软件的在线更新方法
CN106775806A (zh) * 2016-11-18 2017-05-31 国云科技股份有限公司 一种升级私有云应用的方法
WO2017183983A1 (en) * 2016-04-22 2017-10-26 Winc Solutions B.V. Method for installing and updating software programs, corresponding server and software package
CN108121550A (zh) * 2016-11-28 2018-06-05 宁波市镇海甬讯信息科技有限公司 一种软件自动升级的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346178A (zh) * 2013-07-26 2015-02-11 镇江雅迅软件有限责任公司 一种基于b/s架构软件的在线更新方法
WO2017183983A1 (en) * 2016-04-22 2017-10-26 Winc Solutions B.V. Method for installing and updating software programs, corresponding server and software package
CN106775806A (zh) * 2016-11-18 2017-05-31 国云科技股份有限公司 一种升级私有云应用的方法
CN108121550A (zh) * 2016-11-28 2018-06-05 宁波市镇海甬讯信息科技有限公司 一种软件自动升级的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767064A (zh) * 2019-04-02 2020-10-13 北京精雕科技集团有限公司 一种无需客户端支持的软件批量远程升降级方法及系统
CN113407215A (zh) * 2021-06-29 2021-09-17 山东新一代信息产业技术研究院有限公司 一种基于多节点服务器模式的自动运维方法及系统

Also Published As

Publication number Publication date
CN109547534B (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
US7904900B2 (en) Method in a network of the delivery of files
CN106991035B (zh) 一种基于微服务架构的主机监控系统
CN101635640B (zh) Web网站系统服务器终端程序的版本自动发布方法
KR101891506B1 (ko) 하나 이상의 클라우드 시스템 상에 애플리케이션들을 이식 가능하게 배치하기 위한 방법들 및 시스템들
CN101179429B (zh) 一种配置文件的远程展示和实时编辑方法
CN1095128C (zh) 用于更新备份软件的代理程序的系统及方法
US20020087668A1 (en) Automatic upgrade of live network devices
US20020004824A1 (en) Method and apparatus for automatically deploying data and simultaneously Executing computer program scripts in a computer network
US20110138374A1 (en) Downtime reduction for enterprise manager patching
CN102025778A (zh) 一种基于Shell的软件版本升级工作方法
WO2011025595A1 (en) Remote data collection systems and methods
CN101155116A (zh) 对通常读出事务进行工作负载管理的设备和方法
CA2526702A1 (en) System and method for remote systems management and reporting
CN110912728B (zh) 一种操作系统补丁批量自动化更新管理方法及系统
US20090307235A1 (en) Data copy system and method for multi-platform disaster recovery
CN109547534A (zh) 一种辅助分布式b/s架构实现系统自动在线升级的方法
US20200019537A1 (en) Database Shutdown and Restart Stability Optimizer
WO2001047187A2 (en) A method for controlling data collection, manipulation and storage on a network with service assurance capabilities
US20120096453A1 (en) Software Package Management Mechanism
CN115809096B (zh) 操作系统批量自适应升级方法
CN100535860C (zh) 一种设备软件升级自动化的实现系统和方法
CN115826996A (zh) 基于两库模式的轻型跨平台分布式的系统自动化部署工具
CN111897794A (zh) 数据库的维护方法、装置、电子设备和存储介质
JPH1124934A (ja) クライアント・サーバシステムにおけるクライアントプログラムの配布管理方法
WO2024207832A1 (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