CN115190162A - 区块链中的代理服务配置方法及代理服务系统 - Google Patents

区块链中的代理服务配置方法及代理服务系统 Download PDF

Info

Publication number
CN115190162A
CN115190162A CN202210745463.5A CN202210745463A CN115190162A CN 115190162 A CN115190162 A CN 115190162A CN 202210745463 A CN202210745463 A CN 202210745463A CN 115190162 A CN115190162 A CN 115190162A
Authority
CN
China
Prior art keywords
client
connection
server
event
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.)
Granted
Application number
CN202210745463.5A
Other languages
English (en)
Other versions
CN115190162B (zh
Inventor
王晓亮
李文乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Rivtower Technology Co Ltd
Original Assignee
Hangzhou Rivtower Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Rivtower Technology Co Ltd filed Critical Hangzhou Rivtower Technology Co Ltd
Priority to CN202210745463.5A priority Critical patent/CN115190162B/zh
Publication of CN115190162A publication Critical patent/CN115190162A/zh
Application granted granted Critical
Publication of CN115190162B publication Critical patent/CN115190162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup 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 (16)

1.一种区块链中的代理服务配置方法,其特征在于,用于包括服务端和客户端的代理服务系统中,所述方法包括:
所述服务端获取所述服务端中具有多个流量入口的端口的端口信息,根据所述端口信息配置端口监听;
所述服务端配置与应用层的第一连接规则,并配置与所述客户端的第二连接规则;
所述客户端获取所述区块链上的各个链节点的节点信息,根据所述节点信息配置与各个链节点建立的长连接并维护;
所述客户端获取负载均衡策略和服务发现协议,根据所述服务发现协议和所述负载均衡策略进行配置;
所述客户端和所述服务端配置内部监听事件;
所述客户端配置自定义监听事件;
在根据所述第一连接规则与所述应用层建立长连接并在端口监听到事件后,所述服务端根据所述第二连接规则与所述客户端建立长连接,所述客户端根据所述事件确定调用对应的链节点,根据所述负载均衡选择长连接以进行网络调用和响应。
2.根据权利要求1所述的区块链中的代理服务配置方法,其特征在于,所述服务端配置与应用层的第一连接规则,包括:
所述服务端利用Shake设置长连接在终止之前完成协商握手的允许时间,并配置侦听和调度的第一连接规则。
3.根据权利要求1所述的区块链中的代理服务配置方法,其特征在于,所述配置与所述客户端的第二连接规则,包括:
所述服务端采用HandlerRegistry注册拦截器,并在所述拦截器中配置用于对所述客户端进行身份验证的第二连接规则。
4.根据权利要求1所述的区块链中的代理服务配置方法,其特征在于,所述根据所述节点信息配置与各个链节点建立的长连接并维护,包括:
所述客户端配置节点解析器工厂ResolverFactory;
所述客户端将链节点网络地址SocketAddress注册至节点解析器Resolver,所述SocketAddress用于建立Socket对象;
所述客户端根据所述Resolver动态与所述链节点建立长连接;
所述客户端将所述长连接添加到长连接保持池中,并对所述长连接保持池进行维护。
5.根据权利要求4所述的区块链中的代理服务配置方法,其特征在于,所述根据所述服务发现协议和所述负载均衡策略进行配置,包括:
所述客户端利用LoadBalancingPolicy自定义负载均衡策略,并将所述负载均衡策略注册到Stock通道构建器中;
所述客户端利用所述Stock通道构建器进行长连接的探针维护;
所述客户端根据所述服务发现协议配置各项发现服务。
6.根据权利要求5所述的区块链中的代理服务配置方法,其特征在于,所述客户端利用所述Stock通道构建器进行长连接的探针维护,包括:
当所述Stock通道构建器由Provider的HardCodedClasses实现时,所述客户端利用所述Provider中的Accessor判断所述链节点的地址的可用性。
7.根据权利要求1所述的区块链中的代理服务配置方法,其特征在于,所述内部监听事件包括Ready事件、Headers事件、Message事件和HalfClose事件。
8.根据权利要求1至7中任一项所述的区块链中的代理服务配置方法,其特征在于,所述客户端配置自定义监听事件,包括:
所述客户端配置重试事件、最大流持续时间事件和故障注入事件,所述重试事件是在所述链节点不可用而导致负载失败后的策略重试,所述最大流持续时间事件是指定路由流允许持续时间和调整超时,所述故障注入事件是测试服务对于不同形式的故障的弹性。
9.一种区块链中的代理服务系统,其特征在于,所述代理服务系统中包括服务端和客户端;
所述服务端,用于获取所述服务端中具有多个流量入口的端口的端口信息,根据所述端口信息配置端口监听;
所述服务端,还用于配置与应用层的第一连接规则,并配置与所述客户端的第二连接规则;
所述客户端,用于获取所述区块链上的各个链节点的节点信息,根据所述节点信息配置与各个链节点建立的长连接并维护;
所述客户端,还用于获取负载均衡策略和服务发现协议,根据所述服务发现协议和所述负载均衡策略进行配置;
所述客户端和所述服务端,还用于配置内部监听事件;
所述客户端,还用于配置自定义监听事件;
在根据所述第一连接规则与所述应用层建立长连接并在端口监听到事件后,所述服务端,还用于根据所述第二连接规则与所述客户端建立长连接,所述客户端,还用于根据所述事件确定调用对应的链节点,根据所述负载均衡选择长连接以进行网络调用和响应。
10.根据权利要求9所述的区块链中的代理服务系统,其特征在于,所述服务端,还用于:
利用Shake设置长连接在终止之前完成协商握手的允许时间,并配置侦听和调度的第一连接规则。
11.根据权利要求9所述的区块链中的代理服务系统,其特征在于,所述服务端,还用于:
采用HandlerRegistry注册拦截器,并在所述拦截器中配置用于对所述客户端进行身份验证的第二连接规则。
12.根据权利要求9所述的区块链中的代理服务系统,其特征在于,所述客户端,还用于:
配置节点解析器工厂ResolverFactory;
将链节点网络地址SocketAddress注册至节点解析器Resolver,所述SocketAddress用于建立Socket对象;
根据所述Resolver动态与所述链节点建立长连接;
将所述长连接添加到长连接保持池中,并对所述长连接保持池进行维护。
13.根据权利要求12所述的区块链中的代理服务系统,其特征在于,所述客户端,还用于:
利用LoadBalancingPolicy自定义负载均衡策略,并将所述负载均衡策略注册到Stock通道构建器中;
利用所述Stock通道构建器进行长连接的探针维护;
根据所述服务发现协议配置各项发现服务。
14.根据权利要求13所述的区块链中的代理服务系统,其特征在于,所述客户端,还用于:
当所述Stock通道构建器由Provider的HardCodedClasses实现时,利用所述Provider中的Accessor判断所述链节点的地址的可用性。
15.根据权利要求9所述的区块链中的代理服务系统,其特征在于,所述内部监听事件包括Ready事件、Headers事件、Message事件和HalfClose事件。
16.根据权利要求9至15中任一项所述的区块链中的代理服务系统,其特征在于,所述客户端,还用于:
配置重试事件、最大流持续时间事件和故障注入事件,所述重试事件是在所述链节点不可用而导致负载失败后的策略重试,所述最大流持续时间事件是指定路由流允许持续时间和调整超时,所述故障注入事件是测试服务对于不同形式的故障的弹性。
CN202210745463.5A 2022-06-27 2022-06-27 区块链中的代理服务配置方法及代理服务系统 Active CN115190162B (zh)

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 true CN115190162A (zh) 2022-10-14
CN115190162B 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 (27)

* Cited by examiner, † Cited by third party
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 杭州秘猿科技有限公司 一种基于区块链的数据交互系统以及中继服务器
US20180197155A1 (en) * 2016-12-12 2018-07-12 Topl, Llc Method and Apparatus for Processing Mobile Payment Using Blockchain Techniques
CN108305170A (zh) * 2018-03-07 2018-07-20 物数(上海)信息科技有限公司 基于区块链的外部服务访问方法、系统、设备及存储介质
CN109474687A (zh) * 2018-11-23 2019-03-15 杭州数梦工场科技有限公司 一种不同私网间通信的方法、装置和系统
US20190116158A1 (en) * 2017-10-16 2019-04-18 Cisco Technology, Inc. Determine payload integrity for traffic flowing across proxies
CN109951537A (zh) * 2019-03-06 2019-06-28 上海共链信息科技有限公司 一种面向区块链的负载均衡分发方法
US20190245856A1 (en) * 2017-04-11 2019-08-08 Xage Security, Inc. Single authentication portal for diverse industrial network protocols across multiple osi layers
CN110109930A (zh) * 2019-05-15 2019-08-09 山东省计算中心(国家超级计算济南中心) 基于区块链双链结构的政务数据存储、查询方法及系统
CN110601902A (zh) * 2019-09-24 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链网络的交互数据处理方法及装置
CN110601906A (zh) * 2019-09-29 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链的数据传输方法及装置
US20200142979A1 (en) * 2018-11-03 2020-05-07 International Business Machines Corporation Information transparency control
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 南京金宁汇科技有限公司 一种可视容器化的联盟链节点部署方法及系统

Patent Citations (27)

* Cited by examiner, † Cited by third party
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
US20190245856A1 (en) * 2017-04-11 2019-08-08 Xage Security, Inc. Single authentication portal for diverse industrial network protocols across multiple osi layers
CN107145605A (zh) * 2017-06-07 2017-09-08 北京天德科技有限公司 一种基于区块链统一接口(obcc)的许可链应用系统
US20190116158A1 (en) * 2017-10-16 2019-04-18 Cisco Technology, Inc. Determine payload integrity for traffic flowing across proxies
CN108259594A (zh) * 2018-01-11 2018-07-06 杭州秘猿科技有限公司 一种基于区块链的数据交互系统以及中继服务器
CN108305170A (zh) * 2018-03-07 2018-07-20 物数(上海)信息科技有限公司 基于区块链的外部服务访问方法、系统、设备及存储介质
US20200142979A1 (en) * 2018-11-03 2020-05-07 International Business Machines Corporation Information transparency control
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
CN115190162B (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
EP1558001A1 (en) Method and apparatus for operating an open network having a proxy
US9386091B2 (en) Self-adapting direct peer to peer communication and messaging system
JP2007513528A (ja) サーバレスおよびスイッチレスのインターネットプロトコル電話のシステムおよび方法
US20060069777A1 (en) Request message control method for using service and service providing system
US20130227022A1 (en) Peer discovery and secure communication in failover schemes
CN112055048B (zh) 一种面向高吞吐率分布式账本的p2p网络通信方法和系统
US7228539B2 (en) Method and apparatus for updating inter-server communication software
US20120331164A1 (en) Load sharing method, system and access server
US10405253B2 (en) Wireless network brokerage
CN112637332B (zh) 一种服务注册发现方法和系统
CN111327650A (zh) 数据传输方法、装置、设备及存储介质
US7818437B2 (en) Connection management system, connection management method, and management server
CN114036236A (zh) 多网关集群系统
CN110995829B (zh) 实例调用方法、装置及计算机存储介质
US8472343B2 (en) Method and apparatus for use in a network
US9906426B2 (en) Method of accelerating control link loss detection
US8799434B2 (en) System and method for establishment of a client/server type relationship in a peer-to-peer network
CN115190162A (zh) 区块链中的代理服务配置方法及代理服务系统
CN110784510A (zh) 目标服务节点接入总线的方法、服务节点的信息交互方法
US20230385161A1 (en) Network nodes and methods therein for providing backup network function
US9003047B2 (en) Optimizing electronic communication channels
CN115102854B (zh) 微服务的远程过程调用路由管理控制方法、系统及设备
CN114024998B (zh) 一种基于netconf协议的支持多会话的方法和装置
CN112543191B (zh) 一种负载均衡方法及装置
KR101010911B1 (ko) 메시징 네트워크 시스템의 메시지 송수신 방법

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