CN110134734A - 一种区块链交易记录写入的方法及*** - Google Patents
一种区块链交易记录写入的方法及*** Download PDFInfo
- Publication number
- CN110134734A CN110134734A CN201910272659.5A CN201910272659A CN110134734A CN 110134734 A CN110134734 A CN 110134734A CN 201910272659 A CN201910272659 A CN 201910272659A CN 110134734 A CN110134734 A CN 110134734A
- Authority
- CN
- China
- Prior art keywords
- transaction
- record
- block chain
- write
- thread
- 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
Classifications
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于区块链技术领域,公开了一种区块链交易记录写入的方法及***,执行模块主线程启动子线程,进行执行记录的持久化操作,子线程与主线程共享通知队列;主线程读取交易并执行,产生交易执行记录,交易执行记录中包含交易创建与更改的账户内容、智能合约变量的内容、交易执行结果;主线程将交易执行记录写入缓存,同时写入通知队列通知子线程。本发明减少了执行记录持久化存储对区块链交易的执行速度的影响,加快了交易的整体执行速度。
Description
技术领域
本发明属于区块链技术领域,尤其涉及一种区块链交易记录写入的方法及***。
背景技术
目前,业内常用的现有技术是这样的:在某个区块的交易执行完后,将执行记录进行持久化存储,然后执行下一区块的交易。是串行执行和写入的过程,每个区块的交易执行都需等待上一区块的交易执行记录完成。持久化存储执行记录是将执行记录写入LevelDB、MySQL等数据库***。
现有技术有如下缺陷:因交易执行记录进行持久化需耗时较多,而下一区块交易的执行需等待上一区块的执行记录持久化完成,因此影响了区块链交易的整体执行速度。
本方案可以解决如下问题:
下一区块的交易毋需等待上一区块的执行记录持久化完成即可开始执行,加快了区块链交易的执行速度。
解决上述技术问题的难度:区块链上的交易有先后顺序,后面区块中的交易执行依赖前面区块中的某一交易的执行结果。若不等待上一区块的执行结果持久化,则需临时使用内存用于存放未持久化完成的执行记录,后面区块的交易在执行时需先从内存中获取相关信息。
发明内容
针对现有技术存在的问题,本发明提供了一种区块链交易记录写入的方法及***。
本发明是这样实现的,一种区块链交易记录写入的方法,包括:
步骤一,执行模块主线程启动子线程,进行执行记录的持久化操作,子线程与主线程共享通知队列。
步骤二,主线程读取交易并执行,产生交易执行记录;交易执行记录包括交易创建与更改的账户内容、智能合约变量的内容、交易执行结果。
步骤三,主线程将交易执行记录写入缓存(本地或远程),同时写入通知队列通知子线程。
步骤四,重复步骤二。
进一步,所述步骤三中子线程执行结果持久化线程,具体包括:
步骤1,子线程读取通知队列中的交易执行记录,若无则等待,直至读取交易执行记录完成。
步骤2,子线程将交易执行记录持久化至数据库,将相关记录从本地缓存删除。
步骤3,重复步骤1。
本发明的另一目的在于提供一种实施所述区块链交易记录写入的方法的区块链交易记录写入控制***。
本发明的另一目的在于提供一种实施所述区块链交易记录写入的方法的主线程序。
本发明的另一目的在于提供一种实施所述区块链交易记录写入的方法的子线程序。
本发明的另一目的在于提供一种终端,所述终端实现区块链交易记录写入的方法的控制器。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机运行时,计算机执行所述的区块链交易记录写入的方法。
综上所述,本发明的优点及积极效果为:经测试表明,在本区块链***上,持久化一个含有1笔交易的区块的执行记录需使用约50ms,且区块内交易数越多,执行记录越多,持久化所需时间越长。采用原技术的串行执行和写入的技术,从向区块链发出一笔交易到接收到交易回执的时间平均为500ms,采用本发明后为450ms。并行发送的交易数越多,优化效果越明显。
本发明减少执行记录持久化存储对区块链上交易的整体执行速度的影响,加快了交易的整体执行速度。
本发明将交易执行记录写入本地或者远程缓存和通知队列,然后执行下一交易。同时另一线程从通知队列获取执行记录并进行持久化存储。交易执行记录写入缓存的速度快于写入数据库进行持久化的速度,因此提高了交易的整体执行速度。本发明通过将交易执行记录直接写缓存(本地或者远程)减少了等待时间;使交易整体执行速度加快。
附图说明
图1是本发明实施例提供的主线程流程图。
图2是本发明实施例提供的执行结果持久化线程流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为解决交易执行记录的持久化存储耗时较多,影响区块链交易整体执行速度的问题,本发明提供了一种区块链交易记录写入的方法及***。
下面结合附图对本发明的应用原理作详细描述。
如图1所示,本发明实施例提供的区块链交易记录写入的方法包括主线程运行方法,具体包括:
步骤一,执行模块主线程启动子线程,进行执行记录的持久化操作,子线程与主线程共享通知队列。
步骤二,主线程读取交易并执行,产生交易执行记录;交易执行记录包括交易创建与更改的账户内容、智能合约变量的内容、交易执行结果。
步骤三,主线程将交易执行记录写入缓存(本地或远程),同时写入通知队列通知子线程。
步骤四,重复步骤二。
如图2所示,所述步骤三中子线程执行结果持久化线程,具体包括:
步骤1,子线程读取通知队列中的交易执行记录,若无则等待,直至读取交易执行记录完成。
步骤2,子线程将交易执行记录持久化至数据库,将相关记录从本地缓存删除。
步骤3,重复步骤1。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种区块链交易记录写入的方法,其特征在于,所述区块链交易记录写入的方法包括:
步骤一,执行模块主线程启动子线程,进行执行记录的持久化操作,子线程与主线程共享通知队列;
步骤二,主线程读取交易并执行,产生交易执行记录;交易执行记录包括交易创建与更改的账户内容、智能合约变量的内容、交易执行结果;
步骤三,主线程将交易执行记录写入缓存,同时写入通知队列通知子线程;
步骤四,重复主线程读取交易并执行,产生交易执行记录;交易执行记录包括交易创建与更改的账户内容、智能合约变量的内容、交易执行结果。
2.如权利要求1所述的区块链交易记录写入的方法,其特征在于,步骤三中子线程执行结果持久化线程,具体包括:
步骤一,子线程读取通知队列中的交易执行记录,若无则等待,直至读取交易执行记录完成;
步骤二,子线程将交易执行记录持久化至数据库,将相关记录从本地缓存删除;
步骤三,重复子线程读取通知队列中的交易执行记录,若无则等待,直至读取交易执行记录完成。
3.一种实施权利要求1所述区块链交易记录写入的方法的区块链交易记录写入控制***。
4.一种实施权利要求1所述区块链交易记录写入的方法的主线程序。
5.一种实施权利要求1所述区块链交易记录写入的方法的子线程序。
6.一种终端,其特征在于,所述终端实现权利要求1~3任意一项所述区块链交易记录写入的方法的控制器。
7.一种计算机可读存储介质,包括指令,当其在计算机运行时,计算机执行如权利要求1-3任意一项所述的区块链交易记录写入的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910272659.5A CN110134734A (zh) | 2019-04-04 | 2019-04-04 | 一种区块链交易记录写入的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910272659.5A CN110134734A (zh) | 2019-04-04 | 2019-04-04 | 一种区块链交易记录写入的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110134734A true CN110134734A (zh) | 2019-08-16 |
Family
ID=67569357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910272659.5A Pending CN110134734A (zh) | 2019-04-04 | 2019-04-04 | 一种区块链交易记录写入的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134734A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111383031A (zh) * | 2020-05-29 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种区块链中的智能合约执行方法、***和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130019085A1 (en) * | 2011-07-12 | 2013-01-17 | International Business Machines Corporation | Efficient Recombining for Dual Path Execution |
CN103488690A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据集成***和数据集成方法 |
CN107423124A (zh) * | 2017-07-27 | 2017-12-01 | 中链科技有限公司 | 一种用于对交易数据进行并行处理的方法 |
CN108846659A (zh) * | 2018-06-13 | 2018-11-20 | 深圳前海微众银行股份有限公司 | 基于区块链的转账方法、装置及存储介质 |
-
2019
- 2019-04-04 CN CN201910272659.5A patent/CN110134734A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130019085A1 (en) * | 2011-07-12 | 2013-01-17 | International Business Machines Corporation | Efficient Recombining for Dual Path Execution |
CN103488690A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据集成***和数据集成方法 |
CN107423124A (zh) * | 2017-07-27 | 2017-12-01 | 中链科技有限公司 | 一种用于对交易数据进行并行处理的方法 |
CN108846659A (zh) * | 2018-06-13 | 2018-11-20 | 深圳前海微众银行股份有限公司 | 基于区块链的转账方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111383031A (zh) * | 2020-05-29 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种区块链中的智能合约执行方法、***和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8762309B2 (en) | Storage policy evaluation in a computing environment | |
CN103854214B (zh) | 竞拍数据的处理方法及*** | |
CN1048459A (zh) | 数字数据处理***高速缓冲存储器内容的失效标记 | |
CN107450971A (zh) | 任务处理方法及装置 | |
CN110740184A (zh) | 基于微服务架构的交易策略测试*** | |
US20220004510A1 (en) | Data storage apparatus and method, and readable storage medium | |
US11042312B2 (en) | DRAM bank activation management | |
CN111866099B (zh) | 镜像文件的下载方法、装置、***、设备及存储介质 | |
CN110223216B (zh) | 一种基于并行plb的数据处理方法、装置及计算机存储介质 | |
CN110910921A (zh) | 一种命令读写方法、装置及计算机存储介质 | |
CN106503020A (zh) | 日志数据处理方法及装置 | |
CN110134734A (zh) | 一种区块链交易记录写入的方法及*** | |
AU2015218746B2 (en) | Method and system for converting asynchronous to synchronous transactions | |
US6212543B1 (en) | Asymmetric write-only message queuing architecture | |
CN101526925B (zh) | 一种缓存数据的处理方法及数据存储*** | |
CN102810133A (zh) | 网络游戏中的射线查询方法和场景服务器 | |
US20140331021A1 (en) | Memory control apparatus and method | |
US7725645B2 (en) | Dual use for data valid signal in non-volatile memory | |
CN107958438A (zh) | 一种OpenGL新建显示列表电路 | |
CN108170380A (zh) | 一种固态硬盘提升顺序读性能的方法及固态硬盘 | |
CN108170377B (zh) | 一种支持磁带库多驱动并发写的备份方法 | |
CN114840421A (zh) | 日志数据处理方法及装置 | |
CN106897021A (zh) | 一种读写数据的方法和装置 | |
CN112163844A (zh) | 资金监管方法、装置、设备及存储介质 | |
CN117369996B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190816 |