CN111488222B - 一种流聚合方法、装置及电子设备 - Google Patents
一种流聚合方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111488222B CN111488222B CN201910073375.3A CN201910073375A CN111488222B CN 111488222 B CN111488222 B CN 111488222B CN 201910073375 A CN201910073375 A CN 201910073375A CN 111488222 B CN111488222 B CN 111488222B
- Authority
- CN
- China
- Prior art keywords
- message
- processing
- stream aggregation
- aggregation
- stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种流聚合方法、装置及电子设备,该方法包括:响应于接收到的第一流聚合指令,获取第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对第一消息和第二消息进行流聚合处理;检查对第一消息和第二消息的处理时差是否达到预设的时差阈值;其中,处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值;若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程;对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。在本申请中,有效地实现了对两个消息队列的流聚合处理结果的关联操作,更好地呈现处理结果。
Description
技术领域
本申请涉及大数据分析领域,特别涉及一种流聚合方法、装置及电子设备。
背景技术
Kafka集群作为消息处理中心,负责消息的存储、确认和重试等任务,Kafka集群上包含多个消息队列(Message Queue),其中,消息队列中的消息由消息生产者产生并发送至消息处理中心。消息消费者从消息处理中心获取消息,然后进行相应的处理。通常而言,作为消息消费者的设备可以对消息队列的数据流进行流聚合(Stream Aggregate)处理,即对一个或多个消息队列中的消息基于时间区间分组后,按照指定的聚合函数计算各时间区间内消息,常见的聚合函数包括SUM、COUNT、AVG、MIN、MAX等。
当消息消费者对至少两个消息队列中的消息进行流聚合处理时,为更好地呈现处理结果,通常可对两个消息队列的处理结果进行关联操作(Join Operations)。由于对不同消息队列的处理速度可能不同,或者,从消息处理中心获取不同消息队列的消息的速度可能不同,因此,在流聚合处理的过程中,需将不同消息队列的各个时间区间内的消息进行对齐,从而能同时(或者在很短的时间内)获得同一时间区间不同消息队列的消息的流聚合处理的处理结果,进而对不同消息队列的处理结果进行关联操作。
在相关技术中,作为消息消费者的设备可以基于预设的容忍延迟时间来延迟输出处理速度较快的数据流,进而在输出数据流之前,可以将处理速度较快数据流与处理速度较慢的数据流中处于同一时间区间的消息的流聚合处理结果进行关联操作。
然而,容忍延迟时间往往是运营人员的经验值,并不能满足实际需求。若容忍延迟时间过长,则数据流中延迟输出的消息的数据量会超过设备的缓存空间;若容忍延迟时间过短,则可能存在两个数据流的处理时差大于容忍延时时间,这就导致无法实现流对齐,也就无法实现同时对两个数据流进行流聚合处理。
发明内容
有鉴于此,本申请提供一种流聚合的方法、装置及电子设备,用以实现同时对两个数据流进行流聚合处理。
具体地,本申请是通过如下技术方案实现的:
一种流聚合方法,包括:
响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理;
检查对所述第一消息和所述第二消息的处理时差是否达到预设的时差阈值;其中,所述处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值;
若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程;
对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。
在所述流聚合方法中,所述方法还包括:
响应于接收到的第二流聚合指令,确定所述第二流聚合指令中至少两个流聚合时间段的先后顺序;
获取所述第二流聚合指令指示的第三消息队列的第三消息,依时序对所述第三消息进行流聚合处理;
确定当前处理的流聚合时间段是否为所述第二流聚合指令中最后的流聚合时间段;
如果是,将本次流聚合处理得到的处理结果与预保存的历史处理结果进行关联操作。
在所述流聚合方法中,所述方法还包括:
如果否,将本次流聚合处理得到的处理结果作为历史处理结果,并保存所述历史处理结果。
在所述流聚合方法中,所述方法还包括:
响应于接收到的第三流聚合指令,获取所述第三流聚合指令指示的第四消息队列的第四消息,并依时序对所述第四消息进行流聚合处理;
确定满足预设的消息筛选策略的处理结果对应的时间区间,将该时间区间作为目标时间区间;其中,所述时间区间基于所述第三流聚合指令中的流聚合起始时间、流聚合结束时间和时间窗口来确定;
基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理;
对基于所述第三流聚合指令得到的处理结果和基于所述第四流聚合指令得到的处理结果进行关联操作。
在所述流聚合方法中,所述获取所述第三流聚合指令指示的第四消息队列的第四消息,包括:
为获取到的每批次的第四消息分配批次标识;
确定该批次的第四消息所处的时间区间,并建立该时间区间与该批次的批次标识的映射关系;
所述基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理,包括:
确定所述目标时间区间对应的批次标识,并依据该批次标识重新获取第四消息;
将所述第四消息分配至所述目标时间区间;
基于所述第四流聚合指令对多数目标时间区间内的第四消息进行流聚合处理。
一种流聚合装置,包括:
处理单元,用于响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理;
检查单元,用于检查对所述第一消息和所述第二消息的处理时差是否达到预设的时差阈值;其中,所述处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值;
调整单元,用于若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程;
关联单元,用于对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。
在所述流聚合装置中,所述装置还包括:
确定单元,用于响应于接收到的第二流聚合指令,确定所述第二流聚合指令中至少两个流聚合时间段的先后顺序;
所述处理单元,进一步用于获取所述第二流聚合指令指示的第三消息队列的第三消息,依时序对所述第三消息进行流聚合处理;
所述检查单元,用于确定当前处理的流聚合时间段是否为所述第二流聚合指令中最后的流聚合时间段;
所述关联单元,进一步用于如果是,将本次流聚合处理得到的处理结果与预保存的历史处理结果进行关联操作。
在所述流聚合装置中,所述装置还包括:
保存单元,用于如果否,将本次流聚合处理得到的处理结果作为历史处理结果,并保存所述历史处理结果。
在所述流聚合装置中,所述装置还包括:
所述处理单元,进一步用于响应于接收到的第三流聚合指令,获取所述第三流聚合指令指示的第四消息队列的第四消息,并依时序对所述第四消息进行流聚合处理;
确定单元,用于确定满足预设的消息筛选策略的处理结果对应的时间区间,将该时间区间作为目标时间区间;其中,所述时间区间基于所述第三流聚合指令中的流聚合起始时间、流聚合结束时间和时间窗口来确定;
所述处理单元,进一步用于基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理;
所述关联单元,进一步用于对基于所述第三流聚合指令得到的处理结果和基于所述第四流聚合指令得到的处理结果进行关联操作。
在所述流聚合装置中,在获取所述第三流聚合指令指示的第四消息队列的第四消息时,所述处理单元,进一步用于:
为获取到的每批次的第四消息分配批次标识;
确定该批次的第四消息所处的时间区间,并建立该时间区间与该批次的批次标识的映射关系;
在基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理时,所述处理单元,进一步用于:
确定所述目标时间区间对应的批次标识,并依据该批次标识重新获取第四消息;
将所述第四消息分配至所述目标时间区间;
基于所述第四流聚合指令对多数目标时间区间内的第四消息进行流聚合处理。
一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的机器可执行指令,其中,所述机器可执行指令被处理器执行时实现本申请所述的流聚合方法。
综上所述,在本申请实施例中,服务器在对两个消息队列的消息进行流聚合处理时,可见检查对两个消息队列的处理时差是否达到时差阈值,并在达到时差阈值的情况下,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程,从而调整对两个消息队列的流聚合处理的速率,使得后续可对两个消息队列的流聚合处理的处理结果进行关联操作;
通过上述措施,可有效地实现流对齐,从而可有效地实现对两个消息队列的流聚合处理结果的关联操作,可更好地呈现处理结果。
附图说明
图1是本申请示出的一种流聚合的方法的流程图;
图2是本申请示出的一种流聚合的网络架构图;
图3是本申请示出的一种流聚合场景的示意图;
图4是本申请示出的另一种流聚合场景的示意图;
图5是本申请示出的又一种流聚合场景的示意图;
图6是本申请示出的一种流聚合装置的实施例框图;
图7是本申请示出的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为更清晰地说明本申请技术方案,首先,对以下概念做一下介绍:
时间窗口:在本申请中指的就是一段时长,时间窗口可根据应用场景进行配置,比如:可以是1分钟、5分钟或10分钟。
流聚合起始时间:对消息队列中的消息进行流聚合处理的起始时间,比如:若流聚合起始时间为9:00,则作为消息消费者的设备对事件时间(event time)为9:00以后的消息进行聚合处理。
流聚合结束时间:对消息队列中的消息进行流聚合处理的结束时间,比如,若流聚合结束时间为10:00,则作为消费者的设备对事件时间为10:00之前的消息进行聚合处理。流聚合起始时间和流聚合结束时间构成流聚合时间段。
事件时间:指的是消息自身嵌入的时间,通常为消息生产者产生该消息时向其写入的时间。
消息生成者:生产消息的设备,可将自身产生的消息交由消息处理中心存储和转发。
消息处理中心:由一个或多个服务器组成的消息系统,本申请中可为Kafka集群,可接收消费生成者发送的消息,并将消息以kafka topic为单位进行归纳存储。消息处理中心包含多个消息队列,各消息队列分别对应一个kafka topic。
消息消费者:从消息处理中心获取消息队列中的消息进行流聚合处理的服务器或服务器集群。
聚合函数标识:用于指示流聚合所采用的聚合函数。
指定字段标识:用于指示流聚合所采用的指定字段,比如,若需统计各时间区间内各种年龄的人数,则指定字段标识为年龄字段。指定字段标识可以是字段名。
下面介绍本申请技术方案的实现流程。
参见图1,为本申请示出的一种流聚合的方法的流程图,该方法包括以下步骤:
步骤101:响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理。
其中,上述方法应用于作为消息消费者的服务器或服务器集群。为方便表述本申请技术方案,下文以服务器作为执行主体。参见图2,为本申请示出的一种流聚合的网络架构图,如图2所示,消息生成者(图中的producer)产生消息后发送至消息处理中心(图中的消息处理中心Kafka集群包括多个服务器,在Kafka集群中服务器称为broker);消息消费者(图中的消息消费者为服务器集群)再从消息处理中心获取消息后进行处理。当然,作为消息消费者的服务器或服务器集群还可与用户的终端设备(比如:计算机、平板电脑、手机等)对接,以获得用户下发的流聚合指令。
上述,该第一流聚合指令携带消息队列标识(消息队列标识可以是kafkatopic)、流聚合起始时间、流聚合结束时间、时间窗口、聚合函数标识和指定字段标识。
需要指出的是,第一流聚合指令指示第一消息队列和第二消息队列,因此,该第一流聚合指令中包含上述两个消息队列的消息队列标识。
服务器接收到上述第一流聚合指令后,首先可以基于流聚合起始时间、流聚合结束时间和时间窗口,确定流聚合的时间区间。
比如:流聚合起始时间为9:00,流聚合结束时间10:00,时间窗口为5分钟,则可以确定出时间区间为9:00-9:05,9:05-9:10,9:10-9:15……9:50-9:55,9:55-10:00。
进一步地,服务器可以基于上述消息队列标识从消息处理中心获取对应的消息,然后根据上述消息携带的事件时间,将各消息分配至各时间区间内。
在实际应用中,服务器会为各消息队列的分别分配多个缓存空间,各缓存空间与各时间区间相对应。服务器获取消息后,基于该消息携带的事件时间确定消息所处的时间区间,并将该消息缓存至该时间区间对应的缓存空间内。
比如:服务器基于第一消息队列的消息队列标识1从消息处理中心获取第一消息。若任一第一消息的事件时间为9:01,则将该第一消息缓存至分配给第一消息队列且时间区间9:00-9:05对应的缓存空间中,若任一第一消息的事件时间为9:11,则将该第一消息缓存至时间区间9:10-9:15对应的缓存空间中。
此外,服务器还可为各消息队列分配一个额外的缓存空间,该缓存空间用于缓存尚未分配至各时间区间的消息。
其中,若服务器为服务器集群,作为服务器分配给各消息队列的缓存空间可以是分布式缓存,因此,各消息队列可拥有较大的缓存空间。
需要指出的是,随着服务器对已缓存的消息的流聚合处理,可以从缓存空间中清除已处理的消息,以腾空缓存空间来缓存新获取的消息。比如:当服务器在处理消息队列1的9:10-9:15的消息时,可清空缓存空间中该消息队列9:05-9:10的消息。
进一步地,服务器可以基于上述第一流聚合指令中的聚合函数标识指示的聚合函数和指定字段标识指示的字段,依时序对处于各时间区间的上述第一消息和上述第二消息分别进行流聚合处理。
比如:若聚合函数标识指示的聚合函数为SUM,指定字段标识指示年龄字段,则服务器可以对各时间区间内携带各年龄字段的值的消息数量分别进行累加。如果各消息携带的年龄字段存在23、24、25三种数值,则可分别统计携带23的消息的数量、携带24的消息的数量和携带25的消息的数量。
步骤102:检查对所述第一消息和所述第二消息的处理时差是否达到预设的时差阈值;其中,所述处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值。
其中,上述时差阈值可以通过为一个消息队列分配的额外的缓存空间的最大容量来确定,当处理时差超出该时差阈值,服务器无法将两个消息队列同属有一个时间区间的流聚合处理结果进行关联操作,因此,必须调整对第一消息或第二消息的流聚合处理速度。
在对第一消息和第二消息进行流聚合处理过程中,由于处理速度不同,服务器可以(实时或周期性)检查对不同消息队列的消息的处理时差。
在实际应用中,对任一消息队列的消息而言,服务器是依时序对各时间区间的消息进行流聚合处理。为使处理时差可以时间窗口的倍数表示,服务器可以检查当前处理的第一消息所在的第一时间区间和当前处理的第二消息所在的第二时间区间的差距。这里,第一时间区间和第二时间区间可以表示任一时间区间,仅仅是为区分而进行的命名。
一方面,若第一时间区间和第二时间区间相同,则表示服务器对两个消息队列的消息的流聚合处理速度相同。此时,服务器可正确地对两个消息队列的流聚合处理结果进行关联操作,无需调整流聚合处理的速度。
另一方面,若第一时间区间和第二时间区间不同,还可分为两种情况。
一种情况下,第一时间区间与第二时间区间的时差小于上述时差阈值,则表示服务器对两个消息队列的消息的流聚合处理速度不同。此时,由于服务器分配的额外的缓存空间可缓存处理速度较快的消息队列的消息,因此,服务器仍可正确地对两个消息队列的流聚合处理结果进行关联操作,无需调整流聚合处理的速度。
另一种情况下,第一时间区间与第二时间区间的时差达到上述时差阈值,则表示服务器对两个消息队列的消息的流聚合处理速度不同,且服务器无法正确地对两个消息队列的流聚合处理结果进行关联操作,因而需调整流聚合处理的速度。具体详见下文相关描述。
步骤103:若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程。
为了能够将两个消息队列的消息的流聚合处理结果进行关联操作,可向处理速度较慢的消息队列增加用于流聚合处理的线程。
作为一种实施例,服务器可检查上述时差阈值内处理速度快的消息队列比处理速度慢的消息队列多缓存的消息量,进而根据一个线程处理消息的速率,确定出为使两个消息队列的消息的处理速度相当,而需向处理速度慢的消息队列增加的线程。
作为另一种实施例,服务器可以直接向处理速度慢的消息队列增加一个用于流聚合处理的线程,后续根据对两个消息队列的消息的流聚合处理情况再做调整。
此外,服务器也可减少对处理速度快的消息队列进行流聚合处理的线程。
作为一种实施例,服务器可检查上述时差阈值内处理速度快的消息队列比处理速度慢的消息队列多缓存的消息量,进而根据一个线程处理消息的速率,确定出为使两个消息队列的消息的处理速度相当,而需减少对处理速度较快的消息队列进行流聚合处理的线程的数量。
作为另一种实施例,服务器可以直接取消为处理速度快的消息队列进行流聚合处理的线程,即暂停对该消息队列的流聚合处理,直到处理速度慢的消息队列的流处理进度赶上处理速度较快的消息队列的流处理进度。
需要指出的是,当减少对处理速度较快的消息队列进行流聚合处理的线程的数量,或者,暂停对该消息队列的流聚合处理时,相应地,也要减少获取消息的线程的数量,或者,暂停获取该消息队列的消息。
步骤104:对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。
由于对上述第一消息和上述第二消息进行流聚合处理过程中,始终调整处理速度,使得可同时(或者在短时间内)获得同一时间区间不同第一消息和第二消息的流聚合处理结果,因此,可有效地实现对第一消息的处理结果和第二消息的处理结果的关联操作。
比如:若聚合函数标识指示的聚合函数为SUM,指定字段标识指示目的地址IP1,则服务器可分别统计访问IP1的第一消息和第二消息。在获得9:00-9:05的两个处理结果后(比如:访问IP1的第一消息的总数为109,访问IP1的第二消息的总数为121),对两个处理结果进行关联操作,使得9:00-9:05这个时间区间内的两个处理结果可以一起呈现出来,便于比较和分析。
参见图3,为本申请示出的一种流聚合场景的示意图,如图3所示,服务器分别对流1和流2中的消息进行流聚合处理,并通过调整处理速度的方式,实现同时对两个消息队列位于同一时间的消息进行流聚合处理,从而可对流1和流2的处理结果进行关联计算。
通过上述措施,服务器在对两个消息队列的消息进行流聚合处理时,可根据对两个消息队列的处理处理进度调整对两个消息队列的流聚合处理的速率,使得后续可对两个消息队列的流聚合处理的处理结果进行关联操作,从而有效地实现流对齐,实现对两个消息队列的流聚合处理结果的关联操作,可更好地呈现处理结果
至此,同时对两个消息队列进行流聚合处理的方案介绍完毕。
除了上述对两个消息队列的消息进行流聚合处理以外,还有其它应用场景。对于同一消息队列而言,可能需对不同流聚合时间段的消息进行流聚合处理。在这种情况下,用户会下发第二流聚合指令。
通常而言,当需要对同一消息队列的不同流聚合时间段的消息进行流聚合处理,并且对多个处理结果进行关联操作时,服务器可确定最晚的流聚合时间段,并在当前时间达到该流聚合时间段的流聚合起始时间时,从消费处理中心获取上述消息队列在该流聚合时间段内的实时消息,以及,获取消费处理中心已缓存的上述消息队列在其它流聚合时间段内的历史消息。
进一步地,服务器分别对上述实时消息和上述历史消息进行流聚合处理,进而对实时消息的处理结果和历史消息的处理结果进行关联操作。
然而,在这种流聚合处理方式中,服务器需同时对大量消息(流聚合处理时间段可能会有多个)进行流聚合处理,这就提高了服务器的性能要求,也使流聚合处理占用服务器过多的计算资源,影响服务器的其它业务。
参见图4,为本申请示出的另一种流聚合场景的示意图,如图4所示,流1、流2、流3和流4均为同一个消息队列处于不同流聚合时间段内的数据流,此处为连续4天同一时间段的数据流,服务器需对4个数据流进行流聚合处理,并对4个处理结果进行关联操作,使得4个数据流的流聚合处理结果以相互关联的形式呈现。
本申请通过异步处理的方式,减少了短时间内服务器的计算量,从而避免流聚合处理占用服务器过多的计算资源。
在本申请实施例中,服务器可以响应于接收到的第二流聚合指令,确定所述第二流聚合指令中至少两个流聚合时间段的先后顺序。
其中,上述第二流聚合指令同样携带消息队列标识、流聚合起始时间、流聚合结束时间、时间窗口、聚合函数标识和指定字段标识。需要指出的是,第二流聚合指令中包括至少两个流聚合起始时间和与流聚合起始时间对应的流聚合结束时间,每一流聚合起始时间和其对应的流聚合结束时间构成一个流聚合时间段;第二聚合指令指示第三消息队列,因此,第二聚合指令包含第三消息队列的消息队列标识。
比如:上述第二流聚合指令中有流聚合起始时间10月1日9:00,对应的流聚合结束时间为10月1日10:00,以及,流聚合起始时间10月2日9:00,对应的流聚合结束时间10月2日10:00。则服务器可以确定流聚合时间段10月1日9:00-10月1日10:00在流聚合时间段10月2日9:00-10月2日10:00之前。
在本申请实施例中,服务器可以获取上述第二流聚合指令指示的第三消息队列的第三消息,依时序对上述第三消息进行流聚合处理。
具体地,服务器可以基于流聚合起始时间、流聚合结束时间和时间窗口,确定流聚合的时间区间。
比如:上述第二流聚合指令中有流聚合起始时间10月1日9:00,对应的流聚合结束时间为10月1日10:00,以及,流聚合起始时间10月2日9:00,对应的流聚合结束时间10月2日10:00,时间窗口为5分钟,则可以确定出时间区间为10月1日的9:00-9:05,9:05-9:10,9:10-9:15……9:50-9:55,9:55-10:00,以及,10月2日的9:00-9:05,9:05-9:10,9:10-9:15……9:50-9:55,9:55-10:00。
进一步地,服务器可以基于上述消息队列标识从消息处理中心获取对应的消息,然后根据上述消息携带的事件时间,将各消息分配至各时间区间内。接着,服务器可以基于上述第二流聚合指令中的聚合函数标识对应的聚合函数和指定字段标识对应的字段,依时序对处于各时间区间的上述第三消息进行流聚合处理。
获得处理结果后,服务器需确定当前处理的流聚合时间段是否为上述第二流聚合指令中最后的流聚合时间段。
一种情况下,如果当前处理的流聚合时间段为上述第二流聚合指令中最后的流聚合时间段,则可将本次流聚合处理得到的处理结果与预保存的历史处理结果进行关联操作。
另一种情况下,如果当前处理的流聚合时间段不是上述第二流聚合指令中最后的流聚合时间段,则可将本次流聚合处理得到的处理结果作为历史处理结果,并保存该历史处理结果。
服务器重复上述处理过程,直到完成对上述第二流聚合指令中最后的流聚合时间段内的第三消息的流聚合处理。
比如:上述第二流聚合指令中有流聚合起始时间10月1日9:00,对应的流聚合结束时间为10月1日10:00,流聚合起始时间10月2日9:00,对应的流聚合结束时间10月2日10:00,流聚合起始时间10月3日9:00,对应的流聚合结束时间为10月3日10:00。则服务器在对10月1日9:00到10月1日10:00之间的第三消息进行流聚合处理后,确定当前处理的流聚合时间段并非最后的流聚合时间段,则可将处理结果作为历史处理结果进行保存;当服务器对10月2日9:00到10月2日10:00之间的第三消息进行流聚合处理后,确定当前处理的流聚合时间段并非最后的流聚合时间段,则同样将处理结果作为历史处理结果进行保存。接着,当服务器对10月3日9:00到10月3日10:00之间的第三消息进行流聚合处理后,确定当前处理的流聚合时间段为最后的流聚合时间段,则可将本次的处理结果与已保存的上述历史处理结果进行关联操作。
通过上述措施,服务器每次仅对实时的第三消息进行流聚合计算,大大降低了短时间内服务器的计算量,减少了流聚合处理对服务器其它业务的影响。
至此,对一个消息队列的多个不同的流聚合时间段内的消息进行流聚合处理的方案介绍完毕。
在一些应用场景中,在对一个消息队列进行流聚合处理时,可能会在处理结果满足一定的条件时再一次对该消息队列中的消息进行流聚合处理,从而可对消息作两个维度的分析。在这种情况下,用户会下发第三流聚合指令。
由于服务器在对消息队列中的消息进行流聚合处理以后,处理结果中只包含流聚合指令指示的指定字段的信息。比如:若指定字段标识指示的是年龄字段,则处理结果中仅包含年龄字段的信息,而不包括消息中其他字段的信息。
而对消息队列进行二次流聚合处理时,前后两次的流聚合处理涉及的指定字段是不同的。因此,服务器无法直接在第一次流聚合处理的处理结果的基础上进行第二次流聚合处理。
通常而言,服务器可依据不同的聚合函数及该聚合函数对应的指定字段,分别对消息队列的消息进行流聚合处理,得到两类处理结果。进而将同一时间区间内的两类处理结果进行关联操作。
然而,在实际应用中,只需对一类处理结果满足一定条件的消息作进一步的流聚合处理,前述流聚合处理方式对所有消息均实行两次流聚合处理,增加了服务器的计算量,使流聚合处理占用了服务器过多的计算资源,因而影响服务器的其它业务。
为避免在二次流聚合处理过程中增加计算量,在本申请实施例中,服务器可以响应于接收到的上述第三流聚合指令,获取上述第三流聚合指令指示的第四消息队列的第四消息,并依时序对上述第四消息进行流聚合处理。
其中,上述第三流聚合指令中携带消息队列标识、流聚合起始时间、流聚合结束时间、时间窗口、第一聚合函数标识和第一指定字段标识。
作为一种实施例,该第三流聚合指令中还包括消息筛选策略,该消息筛选策略可用于从流聚合处理的处理结果中筛选出满足条件的处理结果,该消息筛选策略可基于实际应用场景进行灵活设置。比如:该消息筛选策略可以从各时间区间中选择指定字段对应的值大于预设的阈值的处理结果。当然,此处的阈值也可以由对第四消息队列的历史处理结果而确定。
作为另一种实施例,上述消息筛选策略也可预配置在服务器上。
需要指出的是,该消息筛选策略中还包括第四流聚合指令,该第四流聚合指令中携带第二聚合函数标识和第二指定字段标识。上述第一聚合函数标识与上述第二聚合函数标识可能不同,上述第一指定字段标识与上述第二指定字段标识可能不同。
服务器基于上述第三流聚合指令对第四消息进行流聚合处理时,首先,可以基于上述流聚合起始时间、流聚合结束时间和时间窗口,确定流聚合的时间区间。
进一步地,服务器可以基于上述消息队列标识从消息处理中心获取第四消息,然后根据上述第四消息携带的事件时间,将各消息分配至各时间区间内。
接着,服务器可以基于上述第三流聚合指令中的第一聚合函数标识对应的聚合函数和第一指定字段标识对应的字段,依时序对处于各时间区间的上述第四消息进行流聚合处理。
在本申请实施例中,服务器可以确定满足上述消息筛选策略的处理结果对应的时间区间,并将该时间区间作为目标时间区间。服务器筛选出的目标时间区间可能有多个,也可能只有一个,或者没有目标时间区间。
比如:若处理结果为第四消息中对各API(Application Programming Interface,应用程序编程接口)的访问量的统计(聚合函数为SUM),则消息筛选策略可以是从各时间区间的处理结果中选择对任一API的访问量达到1000处理结果。则服务器可以确定出上述处理结果,进而确定该处理结果所在的时间区间,将该时间区间作为目标时间区间。
在确定出上述目标时间区间后,服务器可以基于上述消息筛选策略中的第四流聚合指令对上述目标时间区间内的第四消息进行流聚合处理。
由于上述流聚合指令中的流聚合时间段可能较长,在这种情况下,服务器为消息队列分配的缓存空间不足以缓存整个流聚合时间段内的第四消息。因此,服务器还需从消息处理中心重新获取上述目标时间区间内的第四消息。
服务器从消息处理中心获取消息时,并非每次正好获得某个时间区间内的消息,消息处理中心也无法准确发送服务器所需的目标时间区间内的消息。消息处理中心向服务器发送任一消息队列的消息时,发送次序是不变的。比如:消息处理中心向服务器发送消息队列1的消息,则可以先发送消息处理中心上存储位置靠前的指定数量的消息,接着依据存储位置的顺序,发送后面指定数量的消息,以此类推。
因此,服务器可在每次从消息处理中心获取第四消息时,为每批次的第四消息分配批次标识,并建立该批次标识与该批次的第四消息所在的时间区间的映射关系。
比如:服务器在基于第三流聚合指令获取并处理第四消息时,获取一个批次的第四消息并将其分配至时间区间后,发现该批次消息均属于时间区间9:00-9:05之内,则可为该批次的第四消息分配批次标识,并建立该批次标识与时间区间9:00-9:05的映射关系。
当然,在实际应用中,一个批次的第四消息可能处于多个时间区间内,此时需建立一个批次标识与多个时间区间的映射关系。或者,多个批次的第四消息均处于同一个时间区间内,此时需建立多个批次标识与一个时间区间的映射关系。
在这种情况下,当基于第四流聚合指令对目标时间区间内的第四消息进行流聚合处理时,首先可检查该目标时间区间对应的批次标识。接着,服务器可向消息处理中心重新获取上述批次标识指示的第四消息,并将获取到的第四消息分配至上述目标时间区间。进一步地,服务器可基于第四流聚合指令中的第二聚合函数标识对应的聚合函数和第二指定字段标识对应的字段,依时序对处于各目标时间区间的上述第四消息进行流聚合处理。
比如:服务器确定出的目标时间区间为9:10-9:15和9:50-9:55,则可依据这两个时间区间对应的批次标识,从上述消息处理中心获取这两个时间区间内的第四消息,进一步地,根据第四流聚合指令指示的聚合函数(比如:SUM)和指定字段(比如:源IP)对这两个时间区间内的第四消息进行流聚合处理,得到处理结果(两个时间区间内访问者的数量)。
进一步地,服务器对基于上述第三流聚合指令得到的处理结果和基于上述第四流聚合指令得到的处理结果进行关联操作。换而言之,对上述目标时间区间内的第四消息的两次处理结果进行关联操作。
参见图5,为本申请示出的又一种流聚合场景的示意图,如图5所示,流1表示被实时进行流聚合处理的消息队列的消息,流2表示在第二次流聚合处理时涉及的目标时间区间内的消息队列的消息。
通过上述该措施,服务器可在计算量较少的情况下,实现对消息队列的二次流聚合处理,避免了流聚合处理影响服务器的其它业务。
综上所述,在本申请实施例中,服务器在对两个消息队列的消息进行流聚合处理时,可以检查对两个消息队列的处理时差是否达到时差阈值,并在达到时差阈值的情况下,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程,从而调整对两个消息队列的流聚合处理的速率,使得后续可对两个消息队列的流聚合处理的处理结果进行关联操作;
通过上述措施,可有效地实现流对齐,从而可有效地实现对两个消息队列的流聚合处理结果的关联操作,可更好地呈现处理结果;
另外,当服务器对同一个消息队列的不同流聚合时间段进行流聚合处理时,可确定出流聚合指令中至少两个流聚合时间段的先后顺序,并在每次流聚合处理后检查当前处理的流聚合时间段是否为最后的流聚合时间段;如果是,则将本次的处理结果与已保存的上述历史处理结果进行关联操作;如果否,则保存本次流聚合处理得到的处理结果,作为历史处理结果;
通过该措施,服务器每次只对一个流聚合时间段内的消息进行流聚合处理,极大地降低了计算量,避免流聚合处理对其它业务带来的影响;
此外,当服务器需对同一个消息队列进行二次流聚合处理时,可以在第一次流聚合处理后,确定满足消息筛选策略的处理结果对应的时间区间,然后将该时间区间作为目标时间区间,进而通过第四流聚合指令对上述消息队列在上述目标时间区间内的消息进行第二次流聚合处理;最后对两次流聚合处理的处理结果进行关联操作;
通过该措施,可在计算量较少的情况下,实现对消息队列的二次流聚合处理,避免了流聚合处理影响服务器的其它业务。
与前述流聚合方法的实施例相对应,本申请还提供了流聚合装置的实施例。
参见图6,为本申请示出的一种流聚合装置的实施例框图:
如图6所示,该流聚合装置60,包括:
处理单元610,用于响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理;
检查单元620,用于检查对所述第一消息和所述第二消息的处理时差是否达到预设的时差阈值;其中,所述处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值;
调整单元630,用于若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程;
关联单元640,用于对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。
在本例中,所述装置还包括:
确定单元650(图中未示出),用于响应于接收到的第二流聚合指令,确定所述第二流聚合指令中至少两个流聚合时间段的先后顺序;
所述处理单元610,进一步用于获取所述第二流聚合指令指示的第三消息队列的第三消息,依时序对所述第三消息进行流聚合处理;
所述检查单元620,用于确定当前处理的流聚合时间段是否为所述第二流聚合指令中最后的流聚合时间段;
所述关联单元640,进一步用于如果是,将本次流聚合处理得到的处理结果与预保存的历史处理结果进行关联操作。
在本例中,所述装置还包括:
保存单元660(图中未示出),用于如果否,将本次流聚合处理得到的处理结果作为历史处理结果,并保存所述历史处理结果。
在本例中,所述装置还包括:
所述处理单元610,进一步用于响应于接收到的第三流聚合指令,获取所述第三流聚合指令指示的第四消息队列的第四消息,并依时序对所述第四消息进行流聚合处理;
确定单元650(图中未示出),用于确定满足预设的消息筛选策略的处理结果对应的时间区间,将该时间区间作为目标时间区间;其中,所述时间区间基于所述第三流聚合指令中的流聚合起始时间、流聚合结束时间和时间窗口来确定;
所述处理单元610,进一步用于基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理;
所述关联单元640,进一步用于对基于所述第三流聚合指令得到的处理结果和基于所述第四流聚合指令得到的处理结果进行关联操作。
在本例中,在获取所述第三流聚合指令指示的第四消息队列的第四消息时,所述处理单元610,进一步用于:
为获取到的每批次的第四消息分配批次标识;
确定该批次的第四消息所处的时间区间,并建立该时间区间与该批次的批次标识的映射关系;
在基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理时,所述处理单元610,进一步用于:
确定所述目标时间区间对应的批次标识,并依据该批次标识重新获取第四消息;
将所述第四消息分配至所述目标时间区间;
基于所述第四流聚合指令对多数目标时间区间内的第四消息进行流聚合处理。
本申请流聚合装置的实施例可以应用在作为消息消费者的电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
从硬件层面而言,如图7所示,为本申请深度学习模型的训练装置所在电子设备的一种硬件结构图,该电子设备可包括处理器701、存储有机器可执行指令的机器可读存储介质702。处理器701与机器可读存储介质702可经由系统总线703通信。处理器701通过加载并执行机器可读存储介质702存储的机器可执行指令,能够实现上述流聚合。
本文中提到的机器可读存储介质702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种流聚合方法,其特征在于,包括:
响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理;
检查对所述第一消息和所述第二消息的处理时差是否达到预设的时差阈值;其中,所述处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值;
若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程;
对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到的第二流聚合指令,确定所述第二流聚合指令中至少两个流聚合时间段的先后顺序;
获取所述第二流聚合指令指示的第三消息队列的第三消息,依时序对所述第三消息进行流聚合处理;
确定当前处理的流聚合时间段是否为所述第二流聚合指令中最后的流聚合时间段;
如果是,将本次流聚合处理得到的处理结果与预保存的历史处理结果进行关联操作。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果否,将本次流聚合处理得到的处理结果作为历史处理结果,并保存所述历史处理结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到的第三流聚合指令,获取所述第三流聚合指令指示的第四消息队列的第四消息,并依时序对所述第四消息进行流聚合处理;
确定满足预设的消息筛选策略的处理结果对应的时间区间,将该时间区间作为目标时间区间;其中,所述时间区间基于所述第三流聚合指令中的流聚合起始时间、流聚合结束时间和时间窗口来确定;
基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理;
对基于所述第三流聚合指令得到的处理结果和基于所述第四流聚合指令得到的处理结果进行关联操作。
5.根据权利要求4所述的方法,其特征在于,所述获取所述第三流聚合指令指示的第四消息队列的第四消息,包括:
为获取到的每批次的第四消息分配批次标识;
确定该批次的第四消息所处的时间区间,并建立该时间区间与该批次的批次标识的映射关系;
所述基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理,包括:
确定所述目标时间区间对应的批次标识,并依据该批次标识重新获取第四消息;
将所述第四消息分配至所述目标时间区间;
基于所述第四流聚合指令对多数目标时间区间内的第四消息进行流聚合处理。
6.一种流聚合装置,其特征在于,包括:
处理单元,用于响应于接收到的第一流聚合指令,获取所述第一流聚合指令指示的第一消息队列的第一消息和第二消息队列的第二消息,并依时序分别对所述第一消息和所述第二消息进行流聚合处理;
检查单元,用于检查对所述第一消息和所述第二消息的处理时差是否达到预设的时差阈值;其中,所述处理时差为处理中的第一消息携带的事件时间与第二消息携带的事件时间的差值;
调整单元,用于若是,向处理速度慢的消息队列新增用于流聚合处理的线程,或者,减少用于对处理速度快的消息队列进行流聚合处理的线程;
关联单元,用于对所述第一消息的处理结果和所述第二消息的处理结果进行关联操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
确定单元,用于响应于接收到的第二流聚合指令,确定所述第二流聚合指令中至少两个流聚合时间段的先后顺序;
所述处理单元,进一步用于获取所述第二流聚合指令指示的第三消息队列的第三消息,依时序对所述第三消息进行流聚合处理;
所述检查单元,用于确定当前处理的流聚合时间段是否为所述第二流聚合指令中最后的流聚合时间段;
所述关联单元,进一步用于如果是,将本次流聚合处理得到的处理结果与预保存的历史处理结果进行关联操作。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
保存单元,用于如果否,将本次流聚合处理得到的处理结果作为历史处理结果,并保存所述历史处理结果。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
所述处理单元,进一步用于响应于接收到的第三流聚合指令,获取所述第三流聚合指令指示的第四消息队列的第四消息,并依时序对所述第四消息进行流聚合处理;
确定单元,用于确定满足预设的消息筛选策略的处理结果对应的时间区间,将该时间区间作为目标时间区间;其中,所述时间区间基于所述第三流聚合指令中的流聚合起始时间、流聚合结束时间和时间窗口来确定;
所述处理单元,进一步用于基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理;
所述关联单元,进一步用于对基于所述第三流聚合指令得到的处理结果和基于所述第四流聚合指令得到的处理结果进行关联操作。
10.根据权利要求9所述的装置,其特征在于,在获取所述第三流聚合指令指示的第四消息队列的第四消息时,所述处理单元,进一步用于:
为获取到的每批次的第四消息分配批次标识;
确定该批次的第四消息所处的时间区间,并建立该时间区间与该批次的批次标识的映射关系;
在基于所述消息筛选策略中的第四流聚合指令对所述目标时间区间内的第四消息进行流聚合处理时,所述处理单元,进一步用于:
确定所述目标时间区间对应的批次标识,并依据该批次标识重新获取第四消息;
将所述第四消息分配至所述目标时间区间;
基于所述第四流聚合指令对多数目标时间区间内的第四消息进行流聚合处理。
11.一种电子设备,其特征在于,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的机器可执行指令,其中,所述机器可执行指令被处理器执行时实现权利要求1-5任一所述的流聚合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910073375.3A CN111488222B (zh) | 2019-01-25 | 2019-01-25 | 一种流聚合方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910073375.3A CN111488222B (zh) | 2019-01-25 | 2019-01-25 | 一种流聚合方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488222A CN111488222A (zh) | 2020-08-04 |
CN111488222B true CN111488222B (zh) | 2023-04-07 |
Family
ID=71812190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910073375.3A Active CN111488222B (zh) | 2019-01-25 | 2019-01-25 | 一种流聚合方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488222B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230070608A1 (en) * | 2021-09-08 | 2023-03-09 | Thales Avionics, Inc. | Real-time cybersecurity monitoring of inflight entertainment systems |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201301068D0 (en) * | 2013-01-22 | 2013-03-06 | Ibm | Synchronous conferencing with aggregation of messages |
CN106465439A (zh) * | 2015-01-30 | 2017-02-22 | 华为技术有限公司 | 多流聚合方法、装置及系统 |
CN107613025A (zh) * | 2017-10-31 | 2018-01-19 | 武汉光迅科技股份有限公司 | 一种基于消息队列顺序回复的实现方法和装置 |
CN107766413A (zh) * | 2017-09-05 | 2018-03-06 | 珠海宇能云企科技有限公司 | 一种实时数据流聚合查询的实现方法 |
CN108196794A (zh) * | 2017-12-29 | 2018-06-22 | 华为技术有限公司 | 一种消息处理方法、装置及系统 |
CN109032530A (zh) * | 2018-08-21 | 2018-12-18 | 成都华为技术有限公司 | 一种数据流处理方法及设备 |
CN109254982A (zh) * | 2018-08-31 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890955B2 (en) * | 2006-04-03 | 2011-02-15 | Microsoft Corporation | Policy based message aggregation framework |
US20130339473A1 (en) * | 2012-06-15 | 2013-12-19 | Zynga Inc. | Real time analytics via stream processing |
US9747175B2 (en) * | 2015-09-30 | 2017-08-29 | Bank Of America Corporation | System for aggregation and transformation of real-time data |
-
2019
- 2019-01-25 CN CN201910073375.3A patent/CN111488222B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201301068D0 (en) * | 2013-01-22 | 2013-03-06 | Ibm | Synchronous conferencing with aggregation of messages |
CN106465439A (zh) * | 2015-01-30 | 2017-02-22 | 华为技术有限公司 | 多流聚合方法、装置及系统 |
CN107766413A (zh) * | 2017-09-05 | 2018-03-06 | 珠海宇能云企科技有限公司 | 一种实时数据流聚合查询的实现方法 |
CN107613025A (zh) * | 2017-10-31 | 2018-01-19 | 武汉光迅科技股份有限公司 | 一种基于消息队列顺序回复的实现方法和装置 |
CN108196794A (zh) * | 2017-12-29 | 2018-06-22 | 华为技术有限公司 | 一种消息处理方法、装置及系统 |
CN109032530A (zh) * | 2018-08-21 | 2018-12-18 | 成都华为技术有限公司 | 一种数据流处理方法及设备 |
CN109254982A (zh) * | 2018-08-31 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111488222A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934868B2 (en) | Systems and methods for scheduling tasks | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
US9929970B1 (en) | Efficient resource tracking | |
CN107241380B (zh) | 用于基于时间调整的负载均衡的方法和设备 | |
CN109152061B (zh) | 通道调配方法、装置、服务器及存储介质 | |
US20170185454A1 (en) | Method and Electronic Device for Determining Resource Consumption of Task | |
US8725873B1 (en) | Multi-server round robin arbiter | |
CN109981702B (zh) | 一种文件存储方法及系统 | |
US9900403B2 (en) | Method and server for assigning relative order to message by using vector clock and delivering the message based on the assigned relative order under distributed environment | |
CN105791254A (zh) | 网络请求处理方法、装置及终端 | |
CN113885945A (zh) | 一种计算加速方法、设备以及介质 | |
CN112433881A (zh) | 一种分布式存储系统的数据恢复方法和装置 | |
CN111488222B (zh) | 一种流聚合方法、装置及电子设备 | |
CN116627333A (zh) | 日志缓存方法、装置、电子设备及计算机可读存储介质 | |
CN109271193B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN113157465B (zh) | 基于指针链表的消息发送方法及装置 | |
WO2019109902A1 (zh) | 队列调度方法及装置、通信设备、存储介质 | |
CN112799824A (zh) | 一种限流方法、装置、设备和存储介质 | |
CN108023938B (zh) | 一种消息发送方法及服务器 | |
US8510426B2 (en) | Communication and coordination between web services in a cloud-based computing environment | |
CN108712494A (zh) | 处理异步消息的方法、装置及设备 | |
US11321135B2 (en) | Rate limiting compliance assessments with multi-layer fair share scheduling | |
US20200301732A1 (en) | Information processing system and non-transitory computer readable medium storing program | |
CN114138371B (zh) | 配置动态加载方法、装置及计算机设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |