体实施方式】中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0086]此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
【主权项】
1.一种用于storm流计算框架的方法,所述Storm流计算框架包括多个处理组件,所述多个处理组件设置有多个处理并发线程,所述方法包括: 分别统计所述多个处理组件中的每个处理组件在多个时间段中的每个时间段内的工作量,得到工作量历史规律;以及 根据所述工作量历史规律来调整所述每个时间段内所述多个处理并发线程在所述多个处理组件之间的数量配比,使得在所述每个时间段内,所述多个处理并发线程中的任意两个处理并发线程的工作量的比率处于预定的阈值范围内。2.根据权利要求1所述的方法,其特征在于,所述工作量包括接收的消息数量和/或处理消息所花费的时间。3.根据权利要求1所述的方法,其特征在于,所述多个处理组件包括第一处理组件和第二处理组件,所述根据所述工作量历史规律来调整所述每个时间段内所述多个处理并发线程在所述多个处理组件之间的数量配比的步骤包括: 根据所述每个时间段内第一平均工作量与第二平均工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比,其中,所述第一平均工作量为所述第一处理组件中的处理并发线程的平均工作量,所述第二平均工作量为所述第二处理组件中的处理并发线程的平均工作量。4.根据权利要求3所述的方法,其特征在于,所述根据所述每个时间段内第一平均工作量与第二平均工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比的步骤包括: 在所述多个时间段中的一个时间段内所述第一平均工作量与所述第二平均工作量的比率大于预定的比率阈值的情况下,在所述第一处理组件中增加预定数量的处理并发线程,并在所述第二处理组件中减少所述预定数量的处理并发线程。5.根据权利要求1所述的方法,其特征在于,所述多个处理组件包括第一处理组件和第二处理组件,所述根据所述工作量历史规律来调整所述每个时间段内所述多个处理并发线程在所述多个处理组件之间的数量配比的步骤包括: 根据所述每个时间段内所述第一处理组件的工作量与所述第二处理组件的工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比。6.根据权利要求5所述的方法,其特征在于,所述根据所述每个时间段内所述第一处理组件的工作量与所述第二处理组件的工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比的步骤包括: 在所述多个时间段中的一个时间段内工作量比率与处理并发线程数比率的比率大于预定的比率阈值的情况下,在所述第一处理组件中增加预定数量的处理并发线程,并在所述第二处理组件中减少所述预定数量的处理并发线程,其中,所述工作量比率为所述第一处理组件的工作量与所述第二处理组件的工作量的比率,所述处理并发线程数比率为所述第一处理组件的处理并发线程数与所述第二处理组件的处理并发线程数的比率。7.根据权利要求4或6所述的方法,其特征在于,所述多个处理组件设置在多个服务器上,所述方法还包括: 统计所述多个服务器中的每个服务器的资源使用率;以及 将所增加的处理并发线程设置在所述多个服务器中资源使用率最低的服务器中。8.根据权利要求1所述的方法,其特征在于,所述Storm流计算框架还包括输入源组件,所述输入源组件设置有多个输入源并发线程,所述多个输入源并发线程中的每个输入源并发线程分别读取相应的数据并将所读取的数据进行发送,所述方法还包括: 分别确定所述多个输入源并发线程中的每个输入源并发线程所读取的数据所在的服务器;以及 分别将所述每个输入源并发线程设置在各自所读取的数据所在的服务器中。9.一种用于Storm流计算框架的装置,所述Storm流计算框架包括多个处理组件,所述多个处理组件设置有多个处理并发线程,所述装置包括: 工作量统计模块,用于分别统计所述多个处理组件中的每个处理组件在多个时间段中的每个时间段内的工作量,得到工作量历史规律;以及 调整模块,用于根据所述工作量历史规律来调整所述每个时间段内所述多个处理并发线程在所述多个处理组件之间的数量配比,使得在所述每个时间段内,所述多个处理并发线程中的任意两个处理并发线程的工作量的比率处于预定的阈值范围内。10.根据权利要求9所述的装置,其特征在于,所述工作量包括接收的消息数量和/或处理消息所花费的时间。11.根据权利要求9所述的装置,其特征在于,所述多个处理组件包括第一处理组件和第二处理组件,所述调整模块包括: 第一调整单元,用于根据所述每个时间段内第一平均工作量与第二平均工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比,其中,所述第一平均工作量为所述第一处理组件中的处理并发线程的平均工作量,所述第二平均工作量为所述第二处理组件中的处理并发线程的平均工作量。12.根据权利要求11所述的装置,其特征在于,所述第一调整单元包括: 第一调整子单元,用于在所述多个时间段中的一个时间段内所述第一平均工作量与所述第二平均工作量的比率大于预定的比率阈值的情况下,在所述第一处理组件中增加预定数量的处理并发线程,并在所述第二处理组件中减少所述预定数量的处理并发线程。13.根据权利要求9所述的装置,其特征在于,所述多个处理组件包括第一处理组件和第二处理组件,所述调整模块包括: 第二调整单元,用于根据所述每个时间段内所述第一处理组件与所述第二处理组件的工作量的比率来调整对应的时间段内所述多个处理并发线程在所述第一处理组件与所述第二处理组件之间的数量配比。14.根据权利要求13所述的装置,其特征在于,所述第二调整单元包括: 第二调整子单元,用于在所述多个时间段中的一个时间段内所述第一处理组件与所述第二处理组件的工作量的比率大于预定的比率阈值的情况下,在所述第一处理组件中增加预定数量的处理并发线程,并在所述第二处理组件中减少所述预定数量的处理并发线程。15.根据权利要求12或14所述的装置,其特征在于,所述多个处理组件设置在多个服务器上,所述装置还包括: 使用率统计模块,用于统计所述多个服务器中的每个服务器的资源使用率;以及 第一设置模块,用于将所增加的处理并发线程设置在所述多个服务器中资源使用率最低的服务器中。16.根据权利要求9所述的装置,其特征在于,所述Storm流计算框架还包括输入源组件,所述输入源组件设置有多个输入源并发线程,所述多个输入源并发线程中的每个输入源并发线程分别读取相应的数据并将所读取的数据进行发送,所述装置还包括: 服务器确定模块,用于分别确定所述多个输入源并发线程中的每个输入源并发线程所读取的数据所在的服务器;以及 第二设置模块,用于分别将所述每个输入源并发线程设置在各自所读取的数据所在的服务器中。
【专利摘要】本发明公开了一种用于Storm流计算框架的方法和装置。Storm流计算框架包括多个处理组件,多个处理组件设置有多个处理并发线程,所述方法包括:分别统计多个处理组件中的每个处理组件在多个时间段中的每个时间段内的工作量,得到工作量历史规律;以及根据工作量历史规律来调整每个时间段内多个处理并发线程在多个处理组件之间的数量配比,使得在每个时间段内,多个处理并发线程中的任意两个处理并发线程的工作量的比率处于预定的阈值范围内。本发明基于统计的工作量的历史规律,动态地调整处理组件之间的并发线程的数量配比,以使处理组件的并发线程以更优的拓扑进行分布,从而能够充分地利用集群的计算资源,提高了执行效率。
【IPC分类】G06F9/50
【公开号】CN105404554
【申请号】CN201510888693
【发明人】韩宇
【申请人】东软集团股份有限公司
【公开日】2016年3月16日
【申请日】2015年12月4日