CN105635216B - 分布式应用的升级方法、设备和分布式系统 - Google Patents
分布式应用的升级方法、设备和分布式系统 Download PDFInfo
- Publication number
- CN105635216B CN105635216B CN201410613646.7A CN201410613646A CN105635216B CN 105635216 B CN105635216 B CN 105635216B CN 201410613646 A CN201410613646 A CN 201410613646A CN 105635216 B CN105635216 B CN 105635216B
- Authority
- CN
- China
- Prior art keywords
- node
- operating file
- host node
- file
- application
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种分布式应用的升级方法、设备和分布式系统,该升级方法包括:子节点实时获取主节点上的应用运行文件的各个更新内容;各个更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;子节点根据实时获取的各个更新内容,实时控制子节点上的应用运行文件与主节点上的应用运行文件同步更新;子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件;通过该分布式应用的升级方法、设备和分布式系统,在升级应用时,可使各个节点上应用的版本一致,避免因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种分布式应用的升级方法、设备和分布式系统。
背景技术
云计算普遍应用的现在,改变了人们获取、处理和保存信息的方式。云计算平台部署的环境,往往是由数百台,甚至成千上万台服务器组成。具体的,用于提供云计算服务的应用(Application)通常部署在多个节点上,也就是说应用是分布式部署在规模较大的节点上,则当应用需要升级时,各个节点上部署的应用如何高效的进行升级是一个重要问题。
在现有技术中,通常采用C/S(Client/Server,客户端/服务端)方式升级分布式部署的应用,即将应用最新版本升级包或升级数据放在服务端,各个节点作为客户端通过网络协议从服务端下载所需升级包。当应用部署的规模较小时,用于分布式部署应用的各个节点采用C/S方式可以完成各自的应用升级。但是当应用个数、应用中组件的个数及应用部署在较多的节点上时,大量的节点均向服务端请求下载升级数据,则会对服务端的网络带宽要求增大;当服务端的网络带宽不能满足各个节点的下载需求时,则会导致一些节点下载失败,从而下载失败的节点不能成功升级,进一步导致各个节点上部署的应用的版本不一致,影响应用提供的云计算服务或服务质量。
发明内容
本发明实施例提供一种分布式应用的升级方法、设备和分布式系统,用于使各个节点上升级的应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
第一方面,本发明实施例提供一种分布式应用的升级方法,包括:
子节点实时获取主节点上的应用运行文件的各个更新内容;各个所述更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
所述子节点根据实时获取的各个所述更新内容,实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
结合第一方面,在第一实施方式中,所述实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新之前,还包括:
所述子节点根据子节点上的应用运行文件,生成所述子节点上的备份运行文件;
当所述子节点实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新时,所述子节点根据所述子节点上的备份运行文件处理所述应用对应的业务。
结合第一方面第一实施方式,在第二实施方式中,还包括:
所述子节点将用于处理所述应用对应的业务的运行文件由所述子节点上的备份运行文件切换至同步更新后的应用运行文件;
当所述同步更新后的应用运行文件运行失败时,所述子节点将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至所述子节点上的所述备份运行文件。
结合第一方面至第一方面第二实施方式中任意一种实施方式,在第三实施方式中,子节点实时获取主节点的各个更新内容,包括:
所述子节点实时获取上一级子节点的各个同步更新内容,确定所述主节点的各个更新内容;各个所述同步更新内容是在所述上一级子节点实时控制所述上一级子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程中产生的;
则所述子节点根据实时获取的各个所述更新内容,实时控制子节点上的应用运行文件与主节点上的应用运行文件同步更新,包括:
所述子节点根据实时获取的各个所述同步更新内容,实时控制子节点上的应用运行文件与所述上一级子节点上的应用运行文件同步更新。
第二方面,本发明实施例提供一种分布式应用的升级方法,包括:
主节点获取升级文件;
所述主节点根据所述升级文件,更新主节点上的应用运行文件,并实时地控制所述子节点上的应用运行文件与所述主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
结合第二方面,在第一实施方式中,所述主节点根据所述升级文件,更新主节点上的应用运行文件之前,还包括:
所述主节点根据所述主节点上的应用运行文件,生成所述主节点上的备份运行文件;
当所述主节点更新所述主节点上的应用运行文件时,所述主节点根据所述主节点上的备份运行文件处理所述应用对应的业务。
结合第二方面第一实施方式,在第二实施方式中,还包括:
所述主节点将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件;
当所述更新后的应用运行文件运行失败时,所述主节点将用于处理所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的所述备份运行文件。
结合第二方面第二实施方式,在第三实施方式中,所述主节点将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件之前,还包括:
所述主节点根据所述主节点上的备份运行文件,生成备份恢复信息;
所述主节点将所述备份恢复信息存储在云计算控制器中。
第三方面,本发明实施例提供一种设备,所述设备为子节点,包括:
获取模块,用于实时获取主节点上的应用运行文件的各个更新内容;各个所述更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
更新模块,用于根据实时获取的各个所述更新内容,实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
结合第三方面,在第一实施方式中,还包括:
生成模块,用于根据子节点上的应用运行文件,生成所述子节点上的备份运行文件;
处理模块,用于在所述更新模块实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新时,根据所述子节点上的备份运行文件处理所述应用对应的业务。
结合第三方面第一实施方式,在第二实施方式中,还包括:
切换模块,用于将用于处理所述应用对应的业务的运行文件由所述子节点上的备份运行文件切换至同步更新后的应用运行文件;
还用于当所述同步更新后的应用运行文件运行失败时,将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至所述子节点上的所述备份运行文件。
结合第三方面至第一方面第二实施方式中任意一种实施方式,在第三实施方式中,所述获取模块具体用于实时获取上一级子节点的各个同步更新内容,确定所述主节点的各个更新内容;各个所述同步更新内容是在所述上一级子节点实时控制所述上一级子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程中产生的;
所述更新模块具体用于根据实时获取的各个所述同步更新内容,实时控制子节点上的应用运行文件与所述上一级子节点上的应用运行文件同步更新。
第四方面,本发明实施例提供一种设备,所述设备为主节点,包括:
获取模块,具体用于获取升级文件;
更新模块,用于根据所述升级文件,更新主节点上的应用运行文件,并实时地控制所述子节点上的应用运行文件与所述主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
结合第四方面,在第一实施方式中,还包括:
生成模块,用于根据所述主节点上的应用运行文件,生成所述主节点上的备份运行文件;
处理模块,用于当更新模块更新所述主节点上的应用运行文件时,根据所述主节点上的备份运行文件处理所述应用对应的业务。
结合第四方面第一实施方式,在第二实施方式中,还包括:
切换模块,用于将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件;
还用于当所述更新后的应用运行文件运行失败时,将用于处理所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的所述备份运行文件。
结合第四方面第二实施方式,在第三实施方式中,所述生成模块还用于根据所述主节点上的备份运行文件,生成备份恢复信息;
将所述备份恢复信息存储在云计算控制器中。
第五方面,本发明实施例提供一种分布式系统,包括:云计算控制器、主节点和至少一个子节点;
所述云计算控制器用于向主节点提供升级文件;
所述主节点用于获取升级文件;
所述主节点用于根据所述升级文件,更新主节点上的应用运行文件,并实时的控制所述子节点上的应用运行文件与所述主节点上的应用运行文件同步更新;
所述子节点用于实时获取主节点上的应用运行文件的各个更新内容;各个所述更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
所述子节点用于根据实时获取的各个所述更新内容,实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
结合第五方面,在第一实施方式中,所述主节点用于根据所述主节点上的应用运行文件,生成所述主节点上的备份运行文件;
当所述主节点更新所述主节点上的应用运行文件时,所述主节点用于根据所述主节点上的备份运行文件处理所述应用对应的业务;
所述子节点用于根据子节点上的应用运行文件,生成所述子节点上的备份运行文件;
当所述子节点实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新时,所述子节点用于根据所述子节点上的备份运行文件处理所述应用对应的业务。
结合第五方面第一实施方式,在第二实施方式中,所述主节点还用于将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件;
当所述更新后的应用运行文件运行失败时,所述主节点还用于将用于处理所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的所述备份运行文件;
所述子节点还用于将用于处理所述应用对应的业务的运行文件由所述子节点上的备份运行文件切换至同步更新后的应用运行文件;
当所述同步更新后的应用运行文件运行失败时,所述子节点还用于将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至所述子节点上的所述备份运行文件。
结合第五方面至第五方面第二实施方式中任意一种实施方式,在第三实施方式中,所述主节点还用于根据所述主节点上的备份运行文件,生成备份恢复信息;
所述主节点还用于将所述备份恢复信息存储在云计算控制器中。
结合第五方面至第五方面第三实施方式中任意一种实施方式,在第四实施方式中,所述子节点具体用于实时获取上一级子节点的各个同步更新内容,确定所述主节点的各个更新内容;各个所述同步更新内容是在所述上一级子节点实时控制所述上一级子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程中产生的;
所述子节点具体用于根据实时获取的各个所述同步更新内容,实时控制子节点上的应用运行文件与所述上一级子节点上的应用运行文件同步更新。
本发明实施例提供的分布式应用的升级方法、设备和分布式系统中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明分布式系统实施例一的架构示意图;
图2为本发明分布式应用的升级方法实施例一的流程示意图;
图3为本发明分布式应用的升级方法实施例二的流程示意图;
图4为本发明实施例二中节点的架构示意图;
图5为本发明分布式应用的升级方法实施例三的流程示意图;
图6为本发明分布式应用的升级方法实施例四的流程示意图;
图7为本发明分布式应用的升级方法实施例五的流程示意图;
图8为本发明设备实施例三的结构示意图;
图9为本发明设备实施例四的结构示意图;
图10为本发明设备实施例五的结构示意图;
图11为本发明设备实施例六的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明分布式系统实施例一的架构示意图。如图1所示,一种分布式系统包括云计算控制器11,和至少两个节点(节点为计算机设备或计算机设备上的虚拟机);云计算控制器11负责对应用的生命周期管理,包含应用的部署,升级,卸载,监控管理等,云计算控制器11会管理应用分布式部署的拓扑结构,及部署了应用的各个节点的运行状态。在应用升级时,云计算控制器负责对应用升级流程控制管理;另外,系统中还包括软件仓库111,该软件仓库111用于对外提供文件(例如应用的升级文件)的上传和下载能力,对内实现文件的存储,以及对文件的描述信息进行存储;通常该软件仓库具体可为云计算控制器11的一部分;另外,应用分布式部署在该分布式系统中的上述至少两个节点上,各个节点运行各自的应用运行文件,以向应用的使用者提供该应用对应的服务;具体的,一个应用通常包括至少一个组件,不同的组件对应于该应用的不同功能,通常分布式系统中部署了同一组件的各个节点构建为一个集群;也就是说,一个集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件;集群中各个节点通过运行节点上的应用运行文件,实现应用运行文件对应的应用中的组件的功能;在应用需要进行升级时,云计算控制器11根据升级流程的需要,分为主节点12和子节点13,通过主节点12和子节点13的相互配合,完成应用的升级;本实施例中以一个集群为例进行说明:
所述云计算控制器11用于向主节点12提供升级文件;
所述主节点12用于获取升级文件;
所述主节点12用于根据所述升级文件,更新主节点上的应用运行文件,并实时的控制所述子节点13上的应用运行文件与所述主节点上的应用运行文件同步更新;
所述子节点13用于实时获取主节点上的应用运行文件的各个更新内容;各个所述更新内容是在主节点12根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
所述子节点13用于根据实时获取的各个所述更新内容,实时控制所述子节点13上的应用运行文件与主节点12上的应用运行文件同步更新;
所述子节点13和主节点12为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
更具体的,上述主节点12是云计算控制器11确定需要升级应用时,在集群中的各个节点中确定的;同时云计算控制器11向主节点12下发升级命令,并指示主节点12主动下载升级文件,并且也指示各个子节点13与主节点12同步,以使子节点13上的应用运行文件与主节点12上的应用运行文件同步更新;例如,主节点和子节点可通过各自安装的同步软件(例如rsync),在主节点更新主节点上的应用运行文件时,主动使子节点13实时获知各个更新内容,实时地控制所述子节点13上的应用运行文件与所述主节点上的应用运行文件同步更新,而子节点13也接受主节点的控制,使子节点13上的应用运行文件与主节点12上的应用运行文件同步更新;或者主节点12接受子节点13的主动访问,使子节点13实时获取各个更新内容,以子节点13上的应用运行文件与主节点12上的应用运行文件同步更新。
进一步的,所述主节点12用于根据所述主节点12上的应用运行文件,生成所述主节点12上的备份运行文件;
当所述主节点12更新所述主节点上的应用运行文件时,所述主节点12用于根据所述主节点上的备份运行文件处理所述应用对应的业务;
所述子节点13用于根据子节点13上的应用运行文件,生成所述子节点13上的备份运行文件;
当所述子节点13实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新时,所述子节点13用于根据所述子节点13上的备份运行文件处理所述应用对应的业务。
所述主节点12还用于将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件;
当所述更新后的应用运行文件运行失败时,所述主节点12还用于将用于处理所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的所述备份运行文件;
所述子节点13还用于将用于处理所述应用对应的业务的运行文件由所述子节点13上的备份运行文件切换至同步更新后的应用运行文件;
当所述同步更新后的应用运行文件运行失败时,所述子节点13还用于将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至所述子节点上的所述备份运行文件。
所述主节点12还用于根据所述主节点上的备份运行文件,生成备份恢复信息;
所述主节点12还用于将所述备份恢复信息存储在云计算控制器中。
所述子节点13具体用于实时获取上一级子节点的各个同步更新内容,确定所述主节点12的各个更新内容;各个所述同步更新内容是在所述上一级子节点实时控制所述上一级子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程中产生的;
所述子节点13具体用于根据实时获取的各个所述同步更新内容,实时控制子节点上13的应用运行文件与所述上一级子节点上的应用运行文件同步更新。
上述主节点和子节点的具体工作过程及有益效果,可参见下述各个分布式应用的升级方法实施例中的各个步骤。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图2为本发明分布式应用的升级方法实施例一的流程示意图。如图2所示,本实施例的执行主体为分布式系统中的子节点,具体包括:
S101、子节点实时获取主节点上的应用运行文件的各个更新内容。
各个更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
具体的,本实施例中的一个集群中,只需一个节点下载升级文件,并运行升级文件,以更新该节点上的应用运行文件,在该节点更新该节点上的应用运行文件的同时,其他节点只需与该节点同步更新各自的应用运行文件,从而集群中每一个节点便可完成各自的应用运行文件的更新,实现分布式应用的升级;其中,下载升级文件,并运行升级文件更新节点上的应用运行文件的节点即为上述主节点,而集群中其他与主节点同步更新应用运行文件的节点则为子节点。
在主节点根据升级文件更新所述主节点上的应用运行文件的过程时,子节点可以实时获知主节点在更新所述主节点上的应用运行文件的过程中产生的各个更新内容;以主节点上的应用运行文件中的字符a、b、c和d为例,在更新所述主节点上的应用运行文件的过程中,字符a、b、c和d的赋值依次更新,当字符a的赋值更新时,主节点便通知子节点字符a的更新后的赋值,随后字符b的赋值更新时,主节点便通知子节点字符b的更新后的赋值,依次类推,子节点依次获取主节点上的应用运行文件的各个更新内容;或者子节点可以访问主节点,实时发现字符a、b、c和d的更新后的赋值,即实时获取到主节点上的应用运行文件的各个更新内容。
S102、子节点根据实时获取的各个更新内容,实时控制子节点上的应用运行文件与主节点上的应用运行文件同步更新。
在子节点获知依次更新的字符a、b、c和d的更新后的赋值时,子节点便将子节点上应用运行文件中字符a、b、c和d的赋值变更与主节点上字符a、b、c和d的更新后的赋值一致。
需要说明的是,通过上述步骤,仅需主节点下载应用的升级文件并运行应用的升级文件,以更新主节点上的应用运行文件,而其他子节点上的应用运行文件仅需与主节点上的应用运行文件同步更新,在同步更新完成后,便完成了部署在子节点上的应用的升级;也就是说,本实施例中,考虑到升级文件较大,若每一个节点均向云计算控制器请求下载升级文件,则会因网络带宽不满足下载需求而导致升级文件下载失败,而且可能不同的节点需要的升级文件不同,例如一个节点上的应用运行文件对应第一版本的应用或第一版本的应用中的组件,现需要升级至第四版本的应用,则该节点需要第二版本、第三版本和第四版本的升级文件,而其他节点可能仅需要第四版本的升级文件,因此云计算控制器需要维护多个版本的应用的升级文件,增加了云计算控制器的维护负担;而本实施例中,仅需一个主节点下载升级文件并运行升级文件更新该主节点上的应用运行文件,其他子节点仅需与该主节点同步更新各自的应用运行文件,且通常应用运行文件在更新时,仅有部分信息发生变更,而子节点在与主节点同步更新时,仅获取部分发生更新的内容,因此子节点和主节点之间的数据传输任务较轻,不需要较大的网络带宽便可实现子节点与主节点之间的同步更新,从而实现集群中每个节点上应用的升级。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用同时升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图3为本发明分布式应用的升级方法实施例二的流程示意图。如图3所示,本实施例是在图2所示的实施例的基础上做出进一步的描述,具体包括:
S201、子节点根据子节点上的应用运行文件,生成子节点上的备份运行文件。
S202、子节点实时获取主节点上的应用运行文件的各个更新内容。
S203、子节点根据实时获取的各个更新内容,实时控制子节点上的应用运行文件与主节点上的应用运行文件同步更新;并当子节点实时控制子节点上的应用运行文件与主节点上的应用运行文件同步更新时,子节点根据子节点上的备份运行文件处理应用对应的业务。
由于在S201中子节点根据所述子节点上的应用运行文件,生成子节点上的备份运行文件;当子节点上的应用运行文件与主节点上的应用运行文件同步更新时,所述子节点根据子节点上的备份运行文件处理所述应用对应的业务,也就是说,子节点在进行应用的升级时,也不会影响子节点处理所述应用对应的业务。
在上述S202~S203中,当集群中的每一个子节点均与主节点直接建立通信连接时,子节点根据实时获取的各个更新内容,实时控制子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程具体可参照前述S101~S102;但当集群中子节点的数量较多,虽然主节点可以与每个子节点建立同步机制,即每个子节点通过与主节点直接建立通信连接,均可直接获取主节点上的应用运行文件的各个更新内容,相当于主节点与每个子节点交互,可使每个子节点获取主节点上的应用运行文件的各个更新内容,但会加重主节点与子节点交互的负担,因此,本实施例提供一种较优的方法,具体如下:
图4为本发明实施例二中节点的架构示意图。如图4所示,节点1为主节点,节点2~节点9均为子节点,但各个子节点执行S202~S203时,同步对象不相同;具体的,,节点2和节点3的同步对象为节点1,则节点2和节点3与节点1直接建立通信连接,节点2和节点3可直接实时获取主节点上的应用运行文件的各个更新内容,即节点1实时地将各个更新内容直接发送给节点2和节点3,随后节点2和节点3根据接收的各个更新内容,将各自的应用运行文件直接与主节点上应用运行文件同步更新;但在图4中,节点4和节点5的同步对象是节点2,则节点4和节点5与节点2直接建立了通信连接,对于节点4和节点5来说,节点2为节点4和节点5的上一级子节点,类似的,对于节点6和节点7来说,节点3为节点6和节点7的上一级子节点,进一步的,节点4为节点8和节点9的上一级子节点;
以节点4和节点5为例,节点4和节点5是通过上一级子节点,实时获取上一级节点上的应用运行文件的各个同步更新内容,并使各自的应用运行文件与上一级子节点上应用运行文件同步更新,实现与主节点上应用运行文件同步更新,具体的,在执行S202时,子节点根据上一级子节点的各个同步更新内容,确定主节点的各个同步更新内容;各个所述同步更新内容是在所述上一级子节点实时控制上一级子节点上的应用运行文件与主节点上应用运行文件同步更新的过程中产生的;可以理解的,由于上一级子节点与主节点同步更新,当主节点上字符a的赋值由1变为3时,上一级子节点上的字符a也会变为3,因此在子节点获知上一级子节点的同步更新内容为字符a的赋值变为3时,相当于子节点获知主节点上的字符a的赋值变为3;进一步的,子节点执行S203时,是根据实时获取的各个所述同步更新内容,实时控制子节点上应用运行文件与所述上一级子节点上应用运行文件同步更新,同样实现了使子节点上应用运行文件与主节点上应用运行文件同步更新;在图4所示的架构中,可以不需要使每一个子节点与主节点直接交互,可通过上一级子节点,使各自的应用运行文件与主节点上应用运行文件同步更新,从而可减小了主节点与子节点的交互任务;而且当分布式应用的同一个组件同时部署在不同的网络中,若每个子节点均与同一个主节点同步交互,则多个子节点均需要跨网络进行,容易引起网络风暴;而在图4所示的架构中,仅需节点2和节点3直接与节点1直接同步交互,随后位于子网1和子网2中的其他节点仅需在同一个子网中与上一级子节点同步交互,同样可以实现与节点1的同步更新;
另外,上述各个节点的同步对象可以由云计算控制器指示,各个节点获知各自的同步对象后,便与各自的同步对象直接建立通信连接。
S204、子节点将用于处理应用对应的业务的运行文件由子节点上的备份运行文件切换至同步更新后的应用运行文件。
同步更新后的应用运行文件后,子节点上部署了新版本的应用,则子节点运行同步更新后的应用运行文件,以向使用应用的使用者提供新版本应用可提供的服务。
可选的,在执行S204之后还可执行下述S205。
S205、当同步更新后的应用运行文件运行失败时,子节点将用于处理应用对应的业务的运行文件由同步更新后的应用运行文件切换至子节点上的备份运行文件。
由于子节点同步更行的过程中存在问题,导致同步更新后的应用运行文件不可用,或同步更新后的应用运行文件在使用时遭到损坏,不能继续使用时,由于之前生成了备份运行文件,子节点可在同步更新后的应用运行文件运行失败时,将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至子节点上的备份运行文件,从而提升了子节点上应用升级的稳定性,即避免了因升级不成功导致子节点不能处理应用对应的业务的情况。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用同时升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图5为本发明分布式应用的升级方法实施例三的流程示意图。如图5所示,本实施例的执行主体为分布式系统中的主节点,具体包括:
S301、主节点获取升级文件。
S302、主节点根据升级文件,更新主节点上的应用运行文件,并实时地控制子节点上的应用运行文件与主节点上的应用运行文件同步更新。
具体的,本实施例中的集群中,只需一个节点下载升级文件,并运行升级文件,以更新该节点上的应用运行文件,在该节点更新该节点上的应用运行文件的同时,其他节点只需与该节点同步更新各自的应用运行文件,从而集群中每一个节点便可完成各自的应用运行文件的更新,实现应用的升级;其中,需要下载升级文件,并运行升级文件更新节点上的应用运行文件的节点即为上述主节点,而集群中其他与主节点同步更新应用运行文件的节点则为子节点。
在主节点根据升级文件更新所述主节点上的应用运行文件的过程时,子节点可以获知主节点上在更新所述主节点上的应用运行文件的过程中产生的各个更新内容;以主节点上的应用运行文件中的字符a、b、c和d为例,在更新所述主节点上的应用运行文件的过程中,字符a、b、c和d的赋值依次更新,当字符a的赋值更新时,主节点便通知子节点字符a的更新后的赋值,随后字符b的赋值更新时,主节点便通知子节点字符b的更新后的赋值,依次类推,子节点依次获取主节点上的应用运行文件的各个更新内容;或者子节点可以访问主节点,获知依次更新的字符a、b、c和d的更新后的赋值,即获取到主节点上的应用运行文件的各个更新内容。
在子节点获知依次更新的字符a、b、c和d的更新后的赋值时,子节点便将子节点上应用运行文件中字符a、b、c和d的赋值变更与主节点上字符a、b、c和d的更新后的赋值一致。
需要说明的是,通过上述步骤,仅需主节点下载应用的升级文件并运行应用的升级文件,以更新主节点上应用运行文件,而其他子节点上的应用运行文件仅需与主节点上应用运行文件同步更新,便可实现子节点上应用的升级;也就是说,本实施例中,考虑到升级文件较大,若每一个节点均向云计算控制器请求下载升级文件,则会因网络带宽不满足下载需求而导致升级文件下载失败,而且可能不同的节点需要的升级文件不同,例如一个节点上的应用运行文件对应第一版本的应用,现需要升级至第四版本的应用,则该节点需要第二版本、第三版本和第四版本的升级文件,而其他节点可能仅需要第四版本的升级文件,因此云计算控制器需要维护多个版本的应用的升级文件,增加了云计算控制器的维护负担;而本实施例中,仅需一个主节点下载升级文件并运行升级文件更新该主节点上的应用运行文件,其他子节点仅需与该主节点同步更新各自的应用运行文件,且通常应用运行文件在更新时,仅有部分信息发生变更,而子节点在与主节点同步更新时,仅获取部分发生更新的内容,通常发生更新的内容都是一些容量较小的文件,因此子节点和主节点之间的数据传输任务较轻,不需要较大的网络带宽便可实现子节点与主节点之间的同步更新。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图6为本发明分布式应用的升级方法实施例四的流程示意图。如图6所示,本实施例是在图5所示的实施例的基础上,做出进一步的描述,具体包括:
S401、主节点根据主节点上的应用运行文件,生成主节点上的备份运行文件。
S402、主节点获取升级文件。
S403、主节点根据升级文件,更新主节点上的应用运行文件,并实时地控制子节点上的应用运行文件与主节点上的应用运行文件同步更新;当主节点更新主节点上的应用运行文件时,主节点根据主节点上的备份运行文件处理应用对应的业务。
由于在S401中主节点根据所述主节点上的应用运行文件,生成主节点上的备份运行文件;当主节点更新所述主节点上的应用运行文件时,主节点根据所述主节点上的备份运行文件处理所述应用对应的业务,也就是说,主节点在进行应用的升级时,也不会影响主节点进行所述应用对应的业务。
S404、主节点根据主节点上的备份运行文件,生成备份恢复信息;并将备份恢复信息存储在云计算控制器中。
在主节点上的应用运行文件更新完成后,主节点需要运行更新后的应用运行文件,以向应用的使用者提供新版本应用所提供的服务,但考虑到新版本应用可能会出现运行问题,或当集群受到黑客攻击等原因导致集群中每个节点上的新版本应用的应用运行文件毁坏时,集群中的节点需要恢复到新版本应用的前一个版本的应用运行文件,因此需要新版本应用的前一个版本的应用运行文件的备份恢复信息;而且在运行更新后的应用运行文件之前,用于处理应用对应的业务的运行文件是备份运行文件,该备份运行文件中所保留的业务的相关数据在时间范畴上距离运行更新后的应用运行文件的时间最近,则在更新后的用运行文件不可用时,使用根据备份运行文件生成的备份恢复信息恢复的应用运行文件中,则可保留较新的业务的相关数据,不会影响节点处理应用对应的业务。
S405、主节点将用于处理应用对应的业务的运行文件由主节点上的备份运行文件切换至更新后的应用运行文件。
应用运行文件更新后,主节点上部署了新版本的应用,则主节点运行更新后的应用运行文件,以向使用应用的使用者提供新版本应用可提供的服务。
可选的,本实施例还可执行下述S406:
S406、在更新后的应用运行文件运行失败时,主节点将用于进行所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的备份运行文件。
由于主节点下载升级文件、或升级文件存在问题,导致更新后的应用运行文件不可用,或更新后的应用运行文件在使用时遭到损坏,不能继续使用时,由于之前生成了备份运行文件,主节点可在更新后的应用运行文件运行失败时,将用于进行所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的备份运行文件,从而提升了主节点升级的稳定性,即避免了因升级不成功导致主节点不能处理应用对应的业务的情况。
可选的,本实施例还可执行下述S407:
S407、主节点根据备份恢复信息,恢复主节点上的应用运行文件。
当集群受到黑客攻击等原因导致集群中每个节点上的当前版本应用的应用运行文件毁坏时,该集群中的一个节点继续作为主节点,由云计算控制器处获取备份恢复信息,并根据备份恢复信息,在主节点上恢复当前版本之前的一个版本应用的应用运行文件;可以理解的,在主节点上恢复当前版本之前的一个版本应用的应用运行文件的过程可以看做在主节点将主节点上毁坏的当前版本应用的应用运行文件更新为当前版本之前的一个版本应用的应用运行文件,则集群中的其他子节点继续与主节点同步更新,从而实现集群中每个节点上应用运行文件的恢复。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图7为本发明分布式应用的升级方法实施例五的流程示意图。如图7所示,本实施例是在结合前述分布式应用的升级方法的各个实施例的基础上,做出进一步的描述,具体如下:
S501、主节点接收云计算控制器下发的升级指令。
上述主节点可以为集群中特定的节点,即每次应用升级时,云计算控制器均向该特定的节点下发升级指令,以使该特定的节点作为主节点下载升级文件,并在根据升级文件更新主节点上的应用运行文件时,同时使其他子节点上的应用运行文件与主节点上的应用运行文件同步更新;但可选的,在需要升级应用时,由于云计算控制器会维护用于分布式部署应用的每个节点的状态,则云计算控制器根据各个节点的状态,选择在当前时刻处于空闲状态的节点作为主节点,并向该主节点下发升级指令。
S502、主节点获取升级文件。
S503、主节点根据升级文件,更新主节点上的应用运行文件。
S504、子节点实时获取主节点上的应用运行文件的各个更新内容;
S505、子节点根据实时获取的各个更新内容,实时控制子节点上应用运行文件与主节点上应用运行文件同步更新。
另外,主节点在更新完成时,会生成更新目录,同样的,各个子节点在同步更新完成时也会生成一个更新目录,则各个子节点还会比较子节点的更新目录与主节点的更新目录,若子节点的更新目录与主节点的更新目录相同,说明子节点与主节点同步更新成功,若子节点的更新目录与主节点的更新目录不相同,说明子节点与主节点同步更新失败,需要重新执行S504~S505。
当主节点更新完成,且各个子节点也同步更新完成后,即集群中各个节点上的应用升级至最新版本,可由云计算控制器向各个节点指示,需要使用新版本应用;例如在T1时刻,主节点运行主节点上的备份运行文件处理应用对应的业务,而各个子节点运行子节点上的备份运行文件处理应用对应的业务;当T2时刻,当云计算控制器收到主节点和各个子节点的更新完成消息后,便会向主节点和子节点下发切换指示,则主节点执行前述S404~S405中的步骤,而各个子节点则执行前述S204中的步骤。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图8为本发明设备实施例三的结构示意图。如图8所示,所述设备为子节点,包括:
获取模块61,用于实时获取主节点上的应用运行文件的各个更新内容;各个所述更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
更新模块62,用于根据实时获取的各个所述更新内容,实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图9为本发明设备实施例四的结构示意图。如图9所示,本实施例是在图8所示的实施例的基础上,做出进一步的描述,所述设备还包括:
生成模块63,用于根据子节点上的应用运行文件,生成所述子节点上的备份运行文件;
处理模块64,用于在所述更新模块62实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新时,根据所述子节点上的备份运行文件处理所述应用对应的业务。
进一步,还包括切换模块65,用于将用于处理所述应用对应的业务的运行文件由所述子节点上的备份运行文件切换至同步更新后的应用运行文件;
还用于当所述同步更新后的应用运行文件运行失败时,将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至所述子节点上的所述备份运行文件。
进一步的,所述获取模块61具体用于实时获取上一级子节点的各个同步更新内容,确定所述主节点的各个更新内容;各个所述同步更新内容是在所述上一级子节点实时控制所述上一级子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程中产生的;
所述更新模块62具体用于根据实时获取的各个所述同步更新内容,实时控制子节点上的应用运行文件与所述上一级子节点上的应用运行文件同步更新。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图10为本发明设备实施例五的结构示意图。如图10所示,所述设备为主节点,包括:
获取模块71,具体用于获取升级文件;
更新模块72,用于根据所述升级文件,更新主节点上的应用运行文件,并实时地控制所述子节点上的应用运行文件与所述主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
图11为本发明设备实施例六的结构示意图。如图11所示,本实施例是在图10所示的实施例的基础上,做出进一步的描述,所述设备还包括:
生成模块73,用于根据所述主节点上的应用运行文件,生成所述主节点上的备份运行文件;
处理模块74,用于当更新模块更新所述主节点上的应用运行文件时,根据所述主节点上的备份运行文件处理所述应用对应的业务。
进一步的,切换模块75,用于将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件;
还用于当所述更新后的应用运行文件运行失败时,将用于处理所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的所述备份运行文件。
进一步的,所述生成模块73还用于根据所述主节点上的备份运行文件,生成备份恢复信息;并将所述备份恢复信息存储在云计算控制器中。
本实施例中,用于部署分布式应用的各个节点在升级应用时,可以使各个节点中的一个节点作为主节点,在主节点使用升级文件更新主节点上的应用运行文件时,其他子节点仅需使子节点上应用运行文件与主节点上应用运行文件同步更新,便可使用于部署分布式应用的各个节点上的应用升级,与现有技术相比,极大地减少了提供升级文件的云计算控制器所需承担的下载压力,并且使各个节点上应用的版本一致,避免了因各个节点之间应用的版本不一致而影响应用提供的服务或服务质量的情况。
上述各个方法实施例中的各个模块对应执行各个方法实施例中的各个步骤,具体的实施细节及效果可参见各个方法实施例。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种分布式应用的升级方法,其特征在于,包括:
子节点实时获取主节点上的应用运行文件的各个更新内容;各个所述更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
所述子节点根据实时获取的各个所述更新内容,实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
2.根据权利要求1所述的升级方法,其特征在于,所述实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新之前,还包括:
所述子节点根据子节点上的应用运行文件,生成所述子节点上的备份运行文件;
当所述子节点实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新时,所述子节点根据所述子节点上的备份运行文件处理所述应用对应的业务。
3.根据权利要求2所述的升级方法,其特征在于,还包括:
所述子节点将用于处理所述应用对应的业务的运行文件由所述子节点上的备份运行文件切换至同步更新后的应用运行文件;
当所述同步更新后的应用运行文件运行失败时,所述子节点将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至所述子节点上的所述备份运行文件。
4.根据权利要求1~3任一项所述的升级方法,其特征在于,子节点实时获取主节点的各个更新内容,包括:
所述子节点实时获取上一级子节点的各个同步更新内容,确定所述主节点的各个更新内容;各个所述同步更新内容是在所述上一级子节点实时控制所述上一级子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程中产生的;
则所述子节点根据实时获取的各个所述更新内容,实时控制子节点上的应用运行文件与主节点上的应用运行文件同步更新,包括:
所述子节点根据实时获取的各个所述同步更新内容,实时控制子节点上的应用运行文件与所述上一级子节点上的应用运行文件同步更新。
5.一种分布式应用的升级方法,其特征在于,包括:
主节点获取升级文件;
所述主节点根据所述升级文件,更新主节点上的应用运行文件,并实时地控制子节点上的应用运行文件与所述主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
6.根据权利要求5所述的升级方法,其特征在于,所述主节点根据所述升级文件,更新主节点上的应用运行文件之前,还包括:
所述主节点根据所述主节点上的应用运行文件,生成所述主节点上的备份运行文件;
当所述主节点更新所述主节点上的应用运行文件时,所述主节点根据所述主节点上的备份运行文件处理所述应用对应的业务。
7.根据权利要求6所述的升级方法,其特征在于,还包括:
所述主节点将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件;
当所述更新后的应用运行文件运行失败时,所述主节点将用于处理所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的所述备份运行文件。
8.根据权利要求7所述的升级方法,其特征在于,所述主节点将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件之前,还包括:
所述主节点根据所述主节点上的备份运行文件,生成备份恢复信息;
所述主节点将所述备份恢复信息存储在云计算控制器中。
9.一种电子设备,其特征在于,所述设备为子节点,包括:
获取模块,用于实时获取主节点上的应用运行文件的各个更新内容;各个所述更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
更新模块,用于根据实时获取的各个所述更新内容,实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
10.根据权利要求9所述的设备,其特征在于,还包括:
生成模块,用于根据子节点上的应用运行文件,生成所述子节点上的备份运行文件;
处理模块,用于在所述更新模块实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新时,根据所述子节点上的备份运行文件处理所述应用对应的业务。
11.根据权利要求10所述的设备,其特征在于,还包括:
切换模块,用于将用于处理所述应用对应的业务的运行文件由所述子节点上的备份运行文件切换至同步更新后的应用运行文件;
还用于当所述同步更新后的应用运行文件运行失败时,将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至所述子节点上的所述备份运行文件。
12.根据权利要求9~11任一项所述的设备,其特征在于,所述获取模块具体用于实时获取上一级子节点的各个同步更新内容,确定所述主节点的各个更新内容;各个所述同步更新内容是在所述上一级子节点实时控制所述上一级子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程中产生的;
所述更新模块具体用于根据实时获取的各个所述同步更新内容,实时控制子节点上的应用运行文件与所述上一级子节点上的应用运行文件同步更新。
13.一种电子设备,其特征在于,所述设备为主节点,包括:
获取模块,具体用于获取升级文件;
更新模块,用于根据所述升级文件,更新主节点上的应用运行文件,并实时地控制子节点上的应用运行文件与所述主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
14.根据权利要求13所述的设备,其特征在于,还包括:
生成模块,用于根据所述主节点上的应用运行文件,生成所述主节点上的备份运行文件;
处理模块,用于当更新模块更新所述主节点上的应用运行文件时,根据所述主节点上的备份运行文件处理所述应用对应的业务。
15.根据权利要求14所述的设备,其特征在于,还包括:
切换模块,用于将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件;
还用于当所述更新后的应用运行文件运行失败时,将用于处理所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的所述备份运行文件。
16.根据权利要求15所述的设备,其特征在于,所述生成模块还用于根据所述主节点上的备份运行文件,生成备份恢复信息;
将所述备份恢复信息存储在云计算控制器中。
17.一种分布式系统,其特征在于,包括:云计算控制器、主节点和至少一个子节点;
所述云计算控制器用于向主节点提供升级文件;
所述主节点用于获取升级文件;
所述主节点用于根据所述升级文件,更新主节点上的应用运行文件,并实时的控制所述子节点上的应用运行文件与所述主节点上的应用运行文件同步更新;
所述子节点用于实时获取主节点上的应用运行文件的各个更新内容;各个所述更新内容是在主节点根据升级文件更新所述主节点上的应用运行文件的过程中产生的;
所述子节点用于根据实时获取的各个所述更新内容,实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新;
所述子节点和主节点为集群中的节点,所述集群中的每一个节点上的应用运行文件对应同一个应用的同一个组件。
18.根据权利要求17所述的系统,其特征在于,
所述主节点用于根据所述主节点上的应用运行文件,生成所述主节点上的备份运行文件;
当所述主节点更新所述主节点上的应用运行文件时,所述主节点用于根据所述主节点上的备份运行文件处理所述应用对应的业务;
所述子节点用于根据子节点上的应用运行文件,生成所述子节点上的备份运行文件;
当所述子节点实时控制所述子节点上的应用运行文件与主节点上的应用运行文件同步更新时,所述子节点用于根据所述子节点上的备份运行文件处理所述应用对应的业务。
19.根据权利要求18所述的系统,其特征在于,所述主节点还用于将用于处理所述应用对应的业务的运行文件由所述备份运行文件切换至更新后的应用运行文件;
当所述更新后的应用运行文件运行失败时,所述主节点还用于将用于处理所述应用对应的业务的运行文件由所述更新后的应用运行文件切换至所述主节点上的所述备份运行文件;
所述子节点还用于将用于处理所述应用对应的业务的运行文件由所述子节点上的备份运行文件切换至同步更新后的应用运行文件;
当所述同步更新后的应用运行文件运行失败时,所述子节点还用于将用于处理所述应用对应的业务的运行文件由所述同步更新后的应用运行文件切换至所述子节点上的所述备份运行文件。
20.根据权利要求17~19任一项所述的系统,其特征在于,所述主节点还用于根据所述主节点上的备份运行文件,生成备份恢复信息;
所述主节点还用于将所述备份恢复信息存储在云计算控制器中。
21.根据权利要求17~19任一项所述的系统,其特征在于,所述子节点具体用于实时获取上一级子节点的各个同步更新内容,确定所述主节点的各个更新内容;各个所述同步更新内容是在所述上一级子节点实时控制所述上一级子节点上的应用运行文件与主节点上的应用运行文件同步更新的过程中产生的;
所述子节点具体用于根据实时获取的各个所述同步更新内容,实时控制子节点上的应用运行文件与所述上一级子节点上的应用运行文件同步更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410613646.7A CN105635216B (zh) | 2014-11-03 | 2014-11-03 | 分布式应用的升级方法、设备和分布式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410613646.7A CN105635216B (zh) | 2014-11-03 | 2014-11-03 | 分布式应用的升级方法、设备和分布式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635216A CN105635216A (zh) | 2016-06-01 |
CN105635216B true CN105635216B (zh) | 2019-05-03 |
Family
ID=56049699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410613646.7A Active CN105635216B (zh) | 2014-11-03 | 2014-11-03 | 分布式应用的升级方法、设备和分布式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635216B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107769949B (zh) | 2016-08-19 | 2021-02-12 | 华为技术有限公司 | 一种应用组件部署方法及部署节点 |
CN106453549B (zh) * | 2016-10-08 | 2019-09-13 | 中国工商银行股份有限公司 | 一种分布式软件版本发布方法及系统 |
CN108574702A (zh) * | 2017-03-08 | 2018-09-25 | 中兴通讯股份有限公司 | 一种云应用部署方法和系统 |
CN107332936A (zh) * | 2017-08-25 | 2017-11-07 | 长沙曙通信息科技有限公司 | 一种分布式存储分发安装系统实现方法 |
CN108768758A (zh) * | 2018-08-31 | 2018-11-06 | 郑州云海信息技术有限公司 | 分布式存储系统在线升级方法、装置、设备及存储介质 |
CN109189428A (zh) * | 2018-09-06 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种高可用的测试环境自动升级方法及系统 |
CN109660391B (zh) * | 2018-12-10 | 2022-03-08 | 浪潮电子信息产业股份有限公司 | 一种池化服务器系统固件升级方法、系统及相关装置 |
CN110209480B (zh) * | 2019-05-17 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种数据包的操作方法、装置及系统 |
CN110297640B (zh) * | 2019-06-12 | 2020-10-16 | 北京三快在线科技有限公司 | 模型部署的方法、装置、存储介质及电子设备 |
CN110750277B (zh) * | 2019-09-09 | 2022-11-15 | 无锡江南计算技术研究所 | 一种分布式维护系统的更新方法及系统 |
CN111884834A (zh) * | 2020-07-07 | 2020-11-03 | 杭州安恒信息技术股份有限公司 | 基于zookeeper的分布式系统升级方法、系统和计算机设备 |
CN112003728B (zh) * | 2020-07-24 | 2022-07-19 | 苏州浪潮智能科技有限公司 | 一种基于Kubernetes集群的应用主备实现方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409239A (zh) * | 2001-09-14 | 2003-04-09 | 北京瑞星科技股份有限公司 | 软件升级的方法 |
CN101639785A (zh) * | 2009-09-02 | 2010-02-03 | 中兴通讯股份有限公司 | 软件升级方法及装置 |
TW201227587A (en) * | 2010-12-24 | 2012-07-01 | Chunghwa Telecom Co Ltd | System and method for automatically and synchronously updating transaction interest point data |
CN103430178A (zh) * | 2013-01-30 | 2013-12-04 | 华为技术有限公司 | 数据更新方法及装置和产品 |
CN104038557A (zh) * | 2014-06-27 | 2014-09-10 | 武汉虹信通信技术有限责任公司 | 一种光纤连接的树形网络结构中设备软件批量升级方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7596711B2 (en) * | 2005-08-19 | 2009-09-29 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method and network for synchronistic processing and providing data using an extrapolation data set including at least one update time point |
-
2014
- 2014-11-03 CN CN201410613646.7A patent/CN105635216B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409239A (zh) * | 2001-09-14 | 2003-04-09 | 北京瑞星科技股份有限公司 | 软件升级的方法 |
CN101639785A (zh) * | 2009-09-02 | 2010-02-03 | 中兴通讯股份有限公司 | 软件升级方法及装置 |
TW201227587A (en) * | 2010-12-24 | 2012-07-01 | Chunghwa Telecom Co Ltd | System and method for automatically and synchronously updating transaction interest point data |
CN103430178A (zh) * | 2013-01-30 | 2013-12-04 | 华为技术有限公司 | 数据更新方法及装置和产品 |
CN104038557A (zh) * | 2014-06-27 | 2014-09-10 | 武汉虹信通信技术有限责任公司 | 一种光纤连接的树形网络结构中设备软件批量升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105635216A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635216B (zh) | 分布式应用的升级方法、设备和分布式系统 | |
US10496503B2 (en) | Healing cloud services during upgrades | |
CN107515776B (zh) | 业务不间断升级方法、待升级节点和可读存储介质 | |
US9842042B2 (en) | Datacenter management computing system | |
CN111290834B (zh) | 一种基于云管理平台实现业务高可用的方法、装置及设备 | |
US10002052B1 (en) | Systems, methods, and computer products for replication of disk sectors of a target machine | |
CN103226493B (zh) | 多操作系统业务的部署方法和系统 | |
US9998323B2 (en) | Datacenter configuration management tool | |
CN106301876B (zh) | 物理机升级方法、业务迁移方法及装置 | |
US20100192143A1 (en) | Consistent operating system servicing for distributed nodes | |
CN104735098A (zh) | 会话信息的控制方法和控制系统 | |
CN110377314B (zh) | 一种分布式存储系统的系统升级方法、装置、设备及介质 | |
CN106657167B (zh) | 管理服务器、服务器集群、以及管理方法 | |
US20160092194A1 (en) | Datacenter platform switching tool | |
CN110399152A (zh) | 一种设备系统双备份升级方法及装置 | |
CN110391940A (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
US8612799B2 (en) | Method and apparatus of backing up subversion repository | |
CN103856511A (zh) | 数据包上传方法、客户端、节点、信息服务器及系统 | |
CN110784347A (zh) | 一种容器集群的节点管理方法、系统、设备及存储介质 | |
CN108804129A (zh) | 一种软件升级方法及装置 | |
JP2023518779A (ja) | 共通トレーニングモデルのトレーニング参加者のためのネットワーク接続方法及び装置 | |
WO2017000586A1 (zh) | 虚拟网元的升级方法、装置和计算机存储介质 | |
CN104503811B (zh) | 基于单存储区的通信设备升级方法及系统 | |
CN109725916A (zh) | 流处理的拓扑结构更新系统和方法 | |
JP5781652B1 (ja) | スタック管理装置、スタック管理方法、および、スタック管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |