流计算系统中的数据处理方法、控制节点及流计算系统技术方案

技术编号:16508621 阅读:50 留言:0更新日期:2017-11-07 08:39
本发明专利技术公开了一种流计算系统中的数据处理方法、控制节点及流计算系统,该方法包括:收集每个工作节点与其它工作节点之间的数据流量信息和每个工作节点的处理速度信息;根据收集到的数据流量信息和处理速度信息确定每个工作节点的优化并发度;根据工作节点的优化并发度对工作节点的并发度进行调整。本发明专利技术公开的方法和装置根据流计算系统中的实时数据对工作节点的并发度进行实时调整,使得工作节点的处理能力能够符合业务处理的实时需求。

【技术实现步骤摘要】
流计算系统中的数据处理方法、控制节点及流计算系统
本专利技术涉及计算机
,尤其涉及一种流计算系统中的数据处理方法、控制节点及流计算系统。
技术介绍
当前,数据密集型业务已经得到了广泛的应用,典型的数据密集型业务包括金融服务、网络监控、电信数据管理、Web应用等等。在数据密集型业务中,数据具有量大、快速、时变的特点,因此数据不宜用持久稳定关系建模,而适宜用瞬态数据流建模,由此产生了数据流计算的研究。数据流计算是一种类似流水线式的数据处理模式,数据流计算来自于一个理念:数据的价值随着时间的流逝而降低,所以由事件触发生成数据之后必须尽快地对其进行处理,最好数据产生时便立刻对其进行处理,即发生一个事件就立即进行一次数据处理,而不是将数据缓存起来批量处理。在流计算系统中,数据流计算是基于流式数据处理模型进行的,如图1所示,业务数据处理逻辑通常需要转化为无回路有向图(DirectedAcyclicGraph,DAG;或称为流图)所示的数据处理模式,图中的算子(Operator)承载实际的数据处理操作,数据流(stream)代表各Operator间的数据传输,其中所有Operator可以被分布化执行。现有技术中,一种设置数据流计算的流式数据处理模型的方案是:物理单元(physicalequipment,PE,或者称为执行单元)与逻辑单元(在DAG图中一般用Operator标示,或称为工作节点)为多对一的关系,该方案支持静态配置Operator的并发度,即根据用户静态配置的Operator的并发度,每个Operator在业务执行过程中,根据该并发度调用对应个数的执行单元对业务产生的数据流进行处理。因为流计算系统通常是分布式的实时流处理系统,所以系统中各种任务的处理情况都是实时变化的。针对实时变化的情况,最初用户设置的并发度很多时候都不是最优的,所以根据最初用户设置的并发度生成的流式数据处理模型并不能适应系统的实时变化,从而会导致流计算系统的资源浪费,数据处理能力受到较大限制。
技术实现思路
本专利技术提供一种流计算系统中的数据处理方法、控制节点及流计算系统,以根据业务处理情况实时调整流计算系统中工作节点的并发度,从而提升流计算系统的数据处理能力及资源利用率。第一方面,本专利技术提供一种流计算系统中的数据处理方法,所述流计算系统包括控制节点和多个工作节点,该方法包括:所述控制节点根据配置的各个工作节点的并发度,调用所述多个工作节点中的一个或多个工作节点对数据流进行处理;所述控制节点收集所述一个或多个工作节点中每个工作节点与其它工作节点之间的数据流量信息和所述一个或多个工作节点中每个工作节点的处理速度信息;所述控制节点根据收集到的数据流量信息和处理速度信息确定所述一个或多个工作节点中的每个工作节点的优化并发度;所述控制节点分别确定所述一个或多个工作节点中的每个工作节点的优化并发度与该工作节点的并发度是否相同,如果不相同,则按照该工作节点的优化并发度对该工作节点的并发度进行调整。结合第一方面,在第一种可能的实现方式中,每个工作节点包含一个或多个执行单元,且当工作节点被调用对数据流进行处理时,具体由工作节点所包含的执行单元处理数据流;工作节点的并发度表示工作节点包含的执行单元的个数;则所述控制节点按照该工作节点的优化并发度对该工作节点的并发度进行调整,包括:所述控制节点根据该工作节点的优化并发度为该工作节点新增至少一个执行单元,或删除该工作节点的至少一个执行单元,使得该工作节点当前包含的执行单元个数所表征的该工作节点的并发度与该工作节点的优化并发度相同。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制节点根据该工作节点的优化并发度为该工作节点新增至少一个执行单元,或删除该工作节点的至少一个执行单元,包括:当该工作节点的优化并发度大于该工作节点的并发度时:所述控制节点生成用于创建新的执行单元的第一控制指令并发送给该工作节点,使得该工作节点接收到所述第一控制指令后创建至少一个新执行单元,并创建所述新执行单元与其它执行单元的数据通道,其中该工作节点当前包含的执行单元的总个数所表征的该工作节点的并发度与该工作节点的优化并发度相同;当所述工作节点的优化并发度小于该工作节点的并发度时:所述控制节点生成用于删除所述工作节点的执行单元的第二控制指令并发送给该工作节点,使得该工作节点接收到所述第二控制指令后删除该工作节点的至少一个执行单元,并删除与所述删除的执行单元连接的数据通道,其中该工作节点当前包含的执行单元的总个数所表征的该工作节点的并发度与该工作节点的优化并发度相同。结合第一方面的第一或二种可能的实现方式,在第三种可能的实现方式中,在根据该工作节点的优化并发度为该工作节点新增至少一个执行单元,或删除该工作节点的至少一个执行单元之后,该方法还包括:所述控制节点根据新增或删除的至少一个执行单元,调整该工作节点对应的上游工作节点的数据派发策略,所述数据派发策略用于表示工作节点在派发数据时,接收数据的设备以及接收数据的设备在接收数据时的数据量;所述控制节点向所述上游工作节点发送调整后的数据派发策略,使得所述上游工作节点根据调整后的数据派发策略,在确定下游的目标工作节点对应的目标执行单元后,将数据包对应派发到所述目标执行单元。结合第一方面的第一或二种可能的实现方式,在第四种可能的实现方式中,在根据该工作节点的优化并发度为该工作节点新增至少一个执行单元,或删除该工作节点的至少一个执行单元之后,该方法还包括:控制节点根据新增或删除的至少一个执行单元,调整该工作节点对应的上游工作节点的数据派发策略;控制节点向所述上游工作节点发送调整后的数据派发策略,使得所述上游工作节点根据调整后的数据派发策略,确定所述目标工作节点所属的工作节点组,所述工作节点组包括至少一个工作节点;并从所述工作节点组中确定下游的目标工作节点,以及在确定所述目标工作节点对应的目标执行单元后,将数据包对应派发到所述目标执行单元。第二方面,本专利技术提供一种流计算系统中的控制节点,所述流计算系统包括所述控制节点和多个工作节点,该控制节点包括:调用单元,用于根据配置的各个工作节点的并发度,调用所述多个工作节点中的一个或多个工作节点对数据流进行处理;信息收集单元,用于收集所述一个或多个工作节点中每个工作节点与其它工作节点之间的数据流量信息和所述一个或多个工作节点中每个工作节点的处理速度信息;计算单元,用于根据所述信息收集单元收集到的数据流量信息和处理速度信息确定所述一个或多个工作节点中的每个工作节点的优化并发度;调整单元,用于分别确定所述一个或多个工作节点中的每个工作节点的优化并发度与该工作节点的并发度是否相同,如果不相同,则按照该工作节点的优化并发度对该工作节点的并发度进行调整。结合第二方面,在第一种可能的实现方式中,每个工作节点包含一个或多个执行单元,且每个工作节点通过调用自身的执行单元处理数据流;工作节点的并发度表示工作节点包含的执行单元的个数;在所述按照该工作节点的优化并发度对该工作节点的并发度进行调整的方面,所述调整单元具体用于,根据该工作节点的优化并发度为该工作节点新增至少一个执行单元,或删除该工作节点的至少一个执行单元,使得该工作节点当前包含的执行单元个数本文档来自技高网
...
流计算系统中的数据处理方法、控制节点及流计算系统

【技术保护点】
一种流计算系统中的数据处理方法,所述流计算系统包括控制节点和多个工作节点,其特征在于,该方法包括:所述控制节点根据配置的各个工作节点的并发度,调用所述多个工作节点中的一个或多个工作节点对数据流进行处理;其中,所述一个或多个工作节点中的每个工作节点包含一个或多个执行单元,所述每个工作节点的并发度用于表示所述每个工作节点所包含的执行单元的个数;当所述每个工作节点被调用对数据流进行处理时,具体由所述每个工作节点所包含的执行单元处理数据流;所述控制节点收集所述一个或多个工作节点中每个工作节点与其它工作节点之间的数据流量信息和所述一个或多个工作节点中每个工作节点的处理速度信息;所述控制节点根据收集到的数据流量信息和处理速度信息确定所述一个或多个工作节点中的每个工作节点的优化并发度;所述控制节点确定所述一个或多个工作节点中的每个工作节点的优化并发度与所述每个工作节点的并发度是否相同,如果不相同,则按照所述每个工作节点的优化并发度对所述每个工作节点的并发度进行调整。

【技术特征摘要】
1.一种流计算系统中的数据处理方法,所述流计算系统包括控制节点和多个工作节点,其特征在于,该方法包括:所述控制节点根据配置的各个工作节点的并发度,调用所述多个工作节点中的一个或多个工作节点对数据流进行处理;其中,所述一个或多个工作节点中的每个工作节点包含一个或多个执行单元,所述每个工作节点的并发度用于表示所述每个工作节点所包含的执行单元的个数;当所述每个工作节点被调用对数据流进行处理时,具体由所述每个工作节点所包含的执行单元处理数据流;所述控制节点收集所述一个或多个工作节点中每个工作节点与其它工作节点之间的数据流量信息和所述一个或多个工作节点中每个工作节点的处理速度信息;所述控制节点根据收集到的数据流量信息和处理速度信息确定所述一个或多个工作节点中的每个工作节点的优化并发度;所述控制节点确定所述一个或多个工作节点中的每个工作节点的优化并发度与所述每个工作节点的并发度是否相同,如果不相同,则按照所述每个工作节点的优化并发度对所述每个工作节点的并发度进行调整。2.如权利要求1所述的方法,其特征在于,所述控制节点按照所述每个工作节点的优化并发度对所述每个工作节点的并发度进行调整,包括:当所述每个工作节点的优化并发度大于所述每个工作节点的并发度时,所述控制节点根据所述每个工作节点的优化并发度为所述每个工作节点新增至少一个执行单元,或当所述工作节点的优化并发度小于该工作节点的并发度时,删除所述每个工作节点的至少一个执行单元,使得所述每个工作节点当前包含的执行单元个数所表征的所述每个工作节点的并发度与所述每个工作节点的优化并发度相同。3.如权利要求2所述的方法,其特征在于,所述控制节点根据所述每个工作节点的优化并发度为所述每个工作节点新增至少一个执行单元包括:所述控制节点生成用于创建新的执行单元的第一控制指令并发送给所述每个工作节点,使得所述每个工作节点接收到所述第一控制指令后创建至少一个新执行单元,并创建所述新执行单元与其它执行单元的数据通道,其中所述每个工作节点当前包含的执行单元的总个数所表征的所述每个工作节点的并发度与所述每个工作节点的优化并发度相同。4.如权利要求2或3所述的方法,其特征在于,所述控制节点删除所述每个工作节点的至少一个执行单元包括:所述控制节点生成用于删除所述每个工作节点的执行单元的第二控制指令并发送给所述每个工作节点,使得所述每个工作节点接收到所述第二控制指令后删除所述每个工作节点的至少一个执行单元,并删除与所述删除的执行单元连接的数据通道,其中所述每个工作节点当前包含的执行单元的总个数所表征的所述每个工作节点的并发度与所述每个工作节点的优化并发度相同。5.如权利要求4所述的方法,其特征在于,在根据所述每个工作节点的优化并发度为所述每个工作节点新增至少一个执行单元,或删除所述每个工作节点的至少一个执行单元之后,所述方法还包括:所述控制节点根据新增或删除的至少一个执行单元,调整所述每个工作节点对应的上游工作节点的数据派发策略,所述数据派发策略用于表示所述每个工作节点在派发数据时,接收数据的设备以及接收数据的设备在接收数据时的数据量;所述控制节点向所述上游工作节点发送调整后的数据派发策略,使得所述上游工作节点根据调整后的数据派发策略,在确定下游的目标工作节点对应的目标执行单元后,将数据包对应派发到所述目标执行单元。6.如权利要求4所述的方法,其特征在于,在根据所述每个工作节点的优化并发度为所述每个工作节点新增至少一个执行单元,或删除所述每个工作节点的至少一个执行单元之后,所述方法还包括:所述控制节点根据新增或删除的至少一个执行单元,调整所述每个工作节点对应的上游工作节点的数据派发策略;所述控制节点向所述上游工作节点发送调整后的数据派发策略,使得所述上游工作节点根据调整后的数据派发策略,确定目标工作节点所属的工作节点组,所述工作节点组包括至少一个工作节点;并从所述工作节点组中确定下游的目标工作节点,以及在确定所述目标工作节点对应的目标执行单元后,将数据包对应派发到所述目标执行单元。7.一种流计算系统中的控制节点,所述流计算系统包括所述控制节点和多个工作节点,其特征在于,所述控制节点包括:调用单元,用于根据配置的各个工作节点的并发度,调用所述多个工作节点中的一个或多个工作节点对数据流进行处理;其中,所述一个或多个工作节点中的每个工作节点包含一个或多个执行单元,所述每个工作节点的并发度用于表示所述每个工作节点所包含的执行单元的个数;当所述每个工作节点被调用对数据流进行处理时,具体由所述每个工作节点所包含的执行单元处理数据流;信息收集单元,用于收集所述一个或多个工作节点中每个工作节点与其它工作节点之间的数据流量信息和所述一个或多个工作节点中每个工作节点的处理速度信息;计算单元,用于根据所述信息收集单元收集到的数据流量信息和处理速度信息确定所述一个或多个工作节点中的每个工作节点的优化并发度;调整单元,用于确定所述一个或多个工作节点中的每个工作节点的优化并发度与所述每个工作节点的并发度是否相同,如果不相同,则按照所述每个工作节点的优化并发度对所述每个工作节点的并发度进行调整。8.如权利要求7所述的控制节点,其特征在于,在所述按照所述每个工作节点的优化并发度对所述每个工作节点的并发度进行调整的...

【专利技术属性】
技术研发人员:史云龙夏命榛何诚
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1