[发明专利]一种区块链智能合约定时任务调度方法在审
申请号: | 201710056722.2 | 申请日: | 2017-01-25 |
公开(公告)号: | CN106874087A | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 李升林;姜海涛;谭红波;黄高峰 | 申请(专利权)人: | 上海钜真金融信息服务有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 胡晶 |
地址: | 200127 上海市浦东新区中国(*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 智能 合约 定时 任务 调度 方法 | ||
技术领域
本发明涉及区块链技术领域,具体来说是一种区块链智能合约定时任务调度方法。
背景技术
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,其是以密码学方式保证的不可篡改和不可伪造,实现去中心化的分布式账本。在区块链技术领域,由于其分布式、共享数据区块、密码学加密、及其他安全性策略等特点,智能合约层面只提供了有限的程序定制功能,在某些业务场景下,如数据定期处理、价值定期交换、委托代付等业务处理上,区块链技术应用遇上到很大的困难。
为了解决这些困难,当前主流的解决方案是设计一个中心化的应用程序,通过轮循调用智能合约扫描链上的数据,并对符合条件的数据进行处理,该方案不仅时间延时较大,不能实现精准的时间控制,并且还增加了系统实现的复杂度,加大了开发成本。
发明内容
本发明是针对上述的区块链中任务调度的难点,提出了一种能解决周期性及指定时间点执行智能合约的区块链智能合约定时任务调度方法。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种区块链智能合约定时任务调度方法,所述的调度方法包括以下步骤:
A1.外部请求在区域链中添加定时任务,配置定时任务的执行要求,并将定时任务提交至区块链处理节点;
A2.对定时任务进行分类处理,并添加到任务处理队列;
A3.根据区块链的共识机制选出区块链的共识节点,共识节点获取共识权限;
A4.当定时任务达到执行要求时,共识节点对定时任务进行任务处理;
A5.任务处理完成后将定时任务的状态同步到其他节点,其他节点获取共识权限后根据定时任务的状态对未执行的定时任务进行下一步的任务处理。
进一步地,在所述的定时任务的调度过程中,定时任务及任务处理队列打包到区块中,使得定时任务、任务处理队列及定时任务的状态能实时同步到区域链中的各个节点。
进一步地,所述的任务处理的具体步骤为:
B1.删除过期的定时任务:对指定时间已经执行过的定时任务或指定时间已过的定时任务进行清除;
B2.提取可用的定时任务:当定时任务达到执行要求,且该定时任务在其他节点没有被执行过,即从任务处理队列中提取定时任务;
B3.执行定时任务:获取可用的定时任务后,对智能合约的地址及接口的合法性进行校验,填充执行参数,执行定时任务指定的智能合约的函数;
B4.更新定时任务:根据不同定时任务执行完后的状态更新定时任务。
进一步地,所述的定时任务添加后,按照定时任务的时间戳大小进行排序,并按照定时任务的时间、调用类型、周期级别进行分类,生成不同优先级的任务处理队列。
进一步地,所述的定时任务提交到任务处理队列后,任务处理队列信息存储至当前区块所在节点,定时任务及任务处理队列信息打包到同步区块中,配合区块链本身的块同步机制广播到区域链中的各节点。
进一步地,当节点选为共识节点时,共识节点的事件监听器负责对任务处理队列中的定时任务进行任务处理,对定时任务进行事件监测及超时监测。
进一步地,在更新定时任务时:对于周期性的定时任务,需设置定时任务的执行状态和执行时间;对于有次数要求的定时任务,需减少定时任务的次数,并更新定时任务在任务处理队列中的任务信息;对于一次性的定时任务,直接删除定时任务。
进一步地,所述的共识节点根据区块链的共识机制选出,所述的共识机制为Pow或Pos或DPos或Pool或Raft。
在上述的一种区块链智能合约定时任务调度方法中,所述的定时任务配置为每分钟或每小时或每天或每周或每月或每年的指定周期或指定时间点或指定时间间隔或指定次数的执行要求。
本发明由于采用以上技术方案,使之与现有技术相比,具有以下的优点和积极效果:
1.定时任务可配置为周期执行或更精确地某个时刻处理,还可配置任务一定时间间隔执行,或指定执行次数,定时任务调度的灵活度、精确度更高,能实现精准的时间控制;
2.定时任务添加后,可按照定时任务的时间、调用类型、周期级别进行排序分类,从而生成不同优先级的任务处理队列,提高了后续任务处理的效率,实现了准确、高效的任务处理;
3.定时任务及任务处理队列、定时任务状态能实时同步到其他节点上,保证各个节点上都有机会触发定时任务,使得所有节点都能平等地具备定时任务的任务处理能力;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海钜真金融信息服务有限公司,未经上海钜真金融信息服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710056722.2/2.html,转载请声明来源钻瓜专利网。