CN104639466A - 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 - Google Patents

一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 Download PDF

Info

Publication number
CN104639466A
CN104639466A CN201510098503.1A CN201510098503A CN104639466A CN 104639466 A CN104639466 A CN 104639466A CN 201510098503 A CN201510098503 A CN 201510098503A CN 104639466 A CN104639466 A CN 104639466A
Authority
CN
China
Prior art keywords
network bandwidth
speed
tuple
application
resource
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
Application number
CN201510098503.1A
Other languages
English (en)
Other versions
CN104639466B (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.)
Kaixi Beijing Information Technology Co ltd
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201510098503.1A priority Critical patent/CN104639466B/zh
Publication of CN104639466A publication Critical patent/CN104639466A/zh
Application granted granted Critical
Publication of CN104639466B publication Critical patent/CN104639466B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法,包括:设置应用拓扑结构;设置网络所需的开销、元组发送速度和接收速率;调整网络资源花费速率;当应用拓扑结构运行后,在时间窗口内对不同节点上组件的元组发送和接收速率进行实时监控;然后根据组件的剩余资源预算确定网络带宽优先级调整策略。本发明在多用户共享集群环境下,避免了由于资源竞争所导致的应用性能不确定性,有效地保障了高优先级应用对网络带宽的优先使用,并且能够根据负载水平变化自适应地调整应用优先级设置,在保障高优先级应用服务质量要求的同时,最大限度地满足其它应用对网络带宽地使用。

Description

一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法
技术领域
本发明涉及大数据处理、实时流计算和优先级保障技术领域,特别是涉及一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法。
背景技术
近年来随着处理器和集成电路技术的不断进步,个人电脑、手持设备和智能手机等个性化设备得到了很大地普及和推广。与此同时,新型的互联网使用模式例如电子商务、社交网络等也在不断深入人们生活的方方面面,由此产生的用户数据无论从容量、速度和多样性上都超过了人类历史上的任何一个阶段,呈现出了爆炸性增长。充分挖掘这些实时纷杂的海量用户数据,对于理解用户使用行为进而揭示潜在用户需求,对于互联网公司不断完善服务产品,增加产品收益,具有重要的商业价值。Storm实时流计算框架的出现,以其灵活的处理流程构建、高效的分布式并行以及透明容错等特点,有效提高了实时流处理应用的开发效率,成为产业界快速构建实时流计算应用的首选。
Storm实时流计算框架采用了分布式计算的思想,充分利用大规模计算节点为应用程序性能提供良好的可扩展性,同时支持用户定义复杂的数据流(data stream)处理逻辑,允许在不同的计算阶段对数据流进行不同形式的划分。如图1所示,Storm中应用对数据流的处理逻辑被定义在计算拓扑(Topology)中,每一个计算拓扑则由任意多个计算组件组成,不同计算组件按照其在计算拓扑中的角色不同,又可以分为数据源组件(Spout,或Spout1)和处理组件(Bolt,或Bolt1-Bolt9)。数据源组件负责将外部的数据进行相关转化,然后以一定的速率注入到计算拓扑中,而处理组件则分别负责不同的处理逻辑,对流经其的数据流进行相关转化。组件间流动的数据被组织为元组(Tuple)的形式,每一个元组可以包含多个数据域(Value)。组件间的元组数据分发模式可以分为4种,分别是洗牌分发(Shuffle Grouping)、按域分发(Field Grouping)、全分发(All Grouping)和指定分发(Global Grouping)。洗牌分发模式下,上游(Upstream)组件产生的元组会均匀分发到下游(Downstream)与其衔接的组件上;按域分发模式下,上游组件产生元组中域值相同的元组会分发到下游相同的组件上;全分发模式下,上游组件产生的元组会向下游每一个组件分发一份副本;指定分发模式下,上游组件产生的元组会被分发到指定的下游组件上。
应用的计算拓扑定义完成之后,Storm现在的组件调度采用轮询方式(Round-Robin),将数据源和处理组件放置到不同执行节点(Worker)上运行,从而实现系统负载均衡的效果。现有组件调度方法只考虑了单一用户的应用场景,无法满足多个拥有不同优先级的用户应用共享Storm集群资源的情况。特别是在应用负载出现短时间峰值的情况下,无法保障高优先级应用对网络带宽的优先使用,从而使得数据处理时延显著增加,应用服务质量严重下降。同时,不同组件计算行为各不相同,处理数据流的选择率(Selectivity,输出数据量与输入数据量的比率)差异较大,再结合不同的数据分发模式,最终会对网络带宽的使用产生较大影响。
综上可以看出,在不同优先级应用共享Storm集群的情况下,如何根据应用的实时负载水平、计算行为特征以及数据分发模式,动态调节应用对网络带宽使用的优先级,对于降低数据流的处理时延、满足应用峰值负载的服务质量要求至关重要,同时保障低优先级应用能够使用到合理的网络带宽资源,避免“饥饿”现象的产生,对于维护整个系统的可用性是不可或缺的。
发明内容
针对现有Storm实时流技术的以上缺陷和改进需求,本发明提出了一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法,解决了原有Storm系统在多个用户共享集群资源的情况下,无法满足高优先级应用对网络带宽的优先使用,同时在应用负载出现波动时,无法对应用优先级进行动态调整的问题。
本发明提出了一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法,其特征在于有下列处理步骤:
第一步:构建应用拓扑结构;
用户根据Storm实时数据流的处理逻辑,构建了应用拓扑结构(T={t1,t2,…,ta},ta={S,B,G});所述任意一个拓扑结构ta中包括有数据源组(S={s1,s2,…,sc})、处理组件(B={b1,b2,…,bd}),以及组件间的数据分发模式(G={g1,g2,…,ge})。
第二步:设置资源预算和花费速率的初始值;
用户为提交的任意一个拓扑结构ta设置初始网络带宽资源预算和初始网络带宽花费速率
第三步:设置期望运行时长;
用户为提交的任意一个拓扑结构ta设置期望运行时长
第四步:获取元组发送速率和接收速率;
在设置完成第二步和第三步后,在运行第一步的任意一个拓扑结构ta后,通过主节点上的Thrift运行时状态查询接口,启动后台监控线程;实时获得各个计算节点上运行数据源sc的元组发送速率和元组接收速率以及资源花费速率然后执行第五步。
在本发明中,任意一个拓扑结构ta在计算节点上运行完成所有的数据源S={s1,s2,…,sc},则将获得的元组发送速率集合记为和元组接收速率集合记为 t a _ S _ receieve = { receieve s 1 , receieve s 2 , . . . , receieve s c } . 资源花费速率集合记为 t a _ S _ Rate = { Rate s 1 , Rate s 2 , . . . , Rate s c } .
为数据源s1的元组发送速率,为数据源s2的元组发送速率,为数据源sc的元组发送速率,为数据源s1的元组接收速率,为数据源s2的元组接收速率,为数据源sc的元组接收速率,为数据源s1的资源花费速率,为数据源s2的资源花费速率,为数据源sc的资源花费速率。
在本发明中,同理得到拓扑结构t1的元组发送速率集合记为和元组接收速率集合记为 t 1 _ S _ receieve = { receieve s 1 , receieve s 2 , . . . , receieve s c } , 以及资源花费速率集合记为拓扑结构t2的元组发送速率集合记为和元组接收速率集合记为 t 2 _ S _ receieve = { receieve s 1 , receieve s 2 , . . . , receieve s c } , 以及资源花费速率集合记为 t 2 _ S _ Rate = { Rate s 1 , Rate s 2 , . . . , Rate s c } .
第五步:调整网络资源花费速率;
采用网络带宽资源预算阈值Budget阈值对实时获得的当前时间窗口slide_windoww下的网络带宽开销进行比较;
则表明需要优先保障应用的运行时长要求,首先要对前三个时间窗口下的网络带宽开销求平均,即网络带宽开销均值然后将当前网络开销与网络带宽开销均值Budget均值作差值比较,得到当前网络开销差值Budget差值;然后求取当前网络开销的相对网络资源偏差然后判断所述Budget偏差是否超过带宽门限偏离量η,若Budget偏差>η,则将当前资源花费速率调整为若Budget偏差≤η,则保持当前资源花费速率并进入第八步骤。
则退出网络资源优先级的动态竞争,进而将网络资源花费速率设置为并进入第九步骤;
第六步:获取数据流选择率权重;
首先将调整的通知运行在各个计算节点上的处理组件B={b1,b2,…,bd};然后通过主节点上的Thrift运行时状态查询接口,启动后台监控线程;实时获得各个计算节点上运行处理组件bd的元组发送速率和元组接收速率
然后,获取当前时间窗口slide_windoww下处理组件bd的数据流选择率 Selectivity slide _ window w b d = send b d receieve b d ; 并将所述的作为数据流选择率模式权重然后执行第八步。
第七步:获取数据分发模式权重;
设置数据分发模式权重然后执行第八步;
任意一种数据分发模式ge的数据分发权重记为Weight_ge,由于处理组件B={b1,b2,…,bd}是根据程序设置的所属数据分发模式G={g1,g2,…,ge}进行发出的,因此数据分发权重Weight_ge可以作为数据分发模式权重
第八步:获取下一时间窗口内的花费速率;
依据当前资源花费速率数据流选择率模式权重和数据分发模式权重计算下一时间窗口slide_windoww+1内的花费速率 Rate slide _ window w + 1 t a = Rate slide _ window w t a × Weight _ Selectivity b d × Weight _ Group b d g e , 然后执行第九步。
遍历完成Storm集群中运行的所有应用T={t1,t2,…,ta},获得所有应用T={t1,t2,…,ta}在下一个时间窗口slide_windoww+1的资源花费速率 t 1 _ S _ Rate slide _ w indow w + 1 = { Rate s 1 , Rate s 2 , . . . , Rate s c } , t 2 _ S _ Rate slide _ w indow w + 1 = { Rate s 1 , Rate s 2 , . . . , Rate s c } , t a _ S _ Rate slide _ w indow w + 1 = { Rate s 1 , Rate s 2 , . . . , Rate s c } .
第九步:获取当前网络带宽开销;
根据各数据源组件在当前时间窗口slide_windoww内选择的花费速率从各个节点上应用的资源预算中扣除上一时间窗口slide_windoww-1内的网络带宽开销即得到当前网络带宽开销 Budget slide _ window w = Budget slide _ window w - 1 - Rate slide _ window w t a , 然后执行第十步。
第十步:自适应网络带宽划分;
根据计算节点上不同应用T={t1,t2,…,ta}的数据源组S={s1,s2,…,sc}的资源花费速率所占网络带宽的比重,来自适应划分网络,然后执行第十一步;
第十一步:中止网络带宽的动态优先调整;
当Storm系统中没有正在运行的应用T={t1,t2,…,ta},则中止网络带宽的动态优先级调整;或者,
Storm系统中所有应用T={t1,t2,…,ta}的网络带宽资源使用均退化为静态花费速率时,则中止网络带宽的动态优先级调整。
附图说明
图1是现有Storm系统计算拓扑结构和数据分发模式图。
图2为本发明基于Storm实时流计算框架的应用网络带宽动态优先级保障方法的原理图。
图3为本发明基于Storm实时流计算框架的应用网络带宽动态优先级保障方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基本思路在于,通过为应用设置资源预算和花费速率,实现多应用共享集群资源下的网络带宽动态花费,同时结合数据源组件元组发送速率、处理组件数据流选择率以及数据分发模式等多方面信息,在时间窗口内对组件的资源花费速率进行动态调整,满足其在不同负载水平下对网络带宽的需求,从而实现应用网络带宽动态优先级保障。
本发明的应用实例如图2所示。用户在提交应用计算拓扑结构的同时,设置应用(应用A、应用B等)当前持有的资源预算以及花费速率,组件网络资源使用监控程序以一定的时间窗口实时地监控应用(应用A、应用B等)的元组发送和接收速率,并根据数据源组件(Spout)的元组发送速率变化,向处理组件(Bolt)发送资源花费速率调整通知,处理组件(Bolt)接到该通知后,根据自身处理数据流选择率和数据分发模式的特点,对数据源组件(Spout)推荐的花费速率进行加权调整,网络带宽则按照计算节点上的应用(应用A、应用B等)的花费速率成比例划分,从而满足了负载较重应用优先使用网络带宽的需求。
本发明提出一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法,1)在提交部署阶段,设置应用资源预算和花费速率,并指定期望运行时间;2)应用运行后,在固定的时间窗口内对不同节点上组件的元组发送和接收速率进行实时监控;3)根据组件的剩余资源预算确定网络带宽优先级调整策略;4)依据数据源组件在过去时间窗口内的元组平均发送速率对应用的资源花费速率进行调整;5)不同节点上的处理组件根据花费速率调整通知以及自身的数据流处理选择率和数据分发模式,分别对花费速率进行加权调整并最终形成该组件在下一时间窗口内的花费速率;6)不同节点上根据各个应用组件选择的花费速率在所有组件花费速率中所占的比重,对网络带宽进行相应的划分;7)依据各个组件的花费速率对运行应用的资源预算进行扣除。
具体的动态优先级调整流程如图3所示,本发明基于Storm实时流计算框架的应用网络带宽动态优先级保障方法包括以下步骤:
第一步:构建应用拓扑结构;
用户User根据实时数据流的处理逻辑,构建了应用拓扑结构(T={t1,t2,…,ta},ta={S,B,G});所述任意一个拓扑结构ta中包括有数据源组(S={s1,s2,…,sc})、处理组件(B={b1,b2,…,bd}),以及组件间的数据分发模式(G={g1,g2,…,ge})。
在本发明中,当把应用拓扑结构T={t1,t2,…,ta}提交到Storm集群主节点(Nimbus)之后,所有的T={t1,t2,…,ta}会被保存到运行时TopologyContext上下文环境中,以方便应用程序运行的任意阶段进行查询。
第二步:设置资源预算和花费速率的初始值;
用户User为提交的任意一个拓扑结构ta设置初始网络带宽资源预算和初始网络带宽花费速率
在本发明中,所述的作为应用优先级动态调整的依据。在运行程序中可以是真实的集群资源购买金额和单位时间使用的开销,也可以是某种抽象意义上的资源使用有效凭据(Credit)。
第三步:设置期望运行时长;
用户User为提交的任意一个拓扑结构ta设置期望运行时长
在本发明中,当初始网络带宽资源预算不足时,用户User仍然希望拓扑结构ta能够在一段时间内持续的提供服务,故需要补充设置期望运行时长
第四步:获取元组发送速率和接收速率;
在设置完成第二步和第三步后,在运行第一步的任意一个拓扑结构ta后,通过主节点上的Thrift运行时状态查询接口,启动后台监控线程;实时获得各个计算节点上运行数据源sc的元组发送速率和元组接收速率以及资源花费速率然后执行第五步。
在本发明中,任意一个拓扑结构ta在计算节点上运行完成所有的数据源S={s1,s2,…,sc},则将获得的元组发送速率集合记为和元组接收速率集合记为 t a _ S _ receieve = { receieve s 1 , receieve s 2 , . . . , receieve s c } .
在本发明中,任意一个拓扑结构ta在计算节点上运行完成所有的数据源S={s1,s2,…,sc},则将获得的资源花费速率集合记为 t a _ S _ Rate = { Rate s 1 , Rate s 2 , . . . , Rate s c } .
为数据源s1的元组发送速率,为数据源s2的元组发送速率,为数据源sc的元组发送速率,为数据源s1的元组接收速率,为数据源s2的元组接收速率,为数据源sc的元组接收速率,为数据源s1的资源花费速率,为数据源s2的资源花费速率,为数据源sc的资源花费速率。
在本发明中,同理得到拓扑结构t1的元组发送速率集合记为和元组接收速率集合记为 t 1 _ S _ receieve = { receieve s 1 , receieve s 2 , . . . , receieve s c } , 以及资源花费速率集合记为拓扑结构t2的元组发送速率集合记为和元组接收速率集合记为 t 2 _ S _ receieve = { receieve s 1 , receieve s 2 , . . . , receieve s c } , 以及资源花费速率集合记为 t 2 _ S _ Rate = { Rate s 1 , Rate s 2 , . . . , Rate s c } .
在本发明中,实时获得各个计算节点上所有应用运行数据源组的元组发送速率和元组接收速率信息,以利于实时调整网络带开销,提高程序运行速度。
第五步:调整网络资源花费速率;
采用网络带宽资源预算阈值Budget阈值对实时获得的当前时间窗口slide_windoww下的网络带宽开销进行比较;
则表明需要优先保障应用的运行时长要求,首先要对前三个时间窗口下的网络带宽开销求平均,即网络带宽开销均值然后将当前网络开销与网络带宽开销均值Budget均值作差值比较,得到当前网络开销差值Budget差值;然后求取当前网络开销的相对网络资源偏差然后判断所述Budget偏差是否超过带宽门限偏离量η,若Budget偏差>η,则将当前资源花费速率调整为若Budget偏差≤η,则保持当前资源花费速率并进入第八步骤。
则退出网络资源优先级的动态竞争,进而将网络资源花费速率设置为并进入第九步骤;
在本发明中,由于是基于Storm实时流来计算所应用网络带宽的动态调整,故在时间窗口slide_windoww下运行拓扑结构ta的资源花费速率记为利用来动态调整网络带宽,更加适合Storm实时流的运行。
第六步:获取数据流选择率权重;
首先将调整的通知运行在各个计算节点上的处理组件B={b1,b2,…,bd};然后通过主节点上的Thrift运行时状态查询接口,启动后台监控线程;实时获得各个计算节点上运行处理组件bd的元组发送速率和元组接收速率
在本发明中,任意一个拓扑结构ta在计算节点上运行完成所有的处理组件B={b1,b2,…,bd},则将获得的处理组件元组发送速率集合记为和处理组件元组接收速率集合记为 t a _ B _ receieve = { receieve b 1 , receieve b 2 , . . . , receieve b d } .
为处理组件b1的元组发送速率,为处理组件b2的元组发送速率,为处理组件bd的元组发送速率,为处理组件b1的元组接收速率,为处理组件b2的元组接收速率,为处理组件bd的元组接收速率。
在本发明中,同理得到拓扑结构t1的处理组件元组发送速率集合记为和处理组件元组接收速率集合记为 t 1 _ B _ receieve = { receieve b 1 , receieve b 2 , . . . , receieve b d } . 拓扑结构t2的处理组件元组发送速率集合记为和处理组件元组接收速率集合记为 t 2 _ B _ receieve = { receieve b 1 , receieve b 2 , . . . , receieve b d } .
然后,获取当前时间窗口slide_windoww下处理组件bd的数据流选择率 Selectivity slide _ window w b d = send b d receieve b d ; 并将所述的作为数据流选择率模式权重然后执行第八步。
在本发明中,实时获得各个计算节点上所有应用运行数据源组的元组发送速率和元组接收速率信息,以利于实时调整网络带开销,提高程序运行速度。
第七步:获取数据分发模式权重;
设置数据分发模式权重然后执行第八步;
在本发明中,任意一种数据分发模式ge的数据分发权重记为Weight_ge,由于处理组件B={b1,b2,…,bd}是根据程序设置的所属数据分发模式G={g1,g2,…,ge}进行发出的,因此数据分发权重Weight_ge可以作为数据分发模式权重通过来调整资源花费速率,提高程序运行速度。
第八步:获取下一时间窗口内的花费速率;
依据当前资源花费速率数据流选择率模式权重和数据分发模式权重计算下一时间窗口slide_windoww+1内的花费速率 Rate slide _ window w + 1 t a = Rate slide _ window w t a × Weight _ Selectivity b d × Weight _ Group b d g e , 然后执行第九步。
在本发明中,遍历完成Storm集群中运行的所有应用T={t1,t2,…,ta},获得所有应用T={t1,t2,…,ta}在下一个时间窗口slide_windoww+1的资源花费总速率 t 1 _ S _ Rate slide _ w indow w + 1 = { Rate s 1 , Rate s 2 , . . . , Rate s c } , t 2 _ S _ Rate slide _ w indow w + 1 = { Rate s 1 , Rate s 2 , . . . , Rate s c } , t a _ S _ Rate slide _ w indow w + 1 = { Rate s 1 , Rate s 2 , . . . , Rate s c } .
在本发明中,数据源组件的花费速率、累积的数据流选择率和数据分发模式权重能够对网络带宽花费速率产生影响,因此通过相乘计算形成数据源组件的下一时间窗口内的花费速率。
第九步:获取当前网络带宽开销;
根据各数据源组件在当前时间窗口slide_windoww内选择的花费速率从各个节点上应用的资源预算中扣除上一时间窗口slide_windoww-1内的网络带宽开销即得到当前网络带宽开销 Budget slide _ window w = Budget slide _ window w - 1 - Rate slide _ window w t a , 然后执行第十步。
第十步:自适应网络带宽划分;
根据计算节点上不同应用T={t1,t2,…,ta}的数据源组S={s1,s2,…,sc}的资源花费速率所占网络带宽的比重,来自适应划分网络,然后执行第十一步。
在本发明中,将不同应用组件在该节点上的资源花费速率比重,作为数据源组S={s1,s2,…,sc}在共享网络带宽时的动态优先级,并按此比例计算不同应用T={t1,t2,…,ta}在运行网络中应得的网络带宽。
第十一步:中止网络带宽的动态优先调整;
当Storm系统中没有正在运行的应用T={t1,t2,…,ta},则中止网络带宽的动态优先级调整;或者,
Storm系统中所有应用T={t1,t2,…,ta}的网络带宽资源使用均退化为静态花费速率时,则中止网络带宽的动态优先级调整。
在本发明中,当监控线程查询主节点的Thrift运行时,通过TopologyContext上下文环境,再次获取应用数量,重复执行步骤一至步骤十一来进行满足基于Storm实时流计算框架的应用网络带宽动态优先级调整处理。
本发明适用于多用户共享计算资源情况下的大规模实时流处理平台,可以满足多个应用对网络带宽产生竞争的场景,通过提高应用的花费速率改善其在共享网络带宽时的优先级,从而保障高负载水平的应用可以使用更多网络带宽资源,从而有效地降低了数据流处理时延。与原有的Storm组件调度机制相比,避免了多应用共享集群时对高优先级应用性能产生的不确定性影响,能够在负载水平变化时动态的对应用优先级进行调整,在保障高优先应用服务质量的前提下,最大限度提高了系统资源利用率。
本发明解决了实时流处理过程中的应用网络带宽动态优先级保障问题,从而缓解了多应用共享集群时对高优先级应用性能产生的严重影响,通过资源预算和花费速率的动态调整实现了不同应用对网络带宽使用的动态优先级保障,能够有效地适应负载水平的动态波动,在满足高优先级应用对网络带宽资源使用的情况下,减少其它应用出现“饥饿”的可能,在降低数据流处理时延的情况下,兼顾了系统的资源利用率和应用运行时长要求。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
下表为本文中引用的字母的物理意义说明:

Claims (2)

1.一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法,其特征在于有下列处理步骤:
第一步:构建应用拓扑结构;
用户根据Storm实时数据流的处理逻辑,构建了应用拓扑结构(T={t1,t2,…,ta},ta={S,B,G});所述任意一个拓扑结构ta中包括有数据源组(S={s1,s2,…,sc})、处理组件(B={b1,b2,…,bd}),以及组件间的数据分发模式(G={g1,g2,…,ge});
第二步:设置资源预算和花费速率的初始值;
用户为提交的任意一个拓扑结构ta设置初始网络带宽资源预算和初始网络带宽花费速率
第三步:设置期望运行时长;
用户为提交的任意一个拓扑结构ta设置期望运行时长
第四步:获取元组发送速率和接收速率;
在设置完成第二步和第三步后,在运行第一步的任意一个拓扑结构ta后,通过主节点上的Thrift运行时状态查询接口,启动后台监控线程;实时获得各个计算节点上运行数据源sc的元组发送速率和元组接收速率以及资源花费速率 然后执行第五步;
在本发明中,任意一个拓扑结构ta在计算节点上运行完成所有的数据源S={s1,s2,…,sc},则将获得的元组发送速率集合记为 和元组接收速率集合记为 资源花费速率集合记为 
为数据源s1的元组发送速率,为数据源s2的元组发送速率,为数据源sc的元组发送速率,为数据源s1的元组接收速率,为数据源s2的元组接收速率,为数据源sc的元组接收速率,为数据源s1的资源花费速率,为数据源s2的资源花费速率,为数据源sc的资源花费速率;
在本发明中,同理得到拓扑结构t1的元组发送速率集合记为 和元组接收速率集合记为 以及资源花费速率集合记为 拓扑结构t2的元组发送速率集合记为 和元组接收速率集合记为 以及资源花费速率集合记为 
第五步:调整网络资源花费速率;
采用网络带宽资源预算阈值Budget阈值对实时获得的当前时间窗口slide_windoww下的网络带宽开销进行比较;
则表明需要优先保障应用的运行时长要求,首先要对前三个时间窗口下的网络带宽开销求平均,即网络带宽开销均值 然后将当前网络开销与网络带宽开销均值Budget均值作差值比较,得到当前网络开销差值Budget差值;然后求取当前网络开销的相对网络资源偏差 然后判断所述Budget偏差是否超过带宽门限偏离量η,若Budget偏差>η,则将当前资源花费速率调整为 若Budget偏差≤η,则保持当前资源花费速率 并进入第八步骤;
则退出网络资源优先级的动态竞争,进而将网络资源花费速率设置为并进入第九步骤;
第六步:获取数据流选择率权重;
首先将调整的通知运行在各个计算节点上的处理组件B={b1,b2,…,bd};然后通过主节点上的Thrift运行时状态查询接口,启动后台监控线程;实时获得各个计算节点上运行处理组件bd的元组发送速率和元组接收速率
然后,获取当前时间窗口slide_windoww下处理组件bd的数据流选择率 并将所述的 作为数据流选择率模式权重然后执行第八 步;
第七步:获取数据分发模式权重;
设置数据分发模式权重然后执行第八步;
任意一种数据分发模式ge的数据分发权重记为Weight_ge,由于处理组件B={b1,b2,…,bd}是根据程序设置的所属数据分发模式G={g1,g2,…,ge}进行发出的,因此数据分发权重Weight_ge可以作为数据分发模式权重
第八步:获取下一时间窗口内的花费速率;
依据当前资源花费速率数据流选择率模式权重 和数据分发模式权重计算下一时间窗口slide_windoww+1内的花费速率且 然后执行第九步;
遍历完成Storm集群中运行的所有应用T={t1,t2,…,ta},获得所有应用T={t1,t2,…,ta}在下一个时间窗口slide_windoww+1的资源花费速率
第九步:获取当前网络带宽开销;
根据各数据源组件在当前时间窗口slide_windoww内选择的花费速率 从各个节点上应用的资源预算中扣除上一时间窗口slide_windoww-1内的网络带宽开销即得到当前网络带宽开销且 然后执行第十步;
第十步:自适应网络带宽划分;
根据计算节点上不同应用T={t1,t2,…,ta}的数据源组S={s1,s2,…,sc}的资源花费速率所占网络带宽的比重,来自适应划分网络,然后执行第十一步;
第十一步:中止网络带宽的动态优先调整;
当Storm系统中没有正在运行的应用T={t1,t2,…,ta},则中止网络带宽的动态优先级调整;或者,
Storm系统中所有应用T={t1,t2,…,ta}的网络带宽资源使用均退化为静态花费速率时,则中止网络带宽的动态优先级调整。
2.根据权利要求1所述的基于Storm实时流计算框架的应用网络带宽动态优先级保障方法,其特征在于:用户向主节点提交初始状态下应用所持有的资源预算以及资源花费速率,作为其对多应用共享集群网络资源情况下的使用凭据和使用速率,二者作为应用优先级动态调整的依据,可以是真实的集群资源购买金额和单位时间使用开销,也可以是某种抽象意义上的资源使用有效凭据。
CN201510098503.1A 2015-03-05 2015-03-05 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 Expired - Fee Related CN104639466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510098503.1A CN104639466B (zh) 2015-03-05 2015-03-05 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510098503.1A CN104639466B (zh) 2015-03-05 2015-03-05 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法

Publications (2)

Publication Number Publication Date
CN104639466A true CN104639466A (zh) 2015-05-20
CN104639466B CN104639466B (zh) 2018-04-10

Family

ID=53217796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510098503.1A Expired - Fee Related CN104639466B (zh) 2015-03-05 2015-03-05 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法

Country Status (1)

Country Link
CN (1) CN104639466B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630652A (zh) * 2016-02-02 2016-06-01 中国石油大学(华东) 一种面向实时大数据平台Storm的运行时三维可视化系统
CN105786626A (zh) * 2016-04-11 2016-07-20 南京邮电大学 基于K划分的Storm平台线程分配方法
CN107133104A (zh) * 2017-05-15 2017-09-05 广东工业大学 一种分布式流数据处理方法
CN107168776A (zh) * 2017-05-16 2017-09-15 广州视源电子科技股份有限公司 一种事件统计方法、装置、设备及存储介质
CN108270805A (zh) * 2016-12-30 2018-07-10 中国移动通信集团河北有限公司 用于数据处理的资源分配方法及装置
CN108512922A (zh) * 2018-03-29 2018-09-07 重庆大学 一种设备运行工况数据的动态分布式处理方法
CN110007899A (zh) * 2018-06-27 2019-07-12 浙江新再灵科技股份有限公司 基于storm的通用窗口框架系统
CN110809252A (zh) * 2019-10-18 2020-02-18 广州工程技术职业学院 一种基于无人机的突发事件应急通信方法与系统
CN112200979A (zh) * 2020-09-28 2021-01-08 深圳市智莱科技股份有限公司 网络共享方法、快递柜及可读存储介质
CN112714071A (zh) * 2019-10-25 2021-04-27 华为技术有限公司 一种数据发送方法及装置
CN117520011A (zh) * 2023-11-09 2024-02-06 中国三峡建工(集团)有限公司 一种实时数据内存的共享管理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118134A (zh) * 2013-02-28 2013-05-22 浙江大学 一种面向任务级的大数据分发质量保障方法及装置
CN103237232A (zh) * 2013-03-29 2013-08-07 秦祎芃 互联网视频流媒体传输空闲带宽自适应方法
CN103699599A (zh) * 2013-12-13 2014-04-02 华中科技大学 一种基于Storm实时流计算框架的消息可靠处理保障方法
WO2014067052A1 (en) * 2012-10-29 2014-05-08 Qualcomm Incorporated Selective high-priority bandwidth allocation for time-division multiple access communications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014067052A1 (en) * 2012-10-29 2014-05-08 Qualcomm Incorporated Selective high-priority bandwidth allocation for time-division multiple access communications
CN103118134A (zh) * 2013-02-28 2013-05-22 浙江大学 一种面向任务级的大数据分发质量保障方法及装置
CN103237232A (zh) * 2013-03-29 2013-08-07 秦祎芃 互联网视频流媒体传输空闲带宽自适应方法
CN103699599A (zh) * 2013-12-13 2014-04-02 华中科技大学 一种基于Storm实时流计算框架的消息可靠处理保障方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RUI WANG,DEPEI QIAN等: ""Optimizing Transmission in Multi-Flow Streaming Overlay Network"", 《2009 SIXTH IFIP INTERNATIONAL CONFERENCE ON NETWORK AND PARALLEL COMPUTING》 *
和欣,张晓林: ""面向战场多任务网络的等级优先动态带宽分配"", 《系统工程与电子技术》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630652A (zh) * 2016-02-02 2016-06-01 中国石油大学(华东) 一种面向实时大数据平台Storm的运行时三维可视化系统
CN105786626B (zh) * 2016-04-11 2019-02-19 南京邮电大学 基于K划分的Storm平台线程分配方法
CN105786626A (zh) * 2016-04-11 2016-07-20 南京邮电大学 基于K划分的Storm平台线程分配方法
CN108270805B (zh) * 2016-12-30 2021-03-05 中国移动通信集团河北有限公司 用于数据处理的资源分配方法及装置
CN108270805A (zh) * 2016-12-30 2018-07-10 中国移动通信集团河北有限公司 用于数据处理的资源分配方法及装置
CN107133104B (zh) * 2017-05-15 2020-07-21 广东工业大学 一种分布式流数据处理方法
CN107133104A (zh) * 2017-05-15 2017-09-05 广东工业大学 一种分布式流数据处理方法
CN107168776A (zh) * 2017-05-16 2017-09-15 广州视源电子科技股份有限公司 一种事件统计方法、装置、设备及存储介质
CN108512922A (zh) * 2018-03-29 2018-09-07 重庆大学 一种设备运行工况数据的动态分布式处理方法
CN110007899A (zh) * 2018-06-27 2019-07-12 浙江新再灵科技股份有限公司 基于storm的通用窗口框架系统
CN110809252A (zh) * 2019-10-18 2020-02-18 广州工程技术职业学院 一种基于无人机的突发事件应急通信方法与系统
CN110809252B (zh) * 2019-10-18 2023-05-12 广州工程技术职业学院 一种基于无人机的突发事件应急通信方法与系统
CN112714071A (zh) * 2019-10-25 2021-04-27 华为技术有限公司 一种数据发送方法及装置
CN112200979A (zh) * 2020-09-28 2021-01-08 深圳市智莱科技股份有限公司 网络共享方法、快递柜及可读存储介质
CN117520011A (zh) * 2023-11-09 2024-02-06 中国三峡建工(集团)有限公司 一种实时数据内存的共享管理方法及系统

Also Published As

Publication number Publication date
CN104639466B (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
CN104639466A (zh) 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法
CN102063336B (zh) 一种分布式计算多应用功能异步并发调度方法
CN108270805B (zh) 用于数据处理的资源分配方法及装置
CN105242956A (zh) 虚拟功能服务链部署系统及其部署方法
CN102521055B (zh) 一种虚拟机资源分配方法及其系统
CN111861412B (zh) 面向完成时间优化的科学工作流调度方法及系统
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
CN112165691A (zh) 内容分发网络调度方法、装置、服务器和介质
CN104104973A (zh) 一种应用于云媒体系统的群组带宽管理优化方法
CN104714851A (zh) 一种实现资源分配的方法及装置
CN103812949A (zh) 一种面向实时云平台的任务调度与资源分配方法及系统
CN107038071A (zh) 一种基于数据流预测的Storm任务伸缩调度算法
CN109684078A (zh) 用于spark streaming的资源动态分配方法和系统
CN106357823A (zh) 一种节能控制的云资源优化分配方法
Guo et al. On-demand resource provision based on load estimation and service expenditure in edge cloud environment
CN103179570A (zh) 应用在分散式分时多工系统的资源分配方法与系统
CN106293947B (zh) 虚拟化云环境下gpu-cpu混合资源分配系统和方法
CN110838988B (zh) 一种网络流量限流系统
CN103617083A (zh) 存储调度方法和系统、作业调度方法和系统及管理节点
CN105335376B (zh) 一种流处理方法、装置及系统
CN106407636A (zh) 集成结果统计方法及装置
N. Toosi et al. GreenFog: A framework for sustainable fog computing
CN103152757B (zh) 一种指令下发方法及设备
CN106302241A (zh) 在线消息队列调度方法和装置
CN111858721A (zh) 一种基于优先级编码的分布式计算方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210420

Address after: 100160, No. 4, building 12, No. 128, South Fourth Ring Road, Fengtai District, Beijing, China (1515-1516)

Patentee after: Kaixi (Beijing) Information Technology Co.,Ltd.

Address before: 100191 Haidian District, Xueyuan Road, No. 37,

Patentee before: BEIHANG University

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180410