CN112118305B - 一种减少区块链共识系统中无效请求的方法 - Google Patents

一种减少区块链共识系统中无效请求的方法 Download PDF

Info

Publication number
CN112118305B
CN112118305B CN202010952849.4A CN202010952849A CN112118305B CN 112118305 B CN112118305 B CN 112118305B CN 202010952849 A CN202010952849 A CN 202010952849A CN 112118305 B CN112118305 B CN 112118305B
Authority
CN
China
Prior art keywords
request
node
raft
nodes
blockchain
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.)
Active
Application number
CN202010952849.4A
Other languages
English (en)
Other versions
CN112118305A (zh
Inventor
刘铜
冯宏伟
田文丰
张博
徐强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yi'an Ruilong Technology Co ltd
Original Assignee
Beijing Yi'an Ruilong Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Yi'an Ruilong Technology Co ltd filed Critical Beijing Yi'an Ruilong Technology Co ltd
Priority to CN202010952849.4A priority Critical patent/CN112118305B/zh
Publication of CN112118305A publication Critical patent/CN112118305A/zh
Application granted granted Critical
Publication of CN112118305B publication Critical patent/CN112118305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提出了一种减少区块链共识系统中无效请求的方法,包括如下步骤:S1,获取区块链中需要进行交互的节点,对每个节点达成RAFT共识协议,以太坊客户端负责接收有效生成的请求,RAFT共识协议则负责同步区块数据的共识工作;S2,以太坊客户端将生成的合法请求信息放入有效请求池然后向其他节点进行广播,整个区块将被以RAFT的方式同步到全部区块链节点;S3,假如在RAFT共识协议层面出现分区或者其他异常请求信息,导致各节点不能正确受理客户端发送的有效请求,造成了很多无效请求,进而影响系统使用效果;为了降低无效请求量,通过健康诊断方法,减少无效请求量,提升区块链使用效果。

Description

一种减少区块链共识系统中无效请求的方法
技术领域
本发明涉及区块链领域,尤其涉及一种减少区块链共识系统中无效请求的方法。
背景技术
企业版以太坊(quorum)、超级账本(Hyperledger)在使用RAFT协议作为共识算法时,针对RAFT节点分区后,原主节点无法成功执行交易,这种异常情况没有进行处理,所有写请求都会被转发到领导节点。
1)所有写请求都被转发到领导节点,增加领导节点服务压力。
2)当领导节点被分区到节点数量不足整体数量半数的分区,此领导节点的打包的交易数据将不能正常上链,如果使用本地交易的方式,会造成交易丢失。
3)当领导节点被分区到节点数量不足整体数量半数的分区,客户端发送到该分区的请求没有返回正确的异常信息,可能造成访问超时、重复访问等问题。
4)当领导节点被分区到节点数量不足整体数量半数的分区,这些节点的数据将不再是最新数据,此时读数据的请求得到的返回数据将是脏数据。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种减少区块链共识系统中无效请求的方法。
为了实现本发明的上述目的,本发明提供了一种减少区块链共识系统中无效请求的方法,包括如下步骤:
S1,获取区块链中需要进行交互的节点,对每个节点达成RAFT共识协议,以太坊客户端负责接收有效生成的请求,RAFT共识协议则负责同步区块数据的共识工作;
S2,以太坊客户端将生成的合法请求信息放入有效请求池然后向其他节点进行广播,在RAFT共识协议中,角色为Leader的主节点将负责从有效请求池中取出数据进行打包并生成区块,并通过RAFT协议请求其他RAFT角色为Follower的从节点确认消息,当Leader主节点收到系统半数以上的Follower从节点的确认消息后,整个区块将被以RAFT的方式同步到全部区块链节点;
S3,假如在RAFT共识协议层面出现分区或者其他异常请求信息,导致各节点不能正确受理客户端发送的有效请求,造成了很多无效请求,进而影响系统使用效果;为了降低无效请求量,通过健康诊断方法,减少无效请求量,提升区块链使用效果。
优选的,所述S2包括:
如果以太坊客户端发送进入区块链的请求,以太坊客户端进行P2P广播,通过广播协议将有效的请求写入有效请求池,将该有效请求发送至其它没有覆盖该有效请求的节点,进行RAFT共识协议的角色划分,如果得到半数以上的确认信息,则提交有效请求确认数据。
优选的,所述S3包括:
S3-1,在以太坊客户端中设置区块链上每个节点全局状态参数;
S3-2,自身节点以心跳方式与其他节点维护联系,若节点无法与半数以上节点取得联系,则标记该节点健康状态为异常;
S3-3,在区块链的RPC远程过程调用接口入口处设置拦截器,在执行RPC请求前要校验全局状态参数;
S3-4,若全局状态参数异常,则返回给以太坊客户端特殊的状态码,以太坊客户端则直接向其他节点发送请求。
优选的,还包括:
通过在RAFT共识协议对各节点进行健康监测,若RAFT共识协议状态异常,会直接将状态同步至整个区块链,当有请求到达某一节点时会返回给以太坊客户端特定的状态码,以太坊客户端会向其他节点发送请求以获得正确数据。使用RAFT共识搭建的区块链,降低无效请求数据请求量。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
任何分布式系统节点都存在网络分区的情况,在RAFT共识层被网络分区之后,此节点的数据将不是最新数据,本发明实施后发往此节点的交易请求能够在区块链上查到,交易时间缩短,并且提高数据反馈效率,降低无效指令请求量。
节点一旦被异常分区,节点本身的健康检查机制会监测到分区异常,此节点将对请求的客户端发送特殊返回码以表示节点异常,降低请求等待、交易丢失、脏数据。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明以太坊客户端改造示意图;
图2是本发明共识系统工作示意图;
图3是本发明RAFT协议层示意图;
图4是本发明工作流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
1)、如图1所示,CoralChain系统基于以太坊客户端进行改造,在共识层面使用RAFT共识协议,以太坊客户端负责接收交易生成的请求、维护有效请求池、交易广播等工作,RAFT则负责同步区块数据的共识工作。
2)、如图2所示,是区块链系统正常工作的流程,以太坊客户端将生成的合法请求信息放入有效请求池然后向其他节点进行广播,在RAFT共识层面,角色为Leader(主)的节点将负责从有效请求池中取出数据进行打包并生成区块,并通过RAFT协议请求其他RAFT角色为Follower(从)的节点确认消息,当Leader节点收到系统半数以上的Follower节点的确认消息后,整个区块将被以RAFT的方式同步到全网。
3)、如图3所示,假如在RAFT协议层面出现分区或者其他异常信息,导致节点不能正确受理客户端发送的请求,例如读取到了脏数据、交易不能被打包进区块、请求延迟等,造成了很多无效请求,进而影响系统使用效果;
4)、为了降低无效请求量,提升区块链使用效果,我们采用如下解决方案,
4.1)、在系统中设置节点全局状态参数;
4.2)、自身节点以心跳方式与其他节点维护联系,若节点无法与半数以上节点取得联系,则视健康状态为异常;
4.3)、在区块链的RPC接口入口处设置拦截器,在执行RPC请求前要校验全局状态参数;
4.4)、若全局状态参数异常,则返回给客户端特殊的状态码,客户端则直接向其他节点发送请求。
本发明通过在RAFT层面对节点进行健康监测,若RAFT层状态异常,会直接将状态同步至整个程序,当有请求到达该节点时会返回给客户端特定的状态码,客户端会向其他节点发送请求以获得正确数据。使用RAFT共识搭建的区块链系统,降低无效请求数据请求量。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (3)

