CN106897348B - 一种数据存储、数据校验、数据溯源方法和设备 - Google Patents

一种数据存储、数据校验、数据溯源方法和设备 Download PDF

Info

Publication number
CN106897348B
CN106897348B CN201610694496.6A CN201610694496A CN106897348B CN 106897348 B CN106897348 B CN 106897348B CN 201610694496 A CN201610694496 A CN 201610694496A CN 106897348 B CN106897348 B CN 106897348B
Authority
CN
China
Prior art keywords
data
version
block
check value
identifier
Prior art date
Application number
CN201610694496.6A
Other languages
English (en)
Other versions
CN106897348A (zh
Inventor
李奕
赵尊奎
Original Assignee
创新先进技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 创新先进技术有限公司 filed Critical 创新先进技术有限公司
Priority to CN201610694496.6A priority Critical patent/CN106897348B/zh
Publication of CN106897348A publication Critical patent/CN106897348A/zh
Application granted granted Critical
Publication of CN106897348B publication Critical patent/CN106897348B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
    • G06F21/16Program or content traceability, e.g. by watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communication the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/38Chaining, e.g. hash chain or certificate chain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network

Abstract

本申请公开了一种数据存储、数据校验、数据溯源方法和设备,包括:确定目标对象的第一数据版本的第一校验值,查找目标对象的与第一数据版本相邻的第二数据版本的第二校验值;根据第一校验值和第二校验值创建数据区块,并将数据区块存储至区块链中。通过数据区块的形式在区块链中存储目标对象的第一数据版本的第一校验值,因区块链不能被篡改,那么在数据需求方获取到目标对象的第一数据版本对应的数据内容时,可以通过区块链中存储的第一校验值验证第一数据版本对应的数据内容是否发生修改,进而确定第一数据版本对应的数据内容的真实性,有效解决数据内容容易被篡改导致的数据内容的真实性无法确定的问题,改善数据需求方进行数据分析的效率。

Description

一种数据存储、数据校验、数据溯源方法和设备

技术领域

本申请涉及互联网信息处理技术领域,尤其涉及一种数据存储、数据校验、数据溯源方法和设备。

背景技术

在数字化的信息时代,数据不再是冰冷的文本记录,而是蕴含了生产价值的信息资源。为了精确分析数据中所蕴含的信息资源,需要保证数据存储的真实性。即保证数据库中存储的数据为原始数据。

所谓数据溯源可以理解为记录原始数据在整个生命周期(从产生、传播到消亡)的演变信息和演变处理内容。那么通过对原始数据的研究,能够跟踪原始数据整个生命周期的演变,确定原始数据的数据溯源。这对于数据提供方和数据需求方来讲具备重要意义。

目前,数据提供方将数据存储在数据库中,并在数据库中存储待存储的数据内容以及与待存储的数据相关的其他信息(例如:数据创建者、数据是否发生版本变更、数据产生时间等等)。当数据需求方需要从数据库中获取数据时,数据提供方向数据需求方提供待获取数据的数字签名,数据需求方根据该数字签名从数据库中获取待获取的数据,并校验待获取的数据是否真实。

然而,数据提供方将数据存储在数据库中,而目前所使用的大量数据库都具备可修改的功能。假设,数据提供方承诺提供给数据需求方A版本数据(A版本数据对应的数字签名为A1),但是,因为其他原因,数据提供方向数据需求方提供了B版本数据(但是对于数据需求方并不知道所获取的数据是A版本数据还是B版本数据),根据B版本数据得到的数字签名为B1;数据提供方为了使数据需求方相信所获取到的数据为A版本数据,此时数据提供方可以对数据库中存储的A版本数据对应的数字签名进行修改,即将A版本数据的数字签名修改为B1,这样,数据需求方在使用B1进行验证时,验证结果为通过,使数据需求方相信所获取到的B版本数据为自己需要获取的A版本数据。但实际上,数据需求方获取的数据并不是自己需要获取的A版本数据,这样将使得数据需求方根据获取到的B版本数据得到的数据分析结果与预期结果出现较大偏差,给数据需求方造成损失。

综上所述,亟需一种数据存储方法,解决现有技术中数据容易被篡改导致的数据真实性无法确定的问题。

发明内容

有鉴于此,本申请实施例提供的一种数据存储、数据校验、数据溯源方法和设备,用于解决现有技术中数据容易被篡改导致的数据真实性无法确定的问题。

本申请实施例提供了一种数据存储方法,包括:

确定目标对象的第一数据版本的第一校验值;

查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;

根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。

本申请实施例提供了一种数据存储设备,包括:

确定模块,确定目标对象的第一数据版本的第一校验值;

查找单元,查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;

存储模块,根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过确定目标对象的第一数据版本的第一校验值,以及查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中。通过数据区块的形式在区块链中存储目标对象的第一数据版本的第一校验值,由于区块链具备不能篡改的特性,那么在数据需求方获取到目标对象的第一数据版本对应的数据内容时,可以通过区块链中存储的第一校验值验证第一数据版本对应的数据内容是否发生修改,进而确定第一数据版本对应的数据内容的真实性,有效解决了数据内容容易被篡改导致的数据内容的真实性无法确定的问题,改善了数据需求方进行数据分析的效率。

本申请实施例还提供了一种数据校验方法,包括:

接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;

根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;

根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。

本申请实施例还提供了一种数据校验设备,包括:

接收模块,接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;

查找模块,根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;

验证模块,根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。由于区块链具备不能篡改的特性,那么从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值是可信的,利用可信的校验值校验数据验证请求中的待校验数据是否被篡改,进而确保了待校验数据的真实性。

本申请实施例还提供了一种数据溯源方法,包括:

接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;

根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;

根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;

根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。

本申请实施例还提供了一种数据溯源设备,包括:

接收模块,接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;

回溯模块,根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;

确定模块,根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。由于通过数据区块的形式在区块链中不仅存储目标对象的第一数据版本的版本标识而且还存储与第一数据版本相邻的第二数据版本的版本标识,由于区块链具备不能篡改的特性,且采用链式数据结构,这样能够回溯查找到待回溯数据的演变版本以及每一个演变版本对应的数据内容,并且保证数据演变的真实性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种数据存储方法的流程示意图;

图2为区块链中多个不同区块中创建的数据区块的结构示意图;

图3为本申请实施例提供的一种数据校验方法的流程示意图;

图4为本申请实施例提供的一种数据校验方法的场景示意图;

图5为本申请实施例提供的一种数据溯源方法的流程示意图;

图6为本申请实施例提供的一种数据溯源方法的场景示意图

图7为本申请实施例提供的一种数据存储设备的结构示意图;

图8为本申请实施例提供的一种数据校验设备的结构示意图;

图9为本申请实施例提供的一种数据溯源设备的结构示意图。

具体实施方式

为了实现本申请的目的,本申请实施例提供了一种数据存储、数据校验、数据溯源方法和设备,通过数据区块的形式在区块链中存储目标对象的第一数据版本的第一校验值,由于区块链具备不能篡改的特性,那么在数据需求方获取到目标对象的第一数据版本对应的数据内容时,可以通过区块链中存储的第一校验值验证第一数据版本对应的数据内容是否发生修改,进而确定第一数据版本对应的数据内容的真实性,有效解决了数据内容容易被篡改导致的数据内容的真实性无法确定的问题,改善了数据需求方进行数据分析的效率。

需要说明的是,本申请实施例中所记载的区块链可以理解为一个可靠数据库,该可靠数据库属于一种类似非关系型数据库。该可靠数据库与传统数据库不同,区别在于:该可靠数据库具备去中心化和去信任的特点。所谓去中心化是指在由区块链组成的系统中,没有中心化的硬件或者管理机构,该系统的任意节点之间的权利和义务是均等的,且任一节点的损坏或者失去都不会影响整个系统的运行。

所谓去信任是指参与整个系统的各个节点之间数据交换是无需互相信任的,整个系统的运行规则是公开透明的,整个系统的数据内容也是公开的,因此在系统设定的规则范围和时间范围内,各节点之间是不能也无法欺骗其他节点。

本申请实施例中所记载的技术方案,提出了一种数据结构(在后续可以称之为数据区块),在该数据结构中包含数据头和数据体。该数据头中存储目标对象的当前数据版本的校验值和目标对象与当前数据版本相邻的前一个数据版本的校验值,方便后续对该目标对象进行数据溯源。该数据体中可以存储当前数据版本对应的目标对象的数据内容,也可以存储其他内容,这里不做具体限定。这样,利用该种数据结构和区块链确保目标对象本身以及其演变的完整性、真实可信性。

下面结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

实施例1

图1为本申请实施例提供的一种数据存储方法的流程示意图。所述方法可以如下所示。

步骤101:确定目标对象的第一数据版本的第一校验值。

在本申请实施例中,这里的目标对象可以是任意形式的数据,可以是一份商业表格,一份书籍原稿,一份软件源码;也可以是一套图片,一首音乐,一部视频,这里不做具体限定。

这里的目标对象的数据版本可以是指在目标对象的整个生命周期内,演进产生的不同的数据内容,可以为每一个数据内容设置一个标识,这个标识可以称之为数据版本的版本标识。

例如:对于一部视频,该视频的每一部(或者每一季)可以称之为一个数据版本,假设视频A的第一部对应数据版本1.0,那么演进过程中视频A的第二部对应数据版本2.0,视频A的第三部对应数据版本3.0,......,视频A的第N部对应数据版本n.0。

再例如:对于一个应用软件,根据开发需要可以出现多个版本的应用软件。假设在应用软件演进过程中应用软件的版本包含版本1.0、版本1.0.1、版本1.0.1.1、版本2.0、版本2.0.1、......。

本申请实施例中的目标对象的第一数据版本可以是指目标对象的当前数据版本,以上述应用软件为例,第一数据版本对应的版本号为2.0.1。

具体地,本申请实施例中确定目标对象的第一数据版本的第一校验值的方式包括但不限于以下方式:

首先,确定目标对象在第一数据版本中的数据内容摘要;其次,利用设定算法和所述数据内容摘要,计算得到所述目标对象的第一数据版本的第一校验值。

例如:以目标对象为一份软件源码为例进行说明。针对该软件源码,确定该软件源码当前版本的数据内容摘要,并利用哈希算法,对该数据内容摘要进行计算,得到该软件源码当前版本的散列值(这里可以称之为第一校验值)。

需要说明的是,设定算法可以是哈希算法,也可以是其他(例如:SHA-1)算法等等,这里不做具体限定。

步骤102:查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值。

本申请实施例中的目标对象的第二数据版本可以是指目标对象的与当前数据版本相邻的前一个数据版本,以上述应用软件为例,第二数据版本对应的版本号为2.0。

具体地,确定所述目标对象的与所述第一数据版本相邻的第二数据版本的版本标识;

从区块链中查找记录所述第二数据版本的版本标识的数据区块,并从该数据区块中读取所述目标对象的第二数据版本的第二校验值。

需要说明的是,若目标对象的当前数据版本为首个数据版本(例如:应用软件的版本1.0),由于不存在与首个数据版本相邻的前一个数据版本,则无需查找步骤102中记载的第二校验值。

此外,在确定所述目标对象的与所述第一数据版本相邻的第二数据版本的版本标识后,也可以参照步骤101中所记载的第一校验值的确定方式得到。这里需要说明的是,如果按照步骤101中所记载的第一校验值的确定方式得到第二校验值,那么需要确保所述目标对象的与所述第一数据版本相邻的第二数据版本的数据内容没有被篡改。

或者,从区块链中查找记录所述第二数据版本的版本标识的数据区块,并从该数据区块中读取所述目标对象的第二数据版本的数据内容摘要,之后参照步骤101中所记载的第一校验值的确定方式得到第二校验值。

步骤103:根据所述第一校验值和所述第二校验值创建数据区块。

在步骤103中,在得到目标对象的第一校验值和第二校验值后,根据第一校验值和第二校验值创建数据区块。

具体地,创建的数据区块中包含数据头部分和数据体部分。

将所述第一校验值和所述第二校验值按照设定格式写入所述数据区块的数据头部分。

如表1所示,为数据区块的数据头部分中写入的校验值的示意表。

表1

数据头部分 第一校验值:1234567890ZXCV 第二校验值:null 时间标签:XXXX年YYYY月ZZZZ日10:00:00

从表1中可以看出,该数据区块的生成时间标签为:XXXX年YYYY月ZZZZ日10:00:00;该数据区块中写入的第一校验值为1234567890ZXCV;第二校验值为空,由此可见,该数据区块是某一目标对象(例如:数据)的初始数据,即某一目标对象的数据源头。

可选地,由于目标对象的第一校验值/第二校验值通过不可逆算法得到,所以目标对象的不同数据版本计算得到的校验值不同,即目标对象的第一校验值/第二校验值具备唯一性。

如表2所示,为数据区块的数据头部分中写入的校验值的示意表。

表2

数据头部分 第一校验值:!@#¥%……&*()ASDF 第二校验值:1234567890ZXCV 时间标签:MMMM年NNNN月ZZZZ日14:00:00

从表2中可以看出,该数据区块的生成时间标签为:MMMM年NNNN月ZZZZ日14:00:00;该数据区块中写入的第一校验值为!@#¥%……&*()ASDF;第二校验值为1234567890ZXCV。由此可见,由于表2中第二校验值与表1中的第一校验值相同,所以表1中所示的数据区块对应的数据版本是表2中所示的数据区块对应的数据版本的相邻前一个数据版本。

需要说明的是,数据区块的数据头部分还可以存储相邻两个数据版本的版本标识,即第一数据版本的版本标识和第二数据版本的版本标识。

可选地,创建的数据区块除了包含数据头部分之外,还包含数据体部分。那么可以将所述目标对象在所述第一数据版本中的数据内容摘要或所述第二校验值或所述目标对象的所述第一数据版本的数据内容写入所述数据区块的数据体部分。

图2为区块链中多个不同数据区块的结构示意图。

从图2中可以看出,数据区块1、数据区块2和数据区块3对应同一个目标对象。数据区块1的数据体部分中存储的是当前数据版本/相邻前一个数据版本的数据内容摘要;数据区块2的数据体部分中存储的是当前数据版本/相邻前一个数据版本的校验值;数据区块3的数据体部分中存储的是当前数据版本/相邻前一个数据版本的数据内容。

在本申请的另一个实施例中,对于目标对象的数据内容可以存储在数据区块中,也可以存储至云数据网关或者数据库中。

需要说明的是,当数据内容的数据量较小时,可以优先选择数据区块3的方式存储数据内容。

具体地,将所述目标对象的所述第一数据版本的数据内容存储至云数据网关或者数据库中。

需要说明的是,数据区块的数据体部分除了可以存储上述记载的内容之外,还可以记录数据提供方提供的目标对象的数字签名,以便于数据需求方对数据提供方的身份进行鉴权认证;还可以记录数据区块创建时间等相关信息,数据版本的版本标识等等,这里不做具体限定。

步骤104:将所述数据区块存储至区块链中。

其中,存储至所述区块链的数据区块不可被修改。

在步骤104中,按照链式数据结构,将所述数据区块上链至区块链中。

具体地,在已经上链的数据区块的尾部加入新创建的数据区块。

在本申请的另一个实施例中,在将所述数据区块存储至区块链中后,所述方法还包括:

存储所述目标对象的第一数据版本的版本标识与所述数据区块的区块标识之间的映射关系。

也可以存储所述目标对象的第一数据版本的版本标识与所述数据区块的区块标识之间的映射关系。

需要说明的是,本申请实施例中将数据区块存储至区块链中也可以称之为对数据区块执行上链操作,使其被存储至区块链中。

通过本申请实施例所记载的技术方案,确定目标对象的第一数据版本的第一校验值,查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中。通过数据区块的形式在区块链中存储目标对象的第一数据版本的第一校验值,由于区块链具备不能篡改的特性,那么在数据需求方获取到目标对象的第一数据版本对应的数据内容时,可以通过区块链中存储的第一校验值验证第一数据版本对应的数据内容是否发生修改,进而确定第一数据版本对应的数据内容的真实性,有效解决了数据内容容易被篡改导致的数据内容的真实性无法确定的问题,改善了数据需求方进行数据分析的效率。

实施例2

基于同一发明构思,图3为本申请实施例提供的一种数据校验方法的流程示意图。所述方法可以如下所示。

步骤301:接收数据验证请求。

所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值。

在步骤301中,本申请实施例的执行主体可以为区块链,也可以为其他设备,这里不做具体限定。

具体地,当数据需求方接收到数据提供方提供的数据时,可以将提供的数据视为待校验数据,并确定待校验数据的数据版本的版本标识,以及基于获取到的待校验数据的数据内容计算得到该待校验数据的校验值。

此时数据需求方为了确保所接收到的待校验数据真实可信,向区块链发送数据校验请求,以校验数据提供方所提供的数据是否已被篡改。

步骤302:根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值。

在步骤302中,由于目标对象在被存储时生成数据区块,并将数据区块存储至区块链中,那么在将数据区块存储至区块链中时,存储所述目标对象的第一数据版本的版本标识与所述数据区块的区块标识之间的映射关系。

那么,在接收到数据校验请求时,根据预先存储的数据版本的版本标识、数据区块的单元标识以及区块的区块标识之间的映射关系,确定所述数据验证请求中包含的数据版本的版本标识对应的数据区块的区块标识;

从确定的所述区块标识对应的的数据区块中读取与所述数据版本的版本标识对应的校验值。

需要说明的是,步骤302中查找的数据版本的版本标识对应的校验值是目标对象被存储时生成的并存储在区块链中的,因此查找到的校验值是可信的。

步骤303:根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。

在步骤303中,比较接收到的所述数据验证请求中包含的校验值和查找到的校验值;

当接收到的所述数据验证请求中包含的校验值与查找到的校验值相同时,确定所述待验证数据的数据内容可信;

当接收到的所述数据验证请求中包含的校验值与查找到的校验值不相同时,确定所述待验证数据的数据内容已被修改。

通过本申请实施例提供的技术方案,接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。由于区块链具备不能篡改的特性,那么从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值是可信的,利用可信的校验值校验数据验证请求中的待校验数据是否被篡改,进而确保了待校验数据的真实性。

图4为本申请实施例提供的一种数据校验方法的场景示意图。

从图4中可以看出,区块链中包含多个数据节点,这些数据节点可以接收不同用户发送的数据验证请求,根据数据验证请求中携带的数据信息(这里可以指校验值),从区块链中查找相应的数据信息,并基于接收到的数据信息与查找到的数据信息对数据验证请求中包含的待验证数据进行校验,以此确保数据需求方能够获取到真实有效数据。

实施例3

图5为本申请实施例提供的一种数据溯源方法的流程示意图。所述方法可以如下所示。

步骤501:接收数据回溯请求。

所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识。

在步骤501中,当需要查找目标对象的演进过程或者演变历史时,可以启动本申请实施例的操作,即发送数据回溯请求,在该数据回溯请求中包含待回溯数据的第一数据版本的版本标识。

这里的第一数据版本的版本标识可以是当前数据版本的版本标识,也可以是任意一个数据版本的版本标识,这里不做限定。

这里第一数据版本的版本标识用来确定进行数据回溯的待回溯数据的回溯起点。例如:一个应用软件,当前数据版本为3.0,那么一旦发起回溯请求,该回溯请求中携带的数据版本的版本标识可以为3.0,也可以为2.0,等等,这里不做限定。

步骤502:根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识。

在步骤502中,由于数据区块中不仅存储了第一数据版本的版本标识还存储了与第一数据版本的版本标识相邻的前一个第二数据版本的版本标识,那么可以通过第一数据版本的版本标识,查找到包含第一数据版本的版本标识的数据区块,并从数据区块中获取与第一数据版本的版本标识相邻的前一个第二数据版本的版本标识。

步骤503:根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块。

在步骤503中,以查找到的所述第二数据版本的版本标识为起点,按照步骤502中的方式依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块。

具体地,针对已查找到的数据版本的版本标识,执行以下操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块:

从区块链中查找包含所述已查找到的数据版本的版本标识的数据区块,并从所述数据区块中获取与所述已查找到的数据版本相邻的前一个数据版本的版本标识;

触发循环执行上述操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块。

需要说明的是,这里已查找到的数据版本的版本标识可以是指除了第一数据版本的版本标识之外的其他数据版本的版本标识。

步骤504:根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。

需要说明的是,在本申请实施例中,在每查找到一个数据版本的版本标识时,同步可以确定该数据版本对应的数据内容。这样可以基于查找到的数据内容分析待回溯数据的演变过程,真实有效分析待回溯数据所蕴含的生产价值。

通过本申请实施例提供的技术方案,接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。由于通过数据区块的形式在区块链中不仅存储目标对象的第一数据版本的版本标识而且还存储与第一数据版本相邻的第二数据版本的版本标识,由于区块链具备不能篡改的特性,且采用链式数据结构,这样能够回溯查找到待回溯数据的演变版本以及每一个演变版本对应的数据内容,并且保证数据演变的真实性。

图6为本申请实施例提供的一种数据溯源方法的场景示意图。

从图6中可以看出,由于区块链采用链式数据结构,那么在确定其中一个数据区块时,可以根据链式数据结构的特点查找到与该数据区块关联的其他数据区块,进而起到追溯数据源的目的,同时也能够保证所获取到的信息真实可信。

假设与该目标对象对应的数据区块由5个,数据区块1、数据区块2、数据区块3、数据区块4和数据区块5。这里以数据区块内存储数据版本的版本标识为例进行说明。

由于数据区块5中存储的数据版本的版本标识为5.0和4.0;数据区块4中存储的数据版本的版本标识为4.0和3.0;数据区块3中存储的数据版本的版本标识为3.0和2.0;数据区块2中存储的数据版本的版本标识为2.0和1.0;数据区块1中存储的数据版本的版本标识为1.0。那么在进行数据溯源时,首先确定数据区块51,依次再确定数据区块4、数据区块3和数据区块2,最后确定数据区块1,这样能够完整实现数据溯源的目的。

实施例4

基于同一发明构思,图7为本申请实施例提供的一种数据存储设备的结构示意图。所述数据存储设备包括:确定模块71、查找模块72和存储模块73,其中:

确定模块71,确定目标对象的第一数据版本的第一校验值;

查找模块72,查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;

存储模块73,根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。

在本申请的另一个实施例中,所述确定模块71确定目标对象的第一数据版本的第一校验值,包括:

确定目标对象在第一数据版本中的数据内容摘要;

利用设定算法和所述数据内容摘要,计算得到所述目标对象的第一数据版本的第一校验值。

在本申请的另一个实施例中,存储模块72根据所述第一校验值和所述第二校验值创建数据区块,包括:

创建数据区块,并将所述第一校验值和所述第二校验值按照设定格式写入所述数据区块的数据头部分。

在本申请的另一个实施例中,所述数据存储设备还包括:写入模块74,其中:

所述写入模块74,将所述目标对象在所述第一数据版本中的数据内容摘要或所述第二校验值或所述目标对象的所述第一数据版本的数据内容写入所述数据区块的数据体部分。

在本申请的另一个实施例中,所述存储模块72,将所述目标对象的所述第一数据版本的数据内容存储至云数据网关或者数据库中。

在本申请的另一个实施例中,所述存储模块72,在将所述数据区块存储至区块链的区块中后,存储所述目标对象的第一数据版本的版本标识与所述数据区块的区块标识之间的映射关系。

在本申请的另一个实施例中,所述存储模块72将所述数据区块存储至区块链中,包括:

按照链式数据结构,将所述数据区块上链至区块链中。

需要说明的是,本申请实施例提供的数据存储设备可以通过硬件方式实现,也可以通过软件方式实现,这里不做具体限定。数据存储设备通过数据区块的形式在区块链中存储目标对象的第一数据版本的第一校验值,由于区块链具备不能篡改的特性,那么在数据需求方获取到目标对象的第一数据版本对应的数据内容时,可以通过区块链中存储的第一校验值验证第一数据版本对应的数据内容是否发生修改,进而确定第一数据版本对应的数据内容的真实性,有效解决了数据内容容易被篡改导致的数据内容的真实性无法确定的问题,改善了数据需求方进行数据分析的效率。

实施例5

图8为本申请实施例提供的一种数据校验设备的结构示意图。所述数据校验设备包括:接收模块81、查找模块82和验证模块83,其中:

接收模块81,接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;

查找模块82,根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;

验证模块83,根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。

在本申请的另一个实施例中,所述验证模块83根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证,包括:

当接收到的所述数据验证请求中包含的校验值与查找到的校验值相同时,确定所述待验证数据的数据内容可信;

当接收到的所述数据验证请求中包含的校验值与查找到的校验值不相同时,确定所述待验证数据的数据内容已被修改。

在本申请的另一个实施例中,所述查找单元82根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值,包括:

根据预先存储的数据版本的版本标识与数据区块的区块标识之间的映射关系,确定所述数据验证请求中包含的数据版本的版本标识对应的数据区块的区块标识;

从确定的所述区块标识对应的数据区块中读取与所述数据版本的版本标识对应的校验值。

需要说明的是,本申请实施例提供的数据校验设备可以通过硬件方式实现,也可以通过软件方式实现,这里不做具体限定。所述数据校验设备由于区块链具备不能篡改的特性,那么从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值是可信的,利用可信的校验值校验数据验证请求中的待校验数据是否被篡改,进而确保了待校验数据的真实性。

实施例6

图9为本申请实施例提供的一种数据溯源设备的结构示意图。所述数据溯源设备包括:接收模块91、回溯模块92和确定模块93,其中:

接收模块91,接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;

回溯模块92,根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;

确定模块93,根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。

在本申请的另一个实施例中,所述回溯单元92根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块,包括:

针对已查找到的数据版本的版本标识,执行以下操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块:

从区块链中查找包含所述已查找到的数据版本的版本标识的数据区块,并从所述数据区块中获取与所述已查找到的数据版本相邻的前一个数据版本的版本标识;

触发循环执行上述操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块。

需要说明的是,本申请实施例提供的数据溯源设备可以通过硬件方式实现,也可以通过软件方式实现,这里不做具体限定。数据溯源设备由于通过数据区块的形式在区块链中不仅存储目标对象的第一数据版本的版本标识而且还存储与第一数据版本相邻的第二数据版本的版本标识,由于区块链具备不能篡改的特性,且采用链式数据结构,这样能够回溯查找到待回溯数据的演变版本以及每一个演变版本对应的数据内容,并且保证数据演变的真实性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (24)

1.一种数据存储方法,其特征在于,包括:
确定目标对象的第一数据版本的第一校验值;
查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;
根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。
2.如权利要求1所述的数据存储方法,其特征在于,确定目标对象的第一数据版本的第一校验值,包括:
确定目标对象在第一数据版本中的数据内容摘要;
利用设定算法和所述数据内容摘要,计算得到所述目标对象的第一数据版本的第一校验值。
3.如权利要求1所述的数据存储方法,其特征在于,根据所述第一校验值和所述第二校验值创建数据区块,包括:
创建数据区块,并将所述第一校验值和所述第二校验值按照设定格式写入所述数据区块的数据头部分。
4.如权利要求3所述的数据存储方法,其特征在于,所述方法还包括:
将所述目标对象在所述第一数据版本中的数据内容摘要或所述第二校验值或所述目标对象的所述第一数据版本的数据内容写入所述数据区块的数据体部分。
5.如权利要求3所述的数据存储方法,其特征在于,所述方法还包括:
将所述目标对象的所述第一数据版本的数据内容存储至云数据网关或者数据库中。
6.如权利要求1所述的数据存储方法,其特征在于,在将所述数据区块存储至区块链中后,所述方法还包括:
存储所述目标对象的第一数据版本的版本标识与所述数据区块的区块标识之间的映射关系。
7.如权利要求或1或6所述的数据存储方法,其特征在于,将所述数据区块存储至区块链中,包括:
按照链式数据结构,将所述数据区块上链至区块链中。
8.一种数据校验方法,其特征在于,包括:
接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;
根据所述数据验证请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;其中,所述查找到的校验值为所述待校验数据的数据版本的版本标识被存储时生成的并存储在所述区块链中的校验值,所述区块链为没有中心化的硬件或管理机构的非关系型数据库,所述非关系型数据库中的各个节点之间的数据交换无需互相信任;
根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待校验数据的数据内容进行验证;
其中,所述根据所述数据验证请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值,包括:
根据所述数据验证请求中包含的数据版本的版本标识,从所述区块链中查找与所述数据版本的版本标识对应的数据区块,并从所述数据区块中读取与所述数据版本的版本标识对应的校验值,所述数据区块为基于所述数据验证请求中包含的所述数据版本的版本标识对应的校验值,以及与所述数据版本相邻的第二数据版本的校验值创建的数据区块。
9.如权利要求8所述的数据校验方法,其特征在于,根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待校验数据的数据内容进行验证,包括:
当接收到的所述数据验证请求中包含的校验值与查找到的校验值相同时,确定所述待校验数据的数据内容可信;
当接收到的所述数据验证请求中包含的校验值与查找到的校验值不相同时,确定所述待校验数据的数据内容已被修改。
10.如权利要求8或9所述的数据校验方法,其特征在于,根据所述数据验证请求中包含的数据版本的版本标识,从所述区块链中查找与所述数据版本的版本标识对应的数据区块,并从所述数据区块中读取与所述数据版本的版本标识对应的校验值,包括:
根据预先存储的数据版本的版本标识与数据区块的区块标识之间的映射关系,确定所述数据验证请求中包含的数据版本的版本标识对应的所述数据区块的区块标识;
从确定的所述区块标识对应的数据区块中读取与所述数据版本的版本标识对应的校验值。
11.一种数据溯源方法,其特征在于,包括:
接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;
根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;
根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;
根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。
12.如权利要求11所述的数据溯源方法,其特征在于,根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块,包括:
针对已查找到的数据版本的版本标识,执行以下操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块:
从区块链中查找包含所述已查找到的数据版本的版本标识的数据区块,并从所述数据区块中获取与所述已查找到的数据版本相邻的前一个数据版本的版本标识;
触发循环执行上述操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块。
13.一种数据存储设备,其特征在于,包括:
确定模块,确定目标对象的第一数据版本的第一校验值;
查找单元,查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;
存储模块,根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。
14.如权利要求13所述的数据存储设备,其特征在于,所述确定模块确定目标对象的第一数据版本的第一校验值,包括:
确定目标对象在第一数据版本中的数据内容摘要;
利用设定算法和所述数据内容摘要,计算得到所述目标对象的第一数据版本的第一校验值。
15.如权利要求13所述的数据存储设备,其特征在于,所述存储模块根据所述第一校验值和所述第二校验值创建数据区块,包括:
创建数据区块,并将所述第一校验值和所述第二校验值按照设定格式写入所述数据区块的数据头部分。
16.如权利要求15所述的数据存储设备,其特征在于,所述数据存储设备还包括:写入模块,其中:
所述写入模块,将所述目标对象在所述第一数据版本中的数据内容摘要或所述第二校验值或所述目标对象的所述第一数据版本的数据内容写入所述数据区块的数据体部分。
17.如权利要求15所述的数据存储设备,其特征在于,
所述存储模块,将所述目标对象的所述第一数据版本的数据内容存储至云数据网关或者数据库中。
18.如权利要求13所述的数据存储设备,其特征在于,
所述存储模块,在将所述数据区块存储至区块链中后,存储所述目标对象的第一数据版本的版本标识与所述数据区块的区块标识之间的映射关系。
19.如权利要求或13或18所述的数据存储设备,其特征在于,所述存储模块将所述数据区块存储至区块链中,包括:
按照链式数据结构,将所述数据区块上链至区块链中。
20.一种数据校验设备,其特征在于,包括:
接收模块,接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;
查找模块,根据所述数据验证请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;其中,所述查找到的校验值为所述待校验数据的数据版本的版本标识被存储时生成的并存储在所述区块链中的校验值,所述区块链为没有中心化的硬件或管理机构的非关系型数据库,所述非关系型数据库中的各个节点之间的数据交换无需互相信任;
验证模块,根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待校验数据的数据内容进行验证;
其中,所述查找模块根据所述数据验证请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值,包括:
根据所述数据验证请求中包含的数据版本的版本标识,从所述区块链中查找与所述数据版本的版本标识对应的数据区块,并从所述数据区块中读取与所述数据版本的版本标识对应的校验值,所述数据区块为基于所述数据验证请求中包含的所述数据版本的版本标识对应的校验值,以及与所述数据版本相邻的第二数据版本的校验值创建的数据区块。
21.如权利要求20所述的数据校验设备,其特征在于,所述验证模块根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待校验数据的数据内容进行验证,包括:
当接收到的所述数据验证请求中包含的校验值与查找到的校验值相同时,确定所述待校验数据的数据内容可信;
当接收到的所述数据验证请求中包含的校验值与查找到的校验值不相同时,确定所述待校验数据的数据内容已被修改。
22.如权利要求20或21所述的数据校验设备,其特征在于,所述查找模块根据所述数据验证请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值,包括:
根据预先存储的数据版本的版本标识与数据区块的区块标识之间的映射关系,确定所述数据验证请求中包含的数据版本的版本标识对应的所述数据区块的区块标识;
从确定的所述区块标识对应的数据区块中读取与所述数据版本的版本标识对应的校验值。
23.一种数据溯源设备,其特征在于,包括:
接收模块,接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;
回溯模块,根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;
确定模块,根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。
24.如权利要求23所述的数据溯源设备,其特征在于,所述回溯模块根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块,包括:
针对已查找到的数据版本的版本标识,执行以下操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块:
从区块链中查找包含所述已查找到的数据版本的版本标识的数据区块,并从所述数据区块中获取与所述已查找到的数据版本相邻的前一个数据版本的版本标识;
触发循环执行上述操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块。
CN201610694496.6A 2016-08-19 2016-08-19 一种数据存储、数据校验、数据溯源方法和设备 CN106897348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610694496.6A CN106897348B (zh) 2016-08-19 2016-08-19 一种数据存储、数据校验、数据溯源方法和设备

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
CN201610694496.6A CN106897348B (zh) 2016-08-19 2016-08-19 一种数据存储、数据校验、数据溯源方法和设备
TW106119675A TWI679546B (zh) 2016-08-19 2017-06-13 資料儲存、資料校驗、資料溯源方法和設備
RU2019107593A RU2019107593A3 (zh) 2016-08-19 2017-08-08
PCT/CN2017/096322 WO2018032995A1 (zh) 2016-08-19 2017-08-08 一种数据存储、数据校验、数据溯源方法和设备
EP17840970.2A EP3502926A4 (en) 2016-08-19 2017-08-08 DATA STORAGE, DATA VERIFICATION AND DATA LINKING METHOD AND DEVICE
MX2019002021A MX2019002021A (es) 2016-08-19 2017-08-08 Metodo y aparato de almacenamiento de datos, verificacion de datos y enlace de datos.
KR1020197007816A KR102188744B1 (ko) 2016-08-19 2017-08-08 데이터 저장, 데이터 검사 및 데이터 연계 방법 및 장치
KR1020207034802A KR20200139845A (ko) 2016-08-19 2017-08-08 데이터 저장, 데이터 검사 및 데이터 연계 방법 및 장치
AU2017312177A AU2017312177B2 (en) 2016-08-19 2017-08-08 Data storage, data check, and data linkage method and apparatus
JP2019509462A JP2019532550A (ja) 2016-08-19 2017-08-08 データ保存、データチェック、及びデータ連結の方法及び装置
CA3034034A CA3034034A1 (en) 2016-08-19 2017-08-08 Data storage, data check, and data linkage method and apparatus
SG11201901181PA SG11201901181PA (en) 2016-08-19 2017-08-08 Data storage, data check, and data linkage method and apparatus
BR112019003345A BR112019003345A2 (pt) 2016-08-19 2017-08-08 método e aparelho de armazenamento de dados, verificação de dados e vinculação de dados
US16/276,418 US20190182033A1 (en) 2016-08-19 2019-02-14 Data storage, data check, and data linkage method and apparatus
PH12019500334A PH12019500334A1 (en) 2016-08-19 2019-02-15 Data storage, data check, and data linkage method and apparatus
AU2019101570A AU2019101570A4 (en) 2016-08-19 2019-12-12 Data storage, data check, and data linkage method and apparatus
US16/730,873 US10880078B2 (en) 2016-08-19 2019-12-30 Data storage, data check, and data linkage method and apparatus

Publications (2)

Publication Number Publication Date
CN106897348A CN106897348A (zh) 2017-06-27
CN106897348B true CN106897348B (zh) 2020-10-27

Family

ID=59191622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610694496.6A CN106897348B (zh) 2016-08-19 2016-08-19 一种数据存储、数据校验、数据溯源方法和设备

Country Status (14)

Country Link
US (2) US20190182033A1 (zh)
EP (1) EP3502926A4 (zh)
JP (1) JP2019532550A (zh)
KR (2) KR102188744B1 (zh)
CN (1) CN106897348B (zh)
AU (2) AU2017312177B2 (zh)
BR (1) BR112019003345A2 (zh)
CA (1) CA3034034A1 (zh)
MX (1) MX2019002021A (zh)
PH (1) PH12019500334A1 (zh)
RU (1) RU2019107593A3 (zh)
SG (1) SG11201901181PA (zh)
TW (1) TWI679546B (zh)
WO (1) WO2018032995A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897348B (zh) * 2016-08-19 2020-10-27 创新先进技术有限公司 一种数据存储、数据校验、数据溯源方法和设备
CN107316239A (zh) * 2017-07-14 2017-11-03 众安信息技术服务有限公司 一种基于区块链的信息认证和溯源方法及系统
CN109428892A (zh) * 2017-09-01 2019-03-05 埃森哲环球解决方案有限公司 多阶段可重写区块链
CN107945312A (zh) * 2017-10-31 2018-04-20 深圳市轱辘车联数据技术有限公司 一种车辆检测方法及其设备
US20200372184A1 (en) * 2017-11-17 2020-11-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for detecting digital content tampering
CN108458724A (zh) * 2017-12-29 2018-08-28 青岛真时科技有限公司 一种计步方法和装置
CN108123960B (zh) * 2018-01-02 2020-10-16 武汉斗鱼网络科技有限公司 直播房间人气验证方法、装置及电子设备
CN108734028B (zh) * 2018-05-24 2020-10-09 中国联合网络通信集团有限公司 基于区块链的数据管理方法、区块链节点及存储介质
CN108847926A (zh) * 2018-06-22 2018-11-20 武汉斗鱼网络科技有限公司 一种客户端安全检测方法、装置及客户端设备
CN109257334A (zh) * 2018-08-21 2019-01-22 广州杰赛科技股份有限公司 一种基于区块链的数据上链系统、方法及存储介质
CN109800248A (zh) * 2018-12-17 2019-05-24 上海点融信息科技有限责任公司 用于区块链网络的数字内容溯源和记录方法、存储介质、计算设备
US10880619B2 (en) * 2019-02-21 2020-12-29 Raytheon Bbn Technologies Corp. Verifying provenance of digital content
CN110096505A (zh) * 2019-03-31 2019-08-06 杭州复杂美科技有限公司 一种数据存储方法和系统、设备及存储介质
CN109992999A (zh) * 2019-04-01 2019-07-09 北京柏链基石科技有限公司 一种基于区块链的隐私数据的修改方法、装置及电子设备
US10908924B2 (en) * 2019-05-01 2021-02-02 Intuit Inc. System and methods for loading objects from hash chains
CN110427774B (zh) * 2019-07-18 2021-01-12 创新先进技术有限公司 基于区块链的数据存证方法、数据校验方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751736B2 (en) * 2011-08-02 2014-06-10 Oracle International Corporation Instructions to set and read memory version information
CN105610578A (zh) * 2016-01-25 2016-05-25 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343295B1 (en) * 1998-12-16 2002-01-29 Microsoft Corporation Data lineage
CN1818990A (zh) * 2000-01-21 2006-08-16 索尼公司 数据处理设备和数据处理方法
US6938039B1 (en) * 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
US7054891B2 (en) * 2002-03-18 2006-05-30 Bmc Software, Inc. System and method for comparing database data
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US8627086B2 (en) * 2004-10-11 2014-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Secure loading and storing of data in a data processing device
KR100654446B1 (ko) * 2004-12-09 2006-12-06 삼성전자주식회사 보안 부팅 장치 및 방법
US9626667B2 (en) * 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
US7587564B2 (en) * 2006-09-26 2009-09-08 International Business Machines Corporation System, method and computer program product for managing data versions
US8499044B2 (en) 2006-12-07 2013-07-30 Microsoft Corporation Formatted message processing utilizing a message map
CN101236525A (zh) * 2008-01-24 2008-08-06 创新科存储技术(深圳)有限公司 文件存储、读取、删除及复制方法及其相关系统
US7676501B2 (en) * 2008-03-22 2010-03-09 Wilson Kelce S Document integrity verification
US7904450B2 (en) * 2008-04-25 2011-03-08 Wilson Kelce S Public electronic document dating list
US9098495B2 (en) * 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US9098632B2 (en) * 2010-12-03 2015-08-04 Dcs Consultancy Services Limited Computer program testing
US9569771B2 (en) * 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US20120310875A1 (en) * 2011-06-03 2012-12-06 Prashanth Prahlad Method and system of generating a data lineage repository with lineage visibility, snapshot comparison and version control in a cloud-computing platform
CN103678337B (zh) * 2012-09-06 2017-12-12 华为技术有限公司 数据清除方法、装置及系统
KR101518488B1 (ko) * 2013-05-20 2015-05-07 주식회사 애드오피 온라인 콘텐츠 가치 향상 방법 및 시스템
US9135285B1 (en) * 2013-05-30 2015-09-15 Ca, Inc. Loading XML records into a database
JP6432127B2 (ja) * 2013-11-12 2018-12-05 株式会社リコー 通信装置、通信システム、通信方法及び通信プログラム
US10340038B2 (en) * 2014-05-13 2019-07-02 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain, systems and methods
US9836908B2 (en) * 2014-07-25 2017-12-05 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
US10230526B2 (en) * 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records
JP6364132B2 (ja) * 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
US9870562B2 (en) * 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US10026082B2 (en) * 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
US20160342989A1 (en) * 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for processing blockchain-based transactions on existing payment networks
US20160342994A1 (en) * 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
US10121019B2 (en) * 2015-06-02 2018-11-06 ALTR Solutions, Inc. Storing differentials of files in a distributed blockchain
US9881176B2 (en) * 2015-06-02 2018-01-30 ALTR Solutions, Inc. Fragmenting data for the purposes of persistent storage across multiple immutable data structures
US10075298B2 (en) * 2015-06-02 2018-09-11 ALTR Solutions, Inc. Generation of hash values within a blockchain
CN104935657A (zh) * 2015-06-15 2015-09-23 清华大学深圳研究生院 主动推送信息的方法和嵌入式节点操作系统
CN105045536B (zh) * 2015-07-29 2019-09-20 百度在线网络技术(北京)有限公司 一种数据存储的方法、装置与系统
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US10425428B2 (en) * 2015-08-20 2019-09-24 Guardtime Sa Verification lineage tracking and transfer control of data sets
CN105117489B (zh) * 2015-09-21 2018-10-19 北京金山安全软件有限公司 一种数据库管理方法、装置及电子设备
CN105608588A (zh) * 2016-01-04 2016-05-25 布比(北京)网络技术有限公司 一种溯源记录处理的方法及装置
US9967088B2 (en) * 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
US10705221B2 (en) * 2016-06-08 2020-07-07 The Boeing Company On-board backup and anti-spoofing GPS system
CN106897348B (zh) * 2016-08-19 2020-10-27 创新先进技术有限公司 一种数据存储、数据校验、数据溯源方法和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751736B2 (en) * 2011-08-02 2014-06-10 Oracle International Corporation Instructions to set and read memory version information
CN105610578A (zh) * 2016-01-25 2016-05-25 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法

Also Published As

Publication number Publication date
KR102188744B1 (ko) 2020-12-09
TW201807601A (zh) 2018-03-01
KR20200139845A (ko) 2020-12-14
AU2017312177B2 (en) 2020-12-10
TWI679546B (zh) 2019-12-11
MX2019002021A (es) 2019-07-08
JP2019532550A (ja) 2019-11-07
KR20190039787A (ko) 2019-04-15
EP3502926A1 (en) 2019-06-26
US20200136811A1 (en) 2020-04-30
RU2019107593A (ru) 2020-09-21
US20190182033A1 (en) 2019-06-13
BR112019003345A2 (pt) 2019-06-11
AU2019101570A4 (en) 2020-01-23
EP3502926A4 (en) 2020-05-06
SG11201901181PA (en) 2019-03-28
CA3034034A1 (en) 2018-02-22
RU2019107593A3 (zh) 2020-09-21
WO2018032995A1 (zh) 2018-02-22
AU2017312177A1 (en) 2019-03-14
PH12019500334A1 (en) 2019-11-11
CN106897348A (zh) 2017-06-27
US10880078B2 (en) 2020-12-29

Similar Documents

Publication Publication Date Title
KR102155462B1 (ko) 데이터 액세스를 위한 방법, 시스템 및 장치
Zafar et al. A survey of cloud computing data integrity schemes: Design challenges, taxonomy and future trends
US20180373890A1 (en) Data processing systems for identity validation of data subject access requests and related methods
US20170366516A1 (en) Managing verifiable, cryptographically strong transactions
Liu et al. Authorized public auditing of dynamic big data storage on cloud with efficient verifiable fine-grained updates
US10747744B2 (en) Distributed ledger comprising snapshots
CN107077557B (zh) 软件应用程序发布和验证的方法及装置
US20180349706A1 (en) Securely authenticating a recording file from initial collection through post-production and distribution
US20180101684A1 (en) Method and system for identity and credential protection and verification via blockchain
US9185338B2 (en) System and method for fingerprinting video
KR20200108513A (ko) 시간 중심 머클 해쉬 트리와 같은, 해쉬 트리를 이용한 데이터 검증방법들 및 그 시스템들
US20180115428A1 (en) System and method for verification of data transferred among several data storages
US10339014B2 (en) Query optimized distributed ledger system
US10715331B2 (en) Method and system for providing validated, auditable, and immutable inputs to a smart contract
CN111880746A (zh) 一种向区块链系统中写入业务数据的方法和装置
WO2019133309A1 (en) User controlled storage and sharing of personal user information on a blockchain
WO2019011294A1 (zh) 一种信息认证方法及系统
CN111953496A (zh) 用于使用数字签名的区块链变型的方法和系统
US20160283920A1 (en) Authentication and verification of digital data utilizing blockchain technology
US20140026189A1 (en) Method, client, server and system of login verification
CN111492634A (zh) 使用零知识协议的安全并且机密的保管交易系统、方法和设备
TWI512491B (zh) 通訊系統及其相關資料同步方法
US20170331635A1 (en) System and method for file time-stamping using a blockchain network
US10715323B2 (en) Traceable key block-chain ledger
EP2323062A1 (en) Computer and hardware identity tracking using characteristic parameter-derived data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1238368

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191204

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Applicant after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Co., Ltd.

Effective date of registration: 20191204

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Applicant after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Co., Ltd.

GR01 Patent grant
GR01 Patent grant