專利名稱:信息投遞的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多核技術(shù)領(lǐng)域,尤其是涉及一種信息投遞的方法和裝置。
背景技術(shù):
在現(xiàn)有的多核系統(tǒng)中,每個處理器是由多個內(nèi)核組成,每個內(nèi)核包含有一個或多 個硬件線程。在通信設(shè)備中由于業(yè)務(wù)的復(fù)雜性,由多種業(yè)務(wù)模塊、控制模塊和交換單板組 成,每個單板采用一個或多個多核處理器。在現(xiàn)有的多核系統(tǒng)中的信息通信方式如圖1所示,該信息通信方式沿用傳統(tǒng)的單 核處理系統(tǒng)模式,單板間和單板內(nèi)的任務(wù)通過IPC方式實現(xiàn)信息通信。IPC方式基于TCP/ IP或共享內(nèi)存的方式實現(xiàn)信息通信,然而在多核系統(tǒng)中,這種信息通信方式無法體現(xiàn)出多 核系統(tǒng)的優(yōu)勢。隨著多核系統(tǒng)中內(nèi)核數(shù)量的增加,以內(nèi)核為基本信息通信單元的機(jī)制復(fù)雜 度大大增加,同時該IPC方式也無法實現(xiàn)多核系統(tǒng)處理的負(fù)載均衡,當(dāng)大量信息匯聚到控 制面單板需處理時,可能造成控制面單板處理能力過載,同時也無法實現(xiàn)多核系統(tǒng)中任務(wù) 多實例時的高效通信。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種的信息投遞的方法和裝置,實現(xiàn)多核系統(tǒng)內(nèi)或多 核系統(tǒng)間信息的投遞。本發(fā)明提出一種信息投遞的方法,其包括步驟接收源任務(wù)發(fā)送的待投遞信息和目標(biāo)任務(wù)名稱;根據(jù)目標(biāo)任務(wù)名稱在預(yù)設(shè)全局關(guān)系表中查找與目標(biāo)任務(wù)名稱對應(yīng)的內(nèi)核號;根據(jù)內(nèi)核號在多核系統(tǒng)中查找對應(yīng)的內(nèi)核,并將待投遞信息發(fā)送至所述內(nèi)核內(nèi)與 目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。優(yōu)選地,所述預(yù)設(shè)全局關(guān)系表包含多核系統(tǒng)中的任務(wù)名稱與該任務(wù)所在內(nèi)核的 內(nèi)核號對應(yīng)關(guān)系。優(yōu)選地,所述源任務(wù)與目標(biāo)任務(wù)包括在同一多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同 一多核系統(tǒng)的不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi)核內(nèi)。 優(yōu)選地,所述目標(biāo)任務(wù)包括一個或多個目標(biāo)任務(wù)實例;多個目標(biāo)任務(wù)實例包括在 同一多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng)的不同內(nèi)核內(nèi)、或包括在不同多核系 統(tǒng)的內(nèi)核內(nèi)。優(yōu)選地,所述信息投遞的方法,當(dāng)目標(biāo)任務(wù)包括多個目標(biāo)任務(wù)實例時,則根據(jù)就近 原則選擇目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo)任務(wù)。本發(fā)明另提出一種信息投遞的裝置,其包括接收模塊,用于接收源任務(wù)發(fā)送的待投遞信息和目標(biāo)任務(wù)名稱;查找模塊,用于根據(jù)目標(biāo)任務(wù)名稱在預(yù)設(shè)全局關(guān)系表中查找與目標(biāo)任務(wù)名稱對應(yīng) 的內(nèi)核號;
發(fā)送模塊,用于根據(jù)內(nèi)核號在多核系統(tǒng)中查找對應(yīng)的內(nèi)核,并將待投遞信息發(fā)送 至所述內(nèi)核內(nèi)與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。優(yōu)選地,所述預(yù)設(shè)全局關(guān)系表包含多核系統(tǒng)中的任務(wù)名稱與該任務(wù)所在內(nèi)核的 內(nèi)核號對應(yīng)關(guān)系。優(yōu)選地,所述源任務(wù)與目標(biāo)任務(wù)包括在同一多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同 一多核系統(tǒng)的不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi)核內(nèi)。優(yōu)選地,所述目標(biāo)任務(wù)包括一個或多個目標(biāo)任務(wù)實例;多個目標(biāo)任務(wù)實例包括在 同一多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng)的不同內(nèi)核內(nèi)、或包括在不同多核系 統(tǒng)的內(nèi)核內(nèi)。所述查找模塊,還用于當(dāng)目標(biāo)任務(wù)包括多個目標(biāo)任務(wù)實例時,根據(jù)就近原則選擇 目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo)任務(wù)。由上可知,利用本發(fā)明提供的信息投遞的方法和裝置,可實現(xiàn)多核系統(tǒng)內(nèi)或多核 系統(tǒng)間信息的投遞,信息投遞可靠性高。
圖1是現(xiàn)有技術(shù)中單核系統(tǒng)間的結(jié)構(gòu)示意圖;圖2是本發(fā)明的信息投遞的方法一實施例流程圖;圖3是本發(fā)明的多核系統(tǒng)結(jié)構(gòu)示意圖;圖4是本發(fā)明的多核系統(tǒng)間的結(jié)構(gòu)示意圖;圖5是本發(fā)明的信息投遞的裝置結(jié)構(gòu)示意圖;圖6是本發(fā)明的多核系統(tǒng)的另一結(jié)構(gòu)示意圖;圖7是本發(fā)明的多核系統(tǒng)間的另一結(jié)構(gòu)示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
具體實施例方式應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參見圖2,提出本發(fā)明的信息投遞的方法一實施例,其包括步驟S101、接收源任務(wù)發(fā)送的待投遞信息和目標(biāo)任務(wù)名稱;步驟S102、根據(jù)目標(biāo)任務(wù)名稱在預(yù)設(shè)全局關(guān)系表中查找與目標(biāo)任務(wù)名稱對應(yīng)的內(nèi) 核號;步驟S103、根據(jù)內(nèi)核號在多核系統(tǒng)中查找對應(yīng)的內(nèi)核,并將待投遞信息發(fā)送至所 述內(nèi)核內(nèi)與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。所述內(nèi)核內(nèi)與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)即為目標(biāo)任務(wù)。進(jìn)一步地,上述信息投遞的方法實施例中,所述預(yù)設(shè)全局關(guān)系表包含多核系統(tǒng)中 的任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系。上述信息投遞的方法應(yīng)用在多核系統(tǒng)中,所述任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核 號對應(yīng)關(guān)系,是指多核系統(tǒng)內(nèi)所有任務(wù)名稱與該任務(wù)名稱所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系,或 通訊連接的所有多核系統(tǒng)中的所有任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系。進(jìn)一步地,上述信息投遞的方法實施例中,所述源任務(wù)與目標(biāo)任務(wù)包括在同一多
4核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng)的不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi) 核內(nèi)。進(jìn)一步地,上述信息投遞的方法實施例,其中,所述目標(biāo)任務(wù)包括一個或多個目標(biāo) 任務(wù)實例;多個目標(biāo)任務(wù)實例包括在同一多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng) 的不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi)核內(nèi)。參見圖3,設(shè)多核系統(tǒng)1為獨立的多核系統(tǒng),該多核系統(tǒng)1內(nèi)包括有內(nèi)核①、內(nèi)核 ②和內(nèi)核③。其中,內(nèi)核①包括有任務(wù)A-I和任務(wù)C-I ;內(nèi)核②包括有任務(wù)A-2和任務(wù)B-I。 內(nèi)核③包括有任務(wù)D-I和E-1。其預(yù)設(shè)全局關(guān)系表包括有如下任務(wù)名稱與該任務(wù)所在內(nèi)核 的內(nèi)核號對應(yīng)關(guān)系A(chǔ)-1 —①、A-2 —②、B-I —②、C-I —①、D-I —③、E-1 —③。參見圖4,設(shè)多核系統(tǒng)1、2和3為相互通訊的多核系統(tǒng),其中多核系統(tǒng)1包括有內(nèi) 核i,內(nèi)核i包括有任務(wù)a-Ι和b-Ι。多核系統(tǒng)2包括有內(nèi)核ii和內(nèi)核iii,內(nèi)核ii包括有 任務(wù)a-2和d-1 ;內(nèi)核iii包括有任務(wù)a-3和c_l。多核系統(tǒng)3包括有內(nèi)核iv和內(nèi)核V,內(nèi) 核iv包括有b-2和d-2 ;內(nèi)核ν包括e-Ι和f-Ι。其預(yù)設(shè)全局關(guān)系表包括有如下任務(wù)名稱 與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系a_l — i、a_2 — ii、a_3 — iii、b_l — i、b_2 — iv、 c-1 — iii、d-1 — ii、d-2 — iv、e-1 — v> f-1 — v。進(jìn)一步地,上述信息投遞的方法實施例中,當(dāng)目標(biāo)任務(wù)只有一個目標(biāo)任務(wù)實例,則 直接將待投遞信息發(fā)送至該目標(biāo)任務(wù)實例中。進(jìn)一步地,上述信息投遞的方法實施例中, 當(dāng)目標(biāo)任務(wù)包括多個目標(biāo)任務(wù)實例時,根據(jù)就近原則選擇目標(biāo)任務(wù)實例作為待投遞信息的 目標(biāo)任務(wù)。所述就近原則如下優(yōu)先選擇與源任務(wù)處于同一內(nèi)核的目標(biāo)任務(wù)實例作為待投 遞信息的目標(biāo)任務(wù);若沒有與源任務(wù)處于同一內(nèi)核的目標(biāo)任務(wù)實例,則優(yōu)選擇與源任務(wù)處 于同一多核系統(tǒng)的目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo)任務(wù);若沒有與源任務(wù)處于同一內(nèi) 核,也沒有與源任務(wù)處于同一多核系統(tǒng)的目標(biāo)任務(wù)實例,則選擇與源任務(wù)處于不同多核系 統(tǒng)的目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo)任務(wù)。另外,若源任務(wù)和目標(biāo)任務(wù)在不同的多核系統(tǒng)中;或在同一多核系統(tǒng)中,但位于不 同內(nèi)核中,則可根據(jù)目標(biāo)任務(wù)中的多個目標(biāo)任務(wù)實例的負(fù)載情況和是否異常的具體情況選 擇某一目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo)任務(wù)。以圖4為例,設(shè)任務(wù)d-Ι為源任務(wù),任務(wù)d-Ι需向任務(wù)a發(fā)送待投遞信息,任務(wù)a包 括有a-1、a-2、a-3三個任務(wù)實例。其中,任務(wù)a_2處于內(nèi)核ii內(nèi),任務(wù)a_3處于內(nèi)核iii 內(nèi),任務(wù)a-Ι處于內(nèi)核i內(nèi);任務(wù)d-Ι處于內(nèi)核ii內(nèi),根據(jù)上述的就近原則,優(yōu)選選擇與源 任務(wù)d-Ι由于處于同一內(nèi)核的目標(biāo)任務(wù)實例a-2作為待投遞信息的目標(biāo)任務(wù)。若被選為目 標(biāo)任務(wù)的目標(biāo)任務(wù)實例出現(xiàn)異?;蜇?fù)載較高的情況,則按照同樣原理在其他的目標(biāo)任務(wù)實 例中選擇一個作為待投遞信息的目標(biāo)任務(wù)。即若目標(biāo)任務(wù)實例a-2異?;蜇?fù)載較高,則優(yōu) 選擇與源任務(wù)d-Ι處于同一多核系統(tǒng)的目標(biāo)任務(wù)實例a-3作為待投遞信息的目標(biāo)任務(wù);若 目標(biāo)任務(wù)實例a-2和a-3都異常或負(fù)載較高,則與源任務(wù)處于不同多核系統(tǒng)的目標(biāo)任務(wù)實 例a-Ι作為待投遞信息的目標(biāo)任務(wù)。以圖4為例,設(shè)任務(wù)c-1為源任務(wù),任務(wù)c-1需向任務(wù)d發(fā)送待投遞信息。其中, 任務(wù)d包括有d-Ι和d-2兩個任務(wù)實例;任務(wù)源任務(wù)c-1和任務(wù)d-Ι處于同一多核系統(tǒng)2 內(nèi);任務(wù)d-2處于多核系統(tǒng)3內(nèi);根據(jù)上述的就近原則,優(yōu)選選擇任務(wù)d-Ι作為待投遞信息 的目標(biāo)任務(wù);若任務(wù)d-Ι異?;蜇?fù)載較高,則選擇任務(wù)d-2作為待投遞信息的目標(biāo)任務(wù)。
以圖4為例,設(shè)任務(wù)d-2為源任務(wù),任務(wù)d-2需向任務(wù)a發(fā)送待投遞信息。其中, 任務(wù)a包括有a-1、a-2和a_3三個任務(wù)實例。任務(wù)a的所有實例a_l、a_2、a_3和源任務(wù) d-2不處于同一多核系統(tǒng)內(nèi);任務(wù)a-Ι處于多核系統(tǒng)1內(nèi),而任務(wù)a-2和a_3處于多核系統(tǒng) 2內(nèi)。根據(jù)上述就近原則無法選擇,此時需根據(jù)任務(wù)a三個任務(wù)實例是否異?;蜇?fù)載高低的 情況進(jìn)行選擇,將運行正常,且負(fù)載較低的任務(wù)實例作為待投遞信息的目標(biāo)任務(wù)。通過上述就近原則的選擇方式,可以提高信息投遞的速度和效率,可避免信息投 遞失敗現(xiàn)象發(fā)生,同時還可保證同一任務(wù)中的不同任務(wù)實例的負(fù)載均衡。另外,上述信息投遞的方法實施例,當(dāng)目標(biāo)任務(wù)包括多個目標(biāo)任務(wù)實施例時,還可 不根據(jù)就近原則而直接查找負(fù)載最低的目標(biāo)任務(wù)實例,將該目標(biāo)任務(wù)實例作為待投遞信息 的目標(biāo)任務(wù)。以圖4為例,設(shè)任務(wù)a-Ι為源任務(wù),任務(wù)a-1需向任務(wù)b發(fā)送待投遞信息,任 務(wù)b包括有b-Ι和b-2兩個任務(wù)實例,任務(wù)b-Ι負(fù)載大,任務(wù)b-2負(fù)載低,因此任務(wù)b-2為 待投遞信息的目標(biāo)任務(wù),將待投遞信息發(fā)送至內(nèi)核iv內(nèi)的任務(wù)b-2中。若被選為目標(biāo)任務(wù) 的目標(biāo)任務(wù)實例出現(xiàn)異常情況,則按照同樣原理在其他的目標(biāo)任務(wù)實例中選擇一個作為待 投遞信息的目標(biāo)任務(wù),以保證同一任務(wù)中的不同任務(wù)實例的負(fù)載均衡,同時還可避免信息 投遞失敗現(xiàn)象發(fā)生。以上所述信息投遞的方法實施例,可實現(xiàn)多核系統(tǒng)內(nèi)或多核系統(tǒng)間信息的投遞, 信息投遞可靠性高,提高了信息投遞的速度和效率、實現(xiàn)了多核系統(tǒng)中任務(wù)實例的負(fù)載均 衡,同時還可防止信息投遞的失敗。參見圖5,提出本發(fā)明的信息投遞的裝置10 —實施例,其包括接收模塊11、查找 模塊12和發(fā)送模塊13。其中,接收模塊11,用于接收源任務(wù)發(fā)送的待投遞信息和目標(biāo)任務(wù) 名稱;查找模塊12,用于根據(jù)目標(biāo)任務(wù)名稱在預(yù)設(shè)全局關(guān)系表中查找與目標(biāo)任務(wù)名稱對應(yīng) 的內(nèi)核號;發(fā)送模塊13,用于根據(jù)內(nèi)核號在多核系統(tǒng)中查找對應(yīng)的內(nèi)核,并將待投遞信息 發(fā)送至所述內(nèi)核內(nèi)與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。 所述內(nèi)核內(nèi)與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)即為目標(biāo)任務(wù)。進(jìn)一步地,上述信息投遞的裝置實施例中,所述預(yù)設(shè)全局關(guān)系表包含多核系統(tǒng)中 的任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系。上述信息投遞的裝置10應(yīng)用在多核系統(tǒng)中,所述任務(wù)名稱與該任務(wù)所在內(nèi)核的 內(nèi)核號對應(yīng)關(guān)系,是指多核系統(tǒng)內(nèi)所有任務(wù)名稱與該任務(wù)名稱所在內(nèi)核的內(nèi)核號對應(yīng)關(guān) 系,或通訊連接的所有多核系統(tǒng)中的所有任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系。進(jìn)一步地,上述信息投遞的裝置實施例,其中,所述源任務(wù)與目標(biāo)任務(wù)包括在同一 多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng)的不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的 內(nèi)核內(nèi)。進(jìn)一步地,上述信息投遞的裝置實施例,其中,所述目標(biāo)任務(wù)包括一個或多個目標(biāo) 任務(wù)實例;多個目標(biāo)任務(wù)實例包括在同一多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng) 的不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi)核內(nèi)。參見圖6,設(shè)多核系統(tǒng)1為獨立的多核系統(tǒng),該多核系統(tǒng)配置有本發(fā)明的信息投遞 的裝置10。該多核系統(tǒng)1內(nèi)包括有內(nèi)核①、內(nèi)核②和內(nèi)核③。其中,內(nèi)核①包括有任務(wù)A-I 和任務(wù)C-I ;內(nèi)核②包括有任務(wù)A-2和任務(wù)B-I。內(nèi)核③包括有任務(wù)D-I和E-1。其預(yù)設(shè)全 局關(guān)系表包括有如下任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系A(chǔ)-1 —①、A-2 —②、B-I —②、C-I —①、D-I —③、E-I —③。源任務(wù)需要發(fā)送待投遞信息時,首先將待投遞信 息和目標(biāo)任務(wù)名稱發(fā)送給信息投遞的裝置10,信息投遞的裝置10則根據(jù)目標(biāo)任務(wù)名稱在 預(yù)設(shè)全局關(guān)系表中與該目標(biāo)任務(wù)名稱對應(yīng)的內(nèi)核號,然后在多核系統(tǒng)1中查找與內(nèi)核號對 應(yīng)的內(nèi)核,并將待投遞信息發(fā)送到該內(nèi)核中與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。參見圖7,設(shè)多核系統(tǒng)1、2和3為相互通訊的多核系統(tǒng),每個多核系統(tǒng)中分別配置 有本發(fā)明的信息投遞的裝置10。其中多核系統(tǒng)1包括有內(nèi)核i,內(nèi)核i包括有任務(wù)a-Ι和 b_l。多核系統(tǒng)2包括有內(nèi)核ii和內(nèi)核iii,內(nèi)核ii包括有任務(wù)a-2和d-Ι ;內(nèi)核iii包括 有任務(wù)a-3和c-1。多核系統(tǒng)3包括有內(nèi)核iv和內(nèi)核V,內(nèi)核iv包括有b_2和d_2 ;內(nèi)核ν 包括e-Ι和f-Ι。其預(yù)設(shè)全局關(guān)系表包括有如下任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng) 關(guān)系a_l 一 i、a_2 一 ii、a_3 一 iii、b_l 一 i、b_2 一 iv、c_l 一 iii、d_l 一 ii、d_2 一 iv、 e-l — ν、f-1 — V0同理,源任務(wù)需要發(fā)送待投遞信息時,首先將待投遞信息和目標(biāo)任務(wù)名 稱發(fā)送給信息投遞的裝置10,信息投遞的裝置10則根據(jù)目標(biāo)任務(wù)名稱在預(yù)設(shè)全局關(guān)系表 中與該目標(biāo)任務(wù)名稱對應(yīng)的內(nèi)核號,然后在多核系統(tǒng)1、2和3中查找與內(nèi)核號對應(yīng)的內(nèi)核, 并將待投遞信息發(fā)送到該內(nèi)核中與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。進(jìn)一步地,上述信息投遞的裝置實施例中,當(dāng)目標(biāo)任務(wù)只有一個目標(biāo)任務(wù)實例,則 直接將待投遞信息發(fā)送至該目標(biāo)任務(wù)實例中。進(jìn)一步地,上述信息投遞的裝置實施例中,所述查找模塊12,還用于當(dāng)目標(biāo)任務(wù)包 括多個目標(biāo)任務(wù)實例時,根據(jù)就近原則選擇目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo)任務(wù)。所 述就近原則如下優(yōu)先選擇與源任務(wù)處于同一內(nèi)核的目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo) 任務(wù);若沒有與源任務(wù)處于同一內(nèi)核的目標(biāo)任務(wù)實例,則優(yōu)選擇與源任務(wù)處于同一多核系 統(tǒng)的目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo)任務(wù);若沒有與源任務(wù)處于同一內(nèi)核,也沒有與 源任務(wù)處于同一多核系統(tǒng)的目標(biāo)任務(wù)實例,則選擇與源任務(wù)處于不同多核系統(tǒng)的目標(biāo)任務(wù) 實例作為待投遞信息的目標(biāo)任務(wù)。另外,若源任務(wù)和目標(biāo)任務(wù)在不同的多核系統(tǒng)中;或在同一多核系統(tǒng)中,但位于不 同內(nèi)核中,信息投遞的裝置10可根據(jù)目標(biāo)任務(wù)中的多個目標(biāo)任務(wù)實例的負(fù)載情況和是否 異常的具體情況選擇某一目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo)任務(wù)。以圖7為例,設(shè)任務(wù)d-Ι為源任務(wù),任務(wù)d-Ι需向任務(wù)a發(fā)送待投遞信息,任務(wù)a 包括有a-l、a-2、a-3三個任務(wù)實例。首先任務(wù)d_l將待投遞信息和目標(biāo)任務(wù)名稱a發(fā)送給 信息投遞的裝置10,信息投遞的裝置10根據(jù)目標(biāo)任務(wù)名稱a在預(yù)設(shè)全局關(guān)系表中查找與該 目標(biāo)任務(wù)名稱a對應(yīng)的內(nèi)核號有i、ii和iii (包括目標(biāo)任務(wù)a的內(nèi)核號)。然后在多核系 統(tǒng)1、2和3中查找與內(nèi)核號i、ii和iii對應(yīng)的內(nèi)核i、ii和iii。任務(wù)a-2處于內(nèi)核i i 內(nèi),任務(wù)a-3處于內(nèi)核iii內(nèi),任務(wù)a-Ι處于內(nèi)核i內(nèi);任務(wù)d-Ι處于內(nèi)核ii內(nèi),根據(jù)上述 的就近原則,信息投遞的裝置10優(yōu)選選擇與源任務(wù)d-Ι由于處于同一內(nèi)核的目標(biāo)任務(wù)實例 a-2作為待投遞信息的目標(biāo)任務(wù),然后將待投遞信息發(fā)送至內(nèi)核ii內(nèi)的任務(wù)a-2中。若被 選為目標(biāo)任務(wù)的目標(biāo)任務(wù)實例a-2出現(xiàn)異常或負(fù)載較高的情況,則按照同樣原理在其他的 目標(biāo)任務(wù)實例中選擇一個作為待投遞信息的目標(biāo)任務(wù)。即若目標(biāo)任務(wù)實例a-2異?;蜇?fù)載 較高,則信息投遞的裝置10優(yōu)選擇與源任務(wù)d-Ι處于同一多核系統(tǒng)的目標(biāo)任務(wù)實例a-3作 為待投遞信息的目標(biāo)任務(wù),然后將待投遞信息發(fā)送至內(nèi)核iii內(nèi)的任務(wù)a-3中;若目標(biāo)任務(wù) 實例a-2和a-3都異?;蜇?fù)載較高,則信息投遞的裝置10選擇與源任務(wù)處于不同多核系統(tǒng)
7的目標(biāo)任務(wù)實例a-Ι作為待投遞信息的目標(biāo)任務(wù),然后將待投遞信息發(fā)送至內(nèi)核i內(nèi)的任 務(wù)a-Ι中。即若被選為目標(biāo)任務(wù)的目標(biāo)任務(wù)實例出現(xiàn)異常和負(fù)載較高情況,且除被選目標(biāo) 任務(wù)實例還有兩個或兩個以上目標(biāo)任務(wù)實例,則按照同樣原理在剩余的目標(biāo)任務(wù)實例中選 擇一個作為待投遞信息的目標(biāo)任務(wù),以提高信息投遞的速度和效率,同時還可避免信息投 遞失敗現(xiàn)象發(fā)生。以圖7為例,設(shè)任務(wù)C-I為源任務(wù),任務(wù)C-I需向任務(wù)d發(fā)送待投遞信息,任務(wù)d 包括有d-Ι和d-2兩個任務(wù)實例。首先任務(wù)c-1將待投遞信息和目標(biāo)任務(wù)名稱d發(fā)送給信 息投遞的裝置10,信息投遞的裝置10根據(jù)目標(biāo)任務(wù)名稱d在預(yù)設(shè)全局關(guān)系表中查找與該目 標(biāo)任務(wù)名稱d對應(yīng)的內(nèi)核號有ii和iv(包括目標(biāo)任務(wù)d的內(nèi)核號)。然后在多核系統(tǒng)1、2 和3中查找與內(nèi)核號ii和iv對應(yīng)的內(nèi)核ii和iv。任務(wù)源任務(wù)c-1處于內(nèi)核iii和任務(wù) d-Ι處于內(nèi)核ii,內(nèi)核ii和內(nèi)核iii處于同一多核系統(tǒng)2內(nèi);任務(wù)d-2處于多核系統(tǒng)3內(nèi) 的內(nèi)核iv中;根據(jù)上述的就近原則,信息投遞的裝置10優(yōu)選選擇任務(wù)d-Ι作為待投遞信息 的目標(biāo)任務(wù),然后將待投遞信息發(fā)送至任務(wù)d-Ι ;若任務(wù)d-Ι異?;蜇?fù)載較高,信息投遞的 裝置10則選擇任務(wù)d-2作為待投遞信息的目標(biāo)任務(wù),然后將待投遞信息發(fā)送至任務(wù)d-2。以圖7為例,設(shè)任務(wù)d-2為源任務(wù),任務(wù)d-2需向任務(wù)a發(fā)送待投遞信息。其中, 任務(wù)a包括有a-l、a-2和a_3三個任務(wù)實例。首先任務(wù)d_2將待投遞信息和目標(biāo)任務(wù)名稱 a發(fā)送給信息投遞的裝置10,信息投遞的裝置10根據(jù)目標(biāo)任務(wù)名稱a在預(yù)設(shè)全局關(guān)系表中 查找與該目標(biāo)任務(wù)名稱a對應(yīng)的內(nèi)核號有i、ii和iii (包括目標(biāo)任務(wù)a的內(nèi)核號)。然后 在多核系統(tǒng)1、2和3中查找與內(nèi)核號i、ii和iii對應(yīng)的內(nèi)核i、ii和iii。任務(wù)a的所有 實例a-1、a-2、a-3和源任務(wù)d_2不處于同一內(nèi)核內(nèi),也不處于同一多核系統(tǒng)內(nèi);任務(wù)a_l 處于多核系統(tǒng)1內(nèi),而任務(wù)a-2和a-3處于多核系統(tǒng)2內(nèi)。信息投遞的裝置10無法根據(jù)上 述就近原則進(jìn)行選擇,此時需根據(jù)任務(wù)a三個任務(wù)實例是否異常或負(fù)載高低的情況進(jìn)行選 擇,將運行正常,且負(fù)載較低的任務(wù)實例作為待投遞信息的目標(biāo)任務(wù)。信息投遞的裝置10通過上述就近原則進(jìn)行目標(biāo)任務(wù)的選擇,可以提高信息投遞 的速度和效率,可避免信息投遞失敗現(xiàn)象發(fā)生,同時還可保證同一任務(wù)中的不同任務(wù)實例 的負(fù)載均衡。另外,上述信息投遞的裝置10實施例,當(dāng)目標(biāo)任務(wù)包括多個目標(biāo)任務(wù)實施例時, 還可不根據(jù)就近原則而直接查找負(fù)載最低的目標(biāo)任務(wù)實例,將該目標(biāo)任務(wù)實例作為待投遞 信息的目標(biāo)任務(wù)。以圖7為例,設(shè)任務(wù)a-Ι為源任務(wù),任務(wù)a-Ι需向任務(wù)d發(fā)送待投遞信息, 首先任務(wù)a-Ι將待投遞信息和目標(biāo)任務(wù)名稱d發(fā)送給信息投遞的裝置10,信息投遞的裝置 10根據(jù)目標(biāo)任務(wù)名稱d在預(yù)設(shè)全局關(guān)系表中查找與該目標(biāo)任務(wù)名稱d對應(yīng)的內(nèi)核號有ii 和iv(包括目標(biāo)任務(wù)d的內(nèi)核號)。然后在多核系統(tǒng)1、2和3中查找與內(nèi)核號ii、iv對應(yīng) 的內(nèi)核ii和iv,任務(wù)d的d-Ι和d-2兩個任務(wù)實例,其中任務(wù)d-Ι處于內(nèi)核ii內(nèi)和任務(wù) d-2處于內(nèi)核iv內(nèi),任務(wù)d-Ι負(fù)載大,任務(wù)d-2負(fù)載低,因此內(nèi)核iv的任務(wù)d-2為待投遞信 息的目標(biāo)任務(wù),信息投遞的裝置10則將待投遞信息發(fā)送至內(nèi)核iv內(nèi)的任務(wù)d-2中。若被 選為目標(biāo)任務(wù)的目標(biāo)任務(wù)實例d-2出現(xiàn)異常情況,則信息投遞的裝置將待投遞信息發(fā)送至 內(nèi)核ii的任務(wù)d-Ι中。若被選為目標(biāo)任務(wù)的目標(biāo)任務(wù)實例出現(xiàn)異常情況,且除被選目標(biāo)任 務(wù)實例還有兩個或兩個以上目標(biāo)任務(wù)實例,則按照同樣原理在其他的目標(biāo)任務(wù)實例中選擇 一個作為待投遞信息的目標(biāo)任務(wù),以保證同一任務(wù)中的不同任務(wù)實例的負(fù)載均衡,同時還可避免信息投遞失敗現(xiàn)象發(fā)生。以上所述信息投遞的裝置實施例,可實現(xiàn)多核系統(tǒng)內(nèi)或多核系統(tǒng)間信息的投遞, 信息投遞可靠性高,提高了信息投遞的速度和效率、實現(xiàn)了多核系統(tǒng)中任務(wù)實例的負(fù)載均 衡,同時還可防止信息投遞的失敗。本發(fā)明中,當(dāng)多核系統(tǒng)為單獨的多核系統(tǒng),則配置在該多核系統(tǒng)的信息投遞的裝 置獨立維護(hù)一張預(yù)設(shè)全局關(guān)系表。當(dāng)多核系統(tǒng)為多個互為通訊連接多核系統(tǒng),每個多核系 統(tǒng)分別配置信息投遞的裝置,每個信息投遞的裝置可以分別維護(hù)一張預(yù)設(shè)全局關(guān)系表,也 可以選擇其中一個信息投遞的裝置維護(hù)一張預(yù)設(shè)全局關(guān)系表。若每個信息投遞的裝置分別 維護(hù)一張預(yù)設(shè)全局關(guān)系表,則需保持每個信息投遞的裝置中預(yù)設(shè)全局關(guān)系表信息同步。應(yīng)當(dāng)理解的是,以上僅為本發(fā)明的優(yōu)選實施例,不能因此限制本發(fā)明的專利范圍, 凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在 其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
一種信息投遞的方法,其特征在于,包括步驟接收源任務(wù)發(fā)送的待投遞信息和目標(biāo)任務(wù)名稱;根據(jù)目標(biāo)任務(wù)名稱在預(yù)設(shè)全局關(guān)系表中查找與目標(biāo)任務(wù)名稱對應(yīng)的內(nèi)核號;根據(jù)內(nèi)核號在多核系統(tǒng)中查找對應(yīng)的內(nèi)核,并將待投遞信息發(fā)送至所述內(nèi)核內(nèi)與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。
2.根據(jù)權(quán)利要求1所述的信息投遞的方法,其特征在于,所述預(yù)設(shè)全局關(guān)系表包含多核系統(tǒng)中的任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系。
3.根據(jù)權(quán)利要求2所述的信息投遞的方法,其特征在于,所述源任務(wù)與目標(biāo)任務(wù)包括在同一多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng)的 不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi)核內(nèi)。
4.根據(jù)權(quán)利要求1至3任一項所述的信息投遞的方法,其特征在于,所述目標(biāo)任務(wù)包括一個或多個目標(biāo)任務(wù)實例;多個目標(biāo)任務(wù)實例包括在同一多核系統(tǒng) 的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng)的不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi)核內(nèi)。
5.根據(jù)權(quán)利要求4所述的信息投遞的方法,其特征在于,當(dāng)目標(biāo)任務(wù)包括多個目標(biāo)任務(wù)實例時,則根據(jù)就近原則選擇目標(biāo)任務(wù)實例作為待投遞 信息的目標(biāo)任務(wù)。
6.一種信息投遞的裝置,其特征在于,包括接收模塊,用于接收源任務(wù)發(fā)送的待投遞信息和目標(biāo)任務(wù)名稱; 查找模塊,用于根據(jù)目標(biāo)任務(wù)名稱在預(yù)設(shè)全局關(guān)系表中查找與目標(biāo)任務(wù)名稱對應(yīng)的內(nèi) 核號;發(fā)送模塊,用于根據(jù)內(nèi)核號在多核系統(tǒng)中查找對應(yīng)的內(nèi)核,并將待投遞信息發(fā)送至所 述內(nèi)核內(nèi)與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。
7.根據(jù)權(quán)利要求6所述的信息投遞的裝置,其特征在于,所述預(yù)設(shè)全局關(guān)系表包含多核系統(tǒng)中的任務(wù)名稱與該任務(wù)所在內(nèi)核的內(nèi)核號對應(yīng)關(guān)系。
8.根據(jù)權(quán)利要7所述的信息投遞的裝置,其特征在于,所述源任務(wù)與目標(biāo)任務(wù)包括在同一多核系統(tǒng)的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng)的 不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi)核內(nèi)。
9.根據(jù)權(quán)利要求6至8任一項所述的信息投遞的裝置,其特征在于,所述目標(biāo)任務(wù)包括一個或多個目標(biāo)任務(wù)實例;多個目標(biāo)任務(wù)實例包括在同一多核系統(tǒng) 的同一內(nèi)核內(nèi)、或包括在同一多核系統(tǒng)的不同內(nèi)核內(nèi)、或包括在不同多核系統(tǒng)的內(nèi)核內(nèi)。
10.根據(jù)權(quán)利要求9所述的信息投遞的裝置,其特征在于,所述查找模塊,還用于當(dāng)目 標(biāo)任務(wù)包括多個目標(biāo)任務(wù)實例時,根據(jù)就近原則選擇目標(biāo)任務(wù)實例作為待投遞信息的目標(biāo) 任務(wù)。
全文摘要
本發(fā)明公開了一種信息投遞的方法和裝置,其裝置包括接收模塊,用于接收源任務(wù)發(fā)送的待投遞信息和目標(biāo)任務(wù)名稱;查找模塊,用于根據(jù)目標(biāo)任務(wù)名稱在預(yù)設(shè)全局關(guān)系表中查找與目標(biāo)任務(wù)名稱對應(yīng)的內(nèi)核號;發(fā)送模塊,用于根據(jù)內(nèi)核號在多核系統(tǒng)中查找對應(yīng)的內(nèi)核,并將待投遞信息發(fā)送至所述內(nèi)核內(nèi)與目標(biāo)任務(wù)名稱對應(yīng)的任務(wù)中。本發(fā)明提供的信息投遞的方法和裝置,可實現(xiàn)多核系統(tǒng)內(nèi)或多核系統(tǒng)間信息的投遞,信息投遞可靠性高。
文檔編號G06F9/50GK101976208SQ20101051828
公開日2011年2月16日 申請日期2010年10月25日 優(yōu)先權(quán)日2010年10月25日
發(fā)明者趙陽 申請人:中興通訊股份有限公司