CN110046166B - 基于区块链的定时任务调度方法及装置 - Google Patents
基于区块链的定时任务调度方法及装置 Download PDFInfo
- Publication number
- CN110046166B CN110046166B CN201910322758.XA CN201910322758A CN110046166B CN 110046166 B CN110046166 B CN 110046166B CN 201910322758 A CN201910322758 A CN 201910322758A CN 110046166 B CN110046166 B CN 110046166B
- Authority
- CN
- China
- Prior art keywords
- main chain
- task
- timing
- transaction
- chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000001360 synchronised effect Effects 0.000 claims abstract description 123
- 238000012544 monitoring process Methods 0.000 claims abstract description 69
- 238000012546 transfer Methods 0.000 claims abstract description 37
- 230000000977 initiatory effect Effects 0.000 claims description 45
- 238000012790 confirmation Methods 0.000 claims description 16
- 208000033986 Device capturing issue Diseases 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及基于区块链的定时任务调度方法及装置,存储介质和电子设备。所述方法包括:响应于对主链的一任务调度指令,以开始对所述主链进行业务监听;在监听到定时任务在所述主链上链后,与所述主链进行原始用户状态同步,并在与所述主链同步完成后执行所述定时任务;响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链;在监听到所述执行定时任务后的用户状态同步至所述主链后,结束所述定时任务。本公开能够将主链的定时任务自动转移到指定的侧链执行,有效的解决主链定时任务执行效率低的问题。
Description
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及基于区块链的定时任务调度方法及装置,存储介质和电子设备。
背景技术
本部分旨在为权利要求中陈述的本发明的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。
区块链作为一种新兴的分布式基础架构,其本质应当为一个去中心化的数据库,现在已经被广泛的应用于证券交易、电子商务、社交通讯以及文件存储等众多领域。
发明内容
但是,在一些技术中,一方面,由于现有的区块链平台交易性能相对低下,交易处理速度较慢,无法满足用户频繁交易以及交易时效的需求;另一方面,各区块链之间会使用不同的业务合约,无法在一个区块链平台上执行大量高频率的交易。
因此,在现有技术中,如何将主链的定时任务转移至侧链执行,仍然缺少对应的系统的、标准的数据处理方法。
为此,非常需要一种改进的基于区块链的定时任务调度方法及装置、存储介质和电子设备,以实现定时任务在主链和侧链之间的高效调度。
在本上下文中,本发明的实施方式期望提供一种基于区块链的定时任务调度方法和装置、存储介质和电子设备。
根据本公开的一个方面,提供一种基于区块链的定时任务调度方法,包括:
响应于对主链的一任务调度指令,以开始对所述主链进行业务监听;
在监听到定时任务在所述主链上链后,与所述主链进行原始用户状态同步,并在与所述主链同步完成后执行所述定时任务;
响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链;
在监听到所述执行定时任务后的用户状态同步至所述主链后,结束所述定时任务。
在本公开的一种示例性实施例中,所述对所述主链进行业务监听包括:
通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希;
根据所述交易哈希获取所述提交定时任务的交易在所述主链中所在区块,并根据所述区块的区块头查询对应的哈希值;
根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
在本公开的一种示例性实施例中,所述在监听到定时任务在所述主链上链后,与所述主链进行原始用户状态同步包括:
在监听到所述定时任务在所述主链上链后,发起确定所述定时任务在所述主链的状态的交易并上链;
在确定所述定时任务在所述主链的状态后,与所述主链进行原始用户状态同步;
在同步操作完成后,发起完成同步的交易并上链。
在本公开的一种示例性实施例中,所述在确定所述定时任务在所述主链的状态后,与所述主链同步原始用户状态包括:
通过转接桥调用主链同步状态接口,以发起与所述主链同步原始用户状态的交易,并将同步结果返回所述主链。
在本公开的一种示例性实施例中,所述方法还包括:
通过转接桥监听与所述主链同步原始用户状态的交易,以确定同步原始用户状态的操作是否完成。
在本公开的一种示例性实施例中,所述执行所述定时任务包括:
根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链。
在本公开的一种示例性实施例中,所述根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链包括:
由出块节点的定时合约执行器根据定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点;
所述投票节点的定时合约执行器执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果并返回至所述出块节点;
所述出块节点根据各所述投票节点返回的所述出块投票结果判断是否对所述定时任务结果出块上链。
在本公开的一种示例性实施例中,所述任务停止指令的生成包括:
根据所述定时任务中的定时规则生成任务停止指令;或者
在监听到停止定时任务的交易在所述主链上链时,发起所述停止定时任务的交易以生成任务停止指令。
在本公开的一种示例性实施例中,所述将执行定时任务后的用户状态同步至所述主链包括:
通过转接桥调用所述主链的同步状态接口以发起将所述定时任务的执行结果返回至所述主链的同步交易,以将执行定时任务后的用户状态同步至所述主链。
在本公开的一种示例性实施例中,所述在监听到所述执行定时任务后的用户状态同步至所述主链后,结束所述定时任务包括:
在监听到所述主链完成所述执行定时任务后的用户状态的同步后,发起主链状态同步完成的交易并上链;
发起针对所述主链的结束定时任务的交易,以使所述主链执行结束定时任务的交易。
在本公开的一种示例性实施例中,在监听到所述主链执行结束定时任务的交易后,所述方法还包括:
发起确认结束定时任务的交易,以结束所述定时任务。
根据本公开的一个方面,提供一种基于区块链的定时任务调度方法,包括:
基于对主链的一任务调度指令,为所述主链配置侧链以使所述侧链开启对所述主链的业务监听;
所述侧链在监听到定时任务在所述主链上链后,与所述主链执行原始用户状态同步,并在所述侧链执行所述定时任务;
所述侧链响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链以更新所述主链;
在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和所述侧链结束所述定时任务。
在本公开的一种示例性实施例中,所述侧链开启对所述主链的业务监听包括:
所述侧链通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希;
根据所述交易哈希获取所述提交定时任务的交易在所述主链中的所在区块,并根据所述区块的区块头查询对应的哈希值;
根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
在本公开的一种示例性实施例中,所述在所述主链提交定时任务时,所述方法还包括:
在所述主链锁定管理用户。
在本公开的一种示例性实施例中,所述侧链监听到在所述主链提交的定时任务后,与所述主链执行原始用户状态同步包括:
所述侧链在监听到所述定时任务在所述主链上链后,在所述侧链发起确定所述定时任务在所述主链的状态的交易并上链;
所述侧链在确认所述主链的定时任务后,发起同步主链原始用户状态的交易,以用于与所述主链同步原始用户状态;
当所述侧链确认完成原始用户状态同步后,在所述侧链发起侧链状态同步完成的交易并上链。
在本公开的一种示例性实施例中,所述侧链发起同步主链原始用户状态的交易以用于与所述主链同步原始用户状态包括:
所述侧链通过转接桥调用所述主链同步状态接口,以发起同步主链原始用户状态的交易,并将同步结果返回至所述主链。
在本公开的一种示例性实施例中,所述侧链确认完成原始用户状态同步的方法包括:
所述侧链通过转接桥监听所述主链的同步原始用户状态的交易以确定所述同步原始用户状态的操作是否完成。
在本公开的一种示例性实施例中,所述侧链所述执行所述定时任务包括:
所述侧链节点根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链。
在本公开的一种示例性实施例中,所述侧链节点根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链包括:
所述侧链的出块节点的定时合约执行器调用定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点;
所述投票节点的定时合约执行器调用定时合约执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果,并将所述出块投票结果返回至所述出块节点;
所述出块节点根据所述投票节点返回的出块投票结果判断是否对所述定时任务结果出块上链。
在本公开的一种示例性实施例中,所述侧链响应于一任务停止指令包括:
所述侧链根据所述定时任务中的定时规则生成任务停止指令;或者
所述侧链在监听到在所述主链发起的结束定时任务的交易时,在所述侧链发起结束定时任务的交易并上链。
在本公开的一种示例性实施例中,所述与所述主链同步用户状态以更新所述主链包括:
所述侧链通过转接桥调用所述主链同步状态接口以发起将定时任务的执行结果返回至所述主链的同步交易,以将所述侧链的定时任务执行结果返回所述主链,以实现对所述主链用户状态的更新。
在本公开的一种示例性实施例中,所述在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和侧链结束所述定时任务包括:
所述侧链在监听到所述主链的同步操作完成后,发起完成主链状态同步的交易并上链;
所述侧链发起针对所述主链的结束定时任务的交易,以使所述主链执行所述结束定时任务的交易,并在确认同步操作完成后将所述结束定时任务的交易在所述主链上链以结束所述定时任务。
在本公开的一种示例性实施例中,所述侧链在监听到所述主链的结束定时任务的交易在所述主链上链后,所述方法还包括:
所述侧链发起侧链确认结束定时任务的交易并上链,以用于在所述侧链结束所述定时任务。
在本公开的一种示例性实施例中,所述方法还包括:
所述主链对管理用户进行解锁。
根据本公开的一个方面,提供一种基于区块链的定时任务调度装置,包括:
业务监听模块,用于响应于对主链的一任务调度指令,以开始对所述主链进行业务监听;
第一任务执行模块,用于在监听到定时任务在所述主链上链后,与所述主链进行原始用户状态同步,并在与所述主链同步完成后执行所述定时任务;
第一任务停止模块,用于响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链;
任务结束模块,用于在监听到所述执行定时任务后的用户状态与所述主链同步完成后,结束所述定时任务。
在本公开的一种示例性实施例中,所述业务监听模块包括:
交易哈希获取模块,用于通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希;
区块头查询模块,用于根据所述交易哈希获取所述提交定时任务的交易在所述主链中所在区块,并根据所述区块的区块头查询对应的哈希值;
哈希值比对模块,用于根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
在本公开的一种示例性实施例中,所述第一任务执行模块包括:
定时任务确认模块,用于在监听到所述定时任务在所述主链上链后,发起确定所述定时任务在所述主链的状态的交易并上链;
用户状态同步模块,用于在确定所述定时任务在所述主链的状态后,与所述主链进行原始用户状态同步;
同步完成模块,用于在同步操作完成后,发起完成同步的交易并上链。
在本公开的一种示例性实施例中,所述用户状态同步模块包括:
主链同步状态接口调用模块,用于通过转接桥调用主链同步状态接口,以发起与所述主链同步原始用户状态的交易,并将同步结果返回所述主链。
在本公开的一种示例性实施例中,所述装置还包括:
同步结果确认模块,用于通过转接桥监听与所述主链同步原始用户状态的交易,以确定同步原始用户状态的操作是否完成。
在本公开的一种示例性实施例中,所述第一任务执行模块包括:
定时任务执行模块,用于根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链。
在本公开的一种示例性实施例中,所述定时任务执行模块包括:
交易发起模块,用于由出块节点的定时合约执行器根据定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点;
出块投票结果生成模块,用于所述投票节点的定时合约执行器执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果并返回至所述出块节点;
定时任务出块模块,用于所述出块节点根据各所述投票节点返回的所述出块投票结果判断是否对所述定时任务结果出块上链。
在本公开的一种示例性实施例中,所述第一任务停止模块包括:
停止指令生成模块,用于根据所述定时任务中的定时规则生成任务停止指令;和/或
停止指令监听模块,用于在监听到停止定时任务的交易在所述主链上链时,发起所述停止定时任务的交易以生成任务停止指令。
在本公开的一种示例性实施例中,所述第一任务停止模块还包括:
任务结果返回模块,用于通过转接桥调用所述主链的同步状态接口以发起将所述定时任务的执行结果返回至所述主链的同步交易,以将执行定时任务后的用户状态同步至所述主链。
在本公开的一种示例性实施例中,所述任务结束模块包括:
用户状态监听模块,用于在监听到所述主链完成所述执行定时任务后的用户状态的同步后,发起主链状态同步完成的交易并上链;
主链定时任务结束模块,用于发起针对所述主链的结束定时任务的交易,以使所述主链执行结束定时任务的交易。
在本公开的一种示例性实施例中,所述装置还包括:
定时任务结束模块,用于发起确认结束定时任务的交易,以结束所述定时任务。
根据本公开的一个方面,提供一种基于区块链的定时任务调度装置,包括:
侧链分配模块,用于基于对主链的一任务调度指令,为所述主链配置侧链以使所述侧链开启对所述主链的业务监听;
第二任务执行模块,用于所述侧链在监听到定时任务在所述主链上链后,与所述主链执行用户状态同步,以用于在所述侧链执行所述定时任务;
第二任务停止模块,用于所述侧链响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链以更新所述主链;
任务完结模块,用于在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和所述侧链结束所述定时任务。
在本公开的一种示例性实施例中,所述装置还包括:
交易哈希获取模块,用于所述侧链通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希;
区块头查询模块,用于根据所述交易哈希获取所述提交定时任务的交易在所述主链中的所在区块,并根据所述区块的区块头查询对应的哈希值;
哈希值比对模块,用于根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
在本公开的一种示例性实施例中,所述装置还包括:
用户状态锁定模块,用于在所述主链提交定时任务时,在所述主链锁定管理用户。
在本公开的一种示例性实施例中,所述第二任务执行模块包括:
定时任务侧链确定模块,用于所述侧链在监听到所述定时任务在所述主链上链后,在所述侧链发起确定所述定时任务在所述主链的状态的交易并上链;
原始用户状态同步模块,用于所述侧链在确认所述主链的定时任务后,发起同步主链原始用户状态的交易,以用于与所述主链同步原始用户状态;
原始用户状态侧链确认模块,用于当所述侧链确认完成原始用户状态同步后,在所述侧链发起侧链状态同步完成的交易并上链。
在本公开的一种示例性实施例中,所述原始用户状态同步模块包括:
主链同步状态接口调用模块,用于所述侧链通过转接桥调用所述主链同步状态接口,以发起同步主链原始用户状态的交易,并将同步结果返回至所述主链。
在本公开的一种示例性实施例中,所述原始用户状态侧链确认模块包括:
主链同步交易监听模块,用于所述侧链通过转接桥监听所述主链的同步原始用户状态的交易以确定所述同步原始用户状态的操作是否完成。
在本公开的一种示例性实施例中,所述第二任务执行模块包括:
定时任务侧链执行模块,用于所述侧链节点根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链。
在本公开的一种示例性实施例中,所述定时任务侧链执行模块包括:
出块节点执行模块,用于所述侧链的出块节点的定时合约执行器调用定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点;
投票节点执行模块,用于所述投票节点的定时合约执行器调用定时合约执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果,并将所述出块投票结果返回至所述出块节点;
任务结果出块模块,用于所述出块节点根据所述投票节点返回的出块投票结果判断是否对所述定时任务结果出块上链。
在本公开的一种示例性实施例中,所述第二任务停止模块包括:
停止指令侧链生成模块,用于所述侧链根据所述定时任务中的定时规则生成任务停止指令;和/或
停止指令侧链监听模块,用于所述侧链在监听到在所述主链发起的结束定时任务的交易时,在所述侧链发起结束定时任务的交易并上链。
在本公开的一种示例性实施例中,所述第二任务停止模块还包括:
任务结果返回模块,用于所述侧链通过转接桥调用所述主链同步状态接口以发起将定时任务的执行结果返回至所述主链的同步交易,以将所述侧链的定时任务执行结果返回所述主链,以实现对所述主链用户状态的更新。
在本公开的一种示例性实施例中,所述任务完结模块包括:
主链同步完成模块,用于所述侧链在监听到所述主链的同步操作完成后,发起完成主链状态同步的交易并上链;
定时任务主链结束模块,用于所述侧链发起针对所述主链的结束定时任务的交易,以使所述主链执行所述结束定时任务的交易,并在确认同步操作完成后将所述结束定时任务的交易在所述主链上链以结束所述定时任务。
在本公开的一种示例性实施例中,所述任务完结模块还包括:
定时任务侧链结束模块,用于所述侧链发起侧链确认结束定时任务的交易并上链,以用于在所述侧链结束所述定时任务。
在本公开的一种示例性实施例中,所述装置还包括:
用户解锁模块,用于所述主链对管理用户进行解锁。
根据本公开的一个方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项实施例中所述的基于区块链的定时任务调度方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的基于区块链的定时任务调度方法。
根据本发明实施方式的定时任务调度方法,通过预先为主链分配对应的侧链,使侧链可以实时监听在主链提交的交易;并在监听到主链提交定时任务后,将主链的原始用户状态同步至侧链,使得侧链可以执行对应的定时任务,从而实现将主链的定时任务自动转移到指定的侧链执行,有效的解决主链定时任务执行效率低的问题。并在侧链结束定时任务后将执行定时任务后的用户状态同步至主链,进而减少主链的交易总量,降低主链的交易开销。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的一种基于区块链的定时任务调度方法的流程图;
图2示意性地示出了根据本发明实施方式的侧链对主链进行业务监听的方法流程图;
图3示意性地示出了根据本发明实施方式的侧链与主链进行原始用户状态同步的方法流程图;
图4示意性地示出了根据本发明实施方式的侧链将定时任务执行结果共识上链的方法流程图;
图5示意性地示出了根据本发明实施方式的结束定时任务的方法流程图;
图6示意性地示出了根据本发明实施方式的另一种基于区块链的定时任务调度方法的流程图;
图7示意性地示出了根据本发明实施方式的一种基于区块链的定时任务调度装置的方框图;
图8示意性地示出了根据本发明实施方式的另一种基于区块链的定时任务调度装置的方框图;
图9示出了根据本发明实施方式的存储介质的示意图;以及
图10示意性示出了根据发明实施方式的电子设备的方框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提供一种基于区块链的定时任务调度方法、基于区块链的定时任务调度装置、存储介质和电子设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐述本发明的原理和精神。
发明概述
本发明人发现,现有技术中,已有的区块链平台受到交易单机执行、单机存储、单区块链的共识效率等原因,导致区块链平台的交易性能都比较低下,无法满足用户频繁交易的需求。并且,现有的技术方案中,各区块链平台之间使用不同的业务合约,使得各区块链内的定时交易任务也仅能在各自所在的区块链平台中执行,导致无法在一个区块链平台高频率的执行定时交易任务。
鉴于上述内容,本发明的基本思想在于:通过预先为主链分配对应的侧链,一方面,可以使侧链实时监听在主链提交以及上链的交易;并在监听到主链提交定时任务后,将主链的原始用户状态同步至侧链,使得侧链可以执行对应的定时任务,从而实现将主链的定时任务自动转移到指定的侧链执行,有效的解决主链定时任务执行效率低的问题。另一发面,通过在侧链结束定时任务后将执行定时任务后的用户状态同步至主链,进一步的减少主链的交易总量,降低主链的交易开销,并且提升交易速度。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
示例性方法
下面结合图1来描述根据本发明示例性实施方式的基于区块链的定时任务调度方法。
参考图1,所述基于区块链的定时任务调度方法可以包括以下步骤:
S11、响应于对主链的一任务调度指令,以开始对所述主链进行业务监听;
S12、在监听到定时任务在所述主链上链后,与所述主链进行原始用户状态同步,并在与所述主链同步完成后执行所述定时任务;
S13、响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链;
S14、在监听到所述执行定时任务后的用户状态同步至所述主链后,结束所述定时任务。
在本发明实施方式的基于区块链的定时任务调度方法中,通过预先为主链分配对应的侧链,使侧链可以实时监听在主链提交的交易;并在监听到主链提交定时任务后,将主链的原始用户状态同步至侧链,使得侧链可以执行对应的定时任务,从而实现将主链的定时任务自动转移到指定的侧链执行,有效的解决主链定时任务执行效率低的问题。并在侧链结束定时任务后将执行定时任务后的用户状态同步至主链,进而减少主链的交易总量,降低主链的交易开销。。
在步骤S11中,响应于对主链的一任务调度指令,以开始对所述主链进行业务监听。
在本公开的示例性实施方式中,对于侧链来说,用户可以为主链分配对应的侧链,从而使侧链对主链上提交和上链的交易进行监听。其中,侧链可以是由POS(Proof ofStake,股权证明)、BFT(Byzantine Fault Tolerance,拜占庭容错)等共识为主的区块链。具体来说,侧链可以包括转接桥、侧链合约以及侧链定时合约执行器。其中,转接桥作为侧链的一部分,使侧链各节点可以通过转接桥对主链区块和交易进行监听。侧链合约则是对应于主链业务合约的合约。侧链定时合约执行器可以用于根据定时合约,轮循并执行定时交易。
其中,转接桥可以具有查询用户状态功能(quey status)、执行同步交易功能(execute status status)以及执行完结定时器功能(execute finish timing)。具体来说,上述的查询用户状态功能为调用主链合约中的导出状态方法(export StatusResult)。侧链调用主链导出方法后,可以导出所有关联用户地址(relate Address)的用户状态,并做好侧链合约用户状态的初始化。上述的执行同步交易功能,即调用主链合约中主链同步状态(sync Status Status)方法发起同步交易,把侧链定时器的执行结果,即侧链执行定时任务后的用户状态结果返回主链的过程。同时,转接桥还可以不断监听主链的同步交易,来确定同步是否成功。上述的执行完结定时器功能,可以调用主链合约中完结定时任务(finish Timing)方法,在侧链所有用户的状态同步完成后,侧链发起对主链的完结定时任务交易,从而彻底完成主链的定时任务。
上述的侧链合约是对应于主链业务合约的合约,可以包括确认提交定时任务(sure Sumit Timing)。转接桥监听到主链的提交定时任务(sumit Timing)交易并确定上链后,侧链由出块节点发起执行确定提交定时任务的交易,并带上主链的定时任务的参数(time Params),提交到侧链。
在区块链成员为主链分配对应的侧链后,还可以为侧链配置需要监听的主链合约地址和需要使用的区块链账号。此外,一条主链可以对应一条或多条侧链,即主链的定时任务可以分配到至少一条侧链中执行。由于主链中可以包含多个合约,则主链合约与侧链则可以是多对多的关系,其中,主链中的一个合约可以对应一条执行其定时任务的侧链。之后,该侧链便可以通过转接桥,以侧链/中继方式对主链的交易(watch_eth)和区块(watch_block)进行实时的监听。
具体来说,参考图2所示,侧链对主链进行业务监听可以包括以下步骤:
步骤S111,通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希;
步骤S112,根据所述交易哈希获取所述提交定时任务的交易在所述主链中所在区块,并根据所述区块的区块头查询对应的哈希值;
步骤S113,根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
在本公开的示例性实施方式中,侧链可以通过监控主链交易(watch_eth)和区块(watch_block)来确定主链定时器交易的发生以及是否上链。举例而言,侧链可以通过监听主链对应业务合约下的所有交易,来判断定时任务交易是否发生。并且,侧链还可以通过监听主链的所有已经上链的区块头,并将该些区块加入侧链中,以做SPV证明(SimplifiedPayment Verification,简单支付证明)。具体的,侧链在监听到主链在指定地址发起的定时任务的交易后,获取该交易的交易哈希;并通过该交易哈希查询主链以获取该交易所在的区块。以及,侧链通过监听主链的区块头,查询并获取主链区块中构建默克尔树(merkletree)所需的哈希值,并根据该哈希值计算默克尔树哈希(merkle root hash);并将该计算的默克尔树哈希与主链区块头中的原始默克尔树哈希进行对比,判断是否相等。在判断相等时,则证明该定时任务交易在主链中是存在的,且已上链。若不相等,则证明该交易在主链中不存在,或者侧链从主链下载的区块头中数据存在错误等情况。
在步骤S12,在监听到定时任务在所述主链上链后,与所述主链进行原始用户状态同步,并在与所述主链同步完成后执行所述定时任务。
在本公开的示例性实施方式中,当侧链在监听到定时任务在主链上链后,便可以将主链的原始用户状态同步至侧链,进而在同步完成后在侧链执行对应的定时任务。
具体来说,参考图3所示,上述的在监听到定时任务在所述主链上链后,与所述主链进行原始用户状态同步可以包括:
步骤S1201,在监听到所述定时任务在所述主链上链后,发起确定所述定时任务在所述主链的状态的交易并上链;
步骤S1202,在确定所述定时任务在所述主链的状态后,与所述主链进行原始用户状态同步;
步骤S1203,在同步操作完成后,发起完成同步的交易并上链。
在本公开的示例性实施方式中,侧链在通过转接桥监听到主链的提交定时任务(sumit Timing)的交易,并确定该交易在主链上链后,在侧链发起确定所述定时任务在所述主链的状态的交易并上链。侧链在确定主链的该定时任务后,便可以执行同步主链原始用户状态的交易,将主链的所有关联用户地址的状态同步至侧链。具体的,侧链通过转接桥调用主链的导出状态(export Status Status)方法,发起对管理用户地址(relateAddress)的状态同步。侧链节点做好每一笔状态同步的上链情况,直到所有原始用户的状态变更都上链成功。
侧链在确定所有用户状态同步完成后,可以发起完成侧链状态同步(finish SyncUser Status)的交易并上链。侧链还可以通过转接桥监听与所述主链同步原始用户状态的交易,以确定同步原始用户状态的操作是否完成。
此外,合约中还可以包含指定的定时任务执行方法,将定时任务(executeTiming)交给侧链的每个节点的定时合约执行器来管理定时任务。定时合约执行器是侧链的原生模块,在满足合约定时规则下,轮询发起对合约指定定时任务执行方法的交易。例如,定时任务执行方法中可以包括定时任务按照时间执行、按照出块顺序执行交易,每次执行交易的次数。
在将主链的原始用户状态同步至侧链后,侧链由定时合约执行器便可以根据主链中定时任务中的定时规则,不间断的调用合约执行定时任务,并将任务结果共识上链。
具体来说,参考图4所示,可以包括以下步骤:
步骤S1211,由出块节点的定时合约执行器根据定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点;
步骤S1212,所述投票节点的定时合约执行器执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果并返回至所述出块节点;
步骤S1213,所述出块节点根据各所述投票节点返回的所述出块投票结果判断是否对所述定时任务结果出块上链。
在本公开的示例性实施方式中,当侧链轮到某个节点出块后,由该出块节点的定时合约执行器根据定时策略调用合约上对应的定时任务执行方法来执行定时交易。出块节点打包定时交易,并将待确认区块发送给投票节点。投票节点也由自己的定时合约执行器执行定时交易。定时合约执行器可以首先判断定时交易是否满足定时规则,在判断满足规则时,再根据合约中的定时方法执行定时交易。投票节点定时合约执行器执行定时任务结束后,将执行结果对应的哈希值加入到验签参数中,作为出块投票结果返回出块节点。以使出块节点收集投票节点的投票结果,在执行定时任务的投票节点大于一定比例后,便可以将定时任务出块上链,进而完成一轮定时任务。在下一轮定时任务中,其他出块节点也按照这个方式依次轮询执行定时任务并上链。
在步骤S13中,响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链。
在本公开的示例性实施方式中,上述的任务停止指令可以是根据所述定时任务中的定时规则生成的任务停止指令;例如,根据定时规则在预设的时间点结束定时任务,从而在到达该预设时间点时生成任务停止指令;或者,在定时任务执行预定次数后结束定时任务而生成任务停止指令。例如,预设的执行定时任务的次数为五百次,则在定时任务执行到达五百次时,生成任务停止指令。或者,也可以是在监听到停止定时任务的交易在主链上链时,发起停止定时任务的交易以生成任务停止指令。
在获取任务停止指令后,便可以通过转接桥调用主链的同步状态接口以发起将定时任务的执行结果返回至主链的同步交易,从而将执行定时任务后的用户状态同步至主链。
在步骤S14中,在监听到所述执行定时任务后的用户状态同步至所述主链后,结束所述定时任务。
在本公开的示例性实施方式中,参考图5所示,上述的步骤S14可以包括:
步骤S141,在监听到所述主链完成所述执行定时任务后的用户状态的同步后,发起主链状态同步完成的交易并上链;
步骤S142,发起针对所述主链的结束定时任务的交易,以使所述主链执行结束定时任务的交易。
步骤S143,发起确认结束定时任务的交易,以结束所述定时任务。
在本公开的一些示例性实施例中,侧链定时任务停止后,侧链通过转接桥发起对主链的执行定时任务后的用户状态同步交易,同步所有管理用户的状态,从而变更主链的所有用户状态,设置成与侧链一致的token数量,并对每个完成同步的用户进行标记。侧链通过监控主链交易和区块,在确定主链所有用户状态变更完成后,侧链发起主链状态同步完成(finish Sync Status)的交易,从而使主链结束定时任务。
进一步的,侧链在完成主链状态同步完成的交易后,侧链再次通过转接桥发起针对主链的结束定时任务的交易,使主链执行并彻底结束定时任务。侧链在监控到主链结束定时任务后,侧链发起确认完结定时任务(sure Finish Timing)的交易。上链成功后,在侧链结束定时任务,从而使定时任务彻底结束。其中,上述的交易在主链或侧链中上链是指将交易数据保存至对应的区块链中,以及形成新的区块。
在本公开的其他示例性实施方例中,对于主链和侧链来说,参考图6所示,上述的基于区块链的定时任务调度方法可以包括以下步骤:
步骤S21,基于对主链的一任务调度指令,为所述主链配置侧链以使所述侧链开启对所述主链的业务监听;
步骤S22,所述侧链在监听到定时任务在所述主链上链后,与所述主链执行原始用户状态同步,并在所述侧链执行所述定时任务;
步骤S23,所述侧链响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链以更新所述主链;
步骤S24,在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和所述侧链结束所述定时任务。
以下将结合附图和实施例对本发明示例性实施方式的基于区块链的定时任务调度方法中主链与侧链之间的交互进行更详细的描述。
在步骤S21中,基于对主链的一任务调度指令,为所述主链配置侧链以使所述侧链开启对所述主链的业务监听。
在本公开的示例性实施方式中,用户或区块链成员可以预先根据实际需求生成任务调度指令,该指令中可以包含为主链(主区块链)分配迁移并执行定时任务的指定的侧链,并在分配侧链后使侧链开始对该主链进行交易监听。并且,可以为主链分配一条或多条侧链,即主链与侧链可以是一对多的关系。上述的主链可以包括多个业务合约,即主链合约与侧链可以是多对多的关系,其中,主链中的一个合约对应一条执行其对应的定时任务的侧链。
举例而言,上述的主链的业务合约可以包含执行和同步定时任务的方法。例如,业务合约中可以包含提交定时任务、停止定时任务、导出状态、同步状态以及完结定时任务的方法。其中,提交定时任务的方法可以包括以下的一项或多项参数:
1)发起定时任务的合约地址(send Address),该地址必须是合约指定的区块链地址,确保定时任务由该地址发起,以防止其他账号滥用。
2)定时任务执行的方法(execute Method),该定时任务的执行方法必须是合约中存在的方法,用于侧链执行定时任务时对方法进行调用。定时方法是由用户业务所确定的方法;例如价值定时交换方法、数据定时触发方法等。
3)执行定时方法的参数(method Param),部分定时方法存在执行定时任务所需的配置参数,用于侧链在执行定时任务时将配置参数传入侧链,使侧链根据该配置参数执行定时任务。
4)定时任务关联用户的地址(relate Address),由于定时任务涉及到地址间相互的价值互换,必定涉及到不同的地址;因此需要指定关联用户的地址,便于锁定该指定的关联用户的地址,即不允许该指定地址在主链交易。若不指定关联用户的地址,则可以锁定该合约的所有地址,即所有地址不能在主链交易。通过锁定交易可以防止这些地址同时在侧链和主链变更,锁定的地址在主链不能变更,在侧链允许变更。
5)定时任务标识(time Id),可以用于唯一标记一次定时任务的ID。后续定时任务的其他处理过程也可以以此ID作为标识。
6)定时任务类型(type),例如,定时器类型包括按区块递增轮询,或者按时间轮询区块等。
7)定时任务策略(type Info),举例来说,若按块递增执行,则设置若干个区块执行预定次数的定时交易,区块的递增则是按照侧链的递增变更,比如每增加一个区块发起十笔交易。若按时间轮询,则设定预定时长后执行预定次数的定时交易,比如每10秒钟发起十笔交易。
8)定时任务停止条件(stop Require),即侧链执行定时任务的停止条件,例如,可以设置共执行预定次数的任务后停止定时任务,或者执行预定总时长的任务后停止定时任务等。若不设置停止条件,则可以通过后续发起停止定时任务的交易来停止侧链定时器。
具体来说,上述的侧链对主链进行业务监听可以包括:
步骤S211,所述侧链通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希;
步骤S212,根据所述交易哈希获取所述提交定时任务的交易在所述主链中的所在区块,并根据所述区块的区块头查询对应的哈希值;
步骤S213,根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
侧链通过对主链的交易(watch eth)和区块(watch block)监听结果共同确认主链定时任务的交易是否发生和上链。具体来说,侧链通过转接桥监听主链对应业务合约下的所有交易,来判断定时任务相关交易是否发生;侧链通过监听主链的所有已经上链的区块头,并加入到侧链自己的区块链中,以进行SPV证明(Simplified PaymentVerification,简单支付验证)。
在步骤S22中,所述侧链在监听到定时任务在所述主链上链后,与所述主链执行原始用户状态同步,并在所述侧链执行所述定时任务。
在本公开的示例性实施方式中,用户可以在主链提交定时任务,该定时任务可以指定主链合约的定时规则。并且,在主链提交定时任务时,还可以在主链对管理用户进行锁定,防止在主链做数据变更。
具体来说,上述的侧链监听到在所述主链提交的定时任务后,与所述主链执行原始用户状态同步,具体可以包括:
步骤S2211,所述侧链在监听到所述定时任务在所述主链上链后,在所述侧链发起确定所述定时任务在所述主链的状态的交易并上链;
步骤S2212,所述侧链在确认所述主链的定时任务后,发起同步主链原始用户状态的交易,以用于与所述主链同步原始用户状态;
步骤S2213,当所述侧链确认完成原始用户状态同步后,在所述侧链发起侧链状态同步完成的交易并上链。
侧链在监听到在主链提交的定时任务上链后,侧链还可以发起确定所述定时任务在所述主链的状态的交易并上链,从而对主链的定时交易进行确认。侧链在确定主链的定时任务后,便可以执行同步主链原始用户状态的交易并上链,从而将主链的原始用户状态同步至侧链。
具体的,侧链可以通过转接桥调用主链同步状态接口,来调用主链合约中的导出状态方法,以发起同步主链原始用户状态的交易,来导出主链所有关联用户地址的原始用户状态,并做好侧链的初始化。
同时,还可以将同步结果返回主链,使主链结束原始用户状态的同步操作。侧链还可以侧链通过转接桥监听主链的同步原始用户状态的交易,来确定同步原始用户状态的操作是否完成。
侧链在完成原始用户状态的同步后,侧链节点便可以根据定时任务中的定时规则调用合约执行定时任务,并将任务结果共识上链。具体来说,可以包括:
步骤S2221,所述侧链的出块节点的定时合约执行器调用定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点;
步骤S2222,所述投票节点的定时合约执行器调用定时合约执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果,并将所述出块投票结果返回至所述出块节点;
步骤S2223,所述出块节点根据所述投票节点返回的出块投票结果判断是否对所述定时任务结果出块上链。
在本公开的示例性实施方式中,侧链节点的定时合约执行器根据合约中定时策略发起对应的定时交易,来执行定时任务。合约内的状态变更必须是上述的指定的关联用户,若合约执行过程中涉及到关联用户的地址范围以外的用户的状态变更,则执行失败。
在步骤S23中,所述侧链响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链以更新所述主链。
在本公开的示例性实施方式中,上述的任务停止指令可以是侧链根据定时任务中的定时规则生成的任务停止指令,即根据主链合约中的完结定时任务的方法生成的任务停止指令。或者,在合约中未设置停止定时任务的方法时,也可以通过在主链提交结束定时任务的交易来停止定时任务。当侧链在监听到在所述主链发起的结束定时任务的交易时,便可以在所述侧链发起结束定时任务的交易并上链,从而结束定时任务。
具体来说,在侧链停止定时任务后,侧链便可以通过转接桥调用所述主链同步状态接口以发起将定时任务的执行结果返回至所述主链的同步交易,以将所述侧链的定时任务执行结果返回所述主链,以实现对所述主链用户状态的更新。即,侧链通过转接桥调用主链同步状态方法发起同步交易,将侧链定时任务的执行结果,即执行定时任务后的用户状态结果返回至主链,使主链变更所有用户状态,设置成与侧链一致的token数量,并对每个同步完成的用户进行标记。
上述主链同步状态接口的调用方必须是侧链管理的区块链账号地址,以防止侧链的定时任务执行结果迁移到其他主链或主链账号。传入参数还可以包括地址、token数量等。例如,用户在主链中原有10个token,而在侧链执行定时任务后,为20个token,则在主链设定用户为20个token。同时用户token设置成功后,还可以标记设置成功。并且,转接桥还可以不断监听主链的同步交易,来确定同步是否成功。
在步骤S24中,在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和所述侧链结束所述定时任务。
在本公开的示例性实施方式中,上述的步骤S24可以包括:
步骤S241,所述侧链在监听到所述主链的同步操作完成后,发起完成主链状态同步的交易并上链;
步骤S242,所述侧链发起针对所述主链的结束定时任务的交易,以使所述主链执行所述结束定时任务的交易,并在确认同步操作完成后将所述结束定时任务的交易在所述主链上链以结束所述定时任务。
步骤S243,所述侧链发起侧链确认结束定时任务的交易并上链,以用于在所述侧链结束所述定时任务。
侧链通过监控主链的交易和区块,确认将执行定时任务后的用户状态与主链同步完成后,发起完成主链状态同步的交易并上链。同时,还可以解除主链中各用户的锁定状态。
侧链还可以通过转接桥调用主链完结定时任务方法,发起对主链的结束定时任务的交易,彻底结束主链的定时任务。侧链监控到定时任务在主链彻底结束后,侧链发起确认结束定时任务的交易,在侧链上链成功后,定时任务在侧链彻底结束。从而在主链和侧链完成了一次定时任务的提交、同步、执行、停止、再同步,完结的过程。
综上所述,通过预先为主链分配对应的一个或多个侧链,使得不同合约的定时任务在提交到主链时,可以将定时任务转移到指定的侧链执行。通过利用侧链协作执行主链的定时任务,解决了单区块链定时交易量过多、效率和性能过低的问题;同时减少了主链的交易总量和主链的交易开销;同时侧链可以提供具体的定时任务任务的交易查询。
示例性装置
在介绍了本发明示例性实施方式的基于区块链的定时任务调度方法之后,接下来,参考图7对本发明示例性实施方式的基于区块链的定时任务调度装置进行描述。
参考图7所示,本发明示例性实施方式的一种基于区块链的定时任务调度装置10可以包括:业务监听模块101、第一任务执行模块102、第一任务停止模块103以及任务结束模块104。其中:
所述业务监听模块101可以用于响应于对主链的一任务调度指令,以开始对所述主链进行业务监听。
所述第一任务执行模块102可以用于在监听到定时任务在所述主链上链后,与所述主链进行原始用户状态同步,并在与所述主链同步完成后执行所述定时任务。
所述第一任务停止模块103可以用于响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链。
所述任务结束模块104可以用于在监听到所述执行定时任务后的用户状态与所述主链同步完成后,结束所述定时任务。
根据本公开的示例性实施例,所述业务监听模块101可以包括:交易哈希获取模块、区块头查询模块以及哈希值比对模块(图中未示出)。其中,
所述交易哈希获取模块可以用于通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希。
所述区块头查询模块可以用于根据所述交易哈希获取所述提交定时任务的交易在所述主链中所在区块,并根据所述区块的区块头查询对应的哈希值。
所述哈希值比对模块可以用于根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
根据本公开的示例性实施例,所述第一任务执行模块102可以包括:定时任务确认模块、用户状态同步模块和同步完成模块(图中未示出)。其中,
所述定时任务确认模块可以用于在监听到所述定时任务在所述主链上链后,发起确定所述定时任务在所述主链的状态的交易并上链。
所述用户状态同步模块可以用于在确定所述定时任务在所述主链的状态后,与所述主链进行原始用户状态同步。
所述同步完成模块可以用于在同步操作完成后,发起完成同步的交易并上链。
根据本公开的示例性实施例,所述用户状态同步模块可以包括:主链同步状态接口调用模块(图中未示出)。
所述主链同步状态接口调用模块可以用于通过转接桥调用主链同步状态接口,以发起与所述主链同步原始用户状态的交易,并将同步结果返回所述主链。
根据本公开的示例性实施例,所述装置还包括:同步结果确认模块(图中未示出)。
所述同步结果确认模块可以用于通过转接桥监听与所述主链同步原始用户状态的交易,以确定同步原始用户状态的操作是否完成。
根据本公开的示例性实施例,所述第一任务执行模块可以包括:定时任务执行模块(图中未示出)。
所述定时任务执行模块可以用于根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链。
根据本公开的示例性实施例,所述定时任务执行模块可以包括:交易发起模块、出块投票结果生成模块和定时任务出块模块(图中未示出)。其中,
所述交易发起模块可以用于由出块节点的定时合约执行器根据定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点。
所述出块投票结果生成模块可以用于所述投票节点的定时合约执行器执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果并返回至所述出块节点。
所述定时任务出块模块可以用于所述出块节点根据各所述投票节点返回的所述出块投票结果判断是否对所述定时任务结果出块上链。
根据本公开的示例性实施例,所述第一任务停止模块103可以包括:停止指令生成模块活和/或停止指令监听模块(图中未示出)。其中,
所述停止指令生成模块可以用于根据所述定时任务中的定时规则生成任务停止指令。
所述停止指令监听模块可以用于在监听到停止定时任务的交易在所述主链上链时,发起所述停止定时任务的交易以生成任务停止指令。
根据本公开的示例性实施例,所述第一任务停止模块还包括:任务结果返回模块(图中未示出)。
所述任务结果返回模块可以用于通过转接桥调用所述主链的同步状态接口以发起将所述定时任务的执行结果返回至所述主链的同步交易,以将执行定时任务后的用户状态同步至所述主链。
根据本公开的示例性实施例,所述任务结束模块包括:用户状态监听模块、主链定时任务结束模块(图中未示出)。其中,
所述用户状态监听模块可以用于在监听到所述主链完成所述执行定时任务后的用户状态的同步后,发起主链状态同步完成的交易并上链。
所述主链定时任务结束模块可以用于发起针对所述主链的结束定时任务的交易,以使所述主链执行结束定时任务的交易。
根据本公开的示例性实施例,所述装置还包括:定时任务结束模块(图中未示出)。
所述定时任务结束模块可以用于发起确认结束定时任务的交易,以结束所述定时任务。
参考图8所示,本发明示例性实施方式的另一种基于区块链的定时任务调度装置20可以包括:侧链分配模块201、第二任务执行模块202、第二任务停止模块203和任务完结模块204。其中,
所述侧链分配模块201可以用于基于对主链的一任务调度指令,为所述主链配置侧链以使所述侧链开启对所述主链的业务监听。
所述第二任务执行模块202可以用于所述侧链在监听到定时任务在所述主链上链后,与所述主链执行用户状态同步,以用于在所述侧链执行所述定时任务。
所述第二任务停止模块203可以用于所述侧链响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链以更新所述主链。
所述任务完结模块204可以用于在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和所述侧链结束所述定时任务。
根据本公开的示例性实施例,所述装置还包括:交易哈希获取模块、区块头查询模块和哈希值比对模块(图中未示出)。其中,
所述交易哈希获取模块可以用于所述侧链通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希。
所述区块头查询模块可以用于根据所述交易哈希获取所述提交定时任务的交易在所述主链中的所在区块,并根据所述区块的区块头查询对应的哈希值。
所述哈希值比对模块可以用于根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
根据本公开的示例性实施例,所述装置还包括:用户状态锁定模块(图中未示出)。
所述用户状态锁定模块可以用于在所述主链提交定时任务时,在所述主链锁定管理用户。
根据本公开的示例性实施例,所述第二任务执行模块包括:定时任务侧链确定模块、原始用户状态同步模块和原始用户状态侧链确认模块(图中未示出)。其中,
所述定时任务侧链确定模块可以用于所述侧链在监听到所述定时任务在所述主链上链后,在所述侧链发起确定所述定时任务在所述主链的状态的交易并上链。
所述原始用户状态同步模块可以用于所述侧链在确认所述主链的定时任务后,发起同步主链原始用户状态的交易,以用于与所述主链同步原始用户状态。
所述原始用户状态侧链确认模块可以用于当所述侧链确认完成原始用户状态同步后,在所述侧链发起侧链状态同步完成的交易并上链。
根据本公开的示例性实施例,所述原始用户状态同步模块包括:主链同步状态接口调用模块(图中未示出)。
所述主链同步状态接口调用模块可以用于所述侧链通过转接桥调用所述主链同步状态接口,以发起同步主链原始用户状态的交易,并将同步结果返回至所述主链。
根据本公开的示例性实施例,所述原始用户状态侧链确认模块包括:主链同步交易监听模块(图中未示出)。
所述主链同步交易监听模块可以用于所述侧链通过转接桥监听所述主链的同步原始用户状态的交易以确定所述同步原始用户状态的操作是否完成。
根据本公开的示例性实施例,所述第二任务执行模块包括:定时任务侧链执行模块(图中未示出)。
所述定时任务侧链执行模块可以用于所述侧链节点根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链。
根据本公开的示例性实施例,所述定时任务侧链执行模块可以包括:出块节点执行模块、投票节点执行模块和任务结果出块模块(图中未示出)。其中,
所述出块节点执行模块可以用于所述侧链的出块节点的定时合约执行器调用定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点。
所述投票节点执行模块可以用于所述投票节点的定时合约执行器调用定时合约执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果,并将所述出块投票结果返回至所述出块节点。
所述任务结果出块模块可以用于所述出块节点根据所述投票节点返回的出块投票结果判断是否对所述定时任务结果出块上链。
根据本公开的示例性实施例,所述第二任务停止模块包括:停止指令侧链生成模块和/或停止指令侧链生成模块(图中未示出)。其中,
所述停止指令侧链生成模块可以用于所述侧链根据所述定时任务中的定时规则生成任务停止指令。
所述停止指令侧链监听模块可以用于所述侧链在监听到在所述主链发起的结束定时任务的交易时,在所述侧链发起结束定时任务的交易并上链。
根据本公开的示例性实施例,所述第二任务停止模块还包括:任务结果返回模块(图中未示出)。
所述任务结果返回模块可以用于所述侧链通过转接桥调用所述主链同步状态接口以发起将定时任务的执行结果返回至所述主链的同步交易,以将所述侧链的定时任务执行结果返回所述主链,以实现对所述主链用户状态的更新。
根据本公开的示例性实施例,所述任务完结模块包括:主链同步完成模块和定时任务主链结束模块(图中未示出)。其中,
所述主链同步完成模块可以用于所述侧链在监听到所述主链的同步操作完成后,发起完成主链状态同步的交易并上链。
所述定时任务主链结束模块可以用于所述侧链发起针对所述主链的结束定时任务的交易,以使所述主链执行所述结束定时任务的交易,并在确认同步操作完成后将所述结束定时任务的交易在所述主链上链以结束所述定时任务。
根据本公开的示例性实施例,所述任务完结模块还包括:定时任务侧链结束模块(图中未示出)。
所述定时任务侧链结束模块可以用于所述侧链发起侧链确认结束定时任务的交易并上链,以用于在所述侧链结束所述定时任务。
根据本公开的示例性实施例,所述装置还包括:用户解锁模块(图中未示出)。
所述用户解锁模块可以用于所述主链对管理用户进行解锁。
由于本发明实施方式的基于区块链的定时任务调度装置装置的各个功能模块与上述基于区块链的定时任务调度装置方法发明实施方式中相同,因此在此不再赘述。
示例性存储介质
在介绍了本发明示例性实施方式的音频播放方法和装置、音频分享方法和装置之后,接下来,参考图9对本发明示例性实施方式的存储介质进行说明。
参考图9所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性电子设备
在介绍了本发明示例性实施方式的存储介质之后,接下来,参考图10对本发明示例性实施方式的电子设备进行说明。
图10显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述"示例性方法"部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图1中所示的步骤S11至步骤S14,或者所述处理单元810可以执行如图6中所示的步骤S21至步骤S24。
存储单元820可以包括易失性存储单元,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以包括数据总线、地址总线和控制总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口850进行。电子设备800还包括显示单元840,其连接到输入/输出(I/O)接口850,用于进行显示。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了音频播放装置和音频分享装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (28)
1.一种基于区块链的定时任务调度方法,其特征在于,包括:
基于对主链的一任务调度指令,为所述主链配置侧链以使所述侧链开启对所述主链的业务监听;
所述侧链在监听到定时任务在所述主链上链后,执行同步主链原始用户状态的交易并上链以实现与所述主链执行原始用户状态同步,并在所述侧链执行所述定时任务;
所述侧链响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链以更新所述主链;
在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和所述侧链结束所述定时任务。
2.根据权利要求1所述的方法,其特征在于,所述侧链开启对所述主链的业务监听包括:
所述侧链通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希;
根据所述交易哈希获取所述提交定时任务的交易在所述主链中的所在区块,并根据所述区块的区块头查询对应的哈希值;
根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
3.根据权利要求1所述的方法,其特征在于,在所述主链提交定时任务时,所述方法还包括:
在所述主链锁定管理用户。
4.根据权利要求1所述的方法,其特征在于,所述侧链监听到在所述主链提交的定时任务后,执行同步主链原始用户状态的交易并上链以实现与所述主链执行原始用户状态同步包括:
所述侧链在监听到所述定时任务在所述主链上链后,在所述侧链发起确定所述定时任务在所述主链的状态的交易并上链;
所述侧链在确认所述主链的定时任务后,发起同步主链原始用户状态的交易,以用于与所述主链同步原始用户状态;
当所述侧链确认完成原始用户状态同步后,在所述侧链发起侧链状态同步完成的交易并上链。
5.根据权利要求4所述的方法,其特征在于,所述侧链发起同步主链原始用户状态的交易以用于与所述主链同步原始用户状态包括:
所述侧链通过转接桥调用所述主链同步状态接口,以发起同步主链原始用户状态的交易,并将同步结果返回至所述主链。
6.根据权利要求4所述的方法,其特征在于,所述侧链确认完成原始用户状态同步的方法包括:
所述侧链通过转接桥监听所述主链的同步原始用户状态的交易以确定所述同步原始用户状态的操作是否完成。
7.根据权利要求1所述的方法,其特征在于,所述侧链所述执行所述定时任务包括:
所述侧链节点根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链。
8.根据权利要求7所述的方法,其特征在于,所述侧链节点根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链包括:
所述侧链的出块节点的定时合约执行器调用定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点;
所述投票节点的定时合约执行器调用定时合约执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果,并将所述出块投票结果返回至所述出块节点;
所述出块节点根据所述投票节点返回的出块投票结果判断是否对所述定时任务结果出块上链。
9.根据权利要求1所述的方法,其特征在于,所述侧链响应于一任务停止指令包括:
所述侧链根据所述定时任务中的定时规则生成任务停止指令;或者
所述侧链在监听到在所述主链发起的结束定时任务的交易时,在所述侧链发起结束定时任务的交易并上链。
10.根据权利要求1所述的方法,其特征在于,所述与所述主链同步用户状态以更新所述主链包括:
所述侧链通过转接桥调用所述主链同步状态接口以发起将定时任务的执行结果返回至所述主链的同步交易,以将所述侧链的定时任务执行结果返回所述主链,以实现对所述主链用户状态的更新。
11.根据权利要求1所述的方法,其特征在于,所述在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和侧链结束所述定时任务包括:
所述侧链在监听到所述主链的同步操作完成后,发起完成主链状态同步的交易并上链;
所述侧链发起针对所述主链的结束定时任务的交易,以使所述主链执行所述结束定时任务的交易,并在确认同步操作完成后将所述结束定时任务的交易在所述主链上链以结束所述定时任务。
12.根据权利要求11所述的方法,其特征在于,所述侧链在监听到所述主链的结束定时任务的交易在所述主链上链后,所述方法还包括:
所述侧链发起侧链确认结束定时任务的交易并上链,以用于在所述侧链结束所述定时任务。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述主链对管理用户进行解锁。
14.一种基于区块链的定时任务调度装置,其特征在于,包括:
侧链分配模块,用于基于对主链的一任务调度指令,为所述主链配置侧链以使所述侧链开启对所述主链的业务监听;
第二任务执行模块,用于所述侧链在监听到定时任务在所述主链上链后,执行同步主链原始用户状态的交易并上链以实现与所述主链执行用户状态同步,以用于在所述侧链执行所述定时任务;
第二任务停止模块,用于所述侧链响应于一任务停止指令,将执行定时任务后的用户状态同步至所述主链以更新所述主链;
任务完结模块,用于在所述侧链监听到所述主链将执行定时任务后的用户状态同步完成后,在所述主链和所述侧链结束所述定时任务。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
交易哈希获取模块,用于所述侧链通过转接桥监听所述主链指定地址的提交定时任务的交易以获取其交易哈希;
区块头查询模块,用于根据所述交易哈希获取所述提交定时任务的交易在所述主链中的所在区块,并根据所述区块的区块头查询对应的哈希值;
哈希值比对模块,用于根据所述哈希值计算默克尔树哈希值,并将所述默克尔树哈希值与所述主链中所述区块头中的原始默克尔树哈希值进行比较以判断所述提交定时任务的交易是否在所述主链中上链。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
用户状态锁定模块,用于在所述主链提交定时任务时,在所述主链锁定管理用户。
17.根据权利要求14所述的装置,其特征在于,所述第二任务执行模块包括:
定时任务侧链确定模块,用于所述侧链在监听到所述定时任务在所述主链上链后,在所述侧链发起确定所述定时任务在所述主链的状态的交易并上链;
原始用户状态同步模块,用于所述侧链在确认所述主链的定时任务后,发起同步主链原始用户状态的交易,以用于与所述主链同步原始用户状态;
原始用户状态侧链确认模块,用于当所述侧链确认完成原始用户状态同步后,在所述侧链发起侧链状态同步完成的交易并上链。
18.根据权利要求17所述的装置,其特征在于,所述原始用户状态同步模块包括:
主链同步状态接口调用模块,用于所述侧链通过转接桥调用所述主链同步状态接口,以发起同步主链原始用户状态的交易,并将同步结果返回至所述主链。
19.根据权利要求17所述的装置,其特征在于,所述原始用户状态侧链确认模块包括:
主链同步交易监听模块,用于所述侧链通过转接桥监听所述主链的同步原始用户状态的交易以确定所述同步原始用户状态的操作是否完成。
20.根据权利要求14所述的装置,其特征在于,所述第二任务执行模块包括:
定时任务侧链执行模块,用于所述侧链节点根据所述定时任务中的定时规则调用合约执行所述定时任务,并将任务结果共识上链。
21.根据权利要求20所述的装置,其特征在于,所述定时任务侧链执行模块包括:
出块节点执行模块,用于所述侧链的出块节点的定时合约执行器调用定时合约发起定时交易,并将包含所述定时交易的待确认区块发送至各投票节点;
投票节点执行模块,用于所述投票节点的定时合约执行器调用定时合约执行所述定时交易,根据所述定时交易的执行结果生成出块投票结果,并将所述出块投票结果返回至所述出块节点;
任务结果出块模块,用于所述出块节点根据所述投票节点返回的出块投票结果判断是否对所述定时任务结果出块上链。
22.根据权利要求14所述的装置,其特征在于,所述第二任务停止模块包括:
停止指令侧链生成模块,用于所述侧链根据所述定时任务中的定时规则生成任务停止指令;和/或
停止指令侧链监听模块,用于所述侧链在监听到在所述主链发起的结束定时任务的交易时,在所述侧链发起结束定时任务的交易并上链。
23.根据权利要求14所述的装置,其特征在于,所述第二任务停止模块还包括:
任务结果返回模块,用于所述侧链通过转接桥调用所述主链同步状态接口以发起将定时任务的执行结果返回至所述主链的同步交易,以将所述侧链的定时任务执行结果返回所述主链,以实现对所述主链用户状态的更新。
24.根据权利要求14所述的装置,其特征在于,所述任务完结模块包括:
主链同步完成模块,用于所述侧链在监听到所述主链的同步操作完成后,发起完成主链状态同步的交易并上链;
定时任务主链结束模块,用于所述侧链发起针对所述主链的结束定时任务的交易,以使所述主链执行所述结束定时任务的交易,并在确认同步操作完成后将所述结束定时任务的交易在所述主链上链以结束所述定时任务。
25.根据权利要求24所述的装置,其特征在于,所述任务完结模块还包括:
定时任务侧链结束模块,用于所述侧链发起侧链确认结束定时任务的交易并上链,以用于在所述侧链结束所述定时任务。
26.根据权利要求25所述的装置,其特征在于,所述装置还包括:
用户解锁模块,用于所述主链对管理用户进行解锁。
27.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~13中任一项所述的基于区块链的定时任务调度方法。
28.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~13中任一项所述的基于区块链的定时任务调度方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910322758.XA CN110046166B (zh) | 2019-04-22 | 2019-04-22 | 基于区块链的定时任务调度方法及装置 |
CN202110327969.XA CN112988751B (zh) | 2019-04-22 | 2019-04-22 | 基于区块链的定时任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910322758.XA CN110046166B (zh) | 2019-04-22 | 2019-04-22 | 基于区块链的定时任务调度方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110327969.XA Division CN112988751B (zh) | 2019-04-22 | 2019-04-22 | 基于区块链的定时任务调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110046166A CN110046166A (zh) | 2019-07-23 |
CN110046166B true CN110046166B (zh) | 2021-06-18 |
Family
ID=67278277
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110327969.XA Active CN112988751B (zh) | 2019-04-22 | 2019-04-22 | 基于区块链的定时任务调度方法及装置 |
CN201910322758.XA Active CN110046166B (zh) | 2019-04-22 | 2019-04-22 | 基于区块链的定时任务调度方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110327969.XA Active CN112988751B (zh) | 2019-04-22 | 2019-04-22 | 基于区块链的定时任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN112988751B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143053A (zh) * | 2019-11-15 | 2020-05-12 | 杭州涂鸦信息技术有限公司 | 一种定时任务的调度方法、服务器以及存储装置 |
CN111369144B (zh) * | 2020-03-04 | 2022-02-18 | 浙江大学 | 一种基于雾计算与区块链的智慧能源调度系统及方法 |
CN113672358B (zh) * | 2020-05-15 | 2024-10-18 | 北京沃东天骏信息技术有限公司 | 定时任务处理方法及装置、系统、电子设备和存储介质 |
CN112801795B (zh) * | 2021-03-08 | 2024-04-02 | 中国工商银行股份有限公司 | 区块链多链管理方法、装置、电子设备及可读存储介质 |
CN115396197A (zh) * | 2022-08-25 | 2022-11-25 | 福建中锐网络股份有限公司 | 一种碳资产的token化系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701131B1 (ko) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템 |
CN106528775A (zh) * | 2016-10-28 | 2017-03-22 | 山东明和软件有限公司 | 支持逻辑多链的私有区块链运行支撑系统及其工作方法 |
CN106874087A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种区块链智能合约定时任务调度方法 |
CN107767267A (zh) * | 2017-10-20 | 2018-03-06 | 上海策赢网络科技有限公司 | 一种虚拟资源的转移方法和装置 |
CN107886388A (zh) * | 2017-09-22 | 2018-04-06 | 杭州云象网络技术有限公司 | 基于联盟链实现多中心化的交通出行信用与安全服务平台及其运行方法 |
CN108139964A (zh) * | 2017-12-06 | 2018-06-08 | 深圳达闼科技控股有限公司 | 云服务配置方法、装置、存储介质及云服务系统 |
CN109189751A (zh) * | 2018-09-18 | 2019-01-11 | 平安科技(深圳)有限公司 | 基于区块链的数据同步方法及终端设备 |
CN109271245A (zh) * | 2018-09-13 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 一种区块处理任务的控制方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017161417A1 (en) * | 2016-03-21 | 2017-09-28 | National Ict Australia Limited | Business process execution on a blockchain platform |
US10498541B2 (en) * | 2017-02-06 | 2019-12-03 | ShocCard, Inc. | Electronic identification verification methods and systems |
KR102303427B1 (ko) * | 2017-04-05 | 2021-09-23 | 삼성에스디에스 주식회사 | 블록체인 기반 거래에 대한 확정 신뢰도 산출 방법 및 그 방법을 수행하는 블록체인 네트워크 모니터링 시스템 |
GB201709188D0 (en) * | 2017-06-09 | 2017-07-26 | Nchain Holdings Ltd | Computer-Implemented system and method |
CN109558411A (zh) * | 2017-09-26 | 2019-04-02 | 浙江华信区块链科技服务有限公司 | 一种基于区块链数据的下链同步方法及装置 |
US10958418B2 (en) * | 2017-10-10 | 2021-03-23 | Chromata Corporation | System and method for a blockchain network with heterogeneous privacy |
CN108074081A (zh) * | 2017-12-08 | 2018-05-25 | 上海策赢网络科技有限公司 | 一种虚拟资源的转移方法和装置 |
CN109361661B (zh) * | 2018-10-08 | 2020-07-10 | 莆田市烛火信息技术有限公司 | 一种依附相关链算力的区块链的共识装置 |
CN109513207A (zh) * | 2018-11-12 | 2019-03-26 | 网易(杭州)网络有限公司 | 游戏资产的处理方法、装置、存储介质、处理器及服务器 |
-
2019
- 2019-04-22 CN CN202110327969.XA patent/CN112988751B/zh active Active
- 2019-04-22 CN CN201910322758.XA patent/CN110046166B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701131B1 (ko) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템 |
CN106528775A (zh) * | 2016-10-28 | 2017-03-22 | 山东明和软件有限公司 | 支持逻辑多链的私有区块链运行支撑系统及其工作方法 |
CN106874087A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种区块链智能合约定时任务调度方法 |
CN107886388A (zh) * | 2017-09-22 | 2018-04-06 | 杭州云象网络技术有限公司 | 基于联盟链实现多中心化的交通出行信用与安全服务平台及其运行方法 |
CN107767267A (zh) * | 2017-10-20 | 2018-03-06 | 上海策赢网络科技有限公司 | 一种虚拟资源的转移方法和装置 |
CN108139964A (zh) * | 2017-12-06 | 2018-06-08 | 深圳达闼科技控股有限公司 | 云服务配置方法、装置、存储介质及云服务系统 |
CN109271245A (zh) * | 2018-09-13 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 一种区块处理任务的控制方法和装置 |
CN109189751A (zh) * | 2018-09-18 | 2019-01-11 | 平安科技(深圳)有限公司 | 基于区块链的数据同步方法及终端设备 |
Non-Patent Citations (4)
Title |
---|
Research on Cross-Chain Technology Based on Sidechain and Hash-Locking;Liping Deng等;《International Conference on Edge Computing》;20180616;第144-151页 * |
Sidechains: Decoupled Consensus Between Chains;Alberto Garoffolo等;《https://arxiv.org/abs/1812.05441》;20181017;第1-20页 * |
以太坊上的侧链技术Loom(一);赵小峰的思想迭代器;《https://www.jianshu.com/p/35039dc96bbb?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation》;20180513;全文 * |
发布区块链标准应用模型及应用部署技术研究;白杰等;《信息技术与网络安全》;20180914;第13-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112988751B (zh) | 2024-08-23 |
CN112988751A (zh) | 2021-06-18 |
CN110046166A (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046166B (zh) | 基于区块链的定时任务调度方法及装置 | |
CN107301536B (zh) | 资源转移方法及装置 | |
CN105573828B (zh) | 一种操作处理方法及装置 | |
CN108959621B (zh) | 一种区块链网络的实现方法、装置、设备及存储介质 | |
CN110413304A (zh) | 基于区块链网络的智能合约热升级方法及装置 | |
CN109361740A (zh) | 一种区块链的区块生成方法、装置、设备和介质 | |
CN105359147A (zh) | 在线数据库迁移 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN111291060A (zh) | 一种管理区块链节点的方法、装置及计算机可读介质 | |
CN103703464A (zh) | 用于分布式配置管理的方法及装置 | |
WO2023045617A1 (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
CN113064744A (zh) | 任务处理方法、装置、计算机可读介质及电子设备 | |
CN110210845B (zh) | 用于区块链数据迁移的方法、装置、介质和计算设备 | |
CN109508295A (zh) | 区块链共识算法测试方法、装置、计算装置和存储介质 | |
CN111492355A (zh) | 用于控制和/或监控装置的方法和控制系统 | |
KR101453671B1 (ko) | 전력계통 감시 및 제어 시스템을 위한 통합 인터페이스 시스템 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
CN110839071A (zh) | 一种基于区块链的信息存储方法、设备及存储介质 | |
CN109885612A (zh) | 区块链智能合约的同步生效方法及装置 | |
CN112132684A (zh) | 一种基于预言机锁组的结算方法及系统 | |
CN109947844B (zh) | 一种基于医疗区块链的医疗数据管理系统 | |
CN111327447A (zh) | 一种分布式系统、仲裁方法、节点设备及存储介质 | |
CN115686813A (zh) | 一种资源调度方法、装置、电子设备和存储介质 | |
CN118337786A (zh) | 云边协同下基于Kubernetes的服务容器调度方法及系统 | |
CN117850968A (zh) | 一种指定numa节点实现虚拟机迁移的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |