一种基于联盟链的工作流系统构建方法与流程

文档序号:15518985发布日期:2018-09-25 18:57阅读:217来源:国知局

本发明属于区块链应用技术领域,具体涉及一种基于联盟链的工作流系统构建方法。



背景技术:

工作流系统起源于生产组织和办公自动化领域,用于日常工作的业务处理或协同工作,是指快速、低成本地从提供一种产品或服务转换为提供另一种产品或服务的能力。而柔性工作流即指通过组织架构、系统权限、流程定义等方面的灵活调整,使组织内部的各类流程能够对内外部环境做出快速适应,同时在调整过程中尽可能地减少冗余无用的损耗,达到用户在时间和投资等诸多方面的效益最大化。

现有工作流系统全都运行在中心化服务器上,还可以用于部门内的工作,但是,当需要跨部门协作或者跨机构协作时,现有工作流系统就显现出了诸多的不足:(1)多部门/机构之间属于平级别地位,缺少一个中心的组织或机构来进行监管,各部门/机构间相互信息不对称,给工作流的流转带来了一定的安全性隐患。(2)不同机构之间组织架构完全不同,信息的获取和处理流程也不同,所以各部门/机构之间沟通交流的效率很低,也降低了工作的效率。(3)在跨部门/机构协作的过程中,信息的发送和传递也具有一定的风险,由于缺少中心服务器的验证,所以数据的完整性问题也很难解决。

自2009年推出以来,区块链技术迅速发展,并在近两年登上了时代的风口浪尖,甚至有人将区块链作为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人们的生产力,电力解决了人们基本的生活需求,互联网彻底改变了信息传递的方式,那么区块链作为构造信任的机器,将可能彻底改变整个人类社会价值传递的方式。

目前区块链主要有三种形式:公共区块链(publicblockchain)、共同体区块链(consortiumblockchain)和完全私有区块链(fullyprivateblockchain),也就是人们常说的公有链、联盟链和私有链。

其中,联盟链即共同体区块链指的是共识过程受到预选节点控制的区块链;例如,不妨想象一个有15个金融机构组成的共同体,每个机构都运行着一个节点,而且为了使每个区块生效需要获得其中10个机构的确认。区块链或允许每个人都可读取,或者只受限于参与者,或走混合型路线,例如区块的根哈希及其api(应用程序接口)对外公开,api可允许外界用来作有限次数的查询和获取区块链状态的信息。这些区块链可视为部分去中心化。

联盟链主要运用于各种行业联盟中,一方面它具有公有链的共识性与可信性,而另一方面它又具有私有链的隐私性,但是由于综合的特性,所以在两方面都有所削弱,但其仍可被认为是一种较为稳定且可用的区块链系统。但在多企业间进行协作时,便需要考虑到联盟链的工作效率的问题,就像中心化办公系统中的流式办公系统,联盟链作为去中心化的数据存储系统,也需要相应的办公流系统来提升工作效率,同时加强各工作节点之间的耦合性和联系性。

运行于联盟链上的工作流系统,可以解决目前跨部门/机构之间工作流的诸多问题,具有许多的优点,例如更好的透明度、更好的完整性,更快的交流和更强的生产能力。但是,如何在联盟链上去构建合适的工作流系统,也需要更多的思考和设计。



技术实现要素:

鉴于上述,本发明提供了一种基于联盟链的工作流系统构建方法,其将区块链技术及联盟链的概念引入到工作流系统的构建中,将传统中心数据库上的工作流系统及维护放在区块链的联盟链上完成,旨在通过区块链的技术来传递不同部门/机构间协作时的工作流信息,改善传统工作流系统中的信任性问题,打破不同部门/机构的不同节点之间的沟通障碍,以保证跨部门、跨机构的工作流系统高效、稳定地运行。

一种基于联盟链的工作流系统构建方法,包括如下步骤:

(1)建立基于联盟链工作流系统的整体架构;

(2)设计基于联盟链工作流系统的数据存储结构;

(3)设计工作流的流转机制和可信认证机制。

进一步地,所述步骤(1)的具体实现过程如下:

1.1构建由不同部门和机构所组成的联盟链网络架构,使工作流系统运行于该网络架构上,每个部门或机构即对应为该网络架构中的一个节点;

1.2对于任一条工作流,根据参与情况将网络架构中的所有节点分为参与节点和非参与节点,参与节点需要参与到该工作流的实际流转中并处理相应的信息,而非参与节点需要在该工作流的每一次流转时建立共识;

1.3利用区块链对工作流的流转数据进行存储和维护,并在每个节点开始工作前进行读取,指导节点的工作流流转;而工作流的传递数据的存储需根据具体情况进行判断,一般的交易型传递数据同样由区块链存储,但当传递数据较大时,则需要共同维护的云服务器来进行数据存储,区块链上只保存哈希值用以进行数据校验;

1.4对于任一条新工作流的建立,需要确定其流转路由即工作流的流转顺序,需要确定新工作流中每一节点的职责和操作权限与范围,防止有节点做出非法修改,确保每一节点完成自己的角色任务。

进一步地,所述步骤(2)的具体实现过程如下:

2.1记录工作流的信息和类型,工作流信息包括创建者的信息以及工作流的具体认证信息,确定工作流的类型即便于联盟链上节点对工作流的筛选,将复杂的业务流程分类保存;

2.2保存工作流的所有工作阶段,标记当前工作阶段,记录每一工作阶段中需要流转和发送的信息以及每一工作阶段的前置节点和下一步节点;

2.3对于任一条工作流,记录该工作流中每一参与节点的具体信息,包括节点的地址名称,用于路由跳转时的发送和接收,同时记录每一节点在该工作流中所要完成的具体操作;

2.4限定每一节点的操作权限,记录每一次节点在工作流操作过程中的操作类型和节点角色;

2.5将步骤2.1~2.4中记录的所有内容以定义表的形式存储于联盟链上。

进一步地,所述步骤(3)中设计工作流流转机制的具体实现方法为:当新的工作流创建时,需将必要的工作流信息全部确定下来,即对于任一参与节点,在该参与节点开始工作时,通过新工作流的阶段信息确定该参与节点的工作数据,通过联盟链上所存储的认证信息对新工作流进行验证,验证通过后方可开始该参与节点的操作,具体操作由其自行维护,只在工作流流转到下一参与节点时再进行验证,流转后改写流转信息和路由,由下一参与节点验证路由以及流转信息是否正确,之后开始下一参与节点的操作。

进一步地,所述步骤(3)中设计工作流可信认证机制的具体实现方法为:对于系统中的任一节点,使其操作受限于联盟链上的角色控制及权限控制信息,以限定其操作范围,该节点可读取角色控制及权限控制信息以保证其工作合法,在该节点完成工作并写入流转信息时,在整个联盟链上进行角色控制及权限控制认证,从而保障整个工作流的正常运作;同时当该节点想要进行操作时,必须在联盟链上对其权限达成共识,方可将其操作写入到联盟链中;当工作流继续流转到下一环节,如权限存在问题,则数据写入和工作流流转都无法正常进行。

本发明工作流系统为运行于由不同部门/机构所构成的联盟链上,每一部门/机构为联盟链上的一个节点,共同维护联盟链的稳定运行,同时共同对链上所有工作流流转进行共识监督,保证工作流的正常流转。每一节点在自己所在的工作流中可以发挥作用,包括认证、操作、传递等,同时可以在链上新建工作流流转信息,开辟新的工作流路径,提升此工作流系统的利用率,从而使本发明工作流系统长久稳定地运行。因此,本发明具有以下有益技术效果:

(1)本发明填补了在当前中心化服务器主流工作流系统中,跨部门/机构之间协作的工作流系统的空白,提供了一种跨部门/机构之间实现工作流的解决办法,可以解决一些跨部门/机构之间工作流运行的问题,一定程度上提升了协同工作的效率。

(2)本发明利用区块链自身的强安全、共识机制以及公开透明和不可篡改性保证了缺少第三方监管的部门/机构联盟之间的工作流安全性问题,防止恶意节点的非法操作,保证了整个工作流的正常流转及解决了数据的可信性的问题。

(3)本发明实现了联盟链上工作流系统的存储模式设计,此模式可支持工作流系统在联盟链上的流转和运行,并在一定程度上保证了工作流的效率问题,也提升了安全性。

(4)本发明给出了联盟链上工作流系统的流转机制的设计,此设计与存储模式设计相结合,描述了本系统的运行方法,也进一步提升了验证过程的严谨性。

附图说明

图1为基于联盟链工作流系统的整体架构示意图。

图2为基于联盟链工作流系统的存储模式示意图。

图3为基于联盟链工作流系统的流转机制示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

本发明基于联盟链的工作流系统构建方法,主要包含以下四部分内容:

(1)联盟链的工作流系统的整体架构设计。

如图1所示,联盟链的工作流系统的整体架构设计方案如下:

1.1联盟链上的节点类型。对于每一条工作流的信息,并不一定是联盟链上所有节点都参与本条工作流,此时,将节点分为参与节点与非参与节点:参与节点需要参与到工作流的实际流转中,并处理相应的信息;而非参与节点需要做的是在工作流的每一次流转时建立共识,保证每一次流转的正常进行。

1.2工作流系统的数据信息存储。整个工作流系统包含两部分数据,第一部分是工作流的流转数据,另一部分是工作流的传递数据:工作流的流转数据由区块链进行存储和维护,并在每个节点开始工作前进行读取,指导节点的工作流流转;工作流节点的传递数据的存储需要根据具体情况进行判断,一般的交易型传递数据可以同样由区块链存储来传递,但当传递数据较大时,则需要共同维护的云服务器来进行数据存储,区块链上只保存哈希来进行数据校验。

1.3工作流的建立和运行。一条新工作流的建立需要确定流转路由,即工作流的流转顺序;另外,需要确定工作流中每一节点的职责和操作权限与范围,防止某一节点做出非法修改,同样也确保每一节点都完成自己的角色任务。

(2)联盟链的工作流系统的数据存储结构设计。

如图2所示,联盟链的工作流系统的数据存储结构设计方案如下,工作流系统包含多项关键内容定义。

2.1工作流定义:定义整个工作流的信息,包括创建者及总体的工作流信息,包含此工作流流程的具体认证信息。

2.2流程类型定义:定义此条工作流的类型信息,方便联盟链上节点对工作流的筛选,将复杂的业务流程分类保存,在一定程度上提高了工作流系统的效率。

2.3阶段定义:定义工作流的阶段信息,保存工作流的所有工作阶段,标记当前工作阶段,保证整条工作流的完整性,同时保证每一阶段的顺利执行。

2.4流转信息定义:此定义为阶段信息定义的子内容,与阶段信息定义为一对多的关系,定义每一阶段中需要流转和发送的信息,保证工作流系统每一阶段信息的完整性,保证信息处理的正确进行。

2.5流转路由定义:此定义为阶段信息定义的子内容,与阶段信息定义为一对多的关系,定义每一阶段中的前置节点和下一步节点,保证工作流系统每一阶段的认证和顺利跳转,保证工作流的正确流转。

2.6节点定义:定义了工作流中每一参与节点的具体信息,包括节点的名称等节点认证信息,用于路由跳转时的发送和接收。

2.7操作定义:定义了每一节点在本条工作流中所要完成的具体操作,与节点定义为一对多关系,方便每一节点确认自己所要进行的操作,以完成该节点的工作。

2.8权限定义:附属于操作定义,与操作定义一一对应,限制了每一节点的操作权限,保证工作流系统的可信性,防止信息被篡改,以保证整个工作流系统的正确运行。

2.9角色定义:附属于操作定义,与操作定义、权限定义一一对应,定义了每一次节点操作在工作流系统中的操作类型与节点角色,帮助提升工作流系统的工作效率及工作流可靠性。

整个工作流内容以定义表的形式存储于联盟链上,以区块链的可信性原则保证工作流内容不被篡改,同时利用区块链的认证的特性来保证工作流流程的顺利执行,从而使得整个工作流系统的流通。

(3)工作流流转机制设计。

如图3所示,工作流流转机制设计方案如下:

3.1在新的工作流创建实例时,必须将必要的工作流信息全部确定;在每一节点开始工作时,通过工作流实例中的阶段信息,确定等待本流转节点的工作数据,通过联盟链上所存储的来进行工作流的验证,验证流程信息正确后即可开始本节点操作。

3.2本节点上的操作由本节点自行维护,只在流转到下一工作流节点时进行验证,流转后改写流转信息与路由,下一节点开始时验证路由与流转信息是否正确,之后开始下一节点的操作。

(4)工作流可信认证设计。

4.1本节点操作受限于联盟链上的角色控制与权限控制信息,限定了本节点的操作范围,本节点可读取角色控制与权限控制信息,来保证本节点的工作合法,在本节点完成工作,写入流转信息时,在整个联盟链上进行角色控制与权限控制认证,从而保障整个工作流的正常运作。

4.2本系统以联盟链上的共识机制来保证认证的顺利完成,当每一节点想要进行操作时,必须在联盟链上对其权限达成共识,才能将操作写入到联盟链中。将工作流继续流转到下一环节,如权限存在问题,则数据写入和工作流流转都无法正常进行。

由此可见,本发明工作流系统为运行于由不同部门/机构所构成的联盟链上,每一部门/机构为联盟链上的一个节点,共同维护联盟链的稳定运行,同时共同对链上所有工作流流转进行共识监督,保证工作流的正常流转;每一节点在自己所在的工作流中可以发挥作用,包括认证、操作、传递等,同时可以在链上新建工作流流转信息,开辟新的工作流路径,提升此工作流系统的利用率,从而使本发明工作流系统长久稳定地运行。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1