当前位置: 首页 > 专利查询>湖南大学专利>正文

事务调度方法、事务执行方法、装置和计算机设备制造方法及图纸

技术编号:36930901 阅读:21 留言:0更新日期:2023-03-22 18:53
本申请涉及一种事务调度方法、装置、计算机设备和存储介质。所述方法包括:获取区块的事务依赖关系图和自由事务集,根据事务依赖关系图和自由事务集,选取出多个依赖事务和多个自由事务,将依赖事务和自由事务添加至事务表中,发送事务加载信号至多个事务执行模块,以使事务执行模块加载事务、并并行执行,当接收到事务执行模块发送的加载完成信号时,从事务依赖关系图和自由事务集中选择新事务添加至事务表中,并更新事务依赖关系图、事务表和预设的调度表,直至区块中所有事务执行完毕。采用本方法能提高事务执行效率。本申请还提供一种事务执行方法、装置、计算机设备和存储介质。采用该方法能避免重复执行指令解码过程,提高事务执行效率。事务执行效率。事务执行效率。

【技术实现步骤摘要】
事务调度方法、事务执行方法、装置和计算机设备


[0001]本申请涉及区块链
,特别是涉及一种事务调度方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,以及事务执行方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

技术介绍

[0002]智能合约是一个用代码形式化的计算机协议,能够实现各种区块链场景下的自定义的功能,例如金融服务、物联网设备、供应链和众包平台。
[0003]以太坊是目前最大的支持智能合约的无许可区块链系统,其本质上是一个基于事务的状态机,其中任意节点都可以参与其中维护整个区块链的状态。以太坊使用广播共识执行三阶段模型,具体在执行阶段:其他节点会将广播的新区块捕获依次执行其内部的事务并验证其结果是否正确。上述执行特性限制了以太坊中智能合约的整体执行速度。该执行阶段要求,只有当前区块执行完并成功通过验证之后才能继续执行下一个区块,新生成的区块必须基于旧区块的区块链状态进行状态更新,这种链式的结构从本质上决定了事务执行处于区块链系统状态更新(即系统吞吐)的关键路径上。
[0004]然而,由于事务本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种事务调度方法,其特征在于,应用于事务调度模块,所述方法包括:获取区块的事务依赖关系图和自由事务集,所述事务依赖关系图包括多个存在依赖关系的依赖事务,所述自由事务集包括不存在依赖关系的自由事务;根据所述事务依赖关系图和所述自由事务集,选取出多个依赖事务和多个自由事务;将多个所述依赖事务和多个所述自由事务添加至事务表中,发送事务加载信号至多个事务执行模块,以使所述事务执行模块加载事务、并并行执行事务;当接收到所述事务执行模块发送的加载完成信号时,从所述事务依赖关系图和所述自由事务集中选择新事务添加至所述事务表中,并更新所述事务依赖关系图、所述事务表和预设的调度表,直至检测到所述区块中所有事务执行完毕。2.根据权利要求1所述的事务调度方法,其特征在于,所述根据所述事务依赖关系图和所述自由事务集,选取出多个依赖事务和多个自由事务包括:根据所述事务依赖关系图,选取第一数量的入度为零的依赖事务,以及根据所述自由事务集选取第二数量的自由事务,所述第一数量和所述第二数量基于事务执行模块的数量确定。3.根据权利要求1所述的事务调度方法,其特征在于,更新所述事务依赖关系图和所述事务表包括:根据选取出的所述新事务,删除所述事务依赖关系图中对应的事务节点;根据新事务和当前正在执行的事务的冗余依赖关系,更新所述事务依赖关系图和所述事务表中各事务的权重,以及事务表中事务的同步锁状态。4.根据权利要求1所述的事务调度方法,其特征在于,所述预设的调度表包括各事务执行模块的依赖表项和冗余表项,所述依赖表项为表征事务表项与当前事务执行模块执行的事务是否存在依赖关系的二进制数值,所述冗余表项为表征事务表项与当前事务执行模块执行的事务是否存在冗余关系的二进制数值;更新预设的调度表包括:将除目标事务执行模块之外的事务执行模块的依赖表项作同或运算,得到同或运算结果,所述目标事务执行模块为待加载事务的事务执行模块;将所述同或运算结果与所述目标事务执行模块的冗余表项作与运算,得到与运算结果;根据所述与运算结果,从更新后的事务表中筛选出所述目标事务执行模块的下一待执行事务;根据所述目标事务执行模块的下一执行事务,更新预设的调度表。5.一种事务执行方法,其特征在于,应用于事务执行模块,所述方法包括:接收事务调度模块发送的事务加载信号,所述事务加载信号携带事务标识信息;根据所述事务标识信息,从事务表中选择对应的目标事务,将所述目标事务上锁加载,并发送加载完成信号至所述事务调度模块,所述事务表为区块链中的事务调度模块执行如权利要求1

4中所述的事务调度方法调度得到;提取所述目标事务中当前待执行指令的指令地址;若判定所述当前待执行指令的指令地址存在于预设的字节码缓存、且所述目标事务的当前剩余开销不小于所述预设的字节码缓存所记录的指令开销总和,则以当前待执行指令
所在的缓存行为起点,依次获取各所述缓存行中指令所需的操作数,根据所述操作数执行各缓存行中指令的字节码;若预设的字节码缓存中的指令执行完成,则返回所述提取目标事务中当前待执行指令的指令地址的步骤,直至所述目标事务中所有指令执行完毕;其中,所述预设的字节码缓存中每条缓存行记录有不存在依赖关系的指令的字节码。6.根据权利要求5所述的事务执行方法,其特征在于,...

【专利技术属性】
技术研发人员:李肯立许浩烁刘楚波潘锐杨圣洪段明星杨亮肖国庆唐卓
申请(专利权)人:湖南大学
类型:发明
国别省市:

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

1