一种基于性价比的storm任务调度方法技术

技术编号:36967288 阅读:49 留言:0更新日期:2023-03-22 19:27
本发明专利技术涉及大数据流处理领域,涉及一种基于性价比的storm任务调度方法。该方法包括基于Storm流处理框架,构建出基于流处理的性价比模型,提交拓扑后判断在性价比数据库中是否有该拓扑的性价比信息,若有则在满足时延SLA和资源约束的条件下,按照性价比优先级来放置线程,否则以默认调度算法的方式来放置;监控集群中的task线程的性能,统计成本信息,写入性价比数据库,评判出计算资源放置的性价比优先级列表,并更新优先级列表,重新提交该拓扑。使本发明专利技术方法能够有效地权衡流式作业运行时的综合性能和成本,使用图划分思想进一步优化集群调度的性能,并考虑了资源容量的情况,使得集群以高性价比的方式调度。得集群以高性价比的方式调度。得集群以高性价比的方式调度。

【技术实现步骤摘要】
一种基于性价比的storm任务调度方法


[0001]本专利技术涉及大数据流处理领域,具体涉及一种基于性价比的storm任务调度方法。

技术介绍

[0002]在大数据时代,流计算是一种实时计算框架,它能够在几分钟内将任意复杂的数据处理工作部署到数百到数千个计算节点上,然后实时地处理输入数据流,从中提取有价值的信息。由于越来越多的新兴应用场景严重依赖数据流的实时处理,流计算正获得很大的关注。现在有几个被广泛采用的流计算引擎,包括Apache Storm、Apache Flink、Apache Spark Streaming等。其中Storm引擎是很受欢迎的流计算系统之一。例如,雅虎选择的平台是Apache Storm,它取代了内部开发的S4平台。JStorm(现已并入Apache Storm)被阿里巴巴(Alibaba Inc.)使用。流计算系统几分钟内将任意复杂的数据处理工作部署到数百到数千个计算节点上。
[0003]Storm提供了一个可靠的消息处理框架来实现处理逻辑,它的三个主要组件是:Spout、Bolt和Topology(拓扑);在Storm中,流应用逻辑被抽象为流拓扑。拓扑是有向无环图(DAG)。DAG中的顶点表示spout或者bolt组件。Spout是数据流的源,通常从外部读取数据源,然后将元组发射到Bolt中。一个Bolt使用来自Spout或其他的Bolt的元组(tuple),并以用户提交的代码逻辑来进行处理。它们能够在多台物理主机上并行的执行任务。DAG中的边表示这些顶点之间的通信通道。DAG提交到流计算系统并部署在一个或多个计算节点上。在物理逻辑上,Storm集群是由其主节点Nimbus和从节点Supervisor组成的,它们之间是使用Zookeeper来进行通信。一旦用户提交拓扑信息,Nimbus就会根据其任务信息,将任务分发给各个节点下的Supervisor来进行处理。在任务调度方面,Storm中的任务调度是两级调度:(1)将进程分配给节点,(2)将线程分配给进程。
[0004]关于storm作业调度算法,前人给出了很多思路,比如成本效益和延迟感知的工作流调度算法、流拓扑模型和资源调度模型LR

Stream、最大吞吐量调度器、模型驱动的映射和分配调度算法、状态和运行时感知的弹性流计算系统调度框架等等。这些研究要么优化了调度的性能(如优化吞吐量和延迟,提高资源利用率,减少系统响应时间或能量消耗等),要么优化了调度的成本。然而对于性价比指标,却鲜有人研究。如何把握性能和价格的权衡尺度,把流式作业在满足资源约束和性能约束的情况下提供较具性价比的调度方案,是本领域技术人员亟待解决的技术问题。

技术实现思路

[0005]基于现有技术存在的问题,本专利技术提供了一种基于性价比的storm任务调度方法,所述性价比模型包括以下步骤:
[0006]S1、基于Storm流处理框架,构建出基于流处理的性价比模型;
[0007]S2、在提交拓扑任务前,把拓扑进行图划分,某些关联任务划分到同一个进程,若某个进程超过相应Slot资源阈值,则重新划分直到划分成功,提交拓扑;
[0008]S3、在提交拓扑任务后,判断性价比模型的数据库中是否存在该拓扑任务的性价比信息;
[0009]S4、若性价比模型的数据库中存在该任务的性价比信息,则获取当前拓扑任务的资源需求和时延SLA约束;若当前任务的资源需求超载或者不满足SLA时延约束,则调整并行度,重新提交该拓扑任务并返回步骤S3;否则根据数据库中的性价比优先级顺序表,在满足资源约束的情况下,以性价比最大化的调度策略来分配任务;
[0010]S5、若性价比模型的数据库中不存在该任务的性价比信息,则将当前拓扑任务按照默认的调度策略来分配任务,监控每个节点的性能并写入数据库;从数据库获取所需要的数据,计算每个节点所耗费的成本;通过性价比模型,计算各个节点的计算资源Slot的性价比,将其写入性价比模型的数据库中;根据性价比模型评判计算资源的性价比优先级顺序表,并更新任务放置列表,重新提交该拓扑任务并返回步骤S3。
[0011]本专利技术的有益效果:
[0012]本专利技术的任务调度方法能够基于关联任务图划分的思想,在满足Slot资源阈值的情况下,把某些关联任务放置到同一进程,提高作业处理性能;在作业调度前考虑了资源约束和时延SLA约束,以减少集群超载的情况,优化调度性能;有效地权衡流式作业运行时的综合性能和成本,使得集群以高性价比的方式调度拓扑任务;
附图说明
[0013]图1为本专利技术实施例中Storm的调度框架结构示意图;
[0014]图2为本专利技术实施例中关联任务分配到进程的示意图;
[0015]图3为本专利技术实施例中的基于性价比的storm任务调度方法的流程图。
具体实施方式
[0016]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0017]Storm大数据框架,如图1所示,一个流式计算作业(拓扑)在提交到storm平台进行处理后,会由Nimbus通过在zookeeper上写状态信息来分配任务,而Supervisor则通过从Zookeeper上读取这些状态信息从而执行具体任务。一个流式作业拓扑逻辑上是一个拓扑结构,由多个Supervisor节点协同处理,每个Supervisor节点上又包含了多个进程;对于任意的进程上会运行一个或者多个线程,一个线程上运行一个或者多个task任务。task任务分为spout和bolt任务。Spout像适配器一样连接到Storm的数据源,将数据转换为元组,发射到下游的Bolt。Bolt可以被认为是运算操作或函数,上游Bolt处理完成之后可以把数据传送给下游Bolt进行下一步处理,各种bolt还可以串联成一个计算链条。
[0018]图3是本专利技术实施例的提供一种基于性价比的storm任务调度方法流程图,如图3所示,所述性价比模型至少包括:
[0019]S1、基于Storm流处理框架,构建出基于流处理的性价比模型;
[0020]S2、在提交拓扑任务前,把拓扑进行图划分,某些关联任务划分到同一个进程,若
某个进程超过节点Slot资源阈值,则重新划分直到划分成功,提交拓扑;
[0021]S3、在提交拓扑任务后,判断性价比模型的数据库中是否存在该拓扑任务的性价比信息;
[0022]S4、若性价比模型的数据库中存在该任务的性价比信息,则获取当前拓扑任务的资源需求和时延SLA约束;若当前任务的资源需求超载或者不满足SLA时延约束,则调整并行度,重新提交该拓扑任务并返回步骤S3;否则根据数据库中的性价比优先级顺序表,在满足资源约束的情况下,以性价比最大化的调度策略来分配任务;
[0023]S5、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于性价比的storm任务调度方法,其特征在于,包括以下步骤:S1、基于Storm流处理框架,构建出基于流处理的性价比模型;S2、在提交拓扑任务前,把拓扑进行图划分,将某些关联任务划分到同一个进程,若某个进程超过相应Slot资源阈值,则重新进行图划分直到划分成功,提交拓扑;S3、在提交拓扑任务后,判断性价比模型的数据库中是否存在该拓扑任务的性价比信息;S4、若性价比模型的数据库中存在该任务的性价比信息,则获取当前拓扑任务的资源需求和时延SLA约束;若当前任务的资源需求超载或者不满足SLA时延约束,则调整并行度,重新提交该拓扑任务并返回步骤S3;否则根据数据库中的性价比优先级顺序表,在满足资源约束的情况下,以性价比最大化的调度策略来分配任务;S5、若性价比模型的数据库中不存在该任务的性价比信息,则将当前拓扑任务按照默认的调度策略来分配任务,监控每个节点的性能并写入数据库;从数据库获取所需要的数据,计算每个节点所耗费的成本;通过性价比模型,计算各个节点的计算资源Slot的性价比,将其写入性价比模型的数据库中;根据性价比模型评判计算资源的性价比优先级顺序表,并更新任务放置列表,重新提交该拓扑任务并返回步骤S3。2.根据权利要求1所述的一种基于性价比的storm任务调度方法,其特征在于,步骤S2中,在满足Slot资源阈值前提下的拓扑任务图划分的具体步骤包括,寻找某拓扑任务的上下游的关联任务,封装进入进程,若当前图划分的进程的资源需求超过对应的Slot的资源阈值,则重新图划分,直到成功;图划分成功满足如下公式:W
R
<=αS
R
其中,表示第m个任务task
m
的资源需求,表示task
m
的某些上游关联任务的资源需求总和,表示task
m
的某些下游关联任务的资源需求总和;W
R
表示进程的资源需求,S
R
表示把该进程放置到的相应Slot的资源容量;α为一个常量系数。3.根据权利要求1所述的一种基于性价比的storm任务调度方法,其特征在于,所述基于性价比的Storm流处理框架包括Storm自定义调度器、主节点、从节点、性价比模型数据库;每个从节点包括多个进程和一个监控模块,所述监控模块用于监控从节点的计算资源的性能信息,并将数据信息写入性价比模型的数据...

【专利技术属性】
技术研发人员:李鸿健周涛熊安萍蒋溢
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1