云平台直接调度二进制执行文件的系统及方法与流程
[0001]
本发明涉及云计算中应用调度领域,具体涉及一种云平台直接调度二进制执行文件的系统及方法。
背景技术:
[0002]
容器调度引擎是以容器为基础进行应用调度,所有应用都封装在容器内
[0001] 本发明涉及云计算中应用调度领域,具体涉及一种云平台直接调度二进制执行文件的系统及方法。 背景技术: [0002] 容器调度引擎是以容器为基础进行应用调度,所有应用都封装在容器内进行调度。但在大量的嵌入式操作系统环境下是并不支持容器技术的。在这样的场景下,传统容器调度引擎无法统一管理这样的环境。我们提出的二进制文件调度的创新方案就是为了解决此问题。 [0003] 目前一个云平台调度应用需要的流程如下所示: [0004] 1)将目标应用先制作成镜像; [0005] 2)上传制作好的镜像到集群中的镜像仓库; [0006] 3)云平台创建应用时,从镜像仓库拉取镜像; [0007] 4)在目标节点从镜像创建容器。 [0008] 目前容器云平台调度应用存在以下不足之处: [0009] 1、传统云平台不支持异构架构,无法在其中加入嵌入式设备; [0010] 2、云平台调度往往只支持容器调度,无法直接调度二进制; [0011] 3、嵌入式设备往往资源有限,无法支持容器运行; [0012] 4、当云平台加入了嵌入式设备后,无法兼容容器调度和二进制调度。 技术实现要素: [0013] 本发明的目的是提供一种云平台直接调度二进制执行文件的系统及方法,解决不支持容器的嵌入式实时操作系统无法被传统容器调度引擎管理的问题。 [0014] 本发明解决其技术问题,采用的技术方案是: [0015] 本发明首先提出一种云平台直接调度二进制执行文件的系统,包括: [0016] 云平台,用于创建具体类型的应用; [0017] 调度系统,用于接收应用创建请求,并且根据应用类型选择合适的工作集; [0018] 工作集,用于作为云平台的组成节点之一,并挂载有应用的工作负载; [0019] 负载调用接口,用于在应用指定到工作集后,通过该接口动态选择实际部署应用的运行时,并根据应用的运行时类型,将应用调度到相应的工作负载上,所述运行时包括容器化时和二进制运行时。 [0020] 进一步的是,所述负载调用接口为nai接口。 [0021] 进一步的是,在云平台部署应用时,通过nai接口根据应用类型动态调用nai实例动态选择实际部署应用的运行时负载。 [0022] 另外,本发明还提出一种云平台直接调度二进制执行文件的方法,应用于所述的云平台直接调度二进制执行文件的系统,包括如下步骤: [0023] 步骤1.安装云平台,并在所述云平台中创建具体类型的应用; [0024] 步骤2.云平台接收到应用创建请求后,将该请求转发至调度系统; [0025] 步骤3.调度系统接收到该请求后,判断请求中应用的类型,通过应用的类型选择相应运行时的工作集; [0026] 步骤4.部署实际的运行时到工作集上,并统一抽象为工作负载资源; [0027] 步骤5.将应用以box的形式调度到工作集上; [0028] 步骤6.位于工作集上的集群客户端调用nai接口,根据应用的运行时类型云计算调度系统,将应用调度到相应的工作负载上。 [0029] 具体的,步骤4具体为: [0030] 根据nai接口实现相应的运行时支持代码;在云平台中创建相应类型的工作负载; [0031] 当部署完成后,部署上去的工作负载与工作集建立心跳连接,用于维护工作负载状态。 [0032] 具体的,步骤5中,所述box是云平台中的最小管理单元,且一个box对应一个应用。 [0033] 本发明的有益效果是,通过上述云平台直接调度二进制执行文件的系统及方法,不仅可以调度容器,还可以直接调度二进制执行文件,无需容器,也可以实现计算节点的集群调度,另外,本发明还支持云平台异构架构,能够统一管理容器应用以及二进制应用。 附图说明 [0034] 图1为本发明实施例2中云平台直接调度二进制执行文件的方法的流程图; [0035] 图2为本发明实施例2中具体的调度过程示意图。 具体实施方式 [0036] 下面结合附图及实施例,详细描述本发明的技术方案。 [0037] 实施例1 [0038] 本实施例提出一种云平台直接调度二进制执行文件的系统,包括:云平台,用于创建具体类型的应用;调度系统,用于接收应用创建请求,并且根据应用类型选择合适的工作集;工作集,用于作为云平台的组成节点之一,并挂载有应用的工作负载;负载调用接口,用于在应用指定到工作集后,通过该接口动态选择实际部署应用的运行时,并根据应用的运行时类型,将应用调度到相应的工作负载上,本实施例中,运行时包括容器化时和二进制运行时。 [0039] 上述系统中,负载调用接口可以为nai接口,在云平台部署应用时,可以通过nai接口根据应用类型动态调用nai实例动态选择实际部署应用的运行时负载。 [0040] 本实施例中,通过以下实施步骤来实现:首先,将应用统一抽象为集群中的box资源;其次,把主机节点抽象为工作集合(workerset)资源;然后,在主机节点上把每一种应用运行时抽象出nai的接口;再然后,需要容器调度时,在上述nai接口中实现容器化工作负载(worker);最后,需要二进制调度时,在上述nai接口中实现二进制工作负载(worker)。 [0041] 本实施例中,box资源是云平台中的最小管理单元,通常一个box对应一个应用;workerset资源指的是集群中的节点,在每个节点(workerset)上会具有一个或者多个工作负载(worker);nai接口是云平台在部署应用时,根据应用类型(容器或二进制)动态调用 nai实例;worker指的是一种具体的nai实例,代表容器运行时或者二进制运行时。 [0042] 实施例2 [0043] 在实施例1的基础上,本实施例提出一种云平台直接调度二进制执行文件的方法,其流程图见图1,其中,该方法包括如下步骤: [0044] s1.用户安装云平台,并在云平台中创建具体类型的应用。 [0045] s2.云平台接收到应用创建请求后,将该请求转发至调度系统,具体的调度过程示意图见图2。 [0046] s3.调度系统接收到该请求后,判断请求中应用的类型,通过应用的类型选择相应运行时的工作集。 [0047] s4.在工作集处理创建请求前,需要按需部署实际的运行时到工作集上,并统一抽象为工作负载资源; [0048] 该步骤具体为:根据nai接口实现相应的运行时支持代码;在云平台中创建相应类型的工作负载;当部署完成后,部署上去的工作负载与工作集建立心跳连接,用于维护工作负载状态。 [0049] s5.将应用以box的形式调度到工作集上;这里,box是云平台中的最小管理单元,且一个box对应一个应用。 [0050] s6.位于工作集上的集群客户端调用nai接口,根据应用的运行时类型,将应用调度到相应的工作负载上。 [0051] 本实施例中,通过nai接口,可以很好的屏蔽掉应用的部署类型,使得云平台上层可以统一进行调度处理。 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |