区块节点数据的处理方法、装置、计算机设备和存储介质与流程

文档序号:24873193发布日期:2021-04-30 12:46阅读:102来源:国知局
区块节点数据的处理方法、装置、计算机设备和存储介质与流程

本发明涉及区块存储技术领域,特别涉及区块节点数据的处理方法、装置、计算机设备和存储介质。



背景技术:

目前的区块链技术,由于无法对存储于区块链中的各个区块节点上的数据提前进行查询及预览,需要先将待查询的数据下载至本地,并在用户的终端设备上进行查看下载下来的数据,这样,可能耗费用户大量时间下载下来的数据并不是用户所需的数据,不仅浪费了宝贵的内存资源,还耗费了用户宝贵的时间,用户体验差。

针对现有对存储于区块节点上的数据的处理方法过于滞后的问题,如何提高对存储于区块节点上的数据的处理效率,快速且精准地查询到用户所需的数据,是待解决的技术问题。



技术实现要素:

基于此,有必要针对现有对存储于区块链上的各个区块上的数据的处理效率低的问题,提供一种区块节点数据的处理方法、装置、计算机设备和存储介质。

第一方面,本申请实施例提供了一种区块节点数据的处理方法,所述方法包括:

响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点,所述查询请求用于查询所述目标数据;

采用分布式探查路由分析方法分析所述目标区块节点的性能,得到性能分析结果;

根据所述性能分析结果和所述查询条件,对上传至分布式云存储服务器上的至少包括所述目标数据的存储数据进行查询处理,得到符合所述查询条件的所述目标数据,所述目标数据包括与所述查询条件相符合的目标摘要数据和与所述查询条件相符合的目标全文数据。

在一种实施方式中,所述查询条件包括用于查询所述目标数据的至少一个目标关键词和数据的有效时间段,所述对上传至分布式云存储服务器上的至少包括所述目标数据的存储数据进行查询处理包括:

根据至少一个目标关键词,从所述存储数据中筛选与至少一个目标关键词匹配的数据作为候选数据;

根据所述数据的有效时间段,从所述候选数据中筛选处于数据的有效时间段内的数据作为目标数据。

在一种实施方式中,所述根据至少一个目标关键词,从所述存储数据中筛选与至少一个目标关键词匹配的数据作为候选数据包括:

根据至少一个目标关键词和目标摘要数据,从所述存储数据的摘要数据中筛选与至少一个目标关键词匹配的数据作为所述候选数据。

在一种实施方式中,所述根据至少一个目标关键词,从所述存储数据中筛选与至少一个目标关键词匹配的数据作为候选数据还包括:

根据至少一个目标关键词和目标全文数据,从所述存储数据的全文数据中筛选与至少一个目标关键词匹配的数据作为所述候选数据。

在一种实施方式中,所述性能分析结果包括所述目标区块节点的区块哈希值和所述目标区块节点存储所述目标数据的目标存储量。

在一种实施方式中,所述方法还包括:将所述目标摘要数据、所述目标全文数据、所述目标区块节点的区块哈希值和所述目标区块节点存储所述目标数据的所述目标存储量均同步至所述目标区块节点上。

在一种实施方式中,在所述得到符合所述查询条件的所述目标数据之后,所述方法还包括:

将所述目标摘要数据下载至所述用户的终端设备上,和/或,

将所述目标全文数据下载至所述用户的终端设备上。

第二方面,本申请实施例提供了一种区块节点数据的处理装置,所述装置包括:

确定单元,用于响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点,所述查询请求用于查询所述目标数据;

性能分析单元,用于采用分布式探查路由分析方法分析所述确定单元确定的所述目标区块节点的性能,得到性能分析结果;

处理单元,用于根据所述性能分析单元分析出的所述性能分析结果和所述查询条件,对上传至分布式云存储服务器上的至少包括所述目标数据的存储数据进行查询处理,得到符合所述查询条件的所述目标数据,所述目标数据包括与所述查询条件相符合的目标摘要数据和与所述查询条件相符合的目标全文数据。

第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述的方法步骤。

第四方面,本申请实施例提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述的方法步骤。

本申请实施例提供的技术方案可以包括以下有益效果:

在本申请实施例中,响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点;采用分布式探查路由分析方法分析目标区块节点的性能,得到性能分析结果;根据性能分析结果和查询条件,对上传至分布式云存储服务器上的至少包括目标数据的存储数据进行查询处理,得到符合查询条件的目标数据。因此,采用本申请实施例,由于能够根据查询请求中携带的查询条件,在各个区块节点行确定目标数据存储的目标区块节点,这样,能够快速且精准地查询到符合用户查询请求的目标数据,从而有效地提高了对存储于区块节点上的数据的处理效率,提高了用户体验度。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1为一个实施例中提供的一种区块节点数据的处理方法的实施环境图;

图2为一个实施例中计算机设备的内部结构框图;

图3是本公开实施例提供的一种区块节点数据的处理方法的流程示意图;

图4是本公开实施例提供的一种区块节点数据的处理装置的结构示意图。

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合附图详细说明本公开的可选实施例。

图1为一个实施例中提供的一种区块节点数据的处理方法的实施环境图,如图1所示,在该实施环境中,包括计算机设备110以及终端120。

需要说明的是,终端120以及计算机设备110可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。计算机设备110以及终端110可以通过蓝牙、usb(universalserialbus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。

图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种区块节点数据的处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种区块节点数据的处理方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

如图3所示,本公开实施例提供一种区块节点数据的处理方法,该区块节点数据的处理方法应用于服务器端,具体包括以下方法步骤:

s302:响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点,查询请求用于查询目标数据;

在本申请实施例中,可以根据不同用户的需求,配置与用户的查询请求所匹配的查询条件。查询条件包括用于查询目标数据的至少一个目标关键词和数据的有效时间段。目标数据不仅包括与查询条件相符合的目标摘要数据,目标数据还包括与查询条件相符合的目标全文数据。

在一种可能的实现方式中,本公开实施例提供的一种区块节点数据的处理方法还包括以下步骤:

在区块链网络中,进行区块节点的发现。

在本申请实施例中,区块节点的发现可分为初始区块节点的发现和启动后区块节点的发现。初始区块节点的发现即该区块节点是刚下载的,第一次运行,区块节点内没有任何区块节点数据。启动后区块节点的发现表示正在运行的钱包已经能跟随网络动态维护可用区块节点。

具体地,初始区块节点的发现过程具体如下所述:

在区块链网络中,初始区块节点的发现一共有如下两种方式实现:

第一种为dnsseed,又称dns种子区块节点。dns就是中心化域名查询服务。

第二种是代码中硬编码的一些地址,称这些地址为硬编码种子区块节点。当dns种子区块节点全部失效后,全区块节点会尝试连接硬编码种子区块节点。

启动后区块节点的发现过程具体如下所述:

在区块链网络中,一个区块节点可以将自己维护的对等区块节点列表发送给临近区块节点,在初始区块节点被发现之后,当前区块节点就要向对方索要区块节点列表,即将对方的区块节点列表复制一份。因此,在每次需要发送协议消息时,都会花费固定的时间尝试和已存的区块节点列表中的区块节点建立连接,只要有任何一个区块节点在超时之前可以连接上,就不用通过dns种子区块节点获取地址。

在实际应用场景中,若全区块节点数目非常多,则全部已存列表的区块节点连接超时的可能性很小。

s304:采用分布式探查路由分析方法分析目标区块节点的性能,得到性能分析结果;

在本申请实施例中,性能分析结果包括目标区块节点的区块哈希值和目标区块节点存储目标数据的目标存储量。

上述罗列了常见的性能分析结果所包括的内容的,除了上述罗列的目标区块节点的区块哈希值和目标区块节点存储目标数据的目标存储量之外,还可以根据不同应用场景的需求,引入其它的参数,在此不再赘述。

在一种可能的实现方式中,本公开实施例提供的一种区块节点数据的处理方法还包括以下步骤:

采用分布式探查路由分析方法分析存储于区块链的各个区块节点上的节点数据。

在区块链网络中,获取上述区块节点列表,该区块节点列表采用了p2p网络协议中的一种成熟算法,kad网络。kad网络使用了dht来定位资源,为分布式哈希表。kad网络会维护一个路由表,用于快速定位目标区块节点,其中,kad网络基于udp协议。在区块链网络中,区块节点发现是基于udp协议,找到区块节点以后,数据交互又会切换到tcp协议上。

在采用分布式探查路由分析方法分析存储区块链的各个区块节点上的节点数据的过程中,会涉及到各个区块节点之间的交互协议。

各个区块节点之间的交互协议过程具体如下所述:

一旦区块节点建立连接,各个区块节点之间的交互便会遵循一些特定的命令,这些命令写在消息的头部,消息体中写的则是消息内容。

命令分为两种:一种是请求命令,一种是数据交互命令。

区块节点连接完成后要做的第一件事情是握手操作。通过上述握手操作,获取一些简要信息,例如,先交换一下版本号,看看是否兼容。

握手完毕之后,需要保持长连接。为了保持区块节点之间长连接的心跳,采用了ping/pong这两种类型的消息。

命令一般分为控制命令和数据传输命令两种,例如,getaddr命令用于获取对方的可用区块节点列表,inv命令则提供了数据传输。消息体中会包含一个数据向量。

为了实现各个区块节点之间的数据共享,采用了区块同步。区块同步的方式分为两种,第一种叫作headerfirst,这种方式会先同步区块头,同步完成以后再从其他区块节点获得区块体,这样,提供了较好的交互过程,从而减轻了区块链网络的负担;第二种叫作blockfirst,即要求从其他区块节点获取的区块是完整的。

s306:根据性能分析结果和查询条件,对上传至分布式云存储服务器上的至少包括目标数据的存储数据进行查询处理,得到符合查询条件的目标数据,目标数据包括与查询条件相符合的目标摘要数据和与查询条件相符合的目标全文数据。

在本申请实施例中,查询条件包括用于查询目标数据的至少一个目标关键词和数据的有效时间段,对上传至分布式云存储服务器上的至少包括目标数据的存储数据进行查询处理包括以下步骤:

根据至少一个目标关键词,从存储数据中筛选与至少一个目标关键词匹配的数据作为候选数据;

在一种可能的实现方式中,根据至少一个目标关键词,从存储数据中筛选与至少一个目标关键词匹配的数据作为候选数据包括以下步骤:

根据至少一个目标关键词和目标摘要数据,从存储数据的摘要数据中筛选与至少一个目标关键词匹配的数据作为候选数据。

在本申请实施例中,为了节省资源,在存储数据中查询目标数据时,往往仅仅只查询存储数据的部分数据,例如,部分数据可以为区块的哈希值,部分数据也可以为存储数据的摘要数据,其中,存储数据的摘要数据可以是对存储数据对应的全文数据的概括和总结。这样,用户通过预览摘要数据提前判断当前区块所存储数据是否有用户所需的目标数据。若通过摘要数据判断出当前区块所存储数据包括用户所需的目标数据,则将该区块节点的地址信息推送至用户的终端设备上,以使得根据该区块节点的地址信息,在分布式云存储服务器上精准地定位出符合用户查询条件的目标数据所存储的目标区块节点,并在该目标区块节点上查询目标数据对应的目标摘要数据以及目标数据对应的目标全文数据。

在本申请实施例中,为了提高区块链数据查询以及下载的安全性,还可以让用户提供存储目标数据的目标区块节点的哈希值,只有在用户提供的该目标区块节点的哈希值为正确的情况下,才允许用户查看或者下载部分数据对应的目标摘要数据和目标全文数据。

在一种可能的实现方式中,根据至少一个目标关键词,从存储数据中筛选与至少一个目标关键词匹配的数据作为候选数据还包括以下步骤:

根据至少一个目标关键词和目标全文数据,从存储数据的全文数据中筛选与至少一个目标关键词匹配的数据作为候选数据。

根据数据的有效时间段,从候选数据中筛选处于数据的有效时间段内的数据作为目标数据。

在一种可能的实现方式中,本公开实施例提供的区块节点数据的处理方法还包括以下步骤:

将目标摘要数据、目标全文数据、目标区块节点的区块哈希值和目标区块节点存储目标数据的目标存储量均同步至目标区块节点上。

在本申请实施例中,区块链的存储基于分布式数据库,数据库是区块链的数据载体。

在区块链中,每个区块都有前一个区块的哈希值,前一个区块被称为当前区块的父块。

交易的数据为单一的哈希值,并存储在区块头。通过哈希值,提高了数据的安全性。对于相同的消息,会生成相同的哈希值。哈希值能够帮助查看数据是否被篡改。

在本申请实施例中,若要查看数据是否被篡改,可以通过哈希值算法运行数据,比较数据的哈希值和接收数据的哈希值。若上述两个哈希值是相同的,则不更改数据。若上述两个哈希值不匹配,则在接收数据之前,更改数据。

在本申请实施例中,在判断出区块的哈希值未被篡改之后,可以将哈希值自动同步到区块节点上。

在一种可能的实现方式中,在判断出目标区块节点的区块哈希值未被篡改之后,可以将目标区块节点的区块哈希值自动同步到目标区块节点上。

除了将哈希值自动同步到区块节点上,还可以将摘要数据,或者存储数据自动同步到区块节点上。

在一种可能的实现方式中,除了将目标区块节点的区块哈希值自动同步到目标区块节点上,还可以将目标摘要数据,或者目标全文数据自动同步到目标区块节点上。

在一种可能的实现方式中,本公开实施例提供的区块节点数据的处理方法还包括以下步骤:

将目标摘要数据下载至用户的终端设备上;这样,能够有效地提高对存储于区块节点上的数据的处理效率,通过将目标摘要数据下载至用户的终端设备上,以根据目标摘要数据进一步地对目标数据进行筛选,这样,能够精准地确定出目标数据。

在一种可能的实现方式中,本公开实施例提供的区块节点数据的处理方法还包括以下步骤:

将目标全文数据下载至用户的终端设备上;这样,直接下载目标全文数据至用户的终端设备上,使得用户能够快速且精准地得到符合用户的查询条件的目标数据,提高了对存储于各个区块节点上的数据的处理效率,最终提高了用户体验度。

在一种可能的实现方式中,本公开实施例提供的区块节点数据的处理方法还包括以下步骤:

将目标摘要数据下载至用户的终端设备上,和将目标全文数据下载至用户的终端设备上;这样,便于用户根据目标摘要数据对目标数据进行回顾,以及在需要查看目标全文数据时,则直接查看已经下载至用户的终端设备上的目标全文数据。

在本申请实施例中,为了进一步地提高区块节点中存储数据的安全性,还可以分别将具有查看目标全文数据的用户配置为具有第一权限,和将具有下载目标全文数据的用户配置为具有第二权限,其中,第二权限高于第一权限。

在实际应用场景中,在多个用户均提供了目标区块节点所具有的区块哈希值之后,则初步判断出上述多个用户均具有查看目标全文数据的第一权限。

在一种可能的实现方式中,本公开实施例提供的区块节点数据的处理方法还包括以下步骤:

获取多个用户的历史行为数据,若多个用户的历史行为数据显示出其中某一个用户也共享了与该目标全文数据相关的目标关联数据,并将目标关联数据上传至该目标区块节点,则判断出该分享目标关联数据的用户不仅具有查看目标全文数据的第一权限,还具有下载目标全文数据的第二权限,这样,引入了奖励机制,有利于更多的用户将与该目标全文数据相关的目标关联数据均上传至该目标区块节点上,以达到实现数据共享的目的。

在本公开实施例中,响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点;采用分布式探查路由分析方法分析目标区块节点的性能,得到性能分析结果;根据性能分析结果和查询条件,对上传至分布式云存储服务器上的至少包括目标数据的存储数据进行查询处理,得到符合查询条件的目标数据。因此,采用本申请实施例,由于能够根据查询请求中携带的查询条件,在各个区块节点行确定目标数据存储的目标区块节点,这样,能够快速且精准地查询到符合用户查询请求的目标数据,从而有效地提高了对存储于区块节点上的数据的处理效率,提高了用户体验度。

下述为本发明区块节点数据的处理装置实施例,可以用于执行本发明区块节点数据的处理方法实施例。对于本发明区块节点数据的处理装置实施例中未披露的细节,请参照本发明区块节点数据的处理方法实施例。

请参见图4,其示出了本发明一个示例性实施例提供的区块节点数据的处理装置的结构示意图。该区块节点数据的处理装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该区块节点数据的处理装置包括确定单元402、性能分析单元404和处理单元406。

具体而言,确定单元402,用于响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点,查询请求用于查询目标数据;

性能分析单元404,用于采用分布式探查路由分析方法分析确定单元402确定的目标区块节点的性能,得到性能分析结果;

处理单元406,用于根据性能分析单元404分析出的性能分析结果和查询条件,对上传至分布式云存储服务器上的至少包括目标数据的存储数据进行查询处理,得到符合查询条件的目标数据,目标数据包括与查询条件相符合的目标摘要数据和与查询条件相符合的目标全文数据。

可选的,查询条件包括用于查询目标数据的至少一个目标关键词和数据的有效时间段,处理单元406用于:

根据至少一个目标关键词,从存储数据中筛选与至少一个目标关键词匹配的数据作为候选数据;

根据数据的有效时间段,从候选数据中筛选处于数据的有效时间段内的数据作为目标数据。

可选的,处理单元406具体用于:根据至少一个目标关键词和目标摘要数据,从存储数据的摘要数据中筛选与至少一个目标关键词匹配的数据作为候选数据。

可选的,处理单元406具体还用于:根据至少一个目标关键词和目标全文数据,从存储数据的全文数据中筛选与至少一个目标关键词匹配的数据作为候选数据。

可选的,性能分析结果包括目标区块节点的区块哈希值和目标区块节点存储目标数据的目标存储量。

可选的,所述装置还包括:

同步单元(在图4中未示出),用于将目标摘要数据、目标全文数据、目标区块节点的区块哈希值和目标区块节点存储目标数据的目标存储量均同步至目标区块节点上。

可选的,所述装置还包括:

下载单元(在图4中未示出),用于在处理单元得到符合查询条件的目标数据之后,将目标摘要数据下载至用户的终端设备上,或者,将目标全文数据下载至用户的终端设备上;

下载单元(在图4中未示出),还用于在处理单元得到符合查询条件的目标数据之后,将目标摘要数据下载至用户的终端设备上和将目标全文数据下载至用户的终端设备上。

需要说明的是,上述实施例提供的区块节点数据的处理装置在执行区块节点数据的处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块节点数据的处理装置与区块节点数据的处理方法实施例属于同一构思,其体现实现过程详见区块节点数据的处理方法实施例,这里不再赘述。

在本公开实施例中,确定单元用于响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点;性能分析单元用于采用分布式探查路由分析方法分析确定单元确定的目标区块节点的性能,得到性能分析结果;以及处理单元用于根据性能分析单元分析出的性能分析结果和查询条件,对上传至分布式云存储服务器上的至少包括目标数据的存储数据进行查询处理,得到符合查询条件的目标数据。因此,采用本申请实施例,由于能够根据查询请求中携带的查询条件,在各个区块节点行确定目标数据存储的目标区块节点,这样,能够快速且精准地查询到符合用户查询请求的目标数据,从而有效地提高了对存储于区块节点上的数据的处理效率,提高了用户体验度。

在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点,查询请求用于查询目标数据;采用分布式探查路由分析方法分析目标区块节点的性能,得到性能分析结果;根据性能分析结果和查询条件,对上传至分布式云存储服务器上的至少包括目标数据的存储数据进行查询处理,得到符合查询条件的目标数据,目标数据包括与查询条件相符合的目标摘要数据和与查询条件相符合的目标全文数据。

在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:响应于用户的查询请求中携带的查询条件,在各个区块节点上确定目标数据存储的目标区块节点,查询请求用于查询目标数据;采用分布式探查路由分析方法分析目标区块节点的性能,得到性能分析结果;根据性能分析结果和查询条件,对上传至分布式云存储服务器上的至少包括目标数据的存储数据进行查询处理,得到符合查询条件的目标数据,目标数据包括与查询条件相符合的目标摘要数据和与查询条件相符合的目标全文数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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