基于区块链的模拟交易方法、装置、设备和可读存储介质制造方法及图纸

技术编号:28131314 阅读:22 留言:0更新日期:2021-04-19 11:53
本申请实施例中提供一种基于区块链的模拟交易方法、装置、设备和可读存储介质;所述方法包括:在区块落盘时,将账本数据整理形成预定义的批处理请求;将所述批处理请求刷入到读缓存,通过所述读缓存监听所述批处理请求中的区块请求事件;若所述区块请求事件是模拟交易,则调用所述读缓存中的快照数据接口申请所述模拟交易中目标区块版本号对应的第一快照;在获得所述第一快照之后,调用所述读缓存中的读数据接口,以通过所述读数据接口执行所述模拟交易;本申请实施例通过设置读缓存,使得模拟交易和出块主流程互不影响,保证出块主流程的效率和区块数据的统一。的效率和区块数据的统一。的效率和区块数据的统一。

【技术实现步骤摘要】
基于区块链的模拟交易方法、装置、设备和可读存储介质


[0001]本申请涉及区块链
,具体涉及一种基于区块链的模拟交易方法、装置、设备和可读存储介质。

技术介绍

[0002]模拟交易是一种由用户发起的,不期望其对账本的修改在链上留痕的一种交易,模拟交易一般用于读取账本数据、调试合约逻辑等等场景。
[0003]一般的模拟交易执行思路都是给定一个某一时间点的世界状态,模拟交易就基于这份世界状态数据执行,执行后返回结果,模拟交易的基础设计思路比较简单直接,就是“给定一个时间点世界状态”在给定的时间点世界状态进行模拟交易;模拟交易的过程中如果执行区块内交易生成区块的主流程(以下简称“出块主流程”)对模拟交易有感知的话,只需要模拟交易执行时暂停出块主流程即可,但显然这会对出块主流程的效率造成影响;这个模拟交易的过程中如果出块主流程对模拟交易执行无感知的话,那么出块主流程会修改最新的世界状态,如果模拟交易的所有账本读操作都复用最新的世界状态,显然会存在两个流程并发导致的数据一致性问题。

技术实现思路

[0004]本申请提供一种基本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的模拟交易方法,其特征在于,所述基于区块链的模拟交易方法包括:在区块落盘时,将账本数据整理形成预定义的批处理请求;将所述批处理请求刷入到读缓存,通过所述读缓存监听所述批处理请求中的区块请求事件;若所述区块请求事件是模拟交易,则调用所述读缓存中的快照数据接口申请所述模拟交易中目标区块版本号对应的第一快照;在获得所述第一快照之后,调用所述读缓存中的读数据接口,以通过所述读数据接口执行所述模拟交易。2.根据权利要求1所述的基于区块链的模拟交易方法,其特征在于,所述将所述批处理请求刷入到读缓存,通过所述读缓存监听所述批处理请求中的区块请求事件之前,所述方法包括:在区块链执行层配置多版本并发控制的读缓存,其中,所述读缓存包括快照数据接口、读数据接口、清除数据接口和舍弃数据接口;所述将所述批处理请求刷入到读缓存,通过所述读缓存监听所述批处理请求中的区块请求事件之后,所述方法包括:通过所述读缓存中的读数据接口读取所述批处理请求中的区块请求事件,并判断所述区块请求事件是否为模拟交易;若所述区块请求事件不是模拟交易,则根据所述区块请求事件的事件类型执行所述区块请求事件;若所述区块请求事件是模拟交易,则调用所述读缓存中的快照数据接口申请所述模拟交易中目标区块版本号对应的第一快照。3.根据权利要求2所述的基于区块链的模拟交易方法,其特征在于,所述若所述区块请求事件不是模拟交易,则根据所述区块请求事件的事件类型执行所述区块请求事件,包括:若所述区块请求事件不是模拟交易,则确定所述区块请求事件是否为出块时产生的账本修改集事件;若所述区块请求事件是所述账本修改集事件,则读取所述账本修改集事件中的区块版本号和账本修改集内容;遍历所述账本修改集内容,提取所述账本修改集内容中的各键值对,并判断所述读缓存的值版本字段中是否包含所述键值对中的键;若读缓存的值版本字段中包含所述键值对中的键,则提取所述键对应的链表,并将所述区块版本号和所述值构造一个链表元素;将所述链表元素插入到所述读缓存中链表的尾部,并更新所述读缓存中的区块版本号。4.根据权利要求2所述的基于区块链的模拟交易方法,其特征在于,所述若所述区块请求事件不是模拟交易,则根据所述区块请求事件的事件类型执行所述区块请求事件,包括:若所述区块请求事件不是模拟交易,则确定所述区块请求事件是否为清理请求事件或舍弃请求事件;若所述区块请求事件是清理请求事件或舍弃请求事件,则获取所述清理请求事件或舍
弃请求事件中包含的区块版本号;将所述清理请求事件或舍弃请求事件中包含的区块版本号和历史清除版本号进行比对,判断对所述区块版本号的清理请求事件或舍弃请求事件是否合法;若对所述区块版本号的清理请求事件或舍弃请求事件不合法,则退出所述清理请求事件或所述舍弃请求事件的执行流程;若对所...

【专利技术属性】
技术研发人员:邱炜伟李伟张珂杰黄方蕾郭威
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1