欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種區(qū)塊鏈智能合約定時(shí)任務(wù)調(diào)度方法與流程

文檔序號(hào):12719089閱讀:938來(lái)源:國(guó)知局
一種區(qū)塊鏈智能合約定時(shí)任務(wù)調(diào)度方法與流程

本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,具體來(lái)說(shuō)是一種區(qū)塊鏈智能合約定時(shí)任務(wù)調(diào)度方法。



背景技術(shù):

區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)區(qū)塊以順序相連的方式組合成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),其是以密碼學(xué)方式保證的不可篡改和不可偽造,實(shí)現(xiàn)去中心化的分布式賬本。在區(qū)塊鏈技術(shù)領(lǐng)域,由于其分布式、共享數(shù)據(jù)區(qū)塊、密碼學(xué)加密、及其他安全性策略等特點(diǎn),智能合約層面只提供了有限的程序定制功能,在某些業(yè)務(wù)場(chǎng)景下,如數(shù)據(jù)定期處理、價(jià)值定期交換、委托代付等業(yè)務(wù)處理上,區(qū)塊鏈技術(shù)應(yīng)用遇上到很大的困難。

為了解決這些困難,當(dāng)前主流的解決方案是設(shè)計(jì)一個(gè)中心化的應(yīng)用程序,通過(guò)輪循調(diào)用智能合約掃描鏈上的數(shù)據(jù),并對(duì)符合條件的數(shù)據(jù)進(jìn)行處理,該方案不僅時(shí)間延時(shí)較大,不能實(shí)現(xiàn)精準(zhǔn)的時(shí)間控制,并且還增加了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度,加大了開發(fā)成本。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明是針對(duì)上述的區(qū)塊鏈中任務(wù)調(diào)度的難點(diǎn),提出了一種能解決周期性及指定時(shí)間點(diǎn)執(zhí)行智能合約的區(qū)塊鏈智能合約定時(shí)任務(wù)調(diào)度方法。

為了解決上述技術(shù)問(wèn)題,本發(fā)明采用了如下的技術(shù)方案:

一種區(qū)塊鏈智能合約定時(shí)任務(wù)調(diào)度方法,所述的調(diào)度方法包括以下步驟:

A1.外部請(qǐng)求在區(qū)域鏈中添加定時(shí)任務(wù),配置定時(shí)任務(wù)的執(zhí)行要求,并將定時(shí)任務(wù)提交至區(qū)塊鏈處理節(jié)點(diǎn);

A2.對(duì)定時(shí)任務(wù)進(jìn)行分類處理,并添加到任務(wù)處理隊(duì)列;

A3.根據(jù)區(qū)塊鏈的共識(shí)機(jī)制選出區(qū)塊鏈的共識(shí)節(jié)點(diǎn),共識(shí)節(jié)點(diǎn)獲取共識(shí)權(quán)限;

A4.當(dāng)定時(shí)任務(wù)達(dá)到執(zhí)行要求時(shí),共識(shí)節(jié)點(diǎn)對(duì)定時(shí)任務(wù)進(jìn)行任務(wù)處理;

A5.任務(wù)處理完成后將定時(shí)任務(wù)的狀態(tài)同步到其他節(jié)點(diǎn),其他節(jié)點(diǎn)獲取共識(shí)權(quán)限后根據(jù)定時(shí)任務(wù)的狀態(tài)對(duì)未執(zhí)行的定時(shí)任務(wù)進(jìn)行下一步的任務(wù)處理。

進(jìn)一步地,在所述的定時(shí)任務(wù)的調(diào)度過(guò)程中,定時(shí)任務(wù)及任務(wù)處理隊(duì)列打包到區(qū)塊中,使得定時(shí)任務(wù)、任務(wù)處理隊(duì)列及定時(shí)任務(wù)的狀態(tài)能實(shí)時(shí)同步到區(qū)域鏈中的各個(gè)節(jié)點(diǎn)。

進(jìn)一步地,所述的任務(wù)處理的具體步驟為:

B1.刪除過(guò)期的定時(shí)任務(wù):對(duì)指定時(shí)間已經(jīng)執(zhí)行過(guò)的定時(shí)任務(wù)或指定時(shí)間已過(guò)的定時(shí)任務(wù)進(jìn)行清除;

B2.提取可用的定時(shí)任務(wù):當(dāng)定時(shí)任務(wù)達(dá)到執(zhí)行要求,且該定時(shí)任務(wù)在其他節(jié)點(diǎn)沒有被執(zhí)行過(guò),即從任務(wù)處理隊(duì)列中提取定時(shí)任務(wù);

B3.執(zhí)行定時(shí)任務(wù):獲取可用的定時(shí)任務(wù)后,對(duì)智能合約的地址及接口的合法性進(jìn)行校驗(yàn),填充執(zhí)行參數(shù),執(zhí)行定時(shí)任務(wù)指定的智能合約的函數(shù);

B4.更新定時(shí)任務(wù):根據(jù)不同定時(shí)任務(wù)執(zhí)行完后的狀態(tài)更新定時(shí)任務(wù)。

進(jìn)一步地,所述的定時(shí)任務(wù)添加后,按照定時(shí)任務(wù)的時(shí)間戳大小進(jìn)行排序,并按照定時(shí)任務(wù)的時(shí)間、調(diào)用類型、周期級(jí)別進(jìn)行分類,生成不同優(yōu)先級(jí)的任務(wù)處理隊(duì)列。

進(jìn)一步地,所述的定時(shí)任務(wù)提交到任務(wù)處理隊(duì)列后,任務(wù)處理隊(duì)列信息存儲(chǔ)至當(dāng)前區(qū)塊所在節(jié)點(diǎn),定時(shí)任務(wù)及任務(wù)處理隊(duì)列信息打包到同步區(qū)塊中,配合區(qū)塊鏈本身的塊同步機(jī)制廣播到區(qū)域鏈中的各節(jié)點(diǎn)。

進(jìn)一步地,當(dāng)節(jié)點(diǎn)選為共識(shí)節(jié)點(diǎn)時(shí),共識(shí)節(jié)點(diǎn)的事件監(jiān)聽器負(fù)責(zé)對(duì)任務(wù)處理隊(duì)列中的定時(shí)任務(wù)進(jìn)行任務(wù)處理,對(duì)定時(shí)任務(wù)進(jìn)行事件監(jiān)測(cè)及超時(shí)監(jiān)測(cè)。

進(jìn)一步地,在更新定時(shí)任務(wù)時(shí):對(duì)于周期性的定時(shí)任務(wù),需設(shè)置定時(shí)任務(wù)的執(zhí)行狀態(tài)和執(zhí)行時(shí)間;對(duì)于有次數(shù)要求的定時(shí)任務(wù),需減少定時(shí)任務(wù)的次數(shù),并更新定時(shí)任務(wù)在任務(wù)處理隊(duì)列中的任務(wù)信息;對(duì)于一次性的定時(shí)任務(wù),直接刪除定時(shí)任務(wù)。

進(jìn)一步地,所述的共識(shí)節(jié)點(diǎn)根據(jù)區(qū)塊鏈的共識(shí)機(jī)制選出,所述的共識(shí)機(jī)制為Pow或Pos或DPos或Pool或Raft。

在上述的一種區(qū)塊鏈智能合約定時(shí)任務(wù)調(diào)度方法中,所述的定時(shí)任務(wù)配置為每分鐘或每小時(shí)或每天或每周或每月或每年的指定周期或指定時(shí)間點(diǎn)或指定時(shí)間間隔或指定次數(shù)的執(zhí)行要求。

本發(fā)明由于采用以上技術(shù)方案,使之與現(xiàn)有技術(shù)相比,具有以下的優(yōu)點(diǎn)和積極效果:

