一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流式计算中的数据聚合方法、装置、设备及介质与流程

2022-05-11 15:42:54 来源:中国专利 TAG:


1.本技术涉及物联网领域,特别涉及一种流式计算中的数据聚合方法、装置、设备及介质。


背景技术:

2.流式计算是在数据不断变化的过程中实时地进行分析,捕捉到可能有用的信息,并生成计算结果。在物联网领域,使用流式计算解决分布式能源系统实时监控、计算的问题。
3.相关技术中,首先计算机设备会先基于时间划分出互不重叠的滚动窗口,而传感器会实时采集输入数据,并将输入数据上送到计算机设备中,由计算机设备对在同一滚动窗口内接收到的输入数据进行计算。
4.但是,由于输入数据从采集再到上送,中间存在时间差,使得部分输入数据无法准时到达计算机设备中,导致相关技术的聚合结果与实际存在偏差。


技术实现要素:

5.本技术实施例提供了一种流式计算中的数据聚合方法、装置、设备及介质,该方法可以将延迟物联网数据合并到第一聚合数据中,避免遗漏物联网数据,使得计算得到的第一聚合数据更加准确。所述技术方案如下:
6.根据本技术的一个方面,提供了一种流式计算中的数据聚合方法,该方法包括:
7.聚合计算在第一滚动窗口内接收到的物联网数据,得到第一聚合数据,所述第一滚动窗口的起始时刻是第一时刻,所述第一滚动窗口的结束时刻是第二时刻;
8.在所述第二时刻之后的第三时刻接收延迟物联网数据,所述延迟物联网数据的事件时间戳在所述第一滚动窗口内;
9.在所述第三时刻位于以所述第二时刻为起点的延迟容忍窗内的情况下,将所述延迟物联网数据合并到所述第一聚合数据中,所述延迟容忍窗的时间长度是预设容忍时长。
10.根据本技术的另一个方面,提供了一种流式计算中的数据聚合装置,该装置包括:
11.计算模块,用于聚合计算在第一滚动窗口内接收到的物联网数据,得到第一聚合数据,所述第一滚动窗口的起始时刻是第一时刻,所述第一滚动窗口的结束时刻是第二时刻;
12.接收模块,用于在所述第二时刻之后的第三时刻接收延迟物联网数据,所述延迟物联网数据的事件时间戳在所述第一滚动窗口内;
13.所述计算模块,还用于在所述第三时刻位于以所述第二时刻为起点的延迟容忍窗内的情况下,将所述延迟物联网数据合并到所述第一聚合数据中,所述延迟容忍窗的时间长度是预设容忍时长。
14.在本技术的一个可选设计中,所述计算模块,还用于在所述第三时刻位于以所述第二时刻为起点的所述延迟容忍窗内的情况下,对所述延迟物联网数据进行筛选,得到筛
选后的延迟物联网数据;将所述筛选后的延迟物联网数据合并到所述第一聚合数据中。
15.在本技术的一个可选设计中,所述计算模块,还用于将满足数据取值范围的所述延迟物联网数据确定为所述筛选后的延迟物联网数据。
16.在本技术的一个可选设计中,所述计算模块,还用于响应于在所述第一滚动窗口内的第四时刻接收到所述物联网数据,将所述物联网数据合并到预聚合数据中,得到所述第一聚合数据,所述预聚合数据是聚合计算所述第一时刻至所述第四时刻内的所述物联网数据得到的;或,在所述第一滚动窗口内,每隔预设时长,聚合计算在所述第一滚动窗口内接收到的所述物联网数据,得到所述第一聚合数据。
17.在本技术的一个可选设计中,聚合计算的方式包括如下的至少一种:矢量平均、求和、计数、求平均值、求最大值、求最小值、求标准差、求第一个值、求最后一个值。
18.在本技术的一个可选设计中,所述计算模块,还用于在所述第一聚合数据是所述物联网数据的矢量平均的情况下,计算所述第一聚合数据和所述延迟物联网数据的矢量平均;或,在所述第一聚合数据是所述物联网数据的和值的情况下,计算所述第一聚合数据和所述延迟物联网数据的和;或,在所述第一聚合数据是所述物联网数据的时间戳序列的情况下,根据所述延迟物联网数据的事件时间戳,计算所述第一聚合数据和所述延迟物联网数据的计数;或,在所述第一聚合数据是所述物联网数据的时间戳序列的情况下,根据所述延迟物联网数据的事件时间戳,计算所述第一聚合数据和所述延迟物联网数据的第一个值或最后一个值;或,在所述第一聚合数据是所述物联网数据的最大值的情况下,获取所述延迟物联网数据和所述第一聚合数据中的最大值;或,在所述第一聚合数据是所述物联网数据的最小值的情况下,获取所述延迟物联网数据和所述第一聚合数据中的最小值;或,在所述第一聚合数据是所述物联网数据的平均值的情况下,计算所述第一聚合数据和所述延迟物联网数据的平均值。
19.在本技术的一个可选设计中,所述计算模块,还用于确定第二滚动窗口对应的第二聚合数据,所述第一滚动窗口和所述第二滚动窗口具有相同的时间长度;聚合计算所述第一聚合数据和所述第二聚合数据,得到级联聚合数据。
20.根据本技术的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上方面所述的流式计算中的数据聚合方法。
21.根据本技术的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上方面所述的流式计算中的数据聚合方法。
22.根据本技术的另一方面,提供了一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面所述的流式计算中的数据聚合方法。
23.本技术实施例提供的技术方案带来的有益效果至少包括:
24.在计算第一滚动窗口内的物联网数据的聚合数据时,会将延迟容忍窗内到达的延迟物联网数据也合并到第一聚合数据中,避免一些迟到的物联网数据无法参与聚合计算,
使得第一聚合数据更加准确,更加符合实际情况。
附图说明
25.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是本技术一个示例性实施例提供的计算机系统的结构示意图;
27.图2是本技术一个示例性实施例提供的流式计算中的数据聚合方法的流程示意图;
28.图3是本技术一个示例性实施例提供的滚动窗口的示意图;
29.图4是本技术一个示例性实施例提供的流式计算中的数据聚合方法的流程示意图;
30.图5是本技术一个示例性实施例提供的流式计算中的数据聚合方法的界面示意图;
31.图6是本技术一个示例性实施例提供的物联网数据示意图;
32.图7是本技术一个示例性实施例提供的流式计算中的数据聚合装置的结构示意图;
33.图8是本技术一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
34.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
35.首先,对本技术实施例中涉及的名词进行介绍:
36.滚动窗口(tumble):指根据固定时间长度划分出的窗口,例如,指定一个5分钟长的滚动窗口,则根据时间划分成[0:00-0:05)、[0:05,0:10)、[0:10,0:15)。
[0037]
iot(internet of things,物联网):是互联网基础上的延伸和扩展的网络,将各种信息传感设备与网络结合起来而形成的一个巨大网络。物联网还是通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。
[0038]
图1示出了本技术一个示例性实施例提供的计算机系统的结构示意图。计算机系统100包括:终端120和服务器140。
[0039]
终端120上运行有与数据聚合相关的应用程序。该应用程序可以是app(application,应用程序)中的小程序,也可以是专门的应用程序,也可以是网页客户端。示例性的,用户在终端120上进行与数据聚合有关的操作,例如,终端120接收到物联网数据后,聚合计算物联网数据得到聚合数据。终端120是智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。
[0040]
终端120通过无线网络或有线网络与服务器140相连。
[0041]
服务器140可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器140用于为数据聚合的应用程序提供后台服务,并将数据聚合的结果发送到终端120上。可选地,服务器140承担主要计算工作,终端120承担次要计算工作;或者,服务器140承担次要计算工作,终端120承担主要计算工作;或者,服务器140和终端120两者采用分布式计算架构进行协同计算。
[0042]
图2示出了本技术一个示例性实施例提供的流式计算中的数据聚合方法的流程示意图。该方法可由图1所示的终端120或终端120上的应用程序或服务器160,该方法包括以下步骤:
[0043]
步骤202:聚合计算在第一滚动窗口内接收到的物联网数据,得到第一聚合数据,第一滚动窗口的起始时刻是第一时刻,第一滚动窗口的结束时刻是第二时刻
[0044]
第一滚动窗口的窗口长度可由技术人员自行设置,例如,将第一滚动窗口的窗口长度设置为10分钟。
[0045]
可选地,第一滚动窗口是任意时间段的滚动窗口。示例性的,第一滚动窗口是一天内9:00~10:00中的任意一个滚动窗口。
[0046]
由于第一时刻和第二时刻分别是第一滚动窗口的起始时刻和结束时刻,故第二时刻和第一时刻的差值为第一滚动时间窗口的长度。
[0047]
在本技术实施例中,第一滚动窗口是开区间、闭区间、左开右闭区间和左开右闭区间中的至少一种。示例性的,如图3所示,t1表示第一时刻,t2表示第二时刻,则[t1,t2)表示第一滚动窗口,在第一滚动窗口内接收物联网数据301。
[0048]
可选地,聚合计算的方式包括如下的至少一种:矢量平均、求和、计数、求平均值、求最大值、求最小值、求标准差、求第一个值、求最后一个值。
[0049]
示例性的,矢量平均的计算过程如下:
[0050][0051]
其中,pi表示圆周率,xn表示第n个物联网数据,n表示物联网数据的总数,sum表示求和操作,arctan表示反正切函数,sin表示正弦函数,cos表示余弦函数。由于矢量平均为非负数,而计算得到的v
avg
(x)

可能会出现负数的情况,故需要通过角度变换将v
avg
(x)

转换为非负数的矢量平均v
avg
(x),换言之,若v
avg
(x)

《0,则v
avg
(x)=v
avg
(x)

360;若v
avg
(x)

》=0,v
avg
(x)=v
avg
(x)


[0052]
步骤204:在第二时刻之后的第三时刻接收延迟物联网数据,延迟物联网数据的事件时间戳在第一滚动窗口内。
[0053]
延迟物联网数据指事件时间戳在第一滚动窗口内,但在第二时刻之后接收到的物联网数据。例如,第一滚动窗口是[10:00,20:00),物联网数据的事件时间戳是15:00,而接
收到该物联网数据的时间是25:00,在第一滚动窗口之后,所以该物联网数据是延迟物联网数据。
[0054]
延迟物联网数据的事件时间戳用于表示产生延迟物联网数据的时间戳。
[0055]
步骤206:在第三时刻位于以第二时刻为起点的延迟容忍窗内的情况下,将延迟物联网数据合并到第一聚合数据中,延迟容忍窗的时间长度是预设容忍时长。
[0056]
延迟容忍窗是以第二时刻为起点的,用于接收延迟物联网数据的窗口。
[0057]
预设容忍时长可由技术人员自行设置。示例性的,将预设容忍时长设置为10分钟。
[0058]
示例性的,如图3所示,t2和t3组成了延迟容忍窗的两个端点,在t2和t3之间接收到延迟物联网数据302后,将延迟物联网数据合并到第一聚合数据。
[0059]
综上所述,本实施例在计算第一滚动窗口内的物联网数据的聚合数据时,会将延迟容忍窗内到达的延迟物联网数据也合并到第一聚合数据中,避免一些迟到的物联网数据无法参与聚合计算,使得第一聚合数据更加准确,更加符合实际情况。
[0060]
在接下来的实施例中,为流式计算提供了多种触发输出聚合数据的策略,便于技术人员根据实际情况来选取需要的触发策略。而且,还对接收到的物联网数据进行筛选,选出符合要求的物联网数据,使得聚合计算结果更准确。
[0061]
图4示出了本技术一个实施例提供的流式计算中的数据聚合方法的流程示意图。该方法可由图1所示的终端120或终端120上的应用程序或服务器160,该方法包括以下步骤:
[0062]
步骤401:聚合计算在第一滚动窗口内接收到的物联网数据,得到第一聚合数据。
[0063]
第一聚合数据用于表示事件时间戳在第一滚动窗口内的物联网数据的聚合结果。可选地,聚合计算的方式包括如下的至少一种:矢量平均、求和、计数、求平均值、求最大值、求最小值、求标准差、求第一个值、求最后一个值。
[0064]
在本技术的一个可选实施方式中,响应于在第一滚动窗口内的第四时刻接收到物联网数据,将物联网数据合并到预聚合数据中,得到第一聚合数据。
[0065]
其中,第四时刻是位于第一时刻和第二时刻之间的时刻,预聚合数据是聚合计算第一时刻至第四时刻内的物联网数据得到的。
[0066]
可选地,在得到预聚合数据后,输出并显示预聚合数据。
[0067]
在本技术的一个可选实施方式中,在第一滚动窗口内,每隔预设时长,聚合计算在第一滚动窗口内接收到的物联网数据,得到第一聚合数据。
[0068]
其中,预设时长由技术人员自行设置,例如,预设时长为2分钟。
[0069]
示例性的,用户可以自行设置第一滚动窗口的参数,如图5所示,图5示出了第一滚动窗口的设置界面,该包括第一滚动窗口501和第一滚动窗口502,该界面可以显示更多或更少的第一滚动窗口。以第一滚动窗口502为例进行说明,用户可以在文本框503中设置第一滚动窗口502的输入。文本框504用于输入第一滚动窗口502的尺寸。文本框505用于输入第一滚动窗口502的单位,示例性的,单位包括hour(小时)、minute(分钟)、day(天)和month(月)中的至少一种。文本框506用于输入第一滚动窗口502处理物联网数据的方法,示例性的,前述的方法包括sum(求和)、count(计数)、avg(求平均值)、max(求最大值)、min(求最小值)、first(求第一个值)、last(求最后一个值)和v-avg(求矢量平均)。文本框507用于设置第一滚动窗口502的输出。
[0070]
步骤402:在第二时刻之后的第三时刻接收延迟物联网数据。
[0071]
延迟物联网数据指事件时间戳在第一滚动窗口内,但在第二时刻之后接收到的物联网数据。例如,第一滚动窗口是[10:00,20:00),物联网数据的事件时间戳是15:00,而接收到该物联网数据的时间是25:00,在第一滚动窗口之后,所以该物联网数据是延迟物联网数据。
[0072]
延迟物联网数据的事件时间戳用于表示产生延迟物联网数据的时间戳。
[0073]
步骤403:在第三时刻位于以第二时刻为起点的延迟容忍窗内的情况下,对延迟物联网数据进行筛选,得到筛选后的延迟物联网数据。
[0074]
在本技术的一种可选实现方式中,将满足数据取值范围的延迟物联网数据确定为筛选后的延迟物联网数据。
[0075]
示例性的,将数据取值范围设置为[3,5],若延迟物联网数据属于[3,5],认为该延迟物联网数据是正常数据,保留该延迟物联网数据;若延迟物联网数据不属于[3,5],认为该延迟物联网数据是异常数据,去除该延迟物联网数据。
[0076]
步骤404:将筛选后的延迟物联网数据合并到第一聚合数据中。
[0077]
在第一聚合数据是物联网数据的矢量平均的情况下,计算第一聚合数据和延迟物联网数据的矢量平均。
[0078]
在第一聚合数据是物联网数据的和值的情况下,计算第一聚合数据和延迟物联网数据的和。
[0079]
在第一聚合数据是物联网数据的时间戳序列的情况下,根据延迟物联网数据的事件时间戳,计算第一聚合数据和延迟物联网数据的计数。
[0080]
在第一聚合数据是物联网数据的时间戳序列的情况下,根据延迟物联网数据的事件时间戳,计算第一聚合数据和延迟物联网数据的第一个值或最后一个值。
[0081]
在第一聚合数据是物联网数据的最大值的情况下,获取延迟物联网数据和第一聚合数据中的最大值。
[0082]
在第一聚合数据是物联网数据的最小值的情况下,获取延迟物联网数据和第一聚合数据中的最小值。
[0083]
在第一聚合数据是物联网数据的平均值的情况下,计算第一聚合数据和延迟物联网数据的平均值。
[0084]
可选地,在第一滚动窗口内,每隔预设时长,聚合计算在第一滚动窗口内接收到的物联网数据,得到第一聚合数据;显示第一聚合数据和第一输出标识。第一输出标识用于表示第一聚合数据是每隔预设时长,根据第一滚动窗口内接收到的物联网数据聚合计算得到的。示例性的,在第一滚动窗口内每隔两分钟计算得到第一聚合数据,并显示第一输出标识为“early”。
[0085]
可选地,在第一滚动窗口的第二时刻,聚合计算在从第一时刻到第二时刻内接收到的全部物联网数据,得到第一聚合数据;显示第一聚合数据和第二输出标识,第二输出标识用于表示第一聚合数据是根据第一滚动窗口内实时接收到的物联网数据聚合计算得到的。示例性的,在第一滚动窗口内接收到5个物联网数据,那么在第二时刻,会聚合计算接收到的5个物联网数据,得到第一聚合数据,并显示第二输出标识为“on-time”。
[0086]
可选地,响应于在第一滚动窗口内的第四时刻接收到物联网数据,将物联网数据
合并到预聚合数据中;显示合并后的第一聚合数据和第三输出标识,第三输出标识用于表示预聚合数据是根据第一滚动窗口和延迟容忍窗内接收到的实时物联网数据聚合计算得到的。示例性的,在延迟容忍窗内接收到物联网数据b,将物联网数据b合并到预聚合数据中,显示合并后的预聚合数据和第三输出标识,第三输出标识记为“late-time”。
[0087]
可选地,在延迟容忍窗结束后,再次聚合计算第一滚动窗口内接收到的物联网数据和延迟物联网数据,得到最终聚合数据;显示最终聚合数据和第四输出标识,第四输出标识用于表示最终聚合数据是根据第一滚动窗口和延迟容忍窗内接收到的所有物联网数据聚合计算得到的。示例性的,在延迟容忍窗结束后,再次聚合计算第一滚动窗口内接收到的物联网数据c和延迟物联网数据d,得到最终聚合数据,显示最终聚合数据和第四输出标识,第四输出标识记为“final”。
[0088]
示例性的,将第一滚动窗口设置为[00:10:00,00:20:00),表1示出了延迟物联网数据的处理示意表:
[0089]
表1延迟物联网数据的处理示意表
[0090]
接收时间事件时间输入数值输出时间戳输出(sum)输出标识00:10:1000:10:00100:10:001early00:15:1000:15:00200:10:003early00:20:1000:20:00300:10:003on-time00:22:1000:13:00400:10:007late-time00:25:1000:25:00500:10:007final
[0091]
示例性的,图6示出了与表1相对应的延迟物联网数据的示意图。其中,第一滚动窗口是[10:00,20:00),物联网数据601的事件时间是00:10:00,接收时间是00:10:00,输出标识是第一输出标识early;物联网数据602的事件时间是00:15:00,接收时间是00:15:10,输出标识是第一输出标识early;物联网数据603的事件时间是00:20:00,接收时间是00:20:00,输出标识是第二输出标识on-time,但是由于物联网数据的事件时间并不在第一滚动窗口中,因此物联网数据不会参与聚合计算;物联网数据604的事件时间是00:13:00,接收时间是00:22:10,由于物联网数据604是在延迟容忍窗中接收到的,故输出标识是第三输出标识late-time;物联网数据605的事件时间是00:25:00,接收时间是00:25:10,由于接收到物联网数据605时,延迟容忍窗已经结束且物联网数据605不属于第一滚动窗口,输出标识是第四输出标识final。
[0092]
步骤405:确定第二滚动窗口对应的第二聚合数据。
[0093]
第二滚动窗口和第一滚动窗口是不同的滚动窗口,第二滚动窗口和第一滚动窗口不存在重合,第一滚动窗口和第二滚动窗口具有相同的时间长度。
[0094]
步骤406:聚合计算第一聚合数据和第二聚合数据,得到级联聚合数据。
[0095]
级联聚合数据用于表示聚合至少两个聚合数据得到的聚合结果。
[0096]
可选地,聚合n个聚合数据,得到级联聚合数据,n为正整数。
[0097]
可选地,聚合计算m个级联聚合数据,得到上级级联聚合数据。
[0098]
示例性的,假设滚动窗口的时间长度为10秒,首先有[00:00:00,00:00:10)、[00:00:10,00:00:20)、[00:00:20,00:00:30)、[00:00:30,00:00:40)、[00:00:40,00:00:50)、[00:00:50,00:01:00)这六个滚动窗口,分别聚合这六个滚动窗口对应的物联网数据和延
迟物联网数据得到六个聚合数据,聚合这六个聚合数据得到级联聚合数据,而级联聚合数据相当于聚合计算滚动窗口[00:00:00,00:01:00)对应的物联网数据和延迟物联网数据得到聚合结果。在此基础上,还可以得到滚动窗口[00:01:00,00:02:00)对应的第二级联聚合数据、滚动窗口[00:02:00,00:03:00)对应的第三级联聚合数据、

