本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種流程實(shí)例的編輯方法及裝置。
背景技術(shù):
流程實(shí)例的運(yùn)行過(guò)程反應(yīng)了業(yè)務(wù)運(yùn)行的生命周期,用戶可以通過(guò)流程實(shí)例的跳轉(zhuǎn)記錄來(lái)跟蹤業(yè)務(wù)辦理過(guò)程。通過(guò)流程模板可創(chuàng)建多個(gè)流程實(shí)例,多個(gè)流程實(shí)例都會(huì)按照同一個(gè)流程模板進(jìn)行流轉(zhuǎn),流程實(shí)例在運(yùn)行過(guò)程中,若用戶需要修改流程實(shí)例的流轉(zhuǎn)規(guī)則,則可通過(guò)變更流程模板修改流程實(shí)例的流轉(zhuǎn)規(guī)則,但是變更流程模板會(huì)造成同一個(gè)流程模板上其他流程實(shí)例的改變,而用戶要求修改的流程實(shí)例只能對(duì)當(dāng)前流程實(shí)例生效,不能影響其他的流程實(shí)例,因此如何修改流程實(shí)施成為面向工作流亟需解決的問(wèn)題。
目前,在對(duì)流程實(shí)例進(jìn)行編輯時(shí),首先根據(jù)當(dāng)前流程實(shí)例的流程模板復(fù)制一個(gè)新的模板,然后將當(dāng)前流程實(shí)例綁定到新的流程模板上,最后在新的流程模板上對(duì)流程實(shí)例進(jìn)行編輯。通常流程實(shí)例變更流程模板時(shí),不會(huì)做太大的改動(dòng),但是現(xiàn)有技術(shù)方案則會(huì)重新構(gòu)建一個(gè)新的流程模板,導(dǎo)致每一個(gè)流程實(shí)例都會(huì)對(duì)應(yīng)的一個(gè)流程模板,導(dǎo)致流程模板數(shù)量大量增加,占用數(shù)據(jù)存儲(chǔ)空間,而且為了提高創(chuàng)建流程實(shí)例的效率大多數(shù)流程模板進(jìn)行了緩存,導(dǎo)致大量無(wú)效的流程模板占用內(nèi)存空間,而將有效的流程模板擠出內(nèi)存,導(dǎo)致緩存的流程模板無(wú)效,降低了流程實(shí)例創(chuàng)建的效率。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種流程實(shí)例的編輯方法及裝置,主要目的在于減少流程模板占用的內(nèi)存空間,提高流程實(shí)施的創(chuàng)建效率。
依據(jù)本發(fā)明一個(gè)方面,提供了一種流程實(shí)例的編輯方法,包括:
對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板;
獲取所述本次流程模板與所述原有流程模板的變更點(diǎn),所述變更點(diǎn)為所述待編輯流程實(shí)例中連接邊和/或節(jié)點(diǎn)的變更信息;
將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
進(jìn)一步地,所述將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中之后,所述方法還包括:
當(dāng)所述待編輯流程實(shí)例被運(yùn)行時(shí),加載所述待編輯流程實(shí)例的原有流程模板;
從所述變更記錄表中獲取與所述待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn);
根據(jù)所述原有流程模板和所述變更點(diǎn)生成新的流程模板;
加載所述新的流程模板運(yùn)行所述待編輯流程實(shí)例。
具體的,所述對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板包括:
驗(yàn)證所述編輯的原有流程模板是否正確;
若所述編輯的原有流程模板正確,則根據(jù)所述編輯的原有流程模板生成本次流程模板。
具體的,所述將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中包括:
從開(kāi)始節(jié)點(diǎn)按照流程結(jié)構(gòu)遍歷所述本次流程模板與所述原有流程模板,對(duì)比分析所述本次流程模板與所述原有流程模板;
將所述變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
具體的,所述從所述變更記錄表中獲取與所述待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn)包括:
判斷所述變更記錄表中是否包含所述待編輯流程實(shí)例標(biāo)識(shí)信息;
若包含,則從所述變更記錄表中獲取與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息。
依據(jù)本發(fā)明另一個(gè)方面,提供了一種流程實(shí)例的編輯裝置,包括:
編輯單元,用于對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板;
獲取單元,用于獲取所述本次流程模板與所述原有流程模板的變更點(diǎn),所述變更點(diǎn)為所述待編輯流程實(shí)例中連接邊和/或節(jié)點(diǎn)的變更信息;
存儲(chǔ)單元,用于將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
進(jìn)一步地,所述裝置還包括:
加載單元,用于當(dāng)所述待編輯流程實(shí)例被運(yùn)行時(shí),加載所述待編輯流程實(shí)例的原有流程模板;
所述獲取單元,還用于從所述變更記錄表中獲取與所述待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn);
生成單元,用于根據(jù)所述原有流程模板和所述變更點(diǎn)生成新的流程模板;
運(yùn)行單元,用于加載所述新的流程模板運(yùn)行所述待編輯流程實(shí)例。
具體的,所述編輯單元包括:
驗(yàn)證模塊,用于驗(yàn)證所述編輯的原有流程模板是否正確;
生成模塊,用于若所述編輯的原有流程模板正確,則根據(jù)所述編輯的原有流程模板生成本次流程模板。
具體的,所述存儲(chǔ)單元包括:
分析模塊,用于從開(kāi)始節(jié)點(diǎn)按照流程結(jié)構(gòu)遍歷所述本次流程模板與所述原有流程模板,對(duì)比分析所述本次流程模板與所述原有流程模板;
存儲(chǔ)模塊,用于將所述變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
具體的,所述獲取單元包括:
判斷模塊,用于判斷所述變更記錄表中是否包含所述待編輯流程實(shí)例標(biāo)識(shí)信息;
獲取模塊,還用于若所述變更記錄表中包含所述待編輯流程實(shí)例標(biāo)識(shí)信息,則從所述變更記錄表中獲取與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息。
借由上述技術(shù)方案,本發(fā)明實(shí)施例提供的技術(shù)方案至少具有下列優(yōu)點(diǎn):
本發(fā)明實(shí)施例提供的一種流程實(shí)例的編輯方法及裝置,首先對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板,然后獲取所述本次流程模板與所述原有流程模板的變更點(diǎn),所述變更點(diǎn)為所述待編輯流程實(shí)例中連接邊和/或節(jié)點(diǎn)的變更信息,最后將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。與目前在新創(chuàng)建的流程模板上對(duì)流程實(shí)例進(jìn)行編輯相比,本發(fā)明實(shí)施例首先對(duì)原有流程模板進(jìn)行編輯得到本次流程模板,然后對(duì)比分析本次流程模板與原有流程模板,并將本次流程模板與原有流程模板的變更點(diǎn)保存到變更記錄表中。當(dāng)流程實(shí)例編輯完成后,通過(guò)加載變更記錄表中的數(shù)據(jù)獲取與流程實(shí)例對(duì)應(yīng)的流程模板,并根據(jù)加載的流程模板執(zhí)行編輯后的流程實(shí)例。從而通過(guò)本發(fā)明實(shí)施例解決了大量流程模板被復(fù)制出來(lái)而導(dǎo)致的流程模板占用大量的數(shù)據(jù)存儲(chǔ)空間的問(wèn)題,進(jìn)而提高了流程實(shí)例的創(chuàng)建效率。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了本發(fā)明實(shí)施例提供的一種流程實(shí)例的編輯方法流程圖;
圖2示出了本發(fā)明實(shí)施例提供的另一種流程實(shí)例的編輯方法流程圖;
圖3示出了本發(fā)明實(shí)施例提供的一種流程實(shí)例的編輯裝置的結(jié)構(gòu)框圖;
圖4示出了本發(fā)明實(shí)施例提供的另一種流程實(shí)例的編輯裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
為使本發(fā)明技術(shù)方案的優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作詳細(xì)說(shuō)明。
本發(fā)明實(shí)施例提供了一種流程實(shí)例的編輯方法,如圖1所示,所述方法包括:
101、對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板。
由于通過(guò)一個(gè)流程模板可創(chuàng)建多個(gè)流程實(shí)例,多個(gè)流程實(shí)例都會(huì)按照同一個(gè)流程模板進(jìn)行流轉(zhuǎn),通過(guò)編輯流程模板可實(shí)現(xiàn)編輯對(duì)應(yīng)的流程實(shí)例。為了滿足編輯的流程實(shí)例只能對(duì)當(dāng)前流程實(shí)例生效,不能影響其他的流程實(shí)例,在本發(fā)明實(shí)施例中,當(dāng)用戶需要對(duì)流程實(shí)例進(jìn)行編輯時(shí),首先加載出待編輯流程實(shí)例對(duì)應(yīng)的流程模板,即加載待編輯流程實(shí)例的原有流程模板,然后在原有模板的基礎(chǔ)上進(jìn)行編輯,得到本次流程模板。
需要說(shuō)明的是,對(duì)原有流程模板的編輯操作,具體可對(duì)流程模板中的對(duì)象進(jìn)行刪除、增加、編輯等操作,本發(fā)明實(shí)施例不做具體限定,流程模板中的對(duì)象包括連接邊和節(jié)點(diǎn)。
102、獲取所述本次流程模板與所述原有流程模板的變更點(diǎn)。
其中,所述變更點(diǎn)為所述待編輯流程實(shí)例中連接邊和/或節(jié)點(diǎn)的變更信息。對(duì)于本發(fā)明實(shí)施例,在通過(guò)步驟101編輯得到本次流程模板之后,對(duì)比分析本次流程模板與原有流程模板,然后獲取本次流程模板與原有流程模板的變更點(diǎn),即獲取本次流程模板與原有流程模板的區(qū)別點(diǎn),該變更點(diǎn)具體可以為節(jié)點(diǎn)的變更和/或連接邊的變更。
例如,若用戶在對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯,在原有流程模板中增加一個(gè)節(jié)點(diǎn),一個(gè)連接邊得到本次流程模板。并對(duì)比分析本次流程模板和原有流程模板,獲取本次流程模板和原有流程模板的變更點(diǎn),即獲取相對(duì)于原有流程模板新增的節(jié)點(diǎn)及連接邊的信息。
103、將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
其中,待編輯流程實(shí)例標(biāo)識(shí)信息用于唯一標(biāo)識(shí)待編輯流程實(shí)例,變更記錄表中存儲(chǔ)所有編輯后的流程實(shí)例,即變更記錄表中可存儲(chǔ)多個(gè)待編輯流程實(shí)例標(biāo)識(shí)信息,每個(gè)待編輯流程實(shí)例標(biāo)識(shí)信息至少對(duì)應(yīng)一個(gè)變更點(diǎn),每個(gè)變更點(diǎn)代表本次流程模板與原有流程模板的一個(gè)區(qū)別點(diǎn),變更點(diǎn)可以為連接邊和/或節(jié)點(diǎn)的變更信息。
本發(fā)明實(shí)施例提供一種流程實(shí)例的編輯方法,首先對(duì)原有流程模板進(jìn)行編輯得到本次流程模板,然后對(duì)比分析本次流程模板與原有流程模板,并將本次流程模板與原有流程模板的變更點(diǎn)保存到變更記錄表中。當(dāng)流程實(shí)例編輯完成后,通過(guò)加載變更記錄表中的數(shù)據(jù)獲取與流程實(shí)例對(duì)應(yīng)的流程模板,并根據(jù)加載的流程模板執(zhí)行編輯后的流程實(shí)例。從而通過(guò)本發(fā)明實(shí)施例解決了現(xiàn)有技術(shù)中創(chuàng)建的流程模板只為一個(gè)流程實(shí)例服務(wù),生命周期較短的問(wèn)題,以及大量流程模板被復(fù)制出來(lái)而導(dǎo)致的流程模板占用大量的數(shù)據(jù)存儲(chǔ)空間的問(wèn)題,進(jìn)而降低了流程模板的存儲(chǔ)空間,提高了流程實(shí)例的創(chuàng)建效率。
本發(fā)明實(shí)施例提供了另一種流程實(shí)例的編輯方法,如圖2所示,所述方法包括:
201、對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板。
其中,關(guān)于步驟201對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板的詳細(xì)描述,可以參考圖1中相應(yīng)步驟的描述,在此不再贅述。
需要說(shuō)明的是,由于在用戶在對(duì)待編輯流程實(shí)施例的原有流程模板進(jìn)行編輯時(shí)會(huì)存在編輯錯(cuò)誤的情況,如編輯的原有流程模板中出現(xiàn)獨(dú)立的節(jié)點(diǎn)、無(wú)連接指向的連接邊,無(wú)開(kāi)始節(jié)點(diǎn)或結(jié)束節(jié)點(diǎn)等情況。因此在本發(fā)明實(shí)施例在對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板之前,需要驗(yàn)證所述編輯的原有流程模板是否正確,若所述編輯的原有流程模板正確,則根據(jù)所述編輯的原有流程模板生成本次流程模板。在本發(fā)明實(shí)施例中,驗(yàn)證所述編輯的原有流程模板是否正確,保證了后續(xù)生成的本次流程模本為可用的流程模本,從而提高了流程實(shí)例的編輯效率。
202、獲取所述本次流程模板與所述原有流程模板的變更點(diǎn)。
其中,所述變更點(diǎn)為所述待編輯流程實(shí)例中連接邊和/或節(jié)點(diǎn)的變更信息。所述變更點(diǎn)包括對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息。對(duì)象標(biāo)識(shí)信息用于標(biāo)識(shí)原有流程模本中的對(duì)象,對(duì)象類(lèi)型信息具體可以為連接邊和節(jié)點(diǎn),動(dòng)作信息包括刪除、增加和更新,變更點(diǎn)的變更信息用于表示新增或更新對(duì)象的具體描述信息。
203、將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
對(duì)于本發(fā)明實(shí)施例,步驟203包括:從開(kāi)始節(jié)點(diǎn)按照流程結(jié)構(gòu)遍歷所述本次流程模板與所述原有流程模板,對(duì)比分析所述本次流程模板與所述原有流程模板;將所述變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
例如,對(duì)比分析原有流程模板與本次流程模板,得到本次流程模板與原有流程模板的變更點(diǎn),然后將變更點(diǎn)的信息與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表,變更點(diǎn)的具體信息表1所示:
表1
從表1中記錄的信息可知,標(biāo)識(shí)信息為1的流程實(shí)例相對(duì)于原有流程模板做了相應(yīng)的修改,分別是在原有流程模板中增加了一個(gè)連接邊和一個(gè)節(jié)點(diǎn),增加連接邊的標(biāo)識(shí)信息為005,節(jié)點(diǎn)的標(biāo)識(shí)信息為006。變更信息A中記錄有連接邊005的指向關(guān)系,變更信息A的具體內(nèi)容為連接邊005的起始對(duì)象標(biāo)識(shí)信息為004,終止對(duì)象標(biāo)識(shí)信息為006。變更信息B中記錄節(jié)點(diǎn)006的增加或是變更信息。如以節(jié)點(diǎn)006變更為例,可將006的變更信息設(shè)置為:
對(duì)于本發(fā)明實(shí)施例,將新增或者變更的信息直接存儲(chǔ)到變更記錄表中,即每種新增或變更對(duì)象都會(huì)構(gòu)建自己的JSON數(shù)據(jù),然后以創(chuàng)建的JSON數(shù)據(jù)作為對(duì)象的變更信息存儲(chǔ)到變更記錄表中。而不再按照原有邏輯存儲(chǔ)到多張數(shù)據(jù)庫(kù)表中,因此直接將變更信息直接存儲(chǔ)到變更記錄表中不需要進(jìn)行查詢,不需要進(jìn)行結(jié)構(gòu)化的存儲(chǔ),減少了數(shù)據(jù)的存儲(chǔ)空間,提升了查詢效率。
204、當(dāng)所述待編輯流程實(shí)例被運(yùn)行時(shí),加載所述待編輯流程實(shí)例的原有流程模板。
205、從所述變更記錄表中獲取與所述待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn)。
對(duì)于本發(fā)明實(shí)施例,步驟205包括:判斷所述變更記錄表中是否包含所述待編輯流程實(shí)例標(biāo)識(shí)信息;若變更記錄表中包含所述待編輯流程實(shí)例標(biāo)識(shí)信息,則從所述變更記錄表中獲取與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息。
例如,在標(biāo)識(shí)信息為01的流程實(shí)例運(yùn)行時(shí),流程引擎首先加載出變更記錄表,然后判斷變更記錄表是否包含流程實(shí)例標(biāo)識(shí)信息01,若變更記錄表中包含流程實(shí)例標(biāo)識(shí)信息01,則從變更記錄表中獲取流程實(shí)例標(biāo)識(shí)信息01對(duì)應(yīng)所有變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息。最后將從變更記錄表中獲取的變更點(diǎn)應(yīng)用到流程實(shí)例標(biāo)識(shí)信息01對(duì)應(yīng)的原有流程模板中,在內(nèi)存中構(gòu)建一個(gè)新的臨時(shí)流程模板。
206、根據(jù)所述原有流程模板和所述變更點(diǎn)生成新的流程模板。
在本發(fā)明實(shí)施例中,根據(jù)原有流程模板和變更點(diǎn)生成新的流程模板具體過(guò)程為:首先獲取當(dāng)前運(yùn)行流程實(shí)例的標(biāo)識(shí)信息,然后從變更記錄表中獲取與該標(biāo)識(shí)信息對(duì)應(yīng)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息,然后將獲取的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息應(yīng)用到運(yùn)行流程實(shí)例對(duì)應(yīng)的原有模板中以生成新的流程模板。
207、加載所述新的流程模板運(yùn)行所述待編輯流程實(shí)例。
在本發(fā)明實(shí)施例中,當(dāng)所述待編輯流程實(shí)例被運(yùn)行時(shí),加載所述待編輯流程實(shí)例的原有流程模板,從所述變更記錄表中獲取與所述待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn),根據(jù)所述原有流程模板和所述變更點(diǎn)生成新的流程模板,加載所述新的流程模板運(yùn)行所述待編輯流程實(shí)例。解決了流程實(shí)例動(dòng)態(tài)變更流程模板過(guò)程,大量新的流程模板被復(fù)制出來(lái)導(dǎo)致占用大量的數(shù)據(jù)存儲(chǔ)空間,同時(shí)也解決了占用原有流程模板的緩存空間,從而通過(guò)本發(fā)明實(shí)施例降低了流程模板的存儲(chǔ)空間,以及后續(xù)流程實(shí)例的創(chuàng)建效率。
本發(fā)明實(shí)施例提供另一種流程實(shí)例的編輯方法,首先對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板,然后獲取所述本次流程模板與所述原有流程模板的變更點(diǎn),并將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中,當(dāng)所述待編輯流程實(shí)例被運(yùn)行時(shí),加載所述待編輯流程實(shí)例的原有流程模板,從所述變更記錄表中獲取與所述待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn),最后根據(jù)所述原有流程模板和所述變更點(diǎn)生成新的流程模板,加載所述新的流程模板運(yùn)行所述待編輯流程實(shí)例。從而通過(guò)本發(fā)明實(shí)施例解決了大量流程模板被復(fù)制出來(lái)而導(dǎo)致的流程模板占用大量的數(shù)據(jù)存儲(chǔ)空間的問(wèn)題,進(jìn)而提高了流程實(shí)例的創(chuàng)建效率。
進(jìn)一步地,本發(fā)明實(shí)施例提供一種流程實(shí)例的編輯裝置,如圖3所示,所述裝置包括:編輯單元31,獲取單元32,存儲(chǔ)單元33。
編輯單元31,用于對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板;
由于通過(guò)一個(gè)流程模板可創(chuàng)建多個(gè)流程實(shí)例,多個(gè)流程實(shí)例都會(huì)按照同一個(gè)流程模板進(jìn)行流轉(zhuǎn),通過(guò)編輯流程模板可實(shí)現(xiàn)編輯對(duì)應(yīng)的流程實(shí)例。為了滿足編輯的流程實(shí)例只能對(duì)當(dāng)前流程實(shí)例生效,不能影響其他的流程實(shí)例,在本發(fā)明實(shí)施例中,當(dāng)用戶需要對(duì)流程實(shí)例進(jìn)行編輯時(shí),首先加載出待編輯流程實(shí)例對(duì)應(yīng)的流程模板,即加載待編輯流程實(shí)例的原有流程模板,然后在原有模板的基礎(chǔ)上進(jìn)行編輯,得到本次流程模板。
需要說(shuō)明的是,對(duì)原有流程模板的編輯操作,具體可對(duì)流程模板中的對(duì)象進(jìn)行刪除、增加、編輯等操作,本發(fā)明實(shí)施例不做具體限定,流程模板中的對(duì)象包括連接邊和節(jié)點(diǎn)。
獲取單元32,用于獲取所述本次流程模板與所述原有流程模板的變更點(diǎn),所述變更點(diǎn)為所述待編輯流程實(shí)例中連接邊和/或節(jié)點(diǎn)的變更信息;
其中,所述變更點(diǎn)為所述待編輯流程實(shí)例中連接邊和/或節(jié)點(diǎn)的變更信息。對(duì)于本發(fā)明實(shí)施例,在編輯得到本次流程模板之后,對(duì)比分析本次流程模板與原有流程模板,然后獲取本次流程模板與原有流程模板的變更點(diǎn),即獲取本次流程模板與原有流程模板的區(qū)別點(diǎn),該變更點(diǎn)具體可以為節(jié)點(diǎn)的變更和/或連接邊的變更。
存儲(chǔ)單元33,用于將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
其中,待編輯流程實(shí)例標(biāo)識(shí)信息用于唯一標(biāo)識(shí)待編輯流程實(shí)例,變更記錄表中存儲(chǔ)所有編輯后的流程實(shí)例,即變更記錄表中可存儲(chǔ)多個(gè)待編輯流程實(shí)例標(biāo)識(shí)信息,每個(gè)待編輯流程實(shí)例標(biāo)識(shí)信息至少對(duì)應(yīng)一個(gè)變更點(diǎn),每個(gè)變更點(diǎn)代表本次流程模板與原有流程模板的一個(gè)區(qū)別點(diǎn),變更點(diǎn)可以為連接邊和/或節(jié)點(diǎn)的變更信息。
需要說(shuō)明的是,本發(fā)明實(shí)施例提供的一種流程實(shí)例的編輯裝置所涉及各功能單元的其他相應(yīng)描述,可以參考圖1所示方法的對(duì)應(yīng)描述,在此不再贅述,但應(yīng)當(dāng)明確,本實(shí)施例中的裝置能夠?qū)?yīng)實(shí)現(xiàn)前述方法實(shí)施例中的全部?jī)?nèi)容。
本發(fā)明實(shí)施例提供一種流程實(shí)例的編輯裝置,首先對(duì)原有流程模板進(jìn)行編輯得到本次流程模板,然后對(duì)比分析本次流程模板與原有流程模板,并將本次流程模板與原有流程模板的變更點(diǎn)保存到變更記錄表中。當(dāng)流程實(shí)例編輯完成后,通過(guò)加載變更記錄表中的數(shù)據(jù)獲取與流程實(shí)例對(duì)應(yīng)的流程模板,并根據(jù)加載的流程模板執(zhí)行編輯后的流程實(shí)例。從而通過(guò)本發(fā)明實(shí)施例解決了現(xiàn)有技術(shù)中創(chuàng)建的流程模板只為一個(gè)流程實(shí)例服務(wù),生命周期較短的問(wèn)題,以及大量流程模板被復(fù)制出來(lái)而導(dǎo)致的流程模板占用大量的數(shù)據(jù)存儲(chǔ)空間的問(wèn)題,進(jìn)而降低了流程模板的存儲(chǔ)空間,提高了流程實(shí)例的創(chuàng)建效率。
進(jìn)一步地,本發(fā)明實(shí)施例提供另一種流程實(shí)例的編輯裝置,如圖4所示,所述裝置包括:編輯單元41,獲取單元42,存儲(chǔ)單元43。
編輯單元41,用于對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板;
獲取單元42,用于獲取所述本次流程模板與所述原有流程模板的變更點(diǎn),所述變更點(diǎn)為所述待編輯流程實(shí)例中連接邊和/或節(jié)點(diǎn)的變更信息;
存儲(chǔ)單元43,用于將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
進(jìn)一步地,所述裝置還包括:
加載單元44,用于當(dāng)所述待編輯流程實(shí)例被運(yùn)行時(shí),加載所述待編輯流程實(shí)例的原有流程模板;
所述獲取單元42,還用于從所述變更記錄表中獲取與所述待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn);
生成單元45,用于根據(jù)所述原有流程模板和所述變更點(diǎn)生成新的流程模板;
在本發(fā)明實(shí)施例中,根據(jù)原有流程模板和變更點(diǎn)生成新的流程模板具體過(guò)程為:首先獲取當(dāng)前運(yùn)行流程實(shí)例的標(biāo)識(shí)信息,然后從變更記錄表中獲取與該標(biāo)識(shí)信息對(duì)應(yīng)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息,然后將獲取的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息應(yīng)用到運(yùn)行流程實(shí)例對(duì)應(yīng)的原有模板中以生成新的流程模板。
運(yùn)行單元46,用于加載所述新的流程模板運(yùn)行所述待編輯流程實(shí)例。
具體的,所述編輯單元41包括:
驗(yàn)證模塊411,用于驗(yàn)證所述編輯的原有流程模板是否正確;
生成模塊412,用于若所述編輯的原有流程模板正確,則根據(jù)所述編輯的原有流程模板生成本次流程模板。
需要說(shuō)明的是,由于在用戶在對(duì)待編輯流程實(shí)施例的原有流程模板進(jìn)行編輯時(shí)會(huì)存在編輯錯(cuò)誤的情況,如編輯的原有流程模板中出現(xiàn)獨(dú)立的節(jié)點(diǎn)、無(wú)連接指向的連接邊,無(wú)開(kāi)始節(jié)點(diǎn)或結(jié)束節(jié)點(diǎn)等情況。因此在本發(fā)明實(shí)施例在對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板之前,需要驗(yàn)證所述編輯的原有流程模板是否正確,若所述編輯的原有流程模板正確,則根據(jù)所述編輯的原有流程模板生成本次流程模板。在本發(fā)明實(shí)施例中,驗(yàn)證所述編輯的原有流程模板是否正確,保證了后續(xù)生成的本次流程模本為可用的流程模本,從而提高了流程實(shí)例的編輯效率。
具體的,所述存儲(chǔ)單元43包括:
分析模塊431,用于從開(kāi)始節(jié)點(diǎn)按照流程結(jié)構(gòu)遍歷所述本次流程模板與所述原有流程模板,對(duì)比分析所述本次流程模板與所述原有流程模板;
存儲(chǔ)模塊432,用于將所述變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中。
具體的,所述獲取單元42包括:
判斷模塊421,用于判斷所述變更記錄表中是否包含所述待編輯流程實(shí)例標(biāo)識(shí)信息;
獲取模塊422,用于若所述變更記錄表中包含所述待編輯流程實(shí)例標(biāo)識(shí)信息,則從所述變更記錄表中獲取與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn)的對(duì)象標(biāo)識(shí)信息、對(duì)象類(lèi)型信息、動(dòng)作信息、變更信息。
需要說(shuō)明的是,本發(fā)明實(shí)施例提供的一種流程實(shí)例的編輯裝置所涉及各功能單元的其他相應(yīng)描述,可以參考圖2所示方法的對(duì)應(yīng)描述,在此不再贅述,但應(yīng)當(dāng)明確,本實(shí)施例中的裝置能夠?qū)?yīng)實(shí)現(xiàn)前述方法實(shí)施例中的全部?jī)?nèi)容。
本發(fā)明實(shí)施例提供另一種流程實(shí)例的編輯裝置,首先對(duì)待編輯流程實(shí)例的原有流程模板進(jìn)行編輯得到本次流程模板,然后獲取所述本次流程模板與所述原有流程模板的變更點(diǎn),并將所述變更點(diǎn)與待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)存儲(chǔ)到變更記錄表中,當(dāng)所述待編輯流程實(shí)例被運(yùn)行時(shí),加載所述待編輯流程實(shí)例的原有流程模板,從所述變更記錄表中獲取與所述待編輯流程實(shí)例標(biāo)識(shí)信息對(duì)應(yīng)的變更點(diǎn),最后根據(jù)所述原有流程模板和所述變更點(diǎn)生成新的流程模板,加載所述新的流程模板運(yùn)行所述待編輯流程實(shí)例。從而通過(guò)本發(fā)明實(shí)施例解決了大量流程模板被復(fù)制出來(lái)而導(dǎo)致的流程模板占用大量的數(shù)據(jù)存儲(chǔ)空間的問(wèn)題,進(jìn)而提高了流程實(shí)例的創(chuàng)建效率。
在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
可以理解的是,上述方法及裝置中的相關(guān)特征可以相互參考。另外,上述實(shí)施例中的“第一”、“第二”等是用于區(qū)分各實(shí)施例,而并不代表各實(shí)施例的優(yōu)劣。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的流程實(shí)例的編輯方法及裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱(chēng)。