1.一种减少区块链共识系统中无效请求的方法,其特征在于,包括如下步骤:
S1,获取区块链中需要进行交互的节点,对每个节点达成RAFT共识协议,以太坊客户端负责接收有效生成的请求,RAFT共识协议则负责同步区块数据的共识工作;
S2,以太坊客户端将生成的合法请求信息放入有效请求池然后向其他节点进行广播,在RAFT共识协议中,角色为Leader的主节点将负责从有效请求池中取出数据进行打包并生成区块,并通过RAFT协议请求其他RAFT角色为Follower的从节点确认消息,当Leader主节点收到系统半数以上的Follower从节点的确认消息后,整个区块将被以RAFT的方式同步到全部区块链节点;
S3,若在RAFT共识协议层面出现分区或者其他异常请求信息,导致各节点不能正确受理客户端发送的有效请求,造成了很多无效请求,进而影响系统使用效果;为了降低无效请求量,通过健康诊断方法,减少无效请求量,提升区块链使用效果;
所述S3包括:
S3-1,在以太坊客户端中设置区块链上每个节点全局状态参数;
S3-2,自身节点以心跳方式与其他节点维护联系,若节点无法与半数以上节点取得联系,则标记该节点健康状态为异常;
S3-3,在区块链的RPC远程过程调用接口入口处设置拦截器,在执行RPC请求前要校验全局状态参数;
S3-4,若全局状态参数异常,则返回给以太坊客户端特殊的状态码,以太坊客户端则直接向其他节点发送请求。
2.根据权利要求1所述的减少区块链共识系统中无效请求的方法,其特征在于,所述S2包括:
如果以太坊客户端发送进入区块链的请求,以太坊客户端进行P2P广播,通过广播协议将有效的请求写入有效请求池,将该有效请求发送至其它没有覆盖该有效请求的节点,进行RAFT共识协议的角色划分,如果得到半数以上的确认信息,则提交有效请求确认数据。
3.根据权利要求1所述的减少区块链共识系统中无效请求的方法,其特征在于,还包括:
通过在RAFT共识协议对各节点进行健康监测,若RAFT共识协议状态异常,会直接将状态同步至整个区块链,当有请求到达某一节点时会返回给以太坊客户端特定的状态码,以太坊客户端会向其他节点发送请求以获得正确数据,使用RAFT共识搭建的区块链,降低无效请求数据请求量。
CN202010952849.4A 2020-09-11 2020-09-11 一种减少区块链共识系统中无效请求的方法 Active CN112118305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010952849.4A CN112118305B (zh) 2020-09-11 2020-09-11 一种减少区块链共识系统中无效请求的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010952849.4A CN112118305B (zh) 2020-09-11 2020-09-11 一种减少区块链共识系统中无效请求的方法

Publications (2)

Publication Number Publication Date
CN112118305A CN112118305A (zh) 2020-12-22
CN112118305B true CN112118305B (zh) 2023-04-21

Family

ID=73802495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010952849.4A Active CN112118305B (zh) 2020-09-11 2020-09-11 一种减少区块链共识系统中无效请求的方法

Country Status (1)

Country Link
CN (1) CN112118305B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113487400B (zh) * 2021-06-04 2022-10-11 长春工业大学 基于诚实度双向选择的金融授信共识方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111604A (zh) * 2017-12-21 2018-06-01 广州广电运通金融电子股份有限公司 区块链共识方法、装置和系统、标识信息处理方法和装置
CN110865927A (zh) * 2019-11-20 2020-03-06 腾讯科技(深圳)有限公司 区块链调用链路异常检测方法、装置和计算机设备
CN111143321A (zh) * 2019-11-09 2020-05-12 深圳市驼扑网络有限公司 一种基于区块链架构设计的数据库分布式系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233905B (zh) * 2017-04-20 2020-12-25 腾讯科技(深圳)有限公司 节点设备运行方法、节点设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111604A (zh) * 2017-12-21 2018-06-01 广州广电运通金融电子股份有限公司 区块链共识方法、装置和系统、标识信息处理方法和装置
CN111143321A (zh) * 2019-11-09 2020-05-12 深圳市驼扑网络有限公司 一种基于区块链架构设计的数据库分布式系统
CN110865927A (zh) * 2019-11-20 2020-03-06 腾讯科技(深圳)有限公司 区块链调用链路异常检测方法、装置和计算机设备

Also Published As

Publication number Publication date
CN112118305A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
US8615578B2 (en) Using a standby data storage system to detect the health of a cluster of data storage servers
CN103455368B (zh) 一种死锁检测方法、节点及系统
CN112307121B (zh) 基于Oracle的数据同步方法、装置及计算机设备
CN107480014B (zh) 一种高可用设备切换方法及装置
CA2275241A1 (en) Distributed agreement on processor membership in a multi-processor system
CN110895484A (zh) 任务调度方法及装置
CN112860393B (zh) 一种分布式任务调度方法及系统
CN112751726B (zh) 一种数据处理方法、装置、电子设备和存储介质
EP1550036A2 (en) Method of solving a split-brain condition
JPH0576654B2 (zh)
CN103488526A (zh) 在分布式系统中锁定业务资源的系统和方法
CN110895487B (zh) 分布式任务调度系统
CN110895488B (zh) 任务调度方法及装置
CN112118305B (zh) 一种减少区块链共识系统中无效请求的方法
CN108140035B (zh) 分布式系统的数据库复制方法及装置
CN110895483A (zh) 任务恢复方法及装置
CN109257396B (zh) 一种分布式锁调度方法及装置
CN107729213B (zh) 一种后台任务监控方法及装置
AU2014305966B2 (en) Managing data feeds
CN112468310B (zh) 流媒体集群节点管理方法、装置及存储介质
CN113761079A (zh) 数据访问方法、系统和存储介质
CN104158843A (zh) 分布式文件存储系统的存储单元失效检测方法及装置
CN111680106A (zh) 一种多应用系统数据同步的方法及装置
CN115643271A (zh) 一种云上多应用数据同步方法、装置、服务器及介质
CN115604088A (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
GR01 Patent grant
GR01 Patent grant