CN116340278A - 一种面向移动物联网的区块链上空间数据可认证共享方法 - Google Patents
一种面向移动物联网的区块链上空间数据可认证共享方法 Download PDFInfo
- Publication number
- CN116340278A CN116340278A CN202310125302.0A CN202310125302A CN116340278A CN 116340278 A CN116340278 A CN 116340278A CN 202310125302 A CN202310125302 A CN 202310125302A CN 116340278 A CN116340278 A CN 116340278A
- Authority
- CN
- China
- Prior art keywords
- node
- space
- data
- query
- text data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012795 verification Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims description 4
- 238000010187 selection method Methods 0.000 claims description 2
- 238000009826 distribution Methods 0.000 abstract description 10
- 230000008447 perception Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 102100037009 Filaggrin-2 Human genes 0.000 description 1
- 101000878281 Homo sapiens Filaggrin-2 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种面向移动物联网的区块链上空间数据可认证共享方法,设计了一种自由边界的空间索引数据结构,并利用NFT智能合约标记和描述空间数据;物联网节点将要共享的空间数据的元数据上链,轻节点向提供查询服务的全节点请求元数据,该全节点向所述NFT智能合约发起查询交易,NFT智能合约将查询结果打包发布到区块链上;查询服务提供方利用包含查询结果的区块的交易树创建证明对象VO,将查询结果和VO一起发送给轻节供其验证查询结果;轻节点利用元数据中的统一资源标识符URI从分布式存储系统中获取所需的共享数据。与现有技术相比,本发明在克服移动物联网节点的移动轨迹在空间中的任意扩展方面和共享的空间数据在空间中的随机分布方面具有优势。
Description
技术领域
本发明涉及区块链技术领域,尤其是涉及一种面向移动物联网的区块链上空间数据可认证共享方法。
背景技术
以“万物互联”为目标的物联网被认为是信息产业的第三次技术革命,物联网融合传感器感知、特征识别、人工智能、边缘计算和云计算等技术来采集和处理环境信息,利用网络通信技术传输数据,实现物与物、人与物的互联互通。由于单个物联网设备的感知范围有限,计算能力不足,以无人机网络和车联网为代表的移动物联网具有共享数据的迫切需求。
彼此共享数据能够更好的发挥移动物联网全面感知的能力,提升智能化服务水平。移动物联网中共享的原始数据通常来自于终端设备对环境的感知,这些感知数据与其产生时的终端设备所在位置息息相关;此外,这些数据有些本身是文本类型的,有些是可以通过数据处理技术提取特征变成文本描述的多媒体数据。因此,移动物联网中共享的这些数据本质上是带有地理信息标记和文本描述的异构数据,称为空间-文本数据。
安全可靠的共享这些空间-文本数据是移动物联网的内在要求。将区块链技术应用于物联网能够有效解决数据共享的安全问题,但是区块链与传统数据库不同,区块链采用文件系统或Key-Value数据库(如LevelDB)存储数据,提供的查询服务类型有限,不支持空间数据的索引。在移动物联网中共享空间-文本数据面临三个问题:
1)由于物联网设备生成的感知数据所包含的内容各不相同,数据表现形式各异,数据请求者需要能够正确的理解和准确的识别这些数据。
2)移动物联网终端的移动轨迹的不可预测性导致它们的感知覆盖范围具有随意扩展性,因此,产生的感知数据在空间上是随机非均匀分布的。
3)部分物联网设备受限于自身低下的计算能力和匮乏的存储空间,在区块链中只能扮演轻节点的角色,这类节点只存储区块头,不参与区块链的共识过程、不存储完整的区块链副本,但是具有向链上发布数据的能力,也可以向全节点请求数据;但是轻节点并不能保证响应数据请求的全节点是可信的,因为互不信任是区块链的固有假设。
CN109472699A公开了一种区块链基础上的自动化人工智能数据共享方法及装置,该方法如下:数据提供方发布训练数据集数据至人工智能训练数据集数据中心,发布训练数据集信息及数据访问支付智能合约到区块链上;数据获取方查询数据提供方发布的信息,若信息符合自身需求则调用支付智能合约进行支付交易;人工智能训练数据集数据中心查询支付智能合约状态,获取该数据获取方的公钥;修改防火墙开放支付方访问权限,数据获取方即可获取训练数据集数据,数据共享过程完成,从而解决了建立在区块链上的数据共享数据只能共享小量数据的问题,并通过区块链全网节点对数据共享过程进行监督。然而该专利仍无法解决上述问题。
发明内容
本发明的目的就是为了提供一种面向移动物联网的区块链上空间数据可认证共享方法,能够适应移动物联网设备在空间位置上的随意移动,克服数据在空间中分布不均匀的困难,支持轻节点对共享数据的可验证查询。
本发明的目的可以通过以下技术方案来实现:
一种面向移动物联网的区块链上空间数据可认证共享方法,包括以下步骤:
步骤1)在移动物联网上部署支持智能合约的区块链;
步骤2)在NFT智能合约中实例化空间索引数据结构,并在区块链上部署所述NFT智能合约;
步骤3)移动物联网终端将需要共享的空间-文本数据的原始数据存储在链外分布式存储系统中,将对应的元数据存储在区块链上;
步骤4)轻节点向查询服务提供方发送数据查询请求,查询服务提供方基于数据查询请求向NFT智能合约发起空间-文本数据查询交易;
步骤5)全节点收到步骤4)中的空间-文本数据查询交易后立即执行NFT智能合约中的查询函数,将查询结果以事件(event)的形式记录在区块链上;
步骤6)查询服务提供方从区块链上获取查询结果,利用包含所述查询结果的区块的交易树构建查询结果的证明对象,并将查询结果和证明对象一起返回给轻节点;
步骤7)轻节点验证查询结果,若查询结果通过验证,则从查询结果中提取元数据中的统一资源标识符(URI),从链外分布式存储系统中获取原始空间-文本数据;若查询结果未通过验证,则表明数据不可用,返回步骤4)重新向查询服务提供方发送数据查询请求。
所述的步骤1)中,移动物联网的终端在空间上的移动轨迹是不可预测的,因此,无法提前判断移动物联网感知的空间范围。由于终端的随机移动,其所产生的空间-文本数据在空间上的分布也是随机的。
所述的步骤2)中的空间索引数据结构是自由边界的空间索引数据结构(FBSI),为一种空间范围不受限,适应空间数据随机分布的树形空间索引数据结构,树中的每个节点代表一个空间范围,空间可以自由的划分成N个不相交的子空间,一方面根据数据的密度划分空间,使子空间上有足够数量的数据,可以提高子空间节点的利用率;另一方面采用降维的做法在空间划分的时候选择一个维度分割空间,将其划分为两个一维的子空间,可以降低空间数据处理复杂度。树的每个层对应一个分裂维度,从上往下,第0层对应第1维,第1层对应第2维,第2层对应第1维,…,以此类推,层数不断增加,维度循环使用。
所述的FBSI包括三种节点类型:根节点、叶节点和中间节点;
根节点代表全局空间,是一个无限大的空间范围,父节点的空间被分为多个不相交的子空间,由其子节点分别表示其中一个子空间,中间节点仅代表本分支的空间范围,叶节点上关联了空间-文本数据列表;当叶节点上关联的数据量超过设定的上限时发生节点空间的分裂,分裂遵循以下原则:
a)只有叶节点能发生分裂,且在分裂基准节点对应的维度上发生分裂;
b)每次节点分裂时只能将一个空间分为两个更小的空间;
c)分裂后每个子空间中关联的数据量相等;
分裂节点时的空间分界点定义为:
其中,如果分裂基准节点在偶数层,叶节点关联的空间-文本数据按经度排序,否则,如果分裂基准节点在奇数层,叶节点关联的空间-文本数据按纬度排序;N是叶节点关联的空间-文本数据的数量,Lon表示经度,Lat表示纬度;
所述分裂基准节点选择方法为:
如果分裂节点的兄弟节点数量大于等于fanmai-1,fanmax是其父节点的扇出上限,所选的分裂基准节点是分裂节点自身,反之,则为其父节点。
所述的NFT智能合约中的数字资产具有不可替代的唯一性,因此,在NFT智能合约中的空间-文本数据不可修改,但可以销毁。基于此,所述的FBSI的维护操作有两个:1)插入;2)删除。
在FBSI中插入空间-文本数据的流程为:
步骤201)为空间-文本数据创造一个具有元数据的NFT资产;
步骤202)以空间-文本数据的空间坐标属性为索引,在FBSI上查找包含该空间-文本数据空间坐标的叶节点,并将其添加到该叶节点关联的空间-文本数据列表中;
步骤203)如果步骤202)中的叶节点关联的空间-文本数据列表的长度超过了上限,则将所述叶节点的空间分裂成两个子空间,关联的空间-文本数据从分裂点处一分为二,分别关联到两个新的子空间中;
步骤204)如果分裂基准节点是叶节点自身,则被分裂的叶节点变成中间节点,分裂出的两个子空间形成它的两个叶子节点,在分裂点前的为左子节点,分裂点后的为右子节点;如果分裂基准节点是叶节点的父节点,则分裂出的两个子空间中在分裂点前的一个取代原叶节点的地位,另一个成为其后面紧挨着的兄弟节点。
所述步骤202)中,在FBSI上查找包含空间-文本数据空间坐标的叶节点Leaf的方法为:
FBSI的根节点为R,要查找的空间-文本数据的经度为Lon,纬度为Lat;
步骤2021)如果R是叶节点,则R即为要找的叶节点Leaf,结束,否则,判断R所在层是偶数层还是奇数层;
步骤2022)如果R所在层是偶数层,在R的子节点中匹配包含Lon的子节点Rlon,用Rlon取代R,返回步骤2021);
步骤2023)如果R所在层是奇数层,在R的子节点中匹配包含Lat的子节点Rlat,用Rlat取代R,返回步骤2021)。
在FBSI中删除空间-文本数据的流程为:
步骤205)校验删除请求者权限;
步骤206)以空间-文本数据的空间坐标属性为索引,在所述的FBSI上查找包含该空间-文本数据空间坐标的叶节点,在该叶节点关联的空间-文本数据列表中删除该空间-文本数据;
步骤207)如果步骤206)中所述的叶节点关联的空间-文本数据列表为空,则将该叶节点删除;
步骤208)如果步骤207)中所述的叶节点的父节点仅剩一个子节点,则将父节点与子节点合并为一个叶节点。
所述的步骤3)中,元数据是步骤2)中所述的NFT智能合约中保存空间-文本数据的形式,它包括NFT智能合约分配给空间-文本数据的唯一性标记和对空间-文本数据特征的描述,原始空间-文本数据在链外分布式存储系统中的URI是特征之一。
所述的步骤4)中,在区块链网络中,轻节点只保存区块头,全节点保存了完整区块链副本,包括区块头和区块体。轻节点和全节点的概念是本领域的常识。查询服务提供方是全节点,轻节点发送数据查询请求:
q=<[lonstart,lonend],[latstart,latend],ψ>
其中,[lonstart,lonend]和[latstart,latend]分别是选定的经度范围和纬度范围,lonstart、lonend、latstart、latend分别为查询范围的左经度、右经度,下纬度、上纬度,ψ是查询要求的特征集。
空间-文本数据表示为:
oi=<ti,loni,lati,Ψi>
其中ti、loni和lati分别是时间戳、经度和纬度,Ψi是数据的特征集。
查询结果是所有落在查询空间范围内的具有ψ中所有特征的空间-文本数据的集合:
所述的步骤5)中的NFT智能合约中的查询函数执行以下步骤:
步骤501)在FBSI上搜索到所有与查询空间<[lonstart,lonend],[latstart,latend]>重叠的叶节点的集合;
步骤502)在步骤501)得出的叶节点集合上逐一检查每个叶节点关联空间-文本数据是否符合查询条件,得到查询结果集合。
所述的步骤501)中,在FBSI上搜索与查询空间重叠的叶节点集合LS的方法如下:
FBSI的根节点为R,根节点表示的空间为Sr,查询空间为Sq;
步骤5011)如果R是叶节点,则将R加入LS,结束;
步骤5012)对于R的每一个子节点C,如果C表示的空间Sc与Sq重叠,则用C和Sc取代R和Sr,递归调用本方法。
所述的事件(event)是智能合约提供的一种将数据记录到区块链的一种方式,在区块链上以一笔交易的形式出现,因此,其哈希摘要被组织在区块的交易树中。
为了进一步提高空间-文本数据的查询效率,在所述NFT智能合约中以空间-文本数据的特征集组织一个倒排文件,在FBSI上执行查询前,先通过所述倒排文件筛选满足查询要求的特征集的空间-文本数据,再通过FBSI筛选满足空间要求的数据,取二者的交集即为查询结果。
所述的步骤6)中,利用区块的交易树构建某一交易的存在性证明是本领域的常识,为了避免本申请的目的模糊,故在此不再赘述。
所述移动物联网包括无人机网络和车联网。
所述无人机网络中的无人机是轻节点,所述车联网中的智能车是全节点,所述智能车与移动物联网的路边单元部署链外分布式数据存储系统。
所述链外分布式数据存储系统是IPFS,所述的元数据包括空间-文本数据的位置、时间戳、特征集、所有权人、URI和数据类型。
与现有技术相比,本发明具有以下有益效果:
(1)本发明利用NFT元数据规范化描述被共享的空间-文本数据的特征,对数据进行唯一性标识,使其能够被移动物联网中的节点正确的理解并在区块链上被唯一的识别。
(2)本发明用于管理和查询空间-文本数据的FBSI采用了基于数据密度划分空间和降维的思想,克服了移动物联网节点在位置上的任意移动和共享的数据在空间中的随机分布给空间索引给带来的困难。
(3)在NFT智能合约中完成基于FBSI的空间数据查询后,本发明联合区块链的交易树来向轻节点提供证明对象,满足了移动物联网中共享数据的验证要求。
(4)本发明在查询过程中结合倒排文件先行检索空间-文本数据的特征信息,进一步提高了空间-文本数据的查询效率。
附图说明
图1为以无人机网络和车联网为例的面向移动物联网的区块链上空间数据共享框架。
图2为本发明的区块链上数据可认证共享方法流程图。
图3为FBSI的结构图。
图4为FBSI节点分裂时分裂节点的兄弟节点数量大于等于fanmax-1的分裂结果图。
图5为FBSI节点分裂时分裂节点的兄弟节点数量小于fanmax-1的分裂结果图。
图6为FBSI在提高空间索引结构数据容量方面的性能对比图。
图7为FBSI的叶节点资源容量率方面的对比图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例提供一种面向移动物联网的区块链上空间数据可认证共享方法,分为面向移动物联网的区块链上空间-文本数据共享架构(如图1所示)以及一种面向移动物联网的区块链上空间数据可认证共享方法(如图2所示),其中,所述方法包括以下步骤:
步骤1)在移动物联网上部署支持智能合约的区块链;
步骤2)在NFT智能合约中实例化空间索引数据结构,并在区块链上部署所述NFT智能合约;
步骤3)移动物联网终端将需要共享的空间-文本数据的原始数据存储在链外分布式存储系统中,将对应的元数据存储在区块链上;
步骤4)轻节点向查询服务提供方发送数据查询请求,查询服务提供方基于数据查询请求向NFT智能合约发起空间-文本数据查询交易;
步骤5)全节点收到步骤4)中的空间-文本数据查询交易后立即执行NFT智能合约中的查询函数,将查询结果以事件(event)的形式记录在区块链上;
步骤6)查询服务提供方从区块链上获取查询结果,利用包含所述查询结果的区块的交易树构建查询结果的证明对象,并将查询结果和证明对象一起返回给轻节点;
步骤7)轻节点验证查询结果,若查询结果通过验证,则从查询结果中提取元数据中的统一资源标识符(URI),从链外分布式存储系统中获取原始空间-文本数据;若查询结果未通过验证,则表明数据不可用,返回步骤4)重新向查询服务提供方发送数据查询请求。
上述空间数据可认证共享方法可以分为如步骤2)-步骤5)所示基于自由边界的空间索引数据结构(FBSI)的空间-文本数据查询方法和如步骤6)-步骤7)所示基于区块链交易树的查询结果验证方法两部分。
第一部分:面向移动物联网的区块链上空间-文本数据共享架构
如图1所示,基于区块链的移动物联网空间-文本数据共享架构包括移动物联网层和区块链网络层。
移动物联网层:
以无人机网络和车联网为例,移动物联网的节点是无人机和智能车,它们在空间上可自由移动,且没有空间边界限制。由于移动物联网节点的随机移动,其所产生的空间-文本数据在空间上的分布也是随机的,节点间通过空间无线链路、地面基站等方式互相通信。
区块链网络层:
在移动物联网上部署以太坊区块链,为了节省区块链存储开销,节点将原始空间-文本数据存储在链外分布式存储系统IPFS上,从而获得数据的URI,用于从链外分布式存储系统中请求数据。其中IFPS部署在智能车和路边单元上。
在区块链上部署NFT智能合约,空间-文本数据的元数据通过NFT智能合约存储在链上,元数据包括NFT智能合约分配给空间-文本数据的唯一性标记和对空间-文本数据特征的描述。元数据中包括空间-文本数据的位置、时间戳、特征集、所有权人、URI和数据类型等信息。
在该架构中,无人机是区块链网络轻节点,智能车是区块链网络全节点,轻节点获取共享空间-文本数据的方式是向全节点发送查询请求,全节点将查询结果和证明对象返回给轻节点。
第二部分:基于自由边界的空间索引数据结构(FBSI)的空间-文本数据查询方法
在NFT智能合约中实例化自由边界的空间索引数据结构(FBSI),提供基于FBSI的空间-文本数据查询算法。
FBSI是树形结构的,如图3所示,包括三种节点类型:根节点、叶节点和中间节点。根节点代表全局空间,是一个无限大的空间范围,父节点的空间被分为多个不相交的子空间,由其子节点分别表示其中一个子空间,中间节点仅代表本分支的空间范围,叶节点上关联了空间-文本数据列表。当叶节点上关联的数据量超过设定的上限时发生节点空间的分裂,分裂遵循以下原则:
1)只有叶节点能发生分裂,且在分裂基准节点对应的维度上发生分裂;
2)每次节点分裂时只能将一个空间分为两个更小的空间;
3)分裂后每个子空间中关联的数据量相等。
分裂节点时的空间分界点定义为:
其中,如果分裂基准节点在偶数层,叶节点关联的空间-文本数据按经度排序,否则,如果分裂基准节点在奇数层,叶节点关联的空间-文本数据按纬度排序;N是叶节点关联的空间-文本数据的数量,Lon表示经度,Lat表示纬度。
如果分裂节点的兄弟节点数量大于等于fanmax-1,fanmax是其父节点的扇出上限,所选的分裂基准节点是分裂节点自身,分裂结果如图4所示,反之,则为其父节点,分裂结果如图5所示。
本实施例中,FBSI中节点的扇出上限fanmax=9,即:如果分裂节点的兄弟节点数量大于等于8,所选的分裂基准节点是分裂节点自身,反之,则为其父节点。
在FBSI中插入空间-文本数据的流程为:
步骤201)为空间-文本数据创造一个具有元数据的NFT资产;
步骤202)以空间-文本数据的空间坐标属性为索引,在FBSI上查找包含该空间-文本数据空间坐标的叶节点,并将其添加到该叶节点关联的空间-文本数据列表中;
步骤203)如果步骤202)中的叶节点关联的空间-文本数据列表的长度超过了上限,则将所述叶节点的空间分裂成两个子空间,关联的空间-文本数据从分裂点处一分为二,分别关联到两个新的子空间中;
步骤204)如果分裂基准节点是叶节点自身,则被分裂的叶节点变成中间节点,分裂出的两个子空间形成它的两个叶子节点,在分裂点前的为左子节点,分裂点后的为右子节点;如果分裂基准节点是叶节点的父节点,则分裂出的两个子空间中在分裂点前的一个取代原叶节点的地位,另一个成为其后面紧挨着的兄弟节点。
步骤202)中,FBSI的根节点为R,要查找的空间-文本数据的经度为Lon,纬度为Lat,在FBSI上查找包含空间-文本数据空间坐标的叶节点Leaf的方法为:
步骤2021)如果R是叶节点,则R即为要找的叶节点Leaf,结束,否则,判断R所在层是偶数层还是奇数层;
步骤2022)如果R所在层是偶数层,在R的子节点中匹配包含Lon的子节点Rlon,用Rlon取代R,返回步骤2021);
步骤2023)如果R所在层是奇数层,在R的子节点中匹配包含Lat的子节点Rlat,用Rlat取代R,返回步骤2021)。
在FBSI中删除空间-文本数据的流程为:
步骤205)校验删除请求者权限;
步骤206)以空间-文本数据的空间坐标属性为索引,在所述的FBSI上查找包含该空间-文本数据空间坐标的叶节点,在该叶节点关联的空间-文本数据列表中删除该空间-文本数据;
步骤207)如果步骤206)中所述的叶节点关联的空间-文本数据列表为空,则将该叶节点删除;
步骤208)如果步骤207)中所述的叶节点的父节点仅剩一个子节点,则将父节点与子节点合并为一个叶节点。
数据共享时,无人机向某一提供查询服务的智能车发送数据查询请求:
q=<[lonstart,lonend],[latstart,latend],ψ>
其中,[lonstart,lonend]和[latstart,latend]分别是选定的经度范围和纬度范围,lonstart、lonend、latstart、latend分别为查询范围的左经度、右经度,下纬度、上纬度,ψ是查询要求的特征集。
空间-文本数据表示为:
oi=<ti,loni,lati,Ψi>
其中ti、loni和lati分别是时间戳、经度和纬度,Ψi是数据的特征集。
查询结果是所有落在查询空间范围内的具有ψ中所有特征的空间-文本数据的集合:
提供查询服务的智能车收到查询请求后,调用NFT智能合约的查询函数,发起一笔合约调用交易,使区块链网络中的全节点都能执行这个查询请求,在FBSI上实现查询的方法如下:
步骤501)在FBSI上搜索到所有与查询空间<[lonstart,lonend],[latstart,latend]>重叠的叶节点的集合;
步骤502)在步骤501)得出的叶节点集合上逐一检查每个叶节点关联空间-文本数据是否符合查询条件,得到查询结果集合。
最后,将查询结果以事件(event)的形式记录在区块链上。event是智能合约提供的一种将数据记录到区块链的一种方式,在区块链上以一笔交易的形式出现,因此,其哈希摘要被组织在区块的交易树中。
步骤501)中,FBSI的根节点为R,根节点表示的空间为Sr,查询空间为Sq;在FBSI上查找与Sq有空间重叠的叶节点集合LS的方法为:
步骤5011)如果R是叶节点,则将R加入LS,结束;
步骤5012)对于R的每一个子节点C,如果C表示的空间Sc与Sq重叠,则用C和Sc取代R和Sr,递归调用本方法。
第三部分:基于区块链交易树的查询结果验证方法
基于区块链交易树的查询结果验证算法是指查询服务提供方从区块链上获取查询结果,利用包含该查询结果的区块的交易树构建查询结果的证明对象VO,将查询结果和VO一起返回给轻节点;轻节点验证查询结果,如果查询结果通过验证,则从查询结果中提取元数据中的统一资源标识符(URI),从链外分布式存储系统中获取原始空间-文本数据。
利用区块的交易树构建某一交易的存在性证明是本领域的常识,为了避免本申请的目的模糊,故在此不再赘述。
为了进一步提高空间-文本数据的查询效率,在NFT智能合约中以空间-文本数据的特征集组织一个倒排文件,在FBSI上执行查询前,先通过倒排文件筛选满足查询要求的特征集的空间-文本数据,再通过FBSI筛选满足空间要求的数据,取二者的交集即为查询结果。
本实施例通过搭建一个实验环境进行实验验证,为了对比本发明的性能,引入了经典四叉树作为对照组。四叉树是一种基于空间递归分解原理的多维空间分层索引数据结构,在二维空间中,节点的每次分裂总是将一个空间从每个维度的中间划分,形成四个大小相等的矩形子空间,与此对应的树形结构中的每一个非叶节点都具有四个子节点。
实验平台:
利用Ganache在本地部署一个私有以太坊测试链,用Solidity实现NFT智能合约,在x64服务器上部署全节点和轻节点仿真程序,服务器配备8核Intel Xeon3.0GHz CPU和32G内存。
实验数据集:
通过Python编程生产了两个包含2500个空间-文本数据的数据集。数据集在空间分布上分别采用了均匀分布和正态分布,均匀分布的经度范围是[30,31],纬度范围是[20,21],正态分布中,经度和纬度的均值分别是30和20,方差是1;数据集中的每个空间-文本数据的特征集是从一个包含100个关键词集合中随机选择的3-5个关键词组成的。
实验中,设置叶节点的最大容量T=10。
如图6所示,无论空间-文本数据的分布如何变化,FBSI能容纳的数据量成线性增长趋势,且比四叉树能容纳更多数据。这说明本发明不受数据在空间中分布情况的影响。
如图7所示,无论空间-文本数据的分布如何变化,本发明的叶节点上关联的空间-文本数据至少为T×50%,极大提高了叶节点的利用率。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依据本发明的构思在现有技术的基础上通过逻辑分析、推理、或者有限的实验可以得到的技术方案,皆应在权利要求书所确定的保护范围内。
Claims (10)
1.一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,包括以下步骤:
步骤1)在移动物联网上部署支持智能合约的区块链;
步骤2)在NFT智能合约中实例化空间索引数据结构,并在区块链上部署所述NFT智能合约;
步骤3)移动物联网终端将需要共享的空间-文本数据的原始数据存储在链外分布式存储系统中,将对应的元数据存储在区块链上;
步骤4)轻节点向查询服务提供方发送数据查询请求,查询服务提供方基于数据查询请求向NFT智能合约发起空间-文本数据查询交易;
步骤5)全节点收到步骤4)中的空间-文本数据查询交易后立即执行NFT智能合约中的查询函数,将查询结果以事件的形式记录在区块链上;
步骤6)查询服务提供方从区块链上获取查询结果,利用包含所述查询结果的区块的交易树构建查询结果的证明对象,并将查询结果和证明对象一起返回给轻节点;
步骤7)轻节点验证查询结果,若查询结果通过验证,则从查询结果中提取元数据中的URI,从链外分布式存储系统中获取原始空间-文本数据;若查询结果未通过验证,则表明数据不可用,返回步骤4)重新向查询服务提供方发送数据查询请求。
2.根据权利要求1所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,所述步骤2)中的空间索引数据结构是自由边界的空间索引数据结构FBSI,为一种树形空间索引数据结构,包括三种节点类型:根节点、叶节点和中间节点;
根节点代表全局空间,是一个无限大的空间范围,父节点的空间被分为多个不相交的子空间,由其子节点分别表示其中一个子空间,中间节点仅代表本分支的空间范围,叶节点上关联了空间-文本数据列表;当叶节点上关联的数据量超过设定的上限时发生节点空间的分裂,分裂遵循以下原则:
a)只有叶节点能发生分裂,且在分裂基准节点对应的维度上发生分裂;
b)每次节点分裂时只能将一个空间分为两个更小的空间;
c)分裂后每个子空间中关联的数据量相等;
分裂节点时的空间分界点定义为:
其中,如果分裂基准节点在偶数层,叶节点关联的空间-文本数据按经度排序,否则,如果分裂基准节点在奇数层,叶节点关联的空间-文本数据按纬度排序;N是叶节点关联的空间-文本数据的数量,Lon表示经度,Lat表示纬度;
所述分裂基准节点选择方法为:
如果分裂节点的兄弟节点数量大于等于fanmax-1,fanmax是其父节点的扇出上限,所选的分裂基准节点是分裂节点自身,反之,则为其父节点;
在FBSI中插入空间-文本数据的流程为:
步骤201)为空间-文本数据创造一个具有元数据的NFT资产;
步骤202)以空间-文本数据的空间坐标属性为索引,在FBSI上查找包含该空间-文本数据空间坐标的叶节点,并将其添加到该叶节点关联的空间-文本数据列表中;
步骤203)如果步骤202)中的叶节点关联的空间-文本数据列表的长度超过了上限,则将所述叶节点的空间分裂成两个子空间,关联的空间-文本数据从分裂点处一分为二,分别关联到两个新的子空间中;
步骤204)如果分裂基准节点是叶节点自身,则被分裂的叶节点变成中间节点,分裂出的两个子空间形成它的两个叶子节点,在分裂点前的为左子节点,分裂点后的为右子节点;如果分裂基准节点是叶节点的父节点,则分裂出的两个子空间中在分裂点前的一个取代原叶节点的地位,另一个成为其后面紧挨着的兄弟节点;
在FBSI中删除空间-文本数据的流程为:
步骤205)校验删除请求者权限;
步骤206)以空间-文本数据的空间坐标属性为索引,在所述的FBSI上查找包含该空间-文本数据空间坐标的叶节点,在该叶节点关联的空间-文本数据列表中删除该空间-文本数据;
步骤207)如果步骤206)中所述的叶节点关联的空间-文本数据列表为空,则将该叶节点删除;
步骤208)如果步骤207)中所述的叶节点的父节点仅剩一个子节点,则将父节点与子节点合并为一个叶节点。
3.根据权利要求2所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,所述步骤5)中的NFT智能合约中的查询函数执行以下步骤:
步骤501)在FBSI上搜索到所有与查询空间<[lonstart,lonend],[latstart,latend]>重叠的叶节点的集合,其中,Ionstart、Ionend、latstart、latend分别为查询范围的左经度、右经度,下纬度、上纬度;
步骤502)在步骤501)得出的叶节点集合上逐一检查每个叶节点关联空间-文本数据是否符合查询条件,得到查询结果集合。
4.根据权利要求2或3所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,所述步骤202)中,在FBSI上查找包含空间-文本数据空间坐标的叶节点Leaf的方法为:
FBSI的根节点为R,要查找的空间-文本数据的经度为Lon,纬度为Lat;
步骤2021)如果R是叶节点,则R即为要找的叶节点Leaf,结束,否则,判断R所在层是偶数层还是奇数层;
步骤2022)如果R所在层是偶数层,在R的子节点中匹配包含Lon的子节点Rlon,用Rlon取代R,返回步骤2021);
步骤2023)如果R所在层是奇数层,在R的子节点中匹配包含Lat的子节点Rlat,用Rlat取代R,返回步骤2021)。
5.根据权利要求3所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,所述步骤501)中,在FBSI上搜索与查询空间重叠的叶节点集合LS的方法如下:
FBSI的根节点为R,根节点表示的空间为Sr,查询空间为Sq;
步骤5011)如果R是叶节点,则将R加入LS,结束;
步骤5012)对于R的每一个子节点C,如果C表示的空间Sc与Sq重叠,则用C和Sc取代R和Sr,递归调用本方法。
6.根据权利要求4所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,所述步骤501)中,在FBSI上搜索与查询空间重叠的叶节点集合LS的方法如下:
FBSI的根节点为R,根节点表示的空间为Sr,查询空间为Sq;
步骤5011)如果R是叶节点,则将R加入LS,结束;
步骤5012)对于R的每一个子节点C,如果C表示的空间Sc与Sq重叠,则用C和Sc取代R和Sr,递归调用本方法。
7.根据权利要求6所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,在所述NFT智能合约中以空间-文本数据的特征集组织一个倒排文件,在FBSI上执行查询前,先通过所述倒排文件筛选满足查询要求的特征集的空间-文本数据,再通过FBSI筛选满足空间要求的数据,取二者的交集即为查询结果。
8.根据权利要求1所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,所述移动物联网包括无人机网络和车联网。
9.根据权利要求8所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,所述无人机网络中的无人机是轻节点,所述车联网中的智能车是全节点,所述智能车与移动物联网的路边单元部署链外分布式数据存储系统。
10.根据权利要求9所述的一种面向移动物联网的区块链上空间数据可认证共享方法,其特征在于,所述链外分布式数据存储系统是IPFS,所述的元数据包括空间-文本数据的位置、时间戳、特征集、所有权人、URI和数据类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310125302.0A CN116340278A (zh) | 2023-02-16 | 2023-02-16 | 一种面向移动物联网的区块链上空间数据可认证共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310125302.0A CN116340278A (zh) | 2023-02-16 | 2023-02-16 | 一种面向移动物联网的区块链上空间数据可认证共享方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116340278A true CN116340278A (zh) | 2023-06-27 |
Family
ID=86884842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310125302.0A Pending CN116340278A (zh) | 2023-02-16 | 2023-02-16 | 一种面向移动物联网的区块链上空间数据可认证共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116340278A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376352A (zh) * | 2023-10-07 | 2024-01-09 | 山东山科智能科技有限公司 | 基于区块链的物联网系统 |
-
2023
- 2023-02-16 CN CN202310125302.0A patent/CN116340278A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376352A (zh) * | 2023-10-07 | 2024-01-09 | 山东山科智能科技有限公司 | 基于区块链的物联网系统 |
CN117376352B (zh) * | 2023-10-07 | 2024-03-12 | 山东山科智能科技有限公司 | 基于区块链的物联网系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Indexing multi-dimensional data in a cloud system | |
US8819163B2 (en) | Method, system, and apparatus for enterprise wide storage and retrieval of large amounts of data | |
CN113986873B (zh) | 一种海量物联网数据模型化的处理、存储与共享方法 | |
Ding et al. | IoT‐SVKSearch: a real‐time multimodal search engine mechanism for the internet of things | |
Fan et al. | Secure and efficient privacy-preserving ciphertext retrieval in connected vehicular cloud computing | |
CN106933833A (zh) | 一种基于空间索引技术的位置信息快速查询方法 | |
CN101324896A (zh) | 一种矢量数据的存储方法、查询方法和管理系统 | |
CN109726225A (zh) | 一种基于Storm的分布式流数据存储与查询方法 | |
Nurgaliev et al. | Enabling blockchain for efficient spatio-temporal query processing | |
Du et al. | Spatio-temporal data index model of moving objects on fixed networks using hbase | |
CN110109874A (zh) | 一种基于区块链的无中心分布式文件检索方法 | |
CN116340278A (zh) | 一种面向移动物联网的区块链上空间数据可认证共享方法 | |
Jiang et al. | Application Research of Key Frames Extraction Technology Combined with Optimized Faster R‐CNN Algorithm in Traffic Video Analysis | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
Jung et al. | Real-time car tracking system based on surveillance videos | |
CN113691615A (zh) | 一种服务请求的处理方法、系统及数据网关 | |
CN116541427A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN116467026A (zh) | 一种基于区块链的云桌面数据安全共享、溯源方法和系统 | |
CN113285960B (zh) | 一种服务数据共享云平台的数据加密方法及系统 | |
Khettabi et al. | Clustering and parallel indexing of big IoT data in the fog‐cloud computing level | |
Aggarwal et al. | Spatio-temporal frequent itemset mining on web data | |
Zhang et al. | Blockchain-Assisted UAV Data Free-Boundary Spatial Querying and Authenticated Sharing | |
CN104980493A (zh) | 一种基于主动缓存算法的发现服务方法 | |
CN115510116A (zh) | 数据目录构建方法、装置、介质及设备 | |
Kai et al. | Localized Differential Location Privacy Protection Scheme in Mobile Environment |
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 |