集群服务器应用部署系统转让专利
申请号 : CN202111488623.4
文献号 : CN113900670B
文献日 : 2022-03-18
发明人 : 杨帆 , 吴军勇
申请人 : 深圳市名竹科技有限公司
摘要 :
权利要求 :
1.一种集群服务器应用部署系统,其特征在于,所述系统包括:管理组件、配置中心、文件仓库及多个节点组件;
所述管理组件,用于接收前端请求,将所述前端请求转化为计算机脚本指令,将所述计算机脚本指令发送至所述配置中心;其中,存在节点组件与所述计算机脚本指令相对应;
所述配置中心,用于接收所述计算机脚本指令并存储,向所述节点组件提供监听服务;
所述文件仓库用于存储自定义的静态脚本文件,所述文件仓库是基于所述前端请求,通过添加脚本、文件或者镜像构建得到的;
所述节点组件,用于监听所述配置中心,若监听到对应的计算机脚本指令,则从所述配置中心获取对应的计算机脚本指令并执行,还用于在执行对应的计算机脚本指令时,从所述文件仓库中获取与执行过程匹配的静态脚本文件。
2.根据权利要求1所述的系统,其特征在于,所述节点组件,还用于在监听所述配置中心之前,向所述配置中心注册连接信息,向所述配置中心订阅主键;其中,每一主键唯一对应一个节点组件。
3.根据权利要求2所述的系统,其特征在于,所述配置中心中主键与主键值是唯一对应存储的,每一主键对应的主键值用于存放每一主键对应的计算机脚本指令;所述节点组件,用于监听所述配置中心中对应的主键值是否发生改变,若监听到对应的主键值发生改变,则从所述配置中心获取对应的计算机脚本指令。
4.根据权利要求3所述的系统,其特征在于,所述计算机脚本指令为多播指令,所述多播指令对应多个主键。
5.根据权利要求4所述的系统,其特征在于,所述管理组件,还用于接收所述多个主键中每一主键对应的节点组件返回的多播指令执行结果。
6.根据权利要求1所述的系统,其特征在于,所述管理组件,还用于基于所述前端请求,生成环境部署指令,将所述环境部署指令发送至所述配置中心;
所述配置中心,还用于在检测到下发指令后,将所述环境部署指令发送至对应的节点组件;
所述节点组件,还用于根据所述环境部署指令,对本地执行计算机脚本指令的运行环境进行部署。
7.根据权利要求6所述的系统,其特征在于,所述环境部署指令包括环境初始化指令、环境测试指令及环境清除指令;
所述环境初始化指令,用于指示所述节点组件在执行计算机脚本指令之前,判断所述节点组件本地是否预装匹配的运行环境;
所述环境测试指令,用于指示所述节点组件在执行计算机脚本指令之前,判断所述节点组件本地已预装的运行环境是否异常;
所述环境清除指令,用于在所述节点组件本地已预装的运行环境异常时,对本地已预装的运行环境进行清除。
8.根据权利要求1所述的系统,其特征在于,所述计算机脚本指令为复杂指令;所述节点组件,用于基于获取到的静态脚本文件与所述复杂指令整合为多步骤指令,基于整合后所形成的步骤顺序执行所述多步骤指令。
9.根据权利要求8所述的系统,其特征在于,所述节点组件,还用于将多步骤指令中每一步骤的执行结果返回至所述管理组件。
说明书 :
集群服务器应用部署系统
技术领域
背景技术
系统可以对大量服务器进行快速、准确的服务部署,同时展示部署流程以及执行结果这些
粗粒信息。
相互影响,能区分计算资源。集群化服务管理工具的结构包括Master组件和节点Node组件,
在进行应用部署时,是由Master组件直接将指令发送给Node组件,以完成应用部署。当有大
量应用部署任务时,可能会超过Master组件的部署能力,Master组件通常只能对其中部分
应用部署任务进行部署,且在获取到这些应用部署任务的部署结果后,才能进行继续进行
部署。由此,可能会造成等候现象,从而耗费Master组件管理时间。另外,由于集群化服务管
理工具的部署原理,仅能完成容器化的部署,并不支持裸机部署服务。
发明内容
应的主键值是否发生改变,若监听到对应的主键值发生改变,则从配置中心获取对应的计
算机脚本指令。
令。
心;其中,存在节点组件与计算机脚本指令相对应;配置中心,用于接收计算机脚本指令并
存储,向节点组件提供监听服务;节点组件,用于监听配置中心,若监听到对应的计算机脚
本指令,则从配置中心获取对应的计算机脚本指令并执行。通过将用于部署的计算机脚本
指令存储在配置中心中,由节点组件自发的监听执行,能够在有大量部署任务时,管理节点
不用耗费大量时间和空间对节点执行过程的管理,并且本系统能够根据用户自定义要求选
择对节点组件进行容器化部署还是裸机部署。
附图说明
具体实施方式
用于限定本申请。
系统可以对大量服务器进行快速、准确的服务部署,同时展示部署流程以及执行结果这些
粗粒信息。
了应用部署,规划,更新,维护的一种机制。部署容器方式,每个容器之间相互隔离,每个容
器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。集群化服务管理工具
的结构包括Master组件和节点Node组件,在进行应用部署时,是由Master组件直接将指令
发送给Node组件,以完成应用部署。当有大量应用部署任务时,可能会超过Master组件的部
署能力,Master组件通常只能对其中部分应用部署任务进行部署,且在获取到这些应用部
署任务的部署结果后,才能进行继续进行部署。由此,可能会造成等候现象,从而耗费
Master组件管理时间。另外,由于集群化服务管理工具的部署原理,仅能完成容器化的部
署,并不支持裸机部署服务。
有管理端工具,通过API接口方式对外提供应用部署服务,将API接口获取到的前端请求转
化为计算机脚本指令。另外,作为集群中唯一的资源操作入口,管理组件同时还可以提供认
证、授权、访问控制、API注册等服务。
ZooKeeper是一种分布式的,开放源码的分布式应用程序协调服务,主要作用是配置,能够
提供配置维护、域名服务、分布式同步、组服务等服务;(2)etcd是一个高度一致的分布式键
值存储,它提供一种可靠的方式来存储需要由分布式系统或机器集群访问的数据。
中,有若干个节点组件通过管理组件进行应用部署。
设备获取集群中每一节点组件的工作显示情况,在建立前端请求时客户可以选择需要被部
署的节点组件,然后在管理组件获取的前端请求中就会包括被指定的节点组件的唯一标
识。以配置中心采用key‑value存储结构存储计算机脚本指令为例,在构建配置中心的数据
存储结构之前,每一节点组件均与配置中心约定一个key值,当配置中心接收到管理组件发
送计算机脚本指令时,根据计算机脚本指令中包括的key值,将计算机脚本指令存储在所述
key值对应的value中。此时,所述key值对应的节点组件就会监听到这个key值对应的value
发生了改变,然后获取value中存储的计算机脚本指令并执行。
在监听到计算机脚本指令后并执行。
心;其中,存在节点组件与计算机脚本指令相对应;配置中心,用于接收计算机脚本指令并
存储,向节点组件提供监听服务;节点组件,用于监听配置中心,若监听到对应的计算机脚
本指令,则从配置中心获取对应的计算机脚本指令并执行。通过将用于部署的计算机脚本
指令存储在配置中心中,由节点组件自发的监听执行,能够在有大量部署任务时,管理节点
不用耗费大量时间和空间对节点执行过程的管理,并且本系统能够根据用户自定义要求选
择对节点组件进行容器化部署还是裸机部署。
存储结构获取唯一对应的主键,主键和节点组件之间是一一对应的。节点组件利用唯一对
应的主键进行,对配置中心进行监听。
组件。通过配置中心提供的监听服务,使得节点组件在执行应用部署任务时,能够在完成一
个应用部署后,主动获取下一个应用部署任务,节省管理组件等待节点组件返回执行结果
的时间和节点组件等待管理组件发送应用部署任务的时间。
配置中心中对应的主键值是否发生改变,若监听到对应的主键值发生改变,则从所述配置
中心获取对应的计算机脚本指令。
监听配置中心中主键对应的主键值,当主键值发生变化时,代表有新的应用部署任务,节点
组件主动拉取主键值中存储的计算机脚本指令进行执行。
监听所述配置中心中对应的主键值是否发生改变,若监听到对应的主键值发生改变,则从
所述配置中心获取对应的计算机脚本指令。通过配置中心提供的监听服务,使得节点组件
在执行应用部署任务时,能够在完成一个应用部署后,主动获取下一个应用部署任务,节省
管理组件等待节点组件返回执行结果的时间和节点组件等待管理组件发送应用部署任务
的时间。
的环境里运行。每个环境中,该应用运行在若干台机器(虚机/容器)上。部署时,可能分期分
批。这就意味着,可以为同一应用的不同环境配置不同的部署参数,甚至不同的部署方法。
因此,一个应用可能会需要多个节点组件来共同完成,由前端请求转化得到的计算机脚本
指令中,可能包括多个节点组件的主键,故一个应用的部署对应的计算机脚本指令可以存
储在多个主键值中。
指令并执行,执行结束后将执行结果返回给管理组件。
多播指令执行结果。通过多个节点组件完成一次应用部署任务,提高应用部署的效率,并且
将每一节点组件的执行结果都返回到管理组件,在应用部署出现错误时,便于快速定位出
现错误的节点组件,对部分节点组件进行调试。通过将用于部署的计算机脚本指令存储在
配置中心中,由节点组件自发的监听执行,能够在有大量部署任务时,管理节点不用耗费大
量时间和空间对节点执行过程的管理,并且本系统能够根据用户自定义要求选择对节点组
件进行容器化部署还是裸机部署。
指令发送至配置中心,根据环境部署指令的特殊性,配置中心可以主动通知节点组件获取
并执行环境部署指令;或者节点组件通过监听获取并执行环境部署指令。
源的应用容器引擎,通过docker对节点组件进行容器化部署;若不需要容器化部署,则直接
使用客户端工具中的编译语言组件执行就是那几脚本指令和环境部署指令。
指令后,将所述环境部署指令发送至对应的节点组件;节点组件,还用于根据所述环境部署
指令,对本地执行计算机脚本指令的运行环境进行部署。通过环境部署指令使得用户可以
选择需要的节点组件初始环境以及需要部署的服务,达到应用部署容器化或非容器化的效
果,提高集群服务器应用部署系统的兼容性。
件上必须安装有能够运行服务程序的环境。通过环境初始化指令检测节点组件本地是否以
安装执行计算机脚本指令所需的运行环境,还可以通过环境初始化指令选择容器化部署还
是非容器化部署。通过环境测试指令检测节点组件本地已安装的运行环境是否能够支持计
算机脚本指令正常运行,包括环境不匹配和环境故障两种情况,环境不匹配指节点组件中
已安装的运行环境可能是其它应用程序的运行环境,环境故障指节点组件中已安装的运行
环境可能不完整,这两种情况都属于预安装的运行环境异常。通过环境清除指令将节点组
件上异常的运行环境清除掉。需要说明的是,环境初始化指令、环境测试指令及环境清除指
令之间存在执行时序时,环境测试指令检测的运行环境异常即为环境故障。
前,判断节点组件本地是否预装匹配的运行环境;环境测试指令,用于指示节点组件在执行
计算机脚本指令之前,判断节点组件本地已预装的运行环境是否异常;环境清除指令,用于
在节点组件本地已预装的运行环境异常时,对本地已预装的运行环境进行清除。通过环境
部署指令使得用户可以选择需要的节点组件初始环境以及需要部署的服务,达到应用部署
容器化或非容器化的效果,提高集群服务器应用部署系统的兼容性。通过将用于部署的计
算机脚本指令存储在配置中心中,由节点组件自发的监听执行,能够在有大量部署任务时,
管理节点不用耗费大量时间和空间对节点执行过程的管理,并且本系统能够根据用户自定
义要求选择对节点组件进行容器化部署还是裸机部署。
文件仓库中包括文件、脚本、程序、链码等资源,这些资源每一节点组件都可以获取执行,并
不会随着节点组件属性或环境的改变而改变,例如二进制转换文件。节点组件在执行计算
机脚本文件的时候可能会需要用到静态文件中的资源。
点组件,还用于在执行对应的计算机脚本指令时,从文本仓库中获取与执行过程匹配的静
态脚本文件。构建文件仓库作为节点组件执行计算机脚本指令时的资源仓库,避免计算机
脚本指令规模太大和每一节点组件都需先存储静态文件中的资源的麻烦,能够减少内存消
耗,并且可以根据客户需求存放自定义的脚本文件,在集群构建时不必考虑不同客户的静
态文件需求。
步骤指令。
在获取到复杂指令后,根据复杂指令中的需求,从文件仓库中拉取所需的静态脚本文件,先
将静态脚本文件与复杂指令进行整合,整合为一个整体的分为多个步骤的多步骤指令,再
执行多步骤指令。
行多步骤指令。通过文件仓库的形式,能够直接拉取所需的静态脚本文件配合执行计算机
脚本文件,避免存储静态文件中的资源的麻烦,并且可以根据客户需求存放自定义的脚本
文件,在集群构建时不必考虑不同客户的静态文件需求。
义的脚本文件,在集群构建时不必考虑不同客户的静态文件需求。另外,将多步骤指令的每
一步骤的执行结果都返回到管理组件,当指令执行出现异常时,客户能够快速定位异常步
骤所在,阶段性的调试指令。
行阐述时,仅基于方便阐述的思路,按照相应顺序对不同实施例进行阐述,如按照数据流流
向的顺序,而并非是对不同实施例之间的执行顺序进行限定,也不是对实施例内部步骤的
执行顺序进行限定。相应地,在实际实施过程中,若需要实施本发明提供的多个实施例,则
不一定需要按照本发明阐述实施例时所提供的执行顺序,而是可以根据需求安排不同实施
例之间的执行顺序。
盾,都应当认为是本说明书记载的范围。
说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护
范围。因此,本申请专利的保护范围应以所附权利要求为准。