專利名稱:一種微內(nèi)核系統(tǒng)中軟件模塊的通信方法、系統(tǒng)及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種微內(nèi)核系統(tǒng)中軟件模塊的通信方 法、系統(tǒng)及裝置。
背景技術(shù):
由于現(xiàn)在處理器性能的快速提升,以及微內(nèi)核系統(tǒng)結(jié)構(gòu)的改進(jìn),微內(nèi)核系統(tǒng)的可 擴(kuò)展性、高可用性以及自愈性優(yōu)勢(shì)逐漸的明顯,微內(nèi)核系統(tǒng)得到了廣泛的應(yīng)用。微內(nèi)核系統(tǒng)中包括建立一個(gè)系統(tǒng)所必需的幾個(gè)核心軟件模塊,例如線程/進(jìn)程管 理模塊,內(nèi)存模塊和進(jìn)程間通信模塊。在微內(nèi)核中每個(gè)模塊都是一個(gè)獨(dú)立的進(jìn)程,一旦某一 模塊發(fā)生錯(cuò)誤,不會(huì)影響其他模塊的工作,并且當(dāng)不需要某一功能時(shí),直接將該功能對(duì)應(yīng)的 核心軟件模塊刪除即可,因此模塊之間的獨(dú)立性使微內(nèi)核系統(tǒng)更加便于維護(hù),并且各個(gè)模 塊可以獨(dú)立的進(jìn)行升級(jí),減小了升級(jí)的開銷。但是,微內(nèi)核系統(tǒng)中雖然每個(gè)核心軟件模塊都是一個(gè)獨(dú)立的進(jìn)程,但是核心軟件 模塊之間還是緊密耦合的,需要互相調(diào)用才能獲取數(shù)據(jù)信息。微內(nèi)核系統(tǒng)中核心軟件模塊 之間的通信只能通過進(jìn)程間通信的機(jī)制來實(shí)現(xiàn)。但是由于進(jìn)程間通信的方式,資源的競(jìng)爭 往往會(huì)拖慢某些線程對(duì)重要事件的處理,導(dǎo)致系統(tǒng)性能的降低。例如當(dāng)微內(nèi)核系統(tǒng)中包括路由(ROUTING)模塊、協(xié)議棧(V6STACK)模塊和簡單 網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol, SNMP)模塊等核心軟件模塊。當(dāng) ROUTING模塊本身正在進(jìn)行復(fù)雜的路由計(jì)算時(shí),V6STACK模塊和SNMP模塊向該ROUTING模 塊發(fā)送路由查詢請(qǐng)求,ROUTING模塊接收到路由查詢請(qǐng)求后,由于自身要進(jìn)行復(fù)雜的路由計(jì) 算,又要向V6STACK模塊和SNMP模塊提供路由信息,因此造成了 ROUTING模塊內(nèi)資源的競(jìng) 爭,導(dǎo)致V6 STACK模塊和SNMP模塊的等待,及ROUTING模塊自身路由計(jì)算速度的下降?;?者,當(dāng)ROUTING模塊向接口(INTF)模塊發(fā)送接口狀態(tài)查詢請(qǐng)求時(shí),INTF模塊向ROUTING模 塊發(fā)送路由查詢請(qǐng)求,則此時(shí)由于兩個(gè)模塊之間通過線程間通信發(fā)包等待結(jié)果,而造成系 統(tǒng)的死鎖。另外,當(dāng)微內(nèi)核系統(tǒng)中的某一核心軟件模塊發(fā)生故障,重啟后開始運(yùn)行時(shí),該出現(xiàn) 故障的核心軟件模塊需要從其他核心軟件模塊獲取自身所需的配置信息,由于其他核心軟 件模塊需要向該出現(xiàn)故障的核心軟件模塊反饋其所需的配置信息,因此其他核心軟件模塊 的處理性能將會(huì)受到影響,從而影響了整個(gè)微內(nèi)核系統(tǒng)的性能。因此由于微內(nèi)核系統(tǒng)中的各核心軟件模塊之間的緊密耦合,在核心軟件模塊在進(jìn) 行通信時(shí)將會(huì)影響核心軟件模塊的性能,從而影響整個(gè)微內(nèi)核系統(tǒng)的性能。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種微內(nèi)核系統(tǒng)中軟件模塊的通信方法、系統(tǒng)及裝 置,用以解決微內(nèi)核系統(tǒng)中各核心軟件模塊之間耦合的比較緊,導(dǎo)致系統(tǒng)性能降低的問題。本發(fā)明實(shí)施例提供的一種微內(nèi)核系統(tǒng)中軟件模塊的通信方法,包括
信息庫模塊接收針對(duì)第一核心軟件模塊的信息請(qǐng)求;根據(jù)自身保存的針對(duì)該第一核心軟件模塊的信息表的信息,在該信息表中根據(jù)所 述信息請(qǐng)求進(jìn)行相應(yīng)的處理,并發(fā)送處理結(jié)果。本發(fā)明實(shí)施例提供的一種微內(nèi)核系統(tǒng)中軟件模塊的通信裝置,包括接收模塊,用于接收針對(duì)第一核心軟件模塊的信息請(qǐng)求;信息提供模塊,用于根據(jù)自身保存的針對(duì)該第一核心軟件模塊的信息表的信息, 在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理,并發(fā)送處理結(jié)果。本發(fā)明實(shí)施例提供的一種微內(nèi)核系統(tǒng),包括如上所述的裝置,第一核心軟件模塊及第二核心軟件模塊。一種路由設(shè)備,所述路由設(shè)備包括如上所述的微內(nèi)核系統(tǒng)。本發(fā)明實(shí)施例提供一種微內(nèi)核系統(tǒng)中軟件模塊的通信方法、系統(tǒng)及裝置,該方法 中,當(dāng)需要對(duì)第一核心軟件模塊進(jìn)行操作時(shí),向信息庫模塊發(fā)送針對(duì)第一核心軟件模塊的 信息請(qǐng)求,信息庫模塊根據(jù)自身保存的針對(duì)第一核心軟件模塊的信息表的信息,在該信息 表中根據(jù)該信息請(qǐng)求進(jìn)行相應(yīng)處理,并發(fā)送處理結(jié)果。由于在本發(fā)明實(shí)施例中在信息庫模 塊中針對(duì)每個(gè)核心軟件模塊都設(shè)置了對(duì)應(yīng)的信息表,在該信息表中針對(duì)該信息請(qǐng)求進(jìn)行相 應(yīng)的處理,因此其他核心軟件模塊無需再與第一核心軟件模塊進(jìn)行交互獲取相應(yīng)信息,從 而降低了微內(nèi)核系統(tǒng)中核心軟件模塊之間的耦合程度,減小了核心軟件模塊在進(jìn)行相應(yīng)信 息操作時(shí)的性能下降。
圖1為本發(fā)明實(shí)施例提供的微內(nèi)核系統(tǒng)中軟件模塊的通信過程;圖2為本發(fā)明實(shí)施例提供的該信息請(qǐng)求為信息表內(nèi)容修改請(qǐng)求時(shí),微內(nèi)核系統(tǒng)中 軟件模塊的通信過程;圖3為本發(fā)明實(shí)施例提供的第二核心軟件模塊發(fā)送的針對(duì)第一核心軟件模塊的 獲取該第二核心軟件模塊自身所需信息的請(qǐng)求時(shí),該微內(nèi)核系統(tǒng)中軟件模塊的通信過程;圖4為本發(fā)明實(shí)施例提供的當(dāng)該信息請(qǐng)求為重新啟動(dòng)請(qǐng)求時(shí),微內(nèi)核系統(tǒng)中軟件 模塊的通信過程;圖5為本發(fā)明實(shí)施例提供的一種微內(nèi)核系統(tǒng)的組成結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例提供的一種微內(nèi)核系統(tǒng)中軟件模塊的通信裝置的結(jié)構(gòu)示意 圖。
具體實(shí)施例方式本發(fā)明實(shí)施例為了有效的降低微內(nèi)核系統(tǒng)中各核心軟件模塊的耦合程度,解決微 內(nèi)核系統(tǒng)中各核心軟件模塊通信導(dǎo)致的系統(tǒng)性能降低的問題,提供了一種微內(nèi)核系統(tǒng)中軟 件模塊的通信方法,該方法中信息庫模塊根據(jù)接收到的針對(duì)第一核心軟件模塊的信息請(qǐng) 求,確定為該信息請(qǐng)求提供服務(wù)的該第一核心軟件模塊的信息表的信息,對(duì)該信息表進(jìn)行 操作,并發(fā)送處理結(jié)果。由于本發(fā)明實(shí)施例信息庫模塊中針對(duì)每個(gè)核心軟件模塊都設(shè)置了 對(duì)應(yīng)的信息表,在需要從第一核心軟件模塊請(qǐng)求信息時(shí),直接與信息庫模塊進(jìn)行交互,無需 再與第一核心軟件模塊進(jìn)行交互,因此減小了對(duì)第一核心軟件模塊性能的影響,也降低了微內(nèi)核系統(tǒng)中各核心軟件模塊之間的耦合程度,從而提高了微內(nèi)核系統(tǒng)的性能。下面結(jié)合說明書附圖,對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)說明。在本發(fā)明實(shí)施例中為了有效的降低微內(nèi)核系統(tǒng)中核心軟件模塊之間的耦合程度, 在該微內(nèi)核系統(tǒng)中增加信息庫模塊,當(dāng)核心軟件模塊之間需要進(jìn)行請(qǐng)求信息時(shí),將之前發(fā) 送給該需要請(qǐng)求信息的核心軟件模塊的信息請(qǐng)求,發(fā)送到信息庫模塊。信息庫模塊為了便 于向每個(gè)核心軟件模塊提供服務(wù),在該信息庫模塊中針對(duì)每個(gè)核心軟件模塊保存了對(duì)應(yīng)該 核心軟件模塊的信息表,該信息表中記錄有該核心軟件模塊重啟后運(yùn)行所需的恢復(fù)數(shù)據(jù)和 對(duì)外提供的接口數(shù)據(jù)。信息庫模塊根據(jù)接收到的針對(duì)第一核心軟件模塊的信息請(qǐng)求時(shí),在自身保存的針 對(duì)每個(gè)核心軟件模塊的信息表中,查找針對(duì)該第一核心軟件模塊的信息表的信息,在該查 找到的信息表中根據(jù)該信息請(qǐng)求對(duì)該信息表進(jìn)行相應(yīng)的處理,并在處理完成后返回處理結(jié)^ o具體在本發(fā)明實(shí)施例中為了進(jìn)一步提高信息庫模塊處理針對(duì)各核心軟件模塊的 信息請(qǐng)求的處理效率,可以在該信息庫模塊中針對(duì)每個(gè)信息表,創(chuàng)建維護(hù)該信息表的子線 程。在信息表中針對(duì)信息請(qǐng)求進(jìn)行相應(yīng)的處理時(shí),可以通過對(duì)該信息表進(jìn)行維護(hù)的子線程 對(duì)該信息請(qǐng)求進(jìn)行相應(yīng)的處理。圖1為本發(fā)明實(shí)施例提供的微內(nèi)核系統(tǒng)中軟件模塊的通信過程,該過程包括以下 步驟S101 信息庫模塊接收針對(duì)第一核心軟件模塊的信息請(qǐng)求。在本發(fā)明實(shí)施例中當(dāng)微內(nèi)核系統(tǒng)中的核心軟件模塊需要對(duì)第一核心軟件模塊請(qǐng) 求信息時(shí),例如需要從第一核心軟件模塊獲取接口數(shù)據(jù)時(shí),或者當(dāng)該第一核心軟件模塊需 要對(duì)信息庫模塊中保存的自身的信息表中的信息進(jìn)行修改時(shí),或,第一核心軟件模塊需要 從信息庫中保存的自身的信息表中獲取重啟后運(yùn)行所需恢復(fù)數(shù)據(jù)時(shí),向該信息庫模塊發(fā)送 針對(duì)該第一核心軟件模塊的信息請(qǐng)求。具體的,第一核心軟件模塊在確定恢復(fù)數(shù)據(jù)或接口數(shù)據(jù)變化時(shí),向所述信息庫模 塊發(fā)送針對(duì)第一核心軟件模塊的信息請(qǐng)求,其中該信息請(qǐng)求中攜帶變化后的恢復(fù)數(shù)據(jù)或接 口數(shù)據(jù);或,第一核心軟件模塊在重啟后開始運(yùn)行時(shí),向所述信息庫模塊發(fā)送針對(duì)第一核心軟 件模塊的信息請(qǐng)求;或,第二核心軟件模塊在確定需要調(diào)用第一核心軟件模塊的接口數(shù)據(jù)時(shí),向所述信息 庫模塊發(fā)送針對(duì)第一核心軟件模塊的信息請(qǐng)求。S102:根據(jù)該信息請(qǐng)求,確定為該信息請(qǐng)求提供信息的第一核心軟件模塊的信息 表的信息。在本發(fā)明實(shí)施例中信息庫模塊針對(duì)每個(gè)核心軟件模塊創(chuàng)建并分配了對(duì)應(yīng)的信息 表,并且在該信息庫模塊中針對(duì)每個(gè)核心軟件模塊創(chuàng)建相應(yīng)的子線程,每個(gè)信息表由對(duì)應(yīng) 的子線程維護(hù)。例如在該信息庫模塊中包括核心軟件模塊A、核心軟件模塊B和核心軟件模塊C 等,信息庫模塊創(chuàng)建第一信息表、第二信息表以及第三信息表。其中該第一信息表用于向請(qǐng) 求該核心軟件模塊A的信息請(qǐng)求提供信息,第二信息表用于向請(qǐng)求核心軟件模塊B的信息請(qǐng)求提供信息,第三信息表用于向請(qǐng)求核心軟件模塊C的信息請(qǐng)求提供信息,而第一子線 程用于維護(hù)第一信息表,第二子線程用于維護(hù)第二信息表,第三子線程用于維護(hù)第三信息 表。S103:根據(jù)該信息表的信息確定對(duì)該信息表進(jìn)行維護(hù)的子線程,通過該子線程在 該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理,并發(fā)送處理結(jié)果。具體的信息庫模塊將所述信息請(qǐng)求掛載到該信息表的請(qǐng)求鏈表上,喚醒該確定的 子線程,通過喚醒的所述子線程,在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理,將處理 結(jié)果掛載在處理結(jié)果鏈表上,通告所述主線程處理完成,該主線程從處理結(jié)果鏈表上取下 處理結(jié)果并發(fā)送。在本發(fā)明實(shí)施例中該信息庫模塊為獨(dú)立于各核心軟件模塊的模塊,在該信息庫模 塊中針對(duì)每個(gè)核心軟件模塊,創(chuàng)建對(duì)應(yīng)該核心軟件模塊的信息表,并且該創(chuàng)建的信息表可 以為一個(gè)、兩個(gè)或多個(gè),具體根據(jù)核心軟件模塊的特性決定。同時(shí)該信息庫模塊針對(duì)每個(gè)核 心軟件模塊創(chuàng)建對(duì)應(yīng)的子線程,每個(gè)信息表只能由一個(gè)子線程維護(hù),而一個(gè)子線程可以維 護(hù)多個(gè)信息表。另外,該信息庫模塊為獨(dú)立于各核心軟件模塊的模塊,由于該信息庫模塊的邏輯 比較簡單,其自身無須像其他核心軟件模塊一樣進(jìn)行自身邏輯的處理,因此通過信息庫模 塊可以更加有效的解決微內(nèi)核系統(tǒng)中核心軟件模塊間的通信問題,提高微內(nèi)核系統(tǒng)的性 能。在本發(fā)明實(shí)施例中可以在信息庫模塊中創(chuàng)建多個(gè)信息表,其中每個(gè)信息表對(duì)應(yīng)一 個(gè)核心軟件模塊。每個(gè)信息表中保存有對(duì)應(yīng)的核心軟件模塊重啟后運(yùn)行所需的恢復(fù)數(shù)據(jù)和 對(duì)外提供的接口數(shù)據(jù)。即在微內(nèi)核系統(tǒng)中核心軟件模塊自身重啟后運(yùn)行所需的配置數(shù)據(jù)和 在重啟前運(yùn)行時(shí)的狀態(tài)數(shù)據(jù),及向其他核心軟件模塊提供的接口數(shù)據(jù)都可以保存在對(duì)應(yīng)該 核心軟件模塊的信息表中。例如當(dāng)該核心軟件模塊為ROUTING模塊,對(duì)應(yīng)該核心軟件模塊創(chuàng)建的信息表中保 存了路由信息,該路由信息為該ROUTING模塊向外提供的接口數(shù)據(jù),即該ROUTING模塊需 要向其他核心軟件模塊提供的信息,該信息為其他核心軟件模塊需要與ROUTING模塊進(jìn)行 通信獲取的信息。對(duì)于V6 STACK模塊,對(duì)應(yīng)該核心軟件模塊創(chuàng)建的信息表中保存了傳 輸控制協(xié)議(TransmissionControl Protocol, TCP)狀態(tài)信息及用戶數(shù)據(jù)報(bào)文協(xié)議(User Datagram Protocol,UDP)狀態(tài)信息等。對(duì)于INTF模塊,對(duì)應(yīng)該核心軟件模塊創(chuàng)建的信息表 中保存有最大傳輸單元(Maximum Transmission Unit, MTU)信息及運(yùn)行所需參數(shù)信息等。根據(jù)每個(gè)核心軟件模塊的特性,可以針對(duì)該核心軟件模塊創(chuàng)建兩個(gè)或多個(gè)信息 表。例如信息庫模塊可以針對(duì)ROUTING模塊創(chuàng)建第一信息表和第二信息表,其中第一信息 表中可以記錄V4路由信息,第二信息表中可以記錄V6路由信息。信息庫模塊針對(duì)每個(gè)核心軟件模塊創(chuàng)建了對(duì)應(yīng)的信息表后,該信息表通過針對(duì)該 核心軟件模塊創(chuàng)建的子線程維護(hù)。即信息庫模塊針對(duì)每個(gè)核心軟件模塊創(chuàng)建子線程,該子 線程用于維護(hù)為該核心軟件模塊創(chuàng)建的信息表。由于信息庫模塊針對(duì)某一核心軟件模塊可能創(chuàng)建了兩個(gè)或多個(gè)信息表,該信息庫 模塊可以針對(duì)該核心軟件模塊只創(chuàng)建一個(gè)子線程,通過創(chuàng)建的這一個(gè)子線程維護(hù)為該核心 軟件模塊創(chuàng)建的每個(gè)信息表?;蛘邽榱颂岣邔?duì)信息請(qǐng)求處理的效率,進(jìn)一步提高微內(nèi)核系統(tǒng)的性能,當(dāng)信息庫模塊針對(duì)某一核心軟件模塊創(chuàng)建了兩個(gè)或多個(gè)信息表后,可以針對(duì)為 該核心軟件模塊創(chuàng)建的信息表的數(shù)量,創(chuàng)建對(duì)應(yīng)數(shù)量的子線程,每個(gè)子線程維護(hù)一個(gè)信息 表。上述信息庫模塊為每個(gè)核心軟件模塊創(chuàng)建信息表及子線程的過程,用戶可以根據(jù)自身 的需要靈活的選擇相應(yīng)的實(shí)現(xiàn)方式,只要能夠?qū)崿F(xiàn)通過子線程維護(hù)信息表的實(shí)現(xiàn)方式都應(yīng) 包含在本發(fā)明的保護(hù)范圍內(nèi)。本發(fā)明實(shí)施例該信息庫模塊中接收針對(duì)第一核心軟件模塊的信息請(qǐng)求的為該信 息庫模塊中的主線程,該主線程當(dāng)接收到每個(gè)信息請(qǐng)求后,根據(jù)該信息請(qǐng)求中攜帶的被請(qǐng) 求的第一核心軟件模塊的信息,可以確定為該信息請(qǐng)求提供信息的該第一核心軟件模塊的 信息表的信息,并且該主線程可以根據(jù)該信息表的信息,確定維護(hù)該信息表的子線程,從而 可以通過該子線程根據(jù)該信息請(qǐng)求對(duì)該信息表進(jìn)行相應(yīng)的處理。并在子線程處理完成時(shí)將 處理結(jié)果掛載在處理結(jié)果鏈表上,通告主線程處理完成,主線程接收到該通告后,從該處理 結(jié)果鏈表上取下該處理結(jié)果,發(fā)送給發(fā)送該信息請(qǐng)求的核心軟件模塊。由于信息庫模塊中針對(duì)每個(gè)核心軟件模塊都創(chuàng)建了相應(yīng)的信息表,并且每個(gè)信息 表都通過對(duì)應(yīng)的子線程進(jìn)行維護(hù),即每個(gè)信息表只能由一個(gè)子線程進(jìn)行維護(hù),因此核心軟 件模塊無需使用數(shù)據(jù)保護(hù),從而可以降低核心軟件模塊的設(shè)計(jì)難度,并且可以有效的保證 核心軟件模塊有效的獲取到自身所需的數(shù)據(jù)信息。另外,由于核心軟件模塊之間無需進(jìn)行 直接的通信,因此避免了核心軟件模塊之間相互等待發(fā)包造成的死鎖問題,有效的提高了 核心軟件模塊從其他核心軟件模塊獲取接口數(shù)據(jù)的效率,提高了微內(nèi)核系統(tǒng)的性能。另外,在本發(fā)明實(shí)施例中由于在核心軟件模塊重啟后開始運(yùn)行時(shí),將重新啟動(dòng)請(qǐng) 求也發(fā)送到信息庫模塊,通過信息庫模塊向該核心軟件模塊提供該核心軟件模塊重啟后運(yùn) 行所需的恢復(fù)數(shù)據(jù),該重啟后運(yùn)行時(shí)所需的恢復(fù)數(shù)據(jù)包括該核心軟件模塊的配置數(shù)據(jù)及該 核心軟件模塊重啟前運(yùn)行時(shí)的狀態(tài)數(shù)據(jù),由于其他核心軟件模塊無需再向該重啟后需要運(yùn) 行的核心軟件模塊提供配置信息及重啟前運(yùn)行時(shí)的狀態(tài)信息,因此減小了對(duì)其他核心軟件 模塊處理性能的影響,從而提高了微內(nèi)核處理系統(tǒng)的整體性能。在本發(fā)明實(shí)施例中信息庫模塊接收到的請(qǐng)求從第一核心軟件模塊獲取信息的信 息請(qǐng)求可以為信息表內(nèi)容修改請(qǐng)求、重新啟動(dòng)請(qǐng)求和獲取接口數(shù)據(jù)的請(qǐng)求等操作,下面分 別針對(duì)不同的信息請(qǐng)求對(duì)本發(fā)明實(shí)施例中微內(nèi)核系統(tǒng)中軟件模塊的通信過程進(jìn)行說明。圖2為本發(fā)明實(shí)施例提供的當(dāng)該信息請(qǐng)求為信息表內(nèi)容修改請(qǐng)求時(shí),微內(nèi)核系統(tǒng) 中軟件模塊的通信過程,該過程包括以下步驟S201 信息庫模塊的主線程接收到第一核心軟件模塊發(fā)送的,針對(duì)第一核心軟件 模塊的信息表內(nèi)容修改請(qǐng)求,其中該信息表內(nèi)容修改請(qǐng)求中攜帶待添加的內(nèi)容信息。S202 信息庫模塊的主線程根據(jù)為每個(gè)核心軟件模塊創(chuàng)建被分配的信息表,確定 為信息表內(nèi)容修改請(qǐng)求提供信息的該第一核心軟件模塊的信息表的信息。由于在本發(fā)明實(shí)施例中信息庫模塊針對(duì)每個(gè)核心軟件模塊創(chuàng)建并分配了對(duì)應(yīng)的 信息表,因此當(dāng)信息庫模塊的主線程接收到第一核心軟件模塊發(fā)送的針對(duì)第一核心軟件模 塊的信息表內(nèi)容修改請(qǐng)求后,需要確定為該第一核心軟件模塊的信息表內(nèi)容修改請(qǐng)求提供 信息的為哪個(gè)信息表,從而可以在該確定的該信息表中,根據(jù)該信息表內(nèi)容修改請(qǐng)求對(duì)該 信息表進(jìn)行相應(yīng)的處理。S203 根據(jù)該信息表的信息確定對(duì)該信息表進(jìn)行維護(hù)的子線程。
由于信息庫模塊針對(duì)每個(gè)核心軟件模塊創(chuàng)建分配了對(duì)應(yīng)的信息表,而每個(gè)信息表 由對(duì)應(yīng)的子線程進(jìn)行維護(hù),因此當(dāng)確定了進(jìn)行信息提供的信息表的信息后,可以根據(jù)該信 息表的信息,確定對(duì)該信息表進(jìn)行維護(hù)的子線程。S204 將該信息表內(nèi)容修改請(qǐng)求掛載到該信息表的請(qǐng)求鏈表上,喚醒對(duì)該信息表 進(jìn)行處理的子線程。在本發(fā)明實(shí)施例中信息庫模塊為每個(gè)核心軟件模塊分配了子線程,每個(gè)子線程用 于維護(hù)為該核心軟件模塊創(chuàng)建的信息表。為了避免信息庫模塊在處理與每個(gè)核心軟件模塊 進(jìn)行通信的信息請(qǐng)求的過程中,向其他核心軟件模塊返回處理結(jié)果過程中的相互影響,在 本發(fā)明實(shí)施例中為每個(gè)核心軟件模塊分配的子線程只有在存在待處理的信息請(qǐng)求時(shí)才被 激活,否則一直處于掛起狀態(tài)。由于信息庫模塊中為每個(gè)核心軟件模塊分配的子線程,在不 存在待處理的信息請(qǐng)求時(shí),該子線程一直處于掛起狀態(tài),因此可以有效的節(jié)省信息庫模塊 的資源,提高信息庫模塊的工作效率。S205:該被喚醒的子線程,從待處理請(qǐng)求鏈表上取下該信息表內(nèi)容修改請(qǐng)求,根據(jù) 該信息表內(nèi)容修改請(qǐng)求攜帶的待添加的內(nèi)容信息,在對(duì)應(yīng)該第一核心軟件模塊的信息表中 修改該內(nèi)容信息。S206:該被喚醒的子線程在寫入成功時(shí),將處理完成通告掛載在處理結(jié)果鏈表上 并通告主線程處理完成。S207:主線程接收到通告后,從處理結(jié)果鏈表上取下該處理結(jié)果,將處理結(jié)果發(fā)送 給第一核心軟件模塊。上述過程中以該信息表內(nèi)容修改請(qǐng)求中攜帶待添加的內(nèi)容信息為例進(jìn)行說明,當(dāng) 該信息表內(nèi)容修改請(qǐng)求中攜帶待更改的內(nèi)容信息,或待刪除的內(nèi)容信息,或當(dāng)核心軟件模 塊確定恢復(fù)數(shù)據(jù)或接口數(shù)據(jù)變化,向信息庫模塊發(fā)送信息請(qǐng)求時(shí),其處理過程與上述過程 類似,在這里就不一一贅述。當(dāng)信息庫模塊接收到的信息請(qǐng)求為,第二核心軟件模塊發(fā)送的針對(duì)第一核心軟件 模塊的獲取接口數(shù)據(jù)的請(qǐng)求時(shí),該微內(nèi)核系統(tǒng)中軟件模塊的通信過程如圖3所示S301 信息庫模塊的主線程接收到第二核心軟件模塊發(fā)送的針對(duì)第一核心軟件模 塊的獲取接口數(shù)據(jù)的請(qǐng)求。即第二核心軟件模塊在運(yùn)行的過程中,需要通過與第一核心軟件模塊進(jìn)行信息交 互,獲取第一核心軟件模塊中的接口數(shù)據(jù),以便該第二核心軟件模塊能夠進(jìn)行后續(xù)動(dòng)作時(shí), 該第二核心軟件模塊生成該獲取接口數(shù)據(jù)的請(qǐng)求。S302 信息庫模塊的主線程根據(jù)為每個(gè)核心軟件模塊創(chuàng)建的信息表,確定為該獲 取接口數(shù)據(jù)的請(qǐng)求提供信息的該第一核心軟件模塊的信息表的信息。S303 根據(jù)該信息表的信息確定對(duì)該信息表進(jìn)行維護(hù)的子線程。S304:將該獲取接口數(shù)據(jù)的請(qǐng)求掛載到該信息表的請(qǐng)求鏈表上,喚醒對(duì)該信息表 進(jìn)行處理的子線程。S305:該被喚醒的子線程,從待處理請(qǐng)求鏈表上取下該獲取接口數(shù)據(jù)的請(qǐng)求,根據(jù) 該獲取接口數(shù)據(jù)的請(qǐng)求在確定的該信息表中進(jìn)行查找,獲取相應(yīng)的處理結(jié)果。S306 該被喚醒的子線程在獲取到相應(yīng)的處理結(jié)果時(shí),將獲取到的相應(yīng)的處理結(jié) 果掛載在處理結(jié)果鏈表上,并通告主線程處理完成。
S307:主線程接收到通告后,從處理結(jié)果鏈表上取下該處理結(jié)果,將該處理結(jié)果發(fā) 送給第二核心軟件模塊。圖4為本發(fā)明實(shí)施例提供的當(dāng)該信息請(qǐng)求為重新啟動(dòng)請(qǐng)求時(shí),微內(nèi)核系統(tǒng)中軟件 模塊的通信過程,該過程包括以下步驟S401 信息庫模塊的主線程接收第一核心軟件模塊發(fā)送的重新啟動(dòng)請(qǐng)求。即在第一核心軟件模塊在重啟后開始運(yùn)行時(shí),該第一核心軟件模塊在需要獲取重 啟后運(yùn)行所需恢復(fù)數(shù)據(jù)時(shí),即該第一核心軟件模塊在需要獲取重啟后運(yùn)行所需的配置數(shù) 據(jù),及在重啟前運(yùn)行時(shí)的狀態(tài)數(shù)據(jù)時(shí),生成重新啟動(dòng)請(qǐng)求,將該重新啟動(dòng)請(qǐng)求發(fā)送到該信息 庫模塊。S402 信息庫模塊的主線程根據(jù)為每個(gè)核心軟件模塊創(chuàng)建的信息表,確定為該重 新啟動(dòng)請(qǐng)求提供信息的該第一核心軟件模塊的信息表的信息。S403 根據(jù)該信息表的信息確定對(duì)該信息表進(jìn)行維護(hù)的子線程。S404 將該重新啟動(dòng)請(qǐng)求掛載到該信息表的請(qǐng)求鏈表上,喚醒對(duì)該信息表進(jìn)行處 理的子線程。S405:該被喚醒的子線程,從待處理請(qǐng)求鏈表上取下該重新啟動(dòng)請(qǐng)求,根據(jù)該重新 啟動(dòng)請(qǐng)求,在確定的該信息表中進(jìn)行查找,獲取相應(yīng)的處理結(jié)果。S406 該被喚醒的子線程在獲取到相應(yīng)的處理結(jié)果時(shí),將該處理結(jié)果掛載在處理 結(jié)果鏈表上,并通告主線程處理完成。S407:主線程接收到通告后,從處理結(jié)果鏈表上取下該處理結(jié)果,將該處理結(jié)果發(fā) 送給第一核心軟件模塊。在本發(fā)明實(shí)施例中,第一核心軟件模塊重啟后開始運(yùn)行時(shí)需要從其他核心軟件模 塊獲取的重啟后運(yùn)行所需的恢復(fù)數(shù)據(jù),都保存在信息庫模塊針對(duì)該第一核心軟件模塊的信 息表中,因此當(dāng)該信息庫模塊接收到第一核心軟件模塊發(fā)送的重新啟動(dòng)請(qǐng)求請(qǐng)求時(shí),可以 從為該第一核心軟件模塊分配的信息表中中獲取該該第一核心軟件模塊重啟后運(yùn)行所需 的恢復(fù)數(shù)據(jù),由于第一核心軟件模塊在獲取重啟后運(yùn)行所需的恢復(fù)數(shù)據(jù)過程中無需直接與 其他核心軟件模塊進(jìn)行直接信息交互,從而減小了對(duì)其他核心軟件模塊的影響,提高了微 內(nèi)核系統(tǒng)的可靠性。并且由于信息庫模塊的邏輯簡單,處理信息請(qǐng)求的速度較快,還可以有 效的提高核心軟件模塊獲取重新啟動(dòng)所需恢復(fù)數(shù)據(jù)的效率,提高核心軟件模塊重啟后開始 運(yùn)行的速度。下面結(jié)合一個(gè)具體的實(shí)施例進(jìn)行說明,圖5為本發(fā)明實(shí)施例提供的一種微內(nèi)核系 統(tǒng)的組成結(jié)構(gòu)示意圖,在該微內(nèi)核系統(tǒng)中的核心軟件模塊包括R0UTING模塊、V6 STACK模 塊和SNMP模塊,并且在該微內(nèi)核系統(tǒng)中還包括信息庫模塊。微內(nèi)核系統(tǒng)中的每個(gè)核心軟件 模塊在需要從外界模塊中獲取接口數(shù)據(jù),以便進(jìn)行后續(xù)運(yùn)行時(shí),都直接從信息庫模塊中獲 取。信息庫模塊為ROUTING模塊創(chuàng)建并分配了第一信息表和第二信息表,其中第一信息表 中保存V6路由信息,第二信息表中保存V4路由信息,并通過第一子線程維護(hù)該第一信息表 和第二信息表,為V6 STACK模塊創(chuàng)建并分配了第三信息表,并通過第二子線程維護(hù)該第三 信息表,為SNMP模塊創(chuàng)建并分配了第四信息表,并通過第四子線程維護(hù)該第三信息表。當(dāng)ROUTING模塊由于靜態(tài)配置或者接收到路由協(xié)議的通告,確定新增了一條V6路 由信息時(shí),ROUTING模塊向信息庫模塊發(fā)送針對(duì)自身的信息表內(nèi)容修改請(qǐng)求,其中該信息表內(nèi)容修改請(qǐng)求中攜帶該待添加的V6路由信息。信息庫模塊的主線程接收到ROUTING模塊發(fā)送的信息表內(nèi)容修改請(qǐng)求后,信息庫 模塊根據(jù)該信息表內(nèi)容修改請(qǐng)求中攜帶的待添加的V6路由信息,確定需要對(duì)為該ROUTING 模塊創(chuàng)建并分配的第一信息表進(jìn)行操作。同時(shí),由于該第一信息表通過第一子線程維護(hù), 因此信息庫模塊將該信息表內(nèi)容修改請(qǐng)求掛載在第一信息表的請(qǐng)求鏈表上,喚醒第一子線程。被喚醒的第一子線程從自身維護(hù)的第一信息表的請(qǐng)求鏈表上取下該信息表內(nèi)容 修改請(qǐng)求,將該信息表內(nèi)容修改請(qǐng)求中攜帶的待添加的V6路由信息,寫入該第一信息表 中,并確定該V6路由信息的索引。第一子線程在處理完成時(shí)將處理完成的信息攜帶在處理 結(jié)果中掛載在主線程的處理結(jié)果鏈表上,并通告主線程處理完成。主線程接收到通告后,從 處理結(jié)果鏈表上取下該處理結(jié)果,將該處理結(jié)果發(fā)送給ROUTING模塊。V6 STACK模塊在進(jìn)行數(shù)據(jù)包的發(fā)送時(shí),需要與ROUTING模塊進(jìn)行通信獲取接口數(shù) 據(jù),即獲取路由信息,因此該V6 STACK模塊向信息庫模塊發(fā)送與ROUTING模塊進(jìn)行通信獲 取接口數(shù)據(jù)的請(qǐng)求。信息庫模塊的主線程接收到V6 STACK模塊發(fā)送的與ROUTING模塊進(jìn)行通信獲取 接口數(shù)據(jù)的請(qǐng)求后,確定需要對(duì)為該ROUTING模塊創(chuàng)建并分配的第一信息表進(jìn)行操作。同 時(shí),由于該第一信息表通過第一子線程維護(hù),信息庫模塊將該獲取接口數(shù)據(jù)的請(qǐng)求掛載在 第一信息表的請(qǐng)求鏈表上,喚醒第一子線程。被喚醒的第一子線程從自身維護(hù)的第一信息表的請(qǐng)求鏈表上取下該獲取接口數(shù) 據(jù)的請(qǐng)求,根據(jù)該獲取接口數(shù)據(jù)的請(qǐng)求,從第一信息表中查找路由信息,并將查找到的路由 信息掛載在主線程的處理結(jié)果鏈表上,并通告主線程處理完成。主線程接收到通告后,從處 理結(jié)果鏈表上取下該路由信息,并發(fā)送給V6STACK模塊。圖6為本發(fā)明實(shí)施例提供的一種微內(nèi)核系統(tǒng)中軟件模塊的通信裝置的結(jié)構(gòu)示意 圖,該裝置包括接收模塊61,用于接收針對(duì)第一核心軟件模塊的信息請(qǐng)求;信息提供模塊62,用于根據(jù)自身保存的針對(duì)該第一核心軟件模塊的信息表的信 息,在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理,并發(fā)送處理結(jié)果。所述信息提供模塊62具體用于,根據(jù)該信息表的信息,確定對(duì)該信息表進(jìn)行維護(hù)的子線程,通過所述子線程在該 信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理。所述信息提供模塊62具體用于,將所述信息請(qǐng)求掛載到該信息表的請(qǐng)求鏈表上,喚醒該確定的子線程,通過喚醒 的所述子線程,在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理,接收所述子線程發(fā)送的 通告,取下所述子線程掛載在處理結(jié)果鏈表上的處理結(jié)果并發(fā)送。所述信息提供模塊62具體用于,當(dāng)所述信息請(qǐng)求為信息表內(nèi)容修改請(qǐng)求時(shí),根據(jù) 所述信息表內(nèi)容修改請(qǐng)求,通過所述子線程修改該信息表。所述信息提供模塊62具體用于,當(dāng)所述信息請(qǐng)求為重新啟動(dòng)請(qǐng)求時(shí),根據(jù)所述重 新啟動(dòng)信息請(qǐng)求,通過所述子線程在所述信息表中查找重啟后運(yùn)行所需恢復(fù)數(shù)據(jù)。所述信息提供模塊62具體用于,當(dāng)所述信息請(qǐng)求為從第一核核心軟件模塊獲取接口數(shù)據(jù)的請(qǐng)求時(shí),根據(jù)所述獲取接口數(shù)據(jù)的請(qǐng)求,通過所述子線程在所述信息表中查找 所述接口數(shù)據(jù)。所述裝置還包括創(chuàng)建模塊63,用于根據(jù)每個(gè)第一核心軟件模塊,創(chuàng)建針對(duì)每個(gè)核心軟件模塊的至 少一個(gè)信息表,其中該信息表中保存該核心軟件模塊運(yùn)行過程中產(chǎn)生的信息,及運(yùn)行過程 中所需的信息。所述裝置中,所述接收模塊61還用于,接收第一核心軟件模塊在確定恢復(fù)數(shù)據(jù)接口數(shù)據(jù)變化 時(shí),發(fā)送的針對(duì)第一核心軟件模塊的信息請(qǐng)求,其中該信息請(qǐng)求中攜帶變化后的恢復(fù)數(shù)據(jù) 或接口數(shù)據(jù);或,接收第一核心軟件模塊在重啟后開始運(yùn)行時(shí),發(fā)送針對(duì)第一核心軟件模塊 的信息請(qǐng)求;或,在第二核心軟件模塊在確定需要調(diào)用第一核心軟件模塊的接口數(shù)據(jù)時(shí),發(fā) 送的針對(duì)第一核心軟件模塊的信息請(qǐng)求。本發(fā)明實(shí)施例還提供了一種微內(nèi)核系統(tǒng),所述系統(tǒng)包括上述微內(nèi)核系統(tǒng)中軟件模 塊的通信裝置,第一核心軟件模塊及第二核心軟件模塊。本發(fā)明實(shí)施例提供了一種路由設(shè)備,所述路由設(shè)備包括上述所述的微內(nèi)核系統(tǒng)。本發(fā)明實(shí)施例提供一種微內(nèi)核系統(tǒng)中軟件模塊的通信方法、系統(tǒng)及裝置,該方法 中,當(dāng)需要對(duì)第一核心軟件模塊進(jìn)行操作時(shí),向信息庫模塊發(fā)送針對(duì)第一核心軟件模塊的 信息請(qǐng)求,根據(jù)自身保存的針對(duì)第一核心軟件模塊的信息表的信息,在該信息表中根據(jù)該 信息請(qǐng)求進(jìn)行相應(yīng)處理,并發(fā)送處理完成通告。由于在本發(fā)明實(shí)施例中在信息庫模塊中針 對(duì)每個(gè)核心軟件模塊都設(shè)置了對(duì)應(yīng)的信息表,在該信息表中針對(duì)該信息請(qǐng)求進(jìn)行相應(yīng)的處 理,因此其他核心軟件模塊無需再與第一核心軟件模塊進(jìn)行交互獲取相應(yīng)信息,從而降低 了微內(nèi)核系統(tǒng)中核心軟件模塊之間的耦合程度,減小了核心軟件模塊在進(jìn)行相應(yīng)信息操作 時(shí)的性能下降。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
一種微內(nèi)核系統(tǒng)中軟件模塊的通信方法,其特征在于,包括信息庫模塊接收針對(duì)第一核心軟件模塊的信息請(qǐng)求;根據(jù)自身保存的針對(duì)該第一核心軟件模塊的信息表的信息,在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理,并發(fā)送處理結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,所述在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行 相應(yīng)的處理包括根據(jù)該信息表的信息,確定對(duì)該信息表進(jìn)行維護(hù)的子線程; 通過所述子線程在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理。
3.如權(quán)利要求2所述的方法,其特征在于,所述發(fā)送處理結(jié)果包括所述子線程將所述處理結(jié)果發(fā)送給所述信息庫模塊的主線程,并通告所述主線程處理 完成;所述主線程根據(jù)接收的所述通告,發(fā)送處理結(jié)果。
4.如權(quán)利要求3所述的方法,其特征在于,通過所述子線程在該信息表中根據(jù)所述信 息請(qǐng)求進(jìn)行相應(yīng)的處理包括信息庫模塊的主線程將所述信息請(qǐng)求掛載到該信息表的請(qǐng)求鏈表上,喚醒該確定的子 線程;通過喚醒的所述子線程,在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理; 所述發(fā)送處理結(jié)果包括將處理結(jié)果掛載在處理結(jié)果鏈表上,通告所述主線程處理完成;所述主線程接收到通告后,從處理結(jié)果鏈表上取下處理結(jié)果并發(fā)送。
5.如權(quán)利要求2所述的方法,其特征在于,當(dāng)所述信息請(qǐng)求為信息表內(nèi)容修改請(qǐng)求時(shí), 通過所述子線程在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理包括根據(jù)所述信息表內(nèi)容修改請(qǐng)求,通過所述子線程修改該信息表。
6.如權(quán)利要求2所述的方法,其特征在于,當(dāng)所述信息請(qǐng)求為重新啟動(dòng)請(qǐng)求時(shí),通過所 述子線程在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理包括根據(jù)所述重新啟動(dòng)請(qǐng)求,通過所述子線程在所述信息表中查找重啟后運(yùn)行所需恢復(fù)數(shù)據(jù)。
7.如權(quán)利要求2所述的方法,其特征在于,當(dāng)所述信息請(qǐng)求為從第一核心軟件模塊獲 取接口數(shù)據(jù)的請(qǐng)求時(shí),通過所述子線程在該信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理包 括根據(jù)所述獲取接口數(shù)據(jù)的請(qǐng)求,通過所述子線程在所述信息表中查找所述接口數(shù)據(jù)。
8.如權(quán)利要求1所述的方法,其特征在于,所述信息庫模塊接收針對(duì)第一核心軟件模 塊的信息請(qǐng)求之前,所述方法進(jìn)一步包括所述信息庫模塊根據(jù)每個(gè)核心軟件模塊,創(chuàng)建針對(duì)每個(gè)核心軟件模塊的至少一個(gè)信息 表,其中該信息表中保存該核心軟件模塊重啟后運(yùn)行所需的恢復(fù)數(shù)據(jù)和對(duì)外提供的接口數(shù) 據(jù)。
9.如權(quán)利要求8所述的方法,其特征在于,所述方法還包括第一核心軟件模塊在確定恢復(fù)數(shù)據(jù)或接口數(shù)據(jù)變化時(shí),向所述信息庫模塊發(fā)送針對(duì)第 一核心軟件模塊的信息請(qǐng)求,其中該信息請(qǐng)求中攜帶變化后的恢復(fù)數(shù)據(jù)或接口數(shù)據(jù);或,第一核心軟件模塊在重啟后開始運(yùn)行時(shí),向所述信息庫模塊發(fā)送針對(duì)第一核心軟件模 塊的信息請(qǐng)求;或,第二核心軟件模塊在確定需要調(diào)用第一核心軟件模塊的接口數(shù)據(jù)時(shí),向所述信息庫模 塊發(fā)送針對(duì)第一核心軟件模塊的信息請(qǐng)求。
10.一種微內(nèi)核系統(tǒng)中軟件模塊的通信裝置,其特征在于,所述裝置包括接收模塊,用于接收針對(duì)第一核心軟件模塊的信息請(qǐng)求;信息提供模塊,用于根據(jù)自身保存的針對(duì)該第一核心軟件模塊的信息表的信息,在該 信息表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理,并發(fā)送處理結(jié)果。
11.如權(quán)利要求10所述的裝置,其特征在于,所述信息提供模塊具體用于,根據(jù)該信息表的信息,確定對(duì)該信息表進(jìn)行維護(hù)的子線程,通過所述子線程在該信息 表中根據(jù)所述信息請(qǐng)求進(jìn)行相應(yīng)的處理,接收所述子線程發(fā)送的通告,取下所述子線程掛 載在處理結(jié)果鏈表上的處理結(jié)果并發(fā)送。
12.如權(quán)利要求11所述的裝置,其特征在于,所述信息提供模塊具體用于,當(dāng)所述信息 請(qǐng)求為信息表內(nèi)容修改請(qǐng)求時(shí),根據(jù)所述信息表內(nèi)容修改請(qǐng)求,通過所述子線程修改該信 息表。
13.如權(quán)利要求11所述的裝置,其特征在于,所述信息提供模塊具體用于,當(dāng)所述信息 請(qǐng)求為重新啟動(dòng)請(qǐng)求時(shí),根據(jù)所述重新啟動(dòng)請(qǐng)求,通過所述子線程在所述信息表中查找重 啟后運(yùn)行所需恢復(fù)數(shù)據(jù)。
14.如權(quán)利要求11所述的裝置,其特征在于,所述信息提供模塊具體用于,當(dāng)所述信息 請(qǐng)求為從第一核核心軟件模塊獲取接口數(shù)據(jù)的請(qǐng)求時(shí),根據(jù)所述獲取接口數(shù)據(jù)的請(qǐng)求,通 過所述子線程在所述信息表中查找所述接口數(shù)據(jù)。
15.如權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括創(chuàng)建模塊,用于根據(jù)每個(gè)核心軟件模塊,創(chuàng)建針對(duì)每個(gè)核心軟件模塊的至少一個(gè)信息 表,其中該信息表中保存該核心軟件模塊重啟后運(yùn)行時(shí)所需的恢復(fù)數(shù)據(jù)和對(duì)外提供的接口 數(shù)據(jù)。
16.如權(quán)利要求15所述的裝置,其特征在于,所述裝置中,所述接收模塊還用于,接收第一核心軟件模塊在確定恢復(fù)數(shù)據(jù)或接口數(shù)據(jù)變化時(shí),發(fā) 送的針對(duì)第一核心軟件模塊的信息請(qǐng)求,其中該信息請(qǐng)求中攜帶變化后的恢復(fù)數(shù)據(jù)或接口 數(shù)據(jù);或,接收第一核心軟件模塊在重啟后開始運(yùn)行時(shí),發(fā)送針對(duì)第一核心軟件模塊的信息 請(qǐng)求;或,在第二核心軟件模塊在確定需要調(diào)用第一核心軟件模塊的接口數(shù)據(jù)時(shí),發(fā)送的針 對(duì)第一核心軟件模塊的信息請(qǐng)求。
17.一種微內(nèi)核系統(tǒng),其特征在于,所述系統(tǒng)包括如權(quán)利要求10 16任一所述的裝 置,第一核心軟件模塊和第二核心軟件模塊。
18.—種路由設(shè)備,其特征在于,所述路由設(shè)備包括如權(quán)利要求17所述的微內(nèi)核系統(tǒng)。
全文摘要
本發(fā)明公開了一種微內(nèi)核系統(tǒng)中軟件模塊的通信方法、系統(tǒng)及裝置,用以解決微內(nèi)核系統(tǒng)中各核心軟件模塊之間的通信,導(dǎo)致系統(tǒng)性能降低的問題。該方法接收到針對(duì)第一核心軟件模塊的信息請(qǐng)求的信息庫模塊,確定對(duì)信息請(qǐng)求提供信息的第一核心軟件模塊的信息表的信息,在信息表中根據(jù)該信息請(qǐng)求進(jìn)行相應(yīng)處理,并發(fā)送處理完成通告。由于在本發(fā)明實(shí)施例中在信息庫模塊中針對(duì)每個(gè)核心軟件模塊都設(shè)置了對(duì)應(yīng)的信息表,在該信息表中針對(duì)該信息請(qǐng)求進(jìn)行相應(yīng)的處理,因此其他核心軟件模塊無需再與第一核心軟件模塊進(jìn)行交互獲取相應(yīng)信息,從而降低了微內(nèi)核系統(tǒng)中核心軟件模塊之間的耦合程度,減小了核心軟件模塊在進(jìn)行相應(yīng)信息操作時(shí)的性能下降。
文檔編號(hào)G06F9/54GK101980170SQ20101051999
公開日2011年2月23日 申請(qǐng)日期2010年10月20日 優(yōu)先權(quán)日2010年10月20日
發(fā)明者劉忠東, 胡閩, 陳宏濤, 馬曉靖 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司