CN109165304A - 区块链的构造方法、介质及*** - Google Patents
区块链的构造方法、介质及*** Download PDFInfo
- Publication number
- CN109165304A CN109165304A CN201810713792.5A CN201810713792A CN109165304A CN 109165304 A CN109165304 A CN 109165304A CN 201810713792 A CN201810713792 A CN 201810713792A CN 109165304 A CN109165304 A CN 109165304A
- Authority
- CN
- China
- Prior art keywords
- node
- main chain
- network
- functional
- function
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种区块链的构造方法,包括配置初始连接文件;在初始主链节点启动后,创建创世区块,根据初始连接文件建立初始主链节点与初始功能节点之间的连接,以及配置该初始功能节点所对应的功能网络名称;通过本地节点配置待连入的主链节点地址集,以构造主链网络;通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集,将待连入的功能节点连接到相应的功能网络,以及将待连入的功能节点连接到相应的主链节点;本发明还公开了一种计算机可读存储介质和区块链的构造***,可以实现对节点功能的划分,减少整个区块链网络需要传输的数据量,减轻区块链网络的负担,同时,明确节点功能,减轻各节点负担。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种区块链的构造方法、介质及***。
背景技术
区块链,是由节点参与的P2P分布式数据库***,它的特点是不可篡改已写入区块链的数据。在现有的区块链构造技术中,多采用单链的形式进行操作的记录、广播以及区块的生成、链接;也就是说,当节点产生操作时,将操作文件进行广播,以在整个区块链网络中对操作文件进行同步,并在达到条件之后生成区块,并将区块文件进行广播,以将区块文件在整个区块链网络中进行同步。
通过这种方式构造的区块链网络,整个区块链网络需要传输的数据量大,网络负担高,导致各节点的高负荷,并且,区块链文件的同步效率低下。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种区块链的构造方法,能够实现对节点功能的划分,减少整个区块链网络需要传输的数据量,从而减轻区块链网络的负担,同时,明确节点功能,减轻各节点负担。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种区块链的构造***。
为达到上述目的,本发明第一方面实施例提出了一种区块链的构造方法,包括以下步骤:通过本地节点配置初始连接文件,其中,所述初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址;在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据所述初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立所述初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据所述初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称;通过本地节点配置待连入的主链节点地址集,并在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络;通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集,并在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点。
根据本发明实施例的区块链的构造方法,首先,通过本地节点配置初始连接文件,其中,初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址;接着,在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称;然后,通过本地节点配置待连入的主链节点地址集,并在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络;接着,通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集,并在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点;从而实现对节点功能的划分,减少整个区块链网络需要传输的数据量,减轻区块链网络的负担,同时,明确节点功能,减轻各节点负担。
另外,根据本发明上述实施例提出的区块链的构造方法还可以具有如下附加的技术特征:
可选地,所述功能网络中的任意一个功能节点进行操作时,该功能节点遍历自身已连接的节点,其中,当遍历到已连接的节点为主链节点时,跳过主链节点;当遍历到已连接的节点为功能节点时,向已连接的功能节点传递操作信息,以使功能网络中每个功能节点收到操作信息并记录,直至时间线达到时通过功能网络中的上传节点将操作信息打包上传至主链网络。
可选地,所述功能网络中的上传节点通过dpos共识机制确定,并随机分布在功能网络中。
可选地,所述主链网络中的任意一个主链节点获取对应的功能网络中上传节点上传的阶段操作集合包,并将所述阶段操作集合包在所述主链网络内进行广播,以及在预设时间后,通过主链共识机制确定的主链生产节点将所述主链网络内的阶段操作集合包和所述主链网络内的主链节点的操作打包为区块,并将所述区块链入主链区块链。
可选地,所述主链网络中的任意一个主链节点发起对一个特定功能网络的操作时,该主链节点遍历自身连接的节点,其中,当遍历到自身连接的节点为其他主链节点时,传递信息至其他主链节点,以便其他主链节点遍历自身连接的节点为特定功能网络的节点时将接收到的信息下发到特定功能网络内进行广播;当遍历到自身连接的节点为特定功能网络的节点时,直接传递信息至该特定功能网络的节点,以使该特定功能网络的节点将接收到的信息在特定功能网络内进行广播;当遍历到自身连接的节点为其他功能网络的节点时,禁止传递消息至其他功能网络的节点。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有区块链的构造程序,该区块链的构造程序被处理器执行时实现如上述的区块链的构造方法。
为达到上述目的,本发明第三方面实施例提出了一种区块链的构造***,包括配置模块、第一构造模块、第二构造模块和第三构造模块,其中,所述配置模块用于通过本地节点配置初始连接文件,其中,所述初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址;所述第一构造模块用于在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据所述初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立所述初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据所述初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称;所述配置模块还用于通过本地节点配置待连入的主链节点地址集;所述第二构造模块用于在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络;所述配置模块还用于通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集;所述第三构造模块用于在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点。
根据本发明实施例的区块链的构造***,包括配置模块、第一构造模块、第二构造模块和第三构造模块,首先,配置模块通过本地节点配置初始连接文件,其中,初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址;接着,第一构造模块在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称;然后,配置模块还通过本地节点配置待连入的主链节点地址集;接着,第二构造模块在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络;然后,配置模块还通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集;接着,第三构造模块在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点;从而实现对节点功能的划分,减少整个区块链网络需要传输的数据量,减轻区块链网络的负担,同时,明确节点功能,减轻各节点负担。
另外,根据本发明上述实施例提出的区块链的构造***还可以具有如下附加的技术特征:
可选地,所述功能网络中的任意一个功能节点进行操作时,该功能节点遍历自身已连接的节点,其中,当遍历到已连接的节点为主链节点时,跳过主链节点;当遍历到已连接的节点为功能节点时,向已连接的功能节点传递操作信息,以使功能网络中每个功能节点收到操作信息并记录,直至时间线达到时通过功能网络中的上传节点将操作信息打包上传至主链网络。
可选地,所述主链网络中的任意一个主链节点获取对应的功能网络中上传节点上传的阶段操作集合包,并将所述阶段操作集合包在所述主链网络内进行广播,以及在预设时间后,通过主链共识机制确定的主链生产节点将所述主链网络内的阶段操作集合包和所述主链网络内的主链节点的操作打包为区块,并将所述区块链入主链区块链。
可选地,所述主链网络中的任意一个主链节点发起对一个特定功能网络的操作时,该主链节点遍历自身连接的节点,其中,当遍历到自身连接的节点为其他主链节点时,传递信息至其他主链节点,以便其他主链节点遍历自身连接的节点为特定功能网络的节点时将接收到的信息下发到特定功能网络内进行广播;当遍历到自身连接的节点为特定功能网络的节点时,直接传递信息至该特定功能网络的节点,以使该特定功能网络的节点将接收到的信息在特定功能网络内进行广播;当遍历到自身连接的节点为其他功能网络的节点时,禁止传递消息至其他功能网络的节点。
附图说明
图1为根据本发明实施例的区块链的构造方法的流程示意图;
图2为根据本发明实施例的功能网络节点上传操作信息的流程示意图;
图3为根据本发明实施例的主链网络对特定功能网络进行操作的流程示意图;
图4为根据本发明实施例的区块链的构造***的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在现有的区块链构造技术中,多采用单链的形式进行区块链的构造,通过这种构造方式构造的区块链,其区块链网络需要传输的数据量大,网络负担高,且各节点高负荷,区块链文件同步效率低下;本发明实施例提供的区块链的构造方法,首先,通过本地节点配置初始连接文件,以根据初始连接文件配置初始区块链网络,接着,通过在本地节点配置主链节点地址集,并根据主链节点地址集构造主链网络,然后,在本地节点配置功能节点地址集和功能节点对应的主链节点地址集,并根据功能节点地址集和功能节点对应的主链节点地址集构造功能网络以及功能网络与主链网络的连接;从而实现对节点功能的划分,减少整个区块链网络需要传输的数据量,减轻区块链网络的负担,同时,明确节点功能,减轻各节点负担。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为本发明实施例提出的中区块链的构造方法的流程示意图,如图1所示,该区块链的构造方法包括以下步骤:
S101,通过本地节点配置初始连接文件,其中,初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址。
作为一种示例,通过本地节点配置初始连接文件,其中,初始连接文件是以键值对形式存储待连入的初始功能节点所对应的功能信息和初始功能节点地址的文件;也就是说,以键值对的形式建立初始功能节点的功能信息和初始功能节点地址的对应关系。
S102,在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称。
也就是说,初始连接文件配置完成之后,启动初始主链节点,并通过本地节点创建创世区块,以及在待连入的初始功能节点启动后,根据初始连接文件中的初始功能节点的初始功能节点地址建立初始主链节点与该初始功能节点之间的连接,然后,根据初始连接文件中该初始功能节点的功能信息配置该待连入的初始功能节点所对应的功能网络名称。
其中,功能节点指的是启动了功能客户端的节点;例如,启动了区块链社区功能的客户端节点为社区节点;启动了区块链游戏功能的客户端节点为游戏节点。
其中,初始功能节点的数量可以是一个,也可以是多个;数量可根据待构造区块链所涉及的功能进行确定;因此,在此不对初始功能节点的数量进行限制。
S103,通过本地节点配置待连入的主链节点地址集,并在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络。
也就是说,首先,通过本地节点配置待连入的主链节点地址集,接着,启动待连入的主链节点对应的主链客户端,然后,根据待连入的主链节点地址集将启动了主链客户端的待连入的主链节点连接到相应的主链节点,以构造主链网络。
其中,待连入的主链节点地址集包括但不限于待连入的主链节点地址及其对应的主链节点地址。也就是说,该待连入的主链节点地址集既包括新加入的主链节点的节点地址,也包括该新加入的主链节点待连入的主链节点的节点地址。
S104,通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集,并在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点。
也就是说,首先,配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集,然后,启动功能客户端,并根据待连入的功能节点地址集将新的功能节点加入到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集建立新加入的功能节点与对应的主链节点的连接,以使得新的功能节点加入主链网络。
根据本发明实施例的区块链的构造方法,首先,通过本地节点配置初始连接文件,其中,初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址;接着,在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称;然后,通过本地节点配置待连入的主链节点地址集,并在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络;接着,通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集,并在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点;从而实现对节点功能的划分,减少整个区块链网络需要传输的数据量,减轻区块链网络的负担,同时,明确节点功能,减轻各节点负担。
为了进一步提升区块链网络的数据处理效率,减轻区块链网络的节点负担;如图2所示,在一些实施例中,本发明实施例提供的区块链的构造方法还包括以下步骤:
S201,功能网络中的任意一个功能节点进行操作时,该功能节点遍历自身已连接的节点;当遍历到已连接的节点为主链节点时,执行步骤S202;当遍历到已连接的节点为功能节点时,执行步骤S203。
也就是说,当功能节点产生操作时,通过遍历自身已连接的节点,判断已连接的节点是主链节点或是功能节点,以进行不同的操作。
S202,跳过主链节点,(也就是说,不传递该操作信息。)
也就是说,当遍历到已连接的节点为主链节点时,不传递该操作信息,直接跳过主链节点,如此,使得操作信息不会在主链网络中广播。
S203,向已连接的功能节点传递操作信息,以使功能网络中每个功能节点收到操作信息并记录,直至时间线达到时通过功能网络中的上传节点将操作信息打包上传至主链网络。
也就是说,当遍历到已连接的节点为功能节点时,向已连接的功能节点传递操作信息,以使功能网络中每个功能节点收到操作信息并记录;并在时间线达到时通过功能网络中的上传节点将操作信息打包上传至主链网络;如此,通过功能网络对网络内产生的操作进行广播和记录,并在预设的时间到达之后将该时间段内的操作信息进行打包上传给主链网络,可减轻主链节点存储及运算的负担。
其中,功能网络的上传节点的确定方式有多种,例如,通过POW共识机制、POS共识机制或者PBFT共识机制进行上传节点的确定。
作为一种示例,通过dpos共识机制进行上传节点的确定,具体地,即有功能网络内各用户通过其对应的功能节点进行投票,从而选举出作为上传节点的功能节点,并对选举出的上传节点进行随机排序,以该排序进行上传节点上传操作信息的安排。
S204,主链网络中的任意一个主链节点获取对应的功能网络中上传节点上传的阶段操作集合包,并将阶段操作集合包在主链网络内进行广播。
S205,在预设时间后,通过主链共识机制确定的主链生产节点将主链网络内的阶段操作集合包和主链网络内的主链节点的操作打包为区块,并将区块链入主链区块链。
其中,操作集合包指的是上传节点打包的预设时间线内的操作信息。
也就是说,当主链网络中的任意一个主链节点获取到功能网络中上传节点上传的阶段操作集合包后,将该阶段操作集合包在主链网络内进行广播,以使得该阶段操作集合包在主链网络中进行同步,然后,在预设的时间后,通过主链共识机制确定的主链生产节点将主链网络内的节点操作集合包和主链节点的操作打包为区块,并将该区块链入主链区块链。
综上所述,本发明实施例提供的区块链的构造方法,在功能网络产生操作之后,通过遍历自身已连接的节点,并判断已连接的节点是主链节点,或是功能节点;以及在判断结果为主链节点时,不传递该操作信息,在判断结果为功能节点时,传递该操作信息,以使得操作信息在功能网络中进行同步;然后,在达到预设的时间线之后由共识的上传节点对操作信息进行打包并上传至主链网络;接着,主链网络中的主链节点在获取到功能节点上传的阶段操作集合包之后,在主链网络中广播,并在预设时间达到之后,对阶段操作集合包以及主链内操作进行打包形成区块,以及将区块链入主链区块链;从而实现各节点职能的分化,减轻各节点负担和冗余。
为了实现主链网络对功能网络的控制,并在主链网络控制特定功能网络的过程中不影响其他功能网络的正常运行;如图3所示,在一些实施例中,本发明提供的区块链的构造方法还包括以下步骤:
S301,主链网络中的任意一个主链节点发起对一个特定功能网络的操作时,该主链节点遍历自身连接的节点;当遍历到自身连接的节点为其他主链节点时,执行步骤S302;当遍历到自身连接的节点为特定功能网络的节点时,执行步骤S303;当遍历到自身连接的节点为其他功能网络的节点时,执行步骤S304。
也就是说,主链网络中的任意一个主链节点发起对一个特定功能网络的操作时,首先遍历自身连接的节点,以区分自身连接的节点是特定功能网络节点、主链节点或者是其他功能网络的节点,以进行不同的操作。
其中,特定功能网络的确定可以有多种,例如,对每个功能网络进行编号,并在发起对特定功能网络的操作时,在操作消息中附加如该特定功能网络对应的编号。
作为一种示例,当主链发起对特定功能网络的操作时,在操作信息的操作消息头对每个功能网络设置二值标识符号,用1表示传递操作信息,用0表示不传递操作信息,以确定需要进行操作信息传递的特定功能网络。
S302,传递信息至其他主链节点,以便其他主链节点遍历自身连接的节点为特定功能网络的节点时将接收到的信息下发到特定功能网络内进行广播。
也就是说,当遍历到的自身已连接的节点为主链节点时,将操作消息进行传递,以便其他主链节点遍历自身连接的节点为特定功能网络的节点时将接收到的信息下发到特定功能网络内进行广播。
S303,直接传递信息至该特定功能网络的节点,以使该特定功能网络的节点将接收到的信息在特定功能网络内进行广播。
也就是说,当遍历到的自身已连接的节点为特定功能网络的节点时,将操作消息进行传递,以使该特定功能网络的节点将接收到的信息在特定功能网络内进行广播。
S304,禁止传递消息至其他功能网络的节点。
也就是说,当遍历到的自身已连接的节点为其他功能网络的节点时,不进行操作信息的传递,以防止操作信息对其他功能网络的正常运行造成影响。
综上所述,本发明实施例提供的区块链的构造方法,首先,当主链发起对特定功能网络的操作时,遍历自身已连接的节点;以判断自身已连接的节点属性;然后,在判断结果为主链节点时,传递操作信息,以便其他主链节点遍历自身已连接节点进行操作信息的发布;当判断结果为特定功能网络的节点时,传递操作信息,以使得该特定功能网络的节点对操作信息进行广播,在特定功能网络中对操作信息进行同步;当判断结果为其他功能网络的节点时,不传递该操作信息,以避免该操作信息影响其他功能网络的正常运行;从而实现各节点的职能分化,使得各节点功能单一化,减轻各节点负担和数据冗余。
为实现上述实施例,本发明实施例还提供了一种计算机可读存储介质,其上存储有区块链的构造程序,该区块链的构造程序被处理器执行时实现如上述的区块链的构造方法。
图4为本发明实施例提供的一种区块链的构造***的方框示意图,如图4所示,该区块链的构造***包括:配置模块10、第一构造模块20、第二构造模块30和第三构造模块40。
其中,配置模块10,用于通过本地节点配置初始连接文件,其中,所述初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址。
第一构造模块20,用于在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据所述初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立所述初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据所述初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称。
配置模块10,还用于通过本地节点配置待连入的主链节点地址集。
第二构造模块30,用于在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络。
配置模块10,还用于通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集。
第三构造模块40,用于在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点。
根据本发明实施例的区块链的构造***,包括配置模块、第一构造模块、第二构造模块和第三构造模块,首先,配置模块通过本地节点配置初始连接文件,其中,初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址;接着,第一构造模块在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称;然后,配置模块还通过本地节点配置待连入的主链节点地址集;接着,第二构造模块在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络;然后,配置模块还通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集;接着,第三构造模块在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点;从而实现对节点功能的划分,减少整个区块链网络需要传输的数据量,减轻区块链网络的负担,同时,明确节点功能,减轻各节点负担。
在一些实施例中,功能网络中的任意一个功能节点进行操作时,该功能节点遍历自身已连接的节点,其中,当遍历到已连接的节点为主链节点时,跳过主链节点;当遍历到已连接的节点为功能节点时,向已连接的功能节点传递操作信息,以使功能网络中每个功能节点收到操作信息并记录,直至时间线达到时通过功能网络中的上传节点将操作信息打包上传至主链网络。
在一些实施例中,主链网络中的任意一个主链节点获取对应的功能网络中上传节点上传的阶段操作集合包,并将阶段操作集合包在主链网络内进行广播,以及在预设时间后,通过主链共识机制确定的主链生产节点将主链网络内的阶段操作集合包和主链网络内的主链节点的操作打包为区块,并将区块链入主链区块链。
在一些实施例中,主链网络中的任意一个主链节点发起对一个特定功能网络的操作时,该主链节点遍历自身连接的节点,其中,当遍历到自身连接的节点为其他主链节点时,传递信息至其他主链节点,以便其他主链节点遍历自身连接的节点为特定功能网络的节点时将接收到的信息下发到特定功能网络内进行广播;当遍历到自身连接的节点为特定功能网络的节点时,直接传递信息至该特定功能网络的节点,以使该特定功能网络的节点将接收到的信息在特定功能网络内进行广播;当遍历到自身连接的节点为其他功能网络的节点时,禁止传递消息至其他功能网络的节点。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征 “上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种区块链的构造方法,其特征在于,包括以下步骤:
通过本地节点配置初始连接文件,其中,所述初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址;
在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据所述初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立所述初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据所述初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称;
通过本地节点配置待连入的主链节点地址集,并在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络;
通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集,并在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点。
2.如权利要求1所述的区块链的构造方法,其特征在于,所述功能网络中的任意一个功能节点进行操作时,该功能节点遍历自身已连接的节点,其中,
当遍历到已连接的节点为主链节点时,跳过主链节点;
当遍历到已连接的节点为功能节点时,向已连接的功能节点传递操作信息,以使功能网络中每个功能节点收到操作信息并记录,直至时间线达到时通过功能网络中的上传节点将操作信息打包上传至主链网络。
3.如权利要求2所述的区块链的构造方法,其特征在于,所述功能网络中的上传节点通过dpos共识机制确定,并随机分布在功能网络中。
4.如权利要求1-3中任一项所述的区块链的构造方法,其特征在于,所述主链网络中的任意一个主链节点获取对应的功能网络中上传节点上传的阶段操作集合包,并将所述阶段操作集合包在所述主链网络内进行广播,以及在预设时间后,通过主链共识机制确定的主链生产节点将所述主链网络内的阶段操作集合包和所述主链网络内的主链节点的操作打包为区块,并将所述区块链入主链区块链。
5.如权利要求1-3中任一项所述的区块链的构造方法,其特征在于,所述主链网络中的任意一个主链节点发起对一个特定功能网络的操作时,该主链节点遍历自身连接的节点,其中,
当遍历到自身连接的节点为其他主链节点时,传递信息至其他主链节点,以便其他主链节点遍历自身连接的节点为特定功能网络的节点时将接收到的信息下发到特定功能网络内进行广播;
当遍历到自身连接的节点为特定功能网络的节点时,直接传递信息至该特定功能网络的节点,以使该特定功能网络的节点将接收到的信息在特定功能网络内进行广播;
当遍历到自身连接的节点为其他功能网络的节点时,禁止传递消息至其他功能网络的节点。
6.一种计算机可读存储介质,其特征在于,其上存储有区块链的构造程序,该区块链的构造程序被处理器执行时实现如权利要求1-5中任一项所述的区块链的构造方法。
7.一种区块链的构造***,其特征在于,包括配置模块、第一构造模块、第二构造模块和第三构造模块,其中,
所述配置模块用于通过本地节点配置初始连接文件,其中,所述初始连接文件包括至少一个待连入的初始功能节点所对应的功能信息和初始功能节点地址;
所述第一构造模块用于在初始主链节点启动后,通过本地节点创建创世区块,并在待连入的至少一个初始功能节点启动后,根据所述初始连接文件中该待连入的至少一个初始功能节点的初始功能节点地址建立所述初始主链节点与该待连入的至少一个初始功能节点之间的连接,以及根据所述初始连接文件中该待连入的至少一个初始功能节点的功能信息配置该待连入的至少一个初始功能节点所对应的功能网络名称;
所述配置模块还用于通过本地节点配置待连入的主链节点地址集;
所述第二构造模块用于在待连入的主链节点所对应的主链客户端启动后,根据待连入的主链节点地址集将待连入的主链节点连接到相应的主链节点,以构造主链网络;
所述配置模块还用于通过本地节点配置待连入的功能节点地址集和待连入的功能节点所对应的主链节点地址集;
所述第三构造模块用于在待连入的功能节点所对应的功能客户端启动后,根据待连入的功能节点地址集将待连入的功能节点连接到相应的功能网络,以及根据待连入的功能节点所对应的主链节点地址集将待连入的功能节点连接到相应的主链节点。
8.如权利要求7所述的区块链的构造***,其特征在于,所述功能网络中的任意一个功能节点进行操作时,该功能节点遍历自身已连接的节点,其中,
当遍历到已连接的节点为主链节点时,跳过主链节点;
当遍历到已连接的节点为功能节点时,向已连接的功能节点传递操作信息,以使功能网络中每个功能节点收到操作信息并记录,直至时间线达到时通过功能网络中的上传节点将操作信息打包上传至主链网络。
9.如权利要求8所述的区块链的构造***,其特征在于,所述主链网络中的任意一个主链节点获取对应的功能网络中上传节点上传的阶段操作集合包,并将所述阶段操作集合包在所述主链网络内进行广播,以及在预设时间后,通过主链共识机制确定的主链生产节点将所述主链网络内的阶段操作集合包和所述主链网络内的主链节点的操作打包为区块,并将所述区块链入主链区块链。
10.如权利要求7-9中任一项所述的区块链的构造***,其特征在于,所述主链网络中的任意一个主链节点发起对一个特定功能网络的操作时,该主链节点遍历自身连接的节点,其中,
当遍历到自身连接的节点为其他主链节点时,传递信息至其他主链节点,以便其他主链节点遍历自身连接的节点为特定功能网络的节点时将接收到的信息下发到特定功能网络内进行广播;
当遍历到自身连接的节点为特定功能网络的节点时,直接传递信息至该特定功能网络的节点,以使该特定功能网络的节点将接收到的信息在特定功能网络内进行广播;
当遍历到自身连接的节点为其他功能网络的节点时,禁止传递消息至其他功能网络的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810713792.5A CN109165304B (zh) | 2018-07-03 | 2018-07-03 | 区块链的构造方法、介质及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810713792.5A CN109165304B (zh) | 2018-07-03 | 2018-07-03 | 区块链的构造方法、介质及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109165304A true CN109165304A (zh) | 2019-01-08 |
CN109165304B CN109165304B (zh) | 2020-08-14 |
Family
ID=64897244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810713792.5A Active CN109165304B (zh) | 2018-07-03 | 2018-07-03 | 区块链的构造方法、介质及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165304B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110308962A (zh) * | 2019-07-04 | 2019-10-08 | 明链科技(深圳)有限公司 | 管理区块链网络的方法、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及*** |
CN107079058A (zh) * | 2016-12-23 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 区块链节点的业务执行方法、装置及节点设备 |
CN107682308A (zh) * | 2017-08-16 | 2018-02-09 | 北京航空航天大学 | 基于区块链潜信道技术的电子证据保存*** |
CN107995120A (zh) * | 2016-11-22 | 2018-05-04 | 南京银链信息科技有限公司 | 构造多区块链的方法及多区块链*** |
-
2018
- 2018-07-03 CN CN201810713792.5A patent/CN109165304B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及*** |
CN107995120A (zh) * | 2016-11-22 | 2018-05-04 | 南京银链信息科技有限公司 | 构造多区块链的方法及多区块链*** |
CN107079058A (zh) * | 2016-12-23 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 区块链节点的业务执行方法、装置及节点设备 |
CN107682308A (zh) * | 2017-08-16 | 2018-02-09 | 北京航空航天大学 | 基于区块链潜信道技术的电子证据保存*** |
Non-Patent Citations (1)
Title |
---|
郭学沛等: "区块链技术应用", 《技术应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110308962A (zh) * | 2019-07-04 | 2019-10-08 | 明链科技(深圳)有限公司 | 管理区块链网络的方法、电子设备及介质 |
CN110308962B (zh) * | 2019-07-04 | 2022-08-23 | 明链科技(深圳)有限公司 | 管理区块链网络的方法、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109165304B (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103314409B (zh) | 能够维持与旧格式的兼容且能对记录内容进行编辑的记录介质、再现装置、记录装置、再现方法、记录方法 | |
CN108510389A (zh) | 基于区块链的智能合约调用方法、设备及可读存储介质 | |
CN110766164A (zh) | 用于执行机器学习过程的方法和*** | |
CN103460650B (zh) | 网络***、主机及网络***的控制方法 | |
CN108924582B (zh) | 视频录制方法、计算机可读存储介质及录播*** | |
CN106464951B (zh) | 一种用于渲染视频帧的方法和设备 | |
US20070263514A1 (en) | Recorder | |
CN105144728B (zh) | 通过http的动态自适应流式传输中面对丢失的媒体分段的恢复力 | |
CN109819262A (zh) | 编码方法、图像编码器及图像传输*** | |
CN110427385A (zh) | 区块链数据更新方法、相关节点及区块链 | |
CN109165304A (zh) | 区块链的构造方法、介质及*** | |
CN104429087A (zh) | 再现装置、再现方法、发布装置、发布方法、发布程序、再现程序、记录介质以及元数据 | |
CN102902746A (zh) | 一种海量数据处理方法、装置及*** | |
CN107085546A (zh) | 基于故障域技术的数据管理方法和装置 | |
CN106292312A (zh) | ZigBee配对分组的控制方法和设备 | |
CN110288678A (zh) | 动态照片的生成方法、装置、计算机设备和存储介质 | |
CN101114497B (zh) | 用于处理信息的设备、方法及计算机程序 | |
CN109309708A (zh) | 区块链***中区块生产速度的加快方法、介质、装置及区块链*** | |
CN101763877B (zh) | 一种多媒体播放的快速芯片验证方法和装置 | |
CN109448680A (zh) | K歌***的交互控制方法、介质、装置及*** | |
CN112256653A (zh) | 一种数据采样方法和装置 | |
JP2007065975A (ja) | コンテンツデータ配信システム、及び、同システムにおける端末装置、及び、同システムにおける接続管理装置、及び、端末装置のプログラム、及び接続管理装置のプログラム | |
CN104484149A (zh) | Led显示屏同步控制***脱机播放方法及装置 | |
US20100021126A1 (en) | Audiovisual processing system, audiovisual processing apparatus, and audiovisual processing method | |
WO2015181851A1 (ja) | 展開予測装置、展開予測方法、プログラム及び記録媒体 |
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 | ||
CP03 | Change of name, title or address |
Address after: 361000 B1F-065, Zone A, Huaxun Building, Software Park, Xiamen Torch Hi-tech Zone, Huli District, Xiamen City, Fujian Province Patentee after: Ke'an (Xiamen) Technology Co.,Ltd. Address before: B1f-065, zone a, Huaxun building, software park, torch hi tech Zone, Xiamen City, Fujian Province, 361000 Patentee before: TAILIAN (XIAMEN) TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |