CN114896252A - 物联网设备的查询方法、装置、计算机设备及存储介质 - Google Patents
物联网设备的查询方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114896252A CN114896252A CN202210579956.6A CN202210579956A CN114896252A CN 114896252 A CN114896252 A CN 114896252A CN 202210579956 A CN202210579956 A CN 202210579956A CN 114896252 A CN114896252 A CN 114896252A
- Authority
- CN
- China
- Prior art keywords
- internet
- things
- target
- equipment
- attribute
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种物联网设备的查询方法、装置、计算机设备及存储介质,涉及物联网技术领域。该方法包括:基于所述物联网设备的设备模型的模式(SCHEMA),将所述物联网设备的属性映射到固定字段中,所述模式是一种用于描述所述物联网设备的属性的名称和数据类型的结构,所述固定字段包括多个子字段;为所述固定字段构建查询索引,所述查询索引用于辅助检索集合(collection),所述集合中存储有对应于不同设备模型的物联网设备的信息。基于本申请实施例所示技术方案,可以实现在一个集合内,为不同设备模型的物联网设备建立通用的查询索引。
Description
技术领域
本申请涉及物联网技术领域,特别涉及一种物联网设备的查询方法、装置、计算机设备及存储介质。
背景技术
在物联网领域中,会涉及到各式各样的物联网设备,不仅设备数量巨大,而且不同样式的物联网设备具有的属性的性质差别较大,甚至相同名称的属性,具有的数据类型并不相同。同时,不同样式的物联网设备,包含的属性的数量也相差很大。
因此,如何来存储物联网设备的信息,以方便后续基于属性来查询物联网设备,亟需提供解决方案。
发明内容
本申请实施例提供了一种物联网设备的查询方法、装置、计算机设备及存储介质,所述技术方案如下:
根据本申请的一方面,提供了一种物联网设备的查询方法,所述方法包括:
基于所述物联网设备的设备模型的模式(SCHEMA),将所述物联网设备的属性映射到固定字段中,所述模式是一种用于描述所述物联网设备的属性的名称和数据类型的结构,所述固定字段包括多个子字段;
为所述固定字段构建查询索引,所述查询索引用于辅助检索集合(collection),所述集合中存储有对应于不同设备模型的物联网设备的信息。
根据本申请的一方面,提供了一种物联网设备的查询装置,所述装置包括:属性映射模块和索引构建模块;
所述属性映射模块,用于基于所述物联网设备的设备模型的模式,将所述物联网设备的属性映射到固定字段中,所述模式是一种用于描述所述物联网设备的属性的名称和数据类型的结构,所述固定字段包括多个子字段;
所述索引构建模块,用于为所述固定字段构建查询索引,所述查询索引用于辅助检索集合,所述集合中存储有对应于不同设备模型的物联网设备的信息。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的物联网设备的查询方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的物联网设备的查询方法。
根据本申请的另一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如上方面所述的物联网设备的查询方法。
本申请实施例提供的技术方案带来的有益效果至少包括如下的有益效果:
通过预设好一个固定字段,将不同设备模型的物联网设备的属性映射到相同的固定字段中,该固定字段用于构建查询索引,该查询索引用于辅助检索一个集合,该集合中存储有对应于不同设备模型的物联网设备的信息,从而帮助实现在一个集合内,为不同设备模型的物联网设备建立通用的查询索引。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的按照设备模型来建立collection的示意图;
图2是本申请一个示例性实施例提供的包括不同设备模型的collection的示意图;
图3是本申请一个示例性实施例提供的计算机系统的示意图;
图4是本申请一个示例性实施例提供的物联网设备的查询方法的流程图;
图5是本申请一个示例性实施例提供的物联网设备的查询方法的流程图;
图6是本申请一个示例性实施例提供的物联网设备的查询方法的示意图;
图7是本申请一个示例性实施例提供的物联网设备的查询装置的框图;
图8是本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请涉及到的名词进行简单介绍:
模式(SCHEMA):是一种用于描述物联网设备的属性的名称和数据类型的结构。
可以理解的是,SCHEMA涉及到的是物联网设备的属性的描述形式(名称和数据类型),不涉及属性的具体数值。
示例性的,建立如下所示的SCHEMA:
在该SCHEMA中,描述了属性“color”,其数据类型为“string”;描述了属性“country”,其数据类型为“string”。
集合(collection):是一种存储物联网设备的设备信息的物理集合。collection可以理解为一张数据表格。
物联网领域,会涉及到各式各样的物联网设备,不仅物联网设备的数量巨大,而且不同样式的物联网设备具有的属性差别较大,甚至相同名称的属性,具有的数据类型并不相同,如地点(location)属性,有的设备会使用时区(timezone),而有的物联网设备会采用经度和维度组合的复合结构。同时,不同物联网设备,包含的属性数量也相差很大。因此,无法采用传统的关系型数据库(如MySQL)在同一张表中按属性分列来存储不同设备的属性。因此,实际中更多是以文档(document)的形式来存储物联网设备的属性或者物联网设备的完整信息。
虽然采用document的形式解决了物联网设备的属性的存储问题,但是基于属性查询物联网设备时,却需要进行全表扫描所有的物联网设备,或者扫描指定类型下的所有物联网设备。因为无法预知新存入的物联网设备具有什么属性名称以及属性类型,这导致无法通过建立索引来加快基于属性查询物联网设备的过程。当系统中存储的物联网设备比较多时,全表扫描所有的物联网设备的耗时很长,同时对系统的冲击很大,如:会导致大量的磁盘输入/输出(Input/Output,I/O)和中央处理器(Central Processing Unit,CPU)使用率。
物联网领域,一般对会建立设备模型来描述同一类物联网设备的信息。一种做法是对每个设备模型,建立一个独立的collection来存储相关的物联网设备,这样可以保证同一个collection下的物联网设备的属性具有相同的名称和数据类型。因此,我们可以对每种设备模型相关的collection,建立属于自己的属性索引,来加快设备查询。在用户指定设备模型和属性的情况下,这种方法能够比较高效地返回满足查询条件的物联网设备。
按设备模型划分collection来存储物联网设备的做法,其缺点也是明显的。因为设备模型的数量往往数以千计,这意味着需要建立同等数量的collection,这将导致巨大的运维成本,更重要的是,这种方法不利于进行设备数据相关的聚合操作。比如,同一用户的物联网设备可能存在多个不同的collection中,采用按模型划分collection的形式,无法做到快速获取某一用户下的设备总数。
要实现高效地基于属性查询设备的能力,需要借助于索引;而要获得良好的设备数据聚合能力,存储设备的collection的数量不能太多。但鉴于不同物联网设备的属性的差异性,目前没有很好的方式能够兼顾这两点。
示例性的,图1示出了按照设备模型来建立collection的示意图。该图中包括两个collection,分别对应于model01类型的设备模型和model02类型的设备模型。
由于相同设备模型下的设备具有相同的属性(包括名称和数据类型),因此同一collection中,可以对属性建立索引。如,对于model01类型的设备collection,包括索引:color、weight和location;对于model01类型的设备collection,包括索引:color和country。对于下面这种查询:query:modelId='mode01'and color=4,这种实现方式能够比较高效地返回结果。
但是,由于系统中设备模型的数量很多,这将导致建立许多collection,物联网系统中,往往有数以千计的模型个数。一方面,不利于数据的维护(如备份、迁移等);更关键的是,导致数据聚合操作极为复杂,比如获取特定用户下所有设备的总量,这要求合并(merge)所有collection的结果。
示例性的,图2示出了包括不同设备模型的collection的示意图。该图中包括一个collection,该collection中的物联网设备可以具有不同的设备模型。
图2中列出了2个实例设备信息,它们具有不同的设备模型。虽然这两个设备模型的SCHEMA中都定义了color属性,但可以看到,它们的数据类型是不一样的(model01中color的数据类型为int,而model02中color的数据类型则为string)。同时,这两个模型SCHEMA中包含的属性个数和名称也是不同的。
物联网系统中,用户可以自定义设备模型的SCHEMA,则就导致在以document的形式将设备信息存在同一collection中时,很难对物联网设备的属性建立有效的索引。
如上述分析,相关技术中,不能提供较好的物联网设备的查询方式。
下面,对本申请提供的物联网设备的查询方法进行说明。
请参考图3,其示出了本申请实施例涉及的一种计算机系统的示意图。该计算机系统可以包括:若干个物联网设备110和服务器120。
其中,物联网设备110和服务器120之间通过网络进行通信。该网络为无线网络或有线网络。
物联网设备110,也可以称为智能设备或智能硬件,其可以是具有检测功能的检测设备,比如环境监控设备(如,温度传感器、噪声传感器等),又比如交通监控设备(如,摄像头),还可以是具有控制功能的控制设备,如:智能开关、智能插座、智能窗帘等智能家居,又比如各种具有控制功能的工业控制设备等。本申请实施例中的物联网设备110是能够通过网络或者其他途径接入物联网的设备的统称。
物联网设备110对应有设备信息,设备信息包括设备的属性,设备信息可以上传给服务器120。服务器120对不同物联网设备110的设备信息进行存储,并支持对物联网设备进行查询。
可选的,上述服务器120可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个提供云计算、云存储、大数据和人工智能平台等基础云服务的云服务器。
下面,对本申请实施例中所出的物联网设备的查询方法进行进一步的说明。
图4示出了本申请一个示例性实施例提供的物联网设备的查询方法的流程图,本申请实施例以该方法应用于图3所示的服务器为例进行说明,该方法包括:
步骤410:基于物联网设备的设备模型的模式(SCHEMA),将物联网设备的属性映射到固定字段中。
在物联网领域,使用设备模型来描述同一类物联网设备的信息。示例性的,对于物联网设备a和物联网设备b,均使用设备模型model01来描述物联网设备的信息;对于物联网设备c和物联网设备d,均使用设备模型model02来描述物联网设备的信息。
其中,每个设备模型对应有相应的模式(SCHEMA),模式是一种用于描述物联网设备的属性的名称和数据类型的结构。可以理解的是,由于模式中可以包括多个属性,这些多个属性在模式中是按照一定的顺序排列的。
其中,属性是一个描述物联网设备某一维度特征的度量,属性对应有相应的名称以及数据类型。下面,对本申请所支持的属性进行说明。
·属性为设备信息属性。
设备信息属性用于描述物联网设备的设备自身。示例性的,设备信息属性包括:大小,重量,长度,颜色,地点。
·属性为功能属性。
功能属性用于描述物联网设备所支持的功能。示例性的,物联网设备为智能空调,该智能空调支持进行温度设定,相应的功能属性为温度设定属性。示例性的,物联网设备为智能风扇,该智能风扇支持进行风速调节,相应的功能属性为风速调节属性。
在本申请实施例中,对于计算机系统中的任意一个物联网设备,获取该物联网设备的设备模型的模式,并基于该模式,将物联网设备的属性映射到固定字段。
其中,固定字段是为了进行属性的映射而创建的字段。
可选的,固定字段包括多个子字段,也即,固定字段由若干个子字段组成。
可选的,基于物联网设备的模式,将物联网设备的属性映射到固定字段中,指的是:基于模式所指示的属性的顺序以及数据类型,将属性对应的值写入固定字段中的一个子字段中。
示例性的,固定字段中的每个子字段均对应有两个维度的信息:顺序信息以及数据类型信息,且不同的两个子字段之间,上述两个维度的信息中的至少一个维度的信息存在不同。
相应的,基于物联网设备的模式,将物联网设备的属性映射到固定字段,包括:通过物联网设备的模式所指示的属性的顺序,查询具有相应顺序信息的至少一个子字段,再通过物联网设备的模式所指示的属性的数据类型,在上述至少一个子字段中查询具有相应数据类型信息的唯一的子字段,将属性对应的值写入该子字段中。或者,基于物联网设备的模式,将物联网设备的属性映射到固定字段,包括:通过物联网设备的模式所指示的属性的数据类型,查询具有相应数据类型信息的至少一个子字段,再通过物联网设备的模式所指示的属性的顺序,在上述至少一个子字段中查询具有相应顺序信息的唯一的子字段,将属性对应的值写入该子字段中。
可以理解的是,不同设备模型下,属性的名称和数据类型并不固定,因此,难以对不同设备模型下的物联网设备建立查询索引。本申请实施例中,通过预设好一个固定字段,从而实现将不同设备模型的物联网设备的属性均可以映射到相同的固定字段中。
可选的,在步骤410之前,还包括如下步骤:建立物联网设备的设备模型的模式。
也即,在将物联网设备的信息存储在集合中之前,建立设备模型的SCHEMA,用于描述物联网设备的属性(包括名称和类型)。
步骤420:为固定字段构建查询索引,查询索引用于辅助查询集合(collection)。
其中,集合中存储有对应于不同设备模型的物联网设备的信息。
在本申请实施例中,将对应于不同设备模型的物联网设备的信息存储在同一个集合中。示例性的,集合包括:设备模型model01下的物联网设备1和物联网设备2的信息;设备模型model02下的物联网设备3和物联网设备4的信息。
可以理解的是,将对应于不同设备模型的物联网设备的信息存储在同一个集合中,可以降低运维成本,并且利于进行设备数据相关的聚合操作。比如,可以通过对该集合进行查询,从而快速获取某一用户下的物联网设备的总数。
可选的,集合中的信息存储为文档document的形式。不同物联网设备所包含的属性数量、属性的数据类型相差较大,难以采用传统的关系型数据库(如MySQL)在同一张表中按属性分列来存储不同物联网设备的信息,因此,在集合中以document的形式,可以更好的来存储对应于不同设备模型的物联网设备的信息。
在本申请实施例中,在完成对所有的物联网设备的属性映射到固定字段的操作后,为固定字段构建查询索引,查询索引用于辅助查询集合。
其中,查询索引是一种单独的、物理的对集合中的值进行排序的一种存储结构,其相当于书籍的目录,根据书籍的目录能够快速的找到相应的数据,类似的,根据查询索引能够快速的找到集合中相应的数据,以提高查询效率。
为固定字段构建查询索引,指的是:将固定字段作为集合的索引,在查询到固定字段中的一个值后,可以根据查询到的固定字段的值去集合中提取相应的数据。
综上所述,本实施例提供的物联网设备的查询方法,通过预设好一个固定字段,将不同设备模型的物联网设备的属性映射到相同的固定字段中,该固定字段用于构建查询索引,该查询索引用于辅助检索一个集合,该集合中存储有对应于不同设备模型的物联网设备的信息,从而帮助实现在一个集合内,为不同设备模型的物联网设备建立通用的查询索引。
在示例性实施例中,固定字段基于如下方式定义:
(1)获取集合中的单个设备模型支持的最大属性数量和最大属性类型个数。
其中,单个设备模型支持的最大属性数量指的是:在所有的设备模型对应的属性数量中,数值最大的属性数量;单个设备模型支持的最大属性类型个数指的是:在所有的设备模型对应的属性的数据类型个数中,数值最大的数据类型个数。
也即,在集合中包括多个设备模型的情况下,获取每个设备模型分别支持的属性数量和属性的数据类型个数,再比较得到单个设备模型支持的最大属性数量和最大属性类型个数。示例性的,设备模型model01支持的属性数量为3,属性的数据类型个数为3;设备模型model01支持的属性数量为2,属性的数据类型个数为2;则单个设备模型支持的最大属性数量为3,最大属性类型个数为3。
示例性的,设备模型model01支持的属性数量为4,属性的数据类型个数为2;设备模型model01支持的属性数量为3,属性的数据类型个数为3;则单个设备模型支持的最大属性数量为4,最大属性类型个数为3。
(2)确定固定字段包括X个子字段,X等于最大属性数量乘以最大属性类型个数;其中,X个子字段划分为最大属性数量个子字段组,每个子字段组中包括最大属性类型个数个子字段,每个子字段用于标识对应于目标数据类型的属性。
也即,固定字段中包括最大属性数量乘以最大属性类型个数的数量个子字段,且固定字段中包括最大属性数量个子字段组,每个子字段组中包括最大属性类型个数个子字段,一个子字段组中的不同子字段对应于不同的数据类型。
可选的,每个子字段组的数据类型集合相同,数据类型集合指的是该子字段组中的多个子字段分别对应的数据类型所构成的集合。
示例性的,在单个设备模型支持的最大属性数量为3,最大属性类型个数为3的情况下,则固定字段包括9个子字段。示例性的,前3个子字段对应于子字段组1,且,子字段组1中的第一个子字段对应于数据类型1,子字段组1中的第二个子字段对应于数据类型2,子字段组1中的第三个子字段对应于数据类型3;中间3个子字段对应于子字段组2,且,子字段组2中的第一个子字段对应于数据类型1,子字段组2中的第二个子字段对应于数据类型2,子字段组2中的第三个子字段对应于数据类型3;后3个子字段对应于子字段组3,且,子字段组3中的第一个子字段对应于数据类型1,子字段组31中的第二个子字段对应于数据类型2,子字段组3中的第三个子字段对应于数据类型3。
可以理解的是,在上述示例中,仅以不同子字段组中,每个子字段均按照数据类型1、数据类型2、数据类型3的顺序的对应方式,在具体实现时,也可以两个子字段组中的子字段对应的数据类型的顺序不同。
基于如上固定字段,对属性映射到固定字段的方式进行说明。
基于物联网设备的设备模型的模式,将物联网设备的所有属性映射到一组固定字段,包括:
(1)按照模式中定义的属性的顺序,确定将属性映射到相应顺序的目标子字段组中。
其中,目标子字段组是固定字段包括的最大属性数量个子字段组中的一个子字段组。
(2)按照模式中定义的属性的数据类型,确定将属性映射到目标子字段中。
其中,目标子字段是目标子字段组包括的最大属性类型个数个子字段中的一个子字段。
示例性的,模式中按照如下顺序定义了:属性a、属性b和属性c,固定字段中按照如下顺序定义了:子字段组1、子字段组2和子字段组3,则将属性a映射到子字段组1中,将属性b映射到子字段组2中,将属性c映射到子字段组3中。
示例性的,子字段组1中的第一个子字段对应于数据类型1,子字段组1中的第二个子字段对应于数据类型2,子字段组1中的第三个子字段对应于数据类型3,属性a对应于数据类型1,则将属性a的值映射到子字段组1中的第一个子字段中。属性b和属性c的映射方式可以依此类推,因此不再赘述。
在示意性实施例中,在完成属性映射,为固定字段建立查询索引后,可以使用设备查询条件检索查询索引,得到集合中与设备查询条件匹配的目标物联网设备。
图5示出了本申请一个示例性实施例提供的物联网设备的查询方法的流程图,本申请实施例以该方法应用于图3所示的服务器为例进行说明,该方法包括:
步骤510:基于物联网设备的设备模型的模式(SCHEMA),将物联网设备的属性映射到固定字段中。
本步骤的实施方式可以参见上述步骤410,在此不再赘述。
步骤520:为固定字段构建查询索引,查询索引用于辅助查询集合。
本步骤的实施方式可以参见上述步骤420,在此不再赘述。
步骤530:获取设备查询条件。
其中,设备查询条件用于基于目标属性查询物联网设备。
示例性的,设备查询条件中携带目标属性以及目标设备模型标识。其中,目标属性用于标识一个具体的属性值,目标设备模型标识用于标识一个设备模型。
步骤540:使用设备查询条件检索查询索引,得到集合中与设备查询条件匹配的目标物联网设备。
其中,目标物联网设备是集合所存储信息的物联网设备中的一个或多个。
示例性的,根据设备查询条件先对查询索引进行检索,然后根据检索结果再去集合中提取相应的目标物联网设备。
可选的,步骤540替换实现为如下步骤:
(1)基于模式,将设备查询条件中携带的目标属性映射到固定字段中的目标子字段中。
由于模式是一种用于描述物联网设备的属性的名称和数据类型的结构,在设备查询条件中携带目标属性的情况下,可以基于模式所指示的目标属性的顺序以及数据类型,将目标属性映射到固定字段中的目标子字段中。
可选的,设备查询条件中携带目标属性和目标设备模型标识;基于模式,将设备查询条件中携带的目标属性映射到固定字段中的目标子字段中,包括:
获取设备查询条件对应的目标模式,目标模式是与目标设备模型标识对应的设备模型的模式;基于目标模式,将设备查询条件中携带的目标属性映射到固定字段中的目标子字段中。
也即,通过目标设备模型标识确定要查询的物联网设备的设备模型,进而确认该设备模型对应的目标模式,按照目标模式中定义的目标属性的顺序,确定将目标属性映射到固定字段中相应顺序的目标子字段组,再按照目标模式中定义的目标属性的数据类型,确定将目标属性映射到目标子字段组中的目标子字段中。
(2)基于目标子字段检索查询索引,得到集合中与设备查询条件匹配的目标物联网设备。
示例性的,对目标子字段对应的查询索引进行检索,然后根据检索结果再去集合中提取相应的目标物联网设备。
可选的,得到集合中与设备查询条件匹配的目标物联网设备,包括:返回集合中与目标属性的值相同,且设备模型与目标设备模型标识对应的目标物联网设备。
综上所述,本实施例提供的技术方案,通过预设好一个固定字段,将不同设备模型的物联网设备的属性映射到相同的固定字段中,该固定字段用于构建查询索引,该查询索引用于辅助检索一个集合,该集合中存储有对应于不同设备模型的物联网设备的信息,从而帮助实现在一个集合内,为不同设备模型的物联网设备建立通用的查询索引。
在建构完查询索引后,可以获取设备查询条件,检索查询索引在集合中进行设备查询,从而实现对设备的快速查询。
结合参考图6,以文档(document)的形式将所有物联网设备的设备信息存在同一集合(collection)中。在本实施例中,以两个物联网设备进行说明,该collection中列出了两个实例设备信息,分别具有不同的设备模型:model01和model02。
对应于该collection的模型的模式(SCHEMA)如下表所示:
步骤601,基于模型SCHEMA,将属性映射到固定字段中。
(1)固定字段的定义方式如下所示:
根据单个模型支持的最大属性数量和最大属性类型个数,定义一组固定字段,其包含的子字段数量为:最大属性数量*最大属性类型个数。
对于本实施例,可以定义固定字段:0_int,0_double,0_string,1_int,1_double,1_string,2_int,2_double,2_string。
(2)将属性按照模型SCHEMA中定义的顺序和类型映射到固定字段。
设备1:color->0_int,weight->1_double,location->2_string。
设备2:color->0_string,country->1_string。
映射后的固定字段如图6所示。
步骤602,对固定字段建立查询索引。
步骤603,根据属性查询设备。
(1)获取设备查询条件,设备查询条件中携带设备模型标识和属性。
(2)获取与设备查询条件对应的模型SCHEMA。
(3)将设备查询条件按照模型SCHEMA进行映射,得到映射后的子字段。
(4)根据映射后的子字段,检索之前构建的查询索引,得到匹配的目标物联网设备。
下面,结合两个示例对上述查询方式进行说明。
示例1:
(1)给定如下形式的设备查询条件:modeId='model01'and color=1。
(2)获取与设备查询条件对应的模型SCHEMA,如[{"color":"int"},{"weight":"double"},{"location":"string"}]。
(3)将设备查询条件按照模型SCHEMA进行映射,得到映射后的子字段,即color->0_int。
(4)根据映射后的子字段0_int,检索之前构建的查询索引,返回值为1且文档中modelId为model01的所有物联网设备。
示例2:
(1)给定如下形式的设备查询条件:modeId='model02'and color='blue'
(2)获取与设备查询条件对应的模型SCHEMA,如[{"color":"string"},{"country":"string"}]。
(3)将设备查询条件按照模型SCHEMA进行映射,得到映射后的子字段,即color->0_string。
(4)根据映射后的子字段0_string,检索之前构建的查询索引,返回值为blue且文档中modelId为model02的所有物联网设备。
可以理解的是,上述方法实施例可以单独实施,也可以组合实施,本申请实施例对此不进行限制。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
图7示出了本申请的一个示例性实施例提供的物联网设备的查询装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分,该装置包括:属性映射模块702和索引构建模块704;
所述属性映射模块702,用于基于所述物联网设备的设备模型的模式,将所述物联网设备的属性映射到固定字段中,所述模式是一种用于描述所述物联网设备的属性的名称和数据类型的结构,所述固定字段包括多个子字段;
所述索引构建模块704,用于为所述固定字段构建查询索引,所述查询索引用于辅助检索集合,所述集合中存储有对应于不同设备模型的物联网设备的信息。
在一个可选的实施例中,所述固定字段基于如下方式定义:
获取所述集合中的单个所述设备模型支持的最大属性数量和最大属性类型个数;
确定所述固定字段包括X个子字段,所述X等于所述最大属性数量乘以所述最大属性类型个数;
其中,所述X个子字段划分为所述最大属性数量个子字段组,每个所述子字段组中包括所述最大属性类型个数个子字段,每个所述子字段用于标识对应于目标数据类型的属性。
在一个可选的实施例中,所述属性映射模块702,用于:
按照所述模式中定义的所述属性的顺序,确定将所述属性映射到相应顺序的目标子字段组中,所述目标子字段组是所述固定字段包括的所述最大属性数量个子字段组中的一个子字段组;
按照所述模式中定义的所述属性的数据类型,确定将所述属性映射到目标子字段中,所述目标子字段是所述目标子字段组包括的所述最大属性类型个数个子字段中的一个子字段。
在一个可选的实施例中,所述装置还包括:查询条件获取模块和设备查询模块;
所述查询条件获取模块,用于获取设备查询条件,所述设备查询条件用于基于目标属性查询所述物联网设备;
所述设备查询模块,用于使用所述设备查询条件检索所述查询索引,得到所述集合中与所述设备查询条件匹配的目标物联网设备。
在一个可选的实施例中,所述设备查询模块,用于:
基于所述模式,将所述设备查询条件中携带的所述目标属性映射到所述固定字段中的目标子字段中;
基于所述目标子字段检索所述查询索引,得到所述集合中与所述设备查询条件匹配的所述目标物联网设备。
在一个可选的实施例中,所述设备查询条件中还携带目标设备模型标识;
所述设备查询模块,用于:
获取所述设备查询条件对应的目标模式,所述目标模式是与所述目标设备模型标识对应的设备模型的模式;
基于所述目标模式,将所述设备查询条件中携带的所述目标属性映射到所述固定字段中的目标子字段中;
返回所述集合中与所述目标属性的值相同,且设备模型与所述目标设备模型标识对应的所述目标物联网设备。
在一个可选的实施例中,所述集合中的信息存储为文档document的形式。
综上所述,本实施例提供的装置,通过预设好一个固定字段,将不同设备模型的物联网设备的属性映射到相同的固定字段中,该固定字段用于构建查询索引,该查询索引用于辅助检索一个集合,该集合中存储有对应于不同设备模型的物联网设备的信息,从而帮助实现在一个集合内,为不同设备模型的物联网设备建立通用的查询索引。
图8是本申请一个实施例提供的计算机设备的结构示意图。具体来讲:计算机设备800包括中央处理单元(英文:Central Processing Unit,简称:CPU)801、包括随机存取存储器(英文:Random Access Memory,简称:RAM)802和只读存储器(英文:Read-OnlyMemory,简称:ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。计算机设备800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
基本输入/输出系统806包括有用于显示信息的显示器808和用于用户帐号输入信息的诸如鼠标、键盘之类的输入设备809。其中显示器808和输入设备809都通过连接到系统总线805的输入/输出控制器810连接到中央处理单元801。基本输入/输出系统806还可以包括输入/输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。大容量存储设备807及其相关联的计算机可读介质为计算机设备800提供非易失性存储。也就是说,大容量存储设备807可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:Erasable Programmable Read-Only Memory,简称:EPROM)、电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本申请的各种实施例,计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备800可以通过连接在系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的物联网设备的查询方法。
本申请还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例提供的物联网设备的查询方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种物联网设备的查询方法,其特征在于,所述方法包括:
基于所述物联网设备的设备模型的模式SCHEMA,将所述物联网设备的属性映射到固定字段中,所述模式是一种用于描述所述物联网设备的属性的名称和数据类型的结构,所述固定字段包括多个子字段;
为所述固定字段构建查询索引,所述查询索引用于辅助检索集合collection,所述集合中存储有对应于不同设备模型的物联网设备的信息。
2.根据权利要求1所述的方法,其特征在于,所述固定字段基于如下方式定义:
获取所述集合中的单个所述设备模型支持的最大属性数量和最大属性类型个数;
确定所述固定字段包括X个子字段,所述X等于所述最大属性数量乘以所述最大属性类型个数;
其中,所述X个子字段划分为所述最大属性数量个子字段组,每个所述子字段组中包括所述最大属性类型个数个子字段,每个所述子字段用于标识对应于目标数据类型的属性。
3.根据权利要求2所述的方法,其特征在于,所述基于所述物联网设备的设备模型的模式,将所述物联网设备的所有属性映射到固定字段中,包括:
按照所述模式中定义的所述属性的顺序,确定将所述属性映射到相应顺序的目标子字段组中,所述目标子字段组是所述固定字段包括的所述最大属性数量个子字段组中的一个子字段组;
按照所述模式中定义的所述属性的数据类型,确定将所述属性映射到目标子字段中,所述目标子字段是所述目标子字段组包括的所述最大属性类型个数个子字段中的一个子字段。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
获取设备查询条件,所述设备查询条件用于基于目标属性查询所述物联网设备;
使用所述设备查询条件检索所述查询索引,得到所述集合中与所述设备查询条件匹配的目标物联网设备。
5.根据权利要求4所述的方法,其特征在于,所述使用所述设备查询条件检索所述查询索引,得到所述集合中与所述设备查询条件匹配的目标物联网设备,包括:
基于所述模式,将所述设备查询条件中携带的所述目标属性映射到所述固定字段中的目标子字段中;
基于所述目标子字段检索所述查询索引,得到所述集合中与所述设备查询条件匹配的所述目标物联网设备。
6.根据权利要求5所述的方法,其特征在于,所述设备查询条件中还携带目标设备模型标识;
所述基于所述模式,将所述设备查询条件所查询的目标属性映射到所述固定字段中的目标子字段中,包括:
获取所述设备查询条件对应的目标模式,所述目标模式是与所述目标设备模型标识对应的设备模型的模式;
基于所述目标模式,将所述设备查询条件中携带的所述目标属性映射到所述固定字段中的目标子字段中;
所述得到所述集合中与所述设备查询条件匹配的所述目标物联网设备,包括:
返回所述集合中与所述目标属性的值相同,且设备模型与所述目标设备模型标识对应的所述目标物联网设备。
7.根据权利要求1至3任一所述的方法,其特征在于,
所述集合中的信息存储为文档document的形式。
8.一种物联网设备的查询装置,其特征在于,所述装置包括:属性映射模块和索引构建模块;
所述属性映射模块,用于基于所述物联网设备的设备模型的模式SCHEMA,将所述物联网设备的属性映射到固定字段中,所述模式是一种用于描述所述物联网设备的属性的名称和数据类型的结构,所述固定字段包括多个子字段;
所述索引构建模块,用于为所述固定字段构建查询索引,所述查询索引用于辅助检索集合collection,所述集合中存储有对应于不同设备模型的物联网设备的信息。
9.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行,以实现如权利要求1至7任一项所述的物联网设备的查询方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行,以实现如权利要求1至7任一项所述的物联网设备的查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210579956.6A CN114896252A (zh) | 2022-05-25 | 2022-05-25 | 物联网设备的查询方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210579956.6A CN114896252A (zh) | 2022-05-25 | 2022-05-25 | 物联网设备的查询方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114896252A true CN114896252A (zh) | 2022-08-12 |
Family
ID=82725587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210579956.6A Pending CN114896252A (zh) | 2022-05-25 | 2022-05-25 | 物联网设备的查询方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114896252A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686583A (zh) * | 2023-01-04 | 2023-02-03 | 徐工汉云技术股份有限公司 | 海量物联网设备升级方法、装置、电子设备和存储介质 |
-
2022
- 2022-05-25 CN CN202210579956.6A patent/CN114896252A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686583A (zh) * | 2023-01-04 | 2023-02-03 | 徐工汉云技术股份有限公司 | 海量物联网设备升级方法、装置、电子设备和存储介质 |
CN115686583B (zh) * | 2023-01-04 | 2023-03-21 | 徐工汉云技术股份有限公司 | 海量物联网设备升级方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101036141B (zh) | 具有持久性、用户可访问的位图值的数据库管理系统 | |
CN1713179B (zh) | 在对象模型中的影响分析 | |
CN110291518A (zh) | 合并树无用单元指标 | |
CN110554995A (zh) | 一种深度学习模型的管理方法及系统 | |
CN108763341B (zh) | 电子装置、自动化建表方法及存储介质 | |
CN113434482A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN115017158A (zh) | 节点信息查询方法 | |
CN114896252A (zh) | 物联网设备的查询方法、装置、计算机设备及存储介质 | |
CN109684418A (zh) | 基于电网图数据库的数据存储方法及装置 | |
CN113282579A (zh) | 一种异构数据存储与检索方法、装置、设备及存储介质 | |
CN112486985A (zh) | 一种锅炉数据的查询方法、装置、设备及存储介质 | |
CN111984745A (zh) | 数据库字段动态扩展方法、装置、设备及存储介质 | |
CN111984649A (zh) | 数据索引的查找方法、装置和相关设备 | |
CN113901131B (zh) | 基于索引的链上数据查询方法及装置 | |
CN114282029A (zh) | 一种图元管理方法、装置、电子设备及存储介质 | |
CN114840631A (zh) | 空间文本查询方法、装置、电子设备及存储介质 | |
CN115510289A (zh) | 一种数据立方体配置方法、装置、电子设备及存储介质 | |
CN115114297A (zh) | 数据轻量存储及查找方法、装置、电子设备及存储介质 | |
JPWO2007046446A1 (ja) | データ管理装置及び端末装置 | |
KR20220099745A (ko) | 지리공간 블록체인 데이터 검색을 위한 공간 분할 기반의 트리 인덱싱 및 질의어 처리 방법 및 장치 | |
CN115221360A (zh) | 树形结构配置方法和系统 | |
CN112181796A (zh) | 信息采集方法、装置、服务器及存储介质 | |
US7257591B2 (en) | Method of referencing data via edge definition | |
CN110825846A (zh) | 数据处理方法及装置 | |
CN113901048B (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 |