專利名稱:一種基于粒子群禁忌組合的并行測試任務(wù)調(diào)度方法及平臺的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于自動(dòng)測試系統(tǒng)并行測試任務(wù)調(diào)度領(lǐng)域,具體涉及一種基于粒子群禁忌 組合的并行測試任務(wù)調(diào)度方法及平臺。
背景技術(shù):
傳統(tǒng)自動(dòng)測試系統(tǒng),受測試接口容量和測試軟件運(yùn)行模式的限制,大多沿用串行 測試工作模式,不能同時(shí)對多個(gè)UUT (Unit Under Test,被測設(shè)備)或者單個(gè)UUT的多項(xiàng)任 務(wù)進(jìn)行測試,測試的方法主要是順序測試,一次僅能完成一個(gè)測試任務(wù),所以測試吞吐量并 不高。計(jì)算機(jī)要么在等待測試儀器完成測試,要么在等待被測設(shè)備到達(dá)指定狀態(tài)開始測試。 所以計(jì)算機(jī)和測試儀器資源一般有70% 80%的時(shí)間處于空閑狀態(tài),整個(gè)系統(tǒng)的測試效 率極低。但是在技術(shù)水平越來越高、測試儀器越來越多樣、測試手段越來越豐富的今天,串 行測試的低效率已經(jīng)成為自動(dòng)測試系統(tǒng)發(fā)展的瓶頸。為提高自動(dòng)測試系統(tǒng)資源的利用率, 在自動(dòng)測試平臺上實(shí)現(xiàn)并行測試是一種十分有效的解決途徑。并行測試技術(shù)根植于并行處 理技術(shù),其宏觀表現(xiàn)為,在并行測試程序的控制下對多個(gè)被測對象同時(shí)測試。相比傳統(tǒng)的順 序測試技術(shù),它通過對系統(tǒng)資源的優(yōu)化利用可以大幅度提高測試效能,提高測試資源利用 率,降低整個(gè)測試過程的測試成本(包括測試時(shí)間)。它通過增加單位時(shí)間內(nèi)被測件的數(shù)量 來提高系統(tǒng)的吞吐率;通過減少儀器及CPU的閑置時(shí)間來提高設(shè)備的利用率;通過對貴重 設(shè)備的共享來節(jié)約測試成本。因此,采用并行測試技術(shù)能夠增加測試系統(tǒng)的吞吐量,提高系 統(tǒng)硬件的使用效率,從而減少測試時(shí)間,降低測試成本。測試任務(wù)的合理調(diào)度是實(shí)現(xiàn)并行測試的關(guān)鍵技術(shù)之一,測試任務(wù)的調(diào)度是 NP(Nondeterministic Polynomial)難題。目前,主要有兩類解決并行測試任務(wù)調(diào)度的方 法。一類是采用基于規(guī)則和枚舉的方法,此類方法是基于規(guī)則的條件下利用窮舉的思想得 到并行調(diào)度結(jié)果,是一種簡單的隨機(jī)搜索方法,一般每次都能得到最優(yōu)解,但是方法相當(dāng)?shù)?費(fèi)時(shí),特別是測試任務(wù)繁多且測試任務(wù)間約束關(guān)系強(qiáng)的情況下,此類方法的耗時(shí)是不可接 受的,所以該方法適用于測試任務(wù)數(shù)少、約束關(guān)系弱的情況。另一類是采用單一的智能搜索 方法,這種方法可以獲得滿足某種性能指標(biāo)的最優(yōu)解,但缺少對資源沖突、系統(tǒng)鎖死的問題 的形式化分析。目前應(yīng)用于并行測試任務(wù)調(diào)度的方法有JaskScheduler-T、多色蟻群、禁 忌、遺傳、模擬退火。目前這些方法所應(yīng)用的任務(wù)調(diào)度模型還沒有一個(gè)統(tǒng)一的數(shù)學(xué)描述,所 以建立一個(gè)統(tǒng)一的并行測試任務(wù)調(diào)度平臺與模型描述至關(guān)重要。面對當(dāng)前軍事、民用發(fā)展對自動(dòng)測試系統(tǒng)性能越來越高的要求,現(xiàn)有的一些調(diào)度 方法選擇單一的目標(biāo)函數(shù)在很多情況下顯得越來越不適應(yīng),可以通過聯(lián)合多種智能搜索方 法或智能方法與常規(guī)方法的結(jié)合,并考慮測試人員關(guān)心的成本、儀器資源負(fù)載平衡、測試時(shí) 間長短各方面著手,從整體上提高方法的性能與適用性,從而滿足現(xiàn)代并行測試系統(tǒng)對減 少儀器及CPU的閑置時(shí)間,提高系統(tǒng)設(shè)備的利用率,縮短測試周期的諸多需求。因此,多目 標(biāo)函數(shù)、多種方法結(jié)合的研究對并行測試系統(tǒng)的任務(wù)調(diào)度具有重要的現(xiàn)實(shí)意義。
發(fā)明內(nèi)容
本發(fā)明的目的是建立一個(gè)統(tǒng)一的并行任務(wù)調(diào)度平臺,提供了測試資源、信號類型、 測試任務(wù)、約束關(guān)系、調(diào)度結(jié)果統(tǒng)一管理的架構(gòu),同時(shí)平臺提供了調(diào)度方法的擴(kuò)展機(jī)制,利 于調(diào)度結(jié)果的比較與分析,提升平臺性能。同時(shí)為了解決現(xiàn)有調(diào)度方法容易陷入局部最優(yōu)、 尋優(yōu)概率低、適應(yīng)性差的技術(shù)問題,提出了一種基于粒子群與禁忌方法組合的并行測試任 務(wù)調(diào)度方法。本發(fā)明的并行測試任務(wù)調(diào)度平臺,包括測試資源與測試任務(wù)輸入模塊、數(shù)據(jù)庫模 塊、數(shù)據(jù)庫管理模塊、表格與參數(shù)選擇模塊、調(diào)度方法模塊、調(diào)度結(jié)果模塊、調(diào)度結(jié)果顯示與 比較模塊和方法擴(kuò)展模塊。測試資源與測試任務(wù)輸入模塊是并行測試任務(wù)調(diào)度平臺的入口,測試資源與測試 任務(wù)輸入模塊輸入數(shù)據(jù)包括測試資源表、測試任務(wù)表、測試任務(wù)間的約束關(guān)系表、信號類 型表、粒子群禁忌組合方法的參數(shù)設(shè)置數(shù)據(jù),輸入數(shù)據(jù)表格與參數(shù)保存至數(shù)據(jù)庫模塊;數(shù)據(jù) 庫模塊將測試資源與測試任務(wù)輸入模塊輸入的數(shù)據(jù)存儲到數(shù)據(jù)庫中;數(shù)據(jù)庫管理模塊負(fù)責(zé) 對數(shù)據(jù)庫模塊中存儲的數(shù)據(jù)表格和參數(shù)的添加、刪除、修改操作;表格與參數(shù)選擇模塊從數(shù) 據(jù)庫模塊中選取調(diào)度方法模塊需要的測試任務(wù)表、測試資源表、測試任務(wù)間的約束關(guān)系表、 粒子群禁忌組合的并行測試任務(wù)調(diào)度方法必要的參數(shù),并且輸出至調(diào)度方法模塊;當(dāng)需要 采用粒子群禁忌組合的并行測試任務(wù)調(diào)度方法以外的調(diào)度方法時(shí),方法擴(kuò)展模塊將新的調(diào) 度方法加入調(diào)度方法模塊中;調(diào)度方法模塊采用粒子群禁忌組合方法或方法擴(kuò)展模塊添加 的調(diào)度方法對表格與參數(shù)選擇模塊輸出的數(shù)據(jù)進(jìn)行運(yùn)算,生成的調(diào)度結(jié)果輸出至調(diào)度結(jié)果 模塊;調(diào)度結(jié)果模塊將調(diào)度結(jié)果存儲至數(shù)據(jù)庫模塊或者直接輸出至調(diào)度結(jié)果顯示與比較模 塊;調(diào)度結(jié)果顯示與比較模塊可以接收來自數(shù)據(jù)庫模塊和調(diào)度結(jié)果模塊的數(shù)據(jù),可以將同 一方法或不同方法的調(diào)度結(jié)果顯示與比較,通過對調(diào)度結(jié)果的比較調(diào)整粒子群禁忌組合方 法的參數(shù),參數(shù)的調(diào)整取決于測試任務(wù)的規(guī)模、用戶的經(jīng)驗(yàn)以及逼近最優(yōu)調(diào)度結(jié)果的程度。其中數(shù)據(jù)庫模塊和調(diào)度方法模塊是整個(gè)平臺的核心。該平臺搭建了一個(gè)可以管理 測試資源、測試任務(wù)、測試任務(wù)間的約束關(guān)系以及調(diào)度結(jié)果數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng),為數(shù)據(jù)的統(tǒng) 一維護(hù)與存儲提供了保障。同時(shí)平臺還添加了調(diào)度方法擴(kuò)展模塊,從而使整個(gè)平臺具有很 好的擴(kuò)展性。本發(fā)明的一種基于粒子群禁忌組合的并行測試任務(wù)調(diào)度方法,綜合了粒子群方法 易于實(shí)現(xiàn)、無需梯度信息、參數(shù)少、離散優(yōu)化問題表現(xiàn)優(yōu)良的特點(diǎn),以及禁忌方法模仿人類 的記憶能力避免在搜索過的區(qū)域迂回搜索、適合組合優(yōu)化問題的特點(diǎn),同時(shí)結(jié)合了粒子群 方法與禁忌方法在鄰域搜索的優(yōu)勢,補(bǔ)償了單一方法在并行測試任務(wù)調(diào)度過程中容易陷入 局部最優(yōu)、尋優(yōu)概率低、適應(yīng)性差的缺陷,另外粒子群禁忌組合的并行測試任務(wù)調(diào)度方法采 用了多目標(biāo)函數(shù),使該方法有很廣的應(yīng)用范圍,該組合方法的關(guān)鍵在于粒子群與禁忌方法 的結(jié)合。粒子群禁忌組合的并行測試任務(wù)調(diào)度方法包括8個(gè)步驟,分別為提取參數(shù)、初始 化、求解測試儀器調(diào)度矩陣、更新個(gè)體歷史最優(yōu)解、更新全局歷史最優(yōu)解、更新粒子速度與 位置、判斷是否結(jié)束、結(jié)果輸出。在求解最優(yōu)并行測試任務(wù)調(diào)度結(jié)果時(shí),粒子群禁忌組合的 并行測試任務(wù)調(diào)度方法將調(diào)度結(jié)果分兩個(gè)部分,一部分是測試任務(wù)調(diào)度序列,另一部分是 對應(yīng)于測試任務(wù)調(diào)度序列的測試儀器調(diào)度矩陣。將調(diào)度結(jié)果分兩部分一方面便于粒子群禁忌組合方法對兩部分解進(jìn)行迭代運(yùn)算,另一方面解決了單一算法難以處理高維的復(fù)雜數(shù)據(jù) 結(jié)構(gòu)。本發(fā)明的優(yōu)點(diǎn)在于(1)建立了測試資源、信號類型、測試任務(wù)、約束關(guān)系、調(diào)度結(jié)果統(tǒng)一的數(shù)據(jù)管理系 統(tǒng),便于系統(tǒng)的維護(hù);(2)粒子群禁忌組合的并行測試任務(wù)調(diào)度方法不僅適用于無或弱約束關(guān)系的測試 任務(wù)調(diào)度,也適合于強(qiáng)約束關(guān)系的測試任務(wù)調(diào)度;(3)組合了多種鄰域搜索方法的優(yōu)勢,彌補(bǔ)了單一調(diào)度方法容易陷入局部最優(yōu)、尋 優(yōu)概率低、適應(yīng)性差的缺陷;(4)搭建了一個(gè)統(tǒng)一的并行任務(wù)調(diào)度平臺,便于調(diào)度方法擴(kuò)展以及不同方法或同 一方法調(diào)度結(jié)果的比較與分析,有利于并行測試任務(wù)調(diào)度平臺性能的提升。
圖1是本發(fā)明一種基于粒子群禁忌組合的并行測試任務(wù)調(diào)度平臺的結(jié)構(gòu)示意圖;圖2是本發(fā)明一種基于粒子群禁忌組合的并行測試任務(wù)調(diào)度方法流程圖。圖中1.測試資源與測試任務(wù)輸入模塊2.數(shù)據(jù)庫模塊3.數(shù)據(jù)庫管理模塊 4.表格與參數(shù)選擇模塊5.調(diào)度方法模塊6.調(diào)度結(jié)果模塊 7.調(diào)度結(jié)果顯示與比較模塊 8.方法擴(kuò)展模塊
具體實(shí)施例方式下面將結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。本發(fā)明是一種并行測試任務(wù)調(diào)度平臺,該平臺的結(jié)構(gòu)如圖1所示,包括測試資源 與測試任務(wù)輸入模塊1、數(shù)據(jù)庫模塊2、數(shù)據(jù)庫管理模塊3、表格與參數(shù)選擇模塊4、調(diào)度方法 模塊5、調(diào)度結(jié)果模塊6、調(diào)度結(jié)果顯示與比較模塊7和方法擴(kuò)展模塊8。測試資源與測試任務(wù)輸入模塊1是并行測試任務(wù)調(diào)度平臺的入口,測試資源與測 試任務(wù)輸入模塊1與數(shù)據(jù)庫模塊2連接,測試資源與測試任務(wù)輸入模塊1可以輸入的數(shù)據(jù) 包括測試資源表、測試任務(wù)表、測試任務(wù)間的約束關(guān)系表、信號類型表、粒子群禁忌組合方 法的參數(shù)設(shè)置數(shù)據(jù),輸入的數(shù)據(jù)表格與參數(shù)保存至數(shù)據(jù)庫模塊2。數(shù)據(jù)庫模塊2從測試資源與測試任務(wù)輸入模塊1得到的數(shù)據(jù)按照設(shè)計(jì)好的數(shù)據(jù)庫 格式存儲到數(shù)據(jù)庫中,數(shù)據(jù)庫中的表格是以關(guān)系數(shù)據(jù)表的形式存在。具體數(shù)據(jù)表格形式如 表1 表4所示。表1測試資源表
權(quán)利要求
一種基于粒子群禁忌組合的并行測試任務(wù)調(diào)度平臺,其特征在于,包括測試資源與測試任務(wù)輸入模塊、數(shù)據(jù)庫模塊、數(shù)據(jù)庫管理模塊、表格與參數(shù)選擇模塊、調(diào)度方法模塊、調(diào)度結(jié)果模塊、調(diào)度結(jié)果顯示與比較模塊和方法擴(kuò)展模塊;測試資源與測試任務(wù)輸入模塊是并行測試任務(wù)調(diào)度平臺的入口,測試資源與測試任務(wù)輸入模塊輸入數(shù)據(jù)包括測試資源表、測試任務(wù)表、測試任務(wù)間的約束關(guān)系表、信號類型表、粒子群禁忌組合的并行測試任務(wù)調(diào)度方法的參數(shù),輸入的數(shù)據(jù)表格與參數(shù)保存至數(shù)據(jù)庫模塊;數(shù)據(jù)庫模塊將測試資源與測試任務(wù)輸入模塊輸入的數(shù)據(jù)存儲到數(shù)據(jù)庫中;數(shù)據(jù)庫管理模塊負(fù)責(zé)對數(shù)據(jù)庫模塊中存儲的數(shù)據(jù)表格和參數(shù)的添加、刪除、修改操作;表格與參數(shù)選擇模塊從數(shù)據(jù)庫模塊中選取調(diào)度方法模塊需要的測試任務(wù)集、測試資源表、對應(yīng)測試任務(wù)集的約束關(guān)系表、粒子群禁忌組合的并行測試任務(wù)調(diào)度方法的參數(shù),并且輸出至調(diào)度方法模塊;當(dāng)需要采用粒子群禁忌組合的并行測試任務(wù)調(diào)度方法以外的調(diào)度方法時(shí),方法擴(kuò)展模塊將新的調(diào)度方法加入調(diào)度方法模塊中;調(diào)度方法模塊采用粒子群禁忌組合的并行測試任務(wù)調(diào)度方法或方法擴(kuò)展模塊添加的其他調(diào)度方法對表格與參數(shù)選擇模塊輸出的數(shù)據(jù)進(jìn)行運(yùn)算,生成的調(diào)度結(jié)果輸出至調(diào)度結(jié)果模塊;調(diào)度結(jié)果模塊將調(diào)度結(jié)果存儲至數(shù)據(jù)庫模塊或者直接輸出至調(diào)度結(jié)果顯示與比較模塊;調(diào)度結(jié)果顯示與比較模塊分別接收數(shù)據(jù)庫模塊和調(diào)度結(jié)果模塊的數(shù)據(jù),對同一方法或不同方法的調(diào)度結(jié)果進(jìn)行顯示與比較。
2.一種基于粒子群禁忌組合的并行測試任務(wù)調(diào)度方法,其特征在于,包括以下8個(gè)步驟第1步提取參數(shù)表格與參數(shù)選擇模塊從數(shù)據(jù)庫模塊中提取的數(shù)據(jù)表格抽象后的數(shù)學(xué)描述為測試任 務(wù)集τ = It1, t2,…,tj, ...,tM}和儀器資源集R = Ir1, T2,…,!>...,rn},t」對應(yīng)于 測試任務(wù)表的測試任務(wù)號,M為測試任務(wù)數(shù),^對應(yīng)于儀器資源表的儀器號,η為儀器資源 數(shù);測試任務(wù)、的測試方案集為爐7 ={<,<,……wJk},j = 1,2,…M,j為測試任務(wù)號,kj 為測試任務(wù)、的測試方案總數(shù),對應(yīng)于測試任務(wù)表的測試方案數(shù);方案<的占用資源集為 Rji 二 {rfU:、,j = 1,2,...,M,i = 1,2,... kj; Iji 為占用資源集 Rji 的資源總數(shù),滬對應(yīng)于測試任務(wù)表中測試方案N所用的測試儀器,測試任務(wù)、的測試方案i的測試用時(shí) 為h";任務(wù)之間構(gòu)成的時(shí)序矩陣為[TS]MXM,M為測試任務(wù)總數(shù),若測試任務(wù)、優(yōu)先于測試 任務(wù)ti;即任務(wù)間的約束關(guān)系,則[TS]MXM(i,j) = 1,否則[TS]MXM(i,j) = 0 ;提取粒子群禁忌組合的并行測試任務(wù)調(diào)度方法的參數(shù)包括禁忌方法最大迭代次數(shù) Nmax2、禁忌表長度k、粒子群方法最大迭代次數(shù)Nmaxl、粒子群的大小S、粒子最大飛行速度Vmax、 結(jié)束閥值ε,閥值ε的設(shè)置以結(jié)果未變化的次數(shù)為界線,當(dāng)結(jié)果連續(xù)ε次未變化則結(jié)束; 第2步初始化對每個(gè)粒子進(jìn)行隨機(jī)初始化,包括粒子位置Xi和初始飛行速度\,并設(shè)粒子群方法當(dāng)前迭代次數(shù)N1 = 0 ;每個(gè)粒子位置Xi代表一個(gè)可行的測試序列; Xi = (Xn,Xi2' · · ·,Xim, · · ·,XiM) Xim e T, T 為iiji式任務(wù)集 ,viM)-Vfflax < Viffl < Vmax,Vfflax為粒子最大飛行速度其中xim、vim分別為粒子\與粒子飛行速度Vi的第m維分量,1彡i彡s,1彡m彡M,M 為測試任務(wù)總數(shù),s為粒子群的大?。?第3步求解測試儀器調(diào)度矩陣?yán)媒煞椒ㄓ?jì)算每個(gè)粒子i最好適應(yīng)度值所對應(yīng)的測試儀器調(diào)度矩陣RTi ;'3. 1 清空禁忌表、禁忌方法迭代次數(shù)N2 = 0 ;'3. 2 對每個(gè)粒子i隨機(jī)產(chǎn)生測試儀器調(diào)度矩陣RTi ;
3.根據(jù)權(quán)利要求2所述的一種基于粒子群禁忌組合的并行測試任務(wù)調(diào)度方法,其特征 在于,所述的第1步中ε =0. 3XNmaxl。全文摘要
本發(fā)明公開了一種基于粒子群禁忌組合的并行測試任務(wù)調(diào)度方法及平臺,該平臺包括測試資源與測試任務(wù)輸入模塊、數(shù)據(jù)庫模塊、數(shù)據(jù)庫管理模塊、表格與參數(shù)選擇模塊、調(diào)度方法模塊、調(diào)度結(jié)果模塊、調(diào)度結(jié)果顯示與比較模塊和方法擴(kuò)展模塊。本平臺首先將測試資源與測試任務(wù)數(shù)據(jù)存入數(shù)據(jù)庫模塊;然后用粒子群禁忌組合方法對數(shù)據(jù)庫中提取的測試相關(guān)數(shù)據(jù)進(jìn)行運(yùn)算;最后將調(diào)度結(jié)果存儲于數(shù)據(jù)庫或直接在調(diào)度結(jié)果顯示與比較模塊中顯示比較。本平臺可以擴(kuò)展其它調(diào)度方法。本發(fā)明分析了目前各種并行任務(wù)調(diào)度方法的優(yōu)缺點(diǎn),提出基于粒子群禁忌組合的并行測試任務(wù)調(diào)度方法,克服單一算法容易陷入局部最優(yōu)的缺陷,并將該方法應(yīng)用于并行測試任務(wù)調(diào)度中。
文檔編號G06F11/36GK101976221SQ20101050723
公開日2011年2月16日 申請日期2010年10月14日 優(yōu)先權(quán)日2010年10月14日
發(fā)明者劉欣, 路輝, 郎榮玲, 陳曉 申請人:北京航空航天大學(xué)