区块链的存储容量优化方法、装置及系统与流程
未命名
08-14
阅读:82
评论:0

1.本技术涉及区块链技术领域,尤其涉及一种区块链的存储容量优化方法、装置及系统。
背景技术:
2.随着区块链技术的快速发展,区块链广泛应用于社会各个领域。但是,随着区块链运行时长越久,区块链的节点存储的数据量就越大,目前区块链仍面临严重的存储可用性不足问题。
技术实现要素:
3.针对现有技术中的至少一个问题,本技术提出了一种区块链的存储容量优化方法、装置及系统,能够提高区块链存储的可用性。
4.为了解决上述技术问题,本技术提供以下技术方案:
5.第一方面,本技术提供一种区块链的存储容量优化方法,包括:
6.获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;
7.应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型,构建得到存储容量优化模型;
8.应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;
9.将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。
10.在一个实施例中,所述应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块,包括:
11.动态调整每个边缘节点的初始待分配区块个数,每个边缘节点的初始待分配区块个数的范围均为大于等于零并且小于等于该边缘节点的区块总数;
12.将每次动态调整得到的各个边缘节点的初始待分配区块个数输入所述存储容量优化模型,得到该次动态调整对应的所述存储容量优化模型的输出结果;
13.确定各次动态调整中对应的值最小的所述输出结果,将该值最小的输出结果对应的各个边缘节点的初始待分配区块个数确定为每个边缘节点的待分配区块。
14.在一个实施例中,所述将每次动态调整得到的各个边缘节点的初始待分配区块个数输入所述存储容量优化模型,得到该次动态调整对应的所述存储容量优化模型的输出结果,包括:
15.针对每次动态调整,根据边缘节点总数、每个边缘节点的初始待分配区块的个数和查询概率,确定本次动态调整对应的该边缘节点的查询概率;
16.根据预设的云存储成本与本地存储量之间的比率参数值、边缘节点总数、区块容
量以及每个边缘节点的初始待分配区块的个数,确定本次动态调整对应的所述云存储的云存储成本;
17.根据边缘节点总数、每个边缘节点的区块总数和初始待分配区块的个数,确定本次动态调整对应的该边缘节点的本地存储量;
18.根据本次动态调整对应的所述云存储的云存储成本、各个边缘节点的查询概率和本地存储量,得到本次动态调整对应的所述存储容量优化模型的输出结果。
19.在一个实施例中,所述存储容量优化模型为:
[0020][0021]
其中,q表示所述云存储的云存储成本、各个边缘节点的查询概率以及本地存储量之和,mwi表示第i个边缘节点的待分配区块个数,p
ij
表示第i个边缘节点中的第j个待分配区块的查询概率,k表示预设的云存储成本与本地存储量之间的比率参数值,c表示区块容量,m表示边缘节点总数,ni表示第i个边缘节点中的区块总数,β
ei
表示第i个边缘节点的存储占用量权重,e表示自然常数。
[0022]
在一个实施例中,所述获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,包括:
[0023]
获取所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询频率和区块容量;
[0024]
根据所述区块总数以及各个区块的查询频率,确定各个区块的查询概率。
[0025]
在一个实施例中,所述将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化,还包括:
[0026]
删除各个边缘节点中的待分配区块。
[0027]
第二方面,本技术提供一种区块链的存储容量优化装置,包括:
[0028]
获取模块,用于获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;
[0029]
构建模块,用于应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型,构建得到存储容量优化模型;
[0030]
确定模块,用于应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;
[0031]
发送模块,用于将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。
[0032]
在一个实施例中,所述确定模块,包括:
[0033]
动态调整单元,用于动态调整每个边缘节点的初始待分配区块个数,每个边缘节点的初始待分配区块个数的范围均为大于等于零并且小于等于该边缘节点的区块总数;
[0034]
输入单元,用于将每次动态调整得到的各个边缘节点的初始待分配区块个数输入所述存储容量优化模型,得到该次动态调整对应的所述存储容量优化模型的输出结果;
[0035]
确定单元,用于确定各次动态调整中对应的值最小的所述输出结果,将该值最小
的输出结果对应的各个边缘节点的初始待分配区块个数确定为每个边缘节点的待分配区块。
[0036]
在一个实施例中,所述输入单具体用于:
[0037]
针对每次动态调整,根据边缘节点总数、每个边缘节点的初始待分配区块的个数和查询概率,确定本次动态调整对应的该边缘节点的查询概率;
[0038]
根据预设的云存储成本与本地存储量之间的比率参数值、边缘节点总数、区块容量以及每个边缘节点的初始待分配区块的个数,确定本次动态调整对应的所述云存储的云存储成本;
[0039]
根据边缘节点总数、每个边缘节点的区块总数和初始待分配区块的个数,确定本次动态调整对应的该边缘节点的本地存储量;
[0040]
根据本次动态调整对应的所述云存储的云存储成本、各个边缘节点的查询概率和本地存储量,得到本次动态调整对应的所述存储容量优化模型的输出结果。
[0041]
在一个实施例中,所述确定模块包括:
[0042]
求解单元,用于利用粒子群多目标优化算法求解所述存储容量优化模型,当满足所述存储容量优化模型的最优解时,确定每个边缘节点的待分配区块。
[0043]
在一个实施例中,所述存储容量优化模型为:
[0044][0045]
其中,q表示所述云存储的云存储成本、各个边缘节点的查询概率以及本地存储量之和,mwi表示第i个边缘节点的待分配区块个数,p
ij
表示第i个边缘节点中的第j个待分配区块的查询概率,k表示预设的云存储成本与本地存储量之间的比率参数值,c表示区块容量,m表示边缘节点总数,ni表示第i个边缘节点中的区块总数,β
ei
表示第i个边缘节点的存储占用量权重,e表示自然常数。
[0046]
在一个实施例中,所述获取模块,包括:
[0047]
获取单元,用于获取所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询频率和区块容量;
[0048]
确定单元,用于根据所述区块总数以及各个区块的查询频率,确定各个区块的查询概率。
[0049]
在一个实施例中,所述发送模块还包括:
[0050]
删除单元,用于删除各个边缘节点中的待分配区块。
[0051]
第三方面,本技术提供一种区块链的存储容量优化系统,包括:区块链和云存储;
[0052]
所述区块链包括:多个边缘节点,所述的区块链的存储容量优化装置为所述多个边缘节点的至少一个;
[0053]
各个边缘节点均与所述云存储通信连接,所述云存储用于接收并存储边缘节点发送的区块。
[0054]
第四方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的区块链的存储容量优化方法。
[0055]
第五方面,本技术提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述的区块链的存储容量优化方法。
[0056]
由上述技术方案可知,本技术提供一种区块链的存储容量优化方法、装置及系统。其中,该方法包括:获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型,构建得到存储容量优化模型;应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化,能够提高区块链存储的可用性;具体地,能够在提高区块链存储的可用性的基础上,降低区块链的存储容量优化的成本;保证云边端系统稳定运行的同时提高了存储可用性,并在边端节点采用容器化部署有效降低软件部署、配置以及迁移难度大的问题。
附图说明
[0057]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0058]
图1是本技术实施例中的区块链的存储容量优化方法的第一流程示意图;
[0059]
图2是本技术实施例中的区块链的存储容量优化方法的第二流程示意图;
[0060]
图3是本技术一种举例中的利用粒子群多目标优化算法求解所述存储容量优化模型过程的流程示意图;
[0061]
图4是本技术实施例中的区块链的存储容量优化方法的第三流程示意图;
[0062]
图5是本技术实施例中的区块链的存储容量优化装置的结构框图;
[0063]
图6是本技术应用实例中的区块链的存储容量优化系统的逻辑示意图;
[0064]
图7是本技术应用实例中的边缘节点的结构示意图;
[0065]
图8是本技术应用实例中的边缘节点中的区块示意图;
[0066]
图9为本技术实施例的电子设备的系统构成示意框图。
具体实施方式
[0067]
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0068]
在现有技术中,一方面物联网设备产生的海量数据加之其本身存储能力受限,使当前区块链物联网面临严重的存储可用性不足问题;另一方面,通过在边缘部署设备有效解决了数据传输和计算延迟,但为满足不同应用程序需求需在不同边缘服务器上设置复杂的配置和不同的软件环境,部署运维成本高。基于此,考虑目前区块链物联网面临严重的存
储可用性不足以及边缘节点部署运维成本高等问题,本技术实施例提出一种区块链的存储容量优化方法、装置及系统,旨在通过将边缘节点存储的区块发送到云存储来优化区块链节点的存储空间,同时使用容器化部署降低边缘节点运维部署成本。
[0069]
需要说明的是,本技术公开的区块链的存储容量优化方法、装置及系统可用于金融技术领域,也可用于除金融技术领域之外的任意领域,本技术公开的区块链的存储容量优化方法、装置及系统的应用领域不做限定。本技术各实施例的技术方案中对数据的获取、存储、使用、处理等均符合法律法规的相关规定。
[0070]
具体通过下述各个实施例进行说明。
[0071]
为了提高区块链存储的可用性,本实施例提供一种执行主体是区块链的存储容量优化装置的区块链的存储容量优化方法,该区块链的存储容量优化装置包括但不限于服务器,如图1所示,该方法具体包含有如下内容:
[0072]
步骤100:获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量。
[0073]
具体地,所述区块链包括:多个边缘节点,各个边缘节点均与所述云存储通信连接,所述云存储可以由ipfs星际文件系统服务器构成。
[0074]
步骤200:应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型,构建得到存储容量优化模型。
[0075]
具体地,所述边缘节点即边端节点,可以为部署在边缘端的服务器,接收终端设备上送的数据,作为区块链记账节点处理交易。所述存储容量优化模型可以以所述云存储的云存储成本、所述区块链上的各个边缘节点的查询概率以及本地存储量之和最小为目标,得到最优参数值,所述最优参数值可以包括:各个边缘节点的待分配区块;所述云存储成本可以表示待分配区块的区块容量之和。
[0076]
步骤300:应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块。
[0077]
具体地,为了进一步提高区块链的存储容量优化的可靠性,可以利用粒子群多目标优化算法求解所述存储容量优化模型,当满足所述存储容量优化模型的最优解时,确定每个边缘节点的待分配区块。当所述存储容量优化模型输出的结果为所述云存储的云存储成本、所述区块链上的各个边缘节点的查询概率以及本地存储量之和最小时,确定当前所述存储容量优化模型中第i个边缘节点的待分配区块个数为mwi,进而可以将第i个边缘节点中的第1个至第mwi个区块确定为该边缘节点的待分配区块。
[0078]
在一种举例中,利用粒子群多目标优化算法求解所述存储容量优化模型的过程如图3所示,该过程包括:初始化种群数量、每个粒子(边缘节点)的位置和速度等参数;计算每个粒子的适应度(目标函数值),并将最优值设为当前位置pbest,群体中最优粒子设为gbest,存储非支配解的粒子位置到集合hf=hf0;判断是否达到迭代次数?若否,则采用时变惯性权重代替固定惯性权重来更新粒子的速度和位置,即由wcos(k)代替w;更新pbest和gbest,将新的非支配解更新到集合hf=(hf0∪hf(k)),若是,则根据区块链物联网应用的用户或者运营商对实际目标函数和使用的变量设置约束,过滤hf中不满足约束的解得到完美解集hf;遍历解集hf,求出使式(3)各目标函数之和最小的解并输出。上述存储容量优化
模型可以由各个目标函数组成。
[0079]
进一步地,考虑多种因素的影响,在保证查询效率的基础上节省区块链的存储容量优化成本,所述存储容量优化模型可以为:
[0080][0081]
其中,q表示所述云存储的云存储成本、各个边缘节点的查询概率以及本地存储量之和,mwi表示第i个边缘节点的待分配区块个数,p
ij
表示第i个边缘节点中的第j个待分配区块的查询概率,k表示预设的云存储成本与本地存储量之间的比率参数值,c表示区块容量,m表示边缘节点总数,ni表示第i个边缘节点中的区块总数,β
ei
表示第i个边缘节点的存储占用量权重,e表示自然常数。各个区块的区块容量相同,均为c。k可以根据实际情况进行预先设置,本技术对此不作限定。mwi也可以表示第i个边缘节点的初始待分配区块个数。
[0082]
步骤400:将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。
[0083]
具体地,每个边缘节点中的待分配区块相同,可以将其中一个边缘节点的待分配区块发送至云存储,并删除各个边缘节点中的待分配区块,以保证存储容量优化后的各个边缘节点中的区块相同。
[0084]
为了提高确定每个边缘节点的待分配区块的可靠性,如图2所示,在本技术一个实施例中,步骤300包括:
[0085]
步骤310:动态调整每个边缘节点的初始待分配区块个数,每个边缘节点的初始待分配区块个数的范围均为大于等于零并且小于等于该边缘节点的区块总数。
[0086]
具体地,假设边缘节点总数为m,第i个边缘节点中的区块总数为ni,动态调整的次数可以为(n1+1)*(n2+1)*
……
*(n
m-1
+1)*(nm+1)。举例来说,假设有2个边缘节点,区块总数均为3,那么,可以调整16次,每次调整得到的各边缘节点的初始待分配区块个数表示为(第一个边缘节点的初始待分配区块个数,第二个边缘节点的初始待分配区块个数),则本举例中每次调整得到的各边缘节点的初始待分配区块个数分别为(0,0)、(0,1)、(0,2)、(0,3)、(1,0)、(1,1)、(1,2)、(1,3)、(2,0)、(2,1)、(2,2)、(2,3)、(3,0)、(3,1)、(3,2)、(3,3)。
[0087]
步骤320:将每次动态调整得到的各个边缘节点的初始待分配区块个数输入所述存储容量优化模型,得到该次动态调整对应的所述存储容量优化模型的输出结果。
[0088]
步骤330:确定各次动态调整中对应的值最小的所述输出结果,将该值最小的输出结果对应的各个边缘节点的初始待分配区块个数确定为每个边缘节点的待分配区块。
[0089]
为了提高确定云存储成本、边缘节点的查询概率和本地存储量的可靠性,在本技术一个实施例中,步骤320包括:
[0090]
步骤321:针对每次动态调整,根据边缘节点总数、每个边缘节点的初始待分配区块的个数和查询概率,确定本次动态调整对应的该边缘节点的查询概率;
[0091]
步骤322:根据预设的云存储成本与本地存储量之间的比率参数值、边缘节点总数、区块容量以及每个边缘节点的初始待分配区块的个数,确定本次动态调整对应的所述云存储的云存储成本;
[0092]
步骤323:根据边缘节点总数、每个边缘节点的区块总数和初始待分配区块的个数,确定本次动态调整对应的该边缘节点的本地存储量;
[0093]
步骤324:根据本次动态调整对应的所述云存储的云存储成本、各个边缘节点的查询概率和本地存储量,得到本次动态调整对应的所述存储容量优化模型的输出结果。
[0094]
为了提高确定区块的查询概率的可靠性,如图4所示,在一个实施例中,步骤100包括:
[0095]
步骤101:获取所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询频率和区块容量。
[0096]
步骤102:根据所述区块总数以及各个区块的查询频率,确定各个区块的查询概率。
[0097]
具体地,可以根据下列公式确定第i个边缘节点的第j个区块的查询概率:
[0098][0099]
其中,ai表示第i个边缘节点上所有区块查询概率之和,f0表示固定查询频率,可以根据实际应用场景,从表1中选定对应的f(t):
[0100]
表1
[0101][0102][0103]
为了缓解区块链存储压力,在一个实施例中,步骤400还包括:删除各个边缘节点中的待分配区块。
[0104]
从软件层面来说,为了提高区块链存储的可用性,本技术提供一种用于实现所述区块链的存储容量优化方法中全部或部分内容的区块链的存储容量优化装置的实施例,参见图5,所述区块链的存储容量优化装置具体包含有如下内容:
[0105]
获取模块10,用于获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;
[0106]
构建模块20,用于应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型,构建得到存储容量优化模型;
[0107]
确定模块30,用于应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;
[0108]
发送模块40,用于将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。
[0109]
在一个实施例中,所述确定模块,包括:
[0110]
动态调整单元,用于动态调整每个边缘节点的初始待分配区块个数,每个边缘节
点的初始待分配区块个数的范围均为大于等于零并且小于等于该边缘节点的区块总数;
[0111]
输入单元,用于将每次动态调整得到的各个边缘节点的初始待分配区块个数输入所述存储容量优化模型,得到该次动态调整对应的所述存储容量优化模型的输出结果;
[0112]
确定单元,用于确定各次动态调整中对应的值最小的所述输出结果,将该值最小的输出结果对应的各个边缘节点的初始待分配区块个数确定为每个边缘节点的待分配区块。
[0113]
在一个实施例中,所述输入单具体用于:
[0114]
针对每次动态调整,根据边缘节点总数、每个边缘节点的初始待分配区块的个数和查询概率,确定本次动态调整对应的该边缘节点的查询概率;
[0115]
根据预设的云存储成本与本地存储量之间的比率参数值、边缘节点总数、区块容量以及每个边缘节点的初始待分配区块的个数,确定本次动态调整对应的所述云存储的云存储成本;
[0116]
根据边缘节点总数、每个边缘节点的区块总数和初始待分配区块的个数,确定本次动态调整对应的该边缘节点的本地存储量;
[0117]
根据本次动态调整对应的所述云存储的云存储成本、各个边缘节点的查询概率和本地存储量,得到本次动态调整对应的所述存储容量优化模型的输出结果。
[0118]
在一个实施例中,所述存储容量优化模型为:
[0119][0120]
其中,q表示所述云存储的云存储成本、各个边缘节点的查询概率以及本地存储量之和,mwi表示第i个边缘节点的待分配区块个数,p
ij
表示第i个边缘节点中的第j个待分配区块的查询概率,k表示预设的云存储成本与本地存储量之间的比率参数值,c表示区块容量,m表示边缘节点总数,ni表示第i个边缘节点中的区块总数,β
ei
表示第i个边缘节点的存储占用量权重,e表示自然常数。各个区块的区块容量相同,均为c。
[0121]
在一个实施例中,所述存储容量数据包括:
[0122]
云存储成本、边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量。
[0123]
在一个实施例中,所述获取模块,包括:
[0124]
获取单元,用于获取所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询频率和区块容量;
[0125]
确定单元,用于根据所述区块总数以及各个区块的查询频率,确定各个区块的查询概率。
[0126]
在一个实施例中,所述发送模块还包括:
[0127]
删除单元,用于删除各个边缘节点中的待分配区块。
[0128]
本说明书提供的区块链的存储容量优化装置的实施例具体可以用于执行上述区块链的存储容量优化方法的实施例的处理流程,其功能在此不再赘述,可以参照上述区块链的存储容量优化方法实施例的详细描述。
[0129]
为了提高区块链存储的可用性,本技术提供一种区块链的存储容量优化系统的实
施例,在本实施例中,该系统包括:区块链和云存储;所述区块链包括:多个边缘节点,所述的区块链的存储容量优化装置为所述多个边缘节点的至少一个;各个边缘节点均与所述云存储通信连接,所述云存储用于接收并存储边缘节点发送的区块。
[0130]
为了进一步说明本方案,如图6所示,本技术提供一种区块链的存储容量优化系统的应用实例,在本应用实例中,该区块链的存储容量优化系统主要由终端设备1、边缘节点2、记账节点3、共识节点4和云存储5构成,具体描述如下:
[0131]
一、终端设备1为常见的智能终端如智能手机、手表等设备,收集数据发送至本区域边缘节点2。
[0132]
二、如图7所示,所述边缘节点2即边端节点,主要包括终端管理模块21、区块调度模块22及存储模块23,首先采用终端管理模块21为连接到自身的终端设备分配对应的容器节点,用于接收处理不同终端设备发送的请求,然后采用区块调度模块22对经过区块链验证共识的区块进行建模调度,计算出每个边缘节点发送到云端的最佳区块数,以此提高边缘节点的存储可用性,同时保证区块链物联网系统平稳高效地运行。需要说明的是,诸如身份验证、通信等通用模块是必需的,本实施例仅对主要模块进行说明。
[0133]
边缘节点2为部署在边缘端的服务器,接收终端设备上送的数据,作为区块链记账节点处理交易,使用微服务为每个连接到自身的终端设备分配容器节点,并将部分区块卸载到云存储以提高存储可用性。
[0134]
所述终端管理模块21,主要负责本区域终端设备的注册、更新、注销等管理,根据预设的分配规则为终端设备分配对应的容器,并向终端设备返回用于接入的目的端口,最后将设备与容器的对应关系存储在存储模块23。
[0135]
所述区块调度模块22,主要负责对链上持久化存储的区块进行调度,将部分区块发送到云存储以优化自身的存储可用性,考虑边缘节点的查询概率、云存储的成本以及边缘节点本地存储容量,对上述三个因素采用粒子群多目标优化算法进行建模,求解出发送到云存储的最佳区块数量。接下来详细说明具体建模方法。
[0136]
1.边缘节点的查询概率:
[0137]
边缘节点集合表示为e,e={e1,e2,...,em},其中ei∈e表示单个边缘节点,m为边缘节点总数。对于每个边缘节点需选择一些区块发送到云端以减轻该节点的存储压力。每个边缘节点中的区块表示为b1,b2,...,bn,发送到云端的区块数量为mw(1≤mw≤n),w=ei∈e,当mw个区块被发送到云存储,边缘节点中的区块将重新编号,即bmw+1变为b1,依此类推,如图8所示。
[0138]
结合目前区块链物联网的应用场景类型,如存证溯源、数字资产等,查询边缘节点的区块通常有固定、线性衰减和指数衰减三种频率。边缘节点上各区块的查询概率用p
b1
,p
b2
,...,p
mw
,...p
bn
表示,具体见式(1),其中除以a为归一化操作,为边缘节点上所有区块查询概率之和。因此基于要发送到云端的mw个区块,边缘节点ei的查询概率p
ei
如式(2)所示。
[0139][0140][0141]
2.云存储的成本:
[0142]
假设所有边缘节点的云存储成本相同,边缘节点的区块容量大小为c,存储成本co表示为边缘节点发送到云的所有区块容量之和,k表示云存储成本和边缘节点存储成本的比率,k较小时表示云存储划算。
[0143]
3.边缘节点本地存储量:
[0144]
边缘节点本地存储量与发送到云存储的区块数量成反比,将更多的区块发送到云存储则本地存储占用量越小,同时也与其所连接的终端设备数量等因素相关,考虑到本地存储占用量在不同的边缘节点之间存在差异,为每个边缘节点分配存储占用量(可用性)权重,用β表示,节点存储占用量越低(可用性越好)则权重越大,边缘节点ei的本地空间占用量表示为故所有边缘节点的整体本地空间占用量
[0145]
4.采用粒子群多目标优化算法建模求解:
[0146]
通过使所有边缘节点的查询概率、云存储成本以及边缘节点本地存储量最小化来求解发送到云存储的最佳区块数量,如式(3)所示。采用粒子群多目标优化算法求解发送到云存储的最佳区块数量。
[0147][0148]
三、记账节点3由边缘节点或云端服务器构成,负责交易背书、执行及持久化存储。
[0149]
四、共识节点4由部署在云端的服务器构成,主要负责对交易进行排序共识,维持数据的完整性和一致性。
[0150]
五、云存储5由ipfs星际文件系统服务器构成,主要负责接收并存储边缘节点发送的区块数据。本应用实例中,该区块链的存储容量优化系统还可以包括:网关。
[0151]
从硬件层面来说,为了提高区块链存储的可用性,本技术提供一种用于实现所述区块链的存储容量优化方法中的全部或部分内容的电子设备的实施例所述电子设备具体
包含有如下内容:
[0152]
处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现所述区块链的存储容量优化装置以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述区块链的存储容量优化方法的实施例及用于实现所述区块链的存储容量优化装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
[0153]
图9为本技术实施例的电子设备9600的系统构成的示意框图。如图9所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图9是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
[0154]
在本技术一个或多个实施例中,区块链的存储容量优化功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
[0155]
步骤100:获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;
[0156]
步骤200:应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型,构建得到存储容量优化模型;
[0157]
步骤300:应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;
[0158]
步骤400:将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。
[0159]
从上述描述可知,本技术的实施例提供的电子设备,能够提高区块链存储的可用性。
[0160]
在另一个实施方式中,区块链的存储容量优化装置可以与中央处理器9100分开配置,例如可以将区块链的存储容量优化装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现区块链的存储容量优化功能。
[0161]
如图9所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图9中所示的所有部件;此外,电子设备9600还可以包括图9中没有示出的部件,可以参考现有技术。
[0162]
如图9所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
[0163]
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
[0164]
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示
对象的显示。该显示器例如可为lcd显示器,但并不限于此。
[0165]
该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
[0166]
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
[0167]
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
[0168]
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
[0169]
上述描述可知,本技术的实施例提供的电子设备,能够提高区块链存储的可用性。
[0170]
本技术的实施例还提供能够实现上述实施例中的区块链的存储容量优化方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的区块链的存储容量优化方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
[0171]
步骤100:获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;
[0172]
步骤200:应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型,构建得到存储容量优化模型;
[0173]
步骤300:应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;
[0174]
步骤400:将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。
[0175]
从上述描述可知,本技术实施例提供的计算机可读存储介质,能够提高区块链存储的可用性。
[0176]
本技术中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
[0177]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0178]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0179]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0180]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0181]
本技术中应用了具体实施例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种区块链的存储容量优化方法,其特征在于,包括:获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型;应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。2.根据权利要求1所述的区块链的存储容量优化方法,其特征在于,所述应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块,包括:动态调整每个边缘节点的初始待分配区块个数,每个边缘节点的初始待分配区块个数的范围均为大于等于零并且小于等于该边缘节点的区块总数;将每次动态调整得到的各个边缘节点的初始待分配区块个数输入所述存储容量优化模型,得到该次动态调整对应的所述存储容量优化模型的输出结果;确定各次动态调整中对应的值最小的所述输出结果,将该值最小的输出结果对应的各个边缘节点的初始待分配区块个数确定为每个边缘节点的待分配区块。3.根据权利要求2所述的区块链的存储容量优化方法,其特征在于,所述将每次动态调整得到的各个边缘节点的初始待分配区块个数输入所述存储容量优化模型,得到该次动态调整对应的所述存储容量优化模型的输出结果,包括:针对每次动态调整,根据边缘节点总数、每个边缘节点的初始待分配区块的个数和查询概率,确定本次动态调整对应的该边缘节点的查询概率;根据预设的云存储成本与本地存储量之间的比率参数值、边缘节点总数、区块容量以及每个边缘节点的初始待分配区块的个数,确定本次动态调整对应的所述云存储的云存储成本;根据边缘节点总数、每个边缘节点的区块总数和初始待分配区块的个数,确定本次动态调整对应的该边缘节点的本地存储量;根据本次动态调整对应的所述云存储的云存储成本、各个边缘节点的查询概率和本地存储量,得到本次动态调整对应的所述存储容量优化模型的输出结果。4.根据权利要求1所述的区块链的存储容量优化方法,其特征在于,所述存储容量优化模型为:其中,q表示所述云存储的云存储成本、各个边缘节点的查询概率以及本地存储量之和,mwi表示第i个边缘节点的待分配区块个数,p
ij
表示第i个边缘节点中的第j个待分配区块的查询概率,k表示预设的云存储成本与本地存储量之间的比率参数值,c表示区块容量,m表示边缘节点总数,n
i
表示第i个边缘节点中的区块总数,β
ei
表示第i个边缘节点的存储占用量权重,e表示自然常数。5.根据权利要求1所述的区块链的存储容量优化方法,其特征在于,所述获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的
查询概率和区块容量,包括:获取所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询频率和区块容量;根据所述区块总数以及各个区块的查询频率,确定各个区块的查询概率。6.根据权利要求1所述的区块链的存储容量优化方法,其特征在于,所述将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化,还包括:删除各个边缘节点中的待分配区块。7.一种区块链的存储容量优化装置,其特征在于,包括:获取模块,用于获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;构建模块,用于应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型;确定模块,用于应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;发送模块,用于将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。8.一种区块链的存储容量优化系统,其特征在于,包括:区块链和云存储;所述区块链包括:多个边缘节点,权利要求7所述的区块链的存储容量优化装置为所述多个边缘节点的至少一个;各个边缘节点均与所述云存储通信连接,所述云存储用于接收并存储边缘节点发送的区块。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的区块链的存储容量优化方法。10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时实现权利要求1至6任一项所述的区块链的存储容量优化方法。
技术总结
本申请提供了一种区块链的存储容量优化方法、装置及系统,可用于区块链技术领域,该方法包括:获取区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量;应用所述区块链对应的边缘节点总数、每个边缘节点的本地存储量、存储占用量权重、区块总数、各个区块的查询概率和区块容量,构建得到存储容量优化模型,构建得到存储容量优化模型;应用多目标优化算法和所述存储容量优化模型,确定每个边缘节点的待分配区块;将所述待分配区块发送至云存储,以完成所述区块链的存储容量优化。本申请能够提高区块链存储的可用性。本申请能够提高区块链存储的可用性。本申请能够提高区块链存储的可用性。
技术研发人员:马爱莲 李曼潇 黄剑 周颖
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.05.12
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/