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

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

Info

Publication number
CN109547534B
CN109547534B CN201811269490.XA CN201811269490A CN109547534B CN 109547534 B CN109547534 B CN 109547534B CN 201811269490 A CN201811269490 A CN 201811269490A CN 109547534 B CN109547534 B CN 109547534B
Authority
CN
China
Prior art keywords
server
client
upgrade
information
abnormal
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
Application number
CN201811269490.XA
Other languages
English (en)
Other versions
CN109547534A (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 Together Technology Co ltd
Original Assignee
Shenzhen Together Technology Co ltd
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 Together Technology Co ltd filed Critical Shenzhen Together Technology Co ltd
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

Images

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、回传客户端升级状态信息到服务器;
服务器接收到客户端升级状态信息是更新异常信息后,服务器还包括以下步骤;
步骤S4、发送异常消息给目标B/S系统的服务端,目标B/S服务端按其内部机制处理异客户端的数据;
步骤S5、项目运维人员实时通过服务端监控到每个客户端对发布版本程序的更新过程信息。
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 CN109547534A (zh) 2019-03-29
CN109547534B true 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)

Families Citing this family (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 宁波市镇海甬讯信息科技有限公司 一种软件自动升级的方法及系统

Also Published As

Publication number Publication date
CN109547534A (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
US6854112B2 (en) System and method for the automatic installation and configuration of an operating system
EP2204734A1 (en) Method in a network of the delivery of files
CN102609281B (zh) 分布式软件补丁更新方法及系统
US10439873B2 (en) Reliably configure on-premise servers from the cloud
CN101996108B (zh) 一种分布式环境的备份和恢复方法及其系统
CN102025778A (zh) 一种基于Shell的软件版本升级工作方法
CN107634860B (zh) 一种weblogic集群补丁批量自动升级方法
US20190220285A1 (en) Method and system for automation tool set for server maintenance actions
CN109547534B (zh) 一种辅助分布式b/s架构实现系统自动在线升级的方法
CN105260209A (zh) 一种程序热更新解决方法
CN114237632A (zh) 一种混合云自动化运维发布系统及其操作方法
CN115202680A (zh) 在线远程自动升级本地客户端的系统及方法
CN114064438A (zh) 数据库故障处理方法和装置
CN111984373B (zh) 一种Kubernetes容器环境下保证环境一致性的方法及系统
CN116149713B (zh) 一种树型异构网络下的各级设备的程序升级方法及装置
EP2131279B1 (en) System and method for a generic integration of a database into a high availability cluster
CN104158906A (zh) 一种服务器代理操控系统及操控方法
CN100535860C (zh) 一种设备软件升级自动化的实现系统和方法
US11620122B2 (en) Automation controller for upgrading an IT infrastructure
CN105765908B (zh) 一种多站点自动更新方法、客户端和系统
US11269610B1 (en) System and method for self-service configuration management
WO2022196625A1 (ja) 運用管理装置、システム及び方法並びにコンピュータ可読媒体
CN117251186A (zh) 一种基于Ansible的自动化部署系统及方法
US20240126660A1 (en) File-based asynchronous and failsafe execution in cloud
WO2023156013A1 (en) Functional safety management system and method for managing functional safety status of at least one equipment under control

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