本发明涉及计算机技术领域,更具体地说,涉及智能化智能合约。
背景技术:
当前区块链中的智能合约是一段程序,该程序在区块链节点上无法自动触发,需要钱包或者其他智能合约来触发,本方案是为了解决区块链智能合约无法设置指定时间自动执行。
技术实现要素:
1.要解决的技术问题
针对现有技术中存在的问题,本发明的目的在于提供一种基于区块链的智能化智能合约,它有效解决了区块链智能合约无法设置指定时间自动执行的问题。
2.技术方案
为解决上述问题,本发明采用如下的技术方案。
一种基于区块链的智能化智能合约,包括智能化智能合约模块和智能化智能合约方案,所述智能化智能合约模块包括线程池模块、任务模块、任务管理模块和定时模块,所述任务模块包括a任务管理队列和b任务管理队列,它有效解决了区块链智能合约无法设置指定时间自动执行的问题。
进一步的,所述a任务管理队列的职责为:该队列存储所有接收到的需要定时执行智能合约相关服务或者等待某个消息的智能合约相关服务。
进一步的,所述b任务管理队列的职责为:该队列存储准备就绪的相关任务,等待下轮挖矿执行。
进一步的,所述线程池模块的职责为:并行执行定时器函数变量a任务管理队列。
进一步的,所述任务模块的职责为:
(a)每个智能合约执行事件作为一个任务;
(b)对智能合约执行事件分类。
进一步的,所述定时模块的职责为:
(a)该定时器函数遍历a任务管理队列,选择a任务队列中满足条件的任务加入到b任务队列;
(b)添加任务到b任务队列前根据任务类型,修改a任务队列该任务的状态。
进一步的,所述智能化智能合约方案包括以下步骤:
s1、当区块链节点程序启动时,启动任务管理队列a和b;
s2、启动定时器;
s3、启动线程池;
s4、定时器触发时遍历a任务管理队列是否有任务到期,如果存在到期任务,移动该任务到b任务管理队列中;
s5、矿工出块时,执行b任务管理队列中的相关任务对应的智能合约动作;
s6、智能合约执行结束通知合约相关节点。
进一步的,在步骤s2中,所述定时器的间隔为200毫秒。
3.有益效果
相比于现有技术,本发明的优点在于:
本发明有效解决了区块链智能合约无法设置指定时间自动执行的问题。
附图说明
图1为本发明的智能化智能合约方案的流程图;
图2为本发明的智能化智能合约模块处的结构示意图;
图3为定时循环执行的参数及定义图;
图4为等待条件执行的参数及定义图。
图中标号说明:
1智能化智能合约模块、001线程池模块、002任务模块、003任务管理模块、004定时模块。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
请参阅图2、图3和图4,一种基于区块链的智能化智能合约,包括智能化智能合约模块1和智能化智能合约方案,具体请参阅图2,智能化智能合约模块1包括线程池模块001、任务模块002、任务管理模块003和定时模块004,任务模块002包括a任务管理队列和b任务管理队列,a任务管理队列存储所有接收到的需要定时执行智能合约相关服务或者等待某个消息的智能合约相关服务,b任务管理队列存储准备就绪的相关任务,等待下轮挖矿执行,线程池模块001包含有线程池,线程池模块001并行执行定时器函数变量a任务管理队列,在任务模块002中,每个智能合约执行事件作为一个任务,同时对智能合约执行事件分类,任务模块002是为了实现任务分类,任务分类包括定时循环执行和等待条件执行,定时循环执行是为了提供固定时间多次自动执行相关服务,该类任务不需要外部条件触发,同时该类型的任务包含信息,定时循环执行的参数及定义请参阅图3,等待条件执行是为了提供了根据以往交易信息自动判定该任务是否满足执行,该类任务需要指定人指定时间去触发,等待条件执行的具体参数及定义请参阅图4,定时模块004中包含有定时器,该定时器函数遍历a任务管理队列,选择a任务队列中满足条件的任务加入到b任务队列,同时添加任务到b任务队列前根据任务类型,修改a任务队列该任务的状态;
请参阅图1,智能化智能合约方案包括以下步骤:
s1、当区块链节点程序启动时,启动任务管理队列a和b;
s2、启动定时器,定时器的间隔为200毫秒;
s3、启动线程池;
s4、定时器触发时遍历a任务管理队列是否有任务到期,如果存在到期任务,移动该任务到b任务管理队列中;
s5、矿工出块时,执行b任务管理队列中的相关任务对应的智能合约动作;
s6、智能合约执行结束通知合约相关节点。
本发明有效解决了区块链智能合约无法设置指定时间自动执行的问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其改进构思加以等同替换或改变,都应涵盖在本发明的保护范围内。