消息流量控制方法、装置及相关系统制造方法及图纸

技术编号:15767295 阅读:89 留言:0更新日期:2017-07-06 14:57
本申请公开了一种消息流量控制方法、装置及相关系统,其通过对每个处理节点的消息接收量进行采样,一旦某个处理节点的实际消息接收量不在其对应的预设流量阈值区间内,则生成相应的流量控制请求,并根据该流量控制请求调整该处理节点对应的上游数据节点的消息发送速率,从而实现对任意两个相邻上下游数据节点之间的消息流量的动态控制,相对于现有技术只根据最后一个处理节点的未处理消息数量来调整数据源的消息发送速率的方式,本申请控制精度更高,任意一个处理节点都不会出现消息积压或空闲的现象,从而可以减少消息丢弃量,提高整个数据处理系统的稳定性及处理效率。

Method, device and related system for controlling message flow

The invention discloses a message flow control method, device and system, which is obtained by each processing node receiving the message was sampled once the actual message a node to receive the amount corresponding to the preset flow threshold range, the flow is generated corresponding control request message is sent upstream data rate according to the traffic control request node and adjust the corresponding processing node, so as to realize the dynamic control of the message flow between any two adjacent downstream data nodes on the message sending rate, compared to the prior art according to the number of messages processing last processing nodes to adjust the data source, higher control precision in this application, an arbitrary processing node will not appear message backlog or idle phenomenon, which can reduce the amount of message dropping, improve the whole Stability and processing efficiency of data processing systems.

【技术实现步骤摘要】
消息流量控制方法、装置及相关系统
本专利技术涉及分布式实时计算
,特别是涉及消息流量控制方法、装置及相关系统。
技术介绍
现有数据处理系统大多采用流水线式处理方式,如图1所示拓扑图,消息从数据源S发出后,依照各个处理节点之间的逻辑关系逐步向下游流动;处理节点的总个数及每条流水线上的节点个数根据实际数据处理逻辑而定,图1仅以A、B和C的三个处理节点为例,箭头表示消息流动方向。正常情况下,处于上游的数据源或处理节点的消息发送速率应当与相邻的下游处理节点的消息处理速率相匹配;如果因上游节点出现消息流量高峰和/或下游处理节点的处理能力不够,导致上游的消息发送速率大于下游的消息处理速率,则会造成大量的消息积压、处理器压力增加,甚至导致部分消息因处理超时而被丢弃,系统实际有效处理能力下降。特别是Storm、Jstorm、Sparkstreaming等实时计算系统,消息流量不断变化,在流量高峰到来时,要求每个节点都能都能尽快有效的处理接收到的消息,否则将影响其他正常运行的节点或计算任务。相关技术中采用如下流量控制策略:在数据源配置一个流控值R0,表征系统允许的未完成消息数量,在系统运行过程中,根据流水线中最后一个处理节点的消息处理情况确定实际未完成消息数量R,如果R>R0,说明消息流量过大,则控制数据源减少消息发送数量;反之,如果R<R0,说明消息流量过小,则控制数据源增加消息发送数量。上述流量控制策略在实际应用中存在较严重的弊端;例如:如果上述流控值配置的太高,消息丢弃量过高,仍然会造成系统的不稳定,但是流控值配置的太低时,又会造成计算资源的空闲。
技术实现思路
了解决上述技术问题,本申请公开了一种消息流量控制方法、装置及相关系统。本申请第一方面提供了一种消息流量控制方法,所述方法应用于数据处理系统,所述数据处理系统包括数据源和多个处理节点;所述方法包括:分别对每个处理节点的消息接收量进行采样,并根据采样结果判断相应处理节点的实际消息接收量是否在其预设流量阈值区间内;在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量不在其预设流量阈值区间内时,生成相应的流量控制请求;根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率;其中,所述上游数据节点可以为所述数据源或者处理节点。结合第一方面,在第一方面第一种可行的实施方式中,在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量不在预设流量阈值区间内时,生成相应的流量控制请求,包括:在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量大于预设最高流量阈值时,生成流量降低请求;在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量小于预设最低流量阈值时,生成流量升高请求。结合第一方面第一种可行的实施方式,在第一方面第二种可行的实施方式中,根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率,包括:在所述流量控制请求为所述流量降低请求时,根据所述第一处理节点的消息处理速率和所述上游数据节点的原始消息发送速率确定消息发送延迟时间;将所述消息发送延迟时间与所述原始消息发送速率进行叠加,得到所述上游数据节点的目标消息发送速率。结合第一方面第一种可行的实施方式,在第一方面第三种可行的实施方式中,根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率,包括:在所述流量控制请求为所述流量升高请求时,根据预设速率调整步长逐步提高所述上游数据节点的消息发送速率至预设正常速率。结合第一方面,或者第一方面第一种可行的实施方式,或者第一方面第二种可行的实施方式,或者第一方面第三种可行的实施方式,在第一方面第四种可行的实施方式中,在根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率之前,所述方法还包括:如果在预设时段内所述上游数据节点对应的多个下游处理节点均生成相应的流量控制请求,则确定每个下游处理节点对应的流量控制请求对所述上游数据节点造成的消息发送速率变化量;确定消息发送速率变化量最大值对应的目标流量控制请求,以根据所述目标流量控制请求调整所述上游数据节点的消息发送速率。结合第一方面,或者第一方面第一种可行的实施方式,或者第一方面第二种可行的实施方式,或者第一方面第三种可行的实施方式,在第一方面第五种可行的实施方式中,所述方法还包括:将各个处理节点的流量控制状态存储至预设存储模块;根据预设周期将所述预设存储模块存储的所述流量控制状态同步至相应的处理节点。结合第一方面,或者第一方面第一种可行的实施方式,或者第一方面第二种可行的实施方式,或者第一方面第三种可行的实施方式,在第一方面第六种可行的实施方式中,根据采样结果判断相应处理节点的实际消息接收量是否满足在其预设流量阈值区间内,包括:对于任一处理节点,计算预设采样周期内采集到的不在其预设流量阈值区间内的采样值个数与所述预设采样周期内的采样值总个数之间的比值;如果所述比值大于预设阈值,则判定相应处理节点的实际消息接收量不在其预设流量阈值区间内。本申请第二方面提供了一种消息流量控制装置,所述装置应用于数据处理系统,所述数据处理系统包括数据源和多个处理节点;所述装置包括:触发器和控制器;所述触发器设置于每个处理节点中,用于对自身所在处理节点的消息接收量进行采样,并根据采样结果判断自身所在处理节点的实际消息接收量是否在其预设流量阈值区间内,并在自身所在处理节点的实际消息接收量不在其预设流量阈值区间内时,生成相应的流量控制请求;所述控制器设置于每个具有下游处理节点的数据节点中,用于根据自身所在数据节点对应的下游处理节点的流量控制请求,调整自身所在数据节点的消息发送速率;其中,所述数据节点可以为所述数据源或者处理节点。结合第二方面,在第二方面第一种可行的实施方式中,为实现在自身所在处理节点的实际消息接收量不在其预设流量阈值区间内时,生成相应的流量控制请求,所述触发器被配置为:在自身所在处理节点的实际消息接收量大于预设最高流量阈值时,生成流量降低请求;在自身所在处理节点的实际消息接收量大于预设最低流量阈值时,生成流量升高请求。结合第二方面第一种可行的实施方式,在第二方面第二种可行的实施方式中,为实现根据自身所在数据节点对应的下游处理节点的流量控制请求,调整自身所在数据节点的消息发送速率,所述控制器被配置为:在所述流量控制请求为所述流量降低请求时,根据所述下游处理节点的消息处理速率,以及自身所在数据节点的原始消息发送速率确定消息发送延迟时间,并将所述消息发送延迟时间与所述原始消息发送速率进行叠加,得到自身所在数据节点的目标消息发送速率。结合第二方面第一种可行的实施方式,在第二方面第三种可行的实施方式中,为实现根据自身所在数据节点对应的下游处理节点的流量控制请求,调整自身所在数据节点的消息发送速率,所述控制器被配置为:在所述流量控制请求为所述流量升高请求时,根据预设速率调整步长逐步提高自身所在数据节点的消息发送速率至预设正常速率。结合第二方面,或者第二方面第一种可行的实施方式,或者第二方面第二种可行的实施方式,或者第二方面第三种可行的实施方式,在第二方面第四种可行的实施方式中,所述装置还包括:第本文档来自技高网...
消息流量控制方法、装置及相关系统

【技术保护点】
一种消息流量控制方法,其特征在于,应用于数据处理系统,所述数据处理系统包括数据源和多个处理节点;所述方法包括:分别对每个处理节点的消息接收量进行采样,并根据采样结果判断相应处理节点的实际消息接收量是否在其预设流量阈值区间内;在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量不在其预设流量阈值区间内时,生成相应的流量控制请求;根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率;其中,所述上游数据节点可以为所述数据源或者处理节点。

【技术特征摘要】
1.一种消息流量控制方法,其特征在于,应用于数据处理系统,所述数据处理系统包括数据源和多个处理节点;所述方法包括:分别对每个处理节点的消息接收量进行采样,并根据采样结果判断相应处理节点的实际消息接收量是否在其预设流量阈值区间内;在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量不在其预设流量阈值区间内时,生成相应的流量控制请求;根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率;其中,所述上游数据节点可以为所述数据源或者处理节点。2.根据权利要求1所述的方法,其特征在于,在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量不在预设流量阈值区间内时,生成相应的流量控制请求,包括:在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量大于预设最高流量阈值时,生成流量降低请求;在根据第一处理节点对应的采样结果判定所述第一处理节点的实际消息接收量小于预设最低流量阈值时,生成流量升高请求。3.根据权利要求2所述的方法,其特征在于,根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率,包括:在所述流量控制请求为所述流量降低请求时,根据所述第一处理节点的消息处理速率和所述上游数据节点的原始消息发送速率确定消息发送延迟时间;将所述消息发送延迟时间与所述原始消息发送速率进行叠加,得到所述上游数据节点的目标消息发送速率。4.根据权利要求2所述的方法,其特征在于,根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率,包括:在所述流量控制请求为所述流量升高请求时,根据预设速率调整步长逐步提高所述上游数据节点的消息发送速率至预设正常速率。5.根据权利要求1至4任一项所述的方法,其特征在于,在根据所述流量控制请求调整与所述第一处理节点相邻的上游数据节点的消息发送速率之前,所述方法还包括:如果在预设时段内所述上游数据节点对应的多个下游处理节点均生成相应的流量控制请求,则确定每个下游处理节点对应的流量控制请求对所述上游数据节点造成的消息发送速率变化量;确定消息发送速率变化量最大值对应的目标流量控制请求,以根据所述目标流量控制请求调整所述上游数据节点的消息发送速率。6.根据权利要求1至4任一项所述的方法,其特征在于,还包括:将各个处理节点的流量控制状态存储至预设存储模块;根据预设周期将所述预设存储模块存储的所述流量控制状态同步至相应的处理节点。7.根据权利要求1至4任一项所述的方法,其特征在于,根据采样结果判断相应处理节点的实际消息接收量是否满足在其预设流量阈值区间内,包括:对于任一处理节点,计算预设采样周期内采集到的不在其预设流量阈值区间内的采样值个数与所述预设采样周期内的采样值总个数之间的比值;如果所述比值大于预设阈值,则判定相应处理节点的实际消息接收量不在其预设流量阈值区间内。8.一种消息流量控制装置,其特征在于,应用于数据处理系统,所述数据处理系统包括数据源和多个处理节点;所述装置包括:触发器和控制器;所述触发器设置于每个处理节点中,用于对自身所在处...

【专利技术属性】
技术研发人员:刘键封仲淹方孝健王逸伍翀
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1