CN115878729B - 一种基于联盟链的节点区块存储分配优化方法及系统 - Google Patents
一种基于联盟链的节点区块存储分配优化方法及系统 Download PDFInfo
- Publication number
- CN115878729B CN115878729B CN202310199365.0A CN202310199365A CN115878729B CN 115878729 B CN115878729 B CN 115878729B CN 202310199365 A CN202310199365 A CN 202310199365A CN 115878729 B CN115878729 B CN 115878729B
- Authority
- CN
- China
- Prior art keywords
- block
- node
- storage
- node cluster
- blocks
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 151
- 238000005457 optimization Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 15
- 230000002068 genetic effect Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 62
- 238000004891 communication Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于联盟链的节点区块存储分配优化方法及系统,联盟链包括处于同一地理位置的多个节点组成的节点集群,方法包括:确定需要存储于所述节点集群的活跃区块;根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件;基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案。本发明结合云数据库扩展节点集群的存储能力,通过节点集群模式降低节点的区块存储冗余度,考虑节点的存储平衡率和区块查询效率得到区块分配方案,缓解当区块数量增多时区块链节点的存储压力,适用于存储空间受限的联盟区块链系统。
Description
技术领域
本发明涉及区块链数据存储领域,更具体地,涉及一种基于联盟链的节点区块存储分配优化方法及系统。
背景技术
联盟区块链是由P2P网络、密码学、共识机制和智能合约等技术综合组成的一个分布式数据存储系统。区块链按照时间顺序将数据打包到区块,由区块组成链式结构,每个区块都有前一个块的时间戳和加密链接,以防止相关区块的内容被修改,具有不可篡改、可追溯、开放性与匿名性等特点。联盟区块链系统由多个节点构成,节点将为整个系统提供存储资源和算力支持。
在区块链技术的发展和应用过程中,面临着低吞吐率、难以扩展的问题,限制了区块链技术在真实场景的应用。存储可扩展性是限制联盟区块链应用落地的主要瓶颈之一。区块链因其高冗余存储,即每个节点存储一份完整的数据,每个节点都需要同步完整的最新账本,这给区块链系统带来了性能问题和巨大的存储压力。存储可扩展性与节点存储的区块数据量有关,如果没有足够的存储空间,节点将无法加入到区块链网络中作为全节点来验证新事务。因此,如何综合利用联盟区块链系统的各项资源,在有限的计算步骤内使联盟区块链的区块存储分配机制达到近似最优,降低区块链节点对于存储资源的依赖性是提高联盟区块链存储可扩展性的一大挑战。
发明内容
本发明针对现有技术中存在的技术问题,提供一种基于联盟链的节点区块存储分配优化方法及系统。
根据本发明的第一方面,提供了一种基于联盟链的节点区块存储分配优化方法,所述联盟链包括处于同一地理位置的多个节点组成的节点集群,所述方法包括:
确定需要存储于所述节点集群的活跃区块;
根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件;
基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述确定需要存储于所述节点集群的活跃区块,包括:
计算固定时间内节点集群中的每一个区块的查询频率参数和创建时间参数,根据每一个区块的查询频率参数和创建时间参数,确定需要存储于所述节点集群的活跃区块,将不活跃区块存储于云数据库中。
可选的,所述根据每一个区块的查询频率参数和创建时间参数,确定需要存储于所述节点集群的活跃区块,包括:
基于公式计算节点集群中每一个区块的查询频率参数,其中fi代表第i个区块的查询频率参数,ki代表固定时间内第i个区块被查询的次数,kmax代表节点集群中查询量最高的区块次数;
基于公式计算节点集群中每一个区块的创建时间参数,其中ti代表第i个区块的创建时间参数,tnow代表当前时间,tgen代表区块创建的时间;
计算每一个区块的查询频率参数和创建时间参数之和fi+ti,将其按照由高到低排列,在节点集群的存储资源要求范围内选择fi+ti值较高的活跃区块存储于节点集群。
可选的,所述根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件,包括:
基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数;
基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件。
可选的,所述基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数,包括:
(1);
所述基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件,包括:
(2);
(3);
(4);
(5);
其中,xij代表区块的存储位置,xij=1则为节点j存储区块i,xij=0则为节点j不存储区块i;si是区块i所需存储空间的大小;fi为区块i的查询频率参数;m是待分配区块总数量;n是节点集群中的节点总数量;是优化比例,代表节点集群的总存储资源最高使用比例;cjk为节点j和节点k间的通信成本;oj为节点j存储平衡度指标;lj为节点的存储资源;为区块备份数量最低要求。
可选的,所述基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案,包括:
S1,按照最低备份数量要求依次为每个区块挑选不少于个节点存储该区块,将节点存储每个区块的状态作为一种分配方案,验证生成的分配方案是否满足约束条件(2)-(5),若满足约束条件则作为一个可行分配方案,生成一定数量的可行分配方案作为初始解集;
S2,初始解集中的分配方案依次作为父体,再从初始解集随机选择一个作为母体,随机选择m/2个区块作为交叉点,m为待分配区块总数量,交换父体和母体各节点在交叉点的存储状态,同时改变随机选择的一个节点的一个区块存储状态,得到两个新的子个体;
S3,验证新生成所有的子个体是否满足约束条件(2)-(5),将满足条件的子个体和原始个体组成新种群,计算新种群中所有个体的优化目标函数值和适应度函数,根据适应度函数按概率选择设定数量的个体作为新解集;
S4,基于新解集重复步骤S2和S3,直到循环次数满足条件或目标函数值在最近E代的变化量低于设定阈值,E为设定值,获取最终解集,为近似最优的节点集群的区块分配方案。
根据本发明的第二方面,提供一种基于联盟链的节点区块存储分配优化系统,所述联盟链包括处于同一地理位置的多个节点组成的节点集群,所述节点集群中包括一个主节点,负责区块共识和区块分配,所述主节点包括:
确定模块,用于确定需要存储于所述节点集群的活跃区块;
建立模块,用于根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件;
求解模块,用于基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案。
可选的,所述建立模块,用于根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件,包括:
基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数;
基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件。
根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现基于联盟链的节点区块存储分配优化方法的步骤。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现基于联盟链的节点区块存储分配优化方法的步骤。
本发明提供的一种基于联盟链的节点区块存储分配优化方法及系统,通过节点集群模式降低节点的区块存储冗余度,结合云数据库扩展节点集群的存储能力,缓解当区块数量增多时联盟区块链节点的存储压力,同时考虑节点集群中区块查询时延和节点存储空间使用率,为部分活跃区块提供更多的备份,通过遗传算法解决分配活跃区块到节点集群中各个节点的NP-Hard问题,在实现平衡节点存储空间使用率同时使系统整体区块查询区块时延最优。
附图说明
图1为本发明提供的一种基于联盟链的节点区块存储分配优化方法流程图;
图2为本发明提供的节点区块存储分配优化方法运行结果图;
图3为本发明提供的一种基于联盟链的节点区块存储分配优化系统的结构示意图;
图4为本发明提供的一种可能的电子设备的硬件结构示意图;
图5为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
基于背景技术的缺陷,在联盟区块链节点存储空间有限的情况下,通过使节点组成节点集群,共同存储多副本区块,将访问频率低、生成时间早的不活跃区块转移至云数据库存储,提高联盟区块链的存储可扩展性;且考虑节点集群中的区块查询时延和节点存储平衡度,使用遗传算法对节点集群中节点需要存储的区块分配方案进行优化,提高联盟区块链系统的性能。
图1为本发明提供的一种基于联盟链的节点区块存储分配方法流程图,如图1所示,联盟链包括处于同一地理位置的多个节点组成的节点集群,所述方法包括:
S1,确定需要存储于所述节点集群的活跃区块。
可理解的是,本发明中的联盟链包括云数据库和节点集群,每个节点的存储空间是固定的,节点将存储所有的区块头以验证区块;区块的大小和具体存储的事务数量有关,区块大小不固定。随着区块链系统中的事务越来越多,单个节点将没有足够的存储资源保存从创世区块以来的所有区块。因此,由联盟区块链中处于同一地理位置范围内的不少于3个节点构成节点集群,由节点集群中的节点相互协作共同存储区块,联盟区块链的节点将被划分为多个节点集群。云数据库是具有丰富存储资源的远程服务器,将存储访问频率低以及创建时间很早的区块列为不活跃区块,并存储于云数据库,区块在云数据库中也存在多个备份。活跃区块将由节点集群共同存储和维护。节点集群中的节点相互共享信息,由其中一个主节点计算近似最优的区块分配方案。
在本发明中,结合云数据库和节点集群对所有的区块进行存储,其中,将不活跃区块存储于数据库中,将活跃区块存储于节点集群中。
其中,节点集群中的主节点计算固定时间内节点集群中的每一个区块的查询频率参数和创建时间参数,根据每一个区块的查询频率参数和创建时间参数,确定需要存储于所述节点集群的活跃区块,将不活跃区块存储于云数据库中。
具体的,基于公式计算节点集群中每一个区块的查询频率参数,其中fi代表第i个区块的查询频率参数,ki代表固定时间内第i个区块被查询的次数,kmax代表节点集群中查询量最高的区块次数;基于公式计算节点集群中每一个区块的创建时间参数,其中ti代表第i个区块的创建时间参数,tnow代表当前时间,tgen代表区块创建的时间;计算每一个区块的查询频率参数和创建时间参数之和fi+ti,将其按照由高到低排列,在节点集群的存储资源要求范围内选择fi+ti值较高的活跃区块存储于节点集群,将剩余的不活跃区块存储于云数据库中。
其中,在选择活跃区块时存储资源限定为,保证后续步骤中有足够空间为高频查询区块进行更多的备份以降低访问时延。最终选择出需要存储在节点集群的100个区块,节点集群仅存储不活跃区块的基本信息,区块完整数据将存储于云数据库。
S2,根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件。
可理解的,上述步骤S1从所有的区块中筛选出需要存储于节点集群的活跃区块,存储分配方案为将活跃区块照备份数量、节点存储平衡度和区块访问时延要求分配给节点集群中的各个节点。
其中,所述根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件,包括:基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数;基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件。
可理解的是,本发明中建立的区块存储分配方案的优化目标函数和约束条件包括:
(1);
(2);
(3);
(4);
(5)。
其中,xij代表区块的存储位置,xij=1则为节点j存储区块i,xij=0则为节点j不存储区块i;si是区块i所需存储空间的大小;fi为区块i的查询频率参数;m是待分配区块总数量;n是节点集群中的节点总数量;是优化比例,代表节点集群的总存储资源最高使用比例;cjk为节点j和节点k间的通信成本;oj为节点j存储平衡度指标;lj为节点的存储资源;为区块备份数量最低要求。
公式(1)为优化目标函数,包括节点集群内的区块访问成本项和存储平衡项oi。表示节点j访问区块i的最小通信成本。其中节点存储平衡度为一个关于节点存储占用率的函数,为节点的已使用存储资源与节点总存储资源的比值,例如设置时,函数增长率在随着p的增加而增大,在节点存储占用率低时增长不明显,存储占用率高时增长明显。公式(2)-(5)为约束条件,公式(2)保证每个节点的存储资源足够存储分配到该节点的区块;公式(3)保证节点集群的存储空间使用率达到设置的优化比例阈值之下;公式(4)保证区块的备份数量不少于个;公式(5)确保区块的完整不可切分性。
仿真实验模拟将130个区块体存储于10个节点集群,其中区块大小的平均值为8,满足正态分布,区块访问频率为[0,1],区块生成时间参数在区间(0,1];不同节点具有不同的存储能力,节点的存储能力在区间[200,700],节点集群存储资源总和为5300。节点之间的通信成本在[0,4]之间。需要将节点集群中区块总存储空间优化至60%内。
首先由主节点计算固定时间范围内节点集群中的区块查询频率、区块创建时间,根据节点集群的存储资源要求选择不活跃区块,并将节点集群中不活跃区块存储于云数据库。然后将剩余的活跃区块按照备份数量、节点存储平衡度和区块访问时延要求分配给节点集群中的各个节点,通过遗传算法求解得到最终近似最优分配方案。
S3,基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案。
可理解的是,步骤S2建立了资源分配过程中的优化目标函数和约束条件,采用遗传算法对优化目标函数进行求解,得到近似最优的区块分配方案。
遗传算法具体步骤包括:
S1,按照备份数量要求依次为每个区块挑选不少于3个节点作为存储该区块,验证生成的分配方案是否满足约束条件(2)-(5),若满足约束条件则作为一种可行分配方案。生成10种可行分配方案作为初始解集,即种群的个体数量为10。
可行解如下表1所示:
表1
S2,初始解集中的分配方案依次作为父体,从初始解集随机选择一个作为母体。对于每一个父体,随机选择m/2个区块作为交叉点,将父体和母体在交叉点的区块存储状态互换,同时随机选择一个节点的一个区块改变其存储状态,可以得到两个新的子个体。
S3,验证新的子个体是否满足约束条件(2)-(5),若满足条件则加入种群,反之则舍弃该个体。种群中包括原始个体和新加入种群的子代个体,个体数量大于等于10,计算种群中所有个体的优化目标值和适应度函数,根据适应度函数按概率选择选择其中10个个体作为新的解集。
S4,重复步骤S2和S3,直到循环次数满足条件或目标函数值在最近10代的变化量低于设定阈值,得到近似最优的区块存储分配方案。
得到近似最优的区块存储分配结果后,由主节点将分配结果转发到节点集群中各个节点,各节点调整存储在本节点区块,同时更新区块存储位置。
最终得到的分配方案如下表2所示:
表2
图2为基于联盟链的节点区块存储分配优化方法运行结果,其中横坐标为迭代次数,纵坐标为优化目标值。
图3为本发明实施例提供的一种基于联盟链的节点区块存储分配优化系统结构图,所述联盟链包括处于同一地理位置的多个节点组成的节点集群,所述节点集群中包括一个主节点,负责区块共识和区块分配,所述主节点包括:
确定模块31,用于确定需要存储于所述节点集群的活跃区块;
建立模块32,用于根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件;
求解模块33,用于基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案。
其中,所述建立模块32,用于根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件,包括:基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数;基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件。
可以理解的是,本发明提供的一种基于联盟链的节点区块存储分配系统与前述各实施例提供的基于联盟链的节点区块存储分配方法相对应,基于联盟链的节点区块存储分配系统的相关技术特征可参考基于联盟链的节点区块存储分配方法的相关技术特征,在此不再赘述。
请参阅图4,图4为本发明实施例提供的电子设备的实施例示意图。如图4所示,本发明实施例提了一种电子设备400,包括存储器410、处理器420及存储在存储器410上并可在处理器420上运行的计算机程序411,处理器420执行计算机程序411时实现基于联盟链的节点区块存储分配优化方法的步骤。
请参阅图5,图5为本发明提供的一种计算机可读存储介质的实施例示意图。如图5所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现基于联盟链的节点区块存储分配优化方法的步骤。
本发明实施例提供的一种基于联盟链的节点区块存储分配优化方法及系统,通过节点集群模式降低节点的区块存储冗余度,结合云数据库扩展节点集群的存储能力,缓解当区块数量增多时联盟区块链节点的存储压力,同时考虑节点集群中区块查询时延和节点存储空间使用率,为部分活跃区块提供更多的备份,通过遗传算法解决分配活跃区块到节点集群中各个节点的NP-Hard问题,在实现平衡节点存储空间使用率同时使系统整体区块查询区块时延最优。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (7)
1.一种基于联盟链的节点区块存储分配优化方法,其特征在于,所述联盟链包括处于同一地理位置的多个节点组成的节点集群,所述方法包括:
确定需要存储于所述节点集群的活跃区块;
根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件;
基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案;
其中,所述确定需要存储于所述节点集群的活跃区块,包括:
计算固定时间内节点集群中的每一个区块的查询频率参数和创建时间参数,根据每一个区块的查询频率参数和创建时间参数,确定需要存储于所述节点集群的活跃区块,将不活跃区块存储于云数据库中;
所述根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件,包括:
基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数;
基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件;
其中,所述基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数,包括:
所述基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件,包括:
(2);
其中,x ij代表区块的存储位置,x ij=1则为节点j存储区块i,x ij=0则为节点j不存储区块i;s i是区块i所需存储空间的大小;f i为区块i的查询频率参数;m是待分配区块总数量;n是节点集群中的节点总数量;是优化比例,代表节点集群的总存储资源最高使用比例;c jk为节点j和节点k间的通信成本;o j为节点j存储平衡度指标;l j为节点的存储资源;为区块备份数量最低要求。
2.根据权利要求1所述的存储分配优化方法,其特征在于,所述根据每一个区块的查询频率参数和创建时间参数,确定需要存储于所述节点集群的活跃区块,包括:
基于公式计算节点集群中每一个区块的查询频率参数,其中f i代表第i个区块的查询频率参数,k i代表固定时间内第i个区块被查询的次数,k max代表节点集群中查询量最高的区块次数;
基于公式计算节点集群中每一个区块的创建时间参数,其中t i代表第i个区块的创建时间参数,t now代表当前时间,t gen代表区块创建的时间;
计算每一个区块的查询频率参数和创建时间参数之和f i +t i,将其按照由高到低排列,在节点集群的存储资源要求范围内选择f i +t i值较高的活跃区块存储于节点集群。
3.根据权利要求1所述的存储分配优化方法,其特征在于,所述基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案,包括:
S1,按照最低备份数量要求依次为每个区块挑选不少于个节点存储该区块,将节点存储每个区块的状态作为一种分配方案,验证生成的分配方案是否满足约束条件(2)-(5),若满足约束条件则作为一个可行分配方案,生成一定数量的可行分配方案作为初始解集;
S2,初始解集中的分配方案依次作为父体,再从初始解集随机选择一个作为母体,随机选择m/2个区块作为交叉点,m为待分配区块总数量,交换父体和母体各节点在交叉点的存储状态,同时改变随机选择的一个节点的一个区块存储状态,得到两个新的子个体;
S3,验证新生成所有的子个体是否满足约束条件(2)-(5),将满足条件的子个体和原始个体组成新种群,计算新种群中所有个体的优化目标函数值和适应度函数,根据适应度函数按概率选择设定数量的个体作为新解集;
S4,基于新解集重复步骤S2和S3,直到循环次数满足条件或目标函数值在最近E代的变化量低于设定阈值,E为设定值,获取最终解集,为近似最优的节点集群的区块分配方案。
4.一种基于联盟链的节点区块存储分配优化系统,其特征在于,所述联盟链包括处于同一地理位置的多个节点组成的节点集群,所述节点集群中包括一个主节点,负责区块共识和区块分配,所述主节点包括:
确定模块,用于确定需要存储于所述节点集群的活跃区块;
建立模块,用于根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件;
求解模块,用于基于遗传算法对优化目标函数进行求解,得到近似最优的节点集群的区块分配方案;
其中,所述确定需要存储于所述节点集群的活跃区块,包括:
计算固定时间内节点集群中的每一个区块的查询频率参数和创建时间参数,根据每一个区块的查询频率参数和创建时间参数,确定需要存储于所述节点集群的活跃区块,将不活跃区块存储于云数据库中;
所述根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件,包括:
基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数;
基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件;
其中,所述基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数,包括:
所述基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件,包括:
(2);
其中,x ij代表区块的存储位置,x ij=1则为节点j存储区块i,x ij=0则为节点j不存储区块i;s i是区块i所需存储空间的大小;f i为区块i的查询频率参数;m是待分配区块总数量;n是节点集群中的节点总数量;是优化比例,代表节点集群的总存储资源最高使用比例;c jk为节点j和节点k间的通信成本;o j为节点j存储平衡度指标;l j为节点的存储资源;为区块备份数量最低要求。
5.根据权利要求4所述的存储分配优化系统,其特征在于,所述建立模块,用于根据联盟区块链的存储资源要求和数据访问要求建立优化目标函数和约束条件,包括:
基于节点集群内的区块访问成本项和存储平衡项,建立优化目标函数;
基于每个节点的存储资源、节点集群的存储空间使用率、区块的备份数量和区块的完整性,建立优化目标函数的约束条件。
6.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1-3任一项所述的基于联盟链的节点区块存储分配优化方法的步骤。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如权利要求1-3任一项所述的基于联盟链的节点区块存储分配优化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310199365.0A CN115878729B (zh) | 2023-03-03 | 2023-03-03 | 一种基于联盟链的节点区块存储分配优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310199365.0A CN115878729B (zh) | 2023-03-03 | 2023-03-03 | 一种基于联盟链的节点区块存储分配优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115878729A CN115878729A (zh) | 2023-03-31 |
CN115878729B true CN115878729B (zh) | 2023-05-02 |
Family
ID=85761954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310199365.0A Active CN115878729B (zh) | 2023-03-03 | 2023-03-03 | 一种基于联盟链的节点区块存储分配优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878729B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117424912B (zh) * | 2023-12-14 | 2024-04-05 | 湖北省楚天云有限公司 | 基于区块链的物联网节点集群数据存储方法、系统及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813866A (zh) * | 2020-07-30 | 2020-10-23 | 河南中盾云安信息科技有限公司 | 一种改进的区块链账本同步方法 |
CN113419823A (zh) * | 2021-06-22 | 2021-09-21 | 东北大学 | 一种适用于高并发事务的联盟链系统及其设计方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008033952A2 (en) * | 2006-09-15 | 2008-03-20 | Sandisk Corporation | Non-volatile memory and method for class-based update block replacement rules |
CN110009498A (zh) * | 2019-03-29 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 基于区块链的资源分配方法和装置 |
CN109978546A (zh) * | 2019-04-08 | 2019-07-05 | 北京邮电大学 | 一种联盟区块链架构及其分级存储和交易穿孔方法 |
US11995644B2 (en) * | 2019-08-13 | 2024-05-28 | Innoplexus Ag | System and method for managing transactional interoperability amongst blockchains |
-
2023
- 2023-03-03 CN CN202310199365.0A patent/CN115878729B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813866A (zh) * | 2020-07-30 | 2020-10-23 | 河南中盾云安信息科技有限公司 | 一种改进的区块链账本同步方法 |
CN113419823A (zh) * | 2021-06-22 | 2021-09-21 | 东北大学 | 一种适用于高并发事务的联盟链系统及其设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115878729A (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218348B (zh) | 一种区块链中区块的确定方法及节点设备 | |
CN106897368B (zh) | Merkle哈希求和树及其可验证数据库更新操作方法 | |
CN115878729B (zh) | 一种基于联盟链的节点区块存储分配优化方法及系统 | |
Hassanzadeh-Nazarabadi et al. | Decentralized utility-and locality-aware replication for heterogeneous DHT-based P2P cloud storage systems | |
CN105550274A (zh) | 双副本并行数据库的查询方法和装置 | |
CN113626875B (zh) | 一种区块链分片赋能的知识图谱文件存储方法 | |
CN114938292B (zh) | 一种基于节点可信度的多层次优化pbft共识方法 | |
CN111047439A (zh) | 一种基于区块链的交易处理方法 | |
CN116566712A (zh) | 一种基于信任分数的物联网区块链共识方法 | |
CN112561700A (zh) | 区块链中交易数据的存储方法、验证方法、及区块链系统 | |
CN113810507B (zh) | 一种基于ide的区块链可信节点划分方法 | |
CN114996350A (zh) | 一种区块链中的区块状态同步方法及第一节点 | |
CN111340623A (zh) | 一种数据存储方法及装置 | |
Al-Musharaf et al. | Improving blockchain consensus mechanism via network clusters | |
CN116644131A (zh) | 基于pso-ga的分片区块链系统性能优化方法 | |
CN113468200B (zh) | 对区块链系统中的分片进行扩容的方法及装置 | |
CN113889203B (zh) | 基于联盟链的医疗数据存储方法和系统 | |
CN115150246A (zh) | 基于新型嵌套链架构的面向海量实时物联网的上链方法 | |
Kumar et al. | BMAQR: balanced multi attribute QoS aware replication in HDFS | |
Ramzan et al. | Enhanced Artificial Bee Colony Based Optimization for Mitigating Replication in Large Data for Internet of Things (Iot) | |
Bragard et al. | Global dynamic load-balancing for decentralised distributed simulation | |
US20150347627A1 (en) | Gossiping for decentralized information spreading | |
CN117424912B (zh) | 基于区块链的物联网节点集群数据存储方法、系统及介质 | |
Zangoti et al. | A multidimensional blockchain framework for mobile internet of things | |
CN117499017B (zh) | 区块链网络传输方法、系统及存储介质和终端设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |