一种区块链智能合约定时任务调度方法技术

技术编号:15690680 阅读:107 留言:0更新日期:2017-06-24 03:16
本发明专利技术涉及区块链技术领域,具体来说是一种区块链智能合约定时任务调度方法,包括:(1)添加定时任务,配置定时任务的执行要求,并将定时任务提交至区块链处理节点;(2)对定时任务进行分类处理,并添加到任务处理队列;(3)选出区块链的共识节点,共识节点获取共识权限;(4)当定时任务达到执行要求时,共识节点对定时任务进行任务处理;(5)任务处理完成后将定时任务的状态同步到其他节点,其他节点获取共识权限后根据定时任务的状态,对未执行的定时任务进行下一步的任务处理。本调度方法灵活度、精确度更高,能实现精准的时间控制,能实现准确、高效的任务处理。

Timing task scheduling method for block chain intelligent contract

The present invention relates to the technical field of the block chain is a chain block intelligent task scheduling method of the agreement in the contract, specifically including: (1) add regular tasks allocation timing task execution requirements, and will be submitted to the timing task block chain processing nodes; (2) to classify regular tasks, and added to the task the queue; (3) consensus nodes selected block chain, consensus nodes to obtain consensus authority; (4) when the timing of the task to achieve the execution of the request, the task node consensus treatment on timing tasks; (5) after the completion of task processing will be set when the task state is synchronized to the other node, other nodes to obtain consensus permissions according to timing the status of the task, the task is not performed by the timing of the next task. The scheduling method has higher flexibility, higher precision, precise time control, and accurate and efficient task processing.

【技术实现步骤摘要】
一种区块链智能合约定时任务调度方法
本专利技术涉及区块链
,具体来说是一种区块链智能合约定时任务调度方法。
技术介绍
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,其是以密码学方式保证的不可篡改和不可伪造,实现去中心化的分布式账本。在区块链
,由于其分布式、共享数据区块、密码学加密、及其他安全性策略等特点,智能合约层面只提供了有限的程序定制功能,在某些业务场景下,如数据定期处理、价值定期交换、委托代付等业务处理上,区块链技术应用遇上到很大的困难。为了解决这些困难,当前主流的解决方案是设计一个中心化的应用程序,通过轮循调用智能合约扫描链上的数据,并对符合条件的数据进行处理,该方案不仅时间延时较大,不能实现精准的时间控制,并且还增加了系统实现的复杂度,加大了开发成本。
技术实现思路
本专利技术是针对上述的区块链中任务调度的难点,提出了一种能解决周期性及指定时间点执行智能合约的区块链智能合约定时任务调度方法。为了解决上述技术问题,本专利技术采用了如下的技术方案:一种区块链智能合约定时任务调度方法,所述的调度方法包括以下步骤:A1.外部请求在区域链中添加定时任务,配置定时任务的执行要求,并将定时任务提交至区块链处理节点;A2.对定时任务进行分类处理,并添加到任务处理队列;A3.根据区块链的共识机制选出区块链的共识节点,共识节点获取共识权限;A4.当定时任务达到执行要求时,共识节点对定时任务进行任务处理;A5.任务处理完成后将定时任务的状态同步到其他节点,其他节点获取共识权限后根据定时任务的状态对未执行的定时任务进行下一步的任务处理。进一步地,在所述的定时任务的调度过程中,定时任务及任务处理队列打包到区块中,使得定时任务、任务处理队列及定时任务的状态能实时同步到区域链中的各个节点。进一步地,所述的任务处理的具体步骤为:B1.删除过期的定时任务:对指定时间已经执行过的定时任务或指定时间已过的定时任务进行清除;B2.提取可用的定时任务:当定时任务达到执行要求,且该定时任务在其他节点没有被执行过,即从任务处理队列中提取定时任务;B3.执行定时任务:获取可用的定时任务后,对智能合约的地址及接口的合法性进行校验,填充执行参数,执行定时任务指定的智能合约的函数;B4.更新定时任务:根据不同定时任务执行完后的状态更新定时任务。进一步地,所述的定时任务添加后,按照定时任务的时间戳大小进行排序,并按照定时任务的时间、调用类型、周期级别进行分类,生成不同优先级的任务处理队列。进一步地,所述的定时任务提交到任务处理队列后,任务处理队列信息存储至当前区块所在节点,定时任务及任务处理队列信息打包到同步区块中,配合区块链本身的块同步机制广播到区域链中的各节点。进一步地,当节点选为共识节点时,共识节点的事件监听器负责对任务处理队列中的定时任务进行任务处理,对定时任务进行事件监测及超时监测。进一步地,在更新定时任务时:对于周期性的定时任务,需设置定时任务的执行状态和执行时间;对于有次数要求的定时任务,需减少定时任务的次数,并更新定时任务在任务处理队列中的任务信息;对于一次性的定时任务,直接删除定时任务。进一步地,所述的共识节点根据区块链的共识机制选出,所述的共识机制为Pow或Pos或DPos或Pool或Raft。在上述的一种区块链智能合约定时任务调度方法中,所述的定时任务配置为每分钟或每小时或每天或每周或每月或每年的指定周期或指定时间点或指定时间间隔或指定次数的执行要求。本专利技术由于采用以上技术方案,使之与现有技术相比,具有以下的优点和积极效果:1.定时任务可配置为周期执行或更精确地某个时刻处理,还可配置任务一定时间间隔执行,或指定执行次数,定时任务调度的灵活度、精确度更高,能实现精准的时间控制;2.定时任务添加后,可按照定时任务的时间、调用类型、周期级别进行排序分类,从而生成不同优先级的任务处理队列,提高了后续任务处理的效率,实现了准确、高效的任务处理;3.定时任务及任务处理队列、定时任务状态能实时同步到其他节点上,保证各个节点上都有机会触发定时任务,使得所有节点都能平等地具备定时任务的任务处理能力;4.定时任务能够在任意一个节点中执行,不限定于定时任务的发布节点,在区块链各个节点相互竞争获取共识权限后即可对定时任务进行处理,各节点之间没有优先级别区分,使得节点处理定时任务时具有任意性的特点;5.定时任务的一次任务处理只能在区块链的某一个节点中,不能一次处理任务对应的一个时间点或一个时间周期内处理多次,定时任务处理过程具有排他性;6.能对定时任务进行添加、删除、提取、执行等任务处理,定时任务具有执行状态,在每次定时任务完成后,针对不同类型的定时任务更新定时任务的状态,使得能够通过定时任务的状态确定是否定时任务处理过。附图说明图1为本专利技术的调度流程示意图;图2为本专利技术中的定时任务添加、分类、同步的过程示意图;图3为本专利技术中任务处理的流程示意图。具体实施方式以下结合附图和具体实施例对本专利技术提出的技术方案进一步详细说明。根据下面说明和权利要求书,本专利技术的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本专利技术实施例的目的。本专利技术是针对区域链的定时业务调度问题,如多样化的应用场景下的代付、资产委托、定期核算等业务,在当前主流的区块链技术中,缺乏一种定期、定时触发智能合约的任务调度方法,因此,本专利技术设计了区块链智能合约定时任务调度方法,解决了区块链智能合约定期、定时触发的问题。在本专利技术中对外以智能合约的形式提供管理接口,同时提供完善的时间调度策略,定时任务可配置为周期执行或更精确地某个时刻处理,还可配置任务一定时间间隔执行,或指定执行次数,定时任务调度的灵活度、精确度更高,能实现精准的时间控制,现配合说明书附图对本专利技术的工作流程进行进一步陈述。实施例1参见图1,本调度方法主要能实现:外部请求通过使用智能合约管理接口添加定时任务,定时任务可配置为每分钟或每小时或每天或每周或每月或每年的指定周期或指定时间点或指定时间间隔或指定次数的执行要求;任务进行分类处理,并放置到定时任务处理队列;在调度的过程中,节点将定时任务打包在新的区块中,通过区块节点之间的同步机制广播到区块链其它节点,使得所有节点都能平等地具备定时任务的任务处理能力;事件监听器执行事件监测、超时监测,并对符合条件的任务进行处理,然后更新任务状态,具体包括以下步骤:1.外部请求在区域链中添加定时任务,配置定时任务的执行要求,并将定时任务提交至区块链处理节点;2.对定时任务进行分类处理,并生成任务处理队列;3.根据区块链的共识机制选出区块链的共识节点,共识节点获取共识权限;4.当定时任务达到执行要求时,即满足触发提交条件时,共识节点对定时任务进行任务处理;5.任务处理完成后将定时任务的状态同步到其他节点,其他节点获取共识权限后根据定时任务的状态,对未执行的定时任务进行下一步的任务处理。现针对不同的处理步骤进行具体陈述,本专利技术中的调度方法大致分为任务提交过程及任务调度处理过程:任务提交过程参见图2,其主要包括添加定时任务、对定时任务进行分类及对定时任务进行同步。添加定时任务:外部调用请求通过管理接口在区域链中本文档来自技高网...
一种区块链智能合约定时任务调度方法

【技术保护点】
一种区块链智能合约定时任务调度方法,其特征在于,所述的调度方法包括以下步骤:A1.外部请求在区域链中添加定时任务,配置定时任务的执行要求,并将定时任务提交至区块链处理节点;A2.对定时任务进行分类处理,并添加到任务处理队列;A3.根据区块链的共识机制选出区块链的共识节点,共识节点获取共识权限;A4.当定时任务达到执行要求时,共识节点对定时任务进行任务处理;A5.任务处理完成后将定时任务的状态同步到其他节点,其他节点获取共识权限后根据定时任务的状态,对未执行的定时任务进行下一步的任务处理。

【技术特征摘要】
1.一种区块链智能合约定时任务调度方法,其特征在于,所述的调度方法包括以下步骤:A1.外部请求在区域链中添加定时任务,配置定时任务的执行要求,并将定时任务提交至区块链处理节点;A2.对定时任务进行分类处理,并添加到任务处理队列;A3.根据区块链的共识机制选出区块链的共识节点,共识节点获取共识权限;A4.当定时任务达到执行要求时,共识节点对定时任务进行任务处理;A5.任务处理完成后将定时任务的状态同步到其他节点,其他节点获取共识权限后根据定时任务的状态,对未执行的定时任务进行下一步的任务处理。2.根据权利要求1所述的一种区块链智能合约定时任务调度方法,其特征在于,在所述的定时任务的调度过程中,定时任务及任务处理队列打包到区块中,使得定时任务、任务处理队列及定时任务的状态能实时同步到区块链中的各个节点。3.根据权利要求1所述的一种区块链智能合约定时任务调度方法,其特征在于,所述的任务处理的具体步骤为:B1.删除过期的定时任务:对指定时间已经执行过的定时任务或指定时间已过的定时任务进行清除;B2.提取可用的定时任务:当定时任务达到执行要求,且该定时任务在其他节点没有被执行过,即从任务处理队列中提取定时任务;B3.执行定时任务:获取可用的定时任务后,对智能合约的地址及接口的合法性进行校验,填充执行参数,执行定时任务指定的智能合约的函数;B4.更新定时任务:根据不同定时任务执行完后的状态更新定时任务。4.根据权利要求1所述的一种区块链智能合约定时...

【专利技术属性】
技术研发人员:李升林姜海涛谭红波黄高峰
申请(专利权)人:上海钜真金融信息服务有限公司
类型:发明
国别省市:上海,31

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

1