一种数据一致性检查方法、装置、设备和存储介质制造方法及图纸

技术编号:19023471 阅读:18 留言:0更新日期:2018-09-26 19:04
本发明专利技术实施例提供了一种数据一致性检查方法、装置、设备和存储介质,属于大数据信息化技术领域,该方法包括:根据获取的目标备份文件的键值,从预设的存储系统中读取键值对应的目标备份文件的内容,并计算第二哈希值;从预设的目标区块链系统中获取与区块号和交易编号均对应的目标备份文件的第一签名;根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的第二签名;判断所述第一签名和所述第二签名是否一致;若为一致,将目标备份文件标识为无篡改;若为不一致,将目标备份文件标识为有篡改。本发明专利技术实施例提供的方案在信息化系统中以实现在保持数据持久化存储的基础上,保证了数据的一致性,进而提高了数据存储的可靠性。

【技术实现步骤摘要】
一种数据一致性检查方法、装置、设备和存储介质
本专利技术涉及大数据信息化
,特别是涉及一种数据一致性检查方法、装置、设备和存储介质。
技术介绍
信息化系统的数据往往是需要长期存储(持久化)的,而且在安全方面如数据一致性(防篡改)上也有不同程度的要求。例如,2017年4月1日起,我国开始施行《电子病历应用管理规范(试行)》。规范要求,门(急)诊电子病历由医疗机构保管的,保存时间自患者最后一次就诊之日起不少于15年;住院电子病历保存时间自患者最后一次出院之日起不少于30年。由此可见,信息化系统的数据持久化和一致性,在医疗、金融、政务等领域有着广泛和强烈的需求。现有的信息化系统基本采用数据库系统来进行数据持久化。在满足长期持久性的要求下,多采用多副本,比如主从方式,或数据备份方式。基本上能够满足持久性要求。但数据一致性上则面临很大的问题,主要体现在:难以防止和发现人为篡改数据。数据库一旦被黑客、或内部拥有读写权限的人恶意修改数据,则其中的数据就可能被修改或破坏。尽管数据库系统也提供了安全审计和日志功能,由于数据库中的数据本身是可以删改的,因此安全审计和日志功能也是可能被Hack(增加、删除或者修改、优化)、关闭、或者删除数据的。目前,数据库系统无论是分布式还是集中式的,都存在系统管理员。如上所述,现有信息化系统在数据持久性上多采用分布式+数据备份来实现持久化,如数据保存多个副本,并且多个副本要分布在不同的机器上,在机器故障引起某些副本失效时,其它副本仍然能提供服务,但与此对应的数据一致性检查存在的缺陷为:例如,即使在一致性检查的过程中,不仅需要检查导出数据备份是否更改还需要检查记录数据备份的哈希值(Hash值)是否更改并且是否与该数据备份对应,但是在无法避免同时修改数据备份和hash值的情况下,采用这样的方式进行数据一致性检查依然不可靠。
技术实现思路
本专利技术实施例的目的在于提供一种数据一致性检查方法、装置、设备和存储介质,在信息化系统中以实现在保持数据持久化存储的基础上,保证数据的一致性,进而提高数据存储的可靠性。具体技术方案如下:一种数据一致性检查的方法,应用于一致性检查侧的客户端或服务器,所述方法包括:根据获取的目标备份文件的键值,从预设的存储系统中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;根据获取的区块号和交易编号,从预设的目标区块链系统中获取与所述区块号和所述交易编号均对应的目标备份文件的签名信息,记为第一签名;根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;判断所述第一签名和所述第二签名是否一致;若为一致,将目标备份文件标识为无篡改;若为不一致,将目标备份文件标识为有篡改。进一步地,在所述根据获取的键值,从预设的存储系统中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值之前,所述的方法还包括:读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,所述备份记录包括第一哈希值、键值、区块号和交易编号。进一步地,所述根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名,包括:基于第二哈希值和获取的键值通过哈希函数生成所述目标备份文件的签名信息,记为第二签名。进一步地,所述预设的备份记录的生成过程包括:指示预设的数据库按照预设周期生成目标备份文件,计算所述目标备份文件的第一哈希值;将所述目标备份文件发送到所述预设的存储系统中;获取所述预设的存储系统返回的目标备份文件的键值;根据第一哈希值和键值,按照预设签名算法生成所述目标备份文件的签名信息,记为第一签名;将所述第一签名作为一次交易的备注信息记录到预设的目标区块链系统中,并获得所述预设的区块链系统返回的所述备注信息位于的区块号和交易编号;记录目标备份文件对应的所述第一哈希值、键值、区块号和交易编号,作为备份记录。进一步地,所述预设签名算法为哈希算法。进一步地,所述获取所述预设的存储系统返回的目标备份文件的键值,包括:将返回目标备份文件的键值请求发送到所述预设的存储系统中;接收所述预设的存储系统返回的目标备份文件的键值。一种数据一致性检查的方法,应用于数据存储侧的目标区块链系统,所述方法包括:接收客户端或服务器发送的第一签名请求,其中,所述第一签名请求用于客户端或服务器从所述目标区块链系统请求与区块号和交易编号均对应的目标备份文件的签名信息请求;发送所述签名信息到客户端或服务器中。进一步地,在所述接收客户端或服务器发送的第一签名请求之前,所述方法还包括:获取备份记录生成程序的签名,作为第三签名,存储所述第三签名作为创建的第一目标交易的输入脚本;其中,一个目标交易对应一个目标备份文件,所述目标交易为第一目标交易或第二目标交易,所述第一目标交易为交易类型是普通交易对应的交易,所述普通交易为有前置交易的交易,所述第一目标交易包括输入脚本、输出脚本,所述第二目标交易为交易类型是特殊交易对应的交易,所述特殊交易为无前置交易的交易,所述第二目标交易包括输出脚本,所述输入脚本为获取的备份记录生成程序的签名,所述输出脚本包括该目标备份文件对应的OP_RETURN指令及其OP_RETURN的参数;获取备注信息,存储所述备注信息作为创建的目标交易输出脚本OP_RETURN的参数,并返回所述备注信息位于的区块号和交易编号到所述客户端或服务器或所述服务器中,其中,所述备注信息为目标备份文件的签名信息。进一步地,所述获取备注信息,存储所述备注信息作为创建的目标交易输出脚本OP_RETURN的参数,包括:判断目标备份文件对应的创建的目标交易是否存在前置交易;若存在,判定该目标备份文件为增量备份文件,获取备注信息,存储所述备注信息作为创建的第一目标交易的输出脚本OP_RETURN的参数;若不存在,判定该目标备份文件为全量备份文件,获取备注信息,存储所述备注信息作为创建的第二目标交易的输出脚本OP_RETURN的参数。一种数据一致性检查的装置,应用于一致性检查侧的客户端或服务器,所述装置包括:第二哈希值获取模块,用于根据获取的目标备份文件的键值,从预设的存储系统中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;第一签名获取模块,用于根据获取的区块号和交易编号,从预设的目标区块链系统中获取与所述区块号和所述交易编号均对应的目标备份文件的签名信息,记为第一签名;第二签名获取模块,用于根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;第一判断模块,用于判断所述第一签名和所述第二签名是否一致;若为一致,触发第一标识模块,若为不一致,触发第二标识模块;所述第一标识模块,用于将目标备份文件标识为无篡改;所述第二标识模块,用于将目标备份文件标识为有篡改。进一步地,所述装置还包括:获取模块,用于读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,所述备份记录包括第一哈希值、键值、区块号和交易编号。进一步地,所述第二签名获取模块包括:第二签名生成子模块,用于基于第二哈希值和获取的键值通过哈希函数生成所述目标备份文件的签名信息,记为第二签名。本文档来自技高网
...

