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

一种实时数据统计方法及系统与流程

2022-07-09 22:29:25 来源:中国专利 TAG:


1.本发明涉及物联网仪器仪表技术领域,具体涉及一种实时数据统计方法及系统。


背景技术:

2.物联网中有大量具有数据采集和计量的设备(如电量采集设备、水量采集设备或者用气量采集设备等),这些设备同时具备远程通讯功能,能够按时序上传设备使用数据的瞬时值到统计平台。以电量计量为例,现有统计平台的电量计量方式一般使用电量的累计量作为数据源,当统计平台需要统计电量采集设备的小时、日、月、年用电量作为能耗统计分析的基础,传统的统计方式大多采用的定时统计,当以一小时用电量作为能耗分析的基础时,当前小时统计上个小时的电量,该方法对于电量统计具有滞后性,且电量统计任务需要在一个统计周期内需要处理大量的数据,此时系统的负载会比较高。


技术实现要素:

3.因此,本发明要解决的技术问题在于克服现有技术中对于电量统计方法具有滞后性,且电量统计任务需要在一个统计周期内需要处理大量的数据,造成系统负载较高的缺陷,从而提供一种实时数据统计方法及系统。
4.根据第一方面,本发明实施例公开了一种实时数据统计方法,包括:获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据;从所述消息队列中获取所述第二上报数据及对应采集时间并从缓存区获取第一上报数据及对应采集时间;将所述第一上报数据对应采集时间与所述第二上报数据对应采集时间进行比对;当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间属于同一统计时段,将所述第二上报数据存储到数据库第一存储统计时段中,并将第二上报数据及对应采集时间写入缓存区;当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间不属于同一统计时段,将所述设备数据存储到数据库第二存储统计时段中,并将第二上报数据及对应采集时间写入缓存区。
5.可选地,所述存储统计时段数据包括:设备唯一号、日期、统计时段、起始值、末值、起始值采集时间、末值采集时间。
6.可选地,当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间属于同一统计时段,将所述第二上报数据存储到所述数据库第一存储统计时段中,包括:利用获取到的第二上报数据存储至第一存储统计时段的末值替换当前统计时段内第一上报数据统计的末值,起始值保留不变,并将第二上报数据和对应采集时间写入缓存区,对缓存区数据更新。
7.可选地,当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间不属于同一统计时段,将所述第二上报数据存储到所述数据库第二存储统计时段中,包括:利用获取到的第一上报数据存储至第一存储统计时段的末值作为第二存储统计时段的起始值,第二上报数据存储至第二存储统计时段的末值作为第二存储统计时段的末值,第一存
储统计时段的起始值、末值保持不变,并将第二上报数据和对应采集时间对写入缓存区,对缓存区数据更新。
8.可选地,所述获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据之前,所述方法还包括:从所述消息队列中第一次获取所述第一上报数据和对应采集时间,在数据库至少形成一个第一存储统计时段,并将第一次获取所述第一上报数据和采集时间写入缓存区。
9.可选地,存储统计时段的类型包括:存储统计小时时段、存储统计日时段、存储统计周时段、存储统计月时段、存储统计年时段。
10.可选地,所述获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据之前,所述方法还包括:从所述消息队列中第一次获取所述第一上报数据和对应采集时间,在数据库形成存储统计小时时段、存储统计日时段、存储统计周时段、存储统计月时段、存储统计年时段类型中至少两种,并分别在不同类型存储统计时段形成对应第一存储统计时段,并将第一次获取所述第一上报数据和采集时间写入缓存区。
11.可选地,所述设备上报数据包括:设备唯一号、表码值。
12.可选地,所述上报数据包括:水量计量设备及用水量、气量计量设备及用气量和电量计量设备及用电量中的任意一种。
13.根据第二方面,本发明实施例还公开了一种实时数据统计系统,执行如第一方面或第一方面任一可选实施方式所述的实时数据统计方法,所述系统包括:消息队列模块、实时统计服务程序模块、数据库模块和缓存模块,其中实时统计服务程序模块从所述消息队列模块获取设备上报数据及对应采集时间,并与缓存中上报数据及对应采集时间进行时段对比判断,将判断处理结果按数据库统计规则进行数据统计更新,并将最新上报数据及对应采集时间在缓存模块中更新。
14.本发明技术方案,具有如下优点:
15.本发明提供的实时数据统计方法,包括:获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据;从所述消息队列中获取所述第二上报数据及对应采集时间并从缓存区获取第一上报数据及对应采集时间;将所述第一上报数据对应采集时间与所述第二上报数据对应采集时间进行比对;当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间属于同一统计时段,将所述第二上报数据存储到数据库第一存储统计时段中,并将第二上报数据及对应采集时间写入缓存区;当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间不属于同一统计时段,将所述设备数据存储到数据库第二存储统计时段中,并将第二上报数据及对应采集时间写入缓存区。本发明的方法是一种基于时序的流式实时数据统计方法,获取到一条设备上报的数据就实时处理一条数据,可以实时统计到当前统计周期的用电量,同时实时数据统计任务在一个统计周期内不需要统计所有的数据,有效降低统计系统的负载。
附图说明
16.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体
实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本发明实施例中实时数据统计方法的一个具体示例的流程图;
18.图2为本发明实施例中实时数据统计系统的一个具体示例的示意图;
19.图3为本发明实施例中实时数据统计方法的一个具体示例的示意图;
20.图4为本发明实施例中实时数据统计方法的一个具体示例的示意图;
21.图5a~5d为本发明实施例中实时数据统计方法的一个具体示例的示意图;
22.图6为本发明实施例中实时数据统计装置的一个具体示例的原理框图;
23.图7为本发明实施例中电子设备的一个具体示例图。
具体实施方式
24.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
26.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
27.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
28.本发明实施例公开了一种实时数据统计方法,可以应用于物联网设备中,实时数据包括:用水量、用气量和用电量中的任意一种,也可以扩展到其他累计量的统计。本技术实施例中,以统计小时的用电量为例,对本实施例记载的实时数据统计方法进行说明。如图1所示,该方法包括如下步骤:
29.步骤101,获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据。
30.示例性地,设备上报数据和对应的第一采集时间会存储到消息队列,第二上报数据为当前设备上报的数据,第一上报数据为设备上一条上报的数据。
31.步骤102,从所述消息队列中获取所述第二上报数据及对应采集时间并从缓存区获取第一上报数据及对应采集时间。
32.示例性地,缓存区中存储的是设备上一条上报的数据(第一上报数据)和对应的采集时间,具体地,缓存区中存储的上一条处理的数据也可被称为缓存数据。
33.步骤103,将所述第一上报数据对应采集时间与所述第二上报数据对应采集时间进行比对。
34.步骤104,当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间属于同一统计时段,将所述第二上报数据及对应采集时间存储到数据库第一存储统计时段中,并将第二上报数据及对应采集时间写入缓存区。
35.示例性地,统计时段为一个可以根据统计需求预先设定的时间段,本具体实施例对该统计时段的值不做限定,当前设备上报的数据(第二上报数据)对应采集时间与上一条设备上报的数据(第一上报数据)对应采集时间属于同一统计时段,则将第二上报数据存入数据库的第一存储统计时段中,并将当前设备存储的数据(第二上报数据)及对应的采集时间存储到缓存区中。
36.步骤105,当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间不属于同一统计时段,将所述设备数据存储到数据库第二存储统计时段中,并将第二上报数据及对应采集时间写入缓存区。
37.示例性地,当前设备上报的数据(第二上报数据)对应采集时间与上一条设备上报的数据(第一上报数据)对应采集时间不属于同一统计时段,则将第二上报数据存入数据库的第二存储统计时段中,并将当前设备存储的数据(第二上报数据)及对应的采集时间存储到缓存区中。
38.本发明提供的实时数据统计方法是一种基于时序的流式实时数据统计方法,获取到一条设备上报的数据就实时处理一条数据,可以实时统计到当前统计周期的用电量,同时实时数据统计任务在一个统计周期内不需要统计所有的数据,有效降低统计系统的负载。
39.作为本发明一个可选实施方式,所述存储统计时段数据包括:设备唯一号、日期、统计时段、起始值、末值、起始值采集时间、末值采集时间。
40.作为本发明一个可选实施方式,所述设备上报数据包括:设备唯一号、表码值。
41.示例性地,以统计电表用电量为例,统计时段可以是小时、日、月、年;本具体实时例中,统计时段为小时,当前设备上报的数据(第二上报数据)对应采集时间与上一条设备上报的数据(第一上报数据)对应采集时间属于同一统计时段,则把当前处理的统计数据存储到数据库的第一存储统计时段中,第一存储统计时段存储的数据包括设备唯一号、日期、统计时段、起始值、末值、起始值采集时间、末值采集时间,还包括设备上报数据,设备上报数据包括表码值和设备唯一号,表码数据是一个瞬时值是电表在对应的采集时间显示的电能读数,在数值等于电表从开始使用到当前用电量的总和,采集和设备上报的数据都为表码数据,根据表码数据计算用电量,设备唯一号用来区分不同的设备上报的设备数据,本方法中不同设备上报的设备数据可以存储在预先设置的不同存储区内,也可以存储在同一个存储区并利用设备标识来区分不同设备上报的设备数据。当第一上报数据对应采集时间与第二上报数据对应采集时间属于同一小时内,则把当前处理的第二上报数据存储到数据库的第一存储统计时段中,并将第二上报数据及对应采集时间存储到缓存区,当需要统计当前小时的用电量,则用电量等于第二上报数据对应的表码数据减去起始表码数据;第一上报数据对应采集时间与第二上报数据对应采集时间不属于同一小时内,在数据库中新增该设备第二上报数据对应采集时间所在统计时段的数据(第二存储统计时段),起始表码取第
二采集时间对应的表码数据,末值表码取第一采集时间对应的表码数据。
42.作为本发明一个可选实施方式,当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间属于同一统计时段,将所述第二上报数据存储到所述数据库第一存储统计时段中,包括:利用获取到的第二上报数据存储至第一存储统计时段的末值替换当前统计时段内第一上报数据统计的末值,起始值保留不变,并将第二上报数据和对应采集时间写入缓存区,对缓存区数据更新。
43.示例性地,当第一上报数据对应采集时间与第二上报数据对应采集时间属于同一统计时段,则用当前处理数据(第二上报数据)对应的表码值替换上一次存储到数据库第一存储时段的第一上报数据对应的表码值(上一次存储的末值),并利用第一上报数据及对应采集时间对缓存区的数据进行更新。具体地,当需要统计当前小时的用电量,则用电量等于第二上报数据对应的表码数据减去起始表码数据。
44.作为本发明一个可选实施方式,所述第一上报数据对应采集时间与所述第二上报数据对应采集时间不属于同一统计时段,将所述第二上报数据存储到所述数据库第二存储统计时段中,包括:利用获取到的第一上报数据存储至第一存储统计时段的末值作为第二存储统计时段的起始值,第二上报数据存储至第二存储统计时段的末值作为第二存储统计时段的末值,第一存储统计时段的起始值、末值保持不变,并将第二上报数据和对应采集时间对写入缓存区,对缓存区数据更新。
45.示例性地,第一上报数据对应采集时间与第二上报数据对应采集时间不属于同一统计时段内,在数据库中新增该设备第二上报数据对应采集时间所在统计时段的数据(第二存储统计时段),起始表码取第一上报数据对应的表码数据,末值表码取第二上报数据对应的表码数据,并将第二上报数据和对应采集时间对写入缓存区,对缓存区数据更新。
46.作为本发明一个可选实施方式,所述获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据之前,所述方法还包括:从所述消息队列中第一次获取所述第一上报数据和对应采集时间,在数据库至少形成一个第一存储统计时段,并将第一次获取所述第一上报数据和采集时间写入缓存区。
47.作为本发明一个可选实施方式,存储统计时段的类型包括:存储统计小时时段、存储统计日时段、存储统计周时段、存储统计月时段、存储统计年时段。
48.作为本发明一个可选实施方式,所述获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据之前,所述方法还包括:从所述消息队列中第一次获取所述第一上报数据和对应采集时间,在数据库形成存储统计小时时段、存储统计日时段、存储统计周时段、存储统计月时段、存储统计年时段类型中至少两种,并分别在不同类型存储统计时段形成对应第一存储统计时段,并将第一次获取所述第一上报数据和采集时间写入缓存区。
49.示例性地,如果当前处理的数据为设备第一次上报的设备数据(第一上报数据),则此时的缓存数据不存在,起始表码为当前设备数据的表码数据,将当前设备上报数据存储到缓存区,当前用电量=起始表码数据-当前设备数据的表码数据=0。数据库中存储统计时段包括存储统计小时时段、存储统计日时段、存储统计周时段、存储统计月时段、存储统计年时段,当设备第一上报数据时,则根据其上报的第一上报数据和对应的采集时间在
数据库中形成存储统计小时时段、存储统计日时段、存储统计周时段、存储统计月时段、存储统计年时段类型中至少两种。
50.作为本发明一个可选实施方式,所述上报数据包括:水量计量设备及用水量、气量计量设备及用气量和电量计量设备及用电量中的任意一种。
51.本发明实施例还公开了一种实时数据统计系统,如图2所示,所述系统包括:消息队列模块、实时统计服务程序模块、数据库模块和缓存模块,其中实时统计服务程序模块从所述消息队列模块获取设备上报数据及对应采集时间,并与缓存中上报数据及对应采集时间进行时段对比判断,将判断处理结果按数据库统计规则进行数据统计更新,并将最新上报数据及对应采集时间在缓存模块中更新。
52.示例性地,本具体实施例中,消息队列模块可以包括但不限于kafka消息队列的统计组,物联网设备采集到的设备数据会统一上报到kafka消息队列的统计组,消息队列中的数据对于每个设备而言时间是增加的,kafka消息队列中存储的设备原始数据的数据结构如图3所示,该数据可以是json格式,也可以是自定义格式,至少包含设备唯一号,数据采集时间(时标),表码值(表码数据)三个字段;缓存模块可以包括但不限于redis,用于存储缓存数据,redis缓存中数据的数据结构如图4所示。
53.具体地,本实时数据统计方法可以统计小时、日、月、年的实时数据,小时统计表字段为设备唯一号,日期,小时,起始表码,结束表码,起始表码时间,结束表码时间,其中设备唯一号 日期 小时为唯一键,如图5a所示;日统计表字段为设备唯一号,日期,起始表码,结束表码,起始表码时间,结束表码时间,其中设备唯一号 日期为唯一键,如图5b所示;月统计表字段为设备唯一号,日期,起始表码,结束表码,起始表码时间,结束表码时间,其中日期中的日固定为1号,设备唯一号 日期为唯一键,如图5c所示;年统计表字段为设备唯一号,年,起始表码,结束表码,起始表码时间,结束表码时间,其中设备唯一号 年为唯一键,如图5d所示;根据以上设计可以高效方便查询设备小时,日,月,年任意时间的统计数据。
54.本发明实施例还公开了一种实时数据统计装置,如图6所示,该装置包括:第一获取模块201:用于获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据;第二获取模块202:用于从所述消息队列中获取所述第二上报数据及对应采集时间并从缓存区获取第一上报数据及对应采集时间;对比模块203:用于将所述第一上报数据对应采集时间与所述第二上报数据对应采集时间进行比对;第一存储模块204:用于当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间属于同一统计时段,将所述第二上报数据存储到数据库第一存储统计时段中,并将第二上报数据及对应采集时间写入缓存区;第二存储模块205:用于当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间不属于同一统计时段,将所述设备数据存储到数据库第二存储统计时段中,并将第二上报数据及对应采集时间写入缓存区。
55.本发明提供的实时数据统计装置,包括:第一获取模块:用于获取预先存储到消息队列中设备上报数据和对应的采集时间,并根据上报数据和对应的采集时间至少形成第一上报数据、第二上报数据;第二获取模块:用于从所述消息队列中获取所述第二上报数据及对应采集时间并从缓存区获取第一上报数据及对应采集时间;对比模块:用于将所述第一上报数据对应采集时间与所述第二上报数据对应采集时间进行比对;第一存储模块:用于
当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间属于同一统计时段,将所述第二上报数据存储到数据库第一存储统计时段中,并将第二上报数据及对应采集时间写入缓存区;第二存储模块:用于当所述第一上报数据对应采集时间与所述第二上报数据对应采集时间不属于同一统计时段,将所述设备数据存储到数据库第二存储统计时段中,并将第二上报数据及对应采集时间写入缓存区。本发明的装置是一种基于时序的流式实时数据统计装置,获取到一条设备上报的表码数据就实时处理一条数据,可以实时统计到当前统计周期的用电量,同时实时数据统计任务在一个统计周期内不需要统计所有的数据,有效降低统计系统的负载。
56.本发明实施例还提供了一种电子设备,如图7所示,该电子设备可以包括处理器401和存储器402,其中处理器401和存储器402可以通过总线或者其他方式连接,图7中以通过总线连接为例。
57.处理器401可以为中央处理器(central processing unit,cpu)。处理器401还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
58.存储器402作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的实时数据统计方法对应的程序指令/模块。处理器401通过运行存储在存储器402中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的实时数据统计方法。
59.存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器401所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至处理器401。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
60.所述一个或者多个模块存储在所述存储器402中,当被所述处理器401执行时,执行如图1所示实施例中的实时数据统计方法。
61.上述电子设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
62.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
63.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所
限定的范围之内。
再多了解一些

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

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

相关文献