一種基于游標(biāo)指針的加權(quán)調(diào)度方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種基于游標(biāo)指針的加權(quán)調(diào)度方法及裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,各個(gè)計(jì)算機(jī)之間包括多條通信鏈路,每一條通信鏈路的傳輸速度和承載能力各不相同。在計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)通信時(shí),考慮到負(fù)載均衡問題,一般希望能夠讓傳輸速度快承擔(dān)能力強(qiáng)的通信鏈路多承擔(dān)一些數(shù)據(jù)流量,讓傳輸速度慢承載能力弱的通信鏈路少承擔(dān)一些數(shù)據(jù)流量,從而實(shí)現(xiàn)負(fù)載更均衡分配。
[0003]目前,一般采用如下方式實(shí)現(xiàn)負(fù)載均衡分配:每當(dāng)接收到一個(gè)當(dāng)前數(shù)據(jù)流量包時(shí),在空閑的所有通信鏈路中逐個(gè)遍歷每一個(gè)通信鏈路,將遍歷到的權(quán)重屬性值最大的通信鏈路作為當(dāng)前數(shù)據(jù)流量包的傳輸鏈路。
[0004]然而,當(dāng)通信鏈路的數(shù)量較大時(shí),現(xiàn)有技術(shù)方案中逐個(gè)遍歷每一個(gè)通信鏈路來實(shí)現(xiàn)通信鏈路的選擇時(shí),需要耗費(fèi)較長(zhǎng)的時(shí)間,從而影響數(shù)據(jù)流量包的傳輸效率。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種基于游標(biāo)指針的加權(quán)調(diào)度方法及裝置,以提高數(shù)據(jù)流量包的傳輸效率。
[0006]本發(fā)明實(shí)施例提供了一種基于游標(biāo)指針的加權(quán)調(diào)度方法,包括:
[0007]S1:根據(jù)所有通信鏈路對(duì)象建立環(huán)形鏈表,并從所述環(huán)形鏈表中選擇一個(gè)通信鏈路對(duì)象將其作為目標(biāo)通信鏈路對(duì)象;
[0008]S2:將游標(biāo)指針指向所述目標(biāo)通信鏈路對(duì)象,并利用所述目標(biāo)通信鏈路對(duì)象傳輸數(shù)據(jù)包;
[0009]S3:在所述目標(biāo)通信鏈路對(duì)象達(dá)到設(shè)定條件時(shí),以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以設(shè)定順序選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象,并利用當(dāng)前的目標(biāo)通信鏈路對(duì)象繼續(xù)執(zhí)行S2。
[0010]優(yōu)選地,
[0011]進(jìn)一步包括:預(yù)先為每一條通信鏈路對(duì)象設(shè)定權(quán)重屬性值和運(yùn)行權(quán)重屬性值;其中,針對(duì)每一條通信鏈路對(duì)象所設(shè)定的權(quán)重屬性值與運(yùn)行權(quán)重屬性值相等;
[0012]在利用所述目標(biāo)通信鏈路對(duì)象傳輸數(shù)據(jù)包之后,進(jìn)一步包括:每利用所述目標(biāo)通信鏈路對(duì)象傳輸一次數(shù)據(jù)包,則執(zhí)行一次將所述目標(biāo)通信鏈路對(duì)象的運(yùn)行權(quán)重屬性值進(jìn)行更新操作,以使更新后的運(yùn)行權(quán)重屬性值小于更新前的運(yùn)行權(quán)重屬性值,并在更新后的運(yùn)行權(quán)重屬性值滿足設(shè)定值時(shí),確定所述目標(biāo)通信鏈路對(duì)象達(dá)到設(shè)定條件。
[0013]優(yōu)選地,
[0014]所述執(zhí)行一次將所述目標(biāo)通信鏈路對(duì)象的運(yùn)行權(quán)重屬性值進(jìn)行更新操作,包括:將所目標(biāo)通信鏈路對(duì)象的運(yùn)行權(quán)重屬性值減I ;其中,所述設(shè)定值等于O。
[0015]優(yōu)選地,在所述目標(biāo)通信鏈路對(duì)象達(dá)到設(shè)定條件之后,在所述以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以設(shè)定順序選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象之前,進(jìn)一步包括:
[0016]將所述目標(biāo)通信鏈路對(duì)象的運(yùn)行權(quán)重屬性值更新為相應(yīng)地權(quán)重屬性值。
[0017]優(yōu)選地,
[0018]所述以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以設(shè)定順序選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象,包括:以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以順時(shí)針選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象;
[0019]或,
[0020]所述以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以設(shè)定順序選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象,包括:以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以逆時(shí)針選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象。
[0021]本發(fā)明實(shí)施例還提供了一種基于游標(biāo)指針的加權(quán)調(diào)度裝置,包括:
[0022]建立單元,用于根據(jù)所有通信鏈路對(duì)象建立環(huán)形鏈表,并從所述環(huán)形鏈表中選擇一個(gè)通信鏈路對(duì)象將其作為目標(biāo)通信鏈路對(duì)象;
[0023]處理單元,用于將游標(biāo)指針指向所述目標(biāo)通信鏈路對(duì)象,并利用所述目標(biāo)通信鏈路對(duì)象傳輸數(shù)據(jù)包;
[0024]選擇單元,用于在所述目標(biāo)通信鏈路對(duì)象達(dá)到設(shè)定條件時(shí),以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以設(shè)定順序選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象,并利用當(dāng)前的目標(biāo)通信鏈路對(duì)象觸發(fā)所述處理單元繼續(xù)執(zhí)行操作。
[0025]優(yōu)選地,
[0026]進(jìn)一步包括:存儲(chǔ)單元,用于預(yù)先為每一條通信鏈路對(duì)象存儲(chǔ)權(quán)重屬性值和運(yùn)行權(quán)重屬性值;其中,針對(duì)每一條通信鏈路對(duì)象所設(shè)定的權(quán)重屬性值與運(yùn)行權(quán)重屬性值相等;
[0027]進(jìn)一步包括:更新單元,用于每利用所述目標(biāo)通信鏈路對(duì)象傳輸一次數(shù)據(jù)包,則執(zhí)行一次將所述目標(biāo)通信鏈路對(duì)象的運(yùn)行權(quán)重屬性值進(jìn)行更新操作,以使更新后的運(yùn)行權(quán)重屬性值小于更新前的運(yùn)行權(quán)重屬性值,并在更新后的運(yùn)行權(quán)重屬性值滿足設(shè)定值時(shí),確定所述目標(biāo)通信鏈路對(duì)象達(dá)到設(shè)定條件。
[0028]優(yōu)選地,
[0029]所述更新單元,用于將所目標(biāo)通信鏈路對(duì)象的運(yùn)行權(quán)重屬性值減I ;其中,所述設(shè)定值等于O。
[0030]優(yōu)選地,所述更新單元,用于將所述目標(biāo)通信鏈路對(duì)象的運(yùn)行權(quán)重屬性值更新為相應(yīng)地權(quán)重屬性值。
[0031]優(yōu)選地,
[0032]所述選擇單元,用于以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以順時(shí)針選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象;或,用于以所述目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以逆時(shí)針選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象。
[0033]本發(fā)明實(shí)施例提供了一種基于游標(biāo)指針的加權(quán)調(diào)度方法及裝置,通過根據(jù)所有通信鏈路對(duì)象建立環(huán)形鏈表,以利用游標(biāo)指針?biāo)赶虻耐ㄐ沛溌穼?duì)象確定當(dāng)前正在使用的目標(biāo)通信鏈路對(duì)象,并在將目標(biāo)通信鏈路對(duì)象完成使用,在選擇通信鏈路對(duì)象時(shí)不需要計(jì)算查找,直接選擇環(huán)形鏈表上的下一個(gè)通信鏈路對(duì)象作為目標(biāo)通信鏈路對(duì)象即可,從而使得在選擇通信鏈路對(duì)象時(shí)處理速度是不變的,不會(huì)因通信鏈路對(duì)象的數(shù)量增多而影響處理速度,進(jìn)而提高了數(shù)據(jù)流量包的傳輸效率。
【附圖說明】
[0034]圖1是本發(fā)明實(shí)施例提供的方法流程圖;
[0035]圖2是本發(fā)明另一實(shí)施例提供的方法流程圖;
[0036]圖3是本發(fā)明實(shí)施例提供的環(huán)形鏈表結(jié)構(gòu)示意圖;
[0037]圖4是本發(fā)明實(shí)施例提供的current_link指向通信鏈路對(duì)象5的環(huán)形鏈表結(jié)構(gòu)示意圖;
[0038]圖5是本發(fā)明實(shí)施例提供的current_link指向通信鏈路對(duì)象10的環(huán)形鏈表結(jié)構(gòu)示意圖;
[0039]圖6是本發(fā)明實(shí)施例提供的裝置所在設(shè)備的硬件架構(gòu)圖;
[0040]圖7是本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)示意圖;
[0041]圖8是本發(fā)明另一實(shí)施例提供的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0042]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0043]如圖1所示,本發(fā)明實(shí)施例提供了一種基于游標(biāo)指針的加權(quán)調(diào)度方法,該方法可以包括以下步驟:
[0044]步驟101:根據(jù)所有通信鏈路對(duì)象建立環(huán)形鏈表,并從環(huán)形鏈表中選擇一個(gè)通信鏈路對(duì)象將其作為目標(biāo)通信鏈路對(duì)象。
[0045]步驟102:將游標(biāo)指針指向目標(biāo)通信鏈路對(duì)象,并利用目標(biāo)通信鏈路對(duì)象傳輸數(shù)據(jù)包。
[0046]步驟103:在目標(biāo)通信鏈路對(duì)象達(dá)到設(shè)定條件時(shí),以目標(biāo)通信鏈路對(duì)象作為起點(diǎn),以設(shè)定順序選擇下一個(gè)通信鏈路對(duì)象作為當(dāng)前的目標(biāo)通信鏈路對(duì)象,并利用當(dāng)前的目標(biāo)通信鏈路對(duì)象繼續(xù)執(zhí)行步驟102。
[0047]根據(jù)本方案,通過根據(jù)所有通信鏈路對(duì)象建立環(huán)形鏈表,以利用游標(biāo)指針?biāo)赶虻耐ㄐ沛溌穼?duì)象確定當(dāng)前正在使用的目標(biāo)通信鏈路對(duì)象,并在將目標(biāo)通信鏈路對(duì)象完成使用,在選擇通信鏈路對(duì)象時(shí)不需要計(jì)算查找,直接選擇環(huán)形鏈表上的下一個(gè)通信鏈路對(duì)象作為目標(biāo)通信鏈路對(duì)象即可,從而使得在選擇通信鏈路對(duì)象時(shí)處理速度是不變的,不會(huì)因通信鏈路對(duì)象的數(shù)量增多而影響處理速度,進(jìn)而提高了數(shù)據(jù)流量包的傳輸效率。
[0048]由于每一個(gè)通信鏈路對(duì)象的權(quán)重屬性值不同,權(quán)重屬性值越大,其通信鏈路對(duì)象可以轉(zhuǎn)發(fā)的流量就會(huì)越大,因此,為了保證權(quán)重屬性值越大的通信鏈路對(duì)象能夠轉(zhuǎn)發(fā)與其性能相匹配的流量,可以預(yù)先為每一條通信鏈路對(duì)象設(shè)定權(quán)重屬性值和運(yùn)行權(quán)重屬性值;其中,針對(duì)每一條通信鏈路對(duì)象所設(shè)定的權(quán)重屬性值與運(yùn)行權(quán)重屬性值相等。在環(huán)形鏈表上每利用目標(biāo)通信鏈路對(duì)象傳輸一次數(shù)據(jù)包,則執(zhí)行一次將目標(biāo)通信鏈路對(duì)象的運(yùn)行權(quán)重屬性值進(jìn)行更新操作,以使更新后的運(yùn)行權(quán)重屬性值小于更新前的運(yùn)行權(quán)重屬性值,并在更新后的運(yùn)行權(quán)重屬性值滿足設(shè)定值時(shí),確定目標(biāo)通信鏈路對(duì)象達(dá)到設(shè)定條件。從而使得每一條通信鏈路對(duì)象被選擇的次數(shù)不同,保證了權(quán)重屬性值不同的通信鏈路