一种区块链节点、系统及数字资料副本分配方法技术方案

技术编号:26065545 阅读:29 留言:0更新日期:2020-10-28 16:38
本公开提供了一种区块链节点、系统及数字资料副本分配方法,属于区块链技术领域,任一节点在接收到存储数字资料请求后,获取邻居节点的元数据;根据获取到的各个邻居节点的元数据,选择预设个数的邻居节点作为副本节点;向被选择为副本节点的邻居节点发送副本存储请求,邻居节点响应存储副本请求;数字资料副本由节点自我管理、自我调度和自我控制,可以减少节点的调度压力并且降低节点的性能要求,节省运营成本,并且数字资料的存储是分布式存储,真正符合区块链去中心或多中心的思想。

【技术实现步骤摘要】
一种区块链节点、系统及数字资料副本分配方法
本公开涉及区块链
,特别涉及一种区块链节点、系统及数字资料副本分配方法。
技术介绍
本部分的陈述仅仅是提供了与本公开相关的
技术介绍
,并不必然构成现有技术。区块链技术逐步应用到娱乐、医疗、金融等生活的各个方面,影视版权、健康档案、财务报告等物理资料电子化后形成的数字资料数据迅速膨胀,对支持数字资料分布式存储的需求越来越迫切。本公开专利技术人发现,由于区块大小、网络通信等方面的限制,业界绝大多数联盟链平台不支持链上存储数字资料,而是采用数字资料链下存储的方式:(1)中心化存储,将数字资料存储到一个数据中心,中心化风险较高,而且这种方式与区块链的去中心思想是相违背的;(2)数字资料分布式存储,并在各个节点之间部署一个统一的数字资料副本调度组件,基于CFT算法进行数字资料副本在多个节点的分配,这种方式一定程度上缓解了数据存储的中心化程度,但这种方式是由一个主节点来决定副本分配过程,仍然不能完全符合去中心的思想,且对节点的性能要求较高;而且节点之间采用RPC(RemoteProcedureCall,远程过程调用)的通信方式,这种通信方式在跨局域网通信的稳定性、时延性等方面存在不足。
技术实现思路
为了解决现有技术的不足,本公开提供了一种区块链节点、系统及数字资料副本分配方法,数字资料副本由节点自我管理、自我调度和自我控制,可以减少节点的调度压力并且降低节点的性能要求,节省运营成本,并且数字资料的存储是分布式存储,真正符合区块链去中心或多中心的思想。为了实现上述目的,本公开采用如下技术方案:本公开第一方面提供了一种区块链节点。一种区块链节点,至少包括数字资料存储器和数字资料副本控制器;数字资料存储器,被配置为:接收存储数字资料的请求,将数字资料存储在本地,同时更新分布式哈希表中的信息,声明本节点已存储数字资料;数字资料副本控制器,被配置为:接收数字资料存储器发来的存储数字资料请求,获取邻居节点的元数据,选择预设个数的邻居节点作为副本节点,向被选择为副本节点的邻居节点发送副本存储请求。作为可能的一些实现方式,所述数字资料副本控制器至少包括副本调度器、消息队列和协程池;数字资料副本控制器将接收到的请求放入消息队列中,副本调度器从消息队列中获取待处理的消息,并从协程池中获取协程进行处理。作为可能的一些实现方式,副本调度器至少根据邻居节点的可用存储空间、在线概率、网络状态和地理位置选择预设个数的邻居节点作为副本节点,副本调度器向选择的节点发送数字资料请求,请求对方存储数字资料。作为可能的一些实现方式,当各个邻居节点响应存储请求后,副本控制器更新分布式哈希表,声明存储该数字资料的节点信息。作为可能的一些实现方式,副本控制器在等待接收邻居节点返回是否可存储副本的信息超过特定时限时,重新调度一个邻居节点。作为可能的一些实现方式,所述节点还包括可用副本控制器,用于进行可用副本维护。本公开第二方面提供了一种区块链系统。一种区块链系统,包括多个本公开第一方面所述的区块链节点,各个区块链节点之间采用P2P(Peer-To-Peer)方式通信。作为可能的一些实现方式,被选择的各个副本节点收到存储请求后,检测存储空间是否充足,向请求发送方发送信息,表明是否可以存储数字资料。本公开第三方面提供了一种基于邻居的多中心数字资料副本分配方法。一种基于邻居的多中心数字资料副本分配方法,包括以下步骤:任一节点在接收到存储数字资料请求后,获取邻居节点的元数据;根据获取到的各个邻居节点的元数据,选择预设个数的邻居节点作为副本节点;向被选择为副本节点的邻居节点发送副本存储请求,邻居节点响应存储副本请求。作为可能的一些实现方式,若存储数字资料副本的节点失效,使得可用的数字资料副本数量少于预设阈值时,重新调度一个邻居节点进行数字资料副本存储。作为可能的一些实现方式,选择的预设个数的节点作为副本节点至少位于两个不同的地理区域。与现有技术相比,本公开的有益效果是:1、本公开所述的区块链节点、系统及方法,其基于邻居的多中心数字资料副本分配策略不是通过单一的中心节点管理数字资料副本分配,而是由节点自我管理,可以减少节点的调度压力并且降低节点的性能要求,节省运营成本,并且数字资料的存储是分布式存储,真正符合区块链去中心或多中心的思想。2、本公开所述的区块链节点、系统及方法,邻居节点之间实时通信实现副本数量的监控,发现邻居节点异常实时进行副本再分配,可保证系统中可用副本数量,保证数字资料的高可用性。3、本公开所述的区块链节点、系统及方法,无需另外部署数字资料副本调度组件,数字资料存储模块同时作为副本控制模块,降低系统部署和运维的复杂度,节省运维成本。4、本公开所述的区块链节点、系统及方法,邻居节点间实时通信,基于邻居的多中心数字资料副本分配策略节点之间的通信采用的是P2P异步消息通信,具有可扩展性和高容错性等优点。附图说明图1为本公开实施例1提供的区块链节点的模块划分示意图。图2为本公开实施例3提供的基于邻居的多中心数字资料副本分配方法的流程示意图。图3为本公开实施例3提供的基于邻居的多中心数字资料副本分配方法的拓扑图。具体实施方式应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例1:如图1所示,本公开实施例1提供了一种区块链节点,节点由数字资料存储器和数字资料副本控制器组件构成。数字资料存储器是处理数字资料副本分配的具体执行模块,负责将数字资料写入本地存储和更新DHT路由表。数字资料副本控制器包括调度器、可用副本控制器、消息队列、协程池等部件,负责数字资料的副本调度以及可用副本维护等。节点调度数字资料副本的过程如下:S1.1:数字资料存储器接收存储数字资料的请求S1.2:数字资料存储器将数字资料存储在本地,同时更新DHT(DistributedHashTable,分布式哈希表)中的信息,声明本节点已存储该数字资料S1.3:数字资料存储器发送存储数字资料请求至数字资料副本控制器,数字资料副本控制器将该请求放入消息队列中,副本调度器从消息队列中获取待处理的消息,并从协程池中获取协程进行处理S1.4:副本调度本文档来自技高网
...

【技术保护点】
1.一种区块链节点,其特征在于,至少包括数字资料存储器和数字资料副本控制器;/n数字资料存储器,被配置为:接收存储数字资料的请求,将数字资料存储在本地,同时更新分布式哈希表中的信息,声明本节点已存储数字资料;/n数字资料副本控制器,被配置为:接收数字资料存储器发来的存储数字资料请求,获取邻居节点的元数据,选择预设个数的邻居节点作为副本节点,向被选择为副本节点的邻居节点发送副本存储请求。/n

【技术特征摘要】
1.一种区块链节点,其特征在于,至少包括数字资料存储器和数字资料副本控制器;
数字资料存储器,被配置为:接收存储数字资料的请求,将数字资料存储在本地,同时更新分布式哈希表中的信息,声明本节点已存储数字资料;
数字资料副本控制器,被配置为:接收数字资料存储器发来的存储数字资料请求,获取邻居节点的元数据,选择预设个数的邻居节点作为副本节点,向被选择为副本节点的邻居节点发送副本存储请求。


2.如权利要求1所述的区块链节点,其特征在于,所述数字资料副本控制器至少包括副本调度器、消息队列和协程池;
数字资料副本控制器将接收到的请求放入消息队列中,副本调度器从消息队列中获取待处理的消息,并从协程池中获取协程进行处理。


3.如权利要求1所述的区块链节点,其特征在于,副本调度器至少根据邻居节点的可用存储空间、在线概率、网络状态和地理位置选择预设个数的邻居节点作为副本节点,副本调度器向选择的节点发送数字资料请求,请求对方存储数字资料。


4.如权利要求1所述的区块链节点,其特征在于,当各个邻居节点响应存储请求后,副本控制器更新分布式哈希表,声明存储该数字资料的节点信息。


5.如权利要求1所述的区块链节点,其特征在于,副本控制器在等待接收...

【专利技术属性】
技术研发人员:赵永光郑永清洪晓光孙明吕宁徐喆王敏虾王鈃润
申请(专利权)人:山大地纬软件股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1