基于区块链的协作流程执行系统及其数据访问控制方法技术方案

技术编号:32835470 阅读:24 留言:0更新日期:2022-03-26 20:55
本发明专利技术公开了一种基于区块链的协作流程执行系统及其数据访问控制方法。该系统能够在以太坊区块链上支持协作业务流程的执行过程并为执行过程中涉及的资源数据文件提供一种数据访问控制方案,其协作业务流程执行由以太坊上部署的流程合约控制执行,数据访问控制方案由以太坊上部署的访问控制合约和文件管理合约、链下IPFS及其代理层和流程合约共同控制执行。使用本发明专利技术公开的系统能够解决协作业务流程中不同组织间缺乏信任问题,为不同组织提供去中心化的协作业务流程执行过程,并且在以太坊区块链上提供动态、灵活、细粒度和可追溯的数据访问控制支持。的数据访问控制支持。的数据访问控制支持。

【技术实现步骤摘要】
基于区块链的协作流程执行系统及其数据访问控制方法


[0001]本专利技术属于区块链技术应用领域,尤其涉及一种基于区块链的协作流程执行系统及其数据访问控制方法。

技术介绍

[0002]在经济全球化的背景下,组织间需要更好地进行合作以应对市场需求。目前,组织普遍采用的策略是加入协作流程执行过程当中,即在组织间建立协作和资源共享的伙伴关系来达成共同目标。然而,组织间缺乏信任是实现不同组织之间流程协同的最大障碍。事实上,大多数协作流程的执行过程严重依赖第三方来处理组织交互过程中产生的冲突问题。此外,协作流程执行涉及到广泛的信息与资源交换,相应的数据文件中可能包含组织用户的敏感信息,如果没有安全的数据共享以及访问控制机制,组织可能不愿意共享其数据。在实际的协作环境中,多个参与流程的组织都同意选择一个中央管理者来协调协作流程的执行并为不同组织提供流程数据的共享存储以及安全的访问控制机制,但信任缺失问题导致不同组织之间难以在中央管理者的选择上达成共识。在这种应用场景下,如何为不同组织提供支持去中心化的协作业务流程执行以及数据访问控制方案成为亟待解决的技术问题。

技术实现思路

[0003]针对现有技术的不足,本专利技术提出了基于区块链的协作流程执行系统,该系统能够将协作流程模型存储于以太坊智能合约中,在以太坊上支持协作流程的执行过程。此外,该系统通过引入星际文件系统(Inter Planetary File System,简称IPFS)来为协作流程执行过程提供数据共享存储,能够有效缓解区块链存储大量数据文件的压力,并设计了一种基于上述系统的访问控制方法,该方法结合基于任务与属性的访问控制模型与智能合约技术,能够在区块链上实现动态、灵活、细粒度和可追溯的数据访问控制支持。
[0004]为实现上述专利技术目的,本专利技术具体采用的技术方案如下:
[0005]第一方面,本专利技术提供了一种基于区块链的协作流程执行系统,该系统包含前端系统、后端系统、星际文件系统以及以太坊区块链四个部分;
[0006]前端系统包含建模器与执行界面;其中建模器用于支持协作流程建模,执行界面用于管理协作流程的执行过程中对数据文件的上传和下载;
[0007]后端系统包含链下组件、Web3接口和星际文件系统代理层;其中链下组件用于处理前端系统传入的数据;Web3接口是一个集合库,用于提供包括检索用户账户、发送交易和与智能合约交互在内的功能接口;星际文件系统代理层用于在后端系统中拦截用户对于星际文件系统的请求并通过Web3接口向智能合约转发该请求用于对访问者进行权限验证,同时根据监听到验证结果决定是否向星际文件系统发送上传或下载文件的请求;
[0008]星际文件系统用于存储跨组织流程执行过程中产生的共享数据文件;
[0009]以太坊区块链包括数据存储模块、访问控制模块和流程执行引擎;其中数据存储模块包含文件管理合约和属性管理合约,所述文件管理合约用于存储文件在星际文件系统
中的哈希值,所述属性管理合约用于管理用户和组织相关信息;访问控制模块包含访问控制合约,用于在用户访问相应资源时验证访问者是否拥有对于被访问资源的操作权限;流程执行引擎包含与协作流程执行相关的流程合约,用于支持链上流程实例的执行过程。
[0010]作为上述第一方面的优选,所述属性管理合约为存储有流程组织库、用户库和属性库的智能合约;在属性管理合约中,合约创建者将导入协作业务流程包含的流程组织并设置其组织管理员,组织管理员能够在相应的组织中管理组织包含的属性集合以及共享资源文件相关信息。
[0011]作为上述第一方面的优选,所述文件管理合约为用于管理共享数据文件信息的智能合约,由其合约创建者和数据文件库组成,能够在区块链上管理协作业务流程执行过程中产生的共享数据文件,并将数据文件的哈希值存储于链上,当资源访问者拥有数据文件的访问权限时,能够通过星际文件系统代理层和数据文件的哈希值获取数据文件。
[0012]作为上述第一方面的优选,所述流程合约为用于存储流程模型以及流程实例库的智能合约,其中流程模型包含模型执行的控制流程逻辑,流程实例库包含多个流程实例的执行状态与执行过程。
[0013]作为上述第一方面的优选,所述访问控制合约为由访问请求库和访问策略库组成的智能合约,其内部包含匹配资源访问请求和资源访问控制策略的合约函数,能够根据星际文件系统代理层上传的资源访问请求来评估资源访问者的访问权限,匹配相关资源访问控制策略并得出最后的资源访问请求结果。
[0014]第二方面,本专利技术提供了一种基于上述第一方面中任一方案所述协作流程执行系统的数据访问控制方法,该方法具体包括以下步骤:
[0015]S1、通过执行界面将以太坊区块链中涉及的智能合约部署到以太坊私链上;所述智能合约包括属性管理合约、访问控制合约、文件管理合约以及流程合约;
[0016]S2、将包括通过建模器构建的流程模型、参与协作流程执行的组织与用户属性、协作流程执行涉及的流程文件及其访问控制策略在内的数据导入到S1中部署的所述智能合约中;
[0017]S3、根据所述智能合约中存储的流程模型创建协作流程实例;当协作流程实例的执行不涉及对共享数据文件的操作时,参与协作流程执行的流程执行者能够通过在流程执行引擎上通过调用流程合约的合约函数来执行协作流程;
[0018]S4、当协作流程实例的执行涉及到共享数据文件的操作时,流程执行者将向星际文件系统代理层发送资源访问请求,星际文件系统代理层将调用访问控制模块中的访问控制合约的函数接口,将该请求转发到访问控制合约中,访问控制合约将根据该资源访问请求涉及到的数据文件、资源访问者的属性、协作流程实例的状态以及对共享数据文件的操作,在合约内检索相应的访问控制策略并评估资源访问者对文件的访问权限;完成评估后将产生事件,记录该资源访问请求的访问结果;
[0019]S5、星际文件系统代理层监听访问控制智能合约中产生的事件,获取对应资源访问请求的访问结果,根据访问结果允许或拒绝流程执行者对于星际文件系统的访问。
[0020]作为上述第二方面的优选,所述以太坊区块链中,每个智能合约中都包含其余智能合约的合约地址全局变量,在完成合约部署后需要为每个智能合约导入其余智能合约的合约地址;且文件管理合约中还存储有一个保存在链下星际文件系统代理层的账户地址,
只有该账户地址能够对文件管理合约的合约函数进行调用,所有上传到链下星际文件系统的数据文件都会使用该账户地址进行加密,确保无法绕开星际文件系统代理层直接和星际文件系统进行交互。
[0021]作为上述第二方面的优选,所述S4中,评估资源访问者对文件的访问权限的方法如下:完成访问控制策略的检索后,访问控制合约遍历检索到的每一个访问控制策略,解析其中包含的策略规则,根据策略规则中的用户属性策略规则和任务属性策略规则分别向属性管理合约和流程合约发送请求,查询相关的用户属性值以及任务属性值,将用户属性值和任务属性值分别与用户属性策略规则和任务属性策略规则进行匹配,当用户属性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的协作流程执行系统,其特征在于:该系统包含前端系统、后端系统、星际文件系统以及以太坊区块链四个部分;前端系统包含建模器与执行界面;其中建模器用于支持协作流程建模,执行界面用于管理协作流程的执行过程中对数据文件的上传和下载;后端系统包含链下组件、Web3接口和星际文件系统代理层;其中链下组件用于处理前端系统传入的数据;Web3接口是一个集合库,用于提供包括检索用户账户、发送交易和与智能合约交互在内的功能接口;星际文件系统代理层用于在后端系统中拦截用户对于星际文件系统的请求并通过Web3接口向智能合约转发该请求用于对访问者进行权限验证,同时根据监听到验证结果决定是否向星际文件系统发送上传或下载文件的请求;星际文件系统用于存储跨组织流程执行过程中产生的共享数据文件;以太坊区块链包括数据存储模块、访问控制模块和流程执行引擎;其中数据存储模块包含文件管理合约和属性管理合约,所述文件管理合约用于存储文件在星际文件系统中的哈希值,所述属性管理合约用于管理用户和组织相关信息;访问控制模块包含访问控制合约,用于在用户访问相应资源时验证访问者是否拥有对于被访问资源的操作权限;流程执行引擎包含与协作流程执行相关的流程合约,用于支持链上流程实例的执行过程。2.如权利要求1所述的基于区块链的协作流程执行系统,其特征在于:所述属性管理合约为存储有流程组织库、用户库和属性库的智能合约;在属性管理合约中,合约创建者将导入协作业务流程包含的流程组织并设置其组织管理员,组织管理员能够在相应的组织中管理组织包含的属性集合以及共享资源文件相关信息。3.如权利要求1所述的基于区块链的协作流程执行系统,其特征在于:所述文件管理合约为用于管理共享数据文件信息的智能合约,由其合约创建者和数据文件库组成,能够在区块链上管理协作业务流程执行过程中产生的共享数据文件,并将数据文件的哈希值存储于链上,当资源访问者拥有数据文件的访问权限时,能够通过星际文件系统代理层和数据文件的哈希值获取数据文件。4.如权利要求1所述的基于区块链的协作流程执行系统,其特征在于:所述流程合约为用于存储流程模型以及流程实例库的智能合约,其中流程模型包含模型执行的控制流程逻辑,流程实例库包含多个流程实例的执行状态与执行过程。5.如权利要求1所述的基于区块链的协作流程执行系统,其特征在于:所述访问控制合约为由访问请求库和访问策略库组成的智能合约,其内部包含匹配资源访问请求和资源访问控制策略的合约函数,能够根据星际文件系统代理层上传的资源访问请求来评估资源访问者的访问权限,匹配相关资源访问控制策略并得出最后的资源访问请求结果。6.一种基于如权利要求1所述协作...

【专利技术属性】
技术研发人员:吕跃华杨朔金山沈凯裘诚杨威俞东进韦懿杰孙笑笑
申请(专利权)人:浙江天正信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1