数据获取方法、装置及物联网与流程

文档序号:28491100发布日期:2022-01-15 02:41阅读:108来源:国知局
数据获取方法、装置及物联网与流程

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.将所述第一数据类型、所述第一设备标识和所述第一关键字的对应关系存储至所述目标链表的头部。
27.可选的,所述获取针对第一物联网设备的数据获取请求,包括:
28.接收数据分析设备发送的针对所述第一物联网设备的数据获取请求;
29.在所述获取所述至少一个目标数据块中的数据之后,所述方法还包括:
30.将获取到的所述数据发送至所述数据分析设备。
31.另一方面,提供了一种数据获取装置,应用于物联网中数据管理设备,所述数据管理设备中存储有多个数据块,每个所述数据块中包含一个物联网设备采集的一种数据类型的数据;所述装置包括:
32.第一获取模块,用于获取针对第一物联网设备的数据获取请求,所述数据获取请求中携带有所述第一物联网设备的第一设备标识和待获取数据的第一数据类型;
33.第一确定模块,用于基于所述第一数据类型和所述第一设备标识,确定与所述第一数据类型和所述第一设备标识对应的第一关键字;
34.第二确定模块,用于确定与所述第一关键字对应的至少一个第一索引块,每个所述第一索引块中记录有一个数据块在文件中的存储位置;
35.第二获取模块,用于根据所述至少一个第一索引块中的存储位置,从所述文件中获取至少一个目标数据块,每个所述目标数据块中存储有所述第一物联网设备采集的所述第一数据类型的数据。
36.又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,所述程序代码由处理器加载并执行以实现如上述方面所述的数据获取方法。
37.又一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有程序代码、所述程序代码由所述处理器加载并执行以实现如上述方面所述的数据获取方法。
38.再一方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在所述计算机上运行时,使得所述计算机执行上述方面所述的数据获取方法。
39.再一方面,提供了一种物联网,所述物联网包括:数据管理设备、至少一个物联网设备和数据分析设备;
40.所述数据管理设备包括如上述方面所述的数据获取装置;
41.每个所述物联网设备用于向所述数据管理设备发送数据信息,所述数据信息包括所述物联网设备采集的数据、所述物联网设备的设备标识和所述物联网设备采集的数据的数据类型;
42.所述数据分析设备用于向所述数据管理设备发送的针对所述第一物联网设备的数据获取请求,以及接收所述数据管理设备发送的数据。
43.本公开实施例提供的技术方案带来的有益效果至少包括:
44.本公开实施例提供了一种数据获取方法、装置及物联网,该方法可以基于第一物联网设备的第一数据类型和第一设备标识确定第一关键字,并能够以第一关键字为索引确定至少一个索引块,进而根据该索引块中的存储位置获取数据块。由于无需将第一物联网设备的设备标识与存储的多个物联网设备的设备标识逐一进行对比,因此有效提高了数据获取的效率。
附图说明
45.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1是本公开实施例提供的一种物联网的示意图;
47.图2是本公开实施例提供的一种数据获取方法的流程图;
48.图3是本公开实施例提供的另一种数据获取方法的流程图;
49.图4是本公开实施例提供的一种文件的示意图;
50.图5是本公开实施例提供的一种数据块的示意图;
51.图6是本公开实施例提供的一种索引块的示意图;
52.图7是本公开实施例提供的另一种索引块的示意图;
53.图8是本公开实施例提供的一种数据管理设备中存储的数据的示意图;
54.图9是本公开实施例提供的一种确定至少一个目标数据块的示意图;
55.图10是本公开实施例提供的一种数据获取装置的框图;
56.图11是本公开实施例提供的另一种数据获取装置的框图;
57.图12是本公开实施例提供的一种数据管理设备的示意图。
具体实施方式
58.为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
59.图1是本公开实施例提供的一种物联网的示意图,如图1所示,该物联网可以包括至少一个物联网设备10、数据管理设备20和数据分析设备30,图1以该物联网包括三个物联网设备10为例进行说明。
60.其中,至少一个物联网设备10与数据管理设备20之间,以及数据管理设备20和数据分析设备30之间均可以通过有线网络或无线网络建立连接。
61.每个物联网设备10可以是能够进行数据采集的设备,例如其可以为摄像头、打印机或者设置在风机发电组上的传感器。该物联网设备10用于将实时采集的数据传输至数据管理设备20。
62.数据管理设备20可以是用于供管理人员操作的终端。例如其可以为计算机。该数据管理设备20可以对至少一个物联网设备10采集的数据进行统一管理,并在接收到数据分析设备30发送的数据获取请求后,将基于该数据获取请求所获取的数据发送至数据分析设备30。
63.其中,数据管理设备20在接收到物联网设备发送的数据之后,可以将该数据存储至数据块(data block)中。该数据管理设备20中存储有多个数据块,每个数据块中包含一个物联网设备采集的一种数据类型的数据。
64.该数据分析设备30可以是能够对数据进行数据分析的设备。例如其可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。例如,若数据分析设备30接收到的数据为风机发电组的桨距角和该风机发电组的有功功率,则数据分析设备30可以对接收到的多个有功功率和多个桨距角进行分析,以预测风机发电组在未来一段时间的发电功率。
65.图2是本公开实施例提供的一种数据获取方法的流程图。该方法可以应用于图1所示的物联网中的数据管理设备20。如图2所示,该方法可以包括:
66.步骤201、获取针对第一物联网设备的数据获取请求。
67.在本公开实施例中,该数据获取请求可以是数据分析设备发送的,也可以是用户在数据管理设备触发的。其中,该数据获取请求中携带有第一物联网设备的第一设备标识和待获取数据的第一数据类型。该第一物联网设备可以为上述至少一个物联网设备中的任一物联网设备。
68.步骤202、基于第一数据类型和第一设备标识,确定与第一数据类型和第一设备标识对应的第一关键字。
69.数据管理设备在获取到针对第一物联网设备的数据获取请求之后,可以基于该数
据获取请求中携带的第一数据类型和第一设备标识,确定与该第一数据类型和第二设备标识对应的第一关键字(key)。
70.步骤203、确定与第一关键字对应的至少一个第一索引块。
71.数据管理设备在获取到第一关键字之后,可以确定该第一关键字对应的至少一个索引块,该每个第一索引块中记录有一个数据块在文件中的存储位置。
72.步骤204、根据至少一个第一索引块中的存储位置,从文件中获取至少一个目标数据块。
73.数据管理设备在获取到至少一个第一索引块之后,可以根据至少一个第一索引块中的存储位置,从文件中获取至少一个目标数据块。其中,该每个目标数据块中存储有第一物联网设备采集的第一数据类型的数据。
74.综上所述,本公开实施例提供了一种数据获取方法,该方法可以基于第一物联网设备的第一数据类型和第一设备标识确定第一关键字,并能够以第一关键字为索引确定至少一个索引块,进而根据该索引块中的存储位置获取数据块。由于无需将第一物联网设备的设备标识与存储的多个物联网设备的设备标识逐一进行对比,因此有效提高了数据获取的效率。
75.图3是本公开实施例提供的另一种数据获取方法的流程图。该方法可以应用于图1所示的物联网中。如图3所示,该方法可以包括:
76.步骤301、第二物联网设备向数据管理设备发送数据信息。
77.在本公开实施例中,第二物联网设备为物联网中至少一个物联网设备中的任一物联网设备。
78.该第二物联网设备在采集到数据之后,可以将该数据、第二物联网设备的第二设备标识和该第二物联网设备采集的数据的第二数据类型作为数据信息。进而第二物联网设备可以将该数据信息发送至数据管理设备。其中,该数据信息可以包括第二物联网设备采集的数据、第二物联网设备的第二设备标识和第二物联网设备采集的数据的第二数据类型。
79.可选的,该第二设备标识可以包括第二设备编号,该第二数据类型可以为转速、温度或者湿度等。
80.示例的,假设第二设备标识包括第二设备编号assetid,则该第二设备编号assetid可以为uufseram,即该uufseram为第二设备编号assetid的内容,即assetid=uufseram。若该第二数据类型为转速,则该第二数据类型可以用tsp@p1表示,该第二物联网设备采集的数据可以为29729。
81.步骤302、数据管理设备存储第二物联网设备发送的数据信息。
82.在本公开实施例中,数据管理设备中存储有至少一个文件、多个数据块和与该多个数据块一一对应的索引块(index block),该文件可以为word文件或者excel文件等。
83.参考图4,该每个文件中可以存储多个数据块和多个索引块。可选的,该每个文件中最多可以存储个数阈值个数据块和个数阈值个索引块。每个数据块均对应一个索引块,且每个索引块均对应一个文件。不同的文件的存储量可以相同,不同的数据块的存储量也可以相同,且不同的索引块的存储量也可以相同。
84.该每个数据块用于存储同一物联网设备的一种数据类型的数据。参考图5,该每个
数据块中包含一个物联网设备采集的数据的编码类型、一个物联网设备在不同时刻采集的多个数据的数据集合、数据块的长度(length),即该数据块中所有数据的总数据量以及每个数据的采集时刻,即每个数据的时间戳(timestamps)。可选的,该编码类型可以为整数(integer,int)类型或者char(字符)类型等。
85.参考图6,该每个索引块中可以记录有对应的一个数据块的长度,该数据块存储的数据的采集时间范围(例如该数据块存储的数据的最小时间戳和最大时间戳),以及该数据块在文件中的存储位置。
86.示例的,该数据块当前的存储量为10兆(m),且该数据块为该文件中的第一个数据块,该数据块在该文件中的存储位置可以为0至10m。若该数据块为该文件中的第二个数据块,且第一个数据块的存储位置为0至20m,则该数据块在该文件中的存储位置为21m至31m。
87.可选的,参考图7,该每个索引块可以包括索引条目(index entry)和索引块元信息(index block meta)。其中,该索引条目可以包括:数据块的长度、该数据块所存储的数据的采集时间范围以及该数据块在文件中的存储位置。该索引块元信息可以包括该数据块的长度等。
88.可选的,参考图4,每个文件中还存储有第一位置块,该第一位置块中记录有该文件中每个索引块在该文件中的存储位置,该第一位置块还可以称为trailer block。参考图8,数据管理设备可以在序列概述(series sketch)中记录该第一位置块与每个索引块的对应关系。
89.以下对数据管理设备对第二物联网设备发送的数据信息进行存储的过程进行说明:
90.数据管理设备在接收到第二物联网设备发送的数据信息之后,若确定存储的多个数据块中第一数据块的剩余存储量大于或等于存储量阈值,则数据管理设备可以确定至少一个文件中第一文件中存储的数据块的个数小于个数阈值,且该第一文件中第一数据块的剩余存储量大于或等于存储量阈值,也即是第一文件中的第一数据块中可以存储数据类型为第二数据类型的数据,因此数据管理设备可以执行下述步骤a1至步骤a3。
91.其中,该第一数据块为用于存储数据类型为第一数据类型的数据的数据块。该个数阈值和存储量阈值为数据管理设备中预先存储的数值。该第一文件为至少一个文件中创建时长小于其他文件的创建时长的文件,该创建时长指的是从数据管理设备创建该文件的时刻开始到当前时刻的时长。该其他文件为至少一个文件中除第一文件之外的文件,该其他文件中存储的数据块的个数均等于个数阈值,且该其他文件中存储的每个数据块的剩余存储量均小于存储量阈值。也即是,该其他文件中无法再创建新的数据块,且该其他文件中已创建的数据块中均无法存入新的数据。
92.若多个数据块中每个数据块的剩余存储量均小于存储量阈值,则数据管理设备可以确定该至少一个文件中每个文件中存储的数据块的个数等于个数阈值,且该文件中存储的每个数据块的剩余存储量均小于存储量阈值。也即是该至少一个文件中每个文件中均无法再创建新的数据块,且该文件中已创建的多个数据块中均无法再存储新的数据。因此数据管理设备可以执行下述步骤b1至步骤b3。
93.下文对步骤a1至步骤a3的过程进行说明:
94.a1、若数据管理设备中存储的多个数据块中第一数据块的剩余存储量大于或等于
存储量阈值,则数据管理设备可以将第二物联网设备采集的数据存储至第一数据块中。
95.数据管理设备在接收到第二物联网设备发送的数据信息之后,若数据管理设备中存储的多个数据块中第一数据块的剩余存储量大于或等于存储量阈值,则数据管理设备可以将该第二物联网设备采集的数据存储至该第一数据块中。
96.a2、生成第二关键字,并记录第二关键字与第二索引块的对应关系。
97.数据管理设备在将第二物联网设备采集的数据存储至第一数据块之后,可以生成第二关键字,并可以记录该第二关键字与第二索引块的对应关系。其中,该第二索引块中记录有第一数据块在文件中的存储位置。
98.可选的,数据管理设备也可以随机生成该第二关键字。或者,数据管理设备可以基于第二设备标识和第二数据类型生成第二关键字。若该第二设备标识包括第二设备编号,则数据管理设备可以基于第二设备编号和第二数据类型生成第二关键字。
99.示例的,假设第二设备编号assetid为uufseram,第二数据类型为tsp@p1,则该第二关键字可以为:tsp@p1,assetid=uufseram。
100.上述第二物联网设备发送的数据信息还可以包括该第二物联网设备采集的数据的采集时刻,数据管理设备还可以将该数据的采集时刻存储至第一数据块。
101.数据管理设备在将第二物联网设备采集的数据存储至第一数据块之后,还可以将该数据的编码类型存储至第一数据块中,并可以对第一数据块和第二索引块中存储的该第一数据块的长度进行更新。
102.数据管理设备在将第二物联网设备采集的数据、该数据的采集时刻以及该数据的编码类型存储至第一数据块,并更新该第一数据块存储的其长度之后,还可以基于该第一数据块当前的存储量,更新第二索引块中记录的第一数据块在第一文件中的存储位置。
103.示例的,数据管理设备在接收到第二物联网设备发送的数据信息之前,第二索引块中记录的第一数据块在第一文件中的存储位置为0至10m。数据管理设备在基于第二物联网设备发送的数据信息对第一数据块进行更新之后,该第一数据块的存储量为12m,则数据管理设备将第二索引块中记录的第一数据块的存储位置由0至10m更新为0至12m。
104.并且,数据管理设备还可以将第二索引块中记录的第一数据块的最大时间戳更新为该数据的采集时刻。
105.可选的,参考图8,数据管理设备可以在序列概述中记录该第二关键字与第二索引块的对应关系。
106.a3、将第二关键字存储在序列块中。
107.参考图8,数据管理设备在生成第二关键字之后,可以将该第二关键字存储在序列块(series block)中,该第二关键字在序列块中的存储位置由第二设备标识对应的设备标识索引确定。
108.数据管理设备可以基于第二设备标识的设备标识索引,采用哈希算法确定与第一物联网设备的设备标识索引对应的第一关键字索引。该第一关键字索引用于指示第一关键字在序列块中的存储位置。
109.或者,数据管理设备在将第二关键字存储在序列块中之后,可以基于已存储的关键字索引的最大值生成该第二关键字的第二关键字索引。并且,参考图8,该数据管理设备可以在序列标识集合(series id set)中记录该第二设备标识对应设备标识索引与第二关
键字索引的对应关系,即该序列标识集合中记录设备标识索引与关键字索引的对应关系。其中,每个关键字索引用于指示对应的关键字在序列块中的存储位置,该关键字索引为数字。该序列标识集合可以为高效压缩位图(bitmap),例如:roaring bitmap。
110.示例的,若序列块中已存储有第一个关键字、第二个关键字、第三个关键字、第四个关键字和第五个关键字共5个关键字,该5个关键字的关键字索引分别为1、2、3、4和5。则数据管理设备可以基于该5个关键字索引的最大值5生成第二关键字的第二关键字索引,例如可以在该5个关键字索引的最大值5的基础上加1得到该第二关键字索引6。
111.其中,该关键字索引1用于指示对应的第一个关键字在序列块的存储位置为1,该关键字索引2用于指示对应的第二个关键字在序列块的存储位置为2,该关键字索引3用于指示对应的第三个关键字在序列块的存储位置为3,该关键字索引4用于指示对应的第四个关键字在序列块的存储位置为4,该关键字索引5用于指示对应的第五个关键字在序列块的存储位置为5。
112.下文对步骤b1至步骤b4的过程进行说明:
113.b1、若每个数据块的剩余存储量均小于存储量阈值,则数据管理设备可以创建第二数据块,并将第二物联网设备采集的数据存储至第一数据块中。
114.数据管理设备在确定至少一个文件中每个数据块的剩余存储量均小于存储量阈值后,可以创建第二文件,并可以在该第二文件中创建第二数据块。进而数据管理设备可以将第二物联网设备采集的数据存储至该第二数据块中。其中,该第二数据块为用于存储第二物联网设备采集的第二数据类型的数据。
115.可选的,数据管理设备在将第二物联网设备采集的数据存储至第二数据块之后,可以将该数据的编码类型和该第二数据块的长度均存储至该第二数据块中。
116.若第二物联网设备发送的数据信息还包括该第二物联网设备采集的数据的采集时刻,数据管理设备还可以将该数据的采集时刻存储至该第二数据块。
117.b2、创建第二数据块的第三索引块,并将第二数据块在第二文件中的存储位置记录至第三索引块中。
118.数据管理设备在将第二物联网设备采集的数据存储至该第二数据块中之后,可以在第二文件中创建第二数据块的第三索引块,并可以将该第二数据块的长度记录至该第三索引块中。
119.若第二物联网设备发送的数据信息还包括该第二物联网设备采集的数据的采集时刻,则数据管理设备还可以将该数据的采集时刻作为该第二数据块的最小时间戳和最大时间戳记录至该第三索引块中。
120.进一步的,数据管理设备还可以基于该第二数据块当前的存储量,在第三索引块中记录该第二数据块在第二文件中的存储位置。
121.示例的,若该第二数据块当前的存储量为1m,则数据管理设备在第三索引块中记录的第二数据块在第二文件中的存储位置可以为0至1m。
122.b3、生成第三关键字,并记录第三关键字与第三索引块的对应关系。
123.数据管理设备在将第二数据块在第二文件中的存储位置记录至第三索引块中之后,可以生成第三关键字,并可以记录该第三关键字与该第三索引块的对应关系。
124.该步骤b3的具体实现过程可以参考上述步骤a2,本公开实施例在此不再赘述。
125.b4、将第三关键字存储在序列块中。
126.数据管理设备在生成第三关键字之后,可以将该第三关键字存储在序列块(series block)中,第三关键字在序列块中的存储位置由第二设备标识对应的设备标识索引确定。
127.该步骤b4的具体实现过程可以参考上述步骤a3,本公开实施例在此不再赘述。
128.在本公开实施例中,参考图8,该数据管理设备中还可以存储有测量块(measurement block)、第二位置块和标签块(tag block),该第二位置块还可以称为trailer block。
129.其中,该测量块用于记录数据类型与物联网设备的设备标识索引的对应关系,该第二位置块用于记录测量块的大小、序列块的大小、标签块的大小、以及测量块、序列块和标签块在数据管理设备中的存储位置。该标签块用于记录物联网设备的设备标识。该序列块中记录有多个关键字。
130.若每个物联网设备的设备标识包括设备编号,则该测量块中记录的对应关系可以为:数据类型、物联网设备的设备编号索引以及设备编号的内容索引的对应关系。
131.其中,该设备编号的内容索引为该设备编号的内容的索引,该设备编号索引为该设备编号的索引。该内容索引和设备编号索引均可以为数字。
132.步骤303、数据管理设备接收数据分析设备发送的针对第一物联网设备的数据获取请求。
133.在本公开实施例中,该数据获取请求可以是数据分析设备发送的,也可以是用户在数据管理设备触发的。其中,该数据获取请求中携带有第一物联网设备的第一设备标识和待获取数据的第一数据类型。该第一物联网设备可以为上述至少一个物联网设备中的任一物联网设备,且该第一物联网设备与上述第二物联网设备可以是一个设备,也可以是不同的设备。该第一设备标识可以包括第一设备编号。
134.示例的,该第一数据类型可以为ts1@p1,假设第一设备标识包括第一设备编号,第一设备编号assetid为uufseram。
135.可选的,该数据获取请求的代码可以如下:
136.select*from ot-raw.“ts1@p1”where assetid=“uufseram”limit3。
137.其中,该ot-raw为数据管理设备中数据库的名称,该“*”表示的是获取与“ts1@p1”相关的所有参数。
138.步骤304、数据管理设备基于第一数据类型和第一设备标识,确定与第一数据类型和第一设备标识对应的第一关键字。
139.数据管理设备在接收到数据分析设备发送的针对第一物联网设备的数据获取请求之后,可以基于该数据获取请求中携带的第一数据类型和第一设备标识,确定与该第一数据类型和第一设备标识对应的第一关键字。
140.数据管理设备确定与第一数据类型和第一设备标识对应的第一关键字的过程可以包括以下步骤c1至步骤c4:
141.c1、数据管理设备可以基于第一数据类型从测量块中确定与第一数据类型对应的多个备选物联网设备的设备标识索引,并基于第一设备标识从多个备选物联网的设备标识索引中确定与第一设备标识对应的第一物联网设备的设备标识索引。
142.数据管理设备可以基于第一数据类型从测量块中确定与第一数据类型对应的多个备选物联网设备的设备标识索引,并基于第一设备标识从多个备选物联网的设备标识索引中确定与第一设备标识对应的第一物联网设备的设备标识索引。
143.可选的,若第一物联网设备的设备标识包括第一设备编号,该测量块中记录的对应关系可以为:数据类型、物联网设备的设备编号索引以及设备编号的内容索引的对应关系。则数据管理设备可以基于第一数据类型从测量块中确定与第一数据类型对应的多个设备编号索引,并可以基于该多个设备编号索引中的目标设备编号索引,从该测量块中确定与该目标设备编号索引对应的多个备选物联网设备的内容索引。进而数据管理设备可以将多个备选物联网的内容索引中的目标内容索引确定为第一物联网设备的设备标识索引。其中,该目标设备编号索引为第一设备编号的索引,目标内容索引为第一设备编号的内容的索引。
144.示例的,若第一数据类型为ts1@p1,第一设备编号assetid为uufseram,则数据管理设备可以先从测量块中确定与第一数据类型ts1@p1对应的多个内容索引,并可以基于第一设备编号assetid的目标设备编号索引,从该测量块中确定与该目标设备编号索引对应的多个备选物联网设备的内容索引。进而数据管理设备可以将多个备选物联网的内容索引中的目标内容索引确定为第一物联网设备的设备标识索引。其中,该目标内容索引为第一设备编号assetid的内容uufseram的索引。
145.c2、数据管理设备基于第一物联网设备的设备标识索引确定第一关键字在序列块中的存储位置。
146.数据管理设备在确定第一物联网设备的设备标识索引之后,可以基于该第一物联网设备的设备标识索引,确定第一关键字在序列块中的存储位置。
147.可选的,数据管理设备在确定第一物联网设备的设备标识索引之后,可以基于第一物联网设备的设备标识索引,从序列标识集合中的设备标识索引与关键字索引的对应关系中,确定与第一物联网设备的设备标识索引对应的第一关键字索引。进而数据管理设备可以基于该第一关键字索引确定该第一关键字在序列块中的存储位置。该第一关键字索引用于指示第一关键字在序列块中的存储位置。
148.或者,数据管理设备在确定第一物联网设备的设备标识索引之后,可以基于第一物联网设备的设备标识索引,采用哈希算法确定与第一物联网设备的设备标识索引对应的第一关键字索引。进而数据管理设备可以基于该第一关键字索引确定该第一关键字在序列块中的存储位置。
149.在本公开实施例中,数据管理设备可以基于第一数据类型确定与该第一数据类型的多个设备标识索引,并基于该多个设备标识索引中的目标设备标识索引确定多个备选物联网设备的内容索引。进而数据管理设备可以将第一设备编号的内容索引(即目标内容索引)确定为第一物联网设备的设备标识索引。进一步的数据管理设备可以基于第一物联网设备的设备标识索引确定出第一关键字索引,最后基于第一关键字索引确定出第一关键字在序列块中的存储位置。
150.由于第一设备编号、第一设备编号的内容和第一关键字均为字符串,内容索引、设备编号索引和关键字索引均为数字。本公开实施例提供的方法基于设备编号索引、内容索引和关键字索引确定第一关键字,相较于将第一设备编号与其存储的多个设备编号逐一对
比,将第一设备编号的内容与其存储的多个设备编号的内容一一对比,以及将第一关键字与预先存储的多个关键字进行逐一对比。本公开实施例提供的方法有效提高了关键字确定的效率,进而有效提高了数据获取的效率。
151.c3、数据管理设备基于第一关键字在序列块中的存储位置,从序列块中获取第一关键字。
152.数据管理设备在确定第一关键字之后,可以基于第一关键字在序列块中的存储位置,从该序列块中获取第一关键字。
153.示例的,若第一关键字索引为1,则数据管理设备可以确定第一关键字在序列块中的存储位置为1,数据管理设备可以将序列块中记录的多个关键字中的第1个关键字确定为第一关键字。
154.步骤305、数据管理设备基于第一关键字从多个数据块中获取至少一个目标数据块。
155.数据管理设备在获取到第一关键字之后,可以基于第一关键字从多个数据块中获取至少一个目标数据块。其中,该每个目标数据块中存储有第一物联网设备采集的第一数据类型的数据。
156.在本公开实施例中,数据管理设备可以确定与第一关键字对应的至少一个第一索引块,并可以根据至少一个第一索引块中的存储位置,从文件中获取目标数据块。其中,该每个第一索引块中记录有一个数据块在文件中的存储位置。
157.数据管理设备可以从序列概述中确定与第一关键字对应的至少一个第一索引块,并可以从序列概述中确定与每个第一索引块对应的第一位置块。进而数据管理设备可以在该第一索引块对应的第一位置块中确定该第一索引块在对应的文件中的存储位置。进一步的,数据管理设备可以基于该第一索引块的存储位置,从对应的文件中获取该第一索引块,并可以基于第一索引块中记录的目标数据块在该文件中的存储位置,从该文件中获取该目标数据块。
158.进一步的,该数据获取请求中还携带有目标时间段。每个第一索引块中记录有一个数据块所存储的数据的采集时间范围。数据管理设备根据至少一个第一索引块中的存储位置,从文件中获取至少一个目标数据块的过程中,可以根据该目标时间段和每个第一索引块中的采集时间范围,从至少一个第一索引块中确定至少一个目标索引块。并可以根据至少一个目标索引块中的存储位置,从文件中获取至少一个目标数据块。其中,该目标索引块中记录的采集时间范围与目标时间段重叠。
159.可选的,数据管理设备可以基于目标时间段和每个备选索引块中的采集时间范围,从至少一个第一索引块中确定至少一个目标索引块。进而数据管理设备可以根据每个目标索引块记录的目标数据块在对应的文件中的存储位置,确定与该目标索引块对应的目标数据块,从而得到至少一个目标数据块。
160.示例的,参考图9,数据管理设备从序列概述中确定出与第一关键字对应的三个第一索引块,并基于目标时间段和每个备选索引块中的采集时间范围,从该三个第一索引块确定出两个目标索引块,进而数据管理设备确定出该两个目标索引块对应的目标数据块。
161.步骤306、数据管理设备获取至少一个目标数据块中的数据。
162.数据管理设备在确定至少一个目标数据块之后,可以获取该至少一个数据块中的
数据。可选的,数据管理设备可以获取每个目标数据块中的所有数据。或者数据管理设备可以获取目标数据块中采集时刻位于该目标时间段的数据。
163.数据管理设备获取的数据可以如表1所示。参考表1,若第一数据类型为ts1@p1,ts1@p1表示的是转速,该获取到的三个数据可以包括三个转速的数值(value):45076、45076和45078。该三个数据均为设备编号assetid为uufseram的物联网设备分别在时刻(time)1597449603456000000、1597449608379000000和1597449613337000000采集的数据。
164.表1
165.timeassetidvalue1597449603456000000uufseram450761597449608379000000uufseram450771597449613337000000uufseram45078
166.在本公开实施例中,若数据获取请求的代码为:select*from ot-raw.“ts1@p1”where assetid=“uufseram”limit3。则数据管理设备还可以获取与该“ts1@p1”相关的所有数据。若ts1@p1为转速,则数据管理设备可以获取转速的数值、以及转速的变化率等。
167.步骤307、数据管理设备将获取到的数据发送至数据分析设备。
168.数据管理设备在获取到至少一个目标数据块中的数据之后,可以将获取的数据发送至数据分析设备。
169.步骤308、数据分析设备对数据进行数据分析。
170.数据分析设备在获取到数据管理设备发送的数据之后,可以基于该数据进行数据分析。通过分析该数据可以及时了解第一物联网设备所采集的数据的内容,从而可以实现对第一物联网设备所监测对象的状态的了解。
171.例如,第一物联网设备所监测对象为风机发电组,数据分析设备通过分析接收到的数据,可以了解过去一段时间风机发电组的工作是否异常,和/或,预测风机发电组在未来一段时间的发电功率。
172.在本公开实施例中,数据管理设备在获取至少一个目标数据块中的数据之后,若数据管理设备的内存中存储的目标链表的长度小于或等于长度阈值,则数据管理设备删除位于目标链表的尾部的对应关系,并可以将该第一数据类型、第一设备标识和第一关键字的对应关系存储至该目标链表的头部。若数据管理设备的内存中存储的目标链表的长度大于长度阈值,则数据管理设备可以将该第一数据类型、第一设备标识和第一关键字的对应关系存储至该目标链表的头部。
173.或者,数据管理设备可以将第一数据类型、第一设备标识和第一关键字索引的对应关系存储至该目标链表的头部。
174.该过程可以采用如下代码实现:
175.type tagvalueseriesidcache struct{
176.sync.rwmutex//读写锁//
177.cache map[string]map[string]map[string]*list.element//存储第一数据类型、第一设备标识和第一关键字的对应关系//
[0178]
evictor*list.list//若目标链表的长度小于或等于长度阈值,则删除位于目标链表的尾部的对应关系//
[0179]
capacity int//目标链表的长度//
[0180]
}
[0181]
其中,该map[string]map[string]map[string]*list.element中的第一个map中存储的是数据类型,第二个map中存储的是设备编号,第三个map中存储的是设备编号的内容,list.element中存储的是关键字索引或者关键字。
[0182]
上述实现过程实际上是采用最近最少使用(least recently used,lru)算法实现。
[0183]
通过将该第一数据类型、第一设备标识和第一关键字的对应关系存储在目标链表中,或者将该第一数据类型、第一设备标识和第一关键字索引的对应关系存储在目标链表中,则数据管理设备再次接收到针对第一物联网设备的数据获取请求后,可以从该目标链表中获取对应的关键字(或者对应的关键字索引),进而可以直接基于该关键字(或关键字索引)确定至少一个目标数据块,由此提高了数据获取的效率。
[0184]
需要说明的是,本技术实施例提供的数据获取方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行删除,例如步骤301和步骤302可以根据情况删除。任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本技术的保护范围之内,因此不再赘述。
[0185]
综上所述,本公开实施例提供了一种数据获取方法,该方法可以基于第一物联网设备的第一数据类型和第一设备标识确定第一关键字,并能够以第一关键字为索引确定至少一个索引块,进而根据该索引块中的存储位置获取数据块。由于无需将第一物联网设备的设备标识与存储的多个物联网设备的设备标识逐一进行对比,因此有效提高了数据获取的效率。
[0186]
图10是本公开实施例提供的一种数据获取装置的框图。该数据获取装置100可以应用于图1所示的物联网中数据管理设备20。该数据管理设备中存储有多个数据块,每个数据块中包含一个物联网设备采集的一种数据类型的数据。如图10所示,该装置可以包括:
[0187]
第一获取模块1001,用于获取针对第一物联网设备的数据获取请求,数据获取请求中携带有第一物联网设备的第一设备标识和待获取数据的第一数据类型。
[0188]
第一确定模块1002,用于基于第一数据类型和第一设备标识,确定与第一数据类型和第一设备标识对应的第一关键字。
[0189]
第一确定模块1003,用于确定与第一关键字对应的至少一个第一索引块,每个第一索引块中记录有一个数据块在文件中的存储位置。
[0190]
第二获取模块1004,用于根据至少一个第一索引块中的存储位置,从文件中获取至少一个目标数据块,每个目标数据块中存储有第一物联网设备采集的第一数据类型的数据。
[0191]
综上所述,本公开实施例提供了一种数据获取装置,该装置可以基于第一物联网设备的第一数据类型和第一设备标识确定第一关键字,并能够以第一关键字为索引确定至少一个索引块,进而根据该索引块中的存储位置获取数据块。由于无需将第一物联网设备的设备标识与存储的多个物联网设备的设备标识逐一进行对比,因此有效提高了数据获取的效率。
[0192]
可选的,第二获取模块1004,用于:
[0193]
根据目标时间段和每个第一索引块中的采集时间范围,从至少一个第一索引块中确定至少一个目标索引块,目标索引块中记录的采集时间范围与目标时间段重叠。数据获取请求中还携带有目标时间段,每个第一索引块中记录有一个数据块所存储的数据的采集时间范围。
[0194]
根据至少一个目标索引块中的存储位置,从文件中获取至少一个目标数据块。
[0195]
可选的,第一确定模块1003,用于:
[0196]
基于第一数据类型从测量块中确定与第一数据类型对应的多个备选物联网设备的设备标识索引,测量块中记录有数据类型与物联网设备的设备标识索引的对应关系。
[0197]
基于第一设备标识从多个备选物联网的设备标识索引中确定与第一设备标识对应的第一物联网设备的设备标识索引。
[0198]
基于第一物联网设备的设备标识索引确定第一关键字在序列块中的存储位置,序列块中记录有多个关键字。
[0199]
基于第一关键字在序列块中的存储位置,从序列块中获取第一关键字。
[0200]
可选的,参考图11,该装置还可以包括:
[0201]
接收模块1005,用于接收第二物联网设备发送的数据信息,数据信息包括第二物联网设备采集的数据、第二物联网设备的第二设备标识和第二物联网设备采集的数据的第二数据类型。
[0202]
存储模块1006,用于若多个数据块中第一数据块的剩余存储量大于或等于存储量阈值,则将第二物联网设备采集的数据存储至第一数据块中。
[0203]
生成模块1007,用于生成第二关键字,并记录第二关键字与第二索引块的对应关系,第二索引块中记录有第一数据块在文件中的存储位置。
[0204]
存储模块1006,还用于将第二关键字存储在序列块中,第二关键字在序列块中的存储位置由第二设备标识对应的设备标识索引确定。
[0205]
参考图11,该装置还可以包括:
[0206]
删除模块1008,用于在获取至少一个目标数据块中的数据之后,若数据管理设备的内存中存储的目标链表的长度小于或等于长度阈值,则删除位于目标链表的尾部的对应关系。
[0207]
存储模块1006,还用于将第一数据类型、第一设备标识和第一关键字的对应关系存储至目标链表的头部。
[0208]
可选的,第一获取模块1001,用于:
[0209]
接收数据分析设备发送的针对第一物联网设备的数据获取请求;
[0210]
参考图11,该装置还可以包括:
[0211]
发送模块1010,用于将获取到的数据发送至数据分析设备。
[0212]
综上所述,本公开实施例提供了一种数据获取装置,该装置可以基于第一物联网设备的第一数据类型和第一设备标识确定第一关键字,并能够以第一关键字为索引确定至少一个索引块,进而根据该索引块中的存储位置获取数据块。由于无需将第一物联网设备的设备标识与存储的多个物联网设备的设备标识逐一进行对比,因此有效提高了数据获取的效率。
[0213]
本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有
程序代码,该程序代码由处理器加载并执行以实现上述实施例所示的数据获取方法,例如图2或图3所示的数据获取方法。
[0214]
本公开实施例提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述实施例所示的数据获取方法,例如,图2或图3所示的数据获取方法。
[0215]
本公开实施例提供了一种数据管理设备20,参考图12,该控制指令的发送设备20可以包括处理器21和存储器22,该存储器22中存储有程序代码,该程序代码由处理器21加载并执行以实现如上述实施例所示的数据获取方法,例如,图2或图3所示的数据获取方法。
[0216]
本公开实施例提供了一种物联网,如图1所示,该物联网可以包括数据管理设备20、至少一个物联网设备10和数据分析设备30。
[0217]
该数据管理设备20包括图10或图11所示的数据获取装置100,或者图12所示的设备。
[0218]
每个物联网设备10用于向数据管理设备发送数据信息,该数据信息包括物联网设备采集的数据、物联网设备的设备标识和物联网设备采集的数据的数据类型。
[0219]
数据分析设备30用于向数据管理设备20发送的针对第一物联网设备的数据获取请求,以及接收数据管理设备20发送的数据。
[0220]
在本公开实施例中,术语“第一”、“第二”、“第三”、“第四”和“第五”仅用于描述目的,而不能理解为指示或暗示相对重要性。本公开实施例中术语“多个”的含义是指两个或两个以上。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0221]
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1