基于区块链的溯源数据处理方法、装置、设备及介质与流程

文档序号:18106459发布日期:2019-07-06 11:41阅读:200来源:国知局
基于区块链的溯源数据处理方法、装置、设备及介质与流程

本发明实施例涉及区块链技术领域,尤其涉及一种基于区块链的溯源数据处理方法、装置、设备及介质。



背景技术:

当前区块链在应用过程中表现最突出的问题是链吞吐量太低,交易延时较长,无法做到实时交易上链;并且随着时间推进,数据量增大。在此基础上,对于用于存储溯源数据的区块链而言,随着时间推进,溯源数据量增大,进而用于处理溯源数据的溯源智能合约在区块链上的运行效率将很低,因此,很难保证用户可及时从链上查询到所需的数据。



技术实现要素:

本发明实施例提供了一种基于区块链的溯源数据处理方法、装置、设备及介质,用户可快速从区块链中查询所需的数据。

第一方面,本发明实施例提供了一种基于区块链的溯源数据处理方法,该方法包括:

接收溯源中心设备发送的溯源数据处理结果,所述溯源数据处理结果是所述溯源中心设备依据溯源智能合约和所述溯源数据确定的;

产生包括所述溯源数据处理结果的结果上链事务请求;其中,所述结果上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将所述溯源数据处理结果作为事务数据写入区块链中。

第二方面,本发明实施例提供了一种基于区块链的溯源数据处理方法,该方法包括:

获取溯源数据;

依据溯源智能合约和所述溯源数据确定溯源数据处理结果;

向区块链节点发送所述溯源数据处理结果,以使所述区块链节点产生包括所述溯源数据处理结果的结果上链事务请求,并将所述结果上链事务请求传输至区块链网络中,由区块链网络进行处理并将所述溯源数据处理结果作为事务数据写入区块链中。

第三方面,本发明实施例还提供了一种基于区块链的溯源数据处理装置,该装置包括:

结果接收模块,用于接收溯源中心设备发送的溯源数据处理结果,所述溯源数据处理结果是所述溯源中心设备依据溯源智能合约和所述溯源数据确定的;

结果请求产生模块,用于产生包括所述溯源数据处理结果的结果上链事务请求;其中,所述结果上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将所述溯源数据处理结果作为事务数据写入区块链中。

第四方面,本发明实施例还提供了一种基于区块链的溯源数据处理装置,该装置包括:

数据获取模块,用于获取溯源数据;

结果确定模块,用于依据溯源智能合约和所述溯源数据,确定溯源数据处理结果;

结果发送模块,用于向区块链节点发送所述溯源数据处理结果,以使所述区块链节点产生包括所述溯源数据处理结果的结果上链事务请求,并将所述结果上链事务请求传输至区块链网络中,由区块链网络进行处理并将所述溯源数据处理结果作为事务数据写入区块链中。

第五方面,本发明实施例还提供了一种设备,该设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的基于区块链的溯源数据处理方法,或者实现第二方面中任意所述的基于区块链的溯源数据处理方法。

第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的基于区块链的溯源数据处理方法,或者实现第二方面中任意所述的基于区块链的溯源数据处理方法。

本发明实施例提供的技术方案,接收溯源中心设备依据溯源智能合约和溯源数据确定并发送的溯源数据处理结果,而后产生包括溯源数据处理结果的结果上链事务请求,并将该结果上链事务请求传输至区块链网络,以使区块链网络处理该结果上链事务请求,并将溯源数据处理结果作为事务数据写入区块链中。相比于现有的技术方案,本方案通过将溯源数据处理结果存储于区块链中,保证了用户可快速从区块链中查询到所需的数据。

附图说明

图1是本发明实施例一提供的一种基于区块链的溯源数据处理方法的流程图;

图2是本发明实施例二提供的一种基于区块链的溯源数据处理方法的流程图;

图3是本发明实施例三提供的一种基于区块链的溯源数据处理方法的流程图;

图4是本发明实施例四提供的一种基于区块链的溯源数据处理方法的流程图;

图5是本发明实施例五提供的一种基于区块链的溯源数据处理方法的流程图;

图6是本发明实施例六提供的一种基于区块链的溯源数据处理装置的结构框图;

图7是本发明实施例七提供的一种基于区块链的溯源数据处理装置的结构框图;

图8是本发明实施例八提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种基于区块链的溯源数据处理方法的流程图,本实施例可适用于在基于区块链存储溯源数据的场景下,如何使用户可及时从区块链上查询到所需数据的情况。整套基于区块链的溯源数据处理方法通常由溯源中心设备及与溯源中心设备通信连接的区块链节点配合执行。其中,溯源中心设备可以是具有大存储容量的第三方设备,可用于存储溯源数据,且能够与区块链网络中的至少一个区块链节点进行通信连接;与溯源中心设备通信连接的区块链节点可以是当前区块生成节点,也可以是其他区块链节点。可选的,其他区块链节点可以是本地存储区块链的普通区块链节点,还可以是未存储或存储部分区块数据和事务数据,但可以参与区块链的事务请求交互过程的区块链节点(即轻节点如移动终端、移动终端上的客户端等)。

本发明实施例的方案由与溯源中心设备通信连接的区块链节点来执行,该方法可以由本发明实施例提供的基于区块链的溯源数据处理装置来执行,该装置可采用硬件和/或软件的方式实现,并可集成于承载区块链节点的计算设备中。参见图1,该方法具体可以包括:

s110,接收溯源中心设备发送的溯源数据处理结果,溯源数据处理结果是溯源中心设备依据溯源智能合约和溯源数据确定的。

本实施例中,溯源数据是用于追溯一个溯源对象从根源到当前所处状态的具体体现,可以包括溯源对象从根源演变到当前所处状态整个过程的数据。其中,溯源对象可以是任意商品(如奶类商品)以及账户等,还可以是图书馆中的图书等。可选的,若溯源对象是账户,则溯源数据可以包括该账户下的所有交易记录等;若溯源对象是图书馆中的图书,则溯源数据可以包括该图书的借还数据以及图书具体的摆放位置等。

示例性的,溯源中心设备可以接收数据源设备发送的溯源数据;还可以向与其通信连接的区块链节点如本机节点发送溯源数据获取请求,以请求该区块链节点从区块链获取溯源数据获取请求所要获取的溯源数据并反馈,进而溯源中心设备可获取溯源数据。其中,溯源数据获取请求中可以包括溯源数据标识,溯源数据标识是指用于唯一识别溯源对象所关联的溯源数据的标志。

溯源智能合约是指基于插件机制所编写的可供区块链网络中的节点、或者溯源中心设备和区块链网络中的节点调用并执行的代码段。本实施例中,溯源中心设备中可直接存储溯源智能合约本身,或者存储与溯源智能合约功能相同的算法(也就是说,溯源智能合约所转化的算法)。需要说明的是,在溯源中心设备中直接存储溯源智能合约本身的情况下,溯源中心设备中配置有能够执行溯源智能合约的插件机制。此外,对于区块链网络中的节点(除轻节点之外),溯源智能合约可以存储于创世区块中,也可以存储于更新部署数据的区块中,还可以是存储于独立于区块链,存储于区块链节点本地。

可选的,基于溯源对象可对应设置不同的溯源智能合约。示例性的,溯源智能合约可以包括:溯源标记智能合约和/或溯源索引智能合约;其中,溯源标记智能合约用于确定溯源数据的真伪和/或类别;溯源索引智能合约用于确定溯源对象关联的最新溯源数据和/或溯源对象当前所处状态。

本实施例中,溯源中心设备可根据溯源对象,选择相应的溯源智能合约;而后将溯源对象关联的溯源数据作为所选溯源智能合约的参数,运行该溯源智能合约即可确定溯源数据处理结果。其中,溯源数据处理结果即为溯源智能合约的运行结果;示例性的,不同的溯源智能合约对应不同的运行结果,进而对应不同的溯源数据处理结果。具体的,溯源数据处理结果可以包括:溯源数据的真伪或类别、最新溯源数据、以及溯源对象当前所处状态等。溯源数据的类别可以是依据某一属性对溯源数据进行归类,例如依据真伪、地点等。此外,溯源数据处理结果中还可以包括溯源数据标识等。

例如,若溯源对象是某一用户电话拨号,溯源数据可以包括预设时段内(如一个月内)该用户接听以及拨打电话的记录,将该溯源数据作为溯源标记智能合约的参数,运行该溯源标记智能合约,则可以依据主叫和被叫,将该用户接听电话和拨打电话的记录分为两类;还可以依据接听和拨打电话的地理位置进行分类等。

若溯源对象是货物物流,溯源数据可以包括该货物运输路线数据,将该货物运输路线数据作为溯源标记智能合约的参数,运行该溯源标记智能合约,则可以逐条标记出货物运输路线数据的真伪。例如,某一货物从天津发往太原,依据物流更新时间,若该货物运输路线数据中存在天津发往成都、天津发往石家庄、石家庄发往太原等,则溯源标记智能合约可以确定天津发往成都数据有误,而天津发往石家庄以及石家庄发往太原数据正确,并采用不同字体、字号或颜色等进行标记,以便用户直观获知。此外,溯源标记智能合约在标记溯源数据真伪的同时,还可以依据溯源数据真伪进行分类等。

若溯源对象是账户,则可以将账户关联的溯源数据作为溯源索引智能合约的参数,运行该溯源索引智能合约,进而可以确定该账户当前的账户余额,即溯源对象当前所处状态。若溯源对象是图书馆中的图书,则可以将图书关联的溯源数据作为溯源索引智能合约的参数,运行该溯源索引智能合约,进而可以确定该图书当前所处状态(即在馆或借出);若该图书当前所处状态为在馆,溯源索引智能合约还可以确定该图书具体的摆放位置,即最新溯源数据。

具体的,溯源中心设备在依据溯源智能合约和溯源数据,确定溯源数据处理结果后,可以将溯源数据处理结果发送至与其通信连接的区块链节点如本机节点;本机节点则可以接收溯源中心设备发送的溯源数据处理结果。

s120,产生包括溯源数据处理结果的结果上链事务请求;其中,结果上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

本实施例中,本机节点可以将溯源数据处理结果作为事务产生智能合约的参数,进而产生结果上链事务请求;还可以是按照特定的结果上链事务请求产生模板,在接收到溯源数据处理结果后,将溯源数据处理结果添加至结果上链事务请求模板的特定字段中,进而产生结果上链事务请求等。

可选的,为了提高溯源数据处理结果的安全性,可以先对溯源数据处理结果进行加密处理,而后根据加密的处理结果产生结果上链事务请求。对溯源数据处理结果进行加密时,本机节点可以是采用自身私钥对处理结果进行加密,还可以采用哈希加密如sha256或md5sum,也可以采用其他加密算法对处理结果进行加密,如数据加密标准(dataencryptionstandard,des)算法等,对此本实施例不做限定。

具体的,本机节点在接收到溯源中心设备发送的溯源数据处理结果后,可以产生包括溯源数据处理结果的结果上链事务请求,而后向区块链网络发送结果上链事务请求,以请求区块链网络从该结果上链事务请求中获取溯源数据处理结果,并将溯源数据处理结果作为事务数据写入区块链中,如可以将溯源数据处理结果与溯源数据标识关联存储于区块链中。

可选的,若本机节点是当前区块生成节点,则可以直接对产生的结果上链事务请求进行处理,并将溯源数据处理结果作为事务数据写入区块链。若本机节点是其他区块链节点,则可以将产生的结果上链事务请求发送至区块链网络,以请求区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

需要说明的是,本实施例中,通过采用区块链网络之外的第三方设备即溯源中心设备依据溯源智能合约和溯源数据确定溯源数据处理结果,而后将溯源中心设备确定的溯源数据处理结果存储于区块链中,在用户需要进行链上溯源查询时,本机节点可直接将溯源数据处理结果反馈给用户,保证了用户可快速从区块链中查询到所需的数据;同时提升了区块链网络整体的运行效率。

本发明实施例提供的技术方案,接收溯源中心设备依据溯源智能合约和溯源数据确定并发送的溯源数据处理结果,而后产生包括溯源数据处理结果的结果上链事务请求,并将该结果上链事务请求传输至区块链网络,以使区块链网络处理该结果上链事务请求,并将溯源数据处理结果作为事务数据写入区块链中。相比于现有的技术方案,本方案通过将溯源数据处理结果存储于区块链中,保证了用户可快速从区块链中查询到所需的数据。

示例性的,接收溯源中心设备发送的溯源数据处理结果之前,还可以包括:从数据源设备获取溯源数据;产生包括溯源数据的数据上链事务请求;其中,数据上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将溯源数据作为事务数据写入区块链中。

本实施例中,数据源设备是指可以用于向区块链网络中的区块链节点,或溯源中心设备以及区块链网络中的区块链节点等上传溯源数据的服务器或终端等设备。可选的,数据源设备可以是移动终端、打卡设备等。例如,若数据源设备是移动终端,用户可通过使用自身所持有的移动终端扫描某一二维码,获取相应溯源数据,而后可通过与区块链网络中的区块链节点交互的接口将溯源数据传输至该区块链节点,同时可向溯源中心设备发送溯源数据,进而使该区块链节点以及溯源中心设备获取溯源数据。需要说明的是,区块链网络中的任一区块链节点均可提供与数据源设备交互的接口,本实施例中,进一步的,该区块链节点为本机节点。

需要说明的是,本机节点产生数据上链事务请求的方式与产生结果上链事务请求的方式相同,此处不再赘述。

具体的,本机节点在从数据源设备获取溯源数据后,可以产生包括溯源数据的数据上链事务请求,而后向区块链网络发送数据上链事务请求,以请求区块链网络从该数据上链事务请求中获取溯源数据,并将溯源数据作为事务数据写入区块链中。

可选的,若本机节点是当前区块生成节点,则可以直接对产生的数据上链事务请求进行处理,并将溯源数据作为事务数据写入区块链。若本机节点是其他区块链节点,则可以将产生的数据上链事务请求发送至区块链网络,以请求区块链网络进行处理并将溯源数据作为事务数据写入区块链中。

实施例二

图2为本发明实施例二提供的一种基于区块链的溯源数据处理方法的流程图,本实施例在上述实施例的基础上,进一步的优化,参见图2,该方法具体可以包括:

s210,接收溯源中心设备发送的溯源数据处理结果,溯源数据处理结果是溯源中心设备依据溯源智能合约和溯源数据确定的。

s220,产生包括溯源数据处理结果的结果上链事务请求;其中,结果上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

s230,根据获取的用户端操作,产生包括溯源数据标识的链上查询请求;其中,链上查询请求用于传输至区块链网络中,由区块链网络依据溯源数据标识从区块链中查询对应的溯源数据处理结果并反馈。

本实施例中,链上查询请求可以是本机节点在检测到查询触发事件后所产生的,具体可以是本机节点在获取到用户端操作后所产生的。其中,用户端操作可以是用户在本机节点上输入溯源数据标识,并点击链上溯源查询按键;还可以是用户通过所持设备向本机节点发送包括溯源数据标识的链上溯源查询等。

具体的,本机节点在获取到用户端操作后,可以从获取的用户端操作中提取溯源数据标识,而后可以将溯源数据标识添加至链上查询请求模板的特定字段中,进而产生链上查询请求;还可以将溯源数据标识作为链上查询智能合约的参数,运行该智能合约,进而产生链上查询请求等。此外,本机节点在产生包括溯源数据标识的链上查询请求后,可以将该链上查询请求传输至区块链网络中,以请求区块链网络依据溯源数据标识从区块链中查询对应的溯源数据处理结果并反馈。

可选的,若本机节点是当前区块生成节点,则在产生链上查询请求后,可以直接依据溯源数据标识从本地区块链中查询该溯源数据标识对应的溯源数据处理结果,并反馈给用户端如可以向将溯源数据处理结果以网页的形式展示给用户等。

若本机节点是其他区块链节点如轻节点,则在产生链上查询请求后,可以将链上查询请求传输至区块链网络中,由区块链网络依据溯源数据标识从区块链中查询对应的溯源数据处理结果并反馈;本机节点获取到区块链网络反馈的溯源数据处理结果后,可以向用户端反馈该溯源数据处理结果。

s240,向用户端反馈溯源数据处理结果。

本实施例中,本机节点可以以网页的形式向用户端反馈溯源数据处理结果,以便用户可直观获知。

本发明实施例提供的技术方案,通过将采用区块链网络之外的第三方设备即溯源中心设备依据溯源智能合约和溯源数据确定的溯源数据处理结果存储于区块链中,在用户需要进行链上溯源查询时,可产生链上查询请求并传输至区块链网络,由区块链网络依据溯源数据标识从区块链中查询对应的溯源数据处理结果并反馈,进而可直接将溯源数据处理结果反馈给用户,区块链网络中在获取到链上查询时无需运行溯源智能合约,保证了用户可快速从区块链中查询到所需的数据;同时提升了区块链网络整体的运行效率。

实施例三

图3为本发明实施例三提供的一种基于区块链的溯源数据处理方法的流程图,本实施例在上述实施例的基础上,进一步的优化,参见图3,该方法具体可以包括:

s310,接收溯源中心设备发送的溯源数据处理结果,溯源数据处理结果是溯源中心设备依据溯源智能合约和溯源数据确定的。

s320,产生包括溯源数据处理结果的结果上链事务请求;其中,结果上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

s330,根据获取的用户端操作,产生包括溯源数据标识的链上查询请求;其中,链上查询请求用于传输至区块链网络中,由区块链网络依据溯源数据标识从区块链中查询对应的溯源数据处理结果并反馈。

s340,向用户端反馈溯源数据处理结果。

s350,从区块链中获取溯源智能合约,并依据溯源数据标识从区块链中查询获取对应的溯源数据。

具体的,若本机节点在向用户端反馈溯源数据处理结果后,再次获取到该用户端操作,(即用户对本机节点所反馈的溯源数据处理结果质疑时,对同一溯源数据标识的再次进行的链上溯源查询操作),则可以从区块链中获取溯源智能合约,并依据溯源数据标识从区块链中查询获取对应的溯源数据。

可选的,从区块链中获取溯源智能合约,并依据溯源数据标识从区块链中查询获取对应的溯源数据可以包括下述两种情况:1)若本机节点是区块链网络中除轻节点之外的节点,如当前区块生成节点,则可以直接从区块链中获取溯源智能合约,并依据溯源数据标识从区块链中查询获取对应的溯源数据。2)若本机节点是轻节点,则可以向区块链网络发送包括溯源数据标识的溯源数据合约获取请求,以请求区块链网络从区块链中获取溯源智能合约,以及依据溯源数据标识从区块链中查询获取对应的溯源数据并反馈;进而本机节点可以从区块链中获取溯源智能合约以及溯源数据标识对应的溯源数据。

s360,依据溯源智能合约和获取到的溯源数据计算溯源数据处理结果。

具体的,本机节点将获取的溯源数据作为获取的溯源智能合约的参数,运行该溯源智能合约,即可得到溯源数据处理结果。

s370,将查询到的溯源数据处理结果与计算得到的溯源数据处理结果进行比对。

具体的,将从区块链中查询到的溯源数据处理结果,与采用s360计算得到的溯源数据处理结果进行比对,依据比对结果,确定查询到的溯源数据处理结果,也就是说从溯源中心设备获取的溯源数据处理结果的真实性,进而确定溯源中心设备是否篡改溯源数据标识对应的溯源数据,也就是s380确定溯源中心设备中溯源数据标识对应的溯源数据的真实性。

s380,依据比对结果,确定溯源中心设备中溯源数据标识对应的溯源数据的真实性。

示例性的,依据比对结果,确定溯源数据的真实性可以包括:若查询到的溯源数据处理结果与计算得到的溯源数据处理结果一致,则确定溯源中心设备中溯源数据标识对应的溯源数据是真实的。

依据比对结果,确定溯源数据的真实性还可以包括:若查询到的溯源数据处理结果与计算得到的溯源数据处理结果不一致,则确定溯源中心设备中溯源数据标识对应的溯源数据有误。

具体的,若查询到的溯源数据处理结果与计算得到的溯源数据处理结果一致,则可以确定查询到的溯源数据处理结果是真实的,进而可确定溯源中心设备中存储的溯源数据标识对应的溯源数据是真实的,因此可向用户端反馈结果真实信息。若查询到的溯源数据处理结果与计算得到的溯源数据处理结果不一致,则可以确定查询到的溯源数据处理结果有误,进而可确定溯源中心设备中存储的溯源数据标识对应的溯源数据是错误的,或者说可能被篡改过等,因此可将计算得到的溯源数据处理结果重新反馈给用户端。

本发明实施例提供的技术方案,通过将采用区块链网络之外的第三方设备即溯源中心设备依据溯源智能合约和溯源数据确定的溯源数据处理结果存储于区块链中,在用户需要进行链上溯源查询时,优先将溯源数据处理结果反馈给用户;若用户对反馈的溯源数据处理结果质疑时,可从区块链中获取溯源智能合约,以及溯源数据标识对应的溯源数据,重新计算溯源数据处理结果,并将计算得到的溯源数据处理结果与查询到的溯源数据处理结果进行比对,进而依据比对结果,确定查询到的溯源数据处理结果的真实性,进而可确定溯源中心设备中存储的溯源数据标识对应的溯源数据的真实性。相比于现有的技术方案,本方案在保证用户可快速从区块链中查询到所需数据,提升了区块链网络整体的运行效率的同时,可基于用户对所展示溯源数据处理结果的可信度,重新计算溯源数据处理结果,增加了方案的灵活度,在计算得到的溯源数据处理结果与查询到的溯源数据处理结果一致的情况下,进一步证实了溯源中心设备所确定的溯源数据处理结果的真实可靠性。

实施例四

图4为本发明实施例四提供的一种基于区块链的溯源数据处理方法的流程图,本实施例可适用于在基于区块链存储溯源数据的场景下,如何使用户可及时从区块链上查询到所需数据的情况。整套基于区块链的溯源数据处理方法通常由溯源中心设备及与溯源中心设备通信连接的区块链节点配合执行。本发明实施例的方案由溯源中心设备来执行,该方法可以由本发明实施例提供的基于区块链的溯源数据处理装置来执行,该装置可采用硬件和/或软件的方式实现,并可集成于溯源中心设备中。参见图4,该方法具体可以包括:

s410,获取溯源数据。

本实施例中,溯源中心设备可以接收数据源设备发送的溯源数据;还可以向与其通信连接的区块链节点发送溯源数据获取请求,以请求该区块链节点从区块链获取溯源数据获取请求所要获取的溯源数据并反馈,进而溯源中心设备可获取溯源数据。其中,溯源数据获取请求中可以包括溯源数据标识,溯源数据标识是指用于唯一识别溯源对象所关联的溯源数据的标志。

可选的,若获取溯源数据获取请求的区块链节点为轻节点,则该轻节点可以将该溯源数据获取请求传输至区块链网络,以使区块链网络依据溯源数据标识从区块链加载溯源数据并反馈,进而该轻节点可将获取的溯源数据发送给溯源中心设备。

s420,依据溯源智能合约和溯源数据,确定溯源数据处理结果。

本实施例中,溯源智能合约是指基于插件机制所编写的可供区块链网络中的节点、或者溯源中心设备和区块链网络中的节点调用并执行的代码段。本实施例中,溯源中心设备中可直接存储溯源智能合约本身,或者存储与溯源智能合约功能相同的算法(也就是说,溯源智能合约所转化的算法)。需要说明的是,在溯源中心设备中直接存储溯源智能合约本身的情况下,溯源中心设备中配置有能够执行溯源智能合约的插件机制。可选的,基于溯源对象可对应设置不同的溯源智能合约。示例性的,溯源智能合约可以包括:溯源标记智能合约和/或溯源索引智能合约;溯源标记智能合约用于确定溯源数据的真伪和/或类别;溯源索引智能合约用于确定溯源对象关联的最新溯源数据和/或溯源对象当前所处状态。

本实施例中,溯源中心设备可根据溯源对象,选择相应的溯源智能合约;而后将溯源对象关联的溯源数据作为所选溯源智能合约的参数,运行该溯源智能合约即可确定溯源数据处理结果。其中,溯源数据处理结果即为溯源智能合约的运行结果;示例性的,不同的溯源智能合约对应不同的运行结果,进而对应不同的溯源数据处理结果。具体的,溯源数据处理结果可以包括:溯源数据的真伪或类别、最新溯源数据、以及溯源对象当前所处状态等。溯源数据的类别可以是依据某一属性对溯源数据进行归类,例如依据真伪、地点等。此外,溯源数据处理结果中还可以包括溯源数据标识等。

s430,向区块链节点发送溯源数据处理结果,以使区块链节点产生包括溯源数据处理结果的结果上链事务请求,并将结果上链事务请求传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

本实施例中,区块链节点为与溯源中心设备通信连接的节点,该区块链节点可执行实施例一至实施例三所示的基于区块链的溯源数据处理方法。

具体的,溯源中心设备在依据溯源智能合约和溯源数据,确定溯源数据处理结果后,可以将溯源数据处理结果发送至区块链节点;以使该区块链节点在可以接收到溯源中心设备发送的溯源数据处理结果后,产生包括溯源数据处理结果的结果上链事务请求,并向区块链网络发送结果上链事务请求,以请求区块链网络从该结果上链事务请求中获取溯源数据处理结果,并将溯源数据处理结果作为事务数据写入区块链中,如可以将溯源数据处理结果与溯源数据标识关联存储于区块链中。

本发明实施例提供的技术方案,溯源中心设备在获取溯源数据之后,可依据溯源智能合约和溯源数据确定溯源数据处理结果,而后将溯源数据处理结果发送至与其通信连接的区块链节点,以使该区块链节点产生包括溯源数据处理结果的结果上链事务请求,并将该结果上链事务请求传输至区块链网络,以使区块链网络处理该结果上链事务请求,并将溯源数据处理结果作为事务数据写入区块链中。相比于现有的技术方案,本方案通过将溯源数据处理结果存储于区块链中,保证了用户可快速从区块链中查询到所需的数据。

实施例五

图5为本发明实施例五提供的一种基于区块链的溯源数据处理方法的流程图,本实施例在上述实施例的基础上,提供了一种由溯源中心设备及与溯源中心设备通信连接的区块链节点交互实现基于区块链的溯源数据处理的优选实例。参见图5,该方法具体可以包括:

s501,溯源中心设备获取溯源数据。

s502,溯源中心设备依据溯源智能合约和溯源数据,确定溯源数据处理结果。

s503,溯源中心设备向区块链节点发送溯源数据处理结果。

s504,区块链节点接收溯源中心设备发送的溯源数据处理结果。

s505,区块链节点产生包括溯源数据处理结果的结果上链事务请求;其中,结果上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

s506,区块链节点根据获取的用户端操作,产生包括溯源数据标识的链上查询请求;其中,链上查询请求用于传输至区块链网络中,由区块链网络依据溯源数据标识从区块链中查询对应的溯源数据处理结果并反馈。

s507,区块链节点向用户端反馈溯源数据处理结果。

s508,区块链节点从区块链中获取溯源智能合约,并依据溯源数据标识从区块链中查询获取对应的溯源数据。

s509,区块链节点依据溯源智能合约和获取到的溯源数据计算溯源数据处理结果。

s510,区块链节点将查询到的溯源数据处理结果与计算得到的溯源数据处理结果进行比对。

s511,区块链节点依据比对结果,确定溯源中心设备中溯源数据标识对应的溯源数据的真实性。

本发明实施例提供的技术方案,溯源中心设备在获取溯源数据之后,可依据溯源智能合约和溯源数据确定溯源数据处理结果,而后将溯源数据处理结果发送至与其通信连接的区块链节点;该区块链节点在接收到溯源中心设备发送的溯源数据处理结果后,产生包括溯源数据处理结果的结果上链事务请求,并将该结果上链事务请求传输至区块链网络,以使区块链网络处理该结果上链事务请求,并将溯源数据处理结果作为事务数据写入区块链中,在用户需要进行链上溯源查询时,优先将溯源数据处理结果反馈给用户;若用户对反馈的溯源数据处理结果质疑时,可从区块链中获取溯源智能合约,以及溯源数据标识对应的溯源数据,重新计算溯源数据处理结果,并将计算得到的溯源数据处理结果与查询到的溯源数据处理结果进行比对,进而依据比对结果,确定查询到的溯源数据处理结果的真实性,进而可确定溯源中心设备中存储的溯源数据标识对应的溯源数据的真实性。相比于现有的技术方案,本方案在保证用户可快速从区块链中查询到所需数据,提升了区块链网络整体的运行效率的同时,可基于用户对所展示溯源数据处理结果的可信度,重新计算溯源数据处理结果,增加了方案的灵活度,在计算得到的溯源数据处理结果与查询到的溯源数据处理结果一致的情况下,进一步证实了溯源中心设备所确定的溯源数据处理结果的真实可靠性。

实施例六

图6为本发明实施例六提供的一种基于区块链的溯源数据处理装置的结构框图,该装置可配置于承载区块链节点的计算设备中。该装置可执行本发明实施例一至三所提供的基于区块链的溯源数据处理方法,具备执行方法相应的功能模块和有益效果。如图6所示,该装置可以包括:

结果接收模块610,用于接收溯源中心设备发送的溯源数据处理结果,溯源数据处理结果是溯源中心设备依据溯源智能合约和溯源数据确定的;

结果请求产生模块620,用于产生包括溯源数据处理结果的结果上链事务请求;其中,结果上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

本发明实施例提供的技术方案,接收溯源中心设备依据溯源智能合约和溯源数据确定并发送的溯源数据处理结果,而后产生包括溯源数据处理结果的结果上链事务请求,并将该结果上链事务请求传输至区块链网络,以使区块链网络处理该结果上链事务请求,并将溯源数据处理结果作为事务数据写入区块链中。相比于现有的技术方案,本方案通过将溯源数据处理结果存储于区块链中,保证了用户可快速从区块链中查询到所需的数据。

示例性的,溯源智能合约可以包括:溯源标记智能合约和/或溯源索引智能合约;其中,溯源标记智能合约用于确定溯源数据的真伪和/或类别;溯源索引智能合约用于确定溯源对象关联的最新溯源数据和/或溯源对象当前所处状态。

示例性的,上述装置还可以包括:

溯源数据获取模块,用于在接收溯源中心设备发送的溯源数据处理结果之前,从数据源设备获取溯源数据。

数据请求产生模块,用于产生包括溯源数据的数据上链事务请求;其中,数据上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将溯源数据作为事务数据写入区块链中。

示例性的,上述装置还可以包括:

查询请求产生模块,用于在产生包括溯源数据处理结果的结果上链事务请求之后,根据获取的用户端操作,产生包括溯源数据标识的链上查询请求;其中,链上查询请求用于传输至区块链网络中,由区块链网络依据溯源数据标识从区块链中查询对应的溯源数据处理结果并反馈;

结果反馈模块,用于向用户端反馈溯源数据处理结果。

示例性的,上述装置还可以包括:验证模块,该验证模块可以用于:

在向用户端反馈溯源数据处理结果之后,从区块链中获取溯源智能合约,并依据溯源数据标识从区块链中查询获取对应的溯源数据;

依据溯源智能合约和获取到的溯源数据计算溯源数据处理结果;

将查询到的溯源数据处理结果与计算得到的溯源数据处理结果进行比对;

依据比对结果,确定溯源中心设备中溯源数据标识对应的溯源数据的真实性。

示例性的,验证模块具体可以用于:

若查询到的溯源数据处理结果与计算得到的溯源数据处理结果一致,则确定溯源中心设备中溯源数据标识对应的溯源数据是真实的。

实施例七

图7为本发明实施例七提供的一种基于区块链的溯源数据处理装置的结构框图,该装置可配置于溯源中心设备中。该装置可执行本发明实施例四所提供的基于区块链的溯源数据处理方法,具备执行方法相应的功能模块和有益效果。如图7所示,该装置可以包括:

数据获取模块710,用于获取溯源数据;

结果确定模块720,用于依据溯源智能合约和溯源数据,确定溯源数据处理结果;

结果发送模块730,用于向区块链节点发送溯源数据处理结果,以使区块链节点产生包括溯源数据处理结果的结果上链事务请求,并将结果上链事务请求传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

本发明实施例提供的技术方案,溯源中心设备在获取溯源数据之后,可依据溯源智能合约和溯源数据确定溯源数据处理结果,而后将溯源数据处理结果发送至与其通信连接的区块链节点,以使该区块链节点产生包括溯源数据处理结果的结果上链事务请求,并将该结果上链事务请求传输至区块链网络,以使区块链网络处理该结果上链事务请求,并将溯源数据处理结果作为事务数据写入区块链中。相比于现有的技术方案,本方案通过将溯源数据处理结果存储于区块链中,保证了用户可快速从区块链中查询到所需的数据。

示例性的,溯源智能合约可以包括:溯源标记智能合约和/或溯源索引智能合约;其中,溯源标记智能合约用于确定溯源数据的真伪和/或类别;溯源索引智能合约用于确定溯源对象关联的最新溯源数据和/或溯源对象当前所处状态。

实施例八

图8为本发明实施例八提供的一种设备的结构示意图。图8示出了适于用来实现本发明实施方式的示例性设备80的框图。图8显示的设备80仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。本发明实施例中的设备可以是区块链节点设备,也可以是溯源中心设备。如图8所示,该设备80以通用计算设备的形式表现。该设备80的组件可以包括但不限于:一个或者多个处理器或者处理单元801,系统存储器802,连接不同系统组件(包括系统存储器802和处理单元801)的总线803。

总线803表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

设备80典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备80访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器802可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)804和/或高速缓存存储器805。设备80可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统806可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线803相连。系统存储器802可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块807的程序/实用工具808,可以存储在例如系统存储器802中,这样的程序模块807包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块807通常执行本发明所描述的实施例中的功能和/或方法。

设备80也可以与一个或多个外部设备809(例如键盘、指向设备、显示器810等)通信,还可与一个或者多个使得用户能与该设备交互的设备通信,和/或与使得该设备80能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口811进行。并且,设备80还可以通过网络适配器812与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图8所示,网络适配器812通过总线803与设备80的其它模块通信。应当明白,尽管图中未示出,可以结合设备80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元801通过运行存储在系统存储器802中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于区块链的溯源数据处理方法。

实施例九

本发明实施例九还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行一种基于区块链的溯源数据处理方法,该方法包括:

接收溯源中心设备发送的溯源数据处理结果,溯源数据处理结果是溯源中心设备依据溯源智能合约和溯源数据确定的;

产生包括溯源数据处理结果的结果上链事务请求;其中,结果上链事务请求用于传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

或者,该方法包括:

获取溯源数据;

依据溯源智能合约和溯源数据,确定溯源数据处理结果;

向区块链节点发送溯源数据处理结果,以使区块链节点产生包括溯源数据处理结果的结果上链事务请求,并将结果上链事务请求传输至区块链网络中,由区块链网络进行处理并将溯源数据处理结果作为事务数据写入区块链中。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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