1.定時(shí)任務(wù)可配置為周期執(zhí)行或更精確地某個(gè)時(shí)刻處理,還可配置任務(wù)一定時(shí)間間隔執(zhí)行,或指定執(zhí)行次數(shù),定時(shí)任務(wù)調(diào)度的靈活度、精確度更高,能實(shí)現(xiàn)精準(zhǔn)的時(shí)間控制;

2.定時(shí)任務(wù)添加后,可按照定時(shí)任務(wù)的時(shí)間、調(diào)用類型、周期級(jí)別進(jìn)行排序分類,從而生成不同優(yōu)先級(jí)的任務(wù)處理隊(duì)列,提高了后續(xù)任務(wù)處理的效率,實(shí)現(xiàn)了準(zhǔn)確、高效的任務(wù)處理;

3.定時(shí)任務(wù)及任務(wù)處理隊(duì)列、定時(shí)任務(wù)狀態(tài)能實(shí)時(shí)同步到其他節(jié)點(diǎn)上,保證各個(gè)節(jié)點(diǎn)上都有機(jī)會(huì)觸發(fā)定時(shí)任務(wù),使得所有節(jié)點(diǎn)都能平等地具備定時(shí)任務(wù)的任務(wù)處理能力;

4.定時(shí)任務(wù)能夠在任意一個(gè)節(jié)點(diǎn)中執(zhí)行,不限定于定時(shí)任務(wù)的發(fā)布節(jié)點(diǎn),在區(qū)塊鏈各個(gè)節(jié)點(diǎn)相互競(jìng)爭(zhēng)獲取共識(shí)權(quán)限后即可對(duì)定時(shí)任務(wù)進(jìn)行處理,各節(jié)點(diǎn)之間沒有優(yōu)先級(jí)別區(qū)分,使得節(jié)點(diǎn)處理定時(shí)任務(wù)時(shí)具有任意性的特點(diǎn);

5.定時(shí)任務(wù)的一次任務(wù)處理只能在區(qū)塊鏈的某一個(gè)節(jié)點(diǎn)中,不能一次處理任務(wù)對(duì)應(yīng)的一個(gè)時(shí)間點(diǎn)或一個(gè)時(shí)間周期內(nèi)處理多次,定時(shí)任務(wù)處理過(guò)程具有排他性;

6.能對(duì)定時(shí)任務(wù)進(jìn)行添加、刪除、提取、執(zhí)行等任務(wù)處理,定時(shí)任務(wù)具有執(zhí)行狀態(tài),在每次定時(shí)任務(wù)完成后,針對(duì)不同類型的定時(shí)任務(wù)更新定時(shí)任務(wù)的狀態(tài),使得能夠通過(guò)定時(shí)任務(wù)的狀態(tài)確定是否定時(shí)任務(wù)處理過(guò)。

附圖說(shuō)明

圖1為本發(fā)明的調(diào)度流程示意圖;

圖2為本發(fā)明中的定時(shí)任務(wù)添加、分類、同步的過(guò)程示意圖;

圖3為本發(fā)明中任務(wù)處理的流程示意圖。

具體實(shí)施方式

以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明提出的技術(shù)方案進(jìn)一步詳細(xì)說(shuō)明。根據(jù)下面說(shuō)明和權(quán)利要求書,本發(fā)明的優(yōu)點(diǎn)和特征將更清楚。需說(shuō)明的是,附圖均采用非常簡(jiǎn)化的形式且均使用非精準(zhǔn)的比率,僅用于方便、明晰地輔助說(shuō)明本發(fā)明實(shí)施例的目的。

本發(fā)明是針對(duì)區(qū)域鏈的定時(shí)業(yè)務(wù)調(diào)度問(wèn)題,如多樣化的應(yīng)用場(chǎng)景下的代付、資產(chǎn)委托、定期核算等業(yè)務(wù),在當(dāng)前主流的區(qū)塊鏈技術(shù)中,缺乏一種定期、定時(shí)觸發(fā)智能合約的任務(wù)調(diào)度方法,因此,本發(fā)明設(shè)計(jì)了區(qū)塊鏈智能合約定時(shí)任務(wù)調(diào)度方法,解決了區(qū)塊鏈智能合約定期、定時(shí)觸發(fā)的問(wèn)題。在本發(fā)明中對(duì)外以智能合約的形式提供管理接口,同時(shí)提供完善的時(shí)間調(diào)度策略,定時(shí)任務(wù)可配置為周期執(zhí)行或更精確地某個(gè)時(shí)刻處理,還可配置任務(wù)一定時(shí)間間隔執(zhí)行,或指定執(zhí)行次數(shù),定時(shí)任務(wù)調(diào)度的靈活度、精確度更高,能實(shí)現(xiàn)精準(zhǔn)的時(shí)間控制,現(xiàn)配合說(shuō)明書附圖對(duì)本發(fā)明的工作流程進(jìn)行進(jìn)一步陳述。

實(shí)施例1

參見圖1,本調(diào)度方法主要能實(shí)現(xiàn):外部請(qǐng)求通過(guò)使用智能合約管理接口添加定時(shí)任務(wù),定時(shí)任務(wù)可配置為每分鐘或每小時(shí)或每天或每周或每月或每年的指定周期或指定時(shí)間點(diǎn)或指定時(shí)間間隔或指定次數(shù)的執(zhí)行要求;任務(wù)進(jìn)行分類處理,并放置到定時(shí)任務(wù)處理隊(duì)列;在調(diào)度的過(guò)程中,節(jié)點(diǎn)將定時(shí)任務(wù)打包在新的區(qū)塊中,通過(guò)區(qū)塊節(jié)點(diǎn)之間的同步機(jī)制廣播到區(qū)塊鏈其它節(jié)點(diǎn),使得所有節(jié)點(diǎn)都能平等地具備定時(shí)任務(wù)的任務(wù)處理能力;事件監(jiān)聽器執(zhí)行事件監(jiān)測(cè)、超時(shí)監(jiān)測(cè),并對(duì)符合條件的任務(wù)進(jìn)行處理,然后更新任務(wù)狀態(tài),具體包括以下步驟:

1.外部請(qǐng)求在區(qū)域鏈中添加定時(shí)任務(wù),配置定時(shí)任務(wù)的執(zhí)行要求,并將定時(shí)任務(wù)提交至區(qū)塊鏈處理節(jié)點(diǎn);

2.對(duì)定時(shí)任務(wù)進(jìn)行分類處理,并生成任務(wù)處理隊(duì)列;

3.根據(jù)區(qū)塊鏈的共識(shí)機(jī)制選出區(qū)塊鏈的共識(shí)節(jié)點(diǎn),共識(shí)節(jié)點(diǎn)獲取共識(shí)權(quán)限;

4.當(dāng)定時(shí)任務(wù)達(dá)到執(zhí)行要求時(shí),即滿足觸發(fā)提交條件時(shí),共識(shí)節(jié)點(diǎn)對(duì)定時(shí)任務(wù)進(jìn)行任務(wù)處理;

5.任務(wù)處理完成后將定時(shí)任務(wù)的狀態(tài)同步到其他節(jié)點(diǎn),其他節(jié)點(diǎn)獲取共識(shí)權(quán)限后根據(jù)定時(shí)任務(wù)的狀態(tài),對(duì)未執(zhí)行的定時(shí)任務(wù)進(jìn)行下一步的任務(wù)處理。

現(xiàn)針對(duì)不同的處理步驟進(jìn)行具體陳述,本發(fā)明中的調(diào)度方法大致分為任務(wù)提交過(guò)程及任務(wù)調(diào)度處理過(guò)程:

任務(wù)提交過(guò)程參見圖2,其主要包括添加定時(shí)任務(wù)、對(duì)定時(shí)任務(wù)進(jìn)行分類及對(duì)定時(shí)任務(wù)進(jìn)行同步。

添加定時(shí)任務(wù):外部調(diào)用請(qǐng)求通過(guò)管理接口在區(qū)域鏈中添加定時(shí)任務(wù),在區(qū)域鏈中,管理接口多以智能合約形式提供,以便外部能通過(guò)在智能合約中調(diào)用并使用這些管理接口,一般由類似solidity內(nèi)置函數(shù)提供,之后將定時(shí)任務(wù)提交至區(qū)塊鏈處理節(jié)點(diǎn),并配置定時(shí)任務(wù)的執(zhí)行要求,如每分鐘對(duì)任務(wù)處理兩次等。

對(duì)定時(shí)任務(wù)進(jìn)行分類:定時(shí)任務(wù)添加進(jìn)來(lái)后,按定時(shí)任務(wù)的時(shí)間戳大小進(jìn)行排序,并且按照定時(shí)任務(wù)的調(diào)用類型、周期級(jí)別進(jìn)行任務(wù)分類,從而生成不同優(yōu)先級(jí)的任務(wù)處理隊(duì)列,保證調(diào)取定時(shí)任務(wù)的過(guò)程能高效執(zhí)行。

定時(shí)任務(wù)同步:區(qū)塊鏈作為一個(gè)P2P網(wǎng)絡(luò)構(gòu)成的系統(tǒng),此時(shí)區(qū)塊鏈的其他節(jié)點(diǎn)不包含任務(wù)處理隊(duì)列,不具備智能任務(wù)執(zhí)行基本條件,為了使得所有的節(jié)點(diǎn)都能夠平等地具備定時(shí)任務(wù)的執(zhí)行能力,任務(wù)處理隊(duì)列信息需要進(jìn)行同步,單個(gè)處理節(jié)點(diǎn)需將定時(shí)任務(wù)、任務(wù)處理隊(duì)列及定時(shí)任務(wù)狀態(tài)同步到各個(gè)節(jié)點(diǎn),保證各個(gè)節(jié)點(diǎn)上都有機(jī)會(huì)觸發(fā)定時(shí)任務(wù),使得所有節(jié)點(diǎn)都能平等地具備定時(shí)任務(wù)的任務(wù)處理能力。定時(shí)任務(wù)提交到任務(wù)處理隊(duì)列后,任務(wù)處理隊(duì)列信息存儲(chǔ)至當(dāng)前區(qū)塊所在節(jié)點(diǎn),并將定時(shí)任務(wù)、任務(wù)信息及交易信息等打包到同步區(qū)塊中,并配合區(qū)塊鏈本身的塊同步機(jī)制廣播到其他節(jié)點(diǎn),保證任務(wù)處理隊(duì)列及定時(shí)任務(wù)同步到各個(gè)節(jié)點(diǎn),以達(dá)到執(zhí)行節(jié)點(diǎn)的任意性目的、同步性。

在任務(wù)提交完成之后,需對(duì)定時(shí)任務(wù)進(jìn)行調(diào)度及處理,其處理流程請(qǐng)參見圖3,具體為:

選出共識(shí)節(jié)點(diǎn):在實(shí)時(shí)更新各節(jié)點(diǎn)的定時(shí)任務(wù)過(guò)程中,節(jié)點(diǎn)處理定時(shí)任務(wù)時(shí)具有任意性,即定時(shí)任務(wù)能夠在任意一個(gè)節(jié)點(diǎn)中執(zhí)行,不限定于定時(shí)任務(wù)的發(fā)布節(jié)點(diǎn),但區(qū)塊鏈中的各個(gè)節(jié)點(diǎn)需相互競(jìng)爭(zhēng)獲取共識(shí)權(quán)限后才可對(duì)定時(shí)任務(wù)進(jìn)行處理。共識(shí)節(jié)點(diǎn)的選出是根據(jù)區(qū)塊鏈的共識(shí)機(jī)制。由于點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)下存在較高的網(wǎng)絡(luò)延遲,各個(gè)節(jié)點(diǎn)所觀察到的事務(wù)先后順序不可能完全一致。因此區(qū)塊鏈采用共識(shí)機(jī)制對(duì)一個(gè)時(shí)間窗口內(nèi)的事務(wù)的先后順序達(dá)成共識(shí)的。共識(shí)機(jī)制多采用Pow或Pos或DPos或Pool或Raft,當(dāng)然,共識(shí)機(jī)制的選定是根據(jù)具體應(yīng)用模式及應(yīng)用范圍進(jìn)行選擇,在本實(shí)施例中不做具體限定。

當(dāng)節(jié)點(diǎn)選為共識(shí)節(jié)點(diǎn)后,共識(shí)節(jié)點(diǎn)的事件監(jiān)聽器負(fù)責(zé)對(duì)任務(wù)處理隊(duì)列中的定時(shí)任務(wù)進(jìn)行任務(wù)處理,對(duì)定時(shí)任務(wù)進(jìn)行事件監(jiān)測(cè)及超時(shí)監(jiān)測(cè),如負(fù)責(zé)隊(duì)列中清除過(guò)期的任務(wù)(如果有),提取可用定時(shí)任務(wù),執(zhí)行定時(shí)任務(wù),更新定時(shí)任務(wù)或刪除定時(shí)任務(wù)。由于聯(lián)盟鏈的共識(shí)節(jié)點(diǎn)不存在并行記賬,所以定時(shí)任務(wù)不會(huì)同時(shí)執(zhí)行多次。

任務(wù)處理的具體步驟為:

1)刪除過(guò)期的定時(shí)任務(wù):節(jié)點(diǎn)獲取到共識(shí)權(quán)限后,對(duì)指定時(shí)間已經(jīng)執(zhí)行過(guò)的定時(shí)任務(wù)或指定時(shí)間已過(guò)的定時(shí)任務(wù)進(jìn)行優(yōu)先清除,保留有效的定時(shí)任務(wù),以盡量保證任務(wù)處理的高效性;

2)提取可用的定時(shí)任務(wù):當(dāng)定時(shí)任務(wù)達(dá)到執(zhí)行要求,即達(dá)到配置定時(shí)任務(wù)的執(zhí)行時(shí)間或執(zhí)行次數(shù),且該定時(shí)任務(wù)在其他節(jié)點(diǎn)沒有被執(zhí)行過(guò),即從任務(wù)處理隊(duì)列中提取定時(shí)任務(wù);

3)執(zhí)行定時(shí)任務(wù):獲取可用的定時(shí)任務(wù)后,對(duì)智能合約的地址及接口的合法性進(jìn)行校驗(yàn),填充執(zhí)行參數(shù),執(zhí)行任務(wù)指定的智能合約的函數(shù);

4)更新定時(shí)任務(wù):根據(jù)不同定時(shí)任務(wù)執(zhí)行完后的狀態(tài)更新定時(shí)任務(wù),如:對(duì)于周期性的定時(shí)任務(wù),需設(shè)置定時(shí)任務(wù)的執(zhí)行狀態(tài)和執(zhí)行時(shí)間;對(duì)于有次數(shù)要求的定時(shí)任務(wù),需減少定時(shí)任務(wù)的次數(shù),并更新定時(shí)任務(wù)在任務(wù)處理隊(duì)列中的任務(wù)信息;對(duì)于一次性的定時(shí)任務(wù),直接刪除定時(shí)任務(wù)。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
山阴县| 大同市| 余江县| 武隆县| 同仁县| 瑞安市| 永川市| 雷波县| 武冈市| 珲春市| 荔波县| 盐边县| 云霄县| 穆棱市| 新晃| 神农架林区| 昌江| 会理县| 钟山县| 安康市| 宁波市| 新余市| 凤翔县| 延津县| 城固县| 遂溪县| 大方县| 涪陵区| 商城县| 桂阳县| 河西区| 西和县| 唐河县| 西乌| 阳西县| 津南区| 华亭县| 连南| 滨州市| 连城县| 历史|