一种面向移动物联网的区块链上空间数据可认证共享方法

文档序号:34614968发布日期:2023-06-29 10:32阅读:53来源:国知局
一种面向移动物联网的区块链上空间数据可认证共享方法与流程

本发明涉及区块链,尤其是涉及一种面向移动物联网的区块链上空间数据可认证共享方法。


背景技术:

1、以“万物互联”为目标的物联网被认为是信息产业的第三次技术革命,物联网融合传感器感知、特征识别、人工智能、边缘计算和云计算等技术来采集和处理环境信息,利用网络通信技术传输数据,实现物与物、人与物的互联互通。由于单个物联网设备的感知范围有限,计算能力不足,以无人机网络和车联网为代表的移动物联网具有共享数据的迫切需求。

2、彼此共享数据能够更好的发挥移动物联网全面感知的能力,提升智能化服务水平。移动物联网中共享的原始数据通常来自于终端设备对环境的感知,这些感知数据与其产生时的终端设备所在位置息息相关;此外,这些数据有些本身是文本类型的,有些是可以通过数据处理技术提取特征变成文本描述的多媒体数据。因此,移动物联网中共享的这些数据本质上是带有地理信息标记和文本描述的异构数据,称为空间-文本数据。

3、安全可靠的共享这些空间-文本数据是移动物联网的内在要求。将区块链技术应用于物联网能够有效解决数据共享的安全问题,但是区块链与传统数据库不同,区块链采用文件系统或key-value数据库(如leveldb)存储数据,提供的查询服务类型有限,不支持空间数据的索引。在移动物联网中共享空间-文本数据面临三个问题:

4、1)由于物联网设备生成的感知数据所包含的内容各不相同,数据表现形式各异,数据请求者需要能够正确的理解和准确的识别这些数据。

5、2)移动物联网终端的移动轨迹的不可预测性导致它们的感知覆盖范围具有随意扩展性,因此,产生的感知数据在空间上是随机非均匀分布的。

6、3)部分物联网设备受限于自身低下的计算能力和匮乏的存储空间,在区块链中只能扮演轻节点的角色,这类节点只存储区块头,不参与区块链的共识过程、不存储完整的区块链副本,但是具有向链上发布数据的能力,也可以向全节点请求数据;但是轻节点并不能保证响应数据请求的全节点是可信的,因为互不信任是区块链的固有假设。

7、cn109472699a公开了一种区块链基础上的自动化人工智能数据共享方法及装置,该方法如下:数据提供方发布训练数据集数据至人工智能训练数据集数据中心,发布训练数据集信息及数据访问支付智能合约到区块链上;数据获取方查询数据提供方发布的信息,若信息符合自身需求则调用支付智能合约进行支付交易;人工智能训练数据集数据中心查询支付智能合约状态,获取该数据获取方的公钥;修改防火墙开放支付方访问权限,数据获取方即可获取训练数据集数据,数据共享过程完成,从而解决了建立在区块链上的数据共享数据只能共享小量数据的问题,并通过区块链全网节点对数据共享过程进行监督。然而该专利仍无法解决上述问题。


技术实现思路

1、本发明的目的就是为了提供一种面向移动物联网的区块链上空间数据可认证共享方法,能够适应移动物联网设备在空间位置上的随意移动,克服数据在空间中分布不均匀的困难,支持轻节点对共享数据的可验证查询。

2、本发明的目的可以通过以下技术方案来实现:

3、一种面向移动物联网的区块链上空间数据可认证共享方法,包括以下步骤:

4、步骤1)在移动物联网上部署支持智能合约的区块链;

5、步骤2)在nft智能合约中实例化空间索引数据结构,并在区块链上部署所述nft智能合约;

6、步骤3)移动物联网终端将需要共享的空间-文本数据的原始数据存储在链外分布式存储系统中,将对应的元数据存储在区块链上;

7、步骤4)轻节点向查询服务提供方发送数据查询请求,查询服务提供方基于数据查询请求向nft智能合约发起空间-文本数据查询交易;

8、步骤5)全节点收到步骤4)中的空间-文本数据查询交易后立即执行nft智能合约中的查询函数,将查询结果以事件(event)的形式记录在区块链上;

9、步骤6)查询服务提供方从区块链上获取查询结果,利用包含所述查询结果的区块的交易树构建查询结果的证明对象,并将查询结果和证明对象一起返回给轻节点;

10、步骤7)轻节点验证查询结果,若查询结果通过验证,则从查询结果中提取元数据中的统一资源标识符(uri),从链外分布式存储系统中获取原始空间-文本数据;若查询结果未通过验证,则表明数据不可用,返回步骤4)重新向查询服务提供方发送数据查询请求。

11、所述的步骤1)中,移动物联网的终端在空间上的移动轨迹是不可预测的,因此,无法提前判断移动物联网感知的空间范围。由于终端的随机移动,其所产生的空间-文本数据在空间上的分布也是随机的。

12、所述的步骤2)中的空间索引数据结构是自由边界的空间索引数据结构(fbsi),为一种空间范围不受限,适应空间数据随机分布的树形空间索引数据结构,树中的每个节点代表一个空间范围,空间可以自由的划分成n个不相交的子空间,一方面根据数据的密度划分空间,使子空间上有足够数量的数据,可以提高子空间节点的利用率;另一方面采用降维的做法在空间划分的时候选择一个维度分割空间,将其划分为两个一维的子空间,可以降低空间数据处理复杂度。树的每个层对应一个分裂维度,从上往下,第0层对应第1维,第1层对应第2维,第2层对应第1维,…,以此类推,层数不断增加,维度循环使用。

13、所述的fbsi包括三种节点类型:根节点、叶节点和中间节点;

14、根节点代表全局空间,是一个无限大的空间范围,父节点的空间被分为多个不相交的子空间,由其子节点分别表示其中一个子空间,中间节点仅代表本分支的空间范围,叶节点上关联了空间-文本数据列表;当叶节点上关联的数据量超过设定的上限时发生节点空间的分裂,分裂遵循以下原则:

15、a)只有叶节点能发生分裂,且在分裂基准节点对应的维度上发生分裂;

16、b)每次节点分裂时只能将一个空间分为两个更小的空间;

17、c)分裂后每个子空间中关联的数据量相等;

18、分裂节点时的空间分界点定义为:

19、

20、其中,如果分裂基准节点在偶数层,叶节点关联的空间-文本数据按经度排序,否则,如果分裂基准节点在奇数层,叶节点关联的空间-文本数据按纬度排序;n是叶节点关联的空间-文本数据的数量,lon表示经度,lat表示纬度;

21、所述分裂基准节点选择方法为:

22、如果分裂节点的兄弟节点数量大于等于fanmai-1,fanmax是其父节点的扇出上限,所选的分裂基准节点是分裂节点自身,反之,则为其父节点。

23、所述的nft智能合约中的数字资产具有不可替代的唯一性,因此,在nft智能合约中的空间-文本数据不可修改,但可以销毁。基于此,所述的fbsi的维护操作有两个:1)插入;2)删除。

24、在fbsi中插入空间-文本数据的流程为:

25、步骤201)为空间-文本数据创造一个具有元数据的nft资产;

26、步骤202)以空间-文本数据的空间坐标属性为索引,在fbsi上查找包含该空间-文本数据空间坐标的叶节点,并将其添加到该叶节点关联的空间-文本数据列表中;

27、步骤203)如果步骤202)中的叶节点关联的空间-文本数据列表的长度超过了上限,则将所述叶节点的空间分裂成两个子空间,关联的空间-文本数据从分裂点处一分为二,分别关联到两个新的子空间中;

28、步骤204)如果分裂基准节点是叶节点自身,则被分裂的叶节点变成中间节点,分裂出的两个子空间形成它的两个叶子节点,在分裂点前的为左子节点,分裂点后的为右子节点;如果分裂基准节点是叶节点的父节点,则分裂出的两个子空间中在分裂点前的一个取代原叶节点的地位,另一个成为其后面紧挨着的兄弟节点。

29、所述步骤202)中,在fbsi上查找包含空间-文本数据空间坐标的叶节点leaf的方法为:

30、fbsi的根节点为r,要查找的空间-文本数据的经度为lon,纬度为lat;

31、步骤2021)如果r是叶节点,则r即为要找的叶节点leaf,结束,否则,判断r所在层是偶数层还是奇数层;

32、步骤2022)如果r所在层是偶数层,在r的子节点中匹配包含lon的子节点rlon,用rlon取代r,返回步骤2021);

33、步骤2023)如果r所在层是奇数层,在r的子节点中匹配包含lat的子节点rlat,用rlat取代r,返回步骤2021)。

