CN115114009A - 数据查询方法、主节点及从节点 - Google Patents
数据查询方法、主节点及从节点 Download PDFInfo
- Publication number
- CN115114009A CN115114009A CN202110284951.6A CN202110284951A CN115114009A CN 115114009 A CN115114009 A CN 115114009A CN 202110284951 A CN202110284951 A CN 202110284951A CN 115114009 A CN115114009 A CN 115114009A
- Authority
- CN
- China
- Prior art keywords
- block
- queried
- data
- slave node
- query
- 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
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 84
- 238000012795 verification Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 101001056699 Homo sapiens Intersectin-2 Proteins 0.000 description 1
- 101000654583 Homo sapiens Splicing factor, suppressor of white-apricot homolog Proteins 0.000 description 1
- 102100025505 Intersectin-2 Human genes 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Abstract
本申请公开了一种数据查询方法、主节点及从节点,属于数据查询技术领域。该数据查询方法,应用于包含主节点和从节点的联盟链系统,包括:主节点在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;根据所述待查询区块,发送查询处理消息给所述至少一个从节点,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;至少一个从节点分别接收主节点发送的查询处理消息;根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块。上述实现方式,提高了查询效率。
Description
技术领域
本申请属于数据查询领域,特别涉及一种数据查询方法、主节点及从节点。
背景技术
区块链技术是一种共享的分布式数据库技术,其优势主要突出表现在分布式去中心化、无须信任系统、不可篡改和加密安全性等方面。作为一种维护完整的、分布式的、不可篡改的账本数据库的技术,其使用去中心化共识机制,让区块链中的参与者在无须建立信任关系的前提下实现一个统一的账本系统。但随着链上数据量越来越大,查询链上交易数据变得越来越困难。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
虽然现有技术中也提供了区块链上交易数据的查询方式,但是现有技术中所提供的数据查询方式存在查询效率低下的问题。
发明内容
本申请实施例提供一种数据查询方法、主节点及从节点,能够解决现有技术中所提供的对于区块链上的数据查询的方式存在查询效率低下的问题。
为了解决上述技术问题,本发明实施例提供一种数据查询方法,应用于包含主节点和从节点的联盟链系统,包括:
主节点在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
根据所述待查询区块,发送查询处理消息给所述至少一个从节点,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
至少一个从节点分别接收主节点发送的查询处理消息;
根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块。
本发明实施例还提供一种数据查询方法,应用于主节点,包括:
在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
可选地,所述获取能够进行区块查询的至少一个从节点,包括:
接收每个从节点发送的资源使用状态;
获取资源使用状态满足预设条件的至少一个从节点;
其中,所述至少一个从节点中的每一个从节点均能够进行区块查询。
其中,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
其中,所述预设条件包括以下至少一项:CPU利用率小于或等于第一预设值、内存资源利用率小于或等于第二预设值、带宽资源利用率小于或等于第三预设值、输入输出资源利用率小于或等于第四预设值。
可选地,所述发送查询处理消息给所述至少一个从节点,包括:
向所述至少一个从节点广播查询处理消息。
其中,所述待查询区块的标识信息包括:待查询区块的区块号和/或待查询区块的区块哈希值。
本发明实施例还提供一种数据查询方法,应用于从节点,包括:
接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
可选地,所述获取包含所述待查询数据的目标区块,包括:
根据待查询数据以及所述待查询区块的标识信息,获取候选区块;
对所述候选区块进行遍历,获取包含所述待查询数据的目标区块。
可选地,所述根据待查询数据以及所述待查询区块的标识信息,获取候选区块,包括:
利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块。
可选地,所述利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块,包括:
利用K个哈希函数,获取待查询数据的数据索引的K个哈希值;
将所述K个哈希值与待查询区块中的每一区块所对应的布隆过滤器的比特位进行对比;
若对比结果指示所述K个哈希值在一个区块的布隆过滤器对应位置的取值都为1,则确定所述区块为候选区块;
其中,K为大于或等于1的整数。
可选地,在所述利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块之前,还包括:
针对区块链上的每一个区块,根据K个哈希函数对区块中的每一项数据的数据索引进行哈希计算,获取哈希值;
将所述哈希值进行映射,得到数据长度为M的布隆过滤器;
其中,所述布隆过滤器中比特位的初始值为0,当一个比特位上存在映射值时,将所述比特位的值由0置为1;
K、M均为大于或等于1的整数。
可选地,在所述根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块之后,还包括:
对所述目标区块进行验证;
在所述目标区块验证通过后,广播所述目标区块。
可选地,所述对所述目标区块进行验证,包括:
获取所述目标区块对应的默克尔根哈希值;
获取所述目标区块中的所述待查询数据对应的默克尔根验证路径;
根据所述待查询数据对应的哈希值以及所述默克尔根验证路径,获取所述待查询数据对应的默克尔根哈希值;
判断所述待查询数据对应的默克尔根哈希值与所述目标区块对应的默克尔根哈希值是否相等;
若待查询数据的默克尔根的哈希值与所述目标区块的默克尔根的哈希值相等,则所述目标区块验证通过。
可选地,在所述接收主节点发送的查询处理消息之前,还包括:
发送资源使用状态给主节点。
其中,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
本发明实施例还提供一种主节点,包括:
第一获取模块,用于在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
分配模块,用于依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
第一发送模块,用于根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
可选地,所述第一获取模块,包括:
接收单元,用于接收每个从节点发送的资源使用状态;
第一获取单元,用于获取资源使用状态满足预设条件的至少一个从节点;
其中,所述至少一个从节点中的每一个从节点均能够进行区块查询。
本发明实施例还提供一种主节点,包括收发机和处理器;
所述处理器,用于:在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点,依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
所述收发机,用于:根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
本发明实施例还提供一种主节点,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据查询方法的步骤。
本发明实施例还提供一种从节点,包括:
接收模块,用于接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
第二获取模块,用于根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
可选地,在所述第二获取模块根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块之后,还包括:
验证模块,用于对所述目标区块进行验证;
广播模块,用于在所述目标区块验证通过后,广播所述目标区块。
可选地,在所述接收模块接收主节点发送的查询处理消息之前,还包括:
发送资源使用状态给主节点。
本发明实施例还提供一种从节点,包括收发机和处理器;
所述收发机,用于:接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
所述处理器,用于:根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
本发明实施例还提供一种从节点,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据查询方法的步骤。
本发明实施例还提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的数据查询方法中的步骤。
本发明的有益效果是:
上述方案,通过利用负载均衡原理将查询任务分配给多个从节点,使得多个从节点并行的进行查询任务的处理,提高了查询效率。
附图说明
图1是本申请实施例的应用于主节点侧的数据查询方法的流程示意图;
图2是本申请实施例的应用于从节点侧的数据查询方法的流程示意图;
图3是基于布隆过滤器筛选候选区块列表的流程图;
图4是查询交易所在区块的流程图;
图5是默克尔树示意图;
图6是联盟链账本示意图;
图7是实现本申请实施例的架构图;
图8是本申请实施例的主节点的模块示意图;
图9是本申请实施例的从节点的模块示意图;
图10是本申请实施例的应用于联盟链系统的数据查询方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据查询方法、主节点及从节点进行详细地说明。
如图1所示,本申请实施例提供一种数据查询方法,应用于主节点,包括:
步骤11,在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
步骤12,依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
步骤13,根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,不同的从节点所分配的待查询区块不同,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
需要说明的是,本发明实施例以及后续实施例中所提到的待查询数据与待查询交易是相同的含义,该数据或交易均指的是存储于区块链中的信息项。
需要说明的是,本申请实施例中所提到的数据查询方法应用于联盟链中的主节点和从节点,在实现本申请实施例的数据查询方法之前,需要先利用共识算法在联盟链中选举出一个主节点和多个从节点,主节点负责进行查询处理任务的分配,多个从节点的并行的执行查询处理任务,以此能够提高查询效率。
进一步地,本申请实施例的步骤11的具体实现方式为:
接收每个从节点发送的资源使用状态;
获取资源使用状态满足预设条件的至少一个从节点;
其中,所述至少一个从节点中的每一个从节点均能够进行区块查询。
也就会是说,为了保证主节点能够准确的进行查询处理任务的下发,从节点应定时反馈自身的资源使用状态给从节点,具体地,该资源使用状态包括但不限于以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
在接收到从节点发送的资源使用状态后,主节点判断资源使用状态是否满足预设条件(即判断资源利用率是否满足阈值),具体地,该预设条件包括但不限于以下至少一项:
A11、CPU利用率小于或等于第一预设值;
例如,CPU利用率小于或等于50%。
这里还需要说明的是,CPU利用率主要指的是用户态(user)、系统态(sys)、等待态(wait)、空闲态(idle)下的利用率,在具体设置时,用户态下的CPU利用率要低于业界警戒值范围之内,即小于或者等于75%;系统态下的CPU利用率要小于或等于30%;等待态下的CPU利用率要小于或等于5%。
A12、内存资源利用率小于或等于第二预设值;
这里需要说明的是,衡量系统内存是否有瓶颈主要靠SWAP(与虚拟内存交换)交换空间利用率,也就是说,该内存资源利用率指的是SWAP交换空间利用率,因太多的交换将会引起系统性能低下,通常该SWAP交换空间利用率要小于或等于70%。
A13、带宽资源利用率小于或等于第三预设值;
需要说明的是,带宽资源指的是网络吞吐量,指每秒有多少兆流量进出,一般情况下不能超过设备或链路最大传输能力的70%,也就是说,该带宽资源利用率应小于或等于设备或链路最大传输能力(即最大吞吐量)的70%。
A14、输入输出资源利用率小于或等于第四预设值;
需要说明的是,输入输出资源指的是磁盘每秒读写多少兆,主要包括磁盘繁忙率,磁盘队列数,平均服务时间,平均等待时间,空间利用率等,而磁盘繁忙率是直接反映磁盘是否有瓶颈的重要依据,一般情况下,磁盘繁忙率要低于70%,也就是说,该输入输出资源利用率要小于或等于70%。
需要说明的是,在主节点选择得到至少一个能够进行区块查询的从节点后,为满足需求的各个从节点进行查询处理任务的分配,即为各个从节点分配待查询的区块,在进行分配时,主要采用从节点负载均衡原理进行,即分配完后需要保证各个从节点的负载处于均衡的状态,例如,联盟链中一共有100个区块需要查询,在进行从节点查询后,找到6个可以执行查询任务的从节点,若这6个从节点的CPU利用率相等,则将100个区块平均分配给这6个从节点,每个从节点上查询的区块与其他从节点的区块不相同,若这6个从节点的CPU利用率不相等,则在进行100个区块的分配时,为CPU利用率较大的从节点分配的区块少一些,为CPU利用率较小的从节点分配的区块多一些,以此实现从节点的负载均衡。
在主节点为各个从节点分配待查询区块后,主节点通常采用广播方式,将查询处理消息发送给所述至少一个从节点,为了便于从节点知晓对应需要处理哪些区块,该查询处理消息中携带待查询区块的标识信息以及从节点的标识信息,通常情况下,从节点的标识信息与待查询区块的标识信息进行对应,当一个节点解析到查询处理消息携带自身的标识信息后,便能依据该标识信息找到待查询区块的标识信息。具体地,该待查询区块的标识信息包括:待查询区块的区块号和/或待查询区块的区块哈希值。
还需要说明的是,上述描述为一种查询处理任务的分配方式,本发明实施例在具体实现时,从节点还可以为每一个能够进行区块查询的从节点一一的进行查询处理任务的分配,具体为:在主节点获取到至少一个能够进行区块查询的从节点后,按照需要查询的区块的总量,从第一个区块开始先依次为每一个能够进行区块查询的从节点分配一个区块进行查询,然后主节点在实时的进行从节点的资源使用状态的监控,根据监控结果在重新获取能够进行区块查询的从节点,然后在剩余未分配的区块中在依次进行区块的分配,依此类推,直到将主节点将所有区块分配给从节点为止。
在此种情况下,在主节点为从节点分配待查询区块后,主节点通常采用广播方式,将查询处理消息发送给从节点,主节点在进行广播时,可以分配一个区块便广播依次,也可以在一轮分配完成后,进行一次广播;该查询处理消息中携带待查询区块的标识信息以及从节点的标识信息,通常情况下,从节点的标识信息与待查询区块的标识信息进行对应,当一个节点解析到查询处理消息携带自身的标识信息后,便能依据该标识信息找到待查询区块的标识信息。具体地,该待查询区块的标识信息包括:待查询区块的区块号和/或待查询区块的区块哈希值。
本申请实施例,通过利用负载均衡原理将查询任务分配给多个从节点,使得多个从节点并行的进行查询任务的处理,提高了查询效率。
如图2所示,本发明实施例还提供一种数据查询方法,应用于从节点,包括:
步骤21,接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
步骤22,根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
具体地,该从节点在进行查询,即实现步骤22时,主要处理过程为:
根据待查询数据以及所述待查询区块的标识信息,获取候选区块;
对所述候选区块进行遍历,获取包含所述待查询数据的目标区块。
需要说明的是,此种实现方式是先进行区块的粗筛,即先找到可能包含待查询数据的候选区块,根据该候选区块得到候选区块列表,该候选区块列表中包含候选区块的区块号,然后再进行区块的细筛,即在候选区块列表中找到一定包含待查询数据的区块,通过此种方式,能够避免直接进行区块的遍历,造成资源开销较大的问题,以此降低了资源开销,同时也可以提高查询效率。
进一步需要说明的是,候选区块的获取过程为:
利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块。
也就是或,此处主要是根据布隆过滤器执行候选区块的筛选,即每一个区块均会对应一个布隆过滤器,具体地,布隆过滤器的设置方式为:针对区块链上的每一个区块,根据K个哈希函数对区块中的每一项数据的数据索引进行哈希计算,获取哈希值;将所述哈希值进行映射,得到数据长度为M的布隆过滤器;
其中,所述布隆过滤器中比特位的初始值为0,当一个比特位上存在映射值时,将所述比特位的值由0置为1;
具体地,K、M均为大于或等于1的整数。
具体地,使用布隆过滤器获取候选区块的具体方式为:
利用K个哈希函数,获取待查询数据的数据索引的K个哈希值;
将所述K个哈希值与待查询区块中的每一区块所对应的布隆过滤器的比特位进行对比;
若对比结果指示所述K个哈希值在一个区块的布隆过滤器对应位置的取值都为1,则确定所述区块为候选区块。
通常情况下,从节点得到候选区块后会以候选区块列表的形式对这些候选区块进行存储,以便于后续使用。
也就是说,由各个从节点分别用K个哈希函数计算待查询交易的交易索引(即交易ID)的哈希值,将计算得到的K个哈希值与每个区块中所设置的布隆过滤器的比特位进行对比,若所计算出的K个哈希值在布隆过滤器对应位置的值都为1,则表示该交易可能存在于该区块中,此时可返回区块号并存入候选区块列表;若所计算出的K个哈希值在布隆过滤器对应位置存在0,则表示该块中一定不存在该笔待查询交易。
具体地,如图3所示,基于布隆过滤器筛选候选区块列表流程主要过程为:
步骤301,获取待查询的交易T1的ID,即T1_ID;
步骤302,分别利用多个哈希函数获取交易T1的多个哈希值;
例如,以3个哈希函数为例,则此步骤会获取到交易T1对应的3个哈希值。
步骤303,将多个哈希值与布隆过滤器对应的位置进行对比;
步骤304,判断布隆过滤器中多个哈希值对应的位置的取值是否均为1,若取值均为1,则执行步骤305,否则结束运行;
步骤305,返回区块所对应的区块号;
步骤306,将区块号加入到候选区块列表。
进一步地,从节点对筛选出的候选区块进行遍历,遍历完成后,便能得到是否存在目标区块的结果,若存在目标区块,则需要先对所述目标区块进行验证,在所述目标区块验证通过后,广播所述目标区块,若验证不通过或候选区块中不存在目标区块,则从节点向各个节点广播不存在目标区块。
进一步地,如图4所示,从节点依据候选区块获取目标区块的过程为:
步骤401,判断候选区块列表是否为空;
若不为空,则执行步骤402,否则结束运行;
步骤402,根据待查询交易的交易ID遍历候选区块列表;
步骤403,判断交易是否存在候选区块中,若存在,则执行步骤404,否则结束运行;
步骤404,返回包含待查询交易的区块的区块号。
具体地,从节点对目标区块进行验证的具体实现过程为:
获取所述目标区块对应的默克尔根哈希值;
获取所述目标区块中的所述待查询数据对应的默克尔根验证路径;
根据所述待查询数据对应的哈希值以及所述默克尔根验证路径,获取所述待查询数据对应的默克尔根哈希值;
判断所述待查询数据对应的默克尔根哈希值与所述目标区块对应的默克尔根哈希值是否相等;
若待查询数据的默克尔根的哈希值与所述目标区块的默克尔根的哈希值相等,则所述目标区块验证通过。
需要说明的是,此处是基于默克尔根哈希验证查询出的目标区块的有效性,对每个区块中的所有交易构建默克尔树结构并找出默克尔根哈希路径,计算待查询交易的默克尔根哈希值,若两个默克尔根哈希值相同时,两组数据必然相同,则表明查询出的目标区块必然有效;否则,两组数据必然存在不同,则表明查询出的目标区块无效;基于默克尔树的默克尔根哈希值,可快速比较大量数据。
例如,如图5所示,假设需验证交易T1的交易是否存在与目标区块,首先需要获取目标区块对应的默克尔根哈希值Hroot,然后获取默克尔根验证路径,即只需要知道哈希值H2、H34、H58即可,也就是说,H2、H34、H58就是目标区块的默克尔根验证路径,最后依据默克尔根验证路径进行交易T1对应的默克尔根哈希值Hroot’的计算,即先计算Hash(T1)的哈希值为H1’,其次,计算H12’=Hash(H1’+H2)、H14’=Hash(H12’+H34)、Hroot’=Hash(H14’+H58);最后,判断Hroot与Hroot’是否相等,若相等,则表示交易T1存在该目标区块中。
还需要说明的是,在步骤21之前,本申请实施例的方法还包括:
发送资源使用状态给主节点。
具体地,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
需要说明的是,本发明基于分布式计算的思想,提出一种基于资源感知的区块数据并行查询方式,其总体思想是利用联盟链中每一个节点的计算资源,动态的分配查询任务,从大量的区块数据并行查询区块数据。
下面对本申请实施例的实际应用过程进行详细说明如下。
这里首先需要说明的是,在联盟链生成区块时,将区块号和该区块的所有交易ID存入区块索引表,以便于在每个节点针对每个区块中的所有交易ID设计布隆过滤器,即可直接从区块索引表中获取交易ID,从而对每个区块中的每个交易ID进行哈希计算,将计算后得到的哈希值映射到布隆过滤器中相对应的位置,并将相对应位置的比特位置为1。
如图6所示为联盟链账本示意图,每个节点包含一份相同的账本和一个区块索引表。其中,账本是由一个个区块链接而成的链式存储结构,区块记录了经全网共识的交易信息;区块索引表以key/value形式存储了区块的索引信息,其中key值为区块号,value值交易ID。
如图7所示为实现本发明实施例的架构图,图示中存在一个主节点(leader节点),leader节点能够实现资源监控功能,用于实时监控从节点发送的资源使用状态;任务调度功能,用于依据从节点发送的资源使用状态,动态的给从节点分配需要筛选的区块;从节点能够实现过滤功能,用于过滤候选区块;查询功能,用于遍历候选区块获取目标区块。
主节点和从节点的主要实现过程为:主节点负责实时监控从节点的CPU、内存资源、带宽资源、输入输出资源的利用率,从节点负责定时发送CPU、内存资源、带宽资源、输入输出资源的利用率给主节点;其次,由主节点依据各从节点的资源的利用率将任务分配给各从节点;进一步,当从节点接收到主节点根据资源的利用率动态分配的待查询任务以及指定的区块信息后,多个从节点并行使用布隆过滤器过滤区块得到候选区块列表;最后,由各从节点对候选区块列表进行遍历,判断交易是否存在,当交易存在时,返回区块号。
综上可知,相比现有的技术,本提案基于分布式计算的思想,将原先的由单一节点从大量区块数据中查询交易信息,优化设计由多节点并行查询区块以提高查询效率。
如图8所示,本发明实施例还提供一种主节点80,包括:
第一获取模块81,用于在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
分配模块82,用于依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
第一发送模块83,用于根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
可选地,所述第一获取模块81,包括:
接收单元,用于接收每个从节点发送的资源使用状态;
第一获取单元,用于获取资源使用状态满足预设条件的至少一个从节点;
其中,所述至少一个从节点中的每一个从节点均能够进行区块查询。
其中,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
其中,所述预设条件包括以下至少一项:CPU利用率小于或等于第一预设值、内存资源利用率小于或等于第二预设值、带宽资源利用率小于或等于第三预设值、输入输出资源利用率小于或等于第四预设值。
可选地,所述第一发送模块83,用于:
向所述至少一个从节点广播查询处理消息。
其中,所述待查询区块的标识信息包括:待查询区块的区块号和/或待查询区块的区块哈希值。
需要说明的是,本发明实施例提供的主节点是能够执行上述数据查询方法的主节点,则上述应用于主节点侧的数据查询方法实施例中的所有实现方式均适用于该主节点,且均能达到相同或相似的有益效果。
本发明实施例还提供一种主节点,包括收发机和处理器;
所述处理器,用于:在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点,依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
所述收发机,用于:根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
可选地,所述处理器执行获取能够进行区块查询的至少一个从节点时,具体用于实现:
接收每个从节点发送的资源使用状态;
获取资源使用状态满足预设条件的至少一个从节点;
其中,所述至少一个从节点中的每一个从节点均能够进行区块查询。
其中,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
其中,所述预设条件包括以下至少一项:CPU利用率小于或等于第一预设值、内存资源利用率小于或等于第二预设值、带宽资源利用率小于或等于第三预设值、输入输出资源利用率小于或等于第四预设值。
可选地,所述收发机执行发送查询处理消息给所述至少一个从节点时,具体用于实现:
向所述至少一个从节点广播查询处理消息。
其中,所述待查询区块的标识信息包括:待查询区块的区块号和/或待查询区块的区块哈希值。
本发明实施例还提供一种主节点,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据查询方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的数据查询方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
如图9所示,本发明实施例还提供一种从节点90,包括:
接收模块91,用于接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
第二获取模块92,用于根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
可选地,所述第二获取模块92,包括:
第二获取单元,用于根据待查询数据以及所述待查询区块的标识信息,获取候选区块;
第三获取单元,用于对所述候选区块进行遍历,获取包含所述待查询数据的目标区块。
可选地,所述第二获取单元,用于:
利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块。
可选地,所述第二获取单元,具体用于:
利用K个哈希函数,获取待查询数据的数据索引的K个哈希值;
将所述K个哈希值与待查询区块中的每一区块所对应的布隆过滤器的比特位进行对比;
若对比结果指示所述K个哈希值在一个区块的布隆过滤器对应位置的取值都为1,则确定所述区块为候选区块;
其中,K为大于或等于1的整数。
可选地,在所述第二获取单元利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块之前,还包括:
第三获取模块,用于针对区块链上的每一个区块,根据K个哈希函数对区块中的每一项数据的数据索引进行哈希计算,获取哈希值;
第四获取模块,用于将所述哈希值进行映射,得到数据长度为M的布隆过滤器;
其中,所述布隆过滤器中比特位的初始值为0,当一个比特位上存在映射值时,将所述比特位的值由0置为1;
K、M均为大于或等于1的整数。
可选地,在所述第二获取模块92根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块之后,还包括:
验证模块,用于对所述目标区块进行验证;
广播模块,用于在所述目标区块验证通过后,广播所述目标区块。
可选地,所述验证模块,包括:
第四获取单元,用于获取所述目标区块对应的默克尔根哈希值;
第五获取单元,用于获取所述目标区块中的所述待查询数据对应的默克尔根验证路径;
第六获取单元,用于根据所述待查询数据对应的哈希值以及所述默克尔根验证路径,获取所述待查询数据对应的默克尔根哈希值;
验证单元,用于判断所述待查询数据对应的默克尔根哈希值与所述目标区块对应的默克尔根哈希值是否相等;
确定单元,用于若待查询数据的默克尔根的哈希值与所述目标区块的默克尔根的哈希值相等,则所述目标区块验证通过。
可选地,在所述接收模块91接收模块接收主节点发送的查询处理消息之前,还包括:
第二发送模块,用于发送资源使用状态给主节点。
其中,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
需要说明的是,本发明实施例提供的从节点是能够执行上述数据查询方法的从节点,则上述应用于从节点侧的数据查询方法实施例中的所有实现方式均适用于该从节点,且均能达到相同或相似的有益效果。
本发明实施例还提供一种从节点,包括收发机和处理器;
所述收发机,用于:接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
所述处理器,用于:根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
可选地,所述处理器执行获取包含所述待查询数据的目标区块时,具体用于实现:
根据待查询数据以及所述待查询区块的标识信息,获取候选区块;
对所述候选区块进行遍历,获取包含所述待查询数据的目标区块。
可选地,所述处理器,用于实现:
利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块。
可选地,所述处理器,具体用于实现:
利用K个哈希函数,获取待查询数据的数据索引的K个哈希值;
将所述K个哈希值与待查询区块中的每一区块所对应的布隆过滤器的比特位进行对比;
若对比结果指示所述K个哈希值在一个区块的布隆过滤器对应位置的取值都为1,则确定所述区块为候选区块;
其中,K为大于或等于1的整数。
可选地,在所述处理器利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块之前,所述处理器还用于实现:
针对区块链上的每一个区块,根据K个哈希函数对区块中的每一项数据的数据索引进行哈希计算,获取哈希值;
将所述哈希值进行映射,得到数据长度为M的布隆过滤器;
其中,所述布隆过滤器中比特位的初始值为0,当一个比特位上存在映射值时,将所述比特位的值由0置为1;
K、M均为大于或等于1的整数。
可选地,在所述处理器根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块之后,所述处理器还用于实现:
对所述目标区块进行验证;
在所述目标区块验证通过后,广播所述目标区块。
可选地,所述处理器执行对所述目标区块进行验证时,具体用于实现:
获取所述目标区块对应的默克尔根哈希值;
获取所述目标区块中的所述待查询数据对应的默克尔根验证路径;
根据所述待查询数据对应的哈希值以及所述默克尔根验证路径,获取所述待查询数据对应的默克尔根哈希值;
判断所述待查询数据对应的默克尔根哈希值与所述目标区块对应的默克尔根哈希值是否相等;
若待查询数据的默克尔根的哈希值与所述目标区块的默克尔根的哈希值相等,则所述目标区块验证通过。
可选地,在所述收发机接收主节点发送的查询处理消息之前,还用于实现:
发送资源使用状态给主节点。
其中,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
本发明实施例还提供一种从节点,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据查询方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的数据查询方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
如图10所示,本发明实施例还提供一种数据查询方法,应用于包含主节点和从节点的联盟链系统,包括:
步骤101,主节点在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
步骤102,依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
步骤103,根据所述待查询区块,发送查询处理消息给所述至少一个从节点,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
步骤104,至少一个从节点分别接收主节点发送的查询处理消息;
步骤105,根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块。
需要说明的是,在实现本发明实施例之前,先利用共识算法在联盟链系统中选举出一个主节点和多个从节点,在获取到查询请求的情况下,主节点通过利用负载均衡原理将查询任务分配给多个从节点,使得多个从节点并行的进行查询任务的处理,提高了查询效率。
具体地,步骤101至步骤105的具体实现过程参见上述的实施例,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (26)
1.一种数据查询方法,应用于包含主节点和从节点的联盟链系统,其特征在于,包括:
主节点在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
根据所述待查询区块,发送查询处理消息给所述至少一个从节点,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
至少一个从节点分别接收主节点发送的查询处理消息;
根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块。
2.一种数据查询方法,应用于主节点,其特征在于,包括:
在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
3.根据权利要求2所述的数据查询方法,其特征在于,所述获取能够进行区块查询的至少一个从节点,包括:
接收每个从节点发送的资源使用状态;
获取资源使用状态满足预设条件的至少一个从节点;
其中,所述至少一个从节点中的每一个从节点均能够进行区块查询。
4.根据权利要求3所述的数据查询方法,其特征在于,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
5.根据权利要求3所述的数据查询方法,其特征在于,所述预设条件包括以下至少一项:CPU利用率小于或等于第一预设值、内存资源利用率小于或等于第二预设值、带宽资源利用率小于或等于第三预设值、输入输出资源利用率小于或等于第四预设值。
6.根据权利要求2所述的数据查询方法,其特征在于,所述发送查询处理消息给所述至少一个从节点,包括:
向所述至少一个从节点广播查询处理消息。
7.根据权利要求2所述的数据查询方法,其特征在于,所述待查询区块的标识信息包括:待查询区块的区块号和/或待查询区块的区块哈希值。
8.一种数据查询方法,应用于从节点,其特征在于,包括:
接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
9.根据权利要求8所述的数据查询方法,其特征在于,所述获取包含所述待查询数据的目标区块,包括:
根据待查询数据以及所述待查询区块的标识信息,获取候选区块;
对所述候选区块进行遍历,获取包含所述待查询数据的目标区块。
10.根据权利要求9所述的数据查询方法,其特征在于,所述根据待查询数据以及所述待查询区块的标识信息,获取候选区块,包括:
利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块。
11.根据权利要求10所述的数据查询方法,其特征在于,所述利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块,包括:
利用K个哈希函数,获取待查询数据的数据索引的K个哈希值;
将所述K个哈希值与待查询区块中的每一区块所对应的布隆过滤器的比特位进行对比;
若对比结果指示所述K个哈希值在一个区块的布隆过滤器对应位置的取值都为1,则确定所述区块为候选区块;
其中,K为大于或等于1的整数。
12.根据权利要求10所述的数据查询方法,其特征在于,在所述利用布隆过滤器,在待查询区块中获取包含待查询数据的候选区块之前,还包括:
针对区块链上的每一个区块,根据K个哈希函数对区块中的每一项数据的数据索引进行哈希计算,获取哈希值;
将所述哈希值进行映射,得到数据长度为M的布隆过滤器;
其中,所述布隆过滤器中比特位的初始值为0,当一个比特位上存在映射值时,将所述比特位的值由0置为1;
K、M均为大于或等于1的整数。
13.根据权利要求8所述的数据查询方法,其特征在于,在所述根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块之后,还包括:
对所述目标区块进行验证;
在所述目标区块验证通过后,广播所述目标区块。
14.根据权利要求13所述的数据查询方法,其特征在于,所述对所述目标区块进行验证,包括:
获取所述目标区块对应的默克尔根哈希值;
获取所述目标区块中的所述待查询数据对应的默克尔根验证路径;
根据所述待查询数据对应的哈希值以及所述默克尔根验证路径,获取所述待查询数据对应的默克尔根哈希值;
判断所述待查询数据对应的默克尔根哈希值与所述目标区块对应的默克尔根哈希值是否相等;
若待查询数据的默克尔根的哈希值与所述目标区块的默克尔根的哈希值相等,则所述目标区块验证通过。
15.根据权利要求8所述的数据查询方法,其特征在于,在所述接收主节点发送的查询处理消息之前,还包括:
发送资源使用状态给主节点。
16.根据权利要求15所述的数据查询方法,其特征在于,所述资源使用状态包括以下至少一项:CPU利用率、带宽资源利用率、内存资源利用率和输入输出资源利用率。
17.一种主节点,其特征在于,包括:
第一获取模块,用于在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点;
分配模块,用于依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
第一发送模块,用于根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
18.根据权利要求17所述的主节点,其特征在于,所述第一获取模块,包括:
接收单元,用于接收每个从节点发送的资源使用状态;
第一获取单元,用于获取资源使用状态满足预设条件的至少一个从节点;
其中,所述至少一个从节点中的每一个从节点均能够进行区块查询。
19.一种主节点,其特征在于,包括收发机和处理器;
所述处理器,用于:在接收到查询请求的情况下,获取能够进行区块查询的至少一个从节点,依据负载均衡原理,为所述至少一个从节点中的每一个从节点分配待查询区块;
所述收发机,用于:根据所述待查询区块,发送查询处理消息给所述至少一个从节点,使得各个从节点在对应的待查询区块中查找包含所述查询请求中的待查询数据的目标区块;
其中,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息。
20.一种主节点,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求2-7任一项所述的数据查询方法的步骤。
21.一种从节点,其特征在于,包括:
接收模块,用于接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
第二获取模块,用于根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
22.根据权利要求21所述的从节点,其特征在于,在所述第二获取模块根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块之后,还包括:
验证模块,用于对所述目标区块进行验证;
广播模块,用于在所述目标区块验证通过后,广播所述目标区块。
23.根据权利要求21所述的从节点,其特征在于,在所述接收模块接收主节点发送的查询处理消息之前,还包括:
发送资源使用状态给主节点。
24.一种从节点,其特征在于,包括收发机和处理器;
所述收发机,用于:接收主节点发送的查询处理消息,所述查询处理消息中包括:待查询区块的标识信息以及从节点的标识信息;
所述处理器,用于:根据待查询数据以及所述待查询区块的标识信息,获取包含所述待查询数据的目标区块;
其中,所述查询处理消息由所述主节点根据负载均衡原理为能够进行区块查询的至少一个从节点中的每一个从节点分配的待查询区块生成。
25.一种从节点,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求8-16任一项所述的数据查询方法的步骤。
26.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求2-16任一项所述的数据查询方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110284951.6A CN115114009A (zh) | 2021-03-17 | 2021-03-17 | 数据查询方法、主节点及从节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110284951.6A CN115114009A (zh) | 2021-03-17 | 2021-03-17 | 数据查询方法、主节点及从节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115114009A true CN115114009A (zh) | 2022-09-27 |
Family
ID=83324371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110284951.6A Pending CN115114009A (zh) | 2021-03-17 | 2021-03-17 | 数据查询方法、主节点及从节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114009A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884962A (zh) * | 2022-04-29 | 2022-08-09 | 蚂蚁区块链科技(上海)有限公司 | 负载均衡方法及装置和电子设备 |
-
2021
- 2021-03-17 CN CN202110284951.6A patent/CN115114009A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884962A (zh) * | 2022-04-29 | 2022-08-09 | 蚂蚁区块链科技(上海)有限公司 | 负载均衡方法及装置和电子设备 |
CN114884962B (zh) * | 2022-04-29 | 2024-03-26 | 蚂蚁区块链科技(上海)有限公司 | 负载均衡方法及装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112153085B (zh) | 一种数据处理方法、节点及区块链系统 | |
CN110401720B (zh) | 信息处理方法、装置、系统、应用服务器和介质 | |
CN108769146B (zh) | 一种基于区块链的数据传输方法、装置及区块链系统 | |
CN103294548B (zh) | 一种基于分布式文件系统的io请求调度方法和系统 | |
CN113127168A (zh) | 服务分配方法、系统、装置、服务器及介质 | |
CN110457128B (zh) | 任务分配方法、装置和系统 | |
CN110740164A (zh) | 服务器确定方法、调控方法、装置、设备及存储介质 | |
CN105791254A (zh) | 网络请求处理方法、装置及终端 | |
CN105468619A (zh) | 用于数据库连接池的资源分配方法和装置 | |
CN112769943A (zh) | 一种业务处理的方法及装置 | |
CN109189578A (zh) | 存储服务器分配方法、装置、管理服务器以及存储系统 | |
CN113361913A (zh) | 一种通信业务编排方法、装置、计算机设备及存储介质 | |
CN110336677B (zh) | 区块打包、广播方法和系统、设备及存储介质 | |
CN115114009A (zh) | 数据查询方法、主节点及从节点 | |
US20190372825A1 (en) | Communication apparatus, communication method, and recording medium | |
CN107113323B (zh) | 一种数据存储方法、装置和系统 | |
WO2020076393A1 (en) | Stream allocation using stream credits | |
CN114003337A (zh) | 访问请求的分配方法及装置 | |
CN113645145A (zh) | 负载均衡方法、装置、网络设备及计算机可读存储介质 | |
CN111159131A (zh) | 性能优化方法、装置、设备及计算机可读存储介质 | |
WO2016092604A1 (ja) | データ処理システムおよびデータアクセス方法 | |
CN110515564B (zh) | 一种输入/输出i/o路径的确定方法和装置 | |
CN111400241B (zh) | 数据重构方法和装置 | |
CN104301944A (zh) | 资源能力分配方法和设备 | |
CN109688171B (zh) | 缓存空间调度方法、装置和系统 |
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 |