一种基于区块链的数据管理方法以及相关装置与流程

专利2022-06-29  46

本申请涉及互联网
技术领域
:,尤其涉及一种基于区块链的数据管理方法以及相关装置。
背景技术
::区块链实质上是一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、可共享的及不可篡改的数据记录。虽然区块链的概念衍生于比特币系统,但区块链技术可以做的事情远不止于加密货币,就业务角度,既有汽车、房地产和食品等有形产品,也有债券、私募股权和证券等无形资产,他们都对去中心化的区块链技术存在诉求,企业级区块链系统应运而生,然而这些开源代码无论是部署还是基础环境准备都较为复杂,对用户要求较高,所以各大区块链厂商和公有云厂商都提供了区块链即服务(blockchainasaservice,baas)。baas服务可以让用户以非常友好的网页页面去部署区块链应用,用户只需要按照流程依次选择配置即可完成属于自己的区块链应用的部署。baas服务很大程度上降低了用户使用区块链的成本,由于用户使用了某一区块链厂商或公有云厂商提供的baas服务去部署区块链应用,其数据完全存于该厂商,这让提供baas服务的厂商有了篡改数据的可能,用户对自己数据是否遭受篡改缺乏有效的知情方法。技术实现要素:本申请实施例提供了一种基于区块链的数据管理方法以及相关装置,应用于数据管理装置中,数据管理装置使用第二区块链存储第一区块链中区块的区块识别信息,以第二区块链中存储的区块识别信息作为备份范本,对比第一区块链中的区块识别信息,使得用户可以发现部署有第一区块链的服务厂商是否对区块私自篡改,有效地监督了区块数据,提升了数据的安全性。为解决上述技术问题,本申请实施例提供以下技术方案:第一方面,本申请实施例提供了一种基于区块链的数据管理方法,该方法应用于数据管理装置,包括:获取第一识别信息,该第一识别信息根据第一区块生成,该第一区块为第一区块链上的一个区块;根据该第一识别信息,生成指示信息,该指示信息用于指示备链节点生成第二区块,该第二区块的区块数据中包含该第一识别信息,该第二区块为第二区块链上的一个区块;获取第二识别信息,该第二识别信息是根据该第二区块生成的;获取第三识别信息,该第三识别信息是根据第三区块生成的,该第三区块为该第一区块链上与该第一区块位置相同的区块;根据该第二识别信息与该第三识别信息,判断该第一区块与该第三区块的区块数据是否一致。本申请中,数据管理装置获取第一区块链中第一区块的相关识别信息,该识别信息命名为第一识别信息,数据管理装置根据该第一识别信息,生成指示信息,该指示信息用于指示备链节点生成第二区块,该第二区块为部署于第二区块链即备链中的一个区块,备链节点为运行该第二区块链中的一个节点,生成的第二区块中包含有该第一识别信息的相关数据。数据管理装置将第一区块的第一识别信息在第二区块链中进行存证之后,获取由第二区块生成的第二识别信息,该第二识别信息既可以由第二区块链中的相关节点根据第二区块的相关区块数据生成,也可以由数据管理装置根据第二区块的相关区块数据生成,此处不作限定。数据管理装置获取第三识别信息,该第三识别信息由第三区块生成,该第三区块为第一区块链中与第一区块相同位置的区块,可以理解为数据管理装置在将第一区块的相关识别信息进行存证后,对该第一区块进行识别。该第三识别信息既可以由第一区块链中的相关节点根据第一区块的相关区块数据生成,也可以由数据管理装置根据第一区块的相关区块数据生成,此处不作限定。数据管理装置获取到第二识别信息以及第三识别信息之后,可根据这两个识别信息判断第一区块与第三区块是否一致,即第一区块是否被篡改。若一致,则第一区块未被篡改,若不一致,则第一区块被篡改。通过使用第三方区块链服务商提供的区块链服务部署第二区块链作为第一区块链的备份链,使用第二区块链中的备份区块用以验证第一区块链中的区块是否被修改,有效地监督了区块数据,提升了数据的安全性。在第一方面的一种可能的实现方式中,该第三识别信息包含该第三区块的区块数据,该第三区块的区块数据为存储于该第三区块上的数据;该获取第三识别信息,包括:在该获取该第二识别信息之后,获取该第三识别信息;根据该第二识别信息与该第三识别信息,判断该第一区块与该第三区块的区块数据是否一致。本申请中,数据管理装置在获取第二识别信息之后,获取第三区块的第三识别信息,该第三识别信息中包含有第三区块的区块数据,该区块数据为存储于第三区块上的数据,根据第二识别信息以及第三识别信息判断第一区块与第二区块的区块数据是否一致。通过获取第三区块的完整区块数据,与根据备份链第二区块链中的第二区块生成的第二识别信息进行对比,判断第一区块是否被篡改,校验完整的第三区块数据,避免了部署第一区块链的厂商伪造第三区块的相关识别信息以通过数据管理装置的校验,进一步提升了数据的安全性。在第一方面的一种可能的实现方式中,该第一识别信息为该第一区块的区块数据;该第二区块的区块数据与该第一区块的区块数据相同。本申请中,数据管理装置获取得到的第一识别信息可以为第一区块的区块数据,当第一识别信息为第一区块的区块数据时,数据管理装置根据第一识别信息指示备链节点生成第二区块,该第二区块中的区块数据与第一区块的区块数据相同。数据管理装置使用第一区块的区块数据在第二区块链中进行存证,提升了方案的实现灵活性。在第一方面的一种可能的实现方式中,该第二识别信息为该第二区块的区块数据;该第三识别信息为该第三区块的区块数据;或该第二识别信息包括该第二区块的区块数据的哈希值;该第三识别信息包括该第三区块的区块数据的哈希值;或该第二识别信息包括该第二区块的区块数据的数字签名;该第三识别信息包括该第三区块的区块数据的数字签名。本申请中,数据管理装置获取的第一识别信息为第一区块的区块数据,并使用该第一识别信息于第二区块链中进行存证之后,第二区块链中存证的第二区块的区块数据与第一区块的区块数据相同。既可以先获取第二识别信息再获取第三识别信息,也可以先获取第三识别信息再获取第二识别信息,获取识别信息的顺序不作限定。进行对比校验的步骤包含以下多种:数据管理装置获取第二识别信息,该第二识别信息可以是第二区块的区块数据,与第二识别信息所对应的,第三识别信息为第三区块的区块数据。该第二识别信息还可以是第二区块的区块数据的哈希值,该第二区块的区块数据的哈希值,该第二区块的区块数据的哈希值即可以为第二区块链中相关节点根据第二区块的区块数据生成,也可以为数据管理装置根据获取得到的第二区块的区块数据生成,此处不作限定。该第二识别信息还可以为第二区块的区块数据的数字签名,该第二区块的区块数据的数字签名即可以为第二区块链中相关节点根据第二区块的区块数据生成,也可以为数据管理装置根据获取得到的第二区块的区块数据生成,此处不作限定。可以采用多种方式进行校验第一区块是否被篡改,提升了方案的可行性。在第一方面的一种可能的实现方式中,该第一识别信息包括该第一区块的哈希值;该第二识别信息包括该第二区块的区块数据中该第一区块的哈希值;该第三识别信息包括该第三区块的哈希值。本申请中,数据管理装置获取第一识别信息可以为第一区块的哈希值,该第一区块的哈希值可以为第一区块链中的节点根据第一区块的部分区块数据或全部区块数据生成,也可以为数据管理装置根据第一区块的部分区块数据或全部区块数据生成,当数据管理装置获取得到第一识别信息后,根据该识别信息,指示备链节点在第二区块链中生成第二区块,第二区块的区块数据为第一区块的哈希值,因此当数据管理装置对第三区块进行校验时,获取得到的第二识别信息为第二区块的区块数据中第一区块的哈希值,与哈希值相对应,第三识别信息为第三区块的哈希值,该第三区块的哈希值,既可以是第一区块链中相关节点根据第三区块的相关数据生成,还可以是数据管理装置根据第三区块的相关数据生成,此处不作限定。通过校验与区块数据相关的哈希值,降低了使用第二区块链进行存证时占用的存储空间,提升了方案的实现灵活性。由于哈希值具有唯一性,因此保证了数据校验的准确性,提升了数据的安全性。在第一方面的一种可能的实现方式中,该第一识别信息包括该第一区块的数字签名;该第二识别信息包括该第二区块的区块数据中该第一区块的数字签名;该第三识别信息包括该第三区块的数字签名。本申请中,数据管理装置获取第一识别信息可以为第一区块的数字签名,该第一区块的数字签名可以为第一区块链中的节点根据第一区块的部分区块数据或全部区块数据生成,也可以为数据管理装置根据第一区块的部分区块数据或全部区块数据生成,当数据管理装置获取得到第一识别信息后,根据该识别信息,指示备链节点在第二区块链中生成第二区块,第二区块的区块数据为第一区块的数字签名,因此当数据管理装置对第三区块进行校验时,获取得到的第二识别信息为第二区块的区块数据中第一区块的数字签名,与数字签名相对应,第三识别信息为第三区块的数字签名,该第三区块的数字签名,既可以是第一区块链中相关节点根据第三区块的相关数据生成,还可以是数据管理装置根据第三区块的相关数据生成,此处不作限定。通过校验与区块数据相关的数字签名,降低了使用第二区块链进行存证时占用的存储空间,提升了方案的实现灵活性。由于数字签名具有唯一性,因此保证了数据校验的准确性,提升了数据的安全性。在第一方面的一种可能的实现方式中,根据该第一区块链上的全部区块的识别信息,生成第二指示信息,该第二指示信息用于指示该备链节点生成存储有该第一区块链上的全部区块的识别信息的第四区块,其中,该第四区块为该第二区块链上的一个区块,该第四区块中包含该第一识别信息;获取第四识别信息,该第四识别信息根据该第四区块生成;获取第三识别信息,该第三识别信息是根据该第三区块生成的,该第三区块为该第一区块链上与该第一区块位置相同的区块;根据该第四识别信息与该第三识别信息,判断该第一区块与该第三区块的区块数据是否一致。本申请中,数据管理装置获取第一区块链中全部区块的相关识别信息,该识别信息可以为全部区块的区块数据、根据全部区块的区块数据生成的哈希值或根据全部区块的区块数据生成的数字签名,其中,该哈希值或数字签名,既可以为根据全部区块的区块数据生成一个哈希值或一个数字签名,也可以根据全部区块的区块数据生成对应于每一个区块的哈希值或数字签名,此处不作限定。根据第一区块链中全部区块的识别信息生成第二指示信息,根据该第二指示信息,指示备链节点生成存储有第一区块链上的全部区块的识别信息的第四区块,该第四区块为第二区块链中的一个区块。数据管理装置执行校验操作时,首先获取想要校验的第一区块链中区块的识别信息,然后查找第二区块链中的第四区块中,是否有相同的识别信息,若有,则可判断当前校验的区块未被篡改,若查找不到,则可判断当前校验的区块被篡改。除了将第一区块链中的某一个区块进行存证,还可以将第一区块链中的全部区块进行存证,提升了方案的实现灵活性。第二方面,本申请实施例提供了一种数据管理装置,包括:获取模块,用于获取第一识别信息,该第一识别信息根据第一区块生成,该第一区块为第一区块链上的一个区块;生成模块,用于根据该第一识别信息,生成指示信息,该指示信息用于指示备链节点生成第二区块,该第二区块的区块数据中包含该第一识别信息,该第二区块为第二区块链上的一个区块;该获取模块,还用于获取第二识别信息,该第二识别信息是根据该第二区块生成的;该获取模块,还用于获取第三识别信息,该第三识别信息是根据第三区块生成的,该第三区块为该第一区块链上与该第一区块位置相同的区块;判断模块,用于根据该第二识别信息与该第三识别信息,判断该第一区块与该第三区块的区块数据是否一致。在第二方面的一种可能的实现方式中,包括:该第三识别信息包含该第三区块的区块数据,该第三区块的区块数据为存储于该第三区块上的数据;该获取第三识别信息,包括:该获取模块,具体用于在该获取该第二识别信息之后,获取该第三识别信息;该判断模块,具体用于根据该第二识别信息与该第三识别信息,判断该第一区块与该第三区块的区块数据是否一致。在第二方面的一种可能的实现方式中,包括:该第一识别信息为该第一区块的区块数据;该第二区块的区块数据与该第一区块的区块数据相同。在第二方面的一种可能的实现方式中,包括:该第二识别信息为该第二区块的区块数据;该第三识别信息为该第三区块的区块数据;或该第二识别信息包括该第二区块的区块数据的哈希值;该第三识别信息包括该第三区块的区块数据的哈希值;或该第二识别信息包括该第二区块的区块数据的数字签名;该第三识别信息包括该第三区块的区块数据的数字签名。在第二方面的一种可能的实现方式中,包括:该第一识别信息包括该第一区块的哈希值;该第二识别信息包括该第二区块的区块数据中该第一区块的哈希值;该第三识别信息包括该第三区块的哈希值。在第二方面的一种可能的实现方式中,包括:该第一识别信息包括该第一区块的数字签名;该第二识别信息包括该第二区块的区块数据中该第一区块的数字签名;该第三识别信息包括该第三区块的数字签名。第三方面,本申请实施例提供了一种数据管理装置,包括:存储器、收发器、处理器以及总线系统;其中,该存储器用于存储程序和指令;该收发器用于在该处理器的控制下接收或发送信息;该处理器用于执行该存储器中的程序;该总线系统用于连接该存储器、该收发器以及该处理器,以使该存储器、该收发器以及该处理器进行通信;该处理器用于调用该存储器中的程序指令,执行如上述第一方面中任一项该的方法。第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一方面的方法。第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述任一方面的方法。从以上技术方案可以看出,本申请实施例具有以下优点:本申请实施例中,一种基于区块链的数据管理方法,该方法应用于数据管理装置,首先获取第一识别信息,第一识别信息根据第一区块生成,第一区块为第一区块链上的一个区块,其次,根据第一识别信息,生成指示信息,指示信息用于指示备链节点生成第二区块,第二区块的区块数据中包含第一识别信息,第二区块为第二区块链上的一个区块,再次,获取第二识别信息,第二识别信息是根据第二区块生成的,再次,获取第三识别信息,第三识别信息是根据第三区块生成的,第三区块为第一区块链上与第一区块位置相同的区块,再次,根据第二识别信息与第三识别信息,判断第一区块与第三区块的区块数据是否一致。通过上述方式,数据管理装置使用第二区块链存储第一区块链中区块的区块识别信息,以第二区块链中存储的区块识别信息作为备份范本,对比第一区块链中的区块识别信息,使得用户可以发现部署有第一区块链的服务厂商是否对区块私自篡改,有效地监督了区块数据,提升了数据的安全性。附图说明图1为本申请实施例中区块链组成的一个示意图;图2为本申请实施例中超级账本fabric的一个架构示意图;图3(a)为本申请实施例中基于区块链的数据管理方法的一个实施例示意图;图3(b)为本申请实施例中区块存证方法的一个交互示意图;图3(c)为本申请实施例中区块存证方法的另一个交互示意图;图4为本申请实施例中基于区块链的数据管理方法的另一个实施例示意图;图5为本申请实施例中区块存证的一个应用场景流程示意图;图6为本申请实施例中区块存证的另一个应用场景流程示意图;图7为本申请实施例中数据管理装置的实施例示意图;图8为本申请实施例中数据管理装置的一种结构示意图;图9为本申请实施例中提供的一种服务器结构示意图。具体实施方式本申请实施例提供了一种基于区块链的数据管理方法以及相关装置,使用第二区块链存储第一区块链中区块的区块识别信息,以第二区块链中存储的区块识别信息作为备份范本,对比第一区块链中的区块识别信息,使得用户可以发现部署有第一区块链的服务厂商是否对区块私自篡改,有效地监督了区块数据,提升了数据的安全性。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。应理解,本申请主要应用于区块链系统,区块链是一种将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链实质上是一种分布式数据库技术,可以维持持续增长的、可共享的以及不可篡改的数据记录。为了便于介绍,下面将通过对比传统支付系统与区块链支付系统来介绍区块链系统的优点。在本申请实施例中,区块链网络中的设备可以是私有设备、运营商网络设备(例如,基站设备),也可以是一定的行业组织、团体和个人部署的站点(station)。在本申请实施例中,物联网设备可以包括但不限于移动台(mobilestation,ms)、移动终端(mobileterminal)、移动电话(mobiletelephone)、用户设备(userequipment,ue)、手机(handset)及便携设备(portableequipment)、车辆(vehicle)等,例如,终端设备可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,终端设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置。需要说明的是,本申请实施例中,设备产生的数据包括与该设备和其对端设备相关的数据和普通的数据。在描述区块链网络中的要素以及区块链网络中个设备的工作方法时,以与设备和其对端设备相关的数据为例,具体以与设备和其对端设备相关的数据为交易数据为例进行描述,但这并不限定本申请实施例的范围。为了方便理解本申请的各个实施例,首先介绍本申请中可能出现的几个概念。应理解的是,以下的概念解释可能会因为本申请的具体情况有所限制,但并不代表本申请仅能局限于该具体情况,以下概念的解释伴随不同实施例的具体情况可能也会存在差异。数字签名(digitalsignature):(1)密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。(2)公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。(3)私钥,用来解密公钥加密的数据。(4)摘要,对需要传输的数据,做哈希计算,例如,一般使用安全散列算法(securehashalgorithm,sha)进行运算。(5)签名,使用私钥对需要传输的数据的摘要进行加密,得到的密文即被称为该次传输过程的签名。(6)签名验证,数据接收端在接收到传输的数据后,需要确认该数据是否就是数据发送端发出的数据,中途是否曾经被篡改。因此拿自身持有的公钥对接收到的签名进行解密(密钥对中的一种密钥加密的数据必定能使用另一种密钥解密),得到了数据的摘要,然后使用与数据发送端同样的哈希算法计算接收到的数据的摘要值,再与解密得到的摘要做对比,发现二者完全一致,则说明文本没有被篡改过。区块链:(1)区块,是一个被包括在区块链中的聚合了数据的容器数据结构,它由一个包括元数据的区块头和紧跟其后的构成区块主体的一长串交易组成。区块具体包括:区块大小字段,通常为4个字节;区块头字段,通常为80个字节;交易计数器字段,一般为1-9个字节,记录交易数量;交易字段,通常为可变长度,记录交易详情。(2)区块头(header),由四组元数据组成,首先是一组引用父区块哈希值(hash)的数据(prehash,prehash),这组元数据用于将该区块与区块链中的前一区块相连接。第二组元数据包括难度、时间戳(timestamp)和只是用一次的数字(numberusedonce,nonce)。第三组元数据是梅克尔(merkle)数根,梅克尔树根是一种用来有效总结区块中所有交易的数据结构以及第四组元数据是本区块数据的哈希值(datahash,datahash)。区块头具体包括以下字段:版本字段,通常为4字节;父区块哈希值字段,通常为32字节,用于引用区块链中父区块的哈希值;merkle根字段,用于记录该区块中交易的merkle树根的哈希值;时间戳字段,通常为4字段,用于标识区块产生的近似时间,精确到秒;nonce字段,是用于工作量证明算法的计数器。每个区块都可以通过其区块头的“父区块哈希值字段”引用前一个区块。也就是说,每个区块头部包括它的父区块的哈希值。并且每个区块只有一个父区块,但是可以临时有多个子区块。一个区块出现多个子区块的情况称为“区块链分叉”。区块链分叉指示一个暂时状态,最终只有一个子区块会成为区块链的一部分。(3)区块链,是由区块从后向前有序链接起来的数据结构,每个区块都指向前一个区块。它可以被存储为一种包括非相对关系记录的文件,或是存储在一个简单的数据库中。可以将区块链看成一个堆栈,高度就表示区块与首区块之间的距离,以及顶部或顶端表示最新的区块。对每个区块头使用算法进行哈希运算可生成一个哈希值。通过这个哈希值可以识别区块链中的对应区块。区块链实质上是一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、可共享的及不可篡改的数据记录。区块链技术的核心是所有当前参与的节点共同维护交易及数据库,它使交易基于密码学原理而不基于信任,使得任何达成一致的双方,能够直接进行支付交易,不需第三方的参与。其中,参与的节点包括对等节点和共识节点,对等节点在客户端发起交易后会根据智能合约执行模拟交易,模拟交易主要用于验证交易的合法性,共识节点可以确定区块链中的交易顺序,以保证交易的有序化。区块链技术的核心是所有当前参与的节点共同维护交易及数据库,它使交易基于密码学原理而不基于信任,使得任何达成一致的双方,能够直接进行支付交易,不需第三方的参与。从技术上来讲,区块是一种记录交易的数据结构,反映了一笔交易的资金流向。系统中已经达成的交易的区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分。以比特币为例,请参阅图1,图1为本申请实施例中区块链组成的一个示意图,如图所示,一个区块包括以下三部分:交易信息、前一个区块形成的哈希散列以及随机数。交易信息是区块所承载的任务数据,具体包括交易双方的私钥、交易的数量和电子货币的数字签名等;前一个区块形成的哈希散列用来将区块连接起来,实现过往交易的顺序排列;随机数是交易达成的核心,所有矿工节点竞争计算随机数的答案,最快得到答案的节点生成一个新的区块,并广播到所有节点进行更新,如此完成一笔交易。比特币仅支持了简单的数字货币结算脚本,在此基础上陆续发展出以太坊以及超级账本(hyperledger)等支持图灵完备脚本的区块链项目,可以提供除了货币交易功能以外更加灵活的合约功能,执行更为复杂的操作,也称为智能合约。应理解,本申请可应用于hyperledger中fabric,hyperledger项目是首个面向企业的开放区块链技术的重要探索,而fabric是hyperledger项目中最重要的子项目。为了便于理解,请参阅图2,图2为本申请实施例中超级账本fabric的一个架构示意图,如图所示,fabric为应用提供了谷歌远程过程调用(googleremoteprocedurecall,grpc)应用程序编程接口(applicationprogramminginterface,api),以及封装api的软件开发工具包(softwaredevelopmentkit,sdk)供应用调用。应用可以通过sdk访问fabric网络中的多种资源,包括账本(ledger)、交易、链码(chaincode)、事件和权限管理等。其中,账本是最核心的结构,记录应用信息,应用则通过发起交易来向账本中记录数据。交易执行的逻辑通过chaincode来承载。整个网络运行中发生的事件可以被应用访问,以触发外部流程甚至其他系统。权限管理则负责整个过程中的访问控制。账本和交易进一步地依赖核心的区块链结构、数据库以及共识机制等技术。链码则依赖容器和状态机等技术。权限管理利用了已有的公钥基础设施(publickeyinfrastructure,pki)体系、数字签名和加解密算法等诸多安全技术。底层由多个节点组成对等网络(peertopeer,p2p),通过grpc通道进行交互,利用gossip协议进行同步。然而这些开源代码无论是部署还是基础环境准备都较为复杂,对用户要求较高,所以各大区块链厂商和公有云厂商都提供了区块链即服务(blockchainasaservice,baas)。baas服务可以让用户以非常友好的网页页面去部署区块链应用,用户只需要按照流程依次选择配置即可完成属于自己的区块链应用的部署。下面将结合实施例和附图介绍本申请中基于区块链的数据管理方法,本申请所提供的基于区块链的数据管理方法以包括以下两个实施例,具体地:实施例一,区块存证;请参阅图3(a),图3(a)为本申请实施例中基于区块链的数据管理方法的一个实施例示意图,本申请实施例中基于区块链的数据管理方法的一个实施例包括:301、创建第一区块链;本实施例中,用户在提供baas的区块链厂商和/或公有云厂商创建第一区块链,该第一区块链为根据用户实际业务需求创建的区块链,根据区块链的特性,该第一区块链可以应用于下列领域,如:(1)金融领域的结算和清算业务,以金融领域的结算和清算为例。由于交易双方互不信任,因此金融机构需要通过处于中心位置的清算结构来完成资产清算和账本的确认。这类涉及多个交易主体且互不信任的应用场景就非常适合使用区块链技术。原则上,可以直接在金融之间构建区块链,那么机构之间只需要共同维护同一个区块链,即可实现资产的转移和交易。(2)数字货币。(3)财产保险,传统上,财险的理赔过程中耗费大量的人力物力,时间成本极大,降低理赔成本。首先区块链可以减少客户提供理赔资料和证明的负担,如果资产可以智能化地嵌入智能合约,则资产可具备自动启动理赔流程的能力,甚至可以实现自动化理赔,大幅加速理赔过程。此外,区块链还可以广泛应用在物联网、边缘计算以及存在性证明等许多领域。302、创建第二区块链;本实施例中,数据管理装置在提供baas的区块链厂商和/或公有云厂商创建第二区块链,该第二区块链用于存证第一区块链产生的区块。创建第二区块链的步骤包括:部署区块链服务步骤1:资源准备、步骤2:部署服务、步骤3:编写链码以及步骤4:安装部署链码等。303、获取第一区块链中的第一区块;本实施例中,数据管理装置获取第一区块链中的第一区块,该第一区块为用户计划进行存证的区块。需要说明的是,第一区块可以指一个区块,也可以指多个区块,此处不作限定。在实际应用中,获取第一区块链中的第一区块的多种情况,下面分别进行介绍:(1)获取第一区块链中第一区块完整的区块数据。(2)获取第一区块链中与第一区块有关的哈希值(hash),包括获取根据第一区块数据生成的区块数据哈希值(datahash),该datahash既可以由部署有该第一区块链的第一节点设备根据第一区块的区块数据生成得到,也可以通过获取第一区块的区块头中的datahash得到。当单独获取datahash时,还可以获取第一区块区块头中的prehash,该prehash用于指示该datahash所对应的第一区块在第一区块链中所在的位置,或是获取该第一区块的高度数据,高度数据是一种映射表,用于指示该区块在该区块所在的区块链中的位置,通常存储于该区块的区块头中,具体的高度数据与区块之间的关系可参见表1,请参阅表1,表1为高度数据与区块在区块链中所在位置的对应关系。表1哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上来说基本上是不可能的。消息身份验证代码(messageauthenticationcode,mac)哈希函数通常与数字签名一起用于对数据进行签名,而消息检测代码哈希函数则用于数据完整性。本申请中,可应用的哈希算法包括:md5消息摘要算法(md5message-digestalgorithm)、安全散列算法1(sha-1)以及循环冗余校验码(cyclicredundancycheck,crc)等。高度数据可以认为是“key”和“value”,即“键值对”,key-value分布式存储系统查询速度快,存放数据量大且支持高并发,非常适合通过主键进行查询。如果辅以实时搜索引擎(real-timesearchengine,rtse)进行复杂条件检索全文检索,就可以替代并发性能较低的关系型数据库,达到高并发高性能,并节省几十倍服务器数量的目的。(3)获取第一区块链中根据第一区块生成的数字签名,该数字签名可以由部署有该第一区块链的第一节点设备根据第一区块的datahash生成得到,还可以根据第一区块的prehash和datahash生成得到,还可以根据第一区块的高度数据和datahash生成得到,还可以根据第一区块的完整区块数据生成得到,此处不作限定。数字签名是公开密钥加密技术和哈希算法相结合的产物。以md5消息摘要算法为例,首先md5算法将任意长度的原始数据提炼为128位数的哈希值。签名方用公开密钥加密技术中的私钥加密md5算法提炼出的哈希值,生成数字签名。接收方在接收到该数字签名后,可以使用签名方公开密钥对该数字签名进行解密,以获得哈希值。重新计算原始数据的哈希值,并将该哈希值与使用公开密钥对数字签名解密得到的哈希值进行对比,若一致则原始数据的完整性、正确性以及数字签名的真实性得到了保证。本申请中,可应用的密钥加密技术有rsa加密算法(rsaalgorithm)、数字签名算法(digitalsignaturealgorithm,dsa)、diffie-hellman密钥交换协议/算法(diffie-hellmankeyexchange/agreementalgorithm)以及椭圆加密算法(ellipticcurvecryptography,ecc)等。304、存入第二区块链中进行存证。本实施例中,数据管理装置将步骤303中获取到的第一区块的相关数据,存入第二区块链中以完成存证的过程,具体存入的过程参照如下描述:以下是区块数据写入的具体描述:(1)写入区块头数据,依次写入的数据为区块高度、交易哈希和前一个区块哈希值;(2)写入交易数据,依次写入的数据为区块中包括交易总量和每笔交易详细数据,此处交易总量为数据管理装置获取到的第一区块的数据总量,每笔交易详细数据为数据管理装置获取到的第一区块的相关数据;(3)写入区块的元数据,依次写入的数据为元数据数据总量和每个元数据的数据详细信息。需要说明的是,获取到的第一区块链中的第一区块包括有第一区块的完整数据,或第一区块的hash值,或由第一区块生成的数字签名。这些数据存入第二区块链中的操作类似,不再赘述。为了便于理解,请参阅图3(b),图3(b)为本申请实施例中区块存证方法的一个交互示意图,如图所示:区块链服务公有云一中为用户实际使用的区块链服务,包括运行有用户使用的智能合约,存储有用户使用的相关业务数据。区块链服务公有云二中为提供存证业务的公有云厂商,用户可使用公有云二中的公链进行存证业务。数据管理装置获取公有云一中的一个或多个区块的完整区块数据后,选择部分或全部的区块数据存证至区块链服务公有云二中,存储的具体区块链称为公链。为了便于理解,请参阅图3(c),图3(c)为本申请实施例中区块存证方法的另一个交互示意图,如图所示:区块链服务公有云一中为用户实际使用的区块链服务,包括运行有用户使用的智能合约,存储有用户使用的相关业务数据。区块链服务公有云二中为提供存证业务的公有云厂商,用户可使用公有云二中的公链进行存证业务。数据管理装置获取公有云一中的一个或多个区块的区块头数据、根据区块数据计算生成的hash值或根据区块数据计算生成的数字证书后,将这些数据存证至区块链服务公有云二中,存储的具体区块链称为公链。本申请实施例中,提供了一种区块存证的方法,首先,创建第一区块链,第一区块链为用户使用业务实际部署的区块链,其次,创建第二区块链,第二区块链为用户存证第一区块链中相关区块的区块链,再次,获取第一区块链中的第一区块,再次,存入第二区块链中进行存证。通过上述方法,数据管理装置可以获取用户使用的第一区块链中的区块,并存证于第三方平台的第二区块链中,保证当用户使用第一区块链的区块被篡改时,可使用第二区块链中的存证区块,证明第一区块链中的区块被篡改。提升了用户使用第一区块链时数据的安全性。实施例二,区块差异对比。请参阅图4,图4为本申请实施例中基于区块链的数据管理方法的另一个实施例示意图,本申请实施例中基于区块链的数据管理方法的另一个实施例包括:401、获取第一区块链中的区块;本实施例中,数据管理装置获取第一区块链中的区块,为了便于描述,本实施例中将该区块称为目标区块,当步骤401为本实施例中第一步执行的步骤时,目标区块既可以是数据管理装置根据用户指令选择的指定区块,也可以是数据管理装置随机选择的区块。当步骤401为本实施例中第二步执行的步骤,即首先执行步骤402后,再执行步骤401时,目标区块可以是根据步骤402中获取得到的第二区块链中的第二区块,在第一区块链中具有对应关系的区块,对应关系包括有:位置存在对应关系,即目标区块在第一区块链所在的位置,由于存证至第二区块链中的第二区块,为数据管理装置从第一区块链中获取的原始区块,因此获取的目标区块与原始区块的在第一区块链中所在位置一致。对应关系还包括有:相关数据的对应关系,数据管理装置获取的内容为目标区块的相关数据,目标区块中的相关数据与第二区块中的相关数据一致。当数据管理装置首先获取第二区块链中的第二区块时,根据获取得到第二区块的相关数据,获取第一区块链中与第二区块相关数据一致的区块,该区块为目标区块。获取第一区块链中的目标区块,具体为获取目标区块的相关数据,包括:(1)该区块的完整数据;(2)获取第一区块链中与目标区块有关的哈希值(hash),包括获取根据目标区块数据生成的区块数据哈希值(datahash),该datahash既可以由部署有该第一区块链的目标节点设备根据目标区块的区块数据生成得到,也可以通过获取目标区块的区块头中的datahash得到。当单独获取datahash时,还可以获取目标区块区块头中的prehash,该prehash用于指示该datahash所对应的目标区块在第一区块链中所在的位置,或是获取该目标区块的高度数据。(3)获取第一区块链中根据目标区块生成的数字签名,该数字签名可以由部署有该第一区块链的第一节点设备根据目标区块的datahash生成得到,还可以根据目标区块的prehash和datahash生成得到,还可以根据目标区块的高度数据和datahash生成得到,还可以根据目标区块的完整区块数据生成得到,此处不作限定。需要说明的是,当首先执行步骤402,再执行步骤401时,当获取第二区块的相关数据为第二区块的哈希值或数字证书时,获取目标区块除了获取对应的哈希值或数字证书,还需要获取目标区块的完整数据,以便于后续步骤的验证操作。402、获取第二区块链中的第二区块;本实施例中,数据管理装置获取第二区块链中的第二区块,该第二区块为数据管理装置使用第一区块链中的区块存证至第二区块链中生成的区块。当本实施例中步骤401为第一步执行的步骤时,数据管理装置根据步骤401中获取的第一区块链中目标区块的相关数据,查找获取第二区块链中与目标区块具有关联关系的区块,例如:具有相同prehash的区块或具有相同高度数据的区块,具有相同prehash和高度数据证明第二区块链中的区块为,使用与第一区块链中的目标区块,区块位置相同进行存证的区块。当本实施例中步骤402为第一步执行的步骤时,第二区块既可以是数据管理装置根据用户指令选择的指定区块,也可以是数据管理装置随机选择的区块。403、判断第一区块链中的区块是否被修改;本实施例中,数据管理装置根据第二区块链中的第二区块判断第一区块链中的区块是否被篡改。包括有对比第一区块链中目标区块的完整区块数据与第二区块链中的第二区块的完整区块数据是否一致、对比第一区块链中与目标区块有关的哈希值与第二区块链中与第二区块有关的哈希值是否一致或对比第一区块链中根据目标区块生成的目标区块数字签名与第二区块链中存储于第二区块中的数字签名是否一致。具体判断方法包括如下几种:a、首先获取第一区块链中的目标区块时(首先执行步骤401):a1、根据目标区块的prehash或高度数据查找第二区块链中存在相同prehash或高度数据的第二区块,获取第二区块至数据管理装置中后,读取第二区块。若第二区块中存证的数据为哈希值时,获取第一区块链中目标区块的哈希值进行对比;若第二区块中存证的数据为数字签名时,获取第一区块链中目标区块的数字签名进行对比;若第二区块中存证的数据为完整的区块数据时,获取第一区块链中目标完整的区块数据进行对比。若对比结果为一致,则第一区块链中的区块未被修改。若对比结果不一致,则第一区块链中的区块被修改。a2、根据目标区块的datahash或数字签名查找第二区块链中是否存在相同datahash或数字签名的区块,若存在,则第一区块链中的区块未被修改。若不存在,则第一区块链中的区块被修改。b、首先获取第二区块链中的第二区块时(首先执行步骤402):b1、根据第二区块中存证的哈希值或数字证书,查找第一区块链中存在相同哈希值或数字证书的目标区块,该哈希值至少包括有datahash。当第一区块链中存在相同哈希值或数字证书的目标区块时,数据管理装置获取第一区块链中的目标区块完整的区块数据,数据管理装置根据获取得到的目标区块完整的区块数据,计算对应的哈希值或数字证书。并使用计算得到的哈希值或数字证书与第二区块中的哈希值或数字证书进行对比。若对比结果为一致,则第一区块链中的区块未被修改。若对比结果不一致,则第一区块链中的区块被修改。具体对比数字签名的方法如下:首先直接对比目标区块数字证书与第二区块数字证书,若一致则使用数据管理装置中的公钥解密该数字证书得到对应的哈希值或完整的区块数据,公钥解密的结果根据实际制作数字证书时使用的数据决定,此处不做限制。若不一致,则目标区块被修改。当公钥解密得到的数据为哈希值时,数据管理装置根据获取得到的第一区块链中目标区块完整的区块数据计算对应的哈希值,并对比计算得到的哈希值与解密得到的哈希值是否一致。若一致,则目标区块未被修改。若不一致,则目标区块被修改。当公钥解密得到的数据为完整的区块数据时,数据管理装置根据获取得到的第一区块链中目标区块完整的区块数据,对比解密后得到的完整的区块数据是否一致。若一致,则目标区块未被修改。若不一致,则目标区块被修改。b2、根据第二区块中存证的完整的区块数据,查找第一区块链中存在相同的完整的区块数据的目标区块,若存在,则第一区块链中的区块未被修改。若不存在,则第一区块链中的区块被修改。404、记录差异。本实施例中,数据管理装置发现第一区块链中的区块被修改后,将发现第一区块链中的区块被修改称为差异事件,可将被修改的具体区块位置、区块中被修改的具体数据以及发现被修改的时间等数据记录至本地,还可以记录至第二区块链中的区块中。数据管理装置可以根据用户的指令,将记录的差异事件发送给用户,还可以根据预设的指令,每间隔一定时长,将记录的差异事件发送给用户。具体执行的方法,此处不作限定。本申请实施例中,提供了一种区块差异对比的方法,首先,获取第一区块链中的区块和获取第二区块链中的第二区块,获取第一区块链中的区块与获取第二区块链中的第二区块的顺序不作限定,其次,数据管理装置根据第一区块链中的区块以及第二区块,判断第一区块链中的区块是否被修改,再次,若修改则记录差异。通过上述方式,数据管理装置可使用第二区块链中存证的第二区块,判断第一区块链中的区块是否被修改。通过多种具体的判断方法,进一步提升了用户数据的安全性,使用的便捷性。在图3(a)、图3(b)、图3(c)以及图4对应的实施例的基础上,如图5所示,图5为本申请实施例中区块存证的一个应用场景流程示意图,本申请实施例中区块存证的应用场景包括:步骤s1中,数据管理装置获取第一区块链中的区块,具体获取方法与图3(a)中步骤303相似,此处不再赘述;步骤s2中,数据管理装置与部署有第一区块链的baas厂商一之间通过专有端口连接,判断是否得到区块有多种方法,例如:当数据管理装置通过该端口中接收到数据时,可判断得到区块;数据管理装置每次通过该端口接收到新数据时,可记录本次接收到的数据,当下一次从该端口中接收到数据时,判断下一次接收到的数据与前次接收到的数据是否不一致,若不一致,则可判断得到区块;baas厂商一每次向数据管理装置发送数据时,一同发送的还有指示当前发送数据类型的指令,当发送的数据为新区块时,一同发送的指令为“yes”,数据管理装置接收到该指令后,可判断得到区块。根据实际用户的需求,确定使用判断是否得到区块的方法,此处不作限定。若数据管理装置判断得到区块,则进入步骤s3;若数据管理装置判断未得到区块,则进入步骤s5;步骤s3中,数据管理装置得到区块后,将区块存入第二区块链中进行存证,具体存入方法与图3(a)中步骤304相似,此处不再赘述;步骤s4中,数据管理装置在完成区块的存证步骤后,判断是否接收到结束指令,该结束指令由外界用户下达,该结束指令用于停止数据管理装置获取区块以及区块存证工作,若接收到结束指令,则进入步骤s6;若判断未接收到结束指令,则进入步骤s5;步骤s5中,当数据管理装置未得到区块或未接收到结束指令时,等待预设时间间隔后,获取第一区块链中的区块,该预设时间间隔根据实际需求决定,当用户对数据安全性要求较高时,预设时间间隔可以为1秒,即每隔1秒获取一次第一区块链中的区块,当用户对数据安全性要求较低时,预设时间间隔可以为24小时,即每隔24小时获取一次第一区块链中的区块。具体的预设时间间隔此处不作限定。步骤s6中,数据管理装置接收到结束指令后,停止数据管理装置获取区块以及区块存证工作。当接收到启动指令后,可重新进行获取区块以及区块存证工作。本方案中,数据管理装置可以获取用户使用的第一区块链中的区块,并存证于第三方平台的第二区块链中,保证当用户使用第一区块链的区块被篡改时,可使用第二区块链中的存证区块,证明第一区块链中的区块被篡改。数据管理装置可以周期性获取第一区块链中的区块,并存入第二区块链中完成存证工作,提升了用户使用第一区块链时数据的安全性。提升了获取区块的效率。在图3(a)、图3(b)、图3(c)、图4以及图5对应的实施例的基础上,如图6所示,图6为本申请实施例中区块存证的另一个应用场景流程示意图,本申请实施例中区块存证的另一个应用场景包括:步骤l1中,数据管理装置向运行有第一区块链的区块链厂商和/或公有云厂商的厂商一发送订阅请求,厂商一响应于该订阅请求后,在第一区块链产生新区块时,向数据管理装置发送产生的新区块。例如:厂商一接收到数据管理装置发送的关于第一区块链的订阅请求后,厂商一完成对数据管理装置的注册工作,并建立与该数据管理装置专用的端口与通道,当厂商一检测到第一区块链中产生新区块时,可提取出该新区块的相关数据,并将这些数据发送至数据管理装置。步骤l2中,数据管理装置获取第一区块链中的区块,具体获取方法与图3(a)中步骤303相似,此处不再赘述;步骤l3中,数据管理装置得到区块后,将区块存入第二区块链中进行存证,具体存入方法与图3(a)中步骤304相似,此处不再赘述;步骤l4中,数据管理装置在完成区块的存证步骤后,判断是否接收到结束指令,该结束指令由外界用户下达,该结束指令用于停止数据管理装置获取区块以及区块存证工作,若接收到结束指令,则进入步骤l5;若判断未接收到结束指令,则进入步骤l2;步骤l5中,数据管理装置接收到结束指令后,停止数据管理装置获取区块以及区块存证工作。当接收到启动指令后,可重新进行获取区块以及区块存证工作。本方案中,数据管理装置可以向运行有第一区块链的区块链厂商发送订阅请求,当第一区块链中产生新区块时,该区块链厂商向数据管理装置发送新区块的相关数据,数据管理装置获取第一区块链中的新区块,并存证于第三方平台的第二区块链中,保证当用户使用第一区块链的区块被篡改时,可使用第二区块链中的存证区块,证明第一区块链中的区块被篡改。数据管理装置可以实时获取第一区块链中的产生的区块,并存入第二区块链中完成存证工作,提升了对第一区块链的区块进行存证的效率,提升了用户使用第一区块链时数据的安全性。下面对本申请中一个实施例对应的数据管理装置进行详细描述,请参阅图7,图7为本申请实施例中数据管理装置的实施例示意图。本申请实施例中的数据管理装置70包括:获取模块701,用于获取第一识别信息,第一识别信息根据第一区块生成,第一区块为第一区块链上的一个区块;生成模块702,用于根据第一识别信息,生成指示信息,指示信息用于指示备链节点生成第二区块,第二区块的区块数据中包含第一识别信息,第二区块为第二区块链上的一个区块;获取模块701,还用于获取第二识别信息,第二识别信息是根据第二区块生成的;获取模块701,还用于获取第三识别信息,第三识别信息是根据第三区块生成的,第三区块为第一区块链上与第一区块位置相同的区块;判断模块703,用于根据第二识别信息与第三识别信息,判断第一区块与第三区块的区块数据是否一致。本实施例中,获取模块701,用于获取第一识别信息,第一识别信息根据第一区块生成,第一区块为第一区块链上的一个区块,生成模块702,用于根据第一识别信息,生成指示信息,指示信息用于指示备链节点生成第二区块,第二区块的区块数据中包含第一识别信息,第二区块为第二区块链上的一个区块,获取模块701,还用于获取第二识别信息,第二识别信息是根据第二区块生成的,获取模块701,还用于获取第三识别信息,第三识别信息是根据第三区块生成的,第三区块为第一区块链上与第一区块位置相同的区块,判断模块703,用于根据第二识别信息与第三识别信息,判断第一区块与第三区块的区块数据是否一致。本申请实施例中,提供了一种基于区块链的数据管理方法,首先,数据管理装置获取第一区块链中第一区块的相关识别信息,该识别信息命名为第一识别信息,数据管理装置根据该第一识别信息,生成指示信息,该指示信息用于指示备链节点生成第二区块,该第二区块为部署于第二区块链即备链中的一个区块,备链节点为运行该第二区块链中的一个节点,生成的第二区块中包含有该第一识别信息的相关数据。数据管理装置将第一区块的第一识别信息在第二区块链中进行存证之后,获取由第二区块生成的第二识别信息,该第二识别信息既可以由第二区块链中的相关节点根据第二区块的相关区块数据生成,也可以由数据管理装置根据第二区块的相关区块数据生成,此处不作限定。数据管理装置获取第三识别信息,该第三识别信息由第三区块生成,该第三区块为第一区块链中与第一区块相同位置的区块,可以理解为数据管理装置在将第一区块的相关识别信息进行存证后,对该第一区块进行识别。该第三识别信息既可以由第一区块链中的相关节点根据第一区块的相关区块数据生成,也可以由数据管理装置根据第一区块的相关区块数据生成,此处不作限定。数据管理装置获取到第二识别信息以及第三识别信息之后,可根据这两个识别信息判断第一区块与第三区块是否一致,即第一区块是否被篡改。若一致,则第一区块未被篡改,若不一致,则第一区块被篡改。通过使用第三方区块链服务商提供的区块链服务部署第二区块链作为第一区块链的备份链,使用第二区块链中的备份区块用以验证第一区块链中的区块是否被修改,有效地监督了区块数据,提升了数据的安全性。在图7所对应的实施例的基础上,本申请实施例提供的数据管理装置70的另一实施例中,数据管理装置70包括:第三识别信息包含第三区块的区块数据,第三区块的区块数据为存储于第三区块上的数据;获取第三识别信息,包括:获取模块701,具体用于在获取第二识别信息之后,获取第三识别信息;判断模块703,具体用于根据第二识别信息与第三识别信息,判断第一区块与第三区块的区块数据是否一致。本申请实施例中,数据管理装置在获取第二识别信息之后,获取第三区块的第三识别信息,该第三识别信息中包含有第三区块的区块数据,该区块数据为存储于第三区块上的数据,根据第二识别信息以及第三识别信息判断第一区块与第二区块的区块数据是否一致。通过获取第三区块的完整区块数据,与根据备份链第二区块链中的第二区块生成的第二识别信息进行对比,判断第一区块是否被篡改,校验完整的第三区块数据,避免了部署第一区块链的厂商伪造第三区块的相关识别信息以通过数据管理装置的校验,进一步提升了数据的安全性。在图7所对应的实施例的基础上,本申请实施例提供的数据管理装置70的另一实施例中,数据管理装置70包括:第一识别信息为第一区块的区块数据;第二区块的区块数据与第一区块的区块数据相同。本申请实施例中,数据管理装置获取得到的第一识别信息可以为第一区块的区块数据,当第一识别信息为第一区块的区块数据时,数据管理装置根据第一识别信息指示备链节点生成第二区块,该第二区块中的区块数据与第一区块的区块数据相同。数据管理装置使用第一区块的区块数据在第二区块链中进行存证,提升了方案的实现灵活性。在图7所对应的实施例的基础上,本申请实施例提供的数据管理装置70的另一实施例中,数据管理装置70包括:第二识别信息为第二区块的区块数据;第三识别信息为第三区块的区块数据;或第二识别信息包括第二区块的区块数据的哈希值;第三识别信息包括第三区块的区块数据的哈希值;或第二识别信息包括第二区块的区块数据的数字签名;第三识别信息包括第三区块的区块数据的数字签名。本申请实施例中,数据管理装置获取的第一识别信息为第一区块的区块数据,并使用该第一识别信息于第二区块链中进行存证之后,第二区块链中存证的第二区块的区块数据与第一区块的区块数据相同。既可以先获取第二识别信息再获取第三识别信息,也可以先获取第三识别信息再获取第二识别信息,获取识别信息的顺序不作限定。进行对比校验的步骤包含以下多种:数据管理装置获取第二识别信息,该第二识别信息可以是第二区块的区块数据,与第二识别信息所对应的,第三识别信息为第三区块的区块数据。该第二识别信息还可以是第二区块的区块数据的哈希值,该第二区块的区块数据的哈希值,该第二区块的区块数据的哈希值即可以为第二区块链中相关节点根据第二区块的区块数据生成,也可以为数据管理装置根据获取得到的第二区块的区块数据生成,此处不作限定。该第二识别信息还可以为第二区块的区块数据的数字签名,该第二区块的区块数据的数字签名即可以为第二区块链中相关节点根据第二区块的区块数据生成,也可以为数据管理装置根据获取得到的第二区块的区块数据生成,此处不作限定。可以采用多种方式进行校验第一区块是否被篡改,提升了方案的可行性。在图7所对应的实施例的基础上,本申请实施例提供的数据管理装置70的另一实施例中,数据管理装置70包括:第一识别信息包括第一区块的哈希值;第二识别信息包括第二区块的区块数据中第一区块的哈希值;第三识别信息包括第三区块的哈希值。本申请实施例中,数据管理装置获取第一识别信息可以为第一区块的哈希值,该第一区块的哈希值可以为第一区块链中的节点根据第一区块的部分区块数据或全部区块数据生成,也可以为数据管理装置根据第一区块的部分区块数据或全部区块数据生成,当数据管理装置获取得到第一识别信息后,根据该识别信息,指示备链节点在第二区块链中生成第二区块,第二区块的区块数据为第一区块的哈希值,因此当数据管理装置对第三区块进行校验时,获取得到的第二识别信息为第二区块的区块数据中第一区块的哈希值,与哈希值相对应,第三识别信息为第三区块的哈希值,该第三区块的哈希值,既可以是第一区块链中相关节点根据第三区块的相关数据生成,还可以是数据管理装置根据第三区块的相关数据生成,此处不作限定。通过校验与区块数据相关的哈希值,降低了使用第二区块链进行存证时占用的存储空间,提升了方案的实现灵活性。由于哈希值具有唯一性,因此保证了数据校验的准确性,提升了数据的安全性。在图7所对应的实施例的基础上,本申请实施例提供的数据管理装置70的另一实施例中,数据管理装置70包括:第一识别信息包括第一区块的数字签名;第二识别信息包括第二区块的区块数据中第一区块的数字签名;第三识别信息包括第三区块的数字签名。本申请实施例中,数据管理装置获取第一识别信息可以为第一区块的数字签名,该第一区块的数字签名可以为第一区块链中的节点根据第一区块的部分区块数据或全部区块数据生成,也可以为数据管理装置根据第一区块的部分区块数据或全部区块数据生成,当数据管理装置获取得到第一识别信息后,根据该识别信息,指示备链节点在第二区块链中生成第二区块,第二区块的区块数据为第一区块的数字签名,因此当数据管理装置对第三区块进行校验时,获取得到的第二识别信息为第二区块的区块数据中第一区块的数字签名,与数字签名相对应,第三识别信息为第三区块的数字签名,该第三区块的数字签名,既可以是第一区块链中相关节点根据第三区块的相关数据生成,还可以是数据管理装置根据第三区块的相关数据生成,此处不作限定。通过校验与区块数据相关的数字签名,降低了使用第二区块链进行存证时占用的存储空间,提升了方案的实现灵活性。由于数字签名具有唯一性,因此保证了数据校验的准确性,提升了数据的安全性。本申请实施例还提供了一种数据管理装置,如图8所示,图8为本申请实施例中数据管理装置的一种结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该数据管理装置运行于终端,终端可以为包括手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、销售终端(pointofsales,pos)、车载电脑等任意终端设备,以终端为手机为例:手机包括:射频(radiofrequency,rf)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(wirelessfidelity,wifi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图8中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。rf电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,rf电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte)、电子邮件、短消息服务(shortmessagingservice,sms)等。存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入单元830可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图8中,触控面板981与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。手机还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。音频电路860、扬声器861,传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经rf电路810以发送给比如另一手机,或者将音频数据输出至存储器820以便进一步处理。wifi属于短距离无线传输技术,手机通过wifi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了wifi模块870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理单元;可选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。手机还包括给各个部件供电的电源890(比如电池),可选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。在本申请实施例中,该终端所包括的处理器880还具有以下功能:获取第一识别信息,第一识别信息根据第一区块生成,第一区块为第一区块链上的一个区块;根据第一识别信息,生成指示信息,指示信息用于指示备链节点生成第二区块,第二区块的区块数据中包含第一识别信息,第二区块为第二区块链上的一个区块;获取第二识别信息,第二识别信息是根据第二区块生成的;获取第三识别信息,第三识别信息是根据第三区块生成的,第三区块为第一区块链上与第一区块位置相同的区块;根据第二识别信息与第三识别信息,判断第一区块与第三区块的区块数据是否一致。处理器880具体用于执行如下步骤:第三识别信息包含第三区块的区块数据,第三区块的区块数据为存储于第三区块上的数据;获取第三识别信息,包括:在获取第二识别信息之后,获取第三识别信息;根据第二识别信息与第三识别信息,判断第一区块与第三区块的区块数据是否一致。处理器880具体用于执行如下步骤:第一识别信息为第一区块的区块数据;第二区块的区块数据与第一区块的区块数据相同。处理器880具体用于执行如下步骤:第二识别信息为第二区块的区块数据;第三识别信息为第三区块的区块数据;或第二识别信息包括第二区块的区块数据的哈希值;第三识别信息包括第三区块的区块数据的哈希值;或第二识别信息包括第二区块的区块数据的数字签名;第三识别信息包括第三区块的区块数据的数字签名。处理器880具体用于执行如下步骤:第一识别信息包括第一区块的哈希值;第二识别信息包括第二区块的区块数据中第一区块的哈希值;第三识别信息包括第三区块的哈希值。处理器880具体用于执行如下步骤:第一识别信息包括第一区块的数字签名;第二识别信息包括第二区块的区块数据中第一区块的数字签名;第三识别信息包括第三区块的数字签名。本申请实施例提供的数据管理装置还可以部署于服务器中,该服务器可以为单个服务器也可以为多个服务器组成的服务器集群,下面,以单个服务器进行描述。请参阅图9,图9为本申请实施例中提供的一种服务器结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。上述实施例中由服务器所执行的步骤可以基于该图9所示的服务器结构。cpu922可以用于执行如下步骤:获取第一识别信息,第一识别信息根据第一区块生成,第一区块为第一区块链上的一个区块;根据第一识别信息,生成指示信息,指示信息用于指示备链节点生成第二区块,第二区块的区块数据中包含第一识别信息,第二区块为第二区块链上的一个区块;获取第二识别信息,第二识别信息是根据第二区块生成的;获取第三识别信息,第三识别信息是根据第三区块生成的,第三区块为第一区块链上与第一区块位置相同的区块;根据第二识别信息与第三识别信息,判断第一区块与第三区块的区块数据是否一致。cpu922还用于执行如下步骤:第三识别信息包含第三区块的区块数据,第三区块的区块数据为存储于第三区块上的数据;获取第三识别信息,包括:在获取第二识别信息之后,获取第三识别信息;根据第二识别信息与第三识别信息,判断第一区块与第三区块的区块数据是否一致。cpu922还用于执行如下步骤:第一识别信息为第一区块的区块数据;第二区块的区块数据与第一区块的区块数据相同。cpu922还用于执行如下步骤:第二识别信息为第二区块的区块数据;第三识别信息为第三区块的区块数据;或第二识别信息包括第二区块的区块数据的哈希值;第三识别信息包括第三区块的区块数据的哈希值;或第二识别信息包括第二区块的区块数据的数字签名;第三识别信息包括第三区块的区块数据的数字签名。cpu922还用于执行如下步骤:第一识别信息包括第一区块的哈希值;第二识别信息包括第二区块的区块数据中第一区块的哈希值;第三识别信息包括第三区块的哈希值。cpu922还用于执行如下步骤:第一识别信息包括第一区块的数字签名;第二识别信息包括第二区块的区块数据中第一区块的数字签名;第三识别信息包括第三区块的数字签名。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。当前第1页1 2 3 当前第1页1 2 3 
技术特征:

1.一种基于区块链的数据管理方法,其特征在于,所述方法应用于数据管理装置,所述方法包括:

获取第一识别信息,所述第一识别信息根据第一区块生成,所述第一区块为第一区块链上的一个区块;

根据所述第一识别信息,生成指示信息,所述指示信息用于指示备链节点生成第二区块,所述第二区块的区块数据中包含所述第一识别信息,所述第二区块为第二区块链上的一个区块;

获取第二识别信息,所述第二识别信息是根据所述第二区块生成的;

获取第三识别信息,所述第三识别信息是根据第三区块生成的,所述第三区块为所述第一区块链上与所述第一区块位置相同的区块;

根据所述第二识别信息与所述第三识别信息,判断所述第一区块与所述第三区块的区块数据是否一致。

2.根据权利要求1所述的方法,其特征在于,

所述第三识别信息包含所述第三区块的区块数据,所述第三区块的区块数据为存储于所述第三区块上的数据;

所述获取第三识别信息,包括:

在所述获取所述第二识别信息之后,获取所述第三识别信息;

根据所述第二识别信息与所述第三识别信息,判断所述第一区块与所述第三区块的区块数据是否一致。

3.根据权利要求1或2中任一项所述的方法,其特征在于,

所述第一识别信息为所述第一区块的区块数据;

所述第二区块的区块数据与所述第一区块的区块数据相同。

4.根据权利要求3所述的方法,其特征在于,

所述第二识别信息为所述第二区块的区块数据;

所述第三识别信息为所述第三区块的区块数据;

所述第二识别信息包括所述第二区块的区块数据的哈希值;

所述第三识别信息包括所述第三区块的区块数据的哈希值;

所述第二识别信息包括所述第二区块的区块数据的数字签名;

所述第三识别信息包括所述第三区块的区块数据的数字签名。

5.根据权利要求1或2中任一项所述的方法,其特征在于,

所述第一识别信息包括所述第一区块的哈希值;

所述第二识别信息包括所述第二区块的区块数据中所述第一区块的哈希值;

所述第三识别信息包括所述第三区块的哈希值。

6.根据权利要1或2中任一项所述的方法,其特征在于,

所述第一识别信息包括所述第一区块的数字签名;

所述第二识别信息包括所述第二区块的区块数据中所述第一区块的数字签名;

所述第三识别信息包括所述第三区块的数字签名。

7.一种数据管理装置,其特征在于,包括:

获取模块,用于获取第一识别信息,所述第一识别信息根据第一区块生成,所述第一区块为第一区块链上的一个区块;

生成模块,用于根据所述第一识别信息,生成指示信息,所述指示信息用于指示备链节点生成第二区块,所述第二区块的区块数据中包含所述第一识别信息,所述第二区块为第二区块链上的一个区块;

所述获取模块,还用于获取第二识别信息,所述第二识别信息是根据所述第二区块生成的;

所述获取模块,还用于获取第三识别信息,所述第三识别信息是根据第三区块生成的,所述第三区块为所述第一区块链上与所述第一区块位置相同的区块;

判断模块,用于根据所述第二识别信息与所述第三识别信息,判断所述第一区块与所述第三区块的区块数据是否一致。

8.根据权利要求7所述的数据管理装置,其特征在于,

所述第三识别信息包含所述第三区块的区块数据,所述第三区块的区块数据为存储于所述第三区块上的数据;

所述获取第三识别信息,包括:

所述获取模块,具体用于在所述获取所述第二识别信息之后,获取所述第三识别信息;

所述判断模块,具体用于根据所述第二识别信息与所述第三识别信息,判断所述第一区块与所述第三区块的区块数据是否一致。

9.根据权利要求7或8中任一项所述的数据管理装置,其特征在于,

所述第一识别信息为所述第一区块的区块数据;

所述第二区块的区块数据与所述第一区块的区块数据相同。

10.根据权利要求9所述的数据管理装置,其特征在于,

所述第二识别信息为所述第二区块的区块数据;

所述第三识别信息为所述第三区块的区块数据;

所述第二识别信息包括所述第二区块的区块数据的哈希值;

所述第三识别信息包括所述第三区块的区块数据的哈希值;

所述第二识别信息包括所述第二区块的区块数据的数字签名;

所述第三识别信息包括所述第三区块的区块数据的数字签名。

11.根据权利要求7或8中任一项所述的数据管理装置,其特征在于,

所述第一识别信息包括所述第一区块的哈希值;

所述第二识别信息包括所述第二区块的区块数据中所述第一区块的哈希值;

所述第三识别信息包括所述第三区块的哈希值。

12.根据权利要求7或8中任一项所述数据管理装置,其特征在于,

所述第一识别信息包括所述第一区块的数字签名;

所述第二识别信息包括所述第二区块的区块数据中所述第一区块的数字签名;

所述第三识别信息包括所述第三区块的数字签名。

13.一种数据管理装置,其特征在于,包括:存储器、收发器、处理器以及总线系统;

其中,所述存储器用于存储程序和指令;

所述收发器用于在所述处理器的控制下接收或发送信息;

所述处理器用于执行所述存储器中的程序;

所述总线系统用于连接所述存储器、所述收发器以及所述处理器,以使所述存储器、所述收发器以及所述处理器进行通信;

所述处理器用于调用所述存储器中的程序指令,执行如权利要求1至6中任一项所述的方法。

14.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至6任意一项所述的方法。

15.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1至6任意一项所述的方法。

技术总结
本申请实施例公开了一种基于区块链的数据管理方法,应用于数据管理装置。通过在第三方区块链服务商中存证数据,该数据为当前使用的区块链中区块的相关数据,该数据管理装置可通过存证区块的相关数据校验当前使用的区块链中的区块是否被篡改。本申请还提供了一种数据管理装置。通过以上方法或装置,有效地监督了区块数据,提升了数据的安全性。

技术研发人员:刘勋;丁健;刘奇;陈黎君;魏艳兰
受保护的技术使用者:华为技术有限公司
技术研发日:2018.11.30
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-21526.html

最新回复(0)