一种WMSN区块链的多媒体混合数据近似近邻二元查询方法与流程

文档序号:16628850发布日期:2019-01-16 06:22阅读:418来源:国知局
一种WMSN区块链的多媒体混合数据近似近邻二元查询方法与流程

本发明涉及无线多媒体传感器网络(wirelessmultimediasensornetworks,wmsn)领域,特别是一种wmsn区块链的多媒体混合数据近似近邻二元查询方法。



背景技术:

无线多媒体传感器网络(wirelessmultimediasensornetworks,wmsn)是在无线传感器网络(wsn)上发展起来的具有视频、音频、图像等多媒体信息的新型无线传感器网络。到目前为止,wmsn的应用十分广泛,如安全监控、智能交通、环境监测等。其中有些敏感应用必须防止数据篡改,如农场对产品的监管、智能交通违法证据的监管等,目前一种前沿的思想是采用当前热点区块链技术与ipfs技术来构建基于wmsn的区块链系统,以对非常敏感的数据进行保护。因而在wmsn区块链系统研发中多媒体数据查询将是一项基础性设计。一般性的做法是:在经过wmsn数据预处理后,基于多媒体数据的搜索操作通过对同一网络中存在的大规模数据进行筛选,获取与查询对象相似的数据结果。从现有技术文献来看,对高维度、大规模的数据集快速搜索已经呈现出巨大的应用潜力。但是,对于wmsn这样的多类型数据形式,如何利用不同类型的数据进行协同搜索,提高搜索结果的精度,对于在wmsn区块链的应用来说具有非常重要的意义。

wmsn区块链应用通常基于以太坊和ipfs来构建可行的解决方案,wmsn数据在存储到ipfs分布式结构后,进行上链处理,通过智能合约对上链以后的数据在ipfs上进行如查询等操作现有的方法存在以下三个挑战性问题。

问题1(空间灾难):大规模wmsn区块链ipfs数据的索引存储本身即需要消耗较大的空间,而现有的方法在保证准确度的情况下构建索引往往需要消耗高于数据集更多倍的空间大小,这对于大规模数据集无疑是一种“空间灾难”;

问题2(维度灾难):在处理单一数据类型,例如图片、文本数据,其构建的特征向量都属于高维数据,而对混合数据类型更需要同时考虑多种数据特征,对于大规模wmsn区块链ipfs数据的处理是一种“维度灾难”问题;

问题3(增长灾难):在wmsn区块链ipfs分布式存储的背景下,wmsn数据的高速增长需要所构建的索引结构有着较优的可扩展性。对于大规模wmsn区块链ipfs数据的处理是一种“增长灾难”问题。



技术实现要素:

有鉴于此,本发明的目的是提出一种wmsn区块链的多媒体混合数据近似近邻二元查询方法,能够在保证查询精度的情况下,降低了查询时间,并消耗更少的存储空间。

本发明采用以下方案实现:一种wmsn区块链的多媒体混合数据近似近邻二元查询方法,具体包括以下步骤:

步骤s1:对多媒体数据进行特征提取;

步骤s2:利用局部敏感哈希方法对数据集上的特征数据构建协同过滤的二元混合lsh索引框架;

步骤s3:将查询对象映射到步骤s2构建的中协同过滤的二元混合lsh索引框架中进行查询。

本发明利用局部敏感哈希(localitysensitivehashing,lsh)方法构造二元混合数据索引,以保留原数据对象之间内容的相似度,有利于准确地进行搜索;采用近似近邻搜索策略取代最近邻搜索,以降低搜索时间;最后,利用二元混合数据模型应对wmsn中的多类型数据,进行二元混合数据的协同搜索。本发明的方法对高维度、大规模、多类型数据的数据形式具有较好的普适性,能够提高搜索结果的准确度;在真实与合成多类型混合数据集上本发明方法表现出良好的性能,能够有效节省资源,降低了搜索时间,同时该方法有效地解决了近似近邻的二元混合查询问题,可有效应用于基于wmsn区块链系统中智能合约的wmsn数据查询事务。

进一步地,步骤s1具体为:在输入wmsn的原始多类型数据后,通过特征化将多媒体数据转换成为特征向量;在这个过程中,对文本数据进行特征提取时,使用tf-idf方法或词频方法,以将文本数据转换为汉明空间下的特征向量;对图像数据进行特征提取时,通过提取sift特征值进行特征化处理,以将其转换为欧式空间下的特征向量。

进一步地,步骤s2具体包括以下步骤:

步骤s21:通过(r1,r2,p1,p2)-sensitivelsh将x1转化为k1个哈希值;

步骤s22:通过(d1,d2,p1,p2)-sensitivelsh将x2转化为k2个哈希值;

步骤s23:连接k1和k2个哈希值,即得该数据的混合哈希值;

步骤s24:针对数据集中的两种数据类型进行哈希映射构建索引结构;

其中,x1表示汉明空间数据,x2表示欧式空间数据,(r1,r2,p1,p2)-sensitivelsh与(d1,d2,p1,p2)-sensitivelsh均表示局部敏感哈希变换,r1表示x1中的领域半径,r2表示x2中的领域半径;d1表示汉明空间的距离计算形式(维度),d2表示欧式空间的距离计算形式(维度);p1表示一个概率值,它是在实数区间(0,1)中的一个较大的数值;p2表示另一个概率值,它是在实数区间(0,1)中的一个较小的数值。

进一步地,步骤s24具体包括以下步骤:

步骤s241:设近似因子c、汉明敏感距离r以及欧式敏感距离d,对于x1部分,构建族,记为h1;对于x2部分,构建族,记为h2;其中,分别表示概率数值,它们都是在实数区间(0,1)中的一个较大的数值;也分别表示概率数值,它们都是在实数区间(0,1)中的一个较小的数值。

步骤s242:分别从h1、h2中随机生成k1、k2个哈希函数,并合并成为一个新的哈希函数,记为gi,即

步骤s243:独立且随机地选取l个g,记为g={g1,g2,...gl},对于每个二元数据,都会得到l个哈希值,并分别映射到l个哈希表中。

进一步地,在索引结构的构造过程中,对于每个点p∈p,其中p为给定度量空间中的一个点集,为了获得p的混合哈希值,首先对p的汉明空间部分进行opr(onepermutationwithrotation)处理,得到一个k维的向量,记为h1=[h1,h2,...hk],然后对p的欧式空间部分,应用cross-polytopelsh,得到一个离点p最近的基准向量的索引,记为h2=i,i∈{1,2,...2d},最后得到点p的混合哈希值,记为h=[h1,h2],通过md5再次对h进行哈希映射得到p最后的哈希索引,并将点p存入相应的哈希桶中,为了提高近似点的碰撞概率,重复这个过程l次,生成l个哈希表,每个哈希表内都对应着多个哈希桶,每个桶内存储的数据点则称为相互碰撞的点。本发明分别利用onepermutationwithrotation方法和cross-polytopelsh方法,将相似的数据映射为同一索引值,该方法相对于原始的lsh方法,在时间和空间上都有很大的提升。

进一步地,在一次计算哈希索引中,采用计算时间,其中,d1、d2分别是点p汉明空间与欧式空间的维度,采用快速哈德码变换来降低对点p欧式空间部分旋转过程所使用的时间,此时计算一次哈希值的时间复杂度降为o(kd1+d2logd2);对于l个独立的哈希桶,对每个点进行l次上述操作,得到总的预处理时间为o(nl(kd1+d2logd2)),其中n为总点数。

进一步地,步骤s3具体为:

步骤s31:给定查询数据;

步骤s32:对步骤s1给定的查询数据特征化后进行步骤s21至步骤s23的哈希值计算过程;

步骤s32:将步骤s32的计算结果从步骤s24构建的索引结构中生成查询结果。

进一步地,步骤s3中,所述查询数据包括汉明空间数据与欧式空间数据,针对两种数据分别设计两种多探测方法;

其中,针对欧式空间数据,采用欧式空间的cross-polytopelsh的多探测方法:在标准的cross-polytopelsh中,定义hi(q)为q点旋转后离最近的{±ei}1≤i≤d的索引,基于此方式得出,与q点碰撞概率较高的点还存在于哈希值为离q点旋转后m近的{±ei}1≤i≤d的索引中,定义m为多探测方式的探测范围,则对于给定查询点q,定义hi(q)=argsortdist(q,e)1≤j≤m;其中,{±ei}1≤i≤d表示,dist(q,e)表示点q与点e之间的欧式距离;

其中,针对汉明空间数据,采用面向汉明空间的opr方法:通过一层中间映射,将汉明空间数据转换为能够采用cross-polytopelsh处理的特征向量;其中,该转换过程采用featurehashing。

与现有技术相比,本发明有以下有益效果:

1、本发明所提出的方法对高维度、大规模、多类型数据的数据形式具有较好的普适性,提高了搜索结果的准确度。

2、本发明在真实与合成多类型混合数据集上表现出良好的性能,能够有效节省资源,降低了搜索时间。

3、本发明有效地解决了近似近邻的二元混合查询问题,可有效应用于基于wmsn区块链系统中智能合约的wmsn数据查询事务。