【技术保护点】
1.一种数据一致性检查的方法,其特征在于,应用于一致性检查侧的客户端或服务器,所述方法包括:根据获取的目标备份文件的键值,从预设的存储系统中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;根据获取的区块号和交易编号,从预设的目标区块链系统中获取与所述区块号和所述交易编号均对应的目标备份文件的签名信息,记为第一签名;根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;判断所述第一签名和所述第二签名是否一致;若为一致,将目标备份文件标识为无篡改;若为不一致,将目标备份文件标识为有篡改。

【技术特征摘要】
1.一种数据一致性检查的方法,其特征在于,应用于一致性检查侧的客户端或服务器,所述方法包括:根据获取的目标备份文件的键值,从预设的存储系统中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;根据获取的区块号和交易编号,从预设的目标区块链系统中获取与所述区块号和所述交易编号均对应的目标备份文件的签名信息,记为第一签名;根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;判断所述第一签名和所述第二签名是否一致;若为一致,将目标备份文件标识为无篡改;若为不一致,将目标备份文件标识为有篡改。2.如权利要求1所述的方法,其特征在于,在所述根据获取的键值,从预设的存储系统中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值之前,所述的方法还包括:读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,所述备份记录包括第一哈希值、键值、区块号和交易编号。3.如权利要求1所述的方法,其特征在于,所述根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名,包括:基于第二哈希值和获取的键值通过哈希函数生成所述目标备份文件的签名信息,记为第二签名。4.如权利要求2所述的方法,其特征在于,所述预设的备份记录的生成过程包括:指示预设的数据库按照预设周期生成目标备份文件,计算所述目标备份文件的第一哈希值;将所述目标备份文件发送到所述预设的存储系统中;获取所述预设的存储系统返回的目标备份文件的键值;根据第一哈希值和键值,按照预设签名算法生成所述目标备份文件的签名信息,记为第一签名;将所述第一签名作为一次交易的备注信息记录到预设的目标区块链系统中,并获得所述预设的区块链系统返回的所述备注信息位于的区块号和交易编号;记录目标备份文件对应的所述第一哈希值、键值、区块号和交易编号,作为备份记录。5.如权利要求1或4所述的方法,其特征在于,所述预设签名算法为哈希算法。6.如权利要求4所述的方法,其特征在于,所述获取所述预设的存储系统返回的目标备份文件的键值,包括:将返回目标备份文件的键值请求发送到所述预设的存储系统中;接收所述预设的存储系统返回的目标备份文件的键值。7.一种数据一致性检查的方法,其特征在于,应用于数据存储侧的目标区块链系统,所述方法包括:接收客户端或服务器发送的第一签名请求,其中,所述第一签名请求用于客户端或服务器从所述目标区块链系统请求与区块号和交易编号均对应的目标备份文件的签名信息请求;发送所述签名信息到客户端或服务器中。8.如权利要求7所述的方法,其特征在于,在所述接收客户端或服务器发送的第一签名请求之前,所述方法还包括:获取备份记录生成程序的签名,作为第三签名,存储所述第三签名作为创建的第一目标交易的输入脚本;其中,一个目标交易对应一个目标备份文件,所述目标交易为第一目标交易或第二目标交易,所述第一目标交易为交易类型是普通交易对应的交易,所述普通交易为有前置交易的交易,所述第一目标交易包括输入脚本、输出脚本,所述第二目标交易为交易类型是特殊交易对应的交易,所述特殊交易为无前置交易的交易,所述第二目标交易包括输出脚本,所述输入脚本为获取的备份记录生成程序的签名,所述输出脚本包括该目标备份文件对应的OP_RETURN指令及其OP_RETURN的参数;获取备注信息,存储所述备注信息作为创建的目标交易输出脚本OP_RETURN的参数,并返回所述备注信息位于的区块号和交易编号到客户端或服务器中,其中,所述备注信息为目标备份文件的签名信息。9.如权利要求8所述的方法,其特征在于,所述获取备注信息,存储所述备注信息作为创建的目标交易输出脚本OP_RETURN的参数,包括:判断目标备份文件对应的创建的目标交易是否存在前置交易;若存在,判定该目标备份文件为增量备份文件,获取备注信息,存储所述备注信息作为创建的第一目标交易的输出脚本OP_RETURN的参数;若不存在,判定该目标备份文件为全量备份文件,获取备注信息,存储所述备注信息作为创建的第二目标交易的输出脚本OP_RETURN的参数。10.一种数据一致性检查的装置,其特征在于,应用于一致性检查侧的客户端或服务器,所述装置包括:第二哈希值获取模块,用于根据获取的目标备份文件的键值,从预设的存储系统中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;第一签名获取模块,用于根据获取的区块号和交易编号,从预设的目标区块链系统中获取与所述区块号和所述交易编号均对应的目标备份文件的签名信息,记为第一签名;第二签名获取模块,用于根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;第一判...

【专利技术属性】
技术研发人员:郭杏荣
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司北京金迅瑞博网络技术有限公司
类型:发明
国别省市:北京,11

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

1