基于区块链的系统数据访问权限控制方法、装置及各模块与流程

文档序号:21595756发布日期:2020-07-24 16:45阅读:156来源:国知局
基于区块链的系统数据访问权限控制方法、装置及各模块与流程
本发明涉及数据处理
技术领域
,特别涉及一种基于区块链的系统数据访问权限控制方法、装置及各模块。
背景技术
:目前,系统应用数据都是部署在自有系统中心或第三方等可信实体上。系统想要安全高效的运行,必须确保该实体有很高的可信度。一旦系统管理人员操作失误或被收买,数据库遭到入侵或篡改等,数据的安全性和可靠性将不能被保证。此外,目前系统应用大多采用集中式部署,当遇到战争或重大自然灾害时,可能会导致系统直接瘫痪从而造成巨大损失。同时,传统的访问权限控制都通过关系型等数据库集中存储,中心化控制的,权限一般划分为用户、角色、权限三级进行配置,使得某个用户在任何时刻拥有的权限都是固定不变的,存在容易被非法篡改的风险。针对上述问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种基于区块链的系统数据访问权限控制方法,用以提高系统数据及其访问的安全性和可靠性,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,该方法包括:客户端接收用户针对待完成交易发起的对系统数据的访问请求,将访问请求发送至权限控制模块;所述访问请求中包括用户标识和待完成交易标识;权限控制模块根据用户标识和待完成交易标识发起权限数据请求,将权限数据请求发送至区块链模块;区块链模块根据用户标识确定用户角色,根据待完成交易标识确定交易流程中的阶段交易状态;根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;从领导节点中获取权限数据,将权限数据发送至权限控制模块;权限控制模块根据权限数据,确定访问请求结果,向客户端反馈访问请求结果。本发明实施例还提供了一种基于区块链的系统数据访问权限控制方法,应用于权限控制模块,用以提高系统数据及其访问的安全性和可靠性,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,该方法包括:接收访问请求;所述访问请求包括用户标识和待完成交易标识;根据用户标识和待完成交易标识发起权限数据请求;将权限数据请求发送至区块链模块;接收根据权限数据请求反馈的权限数据;根据权限数据,确定访问请求结果;向客户端反馈访问请求结果。本发明实施例还提供了一种基于区块链的系统数据访问权限控制方法,应用于区块链模块,用以提高系统数据及其访问的安全性和可靠性,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,该方法包括:接收权限数据请求;所述权限数据请求包括用户标识和待完成交易标识;根据用户标识确定用户角色,根据待完成交易标识确定交易流程中的阶段交易状态;根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;从领导节点中获取权限数据;将权限数据发送至权限控制模块。本发明实施例还提供了一种基于区块链的系统数据访问权限控制装置,用以提高系统数据及其访问的安全性和可靠性,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,所述基于区块链的系统数据访问权限控制装置,包括:客户端、权限控制模块和区块链模块;其中:客户端,用于接收用户针对待完成交易发起的对系统数据的访问请求,将访问请求发送至权限控制模块;所述访问请求中包括用户标识和待完成交易标识;权限控制模块,用于根据用户标识和待完成交易标识发起权限数据请求,将权限数据请求发送至区块链模块;根据权限数据,确定访问请求结果,向客户端反馈访问请求结果;区块链模块,用于根据用户标识确定用户角色,根据待完成交易标识确定交易流程中的阶段交易状态;根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;从领导节点中获取权限数据,将权限数据发送至权限控制模块。本发明实施例还提供了一种基于区块链的系统数据访问权限控制模块,用以提高系统数据及其访问的安全性和可靠性,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,所述基于区块链的系统数据访问权限控制模块包括:第一接收单元,用于接收访问请求;所述访问请求包括用户标识和待完成交易标识;接收根据权限数据请求反馈的权限数据;请求发起单元,用于根据用户标识和待完成交易标识发起权限数据请求;第一发送单元,用于将权限数据请求发送至区块链模块;向客户端反馈访问请求结果;第一确定单元,用于根据权限数据,确定访问请求结果。本发明实施例还提供了一种基于区块链的系统数据访问权限控制区块链模块,用以提高系统数据及其访问的安全性和可靠性,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,所述基于区块链的系统数据访问权限控制区块链模块包括:第二接收单元,用于接收权限数据请求;所述权限数据请求包括用户标识和待完成交易标识;第二确定单元,用于根据用户标识确定用户角色,根据待完成交易标识确定交易流程中的阶段交易状态;第三确定单元,用于根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;获取单元,用于从领导节点中获取权限数据;第二发送单元,用于将权限数据发送至权限控制模块。本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的系统数据访问权限控制方法。本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于区块链的系统数据访问权限控制方法的计算机程序。本发明实施提供的技术方案达到的有益技术效果是:首先,与现有技术中系统数据大多采用集中式部署,例如系统数据都是部署在自有系统中心或第三方等可信实体上,系统数据不安全可靠的方案相比较,本发明实施例中多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,后续在客户端发起对系统数据的访问请求时,通过区块链模块从多个系统节点中选出一个系统节点作为领导节点,从该领导节点中获取权限数据发送至权限控制模块,权限控制模块根据该区块链上系统节点选出的领导节点提供的权限数据,向客户端反馈访问请求结果,该权限数据安全可靠,不依赖于任何实体,数据不会因为任意单一实体的改变而改变,从而保证系统数据及其访问的安全性和可靠性。同时由于权限数据也采用区块链分布式部署,不可篡改,也提高了数据的安全性和可靠性。其次,与现有技术中访问权限中心化部署控制,使得某个用户在任何时刻拥有的权限都是固定不变的权限配置方式,存在容易被非法篡改风险的方案相比较,本发明实施中除了根据用户标识确定的用户角色来获取用户的权限数据之外,还将整个交易流程划分为若干个阶段交易状态,每个阶段交易状态对应的用户权限不是固定不变的,进而结合根据待完成交易标识确定的阶段交易状态,来获取权限数据,使得用户在任何时刻拥有的权限不是固定不变的,一旦交易过了这个阶段交易状态,不再有权限进行前几步阶段交易状态对应的操作权限,保证系统数据访问的安全性和可靠性。综上,本发明实施例提供的技术方案提高了系统数据及其访问的安全性和可靠性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例中基于区块链的系统数据访问权限控制方法的流程示意图;图2是本发明实施例中基于区块链的系统数据访问权限控制的原理示意图;图3是本发明实施例中权限和权限块关系示意图;图4是本发明实施例中确定领导节点的示意图;图5是本发明实施例中应用于权限控制模块的基于区块链的系统数据访问权限控制方法的流程示意图;图6是本发明实施例中应用于应用于区块链模块的基于区块链的系统数据访问权限控制方法的流程示意图;图7是本发明实施例中基于区块链的系统数据访问权限控制装置的结构示意图;图8是本发明实施例中基于区块链的系统数据访问权限控制模块的结构示意图;图9是本发明实施例中基于区块链的系统数据访问权限控制区块链模块的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在介绍本发明实施例的技术方案之前,首先介绍本发明实施例涉及的名词。1.区块链技术:是一种不依赖于第三方、通过自身分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案。2.安全防护:将系统访问权限加密配置在区块链中,利用区块链去中心化、不可篡改的特性保证权限的安全有效,使系统免遭网络恶意攻击、自然灾害的破坏的一种防护措施。3.用户权限认证:用户访问系统某种资源时,对其是否拥有操作权限的证明。发明人发现如下技术问题:集中式管理,管理员误操作、被收买等不定性因素会造成数据库的恶意篡改,使得黑客能够更加容易的非法攻击,对系统的安全造成极大的影响;重大自然灾害等外部因素可直接导致系统瘫痪,并难以恢复;对用户访问控制约束力度不够,导致已完成的交易,用户仍能继续操作。另外,传统的访问控制都通过关系型等数据库集中存储,中心化控制的,权限一般划分为用户、角色、权限三级进行配置,使得某个用户在任何时刻拥有的权限都是固定不变的,这会造成用户本身在交易的某一阶段的不合理的非法访问篡改后台数据。由于发明人考虑到了上述技术问题,因此提出了一种基于区块链的系统数据访问权限控制方案,该方案是基于区块链技术的系统安全防护的研究与应用方案,该方案基于现有方式的局限和不足,结合区块链技术的优势,尽可能的降低了数据库被篡改、被破坏的概率,并进一步细化了用户访问权限的控制粒度,细化了用户在不同交易状态下的权限,使得系统更安全、更不易遭到攻击。具体地,上述技术方案的优点是:1、区块链技术的应用区块链技术凭借其分布式数据库、对等传输、透明的匿名性、不可篡改等特点,受到各领域的广泛关注,区块链技术和传统的用户权限控制相结合的方案目前研究甚少,两者的结合即可拥有分布式。不可篡改的有点,又可实现用户的访问权限控制。区块链技术利用加密的链式区块结构来验证和存储结构,利用p2p网络技术、共识机制实现分布式节点的验证、通信以及信任关系的建立,利用链上脚本能够实现负责的业务逻辑功能对数据进行自动化操作。区块链通过数据区块和链式结构来存储数据,每个数据块包括区块头和区块体两个部分,都有唯一的哈希值作为区块地址与之对应,当前数据块通过存储前一个区块的哈希值与前一个区块连接形成链式结构。区块体中存储了交易信息,每笔交易交易方都会对其进行数字签名确保数据不可篡改。由于区块链上记录的数据对所有的用户可见且不可篡改,因此使用区块链对访问控制的权限进行管理,从而权限的透明性和不可篡改。从该角度出发,将传统的用户权限控制中资源、角色、权限、用户等属性和区块链相结合,即,分布实现了权限的控制又保证了权限的不可篡改。此外,区块链自身特点保证了部分节点宕掉以后系统仍能正常运行,大大提升了系统的安全性。bbis系统(本发明实施例提供的基于区块链的系统数据访问权限控制方案)基于区块链技术得以有效的解决。依赖于区块链技术,上链信息在各节点达成共识,可在短时间内不依赖于任何可信实体,完成数据库的统一维护和更新,数据不会因为任意单一实体(可以是系统节点)的改变而改变,从而保证数据的安全性和可信性。2、用户访问权限控制将客户端的每一个请求视为一个资源,角色和资源为多对多的绑定,用户和角色为多对一的绑定,增加交易状态的约束,用户在交易的不同状态(阶段交易状态)下也会拥有不同的访问权限,使得用户的权限达到交易级别的控制。下面对该基于区块链的系统数据访问权限控制方案进行详细介绍。图1是本发明实施例中基于区块链的系统数据访问权限控制方法的流程示意图,该方法应用于系统数据访问权限控制装置,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,如图1所示,该方法包括如下步骤:步骤101:客户端接收用户针对待完成交易发起的对系统数据的访问请求,将访问请求发送至权限控制模块;所述访问请求中包括用户标识和待完成交易标识;步骤102:权限控制模块根据用户标识和待完成交易标识发起权限数据请求,将权限数据请求发送至区块链模块;步骤103:区块链模块根据用户标识确定用户角色,根据待完成交易标识确定交易流程中的阶段交易状态;根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;从领导节点中获取权限数据,将权限数据发送至权限控制模块;步骤104:权限控制模块根据权限数据,确定访问请求结果,向客户端反馈访问请求结果。与现有技术相比较,本发明实施例提供的基于区块链的系统数据访问权限控制方法提高了系统数据及其访问的安全性和可靠性。具体实施时,本发明实施例提供的系统数据可以指的是金融机构的交易系统数据、金融系统数据,系统应用数据等,这些数据可以代表系统某种资源。下面再结合附图2至图4对本发明实施例应用于系统数据访问权限控制装置的方法涉及的各个步骤进行介绍。具体实施时,如图2所示,用户从客户端向系统发起访问请求,首先进入权限控制模块判断请求是否被允许,权限控制模块将访问请求中携带的用户id和交易id,即权限数据请求发送至区块链模块,区块链模块根据议会选举算法查询出用户的角色及交易的状态,根据角色和状态获得用户当前所拥有的权限,并将该权限集合(权限数据)反馈给权限控制模块,权限控制模块收到权限(权限数据)后,判断用户是否拥有访问权限,并向客户端反馈结果(例如图2中的通过或拦截的结果)。通过上述可知,本发明实施例中用户访问权限控制与区块链相结合,权限控制模块负责用户权限控制的逻辑判断操作,区块链模块负责用户权限数据的正确性。权限控制模块所需的权限数据从区块链中获取。一、首先介绍上述步骤101之前,数据预先上链的步骤。具体实施时,按照下述数据库表(可以是预先建立的用户角色、阶段交易状态与权限数据、子权限数据的关系的一种表现形式),将所需要的权限数据加密上链存储。数据库表的设计可以包括:1)bbip_access数据库表(如下表1所示)设计:定义了权限块与权限直接的关系,一个权限可包含一个或多个权限块,其中关键字段有:access_id:权限块id;resource_id:权限id;describe:权限块的描述。access_idresource_iddescribee20002202公布公告e20008202债券配售表1具体实施时,权限块(子权限数据)是权限(权限数据)更细的粒度,是权限的最小单位。为了便于理解权限块的概念,结合图3举例进行讲解。图3中有长方框,每个长方框视为一个权限块,每个权限块包括一个或多个组件,如按钮、tab页等。不同的用户浏览该页时会因为角色、债券状态等因素的不同,看到不同的权限块,即权限块有些显示有些不显示。权限块和权限是绑定的,如图3所示,一个页面权限下可以包括三个权限块。2)bbip_resource数据库表(如下表2所示)设计:定义了用户权限,其中关键字段有:resource_name–权限的名称;resource_id–权限的id;type–权限的类型,包括:页面权限、菜单权限、请求权限;describe–权限的描述。表2具体实施时,权限按照type分为菜单权限、页面权限和请求权限。菜单权限决定用户哪些菜单可见,页面权限决定页面中哪些权限块可见,请求权限决定用户是否有权限发送http请求至服务器获得数据。上述请求权限中的请求可以为从浏览器发出的http请求,本发明实施中主要是post请求和get请求,例如,http://ip:port/bbis-web/bond/subcribe/underwriterapply,承销商提交申购信息。3)bbip_control_role数据库表(如下表3所示)设计:定义了角色权限表,其中关键字段有:role–角色id;access_id–权限块的id;role_type–角色的附加类型,同一角色在不同的交易中担任的职能不同,用来约束不同交易用户拥有不同的权限。roleaccess_idrole_type发行人管理员e20008发行人操作员e20008承销商管理员e200081承销商发行簿记操作员e200081表3具体实施时,某个角色拥有哪些权限,role_type是对承销商角色做的进一步角色细化,0-非簿记,1-簿记,非承销商角色与role_type无关,值为空。具体实施时,本发明实施例中的角色可以包括:01:发行人管理员;02:承销商管理员;03:投资者管理员;04:发行人操作员;05:承销商发行簿记操作员;06:承销商项目承做操作员;07:投资者操作员;08:系统运营方。4)bbip_control_status数据库表(如下表4所示)设计:定义了交易状态对用户访问权限的控制,其中关键字段有:status–交易状态;access_id–权限块的id。statusaccess_id07e2000808e20008表4具体实施时,本发明实施例中的阶段交易状态可以如下表5所示:01债券创建,筹备中02组建承销团03拟发布公告04确认发布公告05申购提示06开始申购07配售中08确认配售09结束配售10归档表5二、接着,介绍上述步骤101。具体实施时,如图2所示,客户端发起访问请求,请求中携带用户id和交易id。三、接着,介绍上述步骤102。具体实施时,如图2所示,权限控制模块携带用户id和交易id调用区块链模块查询用户访问权限,即向区块链模块发起的权限数据请求。四、接着,介绍上述步骤103。在一个实施例中,根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点,可以包括:从所有系统节点中随机选出一个系统节点作为待选领导节点;执行如下投票确定领导节点的步骤:每一剩余系统节点将根据用户角色和阶段交易状态确定的权限数据与待选领导节点根据用户角色和阶段交易状态确定的权限数据进行比较,若相同,对待选领导节点投赞成票;在所有剩余系统节点对待选领导节点投赞成票率超过预设阈值时,将待选领导节点确定为领导节点。在一个实施例中,上述基于区块链的系统数据访问权限控制方法还可以包括:在所有剩余系统节点对待选领导节点投赞成票率未超过预设阈值时,从剩余系统节点中随机选出一个系统节点作为待选领导节点,重复执行所述确定领导节点的步骤,直至确定出领导节点。具体实施时,区块链模块根据议会选举算法,选举出一个领导leader节点,从该leader节点中取出用户访问权限数据返回给权限控制模块。议会选举算法如下:如图4所示,区块链中每个节点(系统节点,图4中的普通节点)视为一个议员,他们都有被选举为leader的可能,使用随机算法从所有系统节点中选出一个节点作为待选leader节点,其余(剩余)节点开始对其公开投票。每一其余节点数据(其余节点根据用户角色和阶段交易状态确定的权限数据)与leader的数据(待选领导节点根据用户角色和阶段交易状态确定的权限数据)作比较。若结果相同,投赞成票;若结果不同,投反对票。计算改待选leader的投票赞成率,这里我们提供一个阈值(可以是90%),赞成率超过该阈值说明公投成功,其他节点都认可该数据(待选节点的权限数据)的正确性,反之,从剩余节点再次随机一个待选leader重复做上述操作,直至leader节点选举成功。具体实施时,与现有技术中系统数据大多采用集中式部署,例如系统数据都是部署在自有系统中心或第三方等可信实体上,系统数据不安全可靠的方案相比较,本发明实施例中多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,后续在客户端发起对系统数据的访问请求时,通过区块链模块从多个系统节点中选出一个系统节点作为领导节点,从该领导节点中获取权限数据发送至权限控制模块,权限控制模块根据该区块链上系统节点选出的领导节点提供的权限数据,向客户端反馈访问请求结果,该权限数据安全可靠,不依赖于任何实体(系统节点),数据不会因为任意单一实体的改变而改变,从而保证系统数据及其访问的安全性和可靠性。同时由于权限数据也采用区块链分布式部署,不可篡改,也提高了数据的安全性和可靠性。在一个实施例中,根据用户角色和阶段交易状态确定权限数据可以包括:根据用户角色和阶段交易状态,以及预先建立的用户角色、阶段交易状态与权限数据、子权限数据的关系,确定用户角色和阶段交易状态对应的权限数据;所述关系部署在每一所述系统节点上。具体实施时,将当前的用户角色和阶段交易状态到上述预先建立的关系中查找,得到准确的权限数据。交易级别的权限划分:将整个交易流程划分为若干个状态,区分每个状态下用户的权限都有哪些,一旦交易过了这个状态,不再有权限进行前几步的操作,即该关系中考虑了交易流程中的不同阶段交易状态,在传统的权限控制基础上,进一步细化了权限粒度,达到了交易级别的权限划分,进一步保证了系统数据访问的安全性和可靠性。另外,上述实施例中,还考虑了更进一步细化权限粒度的方案:将权限划分为权限数据与子权限数据,详见上述“一”中关于权限和权限块的介绍,进一步保证了系统数据访问的安全性和可靠性。具体实施时,区块链模块将从leader节点中获取的权限数据返回给权限控制模块。五、接着,介绍上述步骤104。具体实施时,如图2所示,权限控制模块获得用户的访问权限集合(权限数据),判断当前用户请求是否属于该权限集合,即根据权限数据,确定访问请求结果,若存在该集合内,请求通过,反之,请求被拒绝。基于同一发明构思,本发明实施例中还提供了一种应用于权限控制模块的基于区块链的系统数据访问权限控制方法,如下面的实施例所述。由于应用于权限控制模块的基于区块链的系统数据访问权限控制方法解决问题的原理与上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法相似,因此应用于权限控制模块的基于区块链的系统数据访问权限控制方法的实施可以参见上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图5是本发明实施例中应用于权限控制模块的基于区块链的系统数据访问权限控制方法的流程示意图,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,如图5所示,该方法包括如下步骤:步骤201:接收访问请求;所述访问请求包括用户标识和待完成交易标识;步骤202:根据用户标识和待完成交易标识发起权限数据请求;步骤203:将权限数据请求发送至区块链模块;步骤204:接收根据权限数据请求反馈的权限数据;步骤205:根据权限数据,确定访问请求结果;步骤206:向客户端反馈访问请求结果。基于同一发明构思,本发明实施例中还提供了一种应用于区块链模块的基于区块链的系统数据访问权限控制方法,如下面的实施例所述。由于应用于区块链模块的基于区块链的系统数据访问权限控制方法解决问题的原理与上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法相似,因此应用于区块链模块的基于区块链的系统数据访问权限控制方法的实施可以参见上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图6是本发明实施例中应用于应用于区块链模块的基于区块链的系统数据访问权限控制方法的流程示意图,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,如图6所示,该方法包括如下步骤:步骤301:接收权限数据请求;所述权限数据请求包括用户标识和待完成交易标识;步骤302:根据用户标识确定用户角色,根据待完成交易标识确定交易流程中的阶段交易状态;步骤303:根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;步骤304:从领导节点中获取权限数据;步骤305:将权限数据发送至权限控制模块。在一个实施例中,根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;可以包括:从所有系统节点中随机选出一个系统节点作为待选领导节点;执行如下投票确定领导节点的步骤:每一剩余系统节点将根据用户角色和阶段交易状态确定的权限数据与待选领导节点根据用户角色和阶段交易状态确定的权限数据进行比较,若相同,对待选领导节点投赞成票;在所有剩余系统节点对待选领导节点投赞成票率超过预设阈值时,将待选领导节点确定为领导节点。在一个实施例中,上述基于区块链的系统数据访问权限控制方法还可以包括:在所有剩余系统节点对待选领导节点投赞成票率未超过预设阈值时,从剩余系统节点中随机选出一个系统节点作为待选领导节点,重复执行所述确定领导节点的步骤,直至确定出领导节点。在一个实施例中,根据用户角色和阶段交易状态确定权限数据,可以包括:根据用户角色和阶段交易状态,以及预先建立的用户角色、阶段交易状态与权限数据、子权限数据的关系,确定用户角色和阶段交易状态对应的权限数据;所述关系部署在每一所述系统节点上。基于同一发明构思,本发明实施例中还提供了一种基于区块链的系统数据访问权限控制装置,如下面的实施例所述。由于基于区块链的系统数据访问权限控制装置解决问题的原理与上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法相似,因此基于区块链的系统数据访问权限控制装置的实施可以参见上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图7是本发明实施例中基于区块链的系统数据访问权限控制装置的结构示意图,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,所述基于区块链的系统数据访问权限控制装置包括:客户端01、权限控制模块02和区块链模块03;其中:客户端01,用于接收用户针对待完成交易发起的对系统数据的访问请求,将访问请求发送至权限控制模块;所述访问请求中包括用户标识和待完成交易标识;权限控制模块02,用于根据用户标识和待完成交易标识发起权限数据请求,将权限数据请求发送至区块链模块;根据权限数据,确定访问请求结果,向客户端反馈访问请求结果;区块链模块03,用于根据用户标识确定用户角色,根据待完成交易标识确定交易流程中的阶段交易状态;根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;从领导节点中获取权限数据,将权限数据发送至权限控制模块。在一个实施例中,所述区块链模块具体可以用于:从所有系统节点中随机选出一个系统节点作为待选领导节点;执行如下投票确定领导节点的步骤:每一剩余系统节点将根据用户角色和阶段交易状态确定的权限数据与待选领导节点根据用户角色和阶段交易状态确定的权限数据进行比较,若相同,对待选领导节点投赞成票;在所有剩余系统节点对待选领导节点投赞成票率超过预设阈值时,将待选领导节点确定为领导节点。在一个实施例中,所述区块链模块还可以用于:在所有剩余系统节点对待选领导节点投赞成票率未超过预设阈值时,从剩余系统节点中随机选出一个系统节点作为待选领导节点,重复执行所述确定领导节点的步骤,直至确定出领导节点。在一个实施例中,所述区块链模块具体可以用于:根据用户角色和阶段交易状态,以及预先建立的用户角色、阶段交易状态与权限数据、子权限数据的关系,确定用户角色和阶段交易状态对应的权限数据;所述关系部署在每一所述系统节点上。基于同一发明构思,本发明实施例中还提供了一种基于区块链的系统数据访问权限控制模块,如下面的实施例所述。由于基于区块链的系统数据访问权限控制模块解决问题的原理与上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法相似,因此基于区块链的系统数据访问权限控制模块的实施可以参见上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图8是本发明实施例中基于区块链的系统数据访问权限控制模块的结构示意图,系统数据及访问权限数据部署在每一所述系统节点上,如图8所示,所述基于区块链的系统数据访问权限控制模块包括:第一接收单元021,用于接收访问请求;所述访问请求包括用户标识和待完成交易标识;接收根据权限数据请求反馈的权限数据;请求发起单元022,用于根据用户标识和待完成交易标识发起权限数据请求;第一发送单元023,用于将权限数据请求发送至区块链模块;向客户端反馈访问请求结果;第一确定单元024,用于根据权限数据,确定访问请求结果。基于同一发明构思,本发明实施例中还提供了一种基于区块链的系统数据访问权限控制区块链模块,如下面的实施例所述。由于基于区块链的系统数据访问权限控制区块链模块解决问题的原理与上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法相似,因此基于区块链的系统数据访问权限控制区块链模块的实施可以参见上述应用于权限控制装置的基于区块链的系统数据访问权限控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图9是本发明实施例中基于区块链的系统数据访问权限控制区块链模块的结构示意图,多个系统节点构成区块链网络,系统数据及访问权限数据部署在每一所述系统节点上,如图9所示,所述基于区块链的系统数据访问权限控制区块链模块包括:第二接收单元031,用于接收权限数据请求;所述权限数据请求包括用户标识和待完成交易标识;第二确定单元032,用于根据用户标识确定用户角色,根据待完成交易标识确定交易流程中的阶段交易状态;第三确定单元033,用于根据用户角色和阶段交易状态,从多个系统节点中选出一个系统节点作为领导节点;获取单元034,用于从领导节点中获取权限数据;第二发送单元035,用于将权限数据发送至权限控制模块。在一个实施例中,所述第三确定单元具体可以用于:从所有系统节点中随机选出一个系统节点作为待选领导节点;执行如下投票确定领导节点的步骤:每一剩余系统节点将根据用户角色和阶段交易状态确定的权限数据与待选领导节点根据用户角色和阶段交易状态确定的权限数据进行比较,若相同,对待选领导节点投赞成票;在所有剩余系统节点对待选领导节点投赞成票率超过预设阈值时,将待选领导节点确定为领导节点。在一个实施例中,上述第三确定单元还可以用于:在所有剩余系统节点对待选领导节点投赞成票率未超过预设阈值时,从剩余系统节点中随机选出一个系统节点作为待选领导节点,重复执行所述确定领导节点的步骤,直至确定出领导节点。在一个实施例中,根据用户角色和阶段交易状态确定权限数据,可以包括:根据用户角色和阶段交易状态,以及预先建立的用户角色、阶段交易状态与权限数据、子权限数据的关系,确定用户角色和阶段交易状态对应的权限数据;所述关系部署在每一所述系统节点上。本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的系统数据访问权限控制方法。本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于区块链的系统数据访问权限控制方法的计算机程序。本发明实施例提供技术方案达到的有益技术效果是:本发明实施例提供的技术方案将用户权限控制和区块链技术结合,一方面融合了区块链分布式、不可篡改的特点,大大地降低了权限数据被恶意篡改的概率,并能有效地抵抗自然灾害的重大不利因素带来的区域性影响,提升了系统的健壮性;另一方面,本发明实施例的技术方案在传统的权限控制基础上,进一步细化了权限粒度,区分了交易流程中不同阶段交易状态下的用户权限,达到了交易级别的权限划分,使得系统更安全、更不易遭到攻击。综上,本发明实施例提供的技术方案提高了系统数据及其访问的安全性和可靠性。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1