基于区块链的属性访问控制方法及装置与流程

未命名 08-03 阅读:96 评论:0


1.本技术涉及区块链技术领域,具体涉及一种基于区块链的属性访问控制方法及装置。


背景技术:

2.基于属性的访问控制(attribute based access control,abac)是基于主体、资源和上下文(或环境)的属性来调节访问权限,通过预定义的策略来评估这些属性以做出访问决策。基于属性的访问控制主要包括策略信息模块、策略决策模块、策略管理模块、策略执行模块和访问审计模块。传统的abac方法采用中心化的部署方式,访问控制过程必须经由中心服务器执行,使用区块链构建的属性访问控制方法可以实现去中心化,但在节点规模扩大之后通常面临性能下降及冗余操作增多的问题。


技术实现要素:

3.针对现有技术存在的问题,本技术实施例提供一种基于区块链的属性访问控制方法及装置。
4.第一方面,本技术实施例提供一种基于区块链的属性访问控制方法,应用于性能调度节点,包括:
5.接收排序节点发送的包含指定事务的区块;
6.根据调度器的选择逻辑,选择所述区块中所述指定事务执行验证和提交操作;
7.其中,所述调度器的选择逻辑用于指示所述性能调度节点执行的智能合约;所述指定事务需要调用的智能合约中,至少一个智能合约为所述调度器的选择逻辑指示的智能合约;所述调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给所述调度器的。
8.可选地,所述调度器的选择逻辑通过以下方式确定:
9.调度模块分别统计每个预设时间间隔内各智能合约的执行时间;
10.根据所述执行时间和预设时间阈值,动态确定每个性能调度节点对应的调度器的选择逻辑。
11.可选地,所述各智能合约包括策略信息合约、策略决策合约和策略管理合约。
12.可选地,所述根据所述执行时间和预设时间阈值,动态确定每个性能调度节点对应的调度器的选择逻辑,包括:
13.针对任一次时间间隔,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
14.若当次时间间隔内,第一执行时间大于预设时间阈值,第二执行时间和第三执行时间均小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时
间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
15.若当次时间间隔内,第一执行时间和第二执行时间均大于预设时间阈值,第三执行时间小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,所述各性能调度节点中另外1/3的性能调度节点执行策略决策合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
16.若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均大于预设时间阈值,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约,所述各性能调度节点中另外1/3的性能调度节点执行策略决策合约,其余性能调度节点执行策略管理合约;
17.其中,所述第一执行时间为策略信息合约对应的执行时间,所述第二执行时间为策略决策合约对应的执行时间,所述第三执行时间为策略管理合约对应的执行时间。
18.可选地,所述接收排序节点发送的包含指定事务的区块之前,所述方法还包括:
19.向所述排序节点发送所述调度器的选择逻辑,以使得所述排序节点仅将包含所述指定事务的区块发送给所述性能调度节点。
20.可选地,所述方法还包括:
21.将包含未验证事务的区块存储于本地区块仓库中;
22.确定所述调度器的选择逻辑发生更新,则从本地区块仓库中选择与更新的选择逻辑对应的未验证事务,并从其他性能调度节点获取所选择的未验证事务的验证结果。
23.第二方面,本技术实施例提供一种基于区块链的属性访问控制方法,应用于调度模块,包括:
24.基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑;
25.将所述调度器的选择逻辑发送给所述各性能调度节点的调度器,以供所述各性能调度节点在接收到排序节点发送的包含指定事务的区块后,根据所述调度器的选择逻辑,选择所述区块中所述指定事务执行验证和提交操作;
26.其中,所述调度器的选择逻辑用于指示所述各性能调度节点执行的智能合约;所述指定事务需要调用的智能合约中,至少一个智能合约为所述调度器的选择逻辑指示的智能合约。
27.可选地,所述基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑,包括:
28.分别统计每个预设时间间隔内各智能合约的执行时间;
29.根据所述执行时间和预设时间阈值,动态确定各性能调度节点对应的调度器的选择逻辑。
30.可选地,所述各智能合约包括策略信息合约、策略决策合约和策略管理合约。
31.可选地,所述根据所述执行时间和预设时间阈值,动态确定各性能调度节点对应
的调度器的选择逻辑,包括:
32.针对任一次时间间隔,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
33.若当次时间间隔内,第一执行时间大于预设时间阈值,第二执行时间和第三执行时间均小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
34.若当次时间间隔内,第一执行时间和第二执行时间均大于预设时间阈值,第三执行时间小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,所述各性能调度节点中另外1/3的性能调度节点执行策略决策合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
35.若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均大于预设时间阈值,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约,所述各性能调度节点中另外1/3的性能调度节点执行策略决策合约,其余性能调度节点执行策略管理合约;
36.其中,所述第一执行时间为策略信息合约对应的执行时间,所述第二执行时间为策略决策合约对应的执行时间,所述第三执行时间为策略管理合约对应的执行时间。
37.可选地,所述基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑之前,所述方法还包括:
38.接收策略执行模块推送的访问请求,并根据所述访问请求,确定所述各智能合约。
39.第三方面,本技术实施例提供一种基于区块链的属性访问控制装置,应用于性能调度节点,包括:
40.接收单元,用于接收排序节点发送的包含指定事务的区块;
41.选择单元,用于根据调度器的选择逻辑,选择所述区块中所述指定事务执行验证和提交操作;
42.其中,所述调度器的选择逻辑用于指示所述性能调度节点执行的智能合约;所述指定事务需要调用的智能合约中,至少一个智能合约为所述调度器的选择逻辑指示的智能合约;所述调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给所述调度器的。
43.第四方面,本技术实施例提供一种基于区块链的属性访问控制装置,应用于调度模块,包括:
44.第二确定单元,用于基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑;
45.第二发送单元,用于将所述调度器的选择逻辑发送给所述各性能调度节点的调度
器,以供所述各性能调度节点在接收到排序节点发送的包含指定事务的区块后,根据所述调度器的选择逻辑,选择所述区块中所述指定事务执行验证和提交操作;
46.其中,所述调度器的选择逻辑用于指示所述各性能调度节点执行的智能合约;所述指定事务需要调用的智能合约中,至少一个智能合约为所述调度器的选择逻辑指示的智能合约。
47.第五方面,本技术实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面或第二方面所述的基于区块链的属性访问控制方法的步骤。
48.第六方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的基于区块链的属性访问控制方法的步骤。
49.本技术实施例提供的基于区块链的属性访问控制方法及装置,通过性能调度节点控制智能合约验证提交逻辑,节点仅验证和提交调用了调度器中指示的智能合约的事务,可以避免出现组织内部节点间的冗余验证及提交操作,减少网络带宽占用和磁盘io,提升访问控制性能,并且,通过调度模块根据智能合约的执行效率来决定各节点对应的调度器的选择逻辑,动态调整性能调度节点执行的智能合约,可以提升访问控制应用对访问流量变化的适应性与鲁棒性。
附图说明
50.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1是本技术实施例提供的基于区块链的属性访问控制方法的流程示意图之一;
52.图2是本技术实施例提供的性能调度节点的结构示意图;
53.图3是本技术实施例提供的基于区块链的属性访问控制过程中各模块交互示意图;
54.图4是本技术实施例提供的基于区块链的属性访问控制方法的流程示意图之二;
55.图5是本技术实施例提供的基于区块链的属性访问控制装置的结构示意图之一;
56.图6是本技术实施例提供的基于区块链的属性访问控制装置的结构示意图之二;
57.图7是本技术实施例提供的电子设备的结构示意图。
具体实施方式
58.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.随着应用程序规模和网络使用量的稳定增长,使用区块链平台hyperledger fabric构建的abac系统的性能将受到fabric网络本身性能的限制。虽然通过添加更多的
peer节点来对fabric网络进行水平扩展可以帮助减少背书节点的负载,但由于验证和提交阶段存在很多冗余操作,因此这种方法只在模拟阶段起作用。组织间存在无法互相信任的问题,冗余操作是必须的,组织内节点间则不存在这种问题,非必须的冗余操作降低了fabric网络的扩展性能,影响了abac系统信息录入和认证的性能。
60.针对上述问题,本技术各实施例提供一种解决方案,能够在基于区块链的abac系统面临高流量访问的过程中削减fabric网络共识过程的冗余操作,提升区块链属性访问控制的性能。
61.图1为本技术实施例提供的基于区块链的属性访问控制方法的流程示意图之一。参照图1,本技术实施例提供一种基于区块链的属性访问控制方法,该方法可应用于性能调度节点,包括如下步骤:
62.步骤100、接收排序节点发送的包含指定事务的区块;
63.步骤101、根据调度器的选择逻辑,选择区块中指定事务执行验证和提交操作;
64.其中,调度器的选择逻辑用于指示性能调度节点执行的智能合约;指定事务需要调用的智能合约中,至少一个智能合约为调度器的选择逻辑指示的智能合约;调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给调度器的。
65.具体地,现有的基于hyperledger fabric框架的应用的规模扩展性能很差。当通过添加更多节点的方式进行横向规模扩展时,存在许多非必要的组织内节点间的冗余操作,极大地拖慢了验证和提交操作的速度,降低了应用的整体性能。
66.本技术实施例基于性能调度节点进行访问控制,图2为本技术实施例提供的性能调度节点的结构示意图,如图2所示,性能调度节点主要包括调度器、调度器数据库、验证程序、提交程序、状态数据库、历史状态数据库和区块仓库。
67.其中,每个性能调度节点都拥有一个调度器,并使用此调度器处理接收到的块来识别哪些事务需要该性能调度节点进行验证提交操作。
68.调度器数据库中包含了所有性能调度节点使用的调度器;验证程序和提交程序分别用于执行验证和提交操作;状态数据库和历史状态数据库分别用于记录性能调度节点的实时状态数据和历史状态数据。
69.性能调度节点的核心思想是选择性地验证和提交事务。如果组织内的所有性能调度节点都选择一组不互相重叠的事务,则可以避免组织内节点间的冗余操作,减少fabric网络带宽利用率和磁盘io,从而提升整体访问控制过程的性能。
70.性能调度节点仅验证和提交调用了调度器中指定的智能合约的事务。当事务调用了多个智能合约时,只要这些智能合约的其中之一被调度器所指定,性能调度节点也将执行该事务的验证与提交操作。
71.图3为本技术实施例提供的基于区块链的属性访问控制过程中各模块交互示意图,如图3所示,该过程中,客户端向策略执行模块发出的访问请求会被策略执行模块推送至调度模块,调度模块再将访问请求推送至区块链上节点,其中,区块链上的排序节点(每个性能调度节点均与排序节点连接,排序节点图中未示出)可以将包含指定事务的区块发送给相应的性能调度节点。
72.调度模块可以设置各性能调度节点的执行逻辑,具体来说,调度模块可以基于各智能合约的执行效率动态确定各性能调度节点的调度器的选择逻辑,并将确定的选择逻辑
发送给各个调度器,从而性能调度节点在接收到排序节点发送的区块后,可以根据其调度器的选择逻辑,选择区块中指定事务执行验证和提交操作。
73.可选地,接收排序节点发送的包含指定事务的区块之前,该方法还可以包括:
74.向排序节点发送调度器的选择逻辑,以使得排序节点仅将包含指定事务的区块发送给性能调度节点。
75.具体地,本技术实施例可以采用基于调度器的区块分发方式,性能调度节点可以在接收到调度模块发送的选择逻辑之后,将其调度器的选择逻辑发送给排序节点,为排序节点分配调度器的选择逻辑,使得排序节点可以通过块将适当的事务发送给每个性能调度节点,可以节省网络带宽利用率和磁盘io。
76.每个性能调度节点将其调度器的选择逻辑发送到它已连接的排序节点,对于每个性能调度节点的块,排序节点将应用此性能调度节点对应的调度器的选择逻辑,仅将调度器指定的事务发送给性能调度节点。
77.具体来说,性能调度节点的事务操作主要流程如下:(1)调度模块确定选择逻辑,并将选择逻辑传输至每个性能调度节点的调度器,以使每个性能调度节点选择相应的事务执行验证和提交操作;(2)性能调度节点的调度器更改验证程序和提交程序来将选择逻辑应用于接收到的块;(3)性能调度节点将选择逻辑传递给排序节点,使排序节点也可以应用调度器的选择逻辑,并仅在指定块中发送所需的事务。
78.本技术实施例中,基于性能调度节点进行访问控制,首先需要对访问策略智能合约进行定义,可选地,各智能合约可以包括策略信息合约、策略决策合约和策略管理合约。
79.具体地,本方法的策略信息操作、策略决策操作、策略管理操作过程均使用智能合约由多个区块链节点进行,同时将访问控制过程存储至链上,使用智能合约自动完成查询验证等过程,可以防止客户端对访问控制策略产生不信任。
80.三个主要的智能合约是策略信息合约、策略决策合约和策略管理合约。用户和资源属性使用javascript object notation(json)格式保存在策略信息合约,策略信息合约同时负责更新属性值,同时检查是否存在写入冲突;策略管理合约负责管理和更新策略,策略以json格式存储,不同的组织使用不同的策略管理合约;策略决策合约负责评估请求相关的属性和策略,决定是否允许访问。
81.下面举例说明访问控制相关属性和策略数据的存储形式。
82.假设一个网络资源库基于用户相关属性和资源相关属性采用本方法进行资源访问控制。对于每个用户,使用用户id(uid)作为用户标识,同时存储用户的属性和属性值;对于每项资源,使用资源id(rid)作为资源标识。属性使用属性id进行标识。hyperledger本身使用couchdb和leveldb键值数据库进行存储,实体id、资源id和属性id都作为键进行存储。
83.设una是用户实体un的属性集合,unid标识用户un,rna是资源实体rn的属性集合,rnid标识资源rn。pnsa和pnra是决策策略中需要的用户和资源属性集合。policy id(pnid)是标识策略的字段。对于每个策略,本方法将策略规则与决定性属性集合(pnsa,pnra)一起存储。
84.una={unid,{{una1,value},...,{u
nan
,value}}}。
85.rna={rnid,{{rna1,value},...,{r
nan
,value}}}。
86.定义ua为所有的用户属性集合,ra为所有资源实体的属性集合,假设该资源库主
要存储了电子合同,则用户u1a和合同对象r1a存储的属性示例为:
87.u1a={u001,{status,true},{accesslevel,m1},{usergroup,manager}};
88.r1a={c001,{type,leveragecontract},{usergroup,manager}}。
89.访问策略p1的示例如下:
90.p1={policy01,u1a,r1a,{status==true∧accesslevel≥1∧user.usergroup=
91.=resource.usergroup}}。
92.所有的访问控制相关属性和策略数据都是用json格式存储的,方便其他应用进行迁移扩展。基于给定策略、用户、资源及其属性,确定访问请求是否通过校验。对于本例,如果用户拥有有效id,符合要求的访问级别(accesslevel),同时用户组(usergroup)可以对应,则访问请求被允许进行。
93.整个访问控制过程执行的主要流程如下:
94.1、客户端发出访问请求到策略执行模块。
95.2、策略执行模块将访问请求推送至调度模块。
96.3、调度模块为性能调度节点的调度器设定所需进行验证和提交的合约,并将请求所需操作推送至各性能调度节点,各性能调度节点执行调度器指定的验证和提交逻辑。
97.4、区块链系统执行策略决策合约,并调用策略管理合约和策略信息合约查询相关策略和属性。
98.5、得到相关信息后,策略决策合约评估是否允许访问,并将评估结果发送至策略执行模块。
99.6、策略执行模块执行评估结果。
100.本技术实施例提供的基于区块链的属性访问控制方法,通过性能调度节点控制智能合约验证提交逻辑,节点仅验证和提交调用了调度器中指示的智能合约的事务,可以避免出现组织内部节点间的冗余验证及提交操作,减少网络带宽占用和磁盘io,提升访问控制性能,并且,通过调度模块根据智能合约的执行效率来决定各节点对应的调度器的选择逻辑,动态调整性能调度节点执行的智能合约,可以提升访问控制应用对访问流量变化的适应性与鲁棒性。
101.可选地,调度器的选择逻辑通过以下方式确定:
102.调度模块分别统计每个预设时间间隔内各智能合约的执行时间;
103.根据执行时间和预设时间阈值,动态确定每个性能调度节点对应的调度器的选择逻辑。
104.具体地,本技术实施例中,性能调度节点对应的调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给各个调度器的。例如,当某个智能合约执行频率及时延明显增大时,则可以让单独的性能调度节点执行该合约,减少其他性能调度节点对此类合约的执行;当系统对认证性能要求最高时,每个性能调度节点仅执行某个单个合约相关的事务验证提交操作。
105.具体执行过程中,调度模块可以预先设定合约执行时间验证间隔t
interval
,在每个t
interval
内,统计每个智能合约的执行时间,例如,各性能调度节点执行策略决策合约的时间之和即为策略决策合约的执行时间。然后,根据各个智能合约的执行时间以及预先设定的
执行合约的时间阈值t
max
,动态确定每个性能调度节点对应的调度器的选择逻辑,再通过谷歌远程过程调用(google remote procedure calls,grpc)对每个性能调度节点进程发出请求来分配或更新调度器的选择逻辑。
106.可选地,根据执行时间和预设时间阈值,动态确定每个性能调度节点对应的调度器的选择逻辑,包括:
107.针对任一次时间间隔,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
108.若当次时间间隔内,第一执行时间大于预设时间阈值,第二执行时间和第三执行时间均小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
109.若当次时间间隔内,第一执行时间和第二执行时间均大于预设时间阈值,第三执行时间小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,各性能调度节点中另外1/3的性能调度节点执行策略决策合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
110.若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均大于预设时间阈值,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约,各性能调度节点中另外1/3的性能调度节点执行策略决策合约,其余性能调度节点执行策略管理合约;
111.其中,第一执行时间为策略信息合约对应的执行时间,第二执行时间为策略决策合约对应的执行时间,第三执行时间为策略管理合约对应的执行时间。
112.具体地,假设各性能调度节点仅执行属性访问控制方法相关合约,执行合约的时间阈值为t
max
,合约执行时间验证间隔为t
interval
,策略信息合约c1、策略决策合约c2和策略管理合约c3执行时间分别为t
c1
、t
c2
和t
c3
,假设存在m个性能调度节点,第i个性能调度节点执行合约数为n
ai
(3≥n
ai
≥1)。
113.1、设n
ai
=3,各性能调度节点均执行c1、c2和c3,此时合约执行未削减冗余操作。
114.2、每经过t
interval
,验证合约执行时间t
c1
,t
c2
,t
c3
是否在阈值范围内,以及执行时间的大小顺序。
115.a)如果本次t
interval
内,三个合约的执行累计时间分别满足t
c1
<t
max
,t
c2
<t
max
,t
c3
<t
max
,t
c1
>t
c2
>t
c3
,则下个t
interval
内各性调度节点继续执行三个合约。
116.b)如果本次t
interval
内,三个合约的执行累计时间分别满足t
c1
>t
max
,t
c2
<t
max
,t
c3
<t
max
且t
c1
>t
c2
>t
c3
,则下个t
interval
内选择m/3个性能调度节点,这些节点执行c1和c3,其他节点执行三个合约。
117.c)如果本次t
interval
内,三个合约的执行累计时间分别满足t
c1
>t
max
,t
c2
>t
max
,t
c3
<t
max
且t
c1
>t
c2
>t
c3
,则下个t
interval
内选择m/3个性能调度节点,这些节点执行c1,c3,选择
另外m/3个性能节点,这些节点执行c2,c3,其他节点执行三个合约。
118.d)如果本次t
interval
内,三个合约的执行累计时间分别满足t
c1
>t
max
,t
c2
>t
max
,t
c3
>t
max
,则下个t
interval
内选择m/3个性能调度节点,这些节点执行c1,选择另外m/3个性能节点,这些节点执行c2,其他节点执行c3。
119.可选地,该方法还包括:
120.将包含未验证事务的区块存储于本地区块仓库中;
121.确定调度器的选择逻辑发生更新,则从本地区块仓库中选择与更新的选择逻辑对应的未验证事务,并从其他性能调度节点获取所选择的未验证事务的验证结果。
122.具体地,性能调度节点中的事务依赖关系提取程序从队列中读取一个块,该程序将调用调度器指定的智能合约的事务,并将其添加到待处理事务依赖关系图中。当提交程序读取该块时,此程序将未调用调度器指定的智能合约的事务标记为未验证,同时将整个块存储在本地区块仓库中。当调度模块更新调度器的选择逻辑时,性能调度节点可以从本地区块仓库中获取与新添加的智能合约关联的所有事务,然后从其他性能调度节点的区块仓库中获取验证结果,从而可以避免重新验证。
123.下面给出一个利用性能调度节点实现访问控制过程提交操作的例子:
124.假设存在两个性能调度节点p和q,策略决策合约部署在p节点,策略信息合约部署在q节点。此时需要进行分布式模拟使p上的策略决策合约来调用q上的策略信息合约。策略信息合约返回的响应结果包含合约对状态的读写记录,此响应结果会返回给p节点。调度器数据库包含了所有节点使用的调度器,调度器决定了性能调度节点的特定智能合约应该调用哪个节点上的另外一个合约。
125.假设根据策略决策合约、策略信息合约与策略管理合约进行性能调度节点的分配,每个性能调度节点仅执行单个合约相关的事务验证提交操作。分布式模拟的过程结束后使用分布式验证和分布式提交来完成上链全过程。设事务t需要调用策略决策合约、策略信息合约与策略管理合约,存在性能调度节点p1,p2,

