多任務(wù)控制方法、設(shè)備以及工業(yè)控制系統(tǒng)的制作方法
【專利摘要】本申請公開了一種多任務(wù)控制方法、設(shè)備以及工業(yè)控制系統(tǒng)。其中,所控制的多個(gè)任務(wù)中的至少部分任務(wù)各自包括多個(gè)子任務(wù)。其中,根據(jù)多個(gè)任務(wù)中的未開始任務(wù)對未完成任務(wù)的依賴關(guān)系確定未開始任務(wù)的優(yōu)先級,并根據(jù)優(yōu)先級選擇要開始的任務(wù)。其中,將不依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級,將弱依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于控制依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級。其中,弱依賴是指本任務(wù)的起始子任務(wù)不基于其他任務(wù)的結(jié)果而至少一個(gè)后續(xù)子任務(wù)基于所依賴的任務(wù)的結(jié)果,而控制依賴是指由所依賴的任務(wù)的結(jié)果確定是否需要執(zhí)行本任務(wù)。
【專利說明】多任務(wù)控制方法、設(shè)備以及工業(yè)控制系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請涉及多任務(wù)控制。具體地,涉及一種多任務(wù)控制方法和多任務(wù)控制設(shè)備。本申請還涉及包括所述多任務(wù)控制設(shè)備的工業(yè)控制系統(tǒng)。
【背景技術(shù)】
[0002]在計(jì)算設(shè)備上執(zhí)行的操作可能由多個(gè)任務(wù)組成,并且各任務(wù)間可能存在依賴關(guān)系,常用的多任務(wù)控制方式是相繼執(zhí)行各個(gè)任務(wù)。例如,假設(shè)一個(gè)操作包括四個(gè)任務(wù)T0、T1、T2和T3,并且任務(wù)間包含這樣的依賴關(guān)系:根據(jù)TO和Tl的結(jié)果確定是執(zhí)行T2還是執(zhí)行T3。根據(jù)已有的多任務(wù)控制方式,按照以下步驟相繼執(zhí)行上述任務(wù)TO至T3:
[0003]步驟1:執(zhí)行TO ;
[0004]步驟2:執(zhí)行Tl ;
[0005]步驟3:檢查來自TO和Tl的響應(yīng)數(shù)據(jù),如果滿足預(yù)定條件則執(zhí)行T2,否則執(zhí)行T3。
[0006]然而,在相繼執(zhí)行多個(gè)任務(wù)的情況下,由于某些任務(wù)可能包含通信過程等需要等待的過程,因此可能存在資源在某些時(shí)間段處于空閑狀態(tài)的情況。
[0007]因此,需要一種更高效的多任務(wù)管理方式。
【發(fā)明內(nèi)容】
[0008]本申請的目的是提供一種能夠控制多個(gè)任務(wù)并行執(zhí)行的多任務(wù)控制方法、多任務(wù)控制設(shè)備以及包括該多任務(wù)管理設(shè)備的工業(yè)控制系統(tǒng),從而充分利用資源、提高處理效率。
[0009]根據(jù)本申請的一個(gè)實(shí)施例,提供一種多任務(wù)控制方法,其中多個(gè)任務(wù)中的至少部分任務(wù)各自包括多個(gè)子任務(wù),該方法包括:根據(jù)多個(gè)任務(wù)中的未開始任務(wù)對未完成任務(wù)的依賴關(guān)系確定未開始任務(wù)的優(yōu)先級,以及根據(jù)優(yōu)先級選擇要開始的任務(wù),其中,將不依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級,將弱依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于控制依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級,其中弱依賴是指本任務(wù)的起始子任務(wù)不基于其他任務(wù)的結(jié)果而至少一個(gè)后續(xù)子任務(wù)基于所依賴的任務(wù)的結(jié)果,控制依賴是指由所依賴的任務(wù)的結(jié)果確定是否需要執(zhí)行本任務(wù)。
[0010]根據(jù)本申請的另一個(gè)實(shí)施例,提供一種多任務(wù)控制設(shè)備,其中多個(gè)任務(wù)中的至少部分任務(wù)各自包括多個(gè)子任務(wù),該設(shè)備包括:優(yōu)先級確定裝置,被配置為根據(jù)多個(gè)任務(wù)中的未開始任務(wù)對未完成任務(wù)的依賴關(guān)系確定未開始任務(wù)的優(yōu)先級,以及任務(wù)選擇裝置,被配置為根據(jù)優(yōu)先級選擇要開始的任務(wù),其中,優(yōu)先級確定裝置被配置為:將不依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級,將弱依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于控制依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級,其中弱依賴是指本任務(wù)的起始子任務(wù)不基于其他任務(wù)的結(jié)果而至少一個(gè)后續(xù)子任務(wù)基于所依賴的任務(wù)的結(jié)果,控制依賴是指由所依賴的任務(wù)的結(jié)果確定是否需要執(zhí)行本任務(wù)。[0011]根據(jù)本申請的又一個(gè)實(shí)施例,提供一種工業(yè)控制系統(tǒng),包括:中央控制器,用于執(zhí)行多個(gè)任務(wù);工業(yè)設(shè)備,其與中央控制器通信耦合以作為關(guān)聯(lián)設(shè)備對多個(gè)任務(wù)中的至少一部分任務(wù)作出響應(yīng),其中,中央控制器包括上述多任務(wù)控制設(shè)備以控制多個(gè)任務(wù)。
[0012]根據(jù)本申請的多任務(wù)控制方法、多任務(wù)控制設(shè)備以及工業(yè)控制系統(tǒng),能夠根據(jù)任務(wù)間的依賴關(guān)系合理地確定可并行執(zhí)行的任務(wù),從而充分利用空閑資源,提高多任務(wù)過程的效率。
【專利附圖】
【附圖說明】
[0013]參照以下結(jié)合附圖對本申請實(shí)施例的說明,會更加容易地理解本申請的以上和其他目的、特點(diǎn)和優(yōu)點(diǎn)。為了避免因不必要的細(xì)節(jié)而模糊了本申請,在附圖中僅示出了與根據(jù)本申請的方案密切相關(guān)的裝置結(jié)構(gòu)和/或處理步驟,而省略了與本申請關(guān)系不大的其他細(xì)節(jié)。
[0014]圖1是示出根據(jù)本申請實(shí)施例的多任務(wù)控制方法的示例過程的流程圖;
[0015]圖2是示出根據(jù)本申請一個(gè)實(shí)施例的多任務(wù)控制方法對弱依賴于其他任務(wù)的任務(wù)的處理示例的流程圖;
[0016]圖3是示出根據(jù)本申請一個(gè)實(shí)施例的多任務(wù)控制方法對弱依賴于其他任務(wù)且被其他任務(wù)依賴的任務(wù)的處理示例的流程圖;
[0017]圖4是示出根據(jù)本申請一個(gè)實(shí)施例的多任務(wù)控制方法對控制依賴于其他任務(wù)的任務(wù)的處理示例的流程圖;
[0018]圖5是示出根據(jù)本申請一個(gè)實(shí)施例的多任務(wù)控制方法對控制依賴于其他任務(wù)且被其他任務(wù)依賴的任務(wù)的處理示例的流程圖;
[0019]圖6是示出根據(jù)本申請實(shí)施例的多任務(wù)控制設(shè)備的配置示例的框圖;
[0020]圖7是示出根據(jù)本申請另一實(shí)施例的多任務(wù)控制設(shè)備的配置示例的框圖;
[0021]圖8是示出根據(jù)本申請又一實(shí)施例的多任務(wù)控制設(shè)備的配置示例的框圖;
[0022]圖9是示出根據(jù)本申請?jiān)僖粚?shí)施例的多任務(wù)控制設(shè)備的配置示例的框圖;
[0023]圖10是示出根據(jù)本申請另一實(shí)施例的多任務(wù)控制設(shè)備的配置示例的框圖;
[0024]圖11是示出根據(jù)本申請又一實(shí)施例的多任務(wù)控制設(shè)備的配置示例的框圖;
[0025]圖12是示出根據(jù)本申請?jiān)僖粚?shí)施例的多任務(wù)控制設(shè)備的配置示例的框圖;
[0026]圖13是示出根據(jù)本申請實(shí)施例的工業(yè)控制系統(tǒng)的配置示例的框圖;以及
[0027]圖14是示出實(shí)現(xiàn)本申請的方法和設(shè)備的計(jì)算機(jī)的示例性結(jié)構(gòu)的框圖。
【具體實(shí)施方式】
[0028]下面參照【專利附圖】
【附圖說明】本申請的實(shí)施例。應(yīng)注意,為了清楚的目的,附圖和說明中省略了與本申請無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。
[0029]為便于說明,首先如下定義依賴關(guān)系:
[0030]數(shù)據(jù)依賴:任務(wù)j數(shù)據(jù)依賴于任務(wù)i是指任務(wù)j的開始或執(zhí)行過程中需要任務(wù)i的輸出結(jié)果;
[0031]控制依賴:任務(wù)j控制依賴于任務(wù)i是指由任務(wù)i的結(jié)果確定是否需要執(zhí)行任務(wù)j,具體來說,任務(wù)j的執(zhí)行本身可以獨(dú)立于任務(wù)i,即無論任務(wù)i是否執(zhí)行以及執(zhí)行結(jié)果如何,任務(wù)j的執(zhí)行和執(zhí)行結(jié)果都不受影響,然而在任務(wù)i的結(jié)果表明不需要執(zhí)行任務(wù)j的情況下,任務(wù)j的執(zhí)行和執(zhí)行結(jié)果不再有意義。
[0032]另外,作為本申請實(shí)施例的多任務(wù)控制方法的控制對象的多個(gè)任務(wù)中的至少部分任務(wù)可以是復(fù)合任務(wù),即包括多個(gè)子任務(wù)的任務(wù)。對于復(fù)合任務(wù),數(shù)據(jù)依賴可以進(jìn)一步分為以下依賴關(guān)系:
[0033]弱數(shù)據(jù)依賴(下文中簡稱“弱依賴”):任務(wù)j弱依賴與任務(wù)i是指任務(wù)j的起始子任務(wù)不基于任務(wù)i的結(jié)果,而任務(wù)j的至少一個(gè)后續(xù)子任務(wù)基于任務(wù)i的結(jié)果;以及
[0034]強(qiáng)數(shù)據(jù)依賴(下文中簡稱“強(qiáng)依賴”):任務(wù)j強(qiáng)依賴于任務(wù)i是指任務(wù)j的開始必須依賴于任務(wù)i的結(jié)束。
[0035]接下來,參照圖1說明根據(jù)本申請實(shí)施例的多任務(wù)控制方法。
[0036]如圖1所示,該多任務(wù)控制方法在步驟SllO開始。
[0037]然后,在步驟S120,根據(jù)多個(gè)任務(wù)中的未開始任務(wù)對未完成任務(wù)的依賴關(guān)系確定未開始任務(wù)的優(yōu)先級,其中,將不依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級,將弱依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于控制依賴于未完成任務(wù)的未開始任務(wù)的優(yōu)先級。其中,未完成任務(wù)既可以包括已開始但未執(zhí)行完的任務(wù),也可以包括尚未開始的任務(wù)。
[0038]接下來,在步驟S130,根據(jù)步驟S120中確定的優(yōu)先級選擇要開始的任務(wù)。
[0039]本文中提到的任務(wù)的開始默認(rèn)地是在計(jì)算資源允許的情況下進(jìn)行的。計(jì)算資源情況例如包括用于執(zhí)行多個(gè)任務(wù)的計(jì)算設(shè)備的處理能力,其決定了可并行執(zhí)行的任務(wù)的數(shù)量
以及計(jì)算量等。
[0040]另外,“并行執(zhí)行”可以根據(jù)計(jì)算資源的情況而具有不同的形式。例如,在由多個(gè)處理器執(zhí)行多個(gè)任務(wù)的情況下,可以同時(shí)開始并同時(shí)執(zhí)行多個(gè)任務(wù),即,可以同時(shí)進(jìn)行多個(gè)工作流。而在由單個(gè)處理器執(zhí)行多個(gè)任務(wù)的情況下,多個(gè)任務(wù)在嚴(yán)格的意義上不能被同時(shí)處理,其整體上仍然是一個(gè)工作流。對于以單個(gè)工作流處理多個(gè)已開始的任務(wù)的情況,與前面提到的相繼執(zhí)行多個(gè)任務(wù)的情況相比,由于只要資源存在空閑(該空閑可以包括沒有任務(wù)要處理的情況下的空閑以及其他已開始而未完成任務(wù)的等待期間的空閑)就可以進(jìn)行任務(wù)的處理,因此可能同時(shí)存在多個(gè)任務(wù)已開始而未完成的情況,從而相當(dāng)于實(shí)現(xiàn)了某種程度的并行處理,從而可以提高運(yùn)行效率。在多個(gè)工作流的情況下,在某一個(gè)工作流涉及多個(gè)任務(wù)的情況下,與前述單個(gè)工作流的情形是類似的。在本文中,“并行”既可以指上述多工作流的情況,也可以指以單個(gè)工作流“同時(shí)”處理多個(gè)任務(wù)的情況。
[0041]利用上述方法,能夠根據(jù)所確定的優(yōu)先級盡可能多地并行開始多個(gè)任務(wù),換句話說,可以根據(jù)優(yōu)先級盡早地開始任務(wù)。因此,例如處理器的計(jì)算資源只要存在空閑就可以開始新的任務(wù)或者對懸置后又重新滿足繼續(xù)執(zhí)行條件的任務(wù)進(jìn)行處理。因此,與上一任務(wù)完成之后才開始下一任務(wù)的常規(guī)方式相比,能夠充分利用資源的空閑時(shí)間,從而提高運(yùn)行效率。
[0042]另一方面,由于上述方法根據(jù)優(yōu)先級來選擇要開始的任務(wù),從而避免了不必要的過度占用資源。例如,在未開始的本任務(wù)依賴于未完成的其他任務(wù)的情況下,有可能需要等待其他任務(wù)結(jié)束之后才能完成本任務(wù),因此,與提早開始不依賴于其他任務(wù)的任務(wù)相比,提早開始本任務(wù)的潛在效果較小。通過將不依賴于未完成任務(wù)的任務(wù)的優(yōu)先級設(shè)置為高于依賴于未完成任務(wù)的任務(wù)的優(yōu)先級,并根據(jù)優(yōu)先級選擇要開始的任務(wù),能夠進(jìn)一步提高處理效率。
[0043]具體地,根據(jù)一個(gè)實(shí)施例,即使被依賴的任務(wù)尚未完成,仍能開始執(zhí)行弱依賴于或控制依賴于該被依賴的任務(wù)的任務(wù)。另外,可以在被弱依賴的任務(wù)已經(jīng)完成時(shí)繼續(xù)執(zhí)行弱依賴于該任務(wù)的任務(wù)的后續(xù)子任務(wù)。通過提前進(jìn)行弱依賴于其他任務(wù)的復(fù)合任務(wù)的部分子任務(wù)或者提前進(jìn)行控制依賴于其他任務(wù)的任務(wù),可以充分利用資源、提高運(yùn)行效率。
[0044]總之,對于強(qiáng)依賴于未完成任務(wù)的任務(wù),需要等待其所強(qiáng)依賴的任務(wù)的結(jié)束才可以開始本任務(wù)。對于不依賴和控制依賴于未完成任務(wù)的任務(wù),可以在任意時(shí)間開始,其結(jié)束時(shí)間除了受資源的約束之外,不受其他任務(wù)的直接影響。而對于弱依賴于未完成任務(wù)的任務(wù)來說,可以在任意時(shí)間開始,但是其后續(xù)子任務(wù)的執(zhí)行也就是整個(gè)任務(wù)的結(jié)束依賴于其所弱依賴的任務(wù)。
[0045]如前所述,雖然弱依賴任務(wù)的完成需要依賴于其他任務(wù),但弱依賴任務(wù)的結(jié)果通常是有用的,而控制依賴任務(wù)的結(jié)果是否有用還有待確定,因此將控制依賴任務(wù)的優(yōu)先級設(shè)置為低于弱依賴任務(wù)的優(yōu)先級有利于提高整體運(yùn)行效率。
[0046]另外,作為控制對象的多個(gè)任務(wù)中可能存在這樣的任務(wù),其分別以不同的依賴方式依賴于不同的未完成任務(wù),下文中將此類任務(wù)稱為復(fù)合依賴任務(wù)。復(fù)合依賴任務(wù)可以具有以下依賴關(guān)系中的至少兩個(gè):不依賴于未完成任務(wù)中的第一部分任務(wù);弱依賴于未完成任務(wù)中的第二部分任務(wù);控制依賴于未完成任務(wù)中的第三部分任務(wù);以及強(qiáng)依賴于未完成任務(wù)中的第四部分任務(wù)。在這種情況下,根據(jù)本申請一個(gè)實(shí)施例的多任務(wù)管理方法可以基于上述各種依賴關(guān)系以及在各依賴關(guān)系中復(fù)合依賴任務(wù)所依賴的未完成任務(wù)的數(shù)量來確定優(yōu)先級。
[0047]具體地,可以首先根據(jù)依賴關(guān)系的類型確定總體優(yōu)先級,對于具有相同依賴類型的復(fù)合依賴任務(wù),可以進(jìn)一步根據(jù)其所依賴的未完成任務(wù)的數(shù)量進(jìn)一步區(qū)分優(yōu)先級。
[0048]例如,在一個(gè)復(fù)合依賴任務(wù)所具有的依賴關(guān)系中包含強(qiáng)依賴關(guān)系的情況下,其只能在其所強(qiáng)依賴的任務(wù)完成之后開始,因此可以將其優(yōu)先級設(shè)置為低于不包含強(qiáng)依賴關(guān)系的任務(wù)。
[0049]又例如,當(dāng)復(fù)合依賴任務(wù)既弱依賴于一部分未完成任務(wù)、又控制依賴于另一部分未完成任務(wù)的情況下,可以進(jìn)而根據(jù)其依賴的任務(wù)的數(shù)量確定優(yōu)先級。例如,對于兩個(gè)既弱依賴于一部分未完成任務(wù)、又控制依賴于另一部分未完成任務(wù)的復(fù)合依賴任務(wù):可以將包含控制依賴關(guān)系較多的那個(gè)復(fù)合依賴任務(wù)設(shè)置為優(yōu)先級較低,也就是說,首先考慮控制依賴關(guān)系的數(shù)量;在控制依賴關(guān)系的數(shù)量相同時(shí),可以通過比較弱依賴關(guān)系的數(shù)量來確定優(yōu)先級,其中弱依賴關(guān)系的數(shù)量越多優(yōu)先級越低。
[0050]此外,也可以對各類依賴關(guān)系確定權(quán)重,并且例如根據(jù)如下等式(I)針對每個(gè)復(fù)合
依賴任務(wù)確定加權(quán)和作為其依賴性因數(shù):
【權(quán)利要求】
1.一種多任務(wù)控制方法,其中所述多個(gè)任務(wù)中的至少部分任務(wù)各自包括多個(gè)子任務(wù),所述方法包括:
根據(jù)所述多個(gè)任務(wù)中的未開始任務(wù)對未完成任務(wù)的依賴關(guān)系確定未開始任務(wù)的優(yōu)先級,以及 根據(jù)所述優(yōu)先級選擇要開始的任務(wù), 其中,將不依賴于所述未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于依賴于所述未完成任務(wù)的未開始任務(wù)的優(yōu)先級,將弱依賴于所述未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于控制依賴于所述未完成任務(wù)的未開始任務(wù)的優(yōu)先級,其中所述弱依賴是指本任務(wù)的起始子任務(wù)不基于其他任務(wù)的結(jié)果而至少一個(gè)后續(xù)子任務(wù)基于所依賴的任務(wù)的結(jié)果,所述控制依賴是指由所依賴的任務(wù)的結(jié)果確定是否需要執(zhí)行本任務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其中,即使被依賴的任務(wù)尚未完成,仍能開始執(zhí)行弱依賴于或控制依賴于所述被依賴的任務(wù)的任務(wù)。
3.根據(jù)權(quán)利要求2所述的方法,其中,在被弱依賴的任務(wù)已經(jīng)完成時(shí)繼續(xù)執(zhí)行弱依賴于所述已完成的任務(wù)的任務(wù)的后續(xù)子任務(wù)。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述多個(gè)任務(wù)中的至少一個(gè)任務(wù)具有以下依賴關(guān)系中的至少兩個(gè): 不依賴于所述未完成任務(wù)中的第一部分任務(wù); 弱依賴于所述未完成任務(wù)中的第二部分任務(wù); 控制依賴于所述未完成任務(wù)中的第三部分任務(wù);以及 強(qiáng)依賴于所述未完成任務(wù)中的第四部分任務(wù), 其中,所述強(qiáng)依賴是指本任務(wù)的開始必須依賴于其他任務(wù)的結(jié)束, 其中,基于所述各種依賴關(guān)系以及在各依賴關(guān)系中該至少一個(gè)任務(wù)所依賴的所述未完成任務(wù)的數(shù)量來確定所述優(yōu)先級。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其中,所述至少部分任務(wù)需要相應(yīng)的關(guān)聯(lián)設(shè)備的響應(yīng),并且所述至少部分任務(wù)各自包括下述子任務(wù):準(zhǔn)備及發(fā)送對相應(yīng)的關(guān)聯(lián)設(shè)備的請求的請求子任務(wù),獲取所述關(guān)聯(lián)設(shè)備的響應(yīng)的響應(yīng)獲取子任務(wù),以及處理所述響應(yīng)的響應(yīng)處理子任務(wù),并且 其中所述弱依賴是指本任務(wù)的響應(yīng)處理子任務(wù)依賴于其他任務(wù)的結(jié)果。
6.根據(jù)權(quán)利要求5所述的方法,還包括: 在弱依賴于未完成任務(wù)的本任務(wù)的響應(yīng)獲取子任務(wù)已經(jīng)從其相應(yīng)的關(guān)聯(lián)設(shè)備接收到響應(yīng)的情況下,確定所述本任務(wù)是否接收到其所弱依賴的任務(wù)的結(jié)果; 在所述確定為否的情況下,保存所述響應(yīng),等待其所弱依賴的任務(wù)的完成;以及 在所述確定為是的情況下,在優(yōu)先級允許的情況下開始該本任務(wù)的響應(yīng)處理子任務(wù)。
7.根據(jù)權(quán)利要求5所述的方法,還包括: 在本任務(wù)接收到其所弱依賴的任務(wù)的結(jié)果的情況下,確定所述本任務(wù)是否已從其相應(yīng)的關(guān)聯(lián)設(shè)備接收到響應(yīng); 在所述確定為是的情況下,在優(yōu)先級允許的情況下開始該本任務(wù)的響應(yīng)處理子任務(wù); 在所述確定為否的情況下,保存所述結(jié)果,等待該本任務(wù)的響應(yīng)獲取子任務(wù)的完成。
8.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,還包括:在本任務(wù)已完成的情況下,確定所述本任務(wù)是否被其他任務(wù)依賴; 在所述確定為是的情況下,將所述本任務(wù)的結(jié)果提供給依賴于所述本任務(wù)的任務(wù)。
9.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,還包括: 在要開始的本任務(wù)控制依賴于其他任務(wù)的情況下,確定該其他任務(wù)是否已經(jīng)完成; 如果尚未完成,則在優(yōu)先級允許的情況下開始本任務(wù); 如果已經(jīng)完成,則根據(jù)該其他任務(wù)的結(jié)果以及優(yōu)先級,確定是否開始本任務(wù)。
10.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,還包括: 在已完成的本任務(wù)控制依賴于其他任務(wù)的情況下,確定該其他任務(wù)是否已經(jīng)完成; 如果尚未完成,則保存所述本任務(wù)的結(jié)果,等待該其他任務(wù)的完成; 如果已經(jīng)完成,則根據(jù)該其他任務(wù)的結(jié)果,確定是丟棄還是使用所述本任務(wù)的結(jié)果。
11.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,還包括: 在本任務(wù)已完成的情況下,對于控制依賴于所述本任務(wù)的任務(wù): 如果尚未執(zhí)行,則根據(jù)所述本任務(wù)的結(jié)果確定是否需要執(zhí)行; 如果已經(jīng)執(zhí)行,則根據(jù)所述本任務(wù)的結(jié)果,確定是丟棄還是使用所述控制依賴于所述本任務(wù)的任務(wù)的結(jié)果。
12.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,還包括: 在本任務(wù)完成時(shí)重新確定未開始任務(wù)對未完成任務(wù)的依賴關(guān)系,進(jìn)而確定未開始任務(wù)的優(yōu)先級并選擇要開始的任務(wù)。
13.一種多任務(wù)控制設(shè)備,其中所述多個(gè)任務(wù)中的至少部分任務(wù)各自包括多個(gè)子任務(wù),所述設(shè)備包括: 優(yōu)先級確定裝置,被配置為根據(jù)所述多個(gè)任務(wù)中的未開始任務(wù)對未完成任務(wù)的依賴關(guān)系確定未開始任務(wù)的優(yōu)先級,以及 任務(wù)選擇裝置,被配置為根據(jù)所述優(yōu)先級選擇要開始的任務(wù), 其中,所述優(yōu)先級確定裝置被配置為:將不依賴于所述未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于依賴于所述未完成任務(wù)的未開始任務(wù)的優(yōu)先級,將弱依賴于所述未完成任務(wù)的未開始任務(wù)的優(yōu)先級設(shè)置為高于控制依賴于所述未完成任務(wù)的未開始任務(wù)的優(yōu)先級,其中所述弱依賴是指本任務(wù)的起始子任務(wù)不基于其他任務(wù)的結(jié)果而至少一個(gè)后續(xù)子任務(wù)基于所依賴的任務(wù)的結(jié)果,所述控制依賴是指由所依賴的任務(wù)的結(jié)果確定是否需要執(zhí)行本任務(wù)。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中,所述任務(wù)選擇裝置被配置為:即使被依賴的任務(wù)尚未完成,仍能開始執(zhí)行弱依賴于或控制依賴于所述被依賴的任務(wù)的任務(wù)。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其中,所述任務(wù)選擇裝置被配置為:在被弱依賴的任務(wù)已經(jīng)完成時(shí)繼續(xù)執(zhí)行弱依賴于所述已完成的任務(wù)的任務(wù)的后續(xù)子任務(wù)。
16.根據(jù)權(quán)利要求13所述的設(shè)備,其中,所述多個(gè)任務(wù)中的至少一個(gè)任務(wù)具有以下依賴關(guān)系中的至少兩個(gè): 不依賴于所述未完成任務(wù)中的第一部分任務(wù); 弱依賴于所述未完成任務(wù)中的第二部分任務(wù); 控制依賴于所述未完成任務(wù)中的第三部分任務(wù);以及 強(qiáng)依賴于所述未完成任務(wù)中的第四部分任務(wù),其中,所述強(qiáng)依賴是指本任務(wù)的開始必須依賴于其他任務(wù)的結(jié)束, 其中,所述優(yōu)先級確定裝置被配置為基于所述各種依賴關(guān)系以及在各依賴關(guān)系中該至少一個(gè)任務(wù)所依賴的所述未完成任務(wù)的數(shù)量來確定所述優(yōu)先級。
17.根據(jù)權(quán)利要求13至16中任一項(xiàng)所述的設(shè)備,其中,所述至少部分任務(wù)需要相應(yīng)的關(guān)聯(lián)設(shè)備的響應(yīng),并且所述至少部分任務(wù)各自包括下述子任務(wù):準(zhǔn)備及發(fā)送對相應(yīng)的關(guān)聯(lián)設(shè)備的請求的請求子任務(wù),獲取所述關(guān)聯(lián)設(shè)備的響應(yīng)的響應(yīng)獲取子任務(wù),以及處理所述響應(yīng)的響應(yīng)處理子任務(wù),并且 其中所述弱依賴是指本任務(wù)的響應(yīng)處理子任務(wù)依賴于其他任務(wù)的結(jié)果。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中,所述關(guān)聯(lián)設(shè)備為遠(yuǎn)程設(shè)備。
19.根據(jù)權(quán)利要求17所述的設(shè)備,還包括: 結(jié)果確定裝置,被配置為在弱依賴于未完成任務(wù)的本任務(wù)的響應(yīng)獲取子任務(wù)已經(jīng)從其相應(yīng)的關(guān)聯(lián)設(shè)備接收到響應(yīng)的情況下,確定所述本任務(wù)是否接收到其所弱依賴的任務(wù)的結(jié)果; 第一存儲裝置,被配置為在所述結(jié)果確定裝置的所述確定為否的情況下,保存所述響應(yīng);以及 第一子任務(wù)啟動裝置,被配置為在所述結(jié)果確定裝置的所述確定為是的情況下,在優(yōu)先級允許的情況下開始該本任務(wù)的響應(yīng)處理子任務(wù)。
20.根據(jù)權(quán)利要求17所述的設(shè)備,還包括: 響應(yīng)確定裝置,被配置為在本任務(wù)接收到其所弱依賴的任務(wù)的結(jié)果的情況下,確定所述本任務(wù)是否已從其相應(yīng)的關(guān)聯(lián)設(shè)備接收到響應(yīng); 第二子任務(wù)啟動裝置,被配置為在所述響應(yīng)確定裝置的所述確定為是的情況下,在優(yōu)先級允許的情況下開始該本任務(wù)的響應(yīng)處理子任務(wù); 第二存儲裝置,被配置為在所述響應(yīng)確定裝置的所述確定為否的情況下,保存所述結(jié)果,以等待該本任務(wù)的響應(yīng)獲取子任務(wù)的完成。
21.根據(jù)權(quán)利要求13至16中任一項(xiàng)所述的設(shè)備,還包括: 依賴確定裝置,被配置為在本任務(wù)已完成的情況下,確定所述本任務(wù)是否被其他任務(wù)依賴; 結(jié)果提供裝置,被配置為在所述依賴確定裝置的所述確定為是的情況下,將所述本任務(wù)的結(jié)果提供給依賴于所述本任務(wù)的任務(wù)。
22.根據(jù)權(quán)利要求13至16中任一項(xiàng)所述的設(shè)備,還包括: 第一控制依賴確定裝置,被配置為在要開始的本任務(wù)控制依賴于其他任務(wù)的情況下,確定該其他任務(wù)是否已經(jīng)完成; 任務(wù)啟動裝置,被配置為在所述第一控制依賴確定裝置確定該其他任務(wù)尚未完成的情況下,在優(yōu)先級允許的情況下開始本任務(wù); 第一執(zhí)行判斷裝置,被配置為在所述第一控制依賴確定裝置確定該其他任務(wù)已經(jīng)完成的情況下,根據(jù)該其他任務(wù)的結(jié)果以及優(yōu)先級確定是否開始本任務(wù)。
23.根據(jù)權(quán)利要求13至16中任一項(xiàng)所述的設(shè)備,還包括: 第二控制依賴確定裝置,被配置為在已完成的本任務(wù)控制依賴于其他任務(wù)的情況下,確定該其他任務(wù)是否已經(jīng)完成;第三存儲裝置,被配置為在所述第二控制依賴確定裝置確定該其他任務(wù)尚未完成的情況下,保存所述本任務(wù)的結(jié)果,以等待該其他任務(wù)的完成; 第一結(jié)果處置裝置,被配置為在所述第二控制依賴確定裝置確定該其他任務(wù)已經(jīng)完成的情況下,根據(jù)該其他任務(wù)的結(jié)果,確定是丟棄還是使用所述本任務(wù)的結(jié)果。
24.根據(jù)權(quán)利要求13至16中任一項(xiàng)所述的設(shè)備,還包括: 第三控制依賴確定裝置,被配置為在本任務(wù)已完成的情況下,確定控制依賴于所述本任務(wù)的任務(wù); 第二執(zhí)行判斷裝置,被配置為根據(jù)所述本任務(wù)的結(jié)果確定是否需要執(zhí)行尚未執(zhí)行的控制依賴于所述本任務(wù)的任務(wù);以及 第二結(jié)果處置裝置,被配置為根據(jù)所述本任務(wù)的結(jié)果確定是丟棄還是使用已執(zhí)行的控制依賴于所述本任務(wù)的任務(wù)的結(jié)果。
25.根據(jù)權(quán)利要求13至16中任一項(xiàng)所述的設(shè)備,還包括: 依賴關(guān)系更新裝置,被配置為在本任務(wù)完成時(shí)重新確定未開始任務(wù)對未完成任務(wù)的依賴關(guān)系, 其中,所述優(yōu)先級確定裝置根據(jù)最新確定的依賴關(guān)系確定未開始任務(wù)的優(yōu)先級,并且 所述任務(wù)選擇裝置根據(jù)最新確定的優(yōu)先級選擇要開始的任務(wù)。
26.—種工業(yè)控制系統(tǒng),包括: 中央控制器,用于執(zhí)行多個(gè)任務(wù); 工業(yè)設(shè)備,其與所述中央控制器通`信耦合以作為關(guān)聯(lián)設(shè)備對所述多個(gè)任務(wù)中的至少一部分任務(wù)作出響應(yīng), 其中,所述中央控制器包括如權(quán)利要求13至25中任一項(xiàng)所述的多任務(wù)控制設(shè)備,以控制所述多個(gè)任務(wù)。
【文檔編號】G06F9/38GK103677753SQ201210352581
【公開日】2014年3月26日 申請日期:2012年9月20日 優(yōu)先權(quán)日:2012年9月20日
【發(fā)明者】宋向明 申請人:艾默生零售解決方案公司