CN111464395B - 一种创建区块链的方法、装置及可读存储介质 - Google Patents
一种创建区块链的方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN111464395B CN111464395B CN202010249539.6A CN202010249539A CN111464395B CN 111464395 B CN111464395 B CN 111464395B CN 202010249539 A CN202010249539 A CN 202010249539A CN 111464395 B CN111464395 B CN 111464395B
- Authority
- CN
- China
- Prior art keywords
- port
- target
- blockchain
- ports
- node
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种创建区块链的方法、装置及可读存储介质,其中,该方法包括:接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,端口探测指令携带了端口段信息;根据端口段信息探测端口段信息对应的多个端口中各个端口的状态;根据各个端口的状态确定多个端口中处于空闲状态的目标端口集合;向区块链管理平台发送目标端口集合,以使得区块链管理平台根据目标端口集合生成用于创建区块链的配置参数,接收区块链管理平台发送的目标节点对应的配置参数;利用配置参数创建目标区块链。通过这种实施方式,可以探测出端口是否可用,并利用空闲状态的可用端口创建区块链,以提高创建的区块链的有效性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种创建区块链的方法、装置及可读存储介质。
背景技术
目前,同一台机器上可以启动多个底层区块链的进程实例,其中,多条区块链中不同的进程实例对应不同的端口。然而,用户在远程创建区块链并启动区块链时,并不知道区块链的进程实例对应的端口是否可用,从而导致创建的区块链中可能存在不可用的端口,影响区块链的有效性。因此,如何有效地确定用于创建区块链的端口是否可用成为一个亟待解决的问题。
发明内容
本发明实施例提供了一种创建区块链的方法、装置及可读存储介质,可以确保用于创建区块链的端口可用,以提高创建的区块链的有效性。
第一方面,本发明实施例提供了一种创建区块链的方法,应用于区块链网络的目标节点,所述方法包括:
接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,其中,所述端口探测指令是由所述区块链管理平台向与所述目标区块链相关的各个节点发送的,所述目标节点是所述各个节点中的任意一个;
根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态;
根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数;
接收所述区块链管理平台发送的所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口;
利用所述配置参数创建所述目标区块链。
第二方面,本发明实施例提供了另一种创建区块链的方法,应用于区块链管理平台,所述方法包括:
接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识;
根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数;
向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。
第三方面,本发明实施例提供了一种创建区块链装置,设置于区块链网络的目标节点中,所述装置包括:
第一接收模块,用于接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,其中,所述端口探测指令是由所述区块链管理平台向与所述目标区块链相关的各个节点发送的,所述目标节点是所述各个节点中的任意一个;
探测模块,用于根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态;
确定模块,用于根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
第一发送模块,用于向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数;
第二接收模块,用于接收所述区块链管理平台发送的所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口;
创建模块,用于利用所述配置参数创建所述目标区块链。
第四方面,本发明实施例提供了另一种创建区块链装置,设置于区块链管理平台中,所述装置包括:
第三接收模块,用于接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识;
第二发送模块,用于根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
生成模块,用于接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数;
第三发送模块,用于向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。
第五方面,本发明实施例提供了一种节点,包括:处理器和存储器,所述处理器用于执行:
接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,其中,所述端口探测指令是由所述区块链管理平台向与所述目标区块链相关的各个节点发送的,所述目标节点是所述各个节点中的任意一个;
根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态;
根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数;
接收所述区块链管理平台发送的所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口;
利用所述配置参数创建所述目标区块链。
第六方面,本发明实施例提供了一种区块链管理平台,包括:处理器和存储器,所述处理器用于执行:
接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识;
根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数;
向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。
第七方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,该程序指令被执行时,用于实现上述第一方面或第二方面所述的方法。
本发明实施例,通过节点接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,并根据所述端口探测指令携带的端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态,以及根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,从而向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数,通过接收区块链管理平台发送的目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,以利用所述配置参数创建所述目标区块链。通过这种实施方式,可以通过区块链管理平台探测出用于创建区块链的端口是否可用,并利用可用的端口创建区块链,从而提高创建的区块链的有效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种端口探测***的结构示意图;
图1b是本发明实施例提供的一种区块链的结构示意图;
图1c是本发明实施例提供的一种产生新区块的过程示意图;
图2是本发明实施例提供的一种创建区块链的方法的流程示意图;
图3是本发明实施例提供的另一种创建区块链的方法的流程示意图;
图4a是本发明实施例提供的一种启动区块链管理平台的示意图;
图4b是本发明实施例提供的一种区块链管理平台的界面示意图;
图5是本发明实施例提供的一种创建区块链装置的结构示意图;
图6是本发明实施例提供的另一种创建区块链装置的结构示意图;
图7是本发明实施例提供的一种节点的结构示意图;
图8是本发明实施例提供的一种区块链管理平台的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明实施例中提供的创建区块链的方法可以应用于一种端口探测***,其中,所述端口探测***包括区块链网络以及区块链管理平台。在某些实施例中,所述区块链网络与区块链管理平台之间相互建立通信连接。在某些实施例中,所述通信连接的方式可以包括但不限于Wi-Fi、蓝牙、近场通信(Near Field Communication, NFC)等。
本发明实施例提供了一种创建区块链的方法,可以通过区块链管理平台探测用于创建区块链的端口是否可用,并利用可用的端口创建区块链,从而提高创建的区块链的有效性。
下面结合附图1a和附图1b对本发明实施例提供的端口探测***进行示意性说明。
请参见图1a,图1a是本发明实施例提供的一种端口探测***的结构示意图。所述端口探测***包括:区块链网络11、区块链管理平台12和终端设备13。其中,区块链网络11、区块链管理平台12和终端设备13相互之间可以通过无线通信连接方式建立通信连接。其中,在某些场景下,所述区块链网络11、区块链管理平台12和终端设备13相互之间也可以通过有线通信连接方式建立通信连接。在某些实施例中,所述区块链管理平台12可以包括但不限于bass平台。在某些实施例中,所述终端设备13包括但不限于手机、电脑等。
在一个实施例,所述终端设备13用于用户向区块链管理平台12发送创建区块链指令,以使区块链管理平台12在收到创建区块链指令时向区块链网络11发送端口探测指令。
在一个实施例中,所述区块链网络11是指用于进行节点与节点之间数据共享的网络,区块链网络中可以包括多个节点111。每个节点111在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护区块链网络内的共享数据(即区块链)。为了保证区块链网络内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer,P2P)通信,具体可以通过有线通信链路或无线通信链路进行P2P通信。例如,当区块链网络中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
区块链管理平台12可以接入该区块链网络11,并可以与区块链网络11中的节点进行通信,例如,向节点发送端口探测指令等。
需要说明的是,图1a中所示的节点的数目仅仅是示意性的,根据实际需要,可以部署任意数目的节点,区块链管理平台12可以与区块链网络11中的同一节点进行通信,也可以分别与区块链网络11中的不同节点进行通信。
其中,对于区块链网络11中的每个节点,均具有与其对应的节点标识,而且区块链网络11中的每个节点均可以存储有区块链网络中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链网络中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为互联网协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
其中,区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1b,图1b是本发明实施例提供的一种区块链的结构示意图。区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
其中,在生成区块链中的各个区块时,参见图1c,图1c是本发明实施例提供的一种产生新区块的过程示意图。区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链网络中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链网络中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
在一些可行的实施方式中,区块链网络11的某一节点111可以接收区块链管理平台12在收到创建区块链指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,并根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,以根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,从而向所述区块链管理平台12发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数。通过区块链管理平台12可以探测创建区块链的端口是否可用,利用可用的端口创建区块链,提高了创建的区块链的有效性。
下面结合附图对本发明实施例提供的创建区块链的方法进行示意性说明。
具体请参见图2,图2是本发明实施例提供的一种创建区块链的方法的流程示意图,本发明实施例的创建区块链的方法可以由创建区块链装置执行,其中,所述创建区块链装置设置于端口探测***中区块链网络的节点中,其中,所述端口探测***的具体解释如前所述。具体地,本发明实施例的所述方法包括如下步骤。
S201:接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息。
本发明实施例中,节点可以接收区块链管理平台在收到目标区块链创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,在某些实施例中,所述端口探测指令是由所述区块链管理平台向与所述目标区块链相关的各个节点发送的,目标节点是所述各个节点中的任意一个。在某些实施例中,所述端口段信息包括但不限于一个或多个端口段的信息;例如,所述端口探测命令携带的端口段信息为16000-17000;在某些实施例中,一个端口段中包括多个端口。在某些实施例中,所述区块链管理平台包括但不限于bass平台。
S202:根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态。
本发明实施例中,节点可以根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态。在某些实施例中,所述多个端口包括但不限于大于或等于4个端口。
在一个实施例中,节点在根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态时,可以通过所述区块链管理平台的代理进程向所述端口段信息对应的多个端口中的各个端口发送探测命令,以使所述各个端口响应所述探测命令探测各自的状态,并获取所述各个端口返回的各自的状态。在没某些实施例中,所述探测命令包括但不限于lsof命令。在某些实施例中,本发明实施例对所述区块链管理平台的代理进程向所述端口段信息对应的多个端口中的各个端口发送探测命令的顺序不做具体限定。
在一个实施例中,节点通过所述区块链管理平台的代理进程向所述端口段信息对应的多个端口中的各个端口发送探测命令时,当检测到所述多个端口中第一端口的状态为占用状态时,可以通过所述代理进程向所述第一端口的下一个端口发送所述探测命令,以使所述下一个端口响应所述探测命令探测自身的状态。在某些实施例中,所述代理进程包括但不限于A进程。
在一个示例中,假设第一端口为端口号为16000的端口,当检测到端口16000的状态为占用状态时,节点可以通过代理进程向所述端口16000的下一个端口16001发送lsof命令,以使所述下一个端口16001响应所述lsof指令探测16001自身的状态。
在一个实施例中,当检测到所述第一端口的状态为空闲状态时,节点可以将所述第一端口的端口号记录到目标端口集合中,并获取所述目标端口集合中记录的端口号的数量,以及根据所述目标端口集合中记录的端口号的数量,确定是否向所述第一端口的下一个端口发送所述探测命令。通过这种实施方式,可以确保目标端口集合中的端口均为处于空闲状态的可用端口,提高目标端口集合中端口的有效性,以及提高利用目标端口集合中的端口创建的区块链的有效性。
在一个示例中,假设第一端口为端口号为16000的端口,当检测到端口16000的状态为空闲状态时,节点可以将所述端口16000的端口号16000记录到目标端口集合中,并获取所述目标端口集合中记录的端口号的数量。
在一个实施例中,节点在根据所述目标端口集合中记录的端口号的数量,确定是否向所述第一端口的下一个端口发送所述探测命令时,可以检测所述目标端口集合中记录的端口号的数量是否小于指定数量,当检测结果为是时,向所述第一端口的下一个端口发送lsof命令,以使所述第一端口的下一个端口响应所述探测命令探测所述第一端口的下一个端口的状态,当检测结果为否时,停止向所述第一端口的下一个端口发送所述探测命令。在某些实施例中,所述指定数量为4。
在一个示例中,假设第一端口为端口号为16000的端口,当检测到端口16000的状态为空闲状态时,节点将所述端口16000的端口号16000记录到目标端口集合中,并获取所述目标端口集合中记录的端口号的数量,如果检测所述目标端口集合中记录的端口号的数量为3小于指定数量4,则可以向所述端口16000的下一个端口16001发送所述lsof命令,以使所述端口16000的下一个端口16001响应所述lsof命令探测所述端口16000的下一个端口16001的状态。
在一个示例中,假设第一端口为端口号为16000的端口,当检测到端口16000的状态为空闲状态时,节点将所述端口16000的端口号16000记录到目标端口集合中,并获取所述目标端口集合中记录的端口号的数量,如果检测到所述目标端口集合中记录的端口号的数量为4等于指定数量4,则可以停止向所述端口16000的下一个端口16001发送lsof命令。
可见,通过这种实施方式可以确保在获取到指定数量的空闲状态的端口时停止向其他端口发送探测命令,避免在探测到指定数量的处于空闲状态的端口后还在探测其他端口,造成资源浪费。
S203:根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口。
本发明实施例中,节点可以根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合。在某些实施例中,所述目标端口集合中包括指定数量的端口;在某些实施例中,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口,在某些实施例中,所述指定数量为4;在某些实施例中,所述目标端口集合中包括处于空闲状态的数据读写端口的端口号、数据库端口的端口号、共识端口的端口号和数据同步端口的端口号。
在某些实施例中,所述数据读写端口包括但不限于远程过程调用(RemoteProcedure Call,RPC)端口,所述数据库端口包括但不限于结构化查询语言(StructuredQuery Language,SQL)端口。在某些实施例中,所述数据读写端口是在区块链上读写数据所使用的端口;在某些实施例中,所述数据库端口是存储数据库所使用的端口;在某些实施例中,所述共识端口是区块链上各个节点进行共识的端口;在某些实施例中,所述数据同步端口是区块链上各节点进行数据同步所用的端口。
S204:向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数。
本发明实施例中,节点可以向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数。
在一个实施例中,节点可以向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台可以根据所述目标端口集合中处于空闲状态的端口生成用于创建区块链的配置参数。
S205:接收所述区块链管理平台发送的所述目标节点对应的配置参数。
本发明实施例中,节点可以接收所述区块链管理平台发送的所述目标节点对应的配置参数。在某些实施例中,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口。在某些实施例中,所述共识端口和数据同步端口的解释如前所述。在某些实施例中,所述端口的标识包括但不限于数字、字母、文字等字符,示例性的,所述端口的标识可以为端口号。
在某些实施例中,所述配置参数包括目标节点上指定数量的端口标识,所述目标节点上所述指定数量的端口的标识包括数据读写端口、数据库端口、共识端口和数据同步端口。
所述配置参数包括目标节点上指定数量的端口标识,有助于节点可以根据目标节点上指定数量的端口的标识创建目标区块链;所述配置参数还包括各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,有助于目标节点通过自身处于空闲状态的共识端口与其他节点中处于空闲状态的共识端口进行数据共识,以及有助于目标节点通过自身处于空闲状态的数据同步端口与其他节点中处于空闲状态的数据同步端口同步数据,同样也有助于其他各个节点之间通过处于空闲状态的共识端口进行数据共识,以及通过处于空闲状态的共识端口同步数据。
例如,节点接收到区块链管理平台发送的目标节点1对应的配置参数,假设该配置参数包括目标节点1上的4个端口的标识分别为数据读写端口的标识16000、数据库端口的标识16001、共识端口的标识16005、数据同步端口的标识16010,以及节点2上处于空闲状态的共识端口的端口的标识16030和处于空闲状态的数据同步端口的标识16060,则有助于目标节点1可以根据数据读写端口的标识16000、数据库端口的标识16001、共识端口的标识16005、数据同步端口的标识16010创建目标区块链,以及有助于目标节点1通过共识端口16005与节点2中处于空闲状态的共识端口16030进行数据共识,以及有助于目标节点1通过数据同步端口16010与节点2处于空闲状态的数据同步端口16060同步数据。
S206:利用所述配置参数创建所述目标区块链。
本发明实施例中,节点可以利用所述目标节点对应的配置参数创建所述目标区块链。
在一个实施例中,节点在利用所述配置参数创建所述目标区块链时,可以根据所述配置参数确定用于创建所述目标区块链的多个端口,并启动区块链进程,以及利用所述区块链进程和所述多个端口运行所述目标区块链。
例如,假设所述配置参数中包括4个端口号,分别为数据读写端口的端口号16000、数据库端口的端口号16010、共识端口的端口号16080、数据同步端口的端口号16120,节点可以根据所述配置参数中携带4个的端口号16000、16010、16080、16120,确定用于创建区块链的4个端口,以及启动区块链进程,并利用所述区块链进程和所述4个端口运行区块链。
本发明实施例中,节点通过接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,并根据所述端口探测指令携带的端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态,以及根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,从而向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数,通过接收区块链管理平台发送的目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,以利用所述配置参数创建所述目标区块链。通过这种实施方式,可以通过区块链管理平台探测出用于创建区块链的端口是否可用,并利用可用的端口创建区块链,从而提高创建的区块链的有效性。
具体请参见图3,图3是本发明实施例提供的另一种创建区块链的方法的流程示意图,本发明实施例的创建区块链的方法可以由创建区块链装置执行,其中,所述创建区块链装置设置于端口探测***中区块链管理平台中,具体地,本发明实施例的所述方法包括如下步骤。
S301:接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识。
本发明实施例中,区块链管理平台可以接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识。
在一个实施例中,所述区块链管理平台在接收用户提交的目标区块链的创建指令之前,需要先启动区块链管理平台,进行页面加载,以使用户可以通过区块链管理的页面提交目标区块链的创建指令。在某些实施例中,用户提交目标区块链的创建指令之前,可以通过区块链管理的页面选取创建目标区块链的节点的节点标识,有助于区块链网络根据创建指令中的节点标识,确定创建目标区块链的节点,有助于提高创建目标区块链的效率。
具体可以结合图4a和图4b为例进行说明,图4a是本发明实施例提供的一种启动区块链管理平台的示意图,图4b是本发明实施例提供的一种区块链管理平台的界面示意图。如图4a和图4b所示,用户可以通过对终端设备上的bass平台的图标41进行点选操作,以加载出如图4b所示的界面,用户可以通过点选选取创建目标区块链的节点的按钮42,以根据用户需求灵活选取创建目标区块链的节点,在用户确定创建目标区块链的节点后,可以通过确认按钮43生成目标区块链的创建指令,并将该目标区块链的创建指令发送给区块链网络中用户选取的各个节点,以使该各个节点创建目标区块链,也可以通过取消按钮44取消生成目标区块链的创建指令。通过用户指定创建目标区块链的节点,有助于提高创建目标区块链的效率。
S302:根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口。
本发明实施例中,区块链管理平台可以根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口。在某些实施例中,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口。
S303:接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数。
本发明实施例中,区块链管理平台可以接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数。
在一个实施例中,区块链管理平台在根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数之后,可以向所述各个节点发送各自对应的配置参数,以使得所述各个节点利用各自对应的配置参数创建区块链,所述配置参数包括所述各个节点的节点标识和端口号。
S304:向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。
本发明实施例中,区块链管理平台可以向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。在某些实施例中,所述配置参数包括目标节点上指定数量的端口标识,所述目标节点上所述指定数量的端口的标识包括数据读写端口、数据库端口、共识端口和数据同步端口。具体实施例举例如前所述,此处不再赘述。
可见,通过区块链管理平台向目标节点发送目标节点对应的配置参数,有助于目标节点根据目标节点上指定数量的端口的标识创建目标区块链;有助于目标节点通过自身处于空闲状态的共识端口与其他节点中处于空闲状态的共识端口进行数据共识,以及有助于目标节点通过自身处于空闲状态的数据同步端口与其他节点中处于空闲状态的数据同步端口同步数据,有助于其他各个节点之间通过处于空闲状态的共识端口进行数据共识,以及通过处于空闲状态的共识端口同步数据。
本发明实施例中,区块链管理平台可以接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识,并根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数,以及向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。通过这种实施方式,可以探测出用于创建区块链的端口是否可用,并利用探测出的可用端口创建区块链,从而提高创建的区块链的有效性。
请参见图5,图5是本发明实施例提供的一种创建区块链装置的结构示意图。具体的,所述装置设置于区块链网络中的节点中,所述装置包括:第一接收模块501、探测模块502、确定模块503、第一发送模块504、第二接收模块505、创建模块506;
第一接收模块501,用于接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,其中,所述端口探测指令是由所述区块链管理平台向与所述目标区块链相关的各个节点发送的,所述目标节点是所述各个节点中的任意一个;
探测模块502,用于根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态;
确定模块503,用于根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
第一发送模块504,用于向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数;
第二接收模块505,用于接收所述区块链管理平台发送的所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口;
创建模块506,用于利用所述配置参数创建所述目标区块链。
进一步地,所述探测模块502根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态时,具体用于:
通过所述区块链管理平台的代理进程向所述端口段信息对应的多个端口中的各个端口发送探测命令,以使所述各个端口响应所述探测命令探测各自的状态;
获取所述各个端口返回的各自的状态。
进一步地,所述探测模块502还用于:
当检测到所述多个端口中第一端口的状态为占用状态时,通过所述代理进程向所述第一端口的下一个端口发送所述探测命令,以使所述下一个端口响应所述探测命令探测自身的状态;
当检测到所述第一端口的状态为空闲状态时,将所述第一端口的端口号记录到目标端口集合中;
获取所述目标端口集合中记录的端口号的数量;
根据所述目标端口集合中记录的端口号的数量,确定是否向所述第一端口的下一个端口发送所述探测命令。
进一步地,所述探测模块502根据所述目标端口集合中记录的端口号的数量,确定是否向所述第一端口的下一个端口发送所述探测命令时,具体用于:
检测所述目标端口集合中记录的端口号的数量是否小于指定数量;
当检测结果为是时,向所述第一端口的下一个端口发送所述探测命令,以使所述第一端口的下一个端口响应所述探测命令探测所述第一端口的下一个端口的状态;
当检测结果为否时,停止向所述第一端口的下一个端口发送所述探测命令。
进一步地,所述创建模块506利用所述配置参数创建所述目标区块链时,具体用于:
根据所述配置参数确定用于创建所述目标区块链的多个端口;
启动区块链进程,并利用所述区块链进程和所述多个端口运行所述目标区块链。
本发明实施例,节点可以接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,并根据所述端口探测指令携带的端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态,以及根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,从而向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数,通过接收区块链管理平台发送的目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,以利用所述配置参数创建所述目标区块链。通过这种实施方式,可以通过区块链管理平台探测出用于创建区块链的端口是否可用,并利用可用的端口创建区块链,从而提高创建的区块链的有效性。
请参见图6,图6是本发明实施例提供的另一种创建区块链装置的结构示意图。具体的,所述装置设置于区块链管理平台中,所述装置包括:第三接收模块601、第二发送模块602、生成模块603以及第三发送模块604;
第三接收模块601,用于接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识;
第二发送模块602,用于根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
生成模块603,用于接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数;
第三发送模块604,用于向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。
进一步地,所述生成模块603根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数之后,还用于:
向所述各个节点发送各自对应的配置参数,以使得所述各个节点利用各自对应的配置参数创建区块链,所述配置参数包括所述各个节点的节点标识和端口号。
本发明实施例中,区块链管理平台可以接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识,并根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数,以及向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链。通过这种实施方式,可以探测出用于创建区块链的端口是否可用,并利用探测出的可用端口创建区块链,从而提高创建的区块链的有效性。
请参见图7,图7是本发明实施例提供的一种节点的结构示意图。具体的,所述节点包括:存储器701、处理器702。
在一种实施例中,所述节点还包括数据接口703,所述数据接口703,用于传递节点和其他设备之间的数据信息。
所述存储器701可以包括易失性存储器(volatile memory);存储器701也可以包括非易失性存储器(non-volatile memory);存储器701还可以包括上述种类的存储器的组合。所述处理器702可以是中央处理器(central processing unit,CPU)。所述处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA)或其任意组合。
所述存储器701用于存储程序,所述处理器702可以调用存储701中存储的程序,用于执行如下步骤:
接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,其中,所述端口探测指令是由所述区块链管理平台向与所述目标区块链相关的各个节点发送的,目标节点是所述各个节点中的任意一个;
根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态;
根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数;
接收所述区块链管理平台发送的所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口;
利用所述配置参数创建所述目标区块链。
进一步地,所述处理器702根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态时,具体用于:
通过所述区块链管理平台的代理进程向所述端口段信息对应的多个端口中的各个端口发送探测命令,以使所述各个端口响应所述探测命令探测各自的状态;
获取所述各个端口返回的各自的状态。
进一步地,所述处理器702还用于:
当检测到所述多个端口中第一端口的状态为占用状态时,通过所述代理进程向所述第一端口的下一个端口发送所述探测命令,以使所述下一个端口响应所述探测命令探测自身的状态;
当检测到所述第一端口的状态为空闲状态时,将所述第一端口的端口号记录到目标端口集合中;
获取所述目标端口集合中记录的端口号的数量;
根据所述目标端口集合中记录的端口号的数量,确定是否向所述第一端口的下一个端口发送所述探测命令。
进一步地,所述处理器702根据所述目标端口集合中记录的端口号的数量,确定是否向所述第一端口的下一个端口发送所述探测命令时,具体用于:
检测所述目标端口集合中记录的端口号的数量是否小于指定数量;
当检测结果为是时,向所述第一端口的下一个端口发送所述探测命令,以使所述第一端口的下一个端口响应所述探测命令探测所述第一端口的下一个端口的状态;
当检测结果为否时,停止向所述第一端口的下一个端口发送所述探测命令。
进一步地,所述处理器702利用所述配置参数创建所述目标区块链时,具体用于:
根据所述配置参数确定用于创建所述目标区块链的多个端口;
启动区块链进程,并利用所述区块链进程和所述多个端口运行所述目标区块链。
本发明实施例,节点通过接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,并根据所述端口探测指令携带的端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态,以及根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,从而向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数,通过接收区块链管理平台发送的目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,以利用所述配置参数创建所述目标区块链。通过这种实施方式,可以通过区块链管理平台探测出用于创建区块链的端口是否可用,并利用可用的端口创建区块链,从而提高创建的区块链的有效性。
请参见图8,图8是本发明实施例提供的一种区块链管理平台的结构示意图。具体的,所述区块链管理平台包括:存储器801、处理器802。
在一种实施例中,所述区块链管理平台还包括数据接口803,所述数据接口803,用于传递区块链管理平台和其他设备之间的数据信息。
所述存储器801可以包括易失性存储器(volatile memory);存储器801也可以包括非易失性存储器(non-volatile memory);存储器801还可以包括上述种类的存储器的组合。所述处理器802可以是中央处理器(central processing unit,CPU)。所述处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA)或其任意组合。
所述存储器801用于存储程序,所述处理器802可以调用存储801中存储的程序,用于执行如下步骤:
接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识;
根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数;
向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。
进一步地,所述处理器802根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数之后,还用于:
向所述各个节点发送各自对应的配置参数,以使得所述各个节点利用各自对应的配置参数创建区块链,所述配置参数包括所述各个节点的节点标识和端口号。
本发明实施例中,区块链管理平台可以接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识,并根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数,以及向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链。通过这种实施方式,可以探测出用于创建区块链的端口是否可用,并利用探测出的可用端口创建区块链,从而提高创建的区块链的有效性。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明图2或图3所对应实施例中描述的方法,也可实现图5或图6所述本发明所对应实施例的装置,在此不再赘述。
所述计算机可读存储介质可以是前述任一实施例所述的设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(SecureDigital, SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种创建区块链的方法,其特征在于,应用于区块链网络的目标节点,所述方法包括:
接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,其中,所述端口探测指令是由所述区块链管理平台向与所述目标区块链相关的各个节点发送的,所述目标节点是所述各个节点中的任意一个;
根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态;
根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数;
接收所述区块链管理平台发送的所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口;
利用所述配置参数创建所述目标区块链。
2.根据权利要求1所述的方法,其特征在于,所述根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,包括:
通过所述区块链管理平台的代理进程向所述端口段信息对应的多个端口中的各个端口发送探测命令,以使所述各个端口响应所述探测命令探测各自的状态;
获取所述各个端口返回的各自的状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当检测到所述多个端口中第一端口的状态为占用状态时,通过所述代理进程向所述第一端口的下一个端口发送所述探测命令,以使所述下一个端口响应所述探测命令探测自身的状态;
当检测到所述第一端口的状态为空闲状态时,将所述第一端口的端口号记录到目标端口集合中;
获取所述目标端口集合中记录的端口号的数量;
根据所述目标端口集合中记录的端口号的数量,确定是否向所述第一端口的下一个端口发送所述探测命令。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标端口集合中记录的端口号的数量,确定是否向所述第一端口的下一个端口发送所述探测命令,包括:
检测所述目标端口集合中记录的端口号的数量是否小于指定数量;
当检测结果为是时,向所述第一端口的下一个端口发送所述探测命令,以使所述第一端口的下一个端口响应所述探测命令探测所述第一端口的下一个端口的状态;
当检测结果为否时,停止向所述第一端口的下一个端口发送所述探测命令。
5.根据权利要求1所述的方法,其特征在于,所述利用所述配置参数创建所述目标区块链,包括:
根据所述配置参数确定用于创建所述目标区块链的多个端口;
启动区块链进程,并利用所述区块链进程和所述多个端口运行所述目标区块链。
6.一种创建区块链的方法,其特征在于,应用于区块链管理平台,所述方法包括:
接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识;
根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数;
向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数之后,还包括:
向所述各个节点发送各自对应的配置参数,以使得所述各个节点利用各自对应的配置参数创建区块链,所述配置参数包括所述各个节点的节点标识和端口号。
8.一种创建区块链装置,其特征在于,设置于区块链网络的目标节点中,所述装置包括:
第一接收模块,用于接收区块链管理平台在收到目标区块链的创建指令时,发送的端口探测指令,所述端口探测指令携带了端口段信息,其中,所述端口探测指令是由所述区块链管理平台向与所述目标区块链相关的各个节点发送的,所述目标节点是所述各个节点中的任意一个;
探测模块,用于根据所述端口段信息探测所述端口段信息对应的多个端口中各个端口的状态,所述状态包括空闲状态或占用状态;
确定模块,用于根据所述各个端口的状态确定所述多个端口中处于空闲状态的目标端口集合,所述目标端口集合中包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
第一发送模块,用于向所述区块链管理平台发送所述目标端口集合,以使得所述区块链管理平台根据所述目标端口集合生成用于创建区块链的配置参数;
第二接收模块,用于接收所述区块链管理平台发送的所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口;
创建模块,用于利用所述配置参数创建所述目标区块链。
9.一种创建区块链装置,其特征在于,设置于区块链管理平台中,所述装置包括:
第三接收模块,用于接收用户提交的目标区块链的创建指令,所述创建指令包括与所述目标区块链相关的各个节点的节点标识;
第二发送模块,用于根据所述各个节点的节点标识向所述各个节点发送端口探测指令,所述端口探测指令携带了端口段信息,所述端口探测指令用于指示所述各个节点探测所述端口段信息对应的多个端口中处于空闲状态的目标端口集合,所述目标端口集合包括指定数量的端口,所述端口的类型包括数据读写端口、数据库端口、共识端口和数据同步端口;
生成模块,用于接收所述各个节点发送的所述目标端口集合,并根据所述目标端口集合生成所述各个节点对应的用于创建区块链的配置参数;
第三发送模块,用于向目标节点发送所述目标节点对应的配置参数,所述配置参数包括所述目标节点上所述指定数量的端口的标识以及所述各个节点中其他节点上处于空闲状态的指定类型的端口的标识,所述指定类型包括共识端口和数据同步端口,以使所述目标节点利用所述配置参数创建所述目标区块链,所述目标节点是所述各个节点中的任意一个。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有程序指令,该程序指令被执行时,用于实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010249539.6A CN111464395B (zh) | 2020-03-31 | 2020-03-31 | 一种创建区块链的方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010249539.6A CN111464395B (zh) | 2020-03-31 | 2020-03-31 | 一种创建区块链的方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464395A CN111464395A (zh) | 2020-07-28 |
CN111464395B true CN111464395B (zh) | 2023-06-09 |
Family
ID=71681166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010249539.6A Active CN111464395B (zh) | 2020-03-31 | 2020-03-31 | 一种创建区块链的方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464395B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923031A (zh) * | 2021-10-12 | 2022-01-11 | 百果园技术(新加坡)有限公司 | 一种数据传输的方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019062304A1 (zh) * | 2017-09-26 | 2019-04-04 | 上海点融信息科技有限责任公司 | 用于管理区块链节点的计算资源的方法、设备和*** |
CN110474774A (zh) * | 2018-05-09 | 2019-11-19 | 三星Sds株式会社 | 基于区块链的***中的区块创建方法及区块链节点 |
CN110516007A (zh) * | 2019-08-30 | 2019-11-29 | 北京百度网讯科技有限公司 | 一种区块链网络的部署控制方法、装置、设备和介质 |
WO2020035094A2 (en) * | 2019-11-19 | 2020-02-20 | Alipay (Hangzhou) Information Technology Co., Ltd. | System and method for consensus management |
CN110855791A (zh) * | 2019-11-18 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种区块链节点部署方法及相关设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10592979B2 (en) * | 2017-07-26 | 2020-03-17 | International Business Machines Corporation | Managing blockchain transactions |
US11334439B2 (en) * | 2018-08-29 | 2022-05-17 | International Business Machines Corporation | Checkpointing for increasing efficiency of a blockchain |
-
2020
- 2020-03-31 CN CN202010249539.6A patent/CN111464395B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019062304A1 (zh) * | 2017-09-26 | 2019-04-04 | 上海点融信息科技有限责任公司 | 用于管理区块链节点的计算资源的方法、设备和*** |
CN110474774A (zh) * | 2018-05-09 | 2019-11-19 | 三星Sds株式会社 | 基于区块链的***中的区块创建方法及区块链节点 |
CN110516007A (zh) * | 2019-08-30 | 2019-11-29 | 北京百度网讯科技有限公司 | 一种区块链网络的部署控制方法、装置、设备和介质 |
CN110855791A (zh) * | 2019-11-18 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种区块链节点部署方法及相关设备 |
WO2020035094A2 (en) * | 2019-11-19 | 2020-02-20 | Alipay (Hangzhou) Information Technology Co., Ltd. | System and method for consensus management |
Non-Patent Citations (1)
Title |
---|
区块链的安全检测模型;叶聪聪;李国强;蔡鸿明;顾永跟;;软件学报(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111464395A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597918B (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
EP3800589A1 (en) | Task processing method and apparatus | |
US11191111B2 (en) | Bluetooth connection establishment method, device and system | |
CN111756674A (zh) | 网络通信方法、***、设备及计算机可读存储介质 | |
CN112988317B (zh) | 多模式云桌面管控方法、装置 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN111464395B (zh) | 一种创建区块链的方法、装置及可读存储介质 | |
CN111756829A (zh) | 账本数据同步方法、装置、设备和存储介质 | |
WO2020029588A1 (zh) | 数据读取方法、装置及***、分布式*** | |
CN112600703B (zh) | 网络设备远程访问故障定位方法及装置 | |
US10200864B2 (en) | Method and device for managing wireless access point | |
CN113791792A (zh) | 应用调用信息的获取方法、设备以及存储介质 | |
CN114640657A (zh) | 多注册中心的融合方法、装置 | |
CN110888892A (zh) | 一种区块同步方法、装置及存储介质 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN111259376A (zh) | 权限配置方法、装置、服务器及存储介质 | |
JP2005534099A (ja) | データベースの同期 | |
CN113992739B (zh) | 一种局域网ota固件升级装置、方法及*** | |
CN112149951B (zh) | 风险控制方法、装置、计算机设备和存储介质 | |
CN111314151B (zh) | 节点管理方法、装置、电子设备及计算机可读存储介质 | |
CN114880717A (zh) | 数据归档方法及装置 | |
KR102077093B1 (ko) | 사용자 단말기로부터 수신되는 이미지를 다른 사용자 단말기에 공유하기 위한 장치 및 방법 | |
CN111324368B (zh) | 一种数据共享方法及服务器 | |
CN112306962B (zh) | 计算机集群***中的文件拷贝方法、装置及存储介质 | |
CN112766486A (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 |