CN111970337A - 跨云环境下的p2p网络通信构建方法、系统、介质及终端 - Google Patents
跨云环境下的p2p网络通信构建方法、系统、介质及终端 Download PDFInfo
- Publication number
- CN111970337A CN111970337A CN202010750698.4A CN202010750698A CN111970337A CN 111970337 A CN111970337 A CN 111970337A CN 202010750698 A CN202010750698 A CN 202010750698A CN 111970337 A CN111970337 A CN 111970337A
- Authority
- CN
- China
- Prior art keywords
- network
- dns
- block chain
- intranet
- domain name
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 238000010276 construction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000322338 Loeseliastrum Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 235000005976 Citrus sinensis Nutrition 0.000 description 1
- 240000002319 Citrus sinensis Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种跨云环境下的P2P网络通信构建方法、系统、介质及终端;所述方法包括以下步骤:创建区块链节点,并为区块链节点注册网络域名;将区块链节点部署到指定的资源集群中;获取区块链节点所在资源集群的内网IP和公网IP;更新所在资源集群的内网DNS,将网络域名映射到内网IP;更新所在资源集群的联邦DNS,将网络域名映射到公网IP;本发明在面临内外网IP异构环境时,可形成统一访问方式,按照从底层到上层的优先顺序分层按需解析,哪一层能解析出结果,就利用这一次的网络进行P2P通信,实现了自动根据目标节点所在环境自动选择内网通信还是公网通信,确保网络流量能够在合理的链路中发送,确保通信的效率与正确性。
Description
技术领域
本发明属于网络通信技术领域,特别是涉及一种跨云环境下的P2P网络通信构建方法、系统、介质及终端。
背景技术
现有互联网应用服务环境,通常部署在单个云计算环境,对内或对外提供服务,服务器之间流量统一走内网或者外网,服务之间通信模型相对固定,均为事先设计完毕,后期变化较小;但是对于通用对等网络(Peer to Peer,简称P2P)来说,服务需要能够智能识别内外网络环境,并动态进行网络规模扩展,在P2P应用中随着网络规模的增长,如果在应用内部处理服务发现会使得配置规模呈指数级增长。
现有区块链网络主要有公链、联盟链;其中,公链是基于公网无需身份认证就可以准入,公链节点全部部署在公网环境,通过互联网进行P2P通信,自身作为服务的同时还需要作为客户端访问其他节点,单个矿池内部资源统一调配进行挖矿出块,对外进行同步,安全性通常有密码学算法得以保证,无需复杂的网络防火墙环境,是自由的网络环境,不在考虑范围内;联盟链是需要身份认证准入机制,联盟链通常有联盟参与方选择环境部署,目前多数区块链网络实际是运行在单一网络环境中,采用局域网进行P2P通信,这种部署方式无法真正实现区块链组织节点去中心化的必要属性。
甜橙区块链服务平台采用资源去中心化部署环境进行区块链节点部署,将区块链节点部署到企业用户自己的云环境或者企业机房当中,并且实现不同机房或云环境下区块链节点能够组件区块链网络,由于基础资源的分散性,去中心化特性,并且企业机房通常有复杂的防火墙限制,同时节点网络环境涉及局域网与公网不同环境下节点地址自动识别管理等困难,这些问题给区块链P2P基础通信带来很大的挑战。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种跨云环境下的P2P网络通信构建方法、系统、介质及终端,用于解决现有技术中节点网络环境涉及局域网与公网不同环境下节点地址自动识别管理困难的问题。
为实现上述目的及其他相关目的,本发明提供一种跨云环境下的P2P网络通信构建方法,包括以下步骤:创建区块链节点,并为所述区块链节点注册网络域名;将所述区块链节点部署到指定的资源集群中;获取所述区块链节点所在所述资源集群的内网IP和公网IP;更新所在所述资源集群的内网DNS,将所述网络域名映射到所述内网IP;更新所在所述资源集群的联邦DNS,将所述网络域名映射到所述公网IP。
于本发明的一实施例中,按照从所述内网DNS到所述联邦DNS的优先顺序分层按需进行域名解析。
于本发明的一实施例中,还包括:搭建所述联邦DNS和所述内网DNS;所述区块链节点访问所述内网DNS进行域名解析,并在解析成功时完成域名解析;在解析不成功时,所述区块链节点访问所述联邦DNS进行域名解析,并在解析成功时完成域名解析。
于本发明的一实施例中,所述内网DNS禁用内部集群缓存配置,利用DNS转发配置将所述内网DNS绑定到所述联邦DNS,以实现在所述内网DNS解析不出所述区块链节点的IP时,向上向所述联邦DNS进行所述区块链节点的IP查询。
于本发明的一实施例中,所述区块链节点在P2P通信时,一区块链节点根据另一区块链节点的网络域名进行访问,包括以下两种情况:当两个区块链节点在同一机房或同一云环境中时,所述一区块链节点通过所述内网DNS查找所述另一区块链节点的IP,且所述内网DNS返回所述另一区块链节点的内网IP,所述一区块链节点根据所述内网IP直接通信;当两个区块链节点在不同机房或不同云环境中时,所述一区块链节点先通过所述内网DNS查找所述另一区块链节点的IP,在所述内网DNS查找不到所述另一区块链节点的IP时,又向上向所述联邦DNS进行所述另一区块链节点的IP查询,所述联邦DNS返回所述另一区块链节点的公网IP,所述一区块链节点根据所述公网IP进行通信。
于本发明的一实施例中,还包括:对应用网络进行分层定义;其中,不同机房之间或跨云环境下由公网进行通信连接,定义该层网络为一层网络;所述联邦DNS负责不同机房之间或跨云环境下的IP解析;同一机房内或同一云环境下由内网进行通信连接,定义该层网络为二层网络;所述内网DNS用于同一机房内或同一云环境下的IP解析。
于本发明的一实施例中,还包括:对每个云环境中每台主机进行端口分配或统一采用确定端口进行端口复用,对外采用代理域名路由的方式进行内部服务请求分发。
本发明提供一种跨云环境下的P2P网络通信构建系统,包括:创建模块、部署模块、获取模块、第一更新模块及第二更新模块;所述创建模块用于创建区块链节点,并为所述区块链节点注册网络域名;所述部署模块用于将所述区块链节点部署到指定的资源集群中;所述获取模块用于获取所述区块链节点所在所述资源集群的内网IP和公网IP;所述第一更新模块用于更新所在所述资源集群的内网DNS,将所述网络域名映射到所述内网IP;所述第二更新模块用于更新所在所述资源集群的联邦DNS,将所述网络域名映射到所述公网IP。
本发明提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的跨云环境下的P2P网络通信构建方法。
本发明提供一种终端,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述的跨云环境下的P2P网络通信构建方法。
如上所述,本发明所述的跨云环境下的P2P网络通信构建方法、系统、介质及终端,具有以下有益效果:
(1)与现有技术相比,在区块链组网时所遇到的内外网IP异构环境中,可以形成统一访问方式,通过对区块链节点网络进行分层,按照从底层到上层的优先顺序分层按需解析,哪一层能解析出结果,就利用这一次的网络进行P2P通信,实现了自动根据目标节点所在环境自动选择内网通信还是公网通信,确保网络流量能够在合理的链路中发送,确保通信的效率与正确性;
(2)对于同一区块链节点服务对应的域名,可实现在不同网络中进行不同IP的解析;
(3)通过网络域名、DNS为基础的网络组件和技术打通内网、公网不同层级网络之间地址规则性自动选择,使节点本身无需管理复杂的网络层级之间的IP关系,从而降低节点自身的实现复杂度。
附图说明
图1显示为本发明的跨云环境下的P2P网络通信构建方法于一实施例中的流程图。
图2显示为本发明的跨云环境下的P2P网络通信构建系统于一实施例中的结构示意图。
图3显示为本发明的终端于一实施例中的结构示意图。
图4显示为本发明的跨云模型于一实施例中的结构示意图。
图5显示为本发明的跨云环境下的P2P网络通信构建方法于另一实施例中的流程图。
图6显示为本发明的跨云环境下的P2P网络通信构建方法于一实施例中的工作原理图。
标号说明
21 创建模块
22 部署模块
23 获取模块
24 第一更新模块
25 第二更新模块
S1~S5 步骤
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的跨云环境下的P2P网络通信构建方法、系统、介质及终端,与现有技术相比,在区块链组网时所遇到的内外网IP异构环境中,可以形成统一访问方式,通过对区块链节点网络进行分层,按照从底层到上层的优先顺序分层按需解析,哪一层能解析出结果,就利用这一次的网络进行P2P通信,实现了自动根据目标节点所在环境自动选择内网通信还是公网通信,确保网络流量能够在合理的链路中发送,确保通信的效率与正确性;对于同一区块链节点服务对应的域名,可实现在不同网络中进行不同IP的解析;通过网络域名、DNS为基础的网络组件和技术打通内网、公网不同层级网络之间地址规则性自动选择,使节点本身无需管理复杂的网络层级之间的IP关系,从而降低节点自身的实现复杂度。
需要说明的是,区块链P2P网络为应用层网络概念,其基础还是需要现有的互联网架构支撑,所以在本发明实现中的前提是:区块链去中心化部署资源能够通过互联网进行访问且能够访问到互联网,即对应资源至少绑定一个以上的公网IP,并且资源中所有服务器均能直接或代理访问到公网服务。
如图1所示,于一实施例中,本发明的跨云环境下的P2P网络通信构建方法应用于终端,包括以下步骤:
步骤S1、创建区块链节点,并为所述区块链节点注册网络域名。
需要说明的是,区块链节点既作为客户端,又作为服务端,互联网通信通常由域名(网络域名)进行访问,区块链节点P2P通信同样采用域名方案进行通信,与传统互联网域名不同的是,区块链网络中域名是独立于互联网域名的另一套域名体系,该体系中每个区块链节点会有自己的身份,其中域名便是区块链节点在区块链网络中的身份标识,具有唯一性。
进一步地,对区块链节点注册网络域名,确保该网络域名在区块链生态中的唯一性,域名技术与现有互联网技术一致,域名规则按需分配,通常采用节点、组织、公司等含义字段组成。
步骤S2、将所述区块链节点部署到指定的资源集群中。
步骤S3、获取所述区块链节点所在所述资源集群的内网IP和公网IP。
步骤S4、更新所在所述资源集群的内网DNS(DNS,域名服务器,是Domain NameServer的简称),将所述网络域名映射到所述内网IP,即绑定该网络域名到该内网IP。
步骤S5、更新所在所述资源集群的联邦DNS,将所述网络域名映射到所述公网IP,即绑定该网络域名到该公网IP。
需要说明的是,上述步骤S4中记载的绑定过程与步骤S5中记载的绑定过程是由终端同步控制实现的,即步骤S4和步骤S5是同步执行的。
需要说明的是,域名解析DNS服务器是同样独立于传统互联网域名服务器的独立域名解析DNS服务器,于本实施例中,部署两个区块链域名解析服务器,即为上述的内网DNS和联邦DNS。
于一实施例中,还包括搭建所述联邦DNS和所述内网DNS。
需要说明的是,所述联邦DNS的设计方法如下:
企业机房或单个云环境对外时,采用公网暴露服务,此时区块链节点在跨企业机房或跨云通信时需要通过公网IP,从而该层DNS对域名解析成为其部署环境绑定的公网IP;此处网络通常为公网,也可以通过专线互联,该层DNS针对区块链网络域名进行服务,可以禁用或者启用向上对其他域名访问进行支持,增加域名解析广泛性、灵活性,或者为防止其他域名冲突产生错误而禁用。
所述内网DNS的设计方法如下:
单云网络中主机之间通信通常只能走内网流量,所以区块链节点之间P2P通信必须通过内网IP进行,从而在该层DNS对域名解析成为其部署主机对应的内网IP;此处网络与DNS方案有多种:
(1)原生网络与DNS,采用主机之间的局域网与该网络中的DNS服务器,DNS服务器需要在创建部署区块链节点后,确定所在主机IP,然后将节点域名与主机IP注册到DNS服务器。
(2)采用overlay网络,整套网络与DNS组件均为区块链网络专用,例如现有主流的资源管理平台kubernetes生态中,flannel与calico网络,service,coredns+etcd方案。
于一实施例中,还包括对应用网络进行分层定义。
具体地,不同机房之间或跨云环境下由公网进行通信连接,定义该层网络为一层网络;所述联邦DNS负责不同机房之间或跨云环境下的IP解析。
需要说明的是,在不同企业机房之间或者各类云环境(跨云环境)之间,通常由电信公网基础设施连接通信,由于区块链节点域名既需要在内网(局域网)使用,又需要在公网使用,在云资源之间的公网通信域名解析由该层DNS完成,解析为企业机房或云环境绑定的公网IP,那么参与企业机房或云之间的DNS即为该联邦DNS。
进一步地,联邦DNS有两层含义:一层仅为当前平台系统生态下提供域名解析服务;另一层则是对于新一代区块链互联网时代的根域名服务器的定义。
具体地,同一机房内或同一云环境下由内网进行通信连接,定义该层网络为二层网络;所述内网DNS用于同一机房内或同一云环境下的IP解析。
需要说明的是,在同一企业级机房或者同一云环境下,通常基础设施中包含网络规划,其中有网络必要组成DNS组件,该DNS成为内网DNS,该DNS既可以是独立的服务,也可以是虚拟网络DNS服务,该DNS控制权限在企业机房内部,内网内的区块链节点之间P2P通信IP解析由该DNS完成。
进一步地,由上述的内网DNS与联邦DNS组成的DNS层级关系为多层DNS规划方式,与传统互联网DNS不同的是,这里的多层DNS会按需解析成当前DNS所在网络层的IP。
于一实施例中,按照从所述内网DNS到所述联邦DNS的优先顺序分层按需进行域名解析。
具体地,所述区块链节点访问所述内网DNS进行域名解析,并在解析成功时完成域名解析;在解析不成功时,所述区块链节点访问所述联邦DNS进行域名解析,并在解析成功时完成域名解析。
需要说明的是,对同一个区块链节点对应的网络域名,在一层网络中由联邦DNS解析为一层网络IP,即公网IP;在二层网络中由内网DNS解析为二层网络IP,即内网IP。
需要说明的是,传统域名解析通常是针对某一域名指解析到一个固定的IP,与此不同的是,区块链节点跨云通信既要保证局域网通信又要保证跨云通信,所以同一域名会在不同网络中解析成不同IP,解析过程按照优先级顺序,显示本地内网DNS本地内网IP记录,内网DNS查无此记录,则再取联邦DNS查询获取其他云环境中区块链节点的公网IP记录,实现同一域名不同解析。于一实施例中,所述区块链节点在P2P通信时,一区块链节点根据另一区块链节点的网络域名进行访问,包括以下两种情况:
(1)当两个区块链节点在同一机房或同一云环境中时,所述一区块链节点通过所述内网DNS查找所述另一区块链节点的IP,且所述内网DNS返回所述另一区块链节点的内网IP,所述一区块链节点根据所述内网IP直接通信。
(2)当两个区块链节点在不同机房或不同云环境中时,所述一区块链节点先通过所述内网DNS查找所述另一区块链节点的IP,在所述内网DNS查找不到所述另一区块链节点的IP时,又向上向所述联邦DNS进行所述另一区块链节点的IP查询,所述联邦DNS返回所述另一区块链节点的公网IP,所述一区块链节点根据所述公网IP进行通信。
于一实施例中,所述内网DNS禁用内部集群缓存配置,利用DNS转发配置将所述内网DNS绑定到所述联邦DNS,以实现在所述内网DNS解析不出所述区块链节点的IP时,向上向所述联邦DNS进行所述区块链节点的IP查询。
于一实施例中,还包括对每个云环境中每台主机进行端口分配或统一采用确定端口进行端口复用,对外采用代理域名路由的方式进行内部服务请求分发。
需要说明的是,在裸机部署时,每台主机端口无法复用,采用终端统一管理,针对每个云环境中每台主机进行端口分配,对外采用代理域名路由的方式进行内部服务请求分发。
在容器化部署时,可以统一采用确定端口进行端口复用,对外采用代理域名路由的方式进行内部服务请求分发,例如Kubernetes ingress方案。
进一步地,终端作为总控制平台,是该应用的核心管理方,为所有环境信息的统筹中心,所有节点创建与各级DNS动态更新均由该总控制平台来完成,对平台化管理分布式应用提供参考价值,同时平台本身不参与到实际P2P通信当中,即使平台服务不在线,也不会影响到P2P网络,仅仅影响新的节点服务的创建。
需要说明的是,本发明所述的跨云环境下的P2P网络通信构建方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
如图2所示,于一实施例中,本发明的跨云环境下的P2P网络通信构建系统包括创建模块21、部署模块22、获取模块23、第一更新模块24及第二更新模块25。
所述创建模块21用于创建区块链节点,并为所述区块链节点注册网络域名。
所述部署模块22用于将所述区块链节点部署到指定的资源集群中。
所述获取模块23用于获取所述区块链节点所在所述资源集群的内网IP和公网IP。
所述第一更新模块24用于更新所在所述资源集群的内网DNS,将所述网络域名映射到所述内网IP。
所述第二更新模块25用于更新所在所述资源集群的联邦DNS,将所述网络域名映射到所述公网IP。
需要说明的是,所述创建模块21、所述部署模块22、所述获取模块23、所述第一更新模块24及所述第二更新模块25的结构及原理与上述跨云环境下的P2P网络通信构建方法中的步骤一一对应,故在此不再赘述。
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
本发明的存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的跨云环境下的P2P网络通信构建方法。所述存储介质包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
如图3所示,本发明的终端包括处理器31及存储器32。
所述存储器32用于存储计算机程序;优选地,所述存储器32包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
所述处理器31与所述存储器32相连,用于执行所述存储器32存储的计算机程序,以使所述终端执行上述的跨云环境下的P2P网络通信构建方法。
优选地,所述处理器31可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,本发明的跨云环境下的P2P网络通信构建系统可以实现本发明的跨云环境下的P2P网络通信构建方法,但本发明的跨云环境下的P2P网络通信构建方法的实现装置包括但不限于本实施例列举的跨云环境下的P2P网络通信构建系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
下面结合附图来进一步解释说明本发明的跨云环境下的P2P网络通信构建方法。
如图4所示,于一实施例中,将该跨云环境下的P2P网络通信构建方法应用到图4中的跨云模型中。
需要说明的是,在对图4中整个跨云模型构建时有多个资源环境参与其中,资源环境之间由互联网连接,整个跨云模型包含一个联邦DNS,一个总控制平台(相当于终端),每个集群资源中包含一个内网DNS。
如图5所示,该跨云环境下的P2P网络通信构建方法包括以下步骤:
(1)搭建联邦DNS;
(2)搭建集群内网DNS,禁用内部集群缓存配置,配置集群内部DNS forward配置到联邦DNS;
(3)通过总控制平台创建组织节点服务,指定集群,指定节点信息(包含域名);
(4)创建组织节点完成后,获取节点所在资源的内网IP,更新资源内的DNS节点域名对应的内网IP映射关系;
(5)创建组织节点完成后,获取节点所在资源的公网IP,更联邦DNS节点域名对应的公网IP映射关系;
(6)节点P2P访问内网DNS域名解析,解析成功即完成域名解析,解析不成功进入第(7)步;
(7)节点P2P访问联邦DNS域名解析,解析成功即完成解析。
下面通过具体实施例来进一步验证本发明的跨云环境下的P2P网络通信构建方法。
如图6所示,于一实施例中,将该跨云环境下的P2P网络通信构建方法应用到区块链服务平台多云环境创建区块链网络中,实现区块链服务平台跨云部署区块链节点并组网。
需要说明的是,区块链服务平台在跨云创建区块链节点并组件区块链网络时,会遇到同一节点既要与同一环境中的其他节点通信,又要与其他云中的节点通信,并且所有节点之间都需要对等P2P通信,这就造成对于同一节点域名需要解析成不同的IP,在现有的应用层程序中很难进行相应的管理。
于本实施例中,可以让应用层无需关心复杂网络环境,而在总控制平台中进行网络统一管理配置;其中,集群之间由互联网连接;集群内部由overlay网络(覆盖网络)进行通信,例如calico/flannel方案。
需要说明的是,将该跨云环境下的P2P网络通信构建方法应用到区块链服务平台多云环境创建区块链网络中,具体的工作流程与前述步骤S1~S5的流程及原理相同,在此不再赘述。
综上所述,本发明的跨云环境下的P2P网络通信构建方法、系统、介质及终端,与现有技术相比,在区块链组网时所遇到的内外网IP异构环境中,可以形成统一访问方式,通过对区块链节点网络进行分层,按照从底层到上层的优先顺序分层按需解析,哪一层能解析出结果,就利用这一次的网络进行P2P通信,实现了自动根据目标节点所在环境自动选择内网通信还是公网通信,确保网络流量能够在合理的链路中发送,确保通信的效率与正确性;对于同一区块链节点服务对应的域名,可实现在不同网络中进行不同IP的解析;通过网络域名、DNS为基础的网络组件和技术打通内网、公网不同层级网络之间地址规则性自动选择,使节点本身无需管理复杂的网络层级之间的IP关系,从而降低节点自身的实现复杂度;所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种跨云环境下的P2P网络通信构建方法,其特征在于,包括以下步骤:
创建区块链节点,并为所述区块链节点注册网络域名;
将所述区块链节点部署到指定的资源集群中;
获取所述区块链节点所在所述资源集群的内网IP和公网IP;
更新所在所述资源集群的内网DNS,将所述网络域名映射到所述内网IP;
更新所在所述资源集群的联邦DNS,将所述网络域名映射到所述公网IP。
2.根据权利要求1所述的跨云环境下的P2P网络通信构建方法,其特征在于,按照从所述内网DNS到所述联邦DNS的优先顺序分层按需进行域名解析。
3.根据权利要求1所述的跨云环境下的P2P网络通信构建方法,其特征在于,还包括:搭建所述联邦DNS和所述内网DNS;
所述区块链节点访问所述内网DNS进行域名解析,并在解析成功时完成域名解析;在解析不成功时,所述区块链节点访问所述联邦DNS进行域名解析,并在解析成功时完成域名解析。
4.根据权利要求1所述的跨云环境下的P2P网络通信构建方法,其特征在于,所述内网DNS禁用内部集群缓存配置,利用DNS转发配置将所述内网DNS绑定到所述联邦DNS,以实现在所述内网DNS解析不出所述区块链节点的IP时,向上向所述联邦DNS进行所述区块链节点的IP查询。
5.根据权利要求1所述的跨云环境下的P2P网络通信构建方法,其特征在于,所述区块链节点在P2P通信时,一区块链节点根据另一区块链节点的网络域名进行访问,包括以下两种情况:
当两个区块链节点在同一机房或同一云环境中时,所述一区块链节点通过所述内网DNS查找所述另一区块链节点的IP,且所述内网DNS返回所述另一区块链节点的内网IP,所述一区块链节点根据所述内网IP直接通信;
当两个区块链节点在不同机房或不同云环境中时,所述一区块链节点先通过所述内网DNS查找所述另一区块链节点的IP,在所述内网DNS查找不到所述另一区块链节点的IP时,又向上向所述联邦DNS进行所述另一区块链节点的IP查询,所述联邦DNS返回所述另一区块链节点的公网IP,所述一区块链节点根据所述公网IP进行通信。
6.根据权利要求1所述的跨云环境下的P2P网络通信构建方法,其特征在于,还包括:对应用网络进行分层定义;其中,
不同机房之间或跨云环境下由公网进行通信连接,定义该层网络为一层网络;所述联邦DNS负责不同机房之间或跨云环境下的IP解析;
同一机房内或同一云环境下由内网进行通信连接,定义该层网络为二层网络;所述内网DNS用于同一机房内或同一云环境下的IP解析。
7.根据权利要求1所述的跨云环境下的P2P网络通信构建方法,其特征在于,还包括:对每个云环境中每台主机进行端口分配或统一采用确定端口进行端口复用,对外采用代理域名路由的方式进行内部服务请求分发。
8.一种跨云环境下的P2P网络通信构建系统,其特征在于,包括:创建模块、部署模块、获取模块、第一更新模块及第二更新模块;
所述创建模块用于创建区块链节点,并为所述区块链节点注册网络域名;
所述部署模块用于将所述区块链节点部署到指定的资源集群中;
所述获取模块用于获取所述区块链节点所在所述资源集群的内网IP和公网IP;
所述第一更新模块用于更新所在所述资源集群的内网DNS,将所述网络域名映射到所述内网IP;
所述第二更新模块用于更新所在所述资源集群的联邦DNS,将所述网络域名映射到所述公网IP。
9.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的跨云环境下的P2P网络通信构建方法。
10.一种终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行权利要求1至7中任一项所述的跨云环境下的P2P网络通信构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010750698.4A CN111970337B (zh) | 2020-07-30 | 2020-07-30 | 跨云环境下的p2p网络通信构建方法、系统、介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010750698.4A CN111970337B (zh) | 2020-07-30 | 2020-07-30 | 跨云环境下的p2p网络通信构建方法、系统、介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111970337A true CN111970337A (zh) | 2020-11-20 |
CN111970337B CN111970337B (zh) | 2024-02-20 |
Family
ID=73362379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010750698.4A Active CN111970337B (zh) | 2020-07-30 | 2020-07-30 | 跨云环境下的p2p网络通信构建方法、系统、介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111970337B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301116A (zh) * | 2021-04-15 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 微服务应用跨网络通信方法、装置、系统及设备 |
CN113869896A (zh) * | 2021-09-13 | 2021-12-31 | 中国移动通信集团云南有限公司 | 一种“公网+专网”区块链网络平台及其搭建方法 |
CN114244840A (zh) * | 2021-12-20 | 2022-03-25 | 杭州溪塔科技有限公司 | 多集群部署场景下网络自动优化方法 |
CN114760292A (zh) * | 2020-12-25 | 2022-07-15 | 广东飞企互联科技股份有限公司 | 一种面向服务发现与注册的方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120173760A1 (en) * | 2010-12-30 | 2012-07-05 | International Business Machines Corporation | Domain name resolution for a hybrid cloud cluster |
CN105978697A (zh) * | 2016-07-25 | 2016-09-28 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析方法 |
CN106161674A (zh) * | 2016-07-25 | 2016-11-23 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析装置 |
CN108064444A (zh) * | 2017-04-19 | 2018-05-22 | 北京大学深圳研究生院 | 一种基于区块链的域名解析系统 |
CN109067930A (zh) * | 2018-06-26 | 2018-12-21 | 网宿科技股份有限公司 | 域名接入方法、域名解析方法、服务器、终端及存储介质 |
CN109639848A (zh) * | 2018-12-20 | 2019-04-16 | 全链通有限公司 | 在区块链中发布域名的方法、设备、系统及存储介质 |
CN109688239A (zh) * | 2018-12-20 | 2019-04-26 | 全链通有限公司 | 域名解析方法、设备、系统及存储介质 |
CN110445850A (zh) * | 2019-07-24 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 区块链节点访问方法及装置、存储介质、电子设备 |
CN110830458A (zh) * | 2019-10-25 | 2020-02-21 | 云深互联(北京)科技有限公司 | 域名访问方法、系统和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108366137A (zh) * | 2018-05-28 | 2018-08-03 | 北京奇虎科技有限公司 | 基于区块链对域名进行处理的方法以及根域名系统 |
-
2020
- 2020-07-30 CN CN202010750698.4A patent/CN111970337B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120173760A1 (en) * | 2010-12-30 | 2012-07-05 | International Business Machines Corporation | Domain name resolution for a hybrid cloud cluster |
CN105978697A (zh) * | 2016-07-25 | 2016-09-28 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析方法 |
CN106161674A (zh) * | 2016-07-25 | 2016-11-23 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析装置 |
CN108064444A (zh) * | 2017-04-19 | 2018-05-22 | 北京大学深圳研究生院 | 一种基于区块链的域名解析系统 |
CN109067930A (zh) * | 2018-06-26 | 2018-12-21 | 网宿科技股份有限公司 | 域名接入方法、域名解析方法、服务器、终端及存储介质 |
CN109639848A (zh) * | 2018-12-20 | 2019-04-16 | 全链通有限公司 | 在区块链中发布域名的方法、设备、系统及存储介质 |
CN109688239A (zh) * | 2018-12-20 | 2019-04-26 | 全链通有限公司 | 域名解析方法、设备、系统及存储介质 |
CN110445850A (zh) * | 2019-07-24 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 区块链节点访问方法及装置、存储介质、电子设备 |
CN110830458A (zh) * | 2019-10-25 | 2020-02-21 | 云深互联(北京)科技有限公司 | 域名访问方法、系统和设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760292A (zh) * | 2020-12-25 | 2022-07-15 | 广东飞企互联科技股份有限公司 | 一种面向服务发现与注册的方法及装置 |
CN114760292B (zh) * | 2020-12-25 | 2023-07-21 | 广东飞企互联科技股份有限公司 | 一种面向服务发现与注册的方法及装置 |
CN113301116A (zh) * | 2021-04-15 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 微服务应用跨网络通信方法、装置、系统及设备 |
CN113869896A (zh) * | 2021-09-13 | 2021-12-31 | 中国移动通信集团云南有限公司 | 一种“公网+专网”区块链网络平台及其搭建方法 |
CN114244840A (zh) * | 2021-12-20 | 2022-03-25 | 杭州溪塔科技有限公司 | 多集群部署场景下网络自动优化方法 |
CN114244840B (zh) * | 2021-12-20 | 2023-06-06 | 杭州溪塔科技有限公司 | 多集群部署场景下网络自动优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111970337B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032755B (zh) | 一种容器服务托管系统及提供容器服务的方法 | |
CN111970337B (zh) | 跨云环境下的p2p网络通信构建方法、系统、介质及终端 | |
CN112130965A (zh) | 部署分布式容器编排管理集群的方法、设备及存储介质 | |
US11368407B2 (en) | Failover management using availability groups | |
Li et al. | Resource allocation with multi-factor node ranking in data center networks | |
CN114237812A (zh) | 容器网络管理系统 | |
CN112995273B (zh) | 网络打通方案生成方法、装置、计算机设备和存储介质 | |
CN100452726C (zh) | 模型化的网格资源定位方法 | |
CN106445585A (zh) | 基于容器技术的应用部署方法和系统 | |
CN115086312A (zh) | 实现kubernetes服务跨集群通信的方法及系统 | |
CN113056895A (zh) | 用于将现有访问控制列表策略迁移到基于意图的策略且反之亦然的系统和方法 | |
CN114143090B (zh) | 基于网络安全架构的防火墙部署方法、装置、设备及介质 | |
CN114172853B (zh) | 流量转发及裸机服务器的配置方法、装置 | |
CN113067914B (zh) | 一种分配子网标识的方法、装置、电子设备和存储介质 | |
CN114489931A (zh) | 一种函数实例的容器创建方法及系统 | |
Rotter et al. | Telecom strategies for service discovery in microservice environments | |
US10963314B2 (en) | Discovery and mapping of a platform-as-a-service environment | |
CN114490393A (zh) | 一种单集群多租户管理系统 | |
CN114564530A (zh) | 一种数据库访问方法、装置、设备及存储介质 | |
CN107277126A (zh) | 一种云计算资源管理方法及装置 | |
CN115623081A (zh) | 数据下载方法、上传方法及分布式存储系统 | |
CN113742372A (zh) | 一种边缘节点中的数据的访问方法、装置及系统 | |
CN113810230B (zh) | 对容器集群中的容器进行网络配置的方法、装置及系统 | |
Bohm et al. | PULCEO-A Novel Architecture for Universal and Lightweight Cloud-Edge Orchestration | |
US20230062068A1 (en) | Techniques for performing domain name system support |
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 |