CN110866027A - 一种提高区块链查询效率的系统及方法 - Google Patents
一种提高区块链查询效率的系统及方法 Download PDFInfo
- Publication number
- CN110866027A CN110866027A CN201811636836.5A CN201811636836A CN110866027A CN 110866027 A CN110866027 A CN 110866027A CN 201811636836 A CN201811636836 A CN 201811636836A CN 110866027 A CN110866027 A CN 110866027A
- Authority
- CN
- China
- Prior art keywords
- block chain
- query
- node
- scheduling
- module
- 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 18
- 238000012544 monitoring process Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 37
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种提高区块链查询效率的系统及方法。系统包括:区块链接口模块与区块链网络中的至少一个节点连接;节点配置模块用于配置参与查询调度的节点;查询请求服务模块用于接收终端的查询请求并将节点的查询结果返回终端;查询调度模块用于监测与区块链接口模块连接的每个节点的资源利用状态,并根据节点的资源利用状态将终端的查询请求分发到资源利用率低的节点。方法包括:配置参与查询调度的节点,扫描参与查询调度节点的资源利用状态;将查询请求转发至资源利用率低的节点;将节点返回的查询结果转发给终端。本发明通过合理分发查询请求的策略均衡区块链计算资源,提高并发时的区块链查询效率。
Description
技术领域
本发明涉及区块链技术领域,更具体地,涉及一种提高区块链查询效率的系统及方法。
背景技术
近年来随着区块链技术的兴起,各种基于区块链技术的应用也纷纷面世,应用范围不断扩大,区块链查询技术随着应用的深入在效率上常常表现的不如人意。
图3所示的是现有区块链主流查询架构示意图,当前区块链查询方式主要是通过对指定节点进行单点查询,实际的应用场景中,查询终端如果自由选择或基于某种业务规则来决定接入点,在并发量不大的时候,效率可以保障,但是在高并发时,区块链网络里容易出现有的节点很繁忙,但是有的节点又很空闲,资源得不到有效利用,造成区块链资源利用率低,查询请求处理的效率低。
发明内容
本发明的目的是提出一种提高区块链查询效率的系统及方法,实现提高整个区块链网络的资源利用率和查询效率。
为实现上述目的,本发明提出了一种提高区块链查询效率的系统,包括:节点配置模块、查询请求服务模块、查询调度模块、区块链接口模块;
所述区块链接口模块与区块链网络中的至少一个区块链节点连接;
所述节点配置模块用于配置参与查询调度的区块链节点;
所述查询请求服务模块用于接收终端的查询请求并将区块链节点的查询结果返回终端;
所述查询调度模块用于监测与所述区块链接口模块连接的每个区块链节点的资源利用状态,并根据所述区块链节点的资源利用状态将终端的查询请求分发到资源利用率低的区块链节点。
优选地,所述查询调度模块通过轮询查找参与查询调度的全部区块链节点中的零长度队列的区块链节点,优先将客户端的查询请求发往长度为零队列对应的区块链节点。
优选地,所述查询调度模块轮询参与查询调度的每个区块链节点并根据区块链节点端口队列状态、处理列表滞纳情况判断区块链节点服务状态是否正常,根据服务状态正常的区块链节点的处理能力权重值与端口队列长度的比值计算区块链节点的资源利用率,并将所述终端的查询请求分配至资源利用率低的区块链节点进行处理。
优选地,所述节点配置模块包括配置文件、命令行、UI界面,通过所述配置文件、命令行或UI界面完成参与查询调度的区块链节点的添加、删除。
一种提高区块链查询效率的方法,包括:
步骤1:配置参与查询调度的区块链节点,其中至少有一个区块链节点参与查询调度;
步骤2:扫描参与查询调度的每个区块链节点的资源利用状态;
步骤3:将终端发送的查询请求转发至资源利用率低的区块链节点;
步骤4:将区块链节点返回的查询结果转发给终端。
优选地,所述步骤1包括:
通过配置文件、命令行或UI界面完成参与查询调度区块链节点的添加、删除。
优选地,所述步骤2包括:
扫描参与调度的区块链节点端口队列状态并结合区块链处理列表滞纳情况判断节点服务状态是否正常。
优选地,所述步骤2还包括:
基于区块链节点的网速和处理速度建立并调节服务状态正常的区块链节点的处理能力的权重值。
优选地,所述步骤3包括:
依据每个区块链节点处理能力权重值与端口队列长度的比值指定处理查询请求的区块链节点。
优选地,所述步骤3还包括:
通过轮询查找参与调度的区块链节点中的零长度队列的区块链节点,并将客户端的查询请求优先发往长度为零队列对应的区块链节点。
本发明的有益效果为:本发明通过实时获得在线节点的处理效率和排队情况将查询请求分发给空闲节点或相对资源利用率较低的节点处理,将区块链网络中全部或部分节点纳入全局计算资源调度,在查询高并发状况下充分发挥集群计算优势,实现了高效利用计算资源来完成终端的查询请求,避免当前主流处理方式在高并发查询时造成的计算压力承载不均衡的状况,从而整体提高区块链网络的查询效率。
本发明的装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。
附图说明
通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其特征在于,在本发明示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本发明的一个实施例的一种提高区块链查询效率的系统示意图。
图2示出了根据本发明的一种提高区块链查询效率的方法的步骤的流程图。
图3示出了现有区块链主流查询架构的示意图。
具体实施方式
下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
根据本发明的一种提高区块链查询效率的系统,包括:节点配置模块、查询请求服务模块、查询调度模块、区块链接口模块;
区块链接口模块与区块链网络中的至少一个区块链节点连接;
节点配置模块用于配置参与查询调度的区块链节点;
查询请求服务模块用于接收终端的查询请求并将区块链节点的查询结果返回终端;
查询调度模块用于监测与区块链接口模块连接的每个区块链节点的资源利用状态,并根据区块链节点的资源利用状态将终端的查询请求分发到资源利用率低的区块链节点。
具体地,通过区块链接口模块连接区块链节点,通过节点配置模块实现参与调度的节点管理,通过查询调度模块轮询节点的状态并根据节点状态合理分发查询请求到资源利用率低节点处理,通过查询请求服务模块接受终端查询请求并返回查询结果,通过合理分发查询请求的策略均衡区块链计算资源,提高并发时的区块链查询效率。
在一个示例中,查询调度模块通过轮询查找参与查询调度的全部区块链节点中的零长度队列的区块链节点,优先将客户端的查询请求发往长度为零队列对应的区块链节点。
在一个示例中,查询调度模块轮询参与查询调度的每个区块链节点并根据区块链节点端口队列状态、处理列表滞纳情况判断区块链节点服务状态是否正常,根据服务状态正常的区块链节点的处理能力权重值与端口队列长度的比值计算区块链节点的资源利用率,并将终端的查询请求分配至资源利用率低的区块链节点进行处理。
具体地,查询调度模块通过轮询查找所有节点中的空闲节点以及资源利用率低的节点,优先将终端的查询请求发往空闲节点和资源利用率低的节点,便于快速处理并发查询请求。
在一个示例中,节点配置模块包括配置文件、命令行、UI界面,通过配置文件、命令行或UI界面完成参与查询调度的区块链节点的添加、删除。
具体地,在实际应用中区块链网络运营人员通过节点配置模块根据实际需求添加或删除参与调度的区块链节点,可以将区块链网络中全部或部分节点纳入全局计算资源调度。
一种提高区块链查询效率的方法,包括:
步骤1:配置参与查询调度的区块链节点,其中至少有一个区块链节点参与查询调度;
步骤2:扫描参与查询调度的每个区块链节点的资源利用状态;
步骤3:将终端发送的查询请求转发至资源利用率低的区块链节点;
步骤4:将区块链节点返回的查询结果转发给终端。
在一个示例中,步骤1包括:
通过配置文件、命令行或UI界面完成参与查询调度区块链节点的添加、删除。
在一个示例中,步骤2包括:
扫描参与调度的区块链节点端口队列状态并结合区块链处理列表滞纳情况判断节点服务状态是否正常。
在一个示例中,步骤2还包括:
基于区块链节点的网速和处理速度建立并调节服务状态正常的区块链节点的处理能力的权重值。
在一个示例中,步骤3包括:
依据每个区块链节点处理能力权重值与端口队列长度的比值指定处理查询请求的区块链节点。
在一个示例中,步骤3还包括:
通过轮询查找参与调度的区块链节点中的零长度队列的区块链节点,并将客户端的查询请求优先发往长度为零队列对应的区块链节点。
实施例:
图1示出了根据本发明的一个实施例的一种提高区块链查询效率的系统示意图。
如图1所示,一种提高区块链查询效率的系统,包括:节点配置模块、查询请求服务模块、查询调度模块、区块链接口模块;区块链接口模块与区块链网络中的至少一个区块链节点连接;节点配置模块用于配置参与查询调度的区块链节点;查询请求服务模块用于接收终端的查询请求并将区块链节点的查询结果返回终端;查询调度模块用于监测与区块链接口模块连接的每个区块链节点的资源利用状态,并根据区块链节点的资源利用状态将终端的查询请求分发到资源利用率低的区块链节点。查询调度模块通过轮询查找参与查询调度的全部区块链节点中的零长度队列的区块链节点,优先将客户端的查询请求发往长度为零队列对应的区块链节点。查询调度模块轮询参与查询调度的每个区块链节点并根据区块链节点端口队列状态、处理列表滞纳情况判断区块链节点服务状态是否正常,根据服务状态正常的区块链节点的处理能力权重值与端口队列长度的比值计算区块链节点的资源利用率,并将终端的查询请求分配至资源利用率低的区块链节点进行处理。节点配置模块包括配置文件、命令行、UI界面,通过配置文件、命令行或UI界面完成参与查询调度的区块链节点的添加、删除。
图2示出了根据本发明的一种提高区块链查询效率的方法的步骤的流程图。
如图2所示,一种提高区块链查询效率的方法,包括:
步骤1:配置参与查询调度的区块链节点,其中至少有一个区块链节点参与查询调度;
步骤2:扫描参与查询调度的每个区块链节点的资源利用状态;
步骤3:将终端发送的查询请求转发至资源利用率低的区块链节点;
步骤4:将区块链节点返回的查询结果转发给终端。
步骤1包括:
通过配置文件、命令行或UI界面完成参与查询调度区块链节点的添加、删除。
步骤2包括:
扫描参与调度的区块链节点端口队列状态并结合区块链处理列表滞纳情况判断节点服务状态是否正常。
步骤2还包括:
基于区块链节点的网速和处理速度建立并调节服务状态正常的区块链节点的处理能力的权重值。
步骤3包括:
依据每个区块链节点处理能力权重值与端口队列长度的比值指定处理查询请求的区块链节点。
步骤3还包括:
通过轮询查找参与调度的区块链节点中的零长度队列的区块链节点,并将客户端的查询请求优先发往长度为零队列对应的区块链节点。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
Claims (10)
1.一种提高区块链查询效率的系统,其特征在于,包括:节点配置模块、查询请求服务模块、查询调度模块、区块链接口模块;
所述区块链接口模块与区块链网络中的至少一个区块链节点连接;
所述节点配置模块用于配置参与查询调度的区块链节点;
所述查询请求服务模块用于接收终端的查询请求并将区块链节点的查询结果返回终端;
所述查询调度模块用于监测与所述区块链接口模块连接的每个区块链节点的资源利用状态,并根据所述区块链节点的资源利用状态将终端的查询请求分发到资源利用率低的区块链节点。
2.根据权利要求1所述的提高区块链查询效率的系统,其特征在于,所述查询调度模块通过轮询查找参与查询调度的全部区块链节点中的零长度队列的区块链节点,优先将客户端的查询请求发往长度为零队列对应的区块链节点。
3.根据权利要求1所述的提高区块链查询效率的系统,其特征在于,所述查询调度模块轮询参与查询调度的每个区块链节点并根据区块链节点端口队列状态、处理列表滞纳情况判断区块链节点服务状态是否正常,根据服务状态正常的区块链节点的处理能力权重值与端口队列长度的比值计算区块链节点的资源利用率,并将所述终端的查询请求分配至资源利用率低的区块链节点进行处理。
4.根据权利要求1所述的提高区块链查询效率的系统,其特征在于,所述节点配置模块包括配置文件、命令行、UI界面,通过所述配置文件、命令行或UI界面完成参与查询调度的区块链节点的添加、删除。
5.一种提高区块链查询效率的方法,其特征在于,包括:
步骤1:配置参与查询调度的区块链节点,其中至少有一个区块链节点参与查询调度;
步骤2:扫描参与查询调度的每个区块链节点的资源利用状态;
步骤3:将终端发送的查询请求转发至资源利用率低的区块链节点;
步骤4:将区块链节点返回的查询结果转发给终端。
6.根据权利要求5所述的提高区块链查询效率的方法,其特征在于,所述步骤1包括:
通过配置文件、命令行或UI界面完成参与查询调度区块链节点的添加、删除。
7.根据权利要求5所述的提高区块链查询效率的方法,其特征在于,所述步骤2包括:
扫描参与调度的区块链节点端口队列状态并结合区块链处理列表滞纳情况判断节点服务状态是否正常。
8.根据权利要求7所述的提高区块链查询效率的方法,其特征在于,所述步骤2还包括:
基于区块链节点的网速和处理速度建立并调节服务状态正常的区块链节点的处理能力的权重值。
9.根据权利要求8所述的提高区块链查询效率的方法,其特征在于,所述步骤3包括:
依据每个区块链节点处理能力权重值与端口队列长度的比值指定处理查询请求的区块链节点。
10.根据权利要求9所述的提高区块链查询效率的方法,其特征在于,所述步骤3还包括:
通过轮询查找参与调度的区块链节点中的零长度队列的区块链节点,并将客户端的查询请求优先发往长度为零队列对应的区块链节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811636836.5A CN110866027A (zh) | 2018-12-29 | 2018-12-29 | 一种提高区块链查询效率的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811636836.5A CN110866027A (zh) | 2018-12-29 | 2018-12-29 | 一种提高区块链查询效率的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110866027A true CN110866027A (zh) | 2020-03-06 |
Family
ID=69651648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811636836.5A Pending CN110866027A (zh) | 2018-12-29 | 2018-12-29 | 一种提高区块链查询效率的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866027A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036016A (zh) * | 2023-07-28 | 2023-11-10 | 广东股权交易中心股份有限公司 | 基于区块链的股权交易系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832139A (zh) * | 2017-09-26 | 2018-03-23 | 上海点融信息科技有限责任公司 | 用于管理区块链节点的计算资源的方法、设备和系统 |
CN108446179A (zh) * | 2018-03-14 | 2018-08-24 | 重庆邮电大学 | 基于负载均衡机制的权重优先Task任务调度方法 |
CN108696594A (zh) * | 2018-05-27 | 2018-10-23 | 佛山市虚拟现实大数据产业研究院有限公司 | 一种市场监管区块链的大数据传输负载均衡方法及装置 |
-
2018
- 2018-12-29 CN CN201811636836.5A patent/CN110866027A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832139A (zh) * | 2017-09-26 | 2018-03-23 | 上海点融信息科技有限责任公司 | 用于管理区块链节点的计算资源的方法、设备和系统 |
CN108446179A (zh) * | 2018-03-14 | 2018-08-24 | 重庆邮电大学 | 基于负载均衡机制的权重优先Task任务调度方法 |
CN108696594A (zh) * | 2018-05-27 | 2018-10-23 | 佛山市虚拟现实大数据产业研究院有限公司 | 一种市场监管区块链的大数据传输负载均衡方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036016A (zh) * | 2023-07-28 | 2023-11-10 | 广东股权交易中心股份有限公司 | 基于区块链的股权交易系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660607B (zh) | 一种业务请求分发方法、接收方法、装置及服务器集群 | |
CN109274745B (zh) | 一种边缘节点优化计算的物联网系统和方法 | |
CN109308221B (zh) | 一种基于WebSocket长连接的Nginx动态负载均衡方法 | |
US7457835B2 (en) | Movement of data in a distributed database system to a storage location closest to a center of activity for the data | |
US20020165900A1 (en) | Dynamic load-distributed computer system using estimated expansion ratios and load-distributing method therefor | |
CN103516744A (zh) | 一种数据处理的方法和应用服务器及集群 | |
CN101951411A (zh) | 云调度系统及方法以及多级云调度系统 | |
CN110888735A (zh) | 基于一致性哈希的分布式消息分发方法、装置和调度节点 | |
WO2004063928A1 (ja) | データベース負荷軽減システムおよび負荷軽減プログラム | |
CN113364697A (zh) | 流量控制方法、装置、设备及计算机可读存储介质 | |
JP2023092413A (ja) | クラスタに基づく容量縮小処理方法及び装置 | |
CN111865817A (zh) | 遥测采集器负载均衡管控方法、装置、设备及存储介质 | |
CN107645540A (zh) | web应用系统的负载均衡方法 | |
KR20220058606A (ko) | 자원 관리 플랫폼에 기반하는 태스크 분배 방법 및 시스템 | |
CN112799839A (zh) | 请求处理方法、装置、计算机可读存储介质及电子设备 | |
CN111049750B (zh) | 一种报文转发方法、系统及设备 | |
CN112202833A (zh) | Cdn系统、请求处理方法以及调度服务器 | |
JP2005092862A (ja) | 負荷分散方法及びクライアント・サーバシステム | |
CN110866027A (zh) | 一种提高区块链查询效率的系统及方法 | |
CN102023997B (zh) | 一种数据查询系统及其构建方法与相应的数据查询方法 | |
CN108259605B (zh) | 一种基于多数据中心的数据调用系统及方法 | |
CN105100271A (zh) | 一种分布式弹性可扩展信息发布系统及其控制方法 | |
Chatterjee et al. | A new clustered load balancing approach for distributed systems | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
JPH05173990A (ja) | データ処理システム |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200306 |