访问区块链的方法、装置及电子设备与流程

文档序号:29353531发布日期:2022-03-22 23:00阅读:327来源:国知局
访问区块链的方法、装置及电子设备与流程

1.本技术属于计算机应用技术领域,尤其涉及一种访问区块链的方法、装置及电子设备。


背景技术:

2.随着区块链技术与应用的发展,区块链底层架构的种类也越来越多,对应的接入方式也各不相同。当应用端需要访问不同底层架构的区块链节点时,只能在应用端集成相应的各种类型的软件开发工具包(software development kit,sdk);基于各种类型的sdk访问底层架构不同的区块链节点,使得应用端与区块链的业务对接成本较高,且应用端的接入复杂度也较高。


技术实现要素:

3.本技术实施例提供了一种访问区块链的方法、装置、代理终端及服务平台,可以降低应用端与区块链的业务对接成本以及应用端接入区块链的复杂度。
4.第一方面,本技术提供了一种访问区块链的方法,应用于代理终端,该方法可以包括:
5.接收应用端基于统一的接入标准发送的访问请求,所述接入标准为服务平台向所述应用端发送的且用于接入所述代理终端的接口配置;
6.在存储的区块链信息中,获取与所述访问请求中的区块链配置信息相匹配的目标节点信息,所述访问请求中的区块链配置信息为所述应用端从所述服务平台下载的;
7.基于预设的数据通信协议,向与所述目标节点信息对应的所述区块链中的目标节点转发所述访问请求。
8.在第一方面的一种可能的实现方式中,在所述接收应用端基于统一的接入标准发送的访问请求之后,所述方法还包括:
9.基于存储的访问凭证,验证所述应用端的访问权限;
10.若验证通过,则向所述服务平台发送所述访问请求的请求内容;
11.其中,所述访问凭证为所述服务平台定时向所述代理终端发送的。
12.在第一方面的一种可能的实现方式中,在向与所述目标节点信息对应的所述区块链中的目标节点转发所述访问请求之前,所述方法还包括:
13.获取所述服务平台发送的所述区块链中的每个节点的负载参量和请求数量;
14.根据所述负载参量和所述请求数量,计算每个节点的负载系数;
15.将所述区块链中所述负载系数小于预设的负载阈值的节点作为所述目标节点。
16.在第一方面的一种可能的实现方式中,在向与所述目标节点信息对应的所述区块链中的目标节点转发所述访问请求之前,所述方法还包括:
17.获取所述服务平台发送的所述区块链中的每个节点的负载参量和吞吐量;
18.若所述负载参量或所述吞吐量超过预设的阈值,则缓存所述访问请求,并向所述
应用端反馈所述访问请求已缓存的消息;
19.定时查询已缓存的所述访问请求,并判断所述区块链中的节点的所述负载参量和所述吞吐量是否低于预设的阈值;
20.将所述负载参量和所述吞吐量小于预设的阈值的节点作为所述目标节点。
21.在第一方面的一种可能的实现方式中,在所述接收应用端基于统一的接入标准发送的访问请求之后,所述方法还包括:
22.若所述访问请求对应的应用端的互联网协议地址位于白名单中,则通过对所述应用端的权限验证;
23.若所述访问请求对应的应用端的互联网协议地址位于黑名单中,则拦截所述应用端的所述访问请求。
24.在第一方面的一种可能的实现方式中,所述方法还包括:
25.统计所述应用端发送所有访问请求的数量,得到访问业务指标;
26.向所述服务平台推送所述访问业务指标,所述访问业务指标用于指示所述服务平台记录并监控所述应用端的访问请求。
27.第二方面,本技术提供了一种访问区块链的方法,应用于服务平台,该方法可以包括:
28.向应用端配置统一的接入标准,并获取代理终端反馈的访问业务指标;
29.所述接入标准为所述应用端向所述代理终端发送访问请求的接口配置;所述访问请求用于指示所述代理终端在存储的区块链信息中匹配与访问请求中的区块链配置信息对应的目标节点信息,并向区块链中与所述目标节点信息对应的目标节点发送所述访问请求;所述访问请求中的区块链配置信息为所述应用端从所述服务平台下载的;所述访问业务指标为所述代理终端统计所述应用端发送的所有访问请求的数量得到的;
30.向所述应用端配置访问凭证,并定时将所述访问凭证与所述代理终端进行绑定;所述访问凭证用于所述代理终端验证所述应用端的访问权限;
31.获取区块链中的每个节点的负载参量、请求数量以及吞吐量,并向所述代理终端反馈所述负载参量、所述请求数量以及所述吞吐量;所述负载参量、所述请求数量以及所述吞吐量用于指示所述代理终端对所述区块链的节点进行负载均衡处理。
32.第三方面,本技术实施例提供了一种访问区块链的装置,该装置可以包括:
33.接收单元,用于接收应用端基于统一的接入标准发送的访问请求,所述接入标准为服务平台向所述应用端发送的且用于接入所述代理终端的接口配置;
34.处理单元,用于在存储的区块链信息中,获取与所述访问请求中的区块链配置信息相匹配的目标节点信息,所述访问请求中的区块链配置信息为所述应用端从所述服务平台下载的;
35.发送单元,用于基于预设的数据通信协议,将所述访问请求转发至与所述目标节点信息对应的所述区块链中的目标节点。
36.第四方面,本技术提供了一种代理终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。
37.第五方面,本技术提供了一种服务平台,包括存储器、处理器以及存储在所述存储
器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第二方面所述的方法。
38.第六方面,本技术提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面或第二方面所述的方法。
39.第七方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
40.第八方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面或第二方面所述的方法。
41.可以理解的是,上述第二方面至第八方面的有益效果可以参见第一方面中的相关描述,在此不再赘述。
42.本技术与现有技术相比存在的有益效果是:通过本技术,代理终端接收应用端基于统一的接入标准发送的访问请求;代理终端在存储的区块链信息中,获取与访问请求中的区块链配置信息相匹配的目标节点信息;基于预设的数据通信协议,代理终端将访问请求转发至与目标节点信息对应的区块链中的目标节点;本技术代理终端接收通过采用统一的接入标准发送的访问请求,并由代理终端进行信息匹配后将访问请求转发至对应的目标节点,可以实现应用端对接任何架构类型的区块链,降低了应用端与区块链的业务对接成本,代理终端屏蔽了区块链的不同底层架构的接入方式,降低了应用端访问区块链的复杂度;具有较强的易用性与实用性。
附图说明
43.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
44.图1是本技术实施例提供的系统应用场景的架构示意图;
45.图2是本技术实施例提供的访问区块链方法的流程示意图;
46.图3是本技术实施例提供的系统交互的框架示意图;
47.图4是本技术实施例提供的访问区块链装置的结构示意图;
48.图5是本技术实施例提供的电子设备的结构示意图。
具体实施方式
49.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
50.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、
步骤、操作、元素、组件和/或其集合的存在或添加。
51.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
52.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0053]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0054]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0055]
目前,随着区块链技术的多样化,一些异构区块链或者联盟区块链的底层架构种类也变得多样且复杂;由于底层架构的不同,相应的访问方式也各不相同,在实际应用场景中应用端只能通过各种类型的sdk访问区块链的节点,使得应用端的软件开发难度较高,开发逻辑复杂,增加了应用端与区块链的业务对接成本。
[0056]
基于上述问题,本技术实施例提供了一种访问区块链的方法,通过统一的接入标准,由代理终端接收应用端的访问请求,对该访问请求进行解析并向区块链的节点转发该访问请求,屏蔽了异构区块链底层架构对应的不同的接入方式,实现了对异构区块链数据的访问,降低了区块链的接入成本。
[0057]
下面通过实施例介绍本技术中访问区块链方法的过程。该访问区块链方法步骤的执行主体可以为代理终端,该代理终端可以设置于区块链侧,该代理终端可以为桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,在此不作具体限制。
[0058]
请参见图1,图1是本技术实施例提供的系统应用场景的架构示意图。如图1所示,整个系统可以包括多个应用端(例如应用端a、应用端b和应用端c)、代理终端以及多个不同的区块链(例如超级账本区块链hyperledger fbric、联盟区块链hyperchain和区块链bcos等具有不同底层架构的区块链),每个区块链可以包括多个节点(例如节点a、节点b、节点c和节点d等)。
[0059]
其中,多个应用端采用统一的接入标准,该统一的接入标准为向代理终端发送信息的接口配置,例如统一的sdk。应用端可以基于该统一的接入标准向代理终端发送针对异构区块链数据的访问请求。
[0060]
代理终端可以包括多个功能模块,如图1所示,代理终端可以包括路由转发模块、权限验证模块、负载均衡模块、交易缓存模块、黑白名单模块以及指标监控模块。代理终端在接收到应用端的访问请求时,可以通过路由转发模块向区块链转发应用端的访问请求;相应的,在转发之前,通过权限验证模块还可以对发送访问请求的应用端进行权限验证,验证通过则进行转发,验证不通过则拦截该访问请求;代理终端还可以通过负载均衡模块判
断区块链节点的负载情况,根据区块链节点的负载情况,将访问请求转发至负载没有超过阈值的节点;当区块链执行的任务较多时,代理终端还可以暂时缓存应用端发送的访问请求,并通知应用端该访问请求已被缓存,当发现区块链中节点可以接收新的任务时,再将缓存的访问请求转发至对应的节点,并通知应用端已经转发该访问请求;另外,代理终端的黑白名单模块还可以设置有应用端的地址信息,当应用端的地址信息存在于白名单中,代理终端可以直接通过对应用端的权限验证,若应用端的地址信息在黑名单中,代理终端则拦截该应用端的访问请求;同时,代理终端还可以通过指标监控模块对区块链的访问指标进行监控,保留应用端发送的所有访问请求。
[0061]
代理终端保存有区块链的相关信息,可以根据应用端需要访问的区块链信息判断出与该区块链对应的数据通信协议,从而基于相应的数据通信协议向该区块链的节点转发应用端的访问请求。
[0062]
通过本技术实施例,代理终端接收应用端基于统一的接入标准发送的访问请求,经过统一的鉴权机制以及黑白名单机制对应用端进行权限验证,使得访问机制安全可控;以及基于灵活的调度策略,可以保证区块链的负载均衡;同时,代理终端还可以缓存应用端的访问请求,保证每一项访问事件均成功接入区块链,从而可以提升交易的吞吐率。
[0063]
基于上述实施例的整体系统架构,本技术实施例提供了一种访问区块链的方法。下面通过本技术实施例介绍该方法实现的具体过程。
[0064]
请参见图2,图2是本技术一实施例提供的访问区块链的方法的流程示意图。本技术实施例中所述的区块链可以是联盟区块链、异构区块链、公有链或私有链等。如图2所示,该方法包括以下步骤:
[0065]
s201,代理终端接收应用端基于统一的接入标准发送的访问请求。
[0066]
在一些实施例中,该接入标准为服务平台向应用端发送的且用于接入所述代理终端的接口配置,例如sdk配置文件。该访问请求包括上链交易以及数据访问等内容。
[0067]
示例性的,服务平台可以为联盟区块链的后台服务端,例如区块链即服务(blockchain as a service,baas)平台。该服务平台可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,在此不作具体限制。
[0068]
如图3所示,该服务平台可以接收联盟区块链的管理员的访问,基于该访问向多个应用端配置统一的接入标准。该接入标准为接入代理终端的接口配置信息,例如sdk配置文件等。应用端还可以接收联盟区块链管理员输入的开发应用的指令,基于该指令生成管理员自定义的应用,基于该应用向访问代理发送针对区块链的访问请求。
[0069]
在一些实施例中,在代理终端接收应用端基于统一的接入标准发送的访问请求之后,该方法还包括:
[0070]
基于存储的访问凭证,代理终端验证应用端的访问权限。
[0071]
其中,访问凭证为服务平台定时向代理终端发送的。服务平台可以统一生成与应用端对应的访问凭证;并将该访问凭证绑定至代理终端,代理终端接收并存储服务平台定时发送的访问凭证,并实时更新已存储的访问凭证。
[0072]
在一些实施例中,服务平台在接收联盟区块链管理员的访问时,还可以基于该访问向应用端配置统一的访问凭证;由于应用端的不断自定义开发,服务平台可能会针对新的应用端系统生成新的访问凭证,并实时向应用端配置更新后的访问凭证,同时也向代理
终端发送更新后的访问凭证,代理终端根据更新后的访问凭证定时更新内存中已存储的访问凭证。
[0073]
示例性的,该访问凭证包括访问密钥accesskey和待访问的区块链信息,访问密钥accesskey可以包括访问身份标识accesskey id和访问密码accesskey secret;accesskey secret用于对访问请求中的参数进行签名。具体地,用户在区块链即服务平台(baas)中创建访问密钥(access key,简称ak),预设访问密钥的作用就是鉴权。用户在创建预设访问密钥的时候,为创建的预设访问密钥配置指定的代理终端,将预设访问密钥与代理终端进行绑定。配置好后,将预设访问密钥发送到代理终端。代理终端接收到该访问密钥ak之后,更新自己的访问密钥列表。只有当应用端发送至代理终端的访问请求中携带有代理终端的访问密钥列表中存在的访问密钥时,且待访问的区块链信息与代理终端关联的区块链一致时,应用端才可以对与所述代理终端关联的至少一个区块链进行操作。
[0074]
示例性的,应用端通过向代理终端发送访问请求以申请访问区块链(或者联盟区块链)。代理终端可以基于该访问凭证对应用端进行权限验证。代理终端接收到应用端通过携带访问凭证发送的访问请求时,根据该访问请求提供的参数,解析该访问请求的内容,若解析结果为成功,则对应用端的权限验证通过,若解析结果为失败,则对应用端的权限验证失败。相应的,若对应用端的权限验证通过,代理终端同时异步通知服务平台baas,并向服务平台baas发送访问请求的内容,从而使得服务平台baas可以对代理终端的权限验证机制进行控制,而且还可以对应用端的访问请求进行记录。
[0075]
s202,代理终端在存储的区块链信息中,获取与访问请求中的区块链配置信息相匹配的目标节点信息。
[0076]
在一些实施例中,访问请求中的区块链配置信息为应用端从服务平台下载的。应用端只需在服务平台上下载需要访问的区块链的配置信息,例如区块链的证书信息等,无需设置访问区块链中的节点的配置。代理终端根据访问请求,解析出应用端需要访问的区块链配置信息。
[0077]
示例性的,服务平台定时向代理终端同步区块链的相关信息,代理终端并将区块链的相关信息存储在内存中,作为区块链信息。由于区块链中可能存在新的节点加入或者节点退出等情况,需要服务平台定时更新区块链的相关信息,并向代理终端实时同步。
[0078]
其中,代理终端内存中存储的区块链信息包括区块链节点信息,区块链节点信息可以包括应用端需要访问的目标节点信息。
[0079]
在一些实施例中,代理终端将从访问请求中解析出的区块链配置信息与内存中存储的区块链信息进行对比,确定与解析出的区块链配置信息匹配的区块链节点信息,将该匹配的区块链节点信息作为目标节点信息。
[0080]
s203,代理终端基于预设的数据通信协议,将访问请求转发至与目标节点信息对应的区块链中的目标节点。
[0081]
在一些实施例中,代理终端确定目标节点信息后,根据目标节点信息确定与该目标节点所在的区块链相对应的数据通信方式,基于该数据通信方式向该区块链的目标节点转发该访问请求。
[0082]
示例性的,该数据通信协议可以是远程过程调用协议grpc或者超文本传输协议(hypertext transfer protocol,http)。代理终端根据确定的目标节点信息,可以判断出
区块链为基于grpc协议或http协议的通信接口,从而基于grpc协议或http协议转发访问请求。
[0083]
在一些实施例中,在代理终端向与目标节点信息对应的区块链中的目标节点转发访问请求之前,该方法还包括:
[0084]
代理终端获取服务平台发送的区块链中的每个节点的负载参量和请求数量;根据负载参量和所述请求数量,计算每个节点的负载系数;将区块链中负载系数小于预设的负载阈值的节点作为目标节点。
[0085]
在一些实施例中,代理终端包括负载均衡模块。服务平台baas可以监控区块链的负载性能,统计为负载参量;同时,由于代理终端每次接收到应用端的访问请求后,均会向服务平台反馈的相应的访问请求,因此服务平台还可以记录并统计区块链所接收到的请求数量。
[0086]
示例性的,代理终端可以向服务平台发送请求指令,请求指令中包含应用端需要访问的区块链的相关信息,以指示服务平台向代理终端反馈该区块链中的每个节点的负载参量和请求数量;或者,代理终端在接收到应用端的访问请求并向服务平台反馈该访问请求的内容时,服务平台基于接收到的访问请求的内容,向代理终端发送该应用端需要访问的区块链中的每个节点对应的负载参量和请求数量;或者,服务平台通过定时监控区块链的负载参量和请求数量,并向代理终端定时反馈区块链中的每个节点的负载参量和请求数量。
[0087]
在一些实施例中,代理终端在获取服务平台发送的区块链的每个节点的负载参量和请求数量后,可以计算出每个节点当前的负载系数,该负载系数用于评估每个节点的运行情况;例如负载系数越高,说明节点的运行负载较高,节点处理的交易数据越多;负载系数越低,节点的运行负载较低,节点处理的交易数据相对较少。代理终端中设置负载阈值,当节点的负载系数低于该负载阈值时,将低于负载阈值的节点作为目标节点,可以向其转发当前的访问请求;当节点负载系数高于该负载阈值时,暂时不向该节点转发请问请求;即代理终端动态地向当前较为空闲的节点转发应用端的访问请求,从而实现对整个区块链的负载均衡,降低了区块链中单节点故障的可能性,提升了区块链整个系统的可靠性与吞吐率。
[0088]
在一些实施例中,在代理终端向与目标节点信息对应的区块链中的目标节点转发访问请求之前,该方法还包括:
[0089]
代理终端获取服务平台发送的区块链中的每个节点的负载参量和吞吐量;若负载参量和吞吐量均超过预设的阈值,则缓存访问请求,并向应用端反馈访问请求已缓存的消息;代理终端定时查询已缓存的访问请求,并判断区块链中的节点的负载参量和吞吐量是否低于预设的阈值;将负载参量和吞吐量小于预设的阈值的节点作为目标节点。
[0090]
示例性的,代理终端还可以从服务平台获取区块链的各个节点当前的负载参量和吞吐量。该吞吐量用于说明节点在单位时间内处理的访问请求的数量,可以通过每秒事务数(transactions per second,tps)表示。代理终端中预设有负载参量和吞吐量分别对应的阈值,当需要访问的区块链的各个节点的负载参量或吞吐量等指标超过各自对应的预设的阈值时,代理终端将开启交易缓存功能,缓存当前接收到的访问请求,将访问请求的内容存入到自身的存储器中,如图3所示,代理终端存储访问请求中的上链交易内容;另外,代理
终端还会向对应的应用端反馈已将访问请求缓存的消息。
[0091]
同时,代理终端还会定时轮询已缓存的访问请求,识别访问请求中的上链交易任务或服务,并判断区块链中的节点是否符合发送访问请求的条件,将负载参量和吞吐量小于各自对应的预设的阈值的节点作为符合发送访问请求条件的目标节点。
[0092]
示例性的,代理终端可以根据判断结果确定是否将访问请求中的上链交易任务或服务发送至对应的目标节点或者将访问请求再次放入缓存队列中。若根据判断结果确定将访问请求中的上链交易任务或服务发送至对应的目标节点,发送成功后,代理终端还会异步通知对应的应用端访问请求已发送的消息;从而保证应用端的访问请求不会因物理原因失败,提高应用端与区块链的对接业务的成功率,突破了执行交易过程中存在瓶颈。
[0093]
在一些实施例中,在代理终端接收应用端基于统一的接入标准发送的访问请求之后,该方法还包括:
[0094]
若访问请求对应的应用端的互联网协议地址位于白名单中,则通过对应用端的权限验证;若访问请求对应的应用端的互联网协议地址位于黑名单中,则拦截应用端的访问请求。
[0095]
在一些实施例中,代理终端还包括黑白名单机制,该黑白名单机制配置有黑名单模块和白名单模块,黑名单模块和白名单模块中设置有应用端的互联网协议地址。代理终端接收到访问请求的同时获取应用端的互联网协议地址,若该互联网协议地址位于白名单模块中,代理终端可以直接通过对应用端的权限验证,对访问请求进行转发;若该互联网协议地址位于黑名单模块中,则拦截该应用端发出的访问请求;使得对区块链的访问安全可控。
[0096]
在一些实施例中,该方法还包括:
[0097]
代理终端统计应用端发送所有访问请求的数量,得到访问业务指标;根据该访问业务指标,代理终端记录并监控应用端的访问请求。
[0098]
在一些实施例中,代理终端将应用端的所有访问请求都进行留痕,记录并监控应用端的访问请求;还可以将区块链对应的访问业务指标metrics推送到服务平台的系统监控和报警系统prometheus中,服务平台记录应用端的所有访问请求。另外,服务平台还可以通过系统监控和报警系统prometheus获取区块链中的每个节点的负载参量和请求数量,得到区块链对应的访问业务指标metrics,例如服务平台接收http请求的总计数等。
[0099]
示例性的,服务平台可以接收用户或联盟区块链管理员的查询指令,为用户或联盟区块链管理员提供查询指令相关的访问业务指标。
[0100]
在一些实施例中,当服务平台作为执行主体时,该访问区块链的方法还可以包括以下步骤,基于与上述访问区块链的方法相同的实现原理,在此不再对执行过程赘述:
[0101]
s401,服务平台向应用端配置统一的接入标准,并获取代理终端反馈的访问业务指标;所述接入标准为所述应用端向所述代理终端发送访问请求的接口配置;所述访问请求用于指示所述代理终端在存储的区块链信息中匹配与访问请求中的区块链配置信息对应的目标节点信息,并向区块链中与所述目标节点信息对应的目标节点发送所述访问请求;所述访问请求中的区块链配置信息为所述应用端从所述服务平台下载的;所述访问业务指标为所述代理终端统计所述应用端发送的所有访问请求的数量得到的。
[0102]
s402,服务平台向所述应用端配置访问凭证,并定时将所述访问凭证与所述代理
终端进行绑定;所述访问凭证用于所述代理终端验证所述应用端的访问权限。
[0103]
s403,获取区块链中的每个节点的负载参量和请求数量,并向所述代理终端反馈所述负载参量和所述请求数量;所述负载参量和所述请求数量用于指示所述代理终端对所述区块链的节点进行负载均衡处理。
[0104]
参考图3,本技术实施例提供的系统交互的框架示意图,基于与上述访问区块链的方法相同的实现原理,在此不再对执行过程赘述。该交互过程可以包括:
[0105]
1、定时绑定访问凭证;
[0106]
2、配置统一接入标准以及访问凭证;
[0107]
3、通过统一接入标准的api发送访问请求;
[0108]
4、交易缓存;
[0109]
5、验证权限以及转发访问请求;
[0110]
6、反馈访问请求记录。
[0111]
通过本技术实施例,代理终端接收应用端基于统一的接入标准发送的访问请求,经过统一的鉴权机制以及黑白名单机制对应用端进行权限验证,使得访问机制安全可控;以及灵活的调度策略,保证区块链的负载均衡;同时,代理终端还可以缓存应用端的访问请求,可以保证每一项访问事件均成功接入区块链,降低了传统每个应用端通过各自配置的sdk向区块链发送访问请求或上链交易而造成请求“拥堵”且无法保证每笔交易成功上链的概率,通过访问代理接收交易请求并缓存在数据库,提升了交易的吞吐率;代理终端和服务平台均可以对应用端的访问请求进行留痕记录,以便于用户可以通过服务平台查询相关访问业务指标,进行全方位的掌控。
[0112]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0113]
对应于上文实施例所述的访问区块链方法,图4示出了本技术实施例提供的访问区块链装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0114]
参照图4,该装置包括:
[0115]
接收单元41,用于接收应用端基于统一的接入标准发送的访问请求,所述接入标准为服务平台向所述应用端发送的且用于接入所述代理终端的接口配置;
[0116]
处理单元42,用于在存储的区块链信息中,获取与所述访问请求中的区块链配置信息相匹配的目标节点信息,所述访问请求中的区块链配置信息为所述应用端从所述服务平台下载的;
[0117]
发送单元43,用于基于预设的数据通信协议,将所述访问请求转发至与所述目标节点信息对应的所述区块链中的目标节点。
[0118]
对应于上文实施例所述的访问区块链方法,本技术实施例提供的访问区块链装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。该装置包括:
[0119]
第一配置单元,用于向应用端配置统一的接入标准,并获取代理终端反馈的访问业务指标;所述接入标准为所述应用端向所述代理终端发送访问请求的接口配置;所述访问请求用于指示所述代理终端在存储的区块链信息中匹配与访问请求中的区块链配置信息对应的目标节点信息,并向区块链中与所述目标节点信息对应的目标节点发送所述访问
请求;所述访问请求中的区块链配置信息为所述应用端从所述服务平台下载的;所述访问业务指标为所述代理终端统计所述应用端发送的所有访问请求的数量得到的;
[0120]
第二配置单元,用于向所述应用端配置访问凭证,并定时将所述访问凭证与所述代理终端进行绑定;所述访问凭证用于所述代理终端验证所述应用端的访问权限;
[0121]
数据处理单元,用于获取区块链中的每个节点的负载参量和请求数量,并向所述代理终端反馈所述负载参量和所述请求数量;所述负载参量和所述请求数量用于指示所述代理终端对所述区块链的节点进行负载均衡处理。
[0122]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0123]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0124]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0125]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
[0126]
图5为本技术一实施例提供的电子设备5的结构示意图。该电子设备5可以为上述实施例中的代理终端或服务平台。如图5所示,该实施例的电子设备5包括:至少一个处理器50(图5中仅示出一个)、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述实施例中的步骤。
[0127]
所述电子设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是电子设备5的举例,并不构成对电子设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0128]
所称处理器50可以是中央处理单元(central processing unit,cpu),该处理器50还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0129]
所述存储器51在一些实施例中可以是所述电子设备5的内部存储单元,例如电子
设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述电子设备5的外部存储设备,例如所述电子设备5上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器51还可以既包括所述电子设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
[0130]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0131]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0132]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0133]
在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0134]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0135]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1