一种区块链中数据共享的方法和装置与流程

文档序号:15567049发布日期:2018-09-29 03:35阅读:196来源:国知局

本发明涉及区块链技术领域,尤其是涉及一种区块链中数据共享的方法和装置。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。供应链是指商品到达消费者手中之前各相关者的连接或业务的衔接,是围绕核心企业,通过对信息流,物流,资金流的控制,从采购原材料开始,制成中间产品以及最终产品,最后由销售网络把产品送到消费者手中的将供应商,制造商,分销商(零售商,批发商等)直到最终用户连成一个整体的功能网链结构。

现阶段,供应链金融参与各方系统封闭,供应链上的交易数据不能及时达成共识一致,而且在供应链中各企业间的数据共享中存在部分验证环节需要人工审核,效率低下。

针对以上问题,还未提出有效解决方案。



技术实现要素:

有鉴于此,本发明的目的在于提供一种区块链中数据共享的方法和装置,以解决现有技术中供应链中各企业间的系统封闭,供应链上的数据不能及时达成一致的技术问题。

根据本发明实施例,提供了一种区块链中数据共享的方法,应用于区块链,所述方法包括:获取第一节点中发生变更的目标数据,其中,所述第一节点为所述区块链中与第一企业相对应的节点,所述第一企业为多个目标企业中的一个,所述多个目标企业为通过区块链网关接入到所述区块链的供应链中的企业;将所述目标数据广播到所述区块链中的第二节点,其中,所述第二节点为所述区块链中除所述第一节点以外的所有节点;其中,在所述第二节点收到所述目标数据之后,所述第二节点基于共识算法对所述目标数据进行共识运算,并将运算结果写入所述区块链的链内账本中。

进一步地,将所述目标数据广播到所述区块链中的第二节点包括:将所述目标数据通过广播机制广播到所述第二节点的事件监听器中,以使所述事件监听器通过所述区块链网关将所述目标数据发送到所述第二节点,其中,所述事件监听器为预先在第二节点的注册端口中设置的事件监听器。

进一步地,在将运算结果写入所述区块链的链内账本中之后,所述方法还包括:向所述区块链中各个节点的事件监听器发送数据更新信息,其中,所述数据更新信息为所述区块链基于所述运算结果在所述链内账本中对所述目标数据进行更新的信息。

根据本发明实施例,还提供了一种区块链中数据共享的方法,应用于区块链中的第二节点,包括:所述第二节点获取区块链在链内广播的目标数据,其中,所述目标数据为所述区块链中的第一节点中发生变更的目标数据,其中,所述第一节点为所述区块链中与第一企业相对应的节点,所述第一企业为多个目标企业中的一个,所述多个目标企业为通过区块链网关接入到所述区块链的供应链中的企业;所述第二节点在收到所述目标数据之后,基于共识算法对所述目标数据进行共识运算,并将运算结果写入所述区块链的链内账本中。

进一步地,基于共识算法对所述目标数据进行共识运算,并将运算结果写入所述区块链的链内账本中包括:所述第二节点中已存储的交互数据分别与所述目标数据的数据内容进行比较,得到比较结果,其中,所述数据内容包括数值和/或版本号,所述交互数据为所述第一节点在对所述目标数据进行变更时与所述第二节点进行交互的过程中存储的数据;如果所述比较结果为所述交互数据与所述目标数据一致,则将所述目标数据的数据内容写入所述区块链的链内账本中。

进一步地,所述方法还包括:如果所述比较结果为所述交互数据与所述目标数据不一致,则基于乐观锁机制修改所述第二节点的交互数据,具体包括:比较所述交互数据与所述目标数据的版本号;如果比较出所述交互数据的版本号低于或等于所述目标数据的版本号,则将所述目标数据更新至所述第二节点中,以及将所述目标数据更新在所述区块链的链内账本中。

进一步地,如果所述交互数据的版本号高于所述目标数据的版本号,则返回执行获取区块链在链内广播的目标数据,并基于共识算法对所述目标数据进行共识运算,并将运算结果写入所述区块链的链内账本中的步骤。

进一步地,在将运算结果写入所述区块链的链内账本中之后,所述方法还包括:所述第二节点通过事件监听器获取所述区块链发送的数据更新信息,其中,所述数据更新信息为所述区块链基于所述运算结果在所述链内账本中对所述目标数据进行更新的信息。

根据本发明实施例,还提供了一种区块链中数据共享的装置,应用于区块链,所述装置包括:第一获取单元,用于获取第一节点中发生变更的目标数据,其中,所述第一节点为所述区块链中与第一企业相对应的节点,所述第一企业为多个目标企业中的一个,所述多个目标企业为通过区块链网关接入到所述区块链的供应链中的企业;广播单元,用于将所述目标数据广播到所述区块链中的第二节点,其中,所述第二节点为所述区块链中除所述第一节点以外的所有节点;其中,在所述第二节点收到所述目标数据之后,所述第二节点基于共识算法对所述目标数据进行共识运算,并将运算结果写入所述区块链的链内账本中。

根据本发明实施例,还提供了一种区块链中数据共享的装置,应用于区块链中的第二节点,包括:第二获取单元,用于所述第二节点获取区块链在链内广播的目标数据,其中,所述目标数据为所述区块链中的第一节点中发生变更的目标数据,其中,所述第一节点为所述区块链中与第一企业相对应的节点,所述第一企业为多个目标企业中的一个,所述多个目标企业为通过区块链网关接入到所述区块链的供应链中的企业;运算单元,用于所述第二节点在收到所述目标数据之后,基于共识算法对所述目标数据进行共识运算,并将运算结果写入所述区块链的链内账本中。

在本发明实施例中,首先,获取第一节点中发生变更的目标数据;然后,将目标数据广播到所述区块链中的第二节点,其中,在第二节点收到目标数据之后,第二节点基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。在本发明实施例中,通过使用区块链网关将供应链中各企业接入到区块链中,并基于共识运算将区块链中各节点的数据写入区块链的链内账本中的方式,能够实现区块链中各节点间数据可以共享,进而达到了基于区块链中各节点间数据的共享实现供应链中的各企业间数据共享的目的,解决了由于现有技术中供应链中各企业间的系统封闭导致的供应链上的数据不能及时达成一致的技术问题,从而实现了供应链中各企业间的数据可以共享的技术效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例提供的一种区块链中数据共享方法的流程图;

图2是根据本发明实施例提供的目标企业通过区块链网关接入到区块链中的示意图;

图3是根据本发明实施例提供的区块链中基于广播机制将目标数据广播到第二节点中的示意图;

图4是根据本发明实施例提供的一种应用于区块链中的第二节点的区块链中数据共享的方法的流程图;

图5是根据本发明是实施例提供的基于乐观锁机制将数据改写入账本的示意图;

图6是根据本发明实施例提供的一种区块链中数据共享的装置的示意图;

图7是根据本发明实施例提供的区块链网关的结构图;

图8是根据本发明实施例提供的一种应用于区块链中的第二节点的区块链中数据共享的装置的示意图;

图9是根据本发明实施例提供的区块链基于智能合约进行数据的处理的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

图1是根据本发明实施例提供的一种区块链中数据共享方法的流程图,该数据共享的方法应用于区块链,如图1所示,该方法包括如下步骤:

步骤s102,获取第一节点中发生变更的目标数据,其中,第一节点为区块链中与第一企业相对应的节点,第一企业为多个目标企业中的一个,多个目标企业为通过区块链网关接入到区块链的供应链中的企业;

步骤s104,将目标数据广播到区块链中的第二节点,其中,第二节点为区块链中除第一节点以外的所有节点;

其中,在第二节点收到目标数据之后,第二节点基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。

在本发明实施例中,首先,获取第一节点中发生变更的目标数据;然后,将目标数据广播到所述区块链中的第二节点,其中,在第二节点收到目标数据之后,第二节点基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。在本发明实施例中,通过使用区块链网关将供应链中各企业接入到区块链中,并基于共识运算将区块链中各节点的数据写入区块链的链内账本中的方式,能够实现区块链中各节点间数据可以共享,进而达到了基于区块链中各节点间数据的共享实现供应链中的各企业间数据共享的目的,解决了由于现有技术中供应链中各企业间的系统封闭导致的供应链上的数据不能及时达成一致的技术问题,从而实现了供应链中各企业间的数据可以共享的技术效果。

图2是根据本发明实施例提供的目标企业通过区块链网关接入到区块链中的示意图。

在本发明实施例中,供应链中的企业包括供货商、制造商、分销商等等一系列参与商品从生产到最终送到消费者手中的企业,如图2所示,图2中的金融机构会员节点,交易对手会员节点,仓单持有人会员节点以及仓储erp(即,企业管理系统)会员节点等都属于供应链中的企业(即,上述目标企业)。在本发明实施例中,每个目标企业均通过区块链网关接入到区块链中,并将各自目标企业中的数据上传至区块链中,需要说明的是,上述目标企业中的数据可以是如图2中所示的数据之一:账户合约资金账户中的数据,仓单合约确权以及交易的数据,账户合约资产账户中的数据,但不限于上述列举的数据。

在一个可选的实施例中,步骤s104,将目标数据广播到区块链中的第二节点,具体包括如下方法:

将目标数据通过广播机制广播到第二节点的事件监听器中,以使事件监听器通过区块链网关将目标数据发送到第二节点,其中,事件监听器为预先在第二节点的注册端口中设置的事件监听器。

在本发明实施例中,首先,区块链中的各节点需要在区块链网关注册自身的服务ip地址和服务端口(即,上述注册端口),并在注册端口处调用eventhub(即,上述事件监听器)进行监听,需要说明的是,事件监听器是预先在第二节点的注册端口中设置的监听程序,然后,当区块链获取到第一节点中发生变更的目标数据后,区块链会将该目标数据通过广播机制广播到第二节点的事件监听器中,以使事件监听器通过区块链网关将目标数据发送到第二节点,其中,事件监听器以json格式进行数据的发送的。

下面以一个具体的实例来对上述广播机制做出具体的说明。

图3是根据本发明实施例提供的区块链中基于广播机制将目标数据广播到第二节点中的示意图。

如图3所示,当用户(即,上述第一企业)发起记账请求(即,第一企业对上述第一节点中的数据进行变更)时,图3中所示的节点1(即,上述第一节点)中的数据会发生变更。在节点1中的数据发生变更后,区块链会将节点1中变更后的数据(即,上述对上述第一节点中的数据进行变更之后的目标数据)广播到区块链中的第二节点(即,图3中所示的节点2)中,进而第二节点执行上述基于共识算法将目标数据写入区块链的链内账本中的步骤。其中,第二节点执行上述基于共识算法将目标数据写入区块链的链内账本中的步骤即为图3中所示的将数据打包记账的过程。

需要说明的是,如图3中所示的账本1页,账本2页,账本3页等为区块链中的区块1,区块2,区块3等。以此类推,如图3所示,每当目标数据写入到区块链的链内账本中时,就会在链内增加一个新的区块供该目标数据写入。

在本发明实施例中,区块链不仅可以基于广播机制将节点1中变更的数据广播到节点2中(即,如图3中所示的账目广播),还可以在节点2收到目标数据后通过广播机制告知节点1,以及告知区块链中除节点2外的其他节点以下内容:节点2已收到目标数据(即,如图3中所示的结果广播)。

在本发明实施例中,用户只能在节点1中添加新的数据信息,不能对节点1中已有的数据进行改写。另外,目标数据的广播是基于数字签名进行的,使用数字签名的方式进行数据的传输,可以有效的对数据进行加密,使得数据的传输过程更加具有安全性。在本发明实施例中,用户可以自由的对区块链中与自身相对应的节点中的数据进行接收、传播、记账和验证等操作。

在另一个可选的实施例中,在将运算结果写入区块链的链内账本中之后,该数据共享的方法还包括:

步骤s106,向区块链中各个节点的事件监听器发送数据更新信息,其中,数据更新信息为区块链基于运算结果在链内账本中对目标数据进行更新的信息。

