欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于服務(wù)的協(xié)同引擎系統(tǒng)的制作方法

文檔序號(hào):6459605閱讀:198來(lái)源:國(guó)知局
專利名稱:基于服務(wù)的協(xié)同引擎系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及的是一種信息技術(shù)領(lǐng)域的引擎系統(tǒng),具體是一種基于服務(wù)的協(xié)同 引擎系統(tǒng)。
背景技術(shù)
信息技術(shù)系統(tǒng)在企業(yè)中己成為不可缺少的部分。圍繞企業(yè)內(nèi)的物流、資金流 和信息流,各種管理軟件層出不窮并為企業(yè)帶來(lái)了顯著的價(jià)值。企業(yè)內(nèi)的各種資 源必須緊密集成,從而形成了集成化的管理平臺(tái);同時(shí),面對(duì)異常激烈的競(jìng)爭(zhēng)和 多變的客戶需求等帶來(lái)的巨大挑戰(zhàn),企業(yè)必須從事自己最擅長(zhǎng)的工作、發(fā)揮自己 的優(yōu)勢(shì)并與其它企業(yè)協(xié)同工作,構(gòu)成高效而緊密協(xié)作的"虛擬組織",才能夠在市 場(chǎng)上占據(jù)一席之地并取得競(jìng)爭(zhēng)優(yōu)勢(shì)。互聯(lián)網(wǎng)的發(fā)展使協(xié)同工作方式進(jìn)一步發(fā)生著 巨大變化,客戶越來(lái)越分散,上下游伙伴聯(lián)系越來(lái)越緊密,而地理位置卻分散在 全球各地,這種變化使得企業(yè)建立高效協(xié)同的環(huán)境和機(jī)制的需求越來(lái)越迫切。激 烈的市場(chǎng)競(jìng)爭(zhēng)要求現(xiàn)代企業(yè)具有良好的敏捷性,以便根據(jù)市場(chǎng)、商機(jī)、合作環(huán)境 的變化快速做出業(yè)務(wù)調(diào)整。同時(shí),時(shí)間、質(zhì)量、成本永遠(yuǎn)是企業(yè)所要考慮的三大 要素。面向?qū)ο篌w系架構(gòu),主要通過(guò)復(fù)用性、靈活性和共享性從技術(shù)上滿足企業(yè) 的需求。從面向?qū)ο篌w系架構(gòu)提出至今,已被多數(shù)需求引導(dǎo)企業(yè)廣泛認(rèn)可采用。 國(guó)內(nèi)外大型企業(yè)都試圖將面向?qū)ο篌w系架構(gòu)引入其原有系統(tǒng),由此和合作伙伴組 成虛擬組織,以形成在專業(yè)領(lǐng)域中具有競(jìng)爭(zhēng)優(yōu)勢(shì)的價(jià)值鏈?,F(xiàn)在市場(chǎng)上已有許多成熟的面向?qū)ο篌w系架構(gòu)產(chǎn)品,可是,現(xiàn)有面向?qū)ο篌w 系架構(gòu)中所包含的缺陷也暴露了出來(lái),要完全滿足動(dòng)態(tài)業(yè)務(wù)協(xié)同的需求,依舊還 有許多有待解決的問(wèn)題。其主要表現(xiàn)在Web服務(wù)(Web服務(wù)是構(gòu)建面向?qū)ο篌w系 架構(gòu)的一種方式)缺乏自主性和相互協(xié)同的能力;Web服務(wù)缺乏語(yǔ)義表達(dá)的能力; 服務(wù)過(guò)程模型不能滿足動(dòng)態(tài)業(yè)務(wù)環(huán)境要求;支持用戶進(jìn)行個(gè)性化協(xié)同業(yè)務(wù)應(yīng)用開 發(fā)的能力不足等。其問(wèn)題的核心是,現(xiàn)有的面向?qū)ο篌w系架構(gòu)著重于下層的Web服務(wù)的開發(fā)、定義和運(yùn)轉(zhuǎn),而針對(duì)面向?qū)ο篌w系架構(gòu)各構(gòu)件的協(xié)同工作,缺乏對(duì) 服務(wù)動(dòng)態(tài)的、可擴(kuò)展的組合編排能力。經(jīng)對(duì)現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn),俞定國(guó)等在《計(jì)算機(jī)應(yīng)用研究》2007年第7期 上發(fā)表的基于Agent的協(xié)同商務(wù)過(guò)程管理系統(tǒng)研究,該文中提出了基于Agent的網(wǎng) 絡(luò)協(xié)同商務(wù)過(guò)程管理系統(tǒng),主要由協(xié)同商務(wù)過(guò)程定義工具、子過(guò)程連接器、過(guò)程 管理與監(jiān)控工具和數(shù)據(jù)適配器組成。其實(shí)質(zhì)是流程連接器將運(yùn)行于各企業(yè)內(nèi)部工 作流服務(wù)器的商務(wù)過(guò)程連接成跨企業(yè)、在供應(yīng)鏈層次上的商務(wù)過(guò)程。其不足在于 缺乏自主性和相互協(xié)同的能力;缺乏語(yǔ)義表達(dá)的能力;服務(wù)過(guò)程模型不能滿足動(dòng) 態(tài)業(yè)務(wù)環(huán)境要求;支持用戶進(jìn)行個(gè)性化協(xié)同業(yè)務(wù)應(yīng)用開發(fā)的能力不足等。核心問(wèn) 題是缺乏對(duì)服務(wù)動(dòng)態(tài)的、可擴(kuò)展的組合編排能力。發(fā)明內(nèi)容本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足和缺陷,提供一種基于服務(wù)的協(xié)同引擎系統(tǒng),將 事件驅(qū)動(dòng)架構(gòu)和面向?qū)ο篌w系架構(gòu)相結(jié)合,實(shí)現(xiàn)了一個(gè)事件信息全局感知的應(yīng)用 實(shí)現(xiàn),以事件服務(wù)引擎為中心展開工作,各個(gè)模塊部署于不同的節(jié)點(diǎn),呈現(xiàn)了松 耦合的結(jié)構(gòu)。本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明包括:Web服務(wù)調(diào)用事件生成模塊、 復(fù)雜事件處理模塊、下游事件處理模塊,其中所述Web服務(wù)調(diào)用事件生成模塊,在系統(tǒng)中植入一個(gè)全局的處理器,通過(guò)事 件捕獲類獲得服務(wù)端上的信息,并在其中調(diào)用事件捕捉器服務(wù),將所得到的本地 Web服務(wù)調(diào)用信息發(fā)送給捕捉器;所述復(fù)雜事件處理模塊,在接收到事件捕捉器發(fā)送的事件信息之后,處理評(píng) 估事件的聚集,發(fā)現(xiàn)復(fù)雜事件,以采取相應(yīng)的行為。這些事件(簡(jiǎn)單事件和復(fù)雜 事件)實(shí)體根據(jù)定義的事件類型而被描述,事件發(fā)生的周期被認(rèn)定為相當(dāng)長(zhǎng)的一 段時(shí)間。復(fù)雜事件處理模塊能夠在底層事件發(fā)生時(shí)根據(jù)定義的模式創(chuàng)建復(fù)雜事件, 由此在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)地構(gòu)建自己定義的事件結(jié)構(gòu)模型。當(dāng)復(fù)雜事件處理模塊匹 配事件模式條件成功時(shí)會(huì)被發(fā)送給下游事件處理模塊,從而激發(fā)一系列活動(dòng),如 通知訂閱者。所述下游事件處理模塊在復(fù)雜事件處理模塊匹配事件模式條件成功時(shí),激發(fā)的一系列活動(dòng),但是這與下游事件驅(qū)動(dòng)活動(dòng)不同。在事件驅(qū)動(dòng)架構(gòu)中,下游事件 驅(qū)動(dòng)活動(dòng)是與復(fù)雜事件處理模塊分離的一個(gè)層級(jí)模塊。 一個(gè)事件可能會(huì)激發(fā)許多 行為,如發(fā)布、調(diào)用某個(gè)服務(wù)、調(diào)用某個(gè)進(jìn)程或者進(jìn)行通知,在分布式結(jié)構(gòu)中, 這些行為都是與復(fù)雜事件處理模塊無(wú)關(guān)的,它們有內(nèi)在的業(yè)務(wù)邏輯,與復(fù)雜事件 處理模塊唯一的交互接口是它們接收來(lái)自復(fù)雜事件處理模塊的消息。當(dāng)復(fù)雜事件處理模塊滿足復(fù)雜事件生成條件后,告知一個(gè)實(shí)體類,實(shí)體類負(fù)責(zé)生成復(fù)雜事 件并送回事件引擎,在此之后實(shí)體類將會(huì)通知一個(gè)訂閱者代理類。這個(gè)訂閱者代 理類負(fù)責(zé)登記訂閱者所訂閱事件的情況,具體的數(shù)據(jù)存儲(chǔ)在訂閱數(shù)據(jù)庫(kù)之中。在 接到復(fù)雜事件后,訂閱者代理必須先在數(shù)據(jù)庫(kù)中查詢這個(gè)復(fù)雜事件的訂閱者列表。 在得到訂閱者列表后,訂閱代理者代理會(huì)為每個(gè)訂閱者開啟一條線程,以調(diào)用訂 閱者所表示的Web服務(wù)。這是因?yàn)閃eb服務(wù)是一個(gè)同步調(diào)用的過(guò)程,訂閱者代理 可能必須接受大量的復(fù)雜事件,如果在訂閱者代理中執(zhí)行Web服務(wù)的調(diào)用,將會(huì) 大大影響性能。所謂訂閱者,是一個(gè)具體的Web服務(wù),訂閱者數(shù)據(jù)也就是關(guān)于這個(gè)Web服務(wù) 地址、名字和方法的具體描述。因?yàn)?,基于服?wù)的協(xié)同引擎系統(tǒng)必須把XML形式 的復(fù)雜事件傳遞給訂閱者,所以訂閱者所表示的Web服務(wù)認(rèn)為是參數(shù)確定的。本發(fā)明的事件捕捉器是基于AxisWeb服務(wù)容器(一種Web服務(wù)的容器)而實(shí)現(xiàn)的?;贏xis的鏈和處理器的結(jié)構(gòu)模式特性,在Axis引擎中植入一個(gè)全局的處理器,通過(guò)消息容器類獲得Axis服務(wù)端上的信息,并在其中調(diào)用事件捕捉器服務(wù),將所得到的本地Web服務(wù)調(diào)用信息發(fā)送給捕捉器,捕捉器會(huì)將捕捉到的信息以事件的形式發(fā)送給復(fù)雜事件處理模塊。事件捕捉器服務(wù)是一個(gè)WEB服務(wù)。所述下游事件處理模塊,其中下游事件處理行為是模塊中固存的一個(gè)實(shí)體類,它負(fù)責(zé)具體的査看哪些下游事件驅(qū)動(dòng)活動(dòng)是需要執(zhí)行的,然后根據(jù)一定的消息接口編寫消息,并且發(fā)送給這些下游事件驅(qū)動(dòng)活動(dòng)。另外,下游事件處理行為可能也會(huì)執(zhí)行和復(fù)雜事件處理模塊緊密相關(guān)的業(yè)務(wù),以完善復(fù)雜事件處理模塊的內(nèi)在邏輯。本發(fā)明設(shè)計(jì)的基于服務(wù)的協(xié)同引擎系統(tǒng)所涉及到的下游事件處理行為只有兩個(gè)獲取復(fù)雜事件以及通知訂閱者,這些工作都是由復(fù)雜事件處理模塊中的某個(gè)實(shí)體類完成的。復(fù)雜事件的實(shí)體主要是根據(jù)事件元數(shù)據(jù)中的事件模板而生成的,事件模板是事先定義的復(fù)雜事件模板,簡(jiǎn)單事件根據(jù)此模板生成復(fù)雜事件。為了達(dá)到協(xié)同平臺(tái)的全局感知,基于服務(wù)的協(xié)同引擎系統(tǒng)需要在獲取復(fù)雜事件之后將 其通知給事件的訂閱者。事件組件允許在任何以Web服務(wù)為接口的訂閱者訂閱某 一復(fù)雜事件。所述事件模板,是事先定義的復(fù)雜事件模板,簡(jiǎn)單事件根據(jù)此模板生成復(fù)雜 事件。所述的Web服務(wù)調(diào)用事件生成模塊包括監(jiān)聽服務(wù)調(diào)用端口單元、簡(jiǎn)單事件 生成單元和事件消息中間件單元,其中監(jiān)聽服務(wù)調(diào)用端口單元主要負(fù)責(zé)截獲服務(wù) 調(diào)用時(shí)傳輸?shù)腟OAP消息包,以獲取產(chǎn)生服務(wù)的信息。簡(jiǎn)單事件單元負(fù)責(zé)根據(jù)截獲 的SOAP消息以擴(kuò)展標(biāo)記語(yǔ)言的格式生成出簡(jiǎn)單事件。事件消息中間件單元負(fù)責(zé)把 生成好的簡(jiǎn)單事件發(fā)送給復(fù)雜事件處理模塊。所述的復(fù)雜事件處理模塊包括事件處理模塊和生成復(fù)雜事件模塊。事件處理模塊主要用來(lái)處理評(píng)估事件的聚集,發(fā)現(xiàn)復(fù)雜事件,以采取相應(yīng)的行為。被評(píng)估的事件包括簡(jiǎn)單事件和復(fù)雜事件,簡(jiǎn)單事件就是在信息系統(tǒng)中可能觸發(fā)的事件,如在文擋管理系統(tǒng)中某個(gè)文件被修改,但是用戶往往關(guān)心的不僅僅是觸發(fā)的簡(jiǎn)單事件,而可能關(guān)心的是某個(gè)文件在一定時(shí)間內(nèi)的頻繁修改,這就需要對(duì)簡(jiǎn)單事件進(jìn)行復(fù)雜事件處理,從而得到更為有意義的復(fù)雜事件。簡(jiǎn)單事件和復(fù)雜事件實(shí)體根據(jù)定義的事件類型而被描述,事件發(fā)生的周期被認(rèn)定為相當(dāng)長(zhǎng)的一段時(shí)間。生成復(fù)雜事件模塊能夠在底層事件發(fā)生時(shí)根據(jù)定義的模式創(chuàng)建復(fù)雜事件,由此在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)地構(gòu)建自己定義的事件結(jié)構(gòu)模型。通過(guò)事件驅(qū)動(dòng)架構(gòu)中的事件處理引擎,根據(jù)事先定義好的事件模板,當(dāng)有觸發(fā)的簡(jiǎn)單事件到達(dá)并且與模板匹配則產(chǎn)生一個(gè)復(fù)雜事件。與現(xiàn)有技術(shù)相比,本發(fā)明的特點(diǎn)1)靈活性,用戶根據(jù)需求自行定義事件,各用戶之間非常松耦合;2)敏捷性,進(jìn)行復(fù)雜事件處理模塊,通知各相關(guān)用戶,使得用戶能夠迅速做出反應(yīng);3)通用性,采用通用的接口定義服務(wù),發(fā)送及接收事件,適應(yīng)信息集成發(fā)展的需求。


