CN110288307B - 基于Fabric区块链的智能合约协同开发系统及数据处理方法 - Google Patents

基于Fabric区块链的智能合约协同开发系统及数据处理方法 Download PDF

Info

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
Application number
CN201910394425.8A
Other languages
English (en)
Other versions
CN110288307A (zh
Inventor
董学文
杨晓宙
沈玉龙
姜晓鸿
佟威
郑佳伟
乔慧
武峰
刘启航
谷鑫雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201910394425.8A priority Critical patent/CN110288307B/zh
Publication of CN110288307A publication Critical patent/CN110288307A/zh
Application granted granted Critical
Publication of CN110288307B publication Critical patent/CN110288307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow 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区块链的智能合约协同开发系统及数据处理方法
技术领域
本发明属于互联网数据存储技术领域,尤其涉及一种基于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)当系统出现故障需要查证或者系统业务网络需要添加功能以及修复漏洞时需要管理员用户对区块链交易进行检索和升级业务网络。
CN201910394425.8A 2019-05-13 2019-05-13 基于Fabric区块链的智能合约协同开发系统及数据处理方法 Active CN110288307B (zh)

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 (44)

* Cited by examiner, † Cited by third party
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 江苏荣泽信息科技股份有限公司 一种基于区块链的电力系统物资合同管理系统
CN111339141B (zh) * 2020-02-25 2024-10-15 腾讯科技(深圳)有限公司 一种数据传输的方法、区块链节点设备以及介质
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联盟链的实习经历证明系统及方法
CN113592677A (zh) * 2021-05-08 2021-11-02 河海大学 基于联盟链的教育证书管理系统及搭建方法
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 广东工业大学 一种基于区块链的微电网交易方法及系统
CN117709652B (zh) * 2023-12-15 2024-08-02 南京智凝科技有限公司 基于智能合约与rpa的建筑工程供应流程协同与控制系统

Citations (9)

* Cited by examiner, † Cited by third party
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 北京航空航天大学 一种异构多链架构下跨区块链共享开放数据的体系架构
CN109615517A (zh) * 2018-12-07 2019-04-12 北京瑞卓喜投科技发展有限公司 一种智能合约执行方法及智能合约执行系统
CN109615339A (zh) * 2018-12-24 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810073B (zh) * 2018-04-05 2021-05-04 西安电子科技大学 一种基于区块链的物联网多域访问控制系统及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US11593321B2 (en) Systems and methods of self-administered protocols on a blockchain platform
CN108965468A (zh) 区块链网络服务平台及其链码安装方法、存储介质
US11853291B2 (en) Privacy preserving architecture for permissioned blockchains
US9672488B1 (en) Assessment construction tool
CN112835985B (zh) 一种基于分布式账本的空间数据共享系统及方法
CN111539622A (zh) 基于云平台、微服务架构的集体企业项目管理平台
US8401893B1 (en) Assessment construction tool
CN112513900A (zh) 用于共识管理的系统和方法
CN104216912A (zh) 一种无侵入式的业务表单工作流化的实现方法与装置
CN106445494A (zh) 自动化企业软件开发
JP2008257674A (ja) 知識管理システムおよびそれを使用したマネージメントソフトウェアを履行する方法、並びに、コンピュータ読み出し可能記録媒体
Evermann et al. Workflow management on proof-of-work blockchains: Implications and recommendations
JP2023027775A (ja) プライバシーを維持した監査可能アカウントのためのコンピュータ実装方法、コンピュータシステム及びコンピュータプログラム(プライバシーを維持した監査可能アカウント)
US7636911B2 (en) System and methods for capturing structure of data models using entity patterns
Olumofin et al. A holistic architecture assessment method for software product lines
CN116643722A (zh) 一种开放式协同软件开发平台
Sato et al. Operations smart contract to realize decentralized system operations workflow for consortium blockchain
Evermann Adapting workflow management systems to BFT blockchains–the YAWL example
Evermann et al. Workflow management on BFT blockchains
KR20240007014A (ko) 탈중앙 아이디와 검증가능 자격증명을 이용한 분산 워크플로우 시스템 및 방법
CN113067836B (zh) 一种基于去中心化dns根区管理的智能合约系统

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