,pn,每个节点pi与调度器di对应,调度器di包含单一的智能合约si。如果一个事务需要调用所有的3个智能合约,在验证阶段,当该事务满足同时通过所有智能合约的策略检查和序列化检查时,此次事务的调用过程是有效地。因此当提交该事务时,需要所有n个性能调度节点在验证阶段一致给出有效的结果。
126.每个性能调度节点pi验证与智能合约si相关的部分事务,然后将结果广播给所有其他节点。一旦一个节点收到来自所有智能合约的有效的结果,即可判定此事务是有效的并且将其提交。一旦节点收到了一个无效结果,那么节点不需要再等待其他更多结果即可将此事务判定为无效。由于组织内的节点是互相信任的,因此不存在安全性问题。
127.图4为本技术实施例提供的基于区块链的属性访问控制方法的流程示意图之二。参照图4,本技术实施例提供一种基于区块链的属性访问控制方法,该方法可应用于调度模块,包括如下步骤:
128.步骤400、基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑;
129.步骤401、将调度器的选择逻辑发送给各性能调度节点的调度器,以供各性能调度节点在接收到排序节点发送的包含指定事务的区块后,根据调度器的选择逻辑,选择区块中指定事务执行验证和提交操作;
130.其中,调度器的选择逻辑用于指示各性能调度节点执行的智能合约;指定事务需要调用的智能合约中,至少一个智能合约为调度器的选择逻辑指示的智能合约。
131.具体地,现有的基于hyperledger fabric框架的应用的规模扩展性能很差。当通过添加更多节点的方式进行横向规模扩展时,存在许多非必要的组织内节点间的冗余操作,极大地拖慢了验证和提交操作的速度,降低了应用的整体性能。
132.本技术实施例基于性能调度节点进行访问控制,性能调度节点的核心思想是选择性地验证和提交事务。如果组织内的所有性能调度节点都选择一组不互相重叠的事务,则可以避免组织内节点间的冗余操作,减少fabric网络带宽利用率和磁盘io,从而提升整体访问控制过程的性能。
133.调度模块可以设置各性能调度节点的执行逻辑,具体来说,调度模块可以基于各智能合约的执行效率动态确定各性能调度节点的调度器的选择逻辑,并将确定的选择逻辑发送给各个调度器,从而性能调度节点在接收到排序节点发送的区块后,可以根据其调度器的选择逻辑,选择区块中指定事务执行验证和提交操作。
134.本技术实施例提供的基于区块链的属性访问控制方法,通过性能调度节点控制智能合约验证提交逻辑,节点仅验证和提交调用了调度器中指示的智能合约的事务,可以避免出现组织内部节点间的冗余验证及提交操作,减少网络带宽占用和磁盘io,提升访问控制性能,并且,通过调度模块根据智能合约的执行效率来决定各节点对应的调度器的选择逻辑,动态调整性能调度节点执行的智能合约,可以提升访问控制应用对访问流量变化的适应性与鲁棒性。
135.可选地,基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑,包括:
136.分别统计每个预设时间间隔内各智能合约的执行时间;
137.根据执行时间和预设时间阈值,动态确定各性能调度节点对应的调度器的选择逻辑。
138.具体地,本技术实施例中,性能调度节点对应的调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给各个调度器的。例如,当某个智能合约执行频率及时延明显增大时,则可以让单独的性能调度节点执行该合约,减少其他性能调度节点对此类合约的执行;当系统对认证性能要求最高时,每个性能调度节点仅执行某个单个合约相关的事务验证提交操作。
139.具体执行过程中,调度模块可以预先设定合约执行时间验证间隔t
interval
,在每个t
interval
内,统计每个智能合约的执行时间,例如,各性能调度节点执行策略决策合约的时间之和即为策略决策合约的执行时间。然后,根据各个智能合约的执行时间以及预先设定的执行合约的时间阈值t
max
,动态确定每个性能调度节点对应的调度器的选择逻辑,再通过grpc对每个性能调度节点进程发出请求来分配或更新调度器的选择逻辑。可选地,各智能合约可以包括策略信息合约、策略决策合约和策略管理合约。
140.可选地,根据执行时间和预设时间阈值,动态确定各性能调度节点对应的调度器的选择逻辑,包括:
141.针对任一次时间间隔,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三
执行时间,则确定下次时间间隔内各性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
142.若当次时间间隔内,第一执行时间大于预设时间阈值,第二执行时间和第三执行时间均小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
143.若当次时间间隔内,第一执行时间和第二执行时间均大于预设时间阈值,第三执行时间小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,各性能调度节点中另外1/3的性能调度节点执行策略决策合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
144.若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均大于预设时间阈值,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约,各性能调度节点中另外1/3的性能调度节点执行策略决策合约,其余性能调度节点执行策略管理合约;
145.其中,第一执行时间为策略信息合约对应的执行时间,第二执行时间为策略决策合约对应的执行时间,第三执行时间为策略管理合约对应的执行时间。
146.具体地,假设各性能调度节点仅执行属性访问控制方法相关合约,执行合约的时间阈值为t
max
,合约执行时间验证间隔为t
interval
,策略信息合约c1、策略决策合约c2和策略管理合约c3执行时间分别为t
c1
、t
c2
和t
c3
,假设存在m个性能调度节点,第i个性能调度节点执行合约数为n
ai
(3≥n
ai
≥1)。
147.1、设n
ai
=3,各性能调度节点均执行c1、c2和c3,此时合约执行未削减冗余操作。
148.2、每经过t
interval
,验证合约执行时间t
c1
,t
c2
,t
c3
是否在阈值范围内,以及执行时间的大小顺序。
149.a)如果本次t
interval
内,三个合约的执行累计时间分别满足t
c1
<t
max
,t
c2
<t
max
,t
c3
<t
max
,t
c1
>t
c2
>t
c3
,则下个t
interval
内各性调度节点继续执行三个合约。
150.b)如果本次t
interval
内,三个合约的执行累计时间分别满足t
c1
>t
max
,t
c2
<t
max
,t
c3
<t
max
且t
c1
>t
c2
>t
c3
,则下个t
interval
内选择m/3个性能调度节点,这些节点执行c1和c3,其他节点执行三个合约。
151.c)如果本次t
interval
内,三个合约的执行累计时间分别满足t
c1
>t
max
,t
c2
>t
max
,t
c3
<t
max
且t
c1
>t
c2
>t
c3
,则下个t
interval
内选择m/3个性能调度节点,这些节点执行c1,c3,选择另外m/3个性能节点,这些节点执行c2,c3,其他节点执行三个合约。
152.d)如果本次t
interval
内,三个合约的执行累计时间分别满足t
c1
>t
max
,t
c2
>t
max
,t
c3
>t
max
,则下个t
interval
内选择m/3个性能调度节点,这些节点执行c1,选择另外m/3个性能节点,这些节点执行c2,其他节点执行c3。
153.可选地,基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑之前,该方法还包括:
154.接收策略执行模块推送的访问请求,并根据访问请求,确定各智能合约。
155.具体地,客户端向策略执行模块发出的访问请求可以被策略执行模块推送至调度模块,调度模块可以根据该访问请求,确定访问请求所对应的事务和所需调用的智能合约,从而确定需要统计哪些智能合约的执行效率,以便根据这些智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑。
156.本技术各实施例提供的方法是基于同一申请构思的,因此性能调度节点侧和调度模块侧方法的实施可以相互参见,重复之处不再赘述。
157.下面对本技术实施例提供的基于区块链的属性访问控制装置进行描述,下文描述的基于区块链的属性访问控制装置与上文描述的基于区块链的属性访问控制方法可相互对应参照。
158.图5为本技术实施例提供的基于区块链的属性访问控制装置的结构示意图之一。参照图5,本技术实施例提供一种基于区块链的属性访问控制装置,该装置可应用于性能调度节点,可以包括:
159.第一接收单元500,用于接收排序节点发送的包含指定事务的区块;
160.第一选择单元510,用于根据调度器的选择逻辑,选择区块中指定事务执行验证和提交操作;
161.其中,调度器的选择逻辑用于指示性能调度节点执行的智能合约;指定事务需要调用的智能合约中,至少一个智能合约为调度器的选择逻辑指示的智能合约;调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给调度器的。
162.可选地,调度器的选择逻辑通过以下方式确定:
163.调度模块分别统计每个预设时间间隔内各智能合约的执行时间;
164.根据执行时间和预设时间阈值,动态确定每个性能调度节点对应的调度器的选择逻辑。
165.可选地,各智能合约包括策略信息合约、策略决策合约和策略管理合约。
166.可选地,根据执行时间和预设时间阈值,动态确定每个性能调度节点对应的调度器的选择逻辑,包括:
167.针对任一次时间间隔,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
168.若当次时间间隔内,第一执行时间大于预设时间阈值,第二执行时间和第三执行时间均小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
169.若当次时间间隔内,第一执行时间和第二执行时间均大于预设时间阈值,第三执行时间小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,各性能调度节点中另外1/3的性能调度节点执行策略决策合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
170.若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均大于预设时间阈值,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约,各性能调度节点中另外1/3的性能调度节点执行策略决策合约,其余性能调度节点执行策略管理合约;
171.其中,第一执行时间为策略信息合约对应的执行时间,第二执行时间为策略决策合约对应的执行时间,第三执行时间为策略管理合约对应的执行时间。
172.可选地,该装置还包括:
173.第一发送单元520,用于向排序节点发送调度器的选择逻辑,以使得排序节点仅将包含指定事务的区块发送给性能调度节点。
174.可选地,该装置还包括:
175.第一存储单元530,用于将包含未验证事务的区块存储于本地区块仓库中;
176.第一获取单元540,用于确定调度器的选择逻辑发生更新,则从本地区块仓库中选择与更新的选择逻辑对应的未验证事务,并从其他性能调度节点获取所选择的未验证事务的验证结果。
177.图6为本技术实施例提供的基于区块链的属性访问控制装置的结构示意图之二。参照图6,本技术实施例提供一种基于区块链的属性访问控制装置,该装置可应用于调度模块,可以包括:
178.第二确定单元600,用于基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑;
179.第二发送单元610,用于将调度器的选择逻辑发送给各性能调度节点的调度器,以供各性能调度节点在接收到排序节点发送的包含指定事务的区块后,根据调度器的选择逻辑,选择区块中指定事务执行验证和提交操作;
180.其中,调度器的选择逻辑用于指示各性能调度节点执行的智能合约;指定事务需要调用的智能合约中,至少一个智能合约为调度器的选择逻辑指示的智能合约。
181.可选地,基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑,包括:
182.分别统计每个预设时间间隔内各智能合约的执行时间;
183.根据执行时间和预设时间阈值,动态确定各性能调度节点对应的调度器的选择逻辑。
184.可选地,各智能合约包括策略信息合约、策略决策合约和策略管理合约。
185.可选地,根据执行时间和预设时间阈值,动态确定各性能调度节点对应的调度器的选择逻辑,包括:
186.针对任一次时间间隔,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
187.若当次时间间隔内,第一执行时间大于预设时间阈值,第二执行时间和第三执行时间均小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约
和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
188.若当次时间间隔内,第一执行时间和第二执行时间均大于预设时间阈值,第三执行时间小于预设时间阈值,且第一执行时间大于第二执行时间,第二执行时间大于第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,各性能调度节点中另外1/3的性能调度节点执行策略决策合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
189.若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均大于预设时间阈值,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约,各性能调度节点中另外1/3的性能调度节点执行策略决策合约,其余性能调度节点执行策略管理合约;
190.其中,第一执行时间为策略信息合约对应的执行时间,第二执行时间为策略决策合约对应的执行时间,第三执行时间为策略管理合约对应的执行时间。
191.可选地,该装置还包括:
192.第二接收单元620,用于接收策略执行模块推送的访问请求,并根据访问请求,确定各智能合约。
193.图7为本技术实施例提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communication interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的计算机程序,以执行上述各实施例所提供的基于区块链的属性访问控制方法的步骤,例如包括:接收排序节点发送的包含指定事务的区块;根据调度器的选择逻辑,选择区块中指定事务执行验证和提交操作;其中,调度器的选择逻辑用于指示性能调度节点执行的智能合约;指定事务需要调用的智能合约中,至少一个智能合约为调度器的选择逻辑指示的智能合约;调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给调度器的;或者,基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑;将调度器的选择逻辑发送给各性能调度节点的调度器,以供各性能调度节点在接收到排序节点发送的包含指定事务的区块后,根据调度器的选择逻辑,选择区块中指定事务执行验证和提交操作;其中,调度器的选择逻辑用于指示各性能调度节点执行的智能合约;指定事务需要调用的智能合约中,至少一个智能合约为调度器的选择逻辑指示的智能合约。
194.此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
195.在此需要说明的是,本技术实施例提供的电子设备,能够实现上述方法实施例所
实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
196.另一方面,本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的基于区块链的属性访问控制方法的步骤。
197.在此需要说明的是,本技术实施例提供的计算机程序产品,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
198.另一方面,本技术实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的基于区块链的属性访问控制方法的步骤。
199.在此需要说明的是,本技术实施例提供的处理器可读存储介质,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
200.所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
201.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
202.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
203.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:
1.一种基于区块链的属性访问控制方法,其特征在于,应用于性能调度节点,包括:接收排序节点发送的包含指定事务的区块;根据调度器的选择逻辑,选择所述区块中所述指定事务执行验证和提交操作;其中,所述调度器的选择逻辑用于指示所述性能调度节点执行的智能合约;所述指定事务需要调用的智能合约中,至少一个智能合约为所述调度器的选择逻辑指示的智能合约;所述调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给所述调度器的。2.根据权利要求1所述的基于区块链的属性访问控制方法,其特征在于,所述调度器的选择逻辑通过以下方式确定:调度模块分别统计每个预设时间间隔内各智能合约的执行时间;根据所述执行时间和预设时间阈值,动态确定每个性能调度节点对应的调度器的选择逻辑。3.根据权利要求2所述的基于区块链的属性访问控制方法,其特征在于,所述各智能合约包括策略信息合约、策略决策合约和策略管理合约。4.根据权利要求3所述的基于区块链的属性访问控制方法,其特征在于,所述根据所述执行时间和预设时间阈值,动态确定每个性能调度节点对应的调度器的选择逻辑,包括:针对任一次时间间隔,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,若当次时间间隔内,第一执行时间大于预设时间阈值,第二执行时间和第三执行时间均小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,若当次时间间隔内,第一执行时间和第二执行时间均大于预设时间阈值,第三执行时间小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,所述各性能调度节点中另外1/3的性能调度节点执行策略决策合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均大于预设时间阈值,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约,所述各性能调度节点中另外1/3的性能调度节点执行策略决策合约,其余性能调度节点执行策略管理合约;其中,所述第一执行时间为策略信息合约对应的执行时间,所述第二执行时间为策略决策合约对应的执行时间,所述第三执行时间为策略管理合约对应的执行时间。5.根据权利要求1所述的基于区块链的属性访问控制方法,其特征在于,所述接收排序节点发送的包含指定事务的区块之前,所述方法还包括:
向所述排序节点发送所述调度器的选择逻辑,以使得所述排序节点仅将包含所述指定事务的区块发送给所述性能调度节点。6.根据权利要求1所述的基于区块链的属性访问控制方法,其特征在于,所述方法还包括:将包含未验证事务的区块存储于本地区块仓库中;确定所述调度器的选择逻辑发生更新,则从本地区块仓库中选择与更新的选择逻辑对应的未验证事务,并从其他性能调度节点获取所选择的未验证事务的验证结果。7.一种基于区块链的属性访问控制方法,其特征在于,应用于调度模块,包括:基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑;将所述调度器的选择逻辑发送给所述各性能调度节点的调度器,以供所述各性能调度节点在接收到排序节点发送的包含指定事务的区块后,根据所述调度器的选择逻辑,选择所述区块中所述指定事务执行验证和提交操作;其中,所述调度器的选择逻辑用于指示所述各性能调度节点执行的智能合约;所述指定事务需要调用的智能合约中,至少一个智能合约为所述调度器的选择逻辑指示的智能合约。8.根据权利要求7所述的基于区块链的属性访问控制方法,其特征在于,所述基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑,包括:分别统计每个预设时间间隔内各智能合约的执行时间;根据所述执行时间和预设时间阈值,动态确定各性能调度节点对应的调度器的选择逻辑。9.根据权利要求8所述的基于区块链的属性访问控制方法,其特征在于,所述各智能合约包括策略信息合约、策略决策合约和策略管理合约。10.根据权利要求9所述的基于区块链的属性访问控制方法,其特征在于,所述根据所述执行时间和预设时间阈值,动态确定各性能调度节点对应的调度器的选择逻辑,包括:针对任一次时间间隔,若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,若当次时间间隔内,第一执行时间大于预设时间阈值,第二执行时间和第三执行时间均小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,若当次时间间隔内,第一执行时间和第二执行时间均大于预设时间阈值,第三执行时间小于预设时间阈值,且所述第一执行时间大于所述第二执行时间,所述第二执行时间大于所述第三执行时间,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约和策略管理合约,所述各性能调度节点中另外1/3的性能调度节点执行策略决策合约和策略管理合约,其余性能调度节点均执行策略信息合约、策略决策合约和策略管理合约;或者,
若当次时间间隔内,第一执行时间、第二执行时间和第三执行时间均大于预设时间阈值,则确定下次时间间隔内各性能调度节点中1/3的性能调度节点执行策略信息合约,所述各性能调度节点中另外1/3的性能调度节点执行策略决策合约,其余性能调度节点执行策略管理合约;其中,所述第一执行时间为策略信息合约对应的执行时间,所述第二执行时间为策略决策合约对应的执行时间,所述第三执行时间为策略管理合约对应的执行时间。11.根据权利要求7所述的基于区块链的属性访问控制方法,其特征在于,所述基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑之前,所述方法还包括:接收策略执行模块推送的访问请求,并根据所述访问请求,确定所述各智能合约。12.一种基于区块链的属性访问控制装置,其特征在于,应用于性能调度节点,包括:第一接收单元,用于接收排序节点发送的包含指定事务的区块;第一选择单元,用于根据调度器的选择逻辑,选择所述区块中所述指定事务执行验证和提交操作;其中,所述调度器的选择逻辑用于指示所述性能调度节点执行的智能合约;所述指定事务需要调用的智能合约中,至少一个智能合约为所述调度器的选择逻辑指示的智能合约;所述调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给所述调度器的。13.一种基于区块链的属性访问控制装置,其特征在于,应用于调度模块,包括:第二确定单元,用于基于各智能合约的执行效率,动态确定各性能调度节点对应的调度器的选择逻辑;第二发送单元,用于将所述调度器的选择逻辑发送给所述各性能调度节点的调度器,以供所述各性能调度节点在接收到排序节点发送的包含指定事务的区块后,根据所述调度器的选择逻辑,选择所述区块中所述指定事务执行验证和提交操作;其中,所述调度器的选择逻辑用于指示所述各性能调度节点执行的智能合约;所述指定事务需要调用的智能合约中,至少一个智能合约为所述调度器的选择逻辑指示的智能合约。14.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的基于区块链的属性访问控制方法的步骤,或实现权利要求7至11任一项所述的基于区块链的属性访问控制方法的步骤。15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的基于区块链的属性访问控制方法的步骤,或实现权利要求7至11任一项所述的基于区块链的属性访问控制方法的步骤。

技术总结
本申请涉及区块链技术领域,提供一种基于区块链的属性访问控制方法及装置,其中应用于性能调度节点,该方法包括:接收排序节点发送的包含指定事务的区块;根据调度器的选择逻辑,选择区块中指定事务执行验证和提交操作;其中,调度器的选择逻辑用于指示性能调度节点执行的智能合约;指定事务需要调用的智能合约中,至少一个智能合约为调度器的选择逻辑指示的智能合约;调度器的选择逻辑是调度模块基于各智能合约的执行效率动态确定并发送给调度器的。本申请实施例提供的基于区块链的属性访问控制方法及装置可以提升访问控制性能,并提升访问控制应用对访问流量变化的适应性与鲁棒性。棒性。棒性。


技术研发人员:张康
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.01.21
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