本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體的說(shuō)是一種多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)內(nèi)中繼節(jié)點(diǎn)選擇和資源分配方法。
背景技術(shù):
在服務(wù)器系統(tǒng)中,刀片服務(wù)器系統(tǒng)由多個(gè)計(jì)算刀片節(jié)點(diǎn)組成,多個(gè)計(jì)算節(jié)點(diǎn)會(huì)協(xié)同工作。一般根據(jù)需求,人工選取一個(gè)主節(jié)點(diǎn)。主節(jié)點(diǎn)和其他節(jié)點(diǎn)的傳輸過(guò)程中,節(jié)點(diǎn)是通過(guò)電池來(lái)供電的,而能量是受限的。某節(jié)點(diǎn)耗能過(guò)多會(huì)導(dǎo)致節(jié)點(diǎn)性能降低或死機(jī)。為了延長(zhǎng)節(jié)點(diǎn)和系統(tǒng)的生存時(shí)間,減少系統(tǒng)和節(jié)點(diǎn)能量損耗,借助可以最大化計(jì)算機(jī)系統(tǒng)生存時(shí)間的中繼節(jié)點(diǎn),進(jìn)行選擇、功率資源分配稱為一種基本要求。隨著中繼,協(xié)作和錯(cuò)峰上電的可應(yīng)用條件和技術(shù)的成熟,為計(jì)算機(jī)系統(tǒng)中中繼節(jié)點(diǎn)選擇和功率資源分配的實(shí)現(xiàn)帶來(lái)了可能。
多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)中,主節(jié)點(diǎn)、中繼節(jié)點(diǎn)和目的節(jié)點(diǎn)可以構(gòu)成一個(gè)協(xié)作認(rèn)知網(wǎng)絡(luò)。計(jì)算主節(jié)點(diǎn)和中繼節(jié)點(diǎn)往往是人為決定的,或是并不設(shè)置中繼節(jié)點(diǎn)。如果沒(méi)有設(shè)置中繼節(jié)點(diǎn),或是沒(méi)有選擇合適的中繼節(jié)點(diǎn)和主節(jié)點(diǎn),會(huì)造成某個(gè)節(jié)點(diǎn)和整個(gè)系統(tǒng)能量耗能過(guò)大,導(dǎo)致節(jié)點(diǎn)性能下降或節(jié)點(diǎn)死機(jī)。
其中,系統(tǒng)生存時(shí)間是指,當(dāng)計(jì)算機(jī)系統(tǒng)中固定數(shù)目的節(jié)點(diǎn)能量過(guò)低導(dǎo)致系統(tǒng)中斷的概率高于預(yù)設(shè)閥值,計(jì)算機(jī)系統(tǒng)會(huì)死機(jī);則在這之前,系統(tǒng)的運(yùn)行時(shí)間定義為系統(tǒng)生存時(shí)間。中繼節(jié)點(diǎn)是指,多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)中,將負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)和系統(tǒng)協(xié)作的節(jié)點(diǎn)稱為中繼節(jié)點(diǎn)。節(jié)點(diǎn)剩余能量是指,中繼節(jié)點(diǎn)完成一次協(xié)作傳輸后,具有的能量稱為節(jié)點(diǎn)剩余能量。那么,最佳中繼節(jié)點(diǎn)是指,在一次系統(tǒng)協(xié)作傳輸過(guò)程之前,有最大剩余能量的中繼節(jié)點(diǎn)稱為最佳中繼節(jié)點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)目前技術(shù)發(fā)展的需求和不足之處,提供一種基于移動(dòng)終端的機(jī)頂盒遙控器的實(shí)現(xiàn)方法。
本發(fā)明所述一種多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)內(nèi)中繼節(jié)點(diǎn)選擇和資源分配方法,解決上述技術(shù)問(wèn)題采用的技術(shù)方案如下:所述一種多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)內(nèi)中繼節(jié)點(diǎn)選擇和資源分配方法,首先根據(jù)系統(tǒng)需求,任意選取主節(jié)點(diǎn)用來(lái)發(fā)送數(shù)據(jù)到目的節(jié)點(diǎn);在傳輸數(shù)據(jù)之前,系統(tǒng)判斷是否存在轉(zhuǎn)發(fā)節(jié)點(diǎn);若不存在則系統(tǒng)直接建立主節(jié)點(diǎn)到目的節(jié)點(diǎn)的鏈路;
若存在轉(zhuǎn)發(fā)節(jié)點(diǎn),則將此轉(zhuǎn)發(fā)節(jié)點(diǎn)選為備選中繼節(jié)點(diǎn),形成備選中繼節(jié)點(diǎn)集合;系統(tǒng)根據(jù)鏈路情況和剩余節(jié)點(diǎn)能量確定轉(zhuǎn)發(fā)節(jié)點(diǎn)的優(yōu)先級(jí),在備選中繼節(jié)點(diǎn)集合中選擇最佳中繼節(jié)點(diǎn);主節(jié)點(diǎn)和目的節(jié)點(diǎn)通過(guò)最佳中繼節(jié)點(diǎn)來(lái)傳輸數(shù)據(jù);
當(dāng)系統(tǒng)存在多個(gè)目的節(jié)點(diǎn)時(shí),系統(tǒng)采用基于優(yōu)先級(jí)的功率分配方式,選擇最佳中繼節(jié)點(diǎn)完成主節(jié)點(diǎn)到目的節(jié)點(diǎn)的數(shù)據(jù)傳輸。
優(yōu)選的,判斷系統(tǒng)中是否有節(jié)點(diǎn)能夠正確接收到主節(jié)點(diǎn)發(fā)送的RTS數(shù)據(jù)包和目的節(jié)點(diǎn)的ACK數(shù)據(jù)包,并且能夠正確對(duì)主節(jié)點(diǎn)發(fā)送的數(shù)據(jù)進(jìn)行編解碼;即判斷是否存在轉(zhuǎn)發(fā)節(jié)點(diǎn)。
優(yōu)選的,選擇最佳中繼節(jié)點(diǎn):當(dāng)備選中繼節(jié)點(diǎn)集合中所有節(jié)點(diǎn)的能量比均小于閥值,系統(tǒng)根據(jù)鏈路情況和剩余節(jié)點(diǎn)能量來(lái)選擇最佳中繼節(jié)點(diǎn);否則,系統(tǒng)根據(jù)鏈路情況,忽略剩余節(jié)點(diǎn)能量來(lái)選擇最佳中繼節(jié)點(diǎn);通過(guò)備選中繼節(jié)點(diǎn)的優(yōu)先值來(lái)確定最佳中繼節(jié)點(diǎn)。
優(yōu)選的,選取具有最大優(yōu)先值的備選中繼節(jié)點(diǎn)為最佳中繼節(jié)點(diǎn),發(fā)送一個(gè)標(biāo)志數(shù)據(jù)包到主節(jié)點(diǎn);主節(jié)點(diǎn)會(huì)發(fā)送一個(gè)ACK數(shù)據(jù)包給最佳中繼節(jié)點(diǎn);之后,主節(jié)點(diǎn)通過(guò)該最佳中繼節(jié)點(diǎn)發(fā)送數(shù)據(jù)到目的節(jié)點(diǎn),并忽略掉來(lái)自其他備選中繼節(jié)點(diǎn)的標(biāo)志數(shù)據(jù)包。
優(yōu)選的,當(dāng)存在兩個(gè)或多個(gè)最佳中繼節(jié)點(diǎn),這些節(jié)點(diǎn)發(fā)送標(biāo)志數(shù)據(jù)包到達(dá)主節(jié)點(diǎn)的時(shí)間若重疊,主節(jié)點(diǎn)不發(fā)送ACK數(shù)據(jù)包給這些最佳中繼節(jié)點(diǎn),這些最佳中繼節(jié)點(diǎn)將啟動(dòng)退避機(jī)制,等待一段隨機(jī)時(shí)間后再重新競(jìng)爭(zhēng);或者,通過(guò)主節(jié)點(diǎn)在優(yōu)先級(jí)相同的最佳中繼節(jié)點(diǎn)中隨機(jī)選擇。
優(yōu)選的,當(dāng)系統(tǒng)中存在多個(gè)目的節(jié)點(diǎn)時(shí),會(huì)存在多個(gè)中繼節(jié)點(diǎn),采用基于優(yōu)先級(jí)的上電方式;當(dāng)目的節(jié)點(diǎn)的優(yōu)先級(jí)高時(shí),對(duì)應(yīng)的中繼節(jié)點(diǎn)優(yōu)先級(jí)也高,根據(jù)不同的優(yōu)先級(jí)順序按照不同時(shí)間對(duì)中繼節(jié)點(diǎn)進(jìn)行上電。
本發(fā)明所述一種多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)內(nèi)中繼節(jié)點(diǎn)選擇和資源分配方法,與現(xiàn)有技術(shù)相比具有的有益效果是:本發(fā)明中主節(jié)點(diǎn)和目的節(jié)點(diǎn)通過(guò)最佳中繼節(jié)點(diǎn)來(lái)傳輸數(shù)據(jù),選取中繼節(jié)點(diǎn)可以分擔(dān)主節(jié)點(diǎn)的耗能,減少主節(jié)點(diǎn)耗能,防止出現(xiàn)主節(jié)點(diǎn)耗能過(guò)大而死機(jī);
基于最佳中繼節(jié)點(diǎn)的選擇策略的系統(tǒng)鏈路中,當(dāng)有多個(gè)目的節(jié)點(diǎn)時(shí),主節(jié)點(diǎn)通過(guò)中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)到目的節(jié)點(diǎn),采用不同優(yōu)先級(jí)不同時(shí)間的上電方式,使得中繼節(jié)點(diǎn)的耗能減少,降低整個(gè)系統(tǒng)耗能,提高系統(tǒng)性能。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,對(duì)本發(fā)明所述一種多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)內(nèi)中繼節(jié)點(diǎn)選擇和資源分配方法進(jìn)一步詳細(xì)說(shuō)明。
鑒于多節(jié)點(diǎn)服務(wù)器系統(tǒng)中,多節(jié)點(diǎn)通信所存在的問(wèn)題,本發(fā)明提出一種多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)內(nèi)中繼節(jié)點(diǎn)選擇和資源分配方法,其方法內(nèi)容如下,首先根據(jù)系統(tǒng)需求,任一選取主節(jié)點(diǎn)用來(lái)發(fā)送數(shù)據(jù)到目的節(jié)點(diǎn);在傳輸數(shù)據(jù)之前,系統(tǒng)判斷是否存在轉(zhuǎn)發(fā)節(jié)點(diǎn);若不存在則系統(tǒng)直接建立主節(jié)點(diǎn)到目的節(jié)點(diǎn)的鏈路;
若存在轉(zhuǎn)發(fā)節(jié)點(diǎn),則將此轉(zhuǎn)發(fā)節(jié)點(diǎn)選為備選中繼節(jié)點(diǎn),形成備選中繼節(jié)點(diǎn)集合;系統(tǒng)根據(jù)鏈路情況和剩余節(jié)點(diǎn)能量確定轉(zhuǎn)發(fā)節(jié)點(diǎn)的優(yōu)先級(jí),在備選中繼節(jié)點(diǎn)集合中選擇最佳中繼節(jié)點(diǎn);主節(jié)點(diǎn)和目的節(jié)點(diǎn)通過(guò)最佳中繼節(jié)點(diǎn)來(lái)傳輸數(shù)據(jù);
當(dāng)系統(tǒng)存在多個(gè)目的節(jié)點(diǎn)時(shí),系統(tǒng)采用基于優(yōu)先級(jí)的功率分配方式,選擇最佳中繼節(jié)點(diǎn)完成主節(jié)點(diǎn)到目的節(jié)點(diǎn)的數(shù)據(jù)傳輸。
通過(guò)本發(fā)明,主節(jié)點(diǎn)和目的節(jié)點(diǎn)通過(guò)最佳中繼節(jié)點(diǎn)來(lái)傳輸數(shù)據(jù),減少主節(jié)點(diǎn)耗能,防止主節(jié)點(diǎn)死機(jī)?;谧罴阎欣^節(jié)點(diǎn)的選擇策略的系統(tǒng)鏈路中,當(dāng)存在多個(gè)目的節(jié)點(diǎn)時(shí),系統(tǒng)采用基于優(yōu)先級(jí)的功率分配方式能夠減少系統(tǒng)總耗能,提高系統(tǒng)性能。
實(shí)施例1:
本實(shí)施例所述基于多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)內(nèi)中繼節(jié)點(diǎn)選擇和資源分配方法,具體實(shí)施步驟包括:
1)首先初始化多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng),每個(gè)節(jié)點(diǎn)的初始能量設(shè)為E,且備選中繼節(jié)點(diǎn)集合設(shè)為R,此時(shí)為空集;根據(jù)系統(tǒng)需求,任意選取主節(jié)點(diǎn)S,主節(jié)點(diǎn)S將發(fā)送數(shù)據(jù)到目的節(jié)點(diǎn)D;
2)然后判斷鏈路情況,周期性檢查節(jié)點(diǎn)剩余能量;
3)判斷系統(tǒng)中是否有節(jié)點(diǎn)能夠正確接收到主節(jié)點(diǎn)發(fā)送的RTS數(shù)據(jù)包和目的節(jié)點(diǎn)的ACK數(shù)據(jù)包,并且可以正確對(duì)主節(jié)點(diǎn)發(fā)送的數(shù)據(jù)進(jìn)行編解碼;即是否存在轉(zhuǎn)發(fā)節(jié)點(diǎn);
4)若不存在,則不設(shè)中繼節(jié)點(diǎn),直接建立目的節(jié)點(diǎn)D到主節(jié)點(diǎn)S的鏈路;
5)若存在,則將該節(jié)點(diǎn)設(shè)為備選中繼節(jié)點(diǎn),多個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)組成備選中繼節(jié)點(diǎn)集合;
6)最后,在備選中繼節(jié)點(diǎn)集合中選取具有最優(yōu)優(yōu)先值的中繼節(jié)點(diǎn),即選取最佳中繼節(jié)點(diǎn);
7)最佳中繼節(jié)點(diǎn)發(fā)送ACK數(shù)據(jù)包給主節(jié)點(diǎn),實(shí)現(xiàn)主節(jié)點(diǎn)通過(guò)最佳中繼節(jié)點(diǎn)與目的節(jié)點(diǎn)傳輸數(shù)據(jù)。
其中,RTS(rady to send,簡(jiǎn)稱RTS)是指,“請(qǐng)求發(fā)送”數(shù)據(jù)包。
實(shí)施例2:
本實(shí)施例所述基于多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)內(nèi)中繼節(jié)點(diǎn)選擇和資源分配方法,在多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)中存在主節(jié)點(diǎn)、中繼節(jié)點(diǎn)和目的節(jié)點(diǎn),其中N個(gè)中繼節(jié)點(diǎn)組成備選中繼節(jié)點(diǎn)集合,記為Rc={Rn|n∈N={1,2,...N}};主節(jié)點(diǎn)和目的節(jié)點(diǎn)之間通信通過(guò)最佳中繼節(jié)點(diǎn)協(xié)助進(jìn)行。
選取最佳中繼節(jié)點(diǎn)的步驟如下:
1)當(dāng)備選中繼節(jié)點(diǎn)集合Rc中所有節(jié)點(diǎn)的能力比均小于閥值(閥值設(shè)為0.5),即En/Enmax≤0.5,系統(tǒng)根據(jù)鏈路情況和剩余節(jié)點(diǎn)能量來(lái)選擇最佳中繼節(jié)點(diǎn);若En/Enmax>0.5,系統(tǒng)根據(jù)鏈路情況,忽略剩余節(jié)點(diǎn)能量來(lái)選擇最佳中繼節(jié)點(diǎn);
2)通過(guò)備選中繼節(jié)點(diǎn)的優(yōu)先值Δ,來(lái)確定最佳中繼節(jié)點(diǎn);
其中,α為鏈路度量的權(quán)值系數(shù),1-α為節(jié)點(diǎn)剩余能量的中繼系數(shù),
H表示鏈路情況度量值,表示節(jié)點(diǎn)的剩余能量比;
中繼節(jié)點(diǎn)的剩余能量En的變化趨勢(shì)符合markov模型:
3)信道鏈路情況判斷:
主節(jié)點(diǎn)S發(fā)送“請(qǐng)求發(fā)送”(rady to send,RTS)數(shù)據(jù)包,目的節(jié)點(diǎn)D監(jiān)聽(tīng)到后,回復(fù)“ACK”數(shù)據(jù)包,所有的備選中繼節(jié)點(diǎn)Rc={Rn|n∈N={1,2,...N}}監(jiān)聽(tīng)RTS和ACK數(shù)據(jù)包,Rc根據(jù)接收到的RTS和ACK數(shù)據(jù)包對(duì)Rc到目的節(jié)點(diǎn)D的鏈路情況和Rc到主節(jié)點(diǎn)S的鏈路情況進(jìn)行鏈路判斷。
具體步驟如下:
(1)首先初始化,每個(gè)備選中繼節(jié)點(diǎn)Ri的初始能量均為En0;并設(shè)備選中繼集合R=Φ;(2)備選中繼節(jié)點(diǎn)根據(jù)監(jiān)聽(tīng)到的數(shù)據(jù)包,對(duì)其到目的節(jié)點(diǎn)D和主節(jié)點(diǎn)S的鏈路狀況進(jìn)行判斷;并周期性地測(cè)量其剩余能量值Ei;
(3)其中能夠正確接收RTS和CTS數(shù)據(jù)包的,并且可以對(duì)主節(jié)點(diǎn)發(fā)送的數(shù)據(jù)正確進(jìn)行編解碼的節(jié)點(diǎn),即轉(zhuǎn)發(fā)節(jié)點(diǎn)被選為備選中繼節(jié)點(diǎn);
(4)若不存在轉(zhuǎn)發(fā)節(jié)點(diǎn),則自動(dòng)建立從主節(jié)點(diǎn)S到目的節(jié)點(diǎn)D的鏈路;
(5)若存在轉(zhuǎn)發(fā)節(jié)點(diǎn),將該節(jié)點(diǎn)加入到備選中繼節(jié)點(diǎn)集合Rn={1,2,...N},并計(jì)算出備選中繼節(jié)點(diǎn)的的鏈路狀況度量值H;
(6)然后每個(gè)備選中繼節(jié)點(diǎn)計(jì)算各自的優(yōu)先值Δ;
(7)選取具有最大優(yōu)先值的備選中繼節(jié)點(diǎn)為最佳中繼節(jié)點(diǎn),發(fā)送一個(gè)標(biāo)志數(shù)據(jù)包到主節(jié)點(diǎn)S;主節(jié)點(diǎn)會(huì)發(fā)送一個(gè)ACK數(shù)據(jù)包給最佳中繼節(jié)點(diǎn);之后,主節(jié)點(diǎn)S將會(huì)通過(guò)該最佳中繼節(jié)點(diǎn)發(fā)送數(shù)據(jù)到目的節(jié)點(diǎn)D,并忽略掉可能來(lái)自其他備選中繼節(jié)點(diǎn)的標(biāo)志數(shù)據(jù)包。
對(duì)于存在兩個(gè)或多個(gè)最佳中繼節(jié)點(diǎn),這些節(jié)點(diǎn)發(fā)送標(biāo)志數(shù)據(jù)包到達(dá)主節(jié)點(diǎn)的時(shí)間若重疊,主節(jié)點(diǎn)不發(fā)送ACK數(shù)據(jù)包給這些最佳中繼節(jié)點(diǎn);沒(méi)有收到ACK數(shù)據(jù)包的最佳中繼節(jié)點(diǎn)將啟動(dòng)退避機(jī)制,等待一段隨機(jī)時(shí)間后再重新競(jìng)爭(zhēng)?;蛘?,通過(guò)主節(jié)點(diǎn)在優(yōu)先級(jí)相同的最佳中繼節(jié)點(diǎn)中隨機(jī)選擇。
選擇出最佳中繼節(jié)點(diǎn)確定出主節(jié)點(diǎn)到目的節(jié)點(diǎn)的鏈路后,合理分配主節(jié)點(diǎn)和中繼節(jié)點(diǎn)的功率,使得系統(tǒng)耗能最小。
當(dāng)系統(tǒng)中存在多個(gè)目的節(jié)點(diǎn)時(shí),也會(huì)存在多個(gè)中繼節(jié)點(diǎn)。此時(shí)系統(tǒng)功率為:
采用基于優(yōu)先級(jí)的上電方式, 使得中繼節(jié)點(diǎn)耗能、功率最小。當(dāng)目的節(jié)點(diǎn)的優(yōu)先級(jí)高時(shí),對(duì)應(yīng)的中繼節(jié)點(diǎn)優(yōu)先級(jí)也高,根據(jù)不同的優(yōu)先級(jí)順序按照不同時(shí)間對(duì)中繼節(jié)點(diǎn)進(jìn)行上電,保證系統(tǒng)功率最小,防止出現(xiàn)系統(tǒng)功率過(guò)大造成系統(tǒng)中節(jié)點(diǎn)死機(jī)的現(xiàn)象。
本發(fā)明中,中繼節(jié)點(diǎn)之間不需要信息交互,簡(jiǎn)單可行性高,系統(tǒng)中除了主節(jié)點(diǎn)和目的節(jié)點(diǎn),任何符合條件的節(jié)點(diǎn)都可以充當(dāng)中繼節(jié)點(diǎn),中繼節(jié)點(diǎn)需要能夠正確接收到主節(jié)點(diǎn)的RTS數(shù)據(jù)包和目的節(jié)點(diǎn)的ACK數(shù)據(jù)包,并且可以正確對(duì)主節(jié)點(diǎn)發(fā)送數(shù)據(jù)進(jìn)行編解碼。
選取中繼節(jié)點(diǎn)可以分擔(dān)主節(jié)點(diǎn)的耗能,防止出現(xiàn)主節(jié)點(diǎn)耗能過(guò)大而死機(jī)。當(dāng)有多個(gè)目的節(jié)點(diǎn)時(shí),主節(jié)點(diǎn)通過(guò)中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)到目的節(jié)點(diǎn),采用不同優(yōu)先級(jí)不同時(shí)間的上電方式,使得中繼節(jié)點(diǎn)的耗能減少,降低整個(gè)系統(tǒng)耗能。
上述具體實(shí)施方式僅是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述具體實(shí)施方式,任何符合本發(fā)明的權(quán)利要求書(shū)的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。