CN110888728B - 一种Kettle集群服务器的任务调度方法 - Google Patents

一种Kettle集群服务器的任务调度方法 Download PDF

Info

Publication number
CN110888728B
CN110888728B CN201911217132.9A CN201911217132A CN110888728B CN 110888728 B CN110888728 B CN 110888728B CN 201911217132 A CN201911217132 A CN 201911217132A CN 110888728 B CN110888728 B CN 110888728B
Authority
CN
China
Prior art keywords
task
server
servers
matrix
pheromone
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
CN201911217132.9A
Other languages
English (en)
Other versions
CN110888728A (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.)
China Power Industry Internet Co ltd
Original Assignee
China Power Industry Internet 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 China Power Industry Internet Co ltd filed Critical China Power Industry Internet Co ltd
Priority to CN201911217132.9A priority Critical patent/CN110888728B/zh
Publication of CN110888728A publication Critical patent/CN110888728A/zh
Application granted granted Critical
Publication of CN110888728B publication Critical patent/CN110888728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种Kettle集群服务器的任务调度方法,包括基于每个任务在各服务器上的完成时间进行协调过滤,得到各服务器对每个任务的推荐分数;基于各服务器的状态指标得到各服务器的负载状况分数;基于各服务器对每个任务的推荐分数与各服务器的负载状况分数得到每一任务在任意两个服务器之间转移的启发因子;基于每一任务在任意两个服务器之间转移的启发因子结合蚁群算法在集群服务器中进行迭代搜索,得到最终任务调度分配方案。利用人工蚁群算法调度分配Kettle系统上的数据处理任务,可以最大化Kettle服务器集群系统的资源利用率,达到服务器的负载均衡,提升系统性能,提高数据清洗抽取加载过程的效率,进而改进客户体验、提高工作效率,以提升企业的效益。

Description

一种Kettle集群服务器的任务调度方法
技术领域
本发明涉及集群调度技术领域,具体是一种Kettle集群服务器的任务调度方法。
背景技术
ETL(Extration抽取-Transformation转换-Loading加载)是一个或多个数据源输入,进行特定加工处理,再输出到一个或多个数据源构成的流程。而ETL集群的调度是指中心调度节点分配ETL任务到集群中服务节点的过程。Kettle作为用户规模最多的开源ETL(Extration抽取-Transformation转换-Loading加载)工具,包括作业和转换两种任务类型,转换中包含了具体的操作组件。其强大简洁的功能深受广大ETL从业者的欢迎。在搭建于集群服务器的Kettle平台上,经常需要进行高负载的大数据抽取、转换、清洗等工作,而集群内服务节点的数量往往有限。因此,解决集群内各服务器之间任务如何分配的问题成为必要。
目前,对于现有的搭建在集群服务器上的Kettle系统,并没有智能的作业调度方法,几乎都是人工手动指定将任务加在哪台主机,效率十分低,而且一般集群内服务节点的数量往往有限,集群内服务器负载差异太大往往造成资源严重浪费。手动指定任务分配有如下缺陷:
1、操作员并不是时刻都清楚哪台服务器空余资源更多,每当新任务来临时,大多数只能凭感觉和经验进行分配,极易导致服务器集群负载不均衡。闲置的没有被利用上,而繁忙的更繁忙,系统运行缓慢。
2、手动指定增加了工作人员的任务量,在进行数据转换的逻辑程序编写的同时,还需要顾虑到任务的分配问题,拉低了Kettle系统及使用系统的团队完成工作的效率。
发明内容
针对上述现有技术的不足,本发明提供一种Kettle集群服务器的任务调度方法。
为实现上述目的,本发明提供一种Kettle集群服务器的任务调度方法,包括如下步骤:
步骤1,基于每个任务在Kettle集群服务器中各服务器上的完成时间进行协调过滤,得到各服务器对每个任务的推荐分数;
步骤2,基于各服务器的状态指标得到各服务器的负载状况分数;
步骤3,基于各服务器对每个任务的推荐分数与各服务器的负载状况分数得到每一任务在任意两个服务器之间转移的启发因子;
步骤4,基于每一任务在任意两个服务器之间转移的启发因子结合蚁群算法在集群服务器中进行迭代搜索,得到最终任务调度分配方案。
作为上述技术方案的进一步改进,步骤1中,所述协调过滤的过程为:
步骤1.1,构建任务服务器模型,得到任务特征矩阵tasks:
Figure BDA0002299796440000021
其中,Taskm表示第m个任务、Servern表示Kettle集群服务器中第n个服务器、tm,n表示任务m在服务器n上完成时间、
Figure BDA0002299796440000031
表示任务m对服务器n的评分、m=1,2,3```、n=1,2,3```;
步骤1.2,将任务特征矩阵tasks中的每一行与其余行做相似度分析,得到任意两个任务之间的相关系数:
Figure BDA0002299796440000032
式中,Simi(x,y)表示任务x与任务y的相关系数、Tx,s表示任务x对服务器s的评分、Ty,s表示任务y对服务器s的评分、
Figure BDA0002299796440000033
表示任务x对所有服务器评分的平均值、
Figure BDA0002299796440000034
表示任务y对所有服务器评分的平均值;
步骤1.3,根据所有的相关系数建立相似度矩阵,基于相似度矩阵得到每一个任务的最近邻居集,所述最近邻居集中包含有N个与当前任务最接近的任务;
步骤1.4,基于当前任务的最近邻居集得到服务器的对当前任务的推荐分数:
Figure BDA0002299796440000035
式中,predictionu,j表示服务器j对任务u的推荐分数、
Figure BDA0002299796440000036
表示所有任务对服务器j的评分的平均值、o表示任务u的最近邻居集中的任务、corro表示任务u与任务o的相似度、ratingo表示任务o对服务器j的评分,
Figure BDA0002299796440000037
表示任务o的最近邻居集中的所有任务对服务器j的评分的平均值。
作为上述技术方案的进一步改进,步骤2中,所述服务器的状态指标包括服务器的:
内存状况X1,具体包括服务器的物理内存剩余X11、虚拟内存大小X12与空间存储器大小X13
CPU状况X2,具体包括服务器的CPU利用率X21、队列任务数X22与进程切换率X23
磁盘状况X3,具体包括服务器的磁盘利用率X31、读取写入速度X32、当前请求数量X33
网络状况X4,具体包括服务器的发送接受字节速率X41、发送接受数据包速率X42与网络流量X43
作为上述技术方案的进一步改进,步骤2中,所述服务器的负载状况分数具体为:
serverj(t)=k1X1+k2X2+k3X3+k4X4
Figure BDA0002299796440000041
Figure BDA0002299796440000042
式中,serverj(t)为服务器j在t时刻的负载状况分数。
作为上述技术方案的进一步改进,步骤3中,所述启发因子具体为:
ηij(t)=ω1·predictionu,j2·serverj(t)
式中,ηij(t)表示在t时刻任务u从服务器i转移到服务器j的启发因子,ω1、ω2为权重因子。
作为上述技术方案的进一步改进,步骤4中,所述基于每一任务在任意两个服务器之间转移的启发因子结合蚁群算法在集群服务器中进行迭代搜索的具体过程为:
步骤4.1,初始化信息素矩阵与任务分配概率矩阵,其中,所述任务分配概率矩阵通过信息素矩阵与启发因子获取;
步骤4.2,每只蚂蚁根据信息素矩阵与任务分配概率矩阵选择任务分配方案;
步骤4.3,进行信息素浓度的更新,得到更新后的信息素矩阵与任务分配概率矩阵;
步骤4.4,重复步骤4.2-步骤4.4直至达到迭代终止条件,此时的任务分配方案即为最终任务调度分配方案。
作为上述技术方案的进一步改进,步骤4.1中,所述任务分配概率矩阵通过信息素矩阵与启发因子获取,具体为:
Figure BDA0002299796440000051
式中,
Figure BDA0002299796440000052
表示在t时刻蚂蚁k由服务器i转移到服务器j的概率、k=1,2,```,m、τij(t)表示t时刻在服务器i与服务器j连线上信息素浓度、α,β分别表示信息素浓度τij(t)及启发因子ηij在蚂蚁路径选择概率决定的权重分配、allowedk={0,1,...,n-1}表示蚂蚁k下一步允许选择的服务器。
作为上述技术方案的进一步改进,步骤4.3中,所述进行信息素浓度的更新,具体为:
τij(t+n)=ρ·τij(t)+Δτij
Figure BDA0002299796440000053
Figure BDA0002299796440000054
式中,t+n表示经过n个时刻蚂蚁完成一次循环、(1-ρ)表示信息消逝程度、
Figure BDA0002299796440000055
表示第k只蚂蚁在本次循环中留在路径i,j上的信息素、Δτij表示本次循环留在路径i,j上的信息素、Q是常数,Lk表示第k只蚂蚁在本次循环中走过的路径长度。
作为上述技术方案的进一步改进,步骤4.4中,所述迭代终止条件为迭代达到预设最大循环次数时停止计算或当进化趋势不明显时便停止计算。
本发明提供的一种Kettle集群服务器的任务调度方法,利用人工蚁群算法调度分配Kettle系统上的数据处理任务,可以最大化Kettle服务器集群系统的资源利用率,达到服务器的负载均衡,提升系统性能,提高数据清洗抽取加载过程的效率,进而改进客户体验、提高工作效率,以提升企业的效益。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例中Kettle集群服务器的任务调度方法的流程示意图;
图2为本发明实施例中协调过滤的流程示意图;
图3为本发明实施例中迭代搜索的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是物理连接或无线通信连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
蚁群算法是受到真实蚁群行为研究的启发而提出的。蚂蚁个体之间通过信息素来进行信息传递,整个蚁群会随着迭代次数的增加,逐渐集中到信息素浓度最高的那条路径。
协同过滤与传统推荐算法不同,他它是找到特定“用户”的相似“用户”,根据相似的“用户”对“商品”的评价分数,从而对此“用户”进行推荐“商品”的过程。在本实施例中,“用户”即为任务,“商品”即为服务器,目标是给相似的任务推荐服务器。
而Kettle集群服务器模式是对Kettle单服务器模式的提升,是比较常用的生产部署方式。集群内部节点处理任务能力并不是完全一样的,不同数据转换任务的复杂度也不一样。这就需要应用到蚁群算法,来最优化任务调度与分配,达到服务器的最大化利用率。
队列中待调度的任务先后要需要经过相似度、推荐算法、蚁群算法的计算,再根据算法最终结果指导中心节点服务器如何实行调度,中心节点再按方案将不同任务分配给各个子节点服务器,时刻保持集群服务器系统的负载均衡。
如图1所示的一种Kettle集群服务器的任务调度方法,包括如下步骤:
步骤1,基于每个任务在Kettle集群服务器中各服务器上的完成时间进行协调过滤,得到各服务器对每个任务的推荐分数,其中,参考图2,所述协调过滤的过程为:
步骤1.1,构建任务服务器模型,得到任务特征矩阵tasks(taskNum行×nodeNum列):
Figure BDA0002299796440000081
其中,Taskm表示第m个任务、Servern表示Kettle集群服务器中的第n个服务器、tm,n表示任务m在服务器n上完成时间、
Figure BDA0002299796440000082
表示任务m对服务器n的评分、m=1,2,3```、n=1,2,3```;
步骤1.2,将任务特征矩阵tasks中的每一行与其余行做相似度分析,得到任意两个任务之间的相关系数:
Figure BDA0002299796440000091
式中,Simi(x,y)表示任务x与任务y的相关系数、Tx,s表示任务x对服务器s的评分、Ty,s表示任务y对服务器s的评分、
Figure BDA0002299796440000092
表示任务x对所有服务器评分的平均值、
Figure BDA0002299796440000093
表示任务y对所有服务器评分的平均值,Servers表示服务器s属于Kettle集群服务器中;
步骤1.3,根据所有的相关系数建立相似度矩阵Simi,具体为将计算出的所有相关系数按序号放置即可;有了相似度矩阵Simi后,基于相似度矩阵Simi即可确定与当前任务最相似的N个任务构成的“最近邻居集”,即最近邻居集中包含有N个与当前任务最接近的任务;
步骤1.4,基于当前任务的最近邻居集得到服务器的对当前任务的推荐分数:
Figure BDA0002299796440000094
式中,predictionu,j表示服务器j对任务u的推荐分数、
Figure BDA0002299796440000095
表示所有任务对服务器j的评分的平均值、o表示任务u的最近邻居集中的任务、corro表示任务u与任务o的相似度、ratingo表示任务o对服务器j的评分,
Figure BDA0002299796440000096
表示任务o的最近邻居集中的所有任务对服务器j的评分的平均值。
步骤2,基于各服务器的状态指标得到各服务器的负载状况分数,所述服务器的状态指标包括服务器的:
内存状况X1,具体包括服务器的物理内存剩余X11、虚拟内存大小X12与空间存储器大小X13
CPU状况X2,具体包括服务器的CPU利用率X21、队列任务数X22与进程切换率X23
磁盘状况X3,具体包括服务器的磁盘利用率X31、读取写入速度X32、当前请求数量X33
网络状况X4,具体包括服务器的发送接受字节速率X41、发送接受数据包速率X42与网络流量X43
因此所述服务器的负载状况分数具体为:
serverj(t)=k1X1+k2X2+k3X3+k4X4
Figure BDA0002299796440000101
Figure BDA0002299796440000102
式中,serverj(t)为服务器j在t时刻的负载状况分数,a11、a12、a13、a21、a22、a23、a31、a32、a33、a41、a42、a43、k1、k2、k3、k4均为权重系数。
步骤3,基于各服务器对每个任务的推荐分数与各服务器的负载状况分数得到每一任务在任意两个服务器之间转移的启发因子,具体为:
ηij(t)=ω1·predictionu,j2·serverj(t)
式中,ηij(t)表示在t时刻任务u从服务器i转移到服务器j的启发因子,ω1、ω2为权重因子,ω12=1。
步骤4,基于每一任务在任意两个服务器之间转移的启发因子结合蚁群算法在集群服务器中进行迭代搜索,得到最终任务调度分配方案,参考图3,具体为:
步骤4.1,初始化信息素矩阵与任务分配概率矩阵,其中,所述任务分配概率矩阵通过信息素矩阵与启发因子获取;
步骤4.2,每只蚂蚁根据信息素矩阵与任务分配概率矩阵选择任务分配方案;
步骤4.3,进行信息素浓度的更新,得到更新后的信息素矩阵与任务分配概率矩阵;
步骤4.4,重复步骤4.2-步骤4.4直至达到迭代终止条件,此时的任务分配方案即为最终任务调度分配方案。
步骤4.1中,所述任务分配概率矩阵通过信息素矩阵与启发因子获取,具体为:
Figure BDA0002299796440000111
式中,
Figure BDA0002299796440000112
表示在t时刻蚂蚁k由服务器i转移到服务器j的概率、k=1,2,```,m、τij(t)表示t时刻在服务器i与服务器j连线上信息素浓度、α,β分别表示信息素浓度τij(t)及启发因子ηij在蚂蚁路径选择概率决定的权重分配、allowedk={0,1,...,n-1}表示蚂蚁k下一步允许选择的服务器。
步骤4.3中,所述进行信息素浓度的更新,具体为:
τij(t+n)=ρ·τij(t)+Δτij
Figure BDA0002299796440000113
Figure BDA0002299796440000114
式中,t+n表示经过n个时刻蚂蚁完成一次循环、(1-ρ)表示信息消逝程度、
Figure BDA0002299796440000115
表示第k只蚂蚁在本次循环中留在路径i,j上的信息素、Δτij表示本次循环留在路径i,j上的信息素、Q是常数,Lk表示第k只蚂蚁在本次循环中走过的路径长度。
步骤4.4中,所述迭代终止条件为迭代达到预设最大循环次数时停止计算或当进化趋势不明显时便停止计算。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

Claims (5)

1.一种Kettle集群服务器的任务调度方法,其特征在于,包括如下步骤:
步骤1,基于每个任务在Kettle集群服务器中各服务器上的完成时间进行协调过滤,得到各服务器对每个任务的推荐分数;
步骤2,基于各服务器的状态指标得到各服务器的负载状况分数;
步骤3,基于各服务器对每个任务的推荐分数与各服务器的负载状况分数得到每一任务在任意两个服务器之间转移的启发因子;
步骤4,基于每一任务在任意两个服务器之间转移的启发因子结合蚁群算法在集群服务器中进行迭代搜索,得到最终任务调度分配方案;
步骤1中,所述协调过滤的过程为:
步骤1.1,构建任务服务器模型,得到任务特征矩阵tasks:
Figure FDA0003651142360000011
其中,Taskm表示第m个任务、Servern表示Kettle集群服务器中第n个服务器、tm,n表示任务m在服务器n上完成时间、
Figure FDA0003651142360000012
表示任务m对服务器n的评分、m=1,2,3```、n=1,2,3```;
步骤1.2,将任务特征矩阵tasks中的每一行与其余行做相似度分析,得到任意两个任务之间的相关系数:
Figure FDA0003651142360000013
式中,Simi(x,y)表示任务x与任务y的相关系数、Tx,s表示任务x对服务器s的评分、Ty,s表示任务y对服务器s的评分、
Figure FDA0003651142360000021
表示任务x对所有服务器评分的平均值、
Figure FDA0003651142360000022
表示任务y对所有服务器评分的平均值;
步骤1.3,根据所有的相关系数建立相似度矩阵,基于相似度矩阵得到每一个任务的最近邻居集,所述最近邻居集中包含有N个与当前任务最接近的任务;
步骤1.4,基于当前任务的最近邻居集得到服务器的对当前任务的推荐分数:
Figure FDA0003651142360000023
式中,predictionu,j表示服务器j对任务u的推荐分数、
Figure FDA0003651142360000024
表示所有任务对服务器j的评分的平均值、o表示任务u的最近邻居集中的任务、corro表示任务u与任务o的相似度、ratingo表示任务o对服务器j的评分,
Figure FDA0003651142360000025
表示任务o的最近邻居集中的所有任务对服务器j的评分的平均值;
步骤2中,所述服务器的状态指标包括服务器的:
内存状况X1,具体包括服务器的物理内存剩余X11、虚拟内存大小X12与空间存储器大小X13
CPU状况X2,具体包括服务器的CPU利用率X21、队列任务数X22与进程切换率X23
磁盘状况X3,具体包括服务器的磁盘利用率X31、读取写入速度X32、当前请求数量X33
网络状况X4,具体包括服务器的发送接受字节速率X41、发送接受数据包速率X42与网络流量X43
步骤2中,所述服务器的负载状况分数具体为:
serverj(t)=k1X1+k2X2+k3X3+k4X4
Figure FDA0003651142360000031
Figure FDA0003651142360000032
式中,serverj(t)为服务器j在t时刻的负载状况分数;
步骤3中,所述启发因子具体为:
ηij(t)=ω1·predictionu,j2·serverj(t)
式中,ηij(t)表示在t时刻任务u从服务器i转移到服务器j的启发因子,ω1、ω2为权重因子。
2.根据权利要求1所述Kettle集群服务器的任务调度方法,其特征在于,步骤4中,所述基于每一任务在任意两个服务器之间转移的启发因子结合蚁群算法在集群服务器中进行迭代搜索的具体过程为:
步骤4.1,初始化信息素矩阵与任务分配概率矩阵,其中,所述任务分配概率矩阵通过信息素矩阵与启发因子获取;
步骤4.2,每只蚂蚁根据信息素矩阵与任务分配概率矩阵选择任务分配方案;
步骤4.3,进行信息素浓度的更新,得到更新后的信息素矩阵与任务分配概率矩阵;
步骤4.4,重复步骤4.2-步骤4.4直至达到迭代终止条件,此时的任务分配方案即为最终任务调度分配方案。
3.根据权利要求2所述Kettle集群服务器的任务调度方法,其特征在于,步骤4.1中,所述任务分配概率矩阵通过信息素矩阵与启发因子获取,具体为:
Figure FDA0003651142360000041
式中,
Figure FDA0003651142360000042
表示在t时刻蚂蚁k由服务器i转移到服务器j的概率、k=1,2,```,m、τij(t)表示t时刻在服务器i与服务器j连线上信息素浓度、α,β分别表示信息素浓度τij(t)及启发因子ηij在蚂蚁路径选择概率决定的权重分配、allowedk={0,1,…,n-1}表示蚂蚁k下一步允许选择的服务器。
4.根据权利要求2所述Kettle集群服务器的任务调度方法,其特征在于,步骤4.3中,所述进行信息素浓度的更新,具体为:
τij(t+n)=ρ·τij(t)+Δτij
Figure FDA0003651142360000043
Figure FDA0003651142360000044
式中,t+n表示经过n个时刻蚂蚁完成一次循环、(1-ρ)表示信息消逝程度、
Figure FDA0003651142360000045
表示第k只蚂蚁在本次循环中留在路径i,j上的信息素、Δτij表示本次循环留在路径i,j上的信息素、Q是常数,Lk表示第k只蚂蚁在本次循环中走过的路径长度。
5.根据权利要求2所述Kettle集群服务器的任务调度方法,其特征在于,步骤4.4中,所述迭代终止条件为迭代达到预设最大循环次数时停止计算。
CN201911217132.9A 2019-12-03 2019-12-03 一种Kettle集群服务器的任务调度方法 Active CN110888728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911217132.9A CN110888728B (zh) 2019-12-03 2019-12-03 一种Kettle集群服务器的任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911217132.9A CN110888728B (zh) 2019-12-03 2019-12-03 一种Kettle集群服务器的任务调度方法

Publications (2)

Publication Number Publication Date
CN110888728A CN110888728A (zh) 2020-03-17
CN110888728B true CN110888728B (zh) 2022-06-28

Family

ID=69750031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911217132.9A Active CN110888728B (zh) 2019-12-03 2019-12-03 一种Kettle集群服务器的任务调度方法

Country Status (1)

Country Link
CN (1) CN110888728B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI749992B (zh) * 2021-01-06 2021-12-11 力晶積成電子製造股份有限公司 晶圓製造的管理方法及系統
CN114780247B (zh) * 2022-05-17 2022-12-13 中国地质大学(北京) 一种流速和资源感知的流应用调度方法及系统
CN117073684B (zh) * 2023-08-22 2024-03-19 广东技术师范大学 一种基于多任务蚁群算法的城市车辆导航方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335038B1 (ko) * 2011-08-26 2013-11-29 강원대학교산학협력단 위상 정렬 및 잉여 시간을 기반으로 하는 주기 및 비주기 실시간 태스크 스케줄링 알고리즘
CN102932422B (zh) * 2012-09-29 2014-12-10 南京邮电大学 基于改进蚁群算法的云环境任务调度方法
IN2013MU02879A (zh) * 2013-09-05 2015-07-03 Tata Consultancy Services Ltd
CN103631657B (zh) * 2013-11-19 2017-08-25 浪潮电子信息产业股份有限公司 一种基于MapReduce的任务调度方法
CN103970609B (zh) * 2014-04-24 2017-03-08 南京信息工程大学 一种基于改进蚁群算法的云数据中心任务调度方法
CN107329815B (zh) * 2017-06-26 2020-08-04 浙江工业大学 一种基于BP-Tabu搜索的云任务负载均衡调度方法
CN109711526B (zh) * 2018-12-20 2023-04-18 广东工业大学 基于svm和蚁群算法的服务器集群调度方法

Also Published As

Publication number Publication date
CN110888728A (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
CN110888728B (zh) 一种Kettle集群服务器的任务调度方法
CN109885397B (zh) 一种边缘计算环境中时延优化的负载任务迁移算法
CN108984301A (zh) 自适应云资源调配方法和装置
CN109800936B (zh) 基于树状搜寻的调度方法与使用该方法的电子装置
CN108875955A (zh) 基于参数服务器的梯度提升决策树的实现方法及相关设备
CN112685138B (zh) 云环境下基于多种群混合智能优化的多工作流调度方法
CN109636011A (zh) 一种基于改进的变邻域遗传算法的多班制计划排程法
Dutta et al. A smart job scheduling system for cloud computing service providers and users: modeling and simulation
CN108628672A (zh) 任务调度方法、系统、终端设备及存储介质
CN109948848A (zh) 一种云中科学工作流下截止期限约束的费用优化调度方法
CN109934416A (zh) 一种云中科学工作流下费用预算约束的时间优化调度方法
CN108197708A (zh) 一种基于Spark的并行化遗传算法
CN108170523B (zh) 一种移动云计算的随机任务序列调度方法
CN116501711A (zh) 一种基于“存算分离”架构的算力网络任务调度方法
CN115220898A (zh) 一种基于深度强化学习的任务调度方法、系统、装置及介质
CN109063870A (zh) 基于q学习的组合服务策略优化方法及系统
Zheng et al. Mutual benefit aware task assignment in a bipartite labor market
US8756093B2 (en) Method of monitoring a combined workflow with rejection determination function, device and recording medium therefor
CN105205536B (zh) 基于混合遗传算法的1553b总线消息传输优化方法
Yang et al. Trust-based scheduling strategy for cloud workflow applications
CN108182243A (zh) 一种基于Spark的分布式进化算法岛模型并行化方法
CN110119317A (zh) 一种基于遗传算法的云计算任务调度方法和系统
CN111367661A (zh) 基于樽海鞘群的云任务调度方法、装置、设备及存储介质
Fan et al. Associated task scheduling based on dynamic finish time prediction for cloud computing
CN103793504B (zh) 一种基于用户偏好与项目属性的聚类初始点选择方法

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 201, building 9, phase I, Changsha Zhongdian Software Park, No. 39, Jianshan Road, Changsha hi tech Development Zone, Changsha City, Hunan Province

Applicant after: CHINA POWER INDUSTRY INTERNET Co.,Ltd.

Address before: 410000 Room 201, Building 9, Changsha Zhongdian Software Park Phase I, 39 Jianshan Road, Yuelu District, Changsha City, Hunan Province

Applicant before: CHINA POWER INDUSTRY INTERNET Co.,Ltd.

GR01 Patent grant
GR01 Patent grant