亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于規(guī)則引擎的通訊衛(wèi)星應(yīng)急任務(wù)調(diào)度

        2020-02-08 04:11:54李子揚(yáng)周春城李傳榮
        計算機(jī)工程與設(shè)計 2020年1期
        關(guān)鍵詞:狀態(tài)值任務(wù)調(diào)度引擎

        劉 永,李子揚(yáng),竇 帥,周春城,李傳榮+

        (1.中國科學(xué)院光電研究院 中國科學(xué)院定量遙感信息技術(shù)重點(diǎn)實(shí)驗室,北京 100094;2.中國科學(xué)院大學(xué) 電子電氣與通信工程學(xué)院,北京 100049)

        0 引 言

        任務(wù)調(diào)度系統(tǒng)是衛(wèi)星地面系統(tǒng)的重要組成部分,是進(jìn)行衛(wèi)星資源管理與分配的主要工具,負(fù)責(zé)衛(wèi)星任務(wù)計劃的編制、執(zhí)行和控制調(diào)整,在衛(wèi)星資源相對稀缺、用戶的任務(wù)需求不能全部滿足的情況下,實(shí)現(xiàn)衛(wèi)星資源的合理分配與沖突資源的優(yōu)化調(diào)度尤為重要[1,2]。隨著航天事業(yè)的發(fā)展,衛(wèi)星功能不斷增強(qiáng),衛(wèi)星任務(wù)需求與任務(wù)調(diào)度模式不斷演進(jìn)[3],使得調(diào)度規(guī)則發(fā)生變化,促使調(diào)度系統(tǒng)不斷升級。傳統(tǒng)方式使用配置文件或配置參數(shù)來增強(qiáng)系統(tǒng)的柔性和靈活性,但功能相對有限,難以適應(yīng)具體調(diào)度規(guī)則的變化。因此建立一個柔性的、靈活性較高的任務(wù)調(diào)度系統(tǒng),方便調(diào)度規(guī)則的修改和定制,降低調(diào)度系統(tǒng)的維護(hù)成本,是十分必要的。

        為此本文將規(guī)則引擎技術(shù)應(yīng)用于獨(dú)占資源衛(wèi)星任務(wù)調(diào)度中,通過規(guī)則引擎將調(diào)度規(guī)則從業(yè)務(wù)邏輯代碼中分離出來,減少調(diào)度規(guī)則的變動對業(yè)務(wù)邏輯代碼的影響,增強(qiáng)調(diào)度系統(tǒng)的柔性和靈活性,降低調(diào)度系統(tǒng)維護(hù)的風(fēng)險及成本。同時設(shè)計基于權(quán)重的推理網(wǎng)構(gòu)建方法,優(yōu)化了推理網(wǎng)的結(jié)構(gòu),提高了調(diào)度系統(tǒng)的運(yùn)行效率。

        1 獨(dú)占資源通訊衛(wèi)星應(yīng)急任務(wù)調(diào)度策略

        根據(jù)任務(wù)調(diào)度模式的不同可將獨(dú)占資源通訊衛(wèi)星任務(wù)調(diào)度分為集中任務(wù)調(diào)度和應(yīng)急任務(wù)調(diào)度[4,5]。集中任務(wù)調(diào)度是在本周的某固定時間對用戶提交的下周的衛(wèi)星資源使用申請進(jìn)行集中處理的過程,按照規(guī)定,在集中調(diào)度時間點(diǎn)后提交的一般性衛(wèi)星資源使用申請在本次調(diào)度周期中不予受理,但是由于突發(fā)的重要事件而產(chǎn)生的緊急衛(wèi)星資源使用申請,需進(jìn)行及時的特殊處理,這其中特殊處理被稱為應(yīng)急任務(wù)調(diào)度模式。

        在集中任務(wù)調(diào)度模式中,任務(wù)調(diào)度響應(yīng)的時間要求并不緊急,調(diào)度目標(biāo)是在滿足任務(wù)時效性的前提下實(shí)現(xiàn)調(diào)度任務(wù)的優(yōu)先級之和最大,一般采用遺傳算法等智能優(yōu)化算法求解近似最優(yōu)調(diào)度方案。應(yīng)急任務(wù)調(diào)度模式是在集中任務(wù)調(diào)度方案的基礎(chǔ)上進(jìn)行的再調(diào)度,由于應(yīng)急任務(wù)的突發(fā)性、緊急性及重要性,這類任務(wù)擁有較高的優(yōu)先級和任務(wù)價值,所以采用基于優(yōu)先級的調(diào)度策略,使優(yōu)先級高的任務(wù)具有優(yōu)先執(zhí)行權(quán)。

        本文調(diào)度的思路是當(dāng)有應(yīng)急任務(wù)提交時,在集中任務(wù)調(diào)度方案的基礎(chǔ)上采用直接調(diào)度或沖突替換原則。直接調(diào)度原則為當(dāng)應(yīng)急任務(wù)滿足衛(wèi)星資源使用的各種約束,且申請的衛(wèi)星資源處于空閑狀態(tài),則將該任務(wù)直接納入衛(wèi)星工作計劃。沖突替換原則為應(yīng)急任務(wù)滿足衛(wèi)星資源使用的各種約束,但申請的衛(wèi)星資源處于被占用狀態(tài)時,即應(yīng)急任務(wù)與已有的衛(wèi)星工作計劃發(fā)生資源使用沖突,如果與應(yīng)急任務(wù)產(chǎn)生沖突的計劃數(shù)量為一,且應(yīng)急任務(wù)的優(yōu)先級大于計劃的優(yōu)先級,則用應(yīng)急任務(wù)替換掉與之沖突的計劃,反之則不予替換;如果與應(yīng)急任務(wù)產(chǎn)生沖突的計劃數(shù)量為多個時,并且應(yīng)急任務(wù)的優(yōu)先級大于所有與之沖突的計劃的優(yōu)先級,則用應(yīng)急任務(wù)替換掉與之沖突的所有計劃,反之則不予替換。這種替換雖然導(dǎo)致某些已經(jīng)被調(diào)度的任務(wù)無法執(zhí)行,但是從實(shí)際情況分析,緊急、重要的任務(wù)被優(yōu)先執(zhí)行是合理的。

        2 規(guī)則引擎技術(shù)

        規(guī)則引擎的定義請參見文獻(xiàn)[6]。

        Drools是用Java語言開發(fā)的規(guī)則引擎,其內(nèi)部使用的模式匹配算法是Rete,速度快、效率高。它采用聲明式的程序設(shè)計方式,比其它命令式的編程語言代碼更簡潔;可通過規(guī)則庫高效解決業(yè)務(wù)規(guī)則變動問題,更靈活地適應(yīng)各種變化的業(yè)務(wù)場景。

        Drools的組成如圖1所示。

        圖1 規(guī)則引擎的組成

        各部分的作用如下:

        (1)工作內(nèi)存(Working Memory):存放系統(tǒng)工作時要處理的數(shù)據(jù)對象(Fact);

        (2)規(guī)則庫(Rule Base):存放腳本語言編寫的業(yè)務(wù)規(guī)則;

        (3)模式匹配器(Pattern Matcher):進(jìn)行數(shù)據(jù)與規(guī)則的匹配,創(chuàng)建規(guī)則的執(zhí)行實(shí)例,并將實(shí)例加入議程中;

        (4)議程(Agenda):存放所有的規(guī)則執(zhí)行實(shí)例,并根據(jù)某種策略制定實(shí)例的執(zhí)行順序;

        (5)執(zhí)行引擎(Execution Engine):執(zhí)行議程中所有的規(guī)則執(zhí)行實(shí)例。

        Drools在工作時通過模式匹配器將工作內(nèi)存中的事實(shí)和規(guī)則庫中的規(guī)則進(jìn)行匹配,對匹配成功的規(guī)則創(chuàng)建執(zhí)行實(shí)例,并將這些實(shí)例加入議程中。議程根據(jù)某種策略制定這些實(shí)例的執(zhí)行順序,形成實(shí)例的執(zhí)行隊列。執(zhí)行引擎按照順序依次執(zhí)行。在執(zhí)行過程中事實(shí)對象的狀態(tài)會發(fā)生變化,即產(chǎn)生新的事實(shí),使得某些未執(zhí)行的實(shí)例失效而從隊列中剔除,也可能形成新的執(zhí)行實(shí)例加入隊列中,形成一種動態(tài)的規(guī)則執(zhí)行鏈[7-9]。

        3 基于Drools規(guī)則引擎的獨(dú)占資源通訊衛(wèi)星應(yīng)急任務(wù)調(diào)度系統(tǒng)

        結(jié)合上述研究,將規(guī)則引擎技術(shù)應(yīng)用于獨(dú)占資源通訊衛(wèi)星應(yīng)急任務(wù)調(diào)度中,實(shí)現(xiàn)調(diào)度規(guī)則與應(yīng)用程序的分離,提高系統(tǒng)的靈活性、可擴(kuò)展性及易維護(hù)性,并對Drools規(guī)則引擎進(jìn)行改進(jìn),優(yōu)化了推理網(wǎng)的構(gòu)建過程,提高了系統(tǒng)的工作效率。

        3.1 系統(tǒng)結(jié)構(gòu)

        獨(dú)占資源通訊衛(wèi)星應(yīng)急任務(wù)調(diào)度系統(tǒng)采用C/S架構(gòu),分為數(shù)據(jù)層、服務(wù)層、應(yīng)用層。應(yīng)用層主要為衛(wèi)星控管中心提供申請信息管理、計劃信息管理、調(diào)度規(guī)則管理和衛(wèi)星資源管理等;服務(wù)層實(shí)現(xiàn)了系統(tǒng)運(yùn)行中涉及的各類服務(wù),包括規(guī)則推理服務(wù)、數(shù)據(jù)管理服務(wù)、任務(wù)調(diào)度服務(wù)等;數(shù)據(jù)層使用關(guān)系數(shù)據(jù)庫為系統(tǒng)提供數(shù)據(jù)管理功能,數(shù)據(jù)庫包括用戶申請數(shù)據(jù)庫、衛(wèi)星工作計劃數(shù)據(jù)庫、衛(wèi)星資源數(shù)據(jù)庫、調(diào)度規(guī)則數(shù)據(jù)庫,如圖2所示。

        圖2 調(diào)度系統(tǒng)的結(jié)構(gòu)

        3.2 應(yīng)急任務(wù)調(diào)度規(guī)則

        規(guī)則庫是基于規(guī)則引擎的系統(tǒng)的核心,是系統(tǒng)進(jìn)行業(yè)務(wù)判斷與決策的依據(jù),規(guī)則庫的質(zhì)量對處理結(jié)果的準(zhǔn)確性及系統(tǒng)的運(yùn)行效率有著直接影響。因此要得到良好的衛(wèi)星任務(wù)調(diào)度結(jié)果和系統(tǒng)工作效率,在建立調(diào)度規(guī)則庫時,需要對應(yīng)急任務(wù)模式下的調(diào)度規(guī)則進(jìn)行精確的凝練和表達(dá),對規(guī)則庫的結(jié)構(gòu)進(jìn)行合理設(shè)計。

        通過章節(jié)1中對應(yīng)急任務(wù)調(diào)度場景的分析與調(diào)度思路的設(shè)計,結(jié)合衛(wèi)星資源使用約束,凝練出如下13條應(yīng)急任務(wù)調(diào)度規(guī)則:

        規(guī)則1:如果申請的狀態(tài)值為“null”,則申請的狀態(tài)值由“null”轉(zhuǎn)為“受理”;

        規(guī)則2:如果狀態(tài)值為“受理”的申請的用戶目標(biāo)不是當(dāng)前用戶中心的管理型號,則申請的狀態(tài)值由“受理”轉(zhuǎn)為“不受理”;

        規(guī)則3:如果狀態(tài)值為“受理”的申請的通信波段不在其申請的獨(dú)占資源通訊衛(wèi)星通信波段范圍內(nèi),則申請的狀態(tài)值由“受理”轉(zhuǎn)為“不受理”;

        規(guī)則4:如果狀態(tài)值為“受理”的申請的任務(wù)持續(xù)時長小于2分鐘,則申請的狀態(tài)值由“受理”轉(zhuǎn)為“不受理”;

        規(guī)則5:如果狀態(tài)值為“受理”的申請的服務(wù)開始時間早于系統(tǒng)當(dāng)前時間,則申請的狀態(tài)值由“受理”轉(zhuǎn)為“不受理”;

        規(guī)則6:如果狀態(tài)值為“受理”的申請的用戶目標(biāo)是地面設(shè)備,則申請的狀態(tài)值由“受理”轉(zhuǎn)為“可視”;

        規(guī)則7:如果狀態(tài)值為“受理”的申請的衛(wèi)星資源使用時段在獨(dú)占資源通訊衛(wèi)星與用戶目標(biāo)可視窗口內(nèi),則申請的狀態(tài)值由“受理”轉(zhuǎn)為“可視”;

        規(guī)則8:如果狀態(tài)值為“受理”的申請的衛(wèi)星資源使用時段不在獨(dú)占資源通訊衛(wèi)星與用戶目標(biāo)可視窗口內(nèi),則申請的狀態(tài)值由“受理”轉(zhuǎn)為“不可視”;

        規(guī)則9:如果狀態(tài)值為“可視”的申請的衛(wèi)星資源處于空閑狀態(tài),則申請的狀態(tài)值由“可視”轉(zhuǎn)為“納入計劃”;

        規(guī)則10:如果狀態(tài)值為“可視”的申請的衛(wèi)星資源處于占用狀態(tài),則申請的狀態(tài)值由“可視”轉(zhuǎn)為 “沖突”;

        規(guī)則11:如果狀態(tài)值為“沖突”的申請的沖突對象是調(diào)度方案中衛(wèi)星工作計劃,且申請的優(yōu)先級大于與其沖突的計劃的優(yōu)先級。則申請的狀態(tài)值由“沖突”轉(zhuǎn)為“納入計劃”,與其沖突的計劃狀態(tài)值由“計劃”轉(zhuǎn)為“被替代”;

        規(guī)則12:如果狀態(tài)值為“沖突”的申請的沖突對象是調(diào)度方案中衛(wèi)星工作計劃,且申請的優(yōu)先級小于與其沖突的計劃的優(yōu)先級。則申請的狀態(tài)值由“沖突”轉(zhuǎn)為“拒絕納入計劃”;

        規(guī)則13:如果申請的狀態(tài)值為“納入計劃”,則調(diào)用衛(wèi)星資源分配函數(shù)將申請寫入計劃表。

        為了清楚表達(dá)上述規(guī)則間的聯(lián)系及申請在規(guī)則推理過程中的狀態(tài)變化情況,采用狀態(tài)機(jī)圖進(jìn)行的表達(dá)如圖3所示。

        圖3 申請的狀態(tài)機(jī)

        3.3 基于Drools規(guī)則語法的調(diào)度規(guī)則形式化表示

        Drools采用原生的規(guī)則語言,規(guī)則結(jié)構(gòu)簡潔、可讀性強(qiáng)[10]。規(guī)則的結(jié)構(gòu)組成如圖4所示。

        圖4 Drools規(guī)則結(jié)構(gòu)

        關(guān)鍵詞rule標(biāo)識一條規(guī)則的開始,其后是該規(guī)則名稱,是規(guī)則在規(guī)則庫中的唯一標(biāo)識,具有唯一性;關(guān)鍵字attributes是規(guī)則屬性,是可選項,用于對規(guī)則的行為進(jìn)行限定;關(guān)鍵字when是規(guī)則條件(left side hand,LHS)部分開始的標(biāo)識,LHS是一些邏輯表達(dá)式,用于判斷;關(guān)鍵字then是規(guī)則結(jié)論部分(right side sand,RHS)開始的標(biāo)識,RHS是一個Java語言代碼塊,是要執(zhí)行的操作;關(guān)鍵字end表示規(guī)則的結(jié)束。

        以3.2中的rule7為例,其對應(yīng)“Drools”規(guī)則引擎的代碼如下:

        rule “IsvisiableRule” //規(guī)則名稱

        salience 10 //規(guī)則優(yōu)先級

        no-loop true //不能被同一事實(shí)再次激活

        when

        $app: Application(station==accepted); //申請狀態(tài)

        $vw: VisiableWindow($app.satelliteID== satelliteID,$app.usertargetcode==user,$app.starttime>= starttime, $app.endtime<=endtime); //受理的申請是否在可視窗口內(nèi)

        Then

        $app.setStation (“visible”); //狀態(tài)修改為可視

        update($app); //更新申請狀態(tài)

        end

        其中規(guī)則屬性使用的是salience(優(yōu)先級策略,salience值越大表示規(guī)則的優(yōu)先等級越高)、no-loop(值為true時,該規(guī)則不會被同一事實(shí)再次激活),分別用于解決規(guī)則沖突和規(guī)則庫死循環(huán)問題。

        3.4 基于Drools的任務(wù)調(diào)度規(guī)則引擎的改進(jìn)

        Drools中使用的是目前效率最高的Forward-Chaining推理算法Rete。Rete算法將規(guī)則庫構(gòu)建成推理網(wǎng)的形式,以達(dá)到顯著降低計算量的效果,并且Rete算法利用推理引擎的時間冗余性和產(chǎn)生式規(guī)則結(jié)構(gòu)相似性的特點(diǎn),在推理網(wǎng)的構(gòu)建中實(shí)現(xiàn)狀態(tài)保存機(jī)制和節(jié)點(diǎn)共享機(jī)制,極大提高了Drools的工作效率[11,12]。

        在實(shí)驗的過程中發(fā)現(xiàn),Drools中的節(jié)點(diǎn)共享機(jī)制并非廣泛意義上的共享,其對規(guī)則結(jié)構(gòu)有著較嚴(yán)格的要求。下面給出3個規(guī)則組,每個規(guī)則組中都有兩條規(guī)則,并且規(guī)則中的匹配條件相同,不同在于規(guī)則中的匹配條件排列順序不同。

        規(guī)則組一:

        rule “rule_1”

        when

        $app: Application (UserID==“GD”, satelliteID==“A”);

        Then

        {Code}

        End

        rule “rule_2”

        when

        $app:Application(satelliteID==“B”,UserID==“GD”);

        Then

        {Code}

        End

        規(guī)則組二:

        rule “rule_1”

        when

        $app: Application(satelliteID==“A”,UserID==“GD”);

        Then

        {Code}

        End

        rule “rule_2”

        when

        $app:Application(satelliteID==“B”,UserID==“GD”);

        Then

        {Code}

        End

        規(guī)則組三:

        rule “rule_1”

        when

        $app:Application(UserID==“GD”, satelliteID==“A”);

        Then

        {Code}

        End

        rule “rule_2”

        when

        $app:Application(UserID==“GD”, satelliteID==“B”);

        Then

        {Code}

        End

        3個規(guī)則組對應(yīng)的推理網(wǎng)如圖5所示。

        圖5 推理網(wǎng)

        Root Node是所有對象進(jìn)入推理網(wǎng)的入口;Type Node進(jìn)行對象類型的判斷,只有類型匹配成功的對象才能進(jìn)入下一個節(jié)點(diǎn)。Alpha Node又稱單輸入節(jié)點(diǎn),用來對單一的對象進(jìn)行條件判斷,對應(yīng)著規(guī)則中的邏輯判斷。當(dāng)規(guī)則有多個邏輯判斷,對應(yīng)的Alpha Node會串聯(lián)在一起。對象在滿足當(dāng)前Alpha Node對應(yīng)的邏輯判斷后才能進(jìn)入下一個Alpha Node;Adapter Node將單個對象轉(zhuǎn)為單對象數(shù)組。Terminal Node表示對象與規(guī)則完全匹配。

        從圖5看出UserID==“GD”節(jié)點(diǎn)在規(guī)則組三的推理網(wǎng)中實(shí)現(xiàn)了規(guī)則間的共享,但在規(guī)則組一、二中沒能實(shí)現(xiàn)共享,使得規(guī)則組三的推理網(wǎng)較其它兩組節(jié)點(diǎn)更少,系統(tǒng)存儲開銷更小,工作效率更高。3個規(guī)則組的實(shí)現(xiàn)的功能相同,但形成的推理網(wǎng)結(jié)構(gòu)不同,說明規(guī)則中邏輯判斷的排列順序不會影響規(guī)則的功能,但會影響推理網(wǎng)的結(jié)構(gòu),進(jìn)而影響系統(tǒng)性能。

        產(chǎn)生這種現(xiàn)象的原因是Drools在構(gòu)建推理網(wǎng)時,如果一條規(guī)則中有多個邏輯判斷,那么它們對應(yīng)的Alpha Node在推理網(wǎng)中的連接順序與其在規(guī)則中的排列順序是一致的,在這里稱為基于順序的連接方式。規(guī)則組一的推理網(wǎng)中,兩個UserID==“GD”節(jié)點(diǎn)的內(nèi)存中存儲的數(shù)據(jù)對象并不相同(rule_1的UserID==“GD”節(jié)點(diǎn)中存儲的是滿足自身邏輯判斷的數(shù)據(jù)對象,rule_2的UserID==“GD”節(jié)點(diǎn)中存儲的是滿足satelliteID==“B”節(jié)點(diǎn)和自身邏輯判斷的數(shù)據(jù)對象),此時二者是兩個同名不同質(zhì)的Alpha Node,不能合并為一個共享節(jié)點(diǎn),規(guī)則組二同理。所以規(guī)則組一、組二中雖然有相同的邏輯判斷,但由于規(guī)則原生結(jié)構(gòu)的限制,使推理網(wǎng)中的同名節(jié)點(diǎn)不能共享。

        綜上所述,Drools中這種基于順序的連接方式,使推理網(wǎng)的結(jié)構(gòu)與規(guī)則的結(jié)構(gòu)形成強(qiáng)關(guān)聯(lián)性,不具備節(jié)點(diǎn)連接時的動態(tài)調(diào)整能力,導(dǎo)致某些相同的Alpha Node沒能實(shí)現(xiàn)共享。針對這一問題本文提出基于權(quán)重的連接方式:在構(gòu)建推理網(wǎng)時,如果一條規(guī)則中有多個邏輯判斷,權(quán)重大的邏輯判斷對應(yīng)的Alpha Node會獲得優(yōu)先連接權(quán)。具體改進(jìn)方法為:首先統(tǒng)計規(guī)則庫中所有的邏輯判斷總數(shù),然后將相同的邏輯判斷歸為一類并統(tǒng)計其數(shù)量,最后計算各類邏輯判斷的權(quán)重。計算方法為λi=(ni/N),其中λi表示邏輯判斷i的權(quán)重值,ni表示規(guī)則庫中邏輯判斷i的個數(shù),N表示規(guī)則庫中邏輯判斷總數(shù)。這樣各類邏輯判斷都擁有自己的權(quán)重值。在構(gòu)建推理網(wǎng)時,對于一條規(guī)則中的多個邏輯判斷,Rete算法根據(jù)其權(quán)重值從大到小的順序依次獲取并構(gòu)建對應(yīng)的Alpha Node。這種基于權(quán)重的連接方式,使推理網(wǎng)的結(jié)構(gòu)擺脫了規(guī)則原生結(jié)構(gòu)的限制,充分利用規(guī)則庫中相同邏輯判斷在數(shù)量上的特征,并將這種特征用于推理網(wǎng)的構(gòu)建過程中,使相同的邏輯判斷可以實(shí)現(xiàn)共享,降低推理網(wǎng)結(jié)構(gòu)的冗余性,提高推理效率。

        3.5 調(diào)度系統(tǒng)驅(qū)動數(shù)據(jù)及其表示

        系統(tǒng)進(jìn)行調(diào)度工作使用的數(shù)據(jù)包括:衛(wèi)星可視窗口(用戶目標(biāo)與獨(dú)占資源通訊衛(wèi)星之間的可視時段)、衛(wèi)星工作計劃、用戶任務(wù)申請,其中前二者稱為衛(wèi)星系統(tǒng)資源狀態(tài)事實(shí),第三個稱為待調(diào)度事實(shí)。為實(shí)現(xiàn)調(diào)度系統(tǒng)對數(shù)據(jù)的處理及數(shù)據(jù)在數(shù)據(jù)庫中的有效存儲與管理,需要對用戶申請、可視窗口、衛(wèi)星工作計劃3類數(shù)據(jù)進(jìn)行規(guī)范化表示。根據(jù)Java面向?qū)ο蟮木幊烫攸c(diǎn),分別建立用戶申請類、可視窗口類、衛(wèi)星工作計劃類,每個類具有各自的屬性及其對應(yīng)的getter和setter方法。例如用戶申請表示形式見表1。

        表1 用戶申請

        4 實(shí) 驗

        由于應(yīng)急任務(wù)的特殊性,所以應(yīng)急任務(wù)調(diào)度模式是一種實(shí)時調(diào)度,采用的是“申請-響應(yīng)”的調(diào)度方式。下面兩組實(shí)驗,分別使用基于Drools改進(jìn)前、后的任務(wù)調(diào)度系統(tǒng)對一天內(nèi)(24 h)接收的50條應(yīng)急申請進(jìn)行調(diào)度,驗證調(diào)度系統(tǒng)的性能,并對Drools規(guī)則引擎改進(jìn)前后的性能進(jìn)行對比。其中實(shí)驗組1中的50條應(yīng)急申請滿足衛(wèi)星資源使用各種約束且與衛(wèi)星工作計劃無沖突;實(shí)驗組2中的50條應(yīng)急申請滿足衛(wèi)星資源使用各種約束但與衛(wèi)星工作計劃有沖突,其中,25條申請優(yōu)先級大于計劃,25條申請優(yōu)先級小于計劃。

        4.1 實(shí)驗環(huán)境與數(shù)據(jù)概述

        本文實(shí)驗的原型系統(tǒng)在eclipse中開發(fā),規(guī)則引擎為Drools6.5,數(shù)據(jù)庫為MySQL8.0,服務(wù)器為TomCat7.0,運(yùn)行平臺為windows10,CPU:Intel i3-3110M 2.4GHz。

        實(shí)驗中包括4顆通訊衛(wèi)星,10顆用戶衛(wèi)星,使用的數(shù)據(jù)有衛(wèi)星間可視窗口、用戶申請、衛(wèi)星工作計劃,其中衛(wèi)星間的可視窗口數(shù)據(jù)通過衛(wèi)星星歷計算得出,用戶申請由模擬實(shí)際用戶申請程序生成,衛(wèi)星工作計劃由集中任務(wù)調(diào)度程序生成。

        4.2 實(shí)驗結(jié)果

        系統(tǒng)運(yùn)行時間的統(tǒng)計結(jié)果和申請?zhí)幚斫Y(jié)果如圖6和表2所示。

        圖6是兩組實(shí)驗中50條應(yīng)急申請的處理時間的折線圖,表2是處理時間統(tǒng)計出的均值和方差及申請調(diào)度的結(jié)果。對實(shí)驗結(jié)果從以下4個方面進(jìn)行分析:①從Drools改進(jìn)前后系統(tǒng)的運(yùn)行時間進(jìn)行對比分析,可以看出改進(jìn)后的系統(tǒng)運(yùn)行時間效率相比改進(jìn)前提高了5%左右,說明文中提出的改進(jìn)方法提高系統(tǒng)性能,規(guī)則數(shù)量越多,相同的邏輯判斷越多,效率的提升越明顯;②從兩組實(shí)驗對照角度分析,可以看出系統(tǒng)在處理有沖突的申請用時比無沖突的多,但是差距在20 ms內(nèi),說明系統(tǒng)在處理資源使用沖突時,

        圖6 系統(tǒng)運(yùn)行時間折線

        表2 系統(tǒng)運(yùn)行時間特征及申請調(diào)度結(jié)果統(tǒng)計

        具有良好的優(yōu)化調(diào)度效率;③從系統(tǒng)處理50條申請的時間方差角度分析,方差在5 ms2上下,說明系統(tǒng)運(yùn)行的穩(wěn)定性較好;④從申請調(diào)度后納入計劃的結(jié)果分析,實(shí)驗組1中50條無沖突的申請全部納入計劃,實(shí)驗組2中50條有沖突的申請,其中優(yōu)先級大于計劃的25條納入了計劃,優(yōu)先級小于計劃的25條沒有納入計劃,調(diào)度結(jié)果跟預(yù)期設(shè)想的結(jié)果一致,說明系統(tǒng)調(diào)度結(jié)果可靠。

        5 結(jié)束語

        本文將規(guī)則引擎技術(shù)應(yīng)用于獨(dú)占資源通訊衛(wèi)星應(yīng)急任務(wù)調(diào)度中,實(shí)現(xiàn)了調(diào)度規(guī)則與業(yè)務(wù)邏輯代碼的分離,便捷了調(diào)度規(guī)則的集中管理與修改,降低了調(diào)度規(guī)則變動對系統(tǒng)造成的影響,提高了系統(tǒng)的靈活性和適用性。同時設(shè)計基于權(quán)重的連接方法對Drools規(guī)則引擎進(jìn)行改進(jìn),優(yōu)化了推理網(wǎng)的構(gòu)建過程,降低了推理網(wǎng)中節(jié)點(diǎn)冗余問題,提高了系統(tǒng)的運(yùn)行效率。實(shí)驗結(jié)果表明,基于改進(jìn)的Drools規(guī)則引擎的獨(dú)占資源通訊衛(wèi)星應(yīng)急任務(wù)調(diào)度方法切實(shí)可行。在處理衛(wèi)星資源使用沖突時如何通過規(guī)則引擎實(shí)現(xiàn)用戶申請窗口的滑動,進(jìn)一步提高申請調(diào)度成功率,將是我們下一步的工作。

        猜你喜歡
        狀態(tài)值任務(wù)調(diào)度引擎
        研究降雨事件對交通流時空特性的影響
        一種基于切換拓?fù)涞碾x散時間一致性協(xié)議
        基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
        基于時間負(fù)載均衡蟻群算法的云任務(wù)調(diào)度優(yōu)化
        藍(lán)谷: “涉藍(lán)”新引擎
        商周刊(2017年22期)2017-11-09 05:08:31
        基于短文本的突發(fā)事件發(fā)展過程表示方法
        云計算環(huán)境中任務(wù)調(diào)度策略
        云計算中基于進(jìn)化算法的任務(wù)調(diào)度策略
        無形的引擎
        河南電力(2015年5期)2015-06-08 06:01:46
        基于Cocos2d引擎的PuzzleGame開發(fā)
        亚洲第一网站免费视频| 国产精品白浆视频一区| 中文字幕成人精品久久不卡| 日本人妻系列中文字幕| 国产亚洲成av人片在线观看| 性一乱一搞一交一伦一性| 亚洲欧洲综合有码无码| 色噜噜亚洲精品中文字幕| 成人国成人国产suv| 亚洲国产精品特色大片观看完整版| 亚洲成人av一区二区三区| 国产精品毛片毛片av一区二区| 国产午夜免费高清久久影院| 亚洲美女又黄又爽在线观看| 亚洲中文字幕久爱亚洲伊人| 射进去av一区二区三区| 天天爽夜夜爽人人爽| 99久久国语露脸精品国产| 无码高潮少妇毛多水多水免费 | 亚洲av乱码二区三区涩涩屋| 48久久国产精品性色aⅴ人妻 | 亚洲加勒比无码一区二区在线播放| 白白色最新福利视频二| 97人妻人人做人碰人人爽| 人人狠狠综合久久亚洲婷婷| 亚洲一区二区观看网站| 少妇一区二区三区久久| 伊人久久精品久久亚洲一区| 中文字幕一区二区三区四区在线| 国产精品人成在线观看不卡| 亚洲av无码专区在线| 国产第19页精品| 一区二区三区国产精品| 亚洲一区二区三区四区精品在线| 亚洲精品92内射| 国产精品亚洲综合色区韩国| 国产午夜免费一区二区三区视频| 毛片无码国产| 久久久久久久98亚洲精品| 日产一区一区三区区别| 亚洲综合成人婷婷五月网址|