(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210493964.9
(22)申请日 2022.04.29
(71)申请人 蚂蚁区块链科技 (上海) 有限公司
地址 200010 上海市黄浦区外马路618号8
层803室
(72)发明人 石柯 王毅飞 谢桂鲁
(74)专利代理 机构 北京博思佳知识产权代理有
限公司 1 1415
专利代理师 李威
(51)Int.Cl.
G06F 9/48(2006.01)
G06F 9/50(2006.01)
G06F 16/27(2019.01)
(54)发明名称
区块链任务的链下处 理方法及装置
(57)摘要
本说明书提供一种区块链任务的链下处理
方法及装置。 所述方法应用于链下计算节点所包
含的调度引擎, 所述链下计算节 点对应于区块链
节点, 所述链下计算节点还包含由计算引擎框架
及其所管 理的计算单元构成的计算引擎, 所述方
法包括: 在启动完成后获取缓存的历史区块链任
务, 所述历史区块链任务由所述区块链节点在所
述调度引擎停机前生成; 向所述区块链节点发起
针对所述历史区块链任务的状态 查询请求; 响应
于所述区块链节点返回的查询结果表明所述历
史区块链任务处于未完成状态, 处理所述历史区
块链任务。
权利要求书3页 说明书22页 附图3页
CN 114880093 A
2022.08.09
CN 114880093 A
1.一种区块链任务的链下处理方法, 应用于链下计算节点所包含的调度引 擎, 所述链
下计算节点对应于区块链节点, 所述链下计算节 点还包含由计算引擎框架及其所管理的计
算单元构成的计算引擎, 所述方法包括:
在启动完成后获取缓存的历史区块链任务, 所述历史区块链任务由所述 区块链节点在
所述调度引擎停机前生成;
向所述区块链 节点发起针对所述历史区块链任务的状态查询请求;
响应于所述区块链节点返回的查询结果表明所述历史区块链任务处于未完成状态, 处
理所述历史区块链任务。
2.根据权利要求1所述的方法, 所述在启动完成后获取缓存的历史区块链任务, 包括:
获取所述调度引擎在停机前缓存至任务列表中的历史区块链任务, 任务列表用于记录
所述调度引擎获取到的且执 行结果尚未被成功返回至所述区块链 节点的区块链任务。
3.根据权利要求1所述的方法, 还 包括:
获取所述 区块链节点生成的当前区块链任务, 所述当前区块链任务由所述区块链节点
在所述调度引擎停机后生成;
处理所述当前区块链任务, 并将相应的执 行结果返回至所述区块链 节点。
4.根据权利要求3所述的方法, 处理所述历史区块链任务和所述当前区块链任务, 包
括:
并行处理所述历史区块链任务和所述当前区块链任务; 或者,
在将所述历史区块链任务处 理完毕后, 处 理所述当前区块链任务。
5.根据权利要求1所述的方法, 处 理所述历史区块链任务, 包括:
将所述历史区块链任务调度至匹配于所述历史区块链任务的第一计算引擎执 行;
接收第一计算引擎返回的所述历史区块链任务的执 行结果。
6.根据权利要求5所述的方法, 所述将所述历史区块链任务调度至匹配于所述历史区
块链任务的第一计算引擎执 行, 包括:
从所述链下计算节点包含的各个计算单元中确定匹配于所述历史区块链任务的第一
计算单元及其所属的第一计算引擎框架, 第一计算单元和 第一计算引擎框架属于第一计算
引擎;
通过第一计算引擎框架将所述历史区块链任务 转发至第一计算单 元执行。
7.根据权利要求5所述的方法, 还 包括:
在接收到所述执行结果之前, 若确定第一计算引擎框架已停机, 则将所述历史区块链
任务调度至区别于第一计算引擎的第二计算引擎, 以由第二计算引擎中匹配于所述历史区
块链任务的第二计算单 元执行所述历史区块链任务;
接收第二计算引擎返回的所述历史区块链任务的执 行结果。
8.根据权利要求7 所述的方法, 所述确定第一计算引擎框架已停机, 包括:
向第一计算引擎框架发送其 他区块链任务失败; 或者,
从服务中心获取到的服务变更消息表明第 一计算引擎框架已停机, 所述服务变更消息
用于指示 发生变更后的已注册服务, 所述已注册服务包括已注册至所述服务中心的计算引
擎框架和计算单 元。
9.根据权利要求8所述的方法, 从服 务中心获取服 务变更消息, 包括:权 利 要 求 书 1/3 页
2
CN 114880093 A
2接收服务中心响应于第一计算引擎框架已停机而发送的服 务变更消息; 或者,
按照预设的查询周期向服务中心发起变更查询 请求, 并接收所述服务中心在确定第 一
计算引擎框架已停机的情况 下返回的所述 服务变更消息 。
10.根据权利要求6所述的方法,
还包括: 在获取到所述历史区块链任务的情况下, 为所述历史区块链任务设置首发标
识; 以及, 在接收第一计算引擎返回的所述执行结果 失败的情况下, 将所述首发标识更新为
重发标识;
第一计算单元执行所述历史区块链任务, 包括: 在所述历史区块链任务被设置有所述
首发标识的情况下, 第一计算单元调用预设执行方执行所述历史 区块链任务; 以及, 在所述
历史区块链任务被设置有 所述重发标识的情况下, 第一计算单元若确定所述预设执行方当
前并未执行所述历史区块链任务, 则调用所述预设执 行方执行所述历史区块链任务。
11.根据权利要求10所述的方法, 还 包括:
第一计算单元若确定所述预设执行方当前正在执行所述历史区块链任务, 则等待所述
预设执行方返回所述历史区块链任务的执 行结果。
12.根据权利要求5所述的方法, 在处 理所述历史区块链任务的过程中, 还 包括:
在接收到所述执行结果之前, 若确定第一计算单元已停机, 则将所述历史区块链任务
调度至第一计算引擎中的第二计算单元或第二计算引擎中的第二计算单元, 以由第二计算
单元执行所述历史区块链任务;
接收第二计算单 元通过所属计算引擎返回的所述历史区块链任务的执 行结果。
13.根据权利要求12所述的方法, 所述确定第一计算单 元已停机, 包括:
根据第一计算引擎框架发送的异常通知消息确定第一计算单 元已停机 。
14.根据权利要求6 ‑13中任一项所述的方法, 所述调度引擎维护有自身所对应可用服
务的服务状态, 所述可用服 务包括所述计算引擎框架和所述计算单 元,
所述通过第一计算引擎框架将所述历史区块链任务转发至第一计算单元执行, 包括:
在第一计算单元和 第一计算引擎框架处于可用状态的情况下, 通过第一计算引擎框架将所
述历史区块链任务 转发至第一计算单 元执行;
所述方法还包括: 在第一计算引擎框架已停机的情况下, 将第一计算引擎框架及其所
管理的各个计算单元 的服务状态更新为不可用状态; 或者, 在第一计算单元已停机的情况
下, 将第一计算单 元的服务状态更新 为不可用状态。
15.根据权利要求1所述的方法, 所述调度引擎维护的结果列表用于记录尚未成功返回
至所述区块链 节点的执 行结果, 所述处 理所述历史区块链任务, 包括:
在所述结果列表中记录有所述历史区块链任务的执行结果的情况下, 将所述执行结果
返回至所述区块链 节点; 或者,
在所述结果列表中未记录所述历史区块链任务的执行结果的情况下, 将所述历史区块
链任务调度至所述计算引擎中的计算单元执行, 以及, 将所述计算引擎返回的执行结果记
录至所述结果列表并返回至所述区块链 节点。
16.根据权利要求15所述的方法, 还 包括:
在确定所述执行结果被成功返回至所述区块链节点的情况下, 删除所述结果列表中记
录的所述执 行结果。权 利 要 求 书 2/3 页
3
CN 114880093 A
3
专利 区块链任务的链下处理方法及装置
文档预览
中文文档
29 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共29页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 07:15:06上传分享