CN110288307B - 基于Fabric区块链的智能合约协同开发***及数据处理方法 - Google Patents
基于Fabric区块链的智能合约协同开发***及数据处理方法 Download PDFInfo
- Publication number
- CN110288307B CN110288307B CN201910394425.8A CN201910394425A CN110288307B CN 110288307 B CN110288307 B CN 110288307B CN 201910394425 A CN201910394425 A CN 201910394425A CN 110288307 B CN110288307 B CN 110288307B
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- development
- project
- collaborative
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于互联网数据存储技术领域,公开了一种基于Fabric区块链的智能合约协同开发***及数据处理方法,按照整体架构分为***数据存储访问层、***业务逻辑层和***用户交互界面层。本发明通过采用***架构设计以及***各功能模块的具体功能实现,完成了整个基于Fabric区块链的智能合约协同开发***,并解决了传统协同办公***存在的各种问题。区块链去中心化账本存储技术解决了“中心化”存储带来的单点故障以及故障难以追责等信任和安全问题;底层Fabric联盟链可以使协同开发***适用于企业联盟办公解决了仅支持单一企业内部办公的问题。
Description
技术领域
本发明属于互联网数据存储技术领域,尤其涉及一种基于Fabric区块链的智能合约协同开发***及数据处理方法。
背景技术
目前,最接近的现有技术:协同软件办公***作为当今时代各企业用户方便快捷协同办公的最有效方案,在经过十几年的发展和完善之后,现在已经是国内以及全世界普及使用的办公技术,协同办公技术的使用节约了许多时间成本并减少了办公过程中其他无关紧要的麻烦,显著提升了协同办公效率。现有协同办公***主要使用的技术就是业务流程管理技术与Web应用***开发技术结合共同实现企业内部协同办公的软件***如财务管理***、人力资源管理***、项目申报***等。这些协同办公***的***架构大多是采用中心化的***架构,而***过度的中心化就会因为***数据存储太过集中导致的数据丢失等安全隐患。通过对现有协同办公软件***的分析,首先多数协同办公***属于企业定制,功能以及结构比较固定,不能在多个企业或者组织组成的联盟中使用;其次大多数办公***还处于一种中心化的架构,缺乏信任,部分***实现了分布式但存在技术难度大、成本高等问题;最后由于现有协同办公***使用传统技术架构,数据存储比较单一,***数据容易遭到恶意修改或破坏,例如高权限的管理员可以操作***后台数据,使整个***的数据变更,***安全不能保证。
综上所述,现有技术存在的问题是:现有协同办公***存在为中心化的***存储架构很容易导致出现单点故障、数据丢失、出现故障难以追责以及仅支持单一企业内部办公等问题。这些故障的出现都是由于其传统中心化的***架构导致***容错性较弱,***信任的建立需要依靠第三方来实现,当***架构收到攻击时会导致整个***的瘫痪。
解决上述技术问题的难度:由于传统的中心化架构已经很成熟而且易于维护,在不需要建立高度信任的基础上基于现有技术很容易实现。而去中心化的***架构是能够建立高度信任的,其底层通过共识网络建立信任共识,但其实现成本相比之前较高,实现难度较大。
解决上述技术问题的意义:当通过技术手段解决了以上问题时就会显著提高***的安全可靠性,不在依靠第三方来建立信任。
发明内容
针对现有技术存在的问题,本发明提供了一种基于Fabric区块链的智能合约协同开发***及数据处理方法。
本发明是这样实现的,一种基于Fabric区块链的智能合约协同开发***,所述基于Fabric区块链的智能合约协同开发***的整体架构分为***数据存储访问层、***业务逻辑层和***用户交互界面层;
***数据存储访问层,用于联盟节点的部署以及利用其去中心化存储特性存放***的业务数据,存储***平台中不重要协同管理流程数据;
***业务逻辑层,用于区块链业务网络设计和业务流程管理设计;
***用户交互界面层,用户通过在浏览器端操作就可以实现底层的区块链业务逻辑。
进一步,所述***数据存储访问层包括:
Fabric区块链分布式存储账本,包括联盟节点的部署以及利用其去中心化存储特性存放***的业务数据;
由用于存储***协同流程管理数据的传统中心化数据库;
所述***业务逻辑层的区块链业务网络设计基于底层Fabric网络使用Hyperledger Composer的一系列组件工具对底层业务网络进行设计并向上提供 RESTAPIs服务接口;业务流程管理设计是使用传统业务流程管理和服务组合技术对业务网络服务接口进行服务编排组合并对智能合约流程管理业务进行实现;
所述***用户交互界面层包含***各功能模块业务逻辑的浏览器端页面设计。
进一步,所述基于Fabric区块链的智能合约协同开发***的平台功能包括:***用户模块、协同流程模块、智能合约模块以及***管理模块;
***用户模块,用于向***中注册添加***管理员、项目负责人以及项目开发人员的用户个人基本信息,同时***通过设置访问控制规则对***各类用户进行权限控制;***平台通过***用户模块进行***用户的管理,包括***用户信息在区块链中的存储,***各类用户登录退出***平台过程中对区块链中存储的用户信息、用户权限的校验;
协同流程模块,用于设计、部署、启动和结束智能合约协同开发流程;
智能合约模块,用于结合协同流程模块实现项目负责人创建智能合约、发布智能合约开发任务、项目开发人员更新智能合约以及项目开发人员审核验收智能合约;
***管理模块,用于对***注册用户进行身份管理、***故障追责时对***历史交易信息进行检索查询以及对***业务网络进行版本升级;身份管理包括身份Card的颁发、绑定、撤销以及查询功能;历史交易检索是根据区块链底层数据不可篡改的特性,当有非法操作时进行查证。
本发明的另一目的在于提供一种基于所述基于Fabric区块链的智能合约协同开发***的数据处理方法,所述基于Fabric区块链的智能合约协同开发***的数据处理方法包括:
传统中心化数据库和由区块链节点共同维护的去中心化Fabric区块链存储网络,用于存储访问***平台数据信息;
使用Hyperledger Composer组件工具构建符合智能合约协同开发***的功能需求的业务网络并部署在Fabric区块链网络当中;使用Web应用开发技术以及业务流程管理技术对业务网络RESTFul APIs服务接口进行编排组合最终完成智能合约协同开发***;
对***业务逻辑层完成的智能合约协同开发***各功能模块进行前端界面设计。
进一步,所述基于Fabric区块链的智能合约协同开发***的数据处理方法的Fabric区块链存储网络搭建包括:
1)下载符合版本需求的Hyperledger Fabric,使用虚拟化软件构建出4台符合内存需求的虚拟机并配有64位Ubuntu16.04LTS操作***;
2)使用Docker容器技术分别在三台虚拟机上部署三个Peer节点,每台虚拟机代表一个企业组织,每个组织中的三台Peer几点代表企业内部部署的节点;
3)使用Docker容器技术在另一台虚拟机上部署提供认证功能的CA节点、提供存储访问功能的CouchDB节点以及为交易提供共识的Orderer节点;
4)测试Fabrc底层区块链网络是否部署完成。
进一步,所述基于Fabric区块链的智能合约协同开发***的数据处理方法的后台业务逻辑实现的步骤包括:
1)在Fabric区块链网络搭建成功的基础上安装Hyperledger Composer组件工具;
2)使用Composer工具分别实现***业务网络的业务网络归档文件,包括域模型定义、业务逻辑设计、访问控制规则设计以及查询设计;
3)将业务网络归档文件部署安装在区块链网络中,最终业务网络归档文件被解析成Fabric区块链中的链码运行;
4)使用REST Server服务器为区块链业务网络生成包含各功能服务的 RESTFulAPIs接口;
5)使用Web应用程序开发框架以及结合工作流管理技术设计智能合约协同开发工作流程并对Fabric业务网络提供的RESTFul APIs进行封装组合调用,最终实现***的各功能模块。
进一步,所述基于Fabric区块链的智能合约协同开发***的数据处理方法的***用户的注册登录流程包括:
(1)首先判断***用户是否注册。如果用户未在***中注册,则执行第(2) 步对用户进行注册入链;
(2)通过***管理员对用户基本信息注册入链并为用户进行身份绑定,用户基本信息包括用户ID、姓名、所属组织、电话、邮箱以及地址;
(3)判断***用户是否注册并绑定身份成功,如果不成功则重新执行第(2) 步,如果成功则继续执行;
(4)用户通过***登录界面输入用户名和密码信息进行***登录操作,***通过验证输入信息合法性以及通过使用智能合约交易操作与区块链底层存储的用户信息进行对比核对;如果核对成功则用户进入***界面,否则重新输入用户名和密码。
进一步,所述基于Fabric区块链的智能合约协同开发***的数据处理方法的智能合约协同开发流程管理步骤包括:
(1)首先使用Activiti流程设计器设计的智能合约协同开发工作流BPMN 文件,包括流程中变量设计以及各类参数定义;
(2)项目负责人或者***管理员进入***并在***中把设计好的工作流文件部署到***中;如果部署成功执行下一步,否则重新部署;
(3)项目负责人新建智能合约并为智能合约启动协同开发工作流实例。如果流程实例启动成功则执行下一步,否则重新启动流程实例;
(4)项目负责人为特定智能合约启动开发流程实例之后需要发布合约,也就是为智能合约开发任务指定项目开发者人员以及智能合约开发规则等;
(5)按照协同开发工作流任务流转,该步骤需要不同的项目开发者分别完成更新智能合约的任务,也就是按照智能合约开发规则实现不同开发者需要实现的部分;
(6)判断智能合约所有项目开发者是否对合约完成了更新任务,如果都完成了更新任务执行下一步,否则继续等待开发者对智能合约进行更新;
(7)项目负责人在所有开发者更新完成智能合约之后需要对智能合约功能以及语法等进行审核验证;如果智能合约符合规范,则智能合约开发生命周期结束,合约开发成功;如果审核不合格,则返回到第(4)步对智能合约进行重新开发。
进一步,所述基于Fabric区块链的智能合约协同开发***的数据处理方法的智能合约协同开发***具体功能执行过程包括:
(1)***管理员为项目负责人以及项目开发者注册用户信息以及分别为他们进行不同权限的身份管理,包括身份颁发、绑定、撤销;
(2)项目负责人通过输入用户信息进行***登录,在***中部署已经设计好的智能合约协同开发流程;
(3)项目负责人新建一个智能合约,并为该智能合约启动一个智能合约协同开发实例项目,同时设定智能合约开发规则、功能需求以及智能合约各部分的项目开发人员;此时智能合约协同开发流程已启动;
(4)项目开发人员登录***并查看个人开发任务,如有智能合约开发任务则需要根据合约功能需求以及规则对智能合约进行更新操作,合约代码信息将会永久保存在区块链账本中;
(5)项目负责人同样需要实时登录***查看智能合约开发进度,当一个合约的所有项目开发人员对智能合约完成了更新操作之后由项目负责人完成对智能合约审核验证任务;
(6)当***出现故障需要查证或者***业务网络需要添加功能以及修复漏洞时需要管理员用户对区块链交易进行检索和升级业务网络。
本发明的另一目的在于提供一种应用所述基于Fabric区块链的智能合约协同开发***的互联网协同软件办公***。
综上所述,本发明的优点及积极效果为:本发明通过采用***架构设计以及***各功能模块的具体功能实现,完成了整个基于Fabric区块链的智能合约协同开发***,并解决了传统协同办公***存在的各种问题。区块链去中心化账本存储技术解决了“中心化”存储带来的单点故障以及故障难以追责等信任和安全问题;底层Fabric联盟链可以使协同开发***适用于企业联盟办公解决了仅支持单一企业内部办公的问题。
附图说明
图1是本发明实施例提供的基于Fabric区块链的智能合约协同开发***架构图。
图2是本发明实施例提供的智能合约协同开发***功能模块图。
图3是本发明实施例提供的智能合约协同开发工作流程图。
图4是本发明实施例提供的***用户登录流程图。
图5是本发明实施例提供的协同开发流程管理流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明现有协同办公***存在为中心化的***存储架构很容易导致出现单点故障、数据丢失、出现故障难以追责以及仅支持单一企业内部办公等问题;提供了一种基于Fabric区块链的智能合约协同开发***,通过把区块链技术中的去中心化、消息数据不可篡改,交易操作可追溯等特性与传统协同办公***结合,开发出了一款拥有去中心化部署的智能合约协同开发***,解决了现有***中存在中心化存储带来的单点故障、数据丢失以及故障不可追溯等问题,以及使用Fabric联盟链作为底层区块链使得***可以适用于多企业协同办公的场景中。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于Fabric区块链的智能合约协同开发***的整体架构分为三层,分别是***数据存储访问层、***业务逻辑层和***用户交互界面层。
***数据存储访问层可以分为:
Fabric区块链分布式存储账本,主要包括联盟节点的部署以及利用其去中心化存储特性存放***主要业务数据等信息。
由用于存储***协同流程管理数据的传统中心化数据库,可以存储***平台中不重要协同管理流程数据,为Fabric区块链层减少数据存储压力并提高***办公效率。
***业务逻辑层是***平台的核心业务层,该层主要涉及两个方面,区块链业务网络设计和业务流程管理设计。区块链业务网络设计基于底层Fabric网络使用Hyperledger Composer的一系列组件工具对底层业务网络进行设计并向上提供REST APIs服务接口;业务流程管理设计是使用传统业务流程管理和服务组合技术对业务网络服务接口进行服务编排组合并对智能合约流程管理等业务进行实现。
***用户交互界面层主要包含***各功能模块业务逻辑的浏览器端页面设计,用户通过在浏览器端操作就可以实现底层的区块链业务逻辑。用户在页面的增删改操作对应底层数据的增删改,但是操作记录会被永久保存在底层区块中,用户在页面的查询操作则是通过***底层接口获取底层存储的数据信息并在前端展示。
本发明实施例提供的基于Fabric区块链的智能合约协同开发***从智能合约协同开发***平台功能方面考虑主要包括四大功能模块:***用户模块、协同流程模块、智能合约模块以及***管理模块。***架构中业务逻辑层的工作就是对***四大功能模块的业务逻辑进行实现。***用户交互界面层则是对平台各大功能模块分别进行界面设计。***数据存储访问层主要是对***数据的存储于访问。
本发明实施例提供的基于Fabric区块链的智能合约协同开发******平台总体设计如下:
(1)***数据存储层首先需要搭建***底层区块链网络和传统中心化数据库。区块链网络中需要部署多个组织,每个组织代表不同的企业,而每个组织中分别需要部署多个Peer节点代表企业中的不同部门等,现实用户通过接入 Peer节点与***进行交互。除此以外,区块链网络中还需要部署CA节点为区块链网络提供认证功能以及Orderer节点为区块链网络交易进行共识功能。
(2)***业务逻辑层在数据存储层部署成功的基础上使用区块链业务网络开发技术对智能合约协同开发***的各功能模块进行设计,而业务网络的构成分别有域模型设计、业务逻辑设计、访问控制规则设计以及查询设计。域模型设计主要是定义***业务网络需要定义的各种资产、参与者、交易处理器以及事件等;业务逻辑设计是对域模型中定义的交易进行具体逻辑设计;访问控制规则设计是对域模型中定义的模型资源以及业务逻辑中实现的交易进行资源访问权限控制规则设计;查询设计则是对业务网络中不同的资源进行各种条件查询设计并返回符合条件的资源数据。通过这四个部分的协同设计实现了业务网络定义,然后通过将业务网络归档文件部署到区块链网络中解析成智能合约运行在区块链网络中。最后通过使用业务流程管理以及Web开发等技术对业务网络提供的RESTFul APIs服务接口进行编排组合等实现了整个***的四大核心功能模块。
(3)***用户交互界面层主要实现***各功能模块的前端页面设计,为现实企业用户提供操作方便,用户只需要在浏览器端进行***登录就可以进行相应权限操作。
根据上述所知智能合约协同开发***共有四个功能模块,每个功能模块分别对应不同的业务功能需求。下面分别对***各功能模块进行介绍。
***用户模块主要用于向***中注册添加***管理员、项目负责人以及项目开发人员等用户个人基本信息,同时***通过设置访问控制规则对***各类用户进行权限控制。***平台通过***用户模块进行***用户的管理,包括***用户信息在区块链中的存储,***各类用户登录退出***平台过程中对区块链中存储的用户信息、用户权限的校验等。
协同流程模块主要用于设计、部署、启动和结束智能合约协同开发流程。整个***的协同特性就体现在该模块。协同开发***可以根据不同的协同开发需求设计不同的协同开发工作流,对于本***要设计部署的智能合约协同开发流程主要按照当下最流行的Hyperledger Composer工具的智能合约业务网络的开发方式进行协同流程设计。协同开发工作流图如图所示。
智能合约模块是***功能实现的重点,该模块结合协同流程模块实现项目负责人创建智能合约、发布智能合约开发任务、项目开发人员更新智能合约以及项目开发人员审核验收智能合约等功能,这些功能对应整个智能合约开发任务的生命周期。
***管理模块的功能主要是对***注册用户进行身份管理、***故障追责时对***历史交易信息进行检索查询以及对***业务网络进行版本升级。身份管理包括身份Card的颁发、绑定、撤销以及查询功能。历史交易检索是根据区块链底层数据不可篡改的特性,当有非法操作时进行查证。业务网络版本升级是在***业务网络需要添加新功能或者漏洞修复时对***业务网络进行部署升级。
下面结合附图对本发明的应用原理作进一步的描述。
如图1所示,本发明实施例提供的基于Fabric区块链的智能合约协同开发***架构,包括:
***数据存储访问层:分为由MySQL、Oracle以及SQLServer等构成的传统中心化数据库和由区块链节点共同维护的去中心化Fabric区块链存储网络,它们都用于存储访问***平台数据信息。
***业务逻辑层:由两部分组成,首先使用Hyperledger Composer组件工具构建符合智能合约协同开发***的功能需求的业务网络并部署在Fabric区块链网络当中;然后使用Web应用开发技术以及业务流程管理技术对业务网络 RESTFul APIs服务接口进行编排组合最终完成智能合约协同开发***的四大功能模块后台逻辑,功能模块包括***用户模块、协同流程模块、智能合约模块以及***管理模块。
***用户交互界面层:该层对***业务逻辑层完成的智能合约协同开发***各功能模块进行前端界面设计。
本发明***数据存储访问层的Fabric区块链存储网络搭建可以分为以下步骤:
1)下载符合版本需求的Hyperledger Fabric,使用虚拟化软件构建出4台符合内存需求的虚拟机并配有64位Ubuntu16.04LTS操作***;
2)使用Docker容器技术分别在三台虚拟机上部署三个Peer节点,每台虚拟机代表一个企业组织,每个组织中的三台Peer几点代表企业内部部署的节点;
3)使用Docker容器技术在另一台虚拟机上部署提供认证功能的CA节点、提供存储访问功能的CouchDB节点以及为交易提供共识的Orderer节点;
4)测试Fabrc底层区块链网络是否部署完成。Fabric区块链网络如图1中所示。
本发明***业务逻辑层的各功能模块后台业务逻辑实现的步骤可以分为:
1)在Fabric区块链网络搭建成功的基础上安装Hyperledger Composer组件工具;
2)使用Composer工具分别实现***业务网络的业务网络归档文件,包括域模型定义、业务逻辑设计、访问控制规则设计以及查询设计;
3)将业务网络归档文件部署安装在区块链网络中,最终业务网络归档文件被解析成Fabric区块链中的链码运行;
4)使用REST Server服务器为区块链业务网络生成包含各功能服务的 RESTFulAPIs接口;
5)使用Web应用程序开发框架以及结合工作流管理技术(Activiti)设计智能合约协同开发工作流程并对Fabric业务网络提供的RESTFul APIs进行封装组合调用,最终实现***的各功能模块。
本发明智能合约协同开发***根据***功能模块划分包括:***用户模块、协同流程模块、智能合约模块以及***管理模块。其中***用户模块、智能合约模块和***管理员模块关联底层Fabric区块链存储机制而协同流程模块关联传统中心化数据库存储协同流程资源信息。
***用户模块主要用于向***中添加***用户的个人基本信息,包括用户 ID、姓名、所属组织、电话、邮箱以及地址等,同时***通过设置访问控制规则对***各类用户进行权限控制。***用户根据角色划分可以分为***管理员、项目负责人以及项目开发者,其中***管理员拥有的权限相对较高,项目负责人和项目开发人员的用户注册以及身份管理都需要***管理员操作;项目负责人在***平台中的角色是发布智能合约开发任务的用户,可以指定参与开发智能合约的开发人员并且可以审核智能合约是否完成;项目开发人员则需要实时查看个人智能合约开发任务完成智能合约更新操作。如图2所示,***用户模块包含了添加***管理员、项目负责人以及项目开发人员等功能。
本******用户模块中***用户的注册登录流程如图4所示,详细步骤如下:
(1)首先判断***用户是否注册。如果用户未在***中注册,则执行第(2) 步对用户进行注册入链;
(2)通过***管理员对用户基本信息注册入链并为用户进行身份绑定,用户基本信息包括用户ID、姓名、所属组织、电话、邮箱以及地址等;
(3)判断***用户是否注册并绑定身份成功,如果不成功则重新执行第(2) 步,如果成功则继续执行;
(4)用户通过***登录界面输入用户名和密码信息进行***登录操作,***通过验证输入信息合法性以及通过使用智能合约交易操作与区块链底层存储的用户信息进行对比核对。如果核对成功则用户进入***界面,否则重新输入用户名和密码。
协同流程模块主要用于设计、部署、启动和结束协同开发智能合约的流程,整个***的协同特性就体现在该模块,***流程管理数据存储在传统数据库中为***减压。对本发明的***而言,智能合约协同开发工作流程如图3所示,该协同开发流程遵照Hyperledger Composer工具组件的业务网络智能合约开发步骤而设计,所以项目负责人需要协同开发的智能合约都需要按照该流程进行开发。
智能合约模块是***功能实现的重点,该模块结合协同流程模块实现项目负责人员创建智能合约、发布智能合约的开发任务、项目开发人员更新智能合约以及项目开发人员审核验收智能合约,智能合约模块主要实现智能合约的功能需求完善工作。其功能描述如图2所示。
本发明协同流程模块中对智能合约协同开发流程管理步骤如下:
本发明智能合约模块结合协同流程模块共同实现了智能合约协同开发功能,协同流程管理和智能合约开发流程图如图5所示,具体步骤如下:
(1)首先使用Activiti流程设计器设计如图3所示的智能合约协同开发工作流BPMN文件,包括流程中变量设计以及各类参数定义;
(2)项目负责人或者***管理员进入***并在***中把设计好的工作流文件部署到***中。如果部署成功执行下一步,否则重新部署;
(3)项目负责人新建智能合约并为智能合约启动协同开发工作流实例。如果流程实例启动成功则执行下一步,否则重新启动流程实例;
(4)项目负责人为特定智能合约启动开发流程实例之后需要发布合约,也就是为智能合约开发任务指定项目开发者人员以及智能合约开发规则等;
(5)按照协同开发工作流任务流转,该步骤需要不同的项目开发者分别完成更新智能合约的任务,也就是按照智能合约开发规则实现不同开发者需要实现的部分;
(6)判断智能合约所有项目开发者是否对合约完成了更新任务,如果都完成了更新任务执行下一步,否则继续等待开发者对智能合约进行更新;
(7)项目负责人在所有开发者更新完成智能合约之后需要对智能合约功能以及语法等进行审核验证。如果智能合约符合规范,则智能合约开发生命周期结束,合约开发成功;如果审核不合格,则返回到第(4)步对智能合约进行重新开发。
***管理模块的功能主要是对***注册用户进行身份管理、当***出现问题追责时对***历史交易信息进行检索查询以及对业务网络进行版本升级等。第一个部分是***用户身份的管理,因为***用户分别扮演不同的角色,而不同的角色也相应的有不同的权限,所以需要为***用户进行身份的颁发、绑定、撤销以及查询来管理***用户的身份,为***提供***身份管理功能。第二部分是历史交易的检索,由于整个***主要功能是智能合约的协同开发,用户信息、智能合约信息以及***交易信息都被永久的记录在区块链***数据库中。当***出现故障或者需要进行责任追溯时,***管理员可以通过对***历史交易的检索进行交易分析查证。第三部分是管理员需要在业务网络版本更新时对业务网络进行升级,当整个业务网络需要添加新功能而重新构建之后,管理员需要执行相关操作进行业务网络升级。
本发明基于Fabric区块链的智能合约协同开发***具体功能执行过程如下:
(1)***管理员为项目负责人以及项目开发者注册用户信息以及分别为他们进行不同权限的身份管理,包括身份颁发、绑定、撤销等;
(2)项目负责人通过输入用户信息进行***登录,在***中部署已经设计好的智能合约协同开发流程,如图3所示;
(3)项目负责人新建一个智能合约,并为该智能合约启动一个智能合约协同开发实例项目,同时设定智能合约开发规则、功能需求以及智能合约各部分的项目开发人员等。此时智能合约协同开发流程已启动;
(4)项目开发人员登录***并查看个人开发任务,如有智能合约开发任务则需要根据合约功能需求以及规则对智能合约进行更新操作,合约代码信息将会永久保存在区块链账本中;
(5)项目负责人同样需要实时登录***查看智能合约开发进度,当一个合约的所有项目开发人员对智能合约完成了更新操作之后由项目负责人完成对智能合约审核验证任务;
(6)当***出现故障需要查证或者***业务网络需要添加功能以及修复漏洞时就需要管理员用户对区块链交易进行检索和升级业务网络。
本发明利用区块链去中心化等特性解决了传统协同办公***的中心化存储带来的单点故障、数据丢失以及故障难以追责等信任和安全问题;通过Fabric 联盟链,使***用户,包括***管理员、项目负责人和项目开发者可以分别属于不同的企业组织,解决了仅支持单一企业内部办公的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于Fabric区块链的智能合约协同开发***,其特征在于,所述基于Fabric区块链的智能合约协同开发***的整体架构分为***数据存储访问层、***业务逻辑层和***用户交互界面层;
***数据存储访问层,用于联盟节点的部署以及利用其去中心化存储特性存放***的业务数据,存储***平台中不重要协同管理流程数据;
***业务逻辑层,用于区块链业务网络设计和业务流程管理设计;
***用户交互界面层,用户通过在浏览器端操作就可以实现底层的区块链业务逻辑;
所述***数据存储访问层包括:
Fabric区块链分布式存储账本,包括联盟节点的部署以及利用其去中心化存储特性存放***的业务数据;
传统中心化数据库,用于存储***协同流程管理数据的;
所述***业务逻辑层的区块链业务网络设计基于底层Fabric网络使用HyperledgerComposer的一系列组件工具对底层业务网络进行设计并向上提供RESTFulAPIs服务接口;业务流程管理设计是使用传统业务流程管理和服务组合技术对业务网络服务接口进行服务编排组合并对智能合约流程管理业务进行实现;
所述***用户交互界面层包含***各功能模块业务逻辑的浏览器端页面设计;
所述基于Fabric区块链的智能合约协同开发***的平台功能包括:***用户模块、协同流程模块、智能合约模块以及***管理模块;
***用户模块,用于向***中注册添加***管理员、项目负责人以及项目开发人员的用户个人基本信息,同时***通过设置访问控制规则对***各类用户进行权限控制;***平台通过***用户模块进行***用户的管理,包括***用户信息在区块链中的存储,***各类用户登录退出***平台过程中对区块链中存储的用户信息、用户权限的校验;
协同流程模块,用于设计、部署、启动和结束智能合约协同开发流程;
智能合约模块,用于结合协同流程模块实现项目负责人创建智能合约、发布智能合约开发任务、项目开发人员更新智能合约以及项目开发人员审核验收智能合约;
***管理模块,用于对***注册用户进行身份管理、***故障追责时对***历史交易信息进行检索查询以及对***业务网络进行版本升级;身份管理包括身份Card的颁发、绑定、撤销以及查询功能;历史交易检索是根据区块链底层数据不可篡改的特性,当有非法操作时进行查证;
所述基于Fabric区块链的智能合约协同开发***的数据处理方法包括:
传统中心化数据库和由区块链节点共同维护的去中心化Fabric区块链存储网络,用于存储访问***平台数据信息;
使用Hyperledger Composer组件工具构建符合智能合约协同开发***的功能需求的业务网络并部署在Fabric区块链网络当中;使用Web应用开发技术以及业务流程管理技术对业务网络RESTFulAPIs服务接口进行编排组合最终完成智能合约协同开发***;
对***业务逻辑层完成的智能合约协同开发***各功能模块进行前端界面设计。
2.如权利要求1所述的基于Fabric区块链的智能合约协同开发***,其特征在于,所述基于Fabric区块链的智能合约协同开发***的数据处理方法的智能合约协同开发流程管理步骤包括:
(1)首先使用Activiti流程设计器设计的智能合约协同开发工作流BPMN文件,包括流程中变量设计以及各类参数定义;
(2)项目负责人或者***管理员进入***并在***中把设计好的工作流文件部署到***中;如果部署成功执行下一步,否则重新部署;
(3)项目负责人新建智能合约并为智能合约启动协同开发工作流实例;如果流程实例启动成功则执行下一步,否则重新启动流程实例;
(4)项目负责人为特定智能合约启动开发流程实例之后需要发布合约,也就是为智能合约开发任务指定项目开发者人员以及智能合约开发规则等;
(5)按照协同开发工作流任务流转,该步骤需要不同的项目开发者分别完成更新智能合约的任务,也就是按照智能合约开发规则实现不同开发者需要实现的部分;
(6)判断智能合约所有项目开发者是否对合约完成了更新任务,如果都完成了更新任务执行下一步,否则继续等待开发者对智能合约进行更新;
(7)项目负责人在所有开发者更新完成智能合约之后需要对智能合约功能以及语法等进行审核验证;如果智能合约符合规范,则智能合约开发生命周期结束,合约开发成功;如果审核不合格,则返回到第(4)步对智能合约进行重新开发。
3.如权利要求1所述的基于Fabric区块链的智能合约协同开发***,其特征在于,所述基于Fabric区块链的智能合约协同开发***的数据处理方法的智能合约协同开发***具体功能执行过程包括:
(1)***管理员为项目负责人以及项目开发者注册用户信息以及分别为他们进行不同权限的身份管理,包括身份颁发、绑定、撤销;
(2)项目负责人通过输入用户信息进行***登录,在***中部署已经设计好的智能合约协同开发流程;
(3)项目负责人新建一个智能合约,并为该智能合约启动一个智能合约协同开发实例项目,同时设定智能合约开发规则、功能需求以及智能合约各部分的项目开发人员;此时智能合约协同开发流程已启动;
(4)项目开发人员登录***并查看个人开发任务,如有智能合约开发任务则需要根据合约功能需求以及规则对智能合约进行更新操作,合约代码信息将会永久保存在区块链账本中;
(5)项目负责人同样需要实时登录***查看智能合约开发进度,当一个合约的所有项目开发人员对智能合约完成了更新操作之后由项目负责人完成对智能合约审核验证任务;
(6)当***出现故障需要查证或者***业务网络需要添加功能以及修复漏洞时需要管理员用户对区块链交易进行检索和升级业务网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910394425.8A CN110288307B (zh) | 2019-05-13 | 2019-05-13 | 基于Fabric区块链的智能合约协同开发***及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910394425.8A CN110288307B (zh) | 2019-05-13 | 2019-05-13 | 基于Fabric区块链的智能合约协同开发***及数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110288307A CN110288307A (zh) | 2019-09-27 |
CN110288307B true CN110288307B (zh) | 2022-04-29 |
Family
ID=68001525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910394425.8A Active CN110288307B (zh) | 2019-05-13 | 2019-05-13 | 基于Fabric区块链的智能合约协同开发***及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110288307B (zh) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026429A (zh) * | 2019-11-29 | 2020-04-17 | 成都四方伟业软件股份有限公司 | 一种基于区块链的多后台管理方法及*** |
CN111178695B (zh) * | 2019-12-13 | 2023-05-02 | 广东工业大学 | 一种区块链使能的车间动态协调运行方法 |
CN111083223B (zh) * | 2019-12-18 | 2020-09-01 | 安徽兆尹信息科技股份有限公司 | 一种用于资产证券化处理子平台的区块链互联***及其互联数据通信方法 |
CN111163149B (zh) * | 2019-12-25 | 2022-11-29 | 江苏众享金联科技有限公司 | 一种基于区块链的智能合约平台方法 |
CN111210300B (zh) * | 2019-12-26 | 2024-02-02 | 广东工业大学 | 一种基于智能合约的分步式协同制造方法 |
CN111461917B (zh) * | 2020-02-11 | 2022-06-14 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的电力***物资合同管理*** |
CN111369221B (zh) * | 2020-03-09 | 2023-07-04 | 浙江大学 | 面向区块链监管的智能合约监控方法及*** |
CN111381863B (zh) * | 2020-03-17 | 2023-03-07 | 成都创流科技有限责任公司 | 基于区块链技术的app交易及自动化上线方法及上线*** |
CN111427896A (zh) * | 2020-04-10 | 2020-07-17 | 上海卓繁信息技术股份有限公司 | 一种基于区块链的大数据存储平台 |
CN111539693B (zh) * | 2020-04-29 | 2023-10-13 | 重庆忽米网络科技有限公司 | 一种基于区块链的数据防篡改考核方法 |
CN111596954B (zh) * | 2020-05-12 | 2023-08-01 | 杭州溪塔科技有限公司 | 一种基于区块链的分布式版本控制方法及*** |
CN111651169B (zh) * | 2020-05-19 | 2023-07-04 | 鼎链数字科技(深圳)有限公司 | 基于web容器的区块链智能合约运行方法及*** |
CN111708835B (zh) * | 2020-05-28 | 2023-04-25 | 西安纸贵互联网科技有限公司 | 区块链数据存储方法及装置 |
CN112131307B (zh) * | 2020-07-15 | 2021-05-25 | 北京天德科技有限公司 | 一种新型多区块链与多智能合约交互架构 |
CN111967057A (zh) * | 2020-07-22 | 2020-11-20 | 复旦大学 | 一种基于Fabric的物资援助溯源*** |
CN112001715B (zh) * | 2020-08-10 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种分布式前端工具的使用方法及*** |
CN112039986A (zh) * | 2020-08-28 | 2020-12-04 | 刘凤 | 一种实现企业各部门之间的信息交互***及方法 |
CN112100635B (zh) * | 2020-09-17 | 2024-02-09 | 博雅正链(北京)科技有限公司 | 基于智能合约与工作流架构的执法返还***及方法 |
CN112199735B (zh) * | 2020-09-25 | 2024-04-26 | 博雅正链(北京)科技有限公司 | 基于区块链的垂直电商交易平台 |
CN112184446A (zh) * | 2020-09-30 | 2021-01-05 | 上海旺链信息科技有限公司 | 基于区块链的新型组织管理处理方法、***及存储介质 |
CN112579697A (zh) * | 2020-10-10 | 2021-03-30 | 国网浙江省电力有限公司杭州供电公司 | 一种基于区块链架构的工程管理*** |
CN112396526A (zh) * | 2020-10-22 | 2021-02-23 | 安徽中科晶格技术有限公司 | 一种基于区块链的去中心化web应用管理***及方法 |
CN112367194B (zh) * | 2020-10-27 | 2022-03-25 | 四川长虹电器股份有限公司 | 一种Fabric智能合约更新通道配置的方法 |
CN112489484A (zh) * | 2020-11-18 | 2021-03-12 | 中国人民解放军国防科技大学 | 一种基于区块链技术的智慧城市路边停车管理*** |
CN112597140B (zh) * | 2020-12-24 | 2021-09-21 | 河南数权科技有限公司 | 数据登记与可信流通***、方法、电子设备及存储介质 |
CN113031968B (zh) * | 2021-01-19 | 2022-06-14 | 杭州电子科技大学 | 编排图驱动的区块链流程执行***及其使用方法 |
CN113094428B (zh) * | 2021-03-10 | 2024-01-09 | 贾晓丰 | 一种区域数据管理方法、装置和*** |
CN112949778A (zh) * | 2021-04-17 | 2021-06-11 | 深圳前海移联科技有限公司 | 基于局部敏感哈希的智能合约分类方法、***及电子设备 |
CN113329060B (zh) * | 2021-05-07 | 2024-02-02 | 河海大学 | 一种基于Fabric联盟链的实习经历证明***及方法 |
CN113312035B (zh) * | 2021-05-17 | 2023-06-06 | 南京大学 | 一种面向Hyperledger Fabric的智能合约开发插件的实现方法 |
CN113037505B (zh) * | 2021-05-31 | 2021-09-07 | 北京连琪科技有限公司 | 一种可信Web应用的实现方法及*** |
CN113362024B (zh) * | 2021-06-03 | 2022-04-26 | 深圳市赞悦科技有限公司 | 一种基于区块链的应用程序开发多模块协同*** |
CN113487202B (zh) * | 2021-07-14 | 2023-04-07 | 海南马良师傅网络科技有限公司 | 基于区块链管理的仪器搬迁监管方法 |
CN113298506B (zh) * | 2021-07-27 | 2021-10-22 | 江苏荣泽信息科技股份有限公司 | 区块链业务协同方法及平台 |
CN113726822B (zh) * | 2021-11-02 | 2022-02-11 | 深圳大学 | 一种工业互联网异构设备的通用区块链*** |
CN114598496B (zh) * | 2022-01-24 | 2024-02-20 | 华数云科技有限公司 | 一种基于HyperLedger Fabric***链码的联盟链监管***与方法 |
CN114826618B (zh) * | 2022-05-06 | 2023-07-21 | 珠海复旦创新研究院 | 一种证书分发与访问控制一体化*** |
CN115065690A (zh) * | 2022-06-13 | 2022-09-16 | 四川省自主可控电子信息产业有限责任公司 | 一种基于不同异构指令集的去中心化***及方法 |
CN115002119A (zh) * | 2022-08-01 | 2022-09-02 | 云上人和物联科技有限公司 | 一种基于不同异构指令集的去中心化***及方法 |
CN115392875B (zh) * | 2022-08-31 | 2024-02-27 | 广州市城市规划设计有限公司 | 一种传统民居保护数据***及数据处理方法 |
CN116934344B (zh) * | 2023-09-18 | 2024-01-05 | 广东工业大学 | 一种基于区块链的微电网交易方法及*** |
CN117709652A (zh) * | 2023-12-15 | 2024-03-15 | 南京智凝科技有限公司 | 基于智能合约与rpa的建筑工程供应流程协同与控制*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101242A (zh) * | 2016-06-24 | 2016-11-09 | 深圳前海微众银行股份有限公司 | 区块链云服务平台的构建方法和装置 |
CN108418795A (zh) * | 2018-01-30 | 2018-08-17 | 百度在线网络技术(北京)有限公司 | 跨区块链的数据访问方法、装置、***及计算机可读介质 |
CN108833081A (zh) * | 2018-06-22 | 2018-11-16 | 中国人民解放军国防科技大学 | 一种基于区块链的设备组网认证方法 |
CN108876370A (zh) * | 2018-06-12 | 2018-11-23 | 北京航空航天大学 | 一种异构多链架构下跨区块链共享开放数据的体系架构 |
CN109615339A (zh) * | 2018-12-24 | 2019-04-12 | 浙江大学 | 基于联盟链的志愿者捐献服务一体化公益众筹***及方法 |
CN109615517A (zh) * | 2018-12-07 | 2019-04-12 | 北京瑞卓喜投科技发展有限公司 | 一种智能合约执行方法及智能合约执行*** |
CN109636367A (zh) * | 2018-12-14 | 2019-04-16 | 浙江工商大学 | 一种基于智能合约的多源数字教育资源确权方法 |
CN109711120A (zh) * | 2018-12-17 | 2019-05-03 | 浙江大学 | 一种基于区块链数字水印的数字资源侵权追踪方法与*** |
CN109743328A (zh) * | 2019-01-17 | 2019-05-10 | 杭州趣链科技有限公司 | 一种区块链开放云服务平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810073B (zh) * | 2018-04-05 | 2021-05-04 | 西安电子科技大学 | 一种基于区块链的物联网多域访问控制***及方法 |
-
2019
- 2019-05-13 CN CN201910394425.8A patent/CN110288307B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101242A (zh) * | 2016-06-24 | 2016-11-09 | 深圳前海微众银行股份有限公司 | 区块链云服务平台的构建方法和装置 |
CN108418795A (zh) * | 2018-01-30 | 2018-08-17 | 百度在线网络技术(北京)有限公司 | 跨区块链的数据访问方法、装置、***及计算机可读介质 |
CN108876370A (zh) * | 2018-06-12 | 2018-11-23 | 北京航空航天大学 | 一种异构多链架构下跨区块链共享开放数据的体系架构 |
CN108833081A (zh) * | 2018-06-22 | 2018-11-16 | 中国人民解放军国防科技大学 | 一种基于区块链的设备组网认证方法 |
CN109615517A (zh) * | 2018-12-07 | 2019-04-12 | 北京瑞卓喜投科技发展有限公司 | 一种智能合约执行方法及智能合约执行*** |
CN109636367A (zh) * | 2018-12-14 | 2019-04-16 | 浙江工商大学 | 一种基于智能合约的多源数字教育资源确权方法 |
CN109711120A (zh) * | 2018-12-17 | 2019-05-03 | 浙江大学 | 一种基于区块链数字水印的数字资源侵权追踪方法与*** |
CN109615339A (zh) * | 2018-12-24 | 2019-04-12 | 浙江大学 | 基于联盟链的志愿者捐献服务一体化公益众筹***及方法 |
CN109743328A (zh) * | 2019-01-17 | 2019-05-10 | 杭州趣链科技有限公司 | 一种区块链开放云服务平台 |
Non-Patent Citations (1)
Title |
---|
基于Hyperledger_Fabric的区块链应用***云服务化;史文斌;《中国优秀硕士学位论文全文数据库,信息科技辑》;20190131;第2019年卷(第1期);正文第1-58页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110288307A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110288307B (zh) | 基于Fabric区块链的智能合约协同开发***及数据处理方法 | |
US20210226774A1 (en) | Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (dlt) using granular access objects and alfa/xacml visibility rules | |
Wöhrer et al. | Design patterns for smart contracts in the ethereum ecosystem | |
Alketbi et al. | Novel blockchain reference model for government services: Dubai government case study | |
CN108965468A (zh) | 区块链网络服务平台及其链码安装方法、存储介质 | |
US11853291B2 (en) | Privacy preserving architecture for permissioned blockchains | |
US11593321B2 (en) | Systems and methods of self-administered protocols on a blockchain platform | |
US9672488B1 (en) | Assessment construction tool | |
CN104216912A (zh) | 一种无侵入式的业务表单工作流化的实现方法与装置 | |
JP2008257674A (ja) | 知識管理システムおよびそれを使用したマネージメントソフトウェアを履行する方法、並びに、コンピュータ読み出し可能記録媒体 | |
CN112835985B (zh) | 一种基于分布式账本的空间数据共享***及方法 | |
Evermann et al. | Workflow management on proof-of-work blockchains: Implications and recommendations | |
US7636911B2 (en) | System and methods for capturing structure of data models using entity patterns | |
JP2023027775A (ja) | プライバシーを維持した監査可能アカウントのためのコンピュータ実装方法、コンピュータシステム及びコンピュータプログラム(プライバシーを維持した監査可能アカウント) | |
Olumofin et al. | A holistic architecture assessment method for software product lines | |
Evermann | Adapting workflow management systems to BFT blockchains–the YAWL example | |
JP2023538497A (ja) | 編集可能なブロックチェーン | |
Sato et al. | Operations smart contract to realize decentralized system operations workflow for consortium blockchain | |
Evermann et al. | Workflow management on BFT blockchains | |
CN116643722A (zh) | 一种开放式协同软件开发平台 | |
CN113067836B (zh) | 一种基于去中心化dns根区管理的智能合约*** | |
AU2022245375A1 (en) | Reducing transaction aborts in execute-order-validate blockchain models | |
Fang et al. | Using object oriented analysis design workflow engine for manufacturing industry in IoT | |
CN116521509A (zh) | 智能合约测试方法、装置、设备、存储介质及产品 | |
Sharma et al. | Use of Blockchain in Securing IoT systems with Resource Constrained Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |