亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信的方法及裝置的制作方法

文檔序號(hào):6570884閱讀:184來(lái)源:國(guó)知局
專利名稱:在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,更具體地,涉及一種在對(duì)稱處理系統(tǒng)下 實(shí)現(xiàn)多實(shí)例線程通信的方法及裝置。
背景技術(shù)
在通信領(lǐng)域中,隨著對(duì)稱多處理(Symmetrical Multi-Processing, 以下簡(jiǎn)稱為SMP)、多核、超線程等概念、技術(shù)、產(chǎn)品的出現(xiàn),通 信系統(tǒng)的處理能力有了極大的提升空間。目前已經(jīng)有了 一些操作系 統(tǒng)支持SMP體系架構(gòu),可以實(shí)現(xiàn)多CPU協(xié)同工作,使得CPU處理 密集型的系統(tǒng)能力得到擴(kuò)展。但傳統(tǒng)的業(yè)務(wù)支撐軟件、應(yīng)用開(kāi)發(fā)模 式并不能充分發(fā)揮SMP體系架構(gòu)的優(yōu)勢(shì),必須要做相應(yīng)的調(diào)整。一種很重要的調(diào)整方式就是盡可能將系統(tǒng)中耗用CPU比重突 出的業(yè)務(wù)流程多實(shí)例化。否則,這種業(yè)務(wù)流程在任一時(shí)刻只能在一 個(gè)核上運(yùn)行,而其他核則空閑,影響多核的整體使用效率。如果將 這種業(yè)務(wù)流程多實(shí)例化,則可由操作系統(tǒng)調(diào)度,并行在多個(gè)核上運(yùn) 行,提高多核利用率,提升整體業(yè)務(wù)處理效率。當(dāng)存在多實(shí)例化線程時(shí),就會(huì)對(duì)整個(gè)系統(tǒng)的編程才莫式產(chǎn)生以下 影響多實(shí)例并行運(yùn)行的互斥保護(hù);多實(shí)例代碼的可重入;多實(shí)例 線程的通信方式。上述前兩個(gè)問(wèn)題屬于基于優(yōu)先級(jí)搶占調(diào)度機(jī)制、多核體系結(jié)構(gòu) 的共性問(wèn)題,業(yè)務(wù)代碼必然要考慮,此處不再詳述。對(duì)于多實(shí)例線程的通信方式,涉及到以下問(wèn)題其他線程向多 實(shí)例線程發(fā)消息;多實(shí)例線程向其他線程發(fā)消息;多實(shí)例線程間的 通信。因?yàn)槎鄬?shí)例線程之間是完全并行的,相互聯(lián)系主要集中于對(duì)于 共享數(shù)據(jù)的操作,所以通過(guò)互斥保護(hù)機(jī)制就可以了。這類線程間幾 乎沒(méi)有通信需求,即使有,也應(yīng)該是廣播通知方式,而不是點(diǎn)對(duì)點(diǎn) 的。本文中不估文詳細(xì)討i侖。在傳統(tǒng)的業(yè)務(wù)支撐環(huán)境中,往往是由一個(gè)線程實(shí)現(xiàn)某種業(yè)務(wù), 而為了實(shí)現(xiàn)線程之間的通信,每個(gè)線程都擁有其在系統(tǒng)中唯一的 ID,我們可稱之為線程標(biāo)識(shí)符(Thread Identification,以下簡(jiǎn)稱為 TID或線程ID)。當(dāng)一個(gè)線程要與其他業(yè)務(wù)線程通信時(shí),只需向標(biāo) 識(shí)該業(yè)務(wù)線程的TID發(fā)送消息即可。^旦在SMP體系架構(gòu)下,多實(shí)例線禾呈4吏;得同一種業(yè)務(wù)可以由i午 多線程來(lái)實(shí)現(xiàn),這些線程是執(zhí)行同樣的代碼指令、完成同樣的功能, 對(duì)外接口完全一樣,表現(xiàn)形式是完全對(duì)稱的。這時(shí),如果要實(shí)現(xiàn)其 寸也業(yè)務(wù)線考呈與該業(yè)務(wù)線禾呈群的通信,就出i見(jiàn)問(wèn)題,如《可標(biāo)識(shí)這些多 實(shí)例線程呢?其他業(yè)務(wù)線程怎么記住系統(tǒng)中有哪些此類線程,有多 少,該如4可選擇下一個(gè)業(yè)務(wù)處理者?發(fā)明內(nèi)容為了解決上述問(wèn)題,本發(fā)明提供了一種通信方法及裝置,用于 在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信,通過(guò)引入多實(shí)例線程族 概念,釆用多實(shí)例線程族主線程或者代理函數(shù)的方式來(lái)隔離多實(shí)例 化具體實(shí)現(xiàn),從而,保持了業(yè)務(wù)線程多實(shí)例化后對(duì)外呈現(xiàn)的簡(jiǎn)單性、統(tǒng)一性,4吏得只需對(duì)業(yè)務(wù)支撐部分估文少量簡(jiǎn)單改動(dòng),就可以實(shí)現(xiàn)上層業(yè)務(wù)、應(yīng)用在SMP體系架構(gòu)上的開(kāi)發(fā)部署,因此,可以充分發(fā) 捍多核并行處理的優(yōu)勢(shì),進(jìn)而提升業(yè)務(wù)處理系統(tǒng)的整體能力。為了實(shí)現(xiàn)上述目的,本發(fā)明的一個(gè)方面提供了一種通信方法, 用于在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信,其包括以下步驟 步驟S302,在第一業(yè)務(wù)線程發(fā)送消息給第二業(yè)務(wù)線程族以進(jìn)行處理 時(shí),將消息發(fā)送給第二業(yè)務(wù)線程族的代理;步驟S304,代理根據(jù)預(yù) 定算法將消息分配給第二業(yè)務(wù)線程族中的一個(gè)子線程;以及步驟 S306,代理設(shè)置消息中的目的線程ID,并將消息發(fā)送給子線程。才艮據(jù)本發(fā)明的一個(gè)方面,該通信方法還包括以下步驟步驟 S308,當(dāng)?shù)诙I(yè)務(wù)線程族中的一個(gè)子線程向第一業(yè)務(wù)線程發(fā)送消息 時(shí),設(shè)置子線程的消息發(fā)送函數(shù)中的源線程ID和目的線程ID;以 及步驟S310,調(diào)用代理,代理重新設(shè)置源線程ID,然后發(fā)送消息。此外,才艮據(jù)本發(fā)明的一個(gè)方面,在步驟S306中,設(shè)置消息中 的目的線程ID的步驟具體為將消息中的目的線程ID替換成子線 程的線程ID。并且,在步驟S308中,-沒(méi)置子線程的消息發(fā)送函凄t 中的源線程ID和目的線程ID的步驟具體為將子線程的消息發(fā)送 函數(shù)中的源線程ID設(shè)置為子線程本身的線程ID,并將目的線程ID i殳置為第一業(yè)務(wù)線程的線程ID。另外,在步驟S310中,重新設(shè)置 源線程ID的步驟具體為將子線程本身的線程ID設(shè)置為代理的線 程ID。根據(jù)本發(fā)明的實(shí)施例,預(yù)定算法為負(fù)荷均衡算法,此外,代理 包才舌以下一種主線禾呈或^C理函凄t。本發(fā)明的另 一方面還提供了 一種通信裝置,用于在對(duì)稱多處理 體系下實(shí)現(xiàn)多實(shí)例線程通信,其包括發(fā)送單元,用于在第一業(yè)務(wù)線程發(fā)送消息給第二業(yè)務(wù)線程族以進(jìn)4于處理時(shí),將消息發(fā)送給第二業(yè)務(wù)線程族的代理;分配單元,用于根據(jù)預(yù)定算法將消息分配給第 二業(yè)務(wù)線程族中的一個(gè)子線程;以及第一設(shè)置發(fā)送單元,用于設(shè)置 消息中的目的線程ID,并將消息發(fā)送給子線程。根據(jù)本發(fā)明的另一方面,該通信裝置還包括第二設(shè)置發(fā)送單 元,用于當(dāng)?shù)诙I(yè)務(wù)線程族中的一個(gè)子線程向第一業(yè)務(wù)線程發(fā)送消 息時(shí),設(shè)置子線程的消息發(fā)送函數(shù)中的源線程ID和目的線程ID; 以及調(diào)用i殳置單元,用于調(diào)用代j理,重新i殳置源線禾呈ID,然后發(fā)送 消息。另夕卜,根據(jù)本發(fā)明的另一方面,第一設(shè)置發(fā)送單元用于將消息 中的目的線程ID替換成子線程的線程ID,以及第二i殳置發(fā)送單元 還用于將子線程的消息發(fā)送函數(shù)中的源線程ID設(shè)置為子線程本身 的線程ID,并將目的線程ID i殳置為第一業(yè)務(wù)線程的線程ID。此外, 調(diào)用設(shè)置單元還用于將子線程本身的線程ID設(shè)置為代理的線程 ID。如上所述,本發(fā)明實(shí)現(xiàn)了以下4支術(shù)效果由主線程或者代理函 數(shù)完成負(fù)載均衡處理、多實(shí)例線程的分配,并對(duì)消息發(fā)送參數(shù)中有 關(guān)多實(shí)例線程族的TID進(jìn)行替換,4呆持了業(yè)務(wù)線程多實(shí)例化后對(duì)外 呈現(xiàn)的簡(jiǎn)單性、統(tǒng)一性,并且,充分發(fā)揮了多核并行處理的優(yōu)勢(shì), 提升了業(yè)務(wù)處理系統(tǒng)的整體能力。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部 分地從i兌明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā) 明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附 圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。附圖it明附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部 分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的 限制。在附圖中

