CN107194008A - 一种分布式***快速更新验证方法 - Google Patents
一种分布式***快速更新验证方法 Download PDFInfo
- Publication number
- CN107194008A CN107194008A CN201710468883.2A CN201710468883A CN107194008A CN 107194008 A CN107194008 A CN 107194008A CN 201710468883 A CN201710468883 A CN 201710468883A CN 107194008 A CN107194008 A CN 107194008A
- Authority
- CN
- China
- Prior art keywords
- transaction
- node
- checking
- list
- updates
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种分布式***快速更新验证方法,该分布式***包括分布式验证单元,其包括单个或多个服务节点以及多个验证节点,每个验证节点包含一个快速查询缓存列表,其在更新交易前为空,在更新交易后包含五元数据;该方法包括:用户发出更新请求;初始节点收到请求包并进行本地判断;判断为可进行快速交易模式;更新交易请求包发送至其他验证节点;其他验证节点返回确认更新许可信息True;更新本地快速查询缓存列表;返回给用户更新执行结果;等待共识验证周期,完成共识验证;将结果写入分布式账本。本发明方法可快速提高节点对用户更新请求的响应速度,迅速返回更新执行结果,并能保持分布式***的数据一致性和分布式共识机制的完整性。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种分布式***快速更新验证方法。
背景技术
现有的分布式***更新方式采用三阶段的普通交易模式CTS(commontransaction system),该种模式采用单个或多个服务节点加上若干个验证节点,共识验证分为三个阶段:第一阶段是收集交易阶段,服务节点监控***中提交上来的更新请求,经过签名验证后放入待验证队列中,即收集交易阶段(时间2s);第二阶段是服务节点将更新交易请求包发送至验证节点,验证节点之间互相传输更新请求,即广播交易阶段(时间2s);第三个阶段是验证节点对接收到的更新交易请求包进行共识验证,如果与本地队列(待共识交易集合)相互矛盾,则将其排除,即达成共识阶段(时间2s)。如此迭代多次,直至队列中的请求满足***设定的条件,完成共识和验证的数据最后写入分布式账本中,即不可再更改。
但上述现有技术存在如下主要缺陷:
1.请求的传播过程存在延迟:从某个发起节点到信息传播到其他所有节点之间存在信息延迟;
2.共识过程存在时间延迟:数据的更新必须在共识完成后才能写入账本中,这种写入是间歇性的,每个验证周期更新一次,用户对数据更新的请求必须在更新周期之后才能得到响应并返回;
一些现有的解决方案,如闪电网络、比特币网络采用通道的办法来加快对交易请求的处理,但上述方案的协议或者比较复杂,或者采用了非拜占庭容错的方式,限制了其更广泛的应用。
发明内容
针对现有技术中的问题,本发明提供旨在一种分布式***快速更新验证方法,该方法可快速提高节点对用户更新请求的响应速度,迅速返回更新执行结果,并能保持分布式***的数据一致性和分布式共识机制的完整性。
为实现以上技术目的,本发明的技术方案是:
一种分布式***快速更新验证方法,所述分布式***包括分布式验证单元,所述分布式验证单元包括单个或多个服务节点以及多个验证节点,每个所述验证节点包含一个快速查询缓存列表,该列表在更新交易前为空,在更新交易后包含五元数据:索引地址、初始验证节点ID、交易数额、下次刷新区块号和随机数值Nonce;
所述方法包括以下步骤:
步骤一:用户发送更新交易请求至所述服务节点;
步骤二:初始验证节点收到更新交易请求包后,获取包内的交易目标地址和交易数额,检查该交易数额是否在该节点的所述快速查询缓存列表中:若在该列表中,则返回给用户信息不能采用快速交易模式,而继续采用普通交易模式执行更新操作;若未在该列表中,且交易初始余额小于所述交易数额,则返回给用户信息不能完成交易;若未在该列表中,且交易初始余额大于等于交易数额,则采用快速交易模式,该初始验证节点将所述更新交易请求包广播至所有其他验证节点;
步骤三:在所述快速交易模式中,接收到所述更新交易请求包的验证节点检查所述交易数额是否在该节点的所述快速查询缓存列表中:若在该列表中,则返回更新拒绝信息至所述初始验证节点;若不在该列表中,则返回确认更新许可信息至所述初始验证节点,执行更新操作,同时该节点更新本地所述快速查询缓存列表,记录更新执行结果,保存为所述五元数据,等待所述普通交易模式的达成共识阶段;
步骤四:所述初始验证节点在步骤三中的返回时间内统计接收到的所有返回信息:若任何一个验证节点返回更新拒绝信息,则所述初始验证节点返回交易失败信息给用户;若所有返回信息均为确认更新许可信息,且该信息的返回率大于50%,所述初始验证节点返回交易成功信息给用户;
步骤五:在步骤二和步骤三中,所有参与所述普通交易模式和所述快速交易模式的验证节点在所述普通交易模式的达成共识阶段达成共识,完成验证,该交易执行结果写入分布式账本中;所有所述快速查询缓存列表中的内容被清除。
具体地,所述更新交易请求包包含:交易目标地址,交易数额,下次刷新区块号。
作为优选,所述更新交易请求包设有TTL,收到所述更新交易请求包的所述验证节点每广播一次该更新交易请求包,所述TTL减1,直至减为0,防止无限制转发,所述TTL初始值设为某一特定值。
具体地,对于同一个所述索引地址和所述随机数值Nonce的多个所述更新交易请求包,仅对第一个所述更新交易请求包产生返回信息。
具体地,所述共识采用的机制包括但不限于:BFT,POW或POS。
与现有单纯的三阶段普通交易模式相比,本发明具备以下优点:
1、采用分布式的数据缓存机制,每个分布式验证节点设一个快速查询缓存,该快速查询缓存中保存五元数据,可表明在当前验证周期内是否已经处于待更新状态,如此,验证节点可快速判断某个更新请求是否可以很快的得到响应,从而快速提高节点对数据更新请求的响应速度(小于1s),通过该机制,用户在当前验证周期提交的交易请求可以快速地得到响应(更新或拒绝),特别是在执行相关性比较小的情况下,用户可以很快得到交易结果,而验证节点负责把最终的交易写入分布式账本中,该机制在提高了交易响应速度的同时也降低了网络交通,可以同时支持网络并发交易量;
2、采用延时验证机制,快速交易模式FTS的更新执行结果保存于快速查询缓存,在快速交易返回信息后,当进入验证周期时,该更新执行结果与普通交易模式CTS的交易结果一起完成共识验证并写入分布式账本,维持了分布式***的数据一致性,保持了分布式共识机制的完整性。
附图说明
图1为现有普通交易模式(CTS)工作原理示意图。
图2为本发明实施例快速交易模式(FTS)工作原理示意图。
附图标记:1、更新交易请求包;2、初始验证节点;3、分布式账本;4、快速查询缓存列表。
具体实施方式
下面结合附图,详细说明本发明的一个具体实施例,但不对本发明的权利要求做任何限定。
如图1所示为现有普通交易模式(CTS)工作原理示意图,包括如下三个阶段:收集交易阶段、广播交易阶段和达成共识阶段。如图2所示为本实施例采用的快速交易模式(FTS:fast transaction system)。
本实施例中的分布式***包括分布式验证单元,分布式验证单元包括单个或多个服务节点以及多个验证节点,每个验证节点保存一个快速查询缓存列表4,该列表在更新交易前为空,在更新交易后包含五元数据(W,O,A,L,Nonce):
W:索引地址
O:初始验证节点ID
A:交易数额
L:下次刷新区块号
Nonce:随机数值
本实施方法工作流程如下:
步骤一:用户发送更新交易请求到服务节点;
步骤二:初始验证节点2收集更新交易请求包1(包含交易目标地址,交易数额,下次刷新区块号),检查该交易数额是否在该节点的快速查询缓存列表4中:若在该列表中,则返回给用户信息不能采用快速交易模式FTS,而继续采用普通交易模式CTS执行更新操作;若未在该列表中,且交易初始余额小于交易数额A,则返回给用户信息不能完成交易;若未在该列表中,且交易初始余额大于等于交易数额A时,则采用快速交易模式FTS,该初始验证节点2将更新交易请求包1广播至所有其他验证节点;
步骤三:在快速交易模式FTS中,收到更新交易请求包1的验证节点检查交易数额A是否在该节点的快速查询缓存列表4中:若在该列表中,则返回更新拒绝信息(False)至初始验证节点2;若不在该列表中,则返回确认更新许可信息(True)至初始验证节点2,执行更新操作,同时该节点更新本地快速查询缓存列表4,记录更新执行结果,保存为五元数据,等待普通交易模式CTS的达成共识阶段,如有后续对索引地址W的修改请求则返回更新拒绝信息(False);对于同一个索引地址W和随机数值Nonce的多个更新交易请求包1,仅对第一个请求包产生返回信息。优选地,更新交易请求包1设有TTL,收到请求包的节点还会继续广播,每转发一次TTL减1,TTL为0时不再广播,TTL的初始值设为某个特定值。
步骤四:初始验证节点2在步骤三中的返回时间内统计接收到的返回信息,进行零容忍处理:若任何一个验证节点返回更新拒绝信息(False),则初始验证节点2返回交易失败信息给用户;若所有返回信息均为确认更新许可信息(True),且该信息的返回率大于50%(即大于50%的验证节点返回True,且没有False返回),初始验证节点2返回交易成功信息给用户;
步骤五:在步骤二和步骤三中,所有参与普通交易模式CTS和快速交易模式FTS的验证节点在普通交易模式CTS的达成共识阶段达成共识,完成验证,该交易执行结果写入分布式账本3中;同时所有快速查询缓存列表4中的内容被清除。
通过上述方法,用户提交的交易请求可以快速得以响应,尤其是在执行先惯性比较小的情况下,用户可以很快得到交易结果,而验证节点负责把最终的交易写入分布式账本中,在提高了交易响应速度的同时也降低了网络交通,可以同时支持网络并发交易量。
可以理解的是,以上关于本发明的具体描述,仅用于说明本发明而并非受限于本发明实施例所描述的技术方案。本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换,以达到相同的技术效果;只要满足使用需要,都在本发明的保护范围之内。
Claims (5)
1.一种分布式***快速更新验证方法,其特征在于:所述分布式***包括分布式验证单元,所述分布式验证单元包括单个或多个服务节点以及多个验证节点,每个所述验证节点包含一个快速查询缓存列表,该列表在更新交易前为空,在更新交易后包含五元数据:索引地址、初始验证节点ID、交易数额、下次刷新区块号和随机数值Nonce;
所述方法包括以下步骤:
步骤一:用户发送更新交易请求至所述服务节点;
步骤二:初始验证节点收集更新交易请求包,获取包内的交易目标地址和交易数额,检查该交易数额是否在该节点的所述快速查询缓存列表中:若在该列表中,则返回给用户信息不能采用快速交易模式,而继续采用普通交易模式执行更新操作;若未在该列表中,且交易初始余额小于所述交易数额,则返回给用户信息不能完成交易;若未在该列表中,且交易初始余额大于等于交易数额,则采用快速交易模式,该初始验证节点将所述更新交易请求包广播至所有其他验证节点;
步骤三:在所述快速交易模式中,接收到所述更新交易请求包的验证节点检查所述交易数额是否在该节点的所述快速查询缓存列表中:若在该列表中,则返回更新拒绝信息至所述初始验证节点;若不在该列表中,则返回确认更新许可信息至所述初始验证节点,执行更新操作,同时该节点更新本地所述快速查询缓存列表,记录更新执行结果,保存为所述五元数据,等待所述普通交易模式的达成共识阶段;
步骤四:所述初始验证节点在步骤三中的返回时间内统计接收到的所有返回信息:若任何一个验证节点返回更新拒绝信息,则所述初始验证节点返回交易失败信息给用户;若所有返回信息均为确认更新许可信息,且该信息的返回率大于50%,所述初始验证节点返回交易成功信息给用户;
步骤五:在步骤二和步骤三中,所有参与所述普通交易模式和所述快速交易模式的验证节点在所述普通交易模式的达成共识阶段达成共识,完成验证,该交易执行结果写入分布式账本中;所有所述快速查询缓存列表中的内容被清除。
2.根据权利要求1所述的分布式***快速更新验证方法,其特征在于:所述更新交易请求包包含:交易目标地址,交易数额,下次刷新区块号。
3.根据权利要求1所述的分布式***快速更新验证方法,其特征在于:所述更新交易请求包设有TTL,收到所述更新交易请求包的所述验证节点每广播一次该更新交易请求包,所述TTL减1,直至减为0。
4.根据权利要求1所述的分布式***快速更新验证方法,其特征在于:对于同一个所述索引地址和所述随机数值Nonce的多个所述更新交易请求包,仅对第一个所述更新交易请求包产生返回信息。
5.根据权利要求1所述的分布式***快速更新验证方法,其特征在于:所述共识采用的机制包括但不限于:BFT,POW或POS。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710468883.2A CN107194008B (zh) | 2017-06-19 | 2017-06-19 | 一种分布式***快速更新验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710468883.2A CN107194008B (zh) | 2017-06-19 | 2017-06-19 | 一种分布式***快速更新验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107194008A true CN107194008A (zh) | 2017-09-22 |
CN107194008B CN107194008B (zh) | 2019-07-16 |
Family
ID=59879124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710468883.2A Active CN107194008B (zh) | 2017-06-19 | 2017-06-19 | 一种分布式***快速更新验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107194008B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321730A (zh) * | 2019-03-28 | 2019-10-11 | 平安科技(深圳)有限公司 | 一种操作数据处理的方法、区块链节点及存储介质 |
CN110473103A (zh) * | 2019-08-16 | 2019-11-19 | 中国工商银行股份有限公司 | 应用管理方法、装置、计算机***和介质 |
TWI679597B (zh) * | 2018-03-09 | 2019-12-11 | 香港商阿里巴巴集團服務有限公司 | 共識驗證方法、裝置及設備 |
CN111669327A (zh) * | 2020-06-16 | 2020-09-15 | 珠海麦宁科技有限公司 | 一种服务提供***、方法、存储介质及服务节点 |
CN113726510A (zh) * | 2021-08-30 | 2021-11-30 | 无锡井通网络科技有限公司 | 基于区块链的离线交易方法 |
CN114066476A (zh) * | 2021-11-30 | 2022-02-18 | 武汉众邦银行股份有限公司 | 一种解决分布式应用交易后发先至的方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488665A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种去中心化的交易方法 |
CN106060036A (zh) * | 2016-05-26 | 2016-10-26 | 布比(北京)网络技术有限公司 | 去中心化共识方法及装置 |
CN106453636A (zh) * | 2016-11-22 | 2017-02-22 | 深圳银链科技有限公司 | 可信区块生成方法及*** |
CN106487801A (zh) * | 2016-11-03 | 2017-03-08 | 江苏通付盾科技有限公司 | 基于区块链的信息验证方法及装置 |
-
2017
- 2017-06-19 CN CN201710468883.2A patent/CN107194008B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488665A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种去中心化的交易方法 |
CN106060036A (zh) * | 2016-05-26 | 2016-10-26 | 布比(北京)网络技术有限公司 | 去中心化共识方法及装置 |
CN106487801A (zh) * | 2016-11-03 | 2017-03-08 | 江苏通付盾科技有限公司 | 基于区块链的信息验证方法及装置 |
CN106453636A (zh) * | 2016-11-22 | 2017-02-22 | 深圳银链科技有限公司 | 可信区块生成方法及*** |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI679597B (zh) * | 2018-03-09 | 2019-12-11 | 香港商阿里巴巴集團服務有限公司 | 共識驗證方法、裝置及設備 |
US10887108B2 (en) | 2018-03-09 | 2021-01-05 | Advanced New Technologies Co., Ltd. | Consensus verification method, apparatus, and device |
US10985923B2 (en) | 2018-03-09 | 2021-04-20 | Advanced New Technologies Co., Ltd. | Consensus verification method, apparatus, and device |
US11240036B2 (en) | 2018-03-09 | 2022-02-01 | Advanced New Technologies Co., Ltd. | Consensus verification method, apparatus, and device |
CN110321730A (zh) * | 2019-03-28 | 2019-10-11 | 平安科技(深圳)有限公司 | 一种操作数据处理的方法、区块链节点及存储介质 |
CN110473103A (zh) * | 2019-08-16 | 2019-11-19 | 中国工商银行股份有限公司 | 应用管理方法、装置、计算机***和介质 |
CN111669327A (zh) * | 2020-06-16 | 2020-09-15 | 珠海麦宁科技有限公司 | 一种服务提供***、方法、存储介质及服务节点 |
CN113726510A (zh) * | 2021-08-30 | 2021-11-30 | 无锡井通网络科技有限公司 | 基于区块链的离线交易方法 |
CN114066476A (zh) * | 2021-11-30 | 2022-02-18 | 武汉众邦银行股份有限公司 | 一种解决分布式应用交易后发先至的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107194008B (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107194008A (zh) | 一种分布式***快速更新验证方法 | |
CN108269090B (zh) | 基于无协商随机抽签的用于区块链***的共识方法和装置 | |
CN109214818B (zh) | 一种跨链交易方法及装置 | |
US20210035102A1 (en) | Remittance processing method and system, and computer-readable storage medium | |
CN108492103A (zh) | 一种联盟区块链共识方法 | |
CN105653440B (zh) | 一种灰度发布方法和装置 | |
CN108492183A (zh) | 区块链的账户交易方法、***和计算机可读存储介质 | |
JP2019537798A (ja) | 電子手形管理方法及び装置並びに記憶媒体 | |
CN109886681A (zh) | 区块链共识方法及共识*** | |
CN108492108A (zh) | 区块链跨链通信方法、***和计算机可读存储介质 | |
CN110148017A (zh) | 基于区块链的权益发放方法及装置、电子设备、存储介质 | |
CN109426949A (zh) | 一种跨链交易方法及装置 | |
CN109242500A (zh) | 区块链交易有效性验证方法、装置及存储介质 | |
CN108881187A (zh) | 一种适用于许可链场景的跨链数据传递方法及设备 | |
CN108269190A (zh) | 基于跨链中继平台的跨链方法及其*** | |
CN110070445A (zh) | 一种基于区块链***的交易处理方法及装置 | |
CN107330786A (zh) | 一种基于权重的区块链网络节点通信方法 | |
CN109102269A (zh) | 基于区块链的转账方法及装置、区块链节点及存储介质 | |
JP2022532047A (ja) | 分散型台帳ベースのMaaSプラットフォーム上におけるトランザクションセキュリティ | |
CN109218352A (zh) | 一种区块链网络中交易信息的共识确认方法及装置 | |
CN107493340A (zh) | 区块链网络中的数据分发校验方法、装置及*** | |
CN111126988B (zh) | 基于区块链的转账方法、装置、设备及计算机介质 | |
CN111640017A (zh) | 一种应用于联盟链跨链转账的交易正确性验证方法及装置 | |
CN109166040A (zh) | 基于区块链的交易审计方法、装置、设备及存储介质 | |
CN108600315A (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 |