一種消息傳輸?shù)姆椒ê脱b置制造方法
【專利摘要】本發(fā)明提供一種消息傳輸?shù)姆椒ê脱b置,涉及通信領(lǐng)域,能夠提高消息在傳輸過程中的通信效率。所述方法包括:確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息,所述消息的地址頭中包括源站點(diǎn)信息和目的站點(diǎn)信息;若所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息,并進(jìn)行傳輸;若所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息,并進(jìn)行傳輸。本發(fā)明用于分布式系統(tǒng)中的路由。
【專利說明】—種消息傳輸?shù)姆椒ê脱b置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別涉及一種消息傳輸?shù)姆椒ê脱b置。
【背景技術(shù)】
[0002]隨著存儲(chǔ)領(lǐng)域技術(shù)的不斷發(fā)展,由多個(gè)數(shù)據(jù)中心(站點(diǎn),通常一個(gè)數(shù)據(jù)中心/站點(diǎn)就是一個(gè)集群)組成的多活數(shù)據(jù)中心已經(jīng)越來越多地被人們應(yīng)用于容災(zāi)解決方案。多活數(shù)據(jù)中心區(qū)別于傳統(tǒng)的一個(gè)數(shù)據(jù)中心、一個(gè)災(zāi)備中心的模式在于,其是讓多個(gè)數(shù)據(jù)中心同時(shí)處于運(yùn)行中。如此,多活數(shù)據(jù)中心不僅能夠?qū)崿F(xiàn)容災(zāi)功能,而且能夠充分利用現(xiàn)有數(shù)據(jù)中心的資源。
[0003]在多活數(shù)據(jù)中心的場(chǎng)景下,常常會(huì)涉及到站點(diǎn)間和站點(diǎn)內(nèi)的通信。因而,需要一種能夠應(yīng)用于站點(diǎn)間和站點(diǎn)內(nèi)的通用路由機(jī)制。一種可能的相關(guān)技術(shù)是在通信過程中,不管通信消息為站點(diǎn)內(nèi)的消息還是站點(diǎn)間的消息,都在該通信消息中攜帶源站點(diǎn)信息和目的站點(diǎn)信息,借此實(shí)現(xiàn)通信消息在站點(diǎn)間和站點(diǎn)內(nèi)的傳輸。然而,采用這種方式會(huì)降低消息在傳輸過程中的通信效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種消息傳輸?shù)姆椒ê脱b置,以提高消息的通信效率。
[0005]第一方面,提供一種消息傳輸?shù)姆椒?,所述方法包?
[0006]確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息,所述消息的地址頭中包括源站點(diǎn)信息和目的站點(diǎn)信息;
[0007]若所述消息為站點(diǎn)內(nèi)消息,在進(jìn)行傳輸時(shí)在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息;
[0008]若所述消息為站點(diǎn)間消息,在進(jìn)行傳輸時(shí)在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0009]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述消息的地址頭中還包括源節(jié)點(diǎn)標(biāo)識(shí),所述方法還包括:
[0010]對(duì)所述消息的地址頭信息進(jìn)行重組,使得所述源站點(diǎn)信息和所述目的站點(diǎn)信息相鄰;
[0011]利用消息指針指向所述源站點(diǎn)信息或所述源節(jié)點(diǎn)標(biāo)識(shí);
[0012]通過對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶或不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0013]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述消息指針指向所述源站點(diǎn)信息,
[0014]所述若所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息包括:
[0015]若所述消息為站點(diǎn)內(nèi)消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息;
[0016]所述若所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息包括:
[0017]若所述消息為站點(diǎn)間消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0018]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述消息指針指向所述地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),
[0019]所述若所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息包括:
[0020]若所述消息為站點(diǎn)內(nèi)消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息;
[0021]所述若所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息包括:
[0022]若所述消息為站點(diǎn)間消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中攜帶源站點(diǎn)信息和目的站點(diǎn)信息。
[0023]結(jié)合第一方面至第一方面的第三種可能的實(shí)現(xiàn)方式中的任一種,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息包括:
[0024]判斷所述消息的地址頭中的源站點(diǎn)信息與目的站點(diǎn)信息是否一致;
[0025]若一致,則確定所述消息為站點(diǎn)內(nèi)消息;
[0026]若不一致,則確定所述消息為站點(diǎn)間消息。
[0027]第二方面,提供一種消息傳輸?shù)难b置,所述裝置包括:
[0028]確定單元,用于確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息,所述消息的地址頭中包括源站點(diǎn)信息和目的站點(diǎn)信息;
[0029]處理單元,用于若所述確定單元確定所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息;
[0030]所述處理單元,還用于若所述確定單元確定所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息;
[0031 ] 傳輸單元,用于傳輸所述處理單元處理后的所述消息。
[0032]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述消息的地址頭中還包括源節(jié)點(diǎn)標(biāo)識(shí),
[0033]所述處理單元,還用于對(duì)所述消息的地址頭信息進(jìn)行重組,使得所述源站點(diǎn)信息和所述目的站點(diǎn)信息相鄰;利用消息指針指向所述源站點(diǎn)信息或所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí);通過對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶或不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0034]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述消息指針指向所述源站點(diǎn)信息,
[0035]所述處理單元具體用于:
[0036]若所述消息為站點(diǎn)內(nèi)消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息;
[0037]若所述消息為站點(diǎn)間消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0038]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述消息指針指向所述地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),
[0039]所述處理單元具體用于:
[0040]若所述消息為站點(diǎn)內(nèi)消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息;
[0041]若所述消息為站點(diǎn)間消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中攜帶源站點(diǎn)信息和目的站點(diǎn)信息。
[0042]結(jié)合第二方面至第二方面的第三種可能的實(shí)現(xiàn)方式中的任一種,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述確定單元具體用于:
[0043]判斷所述消息的地址頭中的源站點(diǎn)信息與目的站點(diǎn)信息是否一致;
[0044]若一致,則確定所述消息為站點(diǎn)內(nèi)消息;
[0045]若不一致,則確定所述消息為站點(diǎn)間消息。
[0046]采用上述技術(shù)方案后,本發(fā)明實(shí)施例提供的消息傳輸?shù)姆椒ê脱b置,能夠在確認(rèn)消息為站點(diǎn)內(nèi)消息時(shí),發(fā)送不攜帶源站點(diǎn)信息和目的站點(diǎn)信息的所述站點(diǎn)內(nèi)消息,而在確認(rèn)消息為站點(diǎn)間消息時(shí)發(fā)送攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息的站點(diǎn)間消息,如此適應(yīng)性地對(duì)消息的地址頭進(jìn)行調(diào)整,能夠減少站點(diǎn)內(nèi)消息所消耗的帶寬,提高消息的通信效率。
【專利附圖】
【附圖說明】
[0047]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0048]圖1是本發(fā)明實(shí)施例提供的消息傳輸?shù)姆椒ǖ牧鞒虉D;
[0049]圖2是在經(jīng)過重新組織后本發(fā)明實(shí)施例中的消息地址頭的示意圖。;
[0050]圖3A是本發(fā)明實(shí)施例提供的應(yīng)用程序(APP)通信交互實(shí)例的示意圖。;
[0051]圖3B是本發(fā)明實(shí)施例中消息指針指向源站點(diǎn)信息時(shí)的示意圖;
[0052]圖3C是本發(fā)明實(shí)施例中消息指針指向源節(jié)點(diǎn)標(biāo)識(shí)時(shí)的示意圖;
[0053]圖4是本發(fā)明實(shí)施例提供的消息傳輸?shù)难b置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0054]本發(fā)明實(shí)施例可應(yīng)用于分布式系統(tǒng),其中,集群/站點(diǎn)可由多個(gè)節(jié)點(diǎn)通過有線或無線連接而組成。集群/站點(diǎn)的通信尋址方式依次為節(jié)點(diǎn)、進(jìn)程、模塊。在本發(fā)明實(shí)施例中,節(jié)點(diǎn)可以是機(jī)群/站點(diǎn)中的存儲(chǔ)設(shè)備,例如,服務(wù)器、個(gè)人計(jì)算機(jī)(PC)等。進(jìn)程是指節(jié)點(diǎn)內(nèi)的一個(gè)程序及其數(shù)據(jù)在CPU上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)。模塊則負(fù)責(zé)完成進(jìn)程的某一具體功能。
[0055]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0056]圖1是本發(fā)明實(shí)施例提供的消息傳輸?shù)姆椒ǖ牧鞒虉D。參照?qǐng)D1,本發(fā)明實(shí)施例提供一種消息傳輸?shù)姆椒?,所述方法包?
[0057]步驟11、確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息,所述消息的地址頭中包括源站點(diǎn)信息和目的站點(diǎn)信息。
[0058]本發(fā)明實(shí)施例中的站點(diǎn)內(nèi)消息指的是在站點(diǎn)內(nèi)部傳輸?shù)囊活愊?。站點(diǎn)間消息是消息會(huì)在不同站點(diǎn)之間傳輸?shù)囊活愊ⅰ?br>
[0059]步驟12、若所述消息為站點(diǎn)內(nèi)消息,在進(jìn)行傳輸時(shí)在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息。
[0060]步驟13、若所述消息為站點(diǎn)間消息,在進(jìn)行傳輸時(shí)在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0061]本發(fā)明實(shí)施例提供的消息傳輸?shù)姆椒?,能夠在確認(rèn)消息為站點(diǎn)內(nèi)消息時(shí),發(fā)送不攜帶源站點(diǎn)信息和目的站點(diǎn)信息的所述站點(diǎn)內(nèi)消息,而在確認(rèn)消息為站點(diǎn)間消息時(shí)發(fā)送攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息的站點(diǎn)間消息,如此適應(yīng)性地對(duì)消息的地址頭進(jìn)行調(diào)整,能夠減少站點(diǎn)內(nèi)消息所消耗的帶寬,提高消息的通信效率。
[0062]在本發(fā)明的一個(gè)實(shí)施例中,可選地,步驟11中所述確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息可包括:
[0063]判斷所述消息的地址頭中的源站點(diǎn)信息與目的站點(diǎn)信息是否一致;
[0064]若一致,則確定所述消息為站點(diǎn)內(nèi)消息;
[0065]若不一致,則確定所述消息為站點(diǎn)間消息。
[0066]在本發(fā)明的另一個(gè)實(shí)施例中,所述消息的地址頭中還包括源節(jié)點(diǎn)標(biāo)識(shí)(Src NodeId),可選地,本發(fā)明實(shí)施例提供的消息傳輸?shù)姆椒ǔ税ㄉ鲜霾襟E11?步驟13之外,還可包括:
[0067]對(duì)所述消息的地址頭信息進(jìn)行重組,使得所述源站點(diǎn)信息和所述目的站點(diǎn)信息相鄰;
[0068]利用消息指針指向所述源站點(diǎn)信息或所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí);
[0069]通過對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶或不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0070]圖2是在經(jīng)過重新組織后本發(fā)明實(shí)施例中的消息地址頭的示意圖。參照?qǐng)D2可知,在經(jīng)過上述重新組織后,地址頭中的源站點(diǎn)信息和目的站點(diǎn)信息相鄰,且都位于源節(jié)點(diǎn)標(biāo)識(shí)(Src Node Id)之前。源節(jié)點(diǎn)標(biāo)識(shí)(Src Node Id)、源進(jìn)程標(biāo)識(shí)(Src Process Id)、源模塊標(biāo)識(shí)(Src Module Id)以及目的節(jié)點(diǎn)標(biāo)識(shí)(Dst Node Id)、目的進(jìn)程標(biāo)識(shí)(Dst Node Id)、目的模塊標(biāo)識(shí)(Dst Node Id)共同組成了站點(diǎn)內(nèi)消息的地址頭。同時(shí),當(dāng)站點(diǎn)內(nèi)消息的地址頭結(jié)合圖2所示的源站點(diǎn)信息和目的站點(diǎn)信息之后便可共同組成站點(diǎn)間消息的地址頭。本發(fā)明實(shí)施例通過偏移消息指針,可實(shí)現(xiàn)在站點(diǎn)內(nèi)消息的地址頭和站點(diǎn)間消息的地址頭之間的動(dòng)態(tài)切換。
[0071]在實(shí)際應(yīng)用場(chǎng)景中,由于需要進(jìn)行跨站點(diǎn)通信的場(chǎng)景只占通信量的一小部分,絕大多數(shù)的通信都發(fā)生在同一站點(diǎn)內(nèi)的節(jié)點(diǎn)之間,因而,在本發(fā)明實(shí)施例中,優(yōu)選地,可以利用所述消息指針初始指向源節(jié)點(diǎn)標(biāo)識(shí),即,指向站點(diǎn)內(nèi)消息的位置。而在需要發(fā)送站點(diǎn)間消息時(shí),再將所述消息指針偏移指向源站點(diǎn)信息。
[0072]下面對(duì)所述消息指針指向所述源站點(diǎn)信息的情況和所述消息指針指向所述源節(jié)點(diǎn)標(biāo)識(shí)的情況分別進(jìn)行進(jìn)一步的說明。
[0073]其中:
[0074]當(dāng)所述消息指針指向所述源站點(diǎn)信息時(shí),所述若所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息可包括:
[0075]若所述消息為站點(diǎn)內(nèi)消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息;
[0076]此時(shí),所述若所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息可包括:
[0077]若所述消息為站點(diǎn)間消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0078]當(dāng)所述消息指針指向所述地址頭中的源節(jié)點(diǎn)標(biāo)識(shí)時(shí),所述若所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息可包括:
[0079]若所述消息為站點(diǎn)內(nèi)消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息;
[0080]此時(shí),所述若所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息包括:
[0081]若所述消息為站點(diǎn)間消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中攜帶源站點(diǎn)信息和目的站點(diǎn)信息。
[0082]雖然本發(fā)明上述實(shí)施例采用的是通過對(duì)消息的地址頭進(jìn)行重新組織,并偏移消息指針的方式來實(shí)現(xiàn)在所述消息的地址頭中攜帶或不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息,但需要說明的是,本發(fā)明并不局限與此,在本發(fā)明實(shí)施例中,還可以采用其他的方式實(shí)現(xiàn)傳輸消息時(shí)在所述消息的地址頭中攜帶或不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。舉例而言,在需要發(fā)送站點(diǎn)內(nèi)消息時(shí),可以通過內(nèi)存拷貝來實(shí)現(xiàn)將站點(diǎn)間消息轉(zhuǎn)換為站點(diǎn)內(nèi)消息,從而將站點(diǎn)間消息所包含的源站點(diǎn)信息和目的站點(diǎn)信息移除;而在需要發(fā)送站點(diǎn)間消息時(shí),再將源站點(diǎn)信息和目的站點(diǎn)信息添加進(jìn)來。
[0083]由上可知,本發(fā)明實(shí)施例提供的消息傳輸?shù)姆椒?,將消息的地址頭信息進(jìn)行重新組織,當(dāng)發(fā)送站點(diǎn)內(nèi)消息的時(shí)候?qū)⑾⒅羔樒频綄?duì)應(yīng)的站內(nèi)消息的位置進(jìn)行發(fā)送,這樣站點(diǎn)信息(包括源站點(diǎn)信息和目的站點(diǎn)信息)將不會(huì)在站內(nèi)進(jìn)行傳輸;當(dāng)發(fā)送站點(diǎn)間消息的時(shí)候,將消息指針偏移到站點(diǎn)間消息的位置進(jìn)行發(fā)送,這樣站點(diǎn)信息將會(huì)被發(fā)送到對(duì)端站點(diǎn)。
[0084]在分布式系統(tǒng)中,很多消息(如分布式鎖加解鎖、配置數(shù)據(jù)記錄修改、心跳消息等)都是幾個(gè)?幾百字節(jié),而站點(diǎn)信息的字節(jié)數(shù)(如32字節(jié))對(duì)消息的傳輸效率有較大的影響。因此,本發(fā)明實(shí)施例可以有效減小由于引入站點(diǎn)信息而造成的效率降低。
[0085]為更好地理解本發(fā)明,下面結(jié)合圖3A對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)闡述。
[0086]圖3A是本發(fā)明實(shí)施例提供的應(yīng)用程序(APP)通信交互實(shí)例的示意圖。參照?qǐng)D3A,以消息的單向通信為例,本發(fā)明實(shí)施例提供的消息傳輸?shù)姆椒砂?
[0087]步驟31、第一節(jié)點(diǎn)中的應(yīng)用程序(APP)調(diào)用路由消息接口進(jìn)行消息處理。
[0088]步驟32、第一節(jié)點(diǎn)利用消息路由框架構(gòu)建分布式路由消息,申請(qǐng)消息結(jié)構(gòu)體,并填寫消息發(fā)送的目的地址信息和源地址信息,調(diào)用消息路由模塊發(fā)送消息。
[0089]其中,源地址信息包括源節(jié)點(diǎn)標(biāo)識(shí)(Src Node Id)、源進(jìn)程標(biāo)識(shí)(Src Process Id)以及源模塊標(biāo)識(shí)(Src Module Id);目的地址信息包括目的節(jié)點(diǎn)標(biāo)識(shí)(Dst Node Id)、目的進(jìn)程標(biāo)識(shí)(Dst Node Id)以及目的模塊標(biāo)識(shí)(Dst Node Id)。
[0090]步驟33、消息路由模塊接收到該消息后,判斷源站點(diǎn)信息和目的站點(diǎn)信息是否一致。此時(shí),消息指針指向源站點(diǎn)信息(src site info)處,如圖3A所示。
[0091]步驟34、如果源站點(diǎn)信息和目的站點(diǎn)信息相同,則執(zhí)行步驟341和351 ;如果源站點(diǎn)信息和目的站點(diǎn)信息不同,則執(zhí)行步驟342和352。
[0092]步驟341、消息路由模塊將消息指針Omsg)偏移到源節(jié)點(diǎn)標(biāo)識(shí)(Src Node Id)處,此時(shí)如圖3B所示,消息指針指向源節(jié)點(diǎn)標(biāo)識(shí),并將消息指針(*msg)作為數(shù)據(jù)調(diào)用節(jié)點(diǎn)間消息接口底層發(fā)送。
[0093]步驟342、消息指針(*msg)不需要進(jìn)行偏移,消息路由模塊將消息指針(*msg)作為數(shù)據(jù)調(diào)用站點(diǎn)間消息接口底層發(fā)送。此時(shí),消息指針仍指向源站點(diǎn)信息(src site info)處,如圖3A所示。
[0094]步驟351、第二節(jié)點(diǎn)的消息路由框架模塊接收端接收(節(jié)點(diǎn)間)底層接收回調(diào)調(diào)用,構(gòu)建消息,將本地的站點(diǎn)信息填寫到源站點(diǎn)信息和目的站點(diǎn)信息,調(diào)用業(yè)務(wù)應(yīng)用程序進(jìn)行處理。
[0095]步驟352、第二節(jié)點(diǎn)的消息路由框架模塊接收端接收(站點(diǎn)間)底層接收回調(diào)調(diào)用,構(gòu)建消息,將消息的站點(diǎn)信息填寫到源站點(diǎn)信息和目的站點(diǎn)信息,調(diào)用業(yè)務(wù)應(yīng)用程序進(jìn)行處理。
[0096]步驟36、應(yīng)用程序進(jìn)行處理。
[0097]需要說明的是,本發(fā)明實(shí)施例中的所述第一節(jié)點(diǎn)、所述第二節(jié)點(diǎn)為處于同一集群/站點(diǎn)內(nèi)的節(jié)點(diǎn);所述第三節(jié)點(diǎn)為處于另一集群/站點(diǎn)內(nèi)的節(jié)點(diǎn),該另一集群/站點(diǎn)為與所述第一節(jié)點(diǎn)或第二節(jié)點(diǎn)所處集群/站點(diǎn)不同的集群/站點(diǎn)。
[0098]在本發(fā)明實(shí)施例中,集群/站點(diǎn)由多個(gè)節(jié)點(diǎn)通過有線或無線連接而組成。集群的通信尋址方式為節(jié)點(diǎn)、進(jìn)程、模塊。在本發(fā)明實(shí)施例中,節(jié)點(diǎn)可以是機(jī)群/站點(diǎn)中的存儲(chǔ)設(shè)備,例如,服務(wù)器、個(gè)人計(jì)算機(jī)(PC)等。進(jìn)程是指節(jié)點(diǎn)內(nèi)的一個(gè)程序及其數(shù)據(jù)在CPU上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)。模塊則負(fù)責(zé)完成進(jìn)程的某一具體功能。
[0099]本發(fā)明實(shí)施例步驟33中僅以消息指針指向源站點(diǎn)信息(Src site info)處為例進(jìn)行說明,當(dāng)然,該消息指針也可以指向源節(jié)點(diǎn)標(biāo)識(shí)(Src node id)。
[0100]本發(fā)明實(shí)施例提供的消息傳輸?shù)姆椒?,采用重組地址信息和偏移的方式將站點(diǎn)內(nèi)消息和站點(diǎn)間消息進(jìn)行區(qū)分,不僅可以減少站點(diǎn)內(nèi)傳遞無用的站點(diǎn)信息,提高了站點(diǎn)內(nèi)消息(特別是對(duì)于集群內(nèi)的小消息(幾個(gè)字節(jié)?幾百個(gè)字節(jié)))的通信效率,而且減少了消息內(nèi)部的內(nèi)存拷貝。另外,能夠?qū)⒄军c(diǎn)內(nèi)消息和站點(diǎn)間消息進(jìn)行有效隔離,同時(shí)將兩者對(duì)在線升級(jí)的影響進(jìn)行了隔離。
[0101]圖4是本發(fā)明實(shí)施例提供的一種消息傳輸?shù)难b置的結(jié)構(gòu)框圖。本發(fā)明實(shí)施例提中的消息傳輸?shù)难b置可以為一類存儲(chǔ)設(shè)備,例如服務(wù)器、個(gè)人電腦(PC)等。參照?qǐng)D4,所述裝置40包括確定單元41、處理單元42和傳輸單元43。
[0102]其中:
[0103]所述確定單元41,用于確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息,所述消息的地址頭中包括源站點(diǎn)信息和目的站點(diǎn)信息;
[0104]所述處理單元42,用于若所述確定單元41確定所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息;
[0105]所述處理單元42,還用于若所述確定單元41確定所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息;
[0106]所述傳輸單元43,用于傳輸所述處理單元42處理后的所述消息。
[0107]本發(fā)明實(shí)施例提供的消息傳輸?shù)难b置,能夠在確認(rèn)消息為站點(diǎn)內(nèi)消息時(shí),發(fā)送不攜帶源站點(diǎn)信息和目的站點(diǎn)信息的所述站點(diǎn)內(nèi)消息,而在確認(rèn)消息為站點(diǎn)間消息時(shí)發(fā)送攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息的站點(diǎn)間消息,如此適應(yīng)性地對(duì)消息的地址頭進(jìn)行調(diào)整,能夠減少站點(diǎn)內(nèi)消息所消耗的帶寬,提高消息的通信效率。
[0108]可選地,在本發(fā)明的一個(gè)實(shí)施例中,所述確定單元41具體用于:
[0109]判斷所述消息的地址頭中的源站點(diǎn)信息與目的站點(diǎn)信息是否一致;
[0110]若一致,則確定所述消息為站點(diǎn)內(nèi)消息;
[0111]若不一致,則確定所述消息為站點(diǎn)間消息。
[0112]可選地,在本發(fā)明的另一個(gè)實(shí)施例中,所述消息的地址頭中還包括源節(jié)點(diǎn)標(biāo)識(shí),所述處理單元42,還用于對(duì)所述消息的地址頭信息進(jìn)行重組,使得所述源站點(diǎn)信息和所述目的站點(diǎn)信息相鄰;利用消息指針指向所述源站點(diǎn)信息或所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí);通過對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶或不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0113]其中,可選地,當(dāng)所述消息指針指向所述源站點(diǎn)信息時(shí),所述處理單元42具體用于:
[0114]若所述消息為站點(diǎn)內(nèi)消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息;
[0115]若所述消息為站點(diǎn)間消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
[0116]可選地,當(dāng)所述消息指針指向所述地址頭中的源節(jié)點(diǎn)標(biāo)識(shí)時(shí),所述處理單元42具體用于:
[0117]若所述消息為站點(diǎn)內(nèi)消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息;
[0118]若所述消息為站點(diǎn)間消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中攜帶源站點(diǎn)信息和目的站點(diǎn)信息。
[0119]本發(fā)明實(shí)施例提供的消息傳輸?shù)难b置,采用重組地址信息和偏移的方式將站點(diǎn)內(nèi)消息和站點(diǎn)間消息進(jìn)行區(qū)分,不僅可以減少站點(diǎn)內(nèi)傳遞無用的站點(diǎn)信息,提高了站點(diǎn)內(nèi)消息(特別是對(duì)于集群內(nèi)的小消息(幾個(gè)字節(jié)?幾百個(gè)字節(jié)))的通信效率,而且減少了消息內(nèi)部的內(nèi)存拷貝。另外,能夠?qū)⒄军c(diǎn)內(nèi)消息和站點(diǎn)間消息進(jìn)行有效隔離,同時(shí)將兩者對(duì)在線升級(jí)的影響進(jìn)行了隔離。
[0120]需要說明的是:上述實(shí)施例提供的消息傳輸?shù)难b置僅以上述各功能單元的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元完成,即將該裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的消息傳輸?shù)难b置與消息傳輸?shù)姆椒▽?shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
[0121]需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0122]需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0123]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
[0124]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種消息傳輸?shù)姆椒?其特征在于,所述方法包括: 確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息,所述消息的地址頭中包括源站點(diǎn)信息和目的站點(diǎn)信息; 若所述消息為站點(diǎn)內(nèi)消息,在進(jìn)行傳輸時(shí)在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息; 若所述消息為站點(diǎn)間消息,在進(jìn)行傳輸時(shí)在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述消息的地址頭中還包括源節(jié)點(diǎn)標(biāo)識(shí),所述方法還包括: 對(duì)所述消息的地址頭信息進(jìn)行重組,使得所述源站點(diǎn)信息和所述目的站點(diǎn)信息相鄰; 利用消息指針指向所述源站點(diǎn)信息或所述源節(jié)點(diǎn)標(biāo)識(shí); 通過對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶或不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述消息指針指向所述源站點(diǎn)信息, 所述若所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息包括: 若所述消息為站點(diǎn)內(nèi)消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息; 所述若所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息包括: 若所述消息為站點(diǎn)間消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述消息指針指向所述地址頭中的源節(jié)點(diǎn)標(biāo)識(shí), 所述若所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息包括: 若所述消息為站點(diǎn)內(nèi)消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息; 所述若所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息包括: 若所述消息為站點(diǎn)間消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中攜帶源站點(diǎn)信息和目的站點(diǎn)信息。
5.根據(jù)權(quán)利要求1-4任一所述的方法,其特征在于,所述確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息包括: 判斷所述消息的地址頭中的源站點(diǎn)信息與目的站點(diǎn)信息是否一致; 若一致,則確定所述消息為站點(diǎn)內(nèi)消息; 若不一致,則確定所述消息為站點(diǎn)間消息。
6.一種消息傳輸?shù)难b置,其特征在于,所述裝置包括: 確定單元,用于確定消息是站點(diǎn)內(nèi)消息還是站點(diǎn)間消息,所述消息的地址頭中包括源站點(diǎn)信息和目的站點(diǎn)信息; 處理單元,用于若所述確定單元確定所述消息為站點(diǎn)內(nèi)消息,在所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息; 所述處理單元,還用于若所述確定單元確定所述消息為站點(diǎn)間消息,在所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息; 傳輸單元,用于傳輸所述處理單元處理后的所述消息。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述消息的地址頭中還包括源節(jié)點(diǎn)標(biāo)識(shí), 所述處理單元,還用于對(duì)所述消息的地址頭信息進(jìn)行重組,使得所述源站點(diǎn)信息和所述目的站點(diǎn)信息相鄰;利用消息指針指向所述源站點(diǎn)信息或所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí);通過對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶或不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述消息指針指向所述源站點(diǎn)信息, 所述處理單元具體用于: 若所述消息為站點(diǎn)內(nèi)消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中不攜帶源站點(diǎn)信息和目的站點(diǎn)信息; 若所述消息為站點(diǎn)間消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述消息指針指向所述地址頭中的源節(jié)點(diǎn)標(biāo)識(shí), 所述處理單元具體用于: 若所述消息為站點(diǎn)內(nèi)消息,不對(duì)所述消息指針進(jìn)行偏移,使得所述消息的地址頭中不攜帶所述源站點(diǎn)信息和所述目的站點(diǎn)信息; 若所述消息為站點(diǎn)間消息,將所述消息指針進(jìn)行偏移以指向所述消息的地址頭中的源節(jié)點(diǎn)標(biāo)識(shí),使得所述消息的地址頭中攜帶源站點(diǎn)信息和目的站點(diǎn)信息。
10.根據(jù)權(quán)利要求6-9任一所述的裝置,其特征在于,所述確定單元具體用于: 判斷所述消息的地址頭中的源站點(diǎn)信息與目的站點(diǎn)信息是否一致; 若一致,則確定所述消息為站點(diǎn)內(nèi)消息; 若不一致,則確定所述消息為站點(diǎn)間消息。
【文檔編號(hào)】H04L29/08GK104184727SQ201410374672
【公開日】2014年12月3日 申請(qǐng)日期:2014年7月31日 優(yōu)先權(quán)日:2014年7月31日
【發(fā)明者】胡華, 馮銳 申請(qǐng)人:華為數(shù)字技術(shù)(成都)有限公司