CN108810120B - 区块链节点通信方法、装置及区块链节点 - Google Patents
区块链节点通信方法、装置及区块链节点 Download PDFInfo
- Publication number
- CN108810120B CN108810120B CN201810552878.4A CN201810552878A CN108810120B CN 108810120 B CN108810120 B CN 108810120B CN 201810552878 A CN201810552878 A CN 201810552878A CN 108810120 B CN108810120 B CN 108810120B
- Authority
- CN
- China
- Prior art keywords
- node
- address
- query
- target
- target 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004891 communication Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 11
- 238000011161 development Methods 0.000 abstract description 5
- 230000001737 promoting effect Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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/2521—Translation architectures other than single NAT servers
- H04L61/2528—Translation at a proxy
-
- 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
-
- 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]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种区块链节点通信方法、装置及区块链节点。该方法包括:主存储节点接收目标节点发送的请求信息,该请求信息表示该目标节点请求成为从存储节点,该请求信息包括该目标节点的标识信息和第一指示信息,该第一指示信息用于指示该目标节点无公网IP地址;该主存储节点为该目标节点分配代理器节点的IP地址、第一端口号和随机数;该主存储节点将该代理器节点的IP地址、第一端口号和随机数发送给该目标节点,以使该目标节点向该代理器节点发送心跳报文,该心跳报文包括该目标节点对应的NAT的公网IP地址和第二端口号。本发明实施例使得没有公网IP地址的节点也可以成为从存储节点,促进了区块链业务的发展。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种区块链节点通信方法、装置及区块链节点。
背景技术
在区块链网络中,主存储节点可以存储完整的区块链账本,从存储节点可以存储部分的区块链账本,从存储节点可接收其他节点的查询访问,该从存储节点通过给其他节点提供查询服务以获取相应的奖励。
现有技术中,为了推广区块链业务,需要更多的节点成为从存储节点,但是要成为从存储节点,需要该节点具有公网IP地址,但是目前很多节点并没有公网IP地址,从而导致了很多节点无法成为从存储节点,限制了区块链业务的发展。
发明内容
本发明实施例提供一种区块链节点通信方法、装置及区块链节点,以使得没有公网IP地址的节点也可以成为从存储节点,促进区块链业务的发展。
第一方面,本发明实施例提供一种区块链节点通信方法,包括:
主存储节点接收目标节点发送的请求信息,所述请求信息表示所述目标节点请求成为从存储节点,所述请求信息包括所述目标节点的标识信息和第一指示信息,所述第一指示信息用于指示所述目标节点无公网IP地址;
所述主存储节点为所述目标节点分配代理器节点的IP地址、第一端口号和随机数;
所述主存储节点将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号。
第二方面,本发明实施例提供一种区块链节点通信装置,包括:
接收模块,用于接收目标节点发送的请求信息,所述请求信息表示所述目标节点请求成为从存储节点,所述请求信息包括所述目标节点的标识信息和第一指示信息,所述第一指示信息用于指示所述目标节点无公网IP地址;
分配模块,用于为所述目标节点分配代理器节点的IP地址、第一端口号和随机数;
发送模块,用于将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号。
第三方面,本发明实施例提供一种区块链节点,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现第一方面所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本发明实施例提供的区块链节点通信方法、装置及区块链节点,通过主存储节点给目标节点分配代理器节点的IP地址、第一端口号和随机数,使得目标节点给代理器节点发送心跳报文,该心跳报文包括目标节点的地址信息,使得代理器节点可以记录该目标节点的标识信息和该目标节点的地址信息的对应关系,使得目标节点可以成为区块链网络中的从存储节点,从而使得没有公网IP地址的节点也可以成为从存储节点,促进了区块链业务的发展。
附图说明
图1为本发明实施例提供的一种应用场景的示意图;
图2为本发明实施例提供的区块链节点通信方法流程图;
图3为本发明实施例提供的一种区块链网络的示意图;
图4为本发明另一实施例提供的区块链节点通信方法流程图;
图5为本发明实施例提供的区块链节点通信装置的结构示意图;
图6为本发明实施例提供的区块链节点的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本发明提供的区块链节点通信方法,可以适用于图1所示的通信系统。如图1所示,该通信系统包括:接入网设备11、终端设备12以及服务器13。需要说明的是,图1所示的通信系统可以适用于不同的网络制式,例如,可以适用于全球移动通讯(Global System ofMobile communication,简称GSM)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、时分同步码分多址(Time Division-Synchronous Code Division Multiple Access,简称TD-SCDMA)、长期演进(Long Term Evolution,简称LTE)系统及未来的5G等网络制式。可选的,上述通信系统可以为5G通信系统中高可靠低时延通信(Ultra-Reliable and Low LatencyCommunications,简称URLLC)传输的场景中的系统。
故而,可选的,上述接入网设备11可以是GSM或CDMA中的基站(Base TransceiverStation,简称BTS)和/或基站控制器,也可以是WCDMA中的基站(NodeB,简称NB)和/或无线网络控制器(Radio Network Controller,简称RNC),还可以是LTE中的演进型基站(Evolutional Node B,简称eNB或eNodeB),或者中继站或接入点,或者未来5G网络中的基站(gNB)等,本发明在此并不限定。
上述终端设备12可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(Wireless LocalLoop,简称WLL)站、个人数字助理(Personal Digital Assistant,简称PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、远程终端(RemoteTerminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(UserAgent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述终端设备12还可以是智能手表、平板电脑等设备。在本实施例中,终端设备12和服务器13可以是区块链网络中的节点。
本发明提供的区块链节点通信方法方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例提供的区块链节点通信方法流程图。本发明实施例针对现有技术的如上技术问题,提供了区块链节点通信方法,该方法具体步骤如下:
步骤201、主存储节点接收目标节点发送的请求信息,所述请求信息表示所述目标节点请求成为从存储节点,所述请求信息包括所述目标节点的标识信息和第一指示信息,所述第一指示信息用于指示所述目标节点无公网IP地址。
如图3所示,31表示区块链网络中的主存储节点,32表示区块链网络中的从存储节点,从存储节点32有自己的公网IP地址。33表示目标节点,目标节点33请求成为从存储节点,目标节点33没有公网IP地址,目标节点33通过网络地址转换(Network AddressTranslation,NAT)与区块链网络通信,34表示NAT,35、37表示该区块链网络中的查询节点,在本实施例中,查询节点35和查询节点37也没有自己的公网IP地址,查询节点35和查询节点37也通过NAT与区块链网络通信,也就是说,查询节点35和查询节点37是处于NAT下的节点。36表示代理器节点。由从存储节点为该查询节点35和查询节点37提供查询服务。此处只是示意性说明,并不限定区块链网络的具体网络架构。
当目标节点33首次加入区块链网络的时候,需要从该目标节点33的相邻节点获取创世区块,可选的,区块链网络中的节点均存储有创世区块。为了保证该目标节点33获取到真实的创世区块,该目标节点33可以向多个相邻节点发送创世区块查询请求,例如,目标节点33向相邻节点B和相邻节点C分别发送创世区块查询请求,相邻节点B和相邻节点C接收到该创世区块查询请求后,将各自本地存储的创世区块发送给目标节点33,目标节点33比较相邻节点B和相邻节点C反馈的创世区块是否一致,如果相邻节点B和相邻节点C反馈的创世区块一致,则目标节点33将该创世区块存储在本地;如果相邻节点B和相邻节点C反馈的创世区块不一致,则目标节点33还可以继续向相邻节点D和相邻节点E发送创世区块查询请求,并接收相邻节点D和相邻节点E分别反馈的创世区块,若相邻节点B、相邻节点C、相邻节点D和相邻节点E中超过预设比例的相邻节点反馈的创世区块是一致,则目标节点33确定该创世区块是真实的。可选的,相邻节点B、相邻节点C、相邻节点D和相邻节点E中超过百分之五十的相邻节点例如相邻节点C、相邻节点D和相邻节点E分别反馈的创世区块一致,则目标节点33确定相邻节点C反馈的创世区块是真实的,相邻节点B反馈的创世区块是虚假的。
当目标节点33获取到真实的创世区块后,将该创世区块存储到本地,并从该创世区块中获取主存储节点的IP地址,可选的,该创世区块中存储有一个或多个主存储节点的IP地址,该目标节点33可根据一个或多个主存储节点的IP地址,向一个或多个主存储节点发送请求信息,本实施例以目标节点33向一个主存储节点发送请求信息为例,例如,目标节点33向主存储节点31发送请求信息,该请求信息用于表示目标节点33想成为从存储节点,并且该请求信息中包括目标节点33的标识信息、目标节点33对应的终端设备号、以及用于指示目标节点33无公网IP地址的第一指示信息,该第一指示信息可以是该区块链网络中预先约定的字段或字符。
步骤202、所述主存储节点为所述目标节点分配代理器节点的IP地址、第一端口号和随机数。
在本实施例中,主存储节点31的本地存储有第一列表,该第一列表包括与主存储节点31对应的从存储节点的标识信息和公网IP地址,例如,该第一列表中包括从存储节点32的标识信息、从存储节点32对应的终端设备号和公网IP地址。可以理解,由于从存储节点32不在NAT下,从存储节点32拥有自己的公网IP地址,目标节点33在NAT下,目标节点33没有自己的公网IP地址。
当主存储节点31接收到目标节点33发送的请求信息后,确定出目标节点33没有公网IP地址,但目标节点33想成为从存储节点,则主存储节点31将目标节点33的标识信息、目标节点33对应的终端设备号记录在该第一列表中。此外,该第一列表中还可以存储有从存储节点32的公钥、目标节点33的公钥。
由于从存储节点32不通过NAT与区块链网络通信,从存储节点32具有公网IP地址,主存储节点31本地存储有从存储节点32的公网IP地址;目标节点33通过NAT与区块链网络通信,且目标节点33没有公网IP地址,主存储节点31本地没有目标节点33的公网IP地址;但是,作为从存储节点需要具有公网IP地址,以便查询节点根据该公网IP地址访问该从存储节点。因此,在本实施例中,目标节点33需要向主存储节点31实时的或周期性的发送心跳报文,假设主存储节点31在某一时刻接收到的目标节点33发送的心跳报文记为第一心跳报文,该第一心跳报文包括的内容具体可以是目标节点33采用自己的私钥签名后的当前可提供存储信息查询的内容索引,例如区块号等信息。
当主存储节点31接收到该第一心跳报文后,根据该第一心跳报文中签名后的区块号,可确定出目标节点33的身份信息,进一步提取该第一心跳报文的源IP地址和源端口号,主存储节点31可以将该第一心跳报文的源IP地址和源端口号作为目标节点33的地址信息,可选的,所述目标节点33的地址信息包括:所述目标节点33对应的NAT的公网IP地址和所述目标节点33在NAT上映射的端口号。另外,该公网IP地址还可以是所述目标节点33所属的局域网的公网IP地址。也就是说,该第一心跳报文的源IP地址可以是目标节点33对应的NAT的公网IP地址,或者是目标节点33所属的局域网的公网IP地址;该第一心跳报文的源端口号可以是目标节点33在NAT上映射的端口号。
进一步的,主存储节点31可以将目标节点33的标识信息、目标节点33对应的终端设备号、目标节点33对应的NAT的公网IP地址和端口号存储到第一列表中。
在本实施例中,主存储节点31本地还存储有第二列表,该第二列表包括代理器节点的标识信息和IP地址,例如,该第二列表包括代理器节点36的标识信息和IP地址。由于目标节点33位于NAT下,因此,主存储节点31可以给目标节点33分配一个代理器节点的IP地址、第一端口号和随机数,例如,主存储节点31给目标节点33分配代理器节点36的IP地址、第一端口号和随机数123321,该第一端口号是主存储节点31给目标节点33分配的该代理器节点36上的端口。主存储节点31给目标节点33分配代理器节点36的IP地址、第一端口号和随机数123321之后,还可以将代理器节点36的IP地址、第一端口号和随机数123321发送给目标节点33。
在一些实施例中,所述主存储节点为所述目标节点分配代理器节点的IP地址、第一端口号和随机数之后,还包括:所述主存储节点将所述目标节点的标识信息、所述第一端口号和所述随机数发送给所述代理器节点。
例如,主存储节点31给目标节点33分配代理器节点36的IP地址、第一端口号和随机数123321之后,主存储节点31可以采用自己的私钥对该目标节点33的标识信息、主存储节点31给目标节点33分配的该代理器节点36上的第一端口号和随机数123321进行签名,并将签名后的信息发送给代理器节点36。代理器节点36收到主存储节点31发送的该目标节点33的标识信息、主存储节点31给目标节点33分配的该代理器节点36上的第一端口号和随机数123321之后,将该目标节点33的标识信息、主存储节点31给目标节点33分配的该代理器节点36上的第一端口号和随机数123321写入该代理器节点36本地存储的第三列表中。
步骤203、所述主存储节点将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号。
具体的,所述主存储节点将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号,包括:所述主存储节点将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送连接请求,当所述代理器节点确定与所述目标节点建立连接时,所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号。
当目标节点33接收到主存储节点31给目标节点33分配的代理器节点36的IP地址、第一端口号和随机数123321之后,向代理器节点36发送连接请求,该连接请求包括该目标节点33的标识信息和随机数123321,在其他实施例中,该目标节点33还可以采用自己的私钥对该目标节点33的标识信息和随机数123321进行签名,该连接请求包括签名后的该目标节点33的标识信息和随机数123321。代理器节点36接收到目标节点33发送的连接请求后,查询代理器节点36本地存储的第三列表中是否包括该目标节点33的标识信息和随机数123321,如果包括,则进一步检测在该第三列表中,该目标节点33的标识信息和随机数123321对应的第一端口号是否为代理器节点36接收到该连接请求的端口号,如果是,则代理器节点36向目标节点33发送同意连接响应,并且代理器节点36将该目标节点33的IP地址和端口号记录在该第三列表中。当目标节点33接收到代理器节点36发送的同意连接响应后,目标节点33向代理器节点36发送心跳报文,从而打通了目标节点33和代理器节点36之间的心跳通路。另外,目标节点33可以通过周期性的向代理器节点36发送心跳报文,以保持目标节点33和代理器节点36之间的心跳通路,该心跳报文的源IP地址为该目标节点33对应的NAT的公网IP地址,该心跳报文的源端口号为该目标节点33在NAT上对应的端口号。代理器节点36每接收到一个该目标节点33发送的心跳报文,即可更新一次本地存储的第三列表中的该目标节点33的IP地址和端口号,其中,第三列表存储的该目标节点33的IP地址为该目标节点33对应的NAT的公网IP地址,该第三列表存储的该目标节点33的端口号为该目标节点33在NAT上对应的端口号。也就是说,该第三列表不仅存储有该目标节点33的标识信息、主存储节点31给目标节点33分配的该代理器节点36上的第一端口号、随机数123321,还存储有该目标节点33对应的NAT的公网IP地址和该目标节点33在NAT上对应的端口号,其中,该目标节点33在NAT上对应的端口号记为第二端口号。
本发明实施例通过主存储节点给目标节点分配代理器节点的IP地址、第一端口号和随机数,使得目标节点给代理器节点发送心跳报文,该心跳报文包括目标节点的地址信息,使得代理器节点可以记录该目标节点的标识信息和该目标节点的地址信息的对应关系,使得目标节点可以成为区块链网络中的从存储节点,从而使得没有公网IP地址的节点也可以成为从存储节点,促进了区块链业务的发展。
图4为本发明另一实施例提供的区块链节点通信方法流程图。在上述实施例的基础上,本实施例提供的区块链节点通信方法还包括如下步骤:
步骤401、所述主存储节点接收至少一个查询节点发送的查询请求。
可选的,所述查询请求包括第二指示信息,所述第二指示信息用于指示所述查询节点无公网IP地址。
当查询节点35或查询节点37首次加入区块链网络的时候,需要从该查询节点35或查询节点37的相邻节点获取创世区块,可选的,区块链网络中的节点均存储有创世区块。为了保证该查询节点35或查询节点37获取到真实的创世区块,该查询节点35或查询节点37可以向多个相邻节点发送创世区块查询请求,例如,查询节点35或查询节点37向相邻节点B1和相邻节点C1分别发送创世区块查询请求,相邻节点B1和相邻节点C1接收到该创世区块查询请求后,将各自本地存储的创世区块发送给查询节点35或查询节点37,查询节点35或查询节点37比较相邻节点B1和相邻节点C1反馈的创世区块是否一致,如果相邻节点B1和相邻节点C1反馈的创世区块一致,则查询节点35或查询节点37将该创世区块存储在本地;如果相邻节点B1和相邻节点C1反馈的创世区块不一致,则查询节点35或查询节点37还可以继续向相邻节点D1和相邻节点E1发送创世区块查询请求,并接收相邻节点D1和相邻节点E1分别反馈的创世区块,若相邻节点B1、相邻节点C1、相邻节点D1和相邻节点E1中超过预设比例的相邻节点反馈的创世区块是一致,则查询节点35或查询节点37确定该创世区块是真实的。可选的,相邻节点B1、相邻节点C1、相邻节点D1和相邻节点E1中超过百分之五十的相邻节点例如相邻节点C1、相邻节点D1和相邻节点E1分别反馈的创世区块一致,则查询节点35或查询节点37确定相邻节点C1反馈的创世区块是真实的,相邻节点B1反馈的创世区块是虚假的。
当查询节点35或查询节点37获取到真实的创世区块后,将该创世区块存储到本地,并从该创世区块中获取主存储节点的IP地址,可选的,该创世区块中存储有一个或多个主存储节点的IP地址,查询节点35或查询节点37可以向一个或多个主存储节点发送查询请求,本实施例以查询节点35或查询节点37向一个主存储节点发送查询请求为例,例如,该创世区块中存储有主存储节点31的IP地址,查询节点35或查询节点37根据该IP地址向主存储节点31发送查询请求,该查询请求用于查询从存储节点。在本实施例中,查询节点35和查询节点37可以同时向主存储节点31发送查询请求,也可以依次向主存储节点31发送查询请求。
可选的,查询节点35向主存储节点31发送的查询请求中包括第二指示信息,该第二指示信息用于指示查询节点35无公网IP地址;同理,查询节点37向主存储节点31发送的查询请求中包括第二指示信息,该第二指示信息用于指示查询节点37无公网IP地址。该第二指示信息可以是区块链网络中预先约定好的指示信息,例如,该第二指示信息可以写入到创世区块中的固定字段或字符来标识查询节点无公网IP地址。另外,查询节点35或查询节点37还可以采用自己的私钥对该查询请求进行签名,并将签名后的查询请求发送给主存储节点31。在本实施例中,查询节点35或查询节点37可以声明自己处于NAT下,或声明自己处于对称NAT下。
步骤402、所述主存储节点根据所述至少一个查询节点中的每个查询节点发送的查询请求,确定所述查询节点的地址信息。
当主存储节点31接收到查询节点35发送的查询请求后,确定该查询节点35没有公网IP地址,则记录当前时刻该查询节点35对应的NAT的公网IP地址和端口号。或/及,当主存储节点31接收到查询节点37发送的查询请求后,确定该查询节点37没有公网IP地址,则记录当前时刻该查询节点37对应的NAT的公网IP地址和端口号。可选的,主存储节点31根据第一指示信息和第二指示信息可确定出目标节点33、查询节点35、查询节点37均处于NAT下。
步骤403、所述主存储节点向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述主存储节点给所述查询节点分配的随机数,以使所述查询节点将所述查询请求发送给所述代理器节点,由所述代理器节点根据所述目标节点对应的NAT的公网IP地址和第二端口号,将所述查询请求发送给所述目标节点。
可选的,所述主存储节点向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述主存储节点给所述查询节点分配的随机数,包括:所述主存储节点根据所述至少一个查询节点中的每个查询节点的地址信息,向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述主存储节点给所述查询节点分配的随机数。
在本实施例中,主存储节点31接收到查询节点35或/及查询节点37发送的查询请求后,主存储节点31给查询节点35分配一个随机数例如123321,主存储节点31给查询节点37分配一个随机数例如4556654;进一步,主存储节点31根据查询节点35对应的NAT的公网IP地址和端口号,将主存储节点31给目标节点33分配的代理器节点36的IP地址、第一端口号和随机数123321发送给查询节点35。同理,主存储节点31根据查询节点37对应的NAT的公网IP地址和端口号,将主存储节点31给目标节点33分配的代理器节点36的IP地址、第一端口号和随机数456654发送给查询节点37。
当查询节点35接收到主存储节点31发送的代理器节点36的IP地址、第一端口号和随机数123321时,查询节点35根据代理器节点36的IP地址和第一端口号,向该代理器节点36发送查询请求,该查询请求具体可以是查询节点35采用自己的私钥签名后的查询请求,该查询请求中包括随机数123321。同理,当查询节点37接收到主存储节点31发送的代理器节点36的IP地址、第一端口号和随机数456654时,查询节点37根据代理器节点36的IP地址和第一端口号,向该代理器节点36发送查询请求,该查询请求具体可以是查询节点37采用自己的私钥签名后的查询请求,该查询请求中包括随机数456654。
当代理器节点36接收到查询节点35发送的该查询请求后,根据代理器节点36上接收到该查询请求的端口号和该查询请求中的随机数123321,可确定查询节点35和目标节点33之间的关联关系,并通过代理器节点36和目标节点33之间建立并保持的心跳通道将查询节点35的查询请求发送给目标节点33。同理,当代理器节点36接收到查询节点37发送的该查询请求后,根据代理器节点36上接收到该查询请求的端口号和该查询请求中的随机数456654,可确定查询节点37和目标节点33之间的关联关系,并通过代理器节点36和目标节点33之间建立并保持的心跳通道将查询节点37的查询请求发送给目标节点33。
目标节点33接收到代理器节点36发送的查询节点35的查询请求后,目标节点33根据代理器节点36的IP地址和第一端口号,将该查询结果和随机数123321发送给代理器节点36的第一端口号,当代理器节点36从该第一端口号接收到目标节点33返回的查询结果和随机数123321后,确定该随机数123321与查询节点35对应,则将该查询结果反馈给查询节点35。从而完成了查询节点35和作为从存储节点的目标节点33之间的查询服务过程。可选的,该代理器节点36上可被分配一个永久的服务端口,使得查询节点35和目标节点33可通过该服务端口实现查询服务过程。
同理,目标节点33接收到代理器节点36发送的查询节点37的查询请求后,目标节点33根据代理器节点36的IP地址和第一端口号,将该查询结果和随机数456654发送给代理器节点36的第一端口号,当代理器节点36从该第一端口号接收到目标节点33返回的查询结果和随机数456654后,确定该随机数456654与查询节点37对应,则将该查询结果反馈给查询节点37。从而完成了查询节点37和作为从存储节点的目标节点33之间的查询服务过程。可选的,该代理器节点36上可被分配一个永久的服务端口,使得查询节点37和目标节点33可通过该服务端口实现查询服务过程。
此外,在本实施例中,不限定查询节点35或查询节点37位于普通型的NAT下面,或对称型的NAT下面。
本发明实施例通过同一个从存储节点通过代理器节点的端口同时为多个查询节点提供查询服务,提高了代理器节点的端口利用率。
图5为本发明实施例提供的区块链节点通信装置的结构示意图。该区块链节点通信装置具体可以是上述实施例中的主存储节点。本发明实施例提供的区块链节点通信装置可以执行区块链节点通信方法实施例提供的处理流程,如图5所示,区块链节点通信装置50包括:接收模块51、分配模块52和发送模块53;其中,接收模块51用于接收目标节点发送的请求信息,所述请求信息表示所述目标节点请求成为从存储节点,所述请求信息包括所述目标节点的标识信息和第一指示信息,所述第一指示信息用于指示所述目标节点无公网IP地址;分配模块52用于为所述目标节点分配代理器节点的IP地址、第一端口号和随机数;发送模块53用于将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号。
可选的,接收模块51还用于:接收至少一个查询节点发送的查询请求;发送模块53还用于:向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述主存储节点给所述查询节点分配的随机数,以使所述查询节点将所述查询请求发送给所述代理器节点,由所述代理器节点根据所述目标节点对应的NAT的公网IP地址和第二端口号,将所述查询请求发送给所述目标节点。
可选的,发送模块53还用于:将所述目标节点的标识信息、所述第一端口号和所述随机数发送给所述代理器节点。
可选的,所述查询请求包括第二指示信息,所述第二指示信息用于指示所述查询节点无公网IP地址;区块链节点通信装置50还包括:确定模块54;确定模块54用于根据所述至少一个查询节点中的每个查询节点发送的查询请求,确定所述查询节点的地址信息;发送模块53具体用于:根据所述至少一个查询节点中的每个查询节点的地址信息,向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述主存储节点给所述查询节点分配的随机数。
可选的,发送模块53具体用于:将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送连接请求,当所述代理器节点确定与所述目标节点建立连接时,所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号。
图5所示实施例的区块链节点通信装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明实施例提供的区块链节点的结构示意图。本发明实施例提供的区块链节点可以执行区块链节点通信方法实施例提供的处理流程,如图6所示,区块链节点60包括存储器61、处理器62、计算机程序和通讯接口63;其中,计算机程序存储在存储器61中,并被配置为由处理器62执行以上实施例所述的区块链节点通信方法。
图6所示实施例的区块链节点可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的区块链节点通信方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种区块链节点通信方法,其特征在于,包括:
主存储节点接收目标节点发送的请求信息,所述请求信息表示所述目标节点请求成为从存储节点,所述请求信息包括所述目标节点的标识信息和第一指示信息,所述第一指示信息用于指示所述目标节点无公网IP地址;所述第一指示信息是区块链网络中预先约定的字段或字符;
所述主存储节点为所述目标节点分配代理器节点的IP地址、第一端口号和随机数;
所述主存储节点将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号;
所述方法还包括:
所述主存储节点接收至少一个查询节点发送的查询请求;
所述主存储节点向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述主存储节点给所述查询节点分配的随机数,以使所述查询节点将所述查询请求发送给所述代理器节点,由所述代理器节点根据所述目标节点对应的NAT的公网IP地址和第二端口号,将所述查询请求发送给所述目标节点。
2.根据权利要求1所述的方法,其特征在于,所述主存储节点为所述目标节点分配代理器节点的IP地址、第一端口号和随机数之后,还包括:
所述主存储节点将所述目标节点的标识信息、所述第一端口号和所述随机数发送给所述代理器节点。
3.根据权利要求1所述的方法,其特征在于,所述查询请求包括第二指示信息,所述第二指示信息用于指示所述查询节点无公网IP地址;
所述主存储节点接收至少一个查询节点发送的查询请求之后,还包括:
所述主存储节点根据所述至少一个查询节点中的每个查询节点发送的查询请求,确定所述查询节点的地址信息;
所述主存储节点向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述主存储节点给所述查询节点分配的随机数,包括:
所述主存储节点根据所述至少一个查询节点中的每个查询节点的地址信息,向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述主存储节点给所述查询节点分配的随机数。
4.根据权利要求1所述的方法,其特征在于,所述主存储节点将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号,包括:
所述主存储节点将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送连接请求,当所述代理器节点确定与所述目标节点建立连接时,所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号。
5.一种区块链节点通信装置,其特征在于,包括:
接收模块,用于接收目标节点发送的请求信息,所述请求信息表示所述目标节点请求成为从存储节点,所述请求信息包括所述目标节点的标识信息和第一指示信息,所述第一指示信息用于指示所述目标节点无公网IP地址;所述第一指示信息是区块链网络中预先约定的字段或字符;
分配模块,用于为所述目标节点分配代理器节点的IP地址、第一端口号和随机数;
发送模块,用于将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号;
所述接收模块还用于:接收至少一个查询节点发送的查询请求;
所述发送模块还用于:向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述区块链节点通信装置给所述查询节点分配的随机数,以使所述查询节点将所述查询请求发送给所述代理器节点,由所述代理器节点根据所述目标节点对应的NAT的公网IP地址和第二端口号,将所述查询请求发送给所述目标节点。
6.根据权利要求5所述的区块链节点通信装置,其特征在于,所述发送模块还用于:将所述目标节点的标识信息、所述第一端口号和所述随机数发送给所述代理器节点。
7.根据权利要求5所述的区块链节点通信装置,其特征在于,所述查询请求包括第二指示信息,所述第二指示信息用于指示所述查询节点无公网IP地址;
所述区块链节点通信装置还包括:确定模块,用于根据所述至少一个查询节点中的每个查询节点发送的查询请求,确定所述查询节点的地址信息;
所述发送模块具体用于:根据所述至少一个查询节点中的每个查询节点的地址信息,向所述至少一个查询节点中的每个查询节点发送所述目标节点对应的所述代理器节点的IP地址、所述第一端口号和所述区块链节点通信装置给所述查询节点分配的随机数。
8.根据权利要求5所述的区块链节点通信装置,其特征在于,所述发送模块具体用于:将所述代理器节点的IP地址、第一端口号和随机数发送给所述目标节点,以使所述目标节点向所述代理器节点发送连接请求,当所述代理器节点确定与所述目标节点建立连接时,所述目标节点向所述代理器节点发送心跳报文,所述心跳报文包括所述目标节点对应的NAT的公网IP地址和第二端口号。
9.一种区块链节点,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810552878.4A CN108810120B (zh) | 2018-05-31 | 2018-05-31 | 区块链节点通信方法、装置及区块链节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810552878.4A CN108810120B (zh) | 2018-05-31 | 2018-05-31 | 区块链节点通信方法、装置及区块链节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108810120A CN108810120A (zh) | 2018-11-13 |
CN108810120B true CN108810120B (zh) | 2021-01-26 |
Family
ID=64089947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810552878.4A Active CN108810120B (zh) | 2018-05-31 | 2018-05-31 | 区块链节点通信方法、装置及区块链节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108810120B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739765B (zh) * | 2018-12-29 | 2021-12-31 | 杭州复杂美科技有限公司 | 一种测试系统 |
CN109831313B (zh) * | 2019-03-19 | 2021-02-26 | 全链通有限公司 | 群组通信方法、设备及计算机可读存储介质 |
CN112398798B (zh) * | 2019-08-19 | 2022-10-14 | 中国移动通信有限公司研究院 | 一种网络电话处理方法、装置及终端 |
CN110996295B (zh) * | 2019-12-12 | 2022-02-22 | 吉林大学 | 车联网节点身份验证方法和身份区块 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056307A (zh) * | 2006-04-11 | 2007-10-17 | 中兴通讯股份有限公司 | 一种使用代理移动ip进行安全注册的方法 |
CN101106452A (zh) * | 2006-07-12 | 2008-01-16 | 华为技术有限公司 | 移动ip密钥的产生及分发方法和系统 |
CN102882973A (zh) * | 2012-10-11 | 2013-01-16 | 北京邮电大学 | 基于p2p技术的分布式负载均衡系统和方法 |
CN104272671A (zh) * | 2012-05-10 | 2015-01-07 | 三星电子株式会社 | 数据分组的上行链路和下行链路期间的无连接传输的方法和系统 |
CN104980528A (zh) * | 2015-06-26 | 2015-10-14 | 广州华多网络科技有限公司 | 实现节点间通信的方法、系统及装置 |
WO2017200483A1 (en) * | 2016-05-19 | 2017-11-23 | Cheong, Siah Chong | Applied cryptographic ip management method and system |
CN107786339A (zh) * | 2016-08-31 | 2018-03-09 | 陈新 | 分层可控联盟区块链系统 |
CN107819749A (zh) * | 2017-10-26 | 2018-03-20 | 平安科技(深圳)有限公司 | 基于以太坊的区块链系统和交易数据处理方法 |
-
2018
- 2018-05-31 CN CN201810552878.4A patent/CN108810120B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056307A (zh) * | 2006-04-11 | 2007-10-17 | 中兴通讯股份有限公司 | 一种使用代理移动ip进行安全注册的方法 |
CN101106452A (zh) * | 2006-07-12 | 2008-01-16 | 华为技术有限公司 | 移动ip密钥的产生及分发方法和系统 |
CN104272671A (zh) * | 2012-05-10 | 2015-01-07 | 三星电子株式会社 | 数据分组的上行链路和下行链路期间的无连接传输的方法和系统 |
CN102882973A (zh) * | 2012-10-11 | 2013-01-16 | 北京邮电大学 | 基于p2p技术的分布式负载均衡系统和方法 |
CN104980528A (zh) * | 2015-06-26 | 2015-10-14 | 广州华多网络科技有限公司 | 实现节点间通信的方法、系统及装置 |
WO2017200483A1 (en) * | 2016-05-19 | 2017-11-23 | Cheong, Siah Chong | Applied cryptographic ip management method and system |
CN107786339A (zh) * | 2016-08-31 | 2018-03-09 | 陈新 | 分层可控联盟区块链系统 |
CN107819749A (zh) * | 2017-10-26 | 2018-03-20 | 平安科技(深圳)有限公司 | 基于以太坊的区块链系统和交易数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108810120A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712506B (zh) | 区块链节点通信方法、装置及区块链节点 | |
US11057761B2 (en) | Cloud SIM card management server, binding device, management method, binding method and system | |
CN108810120B (zh) | 区块链节点通信方法、装置及区块链节点 | |
CN109451451B (zh) | 终端漫游方法、设备及存储介质 | |
CN109067724B (zh) | 区块链数据交易方法、装置、设备及存储介质 | |
US10104700B2 (en) | Message processing method, MME selection method, and apparatuses | |
KR101437364B1 (ko) | 송신장치 및 수신장치와 그 장치의 동작 방법 | |
CN109118360B (zh) | 区块链对账方法、装置、设备及存储介质 | |
CN108769142B (zh) | 交易信息处理方法及区块生成节点 | |
CN108683727B (zh) | 区块处理方法及主节点 | |
TWI640214B (zh) | 一種網路接入方法、相關設備和系統 | |
CN108200568B (zh) | 移动通信电子sim卡数据处理方法及装置 | |
RU2016101134A (ru) | Способ и система аутентификации пользователей для предоставления доступа к сетям передачи данных | |
CN108777710B (zh) | 区块链节点间通信方法、装置及区块链节点 | |
JP2020534760A (ja) | Rbg分割方法およびユーザ端末 | |
CN108877290B (zh) | 停车位调度方法、装置、设备及存储介质 | |
CN108777712B (zh) | 区块链节点通信方法、装置及区块链节点 | |
CN108876611B (zh) | 交易信息处理方法、装置及区块链节点 | |
CN108848144B (zh) | 区块链中节点访问方法、装置及区块链节点 | |
CN109087096B (zh) | 区块链对账方法、装置、设备及存储介质 | |
CN108712507B (zh) | 区块链节点访问方法、装置及区块链节点 | |
JP2019506796A (ja) | アクセス方法、ユーザデバイス及びサーバ | |
CN108898419B (zh) | 奖励信息处理方法、装置及区块链节点 | |
CN108833513B (zh) | 区块链节点间通信方法、装置及区块链节点 | |
CN108768733B (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 |