CN107133104A - 一种分布式流数据处理方法 - Google Patents
一种分布式流数据处理方法 Download PDFInfo
- Publication number
- CN107133104A CN107133104A CN201710338078.8A CN201710338078A CN107133104A CN 107133104 A CN107133104 A CN 107133104A CN 201710338078 A CN201710338078 A CN 201710338078A CN 107133104 A CN107133104 A CN 107133104A
- Authority
- CN
- China
- Prior art keywords
- mrow
- data
- msubsup
- msub
- mtd
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种分布式流数据处理应用在减载下资源感知的方法。本发明通过对减载情况下的分布式流式数据处理应用的实际负载的建模与分析,预测该应用在不进行减载操作情况下的真实负载。基于真实负载,本发明能够辅助分布式流式数据处理处理系统的资源管理和调度框架对应用所需要的计算、储存等资源做出正确的测量与分配。
Description
技术领域
本发明涉及分布式流式数据处理应用的资源管理与调度领域,更具体涉及分布式流数据处理方法。
背景技术
随着计算机和网络技术的迅猛发展以及数据获取手段的不断丰富,在越来越多的领域出现了对海量、高速数据进行实时处理的需求.由于此类需求往往超出传统数据处理技术的能力,分布式流处理模式和分布式流处理系统应运而生。作为一种运行于分布式流处理系统上的处理海量实时数据流的应用,分布式流处理应用需要获取相应的计算、存储和传输等硬件资源。而分布式流处理应用的资源管理和调度的作用就是根据不同应用的不同需求而合理的分配有限的硬件资源并对硬件资源进行管理,当流处理应用负载过重时,适当为其增加资源,反之则回收资源。此外,由于实时数据流的不确定性和波动性,在某一时刻可能出现超出系统处理能力的数据规模,为了应对这类突发的紧急情况,流处理系统中往往会采用减载等方法,控制数据流的大小以避免系统崩溃。
由于减载的引入,必然导致资源管理调度框架无法准确监控与判断流处理应用的真实负载情况,这就间接导致其无法正确的管理资源。为了解决这一问题,必然需要根据应用在减载下的负载预测真实的负载。基于真实的负载,才能确保资源调度管理框架监测到真实负载情况并正确而合理的管理资源。
如图1所示,为一个词频统计的流数据处理应用。其中每个处理单元之前存在一个减载队列,在减载队列中对负载数据进行丢弃等操作。从数据源流出数据10个句子,经减载率为20%的减载后得到8个句子,进入第一个处理单元—切分句子,处理完成后得到40个单词,经第二次10%减载得到36个单词,进入第二个处理单元,统计每个单词的出现频率并将结果存储。
流处理应用必须进保证每一个处理单元都能够正常运转,即必须保证每一个处理单元能得到最小的计算资源。减载情况下对真实负载进行还原的难点在于,流处理应用的每一个操作之前都有可能会进行减载,这就导致了下游处理单元的负载情况必然受到上游处理单元的影响。因此预测每一个处理单元的负载情况时必须要考虑到上游处理单元的减载情况,这种级联的预测是相当复杂的。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。
为此,本发明分析减载下无法监测应用真实负载从而合理分配应用正常运行所需的最小资源的问题,提供了一种减载状态下真实负载预测和最小资源需求预测的方法。本发明的目的在于通过对减载下负载的监测与建模分析,得到真实的负载情况,基于真实的负载辅助资源调度管理框架预测应用所需的最小资源。具体的技术方案如下:
本发明提供了一种分布式流数据处理方法,包括:
步骤一,定义流数据应用处理模型;
步骤二,基于减载下的流式数据处理模型确定相关分析参数;
步骤三,测量流处理应用相关参数的数值;
步骤四,基于测量到的负载参数的数值计算输入输出选择率函数;
步骤五,通过所述测量到的参数的数值和所述计算得到的输入输出选择率函数还原应用真实负载;
步骤六,基于所述真实负载预测流处理应用所需最小资源。
具体的,所述相关分析参数为以下参数的一种或几种:对流处理应用中的每一个数据源都需要测量在数据源发送数据时统计测量并存储初始负载λ(source,m)、i处理单元第t秒内的平均输入到达率在i处理单元接收数据是测量并存储流入数据流平均到达率λ(i,in)、在i处理单元发送数据时测量并存储流出数据流平均到达率λ(i,out)、在j处理单元发送数据时,测量i处理单元的j前驱处理单元发送到i的数据占j总发出数据的比例pji、实时统计测量并存储i处理单元平均处理率μi、在i处理单元测量其减载率si、统计测量并存储i处理单元的所有祖先处理单元集合Ancestor(i);统计数据源个数n,处理单元个数N。
具体的,基于测量到的减载情况下的流式数据处理应用瞬时输入负载数据和输入负载数据使用多项式拟合方法计算出客观不变的输入输出选择率fi。
具体的,基于流式数据处理应用处理单元的拓扑排序,根据客观不变的每个处理单元的输入输出选择率函数fi,i处理单元的j前驱处理单元发送到i的数据占j总发出数据的比例pji以及应用初始负载λ(source,m),逐个计算出处理单元的真实负载情况具体计算公式如下:
不管是否存在减载机制,应用的输入数据流应该是不变的,即:
溯源至流式数据处理应用数据源,必然存在1个或多个处理单元g和数据源h有:
故可由应用初始负载,客观不变的每个处理单元的输入输出选择率函数fi以及流式数据处理应用处理单元的拓扑排序计算出每个处理单元的真实负载情况。
具体的,真实负载情况和平均处理率μi,计算得到最小资源需求κi,其计算公式为:
具体的,所述步骤三具体为:
步骤31,统计得到应用具体的处理单元个数N,数据源总数n;
步骤32,测量与计算每一个处理单元的流入数据流平均到达率λ(i,in)及流出数据流平均到达率λ(i,out)。以及整个流处理应用的外部输入数据流平均到达率λ(source,m);
步骤33,测量得到每一个处理单元平均的处理率μi;
步骤34,假设在无减载情况下每一个处理单元的输入数据流平均到达率,即真实负载为每一个处理单元的输入数据流平均到达率整个应用的输入数据流
具体的,所述步骤四具体为:
步骤41,fi是以λ(i,in)为自变量,λ(i,out)为因变量的函数,有:
fi(λ(i,in))=λ(i,out) i∈[0,N-1]
步骤42,根据实时监测到的每个处理单元的负载数据和输出数据,拟合得到近似的fi函数;
步骤43在流处理应用运行过程,周期性的根据实时负载情况不断训练,更新fi函数。
具体的,所述步骤五具体为:
步骤51,实时获取整个应用的输入数据流λ(source,m),可知不管是否存在减载机制,应用的输入数据流应该是不变的,即:
步骤52,在不存在减载情况的流处理应用中,有下一处理单元i的输入数据流为上一处理单元j的输出数据流的一部分,比例为:pji,即:
再有:
步骤53,不管是否存在减载机制,fi,pji不变;由i处理单元的全部祖先处理单元Ancestor(i)的输入输出选择率函数,以及i处理单元所处理数据的数据源输入数据流平均到达率λ(source,m),推导出i处理单元的真实负载。
具体的,所述步骤六具体为:
如果需要保证某一处理单元的正常工作,其真实负载和平均的处理率μi以及所需的资源量κi需满足以下条件:
可以得到最小资源需求:
本发明在减载下状态下的分布式流数据处理应用上实时监测负载情况,并计算预测真实负载,实时的汇报正确数据给资源调度管理框架。资源调度管理框架,通过真实的负载情况与现有资源进行比较,动态的合理分配资源,减少资源浪费,维护应用正常运行。
本发明具有如下的优点和技术效果:
轻量级的方法,在减载被触发得情况下对应用负载进行线性的统计计算,对于整个系统的负载情况影响小。在减载未触发的情况下,对处理单元输入输出选择率进行拟合学习,由于学习数据量小,基本不会给系统带来额外的负载。
预测准确,随着应用的运行,动态的实时的预测处理单元输入输出选择率,保证了输入输出选择率预测的时效性,从而保证了资源调度管理框架的稳定运行和正确判断。
有利于维持分布式流处理系统的资源调度管理框架的稳定运行和正确资源分配,在过载情况下,保证资源调度管理框架能够得到真实负载数值,快速响应,弹性调度资源,确保应用输出的准确性。
有利于大数据计算服务提供商为用户提供高质量的服务和稳定的系统体验和资源弹性调度。
附图说明
图1为现有技术中减载下词频统计流处理应用的处理流程图;
图2为本发明分布式流式数据处理结构有向无环图;
图3为本发明的一种分布式流数据处理方法的流程图;
图4为本发明的待分析参数监测及传输流程图;
图5为本发明减载下的分布式流处理应用工作运行及负载情况的模拟图;
图6为本发明剥离减载效果下分布式流处理应用工作运行及真实负载情况模拟图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
如图2所示,流处理应用运行状态结构可以表示为一张有向无环图(DAG),定义为topology。图中的节点代表了分布式流处理的一个处理单元,有向边代表数据流流动的方向。数据流从数据源流出,依次进入应用的不同处理单元,处理完成后,数据流流出。同时定义应用处理的数据流的最小单位为tuple。
如图3所示,本发明提供了一种分布式流数据处理方法,包括:
步骤一,定义流数据应用处理模型;
步骤二,基于减载下的流式数据处理模型确定相关分析参数;
步骤三,测量流处理应用相关参数的数值;
步骤四,基于测量到的负载参数的数值计算输入输出选择率函数;
步骤五,通过所述测量到的参数的数值和所述计算得到的输入输出选择率函数还原应用真实负载;
步骤六,基于所述真实负载预测流处理应用所需最小资源。
具体的,所述相关分析参数为以下参数的一种或几种:对流处理应用中的每一个数据源都需要测量在数据源发送数据时统计测量并存储初始负载λ(source,m)、i处理单元第t秒内的平均输入到达率在i处理单元接收数据是测量并存储流入数据流平均到达率λ(i,in)、在i处理单元发送数据时测量并存储流出数据流平均到达率λ(i,out)、在j处理单元发送数据时,测量i处理单元的j前驱处理单元发送到i的数据占j总发出数据的比例pji、实时统计测量并存储i处理单元平均处理率μi、在i处理单元测量其减载率si、统计测量并存储i处理单元的所有祖先处理单元集合Ancestor(i);统计数据源个数n,处理单元个数N。
具体的,基于测量到的减载情况下的流式数据处理应用瞬时输入负载数据和输入负载数据使用多项式拟合方法计算出客观不变的输入输出选择率fi。
具体的,基于流式数据处理应用处理单元的拓扑排序,根据客观不变的每个处理单元的输入输出选择率函数fi,i处理单元的j前驱处理单元发送到i的数据占j总发出数据的比例pji以及应用初始负载λ(source,m),逐个计算出处理单元的真实负载情况具体计算公式如下:
不管是否存在减载机制,应用的输入数据流应该是不变的,即:
溯源至流式数据处理应用数据源,必然存在1个或多个处理单元g和数据源h有:
故可由应用初始负载,客观不变的每个处理单元的输入输出选择率函数fi以及流式数据处理应用处理单元的拓扑排序计算出每个处理单元的真实负载情况。
具体的,真实负载情况和平均处理率μi,计算得到最小资源需求κi,其计算公式为:
具体的,所述步骤3具体为:
步骤31,统计得到应用具体的处理单元个数N,数据源总数n;
步骤32,测量与计算每一个处理单元的流入数据流平均到达率λ(i,in)及流出数据流平均到达率λ(i,out)。以及整个流处理应用的外部输入数据流平均到达率λ(source,m);
步骤33,测量得到每一个处理单元平均的处理率μi;
步骤34,假设在无减载情况下每一个处理单元的输入数据流平均到达率,即真实负载为每一个处理单元的输入数据流平均到达率整个应用的输入数据流
具体的,所述步骤4具体为:
步骤41,fi是以λ(i,in)为自变量,λ(i,out)为因变量的函数,有:
fi(λ(i,in))=λ(i,out) i∈[0,N-1]
步骤42,根据实时监测到的每个处理单元的负载数据和输出数据,拟合得到近似的fi函数;
步骤43在流处理应用运行过程,周期性的根据实时负载情况不断训练,更新fi函数。
具体的,所述步骤五具体为:
步骤51,实时获取整个应用的输入数据流λ(source,m),可知不管是否存在减载机制,应用的输入数据流应该是不变的,即:
步骤52,在不存在减载情况的流处理应用中,有下一处理单元i的输入数据流为上一处理单元j的输出数据流的一部分,比例为:pji,即:
再有:
步骤53,不管是否存在减载机制,fi,pji不变;由i处理单元的全部祖先处理单元Ancestor(i)的输入输出选择率函数,以及i处理单元所处理数据的数据源输入数据流平均到达率λ(source,m),推导出i处理单元的真实负载。
具体的,所述步骤六具体为:
如果需要保证某一处理单元的正常工作,其真实负载和平均的处理率μi以及所需的资源量κi需满足以下条件:
可以得到最小资源需求:
为更好的说明本发明的技术方案,本发明提供了一具体实施方式,具体如下:
如图3所示,一种分布式流数据处理应用在减载下资源感知的方法,包括以下步骤:
(1)定义分布式流处理应用处理模型为一张有向无环图(DAG),称之为topology。图中的节点代表了分布式流处理的一个处理单元,有向边代表数据流流动的方向。数据流从数据源流出,依次进入应用的不同处理单元,完成所有处理后,数据流流出。数据流的最小单位称之为tuple。
(2)设定相关分析参数,如下表:
i,j∈[0,N-1],m∈[0,n-1],两者均为正整数。
(3)如图4,在实际应用运行过程中,基于不同数据源和处理单元分别测量(2)中设定的N,λ(source,m),λ(i,in),λ(i,out),μi,si,pij等参数,发送到统一的测量数据处理模块当中,并且实时的进行更新。
(4)在测量数据处理模块当中,使用(3)中得到的负载数据,分别针对不同的处理单元使用机器学习算法学习得到每一个处理单元的输入输出选择率fi。此处的学习算法,可以根据实际情况进行选择。由于流数据处理的输入输出选择率多可用多项式表达,因此建议采用多项式拟合学习。主要包括以下步骤:
a)实时采集数据。
b)学习输入输出选择率函数。
c)按时间间隔不断触发学习算法,更新输入输出选择率函数。
(5)基于(4)的结果和(3)的数据,以及流处理应用的图结构拓扑排序,计算出真实的负载情况。再根据负载情况计算每个处理单元真实需要的资源数量。如图5所描述的topology,使用kahn算法或者DFS算法等可以得到其处理单元拓扑排序为(B0 B1 B2 B3 B4),考虑到数据源,可以表示成如下矩阵:
矩阵中每个值表示列处理单元发送到行处理单元的数据占列处理单元总发出数据的比例。显然有,每一列所有值之和为1。如图有p12+p13=1。
根据上面所描述的矩阵、测量值λ(source,0)以及每个处理单元的输入输出选择率函数fi,按照图的拓扑排序顺序可以有如图6,得到每个处理单元的负载情况分别为:
由得到的真实负载情况以及每个处理单元的处理率可以得到每个处理单元的最小资源需求分别为:
最后,根据得到的最小资源需求,资源调度管理框架可以进行资源分配和管理。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种分布式流数据处理方法,其特征在于,包括:
步骤一,定义流数据应用处理模型;
步骤二,基于减载下的流式数据处理模型确定相关分析参数;
步骤三,测量流处理应用相关参数的数值;
步骤四,基于测量到的负载参数的数值计算输入输出选择率函数;
步骤五,通过所述测量到的参数的数值和所述计算得到的输入输出选择率函数还原应用真实负载;
步骤六,基于所述真实负载预测流处理应用所需最小资源。
2.根据权利要求1所述的一种分布式流数据处理方法,其特征在于,所述相关分析参数为以下参数的一种或几种:对流处理应用中的每一个数据源都需要测量在数据源发送数据时统计测量并存储初始负载λ(source,m)、i处理单元第t秒内的平均输入到达率i处理单元第t秒内的平均输出到达率在i处理单元接收数据是测量并存储流入数据流平均到达率λ(i,in)、在i处理单元发送数据时测量并存储流出数据流平均到达率λ(i,out)、在j处理单元发送数据时,测量i处理单元的j前驱处理单元发送到i的数据占j总发出数据的比例pji、实时统计测量并存储i处理单元平均处理率μi、在i处理单元测量其减载率si、统计测量并存储i处理单元的所有祖先处理单元集合Ancestor(i);统计数据源个数n,处理单元个数N。
3.根据权利要求1所述的一种分布式流数据处理方法,其特征在于,基于测量到的减载情况下的流式数据处理应用瞬时输入负载数据和输入负载数据使用多项式拟合方法计算出客观不变的输入输出选择率fi。
4.根据权利要求2所述的一种分布式流数据处理方法,其特征在于,基于流式数据处理应用处理单元的拓扑排序,根据客观不变的每个处理单元的输入输出选择率函数fi,i处理单元的j前驱处理单元发送到i的数据占j总发出数据的比例pji以及应用初始负载λ(source,m),逐个计算出处理单元的真实负载情况具体计算公式如下:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>,</mo>
<mi>o</mi>
<mi>u</mi>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<mo>*</mo>
<msub>
<mi>p</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mi>N</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>,</mo>
<mi>o</mi>
<mi>u</mi>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<mo>=</mo>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mi>N</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<mo>)</mo>
</mrow>
<mo>*</mo>
<msub>
<mi>p</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mi>N</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
溯源至流式数据处理应用数据源,必然存在1个或多个数据单元g和数据源h有:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>g</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<mo>=</mo>
<msub>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mi>o</mi>
<mi>u</mi>
<mi>r</mi>
<mi>c</mi>
<mi>e</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>g</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mi>N</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
<mo>,</mo>
<mi>h</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
5.根据权利要求1所述的一种分布式流数据处理方法,其特征在于,真实负载情况和平均处理率μi,计算得到最小资源需求κi,其计算公式为:
<mrow>
<msub>
<mi>&kappa;</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mrow>
<mo>&lsqb;</mo>
<mfrac>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<msub>
<mi>&mu;</mi>
<mi>i</mi>
</msub>
</mfrac>
<mo>&rsqb;</mo>
</mrow>
<mo>+</mo>
<mn>1</mn>
</mrow>
6.根据权利要求1所述的一种分布式流数据处理方法,其特征在于,所述步骤三具体为:
步骤31,统计得到应用具体的处理单元个数N,数据源总数n;
步骤32,测量与计算每一个处理单元的流入数据流平均到达率λ(i,in)及流出数据流平均到达率λ(i,out)。以及整个流处理应用的外部输入数据流平均到达率λ(source,m);
步骤33,测量得到每一个处理单元平均的处理率μi;
步骤34,假设在无减载情况下每一个处理单元的输入数据流平均到达率,即真实负载为每一个处理单元的输入数据流平均到达率整个应用的输入数据流
7.根据权利要求1所述的一种分布式流数据处理方法,其特征在于,所述步骤四具体为:
步骤41,fi是以λ(i,in)为自变量,λ(i,out)为因变量的函数,有:
fi(λ(i,in))=λ(i,out) i∈[0,N-1]
步骤42,根据实时监测到的每个处理单元的负载数据和输出数据,拟合得到近似的fi函数;
步骤43在流处理应用运行过程,周期性的根据实时负载情况不断训练,更新fi函数。
8.根据权利要求1所述的一种分布式流数据处理方法,其特征在于,所述步骤五具体为:
步骤51,实时获取整个应用的输入数据流λ(source,m),可知不管是否存在减载机制,应用的输入数据流应该是不变的,即:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mi>o</mi>
<mi>u</mi>
<mi>r</mi>
<mi>c</mi>
<mi>e</mi>
<mo>,</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<mo>=</mo>
<msub>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mi>o</mi>
<mi>u</mi>
<mi>r</mi>
<mi>c</mi>
<mi>e</mi>
<mo>,</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>m</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
步骤52,在不存在减载情况的流处理应用中,有下一处理单元i的输入数据流为上一处理单元j的输出数据流的一部分,比例为:pji,即:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>,</mo>
<mi>o</mi>
<mi>u</mi>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<mo>*</mo>
<msub>
<mi>p</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mi>N</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
<mo>;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
再有:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<mo>)</mo>
</mrow>
<mo>*</mo>
<msub>
<mi>p</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mi>N</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
<mo>;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
步骤53,不管是否存在减载机制,fi,pji不变;由i处理单元的全部祖先处理单元Ancestor(i)的输入输出选择率函数,以及i处理单元所处理数据的数据源输入数据流平均到达率λ(source,m),推导出i处理单元的真实负载。
9.根据权利要求1所述的一种分布式流数据处理方法,其特征在于,所述步骤六具体为:
如果需要保证某一处理单元的正常工作,其真实负载和平均的处理率μi以及所需的资源量ki需满足以下条件:
<mrow>
<msub>
<mi>&kappa;</mi>
<mi>i</mi>
</msub>
<mo>&GreaterEqual;</mo>
<mfrac>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<msub>
<mi>&mu;</mi>
<mi>i</mi>
</msub>
</mfrac>
<mo>;</mo>
</mrow>
可以得到最小资源需求:
<mrow>
<msub>
<mi>&kappa;</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mo>&lsqb;</mo>
<mfrac>
<msubsup>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>i</mi>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
</msubsup>
<msub>
<mi>&mu;</mi>
<mi>i</mi>
</msub>
</mfrac>
<mo>&rsqb;</mo>
<mo>+</mo>
<mn>1.</mn>
</mrow>
2
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710338078.8A CN107133104B (zh) | 2017-05-15 | 2017-05-15 | 一种分布式流数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710338078.8A CN107133104B (zh) | 2017-05-15 | 2017-05-15 | 一种分布式流数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107133104A true CN107133104A (zh) | 2017-09-05 |
CN107133104B CN107133104B (zh) | 2020-07-21 |
Family
ID=59733116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710338078.8A Active CN107133104B (zh) | 2017-05-15 | 2017-05-15 | 一种分布式流数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107133104B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228356A (zh) * | 2017-12-29 | 2018-06-29 | 华中科技大学 | 一种流数据的分布式动态处理方法 |
CN113132262A (zh) * | 2020-01-15 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 一种数据流处理及分类方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908065A (zh) * | 2010-07-27 | 2010-12-08 | 浙江大学 | 一种支持动态更新的在线属性异常点检测方法 |
CN103927349A (zh) * | 2014-04-03 | 2014-07-16 | 华中科技大学 | 一种流数据系统的负载评估以及过载判定方法 |
CN102831013B (zh) * | 2012-07-19 | 2014-11-05 | 西安交通大学 | 一种基于虚拟机的vod应用资源消耗预测方法 |
CN104639466A (zh) * | 2015-03-05 | 2015-05-20 | 北京航空航天大学 | 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 |
-
2017
- 2017-05-15 CN CN201710338078.8A patent/CN107133104B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908065A (zh) * | 2010-07-27 | 2010-12-08 | 浙江大学 | 一种支持动态更新的在线属性异常点检测方法 |
CN102831013B (zh) * | 2012-07-19 | 2014-11-05 | 西安交通大学 | 一种基于虚拟机的vod应用资源消耗预测方法 |
CN103927349A (zh) * | 2014-04-03 | 2014-07-16 | 华中科技大学 | 一种流数据系统的负载评估以及过载判定方法 |
CN104639466A (zh) * | 2015-03-05 | 2015-05-20 | 北京航空航天大学 | 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 |
Non-Patent Citations (1)
Title |
---|
季震宇: "流数据降载机制研究", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228356A (zh) * | 2017-12-29 | 2018-06-29 | 华中科技大学 | 一种流数据的分布式动态处理方法 |
CN108228356B (zh) * | 2017-12-29 | 2021-01-15 | 华中科技大学 | 一种流数据的分布式动态处理方法 |
CN113132262A (zh) * | 2020-01-15 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 一种数据流处理及分类方法、装置和系统 |
CN113132262B (zh) * | 2020-01-15 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 一种数据流处理及分类方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107133104B (zh) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3629553B1 (en) | Method and device for service scheduling | |
Chong et al. | A simulation-based optimization algorithm for dynamic large-scale urban transportation problems | |
Nagarajan et al. | Approximation techniques for computing packet loss in finite-buffered voice multiplexers | |
CN110704542A (zh) | 一种基于节点负载的数据动态分区系统 | |
CN107247651A (zh) | 云计算平台监测预警方法和系统 | |
CN105677489B (zh) | 离散流处理模型下批次间隔大小的动态设置系统及方法 | |
CN110474808A (zh) | 一种流量预测方法及装置 | |
Tajtehranifard et al. | A path marginal cost approximation algorithm for system optimal quasi-dynamic traffic assignment | |
CN107133104A (zh) | 一种分布式流数据处理方法 | |
Vicil | Optimizing stock levels for service-differentiated demand classes with inventory rationing and demand lead times | |
He et al. | Production variability of production lines | |
Casale et al. | Model-driven system capacity planning under workload burstiness | |
Kwiatkowska et al. | Model checking expected time and expected reward formulae with random time bounds | |
Suman et al. | Conditional waiting time analysis in tandem polling queues | |
Wu et al. | A simulation study on supply chain complexity in manufacturing industry | |
Eymard et al. | Comparison of numerical methods for the assessment of production availability of a hybrid system | |
Mohammadi et al. | Performance evaluation of single and multi-class production systems using an approximating queuing network | |
Li et al. | Evaluation of throughput in serial production lines with non-exponential machines | |
Li et al. | Performance prediction and evaluation based on the variability theory in production lines using arena simulation | |
Nemec | Diffusion and decomposition approximations of stochastic models of multiclass processing networks | |
Shawky et al. | A practical measure for the agility of software development processes | |
Mehra et al. | Adaptive load-balancing strategies for distributed systems | |
Kim et al. | STABILITY OF A CYCLIC POLLING SYSTEM WITH AN ADAPTIVE MECHANISM. | |
Au-Yeung | Response times in healthcare systems | |
Merkuryeva et al. | Simulation-based approach for comparison of (s, Q) and (R, S) replenishment policies utilization efficiency in multi-echelon supply chains |
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 |