[發明專利]一種記賬方法及裝置有效
| 申請號: | 201811319215.4 | 申請日: | 2018-11-07 |
| 公開(公告)號: | CN109493223B | 公開(公告)日: | 2021-12-21 |
| 發明(設計)人: | 陳正;李賁;殷舒;徐加明;劉勝 | 申請(專利權)人: | 聯動優勢科技有限公司 |
| 主分類號: | G06Q40/04 | 分類號: | G06Q40/04;G06Q20/40;G06F16/27 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 黃志華 |
| 地址: | 100082 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 記賬 方法 裝置 | ||
本發明公開了一種記賬方法及裝置,應用于區塊鏈系統,所述區塊鏈系統包括至少2個節點,所述方法包括:第一節點接收交易發起方發送的第一交易請求;所述第一節點為所述區塊鏈系統中的任一節點;所述第一節點根據所述第一交易請求,從所述區塊鏈系統的賬本中獲取當前時刻的第一狀態數據;所述第一狀態數據用于表征所述第一交易對應的賬戶的當前狀態;所述第一節點根據所述第一交易請求和所述第一狀態數據,執行所述第一交易請求,并生成第一交易值;所述第一交易值為執行所述第一交易請求后的結果;將所述第一狀態數據和所述第二交易值打包為第一消息,發布至所述區塊鏈系統。
技術領域
本發明涉及區塊鏈技術領域,尤其涉及一種記賬方法及裝置。
背景技術
為提高業務處理能力,在區塊鏈中的不同節點服務器可能會同時處理多筆交易,為避免并發沖突,可以采用基于多版本控制協議(MVCC),具體的,MVCC為區塊鏈系統維護一個版本號(version),其中版本號為遞增序列。當某個節點服務器接收到交易后,會為每筆交易附加版本依賴(verDep),即為交易從發出的時間點到交易結束設置其狀態數據的版本號。在交易最終執行完畢時,會驗證附加版本依賴與當前區塊鏈的狀態數據的版本是否一致,如若不一致,則拒絕交易。
當出現并發沖突時,會直接導致交易失敗,對后續的交易產生較大影響。在拒絕交易后,需要終端重新發起交易請求,節點服務器重新執行交易,導致交易的處理效率很低。
發明內容
本發明的目的是提供一種記賬方法及裝置,以解決現有技術中存在的并發交易容易失敗,導致區塊鏈中的記賬效率下降。
本發明的目的是通過以下技術方案實現的:
第一方面,本發明實施例提供一種記賬方法,應用于區塊鏈系統,所述區塊鏈系統包括至少2個節點,所述方法包括:
第一節點接收交易發起方發送的第一交易請求;所述第一節點為所述區塊鏈系統中的任一節點;
所述第一節點根據所述第一交易請求,從所述區塊鏈系統的賬本中獲取當前時刻的第一狀態數據;所述第一狀態數據用于表征所述第一交易對應的賬戶的當前狀態;
所述第一節點根據所述第一交易請求和所述第一狀態數據,執行所述第一交易請求,并生成第一交易值;所述第一交易值為執行所述第一交易請求后的結果;
將所述第一狀態數據和所述第一交易值打包為第一消息,發布至所述區塊鏈系統。
一種可能的實現方式,所述方法還包括:
所述第一節點接收第二節點發送的所述第一消息的記賬結果;
所述第一節點接收所述第二節點發送的區塊,所述區塊包括所述第一交易值,所述區塊是所述第二節點確定第二狀態數據與所述第一狀態數據相同時生成的;所述第二狀態數據是所述第二節點在接收到所述第一消息后從所述區塊鏈系統的賬本中獲取的所述賬戶的當前狀態。
一種可能的實現方式,所述方法還包括:
所述第一節點若確定所述記賬結果為失敗,則從所述區塊鏈系統的賬本中獲取第三狀態數據;所述第三狀態數據用于表征所述賬戶的當前狀態;
所述第一節點根據所述第三狀態數據和所述第一交易請求,生成第二交易值;
所述第一節點將所述第三狀態數據和所述第二交易值打包為第二消息,發布至所述區塊鏈系統。
第二方面,本發明實施例提供一種記賬方法,應用于區塊鏈系統,所述區塊鏈系統包括至少2個節點,所述方法包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯動優勢科技有限公司,未經聯動優勢科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811319215.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種任意多個區塊鏈賬本實時同步的方法
- 下一篇:一種區塊鏈圖片社交系統