圖1是業(yè)務(wù)線程族C作為一個(gè)整體呈現(xiàn)給系統(tǒng)內(nèi)其他線程(其 多實(shí)例化對(duì)于其他線程基本透明)的視圖;圖2是根據(jù)本發(fā)明的實(shí)施例采用多實(shí)例線程族主線程或者多實(shí) 例線程族代理函數(shù)后的通信處理的纟見(jiàn)圖;圖3是4艮據(jù)本發(fā)明的在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信 的流禾呈圖;以及圖4是根據(jù)本發(fā)明的在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信 的裝置的沖醫(yī)圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此 處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本 發(fā)明。在本發(fā)明的下述實(shí)施例中,多實(shí)例線程族主線程或者代理函教: 都可以作為^理,實(shí)現(xiàn)隔離作用,為4又述方^_,本文后續(xù)主要以代 理來(lái)統(tǒng)稱這兩種方法。圖1是業(yè)務(wù)線程族C作為一個(gè)整體呈現(xiàn)給系統(tǒng)內(nèi)其他線程(其 多實(shí)例化對(duì)于其他線程基本透明)的視圖。如圖1所示,在傳統(tǒng)單核業(yè)務(wù)體系中,業(yè)務(wù)線禾呈C 3艮其〗也線禾呈一樣,也是由一個(gè)線程實(shí)體構(gòu)成的。因此,其他線程在與c線程通信時(shí),可以很明確地用C線程的TID來(lái)通信。但當(dāng)移植到多核體系 中,業(yè)務(wù)線程C多實(shí)例化為Cl、 C2…Cn多個(gè)線程,并且,每個(gè) Cn線程都有其獨(dú)立的TID,我們對(duì)巴C1、 C2…Cn。這些由同一段代 碼創(chuàng)建出來(lái)的完成同樣功能的線程群稱為多實(shí)例線程族C 。由于業(yè)務(wù)流程的多實(shí)例凄t量有可能^^多核體系結(jié)構(gòu)有關(guān)(比如 在雙核中多實(shí)例數(shù)可能為2,四核中多實(shí)例數(shù)可能為4),也就是說(shuō), n的lt量是不確定的。因此,多實(shí)例線程的TID也是不確定的,可 能隨多核體系結(jié)構(gòu)的變化而變化。4安照傳統(tǒng)方式,由其他業(yè)務(wù)線程 來(lái)記^主眾多多實(shí)例線考呈的TID,并且選定由其中的某一個(gè)多實(shí)例線 程來(lái)處理本次業(yè)務(wù),這是不現(xiàn)實(shí)的。對(duì)于上層業(yè)務(wù)線禾呈A、 B,以及驅(qū)動(dòng)線禾呈H來(lái)i兌,它們只關(guān)心 其業(yè)務(wù)上下游關(guān)系,即它的前序處理者、后序處理者,而不必關(guān)心 具體由明卩個(gè)多實(shí)例線禾呈Cn來(lái)處理。因此,多實(shí)例線考呈;疾C可以對(duì) 外以一個(gè)實(shí)體存在業(yè)務(wù)線程族C。 A、 B、 H不必面對(duì)眾多、不確 定的線,呈C1、 C2…Cn。上述實(shí)現(xiàn)方式具有以下優(yōu)點(diǎn)線程多實(shí)例對(duì)于其他線程基本透 明,并且,單核、多核兼容性、移植性好。但是,對(duì)于系統(tǒng)監(jiān)控進(jìn)程I來(lái)說(shuō),它需要掌握所有線程的運(yùn)行 情況,比如可能通過(guò)心跳方式進(jìn)行監(jiān)測(cè),需要與系統(tǒng)內(nèi)所有線程進(jìn) 行點(diǎn)對(duì)點(diǎn)通信,那么還是有必要為每個(gè)多實(shí)例線程分配獨(dú)立的TID。因此,在本發(fā)明的實(shí)施例中,基本思想就是對(duì)于多實(shí)例線程 》矣C,可以用一個(gè)主線禾呈來(lái)管理,也可以簡(jiǎn)單i也通過(guò)多實(shí)例線程族 代理函數(shù)實(shí)現(xiàn)。系統(tǒng)內(nèi)其他線程只需將消息發(fā)送給該主線程TID或者代^理函凄t所擁有的虛擬TID,然后由主線禾呈TID或者4戈理函凄t去 進(jìn)行負(fù)載均衡,分配到某個(gè)多實(shí)例線程,并且用該多實(shí)例線程的TID 來(lái)替換掉通信函數(shù)中所用到的主線程TID,再發(fā)送出去。反之,當(dāng) 某個(gè)多實(shí)例線程需要向其他線程發(fā)送消息時(shí),則先發(fā)給所屬多實(shí)例 線程族的主線程或者代理函數(shù)虛擬TID,它們將會(huì)把通信函數(shù)中的 源TID由多實(shí)例線禾呈的TID替4灸為主線禾呈TID。以下將結(jié)合圖2詳細(xì)描述如圖3所示的通信方法,圖2是根據(jù)本發(fā)明的實(shí)施例采用多實(shí)例線程族主線程或者多實(shí)例線程族代理 函數(shù)后的通信處理的視圖,圖3是根據(jù)本發(fā)明的在對(duì)稱多處理體系 下實(shí)現(xiàn)多實(shí)例線程通信的流程圖。在本實(shí)施例中,^!尋涉及主線禾呈方式和代i理函凄t方式,在此,傾 向于使用代理函數(shù)方式,原因如下使用主線程,對(duì)外屏蔽了其子 線程的多實(shí)例化,流程清晰,但增加了線程數(shù)量以及調(diào)度切換開(kāi)銷, 并且主線程成為多個(gè)線程的分發(fā)處理中心,可能會(huì)成為新的瓶頸; 而使用代理函數(shù),其多實(shí)例線程號(hào)TID的翻譯、選擇在通信函數(shù)處 理過(guò)程中完成,流程稍微費(fèi)解,但避免了上述主線程方式的缺點(diǎn)。如圖3所示,在對(duì)稱多處理體系下實(shí)i見(jiàn)多實(shí)例線考呈通信的方法 包4舌以下步架《步驟S302,在第一業(yè)務(wù)線程發(fā)送消息給第二業(yè)務(wù)線程族以進(jìn)行 處理時(shí),將消息發(fā)送給第二業(yè)務(wù)線程族的代理;步驟S304,代理根據(jù)預(yù)定算法將消息分配給第二業(yè)務(wù)線程族中 的一個(gè)子線程;步驟S306,代理設(shè)置消息中的目的線程ID,并將消息發(fā)送給 子線程,參照?qǐng)D2,設(shè)置消息中的目的線程ID的步驟具體是指將 消息中的目的線程ID替換成子線程的線程ID。以上步驟S302、步驟S304、以及步驟S306實(shí)現(xiàn)了業(yè)務(wù)線程向 線程族發(fā)送消息的整個(gè)過(guò)程,繼續(xù)參照?qǐng)D2,線程族向業(yè)務(wù)線程發(fā) 送消息的步驟如下步驟S308,當(dāng)?shù)诙I(yè)務(wù)線程族中的一個(gè)子線程向第一業(yè)務(wù)線程 發(fā)送消息時(shí),設(shè)置子線程的消息發(fā)送函數(shù)中的源線程ID和目的線 程ID,參照?qǐng)D2,設(shè)置子線程的消息發(fā)送函數(shù)中的源線程ID和目 的線程ID的步驟具體為將子線程的消息發(fā)送函數(shù)中的源線程ID 設(shè)置為子線程本身的線程ID,并將目的線程ID設(shè)置為第一業(yè)務(wù)線 程的線程ID;步驟S310,調(diào)用代理,代理重新i殳置源線程ID,然后發(fā)送消 息,如圖2所示,重新設(shè)置源線程ID的步驟具體為將子線程本 身的線程ID設(shè)置為代理的線程ID。至此,實(shí)現(xiàn)了線程族向業(yè)務(wù)線程發(fā)送消息的整個(gè)過(guò)程。在本實(shí)施例中,需要指出的是,預(yù)定算法為負(fù)荷均衡算法。此外,需要指出的是,代理函數(shù)也擁有一個(gè)TID,但無(wú)需創(chuàng)造 實(shí)際線程,該TID就是現(xiàn)有傳統(tǒng)系統(tǒng)軟件中該業(yè)務(wù)線程的TID,這 樣整個(gè)系統(tǒng)軟件其他線程無(wú)需更改訪問(wèn)它的TID,同時(shí),為所有的 線程TID分配多實(shí)例處理函數(shù)指針數(shù)組,初始化為空。為多實(shí)例線 程族代理函數(shù)TID、多實(shí)例線程TID注冊(cè)掛接具體的函數(shù)實(shí)現(xiàn)。其 實(shí)現(xiàn)的功能就是根據(jù)接收的消息類型,分發(fā)到具體的某個(gè)多實(shí)例線 程,并才艮據(jù)情況進(jìn)行目標(biāo)TID、源TID的轉(zhuǎn)換。并且,在通信函凄t(如,postMsg、 ASEND)中增加對(duì)線程代 理函數(shù)指針數(shù)組的處理,如果不為空,則執(zhí)行掛接的多實(shí)例線程族 代理函數(shù)。圖4沖艮據(jù)本發(fā)明的在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信的 裝置400的框圖。如圖4所示,在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信的裝置 400包括發(fā)送單元402,用于在第一業(yè)務(wù)線程發(fā)送消息給第二業(yè) 務(wù)線程族以進(jìn)行處理時(shí),將消息發(fā)送給第二業(yè)務(wù)線程族的代理;分 配單元404,用于根據(jù)預(yù)定算法將消息分配給第二業(yè)務(wù)線程族中的 一個(gè)子線程;以及第一設(shè)置發(fā)送單元406,用于設(shè)置消息中的目的 線程ID,并將消息發(fā)送給子線程,其中,第一設(shè)置發(fā)送單元406 還用于將消息中的目的線程ID替換成子線程的線程ID。此外,為實(shí)現(xiàn)線程族向業(yè)務(wù)線程發(fā)送消息的通信,該通信裝置 400還包括第二設(shè)置發(fā)送單元408,用于當(dāng)?shù)诙I(yè)務(wù)線程族中的 一個(gè)子線程向第一業(yè)務(wù)線程發(fā)送消息時(shí),設(shè)置子線程的消息發(fā)送函 凄t中的源線程ID和目的線程ID,其中,第二i殳置發(fā)送單元408還 用于將子線程的消息發(fā)送函數(shù)中的源線程ID設(shè)置為子線程本身的 線程ID,并將目的線程ID設(shè)置為第一業(yè)務(wù)線程的線程ID;以及調(diào) 用設(shè)置單元410,用于調(diào)用代理,重新設(shè)置源線程ID,然后發(fā)送消 息,其中,調(diào)用設(shè)置單元410還用于將子線程本身的線程ID設(shè)置 為f^理的線禾呈ID。在本實(shí)施例中,預(yù)定算法為負(fù)荷均衡算法,此外,代理包括以 下一種主線禾呈和^理函凄t。本發(fā)明注重的是多實(shí)例線程通信實(shí)現(xiàn)的系統(tǒng)方法,而不是具體 的軟件編程實(shí)現(xiàn)方法,無(wú)需4安照嚴(yán)格的順序,上述實(shí)施例也并不是 唯一、最佳的軟件編程實(shí)現(xiàn)方法。以下4是供另一實(shí)施例,步驟包括(1 )修改TID數(shù)據(jù)結(jié)構(gòu),增加屬性,以判斷是否為多實(shí)例線 程族代理函數(shù);(2 )創(chuàng)建線程多實(shí)例處理函數(shù)指針數(shù)組;(3 )實(shí)現(xiàn)多實(shí)例線程族代理函數(shù)(參照?qǐng)D2,就是多實(shí)例線程 族C的代理函數(shù)),功能包括實(shí)現(xiàn)負(fù)栽均衡算法,在Cl...Cn之間 進(jìn)行負(fù)栽均衡,將通信函數(shù)中的目標(biāo)TID由代理函數(shù)的TID替換為 選定后的多實(shí)例線程TID;(4)實(shí)現(xiàn)多實(shí)例線程的處理函數(shù),功能包括將通信函數(shù)中的 源TID由具體某個(gè)多實(shí)例線程TID替換為該多實(shí)例線程族代理函數(shù) TID,以保持多實(shí)例線程族對(duì)外的統(tǒng)一接口 、標(biāo)識(shí);(5 )修改通信函數(shù)實(shí)現(xiàn),增加對(duì)目標(biāo)TID、源TID屬性的判 斷,如果為多實(shí)例線程或者多實(shí)例線程族代理函H則去才丸行對(duì)應(yīng) 線程的多實(shí)例處理函凄t。上述方法同樣能夠在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信。從以上的描述中,可以看出,本發(fā)明實(shí)現(xiàn)了如下技術(shù)效果保 持了業(yè)務(wù)線程多實(shí)例化后對(duì)外呈現(xiàn)的簡(jiǎn)單性、統(tǒng)一性,使得只需對(duì) 業(yè)務(wù)支撐部分估文少量簡(jiǎn)單改動(dòng),就可以實(shí)現(xiàn)上層業(yè)務(wù)、應(yīng)用在SMP 體系架構(gòu)上的開(kāi)發(fā)部署,因此,可以提升業(yè)務(wù)處理系統(tǒng)的整體能力。以上所述4又為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā) 明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn) 等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1. 一種通信方法,用于在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信,其特征在于,包括以下步驟步驟S302,在第一業(yè)務(wù)線程發(fā)送消息給第二業(yè)務(wù)線程族以進(jìn)行處理時(shí),將所述消息發(fā)送給所述第二業(yè)務(wù)線程族的代理;步驟S304,所述代理根據(jù)預(yù)定算法將所述消息分配給所述第二業(yè)務(wù)線程族中的一個(gè)子線程;以及步驟S306,所述代理設(shè)置所述消息中的目的線程ID,并將所述消息發(fā)送給所述子線程。
2. 根據(jù)權(quán)利要求1所述的通信方法,其特征在于,還包括以下步 驟步驟S308,當(dāng)所述第二業(yè)務(wù)線程族中的一個(gè)子線程向所 述第 一業(yè)務(wù)線程發(fā)送消息時(shí),設(shè)置所述子線程的消息發(fā)送函數(shù) 中的源線程ID和目的線程ID;以及步驟S310,調(diào)用所述^理,所述4戈理重新i殳置所述源線 程ID,然后發(fā)送所述消息。
3. 根據(jù)權(quán)利要求1所述的通信方法,其特征在于,在所述步驟 S306中,所述i殳置所述消息中的目的線程ID的步驟具體為將所述消息中的目的線程ID替換成所述子線程的線程ID。
4. 根據(jù)權(quán)利要求2所述的通信方法,其特征在于,在所述步驟 S308中,所述i殳置所述子線程的消息發(fā)送函凄t中的源線程ID 和目的線程ID的步驟具體為將所述子線程的消息發(fā)送函數(shù)中的源線程ID設(shè)置為所述 子線程本身的線程ID,并將所述目的線程IDi殳置為所述第一 業(yè)務(wù)線程的線程ID。
5. 根據(jù)權(quán)利要求2所述的通信方法,其特征在于,在所述步驟 S310中,所述重新-沒(méi)置所述源線程ID的步驟具體為將所述子線程本身的線程ID設(shè)置為所述代理的線程ID。
6. 4艮據(jù)權(quán)利要求1所述的通信方法,其特征在于,所述預(yù)定算法 為負(fù)荷均衡算法。
7. 4艮據(jù)4又利要求1所述的通信方法,其特征在于,所述代理包括 以下一種主線禾呈或^理函^:。
8. —種通信裝置,用于在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通 信,其特征在于,包括發(fā)送單元,用于在第一業(yè)務(wù)線程發(fā)送消息給第二業(yè)務(wù)線 程族以進(jìn)行處理時(shí),將所述消息發(fā)送給所述第二業(yè)務(wù)線程族的 代理;分配單元,用于根據(jù)預(yù)定算法將所述消息分配給所述第 二業(yè)務(wù)線程族中的一個(gè)子線程;以及第一設(shè)置發(fā)送單元,用于設(shè)置所述消息中的目的線程ID, 并將所述消息發(fā)送給所述子線程。
9. 根據(jù)權(quán)利要求8所述的通信裝置,其特征在于,還包括第二設(shè)置發(fā)送單元,用于當(dāng)所述第二業(yè)務(wù)線程族中的一 個(gè)子線程向所述第一業(yè)務(wù)線程發(fā)送消息時(shí),設(shè)置所述子線程的 消息發(fā)送函數(shù)中的源線程ID和目的線程ID;以及調(diào)用i殳置單元,用于調(diào)用所述^^理,重新i殳置所述源線 程ID,然后發(fā)送所述消息。
10. 根據(jù)權(quán)利要求8所述的通信裝置,其特征在于,所述第一設(shè)置 發(fā)送單元,用于將所述消息中的目的線程ID替換成所述子線 孑呈的線禾呈ID,以及所述第二i殳置發(fā)送單元,用于將所述子線 程的消息發(fā)送函數(shù)中的源線程ID設(shè)置為所述子線程本身的線 程ID,并將所述目的線程ID設(shè)置為所述第一業(yè)務(wù)線程的線程 ID。
全文摘要
本發(fā)明提供了一種通信方法及裝置,用于在對(duì)稱多處理體系下實(shí)現(xiàn)多實(shí)例線程通信,該方法包括步驟S302,在第一業(yè)務(wù)線程發(fā)送消息給第二業(yè)務(wù)線程族以進(jìn)行處理時(shí),將消息發(fā)送給第二業(yè)務(wù)線程族的代理;步驟S304,代理根據(jù)預(yù)定算法將消息分配給第二業(yè)務(wù)線程族中的一個(gè)子線程;以及步驟S306,代理設(shè)置消息中的目的線程ID,并將消息發(fā)送給子線程。因此,通過(guò)本發(fā)明可以充分發(fā)揮多核并行處理的優(yōu)勢(shì),進(jìn)而提升了業(yè)務(wù)處理系統(tǒng)的整體能力。
文檔編號(hào)G06F9/46GK101216780SQ20071000050
公開(kāi)日2008年7月9日 申請(qǐng)日期2007年1月5日 優(yōu)先權(quán)日2007年1月5日
發(fā)明者朱佐亮, 翌 李, 鐘衛(wèi)東 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1