一种区块链全部节点信息的获取方法、设备和存储介质技术

技术编号:24590648 阅读:22 留言:0更新日期:2020-06-21 02:36
本发明专利技术提供一种区块链全部节点信息的获取方法、设备和存储介质,该方法包括:通过区块链网络获取已备的若干第一节点的IP地址信息集合;获取与各第一节点关联的若干第二节点信息;根据结构按照区块链点对点网络协议规定编写编解码,做节点之间的正常通信后确定最终区块链网络中所有有效节点信息。本发明专利技术通过某可信节点发送朋友圈请求信息,以获得若干第二节点信息,然后再以各第二节点信息作为始发节点,向其获取他们的朋友圈信息,直到将整个区块链的所有节点信息均获取完成。

A method, device and storage medium for obtaining all node information of blockchain

【技术实现步骤摘要】
一种区块链全部节点信息的获取方法、设备和存储介质
本申请涉及区块链通信
,具体涉及一种区块链全部节点信息的获取方法、设备和存储介质。
技术介绍
目前区块链主要被分为公有链、私有链、联盟链3种,其中公有链是指任何人都可以随时进入系统中读取数据、发送可确认交易、竞争记账的区块链。由于公有链做到了完全去中心化的分布式记账方法,这种情况下对于公有链中的全部节点的监管是很难做到的。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种可以便捷准确的获取区块链中所有节点信息的方法、设备和存储介质。第一方面,一种区块链全部节点信息的获取方法,该方法通过区块链点对点网络协议定义数据结构,包括:通过区块链网络获取已备的若干第一节点的IP地址信息集合;获取与各第一节点关联的若干第二节点信息;根据结构按照区块链点对点网络协议规定编写编解码,做节点之间的正常通信后确定最终区块链网络中所有有效节点信息。进一步,获取与各第一节点关联的若干第二节点信息还包括:判断各第二节点信息是否重复:是,则只保存一个节点,删除重复的第二节点。进一步,该方法还包括:定时检验所有节点的有效性。进一步,设置状态标识,其中状态标识包括失效或有效标识,定时检验所有节点的有效性包括:向节点发出正常通信请求,判断在设定的第一时间阈值内是否收到反馈信息:是,则该节点打上有效标识;否则确定为失效节点,并将该节点打上失效标识。进一步,基础结构包括P2PMessage,findNode、Neighbors,获取与各第一节点关联的若干第二节点信息包括:向各第一节点发送节点信息请求信息,验证节点信息的合法性后,各第一节点根据findNode请求和Neighbors请求返回各第一节点的朋友圈信息,即第二节点信息,若第一节点没有关联的第二节点,则返回空;其中,P2PMessage用于与第一节点建立基本的通信连接服务,findNode用于查找本节点已备的各第一节点,Neighbors用于查找与各第一节点的朋友圈中所关联的第二节点。进一步,状态标识根据定时检查的时间连续记录并生成记录表,根据记录表获取某一节点为有效节点/失效节点的次数以供获取节点状态信息集合。进一步,将打上失效标识的节点放入待确认名单。第二方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的区块链全部节点信息的获取方法。第三方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的区块链全部节点信息的获取方法。本专利技术诸多实施例提供的区块链全部节点信息的获取方法、设备和存储介质通过某可信节点发送朋友圈请求信息,以获得若干第二节点信息,然后再以各第二节点信息作为始发节点,向其获取他们的朋友圈信息,直到将整个区块链的所有节点信息均获取完成。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例提供的一种区块链全部节点信息的获取方法的流程图。图2为图1所示方法的一种优选实施方式的场景示意图。图3为图1所示方法的另一优选实施方式的场景示意图。图4为本专利技术一实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1为本专利技术一实施例提供的一种区块链全部节点信息的获取方法的流程图。如图1所示,在本实施例中,本专利技术提供一种区块链全部节点信息的获取方法,该方法通过区块链点对点网络协议定义数据结构,包括:S11、通过区块链网络获取已备的若干第一节点的IP地址信息集合;S12、获取与各第一节点关联的若干第二节点信息;S13、根据结构按照区块链点对点网络协议规定编写编解码,做节点之间的正常通信后确定最终区块链网络中所有有效节点信息。具体地,以图2所示场景为例,甲机构想获取某区块链系统中的所有节点,获取甲机构中已备的第一节点A节点,该节点是甲机构的可信任节点,向第一节点发送请求信息以获取A节点的朋友圈中的若干第二节点(如K,B,C节点),获取到K,B,C节点后,分别向这些节点发送正常通信信息,如果有反馈,则确定为有效节点,最终获取有效节点的节点信息。然后以上述有效节点为始发节点,循环上述步骤,直到获取全部节点信息。本专利技术所示的方法可以应用在国家机关需要对某一公链的信息传播进行监管,则可以获取到全部节点信息后,针对公链的所有节点进行信息权限设定。还可以应用在国家机关在某些公平公正场合中,对所有节点的信息传输行为进行监管,保证该区块链所有节点的对外传输都公开透明。在更多实施例中,获取与各第一节点关联的若干第二节点信息还包括:判断各第二节点信息是否重复:是,则只保存一个节点,删除重复的第二节点。具体地,仍以图2所示场景为例,当以节点K,B,C为始发节点进行朋友圈查询时,会获取到分别与之关联的节点K-(A,B,E),B-(A,K,E,C),C-(A,B,D,E),由此可以看出,在获取到的关联节点中,A,B,C,E,K均有重复,这时,在获取到新的第二节点后,需要判断该节点在当前已经获取的节点中是否已经存在了,若是,在将删除重复的节点,确保每个节点只有一个即可。至于删除的方式与规则,本实施例具体不作限制。在更多实施例中,该方法还包括:定时检验所有节点的有效性。具体地,仍以图2所示场景为例,由于区块链中的节点并不一定是长期在线的,有的是因为网络的问题导致节点无法正常通信,有的可能是在某时间就退出该区块链系统,同样的,还可能随时会有新增加的节点假如该区块链系统,因此需要定时对所有节点进行检验,从而确保节点的有效性以保证节点信息的准确。在一优选实施例中,设置状态标识,其中状态标识包括失效或有效标识,定时检验所有节点的有效性包括:向节点发出正常通信请求,判断在设定的第一时间阈值内是否收到反馈信息:是,则该节点打上有效标识;否则确定为失效节点,并将该节点打上失效标识。具体地,如图3所示,以其中一节点B节点为例,设定第一时间阈值为3分钟,即每隔3分钟检验一次获取的节点有效性,即发送通信请求信息给B节点,如果有反馈,则说明该节点为有效节点,如果没有反馈,则说明该节点为无效节点。优选地,状态标识根据定时检查的时间连续记录并生成记录表,根据记录表获取某一节点为有效节点/失效节点的次数以供获取节点状态信息集合。上述实本文档来自技高网...

