区块链数据的验证方法、装置及设备与流程

文档序号:19906730发布日期:2020-02-11 14:35阅读:250来源:国知局
区块链数据的验证方法、装置及设备与流程

本文件涉及区块链技术领域,尤其涉及一种区块链数据的验证方法、装置及设备。



背景技术:

联盟链是区块链的类别之一,其对特定的组织或团体开放。当前,联盟链中的每个节点均参与共识验证,并保存联盟链上的所有数据。然而,在实际应用中,一些用户往往只是希望对自己的业务数据或者与自己相关的业务数据进行验证。因而,要求每个节点均参与共识验证,且保存联盟链上的所有数据,对于一些用户来说无疑是增加了操作且浪费资源。



技术实现要素:

本说明书一个或多个实施例提供了一种区块链数据的验证方法,应用于第一用户的终端设备。该验证方法包括从第一区块链中获取待验证的业务数据,其中,所述第一区块链用于保存用户的业务数据。从第二区块链中获取所述业务数据的验证信息,其中,所述第二区块链用于保存所述第一区块链中的业务数据的验证信息。根据所述验证信息对所述业务数据进行验证。

本说明书一个或多个实施例提供了一种区块链数据的验证方法,应用于第一区块链节点。该验证方法包括接收第一用户的终端设备发送的业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值。根据所述第一哈希值从第一区块链中查询关联的业务数据,将查询的所述业务数据发送给所述终端设备,以使所述终端设备对所述业务数据进行验证。

本说明书一个或多个实施例提供了一种区块链数据的验证方法,应用于第二区块链节点。该验证方法包括接收第一用户的终端设备发送的验证信息查询请求,其中,所述验证信息查询请求包括索引信息。根据所述索引信息从第二区块链中查询关联的验证信息,将查询的所述验证信息发送给所述终端设备,以使所述终端设备根据所述验证信息对待验证的业务数据进行验证。

本说明书一个或多个实施例提供了一种区块链数据的验证装置,应用于第一用户的终端设备。该验证装置包括第一获取模块,其从第一区块链中获取待验证的业务数据。其中,所述第一区块链用于保存用户的业务数据。该验证装置还包括第二获取模块,其从第二区块链中获取所述业务数据的验证信息。其中,所述第二区块链用于保存所述第一区块链中的业务数据的验证信息。该验证装置还包括验证模块,其根据所述验证信息对所述业务数据进行验证。

本说明书一个或多个实施例提供了一种区块链数据的验证装置,应用于第一区块链节点。该验证装置包括接收模块,其接收第一用户的终端设备发送的业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值。该验证装置还包括查询模块,其根据所述第一哈希值从第一区块链中查询关联的业务数据。该验证装置还包括发送模块,其将查询的所述业务数据发送给所述终端设备,以使所述终端设备对所述业务数据进行验证。

本说明书一个或多个实施例提供了一种区块链数据的验证装置,应用于第二区块链节点。该验证装置包括接收模块,其接收第一用户的终端设备发送的验证信息查询请求,其中,所述验证信息查询请求包括索引信息。该验证装置还包括查询模块,其根据所述索引信息从第二区块链中查询关联的验证信息。该验证装置还包括发送模块,其将查询的所述验证信息发送给所述终端设备,以使所述终端设备根据所述验证信息对待验证的业务数据进行验证。

本说明书一个或多个实施例提供了一种区块链数据的验证设备,包括处理器。该验证设备还包括被安排成存储计算机可执行指令的存储器。所述计算机可执行指令在被执行时使所述处理器从第一区块链中获取待验证的业务数据,其中,所述第一区块链用于保存用户的业务数据。从第二区块链中获取所述业务数据的验证信息,其中,所述第二区块链用于保存所述第一区块链中的业务数据的验证信息。根据所述验证信息对所述业务数据进行验证。

本说明书一个或多个实施例提供了一种区块链数据的验证设备,包括处理器。该验证设备还包括被安排成存储计算机可执行指令的存储器。所述计算机可执行指令在被执行时使所述处理器接收第一用户的终端设备发送的业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值。根据所述第一哈希值从第一区块链中查询关联的业务数据,将查询的所述业务数据发送给所述终端设备,以使所述终端设备对所述业务数据进行验证。

本说明书一个或多个实施例提供了一种区块链数据的验证设备,包括处理器。该验证设备还包括被安排成存储计算机可执行指令的存储器。所述计算机可执行指令在被执行时使所述处理器接收第一用户的终端设备发送的验证信息查询请求,其中,所述验证信息查询请求包括索引信息。根据所述索引信息从第二区块链中查询关联的验证信息,将查询的所述验证信息发送给所述终端设备,以使所述终端设备根据所述验证信息对待验证的业务数据进行验证。

本说明书一个或多个实施例提供了一种存储介质,用于存储计算机可执行指令。所述计算机可执行指令在被执行时从第一区块链中获取待验证的业务数据,其中,所述第一区块链用于保存用户的业务数据。从第二区块链中获取所述业务数据的验证信息,其中,所述第二区块链用于保存所述第一区块链中的业务数据的验证信息。根据所述验证信息对所述业务数据进行验证。

本说明书一个或多个实施例提供了一种存储介质,用于存储计算机可执行指令。所述计算机可执行指令在被执行时接收第一用户的终端设备发送的业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值。根据所述第一哈希值从第一区块链中查询关联的业务数据,将查询的所述业务数据发送给所述终端设备,以使所述终端设备对所述业务数据进行验证。

本说明书一个或多个实施例提供了一种存储介质,用于存储计算机可执行指令。所述计算机可执行指令在被执行时接收第一用户的终端设备发送的验证信息查询请求,其中,所述验证信息查询请求包括索引信息。根据所述索引信息从第二区块链中查询关联的验证信息,将查询的所述验证信息发送给所述终端设备,以使所述终端设备根据所述验证信息对待验证的业务数据进行验证。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书一个或多个实施例提供的一种区块链数据的验证方法的场景示意图;

图2为本说明书一个或多个实施例提供的一种区块链数据的验证方法的第一种流程示意图;

图3为本说明书一个或多个实施例提供的一种区块链数据的验证方法的第二种流程示意图;

图4为本说明书一个或多个实施例提供的一种区块链数据的验证方法的第三种流程示意图;

图5为本说明书一个或多个实施例提供的一种区块链数据的验证方法的第四种流程示意图;

图6为本说明书一个或多个实施例提供的一种区块链数据的验证方法的第五种流程示意图;

图7为本说明书一个或多个实施例提供的一种区块链数据的验证方法的第六种流程示意图;

图8为本说明书一个或多个实施例提供的一种区块链数据的验证方法的第七种流程示意图;

图9为本说明书一个或多个实施例提供的一种区块链数据的验证方法的第八种流程示意图;

图10为本说明书一个或多个实施例提供的一种区块链数据的验证装置的第一种模块组成示意图;

图11为本说明书一个或多个实施例提供的一种区块链数据的验证装置的第二种模块组成示意图;

图12为本说明书一个或多个实施例提供的一种区块链数据的验证装置的第三种模块组成示意图;

图13为本说明书一个或多个实施例提供的一种区块链数据的验证设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。

本说明书一个或多个实施例提供了一种区块链数据的验证方法、装置及设备,通过预先将业务数据保存至第一区块链,并将业务数据的验证信息保存至第二区块链,使得当第一用户需要对业务数据进行验证时,通过其终端设备从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,即可根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

图1为本说明书一个或多个实施例提供的一种区块链数据的验证方法的应用场景示意图,如图1所示,该系统包括:第一用户的终端设备、第一区块链节点和第二区块链节点;其中,第一用户的终端设备可以为手机、平板电脑、台式计算机、便携笔记本式计算机等;第一区块链节点为第一区块链中的节点,第一区块链用于保存用户的业务数据;第二区块链节点为第二区块链中的节点,第二区块链用于保存第一区块链中的业务数据的验证信息;第一用户的终端设备通过无线网络与第一区块链节点和第二区块链节点进行通信连接;进一步的,第一区块链和第二区块链可以是联盟链,还可以是公有链。

具体的,当第一用户需要对第一区块链保存的业务数据进行验证时,第一用户可以操作其终端设备,以向终端设备发送数据验证请求;第一用户的终端设备响应于第一用户的数据验证请求,从第一区块链中获取待验证的业务数据,并从第二区块链中获取待验证的业务数据的验证信息;以及,采用获取的验证信息对待验证的业务数据进行验证。其中,业务数据如交易数据、企业经营数据、用户身份数据等。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

基于上述应用场景架构,本说明书一个或多个实施例提供了一种区块链数据的验证方法;图2为本说明书一个或多个实施例提供的区块链数据的验证方法的流程示意图,图2中的方法能够由图1中第一用户的终端设备执行,如图2所示,该方法包括以下步骤:

步骤s102,从第一区块链中获取待验证的业务数据;其中,第一区块链用于保存用户的业务数据;

其中,待验证的业务数据可以是第一用户的业务数据,还可以是第二用户的业务数据;第二用户是除第一用户外的其他用户,应当理解的是,在特定的场景中,本说明书中第一用户所指代的用户身份和第二用户所指代的用户身份可以互相替换。

步骤s104,从第二区块链中获取业务数据的验证信息;其中,第二区块链用于保存第一区块链中的业务数据的验证信息;

其中,业务数据的验证信息为第一用户或第二用户将其待存储的业务数据保存至第一区块链之后,由第一用户的终端设备或第二用户的终端设备基于该待存储的业务数据而生成。

步骤s106,根据获取的验证信息对待验证的业务数据进行验证。

本说明书一个或多个实施例中,第一用户的终端设备能够响应于第一用户的数据验证请求,从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,以及根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

当第一用户需要对自身的业务数据进行验证时,在验证之前第一用户首先通过其终端设备将其业务数据保存至第一区块链中,具体的,如图3所示,步骤s102之前还包括:

步骤s100-2,向第一区块链节点发送第一数据存储请求;其中,第一数据存储请求包括待存储的业务数据,以使第一区块链节点将业务数据和第一哈希值关联保存至第一区块链中;

步骤s100-4,接收第一区块链节点发送的第一哈希值。

其中,第一哈希值为第一区块链节点基于业务数据和附加数据计算而得的哈希值;具体而言,第一用户的终端设备响应于第一用户的数据存储操作,根据待存储的业务数据,向第一区块链节点发送第一数据存储请求;当第一区块链节点接收到第一数据存储请求时,从第一数据存储请求中获取业务数据,并根据第二预设算法对业务数据和附加数据进行计算得到第一哈希值,将业务数据与第一哈希值关联保存至第一区块链中,并向第一用户的终端设备发送第一哈希值,以使第一用户的终端设备根据该第一哈希值查询业务数据;第一用户的终端设备接收第一区块链节点发送的第一哈希值并保存;其中,附加数据可以在实际应用中根据需要执行设定,如第一区块链节点接收到第一数据存储请求的接收时间、存储该业务数据的区块的区块标识等。第一用户通过将其业务数据保存至第一区块链中,能够基于区块链的特性,有效的防止其业务数据丢失,以及业务数据被恶意篡改等。

为了使第一用户能够对其保存至第一区块链中的业务数据进行验证,以及使其他用户对第一用户的业务数据进行验证,在第一用户的终端设备接收到第一区块链节点发送的第一哈希值之后,还根据第一数据存储请求包括的待存储的业务数据(即原始业务数据)确定该业务数据的验证信息,并通过第二区块链的第二区块链节点将该验证信息保存至第二区块链中;具体的,如图3所示,步骤s100-4之后还包括:

步骤s100-6,根据第一预设算法计算待存储的业务数据的第二哈希值;

步骤s100-8,向第二区块链节点发送第二数据存储请求;其中,第二数据存储请求包括第一哈希值和第二哈希值,以使第二区块链节点将第一哈希值、第二哈希值和第三哈希值关联保存至第二区块链中,第三哈希值为第二区块链节点基于第一哈希值和第二哈希值计算而得的哈希值;

步骤s100-10,接收第二区块链节点发送的第三哈希值。

具体而言,由于第一区块链节点存在被恶意控制的风险,或者因其他因素而导致的第一区块链中存储的业务数据有误,因此为了使用户在后续能够对第一区块链中保存的业务数据的完整性和准确性进行验证,在第一用户的终端设备接收到第一区块链节点发送的第一哈希值时,根据第一预设算法计算第一数据存储请求包括的待存储的业务数据的第二哈希值,并根据第一哈希值和第二哈希值向第二区块链节点发送第二数据存储请求;当第二区块链节点接收到第二数据存储请求时,根据第三预设算法对第一哈希值和第二哈希值进行计算得到第三哈希值,将第一哈希值、第二哈希值和第三哈希值关联保存至第二区块链中,并将第三哈希值发送给第一用户的终端设备,以使第一用户根据第三哈希值查询对应的验证信息;第一用户的终端设备接收第二区块链节点发送的第三哈希值并保存。

由此,在第一用户将其待存储的业务数据保存至第一区块链之后,基于该待存储的业务数据计算第二哈希值,并将第二哈希值与第三哈希值保存至第二区块链中,以在后续基于保存至第二区块链中的哈希值对第一区块链中保存的对应的业务数据进行验证。

当第一用户想要验证第一区块链节点中保存的自身的业务数据是否正确时,为了能够快速便捷的获取到业务数据,本说明书一个或多个实施例中,第一用户通过其终端设备向第一区块链节点发送业务数据查询请求,以使第一区块链节点根据该业务数据查询请求中的第一哈希值快速查询对应的业务数据;具体的,如图4所示,步骤s102包括:

步骤s102-2,向第一区块链中的第一区块链节点发送业务数据查询请求,其中,业务数据查询请求包括第一哈希值,以使第一区块链节点根据第一哈希值从第一区块链中查询关联的业务数据;

如前所述,第一哈希值为第一用户预先通过第一区块链节点将待存储的业务数据保存至第一区块链时,第一区块链节点基于业务数据和附加数据计算而得的哈希值。具体而言,第一用户的终端设备响应于第一用户的数据验证请求,根据保存的第一哈希值,向第一区块链中的第一区块链节点发送业务数据查询请求;当第一区块链接收到业务数据查询请求时,根据业务数据查询请求包括的第一哈希值,在第一区块链中查询关联保存的业务数据,并将查询到的业务数据发送给第一用户的终端设备。

步骤s102-4,接收第一区块链节点发送的业务数据。

进一步的,为了对获取到的业务数据进行验证,终端设备还向第二区块链中的第二区块链节点发送验证信息查询请求,以获取对应的验证信息,具体的,如图4所示,步骤s104包括:

步骤s104-2,向第二区块链中的第二区块链节点发送验证信息查询请求,其中,验证信息查询请求包括待查询的验证信息的索引信息,以使第二区块链节点根据索引信息从第二区块链中查询关联的验证信息;

步骤s104-4,接收第二区块链节点发送的验证信息。

具体而言,终端设备将保存的第一哈希值和/或第三哈希值作为待查询的验证信息的索引信息,并根据索引信息向第二区块链中的第二区块链节点发送验证信息查询请求;当第二区块链节点接收到验证信息查询请求,根据验证信息查询请求包括的索引信息从第二区块链中查询关联保存的哈希值,并将查询到的哈希值作为验证信息发送给第一用户的终端设备;第一用户的终端设备接收第二区块链节点发送的验证信息。

在获取到待验证的业务数据以及业务数据的验证信息时,即可根据验证信息对业务数据进行验证。具体而言,当索引信息包括第三哈希值时,对应的,验证信息包括第一哈希值和第二哈希值;步骤s106包括:

步骤s106-2,确定验证信息包括的第一哈希值与终端设备存储的第一哈希值是否一致;

步骤s106-4,根据第一预设算法计算获取的业务数据的第四哈希值,确定计算的第四哈希值与验证信息包括的第二哈希值是否一致;

步骤s106-6,若均一致,则确定业务数据验证通过。

其中,步骤s106-2与步骤s106-4的执行顺序可以互换;进一步的,当确定验证信息包括的第一哈希值与终端设备存储的第一哈希值一致时,可以确定获取到的验证信息是待验证的业务数据的验证信息;当确定第四哈希值与验证信息包括的第二哈希值一致时,即可确定从第一区块链中获取的业务数据正确,即第一区块链存储的该业务数据未被篡改。由此,基于第一哈希值和第二哈希值,实现了对业务数据的真实性的有效验证。

进一步的,当索引信息包括第一哈希值,或者,索引信息包括第一哈希值和第三哈希值时,对应的,验证信息包括第二哈希值,步骤s106包括:

步骤s106-8,根据第一预设算法计算获取的业务数据的第四哈希值,确定第四哈希值与验证信息包括的第二哈希值是否一致,若一致,则确定业务数据验证通过。

其中,当确定第四哈希值与验证信息包括的第二哈希值一致时,即可确定从第一区块链中获取的业务数据正确,即第一区块链存储的该业务数据未被篡改。由此,基于第二哈希值,实现了对业务数据的真实性的有效验证。

以上,第一用户的终端设备响应于第一用户的数据验证请求,基于保存的第一哈希值从第一区块链中获取第一用户的业务数据,以及基于终端设备保存第一哈希值和/或第三哈希值从第二区块链中获取第一用户的业务数据的验证信息,并基于获取的验证信息对获取的业务数据进行验证。由此,对于第一用户而言,其无需将终端设备部署为节点设备以加入区块链,也无需第一用户的终端设备参与区块链中的共识验证,以及无需第一用户的终端设备存储区块链中的所有数据,在减少了第一用户的终端设备的操作以及降低了资源消耗的基础上,满足了第一用户对自身的业务数据的验证需求。

进一步的,第一用户还可以基于第一区块链中保存的业务数据以及第二区块链保存的验证信息,对第二用户的业务数据进行验证。对应的,如图5所示,步骤s102包括:

步骤s102-6,从第一区块链中获取待验证的业务数据和业务数据关联的第一哈希值;其中,第一哈希值为第二用户预先通过第一区块链中的第一区块链节点将待存储的业务数据保存至第一区块链时,第一区块链节点基于业务数据和附加数据计算而得的哈希值;

具体而言,当第一区块链为公有链时,所有用户均有权限查看第一区块链中的数据,从而第一用户可以通过其终端设备直接从第一区块链中获取待验证的业务数据,以及与待验证的业务数据对应保存的第一哈希值;当第一区块链为联盟链时,可以由联盟链的成员预先设定联盟链的公开范围,如当某团体是联盟链的成员时,可以设定无论该团体中的用户是否部署了联盟链节点,其均有权限查看联盟链上的数据,由此,当第一用户是具有数据查看权限的用户时,则可以对第一区块链上的业务数据进行验证。

对应的,如图5所示,步骤s104包括:

步骤s104-6,将获取的第一哈希值作为待查询的验证信息的索引信息,根据索引信息向第二区块链中的第二区块链节点发送验证信息查询请求,以使第二区块链节点根据索引信息从第二区块链中查询关联的验证信息;

步骤s104-8,接收第二区块链节点发送的验证信息。

其中,验证信息包括第二用户的终端设备预先按照第一预设算法,对其待存储的业务数据计算而得的第二哈希值;

对应的,如图5所示,步骤s106包括:

步骤s106-10,根据第一预设算法计算获取的业务数据的第四哈希值,确定第四哈希值与验证信息包括的第二哈希值是否一致,若一致,则确定业务数据验证通过。

由此,当第一用户需要对第二用户的业务数据进行验证时,可以通过其终端设备直接从第一区块链中获取第二用户的业务数据和对应的第一哈希值,并根据该第一哈希值从第二区块链中获取对应的验证信息,以及根据获取的验证信息对获取的第二用户的业务数据进行验证;由此,对于第一用户而言,其无需将终端设备部署为节点设备以加入区块链,也无需第一用户的终端设备参与共识验证,以及无需第一用户的终端设备存储区块链中的所有数据,在减少了第一用户的终端设备的操作以及降低了资源消耗的基础上,满足了第一用户对第二用户的业务数据的验证需求。

