一种应用于大数据领域的云调度的方法及系统与流程



1.本发明涉及计算机技术领域,特别涉及一种应用于大数据领域的云调度的方法及系统。


背景技术:



2.随着互联网业务的发展和科技的进步,越来越多的服务为了高可用和灵活的伸缩性、扩展性迁移到了k8s平台,k8s平台也是适用大数据场景中比较优秀的平台之一。
3.由于海量数据存储等业务场景原因,传统算法为了兼顾平台的通用性而忽略了实际场景业务的特殊性和复杂性,进一步导致资源分配不均,大大的影响了系统运行的效率。总体来说,现有方法的缺陷在于,资源分配不均,大大影响系统运行效率。
4.因此,如何提高容器调度时的节点利用率、提高资源分配均衡性成为一个亟待解决的问题。


技术实现要素:



5.本发明的主要目的是提供一种应用于大数据领域的云调度的方法,旨在提高容器调度时的节点利用率、提高资源分配均衡性。
6.为实现上述目的,本发明提出一种应用于大数据领域的云调度的方法,包括如下步骤:
7.组建步骤:组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中,所述目标节点集包括多个目标节点;
8.采集步骤:对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;
9.处理步骤:获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;
10.筛选步骤:筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;
11.执行步骤:获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定。
12.此外,为实现上述目的,本发明还提出一种应用于大数据领域的云调度的系统,所述一种应用于大数据领域的云调度的系统包括存储器和处理器,其特征在于,所述存储器上存储有一种应用于大数据领域的云调度的程序,所述一种应用于大数据领域的云调度的程序被所述处理器执行时实现如下步骤:
13.组建步骤:组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中,所述目标节点集包括多个目标节点;
14.采集步骤:对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;
15.处理步骤:获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;
16.筛选步骤:筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;
17.执行步骤:获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定。
18.此外,为实现上述目的,本发明还提出一种应用于大数据领域的云调度的系统,其中,包括处理器和存储器;
19.所述处理器,用于处理执行所述的应用于大数据领域的云调度的方法;
20.所述存储器,所述存储器与所述处理器耦合,用于存储所述应用于大数据领域的云调度的程序,当所述程序被所述处理器执行时,使系统以执行所述应用于大数据领域的云调度的方法的步骤。
21.此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其中,所述计算机可读存储介质存储有应用于大数据领域的云调度的程序,所述应用于大数据领域的云调度的程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述任一项所述的应用于大数据领域的云调度的方法的步骤。
22.本发明通过组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中,所述目标节点集包括多个目标节点;对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定。相较于现有技术,本发明通过预设调度器可以达到提高容器调度时的节点利用率,同时达到提高资源分配均衡性的效果。
附图说明
23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
24.图1为本发明应用于大数据领域的云调度的方法的流程示意图;
25.图2为本发明应用于大数据领域的云调度的方法中得到所述预设筛选方案的流程示意图;
26.图3为本发明应用于大数据领域的云调度的方法中得到所述第一目标节点的第一目标节点资源的流程示意图;
27.图4为本发明应用于大数据领域的云调度的方法中得到所述第一目标节点分值的流程示意图;
28.图5为本发明应用于大数据领域的云调度的方法中对所述预设调度器进行评估的流程示意图;
29.图6为本发明应用于大数据领域的云调度的程序的运行环境示意图;
30.图7为本发明应用于大数据领域的云调度的程序的程序模块图。
31.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
32.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
33.本发明提出一种应用于大数据领域的云调度的方法。
34.如图1所示,图1为本发明应用于大数据领域的云调度的方法的流程示意图。
35.本实施例中,所述应用于大数据领域的云调度的方法应用于一种应用于大数据领域的云调度的系统,所述应用于大数据领域的云调度的系统包括预设调度器,该方法包括:
36.s100:组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中,所述目标节点集包括多个目标节点;
37.如图2所示,本实施例中,上述s100,还包括以下步骤:
38.首先,获得所述第一容器的第一容器特征,并将所述第一容器特征作为第一筛选约束;
39.然后,获得预设阈值,其中,所述预设阈值包括第一预设阈值、第二预设阈值;
40.接着,将所述第一预设阈值作为第二筛选约束,将所述第二预设阈值作为第三筛选约束;
41.最后,基于所述第一筛选约束、所述第二筛选约束、所述第三筛选约束,得到所述预设筛选方案。
42.所述应用于大数据领域的云调度的方法应用于一种应用于大数据领域的云调度的系统,所述应用于大数据领域的云调度的系统包括一预设调度器,通过所述预设调度器可以实现对容器的智能调度管理,从而提高容器调度资源分配合理性和均衡性,进而提高所述应用于大数据领域的云调度的系统的整体性能,保证系统运行效率。其中,所述预设调度器是指一自定义拓展调度器,由用户根据实际需求可以自行设置定义的扩展调度器。
43.首先,获得第一容器,并对所述第一容器的相关特征数据信息进行采集,即得到所述第一容器特征,示范性的如容器pod的资源匹配和标签匹配等特征数据。然后,将所述第一容器特征作为第一筛选约束。接下来,由相关技术人员综合分析后确定所述预设阈值,其中,所述预设阈值包括第一预设阈值、第二预设阈值。所述第一预设阈值是指节点内存的预设阈值,所述第二预设阈值是指节点cpu的预设阈值。进一步将所述第一预设阈值作为第二筛选约束,将所述第二预设阈值作为第三筛选约束。最后基于所述第一筛选约束、所述第二筛选约束、所述第三筛选约束,得到所述预设筛选方案。进一步的,利用预设筛选方案对所述节点集进行筛选并得到目标节点集,其中,所述目标节点集包括多个目标节点。示范性的如根据pod资源匹配和标签匹配剔除不符合规则的节点,进而筛选内存低于阈值和cpu超出阈值的节点,并组成多个目标节点。
44.在kubenetes中,所有的容器均在pod中运行,一个pod可以承载一个或者多个相关的docker容器(或rkt,以及用户自定义容器),同一个pod中的容器可以部署在同一个物理机器(可以叫宿主机)上并且能够共享资源。一个pod也可以包含多个磁盘卷组(volumes),
这些卷组将会以目录的形式提供给一个容器,或者被所有pod中的容器共享,对于用户创建的每个pod,系统会自动选择那个健康并且有足够容量的机器,然后创建类似容器的容器,当容器创建失败的时候,容器会被node agent自动的重启,这个node agent叫kubelet,但是,如果是pod失败或者机器,它不会自动的转移并且启动,除非用户定义了replication controller。
45.pod是k8s集管理的最小单元,但是容器包含在pod中,一个pod中有一个pause容器和若干个业务容器,而容器就是单独的一个容器,简而言之,pod是一组容器+pause容器构成,而容器单指一个容器。所以我们在说pod的时候不能说pod容器怎么怎么样之类的说法。
46.k8s是管理整个集中的所有pod,包括调度pod,删除pod,更新pod等。其中:
47.一、pod(是k8s的核心,各种应用都基本以pod和yaml来进行管理)
48.kubernetes使用pod来管理容器,即用master来进行管理,每个pod可以包含一个或多个紧密关联的业务容器。一对多的关系。
49.而pod是部署到node节点上的或者master也可以设置可以部署pod,假设部署到了node节点上,node节点上必然有docker,我们可以通过docker命令进入容器,也可以在master上通过执行kubectl exec-it mdp-cc-85fd974f8c-slcwk-n default
‑‑
/bin/bash这样的命令进入pod查看内部情况。
50.容器是一种便携式、轻量级的操作系统级虚拟化技术,容器化不定是采用docker,但是这里我说的都是docker方式。它使用namespace隔离不同的软件运行环境,并通过镜像自包含软件的运行环境,从而使得容器可以很方便的在任何地方运行。由于容器体积小且启动快,因此可以在每个容器镜像中打包一个应用程序。是一对一关系。
51.二、node(pod载体)
52.node节点是pod真正运行的宿主机,可以是物理机,也可以是虚拟机为了管理pod,每个node节点上至少要安装docker、安装kubelet(二进制是hyperkube),同时需要操作系统支持,centos6就对docker支持不好
53.三、namespace(可以理解为隔离资源或者应用)
54.namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods,services,replication controllers和deployments等都是属于某一个namespace的(默认是default),我们开发的时候不同项目可以设置不同的namespace,同时用k8s dashboard
55.令牌方式管理,而node,persistentvolumes等则不属于任何namespace
56.四、service(对外提供服务)
57.service是应用服务的抽象,说白点就是nginx配置域名,指向集master中暴露出来的端口,这个端口实际就是我们暴露的服务,labels为应用提供负载均衡和服务发现机制。
58.匹配labels的pod ip和端口列表组成endpoints,由kube-proxy负责将服务ip负载均衡到这些endpoints上。
59.s200:对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;
60.如图3所示,本实施例中,上述s200,还包括以下步骤:
61.提取所述多个目标节点中的第一目标节点;
62.组建资源类目集,其中,所述资源类目集包括cpu、内存、磁盘、网络;
63.通过cache存储器对所述第一目标节点的所述cpu、所述内存、所述磁盘、所述网络依次进行采集,分别得到cpu资源、内存资源、磁盘资源、网络资源;
64.将所述cpu资源、所述内存资源、所述磁盘资源、所述网络资源进行组合,得到所述第一目标节点的第一目标节点资源。
65.cache存储器,又名为高速缓冲存储器,是位于cpu和主存储器dram(dynamic random access memory)之间,规模较小,但速度很高的存储器,通常由sram(static random access memory静态存储器)组成。它是位于cpu与内存间的一种容量较小但速度很高的存储器。cpu的速度远高于内存,当cpu直接从内存中存取数据时要等待一定时间周期,而cache则可以保存cpu刚用过或循环使用的一部分数据,如果cpu需要再次使用该部分数据时可从cache中直接调用,这样就避免了重复存取数据,减少了cpu的等待时间,因而提高了系统的效率。cache又分为l1cache(一级缓存)和l2cache(二级缓存),l1cache主要是集成在cpu内部,而l2cache集成在主板上或是cpu上。
66.在筛选分析得到所述多个目标节点之后,对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源。其中,所述多个目标节点与所述多个目标节点资源具备对应关系。在对所述多个目标节点进行资源信息采集时,首先提取所述多个目标节点中的第一目标节点。其中,所述第一目标节点是指所述多个目标节点中的任意一个节点。然后组建资源类目集,其中,所述资源类目集包括cpu、内存、磁盘、网络。然后通过cache存储器对所述第一目标节点的所述cpu、所述内存、所述磁盘、所述网络依次进行采集,分别得到cpu资源、内存资源、磁盘资源、网络资源。其中,所述cache存储器为高速缓冲存储器,是位于cpu和主存储器之间的存储器。cache存储器的容量较小但速度很高,可以保存cpu刚用过或循环使用的一部分数据,如果cpu需要再次使用该部分数据时可从cache中直接调用,这样就避免了重复存取数据,减少了cpu的等待时间,因而提高了系统的效率。将所述cpu资源、所述内存资源、所述磁盘资源、所述网络资源进行组合,得到所述第一目标节点的第一目标节点资源。在采集各个目标节点的资源数据时,利用cache的方法可以达到降低收集等待时间、提高收集效率的效果。
67.s300:获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;
68.本实施例中,上述s300,还包括以下步骤:
69.第一步,提取所述多个目标节点资源中的第一目标节点资源;
70.第二步,对所述第一目标节点资源进行标准化处理,得到第一目标节点信息;标准化处理包括不限于归一化等处理方式;
71.第三步,基于所述第一目标节点信息得到第一节点资源分值,并根据所述第一节点资源分值得到第一目标节点分值。
72.如图4所示,本实施例中,基于所述第一目标节点信息得到第一节点资源分值,并根据所述第一节点资源分值得到第一目标节点分值,还包括以下步骤:
73.首先,基于所述预设分数计算算法获得第二容器,其中,所述第二容器与所述第一
容器为同一调度任务中的待调度容器;
74.然后,获得所述第二容器的第二节点,其中,所述第二节点是指所述预设调度器为所述第二容器分配的节点;
75.接着,获得所述第二节点的第二占用资源分值,并结合所述第一节点资源分值计算得到所述第一目标节点分值,其中,所述第一目标节点分值的计算公式如下:
76.f(n)=g(n)+a*h(n)
77.最后,其中,所述n是指所述第一容器在所述第一目标节点的第n次分配,所述f(n)是指所述第一目标节点分值,所述g(n)是指所述第一节点资源分值,所述a是指相关系数,所述h(n)是指所述第二占用资源分值。
78.所述预设分数计算算法是指对目标节点依次进行分数计算的规则。基于所述预设分数计算算法对所述多个目标节点资源进行处理,可以得到所述多个目标节点的多个目标节点分值。首先提取所述多个目标节点资源中的第一目标节点资源,并对所述第一目标节点资源进行标准化处理,并根据标准化处理结果得到第一目标节点信息。其中,所述预设分数计算算法的原理是:为了提高可用性和性能,使任务调度尽可能的均匀,同一节点针对同一任务分配权重降低,并通过历史pod分配近况进行总结分析资源的占用情况。然后,基于所述第一目标节点信息得到第一节点资源分值,并根据所述第一节点资源分值得到第一目标节点分值。基于所述预设分数计算算法获得第二容器,其中,所述第二容器与所述第一容器为同一调度任务中的待调度容器。也就是说,所述第二容器为对第一容器进行调度的任务中的其他任意一个容器。接着,获得所述第二容器的第二节点,其中,所述第二节点是指所述预设调度器为所述第二容器分配的节点。最后,获得所述第二节点的第二占用资源分值,并结合所述第一节点资源分值计算得到所述第一目标节点分值,其中,所述第一目标节点分值的计算公式如下:
79.f(n)=g(n)+a*h(n)
80.其中,所述n是指所述第一容器在所述第一目标节点的第n次分配,所述f(n)是指所述第一目标节点分值,所述g(n)是指所述第一节点资源分值,所述a是指相关系数,所述h(n)是指所述第二占用资源分值。最终,根据任务的类型是io密集型还是计算密集型计算匹配相似度,得出每个节点对应的分值信息;其中,
[0081][0082][0083]
式中:p(0《p《1)表示资源分配时信息素的蒸发系数,1-p表示信息素的持久性系数;表示本次分配中信息素的增量,为pod在节点中占用资源情况,k为1到n-1的正整数。
[0084]
h(n)=1/(η*(d(n)+1))
[0085]
η为启发式因子,反应容器pod从任务分配到节点的启发度,d(n)为pod第n次分配的综合耗能。
[0086]
s400:筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;
[0087]
s500:获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进
行调度绑定。
[0088]
如图5所示,本实施例中,还包括以下步骤:
[0089]
首先,获得预设验证方案,其中,所述预设验证方案包括第一预设验证方案、第二预设验证方案;
[0090]
然后,基于所述第一预设验证方案,对所述预设调度器进行验证分析,得到所述预设调度器的调度均衡指数;
[0091]
接着,基于所述第二预设验证方案,对所述预设调度器进行验证分析,得到所述预设调度器的调度效率指数;
[0092]
最后,根据所述调度均衡指数、所述调度效率指数,对所述预设调度器进行评估。
[0093]
本实施例中,还包括以下步骤:
[0094]
第一步,组建测试节点集,其中,所述测试节点集包括多个测试节点;
[0095]
第二步,对所述多个测试节点进行调度测试,得到第一调度测试结果,并根据所述第一调度测试结果计算得到所述调度均衡指数;
[0096]
第三步,获得预设虚拟节点,并得到所述预设虚拟节点的预设容器集,其中,所述预设容器集包括多个预设容器;
[0097]
第四步,对所述多个预设容器进行调度测试,得到第二调度测试结果,并根据所述第二调度测试结果得到所述调度效率指数。
[0098]
在依次计算得到所述多个目标节点的多个目标节点分值之后,根据节点分值大小对所述多个目标节点进行筛选,从而得到所述多个目标节点分值中的最高目标节点分值,进而反向匹配所述最高目标节点分值的节点,并将其记作所述第一节点。进一步的,获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定,从而实现对所述第一容器的云调度。
[0099]
进一步的,在应用于大数据领域的云调度的系统实现所述第一容器的云调度目标之后,为对所述应用于大数据领域的云调度的系统的云调度效果进行全面、客观、准确的评价,特设计验证方案对其进行针对性验证。首先,获得预设验证方案,其中,所述预设验证方案包括第一预设验证方案、第二预设验证方案。所述第一预设验证方案用于对所述应用于大数据领域的云调度的系统进行调度均衡性验证。示范性的如,组建测试节点集,其中,所述测试节点集包括多个测试节点,然后对所述多个测试节点进行调度测试,得到第一调度测试结果。接着,依次计算调度后各个测试节点上同等级容器的数量的方差值,即作为对应测试节点的均衡度,对比各个测试节点的均衡度,即得到所述调度均衡指数。其中,调度均衡指数越小,对应测试节点中容器分布越均衡。所述第二预设验证方案用于对所述应用于大数据领域的云调度的系统进行压力测试。示范性的如,获得预设虚拟节点,并得到所述预设虚拟节点的预设容器集,其中,所述预设容器集包括多个预设容器。然后,对所述多个预设容器进行调度测试,得到第二调度测试结果,并根据所述第二调度测试结果得到所述调度效率指数。也就是说创建大量容器对所述应用于大数据领域的云调度的系统中的预设调度器进行压力检测,统计出调度完特定数目的容器的调度时间。其中,调度消耗时间越长,对应效率越低,反之说明调度效率高,也说明系统性能好。基于所述第一预设验证方案,对所述预设调度器进行验证分析,得到所述预设调度器的调度均衡指数,基于所述第二预设验证方案,对所述预设调度器进行验证分析,得到所述预设调度器的调度效率指数。最后,
根据所述调度均衡指数、所述调度效率指数,对所述预设调度器进行评估。也就是说,虽然预设调度器具有可行性,但是客观上的确增加了调度器以及系统的计算量,如果在提高均衡度的同时带来了极大的性能损失,那么无疑算法是失败的。因此必须验证预设调度器的调度效率。
[0100]
本发明通过组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中,所述目标节点集包括多个目标节点;对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定。相较于现有技术,本发明通过预设调度器可以达到提高容器调度时的节点利用率,同时达到提高资源分配均衡性的效果。
[0101]
本发明提出一种应用于大数据领域的云调度的程序。
[0102]
请参阅图6,是本发明应用于大数据领域的云调度的程序10的运行环境示意图。
[0103]
在本实施例中,应用于大数据领域的云调度的程序10安装并运行于电子装置(应用于大数据领域的云调度的系统)6中。电子装置6可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该电子装置6可包括,但不仅限于,存储器61、处理器62及显示器63。图6仅示出了具有组件61-63的电子装置6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0104]
存储器61在一些实施例中可以是电子装置6的内部存储单元,例如该电子装置6的硬盘或内存。存储器61在另一些实施例中也可以是电子装置6的外部存储设备,例如电子装置6上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器61还可以既包括电子装置6的内部存储单元也包括外部存储设备。存储器61用于存储安装于电子装置6的应用软件及各类数据,例如应用于大数据领域的云调度的程序10的程序代码等。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
[0105]
处理器62在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行存储器61中存储的程序代码或处理数据,例如执行应用于大数据领域的云调度的程序10等。
[0106]
显示器63在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。显示器63用于显示在电子装置6中处理的信息以及用于显示可视化的用户界面。电子装置6的部件11-13通过程序总线相互通信。
[0107]
请参阅图7,是本发明应用于大数据领域的云调度的程序10的程序模块图。
[0108]
在本实施例中,应用于大数据领域的云调度的程序10可以被分割成一个或多个模块,一个或者多个模块被存储于存储器61中,并由一个或多个处理器(本实施例为处理器62)所执行,以完成本发明。例如,在图7中,应用于大数据领域的云调度的程序10可以被分割成组建模块701、采集模块702、处理模块703、筛选模块704、执行模块705。本发明所述的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述应用于大数
据领域的云调度的程序10在电子装置6中的执行过程,其中:
[0109]
组建模块701:组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中,所述目标节点集包括多个目标节点;
[0110]
采集模块702:对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;
[0111]
处理模块703:获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;
[0112]
筛选模块704:筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;
[0113]
执行模块705:获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定。
[0114]
本技术还提供一种电子设备/系统,其中,包括处理器和存储器;
[0115]
该处理器,用于处理执行上述实施例一中任一项所述应用于大数据领域的云调度的方法的步骤;
[0116]
该存储器,该存储器与该处理器耦合,用于存储程序,当应用于大数据领域的云调度的程序被该处理器执行时,使系统以执行上述任一项应用于大数据领域的云调度的方法的步骤。
[0117]
进一步地,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有应用于大数据领域的云调度的程序,所述应用于大数据领域的云调度的程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任一实施例中的应用于大数据领域的云调度的方法。
[0118]
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

技术特征:


1.一种应用于大数据领域的云调度的方法,其特征在于,所述方法包括:组建步骤:组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中,所述目标节点集包括多个目标节点;采集步骤:对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;处理步骤:获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;筛选步骤:筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;执行步骤:获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定。2.根据权利要求1所述的方法,其特征在于,所述组建步骤,具体包括:获得所述第一容器的第一容器特征,并将所述第一容器特征作为第一筛选约束;获得预设阈值,其中,所述预设阈值包括第一预设阈值、第二预设阈值;将所述第一预设阈值作为第二筛选约束,将所述第二预设阈值作为第三筛选约束;基于所述第一筛选约束、所述第二筛选约束、所述第三筛选约束,得到所述预设筛选方案。3.根据权利要求1所述的方法,其特征在于,所述采集步骤,具体包括:提取所述多个目标节点中的第一目标节点;组建资源类目集,其中,所述资源类目集包括cpu、内存、磁盘、网络;通过cache存储器对所述第一目标节点的所述cpu、所述内存、所述磁盘、所述网络依次进行采集,分别得到cpu资源、内存资源、磁盘资源、网络资源;将所述cpu资源、所述内存资源、所述磁盘资源、所述网络资源进行组合,得到所述第一目标节点的第一目标节点资源。4.根据权利要求1所述的方法,其特征在于,所述处理步骤,具体包括:提取所述多个目标节点资源中的第一目标节点资源;对所述第一目标节点资源进行标准化处理,得到第一目标节点信息;基于所述第一目标节点信息得到第一节点资源分值,并根据所述第一节点资源分值得到第一目标节点分值。5.根据权利要求4所述的方法,其特征在于,所述基于所述第一目标节点信息得到第一节点资源分值,并根据所述第一节点资源分值得到第一目标节点分值,包括:基于所述预设分数计算算法获得第二容器,其中,所述第二容器与所述第一容器为同一调度任务中的待调度容器;获得所述第二容器的第二节点,其中,所述第二节点是指所述预设调度器为所述第二容器分配的节点;获得所述第二节点的第二占用资源分值,并结合所述第一节点资源分值计算得到所述第一目标节点分值,其中,所述第一目标节点分值的计算公式如下:f(n)=g(n)+a*h(n)其中,所述n是指所述第一容器在所述第一目标节点的第n次分配,所述f(n)是指所述
第一目标节点分值,所述g(n)是指所述第一节点资源分值,所述a是指相关系数,所述h(n)是指所述第二占用资源分值。6.根据权利要求1所述的方法,其特征在于,还包括:获得预设验证方案,其中,所述预设验证方案包括第一预设验证方案、第二预设验证方案;基于所述第一预设验证方案,对所述预设调度器进行验证分析,得到所述预设调度器的调度均衡指数;基于所述第二预设验证方案,对所述预设调度器进行验证分析,得到所述预设调度器的调度效率指数;根据所述调度均衡指数、所述调度效率指数,对所述预设调度器进行评估。7.根据权利要求6所述的方法,其特征在于,还包括:组建测试节点集,其中,所述测试节点集包括多个测试节点;对所述多个测试节点进行调度测试,得到第一调度测试结果,并根据所述第一调度测试结果计算得到所述调度均衡指数;获得预设虚拟节点,并得到所述预设虚拟节点的预设容器集,其中,所述预设容器集包括多个预设容器;对所述多个预设容器进行调度测试,得到第二调度测试结果,并根据所述第二调度测试结果得到所述调度效率指数。8.一种应用于大数据领域的云调度的系统,所述应用于大数据领域的云调度的系统包括存储器和处理器,其特征在于,所述存储器上存储有应用于大数据领域的云调度的程序,所述应用于大数据领域的云调度的程序被所述处理器执行时实现如下步骤:组建步骤:组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中,所述目标节点集包括多个目标节点;采集步骤:对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;处理步骤:获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;筛选步骤:筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;执行步骤:获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定。9.一种应用于大数据领域的云调度的系统,其特征在于,包括处理器和存储器;所述处理器,用于处理执行权利要求1-7中任一项所述的方法;所述存储器,所述存储器与所述处理器耦合,用于存储程序,当所述程序被所述处理器执行时,使系统以执行权利要求1-7中任一项所述方法的步骤。

技术总结


本发明揭露了一种应用于大数据领域的云调度的方法。本发明组建节点集,并利用预设筛选方案对所述节点集进行筛选,得到目标节点集,其中包括多个目标节点;对所述多个目标节点中各目标节点依次进行信息采集,得到多个目标节点资源;获得预设分数计算算法,并基于所述预设分数计算算法对所述多个目标节点资源进行处理,得到所述多个目标节点的多个目标节点分值;筛选所述多个目标节点分值得到最高目标节点分值,反向匹配所述最高目标节点分值的节点,记作第一节点;获得第一容器,并通过预设调度器将所述第一容器分配至所述第一节点进行调度绑定。相较于现有技术,本发明可提高节点利用率,同时提高资源分配均衡性。同时提高资源分配均衡性。同时提高资源分配均衡性。


技术研发人员:

秦永波 杨明

受保护的技术使用者:

秦永波

技术研发日:

2022.11.29

技术公布日:

2023/3/24

本文发布于:2024-09-24 11:31:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/78760.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   节点   多个   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议