專利名稱:一種多媒體終端進(jìn)程間通訊的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IPTV(網(wǎng)絡(luò)電視)機(jī)頂盒、會(huì)議電視終端等多媒體終端的進(jìn)程間通訊領(lǐng)域,更具體的說(shuō),是一種嵌入式多媒體終端系統(tǒng)內(nèi)部的進(jìn)程間數(shù)據(jù)通訊的一種方法和系統(tǒng)。
背景技術(shù):
為了滿足人們對(duì)多媒體終端的功能日益增多的要求,在多媒體終端系統(tǒng)上運(yùn)行的軟件也越來(lái)越多,這些軟件很多是以獨(dú)立的進(jìn)程存在的。為了共享一些系統(tǒng)資源或者協(xié)同完成一個(gè)系統(tǒng)功能,通常這些獨(dú)立的進(jìn)程在運(yùn)行的時(shí)候也需要與其它的進(jìn)程進(jìn)行通訊。常規(guī)的進(jìn)程間通訊方法是需要通訊的兩個(gè)進(jìn)程之間事先要定義好數(shù)據(jù)通訊的方法、數(shù)據(jù)封裝的格式,然后按照約定好的方法進(jìn)行通訊。 這種方法的缺點(diǎn)一是每個(gè)需要與其它進(jìn)程通訊的進(jìn)程都需要定義與該進(jìn)程相關(guān)的接口 。另外一個(gè)缺點(diǎn)是通訊的進(jìn)程間需要建立連接,當(dāng)一個(gè)進(jìn)程與N個(gè)進(jìn)程通訊時(shí)就需要建立N個(gè)連接,這個(gè)進(jìn)程就需要對(duì)這N個(gè)連接都要進(jìn)行管理和維護(hù),增加了系統(tǒng)的開(kāi)銷和復(fù)雜性,同時(shí)也延長(zhǎng)了系統(tǒng)的開(kāi)發(fā)周期。例如進(jìn)程A已經(jīng)開(kāi)發(fā)完畢,現(xiàn)在系統(tǒng)增加了一個(gè)新的進(jìn)程B,如果B也要與A進(jìn)行通訊,常規(guī)的方法是需要對(duì)A進(jìn)行修改,增加A與B間通訊的機(jī)制。 由此可見(jiàn),現(xiàn)有進(jìn)程間通訊方法較為復(fù)雜,效率不高,需要改進(jìn)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種多媒體終端進(jìn)程間通訊的方法和系統(tǒng),減少進(jìn)程間通訊對(duì)系統(tǒng)復(fù)雜度的影響,減少重復(fù)性的接口定義、通訊連接過(guò)程,支持系統(tǒng)擴(kuò)展性。 為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種多媒體終端進(jìn)程間的通訊方法,在系統(tǒng)中創(chuàng)建主控進(jìn)程,系統(tǒng)中的應(yīng)用進(jìn)程之間通訊時(shí),應(yīng)用進(jìn)程和所述主控進(jìn)程建立連接,通過(guò)所述主控進(jìn)程轉(zhuǎn)發(fā)數(shù)據(jù)。 進(jìn)一步的,上述方法還可具有以下特點(diǎn),所述應(yīng)用進(jìn)程之間通訊時(shí),將進(jìn)行通訊的
應(yīng)用程序分別稱為第一應(yīng)用進(jìn)程,第二應(yīng)用進(jìn)程,具體包含如下步驟 第一應(yīng)用進(jìn)程向主控進(jìn)程發(fā)送調(diào)用請(qǐng)求,請(qǐng)求調(diào)用系統(tǒng)的服務(wù); 主控進(jìn)程查詢?cè)摲?wù)由第二應(yīng)用進(jìn)程提供,轉(zhuǎn)發(fā)該調(diào)用請(qǐng)求至第二應(yīng)用進(jìn)程; 第二應(yīng)用進(jìn)程響應(yīng)該調(diào)用請(qǐng)求,返回信息至主控進(jìn)程; 主控進(jìn)程將該信息轉(zhuǎn)發(fā)給第一應(yīng)用進(jìn)程。 進(jìn)一步的,上述方法還可具有以下特點(diǎn),所述應(yīng)用進(jìn)程以接口的形式對(duì)外提供數(shù)據(jù)訪問(wèn)的服務(wù)。 進(jìn)一步的,上述方法還可具有以下特點(diǎn),所述請(qǐng)求調(diào)用系統(tǒng)的服務(wù)是指調(diào)用系統(tǒng)的接口 ,所述主控進(jìn)程收到該調(diào)用請(qǐng)求后,查詢?cè)摻涌趯儆诘诙?yīng)用進(jìn)程后,再將該調(diào)用請(qǐng)求轉(zhuǎn)發(fā)至第二應(yīng)用進(jìn)程。 進(jìn)一步的,上述方法還可具有以下特點(diǎn),為所述應(yīng)用進(jìn)程分配進(jìn)程標(biāo)識(shí),為所述應(yīng) 用進(jìn)程的接口分配接口標(biāo)識(shí),所述主控進(jìn)程啟動(dòng)后,獲取所述進(jìn)程標(biāo)識(shí)和接口標(biāo)識(shí),所述調(diào) 用請(qǐng)求中攜帶接口標(biāo)識(shí),所述主控進(jìn)程根據(jù)該調(diào)用請(qǐng)求中的接口標(biāo)識(shí),查詢?cè)摻涌谒鶎俚?應(yīng)用進(jìn)程。 進(jìn)一步的,上述方法還可具有以下特點(diǎn),所述進(jìn)程標(biāo)識(shí)保存在進(jìn)程配置文件中,所 述接口標(biāo)識(shí)保存在接口定義文件中。 進(jìn)一步的,上述方法還可具有以下特點(diǎn),所述應(yīng)用進(jìn)程啟動(dòng)時(shí),向所述主控進(jìn)程注 冊(cè),通知所述主控進(jìn)程其服務(wù)狀態(tài)為可提供接口服務(wù)。 進(jìn)一步的,上述方法還可具有以下特點(diǎn),所述主控進(jìn)程先于所述應(yīng)用進(jìn)程啟動(dòng)。
本發(fā)明還提供一種多媒體終端進(jìn)程間的通訊系統(tǒng),包含應(yīng)用進(jìn)程,還包含主控進(jìn) 程,所述主控進(jìn)程,用于在所述應(yīng)用進(jìn)程之間通訊時(shí),和所述應(yīng)用進(jìn)程建立連接,轉(zhuǎn)發(fā)所述 應(yīng)用進(jìn)程間通訊的數(shù)據(jù)。 進(jìn)一步的,上述系統(tǒng)還可具有以下特點(diǎn),所述主控進(jìn)程,用于接收第一應(yīng)用進(jìn)程的 調(diào)用請(qǐng)求,根據(jù)調(diào)用請(qǐng)求中的接口標(biāo)識(shí),轉(zhuǎn)發(fā)該調(diào)用請(qǐng)求至該接口標(biāo)識(shí)所屬的第二應(yīng)用進(jìn) 程;還用于接收第二應(yīng)用進(jìn)程響應(yīng)該調(diào)用請(qǐng)求返回的信息,并將該信息轉(zhuǎn)發(fā)給第一應(yīng)用進(jìn) 程。 本發(fā)明提供了一種進(jìn)程間通訊的方法和系統(tǒng),可以快速構(gòu)建多進(jìn)程系統(tǒng),且可以 動(dòng)態(tài)增加進(jìn)程,減少了多媒體終端的開(kāi)發(fā)周期,提高了開(kāi)發(fā)效率。
圖1是本發(fā)明多媒體終端進(jìn)程間通訊方法流程圖; 圖2是本發(fā)明應(yīng)用進(jìn)程A調(diào)用應(yīng)用進(jìn)程B的接口的流程圖。
具體實(shí)施例方式
本發(fā)明多媒體終端的進(jìn)程間通訊的主要思想是,在系統(tǒng)中創(chuàng)建一主控進(jìn)程,用來(lái) 管理系統(tǒng)中的其他進(jìn)程(本發(fā)明中稱為應(yīng)用進(jìn)程),每個(gè)應(yīng)用進(jìn)程和主控進(jìn)程建立連接,應(yīng) 用進(jìn)程間通訊時(shí),通過(guò)主控進(jìn)程來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)。
首先需要對(duì)系統(tǒng)進(jìn)行規(guī)劃 1)系統(tǒng)中包含一個(gè)主控進(jìn)程。該進(jìn)程為一個(gè)獨(dú)立的控制進(jìn)程,用來(lái)管理各個(gè)需要 通訊的進(jìn)程,負(fù)責(zé)進(jìn)程間通訊的數(shù)據(jù)的轉(zhuǎn)發(fā)。所有需要與其它進(jìn)程通訊的進(jìn)程都只與該主 控進(jìn)程通訊。 2)系統(tǒng)中的每個(gè)進(jìn)程對(duì)外提供數(shù)據(jù)訪問(wèn)的服務(wù)以接口的形式提供。進(jìn)程間通訊的 方法指進(jìn)程間接口的調(diào)用。接口以函數(shù)接口的形式提供。 3)對(duì)每個(gè)應(yīng)用進(jìn)程,為每個(gè)應(yīng)用進(jìn)程分配一個(gè)進(jìn)程標(biāo)識(shí)即進(jìn)程ID,將進(jìn)程ID信息 保存在進(jìn)程配置文件里。 列出各個(gè)應(yīng)用進(jìn)程對(duì)外提供的接口,為每個(gè)應(yīng)用進(jìn)程的每個(gè)接口定義一個(gè)唯一的 接口標(biāo)識(shí)即接口 ID,每個(gè)進(jìn)程的接口 ID定義保存在接口定義文件里。 其中,進(jìn)程ID信息和接口 ID信息也可以保存在一個(gè)文件中,本發(fā)明對(duì)此不作限定。 主控進(jìn)程啟動(dòng)時(shí),加載上述進(jìn)程配置文件和接口定義文件,讀取并保存系統(tǒng)中的 進(jìn)程ID和接口 ID信息。將主控進(jìn)程的啟動(dòng)順序先于系統(tǒng)中的其他應(yīng)用進(jìn)程,如放在系統(tǒng) 啟動(dòng)順序的最前面,保證系統(tǒng)啟動(dòng)的時(shí)候首先加載主控進(jìn)程。對(duì)外提供接口的應(yīng)用進(jìn)程在 啟動(dòng)時(shí)向主控進(jìn)程進(jìn)行接口的注冊(cè)。 4)應(yīng)用進(jìn)程需要調(diào)用系統(tǒng)的服務(wù)時(shí),即調(diào)用其他應(yīng)用進(jìn)程的接口時(shí),將需要調(diào)用 的接口 ID信息發(fā)送給主控進(jìn)程,進(jìn)行相關(guān)接口的調(diào)用。
本發(fā)明多媒體終端進(jìn)程間通訊方法具體包含 步驟110,系統(tǒng)啟動(dòng)后,啟動(dòng)主控進(jìn)程,主控進(jìn)程必須先于系統(tǒng)中其他各個(gè)進(jìn)程之 前啟動(dòng)。 步驟120,主控進(jìn)程啟動(dòng)后,讀取進(jìn)程配置文件和各個(gè)進(jìn)程的接口定義文件,并在
主控進(jìn)程內(nèi)部保存這些信息,生成接口鏈表信息,該信息具體包含進(jìn)程ID、接口 ID等。 步驟130,啟動(dòng)應(yīng)用進(jìn)程,和主控進(jìn)程建立連接,應(yīng)用進(jìn)程在啟動(dòng)時(shí)首先向主控進(jìn)
程進(jìn)行注冊(cè),以通知主控進(jìn)程自己的服務(wù)狀態(tài)為可以對(duì)外提供接口服務(wù)。 步驟140,應(yīng)用進(jìn)程間需要通訊時(shí),應(yīng)用進(jìn)程將調(diào)用請(qǐng)求發(fā)送給主控進(jìn)程,主控進(jìn)
程將調(diào)用請(qǐng)求轉(zhuǎn)發(fā)給被調(diào)用的應(yīng)用進(jìn)程,并將該被調(diào)用的應(yīng)用進(jìn)程返回的信息轉(zhuǎn)發(fā)給調(diào)用
相應(yīng)服務(wù)的應(yīng)用進(jìn)程。具體見(jiàn)圖2。 圖2是本發(fā)明應(yīng)用進(jìn)程A調(diào)用應(yīng)用進(jìn)程B的接口的流程圖。應(yīng)用進(jìn)程A調(diào)用應(yīng)用 進(jìn)程B的接口 F時(shí),應(yīng)用進(jìn)程A將調(diào)用請(qǐng)求發(fā)給主控進(jìn)程; 步驟210,主控進(jìn)程查詢接口 F屬于哪個(gè)應(yīng)用進(jìn)程,具體是根據(jù)接口鏈表信息進(jìn)行 查詢,根據(jù)接口標(biāo)識(shí)查詢其所述的應(yīng)用進(jìn)程標(biāo)識(shí),把調(diào)用請(qǐng)求轉(zhuǎn)發(fā)給該應(yīng)用進(jìn)程;例如,接 口 F屬于應(yīng)用進(jìn)程B,主控進(jìn)程把該調(diào)用請(qǐng)求發(fā)給應(yīng)用進(jìn)程B ;
步驟220,應(yīng)用進(jìn)程B響應(yīng)接口 F的調(diào)用,并將返回的信息發(fā)給主控進(jìn)程;
步驟230,主控進(jìn)程再將該信息發(fā)送給應(yīng)用進(jìn)程A。 這樣每個(gè)應(yīng)用進(jìn)程只與主控進(jìn)程建立連接,當(dāng)有一個(gè)新的應(yīng)用進(jìn)程C需要調(diào)用應(yīng) 用進(jìn)程B的接口時(shí),不需要修改應(yīng)用進(jìn)程B的代碼,應(yīng)用進(jìn)程C只要向主控進(jìn)行注冊(cè),然后 把調(diào)用請(qǐng)求發(fā)給主控進(jìn)程即可。 本發(fā)明的多媒體終端進(jìn)程間通訊方法適用于會(huì)議電視終端或者IPTV機(jī)頂盒,但 不限定于此。
權(quán)利要求
一種多媒體終端進(jìn)程間的通訊方法,其特征在于,在系統(tǒng)中創(chuàng)建主控進(jìn)程,系統(tǒng)中的應(yīng)用進(jìn)程之間通訊時(shí),應(yīng)用進(jìn)程和所述主控進(jìn)程建立連接,通過(guò)所述主控進(jìn)程轉(zhuǎn)發(fā)數(shù)據(jù)。
2. 如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用進(jìn)程之間通訊時(shí),將進(jìn)行通訊的應(yīng) 用程序分別稱為第一應(yīng)用進(jìn)程,第二應(yīng)用進(jìn)程,具體包含如下步驟第一應(yīng)用進(jìn)程向主控進(jìn)程發(fā)送調(diào)用請(qǐng)求,請(qǐng)求調(diào)用系統(tǒng)的服務(wù); 主控進(jìn)程查詢?cè)摲?wù)由第二應(yīng)用進(jìn)程提供,轉(zhuǎn)發(fā)該調(diào)用請(qǐng)求至第二應(yīng)用進(jìn)程; 第二應(yīng)用進(jìn)程響應(yīng)該調(diào)用請(qǐng)求,返回信息至主控進(jìn)程; 主控進(jìn)程將該信息轉(zhuǎn)發(fā)給第一應(yīng)用進(jìn)程。
3. 如權(quán)利要求2所述的方法,其特征在于,所述應(yīng)用進(jìn)程以接口的形式對(duì)外提供數(shù)據(jù) 訪問(wèn)的服務(wù)。
4. 如權(quán)利要求3所述的方法,其特征在于,所述請(qǐng)求調(diào)用系統(tǒng)的服務(wù)是指調(diào)用系統(tǒng)的 接口 ,所述主控進(jìn)程收到該調(diào)用請(qǐng)求后,查詢?cè)摻涌趯儆诘诙?yīng)用進(jìn)程后,再將該調(diào)用請(qǐng)求 轉(zhuǎn)發(fā)至第二應(yīng)用進(jìn)程。
5. 如權(quán)利要求1或4所述的方法,其特征在于,為所述應(yīng)用進(jìn)程分配進(jìn)程標(biāo)識(shí),為所述 應(yīng)用進(jìn)程的接口分配接口標(biāo)識(shí),所述主控進(jìn)程啟動(dòng)后,獲取所述進(jìn)程標(biāo)識(shí)和接口標(biāo)識(shí),所述 調(diào)用請(qǐng)求中攜帶接口標(biāo)識(shí),所述主控進(jìn)程根據(jù)該調(diào)用請(qǐng)求中的接口標(biāo)識(shí),查詢?cè)摻涌谒鶎?的應(yīng)用進(jìn)程。
6. 如權(quán)利要求5所述的方法,其特征在于,所述進(jìn)程標(biāo)識(shí)保存在進(jìn)程配置文件中,所述 接口標(biāo)識(shí)保存在接口定義文件中。
7. 如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用進(jìn)程啟動(dòng)時(shí),向所述主控進(jìn)程注 冊(cè),通知所述主控進(jìn)程其服務(wù)狀態(tài)為可提供接口服務(wù)。
8. 如權(quán)利要求1至4任一所述的方法,其特征在于,所述主控進(jìn)程先于所述應(yīng)用進(jìn)程啟動(dòng)。
9. 一種多媒體終端進(jìn)程間的通訊系統(tǒng),包含應(yīng)用進(jìn)程,其特征在于,還包含主控進(jìn)程, 所述主控進(jìn)程,用于在所述應(yīng)用進(jìn)程之間通訊時(shí),和所述應(yīng)用進(jìn)程建立連接,轉(zhuǎn)發(fā)所述應(yīng)用 進(jìn)程間通訊的數(shù)據(jù)。
10. 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述主控進(jìn)程,用于接收第一應(yīng)用進(jìn)程的 調(diào)用請(qǐng)求,根據(jù)調(diào)用請(qǐng)求中的接口標(biāo)識(shí),轉(zhuǎn)發(fā)該調(diào)用請(qǐng)求至該接口標(biāo)識(shí)所屬的第二應(yīng)用進(jìn) 程;還用于接收第二應(yīng)用進(jìn)程響應(yīng)該調(diào)用請(qǐng)求返回的信息,并將該信息轉(zhuǎn)發(fā)給第一應(yīng)用進(jìn) 程。
全文摘要
本發(fā)明提供了一種多媒體終端進(jìn)程間的通訊方法,在系統(tǒng)中創(chuàng)建主控進(jìn)程,系統(tǒng)中的應(yīng)用進(jìn)程之間通訊時(shí),應(yīng)用進(jìn)程和所述主控進(jìn)程建立連接,通過(guò)所述主控進(jìn)程轉(zhuǎn)發(fā)數(shù)據(jù)。本發(fā)明還提供一種多媒體終端進(jìn)程間的通訊系統(tǒng),包含應(yīng)用進(jìn)程,還包含主控進(jìn)程,所述主控進(jìn)程,用于在所述應(yīng)用進(jìn)程之間通訊時(shí),和所述應(yīng)用進(jìn)程建立連接,轉(zhuǎn)發(fā)所述應(yīng)用進(jìn)程間通訊的數(shù)據(jù)。本發(fā)明所述方法及系統(tǒng),可以快速構(gòu)建多進(jìn)程系統(tǒng),且可以動(dòng)態(tài)增加進(jìn)程,減少了多媒體終端的開(kāi)發(fā)周期,提高了開(kāi)發(fā)效率。
文檔編號(hào)G06F9/54GK101739300SQ200810177530
公開(kāi)日2010年6月16日 申請(qǐng)日期2008年11月18日 優(yōu)先權(quán)日2008年11月18日
發(fā)明者孟軍, 彭峰, 李喜欣 申請(qǐng)人:中興通訊股份有限公司