CN104639466B - 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 - Google Patents
一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 Download PDFInfo
- Publication number
- CN104639466B CN104639466B CN201510098503.1A CN201510098503A CN104639466B CN 104639466 B CN104639466 B CN 104639466B CN 201510098503 A CN201510098503 A CN 201510098503A CN 104639466 B CN104639466 B CN 104639466B
- Authority
- CN
- China
- Prior art keywords
- rate
- msub
- resource
- network bandwidth
- mrow
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 55
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 3
- FSCNUJMKSQHQSY-UHFFFAOYSA-N Gein Chemical compound COC1=CC(CC=C)=CC=C1OC1C(O)C(O)C(O)C(COC2C(C(O)C(O)CO2)O)O1 FSCNUJMKSQHQSY-UHFFFAOYSA-N 0.000 claims 1
- 230000008859 change Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000003642 hunger Nutrition 0.000 description 2
- 229940126655 NDI-034858 Drugs 0.000 description 1
- 241000290929 Nimbus Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法,包括:设置应用拓扑结构;设置网络所需的开销、元组发送速度和接收速率;调整网络资源花费速率;当应用拓扑结构运行后,在时间窗口内对不同节点上组件的元组发送和接收速率进行实时监控;然后根据组件的剩余资源预算确定网络带宽优先级调整策略。本发明在多用户共享集群环境下,避免了由于资源竞争所导致的应用性能不确定性,有效地保障了高优先级应用对网络带宽的优先使用,并且能够根据负载水平变化自适应地调整应用优先级设置,在保障高优先级应用服务质量要求的同时,最大限度地满足其它应用对网络带宽地使用。
Description
技术领域
本发明涉及大数据处理、实时流计算和优先级保障技术领域,特别是涉及一种基于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},则将获得的元组发送速率集合记为和元组接收速率集合记为资源花费速率集合记为
为数据源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}的网络带宽资源使用均退化为静态花费速率时,则中止网络带宽的动态优先级调整。
附图说明
图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},则将获得的元组发送速率集合记为和元组接收速率集合记为
在本发明中,任意一个拓扑结构ta在计算节点上运行完成所有的数据源S={s1,s2,…,sc},则将获得的资源花费速率集合记为
为数据源s1的元组发送速率,为数据源s2的元组发送速率,为数据源sc的元组发送速率,为数据源s1的元组接收速率,为数据源s2的元组接收速率,为数据源sc的元组接收速率,为数据源s1的资源花费速率,为数据源s2的资源花费速率,为数据源sc的资源花费速率。
在本发明中,同理得到拓扑结构t1的元组发送速率集合记为和元组接收速率集合记为以及资源花费速率集合记为拓扑结构t2的元组发送速率集合记为和元组接收速率集合记为以及资源花费速率集合记为
在本发明中,实时获得各个计算节点上所有应用运行数据源组的元组发送速率和元组接收速率信息,以利于实时调整网络带开销,提高程序运行速度。
第五步:调整网络资源花费速率;
采用网络带宽资源预算阈值Budget阈值对实时获得的当前时间窗口slide_windoww下的网络带宽开销进行比较;
若则表明需要优先保障应用的运行时长要求,首先要对前三个时间窗口下的网络带宽开销求平均,即网络带宽开销均值然后将当前网络开销与网络带宽开销均值Budget均值作差值比较,得到当前网络开销差值Budget差值;然后求取当前网络开销的相对网络资源偏差然后判断所述Budget偏差是否超过带宽门限偏离量η,若Budget偏差>η,则将当前资源花费速率调整为若Budget偏差≤η,则保持当前资源花费速率并进入第六步骤。
若则退出网络资源优先级的动态竞争,进而将网络资源花费速率设置为并进入第十步骤;
在本发明中,由于是基于Storm实时流来计算所应用网络带宽的动态调整,故在时间窗口slide_windoww下运行拓扑结构ta的资源花费速率记为利用来动态调整网络带宽,更加适合Storm实时流的运行。
第六步:获取数据流选择率权重;
首先将调整的通知运行在各个计算节点上的处理组件B={b1,b2,…,bd};然后通过主节点上的Thrift运行时状态查询接口,启动后台监控线程;实时获得各个计算节点上运行处理组件bd的元组发送速率和元组接收速率
在本发明中,任意一个拓扑结构ta在计算节点上运行完成所有的处理组件B={b1,b2,…,bd},则将获得的处理组件元组发送速率集合记为和处理组件元组接收速率集合记为
为处理组件b1的元组发送速率,为处理组件b2的元组发送速率,为处理组件bd的元组发送速率,为处理组件b1的元组接收速率,为处理组件b2的元组接收速率,为处理组件bd的元组接收速率。
在本发明中,同理得到拓扑结构t1的处理组件元组发送速率集合记为和处理组件元组接收速率集合记为拓扑结构t2的处理组件元组发送速率集合记为和处理组件元组接收速率集合记为
然后,获取当前时间窗口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}的资源花费速率所占网络带宽的比重,来自适应划分网络,然后执行第十一步。
在本发明中,将不同应用组件在该节点上的资源花费速率比重,作为数据源组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};
所述应用拓扑结构T={t1,t2,…,ta}中t1为第一个应用拓扑结构;t2为第二个应用拓扑结构;ta为任意一个应用拓扑结构,a为拓扑结构的个数标识号;
所述数据源组S={s1,s2,…,sc}中s1为第一组数据源;s2为第二组数据源;sc为任意一组数据源,c为数据源的组数标识号;
所述处理组件B={b1,b2,…,bd}中b1为第一个处理组件;b2为第二个处理组件;bd为任意一个处理组件,d为处理组件的个数标识号;
所述组件间的数据分发模式G={g1,g2,…,ge}中g1为第一种数据分发模式;g2为第二种数据分发模式;ge为任意一种数据分发模式,e为数据分发模式的标识号;
第二步:设置资源预算和花费速率的初始值;
用户为提交的任意一个拓扑结构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的资源花费速率
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mn>1</mn>
<mo>_</mo>
</mrow>
</msub>
<msub>
<mi>S</mi>
<mo>_</mo>
</msub>
<msub>
<mi>Rate</mi>
<mrow>
<mi>slide</mi>
<mo>_</mo>
<msub>
<mi>window</mi>
<mrow>
<mi>w</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</msub>
<mo>=</mo>
<mo>{</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mn>1</mn>
</msub>
</msup>
<mo>,</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mn>2</mn>
</msub>
</msup>
<mo>,</mo>
<mo>.</mo>
<mo>.</mo>
<mo>.</mo>
<mo>,</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mi>c</mi>
</msub>
</msup>
<mo>}</mo>
<mo>,</mo>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mn>2</mn>
<mo>_</mo>
</mrow>
</msub>
<msub>
<mi>S</mi>
<mo>_</mo>
</msub>
<msub>
<mi>Rate</mi>
<mrow>
<mi>slide</mi>
<mo>_</mo>
<msub>
<mi>window</mi>
<mrow>
<mi>w</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</msub>
<mo>=</mo>
<mo>{</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mn>1</mn>
</msub>
</msup>
<mo>,</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mn>2</mn>
</msub>
</msup>
<mo>,</mo>
<mo>.</mo>
<mo>.</mo>
<mo>.</mo>
<mo>,</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mi>c</mi>
</msub>
</msup>
<mo>}</mo>
<mo>,</mo>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>a</mi>
<mo>_</mo>
</mrow>
</msub>
<msub>
<mi>S</mi>
<mo>_</mo>
</msub>
<msub>
<mi>Rate</mi>
<mrow>
<mi>slide</mi>
<mo>_</mo>
<msub>
<mi>window</mi>
<mrow>
<mi>w</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</msub>
<mo>=</mo>
<mo>{</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mn>1</mn>
</msub>
</msup>
<mo>,</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mn>2</mn>
</msub>
</msup>
<mo>,</mo>
<mo>.</mo>
<mo>.</mo>
<mo>.</mo>
<mo>,</mo>
<msup>
<mi>Rate</mi>
<msub>
<mi>s</mi>
<mi>c</mi>
</msub>
</msup>
<mo>}</mo>
<mo>;</mo>
</mrow>
第九步:获取当前网络带宽开销;
根据各数据源组件在当前时间窗口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实时流计算框架的应用网络带宽动态优先级保障方法,其特征在于:用户向主节点提交初始状态下应用所持有的资源预算以及资源花费速率,作为其对多应用共享集群网络资源情况下的使用凭据和使用速率,二者作为应用优先级动态调整的依据,是真实的集群资源购买金额和单位时间使用开销,或者是某种抽象意义上的资源使用有效凭据。
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 CN104639466A (zh) | 2015-05-20 |
CN104639466B true 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) |
Families Citing this family (11)
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平台线程分配方法 |
CN108270805B (zh) * | 2016-12-30 | 2021-03-05 | ***通信集团河北有限公司 | 用于数据处理的资源分配方法及装置 |
CN107133104B (zh) * | 2017-05-15 | 2020-07-21 | 广东工业大学 | 一种分布式流数据处理方法 |
CN107168776B (zh) * | 2017-05-16 | 2020-09-22 | 广州视源电子科技股份有限公司 | 一种事件统计方法、装置、设备及存储介质 |
CN108512922A (zh) * | 2018-03-29 | 2018-09-07 | 重庆大学 | 一种设备运行工况数据的动态分布式处理方法 |
CN110007899B (zh) * | 2018-06-27 | 2022-11-18 | 浙江新再灵科技股份有限公司 | 基于storm的通用窗口框架*** |
CN110809252B (zh) * | 2019-10-18 | 2023-05-12 | 广州工程技术职业学院 | 一种基于无人机的突发事件应急通信方法与*** |
CN112714071A (zh) * | 2019-10-25 | 2021-04-27 | 华为技术有限公司 | 一种数据发送方法及装置 |
CN112200979A (zh) * | 2020-09-28 | 2021-01-08 | 深圳市智莱科技股份有限公司 | 网络共享方法、快递柜及可读存储介质 |
CN117520011B (zh) * | 2023-11-09 | 2024-06-21 | 中国三峡建工(集团)有限公司 | 一种实时数据内存的共享管理方法及*** |
Citations (4)
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 |
-
2015
- 2015-03-05 CN CN201510098503.1A patent/CN104639466B/zh not_active Expired - Fee Related
Patent Citations (4)
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)
Title |
---|
"Optimizing Transmission in Multi-Flow Streaming Overlay Network";Rui Wang,Depei Qian等;《2009 sixth IFIP International Conference on Network and Parallel Computing》;20091019;全文 * |
"面向战场多任务网络的等级优先动态带宽分配";和欣,张晓林;《***工程与电子技术》;20110531;第33卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104639466A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104639466B (zh) | 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 | |
Ali et al. | Grouped tasks scheduling algorithm based on QoS in cloud computing network | |
US9386086B2 (en) | Dynamic scaling for multi-tiered distributed systems using payoff optimization of application classes | |
Fard et al. | A multi-objective approach for workflow scheduling in heterogeneous environments | |
Muthuvelu et al. | A dynamic job grouping-based scheduling for deploying applications with fine-grained tasks on global grids | |
CN103401939B (zh) | 一种采用混合调度策略的负载均衡方法 | |
Beaumont et al. | Optimal algorithms for scheduling divisible workloads on heterogeneous systems | |
CN108270805B (zh) | 用于数据处理的资源分配方法及装置 | |
CN104902001B (zh) | 基于操作***虚拟化的Web请求负载均衡方法 | |
CN102281290B (zh) | 一种PaaS云平台的仿真***及方法 | |
Tajwar et al. | CPU scheduling with a round robin algorithm based on an effective time slice | |
Ma et al. | On resource management for cloud users: A generalized kelly mechanism approach | |
Meskar et al. | Fair multi-resource allocation in mobile edge computing with multiple access points | |
CN115714820A (zh) | 一种分布式的微服务调度优化方法 | |
CN103248622A (zh) | 一种自动伸缩的在线视频服务质量保障方法及*** | |
Batista et al. | A set of schedulers for grid networks | |
CN105912408A (zh) | 云主机***中的cpu调度方法及装置 | |
Li et al. | A topology-aware scheduling strategy for distributed stream computing system | |
Sabin et al. | Assessment and enhancement of meta-schedulers for multi-site job sharing | |
Gong et al. | Quantitative modeling and analytical calculation of anelasticity for a cyber-physical system | |
Vo et al. | Reinforcement-Learning-Based Deadline Constrained Task Offloading Schema for Energy Saving in Vehicular Edge Computing System | |
Sadeghzadeh et al. | A novel resource allocation approach for real time workloads in SDN based fog environments | |
Wei et al. | Topology-aware task allocation for online distributed stream processing applications with latency constraints | |
Rajguru et al. | Performance improvement of distributed system through load balancing and task scheduling using fuzzy logic | |
Guo et al. | Dynamic Multi-Resource Fair Allocation with Elastic Demands |
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 |
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 |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180410 |
|
CF01 | Termination of patent right due to non-payment of annual fee |