附图说明

图1为本发明实施例的原理框图。

图2为本发明实施例中的索引结构构造流程图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

首先,wmsn物联网的隐私保护由于缺少相关的物联网标准是一个挑战性的研究热点。区块链通常是作为加密数字货币的一种基础性技术,像比特币、以太坊等,为开放wmsn物联网隐私数据、敏感数据提供了一种去中心化的、安全的技术保证,尤其是可构建新型的安全可信的访问控制模型。可是,中心化的物联网数据管理与访问控制模型导致了许多问题,特别是物联网系统的可伸缩能力(scalabilityissues),强迫用户信任第三方中介来管理他们的数据。但比特币、以太坊等众多区块链技术都不提供去中心化的数据存储能力,theinterplanetaryfilesystem(ipfs)正好提供了一种高吞吐量内容寻址块存储模型,具有内容寻址的超链接,这就形成了一个通用的melker-dag,与区块链技术特别是以太坊能很好的整合,因此,以区块链技术与peer-to-peer数据存储技术为基础的去中心化的安全与隐私保护模型的研究成了wmsn物联网的研究热点之一。

本实施例利用基于opr与cp的lsh的方法通过巧妙结合并做进一步改进,提出了一种新颖的混合数据查询方法,所提出oprcp方法在保证查询精度的情况下,降低了查询时间,并消耗更少的存储空间。此外,该方法随着数据维度的增长,依然能够保证较优的查询性能。

如图1所示,本实施例提供了一种wmsn区块链的多媒体混合数据近似近邻二元查询方法,具体包括以下步骤:

步骤s1:对多媒体数据进行特征提取;

步骤s2:利用局部敏感哈希方法对数据集上的特征数据构建协同过滤的二元混合lsh索引框架;

步骤s3:将查询对象映射到步骤s2构建的中协同过滤的二元混合lsh索引框架中进行查询。

本实施例利用局部敏感哈希(localitysensitivehashing,lsh)方法构造二元混合数据索引,以保留原数据对象之间内容的相似度,有利于准确地进行搜索;采用近似近邻搜索策略取代最近邻搜索,以降低搜索时间;最后,利用二元混合数据模型应对wmsn中的多类型数据,进行二元混合数据的协同搜索。本发明的方法对高维度、大规模、多类型数据的数据形式具有较好的普适性,能够提高搜索结果的准确度;在真实与合成多类型混合数据集上本发明方法表现出良好的性能,能够有效节省资源,降低了搜索时间,同时该方法有效地解决了近似近邻的二元混合查询问题,可有效应用于基于wmsn区块链系统中智能合约的wmsn数据查询事务。

特别的,本实施例的数据模型是面向二元混合数据类型的数据对象,为了简化问题,本实施例主要专注于汉明空间与欧式空间的二元混合数据。为了便于理论分析,本实施例假设两种数据类型相互独立。对于汉明空间,使用jaccard距离表示两数据间相似性,即对于欧式空间,使用归一化欧式距离,即

计算多元混合数据类型相似度问题,线性加权和的方式被广泛使用。本实施例中二元混合数据相似度定义如下:设x为全体数据集,有两种数据类型,本实施例用x1表示汉明空间数据,用x2表示欧式空间数据,即x=(x1,x2)。对于α∈(0,1)为数据类型比重,有

本实施例解决的是汉明与欧式空间中的c-nn(c-approximatenearneighbor)查询问题。

