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

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

【技术实现步骤摘要】
一种数据存储、数据校验、数据溯源方法和设备
本申请涉及互联网信息处理
,尤其涉及一种数据存储、数据校验、数据溯源方法和设备。
技术介绍
在数字化的信息时代,数据不再是冰冷的文本记录,而是蕴含了生产价值的信息资源。为了精确分析数据中所蕴含的信息资源,需要保证数据存储的真实性。即保证数据库中存储的数据为原始数据。所谓数据溯源可以理解为记录原始数据在整个生命周期(从产生、传播到消亡)的演变信息和演变处理内容。那么通过对原始数据的研究,能够跟踪原始数据整个生命周期的演变,确定原始数据的数据溯源。这对于数据提供方和数据需求方来讲具备重要意义。目前,数据提供方将数据存储在数据库中,并在数据库中存储待存储的数据内容以及与待存储的数据相关的其他信息(例如:数据创建者、数据是否发生版本变更、数据产生时间等等)。当数据需求方需要从数据库中获取数据时,数据提供方向数据需求方提供待获取数据的数字签名,数据需求方根据该数字签名从数据库中获取待获取的数据,并校验待获取的数据是否真实。然而,数据提供方将数据存储在数据库中,而目前所使用的大量数据库都具备可修改的功能。假设,数据提供方承诺提供给数据需求方A版本数据(A版本数据对应的数字签名为A1),但是,因为其他原因,数据提供方向数据需求方提供了B版本数据(但是对于数据需求方并不知道所获取的数据是A版本数据还是B版本数据),根据B版本数据得到的数字签名为B1;数据提供方为了使数据需求方相信所获取到的数据为A版本数据,此时数据提供方可以对数据库中存储的A版本数据对应的数字签名进行修改,即将A版本数据的数字签名修改为B1,这样,数据需求方在使用B1进行验证时,验证结果为通过,使数据需求方相信所获取到的B版本数据为自己需要获取的A版本数据。但实际上,数据需求方获取的数据并不是自己需要获取的A版本数据,这样将使得数据需求方根据获取到的B版本数据得到的数据分析结果与预期结果出现较大偏差,给数据需求方造成损失。综上所述,亟需一种数据存储方法,解决现有技术中数据容易被篡改导致的数据真实性无法确定的问题。
技术实现思路
有鉴于此,本申请实施例提供的一种数据存储、数据校验、数据溯源方法和设备,用于解决现有技术中数据容易被篡改导致的数据真实性无法确定的问题。本申请实施例提供了一种数据存储方法,包括:确定目标对象的第一数据版本的第一校验值;查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。本申请实施例提供了一种数据存储设备,包括:确定模块,确定目标对象的第一数据版本的第一校验值;查找单元,查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;存储模块,根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过确定目标对象的第一数据版本的第一校验值,以及查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中。通过数据区块的形式在区块链中存储目标对象的第一数据版本的第一校验值,由于区块链具备不能篡改的特性,那么在数据需求方获取到目标对象的第一数据版本对应的数据内容时,可以通过区块链中存储的第一校验值验证第一数据版本对应的数据内容是否发生修改,进而确定第一数据版本对应的数据内容的真实性,有效解决了数据内容容易被篡改导致的数据内容的真实性无法确定的问题,改善了数据需求方进行数据分析的效率。本申请实施例还提供了一种数据校验方法,包括:接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。本申请实施例还提供了一种数据校验设备,包括:接收模块,接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;查找模块,根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;验证模块,根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。由于区块链具备不能篡改的特性,那么从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值是可信的,利用可信的校验值校验数据验证请求中的待校验数据是否被篡改,进而确保了待校验数据的真实性。本申请实施例还提供了一种数据溯源方法,包括:接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。本申请实施例还提供了一种数据溯源设备,包括:接收模块,接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;回溯模块,根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;确定模块,根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。由于通过数据区块的形式在区块链中不仅存储目标对象的第一数据版本的版本标识而且还存储与第一数据版本相邻的第二数据版本的版本标识,由于区块链具备不能篡改的特性,且采用链式数据结本文档来自技高网
...
一种数据存储、数据校验、数据溯源方法和设备

【技术保护点】
一种数据存储方法,其特征在于,包括:确定目标对象的第一数据版本的第一校验值;查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:确定目标对象的第一数据版本的第一校验值;查找所述目标对象的与所述第一数据版本相邻的第二数据版本的第二校验值;根据所述第一校验值和所述第二校验值创建数据区块,并将所述数据区块存储至区块链中,其中,存储至所述区块链的数据区块不可被修改。2.如权利要求1所述的数据存储方法,其特征在于,确定目标对象的第一数据版本的第一校验值,包括:确定目标对象在第一数据版本中的数据内容摘要;利用设定算法和所述数据内容摘要,计算得到所述目标对象的第一数据版本的第一校验值。3.如权利要求1所述的数据存储方法,其特征在于,根据所述第一校验值和所述第二校验值创建数据区块,包括:创建数据区块,并将所述第一校验值和所述第二校验值按照设定格式写入所述数据区块的数据头部分。4.如权利要求3所述的数据存储方法,其特征在于,所述方法还包括:将所述目标对象在所述第一数据版本中的数据内容摘要或所述第二校验值或所述目标对象的所述第一数据版本的数据内容写入所述数据区块的数据体部分。5.如权利要求3所述的数据存储方法,其特征在于,所述方法还包括:将所述目标对象的所述第一数据版本的数据内容存储至云数据网关或者数据库中。6.如权利要求1所述的数据存储方法,其特征在于,在将所述数据区块存储至区块链中后,所述方法还包括:存储所述目标对象的第一数据版本的版本标识与所述数据区块的区块标识之间的映射关系。7.如权利要求或1或6所述的数据存储方法,其特征在于,将所述数据区块存储至区块链中,包括:按照链式数据结构,将所述数据区块上链至区块链中。8.一种数据校验方法,其特征在于,包括:接收数据验证请求,所述数据验证请求中包含待校验数据的数据版本的版本标识以及基于所述待校验数据的数据内容得到的校验值;根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值;根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证。9.如权利要求8所述的数据校验方法,其特征在于,根据接收到的所述数据验证请求中包含的校验值和查找到的校验值,对所述待验证数据的数据内容进行验证,包括:当接收到的所述数据验证请求中包含的校验值与查找到的校验值相同时,确定所述待验证数据的数据内容可信;当接收到的所述数据验证请求中包含的校验值与查找到的校验值不相同时,确定所述待验证数据的数据内容已被修改。10.如权利要求8或9所述的数据校验方法,其特征在于,根据所述数据校验请求中包含的数据版本的版本标识,从区块链中查找预先存储的与所述数据版本的版本标识对应的校验值,包括:根据预先存储的数据版本的版本标识与数据区块的区块标识之间的映射关系,确定所述数据验证请求中包含的数据版本的版本标识对应的数据区块的区块标识;从确定的所述区块标识对应的数据区块中读取与所述数据版本的版本标识对应的校验值。11.一种数据溯源方法,其特征在于,包括:接收数据回溯请求,所述数据回溯请求中包含待回溯数据的第一数据版本的版本标识;根据所述第一数据版本的版本标识,从区块链中查找包含所述第一数据版本的版本标识的数据区块,并从所述数据区块中获取与所述第一数据版本相邻的第二数据版本的版本标识;根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块;根据所述数据区块,确定所述待回溯数据的初始版本对应的数据内容。12.如权利要求11所述的数据溯源方法,其特征在于,根据查找到的所述第二数据版本的版本标识,依次回溯查找到包含所述待回溯数据的初始版本的版本标识的数据区块,包括:针对已查找到的数据版本的版本标识,执行以下操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块:从区块链中查找包含所述已查找到的数据版本的版本标识的数据区块,并从所述数据区块中获取与所述已查找到的数据版本相邻的前一个数据版本的版本标识;触发循环执行上述操作,直至查找到包含待回溯数据的初始版本的版本标识的数据区块。13.一种数据存储设备,其特征在于,包括:确定模块,确定目标对象的第一数据版本的第一校验值;查找单元,查找所述目标对...

【专利技术属性】
技术研发人员:李奕赵尊奎
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1