一种流数据的分布式动态处理方法技术

技术编号:18350028 阅读:50 留言:0更新日期:2018-07-01 22:58
本发明专利技术涉及一种流数据的分布式动态处理方法,至少包括:分析并预测用户流数据处理程序数据中至少一个数据特征块的执行模式,基于流数据的平均排队时延的大小以及排队时延的阈值来动态调整所述执行模式,和基于所述执行模式处理对应的至少一个所述数据特征块。本发明专利技术通过将流数据计算中不相关的流水线模式和微批模式进行关联,实现了两种模式的自动转换和数据处理,同时具有吞吐量高和延迟低的双重优势。

【技术实现步骤摘要】
一种流数据的分布式动态处理方法
本专利技术涉及流数据处理
,尤其涉及一种流数据的分布式动态处理方法。
技术介绍
在传统的数据处理流程中,先收集数据,然后将数据放到数据库中,在人们需要的时候通过数据库对数据进行查询,得到答案。这样的一个流程隐含了两个前提:1.数据是旧的。当人们对数据库做查询的时候,数据库的数据是过去某一个时刻数据的一个快照,数据已经过时了,并且很可能已经过期了。2.这样的流程中,需要人们主动的发出查询。也就是说,在人们查询的时候,数据才会被处理。但在某些时候,这两个前提都不存在。例如股票市场中,数据总是不断的产生,人们需要根据当前的数据实时的作出判断;由于数据量太大,人们希望设定某种条件,当数据满足这些条件时系统能够主动的通知人并且自动地进行操作。正是由于有这种需求,才会出现流数据处理。即根据人们设定的要求对实时信息流进行处理,并将结果保存或返回至发起端,这样人们能够实时掌握最新的数据动态。生产环境中很多场景需要使用实时流数据处理,比如实时购物推荐、社交数据实时分析、站点日志处理、智能电网的实时数据处理等。这些场景都具有数据量大、实时性要求高的特点。当前针对流数据的流计算框架有两种执行方案:流水线模式和微批模式。流水线模式即是数据依次流过各个节点之后就完成处理,就像工厂流水线一样,每一个节点其操作是相对固定的,而流数据在这些节点中依照执行逻辑流动。流水线模式的优势在于它的表达方式。数据一旦到达立即处理,这些系统的延迟性远比其它微批处理要好。数据流模式将更多的资源用于保证低延迟,所以其数据吞吐量相应较低。微批模式即是将连续的数据流依照时间进行人为切分,分割成一个个小的批量数据,将数据放置在固定的节点中,然后由节点迭代操作逻辑完成计算,这样避免了大量数据在节点之间传输,具有较高吞吐量,但是由于有数据积累的过程,所以数据的处理延迟也会较大。由上可以看到,当前的两种流数据分布式处理方案都有着自己的优缺点:流水线模式处理延迟低,但是吞吐量相应也低;微批模式吞吐量高,但是处理延迟相应也高。这两种处理方案都不能达到流数据处理的高吞吐量、低延迟的目标。即现有两种技术方案是处于对立面。同时,分析现有流处理逻辑发现,不同操作有不同的数据放大量。有些操作是数据放大形式,比如句子切分成单词这个操作,将一个句子切分成单词,造成了数据数量变大。还有的操作是数据缩小形式,比如过滤操作。这样,一个完整的流处理逻辑中,数据有放大有缩小。本专利技术试图探寻一种流数据分布式处理方法,针对流数据在分布式处理下的高吞吐量和低延迟不能兼顾的问题,根据流数据处理逻辑执行前的预测和流数据处理过程中的外部数据源变化和集群执行能力变化,选择最适合的执行模式来执行该部分的流数据处理逻辑,在维持模式变化对用户透明的前提下,可有效地增加分布式流数据处理的吞吐量并降低分布式流数据处理的延迟,同时避免流数据重复处理,从而提高流数据分布式处理的性能。
技术实现思路
针对现有技术之不足,本专利技术提供一种流数据的分布式动态处理方法,其特征在于,所述方法至少包括:分析并预测用户流数据处理程序数据中至少一个数据特征块的执行模式,基于流数据的平均排队时延的大小以及排队时延的阈值来动态调整所述执行模式,基于所述执行模式处理对应的至少一个所述数据特征块。将不相关的流水线模式和微批模式关联并进行动态转换,实现了流数据计算的吞吐量高和延迟低的良好效果。根据一个优选实施方式,所述执行模式的动态调整步骤包括:统计分布式流数据集群中至少一个节点的当前状态数据,基于所述当前状态数据调整所述执行模式为:其中,Tup为所述排队时延的上阈值,Tdown为所述排队时延的下阈值,gx为第x个操作数据放大量,m为平均输入数据量,n为平均输出数据量。根据一个优选实施方式,所述上阈值Tup和下阈值Tdown的确定方式为:其中,T是用户的服务等级协议设定的标准时间,α是用户设定的系统最大宽容度。结合延迟时间与排队时延阈值来判断是否进行执行模式的转变,准确度高,能够明显提高执行模式的判断效率和转换效率。根据一个优选实施方式,所述执行模式的动态调整步骤还包括:采用“暂停-调整-运行”方式动态调整所述执行模式,其中,所述“暂停-调整-运行”方式包括:在将数据源的流数据缓存于数据缓冲区内的同时调整所述执行模式,基于调整后的执行模式对所述数据缓存区内的流数据进行处理。在流数据缓存时调整执行模式,即不降低流数据处理速度,也不影响流数据的整体运行。根据一个优选实施方式,所述方法还包括:以建立缓存数据的方式恢复失效节点的数据,和/或基于气球模型来动态调整节点数量以达到负载平衡。对失效节点进行恢复和调节负载平衡,能够有效的避免数据的丢失和流数据的数据处理效率,特别地,气球模型能够动态调节数据资源的增加和减少,实现负载平衡和节点数据以高效率的速度进行快速处理。根据一个优选实施方式,所述分析并预测用户流数据处理程序数据中至少一个数据特征块的执行模式的步骤包括:将用户的至少一步操作整合成完整的操作链,以确定用户的操作逻辑;根据用户所调用的API函数以及初步的操作链结构将所述完整的操作链切分成至少一个数据特征块;判断所述数据特征块的逻辑特征并根据所述逻辑特征选择执行模式,生成“特征块ID-执行模式”列表;基于所述“特征块ID-执行模式”列表将数据特征块映射到相应的执行模式以执行数据特征块对应的部分程序。将划分的数据特征块以映射的方式选择执行模式是准确度高且速度快的一种优选的方式,能够避免流水线模式和微批模式的混乱,也能够避免数据特征块和执行模式在传输过程中的错误关联,降低了流数据计算处理的失误概率。根据一个优选实施方式,所述执行模式的动态调整的步骤还包括:基于执行模式转换指令暂停所述数据特征块的数据输入,并且将所述数据特征块内接受的数据处理完成,将待发送至所述数据特征块的数据导向数据缓冲区来进行缓存并调整数据特征块的执行模式,所述数据特征块在调整恢复状态从所述缓冲区获取数据进行处理,在所述缓冲区的数据处理完成后恢复所述数据特征块的数据输入。根据一个优选实施方式,所述基于气球模型来动态调整节点数量以达到负载平衡的步骤包括:所述数据特征块设置有用于调整数据需求的气球模型,所述气球模型基于所述数据特征块的当前状态调整充气状态和/或放气状态,所述述气球模型在充气状态下增加所述数据特征块的数据分配量,和/或所述述气球模型在放气状态下收回多余的所述数据特征块的数据,并将收回的所述数据特征块的数据分入资源池以重新分配。本专利技术还提供一种流数据的分布式动态处理系统,其特征在于,所述系统至少包括调度单元、数据接收单元和执行单元,所述调度单元分析并预测所述数据接收单元接收的用户流数据处理程序数据中至少一个数据特征块的执行模式,并且基于流数据的平均排队时延的大小以及排队时延的阈值来动态调整所述执行模式,所述执行单元基于所述执行模式处理对应的至少一个所述数据特征块。根据一个优选实施方式,所述调度单元包括中央调度器、流水线模式调度器和微批模式调度器,所述中央调度器对所述执行模式的动态调整步骤包括:统计分布式流数据集群中至少一个节点的当前状态数据,基于所述当前状态数据调整所述执行模式为:其中,Tup为所述排队时延的上阈值,Tdown为所述排本文档来自技高网
...
一种流数据的分布式动态处理方法

【技术保护点】
1.一种流数据的分布式动态处理方法,其特征在于,所述方法至少包括:分析并预测用户流数据处理程序数据中至少一个数据特征块的执行模式,基于流数据的平均排队时延的大小以及排队时延的阈值来动态调整所述执行模式,和基于所述执行模式处理对应的至少一个所述数据特征块。

【技术特征摘要】
2017.12.29 CN 20171149757441.一种流数据的分布式动态处理方法,其特征在于,所述方法至少包括:分析并预测用户流数据处理程序数据中至少一个数据特征块的执行模式,基于流数据的平均排队时延的大小以及排队时延的阈值来动态调整所述执行模式,和基于所述执行模式处理对应的至少一个所述数据特征块。2.如权利要求1所述的流数据的分布式动态处理方法,其特征在于,所述执行模式的动态调整步骤包括:统计分布式流数据集群中至少一个节点的当前状态数据,基于所述当前状态数据调整所述执行模式为:其中,Tup为所述排队时延的上阈值,Tdown为所述排队时延的下阈值,gx为第x个操作数据放大量,m为平均输入数据量,n为平均输出数据量。3.如权利要求2所述的流数据的分布式动态处理方法,其特征在于,所述上阈值Tup和下阈值Tdown的确定方式为:其中,T是用户的服务等级协议设定的标准时间,α是用户设定的系统最大宽容度。4.如权利要求1至3之一所述的流数据的分布式动态处理方法,其特征在于,所述执行模式的动态调整步骤还包括:采用“暂停-调整-运行”方式动态调整所述执行模式,其中,所述“暂停-调整-运行”方式包括:在将数据源的流数据缓存于数据缓冲区内的同时调整所述执行模式,基于调整后的执行模式对所述数据缓存区内的流数据进行处理。5.如权利要求1至4之一所述的流数据的分布式动态处理方法,其特征在于,所述方法还包括:以建立缓存数据的方式恢复失效节点的数据,和/或基于气球模型来动态调整节点数量以达到负载平衡。6.如权利要求1至5之一所述的流数据的分布式动态处理方法,其特征在于,所述分析并预测用户流数据处理程序数据中至少一个数据特征块的执行模式的步骤包括:将用户的至少一步操作整合成完整的操作链,以确定用户的操作逻辑;根据用户所调用的API函数以及初步的操作链结构将所述完整的操作链切分成至少一个数据特征块,判断所述数据特征块的逻辑特征并根据所述逻辑特征选择执行模式,生成“特征块ID-执行...

【专利技术属性】
技术研发人员:吴松刘志毅金海陈飞
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

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

1