專利名稱:泛在計(jì)算環(huán)境中工作流上下文信息的獲取方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及泛在計(jì)算環(huán)境中工作流活動(dòng)變遷信息的獲取。泛在計(jì)算環(huán)境中的工作流與傳統(tǒng)工作流的一個(gè)重要區(qū)別是在泛在計(jì)算環(huán)境中,活動(dòng)變遷信息中能夠包含企業(yè)所在物理環(huán)境的實(shí)時(shí)的、準(zhǔn)確的上下文信息。由于泛在計(jì)算環(huán)境的特點(diǎn),這些上下文信息的獲取具有很大的挑戰(zhàn)性。本發(fā)明提供一種上下文信息獲取的事件處理方法,包括事件模型,事件定義,事件聚合以及事件觸發(fā)等。
背景技術(shù):
工作流定義不同的活動(dòng)以及活動(dòng)之間的觸發(fā)順序和觸發(fā)條件,從而組成一個(gè)完整的企業(yè)業(yè)務(wù)過程;通過信息技術(shù)的支持為企業(yè)業(yè)務(wù)過程提供了一個(gè)從模型分析、建立、管理、仿真到運(yùn)行的完整框架,是實(shí)現(xiàn)業(yè)務(wù)過程管理與控制的一項(xiàng)關(guān)鍵性技術(shù)。工作流中的活動(dòng)可以有一個(gè)或者多個(gè)軟件系統(tǒng)、服務(wù)來完成,可以由一個(gè)或者一組人來完成,還可以是由一個(gè)或者多個(gè)人與軟件、服務(wù)協(xié)作完成。
一個(gè)具體的工作流模型的例子如圖1所示。圖中元素分為兩類,一類是不同的節(jié)點(diǎn),另一類是節(jié)點(diǎn)之間的關(guān)聯(lián)。其中的“開始”和“結(jié)束”節(jié)點(diǎn)是每一個(gè)工作流模型都必須具備的,標(biāo)志一個(gè)業(yè)務(wù)過程的開始和結(jié)束。“準(zhǔn)備任務(wù)”、“調(diào)配人員”、“調(diào)配車輛”節(jié)點(diǎn)是工作流中的活動(dòng)節(jié)點(diǎn),表示這個(gè)業(yè)務(wù)過程需要完成的活動(dòng)。而“同步”節(jié)點(diǎn)用來保證它的前序節(jié)點(diǎn)都完成以后,才使得整個(gè)業(yè)務(wù)流程繼續(xù)向前推進(jìn)。節(jié)點(diǎn)之間的關(guān)聯(lián)表示活動(dòng)之間的變遷關(guān)系。
一般來講,工作流技術(shù)應(yīng)該包含工作流建模和工作流執(zhí)行兩個(gè)階段。
工作流建模根據(jù)企業(yè)業(yè)務(wù)過程的實(shí)際情況建立活動(dòng)以及活動(dòng)之間的邏輯關(guān)系,并且為這些活動(dòng)分配資源,比如人員、設(shè)備等;為活動(dòng)添加約束,比如時(shí)間約束等。
工作流執(zhí)行工作流執(zhí)行服務(wù)是工作流管理系統(tǒng)的核心,實(shí)際上它是企業(yè)經(jīng)營(yíng)過程的任務(wù)調(diào)度器,并且還在某種程度上是企業(yè)資源分配器。企業(yè)的業(yè)務(wù)過程在它的管理、監(jiān)控和調(diào)度下運(yùn)行,因此工作流執(zhí)行服務(wù)系統(tǒng)的性能和可靠性就直接決定了企業(yè)經(jīng)營(yíng)過程的運(yùn)行效率和安全性。
目前,在全球范圍內(nèi)已經(jīng)對(duì)工作流技術(shù)進(jìn)行了大量的研究,更多更新的技術(shù)被集成進(jìn)來,Internet服務(wù)、數(shù)據(jù)庫、電子郵件、移動(dòng)式計(jì)算、文件管理等都已被容納到工作流管理系統(tǒng)之中。特別是無線射頻識(shí)別(RFID)、無線傳感器網(wǎng)絡(luò)的出現(xiàn)和推廣使用,使得計(jì)算將無處不在,即出現(xiàn)所謂的“泛在計(jì)算環(huán)境(Ubiquitous Computing)”,這會(huì)給工作流技術(shù)提供新的機(jī)遇和挑戰(zhàn)。
無線射頻識(shí)別(Radio Frequency Identification,RFID)是一種非接觸式的自動(dòng)識(shí)別技術(shù),它通過射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù)信息。如圖2所示,RFID系統(tǒng)一般由標(biāo)簽、閱讀器、中間件、對(duì)象命名服務(wù)以及EPC信息服務(wù)組成。
標(biāo)簽由天線、集成電路、連接集成電路與天線的部分和天線所在的底層四部分構(gòu)成。EPC碼是存儲(chǔ)在標(biāo)簽中的唯一信息。EPC碼是由EPCglobal國(guó)際組織頒布新一代編碼標(biāo)準(zhǔn),是由版本號(hào)、域名管理者、對(duì)象分類、序列號(hào)組成的一組數(shù)字。其中版本號(hào)標(biāo)識(shí)EPC的版本號(hào);域名管理者是描述與此EPC相關(guān)的生產(chǎn)廠商的信息;對(duì)象分類記錄產(chǎn)品精確類型的信息;序列號(hào)唯一標(biāo)識(shí)貨品。
閱讀器向標(biāo)簽發(fā)送電磁信號(hào),讀取標(biāo)簽中的EPC編碼。
中間件系統(tǒng)用來處理這些獲得的EPC編碼,消除它們的冗余部分,修補(bǔ)其中的錯(cuò)誤,找出與EPC關(guān)聯(lián)的產(chǎn)品的詳細(xì)信息等。
對(duì)象命名服務(wù)(ONS)將EPC碼與相應(yīng)商品信息進(jìn)行匹配,作用類似于域名解析服務(wù)(DNS)。當(dāng)閱讀器讀取EPC標(biāo)簽的信息時(shí),EPC碼就傳遞給了中間件系統(tǒng)。中間件系統(tǒng)再在局域網(wǎng)或因特網(wǎng)上利用ONS對(duì)象名解析服務(wù)找到這個(gè)產(chǎn)品信息所存儲(chǔ)的位置。ONS給中間件系統(tǒng)指明了存儲(chǔ)這個(gè)產(chǎn)品的有關(guān)信息的服務(wù)器,因此就能夠在中間件系統(tǒng)中找到這個(gè)文件,并且將這個(gè)文件中關(guān)于這個(gè)產(chǎn)品的信息傳遞過來。
EPC信息服務(wù)是EPC所標(biāo)識(shí)的產(chǎn)品詳細(xì)信息存放的真正服務(wù)器。EPC信息服務(wù)在ONS中注冊(cè)自己的信息,這樣中間件系統(tǒng)就能夠根據(jù)EPC碼在ONS找到該產(chǎn)品的詳細(xì)信息的服務(wù)器地址,然后到該服務(wù)器取回產(chǎn)品的詳細(xì)信息。
無線傳感器網(wǎng)絡(luò)技術(shù)是利用大量的低成本、小尺寸、多功能以及低能耗的傳感器節(jié)點(diǎn)來協(xié)同地完成通過一般手段難以完成的物理世界信息獲取和處理任務(wù)。帶有不同傳感器的節(jié)點(diǎn)通過通信模塊相互連接起來,組成一個(gè)功能強(qiáng)大的信息獲取網(wǎng)絡(luò)。在本發(fā)明中,將不同的傳感器集成在RFID的標(biāo)簽中,傳感器感知的信息由RFID的閱讀器讀取。
總之,在泛在計(jì)算環(huán)境中,通過射頻識(shí)別以及傳感器技術(shù),能夠自動(dòng)、實(shí)時(shí)、準(zhǔn)確、詳細(xì)地獲取物理環(huán)境的數(shù)據(jù),從而能夠獲取企業(yè)物理環(huán)境的實(shí)時(shí)、準(zhǔn)確的信息,實(shí)現(xiàn)物理環(huán)境和計(jì)算環(huán)境的緊密集成;這些信息一方面可以在工作流建模階段提供更準(zhǔn)確的活動(dòng)流轉(zhuǎn)路徑,另一方面可以在工作流執(zhí)行階段提供更準(zhǔn)確的路由信息。
泛在環(huán)境中的工作流與傳統(tǒng)工作流的重要區(qū)別是活動(dòng)的變遷可以更加符合實(shí)際情況,更加人性化,更加準(zhǔn)確地流轉(zhuǎn)活動(dòng)。因?yàn)榉涸谟?jì)算技術(shù)能夠自動(dòng)、實(shí)時(shí)、準(zhǔn)確地獲取特定對(duì)象的上下文信息,比如時(shí)間、位置、所處狀態(tài)等。泛在計(jì)算環(huán)境下工作流的觸發(fā)條件中多了一個(gè)重要的內(nèi)容就是上下文(Context)。
首先,在泛在計(jì)算環(huán)境中,無線射頻識(shí)別技術(shù)、無線傳感器網(wǎng)絡(luò)技術(shù)能夠使得企業(yè)的業(yè)務(wù)流程發(fā)生變化,一些人工型活動(dòng)會(huì)變?yōu)樽詣?dòng)應(yīng)用,提高業(yè)務(wù)過程的自動(dòng)化程度;這種變化的業(yè)務(wù)流程需要工作流描述語言能夠支持上下文信息的獲取,并且根據(jù)這種上下文信息來路由活動(dòng)。
下面,通過一個(gè)實(shí)例來說明泛在計(jì)算環(huán)境下工作流與傳統(tǒng)工作流之間的區(qū)別。圖3所示的是一個(gè)傳統(tǒng)計(jì)算環(huán)境下的會(huì)議工作流模型,圖4為泛在計(jì)算環(huán)境下會(huì)議工作流模型。從兩圖可以看出,由于泛在計(jì)算技術(shù)的存在使得業(yè)務(wù)過程發(fā)生變化,原來的人工型活動(dòng),比如圖3中的“確認(rèn)參會(huì)人數(shù)”、“打開PPT講稿”變?yōu)樽詣?dòng)應(yīng)用,比如圖4中的“確認(rèn)人數(shù)”、“打開PPT講稿”。
人工型活動(dòng)之所以能夠變?yōu)樽詣?dòng)應(yīng)用,是因?yàn)镽FID、無線傳感器網(wǎng)絡(luò)等泛在計(jì)算技術(shù)將物理世界的信息和計(jì)算環(huán)境緊密集成,能夠使得信息系統(tǒng)自動(dòng)、實(shí)時(shí)、準(zhǔn)確地獲取物理世界信息。這些自動(dòng)應(yīng)用的自動(dòng)執(zhí)行以及從一個(gè)自動(dòng)應(yīng)用活動(dòng)變遷到下一個(gè)活動(dòng),需要這些來自物理環(huán)境的信息的支持。比如,圖4中的“確認(rèn)人數(shù)”自動(dòng)應(yīng)用的自動(dòng)執(zhí)行需要通過安裝在會(huì)議室的RFID閱讀器來讀取每個(gè)與會(huì)人員的胸卡中的標(biāo)簽信息,從而確定與會(huì)人員是否已經(jīng)在會(huì)議室內(nèi),對(duì)于沒有按時(shí)到的人及時(shí)發(fā)出通知。同樣,圖4中自動(dòng)應(yīng)用“確認(rèn)人數(shù)”到自動(dòng)應(yīng)用“打開PPT講稿”的活動(dòng)變遷也需要來自物理環(huán)境的信息,比如“準(zhǔn)備發(fā)言的人已經(jīng)站在講臺(tái)前”,這時(shí)系統(tǒng)就可以自動(dòng)地為他打開他的PPT講稿。其中,“準(zhǔn)備發(fā)言的人已經(jīng)站在講臺(tái)前”可以通過如下方法獲取,通過安裝在講臺(tái)前的RFID閱讀器讀取站在它前面的人佩戴胸卡的標(biāo)簽信息,得到“有人站在講臺(tái)前”的信息,同時(shí)系統(tǒng)自動(dòng)和會(huì)議安排時(shí)確定的發(fā)言人比較,從而判斷這個(gè)人是不是要發(fā)言的人,如果是,就得到“準(zhǔn)備發(fā)言的人已經(jīng)站在講臺(tái)前”信息,系統(tǒng)就可以自動(dòng)地為他準(zhǔn)備好講稿了。
從上面的描述可以看出,傳統(tǒng)工作流和泛在計(jì)算環(huán)境下的工作流最大的區(qū)別就是在泛在環(huán)境下工作流自動(dòng)應(yīng)用的自動(dòng)執(zhí)行或者活動(dòng)流轉(zhuǎn),都需要來自物理環(huán)境的實(shí)時(shí)數(shù)據(jù)。這些數(shù)據(jù)描述了企業(yè)所在環(huán)境中的用戶、設(shè)備以及網(wǎng)絡(luò)等的位置、狀態(tài)、行為等信息,在這里稱之為上下文(Context)信息。也就是說,上下文在泛在環(huán)境下工作流中起著重要作用,是區(qū)別于傳統(tǒng)工作流的主要標(biāo)志。因此,泛在計(jì)算環(huán)境下工作流的一個(gè)重要的內(nèi)容就是如何獲取這些上下文信息。
上下文是指所有能夠刻畫對(duì)象特征的信息,比如時(shí)間、位置、實(shí)體、活動(dòng)等。上下文可以分為基本上下文(Primitive Context)和復(fù)合上下文(Composite Context)兩種?;旧舷挛氖侵钢苯永梅涸谟?jì)算技術(shù)獲得物理環(huán)境中對(duì)象的位置、狀態(tài)、行為等信息。比如圖4中,會(huì)議室RFID閱讀器獲取的與會(huì)人員的標(biāo)簽信息。復(fù)合上下文是指通過特定的操作符或者規(guī)則將不同上下文,或者上下文與輔助信息組成的更高層次的上下文。比如圖4中,講臺(tái)RFID閱讀器讀取的基本上下文“有人站在講臺(tái)前”和會(huì)議安排的人員安排等信息可以得到復(fù)合上下文“準(zhǔn)備發(fā)言的人已經(jīng)站在講臺(tái)前”。
上下文信息對(duì)于泛在環(huán)境下的工作流固然重要,但是這些信息的獲取面臨很多挑戰(zhàn),比如泛在計(jì)算技術(shù)會(huì)產(chǎn)生海量的數(shù)據(jù),從這些數(shù)據(jù)中抽取上下文信息需要很多的工作;這些數(shù)據(jù)存在大量的冗余、有時(shí)會(huì)存在錯(cuò)誤;這些數(shù)據(jù)之間存在著一定的語義關(guān)聯(lián),它們背后隱藏著更豐富的上下文信息。比如一個(gè)信用卡在北京發(fā)生了一筆交易,幾分鐘以后,該信用卡又在紐約發(fā)生了一筆交易,需要有相應(yīng)的機(jī)制來發(fā)現(xiàn)這些數(shù)據(jù)背后隱藏的信息信用卡很可能被盜用了,并及時(shí)通知用戶。
因此,為了獲取泛在計(jì)算環(huán)境中工作流的上下文信息,需要相應(yīng)的方法和機(jī)制。目前,工作流管理聯(lián)盟以及其他工作流語言,比如BPEL4WS、WSFL等都沒有支持泛在計(jì)算環(huán)境下上下文的能力。韓國(guó)Soongsil大學(xué)提出的uWDL工作力語言雖然支持泛在環(huán)境下上下文,但是沒有給出相應(yīng)的方法來獲取這種上下文信息。
本發(fā)明使用復(fù)雜事件處理機(jī)制來獲取泛在計(jì)算環(huán)境下工作流上下文。復(fù)雜事件處理的基本要點(diǎn)是事件抽取、事件聚合和事件響應(yīng)。首先,從大量的數(shù)據(jù)中抽象出基本事件,這些事件可以是狀態(tài)的變化、活動(dòng)的執(zhí)行等,也可以是用戶、系統(tǒng)關(guān)注、感興趣的其它信息;其次,通過一定的事件操作符將不同的事件關(guān)聯(lián)起來形成復(fù)合事件,表示新的意義,揭示數(shù)據(jù)之間隱含的信息;第三,通過事件處理得到事件之間的因果關(guān)系、層次關(guān)系,因果關(guān)系可以幫助用戶分析系統(tǒng)宏觀現(xiàn)象的本質(zhì)原因,而層次關(guān)系可以為不同領(lǐng)域、不同層次的用戶提供個(gè)性化的事件信息;最后,這些事件,特別是復(fù)合事件快速地傳送到關(guān)注它的用戶或者系統(tǒng)那里,以便他們進(jìn)行決策,提高企業(yè)的響應(yīng)能力,這就是事件驅(qū)動(dòng)的思想。
復(fù)雜事件處理機(jī)制能夠獲取泛在計(jì)算環(huán)境下工作流上下文信息,主要表現(xiàn)在如下方面。
1、上下文可以表達(dá)為事件。上下文主要指系統(tǒng)中用戶、設(shè)備、網(wǎng)絡(luò)等的位置、狀態(tài)、行為等信息。其中,位置的每一次變化可以記錄為一個(gè)事件,由系統(tǒng)的RFID閱讀器讀取。狀態(tài)的變化自然地表示為一個(gè)事件。而行為本身就是和事件緊密聯(lián)系在一起的。
2、基本上下文可以通過復(fù)雜事件處理機(jī)制中的基本事件抽取功能從海量的數(shù)據(jù)中獲得。
3、復(fù)合上下文可以通過復(fù)合事件處理機(jī)制中的事件聚合功能來將不同的上下文以及其它輔助信息組合在一起。
4、上下文的獲取需要實(shí)時(shí)、準(zhǔn)確;這是復(fù)合事件處理機(jī)制固有的特性,基本事件抽取能夠從海量的物理環(huán)境數(shù)據(jù)中得到準(zhǔn)確的信息,事件響應(yīng)能夠保證將正確的信息以最快的速度傳送到正確的位置。
發(fā)明內(nèi)容
本發(fā)明的目的在于在泛在計(jì)算環(huán)境下獲取工作流上下文的獲取實(shí)現(xiàn)以及處理方法,以便獲取企業(yè)物理環(huán)境的及時(shí)、準(zhǔn)確的信息,實(shí)現(xiàn)物理環(huán)境和計(jì)算環(huán)境的緊密集成,自動(dòng)地為工作流建模提供更準(zhǔn)確的活動(dòng)流轉(zhuǎn)路徑和更準(zhǔn)確的路由信息。
本發(fā)明所述的系統(tǒng)的特征在于含有RFID系統(tǒng)、邊緣服務(wù)器、工作流服務(wù)器、工作流管理系統(tǒng)以及企業(yè)信息系統(tǒng),其中RFID系統(tǒng),是一個(gè)無線射頻識(shí)別系統(tǒng),企業(yè)把該RFID系統(tǒng)布置在包括辦公室、會(huì)議室、生產(chǎn)線、倉庫在內(nèi)地區(qū)域,基于EPCglobal國(guó)際組織頒布的電子產(chǎn)品編碼EPC,以獲取包括產(chǎn)品位置信息、企業(yè)內(nèi)設(shè)定地區(qū)的溫度信息在內(nèi)的企業(yè)物理環(huán)境信息和活動(dòng)信息;邊緣服務(wù)器屬于互聯(lián)網(wǎng)的一種邊界網(wǎng)關(guān)服務(wù)器,和所述RFID系統(tǒng)互聯(lián),設(shè)有消除冗余、噪聲數(shù)據(jù)以及修改錯(cuò)誤數(shù)據(jù)的模塊,從所述RFID系統(tǒng)中讀取含有冗余、噪聲、錯(cuò)誤的RFID數(shù)據(jù),輸出已消除冗余、噪聲、錯(cuò)誤的RFID事件;工作流服務(wù)器,設(shè)在互聯(lián)網(wǎng)服務(wù)器,含有互相雙向連接的復(fù)雜事件處理引擎,工作流管理系統(tǒng)和數(shù)據(jù)庫,其中復(fù)雜事件處理引擎,設(shè)有一個(gè)基于復(fù)雜事件處理規(guī)則的相關(guān)處理模塊,該模塊把從所述邊緣服務(wù)器收到的每一個(gè)基本事件,或者把符合設(shè)定條件的RFID事件抽象為一個(gè)基本事件;然后,在基本事件之間,或在基本事件和復(fù)合事件之間、或在復(fù)合事件之間進(jìn)行重聚,按照復(fù)雜事件處理規(guī)則形成新的復(fù)合事件,從中提取工作流上下文;所述處理模塊也從所述企業(yè)信息系統(tǒng)中或數(shù)據(jù)庫中提取相關(guān)上下文信息;數(shù)據(jù)庫,從所述邊緣服務(wù)器中輸入RFID事件信息,或從所述企業(yè)信息系統(tǒng)中提取信息;工作流管理系統(tǒng),從所述復(fù)雜事件處理引擎中輸入工作流上下文信息,據(jù)此協(xié)調(diào)不同的企業(yè)信息系統(tǒng)執(zhí)行業(yè)務(wù)活動(dòng)。
企業(yè)信息系統(tǒng)設(shè)在用戶端,向所述邊緣服務(wù)器、復(fù)雜事件處理引擎、工作流管理系統(tǒng)和數(shù)據(jù)庫輸出它們各自需要的相關(guān)信息,其中,邊緣服務(wù)器需要EPC、復(fù)雜上下文,數(shù)據(jù)庫需要企業(yè)業(yè)務(wù)信息,工作流管理系統(tǒng)需要指令響應(yīng)信息。
本發(fā)明所述的方法的特征在于,依次含有以下步驟,步驟(1),在互聯(lián)網(wǎng)的工作流服務(wù)器中建立三個(gè)相互之間雙向連接的復(fù)雜事件處理引擎、不同企業(yè)業(yè)務(wù)的工作流管理系統(tǒng)以及數(shù)據(jù)庫,在該復(fù)雜事件處理引擎中設(shè)置一個(gè)基于復(fù)雜事件處理規(guī)則的處理模塊,在其中對(duì)于有關(guān)工作流的上下文信息,預(yù)先做如下定義首先,定義了用于獲取工作流上下文的事件模型
把用戶或者系統(tǒng)任何感興趣的信息定義為事件,用E表示,E=(id,attrs,causality,t1,t2),其中id用來唯一標(biāo)識(shí)事件類型,一個(gè)事件類型有很多事件實(shí)例,attrs表示事件的屬性集合,屬性是指當(dāng)事件發(fā)生時(shí)企業(yè)所在物理環(huán)境中包含的能夠刻畫對(duì)象特征的位置、狀態(tài)、行為、活動(dòng)、實(shí)體在內(nèi)的實(shí)時(shí)數(shù)據(jù),即上下文信息的集合,即attrs={attr1,attr2,...,attrn},n≥0,為屬性個(gè)數(shù),causality是因果向量,表示引發(fā)該事件的原因事件的集合,即causality={e1,e2,...,em},m≥0,為原因事件的個(gè)數(shù),t1,t2表示事件起始時(shí)刻和結(jié)束時(shí)刻,所述事件分為基本事件和復(fù)合事件,其中基本事件中的上下文信息為基本上下文,是指所有能夠刻畫對(duì)象特征的信息;復(fù)合事件的上下文是復(fù)合上下文,是通過一個(gè)或多個(gè)事件操作符把不同的事件組合在一起,形成一個(gè)具有新的語義的事件;其二,定義了事件之間的操作符,其中包括基本邏輯操作符,包括AND操作符,E=AND(E1,E2,...,En),指所有成分事件都發(fā)生,復(fù)合事件才發(fā)生,OR操作符,E=OR(E1,E2,...,En)只要有一個(gè)成分事件發(fā)生,復(fù)合事件就發(fā)生,NOT操作符,!E,表示事件類型E的實(shí)例沒有發(fā)生,SEQ操作符,E=SEQ(E1,E2,...,En),指事件之間按照時(shí)間順序發(fā)生,時(shí)間操作符T(e)表示事件發(fā)生的時(shí)間段,Tb(e)=t1,表示事件發(fā)生的開始時(shí)刻,Te(e)=t2表示事件結(jié)束時(shí)刻;因果操作符直接因果操作符用“→”表示,間接因果操作符用 表示,在原因事件和結(jié)果事件之間有中間事件,第三,定義了事件處理方法中的事件實(shí)例的使用策略和消耗策略使用策略包含(6).First選擇事件實(shí)例中的第一個(gè)進(jìn)行事件聚合,
(7).Last選擇事件實(shí)例中的最后一個(gè)進(jìn)行事件聚合,(8).Each成分事件類型的每一個(gè)事件實(shí)例都參與事件聚合,組成不同的復(fù)合事件實(shí)例,(9).All成分事件類型的所有事件實(shí)例都參與事件聚合,(10).Specific通過具體的事件實(shí)例函數(shù),根據(jù)指定的參數(shù)選擇滿足條件的事件實(shí)例參與事件聚合,消耗策略包含(4).Delete事件實(shí)例參與復(fù)合事件聚合后立即刪除,(5).Reserve事件實(shí)例參與復(fù)合事件聚合后仍然保留,(6).Conditional reserve事件實(shí)例參與復(fù)合事件聚合后,滿足一定的條件就保留下來,不滿足則刪除,所述復(fù)合事件表達(dá)式由事件操作符Operator和事件操作數(shù)Operand組成,記為{EACH}operator(operand{(con)},...)表示每個(gè)復(fù)合事件實(shí)例的發(fā)生都要報(bào)告,如果沒有該操作符,就僅僅報(bào)告復(fù)合事件的第一個(gè)實(shí)例;其中,Operand是事件類型,(con)是指某個(gè)或者某些具體的事件實(shí)例,{WHERE[equivalence test],parameterized predicates},表示各個(gè)操作符之間要滿足的條件,equivalence test是等值測(cè)試,對(duì)各個(gè)操作數(shù)的共同屬性進(jìn)行等值比較;parameterizedpredicates對(duì)不同操作數(shù)之間進(jìn)行其它的限制,{WITHIN,INTERVAL,AT},其中,WITHIN表示復(fù)合事件發(fā)生的時(shí)間范圍;INTERVAL表示時(shí)間區(qū)間;AT表示事件的開始時(shí)間點(diǎn);步驟(2),企業(yè)在包含辦公室、會(huì)議室、生產(chǎn)線、倉庫在內(nèi)的地段部署無線射頻識(shí)別子系統(tǒng)RFID,步驟(3),該RFID子系統(tǒng)基于EPCglobal國(guó)際組織頒布的電子產(chǎn)品編碼EPC,獲取包含產(chǎn)品位置信息、所在地段溫度信息在內(nèi)的企業(yè)物理環(huán)境和活動(dòng)信息;在EPC編碼中,版本號(hào)標(biāo)識(shí)EPC的版本號(hào);域名管理是描述與此EPC相關(guān)的生產(chǎn)廠商的信息;對(duì)象分類記錄產(chǎn)品精確類型的信息;序列號(hào)唯一標(biāo)識(shí)貨品,步驟(4),所在互聯(lián)網(wǎng)中與該RFID子系統(tǒng)互聯(lián)的邊緣服務(wù)器在收到步驟(2)得到的信息后,用消除冗余、噪聲數(shù)據(jù)模塊和錯(cuò)誤數(shù)據(jù)修改模塊進(jìn)行處理,形成RFID事件,把它送往所述復(fù)雜事件處理引擎,根據(jù)用戶或所述數(shù)據(jù)庫得到的上下文信息進(jìn)行處理,該邊緣服務(wù)器還把該RFID事件存入所述數(shù)據(jù)庫;
步驟(5),所述復(fù)雜事件處理引擎依據(jù)復(fù)雜事件處理模塊內(nèi)設(shè)定的復(fù)雜事件規(guī)則,按如下步驟進(jìn)行處理,從大量的RFID事件中確定工作流的上下文信息步驟(5.1),形成具體事件把每一個(gè)RFID事件作為一個(gè)基本事件,或者符合用戶已有企業(yè)信息管理系統(tǒng)或者所述數(shù)據(jù)庫設(shè)定的條件的RFID事件,抽象為一個(gè)基本事件,所述抽象是指從對(duì)象的RFID事件的數(shù)據(jù)中抽取出用戶、系統(tǒng)感興趣的信息,并格式化為事件信息;步驟(5.2),把步驟(5.1)的不同事件實(shí)例使用步驟(1)所述的復(fù)雜事件處理規(guī)則,通過所述復(fù)雜事件處理模塊組合為特定的上下文,形成復(fù)合事件;步驟(5.3),所述復(fù)雜事件處理模塊把基本事件與基本事件,基本事件與復(fù)合事件,或者復(fù)合事件與復(fù)合事件使用不同的事件操作符組合成新的事件,或者按照用戶、企業(yè)信息系統(tǒng)設(shè)定的規(guī)則,所述數(shù)據(jù)庫中的工作流上下文信息組合成一個(gè)新的事件類型,在這個(gè)稱為事件聚合的過程中要根據(jù)指定的事件實(shí)例使用策略選擇事件實(shí)例進(jìn)行事件聚合,根據(jù)消耗策略語義來維護(hù)已經(jīng)參與事件聚合的事件實(shí)例,根據(jù)老化策略和事件操作數(shù)的容量來維護(hù)事件實(shí)例;步驟(5.4),所述復(fù)雜事件處理模塊根據(jù)步驟(5.3)得到的復(fù)合事件形成工作流上下文;步驟(6),所述復(fù)合事件處理引擎把步驟(5.4)得到的工作流上下文送給所述工作流管理系統(tǒng);步驟(7),該工作流管理系統(tǒng)根據(jù)工作流上下文協(xié)調(diào)不同的企業(yè)信息系統(tǒng)執(zhí)行業(yè)務(wù)活動(dòng)。
試驗(yàn)證明,本發(fā)明可在泛在計(jì)算環(huán)境下實(shí)現(xiàn)工作流在應(yīng)用中的自動(dòng)執(zhí)行或活動(dòng)流轉(zhuǎn)。
圖1一個(gè)工作流模型實(shí)例圖2RFID系統(tǒng)框3一個(gè)會(huì)議工作流模型圖4泛在計(jì)算環(huán)境下的會(huì)議工作流模型圖5事件模型圖6事件與其它元素的關(guān)系圖7操作符的定義圖8點(diǎn)時(shí)間和區(qū)間時(shí)間圖9系統(tǒng)體系結(jié)構(gòu)圖10工作流上下文獲取的程序流轉(zhuǎn)框圖具體實(shí)施方式
本發(fā)明針對(duì)泛在計(jì)算環(huán)境下工作流需要上下文信息的特殊需求,提出一種使用復(fù)雜事件處理機(jī)制來從海量的數(shù)據(jù)中獲取上下文的系統(tǒng)和方法。首先,定義了用來獲取上下文的事件模型,說明了事件與信息系統(tǒng)中其他元素的關(guān)系。其次,定義了事件之間的操作符,包括基本的邏輯操作符、時(shí)間操作符和因果操作符等,用來從海量的數(shù)據(jù)中抽取出基本上下文,或者將不同的上下文組合成復(fù)合上下文。第三,定義了事件處理機(jī)制中的事件實(shí)例的使用策略和消耗策略。第四,實(shí)現(xiàn)了事件聚合過程中的等值測(cè)試。
用戶或者系統(tǒng)任何感興趣的信息都可以定義為事件,比如狀態(tài)的變遷,活動(dòng)的記錄等。一個(gè)事件類型E可以定義如下,E=(id,attrs,causality,t1,t2),id用來唯一標(biāo)識(shí)事件類型;attrs表示事件的屬性集合,即attrs={attr1,attr2,...attrn},n≥0。causality={e1,e2,...,em},m≥0是因果向量,表示引發(fā)該事件的原因事件集合;t1,t2表示事件起始時(shí)刻和結(jié)束時(shí)刻。一個(gè)事件類型可以有很多事件實(shí)例。
事件模型如圖5所示,根據(jù)事件的定義,事件包含事件屬性。事件可以分為基本事件(Primitive Event)和復(fù)合事件(Composite Event)。基本事件是從海量的數(shù)據(jù)中抽取出來的信息。而復(fù)合事件是通過一個(gè)或者多個(gè)事件操作符將不同的事件(既可以是基本事件,也可以是復(fù)合事件)組合在一起,形成一個(gè)具有新的語義的事件。事件操作符可以包含基本邏輯操作符AND、OR或者NOT等,還可以包含時(shí)間操作符Tb、Te等。事件定義中的因果向量表示特定的事件與事件之間存在著一定的因果關(guān)系,一個(gè)事件的發(fā)生引發(fā)了另外一個(gè)事件的發(fā)生。事件與它的上下文信息相互關(guān)聯(lián),提供更多的信息。這里所說的上下文與上文中的“上下文”具有不同的含義,這里是指事件所處的環(huán)境信息,一般是指事件發(fā)生時(shí),對(duì)象所處的狀態(tài)等,而上文的上下文是指工作流所需的用戶、設(shè)備、網(wǎng)絡(luò)等的位置、狀態(tài)、行為等。
圖6描述事件與信息系統(tǒng)中其它元素的關(guān)系。
首先,在面向?qū)ο蟮木幊谭椒ㄖ?,?duì)象的方法對(duì)屬性進(jìn)行操作可以拋出一個(gè)事件。一般來講,對(duì)象的屬性數(shù)據(jù)都存放在數(shù)據(jù)庫中進(jìn)行持久保存。
泛在計(jì)算環(huán)境中產(chǎn)生的海量數(shù)據(jù)流經(jīng)過預(yù)處理后,得到用戶關(guān)心的事件,另外其數(shù)據(jù)也存放在數(shù)據(jù)庫中。
數(shù)據(jù)庫管理系統(tǒng)按照系統(tǒng)的業(yè)務(wù)規(guī)則對(duì)數(shù)據(jù)進(jìn)行管理時(shí),也會(huì)產(chǎn)生大量的事件,比如數(shù)據(jù)的刪除、插入、修改等。
另外,系統(tǒng)的硬件、網(wǎng)絡(luò)等也會(huì)產(chǎn)生大量的事件,比如硬件故障、網(wǎng)絡(luò)阻塞等。
事件可以觸發(fā)系統(tǒng)的中的行為,特別是面向?qū)ο笾械姆椒?。一個(gè)對(duì)象獲得一個(gè)其感興趣的事件后,就執(zhí)行相應(yīng)的方法。
事件和上下文一起組成狀態(tài)(Situation),其表現(xiàn)的信息提供更多的語義,可以更面向用戶。狀態(tài)也可以觸發(fā)系統(tǒng)的中的行為。
一般來講,事件是以消息的行為在系統(tǒng)中傳播的。另外,消息本身也可以產(chǎn)生事件,比如消息的產(chǎn)生、消息的刪除等。
復(fù)合事件表達(dá)式由事件操作符(operator)和事件操作數(shù)(operand)組成,記為complex event pattern={EACH}operator(operand{(con)},...){WHERE[equivalence test],parameterized predicates}{WITHIN,INTERVAL,AT}比如EACHAND(SHELF-READING(reader=″05AE″)x,EXIT-READING y)WHERE[manufacturer-id]and x.weight<y.weightWITHIN 30其中花括號(hào)表示該項(xiàng)是可選項(xiàng)。
EACH表示每個(gè)復(fù)合事件實(shí)例的發(fā)生都要報(bào)告,如果沒有該操作符,就僅僅報(bào)告復(fù)合事件的第一個(gè)實(shí)例。
操作數(shù)一般是指事件類型,操作符是指將事件類型組合在一起的操作符。operand后面的(con)指定某個(gè)(些)具體的事件實(shí)例,比如(reader=”05AE”),特指reader=”05AE”的事件實(shí)例。
WHERE表示各個(gè)操作數(shù)之間需要滿足的條件,包括兩個(gè)選項(xiàng),即等值測(cè)試(Equivalencetest)和參數(shù)化謂詞(parameterized predicates)。前者對(duì)各個(gè)操作數(shù)的共同屬性進(jìn)行等值比較,比如[manufacturer-id],也就是說x.manufacturer-id=y(tǒng).manufacturer-id;后者對(duì)不同操作數(shù)之間進(jìn)行其它的限制,比如x.weight<y.weight。
WITHIN表示復(fù)合事件發(fā)生的時(shí)間范圍,比如WITHIN 30,表示在30秒之內(nèi)事件發(fā)生;INTERVAL表示時(shí)間區(qū)間;AT表示事件的開始時(shí)間點(diǎn)。
操作符的定義需要如下幾部分內(nèi)容第一、操作符所連接Operand的實(shí)例數(shù)量。超過了這個(gè)數(shù)量,就按照一定的老化語義(通常為時(shí)間順序),將“老化”的事件實(shí)例刪除。如圖7中的參數(shù)“l(fā)ength”。通常,由于系統(tǒng)資源的限制,對(duì)于每個(gè)事件類型系統(tǒng)都有一個(gè)默認(rèn)的容量函數(shù),指定最多可以存放的事件實(shí)例的個(gè)數(shù),一旦事件實(shí)例達(dá)到這個(gè)數(shù)量,就必須根據(jù)一定的策略刪除一些事件實(shí)例,以便能夠存儲(chǔ)新的事件實(shí)例。這就需要“老化”策略(Aging strategy),將事件實(shí)例“變老”,必要的時(shí)候刪除最“老”的實(shí)例。這些老化策略如下。
(1).時(shí)序老化按照時(shí)間順序,即最早發(fā)生的事件是最“老”的事件,也最先被刪除。
(2).語義老化根據(jù)具體的語義來老化事件,比如新的冰箱訂單要求交貨的日期越晚,事件就越老。使用該策略時(shí),要同時(shí)指定相應(yīng)的老化語義。
第二、Operand事件實(shí)例的使用策略和消耗策略事件代數(shù)的定義都是按照事件的類型來定義的。一個(gè)事件類型可以有大量的事件實(shí)例,事件實(shí)例的使用策略指定使用哪個(gè)(些)事件實(shí)例進(jìn)行事件聚合。同時(shí),事件實(shí)例參與了復(fù)合事件計(jì)算以后,是繼續(xù)保留還是被刪除掉,這是事件實(shí)例的消耗策略。在操作符定義時(shí),可以指定一個(gè)默認(rèn)值。在復(fù)合事件的定義過程中,可以指定新的值來覆蓋默認(rèn)值。如圖7中的參數(shù)“use”和“consume”。
事件代數(shù)都是按照事件類型來定義的。一個(gè)事件類型可以有大量的事件實(shí)例,事件實(shí)例的使用策略指定選擇哪個(gè)事件實(shí)例進(jìn)行事件聚合。同時(shí),事件實(shí)例參與了復(fù)合事件的計(jì)算以后,是繼續(xù)保留還是被刪除掉,這是事件實(shí)例的消耗策略。
這里使用如下的使用策略,同時(shí)結(jié)合復(fù)合事件E=con(E1,E2)來說明,其事件實(shí)例為(e11,e12,e13),(e21),eij表示事件類型i的第j個(gè)事件實(shí)例。
(11).First選擇事件實(shí)例中的第一個(gè)進(jìn)行事件聚合,比如上例,e=(e11,e21).]]>(12).Last選擇事件實(shí)例中的最后一個(gè)進(jìn)行事件聚合,比如上例,e=(e13,e21).]]>(13).Each成分事件類型的每一個(gè)事件實(shí)例都參與事件聚合,組成不同的復(fù)合事件實(shí)例,比如e=(e11,e21),]]>e=(e12,e21),]]>e=(e13,e21).]]>(14).All成分事件類型的所有事件實(shí)例作為整體參與事件聚合,e=((e11,e12,e13),e21).]]>(15).Specific通過具體的事件實(shí)例函數(shù),根據(jù)指定的參數(shù)選擇滿足條件的事件實(shí)例參與事件聚合,比如e=(operator(p1,p2,···,pn),e21),]]>事件實(shí)例操作符如下所述。使用該使用策略的時(shí)候,要同時(shí)指定使用的事件實(shí)例函數(shù),以及實(shí)際參數(shù)。
事件實(shí)例消耗策略如下。
(7).Delete事件實(shí)例參與復(fù)合事件聚合后立即刪除。
(8).Reserve事件實(shí)例參與復(fù)合事件聚合后仍然保留。
(9).Conditional reserve事件實(shí)例參與復(fù)合事件聚合后,滿足一定的條件就保留下來,不滿足則刪除。
常用的事件操作符定義如下(省略了各個(gè)操作符的參數(shù)說明)AND操作符,E=AND(E1,E2,...En),指所有成分事件都發(fā)生,復(fù)合事件才發(fā)生。
OR操作符,E=OR(E1,E2,...,En)只要有一個(gè)成分事件發(fā)生,復(fù)合事件就發(fā)生。
NOT操作符,!E,表示事件類型E的實(shí)例沒有發(fā)生。
SEQ操作符,E=SEQ(E1,E2,...,En),指事件之間按照時(shí)間順序發(fā)生。
另外,事件之間存在著時(shí)間關(guān)系、因果關(guān)系、層次關(guān)系以及語義關(guān)系。為了描述這種關(guān)系,需要定義其它一些操作符。
一、時(shí)間操作符事件時(shí)間可以分點(diǎn)時(shí)間和區(qū)間時(shí)間,如圖8所示。
事件時(shí)間操作符,用T(e)表示事件發(fā)生的時(shí)間;開始時(shí)間操作符,用Tb(e);結(jié)束時(shí)間操作符,用Te(e)表示。
在圖8中, Tb(e1)=t1;Te(e1)=t2。
一般來講,基本事件使用點(diǎn)時(shí)間,而復(fù)合事件使用區(qū)間時(shí)間。
二、因果操作符因果關(guān)系是事件之間的一種依賴關(guān)系,分為直接因果關(guān)系和間接因果關(guān)系。
直接因果操作符→,原因事件和結(jié)果事件之間沒有其它事件,即e1→e2e1∈e2.causality。
間接因果操作符 原因事件和結(jié)果事件之間還有其它中間事件,即e1→·e2⇒∃ei,]]>i≠1,2使得e1→ei∧ei→e2。
因果關(guān)系和時(shí)間關(guān)系之間存在著內(nèi)在的一致性,如公理1所述。
公理1事件之間存在因果關(guān)系,原因事件的開始時(shí)間肯定早于結(jié)果事件的開始時(shí)間,即 事件因果關(guān)系的一個(gè)重要作用就是分析系統(tǒng)的動(dòng)態(tài)行為,找出系統(tǒng)宏觀現(xiàn)象下的本質(zhì)原因,比如為什么客戶會(huì)流失、銷售管理系統(tǒng)為什么運(yùn)行很慢等。
上面給出了事件處理機(jī)制的基本概念,包括事件的定義,事件模型,事件與信息系統(tǒng)中其他元素之間的關(guān)系,事件操作符以及事件聚合的規(guī)則等。下面說明復(fù)雜事件處理機(jī)制的基本思想。
復(fù)雜事件處理機(jī)制包含如下觀點(diǎn),即基本事件抽取、事件聚合以及事件響應(yīng)。
基本事件抽取是指從對(duì)象的數(shù)據(jù)中抽取出用戶、系統(tǒng)感興趣的信息。這些信息被格式化為事件信息,這些事件被稱為基本事件?;臼录某槿】梢苑譃槿缦聨追N情況。第一,直接將泛在環(huán)境中獲得的數(shù)據(jù)轉(zhuǎn)化為基本事件;第二,只有滿足條件的數(shù)據(jù)才被抽取為事件。
事件聚合是指將不同的事件(可以是基本事件與基本事件,基本事件與復(fù)合事件,復(fù)合事件與復(fù)合事件)使用不同的事件操作符按照設(shè)定的規(guī)則組合成一個(gè)新的事件類型,表達(dá)新的語義?;臼录硎镜氖堑蛯哟蔚男畔ⅲ瑢?shí)際上信息系統(tǒng)中更多的信息是隱藏在多個(gè)事件信息背后的信息,這些背后的信息可以通過事件操作符按照一定的規(guī)則將不同的事件組合在一起形成具有新的語義的新的事件類型,從而表達(dá)這些隱藏的信息。
事件聚合要根據(jù)事件實(shí)例使用策略選擇事件實(shí)例來進(jìn)行事件聚合,根據(jù)消耗語義來維護(hù)已經(jīng)參與過事件聚合的事件實(shí)例,根據(jù)老化策略和事件操作數(shù)的容量來來維護(hù)事件實(shí)例。
事件響應(yīng)是指根據(jù)事件發(fā)生的信息做出必要的反映。事件就是用戶或者系統(tǒng)感興趣的信息,一個(gè)事件一旦發(fā)生就要及時(shí)地通知關(guān)注它的用戶或者系統(tǒng),以便他們及時(shí)做出響應(yīng)。首先,說明為什么可以使用復(fù)雜事件處理機(jī)制來獲取上下文,然后通過具體的實(shí)例來說明如何使用復(fù)雜事件處理機(jī)制來獲取上下文。
泛在計(jì)算環(huán)境下的工作流上下文主要是人員、設(shè)備的位置、狀態(tài)、行為等。由于如下原因,可以使用復(fù)雜事件處理機(jī)制來獲取上下文信息。
第一、上下文可以表達(dá)為事件。上下文主要指系統(tǒng)中用戶、設(shè)備、網(wǎng)絡(luò)等的位置、狀態(tài)、行為等信息。其中,位置的每一次變化可以記錄為一個(gè)事件,由系統(tǒng)的RFID閱讀器讀取。狀態(tài)的變化自然地表示為一個(gè)事件。而行為本身就是和事件緊密聯(lián)系在一起的。
第二、基本上下文可以通過復(fù)雜事件處理機(jī)制中的基本事件抽取功能從海量的數(shù)據(jù)中獲得。
第三、復(fù)合上下文可以通過復(fù)合事件處理機(jī)制中的事件聚合功能來將不同的上下文以及其它輔助信息組合在一起。
第四、上下文的獲取需要實(shí)時(shí)、準(zhǔn)確;這是復(fù)合事件處理機(jī)制固有的特性,基本事件抽取能夠從海量的物理環(huán)境數(shù)據(jù)中得到準(zhǔn)確的信息,事件響應(yīng)能夠保證將正確的信息以最快的速度傳送到正確的位置。
圖9是該方法的軟件體系結(jié)構(gòu),詳細(xì)說明如下。
一個(gè)典型的制造企業(yè)包含如下幾個(gè)業(yè)務(wù)過程,即制造過程、產(chǎn)品存儲(chǔ)與分銷過程以及企業(yè)的日常管理。為了在企業(yè)中部署泛在計(jì)算環(huán)境,分別為企業(yè)的部件、產(chǎn)品、人員等配備RFID電子標(biāo)簽,在制造車間、倉庫、分銷中心、會(huì)議室以及其它重要位置部署RFID閱讀器。
RFID的標(biāo)簽、天線以及閱讀器可以采用商業(yè)化產(chǎn)品,已有很多公司提供這樣的產(chǎn)品。比如Symbol、Intermec等。
貼在零部件、產(chǎn)品以及人員上的RFID電子標(biāo)簽中的EPC數(shù)據(jù),由部署在不同位置的閱讀器讀取。RFID閱讀器讀取的數(shù)據(jù)由邊緣服務(wù)器來處理,主要是消除這些數(shù)據(jù)中的冗余數(shù)據(jù)、噪聲數(shù)據(jù),并且對(duì)一些錯(cuò)誤的數(shù)據(jù)進(jìn)行修補(bǔ)。邊緣服務(wù)器軟件的輸入是閱讀器讀取的大量數(shù)據(jù),企業(yè)信息系統(tǒng)或者數(shù)據(jù)庫中的上下文信息;輸出是消除冗余數(shù)據(jù)、噪聲數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)的RFID事件。另外,它還可以將RFID事件數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,接受企業(yè)信息系統(tǒng)的指令,將相關(guān)信息通過RFID閱讀器寫入RFID標(biāo)簽中。這樣的軟件可以從商業(yè)公司獲得,比如IBM、SUN、SAP和Oracle等都有相應(yīng)的產(chǎn)品。
復(fù)雜事件處理引擎是我們方法的實(shí)現(xiàn),該模塊負(fù)責(zé)從大量的RFID事件中確定工作流的上下文信息,從而為工作流管理系統(tǒng)的執(zhí)行提供實(shí)時(shí)、準(zhǔn)確、詳細(xì)的信息。它從邊緣服務(wù)器中獲得RFID事件,根據(jù)復(fù)雜事件處理的規(guī)則,將不同的事件組合成工作流管理系統(tǒng)需要的上下文信息。同樣,復(fù)雜事件處理引擎可以從企業(yè)信息系統(tǒng)或者數(shù)據(jù)庫中獲取相關(guān)上下文信息。復(fù)雜事件處理使用我們研制的產(chǎn)品RTE-CEP。
工作流管理系統(tǒng)用來協(xié)調(diào)不同的企業(yè)信息系統(tǒng)。它根據(jù)事先構(gòu)建的企業(yè)業(yè)務(wù)模型來組織不同的企業(yè)信息系統(tǒng)的運(yùn)行。有了RFID和無線傳感器網(wǎng)絡(luò)的支持,系統(tǒng)可以獲取更多實(shí)時(shí)、準(zhǔn)確的信息,從而工作流管理系統(tǒng)可以更準(zhǔn)確、更高效、更自動(dòng)化地協(xié)調(diào)不同的業(yè)務(wù)活動(dòng)。工作流管理系統(tǒng)的輸入是企業(yè)業(yè)務(wù)模型,從復(fù)雜事件處理引擎中獲得的上下文信息。輸出不同的業(yè)務(wù)活動(dòng)控制信息。工作流管理系統(tǒng)可以采用商業(yè)化的軟件產(chǎn)品,比如Oracle、SAP等公司的產(chǎn)品,這里我們使用的是我們自己的軟件產(chǎn)品CIMFLOW。
企業(yè)信息系統(tǒng)用來處理不同的企業(yè)業(yè)務(wù),比如訂單處理、計(jì)劃排產(chǎn)、車間管理等。這些信息系統(tǒng)接受工作流管理系統(tǒng)的控制指令,在工作流管理系統(tǒng)的統(tǒng)一協(xié)調(diào)下工作。根據(jù)不同的企業(yè)業(yè)務(wù)產(chǎn)生不同的輸出數(shù)據(jù),比如訂單、生產(chǎn)計(jì)劃、產(chǎn)品等。企業(yè)信息系統(tǒng)由很多商業(yè)化產(chǎn)品可以選擇,比如SAP、IBM、Oracle、用友、金蝶等。
數(shù)據(jù)庫主要用來存儲(chǔ)企業(yè)信息系統(tǒng)的數(shù)據(jù),同時(shí)也可以用來存儲(chǔ)RFID產(chǎn)生的事件信息。這些數(shù)據(jù)是企業(yè)業(yè)務(wù)運(yùn)行的記錄,可以從中分析企業(yè)運(yùn)行的性能。數(shù)據(jù)庫產(chǎn)品使用商業(yè)化軟件產(chǎn)品比如Oracle、SqlServer、DB2等。
上述的各個(gè)部分總結(jié)如下。
圖10說明了工作流上下文復(fù)雜事件處理方法的執(zhí)行步驟。
總體上來說,首先是RFID閱讀器讀取標(biāo)簽的信息,得到大量的RFID數(shù)據(jù);邊緣服務(wù)器軟件消除這些數(shù)據(jù)中的冗余、噪聲數(shù)據(jù)和錯(cuò)誤數(shù)據(jù),得到大量的RFID事件;然后由復(fù)雜事件處理引擎對(duì)這些RFID事件進(jìn)行處理,得到工作流管理系統(tǒng)需要的上下文信息;工作流管理系統(tǒng)根據(jù)這些上下文信息和業(yè)務(wù)模型協(xié)調(diào)不同的信息系統(tǒng)執(zhí)行不同的活動(dòng)。
其中,復(fù)雜事件處理方法來獲取工作流上下文是本發(fā)明的核心內(nèi)容。它的具體執(zhí)行步驟是首先從邊緣服務(wù)器得到的RFID事件可以分為兩種情況,一是每一個(gè)事件都可以看作是基本事件,另一種情況是只有滿足一定的條件才能被抽象為基本事件。這兩種情況得到的基本事件,和通過事件聚合得到的復(fù)合事件(隨后介紹)一起,可以通過不同的事件聚合規(guī)則聚合為工作流需要的上下文信息;同時(shí)這些聚合出來的結(jié)果也可以看作是復(fù)合事件(上面提到的復(fù)合事件),可以和其它事件(基本事件、復(fù)合事件)一起聚合成其它復(fù)合事件。這個(gè)聚合過程分為兩種情況,一是事件之間根據(jù)聚合規(guī)則直接聚合,另一種情況是需要其它輔助信息的幫助,才能得到具有獨(dú)立意義的工作流上下文(復(fù)合事件)。
下面通過一個(gè)具體的實(shí)例來說明如何通過復(fù)雜事件處理機(jī)制來獲取上下文信息。
企業(yè)在辦公室、會(huì)議室、生產(chǎn)線、倉庫等部署RFID和無線傳感器網(wǎng)絡(luò)技術(shù),使得企業(yè)的生產(chǎn)環(huán)境和辦公環(huán)境可以認(rèn)為是泛在計(jì)算環(huán)境。企業(yè)的信息系統(tǒng)可以自動(dòng)、實(shí)時(shí)、準(zhǔn)確獲取物理活動(dòng)的信息。
在這個(gè)泛在計(jì)算環(huán)境中,主要關(guān)注如下事件產(chǎn)品位置信息,記為L(zhǎng)OC(EPC,location,time),其中EPC是產(chǎn)品或者人員的編碼,location是RFID閱讀器的位置,time是閱讀器讀取到產(chǎn)品或者人員標(biāo)簽的時(shí)間。
溫度傳感器讀取的溫度事件,記為TEMP(EPC,temp,time),其中EPC為辦公室的編碼,temp是觀測(cè)到的溫度,time是觀測(cè)的時(shí)間。
一、基本上下文的獲取基本上下文獲取有兩種情況,一是泛在計(jì)算環(huán)境中的每一個(gè)有效數(shù)據(jù)都看作為一個(gè)事件,這個(gè)事件同時(shí)作為工作流中的基本上下文。這里之所以說是“有效數(shù)據(jù)”是因?yàn)樵诜涸谟?jì)算環(huán)境中,經(jīng)常會(huì)有大量的冗余數(shù)據(jù),比如在RFID系統(tǒng)中,為了保證系統(tǒng)讀取數(shù)據(jù)的可靠性,不同閱讀器的閱讀范圍存在著重疊,這樣就會(huì)出現(xiàn)一個(gè)產(chǎn)品的EPC編碼同時(shí)被多個(gè)閱讀器讀取的情況,產(chǎn)生了大量的冗余數(shù)據(jù)。已經(jīng)有很多研究成果來處理這種數(shù)據(jù)冗余的情況。本發(fā)明沒有涉及該方面的內(nèi)容。二是這些有效的數(shù)據(jù)中只有那些滿足一定條件的數(shù)據(jù)才能被抽象為基本事件,同時(shí)作為工作流使用的上下文。指定這些條件就要用到上述我們定義的事件處理規(guī)則。
下面通過具體的實(shí)例來說明上述兩種情況。
首先,以上述圖4描述的會(huì)議工作流的例子來說明第一種情況。安裝在會(huì)議室、講臺(tái)的RFID閱讀器讀取的有效數(shù)據(jù)如下所示。
Meeting1=LOC(“UH7JEFU63MAW6I610”,“Meeting Room 1”,2:42PM),Meeting2=LOC(“UH7JEFU63MAW6I613”,“Meeting Room 1”,2:44PM),...,Meetingn=LOC(“UH7JEFU63MAW6I610”,“Platform”,2:59PM)其中的EPC采用96位編碼,分別代表參與會(huì)議的人員。這些有效的數(shù)據(jù)分別表示EPC編碼代表的人在某個(gè)時(shí)間進(jìn)入會(huì)議室,以及UH7JEFU63MAW6I610代表的發(fā)言人在2:59PM出現(xiàn)在講臺(tái)前。這些數(shù)據(jù)都具有獨(dú)立的語義,從而被抽象為基本事件,同時(shí)作為工作流的基本上下文。
其次,我們以下面的例子說明第二種情況,企業(yè)為了節(jié)約電源,規(guī)定夏天辦公室的溫度不得低于26度。部署在辦公室的傳感器節(jié)點(diǎn)中的溫度傳感器在不斷地讀取辦公室室內(nèi)的溫度,得到如下溫度值。
TEMP(“Office 1”,“27.3”,8:01AM)TEMP(“Office 1”,“26.7”,8:11AM)TEMP(“Office 1”,“28.1”,8:21AM)TEMP(“Office 1”,“25.2”,8:31AM)TEMP(“Office 1”,“24.9”,8:41AM)...
使用如下規(guī)則EACH TEMP(temperature<26)可以得到用戶感興趣的信息,這些滿足條件的數(shù)據(jù)被抽象為基本事件,同時(shí)被看作工作流使用的上下文。在上述的實(shí)例中得到如下的數(shù)據(jù)。
TEMP(“Office 1”,“25.2”,8:31AM)TEMP(“Office 1”,“24.9”,8:41AM)二、復(fù)合上下文的獲取復(fù)合上下文的獲取需要將不同的上下文根據(jù)一定的規(guī)則通過操作符組合在一起,構(gòu)成新的意義的上下文,在必要的時(shí)候還需要其他輔助信息。這里,結(jié)合具體的實(shí)例,分兩種情況介紹復(fù)合上下文的獲取,即一種為將不同的上下文組合在一起,另一種為通過其他條件將不同的上下文組合在一起。
第一,不同上下文的組合在圖4的工作流模型中,自動(dòng)應(yīng)用“確認(rèn)人數(shù)”需要出席會(huì)議人數(shù)的上下文信息,這個(gè)上下文是一個(gè)復(fù)合上下文,不能自己獨(dú)立獲取,需要通過各個(gè)基本上下文的組合來獲取。也就是說,出席會(huì)議人數(shù)=AND(Meeting1,Meeting2,...,Meetingn-1)。假定該會(huì)議只有一個(gè)發(fā)言人。
第二,通過其它條件組合不同上下文在圖4的工作流模型中,自動(dòng)應(yīng)用“確認(rèn)人數(shù)”到自動(dòng)應(yīng)用“打開PPT講稿”的變遷需要上下文信息“發(fā)言人站在講臺(tái)前”。這個(gè)上下文是復(fù)合上下文,不能通過基本上下文直接獲取。根據(jù)上面的描述,我們可以得到如下基本上下文,Meetingn=(“UH7JEFU63MAW6I610”,“Platform”,2:59PM),但是,不能確定該人就是要發(fā)言的人,通過這一個(gè)基本上下文還不能確定復(fù)合上下文,還需要其他條件。為此,系統(tǒng)查詢會(huì)議安排的記錄,找到會(huì)議的發(fā)言人,然后和EPC代碼“UH7JEFU63MAW6I610”所代表的人進(jìn)行比較,如果相符就說明站在講臺(tái)見面的人是發(fā)言人,即得到復(fù)合上下文“發(fā)言人站在講臺(tái)前”。
權(quán)利要求
1.泛在計(jì)算環(huán)境中工作流上下文信息的獲取方法,其特征在于,依次含有以下步驟,步驟(1),在互聯(lián)網(wǎng)的工作流服務(wù)器中建立三個(gè)相互之間雙向連接的復(fù)雜事件處理引擎、不同企業(yè)業(yè)務(wù)的工作流管理系統(tǒng)以及數(shù)據(jù)庫,在該復(fù)雜事件處理引擎中設(shè)置一個(gè)基于復(fù)雜事件處理規(guī)則的處理模塊,在其中對(duì)于有關(guān)工作流的上下文信息,預(yù)先做如下定義首先,定義了用于獲取工作流上下文的事件模型把用戶或者系統(tǒng)任何感興趣的信息定義為事件,用E表示,E=(id,attrs,causality,t1,t2),其中id用來唯一標(biāo)識(shí)事件類型,一個(gè)事件類型有很多事件實(shí)例,attrs表示事件的屬性集合,屬性是指當(dāng)事件發(fā)生時(shí)企業(yè)所在物理環(huán)境中包含的能夠刻畫對(duì)象特征的位置、狀態(tài)、行為、活動(dòng)、實(shí)體在內(nèi)的實(shí)時(shí)數(shù)據(jù),即上下文信息的集合,即attrs={attr1,attr2,...,attrn},n≥0,為屬性個(gè)數(shù),causality是因果向量,表示引發(fā)該事件的原因事件的集合,即causality={e1,e2,...,em},m≥0,為原因事件的個(gè)數(shù),t1,t2表示事件起始時(shí)刻和結(jié)束時(shí)刻,所述事件分為基本事件和復(fù)合事件,其中基本事件中的上下文信息為基本上下文,是指所有能夠刻畫對(duì)象特征的信息;復(fù)合事件的上下文是復(fù)合上下文,是通過一個(gè)或多個(gè)事件操作符把不同的事件組合在一起,形成一個(gè)具有新的語義的事件;其二,定義了事件之間的操作符,其中包括基本邏輯操作符,包括AND操作符,E=AND(E1,E2,...,En),指所有成分事件都發(fā)生,復(fù)合事件才發(fā)生,OR操作符,E=OR(E1,E2,...,En)只要有一個(gè)成分事件發(fā)生,復(fù)合事件就發(fā)生,NOT操作符,!E,表示事件類型E的實(shí)例沒有發(fā)生,SEQ操作符,E=SEQ(E1,E2,...,En),指事件之間按照時(shí)間順序發(fā)生,時(shí)間操作符T(e)表示事件發(fā)生的時(shí)間段,Tb(e)=t1,表示事件發(fā)生的開始時(shí)刻,Te(e)=t2表示事件結(jié)束時(shí)刻;因果操作符直接因果操作符用“→”表示,間接因果操作符用 表示,在原因事件和結(jié)果事件之間有中間事件,第三,定義了事件處理方法中的事件實(shí)例的使用策略和消耗策略使用策略包含(1).First選擇事件實(shí)例中的第一個(gè)進(jìn)行事件聚合,(2).Last選擇事件實(shí)例中的最后一個(gè)進(jìn)行事件聚合,(3).Each成分事件類型的每一個(gè)事件實(shí)例都參與事件聚合,組成不同的復(fù)合事件實(shí)例,(4).All成分事件類型的所有事件實(shí)例都參與事件聚合,(5).Specific通過具體的事件實(shí)例函數(shù),根據(jù)指定的參數(shù)選擇滿足條件的事件實(shí)例參與事件聚合,消耗策略包含(1).Delete事件實(shí)例參與復(fù)合事件聚合后立即刪除,(2).Reserve事件實(shí)例參與復(fù)合事件聚合后仍然保留,(3).Conditional reserve事件實(shí)例參與復(fù)合事件聚合后,滿足一定的條件就保留下來,不滿足則刪除,所述復(fù)合事件表達(dá)式由事件操作符Operator和事件操作數(shù)Operand組成,記為{EACH}operator(operand{(con)},...)表示每個(gè)復(fù)合事件實(shí)例的發(fā)生都要報(bào)告,如果沒有該操作符,就僅僅報(bào)告復(fù)合事件的第一個(gè)實(shí)例;其中,Operand是事件類型,(con)是指某個(gè)或者某些具體的事件實(shí)例,{WHERE[equivalence test],parameterized predicates},表示各個(gè)操作符之間要滿足的條件,equivalence test是等值測(cè)試,對(duì)各個(gè)操作數(shù)的共同屬性進(jìn)行等值比較;parameterizedpredicates對(duì)不同操作數(shù)之間進(jìn)行其它的限制,{WITHIN,INTERVAL,AT},其中,WITHIN表示復(fù)合事件發(fā)生的時(shí)間范圍;INTERVAL表示時(shí)間區(qū)間;AT表示事件的開始時(shí)間點(diǎn);步驟(2),企業(yè)在包含辦公室、會(huì)議室、生產(chǎn)線、倉庫在內(nèi)的地段部署無線射頻識(shí)別子系統(tǒng)RFID,步驟(3),該RFID子系統(tǒng)基于EPCglobal國(guó)際組織頒布的電子產(chǎn)品編碼EPC,獲取包含產(chǎn)品位置信息、所在地段溫度信息在內(nèi)的企業(yè)物理環(huán)境和活動(dòng)信息;在EPC編碼中,版本號(hào)標(biāo)識(shí)EPC的版本號(hào);域名管理是描述與此EPC相關(guān)的生產(chǎn)廠商的信息;對(duì)象分類記錄產(chǎn)品精確類型的信息;序列號(hào)唯一標(biāo)識(shí)貨品,步驟(4),所在互聯(lián)網(wǎng)中與該RFID子系統(tǒng)互聯(lián)的邊緣服務(wù)器在收到步驟(2)得到的信息后,用消除冗余、噪聲數(shù)據(jù)模塊和錯(cuò)誤數(shù)據(jù)修改模塊進(jìn)行處理,形成RFID事件,把它送往所述復(fù)雜事件處理引擎,根據(jù)用戶或所述數(shù)據(jù)庫得到的上下文信息進(jìn)行處理,該邊緣服務(wù)器還把該RFID事件存入所述數(shù)據(jù)庫;步驟(5),所述復(fù)雜事件處理引擎依據(jù)復(fù)雜事件處理模塊內(nèi)設(shè)定的復(fù)雜事件規(guī)則,按如下步驟進(jìn)行處理,從大量的RFID事件中確定工作流的上下文信息步驟(5.1),形成具體事件把每一個(gè)RFID事件作為一個(gè)基本事件,或者符合用戶已有企業(yè)信息管理系統(tǒng)或者所述數(shù)據(jù)庫設(shè)定條件的RFID事件,抽象為一個(gè)基本事件,所述抽象是指從對(duì)象的RFID事件的數(shù)據(jù)中抽取出用戶、系統(tǒng)感興趣的信息,并格式化為事件信息;步驟(5.2),把步驟(5.1)的不同事件實(shí)例使用步驟(1)所述的復(fù)雜事件處理規(guī)則,通過所述復(fù)雜事件處理模塊組合為特定的上下文,形成復(fù)合事件;步驟(5.3),所述復(fù)雜事件處理模塊把基本事件與基本事件,基本事件與復(fù)合事件,或者復(fù)合事件與復(fù)合事件使用不同的事件操作符組合成新的事件,或者按照用戶、企業(yè)信息系統(tǒng)設(shè)定的規(guī)則,所述數(shù)據(jù)庫中的工作流上下文信息組合成一個(gè)新的事件類型,在這個(gè)稱為事件聚合的過程中要根據(jù)指定的事件實(shí)例使用策略選擇事件實(shí)例進(jìn)行事件聚合,根據(jù)消耗策略語義來維護(hù)已經(jīng)參與事件聚合的事件實(shí)例,根據(jù)老化策略和事件操作數(shù)的容量來維護(hù)事件實(shí)例;步驟(5.4),所述復(fù)雜事件處理模塊根據(jù)步驟(5.3)得到的復(fù)合事件形成工作流上下文;步驟(6),所述復(fù)合事件處理引擎把步驟(5.4)得到的工作流上下文送給所述工作流管理系統(tǒng);步驟(7),該工作流管理系統(tǒng)根據(jù)工作流上下文協(xié)調(diào)不同的企業(yè)信息系統(tǒng)執(zhí)行業(yè)務(wù)活動(dòng)。
2.根據(jù)權(quán)利要求1所述的泛在計(jì)算環(huán)境中工作流上下文信息的獲取方法,其特征在于,步驟(5.3)中所述的老化策略,包括按照時(shí)間順序的時(shí)序老化和根據(jù)具體語義進(jìn)行老化的語義老化策略。
3.根據(jù)權(quán)利要求1所述的泛在計(jì)算環(huán)境中工作流上下文信息的獲取方法,其特征在于,所述事件和上下文一起組成狀態(tài),即Situation,同時(shí)面向用戶,或觸發(fā)系統(tǒng)中的行為。
4.根據(jù)權(quán)利要求1所述的泛在計(jì)算環(huán)境中工作流上下文信息的獲取方法,其特征在于,所述數(shù)據(jù)庫用來存儲(chǔ)所述企業(yè)信息系統(tǒng)的數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的泛在計(jì)算環(huán)境中工作流上下文信息的獲取方法,其特征在于,所述邊緣服務(wù)器要從用戶端企業(yè)信息系統(tǒng),或者從所述數(shù)據(jù)庫中輸入上下文信息,輸出消除冗余數(shù)據(jù)、噪聲數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)后的RFID事件。
6.根據(jù)權(quán)利要求1所述的泛在計(jì)算環(huán)境中工作流上下文信息的獲取方法,其特征在于,所述邊緣服務(wù)器接受用戶端企業(yè)信息系統(tǒng)的指令,把EPC通過該RFID子系統(tǒng)中的RFID閱讀器寫入RFID標(biāo)簽中。
7.根據(jù)權(quán)利要求1所述的泛在計(jì)算環(huán)境中工作流上下文信息的獲取方法,其特征在于,所述寫在RFID電子標(biāo)簽中的EPC數(shù)據(jù)貼在零部件、產(chǎn)品以及相關(guān)人員上,由部署在不同位置的RFID閱讀器讀取。
8.泛在計(jì)算環(huán)境中工作流上下文信息的獲取系統(tǒng),其特征在于,含有RFID系統(tǒng)、邊緣服務(wù)器、工作流服務(wù)器、工作流管理系統(tǒng)以及企業(yè)信息系統(tǒng),其中RFID系統(tǒng),是一個(gè)無線射頻識(shí)別系統(tǒng),企業(yè)把該RFID系統(tǒng)布置在包括辦公室、會(huì)議室、生產(chǎn)線、倉庫在內(nèi)地區(qū)域,基于EPCglobal國(guó)際組織頒布的電子產(chǎn)品編碼EPC,以獲取包括產(chǎn)品位置信息、企業(yè)內(nèi)設(shè)定地區(qū)的溫度信息在內(nèi)的企業(yè)物理環(huán)境信息和活動(dòng)信息;邊緣服務(wù)器屬于互聯(lián)網(wǎng)的一種邊界網(wǎng)關(guān)服務(wù)器,和所述RFID系統(tǒng)互聯(lián),設(shè)有消除冗余、噪聲數(shù)據(jù)以及修改錯(cuò)誤數(shù)據(jù)的模塊,從所述RFID系統(tǒng)中讀取含有冗余、噪聲、錯(cuò)誤的RFID數(shù)據(jù),輸出已消除冗余、噪聲、錯(cuò)誤的RFID事件;工作流服務(wù)器,設(shè)在互聯(lián)網(wǎng)服務(wù)器,含有互相雙向連接的復(fù)雜事件處理引擎,工作流管理系統(tǒng)和數(shù)據(jù)庫,其中復(fù)雜事件處理引擎,設(shè)有一個(gè)基于復(fù)雜事件處理規(guī)則的相關(guān)處理模塊,該模塊把從所述邊緣服務(wù)器收到的每一個(gè)基本事件,或者把符合設(shè)定條件的RFID事件抽象為一個(gè)基本事件;然后,在基本事件之間,或在基本事件和復(fù)合事件之間、或在復(fù)合事件之間進(jìn)行重聚,按照復(fù)雜事件處理規(guī)則形成新的復(fù)合事件,從中提取工作流上下文;所述處理模塊也從所述企業(yè)信息系統(tǒng)中或數(shù)據(jù)庫中提取相關(guān)上下文信息;數(shù)據(jù)庫,從所述邊緣服務(wù)器中輸入RFID事件信息,或從所述企業(yè)信息系統(tǒng)中提取信息;工作流管理系統(tǒng),從所述復(fù)雜事件處理引擎中輸入工作流上下文信息,據(jù)此協(xié)調(diào)不同的企業(yè)信息系統(tǒng)執(zhí)行業(yè)務(wù)活動(dòng);企業(yè)信息系統(tǒng)設(shè)在用戶端,向所述邊緣服務(wù)器、復(fù)雜事件處理引擎、工作流管理系統(tǒng)和數(shù)據(jù)庫輸出它們各自需要的相關(guān)信息,其中,邊緣服務(wù)器需要EPC、復(fù)雜上下文,數(shù)據(jù)庫需要企業(yè)業(yè)務(wù)信息,工作流管理系統(tǒng)需要指令響應(yīng)信息。
全文摘要
本發(fā)明屬于工作流信息獲取技術(shù)領(lǐng)域,其特征在于,該方法基于一個(gè)由互聯(lián)網(wǎng)工作流服務(wù)站、用戶端企業(yè)信息系統(tǒng)及通過該工作流服務(wù)器與企業(yè)信息系統(tǒng)相連的無線射頻電子標(biāo)簽識(shí)別裝置組成的泛在計(jì)算環(huán)境,借助于工作流服務(wù)器中的基于復(fù)雜事件處理規(guī)則的復(fù)雜事件處理引擎對(duì)由電子標(biāo)簽識(shí)別器獲取的預(yù)處理后的企業(yè)物理環(huán)境及活動(dòng)信息構(gòu)成的事件信息進(jìn)行抽取、重聚后,構(gòu)成復(fù)合事件,并從中提取上下文,送往該工作流服務(wù)器中的工作流管理系統(tǒng),根據(jù)不同用戶的企業(yè)業(yè)務(wù)向用戶端形成不同的事件響應(yīng)信息。與傳統(tǒng)工作流處理相比,本發(fā)明自動(dòng)、實(shí)時(shí)、準(zhǔn)確地獲取特定對(duì)象的上下文信息,實(shí)現(xiàn)了企業(yè)業(yè)務(wù)過程自動(dòng)化的程度。
文檔編號(hào)G06Q10/00GK1959724SQ20061014401
公開日2007年5月9日 申請(qǐng)日期2006年11月24日 優(yōu)先權(quán)日2006年11月24日
發(fā)明者范玉順, 臧傳真 申請(qǐng)人:清華大學(xué)