需要指出的是,第一用户可以将其终端设备部署为第二区块链中的节点,对应的,步骤s102包括:从终端设备存储的数据中获取业务数据的验证信息;即便如此,第一用户的终端设备仅需存储哈希值形式的验证信息和索引信息即可实现对业务数据的验证,相较于存储全量的业务数据而言,存储的数据量也极大的减少,因此降低了对存储空间的需求,降低了资源消耗。

本说明书通过上述采用第一区块链保存用户的业务数据,以及采用第二区块链保存第一区块链中的业务数据的验证信息的方式,能够实现对业务数据的完整性进行验证;能够想到的是,通过采用该双链保存数据的方式,本说明书的方案也可以应用于对业务数据进行有效性等数据验证方式,在此不再赘述。

本说明书一个或多个实施例中,通过预先将业务数据保存至第一区块链,并将业务数据的验证信息保存至第二区块链,使得第一用户的终端设备能够响应于第一用户的数据验证请求,从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,以及根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对其想要验证的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

对应上述描述的区块链数据的验证方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种区块链数据的验证方法,应用于第一区块链节点;图6本说明书一个或多个实施例提供的一种应用于第一区块链节点的区块链数据的验证方法,如图6所示,该方法包括以下步骤:

步骤s202,接收第一用户的终端设备发送的业务数据查询请求,其中,业务数据查询请求包括第一哈希值;

步骤s204,根据第一哈希值从第一区块链中查询关联的业务数据;

其中,第一区块链用于保存用户的业务数据。

步骤s206,将查询的业务数据发送给终端设备,以使终端设备对业务数据进行验证。

其中,业务数据为第一用户预先通过其终端设备向第一区块链节点发送第一数据存储请求时,由第一区块链节点存储于第一区块链中;具体的,如图7所示,本说明书的一个或多个实施例中,步骤s202之前,还包括:

步骤s200-2,接收终端设备发送的第一数据存储请求;其中,第一数据存储请求包括待存储的业务数据;

步骤s200-4,根据业务数据和附加数据计算第一哈希值;

具体的,根据第二预设算法对业务数据和附加数据进行计算,得到第一哈希值;其中,附加数据在实际应用中可以根据需求自行设定,如接收到第一数据存储请求的接收时间、存储该业务数据的区块的区块标识等。

步骤s200-6,将第一哈希值与业务数据关联保存至第一区块链中;

步骤s200-8,向终端设备发送第一哈希值,以使第一用户根据第一哈希值查询业务数据。

本说明书一个或多个实施例中,在第一区块链节点接收到第一用户的终端设备发送的业务数据查询请求时,基于业务数据查询请求所包括的第一哈希值从第一区块链中查询业务数据并发送给第一用户的终端设备,以使第一用户的终端设备对该业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

对应上述描述的区块链数据的验证方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种区块链数据的验证方法,应用于第二区块链节点;图8本说明书一个或多个实施例提供的一种应用于第二区块链节点的区块链数据的验证方法,如图8所示,该方法包括以下步骤:

步骤s302,接收第一用户的终端设备发送的验证信息查询请求,其中,验证信息查询请求包括索引信息;

步骤s304,根据索引信息从第二区块链中查询关联的验证信息;

其中,第二区块链用于保存第一区块链中的业务数据的验证信息。

步骤s306,将查询的验证信息发送给终端设备,以使终端设备根据验证信息对待验证的业务数据进行验证。

其中,验证信息为第一用户预先通过其终端设备向第二区块链节点发送第二数据存储请求时,由第二区块链节点存储于第二区块链中;具体的,如图9所示,本说明书一个或多个实施例中,步骤s302之前,还包括:

步骤s300-2,接收终端设备发送的第二数据存储请求;其中,第二数据存储请求包括第一哈希值和第二哈希值,第一哈希值为第一用户预先通过第一区块链中的第一区块链节点将待存储的业务数据保存至第一区块链时,第一区块链节点基于业务数据和附加数据计算而得的哈希值,第二哈希值为终端设备基于待存储的业务数据计算而得的哈希值;

步骤s300-4,根据第一哈希值和第二哈希值,计算第三哈希值;

具体的,根据第三预设算法对第一哈希值和第二哈希值进行计算,得到第三哈希值;其中,第三预设算法可以在实际应用中根据需要设定。

步骤s300-6,将第一哈希值、第二哈希值和第三哈希值关联保存至第二区块链中;

步骤s300-8,将第三哈希值发送给终端设备。

通过计算第三哈希值,并将第三哈希值发送给第一用户的终端设备,一方面使得用户知晓验证信息保存成功,另一方面,在第一用户需要获取验证信息时,可以基于该第三哈希值快速准确的获取到对应的验证信息。

由于第一用户的终端设备中保存有第一哈希值和第三哈希值,第二区块链中也保存有第一哈希值和第三哈希值,因此,在实际应用中,当第一用户需要对自身的业务数据进行验证时,可以将第一哈希值作为验证信息的索引信息,也可以将第三哈希值作为验证信息的索引信息,还可以将第一哈希值和第三哈希值共同作为验证信息的索引信息。具体的,当索引信息包括第三哈希值时,步骤s304包括:

根据第三哈希值从第二区块链中查询关联的第一哈希值和第二哈希值,得到验证信息;

当索引信息包括第一哈希值时,步骤s304包括:

根据第一哈希值从第二区块链中查询关联的第二哈希值,得到验证信息;

当索引信息包括第一哈希值和第三哈希值时,步骤s304包括:

根据第一哈希值和第三哈希值从第二区块链中查询关联的第二哈希值,得到验证信息。

由此,当第一用户需要对自身的业务数据进行验证时,终端设备能够响应于第一用户的数据验证请求,根据保存的第一哈希值和/或第二哈希值,发送验证信息查询请求给第二区块链节点,第二区块链节点即可根据该第一哈希值和/或第二哈希值,查找到第一用户的业务数据的验证信息。

进一步的,当第一用户需要对第二用户的业务数据进行验证时,可以基于从第一区块链中获取的第一哈希值,向第二区块链节点发送验证信息查询请求,以获取对应的验证信息;即索引信息包括第一哈希值,该第一哈希值为存储于第一区块链中的、由第二用户预先通过第一区块链中的第一区块链节点将待存储的业务数据保存至第一区块链时,第一区块链节点基于业务数据和附加数据计算而得的哈希值;与之对应的,步骤s304包括:

根据第一哈希值从第二区块链中查询关联的第二哈希值,得到验证信息;其中,所述第二哈希值为第二用户的终端设备基于至第一区块链中的业务数据计算而得的哈希值。

