基于云測試平臺的任務(wù)分配方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種基于云測試平臺的任務(wù)分配方法、裝 置及系統(tǒng)。
【背景技術(shù)】
[0002] 云測試是一種基于云計算的新型測試方案,其能夠提供一套完整的測試環(huán)境,測 試人員利用虛擬桌面等手段登陸該測試環(huán)境即可立即展開測試。通過云測試方案,將軟硬 件安裝、環(huán)境配置以及環(huán)境維護等代價轉(zhuǎn)移給了云測試平臺的提供者,使得測試人員直接 利用云測試平臺中提供的軟硬件配置就能快速完成測試。通過云測試方案能夠顯著節(jié)約測 試成本、且大幅提高測試效率。
[0003] 由于云測試平臺中包含海量的設(shè)備,且可能同時處理多個來自不同用戶終端的測 試請求,每個測試請求往往會涉及到數(shù)十個甚至更多個設(shè)備,所以,云測試平臺接收到這些 測試請求后,需要根據(jù)各個測試請求中所涉及到的設(shè)備的設(shè)備標識,將測試請求中包含的 測試任務(wù)分別分配給相應(yīng)的設(shè)備執(zhí)行。在上述過程中,由于涉及到大量的測試任務(wù)以及海 量的設(shè)備,如果任務(wù)分配不合理,很可能會造成某些測試任務(wù)因其所涉及到的設(shè)備一直沒 有空閑而遲遲無法執(zhí)行。
[0004] 因此,如何對平臺中的各個設(shè)備進行合理的任務(wù)分配,使得所有任務(wù)能夠高效執(zhí) 行成為一個亟待解決的問題。
【發(fā)明內(nèi)容】
[0005] 鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上 述問題的基于云測試平臺的任務(wù)分配方法、裝置及系統(tǒng)。
[0006] 根據(jù)本發(fā)明的一個方面,提供了一種基于云測試平臺的任務(wù)分配方法,其包括:監(jiān) 測云測試平臺中各個設(shè)備的狀態(tài),每當監(jiān)測到從運行狀態(tài)轉(zhuǎn)變?yōu)榭臻e狀態(tài)的設(shè)備時,將設(shè) 備加入與其設(shè)備標識對應(yīng)的設(shè)備空閑隊列;每當接收到測試任務(wù)后,根據(jù)測試任務(wù)中包含 的設(shè)備標識查找與該設(shè)備標識對應(yīng)的設(shè)備空閑隊列;當設(shè)備空閑隊列中有可用設(shè)備時,將 測試任務(wù)分配給可用設(shè)備,并將可用設(shè)備從設(shè)備空閑隊列中刪除。
[0007] 依據(jù)本發(fā)明的另一方面,提供了一種基于云測試平臺的任務(wù)分配裝置,其包括:監(jiān) 測模塊,適于監(jiān)測云測試平臺中各個設(shè)備的狀態(tài),每當監(jiān)測到從運行狀態(tài)轉(zhuǎn)變?yōu)榭臻e狀態(tài) 的設(shè)備時,將設(shè)備加入與其設(shè)備標識對應(yīng)的設(shè)備空閑隊列;查找模塊,適于每當接收到測試 任務(wù)后,根據(jù)測試任務(wù)中包含的設(shè)備標識查找與該設(shè)備標識對應(yīng)的設(shè)備空閑隊列;分配模 塊,適于當設(shè)備空閑隊列中有可用設(shè)備時,將測試任務(wù)分配給可用設(shè)備,并將可用設(shè)備從設(shè) 備空閑隊列中刪除。
[0008] 依據(jù)本發(fā)明的又一方面,提供了一種基于云測試平臺的任務(wù)分配系統(tǒng),其包括:多 個客戶端以及上述的基于云測試平臺的任務(wù)分配裝置。
[0009] 在本發(fā)明提供的基于云測試平臺的任務(wù)分配方法、裝置及系統(tǒng)中,測試任務(wù)能夠 通過設(shè)備空閑隊列主動找到相關(guān)的空閑設(shè)備,因此,當接收到一個測試任務(wù)時,只要其相關(guān) 的設(shè)備空閑,該測試任務(wù)就能第一時間得以執(zhí)行。因此,通過本發(fā)明中的方法、裝置及系統(tǒng), 能夠根據(jù)測試任務(wù)主動查找空閑設(shè)備,從而對平臺中的各個設(shè)備進行合理的任務(wù)分配,使 得所有任務(wù)能夠高效執(zhí)行。
[0010] 上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠 更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0011] 通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通 技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0012] 圖1示出了根據(jù)本發(fā)明一個實施例的基于云測試平臺的任務(wù)分配方法的流程圖;
[0013] 圖2示出了根據(jù)本發(fā)明一個具體實施例的基于云測試平臺的任務(wù)分配方法的流 程圖;
[0014] 圖3示出了根據(jù)本發(fā)明一個實施例的基于云測試平臺的任務(wù)分配裝置的結(jié)構(gòu)圖; 以及
[0015] 圖4示出了根據(jù)本發(fā)明一個實施例的基于云測試平臺的任務(wù)分配系統(tǒng)的結(jié)構(gòu)圖。
【具體實施方式】
[0016] 下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開 的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例 所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍 完整的傳達給本領(lǐng)域的技術(shù)人員。
[0017] 本發(fā)明實施例提供了一種基于云測試平臺的任務(wù)分配方法、裝置及系統(tǒng),至少能 夠解決現(xiàn)有技術(shù)中無法對云測試平臺中的各個設(shè)備進行合理的任務(wù)分配,使得所有任務(wù)能 夠高效執(zhí)行的問題。
[0018] 實施例一、
[0019] 圖1示出了根據(jù)本發(fā)明一個實施例的基于云測試平臺的任務(wù)分配方法的流程圖, 如圖1所示,該方法包括如下步驟:
[0020] 步驟SllO :監(jiān)測云測試平臺中各個設(shè)備的狀態(tài),每當監(jiān)測到從運行狀態(tài)轉(zhuǎn)變?yōu)榭?閑狀態(tài)的設(shè)備時,將該設(shè)備加入與其設(shè)備標識對應(yīng)的設(shè)備空閑隊列。
[0021] 具體地,在監(jiān)測各個設(shè)備的狀態(tài)時可以靈活采取多種方式。例如,在云測試平臺 中,每當一個設(shè)備上線后,就將其狀態(tài)作為心跳包發(fā)送給服務(wù)器,即:每個上線的設(shè)備每隔 一定的時間間隔就向服務(wù)器匯報一次狀態(tài),使服務(wù)器能夠及時了解其當前狀態(tài)?;蛘撸總€ 上線的設(shè)備也可以僅在其狀態(tài)發(fā)生改變時向服務(wù)器匯報,使服務(wù)器及時了解其變化后的狀 態(tài)。上述兩種方式既可以單獨使用,也可以結(jié)合使用。除了上述兩種方式外,還可以由服務(wù) 器通過一個專門的進程來探測各個設(shè)備的狀態(tài),總之,本領(lǐng)域技術(shù)人員能夠通過多種方式 來監(jiān)測設(shè)備狀態(tài),本發(fā)明對此不作限定。每當監(jiān)測到一個設(shè)備從運行狀態(tài)轉(zhuǎn)變?yōu)榭臻e狀態(tài) 時,將其加入預(yù)設(shè)的設(shè)備空閑隊列中。其中,設(shè)備空閑隊列為多個按照設(shè)備標識進行區(qū)分的 隊列,每個設(shè)備空閑隊列對應(yīng)唯一的設(shè)備標識,用于存儲該設(shè)備標識所對應(yīng)的所有空閑狀 態(tài)的設(shè)備。另外,為了防止遺漏某一設(shè)備,在本步驟中還可以先將監(jiān)測到的從運行狀態(tài)轉(zhuǎn)變 為空閑狀態(tài)的設(shè)備加入預(yù)設(shè)的設(shè)備空閑總隊列中,再從設(shè)備空閑總隊列中取出設(shè)備并根據(jù) 取出設(shè)備的設(shè)備標識將其加入對應(yīng)的設(shè)備空閑隊列中。
[0022] 步驟S120 :每當接收到測試任務(wù)后,根據(jù)測試任務(wù)中包含的設(shè)備標識查找與該設(shè) 備標識對應(yīng)的設(shè)備空閑隊列。
[0023] 其中,可以通過將用戶終端發(fā)出的測試請求中包含的任務(wù)類型乘以測試請求中包 含的設(shè)備數(shù)量來確定測試任務(wù)的數(shù)量,因此,每一測試任務(wù)僅由一款設(shè)備運行,根據(jù)運行該 任務(wù)的設(shè)備的設(shè)備標識查找與該設(shè)備標識對應(yīng)的設(shè)備空閑隊列。
[0024] 上述步驟SllO和步驟S120之間沒有嚴格的先后順序,在實際情況中,可以由不同 的線程并行執(zhí)行。
[0025] 步驟S130 :當設(shè)備空閑隊列中有可用設(shè)備時,將該測試任務(wù)分配給該可用設(shè)備, 并將該可用設(shè)備從設(shè)備空閑隊列中刪除。
[0026] 在上述的步驟S110-S130中,通過設(shè)備空閑隊列使得測試任務(wù)能夠從海量的設(shè)備 中快速查找到可用的空閑設(shè)備,因此,只要平臺中有能夠執(zhí)行該測試任務(wù)的空閑設(shè)備,該測 試任務(wù)就能立即執(zhí)行。具體地,通過多個設(shè)備空閑隊列對空閑設(shè)備進行分類存儲,每一設(shè)備 空閑隊列中僅存儲一種設(shè)備標識所對應(yīng)的空閑設(shè)備,從而能夠根據(jù)設(shè)備標識迅速查找到對 應(yīng)的空閑設(shè)備,在云測試平臺包含海量設(shè)備的應(yīng)用場景中大幅提高了查詢速度。另外,在本 發(fā)明中還可以將一個測試請求分解為多個測試任務(wù),每個測試任務(wù)僅由一款設(shè)備運行,因 此,在分配任務(wù)時可以直接根據(jù)測試任務(wù)中包含的設(shè)備標識進行分配,由此一來,能夠使多 個測試任務(wù)并行分配,從而大幅提高了分配效率。
[0027] 可選地,為了處理暫時因沒有空閑設(shè)備而無法執(zhí)行的任務(wù),上述方法還可以進一 步包括下述的步驟S140。
[0028] 步驟S140 :當設(shè)備空閑隊列中沒有可用設(shè)備時,將測試任務(wù)按照其中包含的設(shè)備 標識存儲到對應(yīng)的任務(wù)等待隊列;定期獲取任務(wù)等待隊列對應(yīng)的設(shè)備標識,查找與獲取到 的設(shè)備標識對應(yīng)的設(shè)備空閑隊列,當設(shè)備空閑隊列中有可用設(shè)備時,將任務(wù)等待隊列中的 任務(wù)分配給可用設(shè)備,并將可用設(shè)備從設(shè)備空