一种实时数据处理方法及装置制造方法及图纸

技术编号:22308215 阅读:20 留言:0更新日期:2019-10-16 08:19
本发明专利技术实施例公开了一种实时数据处理方法及装置,所述方法包括:根据预设规则将第一数据分组分为N组子数据分组;获取第一数据分组的聚合结果和每个子数据分组的聚合结果;根据所述第一数据分组的聚合结果和每个子数据分组的聚合结果计算第二数据分组的聚合结果。本发明专利技术公开的技术方案可有效解决Flink在巨大滑动窗口下聚合性能过差的问题。

A real-time data processing method and device

【技术实现步骤摘要】
一种实时数据处理方法及装置
本专利技术涉及数据处理
,具体涉及一种实时数据处理方法及装置。
技术介绍
随着互联网的蓬勃发展,企业对业务的实时性要求越来越高,流处理的概念应运而生,开源社区也陆续给出了相应的解决方案。ApacheFlink是一个流处理引擎,有如下特性:支持任务管理,允许下发,中止统计任务,真正的流处理,数据不必落盘,纯内存计算,秒或毫秒级别的实时性,支持基于窗口的统计,支持使用SQL语法自定义统计逻辑,支持集群化部署,Flink已经成为了开源社区里最成熟的实时流处理方案;但Flink并非没有缺点:Flink对巨大滑动窗口的聚合性能很差,Flink并没有明显地区分滚动窗口和滑动窗口,其聚合操作对每个窗口来说是独立的,假设某个统计任务需要每1秒计算一次1小时内所有元素的总数,那么Flink需要同时维护3600个窗口,并且每秒计算一次最旧的窗口中的元素个数,由此带来的空间和时间的开销非常大。
技术实现思路
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。根据本申请的第一个方面,提供了一种实时数据处理方法,其特征在于,包括:根据预设规则将第一数据分组分为N组子数据分组;获取第一数据分组的聚合结果和每个子数据分组的聚合结果;根据所述第一数据分组的聚合结果和每个子数据分组的聚合结果计算第二数据分组的聚合结果。由于现有技术中的数据的统计任务之间是互相隔离的,无法在任务间共享计算结果,也无法避免任务间的冗余计算。本专利技术使用滑动增量聚合的方式避免聚合滑动窗口带来的额外开销,解决Flink在巨大滑动窗口下聚合性能过差的问题。根据本申请的第二个方面,还提供了一种实时数据处理装置,其特征在于,包括:划分模块,用于根据预设规则将第一数据分组分为N组子数据分组;获取模块,用于获取第一数据分组的聚合结果和每个子数据分组的聚合结果;计算模块,用于根据所述第一数据分组的聚合结果和每个子数据分组的聚合结果计算第二数据分组的聚合结果。由于现有技术中的数据的统计任务之间是互相隔离的,无法在任务间共享计算结果,也无法避免任务间的冗余计算。本专利技术使用滑动增量聚合的方式避免聚合滑动窗口带来的额外开销,解决Flink在巨大滑动窗口下聚合性能过差的问题。根据本申请的第三个方面,还提供了一种计算机设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的方法。根据本申请的第四个方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序指令,所述计算机程序指令用于执行如上所述的方法。与现有技术相比,本专利技术实施例具有以下优点:本专利技术实施例公开了一种实时数据处理方法及装置,在进行数据计算时,通过相关算法使数据计算时聚合能力强,提高了数据计算的效率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解的是,这些附图未必是按比例绘制的。在附图中:图1为本专利技术实施例中公开的一种实时数据处理方法的流程示意图;图2为本专利技术实施例中公开的一种实时数据处理装置结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面进一步对本申请所提供的一种实时数据处理方法及装置进行介绍。请参考图1,图1为本专利技术实施例中公开的一种实时数据处理方法的流程示意图,如图1所示,该实时数据处理方法包括如下步骤。步骤S01,根据预设规则将第一数据分组分为N组子数据分组;需要说明的是,需要说明的是,第一数据分组可以为单位时间内网站的访问数量,单位时间内景点人流量等等,在本专利技术实施例中,第一数据分组可以为实时数据处理中的滑动窗口,然后将滑动窗口根据预设规则分为多个子窗口,不限于此,只要需要进行数据统计分析的场景本专利技术实施例都适用。当需要进行数据统计任务时,可以将待统计的任务按照预设规则进行划分,如可以按照时间步长,或者用户的访问数目,可以每一小时统计一次,或者用户的访问数量到达一定时进行统计。统计完数据后,按照特定的要求将数据划分为N组自数据组,N为大于1的自然数,且N组数据之间互不重叠,且均等。步骤S02,获取第一数据分组的聚合结果和每个子数据分组的聚合结果;需要说明的是,根据步骤S01将获得数据划分为多个数据分组后,根据算法对多个子数据分组进行聚合计算,将多个子数据分组的聚合结果形成新数据分组,通过第二算法对新数据分组进行聚合计算,获得第一数据分组的聚合结果。其中,第一算法与第二算法可以相同或者不同,可以为如下任意一种算法或多种算法组合,如COUNT(计数),SUM(求和),AVG(平均数),MAX/MIN(最大/最小值),VAR(方差),STDEV(标准差)。另外第一算法和第二算法也可以进行组合使用能够达到计数算法,求和算法,求平均数算法,求最大/最小值算法等价的结果,第一算法和第二算法本身可能不是标准的聚合算法中的任意一种。步骤S03,根据所述第一数据分组的聚合结果和每个子数据分组的聚合结果计算第二数据分组的聚合结果,获得每个子数据分组的聚合结果,需要说明的是,通过步骤S02获得的第一数据分组的聚合结果和每个子数据分组的聚合结果对第二数据分组进行计算,第二数据分组是与第一数据分组有相互重合的部分。另外,在进行聚合计算时,上述第一数据分组与上述第二数据分组相差一个或多组子数据分组,首先,获得上述第一新数据分组的聚合结果和上述第一数据分组与上述第一数据分组与所述第二数据分组相差一个或多组子数据分组的聚合结果;然后通过第三算法利用上述第一新数据分组的聚合结果和一个或多组子数据分组的聚合结果计算上述第二数据分组的聚合结果,在计算的过程中,如果第二数据分组的数据包含在第一数据分组中,则只要通过上述第一数据分组与上述第一数据分组与所述第二数据分组相差一个或多组子数据分组的聚合结果就可得到第二数据分组;如果第二数据分组的数据除了包含第一数据分组的部分数据,还包括其它数据,则需要通过进一步按照本专利技术实施例的计算方法计算第二数据分组的每个子数据分组的聚合结果,从本文档来自技高网
...

【技术保护点】
1.一种实时数据处理方法,其特征在于,包括:根据预设规则将第一数据分组分为N组子数据分组;获取第一数据分组的聚合结果和每个子数据分组的聚合结果;根据所述第一数据分组的聚合结果和每个子数据分组的聚合结果计算第二数据分组的聚合结果。

【技术特征摘要】
1.一种实时数据处理方法,其特征在于,包括:根据预设规则将第一数据分组分为N组子数据分组;获取第一数据分组的聚合结果和每个子数据分组的聚合结果;根据所述第一数据分组的聚合结果和每个子数据分组的聚合结果计算第二数据分组的聚合结果。2.如权利要求1所述的一种实时数据处理方法,其特征在于,所述根据预设规则将第一数据分组分为N组子数据分组,包括:根据时间步长将第一数据分组分为互不重叠且均等的N组子数据分组。3.如权利要求1所述的一种实时数据处理方法,其特征在于,所述获取第一数据分组的聚合结果和每个子数据分组的聚合结果,包括:通过第一算法分别获得N组子数据分组的聚合结果,将N组子数据分组的聚合结果组成第一新数据分组;通过第二算法获得所述第一新数据分组的聚合结果;其中,所述第一新数据分组的聚合结果与所述第一数据分组的聚合结果一致。4.如权利要求3所述的一种实时数据处理方法,其特征在于,所述根据所述第一数据分组的聚合结果和每个子数据分组的聚合结果计算第二数据分组的聚合结果,包括:根据第一算法对所述N组子数据分别进行计算,获取多个相邻子数据分组的聚合结果;根据所述第一数据分组的聚合结果和多个相邻子数据的聚合结果计算第二数据分组的聚合结果。5.如权利要求3所述的一种实时数据处理方法,其特征在于,所述第一算法和所述第二算法相同或不同。6.如权利要求3所述的一种实时数据处理方法,其特征在于,所述第一算法和所...

【专利技术属性】
技术研发人员:张盛宇刘超刘金钊姚战伟李昌志张嘉欢
申请(专利权)人:北京脉冲星科技有限公司
类型:发明
国别省市:北京,11

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

1