一種基于云計(jì)算操作系統(tǒng)的組件通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,尤其涉及一種基于云計(jì)算操作系統(tǒng)的組件通信方法。
【背景技術(shù)】
[0002]云計(jì)算(Cloud Computing)是分布式計(jì)算、并行計(jì)算和網(wǎng)絡(luò)計(jì)算的發(fā)展,其基本原理是將計(jì)算任務(wù)通過(guò)網(wǎng)絡(luò)分配給多臺(tái)計(jì)算機(jī)執(zhí)行,每臺(tái)計(jì)算機(jī)稱為云計(jì)算網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn)。
[0003]云計(jì)算操作系統(tǒng),又稱云OS、云計(jì)算操作系統(tǒng)、云計(jì)算中心操作系統(tǒng),是以云計(jì)算、云存儲(chǔ)技術(shù)作為支撐的操作系統(tǒng),是云計(jì)算后臺(tái)數(shù)據(jù)中心的整體管理運(yùn)營(yíng)系統(tǒng),它是指構(gòu)架于服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)等基礎(chǔ)硬件資源和單機(jī)操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)等基礎(chǔ)軟件之上的、管理海量的基礎(chǔ)硬件、軟件資源的云平臺(tái)綜合管理系統(tǒng)。
[0004]現(xiàn)有技術(shù)中,云計(jì)算操作系統(tǒng)的組件間的通信方式多采用消息隊(duì)列的方式,在各個(gè)組件間建立消息隊(duì)列的結(jié)構(gòu)相對(duì)復(fù)雜,因此,亟需一種結(jié)構(gòu)簡(jiǎn)單,且通信效率高的云操作系統(tǒng)的組件間的通信方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種結(jié)構(gòu)簡(jiǎn)單,且通信效率高的基于云計(jì)算操作系統(tǒng)的組件通信方法,包括:
[0006]S1、建立消息環(huán),所述消息環(huán)包括多個(gè)具有通信地址的站點(diǎn)和用于站點(diǎn)之間通信的信息通道;
[0007]S2、將待通信組件注冊(cè)為消息環(huán)中的站點(diǎn),并使待通信組件繼承當(dāng)前站點(diǎn)的通信地址;
[0008]S3、根據(jù)所述通信地址,待通信組件之間在所述信息通道上進(jìn)行通信。
[0009]其中,所述站點(diǎn)既是發(fā)送在該站點(diǎn)注冊(cè)的待通信組件所產(chǎn)生的消息的源站點(diǎn),又是接收在其他站點(diǎn)注冊(cè)的待通信組件所產(chǎn)生的消息的目的站點(diǎn)。
[0010]其中,所述待通信組件為云計(jì)算操作系統(tǒng)中需要與其他組件進(jìn)行通信的組件。
[0011]其中,所述步驟S2之后還包括,為待通信的組件中的每個(gè)模塊分配令牌桶。
[0012]其中,所述步驟S3中待通信的組件之間在所述信息通道上進(jìn)行信息通信的步驟包括:
[0013]對(duì)源站點(diǎn)中的待發(fā)送的具有令牌桶的消息進(jìn)行列隊(duì),生成發(fā)送隊(duì)列;
[0014]為所述發(fā)送隊(duì)列中的消息分配相應(yīng)的憑證;
[0015]判斷所述發(fā)送隊(duì)列中憑證的數(shù)量是否大于消息的數(shù)量;
[0016]如果是,則根據(jù)所述通信地址,將配有憑證的消息發(fā)送到目的站點(diǎn)。
[0017]其中,在所述將配有憑證的消息發(fā)送到目的站點(diǎn)的步驟之后還包括目的站點(diǎn)將與接收的消息具有相同數(shù)量的憑證返回給源站點(diǎn)的步驟。
[0018]其中,如果所述發(fā)送隊(duì)列中憑證的數(shù)量小于消息的數(shù)量,則在目的站點(diǎn)將與接收的消息具有相同數(shù)量的憑證返回給源站點(diǎn)之后,再次判斷所述發(fā)送隊(duì)列中憑證的數(shù)量是否大于消息的數(shù)量。
[0019]其中,在所述將配有憑證的消息發(fā)送到目的站點(diǎn)的步驟之后還包括:目的站點(diǎn)接收源站點(diǎn)所發(fā)送的消息,并對(duì)該消息進(jìn)行列隊(duì),生成接收隊(duì)列的步驟。
[0020]其中,所述多個(gè)具有通信地址的站點(diǎn)運(yùn)行于同一臺(tái)或多臺(tái)物理節(jié)點(diǎn)。
[0021]其中,當(dāng)多個(gè)站點(diǎn)運(yùn)行在同一臺(tái)物理節(jié)點(diǎn)時(shí),所述通信通道共享內(nèi)存;當(dāng)多個(gè)站點(diǎn)運(yùn)行在多個(gè)物理節(jié)點(diǎn)時(shí),所述通信通道為以太網(wǎng)通信網(wǎng)絡(luò)。
[0022]本發(fā)明通過(guò)消息環(huán)的方式實(shí)現(xiàn)了云計(jì)算操作系統(tǒng)中待通信組件之間的通信,結(jié)構(gòu)簡(jiǎn)單,具有較高的通信效率,另外,防止消息通道中的防止擁塞機(jī)制更加提高了通信的速率。
【附圖說(shuō)明】
[0023]圖1是根據(jù)本發(fā)明基于云計(jì)算操作系統(tǒng)的組件通信方法的流程圖;
[0024]圖2示意性地示出消息環(huán)中包括的各個(gè)站點(diǎn)和消息通道;
[0025]圖3是根據(jù)本發(fā)明云計(jì)算操作系統(tǒng)中消息通道的防止擁塞的步驟流程圖。
【具體實(shí)施方式】
[0026]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合【具體實(shí)施方式】并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說(shuō)明中,省略了對(duì)公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0027]圖1是根據(jù)本發(fā)明第一實(shí)施方式的基于云計(jì)算操作系統(tǒng)的組件通信方法的流程圖。
[0028]如圖1所示,一種基于云計(jì)算操作系統(tǒng)的組件通信方法,包括以下步驟:
[0029]S1、建立消息環(huán),消息環(huán)包括多個(gè)具有通信地址的站點(diǎn)和用于站點(diǎn)之間通信的信息通道。
[0030]圖2示意性地示出消息環(huán)中包括的各個(gè)站點(diǎn)和消息通道。
[0031]如圖2所示,消息環(huán),英文名稱為Message Ring(MR),是一種消息循環(huán)機(jī)制,在本發(fā)明中的云計(jì)算操作系統(tǒng)的組件通信方法中,提出了消息環(huán)的概念,使得待通信組件通過(guò)消息環(huán)進(jìn)行信息通信。消息環(huán)包括多個(gè)站點(diǎn),每個(gè)站點(diǎn)既是發(fā)送在該站點(diǎn)注冊(cè)的待通信組件所產(chǎn)生的消息的源站點(diǎn),又是接收在其他站點(diǎn)注冊(cè)的待通信組件所產(chǎn)生的消息的目的站點(diǎn)。
[0032]站點(diǎn)是組件向消息環(huán)注冊(cè)的組件標(biāo)識(shí),是通信雙方的地址。
[0033]S2、將待通信組件注冊(cè)為消息環(huán)中的站點(diǎn),并使待通信組件繼承當(dāng)前站點(diǎn)的通信地址。
[0034]云計(jì)算操作系統(tǒng)包括多個(gè)組件,每個(gè)組件包括多個(gè)模塊。在云操作系統(tǒng)的運(yùn)行過(guò)程中,各個(gè)組件之間以及各個(gè)模塊所產(chǎn)生的各個(gè)進(jìn)程之間需要進(jìn)行信息交互,待通信組件即為云計(jì)算操作系統(tǒng)中需要與其他組件進(jìn)行通信的組件。待通信的組件或服務(wù)進(jìn)程向消息環(huán)MR注冊(cè)成為一個(gè)站點(diǎn)(Stat1n),由該站點(diǎn)負(fù)責(zé)對(duì)待通信的組件所產(chǎn)生的消息進(jìn)行轉(zhuǎn)發(fā)和接收。
[0035]S3、待通信組件之間根據(jù)通信地址在信息通道上進(jìn)行通信。
[0036]每個(gè)站點(diǎn)具有唯一的通信地址,待通信的組件在注冊(cè)時(shí)繼承該站點(diǎn)的通信地址。當(dāng)源站點(diǎn)需要發(fā)送消息時(shí),根據(jù)通信地址將消息發(fā)送至目的站點(diǎn)。
[0037]在本發(fā)明的一個(gè)實(shí)施例中,在步驟S2之后還包括為待通信的組件中的每個(gè)模塊分配令牌桶的步驟。
[0038]消息環(huán)通道的帶寬總是有限,為了實(shí)現(xiàn)防止消息通道中的消息的擁塞,消息環(huán)通道帶寬會(huì)在系統(tǒng)初始化階段按照預(yù)先設(shè)定好的策略分配給各個(gè)站點(diǎn),各個(gè)站點(diǎn)自動(dòng)管理分配給自己