本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體來(lái)說(shuō),涉及一種事件處理裝置。
背景技術(shù):
在監(jiān)控管理系統(tǒng)中,需要監(jiān)控業(yè)務(wù)系統(tǒng)的運(yùn)行狀態(tài),當(dāng)發(fā)生用戶(hù)關(guān)注的事件時(shí),需要生成消息,消息內(nèi)容由固定的模板內(nèi)容和動(dòng)態(tài)的運(yùn)行信息拼接而成,通過(guò)某種預(yù)定義的方式(如郵件、短信等)通知到用戶(hù)。
然而,現(xiàn)有使用模板消息的技術(shù)在事件發(fā)生時(shí),按順序查找模板、構(gòu)造出消息內(nèi)容、查詢(xún)接收者信息,將消息發(fā)送出去,整個(gè)流程耦合度高,其擴(kuò)展不便。此外,現(xiàn)有技術(shù)中構(gòu)造消息內(nèi)容的過(guò)程與查找接收者信息混雜在一起,流程繁雜,在一個(gè)流程中涉及查找模板、替換內(nèi)容、查找接收者、查找接收方式、發(fā)送消息等多個(gè)子流程,耦合性強(qiáng),不利于消息系統(tǒng)的擴(kuò)容和提升,同時(shí),事件信息無(wú)統(tǒng)一規(guī)范造成的不方便統(tǒng)一處理。
針對(duì)相關(guān)技術(shù)中的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)相關(guān)技術(shù)中的問(wèn)題,本發(fā)明提出一種事件處理裝置,從而各模塊間的耦合度較低,便于分別優(yōu)化和升級(jí),同時(shí)發(fā)送流程清晰,維護(hù)簡(jiǎn)單。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
根據(jù)本發(fā)明的一個(gè)方面,提供了一種事件處理裝置。
該事件處理裝置包括:事件元、消息生成模塊、消息發(fā)送模塊,其中,消息生成模塊和消息發(fā)送模塊共享事件元,事件元中設(shè)置有事件信息,消息生成模塊根據(jù)事件信息,生成通知信息,消息發(fā)送模塊根據(jù)事件信息,將通知信息發(fā)送。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,事件消息至少包括:事件類(lèi)型信息、接收者信息、消息類(lèi)型信息。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,消息生成模塊包括:第一查找模塊,用于根據(jù)所示事件類(lèi)型信息,查找模板;第一替換模塊,用于替換模板中的全局變量;第二替換模塊,用于替換模塊中的特定變量。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,第一查找模塊從模板庫(kù)中查找模板。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,消息發(fā)送模塊包括:第二查找模塊,用于根據(jù)接收者信息,查找接收者的地址;配置模塊,用于對(duì)通知消息的發(fā)送形式進(jìn)行配置;發(fā)送模塊,用于根據(jù)地址和發(fā)送形式,將通知消息發(fā)送。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,消息生成模塊和消息發(fā)送模塊分別設(shè)置在不同的服務(wù)器上。
本發(fā)明的有益技術(shù)效果在于:
本發(fā)明通過(guò)將事件信息規(guī)范化為統(tǒng)一的事件元,同時(shí)消息生成模塊和消息發(fā)送模塊共享該事件元,同時(shí)生成消息的流程和發(fā)送消息的流程相互獨(dú)立,通過(guò)規(guī)范的事件元協(xié)作,從而各模塊間的耦合度較低,便于分別優(yōu)化和升級(jí),同時(shí)發(fā)送流程清晰,維護(hù)簡(jiǎn)單。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明實(shí)施例的事件處理裝置的示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了更好的理解本發(fā)明,下面對(duì)本領(lǐng)域的常用詞語(yǔ)進(jìn)行介紹。
事件是指業(yè)務(wù)系統(tǒng)中發(fā)生的運(yùn)行狀態(tài)變化情況,如服務(wù)器宕機(jī)、磁盤(pán)寫(xiě)滿(mǎn)、用戶(hù)提交申請(qǐng)等。
模板消息是指由靜態(tài)的模板替換少量動(dòng)態(tài)內(nèi)容后生成的消息。
根據(jù)本發(fā)明的實(shí)施例,提供了一種事件處理裝置。
如圖1所示,根據(jù)本發(fā)明實(shí)施例的事件處理裝置包括:事件元、消息生成模塊、消息發(fā)送模塊,其中,消息生成模塊和消息發(fā)送模塊共享事件元,事件元中設(shè)置有事件信息,消息生成模塊根據(jù)事件信息,生成通知信息,消息發(fā)送模塊根據(jù)事件信息,將通知信息發(fā)送。
借助于本發(fā)明的上述技術(shù)方案,通過(guò)將事件信息規(guī)范化為統(tǒng)一的事件元,同時(shí)消息生成模塊和消息發(fā)送模塊共享該事件元,同時(shí)生成消息的流程和發(fā)送消息的流程相互獨(dú)立,通過(guò)規(guī)范的事件元協(xié)作,從而各模塊間的耦合度較低,便于分別優(yōu)化和升級(jí),同時(shí)發(fā)送流程清晰,維護(hù)簡(jiǎn)單。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,事件消息至少包括:事件類(lèi)型信息、接收者信息、消息類(lèi)型信息。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,消息生成模塊包括:第一查找模塊,用于根據(jù)所示事件類(lèi)型信息,查找模板;第一替換模塊,用于替換模板中的全局變量;第二替換模塊,用于替換模塊中的特定變量。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,第一查找模塊從模板庫(kù)中查找模板。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,消息發(fā)送模塊包括:第二查找模塊,用于根據(jù)接收者信息,查找接收者的地址;配置模塊,用于對(duì)通知消息的發(fā)送形式進(jìn)行配置;發(fā)送模塊,用于根據(jù)地址和發(fā)送形式,將通知消息發(fā)送。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,消息生成模塊和消息發(fā)送模塊分別設(shè)置在不同的服務(wù)器上。
為了更好的描述本發(fā)明的技術(shù)方案,下面通過(guò)具體的實(shí)施例進(jìn)行詳細(xì)的描述。
本發(fā)明的技術(shù)方案用于事件發(fā)生時(shí),構(gòu)造消息內(nèi)容并發(fā)送給用戶(hù),并使得各模塊間的耦合度較低,便于分別優(yōu)化和升級(jí),同時(shí)發(fā)送流程清晰,維護(hù)簡(jiǎn)單。本發(fā)明的技術(shù)方案具體包括產(chǎn)生通知消息和發(fā)送通知消息兩個(gè)獨(dú)立的子流程,其中,產(chǎn)生通知消息子流程包括查找模板(或第一查找模塊)、替換全局變量(或第一替換模塊)、替換特定變量(或第二替換模塊);發(fā)送通知消息子流程包括查找接收者(或第二查找模塊)、查找接收方式(或配置模塊)、發(fā)送消息(或發(fā)送模塊)。此外,上述兩個(gè)子流程之間共享事件元,事件元中包括事件類(lèi)型、消息類(lèi)型、接收者等,其中,事件類(lèi)型是事件的具體類(lèi)型,如關(guān)于服務(wù)器、磁盤(pán)、用戶(hù)提交申請(qǐng)等方面;消息類(lèi)型是指發(fā)送的通知信息的內(nèi)容的具體類(lèi)型,如關(guān)于服務(wù)器宕機(jī)、磁盤(pán)寫(xiě)滿(mǎn)、用戶(hù)提交申請(qǐng)等內(nèi)容的類(lèi)型;該接收者是指關(guān)于接收通知消息的接受者的相關(guān)信息,如接受者地址、接收方式等。
下面對(duì)上述兩個(gè)子流程進(jìn)行詳細(xì)的介紹,具體地:
a查找模板:根據(jù)事件元中的事件類(lèi)型從模板庫(kù)查找模板,其中,該模板庫(kù)在文件系統(tǒng)或數(shù)據(jù)庫(kù)中獨(dú)立存儲(chǔ),同時(shí)本流程中對(duì)模板只讀不寫(xiě);
b替換全局變量:全局變量標(biāo)識(shí)整個(gè)運(yùn)行環(huán)境的全局值,如時(shí)間、系統(tǒng)名、管理員、事件類(lèi)型、事件名稱(chēng)等。
c替換事件特定變量:某些事件有特有信息,區(qū)別于其它事件,如集群接入事件有客戶(hù)名,聯(lián)系人等信息,而設(shè)備告警事件就沒(méi)有這些信息,此外,在事件元中遍歷所有事件特定變量,在模板消息中替換;
d查找接收者:不同事件需要通知不同的接收者,該查找的方式可根據(jù)事件元從接收者地址庫(kù)查找;
e查找接收配置:查找具體的接收方式如郵件、接收地址參數(shù)、發(fā)送限額等配置;
f發(fā)送消息:按照接收者的地址和發(fā)送方式,將生成通知消息子流程生成的通知消息內(nèi)容發(fā)送給接收者。
綜上所述,借助于本發(fā)明的上述技術(shù)方案,通過(guò)將事件信息規(guī)范化為統(tǒng)一的事件元,同時(shí)消息生成模塊和消息發(fā)送模塊共享該事件元,同時(shí)生成消息的流程和發(fā)送消息的流程相互獨(dú)立,通過(guò)規(guī)范的事件元協(xié)作,從而各模塊間的耦合度較低,便于分別優(yōu)化和升級(jí),同時(shí)發(fā)送流程清晰,維護(hù)簡(jiǎn)單。此外,還可以實(shí)現(xiàn)分布式部署,將消息生成模塊和消息發(fā)送模塊設(shè)置在不同的服務(wù)器上部署,也便于擴(kuò)展。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。