【技术实现步骤摘要】
一种流聚合方法、装置及电子设备
本申请涉及大数据分析领域,特别涉及一种流聚合方法、装置及电子设备。
技术介绍
Kafka集群作为消息处理中心,负责消息的存储、确认和重试等任务,Kafka集群上包含多个消息队列(MessageQueue),其中,消息队列中的消息由消息生产者产生并发送至消息处理中心。消息消费者从消息处理中心获取消息,然后进行相应的处理。通常而言,作为消息消费者的设备可以对消息队列的数据流进行流聚合(StreamAggregate)处理,即对一个或多个消息队列中的消息基于时间区间分组后,按照指定的聚合函数计算各时间区间内消息,常见的聚合函数包括SUM、COUNT、AVG、MIN、MAX等。当消息消费者对至少两个消息队列中的消息进行流聚合处理时,为更好地呈现处理结果,通常可对两个消息队列的处理结果进行关联操作(JoinOperations)。由于对不同消息队列的处理速度可能不同,或者,从消息处理中心获取不同消息队列的消息的速度可能不同,因此,在流聚合处理的过程中,需将不同消息队列的各个时间区间内的消息进行对 ...
【技术保护点】
1.一种流聚合方法,其特征在于,包括:/n响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理;/n检查对所述第一消息和所述第二消息的处理时差是否达到预设的时差阈值;其中,所述处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值;/n若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程;/n对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。/n
【技术特征摘要】
1.一种流聚合方法,其特征在于,包括:
响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理;
检查对所述第一消息和所述第二消息的处理时差是否达到预设的时差阈值;其中,所述处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值;
若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程;
对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到的第二流聚合指令,确定所述第二流聚合指令中至少两个流聚合时间段的先后顺序;
获取所述第二流聚合指令指示的第三消息队列的第三消息,依时序对所述第三消息进行流聚合处理;
确定当前处理的流聚合时间段是否为所述第二流聚合指令中最后的流聚合时间段;
如果是,将本次流聚合处理得到的处理结果与预保存的历史处理结果进行关联操作。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果否,将本次流聚合处理得到的处理结果作为历史处理结果,并保存所述历史处理结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到的第三流聚合指令,获取所述第三流聚合指令指示的第四消息队列的第四消息,并依时序对所述第四消息进行流聚合处理;
确定满足预设的消息筛选策略的处理结果对应的时间区间,将该时间区间作为目标时间区间;其中,所述时间区间基于所述第三流聚合指令中的流聚合起始时间、流聚合结束时间和时间窗口来确定;
基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理;
对基于所述第三流聚合指令得到的处理结果和基于所述第四流聚合指令得到的处理结果进行关联操作。
5.根据权利要求4所述的方法,其特征在于,所述获取所述第三流聚合指令指示的第四消息队列的第四消息,包括:
为获取到的每批次的第四消息分配批次标识;
确定该批次的第四消息所处的时间区间,并建立该时间区间与该批次的批次标识的映射关系;
所述基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理,包括:
确定所述目标时间区间对应的批次标识,并依据该批次标识重新获取第四消息;
将所述第四消息分配至所述目标时间区间;
基于所述第四流聚合指令对多数目标时间区间内的第四消息进行流聚合处理。
6.一种流聚合装置,其特征在于,包括:
处理单元,用于响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理;
检查...
【专利技术属性】
技术研发人员:郭峰,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。