首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块头 / 基于区块链的数据验证方法、装置和计算机可读存储介质

基于链的数据验证方法、装置和计算机可读存储介质

阅读:1021发布:2020-05-27

专利汇可以提供基于链的数据验证方法、装置和计算机可读存储介质专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种基于 区 块 链 的数据验证方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取待验证数据;确定与待验证数据的业务类型对应的SPV 节点 ,SPV节点存储有与业务类型对应数据的 区块头 ,区块头由SPV节点从SPV节点所属区块链网络中的公信 力 共识节点中获取得到;确定待验证数据的特征值;将特征值发送至SPV节点,特征值用于指示SPV节点根据区块头对特征值进行数据验证。本申请提供的方案提高数据验证的处理效率。,下面是基于链的数据验证方法、装置和计算机可读存储介质专利的具体信息内容。

1.一种基于链的数据验证方法,包括:
获取待验证数据;
确定与所述待验证数据的业务类型对应的SPV节点,所述SPV节点存储有与所述业务类型对应数据的区块头,所述区块头由所述SPV节点从所述SPV节点所属区块链网络中的公信共识节点中获取得到;
确定所述待验证数据的特征值;
将所述特征值发送至所述SPV节点,所述特征值用于指示所述SPV节点根据所述区块头对所述特征值进行数据验证。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述待验证数据的业务类型对应的SPV节点包括:
确定所述待验证数据的业务类型;
查询预设的SPV节点表,所述SPV节点表记载各SPV节点与业务类型之间的对应关系;
根据所述待验证数据的业务类型和所述对应关系,从所述SPV节点表中确定与所述待验证数据的业务类型对应的SPV节点。
3.根据权利要求1所述的方法,其特征在于,所述确定所述待验证数据的特征值包括:
按照所述待验证数据的数据类型,对所述待验证数据进行分类;
基于预设的哈希算法对分类后的待验证数据分别进行处理,得到所述分类后的待验证数据的特征值;
根据所述分类后的待验证数据的特征值得到所述待验证数据的特征值。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述待验证数据的数据验证结果;
将所述数据验证结果存储至缓存中;
当所述数据验证结果在所述缓存中存在的时长达到所述数据验证结果对应的存活时长时,将所述数据验证结果从所述缓存中删除;
其中,所述存活时长是固定时长或根据所述待验证数据的验证记录动态确定的时长。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当接收到数据验证请求时,查询所述缓存;
当确定所述缓存中存在所述数据验证请求对应的数据验证结果时,从所述缓存中获取所述数据验证请求对应的数据验证结果。
6.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
获取待存证数据;
确定所述待存证数据的特征值;
将所述待存证数据的特征值发送至所述公信力共识节点;所述待存证数据的特征值用于指示所述公信力共识节点对所述待存证数据的特征值进行本地存证,并将所述待存证数据的特征值在所述公信力共识节点所属区块链网络中的其他公信力共识节点进行共识处理。
7.根据权利要求6所述的方法,其特征在于,在所述将所述待存证数据的特征值发送至所述公信力共识节点之后,还包括:
监测所述待存证数据的特征值的存证状态;
当所述待存证数据的特征值的存证状态为存证成功时,生成所述待存证数据的特征值的存证记录数据;
将所述存证记录数据存储至本地存储器中。
8.一种基于区块链的数据验证装置,其特征在于,所述装置包括:
待验证数据获取模块,用于获取待验证数据;
验证节点确定模块,用于确定与所述待验证数据的业务类型对应的SPV节点,所述SPV节点存储有与所述业务类型对应数据的区块头,所述区块头由所述SPV节点从所述SPV节点所属区块链网络中的公信力共识节点中获取得到;
特征值确定模块,用于确定所述待验证数据的特征值;
数据验证处理模块,用于将所述特征值发送至所述SPV节点,所述特征值用于指示所述SPV节点根据所述区块头对所述特征值进行数据验证。
9.根据权利要求8所述的装置,其特征在于,还包括:
验证结果获取模块,用于获取所述待验证数据的数据验证结果;
验证结果缓存模块,用于将所述数据验证结果存储至缓存中;
验证结果维护模块,用于当所述数据验证结果在所述缓存中存在的时长达到所述数据验证结果对应的存活时长时,将所述数据验证结果从所述缓存中删除;
其中,所述存活时长是固定时长或根据所述待验证数据的验证记录动态确定的时长。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。

说明书全文

基于链的数据验证方法、装置和计算机可读存储介质

技术领域

[0001] 本申请涉及区块链技术领域,特别是涉及一种基于区块链的数据验证方法、装置、计算机可读存储介质和计算机设备。

背景技术

[0002] 区块链网络是一种去中心化的网络,网络中各节点处于对等地位,从而每个节点均要具有共识能,以在各节点保存所有数据,从而确保区块链网络中保存的数据不可被篡改。区块链网络中节点数量越多,网络安全性越高。基于区块链网络可以对数据进行验证,以检验数据是否被篡改过。然而,随着区块链中存储的数据量不断增大,各节点进行同步共识处理的数据量急剧增加,导致区块链网络各节点进行数据验证时的效率降低,从而影响了区块链网络的性能。发明内容
[0003] 基于此,有必要针对区块链网络各节点进行数据校验处理的效率低的技术问题,提供一种基于区块链的数据验证方法、装置、计算机可读存储介质和计算机设备。
[0004] 一种基于区块链的数据验证方法,包括:
[0005] 获取待验证数据;
[0006] 确定与所述待验证数据的业务类型对应的SPV节点,所述SPV节点存储有与所述业务类型对应数据的区块头,所述区块头由所述SPV节点从所述SPV节点所属区块链网络中的公信力共识节点中获取得到;
[0007] 确定所述待验证数据的特征值;
[0008] 将所述特征值发送至所述SPV节点,所述特征值用于指示所述SPV节点根据所述区块头对所述特征值进行数据验证。
[0009] 一种基于区块链的数据验证装置,所述装置包括:
[0010] 待验证数据获取模块,用于获取待验证数据;
[0011] 验证节点确定模块,用于确定与所述待验证数据的业务类型对应的SPV节点,所述SPV节点存储有与所述业务类型对应数据的区块头,所述区块头由所述SPV节点从所述SPV节点所属区块链网络中的公信力共识节点中获取得到;
[0012] 特征值确定模块,用于确定所述待验证数据的特征值;
[0013] 数据验证处理模块,用于将所述特征值发送至所述SPV节点,所述特征值用于指示所述SPV节点根据所述区块头对所述特征值进行数据验证。
[0014] 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上所述基于区块链的数据验证方法的步骤。
[0015] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述基于区块链的数据验证方法的步骤。
[0016] 上述基于区块链的数据验证方法、装置、计算机可读存储介质和计算机设备,根据待验证数据的业务类型确定对应存储有与各业务类型对应数据的区块头的SPV节点,并通过确定的SPV节点对待验证数据的特征值进行数据校验,可以直接通过SPV节点存储的与各业务类型对应数据的区块头对待验证数据的特征值进行数据验证,不需要进行完整数据验证,减少了数据验证处理时的数据量,从而提高了数据验证的处理效率。附图说明
[0017] 图1为一个实施例中基于区块链的数据验证方法的应用环境图;
[0018] 图2为一个实施例中基于区块链的数据验证方法的流程示意图;
[0019] 图3为一个实施例中确定SPV节点的流程示意图;
[0020] 图4为一个实施例中基于区块链的数据验证装置的结构框图
[0021] 图5为一个实施例中计算机设备的结构框图。

具体实施方式

[0022] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0023] 图1为一个实施例中基于区块链的数据验证方法的应用环境图。(例子:参照图1,该基于区块链的数据验证方法应用于数据验证系统。该数据验证系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。)
[0024] 如图2所示,在一个实施例中,提供了一种基于区块链的数据验证方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该基于区块链的数据验证方法具体包括如下步骤:
[0025] S202,获取待验证数据。
[0026] 待验证数据为需要通过区块链网络进行数据验证的数据,如需要验证的交易数据、需要验证的作品等。待验证数据具体可以根据接收的数据验证请求得到,如可以直接从数据验证请求中提取得到待验证数据,或在数据验证请求仅包括待验证数据的获取途径时,根据该获取途径获取对应的待验证数据。
[0027] S204,确定与待验证数据的业务类型对应的SPV节点,SPV节点存储有与业务类型对应数据的区块头,区块头由SPV节点从SPV节点所属区块链网络中的公信力共识节点中获取得到。
[0028] 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
[0029] 区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
[0030] 平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。区块链网络由分布式的节点组成,其中每个共识节点都是平等地保存有所有数据,即各共识节点实现了共识,共识是指多方参与的节点在预设规则下,通过多个节点交互对某些数据、行为或流程达成一致的过程,共识机制是指定义共识处理过程的算法、协议和规则。
[0031] 本实施例中,区块链网络由SPV(Simplified Payment Ver/pification,简单支付验证)节点和公信力共识节点组成。其中,公信力共识节点作为重量级节点,其存储有完整的区块链数据,由可信任的权威机构维护,对硬件和网络要求都比较高。在联盟链情况下出于安全和性能的考虑,公信力共识节点可以仅限于少数成员可以部署。比如,在存证场景下,公信力共识节点可以仅限于国家各大省的版权机构、司法结构部署。公信力共识节点用于对存证数据进行共识处理,以实现存证数据的上链,以便可以对存证数据进行验证。SPV节点是一种轻量级区块节点,用于实时或定期从公信力共识节点获取与自己节点业务类型对应数据的区块头,其只需存储区块头即可实现支付验证。区块头存储有区块的头信息,区块的详细信息存储在区块体中,区块头可以包含上一个区块的哈希值,本区块体的哈希值、以及时间戳等等信息,通过区块头可以实现对数据的验证。比如,在存证场景下,省局下的市区级的版权机构、司法机构等可以部署SPV节点,这样每个市区都有一个获取链上数据的入口。
[0032] 通过部署SPV节点和公信力共识节点,一方面可以限制具有共识能力的公信力共识节点的数量,以提高数据验证的处理效率,另一方面可以通过存储有与各业务类型对应数据的区块头的SPV节点确保区块链网络的抗风险能力,提高区块链网格的安全性。具体地,获得待验证数据后,进一步确定待验证数据的业务类型,如存证业务、公证业务、仲裁服务等。不同的业务类型数据的区块头通过不同的SPV节点进行维护,即按照数据的业务类型部署对应的SPV节点以存储该业务类型数据上链后的区块头,从而实现基于该SPV节点对该业务类型数据进行快速验证,而不需要具有共识能力的公信力共识节点直接基于完全区块进行数据验证处理。
[0033] S206,确定待验证数据的特征值。
[0034] 待验证数据的特征值为将待验证数据进行映射处理后,得到的适于由区块链网络进行处理的数据。具体实现时,可以利用映射算法,如哈希算法对待验证数据进行运算,得到待验证数据的特征值。其中,通过哈希算法预算得到的数据为由0和1组成的数据,哈希算法可以将输入的任何信息或文件的源文件映射成固定长度的唯一值进行输出,一旦源文件发生任何修改改变,对应哈希值都会发生巨大变化。且哈希运算为不可逆过程,即无法通过哈希运算得到的哈希值推算出源文件,可以确保源文件的安全。
[0035] S208,将特征值发送至SPV节点,特征值用于指示SPV节点根据区块头对特征值进行数据验证。
[0036] 得到待验证数据的特征值后,将该特征值发送至确定的SPV节点,以指示该SPV节点根据区块头对特征值进行数据验证。具体应用时,将特征值发送至确定的SPV节点,SPV节点接收到该特征值后,从已存储的,从公信力共识节点中获取得到的与业务类型对应数据的区块头中,查询该特征值对应的区块头,若查询成功,即查询确定SPV节点中存储有该特征值对应的区块头,即表明该待验证数据已预先在区块链网络中存在过,且数据未发生篡改,则可以得到数据验证结果为验证通过;否则,表明该待验证数据未在该区块链网络中存证过,或待验证数据已被篡改,导致当前待验证数据的特征值与数据存证时得到的区块头不对应,则可以得到数据验证结果为验证不通过,从而实现对待验证数据的快速准确验证。
[0037] 上述基于区块链的数据验证方法,根据待验证数据的业务类型确定对应存储有与各业务类型对应数据的区块头的SPV节点,并通过确定的SPV节点对待验证数据的特征值进行数据校验,可以直接通过SPV节点存储的与各业务类型对应数据的区块头对待验证数据的特征值进行数据验证,不需要进行完整数据验证,减少了数据验证处理时的数据量,从而提高了数据验证的处理效率。
[0038] 在一个实施例中,如图3所示,确定SPV节点的处理,即确定与待验证数据的业务类型对应的SPV节点包括:
[0039] S302,确定待验证数据的业务类型。
[0040] 本实施例中,基于预设的记载各SPV节点与业务类型之间的对应关系的SPV节点表,结合待验证数据的业务类型确定对应的SPV节点。具体地,确定待验证数据的业务类型,业务类型可以根据待验证数据的验证目的对应划分,如划分为存证业务、公证业务、仲裁服务等,也可以根据各待验证数据的数据来源,如待验证数据的地址进行划分,不同地域如不同行政区域的待验证数据对应划分为不同的业务类型。
[0041] S304,查询预设的SPV节点表,SPV节点表记载各SPV节点与业务类型之间的对应关系。
[0042] 其中,SPV节点表记载各SPV节点与业务类型之间的对应关系,即按照数据的业务类型部署对应的SPV节点以存储该业务类型数据上链后的区块头,并将SPV节点与业务类型之间的对应关系预先存储至SPV节点表中进行维护。基于业务类型部署对应的SPV节点,各SPV可以仅维护从公信力共识节点获取业务类型对应数据的区块头,并针对进行数据验证,能够有效降低数据验证处理时的数据量,提高数据验证的处理效率。
[0043] S306,根据待验证数据的业务类型和对应关系,从SPV节点表中确定与待验证数据的业务类型对应的SPV节点。
[0044] 从SPV节点表中确定与待验证数据的业务类型对应的SPV节点。具体可以将待验证数据的业务类型在SPV节点表中进行匹配,将SPV节点表中匹配成功业务类型对应的SPV节点确定为该待验证数据对应的SPV节点,即通过该SPV节点对该待验证数据进行数据验证处理。
[0045] 在一个实施例中,确定待验证数据的特征值包括:按照待验证数据的数据类型,对待验证数据进行分类;基于预设的哈希算法对分类后的待验证数据分别进行处理,得到分类后的待验证数据的特征值;根据分类后的待验证数据的特征值得到待验证数据的特征值。
[0046] 本实施例中,基于待验证数据的数据类型进行分类,对应生成不同的特征值,并根据分类后待验证数据的特征值得到待验证数据的特征值。具体地,待验证数据可以有不同数据类型,甚至可以有多种数据类型,例如待验证数据可以包括文字、音频、图像、视频等多种类型的数据。对于不同类型的待验证数据,可以按照不同的映射算法进行映射处理,如文字和音频可以通过不同的映射处理得到各自对应的特征值。具体地,按照待验证数据中各数据部分的数据类型,将待验证数据分类,从而确定待验证数据中涉及的不同数据类型的数据分类出,以针对进行处理,如映射成对应的特征值。对待验证数据进行分类后,基于预设的哈希算法,如MD4算法、MD5算法或SHA-1算法,对分类后的待验证数据分别进行处理,如分别计算各分类后待验证数据的哈希值,以实现对各分类后待验证数据的映射处理,得到分类后的待验证数据的特征值。根据分类后的待验证数据的特征值得到待验证数据的特征值,例如可以按照各分类后的待验证数据的类别,对分类后的待验证数据的特征值进行排序,组合得到待验证数据的特征值;也可以直接组合各分类后的待验证数据的特征值,得到待验证数据的特征值。
[0047] 在一个实施例中,还包括:获取待验证数据的数据验证结果;将数据验证结果存储至缓存中;当数据验证结果在缓存中存在的时长达到数据验证结果对应的存活时长时,将数据验证结果从缓存中删除;其中,存活时长是固定时长或根据待验证数据的验证记录动态确定的时长。
[0048] 本实施例中,通过预设的缓存对获得的待验证数据的数据验证结果进行存储维护,以便在下一次数据验证时可以快速获取对应的数据验证结果。此外,对缓存中存储的数据验证结果进行监测,以判断是否对数据验证结果继续进行维护,以有效利用缓存资源。
[0049] 具体地,获取待验证数据的数据验证结果,将该数据验证结果存储至缓存中,如保存至本地端的存储器中。对缓存中存储的数据验证结果进行监测,以判断是否对数据验证结果继续进行维护。如对缓存中各数据验证结果的存活时长进行监测,当数据验证结果在缓存中存在的时长达到数据验证结果对应的存活时长时,表明数据验证结果可以不需要进行维护,则将数据验证结果从缓存中删除,从而释放缓存的空间。
[0050] 其中,数据验证结果对应的存活时长可以为预设的固定时长,如15天或1个月,即对缓存中的数据验证结果进行15天或1个月时长的维护,在数据验证结果存储至缓存后的15天或1个月内,若再次接收到该针对该待验证数据相应的特征值,即需要对该待验证数据进行验证时,可以直接从缓存中获取得到数据验证结果,而避免再次访问区块链网络,进一步有效提高数据验证处理效率。若在15天或1个月内均未再次触发验证,则将数据验证结果从缓存中删除,释放缓存空间,节省缓存资源。存活时长也可以由为根据数据验证结果的验证记录动态确定的时长,例如,对于验证频率高的待验证数据,其对应的数据验证结果的存活时长可以较长,如1个月或15天;而对于验证频率较低的待验证数据,其对应的数据验证结果的存活时长可以较短,如10天或7天。此时,存活时长可以根据数据验证结果的验证记录动态更新,即根据数据验证结果的验证记录确定其验证频率,再基于该验证频率更新对应的存活时长,以此充分利用缓存的存储资源。
[0051] 在一个实施例中,还包括:当接收到数据验证请求时,查询缓存;当确定缓存中存在数据验证请求对应的数据验证结果时,从缓存中获取数据验证请求对应的数据验证结果。
[0052] 本实施例中,在接收到数据验证请求时,从预设的缓存中查询对应的数据验证结果。具体地,接收到数据验证请求时查询缓存,该缓存中维护有存在时长未超过其对应存活时长的数据验证结果。若确定缓存中存在数据验证请求对应的数据验证结果,如可以根据数据验证请求中需要验证的数据的标识,与缓存中各数据验证结果对应待验证数据的标识进行匹配,若匹配成功,则表明缓存中存在数据验证请求对应的数据验证结果,则不需要重新访问区块链网络,而直接从缓存中获取数据验证请求对应的数据验证结果。此外,若缓存中不存在数据验证请求对应的数据验证结果时,即缓存未存储数据验证请求对应的数据验证结果,或数据验证结果已超过其存活时长被删除,则执行获取待验证数据的步骤,以通过访问区块链网络中的SPV节点进行数据验证处理。
[0053] 在一个实施例中,还包括:获取待存证数据;确定待存证数据的特征值;将待存证数据的特征值发送至公信力共识节点;待存证数据的特征值用于指示公信力共识节点对待存证数据的特征值进行本地存证,并将待存证数据的特征值在公信力共识节点所属区块链网络中的其他公信力共识节点进行共识处理。
[0054] 本实例中,通过区块链网络中部署的公信力共识节点对数据进行存证,即上链进行证据保存,以便对应的SPV节点可以从区块链网络中的公信力共识节点获取区块头进行数据验证处理。
[0055] 具体地,获取需要进行上链处理,即需要由区块链网络进行预先存证的待存证数据,如文字作品、音乐、图像等数据。得到待存证数据后,基于映射算法,如哈希算法确定该待存证数据的特征值,并待存证数据的特征值发送至公信力共识节点。具体应用时,可以将待存证数据的特征值发送至区块链网络中任一具有共识处理能力的公信力共识节点中进行存证。公信力共识节点接收到待存证数据的特征值后,先对待存证数据的特征值进行本地存证,并将待存证数据的特征值在公信力共识节点所属区块链网络中的其他公信力共识节点进行共识处理,从而实现待存证数据的上链,即将待存证数据存证至区块链网络中。
[0056] 在一个实施例中,在将待存证数据的特征值发送至公信力共识节点之后,还包括:监测待存证数据的特征值的存证状态;当待存证数据的特征值的存证状态为存证成功时,生成待存证数据的特征值的存证记录数据;将存证记录数据存储至本地存储器中。
[0057] 本实施例中,在将待存证数据的特征值发送至公信力共识节点之后对待存证数据的存证处理成功与否进行监测,并在存证成功后在本地存储存证记录数据,若存证失败,则可以重复进行存证,直至存证成功。
[0058] 具体地,将待存证数据的特征值发送至公信力共识节点进行存证处理后,监测待存证数据的存证状态。如可以根据公信力共识节点反馈的存证信息确定待存证数据的存证状态,存证状态反映了待存证数据的存证的成功与否。当待存证数据的存证状态为存证成功时,表明区块链网络中各公信力共识节点已对待存证数据进行了共识处理,待存证数据已成功上链,则生成待存证数据的存证记录数据。存证记录数据用于记录待存证数据此次存证的信息,如存证时间、存证的区块链网络平台、存证失败次数、存证区块等。得到待存证数据的存证记录数据后,将存证记录数据存储至本地存储器中进行维护。
[0059] 图2为一个实施例中基于区块链的数据验证方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0060] 在一个实施例中,如图4所示,提供了一种基于区块链的数据验证装置400,该装置包括:
[0061] 待验证数据获取模块402,用于获取待验证数据;
[0062] 验证节点确定模块404,用于确定与待验证数据的业务类型对应的SPV节点,SPV节点存储有与业务类型对应数据的区块头,区块头由SPV节点从SPV节点所属区块链网络中的公信力共识节点中获取得到;
[0063] 特征值确定模块406,用于确定待验证数据的特征值;
[0064] 数据验证处理模块408,用于将特征值发送至SPV节点,特征值用于指示SPV节点根据区块头对特征值进行数据验证。
[0065] 在一个实施例中,验证节点确定模块404包括业务类型确定模块、节点表查询模块和节点确定模块;其中:业务类型确定模块,用于确定待验证数据的业务类型;节点表查询模块,用于查询预设的SPV节点表,SPV节点表记载各SPV节点与业务类型之间的对应关系;节点确定模块,用于根据待验证数据的业务类型和对应关系,从SPV节点表中确定与待验证数据的业务类型对应的SPV节点。
[0066] 在一个实施例中,特征值确定模块406包括数据分类模块、分类后数据特征值获得模块和分类后数据特征值处理模块;其中:数据分类模块,用于按照待验证数据的数据类型,对待验证数据进行分类;分类后数据特征值获得模块,用于基于预设的哈希算法对分类后的待验证数据分别进行处理,得到分类后的待验证数据的特征值;分类后数据特征值处理模块,用于根据分类后的待验证数据的特征值得到待验证数据的特征值。
[0067] 在一个实施例中,还包括验证结果获取模块、验证结果缓存模块和验证结果维护模块;其中:验证结果获取模块,用于获取待验证数据的数据验证结果;验证结果缓存模块,用于将数据验证结果存储至缓存中;验证结果维护模块,用于当数据验证结果在缓存中存在的时长达到数据验证结果对应的存活时长时,将数据验证结果从缓存中删除;其中,存活时长是固定时长或根据待验证数据的验证记录动态确定的时长。
[0068] 在一个实施例中,还包括验证请求接收模块和验证结果查询模块;其中:验证请求接收模块,用于当接收到数据验证请求时,查询缓存;验证结果查询模块,用于当确定缓存中存在数据验证请求对应的数据验证结果时,从缓存中获取数据验证请求对应的数据验证结果。
[0069] 在一个实施例中,还包括存证数据获取模块、存证数据特征值模块和存证数据存证模块;其中:存证数据获取模块,用于获取待存证数据;存证数据特征值模块,用于确定待存证数据的特征值;存证数据存证模块,用于将待存证数据的特征值发送至公信力共识节点;待存证数据的特征值用于指示公信力共识节点对待存证数据的特征值进行本地存证,并将待存证数据的特征值在公信力共识节点所属区块链网络中的其他公信力共识节点进行共识处理。
[0070] 在一个实施例中,还包括存证状态监测模块、存证记录生成模块和存证记录保存模块;其中:存证状态监测模块,用于监测待存证数据的特征值的存证状态;存证记录生成模块,用于当待存证数据的特征值的存证状态为存证成功时,生成待存证数据的特征值的存证记录数据;存证记录保存模块,用于将存证记录数据存储至本地存储器中。
[0071] 图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图5所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现基于区块链的数据验证方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行基于区块链的数据验证方法。计算机设备的显示屏可以是液晶显示屏或者电子显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0072] 本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0073] 在一个实施例中,本申请提供的基于区块链的数据验证装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于区块链的数据验证装置的各个程序模块,比如,图4所示的待验证数据获取模块402、验证节点确定模块404、特征值确定模块406和数据验证处理模块408。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于区块链的数据验证方法中的步骤。
[0074] 例如,图5所示的计算机设备可以通过如图4所示的基于区块链的数据验证装置中的待验证数据获取模块402执行获取待验证数据。计算机设备可通过验证节点确定模块404执行确定与待验证数据的业务类型对应的SPV节点,SPV节点存储有与业务类型对应数据的区块头,区块头由SPV节点从SPV节点所属区块链网络中的公信力共识节点中获取得到。计算机设备可通过特征值确定模块406执行确定待验证数据的特征值。计算机设备可通过数据验证处理模块408执行将特征值发送至SPV节点,特征值用于指示SPV节点根据区块头对特征值进行数据验证。
[0075] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于区块链的数据验证方法的步骤。此处基于区块链的数据验证方法的步骤可以是上述各个实施例的基于区块链的数据验证方法中的步骤。
[0076] 在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于区块链的数据验证方法的步骤。此处基于区块链的数据验证方法的步骤可以是上述各个实施例的基于区块链的数据验证方法中的步骤。
[0077] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0078] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0079] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