[發明專利]一種基于多級緩沖隊列的區塊鏈交易限流方法在審
| 申請號: | 201710479106.8 | 申請日: | 2017-06-22 |
| 公開(公告)號: | CN107241279A | 公開(公告)日: | 2017-10-10 |
| 發明(設計)人: | 鄧恩艷 | 申請(專利權)人: | 北京天德科技有限公司 |
| 主分類號: | H04L12/803 | 分類號: | H04L12/803;H04L12/815;H04L12/863 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100089 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 多級 緩沖 隊列 區塊 交易 限流 方法 | ||
技術領域
本發明屬于區塊鏈技術領域,特別是涉及區塊鏈處理突發交易流量高峰的場景。
背景技術
近年來,區塊鏈技術得到了長足的發展,在交易處理速度上也有了極大的提升,其中以天德鏈為代表的第三代區塊鏈實測性能可以到達萬筆每秒,但是在為商業應用服務時,極有可能面臨突發的交易高峰場景,如雙11秒殺活動支付峰值達到12萬筆/秒,區塊鏈交易處理的速度仍然滿足不了這種突發流量,瞬時的大量交易可能導致整個區塊鏈系統宕機,造成不可挽回的損失。為了解決上述問題,在傳統高并發系統中,通常會利用緩存、降級和限流來提升系統的交易處理容量,暫時屏蔽掉突發流量,對系統進行負載均衡,對并發訪問、請求進行限速等措施來保護系統,傳統高并發系統基本是主從式系統架構,而區塊鏈系統則采用完全對等的技術架構,所以傳統的解決方案并不能有效滿足區塊鏈系統的技術需求。為了讓區塊鏈技術平臺更好地應對處理高峰交易的場景,我們在傳統高并發系統的基礎上,發明了一種基于多級緩沖隊列的區塊鏈交易限流方法,將高并發系統的特點和區塊鏈多節點共識的特點相結合,能有效滿足區塊鏈系統高效處理交易的需求,同時保證區塊鏈系統的高并發性、高可用性和高穩定性。
發明內容
為了應對區塊鏈系統在處理高峰交易場景中的不足,本發明提供了一種基于多級緩沖隊列的區塊鏈交易限流方法。
本發明所采用的技術方案是:在區塊鏈系統中,使用多級緩沖隊列對交易流量進行分流和限流,達到平滑突發峰值流量的效果,能有效利用好系統的高并發處理能力。第一級的緩沖隊列非常大,能及時緩沖客戶端發起的交易處理請求,保證交易請求不會由于拒絕訪問而丟棄,第二級緩沖隊列相對較小,二級緩沖隊列的個數根據并發線程數進行調整,主要對交易處理請求進行分流,每條分流稱之為一個通道,在分流的同時起到負載均衡的作用,默認系統中的每個交易都帶有唯一的交易ID,對交易ID進行哈希運算,對運算所得哈希值用緩沖隊列數進行取模運算,根據模數將交易分配到對應的二級緩沖隊列,在第二級緩沖隊列和第三級緩沖隊列進行限流,限流策略是通過設置第三級緩沖隊列的大小來及時調整限流速率,根據線程的處理能力及時調整緩沖隊列大小,滿足突發流量的處理請求。
本發明充分利用了區塊鏈系統的并發處理能力,滿足一定突發峰值交易的處理請求,結合負載均衡技術,最大化系統的并發能力,有效提高系統的穩定性。
附圖說明
圖1為第一級緩沖隊列內部存儲示意圖;
圖2為區塊鏈交易的分流詳細示意圖;
圖3為區塊鏈交易的限流示意圖;
圖4為區塊鏈交易整體流程示意圖;
圖5為區塊鏈交易分流簡要示意圖;
圖 6 為區塊鏈共識線程取出的交易示例。
具體實施方式
在闡述多級緩沖隊列系統的具體實施方式之前,我們首先了解一下區塊鏈系統的工作原理,區塊鏈系統的核心是共識算法,其中大部分許可鏈采用PBFT算法,參與共識的節點對交易進行驗證并投票,假設參與共識的節點個數為3f+1(4,7…),當達成共識(投票通過) 的節點個數≥2f+1(3,5…)時,區塊鏈系統即認為該交易是有效的,區塊鏈系統會將在一次共識過程中的有效交易存入一個區塊中,并連接到區塊鏈的尾部。
首先我們假設區塊鏈系統共存在4個共識節點,每個節點都有一個多級緩沖隊列系統,該緩沖隊列系統有2個通道,第三級緩沖隊列的限流為2個交易,多級緩沖隊列系統的工作流程有以下4個步驟:
(1)區塊鏈交易進入多級緩沖隊列系統
客戶端系統分別向四個節點的第一級緩沖隊列發送了6筆交易 Tx1—Tx6,在第一級緩沖隊列中PUSH進6筆交易,如圖1所示。
(2)區塊鏈交易的分流
按照隊列先進先出的原則,調度器從第一級緩沖隊列POP出交易,首先Tx1從隊列中彈出,對交易的ID進行哈希計算,假設HASH(Tx1_ID) =0x0001,然后對哈希值進行取模,模數為通道數,0x0001%2=1,交易Tx1被分配到通道1的第二級緩沖隊列。同理,交易Tx2-Tx6也會被彈出,被分配到對應的通道,交易被分流到通道的總體情況,如圖 2所示。
(3)區塊鏈交易的限流
在本例中第三級緩沖隊列的限流為2個交易,從第二級緩沖隊列到第三級緩沖隊列的最大交易個數為2個,第三級緩沖隊列所起的作用類似于漏桶算法的漏桶,控制交易處理的速率,平滑交易處理高峰期的突發流量,如圖3所示。
(4)區塊鏈交易流出多級緩沖隊列系統
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京天德科技有限公司,未經北京天德科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710479106.8/2.html,轉載請聲明來源鉆瓜專利網。





