專利名稱:一種消息總線支持多態(tài)功能的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種消息總線支持多態(tài)功能的方法,用于滿足調(diào)度自動(dòng)化系統(tǒng)中對(duì)多態(tài)應(yīng)用環(huán)境的需要,屬于電網(wǎng)調(diào)度自動(dòng)化領(lǐng)域。
背景技術(shù):
在現(xiàn)今的電網(wǎng)調(diào)度自動(dòng)化系統(tǒng)中,應(yīng)用是一份數(shù)據(jù)實(shí)體和一組對(duì)此數(shù)據(jù)實(shí)體進(jìn)行處理的服務(wù)程序的組合,比如SCADA應(yīng)用的組成有SCADA實(shí)時(shí)庫(kù)、數(shù)據(jù)服務(wù)進(jìn)程、操作服務(wù)進(jìn)程、遙信遙測(cè)及工況處理服務(wù)進(jìn)程等。態(tài)是為了完成某些目標(biāo)功能的一組應(yīng)用的集合,這組應(yīng)用的處理邏輯相同,數(shù)據(jù)實(shí)體有一定的關(guān)聯(lián)關(guān)系,但運(yùn)行的數(shù)據(jù)環(huán)境不同。態(tài)之間的應(yīng)用具有各自獨(dú)立的數(shù)據(jù)實(shí)體和服務(wù)進(jìn)程,處理邏輯互不干擾。同一臺(tái)節(jié)點(diǎn)上可以同時(shí)運(yùn)行多個(gè)態(tài)。在多態(tài)環(huán)境下,一個(gè)相同的進(jìn)程會(huì)在不同的態(tài)中分別運(yùn)行,在每個(gè)進(jìn)程中,消息總線實(shí)例會(huì)訂閱相同的通道,而消息總線作為調(diào)度自動(dòng)化系統(tǒng)的底層通信支持,又要求在整個(gè)系統(tǒng)中每個(gè)通道號(hào)是唯一的?,F(xiàn)有的消息總線(消息中間件)產(chǎn)品不支持此功能。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種消息總線支持多態(tài)功能的方法,滿足調(diào)度自動(dòng)化系統(tǒng)對(duì)多態(tài)應(yīng)用環(huán)境需要。為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種消息總線支持多態(tài)功能的方法,定義一個(gè)具有自身消息屬性和一組消息操作功能接口的實(shí)例為一個(gè)消息實(shí)例。本發(fā)明的特征在于包括以下步驟
(1 )、定義消息實(shí)例,對(duì)消息實(shí)例進(jìn)行初始化,初始化信息包含態(tài)標(biāo)識(shí)、進(jìn)程標(biāo)識(shí);
(2)、消息實(shí)例通過(guò)訂閱接口訂閱消息,邏輯通道根據(jù)消息實(shí)例所屬態(tài)映射為消息總線中唯一物理通道,記錄在本節(jié)點(diǎn)訂閱信息表中;
(3)、消息總線將節(jié)點(diǎn)訂閱信息表中的信息周期性性廣播到其他節(jié)點(diǎn);
(4)、消息總線接收其他節(jié)點(diǎn)發(fā)送過(guò)來(lái)的訂閱信息;
(5)、消息實(shí)例通過(guò)發(fā)送接口發(fā)送消息到某一通道時(shí),邏輯通道根據(jù)消息實(shí)例所屬態(tài)映射為唯一物理通道,消息總線將消息發(fā)送到訂閱此物理通道的節(jié)點(diǎn)上;
(6)、消息總線接收消息后,根據(jù)邏輯通道到物理通道的映射規(guī)則,查找出訂閱此物理通道的消息實(shí)例,再將消息遞交給這些消息實(shí)例。前述的一種消息總線支持多態(tài)功能的方法,其特征在于在步驟1)中,消息實(shí)例具有態(tài)標(biāo)識(shí)、進(jìn)程標(biāo)識(shí)二元組,這個(gè)二元組唯一標(biāo)識(shí)了一個(gè)消息實(shí)例,即使在同一個(gè)節(jié)點(diǎn)上運(yùn)行多個(gè)態(tài)時(shí),仍能方便區(qū)分出每一個(gè)消息實(shí)例。前述的一種消息總線支持多態(tài)功能的方法,其特征在于在步驟2)、3)中,消息通道信息分為邏輯通道和物理通道,邏輯通道根據(jù)所屬態(tài)和一定規(guī)則映射為唯一的物理通道。邏輯通道供應(yīng)用程序直接使用,方便應(yīng)用程序使用;物理通道供消息總線進(jìn)行通信時(shí)使用,從網(wǎng)絡(luò)通信層次上隔離了不同態(tài)之間的消息。訂閱信息時(shí),邏輯通道被映射為物理通道,保存在本節(jié)點(diǎn)的訂閱信息表中,并周期廣播到其他節(jié)點(diǎn)。本發(fā)明所達(dá)到的有益效果
使用一個(gè)二元組唯一標(biāo)識(shí)一個(gè)消息實(shí)例,實(shí)現(xiàn)了消息實(shí)例之間相互隔離,同一個(gè)節(jié)點(diǎn)上可以運(yùn)行多個(gè)態(tài)的消息實(shí)例;消息通道區(qū)分為邏輯通道和物理通道;邏輯通道便于應(yīng)用程序使用,不同態(tài)的應(yīng)用進(jìn)程在使用消息總線實(shí)例時(shí),可以訂閱相同的邏輯通道,簡(jiǎn)化了程序結(jié)構(gòu),整強(qiáng)了應(yīng)用程序的可維護(hù)性;物理通道便于消息總線內(nèi)部管理和維護(hù),在網(wǎng)絡(luò)通信層次上就完全隔離了不同態(tài)之間的消息,確保態(tài)之間消息不能互相通信的原則。
圖1邏輯通道與物理通道對(duì)應(yīng)關(guān)系圖; 圖2是支持多態(tài)功能的消息發(fā)送流程圖; 圖3是支持多態(tài)功能的消息接收流程圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的消息總線機(jī)制作進(jìn)一步詳細(xì)的介紹。圖1是邏輯通道與物理通道映射關(guān)系圖,同一邏輯通道,在不同態(tài)下被映射為不同的物理通道,消息總線在通信層次上直接使用物理通道進(jìn)行通信。圖2是支持多態(tài)功能的消息發(fā)送流程圖。Contexti態(tài)下,Appa應(yīng)用下進(jìn)程Procp需要向通道Charmelx發(fā)送消息,首先定義消息實(shí)例,并進(jìn)行初始化,初始化參數(shù)為〈Contexti,Procp, ProCp_aliasl>,消息實(shí)例調(diào)用發(fā)送接口發(fā)送消息,邏輯通道Charmelx被映射為物理通道channel,,消息總線檢查訂閱 Channel1的節(jié)點(diǎn),將消息發(fā)送給這些節(jié)點(diǎn)。圖3是支持多態(tài)功能的消息接收流程圖。Contexti態(tài)下,Appb應(yīng)用下進(jìn)程Procq需要接收通道Charmelx的消息,首先定義消息實(shí)例,并進(jìn)行初始化,初始化參數(shù)為< Contexti, Procx,Procq_aliasl>,消息實(shí)例調(diào)用訂閱接口訂閱Charmelx,邏輯通道Charmelx被映射為物理通道channel,,消息總線把本節(jié)點(diǎn)所有物理通道訂閱信息周期性通過(guò)廣播發(fā)送給其他節(jié)點(diǎn)。當(dāng)接收到網(wǎng)絡(luò)上的消息后,消息總線檢查本節(jié)點(diǎn)上所有訂閱Charmelx的消息實(shí)例,并將消息傳遞給這些消息實(shí)例。進(jìn)程 Procq通過(guò)調(diào)用接收接口獲取消息。本發(fā)明按照優(yōu)選實(shí)施例進(jìn)行了說(shuō)明,應(yīng)當(dāng)理解,上述實(shí)施例不以任何形式限制本發(fā)明,凡采用等同替換或等效變換的方式所獲得的技術(shù)方案,均落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種消息總線支持多態(tài)功能的方法,包含以下步驟1)定義消息實(shí)例,對(duì)消息實(shí)例進(jìn)行初始化,初始化信息包含態(tài)、進(jìn)程標(biāo)識(shí)名;2)消息實(shí)例通過(guò)訂閱接口訂閱消息,邏輯通道根據(jù)消息實(shí)例所屬態(tài)映射為消息總線中唯一物理通道,記錄在本節(jié)點(diǎn)訂閱信息表中;3)消息總線將節(jié)點(diǎn)訂閱信息表中的信息周期性性廣播到其他節(jié)點(diǎn);4)消息總線接收其他節(jié)點(diǎn)發(fā)送過(guò)來(lái)的訂閱信息;5)消息實(shí)例通過(guò)發(fā)送接口發(fā)送消息到某一通道時(shí),邏輯通道根據(jù)消息實(shí)例所屬態(tài)映射為唯一物理通道,消息總線將消息發(fā)送到訂閱此物理通道的節(jié)點(diǎn)上;6)消息總線接收消息后,根據(jù)邏輯通道到物理通道的映射規(guī)則,查找出訂閱此物理通道的消息實(shí)例,再將消息遞交給這些消息實(shí)例。
2.根據(jù)權(quán)利要求1所述的一種消息總線支持多態(tài)功能的方法,其特征在于在步驟1) 中,消息實(shí)例具有態(tài)標(biāo)識(shí)、進(jìn)程標(biāo)識(shí)二元組,二元組唯一標(biāo)識(shí)了一個(gè)消息實(shí)例,即使在同一個(gè)節(jié)點(diǎn)上運(yùn)行多個(gè)態(tài)時(shí),仍能方便區(qū)分出每一個(gè)消息實(shí)例。
3.根據(jù)權(quán)利要求1所述的一種消息總線支持多態(tài)功能的方法,其特征在于在步驟2)、 3)中,消息通道信息分為邏輯通道和物理通道,邏輯通道根據(jù)所屬態(tài)和一定規(guī)則映射為唯一的物理通道,邏輯通道供應(yīng)用程序直接使用,方便應(yīng)用程序使用;物理通道供消息總線進(jìn)行通信時(shí)使用,從網(wǎng)絡(luò)通信層次上隔離了不同態(tài)之間的消息,訂閱信息時(shí),邏輯通道被映射為物理通道,保存在本節(jié)點(diǎn)的訂閱信息表中,并周期廣播到其他節(jié)點(diǎn)。
全文摘要
本發(fā)明公開(kāi)了一種消息總線支持多態(tài)功能的方法,其特征在于采用態(tài)標(biāo)識(shí)、進(jìn)程標(biāo)識(shí)二元組來(lái)標(biāo)識(shí)一個(gè)消息實(shí)例,即使在同一個(gè)節(jié)點(diǎn)上運(yùn)行多個(gè)態(tài)時(shí),仍能方便區(qū)分出每一個(gè)消息實(shí)例;消息通道信息分為邏輯通道和物理通道,邏輯通道根據(jù)所屬態(tài)和一定規(guī)則映射為唯一的物理通道。邏輯通道供應(yīng)用程序直接使用,方便應(yīng)用程序使用;物理通道供消息總線進(jìn)行通信和管理時(shí)使用,從網(wǎng)絡(luò)通信層次上隔離了不同態(tài)之間的消息。本發(fā)明的方法能夠方便地實(shí)現(xiàn)同一態(tài)下的進(jìn)程之間正常通信,而不同態(tài)之間的進(jìn)程不能通信,滿足調(diào)度自動(dòng)化系統(tǒng)中多態(tài)應(yīng)用環(huán)境的需要。
文檔編號(hào)G06F9/54GK102427419SQ201110227300
公開(kāi)日2012年4月25日 申請(qǐng)日期2011年8月9日 優(yōu)先權(quán)日2011年8月9日
發(fā)明者楊志宏, 翟明玉, 葛以踴, 雷寶龍 申請(qǐng)人:國(guó)電南瑞科技股份有限公司