CN116208624B - 一种跨环境的区块链节点通讯方法、电子设备及存储介质 - Google Patents
一种跨环境的区块链节点通讯方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116208624B CN116208624B CN202310497395.XA CN202310497395A CN116208624B CN 116208624 B CN116208624 B CN 116208624B CN 202310497395 A CN202310497395 A CN 202310497395A CN 116208624 B CN116208624 B CN 116208624B
- Authority
- CN
- China
- Prior art keywords
- node
- consensus
- communicated
- cloud storage
- organization
- 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
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种跨环境的区块链节点通讯方法、电子设备及存储介质,该方法包括:从若干个云存储服务器中确定出第一待通讯共识节点和第二待通讯共识节点;若第一待通讯共识节点连接的云存储服务器与第二待通讯共识节点连接的云存储服务器不同,则确定第一云存储服务器和第二云存储服务器,若对应的共识节点均小于等于共识节点阈值,则将其连接的共识节点与代理服务器建立连接关系;并建立第一待通讯共识节点和第二待通讯共识节点的通信关系。本发明的云存储服务器上的一个共识节点被删除或新增时,无需对其他共识节点进行更改,便于对数据节点的通讯控制,且提高了节点通讯效率。
Description
技术领域
本发明涉及数据通讯领域,特别是涉及一种跨环境的区块链节点通讯方法、电子设备及存储介质。
背景技术
区块链数据连接有若干个数据节点,通过数据节点可以对区块链数据进行更改,目前对于不同网络环境中的数据节点之间进行通讯时,需要在对应的数据节点所在的服务器上建立对应的端口信息,当服务器连接的数据节点的数量过多或需要通讯的数据节点的数量过多时,此种通讯方法过于繁杂,且当服务器上的数据节点删除或新增时,均需要对与其通讯的数据节点进行端口信息更改,过程复杂的同时,也不便于对数据节点的通讯控制。
发明内容
针对上述技术问题,本发明采用的技术方案为:
根据本申请的一个方面,提供一种跨环境的区块链节点通讯方法,应用于节点通讯系统,节点通讯系统连接若干个云存储服务器,每个云存储服务器中均包括相同的区块链数据和与其对应的共识合约,每个云存储服务器均连接有若干个共识节点。
所述跨环境的区块链节点通讯方法,包括如下步骤:
S100、响应于接收到的节点通讯请求;节点通讯请求包括第一待通讯节点地址和第二待通讯节点地址;
S200、根据第一待通讯节点地址和第二待通讯节点地址,从若干个云存储服务器中确定出对应的第一待通讯共识节点和第二待通讯共识节点;第一待通讯共识节点和第二待通讯共识节点为若干个共识节点中的任意两个共识节点;
S300、若第一待通讯共识节点连接的云存储服务器与第二待通讯共识节点连接的云存储服务器不同,则将第一待通讯共识节点连接的云存储服务器确定为第一云存储服务器,将第二待通讯共识节点连接的云存储服务器确定为第二云存储服务器,并执行步骤S400;
S400、若n1≤n0,且n2≤n0,则执行步骤S500;其中,n1为第一云存储服务器连接的共识节点的数量,n2为第二云存储服务器连接的共识节点的数量;n0为预设的共识节点阈值;
S500、将第一云存储服务器连接第一代理服务器,并将与第一云存储服务器连接的所有共识节点与第一代理服务器建立连接关系;
S600、将第二云存储服务器连接第二代理服务器,并将与第二云存储服务器连接的所有共识节点与第二代理服务器建立连接关系;
S700、通过第一代理服务器和第二代理服务器,建立第一待通讯共识节点和第二待通讯共识节点的通信关系。
在本申请的一种示例性实施例中,步骤S300还包括:
S310、若第一待通讯共识节点连接的云存储服务器与第二待通讯共识节点连接的云存储服务器相同,则控制第一待通讯共识节点的通讯端口与第二待通讯共识节点的通讯端口连接。
在本申请的一种示例性实施例中,步骤S400还包括:
S410、若n1>n0,且n2>n0,则执行步骤S411;
S411、从与第一云存储服务器连接的所有共识节点中确定出第一中继共识节点,并将与第一云存储服务器连接的所有共识节点中除第一中继共识节点之外的其他共识节点确定为第一共识节点;
S412、从与第二云存储服务器连接的所有共识节点中确定出第二中继共识节点,并将与第二云存储服务器连接的所有共识节点中除第二中继共识节点之外的其他共识节点确定为第二共识节点;
S413、将第一中继共识节点的通讯端口与所有第一共识节点的通讯端口连接;
S414、将第二中继共识节点的通讯端口与所有第二共识节点的通讯端口连接;
S415、将第一中继共识节点连接第一代理服务器;
S416、将第二中继共识节点连接第二代理服务器;
S417、通过第一中继共识节点,将第一待通讯共识节点的端口信息传输至第一代理服务器;
S418、通过第二中继共识节点,将第二待通讯共识节点的端口信息传输至第二代理服务器;
S419、通过第一代理服务器和第二代理服务器,建立第一待通讯共识节点和第二待通讯共识节点的通信关系。
在本申请的一种示例性实施例中,第一中继共识节点,通过以下步骤确定:
S401、获取第一云存储服务器连接的每一节点组织中的共识节点的数量,得到组织节点数量集Q=(Q1,Q2,...,Qa,...,Qb);其中,a=1,2,...,b;b为第一云存储服务器连接的节点组织的数量;Qa为第一云存储服务器连接的第a个节点组织中的共识节点的数量;节点组织为共识节点对应的组织;
S402、将MIN(Q1,Q2,...,Qa,...,Qb)对应的节点组织确定为第一节点组织;其中,MIN()为预设的最小值确定函数;
S403、从第一节点组织中确定出第一中继共识节点。
在本申请的一种示例性实施例中,步骤S403还包括:
S404、获取第一节点组织中的每一共识节点对区块链数据进行数据更改的次数,得到更改次数集L=(L1,L2,...,Li,...,Le);其中,i=1,2,...,e;e为第一节点组织中的共识节点的数量;Li为第一节点组织中的第i个共识节点对区块链数据进行数据更改的次数;
S405、将MAX(L1,L2,...,Li,...,Le)对应的共识节点确定为第一中继共识节点;其中,MAX()为预设的最大值确定函数。
在本申请的一种示例性实施例中,步骤S700包括:
S701、控制第一代理服务器将第一待通讯共识节点的端口信息和节点通讯请求传输至第二代理服务器;
当第二代理服务器接收到第一待通讯共识节点的端口信息和节点通讯请求后,执行步骤S702:
S702、根据节点通讯请求和第一待通讯共识节点的端口信息,建立第一待通讯共识节点和第二待通讯共识节点的通信关系。
在本申请的一种示例性实施例中,在步骤S700之后,所述跨环境的区块链节点通讯方法还包括:
S710、若接收到对区块链数据的数据更改请求,则执行步骤S720;数据更改请求中包括对区块链数据的数据更改信息;
S720、根据数据更改请求,确定目标节点组织;目标节点组织为发出数据更改请求的节点组织;
S730、将目标节点组织连接的云存储服务器确定为目标云存储服务器;
S740、将目标云存储服务器连接的不为目标节点组织的节点组织确定为相关节点组织;
S750、获取目标云存储服务器连接的每一相关节点组织能够发出的数据更改请求的属性类型,得到相关属性类型集G=(G1,G2,...,Gj,...,Gm);Gj=(Gj1,Gj2,...,Gjr,...,GjF(j));其中,j=1,2,...,m;r=1,2,...,F(j);m为目标云存储服务器连接的相关节点组织的数量;F(j)为第j个相关节点组织能够发出的数据更改请求的属性类型的数量;Gj为目标云存储服务器连接的第j个相关节点组织能够发出的数据更改请求的属性类型列表;Gjr为目标云存储服务器连接的第j个相关节点组织能够发出的数据更改请求的第r种属性类型;
S760、获取目标节点组织能够发出的数据更改请求的每一属性类型,得到目标属性类型集E=(E1,E2,...,Ec,...,Ed);其中,c=1,2,...,d;d为目标节点组织能够发出的数据更改请求的属性类型的数量;Ec为目标节点组织能够发出的数据更改请求的第c种属性类型;
S770、根据Gj和E,确定第j个相关节点组织中确定的背书节点的数量Tj=⌈(N-(m+1))*(Zj/∑m j=1Zj)⌉;Zj=1-Hj/Yj;Hj=E∩Gj;其中,N为目标云存储服务器连接的共识节点的数量;Zj为目标节点组织与第j个相关节点组织之间的属性类型相关度;Hj为E与Gj交集中的元素数量;Yj为目标节点组织对应的属性类型与第j个相关节点组织对应的属性类型进行去重后的总数量;⌈⌉为预设的向上取整函数;
S780、从第j个相关节点组织的所有共识节点中确定出Tj个背书节点;
S790、通过每一背书节点,对数据更改信息进行背书验证,得到对应的验证结果;
S791、若验证结果为验证成功,则根据数据更改信息,对区块链数据进行数据更改;若验证结果为验证失败,则将验证结果发送至目标节点组织。
在本申请的一种示例性实施例中,步骤S780还包括:
S781、获取第j个相关节点组织中每一共识节点的置信度值,并根据置信度值的递减顺序对每一置信度值排序,得到置信度值集K=(Kj1,Kj2,...,Kjg,...,KjP(j));Kjg=Kjg1/A0;其中,g=1,2,...,P(j);P(j)为第j个相关节点组织中共识节点的数量;Kjg为第j个相关节点组织中根据置信度值的递减顺序进行排序后的第g个置信度值,Kjg1为第j个相关节点组织中根据置信度值的递减顺序进行排序后的第g个置信度值对应的共识节点对区块链数据进行数据更改成功的历史数量;A0为区块链数据进行数据更改的历史总数量;
S782、将K中前Tj个置信度值对应的共识节点确定为背书节点。
根据本申请的一个方面,提供一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现前述的跨环境的区块链节点通讯方法。
根据本申请的一个方面,提供一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
本发明至少具有以下有益效果:
本发明根据第一待通讯节点地址和第二待通讯节点地址,确定对应的第一待通讯共识节点和第二待通讯共识节点,第一待通讯共识节点和第二待通讯共识节点为相同的区块链数据对应的共识节点,以确保二者进行通讯时,若对区块链数据进行数据更改时,保证每个云存储服务器中的区块链数据的同步,若第一云存储服务器连接的共识节点和第二云存储服务器连接的共识节点均小于或等于共识节点阈值,则将与第一云存储服务器连接的所有共识节点与第一代理服务器建立连接关系,且将与第二云存储服务器连接的所有共识节点与第二代理服务器建立连接关系,再根据第一代理服务器和第二代理服务器,建立第一待通讯共识节点和第二待通讯共识节点的通信关系,使两者进行数据通讯,即使云存储服务器上的一个共识节点被删除或新增时,也无需对其他共识节点进行更改,便于对数据节点的通讯控制,且提高了节点通讯效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的跨环境的区块链节点通讯方法的流程图;
图2为本发明实施例提供的节点通讯系统的连接框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种跨环境的区块链节点通讯方法,应用于节点通讯系统,如图2所示,节点通讯系统连接若干个云存储服务器,每个云存储服务器中均包括相同的区块链数据和与其对应的共识合约,每个云存储服务器均连接有若干个共识节点。
节点通讯系统用于控制相关的共识节点之间的数据通讯,节点通讯系统连接的每个云存储服务器中包括同一个区块链,且在每个云存储服务器中都存储与区块链对应的共识合约,每个云存储服务器都连接有共识节点,共识节点为与区块链数据的共识合约对应的数据节点,共识节点通过共识合约对区块链数据进行上链验证、数据更改,当一个云存储服务器中的区块链数据进行更改时,其他云存储服务器也相应的进行更改,使每个云存储服务器中的区块链数据同步,每个云存储服务器连接的共识节点各自属于不同的节点组织。
所述的跨环境的区块链节点通讯方法,如图1所示,包括如下步骤:
S100、响应于接收到的节点通讯请求;节点通讯请求包括第一待通讯节点地址和第二待通讯节点地址;
节点通讯请求为对其对应的共识节点,即第一待通讯节点地址对应的共识节点和第二待通讯节点地址对应的共识节点,进行数据通讯的请求。
S200、根据第一待通讯节点地址和第二待通讯节点地址,从若干个云存储服务器中确定出对应的第一待通讯共识节点和第二待通讯共识节点;第一待通讯共识节点和第二待通讯共识节点为若干个共识节点中的任意两个共识节点;
根据第一待通讯节点地址和第二待通讯节点地址,找到对应的第一待通讯共识节点和第二待通讯共识节点,第一待通讯共识节点和第二待通讯共识节点可以同属于一个节点组织,也可属于不同的节点组织,可以共同连接同一个云存储服务器,也可连接不同的云存储服务器,但其二者必须为相同的区块链数据对应的共识节点,以确保二者进行通讯时,若对区块链数据进行数据更改时,保证每个云存储服务器中的区块链数据的同步。
S300、若第一待通讯共识节点连接的云存储服务器与第二待通讯共识节点连接的云存储服务器不同,则将第一待通讯共识节点连接的云存储服务器确定为第一云存储服务器,将第二待通讯共识节点连接的云存储服务器确定为第二云存储服务器,并执行步骤S400;
第一待通讯共识节点连接的云存储服务器与第二待通讯共识节点连接的云存储服务器不同,则表示节点通讯请求为跨网络环境的节点通讯请求。
S310、若第一待通讯共识节点连接的云存储服务器与第二待通讯共识节点连接的云存储服务器相同,则控制第一待通讯共识节点的通讯端口与第二待通讯共识节点的通讯端口连接;
步骤S310为同网络环境下的共识节点的通讯方法,即第一待通讯共识节点连接的云存储服务器与第二待通讯共识节点连接的云存储服务器为同一个云存储服务器,则可以在此共同的云存储服务器中直接将第一待通讯共识节点的通讯端口与第二待通讯共识节点的通讯端口连接,实现同网络环境下的节点通讯。
S400、若n1≤n0,且n2≤n0,则执行步骤S500;其中,n1为第一云存储服务器连接的共识节点的数量,n2为第二云存储服务器连接的共识节点的数量;n0为预设的共识节点阈值;
在确定第一待通讯共识节点与第二待通讯共识节点为不同网络环境内的共识节点后,再判断各自对应的云存储服务器连接的共识节点的数量与共识节点阈值之间的大小关系,若均小于或等于共识节点阈值,则表示两个云存储服务器为轻节点服务器,则执行步骤S500。
S410、若n1>n0,且n2>n0,则执行步骤S411;
S411、从与第一云存储服务器连接的所有共识节点中确定出第一中继共识节点,并将与第一云存储服务器连接的所有共识节点中除第一中继共识节点之外的其他共识节点确定为第一共识节点;
若第一云存储服务器连接的共识节点和第二云存储服务器连接的共识节点均大于共识节点阈值,则表示此两个云存储服务器为重节点服务器,则需要从各自连接的共识节点中确定出对应的中继共识节点,中继共识节点为进行信息转发用的共识节点,其用于将端口信息或IP地址信息向外发送或接收,构成两个云存储服务器之间的数据传输通道,确定出第一中继共识节点后,将其他共识节点确定为第一共识节点,并将第一中继共识节点与第一云存储服务器中的其他共识节点建立通讯关系,可以确保第一共识节点在与不属于同一个云存储服务器的其他共识节点通讯时,通过第一中继共识节点将需要通讯的第一共识节点的端口信息向外发送,或接收由其他云存储服务器发送来的端口信息,用于与外部的数据通讯。
进一步,第一中继共识节点,通过以下步骤确定:
S401、获取第一云存储服务器连接的每一节点组织中的共识节点的数量,得到组织节点数量集Q=(Q1,Q2,...,Qa,...,Qb);其中,a=1,2,...,b;b为第一云存储服务器连接的节点组织的数量;Qa为第一云存储服务器连接的第a个节点组织中的共识节点的数量;
S402、将MIN(Q1,Q2,...,Qa,...,Qb)对应的节点组织确定为第一节点组织;其中,MIN()为预设的最小值确定函数;
S403、从第一节点组织中确定出第一中继共识节点;
由于第一中继共识节点的作用为与外部云存储服务器进行数据传输,所以,要保证第一中继共识节点不被频繁变更,就需要选择可能会当选为背书节点的共识节点,而背书节点的确定也是要保证每个组织中至少有一个为背书节点,所以,将第一云存储服务器连接的若干个节点组织中的共识节点最少的节点组织确定为第一节点组织,再从第一节点组织中确定出第一中继共识节点,保证确定出的第一中继共识节点可以在对应的云存储服务器中进行长时间工作,否则,若第一中继共识节点的重要性较低,而被随意从节点组织中删除时,会由于第一中继共识节点的频繁更换,而再使新的第一中继共识节点和所有第一共识节点建立通讯关系,导致数据传输效率的降低。
进一步,步骤S403还包括:
S404、获取第一节点组织中的每一共识节点对区块链数据进行数据更改的次数,得到更改次数集L=(L1,L2,...,Li,...,Le);其中,i=1,2,...,e;e为第一节点组织中的共识节点的数量;Li为第一节点组织中的第i个共识节点对区块链数据进行数据更改的次数;
S405、将MAX(L1,L2,...,Li,...,Le)对应的共识节点确定为第一中继共识节点;其中,MAX()为预设的最大值确定函数;
相应的,为了避免第一中继共识节点被频繁更换,就需要选择一个重要性较高的共识节点当做第一中继共识节点,即通过每个共识节点对历史数据的更改次数,来表示其对区块链数据的重要程度,对区块链数据更改次数最多的共识节点,表示其对区块链数据的重要程度最高,故将其确定第一中继共识节点。
S412、从与第二云存储服务器连接的所有共识节点中确定出第二中继共识节点,并将与第二云存储服务器连接的所有共识节点中除第二中继共识节点之外的其他共识节点确定为第二共识节点;
S413、将第一中继共识节点的通讯端口与所有第一共识节点的通讯端口连接;
S414、将第二中继共识节点的通讯端口与所有第二共识节点的通讯端口连接;
S415、将第一中继共识节点连接第一代理服务器;
S416、将第二中继共识节点连接第二代理服务器;
S417、通过第一中继共识节点,将第一待通讯共识节点的端口信息传输至第一代理服务器;
S418、通过第二中继共识节点,将第二待通讯共识节点的端口信息传输至第二代理服务器;
S419、通过第一代理服务器和第二代理服务器,建立第一待通讯共识节点和第二待通讯共识节点的通信关系;
第二中继共识节点的确定方法与第一中继共识节点的确定方法相同,均是通过判断其对区块链数据的重要程度,来确定的第二中继共识节点,故在此不再赘述。
在确定出第一中继共识节点和第二中继共识节点后,为了实现其与外部进行数据通讯的目的,就要将所有第一共识节点与第一中继共识节点连接,将所有第二共识节点与第二中继共识节点连接,并将第一中继共识节点连接第一代理服务器,将第二中继共识节点连接第二代理服务器,第一代理服务器和第二代理服务器用于进行公网的数据通讯,其为与其对应的云存储服务器通讯的代理服务器,云存储服务器可表示为内网,第一代理服务器和第二代理服务器可以表示为外网,即第一代理服务器通过公网的端口即可访问到第二代理服务器,建立两者的通讯关系,而无需将其进行连接,在保证数据安全的同时,也提高了数据传输效率,第一待通讯共识节点将其端口信息传输至第一中继共识节点,第一中继共识节点再将端口信息传输至第一代理服务器,由第一代理服务器传输至第二代理服务器,第二代理服务器再根据节点通讯请求和第一待通讯共识节点的端口信息,将第二待通讯共识节点与第一待通讯共识节点建立通信关系,使其两者之间可以进行数据通讯。
S500、将第一云存储服务器连接第一代理服务器,并将与第一云存储服务器连接的所有共识节点与第一代理服务器建立连接关系;
S600、将第二云存储服务器连接第二代理服务器,并将与第二云存储服务器连接的所有共识节点与第二代理服务器建立连接关系;
S700、通过第一代理服务器和第二代理服务器,建立第一待通讯共识节点和第二待通讯共识节点的通信关系;
进一步,步骤S700还包括:
S701、控制第一代理服务器将第一待通讯共识节点的端口信息和节点通讯请求传输至第二代理服务器;
当第二代理服务器接收到第一待通讯共识节点的端口信息和节点通讯请求后,执行步骤S702:
S702、根据节点通讯请求和第一待通讯共识节点的端口信息,建立第一待通讯共识节点和第二待通讯共识节点的通信关系。
S710、若接收到对区块链数据的数据更改请求,则执行步骤S720;数据更改请求中包括对区块链数据的数据更改信息;
S720、根据数据更改请求,确定目标节点组织;目标节点组织为发出数据更改请求的节点组织;
S730、将目标节点组织连接的云存储服务器确定为目标云存储服务器;
S740、将目标云存储服务器连接的不为目标节点组织的节点组织确定为相关节点组织;
S750、获取目标云存储服务器连接的每一相关节点组织能够发出的数据更改请求的属性类型,得到相关属性类型集G=(G1,G2,...,Gj,...,Gm);Gj=(Gj1,Gj2,...,Gjr,...,GjF(j));其中,j=1,2,...,m;r=1,2,...,F(j);m为目标云存储服务器连接的相关节点组织的数量;F(j)为第j个相关节点组织能够发出的数据更改请求的属性类型的数量;Gj为目标云存储服务器连接的第j个相关节点组织能够发出的数据更改请求的属性类型列表;Gjr为目标云存储服务器连接的第j个相关节点组织能够发出的数据更改请求的第r种属性类型;
S760、获取目标节点组织能够发出的数据更改请求的每一属性类型,得到目标属性类型集E=(E1,E2,...,Ec,...,Ed);其中,c=1,2,...,d;d为目标节点组织能够发出的数据更改请求的属性类型的数量;Ec为目标节点组织能够发出的数据更改请求的第c种属性类型;
S770、根据Gj和E,确定第j个相关节点组织中确定的背书节点的数量Tj=⌈(N-(m+1))*(Zj/∑m j=1Zj)⌉;Zj=1-Hj/Yj;Hj=E∩Gj;其中,N为目标云存储服务器连接的共识节点的数量;Zj为目标节点组织与第j个相关节点组织之间的属性类型相关度;Hj为E与Gj交集中的元素数量;Yj为目标节点组织对应的属性类型与第j个相关节点组织对应的属性类型进行去重后的总数量;⌈⌉为预设的向上取整函数;
S780、从第j个相关节点组织的所有共识节点中确定出Tj个背书节点;
进一步,步骤S780还包括:
S781、获取第j个相关节点组织中每一共识节点的置信度值,并根据置信度值的递减顺序对每一置信度值排序,得到置信度值集K=(Kj1,Kj2,...,Kjg,...,KjP(j));Kjg=Kjg1/A0;其中,g=1,2,...,P(j);P(j)为第j个相关节点组织中共识节点的数量;Kjg为第j个相关节点组织中根据置信度值的递减顺序进行排序后的第g个置信度值,Kjg1为第j个相关节点组织中根据置信度值的递减顺序进行排序后的第g个置信度值对应的共识节点对区块链数据进行数据更改成功的历史数量;A0为区块链数据进行数据更改的历史总数量;
S782、将K中前Tj个置信度值对应的共识节点确定为背书节点;
S790、通过每一背书节点,对数据更改信息进行背书验证,得到对应的验证结果;
S791、若验证结果为验证成功,则根据数据更改信息,对区块链数据进行数据更改;若验证结果为验证失败,则将验证结果发送至目标节点组织。
步骤S710-步骤S791为接收到对区块链数据进行数据更改请求时的处理方法,数据更改请求中的数据更改信息为对区块链数据进行更改的信息,当区块链数据要进行更改时,必须对其更改的数据进行背书验证,若背书验证通过,则才允许其在区块链数据上进行更改,否则,则不允许对区块链数据进行更改,背书验证需要背书节点完成,背书节点的确定方法为步骤S750-步骤S782,通过置信度值来确定出对应的背书节点,再通过背书节点对数据更改信息进行验证,在确定背书节点时,先根据目标节点组织和相关节点组织能发出数据更改请求的属性类型,确定出每个相关节点组织中的背书节点的数量,确保每个相关节点组织都有至少一个共识节点被选作背书节点,避免了同类型的共识节点都被选为背书节点,提高了背书节点的准确性,也提高了区块链数据的更改安全性,数据更改请求的属性类型可以为对区块链数据的不同交易类型,如对民航数据的交易,或对打车数据的交易,通过不同属性类型,来保证确定出的背书节点的公平性。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。
Claims (10)
1.一种跨环境的区块链节点通讯方法,其特征在于,应用于节点通讯系统,所述节点通讯系统连接若干个云存储服务器,每个所述云存储服务器中均包括相同的区块链数据和与其对应的共识合约,每个所述云存储服务器均连接有若干个共识节点;
所述跨环境的区块链节点通讯方法包括如下步骤:
S100、响应于接收到的节点通讯请求;所述节点通讯请求包括第一待通讯节点地址和第二待通讯节点地址;
S200、根据所述第一待通讯节点地址和所述第二待通讯节点地址,从若干个所述云存储服务器中确定出对应的第一待通讯共识节点和第二待通讯共识节点;所述第一待通讯共识节点和所述第二待通讯共识节点为若干个所述共识节点中的任意两个共识节点;
S300、若所述第一待通讯共识节点连接的云存储服务器与所述第二待通讯共识节点连接的云存储服务器不同,则将所述第一待通讯共识节点连接的云存储服务器确定为第一云存储服务器,将所述第二待通讯共识节点连接的云存储服务器确定为第二云存储服务器,并执行步骤S400;
S400、若n1≤n0,且n2≤n0,则执行步骤S500;其中,n1为所述第一云存储服务器连接的共识节点的数量,n2为所述第二云存储服务器连接的共识节点的数量;n0为预设的共识节点阈值;
S500、将所述第一云存储服务器连接第一代理服务器,并将与所述第一云存储服务器连接的所有共识节点与所述第一代理服务器建立连接关系;
S600、将所述第二云存储服务器连接第二代理服务器,并将与所述第二云存储服务器连接的所有共识节点与所述第二代理服务器建立连接关系;
S700、通过所述第一代理服务器和所述第二代理服务器,建立所述第一待通讯共识节点和所述第二待通讯共识节点的通信关系。
2.根据权利要求1所述的跨环境的区块链节点通讯方法,其特征在于,所述步骤S300还包括:
S310、若所述第一待通讯共识节点连接的云存储服务器与所述第二待通讯共识节点连接的云存储服务器相同,则控制所述第一待通讯共识节点的通讯端口与所述第二待通讯共识节点的通讯端口连接。
3.根据权利要求1所述的跨环境的区块链节点通讯方法,其特征在于,所述步骤S400还包括:
S410、若n1>n0,且n2>n0,则执行步骤S411;
S411、从与所述第一云存储服务器连接的所有共识节点中确定出第一中继共识节点,并将与所述第一云存储服务器连接的所有共识节点中除所述第一中继共识节点之外的其他共识节点确定为第一共识节点;
S412、从与所述第二云存储服务器连接的所有共识节点中确定出第二中继共识节点,并将与所述第二云存储服务器连接的所有共识节点中除所述第二中继共识节点之外的其他共识节点确定为第二共识节点;
S413、将所述第一中继共识节点的通讯端口与所有所述第一共识节点的通讯端口连接;
S414、将所述第二中继共识节点的通讯端口与所有所述第二共识节点的通讯端口连接;
S415、将所述第一中继共识节点连接第一代理服务器;
S416、将所述第二中继共识节点连接第二代理服务器;
S417、通过所述第一中继共识节点,将所述第一待通讯共识节点的端口信息传输至所述第一代理服务器;
S418、通过所述第二中继共识节点,将所述第二待通讯共识节点的端口信息传输至所述第二代理服务器;
S419、通过所述第一代理服务器和所述第二代理服务器,建立所述第一待通讯共识节点和所述第二待通讯共识节点的通信关系。
4.根据权利要求3所述的跨环境的区块链节点通讯方法,其特征在于,所述第一中继共识节点,通过以下步骤确定:
S401、获取所述第一云存储服务器连接的每一节点组织中的共识节点的数量,得到组织节点数量集Q=(Q1,Q2,...,Qa,...,Qb);其中,a=1,2,...,b;b为第一云存储服务器连接的节点组织的数量;Qa为第一云存储服务器连接的第a个节点组织中的共识节点的数量;所述节点组织为共识节点对应的组织;
S402、将MIN(Q1,Q2,...,Qa,...,Qb)对应的节点组织确定为第一节点组织;其中,MIN()为预设的最小值确定函数;
S403、从所述第一节点组织中确定出第一中继共识节点。
5.根据权利要求4所述的跨环境的区块链节点通讯方法,其特征在于,所述步骤S403还包括:
S404、获取所述第一节点组织中的每一共识节点对所述区块链数据进行数据更改的次数,得到更改次数集L=(L1,L2,...,Li,...,Le);其中,i=1,2,...,e;e为第一节点组织中的共识节点的数量;Li为第一节点组织中的第i个共识节点对区块链数据进行数据更改的次数;
S405、将MAX(L1,L2,...,Li,...,Le)对应的共识节点确定为第一中继共识节点;其中,MAX()为预设的最大值确定函数。
6.根据权利要求1所述的跨环境的区块链节点通讯方法,其特征在于,所述步骤S700包括:
S701、控制所述第一代理服务器将所述第一待通讯共识节点的端口信息和所述节点通讯请求传输至所述第二代理服务器;
当所述第二代理服务器接收到所述第一待通讯共识节点的端口信息和所述节点通讯请求后,执行步骤S702:
S702、根据所述节点通讯请求和所述第一待通讯共识节点的端口信息,建立所述第一待通讯共识节点和所述第二待通讯共识节点的通信关系。
7.根据权利要求1所述的跨环境的区块链节点通讯方法,其特征在于,在所述步骤S700之后,所述跨环境的区块链节点通讯方法还包括:
S710、若接收到对所述区块链数据的数据更改请求,则执行步骤S720;所述数据更改请求中包括对所述区块链数据的数据更改信息;
S720、根据所述数据更改请求,确定目标节点组织;所述目标节点组织为发出所述数据更改请求的节点组织;
S730、将所述目标节点组织连接的云存储服务器确定为目标云存储服务器;
S740、将所述目标云存储服务器连接的不为目标节点组织的节点组织确定为相关节点组织;
S750、获取所述目标云存储服务器连接的每一相关节点组织能够发出的数据更改请求的属性类型,得到相关属性类型集G=(G1,G2,...,Gj,...,Gm);Gj=(Gj1,Gj2,...,Gjr,...,GjF(j));其中,j=1,2,...,m;r=1,2,...,F(j);m为目标云存储服务器连接的相关节点组织的数量;F(j)为第j个相关节点组织能够发出的数据更改请求的属性类型的数量;Gj为目标云存储服务器连接的第j个相关节点组织能够发出的数据更改请求的属性类型列表;Gjr为目标云存储服务器连接的第j个相关节点组织能够发出的数据更改请求的第r种属性类型;
S760、获取所述目标节点组织能够发出的数据更改请求的每一属性类型,得到目标属性类型集E=(E1,E2,...,Ec,...,Ed);其中,c=1,2,...,d;d为目标节点组织能够发出的数据更改请求的属性类型的数量;Ec为目标节点组织能够发出的数据更改请求的第c种属性类型;
S770、根据Gj和E,确定第j个相关节点组织中确定的背书节点的数量Tj=⌈(N-(m+1))*(Zj/∑m j=1Zj)⌉;Zj=1-Hj/Yj;Hj=E∩Gj;其中,N为目标云存储服务器连接的共识节点的数量;Zj为目标节点组织与第j个相关节点组织之间的属性类型相关度;Hj为E与Gj交集中的元素数量;Yj为目标节点组织对应的属性类型与第j个相关节点组织对应的属性类型进行去重后的总数量;⌈⌉为预设的向上取整函数;
S780、从第j个相关节点组织的所有共识节点中确定出Tj个背书节点;
S790、通过每一所述背书节点,对所述数据更改信息进行背书验证,得到对应的验证结果;
S791、若所述验证结果为验证成功,则根据所述数据更改信息,对所述区块链数据进行数据更改;若所述验证结果为验证失败,则将所述验证结果发送至所述目标节点组织。
8.根据权利要求7所述的跨环境的区块链节点通讯方法,其特征在于,所述步骤S780还包括:
S781、获取第j个相关节点组织中每一共识节点的置信度值,并根据置信度值的递减顺序对每一置信度值排序,得到置信度值集K=(Kj1,Kj2,...,Kjg,...,KjP(j));Kjg=Kjg1/A0;其中,g=1,2,...,P(j);P(j)为第j个相关节点组织中共识节点的数量;Kjg为第j个相关节点组织中根据置信度值的递减顺序进行排序后的第g个置信度值,Kjg1为第j个相关节点组织中根据置信度值的递减顺序进行排序后的第g个置信度值对应的共识节点对所述区块链数据进行数据更改成功的历史数量;A0为所述区块链数据进行数据更改的历史总数量;
S782、将K中前Tj个置信度值对应的共识节点确定为背书节点。
9.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8中任意一项所述的跨环境的区块链节点通讯方法。
10.一种电子设备,其特征在于,包括处理器和权利要求9中所述的非瞬时性计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310497395.XA CN116208624B (zh) | 2023-05-05 | 2023-05-05 | 一种跨环境的区块链节点通讯方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310497395.XA CN116208624B (zh) | 2023-05-05 | 2023-05-05 | 一种跨环境的区块链节点通讯方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116208624A CN116208624A (zh) | 2023-06-02 |
CN116208624B true CN116208624B (zh) | 2023-07-07 |
Family
ID=86513341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310497395.XA Active CN116208624B (zh) | 2023-05-05 | 2023-05-05 | 一种跨环境的区块链节点通讯方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116208624B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729115A (zh) * | 2017-10-30 | 2019-05-07 | 北京临风云科技有限公司 | 实现分布式计算的方法、装置、代理服务器、终端设备 |
CN111539726A (zh) * | 2020-04-20 | 2020-08-14 | 中国工商银行股份有限公司 | 区块链共识系统及方法 |
CN112995211A (zh) * | 2021-04-21 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、设备及存储介质 |
CN113570466A (zh) * | 2021-09-24 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及可读存储介质 |
US11457080B1 (en) * | 2018-11-23 | 2022-09-27 | Amazon Technologies, Inc. | Service mesh management |
WO2023012155A1 (en) * | 2021-08-04 | 2023-02-09 | Sony Group Corporation | Method and publisher-subscriber network |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667749B (zh) * | 2021-03-16 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
-
2023
- 2023-05-05 CN CN202310497395.XA patent/CN116208624B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729115A (zh) * | 2017-10-30 | 2019-05-07 | 北京临风云科技有限公司 | 实现分布式计算的方法、装置、代理服务器、终端设备 |
US11457080B1 (en) * | 2018-11-23 | 2022-09-27 | Amazon Technologies, Inc. | Service mesh management |
CN111539726A (zh) * | 2020-04-20 | 2020-08-14 | 中国工商银行股份有限公司 | 区块链共识系统及方法 |
CN112995211A (zh) * | 2021-04-21 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、设备及存储介质 |
WO2023012155A1 (en) * | 2021-08-04 | 2023-02-09 | Sony Group Corporation | Method and publisher-subscriber network |
CN113570466A (zh) * | 2021-09-24 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116208624A (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3353952B1 (en) | Managing groups of servers | |
EP2466935B1 (en) | System and method for quick authentication between bluetooth devices | |
EP2367337B1 (en) | Field communication system and field communication method | |
CN105786451A (zh) | 一种复杂事件处理方法、装置及系统 | |
KR20050044311A (ko) | 통신 시스템의 데이터 동기화 장치 | |
CN102946356A (zh) | 一种基于cb-pe网络的组播报文传输方法和设备 | |
EP4338374A1 (en) | Detection and mitigation of security threats to a domain name system for a communication network | |
US20130318244A1 (en) | System and method for assigning server to terminal and efficiently delivering messages to the terminal | |
CN116208624B (zh) | 一种跨环境的区块链节点通讯方法、电子设备及存储介质 | |
US10412001B2 (en) | Communication terminal, communication method, and program | |
CN116361271B (zh) | 一种区块链数据修改迁移方法、电子设备及存储介质 | |
JP6580212B1 (ja) | 通信装置、通信方法、および、通信プログラム | |
US20050086444A1 (en) | Network converter and information processing system | |
WO2023051455A1 (zh) | 一种信任模型的训练方法及装置 | |
EP4344259A1 (en) | Session binding relationship processing method and apparatus, electronic device, and readable medium | |
CN104796794A (zh) | 一种视频传输路径的确定方法及装置 | |
CN113791733A (zh) | 信息的存储方法、装置、设备及存储介质 | |
US20210064411A1 (en) | Management apparatus, management system, management method and management program | |
CN112187963A (zh) | 分布式哈希表实现方法、计算机装置和存储介质 | |
JP2000040025A (ja) | デ―タベ―ス管理装置、および、そのプログラムが記録された記録媒体 | |
US20230297392A1 (en) | Method, system, and device for integrating replacement device | |
CN112925841B (zh) | 分布式jdbc实现方法、设备及计算机可读存储介质 | |
CN110737842B (zh) | 基于用户画像的社交人脉推荐方法、装置和系统 | |
CN114584490B (zh) | 数据传输检测方法以及装置 | |
CN113132233B (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 |