用于Storm流计算框架的方法和装置的制造方法

文档序号:9646487阅读:452来源:国知局
用于Storm流计算框架的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机领域,具体地,涉及一种用于Storm流计算框架的方法和装置。
【背景技术】
[0002]Storm是一个分布式的实时计算系统,可以方便地在一个计算机集群中编写与扩展复杂的实时计算。Storm流计算框架具有灵活的处理流程构建、高效的分布式并行以及透明容错等特点,能够有效地提高实时流处理应用的开发效率,成为产业界快速构建实时流计算应用的首选。
[0003]Storm中应用对数据流的处理逻辑被定义在拓扑(Topology)中,每一个拓扑由多个组件组成,这些组件包括输入源组件(Spout)和处理组件(Bolt)。输入源组件从输入源读取数据并向拓扑里面发出消息(tuple),而处理组件将来自输入源组件的消息进行处理(例如,过滤、聚合、查询数据库等操作),产生并输出新的消息。
[0004]在Storm流的分布式计算框架的相关技术中,处理组件的处理并发线程数通常是通过硬编码来设置的。这样,写入代码提交以后配置给各个处理组件的处理并发线程数是固定的。在实际运行中,可能有的处理并发线程非常繁忙,而有的处理并发线程非常空闲,出现集群资源不能够有效利用的情况。

【发明内容】

[0005]本发明的目的是提供一种能够有效利用集群资源的用于Storm流计算框架的方法和装置。
[0006]为了实现上述目的,本发明提供一种用于Storm流计算框架的方法,所述Storm流计算框架包括多个处理组件,所述多个处理组件设置有多个处理并发线程,所述方法包括:分别统计所述多个处理组件中的每个处理组件在多个时间段中的每个时间段内的工作量,得到工作量历史规律;以及根据所述工作量历史规律来调整所述每个时间段内所述多个处理并发线程在所述多个处理组件之间的数量配比,使得在所述每个时间段内,所述多个处理并发线程中的任意两个处理并发线程的工作量的比率处于预定的阈值范围内。
[0007]优选地,所述工作量包括接收的消息数量和/或处理消息所花费的时间。
[0008]优选地,所述多个处理组件包括第一处理组件和第二处理组件,所述根据所述工作量历史规律来调整所述每个时间段内所述多个处理并发线程在所述多个处理组件之间的数量配比的步骤包括:根据所述每个时间段内第一平均工作量与第二平均工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比,其中,所述第一平均工作量为所述第一处理组件中的处理并发线程的平均工作量,所述第二平均工作量为所述第二处理组件中的处理并发线程的平均工作量。
[0009]优选地,所述根据所述每个时间段内第一平均工作量与第二平均工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比的步骤包括:在所述多个时间段中的一个时间段内所述第一平均工作量与所述第二平均工作量的比率大于预定的比率阈值的情况下,在所述第一处理组件中增加预定数量的处理并发线程,并在所述第二处理组件中减少所述预定数量的处理并发线程。
[0010]优选地,所述多个处理组件包括第一处理组件和第二处理组件,所述根据所述工作量历史规律来调整所述每个时间段内所述多个处理并发线程在所述多个处理组件之间的数量配比的步骤包括:根据所述每个时间段内所述第一处理组件的工作量与所述第二处理组件的工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比。
[0011]优选地,所述根据所述每个时间段内所述第一处理组件的工作量与所述第二处理组件的工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比的步骤包括:在所述多个时间段中的一个时间段内工作量比率与处理并发线程数比率的比率大于预定的比率阈值的情况下,在所述第一处理组件中增加预定数量的处理并发线程,并在所述第二处理组件中减少所述预定数量的处理并发线程,其中,所述工作量比率为所述第一处理组件的工作量与所述第二处理组件的工作量的比率,所述处理并发线程数比率为所述第一处理组件的处理并发线程数与所述第二处理组件的处理并发线程数的比率。
[0012]优选地,所述多个处理组件设置在多个服务器上,所述方法还包括:统计所述多个服务器中的每个服务器的资源使用率;以及将所增加的处理并发线程设置在所述多个服务器中资源使用率最低的服务器中。
[0013]优选地,所述Storm流计算框架还包括输入源组件,所述输入源组件设置有多个输入源并发线程,所述多个输入源并发线程中的每个输入源并发线程分别读取相应的数据并将所读取的数据进行发送,所述方法还包括:分别确定所述多个输入源并发线程中的每个输入源并发线程所读取的数据所在的服务器;以及分别将所述每个输入源并发线程设置在各自所读取的数据所在的服务器中。
[0014]本发明还提供一种用于Storm流计算框架的装置,所述Storm流计算框架包括多个处理组件,所述多个处理组件设置有多个处理并发线程,所述装置包括:工作量统计模块,用于分别统计所述多个处理组件中的每个处理组件在多个时间段中的每个时间段内的工作量,得到工作量历史规律;以及调整模块,用于根据所述工作量历史规律来调整所述每个时间段内所述多个处理并发线程在所述多个处理组件之间的数量配比,使得在所述每个时间段内,所述多个处理并发线程中的任意两个处理并发线程的工作量的比率处于预定的阈值范围内。
[0015]通过上述技术方案,能够基于统计的工作量历史规律,动态地调整多个处理组件之间的处理并发线程的数量配比,以使处理组件的处理并发线程以更优的拓扑进行分布,从而能够充分地利用集群的计算资源,提高了执行效率。
[0016]本发明的其他特征和优点将在随后的【具体实施方式】部分予以详细说明。
【附图说明】
[0017]附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的【具体实施方式】一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0018]图1是一示例性实施方式提供的用于Storm流计算框架的方法的流程图;
[0019]图2是一示例性实施方式提供的处理组件的工作量历史规律的曲线图;
[0020]图3是另一示例性实施方式提供的用于Storm流计算框架的方法的流程图;
[0021]图4是又一示例性实施方式提供的用于Storm流计算框架的方法的流程图;
[0022]图5是又一示例性实施方式提供的用于Storm流计算框架的方法的流程图;
[0023]图6是又一示例性实施方式提供的用于Storm流计算框架的方法的流程图;
[0024]图7是又一示例性实施方式提供的用于Storm流计算框架的方法的流程图;
[0025]图8是又一示例性实施方式提供的用于Storm流计算框架的方法的流程图;
[0026]图9是一示例性实施方式提供的用于Storm流计算框架的装置的结构框图;
[0027]图10是另一示例性实施方式提供的用于Storm流计算框架的装置的结构框图;
[0028]图11是又一示例性实施方式提供的用于Storm流计算框架的装置的结构框图;
[0029]图12是又一示例性实施方式提供的用于Storm流计算框架的装置的结构框图;
[0030]图13是又一示例性实施方式提供的用于Storm流计算框架的装置的结构框图;
[0031]图14是又一示例性实施方式提供的用于Storm流计算框架的装置的结构框图;以及
[0032]图15是又一示例性实施方式提供的用于Storm流计算框架的装置的结构框图。
【具体实施方式】
[0033]以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0034]在相关技术中,St
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1