本发明涉及区块链数据存储,特别涉及一种基于区块链的物联网节点集群数据存储方法、系统及介质。
背景技术:
1、随着物联网应用的快速发展,物联网设备产生的数据激增。目前,物联网系统中产生的庞大数据的安全性和存储方案受到越来越多的关注。传统的集中式云数据库存储模式已经不能满足对物联网数据日益增长的安全性和隐私性需求。区块链是一种分布式账本技术,可实现分散、不可变和一致的数据管理。其共识机制和哈希特性可确保物联网设备的数据完整性和出处,并保护数据隐私和所有权。这些性质可以完美的为iot(物联网(internetof things)产生的海量数据提供一个安全和可追溯的分布式数据存储解决方案。目前已经有很多基于区块链技术的物联网应用,比如智慧城市、物流、交通等。
2、智能设备相互连接形成物联网系统,系统中的设备可以通过区块链实现海量数据的跨平台安全流动共享。然而,账本的大小会随着经过共识的新区块的产生不断增加,会超过设备的存储容量。这意味着单个设备可能无法存储完整的分类账,这样就无法确保使用区块链交易数据的安全性。这个问题对于联盟链来说更为严重,账本增长更快,因为联盟链具有更高的共识速度和吞吐量。区块链数据增长的速度严重制约了其在物联网场景下的发展应用,一种可能的解决方案是使用合作存储。
3、物联网系统拥有众多异构的设备,设备之间的通信链路也非常多样,随着系统规模的增加,通信链路复杂度也会随之提升,频繁的数据查询操作可能会导致设备的正常功能受到影响。此外,合作存储极度依赖合作设备的稳定性和可靠性,部分设备失效会影响到集群内其他设备的区块链数据访问验证。因此集群设备越多,其系统稳定性就越差。因此针对上述问题,需设计一种合理有效的分组策略,将设备聚合成多个协作存储集群,以解决物联网区块链系统中存储资源不足的问题。
技术实现思路
1、本发明提供一种基于区块链的物联网节点集群数据存储方法、系统及介质,将设备聚合成多个协作存储集群,以解决物联网区块链系统中存储资源不足的问题。
2、第一方面,提供一种基于区块链的物联网节点集群数据存储方法,包括以下步骤:
3、基于邻近资源聚类算法,将参与同一区块链的多个物联网节点聚类为多个集群,以使每个集群的总存储资源量满足存储区块链账本所需的最小存储资源需求量;
4、根据区块链的存储资源要求和节点访问区块数据访问要求建立优化目标函数及优化目标函数的约束条件;
5、在所述优化目标函数及所述约束条件的限制下,基于分级需求贪婪算法确定最小化物联网节点访问区块所需成本时的集群内多物联网节点协作存储区块策略。
6、根据第一方面,在第一方面的第一种可能的实现方式中,所述基于邻近资源聚类算法,将参与同一区块链的多个物联网节点聚类为多个集群,以使每个集群的总存储资源量满足存储区块链账本所需的最小存储资源需求量步骤,具体包括以下步骤:
7、基于预设通信时延阈值将参与同一区块链的多个物联网节点划分为多个分组;
8、按预设选取条件在多个所述分组中选取部分分组作为聚类中心,计算各分组分别与各所述聚类中心之间的适应度,将适应度最高对应的分组与聚类中心聚类为一个集群,直至每个集群的总存储资源量达到最小存储资源需求量;
9、当检测到存在有未聚类至集群中的分组时,则将未聚类的分组划分入距离自身通信时延最小的聚类中心所在的集群。
10、根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述计算各分组分别与各所述聚类中心之间的适应度的计算公式如下:
11、;
12、式中,为第个分组的存储资源量;为第个分组与第个分组之间的通信时延;为各分组聚类为第个集群所包含的所有聚类中心的集合;
13、所述最小存储资源需求量为:
14、;
15、式中,为空间需求系数;为区块链中第个区块的大小,为区块链中的总区块个数。
16、根据第一方面,在第一方面的第三种可能的实现方式中,所述根据区块链的存储资源要求和节点访问区块数据访问要求建立优化目标函数及优化目标函数的约束条件步骤,具体包括以下步骤:
17、优化目标函数为:
18、;
19、优化目标函数的约束条件包括每个物联网节点的存储资源量足够存储分配到自身物联网节点的区块、区块链中的所有区块在每个集群中至少存储一份完整副本、任意一个集群需满足区块协作存储需求及任意区块的完整性;
20、所述每个物联网节点的存储资源量足够存储分配到自身物联网节点的区块为:
21、;
22、所述区块链中的所有区块在每个集群中至少存储一份完整副本为:
23、;
24、所述任意一个集群需满足区块协作存储需求为:
25、;
26、所述任意区块的完整性为:
27、;
28、式中,为区块的存储位置;为节点存储区块,为节点不存储区块;为所查询区块需处于区块链中;为节点处于当前集群中;为优化目标同时考虑范围内所有集群的成本;为节点与节点之间的通信时延;为区块的大小;为节点从节点查询区块所需的成本;为节点存储区块;为总集群中的第个节点集群;为节点具备的存储资源量;为区块链中包含的所有区块的集合;为空间需求系数;为区块链总空间需求。
29、根据第一方面,在第一方面的第四种可能的实现方式中,所述基于分级需求贪婪算法确定最小化物联网节点访问区块所需成本时的集群内多物联网节点协作存储区块策略步骤,具体包括以下步骤:
30、根据区块对于物联网节点的动态访问权重函数将区块链中的所有区块排序,确定区块分配顺序;
31、分别以排序后的每个区块为对象,使用节点评估函数及局部需求度函数确定最小化物联网节点访问区块所需成本时的集群内多物联网节点协作存储区块。
32、根据第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述动态访问权重函数为:
33、;
34、式中,为预设时间内节点访问区块的频率;为区块包含的交易集合;为区块包含的交易数量;为区块中的第k笔交易与节点的相关性;为区块存在的时间权重系数。
35、根据第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述节点评估函数为:
36、;
37、所述局部需求度函数为:
38、;
39、式中,为节点与节点之间的通信时延;为区块的存储位置;为总集群中的第个节点集群;为局部需求范围比例调节参数,当节点与节点距离较近时值较大,当节点与节点距离较远时值较小;为局部影响范围比例调节参数;与分别代表区块对于节点与节点的动态访问权重函数。
40、第二方面,提供了一种基于区块链的物联网节点集群数据存储系统,包括:
41、聚类模块,用于基于邻近资源聚类算法,将参与同一区块链的多个物联网节点聚类为多个集群,以使每个集群的总存储资源量满足存储区块链账本所需的最小存储资源需求量;
42、优化约束模块,用于根据区块链的存储资源要求和节点访问区块数据访问要求建立优化目标函数及优化目标函数的约束条件;以及,
43、存储模块,与所述聚类模块及所述优化约束模块通信连接,用于在所述优化目标函数及所述约束条件的限制下,基于分级需求贪婪算法确定最小化物联网节点访问区块所需成本时的集群内多物联网节点协作存储区块策略。
44、第三方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述基于区块链的物联网节点集群数据存储方法。
45、与现有技术相比,本发明的优点如下:基于邻近资源聚类算法,将参与同一区块链的多个物联网节点聚类为多个集群,同时基于分级需求贪婪算法确定最小化物联网节点访问区块所需成本时的集群内多物联网节点协作存储区块策略,有效解决了物联网区块链系统中存储资源不足的问题。