具体而言,当第二用户通过其终端设备向第一区块链中的第一区块链节点发送第一数据储存请求中,第一区块链节点从该第一数据储存请求中获取业务数据,根据第二预设算法对获取的业务数据和附加数据进行计算得到第一哈希值,将第一哈希值与业务数据关联保存至第一区块链中,并将第一哈希值发送给第二用户的终端设备;第二用户的终端设备接收到第一哈希值时,根据第一预设算法对第一数据储存请求包括的待存储的业务数据进行计算得到第二哈希值,并根据第一哈希值和第二哈希值向第二区块链节点发送第二数据存储请求;第二区块链节点接收到第二用户的终端设备发送的第二数据存储请求时,根据第三预设算法对第一哈希值和第二哈希值计算,得到第三哈希值,并将第一哈希值、第二哈希值和第三哈希值关联保存至第二区块链中;由此,在第二区块链节点接收到第一用户的终端设备发送的验证信息查询请求时,能够基于验证信息查询请求所包括的索引信息,即第一区块链节点基于第二用户的待存储的业务数据和附加数据计算而得的第一哈希值,查询到对应的验证信息,并将查询到的验证信息发送给第一用户的终端设备,以使第一用户的终端设备根据该验证信息对第二用户的业务数据进行验证。

本说明书一个或多个实施例中,在第二区块链节点接收到第一用户的终端设备发送的验证信息查询请求时,基于验证信息查询请求所包括的索引信息从第二区块链中查询关联的验证信息并发送给第一用户的终端设备,以使第一用户的终端设备基于该验证信息对待验证数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

对应上述图2至图5描述的区块链数据的验证方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种区块链数据的验证装置,应用于第一用户的终端设备。图10为本说明书一个或多个实施例提供的区块链数据的验证装置的模块组成示意图,该装置用于执行图2至图5描述的区块链数据的验证方法,如图10所示,该装置包括:

第一获取模块401,其从第一区块链中获取待验证的业务数据;其中,所述第一区块链用于保存用户的业务数据;

第二获取模块402,其从第二区块链中获取所述业务数据的验证信息;其中,所述第二区块链用于保存所述第一区块链中的业务数据的验证信息;

验证模块403,其根据所述验证信息对所述业务数据进行验证。

本说明书一个或多个实施例中,通过从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,以及根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

可选地,所述第一获取模块401,向所述第一区块链中的第一区块链节点发送业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值,以使所述第一区块链节点根据所述第一哈希值从所述第一区块链中查询关联的业务数据,所述第一哈希值为所述第一用户预先通过所述第一区块链节点将待存储的业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;以及,

接收所述第一区块链节点发送的所述业务数据。

可选地,所述装置还包括:第一发送模块和第一接收模块;

所述第一发送模块,在所述第一获取模块401从第一区块链中获取待验证的业务数据之前,向所述第一区块链节点发送第一数据存储请求;其中,所述第一数据存储请求包括所述待存储的业务数据,以使所述第一区块链节点将所述业务数据和所述第一哈希值关联保存至所述第一区块链中;

所述第一接收模块,接收所述第一区块链节点发送的所述第一哈希值。

可选地,所述第二获取模块402,向第二区块链中的第二区块链节点发送验证信息查询请求,其中,所述验证信息查询请求包括待查询的验证信息的索引信息,以使所述第二区块链节点根据所述索引信息从所述第二区块链中查询关联的验证信息;以及,

接收所述第二区块链节点发送的所述验证信息。

可选地,所述装置还包括:计算模块、第二发送模块和第二接收模块;

所述计算模块,根据第一预设算法计算所述待存储的业务数据的第二哈希值;

所述第二发送模块,向所述第二区块链节点发送第二数据存储请求;其中,所述第二数据存储请求包括所述第一哈希值和所述第二哈希值,以使所述第二区块链节点将所述第一哈希值、所述第二哈希值和第三哈希值关联保存至所述第二区块链中,所述第三哈希值为所述第二区块链节点基于所述第一哈希值和所述第二哈希值计算而得的哈希值;

所述第二接收模块,接收所述第二区块链节点发送的所述第三哈希值。

可选地,所述索引信息包括所述第三哈希值,所述验证信息包括所述第一哈希值和所述第二哈希值;

对应的,所述验证模块403,确定所述验证信息包括的第一哈希值与所述终端设备存储的第一哈希值是否一致;以及,

根据所述预设算法计算获取的所述业务数据的第四哈希值,确定计算的所述第四哈希值与所述验证信息包括的第二哈希值是否一致;

若均一致,则确定所述业务数据验证通过。

可选地,所述索引信息包括所述第一哈希值,或者所述索引信息包括所述第一哈希值和所述第三哈希值;所述验证信息包括所述第二哈希值;

对应的,所述验证模块403,根据所述预设算法计算获取的所述业务数据的第四哈希值,确定所述第四哈希值与所述验证信息包括的所述第二哈希值是否一致;

若一致,则确定所述业务数据验证通过。

可选地,所述第一获取模块401,从第一区块链中获取待验证的业务数据和所述业务数据关联的第一哈希值;其中,所述第一哈希值为第二用户预先通过所述第一区块链中的第一区块链节点将所述业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;

对应的,所述第二获取模块402,将所述第一获取模块401获取的所述第一哈希值作为待查询的验证信息的索引信息,根据所述索引信息向第二区块链中的第二区块链节点发送验证信息查询请求,以使所述第二区块链节点根据所述索引信息从所述第二区块链中查询关联的验证信息;

接收所述第二区块链节点发送的所述验证信息。

可选地,所述验证信息包括:所述第二用户的终端设备预先按照第一预设算法对保存至所述第一区块链的所述业务数据计算而得的第二哈希值;

对应的,所述验证模块403,根据所述预设算法计算获取的所述业务数据的第四哈希值,确定所述第四哈希值与所述验证信息包括的所述第二哈希值是否一致;

若一致,则确定所述业务数据验证通过。

本说明书一个或多个实施例区块链数据的验证装置,通过从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,以及根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

需要说明的是,本说明书中关于区块链数据的验证装置的实施例与本说明书中关于应用于第一用户的终端设备的区块链数据的验证方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的应用于第一用户的终端设备的区块链数据的验证方法的实施,重复之处不再赘述。

对应上述图6至图7描述的区块链数据的验证方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种区块链数据的验证装置,应用于第一区块链节点。图11为本说明书一个或多个实施例提供的区块链数据的验证装置的模块组成示意图,该装置用于执行图6至图7描述的区块链数据的验证方法,如图11所示,该装置包括:

接收模块501,其接收第一用户的终端设备发送的业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值;

查询模块502,其根据所述第一哈希值从第一区块链中查询关联的业务数据;

发送模块503,其将查询的所述业务数据发送给所述终端设备,以使所述终端设备对所述业务数据进行验证。

可选地,所述装置还包括:计算模块和保存模块;

所述接收模块501,接收第一用户的终端设备发送的业务数据查询请求之前,还接收所述终端设备发送的第一数据存储请求;其中,所述第一数据存储请求包括待存储的所述业务数据;

所述计算模块,根据所述业务数据和附加数据计算所述第一哈希值;

所述保存模块,将所述第一哈希值与所述业务数据关联保存至所述第一区块链中;

所述发送模块503,还向所述终端设备发送所述第一哈希值,以使所述第一用户根据所述第一哈希值查询所述业务数据。

本说明书一个或多个实施例提供的区块链数据的验证装置,在接收到第一用户的终端设备发送的业务数据查询请求时,基于业务数据查询请求所包括的第一哈希值从第一区块链中查询业务数据并发送给第一用户的终端设备,以使第一用户的终端设备对该业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

需要说明的是,本说明书中关于区块链数据的验证装置的实施例与本说明书中关于应用于第一区块链节点的区块链数据的验证方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的应用于第一区块链节点的区块链数据的验证方法的实施,重复之处不再赘述。

对应上述图8至图9描述的区块链数据的验证方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种区块链数据的验证装置,应用于第二区块链节点。图12为本说明书一个或多个实施例提供的区块链数据的验证装置的模块组成示意图,该装置用于执行图8至图9描述的区块链数据的验证方法,如图12所示,该装置包括:

接收模块601,其接收第一用户的终端设备发送的验证信息查询请求,其中,所述验证信息查询请求包括索引信息;

查询模块602,其根据所述索引信息从第二区块链中查询关联的验证信息;

发送模块603,其将查询的所述验证信息发送给所述终端设备,以使所述终端设备根据所述验证信息对待验证的业务数据进行验证。

可选地,所述装置还包括:计算模块和保存模块;

所述接收模块601,接收第一用户的终端设备发送的验证信息查询请求之前,还接收所述终端设备发送的第二数据存储请求;其中,所述第二数据存储请求包括第一哈希值和第二哈希值,所述第一哈希值为所述第一用户预先通过第一区块链中的第一区块链节点将待存储的业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值,所述第二哈希值为所述终端设备基于所述待存储的业务数据计算而得的哈希值;

所述计算模块,根据所述第一哈希值和所述第二哈希值,计算第三哈希值;

所述保存模块,将所述第一哈希值、所述第二哈希值和所述第三哈希值关联保存至所述第二区块链中;

所述发送模块603,还将所述第三哈希值发送给所述终端设备。

可选地,所述索引信息包括所述第三哈希值,所述查询模块602,根据所述第三哈希值从第二区块链中查询关联的所述第一哈希值和所述第二哈希值,得到验证信息;

或者,所述索引信息包括所述第一哈希值,所述查询模块602,根据所述第一哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息;

或者,

所述索引信息包括所述第一哈希值和所述第三哈希值,所述查询模块602,根据所述第一哈希值和所述第三哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息。

可选地,所述索引信息包括第一哈希值,所述第一哈希值为存储于第一区块链中的、由第二用户预先通过所述第一区块链中的第一区块链节点将待存储的所述业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;

对应的,所述查询模块602,根据所述第一哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息;其中,所述第二哈希值为所述第二用户的终端设备基于保存至所述第一区块链中的所述业务数据计算而得的哈希值。

本说明书一个或多个实施例提供的区块链数据的验证装置,在接收到第一用户的终端设备发送的验证信息查询请求时,基于验证信息查询请求所包括的索引信息从第二区块链中查询关联的验证信息并发送给第一用户的终端设备,以使第一用户的终端设备基于该验证信息对待验证数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

需要说明的是,本说明书中关于区块链数据的验证装置的实施例与本说明书中关于应用于第二区块链节点的区块链数据的验证方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的应用于第二区块链节点的区块链数据的验证方法的实施,重复之处不再赘述。

进一步地,对应上述描述的区块链数据的验证方法,基于相同的技术构思,本说明书一个或多个实施例还提供一种区块链数据的验证设备,该设备用于执行上述的区块链数据的验证方法,图13为本说明书一个或多个实施例提供的一种区块链数据的验证设备的结构示意图。

如图13所示,区块链数据的验证设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括区块链数据的验证设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在区块链数据的验证设备上执行存储器702中的一系列计算机可执行指令。区块链数据的验证设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。

在一个具体的实施例中,区块链数据的验证设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对区块链数据的验证设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

从第一区块链中获取待验证的业务数据;其中,所述第一区块链用于保存用户的业务数据;

从第二区块链中获取所述业务数据的验证信息;其中,所述第二区块链用于保存所述第一区块链中的业务数据的验证信息;

根据所述验证信息对所述业务数据进行验证。

本说明书一个或多个实施例中,通过从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,以及根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

可选地,计算机可执行指令在被执行时,所述从第一区块链中获取待验证的业务数据,包括:

向所述第一区块链中的第一区块链节点发送业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值,以使所述第一区块链节点根据所述第一哈希值从所述第一区块链中查询关联的业务数据,所述第一哈希值为所述第一用户预先通过所述第一区块链节点将待存储的业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;

接收所述第一区块链节点发送的所述业务数据。

可选地,计算机可执行指令在被执行时,所述从第一区块链中获取待验证的业务数据之前,还包括:

向所述第一区块链节点发送第一数据存储请求;其中,所述第一数据存储请求包括所述待存储的业务数据,以使所述第一区块链节点将所述业务数据和所述第一哈希值关联保存至所述第一区块链中;

接收所述第一区块链节点发送的所述第一哈希值。

可选地,计算机可执行指令在被执行时,所述从第二区块链中获取所述业务数据的验证信息,包括:

向第二区块链中的第二区块链节点发送验证信息查询请求,其中,所述验证信息查询请求包括待查询的验证信息的索引信息,以使所述第二区块链节点根据所述索引信息从所述第二区块链中查询关联的验证信息;

接收所述第二区块链节点发送的所述验证信息。

可选地,计算机可执行指令在被执行时,所述从第二区块链中获取所述业务数据的验证信息之前,还包括:

根据第一预设算法计算所述待存储的业务数据的第二哈希值;

向所述第二区块链节点发送第二数据存储请求;其中,所述第二数据存储请求包括所述第一哈希值和所述第二哈希值,以使所述第二区块链节点将所述第一哈希值、所述第二哈希值和第三哈希值关联保存至所述第二区块链中,所述第三哈希值为所述第二区块链节点基于所述第一哈希值和所述第二哈希值计算而得的哈希值;

接收所述第二区块链节点发送的所述第三哈希值。

可选地,计算机可执行指令在被执行时,所述索引信息包括所述第三哈希值,所述验证信息包括所述第一哈希值和所述第二哈希值;

所述根据所述验证信息对所述业务数据进行验证,包括:

确定所述验证信息包括的第一哈希值与所述终端设备存储的第一哈希值是否一致;以及,

根据所述预设算法计算获取的所述业务数据的第四哈希值,确定计算的所述第四哈希值与所述验证信息包括的第二哈希值是否一致;

若均一致,则确定所述业务数据验证通过。

可选地,计算机可执行指令在被执行时,所述索引信息包括所述第一哈希值,或者所述索引信息包括所述第一哈希值和所述第三哈希值;所述验证信息包括所述第二哈希值;

所述根据所述验证信息对所述业务数据进行验证,包括:

根据所述预设算法计算获取的所述业务数据的第四哈希值,确定所述第四哈希值与所述验证信息包括的所述第二哈希值是否一致;

若一致,则确定所述业务数据验证通过。

可选地,计算机可执行指令在被执行时,所述从第一区块链中获取待验证的业务数据,包括:

从第一区块链中获取待验证的业务数据和所述业务数据关联的第一哈希值;其中,所述第一哈希值为第二用户预先通过所述第一区块链中的第一区块链节点将所述业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;

所述从第二区块链中获取所述业务数据的验证信息,包括:

将获取的所述第一哈希值作为待查询的验证信息的索引信息,根据所述索引信息向第二区块链中的第二区块链节点发送验证信息查询请求,以使所述第二区块链节点根据所述索引信息从所述第二区块链中查询关联的验证信息;

接收所述第二区块链节点发送的所述验证信息。

可选地,计算机可执行指令在被执行时,所述验证信息包括:所述第二用户的终端设备预先按照第一预设算法对保存至所述第一区块链的所述业务数据计算而得的第二哈希值;

所述根据所述验证信息对所述业务数据进行验证,包括:

根据所述预设算法计算获取的所述业务数据的第四哈希值,确定所述第四哈希值与所述验证信息包括的所述第二哈希值是否一致;

若一致,则确定所述业务数据验证通过。

本说明书一个或多个实施例提供的区块链数据的验证设备,通过从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,以及根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

在另一个具体的实施例中,区块链数据的验证设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对舆情查询设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

接收第一用户的终端设备发送的业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值;

根据所述第一哈希值从第一区块链中查询关联的业务数据;

将查询的所述业务数据发送给所述终端设备,以使所述终端设备对所述业务数据进行验证。

可选地,计算机可执行指令在被执行时,所述接收第一用户的终端设备发送的业务数据查询请求之前,还包括:

接收所述终端设备发送的第一数据存储请求;其中,所述第一数据存储请求包括待存储的所述业务数据;

根据所述业务数据和附加数据计算所述第一哈希值;

将所述第一哈希值与所述业务数据关联保存至所述第一区块链中;以及,

向所述终端设备发送所述第一哈希值,以使所述第一用户根据所述第一哈希值查询所述业务数据。

本说明书一个或多个实施例提供的区块链数据的验证设备,在接收到第一用户的终端设备发送的业务数据查询请求时,基于业务数据查询请求所包括的第一哈希值从第一区块链中查询业务数据并发送给第一用户的终端设备,以使第一用户的终端设备对该业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

在另一个具体的实施例中,区块链数据的验证设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对舆情查询设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

接收第一用户的终端设备发送的验证信息查询请求,其中,所述验证信息查询请求包括索引信息;

根据所述索引信息从第二区块链中查询关联的验证信息;

将查询的所述验证信息发送给所述终端设备,以使所述终端设备根据所述验证信息对待验证的业务数据进行验证。

可选地,计算机可执行指令在被执行时,所述接收第一用户的终端设备发送的验证信息查询请求之前,还包括:

接收所述终端设备发送的第二数据存储请求;其中,所述第二数据存储请求包括第一哈希值和第二哈希值,所述第一哈希值为所述第一用户预先通过第一区块链中的第一区块链节点将待存储的业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值,所述第二哈希值为所述终端设备基于所述待存储的业务数据计算而得的哈希值;

根据所述第一哈希值和所述第二哈希值,计算第三哈希值;

将所述第一哈希值、所述第二哈希值和所述第三哈希值关联保存至所述第二区块链中;以及,

将所述第三哈希值发送给所述终端设备。

可选地,计算机可执行指令在被执行时,所述索引信息包括所述第三哈希值,所述根据所述索引信息从第二区块链中查询关联的验证信息,包括:

根据所述第三哈希值从第二区块链中查询关联的所述第一哈希值和所述第二哈希值,得到验证信息;

或者,

所述索引信息包括所述第一哈希值,所述根据所述索引信息从第二区块链中查询关联的验证信息,包括:

根据所述第一哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息;

或者,

所述索引信息包括所述第一哈希值和所述第三哈希值,所述根据所述索引信息从第二区块链中查询关联的验证信息,包括:

根据所述第一哈希值和所述第三哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息。

可选地,计算机可执行指令在被执行时,所述索引信息包括第一哈希值,所述第一哈希值为存储于第一区块链中的、由第二用户预先通过所述第一区块链中的第一区块链节点将待存储的所述业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;

所述根据所述索引信息从第二区块链中查询关联的验证信息,包括:

根据所述第一哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息;其中,所述第二哈希值为所述第二用户的终端设备基于保存至所述第一区块链中的所述业务数据计算而得的哈希值。

本说明书一个或多个实施例提供的区块链数据的验证设备,在接收到第一用户的终端设备发送的验证信息查询请求时,基于验证信息查询请求所包括的索引信息从第二区块链中查询关联的验证信息并发送给第一用户的终端设备,以使第一用户的终端设备基于该验证信息对待验证数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

需要说明的是,本说明书中关于区块链数据的验证设备的实施例与本说明书中关于区块链数据的验证方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的区块链数据的验证方法的实施,重复之处不再赘述。

进一步地,对应上述描述的区块链数据的验证方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一个具体的实施例中,该存储介质可以为u盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:

从第一区块链中获取待验证的业务数据;其中,所述第一区块链用于保存用户的业务数据;

从第二区块链中获取所述业务数据的验证信息;其中,所述第二区块链用于保存所述第一区块链中的业务数据的验证信息;

根据所述验证信息对所述业务数据进行验证。

本说明书一个或多个实施例中,通过从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,以及根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述从第一区块链中获取待验证的业务数据,包括:

向所述第一区块链中的第一区块链节点发送业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值,以使所述第一区块链节点根据所述第一哈希值从所述第一区块链中查询关联的业务数据,所述第一哈希值为所述第一用户预先通过所述第一区块链节点将待存储的业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;

接收所述第一区块链节点发送的所述业务数据。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述从第一区块链中获取待验证的业务数据之前,还包括:

向所述第一区块链节点发送第一数据存储请求;其中,所述第一数据存储请求包括所述待存储的业务数据,以使所述第一区块链节点将所述业务数据和所述第一哈希值关联保存至所述第一区块链中;

接收所述第一区块链节点发送的所述第一哈希值。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述从第二区块链中获取所述业务数据的验证信息,包括:

向第二区块链中的第二区块链节点发送验证信息查询请求,其中,所述验证信息查询请求包括待查询的验证信息的索引信息,以使所述第二区块链节点根据所述索引信息从所述第二区块链中查询关联的验证信息;

接收所述第二区块链节点发送的所述验证信息。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述从第二区块链中获取所述业务数据的验证信息之前,还包括:

根据第一预设算法计算所述待存储的业务数据的第二哈希值;

向所述第二区块链节点发送第二数据存储请求;其中,所述第二数据存储请求包括所述第一哈希值和所述第二哈希值,以使所述第二区块链节点将所述第一哈希值、所述第二哈希值和第三哈希值关联保存至所述第二区块链中,所述第三哈希值为所述第二区块链节点基于所述第一哈希值和所述第二哈希值计算而得的哈希值;

接收所述第二区块链节点发送的所述第三哈希值。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述索引信息包括所述第三哈希值,所述验证信息包括所述第一哈希值和所述第二哈希值;

所述根据所述验证信息对所述业务数据进行验证,包括:

确定所述验证信息包括的第一哈希值与所述终端设备存储的第一哈希值是否一致;以及,

根据所述预设算法计算获取的所述业务数据的第四哈希值,确定计算的所述第四哈希值与所述验证信息包括的第二哈希值是否一致;

若均一致,则确定所述业务数据验证通过。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述索引信息包括所述第一哈希值,或者所述索引信息包括所述第一哈希值和所述第三哈希值;所述验证信息包括所述第二哈希值;

所述根据所述验证信息对所述业务数据进行验证,包括:

根据所述预设算法计算获取的所述业务数据的第四哈希值,确定所述第四哈希值与所述验证信息包括的所述第二哈希值是否一致;

若一致,则确定所述业务数据验证通过。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述从第一区块链中获取待验证的业务数据,包括:

从第一区块链中获取待验证的业务数据和所述业务数据关联的第一哈希值;其中,所述第一哈希值为第二用户预先通过所述第一区块链中的第一区块链节点将所述业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;

所述从第二区块链中获取所述业务数据的验证信息,包括:

将获取的所述第一哈希值作为待查询的验证信息的索引信息,根据所述索引信息向第二区块链中的第二区块链节点发送验证信息查询请求,以使所述第二区块链节点根据所述索引信息从所述第二区块链中查询关联的验证信息;

接收所述第二区块链节点发送的所述验证信息。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述验证信息包括:所述第二用户的终端设备预先按照第一预设算法对保存至所述第一区块链的所述业务数据计算而得的第二哈希值;

所述根据所述验证信息对所述业务数据进行验证,包括:

根据所述预设算法计算获取的所述业务数据的第四哈希值,确定所述第四哈希值与所述验证信息包括的所述第二哈希值是否一致;

若一致,则确定所述业务数据验证通过。

本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,通过从第一区块链中获取待验证的业务数据,并从第二区块链中获取业务数据的验证信息,以及根据获取的验证信息对业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

在另一个具体的实施例中,该存储介质可以为u盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:

接收第一用户的终端设备发送的业务数据查询请求,其中,所述业务数据查询请求包括第一哈希值;

根据所述第一哈希值从第一区块链中查询关联的业务数据;

将查询的所述业务数据发送给所述终端设备,以使所述终端设备对所述业务数据进行验证。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述接收第一用户的终端设备发送的业务数据查询请求之前,还包括:

接收所述终端设备发送的第一数据存储请求;其中,所述第一数据存储请求包括待存储的所述业务数据;

根据所述业务数据和附加数据计算所述第一哈希值;

将所述第一哈希值与所述业务数据关联保存至所述第一区块链中;以及,

向所述终端设备发送所述第一哈希值,以使所述第一用户根据所述第一哈希值查询所述业务数据。

本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,在接收到第一用户的终端设备发送的业务数据查询请求时,基于业务数据查询请求所包括的第一哈希值从第一区块链中查询业务数据并发送给第一用户的终端设备,以使第一用户的终端设备对该业务数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

在另一个具体的实施例中,该存储介质可以为u盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:

接收第一用户的终端设备发送的验证信息查询请求,其中,所述验证信息查询请求包括索引信息;

根据所述索引信息从第二区块链中查询关联的验证信息;

将查询的所述验证信息发送给所述终端设备,以使所述终端设备根据所述验证信息对待验证的业务数据进行验证。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述接收第一用户的终端设备发送的验证信息查询请求之前,还包括:

接收所述终端设备发送的第二数据存储请求;其中,所述第二数据存储请求包括第一哈希值和第二哈希值,所述第一哈希值为所述第一用户预先通过第一区块链中的第一区块链节点将待存储的业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值,所述第二哈希值为所述终端设备基于所述待存储的业务数据计算而得的哈希值;

根据所述第一哈希值和所述第二哈希值,计算第三哈希值;

将所述第一哈希值、所述第二哈希值和所述第三哈希值关联保存至所述第二区块链中;以及,

将所述第三哈希值发送给所述终端设备,以使所述第一用户根据所述第三哈希值查询验证信息。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述索引信息包括所述第三哈希值,所述根据所述索引信息从第二区块链中查询关联的验证信息,包括:

根据所述第三哈希值从第二区块链中查询关联的所述第一哈希值和所述第二哈希值,得到验证信息;

或者,

所述索引信息包括所述第一哈希值,所述根据所述索引信息从第二区块链中查询关联的验证信息,包括:

根据所述第一哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息;

或者,

所述索引信息包括所述第一哈希值和所述第三哈希值,所述根据所述索引信息从第二区块链中查询关联的验证信息,包括:

根据所述第一哈希值和所述第三哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息。

可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述索引信息包括第一哈希值,所述第一哈希值为存储于第一区块链中的、由第二用户预先通过所述第一区块链中的第一区块链节点将待存储的所述业务数据保存至所述第一区块链时,所述第一区块链节点基于所述业务数据和附加数据计算而得的哈希值;

所述根据所述索引信息从第二区块链中查询关联的验证信息,包括:

根据所述第一哈希值从第二区块链中查询关联的所述第二哈希值,得到验证信息;其中,所述第二哈希值为所述第二用户的终端设备基于保存至所述第一区块链中的所述业务数据计算而得的哈希值。

本说明书一个或多个实施例提供的存储介质存储的计算机可执行指令在被处理器执行时,在接收到第一用户的终端设备发送的验证信息查询请求时,基于验证信息查询请求所包括的索引信息从第二区块链中查询关联的验证信息并发送给第一用户的终端设备,以使第一用户的终端设备基于该验证信息对待验证数据进行验证。由此,对于第一用户而言,其无需部署节点设备以成为区块链中的节点,也无需参与共识验证,以及无需存储区块链中的所有数据;即便如此,第一用户依然能够对第一区块链中的业务数据进行验证,因此,在不占用第一用户过多资源的基础上,满足了第一用户对业务数据的验证需求。

需要说明的是,本说明书中关于存储介质的实施例与本说明书中关于区块链数据的验证方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的区块链数据的验证方法的实施,重复之处不再赘述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在20世纪30年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1