CN115190162B - 区块链中的代理服务配置方法及代理服务*** - Google Patents
区块链中的代理服务配置方法及代理服务*** Download PDFInfo
- Publication number
- CN115190162B CN115190162B CN202210745463.5A CN202210745463A CN115190162B CN 115190162 B CN115190162 B CN 115190162B CN 202210745463 A CN202210745463 A CN 202210745463A CN 115190162 B CN115190162 B CN 115190162B
- Authority
- CN
- China
- Prior art keywords
- client
- event
- connection
- server
- configures
- 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 33
- 238000012544 monitoring process Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000002347 injection Methods 0.000 claims description 11
- 239000007924 injection Substances 0.000 claims description 11
- 238000012423 maintenance Methods 0.000 claims description 10
- 239000000523 sample Substances 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000036541 health Effects 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种区块链中的代理服务配置方法及代理服务***,属于区块链技术领域。方法包括:服务端根据端口的端口信息配置端口监听,配置与应用层的第一连接规则和与客户端的第二连接规则;客户端获取区块链上的各个链节点的节点信息,根据节点信息配置与各个链节点的长连接并维护,根据获取的负载均衡策略和服务发现协议进行配置;客户端和服务端配置内部监听事件;客户端配置自定义监听事件;在与应用层建立长连接并在端口监听到事件后,服务端与客户端建立长连接,客户端根据事件确定调用对应的链节点,根据负载均衡选择长连接以进行网络调用和响应。本申请中的应用层只需关注链使用即可,可以提高应用层服务的容错率以及高可用概率。
Description
技术领域
本申请实施例涉及区块链技术领域,特别涉及一种区块链中的代理服务配置方法及代理服务***。
背景技术
区块链由N个链节点共同构成,应用层可以通过与某个链节点建立RPC(RemoteProcedure Call,远程过程调用)连接,再与该链节点进行数据交换。
当应用层与链节点之间因网络连接原因而导致事件失败、网络连接不可用、获取的账本低于共识块高等问题时,需要对应用层进行改造,这样,应用层不仅需要专注于链使用,还需要专注于因环境设施、网络等场景带来的事务问题,从而加大了应用层的开发难度。
发明内容
本申请实施例提供了一种区块链中的代理服务配置方法及代理服务***,用于解决对应用层进行改造,使得应用层不仅需要专注于链使用,还需要专注于因环境设施、网络等场景带来的事务问题,从而加大了应用层的开发难度的问题。所述技术方案如下:
一方面,提供了一种区块链中的代理服务配置方法,用于包括服务端和客户端的代理服务***中,所述方法包括:
所述服务端获取所述服务端中具有多个流量入口的端口的端口信息,根据所述端口信息配置端口监听;
所述服务端配置与应用层的第一连接规则,并配置与所述客户端的第二连接规则;
所述客户端获取所述区块链上的各个链节点的节点信息,根据所述节点信息配置与各个链节点建立的长连接并维护;
所述客户端获取负载均衡策略和服务发现协议,根据所述服务发现协议和所述负载均衡策略进行配置;
所述客户端和所述服务端配置内部监听事件;
所述客户端配置自定义监听事件;
在根据所述第一连接规则与所述应用层建立长连接并在端口监听到事件后,所述服务端根据所述第二连接规则与所述客户端建立长连接,所述客户端根据所述事件确定调用对应的链节点,根据所述负载均衡选择长连接以进行网络调用和响应。
在一种可能的实现方式中,所述服务端配置与应用层的第一连接规则,包括:
所述服务端利用Shake设置长连接在终止之前完成协商握手的允许时间,并配置侦听和调度的第一连接规则。
在一种可能的实现方式中,所述配置与所述客户端的第二连接规则,包括:
所述服务端采用HandlerRegistry注册***,并在所述***中配置用于对所述客户端进行身份验证的第二连接规则。
在一种可能的实现方式中,所述根据所述节点信息配置与各个链节点建立的长连接并维护,包括:
所述客户端配置节点解析器工厂ResolverFactory;
所述客户端将链节点网络地址SocketAddress注册至节点解析器Resolver,所述SocketAddress用于建立Socket对象;
所述客户端根据所述Resolver动态与所述链节点建立长连接;
所述客户端将所述长连接添加到长连接保持池中,并对所述长连接保持池进行维护。
在一种可能的实现方式中,所述根据所述服务发现协议和所述负载均衡策略进行配置,包括:
所述客户端利用LoadBalancingPolicy自定义负载均衡策略,并将所述负载均衡策略注册到Stock通道构建器中;
所述客户端利用所述Stock通道构建器进行长连接的探针维护;
所述客户端根据所述服务发现协议配置各项发现服务。
在一种可能的实现方式中,所述客户端利用所述Stock通道构建器进行长连接的探针维护,包括:
当所述Stock通道构建器由Provider的HardCodedClasses实现时,所述客户端利用所述Provider中的Accessor判断所述链节点的地址的可用性。
在一种可能的实现方式中,所述内部监听事件包括Ready事件、Headers事件、Message事件和HalfClose事件。
在一种可能的实现方式中,所述客户端配置自定义监听事件,包括:
所述客户端配置重试事件、最大流持续时间事件和故障注入事件,所述重试事件是在所述链节点不可用而导致负载失败后的策略重试,所述最大流持续时间事件是指定路由流允许持续时间和调整超时,所述故障注入事件是测试服务对于不同形式的故障的弹性。
一方面,提供了一种区块链中的代理服务***,所述代理服务***中包括服务端和客户端;
所述服务端,用于获取所述服务端中具有多个流量入口的端口的端口信息,根据所述端口信息配置端口监听;
所述服务端,还用于配置与应用层的第一连接规则,并配置与所述客户端的第二连接规则;
所述客户端,用于获取所述区块链上的各个链节点的节点信息,根据所述节点信息配置与各个链节点建立的长连接并维护;
所述客户端,还用于获取负载均衡策略和服务发现协议,根据所述服务发现协议和所述负载均衡策略进行配置;
所述客户端和所述服务端,还用于配置内部监听事件;
所述客户端,还用于配置自定义监听事件;
在根据所述第一连接规则与所述应用层建立长连接并在端口监听到事件后,所述服务端,还用于根据所述第二连接规则与所述客户端建立长连接,所述客户端,还用于根据所述事件确定调用对应的链节点,根据所述负载均衡选择长连接以进行网络调用和响应。
在一种可能的实现方式中,所述服务端,还用于:
利用Shake设置长连接在终止之前完成协商握手的允许时间,并配置侦听和调度的第一连接规则。
在一种可能的实现方式中,所述服务端,还用于:
采用HandlerRegistry注册***,并在所述***中配置用于对所述客户端进行身份验证的第二连接规则。
在一种可能的实现方式中,所述客户端,还用于:
配置节点解析器工厂ResolverFactory;
将链节点网络地址SocketAddress注册至节点解析器Resolver,所述SocketAddress用于建立Socket对象;
根据所述Resolver动态与所述链节点建立长连接;
将所述长连接添加到长连接保持池中,并对所述长连接保持池进行维护。
在一种可能的实现方式中,所述客户端,还用于:
利用LoadBalancingPolicy自定义负载均衡策略,并将所述负载均衡策略注册到Stock通道构建器中;
利用所述Stock通道构建器进行长连接的探针维护;
根据所述服务发现协议配置各项发现服务。
在一种可能的实现方式中,所述客户端,还用于:
当所述Stock通道构建器由Provider的HardCodedClasses实现时,利用所述Provider中的Accessor判断所述链节点的地址的可用性。
在一种可能的实现方式中,所述内部监听事件包括Ready事件、Headers事件、Message事件和HalfClose事件。
在一种可能的实现方式中,所述客户端,还用于:
配置重试事件、最大流持续时间事件和故障注入事件,所述重试事件是在所述链节点不可用而导致负载失败后的策略重试,所述最大流持续时间事件是指定路由流允许持续时间和调整超时,所述故障注入事件是测试服务对于不同形式的故障的弹性。
本申请实施例提供的技术方案的有益效果至少包括:
通过配置服务端的端口监听、第一连接规则和第二连接规则,配置客户端与区块链中的各个链节点的长连接并维护、配置客户端的负载均衡策略和服务发现协议,配置服务端和客户端的内部监听事件、配置客户端的自定义监听事件,这样,应用层只需关注链使用即可,且能够适配多需求场景,提高应用层服务的容错率以及高可用概率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的区块链中的代理服务配置方法的方法流程图;
图2是本申请一个实施例提供的区块链的应用***的用户注册方法的方法流程图;
图3是本申请一个实施例提供的区块链的代理服务***的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的区块链中的代理服务配置方法的方法流程图,可以应用于包括服务端和客户端的代理服务***中。该区块链中的代理服务配置方法,可以包括:
步骤101,服务端获取服务端中具有多个流量入口的端口的端口信息,根据端口信息配置端口监听。
一般来说,服务端在进程层面暴露的端口只有一个,但是,我们可以在进程所在机器或者流量网络上配置一层反向代理,从而将其他的流量一起转进该端口内,简单来说,就是一个端口可以具有多个流量入口。
在启动服务端后,服务端可以获取的端口的端口信息,再创建Netty、Managed等通道(Channel),利用这些通道来进行端口监听。
步骤102,服务端配置与应用层的第一连接规则,并配置与客户端的第二连接规则。
服务端既需要与应用层建立长连接,也需要与客户端建立长连接,这样,服务端才能将应用层发送的数据转发给客户端,或者,将客户端发送的数据转发给应用层。
本实施例中,可以分别配置第一连接规则和第二连接规则,服务端可以根据第一连接规则来创建与应用层的长连接,根据第二连接规则来创建与客户端的长连接。
步骤103,客户端获取区块链上的各个链节点的节点信息,根据节点信息配置与各个链节点建立的长连接并维护。
步骤104,客户端获取负载均衡策略和服务发现协议,根据服务发现协议和负载均衡策略进行配置。
负载均衡策略可以包括但不限于:PickFirst、RoundRobin、RingHash、lb。
服务发现协议可以是xDS协议。
客户端可以根据负载均衡策略实现负载均衡,根据服务发现协议发现各项服务。
步骤105,客户端和服务端配置内部监听事件。
客户端和服务端需要各自配置内部监听事件。
步骤106,客户端配置自定义监听事件。
步骤107,在根据第一连接规则与应用层建立长连接并在端口监听到事件后,服务端根据第二连接规则与客户端建立长连接,客户端根据事件确定调用对应的链节点,根据负载均衡选择长连接以进行网络调用和响应。
服务端先与应用层建立长连接,在对端口进行监听且监听到事件时,与客户端建立长连接,并将该事件发送给客户端,客户端在监听到该事件后,根据该事件确定所需调用的链节点,再根据负载均衡来选择对应的长连接以进行网络调用和响应。
综上所述,本申请实施例提供的区块链中的代理服务配置方法,通过配置服务端的端口监听、第一连接规则和第二连接规则,配置客户端与区块链中的各个链节点的长连接并维护、配置客户端的负载均衡策略和服务发现协议,配置服务端和客户端的内部监听事件、配置客户端的自定义监听事件,这样,应用层只需关注链使用即可,且能够适配多需求场景,提高应用层服务的容错率以及高可用概率。
请参考图2,其示出了本申请一个实施例提供的区块链中的代理服务配置方法的方法流程图,可以应用于包括服务端和客户端的代理服务***中。该区块链中的代理服务配置方法,可以包括:
步骤201,服务端获取服务端中具有多个流量入口的端口的端口信息,根据端口信息配置端口监听。
一般来说,服务端在进程层面暴露的端口只有一个,但是,我们可以在进程所在机器或者流量网络上配置一层反向代理,从而将其他的流量一起转进该端口内,简单来说,就是一个端口可以具有多个流量入口。
在启动服务端后,服务端可以获取的端口的端口信息,再创建Netty、Managed等通道(Channel),利用这些通道来进行端口监听。
步骤202,服务端利用Shake设置长连接在终止之前完成协商握手的允许时间,并配置侦听和调度的第一连接规则。
本实施例中,服务端可以预先配置第一连接规则,以便于后续根据第一连接规则来创建与应用层的长连接。
这里所说的第一连接规则可以包括但不限于:重试规则、数据大小限制、白名单等。
步骤203,服务端采用HandlerRegistry注册***,并在***中配置用于对客户端进行身份验证的第二连接规则。
本实施例中,服务端可以配置第二连接规则,以便于后续根据第二连接规则来创建与客户端的长连接。
这里所说的身份验证的验证内容可以是校验信息、HTTP请求头等等,本实施例不作限定。
在注册***时,服务端还可以自定义呼叫(call)的自有逻辑。
步骤204,客户端获取区块链上的各个链节点的节点信息,根据节点信息配置与各个链节点建立的长连接并维护。
具体的,根据节点信息配置与各个链节点建立的长连接并维护,可以包括:客户端配置节点解析器工厂ResolverFactory;客户端将链节点网络地址SocketAddress注册至节点解析器Resolver,SocketAddress用于建立Socket对象;客户端根据Resolver动态与链节点建立长连接;客户端将长连接添加到长连接保持池中,并对长连接保持池进行维护。
其中,客户端可以实现Name、Forwarding、Dns等方式的ResolverFactory,将Inet、Unix、Domain等方式的SocketAddress进行绑定并注册至Resolver。其中,ResolverFactory是节点解析器工厂,后续开始(Start)后动态建立通信。SocketAddress是链节点网络地址,用于建立Socket对象。
客户端可以将创建的长连接添加到长连接保持池中,并对长连接保持池进行维护,从而减少创建连接所消耗的资源。
由于本实施例中由客户端与链节点建立长连接,所以,在网络连接不通时,可以对客户端进行重试改造,而无需对应用层进行重试改造,从而降低了应用层的开发难度。
步骤205,客户端获取负载均衡策略和服务发现协议,根据服务发现协议和负载均衡策略进行配置。
客户端可以根据负载均衡策略实现负载均衡,根据服务发现协议发现各项服务。
具体的,根据服务发现协议和负载均衡策略进行配置,可以包括:客户端利用LoadBalancingPolicy自定义负载均衡策略,并将负载均衡策略注册到Stock通道构建器中;客户端利用Stock通道构建器进行长连接的探针维护;客户端根据服务发现协议配置各项发现服务。
负载均衡策略可以包括但不限于:PickFirst、RoundRobin、RingHash、lb。LoadBalancingPolicy为负载均衡策略配置,包含以下职责:
1)从节点解析器接收更新的配置和链节点的地址列表;
2)根据链节点的地址创建子管道并管理它们的连接行为,这里所说的子管道即为长连接;
3)设置管道的整体连接,通常通过聚合其子管道的连接状态来计算;
4)对于在通道上发送的每个RPC,确定在哪个子通道上发送RPC。
客户端利用Stock通道构建器进行长连接的探针维护,可以包括:当Stock通道构建器由Provider的HardCodedClasses实现时,客户端利用Provider中的Accessor判断链节点的地址的可用性。由于客户端与链节点建立的是长连接,所以,可以通过探针维护来确定长连接的可用性,从而可以实时删除不可用的长连接,以节省资源。
服务发现协议可以是xDS协议。这里所说的发现服务可以包括但不限于:***发现服务(LDS)、路由发现服务(RDS)、集群发现服务(CDS)、集群成员发现服务(EDS)、聚合发现服务(ADS)、健康度发现服务(HDS)等。客户端可以通过多种方式获取数据资源,比如监听指定文件,订阅gRPC流以及轮询相应的REST API等。
步骤206,客户端和服务端配置内部监听事件。
客户端和服务端需要各自配置内部监听事件。其中,内部监听事件包括Ready事件、Headers事件、Message事件和HalfClose事件。
服务端需要通过监听内部监听事件来获取应用层的数据,并将该数据转发给客户端。
客户端使用的gRPC是通过protobuf流传输数据,这就需要在监听内封装数据以及等待链节点的网络响应。
步骤207,客户端配置重试事件、最大流持续时间事件和故障注入事件,重试事件是在链节点不可用而导致负载失败后的策略重试,最大流持续时间事件是指定路由流允许持续时间和调整超时,故障注入事件是测试服务对于不同形式的故障的弹性。
其中,Retry(重试)事件是进行节点多数不可用时负载失败后的策略重试。MaximumStreamDuration(最大流持续时间)事件是指定路由流允许持续时间,调整超时等。FaultInjection(故障注入)事件可用于测试微服务对不同形式故障的弹性,从而提供分级不同故障场景的能力。
步骤208,在根据第一连接规则与应用层建立长连接并在端口监听到事件后,服务端根据第二连接规则与客户端建立长连接,客户端根据事件确定调用对应的链节点,根据负载均衡选择长连接以进行网络调用和响应。
服务端先与应用层建立长连接,在对端口进行监听且监听到事件时,与客户端建立长连接,并将该事件发送给客户端,客户端在监听到该事件后,根据该事件确定所需调用的链节点,再根据负载均衡来选择对应的长连接以进行网络调用和响应。
本实施例中,客户端可以通过维护的长连接获取各个链节点的账本,并对各个链节点的账本进行比对,若确定部分链节点的账本与其他链节点的账本不同,则确定这部分链节点的账本低于共识块高,无法从这部分节点中获取最新块高,从而可以删除或重建与这部分节点的长连接。
综上所述,本申请实施例提供的区块链中的代理服务配置方法,通过配置服务端的端口监听、第一连接规则和第二连接规则,配置客户端与区块链中的各个链节点的长连接并维护、配置客户端的负载均衡策略和服务发现协议,配置服务端和客户端的内部监听事件、配置客户端的自定义监听事件,这样,应用层只需关注链使用即可,且能够适配多需求场景,提高应用层服务的容错率以及高可用概率。
请参考图3,其示出了本申请一个实施例提供的区块链中的代理服务***的结构框图,该区块链中的代理服务***,可以包括服务端310和客户端320;
服务端310,用于获取服务端310中具有多个流量入口的端口的端口信息,根据端口信息配置端口监听;
服务端310,还用于配置与应用层的第一连接规则,并配置与客户端320的第二连接规则;
客户端320,用于获取区块链上的各个链节点的节点信息,根据节点信息配置与各个链节点建立的长连接并维护;
客户端320,还用于获取负载均衡策略和服务发现协议,根据服务发现协议和负载均衡策略进行配置;
客户端320和服务端310,还用于配置内部监听事件;
客户端320,还用于配置自定义监听事件;
在根据第一连接规则与应用层建立长连接并在端口监听到事件后,服务端310,还用于根据第二连接规则与客户端320建立长连接;
客户端320,还用于根据事件确定调用对应的链节点,根据负载均衡选择长连接以进行网络调用和响应。
在一个可选的实施例中,服务端310,还用于利用Shake设置长连接在终止之前完成协商握手的允许时间,并配置侦听和调度的第一连接规则。
在一个可选的实施例中,服务端310,还用于采用HandlerRegistry注册***,并在***中配置用于对客户端320进行身份验证的第二连接规则。
在一个可选的实施例中,客户端320,还用于:
配置节点解析器工厂ResolverFactory;
将链节点网络地址SocketAddress注册至节点解析器Resolver,所述SocketAddress用于建立Socket对象;
根据Resolver动态与所述链节点建立长连接;
将长连接添加到长连接保持池中,并对长连接保持池进行维护。
在一个可选的实施例中,客户端320,还用于:
利用LoadBalancingPolicy自定义负载均衡策略,并将负载均衡策略注册到Stock通道构建器中;
利用Stock通道构建器进行长连接的探针维护;
根据服务发现协议配置各项发现服务。
在一个可选的实施例中,客户端320,还用于:
当Stock通道构建器由Provider的HardCodedClasses实现时,利用Provider中的Accessor判断链节点的地址的可用性。
在一个可选的实施例中,内部监听事件包括Ready事件、Headers事件、Message事件和HalfClose事件。
在一个可选的实施例中,客户端320,还用于:
配置重试事件、最大流持续时间事件和故障注入事件,重试事件是在链节点不可用而导致负载失败后的策略重试,最大流持续时间事件是指定路由流允许持续时间和调整超时,故障注入事件是测试服务对于不同形式的故障的弹性。
综上所述,本申请实施例提供的区块链中的代理服务***,通过配置服务端的端口监听、第一连接规则和第二连接规则,配置客户端与区块链中的各个链节点的长连接并维护、配置客户端的负载均衡策略和服务发现协议,配置服务端和客户端的内部监听事件、配置客户端的自定义监听事件,这样,应用层只需关注链使用即可,且能够适配多需求场景,提高应用层服务的容错率以及高可用概率。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (14)
1.一种区块链中的代理服务配置方法,其特征在于,用于包括服务端和客户端的代理服务***中,所述方法包括:
所述服务端获取所述服务端中具有多个流量入口的端口的端口信息,根据所述端口信息配置端口监听;
所述服务端配置与应用层的第一连接规则,并配置与所述客户端的第二连接规则;
所述客户端获取所述区块链上的各个链节点的节点信息,根据所述节点信息配置与各个链节点建立的长连接并维护;
所述客户端获取负载均衡策略和服务发现协议,根据所述服务发现协议和所述负载均衡策略进行配置;
所述客户端和所述服务端配置内部监听事件,所述内部监听事件包括Ready事件、Headers事件、Message事件和HalfClose事件;
所述客户端配置自定义监听事件;
在根据所述第一连接规则与所述应用层建立长连接并在端口监听到事件后,所述服务端根据所述第二连接规则与所述客户端建立长连接,所述客户端根据所述事件确定调用对应的链节点,根据所述负载均衡选择长连接以进行网络调用和响应。
2.根据权利要求1所述的区块链中的代理服务配置方法,其特征在于,所述服务端配置与应用层的第一连接规则,包括:
所述服务端利用Shake设置长连接在终止之前完成协商握手的允许时间,并配置侦听和调度的第一连接规则。
3.根据权利要求1所述的区块链中的代理服务配置方法,其特征在于,所述配置与所述客户端的第二连接规则,包括:
所述服务端采用HandlerRegistry注册***,并在所述***中配置用于对所述客户端进行身份验证的第二连接规则。
4.根据权利要求1所述的区块链中的代理服务配置方法,其特征在于,所述根据所述节点信息配置与各个链节点建立的长连接并维护,包括:
所述客户端配置节点解析器工厂ResolverFactory;
所述客户端将链节点网络地址SocketAdd ress注册至节点解析器Resolver,所述SocketAddress用于建立Socket对象;
所述客户端根据所述Resolver动态与所述链节点建立长连接;
所述客户端将所述长连接添加到长连接保持池中,并对所述长连接保持池进行维护。
5.根据权利要求4所述的区块链中的代理服务配置方法,其特征在于,所述根据所述服务发现协议和所述负载均衡策略进行配置,包括:
所述客户端利用LoadBalancingPolicy自定义负载均衡策略,并将所述负载均衡策略注册到Stock通道构建器中;
所述客户端利用所述Stock通道构建器进行长连接的探针维护;
所述客户端根据所述服务发现协议配置各项发现服务。
6.根据权利要求5所述的区块链中的代理服务配置方法,其特征在于,所述客户端利用所述Stock通道构建器进行长连接的探针维护,包括:
当所述Stock通道构建器由Provider的HardCodedClasses实现时,所述客户端利用所述Provider中的Accessor判断所述链节点的地址的可用性。
7.根据权利要求1至6中任一项所述的区块链中的代理服务配置方法,其特征在于,所述客户端配置自定义监听事件,包括:
所述客户端配置重试事件、最大流持续时间事件和故障注入事件,所述重试事件是在所述链节点不可用而导致负载失败后的策略重试,所述最大流持续时间事件是指定路由流允许持续时间和调整超时,所述故障注入事件是测试服务对于不同形式的故障的弹性。
8.一种区块链中的代理服务***,其特征在于,所述代理服务***中包括服务端和客户端;
所述服务端,用于获取所述服务端中具有多个流量入口的端口的端口信息,根据所述端口信息配置端口监听;
所述服务端,还用于配置与应用层的第一连接规则,并配置与所述客户端的第二连接规则;
所述客户端,用于获取所述区块链上的各个链节点的节点信息,根据所述节点信息配置与各个链节点建立的长连接并维护;
所述客户端,还用于获取负载均衡策略和服务发现协议,根据所述服务发现协议和所述负载均衡策略进行配置;
所述客户端和所述服务端,还用于配置内部监听事件,所述内部监听事件包括Ready事件、Headers事件、Message事件和HalfClose事件;
所述客户端,还用于配置自定义监听事件;
在根据所述第一连接规则与所述应用层建立长连接并在端口监听到事件后,所述服务端,还用于根据所述第二连接规则与所述客户端建立长连接,所述客户端,还用于根据所述事件确定调用对应的链节点,根据所述负载均衡选择长连接以进行网络调用和响应。
9.根据权利要求8所述的区块链中的代理服务***,其特征在于,所述服务端,还用于:
利用Shake设置长连接在终止之前完成协商握手的允许时间,并配置侦听和调度的第一连接规则。
10.根据权利要求8所述的区块链中的代理服务***,其特征在于,所述服务端,还用于:
采用HandlerRegistry注册***,并在所述***中配置用于对所述客户端进行身份验证的第二连接规则。
11.根据权利要求8所述的区块链中的代理服务***,其特征在于,所述客户端,还用于:
配置节点解析器工厂ResolverFactory;
将链节点网络地址SocketAddress注册至节点解析器Resolver,所述SocketAddress用于建立Socket对象;
根据所述Resolver动态与所述链节点建立长连接;
将所述长连接添加到长连接保持池中,并对所述长连接保持池进行维护。
12.根据权利要求11所述的区块链中的代理服务***,其特征在于,所述客户端,还用于:
利用LoadBalancingPolicy自定义负载均衡策略,并将所述负载均衡策略注册到Stock通道构建器中;
利用所述Stock通道构建器进行长连接的探针维护;
根据所述服务发现协议配置各项发现服务。
13.根据权利要求12所述的区块链中的代理服务***,其特征在于,所述客户端,还用于:
当所述Stock通道构建器由Provider的HardCodedClasses实现时,利用所述Provider中的Accessor判断所述链节点的地址的可用性。
14.根据权利要求8至13中任一项所述的区块链中的代理服务***,其特征在于,所述客户端,还用于:
配置重试事件、最大流持续时间事件和故障注入事件,所述重试事件是在所述链节点不可用而导致负载失败后的策略重试,所述最大流持续时间事件是指定路由流允许持续时间和调整超时,所述故障注入事件是测试服务对于不同形式的故障的弹性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745463.5A CN115190162B (zh) | 2022-06-27 | 2022-06-27 | 区块链中的代理服务配置方法及代理服务*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745463.5A CN115190162B (zh) | 2022-06-27 | 2022-06-27 | 区块链中的代理服务配置方法及代理服务*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115190162A CN115190162A (zh) | 2022-10-14 |
CN115190162B true CN115190162B (zh) | 2023-11-28 |
Family
ID=83515904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210745463.5A Active CN115190162B (zh) | 2022-06-27 | 2022-06-27 | 区块链中的代理服务配置方法及代理服务*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115190162B (zh) |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145605A (zh) * | 2017-06-07 | 2017-09-08 | 北京天德科技有限公司 | 一种基于区块链统一接口(obcc)的许可链应用*** |
CN108259594A (zh) * | 2018-01-11 | 2018-07-06 | 杭州秘猿科技有限公司 | 一种基于区块链的数据交互***以及中继服务器 |
CN108305170A (zh) * | 2018-03-07 | 2018-07-20 | 物数(上海)信息科技有限公司 | 基于区块链的外部服务访问方法、***、设备及存储介质 |
CN109474687A (zh) * | 2018-11-23 | 2019-03-15 | 杭州数梦工场科技有限公司 | 一种不同私网间通信的方法、装置和*** |
CN109951537A (zh) * | 2019-03-06 | 2019-06-28 | 上海共链信息科技有限公司 | 一种面向区块链的负载均衡分发方法 |
CN110109930A (zh) * | 2019-05-15 | 2019-08-09 | 山东省计算中心(国家超级计算济南中心) | 基于区块链双链结构的政务数据存储、查询方法及*** |
CN110601902A (zh) * | 2019-09-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的交互数据处理方法及装置 |
CN110601906A (zh) * | 2019-09-29 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据传输方法及装置 |
CN111224829A (zh) * | 2020-01-17 | 2020-06-02 | 深圳市网心科技有限公司 | 外部节点接入区块链网络的方法及装置,区块链网络 |
CN111277635A (zh) * | 2020-01-14 | 2020-06-12 | 深圳市网心科技有限公司 | 一种外部节点接入区块链方法、设备、装置及计算机介质 |
CN111740973A (zh) * | 2020-06-16 | 2020-10-02 | 深圳市迈科龙电子有限公司 | 一种区块链服务与应用的智能防御***及方法 |
CN111935314A (zh) * | 2020-09-25 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 区块链***、消息传输方法及装置 |
CN112016094A (zh) * | 2020-08-14 | 2020-12-01 | 深圳市迈科龙电子有限公司 | 一种区块链服务安全防护策略管控***与方法 |
CN112583917A (zh) * | 2020-12-10 | 2021-03-30 | 浙商银行股份有限公司 | 一种基于cscp的混合链构建方法 |
CN112929285A (zh) * | 2020-08-28 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 区块链网络的通信优化*** |
CN113110899A (zh) * | 2021-06-11 | 2021-07-13 | 北京百度网讯科技有限公司 | 区块链***的运行方法、装置、设备和存储介质 |
CN113179272A (zh) * | 2021-04-28 | 2021-07-27 | 杭州丽冠科技有限公司 | 基于智能合约的区块链跨链交互方法、装置和计算机可读存储介质 |
CN113329081A (zh) * | 2021-05-28 | 2021-08-31 | 深圳技术大学 | 一种区块链服务接入方法、装置及计算机可读存储介质 |
CN113676483A (zh) * | 2021-08-26 | 2021-11-19 | 中国联合网络通信集团有限公司 | 多区块链的接入管理方法及其***、能力开放装置 |
CN114221801A (zh) * | 2021-12-08 | 2022-03-22 | 山东浪潮工业互联网产业股份有限公司 | 一种网络安全通信方法及装置 |
CN114221965A (zh) * | 2021-12-07 | 2022-03-22 | 杭州趣链科技有限公司 | 访问区块链的方法、装置及电子设备 |
CN114338036A (zh) * | 2021-12-23 | 2022-04-12 | 杭州趣链科技有限公司 | 一种区块链客户端的数据通信方法及装置 |
CN114650231A (zh) * | 2022-05-13 | 2022-06-21 | 南京金宁汇科技有限公司 | 一种可视容器化的联盟链节点部署方法及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180197155A1 (en) * | 2016-12-12 | 2018-07-12 | Topl, Llc | Method and Apparatus for Processing Mobile Payment Using Blockchain Techniques |
US10757103B2 (en) * | 2017-04-11 | 2020-08-25 | Xage Security, Inc. | Single authentication portal for diverse industrial network protocols across multiple OSI layers |
US10742612B2 (en) * | 2017-10-16 | 2020-08-11 | Cisco Technology, Inc. | Determine payload integrity for traffic flowing across proxies |
US10970307B2 (en) * | 2018-11-03 | 2021-04-06 | International Business Machines Corporation | Information transparency control |
-
2022
- 2022-06-27 CN CN202210745463.5A patent/CN115190162B/zh active Active
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145605A (zh) * | 2017-06-07 | 2017-09-08 | 北京天德科技有限公司 | 一种基于区块链统一接口(obcc)的许可链应用*** |
CN108259594A (zh) * | 2018-01-11 | 2018-07-06 | 杭州秘猿科技有限公司 | 一种基于区块链的数据交互***以及中继服务器 |
CN108305170A (zh) * | 2018-03-07 | 2018-07-20 | 物数(上海)信息科技有限公司 | 基于区块链的外部服务访问方法、***、设备及存储介质 |
CN109474687A (zh) * | 2018-11-23 | 2019-03-15 | 杭州数梦工场科技有限公司 | 一种不同私网间通信的方法、装置和*** |
CN109951537A (zh) * | 2019-03-06 | 2019-06-28 | 上海共链信息科技有限公司 | 一种面向区块链的负载均衡分发方法 |
CN110109930A (zh) * | 2019-05-15 | 2019-08-09 | 山东省计算中心(国家超级计算济南中心) | 基于区块链双链结构的政务数据存储、查询方法及*** |
CN110601902A (zh) * | 2019-09-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的交互数据处理方法及装置 |
CN110601906A (zh) * | 2019-09-29 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据传输方法及装置 |
CN111277635A (zh) * | 2020-01-14 | 2020-06-12 | 深圳市网心科技有限公司 | 一种外部节点接入区块链方法、设备、装置及计算机介质 |
CN111224829A (zh) * | 2020-01-17 | 2020-06-02 | 深圳市网心科技有限公司 | 外部节点接入区块链网络的方法及装置,区块链网络 |
CN111740973A (zh) * | 2020-06-16 | 2020-10-02 | 深圳市迈科龙电子有限公司 | 一种区块链服务与应用的智能防御***及方法 |
CN112016094A (zh) * | 2020-08-14 | 2020-12-01 | 深圳市迈科龙电子有限公司 | 一种区块链服务安全防护策略管控***与方法 |
CN112929285A (zh) * | 2020-08-28 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 区块链网络的通信优化*** |
CN111935314A (zh) * | 2020-09-25 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 区块链***、消息传输方法及装置 |
CN112583917A (zh) * | 2020-12-10 | 2021-03-30 | 浙商银行股份有限公司 | 一种基于cscp的混合链构建方法 |
CN113179272A (zh) * | 2021-04-28 | 2021-07-27 | 杭州丽冠科技有限公司 | 基于智能合约的区块链跨链交互方法、装置和计算机可读存储介质 |
CN113329081A (zh) * | 2021-05-28 | 2021-08-31 | 深圳技术大学 | 一种区块链服务接入方法、装置及计算机可读存储介质 |
CN113110899A (zh) * | 2021-06-11 | 2021-07-13 | 北京百度网讯科技有限公司 | 区块链***的运行方法、装置、设备和存储介质 |
CN113676483A (zh) * | 2021-08-26 | 2021-11-19 | 中国联合网络通信集团有限公司 | 多区块链的接入管理方法及其***、能力开放装置 |
CN114221965A (zh) * | 2021-12-07 | 2022-03-22 | 杭州趣链科技有限公司 | 访问区块链的方法、装置及电子设备 |
CN114221801A (zh) * | 2021-12-08 | 2022-03-22 | 山东浪潮工业互联网产业股份有限公司 | 一种网络安全通信方法及装置 |
CN114338036A (zh) * | 2021-12-23 | 2022-04-12 | 杭州趣链科技有限公司 | 一种区块链客户端的数据通信方法及装置 |
CN114650231A (zh) * | 2022-05-13 | 2022-06-21 | 南京金宁汇科技有限公司 | 一种可视容器化的联盟链节点部署方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN115190162A (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7426737B2 (en) | Method and apparatus for operating an open API network having a proxy | |
CN100541476C (zh) | 用于径上信令的加密对等体发现、认证和授权 | |
US20040152439A1 (en) | Mobile device communications system and method | |
JP2007528085A (ja) | アプリケーションサーバ及びトランザクションベースシステムにチャネルを設けるためのシステム及び方法 | |
US20060069777A1 (en) | Request message control method for using service and service providing system | |
US10693706B2 (en) | Method and apparatus of performing simultaneous multi-agent access for command execution through a single client | |
US20130305393A1 (en) | Method for configuring access rights, control point, device and communication system | |
CN112637332B (zh) | 一种服务注册发现方法和*** | |
CN113259423B (zh) | P2p***中客户端联网访问的方法及装置 | |
CN109981817A (zh) | 访问请求的处理方法及装置、服务器 | |
CN114338063B (zh) | 消息队列***、业务处理方法及计算机可读存储介质 | |
CN106970843B (zh) | 远程调用方法和装置 | |
CN114036236A (zh) | 多网关集群*** | |
CN115190162B (zh) | 区块链中的代理服务配置方法及代理服务*** | |
CN112653716B (zh) | 服务绑定的方法及装置 | |
CN110784510A (zh) | 目标服务节点接入总线的方法、服务节点的信息交互方法 | |
US8799434B2 (en) | System and method for establishment of a client/server type relationship in a peer-to-peer network | |
CN112543191B (zh) | 一种负载均衡方法及装置 | |
CN115102854B (zh) | 微服务的远程过程调用路由管理控制方法、***及设备 | |
CN116647538B (zh) | 一种能够访问不同内网服务的连接装置 | |
CN114095502B (zh) | 一种业务处理方法、***、装置及介质 | |
US7733884B1 (en) | Systems and methods for exposing functionality with strict access controls | |
WO2023243102A1 (ja) | 無線通信システム、無線通信方法、及び基地局装置 | |
CN110198322B (zh) | 数据通信网络接入方法 | |
CN116647509A (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 |