用于加入区块链网络的方法、计算机存储介质及电子设备与流程

文档序号:32260491发布日期:2022-11-19 12:37阅读:60来源:国知局
用于加入区块链网络的方法、计算机存储介质及电子设备与流程

1.本技术涉及区块链技术领域,具体地,涉及一种用于加入区块链网络的方法、计算机存储介质及电子设备。


背景技术:

2.区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质是一个去中心化的数据库,是一串使用密码学方法相关联的数据块。一些情况下,需要在区块链网络中添加新节点,如何实现新节点的添加对于本领域人员而言是一个需要解决的问题。


技术实现要素:

3.本技术实施例中提供了一种用于加入区块链网络的方法、计算机存储介质及电子设备,以解决上述技术问题。
4.根据本技术实施例的第一个方面,提供了一种用于加入区块链网络的方法,应用于接入授权服务设备,所述方法包括:接收目标节点发送的接入请求;从所述接入请求中,获取所述目标节点的节点基础信息、第一待接入链信息和节点申请类型;将所述第一待接入链信息与所述节点申请类型进行拼接,得到拼接结果;确定所述拼接结果对应的节点约束信息;确定所述节点基础信息与所述节点约束信息的匹配度;在基于所述匹配度,确定对所述接入请求的审核通过的情况下,将所述目标节点加入所述第一待接入链信息对应的第一区块链网络,且令所述目标节点在所述第一区块链网络中的角色与所述节点申请类型相匹配。
5.在一个可选示例中,所述接收目标节点发送的接入请求之后,所述方法还包括:为所述接入请求分配申请标识;将所述申请标识发送至所述目标节点。
6.在一个可选示例中,所述方法还包括:在对所述接入请求的审核通过的情况下,在第一区域记录所述申请标识与所述第一待接入链信息之间的关联关系;接收所述目标节点发送的第一接入链更新请求,所述第一接入链更新请求中携带第二待接入链信息和所述申请标识;响应于所述第一接入链更新请求,将所述第一区域中所述申请标识关联的接入链信息由所述第一待接入链信息更新为所述第二待接入链信息,并将所述目标节点由加入所述第一区块链网络切换为加入所述第二待接入链对应的第二区块链网络。
7.在一个可选示例中,所述将所述申请标识发送至所述目标节点之后,所述方法还
包括:接收所述目标节点发送的携带所述申请标识的申请详情请求;响应于所述申请详情请求,确定所述接入请求对应的申请详情信息,所述申请详情信息包括:许可颁发信息、审核状态、申请状态中的至少一者,以及所述节点基础信息、所述第一待接入链信息、所述节点申请类型;将所述申请详情信息发送至所述目标节点。
8.在一个可选示例中,所述将所述申请标识发送至所述目标节点之后,所述方法还包括:在对所述接入请求的审核通过的情况下,确定所述接入请求对应的颁发信息,所述颁发信息包括:签发对象信息、安装包信息、颁发基础信息中的至少一项,以及所述申请标识;将所述颁发信息发送至所述目标节点。
9.在一个可选示例中,所述方法还包括:基于所述节点基础信息,确定所述目标节点的节点地址;在对所述接入请求的审核通过的情况下,在第二区域记录所述节点地址与所述第一待接入链信息之间的关联关系;接收所述目标节点发送的第二接入链更新请求,所述第二接入链更新请求中携带第二待接入链信息和所述节点地址;响应于所述第二接入链更新请求,确定所述第二区域中最新记录的待接入链信息,并将所述目标节点由加入所述第二区域中最新记录的待接入链信息对应的区块链网络切换为加入所述第二待接入链信息对应的第二区块链网络。
10.在一个可选示例中,所述将所述目标节点加入所述第一待接入链信息对应的第一区块链网络,且令所述目标节点在所述第一区块链网络中的角色与所述节点申请类型相匹配之后,所述方法还包括:在满足第一预设条件的情况下,按照所述节点申请类型,取消所述目标节点在所述第一区块链网络中的相应权限;在满足第二预设条件的情况下,按照所述节点申请类型,恢复所述目标节点在所述第一区块链网络中的相应权限。
11.在一个可选示例中,所述接收目标节点发送的接入请求之前,所述方法还包括:接收所述目标节点发送的链信息获取请求;响应于所述链信息获取请求,确定多个链信息,每个链信息中均包括链名称和链编号中的至少一者;将所述多个链信息发送至所述目标节点;其中,所述第一待接入链信息选自所述多个链信息;和/或,所述接收目标节点发送的接入请求之前,所述方法还包括:接收所述目标节点发送的申请类型获取请求;响应于所述申请类型获取请求,确定多个申请类型;
将所述多个申请类型发送至所述目标节点;其中,所述节点申请类型选自所述多个申请类型。
12.根据本技术实施例的第二个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述方法的步骤。
13.根据本技术实施例的第三个方面,提供了一种电子设备,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如上述第一方面所述的方法。
14.本技术实施例提供的方案中,可以在从目标节点发送的接入请求中,获取目标节点的节点基础信息、第一待接入链信息和节点申请类型之后,将第一待接入链信息与节点申请类型进行拼接,确定得到的拼接结果对应的节点约束信息,并确定节点基础信息与节点约束信息的匹配度,以便利用匹配度确定对接入请求的审核是否通过。对于接入请求的审核通过的情况,可以将目标节点加入第一待接入链信息对应的第一区块链网络,且令目标节点在第一区块链网络中的角色与节点申请类型相匹配,这样就按照用户的需求,高效地将目标节点添加至了第一区块链网络中,且在添加之前对目标节点进行了可靠的接入认证,因此,本技术实施例能够高效可靠地在区块链网络中添加新节点。
附图说明
15.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1示出了本技术实施例中提供的用于加入区块链网络的方法的流程示意图之一;图2示出了本技术实施例中接入授权服务设备的构架图;图3示出了本技术实施例中提供的用于加入区块链网络的方法的流程示意图之二;图4示出了本技术实施例中提供的用于加入区块链网络的方法的流程示意图之三;图5示出了本技术实施例中提供的用于加入区块链网络的方法的流程示意图之四;图6示出了本技术实施例中提供的用于加入区块链网络的方法的流程示意图之五;图7示出了本技术实施例中提供的一种电子设备的结构示意图。
具体实施方式
16.本技术实施例提供了一种用于加入区块链网络的方法,该方法可以应用于接入授权服务设备,接入授权服务设备也可以称为接入授权服务平台或者接入授权服务系统。
17.需要说明的是,为了支持本技术实施例提供的用于加入区块链网络的方法,接入授权服务设备需要具有合适的运行环境。
18.可选地,接入授权服务设备的硬件环境可以满足以下至少一项:(1)中央处理器(central processing unit,cpu)不低于2核;(2)内存不低于4核;(3)硬盘的容量在512g以
上;(4)显卡是显存为256m以上的独立显卡。
19.可选地,接入授权服务设备的软件环境可以满足以下至少一项:(1)操作系统为windows 7及以上版本,或者操作系统为centos7.5(其属于一种开源和企业级计算机操作系统);(2)浏览器为google chrome 63.0以上,或者浏览器为microsoft ie 8.0以上;(3)mysql(其是一种关系型数据库管理系统)版本为mysql5.7.25。
20.参见图1,图中示出了本技术实施例提供的用于加入区块链网络的方法的流程图。如图1所示,该方法包括步骤110、步骤120、步骤130、步骤140、步骤150和步骤160,下面分别对各步骤进行说明。
21.步骤110,接收目标节点发送的接入请求。
22.需要说明的是,目标节点可以为请求加入某一区块链网络中的任一节点,目标节点中的“目标”并不构成对目标节点的任何限定。
23.在步骤110中,可以由用户(例如图2中的平台用户)在目标节点上进行操作,以使目标节点向接入授权服务设备发起接入请求。
24.可选地,接入请求可以为超文本传输协议(hyper text transfer protocol,http)请求,接入请求的请求方式可以为post,接入请求也可以称为license(许可)申请,接入请求可以呈如下形式:https://{url}/license/apply[{"applicantbid":"","chaincode":"","chainname":"","nodename":"","nodebid":"","nodeorg":"","linkname":"","linkphone":"","linkemail":"","equipmentinfo":["",""],"remark":"","link":"","type":""}] 上面的接入请求中包括多个参数,各个参数的说明可以参见下面的表1:
表1步骤120,从接入请求中,获取目标节点的节点基础信息、第一待接入链信息和节点申请类型。
[0025]
在步骤120中,可以直接从接入请求中提取目标节点的节点基础信息、第一待接入链信息和节点申请类型。可选地,节点基础信息可以包括表1中的节点地址、节点名称、节点运营单位名称、联系人名称、联系人电话、联系人email等;第一待接入链信息可以包括表1中的链id、链名称等;节点申请类型可以对应表1中的申请类型。
[0026]
步骤130,将第一待接入链信息与节点申请类型进行拼接,得到拼接结果。
[0027]
可选地,第一待接入链信息和节点申请类型均可以呈字符或者字符串形式,通过利用预设字符(例如“+”、“&”等)将第一待接入链信息和节点申请类型进行连接,可以得到一个新的字符串,该新的字符串可以作为第一待接入链信息与节点申请类型的拼接结果。
[0028]
步骤140,确定第一待接入链信息与节点申请类型的拼接结果对应的节点约束信息。
[0029]
需要说明的是,可以预先统计需要由接入授权服务设备进行接入审核的所有区块链网络,以及所有申请类型,这些区块链网络包括但不限于政务链、商务链等。基于经统计确定的所有区块链网络和所有申请类型,可以形成多种组合方式,每种组合方式中包括一个区块链网络对应的链信息和一个申请类型,不同组合方式中的链信息和/或申请类型是不同的。针对每种组合方式,可以将该组合方式中的链信息和申请类型进行拼接,得到拼接结果,由此可以得到与多种组合方式一一对应的多个拼接结果。
[0030]
假设某一组合方式中的链信息为a,申请类型b,则可以确定任一节点若要成为a对应的区块链网络中,b类型的节点时,该节点需要满足哪些约束条件,这些约束条件的组合可以作为该组合方式对应的约束信息。按照类似的方式,可以得到与多种组合方式一一对应的多个约束信息,再结合上文中与多种组合方式一一对应的多个拼接结果,可以得到多个拼接结果与多个约束信息之间的一一对应关系。在步骤140中,基于该一一对应关系,可以高效快捷地确定第一待接入链信息与节点申请类型的拼接结果对应的约束信息,该约束信息即可作为节点约束信息。
[0031]
步骤150,确定节点基础信息与节点约束信息的匹配度。
[0032]
可选地,节点基础信息中可以包括目标节点在多个维度中的每个维度的基础信息,节点约束信息中可以包括多个维度中的每个维度的约束条件。在步骤150中,可以针对多个维度中的每个维度,通过确定该维度对应的基础信息是否符合该维度对应的约束条件,得到该维度对应的匹配度,按照类似的方式,可以得到与多个维度一一对应的多个匹配度,通过对得到的多个匹配度求平均值或者求加权平均值或者求和值等,可以得到节点基础信息与节点约束信息的匹配度。
[0033]
步骤160,在基于节点基础信息与节点约束信息的匹配度,确定对接入请求的审核通过的情况下,将目标节点加入第一待接入链信息对应的第一区块链网络,且令目标节点在第一区块链网络中的角色与节点申请类型相匹配。
[0034]
在步骤160中,可以基于节点基础信息与节点约束信息的匹配度,确定对接入请求的审核是否通过。可选地,在该匹配度大于预设匹配度的情况下,可以确定对接入请求的审核通过,在该匹配度小于或等于预设匹配度的情况下,可以确定对接入请求的审核不通过。当然,确定接入请求的审核是否通过的依据并不局限于节点基础信息与节点约束信息的匹配度,例如还可以包括接入请求中的信息的完整度、准确度等,由此可以对接入请求进行全方位、突出重点的审核。
[0035]
在对接入请求的审核通过的情况下,可以同意接入请求,并将目标节点加入第一待接入链信息对应的第一区块链网络,且令目标节点在第一区块链网络中的角色与节点申请类型相匹配,例如,在节点申请类型为0服务节点时,目标节点会成为第一区块链网络中的服务节点,在节点申请类型为2骨干节点时,目标节点会成为第一区块链网络中的骨干节点。
[0036]
在对接入请求的审核不通过的情况下,可以拒绝接入请求,这时,目标节点无法加入第一区块链网络。
[0037]
本技术实施例中,可以在从目标节点发送的接入请求中,获取目标节点的节点基础信息、第一待接入链信息和节点申请类型之后,将第一待接入链信息与节点申请类型进行拼接,确定得到的拼接结果对应的节点约束信息,并确定节点基础信息与节点约束信息的匹配度,以便利用匹配度确定对接入请求的审核是否通过。对于接入请求的审核通过的情况,可以将目标节点加入第一待接入链信息对应的第一区块链网络,且令目标节点在第一区块链网络中的角色与节点申请类型相匹配,这样就按照用户的需求,高效地将目标节点添加至了第一区块链网络中,且在添加之前对目标节点进行了可靠的接入认证,因此,本技术实施例能够高效可靠地在区块链网络中添加新节点。
[0038]
在一个可选示例中,如图3所示,在步骤110之前,该方法还包括:
步骤101,接收目标节点发送的链信息获取请求;步骤102,响应于链信息获取请求,确定多个链信息,每个链信息中均包括链名称和链编号中的至少一者;步骤103,将多个链信息发送至目标节点;其中,第一待接入链信息选自多个链信息。
[0039]
这里,可以由用户在目标节点上进行操作,以使目标节点向接入授权服务设备发起链信息获取请求。
[0040]
可选地,链信息获取请求可以为http请求,链信息获取请求的请求方式可以为get,链信息获取请求可以呈如下形式:https://{url}/license/chainlist。
[0041]
响应于接收的链信息获取请求,接入授权服务设备可以确定需要由自身进行接入审核的所有区块链网络,并进一步确定这些区块链网络各自的链信息,从而得到多个链信息,每个链信息中可以包括链名称和链编号中的至少一者,链编号也可以称为ac码。之后,接入授权服务设备可以向目标节点返回链信息获取请求的响应结果(后续将其称为第一响应结果),第一响应结果可以为json(javascript object notation,js对象简谱)格式,第一响应结果中包括的信息的说明可以参见下面的表2:这样,根据来自接入授权服务设备的第一响应结果,目标节点可以显示多个链信息,用户可以根据实际需求,从多个链信息中选择所需的链信息,以便目标节点发起携带该链信息的接入请求(即该链信息作为上文中的第一待接入链信息),由此可以根据用户的实际需求,使目标节点接入相应的区块链网络。
[0042]
在一个可选示例中,如图4所示,在步骤110之前,该方法还包括:步骤104,接收目标节点发送的申请类型获取请求;步骤105,响应于申请类型获取请求,确定多个申请类型;步骤106,将多个申请类型发送至目标节点;其中,节点申请类型选自多个申请类型。
[0043]
这里,可以由用户在目标节点上进行操作,以使目标节点向接入授权服务设备发起申请类型获取请求。
[0044]
可选地,申请类型获取请求可以为http请求,申请类型获取请求的请求方式可以为get,申请类型获取请求可以呈如下形式:https://{url}/license/applytypelist。
[0045]
响应于接收的申请类型获取请求,接入授权服务设备可以确定所有申请类型,并向目标节点返回申请类型获取请求的响应结果(后续将其称为第二响应结果),第二响应结果可以为json格式,第二响应结果中可以包括接入授权服务设备确定的各个申请类型,第二响应结果可以呈如下形式:
{"data": {"typelist": [{"msg": "服务节点","type": "0"},{"msg": "主链超级节点","type": "1"},{"msg": "骨干节点","type": "2"},{"msg": "出块超级节点","type": "3"},{"msg": "监管节点","type": "4"},{"msg": "子链共识节点", "type": "5"},{"msg": "子链出块共识节点","type": "6"}]},"errorcode": 0,"message": "操作成功"}这样,根据来自接入授权服务设备的第二响应结果,目标节点可以显示多个申请类型,用户可以根据实际需求,从多个申请类型中选择所需的申请类型,以便目标节点发起携带该申请类型的接入请求(即该申请类型作为上文中的节点申请类型),由此可以根据用
户的实际需求,使目标节点以相应角色加入相应的区块链网络。
[0046]
在图1所示实施例的基础上,如图5所示,在步骤110之后,该方法还包括:步骤165,为接入请求分配申请标识;步骤170,将申请标识发送至目标节点。
[0047]
可选地,申请标识可以为申请编号,申请编号也可以称为applyno;申请标识可以为json格式。
[0048]
需要说明的是,申请标识的用途多样,下面进行举例介绍。
[0049]
在一种具体实施方式中,该方法还包括:在对接入请求的审核通过的情况下,在第一区域记录申请标识与第一待接入链信息之间的关联关系;接收目标节点发送的第一接入链更新请求,第一接入链更新请求中携带第二待接入链信息和申请标识;响应于第一接入链更新请求,将第一区域中申请标识关联的接入链信息由第一待接入链信息更新为第二待接入链信息,并将目标节点由加入第一区块链网络切换为加入第二待接入链对应的第二区块链网络。
[0050]
可选地,第一区域可以为位于接入授权服务设备本地的一存储区,第一区域可以属于掉电非遗失存储区。
[0051]
这种实施方式中,在对接入请求的审核通过的情况下,可以在第一区域存储申请标识与第一待接入链信息之间的关联关系,以表征申请标识与第一待接入链信息之间的关联性。
[0052]
可选地,可以由用户在目标节点上进行操作,以使目标节点向接入授权服务设备发起携带第二待接入链信息和申请标识的第一接入链更新请求。
[0053]
这种实施方式中,接入授权服务设备可以具有license更新链功能,基于license更新链功能,可以响应于第一接入链更新请求,将第一区域中申请标识关联的接入链信息由第一待接入链信息更新为第二待接入链信息,并将目标节点由加入第一区块链网络切换为加入第二待接入链对应的第二区块链网络,这样,根据申请标识,可以快速实现目标节点接入的区块链网络的变更。
[0054]
在另一种具体实施方式中,将申请标识发送至目标节点之后,该方法还包括:接收目标节点发送的携带申请标识的申请详情请求;响应于申请详情请求,确定接入请求对应的申请详情信息,申请详情信息包括:许可颁发信息、审核状态、申请状态中的至少一者,以及节点基础信息、第一待接入链信息、节点申请类型;将申请详情信息发送至目标节点。
[0055]
可选地,可以由用户在目标节点上进行操作,以使目标节点向接入授权服务设备发起申请详情请求。
[0056]
可选地,申请详情请求可以通过对串行外设接口(serial peripheral interface,spi)的调用而发起,申请详情请求也可以称为license详情请求,申请详情请求可以为http请求,申请详情请求的请求方式可以为post,申请详情请求可以呈如下形式:https://{url}/license/detail
{"applyno":""}响应于接收到的申请详情请求,接入授权服务设备可以确定接入请求对应的申请详情信息,并向目标节点返回申请详情请求的响应结果(后续将其称为第三响应结果),第三响应结果中可以包括申请详情信息,第三响应结果可以呈如下形式:{ "data": {
ꢀꢀꢀꢀꢀ
"applytime": "1597729776000",
ꢀꢀꢀꢀꢀꢀꢀ
"contact": { "email": "linkemail",
ꢀꢀ
"name": "linkname",
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
"phone": "linkphone"
ꢀꢀ
},
ꢀꢀꢀ
"device": [ "string1", "string2" ],"issue": { "issuer": "abc", "licensedir": "licensedir",
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
"licenseid": [
ꢀꢀꢀꢀꢀ
{ "id": "1", "validfrom": "2",
ꢀꢀꢀꢀꢀ
"validto": "3"
ꢀꢀ
}
ꢀꢀꢀꢀꢀ
], "pkgdir": "pkgdir", "remark": "test remark" },"node": {
ꢀꢀ
"bid": "bid", "chaincode": "code",
ꢀꢀ
"chainname": "name", "name": "nodename","org": "org", "status": "2"
ꢀꢀ
},
ꢀꢀꢀꢀꢀꢀꢀ
"type": "2",
ꢀꢀ
"link": "1",
ꢀꢀꢀ
"status": "1"
ꢀꢀ
}, "errcode": 0, "msg": "成功"}上面的第三响应结果中包括多个参数,各个参数的说明可以参见下面的表3:
表3需要说明的是,申请详情信息可以包括:许可颁发信息、审核状态、申请状态中的
至少一者,以及节点基础信息、第一待接入链信息、节点申请类型,许可颁发信息可以包括表3中的颁发人、文件下载地址,颁发id信息、颁发备注等,审核状态可以对应表3中的节点审核状态,申请状态可以有待颁发、已颁发、初始化三种可能。
[0057]
这种实施方式中,接入授权服务设备可以具有license详情功能,基于license详情功能,可以响应于申请详情请求,实现对接入请求的当前处理状态、处理进度等的查询。
[0058]
在再一种具体实施方式中,将申请标识发送至目标节点之后,该方法还包括:在对接入请求的审核通过的情况下,确定接入请求对应的颁发信息,颁发信息包括:签发对象信息、安装包信息、颁发基础信息中的至少一项,以及申请标识;将颁发信息发送至目标节点。
[0059]
可选地,颁发信息可以呈如下形式:{
ꢀꢀ
"applyno":"","issuer":"","licensedir":"","licensedirname":"","licenseid":[{"id":"","validfrom":"","validto":""}],"pkgdir":"",
ꢀꢀ
"remark":""}上面的颁发信息中包括多个参数,各个参数的说明可以参见下面的表4:颁发信息可以包括:签发对象信息、安装包信息、颁发基础信息中的至少一项,以及申请标识,签发对象信息可以包括表4中的签发人,安装包信息可以包括表4中的安装包目录,颁发基础信息可以包括表4中的license id、有效期(开始)、有效期(结束)等。
[0060]
这种实施方式中,接入授权服务设备可以具有license颁发功能,根据申请标识,接入授权服务设备可以在对接入请求的审核通过的情况下,基于license颁发功能,进行颁发信息的发送,从而能够便于了解接入授权服务设备对目标节点的许可情况。
[0061]
可见,本技术实施例可以将申请标识有机地运用于接入授权服务设备的license更新链功能、license详情功能、license颁发功能的使用过程中。
[0062]
在一个可选示例中,该方法还包括:基于节点基础信息,确定目标节点的节点地址;在对接入请求的审核通过的情况下,在第二区域记录节点地址与第一待接入链信息之间的关联关系;接收目标节点发送的第二接入链更新请求,第二接入链更新请求中携带第二待接入链信息和节点地址;响应于第二接入链更新请求,确定第二区域中最新记录的待接入链信息,并将目标节点由加入第二区域中最新记录的待接入链信息切换为加入第二待接入链对应的第二区块链网络。
[0063]
这里,节点基础信息中可以包括目标节点的节点地址,这样,可以直接从节点基础信息中提取目标节点的节点地址。
[0064]
可选地,第二区域可以为位于接入授权服务设备本地的一存储区,第二区域可以属于掉电非遗失存储区,第二区域可以不同于第一区域。
[0065]
在对接入请求的审核通过的情况下,可以在第二区域存储节点地址与第一待接入链信息之间的关联关系,以表征节点地址与第一待接入链信息之间的关联性。
[0066]
可选地,可以由用户在目标节点上进行操作,以使目标节点向接入授权服务设备发起携带第二待接入链信息和节点地址的第二接入链更新请求。
[0067]
接入授权服务设备可以具有license更新链功能,基于license更新链功能,可以响应于第二接入链更新请求,确定第二区域中最新记录的待接入链信息,并将目标节点由加入第二区域中最新记录的待接入链信息切换为加入第二待接入链对应的第二区块链网络,这样,根据节点地址,可以快速实现目标节点接入的区块链网络的变更。
[0068]
在一个可选示例中,接入授权服务设备可以接收目标节点发送的第三接入链更新请求,第三接入链更新请求可以呈如下形式:https://{url}/license/updatechaincode{"applyno":"", "nodebid":"",
ꢀꢀ
"oldchaincode":"", "chaincode":"","chainname":"", "status":""}上面的第三接入链更新请求中包括多个参数,各个参数的说明参见下面的表5:
可选地,如果第三接入链更新请求中申请编号不为空,则可以优先根据申请编号(对应上文中的申请标识),变更目标节点接入的区块链网络,如果第三接入链更新请求中申请编号为空,则可以根据节点地址,变更目标节点接入的区块链网络。
[0069]
在一个可选示例中,在目标节点加入第一区块链网络之后,目标节点可以上传license文件,上传license文件的请求可以为http请求,上传license文件的请求的请求方式可以为post,上传license文件的请求可以呈如下形式:{
ꢀꢀ
"applyno":"",
ꢀꢀ
"nodebid":"", "chaincode":"", "chainname":""}上传license文件的请求中的信息的说明可以参见下面的表6:在license文件成功上传之后,目标节点可以接收如下响应结果(后续将其称为第四响应结果):{"errorcode": 0,"message": "操作成功","data": {"hash":"qmykpnl4njgrtwsjzntt2ridagajkyrpuzgn8tzngibez2" }}其中,第四响应结果可以为json格式,第四响应结果中的信息的说明可以参见下面的表7:
在一个可选示例中,如图6所示,在步骤160之后,该方法还包括:步骤182,在满足第一预设条件的情况下,按照节点申请类型,取消目标节点在第一区块链网络中的相应权限;步骤184,在满足第二预设条件的情况下,按照节点申请类型,恢复目标节点在第一区块链网络中的相应权限。
[0070]
可选地,可以由用户在目标节点上进行操作,以使目标节点向接入授权服务设备发送许可停用请求。
[0071]
可选地,许可停用请求可以为http请求,许可停用请求的请求方式可以为post,许可停用请求可以呈如下形式:https://{url}/license/ban{"applyno":"","nodebid":"","ban":""}上面的许可停用请求中包括多个参数,各个参数的说明可以参见下面的表8:需要说明的是,许可停用请求中ban的取值具体可以为1。
[0072]
在接收来自目标节点的许可停用请求的情况下,可以认为第一预设条件满足,此时,接入认证服务设备可以按照节点申请类型,取消目标节点在第一区块链网络中的节点权限,例如,在节点申请类型为任一种共识节点的情况下,可以取消目标节点在第一区块链网络中参与共识投票、交易执行、区块验证和交易的权限。另外,接入认证服务设备还可以向目标节点返回许可停用请求的响应结果(后续将其称为第五响应结果),第五响应结果可以为json格式,第五响应结果可以呈如下形式:{"errorcode": 0,"message": "操作成功","data": {"applynolist": ["e73c50ae16fcd27a6debbedcd23ccfd1"]}
}其中,第五响应结果中的applynolist的说明可以参见下面的表9:之后,可以由用户在目标节点上进行操作,以使目标节点向接入授权服务设备发送许可恢复请求。
[0073]
可选地,许可恢复请求可以为gttp请求,许可恢复请求的请求方式可以为post,许可恢复请求的形式可以与许可停用请求类似,区别仅在于,许可恢复请求中ban的值可以为2。
[0074]
在接收来自目标节点的许可恢复请求的情况下,可以认为第二预设条件满足,此时,接入认证服务设备可以按照节点申请类型,恢复目标节点在第一区块链网络中的节点权限,例如,在节点申请类型为任一种共识节点的情况下,可以恢复目标节点在第一区块链网络中参与共识投票、交易执行、区块验证和交易的权限。另外,接入认证服务设备还可以向目标节点返回许可恢复请求的响应结果(后续将其称为第六响应结果),第六响应结果可以为json格式,第六响应结果的形式可以参照第五响应结果。
[0075]
可见,本技术实施例中,接入授权服务设备可以提供license启停功能,基于license启停功能,可以根据实际需求,取消或者恢复目标节点在第一区块链网络中的相应权限。
[0076]
在一个可选示例中,接入授权服务设备可以接收来自目标节点的license申请列表请求,license申请列表请求可以为http请求,license申请列表请求的请求方式可以为post,license申请列表请求可以呈如下形式:https://{url}/license/list{"applyno":"","chaincode":"","type":[""],"status":"","nodename":"","nodebid":"", "applicantbid":"","pagestart":"","pagesize":""}上面的license申请列表请求中包括多个参数,各个参数的说明可以参见下面的表10:
接入授权服务设备可以向目标节点返回license申请列表请求的响应结果(后续将其称为第七响应结果),第七响应结果可以为json格式,第七响应结果可以为如下形式:{"data": {"licenselist": [{"applyno": "","nodename": "","nodebid": "","chainname": "","applytime": "","org": "","type": "","status": "","signready": ""}],"page": {"pagestart": 1,"pagesize": 10,"pagetotal": 10}},"errcode": 0,

"msg": "成功"}第七响应结果中的信息的说明可以参见下面的表11:在一个可选示例中,接入授权服务设备可以接收来自目标节点的license更新请求,license更新请求可以为http请求,license更新请求的请求方式可以为post,license更新请求可以呈如下形式:https://{url}/license/update{"applyno":"","link":"","linkname":"","linkphone":"","linkemail":"","equipmentinfo":["",""],"remark":""}上面的license更新请求中包括多个参数,各个参数的说明可以参见下面的表12:
在一个可选示例中,接入授权服务设备的架构图可以参照图2。如图2所示,接入授权服务设备可以包括license申请模块、更新模块、license颁发模块、license维护模块;其中,license申请模块用于处理用户的申请(相当于上文中的接入请求),license更新模块用于更新用户审核通过的license内容的逻辑(相当于上文中对license更新请求的响应);license颁发模块用于在对license申请(相当于上文中的接入请求)进行全方面、突出重点的审核之后,对请求者颁发license,同时保存了不同子链信息,以及不同的license类型的信息;license维护模块用于负责license的启动和停用(对应于上文中的license启停功能),以及对上传的license文件进行维护。
[0077]
基于同一发明构思,本技术实施例提供了一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如下步骤:接收目标节点发送的接入请求;从接入请求中,获取目标节点的节点基础信息、第一待接入链信息和节点申请类型;将第一待接入链信息与节点申请类型进行拼接,得到拼接结果;确定拼接结果对应的节点约束信息;确定节点基础信息与节点约束信息的匹配度;在基于匹配度,确定对接入请求的审核通过的情况下,将目标节点加入第一待接入链信息对应的第一区块链网络,且令目标节点在第一区块链网络中的角色与节点申请类型相匹配。
[0078]
在一个可选示例中,该计算机程序被处理器执行时还实现如下步骤:在接收目标节点发送的接入请求之后,为接入请求分配申请标识;将申请标识发送至目标节点。
[0079]
在一个可选示例中,该计算机程序被处理器执行时还实现如下步骤:在对接入请求的审核通过的情况下,在第一区域记录申请标识与第一待接入链信息之间的关联关系;
接收目标节点发送的第一接入链更新请求,第一接入链更新请求中携带第二待接入链信息和申请标识;响应于第一接入链更新请求,将第一区域中申请标识关联的接入链信息由第一待接入链信息更新为第二待接入链信息,并将目标节点由加入第一区块链网络切换为加入第二待接入链对应的第二区块链网络。
[0080]
在一个可选示例中,该计算机程序被处理器执行时还实现如下步骤:在将申请标识发送至目标节点之后,接收目标节点发送的携带申请标识的申请详情请求;响应于申请详情请求,确定接入请求对应的申请详情信息,申请详情信息包括:许可颁发信息、审核状态、申请状态中的至少一者,以及节点基础信息、第一待接入链信息、节点申请类型;将申请详情信息发送至目标节点。
[0081]
在一个可选示例中,该计算机程序被处理器执行时还实现如下步骤:在将申请标识发送至目标节点之后,在对接入请求的审核通过的情况下,确定接入请求对应的颁发信息,颁发信息包括:签发对象信息、安装包信息、颁发基础信息中的至少一项,以及申请标识;将颁发信息发送至目标节点。
[0082]
在一个可选示例中,该计算机程序被处理器执行时还实现如下步骤:基于节点基础信息,确定目标节点的节点地址;在对接入请求的审核通过的情况下,在第二区域记录节点地址与第一待接入链信息之间的关联关系;接收目标节点发送的第二接入链更新请求,第二接入链更新请求中携带第二待接入链信息和节点地址;响应于第二接入链更新请求,确定第二区域中最新记录的待接入链信息,并将目标节点由加入第二区域中最新记录的待接入链信息对应的区块链网络切换为加入第二待接入链信息对应的第二区块链网络。
[0083]
在一个可选示例中,该计算机程序被处理器执行时还实现如下步骤:在将目标节点加入第一待接入链信息对应的第一区块链网络,且令目标节点在第一区块链网络中的角色与节点申请类型相匹配之后,在满足第一预设条件的情况下,按照节点申请类型,取消目标节点在第一区块链网络中的相应权限;在满足第二预设条件的情况下,按照节点申请类型,恢复目标节点在第一区块链网络中的相应权限。
[0084]
在一个可选示例中,该计算机程序被处理器执行时还实现如下步骤:在接收目标节点发送的接入请求之前,接收目标节点发送的链信息获取请求;响应于链信息获取请求,确定多个链信息,每个链信息中均包括链名称和链编号中的至少一者;将多个链信息发送至目标节点;其中,第一待接入链信息选自多个链信息。
[0085]
在一个可选示例中,该计算机程序被处理器执行时还实现如下步骤:
在接收目标节点发送的接入请求之前,接收目标节点发送的申请类型获取请求;响应于申请类型获取请求,确定多个申请类型;将多个申请类型发送至目标节点;其中,节点申请类型选自多个申请类型。
[0086]
基于同一发明构思,本实施例提供了一种电子设备,参见图7,包括存储器701、处理器702、总线703以及存储在存储器701上并可在处理器702上运行的计算机程序,处理器702执行该计算机程序时实现如下步骤:接收目标节点发送的接入请求;从接入请求中,获取目标节点的节点基础信息、第一待接入链信息和节点申请类型;将第一待接入链信息与节点申请类型进行拼接,得到拼接结果;确定拼接结果对应的节点约束信息;确定节点基础信息与节点约束信息的匹配度;在基于匹配度,确定对接入请求的审核通过的情况下,将目标节点加入第一待接入链信息对应的第一区块链网络,且令目标节点在第一区块链网络中的角色与节点申请类型相匹配。
[0087]
在一个可选示例中,处理器702执行该计算机程序时还实现如下步骤:在接收目标节点发送的接入请求之后,为接入请求分配申请标识;将申请标识发送至目标节点。
[0088]
在一个可选示例中,处理器702执行该计算机程序时还实现如下步骤:在对接入请求的审核通过的情况下,在第一区域记录申请标识与第一待接入链信息之间的关联关系;接收目标节点发送的第一接入链更新请求,第一接入链更新请求中携带第二待接入链信息和申请标识;响应于第一接入链更新请求,将第一区域中申请标识关联的接入链信息由第一待接入链信息更新为第二待接入链信息,并将目标节点由加入第一区块链网络切换为加入第二待接入链对应的第二区块链网络。
[0089]
在一个可选示例中,处理器702执行该计算机程序时还实现如下步骤:在将申请标识发送至目标节点之后,接收目标节点发送的携带申请标识的申请详情请求;响应于申请详情请求,确定接入请求对应的申请详情信息,申请详情信息包括:许可颁发信息、审核状态、申请状态中的至少一者,以及节点基础信息、第一待接入链信息、节点申请类型;将申请详情信息发送至目标节点。
[0090]
在一个可选示例中,处理器702执行该计算机程序时还实现如下步骤:在将申请标识发送至目标节点之后,在对接入请求的审核通过的情况下,确定接入请求对应的颁发信息,颁发信息包括:签发对象信息、安装包信息、颁发基础信息中的至少一项,以及申请标识;将颁发信息发送至目标节点。
[0091]
在一个可选示例中,处理器702执行该计算机程序时还实现如下步骤:基于节点基础信息,确定目标节点的节点地址;在对接入请求的审核通过的情况下,在第二区域记录节点地址与第一待接入链信息之间的关联关系;接收目标节点发送的第二接入链更新请求,第二接入链更新请求中携带第二待接入链信息和节点地址;响应于第二接入链更新请求,确定第二区域中最新记录的待接入链信息,并将目标节点由加入第二区域中最新记录的待接入链信息对应的区块链网络切换为加入第二待接入链信息对应的第二区块链网络。
[0092]
在一个可选示例中,处理器702执行该计算机程序时还实现如下步骤:在将目标节点加入第一待接入链信息对应的第一区块链网络,且令目标节点在第一区块链网络中的角色与节点申请类型相匹配之后,在满足第一预设条件的情况下,按照节点申请类型,取消目标节点在第一区块链网络中的相应权限;在满足第二预设条件的情况下,按照节点申请类型,恢复目标节点在第一区块链网络中的相应权限。
[0093]
在一个可选示例中,处理器702执行该计算机程序时还实现如下步骤:在接收目标节点发送的接入请求之前,接收目标节点发送的链信息获取请求;响应于链信息获取请求,确定多个链信息,每个链信息中均包括链名称和链编号中的至少一者;将多个链信息发送至目标节点;其中,第一待接入链信息选自多个链信息。
[0094]
在一个可选示例中,处理器702执行该计算机程序时还实现如下步骤:在接收目标节点发送的接入请求之前,接收目标节点发送的申请类型获取请求;响应于申请类型获取请求,确定多个申请类型;将多个申请类型发送至目标节点;其中,节点申请类型选自多个申请类型。
[0095]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0096]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0097]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0098]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0099]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0100]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1