一种基于联盟链的跨链数据协同方法与流程

文档序号:20770291发布日期:2020-05-15 19:36阅读:320来源:国知局
一种基于联盟链的跨链数据协同方法与流程

本申请涉及区块链、数据协同领域,具体涉及一种基于联盟链的跨链数据协同方法。



背景技术:

随着柔性生产、精益制造等先进的生产模式在工业制造中的成功应用,传统的大批量、专业化的生产线逐渐向多品种、小批量的柔性生产线转变。由于产品制造分工的明显细化,产品的整个生产制造过程,可能会被分割成为多个不同的条状业务区块。

例如从公司的粒度来看,一个制造产品的生产可能会被分割成多个部分,分别由公司内部的不同的车间经过一定的工艺流程方能完成。存在a车间的产品是b车间所需的物料的情况,所以两个车间需要共享相关的信息,通过某种方式进行数据的协同。那么往更大的粒度来看,有供应关系的公司也同样存在着这样数据协同的问题。根据现有的制造逻辑和生产数据的隐私性,每间企业、每个部门的数据都存在一定程度的孤岛效应,导致每个生产组织间的生产数据难以协同。同时由于网络传输问题和人为的恶意篡改,传统制造企业在生产过程中一旦出现了问题,难以实现对问题进行追溯,在目前制造分工明显细化的情况下,这种问题更加凸显。

现有的生产制造过程被分割为多个不同的生产组织,同时每个生产组织的管理都是依赖中心化系统管控模型,每个系统之间存在数据隔离的情况,随着制造分工的细化,这种方式下的跨生产组织数据协同愈发困难,其主要存在如下问题:

1.整个产品生产过程中,上下游生产组织的协同能力差,数据的追溯困难,由于生产数据的敏感性,各生产组织间数据孤岛问题严重,一旦产品出现问题,会出现追溯周期长,成本高等问题,增加了数据协同的成本。

2.采用中心化的数据管控方式实现需要中心化的服务器,该服务器承载了中心化系统的运转,一旦该服务器出现故障,容易造成生产组织的系统宕机,造成极大的损失。

3.现有的中心化系统使用的都是mysql和oracle等数据库,同时由于生产过程中可能会有人为恶意篡改数据,所以数据库内的数据可信程度不高。



技术实现要素:

本申请的目的是提供一种基于联盟链的跨链数据协同方法,该方法通过建立多层跨链体系结构,结合联盟链技术重点解决生产制造过程中跨生产组织间数据协同性差、可追溯性差、查询成本高和可扩展性差的问题。

为了实现上述任务,本申请采用以下技术方案:

一种基于联盟链的跨链数据协同方法,包括:

将生产组织内的设备、生产单元作为节点加入到联盟链的一条链中,根据所述设备、生产单元上传的数据集合建立共享账本,共享账本的信息只能在链内扩散;所述设备、生产单元通过链共享信息,将所述设备、生产单元对应的节点组成单个的生产组织网络;

建立二层跨链体系结构,二层跨链体系包括第一层的主链和第二层的业务链,其中主链作为跨链之间数据传递的路由,而业务链则为不同的生产组织网络对应的链;所述主链和业务链之间通过锚节点连接,锚节点为业务链中的一个节点;

在每条业务链中构建对私有数据的访问文件,进一步设置业务链内智能合约的资产隐私属性,通过对资产隐私属性的设置和访问权限的设置,实现私有数据只有业务链内经过认证的节点可以访问和同步,业务链内未经认证的节点,包括锚节点仅存储隐私数据的hash值,使隐私数据不会经过锚节点被其他业务链获取;

当不同生产组织之间需要进行数据交互时,通过对应生产组织对应的业务链中的锚节点及主链实现跨链的数据访问。

进一步地,所述当不同生产组织之间需要进行数据交互时,通过对应生产组织对应的业务链中的锚节点及主链实现跨链的数据访问,包括:

当两个不同生产组织a、b之间需要进行数据交互时,步骤如下:

生产组织b中的某节点通过生产组织b对应的业务链b提交访问生产组织a对应的业务链a的数据访问申请;将所述数据访问申请广播到业务链b中的所有节点;业务链b中的锚节点收到数据访问申请后,将其广播到主链中,主链中对应于业务链a的锚节点收到数据访问申请后,进行跨链访问,从业务链a中获取所述数据访问申请所请求的数据并上传至主链,再经由业务链b中的锚节点同步到业务链b中,实现快速的跨链间数据访问。

进一步地,所述私有数据的访问文件定义了业务链内的节点对隐私数据的访问权限及保存时间。

进一步地,所述隐私数据在智能合约中进行设定。

进一步地,所述生产单元是多台相同设备或者是不同设备的集合;当为多台相同设备时,所述多台相同设备连接至某一主机进行数据交互,该主机可以获取这几台设备的生产数据,则所述多台设备构成一个生产单元;当为多台不同设备时,这些不同的设备连接至同一台主机,则所述多台不同设备构成一个生产单元。

本申请具有以下技术特点:

1.本申请基于区块链为底层技术,通过多层的跨链体系结构构建各个生产组织之间数据的交互逻辑,同时利用联盟链的隐私数据技术使得各个生产组织进行数据交互的过程中能够确保隐私数据的安全性,最终实现生产组织间数据的跨链协同,同时解决现有跨生产组织间可追溯性差、查询成本高、可扩展性差等问题。

2.本申请中建立了双层跨链体系结构,这种实现结构清晰,易于扩展新的共享节点,并且节点间也能进行快速的互操作,改善区块链的性能和安全。一方面,链对信息的扩散起到了隔离作用,节点将具备更好的隐私性;另一方面,各节点无需再保留与本节点无关的信息,提高了存储和网络通讯的效率,从而改善区块链的性能。

附图说明

图1为本申请的流程示意图;

图2为二层跨链体系结构示意图;

图3为设备的智能合约的一个示例;

图4为跨链间数据协同的实现流程示意图。

具体实施方式

本申请提出一种基于联盟链的跨链数据协同方法,基于区块链,通过双层跨链体系结构构建各个生产组织之间数据的交互逻辑,同时利用联盟链的隐私数据技术使得各个生产组织进行数据交互的过程中能够确保隐私数据的安全性,以实现生产组织间数据的跨链协同,如图1所示,具体步骤如下:

步骤1,建立单个生产组织网络

将生产组织内的设备、生产单元作为节点加入到联盟链的一条链中,根据所述设备、生产单元上传的数据集合建立共享账本,共享账本的信息只能在链内扩散;所述设备、生产单元通过链共享信息,将所述设备、生产单元对应的节点组成单个的生产组织网络。

智能制造的整个过程,可能被业务分割为多个不同的条状区块。从车间的粒度来观察,生产a产品的相关生产设备、生产单元之间可能需要共享a产品的相关信息,这些设备和生产单元就组成了一个生产组织。本方案中,将一个生产组织中,生产a产品的设备、生产单元都作为节点加入到同一个链(channel)中。

其中,所述生产单元是多台相同设备或者是不同设备的集合;当为多台相同设备时,所述多台相同设备连接至某一主机进行数据交互,该主机可以获取这几台设备的生产数据,则所述多台设备构成一个生产单元;当为多台不同设备时,例如一条流水线中的设备均连接至一台主机,则所述多台不同设备构成一个生产单元。所述节点可以为一台设备,对应的节点为设备节点;而节点也可以是生产单元中的主机,即,生产单元中的主机也可以作为节点加入链中,对应的节点为生产单元节点。

根据联盟链的特性,每一条链中均有一个共享账本,该共享账本为链上所有数据集合,所述数据集合通过链中的设备节点、生产单元节点上传生产数据构成。所述共享账本智能在链内部扩散,与该链生产相关的节点都可以加入到该链中对共享账本中的数据进行访问。

该步骤中,通过将一个生产组织内的设备、生产单元加入同一个链中,使得设备、生产单元之间可通过链共享信息,继而将这些设备节点、生产单元节点组成单个的生产组织网络。

例如手机屏幕生产相关的设备有磨边机跟贴合机等,这些设备的集合就是生产手机屏幕的生产组织;如果有多台贴合机,那么根据实际生产需求可以将这些贴合机通过一台主机交互数据,这些贴合机就可以称为一个生产单元;为了记录生产组织中的生产数据,需要将生产组织内的数据上传到区块链中,这时可以建立一个业务链;磨边机可以直接作为一个节点加入到该链中,多台贴合机可以通过一个主机加入到该链中;该链内的数据就可以理解为一个共享账本供链内的节点记录和查询,这些设备通过区块链组成单个生产组织网络。

步骤2,建立二层跨链体系结构