【技术保护点】
1.一种区块链全部节点信息的获取方法,其特征在于,该方法通过区块链点对点网络协议定义数据结构,包括:/n通过区块链网络获取已备的若干第一节点的IP地址信息集合;/n获取与各所述第一节点关联的若干第二节点信息;/n根据所述数据结构按照区块链点对点网络协议规定编写编解码,做节点之间的正常通信后确定最终区块链网络中所有有效节点信息。/n

【技术特征摘要】
1.一种区块链全部节点信息的获取方法,其特征在于,该方法通过区块链点对点网络协议定义数据结构,包括:
通过区块链网络获取已备的若干第一节点的IP地址信息集合;
获取与各所述第一节点关联的若干第二节点信息;
根据所述数据结构按照区块链点对点网络协议规定编写编解码,做节点之间的正常通信后确定最终区块链网络中所有有效节点信息。


2.根据权利要求1所述的方法,其特征在于,所述获取与各所述第一节点关联的若干第二节点信息还包括:
判断各第二节点信息是否重复:
是,则只保存一个节点,删除重复的第二节点。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:定时检验所有节点的有效性。


4.根据权利要求3所述的方法,其特征在于,设置状态标识,其中状态标识包括失效或有效标识,所述定时检验所有节点的有效性包括:
向节点发出正常通信请求,判断在设定的第一时间阈值内是否收到反馈信息:是,则该节点打上有效标识;否则确定为失效节点,并将该节点打上失效标识。


5.根据权利要求1-4中任意一项所述的方法,所述数据结构包括P2PMessage,findNode、Neighbors,所述获取与各所述第一节...

【专利技术属性】
技术研发人员:蔡亮李伟邱炜伟匡立中陈寿长
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:浙江;33

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

1