圖1為本發(fā)明的系統(tǒng)框架圖;圖2為本發(fā)明的事件處理流程圖;圖3為事件訂閱通知序列圖;圖4為基于服務(wù)的協(xié)同引擎系統(tǒng)的整體實(shí)現(xiàn)類圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的一實(shí)施例作詳細(xì)說(shuō)明本實(shí)施例在以本發(fā)明技術(shù)方 案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和過(guò)程,但本發(fā)明的保護(hù)范圍不限 于下述的實(shí)施例。實(shí)施例本實(shí)施例是一種在面向?qū)ο篌w系架構(gòu)環(huán)境下,部署于面向?qū)ο篌w系架構(gòu)中的 各個(gè)構(gòu)件收集Web服務(wù)調(diào)用時(shí)所產(chǎn)生的基本信息,根據(jù)收到的事件的內(nèi)容,得知 協(xié)同系統(tǒng)中的全局信息,根據(jù)各自的協(xié)同協(xié)議做出反應(yīng),以完成協(xié)同工作的引擎 系統(tǒng)。如圖1所示,本實(shí)施例的系統(tǒng)層級(jí)結(jié)構(gòu)分為Web服務(wù)調(diào)用事件生成模塊、復(fù) 雜事件處理模塊、下游事件處理模塊。Web服務(wù)調(diào)用事件生成模塊,通過(guò)監(jiān)聽服務(wù)調(diào)用端口獲取SOAP消息包,生成 簡(jiǎn)單事件,并在其中調(diào)用事件捕捉器服務(wù),將所得到的本地Web服務(wù)調(diào)用信息發(fā) 送給捕捉器。事件捕捉器是基于Axis Web服務(wù)容器(一種Web服務(wù)的容器)而實(shí) 現(xiàn)的。基于Axis的鏈和處理器的結(jié)構(gòu)模式特性,在Axis引擎中植入一個(gè)全局的 處理器,通過(guò)消息容器類獲得Axis服務(wù)端上的信息,并在其中調(diào)用事件捕捉器服 務(wù),將所得到的本地Web服務(wù)調(diào)用信息發(fā)送給捕捉器。Axis中是通過(guò)一個(gè) server-config.wsdd文件(固定文件名)到對(duì)Axis處理器鏈配置的目的。 server-config. wsdd是一個(gè)擴(kuò)展標(biāo)記語(yǔ)言文件,事件捕捉器作為一個(gè)全局的處理 器,是對(duì)每個(gè)Web服務(wù)都會(huì)進(jìn)行相應(yīng)的處理。globalConfiguration (文件名)元 素向Axis引擎標(biāo)識(shí)出具體的全局處理器。其中又有兩個(gè)子元素requestFlow(文 件名)和responseFlow (文件名),其指明了全局請(qǐng)求鏈和全局響應(yīng)鏈所要經(jīng)過(guò)的 處理器的名字。處理器的實(shí)現(xiàn)其實(shí)是相同的,請(qǐng)求鏈和響應(yīng)鏈處理器的區(qū)別是消 息傳遞是否經(jīng)過(guò)支點(diǎn)。元素handler (元素名)指明了具體的處理器實(shí)現(xiàn)的類,因?yàn)樵谙⑷萜髦邪?含了關(guān)于消息是否經(jīng)過(guò)支點(diǎn)的判別信息,所以本發(fā)明所述的基于服務(wù)的協(xié)同引擎 系統(tǒng)在請(qǐng)求鏈和響應(yīng)鏈中都是指定一個(gè)處理器。另外,handler元素中還可以通過(guò) parameter (元素名)子元素指定所需要傳入的參數(shù)配置。復(fù)雜事件處理模塊處理的信息來(lái)源于Web服務(wù)調(diào)用基本事件,這就牽涉到哪 些Web服務(wù)調(diào)用信息是值得測(cè)量的。Web服務(wù)語(yǔ)義本體測(cè)量的標(biāo)準(zhǔn)分為四類:長(zhǎng)度、 時(shí)間、容量和權(quán)重。由于本發(fā)明的重點(diǎn)是關(guān)于復(fù)雜事件處理模塊的結(jié)構(gòu)設(shè)計(jì),并 不深入涉及Web服務(wù)語(yǔ)義本體測(cè)量,所以根據(jù)這些參考標(biāo)準(zhǔn),以及結(jié)合Axis中的 實(shí)際情況,分別提取了以下Web服務(wù)調(diào)用信息服務(wù)名、操作名、服務(wù)提供者、 服務(wù)調(diào)用者、數(shù)據(jù)編碼方式、模式版本、傳輸協(xié)議、響應(yīng)事件和服務(wù)呼叫次數(shù)。在獲得每次Web服務(wù)調(diào)用信息后,事件捕捉器會(huì)用這些信息生成一個(gè)服務(wù)事 件,這個(gè)事件是作為基于服務(wù)的協(xié)同引擎系統(tǒng)中的原子事件被事先定義的。生成 的服務(wù)事件將會(huì)被發(fā)送到事件通道中,這個(gè)操作是通過(guò)某一個(gè)Web服務(wù)完成,事 件捕捉器會(huì)調(diào)用這個(gè)Web服務(wù),把生成的帶有信息的原子事件發(fā)送給復(fù)雜事件處 理模塊。復(fù)雜事件處理模塊,主要用來(lái)處理評(píng)估事件的聚集,發(fā)現(xiàn)復(fù)雜事件,以采取 相應(yīng)的行為。復(fù)雜事件處理的工作,由復(fù)雜事件處理模塊負(fù)責(zé)。作為其對(duì)外接口, 事件元數(shù)據(jù)必須事先在復(fù)雜事件處理模塊中定義。事件元數(shù)據(jù)包括了事件定義, 事件模式匹配條件以及處理規(guī)則。事件定義指的是以何種數(shù)據(jù)方式來(lái)定義一個(gè)事 件,以及事件的發(fā)生實(shí)體如何輸入復(fù)雜事件處理模塊。事件模式匹配條件指的是 對(duì)于發(fā)生的事件,達(dá)到什么條件才能激發(fā)相應(yīng)的活動(dòng)。類似數(shù)據(jù)庫(kù)查詢使用事件 查詢語(yǔ)言,事件模式匹配往往也可以用相應(yīng)的事件査詢語(yǔ)言來(lái)表示。處理規(guī)則, 是當(dāng)事件模式匹配條件滿足時(shí),所要進(jìn)行的操作。主要將生成的復(fù)雜事件發(fā)送給 訂閱代理。下游事件處理模塊在復(fù)雜事件處理模塊匹配事件模式條件成功時(shí),激發(fā)的一 系列活動(dòng),但是這與下游事件驅(qū)動(dòng)活動(dòng)不同。在事件驅(qū)動(dòng)架構(gòu)中,下游事件驅(qū)動(dòng) 活動(dòng)是與復(fù)雜事件處理模塊分離的一個(gè)層級(jí)模塊。 一個(gè)事件可能會(huì)激發(fā)許多行為, 如發(fā)布、調(diào)用某個(gè)服務(wù)、調(diào)用某個(gè)進(jìn)程或者進(jìn)行通知,在分布式結(jié)構(gòu)中,這些行 為都是與復(fù)雜事件處理模塊無(wú)關(guān)的,它們有內(nèi)在的業(yè)務(wù)邏輯,與復(fù)雜事件處理模 塊唯一的交互接口是它們接收來(lái)自復(fù)雜事件處理模塊的消息。其中下游事件處 理行為是復(fù)雜事件處理模塊執(zhí)行邏輯的一部分,它負(fù)責(zé)具體的查看哪些下游事件 驅(qū)動(dòng)活動(dòng)是需要執(zhí)行的,然后根據(jù)一定的消息接口編寫消息,并且發(fā)送給這些下 游事件驅(qū)動(dòng)活動(dòng)。另外,下游事件處理行為可能也會(huì)執(zhí)行和引擎緊密相關(guān)的業(yè)務(wù),以完善復(fù)雜事件處理模塊的內(nèi)在邏輯。本發(fā)明設(shè)計(jì)的基于服務(wù)的協(xié)同引擎系統(tǒng)所 涉及到的下游事件處理行為只有兩個(gè)獲取復(fù)雜事件以及通知訂閱者,這些工作 都是由引擎中的某個(gè)實(shí)體類完成的。復(fù)雜事件是由下層的簡(jiǎn)單事件復(fù)合生成的, 盡管復(fù)雜事件處理模塊已經(jīng)拿到了關(guān)于復(fù)雜事件生成條件的元數(shù)據(jù),但是多數(shù)復(fù) 雜事件處理模塊都只是支持類似事件査詢語(yǔ)言方式的事件搜索查找機(jī)制,而不是 直接生成復(fù)雜事件。復(fù)雜事件的實(shí)體主要是根據(jù)事件元數(shù)據(jù)中的事件模板而生成 的。為了達(dá)到協(xié)同平臺(tái)的全局感知,基于服務(wù)的協(xié)同引擎系統(tǒng)需要在獲取復(fù)雜事 件之后將其通知給事件的訂閱者。事件組件允許在任何以Web服務(wù)為接口的訂閱 者訂閱某一復(fù)雜事件。當(dāng)復(fù)雜事件處理模塊滿足復(fù)雜事件生成條件后,告知一個(gè) 監(jiān)聽實(shí)體類,負(fù)責(zé)生成復(fù)雜事件并送回復(fù)雜事件處理模塊,在此之后將會(huì)通知一 個(gè)訂閱者代理類。這個(gè)訂閱者代理類負(fù)責(zé)登記訂閱者所訂閱事件的情況,具體的 數(shù)據(jù)存儲(chǔ)在訂閱數(shù)據(jù)庫(kù)之中。在接到復(fù)雜事件后,訂閱者代理必須先在數(shù)據(jù)庫(kù)中 査詢這個(gè)復(fù)雜事件的訂閱者列表。所謂訂閱者,是一個(gè)具體的Web服務(wù),訂閱者 數(shù)據(jù)也就是關(guān)于這個(gè)Web服務(wù)鏈接、名字和方法的具體描述。因?yàn)?,基于服?wù)的 協(xié)同引擎系統(tǒng)必須把復(fù)雜事件傳遞給訂閱者,所以訂閱者所表示的Web服務(wù)認(rèn)為 是參數(shù)確定的。在得到訂閱者列表后,訂閱代理者代理會(huì)為每個(gè)訂閱者開啟一條 線程,以調(diào)用訂閱者所表示的Web服務(wù)。這是因?yàn)閃eb服務(wù)是一個(gè)同步調(diào)用的過(guò) 程,訂閱者代理可能必須接受大量的復(fù)雜事件,如果在訂閱者代理中執(zhí)行Web服 務(wù)的調(diào)用,將會(huì)大大影響性能。如圖2所示,本實(shí)施例的事件處理流程是在上述事件捕捉器調(diào)用Web服務(wù), 把生成的帶有信息的原子事件發(fā)送到復(fù)雜事件處理模塊后,通過(guò)復(fù)雜事件處理模 塊完成復(fù)雜事件處理的。復(fù)雜事件處理模塊一旦啟動(dòng),便不可以重新配置,必須 重啟后才能完成配置工作。復(fù)雜事件處理模塊啟動(dòng)后,有一個(gè)事件通道的監(jiān)聽器, 監(jiān)聽器就是一個(gè)實(shí)體類,專門監(jiān)聽事件通道中新到達(dá)的服務(wù)原子事件。當(dāng)一旦監(jiān) 聽到有新的原子事件,事件通道監(jiān)聽器就把該原子事件送入到復(fù)雜事件處理模塊 中。復(fù)雜事件處理模塊啟動(dòng)后,就如同一個(gè)黑盒,外界只能對(duì)其進(jìn)行很少的控制。 它搜集所有的原子事件,用事先定義的事件查詢語(yǔ)句語(yǔ)句條件進(jìn)行匹配檢査。一 旦匹配條件符合,復(fù)雜事件處理模塊便會(huì)調(diào)用注冊(cè)的下游事件監(jiān)聽器這個(gè)實(shí)體類。事件監(jiān)聽器負(fù)責(zé)兩部分工作, 一是將事件査詢語(yǔ)句語(yǔ)句査詢出的結(jié)果生成新 的復(fù)雜事件,并將其回送入復(fù)雜事件處理模塊中。復(fù)雜事件處理的核心概念是事 件互相之間的層級(jí)關(guān)系,復(fù)雜事件由底層的原子事件構(gòu)成,復(fù)雜事件以及具體屬 性的賦值是由構(gòu)成其的下層事件所提供的。事件査詢語(yǔ)句語(yǔ)句中包含了事件的層 級(jí)關(guān)系,但是并沒(méi)有指出其生成規(guī)則,這是需要在元數(shù)據(jù)中額外寫明的,使得監(jiān) 聽器能夠自動(dòng)地生成復(fù)雜事件。而將復(fù)雜事件送入復(fù)雜事件處理模塊,也是因?yàn)?復(fù)雜事件處理模塊不能自動(dòng)的生成復(fù)雜事件,而需要外部輸入,以明確地顯示復(fù) 雜事件的發(fā)生。復(fù)雜事件處理模塊如要順利運(yùn)行,就必須在運(yùn)行前進(jìn)行配置。配置的目的主 要是告知復(fù)雜事件處理模塊關(guān)于所需要處理事件的基本信息,如事件名、事件屬 性、事件層級(jí)關(guān)系等。這些事件基本信息都是包含在事件元信息中?;诜?wù)的 協(xié)同引擎系統(tǒng)中,是以擴(kuò)展標(biāo)記語(yǔ)言文件來(lái)對(duì)復(fù)雜事件處理模塊進(jìn)行配置的。相 關(guān)的事件元信息存儲(chǔ)在這些擴(kuò)展標(biāo)記語(yǔ)言文件中,在復(fù)雜事件處理模塊啟動(dòng)時(shí), 復(fù)雜事件處理模塊自動(dòng)地讀取這些擴(kuò)展標(biāo)記語(yǔ)言文件并對(duì)其進(jìn)行配置。而復(fù)雜事 件處理模塊只能啟動(dòng)、關(guān)閉、重啟引擎,其他的操控都是通過(guò)擴(kuò)展標(biāo)記語(yǔ)言配置 文件進(jìn)行的。除了在啟動(dòng)前對(duì)復(fù)雜事件處理模塊進(jìn)行配置外,事件元數(shù)據(jù)擴(kuò)展標(biāo) 記語(yǔ)言文檔中,還存儲(chǔ)著其他信息,諸如如何生成復(fù)雜事件。如圖3所示事件訂閱通知序列圖,為了達(dá)到面向?qū)ο篌w系架構(gòu)平臺(tái)的全局感 知,復(fù)雜事件處理模塊需要在生成復(fù)雜事件之后將其通知給事件的訂閱者。事件 的訂閱者是面向服務(wù)體系架構(gòu)中的其他組件,事件組件允許在任何以Web服務(wù)為 接口的訂閱者訂閱某一復(fù)雜事件。圖中展示了事件訂閱通知的整個(gè)過(guò)程。當(dāng)復(fù)雜 事件處理模塊滿足復(fù)雜事件生成條件后,告知一個(gè)監(jiān)聽器實(shí)體類,監(jiān)聽器負(fù)責(zé)生 成復(fù)雜事件并送回復(fù)雜事件處理模塊,在此之后監(jiān)聽器將會(huì)通知一個(gè)訂閱者代理 類。這個(gè)訂閱者代理類負(fù)責(zé)登記訂閱者所訂閱事件的情況,具體的數(shù)據(jù)存儲(chǔ)在訂 閱數(shù)據(jù)庫(kù)之中。在接到復(fù)雜事件后,訂閱者代理必須先在數(shù)據(jù)庫(kù)中査詢這個(gè)復(fù)雜 事件的訂閱者列表。所謂訂閱者,是一個(gè)具體的Web服務(wù),訂閱者數(shù)據(jù)也就是關(guān) 于這個(gè)Web服務(wù)地址、名字和方法的具體描述。因?yàn)?,基于服?wù)的協(xié)同引擎系統(tǒng) 必須把擴(kuò)展標(biāo)記語(yǔ)言形式的復(fù)雜事件傳遞給訂閱者,所以訂閱者所表示的Web服 務(wù)認(rèn)為是參數(shù)確定的。在得到訂閱者列表后,訂閱代理者代理會(huì)為每個(gè)訂閱者開啟一條線程,以調(diào) 用訂閱者所表示的Web服務(wù)。這是因?yàn)閃eb服務(wù)是一個(gè)同步調(diào)用的過(guò)程,訂閱者 代理可能必須接受大量的復(fù)雜事件,如果在訂閱者代理中執(zhí)行Web服務(wù)的調(diào)用, 將會(huì)大大影響性能。圖4基于服務(wù)的協(xié)同引擎系統(tǒng)的整體實(shí)現(xiàn)顯示了基于服務(wù)的協(xié)同引擎系統(tǒng) 的主要類圖,包括了對(duì)于事件通道的接口、復(fù)雜事件處理模塊的控制器、事件的 處理器以及訂閱代理。EventChannelManager (類名)類負(fù)責(zé)從0penJMS (消息中 間鍵名)中收取格式統(tǒng)一的原子事件——服務(wù)調(diào)用事件,然后在送入復(fù)雜事件處 理模塊中。這個(gè)任務(wù)由一條單獨(dú)的線程完成,與復(fù)雜事件處理模塊及其他線程隔 離,使事件通道松耦合于其他組件。基于服務(wù)的協(xié)同引擎系統(tǒng)采用的是Java (軟 件名)開源的復(fù)雜事件處理模塊Esper (軟件名),復(fù)雜事件處理模塊的控制由 WSEIEvervtEngineManager (類名)類來(lái)控制操作。Esper支持org. w3c. dom. Node (格式)的形式定義事件,在復(fù)雜事件處理模塊初始化的時(shí)候,所有的復(fù)雜事件 類,都必須在引擎配置中聲明。對(duì)于復(fù)雜事件類的操作,由WSEIEventManager類來(lái)完成,這個(gè)類也是管理著 事件元數(shù)據(jù)。在復(fù)雜事件處理模塊初始化的時(shí)候,所有的復(fù)雜事件元數(shù)據(jù)文檔被 讀入,并被注冊(cè)到WSEIEventManager類中,然后才會(huì)在引擎配置中聲明。在此之 后,所有的復(fù)雜事件元數(shù)據(jù)都會(huì)保存在WSEIEventManager類之中,以便以他類使 用。下游事件處理行為的任務(wù)由一個(gè)ComplexEventListener類來(lái)完成,在事件査 詢條件滿足時(shí)將被調(diào)用。當(dāng)ComplexEventListener被調(diào)用時(shí),它會(huì)將生成的復(fù)雜 事件送往SubscriberBroker類,以通知事件的訂閱方。所有的訂閱者都必須在 SubscriberBroker類里注冊(cè)其所想訂閱的復(fù)雜事件,SubscriberBroker通過(guò)對(duì)訂 閱數(shù)據(jù)庫(kù)的査詢,得到訂閱事件的訂閱者名單。SubscriberBroker本身并不實(shí)現(xiàn) 對(duì)事件的閱覽操作,而是為復(fù)雜事件的每個(gè)訂閱者單獨(dú)開出線程,通知其完成操 作。這在發(fā)布/訂閱模式中,是一個(gè)通知的方式。
權(quán)利要求
1、一種基于服務(wù)的協(xié)同引擎系統(tǒng),其特征在于,包括Web服務(wù)調(diào)用事件生成模塊、復(fù)雜事件處理模塊、下游事件處理模塊,其中所述Web服務(wù)調(diào)用事件生成模塊,在系統(tǒng)中植入一個(gè)全局的處理器,通過(guò)事件捕獲類獲得服務(wù)端上的信息,并在其中調(diào)用事件捕捉器服務(wù),將所得到的本地Web服務(wù)調(diào)用信息發(fā)送給捕捉器;所述復(fù)雜事件處理模塊,在接收到事件捕捉器發(fā)送的事件信息之后,處理評(píng)估事件的聚集,發(fā)現(xiàn)復(fù)雜事件,以采取相應(yīng)的行為,這些事件實(shí)體根據(jù)定義的事件類型而被描述,復(fù)雜事件處理模塊能夠在底層事件發(fā)生時(shí)根據(jù)定義的模式創(chuàng)建復(fù)雜事件,由此在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)地構(gòu)建自己定義的事件結(jié)構(gòu)模型,當(dāng)復(fù)雜事件處理模塊匹配事件模式條件成功時(shí)會(huì)被發(fā)送給下游事件處理模塊,從而激發(fā)一系列活動(dòng);所述下游事件處理模塊在復(fù)雜事件處理模塊匹配事件模式條件成功時(shí),激發(fā)一系列活動(dòng),在分布式結(jié)構(gòu)中,這些行為與復(fù)雜事件處理模塊唯一的交互接口是它們接收來(lái)自復(fù)雜事件處理模塊的消息,當(dāng)復(fù)雜事件處理模塊滿足復(fù)雜事件生成條件后,告知一個(gè)實(shí)體類,實(shí)體類負(fù)責(zé)生成復(fù)雜事件并送回事件引擎,在此之后實(shí)體類將會(huì)通知一個(gè)訂閱者代理類,這個(gè)訂閱者代理類負(fù)責(zé)登記訂閱者所訂閱事件的情況,具體的數(shù)據(jù)存儲(chǔ)在訂閱數(shù)據(jù)庫(kù)之中,在接到復(fù)雜事件后,訂閱者代理必須先在數(shù)據(jù)庫(kù)中查詢這個(gè)復(fù)雜事件的訂閱者列表,在得到訂閱者列表后,訂閱代理者代理會(huì)為每個(gè)訂閱者開啟一條線程,以調(diào)用訂閱者所表示的Web服務(wù)。
2、 根據(jù)權(quán)利要求l所述的基于服務(wù)的協(xié)同引擎系統(tǒng),其特征是,所述的Web 服務(wù)調(diào)用事件生成模塊包括監(jiān)聽服務(wù)調(diào)用端口單元、簡(jiǎn)單事件生成單元和事件消息中間件單元,其中監(jiān)聽服務(wù)調(diào)用端口單元負(fù)責(zé)截獲服務(wù)調(diào)用時(shí)傳輸?shù)腟OAP消息包,以獲取產(chǎn)生服務(wù)的信息,簡(jiǎn)單事件單元負(fù)責(zé)根據(jù)截獲的SOAP消息以擴(kuò)展 標(biāo)記語(yǔ)言的格式生成出簡(jiǎn)單事件,事件消息中間鍵單元負(fù)責(zé)把生成好的簡(jiǎn)單事件 發(fā)送給復(fù)雜事件處理模塊。
3、 根據(jù)權(quán)利要求l所述的基于服務(wù)的協(xié)同引擎系統(tǒng),其特征是,所述的復(fù)雜事件處理模塊包括事件處理模塊和生成復(fù)雜事件模塊,事件處理模塊用來(lái)處理 評(píng)估事件的聚集,發(fā)現(xiàn)復(fù)雜事件,以采取相應(yīng)的行為,被評(píng)估的事件包括簡(jiǎn)單事 件和復(fù)雜事件,簡(jiǎn)單事件就是在信息系統(tǒng)中可能觸發(fā)的事件,簡(jiǎn)單事件和復(fù)雜事 件實(shí)體根據(jù)定義的事件類型而被描述,事件發(fā)生的周期被認(rèn)定為相當(dāng)長(zhǎng)的一段時(shí) 間,生成復(fù)雜事件模塊能夠在底層事件發(fā)生時(shí)根據(jù)定義的模式創(chuàng)建復(fù)雜事件,由 此在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)地構(gòu)建自己定義的事件結(jié)構(gòu)模型,通過(guò)事件驅(qū)動(dòng)架構(gòu)中的事 件處理引擎,根據(jù)事先定義好的事件模板,當(dāng)有觸發(fā)的簡(jiǎn)單事件到達(dá)并且與模板匹配則產(chǎn)生一個(gè)復(fù)雜事件。
4、 根據(jù)權(quán)利要求l所述的基于服務(wù)的協(xié)同引擎系統(tǒng),其特征是,所述下游事件處理模塊,其中固存有一個(gè)實(shí)體類,即下游事件處理行為,該下游事件處理行 為負(fù)責(zé)具體的査看哪些下游事件驅(qū)動(dòng)活動(dòng)是需要執(zhí)行的,然后根據(jù)消息接口編寫消息,并且發(fā)送給這些下游事件驅(qū)動(dòng)活動(dòng),另外,下游事件處理行為可能也會(huì)執(zhí) 行和復(fù)雜事件處理模塊緊密相關(guān)的業(yè)務(wù),以完善復(fù)雜事件處理模塊的內(nèi)在邏輯。
5、 根據(jù)權(quán)利要求4所述的基于服務(wù)的協(xié)同引擎系統(tǒng),其特征是,所述下游事 件處理行為只有兩個(gè)生成復(fù)雜事件以及通知訂閱者,這些工作都是由復(fù)雜事件 處理模塊中的某個(gè)實(shí)體類完成的,復(fù)雜事件的實(shí)體是根據(jù)事件元數(shù)據(jù)中的事件模 板而生成的,事件模板是事先定義的復(fù)雜事件模板,簡(jiǎn)單事件根據(jù)此模板生成復(fù) 雜事件,為了達(dá)到協(xié)同平臺(tái)的全局感知,系統(tǒng)在獲取復(fù)雜事件之后將其通知給事 件的訂閱者,事件組件允許在任何以Web服務(wù)為接口的訂閱者訂閱某一復(fù)雜事件。
6、 根據(jù)權(quán)利要求1或5所述的基于服務(wù)的協(xié)同引擎系統(tǒng),其特征是,所述訂 閱者,是一個(gè)具體的Web服務(wù),訂閱者數(shù)據(jù)也就是關(guān)于這個(gè)Web服務(wù)地址、名字 和方法的具體描述,訂閱者所表示的Web服務(wù)認(rèn)為是參數(shù)確定的。
7、 根據(jù)權(quán)利要求l所述的基于服務(wù)的協(xié)同引擎系統(tǒng),其特征是,所述事件捕 捉器是基于Axis Web服務(wù)容器而實(shí)現(xiàn)的,基于Axis的鏈和處理器的結(jié)構(gòu)模式特 性,在Axis引擎中植入一個(gè)全局的處理器,通過(guò)消息容器類獲得Axis服務(wù)端上 的信息,并在其中調(diào)用事件捕捉器服務(wù),將所得到的本地Web服務(wù)調(diào)用信息發(fā)送 給捕捉器,捕捉器會(huì)將捕捉到的信息以事件的形式發(fā)送給復(fù)雜事件處理模塊。
全文摘要
一種基于服務(wù)的協(xié)同引擎系統(tǒng),包括Web服務(wù)調(diào)用事件生成模塊、復(fù)雜事件處理模塊、下游事件處理模塊,Web服務(wù)調(diào)用事件生成模塊通過(guò)監(jiān)聽服務(wù)調(diào)用端口獲取SOAP消息包,生成簡(jiǎn)單事件,并在其中調(diào)用事件捕捉器服務(wù),將所得到的本地Web服務(wù)調(diào)用信息發(fā)送給捕捉器。復(fù)雜事件處理模塊用來(lái)處理評(píng)估事件的聚集,發(fā)現(xiàn)復(fù)雜事件,以采取相應(yīng)的行為。復(fù)雜事件處理模塊能夠在底層事件發(fā)生時(shí)根據(jù)定義的模式創(chuàng)建復(fù)雜事件,由此在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)地構(gòu)建自己定義的事件結(jié)構(gòu)模型。下游事件處理模塊,在EDA架構(gòu)中,下游事件驅(qū)動(dòng)活動(dòng)是與復(fù)雜事件處理模塊分離的一個(gè)層級(jí)模塊。一個(gè)事件可能會(huì)激發(fā)許多行為。本發(fā)明模塊清晰,具有靈活性、敏捷性及通用性。
文檔編號(hào)G06F9/46GK101334727SQ20081004070
公開日2008年12月31日 申請(qǐng)日期2008年7月17日 優(yōu)先權(quán)日2008年7月17日
發(fā)明者凡 吳, 孫曉晗, 健 曹, 汪春杰, 義 章 申請(qǐng)人:上海交通大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
进贤县| 宿迁市| 开化县| 高邑县| 丁青县| 临清市| 临沧市| 威海市| 梓潼县| 郸城县| 义乌市| 德清县| 土默特右旗| 永吉县| 鄱阳县| 东乡族自治县| 清新县| 南华县| 宜君县| 东源县| 潞西市| 达孜县| 噶尔县| 宝兴县| 博湖县| 嫩江县| 开阳县| 崇信县| 德庆县| 屏南县| 祁连县| 富平县| 拉孜县| 钦州市| 琼海市| 孝感市| 玛多县| 商河县| 达州市| 民乐县| 台前县|