CN113297339B - 数据存储的方法、设备、存储介质及产品 - Google Patents

数据存储的方法、设备、存储介质及产品 Download PDF

Info

Publication number
CN113297339B
CN113297339B CN202110851143.3A CN202110851143A CN113297339B CN 113297339 B CN113297339 B CN 113297339B CN 202110851143 A CN202110851143 A CN 202110851143A CN 113297339 B CN113297339 B CN 113297339B
Authority
CN
China
Prior art keywords
data
internet
key
things
code
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.)
Active
Application number
CN202110851143.3A
Other languages
English (en)
Other versions
CN113297339A (zh
Inventor
伊翼
李飞飞
张友东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202110851143.3A priority Critical patent/CN113297339B/zh
Publication of CN113297339A publication Critical patent/CN113297339A/zh
Application granted granted Critical
Publication of CN113297339B publication Critical patent/CN113297339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供一种数据存储的方法、设备、存储介质及产品。其中,存储物联网设备采集到的物联网数据时,可获取物联网数据关联的标识属性的具有设定长度的编码ID;将该标识属性的编码ID以及物联网数据的时间戳进行拼接,可得到物联网数据对应的键;基于物联网数据的数据类型以及物联网数据的值,可得到该键对应的值。基于这种方式生成的物联网数据的键‑值对,降低了物联网场景下产生的数据的存储操作对数据的标识属性的依赖,并可基于编码ID的长度对属性标识进行区分。进而,可降低键‑值存储方式对物联网数据造成的限制,实现了通用性较强的物联网数据的键‑值存储方式,有利于对物联网数据进行高效存储。

Description

数据存储的方法、设备、存储介质及产品
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据存储的方法、设备、存储介质及产品。
背景技术
物联网(Internet of Things,IoT)是互联网、传统电信网等网络的信息承载体,可使得能够被独立寻址的普通物理对象实现互联互通。在IoT的应用场景中,IoT设备可随着时间的推进不断采集数据。IoT设备采集到的数据(以下称IoT数据)可进行统一存储,以便于后续对采集到的IoT数据进行查询、分析、以及展示。
现有的非关系型数据库提供的数据存储方法对IoT数据具有较差的通用性,无法实现IoT数据的高效存储。因此,有待提出一种新的解决方案。
发明内容
本申请的多个方面提供一种数据存储的方法、设备、存储介质及产品,用以高效地对IoT数据进行存储。
本申请实施例提供一种数据存储的方法,包括:接收物联网设备采集到的物联网数据;获取所述物联网数据关联的至少一种标识属性各自的具有设定长度的编码ID;将所述至少一种标识属性各自的编码ID以及所述物联网数据的采集时间戳进行拼接,得到所述物联网数据对应的第一键;确定所述物联网数据的数据类型以及所述物联网数据的值,作为第一值;将所述第一键和所述第一值形成的数据记录保存在键-值存储系统中。
本申请实施例还提供一种服务器,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够执行本申请实施例提供的方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,当计算机程序被处理器执行时,致使处理器能够执行本申请实施例提供的方法中的步骤。
本申请实施例提供的数据存储的方法中,考虑到物联网数据通常与多种物联网设备关联的标识属性进行对应存储的特点,在接收到物联网设备采集到的物联网数据之后,可获取物联网设备关联的至少一种标识属性各自的具有设定长度的编码ID;将该至少一种标识属性各自的编码ID以及物联网数据的时间戳进行拼接,可得到物联网数据对应的键;基于物联网数据的数据类型以及物联网数据的值,可得到该键对应的值。基于这种方式生成的物联网数据的键-值对,降低了物联网场景下产生的数据的存储操作对数据的标识属性的依赖,并可基于编码ID的长度对属性标识进行区分。进而,可降低键-值存储方式对物联网数据造成的限制,实现了通用性较强的物联网数据的键-值存储方式,有利于基于键-值存储系统有利于对物联网数据进行高效存储。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为物联网设备的时序数据模型的示意图;
图1b为本申请一示例性实施例提供的数据存储的方法的结构示意图;
图2a为本申请一示例性实施例提供的数据记录的键的格式示意图;
图2b为本申请一示例性实施例提供的数据记录的定长类型的值的格式示意图;
图2c为本申请一示例性实施例提供的数据记录的可变长类型的值的格式示意图;
图3为本申请一示例性实施例提供的标识属性与编码ID的正向映射和反向映射的示意图;
图4为本申请一示例性实施例提供的设备-标签元数据记录的键、值的示意图;
图5为本申请一示例性实施例提供的标签倒排索引记录的键、值的示意图;
图6是本申请一示例性实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在IoT的应用场景中,IoT设备可随着时间的推进不断采集数据。IoT设备采集到的数据(以下称IoT数据)可进行统一存储,以便于后续对采集到的IoT数据进行查询、分析、以及展示。
通常,IoT数据具有以下特征:
1、IoT设备采集到的IoT数据携带有采集的时间戳。
2、同一IoT设备可以支持采集一种或多种不同指标的数据,且不同时间点采集到的指标类型不一定包含该设备能够采集的全部指标类型。
3、采集到的IoT数据可以通过IoT设备的标识进行行区分。
4、任一IoT设备除具有设备标识外,可能包括其他特征标签。
图1a对IoT设备采集的时序数据模型进行了示意,在图1a示意的模型中,IoT设备采集的时序数据包括:设备种类、设备标识、特征标签、时间戳、指标类型(Fields字段)等等。其中,特征标签为可选项,特征标签可以有多个;指标类型也可以有多个,例如图1a示的“温度(temp)”、“湿度(hum)”等。
基于上述特性,物联网数据可采用传统的关系型数据库进行存储,但现有的非关系型数据库提供的数据存储方法对IoT数据具有较差的通用性,无法实现IoT数据的高效存储。
针对上述技术问题,在本申请一些实施例中,提供了一种解决方案,以下将结合附图,详细说明本申请各实施例提供的技术方案。
图1b是本申请一示例性实施例提供的数据存储的方法的流程示意图,该方法可包括如图1b所示的步骤:
步骤101、接收物联网设备采集到的物联网数据。
步骤102、获取所述物联网数据关联的至少一种标识属性各自的具有设定长度的编码ID。
步骤103、将所述至少一种标识属性各自的编码ID以及所述物联网数据的采集时间戳进行拼接,得到所述物联网数据对应的第一键。
步骤104、确定所述物联网数据的数据类型以及所述物联网数据的值,作为第一值。
步骤105、将所述第一键和所述第一值形成的数据记录保存在键-值存储系统中。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的键、值以及其他描述对象等,不代表先后顺序,不对被描述对象的数量构成限制,也不限定“第一”和“第二”是不同的类型。
其中,物联网设备可包括但不限于车载终端、监测设备、智能家居设备(例如扫地机器人、智能厨卫设备等)、智能穿戴设备(例如智能手表、智能手环、智能宠物穿戴设备)以及各类传感器等等。
物联网数据关联的至少一种标识属性,用于标识该物联网数据,以便于查询时唯一定位该物联网数据。其中,该至少一种标识属性可包括:采集该物联网数据的物联网设备的设备种类、该物联网设备的设备标识以及该物联网数据对应的指标类型中的至少一种。
其中,设备种类,用于描述物联网设备的类型,例如可以是图像采集设备、红外探测设备、温度检测设备、湿度检测设备、智能手环设备、车载终端设备等种类。
其中,设备标识,用于唯一标识物联网设备,例如,可以是移动设备的国际移动设备识别码(International Mobile Equipment Identity,IMEI)或者可以是设备的MAC(Media Access Control Address,媒体存取控制位址)地址等,本实施例不做限制。
其中,指标类型,用于描述物联网设备能够采集的数据的种类。例如,智能手环设备可采集用户的心跳数据、血压数据、血氧饱和度数据、运动步数数据等多种不同种类的数据。例如智能安防设备可采集图像数据、声音数据、人体接近数据等多种不同种类的数据。
在IoT场景中,标识属性通常采用字符串进行表示,且长度并不统一,不利于进行存储以及查询。在本实施例中,为降低物联网数据的存储对字符串格式的标识属性的依赖,可获取该至少一种标识属性各自的具有设定长度的编码ID(Identity,识别标识)。
即,针对任一物联网设备,可对该物联网设备的设备种类进行编码,得到设备种类对应的编码ID。可对该物联网设备的设备标识进行编码,得到设备标识对应的编码ID。可对该物联网设备的指标类型进行编码,得到指标类型对应的编码ID;若该物联网设备关联多个指标类型,则可分别对每个指标类型进行编码,得到每个指标类型对应的编码ID。
其中,可根据不同标识属性可能存在的编码ID的数量,为不同标识属性设置不同的编码长度。例如,可对设备标识设置定长m字节的编码长度,对设备标识的名称设置定长k字节的编码长度,对设备标识的值设置定长v字节的编码长度,对指标类型设置定长f字节的编码长度。其中,m、k、v、f均为正整数。
将标识属性转化为编码ID后,标识属性对应的编码ID具有固定的长度,有利于在后续查询的过程中根据编码ID的长度推导编码ID的位置,从而将拼接的编码ID进行区分。
以下将结合一个具体的例子进行说明。
假设,如图1a所示,一温度检测设备的设备种类为thermometer(温度计),指标类型为temp(temperature的简写,意为温度)。对上述标识属性进行编码时,设备种类"thermometer"可被编码为3字节的0x00,0x00,0x0F;定长为3字节时,可允许编码的设备种类数量为16777216个。其中,指标类型字段"temp" 可被编码为3字节的0x00,0xFF,0x02,定长3字节时可允许编码的不重复的指标字段名的数量为16777216个。
上述编码ID的字段长度仅为示例性说明,实际中可根据需求设置不同标识属性的编码ID的字段长度,本实施例不做限制。
当采用键-值存储系统存储物联网数据时,物联网数据需以键-值对(Key-Valuepair)的生成数据记录,并对数据记录进行存储。
以下将首先介绍数据记录中的键的生成方式。
在本实施例中,可将物联网数据的至少一种标识属性各自的编码ID以及物联网数据的采集时间戳进行拼接,得到物联网数据对应的键。为与后续实施例描述的其他键进行区分,此处将该至少一种标识属性各自的编码ID与采集时间戳拼接成的键描述为第一键。
在一些实施例中,第一键包括物联网设备的设备种类以及设备标识各自对应的编码ID时,设备种类以及设备标识各自对应的编码ID可用于唯一识物联网设备,以明确物联网数的来源。同一物联网设备可上报一种或者多种指标类型,在第一键中添加物联网数据对应的指标类型的编码ID时,可在同一设备上报的物联网数据中区分不同指标类型对应的数据。
其中,该物联网数对应的采集时间戳,指的是真实的采集时间戳,可精确到毫秒。该采集时间戳与物联网数据是一一对应的,符合键-值存储中一个键对应一个值的存储方式,因此,可将物联网设备上报的数据的采集时间戳放入键中。
通常,不同物联网设备具有不同的采集频率,在第一键中,可根据物联网设备的采集频率为其对应的采集时间戳设置固定的长度。其中,采集频率越大时,用于存放采集时间戳的字节数也越多。例如,为兼顾物联网设备的低频上报以及高频上报的需求,可将时间戳按照长度为8字节的Epoch(时期,指一个特定的时间)毫秒时间戳进行编码,并存储编码后的时间戳。其中,Epoch为:1970-01-01 00:00:00 UTC(Universal Time Coordinated,协调世界时)。
将上述多个标识属性各自对应的编码ID以及采集时间戳进行拼接后,可得到如图2a所示的键。图2a所示的编码ID的排序,对按照Key进行字典排序实现的键-值存储更为友好,基于该编码ID的排序方式,可确保同一设备上报的物联网数据被存储在一起。
在一些可选的实施例中,若对Key进行字典排序的键-值存储具备分布式能力,则可进一步在拼接后的Key之前加一个字节的盐值(SALT值,随机值),如图2a所示。可选地,可以将设备种类对应的编码ID以及设备标识对应的编码ID作为基础进行盐值的计算,进而可进一步保证同一物联网设备上报数据具有相邻性。
接下来将介绍键对应的值的生成方式。
键-值对的值,用于保存物联网设备采集到的指标数据的原始信息,该原始信息包括物联网数据的值以及对应的数据类型。因此,在本实施例中,可确定物联网设备采集到的物联网数据的数据类型以及物联网数据的值,作为键的值。为便于区分,第一键的值,可描述为第一值。
其中,物联网数据的数据类型可包括:布尔(Boolean)型、整型、浮点型、字符串以及二进制数组中的至少一种。
在IoT场景中,不同物联网设备可上报的不同数据类型的数据,同一物联网设备针对不同指标类型也可上报不同数据类型的数据。在一些情况中,出于设备故障或固件设计等因素,同一物联网设备针对同一指标类型也可能上报不同类型的数据。为适应上述数据类型不同的情况,本实施例采用基于自描述的格式对物联网数据的数据类型以及数据值进行存储,以下将进行说明。
其中,自描述是指,通过数据的存储格式,反映所存储的数据自身的特性。针对定长类型的数据,可设置第一个字节用于描述数据类型,第一个字节之后的定长字节用于描述实际数据值。如图2b所示,对于Double(双精度浮点型)类型以及Long(长整型数据)类型的物联网数据,可采用1个字节描述数据类型,采用定长的8字节描述数据值。其中,布尔类型的数据的值为0或者1针对布尔类型的数据,可采用1个字节描述数据类型,1个字节描述数据值。
针对可变长类型的数据,可设置第一个字节用于描述数据类型,第二以及第三个字节用于描述数据的长度,第三个字节之后的不定长字节用于描述实际数据值。如图2c所示,针对字符串类型的数据,可采用1个字节描述数据类型,2个字节描述数据长度,采用原始字节数组描述数据值。其中,原始字节数组可由原始的数据内容采用UTF-8(一种可变长度字符编码)编码得到。
基于自描述的存储格式,应对物联网场景下存在的数据类型不一致的问题,使得不同类型的数据可以被保存下来。
本实施例中,考虑到物联网数据通常与多种物联网设备关联的标识属性进行对应存储的特点,在接收到物联网设备采集到的物联网数据之后,可获取物联网设备关联的至少一种标识属性各自的具有设定长度的编码ID;将该至少一种标识属性各自的编码ID以及物联网数据的时间戳进行拼接,可得到物联网数据对应的键;基于物联网数据的数据类型以及物联网数据的值,可得到该键对应的值。基于这种方式生成的物联网数据的键-值对,降低了物联网场景下产生的数据的存储操作对数据的标识属性的依赖,并可基于编码ID的长度对属性标识进行区分。进而,可降低键-值存储方式对物联网数据造成的限制,实现了通用性较强的物联网数据的键-值存储方式,有利于基于键-值存储系统有利于对物联网数据进行高效存储。
在一些示例性的实施例中,获取物联网数据关联的至少一种标识属性各自的编码ID时,针对任意一种标识属性,可采用自增式编码方式,生成该标识属性对应的具有设定长度的编码ID。例如,可对物联网设备的设备种类进行自增式编码,得到设备种类对应的编码ID;对物联网设备的设备标识进行自增式编码,得到设备标识对应的编码ID;对物联网数据的指标类型进行自增式编码,得到指标类型对应的编码ID。
可选地,为便于后续查询,针对任意一种标识属性,可以将该标识属性作为键、将标识属性对应的编码ID作为值,生成标识属性-编码ID映射记录;同时,可以将该标识属性对应的编码ID作为键、该标识属性作为值,生成编码ID-标识属性映射记录。
在一些可选的实施例中,标识属性与编码ID的映射记录,可包括:设备种类-编码ID映射记录、设备标识-编码ID映射记录、指标类型-编码ID映射记录。编码ID与标识属性的映射记录,可包括:编码ID-设备种类映射记录、编码ID-设备标识映射记录、编码ID-指标类型映射记录。
基于上述实施例提供的存储方法将物联网数据写入键-值存储系统之后,可从键-值存储系统中查询指定设备在特定时刻或者特定时间范围内采集到的数据。以下将进行示例性说明。
在一些实施例中,可从键-值存储系统中查询指定设备在特定时刻采集到的数据。
可选地,可接收数据查询请求,该查询请求包含待查询数据对应的至少一种标识属性以及查找时间戳。基于预先生成的标识属性-编码ID映射记录,可查询到该待查询数据的至少一个标识属性各自对应的编码ID。
接下来,将该待查询数据的至少一个标识属性各自对应的编码ID以及查找时间戳进行拼接,即可得到待查询的键。根据该待查询的键,在键-值存储系统中进行查询,即可得到与该待查询的键匹配的键-值对,即与该待查询的键匹配的数据记录。
其中,将该待查询数据的至少一个标识属性各自对应的编码ID以及查找时间戳进行拼接时,可按照图2a所示的拼接顺序进行拼接。例如,当数据查询请求包含的至少一个属性标识包括设备种类、设备标识以及指标类型时,可将设备种类对应的编码ID、设备标识对应的编码ID、指标类型对应的编码ID以及查找时间戳进行依次拼接,得到待查询的键。
在另一些实施例中,可从键-值存储系统中查询指定设备在特定时间范围内采集到的数据。
可选地,可接收数据查询请求,该查询请求包含待查询数据的至少一种标识属性以及查找起始时间戳以及查找终止时间戳;基于预先生成的标识属性-编码ID映射记录,可确定该待查询数据的至少一种标识属性各自对应的编码ID。
接下来,可将该待查询数据的至少一种标识属性各自对应的编码ID以及该查找起始时间戳进行拼接,得到待查询的起始键,并将该待查询数据的至少一种标识属性各自对应的编码ID以及查找终止时间戳进行拼接,得到待查询的终止键。
例如,当数据查询请求包含的至少一个属性标识包括设备种类、设备标识以及指标类型时,可将设备种类对应的编码ID、设备标识对应的编码ID、指标类型对应的编码ID以及查找起始时间戳进行依次拼接,得到起始键;可将设备种类对应的编码ID、设备标识对应的编码ID、指标类型对应的编码ID以及查找终止时间戳进行依次拼接,得到终止键。
基于待查询的起始键以及终止键,可在键-值存储系统中确定查询范围,从而查询得到查找起始时间戳以及查找终止时间戳对应的时间范围内的数据记录。
在本实施例中,将对特定设备的与采集时间关联的查询转换成对键-值存储系统进行键-值扫描,一方面,可有效降低对存储介质的I/O(Input/Output,输入/输出)请求次数,且可保证顺序读取。另一方面,可通过控制键的范围,控制扫描范围,从从而减轻查询操作对存储系统带来的负荷。
在一些IoT场景中,物联网设备除具有设备标识外,还可具有其他特征标签。该特征标签,用于标识物联网设备的某种特征属性,例如可包括用于标识物联网设备所属的设备分组的分组标签、用于标识物联网设备所属的用户的用户标签等。在IoT领域中,存在一种典型的查询需求,即查询具有特定特征标签的数据,从而对一组具有相同特征标签的物联网设备采集到的指标数据进行分析。为满足此查询需求,可在存储物联网数据的同时,将物联网设备的特征标签组作为元数据进行单独保存。以下将进行示例性说明。
通常,特征标签采用字符串进行表示,字符串的长度不固定,不利于进行存储。在本实施例中,可采用对物联网数据的标识属性进行编码的方式,获取物联网设备对应的特征标签的具有设定长度的编码ID。
可选地,可对该物联网设备的特征标签进行自增式编码,得到特征标签对应的编码ID;若该物联网设备关联多个特征标签,则可分别对每个特征标签进行编码,得到每个特征标签对应的编码ID。其中,特征标签包括标签名(或称标签键)以及标签值,特征标签的编码ID包括标签名的编码ID以及标签值的编码ID。
例如,承接前述温度检测设备的例子,假设该温度检测设备的特征标签的标签名为building(建筑),特征标签的标签值为bld1,则标签名"building"可以被编码为3字节的0x00,0xF2,0xA3,标签值"bld1"可被编码为6字节的0x00,0x00,0x3D,0x6C,0xFF,0x02。定长6字节时,可允许编码的标签值的数量为2.8147498e+14个,可满足大多数IoT场景下的特征标签存储需求。
在确定特征标签以及特征标签对应的编码ID后,为便于后续查询,可以将标签名为键、将标签名对应的编码ID作为值,生成标签名-编码ID映射记录;可以将标签名对应的编码ID作为键、将标签名作为值,生成编码ID-标签名映射记录。同时,可以将标签值为键、将标签值对应的编码ID作为值,生成标签值-编码ID映射记录;可以将标签值对应的编码ID作为键、将标签值作为值,生成编码ID-标签值映射记录。
在一些可选的实施例中,为提升编码效率,可将设备标识视为物联网数据的一个特殊的特征标签,将除了设备标识之外的特征标签视为普通特征标签。基于此,可将设备标识与普通特征标签进行统一编码。在统一编码时,可按照设备标识的编码规则,将特征标签的标签名设置定长k字节的编码长度,对标签值设置定长v字节的编码长度。
图3对需编码的多种信息各自对应编码长度以及映射关系进行了示意,在图3的示意中,m=3,k=3,v=6,f=3。即,可对设备种类采用定长3字节的编码长度进行编码,可对特征标签(包括设备标识)的标签名采用定长3字节的编码长度进行编码,可对特征标签的标签值采用定长6字节的编码长度进行编码,可对指标类型采用3字节的编码长度进行编码。
当然,图3示意的编码长度仅用于对具有固定长度的编码ID进行示例性说明,并不对编码长度构成限制,在不同的实施例中,可采用不同的编码长度,不再赘述。
基于前述实施例可知,写入键-值存储系统的数据记录对应的键-值对中,不包含特征标签的相关信息。为基于特征标签对键-值存储系统中的数据记录进行筛选,可在获取特征标签对应的编码ID后,建立物联网设备与特征标签的编码ID的对应关系,以便根据特征标签确定待查询的物联网设备,从而根据物联网设备对键-值存储系统中的数据记录进行筛选。
建立物联网设备与特征标签的编码ID的对应关系时,可向键-值存储系统发起针对物联网设备的标签写入操作。可选地,响应针对物联网设备的标签写入操作,可确定待写入的至少一个特征标签以及该至少一个特征标签各自的编码ID。其中,针对任一特征标签而言,若该特征标签未进行编码,则可采用前述实施例记载的编码方式对其进行编码,得到该特征标签对应的编码ID。若已对该特征标签进行编码,则可通过查询前述记载的标签名-编码ID映射记录以及标签值-编码ID映射记录确定该特征标签的编码ID。
接下来,可将物联网设备的设备种类对应的编码ID以及设备标识对应的编码ID进行拼接,得到键,并将该至少一个特征标签各自的编码ID进行拼接,得到值。其中,针对任一特征标签,其编码ID包括:标签名的编码ID以及对应的标签值的编码ID的拼接结果。在本实施例中,为与数据记录中键、值进行区分,将本实施例拼接得到的键和值分别描述为第二键和第二值。接下来,可将第二键以及第二值形成的键-值对形式的设备-标签元数据记录,存储在键-值存储系统中,以便后续查询。
其中,不同的物联网设备可能具有数量不同的特征标签。当对特征标签的标签名以及标签值分别进行编码后,标签名对应的编码ID以及标签值对应的编码ID均具有固定的长度。若物联网设备具有多个特征标签,当查询物联网设备的特征标签时,可根据编码ID的长度对整个键-值对的值进行切分,得到多组独立的编码ID。基于编码ID-标签名映射记录以及编码ID-标签值映射记录,可对多组独立的编码ID进行映射,得到每组独立的编码ID对应标签名以及标签值。
图4对设备-标签元数据记录对应的键-值对的格式进行示意。如图4所示,第二键由1字节的盐值,定长m字节的设备种类的编码ID以及定长v字节的设备标识的编码ID拼接而成。第二值,由特征标签1的编码ID……特征标签N的编码ID拼接而成,N为正整数。
基于设备-标签元数据记录,可根据设备种类对应的编码ID以及设备标识对应的编码ID,查询指定设备的具体标签信息。查询设备的标签信息时,可按照特征标签对应的编码长度,对设备-标签元数据记录中的值进行切分,得到特征标签的数量以及每个特征标签的编码ID。基于编码ID-特征标签映射记录,可查询得到指定设备的原始的标签信息,不再赘述。
对于标签元数据自身,设备与设备之间拥有的标签个数可能不同,因此不能一概而论,但是标签键和标签内容已经经过编码,标签键-值对的长度固定。获取设备的标签信息时,可以根据长度对于整个值进行切分,获得具体的标签个数;并可以进一步借助 ID-名称 的反向映射 获取到原始的标签信息。
为便于用户基于特征标签进行查询,可进一步建立特征标签与设备标识之间的索引。特征标签通常用于对物联网设备进行分组,通常存在一个特征标签的键-值对与多个物联网设备相对应的情况。基于此,在一些实施例中,可采用倒排索引法,建立特征标签与物联网设备的设备标识之间的索引关系。
当物联网设备对应至少一个特征标签时,可分别建立每个特征标签与设备标识之间的索引关系。可选地,以该至少一个特征标签中的任一特征标签为例,可将该物联网设备的设备种类的编码ID、该特征标签的编码ID以及设备标识对应的编码ID进行拼接,得到第三键。其中,标签倒排索引记录主要用于基于键进行索引,值在索引中无实际意义,因此可确定任意占位符作为第三值。确定第三键以及第三值形成的标签倒排索引记录,并将该标签倒排索引记录存储在键-值存储系统中。
其中,当键-值存储系统支持分布式存储形态时,可基于设备种类对应的编码ID、特征标签的标签名对应的编码ID以及标签值对应的编码ID计算盐值,以确保相同特征标签对应的索引记录在分布式环境中可保存在一起。
图5对标签倒排索引记录对应的键-值对的形式进行示意。如图5所示,第三键由1字节的盐值,定长m字节的设备种类的编码ID、定长k字节的标签名的编码ID、定长v字节的标签值的编码ID以及定长v字节的设备标识的编码ID拼接而成。其中,第三值对应的占位符可以为0x00。
键-值存储系统的范围扫描通常支持基于键的前缀匹配范围扫描数据,图5所示的键的结构,可确保同一种类的设备中,具有相同特征标签的设备标识被集中存储。
基于前述实施例生成的标签倒排索引记录,可快速实现对具有某一种特征标签物联网数据采集到的数据进行查询的操作。以下将进行示例性说明。
存在查询具有特定特征标签的物联网设备上报的数据时,可向键-值存储系统发送数据查询请求,该数据查询请求包含待查询物联网数据对应的目标设备种类、待查询特征标签以及待查询指标类型。键-值存储系统接收该数据查询请求后,可确定目标设备种类对应的编码ID以及待查询特征标签对应的编码ID。具体地,可对预先建立的设备种类-编码ID映射记录进行查询,以确定目标设备种类对应的编码ID;可对预先建立的特征标签-编码ID映射记录进行查询,以确定该待查询特征标签对应的编码ID。
接下来,可根据该目标设备种类的编码ID以及待查询标签的编码ID,对键-值存储系统中的标签倒排索引记录进行前缀匹配,得到匹配的至少一个标签倒排索引记录。其中,当同一种设备中,多个设备具有相同的特征标签时,基于前缀匹配可得到多条标签倒排索引记录。例如,压力检测设备中,设备1、设备2、设备3均具有标签1,则基于压力检测设备对应的设备种类的编码ID以及标签1对应的编码ID进行前缀匹配后,可得到设备1对应的标签倒排索引记录1、设备2对应的标签倒排索引记录2、设备3对应的标签倒排索引记录3。
接下来,将以该至少一个标签倒排索引记录中的任一条标签倒排索引记录为例进行示例性说明,为便于描述和区分,可将该任一条标签倒排索引记录描述为第三标签倒排索引记录。
可选地,针对该第三标签倒排索引记录,可根据第三标签倒排索引记录中的编码ID的长度,确定第三标签倒排索引记录中的设备标识的编码ID,作为待查询设备的编码ID。
例如,设备标识的编码ID的编码长度为3个字节且拼接顺序位于盐值(盐值占1个字节)之后时,可将第三标签倒排索引记录中的键的第2~4个字节作为待查询设备的编码ID。承接上述例子,可根据设备标识的编码ID的长度,从标签倒排索引记录1中确定设备1的设备标识的编码ID、从标签倒排索引记录2中确定设备2的设备标识的编码ID、从标签倒排索引记录3中确定设备3的设备标识的编码ID。
接下来,可将目标设备种类的编码ID、待查询设备的编码ID以及待查询指标类型的编码ID进行拼接,得到待查询键。承接上述例子,可将目标设备种类的编码ID、设备1的设备标识的编码ID以及待查询指标类型的编码ID进行拼接,得到待查询键1;将目标设备种类的编码ID、设备2的设备标识的编码ID以及待查询指标类型的编码ID进行拼接,得到待查询键2;将目标设备种类的编码ID、设备3的设备标识的编码ID以及待查询指标类型的编码ID进行拼接,得到待查询键3。
接下来,可根据该待查询的键,在键-值存储系统中进行查询,得到数据记录。例如,根据待查询键1查询到数据记录1、根据待查询键2查询到数据记录2、根据待查询键3查询到数据记录3。数据记录1、数据记录2以及数据记录3为同一种类且具有相同的特征标签的物联网设备采集到的数据,可用于基于特征标签对物联网数据进行分析,不再赘述。
基于上述实施例提供的标签倒排索引,实现了基于特定的特征标签对一组物联网设备采集到的数据进行筛选、分析,极大满足了IoT场景的数据查询需求。
值得说明的是,在IoT场景中,同一个物联网设备可能出现标签内容的调整与变更,甚至对物联网设备额外增加特征标签。即使特征标签发生了变更,但物联网设备上报的数据的数据源未发生变化。因此,为确保特征标签发生变更时,物联网设备上报的数据属于同一个时间序列,本申请实施例提供了一种标签更新方法,以下将进行示例性说明。
存在标签变更需求时,可向键-值存储系统发起针对物联网设备的标签更新操作。响应针对物联网设备的标签更新操作,可确定待写入的第一特征标签,该第一特征标签包括第一标签名以及第一标签值。
若第一标签名和第一标签值未进行编码处理,则可采用前述实施例记载的编码方法获取第一标签名对应的固定长度的编码ID,并获取第一标签值对应的固定长度的编码ID。基于获取到的编码ID,可生成第一标签名与对应的编码ID的映射关系、编码ID与第一标签名的映射关系、第一标签值与对应的编码ID的映射关系、编码ID与第一标签值的映射关系。
接下来,可根据该物联网设备的设备标识对应的编码ID,从键-值存储系统中查询该物联网设备对应的设备-标签元数据记录。查询到设备-标签元数据记录后,可根据该设备-标签元数据记录的值中的编码ID的长度,确定该设备-标签元数据记录中的标签名以及标签值。具体地,若设备-标签元数据记录的值中,标签名的编码ID的长度为k字节,标签值的编码ID的长度为v字节,那么可按照字节长度,将第1~k个字节切分为第一个标签名,将第k+1~k+v个字节切分为第一个标签值,将第k+v+1~第2k+v+1个字节切分为第二个标签名,将2k+v+2~第2k+2v+2个字节切分为第一个标签值,以此类推,不再赘述。
可选地,若该查询到的设备-标签元数据记录中的标签名与第一标签名不同,则可认为该第一特征标签为新增标签。此时,可将第一标签名的编码ID以及第一标签值的编码ID的拼接结果添加到该设备-标签元数据记录的值的后方。
可选地,若该设备-标签元数据记录中的标签名中,存在与第一标签名相同的第二标签名,则可认为该标签更新操作用于替换已有标签的标签值。此时,可则采用第一标签值的编码ID替换第二标签名对应的第二标签值的编码ID。
进一步地,采用第一标签值的编码ID替换第二标签名对应的第二标签值的编码ID之后,可对预先为第二标签名、第二标签值生成的倒排索引记录进行更新。
可选地,首先,可从键-值存储系统中查询该第二标签名对应的标签倒排索引记录,删除查询到的标签倒排索引记录,并插入新的标签倒排索引记录。
在查询标签倒排索引记录时,可根据物联网设备的设备种类对应的编码ID、第二标签名的编码ID以及设备标识的编码ID,对键-值存储系统中的标签倒排索引记录进行前缀匹配,得到第一标签倒排索引记录。接下来,可删除该第一标签倒排索引记录,并根据物联网设备的设备种类的编码ID、第一标签名的编码ID、第一标签值的编码ID以及设备标识的编码ID拼接成第四键,并确定任意占位符作为第四值。接下来,将第四键以及第四值形成的第二标签倒排索引记录,存储在键-值存储系统中,以完成对第一标签倒排索引记录的替换。
在本实施例中,基于物联网设备具有唯一标识的特征,对定位数据来源的方法进行了改进,即使物联网设备的特征标签被改变,也不会造成数据源的改变,可降低特征标签的变化导致时序数据被割裂的风险,更加符合IoT场景的现实需求。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤104的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
图6示意了本申请一示例性实施例提供的电子设备的结构示意图,该电子设备适用于前述实施例提供的数据存储的方法。
其中,该电子设备可实现为服务、终端或者其他可能的计算机设备。当实现为服务器时,该服务器的实现形态可以为常规服务器、云服务器、云主机、虚拟主机等,本实施例不做限制。
如图6所示,该电子设备包括:存储器601、处理器602以及通信组件603。
存储器601,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
其中,存储器601可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器602,与存储器601耦合,用于执行存储器601中的计算机程序,以用于: 通过通信组件603接收物联网设备采集到的物联网数据;获取所述物联网数据关联的至少一种标识属性各自的具有设定长度的编码ID;将所述至少一种标识属性各自的编码ID以及所述物联网数据的采集时间戳进行拼接,得到所述物联网数据对应的第一键;确定所述物联网数据的数据类型以及所述物联网数据的值,作为第一值;将所述第一键和所述第一值形成的数据记录保存在键-值存储系统中。
进一步可选地,处理器602在获取所述物联网数据关联的至少一种标识属性各自的编码ID时,具体用于:针对所述至少一种标识属性中的任一种标识属性,采用自增式编码生成所述标识属性对应的具有设定长度编码ID;以所述标识属性作为键、所述标识属性对应的编码ID作为值,生成标识属性-编码ID映射记录;以及,以所述标识属性对应的编码ID作为键、所述标识属性作为值,生成编码ID-标识属性映射记录。
进一步可选地,处理器602还用于:接收数据查询请求,所述查询请求包含待查询数据对应的至少一种标识属性以及查找时间戳;根据标识属性-编码ID映射记录,确定所述待查询数据的至少一个标识属性各自对应的编码ID;将所述待查询数据的至少一个标识属性各自对应的编码ID以及所述查找时间戳进行拼接,得到待查询的键;根据所述待查询的键,在所述键-值存储系统中进行查询,得到对应的数据记录。
进一步可选地,处理器602还用于:接收数据查询请求,所述查询请求包含待查询数据的至少一种标识属性以及查找起始时间戳以及查找终止时间戳;根据标识属性-编码ID映射记录,确定所述待查询数据的至少一种标识属性各自对应的编码ID;将所述待查询数据的至少一种标识属性各自对应的编码ID以及所述查找起始时间戳进行拼接,得到待查询的起始键,将所述待查询数据的至少一种标识属性各自对应的编码ID以及所述查找终止时间戳进行拼接,得到待查询的终止键;根据待查询的所述起始键以及所述终止键,在所述键-值存储系统中进行查询,得到所述查找起始时间戳以及所述查找终止时间戳对应的时间范围内的数据记录。
进一步可选地,所述至少一种标识属性,包括:所述物联网设备的设备种类、所述物联网设备的设备标识以及所述物联网数据的指标类型的至少一种。
进一步可选地,处理器602还用于:响应针对所述物联网设备的标签写入操作,确定待写入的至少一个特征标签以及所述至少一个特征标签各自的编码ID;将所述物联网设备的设备种类以及设备标识各自对应的编码ID进行拼接,得到第二键;将所述至少一个特征标签各自的编码ID进行拼接,得到第二值;其中,任一特征标签的编码ID包括:标签名的编码ID以及对应的标签值的编码ID的拼接结果;将所述第二键以及所述第二值形成的设备-标签元数据记录,存储在所述键-值存储系统中。
进一步可选地,处理器602还用于:针对所述至少一个特征标签中的任一特征标签,将所述物联网设备的设备种类、所述特征标签以及所述设备标识各自对应的编码ID进行拼接,得到第三键;确定任意占位符作为第三值,并将所述第三键以及所述第三值形成的标签倒排索引记录,存储在所述键-值存储系统中。
进一步可选地,处理器602还用于:响应针对所述物联网设备的标签更新操作,确定待写入的第一特征标签;所述第一特征标签包括第一标签名以及第一标签值;根据所述物联网设备的设备标识对应的编码ID,从所述键-值存储系统中确定所述物联网设备对应的设备-标签元数据记录;根据所述设备-标签元数据记录的值中的编码ID的长度,确定所述设备-标签元数据记录中的标签名以及标签值;若所述设备-标签元数据记录中的标签名与所述第一标签名不同,则将所述第一标签名的编码ID以及所述第一标签值的编码ID的拼接结果添加到所述设备-标签元数据记录的值的后方;若所述设备-标签元数据记录中的标签名中,存在与所述第一标签名相同的第二标签名,则采用所述第一标签值的编码ID替换所述第二标签名对应的第二标签值的编码ID。
进一步可选地,处理器602采用所述第一标签值的编码ID替换所述第二标签名对应的第二标签值的编码ID之后,还用于:根据所述物联网设备的设备种类、所述第二标签名以及所述设备标识各自对应的编码ID,对所述键-值存储系统中的标签倒排索引记录进行前缀匹配,得到第一标签倒排索引记录;删除所述第一标签倒排索引记录,并根据所述物联网设备的设备种类、所述第一标签名、所述第一标签值以及所述设备标识各自的编码ID拼接成第四键;确定任意占位符作为第四值,并将所述第四键以及所述第四值形成的第二标签倒排索引记录,存储在所述键-值存储系统中。
进一步可选地,处理器602还用于:接收数据查询请求,所述查询请求包括:待查询物联网数据对应的目标设备种类、待查询特征标签以及待查询指标类型;确定所述目标设备种类以及所述待查询特征标签各自对应的编码ID;根据所述目标设备种类以及所述待查询标签各自的编码ID,对所述键-值存储系统中的标签倒排索引记录进行前缀匹配,得到匹配的至少一个标签倒排索引记录;针对所述至少一个标签倒排索引记录中的任一第三标签倒排索引记录,根据所述第三标签倒排索引记录中的编码ID的长度,确定所述第三标签倒排索引记录中的设备标识的编码ID,作为待查询设备的编码ID;将所述目标设备种类的编码ID、所述待查询设备的编码ID以及所述待查询指标类型的编码ID进行拼接,得到待查询键;根据所述待查询的键,在所述键-值存储系统中进行查询,得到数据记录。
进一步,如图6所示,该电子设备还包括:电源组件604等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
其中,通信组件603被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,电源组件604,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本实施例中,考虑到物联网数据通常与多种物联网设备关联的标识属性进行对应存储的特点,在接收到物联网设备采集到的物联网数据之后,可获取物联网设备关联的至少一种标识属性各自的具有设定长度的编码ID;将该至少一种标识属性各自的编码ID以及物联网数据的时间戳进行拼接,可得到物联网数据对应的键;基于物联网数据的数据类型以及物联网数据的值,可得到该键对应的值。基于这种方式生成的物联网数据的键-值对,降低了物联网场景下产生的数据的存储操作对数据的标识属性的依赖,并可基于编码ID的长度对属性标识进行区分。进而,可降低键-值存储方式对物联网数据造成的限制,实现了通用性较强的物联网数据的键-值存储方式,有利于基于键-值存储系统有利于对物联网数据进行高效存储
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,当计算机程序被处理器执行时,致使处理器实现本申请实施例提供的各方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种数据存储的方法,其中,包括:
接收物联网设备采集到的物联网数据;
获取所述物联网数据关联的多种标识属性各自的具有设定长度的编码ID;其中,所述设定长度为固定长度,所述固定长度根据所述多种标识属性对应的编码ID的数量确定,用于在查询过程中推导所述多种标识属性各自对应的编码ID的位置;
将所述多种标识属性各自的编码ID以及所述物联网数据的采集时间戳进行拼接,得到所述物联网数据对应的第一键;
确定所述物联网数据的数据类型以及所述物联网数据的值,作为第一值;
将所述第一键和所述第一值形成的数据记录保存在键-值存储系统中;
所述方法还包括:
针对所述物联网设备的至少一个特征标签中的任一特征标签,将所述物联网设备的设备种类、所述特征标签以及设备标识各自对应的编码ID进行拼接,得到第三键;确定任意占位符作为第三值,并将所述第三键以及所述第三值形成的标签倒排索引记录,存储在所述键-值存储系统中;所述倒排索引记录,用于:对具有特定特征标签的物联网设备采集到的数据进行查询。
2.根据权利要求1所述的方法,其中,获取所述物联网数据关联的多种标识属性各自的编码ID,包括:
针对所述多种标识属性中的任一种标识属性,采用自增式编码生成所述标识属性对应的具有设定长度编码ID;
以所述标识属性作为键、所述标识属性对应的编码ID作为值,生成标识属性-编码ID映射记录;以及,以所述标识属性对应的编码ID作为键、所述标识属性作为值,生成编码ID-标识属性映射记录。
3.根据权利要求2所述的方法,其中,还包括:
接收数据查询请求,所述查询请求包含待查询数据对应的多种标识属性以及查找时间戳;
根据标识属性-编码ID映射记录,确定所述待查询数据的多种标识属性各自对应的编码ID;
将所述待查询数据的多种标识属性各自对应的编码ID以及所述查找时间戳进行拼接,得到待查询的键;
根据所述待查询的键,在所述键-值存储系统中进行查询,得到对应的数据记录。
4.根据权利要求2所述的方法,其中,还包括:
接收数据查询请求,所述查询请求包含待查询数据的多种标识属性以及查找起始时间戳以及查找终止时间戳;
根据标识属性-编码ID映射记录,确定所述待查询数据的多种标识属性各自对应的编码ID;
将所述待查询数据的多种标识属性各自对应的编码ID以及所述查找起始时间戳进行拼接,得到待查询的起始键,将所述待查询数据的多种标识属性各自对应的编码ID以及所述查找终止时间戳进行拼接,得到待查询的终止键;
根据待查询的所述起始键以及所述终止键,在所述键-值存储系统中进行查询,得到所述查找起始时间戳以及所述查找终止时间戳对应的时间范围内的数据记录。
5.根据权利要求1所述的方法,其中,所述多种标识属性,包括:所述物联网设备的设备种类、所述物联网设备的设备标识以及所述物联网数据的指标类型的多种。
6.根据权利要求1-5任一项所述的方法,其中,还包括:
响应针对所述物联网设备的标签写入操作,确定待写入的至少一个特征标签以及所述至少一个特征标签各自的编码ID;
将所述物联网设备的设备种类以及设备标识各自对应的编码ID进行拼接,得到第二键;
将所述至少一个特征标签各自的编码ID进行拼接,得到第二值;其中,任一特征标签的编码ID包括:标签名的编码ID以及对应的标签值的编码ID的拼接结果;
将所述第二键以及所述第二值形成的设备-标签元数据记录,存储在所述键-值存储系统中。
7.根据权利要求6所述的方法,其中,还包括:
响应针对所述物联网设备的标签更新操作,确定待写入的第一特征标签;所述第一特征标签包括第一标签名以及第一标签值;
根据所述物联网设备的设备标识对应的编码ID,从所述键-值存储系统中确定所述物联网设备对应的设备-标签元数据记录;
根据所述设备-标签元数据记录的值中的编码ID的长度,确定所述设备-标签元数据记录中的标签名以及标签值;
若所述设备-标签元数据记录中的标签名与所述第一标签名不同,则将所述第一标签名的编码ID以及所述第一标签值的编码ID的拼接结果添加到所述设备-标签元数据记录的值的后方;
若所述设备-标签元数据记录中的标签名中,存在与所述第一标签名相同的第二标签名,则采用所述第一标签值的编码ID替换所述第二标签名对应的第二标签值的编码ID。
8.根据权利要求7所述的方法,其中,采用所述第一标签值的编码ID替换所述第二标签名对应的第二标签值的编码ID之后,还包括:
根据所述物联网设备的设备种类、所述第二标签名以及所述设备标识各自对应的编码ID,对所述键-值存储系统中的标签倒排索引记录进行前缀匹配,得到第一标签倒排索引记录;
删除所述第一标签倒排索引记录,并根据所述物联网设备的设备种类、所述第一标签名、所述第一标签值以及所述设备标识各自的编码ID拼接成第四键;
确定任意占位符作为第四值,并将所述第四键以及所述第四值形成的第二标签倒排索引记录,存储在所述键-值存储系统中。
9.根据权利要求6所述的方法,其中,还包括:
接收数据查询请求,所述查询请求包括:待查询物联网数据对应的目标设备种类、待查询特征标签以及待查询指标类型;
确定所述目标设备种类以及所述待查询特征标签各自对应的编码ID;
根据所述目标设备种类以及所述待查询特征标签各自的编码ID,对所述键-值存储系统中的标签倒排索引记录进行前缀匹配,得到匹配的至少一个标签倒排索引记录;
针对所述至少一个标签倒排索引记录中的任一第三标签倒排索引记录,根据所述第三标签倒排索引记录中的编码ID的长度,确定所述第三标签倒排索引记录中的设备标识的编码ID,作为待查询设备的编码ID;
将所述目标设备种类的编码ID、所述待查询设备的编码ID以及所述待查询指标类型的编码ID进行拼接,得到待查询键;
根据所述待查询的键,在所述键-值存储系统中进行查询,得到数据记录。
10.一种电子设备,其中,包括:存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:执行权利要求1-9任一项所述的方法中的步骤。
11.一种存储有计算机程序的计算机可读存储介质,其中,计算机程序被处理器执行时能够实现权利要求1-9任一项所述的方法中的步骤。
CN202110851143.3A 2021-07-27 2021-07-27 数据存储的方法、设备、存储介质及产品 Active CN113297339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110851143.3A CN113297339B (zh) 2021-07-27 2021-07-27 数据存储的方法、设备、存储介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110851143.3A CN113297339B (zh) 2021-07-27 2021-07-27 数据存储的方法、设备、存储介质及产品

Publications (2)

Publication Number Publication Date
CN113297339A CN113297339A (zh) 2021-08-24
CN113297339B true CN113297339B (zh) 2022-02-11

Family

ID=77331326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110851143.3A Active CN113297339B (zh) 2021-07-27 2021-07-27 数据存储的方法、设备、存储介质及产品

Country Status (1)

Country Link
CN (1) CN113297339B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001628B (zh) * 2022-06-07 2024-02-27 北京百度网讯科技有限公司 数据编码的方法及装置、数据解码的方法及装置和数据结构
CN114756776B (zh) * 2022-06-15 2022-09-06 中国信息通信研究院 工业互联网信息展示的方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777387A (zh) * 2017-02-16 2017-05-31 江苏海平面数据科技有限公司 一种基于HBase的物联网大数据存取方法
CN110598009A (zh) * 2019-09-12 2019-12-20 北京达佳互联信息技术有限公司 查找作品的方法、装置、电子设备及存储介质
CN111371832A (zh) * 2019-12-11 2020-07-03 添可智能科技有限公司 一种数据存储、检测方法及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685484B (zh) * 2013-11-29 2015-04-01 中国物品编码中心 物联网统一标识编码解析的方法和装置
US10678804B2 (en) * 2017-09-25 2020-06-09 Splunk Inc. Cross-system journey monitoring based on relation of machine data
CN111639475B (zh) * 2020-05-31 2024-04-05 湖南行必达网联科技有限公司 产品编码的生成方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777387A (zh) * 2017-02-16 2017-05-31 江苏海平面数据科技有限公司 一种基于HBase的物联网大数据存取方法
CN110598009A (zh) * 2019-09-12 2019-12-20 北京达佳互联信息技术有限公司 查找作品的方法、装置、电子设备及存储介质
CN111371832A (zh) * 2019-12-11 2020-07-03 添可智能科技有限公司 一种数据存储、检测方法及设备

Also Published As

Publication number Publication date
CN113297339A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN113297339B (zh) 数据存储的方法、设备、存储介质及产品
US11347787B2 (en) Image retrieval method and apparatus, system, server, and storage medium
CN108287668B (zh) 设备数据的处理方法及装置、计算机装置及可读存储介质
CN110505495B (zh) 多媒体资源抽帧方法、装置、服务器及存储介质
CN107844274B (zh) 基于超融合存储系统的硬件资源管理方法、装置及终端
CN111258722B (zh) 一种集群的日志采集方法、系统、设备以及介质
CN111629081A (zh) 互联网协议ip地址数据处理方法、装置及电子设备
CN106792653B (zh) 一种通信号码信息处理方法、装置及系统
CN111061498B (zh) 一种配置信息管理系统
CN113312313B (zh) 数据查询方法、非易失性存储介质及电子设备
CN112084270A (zh) 一种数据血缘处理方法、装置、存储介质及设备
CN106202848A (zh) 医学影像文件的获取方法、用户终端及主服务器
CN112925757A (zh) 一种追踪智能设备操作日志的方法、设备、存储介质
CN114025027B (zh) 数据传输脚本的运行方法、装置、存储介质和电子装置
CN115168338A (zh) 数据处理方法、电子设备及存储介质
CN113761016A (zh) 数据查询方法、装置、设备及存储介质
CN112463527A (zh) 一种数据处理方法、装置、设备、系统及存储介质
CN109068286B (zh) 一种信息解析的方法、介质及设备
CN111124542A (zh) 一种配置信息管理系统
CN112835896B (zh) 一种实时数据库数据热点均衡方法、装置、设备及介质
CN110362535B (zh) 一种文件管理方法、装置及系统
CN112162951A (zh) 一种信息检索方法、服务器及存储介质
CN112685557A (zh) 可视化信息资源管理方法及装置
CN111782588A (zh) 一种文件读取方法、装置、设备和介质
CN110362706B (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
GR01 Patent grant
GR01 Patent grant