当前位置: 首页 > 专利查询>山东大学专利>正文

一种大数据平台中Spark Streaming接收器动态配置方法及装置制造方法及图纸

技术编号:18950990 阅读:20 留言:0更新日期:2018-09-15 13:23
本发明专利技术公开了一种大数据平台中Spark Streaming接收器动态配置方法及装置,该方法包括:根据系统吞吐量和数据处理时延,确定基于系统吞吐量和数据处理时延平衡的非线性优化目标函数;求解非线性优化目标函数得到接收器个数最优的近似解作为接收器个数,并将接收器个数发送至网络接收器;网络接收器根据接收的接收器个数和集群数据对接收器进行分配,完成接收器并行度动态配置。

A dynamic configuration method and device for Spark Streaming receiver in big data platform

The invention discloses a dynamic configuration method and device for a Spark Streaming receiver in a large data platform. The method comprises the following steps: determining a nonlinear optimization objective function based on system throughput and data processing delay balance according to system throughput and data processing delay; solving a nonlinear optimization objective function to obtain a receiver; The optimal approximate solution is used as the number of receivers, and the number of receivers is sent to the network receiver. The network receiver allocates the receivers according to the number of receivers and cluster data to complete the dynamic configuration of receiver parallelism.

【技术实现步骤摘要】
一种大数据平台中SparkStreaming接收器动态配置方法及装置
本专利技术属于大数据处理的
,尤其是涉及一种大数据平台中SparkStreaming接收器动态配置方法及装置。
技术介绍
近些年来,“大数据”实时处理技术日益渗透到经济发展、社会进步和人类生活的各个领域,已经成为生产力中重要的活跃因素。目前传统批处理方式在计算过程中会发生大量的读写I/O,影响了流式数据的处理性能,传统的基于批次处理的分布式计算方式已经不能适应于实时处理的场景,因此流处理技术应运而生。分布式流处理系统在实际的生产和运用中会涉及到几十甚至几百个节点,由于各个节点的性能不同,节点故障和慢节点情况将变得很常见。在流处理背景下,由于需要在较短的时间内对数据进行处理,如果故障恢复和慢任务处理时间过长会导致系统的处理性能的降低甚至会影响计算的正确性。目前流处理系统如Storm、S4、Online和流式数据库等都是基于连续操作的模型,在这种模型中,长期运行带有状态的操作会接受每条记录,更新内部状态,并且发送新纪录,但是难以应付系统故障和慢任务问题。为了解决流处理系统的故障恢复和慢任务处理问题,有研究提出了一种叫DStream新的流处理模型。该处理模型将流式数据按照一定的粒度进行切分,并且将对流数据的运算转化为对切分后的数据进行批次运算。DStream模型提供了并行恢复模式,大大提高了系统恢复的效率,与此同时,Dstream通过推测执行机制对慢任务进行恢复处理,达到了对慢任务进行容错的目的。另外,DStream模型处理粒度较连续处理模型较大,延迟较连续处理模型较高。但是在定时数据统计、日志分析等应用场景下,系统的处理延迟在秒级还是可以接受的。目前,DStream模型在Spark软件栈的SparkStreaming中得到了实现,该模型将流式处理按照配置的接收器从数据源中抽取流式数据,并按照一定时间间隔进行划分,最后利用Spark计算引擎进行计算。SparkStreaming从数据源获取外界数据,外界数据经过接收器(Receiver)进入系统中,接收器并行度设置和分配机制会影响流处理的时延和负载的均衡。目前在基于DStream的SparkStreaming流处理系统中,用户需要在流处理任务开始执行前手动配置接收器个数即并行度,由网络接收器(NetworkInputTracker)根据配置数,将每个接收器作为一个长期驻留的任务按照随机分配的方式分发到执行节点上执行。这种方式虽然简化了系统的复杂度,但是通过人工经验配置receiver个数既容易导致接收器并行度设置无法达到最优,也无法根据系统环境和负载进行动态调整。综上所述,现有技术中如何对基于DStream模型的流处理系统接收器进行并行度动态配置问题,尚缺乏行之有效的解决方案。
技术实现思路
针对现有技术中存在的不足,解决现有技术中基于DStream模型的流处理系统接收器并行度动态配置问题,本专利技术提出了一种大数据平台中SparkStreaming接收器动态配置方法及装置,基于时延和吞吐率的模拟退火算法对接收器并行度进行自动化确定,并根据系统环境和负载进行动态调整,有效均衡系统的吞吐量和系统处理能力,提高系统资源利用率。本专利技术的第一目的是提供一种大数据平台中SparkStreaming接收器动态配置方法。为了实现上述目的,本专利技术采用如下一种技术方案:一种大数据平台中SparkStreaming接收器动态配置方法,该方法包括:根据系统吞吐量和数据处理时延,确定基于系统吞吐量和数据处理时延平衡的非线性优化目标函数;求解非线性优化目标函数得到接收器个数最优的近似解作为接收器个数,并将接收器个数发送至网络接收器;网络接收器根据接收的接收器个数和集群数据对接收器进行分配,完成接收器并行度动态配置。作为进一步的优选方案,在本方法中,采用NP难问题确定基于系统吞吐量和数据处理时延平衡的非线性优化目标函数,且非线性优化目标函数满足系统吞吐量大的同时数据处理时延小。作为进一步的优选方案,所述系统数据处理时延为接收器端处理时延、CPU处理时延和传输时延之和;所述系统吞吐量根据接收器从系统外部抽取的数据量与系统数据处理时延确定。作为进一步的优选方案,所述接收器端处理时延为接收器的总处理速度与外部数据到达接收器速度的函数;所述接收器的总处理速度服从每个接收器的处理速度的指数分布,所述外部数据到达接收器速度服从一定参数的泊松分布。作为进一步的优选方案,所述CPU处理时延根据计算任务的批次处理数量与批次间时间间隔呈线性关系或非线性关系;若计算任务为单批次处理,则CPU处理时延与批次间时间间隔呈线性关系;否则,CPU处理时延与批次间时间间隔呈非线性关系。作为进一步的优选方案,所述接收器从系统外部抽取的数据量根据接收器个数对所有接收器的单位时间内每个接收器的抽取数量与批次间时间间隔乘积求和。作为进一步的优选方案,所述求解非线性优化目标函数得到接收器个数最优的近似解的具体步骤包括:设置第一初始解和第二初始解,设定第一初始解为初始化的接收器个数最优解,根据此执行一个时间间隔的流处理任务,并记录此时耗时;根据第一初始解和第二初始解设置初始温度,初始化外迭代次数,判断设定第一初始解或第二初始解的系统数据处理时延是否大于批次间时间间隔,若满足,则退出算法;否则继续执行;进行外迭代计算,当前系统吞吐量最优值为计算系统吞吐量与目前最优系统吞吐量的最大值,当前系统数据处理时延最优值为计算系统数据处理时延与目前最优系统数据处理时延的最小值;若接收器数量改变导致系统能量改变的增益不小于零,记录此时参数为最优解的接收器个数、系统吞吐量和系统数据处理时延,否则根据计算接收概率,并记录接收概率大于(0,1)随机函数时的参数为最优解的接收器个数、系统吞吐量和系统数据处理时延;对温度进行内迭代计算,若不小于设定的最低温度,则采用快速退火算法执行迭代计算,否则退出算法;若内迭代执行次数不大于设定内迭代次数,执行内迭代计算,否则退出内迭代,产生新的接收器个数,执行外迭代,直至当前接收器个数的系统数据处理时延大于批次间时间间隔,则退出算法。作为进一步的优选方案,根据接收器抽取外部数据源的不同机制设置第一初始解和第二初始解;若接收器抽取外部数据源无缓存机制,则第一初始解设置为物理节点个数的一半,第二初始解设置为物理节点个数;若接收器抽取外部数据源有缓存机制,则第一初始解设置为最大连接数的一半,第二初始解设置为最大连接数。作为进一步的优选方案,该方法还包括:所述网络接收器根据接收的接收器个数和集群数据对接收器进行分配,将接收器分配到各个节点;所述集群数据包括CPU核数和内存大小;各个节点的接收器从外部数据源接收传输到系统的数据,将数据根据批次间隔进行分块得到块id,并将块id传给块管理器记录;应用驱动获取块id,将数据转换成rdd提交spark进行处理,得到处理结果;将处理结果保存在外部数据源中。本专利技术的第二目的是提供一种计算机可读存储介质。为了实现上述目的,本专利技术采用如下一种技术方案:一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备设备的处理器加载并执行以下处理:根据系统吞吐量和数据处理时延,确定基于系统吞吐量和数据处理时延平衡的本文档来自技高网
...

【技术保护点】
1.一种大数据平台中Spark Streaming接收器动态配置方法,其特征在于,该方法包括:根据系统吞吐量和数据处理时延,确定基于系统吞吐量和数据处理时延平衡的非线性优化目标函数;求解非线性优化目标函数得到接收器个数最优的近似解作为接收器个数,并将接收器个数发送至网络接收器;网络接收器根据接收的接收器个数和集群数据对接收器进行分配,完成接收器并行度动态配置。

【技术特征摘要】
1.一种大数据平台中SparkStreaming接收器动态配置方法,其特征在于,该方法包括:根据系统吞吐量和数据处理时延,确定基于系统吞吐量和数据处理时延平衡的非线性优化目标函数;求解非线性优化目标函数得到接收器个数最优的近似解作为接收器个数,并将接收器个数发送至网络接收器;网络接收器根据接收的接收器个数和集群数据对接收器进行分配,完成接收器并行度动态配置。2.如权利要求1所述的方法,其特征在于,在本方法中,采用NP难问题确定基于系统吞吐量和数据处理时延平衡的非线性优化目标函数,且非线性优化目标函数满足系统吞吐量大的同时数据处理时延小。3.如权利要求1所述的方法,其特征在于,所述系统数据处理时延为接收器端处理时延、CPU处理时延和传输时延之和;所述系统吞吐量根据接收器从系统外部抽取的数据量与系统数据处理时延确定;所述接收器从系统外部抽取的数据量根据接收器个数对所有接收器的单位时间内每个接收器的抽取数量与批次间时间间隔乘积求和。4.如权利要求3所述的方法,其特征在于,所述接收器端处理时延为接收器的总处理速度与外部数据到达接收器速度的函数;所述接收器的总处理速度服从每个接收器的处理速度的指数分布,所述外部数据到达接收器速度服从一定参数的泊松分布。5.如权利要求3所述的方法,其特征在于,所述CPU处理时延根据计算任务的批次处理数量与批次间时间间隔呈线性关系或非线性关系;若计算任务为单批次处理,则CPU处理时延与批次间时间间隔呈线性关系;否则,CPU处理时延与批次间时间间隔呈非线性关系。6.如权利要求1所述的方法,其特征在于,所述求解非线性优化目标函数得到接收器个数最优的近似解的具体步骤包括:设置第一初始解和第二初始解,设定第一初始解为初始化的接收器个数最优解,根据此执行一个时间间隔的流处理任务,并记录此时耗时;根据第一初始解和第二初始解设置初始温度,初始化外迭代次数,判断设定第一初始解或第二初始解的系统数据处理时延是否大于批次间时间间隔,若满足,则退出算法;否则继...

【专利技术属性】
技术研发人员:史玉良王新军陈志勇胡静臧淑娟
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

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

1