CN109450913A - 一种基于策略的多节点注册调度方法 - Google Patents
一种基于策略的多节点注册调度方法 Download PDFInfo
- Publication number
- CN109450913A CN109450913A CN201811425477.9A CN201811425477A CN109450913A CN 109450913 A CN109450913 A CN 109450913A CN 201811425477 A CN201811425477 A CN 201811425477A CN 109450913 A CN109450913 A CN 109450913A
- Authority
- CN
- China
- Prior art keywords
- node
- strategy
- task
- registration
- multinode
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本发明特别涉及一种基于策略的多节点注册调度方法。该基于策略的多节点注册调度方法,采用多节点分担执行负载的方式,由主节点负责调度,从节点执行工作负载;主节点以随机或者按照简单标签策略调度任务到对应从节点执行持续集成任务;在从节点执行完任务后,清理执行环境,为下一次执行工作负载做准备。该基于策略的多节点注册调度方法,利用DevOps的虚拟化技术,云计算基础设施(Docker,Virtual Machine)以及数据中心自动化和配置管理工具,优化了任务调度和数据配置的协调编排,不仅能够及时回收、释放运行时资源,统一存储配置和状态数据,同时还能通过RESTful API查询、管控运行状态和结果反馈。
Description
技术领域
本发明涉及DevOps技术领域,特别涉及一种基于策略的多节点注册调度方法。
背景技术
DevOps(Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。因此,我们可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集,通过DevOps使开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠。
传统的软件组织将开发、IT运营和质量保障设为各自分离的部门。在这种环境下如何采用新的开发方法(例如敏捷软件开发),这是一个重要的课题:按照从前的工作方式,开发和部署不需要IT支持或者QA深入的、跨部门的支持,而却需要极其紧密的多部门协作。然而DevOps考虑的还不止是软件部署。它是一套针对这几个部门间沟通与协作问题的流程和方法。
DevOps的引入能对产品交付、测试、功能开发和维护起到意义深远的影响。在缺乏DevOps能力的组织中,开发与运营之间存在着寻需求差异和信息不对等。例如运营人员要求更好的可靠性和安全性,开发人员则希望基础设施响应更快,而业务用户的需求则是更快地将更多的特性发布给最终用户使用。这种信息鸿沟就是最常出问题的地方。
通常情况下,引入DevOps典型因素包括:
(1)需要使用敏捷或其他软件开发过程与方法;
(2)需要加快产品交付的速率;
(3)应用于虚拟化和云计算基础设施(Docker,Virtual Machine);
(4)采用数据中心自动化技术和配置管理工具;
(5)开发团队与运营团队需要更高的协作型、更高效的关系。
实现DevOps的要素包括自动持续化集成、部署。需要引入相应的工具和策略来提升自动化程度,满足定制化需求。实现可管理的、高效利用资源的持续部署流程。DevOps提供了一种持续集成、部署的操作流程,一般会引入版本库管理、自动化集成工具和相关支撑运行的资源(虚拟机、容器和网络等)。用户通过提交代码到对应版本库,触发提交事件钩子回调;推送数据到对应自动化集成任务;该任务执行定制的持续集成、部署处理过程。
但是在传统的自动化集成过程中,使用主机执行持续构建过程,所有处理负载均由主机负担,很容易造成大量资源被占用,降低执行效率。
基于上述情况,本发明设计了一种基于策略的多节点注册调度方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于策略的多节点注册调度方法。
本发明是通过如下技术方案实现的:
一种基于策略的多节点注册调度方法,其特征在于:采用多节点分担执行负载的方式,由主节点负责调度,从节点执行工作负载;主节点以随机或者按照简单标签策略调度任务到对应从节点执行持续集成任务;在从节点执行完任务后,清理执行环境,为下一次执行工作负载做准备。
通过提供注册服务,采取基于策略的调度服务方式,为主节点分配满足特定语言或定制环境的从节点执行持续集成任务,注册分配任务信息,在任务执行完毕时释放回收,同时提供RESTful API方式查询或操控注册服务。
所述注册服务包括注册存储,策略映射和调度执行代理三部分,所述调度执行代理结合注册存储和策略映射来确定从节点资源,通过所述调度服务为主节点分配满足策略需求的空闲从节点。
所述注册存储负责存储当前自动化集成工具正在调度的从节点数据信息;所述调度服务以从节点数据信息判定从节点处于占用状态还是空闲状态,从而决定如何为新到任务分配工作节点。
所述从节点数据信息中的注册服务数据信息是动态的,随着被占用从节点释放而清理;通过注册服务数据信息可以获取当前从节点占用情况,所述调度服务依据注册服务数据信息为主节点分配空闲从节点。
所述策略映射是由用户定制的,调度注册服务利用注册存储为主节点分配空闲从节点时,提供分配的策略约束。
例如:当前有三个空闲从节点kvm-2、kvm-5、kvm-7,策略映射为kvm-2=Java、kvm-5=Go、kvm-7=Python,调度服务收到当前任务需要Java环境构建需求时,结合策略映射规则分配kvm-2作为从节点执行持续集成任务。
所述调度执行代理是注册服务的核心,根据持续构建任务所定制的环境需求,结合注册存储和策略映射来确定当前是否有空闲且满足特定策略规则的从节点资源。
当存在空闲且满足特定策略规则的从节点资源时,操控该从节点被主节点管理,主节点即可在指定从节点上执行持续集成任务;持续集成任务完成时,调度执行代理会接收到的对应清理信号,回收从节点和相应的注册服务数据信息,同时移除才能够节点与主节点的关联状态,为下一次任务调度做准备。
所述从节点是数量固定的物理机或虚拟机,在从节点执行完任务后,用户手动清理执行环境。
本发明的有益效果是:该基于策略的多节点注册调度方法,利用DevOps的虚拟化技术,云计算基础设施(Docker,Virtual Machine)以及数据中心自动化和配置管理工具,优化了任务调度和数据配置的协调编排,不仅能够及时回收、释放运行时资源,统一存储配置和状态数据,同时还能通过RESTful API查询、管控运行状态和结果反馈。
附图说明
附图1为传统的自动化集成过程示意图。
附图2为本发明主、从节点自动化集成过程示意图。
附图3为本发明基于策略的多节点注册调度方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该基于策略的多节点注册调度方法,采用多节点分担执行负载的方式,由主节点负责调度,从节点执行工作负载;主节点以随机或者按照简单标签策略调度任务到对应从节点执行持续集成任务;在从节点执行完任务后,清理执行环境,为下一次执行工作负载做准备。
通过提供注册服务,采取基于策略的调度服务方式,为主节点分配满足特定语言或定制环境的从节点执行持续集成任务,注册分配任务信息,在任务执行完毕时释放回收,同时提供RESTful API方式查询或操控注册服务。
所述RESTful API是指REST风格的API。REST(全称:Representational StateTransfer,表现层状态转移),是指用HTTP动词(包括GET,POST,PUT,DELETE)描述操作URL定位资源。
所述调度服务提供API供外部接口访问。例如registry API,release API和nodesAPI等。
registry API:请求:/register?job_name=task1
响应:node1
用于随机或按策略方式分配从节点,返回分配的从节点名称。
release API:请求:/release?job_name=task1
响应:node1
注销从工作节点任务,释放相关资源,返回释放节点信息。
nodes API:请求:/nodes
响应:[{job_name:”task1”,node_name:“node1”}]
查询当前所有分配工作从节点和节点执行任务。
所述注册服务包括注册存储,策略映射和调度执行代理三部分,所述调度执行代理结合注册存储和策略映射来确定从节点资源,通过所述调度服务为主节点分配满足策略需求的空闲从节点。
所述注册存储负责存储当前自动化集成工具正在调度的从节点数据信息;所述调度服务以从节点数据信息判定从节点处于占用状态还是空闲状态,从而决定如何为新到任务分配工作节点。
所述从节点数据信息中的注册服务数据信息是动态的,随着被占用从节点释放而清理;通过注册服务数据信息可以获取当前从节点占用情况,所述调度服务依据注册服务数据信息为主节点分配空闲从节点。
所述策略映射是由用户定制的,调度注册服务利用注册存储为主节点分配空闲从节点时,提供分配的策略约束。
例如,当前有三个空闲从节点kvm-2、kvm-5、kvm-7,策略映射为kvm-2=Java、kvm-5=Go、kvm-7=Python,调度服务收到当前任务需要Java环境构建需求时,结合策略映射规则分配kvm-2作为从节点执行持续集成任务。
所述调度执行代理是注册服务的核心,根据持续构建任务所定制的环境需求,结合注册存储和策略映射来确定当前是否有空闲且满足特定策略规则的从节点资源。
当存在空闲且满足特定策略规则的从节点资源时,操控该从节点被主节点管理,主节点即可在指定从节点上执行持续集成任务;持续集成任务完成时,调度执行代理会接收到的对应清理信号,回收从节点和相应的注册服务数据信息,同时移除才能够节点与主节点的关联状态,为下一次任务调度做准备。
所述从节点是数量固定的物理机或虚拟机,在从节点执行完任务后,用户手动清理执行环境。
该基于策略的多节点注册调度方法,不仅改进和提升了DevOps的虚拟化和云计算基础设施(Docker,Virtual Machine)使用的定制化需求,满足了多语言、多定制构建环境的定制持续构建需求,有利于自动持续化构建的配置管理自动化;而且调度服务按照策略匹配最佳执行环境,可以优化资源配置;支持回收、释放运行时资源,根据负载情况,弹性伸缩节点资源,提高了资源利用率;还能提供运行状态监控和结果反馈。
Claims (9)
1.一种基于策略的多节点注册调度方法,其特征在于:采用多节点分担执行负载的方式,由主节点负责调度,从节点执行工作负载;主节点以随机或者按照简单标签策略调度任务到对应从节点执行持续集成任务;在从节点执行完任务后,清理执行环境,为下一次执行工作负载做准备。
2.根据权利要求1所述的基于策略的多节点注册调度方法,其特征在于:通过提供注册服务,采取基于策略的调度服务方式,为主节点分配满足特定语言或定制环境的从节点执行持续集成任务,注册分配任务信息,在任务执行完毕时释放回收,同时提供RESTful API方式查询或操控注册服务。
3.根据权利要求2所述的基于策略的多节点注册调度方法,其特征在于:所述注册服务包括注册存储,策略映射和调度执行代理三部分,所述调度执行代理结合注册存储和策略映射来确定从节点资源,通过所述调度服务为主节点分配满足策略需求的空闲从节点。
4.根据权利要求3所述的基于策略的多节点注册调度方法,其特征在于:所述注册存储负责存储当前自动化集成工具正在调度的从节点数据信息;所述调度服务以从节点数据信息判定从节点处于占用状态还是空闲状态,从而决定如何为新到任务分配工作节点。
5.根据权利要求4所述的基于策略的多节点注册调度方法,其特征在于:所述从节点数据信息中的注册服务数据信息是动态的,随着被占用从节点释放而清理;通过注册服务数据信息可以获取当前从节点占用情况,所述调度服务依据注册服务数据信息为主节点分配空闲从节点。
6.根据权利要求3所述的基于策略的多节点注册调度方法,其特征在于:所述策略映射是由用户定制的,调度注册服务利用注册存储为主节点分配空闲从节点时,提供分配的策略约束。
7.根据权利要求3所述的基于策略的多节点注册调度方法,其特征在于:所述调度执行代理是注册服务的核心,根据持续构建任务所定制的环境需求,结合注册存储和策略映射来确定当前是否有空闲且满足特定策略规则的从节点资源。
8.根据权利要求7所述的基于策略的多节点注册调度方法,其特征在于:当存在空闲且满足特定策略规则的从节点资源时,操控该从节点被主节点管理,主节点即可在指定从节点上执行持续集成任务;持续集成任务完成时,调度执行代理会接收到的对应清理信号,回收从节点和相应的注册服务数据信息,同时移除才能够节点与主节点的关联状态,为下一次任务调度做准备。
9.根据权利要求1所述的基于策略的多节点注册调度方法,其特征在于:所述从节点是数量固定的物理机或虚拟机,在从节点执行完任务后,用户手动清理执行环境。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811425477.9A CN109450913A (zh) | 2018-11-27 | 2018-11-27 | 一种基于策略的多节点注册调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811425477.9A CN109450913A (zh) | 2018-11-27 | 2018-11-27 | 一种基于策略的多节点注册调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109450913A true CN109450913A (zh) | 2019-03-08 |
Family
ID=65555064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811425477.9A Pending CN109450913A (zh) | 2018-11-27 | 2018-11-27 | 一种基于策略的多节点注册调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450913A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831330A (zh) * | 2020-07-10 | 2020-10-27 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
CN113254220A (zh) * | 2021-07-01 | 2021-08-13 | 国汽智控(北京)科技有限公司 | 网联汽车负载协同控制方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN105260523A (zh) * | 2015-09-25 | 2016-01-20 | 中国科学院南京土壤研究所 | 一种分布式并行空间可视域分析方法 |
CN105468378A (zh) * | 2015-12-11 | 2016-04-06 | 上海爱数信息技术股份有限公司 | 一种软件持续集成配置管理方法和系统 |
US20160188594A1 (en) * | 2014-12-31 | 2016-06-30 | Cloudera, Inc. | Resource management in a distributed computing environment |
CN107426034A (zh) * | 2017-08-18 | 2017-12-01 | 国网山东省电力公司信息通信公司 | 一种基于云平台的大规模容器调度系统及方法 |
-
2018
- 2018-11-27 CN CN201811425477.9A patent/CN109450913A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
US20160188594A1 (en) * | 2014-12-31 | 2016-06-30 | Cloudera, Inc. | Resource management in a distributed computing environment |
CN105260523A (zh) * | 2015-09-25 | 2016-01-20 | 中国科学院南京土壤研究所 | 一种分布式并行空间可视域分析方法 |
CN105468378A (zh) * | 2015-12-11 | 2016-04-06 | 上海爱数信息技术股份有限公司 | 一种软件持续集成配置管理方法和系统 |
CN107426034A (zh) * | 2017-08-18 | 2017-12-01 | 国网山东省电力公司信息通信公司 | 一种基于云平台的大规模容器调度系统及方法 |
Non-Patent Citations (1)
Title |
---|
岳豹: "《基于Jenkins企业分布式持续集成平台的研究与优化》", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831330A (zh) * | 2020-07-10 | 2020-10-27 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
CN113254220A (zh) * | 2021-07-01 | 2021-08-13 | 国汽智控(北京)科技有限公司 | 网联汽车负载协同控制方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11038778B2 (en) | Methods and systems that provision distributed applications that invoke functions provided by a distributed-function-as-a-service feature | |
CN101727357B (zh) | 用于分配计算中心中资源的方法和装置 | |
US20190377604A1 (en) | Scalable function as a service platform | |
JP3965185B2 (ja) | ウェブ・サービス呼び出しをサポートするスケジューラ | |
US8838669B2 (en) | System and method for layered application server processing | |
US20100121904A1 (en) | Resource reservations in a multiprocessor computing environment | |
US7024669B1 (en) | Managing workload within workflow-management-systems | |
US20120079490A1 (en) | Distributed workflow in loosely coupled computing | |
US20150143380A1 (en) | Scheduling workloads and making provision decisions of computer resources in a computing environment | |
CA2802361A1 (en) | Method and system for workload distributing and processing across a network of replicated virtual machines | |
CN102346460A (zh) | 一种基于事务的服务控制系统及其控制方法 | |
CN111682973B (zh) | 一种边缘云的编排方法及系统 | |
US6385668B1 (en) | Method and apparatus for compound hardware configuration control | |
CN108737560A (zh) | 云计算任务智能调度方法及系统、可读存储介质、终端 | |
CN103780655A (zh) | 一种消息传递接口任务和资源调度系统及方法 | |
Amin et al. | An abstraction model for a Grid execution framework | |
CN108304260A (zh) | 一种基于高性能云计算的虚拟化作业调度系统及其实现方法 | |
CN104579792A (zh) | 多适配方式实现多种类型虚拟资源集中管理架构及方法 | |
CN110377406A (zh) | 一种任务调度方法、装置、存储介质和服务器节点 | |
Monteiro et al. | Beethoven: an event-driven lightweight platform for microservice orchestration | |
US20120059938A1 (en) | Dimension-ordered application placement in a multiprocessor computer | |
CN109450913A (zh) | 一种基于策略的多节点注册调度方法 | |
CN110134533B (zh) | 一种可批量调度数据的系统及方法 | |
Walraven et al. | Adaptive performance isolation middleware for multi-tenant saas | |
US20100122261A1 (en) | Application level placement scheduler in a multiprocessor computing environment |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |
|
RJ01 | Rejection of invention patent application after publication |