、滚动窗口[00:09:00,00:10:00)对应的第十级联聚合数据,聚合计算上述第一至第十级联聚合数据,得到滚动窗口[00:00:00,00:10:00)对应的聚合数据。
[0099]
需要说明的是,步骤405和步骤406是可选步骤,在具体实现过程中,可以执行步骤405和步骤406,也可以不执行步骤405和步骤406。
[0100]
综上所述,本实施例在计算第一滚动窗口内的物联网数据的聚合数据时,会将延迟容忍窗内到达的延迟物联网数据也合并到第一聚合数据中,避免一些迟到的物联网数据无法参与聚合计算,使得第一聚合数据更加准确,更加符合实际情况。
[0101]
下面为本技术的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
[0102]
图7示出了本技术的一个示例性实施例提供的流式计算中的数据聚合装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分,该装置700包括:
[0103]
计算模块702,用于聚合计算在第一滚动窗口内接收到的物联网数据,得到第一聚合数据,所述第一滚动窗口的起始时刻是第一时刻,所述第一滚动窗口的结束时刻是第二时刻;
[0104]
接收模块701,用于在所述第二时刻之后的第三时刻接收延迟物联网数据,所述延迟物联网数据的事件时间戳在所述第一滚动窗口内;
[0105]
所述计算模块702,还用于在所述第三时刻位于以所述第二时刻为起点的延迟容忍窗内的情况下,将所述延迟物联网数据合并到所述第一聚合数据中,所述延迟容忍窗的时间长度是预设容忍时长。
[0106]
在本技术的一个可选设计中,所述计算模块702,还用于在所述第三时刻位于以所述第二时刻为起点的所述延迟容忍窗内的情况下,对所述延迟物联网数据进行筛选,得到筛选后的延迟物联网数据;将所述筛选后的延迟物联网数据合并到所述第一聚合数据中。
[0107]
在本技术的一个可选设计中,所述计算模块702,还用于将满足数据取值范围的所述延迟物联网数据确定为所述筛选后的延迟物联网数据。
[0108]
在本技术的一个可选设计中,所述计算模块702,还用于响应于在所述第一滚动窗口内的第四时刻接收到所述物联网数据,将所述物联网数据合并到预聚合数据中,得到所述第一聚合数据,所述预聚合数据是聚合计算所述第一时刻至所述第四时刻内的所述物联网数据得到的;或,在所述第一滚动窗口内,每隔预设时长,聚合计算在所述第一滚动窗口内接收到的所述物联网数据,得到所述第一聚合数据。
[0109]
在本技术的一个可选设计中,聚合计算的方式包括如下的至少一种:矢量平均、求和、计数、求平均值、求最大值、求最小值、求标准差、求第一个值、求最后一个值。
[0110]
在本技术的一个可选设计中,所述计算模块702,还用于在所述第一聚合数据是所述物联网数据的矢量平均的情况下,计算所述第一聚合数据和所述延迟物联网数据的矢量平均;或,在所述第一聚合数据是所述物联网数据的和值的情况下,计算所述第一聚合数据
和所述延迟物联网数据的和;或,在所述第一聚合数据是所述物联网数据的时间戳序列的情况下,根据所述延迟物联网数据的事件时间戳,计算所述第一聚合数据和所述延迟物联网数据的计数;或,在所述第一聚合数据是所述物联网数据的时间戳序列的情况下,根据所述延迟物联网数据的事件时间戳,计算所述第一聚合数据和所述延迟物联网数据的第一个值或最后一个值;或,在所述第一聚合数据是所述物联网数据的最大值的情况下,获取所述延迟物联网数据和所述第一聚合数据中的最大值;或,在所述第一聚合数据是所述物联网数据的最小值的情况下,获取所述延迟物联网数据和所述第一聚合数据中的最小值;或,在所述第一聚合数据是所述物联网数据的平均值的情况下,计算所述第一聚合数据和所述延迟物联网数据的平均值。
[0111]
在本技术的一个可选设计中,所述计算模块702,还用于确定第二滚动窗口对应的第二聚合数据,所述第一滚动窗口和所述第二滚动窗口具有相同的时间长度;聚合计算所述第一聚合数据和所述第二聚合数据,得到级联聚合数据。
[0112]
综上所述,本实施例在计算第一滚动窗口内的物联网数据的聚合数据时,会将延迟容忍窗内到达的延迟物联网数据也合并到第一聚合数据中,避免一些迟到的物联网数据无法参与聚合计算,使得第一聚合数据更加准确,更加符合实际情况。
[0113]
图8是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备800包括中央处理单元(central processing unit,cpu)801、包括随机存取存储器(random access memory,ram)802和只读存储器(read-only memory,rom)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述计算机设备800还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(input/output,i/o系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
[0114]
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
[0115]
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机设备可读介质为计算机设备800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者只读光盘(compact disc read-only memory,cd-rom)驱动器之类的计算机设备可读介质(未示出)。
[0116]
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括ram、rom、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、带电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom),cd-rom、数字视频光盘(digital video disc,
dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
[0117]
根据本公开的各种实施例,所述计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备800可以通过连接在所述系统总线805上的网络接口单元812连接到网络811,或者说,也可以使用网络接口单元812来连接到其他类型的网络或远程计算机设备系统(未示出)。
[0118]
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器801通过执行该一个或一个以上程序来实现上述流式计算中的数据聚合方法。
[0119]
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述各个方法实施例提供的流式计算中的数据聚合方法。
[0120]
本技术还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例提供的流式计算中的数据聚合方法。
[0121]
可选地,本技术还提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述各方面所述的流式计算中的数据聚合方法。
[0122]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0123]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0124]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献