二层跨链体系包括第一层的主链和第二层的业务链,其中主链作为跨链之间数据传递的路由,而业务链则为不同的生产组织网络对应的链;所述主链和业务链之间通过锚节点连接,锚节点为业务链中的一个节点。

如图2所示,为本申请实施例提供的一个二层跨链体系结构的示意图。该示例中,存在三个生产组织网络,每个生产组织网络对应一个链,该示例中为a链、b链和c链。多个生产组织网络之间通过主链连接,构成二层跨链体系结构。在该结构中,第一层为主链(anchorchain),主要作用是跨链之间数据传递的路由。第二层的业务链即为每个步骤1中对应于每个生产组织而建立的链。业务链的作用是对每个生产组织内的相关生产事件数据(由设备或生产单元上传)存储与数据协同。

构成二层跨链体系时,指定每个业务链中的一个节点作为锚节点(anchorpeer)同时加入主链。这样锚节点不仅加入主链,同时也加入各自的业务链。例如,a业务链中存储生产a产品的相关数据,则可以将a业务链中的生产单元节点作为锚节点加入主链,则a业务链中的节点、连接在节点上的终端等可通过锚节点进行跨链操作。

根据目前生产的资源组织形式,这种实现结构清晰,易于扩展新的共享节点,并且节点间也能进行快速的互操作,改善区块链的性能和安全。一方面,链对信息的扩散起到了隔离作用,节点将具备更好的隐私性;另一方面,各节点无需再保留与本节点无关的信息,提高了存储和网络通讯的效率,从而改善区块链的性能。

步骤3,设置业务链内的隐私数据

在每条业务链中构建对私有数据的访问文件,进一步设置业务链内智能合约的资产隐私属性,通过对资产隐私属性的设置和访问权限的设置,实现私有数据只有业务链内经过认证的节点可以访问和同步,业务链内未经认证的节点,包括锚节点仅存储隐私数据的hash值,使隐私数据不会经过锚节点被其他业务链获取。

该步骤中,利用联盟链进行多层次的隐私保护技术,先针对每个业务链建立对私有数据的访问文件,该文件定义了该条业务链内的节点对隐私数据的访问权限及保存时间。所述对私有数据的访问文件用于设定业务链内隐私数据是业务链内哪些节点可以访问,并不具体设定隐私数据是哪些数据。隐私数据具体在智能合约中设定;根据具体的实际需求,在智能合约中设定哪些数据是隐私数据,例如可以设置某设备节点的工序参数属性为隐私属性,具体的一个智能合约的示例如图3所示。

通过对资产隐私属性和访问权限的设置,可以指定业务链中哪些节点具有访问隐私属性的权限,例如通过对部分节点进行认证,认证的节点具有访问隐私数据的权限。未经认证的节点仅存储隐私数据的hash,用于数据校对和防篡改;由于锚节点作为业务链和主链的连接节点,因此为了保护隐私数据不会经由锚节点泄露,所以锚节点一般作为未认证节点。

智能合约:在业务彼此之间进行交易之前,必须定义一组通用合同,涵盖通用条款,数据,规则,概念定义和流程。这些合同放在一起,构成了控制交易双方之间所有交互的业务模型。使用区块链网络,将这些合同转换为可执行程序,只要参与方达成协定,智能合约建立的权利和义务,就会被自动执行,且结果不能被否认。

步骤4,进行跨链间数据协同

当不同生产组织之间需要进行数据交互时,通过生产组织对应的业务链中的锚节点及主链实现跨链的数据访问。

根据前面步骤1至3,各业务链中的锚节点会同步各自业务链中的非隐私数据。当两个不同生产组织a、b之间需要进行数据交互时,例如a产品可能是b产品的物料,生产b产品的终端可能需要进一步了解原料(a产品)的具体组成,这时候需要进行跨链查询,具体步骤如下:

步骤4.1,生产组织b中的某节点通过生产组织b对应的业务链b提交访问生产组织a对应的业务链a的数据访问申请。

步骤4.2,将所述数据访问申请广播到业务链b中的所有节点。

步骤4.3,业务链b中的锚节点收到数据访问申请后,将其广播到主链中。

步骤4.4,主链中对应于业务链a的锚节点收到数据访问申请后,进行跨链访问,从业务链a中获取所述数据访问申请所请求的数据并上传至主链,再经由业务链b中的锚节点同步到业务链b中,实现快速的跨链间数据访问,如图4所示。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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