一种大规模流式数据处理系统的瓶颈节点检测方法技术方案

技术编号:14818663 阅读:280 留言:0更新日期:2017-03-15 12:08
本发明专利技术一种大规模流式数据处理系统的瓶颈节点检测方法,属于大数据计算、模糊逻辑以及流式预处理技术领域。一种大规模流式数据处理系统的瓶颈节点检测方法,简称本方法,所依托的系统,即一种基于模糊逻辑控制的瓶颈检测系统,简称本系统,包括初始化单元、节点状态采集单元、模糊推理单元和解模糊单元;本方法步骤为:1初始化单元初始化模糊逻辑引擎,设定语义化标签及各状态量的隶属函数,加载模糊规则集,设定推理结果判定参数;2获取节点状态;3将输入变量模糊化;4模糊推理;5解模糊,获得判定结果。本发明专利技术检测到流量的变化给系统负载的变化,及时判断瓶颈节点进行扩展,以维护只运行一个资源利用最优的集群,达到减小集群规模的目的。

【技术实现步骤摘要】

本专利技术涉及一种大规模流式数据处理系统的瓶颈节点检测方法,属于大数据计算、模糊逻辑以及流式预处理

技术介绍
随着实时大数据技术的发展,很多公司开始部署自己的流式数据处理集群,维护这些集群的运行需要非常大的开销,而流式数据处理系统的典型特征是数据流大小不稳定,系统的复杂随着事件变换很快。为了使得系统能在少数大流量的情况下也能正常运行,在配置集群的时候需要按照预估的最大流量进行资源分配;但是大流量情况通常只在很少的情况下发生,如果资源配置按最高要求配置,则在大部分时候大部分资源都处于闲置状态,系统的资源利用率非常低,造成严重的资源浪费。因此如何监控一个运行中的集群,快速高效地检测到集群中的瓶颈节点并对其实施扩展成为了云计算基础架构领域的关键问题之一。现在主流的流式数据处理引擎都没有对单个节点过载(瓶颈)检测和进行扩展的设计,比如Storm和S4都是使用静态配置的方式进行作业的,对于流量不稳定的情况不能根据需要动态的分配和回收资源,只能从整体检测系统的运行状态,如果需要扩展则需要停止集群,根据需要编辑静态配置文件重新分配资源然后才能继续运行。针对现在云计算平台对扩展性功能的需求,科研人员研究了几种检测瓶颈节点的方法,并且在Storm等平台上进行了集成,在流式数据处理领域得到了诸多应用。对于流式数据处理系统的瓶颈节点检测和扩展的方方法大体分为三类,第一类是基于阈值的静态判断方法,这是一种简单而直观的方法,但是静态阈值的设定需要用户对应用的负载趋势有很深的理解才能正确设置并且阈值对应用是独立的,云平台不能得知这些阈值怎么确定。第二类是一种基于增强学习的自动决策方式用于自动扩展,这种方式使用马尔科夫决策处理模型和Q-learning算法,使用机器学习的方法通过训练一个判断模型对系统的负载状态做判断;这中方法又两个缺陷:一是初始化性能差,需要很大的训练时间;二是需要很大的状态空间,随着状态变量的增加,状态的数量呈指数增长,状态过多的情况下导致性能下降严重。第三类是基于控制理论的方法,控制理论已经用于web服务器,存储系统,数据中心等系统的自动化管理;控制理论方法常分为开放回路(Openloop)和前馈-反馈(feedbackandfeed-forward)两种方式,开放回路是一种无反馈的方式,它只根据当前系统的状态与系统模型计算一个值,并不判断这个结果对系统的输出的影响是否取得希望的结果。而带反馈的控制器则会观察系统输出,并根据系统的输出相应地改进计算以其得到一个期望的结果。控制理论技术集成到流数据处理系统的方法得到了广泛的研究。PaldenLama和XiaoboZhou等在2010IEEEInternationalSymposiumonModeling,AnalysisandSimulationofComputerandTelecommunicationSystems会议上发表的名为“Automatedcontrolincloudcomputing:challengesandopportunities”即提出了一种使用基于平均CPU利用率调整集群虚拟机数量的控制方法,这种方法使用较为直观易懂的控制逻辑,实现虚拟机资源的自动分配,但是其缺点是过于简单,只考虑CPU使用率这一个参数,变量过于单一难以体现流式数据处理系统整体的负载状态,其效果的可靠性较低,误差较大。在2009年9thIEEE/ACMInternationalSymposiumonClusterComputingandtheGrid研讨会上发表的名为“Self-TuningVirtualMachinesforPredictableeScience”的文章提出了一种控制批处理作业资源的PI(Proportional-Integral)控制器,这种方法根据作业的执行进度建立了一个关于已分配资源的有反馈的模型,虽然这个控制器能有效的工作,但是这个模型主要用来预测批处理系统的执行进度和资源分配,并不完全适合于流式数据处理系统。另外的一种广泛的控制理论是模糊逻辑技术,模糊逻辑控制使用将负载参数映射到一个模糊集合,通过定义的模糊规则集合的运算得到结果对应的模糊变量及其隶属度,最后通过解模糊操作获得一个模糊推理的最终结果。基于模糊逻辑理论的控制系统称为模糊控制器,在2011年的IEEE19thInternationalSymposiumonModeling,Analysis&SimulationofComputerandTelecommunicationSystems会议上发表的名为“FuzzyModelingBasedResourceManagementforVirtualizedDatabaseSystems”提出了一种使用模糊逻辑控制资源动态分配的方法,改方法使用CPU使用率代表输入负载,改方法验证了使用模糊逻辑作为资源分配控制器的可行性,但是该论文主要考虑的是业务逻辑层(数据库)的资源分配,并且也存在选取的输入变量过于简单的问题,不能完全反映流式数据处理系统中数据流多变导致的系统状态多样化特征。上述的已有的资源控制策略虽然在各自的应用场景中有一定的效果,但是基于控制理论的方法大多存在选取输入变量过于简单的问题,而基于增强学习的方法存在初始化阶段性能过低而且学习模型的结果不保证可靠,而简单直观的设置阈值方法则不能适应更多的应用场景,需要对各个应用设置独立的阈值且阈值的设定依赖于对应用复杂程度的了解。本专利技术目的在于解决上述的问题,提出一个基于控制理论的大规模流式数据处理系统瓶颈节点检测方法,该方法既能获得很好的计算性能,而且选取足够反映流式处理系统特征的多个变量参与计算。我们的专利技术能及时检测到流量的变化给系统负载带来的变化,及时判断出瓶颈节点进行扩展,以维护只运行一个资源利用最优的集群,达到减小集群规模,节省资源的目的。
技术实现思路
本专利技术的目的是克服现有扩展理论的状态变量选取不充分以及可靠性不高的技术缺陷,提出了一种大规模流式数据处理系统的瓶颈节点检测方法。一种大规模流式数据处理系统的瓶颈节点检测方法所依托的系统,即一种基于模糊逻辑控制的瓶颈检测系统,简称本系统包括初始化单元、节点状态采集单元、模糊推理单元和解模糊单元;一种大规模流式数据处理系统的瓶颈节点检测方法,简称本方法,具体步骤如下:步骤1:初始化单元初始化模糊逻辑引擎,设定输入变量的语义化标签及各语义标签的隶属函数,加载模糊规则集,设定推理结果判定参数;其中,模糊逻辑引擎是实现了模糊逻辑控制语言(FCL)标准(IEC1131-7)以及能进行模糊推理的程序引擎,可使用C++语言实现的fuzzylite以及Java等语言实现的jFuzzylogic;语义化标签是模糊逻辑使用的“真值”,各个输入值(即节点状态)有自己的语义标签及对应的隶属函数,这些应该在初始化节点设置好,通常记录在一个配置文件中,有模糊逻辑引擎读取并解析;输入变量的每个语义标签都会对应一个隶属函数,这个函数的值在0~1之间,假设某输入变量x的取值范围为(m,n),函数f(x,v)表示取值为x时对于语义标签v的隶属函数;一般来说,某个语义标签的隶属函数在直角坐标系中为梯形或三角图形;模糊规则集是事先编写的模糊推理本文档来自技高网
...
一种大规模流式数据处理系统的瓶颈节点检测方法

【技术保护点】
一种大规模流式数据处理系统的瓶颈节点检测方法,其特征在于:本方法所依托的系统,即一种基于模糊逻辑控制的瓶颈检测系统,简称本系统包括初始化单元、节点状态采集单元、模糊推理单元和解模糊单元;一种大规模流式数据处理系统的瓶颈节点检测方法,具体步骤如下:步骤1:初始化单元初始化模糊逻辑引擎,设定输入变量的语义化标签及各语义标签的隶属函数,加载模糊规则集,设定推理结果判定参数;步骤2:节点状态采集单元获取节点状态;步骤3:模糊推理单元将输入变量模糊化;步骤4:模糊推理;步骤5:解模糊,获得判定结果;至此,步骤1到步骤5,完成了一种大规模流式数据处理系统的瓶颈节点检测方法。

【技术特征摘要】
1.一种大规模流式数据处理系统的瓶颈节点检测方法,其特征在于:本方法所依托的系统,即一种基于模糊逻辑控制的瓶颈检测系统,简称本系统包括初始化单元、节点状态采集单元、模糊推理单元和解模糊单元;一种大规模流式数据处理系统的瓶颈节点检测方法,具体步骤如下:步骤1:初始化单元初始化模糊逻辑引擎,设定输入变量的语义化标签及各语义标签的隶属函数,加载模糊规则集,设定推理结果判定参数;步骤2:节点状态采集单元获取节点状态;步骤3:模糊推理单元将输入变量模糊化;步骤4:模糊推理;步骤5:解模糊,获得判定结果;至此,步骤1到步骤5,完成了一种大规模流式数据处理系统的瓶颈节点检测方法。2.根据权利要求1所述的一种大规模流式数据处理系统的瓶颈节点检测方法,其特征还在于:步骤1中,模糊逻辑引擎是实现了模糊逻辑控制语言(FCL)标准(IEC1131-7)以及能进行模糊推理的程序引擎,可使用C++语言实现的fuzzylite以及Java等语言实现的jFuzzylogic;语义化标签是模糊逻辑使用的“真值”,各个输入值(即节点状态)有自己的语义标签及对应的隶属函数,这些应该在初始化节点设置好,通常记录在一个配置文件...

【专利技术属性】
技术研发人员:翟岩龙吴煦王子硕扶聪张鑫宇
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

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

1