一种区块链中的智能路由处理方法与流程

文档序号:17726958发布日期:2019-05-22 02:34阅读:394来源:国知局
一种区块链中的智能路由处理方法与流程

本发明提出一种在区块链节点通信时,智能选择通信节点的方法,当新的节点接入区块链p2p网络时,会向网络中已有的节点请求数据,已存在节点要判断自己当前的状态,如果是短时间内生成了区块,则不向新的节点传输数据,否则传输数据。



背景技术:

区块链是借由密码学串接并保护内容的串连交易记录(又称区块)。每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易数据(通常用默克尔树算法计算的散列值表示),这样的设计使得区块内容具有难以窜改的特性。用区块链所串接的分布式账本能让两方有效纪录交易,且可永久查验此交易。区块链利用p2p网络传输数据,当新的节点接入区块链p2p网络时,会向网络中已存在的节点请求数据。选择哪些节点给新的节点同步数据,会影响到现有节点的处理速度和传输效率。

当新的节点接入区块链p2p网络时,会随机向网络中已有的节点请求数据,已有节点不判断自己当前的状态,直接向新的节点传输数据。

已有节点不判断自己当前的状态,直接向新的节点传输数据,如果已有节点在很短时间内生成了区块,需要把新区块向p2p网络中传播,同时需要和新的节点同步数据,已有节点的处理负担很重,通信效率很低。



技术实现要素:

本发明的目的是为了减轻生成区块节点的负担,提高网络传输效率。

本发明所采用的技术手段如下所述。

本发明提供一种区块链中的智能路由处理方法,其改进在于:每个节点至少包含状态记录模块,状态判断模块,数据请求模块和数据响应模块;所述状态记录模块实时更新和记录节点当前的节点状态,所述节点状态是指在短时间内是否生成了新的区块;所述数据请求模块是指当新的节点接入区块链时,会向网络中已有节点发送请求,请求已有节点向其传输数据;所述状态判断模块是指该已有节点读取本地数据库内容,判断自己当前的状态,包含短时间内生成区块或短时间内未生产区块两种状态;所述数据响应模块是指已有节点根据新的节点的要求向其传输数据或反馈无法传递数据的结果;如果是短时间内生成了区块,则不向新的节点传输数据,否则传输数据;如果新的节点没有同步到数据,会向网络中其它已有节点请求数据。

如果新的节点一直没有同步到数据,会一直执行上述步骤,直到同步到数据。

本发明的有益效果如下。

在p2p网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,本发明的实质是将p2p网络中的节点区别对待,对于新生成区块的节点,不承担和新的节点同步数据的任务,这样就减轻了新生成区块节点的负担,提高网络传输效率。

附图说明

图1为本发明一种区块链中的智能路由处理方法的结构示意图。

具体实施方式

本发明提供一种区块链中的智能路由处理方法,每个节点至少包含状态记录模块,状态判断模块,数据请求模块和数据响应模块。

其中,所述状态记录模块实时更新和记录节点自己当前的节点状态,所述节点状态是指在短时间内,如3秒,5秒内,此节点是否生成了新的区块,将节点的节点状态存储至本地数据库。

其中,所述数据请求模块是指当新的节点接入区块链p2p网络时,会向网络中已有节点发送请求,请求已有节点向其传输数据。

其中,所述状态判断模块是指,该已有节点读取本地数据库内容,判断自己当前的状态,如果是短时间内,如3秒或5秒内生成了区块,则不向新的节点传输数据,否则传输数据。

其中,所述数据响应模块是指根据请求节点的要求向其传输数据或反馈无法传递数据的结果。

依据上述架构,当新的节点a,接入区块链p2p网络时,节点a中的数据请求模块会随机向区块链中的已有节点b请求传输数据,已有节点b的状态判断模块根据状态记录模块记录的数据库内容判断自己是否在短时间内生成了新的区块,如果是,则不向新的节点a传输数据。如果不是,则向新的节点a传输数据。

如果新的节点a没有同步到数据,会向网络中其它已有节点请求数据。如果经过上述步骤一直没有同步到数据,会一直执行上述步骤,直到同步到数据。

当新的节点接入区块链p2p网络时,不是随机向网络中已有的节点请求数据,而是选择短时间未生成区块的节点来请求数据。这样减轻新生成区块的节点的负担,提高网络传输效率。

在p2p网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,本发明的实质是将p2p网络中的节点区别对待,对于新生成区块的节点,不承担和新的节点同步数据的任务,这样就减轻了新生成区块节点的负担,提高网络传输效率。



技术特征:

技术总结
本发明一种区块链中的智能路由处理方法,节点包含状态记录模块,状态判断模块,数据请求模块和数据响应模块,状态记录模块实时更新和记录节点当前的节点状态,节点状态是指在短时间内是否生成了新的区块;数据请求模块是指当新的节点接入区块链时,会向网络中已有节点发送请求,请求已有节点向其传输数据;状态判断模块是指已有节点读取本地数据库内容,判断自己当前的状态;数据响应模块是指已有节点根据新的节点的要求向其传输数据或反馈无法传递数据的结果。如果是短时间内生成了区块,则不向新的节点传输数据,否则传输数据,对于新生成区块的节点,不承担和新的节点同步数据的任务,这样就减轻了新生成区块节点的负担,提高网络传输效率。

技术研发人员:夏冰;霍晓栋;马俊昌;王虹妍;孙玉俐;刘迎宾
受保护的技术使用者:贵州蓝石科技有限公司
技术研发日:2018.12.28
技术公布日:2019.05.21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1