CN107038071A - 一种基于数据流预测的Storm任务伸缩调度算法 - Google Patents
一种基于数据流预测的Storm任务伸缩调度算法 Download PDFInfo
- Publication number
- CN107038071A CN107038071A CN201710385355.0A CN201710385355A CN107038071A CN 107038071 A CN107038071 A CN 107038071A CN 201710385355 A CN201710385355 A CN 201710385355A CN 107038071 A CN107038071 A CN 107038071A
- Authority
- CN
- China
- Prior art keywords
- topology
- executor
- component
- tuple
- storm
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于数据流预测的Storm任务伸缩调度算法,属于数据交换网络领域。通过监控模块获得用户提交的Topology任务的实时运行数据,求解在满足组件负载的情况下Topology中相连组件的并行度,然后迭代求出Topology中所有组件的并行度。利用时间序列模型来预测Topology要处理的数据量,并求得在该情况下Topology中开始组件spout的较优并行度,获得预测情况下的Topology中各组件的较优并行度,并进行调度。在调度中使用线上调度算法,最大限度减少结点间的网络通信并保证集群的负载均衡。本发明克服了现有对Topology中各组件间的关联性考虑的不足,弥补了不能快速高效地求解到用户提交Topology中各组件的较优并行度的不足,具有提前预测变化、提高吞吐量、降低处理时延的优点。
Description
技术领域
本发明属于数据交换网络领域,涉及一种基于数据流预测的Storm任务伸缩调度算法。
背景技术
云计算、物联网、社交媒体以及移动互联网等新兴技术和应用模式的普及和推广,促使全球数据量急剧增加,推动人类社会进入大数据时代。在大数据背景下,数据蕴含了丰富的内涵和价值,数据的时效性越来越重要,数据的流式特征也越来越显著,流式计算的重要性也越来越突出。业界推出了S4、Spark、Storm等流式计算框架。Storm是个实时的、分布式的以及具备高容错的计算系统。Storm可以处理大批量的数据,也可以在保证高可靠性的前提下让处理进行得更实时化,能快速处理或输出所有信息。Storm具备容错和分布计算等特性,可以到不同的机器上进行大批量的数据处理。正因Storm所表现出来的强大功能,使得它被广泛应用于国内外的互联网企业,如Twitter、阿里巴巴、雅虎等。但在Storm的应用及研究中,发现其在多个方面都有待完善。
Storm是一个实时流式计算框架,时效性要求高,而调度算法的好坏直接影响到tuple的处理时延。Storm中默认的任务调度器使用轮询调度的策略,首先是计算集群中可供分配的slot资源,并判断当前已分配给运行Topology的slot是否需要重新分配,然后对可分配的slot进行排序。计算Topology的executor信息,最后将资源平均地分配给Topology。
在调度算法的优化上,业界已有许多相关研究:L.Aniello等提出了一种将相互通信频率高的executor调度到同一个slot上来减少网络通信的改进调度算法,分为离线版:分析Topology的静态结构,决定那些executor应该放在同一个slot;在线版:监控executor运行时的通信情况,将通信频率高的executor放到同一个slot。JielongXu等指出L.Aniello所提出的离线处理忽视了集群中结点的负载情况和在线处理的调度算法模型缺乏有力的数学证明。作者在此基础上进行了优化,提出将executor按照trafficload降序排列,然后按序依次将executor分配到负载最轻的slot上,同时每个workernode上同一个Topology的executor会被分配到同一个slot上和每个workernode的任务量不会过载。PengB等提出一种最大化资源利用率的同时最小化网络通信来提升系统性能的调度算法。其要解决的核心问题是:如何找到一种task到workernode的映射,使所有的资源请求都能够得到满足同时结点不会出现资源过载。LongS等结合Storm的不同应用场景,如恢复历史调度任务、单节点任务调度、资源需求调度等,对Storm的资源分配和调度算法做了改进。SunD等提出基于分布式QoS(qualityofservice)感知的调度算法,使得Storm适用于地理信息系统的研究中。
在上述的调度算法中,是针对用户配置好Topology任务并行度的调度,忽视了用户配置的Topology中的worker数和各个组件的executor数对处理性能也有着严重的影响。当Storm要处理的数据流比较平稳时,存在一个较优的各组件间的并行度关系,而用户很难在提交Topology时设置出各个组件的较优并行度,当设置不合理时会造成Tuple处理时延的增加。同时,在某些业务中,如微博中实时热词统计,Storm要处理的微博数据流是实时变化的,一天中存在高峰期低峰期,并且有时会因为某个事件出现爆炸式的增长,此时仅仅通过上述的调度算法的优化并不能达到目的。因此希望Storm计算框架中能预测要处理的数据流,动态调整Topology中各个组件的并行度,即对用户提交的任务能进行弹性伸缩。
在现有的关于Storm弹性伸缩中,对Topology中各组件间的关联性考虑不足,同时在弹性伸缩时采用简单的添加或较少各组件的并行度,直到获得较优的各组件并行度,这个过程中可能会进行多次任务调度,而每次任务调度是有时间开销的,因此在一定程度上增加了tuple的处理时延。同时现有的伸缩调整都是在系统负载发生变化时才对用户提交的Topology中各组件的并行度进行调整,而每次的调整都需要一定的时间,因此在一定程度上来说降低了系统的吞吐量。
发明内容
有鉴于此,本发明的目的在于提供一种基于数据流预测的Storm任务伸缩调度算法,提前预测变化,根据监控得到的运行数据快速高效的求得Topology中各组件的较优并行度,从而提高吞吐量,降低处理时延。
为达到上述目的,本发明提供如下技术方案:
一种基于数据流预测的Storm任务伸缩调度算法,包括以下步骤:
S1:设置目标函数;
S2:求解Topology中worker数和各个组件的executor数;
S3:预测Topology要处理的数据流并求解开始组件spout所需的executor数;
S4:任务调度。
进一步,所述S1设置目标函数为:其中,Ntuple为所处理tuple的数量,Trec为tuple由发送节点到处理节点所需的接受时间,Tqueue为tuple到处理节点后因bolt繁忙tuple排队的时间,Tproc为tuple的逻辑处理时间,Tsend为tuple处理完后形成新的tuple的发送时间。
进一步,所述S2具体为:
S201:确定Topology中开始组件spout所需的executor数,通过公式依次求得后继组件中的较优的executor数;其中,Nexecutori为第i个组件的executor数量,Nexecutori-1为第i-1个组件的executor数量,Vgenerate为前一组件的executor的tuple产生速度,通过监控Topology的运行数据然后取平均值获得,t为一个周期开始后的时间,σ为通过多次试验然后取得一个较优的值,Vproc为第i个组件中executor的tuple处理速度,通过监控Topology的运行数据然后取平均值获得;
S202:求得Topology所需的executor总数;
S203:根据Storm官方建议每个worker中15个executor,求解得到Topology所需的worker数。
进一步,所述S3具体为:
使用时间序列模型(AutoregressiveInregratedMovingAverage,ARIMA)预测Topology要处理的数据量,ARIMA(p,d,q)表示为:
Xt=σ1Xt-1+σ2Xt-2+…+σpXt-p+ut-θ1ut-1-θ1ut-1-…-θqut,其中p为自回归项数;q为滑动平均项数;Xt-1,Xt-2为Xt的前期值;ut,ut-1,ut-2为Xt在t期,t-1期,t-2期的随机误差项,是相互独立的白噪声序列;d是使原序列Xt由非平稳时间序列转换为平稳时间序列时对其成为平稳序列所做的差分次数;σ1,σ2,…,σp为自回归系数,θ1,θ2,…,θq为移动平均系数,是模型的待估参数。
进一步,所述S4具体为:当获得topology中各组件较优的并行度后,进行Storm任务调度;使用线上调度算法,在运行时,通过监控获得实时数据,包括executor的负载情况、executor的tuple接受率和发送率、集群中的节点负载;然后进行调度,在调度中最小化节点间的网络通信,并保存集群中的节点负载均衡;
所述线上调度算法具体为:将executor按照trafficload降序排列,然后按序依次将executor分配到负载最轻的slot上,同时每个workernode上同一个Topology的executor会被分配到同一个slot上并且每个workernode不过载。
本发明的有益效果在于:
本发明克服了现有对Topology中各组件间的关联性考虑的不足,弥补了不能快速高效地求解到用户提交topology中各组件的较优并行度的不足,以及避免了对数据实时变化处理的忽视。本发明结合时间序列模型和线上调度算法,监控Topology的运行,建立模型,求解Topology中worker数和各个组件的executor数,预测Topology要处理的数据量并求解开始组件spout所需的executor数,将新得到Topology任务通过Storm中的线上调度策略进行调度。本发明具有提前预测变化的优点,并能根据监控得到的运行数据快速高效的求得Topology中各组件的较优并行度,从而提高了吞吐量,降低了处理时延。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明的示意图;
图2为时间序列模型的简图;
图3为算法实施系统结构图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
如图3所示,本发明的实施包括三个模块:Topology监控模块、伸缩模块和调度模块。在Topology监控模块中,可以调用NimbusClient的Thrift接口获取UI上对Storm中各Topology运行的监控数据和Ganglia集群监控工具来获得各节点和负载数据,然后我们将数据保存到数据库mysql中,伸缩调整模块在每个周期开始时通过前面周期保存在mysql中各Topology的运行数据,然后通过上述模型求解该周期内Topology的伸缩方案,然后进行调度。下面通过对微博中的词语进行统计为例来对本发明进行具体实施说明:
该实例中Topology由三个组件构成,第一个组件是spout,命名为readerData,用来读取在Kafka中的微博记录,该实例中将读取到的微博记录通过nextTuple方法形成tuple发送到后面的bolt组件。第二个组件是bolt,命名为splitData,它接收从spout发送过来的tuple,将这tuple中的微博分词之后,将每个词语再单独发送出去。第三个组件也是bolt,命名为statData,它负责接收从第二个组件发送的词语,将这些词语的出现次数进行统计,然后将结果写入到日志中进行输出。在本实例中使用Kafka生产者读取微博数据,然后发送到Kafka服务器,Kafka的消费者为spout,即readData从Kafka中获取微博记录。
1、监控模块
利用Ganglia作为Storm集群监控工具,获取Storm集群中各节点的信息。同时Storm集群自身会对运行的Topology进行监控,可以在StormUI中查看到各个Topology的运行信息,包括Topology的work数、executor数、每个组件接受的tuple数、发送的tuple数、处理时间等。其中StormUI中的所有数据,我们可以调用NimbusClient的Thrift接口获取,然后我们将获取的实时数据保存到mysql数据库中,供后面的伸缩模块和调度模块使用。
本平台中将监控模块获取的各Topology运行数据保存到mysql中,mysql数据库在构建数据库集群方面有着优异的性能,可以用来解决海量数据处理中的高并发、低延迟、大体量等问题。为了降低延迟,我们采用java数据库连接(Java Data Base Connectivity,JDBC)技术来实现连接的复用,这样减少了数据库连接和释放的时间。在数据库中建立表来存储监控得到的数据:
表一监控Storm集群信息
名 | 类型 |
id | int |
supervisor_num | int |
total_slot | int |
used_slot | int |
executor_num | int |
表一为监控Storm集群信息,包括从节点数量,总的slot数,可用的slot数,executor数量。
表二监控Storm集群中运行的Topology信息
名 | 类型 |
id | int |
topology_name | varchar |
work_number | int |
executor_number | int |
task_number | int |
表二为监控Storm集群中运行的Topology信息,包括Topology的名称,Topology所需的work数,Topology所需的executor数,Topology所需的task数。
表三监控Storm集群中运行Topology的spout组件的信息
表三为监控Storm集群中运行Topology的spout组件的信息,包括spout组件的名称,该组件所需的executor数量,该组件发送的tuple数量,该组件执行时间。
表四监控Storm集群中运行Topology的bolt组件的信息
名 | 类型 |
id | int |
Bolt_name | varchar |
executor_number | int |
tuple_compete_num | int |
tuple_emitted_num | int |
tuple_compete_num | int |
topology_name | varchar |
表四为监控Storm集群中运行Topology的bolt组件的信息,包括bolt组件的名称,该组件所需的executor数量,该组件完成的tuple数量,该组件发送的tuple数量,该组件执行tuple所需的处理时间。
表五监控Kafka中的运行信息
名 | 类型 |
id | int |
kafka_topology | varchar |
rec_num | int |
proc_num | int |
表五为监控Kafka中的运行信息,包括消费的Topology名称,收到的消息数,被消费的消息数。
2、伸缩模块
在该实例中,首先初始化该Topology中各组件的并行度都为1。在周期T开始时进行伸缩调度或集群中某节点高负载时进行伸缩调度。在伸缩模块中,从mysql中读取数据,获取参数的值,求得Topology中三组件的并行度关系,然后再求得在该周期T内组件spout所需的executor数及bolt所需的executor数,最后获得Topology中各个组件较优的并行度后,通过storm中的rebalance进行重调度。
步骤一:求解Topology中worker数和各个组件的executor数
首先以稳定的速率生成微博记录到Kafka,供Topology中的组件spout读取。第二个bolt组件中executor的tuple处理速度为Vproc,即单位时间内处理tuple的数量。通过mysql中的统计值该组件完成的tuple数量tuple_complete_num可以获得该组件的平均处理处理速率。则组件tuple处理速度为Nexecutori*Vproc,其中Nexecutori是该组件的executor数量,即表四中executor_number的值。其前一组件spout的executor的tuple产生速度为Vgenerate,即单位时间内产生tuple的数量。通过表三中spout的监控数据tuple_emitted_num可以获得该spout的平均产生速率。则该组件的tuple产生速度为Nexecutori-1*Vgeneate,其中Nexecutori-1是该组件的executor数量,即表三中的executor_number的值。则由下列公式
求得readerData与splitData的比值为x1:x2同理可求得splitDate与statData的比值为x2:x3,则该Topology中组件readerData、splitData、statData的比值为:x1:x2:x3。最后求得Topology所需的executor总数,根据Storm官方建议每个worker中15个executor,求解得到Topology所需的worker数。
步骤二:预测Topology要处理的数据流并求解开始组件spout所需的executor数
模拟Twitter一天中发微博的情况,对所发的微博记录进行词语统计。如图2所示,在周期T开始时,使用时间序列模型ARIMA(p,d,q)根据前面周期的数据到达速率进行预测本周期组件需要消费的数据量。在ARIMA的各项系数p、d、q可以通过对历史数据的训练得到。影响时间序列的因素有很多,可能存在此消彼长、突然出现等现象,单凭一次训练得到的模型很难反应时间序列的长期变化,因此预测模型采用边训练边预测的方式,利用最新的历史数据,在预测前重新训练,修正ARIMA模型中各项系数,然后再进行预测得到外部数据到达Kafka中的速率Vcome。上一周期Kafka中spout未处理完的数据量为Datasurplus,可用表五中的rev_num和proc_num的差值获得。组件spout的数据处理速率为Nexucutori*Vproc,其中Nexecutori是组件spout的executor数量,Vproc是单位时间内处理Kafka中消息的数量。由下列公式知该周期开始t时间后spout组件的负载为:
令load(t)=σ1,σ1通过多次实验取一个较优的值,使得spout组件在该负载下,Kafka中的消息能尽快得到处理,降低消息的处理时延。则由上式求得:
在该周期内spout较优的executor数y1,然后由步骤一中求得的readerData、splitData、statData的比值,求得splitData、statData较优的executor数分别为y2、y3。则该Topology所需的executor数量为y1+y2+y3,所需的work数量为大于(y1+y2+y3)/15的最小整数。然后判断是否需要进行伸缩调整,如果需要伸缩调整则调用Storm中的reblance功能进行动态调整。
3、调度模块
当调用Storm中的reblance后会进行新的调度。用户提交Topology到Storm集群后,计算时延在很大程度上取决于executor之间传输tuple的时延。线上调度算法通过减少网络传输的tuple的数量,即将相互通信的源executor和目标executor分配到相同的workernode上,能够极大的提升Storm集群的计算性能。
在统计微博词语的Topology中readData的task所在的executor会发送tuple给splitData的task所在的executor,splitData的task所在的executor会发送tuple给statData的task所在的executor。假设运行时readData、splitData、statData中task所对应的executor分别为e1、e2、e3,那么e1、e2、e3为相互通信的executor组,为了减少网络传输tuple的数量,应该将它们分配到同一节点上。
如图1所示,具体步骤如下:
采集运行周期T内,相互通信的executor之间的tuple传输速率;利用采集到的信息按照executor的传输速率进行降序排序。
循环遍历executor,如果相互通信的executor在同一工作节点上,则对不进行调度;如果不在同一工作节点,则将相互通信的executor调度到同一工作节点上;
监控各executor所在的节点的负载进行降序排列。当相互通信的executor不在同一工作节点时调度到当前负载最低的workernode上。
直到所有executor都被处理后调度结束。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (5)
1.一种基于数据流预测的Storm任务伸缩调度算法,其特征在于:该算法包括以下步骤:
S1:设置目标函数;
S2:求解Topology中worker数和各个组件的executor数;
S3:预测Topology要处理的数据流并求解开始组件spout所需的executor数;
S4:任务调度。
2.如权利要求1所述的一种基于数据流预测的Storm任务伸缩调度算法,其特征在于:所述S1设置目标函数为:其中,Ntuple为所处理tuple的数量,Trec为tuple由发送节点到处理节点所需的接受时间,Tqueue为tuple到处理节点后因bolt繁忙tuple排队的时间,Tproc为tuple的逻辑处理时间,Tsend为tuple处理完后形成新的tuple的发送时间。
3.如权利要求1所述的一种基于数据流预测的Storm任务伸缩调度算法,其特征在于:所述S2具体为:
S201:确定Topology中开始组件spout所需的executor数,通过公式依次求得后继组件中的较优的executor数;其中,Nexecutori为第i个组件的executor数量,Nexecutori-1为第i-1个组件的executor数量,Vgenerate为前一组件的executor的tuple产生速度,通过监控Topology的运行数据然后取平均值获得,t为一个周期开始后的时间,σ为通过多次试验然后取得一个较优的值,Vproc为第i个组件中executor的tuple处理速度,通过监控Topology的运行数据然后取平均值获得;
S202:求得Topology所需的executor总数;
S203:根据Storm官方建议每个worker中15个executor,求解得到Topology所需的worker数。
4.如权利要求1所述的一种基于数据流预测的Storm任务伸缩调度算法,其特征在于:所述S3具体为:
使用时间序列模型(Auto Regressive Moving Average,ARIMA)预测Topology要处理的数据量,ARIMA(p,d,q)表示为:
Xt=σ1Xt-1+σ2Xt-2+…+σpXt-p+ut-θ1ut-1-θ2ut-2-…-θqut,其中p为自回归项数;q为滑动平均项数;Xt-1,Xt-2为Xt的前期值;ut,ut-1,ut-2为Xt在t期,t-1期,t-2期的随机误差项,是相互独立的白噪声序列;d是使原序列Xt由非平稳时间序列转换为平稳时间序列时对其成为平稳序列所做的差分次数;σ1,σ2,…,σp为自回归系数,θ1,θ2,…,θq为移动平均系数,是模型的待估参数。
5.如权利要求1所述的一种基于数据流预测的Storm任务伸缩调度算法,其特征在于:所述S4具体为:当获得topology中各组件较优的并行度后,进行Storm任务调度;使用线上调度算法,在运行时,通过监控获得实时数据,包括executor的负载情况、executor的tuple接受率和发送率、集群中的节点负载;然后进行调度,在调度中最小化节点间的网络通信,并保存集群中的节点负载均衡;
所述线上调度算法具体为:将executor按照traffic load降序排列,然后按序依次将executor分配到负载最轻的slot上,同时每个worker node上同一个Topology的executor会被分配到同一个slot上并且每个worker node不过载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710385355.0A CN107038071B (zh) | 2017-05-26 | 2017-05-26 | 一种基于数据流预测的Storm任务伸缩调度算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710385355.0A CN107038071B (zh) | 2017-05-26 | 2017-05-26 | 一种基于数据流预测的Storm任务伸缩调度算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107038071A true CN107038071A (zh) | 2017-08-11 |
CN107038071B CN107038071B (zh) | 2020-06-09 |
Family
ID=59539537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710385355.0A Active CN107038071B (zh) | 2017-05-26 | 2017-05-26 | 一种基于数据流预测的Storm任务伸缩调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107038071B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748711A (zh) * | 2017-10-17 | 2018-03-02 | 厦门市美亚柏科信息股份有限公司 | 自动优化Storm并行度的方法、终端设备及存储介质 |
CN107832129A (zh) * | 2017-10-24 | 2018-03-23 | 华中科技大学 | 一种面向分布式流计算系统的动态任务调度优化方法 |
CN108415761A (zh) * | 2018-01-31 | 2018-08-17 | 西北工业大学 | 一种基于网络流量优化的Storm任务调度方法 |
CN110062038A (zh) * | 2019-04-09 | 2019-07-26 | 网宿科技股份有限公司 | 一种数据传输调度方法和系统 |
CN110493071A (zh) * | 2018-05-15 | 2019-11-22 | 中国移动通信集团浙江有限公司 | 消息系统资源均衡装置、方法及设备 |
CN111522637A (zh) * | 2020-04-14 | 2020-08-11 | 重庆邮电大学 | 一种基于成本效益的storm任务调度方法 |
CN111767085A (zh) * | 2019-03-27 | 2020-10-13 | 北京京东尚科信息技术有限公司 | Storm平台参数配置方法和装置 |
CN113360189A (zh) * | 2021-06-04 | 2021-09-07 | 上海天旦网络科技发展有限公司 | 适用于流处理的异步优化方法、系统、装置和可读介质 |
CN114330500A (zh) * | 2021-11-30 | 2022-04-12 | 南京国电南自电网自动化有限公司 | 基于storm平台的电网电力设备在线并行诊断方法及系统 |
CN115495202A (zh) * | 2022-11-17 | 2022-12-20 | 成都盛思睿信息技术有限公司 | 一种异构集群下的大数据任务实时弹性调度方法 |
CN111767085B (zh) * | 2019-03-27 | 2024-05-17 | 北京京东尚科信息技术有限公司 | Storm平台参数配置方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021411A (zh) * | 2016-05-13 | 2016-10-12 | 大连理工大学 | 一种具有集群自适应性的Storm任务部署与配置平台 |
-
2017
- 2017-05-26 CN CN201710385355.0A patent/CN107038071B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021411A (zh) * | 2016-05-13 | 2016-10-12 | 大连理工大学 | 一种具有集群自适应性的Storm任务部署与配置平台 |
Non-Patent Citations (3)
Title |
---|
WEENIEBEAR: "Storm中Topology任务调度策略", 《CSDN博客,HTTPS://BLOG.CSDN.NET/WEENIEBEAR/ARTICLE/DETAILS/22586831》 * |
乔付: "预测模型下模糊控制实时任务调度算法", 《海南热带海洋学院学报》 * |
刘月超等: "Storm环境下一种改进的任务调度策略", 《新疆大学学报(自然科学版)》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748711B (zh) * | 2017-10-17 | 2021-01-12 | 厦门市美亚柏科信息股份有限公司 | 自动优化Storm并行度的方法、终端设备及存储介质 |
CN107748711A (zh) * | 2017-10-17 | 2018-03-02 | 厦门市美亚柏科信息股份有限公司 | 自动优化Storm并行度的方法、终端设备及存储介质 |
CN107832129A (zh) * | 2017-10-24 | 2018-03-23 | 华中科技大学 | 一种面向分布式流计算系统的动态任务调度优化方法 |
CN108415761A (zh) * | 2018-01-31 | 2018-08-17 | 西北工业大学 | 一种基于网络流量优化的Storm任务调度方法 |
CN108415761B (zh) * | 2018-01-31 | 2021-11-05 | 西北工业大学 | 一种基于网络流量优化的Storm任务调度方法 |
CN110493071B (zh) * | 2018-05-15 | 2021-06-04 | 中国移动通信集团浙江有限公司 | 消息系统资源均衡装置、方法及设备 |
CN110493071A (zh) * | 2018-05-15 | 2019-11-22 | 中国移动通信集团浙江有限公司 | 消息系统资源均衡装置、方法及设备 |
CN111767085A (zh) * | 2019-03-27 | 2020-10-13 | 北京京东尚科信息技术有限公司 | Storm平台参数配置方法和装置 |
CN111767085B (zh) * | 2019-03-27 | 2024-05-17 | 北京京东尚科信息技术有限公司 | Storm平台参数配置方法和装置 |
CN110062038A (zh) * | 2019-04-09 | 2019-07-26 | 网宿科技股份有限公司 | 一种数据传输调度方法和系统 |
CN111522637A (zh) * | 2020-04-14 | 2020-08-11 | 重庆邮电大学 | 一种基于成本效益的storm任务调度方法 |
CN111522637B (zh) * | 2020-04-14 | 2024-03-29 | 深圳市凌晨知识产权运营有限公司 | 一种基于成本效益的storm任务调度方法 |
CN113360189A (zh) * | 2021-06-04 | 2021-09-07 | 上海天旦网络科技发展有限公司 | 适用于流处理的异步优化方法、系统、装置和可读介质 |
CN113360189B (zh) * | 2021-06-04 | 2022-09-30 | 上海天旦网络科技发展有限公司 | 适用于流处理的异步优化方法、系统、装置和可读介质 |
CN114330500A (zh) * | 2021-11-30 | 2022-04-12 | 南京国电南自电网自动化有限公司 | 基于storm平台的电网电力设备在线并行诊断方法及系统 |
CN114330500B (zh) * | 2021-11-30 | 2024-04-26 | 南京国电南自电网自动化有限公司 | 基于storm平台的电网电力设备在线并行诊断方法及系统 |
CN115495202A (zh) * | 2022-11-17 | 2022-12-20 | 成都盛思睿信息技术有限公司 | 一种异构集群下的大数据任务实时弹性调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107038071B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038071A (zh) | 一种基于数据流预测的Storm任务伸缩调度算法 | |
CN103345514B (zh) | 大数据环境下的流式数据处理方法 | |
Huang et al. | An optimistic job scheduling strategy based on QoS for cloud computing | |
CN109617826B (zh) | 一种基于布谷鸟搜索的storm动态负载均衡方法 | |
CN103701635B (zh) | 一种在线配置Hadoop参数的方法和装置 | |
CN102254246A (zh) | 一种工作流管理方法及其系统 | |
CN107832129A (zh) | 一种面向分布式流计算系统的动态任务调度优化方法 | |
CN108170531B (zh) | 一种基于深度信念网络的云数据中心请求流调度方法 | |
CN114938372A (zh) | 一种基于联邦学习的微网群请求动态迁移调度方法及装置 | |
CN107566535A (zh) | 一种Web地图服务中基于用户并发访问时序规则的自适应负载均衡策略 | |
Zheng et al. | A cloud resource prediction and migration method for container scheduling | |
Zhang et al. | A data stream prediction strategy for elastic stream computing systems | |
CN114666283B (zh) | 一种应用感知的多租户Coflow调度方法和系统 | |
CN115378789A (zh) | 一种多层次协作的流资源管理方法及系统 | |
CN115562812A (zh) | 面向机器学习训练的分布式虚拟机调度方法、装置和系统 | |
Ren et al. | Balanced allocation method of physical education distance education resources based on linear prediction | |
CN112698911B (zh) | 一种基于深度强化学习的云作业调度方法 | |
CN113656150A (zh) | 深度学习算力虚拟化系统 | |
CN112422651A (zh) | 一种基于强化学习的云资源调度性能瓶颈预测方法 | |
Shi et al. | Priority-based balance scheduling in real-time data warehouse | |
CN112579324A (zh) | 一种基于cost模型的商品汇总统计方法 | |
Wang et al. | An optimized replica distribution method in cloud storage system | |
Sun et al. | A dynamic cluster job scheduling optimisation algorithm based on data irreversibility in sensor cloud | |
HoseinyFarahabady et al. | Graceful Performance Degradation in Apache Storm | |
Liu et al. | Resource management in cloud based on deep reinforcement 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 |