34、在fbsi中删除空间-文本数据的流程为:

35、步骤205)校验删除请求者权限;

36、步骤206)以空间-文本数据的空间坐标属性为索引,在所述的fbsi上查找包含该空间-文本数据空间坐标的叶节点,在该叶节点关联的空间-文本数据列表中删除该空间-文本数据;

37、步骤207)如果步骤206)中所述的叶节点关联的空间-文本数据列表为空,则将该叶节点删除;

38、步骤208)如果步骤207)中所述的叶节点的父节点仅剩一个子节点,则将父节点与子节点合并为一个叶节点。

39、所述的步骤3)中,元数据是步骤2)中所述的nft智能合约中保存空间-文本数据的形式,它包括nft智能合约分配给空间-文本数据的唯一性标记和对空间-文本数据特征的描述,原始空间-文本数据在链外分布式存储系统中的uri是特征之一。

40、所述的步骤4)中,在区块链网络中,轻节点只保存区块头,全节点保存了完整区块链副本,包括区块头和区块体。轻节点和全节点的概念是本领域的常识。查询服务提供方是全节点,轻节点发送数据查询请求:

41、q=<[lonstart,lonend],[latstart,latend],ψ>

42、其中,[lonstart,lonend]和[latstart,latend]分别是选定的经度范围和纬度范围,lonstart、lonend、latstart、latend分别为查询范围的左经度、右经度,下纬度、上纬度,ψ是查询要求的特征集。

43、空间-文本数据表示为:

44、oi=<ti,loni,lati,ψi>

45、其中ti、loni和lati分别是时间戳、经度和纬度,ψi是数据的特征集。

46、查询结果是所有落在查询空间范围内的具有ψ中所有特征的空间-文本数据的集合:

47、

48、所述的步骤5)中的nft智能合约中的查询函数执行以下步骤:

49、步骤501)在fbsi上搜索到所有与查询空间<[lonstart,lonend],[latstart,latend]>重叠的叶节点的集合;

50、步骤502)在步骤501)得出的叶节点集合上逐一检查每个叶节点关联空间-文本数据是否符合查询条件,得到查询结果集合。

51、所述的步骤501)中,在fbsi上搜索与查询空间重叠的叶节点集合ls的方法如下:

52、fbsi的根节点为r,根节点表示的空间为sr,查询空间为sq;

53、步骤5011)如果r是叶节点,则将r加入ls,结束;

54、步骤5012)对于r的每一个子节点c,如果c表示的空间sc与sq重叠,则用c和sc取代r和sr,递归调用本方法。

55、所述的事件(event)是智能合约提供的一种将数据记录到区块链的一种方式,在区块链上以一笔交易的形式出现,因此,其哈希摘要被组织在区块的交易树中。

56、为了进一步提高空间-文本数据的查询效率,在所述nft智能合约中以空间-文本数据的特征集组织一个倒排文件,在fbsi上执行查询前,先通过所述倒排文件筛选满足查询要求的特征集的空间-文本数据,再通过fbsi筛选满足空间要求的数据,取二者的交集即为查询结果。

57、所述的步骤6)中,利用区块的交易树构建某一交易的存在性证明是本领域的常识,为了避免本技术的目的模糊,故在此不再赘述。

58、所述移动物联网包括无人机网络和车联网。

59、所述无人机网络中的无人机是轻节点,所述车联网中的智能车是全节点,所述智能车与移动物联网的路边单元部署链外分布式数据存储系统。

60、所述链外分布式数据存储系统是ipfs,所述的元数据包括空间-文本数据的位置、时间戳、特征集、所有权人、uri和数据类型。

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

62、(1)本发明利用nft元数据规范化描述被共享的空间-文本数据的特征,对数据进行唯一性标识,使其能够被移动物联网中的节点正确的理解并在区块链上被唯一的识别。

63、(2)本发明用于管理和查询空间-文本数据的fbsi采用了基于数据密度划分空间和降维的思想,克服了移动物联网节点在位置上的任意移动和共享的数据在空间中的随机分布给空间索引给带来的困难。

64、(3)在nft智能合约中完成基于fbsi的空间数据查询后,本发明联合区块链的交易树来向轻节点提供证明对象,满足了移动物联网中共享数据的验证要求。

65、(4)本发明在查询过程中结合倒排文件先行检索空间-文本数据的特征信息,进一步提高了空间-文本数据的查询效率。

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