数据处理方法、装置、设备及介质

文档序号:8011 发布日期:2021-09-17 浏览:32次 英文

数据处理方法、装置、设备及介质

本申请是申请日为2018年07月05日、申请号为201810731377.2、发明名称为“数据存储方法、数据校验方法、装置、设备及介质”的分案申请

技术领域

本发明涉及网络

技术领域

,特别涉及一种数据处理方法、装置、设备及存储介质。

背景技术

随着区块链技术的发展,越来越多的业务开始应用区块链作为存储媒介,以实现数据的存储和共享,然而,区块链技术在应用过程中,仅仅能够保证链上数据的可追溯,并不能保证链上数据一定是真实的,也即是,链上数据跟实际的生产生活没有联系,因此,该技术具有很大的局限性,无法辅助真实生产。

发明内容

本发明实施例提供了一种数据处理方法、装置、设备及存储介质。所述技术方案如下:

一方面,提供了一种数据处理方法,应用于数据存储系统中的第一节点,所述数据存储系统的多个节点配置有共识机制,所述方法包括:

获取目标物在当前阶段的碳排放余量;

获取所述目标物在所述当前阶段的交易数据;

将所述目标物在当前阶段的碳排放余量和所述目标物在所述当前阶段的交易数据存储至所述第一节点中。

一方面,提供了一种数据处理方法,应用于数据存储系统的任一第二节点上,所述数据存储系统中的多个第二节点配置有共识机制,所述方法包括:

接收第一节点的审计信息,所述审计信息用于指示所述第一节点已存储的数据,所述数据包括目标物在当前阶段的碳排放余量和所述目标物在所述当前阶段的交易数据;

基于至少一个目标第一节点的目标审计信息对所述审计信息进行校验,所述目标审计信息用于指示与所述第一节点进行交易的目标第一节点已存储的数据;

当校验通过时,在所述数据存储系统中广播校验通过通知;

当接收到的校验通过通知满足共识通过条件时,所述审计信息共识通过,向所述第一节点发送共识确认通知。

一方面,提供了一种数据处理装置,应用于数据存储系统中的第一节点,所述数据存储系统的多个节点配置有共识机制,所述装置包括:

第一数据获取模块,用于获取目标物在当前阶段的碳排放余量;

第二数据获取模块,用于获取所述目标物在所述当前阶段的交易数据;

存储模块,用于将所述目标物在当前阶段的碳排放余量和所述目标物在所述当前阶段的交易数据存储至所述第一节点中。

一方面,提供了一种数据处理装置,应用于数据存储系统的任一第二节点上,所述数据存储系统中的多个第二节点配置有共识机制,所述装置包括:

接收模块,用于接收第一节点的审计信息,所述审计信息用于指示所述第一节点已存储的数据,所述数据包括目标物在当前阶段的碳排放余量和所述目标物在所述当前阶段的交易数据;

校验模块,用于基于至少一个目标第一节点的目标审计信息对所述审计信息进行校验,所述目标审计信息用于指示与所述第一节点进行交易的目标第一节点已存储的数据;

发送模块,用于当校验通过时,在所述数据存储系统中广播校验通过通知;

所述发送模块还用于当接收到的校验通过通知满足共识通过条件时,所述审计信息共识通过,向所述第一节点发送共识确认通知。

一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述数据处理方法所执行的操作。

一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述数据处理方法所执行的操作。

一方面,提供了一种数据存储系统,所述系统包括多个第一节点和多个第二节点,所述数据存储系统中的多个第二节点配置有共识机制,

所述多个第一节点中的每个第一节点,用于获取目标物在当前阶段的碳排放余量;获取所述目标物在所述当前阶段的交易数据,将所述目标物在当前阶段的碳排放余量和所述目标物在所述当前阶段的交易数据存储至所述第一节点中,获取所述第一节点的审计信息,所述审计信息用于指示所述第一节点所存储的数据;向所述数据存储系统的多个第二节点广播所述第一节点的审计信息;

所述多个第二节点中的每个第二节点,用于接收第一节点的审计信息,所述审计信息用于指示所述第一节点已存储的数据,所述数据包括目标物在当前阶段的碳排放余量和所述目标物在所述当前阶段的交易数据;基于至少一个目标第一节点的目标审计信息对所述审计信息进行校验,所述目标审计信息用于指示与所述第一节点进行交易的目标第一节点已存储的数据;当校验通过时,在所述数据存储系统中广播校验通过通知;当接收到的校验通过通知满足共识通过条件时,所述审计信息共识通过,向所述第一节点发送共识确认通知。

本发明实施例主要通过获取目标物的不同维度的数据,可以从多个角度来对目标物从生产阶段到流通阶段的各个阶段和各个环节进行记录,能够达到将线上数据与真实的生产生活紧密关联的目的,使得线上数据具有实际意义。

附图说明

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

图1是本发明实施例提供的一种数据存储系统的结构示意图;

图2是本发明实施例提供的一种计算机设备的示意图;

图3是本发明实施例提供的一种数据存储方法的流程图;

图4是本发明实施例提供的一种数据校验方法的流程图;

图5是本发明实施例提供的一种数据校验过程中的数据关联网络示意图;

图6是本发明实施例提供的一种乳制品从生产到流通中不同阶段以及各个阶段的不同环节中所涉及的实施过程的示意图;

图7是本发明实施例提供的一种数据存储装置的结构示意图;

图8是本发明实施例提供的一种数据校验装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1是本发明实施例提供的一种数据存储系统的结构示意图。该系统包括多个第一节点101以及多个第二节点102;

该多个第一节点中的每个第一节点,用于获取目标物的第一数据;获取该目标物的第二数据,该第一数据和第二数据为不同维度的数据;将该目标物的第一数据和该第二数据存储至该第一节点中,获取该第一节点的审计信息,该审计信息用于指示该第一节点所存储的数据;向该数据存储系统的多个第二节点广播该第一节点的审计信息;

该多个第二节点用于接收该第一节点的审计信息,该审计信息用于指示该第一节点已存储的数据;基于至少一个目标第一节点的目标审计信息对该审计信息进行校验;当校验通过时,在该数据存储系统中广播校验通过通知;当接收到的校验通过通知满足共识通过条件,该审计信息共识通过。

其中,该多个第一节点101可以分别为不同经营实体的节点,用于存储与对应的经营实体的生产、交易相关的数据,各个第一节点101可以采用数据库或区块的方式存储自身的数据,数据库的方式即是为各个数据建立索引,并基于索引将数据存储至对应存储空间,而区块的方式是指对于第一节点上所存储的数据,每条数据之间有一定的关联,可以采取同理于区块链中的区块形式,以保证数据的不可篡改性。上述多个第一节点101可以构成数据存储系统的基础数据层,还可以分别为对应经营实体提供数据查询功能,以便追溯与其他节点之间的交易和自身的生产活动。具体地,多个第一节点101之间可以进行通信,以便进行交易,例如,第一节点1可以与第一节点2进行交易,从而通过该第一节点1的账户向该第一节点2对应的账户进行转账、产品交付、信息互通等过程,从而完成与第一节点2的交易。当然,该交易的完成可以是指线上交易完成,在实际交易过程中,还可能涉及相关的线下运输等,本发明实施例对此不做限定。另外,需要说明的是,该第一节点还可以是经营实体的代理节点,用以代理一个或多个经营实体进行线上交易以及数据存储等,当该第一节点代理一个或多个经营实体时,可以为不同经营实体分别进行数据存储,并可以通过设置密钥等手段,来保证各个经营实体的数据隐私性。

多个第二节点102可以用于对多个第一节点在生产、交易过程中所产生的数据进行校验,并基于交易结果指示第一节点的数据真实性。需要说明的是,该多个第二节点102可以部署同一条区块链,也即是,该多个第二节点102可以遵循同一套共识机制,可以分别对第一节点101的数据进行校验,并基于共识机制,基于多个第二节点102的校验结果,来进行共识,如果校验结果符合共识通过条件(例如,校验通过的第二节点个数超过总数的2/3),则该多个第二节点102达成共识,确定第一节点101的数据真实性,而当校验结果不符合共识通过条件,则该多个第二节点101未达成共识,确定第一节点101的数据不具有真实性。需要说明的是,本发明实施例对具体采用哪种共识机制不做限定。

上述多个第一节点101构成了数据存储系统的基础数据层,用于进行各自节点的数据存储,而该多个第二节点102构成该数据存储系统的审计层,用于为多个第一节点101提供验证服务,各个第一节点101之间可以具有一定的数据隔离性,例如,第一节点1的交易数据对于第一节点2不可见,而第一节点1可以向第二节点发送携带账户信息的交易请求。而各个第一节点101的数据对于该多个第二节点102来说是透明或相对透明的,也即是,第二节点102可以获取到第一节点101所存储的数据或数据的特征值(例如哈希值),本发明实施例在后续会对其具体获取等过程进行详述。

其中,该第一节点或第二节点可以被提供为任一种计算机设备,例如,图2是本发明实施例提供的一种计算机设备的示意图,该计算机设备200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)201和一个或一个以上的存储器202,其中,所述存储器202中存储有至少一条指令,所述至少一条指令由所述处理器201加载并执行以实现下述各个实施例提供的数据存储方法或数据校验方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。

图3是本发明实施例提供的一种数据存储方法的流程图。该数据存储方法可以应用于如图1的任一个第一节点,参见图3,该方法包括:

301、获取目标物的第一数据。

其中,目标物可以是任一种能够进行线下或线上交易或流通的产品。该目标物可以为一种有形产品,该有形产品可以基于手工生产或机器生产获得,例如,该有形产品可以为食品、日化用品、家居用品、家电等等,本发明实施例不做具体限定。该目标物还可以为票据类产品,也即是,以票据形式来表示的产品,例如,该目标物可以为股票、债券、基金份额等金融产品。当然,该目标物还可以为虚拟产品,也即是,可以为一种采用电子数据形式表示的产品,其可以对应于一定的实际货币价值或虚拟货币价值,该货币价值可以不是固定的,而是根据市场规律进行浮动,例如,该虚拟产品可以为金融产品,如线上基金产品、线上股票产品等等。

该第一数据可以是指该目标物的一个维度的数据,该维度是指用于衡量目标物在生成到其存续期间的任一方面的信息。例如,维度可以包括时间维度、交易维度、环保维度等等。其中,时间维度上可以包括目标物的已存续时间、目标物距离消亡所剩余的时间、目标物距离其结算或者到期所剩余的时间等等,交易维度可以包括目标物在生成到存续期间的所关联的交易行为的交易双方、交易金额、交易时间等等,而环保维度可以包括有害物质排放或生成情况,例如碳排放情况、甲醛产生情况、工业废料产生情况等等。

302、获取该目标物的第二数据,该第一数据和第二数据为不同维度的数据。

其中,该第二数据可以是指与第一数据不同维度的数据。例如,第一数据为时间维度的数据,则第二数据可以为交易维度或环保维度。

303、将该目标物的第一数据和该第二数据存储至第一节点中。

第一节点可以存储有该节点的生产或交易的相关数据,该数据可以包括该节点所对应的目标物的生产阶段或流通阶段所发生的任一种交易的信息。

需要说明的是,在进行数据存储时,可以将第一数据和第二数据进行对应存储,便于查询。例如,可以将第一数据和第二数据存储在第一节点的数据库的一条数据项中或相关数据项中,还可以将第一数据和第二数据存储在一个区块中,也可以将第一数据和第二数据分别存储至不同区块,并用相同的数据标识来进行标识,以便于查询。

在一些实施例中,第一节点可以在存储之前,基于已获取到的至少两个维度的数据进行交叉比对,当所述已获取到的至少两个维度的数据匹配时,执行步骤303的存储步骤。由于各个维度的数据之间应符合一定函数关系,因此,可以基于该维度之间的函数关系,来对至少两个维度的数据进行交叉比对,当比对结果为匹配时,则可以存储,如果比对结果为不匹配,则不执行存储步骤。例如,生命周期、碳排放之间应具有一定的函数关系,例如,当生命周期减少2天,则其碳排放应增加10个单位,而如果上述多维数据之间不满足该函数关系,则说明数据有误,其比对结果为不匹配。

需要说明的是,上述交叉比对可以是针对本发明实施例所提供的任意维度数据,也即是,当所获取到的为第一数据、第二数据时,则基于第一数据和第二数据进行比对,当获取到的为第一数据、第二数据和第三数据时,则基于第一数据、第二数据和第三数据进行比对,同理,所获取到的还包括其他数据时,遵循上述原则执行比对过程。当然,上述比对仅仅是对具体比对过程的一个简单示例,本发明实施例还可以基于多维数据进行其他比对过程,本发明实施例对此不作限定。

本发明实施例主要通过获取目标物的不同维度的数据,可以从多个角度来对目标物从生产阶段到流通阶段的各个阶段和各个环节进行记录,能够达到将线上数据与真实的生产生活紧密关联的目的,使得线上数据具有实际意义,不再仅是一些虚拟货币的简单表达。进一步地,在本申请的各个实施例中,各个阶段所对应的第一节点所记录的多个维度的数据彼此相关,不仅各个阶段和各个环节均可以互为验证,且多个维度的数据之间也可以互为验证,构成一个流式的、无缝的数据链,且由于各个第一节点的数据均存储在节点自身上,提高了数据的安全性。

对于目标物来说,其从生产到流通可以包括多个阶段,该多个阶段可以根据实际需求划分,以食品来说,可以包括原材料生产阶段、目标物的生产阶段、运输阶段、销售阶段等,其中,销售阶段根据销售方式不同,还可以包括不同的阶段,例如,如果采用电商销售的方式,则可以包括电商阶段、仓储阶段、物流阶段以及消费者阶段,而如果采用直营销售的方式,则可以包括上架阶段以及消费者阶段,又以任一种虚拟产品为例,可以包括设计阶段、试运行阶段或预售阶段、正式发布阶段等等。

基于图3所示的实施例,在一些实施例中,该目标物的第一数据包括该目标物在当前阶段的生命周期余量,该目标物的第二数据包括该目标物在该当前阶段的交易数据。

其中,生命周期是指一个目标物从原始状态到目标物生成、再到目标物的存续期满或目标物达到使用期限或目标物耗尽之间的时间段。例如,对于食品来说,其可以表现为保质期,以牛奶为例,其保质期可以为30天,对于一种虚拟产品来说,可以表现为生效期,以金融产品为例,其生效期可以为60天,以软件产品为例,其生效期可以表示为使用权限的生效期,例如,高级会员的有效期为1个月,对于一种电子产品来说,可以表现为报废期限或使用次数,例如一台洗衣机,其报废期限可以为5年或是使用10000次。基于上述对生命周期的介绍,可以获知生命周期余量即是指当前时间点该目标物的生命周期的剩余量。例如,对于上述食品来说,其生命周期为30天,而此时如果已经经过了10天的流通,则其生命周期余量为20天。在目标物的各个阶段中,均可能发生一定消耗,会对该目标物的使用或存续造成影响,因此,为了对这种影响进行记录,则可以获取目标物的生命周期余量。

在一些实施例中,对于目标物的各个阶段,均可以具有对应的生命周期余量,当然,也可以在目标物的某些阶段,才具有对应的生命周期余量,具体可以根据目标物的特性来确定,例如,对于一些具有原材料的目标物,则其在原材料的生产阶段,即已经具有对应的生命周期余量,而在后续的各个阶段中,其生命周期余量均是在原材料的生产阶段的生命周期余量的基础上进行递减,而对于一些不具有原材料的目标物来说,则可以在其某个阶段才出现生命周期的概念,本发明实施例对此不做限定。通过上述描述,可以获知,如果该第一节点所对应的阶段为生命周期的起始阶段,则该生命周期余量的数值等于生命周期的长度。

在一些实施例中,该生命周期余量可以采用任一种时间粒度来表达,其具体所采用的时间粒度可以根据目标物的类型不同设置。在一些实施例中,该生命周期余量还可以包括生命周期余量的数值以及生命周期的起始时间,以便提供一个直观的时间点,来进一步表示该目标物的可存续或可使用情况。

在一些实施例中,该目标物在当前阶段的生命周期余量为上一阶段的生命周期余量与该当前阶段的耗时的差值。

其中,目标物在当前阶段的生命周期余量的获取过程可以包括:获取上一阶段的生命周期余量以及该当前阶段的耗时,再获取上一阶段的生命周期余量以及该当前阶段的耗时的差值,作为当前阶段的生命周期余量。

对于第一节点来说,在开始当前阶段的处理前,可以获取到该目标物的上一阶段对应的第一节点所发送的生命周期余量,该生命周期余量可以在与上一阶段对应的第一节点之间的交易完成时获取,由上一阶段对应的第一节点发送至该当前阶段的第一节点,在发送生命周期余量时,该上一阶段对应的第一节点还可以发送采用私钥对生命周期余量进行签名得到的签名数据以及该上一阶段对应的第一节点的公钥。

在一些实施例中,该当前阶段的耗时可以根据该当前阶段的特性设置。各个阶段可以与不同的投入活动或支出活动的环节相关联,例如人力资源、生产、包装、运输、供电以及供水等,各个环节可能对应于不同的耗时,因此,不同阶段的耗时可以不同,需要对各个阶段所关联的环节的耗时进行分析,以确定该阶段的耗时。当然,在一些实施例中,可以根据经验来设置各个阶段的耗时,也可以基于对各个阶段的历史处理耗时的分析,来设置各个阶段的耗时,当然,还可以根据各个阶段所关联的各个环节的历史处理耗时的分析,来设置各个阶段的耗时,以达到对生命周期余量更加精准的计算的目的。在一些实施例中,各个阶段的耗时还可以实时统计,以便根据真实数据来获取更为真实的生命周期余量。

在一些实施例中,该目标物在该当前阶段的交易数据包括该目标物在该当前阶段的各个环节的交易数据,目标物在所述当前阶段的交易数据还包括所述目标物在所述当前阶段的各个环节的交易数据的签名数据。该第一节点在当前阶段的各个环节,会记录各个环节所发生的交易的交易信息,例如,在运输环节,该第一节点的账户1向承担运输业务的节点的账户2转入的费用EX,并且,还会获取到各个环节的交易对方在接受交易后所提供的签名数据,该签名数据可以是该交易对方的第一节点对交易信息采用私钥进行签名得到,例如,该签名数据可以为Sig_(EX(账户1to账户2))。可选地,交易对方还可以在返回签名数据时,也返回交易对方的公钥,以便对交易对方以及签名数据进行验证。

在一些实施例中,所述目标物的第一数据包括所述目标物在所述当前阶段的资源消耗余量,所述目标物的第二数据包括所述目标物在所述当前阶段的交易数据。

对于目标物来说,在目标物的各个阶段中,均可能发生一定资源消耗,会对环境造成影响,因此,为了限制这种影响,则需要对这种数据进行记录。

其中,资源消耗是指一个目标物从原始状态到目标物生成、再到目标物的存续期满或目标物达到使用期限或目标物耗尽之间对一些限定资源的消耗情况。例如,对于工业产品来说,其可以表现为工业生产活动消耗资源导致的附带物质的排放量等,例如可以是碳排放量或甲醛排放量等等的生产附带物质的排放量等。

在一些实施例中,该目标物在该当前阶段的资源消耗余量为上一阶段的资源消耗余量与该当前阶段的资源消耗量的差值。

其中,目标物在当前阶段的资源消耗余量的获取过程可以包括:第一节点获取上一阶段的资源消耗余量以及该当前阶段的资源消耗量,再获取上一阶段的资源消耗余量以及该当前阶段的资源消耗量的差值,作为当前阶段的资源消耗余量。

对于第一节点来说,在开始当前阶段的处理前,可以获取到该目标物的上一阶段对应的第一节点所发送的资源消耗余量,该资源消耗余量可以在与上一阶段对应的第一节点之间的交易完成时获取,由上一阶段对应的第一节点发送至该第一节点,在发送资源消耗余量时,该上一阶段对应的第一节点还可以发送采用私钥对资源消耗余量进行签名得到的签名数据以及该上一阶段对应的第一节点的公钥。

在一些实施例中,该当前阶段的资源消耗量为该目标物在该当前阶段的各个环节的资源消耗量的和值。该第一节点在当前阶段的各个环节,会记录各个环节所发生的交易的交易信息以及基于交易所获取到的资源消耗量,例如,在运输环节,该第一节点的账户1向承担运输业务的节点的账户2转入的EX,并且,还会获取到各个环节的交易对方基于交易所提供的碳排放量CC,相应地,所获取到的签名数据则是基于交易信息和资源消耗量进行签名得到的签名数据。

需要说明的一点是,上述资源消耗余量可以为归一化到单件目标物的资源消耗余量,例如,对于碳排放余量来说,该碳排放余量可以为归一化到单件产品的碳排放余量。需要说明的又一点是,对于任一种目标物来说,可以设置其资源消耗指标,以根据资源消耗指标来指导实际生成,例如,针对碳排放量来说,可以基于国际会议所制定的碳排放量上限来设置。

在一些实施例中,该方法还包括:第一节点获取该目标物的第三数据,该第三数据和该第二数据相关联;当将该目标物的第一数据和该第二数据存储至第一节点中时,将该目标物的第三数据存储至该第一节点中。其中,第三数据可以是与第一数据和第二数据为不同维度的数据。第三数据的产生可以与第二数据的产生相关联,第二数据可以是目标物在当前阶段的交易数据,是基于针对目标物的生成或流通过程的投入或支出行为产生的,而第三数据也是基于目标物的生成或流通过程的投入或支出行为产生的,随着第二数据的产生,可以产生相应的第三数据。

在此需要说明的是,第二数据并不必然具有关联的第三数据,而第三数据必然是由于第二数据的产生而产生,如,当任一笔支出行为发生时,交易双方即进行了资金交易,也完成了相应的资源消耗维度的交易(例如,卖出方的碳排放量由于该交易而转移到了买入方)。

需要说明的是,在进行数据存储时,第一节点可以将第一数据、第二数据和第三数据存储在一个区块中,也可以将第一数据、第二数据和第三数据分别存储至不同区块,并用相同的数据标识来进行标识,以便于查询,当然,还可以将第二数据和第三数据存储在一个区块,而将第一数据存储在另一区块,并用相同的数据标识来进行标识,本发明实施例对此不做限定。

在一些实施例中,该目标物的第三数据包括:该目标物在该当前阶段的资源消耗余量。例如,第一数据可以为当前阶段的生命周期余量,第二数据为当前阶段的交易数据,第三数据可以为目标物在该当前阶段的资源消耗余量,所述资源消耗余量为碳排放余量。

在一些实施例中,第一节点还可以获取所述第一节点的审计信息,所述审计信息用于指示所述第一节点所存储的数据;向所述数据存储系统的多个第二节点广播所述第一节点的审计信息。

需要说明的是,对于第一节点来说,可以在还未进行第一数据和第二数据的存储时,执行上述获取第一节点的审计信息的步骤,也即是,在执行完步骤301和302时,执行上述审计信息的获取和广播步骤,由此,在接收到共识确认通知时,再执行将所述目标物的第一数据和所述第二数据存储至所述第一节点中的步骤。

在一些实施例中,对于第一节点来说,还可以具有用于暂时存储数据的资源池,也即是,在获取到第一数据和第二数据时,可以先将所述目标物的第一数据和所述第二数据存储至所述第一节点的资源池中;当接收到任一第二节点发送的共识确认通知时,将所述资源池中所存储的第一数据和第二数据存储至所述第一节点的预设存储空间中。

在一些实施例中,所述审计信息包括所述第一节点所存储的数据;或,所述审计信息包括所述第一节点在预设时间段内所存储的数据。在该种实现方式中,审计信息可以是第一节点所存储的数据本身,而不是特征值,使得第二节点可以得到交易的原始数据,大大提高了第二节点的验证精度。

在一些实施例中,所述审计信息包括所述第一节点所存储的数据的特征值;或,所述审计信息包括所述第一节点在预设时间段内所存储的数据的特征值。其中,该预设时间段内所存储的数据可以是第一节点在至少一次生产过程中获取到的数据,而不仅仅是某一次生产过程中获取到的数据,以避免生产规模较大生产频率较高时所造成的过度频繁的数据发送。

其中,特征值可以为哈希值,或是任一种基于不可逆算法进行计算得到的特征值。

一些实施例中,该审计信息为签名数据,该签名数据由该第一节点采用该第一节点的私钥对第一节点所存储的数据进行签名得到。该签名可以使得第二节点获知该审计信息的来源节点。在一些实施例中,该审计信息还包括该第一节点的公钥。该公钥可以供第二节点基于公钥和签名数据进行校验,确定该审计信息确实来自于该第一节点,再基于签名数据解压后得到的特征值或其他数据,来进行具体校验过程。

在一些实施例中,该审计信息还包括该第一节点采用私钥对当前阶段的上下文信息进行签名得到的上下文签名数据,该上下文信息包括时间戳、地理地址信息以及网络地址信息中至少一项。上下文信息可以提供该待审计的数据对应的发生时间和发生环境等信息,可以保证数据的可追溯性。

对于审计层的第二节点来说,可以有如图4和图5的数据交互,第二节点接收第一节点的审计信息,所述审计信息用于指示所述第一节点已存储的数据;基于至少一个目标第一节点的目标审计信息对所述审计信息进行校验;当校验通过时,第二节点在所述数据存储系统中广播校验通过通知;当接收到的校验通过通知满足共识通过条件时,所述第一审计信息共识通过。当所述审计信息共识通过时,第二节点还可以向所述第一节点发送共识确认通知。

其中,上述已存储的数据可以为第一数据和第二数据,或第一数据、第二数据和第三数据,或,第二数据和第三数据,当然,根据不同的数据需求,还可以有第一数据和第三数据的组合,本发明实施例对此不做限定。

所述第一节点包含所述目标第一节点,所述目标第一节点是所述多个第一节点中的一个节点。目标第一节点可以是指一个或多个与该第一节点当前的生产活动相关联的节点,例如,该目标第一节点可以为某种目标物的生产或流通过程中在该第一节点的上游节点,或者,该目标第一节点可以为参与该第一节点的某一个生产环节(也即是某个生产要素)的节点(例如,可以是为该第一节点提供运输服务的公司对应的第一节点)。因此,所述目标节点对应的所述目标审计信息用于指示与所述第一节点进行交易的各个目标第一节点已存储的数据。

在本申请的各个实施例中,由审计层为数据存储系统中的各个第一节点提供校验功能,由于审计层的多个第二节点能够获取到各个第一节点的审计信息,因此,可以通过审计信息的交叉比对,确定待存储数据的真实性和准确性,在保证数据安全性的同时,保证了数据的真实性和准确性。

在一些实施例中,第二节点可以根据第一节点自身所提供的审计信息中的多维数据进行交叉比对,当多维数据符合预设函数关系时,则确定该审计信息校验通过。因此,至少一个目标第一节点也可以是所述第一节点自身,至少一个目标第一节点的目标审计信息也可以是所述第一节点自身的审计信息。

在一些实施例中,上述第二节点基于至少一个目标第一节点的目标审计信息对所述审计信息进行校验包括:第二节点根据所述审计信息,获取所述至少一个目标第一节点所上传的目标审计信息,该目标审计信息可以是指各个目标第一节点在与该第一节点进行交易后上传的审计信息;第二节点将所述至少一个目标第一节点的目标审计信息与该审计信息进行比对,当所述至少一个目标第一节点的目标审计信息与该审计信息匹配时,确定该审计信息校验通过。

其中,所述第二节点根据所述审计信息,获取所述至少一个目标第一节点所上传的目标审计信息包括:第二节点获取所述审计信息中至少一条签名数据内的公钥;第二节点将获取到的公钥所对应的第一节点作为所述至少一个目标第一节点;根据所述公钥,获取包含所述公钥所对应的第一节点的审计信息,作为所述至少一个目标第一节点的目标审计信息。

其中,第二节点将所述至少一个目标第一节点的目标审计信息与第一节点的审计信息进行比对的过程中,在一些实施例中,目标审计信息及审计信息不是节点所存储的原始数据,而是数据的特征值的签名,则该比对过程可以包括:首先,基于各个节点的公钥对签名分别进行解压,得到至少一个目标第一节点的目标特征值与该第一节点的特征值,然后,判断该第一节点的特征值中是否包括上述至少一个目标第一节点的目标特征值,如果包括,则说明交易一一对应,且交易内容一一对应,确定所述至少一个目标第一节点的目标审计信息与该审计信息匹配,在匹配时,确定该审计信息校验通过。

在一些实施例中,审计信息可以是经过签名的第一节点所存储的数据,则第二节点可以根据各个不同节点所提供的审计信息中的多维数据进行交叉比对,当多维数据符合预设函数关系时,则确定所述至少一个目标第一节点的目标审计信息与该审计信息匹配,在匹配时,确定该审计信息校验通过。

在一些实施例中,所述至少一个目标第一节点为所述审计信息所指示的交易的交易对方。

在一些实施例中,所述至少一个目标第一节点包括:所述至少一个目标第一节点包括:所述当前阶段的各个生产要素所对应的节点和所述目标物在所述当前阶段的上一阶段所对应的节点。

在一些实施例中,该方法还包括:第一节点在任一阶段的出产产品上提供条形码,所述条形码所指向的地址用于提供所述目标物最新的第一数据或最新的第三数据中至少一项。该条形码可以为一维码、二维码等形式,条形码可以指向某一网络资源的地址,该地址中所存储的数据可以根据目标物目前所处的阶段的第一数据进行更新,以使得每次扫码均可以得到该目标物最新的第一数据、第一节点的第二数据和最新的第三数据中的至少一项,从而通过条形码来形成对数据存储系统中数据的指针,将真实产品和产品所对应的线上数据关联起来。对于面向用户的条形码来说,可以不提供涉及交易隐私的第二数据,但是,如果是面向审计工作的条形码来说,则在该条形码所指向的地址中还可以提供目标物的第二数据。例如,可以提供原料乳生产过程中第一节点的交易数据等,具体提供哪些数据可以根据实际需求设置,本发明实施例对此不作限定。

需要说明的是,对该地址所存储的数据进行更新可以由第一节点进行,以第一数据的更新为例,当任一第一节点完成交易时,可以将第一数据更新至该地址,当然,该地址包含的内容可以包括更新时间戳,第一节点可以根据更新时间戳和待上传的第一数据的时间戳进行对比,如果待上传的第一数据的时间戳晚于该更新时间戳,则上传第一数据,覆盖该地址上已有的第一数据,如果待上传的第一数据的时间戳不晚于该更新时间戳,则不上传第一数据。另外,上述更新还可以由第二节点进行,其具体执行过程可以是在第二节点接收到第一节点的审计信息,并共识通过后上传,以保证该地址中所存储的第一数据真实可靠。

其中,该网络资源的地址可以采用统一资源标识符(Uniform ResourceIdentifier,URI)形式。

例如,以乳制品生产、且第一数据为生命周期余量为例,可以在原料乳出厂时在其包装上印刷或粘贴二维码,该二维码基于目标URI生成,则当用户使用终端进行扫描后,可以跳转到该目标URI,查看到该原料乳的生命周期余量为15天。或者,如果该目标URI用于存储碳排放余量,则还可以通过该目标URI,查看到该原料乳的碳排放余量。

当然,该条形码还可以提供多个第二节点的网络地址,该终端可以将扫描得到的数据发送至多个第二节点进行校验,当校验通过时,则可以返回信息校验通过通知,使得用户可以获知该数据真实准确,也可以保障交易真实可靠。

对于本申请的实施来说,可以根据不同目标物所涉及的不同阶段进行分析,分解各个阶段的生产要素,以形成数据链图,可以为各个阶段制定对应的资源消耗指标,并根据各个生产要素的特性,为其确定耗时、交易金额以及资源消耗量等,且上述三种数据在各个阶段采用了流式表达,遵循数据之间在经济生活中的真实关联,例如,UCXO(UnspentCarbon Transaction Output,碳排放余量)与UTXO(Unspent Transaction Output,未使用交易输出)和UCLO(Unspent Life Cycle Output,生命周期余量)之间具有一定的关联关系,生命周期的消耗以及价值消耗必然带来对等的资源消耗,UCLO又与UCXO和UTXO之间具有一定的关联关系,资源消耗以及价值消耗,也必然和生命周期的消耗对等,这样的潜在联系,使得数据之间紧密相连,形成跨各个第一节点的无缝的数据链,无法篡改,具有实际的数据价值。

进一步地,该各个第一节点所构成的基础数据层与各个生产要素关联,形成无缝的数据链层,且,该基础数据层还与审计层之间关联,可以形成双层数据链层的结构,在保证数据真实性的同时,保障数据的防篡改特性,大大提高了数据的安全性。

参见图6,以一种乳制品从生产到流通中不同阶段以及各个阶段的不同环节中所涉及的实施过程、所涉及到的资源消耗以碳排放为例进行说明:

首先,对下述具体说明过程中出现的一些名词进行介绍:

CC:Carbon Cost,碳排放消耗量

ULCO:Unspent Life Cycle Output,生命周期余量

EX:expense,费用。

然后,对乳制品的各个阶段进行介绍:对于一种乳制品来说,其整个过程可以包含:原料乳(A)——乳制品生产(B)——运输(C)——电商(D)——仓储(E)——物流(F)——消费者(G)。基于上述生产到流通的流程,原料乳在生产完成之后,可以经过运输,进入乳制品生产阶段,在乳制品生产完成后,可以经过运输,到达电商阶段,在电商阶段进行发布后,则可以进入仓储阶段,而当乳制品被订购,则可以进入物流阶段,并在物流阶段完成后,进入消费者阶段。

在原料乳阶段A中,假设所涉及到的不同环节所对应的生产要素可以包括:A.HP人力资源、A.PL生产线、A.PA包装厂、A.VE运输车、A.EN电厂以及A.WA水厂等,将原料乳阶段的经营实体所对应的节点用第一节点A表示,将乳制品生产阶段的第一节点以第一节点B表示,则可以有如下过程:

1、第一节点A在生产原料乳的各个环节中,分别向各个生产要素支付了费用EX(A.HP)、EX(A.PL)、EX(A.PA)、EX(A.VE)、EX(A.EN)、EX(A.WA),在交易成功后,该第一节点A获取到以下签名数据,并存储在该第一节点A中:

HP接受A的交易HASH签名Sig_EX(HP2A),Sig_CC(HP2A),HP的公钥Pubkey(HP);

PL接受A的交易HASH签名Sig_EX(PL2A),Sig_CC(PL2A),PL的公钥Pubkey(PL);

PA接受A的交易HASH签名Sig_EX(PA2A),Sig_CC(PA2A),PA的公钥Pubkey(PA);

VE接受A的交易HASH签名Sig_EX(VE2A),Sig_CC(VE2A),VE的公钥Pubkey(VE);

EN接受A的交易HASH签名Sig_EX(EN2A),Sig_CC(EN2A),EN的公钥Pubkey(EN);

WA接受A的交易HASH签名Sig_EX(WA2A),Sig_CC(WA2A),WA的公钥Pubkey(WA);

其中,Pubkey()是指节点的公钥,Sig_EX(itoj)是指节点i对节点j向节点i支付的EX的签名数据,Sig_CC(itoj))是指节点i对节点i向节点j转移的CC的签名数据,上述签名数据表示在第一节点A进行资金交易时,也完成相应的碳排放交易。

2、第一节点A根据碳排放量指标和该阶段的碳排放消耗量,得到原料乳阶段的碳排放余量,并存储在该第一节点A中。

其中,碳排放余量的具体计算方式可以如下:

UCXO(A)=UCXO(Req)–CC(A.HP)–CC(A.PL)–CC(A.PA)–CC(A.VE)–CC(A.EN)–CC(A.WA)。

其中,UCXO(A)是该原料乳阶段的碳排放余量,UCXO(Req)是整个流程碳排放余量指标。例如,这个指标可以根据国际会议或行业标准等确定的碳排放总量,分解到每个经济环节的碳排放额度;CC(A.HP)是A阶段用于人力资源的碳排放消耗量,其数值与CC(HP2A)相等,CC(A.PL)是A阶段用于生产线的碳排放消耗量,其数值与CC(PL2A)相等,CC(A.PA)是A阶段用于包装厂的碳排放消耗量,其数值与CC(PA2A)相等,CC(A.VE)是A阶段用于运输车的碳排放消耗量,其数值与CC(VE2A)相等,CC(A.EN)是A阶段用于电厂的碳排放消耗量,其数值与CC(EN2A)相等,CC(A.WA)是A阶段用于水厂的碳排放消耗量,其数值与CC(WA2A)相等。

可选地,UCXO(A)可以是归一化到单件产品的碳排放余量。

3、第一节点A与第一节点B进行交易,由生产厂家B支付给原料乳供应商A用于购买原料乳的款项可用交易EX(B2A),在交易成功后,该第一节点A可以将输出的原料乳的生命周期余量ULCO(A)发送给第一节点B,并获取到以下签名数据,并存储在该第一节点A中:

B接受来自A的原料乳的交易HASH签名:Sig_ULCO(A2B)、Sig_EX(BtoA)、Sig_CC(BtoA)和B的公钥Pubkey(B);

其中,Sig_ULCO(itoj)是指节点j对i向j提供的目标物的ULCO的签名数据。

在上述1、2和3的任意过程中,该第一节点A均可以基于已获取到的至少两个维度的数据进行交叉比对,当所述已获取到的至少两个维度的数据匹配时,再执行存储步骤。

4、第一节点A获取审计信息,向该数据存储系统的多个第二节点广播该第一节点的审计信息。

具体地,该第一节点A基于已存储的数据,生成该数据的哈希(HASH)值,再基于第一节点A的私钥对该哈希值进行签名,得到签名数据,该数据中包括了第一节点A对应的阶段中各个环节针对各个生产要素的支出和碳排放余量,例如,该审计信息可以包括如下内容:

Sig((Sig_EX(HP2A),Sig_CC(HP2A),Pubkey(HP),

Sig_EX(PL2A),Sig_CC(PL2A),Pubkey(PL),

Sig_EX(PA2A),Sig_CC(PA2A),Pubkey(PA),

Sig_EX(VE2A),Sig_CC(VE2A),Pubkey(VE),

Sig_EX(EN2A),Sig_CC(EN2A),Pubkey(EN),

Sig_EX(WA2A),Sig_CC(WA2A),Pubkey(WA),

Sig_ULCO(A2B),Pubkey(B))

可选地,除了上述的内容,该审计信息还可以包括第一节点A的公钥Pubkey(A),或者,还可以包括该第一节点A采用私钥对当前阶段的上下文信息进行签名得到的上下文签名数据,该上下文信息包括时间戳、地理地址信息以及网络地址信息中至少一项。该上下文签名数据可以用Sig(loc,timestamp,ip)表示,其中,loc为地理地址信息,timestamp为时间戳,ip为网络地址信息。

在本示例中,仅以该审计信息包括的是签名数据为例进行说明,且该签名数据是基于第一节点A的私钥对第一节点A已存储的签名数据进行签名得到的,在另一实施例中,该审计信息还可以是包括第一节点A的已存储的数据,也即是,包括第一节点A在各个环节的交易信息,以便多个第二节点利用实际交易的原始数据进行更加直观的校验。

5、多个第二节点接收审计信息后进行共识,当共识通过时,确定该第一节点A本次存储的数据真实准确。

该共识过程可以是指各个第二节点基于审计信息中所携带的各个生产要素的公钥,获取该生产要素与该第一节点A进行交易成功后所发送的目标审计信息,并基于各个生产要素的目标审计信息对该第一节点的审计信息进行校验,如果审计信息一致,则该第二节点对第一节点A的审计信息校验通过,并向其他第二节点广播校验通过通知,而任一个第二节点接收到的校验通过通知符合共识通过条件,则确定共识通过。

在一些实施例中,上述基于各个生产要素的审计信息对该第一节点的审计信息进行校验的过程可以包括:根据所述审计信息,获取所述至少一个目标第一节点所上传的目标审计信息,该目标审计信息是指各个目标第一节点在与该第一节点进行交易后上传的审计信息;将所述至少一个目标第一节点的目标审计信息与该审计信息进行比对,当比对一致时,确定该审计信息校验通过。其中,所述根据所述审计信息,获取所述至少一个目标第一节点所上传的目标审计信息包括:获取所述审计信息中至少一条签名数据内的公钥;将获取到的公钥所对应的第一节点作为所述至少一个目标第一节点;根据所述第一节点的公钥,获取所述至少一个目标第一节点的审计信息中包含所述第一节点的公钥的审计信息,作为所述至少一个目标第一节点的目标审计信息。

例如,以第一节点A与生产元素PL对应的第一节点PL之间的交易为例,对于第一节点A来说,其审计信息包括:Sig_EX(PL2A),Sig_CC(PL2A),而如果交易真实准确,则对于第一节点PL来说,其审计信息应包括:Sig_EX(PL2A),Sig_CC(PL2A),通过比对,如果审计信息均一致,则说明该交易真实存在且交易内容准确无误,当第一节点A和所有生产元素之间的审计信息均经过上述同理的比对,确认一致后,则该第二节点可以确定校验通过。对于该示例来说,仅以对某一个生产要素的审计信息进行了对比为例,实际上,在第二节点进行校验时,会根据各个生产要素以及上游第一节点所上传的审计信息对该审计信息进行校验,其具体过程与上述示例同理,在此不做赘述。

6、多个第二节点接收审计信息后进行共识,当共识未通过时,确定该第一节点A本次存储的数据存在问题。

具体地,当共识未通过时,说明该第一节点A所存储的数据与真实数据不符,在可能第一节点存在数据造假等情况,因此,第二节点可以对该第一节点A的数据失真事件进行记录,以便后续进行处理。当数据失真事件的发生次数满足一定条件,则可以将第一节点对应的经营实体标记为失信经营实体,或进行其他处理,以达到惩戒以及公示的作用,本发明对具体采用哪种方式不做限定。

需要说明的是,各个第一节点均会对节点进行的交易的相关信息进行记录,例如交易双方、交易金额、交易地点以及交易时间等,本发明实施例对此不做赘述。

在生产阶段B假设所涉及到的不同环节所对应的生产要素可以包括:B.HP人力资源、B.PL生产线、B.PA包装厂、B.VE运输车、B.EN电厂以及B.WA水厂,将乳制品生产阶段的第一节点以第一节点B表示,则可以有如下过程:

1、第一节点B与第一节点A进行交易,获取到的乳制品的生命周期余量是ULCO(B),例如,乳制品的有效期6个月,获取到的碳排放余量为UCXO(A)。

2、在生产原料乳的各个环节中,分别向各个生产要素支付了费用EX(B.HP),EX(B.PL),EX(B.PA),EX(B.VE),EX(B.EN),EX(B.WA),在交易成功后,该第一节点B获取到以下签名数据,并存储在该第一节点B中:

HP接受B的交易HASH签名Sig_EX(HP2B),Sig_CC(HP2B),HP的公钥Pubkey(HP);

PL接受B的交易HASH签名Sig_EX(PL2B),Sig_CC(PL2B),PL的公钥Pubkey(PL);

PA接受B的交易HASH签名Sig_EX(PA2B),Sig_CC(PA2B),PA的公钥Pubkey(PA);

VE接受B的交易HASH签名Sig_EX(VE2B),Sig_CC(VE2B),VE的公钥Pubkey(VE);

EN接受B的交易HASH签名Sig_EX(EN2B),Sig_CC(EN2B),EN的公钥Pubkey(EN);

WA接受B的交易HASH签名Sig_EX(WA2B),Sig_CC(WA2B),WA的公钥Pubkey(WA);

在交易成功后,还可以获取到本阶段的碳排放余量UCXO(B)=UCXO(A)–CC(B.HP)–CC(B.PL)–CC(B.PA)–CC(B.VE)–CC(B.EN)–CC(B.WA)。

其中,CC(B.HP)是B阶段用于人力的碳排放消耗量,CC(B.PL)是B阶段用于生产线的碳排放消耗量,CC(B.PA)是B阶段用于包装厂的碳排放消耗量,CC(B.VE)是B阶段用于运输车的碳排放消耗量,CC(B.EN)是B阶段用于电厂的碳排放消耗量,CC(B.WA)是B阶段用于水厂的碳排放消耗量。上述碳排放消耗量的数值关系与上述原料乳阶段的数值关系同理,在此不做赘述。可选地,UCXO(B)可以是归一化到单件产品的碳排放余量。

乳制品生产阶段的未使用资金余量UTXO(B)=UTXO(Cap)-ex(B.HP)–ex(B.PL)–ex(B.PA)–ex(B.VE)–ex(B.EN)–ex(B.WA);

其中,UTXO(Cap)是乳制品生产工厂的未使用交易输出,例如,可对应对乳制品工厂的投资。

3、第一节点B与第一节点C进行交易,并向第一节点C输出ULCO(B),以便生产完成之后,通过B.VE运输车完成运输,相应地,第一节点B会在记录:

C接受来自B的乳制品的交易HASH签名:Sig_ULCO(B2C)、Sig_EX(BtoC)、Sig_CC(BtoC)和C的公钥Pubkey(C)。

需要说明的是,第一节点B可以在运输之前的任一时刻与第一节点C进行交易,由电商C支付给生产厂家B用于购买乳制品的款项可用交易EX(D2B),并对该交易的相关信息进行存储。

4、第一节点B获取审计信息,向该数据存储系统的多个第二节点广播该第一节点的审计信息。例如,该审计信息可以包括如下内容:

Sig((Sig_EX(HP2B),Sig_CC(HP2B),Pubkey(HP),

Sig_EX(PL2B),Sig_CC(PL2B),Pubkey(PL),

Sig_EX(PA2B),Sig_CC(PA2B),Pubkey(PA),

Sig_EX(VE2B),Sig_CC(VE2B),Pubkey(VE),

Sig_EX(EN2B),Sig_CC(EN2B),Pubkey(EN),

Sig_EX(WA2B),Sig_CC(WA2B),Pubkey(WA),

Sig_ULCO(B2C),Pubkey(C))

可选地,审计信息所包括的其他信息与上一阶段同理,在此不做赘述。同样,对于乳制品的各个阶段均可以有上述同理的记账过程,在此不做赘述。

ULCO(F)为乳制品经由过程物流D到达消费者时,乳制品的生命周期余量。

而对于乳制品来说,其还包括一个最终阶段,也即是消费者G,对于消费者G来说,也可以具有个人碳排放余量额定指标UCXO(Ind),例如,该指标可以为基于G20关于全球碳排放的总指标分配到个人的额度。更进一步地,本发明实施例中的乳制品包装上可标记二维码等标记,在消费阶段G,消费者可通过扫码,可获取该乳制品的UCLO(F),即剩余有效期,将该UCLO(F)与乳制品的保质期比较,判断该乳制品是否过期。当然,基于二维码对应地址所存储的数据的不同,消费者还可以也可以获取上面的消费者阶段G对应的UCXO(F),即本乳制品的剩余碳排放余量UCXO,消费者在购买不同剩余碳排放余量的商品时,消费者自身的UCXO受到影响。在该阶段中,可以对UCXO(Ind)与UCXO(F)比较,判断消费者的碳消耗是否超标,从而基于超标与否,来对该消费者的碳消耗余量额定指标进行调整,例如,如果该消费者的碳消耗在预设时间段内未超标,则可以将其碳消耗余量额定指标提高,以达到奖励的目的。

例如,消费者自身的碳排放余量为UCXO(ind)+(UCXO(G)-UCXO(ave)),其中,UCXO(ave)为预设平均余量,当消费者消耗的商品碳排放余量高于业界平均水平时,将其自身的碳排放余量增加;当消费者消耗的商品碳排放余量低于于业界平均水平时,其自身的碳排放余量减少。

当然,该消费者阶段G也涉及到对数据的存储,其具体原理与上述过程同理,在此不做赘述。

图7是本发明实施例提供的一种数据存储装置的结构示意图,应用于数据存储系统中的第一节点,参见图7,所述装置包括:

第一数据获取模块701,用于获取目标物的第一数据;

第二数据获取模块702,用于获取所述目标物的第二数据,所述第一数据和第二数据为不同维度的数据;

存储模块703,用于将所述目标物的第一数据和所述第二数据存储至所述第一节点中。

在一些实施例中,所述目标物的第一数据包括所述目标物在当前阶段的生命周期余量,所述目标物的第二数据包括所述目标物在所述当前阶段的交易数据。

在一些实施例中,所述目标物在当前阶段的生命周期余量为上一阶段的生命周期余量与所述当前阶段的耗时的差值。

在一些实施例中,所述当前阶段的耗时根据所述当前阶段的特性设置。

在一些实施例中,所述目标物在所述当前阶段的交易数据包括所述目标物在所述当前阶段的各个环节的交易数据。

在一些实施例中,所述目标物在所述当前阶段的交易数据还包括所述目标物在所述当前阶段的各个环节的交易数据的签名数据

在一些实施例中,所述目标物的第一数据包括所述目标物在所述当前阶段的资源消耗余量,所述目标物的第二数据包括所述目标物在所述当前阶段的交易数据。

在一些实施例中,所述装置还包括:

第三数据获取模块,用于获取所述目标物的第三数据,所述第三数据与所述第一数据和所述第二数据相关联;

所述存储模块,还用于当将所述目标物的第一数据和所述第二数据存储至第一节点中时,将所述目标物的第三数据存储至所述第一节点中。

在一些实施例中,所述目标物的第三数据包括:所述目标物在所述当前阶段的资源消耗余量。

在一些实施例中,所述目标物在所述当前阶段的资源消耗余量为上一阶段的资源消耗余量与所述当前阶段的资源消耗量的差值。

在一些实施例中,所述当前阶段的资源消耗量为所述目标物在所述当前阶段的各个环节的资源消耗量的和值。

在一些实施例中,所述资源消耗余量为碳排放余量。

在一些实施例中,所述装置还包括:

审计信息获取模块,用于获取所述第一节点的审计信息,所述审计信息用于指示所述第一节点所存储的数据;

发送模块,用于向所述数据存储系统的多个第二节点广播所述第一节点的审计信息。

在一些实施例中,所述审计信息包括所述第一节点所存储的数据;或,所述审计信息包括所述第一节点在预设时间段内所存储的数据。

在一些实施例中,所述审计信息包括所述第一节点所存储的数据的特征值;或,所述审计信息包括所述第一节点在预设时间段内所存储的数据的特征值。

在一些实施例中,特征值为哈希值。

在一些实施例中,所述审计信息包括签名数据,所述签名数据由所述第一节点采用所述第一节点的私钥对所述第一节点所存储的数据进行签名得到。

在一些实施例中,所述审计信息还包括所述第一节点的公钥。

在一些实施例中,所述审计信息还包括所述第一节点采用私钥对当前阶段的上下文信息进行签名得到的上下文签名数据,所述上下文信息包括时间戳、地理地址信息以及网络地址信息中至少一项。

在一些实施例中,该存储模块用于将所述目标物的第一数据和所述第二数据存储至所述第一节点的资源池中;当接收到任一第二节点发送的共识确认通知时,将所述资源池中所存储的第一数据和第二数据存储至所述第一节点的预设存储空间中。

在一些实施例中,该存储模块用于当接收到任一第二节点发送的共识确认通知时,将所述目标物的第一数据和所述第二数据存储至所述第一节点中。

在一些实施例中,该装置还包括比对模块,用于基于已获取到的至少两个维度的数据进行交叉比对;当比对模块确定所述已获取到的至少两个维度的数据匹配时,触发该存储模块执行存储步骤。

在一些实施例中,所述装置还包括:

条形码模块,用于在任一阶段的出产产品上提供条形码,所述条形码所指向的地址用于提供所述目标物最新的第一数据、最新的第二数据和最新的第三数据中至少一项。

在一些实施例中,所述条形码还提供多个第二节点的网络地址,用于扫描终端将扫描得到的数据发送至所述多个第二节点进行校验。

图8是本发明实施例提供的一种数据校验装置的结构示意图,应用于数据存储系统的任一第二节点上,所述数据存储系统中的多个第二节点配置有共识机制,参见图8,该装置包括:

接收模块801,用于接收第一节点的审计信息,所述审计信息用于指示所述第一节点已存储的数据;

校验模块802,用于基于至少一个目标第一节点的目标审计信息对所述审计信息进行校验;

发送模块803,用于当校验通过时,在所述数据存储系统中广播校验通过通知;

所述校验模块802还用于当接收到的校验通过通知满足共识通过条件时,所述审计信息共识通过。

在一些实施例中,发送模块802还用于当所述审计信息共识通过时,向所述第一节点发送共识确认通知。所述目标审计信息用于指示与所述第一节点进行交易的各个目标第一节点已存储的数据。

在一些实施例中,校验模块802,用于:

根据所述审计信息,获取所述至少一个目标第一节点所上传的目标审计信息,将所述至少一个目标第一节点的目标审计信息与该审计信息进行比对,当所述至少一个目标第一节点的目标审计信息与所述审计信息匹配时,确定所述审计信息校验通过。

在一些实施例中,所述校验模块802,用于:获取所述审计信息中至少一条签名数据内的公钥;将获取到的公钥所对应的第一节点作为所述至少一个目标第一节点;根据所述公钥,获取包含所述公钥所对应的第一节点的审计信息,作为所述至少一个目标第一节点的目标审计信息。

在一些实施例中,所述至少一个目标第一节点为所述审计信息所指示的交易的交易对方。

在一些实施例中,所述至少一个目标第一节点包括:所述当前阶段的各个生产要素所对应的节点和所述目标物在所述当前阶段的上一阶段所对应的节点。

在一些实施例中,提供了一种数据存储系统,所述系统包括多个第一节点和多个第二节点,所述数据存储系统中的多个第二节点配置有共识机制,

所述多个第一节点中的每个第一节点,用于获取目标物的第一数据;获取所述目标物的第二数据,所述第一数据和第二数据为不同维度的数据;将所述目标物的第一数据和所述第二数据存储至所述第一节点中,获取所述第一节点的审计信息,所述审计信息用于指示所述第一节点所存储的数据;向所述数据存储系统的多个第二节点广播所述第一节点的审计信息;

所述多个第二节点中的每个第二节点,用于接收所述第一节点的审计信息,所述审计信息用于指示所述第一节点已存储的数据;基于至少一个目标第一节点的目标审计信息对所述审计信息进行校验;当校验通过时,在所述数据存储系统中广播校验通过通知;当接收到的校验通过通知满足共识通过条件时,所述审计信息共识通过。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例的任一种方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:基于区块链的异步共识方法及系统及装置及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类