一種計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法
【專利摘要】本發(fā)明公開了一種計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法,其特征在于,包括:對生產(chǎn)業(yè)務(wù)按邏輯劃分,自底向上抽象成原型、流程、事務(wù)的三層工作流模型;所述原型用于表示生產(chǎn)業(yè)務(wù)中相互獨(dú)立的業(yè)務(wù)環(huán)節(jié),所述流程用于表示能夠完成一項(xiàng)業(yè)務(wù)的多個(gè)業(yè)務(wù)環(huán)節(jié)的按照一定的順序組合而成;所述事務(wù)用于表示流程和具體文件的綁定關(guān)系;以工作流模型為基礎(chǔ),在計(jì)算機(jī)上自主定制符合實(shí)際業(yè)務(wù)的工作流實(shí)例;將工作流實(shí)例轉(zhuǎn)換生成工作流實(shí)例配置文件,以便傳輸使用;所述工作流實(shí)例配置文件用于記載所述工作流實(shí)例中的所有信息,供計(jì)算機(jī)識別與使用;計(jì)算機(jī)解析裝載工作流實(shí)例配置文件,并驅(qū)動(dòng)實(shí)例的自動(dòng)執(zhí)行。本發(fā)明具有很好的通用性。
【專利說明】一種計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)工作流處理【技術(shù)領(lǐng)域】,尤其涉及一種計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法。
【背景技術(shù)】
[0002]當(dāng)前,計(jì)算機(jī)技術(shù)已經(jīng)能夠在各個(gè)方面輔助人們完成工作。其中有一種工作流系統(tǒng),就是對數(shù)字產(chǎn)品生產(chǎn)業(yè)務(wù)的工作環(huán)節(jié)進(jìn)行整理抽象,方便用戶對各個(gè)環(huán)節(jié)進(jìn)行管理,并利用計(jì)算機(jī)自動(dòng)化地執(zhí)行,來達(dá)到清晰、條理、便捷地完成生產(chǎn)業(yè)務(wù)的目的。比較常見的工作流系統(tǒng)如自動(dòng)化辦公平臺、專業(yè)數(shù)據(jù)在線定制服務(wù)等。
[0003]工作流系統(tǒng)的實(shí)現(xiàn)通常依賴于三方面:一是從生產(chǎn)業(yè)務(wù)抽象出合理的工作流模型,二是根據(jù)模型配置出與實(shí)際業(yè)務(wù)相一致的工作流程,三是提供讓計(jì)算機(jī)自動(dòng)執(zhí)行流程完成工作的機(jī)制。
[0004]現(xiàn)有的自動(dòng)化辦公平臺主要將實(shí)現(xiàn)重點(diǎn)放在前兩方面,即對業(yè)務(wù)進(jìn)行了抽象,在此基礎(chǔ)上能可視化地配置工作流程,指導(dǎo)工作進(jìn)行。問題在于,流程配置與特定業(yè)務(wù)相關(guān)、比較受限,流程執(zhí)行也是人為控制、沒有自動(dòng)執(zhí)行機(jī)制。
[0005]而現(xiàn)有的專業(yè)數(shù)據(jù)在線定制服務(wù)則將實(shí)現(xiàn)重點(diǎn)放在第一、三方面,即對業(yè)務(wù)進(jìn)行了抽象,但固化流程來達(dá)到自動(dòng)執(zhí)行目的。因此問題在于,流程不能自主配置,服務(wù)受限、缺乏靈活性,而且自動(dòng)執(zhí)行機(jī)制也是針對既定流程設(shè)計(jì)的,不易擴(kuò)展,缺乏通用性。
[0006]在圖形渲染、圖像處理等領(lǐng)域的數(shù)字產(chǎn)品生產(chǎn)業(yè)務(wù)中,用戶希望有更大的自由度,可以自主、可視化地定制其想要的工作流程,并讓計(jì)算機(jī)驅(qū)動(dòng)自動(dòng)執(zhí)行。此時(shí),自主定制與驅(qū)動(dòng)執(zhí)行就形成了矛盾,以往的工作流系統(tǒng)尚不能很好地協(xié)調(diào)兩者;同時(shí),除了圖形渲染、圖像處理以外,其他領(lǐng)域的數(shù)字產(chǎn)品生產(chǎn)業(yè)務(wù)也會需要工作流系統(tǒng)的支持,其設(shè)計(jì)應(yīng)盡可能避免受特定業(yè)務(wù)局限。所以,計(jì)算機(jī)工作流處理領(lǐng)域人員迫切需要一種兼顧定制與執(zhí)行、且具有通用性的方法。
【發(fā)明內(nèi)容】
[0007](一 )要解決的技術(shù)問題
[0008]有鑒于此,本發(fā)明的主要目的在于提供一種面向諸如圖形渲染、圖像處理以及其它可能應(yīng)用領(lǐng)域的數(shù)字產(chǎn)品生產(chǎn)業(yè)務(wù)、利用計(jì)算機(jī)進(jìn)行工作流的自主定制與驅(qū)動(dòng)執(zhí)行的方法。
[0009]( 二 )技術(shù)方案
[0010]為達(dá)到上述目的,本發(fā)明提供了
[0011]一種計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法,其特征在于,包括:
[0012]步驟101:對生產(chǎn)業(yè)務(wù)按邏輯劃分,自底向上抽象成原型、流程、事務(wù)的三層工作流模型;所述原型用于表示生產(chǎn)業(yè)務(wù)中相互獨(dú)立的業(yè)務(wù)環(huán)節(jié),所述流程用于表示能夠完成一項(xiàng)業(yè)務(wù)的多個(gè)業(yè)務(wù)環(huán)節(jié)的按照一定的順序組合而成;所述事務(wù)用于表示流程和具體文件的綁定關(guān)系;
[0013]步驟102:以工作流模型為基礎(chǔ),在計(jì)算機(jī)上自主定制符合實(shí)際業(yè)務(wù)的工作流實(shí)例;所述工作流實(shí)例包括原型層實(shí)例、流程層實(shí)例和事務(wù)層實(shí)例;所述原型層實(shí)例包括原型模塊、原型引腳、原型參數(shù)、原型文件、原型類型;所述流程層實(shí)例包括流程記要、流程節(jié)點(diǎn)、流程連線、流程參數(shù);所述事務(wù)層實(shí)例包括事務(wù)記要、事務(wù)文件;
[0014]步驟103:將工作流實(shí)例轉(zhuǎn)換生成工作流實(shí)例配置文件,以便傳輸使用;所述工作流實(shí)例配置文件用于記載所述工作流實(shí)例中的所有信息,供計(jì)算機(jī)識別與使用;
[0015]步驟104:計(jì)算機(jī)解析裝載工作流實(shí)例配置文件,并驅(qū)動(dòng)實(shí)例的自動(dòng)執(zhí)行。
[0016](三)有益效果
[0017]從上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果:
[0018]I)本發(fā)明所建立的工作流模型,其原型、流程、事務(wù)三層分別是生產(chǎn)業(yè)務(wù)按邏輯層次自底向上的聚類。層內(nèi)對象功能分明,共同組合成一個(gè)有機(jī)整體;層間存在依賴、復(fù)用關(guān)系,但在不同的邏輯層發(fā)揮作用。這樣就為自主定制的靈活性和驅(qū)動(dòng)執(zhí)行的自動(dòng)化奠定了良好的基礎(chǔ)。
[0019]2)本發(fā)明提供的采用上述模型進(jìn)行工作流實(shí)例自主定制的方法,由于模型邏輯劃分清晰,自主定制時(shí)靈活性好、但步驟明確,可以用于更多領(lǐng)域生產(chǎn)業(yè)務(wù)的自由定制;而且能夠支持可視化定制。定制的工作流實(shí)例能夠轉(zhuǎn)換生成工作流實(shí)例配置文件,便于實(shí)例的重建或后續(xù)計(jì)算機(jī)執(zhí)行。
[0020]3)本發(fā)明提供的工作流實(shí)例的驅(qū)動(dòng)執(zhí)行方法,并沒有針對特定領(lǐng)域業(yè)務(wù)流程設(shè)計(jì),而是依據(jù)工作流模型的特點(diǎn),最大程度地實(shí)現(xiàn)對任意自主定制流程的自動(dòng)執(zhí)行,從而在兼顧了自主定制與驅(qū)動(dòng)執(zhí)行的同時(shí),保證了本發(fā)明的通用性。
【專利附圖】
【附圖說明】
[0021]圖1為依照本發(fā)明實(shí)施例的計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法總體步驟圖;
[0022]圖2為依照本發(fā)明實(shí)施例的工作流模型的層次關(guān)系示意圖;
[0023]圖3為依照本發(fā)明實(shí)施例的自主定制原型層實(shí)例的步驟圖;
[0024]圖4為依照本發(fā)明實(shí)施例的自主定制流程層實(shí)例的步驟圖;
[0025]圖5為依照本發(fā)明實(shí)施例的自主定制事務(wù)層實(shí)例的步驟圖;
[0026]圖6為依照本發(fā)明實(shí)施例的實(shí)現(xiàn)工作流實(shí)例可視化自主定制的步驟圖;
[0027]圖7為依照本發(fā)明實(shí)施例的將工作流實(shí)例轉(zhuǎn)換生成配置文件的步驟圖;
[0028]圖8為依照本發(fā)明實(shí)施例的工作流實(shí)例配置文件的結(jié)構(gòu)圖;
[0029]圖9為依照本發(fā)明實(shí)施例的計(jì)算機(jī)解析裝載工作流實(shí)例配置文件的步驟圖;
[0030]圖10為依照本發(fā)明實(shí)施例的計(jì)算機(jī)驅(qū)動(dòng)工作流實(shí)例自動(dòng)執(zhí)行的步驟圖;
[0031]圖11為依照本發(fā)明實(shí)施例的對遙感圖像0、1級產(chǎn)品生產(chǎn)業(yè)務(wù)進(jìn)行定制的流程示意圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
[0033]如圖1所示,圖1為依照本發(fā)明實(shí)施例的計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法總體步驟圖,主要包括:
[0034]步驟101:對生產(chǎn)業(yè)務(wù)按邏輯劃分,自底向上抽象成原型、流程、事務(wù)的三層工作流模型;
[0035]步驟102:以工作流模型為基礎(chǔ),在計(jì)算機(jī)上自主定制符合實(shí)際業(yè)務(wù)的工作流實(shí)例;
[0036]步驟103:將工作流實(shí)例轉(zhuǎn)換生成工作流實(shí)例配置文件,以便傳輸使用;
[0037]步驟104:計(jì)算機(jī)解析裝載工作流實(shí)例配置文件,并驅(qū)動(dòng)實(shí)例的自動(dòng)執(zhí)行。
[0038]步驟101中,生產(chǎn)業(yè)務(wù)從邏輯上來劃分,按步驟1011-1013建立工作流模型:
[0039]步驟1011,生產(chǎn)業(yè)務(wù)中通常包含一些穩(wěn)定常用、相互獨(dú)立的業(yè)務(wù)環(huán)節(jié),這些環(huán)節(jié)有其獨(dú)特的、與其它環(huán)節(jié)不相重復(fù)的作用,一般不可再分割,是構(gòu)建生產(chǎn)業(yè)務(wù)的基礎(chǔ),這些環(huán)節(jié)被分別抽象成不同的原型。業(yè)務(wù)環(huán)節(jié)所在的層次,抽象為工作流模型的原型層;
[0040]步驟1012,生產(chǎn)業(yè)務(wù)一般按照從某個(gè)起點(diǎn)經(jīng)歷某些環(huán)節(jié)、并導(dǎo)向某種結(jié)果的順序去執(zhí)行,這就形成了業(yè)務(wù)流程。業(yè)務(wù)流程由步驟1011中的能夠完成一項(xiàng)任務(wù)的業(yè)務(wù)環(huán)節(jié)按照一定的順序組合而成,是對生產(chǎn)業(yè)務(wù)的一般化描述。業(yè)務(wù)流程所在的層次,抽象為工作流模型的流程層;
[0041]步驟1013,生產(chǎn)業(yè)務(wù)僅靠業(yè)務(wù)流程這種一般化描述不能生產(chǎn)出實(shí)際產(chǎn)品,必須將流程與原始/目標(biāo)文件綁定才能進(jìn)行實(shí)際生產(chǎn),這就形成了業(yè)務(wù)事務(wù)。業(yè)務(wù)事務(wù)是生產(chǎn)業(yè)務(wù)最終的落實(shí)者。業(yè)務(wù)事務(wù)所在的層次,抽象為工作流模型的事務(wù)層。
[0042]步驟1011中,進(jìn)一步細(xì)化原型層模型如下,包括:
[0043]原型模塊:對某個(gè)業(yè)務(wù)環(huán)節(jié)本身的一般化抽象,描述該業(yè)務(wù)環(huán)節(jié)的名稱、主要作用、執(zhí)行程序等;
[0044]原型引腳:對某個(gè)業(yè)務(wù)環(huán)節(jié)所需的輸入和輸出進(jìn)行抽象,描述輸入或輸出的名稱、次序、數(shù)據(jù)類型等,一個(gè)原型模塊可能有若干個(gè)輸入或輸出原型引腳;
[0045]原型參數(shù):對某個(gè)業(yè)務(wù)環(huán)節(jié)在運(yùn)行時(shí)所需的參數(shù)進(jìn)行抽象,描述參數(shù)的名稱、次序、數(shù)據(jù)類型等,一個(gè)原型模塊可包含若干原型參數(shù);
[0046]原型文件:對某個(gè)業(yè)務(wù)環(huán)節(jié)在運(yùn)行時(shí)需要獲取的原始文件、或生成的目標(biāo)文件進(jìn)行抽象,描述文件的名稱、次序、文件類型等;
[0047]原型類型:對上述原型引腳、原型參數(shù)、原型文件所屬數(shù)據(jù)或文件的種類和樣式進(jìn)行抽象。
[0048]步驟1012中,進(jìn)一步細(xì)化流程層模型如下,包括:
[0049]流程記要:對業(yè)務(wù)流程本身的抽象,記錄了業(yè)務(wù)流程的名稱、時(shí)間、作用等要點(diǎn)信息;
[0050]流程節(jié)點(diǎn):對業(yè)務(wù)流程實(shí)際包含的業(yè)務(wù)環(huán)節(jié)進(jìn)行抽象,記錄處于某個(gè)具體業(yè)務(wù)流程中的業(yè)務(wù)環(huán)節(jié),依賴于原型模塊,對原型模塊進(jìn)行復(fù)用;
[0051]流程連線:對業(yè)務(wù)流程實(shí)際包含業(yè)務(wù)環(huán)節(jié)的執(zhí)行順序進(jìn)行抽象,記錄了具體業(yè)務(wù)流程中從某一環(huán)節(jié)輸出到另一環(huán)節(jié)輸入的走向,依賴于原型引腳,對原型引腳進(jìn)行復(fù)用;
[0052]流程參數(shù):對業(yè)務(wù)流程實(shí)際包含業(yè)務(wù)環(huán)節(jié)的參數(shù)進(jìn)行抽象,記錄了具體業(yè)務(wù)流程中業(yè)務(wù)環(huán)節(jié)所需參數(shù)的實(shí)際值,依賴于原型參數(shù),對原型參數(shù)進(jìn)行復(fù)用。
[0053]步驟1013中,進(jìn)一步細(xì)化事務(wù)層模型如下,包括:
[0054]事務(wù)記要:對業(yè)務(wù)事務(wù)本身的抽象,記錄了業(yè)務(wù)事務(wù)的名稱、時(shí)間、作用、采用業(yè)務(wù)流程等要點(diǎn)信息;
[0055]事務(wù)文件:對業(yè)務(wù)事務(wù)實(shí)際綁定的文件進(jìn)行抽象,記錄處于某個(gè)具體業(yè)務(wù)事務(wù)中的業(yè)務(wù)環(huán)節(jié)所綁定文件的實(shí)際路徑,依賴于原型文件,對原型文件進(jìn)行復(fù)用。
[0056]以上完成工作流模型的抽象建立,其層次示意圖如圖2所示。
[0057]步驟102,以上述工作流模型為基礎(chǔ),在計(jì)算機(jī)上自主定制符合實(shí)際業(yè)務(wù)的工作流實(shí)例,其中自主定制按步驟1021-1023進(jìn)行:
[0058]步驟1021,定制原型層實(shí)例:將實(shí)際生產(chǎn)業(yè)務(wù)劃分成若干業(yè)務(wù)環(huán)節(jié),然后為每個(gè)業(yè)務(wù)環(huán)節(jié)都添加對應(yīng)的原型模塊以及與之相關(guān)的原型引腳、原型參數(shù)、原型文件和原型類型。根據(jù)一個(gè)業(yè)務(wù)環(huán)節(jié)定制對應(yīng)的原型層實(shí)例如圖3所示,包括步驟301-306:
[0059]步驟301,確定一個(gè)業(yè)務(wù)環(huán)節(jié);
[0060]步驟302,根據(jù)此業(yè)務(wù)環(huán)節(jié),添加一個(gè)原型模塊,設(shè)定該模塊的名稱、作用、程序等描述;
[0061]步驟303,判斷此業(yè)務(wù)環(huán)節(jié)有無輸入輸出,若有則執(zhí)行步驟3031-3036,否則執(zhí)行步驟304 ;
[0062]步驟3031,為已添加的原型模塊增加相應(yīng)的輸入/輸出原型引腳;
[0063]步驟3032,設(shè)定所增加原型引腳的名稱、次序等;
[0064]步驟3033,檢查原型類型中有無與原型引腳相符的數(shù)據(jù)類型,若有則直接執(zhí)行步驟3035,否則先執(zhí)行步驟3034、再執(zhí)行步驟3035 ;
[0065]步驟3034,在原型類型中增加新的數(shù)據(jù)類型;
[0066]步驟3035,為原型引腳選定一項(xiàng)原型類型;
[0067]步驟3036,檢查業(yè)務(wù)環(huán)節(jié)的輸入輸出是否已全部抽象為原型引腳,是則執(zhí)行步驟304,否則返回步驟3031 ;
[0068]步驟304,判斷此業(yè)務(wù)環(huán)節(jié)有無運(yùn)行時(shí)參數(shù),若有則執(zhí)行步驟3041-3046,否則執(zhí)行步驟305 ;
[0069]步驟3041,為原型模塊增加相應(yīng)的原型參數(shù);
[0070]步驟3042,設(shè)定所增加原型參數(shù)的名稱、次序等;
[0071]步驟3043,檢查原型類型中有無與原型參數(shù)相符的數(shù)據(jù)類型,若有則執(zhí)行步驟3045,否則先執(zhí)行步驟3044,再執(zhí)行步驟3045 ;
[0072]步驟3044,在原型類型中增加新的數(shù)據(jù)類型;
[0073]步驟3045,為原型參數(shù)選定一項(xiàng)原型類型;
[0074]步驟3036,檢查業(yè)務(wù)環(huán)節(jié)所需的運(yùn)行時(shí)參數(shù)是否已全部抽象為原型參數(shù),是則執(zhí)行步驟305,否則返回步驟3041 ;
[0075]步驟305,判斷此業(yè)務(wù)環(huán)節(jié)是否涉及文件,若是則執(zhí)行步驟3051-3056,否則執(zhí)行步驟306 ;
[0076]步驟3051,為原型模塊增加相應(yīng)的原始/目標(biāo)原型文件;
[0077]步驟3052,設(shè)定所增加原型文件的名稱、次序等;
[0078]步驟3053,檢查原型類型中有無與原型文件相符的文件類型,若有則執(zhí)行步驟3055,否則先執(zhí)行步驟3054,再執(zhí)行步驟3055 ;
[0079]步驟3054,在原型類型中增加新的文件類型;
[0080]步驟3055,為原型文件選定一項(xiàng)原型類型;
[0081]步驟3056,檢查業(yè)務(wù)環(huán)節(jié)涉及的文件是否已全部抽象為原型文件,是則執(zhí)行步驟306,否則返回步驟3051 ;
[0082]步驟306,保存上述定制的原型模塊及其相關(guān)的原型引腳、原型參數(shù)、原型文件、原型類型等內(nèi)容到數(shù)據(jù)庫。
[0083]下面以遙感圖像的0、1級廣品生廣業(yè)務(wù)為例,說明如何定制原型層實(shí)例。
[0084]由于遙感圖像的0、1級產(chǎn)品生產(chǎn)可以分為“指定源數(shù)據(jù)”、“格式化”、“配準(zhǔn)”、“融合”、“存儲目標(biāo)數(shù)據(jù)”等環(huán)節(jié),因此即對應(yīng)五個(gè)同名的原型模塊。以“指定源數(shù)據(jù)”模塊為例,其作用就是為生產(chǎn)業(yè)務(wù)準(zhǔn)備好待處理的源數(shù)據(jù),模塊的執(zhí)行程序?yàn)閜repare, exe ;該模塊無輸入引腳,只有一個(gè)輸出引腳,引腳的原型類型為“圖像”;該模塊無運(yùn)行時(shí)參數(shù);該模塊只有一個(gè)原始文件,即“源數(shù)據(jù)路徑”。其它模塊均按照圖3的步驟逐一完善。定制完成后的原型層實(shí)例信息即存入數(shù)據(jù)庫。
[0085]通過以上步驟,可完成原型層實(shí)例的定制。
[0086]步驟1022,定制流程層實(shí)例:利用已定制的原型層實(shí)例,以某個(gè)業(yè)務(wù)流程為參照,添加一項(xiàng)流程記要,并為其增加流程節(jié)點(diǎn)、流程連線和流程參數(shù),如圖4所示,包括步驟401-405:
[0087]步驟401,確定所參照的某個(gè)業(yè)務(wù)流程;
[0088]步驟402,提取該業(yè)務(wù)流程的名稱、時(shí)間、作用等信息,形成一項(xiàng)新的流程記要;
[0089]步驟403,判斷該業(yè)務(wù)流程是否仍需要增加流程節(jié)點(diǎn)來完善流程,是則執(zhí)行步驟4031-4033,否則執(zhí)行步驟404 ;
[0090]步驟4031,增加一個(gè)新的流程節(jié)點(diǎn),并為其選定所采用的原型模塊;
[0091]步驟4032,判斷所采用的原型模塊有無原型參數(shù),有則執(zhí)行步驟4033,無則返回步驟403 ;
[0092]步驟4033,有原型參數(shù)時(shí),增加相應(yīng)的流程參數(shù),并設(shè)定參數(shù)實(shí)際值,然后返回步驟 403 ;
[0093]步驟404,判斷該業(yè)務(wù)流程是否仍需要增加流程連線來完善流程,是則執(zhí)行步驟4041-4043,否則執(zhí)行步驟405 ;
[0094]步驟4041,選定一個(gè)流程節(jié)點(diǎn)所采用原型模塊上的輸出原型引腳為起點(diǎn);
[0095]步驟4042,再選定一個(gè)流程節(jié)點(diǎn)所采用原型模塊上的輸入原型引腳為終點(diǎn);
[0096]步驟4043,記錄上述起點(diǎn)和終點(diǎn),增加一條流程連線,返回步驟404 ;
[0097]步驟405,保存上述定制出的流程記要及相關(guān)的流程節(jié)點(diǎn)、流程連線等內(nèi)容到數(shù)據(jù)庫。
[0098]通過以上步驟,即完成流程層實(shí)例的定制。
[0099]依然以遙感圖像0、1級產(chǎn)品業(yè)務(wù)為例說明定制流程層示例的過程。
[0100]根據(jù)0、1級產(chǎn)品的生產(chǎn)需要,可形成兩條流程記要,分別代表0、1級產(chǎn)品生產(chǎn)。再以O(shè)級產(chǎn)品的生產(chǎn)流程完善為例,流程共需三個(gè)節(jié)點(diǎn),分別選用模塊“指定源數(shù)據(jù)”、“格式化”和“存儲目標(biāo)數(shù)據(jù)”,并用連線將相應(yīng)的引腳連接起來。I級產(chǎn)品的生產(chǎn)流程定制與之類似,只是增加了選用“配準(zhǔn)”、“融合”模塊的節(jié)點(diǎn)??梢暬牧鞒淌疽馊鐖D11所示,帶文字矩形代表選用某個(gè)模塊的節(jié)點(diǎn),實(shí)心黑色針形代表引腳,連線將節(jié)點(diǎn)串成完整的流程。這里,模塊是原型層定制好、能夠被復(fù)用的,所屬節(jié)點(diǎn)則是唯一的。定制完成后的流程層實(shí)例信息同樣存入數(shù)據(jù)庫
[0101]步驟1023,定制事務(wù)層實(shí)例:利用已定制的原型層和流程層實(shí)例,以某個(gè)業(yè)務(wù)事務(wù)為參照,添加一項(xiàng)事務(wù)記要,并為其增加事務(wù)文件,如圖5所示,包括步驟501-506:
[0102]步驟501,確定所參照的某個(gè)業(yè)務(wù)事務(wù);
[0103]步驟502,提取該業(yè)務(wù)事務(wù)的名稱、時(shí)間、作用等信息形成一項(xiàng)新的事務(wù)記要;
[0104]步驟503,為事務(wù)記要選定所采用的業(yè)務(wù)流程,主要是根據(jù)流程記要來選擇合適的業(yè)務(wù)流程實(shí)例;
[0105]步驟504,檢查業(yè)務(wù)流程實(shí)例中的流程節(jié)點(diǎn),判斷其所用原型模塊是否包含未設(shè)置的原型文件,若有則執(zhí)行步驟505,否則執(zhí)行步驟506 ;
[0106]步驟505,增加與原型文件相應(yīng)的事務(wù)文件,并設(shè)定文件實(shí)際路徑,返回步驟504。
[0107]步驟506,保存上述定制的事務(wù)記要及事務(wù)文件到數(shù)據(jù)庫。
[0108]通過以上步驟,即完成事務(wù)層實(shí)例的定制。
[0109]依然以遙感圖像0、1級產(chǎn)品業(yè)務(wù)為例說明定制事務(wù)層實(shí)例的過程。
[0110]最后定制事務(wù)層實(shí)例:假設(shè)要進(jìn)行7月7日新采集的遙感圖像的O級產(chǎn)品生產(chǎn),SP可增加一條新的事務(wù)記要,并選擇已定制的O級產(chǎn)品生產(chǎn)流程,為“指定源數(shù)據(jù)”、“存儲目標(biāo)數(shù)據(jù)”設(shè)置事務(wù)文件的實(shí)際路徑,如圖11中的虛線氣泡框所示意。若要進(jìn)行I級產(chǎn)品生產(chǎn)亦如此定制新的事務(wù),定制完成后均存入數(shù)據(jù)庫。
[0111]由此,步驟102所述的工作流實(shí)例的自主定制全部完成。
[0112]步驟102中,由于工作流實(shí)例的自主定制是在計(jì)算機(jī)上完成,借助計(jì)算機(jī)的圖形界面,即能夠支持可視化定制。實(shí)現(xiàn)可視化定制的步驟如圖6,包括步驟601-603:
[0113]步驟601,首先進(jìn)行原型層實(shí)例的可視化定制,具體又分為步驟6011-6017:
[0114]步驟6011,在圖形界面主窗口添加一個(gè)矩形標(biāo)簽,代表一個(gè)原型模塊;
[0115]步驟6012,雙擊矩形標(biāo)簽,編輯原型模塊的名稱、作用、程序等信息;
[0116]步驟6013,在矩形標(biāo)簽的左右外框單擊新增若干針狀標(biāo)簽,代表各個(gè)原型引腳;
[0117]步驟6014,雙擊針狀標(biāo)簽,彈出對話框,編輯原型引腳的名稱、次序、數(shù)據(jù)類型等信息;
[0118]步驟6015,在矩形標(biāo)簽的底部單擊新增若干點(diǎn)狀標(biāo)簽,代表原型參數(shù)或原型文件;
[0119]步驟6016,雙擊點(diǎn)狀標(biāo)簽,彈出對話框,編輯原型參數(shù)或原型文件的名稱、次序、數(shù)據(jù)/文件類型等信息;
[0120]步驟6017,保存以上定制的原型層實(shí)例信息。
[0121]步驟602,其次進(jìn)行流程層實(shí)例的可視化定制,具體又分為步驟6021-6027:
[0122]步驟6021,在圖形界面主窗口以表格形式編輯流程記要的名稱、作用等信息;
[0123]步驟6022,主窗口以矩形標(biāo)簽列表形式顯示現(xiàn)有的原型模塊;
[0124]步驟6023,主窗口以畫布形式顯示流程編輯區(qū)域;
[0125]步驟6024,拖拽步驟6022中代表相應(yīng)原型模塊的矩形標(biāo)簽到流程編輯區(qū)域,形成新的流程節(jié)點(diǎn);
[0126]步驟6025,雙擊矩形標(biāo)簽上代表原型參數(shù)的點(diǎn)狀標(biāo)簽,彈出對話框,設(shè)定實(shí)際取值,形成新的流程參數(shù);
[0127]步驟6026,選定矩形標(biāo)簽上代表原型引腳的針狀標(biāo)簽,增加所需的流程連線;
[0128]步驟6027,保存以上定制的流程層實(shí)例信息。
[0129]步驟603,最后進(jìn)行事務(wù)層實(shí)例的可視化定制,具體又分為步驟6031-6035:
[0130]步驟6031,在圖形界面主窗口以表格形式編輯事務(wù)記要的名稱、作用等信息;
[0131]步驟6032,主窗口以列表形式顯示現(xiàn)有業(yè)務(wù)流程的流程記要,根據(jù)需要選定一項(xiàng)流程記要;
[0132]步驟6033,主窗口以畫布形式顯示流程編輯區(qū)域,其中包括與所選流程記要相關(guān)聯(lián)的所有流程節(jié)點(diǎn)(顯示為矩形標(biāo)簽)與流程連線;
[0133]步驟6034,雙擊矩形標(biāo)簽上代表原型文件的點(diǎn)狀標(biāo)簽,彈出對話框,設(shè)定文件實(shí)際路徑,形成新的事務(wù)文件;
[0134]步驟6035,保存以上定制的事務(wù)層實(shí)例信息。
[0135]通過以上步驟,即可實(shí)現(xiàn)工作流實(shí)例的可視化自主定制。
[0136]步驟103,將工作流實(shí)例轉(zhuǎn)換生成工作流實(shí)例配置文件,以便傳輸供其它計(jì)算機(jī)識別與使用。其中轉(zhuǎn)換生成與模型建立或自主定制的順序相反,是自頂向下進(jìn)行的,如圖7所示,包括步驟701-712:
[0137]步驟701,從數(shù)據(jù)庫獲取事務(wù)層實(shí)例的一項(xiàng)事務(wù)記要;
[0138]步驟702,將事務(wù)記要中的名稱、時(shí)間、作用等信息寫入配置文件;
[0139]步驟703,根據(jù)事務(wù)記要中所采用業(yè)務(wù)流程的信息,從流程層實(shí)例中獲取對應(yīng)的流程記要;
[0140]步驟704,將流程記要中的名稱、時(shí)間、作用等信息寫入配置文件;
[0141]步驟705,獲取與該流程記要相關(guān)聯(lián)的所有流程節(jié)點(diǎn);
[0142]步驟706,從原型層實(shí)例獲取各個(gè)流程節(jié)點(diǎn)所采用的原型模塊(包括原型引腳);
[0143]步驟707,將流程節(jié)點(diǎn)所用的原型模塊(包括原型引腳)信息寫入配置文件;
[0144]步驟708,獲取與原型模塊相關(guān)聯(lián)的原型參數(shù)和原型文件;
[0145]步驟709,找到與原型參數(shù)/原型文件相對應(yīng)的流程參數(shù)/事務(wù)文件;
[0146]步驟710,將原型參數(shù)/原型文件的名稱、次序信息與流程參數(shù)/事務(wù)文件的實(shí)際取值合并,寫入配置文件;
[0147]步驟711,獲取與流程記要相關(guān)聯(lián)的所有流程連線;
[0148]步驟712,將流程連線的走向信息寫入配置文件。
[0149]通過以上步驟,即可將工作流實(shí)例轉(zhuǎn)換生成工作流實(shí)例配置文件。文件結(jié)構(gòu)如圖8所示:分為事務(wù)記要、流程記要、流程節(jié)點(diǎn)(若干)、流程連線(若干)四部分;單個(gè)流程節(jié)點(diǎn)下包含了所用原型模塊及其原型引腳、原型參數(shù)(及對應(yīng)流程參數(shù))、原型文件(及對應(yīng)事務(wù)文件)的信息;單個(gè)流程連線下包含了起點(diǎn)、終點(diǎn)信息。
[0150]對于遙感圖像0、1級產(chǎn)品業(yè)務(wù)的示例來說,為進(jìn)行計(jì)算機(jī)生產(chǎn),須轉(zhuǎn)換生成工作流實(shí)例配置文件,仍以O(shè)級產(chǎn)品生產(chǎn)事務(wù)為例,配置文件的基本格式為:
[0151]-〈root〉
[0152]-<事務(wù)記要名稱=7月7日采集圖像的O級產(chǎn)品時(shí)間=...作用=...>
[0153]-<流程記要名稱=O級產(chǎn)品生產(chǎn)時(shí)間=...作用=...>
[0154]-〈流程節(jié)點(diǎn)〉
[0155]-〈節(jié)點(diǎn)1>
[0156]-<原型模塊名稱=指定源數(shù)據(jù)作用=...程序=preprare.exe>
[0157]-〈原型引腳I名稱=輸出次序=i類型=圖像〉
[0158]-<原型文件I名稱=源數(shù)據(jù)路徑次序=I類型=圖像>
[0159]-<事務(wù)文件I實(shí)際值=7月7日新采集數(shù)據(jù)>
[0160]-〈節(jié)點(diǎn)2>
[0161]-<原型模塊名稱=格式化作用=...程序=format.exe>
[0162]-〈原型引腳I名稱=輸入次序=I類型=圖像〉
[0163]-<原型引腳2名稱=輸出次序=I類型=圖像>
[0164]-<原型參數(shù)I名稱=格式化參數(shù)次序=I類型=參數(shù)>
[0165]-<流程參數(shù)I實(shí)際值=...>
[0166]-〈節(jié)點(diǎn)3>
[0167]-〈與上類似,略〉
[0168]......
[0169]-〈流程連線〉
[0170]-<連線I起點(diǎn)=節(jié)點(diǎn)I原型引腳I終點(diǎn)=節(jié)點(diǎn)2原型引腳1>
[0171]-〈連線2與上類似,略〉
[0172].......
[0173]步驟104:計(jì)算機(jī)解析裝載工作流實(shí)例配置文件,并驅(qū)動(dòng)實(shí)例的自動(dòng)執(zhí)行。其中,解析是識別提取配置文件中的關(guān)鍵信息,其順序與步驟103中轉(zhuǎn)換生成的順序基本相同;裝載是將解析后的信息載入計(jì)算機(jī)內(nèi)存。解析裝載過程如圖9所示,包括步驟901-910:
[0174]步驟901,在配置文件中查找事務(wù)記要,解析出事務(wù)記要的名稱、時(shí)間、作用等關(guān)鍵字及其具體信息;
[0175]步驟902,在計(jì)算機(jī)內(nèi)存中為事務(wù)記要分配結(jié)構(gòu)體空間,并裝載事務(wù)記要的名稱、時(shí)間、作用等信息;
[0176]步驟903,在配置文件中查找流程記要,解析出流程記要的名稱、時(shí)間、作用等關(guān)鍵字及其具體信息;
[0177]步驟904,在計(jì)算機(jī)內(nèi)存中為流程記要分配結(jié)構(gòu)體空間,并裝載流程記要的名稱、時(shí)間、作用等信息;
[0178]步驟905,在配置文件中逐個(gè)查找流程節(jié)點(diǎn),解析出流程節(jié)點(diǎn)及其所用原型模塊,包括與原型模塊相關(guān)的原型引腳、原型參數(shù)、原型文件等;
[0179]步驟906,在計(jì)算機(jī)內(nèi)存中為每個(gè)流程節(jié)點(diǎn)分配結(jié)構(gòu)體空間,裝載流程節(jié)點(diǎn)自身信息;
[0180]步驟907,在流程節(jié)點(diǎn)的結(jié)構(gòu)體空間中,裝載所用原型模塊以及原型引腳的信息;
[0181]步驟908,在流程節(jié)點(diǎn)的結(jié)構(gòu)體空間中,裝載原型參數(shù)/原型文件和對應(yīng)流程參數(shù)/事務(wù)文件的信息;
[0182]步驟909,在配置文件中逐個(gè)查找流程連線,解析出流程連線的起點(diǎn)、終點(diǎn)關(guān)鍵字及其具體信息;
[0183]步驟910,在計(jì)算機(jī)內(nèi)存中為每個(gè)流程連線分配結(jié)構(gòu)體空間,裝載流程連線的起點(diǎn)、終點(diǎn)信息。
[0184]通過以上步驟可完成工作流實(shí)例配置文件的解析裝載。
[0185]步驟104中,解析裝載完畢后,計(jì)算機(jī)將驅(qū)動(dòng)工作流實(shí)例自動(dòng)執(zhí)行,如圖10所示,包括步驟1001-1006:
[0186]步驟1001,將所有流程節(jié)點(diǎn)標(biāo)記為未執(zhí)行狀態(tài),并加入一個(gè)等待隊(duì)列;
[0187]步驟1002,輪詢等待隊(duì)列中的每個(gè)流程節(jié)點(diǎn),即不斷從隊(duì)列頭至尾按序取得一個(gè)流程節(jié)點(diǎn),來執(zhí)行步驟1003-1004的查詢;
[0188]步驟1003,判斷當(dāng)前取得的流程節(jié)點(diǎn)是否為未執(zhí)行狀態(tài),是則執(zhí)行步驟10031-10034,否則執(zhí)行步驟1004 ;
[0189]步驟10031,根據(jù)流程連線信息搜尋當(dāng)前流程節(jié)點(diǎn)的前驅(qū)流程節(jié)點(diǎn),前驅(qū)流程節(jié)點(diǎn)即流程連線的終點(diǎn)指向當(dāng)前流程節(jié)點(diǎn)、而起點(diǎn)所在的節(jié)點(diǎn)。
[0190]步驟10032,判斷前驅(qū)流程節(jié)點(diǎn)是否全部是執(zhí)行完成狀態(tài)(沒有前驅(qū)流程節(jié)點(diǎn)則默認(rèn)為是),是則繼續(xù)執(zhí)行步驟10033-10034,否則返回步驟1002 ;
[0191]步驟10033,準(zhǔn)備好當(dāng)前流程節(jié)點(diǎn)的輸入、運(yùn)行時(shí)參數(shù)/文件,其中,輸入由當(dāng)前流程節(jié)點(diǎn)所用原型模塊上的輸入原型引腳指示,具體內(nèi)容來源于前驅(qū)流程節(jié)點(diǎn)所用原型模塊上的輸出原型引腳,運(yùn)行時(shí)參數(shù)/文件則來源于流程參數(shù)/事務(wù)文件的實(shí)際取值;
[0192]步驟10034,以步驟10033中的輸入、參數(shù)/文件為基礎(chǔ),啟動(dòng)當(dāng)前流程節(jié)點(diǎn)所用原型模塊的可執(zhí)行程序,并標(biāo)記當(dāng)前流程節(jié)點(diǎn)為執(zhí)行中狀態(tài),返回步驟1002 ;
[0193]步驟1004,判斷當(dāng)前流程節(jié)點(diǎn)是否執(zhí)行完成,是則執(zhí)行步驟10041-10042,否則返回步驟1002 ;
[0194]步驟10041,設(shè)置當(dāng)前流程節(jié)點(diǎn)的輸出,這是指將可執(zhí)行程序的輸出內(nèi)容綁定到當(dāng)前流程節(jié)點(diǎn)所用原型模塊上的輸出原型引腳;
[0195]步驟10042,標(biāo)記當(dāng)前流程節(jié)點(diǎn)為執(zhí)行完成狀態(tài),并將其移出等待隊(duì)列,繼續(xù)執(zhí)行步驟1005 ;
[0196]步驟1005,判斷等待隊(duì)列是否為空,是則執(zhí)行步驟1006,否則返回步驟1002 ;
[0197]步驟1006,根據(jù)工作流的驅(qū)動(dòng)執(zhí)行情況,更新事務(wù)記要信息。
[0198]通過以上步驟,工作流實(shí)例就能夠被計(jì)算機(jī)驅(qū)動(dòng)自動(dòng)執(zhí)行,生產(chǎn)出相應(yīng)的結(jié)果。
[0199]對于遙感圖像的O級產(chǎn)品生產(chǎn)事務(wù)的配置文件,計(jì)算機(jī)解析裝載上述配置文件,驅(qū)動(dòng)工作流實(shí)例自動(dòng)執(zhí)行:首先將節(jié)點(diǎn)“指定源數(shù)據(jù)”、“格式化”和“存儲目標(biāo)數(shù)據(jù)”都置為未執(zhí)行狀態(tài),加入等待隊(duì)列;輪詢隊(duì)列發(fā)現(xiàn)“指定源數(shù)據(jù)”無前驅(qū)節(jié)點(diǎn),可立即執(zhí)行,而其它兩節(jié)點(diǎn)仍需等待;一旦“指定源數(shù)據(jù)”節(jié)點(diǎn)獲得了源數(shù)據(jù),其執(zhí)行完成,則“格式化”節(jié)點(diǎn)也可執(zhí)行,其輸入為“指定源數(shù)據(jù)”節(jié)點(diǎn)的輸出格式化”節(jié)點(diǎn)完成后,“存儲目標(biāo)數(shù)據(jù)”節(jié)點(diǎn)也依次執(zhí)行;三個(gè)節(jié)點(diǎn)全部執(zhí)行完成后,等待隊(duì)列為空,整個(gè)生產(chǎn)事務(wù)就被計(jì)算機(jī)處理完畢,獲得所需產(chǎn)品。
[0200]綜上所述,本發(fā)明通過對生產(chǎn)業(yè)務(wù)按邏輯劃分,自底向上抽象成原型、流程、事務(wù)的三層工作流模型;以工作流模型為基礎(chǔ),在計(jì)算機(jī)上自主定制符合實(shí)際業(yè)務(wù)的工作流實(shí)例;將工作流實(shí)例轉(zhuǎn)換生成工作流實(shí)例配置文件,以便傳輸使用;計(jì)算機(jī)解析裝載工作流實(shí)例配置文件,并驅(qū)動(dòng)實(shí)例的自動(dòng)執(zhí)行,最終實(shí)現(xiàn)了一種計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法,達(dá)到了為計(jì)算機(jī)工作流處理領(lǐng)域提供一種兼顧定制與執(zhí)行、且具有通用性方法的目的。
[0201]以上所述的具體實(shí)施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種計(jì)算機(jī)工作流的自主定制與驅(qū)動(dòng)執(zhí)行的通用方法,其特征在于,包括: 步驟101:對生產(chǎn)業(yè)務(wù)按邏輯劃分,自底向上抽象成原型、流程、事務(wù)的三層工作流模型;所述原型用于表示生產(chǎn)業(yè)務(wù)中相互獨(dú)立的業(yè)務(wù)環(huán)節(jié),所述流程用于表示能夠完成一項(xiàng)業(yè)務(wù)的多個(gè)業(yè)務(wù)環(huán)節(jié)的按照一定的順序組合而成;所述事務(wù)用于表示流程和具體文件的綁定關(guān)系; 步驟102:以工作流模型為基礎(chǔ),在計(jì)算機(jī)上自主定制符合實(shí)際業(yè)務(wù)的工作流實(shí)例;所述工作流實(shí)例包括原型層實(shí)例、流程層實(shí)例和事務(wù)層實(shí)例;所述原型層實(shí)例包括原型模塊、原型引腳、原型參數(shù)、原型文件、原型類型;所述流程層實(shí)例包括流程記要、流程節(jié)點(diǎn)、流程連線、流程參數(shù);所述事務(wù)層實(shí)例包括事務(wù)記要、事務(wù)文件; 步驟103:將工作流實(shí)例轉(zhuǎn)換生成工作流實(shí)例配置文件,以便傳輸使用;所述工作流實(shí)例配置文件用于記載所述工作流實(shí)例中的所有信息,供計(jì)算機(jī)識別與使用; 步驟104:計(jì)算機(jī)解析裝載工作流實(shí)例配置文件,并驅(qū)動(dòng)實(shí)例的自動(dòng)執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述原型層模型中的原型模塊、原型引腳、原型參數(shù)、原型文件、原型類型分別表示業(yè)務(wù)環(huán)節(jié)本身、業(yè)務(wù)環(huán)節(jié)輸入輸出、業(yè)務(wù)環(huán)節(jié)所需運(yùn)行時(shí)參數(shù)、業(yè)務(wù)環(huán)節(jié)所要獲取或生成的文件以及引腳、參數(shù)、文件的數(shù)據(jù)類型;所述流程層模型中的流程 記要、流程節(jié)點(diǎn)、流程連線、流程參數(shù)分別表示業(yè)務(wù)流程本身、流程實(shí)際包含的業(yè)務(wù)環(huán)節(jié)、流程中業(yè)務(wù)環(huán)節(jié)的執(zhí)行順序、以及流程中業(yè)務(wù)環(huán)節(jié)的實(shí)際參數(shù);所述事務(wù)層模型中的事務(wù)記要、事務(wù)文件用于表示業(yè)務(wù)事務(wù)本身、事務(wù)實(shí)際綁定的文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟102中所述原型層實(shí)例的定制,是以實(shí)際的業(yè)務(wù)環(huán)節(jié)為參照,先使用原型模塊來描述業(yè)務(wù)環(huán)節(jié)本身,再考察業(yè)務(wù)環(huán)節(jié)是否包含輸入輸出、運(yùn)行時(shí)參數(shù)、所需文件,從而對應(yīng)地使用原型引腳、原型參數(shù)、原型文件分別進(jìn)行描述,原型引腳、原型參數(shù)和原型文件的類型則用原型類型統(tǒng)一描述。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟102中所述流程層實(shí)例的定制,是利用已定制的原型層實(shí)例,以實(shí)際的業(yè)務(wù)流程為參照,先使用流程記要來描述業(yè)務(wù)流程本身,再考察業(yè)務(wù)流程需要具備的業(yè)務(wù)環(huán)節(jié)、環(huán)節(jié)參數(shù)、執(zhí)行順序,從而對應(yīng)地使用流程節(jié)點(diǎn)、流程參數(shù)、流程連線分別進(jìn)行描述。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟102中所述事務(wù)層實(shí)例的定制,是利用已定制的原型層、流程層實(shí)例,以實(shí)際的業(yè)務(wù)事務(wù)為參照,先使用事務(wù)記要來描述業(yè)務(wù)事務(wù)本身,再考察業(yè)務(wù)事務(wù)所需要綁定的文件,從而使用事務(wù)文件來進(jìn)行描述。
6.根據(jù)權(quán)利要求3-5任一項(xiàng)所述的方法,其特征在于,所述自主定制是在計(jì)算機(jī)上完成的,借助計(jì)算機(jī)圖形界面,實(shí)現(xiàn)各層模型實(shí)例的可視化定制,以可視化方式將模型展示為圖形,并在圖形上對模型信息進(jìn)行編輯。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟103中所述將工作流實(shí)例轉(zhuǎn)換生成工作流實(shí)例配置文件,是按照自頂向下的順序,先向配置文件中寫入事務(wù)記要信息,再寫入流程記要信息,然后寫入所有流程節(jié)點(diǎn)信息,最后寫入所有流程連線信息。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,步驟103中所述工作流實(shí)例配置文件的結(jié)構(gòu)包括事務(wù)記要、流程記要、多個(gè)流程節(jié)點(diǎn)、多個(gè)流程連線,其中,每個(gè)流程節(jié)點(diǎn)又包括所用原型模塊及其原型引腳、原型參數(shù)及對應(yīng)流程參數(shù)、原型文件及對應(yīng)事務(wù)文件的信息;每個(gè)流程連線包括連線的起點(diǎn)和終點(diǎn)信息。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟104中所述計(jì)算機(jī)解析裝載工作流實(shí)例配置文件,是計(jì)算機(jī)識別并提取所述工作流實(shí)例配置文件中的關(guān)鍵信息,并將所提取的關(guān)鍵信息載入計(jì)算機(jī)內(nèi)存,在內(nèi)存空間中構(gòu)建出事務(wù)記要、流程記要、流程節(jié)點(diǎn)、流程連線的結(jié)構(gòu)體信息。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟104中所述驅(qū)動(dòng)工作流實(shí)例的自動(dòng)執(zhí)行,是計(jì)算機(jī)以內(nèi)存空間中的結(jié)構(gòu)體信息為基礎(chǔ),采用如下方法步驟進(jìn)行驅(qū)動(dòng): 所有流程節(jié)點(diǎn)被標(biāo)記為未執(zhí)行狀態(tài),并全部加入一個(gè)等待隊(duì)列; 對等待隊(duì)列中的流程節(jié)點(diǎn)輪流進(jìn)行判斷,若當(dāng)前流程節(jié)點(diǎn)為未執(zhí)行狀態(tài),則在其前面的所有流程節(jié)點(diǎn)全部完成時(shí)將當(dāng)前流程節(jié)點(diǎn)啟動(dòng)執(zhí)行并標(biāo)記為執(zhí)行中狀態(tài),否則令其繼續(xù)等待;若當(dāng)前流程節(jié)點(diǎn)為執(zhí)行中狀態(tài),則在檢查到當(dāng)前流程節(jié)點(diǎn)執(zhí)行完畢時(shí)將其移出等待隊(duì)列并標(biāo)記為執(zhí)行完成狀態(tài),或在檢查到其仍在執(zhí)行時(shí)繼續(xù)等待; 檢測等待隊(duì)列是否為空,為空則表明所有流程節(jié)點(diǎn)已經(jīng)執(zhí)行完成,則進(jìn)入下一步; 對工作流實(shí)例的執(zhí)行情況進(jìn)行 記錄總結(jié)。
【文檔編號】G06F17/30GK104077669SQ201410351275
【公開日】2014年10月1日 申請日期:2014年7月23日 優(yōu)先權(quán)日:2014年7月23日
【發(fā)明者】劉思江, 蔣永實(shí) 申請人:中國科學(xué)院自動(dòng)化研究所