CN110209405A - 分布式系统的自动化升级方法及装置 - Google Patents

分布式系统的自动化升级方法及装置 Download PDF

Info

Publication number
CN110209405A
CN110209405A CN201910483726.8A CN201910483726A CN110209405A CN 110209405 A CN110209405 A CN 110209405A CN 201910483726 A CN201910483726 A CN 201910483726A CN 110209405 A CN110209405 A CN 110209405A
Authority
CN
China
Prior art keywords
installation kit
host
new version
service node
equipment
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
CN201910483726.8A
Other languages
English (en)
Other versions
CN110209405B (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.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity 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 Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN201910483726.8A priority Critical patent/CN110209405B/zh
Publication of CN110209405A publication Critical patent/CN110209405A/zh
Application granted granted Critical
Publication of CN110209405B publication Critical patent/CN110209405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

本发明提供了一种分布式系统的自动化升级方法及装置,涉及分布式系统技术领域。该方法由业务节点的主机执行,包括:获取控制器中的新版本安装包,对新版本安装包进行校验,并将所述新版本安装包分别发送至业务节点的每个设备,以使业务节点的每个设备分别对新版本安装包进行校验;如果主机和每个设备对新版本安装包进行校验得到的校验结果都为合格,将主机的业务流量切换至节点备机,停止主机的当前服务;对业务节点的主机的当前系统版本依次执行备份操作和自动升级操作;如果自动升级操作成功,将业务流量由节点备机切换回业务节点的主机,并控制业务节点中的每个设备均完成自动升级操作。本发明降低了分布式系统人工升级操作带来的风险。

Description

分布式系统的自动化升级方法及装置
技术领域
本发明涉及分布式系统技术领域,尤其是涉及一种分布式系统的自动化升级方法及装置。
背景技术
随着移动互联网的发展,很多大的系统和应用都采用了分布式的方法来进行部署。越大的分布式系统拥有越多的机器需要进行维护管理,尤其是在版本升级迭代和补丁升级的时候,对运维人员来说是个很艰巨的任务。一旦出现操作失误,就有可能给系统带来极大的经济损失,因此,纯粹的人工操作分布式系统升级具有较大的风险。
发明内容
本发明实施例的目的在于提供一种分布式系统的自动化升级方法及装置,能够实现分布式系统的自动化升级,降低了人工升级操作带来的风险。
第一方面,本发明实施例提供了一种分布式系统的自动化升级方法,所述分布式系统包括业务节点和中心节点;所述业务节点的主机分别与所述中心节点的控制器、所述业务节点中的多个设备通信连接,所述方法由所述业务节点的主机执行,包括:获取所述控制器中的新版本安装包,对所述新版本安装包进行校验,并将所述新版本安装包分别发送至所述业务节点的每个设备,以使所述业务节点的每个设备分别对所述新版本安装包进行校验;如果所述主机和每个所述设备对所述新版本安装包进行校验得到的校验结果都为合格,将所述主机的业务流量切换至节点备机,停止所述主机的当前服务;其中,所述节点备机是所述业务节点的多个设备中选取的备用设备;对所述业务节点的主机的当前系统版本依次执行备份操作和自动升级操作;其中,所述自动升级操作是基于所述新版本安装包执行的;如果所述自动升级操作成功,将所述业务流量由所述节点备机切换回所述业务节点的主机,并控制所述业务节点中的每个设备均完成所述自动升级操作。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述获取所述控制器中的新版本安装包,对所述新版本安装包进行校验,并将所述新版本安装包分别发送至所述业务节点的每个设备,以使所述业务节点的每个设备分别对所述新版本安装包进行校验的步骤,包括:按照预设时间从所述控制器中获取所述新版本安装包,并对所述新版本安装包的有效性和完整性进行校验;如果所述新版本安装包的校验结果合格,将所述新版本安装包分别发送至所述业务节点的每个设备,并使每个所述设备对所述新版本安装包的有效性和完整性进行校验。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述自动升级操作包括:获取所述控制器中的版本升级设置参数,根据所述版本升级设置参数和所述新版本安装包将当前系统版本更新为新的系统版本,并将系统版本的更新进度实时发送至所述控制器,以使所述控制器通过用户终端将所述更新进度反馈给用户;其中,所述版本升级设置参数是所述控制器通过所述用户终端接收的,且所述版本升级设置参数包括升级时间和升级版本信息。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述控制器还与用户终端相连;所述控制器中的新版本安装包是所述用户终端上传给所述控制器的;所述方法还包括:获取所述业务节点中每个设备的校验结果,将所述主机的校验结果以及每个所述设备的校验结果均发送至所述控制器,以使所述控制器将所述校验结果反馈给所述用户终端。
结合第一方面或第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,从所述控制器中获取的新版本安装包均为经所述控制器校验合格的新版本安装包。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述方法还包括:如果所述自动升级操作失败,根据备份的系统版本进行版本回退操作,并将所述自动升级操作失败的消息发送至所述控制器。
第二方面,本发明实施例还提供了一种分布式系统的自动化升级装置,所述分布式系统包括业务节点和中心节点;所述业务节点的主机分别与所述中心节点的控制器、所述业务节点中的多个设备通信连接,所述装置设置于业务节点的主机中,包括:校验模块,用于获取所述控制器中的新版本安装包,对所述新版本安装包进行校验,并将所述新版本安装包分别发送至所述业务节点的每个设备,以使所述业务节点的每个设备分别对所述新版本安装包进行校验;流量切换模块,用于在所述主机和每个所述设备对所述新版本安装包进行校验得到的校验结果都为合格时,将所述主机的业务流量切换至节点备机,停止所述主机的当前服务;其中,所述节点备机是所述业务节点的多个设备中选取的备用设备;主机升级模块,用于对所述业务节点的主机的当前系统版本依次执行备份操作和自动升级操作;其中,所述自动升级操作是基于所述新版本安装包执行的;设备升级模块,用于在所述自动升级操作成功时,将所述业务流量由所述节点备机切换回所述业务节点的主机,并控制所述业务节点中的每个设备均完成所述自动升级操作。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述装置还包括:版本回退模块,用于在所述自动升级操作失败时,根据备份的系统版本进行版本回退操作,并将所述自动升级操作失败的消息发送至所述控制器。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如第一方面所述的方法的步骤。
第四方面,本发明实施例提供了一种计算机可读介质,其中,所述计算机可读介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现如第一方面所述的方法。
本发明实施例提供了一种分布式系统的自动化升级方法及装置,该分布式系统包括业务节点和中心节点;业务节点的主机分别与中心节点的控制器、业务节点中的多个设备通信连接,该方法由业务节点的主机执行,在该方法中,首先获取中心节点控制器中的新版本安装包,并对新版本安装包进行校验,再将新版本安装包分别发送至业务节点的每个设备,使业务节点的每个设备分别对新版本安装包进行校验,当主机和每个设备对新版本安装包进行校验得到的校验结果都为合格时,将主机的业务流量切换至节点备机(该节点备机是业务节点的多个设备中选取的备用设备),以保证业务的正常运行,然后对主机当前的系统版本依次执行备份操作和自动升级操作(自动升级操作是基于新版本安装包执行的),如果主机的自动升级操作成功,将业务流量由节点备机切回主机,最后控制业务节点中的每个设备均完成自动升级操作,实现了分布式系统的自动化升级,降低了人工升级操作带来的风险。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式系统的自动化升级方法流程图;
图2为本发明实施例提供的一种业务节点自动升级操作流程图;
图3为本发明实施例提供的一种新版本安装包获取方法流程图;
图4为本发明实施例提供的一种分布式系统的自动化升级装置结构示意图;
图5为本发明实施例提供的一种分布式系统的自动化升级装置结构示意图;
图6为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有的分布式系统运维操作一般由人工进行,越大的分布式系统拥有越多的机器需要进行维护管理,尤其是在版本升级迭代和补丁升级的时候,对运维人员来说是个很艰巨的任务。一旦出现操作失误,就有可能给系统带来极大的经济损失,因此,纯粹的人工操作分布式系统升级具有较大的风险。基于此,本发明实施例提供了一种分布式系统的自动化升级方法及装置,通过对分布式系统实现自动化升级,降低了人工升级操作带来的风险。
为了便于对本实施例进行理解,首先对本发明实施例所公开的一种分布式系统的自动化升级方法及装置进行详细介绍。
实施例一:
本发明实施例提供的一种分布式系统的自动化升级方法,参见如图1所示的分布式系统的自动化升级方法流程图,上述分布式系统包括业务节点和中心节点;业务节点的主机分别与中心节点的控制器、业务节点中的多个设备通信连接,该方法由业务节点的主机执行,包括:
S102:获取控制器中的新版本安装包,对新版本安装包进行校验,并将新版本安装包分别发送至业务节点的每个设备,以使业务节点的每个设备分别对新版本安装包进行校验。
业务节点的主机按照预设之间获取中心节点控制器中的新版本安装包,并对获取到的新版本安装包的完整性和有效性进行校验,校验结果为合格时,业务节点的主机将新版本安装包分别发送至业务节点的每个设备,使业务节点的每个设备将新版本安装包下载成功,然后业务节点的每个设备会分别对新版本安装包的有效性和完整性进行校验。
分布式系统的中心节点是分布式系统中管理和下发用户在前端页面配置的节点集群,该节点主要是对用户通过前端页面进行的配置进行存储,并下发给分布式系统内的非中心节点,同时中心节点是直接与用户操作的前端页面进行交互的节点集群。分布式系统的业务节点是分布式系统中真正处理业务逻辑功能的节点集群。
在一种实际的实施方式中,业务节点的主机或每个设备在对新版本安装包的完整性和有效性进行校验时,校验新版本安装包的完整性的具体方法可以是:解压上述新版本安装包并读取新版本安装包内的md5(消息摘要算法,Message Digest Algorithm,简称MD5)文件,主机还会利用消息摘要算法对新版本安装包进行md5计算,判断计算出的新版本安装包的md5值是否与读取到的新版本安装包内的md5文件内的md5值一致,如果是,则该新版本安装包具备完整性;如果否,则该新版本安装包不具备完整性。校验新版本安装包的有效性的具体方法可以是:由于新版本安装包是以版本号+日期+序号的方式命名的,判断新版本安装包的版本号是否高于系统当前的版本号,如果是,则该系统版本安装包具备有效性;如果否,则该系统版本安装包不具备有效性。当被校验的新版本安装包同时具备完整性和有效性时,该新版本安装包的校验结果为合格。
S104:如果主机和每个设备对新版本安装包进行校验得到的校验结果都为合格,将主机的业务流量切换至节点备机,停止主机的当前服务;其中,节点备机是业务节点的多个设备中选取的备用设备。
如果主机和每个设备对新版本安装包进行校验后,得到的校验结果都为合格,则开始进入自动升级操作的准备流程,将业务节点主机的业务流量切换至节点备机,以保障主机在升级的时候不对实际业务产生影响,如产生业务中断等问题。其中,节点备机是从业务节点的多个设备中选取的备用设备,停止业务节点主机的各项服务。
S106:对业务节点的主机的当前系统版本依次执行备份操作和自动升级操作;其中,自动升级操作是基于新版本安装包执行的。
业务节点的主机完成自动升级操作的准备流程后,对当前的系统版本先执行备份操作,将主机当前的系统版本进行备份,然后基于新版本安装包对当前的系统版本进行自动升级操作。
S108:如果自动升级操作成功,将业务流量由节点备机切换回业务节点的主机,并控制业务节点中的每个设备均完成自动升级操作。
如果对业务节点主机的自动升级操作成功,也就是主机的系统版本成功更新至最新的系统版本,将业务流量由节点备机切换回业务节点的主机,然后再控制业务节点中的每个设备依次执行自动升级操作,业务节点中的每个设备在执行自动升级操作前,也会完成自动升级操作的准备流程,即将当前要进行自动升级操作的设备的业务流量切换至节点备机,并停止该设备的当前服务,进而对该设备的当前系统版本执行备份操作和自动升级操作。
本发明实施例提供了一种分布式系统的自动化升级方法,分布式系统中业务节点的主机通过获取中心节点中的新版本安装包并进行校验,在新版本安装包校验合格时,切换业务节点的主机流量至节点备机,并对主机当前系统版本进行备份,然后基于新版本安装包依次对业务节点的主机和其他多个设备执行自动升级操作,实现了分布式系统的自动化升级,降低了人工升级操作带来的风险。
考虑到分布式系统的自动化升级时间,本实施例还提供了获取控制器中的新版本安装包,对新版本安装包进行校验,并将新版本安装包分别发送至业务节点的每个设备,以使业务节点的每个设备分别对新版本安装包进行校验的步骤的具体实施方式:
按照预设时间从控制器中获取新版本安装包,并对新版本安装包的有效性和完整性进行校验。如果新版本安装包的校验结果合格,将新版本安装包分别发送至业务节点的每个设备,并使每个设备对新版本安装包的有效性和完整性进行校验。业务节点的主机可以按照预设时间从中心节点的控制器中获取新版本安装包,并对获取到的新版本安装包的有效性和完整性进行校验,其中,上述预设时间可以是预设的时间点或时间段,例如,业务节点的主机可以是在分布式系统业务不繁忙的时候(比如,每日的1时~6时的时间段内的任意时刻)从中心节点的控制器获取新版本安装包。如果业务节点的主机对新版本安装包的校验结果为合格,则主机会将新版本安装包分别发送至业务节点的每个设备,并使业务节点的每个设备对新版本安装包的有效性和完整性进行校验,从而为每个设备的自动升级操作做准备。
为了进一步提高分布式系统的自动化升级的便捷性,本实施例提供了上述自动升级操作的具体实施方式:获取控制器中的版本升级设置参数,根据版本升级设置参数和新版本安装包将当前系统版本更新为新的系统版本,并将系统版本的更新进度实时发送至控制器,以使控制器通过用户终端将更新进度反馈给用户;其中,版本升级设置参数是控制器通过用户终端接收的,且版本升级设置参数包括升级时间和升级版本信息。业务节点的主机在执行自动升级操作时,从中心节点的控制器中获取版本升级设置参数,版本升级设置参数是中心节点的控制器通过用户终端的控制页面接收的用户输入的版本升级设置参数,例如,版本升级设置参数可以是每日2时将分布式系统升级到最新的版本。主机根据版本升级设置参数中的升级时间和升级版本信息,以及新版本安装包将当前的系统版本更新为新的系统版本,并将当前系统版本执行自动升级操作时的版本更新进度实时发送至中心节点的控制器,使中心节点的控制器将自动升级操作的进度通过用户终端的控制页面实时反馈给用户。其中,如图2所示的业务节点自动升级操作流程图,图2中示出了用户、控制页面(该控制页面为与中心节点相连的用户终端中,与用户进行交互的页面)、中心节点(在该流程图中,中心节点中起到主要作用的是中心节点的控制器)和业务节点(业务节点中包括主机和与主机通信连接的节点备机),用户在控制页面输入版本升级设置参数,该版本升级设置参数包括用户指定节点的升级时间和升级版本信息,控制页面将用户输入的版本升级参数发送至中心节点,业务节点在进行自动升级操作前,业务节点的主机会将业务流量切换至业务节点中的节点备机,并停止当前的服务,然后开始依次执行备份操作和自动升级操作,业务节点的主机从中心节点获取该版本升级设置参数,并根据版本升级设置参数中的指定节点的升级时间和升级版本信息,以及新版本安装包将当前的系统版本更新为新的系统版本,并将当前系统版本执行自动升级操作时的版本更新进度实时发送至中心节点,使中心节点的控制器将自动升级操作的版本更新进度通过用户终端的控制页面显示出来版本更新进度和结果,从而将自动升级操作的进度实时反馈给用户。
业务节点的主机会将业务流量切换至业务节点中的节点备机,并停止当前的服务,然后开始依次执行备份操作和自动升级操作;
考虑到用户对分布式系统的升级版本的需求,本实施例提供了一种新版本安装包的具体获取方法:控制器还与用户终端相连;控制器中的新版本安装包是用户终端上传给控制器的。如图3所示的新版本安装包获取方法流程图,基于中心节点的控制器还与用户终端通信连接,图3中示出了用户、控制页面(该控制页面为用户终端中设置的与用户实现交互的页面)、中心节点和业务节点(业务节点包括主机和与主机通信连接的多个设备),用户可以通过控制页面将分布式系统的新版本安装包上传,用户终端会将通过控制页面接收到的新版本安装包发送至中心节点,中心节点会将新版本安装包存放在控制器中。业务节点的主机按照预设时间从中心节点定时获取新版本安装包,并在校验结果为合格时,将新版本安装包发送至业务节点的其他设备中。业务节点的主机还会将主机和获取到的每个设备的校验结果反馈给中心节点。
为了使用户能够实时了解到分布式系统的自动升级过程,本实施例提供了一种将自动化升级进程反馈给用户的一种具体实施方式:获取业务节点中每个设备的校验结果,将主机的校验结果以及每个设备的校验结果均发送至控制器,以使控制器将校验结果反馈给用户终端。业务节点的主机在每个设备对新版本安装包进行校验后,获取每个设备的校验结果,然后将每个设备的校验结果和主机对新版本安装包的校验结果发送至中心节点的控制器,中心节点的控制器会将上述校验结果通过用户终端反馈给用户,使用户实时了解分布式系统的升级进程。如果业务节点的主机和每个设备的校验结果都为不合格,则分布式系统无法进行自动升级操作,用户在通过用户终端得到校验结果为不合格时,可以重新通过用户终端的控制页面上传新版本安装包,使分布式系统重新开始执行分布式系统的自动化升级方法。
为了提高分布式系统的自动化升级方法的稳定性,从控制器中获取的新版本安装包均为经控制器校验合格的新版本安装包。中心节点的控制器在接收到用户通过用户终端上传的新版本安装包后,会对新版本安装包的有效性和完整性进行校验,校验方法与主机对新版本安装包的校验方法相同。控制器对新版本安装包的校验结果为合格时,才会允许业务节点的主机获取该新版本安装包,因此,业务节点的主机从中心节点的控制器中获取的新版本安装包均为经过控制器校验合格的新版本安装包。
考虑到使用该分布式系统的自动化升级方法升级时,可能会遇到分布式系统升级失败的问题,本实施例提供了一种自动升级失败时的具体实施方式:如果自动升级操作失败,根据备份的系统版本进行版本回退操作,并将自动升级操作失败的消息发送至控制器。如果业务节点的主机或业务节点的每个设备在执行自动升级操作失败,则主机或每个设备会根据备份的系统版本执行版本回退操作,自动回退到之前使用的正常的系统版本,以保证业务的正常运行。并将执行自动升级操作失败的消息发送至控制器,使控制器通过用户终端反馈给用户,以便再次执行分布式系统的自动化升级方法的步骤。
本发明实施例提供了一种分布式系统的自动化升级方法,该方法可以实现对分布式系统的自动化升级,在系统升级时会将业务流量切换到节点备机,不影响系统的正常业务;在升级过程中还会将升级进程通过用户终端实时反馈给用户;还可以接收用户输入的升级时间和升级版本设置,提高了用户对分布式系统版本升级的便捷性;由于系统在升级前会进行系统版本备份,即使出现升级失败的情况,系统会进行版本回退操作自动回退到升级之前的系统版本以保证业务的正常运行,对运维操作人员的运维操作能力要求低,大大降低了分布式系统人工系统升级操作带来的风险。
实施例二:
本发明实施例提供了一种分布式系统的自动化升级装置,如图4所示的分布式系统的自动化升级装置结构示意图,分布式系统包括业务节点和中心节点;业务节点的主机分别与中心节点的控制器、业务节点中的多个设备通信连接,装置设置于业务节点的主机中,包括:
校验模块41,用于获取控制器中的新版本安装包,对新版本安装包进行校验,并将新版本安装包分别发送至业务节点的每个设备,以使业务节点的每个设备分别对新版本安装包进行校验。
流量切换模块42,用于在主机和每个设备对新版本安装包进行校验得到的校验结果都为合格时,将主机的业务流量切换至节点备机,停止主机的当前服务;其中,节点备机是业务节点的多个设备中选取的备用设备。
主机升级模块43,用于对业务节点的主机的当前系统版本依次执行备份操作和自动升级操作;其中,自动升级操作是基于新版本安装包执行的。
设备升级模块44,用于在自动升级操作成功时,将业务流量由节点备机切换回业务节点的主机,并控制业务节点中的每个设备均完成自动升级操作。
在一种实施方式中,上述校验模块41进一步用于按照预设时间从控制器中获取新版本安装包,并对新版本安装包的有效性和完整性进行校验;如果新版本安装包的校验结果合格,将新版本安装包分别发送至业务节点的每个设备,并使每个设备对新版本安装包的有效性和完整性进行校验。
在一种实施方式中,上述主机升级模块43进一步用于获取控制器中的版本升级设置参数,根据版本升级设置参数和新版本安装包将当前系统版本更新为新的系统版本,并将系统版本的更新进度实时发送至控制器,以使控制器通过用户终端将更新进度反馈给用户;其中,版本升级设置参数是控制器通过用户终端接收的,且版本升级设置参数包括升级时间和升级版本信息。
在一种实施方式中,控制器还与用户终端相连;控制器中的新版本安装包是用户终端上传给控制器的。从控制器中获取的新版本安装包均为经控制器校验合格的新版本安装包。如图5所示的分布式系统的自动化升级装置结构示意图,在上述分布式系统的自动化升级装置的基础上,该装置还包括:
展示模块55,用于获取业务节点中每个设备的校验结果,将主机的校验结果以及每个设备的校验结果均发送至控制器,以使控制器将校验结果反馈给用户终端。
在一种实施方式中,上述分布式系统的自动化升级装置还包括:
版本回退模块56,用于在自动升级操作失败时,根据备份的系统版本进行版本回退操作,并将自动升级操作失败的消息发送至控制器。
本发明实施例提供了一种分布式系统的自动化升级装置,与上述实施例一提供的分布式系统的自动化升级方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例三:
本发明实施例提供的一种电子设备,如图6所示的电子设备结构示意图,电子设备包括处理器61、存储器62,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一提供的方法的步骤。
参见图6,电子设备还包括:总线64和通信接口63,处理器61、通信接口63和存储器62通过总线64连接。处理器61用于执行存储器62中存储的可执行模块,例如计算机程序。
其中,存储器62可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线64可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器62用于存储程序,所述处理器61在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器61中,或者由处理器61实现。
处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等。还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器62,处理器61读取存储器62中的信息,结合其硬件完成上述方法的步骤。
实施例四:
本发明实施例提供的一种计算机可读介质,其中,所述计算机可读介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现实施例一所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种分布式系统的自动化升级方法,其特征在于,所述分布式系统包括业务节点和中心节点;所述业务节点的主机分别与所述中心节点的控制器、所述业务节点中的多个设备通信连接,所述方法由所述业务节点的主机执行,包括:
获取所述控制器中的新版本安装包,对所述新版本安装包进行校验,并将所述新版本安装包分别发送至所述业务节点的每个设备,以使所述业务节点的每个设备分别对所述新版本安装包进行校验;
如果所述主机和每个所述设备对所述新版本安装包进行校验得到的校验结果都为合格,将所述主机的业务流量切换至节点备机,停止所述主机的当前服务;其中,所述节点备机是所述业务节点的多个设备中选取的备用设备;
对所述业务节点的主机的当前系统版本依次执行备份操作和自动升级操作;其中,所述自动升级操作是基于所述新版本安装包执行的;
如果所述自动升级操作成功,将所述业务流量由所述节点备机切换回所述业务节点的主机,并控制所述业务节点中的每个设备均完成所述自动升级操作。
2.根据权利要求1所述的方法,其特征在于,所述获取所述控制器中的新版本安装包,对所述新版本安装包进行校验,并将所述新版本安装包分别发送至所述业务节点的每个设备,以使所述业务节点的每个设备分别对所述新版本安装包进行校验的步骤,包括:
按照预设时间从所述控制器中获取所述新版本安装包,并对所述新版本安装包的有效性和完整性进行校验;
如果所述新版本安装包的校验结果合格,将所述新版本安装包分别发送至所述业务节点的每个设备,并使每个所述设备对所述新版本安装包的有效性和完整性进行校验。
3.根据权利要求1所述的方法,其特征在于,所述自动升级操作包括:获取所述控制器中的版本升级设置参数,根据所述版本升级设置参数和所述新版本安装包将当前系统版本更新为新的系统版本,并将系统版本的更新进度实时发送至所述控制器,以使所述控制器通过用户终端将所述更新进度反馈给用户;其中,所述版本升级设置参数是所述控制器通过所述用户终端接收的,且所述版本升级设置参数包括升级时间和升级版本信息。
4.根据权利要求2所述的方法,其特征在于,所述控制器还与用户终端相连;所述控制器中的新版本安装包是所述用户终端上传给所述控制器的;
所述方法还包括:
获取所述业务节点中每个设备的校验结果,将所述主机的校验结果以及每个所述设备的校验结果均发送至所述控制器,以使所述控制器将所述校验结果反馈给所述用户终端。
5.根据权利要求1或2所述的方法,其特征在于,从所述控制器中获取的新版本安装包均为经所述控制器校验合格的新版本安装包。
6.根据权利要求1所述的方法,其特征在于,还包括:
如果所述自动升级操作失败,根据备份的系统版本进行版本回退操作,并将所述自动升级操作失败的消息发送至所述控制器。
7.一种分布式系统的自动化升级装置,其特征在于,所述分布式系统包括业务节点和中心节点;所述业务节点的主机分别与所述中心节点的控制器、所述业务节点中的多个设备通信连接,所述装置设置于业务节点的主机中,包括:
校验模块,用于获取所述控制器中的新版本安装包,对所述新版本安装包进行校验,并将所述新版本安装包分别发送至所述业务节点的每个设备,以使所述业务节点的每个设备分别对所述新版本安装包进行校验;
流量切换模块,用于在所述主机和每个所述设备对所述新版本安装包进行校验得到的校验结果都为合格时,将所述主机的业务流量切换至节点备机,停止所述主机的当前服务;其中,所述节点备机是所述业务节点的多个设备中选取的备用设备;
主机升级模块,用于对所述业务节点的主机的当前系统版本依次执行备份操作和自动升级操作;其中,所述自动升级操作是基于所述新版本安装包执行的;
设备升级模块,用于在所述自动升级操作成功时,将所述业务流量由所述节点备机切换回所述业务节点的主机,并控制所述业务节点中的每个设备均完成所述自动升级操作。
8.根据权利要求7所述的装置,其特征在于,还包括:
版本回退模块,用于在所述自动升级操作失败时,根据备份的系统版本进行版本回退操作,并将所述自动升级操作失败的消息发送至所述控制器。
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
10.一种计算机可读介质,其特征在于,所述计算机可读介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1至6任一项所述的方法。
CN201910483726.8A 2019-06-04 2019-06-04 分布式系统的自动化升级方法及装置 Active CN110209405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910483726.8A CN110209405B (zh) 2019-06-04 2019-06-04 分布式系统的自动化升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910483726.8A CN110209405B (zh) 2019-06-04 2019-06-04 分布式系统的自动化升级方法及装置

Publications (2)

Publication Number Publication Date
CN110209405A true CN110209405A (zh) 2019-09-06
CN110209405B CN110209405B (zh) 2023-06-16

Family

ID=67790793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910483726.8A Active CN110209405B (zh) 2019-06-04 2019-06-04 分布式系统的自动化升级方法及装置

Country Status (1)

Country Link
CN (1) CN110209405B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110944042A (zh) * 2019-11-12 2020-03-31 中核控制系统工程有限公司 一种基于fpga的在线自动更新协议方法
CN111158719A (zh) * 2019-12-26 2020-05-15 湖南快乐阳光互动娱乐传媒有限公司 应用软件升级方法及装置
CN111506331A (zh) * 2020-03-08 2020-08-07 苏州浪潮智能科技有限公司 一种服务器bmc刷新方法、系统、终端及存储介质
CN111651175A (zh) * 2020-04-27 2020-09-11 厦门科灿信息技术有限公司 数据中心监控系统的升级方法、装置、终端及存储介质
CN112631627A (zh) * 2020-12-10 2021-04-09 武汉联影医疗科技有限公司 软件升级方法、装置、计算机设备和存储介质
WO2022057561A1 (zh) * 2020-09-17 2022-03-24 中兴通讯股份有限公司 切换方法、系统、服务器及存储介质
CN115827789A (zh) * 2023-02-21 2023-03-21 苏州浪潮智能科技有限公司 文件型数据库升级优化的方法、系统、设备和存储介质
CN115955399A (zh) * 2022-12-12 2023-04-11 安芯网盾(北京)科技有限公司 一种分布式多节点检测引擎的升降级方法及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758607A (zh) * 2005-11-10 2006-04-12 中国工商银行 分布式业务系统中的软件版本升级系统及其方法
CN101105745A (zh) * 2006-07-14 2008-01-16 中兴通讯股份有限公司 分布式软件系统的部署方法
US20140129521A1 (en) * 2011-09-23 2014-05-08 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
CN104007996A (zh) * 2014-06-16 2014-08-27 南京融教科技有限公司 一种分布式控制系统的可靠固件升级实现方法
US20140298091A1 (en) * 2013-04-01 2014-10-02 Nebula, Inc. Fault Tolerance for a Distributed Computing System
WO2016086654A1 (zh) * 2014-12-03 2016-06-09 广州广电运通金融电子股份有限公司 自助终端软件远程升级方法和系统,及升级包制作方法
US20160342408A1 (en) * 2015-05-20 2016-11-24 International Business Machines Corporation Rolling upgrade of a distributed application
CN106470121A (zh) * 2016-08-30 2017-03-01 锐捷网络股份有限公司 虚拟交换单元vsu系统的升级方法、装置及vsu系统
CN107135089A (zh) * 2016-02-29 2017-09-05 大唐移动通信设备有限公司 一种对操作维护中心系统进行升级的方法和装置
CN108681461A (zh) * 2018-05-07 2018-10-19 广东电网有限责任公司 一种集群软件系统不停机更新的方法、系统及相关装置
CN109375934A (zh) * 2018-09-30 2019-02-22 天津天地伟业电子工业制造有限公司 一种网络集群设备系统的升级方法
CN109413210A (zh) * 2018-12-18 2019-03-01 郑州云海信息技术有限公司 分布式集群系统的目标驱动升级方法、装置、设备及介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758607A (zh) * 2005-11-10 2006-04-12 中国工商银行 分布式业务系统中的软件版本升级系统及其方法
CN101105745A (zh) * 2006-07-14 2008-01-16 中兴通讯股份有限公司 分布式软件系统的部署方法
US20140129521A1 (en) * 2011-09-23 2014-05-08 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
US20140298091A1 (en) * 2013-04-01 2014-10-02 Nebula, Inc. Fault Tolerance for a Distributed Computing System
CN104007996A (zh) * 2014-06-16 2014-08-27 南京融教科技有限公司 一种分布式控制系统的可靠固件升级实现方法
WO2016086654A1 (zh) * 2014-12-03 2016-06-09 广州广电运通金融电子股份有限公司 自助终端软件远程升级方法和系统,及升级包制作方法
US20160342408A1 (en) * 2015-05-20 2016-11-24 International Business Machines Corporation Rolling upgrade of a distributed application
CN107135089A (zh) * 2016-02-29 2017-09-05 大唐移动通信设备有限公司 一种对操作维护中心系统进行升级的方法和装置
CN106470121A (zh) * 2016-08-30 2017-03-01 锐捷网络股份有限公司 虚拟交换单元vsu系统的升级方法、装置及vsu系统
CN108681461A (zh) * 2018-05-07 2018-10-19 广东电网有限责任公司 一种集群软件系统不停机更新的方法、系统及相关装置
CN109375934A (zh) * 2018-09-30 2019-02-22 天津天地伟业电子工业制造有限公司 一种网络集群设备系统的升级方法
CN109413210A (zh) * 2018-12-18 2019-03-01 郑州云海信息技术有限公司 分布式集群系统的目标驱动升级方法、装置、设备及介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110944042A (zh) * 2019-11-12 2020-03-31 中核控制系统工程有限公司 一种基于fpga的在线自动更新协议方法
CN111158719A (zh) * 2019-12-26 2020-05-15 湖南快乐阳光互动娱乐传媒有限公司 应用软件升级方法及装置
CN111158719B (zh) * 2019-12-26 2023-06-16 湖南快乐阳光互动娱乐传媒有限公司 应用软件升级方法及装置
CN111506331A (zh) * 2020-03-08 2020-08-07 苏州浪潮智能科技有限公司 一种服务器bmc刷新方法、系统、终端及存储介质
CN111651175A (zh) * 2020-04-27 2020-09-11 厦门科灿信息技术有限公司 数据中心监控系统的升级方法、装置、终端及存储介质
WO2022057561A1 (zh) * 2020-09-17 2022-03-24 中兴通讯股份有限公司 切换方法、系统、服务器及存储介质
CN112631627A (zh) * 2020-12-10 2021-04-09 武汉联影医疗科技有限公司 软件升级方法、装置、计算机设备和存储介质
CN115955399A (zh) * 2022-12-12 2023-04-11 安芯网盾(北京)科技有限公司 一种分布式多节点检测引擎的升降级方法及系统
CN115955399B (zh) * 2022-12-12 2023-09-15 安芯网盾(北京)科技有限公司 一种分布式多节点检测引擎的升降级方法及系统
CN115827789A (zh) * 2023-02-21 2023-03-21 苏州浪潮智能科技有限公司 文件型数据库升级优化的方法、系统、设备和存储介质

Also Published As

Publication number Publication date
CN110209405B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN110209405A (zh) 分布式系统的自动化升级方法及装置
CN103777972B (zh) 基于现场可编程门阵列的系统、配置方法以及升级方法
CN110347414A (zh) 固件更新方法、装置、设备及计算机可读存储介质
DE112009002207B4 (de) Aktualisieren einer Firmware mit mehreren Prozessoren
CN100514943C (zh) 一种即时消息客户端升级管理方法及系统
CN104090796A (zh) 一种嵌入式设备程序更新方法和系统
CN105975308B (zh) 家庭网关中低内存开销的远程升级系统及远程升级方法
CN102271057B (zh) 参数更新方法和设备
CN108469725A (zh) 时钟校时方法及终端设备
CN104933520A (zh) 一种审批事项处理方法
CN108134690B (zh) 网络业务部署流程控制方法、装置及系统
US10469620B2 (en) Method for transferring a new software version to at least one electricity meter via a communication network
CN101924643A (zh) 一种通信系统设备中单板软件的升级方法及系统
CN102214114B (zh) 一种双cpu系统客户机程序的升级方法及系统
CN113141410A (zh) 动态调节的qps控制方法、系统、设备及存储介质
CN109992280A (zh) 一种嵌入式软件升级的方法、终端装置及存储装置
CN110912725A (zh) 一种OpenFlow虚拟交换机的配置方法及配置装置
CN107995033B (zh) 一种onu配置文件升级方法及装置
CN103890713B (zh) 用于管理处理系统内的寄存器信息的装置及方法
CN112001602A (zh) 一种电网操作票生成方法、系统、终端及存储介质
CN107203392A (zh) 一种小系统终端产品的多规约实现方法
WO2016177202A1 (zh) 一种补丁维护的方法及装置
CN106603263A (zh) 一种业务割接的方法、装置及设备
CN115102879B (zh) 一种共享服务平台的测试方法、电子设备及存储介质
CN110673871A (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