CN113992434A - 通信方法、系统、电子设备及可读存储介质 - Google Patents
通信方法、系统、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113992434A CN113992434A CN202111599322.9A CN202111599322A CN113992434A CN 113992434 A CN113992434 A CN 113992434A CN 202111599322 A CN202111599322 A CN 202111599322A CN 113992434 A CN113992434 A CN 113992434A
- Authority
- CN
- China
- Prior art keywords
- node
- address
- network domain
- connection
- network
- 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
- 238000000034 method Methods 0.000 title claims abstract description 155
- 230000006854 communication Effects 0.000 title claims abstract description 121
- 238000004891 communication Methods 0.000 title claims abstract description 119
- 238000005192 partition Methods 0.000 claims abstract description 80
- 239000003999 initiator Substances 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 description 52
- 238000012986 modification Methods 0.000 description 52
- 230000008569 process Effects 0.000 description 42
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000002955 isolation Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- 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/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请适用于区块链技术领域,提供了一种通信方法、系统、电子设备及可读存储介质。该通信方法包括:通过与第一节点之间的第一连接接收来自第一节点的第一信息;第一连接包括逻辑连接,第一连接的连接发起方为第一节点;第一信息中包括第一节点在目标网络域下的地址,目标网络域为至少一个其他节点所在的网络域,至少一个其他节点是指第一节点待加入的网络分区中除第二节点外的节点;第一节点在目标网络域下的地址用于第一节点与至少一个其他节点建立连接;向至少一个其他节点发送第一信息。该方法能够实现联盟链中使用代理方式通信场景下节点的自发现,满足了用户需求。
Description
技术领域
本申请属于区块链技术领域,尤其涉及一种通信方法、系统、电子设备及可读存储介质。
背景技术
联盟区块链,简称联盟链,是区块链中的一种。联盟链只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。联盟链在应用的过程中,需要进行跨域通信。相关技术中,联盟链的跨域通信主要通过NAT(Network Address Translation,网络地址转换)穿透技术实现。然而,NAT穿透技术存在安全性不高等问题,因而,联盟链中一些节点对应的机构希望通过代理方式与外界进行通信。
另外一方面,在区块链网络中,节点发现是一个很重要的技术。在一个新节点通过已知的节点加入到网络时,新节点所知的网络节点信息有限的情况下,通过节点发现能够获知更多的节点,从而建立起足够的连接。
基于以上两方面的情况,有必要针对联盟链中使用代理方式通信的场景下,基于节点发现的网络通信方法进行研究,以满足用户的需求。
发明内容
本申请提供一种通信方法、系统、电子设备及可读存储介质,实现了联盟链中使用代理方式通信场景下节点的自发现,满足了用户需求。
第一方面,本申请实施例提供了一种通信方法,该方法包括:通过与第一节点之间的第一连接接收来自第一节点的第一信息;第一连接包括逻辑连接,第一连接的连接发起方为第一节点;第一信息中包括第一节点在目标网络域下的地址,目标网络域为至少一个其他节点所在的网络域,至少一个其他节点是指第一节点待加入的网络分区中除第二节点外的节点;第一节点在目标网络域下的地址用于第一节点与至少一个其他节点建立连接;向至少一个其他节点发送第一信息。
可选的,第一方面提供的通信方法可以应用于第二节点。
可选的,地址可以为互通协议(interworking protocol,IP)地址。
可选的,第一信息可以为第一网络域地址列表,第一网络域地址列表中包括第一节点在至少一个网络域下的地址。
作为一种示例,在第二节点和至少一个其他节点之间不具有通信连接的情况下,第二节点可以以广播方式向至少一个其他节点发送第一节点在至少一个其他节点所在的目标网络域下的地址。
作为一种示例,由于第二节点和至少一个其他节点属于同一个网络分区,因此第二节点可以以组播方式向至少一个其他节点发送第一节点在至少一个其他节点所在的目标网络域下的地址。
作为一种示例,如果第二节点和每个其他节点之间均具有连接,则第二节点可以以单播形式向通过与每个其他节点之间的连接向每个其他节点发送第一节点在至少一个其他节点所在的目标网络域下的地址。比如,以其他节点为节点a和节点b为例,第二节点通过与节点a之间的连接向节点a发送第一节点在节点a所在的目标网络域下的地址。第二节点通过与节点b之间的连接向节点b发送第一节点在节点b所在的目标网络域下的地址。本申请实施例中节点a所在的目标网络域和节点b所在的目标网络域可以相同也可以不相同,本申请实施例对此不做限定。
在一个实施例中,第一节点属于第一网络域,该方法还包括:接收来自第一节点的第一请求消息;第一请求消息用于请求提供至少一个其他节点在第一网络域下的地址;至少一个其他节点在第一网络域下的地址用于第一节点与至少一个其他节点建立连接;响应于第一请求消息,通过第一连接,向第一节点发送第一响应消息,第一响应消息中包括至少一个其他节点在第一网络域下的地址。
在一个实施例中,通过第一连接,向第一节点发送第一响应消息之前,方法还包括:获取至少一个第二信息;第二信息包括第二节点的邻居节点中位于待加入的网络分区的节点在一个或多个网络域下的地址;从各个第二信息中查找目标地址;目标地址是指节点在第一网络域下的地址,目标地址中包括至少一个其他节点在第一网络域下的地址。
可选的,第二信息可以为第三网络域地址列表。第三网络域地址列表中包括第二节点的邻居节点中位于待加入的网络分区中的节点在至少一个网络域下的地址。
在一个实施例中,从各个第二信息中查找目标地址,包括:在确定预设存储位置未存储有目标地址的情况下,从各个第二信息中查找目标地址。
在一个实施例中,在确定预设存储位置未存储有目标地址的情况下,从各个第二信息中查找目标地址之后,方法还包括:将目标地址保存至预设存储位置;预设时长之后,清除预设存储位置的目标地址。
第二方面,本申请实施例提供一种通信方法,方法包括:获取第一信息;第一信息中包括第一节点在目标网络域下的地址;目标网络域为至少一个其他节点所在的网络域,至少一个其他节点是指第一节点待加入的网络分区中除第二节点外的节点;第一节点在目标网络域下的地址用于第一节点与至少一个其他节点建立连接;通过与第二节点之间的第一连接,向第二节点发送第一信息;第一连接包括逻辑连接,第一连接的连接发起方为第一节点。
在一个实施例中,第一节点属于第一网络域,该方法还包括:获取至少一个其他节点在第一网络域下的地址;根据至少一个其他节点在第一网络域下的地址,与至少一个其他节点建立连接。
在一个实施例中,获取至少一个其他节点在第一网络域下的地址,包括:通过第一连接向第二节点发送第一请求消息,第一请求消息用于请求提供至少一个其他节点在第一网络域下的地址;接收来自第二节点的第一响应消息;第一响应消息中包括至少一个其他节点在第一网络域下的地址。
在一个实施例中,获取至少一个其他节点在第一网络域下的地址,包括:向第一节点的邻居节点中的至少一个目标邻居节点发送第二请求消息;第二请求消息用于请求提供至少一个其他节点在第一网络域下的地址;接收来自至少一个目标邻居节点的第二响应消息,第二响应消息中包括至少一个其他节点在第一网络域下的地址。
在一个实施例中,根据至少一个其他节点在第一网络域下的地址,与至少一个其他节点建立连接,包括:在至少一个其他节点在第一网络域下的地址可通信的情况下,根据至少一个其他节点在第一网络域下的地址,与至少一个其他节点建立连接。
在一个实施例中,获取至少一个其他节点在第一网络域下的地址之后,方法还包括:确定第一节点的远程地址列表,第一节点的远程地址列表中包括至少一个其他节点在第一网络域下的地址。
在一个实施例中,第一节点的远程地址列表中还包括用于指示每个其他节点在第一网络域下的地址是否可通信的指示信息。
在一个实施例中,第一节点属于第一网络域,第一节点的远程地址列表中包括第二节点的地址,通过与第二节点之间的第一连接,向第二节点发送第一信息之前,方法还包括:根据第二节点的地址,与第二节点建立第一连接。
第三方面,本申请实施例提供一种通信方法,该方法包括:第三节点接收来自第二节点的第一节点在目标网络域下的地址,目标网络域为至少一个其他节点所在的网络域,至少一个其他节点是指第一节点待加入的网络分区中除第二节点外的节点,至少一个其他节点包括第三节点;第三节点根据第一节点在目标网络域下的地址与第一节点建立连接。至少一个其他节点和第二节点属于同一个网络分区,网络分区为第一节点待加入的网络分区。
第四方面,本申请实施例提供了一种联盟链通信装置,该联盟链通信装置可以为第二节点,也可以为应用于第二节点中的装置(比如芯片或者处理电路),该装置包括:第一接收模块,用于通过与第一节点之间的第一连接接收来自第一节点的第一信息;第一连接包括逻辑连接,第一连接的连接发起方为第一节点;第一信息中包括第一节点在目标网络域下的地址,目标网络域为至少一个其他节点所在的网络域,至少一个其他节点是指第一节点待加入的网络分区中除第二节点外的节点;第一节点在目标网络域下的地址用于第一节点与至少一个其他节点建立连接;第一发送模块,用于向至少一个其他节点发送第一信息。
第五方面,本申请实施例提供了一种联盟链通信装置,该联盟链通信装置可以为第一节点,也可以为应用于第一节点中的装置(比如芯片或者处理电路),该装置包括:获取模块,用于获取第一信息;第一信息中包括第一节点在目标网络域下的地址;目标网络域为至少一个其他节点所在的网络域,至少一个其他节点是指第一节点待加入的网络分区中除第二节点外的节点;第一节点在目标网络域下的地址用于第一节点与至少一个其他节点建立连接;第二发送模块,用于通过与第二节点之间的第一连接,向第二节点发送第一信息;第一连接包括逻辑连接,第一连接的连接发起方为第一节点。
第六方面,本申请实施例提供了一种联盟链通信系统,包括:第一节点和第二节点,第二节点,用于执行上述第一方面中任一项的方法,第一节点用于执行上述第二方面中任一项的方法。
在本申请的一个可选的实施例中,上述联盟链通信系统还可以包括至少一个其他节点。至少一个其他节点与第二节点属于同一个网络分区,网络分区为第一节点待加入的网络分区。
第七方面,本申请实施例提供了一种计算机设备,包括:存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面中任一项的通信方法,或者实现上述第二方面中任一项的通信方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面中任一项的通信方法,或者实现上述第二方面中任一项的通信方法。
本申请提供的通信方法、装置、系统、电子设备及计算机可读存储介质,第二节点通过与第一节点之间的第一连接,接收第一节点发送的第一信息,并将第一信息发送给其他节点。第一信息中包括第一节点在至少一个其他节点所在的目标网络域下的地址,因而其他节点接收到第一节点在至少一个其他节点所在的目标网络域下的地址能够根据该地址与第一节点建立连接。本实施例中,第一节点主动将第一信息发送至第二节点,也就是说,本实施例通过PUSH形式的节点发现技术,实现了联盟链中使用代理方式通信场景下节点的自发现,满足了用户需求。而且,联盟链本身对于节点的身份验证较为严格,因而在联盟链中通过PUSH的方式进行节点发现,能够避免Eclipse攻击和Sybil攻击等,安全性较高。另外,本实施例提供的方法,第二节点在发送第一信息时,仅将第一信息发送至待加入的网络分区中的节点(即其他节点),从而使得第一节点仅与待加入的网络分区中的节点连接,实现了节点发现的分区隔离,不仅满足了联盟链中多个网络分区通信的场景下的节点自发现,且节点发现的分区隔离不会造成业务执行的混乱,进一步满足用户需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的联盟链通信系统的网络拓扑图;
图2是本申请另一实施例提供的联盟链通信系统的网络拓扑图;
图3是本申请一实施例提供的通信方法的流程示意图;
图4是本申请另一实施例提供的通信方法的流程示意图;
图5是本申请又一实施例提供的通信方法的流程示意图;
图6是本申请又一实施例提供的网络域地址列表的获取方法的流程示意图;
图7是本申请一实施例提供的节点2的网络域地址列表的获取方法的流程示意图;
图8是本申请一实施例提供的检查网络域地址列表的方法的流程示意图;
图9是本申请一实施例提供的动态修改网络域地址列表的方法的流程示意图;
图10是本申请一实施例提供的动态修改网络域地址列表的过程示意图;
图11是本申请一实施例提供的联盟链通信装置的结构框图;
图12是本申请另一实施例提供的联盟链通信装置的结构框图;
图13是本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请实施例中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
可以理解,本申请所使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在对本申请实施例进行详细地解释说明之前,先对本申请实施例的应用场景予以说明。
本申请实施例提供的方法可以应用于联盟链通信系统,联盟链通信系统的应用场景包括但不限于商品溯源、公益慈善、供应链金融、电子政务、互助保险或物联网等,本申请对此不做任何限定。
示例性的,图1为本申请实施例提供的一例联盟链通信系统(以下简称通信系统)的网络拓扑图。如图1所示,该通信系统包括多个网络域,每个网络域中设置有至少一个区块链节点(下文简称节点)。可选的,本申请实施例所涉及的节点对应联盟链中的各个机构,其可以为服务器也可以为终端。
本申请实施例中涉及的概念和定义如下:
跨域通信:不同网络域中的节点之间的通信。例如图1中的节点1与节点2的通信。
邻居节点:与某一节点存在邻居关系的节点称为该节点的邻居节点。如图1中,节点1的邻居节点包括节点2、节点3、节点4和节点5;节点2的邻居节点包括节点1、节点3和节点5。
本域:某一节点所在的域称为该节点的本域。
相关域:对于某一节点而言,存在该节点的邻居节点的非本域的网络域称为该节点的相关域。如图1中,节点1的相关域包括第二网络域和第三网络域,节点2的相关域包括第一网络域和第三网络域,节点3的相关域包括第一网络域和第二网络域。
网络分区:为了向网络中的节点对应的机构提供不同的服务,将网络划分为多个区,每个区称为一个网络分区。每个网络分区中可以包括一个或多个节点。同一网络分区中的节点可以相互通信,不同网络分区中的节点不能通信。如图1所示,节点1、节点2、节点3和节点4属于第一网络分区,节点2和节点5属于第二网络分区。第一网络分区中相互连接的节点可以通信,第二网络分区中相互连接的节点可以通信,但是第一网络分区中的节点和第二网络分区中的节点不能直接通信。例如,节点1与节点5不属于同一网络分区,不能直接通信。
示例性的,图2为本申请另一个实施例提供的网络拓扑图。如图2所示,该网络包括节点(node)0至node9共10个节点,包括三个网络分区:ns1、ns2和global。ns1中包括node3、node 4、node 5、node 6、node 7和node 9,ns2中包括node 0和node 8。global中包括node 1、node 2、node 3和node 4。以node4为例来说,node4可以与node1、node2、node3、node9通信,但是不可以与node8和node0通信。
物理连接:利用物体的物理特性实现的连接。物理连接能够实现节点与节点之间的物理网络通信。物理连接是逻辑连接的基础。
逻辑连接:建立于物理连接的基础上。也就是说,若两个节点之间建立了逻辑连接,则必然建立了物理连接。但是,两个节点之间建立了物理连接,未必建立逻辑连接。
通过建立逻辑连接,能够实现节点与节点之间的业务消息的通信。若未建立逻辑连接,仅建立物理连接,两个节点之间只能够收发建立连接的相关消息以及检活消息,不能够收发业务消息,即使一端节点错误发送了业务消息,也不会被对端节点接收,只有在建立物理连接的基础上进一步建立逻辑连接,才能收发业务消息。逻辑连接需要验证节点身份,一旦节点发现对端节点是不合法的节点,该节点立即断开逻辑连接和物理连接。
另外,在包括多个网络分区的网络拓扑中,两个节点之间有且只有一条物理连接,但是,逻辑连接可以有多条。例如,图2中,node 3和node 4既属于第一网络分区,又属于第三网络分区。node 3和node 4之间有且只有一条物理连接,但是,node 3和node 4之间可以包括两条逻辑连接L1和L2,其中,逻辑连接L1用于在第一网络分区中的通信,逻辑连接L2用于在第三网络分区中的通信。
如图1所示,联盟链在应用过程中,涉及到跨域通信。相关技术中,跨域通信主要通过NAT穿透技术实现。然而,由于联盟链的特殊性,联盟链中的一些机构对网络的安全性有更高的要求,因而,这些机构希望通过代理方式与外部(其他网络域)进行通信,即,通过代理方式映射节点内外网址进行内外网通信,以隐藏该机构的内部IP地址。这样,就可能出现一个机构给不同网络域中的机构连接用的IP地址不同的情况,尤其是在使用反向代理时。也就是说,通信系统中,一个节点会同时存在多个IP地址供多个网络域中的节点通信。例如,图1中节点1供第一网络域中的节点通信的IP地址为A,供第二网络域中的节点通信的IP地址为B。
目前,很多联盟链并没有考虑到机构需要使用代理方式通信的场景,因而有必要针对用户此需求对联盟链中节点之间的通信进行研究,其中,包括对于联盟链中节点的发现技术的研究。
在区块链网络中,节点发现是一个很重要的技术。试想,如果没有节点发现技术,在一个庞大的网络中,存在成百上千的节点,若一个新的节点需要加入该网络,则必须配置这成百上千节点的IP地址。这将非常复杂且非常耗时。而节点发现技术可以解决这个问题。新节点在加入网络时,只需要配置网络中的少数节点的IP地址,新节点与这少数节点建立连接后,通过节点发现即可发现网络中的其他节点,并与其他节点建立连接。
相关技术中,一些区块链项目虽然已经实现了节点发现功能,但是,这些节点发现技术都无法应用于联盟链中使用代理方式通信的场景下。
另外一方面,联盟链中,可能会存在多个网络分区,通信过程中存在跨网络分区的情况。如上所述,不同网络分区之间的业务消息是隔离的,这种应用场景对于节点发现的研究又是一种限制。
基于上述几方面的原因,本申请实施例旨在对于联盟链中使用代理方式通信,且可能存在多个网络分区通信的场景下节点发现及连接的方法进行研究,以满足用户在实际使用中的多种需求。
下面将结合图1,对本申请中的技术方案进行详细描述。需要说明,在不冲突的情况下,本申请中不同的技术特征之间可以相互结合。
本实施例提供的通信方法用于实现节点1与待加入的网络分区中需要连接的节点的连接。也就是说,本实施例中,以节点1为新加入节点为例,节点1需要加入的网络分区称为待加入的网络分区。待加入的网络分区中包括节点2和至少一个其他节点(即,节点2和至少一个其他节点均属于节点1的待加入的网络分区)。
具体的,参见图1,以下实施例中,以节点1为新加入节点,待加入的网络分区为第一网络分区为例,对通信方法进行说明。如图1所示,至少一个其他节点可以包括节点3和节点4。各个节点所属的网络域如图1所示。本实施例提供的通信方法用于实现节点1与节点2,以及其他节点中的节点4的连接。
需要说明的是,本申请实施例中以节点1加入第一网络分区为例进行说明。但是,本实施例提供的方法可以应用于包括一个或多个网络分区的通信系统中。对于通信系统中其他的新加入节点,以及节点1需要加入的其他的网络域分区均参照本申请实施例过程执行即可,本申请实施例不再一一赘述。
示例性的,图3示出了本申请提供的通信方法的示意性流程图。如图3所示,该方法可以包括:
S301、节点1与节点2建立第一连接;第一连接包括逻辑连接;节点1为第一连接的连接发起方,节点2为第一连接的连接接收方。
连接发起方(或称为发起方节点),即两个节点中发送连接请求的一方,连接接收方(或称为接收方节点),即两个节点中接收并响应连接请求的一方。需要说明的是,两个节点在连接的过程中,可能出现节点连接碰撞的情况,即两个节点同时向对方发起连接请求。发生节点连接碰撞时,根据预设规则,两个节点中的其中一个节点将放弃连接请求,并接收对端节点发送的连接请求,从而建立连接。本实施例中,由于节点2运行在网络中,并不知道节点1的IP地址,所以在这种情况下,节点1必然是作为连接发起方,不存在连接碰撞的问题。
可选的,节点1可以根据节点1的远程地址(remote address)列表中节点2的IP地址(以下称第一IP地址),向节点2发起连接请求。其中,第一IP地址可以通过用户配置得到。
具体的,用户可以对节点2的代理节点进行配置,以获取能够供节点1连接的第一IP地址,并将该第一IP地址配置于节点1的远程地址列表中。用户完成配置并启动节点后,节点1根据其远程地址中的第一IP地址向节点2发起连接,节点2响应连接请求,从而建立第一连接。
需要说明的是,根据实际使用需求的不同,本申请实施例涉及的IP地址可以为代理(包括正向代理和反向代理)节点提供的IP地址,也可以为NAT网关提供的IP地址,本申请对此不做任何限定,且下述实施例对于各个IP地址的来源不再赘述。
S302、节点1获取第一网络域地址列表;第一网络域地址列表用于表征节点1在至少一个网络域下的IP地址,其中,第一网络域地址列表中包括节点1在至少一个其他节点所在的网络域下的IP地址。
需要说明的是,本申请实施例中,某一节点在某一网络域下的IP地址是指该节点供该网络域中的节点通信连接的IP地址。例如,节点1在第一网络域下的IP地址A是指节点1供第一网络域中的节点通信连接的IP地址。换句话说,第一网络域中节点通过该IP地址A与节点1通信连接。
可选的,第一网络域地址列表中可以包括节点1在其本域和相关域下的IP地址,其他节点可能位于节点1的本域中,也可能位于节点1的相关域中。第一网络域地址列表中至少包括节点1在一个其他节点的网络域下的IP地址。第一网络域地址列表中的各个IP地址可以由用户配置得到。配置过程与上述节点1的远程地址列表的配置过程相似,在此不再赘述。
参照图1,节点1位于第一网络域,节点1的相关域包括第二网络域和第三网络域。第一网络域地址列表中可以包括节点1在第一网络域下的IP地址、第二网络域下的IP地址。例如,第一网络域地址列表可以为:{domain1:10.10.1.1:50011,domain2:117.10.11.1:50012,domain3:117.10.11.1:50013}。其中,domain1表示第一网络域,domain2表示第二网络域,domain3表示第三网络域。即,节点1提供给第一网络域中的节点4连接的IP地址为10.10.1.1:50011,节点1提供给第二网络域中的节点2和节点5连接的IP地址为117.10.11.1:50012,节点1提供给第三网络域中的节点3连接的IP地址为117.10.11.1:50013。也就是说,第一网络域地址列表中包括节点1在其他节点3和其他节点4所在的网络域下的IP地址。
S303、节点1基于第一连接,将第一网络域地址列表发送至节点2。
可以理解,节点1在发送第一网络域地址列表的同时,也可以将第一网络域地址列表存储于节点1的存储器中。
S304、节点2接收第一网络域地址列表。
S305、节点2将第一网络域地址列表广播至第一网络分区中的各个节点。
可选的,节点2可以使用Gossip协议广播至第一网络分区中所有节点。需要注意的是,这里节点2作为第一连接的接收方,将第一网络域地址列表广播,广播的对象是第一网络分区中的所有节点,而非节点2的邻居节点。节点2采用Gossip协议,周期性的随机选择一些节点传递第一网络域地址列表,这样能够减少网络中的冗余消息。
其他节点接收第一网络域地址列表,并从第一网络域地址列表中获取节点1在其他节点所在网络域下的IP地址。下面以图1中其他节点中的节点4为例进行说明,其他的其他节点与节点4过程相同,不再赘述。
S306、节点4接收第一网络域地址列表,并从第一网络域地址列表中获取节点1在节点4所在的网络域下的IP地址。
也就是说,节点4从第一网络域地址列表中查找节点1在第一网络域下的IP地址。若第一网络域地址列表中未包括节点1在第一网络域下的IP地址,则节点4丢弃该消息(接收到的第一网络域地址列表);若包括,则执行步骤S307。
S307、节点4确定节点1在节点4所在的网络域下的IP地址是否可通信。
具体的,节点4可以向节点1在节点4所在的网络域下的IP地址发起连接请求,确定是否可以通过该IP地址实现与节点1的通信。若发起连接请求后接收到对方的响应或反馈,则节点1确定该IP地址可通信。否则,节点1确定该IP地址不可通信。该实现方式中,在建立连接之前,节点4确定IP地址的可通信性,以减少无用的消息和通信,提高连接效率。
若节点4确定该IP地址不可通信,则节点4丢弃该IP地址;若节点4确定该IP地址可通信,则执行步骤S308。
S308、节点4根据节点1在节点4所在的网络域下的IP地址,与节点1建立连接。
通过上述过程,节点1能够实现对节点3和节点4的发现和连接。且上述过程中,节点1主动将其第一网络域地址列表发送至节点2,因而上述节点发现过程为PUSH形式的节点发现。本实施例中,通过PUSH形式的节点发现技术,实现了联盟链中使用代理方式通信场景下节点的自发现,满足了用户需求;且联盟链本身对于节点的身份验证较为严格,因而在联盟链中通过PUSH的方式进行节点发现,能够避免Eclipse攻击和Sybil攻击等,安全性较高。而且,本实施例中提供的方法能够应用于包括单个网络分区的网络系统,也能够应用于包括多网络分区的网络系统,满足用户的不同需求,适用性强。另外,本实施例提供的方法,节点2在广播第一网络域地址列表时,仅将第一网络域地址列表广播至第一网络分区中的节点,从而使得节点1仅与第一网络分区中的其他节点连接,实现了节点发现的分区隔离,不仅满足了联盟链中多个网络分区通信的场景下的节点自发现,且节点发现的分区隔离不会造成业务执行的混乱,进一步满足用户需求。
除此之外,如上述实施例,第一网络分区中的各个节点可能位于同一网络域,也可能位于不同的网络域,因而,本实施例提供的方法,不仅可以应用于包括仅一个网络域的网络系统,也可以应用于包括多个网络域的网络系统,即本实施例提供的方法可以实现跨域通信中的节点发现和连接,进一步满足了用户在跨域通信场景下的网络建立需求,提高用户体验。
在一个实施例中,上述步骤S308之后,所述方法还包括:
S309、节点4将节点1在节点4所在的网络域下的IP地址写入节点4的远程地址列表中。
该实现方式中,在实现连接之后,节点4进一步将节点1的IP地址回写至节点4的远程地址列表中,通过这种方式,节点4能够逐渐完善其远程地址列表,实现远程地址列表的自动回写,减少用户对于远程地址列表的配置,提高用户体验。
在一个实施例中,节点在采用PUSH方式进行节点发现的同时,还可以进一步采用PULL方式进行节点发现。具体的,参见图4,本实施例中提供的通信方法包括:
S401、节点1基于第一连接向节点2发送第一请求消息。
第一请求消息也称为第一节点请求消息(peer request)。第一请求消息用于指示节点2生成第一响应消息。第一响应消息也称为第一节点响应消息(peer response)。
S402、节点2接收第一请求消息。
S403、节点2响应于第一请求消息,获取至少一个第三网络域地址列表;第三网络域地址列表用于表征节点2的邻居节点中,位于第一网络分区中的节点在至少一个网络域下的IP地址。
节点2中可以预先存储有节点2的网络域地址列表,还可以存储有节点2的各个邻居节点的网络域地址列表。节点2从邻居节点的网络域地址列表中挑选出位于第一网络分区中的节点的网络域地址列表,得到第三网络域地址列表。关于节点2中存储的各个网络域地址列表的来源将在后续实施例进行说明。
S404、节点2从第三网络域地址列表中查找目标IP地址;目标IP地址是指节点在第一网络域下的IP地址,目标IP地址中包括至少一个其他节点在第一网络域下的IP地址。
具体的,节点2一一查找各个第三网络域地址列表,从中挑出每个网络域地址列表中存在于第一网络域下的IP地址,得到上述目标IP地址。
S405、节点2根据目标IP地址生成第一响应消息。
S406、节点2基于第一连接,将第一响应消息返回至节点1。
S407、节点1确定第一响应消息中其他节点(图4中以节点4为例)在第一网络域下的IP地址是否可通信。
该步骤的具体过程及有益效果与上述步骤S307类似,在此不再赘述。
若节点1确定第一响应消息中其他节点在第一网络域下的IP地址不可通信,则节点1丢弃该IP地址;若节点1确定该IP地址可通信,则执行步骤S408。
S408、节点1根据第一响应消息中其他节点在第一网络域下的IP地址,与其他节点建立连接。
例如,图1中,节点1与节点2建立连接后,节点1向节点2发送第一请求消息,节点2响应第一请求消息,生成第一响应消息。具体的,节点2的邻居节点包括节点1、节点3和节点5。由于步骤S301中,节点1与节点2已建立连接,因而节点1的网络域地址列表为重复消息,不必发送。且节点5不属于第一网络分区,因而,节点5的网络域地址列表也不可发送。所以,节点1将节点3的网络域地址列表作为上述第三网络域地址列表,从中查找在第一网络域下的IP地址,得到节点3在第一网络域下的IP地址。节点2将节点3在第一网络域下的IP地址作为目标IP地址,根据目标IP生成第一响应消息,并将第一响应消息发送至节点1。节点1根据第一响应消息中节点3在第一网络域下的IP地址,与节点3建立连接。
通过上述过程,节点1能够实现对节点3的发现和连接。且上述过程中,节点1通过向节点2拉取的方式获取节点3的IP地址,上述节点发现过程为PULL形式的节点发现。本实施例中,通过PULL形式的节点发现技术,实现了联盟链中使用代理方式通信场景下节点的自发现,满足了用户需求;且联盟链本身对于节点的身份验证较为严格,因而在联盟链中通过PULL的方式进行节点发现,能够避免Eclipse攻击和Sybil攻击等,安全性较高。另外,本实施例提供的方法,节点2向节点1返回的第一响应消息是从第三网络域列表中查找得到,第三网络域地址列表为节点2的邻居节点中位于第一网络分区的节点的网络域地址列表,因而节点2返回给节点1的消息不包括其他网络分区的消息,实现了节点发现的分区隔离,不仅满足了联盟链中多个网络分区通信的场景下的节点自发现,且节点发现的分区隔离不会造成业务执行的混乱,进一步满足用户需求。
而且,本实施例提供的方法,在采取PUSH的方式进行节点发现的同时,采用了PULL方式进行节点发现,两种方式相辅相成,能够更快更多的发现节点,提高节点连接的效率。具体的,采用PUSH方式节点发现时可能存在第一网络域地址列表中未配置有些其他节点所在的网络域下的IP地址,或者配置的IP地址不可通信的情况,采用PULL方式可能能够获取到该其他节点在第一网络域下的IP地址,由节点1与该节点建立连接。采用PULL方式节点发现时,对于节点1属于一新增网络域的情况,节点2中未存储任何节点在该新增网络域下的IP地址,则节点2无法返回响应消息给节点1,采用PUSH方式节点发现能够对此进行弥补。
需要说明的是,无论是采用PUSH的方式,还是PULL的方式,或者PUSH和PULL方式结合进行节点发现和连接时,若发现某一可通信的IP地址已经连接,则节点可以不再进行重复操作,即仅对未连接的节点进行连接。
在一个实施例中,上述步骤S403之前,该方法还包括:
S409、节点2确定预设存储位置(下述均以缓存为例)是否存储有目标IP地址。
若缓存中存储有目标IP地址,则节点2不执行任何操作。
若缓存中未存储目标IP地址,则节点执行上述步骤S403,且在步骤S404之后,该方法还包括:
S410、节点2将目标IP地址保存至缓存中。
S411、预设时长之后,节点2清除缓存中的目标IP地址。
也就是说,每次获取到目标IP地址后,节点2将该目标IP地址保存在缓存中预设时长。若在这预设时长内节点2再次接收到节点1发送的第一请求消息,则节点2不再向节点1返回第一响应消息。若在预设时长之后节点2再次接收到节点1发送的第一请求消息,则节点2按照上述步骤S403至S405,向节点1返回第一请求消息。这样,既能够减少网络中冗余消息,又能够在消息发送过程中出现丢包或其他无法送达的情况下,再次将包括目标IP地址的第一响应消息发送至节点1,保证了消息的尽力交付。
可选的,预设时长可以根据节点1发送第一请求消息的周期,以及网络环境的具体情况确定。例如,若网络环境良好,丢包现象很少发生,则可以将预设时长设置的长一些,比发送第一请求消息的周期大较多。若网络环境较差,时常出现丢包现象,则可以将预设时长设置短一些,比发送第一请求消息的周期略大。
在一个实施例中,上述步骤S408之后,所述方法还包括:
S412、节点1将第一响应消息中其他节点在第一网络域下的IP地址列表写入节点1的远程地址列表中。
该实现方式中,在实现连接之后,节点1进一步可通信的其他节点在第一网络域下的IP地址回写至节点1的远程地址列表中,通过这种方式,节点1能够逐渐完善其远程地址列表,实现远程地址列表的自动回写,减少用户对于远程地址列表的配置,提高用户体验。
示例性的,图5为又一个实施例中通信方法的流程示意图。本实施例中,节点1在加入上述第一网络分区之后,还可以进一步进行定时节点发现。具体的,如图5所示,所述方法还包括:
S501、节点1按照预设周期向节点1的邻居节点中的K个目标邻居节点发送第二请求消息。
K为大于或等于1的整数。可选的,节点1可以随机选择K个邻居节点作为目标邻居节点。
S502、目标邻居节点接收第二请求消息。
S503、目标邻居节点响应于第二请求消息,获取至少一个第四网络域地址列表。
第四网络域地址列表用于表征目标邻居节点的邻居节点中,位于第一网络分区中的节点在至少一个网络域下的IP地址。
S504、目标邻居节点从第四网络域地址列表中查找目标IP地址;目标IP地址是指节点在第一网络域下的IP地址,目标IP地址中包括至少一个其他节点在第一网络域下的IP地址。
S505、目标邻居节点根据目标IP地址生成第二响应消息。
S506、目标邻居节点将第二响应消息返回至节点1。
S507、节点1确定第二响应消息中其他节点在第一网络域下的IP地址是否可通信。
若节点1确定第二响应消息中其他节点在第一网络域下的IP地址不可通信,则节点1丢弃该IP地址;若节点1确定该IP地址可通信,则执行步骤S508。
S508、节点1根据第二响应消息中其他节点(图5中以节点4为例)在第一网络域下的IP地址,与其他节点建立连接。
本实施例中,第二请求消息和第二响应消息与上述实施例中第一请求消息和第一响应消息类似,步骤S502至步骤S508与上述步骤S402至步骤S408类似,在此不再赘述。
另外,该实现方式中,目标邻居节点和节点1也可以进一步执行与上述步骤S409至S412的过程,具体过程不再赘述。
同时,同上述实施例,定时发现过程中,若发现的某一可通信的IP地址已经连接,则节点可以不再进行重复操作,即仅对未连接的节点进行连接。
该实现方式中,在节点与第一网络分区中部分节点建立连接后,通过定时节点发现,再次发现节点,并与未建立连接的节点建立连接。定时节点发现能够及时发现前期因为消息丢失、节点暂时宕机等原因未发现的节点,并实现连接,使得节点发现更加全面,网络建立更加全面和准确。
下面结合实施例,对待加入的网络分区中各个节点中存储的网络域地址列表的获取过程进行说明。可选的,节点可以在建立连接时相互交换网络域地址列表,并在加入网络后,对网络域地址列表进行更新。下面,以节点2和节点3建立连接过程交换网络域地址列表的过程为例进行说明,其他的节点与此类似,不再重复说明。
示例性的,图6为本申请一个实施例提供的网络域地址列表的获取过程的流程示意图,如图6所示,该过程包括:
S101、节点3与节点2建立第二连接,其中,节点3位于第三网络域,节点2位于第二网络域。
节点3和节点2建立第二连接的过程与节点1与节点2建立第一连接的过程类似,在此不再赘述。
需要说明的是,节点3和节点2在连接的过程中,可能出现节点连接碰撞的情况。发生节点连接碰撞时,根据预设规则,两个节点中的其中一个节点将放弃连接请求,并接收对端节点发送的连接请求,从而建立连接。本申请实施例中,有连接碰撞时,所述的连接发起方是指两个节点中发起连接请求并成功建立连接的一方;对应的连接接收方是指两个节点中接收并响应连接请求,并成功建立连接的一方。
为了便于说明,下述实施例中,以节点3为第二连接的连接发起方,节点2为第二节点的连接接收方为例进行说明。
S102、节点3获取节点3的网络域地址列表;节点3的网络域地址列表用于表征节点3在至少一个网络域下的IP地址,节点3的网络域地址列表中至少包括节点3在第三网络域下的IP地址。
S103、节点3基于第二连接,将节点3的网络域地址列表发送至节点2。
可以理解,节点3在发送节点3的网络域地址列表的同时,也可以将节点3的网络域地址列表存储于节点3的存储器中。
S104、节点2接收并保存节点3的网络域地址列表。
S105、节点2获取节点2的网络域地址列表;节点2的网络域地址列表用于表征节点2在至少一个网络域下的IP地址,第二网络域地址列表中至少包括节点2在第二网络域下的IP地址。
S106、节点2基于第二连接,将节点2的网络域地址列表发送至节点3。
可以理解,节点2在发送节点2的网络域地址列表的同时,也可以将节点2的网络域地址列表存储于节点2的存储器中。
S107、节点3接收并保存节点2的网络域地址列表。
通过上述过程,节点3与节点2交换了网络域地址列表。这样,节点3和节点2中均保存有节点3的网络域地址列表和节点2的网络域地址列表。
上述过程对于每个节点来说,可以使用多个IP地址与不同域进行通信,而不必指定一个节点只能使用一个IP地址,这样使得联盟链的组网更加的灵活性,且能够满足用户在联盟链中使用代理方式映射节点内外网址进行内外网通信的需求,提高用户体验。
以上为节点3与节点2交换网络域地址列表的过程。可以理解,通信系统中存在邻居关系的任意两个节点均可以通过上述过程交换各自的网络域地址列表。如此以来,通信系统中每个节点均可以保存有本节点和本节点的各个邻居节点的网络域地址列表,从而每个节点均可以获知与邻居节点通信的IP地址,从而便于实现上述节点发现过程。
在一个实施例中,当节点3为第二连接中的连接发起方,节点2为第二连接中的连接接收方时,节点2的网络域地址列表中节点2在第三网络域下的IP地址也可以通过动态回写得到。具体的,节点3在向节点2发送节点3的网络域地址列表的同时,将节点3的远程地址列表中节点2的IP地址(以下称第二IP地址)也发送至节点2。
基于此,参见图7,步骤S104、节点2获取节点2的网络域地址列表,具体包括:
S1041、节点2获取节点2的原始网络域地址列表。
可选的,节点2的原始网络域地址列表中可以包括节点2在第三网络域下的IP地址。可选的,可能由于用户未配置等原因,节点2的原始网络域地址列表中也可以未包括节点2在第三网络域下的IP地址。
S1042、节点2判断节点2的原始网络域地址列表中是否包括节点2在第三网络域下的IP地址;
若包括,则执行步骤S1043;
若未包括,则执行步骤S1044。
S1043、将节点2的原始网络域地址列表作为节点2的网络域地址列表。
S1044、将第二IP地址作为节点2在第三网络域下的IP地址写入节点2的原始网络域地址列表,得到节点2的网络域地址列表。
可以理解,由于节点3通过第二IP地址与节点2建立了连接,那么说明第二IP地址是可以供第三网络域下的节点3连接的,则可以将第二IP地址作为节点2在第三网络域下的IP地址。
例如,假设节点3的远程地址列表中配置了节点2的IP地址(即第二IP地址)为117.11.10.2:50012,节点2的原始第二网络域地址列表为:{domain2:10.10.1.2:50012}。节点2判断节点2的原始网络域地址列表中未包括节点2在第三网络域下的IP地址,则节点2将第二IP地址写入节点2的原始网络域地址列表,得到最终的节点2的网络域地址列表为:{domain2:10.10.1.2:50012,domain3:117.11.10.2:50012}。
本实施例中,对于接收方节点,通过动态回写获得其网络域地址列表。这样,对于用户漏配置,或者通信系统中新加入的网络域及节点,无需用户再进行配置,即可得到网络域地址列表,因而能够简化用户的配置过程,进一步提高用户体验。
在一个实施例中,节点3和节点2在交换了网络域地址列表后,节点3和节点2可以分别对对方的网络域地址列表进行检查。具体的,如图8所示,所述方法还可以包括:
S1081、节点3确定节点2的网络域地址列表中是否包括节点2在第三网络域下的IP地址;
若否,则执行步骤S1082;
若是,则执行步骤S1084。
S1082、节点3基于第二连接向节点2发送第一提示信息,第一提示信息用于提示节点2打印第一警告日志(warninglog)。
S1083、节点2接收第一提示信息,并根据第一提示信息打印第一警告日志,第一警告日志用于提示用户节点2的网络域地址列表中未包括节点2在第三网络域下的IP地址。
通过生成第一警告日志使得用户能够获知节点2的网络域地址列表中未包括节点2在第三网络域下的IP地址,从而便于用户根据需要对该IP地址进行配置或者执行其他操作。该实现方式增加了节点与用户的交互,便于用户获知网络域地址列表的情况,从而便于用户对节点2的网络域地址列表进行完善,进而更好的实现后续的通信,进一步提高用户体验。
S1084、节点3确定节点2在第三网络域下的IP地址是否可通信;
若是,则结束流程;
若否,则执行步骤S1085。
S1085、节点3向节点2发送第二提示信息,第二提示信息用于提示节点2打印第二警告日志。
S1086、节点2接收第二提示信息,并根据第二提示信息打印第二警告日志,第二警告日志用于提示用户节点2在第三网络域下的IP地址不可通信。
通过生成第二警告日志使得用户能够获知节点2在第三网络域下的IP地址不可通信,可能存在配置错误或连接问题,从而便于用户根据需要对该IP地址进行修改或检查连接等操作。该实现方式增加了节点与用户的交互,保证了节点2的网络域地址列表的正确性,从而保证了联盟链通信的准确性和可靠性,进一步提高用户体验。
同时,节点2也可以对节点3发送的节点3的网络域列表进行检查,具体过程与节点3检查节点2的网络域地址列表的过程类似,包括:
节点2确定节点3的网络域地址列表中是否包括节点3在第二网络域下的IP地址。
若节点3的网络域地址列表中未包括节点3在第二网络域下的IP地址,则:节点2基于第二连接向节点3发送第三提示信息,第三提示信息用于提示节点3打印第三警告日志;节点2接收第三提示信息,并根据第三提示信息打印第三警告日志,第三警告日志用于提示用户节点3的网络域地址列表中未包括节点3在第二网络域下的IP地址。
若节点3的网络域地址列表中包括节点3在第二网络域下的IP地址,则节点2确定节点3在第二网络域下的IP地址是否可通信。
若节点2确定节点3在第二网络域下的IP地址可通信,则结束流程;若节点2确定节点3在第二网络域下的IP地址不可通信,则节点2向节点3发送第四提示信息,第四提示信息用于提示节点3打印第四警告日志;节点3接收第四提示信息,并根据第四提示信息打印第四警告日志,第四警告日志用于提示用户节点3在第二网络域下的IP地址不可通信。
节点2检查节点3的网络域地址列表的具体过程和有益效果等参见节点3检查节点2的网络域地址列表,在此不再赘述。
在一个实施例中,当通信系统有新的机构(即某一网络域下的节点)加入,或者有机构从通信系统中离开,或者节点在某一个或某几个网络域下的IP地址配置错误,或者配置遗漏等情况发生时,通信系统中的相关节点可以基于用户的修改指令对网络域地址列表进行动态修改,并对网络中节点的连接状态进行更新,即对节点通信进行管理。具体的,请参见图9,以通信系统中的节点3接收到修改指令为例进行说明。如图9所示,该联盟链通信方法还可以包括:
S1091、节点3接收用户输入的列表修改指令;列表修改指令用于指示修改节点3的网络域地址列表。
可选的,列表修改指令中可以包括修改类型和修改信息等。修改类型可以为新增、更新或删除。修改信息可以包括待修改的网络域名称、IP地址等。
其中,修改类型为“新增”的列表修改指令的应用场景例如可以为:基于上述实施例中的第三警告日志,用户向节点3发送列表修改指令,该列表修改指令用于指示在节点3的网络域地址列表中增加节点3在第二网络域下的IP地址。或者,通信系统中新加入新的网络域C下的节点,该节点为节点3的邻居节点,则,用户向节点3发送列表修改指令,该列表修改指令用于指示在节点3的网络域地址列表中增加节点3在该新的网络域C下的IP地址。
修改类型为“更新”的列表修改指令的应用场景例如可以为:基于上述实施例中的第四警告日志,用户向节点3发送列表修改指令,该列表修改指令用于指示更新节点3的网络域地址列表中节点3在第二网络域下的IP地址为新的IP地址。
修改类型为“删除”的列表修改指令的应用场景例如可以为:某一网络域D下的各个节点均不再与节点3进行连接,则用户向节点3发送列表修改指令,该列表修改指令用于指示删除节点3的网络域地址列表中节点3在网络域D下的IP地址。
可选的,修改类型可以通过在修改信息后增加字符信息来表示,例如,“-I”表示新增,“-U”表示更新,“-D”表示删除。当然,修改类型也可以通过其他的方式表示,例如:{update:{domain2: 117.11.10.1:50011}}表示更新第二网络域下的IP地址为117.11.10.1:50011。本申请实施例对于修改类型及列表修改指令的具体形式不做任何限定。
S1092、节点3基于列表修改指令,对节点3的网络域地址列表进行修改,并将修改指令广播至节点3的邻居节点。
如上述实施例所述,节点3和节点3的各个邻居节点通过交换网络域地址列表,从而使得每个节点均保存有本节点和本节点的各个邻居节点的网络域地址列表。节点3对本节点存储的节点3的网络域地址列表进行修改后,需要进一步将列表修改指令告知各个邻居节点,以使邻居节点同步更新节点3的网络域地址列表。
S1093、节点3的各个邻居节点基于列表修改指令修改各自存储的节点3的网络域地址列表。
示例性的,图10示出了动态修改网络域地址列表的过程示意图。节点3接收用户的列表修改指令,对节点3的网络域地址列表修改后,将修改指令进一步广播至节点3的邻居节点:节点2、节点4、……节点n。节点2、节点4、……节点n修改各自存储的节点3的网络域地址列表。
当然,在一些实施例中,节点3也可以将修改后的节点3的网络域地址列表广播至节点3的各个邻居节点,以实现对各个邻居节点中存储的节点3的网络域地址列表的更新。
本实施例中,仅将列表修改指令广播至节点3的各个邻居节点,这样能够减少冗余消息的广播,减少网络堵塞等情况,从而提高网络通信的效率,保证网络通信的高效性。
S1093、若列表修改指令用于指示删除节点3的网络域地址列表中节点3在第一目标域下的IP地址,则节点3的邻居节点中位于第一目标域下的节点断开与节点3的连接。
也就是说,若列表修改指令中的修改类型为“删除”,修改信息为节点3在第一目标域下的IP地址,则该第一目标域下的各个节点接收到节点3广播的指令后,均断开与节点3的连接。
例如,列表修改指令用于指示删除节点3的网络域地址列表中的“domain2:117.10.11.1:50012”,也即删除节点3在第二网络域下的IP地址117.10.11.1:50012。则第二网络域下的节点(包括节点2)接收到节点3广播的该列表修改指令,从各自保存的节点3的网络域地址列表中删除该信息,且二者均断开与节点3的连接。
S1094、若列表修改指令用于指示更新节点3的网络域地址列表中节点3在第二目标域下的IP地址为目标IP地址,则节点3的邻居节点中位于第二目标域下的节点断开与节点3的连接,并根据目标IP地址与节点3重新建立连接。
也就是说,若列表修改指令中的修改类型为“更新”,修改信息为将节点3在第二目标域下的IP地址修改为目标IP地址,则该第二目标域下的各个节点接收到节点3广播的该列表修改指令后,分别断开与节点3的连接,并使用目标IP地址与节点3重新建立连接。
例如,节点3的网络域地址列表中原本为:{domain2:117.10.11.1:50012,domain3:10.10.1.1:50011},列表修改指令为{update:{domain2: 117.11.10.1:50011}},用于指示更新节点3的网络域地址列表中的节点3在第二网络域下的IP地址为117.11.10.1:50011。则,第二网络域下的节点2和节点5接收到节点3广播的该列表修改指令,更新各自保存的节点3的网络域地址列表中的该信息,且二者均断开与节点3的连接,并使用IP地址117.11.10.1:50011分别与节点3重新建立连接。
本实施例中,在接收用户输入的列表修改指令的情况下,节点3基于该列表修改指令对其节点3的网络域地址列表进行了修改。同时,节点3将该列表修改指令广播至节点3的各个邻居节点,以使节点3的各个邻居节点更新各自保存的节点3的网络域地址列表,从而使得通信系统中各个节点中存储的节点3的网络域地址列表均得到了更新,保证了各个节点中该网络域地址列表的一致性,从而保证了通信的准确性和可靠性,进一步使得节点发现时获取的各个网络域地址列表的准确性,提高节点发现的准确性。另一方面,本实施例提供的方法能够在通信系统运行时动态的配置IP地址、修改网络域地址列表以及管理节点通信,而无需将节点宕机重启,从而能够简化网络通信的过程,保证网络的稳定性,节约用户时间,进一步提高用户体验。另外,上述动态修改网络域地址列表的过程用户是无感知的,也就是说,上述过程对于用户而言是透明的,这进一步提高了用户体验。而且,节点3的各个邻居节点根据列表更新指令对与节点3的连接状态进行更新,从而保证了节点连接的准确性,保证了网络通信的可靠性,进一步提高用户体验。
需要说明的是,上述实施例中多以联盟链通信方法应用于通过代理方式映射节点内外网址进行内外网通信的场景为例进行说明,然而,除此之外,本实施例提供的方法也可以应用于任何可能导致一个节点存在多个IP地址供多个网络域的节点通信的情况,本申请对此不做限定。
应该理解的是,虽然上述实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图11示出了本申请实施例提供的联盟链通信装置的结构框图,该联盟链通信装置可以为第二节点(即节点2)。如图11所示,本实施例提供的联盟链通信装置,可以包括:
第一接收模块1101,用于通过与第一节点之间的第一连接接收来自第一节点的第一信息;第一连接包括逻辑连接,第一连接的连接发起方为第一节点;第一信息中包括第一节点在目标网络域下的地址,目标网络域为至少一个其他节点所在的网络域,至少一个其他节点是指第一节点待加入的网络分区中除第二节点外的节点;第一节点在目标网络域下的地址用于第一节点与至少一个其他节点建立连接;
第一发送模块1102,用于向至少一个其他节点发送第一信息。
在一个实施例中,第一节点属于第一网络域,第一接收模块1101还用于接收来自第一节点的第一请求消息;第一请求消息用于请求提供至少一个其他节点在第一网络域下的地址;至少一个其他节点在第一网络域下的地址用于第一节点与至少一个其他节点建立连接;第一发送模块1102还用于响应于第一请求消息,通过第一连接,向第一节点发送第一响应消息,第一响应消息中包括至少一个其他节点在第一网络域下的地址。
在一个实施例中,第一发送模块1102还用于获取至少一个第二信息;第二信息包括第二节点的邻居节点中位于待加入的网络分区的节点在一个或多个网络域下的地址;从各个第二信息中查找目标地址;目标地址是指节点在第一网络域下的地址,目标地址中包括至少一个其他节点在第一网络域下的地址。
在一个实施例中,第一发送模块1102具体用于在确定预设存储位置未存储有目标地址的情况下,从各个第二信息中查找目标地址。
在一个实施例中,第一发送模块1102还用于将目标地址保存至预设存储位置;预设时长之后,清除预设存储位置的目标地址。
本实施例提供的联盟链通信装置,用于执行本申请方法实施例提供的联盟链通信方法中节点2的步骤,技术原理和技术效果相似,具体可参见方法实施例部分,此处不再赘述。
图12示出了本申请实施例提供的联盟链通信装置的结构框图,该联盟链通信装置可以为第一节点(即节点1)。如图12所示,本实施例提供的联盟链通信装置,可以包括:
获取模块1201,用于获取第一信息;第一信息中包括第一节点在目标网络域下的地址;目标网络域为至少一个其他节点所在的网络域,至少一个其他节点是指第一节点待加入的网络分区中除第二节点外的节点;第一节点在目标网络域下的地址用于第一节点与至少一个其他节点建立连接;
第二发送模块1202,用于通过与第二节点之间的第一连接,向第二节点发送第一信息;第一连接包括逻辑连接,第一连接的连接发起方为第一节点。
在一个实施例中,第一节点属于第一网络域,第二获取模块1201还用于获取至少一个其他节点在第一网络域下的地址;该装置还包括连接模块1203,用于根据至少一个其他节点在第一网络域下的地址,与至少一个其他节点建立连接。
在一个实施例中,获取模块1201具体用于向目标节点发送第一请求消息,第一请求消息用于请求目标节点提供至少一个其他节点在第一网络域下的地址;目标节点包括第二节点和/或第一节点的邻居节点中的至少一个目标邻居节点;接收来自目标节点的第一响应消息;第一响应消息中包括至少一个其他节点在第一网络域下的地址。
在一个实施例中,连接模块1203具体用于在至少一个其他节点在第一网络域下的地址可通信的情况下,根据至少一个其他节点在第一网络域下的地址,与至少一个其他节点建立连接。
在一个实施例中,获取模块1201还用于确定第一节点的远程地址列表,第一节点的远程地址列表中包括至少一个其他节点在第一网络域下的地址。
在一个实施例中,第一节点的远程地址列表中还包括用于指示每个其他节点在第一网络域下的地址是否可通信的指示信息。
在一个实施例中,第一节点属于第一网络域,第一节点的远程地址列表中包括第二节点的地址,连接模块1203还用于根据第二节点的地址,与第二节点建立第一连接。
本实施例提供的联盟链通信装置,用于执行本申请方法实施例提供的联盟链通信方法中节点1的步骤,技术原理和技术效果相似,具体可参见方法实施例部分,此处不再赘述。
本申请实施例还提供了一种联盟链通信系统,该系统包括第一联盟链通信装置和第二联盟链通信装置,第一联盟链通信装置可以为第一节点,第二联盟链通信装置可以为第二节点。第一联盟链通信装置用于执行本申请方法实施例提供的通信方法中节点1的步骤,第二联盟链通信装置用于执行本申请方法实施例提供的通信方法中节点2的步骤,技术原理和技术效果相似,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
参见图13,本申请实施例还提供了一种电子设备,该电子设备可以为上述申请实施例中的第一节点中的第一联盟链通信装置,也可以为上述申请实施例中的第二节点中的第二联盟链通信装置。该电子设备包括:处理器1301、接收器1302、发射器1303、存储器1304和总线1305。处理器1301包括一个或者多个处理核心,处理器1301通过运行软件程序以及模块,从而执行各种功能的应用以及信息处理。接收器1302和发射器1303可以实现为一个通信组件,该通信组件可以是一块基带芯片。存储器1304通过总线1305和处理器1301相连。存储器1304可用于存储至少一个程序指令,处理器1301用于执行至少一个程序指令,以实现上述实施例的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
当电子设备开机后,处理器可以读取存储器中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过天线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至控制电路中的控制电路,控制电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到电子设备时,控制电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。
本领域技术人员可以理解,为了便于说明,图13仅示出了一个存储器和处理器。在实际的电子设备中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
作为一种可选的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信数据进行处理,中央处理器主要用于执行软件程序,处理软件程序的数据。本领域技术人员可以理解,基带处理器和中央处理器可以集成在一个处理器中,也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,电子设备可以包括多个基带处理器以适应不同的网络制式,电子设备可以包括多个中央处理器以增强其处理能力,电子设备的各个部件可以通过各种总线连接。该基带处理器也可以表述为基带处理电路或者基带处理芯片。该中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储器中,由处理器执行软件程序以实现基带处理功能。该存储器可以集成在处理器中,也可以独立在处理器之外。该存储器包括高速缓存Cache,可以存放频繁访问的数据/指令。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器可以是非易失性存储器,比如硬盘( hard diskdrive,HDD)或固态硬盘( solid-state drive,SS)等,还可以是易失性存储器( volatilememory),例如随机存取存储器( random- access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,不限于此。
本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。本申请各实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘( digital video disc,DWD)、或者半导体介质(例如,SSD)等。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述任意方法实施例中的步骤。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (15)
1.一种通信方法,其特征在于,所述方法包括:
通过与第一节点之间的第一连接接收来自所述第一节点的第一信息;所述第一连接包括逻辑连接,所述第一连接的连接发起方为所述第一节点;所述第一信息中包括所述第一节点在目标网络域下的地址,所述目标网络域为至少一个其他节点所在的网络域,至少一个所述其他节点是指所述第一节点待加入的网络分区中除第二节点外的节点;所述第一节点在所述目标网络域下的地址用于所述第一节点与至少一个所述其他节点建立连接;
向至少一个所述其他节点发送所述第一信息。
2.根据权利要求1所述的方法,其特征在于,所述第一节点属于第一网络域,所述方法还包括:
接收来自所述第一节点的第一请求消息;所述第一请求消息用于请求提供至少一个所述其他节点在所述第一网络域下的地址;至少一个所述其他节点在所述第一网络域下的地址用于所述第一节点与至少一个所述其他节点建立连接;
响应于所述第一请求消息,通过所述第一连接,向所述第一节点发送第一响应消息,所述第一响应消息中包括至少一个所述其他节点在所述第一网络域下的地址。
3.根据权利要求2所述的方法,其特征在于,所述通过所述第一连接,向所述第一节点发送第一响应消息之前,所述方法还包括:
获取至少一个第二信息;所述第二信息包括所述第二节点的邻居节点中位于所述待加入的网络分区的节点在一个或多个网络域下的地址;
从各个所述第二信息中查找目标地址;所述目标地址是指节点在所述第一网络域下的地址,所述目标地址中包括至少一个所述其他节点在所述第一网络域下的地址。
4.根据权利要求3所述的方法,其特征在于,所述从各个所述第二信息中查找目标地址,包括:
在确定预设存储位置未存储有所述目标地址的情况下,从各个所述第二信息中查找所述目标地址。
5.根据权利要求4所述的方法,其特征在于,所述在确定预设存储位置未存储有所述目标地址的情况下,从各个所述第二信息中查找所述目标地址之后,所述方法还包括:
将所述目标地址保存至所述预设存储位置;
预设时长之后,清除所述预设存储位置的所述目标地址。
6.一种通信方法,其特征在于,所述方法包括:
获取第一信息;所述第一信息中包括第一节点在目标网络域下的地址;所述目标网络域为至少一个其他节点所在的网络域,至少一个所述其他节点是指所述第一节点待加入的网络分区中除第二节点外的节点;所述第一节点在所述目标网络域下的地址用于所述第一节点与至少一个所述其他节点建立连接;
通过与所述第二节点之间的第一连接,向所述第二节点发送所述第一信息;所述第一连接包括逻辑连接,所述第一连接的连接发起方为所述第一节点。
7.根据权利要求6所述的方法,其特征在于,所述第一节点属于第一网络域,所述方法还包括:
获取至少一个所述其他节点在所述第一网络域下的地址;
根据至少一个所述其他节点在所述第一网络域下的地址,与至少一个所述其他节点建立连接。
8.根据权利要求7所述的方法,其特征在于,所述获取至少一个所述其他节点在所述第一网络域下的地址,包括:
向目标节点发送第一请求消息,所述第一请求消息用于请求所述目标节点提供至少一个所述其他节点在所述第一网络域下的地址;所述目标节点包括所述第二节点和/或所述第一节点的邻居节点中的至少一个目标邻居节点;
接收来自所述目标节点的第一响应消息;所述第一响应消息中包括至少一个所述其他节点在所述第一网络域下的地址。
9.根据权利要求7所述的方法,其特征在于,所述根据至少一个所述其他节点在所述第一网络域下的地址,与至少一个所述其他节点建立连接,包括:
在至少一个所述其他节点在所述第一网络域下的地址可通信的情况下,根据至少一个所述其他节点在所述第一网络域下的地址,与至少一个所述其他节点建立连接。
10.根据权利要求7所述的方法,其特征在于,所述获取至少一个所述其他节点在所述第一网络域下的地址之后,所述方法还包括:
确定所述第一节点的远程地址列表,所述第一节点的远程地址列表中包括至少一个所述其他节点在所述第一网络域下的地址。
11.根据权利要求10所述的方法,其特征在于,所述第一节点的远程地址列表中还包括用于指示每个所述其他节点在所述第一网络域下的地址是否可通信的指示信息。
12.根据权利要求6至11中任一项所述的方法,其特征在于,所述第一节点属于第一网络域,所述第一节点的远程地址列表中包括所述第二节点的地址,所述通过与所述第二节点之间的第一连接,向所述第二节点发送所述第一信息之前,所述方法还包括:
根据所述第二节点的地址,与所述第二节点建立所述第一连接。
13.一种通信系统,其特征在于,包括:第一节点和第二节点,所述第二节点用于执行如权利要求1至5中任一项所述的方法,所述第一节点用于执行如权利要求6至12中任一项所述的方法。
14.一种电子设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法,或者实现如权利要求6至12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法,或者实现如权利要求6至12任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111599322.9A CN113992434B (zh) | 2021-12-24 | 2021-12-24 | 通信方法、系统、电子设备及可读存储介质 |
PCT/CN2022/111762 WO2023115982A1 (zh) | 2021-12-24 | 2022-08-11 | 通信方法、系统、电子设备及可读存储介质 |
US17/921,502 US20240223664A1 (en) | 2021-12-24 | 2022-08-11 | Communication method, system, electronic device and readable storage medium |
EP22789151.2A EP4228209A4 (en) | 2021-12-24 | 2022-08-11 | COMMUNICATION METHOD AND SYSTEM, ELECTRONIC DEVICE AND READABLE STORAGE MEDIUM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111599322.9A CN113992434B (zh) | 2021-12-24 | 2021-12-24 | 通信方法、系统、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992434A true CN113992434A (zh) | 2022-01-28 |
CN113992434B CN113992434B (zh) | 2022-04-01 |
Family
ID=79734305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111599322.9A Active CN113992434B (zh) | 2021-12-24 | 2021-12-24 | 通信方法、系统、电子设备及可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240223664A1 (zh) |
EP (1) | EP4228209A4 (zh) |
CN (1) | CN113992434B (zh) |
WO (1) | WO2023115982A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499409A (zh) * | 2022-09-29 | 2022-12-20 | 阿里巴巴(中国)有限公司 | Nat网关、服务器和网络系统 |
WO2023115982A1 (zh) * | 2021-12-24 | 2023-06-29 | 杭州趣链科技有限公司 | 通信方法、系统、电子设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003243A1 (en) * | 2007-06-15 | 2009-01-01 | Silver Spring Networks, Inc. | Network utilities in wireless mesh communications networks |
WO2019010459A1 (en) * | 2017-07-07 | 2019-01-10 | Buki Pablo Javier | METHODS AND SYSTEMS FOR PROCESSING CHAIN TRANSACTIONS OF FAST AND HIGH VOLUME SETTING BLOCKS |
WO2019142049A1 (en) * | 2018-01-17 | 2019-07-25 | Geeq Corporation | Blockchain methods, nodes, systems and products |
CN110445850A (zh) * | 2019-07-24 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 区块链节点访问方法及装置、存储介质、电子设备 |
CN110708383A (zh) * | 2019-10-12 | 2020-01-17 | 深圳市网心科技有限公司 | 区块链节点的网络连接方法及相关设备 |
CN111224829A (zh) * | 2020-01-17 | 2020-06-02 | 深圳市网心科技有限公司 | 外部节点接入区块链网络的方法及装置,区块链网络 |
CN112822242A (zh) * | 2020-12-30 | 2021-05-18 | 杭州趣链科技有限公司 | 一种点对点网络及其节点通信方法和装置 |
CN112910660A (zh) * | 2021-03-25 | 2021-06-04 | 中国工商银行股份有限公司 | 区块链系统的证书颁发方法、添加方法及交易处理方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10321227A1 (de) * | 2003-05-12 | 2004-12-09 | Siemens Ag | Verfahren zum Datenaustausch zwischen Netzelementen |
US10033516B2 (en) * | 2016-11-30 | 2018-07-24 | International Business Machines Corporation | Multi-domain connection establishment in computer networking communications |
US10813032B2 (en) * | 2018-11-14 | 2020-10-20 | Landis+Gyr Innovations, Inc. | Systems and methods for neighboring node discovery in a network |
CN111598564B (zh) * | 2019-02-20 | 2023-11-21 | 华为技术有限公司 | 区块链节点连接建立方法、装置及设备 |
CN110266763B (zh) * | 2019-05-20 | 2022-04-12 | 深圳壹账通智能科技有限公司 | 跨网段互连的区块链网络实现方法、系统及存储介质 |
CN110891082A (zh) * | 2019-10-24 | 2020-03-17 | 南京可信区块链与算法经济研究院有限公司 | 一种联盟链中p2p端口地址的连接方法、系统及存储介质 |
CN113992434B (zh) * | 2021-12-24 | 2022-04-01 | 杭州趣链科技有限公司 | 通信方法、系统、电子设备及可读存储介质 |
-
2021
- 2021-12-24 CN CN202111599322.9A patent/CN113992434B/zh active Active
-
2022
- 2022-08-11 WO PCT/CN2022/111762 patent/WO2023115982A1/zh active Application Filing
- 2022-08-11 EP EP22789151.2A patent/EP4228209A4/en active Pending
- 2022-08-11 US US17/921,502 patent/US20240223664A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003243A1 (en) * | 2007-06-15 | 2009-01-01 | Silver Spring Networks, Inc. | Network utilities in wireless mesh communications networks |
WO2019010459A1 (en) * | 2017-07-07 | 2019-01-10 | Buki Pablo Javier | METHODS AND SYSTEMS FOR PROCESSING CHAIN TRANSACTIONS OF FAST AND HIGH VOLUME SETTING BLOCKS |
WO2019142049A1 (en) * | 2018-01-17 | 2019-07-25 | Geeq Corporation | Blockchain methods, nodes, systems and products |
CN110445850A (zh) * | 2019-07-24 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 区块链节点访问方法及装置、存储介质、电子设备 |
CN110708383A (zh) * | 2019-10-12 | 2020-01-17 | 深圳市网心科技有限公司 | 区块链节点的网络连接方法及相关设备 |
CN111224829A (zh) * | 2020-01-17 | 2020-06-02 | 深圳市网心科技有限公司 | 外部节点接入区块链网络的方法及装置,区块链网络 |
CN112822242A (zh) * | 2020-12-30 | 2021-05-18 | 杭州趣链科技有限公司 | 一种点对点网络及其节点通信方法和装置 |
CN112910660A (zh) * | 2021-03-25 | 2021-06-04 | 中国工商银行股份有限公司 | 区块链系统的证书颁发方法、添加方法及交易处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023115982A1 (zh) * | 2021-12-24 | 2023-06-29 | 杭州趣链科技有限公司 | 通信方法、系统、电子设备及可读存储介质 |
CN115499409A (zh) * | 2022-09-29 | 2022-12-20 | 阿里巴巴(中国)有限公司 | Nat网关、服务器和网络系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023115982A1 (zh) | 2023-06-29 |
CN113992434B (zh) | 2022-04-01 |
EP4228209A1 (en) | 2023-08-16 |
EP4228209A4 (en) | 2024-04-24 |
US20240223664A1 (en) | 2024-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113992434B (zh) | 通信方法、系统、电子设备及可读存储介质 | |
TWI584194B (zh) | 在一服務導向架構(soa)網路中尋求服務之技術 | |
EP3070890A1 (en) | Multicast flow overlay using registration over a reliable transport | |
US20150312089A1 (en) | Method of managing zigbee network in the internet of things | |
US7920532B2 (en) | Method and apparatus for providing distributed service composition model for ad hoc networks | |
EP1890424A1 (en) | A system and method for achieving the data communication | |
TWI599201B (zh) | 網路系統及建立資料連線的方法 | |
CN101741914A (zh) | 一种p2p网络中穿透nat建立覆盖网的方法和系统 | |
JP2019525518A (ja) | ネットワーク化されたデバイス間のネットワーククラスターを確立するための方法 | |
US10291510B2 (en) | Topology structure discovery method and device | |
TWI740210B (zh) | 終端設備管理方法及伺服器 | |
WO2022062568A1 (zh) | 一种交换机的配置方法及相关设备 | |
CN113055297B (zh) | 网络拓扑发现方法及装置 | |
JP7430224B2 (ja) | パケット処理方法およびゲートウェイ・デバイス | |
JP7479427B2 (ja) | トランスポートプロトコル上でのポイント・ツー・ポイント・データベース同期 | |
JP2021523618A (ja) | 親/子関係を保持しながらのpan切り換え | |
US7940760B2 (en) | Method and apparatus for discovering component in at least one sub-network | |
WO2011116614A1 (zh) | 一种访问网络设备的方法、系统及装置 | |
CN109981315B (zh) | 一种anima网络的信息处理方法、设备及系统 | |
JP2021524188A (ja) | クリティカルパスノードのための接続性の管理 | |
JP2007181056A (ja) | 経路選択方法 | |
CN114301866B (zh) | 联盟链通信方法、系统、电子设备及可读存储介质 | |
CN112039822A (zh) | 一种基于WebRTC构建实时区块链网络的方法及系统 | |
CN115883286B (zh) | Igmp报文处理方法、装置、vtep设备及存储介质 | |
WO2017012315A1 (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 |