CN108573016A - 一种数据一致性检查方法、装置、设备和存储介质 - Google Patents
一种数据一致性检查方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN108573016A CN108573016A CN201711424941.8A CN201711424941A CN108573016A CN 108573016 A CN108573016 A CN 108573016A CN 201711424941 A CN201711424941 A CN 201711424941A CN 108573016 A CN108573016 A CN 108573016A
- Authority
- CN
- China
- Prior art keywords
- transaction
- backup file
- target
- signature
- target backup
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据一致性检查方法、装置、设备和存储介质,属于大数据信息化技术领域,该方法包括:根据获取的目标备份文件的键值,从预设的存储***中读取键值对应的目标备份文件的内容,并计算第二哈希值;从预设的目标区块链***中获取与区块号和交易编号均对应的目标备份文件的第一签名;根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的第二签名;判断所述第一签名和所述第二签名是否一致;若为一致,将目标备份文件标识为无篡改;若为不一致,将目标备份文件标识为有篡改。本发明实施例提供的方案在信息化***中以实现在保持数据持久化存储的基础上,保证了数据的一致性,进而提高了数据存储的可靠性。
Description
技术领域
本发明涉及大数据信息化技术领域,特别是涉及一种数据一致性检查方法、装置、设备和存储介质。
背景技术
信息化***的数据往往是需要长期存储(持久化)的,而且在安全方面如数据一致性(防篡改)上也有不同程度的要求。例如,2017年4月1日起,我国开始施行《电子病历应用管理规范(试行)》。规范要求,门(急)诊电子病历由医疗机构保管的,保存时间自患者最后一次就诊之日起不少于15年;住院电子病历保存时间自患者最后一次出院之日起不少于30年。由此可见,信息化***的数据持久化和一致性,在医疗、金融、政务等领域有着广泛和强烈的需求。
现有的信息化***基本采用数据库***来进行数据持久化。
在满足长期持久性的要求下,多采用多副本,比如主从方式,或数据备份方式。基本上能够满足持久性要求。但数据一致性上则面临很大的问题,主要体现在:
难以防止和发现人为篡改数据。数据库一旦被黑客、或内部拥有读写权限的人恶意修改数据,则其中的数据就可能被修改或破坏。尽管数据库***也提供了安全审计和日志功能,由于数据库中的数据本身是可以删改的,因此安全审计和日志功能也是可能被Hack(增加、删除或者修改、优化)、关闭、或者删除数据的。
目前,数据库***无论是分布式还是集中式的,都存在***管理员。
如上所述,现有信息化***在数据持久性上多采用分布式+数据备份来实现持久化,如数据保存多个副本,并且多个副本要分布在不同的机器上,在机器故障引起某些副本失效时,其它副本仍然能提供服务,但与此对应的数据一致性检查存在的缺陷为:例如,即使在一致性检查的过程中,不仅需要检查导出数据备份是否更改还需要检查记录数据备份的哈希值(Hash值)是否更改并且是否与该数据备份对应,但是在无法避免同时修改数据备份和hash值的情况下,采用这样的方式进行数据一致性检查依然不可靠。
发明内容
本发明实施例的目的在于提供一种数据一致性检查方法、装置、设备和存储介质,在信息化***中以实现在保持数据持久化存储的基础上,保证数据的一致性,进而提高数据存储的可靠性。具体技术方案如下:
一种数据一致性检查的方法,应用于一致性检查侧的客户端或服务器,所述方法包括:
根据获取的目标备份文件的键值,从预设的存储***中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
根据获取的区块号和交易编号,从预设的目标区块链***中获取与所述区块号和所述交易编号均对应的目标备份文件的签名信息,记为第一签名;
根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
判断所述第一签名和所述第二签名是否一致;
若为一致,将目标备份文件标识为无篡改;
若为不一致,将目标备份文件标识为有篡改。
进一步地,在所述根据获取的键值,从预设的存储***中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值之前,所述的方法还包括:
读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,所述备份记录包括第一哈希值、键值、区块号和交易编号。
进一步地,所述根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名,包括:
基于第二哈希值和获取的键值通过哈希函数生成所述目标备份文件的签名信息,记为第二签名。
进一步地,所述预设的备份记录的生成过程包括:
指示预设的数据库按照预设周期生成目标备份文件,计算所述目标备份文件的第一哈希值;
将所述目标备份文件发送到所述预设的存储***中;
获取所述预设的存储***返回的目标备份文件的键值;
根据第一哈希值和键值,按照预设签名算法生成所述目标备份文件的签名信息,记为第一签名;
将所述第一签名作为一次交易的备注信息记录到预设的目标区块链***中,并获得所述预设的区块链***返回的所述备注信息位于的区块号和交易编号;
记录目标备份文件对应的所述第一哈希值、键值、区块号和交易编号,作为备份记录。
进一步地,所述预设签名算法为哈希算法。
进一步地,所述获取所述预设的存储***返回的目标备份文件的键值,包括:
将返回目标备份文件的键值请求发送到所述预设的存储***中;
接收所述预设的存储***返回的目标备份文件的键值。
一种数据一致性检查的方法,应用于数据存储侧的目标区块链***,所述方法包括:
接收客户端或服务器发送的第一签名请求,其中,所述第一签名请求用于客户端或服务器从所述目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息请求;
发送所述签名信息到客户端或服务器中。
进一步地,在所述接收客户端或服务器发送的第一签名请求之前,所述方法还包括:
获取备份记录生成程序的签名,作为第三签名,存储所述第三签名作为创建的第一目标交易的输入脚本;其中,一个目标交易对应一个目标备份文件,所述目标交易为第一目标交易或第二目标交易,所述第一目标交易为交易类型是普通交易对应的交易,所述普通交易为有前置交易的交易,所述第一目标交易包括输入脚本、输出脚本,所述第二目标交易为交易类型是特殊交易对应的交易,所述特殊交易为无前置交易的交易,所述第二目标交易包括输出脚本,所述输入脚本为获取的备份记录生成程序的签名,所述输出脚本包括该目标备份文件对应的OP_RETURN指令及其OP_RETURN的参数;
获取备注信息,存储所述备注信息作为创建的目标交易输出脚本OP_RETURN的参数,并返回所述备注信息位于的区块号和交易编号到所述客户端或服务器或所述服务器中,其中,所述备注信息为目标备份文件的签名信息。
进一步地,所述获取备注信息,存储所述备注信息作为创建的目标交易输出脚本OP_RETURN的参数,包括:
判断目标备份文件对应的创建的目标交易是否存在前置交易;
若存在,判定该目标备份文件为增量备份文件,获取备注信息,存储所述备注信息作为创建的第一目标交易的输出脚本OP_RETURN的参数;
若不存在,判定该目标备份文件为全量备份文件,获取备注信息,存储所述备注信息作为创建的第二目标交易的输出脚本OP_RETURN的参数。
一种数据一致性检查的装置,应用于一致性检查侧的客户端或服务器,所述装置包括:
第二哈希值获取模块,用于根据获取的目标备份文件的键值,从预设的存储***中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
第一签名获取模块,用于根据获取的区块号和交易编号,从预设的目标区块链***中获取与所述区块号和所述交易编号均对应的目标备份文件的签名信息,记为第一签名;
第二签名获取模块,用于根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
第一判断模块,用于判断所述第一签名和所述第二签名是否一致;若为一致,触发第一标识模块,若为不一致,触发第二标识模块;
所述第一标识模块,用于将目标备份文件标识为无篡改;
所述第二标识模块,用于将目标备份文件标识为有篡改。
进一步地,所述装置还包括:
获取模块,用于读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,所述备份记录包括第一哈希值、键值、区块号和交易编号。
进一步地,所述第二签名获取模块包括:
第二签名生成子模块,用于基于第二哈希值和获取的键值通过哈希函数生成所述目标备份文件的签名信息,记为第二签名。
进一步地,所述获取模块还包括:
第一哈希值获取子模块,用于指示预设的数据库按照预设周期生成目标备份文件,计算所述目标备份文件的第一哈希值;
第一发送子模块,用于将所述目标备份文件发送到所述预设的存储***中;
键值获取子模块,用于获取所述预设的存储***返回的目标备份文件的键值;
签名获取子模块,用于根据第一哈希值和键值,按照预设签名算法生成所述目标备份文件的签名信息,记为第一签名;
区块号和交易编码获取子模块,用于将所述第一签名作为一次交易的备注信息记录到预设的目标区块链***中,并获得所述预设的区块链***返回的所述备注信息位于的区块号和交易编号;
记录子模块,用于记录目标备份文件对应的所述第一哈希值、键值、区块号和交易编号,作为备份记录。
进一步地,所述预设签名算法为哈希算法。
进一步地,所述键值获取子模块包括:
第二发送单元,用于将返回目标备份文件的键值请求发送到所述预设的存储***中;
键值接收单元,用于接收所述预设的存储***返回的目标备份文件的键值。
一种数据一致性检查的装置,应用于数据存储侧的目标区块链***,所述装置包括:
请求接收模块,用于接收客户端或服务器发送的第一签名请求,其中,所述第一签名请求用于客户端或服务器从所述目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
第一发送模块,用于发送所述签名信息到客户端或服务器中。
进一步地,所述装置还包括:
第三签名获取模块,用于获取备份记录生成程序的签名,作为第三签名,存储所述第三签名作为创建的第一目标交易的输入脚本;其中,一个目标交易对应一个目标备份文件,所述目标交易为第一目标交易或第二目标交易,所述第一目标交易为交易类型是普通交易对应的交易,所述普通交易为有前置交易的交易,所述第一目标交易包括输入脚本、输出脚本,所述第二目标交易为交易类型是特殊交易对应的交易,所述特殊交易为无前置交易的交易,所述第二目标交易包括输出脚本,所述输入脚本为获取的备份记录生成程序的签名,所述输出脚本包括该目标备份文件对应的OP_RETURN指令及其OP_RETURN的参数;
第一签名存储模块,用于获取备注信息,存储所述备注信息作为创建的目标交易输出脚本OP_RETURN的参数,并返回所述备注信息位于的区块号和交易编号到所述客户端或服务器或所述服务器中,其中,所述备注信息为目标备份文件的签名信息。
进一步地,所述第一签名存储模块包括:
第二判断子模块,用于判断目标备份文件对应的创建的目标交易是否存在前置交易,若存在,触发第一提交子模块,若不存在,触发第二提交子模块;
所述第一签名提交子模块,用于判定该目标备份文件为增量备份文件,获取备注信息,存储所述备注信息作为创建的第一目标交易的输出脚本OP_RETURN的参数;
所述第二签名提交子模块,用于判定该目标备份文件为全量备份文件,获取备注信息,存储所述备注信息作为创建的第二目标交易的输出脚本OP_RETURN的参数。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:当其在计算机上运行时,使得计算机执行上述任一所述的一种数据一致性检查方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的一种数据一致性检查方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种数据一致性检查方法。
本发明实施例提供的一种数据一致性检查方法、装置、设备和存储介质,可以根据获取的目标备份文件的键值,从预设的存储***中读取所述键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值,根据获取的区块号和交易编号,从预设的目标区块链***中获取与所述区块号和所述交易编号均对应的目标备份文件的签名信息,根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;判断所述第一签名和所述第二签名是否一致;若为一致,将目标备份文件标识为无篡改;若为不一致,将目标备份文件标识为有篡改。本发明实施例提供的方案与现有技术相比,增加了利用具有的数据防篡改特点的区块链存储***对存储***中的目标备份文件的一致性进行检查的步骤,并在检查过程中将事先在区块链存储***中存储的目标备份文件对应的原始文件的签名即第一签名,与利用目标备份文件内容的第二哈希值与该目标备份文件的键值生成的第二签名进行比对,实现了在保持数据持久化存储的基础上,能够保证数据的一致性,进而提高了信息的安全性和可靠性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的第一种数据一致性检查的方法流程图;
图2为本发明实施例提供的第二种数据一致性检查的方法流程图;
图3为本发明实施例提供的第三种数据一致性检查的方法流程图;
图4为本发明实施例提供的第四种数据一致性检查的方法流程图;
图5为本发明实施例提供的第五种数据一致性检查的方法流程图;
图6为本发明实施例提供的第六种数据一致性检查的方法流程图;
图7为本发明实施例提供的第一种数据一致性检查的装置示意图;
图8为本发明实施例提供的第二种数据一致性检查的装置示意图;
图9为本发明实施例提供的一种电子设备示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例。需要说明的是,在下面的详细描述中,提出了许多具体细节,以便对本发明进行全面理解。但是,对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。
在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,在一些情况下,不详细示出或描述公知结构、单元或者操作步骤以避免模糊本发明的主要技术创意。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以改变连接关系,改变步骤顺序,或者相互进行不同的组合。下面将参考附图并结合实施例来详细说明本申请。
基于背景技术,现有的信息化***基本采用数据库***来进行数据持久化。主要的存储方式有分布式网络存储***、集中式存储***、磁带或光盘。
为了对区块链***更加清楚,现对区块链***进行如下详细的描述,具体为:
区块链***由一系列物理节点及其上运行的区块链软件程序所构成。节点之间有直接或间接的网络连接,采用P2P(peer-to-peer,点对点)方式通讯。整个区块链***,就是由一块接一块的区块组合而成一个巨大的存储空间,每一个区块都有其数据内容和数据指纹签名。
其中,区块链(block chain):是一种最早应用在比特币中的分布式记账技术。区块链可以用于数据存储,区别于集中式存储和一般的分布式存储技术,区块链的数据存储,需要多个分布式节点的同意才被识别为有效。这就避免了由于单一或少数节点有意或无意的错误,引起的数据错误。其次,区块链的存储的数据内容都有数据指纹签名,如采用SHA算法(Secure Hash Algorithm,安全哈希算法),根据目前现有技术的该数据指纹是无法伪造的,也就保证了数据的不可篡改性,即使篡改了也可以被发现。另外,记账者的身份采用数字签名即基于公钥-密钥机制,通过公钥使得使用者身份容易被识别,而且通过密钥使得使用者的行为不可抵赖。区块链作为比特币的基础技术,随着比特币近几年的发展已经得到了验证,开始在金融和支付领域蓬勃发展。
区块链也可以理解为是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
区块(block):是一个存储块,可以设想为一块硬盘。每一个区块都有其数据内容和数据指纹签名。下一块区块还会记录上一个区块的区块号和指纹签名,这样保证这个链条是完整的、一致的和不可伪造的。每个区块可以存储一定大小的任意内容,例如比特币的区块内存储的是一条条的“交易”。
需要说明的是,本发明实施例提供的区块链包括如下功能:
1)具备N个(N≥3,且为奇数)对等的节点。且任何一个机构或个人所管理和控制的节点数不超过全部节点数的1/2。节点通过网络互联,节点间通信采用P2P方式。
2)选取适合实际需求的平均区块生成期望时间T,以此决定节点获得新区块写入权的计算证明。并且,根据需要确定设定每个区块的大小(C),该值决定每个区块可容纳的数据量大小。例如,比特币区块链的T值为10分钟,C值为1MB。
3)节点对收到的有效数据,节点会将其按接收时的时间升序暂存在当前的区块中,当前区块位于内存中。当区块即将写满时,节点间会竞争当前区块的永久记账权,也就是写到磁盘中。这里规定:一旦有一半以上的节点接受了上一个区块,那么该区块视为生效,其内所有交易被确认。一个节点接受一个区块的条件是:该节点与自己记录的当前区块内的交易进行对比,认为该区块内的所有交易与自己记录一致、合法。而接受的表现是:该节点在接受的区块后,开始下一个区块。
4)为了确保本区块链***安全,只有信任的节点可以加入区块链***,为此要求节点间通信进行加密,并且使用数字签名身份认证机制,即所有节点以私钥对通信消息进行签名,接收方使用其公钥验证,非法的数据会被丢弃。
5)收到数据的每个节点,还要对该交易数据进行校验。如果发现一个交易的前置交易是虚假的,则节点可以拒绝记录该条数据。这与比特币区块链的机制是类似的。
图1为本发明实施例提供的第一种数据一致性检查的方法,应用于一致性检查侧的客户端或服务器,该方法包括:
S101,根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
其中,该存储***可以为分布式网络存储***、集中式存储***、区块链存储***、磁带或光盘,该区块链存储***包括区块链***和可移动介质,可移动介质可以为磁带或光盘。
该分布式网络存储***可以理解为将数据分散存储在多***立的设备上。传统的网络存储***采用集中的存储服务器存放所有数据,存储服务器成为***性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储***采用可扩展的***结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了***的可靠性、可用性和存取效率,还易于扩展。
基于上述对区块链***的描述,虽然可以将整体备份文件存储在区块链***中,但由于区块链不合适存储大体积的文件,因此针对大体积的文件而言,利用分布式网络存储***可以很好的解决数据持久性存储,由上述对存储***的描述可知,分布式网络存储***是一种较佳的存储方式。
该第二哈希值即hash值是根据文件的内容的数据通过逻辑运算得到的数值,不同的文件得到的hash值是不同的,若文件名相同,但文件内容不同,则获得的hash值也是不同的,相同的hash值的文件的内容是完全相同,同理,即使文件名不同,只要文件内容相同,获得的Hash值是相同的。
具体的,
根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,按照如下表达式计算目标备份文件的第二哈希值;
该表达式:hash′=HASH(file′);
其中,HASH(■)为哈希函数,hash′为第二哈希值,file′为预设的存储***存储的目标备份文件的内容。
在S101之前,还包括:
读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,该备份记录包括第一哈希值、键值、区块号和交易编号。
其中,该预设的备份记录可以是提前进行生成的备份记录,也可以实时生成的备份记录,该备份记录的生成过程一种实施方式为:
指示预设的数据库按照预设周期生成目标备份文件,计算该目标备份文件的第一哈希值;
将该目标备份文件发送到预设的存储***中;
获取预设的存储***返回的目标备份文件的键值;
根据第一哈希值和键值,按照预设签名算法生成该目标备份文件的签名信息,记为第一签名;
将该第一签名作为一次交易的备注信息记录到预设的目标区块链***中,并获得该预设的目标区块链***返回的该备注信息位于的区块号和交易编号;
记录目标备份文件对应的该第一哈希值、键值、区块号和交易编号,作为备份记录。
由上可知,该实施方式利用第一签名表征了原始数据文件的信息,并将第一签名存储在目标区块链***中,保证了第一签名的安全性和不可篡改性。
该备份记录的生成过程另一种实施方式为:
指示数据库按照预设周期生成目标备份文件,按照如下表达式计算该目标备份文件的第一哈希值;
该表达式:hash=HASH(file);
其中,HASH(■)为哈希函数,hash为第一哈希值,file为数据库生成目标备份文件的内容;
将该目标备份文件发送到预设的存储***中;
获取预设的存储***返回的目标备份文件的键值;
根据第一哈希值和键值,按照如下表达式生成该目标备份文件的签名信息,记为第一签名;
该表达式为:sign=HASH(hash,key);
其中,sign为第一签名,HASH(■)为哈希函数,hash为第一哈希值,key为键值;
将该第一签名作为一次交易的备注信息记录到预设的目标区块链***中,并获得该预设的目标区块链***返回的该备注信息位于的区块号和交易编号;
记录目标备份文件对应的该第一哈希值、键值、区块号和交易编号,作为备份记录。
由上可知,该实施方式利用第一哈希值和键值通过哈希函数生成了第一签名,保证了第一签名的唯一性和不可逆性,同时利用第一签名表征了原始数据文件的唯一代表信息,并将第一签名存储在目标区块链***中,保证了第一签名的安全和不可篡改性。
基于对备份记录的描述,获取目标备份文件的键值可以从该目标备份文件的备份记录中获得。
S102,根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
基于上述对目标备份文件的备份记录的描述,可以得知,区块号和交易编号可以从目标备份文件的备份记录进行读取获得。
该区块号和交易编号可以理解为该签名信息即第一签名可以从存储目标区块链***中获得,也就是说,目标区块链***中存储该目标备份文件对应的第一签名。
S103,根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
其中,该签名算法是指数字签名的算法;数字签名就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是通过一个单向函数,对要传送的信息进行处理得到的用以认证信息来源,并核实信息在传送过程中是否发生变化的一个字母数字串。目前应用最为广泛的三种签名算法是:Rabin(拉宾)签名、DSS(DigitalSignatureStandard,数字签名标准)签名、RSA签名和HASH签名。
Hash签名也叫哈希函数,对其作如下描述:首先对单向函数的概念进行描述,单向函数可以理解为计算起来相对容易,但求逆却非常困难的函数。也就是说,已知变量X,很容易计算函数f(X),但已知函数f(X),却难于计算出X。HASH(M)可以理解为是对一则任意长度的消息M进行处理,返回一个具有固定长度m的哈希值h,也就是说,对哈希函数中的任何变量进行哈希函数处理后,将会获得唯一的固定长度的字符串。
值得一提的是,基于上述对数字签名和Hash签名的描述可知,由签名算法获得的签名信息是唯一的。
具体的,
根据第二哈希值和获取的键值,按照如下表达式生成该目标备份文件的签名信息,记为第二签名;
该表达式为:sign′=HASH(hash′,key);
其中,sign′为第二签名,HASH(■)为哈希函数,hash′为第二哈希值,key为键值。
值得一提的是,上述HASH为可以采用MD5哈希函数或SHA-256哈希函数,其计算结果为一字符串,以SHA-256哈希函数为例子,任何一串数据输入到SHA-256哈希函数后,得到256位的hash值。也就是说,相同的数据输入将得到相同的结果,输入的数据即使相似,如其中一串数据的某一个数字不同,通过哈希函数算出的签名信息,将会得到不同的结果。
S104,判断该第一签名和该第二签名是否一致;若为一致,执行S105,若为不一致,执行S106;
值得一提的是,由上述对生成的签名信息描述,可以得知,仅有相同数据输入到哈希函数中,才会获得相同的结果,也就是说,只有每次输入的hash值和键值key均完全相同,才能通过哈希函数,得到相同的签名信息。因此,将第一签名与第二签名进行比较判断,能够辨别目标备份文件是否被篡改。
S105,将目标备份文件标识为无篡改;
基于上述对生成的签名信息和hash值的描述,可以得知,若两个文件的hash值相同,必须两个文件的内容完全相同,才可以生成相同的hash值,另外,只有输入相同的hash值和键值key,才能获得相同的签名。也就是说,若第一签名和第二签名一致,又因第一签名和第二签名使用同一个键值进行生成的,则表示生成第一签名对应的第一哈希值和生成第二签名对应的第二哈希值是相同的,因此,计算获得的第一哈希值和第二哈希值所利用的目标备份文件内容是完全相同的也就是说,目标备份文件无篡改。
S106,将目标备份文件标识为有篡改。
基于上述对生成的签名信息和hash值的描述,可以得知,若第一签名和第二签名不一致,又因第一签名和第二签名使用同一个键值进行生成的,则表示生成第一签名对应的第一哈希值和生成第二签名对应的第二哈希值是不相同的,因此,计算获得的第一哈希值和第二哈希值所利用的目标备份文件内容是不相同的,也就是说,目标备份文件已被篡改。
在S106之后,可以根据获取的目标备份文件的键值,从其他存储目标备份文件的存储介质或***中读取目标备份文件的内容,计算目标备份文件的第二哈希值,继续执行S102~S106的步骤。
需要说明的是,由于分布式网络存储***的不同特性和安全机制,可以使目标备份文件同时损坏和篡改的概率降低。
值得一提的是,利用本发明提供的实施例可以首先获取从最新获取的一个全量备份文件以及后续获取的每一个增量备份文件的备份记录,若要检验全量备份文件和每个增量备份文件是否被篡改,将全量备份文件和每个增量备份文件均对应的作为一个目标备份文件,每个目标备份文件均执行S101~S106的步骤,便可获知哪个增量备份文件或全量备份文件被篡改。
针对现有技术中,常用的几种保存数据方式如下:
(1)磁带或光盘导出备份的方式;
单独的利用磁带或光盘将备份进行导出,并不能避免数据被篡改后重新导出数据的可能性,利用本发明实施例提供的方法由于每个节点都完整拥有全部历史数据,因此利用区块链的分布式存储技术实现数据的可靠持久化,可以将磁盘或光盘导出的备份内容通过本发明实施例提供的方法进行验证,以保证导出备份数据的一致性。
(2)导出数据备份,且记录数据备份的签名值即Hash值的方式;
该方式可能存在对修改数据备份进行篡改,在对篡改后的备份文件进行签名计算,获得hash值,因此该方式无法避免同时修改数据备份和hash值的行为,该方式也不能保证数据的一致性。
本发明实施例提供的方法,由于原始数据文件的hash值均存在区块链中,可以利用区块链的区块前后级联、区块内数据层层签名的机制,以及区块只能追加不能修改的机制,保证了原始数据文件的hash能永久存在且不被篡改。
(3)添加的数据操作日志和安全审计的方式;
该方式仅针对一般的初级攻击有效,对于利用漏洞破解***、或具有最高管理权限的攻击无效。
本发明实施提供的方法是将原始数据文件的hash值存储在区块链中,利用区块链的多数原则,提高破解难度,使得单一或者少数节点被破解或有恶意时,其数据修改不被接纳,该多数原则即为上述规定。
(4)分布式存储***的分布式主从架构方式;
该方式的存储方式存在的缺陷是一旦主库被修改,从库的数据也会被修改。
本发明实施例提供的方法是将原始数据文件的hash值存储在区块链中,利用区块链的公钥身份验证机制,记录每一数据写入的操作者,利用区块内容生成的顺序性和自带时间戳技术,准确记录数据生成时间,使其无法篡改。
综上所述,现有的存储方式,即采用多副本方式,或数据备份方式,基本上能够满足持久性要求,但数据一致性上则面临很大的问题,而利用本发明实施提供的方法进行对数据的保存时,数据的生成时间、操作人、数据内容均无法被篡改,即使被篡改后,也能够发现,而且又能长期保存,因此能够解决信息化***对于数据持久化和一致性检查的要求。
由此可知,本发明实施例提供的方法利用获取的目标备份文件的内容,计算第二哈希值,根据第二哈希值和获取的键值,获得第二签名;判断从目标区块链***获取的第一签名和该第二签名是否一致,以在信息化***中以实现在保持数据持久化存储的基础上,保证了数据的一致性,进而提高了客户端或服务器获得的签名信息的安全性和可靠性。
图2为本发明实施例提供的第二种数据一致性检查的方法,应用于目标区块链***,该方法包括:
S201,接收客户端或服务器发送的第一签名请求,其中,该第一签名请求用于客户端或服务器从该目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
需要说明的是,第一签名即备注信息在目标区块链中唯一对应一个交易编号和一个区块号,也就是说,只有区块号和交易编码均确定了,才能获取该备注信息。
在S201之前,还包括:
获取备份记录生成程序的签名,作为第三签名,存储该第三签名作为创建的第一目标交易的输入脚本;其中,一个目标交易对应一个目标备份文件,该目标交易为第一目标交易或第二目标交易,该第一目标交易为交易类型是普通交易对应的交易,该普通交易为有前置交易的交易,该第一目标交易包括输入脚本、输出脚本,该第二目标交易为交易类型是特殊交易对应的交易,该特殊交易为无前置交易的交易,该第二目标交易包括输出脚本,该输入脚本为获取的备份记录生成程序的签名,该输出脚本包括该目标备份文件对应的OP_RETURN指令及其OP_RETURN的参数;
获取备注信息,存储该备注信息作为创建的目标交易输出脚本OP_RETURN的参数,并返回该备注信息位于的区块号和交易编号到客户端或服务器中,其中,该备注信息为目标备份文件的签名信息。
需要说明的是,OP_RETURN指令包含在输出脚本中,可以携带一个参数,该参数即为第一签名,通过目标区块链***存储该交易的输出脚本,使得第一签名被存储在区块链中。
本步骤的一种实施方式为:
判断目标备份文件对应的创建的目标交易是否存在前置交易;
需要说明的是,每一次全量备份文件对应的交易类型为一个特殊交易,也就是说,全量备份文件对应的目标交易中均无前置交易。
现对全量备份文件和增量备份文件进行如下描述:
全量备份文件可以理解为数据库***导出的一个文件,包含数据库中所有数据,因为若数据库***导出为多个文件,可以采用对多个文件进行打包的方式,使其等价为“一”个文件,因此,全量备份文件可以理解为一个文件。
增量备份文件可以理解为数据库***导出的一个文件,包含自指定的数据库快照版本(或时间戳)以后的所有发生变化的数据,另外,此中的“一”个文件也可以为导出的多个文件进行打包后的获得的文件,增量备份文件的优点是速度快、体积小。缺点是需要依次与之前导出的基准目标全量备份、目标增量备份一起,数据库***才能够恢复数据库中的所有数据。
在日常生活中,多采用全量备份和增量备份相结合的方式,现举一示例进行描述,示例:如每个月定期做一次全量备份文件,然后两个定期间的其他时间可以按日做增量备份文件。在任何时刻数据库由于出问题导致数据丢失或损坏,均可通过已有的最近一次全量备份文件和最近一次全量备份文件后的所有增量备份文件对整个数据进行恢复,有可能会损失尚未进行增量备份的数据,为了使损失达到最小,如果把增量备份的时间间隔调小,如小时级别,则数据损失则可控制在1小时内。
若存在,判定该目标备份文件为增量备份文件,获取备注信息,存储该备注信息作为创建的第一目标交易的输出脚本OP_RETURN的参数;
若不存在,判定该目标备份文件为全量备份文件,获取备注信息,存储该备注信息作为创建的第二目标交易的输出脚本OP_RETURN的参数。
该实施方式通过判定该目标备份文件为全量备份文件或增备份文件,将第一签名永久的保存在目标区块链***中,防止第一签名被篡改,为验证数据的一致性作准备。
S202,发送该签名信息到客户端或服务器中。
需要说明的是,在接收到上述请求后,将该第一签名请求发送到客户端或服务器。
由此可知,本发明实施例提供的方法将与区块号和交易编号均对应的目标备份文件的签名信息发送到客户端或服务器,防止了存储的签名信息被篡改,进而提高了客户端或服务器获得的签名信息的安全性和可靠性。
图3为本发明实施例提供的第三种数据一致性检查的方法,应用于一致性检查侧的客户端或服务器,该方法包括:
S301,读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,该备份记录包括第一哈希值、键值、区块号和交易编号;
S302,根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
其中,S302~S307分别与图1实施例中的S101~S106执行的方法相同。因此,图1中的所有实施例均适用于图3,且均能达到相同或相似的有益效果,在此不再赘述。
S303,根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
S304,根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
S305,判断该第一签名和该第二签名是否一致;若为一致,执行S306,若为不一致,执行S307;
S306,将目标备份文件标识为无篡改;
S307,将目标备份文件标识为有篡改。
由此可知,本发明实施例提供的方法通过目标备份文件的备份记录,获得了目标备份文件的内容,计算了第二哈希值,根据第二哈希值和获取的键值,获得了第二签名;利用第二区块链存储第一签名,判断获取的第一签名和该第二签名是否一致,以实现在保持数据持久化存储的基础上,利用签名算法的不可篡改性,保证数据的一致性,进而提高数据存储的可靠性。
图4为本发明实施例提供的第四种数据一致性检查的方法,应用于一致性检查侧的客户端或服务器,该方法包括:
S401,指示预设的数据库按照预设周期生成目标备份文件,计算该目标备份文件的第一哈希值;
其中,上述预设周期可以理解为在事先设计的固定时间段,上述按照预设周期生成目标备份文件可以理解为在固定的时间内从数据库***导出一份目标备份文件。
另外,上述数据库包括Oracle数据库、SQL Server数据库或Mysql数据库,该数据库可以理解为数据的原数据库,也就是存储原数据的数据库。
值得一提的是,S401~S406为实时获得备份记录。
S402,将该目标备份文件发送到预设的存储***中;
基于上述的描述,获取目标备份文件后需要将备份文件存储在预设的存储***,以达到原数据能够持久性被保存的目的。
S403,获取预设的存储***返回的目标备份文件的键值;
本步骤获取键值的一种实施方式可以为:将返回目标备份文件的键值请求发送到预设的存储***中;
接收预设的存储***返回的目标备份文件的键值。
该实施方式通过向预设的存储***中发送请求,从而根据请求获得键值,使得客户端或服务器与预设的存储***进行了交互式响应,获得客户端或服务器所需要的键值。
另一种实施方式可以为:预设的存储***在接收到目标备份文件存储后,将目标备份文件对应的键值返回。
该实施方式无需客户端或服务器发送返回键值的请求,只要预设的存储***接收到目标备份后,都会发送该目标备份文件对应的键值到客户端或服务器,简化了客户端或服务器的复杂度。
值得一提的是,利用该键值,后续可以重复稳定的从该存储***中读取所存储的目标备份文件。
S404,根据第一哈希值和键值,按照预设签名算法生成该目标备份文件的签名信息,记为第一签名;
基于上述的对签名算法的描述,可以知道,签名算法保证了获得签名信息的唯一性,也就是说,第一签名是用于表征原始数据的信息。
S405,将该第一签名作为一次交易的备注信息记录到预设的目标区块链***中,并获得预设的区块链***返回的该备注信息位于的区块号和交易编号;
其中,上述交易可以理解为每个区块链***的节点收到的需要存储的一条数据,也就是说,一次备份文件就视为一次交易。
由上述描述可知,第一签名是存储在目标区块链***中,也就是说,目标区块链***中存储表征原始数据的第一签名。
S406,记录目标备份文件对应的该第一哈希值、该键值、该区块号和该交易编号,作为备份记录;
本步骤将目标备份文件的第一哈希值、该键值、该区块号和该交易编号保存下来,以便后续验证存储***中的目标备份文件时使用
S407,读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,该备份记录包括第一哈希值、键值、区块号和交易编号;
另外,S407~S413分别与图3实施例中的S301~S307执行的方法相同。因此,图3中的所有实施例均适用于图4,且均能达到相同或相似的有益效果,在此不再赘述。
S408,根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
由上述对键值的描述可知,目标备份文件均对应一个键值,根据键值,便可获得存储在存储***对应的目标备份文件。
S409,根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
S410,根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
S411,判断该第一签名和该第二签名是否一致;若为一致,执行S412,若为不一致,执行S413;
由上对第一签名的描述,可知,第一签名是用于表征原始数据文件的信息,第二签名是用于表征存储***存储原始数据文件对应的备份文件,利用第一签名与第二签名进行匹配,可以得到第二签名对应的目标备份文件是否被篡改。
S412,将目标备份文件标识为无篡改;
S413,将目标备份文件标识为有篡改。
由此可知,本发明实施例提供的方法通过利用第二区块链存储的第一签名与生成的第二签名进行匹配,以实现在保持数据持久化存储的基础上,利用签名的不可篡改性验证数据的一致性,以保证备份数据的不可篡改性,而且,该方案并不必需要信息化***整体使用或迁移到区块链存储***,仅需要利用现有数据库即预设的存储***的备份技术,将备份文件的签名相关信息存储到区块链,该方案不仅可靠性高,而且具有经济、实施快速的优点。
图5为本发明实施例提供的第五种数据一致性检查的方法,应用于一致性检查侧的客户端或服务器,该方法包括:
S501,指示数据库按照预设周期生成目标备份文件,按照如下表达式计算该目标备份文件的第一哈希值;
该表达式:hash=HASH(file);
其中,HASH(■)为哈希函数,hash为第一哈希值,file为数据库生成目标备份文件的内容。
本步骤的第一哈希值是由原始数据文件内容生成的唯一字符串,用于表征原始数据的信息,从而增加了原始数据文件的安全性。
本步骤获得的哈希值具有唯一性,可以用于防止目标备份文件被篡改。
S502,将该目标备份文件发送到预设的存储***中;
本步骤,当将该目标备份文件发送到预设的存储***中时,会产生一个键值,
S503,将返回目标备份文件的键值请求发送到预设的存储***中;
在本步骤中,若要获取所需键值,需发键值请求到预设的存储***中,以使预设的存储***发送该键值请求对应的返回目标备份文件的键值。
S504,接收预设的存储***返回的目标备份文件的键值;
S505,根据第一哈希值和键值,按照如下表达式生成该目标备份文件的签名信息,记为第一签名;
该表达式为:sign=HASH(hash,key);
其中,sign为第一签名,HASH(■)为哈希函数,hash为第一哈希值,key为键值;
S506,将该第一签名作为一次交易的备注信息记录到预设的目标区块链***中,并获得该预设的区块链***返回的该备注信息位于的区块号和交易编号;
其中,S506~S514分别与图4实施例中的S405~S413执行的方法相同。因此,图4中的所有实施例均适用于图5,且均能达到相同或相似的有益效果,在此不再赘述。
S507,记录目标备份文件对应的该第一哈希值、该键值、该区块号和该交易编号,作为备份记录;
S508,读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,该备份记录包括第一哈希值、键值、区块号和交易编号;
S509,根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,按照如下表达式计算目标备份文件的第二哈希值;
该表达式:hash′=HASH(file′);
其中,HASH(■)为哈希函数,hash′为第二哈希值,file′为预设的存储***存储的目标备份文件的内容。
S510,根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
S511,根据第二哈希值和获取的键值,按照如下表达式生成该目标备份文件的签名信息,记为第二签名;
该表达式为:sign′=HASH(hash′,key);
其中,sign′为第二签名,HASH(·)为哈希函数,hash′为第二哈希值,key为目标备份文件的键值;
S512,判断该第一签名和该第二签名是否一致;若为一致,执行S513,若为不一致,执行S514;
S513,将目标备份文件标识为无篡改;
S514,将目标备份文件标识为有篡改。
由此可知,本发明实施例提供的方法通过根据第二区块链存储的利用哈希函数生成的第一签名与利用哈希函数生成的第二签名进行匹配,以实现在保持数据持久化存储的基础上,利用哈希函数生成的签名的不可篡改性保证备份数据的不可篡改性,进而保证原始数据和备份数据的一致性,而且,该方案并不必需要信息化***整体使用或迁移到区块链存储***,仅需要利用现有数据库即预设的存储***的备份技术,将备份文件的签名相关信息存储到区块链,该方案不仅可靠性高,而且具有经济、实施快速的优点。
图6为本发明实施例提供的第一种数据一致性检查的方法,应用于数据存储侧的目标区块链***,该方法包括:
S601,获取备份记录生成程序的签名,作为第三签名,存储该第三签名作为创建的第一目标交易的输入脚本;其中,一个目标交易对应一个目标备份文件,该目标交易为第一目标交易或第二目标交易,该第一目标交易为交易类型是普通交易对应的交易,该普通交易为有前置交易的交易,该第一目标交易包括输入脚本、输出脚本,该第二目标交易为交易类型是特殊交易对应的交易,该特殊交易为无前置交易的交易,该第二目标交易包括输出脚本,该输入脚本为获取的备份记录生成程序的签名,该输出脚本包括该目标备份文件对应的OP_RETURN指令及其OP_RETURN的参数;
S602,判断目标备份文件对应的创建的目标交易是否存在前置交易;若存在,执行S603,若不存在,执行S604;
值得一提的是,可以根据生成全量备份文件或增量备份文件的周期和时间,确定交易类型,因为一个全量备份文件对应一个生成第一周期和生成第一时间,一个增量备份文件对应一个生成第二周期和生成第二时间,根据第一周期、第二周期、第一时间和第二时间,可以很容易的辨别该交易的交易类型。
另外,一个完整的备份序列为:T0日备份的全量备份文件、第一个T1日备份的增量备份文件、第二个T1日备份的增量备份文件、……、第N个T1日备份的增量备份文件,T0为第二周期,T1为第一周期,N为第一周期个数。
该完整的备份序列对应目标区块链***交易序列为:T0日交易的特殊交易、第一个T1日交易的普通交易、第二个T1日交易的普通交易、……、第N个T1日交易的普通交易,其中,T0日交易的特殊交易未有前置交易,因此也未有输入脚本,第一个T1日交易的前置交易为特殊交易,该交易对应的输入脚本用于解锁特殊交易,该交易对应的输出脚本包括该增量备份文件的OP_RETURN指令及其OP_RETURN的参数,第二个T1日交易的前置交易为普通交易,该交易对应的输入脚本用于解锁第一个T1日对应的普通交易,该交易对应的输出脚本包括该增量备份文件的OP_RETURN指令及其OP_RETURN的参数。
S603,判定该目标备份文件为增量备份文件,获取备注信息,存储该备注信息作为创建的第一目标交易的输出脚本OP_RETURN的参数;
基于上述对交易类型的描述,由于增量备份文件具有前置交易,因此根据上一周期对应的目标交易的输入脚本,获取该交易的前置交易,判定该交易是增量备份文件对应的交易。
S604,判定该目标备份文件为全量备份文件,获取备注信息,存储该备注信息作为创建的第二目标交易的输出脚本OP_RETURN的参数;
基于上述的描述可知,由于全量备份文件无前置交易,因此根据该目标交易无前置交易,判定该交易是增量备份文件。
S605,接收客户端或服务器发送的第一签名请求,其中,该第一签名请求用于客户端或服务器从该目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
其中,S605~S606分别与图2实施例中的S201~S202执行的方法相同。因此,图2中的所有实施例均适用于图6,且均能达到相同或相似的有益效果,在此不再赘述。
S606,发送该签名信息到客户端或服务器中。
由此可知,本发明实施例提供的方法通过创建目标交易,针对目标备份文件是全量备份文件或增量备份文件,将该目标备份文件对应的第一签名和第三签名永久的保存在目标区块链***中,防止第一签名和第三签名被篡改,进而提高了客户端或服务器获得的签名信息的安全性和可靠性。
与上述数据一致性检查方法相对应,本申请实施例还提供了数据一致性检查的装置。
图7为本发明实施例提供的第一种数据一致性检查的装置,应用于一致性检查侧的客户端或服务器,该装置包括:
第二哈希值获取模块701,用于根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
第一签名获取模块702,用于根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
第二签名获取模块703,用于根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
第一判断模块704,用于判断该第一签名和该第二签名是否一致;若为一致,触发第一标识模块,若为不一致,触发第二标识模块;
该第一标识模块705,用于将目标备份文件标识为无篡改;
该第二标识模块706,用于将目标备份文件标识为有篡改。
其中,该装置还包括:
获取模块,用于读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,该备份记录包括第一哈希值、键值、区块号和交易编号。
该第二签名获取模块703包括:
第二签名生成子模块,用于基于第二哈希值和获取的键值通过哈希函数生成所述目标备份文件的签名信息,记为第二签名
该获取模块还包括:
第一哈希值获取子模块,用于指示预设的数据库按照预设周期生成目标备份文件,计算该目标备份文件的第一哈希值;
第一发送子模块,用于将该目标备份文件发送到预设的存储***中;
键值获取子模块,用于获取预设的存储***返回的目标备份文件的键值;
签名获取子模块,用于根据第一哈希值和键值,按照预设签名算法生成该目标备份文件的签名信息,记为第一签名;
区块号和交易编码获取子模块,用于将该第一签名作为一次交易的备注信息记录到预设的目标区块链***中,并获得该预设的区块链***返回的该备注信息位于的区块号和交易编号;
记录子模块,用于记录目标备份文件对应的该第一哈希值、键值、区块号和交易编号,作为备份记录。
其中,上述模块中的预设签名算法可以为哈希算法。
该键值获取子模块包括:
第二发送单元,用于将返回目标备份文件的键值请求发送到预设的存储***中;
键值接收单元,用于接收预设的存储***返回的目标备份文件的键值。
图8为本发明实施例提供的第二种数据一致性检查的装置,应用于数据存储侧的目标区块链***,该装置包括:
请求接收模块801,用于接收客户端或服务器发送的第一签名请求,其中,该第一签名请求用于客户端或服务器从该目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
第三发送模块802,用于发送该签名信息到客户端或服务器中。
其中,该装置还包括:
第三签名获取模块,用于获取备份记录生成程序的签名,作为第三签名,存储该第三签名作为创建的第一目标交易的输入脚本;其中,一个目标交易对应一个目标备份文件,该目标交易为第一目标交易或第二目标交易,该第一目标交易为交易类型是普通交易对应的交易,该普通交易为有前置交易的交易,该第一目标交易包括输入脚本、输出脚本,该第二目标交易为交易类型是特殊交易对应的交易,该特殊交易为无前置交易的交易,该第二目标交易包括输出脚本,该输入脚本为获取的备份记录生成程序的签名,该输出脚本包括该目标备份文件对应的OP_RETURN指令及其OP_RETURN的参数;
第一签名存储模块,用于获取备注信息,存储该备注信息作为创建的目标交易输出脚本OP_RETURN的参数,并返回该备注信息位于的区块号和交易编号到客户端或服务器中,其中,该备注信息为目标备份文件的签名信息。
其中,该第一签名存储模块包括:
第二判断子模块,用于判断目标备份文件对应的创建的目标交易是否存在前置交易,若存在,触发第一提交子模块,若不存在,触发第二提交子模块;
该第一签名提交子模块,用于判定该目标备份文件为增量备份文件,获取备注信息,存储该备注信息作为创建的第一目标交易的输出脚本OP_RETURN的参数;
该第二签名提交子模块,用于判定该目标备份文件为全量备份文件,获取备注信息,存储该备注信息作为创建的第二目标交易的输出脚本OP_RETURN的参数。
由此可知,本发明实施例提供的方法将与区块号和交易编号均对应的目标备份文件的签名信息发送到客户端或服务器,防止了存储的签名信息被篡改,进而提高了客户端或服务器获得的签名信息的安全性和可靠性。
本发明实施例还提供了一种电子设备,包括处理器和机器可读存储介质,该机器可读存储介质存储有能够被该处理器执行的机器可执行指令,该处理器被该机器可执行指令促使:当其在计算机上运行时,使得计算机执行时实现本发明实施例提供的两种数据一致性检查的方法。
具体的,第一种数据一致性检查的方法,包括:
根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
判断该第一签名和该第二签名是否一致;
若为一致,将目标备份文件标识为无篡改;
若为不一致,将目标备份文件标识为有篡改。
由此可见,执行本实施例提供的电子设备,通过利用获取的目标备份文件的内容,计算第二哈希值,根据第二哈希值和获取的键值,获得第二签名;判断从目标区块链***获取的第一签名和该第二签名是否一致,以在信息化***中以实现在保持数据持久化存储的基础上,能够保证数据的一致性,进而提高了信息的安全性和可靠性。
上述的相关内容数据一致性检查方法的实施方式与前述方法实施例部分提供的数据一致性检查方式相同,这里不再赘述。
第二种数据一致性检查的方法,包括:
接收客户端或服务器发送的第一签名请求,其中,该第一签名请求用于客户端或服务器从该目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
发送该签名信息到客户端或服务器中。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由此可知,执行本实施例提供的电子设备,通过将与区块号和交易编号均对应的目标备份文件的签名信息发送到客户端或服务器,防止了存储的签名信息被篡改,进而提高了客户端或服务器获得的签名信息的安全性和可靠性。
上述的相关内容数据一致性检查方法的实施方式与前述方法实施例部分提供的数据一致性检查方式相同,这里不再赘述。
在本发明提供的又一实施例中,还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,使得计算机执行时实现本发明实施例提供的两种数据一致性检查的方法。
具体的,第一种数据一致性检查的方法,包括:
根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
判断该第一签名和该第二签名是否一致;
若为一致,将目标备份文件标识为无篡改;
若为不一致,将目标备份文件标识为有篡改。
由此可见,执行本实施例提供的电子设备,通过利用获取的目标备份文件的内容,计算第二哈希值,根据第二哈希值和获取的键值,获得第二签名;判断从目标区块链***获取的第一签名和该第二签名是否一致,以在信息化***中以实现在保持数据持久化存储的基础上,能够保证数据的一致性,进而提高了信息的安全性和可靠性。
上述的相关内容数据一致性检查方法的实施方式与前述方法实施例部分提供的数据一致性检查方式相同,这里不再赘述。
第二种数据一致性检查的方法,包括:
接收客户端或服务器发送的第一签名请求,其中,该第一签名请求用于客户端或服务器从该目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
发送该签名信息到客户端或服务器中。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供的方法可以应用于电子设备。具体的,该电子设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。
由此可知,执行本实施例提供的电子设备,通过将与区块号和交易编号均对应的目标备份文件的签名信息发送到客户端或服务器,防止了存储的签名信息被篡改,进而提高了客户端或服务器获得的签名信息的安全性和可靠性。
上述的相关内容数据一致性检查方法的实施方式与前述方法实施例部分提供的数据一致性检查方式相同,这里不再赘述。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中两种数据一致性检查的方法。
具体的,上述一种基于播放视图的实体标识指示方法,包括:
具体的,第一种数据一致性检查的方法,包括:
根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
判断该第一签名和该第二签名是否一致;
若为一致,将目标备份文件标识为无篡改;
若为不一致,将目标备份文件标识为有篡改。
由此可见,执行本实施例提供的计算机可读存储介质中存储的应用程序时,通过利用获取的目标备份文件的内容,计算第二哈希值,根据第二哈希值和获取的键值,获得第二签名;判断从目标区块链***获取的第一签名和该第二签名是否一致,以在信息化***中以实现在保持数据持久化存储的基础上,能够保证数据的一致性,进而提高了信息的安全性和可靠性。
上述的相关内容数据一致性检查方法的实施方式与前述方法实施例部分提供的数据一致性检查方式相同,这里不再赘述。
第二种数据一致性检查的方法,包括:
接收客户端或服务器发送的第一签名请求,其中,该第一签名请求用于客户端或服务器从该目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
发送该签名信息到客户端或服务器中。
由此可知,执行本实施例提供的计算机可读存储介质中存储的应用程序时,通过将与区块号和交易编号均对应的目标备份文件的签名信息发送到客户端或服务器,防止了存储的签名信息被篡改,进而提高了客户端或服务器获得的签名信息的安全性和可靠性。
上述的相关内容数据一致性检查方法的实施方式与前述方法实施例部分提供的数据一致性检查方式相同,这里不再赘述。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中两种数据一致性检查的方法。
具体的,第一种数据一致性检查的方法,包括:
根据获取的目标备份文件的键值,从预设的存储***中读取该键值对应的目标备份文件的内容,并计算目标备份文件的第二哈希值;
根据获取的区块号和交易编号,从预设的目标区块链***中获取与该区块号和该交易编号均对应的目标备份文件的签名信息,记为第一签名;
根据第二哈希值和获取的键值,按照预设签名算法生成目标备份文件的签名信息,记为第二签名;
判断该第一签名和该第二签名是否一致;
若为一致,将目标备份文件标识为无篡改;
若为不一致,将目标备份文件标识为有篡改。
由此可见,执行本实施例提供的计算机程序产品时,通过利用获取的目标备份文件的内容,计算第二哈希值,根据第二哈希值和获取的键值,获得第二签名;判断从目标区块链***获取的第一签名和该第二签名是否一致,以在信息化***中以实现在保持数据持久化存储的基础上,能够保证数据的一致性,进而提高了信息的安全性和可靠性。
上述的相关内容数据一致性检查方法的实施方式与前述方法实施例部分提供的数据一致性检查方式相同,这里不再赘述。
第二种数据一致性检查的方法,包括:
接收客户端或服务器发送的第一签名请求,其中,该第一签名请求用于客户端或服务器从该目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
发送该签名信息到客户端或服务器中。
由此可知,执行本实施例提供的计算机程序产品时,通过将与区块号和交易编号均对应的目标备份文件的签名信息发送到客户端或服务器,防止了存储的签名信息被篡改,进而提高了客户端或服务器获得的签名信息的安全性和可靠性。
上述的相关内容数据一致性检查方法的实施方式与前述方法实施例部分提供的数据一致性检查方式相同,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本发明实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质或计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (22)
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.如权利要求10所述的装置,其特征在于,所述装置还包括:
获取模块,用于读取目标备份文件的预设的备份记录,获取目标备份文件的第一哈希值、键值、区块号和交易编号,其中,所述备份记录包括第一哈希值、键值、区块号和交易编号。
12.如权利要求10所述的装置,其特征在于,所述第二签名获取模块包括:
第二签名生成子模块,用于基于第二哈希值和获取的键值通过哈希函数生成所述目标备份文件的签名信息,记为第二签名。
13.如权利要求11所述的装置,其特征在于,所述获取模块还包括:
第一哈希值获取子模块,用于指示预设的数据库按照预设周期生成目标备份文件,计算所述目标备份文件的第一哈希值;
第一发送子模块,用于将所述目标备份文件发送到所述预设的存储***中;
键值获取子模块,用于获取所述预设的存储***返回的目标备份文件的键值;
签名获取子模块,用于根据第一哈希值和键值,按照预设签名算法生成所述目标备份文件的签名信息,记为第一签名;
区块号和交易编码获取子模块,用于将所述第一签名作为一次交易的备注信息记录到预设的目标区块链***中,并获得所述预设的区块链***返回的所述备注信息位于的区块号和交易编号;
记录子模块,用于记录目标备份文件对应的所述第一哈希值、键值、区块号和交易编号,作为备份记录。
14.如权利要求10或13所述的装置,其特征在于,所述预设签名算法为哈希算法。
15.如权利要求13所述的装置,其特征在于,所述键值获取子模块包括:
第二发送单元,用于将返回目标备份文件的键值请求发送到所述预设的存储***中;
键值接收单元,用于接收所述预设的存储***返回的目标备份文件的键值。
16.一种数据一致性检查的装置,其特征在于,应用于数据存储侧的目标区块链***,所述装置包括:
请求接收模块,用于接收客户端或服务器发送的第一签名请求,其中,所述第一签名请求用于客户端或服务器从所述目标区块链***请求与区块号和交易编号均对应的目标备份文件的签名信息;
第一发送模块,用于发送所述签名信息到客户端或服务器中。
17.如权利要求16所述的装置,其特征在于,所述装置还包括:
第三签名获取模块,用于获取备份记录生成程序的签名,作为第三签名,存储所述第三签名作为创建的第一目标交易的输入脚本;其中,一个目标交易对应一个目标备份文件,所述目标交易为第一目标交易或第二目标交易,所述第一目标交易为交易类型是普通交易对应的交易,所述普通交易为有前置交易的交易,所述第一目标交易包括输入脚本、输出脚本,所述第二目标交易为交易类型是特殊交易对应的交易,所述特殊交易为无前置交易的交易,所述第二目标交易包括输出脚本,所述输入脚本为获取的备份记录生成程序的签名,所述输出脚本包括该目标备份文件对应的OP_RETURN指令及其OP_RETURN的参数;
第一签名存储模块,用于获取备注信息,存储所述备注信息作为创建的目标交易输出脚本OP_RETURN的参数,并返回所述备注信息位于的区块号和交易编号到所述客户端或服务器或所述服务器中,其中,所述备注信息为目标备份文件的签名信息。
18.如权利要求17所述的装置,其特征在于,所述第一签名存储模块包括:
第二判断子模块,用于判断目标备份文件对应的创建的目标交易是否存在前置交易,若存在,触发第一提交子模块,若不存在,触发第二提交子模块;
所述第一签名提交子模块,用于判定该目标备份文件为增量备份文件,获取备注信息,存储所述备注信息作为创建的第一目标交易的输出脚本OP_RETURN的参数;
所述第二签名提交子模块,用于判定该目标备份文件为全量备份文件,获取备注信息,存储所述备注信息作为创建的第二目标交易的输出脚本OP_RETURN的参数。
19.一种电子设备,其特征在于,本发明实施例还提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1~6任一所述的方法步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~6任一所述的方法步骤。
21.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求7~9任一所述的方法步骤。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7~9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711424941.8A CN108573016A (zh) | 2017-12-25 | 2017-12-25 | 一种数据一致性检查方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711424941.8A CN108573016A (zh) | 2017-12-25 | 2017-12-25 | 一种数据一致性检查方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108573016A true CN108573016A (zh) | 2018-09-25 |
Family
ID=63575940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711424941.8A Pending CN108573016A (zh) | 2017-12-25 | 2017-12-25 | 一种数据一致性检查方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108573016A (zh) |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088736A (zh) * | 2018-09-25 | 2018-12-25 | 平安科技(深圳)有限公司 | 一种基于数字签名的数据通信方法、***及装置 |
CN109255251A (zh) * | 2018-10-31 | 2019-01-22 | 安徽中科智链信息科技有限公司 | 基于区块链技术的档案数据保护***及方法 |
CN109409135A (zh) * | 2018-10-19 | 2019-03-01 | 北京金山云网络技术有限公司 | 一种数据的特征信息获得方法、装置、设备和存储介质 |
CN109446211A (zh) * | 2018-10-08 | 2019-03-08 | 联动优势科技有限公司 | 一种一致性校验方法及装置 |
CN109729074A (zh) * | 2018-12-11 | 2019-05-07 | 深圳市汇星数字技术有限公司 | 一种音频数据的加密和对等存储方法及*** |
CN109753823A (zh) * | 2018-12-11 | 2019-05-14 | 烨链(上海)科技有限公司 | 一种区块链数据监管方法、***及计算机存储介质 |
CN109766723A (zh) * | 2018-12-11 | 2019-05-17 | 烨链(上海)科技有限公司 | 一种区块链数据架构、监管架构、监管方法及计算机可读存储介质 |
CN110008227A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种一致性组可靠性验证方法及相关装置 |
CN110069462A (zh) * | 2019-04-11 | 2019-07-30 | 苏州浪潮智能科技有限公司 | 一种不同服务器之间批量镜像文件一致性核对方法及*** |
CN110070361A (zh) * | 2019-05-05 | 2019-07-30 | 江苏全链通信息科技有限公司 | 基于区块链的合同存证方法、设备及存储介质 |
CN110147410A (zh) * | 2019-04-18 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 一种块链式账本中的数据验证方法、***、装置及设备 |
CN110222095A (zh) * | 2019-06-18 | 2019-09-10 | 北京艾摩瑞策科技有限公司 | 一种应用于区块链的电商数据查询方法和用户设备 |
CN110287170A (zh) * | 2019-06-28 | 2019-09-27 | 杭州复杂美科技有限公司 | 数据库升级方法、状态数据调用方法、设备和存储介质 |
CN110311790A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN110351089A (zh) * | 2019-05-23 | 2019-10-18 | 西安电子科技大学 | 一种数据签名认证方法及装置 |
CN110365763A (zh) * | 2019-07-11 | 2019-10-22 | 北京蜜莱坞网络科技有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN110377323A (zh) * | 2019-06-19 | 2019-10-25 | 广东科学技术职业学院 | 一种区块链dapp管理*** |
CN110516463A (zh) * | 2019-09-02 | 2019-11-29 | 北京海益同展信息科技有限公司 | 用于生成信息的方法和装置 |
CN110996295A (zh) * | 2019-12-12 | 2020-04-10 | 吉林大学 | 车联网节点身份验证方法和身份区块 |
CN111045856A (zh) * | 2018-10-12 | 2020-04-21 | 伊姆西Ip控股有限责任公司 | 用于管理应用***的方法、设备和计算机程序产品 |
CN111178885A (zh) * | 2019-12-18 | 2020-05-19 | 达闼科技成都有限公司 | 基于区块链的数据处理方法、装置、数据处理设备及*** |
CN111198862A (zh) * | 2018-11-19 | 2020-05-26 | 中移(杭州)信息技术有限公司 | 一种基于区块链的文件存储方法、装置、终端设备和介质 |
CN111259452A (zh) * | 2018-11-30 | 2020-06-09 | 华为技术有限公司 | 一种基于区块链的数据管理方法以及相关装置 |
CN111324912A (zh) * | 2018-12-14 | 2020-06-23 | 中国电信股份有限公司 | 文件校验方法、***及计算机可读存储介质 |
CN111326223A (zh) * | 2020-01-21 | 2020-06-23 | 上海联影医疗科技有限公司 | 信息维护方法、装置、***和存储介质 |
CN111414649A (zh) * | 2020-03-05 | 2020-07-14 | 合肥达朴汇联科技有限公司 | 一种基于区块链的数据验证方法及*** |
CN111427718A (zh) * | 2019-12-10 | 2020-07-17 | 杭州海康威视数字技术股份有限公司 | 文件备份方法、恢复方法及装置 |
CN111581404A (zh) * | 2020-06-05 | 2020-08-25 | 山东舜网传媒股份有限公司 | 基于区块链技术的图文稿件全流程留痕的方法和*** |
CN111815321A (zh) * | 2020-05-21 | 2020-10-23 | 北京金山云网络技术有限公司 | 交易提案的处理方法、装置、***、存储介质和电子装置 |
CN111985004A (zh) * | 2019-05-21 | 2020-11-24 | 欧簿客科技股份有限公司 | 判断信息完整性的方法及其计算机*** |
CN112417513A (zh) * | 2020-09-25 | 2021-02-26 | 浪潮金融信息技术有限公司 | 一种钞箱配置文件防篡改的方法及自助设备 |
CN112560113A (zh) * | 2020-12-24 | 2021-03-26 | 珠海格力电器股份有限公司 | 一种节点签名管理方法、***、电子设备及存储介质 |
CN112667447A (zh) * | 2020-12-24 | 2021-04-16 | 北京奇艺世纪科技有限公司 | 一种数据修复方法及装置 |
CN112732681A (zh) * | 2021-04-01 | 2021-04-30 | 壹药网科技(上海)股份有限公司 | 数据平台迁移方法及*** |
CN112862612A (zh) * | 2019-06-28 | 2021-05-28 | 创新先进技术有限公司 | 一种跨链发送资源的方法和装置 |
CN112883433A (zh) * | 2021-02-04 | 2021-06-01 | 湖北宸威玺链信息技术有限公司 | 基于区块链的数据导出安全检测方法及***及装置及介质 |
CN112929154A (zh) * | 2020-12-29 | 2021-06-08 | 合肥达朴汇联科技有限公司 | 应用于第三终端的区块链审计溯源方法、***、电子设备 |
CN113378234A (zh) * | 2021-05-27 | 2021-09-10 | 浙江贝才之神网络科技有限公司 | 数据篡改的检测方法、***、计算机设备以及存储介质 |
US11251966B2 (en) | 2019-06-28 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
US11356282B2 (en) | 2019-06-28 | 2022-06-07 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
CN115080310A (zh) * | 2022-06-28 | 2022-09-20 | 上海中汇亿达金融信息技术有限公司 | 基于业务状态自动恢复后台数据的方法和*** |
CN117170986A (zh) * | 2023-11-03 | 2023-12-05 | 北京微核芯科技有限公司 | 芯片一致性处理***,及其方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547648A (zh) * | 2016-10-21 | 2017-03-29 | 杭州嘉楠耘智信息科技有限公司 | 一种备份数据处理方法及装置 |
CN106815530A (zh) * | 2016-12-26 | 2017-06-09 | 北京爱接力科技发展有限公司 | 数据存证方法、数据校验方法及装置 |
CN106850566A (zh) * | 2016-12-29 | 2017-06-13 | 北京奇艺世纪科技有限公司 | 一种数据一致性校验的方法及装置 |
US20170220625A1 (en) * | 2016-02-01 | 2017-08-03 | International Business Machines Corporation | Verifying data consistency |
-
2017
- 2017-12-25 CN CN201711424941.8A patent/CN108573016A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170220625A1 (en) * | 2016-02-01 | 2017-08-03 | International Business Machines Corporation | Verifying data consistency |
CN106547648A (zh) * | 2016-10-21 | 2017-03-29 | 杭州嘉楠耘智信息科技有限公司 | 一种备份数据处理方法及装置 |
CN106815530A (zh) * | 2016-12-26 | 2017-06-09 | 北京爱接力科技发展有限公司 | 数据存证方法、数据校验方法及装置 |
CN106850566A (zh) * | 2016-12-29 | 2017-06-13 | 北京奇艺世纪科技有限公司 | 一种数据一致性校验的方法及装置 |
Cited By (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088736B (zh) * | 2018-09-25 | 2023-10-03 | 平安科技(深圳)有限公司 | 一种基于数字签名的数据通信方法、***及装置 |
CN109088736A (zh) * | 2018-09-25 | 2018-12-25 | 平安科技(深圳)有限公司 | 一种基于数字签名的数据通信方法、***及装置 |
CN109446211B (zh) * | 2018-10-08 | 2020-08-14 | 联动优势科技有限公司 | 一种一致性校验方法及装置 |
CN109446211A (zh) * | 2018-10-08 | 2019-03-08 | 联动优势科技有限公司 | 一种一致性校验方法及装置 |
CN111045856A (zh) * | 2018-10-12 | 2020-04-21 | 伊姆西Ip控股有限责任公司 | 用于管理应用***的方法、设备和计算机程序产品 |
CN109409135B (zh) * | 2018-10-19 | 2021-06-22 | 北京金山云网络技术有限公司 | 一种数据的特征信息获得方法、装置、设备和存储介质 |
CN109409135A (zh) * | 2018-10-19 | 2019-03-01 | 北京金山云网络技术有限公司 | 一种数据的特征信息获得方法、装置、设备和存储介质 |
CN109255251B (zh) * | 2018-10-31 | 2023-10-10 | 安徽中科晶格技术有限公司 | 基于区块链技术的档案数据保护***及方法 |
CN109255251A (zh) * | 2018-10-31 | 2019-01-22 | 安徽中科智链信息科技有限公司 | 基于区块链技术的档案数据保护***及方法 |
CN111198862A (zh) * | 2018-11-19 | 2020-05-26 | 中移(杭州)信息技术有限公司 | 一种基于区块链的文件存储方法、装置、终端设备和介质 |
CN111259452A (zh) * | 2018-11-30 | 2020-06-09 | 华为技术有限公司 | 一种基于区块链的数据管理方法以及相关装置 |
CN109766723A (zh) * | 2018-12-11 | 2019-05-17 | 烨链(上海)科技有限公司 | 一种区块链数据架构、监管架构、监管方法及计算机可读存储介质 |
CN109753823A (zh) * | 2018-12-11 | 2019-05-14 | 烨链(上海)科技有限公司 | 一种区块链数据监管方法、***及计算机存储介质 |
CN109729074A (zh) * | 2018-12-11 | 2019-05-07 | 深圳市汇星数字技术有限公司 | 一种音频数据的加密和对等存储方法及*** |
CN109729074B (zh) * | 2018-12-11 | 2021-10-01 | 深圳市汇星数字技术有限公司 | 一种音频数据的加密和对等存储方法及*** |
CN111324912B (zh) * | 2018-12-14 | 2023-03-28 | 中国电信股份有限公司 | 文件校验方法、***及计算机可读存储介质 |
CN111324912A (zh) * | 2018-12-14 | 2020-06-23 | 中国电信股份有限公司 | 文件校验方法、***及计算机可读存储介质 |
CN110069462A (zh) * | 2019-04-11 | 2019-07-30 | 苏州浪潮智能科技有限公司 | 一种不同服务器之间批量镜像文件一致性核对方法及*** |
CN110008227A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种一致性组可靠性验证方法及相关装置 |
CN110147410B (zh) * | 2019-04-18 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种块链式账本中的数据验证方法、***、装置及设备 |
CN110147410A (zh) * | 2019-04-18 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 一种块链式账本中的数据验证方法、***、装置及设备 |
CN110070361A (zh) * | 2019-05-05 | 2019-07-30 | 江苏全链通信息科技有限公司 | 基于区块链的合同存证方法、设备及存储介质 |
CN111985004A (zh) * | 2019-05-21 | 2020-11-24 | 欧簿客科技股份有限公司 | 判断信息完整性的方法及其计算机*** |
CN110351089A (zh) * | 2019-05-23 | 2019-10-18 | 西安电子科技大学 | 一种数据签名认证方法及装置 |
CN110222095A (zh) * | 2019-06-18 | 2019-09-10 | 北京艾摩瑞策科技有限公司 | 一种应用于区块链的电商数据查询方法和用户设备 |
CN110377323B (zh) * | 2019-06-19 | 2023-09-29 | 广东科学技术职业学院 | 一种区块链dapp管理*** |
CN110377323A (zh) * | 2019-06-19 | 2019-10-25 | 广东科学技术职业学院 | 一种区块链dapp管理*** |
US11356282B2 (en) | 2019-06-28 | 2022-06-07 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
CN110287170B (zh) * | 2019-06-28 | 2021-05-11 | 杭州复杂美科技有限公司 | 数据库升级方法、状态数据调用方法、设备和存储介质 |
CN110287170A (zh) * | 2019-06-28 | 2019-09-27 | 杭州复杂美科技有限公司 | 数据库升级方法、状态数据调用方法、设备和存储介质 |
US11343103B2 (en) | 2019-06-28 | 2022-05-24 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
US11336465B2 (en) | 2019-06-28 | 2022-05-17 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
CN112862612B (zh) * | 2019-06-28 | 2024-04-30 | 创新先进技术有限公司 | 一种跨链发送资源的方法和装置 |
US11251966B2 (en) | 2019-06-28 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Sending cross-chain authenticatable messages |
CN110311790A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN112862612A (zh) * | 2019-06-28 | 2021-05-28 | 创新先进技术有限公司 | 一种跨链发送资源的方法和装置 |
CN110365763A (zh) * | 2019-07-11 | 2019-10-22 | 北京蜜莱坞网络科技有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN110516463A (zh) * | 2019-09-02 | 2019-11-29 | 北京海益同展信息科技有限公司 | 用于生成信息的方法和装置 |
CN110516463B (zh) * | 2019-09-02 | 2021-03-05 | 北京海益同展信息科技有限公司 | 用于生成信息的方法和装置 |
CN111427718A (zh) * | 2019-12-10 | 2020-07-17 | 杭州海康威视数字技术股份有限公司 | 文件备份方法、恢复方法及装置 |
CN111427718B (zh) * | 2019-12-10 | 2024-01-23 | 杭州海康威视数字技术股份有限公司 | 文件备份方法、恢复方法及装置 |
CN110996295A (zh) * | 2019-12-12 | 2020-04-10 | 吉林大学 | 车联网节点身份验证方法和身份区块 |
CN110996295B (zh) * | 2019-12-12 | 2022-02-22 | 吉林大学 | 车联网节点身份验证方法和身份区块 |
CN111178885A (zh) * | 2019-12-18 | 2020-05-19 | 达闼科技成都有限公司 | 基于区块链的数据处理方法、装置、数据处理设备及*** |
CN111178885B (zh) * | 2019-12-18 | 2023-08-04 | 达闼机器人股份有限公司 | 基于区块链的数据处理方法、装置、数据处理设备及*** |
CN111326223A (zh) * | 2020-01-21 | 2020-06-23 | 上海联影医疗科技有限公司 | 信息维护方法、装置、***和存储介质 |
CN111326223B (zh) * | 2020-01-21 | 2023-09-12 | 上海联影医疗科技股份有限公司 | 信息维护方法、装置、***和存储介质 |
CN111414649B (zh) * | 2020-03-05 | 2023-03-24 | 合肥达朴汇联科技有限公司 | 一种基于区块链的数据验证方法及*** |
CN111414649A (zh) * | 2020-03-05 | 2020-07-14 | 合肥达朴汇联科技有限公司 | 一种基于区块链的数据验证方法及*** |
CN111815321A (zh) * | 2020-05-21 | 2020-10-23 | 北京金山云网络技术有限公司 | 交易提案的处理方法、装置、***、存储介质和电子装置 |
CN111581404A (zh) * | 2020-06-05 | 2020-08-25 | 山东舜网传媒股份有限公司 | 基于区块链技术的图文稿件全流程留痕的方法和*** |
CN112417513A (zh) * | 2020-09-25 | 2021-02-26 | 浪潮金融信息技术有限公司 | 一种钞箱配置文件防篡改的方法及自助设备 |
CN112560113B (zh) * | 2020-12-24 | 2024-06-07 | 珠海格力电器股份有限公司 | 一种节点签名管理方法、***、电子设备及存储介质 |
CN112667447A (zh) * | 2020-12-24 | 2021-04-16 | 北京奇艺世纪科技有限公司 | 一种数据修复方法及装置 |
CN112667447B (zh) * | 2020-12-24 | 2023-10-27 | 北京奇艺世纪科技有限公司 | 一种数据修复方法及装置 |
CN112560113A (zh) * | 2020-12-24 | 2021-03-26 | 珠海格力电器股份有限公司 | 一种节点签名管理方法、***、电子设备及存储介质 |
CN112929154A (zh) * | 2020-12-29 | 2021-06-08 | 合肥达朴汇联科技有限公司 | 应用于第三终端的区块链审计溯源方法、***、电子设备 |
CN112929154B (zh) * | 2020-12-29 | 2024-05-31 | 合肥达朴汇联科技有限公司 | 应用于第三终端的区块链审计溯源方法、***、电子设备 |
CN112883433A (zh) * | 2021-02-04 | 2021-06-01 | 湖北宸威玺链信息技术有限公司 | 基于区块链的数据导出安全检测方法及***及装置及介质 |
CN112732681B (zh) * | 2021-04-01 | 2021-06-08 | 壹药网科技(上海)股份有限公司 | 数据平台迁移方法及*** |
CN112732681A (zh) * | 2021-04-01 | 2021-04-30 | 壹药网科技(上海)股份有限公司 | 数据平台迁移方法及*** |
CN113378234A (zh) * | 2021-05-27 | 2021-09-10 | 浙江贝才之神网络科技有限公司 | 数据篡改的检测方法、***、计算机设备以及存储介质 |
CN115080310A (zh) * | 2022-06-28 | 2022-09-20 | 上海中汇亿达金融信息技术有限公司 | 基于业务状态自动恢复后台数据的方法和*** |
CN117170986A (zh) * | 2023-11-03 | 2023-12-05 | 北京微核芯科技有限公司 | 芯片一致性处理***,及其方法、装置、设备及介质 |
CN117170986B (zh) * | 2023-11-03 | 2024-02-06 | 北京微核芯科技有限公司 | 芯片一致性处理***,及其方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573016A (zh) | 一种数据一致性检查方法、装置、设备和存储介质 | |
Sunyaev et al. | Distributed ledger technology | |
CN108389047B (zh) | 区块链中母链与子链交易的方法及区块链网络 | |
US10846416B2 (en) | Method for managing document on basis of blockchain by using UTXO-based protocol, and document management server using same | |
TWI706275B (zh) | 用於資訊保護的系統和方法 | |
US10942994B2 (en) | Multicomputer processing for data authentication using a blockchain approach | |
US11159537B2 (en) | Multicomputer processing for data authentication and event execution using a blockchain approach | |
CN111464518B (zh) | 一种跨链通信数据的发送、验证方法及装置 | |
US10938549B2 (en) | System and method for information protection | |
US10819505B2 (en) | System and method for information protection | |
BR112019007907A2 (pt) | sistema e método para proteção de informações | |
WO2019032089A1 (en) | BLOCK CHAIN ARCHITECTURE WITH SECURITY RECORDING | |
US20200082388A1 (en) | Authenticating server and method for transactions on blockchain | |
JP7493582B2 (ja) | ブロックチェーン・ネットワーク間でのトークンの転送 | |
CN108665953A (zh) | 一种处方执行方法、装置、设备和存储介质 | |
CN111523152B (zh) | 基于区块链的电子证件管理方法、管理网络及电子设备 | |
US11551229B2 (en) | Payslip verification for blockchain transaction | |
CN110009339A (zh) | 基于区块链的数据处理方法和装置 | |
US20220191048A1 (en) | Cryptographically Verifiable, Portable Certificate | |
WO2022267185A1 (zh) | 一种基于区块链网络的物品安全高效交易方法、***及存储介质 | |
BR102020024769A2 (pt) | Método e sistema para ordenação, replicação e registro transparentes não repudiáveis de operações envolvendo dados pessoais e meio não transitório legível por computador | |
CN112991045A (zh) | 基于区块链的医疗健康消费融资方法、装置、设备及介质 | |
KR102078566B1 (ko) | 암호화폐 분실 방지 방법 및 시스템 | |
US20210004791A1 (en) | Guaranteeing server and method for transaction on blockchain | |
Ardina et al. | Design of a blockchain-based employee attendance system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180925 |