CN110380919A - 区块链请求的处理方法、装置、电子设备及可读存储介质 - Google Patents
区块链请求的处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN110380919A CN110380919A CN201910817117.1A CN201910817117A CN110380919A CN 110380919 A CN110380919 A CN 110380919A CN 201910817117 A CN201910817117 A CN 201910817117A CN 110380919 A CN110380919 A CN 110380919A
- Authority
- CN
- China
- Prior art keywords
- client
- block chain
- configuration information
- node configuration
- request
- 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
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/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0846—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种区块链请求的处理方法、装置、电子设备及可读存储介质。该方法包括:当接收到客户端业务请求时,从缓存区域的节点配置信息中,确定与客户端业务请求对应的目标节点配置信息集合;基于客户端业务请求以及目标节点配置信息集合,生成区块链业务请求;向区块链网络发送区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。本方案中的用户客户端发送客户端业务请求,由区块链客户端基于缓存的节点配置信息以及客户端业务请求生成区块链业务请求,相较于由用户客户端直接发出区块链业务请求并指定相应的节点配置信息,能够保证业务请求在区块链客户端进行灵活配置,满足实际的使用需要。
Description
技术领域
本申请涉及区块链技术领域,具体而言,本申请涉及一种区块链请求的处理方法、装置、电子设备及可读存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链系统通常由多个区块链节点通过通信链路进行互联而构成,每个区块链节点均可以提供相应的服务。
现有技术中,需要通过区块链客户端实现与区块链节点交互,在需要调用区块链节点提供服务时,多由第三方应用程序向区块链客户端发出区块链业务请求,并指定执行区块链业务请求所需的区块链节点信息、区块链通道信息以及智能合约信息等节点配置信息,再由区块链客户端基于指定的节点配置信息向区块链节点转发区块链业务请求,以获取到相应的服务。
由于现有技术中的第三方应用程序在向区块链客户端发出区块链业务请求时,执行业务请求所需的节点配置信息已被指定,导致区块链业务请求灵活性差,无法满足实际的使用需求。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供了一种区块链请求的处理方法,该方法应用于区块链客户端集群中的一个区块链客户端,该方法包括:
当接收到客户端业务请求时,从缓存区域的节点配置信息中,确定与客户端业务请求对应的目标节点配置信息集合,客户端业务请求来自相应的用户客户端,节点配置信息是由各用户客户端发送的,并在区块链客户端集群中的各区块链客户端中同步缓存;
基于客户端业务请求以及目标节点配置信息集合,生成区块链业务请求;
向区块链网络发送区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。
第二方面,本申请实施例提供了一种区块链请求的处理装置,该处理装置包括:
目标节点配置信息集合确定模块,用于当接收到客户端业务请求时,从缓存区域的节点配置信息中,确定与客户端业务请求对应的目标节点配置信息集合,客户端业务请求来自相应的用户客户端,节点配置信息是由各用户客户端发送的,并在区块链客户端集群中的各区块链客户端中同步缓存;
区块链业务请求生成模块,用于基于客户端业务请求以及目标节点配置信息集合,生成区块链业务请求;
请求结果返回模块,用于向区块链网络发送区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行如本申请的第一方面所示的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面所示的方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请提供的方案,区块链客户端在接收到来自相应的用户客户端的客户端业务请求后,基于缓存的节点配置信息确定客户端业务请求对应的目标节点配置信息集合,基于客户端业务请求以及对应的目标节点配置信息集合生成区块链业务请求,向区块链网络发送生成的区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。本方案中的用户客户端发送客户端业务请求,由区块链客户端基于缓存的节点配置信息以及客户端业务请求生成区块链业务请求,相较于由用户客户端直接发出区块链业务请求并指定相应的节点配置信息,能够保证业务请求在区块链客户端进行灵活配置,满足实际的使用需要。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种区块链请求的处理方法的流程示意图;
图2为本申请实施例提供的一个可选地具体实施方式的流程示意图;
图3为本申请实施例提供的一种区块链请求的处理装置结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种区块链请求的处理方法的流程示意图,如图1所示,该方法主要可以包括:
步骤S110:当接收到客户端业务请求时,从缓存区域的节点配置信息中,确定与客户端业务请求对应的目标节点配置信息集合,客户端业务请求来自相应的用户客户端,节点配置信息是由各用户客户端发送的,并在区块链客户端集群中的各区块链客户端中同步缓存。
步骤S120:基于客户端业务请求以及目标节点配置信息集合,生成区块链业务请求。
步骤S130:向区块链网络发送区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。
本申请实施例中,区块链客户端集群内可以包括多个区块链客户端,各区块链客户端的数据保持一致,实际使用中可以通过zookeeper、远程数据服务(Remote DictionaryServer,redis)等组件实现各区块链客户端之间数据的一致,或者可以通过raft算法实现各区块链客户端之间数据的一致性。区块链客户端可以通过超文本传输协议(HypertextTransfer Protocol,HTTP)/超文本传输安全协议(Hypertext Transfer ProtocolSecure,HTTPS)及谷歌远程过程调用(google Remote Procedure Call,GRPC)/GRPCS等协议进行自定义开发,并被以软件开发工具包(Software Development Kit,SDK)的形式封装。
本申请提供的区块链请求的处理方法可以应用于区块链客户端集群中的一个区块链客户端,为在之后的表述中与区块链客户端集群中的其他区块链客户端作区分,将用于执行本申请提供的区块链请求的处理方法的一个区块链客户端指定为当前区块链客户端。
本申请实施例中,用户客户端可以为安装在第三方设备上的第三方应用程序,用户客户端可以向区块链客户端集群提供执行各种区块链业务请求所需的节点配置信息,也可以向区块链客户端集群内的区块链客户端发送客户端业务请求。本申请实施例中,相应的用户客户端即为发送客户端业务请求的用户客户端。
本申请实施例中,节点配置信息可以包括但是不限于区块链中的常规节点信息、打包节点信息、通道信息、智能合约信息以及数字证书(Certificate Authority,CA)用户信息。
本申请实施例中,区块链客户端集群内的各区块链客户端可以将来自用户客户端的各种客户端业务请求所需的节点配置信息同步缓存到缓存区域。
本申请实施例中,目标节点配置信息集合可以包括区块链业务请求在执行时所需的节点配置信息的组合。作为一个示例,区块链业务请求为数据上链请求时,目标节点配置信息集合可以包括执行数据上链请求所需的区块链中的常规节点信息、打包节点信息、通道信息、智能合约信息以及CA用户信息等节点配置信息的组合。区块链业务请求为查询信息请求时,目标节点配置信息集合可以包括执行查询信息请求所需的区块链中的常规节点信息、通道信息、智能合约信息以及CA用户信息等节点配置信息的组合。
具体而言,常规节点信息可以包括常规节点的应用程序编程接口(ApplicationProgramming Interface,API),打包节点信息可以包括打包节点的API。
在实际使用,区块链业务请求还可以包括创建区块链通道、加入区块链通道、安装区块链智能合约、实例化区块链智能合约、升级区块链智能合约、区块链节点服务发现、CA用户创建等多个涵盖区块链生命周期的业务请求。上述的各种区块链业务请求后分别对应有相应的目标节点配置信息集合。
目标节点配置信息集合中可以包含执行区块链业务请求时可用的全部的节点配置信息,当前区块链客户端在生成区块链业务请求时,可以根据实际需要从目标节点配置信息集合中选取所调用的常规节点的常规节点信息、所调用的打包节点的打包节点信息、所使用通道的通道信息等。由于区块链业务请求是在区块链客户端生成的,当前区块链客户端可以根据实际需要在目标节点配置信息集合中选取调用的配置信息,相较于现有技术中的第三方应用程序在向区块链客户端发出区块链业务请求时指定相应的节点配置信息,能够保证区块链业务请求的灵活性。
本申请实施例中,用户客户端发出的客户端业务请求中可以携带有区块链业务请求对应的参数信息,参数信息可以为区块链业务请求所需的必要参数,例如,区块链业务请求为用户A向用户B的转账金额为C元,那么转账双方的用户ID(用户A、用户B)以及转账金额C元为该区块链业务请求的参数信息。由于客户端业务请求中携带有区块链业务请求对应的参数信息,用户客户端将区块链业务请求对应的参数信息提供给区块链客户端,区块链客户端可以对客户端业务请求对应的目标节点配置信息集合以及参数信息进行装配,确定出区块链业务请求。
本申请提供的方法,区块链客户端在接收到来自相应的用户客户端的客户端业务请求后,基于缓存的节点配置信息确定客户端业务请求对应的目标节点配置信息集合,基于客户端业务请求以及对应的目标节点配置信息集合生成区块链业务请求,向区块链网络发送生成的区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。本方案中的用户客户端发送客户端业务请求,由区块链客户端基于缓存的节点配置信息以及客户端业务请求生成区块链业务请求,相较于由用户客户端直接发出区块链业务请求并指定相应的节点配置信息,能够保证业务请求在区块链客户端进行灵活配置,满足实际的使用需要。
本申请实施例的一种可选方式中,从缓存区域的节点配置信息中,确定与客户端业务请求对应的目标节点配置信息集合,包括:
若缓存区域的节点配置信息中不包括与客户端业务请求对应的目标节点配置信息集合,则在节点配置信息中确定与客户端业务请求对应的多个目标节点配置信息;
对多个目标节点配置信息进行组合处理,确定与客户端业务请求对应的目标节点配置信息集合。
本申请实施例中,区块链客户端的缓存区域中可以缓存客户端业务请求对应的目标节点配置信息集合以及与各种客户端业务请求所需的节点配置信息。
在接收到客户端业务请求时,先在缓存区域中确定是否存在与接收到的客户端业务请求对应的目标节点配置信息集合,若存在,则可直接使用该目标节点配置信息集合,若不存在,则需要在缓存的节点配置信息中确定与客户端业务请求对应的多个目标节点配置信息,对确定出的多个目标节点配置信息进行组合处理,从而确定与客户端业务请求对应的目标节点配置信息集合。
由于在区块链客户端的缓存区域中缓存了客户端业务请求对应的目标节点配置信息集合,使得在接收到相应的客户端业务请求时,可以略过对目标节点配置信息进行组合处理确定目标节点配置信息集合的步骤,直接获取对应的目标节点配置信息集合,实现了对目标节点配置信息集合的快速获取。
现有技术中,是由用户客户端发出区块链业务请求,并指定目标节点配置信息集合,在多次发出相同区块链业务请求时,用户客户端需要重复的进行对目标节点配置信息的组合处理操作,效率低下。
本申请实施例提供的方案中,由于是在区块链客户端基于目标节点配置信息集合来生成区块链业务请求,将目标节点配置信息集合缓存在区块链客户端,能够便于在多次处理相同的区块链业务请求时,快速获取目标节点配置信息集合,减少对目标节点配置信息的组合处理操作,有利于提高区块链业务请求的处理效率。
在实际使用中,可以将对目标节点配置信息进行组合处理确定出的目标节点配置信息集合缓存在当前区块链客户端的缓存区域,进而同步缓存到区块链客户端集群中的各区块链客户端。另外,目标节点配置信息集合也可以由用户客户端确定并提供给相应的区块链客户端,并在区块链客户端集群中的各区块链客户端中同步缓存。
本申请实施例的一种可选方式中,确定与客户端业务请求对应的多个目标节点配置信息,包括:
若缓存区域的节点配置信息中不包括与客户端业务请求对应的多个目标节点配置信息中的至少一个,则向相应的用户客户端获取与客户端业务请求对应的多个目标节点配置信息中的至少一个;
将与客户端业务请求对应的多个目标节点配置信息中的至少一个存储至缓存区域中,并将多个目标节点配置信息中的至少一个同步缓存到区块链客户端集群中的各区块链客户端。
本申请实施例中,在确定与客户端业务请求对应的多个目标节点配置信息时,与客户端业务请求对应的多个目标节点配置信息中的部分目标节点配置信息可能会不存在于缓存区域的节点配置信息中,这时可以向相应的用户客户端获取所需的节点配置信息,并将获取到节点配置信息在区块链客户端集群中的各区块链客户端中同步缓存。
本申请实施例的一种可选方式中,节点配置信息是由用户客户端根据以下至少一项确定的:
节点配置信息的配置文件;
用户的生成节点配置信息的操作。
本申请实施例中,用户客户端可以根据节点配置信息的配置文件(如节点配置信息的数据库文件),来确定节点配置信息。
在实际使用中,用户客户端也可以向用户提供交互界面,以使用户进行生成节点配置信息的操作,例如:部署节点、部署用户等。用户客户端可根据用户的生成节点配置信息的操作,确定节点配置信息。
本申请实施例的一种可选方式中,客户端业务请求来自相应的用户客户端,包括以下任一情形:
由与区块链客户端对应的第一用户客户端发送;
由第二用户客户端发送至区块链客户端集群中与第二用户客户端对应的区块链客户端,并由与第二用户客户端对应的区块链客户端转发。
本申请实施例中,用户客户端可以与区块链客户端集群中的一个或多个区块链客户端预建立连接关系,用户客户端可以向预连接的区块链客户端发送客户端业务请求,预连接的区块链客户端可以为当前区块链客户端也可以不为当前区块链客户端。
本申请实施例中,相应的用户客户端可以为第一用户客户端,第一用户客户端与当前区块链客户端预连接,这时接收来自用户客户端的客户端业务请求的具体情形为:
第一用户客户端向当前区块链客户端发送客户端业务请求。
本申请实施例中,相应的用户客户端也可以为第二用户客户端,第二用户客户端与区块链客户端集群中对应区块链客户端(并非当前区块链客户端)的建立了预连接,这时接收客户端业务请求的具体情形为:
第二用户客户端将客户端业务请求发送至与第二用户客户端对应的区块链客户端(即与第二用户客户端建立了预连接的区块链客户端),而后由与第二用户客户端对应的区块链客户端将客户端业务请求发送给区块链主客户端,区块链主客户端确定用于执行上述的区块链请求的处理方法的当前区块链客户端,而后将客户端业务请求发送给当前区块链客户端。
区块链主客户端可以根据实际情况确定用于执行上述的区块链请求的处理方法的当前区块链客户端,如根据各区块链客户端的负载情况。
在实际使用中,用户客户端也可以向预连接的区块链客户端发送节点配置信息。
用户客户端向预连接的区块链客户端发送节点配置信息时,与用户客户端预连接的区块链客户端在接收到节点配置信息后,节点配置信息可以被同步缓存到区块链客户端集群中的各区块链客户端,具体而言,与用户客户端预连接的区块链客户端可以将收到的节点配置信息发送给区块链客户端集群中的区块链主客户端,区块链主客户端将节点配置信息发送给区块链客户端集群中所有的区块链客户端,各区块链客户端在完成对节点配置信息的缓存后,将缓存成功的信息发送给区块链主客户端,区块链主客户端在接收到各区块链客户端发送的缓存成功的信息后,将节点配置信息缓存,从而实现节点配置信息在区块链客户端集群中的各区块链客户端的同步缓存。
本申请实施例的一种可选方式中,获取节点配置信息,包括以下任一项:
当区块链客户端启动时,向与区块链客户端对应的第一用户客户端发送节点配置信息获取请求,接收第一用户客户端发送的节点配置信息;
当与第二用户客户端对应的区块链客户端启动并接收到第二用户客户端发送的节点配置信息时,从与第二用户客户端对应的区块链客户端同步缓存节点配置信息。
本申请实施例中,相应的用户客户端为第一用户客户端时,当前区块链客户端启动后,可以向第一用户客户端发出节点配置信息获取请求,第一用户客户端接收到节点配置信息获取请求后向当前区块链客户端发送节点配置信息。
本申请实施例中,相应的用户客户端为第二用户客户端时,可以在第二用户客户端将节点配置信息发送至与第二用户客户端对应的区块链客户端后,在区块链客户端集群中的各区块链客户端将节点配置信息同步缓存时,从而使得当前区块链客户端获取到节点配置信息。
本申请实施例的一种可选方式中,上述方法还包括以下任一项:
当与区块链客户端对应的第一用户客户端的节点配置信息发生更新时,接收第一用户客户端发送的更新后的节点配置信息;
在第二用户客户端的节点配置信息发生更新并向第二用户客户端对应的区块链客户端发送更新后的节点配置信息后,从与第二用户客户端对应的区块链客户端同步缓存更新后的节点配置信息
本申请实施例中,当节点配置信息发生更新时,需要及时对区块链客户端集群中的各区块链客户端集群缓存的节点配置信息进行相应更新。
具体而言,相应的用户客户端为第一用户客户端时,若第一用户客户端的节点配置信息发生更新,则可以向当前区块链客户端发送的更新后的节点配置信息,以使当前区块链客户端获取到更新后的节点配置信息。
相应的用户客户端为第二用户客户端时,若第二用户客户端的节点配置信息发生更新,第二用户客户端则可以将更新后的节点配置信息发送给对应的区块链客户端,而后更新后的节点配置信息会在区块链客户端集群中的各区块链客户端同步缓存,从而使得执行当前区块链客户端获取到更新后的节点配置信息。
本申请实施例的一种可选方式中,将节点配置信息在区块链客户端集群中的各区块链客户端同步缓存,包括:
在接收到相应的用户客户端发送的节点配置信息后,将接收到的节点配置信息在区块链客户端集群中的各区块链客户端同步缓存。
本申请实施例中,当前区块链客户端在接收到的第一用户客户端发送的节点配置信息时,及时在将接收到的节点配置信息在区块链客户端集群中的各区块链客户端同步缓存。相应的,区块链客户端集群中的各区块链客户端在接收到的第一用户客户端发送的节点配置信息时,均及时在将接收到的节点配置信息在区块链客户端集群中的各区块链客户端同步缓存,从而保持区块链客户端集群中缓存的节点配置信息的一致性。
图2中示出了本申请实施例提供的一个可选地具体实施方式的流程示意图,如图2中所示,非客户端服务相当于用户客户端,该具体实施例方式可以包括:
非客户端服务加载区块链组织基本信息,即用户客户端确定节点配置信息。非客户端服务等待区块链客户端连接,即等待对应的区块链客户端部署完成后与用户客户端建立连接。区块链客户端集群发起连接、发现区块链客户端,即用户客户端与区块链客户端集群中与对应的区块链客户端建立连接的过程,包括:区块链客户端向对应的用户客户端发出连接请求,用户客户端接收到区块链客户端的连接请求,并对区块链客户端进行认证,建立用户客户端与对应的区块链客户端的连接。
非客户端服务发送区块链组织基本信息,即用户客户端向对应的区块链客户端发送节点配置信息。集群内数据同步,即将节点配置信息在区块链客户端集群中的各区块链客户端中同步缓存。
非客户端服务发起区块链业务请求,即用户客户端向对应的区块链客户端发送客户端业务请求。区块链客户端根据业务请求进行配置信息装配,即当前区块链客户端基于缓存区域的节点配置信息,确定与客户端业务请求对应的目标节点配置信息集合,基于客户端业务请求以及目标节点配置信息集合,生成区块链业务请求。缓存装配结果,即区块链客户端将确定出的客户端业务请求对应的目标节点配置信息集合进行缓存,以便再接收到相同的客户端业务请求时,能够获取对应的目标节点配置信息集合,提高处理效率。
区块链客户端集群向区块链节点发起真实业务请求,即区块链客户端向区块链网络中的区块链节点发送区块链业务请求。返回请求结果,即区块链客户端在获取到区块链网络返回的区块链业务请求的请求结果后,向相应的用户客户端返回请求结果。
基于与图1中所示的方法相同的原理,图3示出了本申请实施例提供的一种区块链请求的处理装置的结构示意图,该区块链请求的处理装置可以为区块链客户端,也可以为区块链客户端的一部分功能模块,如图3所示,该区块链请求的处理装置20可以包括:
目标节点配置信息集合确定模块210,用于当接收到客户端业务请求时,从缓存区域的节点配置信息中,确定与客户端业务请求对应的目标节点配置信息集合,客户端业务请求来自相应的用户客户端,节点配置信息是由各用户客户端发送的,并在区块链客户端集群中的各区块链客户端中同步缓存;
区块链业务请求生成模块220,用于基于客户端业务请求以及目标节点配置信息集合,生成区块链业务请求;
请求结果返回模块230,用于向区块链网络发送区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。
本申请提供的处理装置,区块链客户端在接收到来自相应的用户客户端的客户端业务请求后,基于缓存的节点配置信息确定客户端业务请求对应的目标节点配置信息集合,基于客户端业务请求以及对应的目标节点配置信息集合生成区块链业务请求,向区块链网络发送生成的区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。本方案中的用户客户端发送客户端业务请求,由区块链客户端基于缓存的节点配置信息以及客户端业务请求生成区块链业务请求,相较于由用户客户端直接发出区块链业务请求并指定相应的节点配置信息,能够保证业务请求在区块链客户端进行灵活配置,满足实际的使用需要。
可选地,目标节点配置信息集合确定模块在从缓存区域的节点配置信息中,确定与客户端业务请求对应的目标节点配置信息集合时,具体用于:
若缓存区域的节点配置信息中不包括与客户端业务请求对应的目标节点配置信息集合,则在节点配置信息中确定与客户端业务请求对应的多个目标节点配置信息;
对多个目标节点配置信息进行组合处理,确定与客户端业务请求对应的目标节点配置信息集合。
可选地,上述处理装置还包括:
缓存模块240(图中未示出),用于将与客户端业务请求对应的目标节点配置信息集合存储至缓存区域中,并将目标节点配置信息集合同步缓存到区块链客户端集群中的各区块链客户端。
可选地,目标节点配置信息集合确定模块在确定与客户端业务请求对应的多个目标节点配置信息时,具体用于:
若缓存区域的节点配置信息中不包括与客户端业务请求对应的多个目标节点配置信息中的至少一个,则向相应的用户客户端获取与客户端业务请求对应的多个目标节点配置信息中的至少一个;
将与客户端业务请求对应的多个目标节点配置信息中的至少一个存储至缓存区域中,并将多个目标节点配置信息中的至少一个同步缓存到区块链客户端集群中的各区块链客户端。
可选地,节点配置信息是由用户客户端根据以下至少一项确定的:
节点配置信息的配置文件;
用户的生成节点配置信息的操作。
可选地,客户端业务请求来自相应的用户客户端,包括以下任一情形:
由与区块链客户端对应的第一用户客户端发送;
由第二用户客户端发送至区块链客户端集群中与第二用户客户端对应的区块链客户端,并由与第二用户客户端对应的区块链客户端转发。
可选地,获取节点配置信息的方式,包括以下任一项:
当区块链客户端启动时,向与区块链客户端对应的第一用户客户端发送节点配置信息获取请求,接收第一用户客户端发送的节点配置信息;
在与第二用户客户端对应的区块链客户端启动并接收到第二用户客户端发送的节点配置信息后,从与第二用户客户端对应的区块链客户端同步缓存节点配置信息
可选地,该处理装置还包括以下任一项:
第一节点配置信息获取模块250(图中未示出),用于当与区块链客户端对应的第一用户客户端的节点配置信息发生更新时,接收第一用户客户端发送的更新后的节点配置信息;
第二节点配置信息获取模块260(图中未示出),用于在第二用户客户端的节点配置信息发生更新并向第二用户客户端对应的区块链客户端发送更新后的节点配置信息后,从与第二用户客户端对应的区块链客户端同步缓存更新后的节点配置信息
可选地,将节点配置信息在区块链客户端集群中的各区块链客户端同步缓存的方式,包括:
在接收到相应的用户客户端发送的节点配置信息后,将接收到的节点配置信息在区块链客户端集群中的各区块链客户端同步缓存。
可以理解的是,本实施例中的区块链请求的处理装置的上述各模块具有实现图1中所示的实施例中的区块链请求的处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述区块链请求的处理装置的各模块的功能描述具体可以参见图1中所示实施例中的区块链请求的处理方法的对应描述,在此不再赘述。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的区块链请求的处理方法。
作为一个示例,图4示出了本申请实施例所适用的一种电子设备的结构示意图,如图4所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的区块链请求的处理方法。
本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种电子设备,与现有技术相比,区块链客户端在接收到来自相应的用户客户端的客户端业务请求后,基于缓存的节点配置信息确定客户端业务请求对应的目标节点配置信息集合,基于客户端业务请求以及对应的目标节点配置信息集合生成区块链业务请求,向区块链网络发送生成的区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。本方案中的用户客户端发送客户端业务请求,由区块链客户端基于缓存的节点配置信息以及客户端业务请求生成区块链业务请求,相较于由用户客户端直接发出区块链业务请求并指定相应的节点配置信息,能够保证业务请求在区块链客户端进行灵活配置,满足实际的使用需要。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的区块链请求的处理方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,区块链客户端在接收到来自相应的用户客户端的客户端业务请求后,基于缓存的节点配置信息确定客户端业务请求对应的目标节点配置信息集合,基于客户端业务请求以及对应的目标节点配置信息集合生成区块链业务请求,向区块链网络发送生成的区块链业务请求,获取区块链网络返回的区块链业务请求的请求结果,并向相应的用户客户端返回请求结果。本方案中的用户客户端发送客户端业务请求,由区块链客户端基于缓存的节点配置信息以及客户端业务请求生成区块链业务请求,相较于由用户客户端直接发出区块链业务请求并指定相应的节点配置信息,能够保证业务请求在区块链客户端进行灵活配置,满足实际的使用需要。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种区块链请求的处理方法,其特征在于,应用于区块链客户端集群中的一个区块链客户端,所述方法包括:
当接收到客户端业务请求时,从缓存区域的节点配置信息中,确定与所述客户端业务请求对应的目标节点配置信息集合,所述客户端业务请求来自相应的用户客户端,所述节点配置信息是由各用户客户端发送的,并在区块链客户端集群中的各区块链客户端中同步缓存;
基于所述客户端业务请求以及所述目标节点配置信息集合,生成区块链业务请求;
向区块链网络发送所述区块链业务请求,获取所述区块链网络返回的所述区块链业务请求的请求结果,并向所述相应的用户客户端返回所述请求结果。
2.根据权利要求1所述的方法,其特征在于,所述从缓存区域的节点配置信息中,确定与所述客户端业务请求对应的目标节点配置信息集合,包括:
若所述缓存区域的节点配置信息中不包括与所述客户端业务请求对应的目标节点配置信息集合,则在所述节点配置信息中确定与所述客户端业务请求对应的多个目标节点配置信息;
对所述多个所述目标节点配置信息进行组合处理,确定与所述客户端业务请求对应的目标节点配置信息集合。
3.根据权利要求2所述的方法,其特征在于,还包括:
将与所述客户端业务请求对应的目标节点配置信息集合存储至所述缓存区域中,并将所述目标节点配置信息集合同步缓存到所述区块链客户端集群中的各区块链客户端。
4.根据权利要求2所述的方法,其特征在于,确定与所述客户端业务请求对应的多个目标节点配置信息,包括:
若所述缓存区域的节点配置信息中不包括与所述客户端业务请求对应的多个目标节点配置信息中的至少一个,则向所述相应的用户客户端获取与所述客户端业务请求对应的所述多个目标节点配置信息中的至少一个;
将与所述客户端业务请求对应的所述多个目标节点配置信息中的至少一个存储至所述缓存区域中,并将所述多个目标节点配置信息中的至少一个同步缓存到所述区块链客户端集群中的各区块链客户端。
5.根据权利要求1所述的方法,其特征在于,所述节点配置信息是由用户客户端根据以下至少一项确定的:
节点配置信息的配置文件;
用户的生成节点配置信息的操作。
6.根据权利要求1所述的方法,其特征在于,所述客户端业务请求来自相应的用户客户端,包括以下任一情形:
由与所述区块链客户端对应的第一用户客户端发送;
由第二用户客户端发送至区块链客户端集群中与所述第二用户客户端对应的区块链客户端,并由与所述第二用户客户端对应的区块链客户端转发。
7.根据权利要求6所述的方法,其特征在于,获取节点配置信息,包括以下任一项:
当所述区块链客户端启动时,向与所述区块链客户端对应的第一用户客户端发送节点配置信息获取请求,接收所述第一用户客户端发送的节点配置信息;
在与所述第二用户客户端对应的区块链客户端启动并接收到第二用户客户端发送的节点配置信息后,从与所述第二用户客户端对应的区块链客户端同步缓存所述节点配置信息。
8.根据权利要求6所述的方法,其特征在于,该方法还包括以下任一项:
当与所述区块链客户端对应的第一用户客户端的节点配置信息发生更新时,接收所述第一用户客户端发送的更新后的节点配置信息;
在所述第二用户客户端的节点配置信息发生更新并向所述第二用户客户端对应的区块链客户端发送更新后的节点配置信息后,从与所述第二用户客户端对应的区块链客户端同步缓存更新后的节点配置信息。
9.根据权利要求7或8所述的方法,其特征在于,将所述节点配置信息在区块链客户端集群中的各区块链客户端同步缓存,包括:
在接收到所述相应的用户客户端发送的节点配置信息后,将接收到的节点配置信息在区块链客户端集群中的各区块链客户端同步缓存。
10.一种区块链请求的处理装置,其特征在于,所述处理装置包括:
目标节点配置信息集合确定模块,用于当接收到客户端业务请求时,从缓存区域的节点配置信息中,确定与所述客户端业务请求对应的目标节点配置信息集合,所述客户端业务请求来自相应的用户客户端,所述节点配置信息是由各用户客户端发送的,并在区块链客户端集群中的各区块链客户端中同步缓存;
区块链业务请求生成模块,用于基于所述客户端业务请求以及所述目标节点配置信息集合,生成区块链业务请求;
请求结果返回模块,用于向区块链网络发送所述区块链业务请求,获取所述区块链网络返回的所述区块链业务请求的请求结果,并向所述相应的用户客户端返回所述请求结果。
11.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817117.1A CN110380919B (zh) | 2019-08-30 | 2019-08-30 | 区块链请求的处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817117.1A CN110380919B (zh) | 2019-08-30 | 2019-08-30 | 区块链请求的处理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110380919A true CN110380919A (zh) | 2019-10-25 |
CN110380919B CN110380919B (zh) | 2021-11-05 |
Family
ID=68261365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910817117.1A Active CN110380919B (zh) | 2019-08-30 | 2019-08-30 | 区块链请求的处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110380919B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110910249A (zh) * | 2019-11-22 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、节点设备及存储介质 |
CN110928911A (zh) * | 2019-12-10 | 2020-03-27 | 北大方正集团有限公司 | 审校请求处理系统、方法、装置、计算机可读存储介质 |
CN111327457A (zh) * | 2020-01-21 | 2020-06-23 | 山东公链信息科技有限公司 | 一种基于通信安全认证的区块链接口配置方法 |
CN111639129A (zh) * | 2020-05-24 | 2020-09-08 | 中信银行股份有限公司 | 交易处理方法、装置、电子设备及计算机可读存储介质 |
CN112367294A (zh) * | 2020-10-13 | 2021-02-12 | 成都精灵云科技有限公司 | 适配边缘计算架构的多主机间的网络通信方法 |
CN113420084A (zh) * | 2021-06-07 | 2021-09-21 | 广东辰宜信息科技有限公司 | 区块链系统 |
CN114022151A (zh) * | 2022-01-10 | 2022-02-08 | 云账户技术(天津)有限公司 | 区块链数据可视化方法、系统、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196900A (zh) * | 2017-03-24 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种共识校验的方法及装置 |
US20180260909A1 (en) * | 2017-03-08 | 2018-09-13 | Alibaba Group Holding Limited | Handing requests in a consensus network |
CN109040227A (zh) * | 2018-07-27 | 2018-12-18 | 江西贪玩信息技术有限公司 | 基于区块链的业务请求响应方法、装置和计算机设备 |
CN109359994A (zh) * | 2018-10-31 | 2019-02-19 | 巴马平方米区块链有限公司 | 基于区块链的业务处理方法、装置及系统 |
CN109726202A (zh) * | 2018-12-18 | 2019-05-07 | 北京新唐思创教育科技有限公司 | 一种区块链数据存储方法及计算机存储介质 |
US20190149418A1 (en) * | 2017-11-16 | 2019-05-16 | International Business Machines Corporation | Clustered application management with a blockchain |
-
2019
- 2019-08-30 CN CN201910817117.1A patent/CN110380919B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260909A1 (en) * | 2017-03-08 | 2018-09-13 | Alibaba Group Holding Limited | Handing requests in a consensus network |
CN107196900A (zh) * | 2017-03-24 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种共识校验的方法及装置 |
US20190149418A1 (en) * | 2017-11-16 | 2019-05-16 | International Business Machines Corporation | Clustered application management with a blockchain |
CN109040227A (zh) * | 2018-07-27 | 2018-12-18 | 江西贪玩信息技术有限公司 | 基于区块链的业务请求响应方法、装置和计算机设备 |
CN109359994A (zh) * | 2018-10-31 | 2019-02-19 | 巴马平方米区块链有限公司 | 基于区块链的业务处理方法、装置及系统 |
CN109726202A (zh) * | 2018-12-18 | 2019-05-07 | 北京新唐思创教育科技有限公司 | 一种区块链数据存储方法及计算机存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110910249A (zh) * | 2019-11-22 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、节点设备及存储介质 |
CN110928911A (zh) * | 2019-12-10 | 2020-03-27 | 北大方正集团有限公司 | 审校请求处理系统、方法、装置、计算机可读存储介质 |
CN111327457A (zh) * | 2020-01-21 | 2020-06-23 | 山东公链信息科技有限公司 | 一种基于通信安全认证的区块链接口配置方法 |
CN111639129A (zh) * | 2020-05-24 | 2020-09-08 | 中信银行股份有限公司 | 交易处理方法、装置、电子设备及计算机可读存储介质 |
CN112367294A (zh) * | 2020-10-13 | 2021-02-12 | 成都精灵云科技有限公司 | 适配边缘计算架构的多主机间的网络通信方法 |
CN113420084A (zh) * | 2021-06-07 | 2021-09-21 | 广东辰宜信息科技有限公司 | 区块链系统 |
CN113420084B (zh) * | 2021-06-07 | 2023-09-26 | 广东辰宜信息科技有限公司 | 区块链系统 |
CN114022151A (zh) * | 2022-01-10 | 2022-02-08 | 云账户技术(天津)有限公司 | 区块链数据可视化方法、系统、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110380919B (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380919A (zh) | 区块链请求的处理方法、装置、电子设备及可读存储介质 | |
CN111049854B (zh) | 一种服务请求的传输方法和装置 | |
CN107276765B (zh) | 区块链中共识的处理方法及装置 | |
CN110311983B (zh) | 服务请求的处理方法、装置、系统、电子设备及存储介质 | |
CN103947178B (zh) | 用于内容递送的方法和装置 | |
CN109815025A (zh) | 业务模型调用方法、装置及存储介质 | |
US10931479B2 (en) | Inband data gathering with dynamic intermediary route selections | |
WO2021223662A1 (zh) | 基于扫码的页面访问 | |
US20190373051A1 (en) | Task Scheduling System for Internet of Things (IoT) Devices | |
CN114172662A (zh) | 区块链外部数据获取方法及装置 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN109586962A (zh) | IPv4升级到IPv6的HTTPS外链问题的处理装置、方法及电子设备 | |
US20040059795A1 (en) | System and method for tracking a transaction across a multi-hop network | |
CN110377440A (zh) | 信息处理方法和装置 | |
CN109992406A (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
CN109327511A (zh) | 一种基于http协议的数据请求方法和服务器 | |
CN110519388A (zh) | 区块链请求的处理方法、装置、电子设备及可读存储介质 | |
CN109379179A (zh) | 用于更新数字证书的方法和装置 | |
CN111901384B (zh) | 处理报文的系统、方法、电子设备以及可读存储介质 | |
CN110780915B (zh) | 一种数据处理方法、装置和存储介质 | |
CN109471713A (zh) | 用于查询信息的方法和装置 | |
CN109005250B (zh) | 用于访问服务端的方法和装置 | |
CN111161072A (zh) | 基于区块链的随机数生成方法、设备及存储介质 | |
CN110532115B (zh) | 用于开发智能合约的系统、方法和装置 | |
CN108683586A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 801-2, floor 8, building 3, No. 22, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing Applicant after: Wanghai Kangxin (Beijing) Technology Co., Ltd Address before: Room 07, Room 2, Building B, 12 Hongda North Road, Beijing Daxing District, Beijing Applicant before: Beijing Neusoft Wang Hai Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |