事件驅(qū)動(dòng)、面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)及其工作方法
【專利摘要】一種事件驅(qū)動(dòng)、面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)及其工作方法,該系統(tǒng)由物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)、接入代理、基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)、復(fù)雜事件處理引擎、資源描述模型庫和傳感器系統(tǒng)多個(gè)部件所組成。本發(fā)明解決了目前物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)不能對大規(guī)模感知信息進(jìn)行分布式處理,以及無法針對物理世界的事件,使得不同的企業(yè)業(yè)務(wù)流程實(shí)現(xiàn)跨業(yè)務(wù)域、跨組織的有效協(xié)調(diào)等難題,該系統(tǒng)在一個(gè)開放、分布式計(jì)算環(huán)境中有效分發(fā)感知信息,便捷地支持各種感知信息在不同的物聯(lián)網(wǎng)異構(gòu)服務(wù)系統(tǒng)之間按需分發(fā),實(shí)現(xiàn)事件驅(qū)動(dòng)的跨業(yè)務(wù)域、跨組織的服務(wù)動(dòng)態(tài)協(xié)同,從而實(shí)現(xiàn)時(shí)間、空間和控制流解耦合的網(wǎng)絡(luò)服務(wù)提供,靈活、動(dòng)態(tài)、實(shí)時(shí)地對物理世界的變化做出快速響應(yīng)。
【專利說明】事件驅(qū)動(dòng)、面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)及其工作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種物聯(lián)網(wǎng)IOT (Internet of Things)服務(wù)的提供技術(shù),確切地說,涉及一種事件驅(qū)動(dòng)、面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)及其工作方法,屬于物聯(lián)網(wǎng)【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]隨著嵌入式計(jì)算和新型傳感技術(shù)的高速發(fā)展,信息與通信技術(shù)的目標(biāo)已經(jīng)從任何時(shí)間、任何地點(diǎn)連接任何人實(shí)現(xiàn)通信的階段,發(fā)展到目前已經(jīng)能夠?qū)崿F(xiàn)任何時(shí)間、任何地點(diǎn)的任何人實(shí)現(xiàn)與位于任何場合的物品相連接、完成交互通信的階段。人們希望將計(jì)算設(shè)施形成的虛擬世界和現(xiàn)實(shí)的物理世界更加緊密地相互聯(lián)系在一起,使計(jì)算設(shè)備能夠無縫地融入到人們的工作與生活中,通過實(shí)時(shí)感知物理世界并進(jìn)行動(dòng)態(tài)交互,從而提供更加智慧的普適服務(wù)。
[0003]在這個(gè)背景下,物聯(lián)網(wǎng)技術(shù)應(yīng)運(yùn)而生。大量的物理實(shí)體相互連接并集成到信息空間中,通過網(wǎng)絡(luò)實(shí)現(xiàn)信息的交互和消費(fèi)。由于問題域的變化,與現(xiàn)有的網(wǎng)絡(luò)通信或計(jì)算機(jī)服務(wù)提供模式相比較,物聯(lián)網(wǎng)的服務(wù)提供呈現(xiàn)出一些新的特點(diǎn)。具體而言,現(xiàn)有的服務(wù)(如電信服務(wù)或者互聯(lián)網(wǎng)應(yīng)用)主要解決“人-機(jī)”和“機(jī)-機(jī)”的交互,也就是說,現(xiàn)有的服務(wù)主要是面向一個(gè)二元問題域,即用戶域和信息空間域。
[0004]然而,物聯(lián)網(wǎng)服務(wù)還需要解決與物理世界的無縫集成和動(dòng)態(tài)交互。因此,物聯(lián)網(wǎng)服務(wù)的實(shí)質(zhì)是面臨一個(gè)“用戶、信息空間和物理空間”的三元問題域;可以看出:物聯(lián)網(wǎng)服務(wù)系統(tǒng)的邊界發(fā)生了很大的變化。物聯(lián)網(wǎng)服務(wù)系統(tǒng)常常需要集成多個(gè)分布式的企業(yè)應(yīng)用系統(tǒng),形成一個(gè)大規(guī)模的復(fù)雜服務(wù)系統(tǒng)來協(xié)作處理,從而實(shí)現(xiàn)設(shè)定的業(yè)務(wù)目標(biāo)。當(dāng)物理世界發(fā)生了感興趣的事件,物聯(lián)網(wǎng)服務(wù)系統(tǒng)需要快速地跨業(yè)務(wù)域、甚至跨組織地對人工、軟件服務(wù)和物理實(shí)體進(jìn)行協(xié)調(diào)。由于所涉及的軟件服務(wù)、業(yè)務(wù)流程、人員和物理實(shí)體不僅類型多樣,而且還在持續(xù)不斷地演進(jìn)與發(fā)展,物聯(lián)網(wǎng)服務(wù)系統(tǒng)呈現(xiàn)出高度動(dòng)態(tài)變化的特征。因此,物聯(lián)網(wǎng)服務(wù)系統(tǒng)面臨著如何實(shí)現(xiàn)大量異構(gòu)服務(wù)和企業(yè)業(yè)務(wù)的流程,以及如何與物理實(shí)體進(jìn)行有效協(xié)同來適應(yīng)動(dòng)態(tài)變化環(huán)境的挑戰(zhàn)。
[0005]目前,物聯(lián)網(wǎng)服務(wù)提供技術(shù)引起了越來越多的重視和關(guān)注,已有大量工作研究了通過移動(dòng)代理或者中間件技術(shù)來實(shí)現(xiàn)物理世界和企業(yè)服務(wù)的集成。然而,在集成過程中,面臨著一個(gè)主要障礙是大量已部署的傳感器網(wǎng)絡(luò)或者應(yīng)用系統(tǒng)采用了專有業(yè)務(wù)平臺(tái)和專有技術(shù),這些非標(biāo)準(zhǔn)的接口協(xié)議導(dǎo)致應(yīng)用系統(tǒng)與傳感網(wǎng)絡(luò)的集成非常復(fù)雜。
[0006]為了解決跨業(yè)務(wù)域的系統(tǒng)集成,最近,研究人員將面向服務(wù)的計(jì)算技術(shù)應(yīng)用到物聯(lián)網(wǎng)服務(wù)提供。考慮到傳統(tǒng)的面向服務(wù)計(jì)算SOA (Service Oriented Architecture)標(biāo)準(zhǔn)和技術(shù)的設(shè)計(jì)初衷主要是解決互聯(lián)網(wǎng)環(huán)境下重量級(jí)的企業(yè)級(jí)服務(wù)的集成,技術(shù)人員嘗試提出了一些適合于資源受限的嵌入式設(shè)備的輕量級(jí)Web服務(wù)協(xié)議??傮w而言,現(xiàn)有的技術(shù)方案主要集中在使用SOA技術(shù)或者更輕量級(jí)服務(wù)來實(shí)現(xiàn)不同物理實(shí)體和企業(yè)應(yīng)用系統(tǒng)的互聯(lián)互通問題上。事實(shí)上,互聯(lián)互通是物聯(lián)網(wǎng)服務(wù)面臨的一個(gè)重要問題。但是,隨之而來的另一個(gè)問題是在解決了設(shè)備的互聯(lián)互通以后,如何在一個(gè)分布式、松耦合的環(huán)境中實(shí)現(xiàn)感知信息在信息提供者和消費(fèi)者之間的有效分發(fā),并基于物理世界發(fā)生的事件而動(dòng)態(tài)協(xié)調(diào)相關(guān)的企業(yè)服務(wù)并做出快速響應(yīng)。
[0007]目前,大多數(shù)物聯(lián)網(wǎng)應(yīng)用系統(tǒng)是一種緊耦合、封閉式的服務(wù)提供模式,也就是傳感器網(wǎng)絡(luò)采集相關(guān)的感知信息,并存儲(chǔ)于一個(gè)集中的數(shù)據(jù)庫,相關(guān)特定的應(yīng)用系統(tǒng)通過訪問數(shù)據(jù)庫中的信息,從而提供相應(yīng)服務(wù)。這種服務(wù)提供模式極大地限制了系統(tǒng)的靈活性和擴(kuò)展性,不適合大規(guī)模分布式、復(fù)雜的物聯(lián)網(wǎng)服務(wù)系統(tǒng)的構(gòu)建。
[0008]為了支持在不同的服務(wù)系統(tǒng)間交換信息,傳統(tǒng)的以“請求-應(yīng)答”為主的SOA架構(gòu)經(jīng)常使用集中式的服務(wù)編排機(jī)制通過服務(wù)的調(diào)用交換數(shù)據(jù)。然而,這種模式導(dǎo)致了信息的提供方和消費(fèi)者彼此直接交互,業(yè)務(wù)流程常常通過一些流程編制語言如業(yè)務(wù)流程執(zhí)行語言BPEL (Business Process Execution Language)或者工作流語言進(jìn)行描述。這樣當(dāng)應(yīng)用需求發(fā)生了變化,如新集成了一個(gè)服務(wù)或者一個(gè)服務(wù)的撤銷等,這種緊耦合的系統(tǒng)架構(gòu)必須重新修改流程,缺乏足夠的靈活性來做出適配。檢索到的現(xiàn)有的專利文獻(xiàn)包括下述兩個(gè):
[0009]《物聯(lián)網(wǎng)服務(wù)系統(tǒng)》(中國專利申請?zhí)枮?01110101715.2),該專利申請存在以下不足:一、該專利申請主要側(cè)重于通過各種傳感器單元將數(shù)據(jù)信息通過有線或無線網(wǎng)絡(luò)傳輸?shù)竭B接互聯(lián)網(wǎng)的服務(wù)器上,可以看出該物聯(lián)網(wǎng)服務(wù)系統(tǒng)是一種緊耦合、封閉式的服務(wù)提供模式,也就是傳感器網(wǎng)絡(luò)采集相關(guān)的感知信息,存儲(chǔ)于一個(gè)集中的服務(wù)器或數(shù)據(jù)庫中,感知數(shù)據(jù)在多個(gè)異構(gòu)服務(wù)系統(tǒng)中的共享和分發(fā)難以解決。因此,這種服務(wù)提供模式極大地限制了系統(tǒng)的靈活性和擴(kuò)展性,不適合大規(guī)模分布式、復(fù)雜物聯(lián)網(wǎng)服務(wù)系統(tǒng)的構(gòu)建。二、該專利申請的物聯(lián)網(wǎng)服務(wù)系統(tǒng)不能處理大規(guī)模復(fù)雜事件的關(guān)聯(lián)和聚合,因此,無法形成高層的上下文認(rèn)知,難以支持更加智慧的服務(wù)。三、該專利申請的服務(wù)系統(tǒng)只是一個(gè)相對簡單的數(shù)據(jù)采集和收集的物聯(lián)網(wǎng)服務(wù)系統(tǒng),無法支持基于采集到的數(shù)據(jù)進(jìn)行相關(guān)的復(fù)雜業(yè)務(wù)處理的物聯(lián)網(wǎng)應(yīng)用需求。
[0010]《一種物聯(lián)網(wǎng)應(yīng)用實(shí)現(xiàn)方法及系統(tǒng)》(中國專利申請?zhí)枮?01010102600.0),該專利申請用于解決物聯(lián)網(wǎng)與企業(yè)現(xiàn)有應(yīng)用系統(tǒng)的融合問題。該系統(tǒng)提供物聯(lián)網(wǎng)服務(wù)接口設(shè)備給用戶,向用戶開放物聯(lián)網(wǎng)服務(wù)接口,以滿足企業(yè)用戶將物聯(lián)網(wǎng)服務(wù)集成到現(xiàn)有應(yīng)用系統(tǒng)中的需求。用戶可根據(jù)物聯(lián)網(wǎng)服務(wù)接口設(shè)備開放的接口進(jìn)行二次開發(fā)。但是,該專利申請同樣存在以下不足:一、該專利申請的系統(tǒng)主要側(cè)重于為企業(yè)提供開放接口,以供二次開發(fā);沒有解決大規(guī)模感知數(shù)據(jù)在多個(gè)異構(gòu)服務(wù)系統(tǒng)中的共享和分發(fā)。二、該系統(tǒng)基本上是一個(gè)集中式的物聯(lián)網(wǎng)服務(wù)提供平臺(tái),因此,這種服務(wù)提供模式限制了系統(tǒng)的靈活性和擴(kuò)展性,不適合大規(guī)模分布式、復(fù)雜物聯(lián)網(wǎng)服務(wù)系統(tǒng)的構(gòu)建。
【發(fā)明內(nèi)容】
[0011]有鑒于此,本發(fā)明的目的是提供一種事件驅(qū)動(dòng)、面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)及工作方法,本發(fā)明能夠解決現(xiàn)有技術(shù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)基本上都沒有考慮大規(guī)模感知信息如何分布式進(jìn)行處理,以及如何根據(jù)物理世界所發(fā)生的事件使得不同的企業(yè)業(yè)務(wù)流程能夠?qū)崿F(xiàn)跨業(yè)務(wù)域、甚至跨組織域的有效協(xié)調(diào)等難題和缺陷,本發(fā)明系統(tǒng)能夠在一個(gè)開放、分布式的計(jì)算環(huán)境中有效分發(fā)感知信息,并實(shí)現(xiàn)靈活、動(dòng)態(tài)的異構(gòu)服務(wù)系統(tǒng)間的協(xié)同配
入
口 O
[0012]為了達(dá)到上述目的,本發(fā)明提供了一種事件驅(qū)動(dòng)、面向服務(wù)EDSOA (Event-DrivenService-Oriented Architecture)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng),其特征在于:所述系統(tǒng)設(shè)有下述多個(gè)組成部件:物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)、接入代理、基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)、復(fù)雜事件處理引擎、資源描述模型庫和傳感器系統(tǒng),其中,傳感器系統(tǒng)、物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)、復(fù)雜事件處理引擎分別與接入代理相連接,以便接入統(tǒng)一消息分發(fā)網(wǎng)絡(luò);接入代理與資源描述模型庫分別連接統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的事件代理;復(fù)雜事件處理引擎和物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)中的報(bào)表系統(tǒng)還連接歷史數(shù)據(jù)庫;其中:
[0013]物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng),為包括數(shù)據(jù)庫系統(tǒng)、報(bào)表系統(tǒng)、WEB服務(wù)編制系統(tǒng)、工作流系統(tǒng)、可視化監(jiān)控系統(tǒng)和告警系統(tǒng)的這類物聯(lián)網(wǎng)服務(wù)提供領(lǐng)域中的多個(gè)上層應(yīng)用系統(tǒng),所述數(shù)據(jù)庫系統(tǒng)用于存儲(chǔ)各種應(yīng)用系統(tǒng)的采集數(shù)據(jù)和處理過程產(chǎn)生的業(yè)務(wù)數(shù)據(jù),報(bào)表系統(tǒng)用于執(zhí)行數(shù)據(jù)統(tǒng)計(jì)、匯總和分析的系統(tǒng),WEB服務(wù)編制系統(tǒng)是基于業(yè)務(wù)過程執(zhí)行語言BPEL (BusinessProcess Execution Language)編制自動(dòng)化業(yè)務(wù)流程的業(yè)務(wù)編制系統(tǒng),工作流系統(tǒng)是支持人工活動(dòng)、將工作分解成定義良好的任務(wù)與角色,再按照設(shè)定規(guī)則和過程執(zhí)行任務(wù)并對執(zhí)行過程進(jìn)行監(jiān)控的業(yè)務(wù)流程系統(tǒng),可視化監(jiān)控系統(tǒng)是通過可視化方式實(shí)時(shí)呈現(xiàn)所監(jiān)控物理對象的狀態(tài)變化并實(shí)現(xiàn)遠(yuǎn)程控制的系統(tǒng),包括基于組態(tài)軟件工具的監(jiān)控系統(tǒng)和基于地理信息系統(tǒng)的監(jiān)控系統(tǒng);告警系統(tǒng)是能夠針對出現(xiàn)的告警信息進(jìn)行告警顯示和處置的應(yīng)用系統(tǒng);
[0014]接入代理,作為傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)和基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)之間的消息適配器,用于將各種異構(gòu)的感知信息和業(yè)務(wù)事件適配為統(tǒng)一標(biāo)準(zhǔn)化的事件,該接入代理設(shè)有:專有接口和發(fā)布/訂閱接口,以及數(shù)據(jù)解析/封裝、資源映射、數(shù)據(jù)采集處理、簡單事件處理與數(shù)據(jù)通知處理多個(gè)模塊;
[0015]統(tǒng)一消息分發(fā)網(wǎng)絡(luò),是由多個(gè)事件代理構(gòu)成的一個(gè)基于發(fā)布/訂閱機(jī)制的分布式覆蓋網(wǎng)絡(luò):多個(gè)事件代理利用發(fā)布/訂閱機(jī)制實(shí)現(xiàn)大規(guī)模、分布式地分發(fā)事件,且每個(gè)事件代理分別承擔(dān)事件的發(fā)布、訂閱、通知和路由的功能;這些事件代理組成不同的簇,以提供簇級(jí)的可擴(kuò)展性;且成簇的事件代理相互連接,從而形成一個(gè)大規(guī)模的分布式覆蓋網(wǎng)絡(luò);在該分簇拓?fù)浣Y(jié)構(gòu)中,統(tǒng)一消息分發(fā)網(wǎng)絡(luò)支持簇內(nèi)路由和簇間路由;每個(gè)事件代理設(shè)有下述部件:事件代理間通信接口、事件路由模塊、訂閱同步模塊、代理管理模塊、發(fā)布事件集合模塊、訂閱主題列表模塊、事件匹配模塊、以及包括注冊接口、發(fā)布主題接口、訂閱主題接口、主題通知接口、退訂主題接口、取消主題接口的發(fā)布/訂閱接口;
[0016]復(fù)雜事件處理引擎,用于通過發(fā)布/訂閱接口完成與事件代理的交互:將系統(tǒng)數(shù)據(jù)視為不同類型的事件,通過分析事件間的關(guān)聯(lián)關(guān)系,建立不同的事件關(guān)系序列庫,再利用過濾、關(guān)聯(lián)和聚合技術(shù),以使由簡單事件產(chǎn)生高級(jí)事件,進(jìn)而觸發(fā)相應(yīng)的業(yè)務(wù)流程;該復(fù)雜事件處理引擎的輸入來自事件代理的實(shí)時(shí)事件流或歷史數(shù)據(jù)庫的數(shù)據(jù),再將完成處理后的復(fù)雜事件輸出到事件代理;設(shè)有:事件模式編輯模塊、事件類型注冊模塊、由事件聲明檢測單元和事件模式檢測單元組成的事件檢測模塊、數(shù)據(jù)庫連接模塊、輸入事件流適配模塊、事件監(jiān)聽模塊和輸出事件流適配模塊;
[0017]資源描述模型庫,負(fù)責(zé)描述物聯(lián)網(wǎng)資源、上下文信息和領(lǐng)域知識(shí),并使用鏈接數(shù)據(jù)來擴(kuò)展包括萬維網(wǎng)組織制定的語義傳感器網(wǎng)絡(luò)W3C SSN (World Wide Web ConsortiumSemantic Sensor Network)現(xiàn)有本體的資源,該資源描述模型庫使用的本體組織層次依序分為:頂層本體、上層本體、外部本體和領(lǐng)域本體層;且每個(gè)下層本體都能使用位于其上層的本體,實(shí)現(xiàn)資源共享;其輸入接口連接各種互聯(lián)網(wǎng)上的已有本體資源,也能使用本體建模工具自行生成新的本體作為輸入;資源描述模型庫中的各種資源模型通過輸出接口連接接入代理;
[0018]傳感器系統(tǒng),包括物聯(lián)網(wǎng)環(huán)境中使用的各種物理傳感器和/或傳感器的應(yīng)用系統(tǒng),用于感知和采集物理世界的各種變化信息;該傳感器系統(tǒng)至少包括:各類無線傳感器、智能手機(jī)終端、車載終端、有線傳感器和信息采集模塊。
[0019]為了達(dá)到上述目的,本發(fā)明還提供了一種事件驅(qū)動(dòng)、面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)的工作方法,其特征在于:所述工作方法包括下列操作步驟:
[0020]( I)傳感器系統(tǒng)感知和采集物理世界的各種相關(guān)參數(shù),并通過標(biāo)準(zhǔn)協(xié)議傳送給接入代理;
[0021](2)接入代理接收到來自傳感器系統(tǒng)的采集數(shù)據(jù)后,使用資源描述模型庫中設(shè)定的概念和屬性將異構(gòu)的或?qū)S行畔⒍嫁D(zhuǎn)換為統(tǒng)一標(biāo)準(zhǔn)化的事件;然后,接入代理調(diào)用事件代理的發(fā)布/訂閱接口,將事件發(fā)布到統(tǒng)一消息分發(fā)網(wǎng)絡(luò);
[0022](3)統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的事件代理接收到發(fā)布的事件后,對照檢查訂閱主題列表,將該事件分發(fā)和路由到不同的事件代理,再由該事件代理負(fù)責(zé)向訂閱該事件的系統(tǒng)發(fā)送事件通知;
[0023](4)不同的事件訂閱者接收到訂閱的事件通知后,執(zhí)行相應(yīng)的下述預(yù)定處理流程或動(dòng)作:
[0024]若事件訂閱者為復(fù)雜事件處理引擎,則復(fù)雜事件處理引擎根據(jù)預(yù)先設(shè)定的事件模式和事件聲明進(jìn)行檢測,從而輸出復(fù)雜事件;并經(jīng)由接入代理轉(zhuǎn)發(fā)至基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)進(jìn)行后續(xù)處理;
[0025]若事件訂閱者為歷史數(shù)據(jù)庫,則歷史數(shù)據(jù)庫對接收到的事件進(jìn)行采樣處理,并完成數(shù)據(jù)的持久性存儲(chǔ);
[0026]若事件訂閱者為該物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)中的各種物聯(lián)網(wǎng)業(yè)務(wù)子系統(tǒng),則該物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)就觸發(fā)其子系統(tǒng)的相應(yīng)業(yè)務(wù)流程處理該事件;
[0027]若事件訂閱者為可視化監(jiān)控系統(tǒng),則可視化監(jiān)控系統(tǒng)將該事件所攜帶的數(shù)據(jù)或其他信息實(shí)時(shí)顯示于可視化監(jiān)控界面;
[0028]若事件訂閱者為告警系統(tǒng),則告警系統(tǒng)根據(jù)該事件攜帶的告警級(jí)別發(fā)出相應(yīng)的聲光告警信號(hào),并執(zhí)行相應(yīng)的告警處置流程。
[0029]與現(xiàn)有技術(shù)相比較,本發(fā)明物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)的有益效果是:能夠便捷地支持感知信息在不同的物聯(lián)網(wǎng)異構(gòu)服務(wù)系統(tǒng)之間的按需分發(fā),并實(shí)現(xiàn)事件驅(qū)動(dòng)的跨業(yè)務(wù)域、甚至跨組織域的服務(wù)動(dòng)態(tài)協(xié)同。這種能夠?qū)崿F(xiàn)時(shí)間、空間和控制流解耦合的網(wǎng)絡(luò)服務(wù)提供方法,極大地增強(qiáng)了系統(tǒng)的靈活性,允許系統(tǒng)動(dòng)態(tài)、實(shí)時(shí)地對物理世界的變化做出快速響應(yīng)。
【專利附圖】
【附圖說明】
[0030]圖1是本發(fā)明事件驅(qū)動(dòng)面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)結(jié)構(gòu)組成示意圖。
[0031]圖2是本發(fā)明系統(tǒng)中的接入代理結(jié)構(gòu)組成示意圖。
[0032]圖3是本發(fā)明系統(tǒng)中的基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)結(jié)構(gòu)組成示意圖。
[0033]圖4是本發(fā)明系統(tǒng)中的事件代理結(jié)構(gòu)組成示意圖。[0034]圖5是本發(fā)明系統(tǒng)中的復(fù)雜事件處理引擎結(jié)構(gòu)組成示意圖。
[0035]圖6是本發(fā)明系統(tǒng)中的資源描述模型庫結(jié)構(gòu)組成示意圖。
[0036]圖7是本發(fā)明事件驅(qū)動(dòng)面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)的工作方法操作步驟流程圖。
[0037]圖8是本發(fā)明實(shí)施例的主題訂閱路由過程時(shí)序圖。
[0038]圖9是本發(fā)明實(shí)施例的復(fù)雜事件生成流程時(shí)序圖。
[0039]圖10是本發(fā)明實(shí)施例的事件驅(qū)動(dòng)的服務(wù)協(xié)作流程時(shí)序圖。
【具體實(shí)施方式】
[0040]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)描述。
[0041]參見圖1?圖6,介紹本發(fā)明事件驅(qū)動(dòng)、面向服務(wù)EDSOA的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)的結(jié)構(gòu)組成。該物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)包括下述多個(gè)組成部件(參見圖1所示):物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)、接入代理、基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)、復(fù)雜事件處理引擎、資源描述模型庫和傳感器系統(tǒng)。其中,傳感器系統(tǒng)、物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)、復(fù)雜事件處理引擎分別與接入代理相連接,以便接入統(tǒng)一消息分發(fā)網(wǎng)絡(luò);接入代理與資源描述模型庫分別連接統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的事件代理;復(fù)雜事件處理引擎和物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)中的報(bào)表系統(tǒng)還連接歷史數(shù)據(jù)庫。下面分別具體說明各個(gè)組成部件的功能與特點(diǎn):
[0042]物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng):其是涉及物聯(lián)網(wǎng)服務(wù)提供領(lǐng)域中各種常見的上層應(yīng)用系統(tǒng),包括數(shù)據(jù)庫系統(tǒng)、報(bào)表系統(tǒng)、WEB服務(wù)編制系統(tǒng)、工作流系統(tǒng)、可視化監(jiān)控系統(tǒng)和告警系統(tǒng)等。其中,數(shù)據(jù)庫系統(tǒng)用于存儲(chǔ)各種應(yīng)用系統(tǒng)的采集數(shù)據(jù)和處理過程產(chǎn)生的業(yè)務(wù)數(shù)據(jù),報(bào)表系統(tǒng)用于執(zhí)行數(shù)據(jù)統(tǒng)計(jì)、匯總和分析的系統(tǒng),WEB服務(wù)編制系統(tǒng)是基于業(yè)務(wù)過程執(zhí)行語言BPEL (Business Process Execution Language)的業(yè)務(wù)編制系統(tǒng),用于編制自動(dòng)化業(yè)務(wù)流程;工作流系統(tǒng)是支持人工活動(dòng)的業(yè)務(wù)流程系統(tǒng),它是通過將工作分解成定義良好的任務(wù)與角色,再按照設(shè)定規(guī)則和過程執(zhí)行任務(wù)并對執(zhí)行過程進(jìn)行監(jiān)控;可視化監(jiān)控系統(tǒng)是通過可視化方式實(shí)時(shí)呈現(xiàn)所監(jiān)控物理對象的狀態(tài)變化,并實(shí)現(xiàn)遠(yuǎn)程控制的系統(tǒng),包括基于組態(tài)軟件工具的監(jiān)控系統(tǒng)和基于地理信息系統(tǒng)的監(jiān)控系統(tǒng);告警系統(tǒng)是能夠針對出現(xiàn)的告警信息進(jìn)行告警顯示和處置的應(yīng)用系統(tǒng)。
[0043]接入代理:作為一種事件發(fā)布者/訂閱者(如各種傳感器系統(tǒng)或業(yè)務(wù)系統(tǒng))和基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)之間的消息適配器,用于將各種異構(gòu)的感知信息和業(yè)務(wù)事件適配為統(tǒng)一標(biāo)準(zhǔn)化的事件。該接入代理設(shè)有:專有接口和發(fā)布/訂閱接口,以及數(shù)據(jù)解析/封裝、資源映射、數(shù)據(jù)采集處理、簡單事件處理與數(shù)據(jù)通知處理多個(gè)模塊。參見圖2,介紹其各個(gè)組成模塊的功能如下:
[0044]資源映射模塊,負(fù)責(zé)對來自各種專業(yè)系統(tǒng)中的數(shù)據(jù)格式和統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的統(tǒng)一標(biāo)準(zhǔn)數(shù)據(jù)格式進(jìn)行相互轉(zhuǎn)換和映射后,送至數(shù)據(jù)解析/封裝模塊;
[0045]簡單事件處理模塊,負(fù)責(zé)檢查采集數(shù)據(jù)是否超出設(shè)定閾值,一旦發(fā)現(xiàn)該情況,則根據(jù)設(shè)定規(guī)則確定告警等級(jí),并告知數(shù)據(jù)采集處理模塊;
[0046]數(shù)據(jù)采集處理模塊,負(fù)責(zé)把接入代理從傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)接收到的采集數(shù)據(jù)和消息轉(zhuǎn)發(fā)到統(tǒng)一消息分發(fā)網(wǎng)絡(luò);[0047]數(shù)據(jù)通知處理模塊,負(fù)責(zé)把接入代理從統(tǒng)一消息分發(fā)網(wǎng)絡(luò)接收到的通知事件經(jīng)由數(shù)據(jù)解析/封裝模塊和相應(yīng)接口轉(zhuǎn)發(fā)到傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng);
[0048]數(shù)據(jù)解析/封裝模塊,負(fù)責(zé)對專有接口和發(fā)布/訂閱接口接收到的信息進(jìn)行解析后,轉(zhuǎn)送相應(yīng)模塊處理;還對準(zhǔn)備通過專有接口和發(fā)布/訂閱接口發(fā)送的消息進(jìn)行封裝后,發(fā)送至傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng);
[0049]專有接口,負(fù)責(zé)接入代理與復(fù)雜處理引擎、傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)之間的消息傳送;
[0050]發(fā)布/訂閱接口,負(fù)責(zé)事件代理和統(tǒng)一消息分發(fā)網(wǎng)絡(luò)之間的消息傳送。
[0051]統(tǒng)一消息分發(fā)網(wǎng)絡(luò):是由多個(gè)事件代理構(gòu)成的一個(gè)基于發(fā)布/訂閱機(jī)制的分布式覆蓋網(wǎng)絡(luò)(參見圖3所示):多個(gè)事件代理利用發(fā)布/訂閱機(jī)制實(shí)現(xiàn)大規(guī)模、分布式地分發(fā)事件,且每個(gè)事件代理分別承擔(dān)事件的發(fā)布、訂閱、通知和路由等功能。這些事件代理組成不同的簇,以提供簇級(jí)的可擴(kuò)展性;而且,成簇的事件代理相互連接,從而形成一個(gè)大規(guī)模的分布式覆蓋網(wǎng)絡(luò),能夠?qū)崿F(xiàn)大規(guī)模分布式的事件分發(fā)。該網(wǎng)絡(luò)的分簇拓?fù)浣Y(jié)構(gòu)中,統(tǒng)一消息分發(fā)網(wǎng)絡(luò)支持簇內(nèi)路由和簇間路由。在統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中,每個(gè)簇都設(shè)有一個(gè)特定事件代理、即負(fù)責(zé)簇間路由的委托代理。發(fā)布者或訂閱者連接到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的某個(gè)事件代理,并通過該事件代理發(fā)布或訂閱其感興趣的事件;當(dāng)該事件代理接收到客戶端的訂閱時(shí),負(fù)責(zé)將該訂閱信息轉(zhuǎn)發(fā)到簇內(nèi)鄰居節(jié)點(diǎn)和本簇的委托代理,并由本簇的委托代理將該訂閱信息轉(zhuǎn)發(fā)到其他簇;同樣地,當(dāng)某個(gè)事件代理從其客戶端接收到發(fā)布的事件,通過統(tǒng)一消息分發(fā)網(wǎng)絡(luò)將該事件轉(zhuǎn)發(fā)到匹配訂閱的事件代理,然后,該事件代理將該事件交付給感興趣的訂閱者。
[0052]參見圖4,介紹每個(gè)事件代理的結(jié)構(gòu)組成。其設(shè)有下述部件:事件代理間通信接口、事件路由模塊、訂閱同步模塊、代理管理模塊、發(fā)布事件集合模塊、訂閱主題列表模塊、事件匹配模塊、以及包括注冊接口、發(fā)布主題接口、訂閱主題接口、主題通知接口、退訂主題接口、取消主題接口的發(fā)布/訂閱接口。其中,事件匹配模塊分別和發(fā)布/訂閱接口、訂閱主題列表模塊和發(fā)布事件集合模塊相連接;事件路由模塊分別連接事件代理間通信接口中的事件路由接口、訂閱主題列表模塊、發(fā)布事件集合模塊和發(fā)布/訂閱接口中的主題通知接口 ;訂閱同步模塊分別連接事件代理間通信接口中的訂閱同步接口和訂閱主題列表模塊;代理管理模塊與代理管理接口相連接。這些模塊與接口的功能說明如下:
[0053]事件代理間通信接口,負(fù)責(zé)不同事件代理之間的消息交互,設(shè)有三種接口:事件路由接口、訂閱同步接口和代理管理接口,分別提供相應(yīng)信息的傳遞途徑。
[0054]代理管理模塊,負(fù)責(zé)維護(hù)事件代理節(jié)點(diǎn)信息和所屬簇的各種相關(guān)信息。
[0055]訂閱同步模塊,負(fù)責(zé)不同的事件代理直接進(jìn)行主題訂閱信息的實(shí)時(shí)同步。
[0056]事件路由模塊,負(fù)責(zé)對事件代理接收的事件對照查閱訂閱主題列表模塊,然后執(zhí)行相應(yīng)分發(fā)操作。
[0057]發(fā)布事件集合模塊,用于存儲(chǔ)相關(guān)主題的最新發(fā)布的事件,每個(gè)發(fā)布主題包括一個(gè)或多個(gè)發(fā)布事件。
[0058]訂閱主題列表模塊,用于存儲(chǔ)相關(guān)主題的最新訂閱信息,因事件代理有兩種:事件代理和委托代理,故訂閱主題列表有三種:存儲(chǔ)直接注冊于該事件代理的訂閱者的訂閱信息的注冊用戶訂閱表,存儲(chǔ)本簇內(nèi)其他事件代理的訂閱信息的鄰居代理訂閱表,以及存儲(chǔ)其他簇感興趣的訂閱信息的簇訂閱表;訂閱表中的每項(xiàng)記錄包括兩個(gè)內(nèi)容:訂閱主題和訂閱者地址。
[0059]事件匹配模塊,負(fù)責(zé)在發(fā)布事件集合模塊和訂閱主題列表模塊中對接收到的事件進(jìn)行匹配查詢。
[0060]發(fā)布/訂閱接口,用于提供本地發(fā)布者/訂閱者的注冊、以及相關(guān)主題的發(fā)布/訂閱/通知/退訂/取消的功能。
[0061]復(fù)雜事件處理引擎(參見圖5所示):用于通過發(fā)布/訂閱接口完成與事件代理的交互:將系統(tǒng)數(shù)據(jù)視為不同類型的事件,通過分析各個(gè)事件間的關(guān)聯(lián)關(guān)系,建立不同的事件關(guān)系序列庫,再利用過濾、關(guān)聯(lián)和聚合等技術(shù),以使由簡單事件產(chǎn)生高級(jí)事件,進(jìn)而觸發(fā)相應(yīng)的業(yè)務(wù)流程。該復(fù)雜事件處理引擎的輸入來自事件代理的實(shí)時(shí)事件流或歷史數(shù)據(jù)庫的數(shù)據(jù),再將完成處理后的復(fù)雜事件輸出到事件代理,通過發(fā)布/訂閱接口完成該復(fù)雜事件處理引擎與事件代理的交互。設(shè)有:事件模式編輯模塊、事件類型注冊模塊、由事件聲明檢測單元和事件模式檢測單元組成的事件檢測模塊、數(shù)據(jù)庫連接模塊、輸入事件流適配模塊、事件監(jiān)聽模塊和輸出事件流適配模塊。其中,事件模式編輯模塊連接事件類型注冊模塊和事件檢測模塊,事件檢測模塊還與數(shù)據(jù)庫連接模塊、輸入事件流適配模塊和事件監(jiān)聽模塊相連接,事件監(jiān)聽模塊連接輸出事件流適配模塊。上述各個(gè)模塊的功能如下:
[0062]事件模式編輯模塊,負(fù)責(zé)接收用戶輸入而生成相應(yīng)的事件聲明或更復(fù)雜的包括事件規(guī)則和條件的事件模式。
[0063]事件類型注冊模塊,負(fù)責(zé)將用戶要求的事件類型注冊到復(fù)雜事件處理引擎,為事件模式編輯模塊快速生成事件聲明和事件模式語句提供支持。
[0064]數(shù)據(jù)庫連接模塊,負(fù)責(zé)接收來自數(shù)據(jù)庫系統(tǒng)的信息,送至事件檢測模塊。
[0065]輸入事件流適配模塊,負(fù)責(zé)通過事件代理從統(tǒng)一消息分發(fā)網(wǎng)絡(luò)接收實(shí)時(shí)事件流。
[0066]事件檢測模塊,負(fù)責(zé)檢測接收到的事件,檢查是否存在符合定義的事件聲明和是否發(fā)生事件模式的復(fù)雜事件;其中,事件聲明檢測單元負(fù)責(zé)檢查是否發(fā)生事件聲明所描述的復(fù)雜事件,事件模式檢測單元負(fù)責(zé)檢查是否發(fā)生事件模式所描述的復(fù)雜事件。
[0067]事件監(jiān)聽模塊,負(fù)責(zé)對事件檢測模塊檢測到的符合條件的復(fù)雜事件執(zhí)行后續(xù)處理。
[0068]輸出事件流適配模塊,負(fù)責(zé)將事件監(jiān)聽模塊的處理結(jié)果按發(fā)布/訂閱的接口要求通過事件代理發(fā)送到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
[0069]資源描述模型庫(參見圖6所示):負(fù)責(zé)描述物聯(lián)網(wǎng)資源、上下文信息和領(lǐng)域知識(shí),并使用鏈接數(shù)據(jù)來擴(kuò)展包括萬維網(wǎng)組織制定的語義傳感器網(wǎng)絡(luò)W3C SSN (World Wide WebConsortium Semantic Sensor Network)現(xiàn)有本體的資源,該資源描述模型庫使用的本體組織層次依序分為:頂層本體、上層本體、外部本體和領(lǐng)域本體層;且每個(gè)下層本體都能夠使用位于其上層的本體,實(shí)現(xiàn)資源共享;其輸入接口連接各種互聯(lián)網(wǎng)上的已有本體資源,也能使用本體建模工具自行生成新的本體作為輸入。資源描述模型庫中的各種資源模型通過輸出接口連接接入代理。
[0070]傳感器系統(tǒng):包括物聯(lián)網(wǎng)環(huán)境中使用的各種物理傳感器和/或傳感器的應(yīng)用系統(tǒng),用于感知和采集物理世界的各種變化信息。該傳感器系統(tǒng)至少包括:各類無線傳感器、智能手機(jī)終端、車載終端、有線傳感器和信息采集模塊。[0071]參見圖7,介紹本發(fā)明事件驅(qū)動(dòng)面向服務(wù)物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)工作方法的具體操作步驟:
[0072]步驟I,傳感器系統(tǒng)感知和采集物理世界的各種相關(guān)參數(shù),并通過標(biāo)準(zhǔn)協(xié)議傳送給接入代理。
[0073]步驟2,接入代理接收到來自傳感器系統(tǒng)的采集數(shù)據(jù)后,使用資源描述模型庫中設(shè)定的概念和屬性將異構(gòu)的或?qū)S行畔⒍嫁D(zhuǎn)換為統(tǒng)一標(biāo)準(zhǔn)化的事件;然后,接入代理調(diào)用事件代理的發(fā)布/訂閱接口,將事件發(fā)布到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
[0074]該步驟2中,接入代理有兩種處理信息的流程,其中之一是:從傳感器系統(tǒng)或其他物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)接收采集到的信息發(fā)送到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。其具體操作內(nèi)容如下:
[0075](21)接入代理通過專有接口接收到外部傳感器系統(tǒng)或其它物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)發(fā)送來的特定消息結(jié)構(gòu)的信息。
[0076](22)接入代理的數(shù)據(jù)解析/封裝模塊負(fù)責(zé)解析該特定消息的協(xié)議,以獲取該采集信息,并通過資源映射模塊將該信息轉(zhuǎn)化為標(biāo)準(zhǔn)的事件格式;若在轉(zhuǎn)化過程中,如果有采集數(shù)據(jù)的閾值超限的情況,則數(shù)據(jù)采集處理模塊根據(jù)簡單事件處理模塊設(shè)定的告警事件規(guī)則來判定告警等級(jí),并將該告警等級(jí)封裝到事件中。
[0077](23)數(shù)據(jù)采集處理模塊將該事件包裝為統(tǒng)一標(biāo)準(zhǔn)的事件格式后,再由數(shù)據(jù)解析/封裝模塊將這些事件按照事件發(fā)布/訂閱接口的要求進(jìn)行封裝。
[0078](24)接入代理通過發(fā)布/訂閱接口將封裝后的事件傳送給事件代理模塊。
[0079]接入代理處理信息的另一種流程是:從統(tǒng)一消息分發(fā)網(wǎng)絡(luò)接收信息發(fā)送到事件訂閱者。其具體操作內(nèi)容如下:
[0080](2A)接入代理通過發(fā)布/訂閱接口接收到事件代理發(fā)送的事件通知消息。
[0081](2B)接入代理的數(shù)據(jù)通知處理模塊通過數(shù)據(jù)解析/封裝模塊解析協(xié)議,獲知該事件信息,并通過資源映射模塊將標(biāo)準(zhǔn)的事件格式轉(zhuǎn)化為特定的專有信息。
[0082](2C)接入代理通過數(shù)據(jù)解析/封裝模塊將這些事件按照專有接口的協(xié)議規(guī)定要求進(jìn)行封裝。
[0083](2D)接入代理通過專有接口將該事件傳送給傳感器系統(tǒng)或其他物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)。
[0084]步驟3,統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的事件代理接收到發(fā)布的事件后,對照檢查訂閱主題列表,將該事件分發(fā)和路由到不同的事件代理,再由該事件代理負(fù)責(zé)向訂閱該事件的系統(tǒng)發(fā)送事件通知。該步驟中,事件代理執(zhí)行下述操作內(nèi)容:
[0085](31)當(dāng)事件代理通過發(fā)布/訂閱接口的發(fā)布主題接口接收到事件發(fā)布消息后,執(zhí)行后續(xù)步驟(32);當(dāng)事件代理通過發(fā)布/訂閱接口接收到訂閱/退訂/取消主題消息后,跳轉(zhuǎn)執(zhí)行步驟(35)。;
[0086](32)事件代理將接收到的事件通過事件匹配模塊保存到發(fā)布事件集合模塊中對應(yīng)的主題列表中。
[0087](33)事件代理通過事件匹配模塊在訂閱主題列表模塊中的注冊用戶訂閱表、鄰居代理訂閱表或簇訂閱表中查詢符合該事件主題的訂閱者。
[0088](34)事件代理根據(jù)查詢到的該主題的訂閱者地址,通過事件路由模塊將該事件發(fā)送給訂閱者:如果訂閱者是本地的注冊客戶端,則通過發(fā)布/訂閱接口的主題通知接口直接推送給訂閱者;如果訂閱者是鄰居代理或簇的委托代理,則通過事件代理間通信接口的事件路由接口轉(zhuǎn)發(fā)給相應(yīng)的鄰居代理或該簇的委托代理。然后,返回執(zhí)行步驟(31)。
[0089](35)事件代理根據(jù)訂閱者的地址判斷訂閱者的不同類型:本地注冊用戶、鄰居代理還是簇的委托代理。
[0090](36)事件代理根據(jù)訂閱者類型到訂閱主題列表模塊中的注冊用戶訂閱表、鄰居代理訂閱表或簇訂閱表中,藉由事件匹配模塊增加或刪除相關(guān)訂閱主題項(xiàng)。
[0091](37)事件代理的訂閱同步模塊通過事件代理間通信接口的訂閱同步接口,把該訂閱變化信息實(shí)時(shí)同步到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中同一簇內(nèi)的其他鄰居節(jié)點(diǎn)和負(fù)責(zé)簇間的訂閱同步的該簇的委托代理。再返回執(zhí)行步驟(31)。
[0092]步驟4,不同的事件訂閱者接收到訂閱的事件通知后,執(zhí)行相應(yīng)的下述預(yù)定處理流程或動(dòng)作:
[0093]若事件訂閱者為復(fù)雜事件處理引擎,則復(fù)雜事件處理引擎根據(jù)預(yù)先設(shè)定的事件模式和事件聲明進(jìn)行檢測,從而輸出復(fù)雜事件;并經(jīng)由接入代理轉(zhuǎn)發(fā)至基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)進(jìn)行后續(xù)處理。
[0094]若事件訂閱者為歷史數(shù)據(jù)庫,則歷史數(shù)據(jù)庫對接收到的事件進(jìn)行采樣處理,并完成數(shù)據(jù)的持久性存儲(chǔ)。
[0095]若事件訂閱者為該物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)中的各種物聯(lián)網(wǎng)業(yè)務(wù)子系統(tǒng)(如WEB服務(wù)編制系統(tǒng)、工作流系統(tǒng)等),則該物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)就觸發(fā)其子系統(tǒng)的相應(yīng)業(yè)務(wù)流程處理該事件。
[0096]若事件訂閱者為可視化監(jiān)控系統(tǒng),則可視化監(jiān)控系統(tǒng)將該事件所攜帶的數(shù)據(jù)或其他信息實(shí)時(shí)顯示于可視化監(jiān)控界面。
[0097]若事件訂閱者為告警系統(tǒng),則告警系統(tǒng)根據(jù)該事件攜帶的告警級(jí)別發(fā)出相應(yīng)的聲光告警信號(hào),并執(zhí)行相應(yīng)的告警處置流程。
[0098]在上述五種不同的處理流程中,第一種復(fù)雜事件處理引擎的處理流程包括下列操作內(nèi)容:
[0099](41)事件模式編輯模塊接收到用戶輸入的事件聲明或更復(fù)雜的事件模式的規(guī)則和條件(即事件模式),用于對感興趣的復(fù)雜事件進(jìn)行過濾。
[0100]所謂事件聲明是采用專門的事件處理語言EPL (Event Processing Language)描述各種事件的條件、事件的關(guān)聯(lián)和跨越的時(shí)間窗口,用戶還能定義感興趣的事件檢測規(guī)則、即事件聲明。另外,也能夠定義一些復(fù)雜的事件規(guī)則來識(shí)別不同的模式。為簡化事件聲明和事件模式的生成,用戶通過可視化界面將事件類型注冊于復(fù)雜事件處理引擎中的事件類型注冊模塊,事件模式編輯模塊直接使用事件類型注冊模塊提供的事件類型,快速生成事件聲明和事件模式。
[0101](42)事件模式編輯模塊將生成的事件聲明和/或事件模式分別加載到事件檢測模塊的事件聲明檢測單元和/或事件模式檢測單元。
[0102](43)復(fù)雜事件處理引擎通過輸入事件流適配模塊接收來自統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中事件代理的實(shí)時(shí)事件流(包括來自傳感器系統(tǒng)的事件和來自物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)的業(yè)務(wù)事件),輸入事件流適配模塊負(fù)責(zé)適配包括XML或Java對象等的不同事件格式,復(fù)雜事件處理引擎也能通過數(shù)據(jù)庫連接模塊接收來自數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)。
[0103](44)復(fù)雜事件處理引擎采用存儲(chǔ)事件查詢語句和實(shí)時(shí)過濾數(shù)據(jù)的模式,在接收到輸入的事件后,由事件檢測模塊中的事件聲明檢測單元和事件模式檢測單元分別對事件流進(jìn)行過濾和聚合,一旦發(fā)生符合條件的事件時(shí),就觸發(fā)該事件對應(yīng)的事件監(jiān)聽模塊處理該事件。
[0104](45)事件監(jiān)聽模塊監(jiān)聽該事件,并根據(jù)具體應(yīng)用需求決定對該事件采取相應(yīng)處理。
[0105](46)復(fù)雜事件處理引擎將事件監(jiān)聽模塊的處理結(jié)果通過輸出事件流適配模塊適配為標(biāo)準(zhǔn)的復(fù)雜事件格式,并通過發(fā)布/訂閱接口將復(fù)雜事件輸出到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)的事件代理。
[0106]為了進(jìn)一步詳細(xì)說明和驗(yàn)證本發(fā)明系統(tǒng)及其工作方法的可行性, 申請人:進(jìn)行了多次不同的仿真實(shí)施試驗(yàn)。下面結(jié)合本發(fā)明實(shí)施例的實(shí)際情況,針對基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)的處理流程、復(fù)雜事件的聚合生成機(jī)制、以及事件驅(qū)動(dòng)的多個(gè)物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)之間的協(xié)同處理流程進(jìn)行具體的示例說明。
[0107]參見圖8,該仿真實(shí)施例是以訂閱者Si訂閱主題X和訂閱者s2訂閱主題Y為例,介紹本發(fā)明系統(tǒng)對進(jìn)入統(tǒng)一消息分發(fā)網(wǎng)絡(luò)的訂閱信息的處理流程如下:
[0108]步驟1:訂閱者Si的訂閱主題X發(fā)送到注冊的事件代理bl,使得事件代理bl的注冊用戶訂閱表rI增加一條記錄:(X,訂閱者sI)。
[0109]步驟2:事件代理bl將訂閱主題X轉(zhuǎn)發(fā)到鄰居事件代理b2和委托代理al,使得事件代理b2的鄰居代理訂閱表n2增加一條記錄:(X,事件代理bl ),委托代理al的鄰居代理訂閱表n3也增加一條記錄:(X,事件代理bl)。
[0110]步驟3:簇Cl的委托代理al轉(zhuǎn)發(fā)訂閱主題X到簇c2的委托代理a2,使得委托代理a2的簇代理訂閱表c2增加一條記錄:(X,委托代理al)。
[0111]步驟4:委托代理a2將訂閱主題X轉(zhuǎn)發(fā)到兩個(gè)鄰居事件代理b3和事件代理b4,使得事件代理b3的鄰居代理訂閱表n5增加一條記錄:(X,委托代理a2),事件代理b4的鄰居代理訂閱表n6增加一條記錄:(X,委托代理a2)。
[0112]步驟5:訂閱者s2將其訂閱主題Y發(fā)送到注冊的事件代理b4,使得事件代理b4的注冊用戶訂閱表r2增加一條記錄:(Y,訂閱者s2)。
[0113]步驟6:事件代理b4將訂閱主題Y轉(zhuǎn)發(fā)到其鄰居事件代理b3和委托代理a2,使得事件代理b3的鄰居代理訂閱表n5增加一條記錄:(Y,事件代理b4),委托代理a2的鄰居代理訂閱表n4也增加一條記錄:(Y,事件代理b4)。
[0114]步驟7 -M c2的委托代理a2將訂閱主題Y轉(zhuǎn)發(fā)到簇cl的委托代理al,使得委托代理al的簇代理訂閱表Cl增加一條記錄:(Y,委托代理a2)。
[0115]步驟8:委托代理a2將訂閱主題Y轉(zhuǎn)發(fā)到鄰居事件代理bl和事件代理b2。使得事件代理bl的鄰居代理訂閱表nl增加一條記錄:(Y,委托代理al ),事件代理b2的鄰居代理訂閱表n2也增加一條記錄:(Y,委托代理al)。
[0116]因此,當(dāng)事件代理接收到其注冊用戶發(fā)布的事件時(shí),將查找訂閱表,并轉(zhuǎn)發(fā)該事件到相關(guān)訂閱者。該實(shí)施例驗(yàn)證了本發(fā)明系統(tǒng)中的事件首先在簇內(nèi)路由,如果其他簇也訂閱了該事件,則繼續(xù)簇間路由。
[0117]參見圖9,介紹復(fù)雜事件cel和ce2的聚合過程,并以此例詳細(xì)說明復(fù)雜事件的具體聚合處理過程如下:[0118]步驟1:傳感器si發(fā)送感知信息到接入代理al,接入代理al將感知事件sel發(fā)送到基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。傳感器s2發(fā)送感知信息到接入代理a2,接入代理a2將感知事件se2發(fā)送到基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
[0119]步驟2:基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)分別轉(zhuǎn)發(fā)感知事件sel和se2到復(fù)雜事件處理引擎。
[0120]步驟3:復(fù)雜事件處理引擎聚合感知事件sel和se2為復(fù)雜事件cel,并發(fā)送復(fù)雜事件cel到基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
[0121]步驟4:基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)轉(zhuǎn)發(fā)復(fù)雜事件cel到接入代理a3。
[0122]步驟5:接入代理a3轉(zhuǎn)發(fā)復(fù)雜事件cel到物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)bsl。
[0123]步驟6:物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)bs2發(fā)送業(yè)務(wù)消息到接入代理a4,接入代理a4將業(yè)務(wù)事件be2發(fā)送到基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。傳感器S3發(fā)送感知信息到接入代理a5。接入代理a5將感知事件se3發(fā)送到基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
[0124]步驟7:基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)分別將業(yè)務(wù)事件be2和感知事件se3轉(zhuǎn)發(fā)到復(fù)雜事件處理引擎。
[0125]步驟8:復(fù)雜事件處理引擎聚合感知事件se3、復(fù)雜事件cel和業(yè)務(wù)事件be2為復(fù)雜事件ce2,并發(fā)送復(fù)雜事件ce2到基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
[0126]步驟9:基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)轉(zhuǎn)發(fā)復(fù)雜事件ce2到接入代理a6。
[0127]步驟10:接入代理a6轉(zhuǎn)發(fā)復(fù)雜事件ce2到業(yè)務(wù)系統(tǒng)bs3。
[0128]該實(shí)施例驗(yàn)證了復(fù)雜事件處理引擎對各種感知信息的聚合處理功能。
[0129]參見圖10,以物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)bsl、bs2和bs3之間的協(xié)作為例,說明本發(fā)明系統(tǒng)的事件驅(qū)動(dòng)、面向服務(wù)的物聯(lián)網(wǎng)服務(wù)協(xié)同的工作機(jī)制,具體流程示例如下:
[0130]步驟1:物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)bsl發(fā)送業(yè)務(wù)消息到接入代理al,接入代理al將業(yè)務(wù)事件bel發(fā)送到基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
[0131]步驟2:基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)轉(zhuǎn)發(fā)業(yè)務(wù)事件bel到接入代理a2。
[0132]步驟3:接入代理a2將業(yè)務(wù)事件bel轉(zhuǎn)發(fā)到業(yè)務(wù)系統(tǒng)bs2,業(yè)務(wù)系統(tǒng)bs2接收到業(yè)務(wù)事件bel后,執(zhí)行相應(yīng)的業(yè)務(wù)處理流程。
[0133]步驟4:物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)bs2發(fā)送業(yè)務(wù)消息到接入代理a2,接入代理a2將業(yè)務(wù)事件be2發(fā)送到基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
[0134]步驟5:基于發(fā)布/訂閱的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)轉(zhuǎn)發(fā)業(yè)務(wù)事件be2到接入代理a3。
[0135]步驟6:接入代理a3將業(yè)務(wù)事件be2轉(zhuǎn)發(fā)到業(yè)務(wù)系統(tǒng)bs3,業(yè)務(wù)系統(tǒng)bs3接收到業(yè)務(wù)事件be2后,執(zhí)行相應(yīng)的業(yè)務(wù)處理流程。
[0136]這樣,當(dāng)有新的需求變化時(shí),用戶可以通過調(diào)整事件訂閱表的方式來改變業(yè)務(wù)處理流程,即改變事件的發(fā)布和訂閱操作流程。這種事件驅(qū)動(dòng)的服務(wù)協(xié)同機(jī)制有助于降低跨業(yè)務(wù)域、甚至跨組織域的業(yè)務(wù)系統(tǒng)的耦合度,形成一個(gè)更靈活、更敏捷的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)。
[0137]總之,本發(fā)明的實(shí)施例試驗(yàn)是成功的,實(shí)現(xiàn)了發(fā)明目的。
[0138]以上所述僅為介紹本發(fā)明的實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種事件驅(qū)動(dòng)、面向服務(wù) EDSOA (Event-Driven Service-Oriented Architecture)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng),其特征在于:所述系統(tǒng)設(shè)有下述多個(gè)組成部件:物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)、接入代理、基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)、復(fù)雜事件處理引擎、資源描述模型庫和傳感器系統(tǒng),其中,傳感器系統(tǒng)、物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)、復(fù)雜事件處理引擎分別與接入代理相連接,以便接入統(tǒng)一消息分發(fā)網(wǎng)絡(luò);接入代理與資源描述模型庫分別連接統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的事件代理;復(fù)雜事件處理引擎和物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)中的報(bào)表系統(tǒng)還連接歷史數(shù)據(jù)庫;其中: 物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng),為包括數(shù)據(jù)庫系統(tǒng)、報(bào)表系統(tǒng)、WEB服務(wù)編制系統(tǒng)、工作流系統(tǒng)、可視化監(jiān)控系統(tǒng)和告警系統(tǒng)的這類物聯(lián)網(wǎng)服務(wù)提供領(lǐng)域中的多個(gè)上層應(yīng)用系統(tǒng),所述數(shù)據(jù)庫系統(tǒng)用于存儲(chǔ)各種應(yīng)用系統(tǒng)的采集數(shù)據(jù)和處理過程產(chǎn)生的業(yè)務(wù)數(shù)據(jù),報(bào)表系統(tǒng)用于執(zhí)行數(shù)據(jù)統(tǒng)計(jì)、匯總和分析的系統(tǒng),WEB服務(wù)編制系統(tǒng)是基于業(yè)務(wù)過程執(zhí)行語言BPEL (BusinessProcess Execution Language)編制自動(dòng)化業(yè)務(wù)流程的業(yè)務(wù)編制系統(tǒng),工作流系統(tǒng)是支持人工活動(dòng)、將工作分解成定義良好的任務(wù)與角色,再按照設(shè)定規(guī)則和過程執(zhí)行任務(wù)并對執(zhí)行過程進(jìn)行監(jiān)控的業(yè)務(wù)流程系統(tǒng),可視化監(jiān)控系統(tǒng)是通過可視化方式實(shí)時(shí)呈現(xiàn)所監(jiān)控物理對象的狀態(tài)變化并實(shí)現(xiàn)遠(yuǎn)程控制的系統(tǒng),包括基于組態(tài)軟件工具的監(jiān)控系統(tǒng)和基于地理信息系統(tǒng)的監(jiān)控系統(tǒng);告警系統(tǒng)是能夠針對出現(xiàn)的告警信息進(jìn)行告警顯示和處置的應(yīng)用系統(tǒng); 接入代理,作為傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)和基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)之間的消息適配器,用于將各種異構(gòu)的感知信息和業(yè)務(wù)事件適配為統(tǒng)一標(biāo)準(zhǔn)化的事件,該接入代理設(shè)有:專有接口和發(fā)布/訂閱接口,以及數(shù)據(jù)解析/封裝、資源映射、數(shù)據(jù)采集處理、簡單事件處理與數(shù)據(jù)通知處理多個(gè)模塊; 統(tǒng)一消息分發(fā)網(wǎng)絡(luò),是由多個(gè)事件代理構(gòu)成的一個(gè)基于發(fā)布/訂閱機(jī)制的分布式覆蓋網(wǎng)絡(luò):多個(gè)事件代理利用發(fā)布/訂閱機(jī)制實(shí)現(xiàn)大規(guī)模、分布式地分發(fā)事件,且每個(gè)事件代理分別承擔(dān)事件的發(fā)布、 訂閱、通知和路由的功能;這些事件代理組成不同的簇,以提供簇級(jí)的可擴(kuò)展性;且成簇的事件代理相互連接,從而形成一個(gè)大規(guī)模的分布式覆蓋網(wǎng)絡(luò);在該分簇拓?fù)浣Y(jié)構(gòu)中,統(tǒng)一消息分發(fā)網(wǎng)絡(luò)支持簇內(nèi)路由和簇間路由;每個(gè)事件代理設(shè)有下述部件:事件代理間通信接口、事件路由模塊、訂閱同步模塊、代理管理模塊、發(fā)布事件集合模塊、訂閱主題列表模塊、事件匹配模塊、以及包括注冊接口、發(fā)布主題接口、訂閱主題接口、主題通知接口、退訂主題接口、取消主題接口的發(fā)布/訂閱接口 ; 復(fù)雜事件處理引擎,用于通過發(fā)布/訂閱接口完成與事件代理的交互:將系統(tǒng)數(shù)據(jù)視為不同類型的事件,通過分析事件間的關(guān)聯(lián)關(guān)系,建立不同的事件關(guān)系序列庫,再利用過濾、關(guān)聯(lián)和聚合技術(shù),以使由簡單事件產(chǎn)生高級(jí)事件,進(jìn)而觸發(fā)相應(yīng)的業(yè)務(wù)流程;該復(fù)雜事件處理引擎的輸入來自事件代理的實(shí)時(shí)事件流或歷史數(shù)據(jù)庫的數(shù)據(jù),再將完成處理后的復(fù)雜事件輸出到事件代理;設(shè)有:事件模式編輯模塊、事件類型注冊模塊、由事件聲明檢測單元和事件模式檢測單元組成的事件檢測模塊、數(shù)據(jù)庫連接模塊、輸入事件流適配模塊、事件監(jiān)聽模塊和輸出事件流適配模塊; 資源描述模型庫,負(fù)責(zé)描述物聯(lián)網(wǎng)資源、上下文信息和領(lǐng)域知識(shí),并使用鏈接數(shù)據(jù)來擴(kuò)展包括萬維網(wǎng)組織制定的語義傳感器網(wǎng)絡(luò)W3C SSNCfforld Wide Web Consortium SemanticSensor Network)現(xiàn)有本體的資源,該資源描述模型庫使用的本體組織層次依序分為:頂層本體、上層本體、外部本體和領(lǐng)域本體層;且每個(gè)下層本體都能使用位于其上層的本體,實(shí)現(xiàn)資源共享;其輸入接口連接各種互聯(lián)網(wǎng)上的已有本體資源,也能使用本體建模工具自行生成新的本體作為輸入;資源描述模型庫中的各種資源模型通過輸出接口連接接入代理; 傳感器系統(tǒng),包括物聯(lián)網(wǎng)環(huán)境中使用的各種物理傳感器和/或傳感器的應(yīng)用系統(tǒng),用于感知和采集物理世界的各種變化信息;該傳感器系統(tǒng)至少包括:各類無線傳感器、智能手機(jī)終端、車載終端、有線傳感器和信息采集模塊。
2.根據(jù)權(quán)利要求1所述的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng),其特征在于:所述基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中,每個(gè)簇都設(shè)有一個(gè)特定事件代理、即負(fù)責(zé)簇間路由的委托代理;發(fā)布者或訂閱者連接到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的某個(gè)事件代理,并通過該事件代理發(fā)布或訂閱其感興趣的事件;當(dāng)該事件代理接收到該客戶端的訂閱時(shí),負(fù)責(zé)將該訂閱信息轉(zhuǎn)發(fā)到簇內(nèi)鄰居節(jié)點(diǎn)和本簇的委托代理,并由本簇的委托代理將該訂閱信息轉(zhuǎn)發(fā)到其他簇;同樣地,當(dāng)某個(gè)事件代理從其客戶端接收到發(fā)布的事件,通過統(tǒng)一消息分發(fā)網(wǎng)絡(luò)將該事件轉(zhuǎn)發(fā)到匹配訂閱的事件代理,然后,該事件代理將該事件交付給感興趣的訂閱者。
3.根據(jù)權(quán)利要求1所述的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng),其特征在于:所述事件代理中的事件匹配模塊分別和發(fā)布/訂閱接口、訂閱主題列表模塊和發(fā)布事件集合模塊相連接;事件路由模塊分別連接事件代理 間通信接口中的事件路由接口、訂閱主題列表模塊、發(fā)布事件集合模塊和發(fā)布/訂閱接口中的主題通知接口 ;訂閱同步模塊分別連接事件代理間通信接口中的訂閱同步接口和訂閱主題列表模塊;代理管理模塊與代理管理接口相連接;這些部件的功能如下: 事件代理間通信接口,負(fù)責(zé)不同事件代理之間的消息交互,設(shè)有三種接口:事件路由接口、訂閱同步接口和代理管理接口,分別提供相應(yīng)信息的傳遞途徑; 代理管理模塊,負(fù)責(zé)維護(hù)事件代理節(jié)點(diǎn)信息和所屬簇的各種相關(guān)信息; 訂閱同步模塊,負(fù)責(zé)不同的事件代理直接進(jìn)行主題訂閱信息的實(shí)時(shí)同步; 事件路由模塊,負(fù)責(zé)對事件代理接收的事件對照查閱訂閱主題列表模塊,然后執(zhí)行相應(yīng)分發(fā)操作; 發(fā)布事件集合模塊,用于存儲(chǔ)相關(guān)主題的最新發(fā)布的事件,每個(gè)發(fā)布主題包括一個(gè)或多個(gè)發(fā)布事件; 訂閱主題列表模塊,用于存儲(chǔ)相關(guān)主題的最新訂閱信息,因事件代理有兩種:事件代理和委托代理,故訂閱主題列表有三種:存儲(chǔ)直接注冊于該事件代理的訂閱者的訂閱信息的注冊用戶訂閱表,存儲(chǔ)本簇內(nèi)其他事件代理的訂閱信息的鄰居代理訂閱表,以及存儲(chǔ)其他簇感興趣的訂閱信息的簇訂閱表;訂閱表中的每項(xiàng)記錄包括兩個(gè)內(nèi)容:訂閱主題和訂閱者地址。 事件匹配模塊,負(fù)責(zé)在發(fā)布事件集合模塊和訂閱主題列表模塊中對接收到的事件進(jìn)行匹配查詢; 發(fā)布/訂閱接口,用于提供本地發(fā)布者/訂閱者的注冊、以及相關(guān)主題的發(fā)布/訂閱/通知/退訂/取消的功能。
4.根據(jù)權(quán)利要求1所述的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng),其特征在于;所述接入代理各個(gè)組成模塊的功能如下: 資源映射模塊,負(fù)責(zé)對來自各種專業(yè)系統(tǒng)中的數(shù)據(jù)格式和統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的統(tǒng)一標(biāo)準(zhǔn)數(shù)據(jù)格式進(jìn)行相互轉(zhuǎn)換和映射后,送至數(shù)據(jù)解析/封裝模塊; 簡單事件處理模塊,負(fù)責(zé)檢查采集數(shù)據(jù)是否超出設(shè)定閾值,一旦發(fā)現(xiàn)該情況,則根據(jù)設(shè)定規(guī)則確定告警等級(jí),并告知數(shù)據(jù)采集處理模塊; 數(shù)據(jù)采集處理模塊,負(fù)責(zé)把接入代理從傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)接收到的消息轉(zhuǎn)發(fā)到統(tǒng)一消息分發(fā)網(wǎng)絡(luò); 數(shù)據(jù)通知處理模塊,負(fù)責(zé)把接入代理從統(tǒng)一消息分發(fā)網(wǎng)絡(luò)接收到的通知事件經(jīng)由數(shù)據(jù)解析/封裝模塊和相應(yīng)接口轉(zhuǎn)發(fā)到傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng); 數(shù)據(jù)解析/封裝模塊,負(fù)責(zé)對專有接口和發(fā)布/訂閱接口接收到的信息進(jìn)行解析后,轉(zhuǎn)送相應(yīng)模塊處理;還對準(zhǔn)備通過專有接口和發(fā)布/訂閱接口發(fā)送的消息進(jìn)行封裝后,發(fā)送至傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng); 專有接口,負(fù)責(zé)接入代理與復(fù)雜處理引擎、傳感器系統(tǒng)或物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)之間的消息傳送; 發(fā)布/訂閱接口,負(fù)責(zé)事件代理和統(tǒng)一消息分發(fā)網(wǎng)絡(luò)之間的消息傳送。
5.根據(jù)權(quán)利要求1所述的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng),其特征在于:所述復(fù)雜事件處理引擎中的事件模式編輯模塊連接事件類型注冊模塊和事件檢測模塊,事件檢測模塊還與數(shù)據(jù)庫連接模塊、輸入事件流適配模塊和事件監(jiān)聽模塊相連接;事件監(jiān)聽模塊連接輸出事件流適配模塊;上述各個(gè)模塊的功能如下: 事件模式編輯模塊,負(fù)責(zé)接收用戶輸入而生成相應(yīng)的事件聲明或更復(fù)雜的包括事件規(guī)則和條件的事件模式; 事件類型注冊模塊,負(fù)責(zé)將用戶要求的事件類型注冊到復(fù)雜事件處理引擎,為事件模式編輯模塊快速生成事件聲明和事件模式語句提供支持; 數(shù)據(jù)庫連接模塊,負(fù)責(zé)接收來自數(shù)據(jù)庫系統(tǒng)的輸入信息,送至事件檢測模塊; 輸入事件流適配模塊,負(fù)責(zé)通過事件代理從統(tǒng)一消息分發(fā)網(wǎng)絡(luò)接收實(shí)時(shí)事件流;事件檢測模塊,負(fù)責(zé)檢測接收到的事件,檢查是否存在符合定義的事件聲明和是否發(fā)生事件模式的復(fù)雜事件;其中,事件聲明檢測單元負(fù)責(zé)檢查是否發(fā)生事件聲明所描述的復(fù)雜事件,事件模式檢測單元負(fù)責(zé)檢查是否發(fā)生事件模式所描述的復(fù)雜事件; 事件監(jiān)聽模塊,負(fù)責(zé)對事件檢測模塊檢測到的符合條件的復(fù)雜事件執(zhí)行后續(xù)處理; 輸出事件流適配模塊,負(fù)責(zé)將事件監(jiān)聽模塊的處理結(jié)果按發(fā)布/訂閱的接口要求通過事件代理發(fā)送到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)。
6.一種事件驅(qū)動(dòng)、面向服務(wù)的物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)的工作方法,其特征在于:所述工作方法包括下列操作步驟: (1)傳感器系統(tǒng)感知和采集物理世界的各種相關(guān)參數(shù),并通過標(biāo)準(zhǔn)協(xié)議傳送給接入代理; (2)接入代理接收到來自傳感器系統(tǒng)的采集數(shù)據(jù)后,使用資源描述模型庫中設(shè)定的概念和屬性將異構(gòu)的或?qū)S行畔⒍嫁D(zhuǎn)換為統(tǒng)一標(biāo)準(zhǔn)化的事件;然后,接入代理調(diào)用事件代理的發(fā)布/訂閱接口,將事件發(fā)布到統(tǒng)一消息分發(fā)網(wǎng)絡(luò); (3)統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中的事件代理接收到發(fā)布的事件后,對照檢查訂閱主題列表,將該事件分發(fā)和路由到不同的事件代理,再由該事件代理負(fù)責(zé)向訂閱該事件的系統(tǒng)發(fā)送事件通知;(4)不同的事件訂閱者接收到訂閱的事件通知后,執(zhí)行相應(yīng)的下述預(yù)定處理流程或動(dòng)作: 若事件訂閱者為復(fù)雜事件處理引擎,則復(fù)雜事件處理引擎根據(jù)預(yù)先設(shè)定的事件模式和事件聲明進(jìn)行檢測,從而輸出復(fù)雜事件;并經(jīng)由接入代理轉(zhuǎn)發(fā)至基于發(fā)布/訂閱機(jī)制的統(tǒng)一消息分發(fā)網(wǎng)絡(luò)進(jìn)行后續(xù)處理; 若事件訂閱者為歷史數(shù)據(jù)庫,則歷史數(shù)據(jù)庫對接收到的事件進(jìn)行采樣處理,并完成數(shù)據(jù)的持久性存儲(chǔ); 若事件訂閱者為該物聯(lián)網(wǎng)服務(wù)提供系統(tǒng)中的各種物聯(lián)網(wǎng)業(yè)務(wù)子系統(tǒng),則該物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)就觸發(fā)其子系統(tǒng)的相應(yīng)業(yè)務(wù)流程處理該事件; 若事件訂閱者為可視化監(jiān)控系統(tǒng),則可視化監(jiān)控系統(tǒng)將該事件所攜帶的數(shù)據(jù)或其他信息實(shí)時(shí)顯示于可視化監(jiān)控界面; 若事件訂閱者為告警系統(tǒng),則告警系統(tǒng)根據(jù)該事件攜帶的告警級(jí)別發(fā)出相應(yīng)的聲光告警信號(hào),并執(zhí)行相應(yīng)的告警處置流程。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于:所述步驟(2)中,接入代理處理信息的一種流程是:從傳感器系統(tǒng)或其他物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)接收采集到的信息發(fā)送到統(tǒng)一消息分發(fā)網(wǎng)絡(luò);其具體操作內(nèi)容如下: (21)接入代理通過專有接口接收到外部傳感器系統(tǒng)或其它物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)發(fā)送來的特定消息結(jié)構(gòu)的信息; (22)接入代理的數(shù)據(jù)解析/封裝模塊負(fù)責(zé)解析該特定消息的協(xié)議,以獲取該采集信息,并通過資源映射模塊將該信息轉(zhuǎn)化為標(biāo)準(zhǔn)的事件格式;若在轉(zhuǎn)化過程中,如果有采集數(shù)據(jù)的閾值超限的情況,則數(shù)據(jù)采集處理模塊根據(jù)簡單事件處理模塊設(shè)定的告警事件規(guī)則來判定告警等級(jí),并將該告警等級(jí)封裝到事件中; (23)數(shù)據(jù)采集處理模塊將該事件包裝為統(tǒng)一標(biāo)準(zhǔn)的事件格式后,再由數(shù)據(jù)解析/封裝模塊將這些事件按照事件發(fā)布/訂閱接口的要求進(jìn)行封裝; (24)接入代理通過發(fā)布/訂閱接口將封裝后的事件傳送給事件代理模塊。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于:所述步驟(2)中,接入代理處理信息的另一種流程是:從統(tǒng)一消息分發(fā)網(wǎng)絡(luò)接收信息發(fā)送到事件訂閱者;其具體操作內(nèi)容如下: (2A)接入代理通過發(fā)布/訂閱接口接收到事件代理發(fā)送的事件通知消息; (2B)接入代理的數(shù)據(jù)通知處理模塊通過數(shù)據(jù)解析/封裝模塊解析協(xié)議,獲知該事件信息,并通過資源映射模塊將標(biāo)準(zhǔn)的事件格式轉(zhuǎn)化為特定的專有信息; (2C)接入代理通過數(shù)據(jù)解析/封裝模塊將這些事件按照專有接口的協(xié)議規(guī)定要求進(jìn)行封裝; (2D)接入代理通過專有接口將該事件傳送給傳感器系統(tǒng)或其他物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于:所述步驟(3)包括下列操作內(nèi)容: (31)當(dāng)事件代理通過發(fā)布/訂閱接口的發(fā)布主題接口接收到事件發(fā)布消息后,執(zhí)行后續(xù)步驟(32);當(dāng)事件代理通過發(fā)布/訂閱接口接收到訂閱/退訂/取消主題消息后,跳轉(zhuǎn)執(zhí)行步驟(35);; (32)事件代理將接收到的事件通過事件匹配模塊保存到發(fā)布事件集合模塊中對應(yīng)的主題列表中;(33)事件代理通過事件匹配模塊在訂閱主題列表模塊中的注冊用戶訂閱表、鄰居代理訂閱表或簇訂閱表中查詢符合該事件主題的訂閱者; (34)事件代理根據(jù)查詢到的該主題的訂閱者地址,通過事件路由模塊將該事件發(fā)送給訂閱者;如果訂閱者是本地的注冊客戶端,則通過發(fā)布/訂閱接口的主題通知接口直接推送給訂閱者;如果訂閱者是鄰居代理或簇的委托代理,則通過事件代理間通信接口的事件路由接口轉(zhuǎn)發(fā)給相應(yīng)的鄰居代理或該簇的委托代理;再返回步驟(31); (35)事件代理根據(jù)訂閱者的地址判斷訂閱者的不同類型:本地注冊用戶、鄰居代理還是簇的委托代理; (36)事件代理根據(jù)訂閱者類型到訂閱主題列表模塊中的注冊用戶訂閱表、鄰居代理訂閱表或簇訂閱表中,藉由事件匹配模塊增加或刪除相關(guān)訂閱主題項(xiàng); (37)事件代理的訂閱同步模塊通過事件代理間通信接口的訂閱同步接口,把該訂閱變化信息實(shí)時(shí)同步到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中同一簇內(nèi)的其他鄰居節(jié)點(diǎn)和負(fù)責(zé)簇間的訂閱同步的該簇的委托代理;再返回步驟(31)。
10.根據(jù)權(quán)利要求6所述的方法,其特征在于:所述步驟(4)中,復(fù)雜事件處理引擎的處理流程包括下列操作內(nèi)容: (41)事件模式編輯模塊接收到用戶輸入的事件聲明或事件模式的規(guī)則和條件,用于對感興趣的復(fù)雜事件進(jìn)行過濾; 所述事件聲明是采用專門的事件處理語言EPL (Event Processing Language)描述各種事件的條件、事件的關(guān)聯(lián)和跨越的時(shí)間窗口,用戶還能定義感興趣的事件檢測規(guī)則、即聲明;另外,也能夠定義一些復(fù)雜的事件規(guī)則來識(shí)別不同的模式;為簡化事件聲明和事件模式的生成,用戶通過可視化界面將事件類型注冊于復(fù)雜事件處理引擎中的事件類型注冊模塊,事件模式編輯模塊直接使用事件類型注冊模塊提供的事件類型,快速生成事件聲明和事件模式; (42)事件模式編輯模塊將生成的事件聲明和/或事件模式分別加載到事件檢測模塊的事件聲明檢測單元和/或事件模式檢測單元; (43)復(fù)雜事件處理引擎通過輸入事件流適配模塊接收來自統(tǒng)一消息分發(fā)網(wǎng)絡(luò)中事件代理的實(shí)時(shí)事件流:包括來自傳感器系統(tǒng)的事件和來自物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)的業(yè)務(wù)事件,輸入事件流適配模塊負(fù)責(zé)適配包括XML或Java對象的不同事件格式,復(fù)雜事件處理引擎也能通過數(shù)據(jù)庫連接模塊接收來自數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù); (44)復(fù)雜事件處理引擎采用存儲(chǔ)事件查詢語句和實(shí)時(shí)過濾數(shù)據(jù)的模式,在接收到輸入的事件后,由事件檢測模塊中的事件聲明檢測單元和事件模式檢測單元分別對事件流進(jìn)行過濾和聚合,一旦發(fā)生符合條件的事件時(shí),就觸發(fā)該事件對應(yīng)的事件監(jiān)聽模塊處理該事件; (45)事件監(jiān)聽模塊監(jiān)聽該事件,并根據(jù)具體應(yīng)用需求決定對該事件采取相應(yīng)處理; (46)復(fù)雜事件處理引擎將事件監(jiān)聽模塊的處理結(jié)果通過輸出事件流適配模塊適配為標(biāo)準(zhǔn)的復(fù)雜事件格式,并通過發(fā)布/訂閱接口將復(fù)雜事件輸出到統(tǒng)一消息分發(fā)網(wǎng)絡(luò)的事件代理。
【文檔編號(hào)】H04L12/28GK103458033SQ201310397448
【公開日】2013年12月18日 申請日期:2013年9月4日 優(yōu)先權(quán)日:2013年9月4日
【發(fā)明者】喬秀全, 孫運(yùn)雷, 章洋, 吳步丹, 程渤, 陳俊亮 申請人:北京郵電大學(xué)