復雜約束條件下多組件軟件部署的自動化與自適應方法及其部署管理系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種復雜約束條件下多組件軟件部署的自動化與自適應方法及其部署管理系統(tǒng),屬于計算機軟件部署和維護【技術領域】。首先使用部署描述語言描述多組件軟件的部署需求及其部署約束條件,然后通過使用設備狀態(tài)信息探測器、約束求解器和自動部署器,部署管理系統(tǒng)能夠根據(jù)部署需求和實時探測到的設備狀態(tài)信息,通過調用約束求解器,自動地、動態(tài)地生成滿足約束條件的部署計劃,并自動執(zhí)行部署活動,從而實現(xiàn)對復雜約束條件下多組件軟件部署的自動化和自適應支持,同時軟件部署的效率高、成本低、質量好。
【專利說明】復雜約束條件下多組件軟件部署的自動化與自適應方法及 其部署管理系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及一種多組件軟件部署的自動化與自適應方法及其部署管理系統(tǒng),屬于 計算機軟件部署和維護【技術領域】。
【背景技術】
[0002] 軟件部署是指在軟件開發(fā)完成后保證軟件可用并正常運行的過程,包括安裝、配 置、激活、升級、停止、卸載等一系列活動。多組件軟件的部署過程可以分為兩個階段:部署 設計和部署執(zhí)行。部署設計人員通過分析軟件組件的部署需求和所有可用部署設備的信 息,提出一個可行的部署計劃,而部署計劃本質上表達的是軟件組件和部署設備之間的部 署映射關系,這個映射關系能滿足所有的軟件部署需求。部署執(zhí)行人員在得到部署計劃之 后,就可以在每一個設備上部署相應的軟件組件。
[0003] 近年來,隨著計算設備的多樣化和網絡化,部署在這些設備上的多組件軟件的體 系結構和設計要求變得越來越復雜化,多組件軟件的部署需求通常包含復雜的部署約束條 件,而部署計劃必須滿足這些復雜的約束條件。例如,在普適計算環(huán)境下,由于使用了大量 的不同類型、不同計算能力且網絡化的計算設備進行協(xié)同工作,使得應用軟件往往具有復 雜的體系結構和設計要求,進而產生復雜的部署約束條件;在云計算環(huán)境下,由于系統(tǒng)將大 量異構的、分布式的計算設備或存儲資源作為一個整體進行管理,使得系統(tǒng)管理軟件同樣 具有復雜的體系結構和設計要求,進而產生復雜的部署約束條件。此外,在這些軟件的運行 過程中,設備的失效、設備離開或加入一個網絡,都可能導致原有部署計劃的失效,使得設 計人員必須對部署計劃進行動態(tài)調整。
[0004] 這些新情況使得軟件部署變得具有挑戰(zhàn)性。一方面,由于多組件軟件的部署約束 條件的復雜性,生成正確的部署計劃是非常困難的,尤其是由人工對部署約束條件進行分 析,從而生成部署計劃的時候,得到的部署計劃往往包含考慮不全面和錯誤的情況。另一方 面,多組件軟件系統(tǒng)的部署計劃可能是動態(tài)變化的,例如,可能需要根據(jù)應用環(huán)境的變化而 動態(tài)地添加或刪除某設備上所部署的組件,網絡結構的變化可能導致原有部署計劃的失效 等等,所以部署計劃也應該相應地做出動態(tài)調整,并被及時執(zhí)行,以保證軟件的正確運行。 因此,復雜的部署約束條件和動態(tài)變化的部署計劃使得多組件軟件的部署成為一項非常復 雜而具有挑戰(zhàn)性的工作。
[0005] 目前,已有許多不同的軟件部署方法和工具被應用到多組件軟件的部署工作中, 這些工具主要可以分為兩類:手動部署和自動化部署。
[0006] 手動部署是指:部署設計人員通過人工分析軟件組件的部署需求和部署設備信 息,生成部署計劃,然后將部署計劃輸入部署工具中,最后部署工具根據(jù)部署計劃完成軟件 的安裝等相關活動。其優(yōu)點在于,人工分析過程可以適用于任意的軟件系統(tǒng)和部署需求,適 用性強。其缺點在于:對于復雜約束條件下大規(guī)模多組件軟件系統(tǒng)的部署工作,(1)部署設 計人員和執(zhí)行人員需要手動分析和管理各項部署活動,很可能會超出普通技術人員的能力 范圍;(2)部署約束條件的復雜性使得手動分析的成本大幅度增加,而且非常容易出錯,甚 至難以完成;(3)部署計劃的動態(tài)變化使得手動管理的成本大幅度增加,部署計劃的調整 可能不及時,而且非常容易出錯。
[0007] 自動化部署是指:依據(jù)部署設備運行的網絡環(huán)境,部署工具利用特定的協(xié)議獲取 部署設備信息,然后在人工輔助下生成部署計劃,最后部署工具根據(jù)部署計劃自動完成軟 件的安裝等相關活動。其優(yōu)點在于,自動化部署可以利用特定的協(xié)議自動完成部署設備信 息的獲取,自動管理部署設備,并自動執(zhí)行部署計劃,一定程度上減少了人力成本。其缺點 在于:(1)只能適用于特定的網絡環(huán)境,不具有普適性;(2)只能處理較簡單的部署需求,對 于用戶自定義的復雜部署約束條件的分析仍然依賴于人工,使得分析成本較高,而且非常 容易出錯,甚至難以完成;(3)沒有考慮到網絡環(huán)境中設備失效、設備離開或新設備加入等 情況導致的部署計劃的動態(tài)變化,不能實現(xiàn)部署的自適應。
[0008] 因此,有必要提供一種新的軟件部署的方法和技術,以實現(xiàn)對復雜約束條件下多 組件軟件部署的支持,盡量減少人工的參與,保證部署過程的自動化和自適應,從而克服現(xiàn) 有軟件部署方法和工具中存在的技術問題。
【發(fā)明內容】
[0009] 發(fā)明目的:為了克服現(xiàn)有技術中存在的不足,本發(fā)明提供一種復雜約束條件下多 組件軟件部署的自動化與自適應方法,通過引入部署描述語言、設備狀態(tài)信息探測器、約束 求解器和自動部署器等模塊,使得設計人員可以方便而準確地描述多組件軟件的部署需求 及其部署約束條件,然后部署管理系統(tǒng)可以根據(jù)部署需求和實時探測到的設備狀態(tài)信息, 通過調用約束求解器,自動地、動態(tài)地生成滿足約束條件的部署計劃,并自動執(zhí)行部署活 動,從而實現(xiàn)對復雜約束條件下多組件軟件部署的自動化和自適應支持,克服現(xiàn)有軟件部 署方法和工具中存在的技術問題。
[0010] 為實現(xiàn)上述目的,本發(fā)明采用的技術方案為:一種復雜約束條件下多組件軟件部 署的自動化與自適應方法,首先使用部署描述語言描述多組件軟件的部署需求及其部署約 束條件,然后通過使用設備狀態(tài)信息探測器、約束求解器和自動部署器,部署管理系統(tǒng)能夠 根據(jù)部署需求和實時探測到的設備狀態(tài)信息,通過調用約束求解器,自動地、動態(tài)地生成滿 足約束條件的部署計劃,并自動執(zhí)行部署活動,從而實現(xiàn)對復雜約束條件下多組件軟件部 署的自動化和自適應支持,
[0011] 所述部署描述語言,用于以代碼的形式來描述軟件部署需求中涉及到的主要元 素,包括:軟件組件、部署約束、設備狀態(tài)信息探測器、各軟件組件必須滿足的部署約束列 表。通過實現(xiàn)該部署描述語言的語言解析器,可以從部署描述代碼中解析獲得組件列表、約 束列表、探測器列表、組件約束矩陣等。
[0012] 本發(fā)明的基本思想包括:步驟1、定義部署描述語言,以實現(xiàn)對軟件系統(tǒng)的部署需 求的準確描述;2、使用部署描述語言對軟件系統(tǒng)包含的組件、部署約束和探測器進行描述; 3、利用部署描述語言的語言解析器從部署需求的描述代碼中獲取組件列表、約束列表和探 測器列表;4、將探測器部署到部署目標設備上,運行并實時獲取設備的狀態(tài)信息;5、利用 約束求解器基于設備的狀態(tài)信息對部署約束進行自動求解;6、根據(jù)約束求解器的求解結 果,生成相應的部署計劃;7、根據(jù)部署計劃,自動部署器自動完成軟件系統(tǒng)組件的下載、安 裝等部署活動;8、在軟件運行過程中,當設備狀態(tài)發(fā)生變化時,需要進行部署調整時,重新 執(zhí)行步驟4-7。
[0013] 利用該部署描述語言及其語言解析器,本發(fā)明采用的技術方案包括以下步驟:
[0014] 第1步:在所有可用設備上安裝部署管理系統(tǒng)的客戶端,所述客戶端包括設備狀 態(tài)信息探測器和自動部署器;所述客戶端用于獲取指定位置的軟件、運行獲取的軟件并獲 取信息以及與服務器端通信;同時在主控服務器上安裝部署管理系統(tǒng)的服務器端,所述服 務器端包括約束求解器,所述服務器端用于解析部署描述代碼、生成部署計劃以及與客戶 端通信;
[0015] 第2步:對待部署的多組件軟件系統(tǒng)進行結構和部署需求分析,得到多組件軟件 系統(tǒng)的部署需求,使用部署描述語言以代碼的形式對該部署需求進行描述;
[0016] 第3步:利用部署描述語言的語言解析器對第2步得到的部署描述語言的描述內 容進行解析,得到組件列表、約束列表、探測器列表,所述約束包括獨立約束和關聯(lián)約束;由 組件列表和約束列表中用到的獨立約束獲得組件約束矩陣MCom ;通過分析約束列表中用 到的獨立約束的內容,獲取需要使用的探測器列表;
[0017] 第4步:部署管理系統(tǒng)的服務器端將需要使用的探測器列表發(fā)送給所有已連接設 備的客戶端,各個設備利用部署管理系統(tǒng)的客戶端,實時獲取設備的狀態(tài)信息,并將這些信 息發(fā)送給服務器端;
[0018] 第5步:部署管理系統(tǒng)的服務器端接收客戶端發(fā)送的設備狀態(tài)信息,并存儲為狀 態(tài)信息表MInfo,然后計算各個設備滿足獨立約束的情況,并存儲為設備約束矩陣MDev ;
[0019] 第6步:根據(jù)組件約束矩陣MCom和設備約束矩陣MDev的值,將獨立約束和關聯(lián)約 束分別轉化為命題邏輯表達式或者其他表達能力更強的高級邏輯表達式,并用合取連詞Λ 連接,作為待求解邏輯表達式;
[0020] 第7步:利用約束求解器對第6步得到的待求解邏輯表達式進行可滿足性求解,根 據(jù)約束求解器的輸出,如果該邏輯表達式可滿足,則得到一個求解結果;如果該邏輯表達式 不可滿足,則表示"該部署需求的約束條件不可滿足",轉至第2步重新設計部署需求;
[0021] 第8步:將約束求解器的求解結果轉換為對應的部署計劃;
[0022] 第9步:部署管理系統(tǒng)的服務器端將第3步得到的組件列表和第8步得到的部署 計劃發(fā)送給所有客戶端,然后客戶端根據(jù)部署計劃和組件列表中給出的信息,自動完成對 應組件的下載、安裝、配置、激活部署活動;
[0023] 第10步:在軟件的運行過程中,服務器端對客戶端的狀態(tài)進行實時監(jiān)控,當設備 狀態(tài)發(fā)生變化時,如果需要調整部署計劃,則重新執(zhí)行第4步至第9步。
[0024] 所述第2步中的部署描述語言的描述內容包括:對多組件軟件系統(tǒng)中各個組件的 定義、對各個部署約束條件的定義、對各個設備狀態(tài)信息探測程序的定義、對各軟件組件必 須滿足的部署約束列表的定義。
[0025] 所述第3步中對第2步得到的部署描述語言的描述內容進行解析的方法包括:根 據(jù)多組件軟件系統(tǒng)中各個組件的定義,得到組件列表,其中組件個數(shù)為X個;根據(jù)各個部署 約束條件的定義,得到約束列表,所述約束包括獨立約束和關聯(lián)約束;根據(jù)各個設備狀態(tài)信 息探測程序的定義,得到探測器列表;最后對部署需求代碼區(qū)進行解析,按獨立約束被使用 的順序對用到的獨立約束依次編號,其中包含ζ個獨立約束;根據(jù)各軟件組件必須滿足的 部署約束列表的定義,由組件列表和用到的獨立約束獲得組件約束矩陣MCom ;所述組件約 束矩陣MCom是一個xXz大小的布爾類型矩陣,用于記錄部署描述代碼中組件和需要滿足 的獨立約束之間的對應關系,其中,X為組件列表中組件的個數(shù),z為獨立約束的個數(shù);如果 第i行第j列的元素為1,則表示第i個組件必須滿足第j個約束,如果為〇,則表示第i個 組件不需要滿足第j個約束;通過分析用到的獨立約束的內容,獲取需要使用的探測器列 表。
[0026] 所述第4步中實時獲取設備的狀態(tài)信息的方法:所述各個設備,其中設備個數(shù)為y 個,利用部署管理系統(tǒng)的客戶端,根據(jù)需要使用的探測器列表中給出的獲取地址,自動下載 需要使用的探測器列表中包含的所有探測器,然后運行下載完成的探測器,并調用需要使 用的探測器列表中給出的探測器部署接口。
[0027] 所述第5步中設備約束矩陣MDev是一個yXz大小的布爾類型矩陣,用于記錄設 備及其滿足的獨立約束之間的對應關系,其中,y為設備的個數(shù),z為獨立約束的個數(shù),如果 第i行第j列的元素為1,則表示第i個設備滿足第j個約束,如果為〇,則表示第i個設備 不滿足第j個約束。
[0028] 所述第6步中待求解邏輯表達式的建立方法:首先引入一組新的布爾命題變量 depl〇y(i,j),其中
【權利要求】
1. 一種復雜約束條件下多組件軟件部署的自動化與自適應方法,其特征在于:首先使 用部署描述語言描述多組件軟件的部署需求及其部署約束條件,然后通過使用設備狀態(tài)信 息探測器、約束求解器和自動部署器,部署管理系統(tǒng)能夠根據(jù)部署需求和實時探測到的設 備狀態(tài)信息,通過調用約束求解器,自動地、動態(tài)地生成滿足約束條件的部署計劃,并自動 執(zhí)行部署活動,從而實現(xiàn)對復雜約束條件下多組件軟件部署的自動化和自適應支持。
2. 根據(jù)權利要求1所述的復雜約束條件下多組件軟件部署的自動化與自適應方法,其 特征在于,包括以下步驟: 第1步:在所有可用設備上安裝部署管理系統(tǒng)的客戶端,所述客戶端包括設備狀態(tài)信 息探測器和自動部署器;所述客戶端用于獲取指定位置的軟件、運行獲取的軟件并獲取信 息以及與服務器端通信;同時在主控服務器上安裝部署管理系統(tǒng)的服務器端,所述服務器 端包括約束求解器,所述服務器端用于解析部署描述代碼、生成部署計劃以及與客戶端通 信; 第2步:對待部署的多組件軟件系統(tǒng)進行結構和部署需求分析,得到多組件軟件系統(tǒng) 的部署需求,使用部署描述語言以代碼的形式對該部署需求進行描述; 第3步:利用部署描述語言的語言解析器對第2步得到的部署描述語言的描述內容進 行解析,得到組件列表、約束列表、探測器列表,所述約束包括獨立約束和關聯(lián)約束;由組件 列表和約束列表中用到的獨立約束獲得組件約束矩陣MCom;通過分析約束列表中用到的 獨立約束的內容,獲取需要使用的探測器列表; 第4步:部署管理系統(tǒng)的服務器端將需要使用的探測器列表發(fā)送給所有已連接設備的 客戶端,各個設備利用部署管理系統(tǒng)的客戶端,實時獲取設備的狀態(tài)信息,并將這些信息發(fā) 送給服務器端; 第5步:部署管理系統(tǒng)的服務器端接收客戶端發(fā)送的設備狀態(tài)信息,并存儲為狀態(tài)信 息表MInfo,然后計算各個設備滿足獨立約束的情況,并存儲為設備約束矩陣MDev ; 第6步:根據(jù)組件約束矩陣MCom和設備約束矩陣MDev的值,將獨立約束和關聯(lián)約束 分別轉化為命題邏輯表達式或者其他表達能力更強的高級邏輯表達式,并用合取連詞Λ連 接,作為待求解邏輯表達式; 第7步:利用約束求解器對第6步得到的待求解邏輯表達式進行可滿足性求解,根據(jù)約 束求解器的輸出,如果該邏輯表達式可滿足,則得到一個求解結果;如果該邏輯表達式不可 滿足,則表示"該部署需求的約束條件不可滿足",轉至第2步重新設計部署需求; 第8步:將約束求解器的求解結果轉換為對應的部署計劃; 第9步:部署管理系統(tǒng)的服務器端將第3步得到的組件列表和第8步得到的部署計劃 發(fā)送給所有客戶端,然后客戶端根據(jù)部署計劃和組件列表中給出的信息,自動完成對應組 件的下載、安裝、配置、激活部署活動; 第10步:在軟件的運行過程中,服務器端對客戶端的狀態(tài)進行實時監(jiān)控,當設備狀態(tài) 發(fā)生變化時,如果需要調整部署計劃,則重新執(zhí)行第4步至第9步。
3. 根據(jù)權利要求2所述的復雜約束條件下多組件軟件部署的自動化與自適應方法,其 特征在于:所述第2步中的部署描述語言的描述內容包括:對多組件軟件系統(tǒng)中各個組件 的定義、對各個部署約束條件的定義、對各個設備狀態(tài)信息探測程序的定義、對各軟件組件 必須滿足的部署約束列表的定義。
4. 根據(jù)權利要求3所述的復雜約束條件下多組件軟件部署的自動化與自適應方法,其 特征在于:所述第3步中對第2步得到的部署描述語言的描述內容進行解析的方法包括: 根據(jù)多組件軟件系統(tǒng)中各個組件的定義,得到組件列表,其中包含X個組件;根據(jù)各個部署 約束條件的定義,得到約束列表,所述約束包括獨立約束和關聯(lián)約束;根據(jù)各個設備狀態(tài)信 息探測程序的定義,得到探測器列表;最后對部署需求代碼區(qū)進行解析,按獨立約束被使用 的順序對用到的獨立約束依次編號,其中包含z個獨立約束;根據(jù)各軟件組件必須滿足的 部署約束列表的定義,由組件列表和用到的獨立約束獲得組件約束矩陣MCom ;所述組件約 束矩陣MCom是一個XX z大小的布爾類型矩陣,用于記錄部署描述代碼中組件和需要滿足 的獨立約束之間的對應關系,其中,x為組件列表中組件的個數(shù),z為獨立約束的個數(shù);如果 第i行第j列的元素為1,則表示第i個組件必須滿足第j個約束,如果為〇,則表示第i個 組件不需要滿足第j個約束;通過分析用到的獨立約束的內容,獲取需要使用的探測器列 表。
5. 根據(jù)權利要求4所述的復雜約束條件下多組件軟件部署的自動化與自適應方法, 其特征在于:所述第4步中實時獲取設備的狀態(tài)信息的方法:所述各個設備,其中設備共y 個,利用部署管理系統(tǒng)的客戶端,根據(jù)需要使用的探測器列表中給出的獲取地址,自動下載 需要使用的探測器列表中包含的所有探測器,然后運行下載完成的探測器,并調用需要使 用的探測器列表中給出的探測器部署接口。
6. 根據(jù)權利要求5所述的復雜約束條件下多組件軟件部署的自動化與自適應方法,其 特征在于:所述第5步中設備約束矩陣MDev是一個y X z大小的布爾類型矩陣,用于記錄設 備及其滿足的獨立約束之間的對應關系,其中,y為設備的個數(shù),z為獨立約束的個數(shù),如果 第i行第j列的元素為1,則表示第i個設備滿足第j個約束,如果為〇,則表示第i個設備 不滿足第j個約束。
7. 根據(jù)權利要求6所述的復雜約束條件下多組件軟件部署的自動化與自適應方法,其 特征在于:所述第6步中待求解邏輯表達式的建立方法:首先引入一組新的布爾命題變量 d印loy(i,j),其中1 < i < X,1 < j < y,取值范圍為0和1,表示是否將第i個組件部署 到第j個設備,然后對獨立約束和關聯(lián)約束分別進行轉化: 第61步:將獨立約束轉化為如下命題邏輯表達式:
其中,cbploy(i,j)為布爾命題變量,i和j為下標變量,MCom(i,k)為MCom矩陣第i 行第k列元素的值,MDev (j,k)為MDev矩陣第j行第k列元素的值;該邏輯表達式表示,對 于任意的組件i和設備j,如果將組件i部署在設備j上,那么設備j必須滿足組件i所需 要滿足的所有獨立約束; 第62步:將關聯(lián)約束轉化為命題邏輯表達式的方法: 第621步:對于第i個組件的部署設備數(shù)的關聯(lián)約束,轉化為如下命題邏輯表達式:
= & '其中k代表第i個組件的部署設備數(shù); 第622步:對于第i個組件必須部署在與第k個組件相同設備上的關聯(lián)約束,轉化為如 下命題邏輯表達式:,L (Λν~ν(/·力-即:如果第i個組件部署在第j個設備 上,則第k個組件也部署在第j個設備上; 第623步:對于第i個組件必須部署在比第k個組件部署的設備的s狀態(tài)的值大的設 備上的關聯(lián)約束,轉化為如下命題邏輯表達式:
艮P :如果第i個組件部署在第j個設備上,第k個組件部署在第η個設備上,那么設備 j的s狀態(tài)的值大于設備η的s狀態(tài)的值; 第63步:用合取連詞Λ連接第61步和第62步中得到的所有命題邏輯表達式,作為待 求解邏輯表達式。
8. 根據(jù)權利要求7所述的復雜約束條件下多組件軟件部署的自動化與自適應方法,其 特征在于:所述第7步中,根據(jù)約束求解器的輸出,如果該邏輯表達式可滿足,則得到一個 求解結果,所述的求解結果為第6步中引入的一組新的布爾命題變量deploy (i,j)的值,其 中1 < i < X,1 < j < y,如果cbploy (i,j)的值為1,則表示第i個組件可以部署在第j 個設備上;如果為0,則表示第i個組件不可以部署在第j個設備上;所述第7步中約束求 解器為CSP、SAT、SMT求解器中的一個以上的任意組合。
9. 一種基于權利要求1-8任一所述的復雜約束條件下多組件軟件自動化與自適應部 署管理系統(tǒng),其特征在于:包括客戶端和服務器端,所述客戶端安裝在所有可用設備上,所 述服務器端安裝在主控服務器上,且所述客戶端和服務器端相互通信;所述客戶端用于獲 取指定位置的軟件、運行獲取的軟件并獲取信息,所述服務器端用于解析部署描述代碼、生 成部署計劃;所述客戶端包括設備狀態(tài)信息探測器和自動部署器;而所述服務器端包括輸 入端、部署描述語言模塊、處理模塊以及約束求解器: 所述設備狀態(tài)信息探測器用于根據(jù)處理模塊發(fā)送的需要使用的探測器列表對客戶端 上設備的狀態(tài)信息進行探測,并將探測到的設備狀態(tài)信息發(fā)送給處理模塊; 所述自動部署器用于根據(jù)語言解析器發(fā)送的組件列表和約束求解器發(fā)送的部署計劃, 自動完成對應組件的下載、安裝、配置、激活部署活動; 所述輸入端用于對待部署的多組件軟件系統(tǒng)的結構和部署需求進行輸入,并將該輸入 發(fā)送給部署描述語言模塊; 所述部署描述語言模塊中內置有語言解析器,所述部署描述語言模塊用于以代碼的形 式對待部署的多組件軟件系統(tǒng)的結構和部署需求進行描述,并將該描述信息發(fā)送給語言解 析器; 所述語言解析器對部署描述語言模塊的描述信息進行解析,得到組件列表、約束列表、 探測器列表,并將該組件列表、約束列表、探測器列表發(fā)送給處理模塊,同時將該組件列表 發(fā)送給客戶端上的自動部署器; 所述處理模塊根據(jù)語言解析器發(fā)送的約束列表中用到的獨立約束和組件列表獲得組 件約束矩陣MCom;通過分析約束列表中用到的獨立約束的內容,獲取需要使用的探測器列 表,并將需要使用的探測器列表發(fā)送給設備狀態(tài)信息探測器;同時所述處理模塊接收設備 狀態(tài)信息探測器發(fā)送的設備狀態(tài)信息,存儲為狀態(tài)信息表MInfo,然后計算各個設備滿足獨 立約束的情況,并存儲為設備約束矩陣MDev ;然后根據(jù)組件約束矩陣MCom和設備約束矩陣 MDev的值,將獨立約束和關聯(lián)約束分別轉化為命題邏輯表達式或者其他表達能力更強的高 級邏輯表達式,并用合取連詞Λ連接,作為待求解邏輯表達式,并將該待求解邏輯表達式發(fā) 送給約束求解器; 所述約束求解器用于根據(jù)待求解邏輯表達式進行可滿足性求解,根據(jù)約束求解器的 輸出,如果該邏輯表達式可滿足,則得到一個求解結果,將該求解結果轉換為對應的部署計 劃,同時將該部署計劃發(fā)送給客戶端上的自動部署器;如果該邏輯表達式不可滿足,則表示 "該部署需求的約束條件不可滿足",則對輸入端重新輸入待部署的多組件軟件系統(tǒng)的結構 和部署需求。
【文檔編號】G06F9/445GK104298525SQ201410500293
【公開日】2015年1月21日 申請日期:2014年9月25日 優(yōu)先權日:2014年9月25日
【發(fā)明者】陳哲, 朱云龍, 黃志球, 魏歐 申請人:南京航空航天大學