CN111552541B - 通过命令桥工厂实现调度的方法、系统及计算机存储介质 - Google Patents

通过命令桥工厂实现调度的方法、系统及计算机存储介质 Download PDF

Info

Publication number
CN111552541B
CN111552541B CN202010361501.8A CN202010361501A CN111552541B CN 111552541 B CN111552541 B CN 111552541B CN 202010361501 A CN202010361501 A CN 202010361501A CN 111552541 B CN111552541 B CN 111552541B
Authority
CN
China
Prior art keywords
command bridge
deployment mode
deployment
scheduling
information
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
Application number
CN202010361501.8A
Other languages
English (en)
Other versions
CN111552541A (zh
Inventor
孟祥磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN202010361501.8A priority Critical patent/CN111552541B/zh
Publication of CN111552541A publication Critical patent/CN111552541A/zh
Application granted granted Critical
Publication of CN111552541B publication Critical patent/CN111552541B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

本发明涉及通过命令桥工厂实现调度的方法、系统及计算机存储介质,其方法,包括以下步骤,S1,根据业务需求在支持x86和容器化部署的多种部署模式中选择对应的一个部署模式,并记录选取的所述部署模式的信息;S2,根据选取的所述部署模式的信息,在命令桥工厂中创建出集体命令桥实现实例;S3,调用所述集体命令桥实现实例中的方法,完成选取的所述部署模式的调度。本发明通过命令桥工厂实现调度的方法、系统及计算机存储介质,采用同时支持x86和容器化部署的分布式调度,可以任意选择部署模式,不用修改代码,对业务透明无影响。

Description

通过命令桥工厂实现调度的方法、系统及计算机存储介质
技术领域
本发明涉及计算机技术领域,具体涉及通过命令桥工厂实现调度的方法、系统及计算机存储介质。
背景技术
随着docker技术的不断成熟,其优势持续集成、版本控制、可移植性、隔离性和安全性吸引了越来越多的企业开始使用docker。容器化实现更轻量级的虚拟化,方便快速部署,节省成本,弹性伸缩。分布式调度框架传统的部署模式是安装、配置、运行,集群部署多台x86机器就需要保持其环境一致,其部署环境需要时间成本和人力成本。为了适应企业的发展,对接其他平台,分布式后台调度需要实现容器化,在现有的部署方式下,同时支持x86部署和docker容器化部署是目前亟待解决的问题。
发明内容
本发明所要解决的技术问题是提供通过命令桥工厂实现调度的方法、系统及计算机存储介质,可以实现同时支持x86和容器化部署的分布式调度。
本发明解决上述技术问题的技术方案如下:通过命令桥工厂实现调度的方法,包括以下步骤,
S1,根据业务需求在支持x86和容器化部署的多种部署模式中选择对应的一个部署模式,并记录选取的所述部署模式的信息;
S2,根据选取的所述部署模式的信息,在命令桥工厂中创建出集体命令桥实现实例;
S3,调用所述集体命令桥实现实例中的方法,完成选取的所述部署模式的调度。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述部署模式设有三种,分别为传统部署模式、第一容器化部署模式和第二容器化部署模式;
所述传统部署模式为,安装、配置和运行;
所述第一容器化部署模式为,将所述传统部署模式中的x86节点管理者作为一个容器;
所述第二容器化部署模式为,独立部署进程,一个容器里面执行一个进程;
所述传统部署模式的信息包括关键字为Machine,所述第一容器化部署模式的信息包括关键字为Captain,所述第二容器化部署模式的信息包括关键字为Worker。
进一步,所述S1具体为,
根据业务需求从三种部署模式对应的三个关键字Machine、Captain和Worker中选择对应的关键字,并将选取的关键字记录到集群属性中。
进一步,将选取的关键字记录到集群属性中,具体包括,
设置集群的配置信息FailoverType为选取的关键字,并将集群的配置信息注册到zookeeper上。
进一步,所述命令桥工厂的命令桥接口中配置有调度方法,各种所述部署模式均实现所述命令桥接口。
进一步,所述命令桥工厂根据所述调度方法创建出该调度方法的命令桥,所述命令桥用于实现所述命令桥接口中的调度方法。
进一步,所述S3具体为,
将所述集体命令桥实现实例存放在CommanderData中,并在主函数中直接调用所述集体命令桥实现实例中的方法。
基于上述所述的通过命令桥工厂实现调度的方法,本发明还提供通过命令桥工厂实现调度的系统。
通过命令桥工厂实现调度的系统,包括以下模块,
部署模式选择模块,其用于根据业务需求在支持x86和容器化部署的多种部署模式中选择对应的一个部署模式,并记录选取的所述部署模式的信息;
集体命令桥实现实例创建模块,其用于根据选取的所述部署模式的信息,在命令桥工厂中创建出集体命令桥实现实例;
调度模块,其用于调用所述集体命令桥实现实例中的方法,完成选取的所述部署模式的调度。
基于上述所述的通过命令桥工厂实现调度的方法,本发明还提供通过计算机存储介质。
计算机存储介质,包括存储器,以及存储在所述存储器上的计算机程序,当所述计算机程序被处理器执行时实现如上述所述的方法步骤。
本发明的有益效果是:本发明通过命令桥工厂实现调度的方法、系统及计算机存储介质,采用同时支持x86和容器化部署的分布式调度,可以任意选择部署模式,不用修改代码,对业务透明无影响。
附图说明
图1为本发明通过命令桥工厂实现调度的方法的流程图;
图2为集体命令桥实现的类图说明示意图。
图3为本发明通过命令桥工厂实现调度的系统的结构框图;
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,通过命令桥工厂实现调度的方法,包括以下步骤,
S1,根据业务需求在支持x86和容器化部署的多种部署模式中选择对应的一个部署模式,并记录选取的所述部署模式的信息;
S2,根据选取的所述部署模式的信息,在命令桥工厂中创建出集体命令桥实现实例;
S3,调用所述集体命令桥实现实例中的方法,完成选取的所述部署模式的调度。
在本发明中:在分布式调度框架中根据集群的部署方式来区分调度算法模式,一种是传统模式,一种是容器化模式,容器化模式又分为两种,一种是将传统模式中的x86节点管理者作为一个容器,另一种是独立部署进程,一个容器里面执行一个进程。具体的,所述部署模式设有三种,分别为传统部署模式、第一容器化部署模式和第二容器化部署模式;
所述传统部署模式为,安装、配置和运行。
所述第一容器化部署模式为,将所述传统部署模式中的x86节点管理者作为一个容器;该方法可以快速对接容器化,同时管理者可以管理调度本容器内的进程,减少进程之通讯的代价。
所述第二容器化部署模式为,独立部署进程,一个容器里面执行一个进程;该方法更接近容器化的模式。
所述传统部署模式的信息包括关键字为Machine,所述第一容器化部署模式的信息包括关键字为Captain,所述第二容器化部署模式的信息包括关键字为Worker。
图2为集体命令桥实现的类图说明:WorkerInstructionBridge接口包含了getHostPort、initRunningEnv、removeDeprecateWorker和dealJobAssign四个接口方法,类WorkerInstructionBridgeMachine、WorkerInstructionBridgeCaptain和WorkerInstructionBridgeDocker分别代表的是对上述接口的三种不同实现。WorkerInstructionBridgeFactory类是一个工厂模式类,主要是用来创建上述接口,并且根据传入的参数创建不同的实现实例。
以上述三种部署模式为例说明本发明的方法:
步骤1:选择Machine、Captain、worker类型,设置集群的配置信息FailoverType为其中一个,并将集群的配置信息注册到zookeeper上;
步骤2:在使用调度算法的时候调用工厂创建出集体命令桥实现实例,其工厂创建代码如下:
public static WorkerInstructionBridge createWorkerInstructionBridge(CommanderData data)throws Exception{
if(data.getClusterInfo().getFailoverType().
equals(ClusterInfo.FAILOVER_TYPE_MACHINE)){
return new WorkerInstructionBridgeMachine(data);
}
else if(data.getClusterInfo().getFailoverType().
equals(ClusterInfo.FAILOVER_TYPE_CAPTAIN)){
return new WorkerInstructionBridgeCaptain(data);
}
else{
return new WorkerInstructionBridgeDocker(data);
}
}
上述代码的思想为:根据所传入的CommanderData数据集中的FailoverType进行判断创建哪种实例。如果获取的是FailoverType等于FAILOVER_TYPE_MACHINE,就创建X86实例;如果获取的FailoverType等于FAILOVER_TYPE_CAPTAIN,就创建以captain作为容器的实例;如果其他的情况,就创建按照worker作为容器的实例。
步骤3:当集体命令桥实现实例创建出来后,将集体命令桥实现实例存放在CommanderData中,在主函数中直接调用集体命令桥实现实例的方法即可;
调用模式如下:
data.getWorkerInstructionBridgeFactory().getHostPort(),即从传入data数据中获取命令桥工厂信息及HostPort信息。以该方法为例,该方法在三个实现类中分别实现适应自身模式的代码。依次类推,在选定模式后,工厂就会创建出一系列的实现本模式的接口供调用,从而完成了模式的任意选择。
基于上述所述的通过命令桥工厂实现调度的方法,本发明还提供通过命令桥工厂实现调度的系统。
如图3所示,通过命令桥工厂实现调度的系统,包括以下模块,
部署模式选择模块,其用于根据业务需求在支持x86和容器化部署的多种部署模式中选择对应的一个部署模式,并记录选取的所述部署模式的信息;
集体命令桥实现实例创建模块,其用于根据选取的所述部署模式的信息,在命令桥工厂中创建出集体命令桥实现实例;
调度模块,其用于调用所述集体命令桥实现实例中的方法,完成选取的所述部署模式的调度。
基于上述所述的通过命令桥工厂实现调度的方法,本发明还提供通过计算机存储介质。
计算机存储介质,包括存储器,以及存储在所述存储器上的计算机程序,当所述计算机程序被处理器执行时实现如上述所述的方法步骤。
本发明通过命令桥工厂实现调度的方法、系统及计算机存储介质,采用同时支持x86和容器化部署的分布式调度,可以任意选择部署模式,不用修改代码,对业务透明无影响。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.通过命令桥工厂实现调度的方法,其特征在于:包括以下步骤,
S1,根据业务需求在支持x86和容器化部署的多种部署模式中选择对应的一个部署模式,并记录选取的所述部署模式的信息;
S2,根据选取的所述部署模式的信息,在命令桥工厂中创建出集体命令桥实现实例;
S3,调用所述集体命令桥实现实例中的方法,完成选取的所述部署模式的调度;
所述部署模式设有三种,分别为传统部署模式、第一容器化部署模式和第二容器化部署模式;
所述传统部署模式为,安装、配置和运行;
所述第一容器化部署模式为,将所述传统部署模式中的x86节点管理者作为一个容器;
所述第二容器化部署模式为,独立部署进程,一个容器里面执行一个进程;
所述传统部署模式的信息包括关键字为Machine,所述第一容器化部署模式的信息包括关键字为Captain,所述第二容器化部署模式的信息包括关键字为Worker;
所述命令桥工厂的命令桥接口中配置有调度方法,各种所述部署模式均实现所述命令桥接口;所述命令桥工厂根据所述调度方法创建出该调度方法的命令桥,所述命令桥用于实现所述命令桥接口中的调度方法;
集体命令桥具体为WorkerInstructionBridge接口,WorkerInstructionBridge接口包含了getHostPort、initRunningEnv、removeDeprecateWorker和dealJobAssign四个接口方法,类WorkerInstructionBridgeMachine、WorkerInstructionBridgeCaptain和WorkerInstructionBridgeDocker分别是对WorkerInstructionBridge接口的三种不同实现;WorkerInstructionBridgeFactory类是一个工厂模式类,其用来创建WorkerInstructionBridge接口,并且根据传入的参数创建不同的实现实例;
所述S2具体为:根据所传入的CommanderData数据集中的FailoverType进行判断创建哪种实例;如果获取的是FailoverType等于FAILOVER_TYPE_MACHINE,就创建X86实例;如果获取的FailoverType等于FAILOVER_TYPE_CAPTAIN,就创建以captain作为容器的实例;如果获取的是其他的情况,就创建按照worker作为容器的实例;
所述S3具体为:将所述集体命令桥实现实例存放在CommanderData中,并在主函数中直接调用所述集体命令桥实现实例中的方法;
其中,调用模式如下:从传入data数据中获取命令桥工厂信息及HostPort信息。
2.根据权利要求1所述的通过命令桥工厂实现调度的方法,其特征在于:所述S1具体为,
根据业务需求从三种部署模式对应的三个关键字Machine、Captain和Worker中选择对应的关键字,并将选取的关键字记录到集群属性中。
3.根据权利要求2所述的通过命令桥工厂实现调度的方法,其特征在于:将选取的关键字记录到集群属性中,具体包括,
设置集群的配置信息FailoverType为选取的关键字,并将集群的配置信息注册到zookeeper上。
4.通过命令桥工厂实现调度的系统,其特征在于:包括以下模块,
部署模式选择模块,其用于根据业务需求在支持x86和容器化部署的多种部署模式中选择对应的一个部署模式,并记录选取的所述部署模式的信息;
集体命令桥实现实例创建模块,其用于根据选取的所述部署模式的信息,在命令桥工厂中创建出集体命令桥实现实例;
调度模块,其用于调用所述集体命令桥实现实例中的方法,完成选取的所述部署模式的调度;
所述部署模式设有三种,分别为传统部署模式、第一容器化部署模式和第二容器化部署模式;
所述传统部署模式为,安装、配置和运行;
所述第一容器化部署模式为,将所述传统部署模式中的x86节点管理者作为一个容器;
所述第二容器化部署模式为,独立部署进程,一个容器里面执行一个进程;
所述传统部署模式的信息包括关键字为Machine,所述第一容器化部署模式的信息包括关键字为Captain,所述第二容器化部署模式的信息包括关键字为Worker;
所述命令桥工厂的命令桥接口中配置有调度方法,各种所述部署模式均实现所述命令桥接口;所述命令桥工厂根据所述调度方法创建出该调度方法的命令桥,所述命令桥用于实现所述命令桥接口中的调度方法;
集体命令桥具体为WorkerInstructionBridge接口,WorkerInstructionBridge接口包含了getHostPort、initRunningEnv、removeDeprecateWorker和dealJobAssign四个接口方法,类WorkerInstructionBridgeMachine、WorkerInstructionBridgeCaptain和WorkerInstructionBridgeDocker分别是对WorkerInstructionBridge接口的三种不同实现;WorkerInstructionBridgeFactory类是一个工厂模式类,其用来创建WorkerInstructionBridge接口,并且根据传入的参数创建不同的实现实例;
所述集体命令桥实现实例创建模块具体用于:根据所传入的CommanderData数据集中的FailoverType进行判断创建哪种实例;如果获取的是FailoverType等于FAILOVER_TYPE_MACHINE,就创建X86实例;如果获取的FailoverType等于FAILOVER_TYPE_CAPTAIN,就创建以captain作为容器的实例;如果获取的是其他的情况,就创建按照worker作为容器的实例;
所述调度模块具体用于:将所述集体命令桥实现实例存放在CommanderData中,并在主函数中直接调用所述集体命令桥实现实例中的方法;
其中,调用模式如下:从传入data数据中获取命令桥工厂信息及HostPort信息。
5.计算机存储介质,其特征在于:包括存储器,以及存储在所述存储器上的计算机程序,当所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的方法步骤。
CN202010361501.8A 2020-04-30 2020-04-30 通过命令桥工厂实现调度的方法、系统及计算机存储介质 Active CN111552541B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010361501.8A CN111552541B (zh) 2020-04-30 2020-04-30 通过命令桥工厂实现调度的方法、系统及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010361501.8A CN111552541B (zh) 2020-04-30 2020-04-30 通过命令桥工厂实现调度的方法、系统及计算机存储介质

Publications (2)

Publication Number Publication Date
CN111552541A CN111552541A (zh) 2020-08-18
CN111552541B true CN111552541B (zh) 2023-11-10

Family

ID=72002575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010361501.8A Active CN111552541B (zh) 2020-04-30 2020-04-30 通过命令桥工厂实现调度的方法、系统及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111552541B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776212A (zh) * 2016-12-09 2017-05-31 中电科华云信息技术有限公司 容器集群部署多进程应用的监管系统及方法
CN107003862A (zh) * 2014-09-30 2017-08-01 亚马逊技术有限公司 动态代码部署和版本化
CN108205481A (zh) * 2016-12-19 2018-06-26 华为技术有限公司 应用的容器实例创建方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160212012A1 (en) * 2013-08-30 2016-07-21 Clearpath Networks, Inc. System and method of network functions virtualization of network services within and across clouds
US10783017B2 (en) * 2018-05-16 2020-09-22 ChartIQ, Inc. System and method for integrating multiple applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003862A (zh) * 2014-09-30 2017-08-01 亚马逊技术有限公司 动态代码部署和版本化
CN106776212A (zh) * 2016-12-09 2017-05-31 中电科华云信息技术有限公司 容器集群部署多进程应用的监管系统及方法
CN108205481A (zh) * 2016-12-19 2018-06-26 华为技术有限公司 应用的容器实例创建方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jay Shah 等.Building Modern Clouds: Using Docker, Kubernetes & Google Cloud Platform.《2019 IEEE 9th Annual Computing and Communication Workshop and Conference (CCWC)》.2019,第0184-0189页. *
付琳琳 等.微服务容器化部署的研究.计算技术与自动化.2019,第38卷(第04期),第151-155页. *

Also Published As

Publication number Publication date
CN111552541A (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN109885316B (zh) 基于kubernetes的hdfs-hbase部署方法及装置
CN104137482A (zh) 一种云计算架构下的容灾数据中心配置方法及装置
US20050091352A1 (en) Policy driven autonomic computing-specifying relationships
CN108762900A (zh) 高频任务调度方法、系统、计算机设备和存储介质
CN104115447A (zh) 一种云计算架构下的容灾方案配置方法及装置
CN113204353B (zh) 一种大数据平台组件部署方法及装置
CN112148788A (zh) 异构数据源的数据同步方法及系统
CN101980207B (zh) 一种数据库访问的实现方法和系统
CN111736994B (zh) 资源编排方法、系统及存储介质和电子设备
CN110532058B (zh) 容器集群服务的管理方法、装置、设备及可读存储介质
CN103399781A (zh) 云服务器及其虚拟机管理方法
CN102314368A (zh) 更新服务器程序的配置数据的方法及设备
EP3817339B1 (en) Method and system for management of an artificial intelligence development platform
CN111897599A (zh) 基于微核模型插件模式的服务方法、装置、设备及存储介质
CN117075930B (zh) 一种计算框架管理系统
CN114756374A (zh) 一种异构cpu调度的方法、装置、设备及介质
CN113312147A (zh) 一种对象存储跨集群海量数据迁移方法及系统
CN114610334A (zh) 产品可视化部署方法、装置、系统及存储介质
US20050071449A1 (en) Policy driven autonomic computing-programmatic policy definitions
CN111552541B (zh) 通过命令桥工厂实现调度的方法、系统及计算机存储介质
CN104794000B (zh) 一种作业调度方法及系统
CN102339323B (zh) 一种针对db2数据仓库进行数据抽取、调度及展现的方法
CN115357433A (zh) 容器环境下的数据库备份方法、装置、设备及存储介质
CN115687469A (zh) 一种基于DataX的DAG数据的任务调度方法和系统
US20200311477A1 (en) Distributed system for scalable active learning

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