專利名稱:一種對(duì)使用受限資源的批量操作的調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域中的大批量消息的調(diào)度,特別涉及一種對(duì)使用受限資源的批量操作的調(diào)度方法和裝置。
背景技術(shù):
在現(xiàn)有的網(wǎng)管系統(tǒng)中,可以對(duì)多個(gè)同類網(wǎng)元進(jìn)行批量操作,對(duì)于大型網(wǎng)管系統(tǒng)來(lái)說(shuō),管理上千個(gè)網(wǎng)元設(shè)備也是有可能的。對(duì)于某些操作,消息簡(jiǎn)單,可以同時(shí)對(duì)數(shù)百個(gè)網(wǎng)元設(shè)備進(jìn)行操作,利用這種網(wǎng)管系統(tǒng)是十分方便的。但是對(duì)于一些特殊的操作功能,可能需要使用一些額外的資源,而當(dāng)資源有限時(shí),就不能滿足同時(shí)批量操作同樣個(gè)數(shù)的網(wǎng)元設(shè)備了。 例如,現(xiàn)有網(wǎng)管系統(tǒng)中的版本下載功能,是網(wǎng)元設(shè)備通過(guò)網(wǎng)管系統(tǒng)中的FTP(File Transfer Protocol,文件傳輸協(xié)議)服務(wù)下載版本文件的方式進(jìn)行的。這里FTP服務(wù)器支持的最大連接個(gè)數(shù)和下載時(shí)使用的網(wǎng)絡(luò)帶寬等資源都是有限的,不可能同時(shí)支持?jǐn)?shù)百個(gè)網(wǎng)元設(shè)備同時(shí)進(jìn)行版本下載操作。同時(shí),由于這種操作比較費(fèi)時(shí),它的執(zhí)行又對(duì)其它簡(jiǎn)單的操作產(chǎn)生一定的影響。目前通用的調(diào)度策略只考慮了網(wǎng)元設(shè)備的處理能力,而沒(méi)有考慮到網(wǎng)管系統(tǒng)的可利用資源。批量操作的消息通常在一次調(diào)度中,操作請(qǐng)求被全部發(fā)送。但是,對(duì)于類似網(wǎng)絡(luò)連接數(shù)、網(wǎng)絡(luò)帶寬和CPU (Central Processing Unit,中央處理器)利用率等受限資源,不可能被無(wú)限制地使用,當(dāng)對(duì)需要這些受限資源的消息進(jìn)行如此的調(diào)度后,會(huì)導(dǎo)致超過(guò)資源能力范圍的請(qǐng)求操作被執(zhí)行,從而導(dǎo)致操作成功率降低。另外,目前通用的調(diào)度策略假定所有操作請(qǐng)求的執(zhí)行時(shí)間都是大體相同的,而沒(méi)有考慮到需要受限資源的消息可能會(huì)由于資源限制占用很長(zhǎng)時(shí)間。對(duì)于操作失敗的原因沒(méi)有具體分析是真的由于網(wǎng)元設(shè)備問(wèn)題導(dǎo)致的,還是由于網(wǎng)管系統(tǒng)資源受限導(dǎo)致的。對(duì)于這種需要使用受限資源又很耗時(shí)的消息進(jìn)行批量操作的情況,目前普遍的做法是,在界面上加以限制,使得操作人員每次只能選擇少量的網(wǎng)元批量操作。但是,如果這樣的話,在實(shí)際的開(kāi)局或升級(jí)場(chǎng)景中,上千個(gè)設(shè)備需要下載版本,而每次都需要操作人員值守,需要幾百次的操作才能完成,這樣做無(wú)疑效率是低下的。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種對(duì)使用受限資源的批量操作的調(diào)度方法和裝置,用于解決系統(tǒng)內(nèi)普通消息和受限資源消息同時(shí)存在時(shí)的調(diào)度問(wèn)題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種對(duì)使用受限資源的批量操作的調(diào)度方法,包括以下步驟請(qǐng)求接收器接收到網(wǎng)管客戶端發(fā)送的包括網(wǎng)元標(biāo)識(shí)的命令消息后,把命令消息發(fā)送至命令消息分發(fā)器;命令消息分發(fā)器把命令消息分配給對(duì)應(yīng)的邏輯閱讀器;邏輯閱讀器判斷命令消息是否為受限資源消息,若命令消息為受限資源消息,則邏輯閱讀器為命令消息向資源令牌池申請(qǐng)資源令牌并在申請(qǐng)成功后把命令消息發(fā)送給命令消息調(diào)度器;命令消息調(diào)度器通過(guò)命令消息發(fā)送器把命令消息發(fā)送至對(duì)應(yīng)的網(wǎng)元設(shè)備。優(yōu)選的,受限資源消息是使用網(wǎng)絡(luò)中有限資源的消息。優(yōu)選的,命令消息分發(fā)器把命令消息分配給對(duì)應(yīng)的邏輯閱讀器,包括命令消息分發(fā)器根據(jù)網(wǎng)元標(biāo)識(shí)得到與命令消息對(duì)應(yīng)的邏輯閱讀器;若邏輯閱讀器中的消息存在受限資源消息,則命令消息分配失敗,創(chuàng)建快速失敗的結(jié)果并存儲(chǔ)至操作結(jié)果存儲(chǔ)池;若邏輯閱讀器中的消息不存在受限資源消息,則把命令消息分配給該邏輯閱讀
ο優(yōu)選的,邏輯閱讀器為命令消息向資源令牌池申請(qǐng)資源令牌,包括任務(wù)計(jì)時(shí)器預(yù)先設(shè)定定時(shí)時(shí)間;邏輯閱讀器每隔定時(shí)時(shí)間為命令消息在資源令牌池中申請(qǐng)資源令牌;邏輯閱讀器記錄申請(qǐng)資源令牌失敗次數(shù),若失敗次數(shù)超過(guò)預(yù)先固定次數(shù),則申請(qǐng)失敗,否則,申請(qǐng)成功。優(yōu)選的,邏輯閱讀器向資源令牌池為命令消息申請(qǐng)資源令牌,若申請(qǐng)失敗,則不處理命令消息,創(chuàng)建操作超時(shí)的結(jié)果并存儲(chǔ)至操作結(jié)果存儲(chǔ)池。優(yōu)選的,在命令消息分發(fā)器把命令消息分配給對(duì)應(yīng)的邏輯閱讀器之后,還包括邏輯閱讀器判斷所述命令消息是否為受限資源消息,若命令消息不是受限資源消息,則所述邏輯閱讀器把所述命令消息發(fā)送給命令消息調(diào)度器;命令消息調(diào)度器通過(guò)命令消息發(fā)送器把命令消息發(fā)送至對(duì)應(yīng)的網(wǎng)元設(shè)備。優(yōu)選的,方法還包括操作結(jié)果處理器監(jiān)聽(tīng)發(fā)送至網(wǎng)元設(shè)備的消息,若發(fā)送至網(wǎng)元設(shè)備的消息為受限資源消息,則操作結(jié)果處理器告知資源令牌池釋放該消息占用的資源令牌。根據(jù)本發(fā)明的另一方面,提供了一種對(duì)使用受限資源的批量操作的調(diào)度裝置,包括請(qǐng)求接收器,用于接收并發(fā)送網(wǎng)管客戶端發(fā)送的包括網(wǎng)元標(biāo)識(shí)的命令消息;命令消息分發(fā)器,用于接收命令消息,并把命令消息分配給對(duì)應(yīng)的邏輯閱讀器;邏輯閱讀器,用于判斷命令消息是否為受限資源消息,并當(dāng)命令消息是受限資源消息時(shí)向資源令牌池申請(qǐng)資源令牌;資源令牌池,用于當(dāng)命令消息為受限資源消息時(shí)為命令消息分配資源令牌并在申請(qǐng)成功后把命令消息發(fā)送給命令消息調(diào)度器;命令消息調(diào)度器,用于控制發(fā)送命令消息;命令消息發(fā)送器,用于把命令消息發(fā)送至對(duì)應(yīng)的網(wǎng)元設(shè)備。優(yōu)選的,受限資源消息是使用網(wǎng)絡(luò)中有限資源的消息。優(yōu)選的,裝置還包括操作結(jié)果處理器,用于監(jiān)聽(tīng)發(fā)送至網(wǎng)元設(shè)備的消息,若發(fā)送至網(wǎng)元設(shè)備的消息為受限資源消息,則操作結(jié)果處理器告知資源令牌池釋放該消息占用的資源令牌。與現(xiàn)有技術(shù)相比較,本發(fā)明的有益效果在于本發(fā)明通過(guò)把網(wǎng)管系統(tǒng)中的多種命令消息按照是否使用受限資源的原則進(jìn)行分類,對(duì)不同的命令消息采用不同的調(diào)度策略, 實(shí)現(xiàn)了系統(tǒng)內(nèi)的有限資源的動(dòng)態(tài)管理。
圖1是本發(fā)明提供的對(duì)使用受限資源的批量操作的調(diào)度方法的流程示意圖;圖2是本發(fā)明提供的對(duì)使用受限資源的批量操作的調(diào)度裝置的框圖;圖3是本發(fā)明實(shí)施例提供的命令消息調(diào)度器的處理流程圖;圖4是本發(fā)明實(shí)施例提供的操作結(jié)果處理器的處理流程圖;圖5是本發(fā)明實(shí)施例提供的分發(fā)命令消息的工作示意圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說(shuō)明,應(yīng)當(dāng)理解,以下所說(shuō)明的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。圖1顯示了本發(fā)明提供的對(duì)使用受限資源的批量操作的調(diào)度方法的流程示意,如圖1所示步驟S101,請(qǐng)求接收器接收到網(wǎng)管客戶端發(fā)送的包括網(wǎng)元標(biāo)識(shí)的命令消息后,把命令消息發(fā)送至命令消息分發(fā)器。步驟S102,命令消息分發(fā)器把命令消息分配給對(duì)應(yīng)的邏輯閱讀器。命令消息分發(fā)器根據(jù)命令消息中的網(wǎng)元標(biāo)識(shí)得到與命令消息對(duì)應(yīng)的邏輯閱讀器, 若邏輯閱讀器中的當(dāng)前命令消息和命令消息隊(duì)列中的消息存在受限資源消息,則命令消息分配失敗,命令消息分發(fā)器不把命令消息分配給邏輯閱讀器,命令消息調(diào)度器控制邏輯閱讀器創(chuàng)建快速失敗的結(jié)果并通過(guò)操作結(jié)果處理器存儲(chǔ)至操作結(jié)果存儲(chǔ)池;若邏輯閱讀器中的當(dāng)前命令消息和命令消息隊(duì)列的消息不存在受限資源消息,則把命令消息分配給邏輯閱讀器。其中,受限資源消息是使用網(wǎng)絡(luò)中有限資源的消息。步驟S103,邏輯閱讀器判斷命令消息是否為受限資源消息,若命令消息為受限資源消息,則邏輯閱讀器為命令消息向資源令牌池申請(qǐng)資源令牌并在申請(qǐng)成功后把命令消息發(fā)送給命令消息調(diào)度器,若命令消息為受限資源消息不是受限資源消息,則邏輯閱讀器通過(guò)命令消息分發(fā)器把命令消息發(fā)送給命令消息調(diào)度器。其中,邏輯閱讀器為命令消息向資源令牌池申請(qǐng)資源令牌的步驟如下任務(wù)計(jì)時(shí)器預(yù)先設(shè)定定時(shí)時(shí)間,邏輯閱讀器每隔定時(shí)時(shí)間為命令消息在資源令牌池中申請(qǐng)資源令牌,邏輯閱讀器記錄申請(qǐng)資源令牌失敗次數(shù),若失敗次數(shù)超過(guò)預(yù)先固定次數(shù),則申請(qǐng)失敗, 否則,申請(qǐng)成功。若申請(qǐng)成功,則邏輯閱讀器通過(guò)命令消息分發(fā)器把命令消息發(fā)送給命令消息調(diào)度器,若申請(qǐng)失敗,則不處理命令消息,創(chuàng)建操作超時(shí)的結(jié)果并存儲(chǔ)至操作結(jié)果存儲(chǔ)池。步驟S104,命令消息調(diào)度器通過(guò)命令消息發(fā)送器把命令消息發(fā)送至對(duì)應(yīng)的網(wǎng)元設(shè)備。此外,操作結(jié)果處理器監(jiān)聽(tīng)發(fā)送至網(wǎng)元設(shè)備的消息,若發(fā)送至網(wǎng)元設(shè)備的消息為受限資源消息,則操作結(jié)果處理器告知資源令牌池釋放該消息占用的資源令牌。其中,資源令牌池的令牌數(shù)量是固定的,若邏輯閱讀器為命令消息向資源令牌池申請(qǐng)資源令牌時(shí),當(dāng)前正在處理的命令消息中是受限資源消息的數(shù)量若已達(dá)到該固定數(shù)量,則申請(qǐng)失敗,否則, 申請(qǐng)成功。操作結(jié)果處理器會(huì)把所有的操作結(jié)果發(fā)送至操作結(jié)果存儲(chǔ)池,請(qǐng)求接收器根據(jù)網(wǎng)管客戶端發(fā)送的操作結(jié)果請(qǐng)求消息從操作結(jié)果存儲(chǔ)池中讀取操作結(jié)果并發(fā)送給網(wǎng)管客戶端。圖2顯示了本發(fā)明提供的對(duì)使用受限資源的批量操作的調(diào)度裝置的框圖,如圖2 所示,該裝置包括網(wǎng)管客戶端101、網(wǎng)管服務(wù)端111和網(wǎng)元設(shè)備112。網(wǎng)管客戶端101 —方面用于組裝包含網(wǎng)元標(biāo)識(shí)和操作標(biāo)識(shí)的命令消息給網(wǎng)管服務(wù)端111,另一方面網(wǎng)管客戶端101定時(shí)向網(wǎng)管服務(wù)端111請(qǐng)求操作結(jié)果,并顯示操作結(jié)果在圖形界面上。網(wǎng)管服務(wù)端111用于處理來(lái)自網(wǎng)管客戶端101和網(wǎng)元設(shè)備112的消息。網(wǎng)元設(shè)備112接收來(lái)自網(wǎng)管服務(wù)端111的命令消息,與網(wǎng)管系統(tǒng)相連,由網(wǎng)管系統(tǒng)進(jìn)行操作管理。其中,網(wǎng)管服務(wù)端111包括請(qǐng)求接收器102,用于接收網(wǎng)管客戶端101發(fā)送的包括網(wǎng)元標(biāo)識(shí)的命令消息,以及接收網(wǎng)管客戶端101發(fā)送的操作結(jié)果請(qǐng)求消息并返回給網(wǎng)管客戶端101操作結(jié)果。命令消息分發(fā)器103,維護(hù)著網(wǎng)管系統(tǒng)中邏輯閱讀器104的命令消息隊(duì)列,用于將請(qǐng)求接收器102收到的批量命令消息分發(fā)到不同邏輯閱讀器104的命令消息隊(duì)列中。邏輯閱讀器104,用于標(biāo)識(shí)管理系統(tǒng)中的虛擬網(wǎng)元設(shè)備,對(duì)該設(shè)備的操作存儲(chǔ)在內(nèi)部的命令消息隊(duì)列中。資源令牌池105,用于控制和管理系統(tǒng)內(nèi)有限資源的使用。如,判斷命令消息是否為受限資源消息,當(dāng)命令消息是受限資源消息時(shí)向資源令牌池申請(qǐng)資源令牌。命令消息調(diào)度器106,用于調(diào)度命令消息,并啟動(dòng)命令消息發(fā)送器107。命令消息發(fā)送器107,用于將命令消息發(fā)送給網(wǎng)元設(shè)備112。操作結(jié)果處理器108,用于在產(chǎn)生不同類型的操作結(jié)果時(shí),進(jìn)行相應(yīng)的處理并把操作結(jié)果發(fā)送給操作結(jié)果存儲(chǔ)池109。同時(shí),監(jiān)聽(tīng)發(fā)送至網(wǎng)元設(shè)備的消息,若發(fā)送至網(wǎng)元設(shè)備的消息為受限資源消息,則告知資源令牌池105釋放該消息占用的資源令牌。操作結(jié)果存儲(chǔ)池109,用于存儲(chǔ)命令消息的操作結(jié)果。任務(wù)計(jì)時(shí)器110,用于在邏輯閱讀器104向資源令牌池105申請(qǐng)資源令牌時(shí)開(kāi)始計(jì)時(shí),如果到達(dá)超時(shí)時(shí)間后,就生成一個(gè)響應(yīng)超時(shí)結(jié)果,并通過(guò)操作結(jié)果處理器108放入操作結(jié)果存儲(chǔ)池109。下面對(duì)照?qǐng)D2對(duì)本發(fā)明的對(duì)使用受限資源的批量操作的調(diào)度方法進(jìn)行詳細(xì)說(shuō)明步驟S201,請(qǐng)求接收器102接收到網(wǎng)管客戶端101發(fā)送的命令消息列表后,將命令消息列表發(fā)送給命令消息分發(fā)器103。步驟S202,命令消息分發(fā)器103接收到請(qǐng)求接收器102發(fā)送的命令消息列表后,逐一解析出命令消息中包含的網(wǎng)元標(biāo)識(shí),根據(jù)網(wǎng)元標(biāo)識(shí)將命令消息發(fā)送給對(duì)應(yīng)的邏輯閱讀器 104。步驟S203,邏輯閱讀器104接收到命令消息分發(fā)器103發(fā)送的命令消息后,將命令消息放到命令消息隊(duì)列中,同時(shí)啟動(dòng)任務(wù)計(jì)時(shí)器110,開(kāi)始計(jì)時(shí)。
步驟S204,任務(wù)計(jì)時(shí)器110啟動(dòng)后,計(jì)時(shí)開(kāi)始,到達(dá)超時(shí)時(shí)間后,產(chǎn)生的操作結(jié)果交給操作結(jié)果處理器108進(jìn)行邏輯處理。步驟S205,命令消息調(diào)度器106在系統(tǒng)啟動(dòng)時(shí)開(kāi)始工作,定時(shí)檢索命令消息分發(fā)器103中是否有需要發(fā)送的命令消息。步驟S206,命令消息分發(fā)器103循環(huán)遍歷邏輯閱讀器104的當(dāng)前命令消息。步驟S207,邏輯閱讀器104判斷當(dāng)前命令消息是否是受限資源消息,如果是則執(zhí)行步驟S208,否則執(zhí)行步驟S2089。步驟S208,邏輯閱讀器104向資源令牌池105申請(qǐng)資源并取得資源令牌。步驟S209,邏輯閱讀器104將當(dāng)前命令消息返回給命令消息分發(fā)器103。步驟S210,命令消息分發(fā)器103將所有邏輯閱讀器104的命令消息返回給命令消息調(diào)度器106。步驟S211,命令消息調(diào)度器106調(diào)度邏輯閱讀器104中的命令消息,并啟動(dòng)命令消息發(fā)送器107發(fā)送消息。步驟S212,命令消息發(fā)送器107接收到命令消息調(diào)度器106發(fā)送的命令消息,通過(guò)網(wǎng)絡(luò)向網(wǎng)元設(shè)備112發(fā)送命令消息。步驟S213,操作結(jié)果處理器108在收到新產(chǎn)生的結(jié)果時(shí),判斷是否占用資源令牌, 如果占用資源令牌則執(zhí)行步驟S214,否則執(zhí)行步驟S215。步驟S214,資源令牌池105釋放該結(jié)果占用的資源令牌以便后續(xù)給其他申請(qǐng)者使用。步驟S215,操作結(jié)果處理器108將操作結(jié)果放入操作結(jié)果存儲(chǔ)池109中。步驟S216,請(qǐng)求接收器102定時(shí)從操作存儲(chǔ)池109中取出操作結(jié)果,返回給網(wǎng)管客戶端101顯示。圖3顯示了本發(fā)明實(shí)施例提供的命令消息調(diào)度器的處理流程,如圖3所示步驟S301,請(qǐng)求接收器收到網(wǎng)管客戶端發(fā)送命令消息后,流程開(kāi)始。步驟S302,命令消息分發(fā)器根據(jù)命令消息取得邏輯閱讀器標(biāo)識(shí),判斷該邏輯閱讀器的當(dāng)前命令消息和命令消息隊(duì)列中的消息是否已經(jīng)存在受限資源消息,如果存在則執(zhí)行步驟S315,否則執(zhí)行步驟S303。步驟S303,命令消息分發(fā)器將命令消息加入到對(duì)應(yīng)邏輯閱讀器的命令消息隊(duì)列中。步驟S304,命令消息分發(fā)器啟動(dòng)任務(wù)定時(shí)器,開(kāi)始計(jì)時(shí)。步驟S305,命令消息調(diào)度器通過(guò)命令消息分發(fā)器循環(huán)調(diào)度邏輯閱讀器內(nèi)的當(dāng)前命令消息。步驟S306,命令消息調(diào)度器判斷當(dāng)前調(diào)度到的消息是否是受限資源消息,如果是則執(zhí)行步驟S307,否則執(zhí)行步驟S309。步驟S307,命令消息調(diào)度器想資源令牌池申請(qǐng)資源令牌。步驟S308,資源令牌池根據(jù)當(dāng)前系統(tǒng)內(nèi)剩余的受限資源的數(shù)量,判斷申請(qǐng)是否成功,如果是則執(zhí)行步驟S309,否則執(zhí)行步驟S312。步驟S309,該邏輯閱讀器的申請(qǐng)資源令牌失敗計(jì)數(shù)器清零。步驟S310,命令消息調(diào)度器啟動(dòng)命令消息發(fā)送器,發(fā)送命令消息。
步驟S311,命令消息調(diào)度器創(chuàng)建發(fā)送成功的結(jié)果,流程結(jié)束。步驟S312,如果申請(qǐng)資源令牌失敗,該邏輯閱讀器的申請(qǐng)資源令牌失敗計(jì)數(shù)器加 1。步驟S313,命令消息調(diào)度器判斷該邏輯閱讀器的申請(qǐng)資源令牌失敗次數(shù)是否超過(guò)限制,如果是則執(zhí)行步驟S314,否則返回步驟S305,等待下一輪再次被調(diào)度。步驟S314,命令消息調(diào)度器創(chuàng)建操作超時(shí)的結(jié)果,流程結(jié)束。步驟S315,命令消息調(diào)度器創(chuàng)建快速失敗的結(jié)果,流程結(jié)束。圖4顯示了本發(fā)明實(shí)施例提供的操作結(jié)果處理器的處理流程,如圖4所示步驟S401,操作結(jié)果處理器收到系統(tǒng)不同時(shí)機(jī)產(chǎn)生的不同類型的操作結(jié)果后,流程開(kāi)始。步驟S402,操作結(jié)果處理器判斷該操作結(jié)果是否是由于定時(shí)器到達(dá)時(shí)間點(diǎn)所產(chǎn)生的響應(yīng)超時(shí)結(jié)果,如果是則執(zhí)行步驟S403,否則執(zhí)行步驟S407。步驟S403,操作結(jié)果處理器調(diào)用該結(jié)果對(duì)應(yīng)的邏輯閱讀器,判斷此時(shí)定時(shí)器產(chǎn)生的超時(shí)結(jié)果對(duì)應(yīng)的是否是該邏輯閱讀器的當(dāng)前命令消息,如果是則執(zhí)行步驟S404,否則執(zhí)行步驟S407。步驟S404,操作結(jié)果處理器判斷該結(jié)果對(duì)應(yīng)的操作請(qǐng)求是否是受限資源消息,如果是則執(zhí)行步驟S405,否則執(zhí)行步驟S407。步驟S405,操作結(jié)果處理器通過(guò)調(diào)用該結(jié)果對(duì)應(yīng)的邏輯閱讀器,判斷此邏輯閱讀器的申請(qǐng)資源令牌失敗計(jì)數(shù)器的次數(shù)是否超過(guò)限制,如果沒(méi)有超過(guò)限制則執(zhí)行步驟S406, 否則執(zhí)行步驟S407。步驟S406,操作結(jié)果處理器通過(guò)調(diào)用該結(jié)果對(duì)應(yīng)的邏輯閱讀器,啟動(dòng)新的定時(shí)器任務(wù),如果新的定時(shí)器任務(wù)到達(dá)時(shí)間點(diǎn)后,開(kāi)始新的一輪循環(huán)處理操作結(jié)果,循環(huán)執(zhí)行步驟 S401。步驟S407,將操作結(jié)果放入操作結(jié)果存儲(chǔ)池中,準(zhǔn)備返回給網(wǎng)管客戶端用于顯示。步驟S408,操作結(jié)果處理器通過(guò)調(diào)用資源令牌池,判斷本次結(jié)果是否占用了資源令牌,如果是則執(zhí)行步驟S409,否則流程結(jié)束。步驟S409,資源令牌池釋放本次結(jié)果占用的資源令牌,以備其他受限資源消息使用。圖5顯示了本發(fā)明實(shí)施例提供的分發(fā)命令消息的工作示意,如圖5所示命令消息分發(fā)器103 所有消息進(jìn)入系統(tǒng)的入口,由其根據(jù)消息的網(wǎng)元標(biāo)識(shí)分配給具體處理的邏輯閱讀器104。邏輯閱讀器104 模擬真實(shí)的網(wǎng)元設(shè)備,與物理網(wǎng)元一一對(duì)應(yīng)。負(fù)責(zé)管理和維護(hù)該網(wǎng)元上正在發(fā)送和將要發(fā)送的操作消息。其中包括兩部分結(jié)構(gòu),一個(gè)是“當(dāng)前命令消息”,一個(gè)是“命令消息隊(duì)列”。命令消息隊(duì)列逐一取出隊(duì)頭的消息,放在當(dāng)前命令消息的結(jié)構(gòu)中,用來(lái)標(biāo)識(shí)該邏輯閱讀器當(dāng)前正在處理的命令消息。當(dāng)產(chǎn)生了與當(dāng)前命令消息對(duì)應(yīng)的操作結(jié)果后,刪除當(dāng)前命令消息,再將命令消息隊(duì)列的隊(duì)頭消息取出。資源令牌池105 管理系統(tǒng)內(nèi)的資源數(shù)量,提供申請(qǐng)令牌和釋放令牌的功能。命令消息發(fā)送器107 命令消息分發(fā)器103從邏輯閱讀器104中取出的可執(zhí)行操作的命令消息,通過(guò)調(diào)用命令消息發(fā)送器107發(fā)送給網(wǎng)元設(shè)備。
并且,本發(fā)明的邏輯閱讀器在系統(tǒng)運(yùn)行中所處的狀態(tài)包括以下幾種可能狀態(tài),其中邏輯閱讀器104-b中的當(dāng)前命令消息、邏輯閱讀器104-c中的當(dāng)前命令消息、邏輯閱讀器 104-d中的命令消息3是受限資源消息邏輯閱讀器104-a 該邏輯閱讀器的當(dāng)前命令消息和命令消息隊(duì)列中均無(wú)受限資源消息。命令消息分發(fā)器103調(diào)度消息時(shí),直接將當(dāng)前命令消息通過(guò)調(diào)用命令消息發(fā)送器 107進(jìn)行發(fā)送。另外,如果此時(shí)新產(chǎn)生了命令消息5,由于邏輯閱讀器104-a的當(dāng)前命令消息和命令消息隊(duì)列中均無(wú)受限資源消息,并且命令消息隊(duì)列未滿,可以成功插入到命令消息隊(duì)列中等待發(fā)送。邏輯閱讀器104-b 該邏輯閱讀器的當(dāng)前命令消息是受限資源消息。命令消息分發(fā)器103調(diào)度消息時(shí),首先到資源令牌池中申請(qǐng)令牌,如果申請(qǐng)成功,將當(dāng)前命令消息通過(guò)調(diào)用命令消息發(fā)送器107進(jìn)行發(fā)送。另外,如果此時(shí)新產(chǎn)生了命令消息5,由于邏輯閱讀器 104-b的當(dāng)前命令消息是受限資源消息,此時(shí)返回快速失敗的操作結(jié)果,提示操作人員“該網(wǎng)元正在執(zhí)行耗時(shí)操作,請(qǐng)稍后再試”的提示,不再將此請(qǐng)求插入到命令消息隊(duì)列中。邏輯閱讀器104-c 該邏輯閱讀器的當(dāng)前命令消息是受限資源消息。命令消息分發(fā)器103調(diào)度消息時(shí),首先到資源令牌池中申請(qǐng)令牌,如果申請(qǐng)失敗,不調(diào)用命令消息發(fā)送器107進(jìn)行發(fā)送,而是等待下一次調(diào)度時(shí)重新申請(qǐng)令牌。另外,如果此時(shí)新產(chǎn)生了命令消息5,由于邏輯閱讀器104-c的當(dāng)前命令消息是受限資源消息,此時(shí)返回快速失敗的操作結(jié)果,提示操作人員“該網(wǎng)元正在執(zhí)行耗時(shí)操作,請(qǐng)稍后再試”的提示,不再將此請(qǐng)求插入到命令消息隊(duì)列中。邏輯閱讀器104-d 該邏輯閱讀器的當(dāng)前命令消息不是受限資源消息,但是命令消息隊(duì)列中存在受限資源消息。命令消息分發(fā)器103調(diào)度消息時(shí),直接將當(dāng)前命令消息通過(guò)調(diào)用命令消息發(fā)送器進(jìn)行發(fā)送。另外,如果此時(shí)新產(chǎn)生了命令消息5,由于邏輯閱讀器 104-d的命令消息隊(duì)列中存在受限資源消息,此時(shí)返回快速失敗的操作結(jié)果,提示操作人員 “該網(wǎng)元正在執(zhí)行耗時(shí)操作,請(qǐng)稍后再試”的提示,不再將此請(qǐng)求插入到命令消息隊(duì)列中。綜上所述,本發(fā)明具有以下技術(shù)效果本發(fā)明對(duì)多個(gè)同類網(wǎng)元的批量消息調(diào)度策略進(jìn)行了改進(jìn),以操作需要使用的物理資源和時(shí)間資源多少為原則,將操作請(qǐng)求分為普通消息和受限資源消息兩類,并提供了相應(yīng)的調(diào)度策略上的調(diào)整。本發(fā)明中提出的“受限資源”的概念和“資源令牌”、“多段式定時(shí)器”等理論創(chuàng)新,解決了在實(shí)際應(yīng)用中單次批量操作受限資源消息數(shù)量需人為控制、批量操作受限資源消息操作成功率低和普通消息受影響普遍超時(shí)的實(shí)際問(wèn)題,并且細(xì)化了操作失敗的結(jié)果類型,對(duì)于操作人員定位問(wèn)題具有很好的易用性。盡管上文對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,但是本發(fā)明不限于此,本領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種對(duì)使用受限資源的批量操作的調(diào)度方法,其特征在于,包括以下步驟請(qǐng)求接收器接收到網(wǎng)管客戶端發(fā)送的包括網(wǎng)元標(biāo)識(shí)的命令消息后,把所述命令消息發(fā)送至命令消息分發(fā)器;所述命令消息分發(fā)器把所述命令消息分配給對(duì)應(yīng)的邏輯閱讀器;所述邏輯閱讀器判斷所述命令消息是否為受限資源消息,若所述命令消息為受限資源消息,則所述邏輯閱讀器為所述命令消息向資源令牌池申請(qǐng)資源令牌并在申請(qǐng)成功后把所述命令消息發(fā)送給命令消息調(diào)度器;以及所述命令消息調(diào)度器通過(guò)命令消息發(fā)送器把所述命令消息發(fā)送至對(duì)應(yīng)的網(wǎng)元設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述受限資源消息是使用網(wǎng)絡(luò)中有限資源的消息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述命令消息分發(fā)器把所述命令消息分配給對(duì)應(yīng)的邏輯閱讀器,包括所述命令消息分發(fā)器根據(jù)所述網(wǎng)元標(biāo)識(shí)得到與所述命令消息對(duì)應(yīng)的邏輯閱讀器;若所述邏輯閱讀器中的消息存在受限資源消息,則命令消息分配失敗,創(chuàng)建快速失敗的結(jié)果并存儲(chǔ)至操作結(jié)果存儲(chǔ)池;以及若所述邏輯閱讀器中的消息不存在受限資源消息,則把所述命令消息分配給所述邏輯閱讀器。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述邏輯閱讀器為所述命令消息向資源令牌池申請(qǐng)資源令牌,包括任務(wù)計(jì)時(shí)器預(yù)先設(shè)定定時(shí)時(shí)間;所述邏輯閱讀器每隔所述定時(shí)時(shí)間為所述命令消息在資源令牌池中申請(qǐng)資源令牌;以及所述邏輯閱讀器記錄申請(qǐng)資源令牌失敗次數(shù),若失敗次數(shù)超過(guò)預(yù)先固定次數(shù),則申請(qǐng)失敗,否則,申請(qǐng)成功。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述邏輯閱讀器向資源令牌池為所述命令消息申請(qǐng)資源令牌,若申請(qǐng)失敗,則不處理所述命令消息,創(chuàng)建操作超時(shí)的結(jié)果并存儲(chǔ)至操作結(jié)果存儲(chǔ)池。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述命令消息分發(fā)器把命令消息分配給對(duì)應(yīng)的邏輯閱讀器之后,還包括所述邏輯閱讀器判斷所述命令消息是否為受限資源消息,若所述命令消息不是受限資源消息,則所述邏輯閱讀器把所述命令消息發(fā)送給命令消息調(diào)度器;以及所述命令消息調(diào)度器通過(guò)命令消息發(fā)送器把所述命令消息發(fā)送至對(duì)應(yīng)的網(wǎng)元設(shè)備。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括操作結(jié)果處理器監(jiān)聽(tīng)發(fā)送至網(wǎng)元設(shè)備的消息,若發(fā)送至網(wǎng)元設(shè)備的消息為受限資源消息,則操作結(jié)果處理器告知資源令牌池釋放該消息占用的資源令牌。
全文摘要
本發(fā)明公開(kāi)了一種對(duì)使用受限資源的批量操作的調(diào)度方法和裝置,該方法包括請(qǐng)求接收器接收到網(wǎng)管客戶端發(fā)送的包括網(wǎng)元標(biāo)識(shí)的命令消息后,把命令消息發(fā)送至命令消息分發(fā)器;命令消息分發(fā)器把命令消息分配給對(duì)應(yīng)的邏輯閱讀器;邏輯閱讀器判斷命令消息是否為受限資源消息,若命令消息為受限資源消息,則邏輯閱讀器為命令消息向資源令牌池申請(qǐng)資源令牌并在申請(qǐng)成功后把命令消息發(fā)送給命令消息調(diào)度器;命令消息調(diào)度器通過(guò)命令消息發(fā)送器把命令消息發(fā)送至對(duì)應(yīng)的網(wǎng)元設(shè)備。本發(fā)明通過(guò)把網(wǎng)管系統(tǒng)中的多種命令消息按照是否使用受限資源的原則進(jìn)行分類,對(duì)不同的命令消息采用不同的調(diào)度策略,實(shí)現(xiàn)了系統(tǒng)內(nèi)的有限資源的動(dòng)態(tài)管理。
文檔編號(hào)H04L12/24GK102420698SQ20111037078
公開(kāi)日2012年4月18日 申請(qǐng)日期2011年11月21日 優(yōu)先權(quán)日2011年11月21日
發(fā)明者孟英 申請(qǐng)人:天津中興軟件有限責(zé)任公司