CN110933173A - 一种基于区块链技术的组网方法和装置 - Google Patents
一种基于区块链技术的组网方法和装置 Download PDFInfo
- Publication number
- CN110933173A CN110933173A CN201911217903.4A CN201911217903A CN110933173A CN 110933173 A CN110933173 A CN 110933173A CN 201911217903 A CN201911217903 A CN 201911217903A CN 110933173 A CN110933173 A CN 110933173A
- Authority
- CN
- China
- Prior art keywords
- node
- subnet
- network
- root
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明公开了一种基于区块链技术的组网方法,包括以下步骤:建立顶层网络Root节点R1和底层子网的Control节点;准备一个顶层网络Root节点R1,并创建创世区块;准备多个顶层网络Root节点,与节点R1建立P2P网络连接,最终组成顶层区块链网络;观察所有的Root节点,最终区块达到同一高度;准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;观察区块链子网中的节点的区块高度,并与节点R1高度一致;区块链子网能收到顶层中Root节点的区块数据,完成整个组网过程。本发明公开的一种基于区块链技术的组网方法有效降低区块链P2P网络传输延时,大幅提高区块链P2P网络利用率,解决区块链网络节点单一的问题。
Description
技术领域
本发明涉及区块链技术,尤其涉及一种基于区块链技术的组网方法和装置。
背景技术
区块链技术是一种分布式数据处理技术,加密数据通过P2P网络通信技术发送给各个节点以达到全网节点共识,从而确保数据不可篡改和不可伪造。随着互联网技术的发展,区块链技术的去中心化、公开透明、不可篡改、可信任等优点,在智能合约、文件存储、供应链金融、身份验证、数字政务、电子商务、物联网、社交通讯等众多领域得到广泛应用。
在现有的区块链网络中各个节点是平等的,没有中心化服务器,节点之间相互连接,每个节点连接一定数目的其他节点,所有节点组成一个P2P网络;数据从一个节点发送到已连接的节点,收到数据的节点会继续转发给其已连接的节点,最终数据达到全网所有节点。
现有的区块链组网技术具有以下特征:
1)现有区块链P2P网络传输延时较高
在现有区块链P2P网络中,数据从一个节点转发到其已连接的节点,数据需要进行多次转发才能到达所有节点,最后收到数据的节点往往延时较高;
2)现有区块链P2P网络利用率低
现有区块链P2P网络技术是全网广播无法做到数据仅广播给部分节点,势必造成大部分节点成为数据的搬运工,网络利用率低。
3)现在区块链P2P节点角色单一,网络单一
现有区块链P2P网络技术没有对节点收发数据角色划分,在区块链中的所有节点都具有相同的基本数据,但不同节点往往处理的业务不同,需要的业务数据往往不同,现有的区块链节点在传播数据方面扮演相同的单一角色,造成整个网络也是单一的。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是有效降低区块链P2P网络传输延时,大幅提高区块链P2P网络利用率,解决区块链网络节点单一的问题。
为实现上述目的,本发明提供了一种基于区块链技术的组网方法,包括以下步骤:
建立顶层网络Root节点R1和底层子网的Control节点;
准备一个顶层网络Root节点,并创建创世区块;
准备多个顶层网络Root节点,与节点R1建立P2P网络连接,最终组成顶层区块链网络;
观察所有的Root节点,最终区块达到同一高度;
准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;
观察区块链子网中的节点的区块高度,并与节点R1高度一致;
区块链子网能收到顶层中Root节点的区块数据,完成整个组网过程。
进一步地,准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网,具体包括以下步骤:
准备Control节点配置文件,配置节点角色为Control节点,配置加入子网的Root信息,根据该Root信息进行网络通信;
Control节点向Root节点发送“加入子网”命令,该命令包含Control节点ID信息;
Root节点检查Control节点的信息的合法性,检查信息包含节点ID签名、软件版本、在Root子网最大数量(可设置)范围内等;
Root节点返回创世区块信息和子网ID,区块信息包含创世区块和区块链ID;
Control节点根据创世区块信息完成初始化,根据子网ID完成P2P网络模块启动,最终Control完成启动;
Control节点发送“发现节点”命令到Root节点,以获取该子网内的其他节点信息;
Root节点查询本地节点信息,返回一定数目节点信息给Control节点;
根据返回节点信息进行TCP连接,最终保持一定节点连接数量,完成子网组网。
进一步地,准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;观察区块链子网中的节点的区块高度,并与节点R1高度一致;具体包括:
准备多个底层子网Control节点C11、C12、C13接入顶层网络Root节点R1组成区块链子网1;
观察子网1中的C11、C12、C13节点的区块高度,并与节点R1高度一致;
准备多个底层子网Control节点C21、C22、C23接入顶层网络Root节点R2组成区块链子网2;
观察子网2中的C21、C22、C23节点的区块高度,并与节点R2高度一致。
进一步地,还包括子网防止其他子网节点连接和数据污染机制,具体包括:
节点C11向节点C21发送连接请求;
节点C21接收节点C11连接请求,返回子网不匹配错误信息,返回子网ID2;
记录或更新本地C21节点信息,不再发送连接请求。
本发明的一较佳实施例提供了一种基于区块链技术的组网装置,包括:
新建模块,用于建立顶层网络Root节点R1和底层子网的Control节点;
创建模块,用于准备一个顶层网络Root节点,并创建创世区块;
第一组网模块,用于准备多个顶层网络Root节点,与节点R1建立P2P网络连接,最终组成顶层区块链网络;
第一观察模块,用于观察所有的Root节点,最终区块达到同一高度;
第二组网模块,用于准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;
第二观察模块,用于观察区块链子网中的节点的区块高度,并与节点R1高度一致;
第三组网模块,用于区块链子网能收到顶层中Root节点的区块数据,完成整个组网过程。
进一步地,第二组网模块包括:
配置单元,用于准备Control节点配置文件,配置节点角色为Control节点,配置加入子网的Root信息,根据该Root信息进行网络通信;
命令发送单元,用于Control节点向Root节点发送“加入子网”命令,该命令包含Control节点ID信息;
检查单元,用于Root节点检查Control节点的信息的合法性,检查信息包含节点ID签名、软件版本、在Root子网最大数量(可设置)范围内等;
返回单元,用于Root节点返回创世区块信息和子网ID,区块信息包含创世区块和区块链ID;
初始化单元,用于Control节点根据创世区块信息完成初始化,根据子网ID完成P2P网络模块启动,最终Control完成启动;
获取信息单元,用于Control节点发送“发现节点”命令到Root节点,以获取该子网内的其他节点信息;
查询单元,用于Root节点查询本地节点信息,返回一定数目节点信息给Control节点;
组网单元,用于根据返回节点信息进行TCP连接,最终保持一定节点连接数量,完成子网组网。
进一步地,第二组网模块包括::
第一组网单元,用于准备多个底层子网Control节点C11、C12、C13接入顶层网络Root节点R1组成区块链子网1;
第二组网单元,准备多个底层子网Control节点C21、C22、C23接入顶层网络Root节点R2组成区块链子网2;
第二观察模块包括:
第一观察单元,用于观察子网1中的C11、C12、C13节点的区块高度,并与节点R1高度一致;
第二观察单元,用于观察子网2中的C21、C22、C23节点的区块高度,并与节点R2高度一致。
进一步地,还包括防数据污染模块,用于防止其他子网节点连接和数据污染,具体包括:
发送单元,用于节点C11向节点C21发送连接请求;
接收单元,用于节点C21接收节点C11连接请求,返回子网不匹配错误信息,返回子网ID2;
记录单元,用于记录或更新本地C21节点信息,不再发送连接请求。
本发明的又一较佳实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述中任一项所述的方法。
本发明的又一较佳实施例一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述中任一项所述的一种基于区块链技术的组网方法。
技术效果
本发明的一种基于区块链技术的组网方法是基于区块链组网技术,实现区块链节点分层网络架构,区块数据从一个Root节点产生并广播到所有的Root节点,节点的数量和距离都大幅减少,大幅降低Root网络延时;而Control节点收到Root数据迅速全子网广播,一方面子网节点数目减少加快数据传输,另一方面子网之间并不通大幅降低消息重复发送的次数;以本方案组网技术达到大幅降低区块链P2P网络传输延时;
Control节点的业务数据仅在其所在的子网内传播,并不占用Root节点网络带宽,同时各个Root节点下的子网并互通,优化了网络结构大幅提高区块链P2P网络利用率;同时底层子网具备自我维护功能,及时更新节点角色,保证子网稳定运行;
本方案顶层网络Root节点和底层子网的Control节点解决网络单一的问题,Root节点可以自由接入区块链网络,Control节点可以随机选择任意一个Root接入其子网;分层网络组网技术具备良好的扩展性、稳定性、灵活接入子网方案以满足各行各业的需求。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的顶层网络和底层网络架构示意图;
图2是本发明的一个较佳实施例的Control节点加入子网过程示意图。
图3是子网防止其他子网节点连接和数据污染机制子网防止其他子网节点连接和数据污染机制示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下描述中,为了说明而不是为了限定,提出了诸如特定内部程序、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
本实施例公开了一种基于区块链技术的组网方法,包括以下步骤:
步骤100,建立顶层网络Root节点R1和底层子网的Control节点;
步骤200,准备一个顶层网络Root节点,并创建创世区块;
步骤300,准备多个顶层网络Root节点R2、R3…,与节点R1建立P2P网络连接,最终组成顶层区块链网络;具体包括以下步骤:
准备Control节点配置文件,配置节点角色为Control节点,配置加入子网的Root信息,根据该Root信息进行网络通信;
Control节点向Root节点发送“加入子网”命令,该命令包含Control节点ID信息;
Root节点检查Control节点的信息的合法性,检查信息包含节点ID签名、软件版本、在Root子网最大数量(可设置)范围内等;
Root节点返回创世区块信息和子网ID,区块信息包含创世区块和区块链ID;
Control节点根据创世区块信息完成初始化,根据子网ID完成P2P网络模块启动,最终Control完成启动;
Control节点发送“发现节点”命令到Root节点,以获取该子网内的其他节点信息;
Root节点查询本地节点信息,返回一定数目节点信息给Control节点;
根据返回节点信息进行TCP连接,最终保持一定节点连接数量,完成子网组网。
步骤400,观察所有的Root节点,最终区块达到同一高度;
其中步骤300和步骤400具体包括:
准备多个底层子网Control节点C11、C12、C13接入顶层网络Root节点R1组成区块链子网1;
观察子网1中的C11、C12、C13节点的区块高度,并与节点R1高度一致;
准备多个底层子网Control节点C21、C22、C23接入顶层网络Root节点R2组成区块链子网2;
观察子网2中的C21、C22、C23节点的区块高度,并与节点R2高度一致。
步骤500,准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;
步骤600,观察区块链子网中的节点的区块高度,并与节点R1高度一致;
步骤700,区块链子网能收到顶层中Root节点的区块数据,完成整个组网过程。具体的是,区块链底层网络有子网1和子网2,均能收到顶层中Root节点的区块数据。
当用户选择C11节点发送业务数据,此时只有R1、C12、C13能收到数据;其余的节点均不能收到数据;
当用户选择C21节点发送业务数据,此时只有R2、C22、C23能收到数据;其余的节点均不能收到数据;
用户可以依据依据如上步骤扩展整个区块链分层网络,根据扮演的角色加入不同的网络。
进一步地,还包括子网防止其他子网节点连接和数据污染机制,具体包括:
节点C11向节点C21发送连接请求;
节点C21接收节点C11连接请求,返回子网不匹配错误信息,返回子网ID2;
记录或更新本地C21节点信息,不再发送连接请求。
在节点C11向节点C21发送连接请求前,确保子网1含有Control节点C11;子网2含有Control节点C21;在实际情况中C11和C21曾经在同一子网中,C11保存C21节点信息,此时C11向C21发送连接请求;已经在子网2中的C21收到来自子网1中的C11连接请求,子网ID1和子网ID2并不一致,C21返回错误并返回子网ID2;同时更新本地C11信息避免C21向C11发起连接。
本组网方法是基于区块链组网技术,实现区块链节点分层网络架构,顶层网络由Root节点组成,底层网络由Control节点组成。Root节点具备除现有区块链节点所有功能之外,同时增加控制逻辑以管理多个Control节点并组成子网,主要负责产生和转发区块链必备数据及业务消息;Control节点隶属于特定的Root节点,并不产生区块数但产生业务数据,所有的网络数据仅在该子网内传播,并不能传播到其他Root下的子网中的Control节点,有效防止不同子网连接节点污染和数据污染。
Root节点接入区块链网络的方法与现有方案一致;Control节点可以通过给定的Root信息加入Root子网,Control节点向Root节点发起加入子网请求,Root节点返回创世区块数据及子网ID,Control节点根据创世区块数据完成初始化并启动,启动P2P网络设置子网ID标识;。
Control节点可以发送“发现节点”命令给Root节点来获取该子网的其它Control节点信息,该Control节点根据这些同一子网的节点信息建立TCP连接,建立稳定的P2P子网络。
Control节点可以变更子网,只需要修改Root节点的配置信息重启即可加入对应的子网,原子网和现有子网会自动更新该节点信息,具备高扩展性的同时确保各个子网节点有效性、稳定性。
具体实施例如下:
如图1所示,图1是顶层网络和底层网络架构图,
其中1代表顶层网络,由所有的Root节点组成,跟现有区块链网络一样一条区块链一个网络;
2代表Root节点,Root节点负责处理交易、打包区块、提供客户端接口等功能,与现有区块链节点不同,Root节点不广播子网业务数据,具备分配子网的功能;
3代表底层子网1网络,由每个Root节点决定,每个Root节点可以组成一个子网;
4代表子网1中的Control节点,具备处理逻辑业务或提供用户接口的功能;
5代表底层子网2网络,由相应的Root节点决定,与子网1相互独立;
6代表子网2中的Control节点,具备处理逻辑业务或提供用户接口的功能,与子网1中的任何节点不通信;
7代表用户1向顶层网络中的Root节点调用接口或发送数据,此时产生的任何数据在全网广播包含顶层网络和底层网络;
区块数据和交易数据网络广播过程,用户选择一个Root节点R1发送数据,R1转发到已经连接的Root节点R2、R3、R4(假设R1只与R2、R3、R4网络连接),R2、R3、R4转发给剩余的Root节点,直到所有的Root节点收到数据为止;同时Root节点收到数据转发到子网Control节点,最终完成数据在整个网络广播。
8代表用户2向子网1中的节点调用接口或发送数据,此时产生的任何数据仅仅在子网1中广播,顶层网络和其他子网并不能收到数据;
子网数据广播过程,用户选择一个Control节点C1发送数据,C1转发到已经连接的Control节点C2、C3、C4(假设C1只与C2、C3、C4网络连接,所有的Control节点隶属于一个Root节点),C2、C3、C4转发给剩余的Control节点,直到该子网下所有的Control节点收到数据为止,最终完成数据在整个子网广播。
实施例二
本发明的一较佳实施例提供了一种基于区块链技术的组网装置,包括:
新建模块,用于建立顶层网络Root节点R1和底层子网的Control节点;
创建模块,用于准备一个顶层网络Root节点,并创建创世区块;
第一组网模块,用于准备多个顶层网络Root节点,与节点R1建立P2P网络连接,最终组成顶层区块链网络;
第一观察模块,用于观察所有的Root节点,最终区块达到同一高度;
第二组网模块,用于准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;
第二观察模块,用于观察区块链子网中的节点的区块高度,并与节点R1高度一致;
第三组网模块,用于区块链子网能收到顶层中Root节点的区块数据,完成整个组网过程。
进一步地,第二组网模块包括:
配置单元,用于准备Control节点配置文件,配置节点角色为Control节点,配置加入子网的Root信息,根据该Root信息进行网络通信;
命令发送单元,用于Control节点向Root节点发送“加入子网”命令,该命令包含Control节点ID信息;
检查单元,用于Root节点检查Control节点的信息的合法性,检查信息包含节点ID签名、软件版本、在Root子网最大数量(可设置)范围内等;
返回单元,用于Root节点返回创世区块信息和子网ID,区块信息包含创世区块和区块链ID;
初始化单元,用于Control节点根据创世区块信息完成初始化,根据子网ID完成P2P网络模块启动,最终Control完成启动;
获取信息单元,用于Control节点发送“发现节点”命令到Root节点,以获取该子网内的其他节点信息;
查询单元,用于Root节点查询本地节点信息,返回一定数目节点信息给Control节点;
组网单元,用于根据返回节点信息进行TCP连接,最终保持一定节点连接数量,完成子网组网。
进一步地,第二组网模块包括::
第一组网单元,用于准备多个底层子网Control节点C11、C12、C13接入顶层网络Root节点R1组成区块链子网1;
第二组网单元,准备多个底层子网Control节点C21、C22、C23接入顶层网络Root节点R2组成区块链子网2;
第二观察模块包括:
第一观察单元,用于观察子网1中的C11、C12、C13节点的区块高度,并与节点R1高度一致;
第二观察单元,用于观察子网2中的C21、C22、C23节点的区块高度,并与节点R2高度一致。
进一步地,还包括防数据污染模块,用于防止其他子网节点连接和数据污染,具体包括:
发送单元,用于节点C11向节点C21发送连接请求;
接收单元,用于节点C21接收节点C11连接请求,返回子网不匹配错误信息,返回子网ID2;
记录单元,用于记录或更新本地C21节点信息,不再发送连接请求。
本实施例装置用于实现实施一所述的组网方法,其实现方式一致,此处将不在赘述。
实施例三
本发明实施例三提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述任一项的方法。
该实施例的计算机设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如组网程序。所述处理器执行所述计算机程序时实现上述各个组网方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机设备中的执行过程。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可包括,但不仅限于,处理器、存储器。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以是所述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。所述存储器也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述计算机设备的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机程序以及所述计算机设备所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
本发明实施例还提供了一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序使计算机执行时实现上述任一项所述的基于区块链技术的组网方法。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种基于区块链技术的组网方法,其特征在于,包括以下步骤:
建立顶层网络Root节点R1和底层子网的Control节点;
准备一个顶层网络Root节点R1,并创建创世区块;
准备多个顶层网络Root节点,与节点R1建立P2P网络连接,最终组成顶层区块链网络;
观察所有的Root节点,最终区块达到同一高度;
准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;
观察区块链子网中的节点的区块高度,并与节点R1高度一致;
区块链子网能收到顶层中Root节点的区块数据,完成整个组网过程。
2.如权利要求1所述的一种基于区块链技术的组网方法,其特征在于,准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网,具体包括以下步骤:
准备Control节点配置文件,配置节点角色为Control节点,配置加入子网的Root信息,根据该Root信息进行网络通信;
Control节点向Root节点发送“加入子网”命令,该命令包含Control节点ID信息;
Root节点检查Control节点的信息的合法性,检查信息包含节点ID签名、软件版本、在Root子网最大数量(可设置)范围内等;
Root节点返回创世区块信息和子网ID,区块信息包含创世区块和区块链ID;
Control节点根据创世区块信息完成初始化,根据子网ID完成P2P网络模块启动,最终Control完成启动;
Control节点发送“发现节点”命令到Root节点,以获取该子网内的其他节点信息;
Root节点查询本地节点信息,返回一定数目节点信息给Control节点;
根据返回节点信息进行TCP连接,最终保持一定节点连接数量,完成子网组网。
3.如权利要求1所述的一种基于区块链技术的组网方法,其特征在于,准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;观察区块链子网中的节点的区块高度,并与节点R1高度一致;具体包括:
准备多个底层子网Control节点C11、C12、C13接入顶层网络Root节点R1组成区块链子网1;
观察子网1中的C11、C12、C13节点的区块高度,并与节点R1高度一致;
准备多个底层子网Control节点C21、C22、C23接入顶层网络Root节点R2组成区块链子网2;
观察子网2中的C21、C22、C23节点的区块高度,并与节点R2高度一致。
4.如权利要求1所述的一种基于区块链技术的组网方法,其特征在于,还包括子网防止其他子网节点连接和数据污染机制,具体包括:
节点C11向节点C21发送连接请求;
节点C21接收节点C11连接请求,返回子网不匹配错误信息,返回子网ID2;
记录或更新本地C21节点信息,不再发送连接请求。
5.一种基于区块链技术的组网装置,其特征在于,包括:
新建模块,用于建立顶层网络Root节点R1和底层子网的Control节点;
创建模块,用于准备一个顶层网络Root节点,并创建创世区块;
第一组网模块,用于准备多个顶层网络Root节点,与节点R1建立P2P网络连接,最终组成顶层区块链网络;
第一观察模块,用于观察所有的Root节点,最终区块达到同一高度;
第二组网模块,用于准备多个底层子网Control节点接入顶层网络Root节点R1组成区块链子网;
第二观察模块,用于观察区块链子网中的节点的区块高度,并与节点R1高度一致;
第三组网模块,用于区块链子网能收到顶层中Root节点的区块数据,完成整个组网过程。
6.如权利要求5所述的一种基于区块链技术的组网装置,其特征在于,第二组网模块包括:
配置单元,用于准备Control节点配置文件,配置节点角色为Control节点,配置加入子网的Root信息,根据该Root信息进行网络通信;
命令发送单元,用于Control节点向Root节点发送“加入子网”命令,该命令包含Control节点ID信息;
检查单元,用于Root节点检查Control节点的信息的合法性,检查信息包含节点ID签名、软件版本、在Root子网最大数量(可设置)范围内等;
返回单元,用于Root节点返回创世区块信息和子网ID,区块信息包含创世区块和区块链ID;
初始化单元,用于Control节点根据创世区块信息完成初始化,根据子网ID完成P2P网络模块启动,最终Control完成启动;
获取信息单元,用于Control节点发送“发现节点”命令到Root节点,以获取该子网内的其他节点信息;
查询单元,用于Root节点查询本地节点信息,返回一定数目节点信息给Control节点;
组网单元,用于根据返回节点信息进行TCP连接,最终保持一定节点连接数量,完成子网组网。
7.如权利要求5所述的一种基于区块链技术的组网装置,其特征在于,第二组网模块包括:
第一组网单元,用于准备多个底层子网Control节点C11、C12、C13接入顶层网络Root节点R1组成区块链子网1;
第二组网单元,准备多个底层子网Control节点C21、C22、C23接入顶层网络Root节点R2组成区块链子网2;
第二观察模块包括:
第一观察单元,用于观察子网1中的C11、C12、C13节点的区块高度,并与节点R1高度一致;
第二观察单元,用于观察子网2中的C21、C22、C23节点的区块高度,并与节点R2高度一致。
8.如权利要求5所述的一种基于区块链技术的组网装置,其特征在于,还包括防数据污染模块,用于防止其他子网节点连接和数据污染,具体包括:
发送单元,用于节点C11向节点C21发送连接请求;
接收单元,用于节点C21接收节点C11连接请求,返回子网不匹配错误信息,返回子网ID2;
记录单元,用于记录或更新本地C21节点信息,不再发送连接请求。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求1-4中任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序使计算机执行时实现如权利要求1-4中任一项所述的一种基于区块链技术的组网方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911217903.4A CN110933173B (zh) | 2019-12-03 | 2019-12-03 | 一种基于区块链技术的组网方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911217903.4A CN110933173B (zh) | 2019-12-03 | 2019-12-03 | 一种基于区块链技术的组网方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110933173A true CN110933173A (zh) | 2020-03-27 |
CN110933173B CN110933173B (zh) | 2022-08-09 |
Family
ID=69848325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911217903.4A Active CN110933173B (zh) | 2019-12-03 | 2019-12-03 | 一种基于区块链技术的组网方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110933173B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866078A (zh) * | 2020-06-19 | 2020-10-30 | 上海墨珩网络科技有限公司 | 一种动态异构p2p网络的组网方法及系统 |
CN112055067A (zh) * | 2020-08-28 | 2020-12-08 | 杭州复杂美科技有限公司 | 节点连接方法、设备和存储介质 |
CN112969212A (zh) * | 2021-02-24 | 2021-06-15 | 山东山大世纪科技有限公司 | 物联网的去中心传感器网络构建方法及系统 |
WO2023207076A1 (zh) * | 2022-04-29 | 2023-11-02 | 蚂蚁区块链科技(上海)有限公司 | 区块链子网的组建方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170061398A1 (en) * | 2014-06-19 | 2017-03-02 | Jim Austin Joseph | Cryptographic currency block chain based voting system |
CN106789920A (zh) * | 2016-11-25 | 2017-05-31 | 深圳前海微众银行股份有限公司 | 区块链的节点连接方法及装置 |
CN108881459A (zh) * | 2018-07-02 | 2018-11-23 | 甘肃山呼信息技术有限公司 | 一种面向实际应用的高可扩展公用区块链系统 |
CN109033422A (zh) * | 2018-08-08 | 2018-12-18 | 云南天之游科技股份有限公司 | 一种生成区块链的方法、装置及区块链 |
CN109120669A (zh) * | 2018-07-03 | 2019-01-01 | 泰链(厦门)科技有限公司 | 基于p2p互联网络构建区块链的方法、介质和系统 |
CN109151013A (zh) * | 2018-08-13 | 2019-01-04 | 南京邮电大学 | 基于联盟区块链的物流业信息平台 |
CN109727132A (zh) * | 2018-12-28 | 2019-05-07 | 合肥达朴汇联科技有限公司 | 区块链共识节点的获取方法、装置、电子设备及存储介质 |
CN109729163A (zh) * | 2018-12-28 | 2019-05-07 | 合肥达朴汇联科技有限公司 | 一种区块链的数据处理方法、装置电子设备及存储介质 |
US10318747B1 (en) * | 2015-12-30 | 2019-06-11 | Amazon Technologies, Inc. | Block chain based authentication |
CN110199307A (zh) * | 2018-11-16 | 2019-09-03 | 阿里巴巴集团控股有限公司 | 区块链系统中进行跨链交互的域名方案 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN110457388A (zh) * | 2019-06-27 | 2019-11-15 | 布比(北京)网络技术有限公司 | 一种用于分布式数据抗污染的方法及系统 |
-
2019
- 2019-12-03 CN CN201911217903.4A patent/CN110933173B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170061398A1 (en) * | 2014-06-19 | 2017-03-02 | Jim Austin Joseph | Cryptographic currency block chain based voting system |
US10318747B1 (en) * | 2015-12-30 | 2019-06-11 | Amazon Technologies, Inc. | Block chain based authentication |
CN106789920A (zh) * | 2016-11-25 | 2017-05-31 | 深圳前海微众银行股份有限公司 | 区块链的节点连接方法及装置 |
CN108881459A (zh) * | 2018-07-02 | 2018-11-23 | 甘肃山呼信息技术有限公司 | 一种面向实际应用的高可扩展公用区块链系统 |
CN109120669A (zh) * | 2018-07-03 | 2019-01-01 | 泰链(厦门)科技有限公司 | 基于p2p互联网络构建区块链的方法、介质和系统 |
CN109033422A (zh) * | 2018-08-08 | 2018-12-18 | 云南天之游科技股份有限公司 | 一种生成区块链的方法、装置及区块链 |
CN109151013A (zh) * | 2018-08-13 | 2019-01-04 | 南京邮电大学 | 基于联盟区块链的物流业信息平台 |
CN110199307A (zh) * | 2018-11-16 | 2019-09-03 | 阿里巴巴集团控股有限公司 | 区块链系统中进行跨链交互的域名方案 |
CN109727132A (zh) * | 2018-12-28 | 2019-05-07 | 合肥达朴汇联科技有限公司 | 区块链共识节点的获取方法、装置、电子设备及存储介质 |
CN109729163A (zh) * | 2018-12-28 | 2019-05-07 | 合肥达朴汇联科技有限公司 | 一种区块链的数据处理方法、装置电子设备及存储介质 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN110457388A (zh) * | 2019-06-27 | 2019-11-15 | 布比(北京)网络技术有限公司 | 一种用于分布式数据抗污染的方法及系统 |
Non-Patent Citations (1)
Title |
---|
袁敏夫: ""基于云平台的区块链组网方案及数据共享存储机制"", 《计算机与现代化》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866078A (zh) * | 2020-06-19 | 2020-10-30 | 上海墨珩网络科技有限公司 | 一种动态异构p2p网络的组网方法及系统 |
CN111866078B (zh) * | 2020-06-19 | 2023-04-18 | 上海墨珩网络科技有限公司 | 一种动态异构p2p网络的组网方法及系统 |
CN112055067A (zh) * | 2020-08-28 | 2020-12-08 | 杭州复杂美科技有限公司 | 节点连接方法、设备和存储介质 |
CN112055067B (zh) * | 2020-08-28 | 2023-04-18 | 杭州复杂美科技有限公司 | 节点连接方法、设备和存储介质 |
CN112969212A (zh) * | 2021-02-24 | 2021-06-15 | 山东山大世纪科技有限公司 | 物联网的去中心传感器网络构建方法及系统 |
WO2023207076A1 (zh) * | 2022-04-29 | 2023-11-02 | 蚂蚁区块链科技(上海)有限公司 | 区块链子网的组建方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110933173B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933173B (zh) | 一种基于区块链技术的组网方法和装置 | |
WO2021109735A1 (zh) | 一种基于跨链网络的资源处理方法及装置 | |
WO2020001108A1 (zh) | 基于区块链的数据处理方法和装置 | |
CN110958218B (zh) | 基于多网通信的数据传输方法及相关设备 | |
CN108810137A (zh) | 一种联盟区块链系统 | |
CN112953821B (zh) | 消息传输方法及装置 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
WO2022121538A1 (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
CN110839056B (zh) | 基于区块链的数据处理方法、装置及节点网络 | |
CN113364735A (zh) | 多链场景下数据跨链访问控制方法、系统、设备及终端 | |
CN106656937A (zh) | 一种访问控制方法和访问令牌颁发方法、设备 | |
US20230289782A1 (en) | Smart contract-based data processing | |
CN110830581A (zh) | 提升区块链响应速度的方法、区块链应用系统及相关设备 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
WO2020248981A1 (zh) | 一种基于区块链的物联网iot设备间通信的方法及装置 | |
WO2020098040A1 (zh) | 一种基于dds的跨网段通信方法 | |
CN113329081A (zh) | 一种区块链服务接入方法、装置及计算机可读存储介质 | |
CN112148350A (zh) | 作品远程版本管理方法、电子设备以及计算机存储介质 | |
CN114629744B (zh) | 基于macvlan主机网络的数据访问方法、系统及相关装置 | |
CN111241069A (zh) | 一种基于区块链的数据扁平化方法及系统 | |
CN112231415B (zh) | 区块链网络的数据同步方法、系统、电子设备及可读介质 | |
KR20200086402A (ko) | 스마트 컨트랙트를 분산 처리하기 위한 블록체인 시스템 및 그 방법 | |
CN114172895A (zh) | 一种路由方法、装置、计算机设备及存储介质 | |
CN112579343A (zh) | 区块链节点数据的恢复方法及装置 | |
CN117539644B (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 |