CN107769949B - 一种应用组件部署方法及部署节点 - Google Patents
一种应用组件部署方法及部署节点 Download PDFInfo
- Publication number
- CN107769949B CN107769949B CN201610700065.6A CN201610700065A CN107769949B CN 107769949 B CN107769949 B CN 107769949B CN 201610700065 A CN201610700065 A CN 201610700065A CN 107769949 B CN107769949 B CN 107769949B
- Authority
- CN
- China
- Prior art keywords
- deployment
- node
- application
- application component
- instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000004044 response Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 49
- 238000007726 management method Methods 0.000 description 35
- 238000009434 installation Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 4
- 230000008439 repair process Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5045—Making service definitions prior to deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用组件部署方法及部署节点,该方法包括:目标部署节点接收管理服务器发送的第一部署指令;所述目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件;所述目标部署节点向所述父节点发送第二部署指令;在所述目标部署节点检测到所述父节点已部署所述第二应用组件的情况下,所述目标部署节点根据所述第一部署指令部署第一应用组件。实施本发明实施例可以减少部署节点对服务器的依赖,从而提高应用组件部署的灵活性。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种应用组件部署方法及部署节点。
背景技术
随着云计算技术的发展,涌现出了云计算平台(也称云平台),云平台具有高度并发、用户量大等特性。用户可以根据自己的需要在云平台上部署应用,通常,应用包括多个应用组件,每个应用组件用于实现该应用的部分功能。具体的,用户可以将应用的多个应用组件分别部署在云平台中的多个部署节点上,该部署节点可以是虚拟机或容器。其中,部署节点之间存在父子关系,而部署节点在部署应用组件时会考虑这种关系,具体体现在应用组件在部署中需满足一定的安装顺序,比如:部署节点A是部署节点B的子节点,则部署节点B上的应用组件B必须先安装完,才能安装部署节点A上的应用组件A。
目前,云平台应用部署服务器使用配置管理(Configuration Management, CM)工具,集中控制应用部署的整个过程。这种方式中,各部署节点对云平台应用部署服务器的依赖性较强。例如,如果在整个应用的部署过程中,云平台应用部署系统出现故障,就会出现一部分应用组件无法安装的问题,进而导致整个应用无法完成部署。
发明内容
本发明实施例提供了一种应用组件部署方法及部署节点,可以减少部署节点对服务器的依赖,从而提高应用组件部署的灵活性。
本发明第一方面公开了一种应用部署方法,所述方法用于在多个部署节点上部署应用的多个应用组件,所述方法包括:
目标部署节点接收管理服务器发送的第一部署指令,所述目标部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署所述应用;所述目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件;所述目标部署节点向所述父节点发送第二部署指令,所述第二部署指令用于指示所述父节点部署所述第二应用组件;在所述目标部署节点检测到所述父节点已部署所述第二应用组件的情况下,所述目标部署节点根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述目标部署节点对应的应用组件。
其中,每个部署节点均可以在存储服务器中记录该部署节点上部署的应用组件的部署状态,这样,每个部署节点均可以在存储服务器检测其他部署节点的部署状态,根据部署状态来确定其他部署节点是否已部署应用组件,或者,每个部署节点可以主动告知其他部署节点该部署节点上部署应用组件的部署状态。其中,该部署状态可以包括但不限于未部署、部署中、部署完成、部署失败以及故障状态。
其中,每个部署节点部署应用组件之前,需要确认该部署节点是否存在父节点以及该父节点是否已部署应用组件,因为每个部署节点上应用组件的部署依赖于该部署节点的父节点上应用组件的部署,即只有该部署节点的父节点已部署应用组件的情况下,该部署节点才能部署应用组件。
可见,目标部署节点接收管理服务器发送的第一部署指令之后,目标部署节点可以指导该目标部署节点的父节点部署应用组件,之后,目标部署节点也可以部署应用组件,整个过程减少了对服务器的依赖,部署节点可以自动部署应用组件,从而提高应用组件部署的灵活性。
在一种可选的实施方式中,所述目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件包括:
所述目标部署节点解析所述第一部署指令,获得所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
所述目标部署节点根据所述层级关系确定所述目标部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
在该可选的实施方式中,第一部署指令中携带目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系,这样,目标部署节点可以解析第一部署指令并直接提取出层级关系以及对应关系,以及根据层级关系确定目标部署节点的父节点,以及根据对应关系确定多个应用组件中与父节点对应的第二应用组件。
其中,该层级关系以及该对应关系可以以应用部署模型图的形式呈现,该部署模型图为该应用的部署模型图,该应用部署模型图可以存在于第一部署指令中;或者,该层级关系以及该对应关系可以以数据包或帧的形式存在于第一部署指令中。
在一种可选的实施方式中,所述第一部署指令携带有所述应用的应用标识,所述目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点, 所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件包括:
所述目标部署节点向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;所述目标部署节点接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;所述目标部署节点根据所述层级关系确定所述目标部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
在该可选的实施方式中,存储服务器中预先存储有应用的部署关系,该应用的部署关系包括目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系,目标部署节点在接收到第一部署指令之后,目标部署节点就可以从存储服务器中获取目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系,这样,目标部署节点就可以根据层级关系确定目标部署节点的父节点,以及根据对应关系确定多个应用组件中与父节点对应的第二应用组件。
在一种可选的实施方式中,所述亲属节点还包括兄弟节点,所述方法还包括:
所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述兄弟节点对应的第三应用组件;在所述目标部署节点检测到所述父节点已部署所述第二应用组件情况下,所述目标部署节点向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件。
需要说明的是,目标部署节点的父节点已部署第二应用组件之后,目标部署节点部署第一应用组件,同时,目标部署节点可以向目标部署节点的兄弟节点发送第三部署指令,以触发兄弟节点部署第三应用组件;
或者,目标部署节点部署第一应用组件完成之后,再向目标部署节点的兄弟节点发送第三部署指令,以触发兄弟节点部署第三应用组件。
其中,“目标部署节点根据第一部署指令确定多个应用组件中与兄弟节点对应的第三应用组件”的方式与上述“目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件”的方式类似,在此不再赘述,具体请参见上面的描述。
在一种可选的实施方式中,所述亲属节点还包括子节点,在所述目标部署节点根据所述第一部署指令部署第一应用组件之后,所述方法还包括:
所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述子节点对应的第四应用组件;所述目标部署节点向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
其中,目标部署节点作为子节点的父节点,子节点上应用组件的安装依赖于目标部署节点上应用组件的安装,故目标部署节点根据所述第一部署指令部署第一应用组件之后,目标部署节点才能向子节点发送第四部署指令,以触发子节点部署第四应用组件。
其中,“所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述子节点对应的第四应用组件”的方式与上述“目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件”的方式类似,在此不再赘述,具体请参见上面的描述。
可见,多个部署节点可以自动地执行应用组件的部署操作,减少对服务器的依赖,这样,不仅可以简化云平台应用部署系统的业务逻辑,提升云平台应用部署系统并发部署应用的能力,同时还可以提高应用部署的效率。
在一种可选的实施方式中,所述方法还包括:
在所述第一应用组件的运行出现故障的情况下,所述目标部署节点将所述第一应用组件的部署状态更新为故障状态;所述目标部署节点重新部署所述第一应用组件;在所述目标部署节点重新部署所述第一应用组件完成后,所述目标部署节点将所述第一应用组件的部署状态更新为部署完成。
其中,第一应用组件的运行出现故障主要由两种原因造成的,第一种是第一应用组件所在的目标部署节点本身出现故障,第二种是第一应用组件本身出现故障。第一种情况下目标部署节点本身出现故障,本发明不考虑,本发明主要考虑第二种情况。可见,在第一应用组件的运行出现故障的情况下,目标部署节点可以自动执行应用组件的重新部署操作,进而实现故障的自动修复。
在一种可选的实施方式中,所述方法还包括:
所述目标部署节点接收所述管理服务器发送的升级指令,所述升级指令指示所述目标部署节点升级所述第一应用组件;所述目标部署节点将所述第一应用组件的部署状态更新为未部署;所述目标部署节点根据所述升级指令对所述第一应用组件执行升级操作;所述目标部署节点将已升级的所述第一应用组件的部署状态更新为部署完成。
其中,在该可选的实施方式中,由于业务的新功能上线或者需要修复问题,目标部署节点的应用组件有可能需要升级。当接收到管理服务器发送的升级指令时,默认为目标部署节点上没有安装应用组件,需要将目标部署节点的应用组件的部署状态更新为未部署状态,同时,根据升级指令对第一应用组件执行升级操作,进一步地,目标部署节点需要将已升级的所述第一应用组件的部署状态更新为部署完成。
本发明第二方面公开了一种应用组件部署方法,其特征在于,所述方法用于在多个部署节点上部署应用的多个应用组件,所述方法包括:
目标部署节点接收管理服务器发送的第一部署指令,所述目标部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署所述应用;在所述目标部署节点检测到所述目标部署节点的父节点已部署第二应用组件的情况下,所述目标部署节点根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述目标部署节点对应的应用组件,所述第二应用组件为所述多个应用组件中与所述父节点对应的应用组件;所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件;所述目标部署节点向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件;或,所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的子节点对应的第四应用组件;所述目标部署节点向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
其中,在该实施方式中,目标部署节点确定父节点已部署第二应用组件,目标部署节点就不需要等待父节点上应用组件的部署,而直接可以根据第一部署指令部署第一应用组件,同时,目标部署节点还可以根据第一部署指令确定目标部署节点的兄弟节点对应的第三应用组件,向兄弟节点发送第三部署指令,以触发兄弟节点部署第三应用组件,此外,目标部署节点还可以根据第一部署指令确定目标部署节点的子节点对应的第四应用组件,向子节点发送第四部署指令,以触发子节点部署第四应用组件。
可见,目标部署节点接收管理服务器发送的第一部署指令之后,目标部署节点可以指导兄弟节点或子节点部署应用组件,目标部署节点也可以部署应用组件,整个过程减少了对服务器的依赖,部署节点可以自动部署应用组件,从而提高应用组件部署的灵活性。
在一种可选的实施方式中,所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件包括:
所述目标部署节点解析所述第一部署指令,获得所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;所述目标部署节点根据所述层级关系确定所述目标部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
在一种可选的实施方式中,所述第一部署指令携带有所述应用的应用标识,所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件包括:
所述目标部署节点向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;所述目标部署节点接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;所述目标部署节点根据所述层级关系确定所述目标部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
需要说明的是,“所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的子节点对应的第四应用组件”的方式与上述“所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件”的方式类似,在此不再赘述,具体请参见上面的描述。
本发明第三方面公开了一种部署节点,包括用于执行本发明实施例第一方面任一方法的部分或全部步骤的功能单元。其中,该部署节点执行第一方面任一方法的部分或全部步骤时可以减少部署节点对服务器的依赖,从而提高应用组件部署的灵活性。
本发明实施例第四方面公开了一种部署节点,包括用于执行本发明实施例第二方面任一方法的部分或全部步骤的功能单元。其中,该部署节点执行第二方面任一方法的部分或全部步骤时可以减少部署节点对服务器的依赖,从而提高应用组件部署的灵活性。
本发明实施例第五方面公开了一种物理机,所述物理机上部署有多个部署节点,所述物理机包括:处理器、接收器、发送器以及存储器,所述存储器被配置用于存储指令,所述处理器被配置用于运行所述指令,所述处理器运行所述指令以执行本发明实施例第一方面任一方法的部分或全部步骤。其中,该部署节点执行第一方面任一方法的部分或全部步骤时可以减少部署节点对服务器的依赖,从而提高应用组件部署的灵活性。
本发明实施例第六方面公开了一种物理机,所述物理机上部署有多个部署节点,所述物理机包括:处理器、接收器、发送器以及存储器,所述存储器被配置用于存储指令,所述处理器被配置用于运行所述指令,所述处理器运行所述指令以执行本发明实施例第二方面任一方法的部分或全部步骤。其中,该部署节点执行第二方面任一方法的部分或全部步骤时可以减少部署节点对服务器的依赖,从而提高应用组件部署的灵活性。
本发明实施例第七方面公开了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序具体包括用于执行本发明实施例第一方面任一方法的部分或全部步骤的指令。
本发明实施例第八方面公开了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序具体包括用于执行本发明实施例第二方面任一方法的部分或全部步骤的指令。
在一些可能的实施方式中,在所述目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件之后,所述目标部署节点还可以检测所述父节点是否已部署所述第二应用组件,在检测到所述父节点未部署所述第二应用组件的情况下,所述目标部署节点向所述父节点发送第二部署指令;在检测到所述父节点已部署所述第二应用组件的情况下,所述目标部署节点就不需要向所述父节点发送第二部署指令。这样,就可以节省系统资源。
在一些可能的实施方式中,在确定所述目标部署节点不具有父节点的情况下,所述目标部署节点部署所述第一应用组件。在这种情况下,目标部署节点不具有父节点,即第一应用组件没有依赖的应用组件,此时,目标部署节点无需等待,可以直接部署第一应用组件。
在一些可能的实施方式中,在所述目标部署节点部署所述第一应用组件完成后,所述目标部署节点将所述第一应用组件的部署状态更新为部署完成。
在一些可能的实施方式中,在所述父节点部署所述第二应用组件完成后,所述父节点将所述第二应用组件的部署状态更新为部署完成。
在一些可能的实施方式中,在所述兄弟节点部署所述第三应用组件完成后,所述兄弟节点将所述第三应用组件的部署状态更新为部署完成。
在一些可能的实施方式中,在所述子节点部署所述第四应用组件完成后,所述子节点将所述第四应用组件的部署状态更新为部署完成。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种云平台应用部署系统的网络架构示意图;
图1.1是本发明实施例公开的一种应用部署模型图的示意图;
图2是本发明实施例公开的一种应用组件部署方法的流程示意图;
图3是本发明实施例公开的另一种应用组件部署方法的流程示意图;
图4是本发明实施例公开的一种部署节点的结构示意图;
图5是本发明实施例公开的另一种部署节点的结构示意图;
图6是本发明实施例公开的另一种部署节点的结构示意图;
图7是本发明实施例公开的另一种部署节点的结构示意图;
图8是本发明实施例公开的一种物理机的结构示意图;
图9是本发明实施例公开的另一种物理机的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书的术语“第一”“第二”“第三”“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例公开了一种应用部署方法及部署节点,可以减少部署节点对服务器的依赖,从而提高应用组件部署的灵活性。以下分别进行详细说明。
为了更好理解本发明实施例公开的一种应用组件部署方法,下面先对本发明实施例适用的网络架构进行描述。
请参见图1,图1是本发明实施例公开的一种云平台应用部署系统的网络架构示意图。如图1所示,该云平台应用部署系统包括:管理服务器、多个部署节点、软件服务器以及存储服务器。在图1所示的云平台应用部署系统中,可以执行本发明实施例所公开的应用组件部署方法。
其中,管理服务器(如云平台应用部署服务器)主要用于向多个部署节点中的任一个部署节点下发用于指示部署应用的部署指令,其中,该应用可以包括多个应用组件,每个应用组件用于实现该应用的部分功能。
其中,部署节点可以包括但不限于虚拟机(Virtual Machine,VM)、容器 (Docker)或者物理机,部署节点之间存在层级关系,该层级关系包括父子关系,此外,应用的应用组件与层级关系中包括的部署节点之间存在对应关系,即每个部署节点都有对应的应用组件。同一个物理机上可以部署多个部署节点。多个不同层级的部署节点也可能部署在同一个物理机上。通常,部署节点在部署应用组件时会考虑父子关系,具体体现在应用组件在部署中需满足一定的安装顺序,比如:部署节点A是部署节点B的子节点,则部署节点B上的应用组件B必须先安装完,才能安装部署节点A上的应用组件A。此外,该层级关系还包括兄弟关系,存在兄弟关系的部署节点在部署应用组件时可以不考虑安装顺序。
其中,在数据库管理的数据模型(如层次模型和网状模型)中,一个节点如果有上一级,则称这个上一级是它的父节点(the parent node),如果有下一级,则称这个下一级是它的子节点(The children node),如果有平级,则称这个平级是它的兄弟节点(thesiblings node)。
可以看出,部署节点之间的父子关系本质上是部署节点上待安装的应用组件之间的依赖关系。举例来说,假设需要部署Docker应用管理系统应用,该 Docker应用管理系统应用包括两个应用组件:应用编排调度器以及MySQL,而应用编排调度器的安装依赖于MySQL的安装,则在应用部署模型图中,待安装应用编排调度器的部署节点依赖于待安装MySQL的部署节点,其中,应用编排调度器为编排部署Docker应用的软件。
可选的,该层级关系以及该对应关系可以以部署模型图的形式呈现,该部署模型图为待部署应用的部署模型图,该部署模型图可以存储在存储服务器中;或者,该层级关系以及该对应关系可以以数据包或帧的形式存在于管理服务器下发的部署指令中。可选的,部署模型图还可以携带有应用软件包的地址,该应用软件包的地址用于部署节点根据该应用软件包的地址获取应用的软件包。
其中,软件服务器用于存储应用软件包、依赖包等,该应用软件包可以为通用的应用软件包,比如VM的镜像,MySQL的Docker镜像或软件包,nginx 的镜像或软件包,也可以为用户私有的应用软件包。
存储服务器可以包括但不限于键值存储系统etcd、关系型数据库管理系统 MySQL以及配置文件(config)。存储服务器可以存储多个部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系。此外,存储服务器还可以记录每个部署节点上部署的应用组件的部署状态,其中,该部署状态可以包括但不限于未部署、部署中、部署完成、部署失败以及故障状态。
需要说明的是,上述存储服务器可以作为一个模块集成在管理服务器或软件服务器上,或者,上述存储服务器可以单独部署。
在图1所示的云平台应用部署系统中,当用户需要在云平台应用部署系统上部署应用时,用户可以预先指定需要的部署节点,每个部署节点需要安装的应用组件,设置部署节点的信息(比如VM镜像、应用软件包、安装方式等)、指定部署节点之间的层级关系以及应用的应用组件与层级关系中包括的部署节点之间的对应关系。之后,管理服务器可以将待部署应用的应用软件包(通常为用户私有的应用软件包)发送给软件服务器,以便软件服务器存储该待部署应用的应用软件包,后续部署节点就可以从软件服务器中获取应用软件包,以执行应用组件的部署操作。
同时,管理服务器可以向多个部署节点中的目标部署节点(即任意一个部署节点)发送部署指令,以触发目标部署节点根据部署指令确定目标部署节点的父节点以及父节点对应的应用组件,以及确定目标部署节点的兄弟节点以及兄弟节点对应的应用组件,以及确定目标部署节点的子节点以及子节点对应的应用组件。进一步地,由目标部署节点来指导父节点、兄弟节点以及子节点来部署应用组件,以及目标部署节点部署应用组件,直到整个应用完成部署。
请一并参见图1.1,图1.1是本发明实施例公开的一种应用部署模型图的示意图。其中,该应用部署模型图用于记录多个部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系。
如图1.1所示,该应用部署模型图为一个有向图,箭头表示依赖关系。图 1.1中包括多个部署节点,比如:V1、V2、V3、V4以及V5,其中,每个部署节点均对应一个应用组件。此外,图1.1中还包括V0,其中V0为虚拟起始节点,不代表任意一个部署节点,V0主要用于确保部署模型图中不存在孤立的部署节点,比如,如果没有V0,V3将成为孤立节点。带箭头的有向线条表示依赖关系(即父子关系),任意依赖关系中,表示起点依赖于终点,起点可以称为子节点,终点可以称为父节点。存在依赖关系的两个部署节点,必须由父节点上的应用组件安装完后,才能安装子节点上的应用组件。举例来说,V4依赖于 V1和V2,V4为V1和V2的子节点,而V1和V2均为V4的父节点,如果V4 要安装应用组件,必须待V1和V2上的应用组件安装完后,V4才能安装应用组件。同理,V5依赖于V2,V2为V5的父节点,V5为V2的子节点,只有V2上的应用组件安装完后,V5才能安装应用组件。此外,V0均为V1/V2/V3的父节点,但是由于V0为虚拟起始节点,不代表任意一个部署节点,V0不需要安装应用组件,系统可以默认V0的应用组件安装状态为安装成功,V1/V2/V3安装应用组件时无需等待V0安装应用组件,V1/V2/V3可以直接安装各自的应用组件。
此外,该部署模型图还可以表示部署节点之间的兄弟关系,比如:V4与 V5互为兄弟节点,V1、V2以及V3互为兄弟节点。
管理服务器可以将第一部署指令下发给待安装应用组件的任一个部署节点 (称为目标部署节点),该目标部署节点接收第一部署指令,确定目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系之后,目标部署节点就可以根据该层级关系确定是否存在该目标部署节点的父节点,若存在父节点,则进一步确定父节点是否部署第二应用组件,若父节点未部署第二应用组件,则向父节点发送第二部署指令,父节点接收到该第二部署指令之后,父节点部署第二应用组件。目标部署节点检测到父节点已部署第二应用组件的情况下,目标部署节点根据对应关系部署第一应用组件,进一步地,目标部署节点根据层级关系确定目标部署节点的兄弟节点,还确定兄弟节点未部署第三应用组件,目标部署节点可以向兄弟节点发送第三部署指令,兄弟节点接收到该第三部署指令之后,兄弟节点部署第三应用组件。更进一步地,当该目标部署节点第一应用组件部署完后,目标部署节点根据层级关系确定目标部署节点的子节点,还确定子节点未部署第四应用组件,目标部署节点可以向子节点发送第四部署指令,子节点接收到该第四部署指令之后,兄弟节点部署第四应用组件。当所有部署节点的应用组件部署完成后,整个应用的部署就完成了。
需要说明的是,针对每个部署节点,当该部署节点接收到部署指令后,该部署节点都需要先检测其依赖的父节点是否完成应用组件的部署,若父节点完成部署,该部署节点才能部署应用组件。可见,整个应用部署过程中,部署节点减少了对服务器的依赖,各部署节点不需要一直等待服务器下发部署任务,而可以自动部署应用组件,从而提高应用组件部署的灵活性。
需要说明的是,当应用的业务场景发生变更需要解决问题时,相应地,应用部署模型图也会发生变更。
其中,应用部署模型图需要变更的场景主要有如下两种:应用组件弹性缩容场景以及应用组件弹性扩容场景。
在应用组件弹性缩容场景下,通常是多个部署节点中存在至少2个部署节点处理的业务是一样的,这种情况下,为了节约资源,需要删除其中至少一个部署节点,部署节点发生变更,相应地,就需要更新应用部署模型图。
在应用组件弹性扩容场景下,通常是需要增加某个或某些部署节点的扩容节点,其中,该部署节点的扩容节点与其他部署节点的层级关系与该部署节点与其他部署节点的层级关系一致,比如:在图1.1所示的应用部署模型图中,需要增加一个V1的扩容节点V6,此时,V6与V1、V2、V3互为兄弟节点,V6 是V4的父节点,V6的父节点为虚拟起始节点V0。由于增加扩容节点后,部署节点的亲属关系发生变化,故需要更新应用部署模型图。
请参阅图2,图2是本发明实施例公开的一种应用部署方法的流程示意图。其中,该方法用于在多个部署节点上部署应用的多个应用组件,如图2所示,该方法包括以下步骤:
201、目标部署节点接收管理服务器发送的第一部署指令。
其中,该目标部署节点为多个部署节点中的一个,可以将管理服务器下发第一部署指令的部署节点看成是目标部署节点。
举例来说,假设该多个部署节点为图1.1所示应用部署模型图中的部署节点,则该目标部署节点可以为V1、V2、V3、V4以及V5中的任一个。假设管理服务器向V4下发第一部署指令,则可以将V4看成是目标部署节点。
其中,该第一部署指令用于指示部署应用,比如:Docker容器应用管理系统应用、Guestbook应用。
可选的,该第一部署指令可以携带有目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系。或者,可选的,该第一部署指令可以携带有应用的应用标识。
202、目标部署节点根据第一部署指令确定目标部署节点的亲属节点,亲属节点包括父节点,以及多个应用组件中与父节点对应的第二应用组件。
需要说明的是,由于部署节点之间存在依赖关系(即父子关系),即部署节点上待安装的应用组件存在依赖关系,待安装的应用组件必须按照一定的先后顺序来安装。因此,每个部署节点部署应用组件之前,需要确认该部署节点是否存在父节点以及该父节点是否已部署应用组件,因为每个部署节点上应用组件的部署依赖于该部署节点的父节点上应用组件的部署,即只有该部署节点的父节点已部署应用组件的情况下,该部署节点才能部署应用组件。故目标部署节点接收到管理服务器发送的第一部署指令之后,在部署第一应用组件之前,目标部署节点需要先根据第一部署指令确定目标部署节点的亲属节点,亲属节点包括父节点,以及多个应用组件中与父节点对应的第二应用组件。
作为一种可选的实施方式,目标部署节点根据第一部署指令确定目标部署节点的亲属节点,亲属节点包括父节点,以及多个应用组件中与父节点对应的第二应用组件包括:
目标部署节点解析第一部署指令,获得目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系;
目标部署节点根据层级关系确定目标部署节点的父节点,以及根据对应关系确定多个应用组件中与父节点对应的第二应用组件。
在该可选的实施方式中,第一部署指令中携带目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系,这样,目标部署节点可以解析第一部署指令并直接提取出层级关系以及对应关系,以及根据层级关系确定目标部署节点的父节点,以及根据对应关系确定多个应用组件中与父节点对应的第二应用组件。
其中,该层级关系以及该对应关系可以以应用部署模型图的形式呈现(如图1.1所示的应用部署模型图),该应用部署模型图为该应用的部署模型图,该应用部署模型图可以存在于第一部署指令中;或者,该层级关系以及该对应关系可以以数据包或帧的形式存在于第一部署指令中。
作为另一种可选的实施方式,第一部署指令携带有应用的应用标识,目标部署节点根据第一部署指令确定目标部署节点的亲属节点,亲属节点包括父节点,以及多个应用组件中与父节点对应的第二应用组件包括:
目标部署节点向存储服务器发送携带有应用标识的部署关系获取请求,部署关系获取请求用于请求获取应用的部署关系;
目标部署节点接收存储服务器响应部署关系获取请求发送的应用的部署关系,应用的部署关系包括目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系;
目标部署节点根据层级关系确定目标部署节点的父节点,以及根据对应关系确定多个应用组件中与父节点对应的第二应用组件。
在该可选的实施方式中,存储服务器中预先存储有应用的部署关系,该应用的部署关系包括目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系,目标部署节点在接收到第一部署指令之后,目标部署节点就可以从存储服务器中获取目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系,这样,目标部署节点就可以根据层级关系确定目标部署节点的父节点,以及根据对应关系确定多个应用组件中与父节点对应的第二应用组件。
可选的,若目标部署节点的父节点为虚拟起始节点,则系统默认该虚拟起始节点的部署状态为部署完成,则依赖于该虚拟起始节点的目标部署节点可以直接执行步骤204。
203、目标部署节点向父节点发送第二部署指令。
其中,该第二部署指令用于指示父节点部署第二应用组件。
父节点接收到目标部署节点发送的第二部署指令后,父节点可以从存储服务器中获取第二应用组件的应用软件包,以及使用该应用软件包来部署第二应用组件。
需要说明的是,父节点接收到目标部署节点发送的第二部署指令后,该父节点需要根据该第二部署指令确定该父节点是否存在该父节点的父节点以及该父节点的父节点是否部署应用组件,如果存在该父节点的父节点并且该父节点的父节点未部署应用组件,则该父节点需要等待该父节点的父节点部署应用组件完成后,该父节点才能部署应用组件。
204、在目标部署节点检测到父节点已部署第二应用组件的情况下,目标部署节点根据第一部署指令部署第一应用组件。
其中,该第一应用组件为多个应用组件中与目标部署节点对应的应用组件。
本发明实施例中,每个部署节点均可以在存储服务器中记录该部署节点上部署的应用组件的部署状态,以便其他的部署节点能从存储服务器上实时检测到任一个部署节点的应用组件的部署状态,并根据部署节点的应用组件的部署状态来执行应用组件的部署。该部署状态可以包括但不限于未部署、部署中、部署完成、部署失败以及故障状态。
其中,在所述父节点部署所述第二应用组件完成后,所述父节点可以将所述第二应用组件的部署状态更新为部署完成。
可选的,目标部署节点可以从存储服务器中查询父节点的应用组件的部署状态,如果查询到父节点的应用组件的部署状态为部署完成,则可以确定父节点已部署第二应用组件。
可选的,父节点上的应用组件部署完成后,父节点可以主动告知目标部署节点,这样,目标部署也可以确定父节点已部署第二应用组件。
在目标部署节点检测到父节点已部署第二应用组件的情况下,目标部署节点可以根据应用的应用组件与层级关系中包括的部署节点间的对应关系确定第一应用组件,从软件服务器中获取第一应用组件的应用软件包,使用第一应用组件的应用软件包来部署第一应用组件。
可选的,在目标部署节点部署所述第一应用组件完成后,目标部署节点可以将第一应用组件的部署状态更新为部署完成。
205、目标部署节点根据第一部署指令确定多个应用组件中与兄弟节点对应的第三应用组件。
可选的,目标部署节点根据第一部署指令确定多个应用组件中与兄弟节点对应的第三应用组件的方式具体为:
目标部署节点解析第一部署指令,获得目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系;
目标部署节点根据层级关系确定目标部署节点的兄弟节点,以及根据对应关系确定多个应用组件中与兄弟节点对应的第三应用组件。
可选的,第一部署指令携带有所述应用的应用标识,目标部署节点根据第一部署指令确定多个应用组件中与兄弟节点对应的第三应用组件的方式具体为:
目标部署节点向存储服务器发送携带有应用标识的部署关系获取请求,部署关系获取请求用于请求获取应用的部署关系;
目标部署节点接收存储服务器响应部署关系获取请求发送的应用的部署关系,应用的部署关系包括目标部署节点与其他部署节点间的层级关系,以及应用的应用组件与层级关系中包括的部署节点间的对应关系;
目标部署节点根据层级关系确定目标部署节点的兄弟节点,以及根据对应关系确定多个应用组件中与兄弟节点对应的第三应用组件。
206、在目标部署节点检测到父节点已部署第二应用组件情况下,目标部署节点向兄弟节点发送第三部署指令。
其中,第三部署指令用于指示兄弟节点部署第三应用组件。
兄弟节点接收到目标部署节点发送的第三部署指令后,兄弟节点可以从存储服务器中获取第三应用组件的应用软件包,以及使用该应用软件包来部署第三应用组件。
需要说明的是,兄弟节点接收到目标部署节点发送的第三部署指令后,该兄弟节点需要根据该第三部署指令确定该兄弟节点是否存在该兄弟节点的父节点以及该兄弟节点的父节点是否部署应用组件,如果存在该兄弟节点的父节点并且该兄弟节点的父节点未部署应用组件,则该兄弟节点需要等待该兄弟节点的父节点部署应用组件完成后,该兄弟节点才能部署应用组件。
其中,在所述兄弟节点部署所述第三应用组件完成后,所述兄弟节点将所述第三应用组件的部署状态更新为部署完成。
可选的,在目标部署节点检测到父节点已部署第二应用组件的情况下,目标部署节点可以先检测下兄弟节点是否部署有应用组件,如果兄弟节点未部署有应用组件,则目标部署节点可以向兄弟节点发送第三部署指令,否则,目标部署节点就不需要向兄弟节点发送第三部署指令。这样,可以节省系统资源。
207、目标部署节点根据第一部署指令确定多个应用组件中与子节点对应的第四应用组件。
其中,目标部署节点根据第一部署指令确定多个应用组件中与子节点对应的第四应用组件的方式与上述方法类似,在此不再赘述。
其中,目标部署节点根据第一部署指令部署第一应用组件之后,目标部署节点可以根据第一部署指令确定多个应用组件中与子节点对应的第四应用组件。
208、目标部署节点向子节点发送第四部署指令。
其中,第四部署指令用于指示子节点部署第四应用组件。
子节点接收到目标部署节点发送的第四部署指令后,子节点可以从存储服务器中获取第四应用组件的应用软件包,以及使用该应用软件包来部署第四应用组件。
其中,在所述子节点部署所述第四应用组件完成后,所述子节点可以将所述第四应用组件的部署状态更新为部署完成。
需要说明的是,子节点接收到目标部署节点发送的第四部署指令后,该子节点需要根据该第四部署指令确定该子节点是否存在该子节点的父节点以及该兄弟节点的父节点是否部署应用组件,如果存在该子节点的父节点并且该子节点的父节点未部署应用组件,则该子节点需要等待该子节点的父节点部署应用组件完成后,该子节点才能部署应用组件。
可选的,在目标部署节点检测到父节点已部署第二应用组件的情况下,目标部署节点可以先检测下子节点是否部署有应用组件,如果子节点未部署有应用组件,则目标部署节点可以向子节点发送第四部署指令,否则,目标部署节点就不需要向子节点发送第四部署指令。这样,可以节省系统资源。
综上可以看出各部署节点的应用组件安装的先后顺序,即目标部署节点的父节点优先完成应用组件的安装,其次是该目标部署节点完成应用组件的安装,最后该目标部署节点的兄弟节点/子节点完成应用组件的安装。
下面结合图1.1举例来说明:
假设该目标部署节点为图1.1中的V4,应用部署模型图为图1.1所示的应用部署模型图。V4接收管理服务器发送用于指示部署应用的部署指令,并获取到图1.1所示的应用部署模型图之后,V4根据图1.1所示的应用部署模型图检测是否存在V4的父节点,从图1.1中可以看出,V4的父节点为V1和V2,V4 根据图1.1所示的应用部署模型图检测到V4的父节点为V1和V2之后,V4从存储服务器中检测V1和V2的应用组件的部署状态均为未安装,V4可以分别向 V1和V2发送用于指示部署应用组件的部署指令。V1接收到部署指令之后,进一步地,V1根据图1.1所示的应用部署模型图检测是否存在V1的父节点,从图1.1所示的应用部署模型图中可以看出,V1的父节点为V0,而V0为虚拟起始节点,系统默认V0的应用组件的部署状态为安装完成,故V1可以直接从软件服务器中获取V1对应的应用组件的应用软件包并执行应用组件的部署操作, V1对应的应用组件部署完后,V1在存储服务器上将V1的应用组件的部署状态更新为安装完成。
同样,V2接收到部署指令之后,进一步地,V2根据图1.1所示的应用部署模型图检测是否存在V2的父节点,从图1.1所示的应用部署模型图中可以看出,V2的父节点为V0,故V2可以直接从软件服务器中获取V2对应的应用组件的应用软件包并执行应用组件的部署操作,V2对应的应用组件部署完后,V2在存储服务器上将V2的应用组件的部署状态更新为安装完成。
V4检测到V1和V2上的应用组件的部署状态为部署完成后,V4就可以获取V4对应的应用组件的应用软件包,并执行应用组件的部署操作。部署完成后, V4在存储服务器上将V4的应用组件的部署状态更新为安装完成。
同时,V1上的应用组件部署完成后,V1可以根据图1.1所示的应用部署模型图检测是否存在V1的兄弟节点或V1的子节点,同样,V2上的应用组件部署完成后,V2也可以根据图1.1所示的应用部署模型图检测是否存在V2的兄弟节点或V2的子节点,从图1.1所示的应用部署模型图可以看出,V1、V2以及 V3互为兄弟节点,V5为V2的子节点。可选的,无论V3的应用组件的部署状态处于什么状态,V1和V2均可以向V3发送用于指示部署应用组件的部署指令, V2还可以向V5发送用于指示部署应用组件的部署指令。可选的,V1或V2上的应用组件均部署完成后,V1或V2可以先检测V3的应用组件的部署状态,若 V3的应用组件的部署状态为未安装,V1或V2再向V3发送用于指示部署应用组件的部署指令,若V3的应用组件的部署状态为部署完成,V1或V2就不需要向V3发送用于指示部署应用组件的部署指令了,这样,就可以避免重复向V3 发送部署指令,从而节省系统资源。
V3接收到用于指示部署应用组件的部署指令,获取图1.1所示的应用部署模型图之后,V3检测到V3的父节点为虚拟起始节点V0,直接获取V3对应的应用组件的应用软件包进而执行应用组件的部署操作。V3部署完后,在存储服务器上将V3的应用组件的部署状态更新为部署完成,进一步地,当V3检测到不存在V3的兄弟节点或V3的子节点时,V3不需要执行任何操作。
V5接收到用于指示部署应用组件的部署指令,获取图1.1所示的应用部署模型图之后,V5检测到V5依赖的父节点V2已经完成应用组件的部署,V5直接获取V5对应的应用组件的应用软件包进而执行应用组件的部署操作。V5部署完后,在存储服务器上将V5的应用组件的部署状态更新为部署完成,进一步地,V5检测到V5的兄弟节点V4已经完成应用组件的部署,并且V5不存在 V5的子节点,此时,V5不需要执行任何操作。
至此,图1.1所示的所有部署节点均完成应用组件的部署,即整个应用部署完成了。从上述可以看出,V4优先接收管理服务器发送的部署指令,并获取到应用部署模型图,V4的父节点V1/V2先执行应用组件的部署操作,V1/V2上的应用组件部署完成之后,V3/V4/V5同时执行应用组件的部署。
可见,整个应用部署的过程中,部署节点减少了对服务器的依赖,多个部署节点可以灵活地执行应用组件的部署操作,不仅可以简化云平台应用部署系统的业务逻辑,提升云平台应用部署系统并发部署应用的能力,同时还可以提高应用部署的效率。
应用部署完成之后,应用就可以正常运行了。然而,在后期应用运行的过程中,有可能会出现应用组件出现故障的情况,或者应用组件需要升级的情况。针对这些情况,部署节点可以自主地执行相应操作,减少对服务器的依赖。
作为另一种可选的实施方式,所述方法还包括:
11)在所述第一应用组件的运行出现故障的情况下,所述目标部署节点将所述第一应用组件的部署状态更新为故障状态;
12)所述目标部署节点重新部署所述第一应用组件;
13)在所述目标部署节点重新部署所述第一应用组件完成后,所述目标部署节点将所述第一应用组件的部署状态更新为部署完成。
在该可选的实施方式中,应用部署完成之后,在后续的运行过程中,有可能发生目标部署节点的第一应用组件的运行出现故障的情况,其中,第一应用组件的运行出现故障主要由两种原因造成的,第一种是第一应用组件所在的目标部署节点本身出现故障,第二种是第一应用组件本身出现故障。第一种情况下目标部署节点本身出现故障,本发明不考虑,本发明主要考虑第二种情况。
由于部署节点之间是存在亲属关系的,故当第一应用组件的运行出现故障的情况下,目标部署节点需要将目标部署节点的第一应用组件的部署状态更新为故障状态,以便与目标部署节点关联的其他部署节点获取到该目标部署节点的应用组件的部署状态。
进一步地,目标部署节点可以从软件服务器中获取第一应用组件的应用软件包,重新部署第一应用组件,在目标部署节点重新部署第一应用组件完成后,目标部署节点将第一应用组件的部署状态更新为部署完成。
可见,在第一应用组件的运行出现故障的情况下,目标部署节点可以自动执行应用组件的重新部署操作,减少了对服务器的依赖,实现故障的自动修复。
作为另一种可选的实施方式,所述方法还包括:
21)所述目标部署节点接收所述管理服务器发送的升级指令,所述升级指令指示所述目标部署节点升级所述第一应用组件;
22)所述目标部署节点将所述第一应用组件的部署状态更新为未部署;
23)所述目标部署节点根据所述升级指令对所述第一应用组件执行升级操作;
24)所述目标部署节点将已升级的所述第一应用组件的部署状态更新为部署完成。
在该可选的实施方式中,由于业务的新功能上线或者需要修复问题,目标部署节点的第一应用组件有可能需要升级,此时,当前目标部署节点上部署的第一应用组件就已经不再实用,默认为没有安装升级的应用组件,故需要将目标部署节点的第一应用组件的部署状态更新为未部署,并根据升级指令对第一应用组件执行升级操作;在目标部署节点的第一应用组件的升级操作完成之后,需要将已升级的第一应用组件的部署状态更新为部署完成。
在图2所描述的方法流程中,目标部署节点接收管理服务器发送的第一部署指令之后,目标部署节点可以指导该目标部署节点的父节点部署应用组件,之后,目标部署节点也可以部署应用组件,目标部署节点还可以指导该目标部署节点的兄弟节点以及子节点部署应用组件,整个过程减少了对服务器的依赖,部署节点可以自动部署应用组件,从而提高应用组件部署的灵活性。
请参阅图3,图3是本发明实施例公开的另一种应用部署方法的流程示意图。其中,该方法用于在多个部署节点上部署应用的多个应用组件,如图3所示,该方法包括以下步骤:
301、目标部署节点接收管理服务器发送的第一部署指令。
其中,目标部署节点为多个部署节点中的一个,第一部署指令用于指示部署应用。
302、在目标部署节点检测到目标部署节点的父节点已部署第二应用组件的情况下,目标部署节点根据第一部署指令部署第一应用组件。
其中,第一应用组件为多个应用组件中与目标部署节点对应的应用组件,第二应用组件为多个应用组件中与父节点对应的应用组件。
303、目标部署节点根据第一部署指令确定多个应用组件中与目标部署节点的兄弟节点对应的第三应用组件,向兄弟节点发送第三部署指令。
其中,第三部署指令用于指示兄弟节点部署第三应用组件。
可选的,所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件包括:
所述目标部署节点解析所述第一部署指令,获得所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
所述目标部署节点根据所述层级关系确定所述目标部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
可选的,所述第一部署指令携带有所述应用的应用标识,所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件包括:
所述目标部署节点向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
所述目标部署节点接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
所述目标部署节点根据所述层级关系确定所述目标部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
304、目标部署节点根据第一部署指令确定多个应用组件中与目标部署节点的子节点对应的第四应用组件,向子节点发送第四部署指令。
其中,第四部署指令用于指示子节点部署第四应用组件。
其中,“目标部署节点根据第一部署指令确定多个应用组件中与目标部署节点的子节点对应的第四应用组件”的方式与上述“目标部署节点根据第一部署指令确定多个应用组件中与目标部署节点的兄弟节点对应的第三应用组件”的方式类似,在此不再赘述。
在图3所描述的方法流程中,在目标部署节点检测到目标部署节点的父节点已部署第二应用组件的情况下,目标部署节点可以不需要等待,直接根据第一部署指令部署第一应用组件,同时,目标部署节点还可以指导该目标部署节点的兄弟节点以及子节点部署应用组件,整个过程减少了对服务器的依赖,部署节点可以自动部署应用组件,从而提高应用组件部署的灵活性。
请参见图4,图4是本发明实施例公开的一种部署节点的结构示意图,其中,该部署节点可以用于执行图2所描述方法中的部分或全部步骤,具体可以参见图2的描述,在此不再赘述。如图4所示,该部署节点400可以包括:
接收单元401,用于接收管理服务器发送的第一部署指令,所述部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署应用;
第一确定单元402,用于根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件;
发送单元403,用于向所述父节点发送第二部署指令,所述第二部署指令用于指示所述父节点部署所述第二应用组件;
部署单元404,用于在所述部署节点检测到所述父节点已部署所述第二应用组件的情况下,根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述部署节点对应的应用组件。
请参见图5,图5是本发明实施例公开的另一种部署节点的结构示意图,其中,该部署节点可以用于执行图2所描述方法中的部分或全部步骤,具体可以参见图2的描述,在此不再赘述。其中,图5所示的部署节点是在图4所示部署节点的基础上进一步优化得到的,图5所示的部署节点与图4所示部署节点相比,图5所示的部署节点除了包括图4所示部署节点的所有单元外,在所述根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件的方面,所述第一确定单元402具体用于:
解析所述第一部署指令,获得所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
可选的,所述亲属节点还包括兄弟节点,图5所示的部署节点还可以包括:
第二确定单元405,用于根据所述第一部署指令确定所述多个应用组件中与所述兄弟节点对应的第三应用组件;
所述发送单元403,还用于在所述部署节点检测到所述父节点已部署所述第二应用组件情况下,向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件。
可选的,图5所示的部署节点还可以包括:
第一更新单元406,用于在所述第一应用组件的运行出现故障的情况下,将所述第一应用组件的部署状态更新为故障状态;
所述部署单元404,还用于重新部署所述第一应用组件;
所述第一更新单元406,还用于在所述部署节点重新部署所述第一应用组件完成后,将所述第一应用组件的部署状态更新为部署完成。
请参见图6,图6是本发明实施例公开的另一种部署节点的结构示意图,其中,该部署节点可以用于执行图2所描述方法中的部分或全部步骤,具体可以参见图2的描述,在此不再赘述。其中,图6所示的部署节点是在图4所示部署节点的基础上进一步优化得到的,图6所示的部署节点与图4所示部署节点相比,图6所示的部署节点除了包括图4所示部署节点的所有单元外,所述第一部署指令携带有所述应用的应用标识,在所述根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件的方面,所述第一确定单元402具体用于:
通过所述发送单元403向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
通过所述接收单元401接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
可选的,所述亲属节点还包括子节点,在所述部署单元404根据所述第一部署指令部署第一应用组件之后,图6所示的部署节点还可以包括:
第三确定单元407,用于根据所述第一部署指令确定所述多个应用组件中与所述子节点对应的第四应用组件;
所述发送单元403,还用于向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
可选的,所述接收单元401,还用于接收所述管理服务器发送的升级指令,所述升级指令指示所述部署节点升级所述第一应用组件;
图6所示的部署节点还可以包括:
第二更新单元408,用于将所述第一应用组件的部署状态更新为未部署;
执行单元409,用于根据所述升级指令对所述第一应用组件执行升级操作;
所述第二更新单元408,还用于将已升级的所述第一应用组件的部署状态更新为部署完成。
在图4~图6所描述的部署节点400中,在应用部署的整个过程中,部署节点减少了对服务器的依赖,部署节点可以自动部署应用组件,从而提高应用组件部署的灵活性。
请参见图7,图7是本发明实施例公开的另一种部署节点的结构示意图,其中,该部署节点可以用于执行图3所描述方法中的部分或全部步骤,具体可以参见图3的描述,在此不再赘述。如图7所示,该部署节点700可以包括:
接收单元701,用于接收管理服务器发送的第一部署指令,所述部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署所述应用;
部署单元702,用于在所述部署节点检测到所述部署节点的父节点已部署第二应用组件的情况下,根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述部署节点对应的应用组件,所述第二应用组件为所述多个应用组件中与所述父节点对应的应用组件;
确定发送单元703,用于根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件;向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件;或,用于根据所述第一部署指令确定所述多个应用组件中与所述部署节点的子节点对应的第四应用组件;向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
可选的,在所述根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件的方面,所述确定发送单元703具体用于:
解析所述第一部署指令,获得所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
可选的,所述第一部署指令携带有所述应用的应用标识,在所述根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件的方面,所述确定发送单元703具体用于:
向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
通过所述接收单元701接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
在图7所描述的部署节点中,在应用部署的整个过程中,部署节点减少了对服务器的依赖,部署节点可以自动部署应用组件,从而提高应用组件部署的灵活性。
需要说明的是,上述图4~图7所描述的单元可以是进程,也可以是线程,此外,上述单元是示意性划分的,某些单元可以是一个,比如:第一确定单元 402,第二确定单元405以及第三确定单元407可以是一个单元,第一更新单元 406以及第二更新单元408可以是一个单元,本发明实施例不做限定。
此外,在一种实现方式下,上述图4~图6所描述的单元中,接收单元401 可以由图8中的接收器802实现,发送单元403可以由图8中的发送器803实现;第一确定单元402、部署单元404、第二确定单元405、第一更新单元406、第三确定单元407、第二更新单元408以及执行单元409可以由图8中的处理器 801实现。
图7所描述的单元中,接收单元701可以由图9中的接收器902实现,部署单元702可以由图9中的处理器901实现,确定发送单元703可以由图9中的发送器903实现。
请参见图8,图8是本发明实施例公开的一种物理机的结构示意图,其中,该物理机800上部署有多个部署节点,可以用于执行图2所公开的应用组件部署方法中的全部或部分步骤,具体描述请参照图2所描述的,在此不再赘述。如图8所示,该物理机800可以包括:至少一个处理器801,例如CPU(Central Processing Unit,中央处理器),至少一个接收器802、至少一个发送器803以及存储器804,其中,所述处理器801、接收器802、发送器803以及存储器804 分别连接通信总线。可选的,接收器802和发送器803可以集成在一起,比如:收发器,该收发器可以为天线、通信接口等中的至少一种。本领域技术人员应当理解,接收器和发送器是用于部署节点间,或者部署节点与存储服务器,以及部署节点与管理服务器间交互信息的,用途不同,具体的形态不同。例如,如果部署节点与该部署节点的父节点部署在同一物理机上,则至少一个发送器 803中可以包括通信接口或者程序接口等用于虚拟机间或者容器间相互通信的接口;如果部署节点与该部署节点的父节点部署在不同的物理机上,则该至少一个发送器803可以包括天线等硬件设备。关于接收器此处不再举例。其中,
存储器804可以是高速RAM存储器,也可以是非易失性的存储器 (non-volatilememory)。本领域技术人员可以理解,图8中示出的物理机800 的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图8所示的更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,处理器801为物理机800的控制中心,可以是中央处理器(CentralProcessing Unit,CPU),处理器801利用各种接口和线路连接整个物理机800的各个部分,通过运行或执行存储在存储器804内的软件程序和/或模块,以及调用存储在存储器804内存储的程序代码,用于执行以下操作:
通过所述接收器802接收管理服务器发送的第一部署指令,所述部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署所述应用;
根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件;
通过所述发送器803向所述父节点发送第二部署指令,所述第二部署指令用于指示所述父节点部署所述第二应用组件;
在所述部署节点检测到所述父节点已部署所述第二应用组件的情况下,根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述部署节点对应的应用组件。
可选的,在所述根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件的方面,所述处理器801具体用于:
解析所述第一部署指令,获得所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
可选的,所述第一部署指令携带有所述应用的应用标识,在所述根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件的方面,所述处理器801 具体用于:
通过所述发送器803向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
通过所述接收器802接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
可选的,所述亲属节点还包括兄弟节点,所述处理器801还用于执行以下步骤:
根据所述第一部署指令确定所述多个应用组件中与所述兄弟节点对应的第三应用组件;
在所述部署节点检测到所述父节点已部署所述第二应用组件情况下,通过所述发送器803向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件。
可选的,所述亲属节点还包括子节点,在根据所述第一部署指令部署第一应用组件之后,所述处理器801还用于执行以下操作:
根据所述第一部署指令确定所述多个应用组件中与所述子节点对应的第四应用组件;
通过所述发送器803向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
作为一种可选的实施方式,所述处理器801还用于执行以下操作:
在所述第一应用组件的运行出现故障的情况下,将所述第一应用组件的部署状态更新为故障状态;
重新部署所述第一应用组件;
在所述部署节点重新部署所述第一应用组件完成后,将所述第一应用组件的部署状态更新为部署完成。
作为另一种可选的实施方式,所述处理器801还用于执行以下操作:
通过所述接收器802接收所述管理服务器发送的升级指令,所述升级指令指示所述部署节点升级所述第一应用组件;
将所述第一应用组件的部署状态更新为未部署;
根据所述升级指令对所述第一应用组件执行升级操作;
将已升级的所述第一应用组件的部署状态更新为部署完成。
在图8所描述的物理机800中,部署节点接收管理服务器发送的第一部署指令之后,部署节点可以指导该部署节点的父节点部署应用组件,之后,部署节点也可以部署应用组件,部署节点还可以指导该部署节点的兄弟节点以及子节点部署应用组件,整个过程减少了对服务器的依赖,部署节点可以自动部署应用组件,从而提高应用组件部署的灵活性。
请参见图9,图9是本发明实施例公开的另一种物理机的结构示意图,其中,该物理机900上部署有多个部署节点,可以用于执行图3所公开的应用组件部署方法中的全部或部分步骤,具体描述请参照图3所描述的,在此不再赘述。如图9所示,该物理机900可以包括:至少一个处理器901,例如CPU(Central Processing Unit,中央处理器),至少一个接收器902、至少一个发送器903以及存储器904,其中,所述处理器901、接收器902、发送器903以及存储器904 分别连接通信总线。可选的,接收器902和发送器903可以集成在一起,比如:收发器,该收发器可以为天线、通信接口等中的至少一种。本领域技术人员应当理解,接收器和发送器是用于部署节点间,或者部署节点与存储服务器,以及部署节点与管理服务器间交互信息的,用途不同,具体的形态不同。例如,如果部署节点与该部署节点的父节点部署在同一物理机上,则至少一个发送器 903中可以包括通信接口或者程序接口等用于虚拟机间或者容器间相互通信的接口;如果部署节点与该部署节点的父节点部署在不同的物理机上,则该至少一个发送器903可以包括天线等硬件设备。关于接收器此处不再举例。
存储器904可以是高速RAM存储器,也可以是非易失性的存储器 (non-volatilememory)。本领域技术人员可以理解,图9中示出的物理机900 的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图9所示的更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,处理器901为物理机900的控制中心,可以是中央处理器(CentralProcessing Unit,CPU),处理器901利用各种接口和线路连接整个物理机900的各个部分,通过运行或执行存储在存储器904内的软件程序和/或模块,以及调用存储在存储器904内存储的程序代码,用于执行以下操作:
通过所述接收器902接收管理服务器发送的第一部署指令,所述部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署所述应用;
在所述部署节点检测到所述部署节点的父节点已部署第二应用组件的情况下,根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述部署节点对应的应用组件,所述第二应用组件为所述多个应用组件中与所述父节点对应的应用组件;
根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件;通过所述发送器903向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件;或,
根据所述第一部署指令确定所述多个应用组件中与所述部署节点的子节点对应的第四应用组件;通过所述发送器903向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
可选的,在所述901根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件的方面,所述处理器具体用于:
解析所述第一部署指令,获得所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
可选的,所述第一部署指令携带有所述应用的应用标识,在所述根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件的方面,所述处理器901具体用于:
通过所述发送器903向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
通过所述接收器902接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
在图9所描述的物理机900中,在部署节点检测到部署节点的父节点已部署第二应用组件的情况下,部署节点可以不需要等待,直接根据第一部署指令部署第一应用组件,同时,部署节点还可以指导该部署节点的兄弟节点以及子节点部署应用组件,整个过程减少了对服务器的依赖,部署节点可以自动部署应用组件,从而提高应用组件部署的灵活性。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (31)
1.一种应用组件部署方法,其特征在于,所述方法用于在多个部署节点上部署应用的多个应用组件,所述方法包括:
目标部署节点接收管理服务器发送的第一部署指令,所述目标部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署所述应用;
所述目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件;
所述目标部署节点向所述父节点发送第二部署指令,所述第二部署指令用于指示所述父节点部署所述第二应用组件;
在所述目标部署节点检测到所述父节点已部署所述第二应用组件的情况下,所述目标部署节点根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述目标部署节点对应的应用组件。
2.根据权利要求1所述的方法,其特征在于,所述目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件包括:
所述目标部署节点解析所述第一部署指令,获得所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
所述目标部署节点根据所述层级关系确定所述目标部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
3.根据权利要求1所述的方法,其特征在于,所述第一部署指令携带有所述应用的应用标识,所述目标部署节点根据所述第一部署指令确定所述目标部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件包括:
所述目标部署节点向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
所述目标部署节点接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
所述目标部署节点根据所述层级关系确定所述目标部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述亲属节点还包括兄弟节点,所述方法还包括:
所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述兄弟节点对应的第三应用组件;
在所述目标部署节点检测到所述父节点已部署所述第二应用组件的情况下,所述目标部署节点向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件。
5.根据权利要求1~3任一项所述的方法,其特征在于,所述亲属节点还包括子节点,在所述目标部署节点根据所述第一部署指令部署第一应用组件之后,所述方法还包括:
所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述子节点对应的第四应用组件;
所述目标部署节点向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
6.根据权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
在所述第一应用组件的运行出现故障的情况下,所述目标部署节点将所述第一应用组件的部署状态更新为故障状态;
所述目标部署节点重新部署所述第一应用组件;
在所述目标部署节点重新部署所述第一应用组件完成后,所述目标部署节点将所述第一应用组件的部署状态更新为部署完成。
7.根据权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
所述目标部署节点接收所述管理服务器发送的升级指令,所述升级指令指示所述目标部署节点升级所述第一应用组件;
所述目标部署节点将所述第一应用组件的部署状态更新为未部署;
所述目标部署节点根据所述升级指令对所述第一应用组件执行升级操作;
所述目标部署节点将已升级的所述第一应用组件的部署状态更新为部署完成。
8.一种应用组件部署方法,其特征在于,所述方法用于在多个部署节点上部署应用的多个应用组件,所述方法包括:
目标部署节点接收管理服务器发送的第一部署指令,所述目标部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署所述应用;
在所述目标部署节点检测到所述目标部署节点的父节点已部署第二应用组件的情况下,所述目标部署节点根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述目标部署节点对应的应用组件,所述第二应用组件为所述多个应用组件中与所述父节点对应的应用组件;
所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件;所述目标部署节点向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件;或,
所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的子节点对应的第四应用组件;所述目标部署节点向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
9.根据权利要求8所述的方法,其特征在于,所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件包括:
所述目标部署节点解析所述第一部署指令,获得所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
所述目标部署节点根据所述层级关系确定所述目标部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
10.根据权利要求8所述的方法,其特征在于,所述第一部署指令携带有所述应用的应用标识,所述目标部署节点根据所述第一部署指令确定所述多个应用组件中与所述目标部署节点的兄弟节点对应的第三应用组件包括:
所述目标部署节点向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
所述目标部署节点接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述目标部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
所述目标部署节点根据所述层级关系确定所述目标部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
11.一种部署节点,其特征在于,包括:
接收单元,用于接收管理服务器发送的第一部署指令,所述部署节点为多个部署节点中的一个,所述第一部署指令用于指示部署应用;
第一确定单元,用于根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及应用组件中与所述父节点对应的第二应用组件;
发送单元,用于向所述父节点发送第二部署指令,所述第二部署指令用于指示所述父节点部署所述第二应用组件;
部署单元,用于在所述部署节点检测到所述父节点已部署所述第二应用组件的情况下,根据所述第一部署指令部署第一应用组件,所述第一应用组件为多个应用组件中与所述部署节点对应的应用组件。
12.根据权利要求11所述的部署节点,其特征在于,在所述根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件的方面,所述第一确定单元具体用于:
解析所述第一部署指令,获得所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
13.根据权利要求11所述的部署节点,其特征在于,所述第一部署指令携带有所述应用的应用标识,在所述根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件的方面,所述第一确定单元具体用于:
通过所述发送单元向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
通过所述接收单元接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
14.根据权利要求11~13任一项所述的部署节点,其特征在于,所述亲属节点还包括兄弟节点,所述部署节点还包括:
第二确定单元,用于根据所述第一部署指令确定所述多个应用组件中与所述兄弟节点对应的第三应用组件;
所述发送单元,还用于在所述部署节点检测到所述父节点已部署所述第二应用组件的情况下,向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件。
15.根据权利要求11~13任一项所述的部署节点,其特征在于,所述亲属节点还包括子节点,在所述部署单元根据所述第一部署指令部署第一应用组件之后,所述部署节点还包括:
第三确定单元,用于根据所述第一部署指令确定所述多个应用组件中与所述子节点对应的第四应用组件;
所述发送单元,还用于向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
16.根据权利要求11~13任一项所述的部署节点,其特征在于,所述部署节点还包括:
第一更新单元,用于在所述第一应用组件的运行出现故障的情况下,将所述第一应用组件的部署状态更新为故障状态;
所述部署单元,还用于重新部署所述第一应用组件;
所述第一更新单元,还用于在所述部署节点重新部署所述第一应用组件完成后,将所述第一应用组件的部署状态更新为部署完成。
17.根据权利要求11~13任一项所述的部署节点,其特征在于,所述接收单元,还用于接收所述管理服务器发送的升级指令,所述升级指令指示所述部署节点升级所述第一应用组件;
所述部署节点还包括:
第二更新单元,用于将所述第一应用组件的部署状态更新为未部署;
执行单元,用于根据所述升级指令对所述第一应用组件执行升级操作;
所述第二更新单元,还用于将已升级的所述第一应用组件的部署状态更新为部署完成。
18.一种部署节点,其特征在于,包括:
接收单元,用于接收管理服务器发送的第一部署指令,所述部署节点为多个部署节点中的一个,所述第一部署指令用于指示部署应用;
部署单元,用于在所述部署节点检测到所述部署节点的父节点已部署第二应用组件的情况下,根据所述第一部署指令部署第一应用组件,所述第一应用组件为多个应用组件中与所述部署节点对应的应用组件,所述第二应用组件为所述多个应用组件中与所述父节点对应的应用组件;
确定发送单元,用于根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件;向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件;或,用于根据所述第一部署指令确定所述多个应用组件中与所述部署节点的子节点对应的第四应用组件;向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
19.根据权利要求18所述的部署节点,其特征在于,在所述根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件的方面,所述确定发送单元具体用于:
解析所述第一部署指令,获得所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
20.根据权利要求18所述的部署节点,其特征在于,所述第一部署指令携带有所述应用的应用标识,在所述根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件的方面,所述确定发送单元具体用于:
向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
通过所述接收单元接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
21.一种物理机,所述物理机上部署有多个部署节点,所述物理机包括:处理器、接收器、发送器以及存储器,其中,所述处理器、接收器、发送器以及存储器分别连接通信总线,所述存储器中存储有程序代码,且所述处理器用于调用所述存储器中存储的程序代码,以执行以下步骤:
通过所述接收器接收管理服务器发送的第一部署指令,所述部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署应用;
根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及多个应用组件中与所述父节点对应的第二应用组件;
通过所述发送器向所述父节点发送第二部署指令,所述第二部署指令用于指示所述父节点部署所述第二应用组件;
在所述部署节点检测到所述父节点已部署所述第二应用组件的情况下,根据所述第一部署指令部署第一应用组件,所述第一应用组件为所述多个应用组件中与所述部署节点对应的应用组件。
22.根据权利要求21所述的物理机,其特征在于,在所述根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件的方面,所述处理器具体用于:
解析所述第一部署指令,获得所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
23.根据权利要求21所述的物理机,其特征在于,所述第一部署指令携带有所述应用的应用标识,在所述根据所述第一部署指令确定所述部署节点的亲属节点,所述亲属节点包括父节点,以及所述多个应用组件中与所述父节点对应的第二应用组件的方面,所述处理器具体用于:
通过所述发送器向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
通过所述接收器接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的父节点,以及根据所述对应关系确定所述多个应用组件中与所述父节点对应的第二应用组件。
24.根据权利要求21~23任一项所述的物理机,其特征在于,所述亲属节点还包括兄弟节点,所述处理器还用于执行以下步骤:
根据所述第一部署指令确定所述多个应用组件中与所述兄弟节点对应的第三应用组件;
在所述部署节点检测到所述父节点已部署所述第二应用组件情况下,通过所述发送器向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件。
25.根据权利要求21~23任一项所述的物理机,其特征在于,所述亲属节点还包括子节点,在根据所述第一部署指令部署第一应用组件之后,所述处理器还用于执行以下步骤:
根据所述第一部署指令确定所述多个应用组件中与所述子节点对应的第四应用组件;
通过所述发送器向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
26.根据权利要求21~23任一项所述的物理机,其特征在于,所述处理器还用于执行以下步骤:
在所述第一应用组件的运行出现故障的情况下,将所述第一应用组件的部署状态更新为故障状态;
重新部署所述第一应用组件;
在所述部署节点重新部署所述第一应用组件完成后,将所述第一应用组件的部署状态更新为部署完成。
27.根据权利要求21~23任一项所述的物理机,其特征在于,所述处理器还用于执行以下步骤:
通过所述接收器接收所述管理服务器发送的升级指令,所述升级指令指示所述部署节点升级所述第一应用组件;
将所述第一应用组件的部署状态更新为未部署;
根据所述升级指令对所述第一应用组件执行升级操作;
将已升级的所述第一应用组件的部署状态更新为部署完成。
28.一种物理机,所述物理机上部署有多个部署节点,包括:处理器、接收器、发送器以及存储器,其中,所述处理器、接收器、发送器以及存储器分别连接通信总线,所述存储器中存储有程序代码,且所述处理器用于调用所述存储器中存储的程序代码,以执行以下步骤:
通过所述接收器接收管理服务器发送的第一部署指令,所述部署节点为所述多个部署节点中的一个,所述第一部署指令用于指示部署应用;
在所述部署节点检测到所述部署节点的父节点已部署第二应用组件的情况下,根据所述第一部署指令部署第一应用组件,所述第一应用组件为多个应用组件中与所述部署节点对应的应用组件,所述第二应用组件为所述多个应用组件中与所述父节点对应的应用组件;
根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件;通过所述发送器向所述兄弟节点发送第三部署指令,所述第三部署指令用于指示所述兄弟节点部署所述第三应用组件;或,
根据所述第一部署指令确定所述多个应用组件中与所述部署节点的子节点对应的第四应用组件;通过所述发送器向所述子节点发送第四部署指令,所述第四部署指令用于指示所述子节点部署所述第四应用组件。
29.根据权利要求28所述的物理机,其特征在于,在所述根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件的方面,所述处理器具体用于:
解析所述第一部署指令,获得所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
30.根据权利要求28所述的物理机,其特征在于,所述第一部署指令携带有所述应用的应用标识,在所述根据所述第一部署指令确定所述多个应用组件中与所述部署节点的兄弟节点对应的第三应用组件的方面,所述处理器具体用于:
通过所述发送器向存储服务器发送携带有所述应用标识的部署关系获取请求,所述部署关系获取请求用于请求获取所述应用的部署关系;
通过所述接收器接收所述存储服务器响应所述部署关系获取请求发送的所述应用的部署关系,所述应用的部署关系包括所述部署节点与其他部署节点间的层级关系,以及所述应用的应用组件与所述层级关系中包括的部署节点间的对应关系;
根据所述层级关系确定所述部署节点的兄弟节点,以及根据所述对应关系确定所述多个应用组件中与所述兄弟节点对应的第三应用组件。
31.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质存储有计算机程序,所述计算机程序被硬件执行时能够实现权利要求1至10中任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610700065.6A CN107769949B (zh) | 2016-08-19 | 2016-08-19 | 一种应用组件部署方法及部署节点 |
PCT/CN2017/078583 WO2018032770A1 (zh) | 2016-08-19 | 2017-03-29 | 一种应用组件部署方法及部署节点 |
US16/278,556 US10684850B2 (en) | 2016-08-19 | 2019-02-18 | Application component deployment method and deployment node |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610700065.6A CN107769949B (zh) | 2016-08-19 | 2016-08-19 | 一种应用组件部署方法及部署节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107769949A CN107769949A (zh) | 2018-03-06 |
CN107769949B true CN107769949B (zh) | 2021-02-12 |
Family
ID=61197313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610700065.6A Active CN107769949B (zh) | 2016-08-19 | 2016-08-19 | 一种应用组件部署方法及部署节点 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10684850B2 (zh) |
CN (1) | CN107769949B (zh) |
WO (1) | WO2018032770A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107769949B (zh) * | 2016-08-19 | 2021-02-12 | 华为技术有限公司 | 一种应用组件部署方法及部署节点 |
US11086700B2 (en) * | 2018-08-24 | 2021-08-10 | Vmware, Inc. | Template driven approach to deploy a multi-segmented application in an SDDC |
CN110896404B (zh) * | 2018-09-12 | 2021-09-14 | 华为技术有限公司 | 数据处理的方法、装置和计算节点 |
CN109302483B (zh) * | 2018-10-17 | 2021-02-02 | 网宿科技股份有限公司 | 一种应用程序的管理方法及系统 |
US11019178B1 (en) * | 2019-01-07 | 2021-05-25 | West Corporation | Deployment router based on channel traffic |
CN110417870B (zh) * | 2019-07-05 | 2022-05-13 | 北京达佳互联信息技术有限公司 | 配置文件管理方法、装置、设备和存储介质 |
CN112242920B (zh) * | 2019-07-19 | 2022-09-02 | 杭州海康威视数字技术股份有限公司 | 一种云平台部署方法、装置及节点 |
CN110413286B (zh) * | 2019-07-31 | 2023-08-22 | 创新先进技术有限公司 | 一种应用部署方法、装置及设备 |
WO2021034730A1 (en) * | 2019-08-16 | 2021-02-25 | The Gap, Inc. | Systems and methods for deploying enterprise software updates |
CN113031971B (zh) * | 2019-12-25 | 2022-04-29 | 北京世纪好未来教育科技有限公司 | 软件部署方法、系统及计算机存储介质 |
CN111897538B (zh) * | 2020-07-13 | 2022-06-21 | 浪潮电子信息产业股份有限公司 | 一种基于cpu和操作系统的容器平台部署方法及系统 |
US11070423B1 (en) * | 2020-10-14 | 2021-07-20 | Cisco Technology, Inc. | Intent deployment in a network environment |
US11556332B2 (en) * | 2021-02-23 | 2023-01-17 | International Business Machines Corporation | Application updating in a computing environment using a function deployment component |
CN114374688A (zh) * | 2022-01-12 | 2022-04-19 | 南方电网大数据服务有限公司 | 应用程序部署方法、装置、计算机设备和存储介质 |
CN115562691A (zh) * | 2022-12-05 | 2023-01-03 | 中科南京信息高铁研究院 | 一种基于容器的云应用发布方法及系统 |
US12101244B1 (en) | 2023-06-12 | 2024-09-24 | VMware LLC | Layer 7 network security for container workloads |
CN116719647B (zh) * | 2023-08-09 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 超算集群管理方法、装置、编排管理设备及超算集群 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209162A (zh) * | 2012-01-16 | 2013-07-17 | 中国科学院声学研究所 | 一种Web类业务部署方法及装置 |
CN103475521A (zh) * | 2013-09-10 | 2013-12-25 | 杭州华为数字技术有限公司 | 一种部署服务器的方法和装置 |
CN104765620A (zh) * | 2014-01-02 | 2015-07-08 | 国际商业机器公司 | 一种程序模块部署的方法和系统 |
CN105635216A (zh) * | 2014-11-03 | 2016-06-01 | 华为软件技术有限公司 | 分布式应用的升级方法、设备和分布式系统 |
CN105740003A (zh) * | 2014-12-11 | 2016-07-06 | 中兴通讯股份有限公司 | 一种恢复、升级虚拟机的方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681391B1 (en) * | 2000-06-21 | 2004-01-20 | Microsoft Corporation | Method and system for installing software on a computer system |
US8209679B2 (en) * | 2006-01-12 | 2012-06-26 | Oracle International Corporation | Computer implemented method and system for processing a client request for an application program |
US9250972B2 (en) * | 2006-06-19 | 2016-02-02 | International Business Machines Corporation | Orchestrated peer-to-peer server provisioning |
US7987460B2 (en) * | 2006-10-10 | 2011-07-26 | Intel Corporation | Automation tool for application installations |
CN102006333B (zh) * | 2007-06-11 | 2012-12-26 | 华为技术有限公司 | 安装软件组件的方法、系统及装置 |
US8396880B2 (en) * | 2009-11-30 | 2013-03-12 | Red Hat, Inc. | Systems and methods for generating an optimized output range for a data distribution in a hierarchical database |
US8589344B2 (en) * | 2009-11-30 | 2013-11-19 | Red Hat, Inc. | Systems and methods for generating iterated distributions of data in a hierarchical database |
US8434080B2 (en) * | 2011-12-22 | 2013-04-30 | Software Ag Usa, Inc. | Distributed cloud application deployment systems and/or associated methods |
US9967311B2 (en) * | 2014-01-28 | 2018-05-08 | Open Text Sa Ulc | System and method for integration of browser based applications in a managed application environment |
WO2016067370A1 (ja) * | 2014-10-28 | 2016-05-06 | 株式会社Murakumo | 情報処理装置、方法およびプログラム |
CN105429791B (zh) * | 2015-11-03 | 2016-12-28 | 国网技术学院 | 一种分布式服务状态检测器及方法 |
CN107769949B (zh) * | 2016-08-19 | 2021-02-12 | 华为技术有限公司 | 一种应用组件部署方法及部署节点 |
-
2016
- 2016-08-19 CN CN201610700065.6A patent/CN107769949B/zh active Active
-
2017
- 2017-03-29 WO PCT/CN2017/078583 patent/WO2018032770A1/zh active Application Filing
-
2019
- 2019-02-18 US US16/278,556 patent/US10684850B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209162A (zh) * | 2012-01-16 | 2013-07-17 | 中国科学院声学研究所 | 一种Web类业务部署方法及装置 |
CN103475521A (zh) * | 2013-09-10 | 2013-12-25 | 杭州华为数字技术有限公司 | 一种部署服务器的方法和装置 |
CN104765620A (zh) * | 2014-01-02 | 2015-07-08 | 国际商业机器公司 | 一种程序模块部署的方法和系统 |
CN105635216A (zh) * | 2014-11-03 | 2016-06-01 | 华为软件技术有限公司 | 分布式应用的升级方法、设备和分布式系统 |
CN105740003A (zh) * | 2014-12-11 | 2016-07-06 | 中兴通讯股份有限公司 | 一种恢复、升级虚拟机的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10684850B2 (en) | 2020-06-16 |
US20190213004A1 (en) | 2019-07-11 |
CN107769949A (zh) | 2018-03-06 |
WO2018032770A1 (zh) | 2018-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107769949B (zh) | 一种应用组件部署方法及部署节点 | |
EP2696532A2 (en) | Method, server and system for starting application | |
CN108572845B (zh) | 分布式微服务集群的升级方法及相关系统 | |
US20240111549A1 (en) | Method and apparatus for constructing android running environment | |
CN112470119B (zh) | 一种分布式系统中的业务升级方法、装置及分布式系统 | |
US20130152069A1 (en) | Method, apparatus and system for initiating terminal operation | |
CN106953746A (zh) | 集群节点升级系统及方法 | |
CN108809683B (zh) | 部署云应用系统的方法及装置 | |
CN111143034B (zh) | 一种控制网络数据转发平面的方法、装置及系统 | |
CN111143023B (zh) | 一种资源变更的方法及装置、设备、存储介质 | |
US9367299B2 (en) | Preventing application downgrade in an application store | |
CN112860282A (zh) | 集群插件的升级方法、装置和服务器 | |
CN107534577B (zh) | 一种网络业务实例化的方法及设备 | |
CN112783570A (zh) | 基于服务网格的应用迁移方法、系统和介质 | |
CN114968477A (zh) | 容器热迁移方法及容器热迁移装置 | |
CN107463390B (zh) | 一种软件升级方法及升级服务器 | |
CN113419813B (zh) | 一种基于容器平台部署裸机管理服务的方法及装置 | |
CN112015515B (zh) | 一种虚拟网络功能的实例化方法及装置 | |
CN112214413A (zh) | 一种应用程序的测试方法、装置、设备及存储介质 | |
CN110688130A (zh) | 物理机部署方法、装置、可读存储介质及电子设备 | |
CN109032674B (zh) | 一种多进程管理方法、系统及网络设备 | |
CN113342456A (zh) | 一种连接方法、装置、设备和存储介质 | |
CN106803786B (zh) | 一种基于网络功能虚拟化的网元更新方法、系统 | |
CN111090458B (zh) | 灰度发布系统和基于灰度发布系统的应用发布方法 | |
CN115484231B (zh) | 一种Pod IP分配方法及相关装置 |
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 |