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

物联网数据的处理方法、装置、设备和介质与流程

2022-11-19 19:04:06 来源:中国专利 TAG:


1.本技术涉及物联网技术领域,特别是涉及一种物联网数据的处理方法、装置、设备和介质。


背景技术:

2.物联网(iot,internet of things)通过传感设备将物品与互联网相联,让能够被独立寻址的物理对象可以实现信息交换,最终达到智能化识别、定位、追踪、监测和管理的目的。物联网数据来源于不同的传感设备,代表着数以十亿计的物理对象,且通常与时空相关;因此,物联网技术领域存在着海量的物联网数据。
3.为了提高物联网数据的查询效率,目前通常由人工按照维度进行物联网数据的切分。具体而言,按照维度对应的“大于”或者“小于”,将物联网数据划分为两个分支,并将不同的分支分开存储。例如,将“时间”维度小于2020年的物联网数据划分为一个分支,将“时间”维度大于2020年的物联网数据划分为另一分支。或者,将“温度”维度大于30度的物联网数据划分一个分支,将“温度”维度小于30度的物联网数据划分为另一个分支。
4.在实际应用中,物联网数据通常具有多个维度;这样,由人工按照维度进行物联网数据的切分,将会耗费大量的人力成本。


技术实现要素:

5.本技术实施例提供了一种物联网数据的处理方法,可以在节省人工成本的情况下,提高物联网数据的查询效率,且可以提高不同子空间之间的区分度,进而能够提高编码向量的精确度。
6.相应的,本技术实施例还提供了一种物联网数据的处理装置、一种电子设备和一种机器可读介质,用以保证上述方法的实现及应用。
7.为了解决上述问题,本技术实施例公开了一种物联网数据的处理方法,所述方法包括:根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将所述第一原始向量划分到多个子空间,以及,确定每个子空间内多个数据簇分别对应的聚类中心;其中,所述数据簇的数量为根据所述子空间内维度的查询频率特征确定;所述聚类中心对应有索引值;所述索引值对应有编码信息;根据物联网数据的数据集合中第二原始向量对应的第一目标聚类中心、以及所述第一目标聚类中心的索引值对应的编码信息,确定所述第二原始向量对应的编码向量;根据用户的查询请求,生成查询向量;根据所述多个数据簇分别对应的聚类中心、以及所述第二原始向量对应的编码向量,从所述数据集合对应的第二原始向量中确定出所述查询向量对应的查询结果;向用户输出所述查询结果。
8.为了解决上述问题,本技术实施例公开了一种物联网数据的处理装置,所述装置包括:训练模块,用于根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将所述第一原始向量划分到多个子空间,以及,确定每个子空间内多个数据簇分别对应的聚类中心;其中,所述数据簇的数量为根据所述子空间内维度的查询频率特征确定;所述聚类中心对应有索引值;所述索引值对应有编码信息;编码模块,用于根据物联网数据的数据集合中第二原始向量对应的第一目标聚类中心、以及所述第一目标聚类中心的索引值对应的编码信息,确定所述第二原始向量对应的编码向量;查询向量生成模块,用于根据用户的查询请求,生成查询向量;查询模块,用于根据所述多个数据簇分别对应的聚类中心、以及所述第二原始向量对应的编码向量,从所述数据集合对应的第二原始向量中确定出所述查询向量对应的查询结果;结果输出模块,用于向用户输出所述查询结果。
9.可选地,相关性特征值高于第一阈值的至少两个维度被划分到相同的子空间;和/或查询频率特征值高于第二阈值的至少两个维度被划分到相同的子空间。
10.可选地,第一子空间内第一维度的查询频率特征高于第二子空间内第二维度的查询频率特征,则第一子空间内数据簇的数量大于第二子空间内数据簇的数量。
11.可选地,所述维度包括:类别维度;所述类别维度包括:互不相同的第一类别维度和第二类别维度;所述训练模块包括:增加模块,用于增加所述第一类别维度所对应聚类中心和第二类别维度所对应聚类中心之间的距离。
12.可选地,所述训练模块包括:第一选取模块,用于从n个训练样本中随机选取k个训练样本,作为k个待定聚类中心;k为正整数;第二选取模块,用于根据训练样本与k个待定聚类中心之间的距离,从k个待定聚类中心中选取距离所述训练样本最近的目标待定聚类中心,并将所述训练样本划分到所述目标待定聚类中心对应的数据簇;比较模块,用于对所述目标待定聚类中心所对应数据簇的均值点与所述目标待定聚类中心进行比较,若相同则结束流程,若不同则将所述目标待定聚类中心更新为所述均值点,并重复执行所述从k个待定聚类中心中选取距离所述训练样本最近的目标待定聚类中心。
13.可选地,所述装置还包括:第一确定模块,用于根据第二原始向量与数据簇对应聚类中心之间的距离,确定并保存单个数据簇对应的倒排索引列表;所述倒排索引列表中的目标原始向量与所述单个数据簇所对应聚类中心之间的距离符合预设条件;
所述查询模块包括:第二确定模块,用于根据所述查询向量对应的第二目标聚类中心、以及所述倒排索引列表对应的聚类中心,确定所述查询向量对应的多个目标倒排索引列表;取交集模块,用于对所述多个目标倒排索引列表分别包含的目标原始向量取交集,以得到待选向量集合;排序模块,用于根据所述查询向量与所述待选向量集合中的目标原始向量之间的距离,对所述待选向量集合中的目标原始向量进行排序,并将排序后的目标原始向量,作为查询结果。
14.本技术实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本技术实施例所述的方法。
15.本技术实施例还公开了一种机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本技术实施例所述的方法。
16.本技术实施例包括以下优点:在本技术实施例的技术方案中,对物联网数据进行子空间的划分和聚类,并将第二原始向量压缩为编码向量,可以降低第二原始向量占用的存储空间。例如,第二原始向量的维度为256,1个维度对应的浮点数占用4个字节,则一个第二原始向量占用256*4=1024 个字节的存储空间;假设子空间的数量为8,聚类中心的数量为256,则一个子空间对应索引值的范围为[0,255],假设一个索引值占用1个字节,则一个编码向量占用8个字节的存储空间。
[0017]
本技术实施例还可以根据该多个数据簇分别对应的聚类中心、以及该第二原始向量对应的编码向量,从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果。其中,在从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果的过程中,可以将原始向量对应的距离运算,转化为子空间内聚类中心的距离运算,由于能够减少查询过程中的运算量,因此能够提高物联网数据的查询效率。
[0018]
并且,本技术实施例的技术方案可由机器自动执行,由于可以节省由人工按照维度进行物联网数据的切分的技术手段,因此可以在节省人工成本的情况下,提高物联网数据的查询效率。
[0019]
此外,本技术实施例根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将该第一原始向量划分到多个子空间,可以提高不同子空间之间的区分度,进而能够提高编码向量的精确度。
[0020]
进一步,本技术实施例中根据该子空间内维度的查询频率特征确定数据簇的数量,可以进一步提高不同子空间之间的区分度,进而能够进一步提高编码向量的精确度。
附图说明
[0021]
图1是本技术一个实施例的物联网数据的处理方法的步骤流程示意图;图2是本技术一个实施例的物联网数据的处理装置的结构示意图;图3是本技术一个实施例提供的装置的结构示意图。
具体实施方式
[0022]
为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。
[0023]
本技术实施例可以应用于物联网技术领域。物联网是指通过传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监测、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让能够被独立寻址的物理对象形成互联互通的网络。
[0024]
物联网数据可以指经由传感器采集的数据。物联网技术领域通常存在着海量的物联网数据。例如,物联网数据的类型可以包括:图像数据、音频数据、时间、温度等传感器数据。又如,物联网数据的应用场景可以包括:电网、海洋、车船、广播式自动相关监视(adsb,automatic dependent surveillance
ꢀ‑ꢀ
broadcast)等。再如,物联网数据与时间相关,按照用户需求可以将时间划分为多个层次:如年、月、周、日、小时、分、秒等。或者,物联网数据与空间相关,既可以按照经纬度将空间划分为多个尺度的金字塔网格,也可以按照行政区将空间划分为国家、省、县等。因此,本技术实施例的物联网数据对应的原始向量通常为高维向量,例如,原始向量的维度数量可以为128、或者256等。
[0025]
例如,在adsb应用场景下,物联网数据可以包含下列维度:采集时间、接收时间、处理时间、经度、纬度、全球定位系统(gps,global positioning system)高度、气压高度、对地速度、空速、gps爬升率、气压爬升率和转向率等。
[0026]
针对相关技术中由人工按照维度进行物联网数据的切分、耗费大量的人力成本的技术问题,本技术实施例提供了一种物联网数据的处理方法,该方法具体可以包括:根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将该第一原始向量划分到多个子空间,以及,确定每个子空间内多个数据簇分别对应的聚类中心;其中,该数据簇的数量为根据该子空间内维度的查询频率特征确定;该聚类中心对应有索引值;该索引值对应有编码信息;根据物联网数据的数据集合中第二原始向量对应的第一目标聚类中心、以及该第一目标聚类中心的索引值对应的编码信息,确定该第二原始向量对应的编码向量;根据用户的查询请求,生成查询向量;根据该多个数据簇分别对应的聚类中心、以及该第二原始向量对应的编码向量,从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果;向用户输出该查询结果。
[0027]
本技术实施例对物联网数据进行子空间的划分和聚类,并将第二原始向量压缩为编码向量,可以降低第二原始向量占用的存储空间。例如,第二原始向量的维度为256,1个维度对应的浮点数占用4个字节,则一个第二原始向量占用256*4=1024个字节的存储空间;假设子空间的数量为8,聚类中心的数量为256,则一个子空间对应索引值的范围为[0,255],假设一个索引值占用1个字节,则一个编码向量占用8个字节的存储空间。
[0028]
本技术实施例还可以根据该多个数据簇分别对应的聚类中心、以及该第二原始向
量对应的编码向量,从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果。其中,在从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果的过程中,可以将原始向量对应的距离运算,转化为子空间内聚类中心的距离运算,由于能够减少查询过程中的运算量,因此能够提高物联网数据的查询效率。
[0029]
并且,本技术实施例的技术方案可由机器自动执行,由于可以节省由人工按照维度进行物联网数据的切分的技术手段,因此可以在节省人工成本的情况下,提高物联网数据的查询效率。
[0030]
此外,本技术实施例根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将该第一原始向量划分到多个子空间,可以提高不同子空间之间的区分度,进而能够提高编码向量的精确度。将该第一原始向量划分到多个子空间的过程通常是主成分降维的过程。不同子空间的区分度越大,也就是不同子空间的矢量接近正交,所以编码前后的协方差越小,相应的主成分所对应子空间代表的信息损耗就越低,相应地编码向量的精确度将更加精确。
[0031]
进一步,本技术实施例中根据该子空间内维度的查询频率特征确定数据簇的数量,可以提高不同子空间之间的区分度,进而能够进一步提高编码向量的精确度。例如,在adsb的应用场景下,用户较多采用“经纬度”来查询,而较少根据“gps爬升率”查询,那就可以针对“经纬度”的子空间采用更多的数据簇和更长的编码信息,而针对“gps爬升率”的子空间采用更少的数据簇和更短的编码信息。
[0032]
方法实施例参考图1,示出了本技术一个实施例的物联网数据的处理方法的步骤流程示意图,该方法具体可以包括如下步骤:步骤101、根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将该第一原始向量划分到多个子空间,以及,确定每个子空间内多个数据簇分别对应的聚类中心;其中,该数据簇的数量可以为根据该子空间内维度的查询频率特征确定;该聚类中心对应有索引值;该索引值对应有编码信息;步骤102、根据物联网数据的数据集合中第二原始向量对应的第一目标聚类中心、以及该第一目标聚类中心的索引值对应的编码信息,确定该第二原始向量对应的编码向量;步骤103、根据用户的查询请求,生成查询向量;步骤104、根据该多个数据簇分别对应的聚类中心、以及该第二原始向量对应的编码向量,从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果;步骤105、向用户输出该查询结果。
[0033]
在步骤101中,物联网数据可以包括:一个或多个应用场景的数据。应用场景的例子可以包括:电网、海洋、车船、adsb等。物联网数据的维度可以对应上述任一应用场景的时间、压力、温度等具有连续性的物理参数。
[0034]
物联网数据的训练样本可以为n(n为正整数)个,n个训练样本可以表征n个数据点。子空间内距离一个数据点最近的聚类中心,可用于确定这个数据点对应的编码向量。因此,本技术实施例可以针对n个训练样本,进行子空间的划分和聚类中心的确定。
[0035]
子空间的划分可以将第一原始向量的p个维度划分到m个子空间,一个子空间表征的维度可以为p/m。第一原始向量可以表征物联网数据的训练样本所对应的原始向量。p、m均可以为大于1的自然数,p大于m。
[0036]
本技术实施例根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将该第一原始向量划分到多个子空间,可以提高不同子空间之间的区分度,进而能够提高编码向量的精确度。
[0037]
在具体实现中,相关性特征值高于第一阈值的至少两个维度被划分到相同的子空间。例如采集时间、接收时间、处理时间等维度的相关性较高,故把他们划分到一个子空间。gps高度、气压高度也是高度相关的,故把它们划分到一个子空间。在实际应用中,第一原始向量中可以包括:p个维度分别对应的维度向量。本技术实施例可以根据任意两个维度所对应的维度向量,确定任意两个维度之间的相关性特征值。相关性特征值可以经由任意两个维度所对应的维度向量之间的欧式距离等空间距离确定。
[0038]
在实际应用中,查询频率特征值高于第二阈值的至少两个维度被划分到相同的子空间。例如,经度、纬度常常作为地理空间的要素一起查询,而且经纬度合在一起能够反映飞行轨迹的连续性,故将它们划分为一个子空间。查询频率特征值可以指查询频率特征对应的具体数值。在实际应用中,可以根据历史查询请求中维度的出现次数,确定维度对应的查询频率特征值。
[0039]
第一阈值和第二阈值可由本领域技术人员根据实际应用需求确定,本技术实施例对于第一阈值和第二阈值的具体数值不加以限制。
[0040]
本技术实施例在根据相关性特征和查询频率特征将该第一原始向量划分到多个子空间的过程中,可以将查询频率特征值高于第二阈值的至少两个维度划分到相同的子空间,以及将相关性特征值高于第一阈值的至少两个维度划分到相同的子空间;或者,可以将查询频率特征值高于第二阈值、且相关性特征值高于第一阈值的至少两个维度划分到相同的子空间。
[0041]
子空间的数量m可由本领域技术人员根据实际应用需求确定,例如,m可以为2的n次幂,n可以为正整数。
[0042]
一个子空间内可以包括k个数据簇,一个数据簇可以对应有一个聚类中心。传统技术中,不同子空间内数据簇的数量通常是相同的,也即,不同的子空间对应相同的k。
[0043]
而本技术实施例中根据该子空间内维度的查询频率特征确定数据簇的数量,可以进一步提高不同子空间之间的区分度,进而能够进一步提高编码向量的精确度。
[0044]
在实际应用中,一个子空间的查询频率越高,则客观上要求子空间相互之间更精确的表示,对应的将子空间的表示尽可能加长,对应的要求子空间的编码长度更多。本技术实施例中,编码长度可以是对数据簇的数量进行二进制编码所采用的二进制位数。以数据簇的数量256为例,由于其表征范围[0,255]的上限255对应的二进制编码为“11111111”,故其对应的编码长度为8。可以理解,在数据簇的数量在[256,512]的情况下,可以采用9个二进制位进行编码,相应的编码长度可以为9。
[0045]
在实际应用中,可以针对数据簇的数量设置数量阈值,可以首先将m个子空间内数据簇的数量均设置为数量阈值;然后,判断一个子空间内任意维度的查询频率特征值是否
大于第四阈值,若是,则可以在数量阈值的基础上增加这个子空间内数据簇的数量,对应的增加量可由本领域技术人员根据实际应用需求确定。
[0046]
在具体实现中,第一子空间内第一维度的查询频率特征高于第二子空间内第二维度的查询频率特征,则第一子空间内数据簇的数量k1可以大于第二子空间内数据簇的数量k2。例如,在adsb的应用场景下,用户较多采用“经纬度”来查询,而较少根据“gps爬升率”查询,那就可以针对“经纬度”的子空间采用更多的数据簇和更长的编码信息,而针对“gps爬升率”的子空间采用更少的数据簇和更短的编码信息。
[0047]
本技术实施例可以采用聚类方法,确定每个子空间内多个数据簇分别对应的聚类中心。
[0048]
聚类可以指按照事物的某些属性,把数据点聚集成类,使类间的相似性尽可能小,类内相似性尽可能大的方法。聚类方法可以包括:划分方法、层次方法等。
[0049]
k-means(k均值)方法是一种常见的聚类方法,其可以将待聚类的数据点分成k个数据簇,每个数据簇的聚类中心可以代表这个数据簇内的所有数据点。
[0050]
以k均值方法为例,上述确定每个子空间内多个数据簇分别对应的聚类中心的过程,具体可以包括:步骤a1、从n个训练样本中随机选取k个训练样本,作为k个待定聚类中心;k可以为正整数;步骤a2、根据训练样本与k个待定聚类中心之间的距离,从k个待定聚类中心中选取距离所述训练样本最近的目标待定聚类中心,并将所述训练样本划分到所述目标待定聚类中心对应的数据簇;对于第i个训练样本而言,可以确定其与k个待定聚类中心对应的距离值,并从k个待定聚类中心选择距离值最小的一个,作为目标待定聚类中心,并将第i个训练样本划分到目标待定聚类中心对应的数据簇。i可以为正整数。可以采用向量度量,确定训练样本对应第一原始向量a与待定聚类中心对应第一原始向量b之间的距离。向量度量的例子可以包括:欧式距离或者曼哈顿距离等。
[0051]
步骤a3、对加入第i个训练样本的目标待定聚类中心所对应数据簇的均值点与所述目标待定聚类中心原有的均值点进行比较,若相同则结束流程,若不同则将所述目标待定聚类中心更新为所述均值点,并重复执行步骤a2。
[0052]
目标待定聚类中心原有的均值点可以是目标待定聚类中心所对应的位置点,或者,可以是目标待定聚类中心所对应原有数据簇的均值点。根据将第i个训练样本划分到目标待定聚类中心对应的数据簇的过程,可以获得一个数据簇内包括的多个训练样本,对一个数据簇内包括的多个训练样本求均值,可以得到数据簇的均值点。
[0053]
对该均值点与目标待定聚类中心原有的均值点进行比较,若相同则可以结束聚类,若不同则可以将目标待定聚类中心更新为均值点,更新后的目标待定聚类中心可以为均值点。此种情况下,可以重复执行步骤a2。
[0054]
本技术实施例中,第一原始向量的维度可以包括:类别维度;类别维度可用于表征数据点所对应应用场景的类别。所述类别维度可以包括:互不相同的第一类别维度和第二类别维度;则所述确定每个子空间内k个数据簇分别对应的聚类中心的过程可以包括:增加
第一类别维度所对应聚类中心和第二类别维度所对应聚类中心之间的距离。
[0055]
本技术实施例增加第一类别维度所对应聚类中心和第二类别维度所对应聚类中心之间的距离,可以在查询第一类别维度的数据的情况下,避免将第二类别维度的数据作为查询结果,因此,本技术实施例能够提高查询结果的准确度。
[0056]
例如,第一类别维度为“电力”,第二类别维度为“船舶”,则本技术实施例可以增加“电力”和“船舶”对应的聚类中心的距离。这样,在查询“电力”应用场景下的数据的情况下,可以避免将“船舶”对应的数据作为查询结果。或者,在查询“船舶”应用场景下的数据的情况下,可以避免将“电力”对应的数据作为查询结果。
[0057]
本技术实施例可以首先利用聚类方法,确定每个子空间内k个数据簇分别对应的聚类中心;然后,对每个子空间内k个数据簇分别对应的聚类中心进行调整,具体的调整过程可以包括:增加第一类别维度所对应聚类中心和第二类别维度所对应聚类中心之间的距离。
[0058]
在实际应用中,假设第一类别维度包括q1个数据点,第二类别维度包括q2个数据点,则可以确定q1个数据点对应的第一聚类中心集合和q2个数据点对应的第二聚类中心集合,以及,确定第一聚类中心集合中第一元素与第二聚类中心集合中第二元素之间的距离值,由此可以得到最小距离值或平均距离值。进一步,可以判断最小距离值或平均距离值是否大于第三阈值,若是,则可以不对第一类别维度所对应聚类中心或第二类别维度所对应聚类中心进行调整;若否,则可以对第一类别维度所对应聚类中心和/或第二类别维度所对应聚类中心进行调整,也即,增加第一类别维度所对应聚类中心和第二类别维度所对应聚类中心之间的距离。第一聚类中心集合可以指:q1个数据点对应的聚类中心的集合。第二聚类中心集合可以指:q2个数据点对应的聚类中心的集合。在增加第一类别维度所对应聚类中心和第二类别维度所对应聚类中心之间的距离后,第一聚类中心集合中至少部分的第一聚类中心与第二聚类中心集合中至少部分的第二聚类中心的距离增加。
[0059]
增加第一类别维度所对应聚类中心和第二类别维度所对应聚类中心之间的距离的过程具体可以包括:确定第一类别维度的数据点(如最小距离值对应的数据点)与k个聚类中心之间的距离,以得到第一距离集合;确定第二类别维度的数据点(如最小距离值对应的数据点)与k个聚类中心之间的距离,以得到第二距离集合;按照距离从小到大的顺序,从第一距离集合中选取距离对应的第一聚类中心j、以及从第二距离集合中选取距离对应的第二聚类中心k,并判断第一聚类中心j与第二聚类中心k之间的距离是否大于第三阈值,若否,则可以将第一聚类中心j与第二聚类中心k之间的距离增加为比第三阈值大的数值;若是,则可以不对第一类别维度所对应聚类中心或第二类别维度所对应聚类中心进行调整,并从第一距离集合中选取距离对应的第一聚类中心(j 1)、以及从第二距离集合中选取距离对应的第二聚类中心(k 1),并判断第一聚类中心(j 1)与第二聚类中心(k 1)之间的距离是否大于第三阈值,以此类推,直至第一聚类中心(j m)与第二聚类中心(k m)之间的距离大于第三阈值。
[0060]
该聚类中心对应有索引值,索引值可以为聚类中心的编号,索引值的范围可以为[0,k-1]。该索引值可以对应有编码信息,编码信息可以为二进制编码,例如,索引值255对应的二进制编码为“11111111”。
[0061]
本技术实施例可以将第一原始向量压缩为对应的编码向量。编码向量可以是m维
向量,m维向量的元素可以是第一原始向量在子空间内所对应聚类中心的索引值。m维向量可以是m个子空间分别对应的编码信息的笛卡尔积。
[0062]
步骤102中的数据集合与步骤101的训练样本均属于物联网数据,两者的不同在于处理阶段的不同;训练样本处于训练阶段,而数据集合属于训练后阶段。训练样本可用于确定子空间和子空间内的聚类中心,而数据集合可用于根据子空间和子空间内的聚类中心,确定对应的编码向量。本领域技术人员可以根据实际应用需求,确定训练样本和数据集合,本技术实施例对于具体的训练样本和数据集合不加以限制。
[0063]
在实际应用中,数据集合中可以包括多个第二原始向量。本技术实施例可以确定第二原始向量对应的第一目标聚类中心。具体而言,可以将第二原始向量划分到m个子空间,并确定第二原始向量在子空间内的子段与子空间内k个聚类中心对应的距离值,并从k个聚类中心选择距离值最小的一个,作为第一目标聚类中心。第二原始向量可以指表征物联网数据的数据集合所对应的原始向量。第一原始向量与第二原始向量均可以为p个维度的原始向量,但两者对应的处理阶段和物联网数据通常不同。
[0064]
本技术实施例还可以根据该第一目标聚类中心的索引值对应的编码信息,确定该第二原始向量对应的编码向量。第二原始向量对应的编码向量可以是m维向量,m维向量的元素可以是第二原始向量在子空间内所对应聚类中心的索引值。
[0065]
在具体实现中,可以对第二原始向量对应的编码向量进行存储。还可以对第一原始向量对应的编码向量进行存储。
[0066]
本技术实施例可以将编码向量存储至内存或磁盘。本技术实施例还可以将子空间内聚类中心的索引值与原始向量(包括第一原始向量或第二原始向量)之间的映射关系表存储至内存或磁盘,该映射关系表可用于快速确定第二原始向量对应的第一目标聚类中心、或者查询向量对应的第二目标聚类中心。参照表1,示出了本技术一个实施例的映射关系表的示例,该映射关系表可以包括:原始向量、以及子空间内聚类中心的索引值,假设子空间的数量为8,一个子空间对应索引值的范围为[0,255]。其中,一个原始向量在每个子空间内分别具有对应的聚类中心的索引值。
[0067]
表1在映射关系表和/或编码向量超出一台机器的内存容量的情况下,本技术实施例可以利用大数据并行计算框架,对内存容量进行扩充。
[0068]
在步骤103中,可以向用户提供查询界面,该查询界面中可以包括:查询接口,以使用户基于该查询接口触发查询请求。例如,查询接口可以包括:输入框,则用户可以在输入
框中输入查询请求。或者,查询接口可以包括:多个查询选项,则查询请求可以包括:用户选择的至少一个查询选项。
[0069]
在一种示例中,查询请求a可以为“x年x月x日经过上海的航班”。此种情况下,查询接口中可以包括:时间选项、途径地选项等查询选项,用户可以根据上述查询选项确定上述查询请求a。
[0070]
本技术实施例可以根据查询请求,生成查询向量。具体而言,可以确定查询请求对应的目标维度,并生成包含目标维度的查询向量。例如,对查询请求a中的“经过上海”进行语义解析,可以得到“经过上海”的条件是:高度处于巡航高度,速度处于巡航速度;因此,可以确定查询请求a对应的目标维度及维度数值:时间维度:x年x月x日空间维度:上海高度:y米速度:z千米/小时。
[0071]
在实际应用中,目标维度可能对应原始向量中的部分维度或全部维度。在目标维度对应原始向量中的全部维度的情况下,查询向量中维度的维度数值就是目标维度的维度数值。在目标维度对应原始向量中的部分维度的情况下,查询向量可以包括:目标维度和非目标维度,其中,非目标维度的维度数值可由本领域技术人员根据实际应用需求确定。例如,可以对历史查询向量进行记录,则非目标维度的维度数值可以是历史查询向量中非目标维度的维度数值的均值,或者,非目标维度的维度数值可以是历史查询向量中出现次数较高的维度数值。可以理解,本技术实施例对于非目标维度的具体维度数值不加以限制。
[0072]
因此,本技术实施例的查询向量的维度可以与第二原始向量的维度相同,例如,均为256维。
[0073]
在步骤104中,可以利用树形搜索、或者倒排索引等方法,从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果。
[0074]
在采用倒排索引方法的情况下,本技术实施例的方法还可以包括:根据第二原始向量与数据簇对应聚类中心之间的距离,确定并保存单个数据簇对应的倒排索引列表;所述倒排索引列表中的目标原始向量与所述单个数据簇所对应聚类中心之间的距离符合预设条件。
[0075]
本技术实施例中,一个聚类中心可以对应一个数据簇。倒排索引可以表征一个数据簇中包含的与自身的聚类中心之间的距离符合预设条件的目标原始向量。
[0076]
第二原始向量与数据簇对应聚类中心之间的距离,可以是第二原始向量与数据簇对应聚类中心的原始向量之间的欧式距离,也可以是第二原始向量对应的编码信息与数据簇对应聚类中心的编码信息之间的汉明距离。汉明距离可以比较两个二进制串,如二进制串a=11101010,二进制串b=11011010,由于a和b两个二进制串不同的位数为2,故两个二进制串之间的汉明距离为2。
[0077]
本技术实施例可以按照距离从小到大的顺序,对第二原始向量进行排序。预设条件可以是,排序结果在前s位,s可以为正整数。本技术实施例可以针对一个数据簇得到一个倒排索引列表,这个倒排索引列表可以包括:距离这个数据簇最近的s个目标原始向量。
[0078]
相应地,上述从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果的过程,具体包括:根据所述查询向量对应的第二目标聚类中心、以及所述倒排索引列表对应的聚类中心,确定所述查询向量对应的多个目标倒排索引列表;对所述多个目标倒排索引列表分别包含的目标原始向量取交集,以得到待选向量集合;根据所述查询向量与所述待选向量集合中的目标原始向量之间的距离,对所述待选向量集合中的目标原始向量进行排序,并将排序后的目标原始向量,作为查询结果。
[0079]
由于本技术实施例的倒排索引列表索引了子空间中与数据簇对应的聚类中心最近的s个目标原始向量,故本技术实施例在得到查询向量对应的第二目标聚类中心后,可以利用倒排索引列表,对与查询向量相匹配的第二原始向量进行索引。由于可以基于倒排索引列表缩小查询范围,因此,能够提高查询效率。
[0080]
在实际应用中,可以将查询向量划分到m个子空间,并确定查询向量在子空间内的子段与子空间内k个聚类中心对应的距离值,并从k个聚类中心选择距离值最小的一个,作为第二目标聚类中心。
[0081]
对第二目标聚类中心与倒排索引列表对应的聚类中心进行匹配,可以得到查询向量对应的多个目标倒排索引列表。
[0082]
本技术实施例对所述多个目标倒排索引列表分别包含的目标原始向量取交集,得到的待选向量集合可以与多个目标倒排索引列表均匹配。
[0083]
本技术实施例根据所述查询向量与所述待选向量集合中的目标原始向量之间的距离,对所述待选向量集合中的目标原始向量进行排序,此处的距离可以是原始向量对应的欧式距离。在确定待选向量集合的范围后,进一步根据原始向量对应的欧式距离,对查询向量与待选向量集合中的目标原始向量进行匹配,可以提高查询结果的准确度。
[0084]
本技术实施例可以按照查询向量与所述待选向量集合中的目标原始向量之间的距离从小到大的顺序,对待选向量集合中的目标原始向量进行排序,其中可以选取排序结果中的前t位,作为查询结果进行呈现。
[0085]
在步骤105中,本技术实施例可以将查询结果提供给用户。例如,可以在浏览器或应用程序的客户端提供的结果界面上,对查询结果进行展示。
[0086]
综上,本技术实施例的物联网数据的处理方法,对物联网数据进行子空间的划分和聚类,并将第二原始向量压缩为编码向量,可以降低第二原始向量占用的存储空间。例如,第二原始向量的维度为256,1个维度对应的浮点数占用4个字节,则一个第二原始向量占用256*4=1024 个字节的存储空间;假设子空间的数量为8,聚类中心的数量为256,则一个子空间对应索引值的范围为[0,255],假设一个索引值占用1个字节,则一个编码向量占用8个字节的存储空间。
[0087]
本技术实施例还可以根据该多个数据簇分别对应的聚类中心、以及该第二原始向量对应的编码向量,从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果。其中,在从该数据集合对应的第二原始向量中确定出该查询向量对应的查询结果的过程中,可以将原始向量对应的距离运算,转化为子空间内聚类中心的距离运算,由于能够减少查询过程中的运算量,因此能够提高物联网数据的查询效率。
[0088]
并且,本技术实施例的技术方案可由机器自动执行,由于可以节省由人工按照维度进行物联网数据的切分的技术手段,因此可以在节省人工成本的情况下,提高物联网数
据的查询效率。
[0089]
此外,本技术实施例根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将该第一原始向量划分到多个子空间,可以提高不同子空间之间的区分度,进而能够提高编码向量的精确度。
[0090]
进一步,本技术实施例中根据该子空间内维度的查询频率特征确定数据簇的数量,可以进一步提高不同子空间之间的区分度,进而能够进一步提高编码向量的精确度。
[0091]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术实施例所必须的。
[0092]
在上述实施例的基础上,本实施例还提供了一种训练装置,参照图2,该训练装置具体可以包括:训练模块201、编码模块202、查询向量生成模块203、查询模块204和结果输出模块205。
[0093]
其中,训练模块201,用于根据物联网数据的训练样本所对应第一原始向量中维度之间的相关性特征、和/或、训练样本所对应第一原始向量中维度的查询频率特征,将所述第一原始向量划分到多个子空间,以及,确定每个子空间内多个数据簇分别对应的聚类中心;其中,所述数据簇的数量为根据所述子空间内维度的查询频率特征确定;所述聚类中心对应有索引值;所述索引值对应有编码信息;编码模块202,用于根据物联网数据的数据集合中第二原始向量对应的第一目标聚类中心、以及所述第一目标聚类中心的索引值对应的编码信息,确定所述第二原始向量对应的编码向量;查询向量生成模块203,用于根据用户的查询请求,生成查询向量;查询模块204,用于根据所述多个数据簇分别对应的聚类中心、以及所述第二原始向量对应的编码向量,从所述数据集合对应的第二原始向量中确定出所述查询向量对应的查询结果;结果输出模块205,用于向用户输出该查询结果。
[0094]
可选地,相关性特征值高于第一阈值的至少两个维度被划分到相同的子空间;和/或查询频率特征值高于第二阈值的至少两个维度被划分到相同的子空间。
[0095]
可选地,第一子空间内第一维度的查询频率特征高于第二子空间内第二维度的查询频率特征,则第一子空间内数据簇的数量大于第二子空间内数据簇的数量。
[0096]
可选地,所述维度可以包括:类别维度;所述类别维度可以包括:互不相同的第一类别维度和第二类别维度;所述训练模块可以包括:增加模块,用于增加所述第一类别维度所对应聚类中心和第二类别维度所对应聚类中心之间的距离。
[0097]
可选地,所述训练模块可以包括:
第一选取模块,用于从n个训练样本中随机选取k个训练样本,作为k个待定聚类中心;k为正整数;第二选取模块,用于根据训练样本与k个待定聚类中心之间的距离,从k个待定聚类中心中选取距离所述训练样本最近的目标待定聚类中心,并将所述训练样本划分到所述目标待定聚类中心对应的数据簇;比较模块,用于对所述目标待定聚类中心所对应数据簇的均值点与所述目标待定聚类中心进行比较,若相同则结束流程,若不同则将所述目标待定聚类中心更新为所述均值点,并重复执行所述从k个待定聚类中心中选取距离所述训练样本最近的目标待定聚类中心。
[0098]
可选地,所述装置还可以包括:第一确定模块,用于根据第二原始向量与数据簇对应聚类中心之间的距离,确定并保存单个数据簇对应的倒排索引列表;所述倒排索引列表中的目标原始向量与所述单个数据簇所对应聚类中心之间的距离符合预设条件;所述查询模块可以包括:第二确定模块,用于根据所述查询向量对应的第二目标聚类中心、以及所述倒排索引列表对应的聚类中心,确定所述查询向量对应的多个目标倒排索引列表;取交集模块,用于对所述多个目标倒排索引列表分别包含的目标原始向量取交集,以得到待选向量集合;排序模块,用于根据所述查询向量与所述待选向量集合中的目标原始向量之间的距离,对所述待选向量集合中的目标原始向量进行排序,并将排序后的目标原始向量,作为查询结果。
[0099]
本技术实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本技术实施例中各方法步骤的指令(instructions)。
[0100]
本技术实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本技术实施例中,所述电子设备包括终端设备、服务器(集群)等各类型的设备。
[0101]
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括:终端设备、服务器(集群)等电子设备。图3示意性地示出了可被用于实现本技术中所述的各个实施例的示例性装置1100 。
[0102]
对于一个实施例,图3示出了示例性装置1100,该装置具有一个或多个处理器1102、被耦合到(一个或多个)处理器1102中的至少一个的控制模块(芯片组)1104、被耦合到控制模块1104的存储器1106、被耦合到控制模块1104的非易失性存储器(nvm)/存储设备1108、被耦合到控制模块1104的一个或多个输入/输出设备1110,以及被耦合到控制模块1104的网络接口1112。
[0103]
处理器1102可包括一个或多个单核或多核处理器,处理器1102可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1100 能够作为本技术实施例中所述终端设备、服务器(集群)等设备。
[0104]
在一些实施例中,装置1100 可包括具有指令1114的一个或多个计算机可读介质
(例如,存储器1106或nvm/存储设备1108) 以及与该一个或多个计算机可读介质相合并被配置为执行指令1114以实现模块从而执行本公开中所述的动作的一个或多个处理器1102。
[0105]
对于一个实施例,控制模块1104可包括任意适当的接口控制器,以向(一个或多个)处理器1102中的至少一个和/或与控制模块1104通信的任意适当的设备或组件提供任意适当的接口。
[0106]
控制模块1104可包括存储器控制器模块,以向存储器1106提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
[0107]
存储器1106可被用于例如为装置1100加载和存储数据和/或指令1114。对于一个实施例,存储器1106可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,存储器1106可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram) 。
[0108]
对于一个实施例,控制模块1104可包括一个或多个输入/输出控制器,以向nvm/存储设备1108及(一个或多个)输入/输出设备1110 提供接口。
[0109]
例如,nvm/存储设备1108可被用于存储数据和/或指令1114。nvm/存储设备1108可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd) 、一个或多个光盘(cd) 驱动器和/或一个或多个数字通用光盘(dvd) 驱动器)。
[0110]
nvm/存储设备1108可包括在物理上作为装置1100 被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,nvm/存储设备1108可通过网络经由(一个或多个)输入/输出设备1110 进行访问。
[0111] (一个或多个)输入/输出设备1110 可为装置1100 提供接口以与任意其他适当的设备通信,输入/输出设备1110可以包括通信组件、音频组件、传感器组件等。网络接口1112可为装置1100 提供接口以通过一个或多个网络通信,装置1100 可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如wifi、2g、3g、4g、5g等,或它们的组合进行无线通信。
[0112]
对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器(例如,存储器控制器模块) 的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip) 。对于一个实施例, (一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例, (一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc) 。
[0113]
在各个实施例中,装置1100可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1100 可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1100包括一个或多个摄像机、键盘、液晶显示器(lcd) 屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic) 和扬声器。
[0114]
其中,检测装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或nvm/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络
接口。
[0115]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0116]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0117]
本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0118]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0119]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0120]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0121]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0122]
以上对本技术所提供的一种物联网数据的处理方法和装置、一种电子设备和一种机器可读介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献