專利名稱:一種數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字電視軟件中間件消息的處理方法,特別是涉及一種數(shù)字電視接收機(jī)中間件消息的統(tǒng)一處理方法。
背景技術(shù):
在數(shù)字電視接收設(shè)備里,中間件是指位于操作系統(tǒng)和應(yīng)用程序之間的一層軟件結(jié)構(gòu),中間件是為了隔離應(yīng)用程序?qū)τ布脚_(tái)和操作系統(tǒng)的依賴性,使應(yīng)用程序具有更好的可移植性和跨平臺(tái)特性而設(shè)計(jì)的?,F(xiàn)有技術(shù)中最常見(jiàn)的中間件結(jié)構(gòu)如圖1所示,中間件3具有一個(gè)典型的特點(diǎn)是它的分層結(jié)構(gòu)和模塊化思想。其分層結(jié)構(gòu)的實(shí)現(xiàn)主要靠上下兩層接口定義如應(yīng)用程序1的接口API2和底層移植接口SPI5來(lái)體現(xiàn),第三方功能模塊如CA模塊7通過(guò)模塊接口6與底層移植接口SPI5連接。模塊化思想主要是指一方面設(shè)計(jì)上將整個(gè)中間件3看作為一個(gè)整體,與上層應(yīng)用程序、下層驅(qū)動(dòng)程序以及第三方功能模塊7一起構(gòu)成了整個(gè)接收機(jī)的軟件系統(tǒng),另一方面是指在中間件的內(nèi)部按功能劃分為各個(gè)不同的獨(dú)立功能模塊。為滿足這樣需求的設(shè)計(jì),通常是保證各個(gè)模塊自身的獨(dú)立性,各個(gè)模塊有其自身與外部模塊的程序接口,各個(gè)模塊和層間有其自身的消息傳遞方式,從而實(shí)現(xiàn)該模塊和其它模塊間的數(shù)據(jù)交換和事件響應(yīng)。這樣一來(lái),按照中間件的層次和對(duì)模塊化的需求,就可以有多種方法可以實(shí)現(xiàn)模塊間的消息傳遞,比如典型的通過(guò)回調(diào)函數(shù)接口可以實(shí)現(xiàn)消息傳遞和數(shù)據(jù)通信的方法,使用特定的約定和事件查詢方式也可以實(shí)現(xiàn)消息的傳遞和數(shù)據(jù)通信等。
但是,這種結(jié)構(gòu)會(huì)使系統(tǒng)的各個(gè)模塊對(duì)外均有自身的消息傳遞機(jī)制,同時(shí),系統(tǒng)本身還要適應(yīng)與其互操作的其它模塊的各種不同消息的處理方式,由于中間件模塊在消息的處理上比較分散和多樣化,使得其執(zhí)行效率也會(huì)受到每個(gè)模塊處理方式的影響。
發(fā)明內(nèi)容
為克服上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法。
為完成上述發(fā)明目的,本發(fā)明采用的技術(shù)方案是一種數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,所述中間件包括事件發(fā)生模塊、接收模塊、消息統(tǒng)一管理模塊,包括下述步驟a.事件發(fā)生模塊對(duì)發(fā)生事件的消息進(jìn)行標(biāo)識(shí);b.事件發(fā)生模塊將要發(fā)送的消息和與其對(duì)應(yīng)的消息標(biāo)識(shí)打包,并將打包的消息發(fā)送給消息統(tǒng)一管理模塊;c.接收模塊向消息統(tǒng)一處理模塊注冊(cè)時(shí)申請(qǐng)消息隊(duì)列,消息統(tǒng)一處理模塊根據(jù)消息標(biāo)識(shí)進(jìn)行解析,確定其優(yōu)先級(jí),并根據(jù)優(yōu)先級(jí)把消息分發(fā)到不同的消息隊(duì)列中;d.接收模塊查詢已注冊(cè)的消息隊(duì)列,如隊(duì)列有消息,則按照先進(jìn)先出原則取出消息,調(diào)用回調(diào)函數(shù)處理該消息,處理完后從隊(duì)列中刪除該消息;e.判斷消息隊(duì)列是否為空,不空繼續(xù)執(zhí)行步驟d,否則結(jié)束。
所述步驟a中的消息標(biāo)識(shí)包括標(biāo)識(shí)消息類型和消息代碼,類型表示消息來(lái)源,代碼表示消息的特征。
所述步驟b中的將打包的消息發(fā)送給消息統(tǒng)一處理模塊采用先進(jìn)先出消息隊(duì)列。
所述步驟c中的解析具體包括下述步驟判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷當(dāng)前線程標(biāo)識(shí)值和消息參數(shù)是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息列表是否為空;如果匹配而且不為空,則把把當(dāng)前節(jié)點(diǎn)的消息列表的第一個(gè)消息的值傳遞給當(dāng)前節(jié)點(diǎn)的消息隊(duì)列,并返回該消息的類型,否則進(jìn)行下一個(gè)節(jié)點(diǎn);如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),則返回錯(cuò)誤代碼并結(jié)束。
所述步驟c中的把消息分發(fā)到不同的消息隊(duì)列是指對(duì)消息接線程的點(diǎn)對(duì)點(diǎn)發(fā)送,具體包括以下步驟判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷輸入?yún)?shù)線程標(biāo)識(shí)值和消息標(biāo)識(shí)是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息數(shù)是否超過(guò)限制;如果匹配而且超過(guò)限制則把輸入的消息參數(shù)添加到當(dāng)前節(jié)點(diǎn)的消息對(duì)列中,返回發(fā)送成功信息并結(jié)束,否則進(jìn)行下一個(gè)節(jié)點(diǎn);如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),則返回錯(cuò)誤代碼并結(jié)束。
所述消息按線程的點(diǎn)對(duì)點(diǎn)發(fā)送的消息還包括有目標(biāo)線程的信息,消息統(tǒng)一處理模塊得到該消息后,將該消息分發(fā)給指定線程。
所述步驟c中的把消息分發(fā)到不同的消息隊(duì)列是指對(duì)消息按線程的點(diǎn)對(duì)面的廣播發(fā)送,具體包括以下步驟判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷輸入消息參數(shù)是是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息教是否超過(guò)限制;如果匹配而且超過(guò)限制則把輸入的消息參數(shù)添加到當(dāng)前節(jié)點(diǎn)的消息隊(duì)列中,否則進(jìn)行下一個(gè)節(jié)點(diǎn);如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn)則結(jié)束。
本發(fā)明將中間件的所有模塊進(jìn)行綜合考慮,具有明顯的優(yōu)點(diǎn)和積極效果。本發(fā)明采用統(tǒng)一的消息處理機(jī)制處理模塊間的通信,并且把消息處理模塊單獨(dú)作為一個(gè)獨(dú)立的功能模塊,所有模塊間的通信均通過(guò)該消息模塊統(tǒng)一管理、統(tǒng)一協(xié)調(diào),這樣中間件就通過(guò)該消息處理機(jī)制將系統(tǒng)各模塊有機(jī)地聯(lián)系在一起,既更好地保證了模塊間的獨(dú)立性,又使系統(tǒng)成為一個(gè)有機(jī)的整體。同時(shí),統(tǒng)一管理和調(diào)度各種消息可以使系統(tǒng)整體的運(yùn)行可靠性得到保證和提高。
圖1為現(xiàn)有技術(shù)數(shù)字電視接收機(jī)中間件結(jié)構(gòu)示意圖;圖2為本發(fā)明所述方法的主流程圖;圖3為圖2中的消息解析流程圖;圖4為消息分發(fā)的點(diǎn)對(duì)點(diǎn)發(fā)送處理流程圖;圖5為消息廣播發(fā)送處理流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
參閱圖2,本發(fā)明所述方法的主流程圖,中間件首先判斷是否有事件發(fā)生的消息,如果有,則事件發(fā)生模塊對(duì)消息進(jìn)行標(biāo)識(shí),消息類型和代碼唯一標(biāo)識(shí)一個(gè)或一類特定的消息。之后事件發(fā)生模塊將要發(fā)送的消息和與其對(duì)應(yīng)的消息標(biāo)識(shí)一起進(jìn)行打包,并將打包的消息發(fā)送給消息統(tǒng)一處理模塊。
消息統(tǒng)一處理模塊主要作用是進(jìn)行消息的接收、分類、管理、協(xié)調(diào)和分發(fā)。一個(gè)消息有兩個(gè)屬性類型和代碼,類型是指消息的來(lái)源,代碼是指消息的特征。消息統(tǒng)一處理模塊主要有以下功能1.注冊(cè)/注銷消息回調(diào);2.消息發(fā)送與廣播;3.消息處理即按消息的優(yōu)先級(jí)進(jìn)行總體協(xié)調(diào)處理。
每一個(gè)要接收、處理消息的線程首先要注冊(cè)回調(diào)函數(shù)即消息對(duì)列。注冊(cè)的作用是向消息統(tǒng)一處理模塊的整個(gè)消息對(duì)列中添加一個(gè)新的消息節(jié)點(diǎn),該節(jié)點(diǎn)為消息類型和消息代碼與回調(diào)函數(shù)間建立了一個(gè)對(duì)應(yīng)關(guān)系,通過(guò)該對(duì)應(yīng)關(guān)系,消息處理模塊可以方便地把消息分發(fā)到各消息節(jié)點(diǎn)的隊(duì)列里。該消息隊(duì)列用于消息分發(fā)到該隊(duì)列后,在處理不及時(shí)的情況下消息有一個(gè)緩沖。
注銷回調(diào),消息統(tǒng)一處理模塊根據(jù)回調(diào)標(biāo)識(shí)在消息隊(duì)列中搜索,搜索到匹配的節(jié)點(diǎn)后,將該節(jié)點(diǎn)從消息隊(duì)列中刪除。
在消息統(tǒng)一處理模塊接收到消息后,根據(jù)消息標(biāo)識(shí)進(jìn)行解析,確定其優(yōu)先級(jí),并根據(jù)優(yōu)先級(jí)把消息分發(fā)到不同的消息隊(duì)列中。
圖3為消息解析處理流程圖,解析處理具體步驟是判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷當(dāng)前線程標(biāo)識(shí)值和消息參數(shù)是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息隊(duì)列是否為空,如果匹配而且不為空,則把把當(dāng)前節(jié)點(diǎn)的消息列表的第一個(gè)消息的值傳遞給當(dāng)前節(jié)點(diǎn)的回調(diào)函數(shù),并返回該消息的類型,否則進(jìn)行下一個(gè)節(jié)點(diǎn),如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),則返回錯(cuò)誤代碼并結(jié)束。
當(dāng)有數(shù)據(jù)需要發(fā)送或事件發(fā)生時(shí),發(fā)送消息的模塊有兩種方式送出消息給消息管理模塊1.發(fā)送給特定的線程里的接收模塊;2.廣播給所有線程的接收模塊。
圖4為消息發(fā)送的點(diǎn)對(duì)點(diǎn)發(fā)送處理流程圖,發(fā)送給特定線程的消息根據(jù)消息除攜帶消息類型和消息代碼外,還包括有目標(biāo)線程的信息,消息管理模塊得到該消息后,將該消息分發(fā)給指定線程。其具體步驟是判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷輸入?yún)?shù)線程標(biāo)識(shí)值和消息參數(shù)是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息數(shù)是否超過(guò)限制,如果匹配而且超過(guò)限制則把輸入的消息參數(shù)添加到當(dāng)前節(jié)點(diǎn)的消息隊(duì)列中,返回發(fā)送成功信息并結(jié)束,否則進(jìn)行下一個(gè)節(jié)點(diǎn),如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),則返回錯(cuò)誤代碼并結(jié)束。因此,只有該線程能收到這個(gè)消息,其他線程不會(huì)得到這個(gè)消息。這樣既保證了消息傳遞的效率,又保證了系統(tǒng)安全性。
廣播消息是指將該事件和發(fā)送數(shù)據(jù)發(fā)給系統(tǒng)所有的模塊,任何線程里的模塊需要使用該消息均可注冊(cè)該消息而獲得該類型和代碼的消息。
圖5為消息廣播發(fā)送處理流程圖。廣播發(fā)送包括如下步驟判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷輸入消息參數(shù)是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息數(shù)是否超過(guò)限制,如果匹配而且超過(guò)限制則把輸入的消息參數(shù)添加到當(dāng)前節(jié)點(diǎn)的消息隊(duì)列中,否則進(jìn)行下一個(gè)節(jié)點(diǎn),如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn)則結(jié)束。這使得某些消息發(fā)出后多個(gè)模塊需要使用這個(gè)消息的時(shí)候均可從消息管理模塊里獲取到該消息,也為這種一次發(fā)送多個(gè)接收的事件信息以最高效的方式廣播給接收模塊。
然后,接收模塊查詢已注冊(cè)的消息隊(duì)列,如隊(duì)列有消息,則按照先進(jìn)先出原則取出消息,調(diào)用回調(diào)函數(shù)處理該消息,處理完后從隊(duì)列中刪除該消息。
消息處理分為兩個(gè)部分一個(gè)是消息管理模塊對(duì)消息按照不同方式和不同優(yōu)先級(jí)進(jìn)行的分發(fā)處理;另一個(gè)是對(duì)消息傳遞來(lái)的信息進(jìn)行分類處理,使用完成后將該消息從消息管理模塊隊(duì)列中刪除。
消息統(tǒng)一處理模塊對(duì)消息的統(tǒng)一處理主要是通過(guò)消息按線程的點(diǎn)對(duì)點(diǎn)發(fā)送、點(diǎn)對(duì)面的廣播和根據(jù)優(yōu)先級(jí)對(duì)優(yōu)先級(jí)高的進(jìn)行先分配處理來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)總的消息的運(yùn)行保證。該消息機(jī)制采用對(duì)消息數(shù)據(jù)的處理分別在接收線程進(jìn)行,以保證消息管理模塊對(duì)消息響應(yīng)的效率,不會(huì)造成消息的積壓。第二部分的消息處理就是指接收模塊調(diào)用消息處理模塊的接口對(duì)消息的處理過(guò)程。消息統(tǒng)一處理模塊根據(jù)當(dāng)前線程標(biāo)識(shí)值搜索消息隊(duì)列,搜索到匹配的節(jié)點(diǎn)后,將該節(jié)點(diǎn)所包含的消息列表的第一個(gè)消息傳遞給回調(diào)函數(shù)處理。
最后,判斷消息隊(duì)列是否為空,不空則繼續(xù)解析、分發(fā)和處理消息,否則結(jié)束。
在本發(fā)明的數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法中,中間件層間或模塊間采用統(tǒng)一的消息傳遞機(jī)制,各層或模塊內(nèi)部可以有自己的消息事件機(jī)制,也可以利用該總的消息機(jī)制來(lái)實(shí)現(xiàn)內(nèi)部的消息傳遞。
本發(fā)明的數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,主要負(fù)責(zé)如下幾個(gè)層次的消息傳遞和事件響應(yīng)1.應(yīng)用層和中間件層間消息傳遞;2.中間件模塊內(nèi)部之間消息傳遞;3.底層驅(qū)動(dòng)和中間件層之間消息傳遞。本發(fā)明具有對(duì)系統(tǒng)整體調(diào)配和協(xié)調(diào)能力,根據(jù)消息的實(shí)時(shí)性和優(yōu)先級(jí)的不同,消息處理模塊對(duì)系統(tǒng)所有消息進(jìn)行協(xié)調(diào)處理,保證了系統(tǒng)的穩(wěn)定,提高了系統(tǒng)的整體運(yùn)行效率。
最后所應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對(duì)本發(fā)明進(jìn)行修改或者等同替換,對(duì)于不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,所述中間件包括事件發(fā)生模塊、接收模塊、消息統(tǒng)一管理模塊,其特征在于包括下述步驟a.事件發(fā)生模塊對(duì)發(fā)生事件的消息進(jìn)行標(biāo)識(shí);b.事件發(fā)生模塊將要發(fā)送的消息和與其對(duì)應(yīng)的消息標(biāo)識(shí)打包,并將打包的消息發(fā)送給消息統(tǒng)一管理模塊;c.接收模塊向消息統(tǒng)一處理模塊注冊(cè)時(shí)申請(qǐng)消息隊(duì)列,消息統(tǒng)一處理模塊根據(jù)消息標(biāo)識(shí)進(jìn)行解析,確定其優(yōu)先級(jí),并根據(jù)優(yōu)先級(jí)把消息分發(fā)到不同的消息隊(duì)列中;d.接收模塊查詢已注冊(cè)的消息隊(duì)列,如隊(duì)列有消息,則按照先進(jìn)先出原則取出消息,調(diào)用回調(diào)函數(shù)處理該消息,處理完后從隊(duì)列中刪除該消息;e.判斷消息隊(duì)列是否為空,不空繼續(xù)執(zhí)行步驟d,否則結(jié)束。
2.根據(jù)權(quán)利要求1所述的數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,其特征在于所述步驟a中的消息標(biāo)識(shí)包括標(biāo)識(shí)消息類型和消息代碼,類型表示消息來(lái)源,代碼表示消息的特征。
3.根據(jù)權(quán)利要求1所述的數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,其特征在于所述的步驟b中的將打包的消息發(fā)送給消息統(tǒng)一處理模塊采用先進(jìn)先出消息隊(duì)列。
4.根據(jù)權(quán)利要求1所述的數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,其特征在于所述的步驟c中的解析具體包括下述步驟判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷當(dāng)前線程標(biāo)識(shí)值和消息參數(shù)是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息列表是否為空;如果匹配而且不為空,則把把當(dāng)前節(jié)點(diǎn)的消息列表的第一個(gè)消息的值傳遞給當(dāng)前節(jié)點(diǎn)的消息隊(duì)列,并返回該消息的類型,否則進(jìn)行下一個(gè)節(jié)點(diǎn);如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),則返回錯(cuò)誤代碼并結(jié)束。
5.根據(jù)權(quán)利要求1所述的數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,其特征在于所述的步驟c中的把消息分發(fā)到不同的消息隊(duì)列是指對(duì)消息按線程的點(diǎn)對(duì)點(diǎn)發(fā)送,具體包括以下步驟判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷輸入?yún)?shù)線程標(biāo)識(shí)值和消息標(biāo)識(shí)是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息數(shù)是否超過(guò)限制;如果匹配而且超過(guò)限制則把輸入的消息參數(shù)添加到當(dāng)前節(jié)點(diǎn)的消息對(duì)列中,返回發(fā)送成功信息并結(jié)束,否則進(jìn)行下一個(gè)節(jié)點(diǎn);如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),則返回錯(cuò)誤代碼并結(jié)束。
6.根據(jù)權(quán)利要求5所述的數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,其特征在于所述的消息按線程的點(diǎn)對(duì)點(diǎn)發(fā)送的消息還包括有目標(biāo)線程的信息,消息統(tǒng)一處理模塊得到該消息后,將該消息分發(fā)給指定線程。
7.根據(jù)權(quán)利要求1所述的數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法,其特征在于所述的步驟c中的把消息分發(fā)到不同的消息隊(duì)列是指對(duì)消息按線程的點(diǎn)對(duì)面的廣播發(fā)送,具體包括以下步驟判斷當(dāng)前節(jié)點(diǎn)是否是消息隊(duì)列最后一個(gè)節(jié)點(diǎn),如果不是則進(jìn)一步判斷輸入消息參數(shù)是是否與當(dāng)前節(jié)點(diǎn)的值匹配、當(dāng)前節(jié)點(diǎn)的消息數(shù)是否超過(guò)限制;如果匹配而且超過(guò)限制則把輸入的消息參數(shù)添加到當(dāng)前節(jié)點(diǎn)的消息隊(duì)列中,否則進(jìn)行下一個(gè)節(jié)點(diǎn);如果當(dāng)前節(jié)點(diǎn)是消息隊(duì)列最后一個(gè)節(jié)點(diǎn)則結(jié)束。
全文摘要
本發(fā)明是一種數(shù)字電視接收機(jī)中間件消息統(tǒng)一處理方法。中間件嵌入在操作系統(tǒng)和應(yīng)用程序之間,包括中間件事件發(fā)生模塊對(duì)發(fā)生事件的消息進(jìn)行標(biāo)識(shí);事件發(fā)生模塊將要發(fā)送的消息和與其對(duì)應(yīng)的消息標(biāo)識(shí)打包,并將打包的消息發(fā)送給消息統(tǒng)一處理模塊;接收模塊向消息統(tǒng)一處理模塊注冊(cè)時(shí)申請(qǐng)消息隊(duì)列,消息統(tǒng)一處理模塊根據(jù)消息標(biāo)識(shí)進(jìn)行解析,確定其優(yōu)先級(jí),并根據(jù)優(yōu)先級(jí)把消息分發(fā)到不同的消息隊(duì)列中;接收模塊查詢已注冊(cè)的消息隊(duì)列,如隊(duì)列有消息,則按照先進(jìn)先出原則取出消息,調(diào)用回調(diào)函數(shù)處理該消息,處理完后從隊(duì)列中刪除該消息;判斷消息隊(duì)列是否為空,不空繼續(xù),否則結(jié)束步驟。各模塊有機(jī)聯(lián)系在一起,運(yùn)行效率得到提高。
文檔編號(hào)H04N5/44GK1635781SQ20031011034
公開(kāi)日2005年7月6日 申請(qǐng)日期2003年12月29日 優(yōu)先權(quán)日2003年12月29日
發(fā)明者鄒義生 申請(qǐng)人:北京中視聯(lián)數(shù)字系統(tǒng)有限公司