定义1(c,r)-nn查询。给定度量空间(x,d)中的一个点集p,给定查询点q∈x,如果且d(p,q)≤r,则以至少1-f的概率返回p',p'∈p且d(p',q)≤cr,其中f为查询失败的概率。

本实施例将其扩展到二元混合类型数据上,得到定义2:(c,r1,r2)-nn查询。给定度量空间(x=(x1,x2),d)中的一个点集p,给定查询点q=(q1,q2)∈x,如果且满足j(p1,q1)≤r1,j(p2,q2)≤r2,则以至少1-f的概率返回p',p'∈p且j(p'1,q1)≤cr1,d(p'2,q2)≤cr2,其中f为查询失败的概率。

本实施例接下来对局部敏感哈希进行介绍(lsh)。定义3:在度量空间(x,d)中,一个随机的划分r当满足以下条件时,被称为(r1,r2,p1,p2)-sensitive。给定有:

(1)如果d(x,y)≤r1,那么prr[r(x)=r(y)]≥p1;

(2)如果d(x,y)≥r2,那么prr[r(x)=r(y)]≤p2;

为了确保r是有效的,我们要求其满足不等式r1<r2且p1>p2。

为了对两种类型的数据进行混合搜索,本实施例的算法针对不同类型的数据使用两种不同的lsh,下面分别介绍这两种lsh,即onepermutation及cross-polytope方法。

对于汉明空间的数据常常使用min-hashing构建搜索索引,康奈尔大学的anshumali和罗格斯大学的pingli提出了基于onepermutationhashing改进的方法opr(onepermutationwithrotationhashing),相比于min-hashing在时间和空间性能上有很大的提升,并且能够与min-hashing保持同一水平的查询效果,下面介绍该方法。

首先,解释下面会用到的一些符号的含义:d表示数据的维度,将空间下的0/1向量等价视为形如ω={0,1,...,d-1}的集合。

给定以及一个随机排列本实施例将原向量空间分割为k个等长片段的集合。对于第j个片段(o≤j≤k-1),该集合定义为:

本实施例明确两个概念:

(1)若mj(π(s))是一个全0的片段,

(2)mj(π(s))的最小值指的是该片段中最小的非零索引。

如果则oprj(π(s))=e。否则oprj(π(s))=e的值为的最小值。本实施例中,认为d总是能够被k整除,若不整除,只需在末端补0即可。在时,oprj(π(s))的取值为:

现在,定义本实施例的哈希方式。对于oprj(π(s))≠e的情况,哈希值的取值为oprj(π(s))。若oprj(π(s))=e,将该片段右边的第一个oprj(π(s))≠e的片段的哈希值加上一个数据项作为该片段的哈希值(将该集合视为一个循环队列)。定义如下:

其中,t=min(z),s.t.opr(j+z)modk(π(s))≠e。上述定义出现的c为一个常量。

定义4:一个哈希族作用于数据点位于的一个单位球上。为一个独立同分布高斯随机矩阵。为得到一个点x∈sd-1的哈希值,首先计算然后找到{±ei}1≤i<d中与y距离最近的点,其中ei是在空间rd中的第i个标准基础向量,本实施例使用该点的索引作为x的哈希值。

在本实施例中,步骤s1具体为:在输入wmsn的原始多类型数据后,通过特征化将多媒体数据转换成为特征向量;在这个过程中,对文本数据进行特征提取时,使用tf-idf方法或词频方法,以将文本数据转换为汉明空间下的特征向量;对图像数据进行特征提取时,通过提取sift特征值进行特征化处理,以将其转换为欧式空间下的特征向量。

如图2所示,在本实施例中,步骤s2具体包括以下步骤:

步骤s21:通过(r1,r2,p1,p2)-sensitivelsh将x1转化为k1个哈希值;

步骤s22:通过(d1,d2,p1,p2)-sensitivelsh将x2转化为k2个哈希值;

步骤s23:连接k1和k2个哈希值,即得该数据的混合哈希值;

步骤s24:针对数据集中的两种数据类型进行哈希映射构建索引结构;

其中,x1表示汉明空间数据,x2表示欧式空间数据,(r1,r2,p1,p2)-sensitivelsh与(d1,d2,p1,p2)-sensitivelsh均表示局部敏感哈希变换,r1表示x1中的领域半径,r2表示x2中的领域半径;d1表示汉明空间的距离计算形式(维度),d2表示欧式空间的距离计算形式(维度);p1表示一个概率值,它是在实数区间(0,1)中的一个较大的数值;p2表示另一个概率值,它是在实数区间(0,1)中的一个较小的数值。

在本实施例中,步骤s24具体包括以下步骤:

步骤s241:设近似因子c、汉明敏感距离r以及欧式敏感距离d,对于x1部分,构建族,记为h1;对于x2部分,构建族,记为h2;其中,分别表示概率数值,它们都是在实数区间(0,1)中的一个较大的数值;也分别表示概率数值,它们都是在实数区间(0,1)中的一个较小的数值。

步骤s242:分别从h1、h2中随机生成k1、k2个哈希函数,并合并成为一个新的哈希函数,记为gi,即

步骤s243:独立且随机地选取l个g,记为g={g1,g2,...gl},对于每个二元数据,都会得到l个哈希值,并分别映射到l个哈希表中。

下表为构建哈希索引的过程伪代码。

本实施例在构建哈希索引的过程中,使用o(dn+nl)的空间消耗与o(ndkl)的处理时间。对于空间消耗,主要取决于哈希表的数量,与数据集的大小成线性关系;对于处理时间的消耗,主要取决于数据集的属性如维度、数量与哈希函数的数量k1+k2。

针对汉明空间数据与欧式空间数据,现已存在多种高效的lsh方法。为了适应二元混合数据类型的特点,本实施例结合了多种高效的方法并做了针对性的改进,所提出的混合查询oprcp方法由opr方法与cp方法融合而成。

(1)对于汉明空间数据,本实施例采用opr方法(onepermutationwithrotation),该方法较著名的min-hash方法相比,在时间和空间上都有较大的改进,具体地说,opr方法只对数据进行一次排列,排列次数的减少使得运行时间大幅度降低;只对一次排列数据进行存储,也相应地减少了存储空间的消耗。

(2)对于欧式空间数据,本实施例采用cp方法(cross-polytopelsh),在时间上,当查询时间为o(dnρ)时,该方法可获得

在本实施例中,在索引结构的构造过程中,对于每个点p∈p,其中p为给定度量空间中的一个点集,为了获得p的混合哈希值,首先对p的汉明空间部分进行opr(onepermutationwithrotation)处理,得到一个k维的向量,记为h1=[h1,h2,...hk],然后对p的欧式空间部分,应用cross-polytopelsh,得到一个离点p最近的基准向量的索引,记为h2=i,i∈{1,2,...2d},最后得到点p的混合哈希值,记为h=[h1,h2],通过md5再次对h进行哈希映射得到p最后的哈希索引,并将点p存入相应的哈希桶中,为了提高近似点的碰撞概率,重复这个过程l次,生成l个哈希表,每个哈希表内都对应着多个哈希桶,每个桶内存储的数据点则称为相互碰撞的点。具体算法伪代码见下表:

本发明分别利用onepermutationwithrotation方法和cross-polytopelsh方法,将相似的数据映射为同一索引值,该方法相对于原始的lsh方法,在时间和空间上都有很大的提升。

在本实施例中,在一次计算哈希索引中,采用计算时间,其中,d1、d2分别是点p汉明空间与欧式空间的维度,采用快速哈德码变换来降低对点p欧式空间部分旋转过程所使用的时间,此时计算一次哈希值的时间复杂度降为o(kd1+d2logd2);对于l个独立的哈希桶,对每个点进行l次上述操作,得到总的预处理时间为o(nl(kd1+d2logd2)),其中n为总点数。

在本实施例中,步骤s3具体为:

步骤s31:给定查询数据;

步骤s32:对步骤s1给定的查询数据特征化后进行步骤s21至步骤s23的哈希值计算过程;

步骤s32:将步骤s32的计算结果从步骤s24构建的索引结构中生成查询结果。

在本实施例中,步骤s3中,所述查询数据包括汉明空间数据与欧式空间数据,针对两种数据分别设计两种多探测方法;

其中,针对欧式空间数据,采用欧式空间的cross-polytopelsh的多探测方法:在标准的cross-polytopelsh中,定义hi(q)为q点旋转后离最近的{±ei}1≤i≤d的索引,基于此方式得出,与q点碰撞概率较高的点还存在于哈希值为离q点旋转后m近的{±ei}1≤i≤d的索引中,定义m为多探测方式的探测范围,则对于给定查询点q,定义hi(q)=argsortdist(q,e)1≤j≤m;其中,{±ei}1≤i≤d表示,dist(q,e)表示点q与点e之间的欧式距离;

其中,针对汉明空间数据,采用面向汉明空间的opr方法:通过一层中间映射,将汉明空间数据转换为能够采用cross-polytopelsh处理的特征向量;其中,该转换过程采用featurehashing。

整个多探测oprcp查询流程的伪代码见下表。

在近似相似度查询过程中,只需使用哈希计算次数,得出l个哈希值,并用ol(1)的时间复杂度取出查询点的近似候选集;如要查找出最近邻的数据点,只用在候选集中进行线性搜索即可。通常,这个候选集的数量远低于数据集的大小,所以,通过该算法对不相似的点进行过滤,可以有效的避免在原有数据集上进行线性搜索的过程。

本实施例基于以太坊和ipfs来构建wmsn区块链应用是一种可行的物联网敏感数据保护的解决方案,基于智能合约机制实现wmsn物联网络混合数据的查询事务的研究具有非常重要的意义。本实施例针对wmsn中高维度、大规模、多类型的多媒体数据的查询问题,提出了一种新的二元混合类型的近似近邻查询解决方案oprcp方法。与现有的工作不同,使用基于lsh方法对二元混合数据进行相似查询,通过对数据集进行预处理构造搜索索引结构,可以得到更高效的维度不敏感查询时间,能够有效地解决二元混合数据地维度灾难问题;同时利用多探测查询方法,解决了lsh方法普遍存在地空间消耗大的缺陷。大量的实验证明了本实施例方法与以往的方法相比,具有更低的查询时间和空间消耗,对各种数据集具有普适性。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1