在本发明实施例中,当第二节点基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中之后,区块链会向区块链中的各个节点的事件监听器发送区块链的链内账本中的数据进行更新的信息,以使各个节点得到链内账本中的数据被更新的消息。

在本发明实施例中,通过使用区块链网关将供应链中各企业接入到区块链中,并基于共识运算将区块链中各节点的数据写入区块链的链内账本中的方式,能够实现区块链中各节点间数据可以共享,进而达到了基于区块链中各节点间数据的共享实现供应链中的各企业间数据共享的目的,解决了由于现有技术中供应链中各企业间的系统封闭导致的供应链上的数据不能及时达成一致的技术问题,从而实现了供应链中各企业间的数据可以共享的技术效果。

实施例二:

本发明实施例还提供了一种区块链中数据共享的方法,该方法应用于区块链中的第二节点,图4是根据本发明实施例提供的一种应用于区块链中的第二节点的区块链中数据共享的方法的流程图,如图4所示,该方法包括如下步骤:

步骤s401,第二节点获取区块链在链内广播的目标数据,其中,目标数据为区块链中的第一节点中发生变更的目标数据,其中,第一节点为区块链中与第一企业相对应的节点,第一企业为多个目标企业中的一个,多个目标企业为通过区块链网关接入到区块链的供应链中的企业;

步骤s402,第二节点在收到目标数据之后,基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。

在本发明实施例中,首先,第二节点获取区块链在链内广播的目标数据;然后,第二节点在收到目标数据之后,基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。

在本发明实施例中,通过使用区块链网关将供应链中各企业接入到区块链中,并基于共识运算将区块链中各节点的数据写入区块链的链内账本中的方式,能够实现区块链中各节点间数据可以共享,进而达到了基于区块链中各节点间数据的共享实现供应链中的各企业间数据共享的目的,解决了由于现有技术中供应链中各企业间的系统封闭导致的供应链上的数据不能及时达成一致的技术问题,从而实现了供应链中各企业间的数据可以共享的技术效果。

在一个可选的实施例中,步骤s402,基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中包括如下步骤:

步骤s4021,第二节点中已存储的交互数据分别与所述目标数据的数据内容进行比较,得到比较结果,其中,数据内容包括数值和/或版本号,交互数据为第一节点在对目标数据进行变更时与第二节点进行交互的过程中存储的数据;

步骤s4022,如果比较结果为交互数据与目标数据一致,则将目标数据的数据内容写入区块链的链内账本中。

在本发明实施例中,在第二节点获取到区块链在链内广播的目标数据之后,用第二节点内已存储的与第一节点的交互数据分别和该目标数据内容进行比较。如果比较出该交互数据与目标数据一致,则将目标数据的数据内容写入区块链的链内账本中,即,将目标数据的数值和版本号写入到区块链的链内账本中。

在另一个可选的实施例中,基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中还包括如下步骤:

步骤s4023,如果比较结果为交互数据与目标数据不一致,则基于乐观锁机制修改第二节点的交互数据,具体包括如下步骤:

步骤s1,比较交互数据与目标数据的版本号;

步骤s2,如果比较出交互数据的版本号低于或等于目标数据的版本号,则将目标数据更新至第二节点中,以及将目标数据更新在区块链的链内账本中。

在本发明实施例中,乐观锁机制是基于数据版本(version)记录机制实现的,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个“version”字段来实现。读取出数据时,将此版本号一同读出,之后更新时,对此版本号加“1”。此时,将提交数据的版本数据与数据库表对应记录的当前版本信息进行比对,如果提交的数据版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据。

在本发明实施例中,如果比较出该交互数据与目标数据不一致,则比较交互数据与目标数据的版本号,如果比较出交互数据的版本号低于或等于目标数据的版本号,则将目标数据更新至第二节点中,进而将目标数据更新在区块链的链内账本中。

可选地,基于乐观锁机制修改第二节点的交互数据,还包括如下步骤:

步骤s3,如果交互数据的版本号高于目标数据的版本号,则返回执行获取区块链在链内广播的目标数据,并基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中的步骤。

在本发明实施例中,如果比较出交互数据的版本号高于目标数据的版本号,则需要重新执行同步读取当前数据的与版本号的步骤,即,返回执行获取区块链在链内广播的目标数据,并基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中的步骤。

下面以一个具体的实例来对上述乐观锁机制做具体的说明。

图5是根据本发明是实施例提供的基于乐观锁机制将数据改写入账本的示意图。

如图5所示,在p1过程中,当a(即,上述第一节点,下同)访问数据s1时,即,a要将链内账本中的数据修改为80,此时会比较版本号(即,图5中所示的version,下同)。如图5所示,a中数据的版本号为1,而链内账本中的数据的版本号为2,此时,a中数据的版本号低于链内账本中的数据的版本号,则不能将链内账本中的数据改写为80。因此,区块链需要重新获取当前a中的数据,重新执行基于共识算法将目标数据写入区块链中的过程,如图5中所示的p2过程,此时a中的数据为100,已经进行了更改。

如图5所示,在p1过程中,当b(即,上述第二节点中的某一节点,下同)访问数据s1时,即,b要将链内账本中的数据修改为90,此时会比较版本号,当版本号大于或等于当前版本时才可以操作(即,上述乐观锁机制),如图5所示,b中的版本号为2,而链内账本中的数据的版本号也为2,此时,将链内账本中的数据更新为90,即,如图5所示的p2过程中,链内账本的数据显示为90。需要说明的是,在如图5的p2过程中所示,当b中的数据写入到链内账本中后,b中数据的版本号自动减“1”。

在本发明实施例中,区块链中设计了一种key-values数据库(键值数据库),并提供put,set,get操作方法,该key-values数据库属于轻量级的嵌入式数据库,可方便的部署在区块链中的节点中,当有持久化服务时,即,将目标数据持久化的写入区块链的链内账本中时,调用api(applicationprogramminginterface,应用程序编程接口)即可操作。

在一个可选的实施方式中,在将运算结果写入区块链的链内账本中之后,该区块链中数据共享方法还包括:

步骤s403,第二节点通过事件监听器获取区块链发送的数据更新信息,其中,数据更新信息为区块链基于运算结果在链内账本中对目标数据进行更新的信息。

在本发明实施例中,首先,第二节点获取区块链在链内广播的目标数据;然后,第二节点在收到目标数据之后,基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。在本发明实施例中,通过使用区块链网关将供应链中各企业接入到区块链中,并基于共识运算将区块链中各节点的数据写入区块链的链内账本中的方式,能够实现区块链中各节点间数据可以共享,进而达到了基于区块链中各节点间数据的共享实现供应链中的各企业间数据共享的目的,解决了由于现有技术中供应链中各企业间的系统封闭导致的供应链上的数据不能及时达成一致的技术问题,从而实现了供应链中各企业间的数据可以共享的技术效果。

实施例三:

根据本发明实施例还提供了一种区块链中数据共享的装置,该装置用于执行本发明实施例上述内容提供的应用于区块链的区块链中数据共享的方法,以下对本发明实施例提供的区块链中数据共享的装置做具体介绍。

图6是根据本发明实施例提供的一种区块链中数据共享的装置的示意图,如图6所示,该区块链中数据共享的装置组要包括:第一获取单元10,广播单元20,其中:

第一获取单元10,用于获取第一节点中发生变更的目标数据,其中,第一节点为区块链中与第一企业相对应的节点,第一企业为多个目标企业中的一个,多个目标企业为通过区块链网关接入到区块链的供应链中的企业;

广播单元20,用于将目标数据广播到区块链中的第二节点,其中,第二节点为区块链中除第一节点以外的所有节点;

其中,在第二节点收到目标数据之后,第二节点基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。

在本发明实施例中,区块链网关是一种通用协议,平台(即,区块链)与企业(即,上述供应链中的企业)应用间存在网关层,该网关层负责处理应用接入(即供应链中的企业接入到区块链中)的协议适配与报文解析。具体地,网关层利用nodejs(一种事件驱动语言的运行环境)进行研发,如图7所示,解析区块链层中的grpc(一种rpc框架)请求后封装成httpsapi接口,输出json格式通用报文,其中,通用api接口包含:用户注册(即,图7中所示的用户)、证书管理(即,图7中所示的安全)、智能合约调用(即,图7中所示的合约)、智能合约查询(即,图7中所示的扩展)等。企业应用可以直接继承nodejssdk,直接使用sdk(软件开发工具包)内部用户、证书、智能合约函数。图7是根据本发明实施例提供的区块链网关的结构图。

在本发明实施例中,通过使用区块链网关将供应链中各企业接入到区块链中,并基于共识运算将区块链中各节点的数据写入区块链的链内账本中的方式,能够实现区块链中各节点间数据可以共享,进而达到了基于区块链中各节点间数据的共享实现供应链中的各企业间数据共享的目的,解决了由于现有技术中供应链中各企业间的系统封闭导致的供应链上的数据不能及时达成一致的技术问题,从而实现了供应链中各企业间的数据可以共享的技术效果。

实施例四:

根据本发明实施例还提供了一种区块链中数据共享的装置,该装置用于执行本发明实施例上述内容提供的应用于区块链中的第二节点的区块链中数据共享的方法,以下对本发明实施例提供的区块链中数据共享的装置做具体介绍。

图8是根据本发明实施例提供的一种应用于区块链中的第二节点的区块链中数据共享的装置的示意图,如图8所示,该区块链中数据共享的装置组要包括:第二获取单元30,运算单元40,其中:

第二获取单元30,用于第二节点获取区块链在链内广播的目标数据,其中,目标数据为区块链中的第一节点中发生变更的目标数据,其中,第一节点为区块链中与第一企业相对应的节点,第一企业为多个目标企业中的一个,多个目标企业为通过区块链网关接入到区块链的供应链中的企业;

运算单元40,用于第二节点在收到目标数据之后,基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。

在本发明实施例中,区块链中是基于智能合约来进行数据的处理的,图9是根据本发明实施例提供的区块链基于智能合约进行数据的处理的示意图。

如图9所示,区块链上的智能合约包括事务处理和保存的机制,事务主要包含需要发送的数据(即,图9中所示的值,下同);而事件则是对这些数据的描述信息(即图9中所示的状态,下同)。事务及事件信息传入智能合约后,合约资源集合中的资源状态会被更新,进而触发智能合约进行状态机判断。如果自动状态机中某个或某几个动作的触发条件满足,则由状态机根据预设信息选择合约动作自动执行。

时间描述信息中包含有触发条件,即,如图9中所示的预置触发事件和预置响应规则,其中,预置触发事件包括预置特定的时间,特定的事件等,预置响应规则包括预置特定交易,特定的动作等,智能合约系统根据该触发条件,当满足该触发条件时,从智能合约自动发出预设的数据资源,以及包括触发条件的事件,完成响应。需要说明的是,在该过程中,智能合约只是一个事务处理模块和状态机构成的系统,它不产生智能合约,也不会修改智能合约,因此区块链基于智能合约进行数据的处理,可以有效保证区块链中数据变更的可溯源性,使得任何区块链中的操作都可以保留证据进行查询。

在本发明实施例中,首先,获取第一节点中发生变更的目标数据;然后,将目标数据广播到所述区块链中的第二节点,其中,在第二节点收到目标数据之后,第二节点基于共识算法对目标数据进行共识运算,并将运算结果写入区块链的链内账本中。在本发明实施例中,通过使用区块链网关将供应链中各企业接入到区块链中,并基于共识运算将区块链中各节点的数据写入区块链的链内账本中的方式,能够实现区块链中各节点间数据可以共享,进而达到了基于区块链中各节点间数据的共享实现供应链中的各企业间数据共享的目的,解决了由于现有技术中供应链中各企业间的系统封闭导致的供应链上的数据不能及时达成一致的技术问题,从而实现了供应链中各企业间的数据可以共享的技术效果。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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