馬英哲
摘要:通過對各類衛(wèi)星數(shù)據(jù)產(chǎn)品生產(chǎn)特點的分析,抽取了不同種類衛(wèi)星產(chǎn)品生產(chǎn)調(diào)度業(yè)務的共同點,提出了建設一種采用三級調(diào)度組織結(jié)構(gòu)的產(chǎn)品生產(chǎn)調(diào)度平臺思想,基于Agent思想設計了平臺運行架構(gòu),并以隊列管理調(diào)度為核心進行了Agent結(jié)構(gòu)設計,通過對各種調(diào)度策略的優(yōu)劣分析,為各Agent分配了合理的調(diào)度策略,通過實例驗證了平臺設計的可行性。
關(guān)鍵詞:Agent;產(chǎn)品生產(chǎn)調(diào)度平臺;隊列管理;調(diào)度策略
中圖分類號:TP309.3文獻標志碼:A文章編號:1008-1739(2021)21-56-4
0引言
衛(wèi)星數(shù)據(jù)通過地面接收站從衛(wèi)星傳輸?shù)降孛嬷?,地面系統(tǒng)需要對接收的數(shù)據(jù)進行處理。由于數(shù)據(jù)量和用戶需求大,地面系統(tǒng)往往需要一套生產(chǎn)調(diào)度系統(tǒng)完成各類數(shù)據(jù)的生產(chǎn)協(xié)調(diào)任務。隨著我國衛(wèi)星種類和數(shù)量的不斷增多,設計一套能夠使用各種衛(wèi)星的產(chǎn)品生產(chǎn)調(diào)度平臺,能夠很好地節(jié)約研制成本并提高研發(fā)效率。在平臺中引入Agent設計理念[1],能夠?qū)πl(wèi)星數(shù)據(jù)產(chǎn)品的生產(chǎn)過程實現(xiàn)無人值守的自動化的決策調(diào)度,并最大限度地提高系統(tǒng)資源的利用率和產(chǎn)品生產(chǎn)的效率,增強系統(tǒng)的擴展性。
1產(chǎn)品生產(chǎn)調(diào)度平臺
無論是遙感衛(wèi)星、偵察衛(wèi)星、氣象衛(wèi)星、試驗衛(wèi)星或科學衛(wèi)星,幾乎所有衛(wèi)星都需要通過地面接收站將星上產(chǎn)生的數(shù)據(jù)下傳至地面,然后通過地面系統(tǒng)對星上數(shù)據(jù)進行處理,最終得到各級數(shù)據(jù)產(chǎn)品。產(chǎn)品生產(chǎn)調(diào)度平臺是地面系統(tǒng)數(shù)據(jù)處理的調(diào)度中樞,如圖1所示。負責對各類不同衛(wèi)星的數(shù)據(jù)進行分類,接收各衛(wèi)星用戶提出的產(chǎn)品生產(chǎn)請求,根據(jù)不同衛(wèi)星不同產(chǎn)品的生產(chǎn)流程調(diào)度各衛(wèi)星各級產(chǎn)品的生產(chǎn)。
2平臺架構(gòu)與調(diào)度策略
2.1平臺組織結(jié)構(gòu)
產(chǎn)品生產(chǎn)調(diào)度平臺是一個集流程管理和隊列管理的自動化調(diào)度平臺,分為三級調(diào)度,如圖2所示,分別為生產(chǎn)請求調(diào)度、生產(chǎn)任務調(diào)度和生產(chǎn)作業(yè)調(diào)度。
①生產(chǎn)請求調(diào)度:對大量產(chǎn)品生產(chǎn)請求進行分解與合并,構(gòu)成生產(chǎn)任務隊列。
②生產(chǎn)任務調(diào)度:針對生產(chǎn)任務創(chuàng)建生產(chǎn)流程實例,根據(jù)流程的流向與分支下達不同的生產(chǎn)作業(yè)。
③生產(chǎn)作業(yè)調(diào)度:采用隊列管理的方式,根據(jù)作業(yè)的優(yōu)先級、每種作業(yè)的負載要求、剩余生產(chǎn)資源狀況等要素,對作業(yè)進行合理分配,調(diào)度作業(yè)的執(zhí)行,保證整體作業(yè)的效率和資源的充分利用。
此外,與調(diào)度平臺配套使用的監(jiān)控UI,完成應急生產(chǎn)請求的提交、生產(chǎn)流程、資源和隊列狀態(tài)的監(jiān)控。
2.2平臺運行架構(gòu)
產(chǎn)品生產(chǎn)調(diào)度平臺基于Agent思想,構(gòu)建通用化流程調(diào)度Agent以及可擴展的隊列管理Agent,并結(jié)合智能的業(yè)務調(diào)度Agent,共同組建支持多星多產(chǎn)品的通用產(chǎn)品生產(chǎn)調(diào)度平臺。
根據(jù)三級調(diào)度的設計思想進行架構(gòu)設計,平臺運行架構(gòu)如圖3所示,一級調(diào)度為業(yè)務調(diào)度Agent,采用智能算法進行大量生產(chǎn)請求的分解與沖突合并,優(yōu)化生產(chǎn)任務隊列。
生產(chǎn)任務下發(fā)至二級調(diào)度,即流程調(diào)度Agent。流程調(diào)度Agent根據(jù)任務的要求創(chuàng)建各個產(chǎn)品的生產(chǎn)流程實例,為每個流程步驟創(chuàng)建生產(chǎn)作業(yè),完成各產(chǎn)品各生產(chǎn)步驟的并行調(diào)度。生產(chǎn)作業(yè)下發(fā)至三級調(diào)度。
三級調(diào)度由隊列管理[3]Agent組負責,一共包含6個 Agent,根據(jù)作業(yè)所處的階段及狀態(tài)劃分為等待隊列管理Agent、調(diào)度隊列管理Agent、處理隊列管理Agent、取消隊列管理Agent、異常隊列管理Agent和完成隊列管理Agent。它們行使各自隊列內(nèi)作業(yè)的調(diào)度的權(quán)力,將待調(diào)度的作業(yè)依據(jù)作業(yè)流水線推至下一作業(yè)隊列。所有Agent均由隊列管理Agent擴展能力形成。
隊列管理Agent由環(huán)境感知模塊、執(zhí)行模塊、通信模塊、信息處理模塊、決策與控制模塊、信息庫以及知識庫和作業(yè)隊列組成,如圖4所示。
①環(huán)境感知模塊、執(zhí)行模塊負責與系統(tǒng)環(huán)境進行交互。
②通信模塊負責檢查消息的語法格式,完成Agent內(nèi)部消息與外部消息格式的轉(zhuǎn)換,同時負責與其他Agent的信息交互。完成隊列存儲該Agent所要完成的任務,信息處理模塊負責對感知和接收的信息進行初步加工、處理和存儲。
③決策與智能控制模塊是賦予Agent職能的關(guān)鍵部件,運用知識庫中的知識對信息處理模塊處理所得到的外部環(huán)境信息進行算法調(diào)度,并與其他Agent的信息進行進一步的協(xié)商,為進一步的通信或從作業(yè)隊列中選擇適當?shù)淖鳂I(yè)供執(zhí)行模塊執(zhí)行做出合理的決策。
④信息庫存儲該Agent的ID、名稱及地址等基本信息。
⑤能力列表描述Agent可以處理的消息類型及解決某問題的能力和水平。三級調(diào)度的各Agent根據(jù)各自的能力進行能力列表配置、知識庫的選擇、執(zhí)行模塊和環(huán)境感知模塊的擴展。
2.3平臺調(diào)度策略
Agent的決策與智能調(diào)度模塊中包含著一定的調(diào)度策略。由于各Agent任務類型不一,在處理過程中占用的資源、處理時間等調(diào)度因素各異,因此每個Agent的任務調(diào)度可以采用不同的調(diào)度策略。這些策略均保存在知識庫中,由Agent根據(jù)自身需求選擇合適的策略進行調(diào)度。該平臺采用了以下8種基本調(diào)度策略。
①先進先出:最簡單也是最明顯的調(diào)度策略,適用于任務量小且資源豐富的調(diào)度單元,或者對任務隊列排序無特殊要求的調(diào)度單元。
②短時間作業(yè)優(yōu)先:以作業(yè)占用系統(tǒng)資源的時間長短為依據(jù)進行作業(yè)調(diào)度。
③First Fit:根據(jù)作業(yè)到達作業(yè)隊列的順序掃描作業(yè)隊列中的作業(yè),執(zhí)行第一個系統(tǒng)資源能滿足其資源需求的作業(yè)。
④Best Fit:掃描整個作業(yè)隊列,從中選取當前系統(tǒng)能滿足的資源要求最大的作業(yè)投入運行。
⑤優(yōu)先級調(diào)度[4]:根據(jù)各種不同的參數(shù)(用戶優(yōu)先級、作業(yè)類型等)計算出作業(yè)的優(yōu)先級;根據(jù)優(yōu)先級對作業(yè)進行排列并生成作業(yè)隊列,系統(tǒng)根據(jù)作業(yè)隊列來逐一考慮是否運行該作業(yè)。
⑥資源預留算法[5]:當一個作業(yè)在隊列中等待的時間超過一定的值,對它所需要的資源進行預留,即這些資源中的一部分成為可用時,不再分配給其他的作業(yè),一直到預留的所有資源都已得到滿足時,將該作業(yè)投入運行。
⑦回填調(diào)度算法:充分利用作業(yè)管理系統(tǒng)在作業(yè)調(diào)度時產(chǎn)生的時間空隙,從作業(yè)等待隊列中選擇合適的作業(yè)插入到這段時間內(nèi)運行,而不影響其他作業(yè)的按時運行。
⑧搶先式調(diào)度算法[6]:基于作業(yè)或隊列的基本優(yōu)先級,有高優(yōu)先級的作業(yè)合適運行時,將搶占較低優(yōu)先權(quán)作業(yè)的執(zhí)行權(quán)。
這8種基本調(diào)度策略是最為常用和基礎的調(diào)度策略,特點和優(yōu)缺點如表1所示,可在不同的需求場景中得到應用。
衛(wèi)星產(chǎn)品生產(chǎn)調(diào)度平臺有其自身特點:①各級產(chǎn)品的生產(chǎn)時間級別越高,處理時間可能會更長;②特殊時期,系統(tǒng)會調(diào)度大量應急任務(高優(yōu)先級);③低級產(chǎn)品生產(chǎn)頻率高,高級產(chǎn)品生產(chǎn)頻率低。
各Agent根據(jù)各自的特點選擇其中的某個基本策略作為調(diào)度模塊的調(diào)度策略,或者采用綜合調(diào)度策略以滿足自身調(diào)度需求。根據(jù)產(chǎn)品生產(chǎn)調(diào)度平臺Agent的功能以及作用,為各Agent分配和組合調(diào)度策略,并確定調(diào)度算法,Agent調(diào)度策略分配與組合如表2所示。
各Agent采用的調(diào)度策略在實際運行過程中也不是一成不變的,往往會根據(jù)衛(wèi)星個數(shù)、生產(chǎn)請求的數(shù)量、緊迫程度、運行資源使用情況等實際需求進行策略調(diào)整或算法參數(shù)調(diào)整(如:每個隊列作業(yè)數(shù)量、預留資源比例及回填作業(yè)數(shù)量等)。
3應用實例
平臺架構(gòu)已經(jīng)應用在遙感衛(wèi)星地面應用系統(tǒng)中,結(jié)合產(chǎn)品生產(chǎn)業(yè)務進行業(yè)務模型配置,完成測繪衛(wèi)星數(shù)據(jù)產(chǎn)品的生產(chǎn)進行實時調(diào)度,業(yè)務模型如圖5所示。
③生產(chǎn)需求(Require):用戶提出的針對某種特定級別產(chǎn)品的生產(chǎn)要求。
④生產(chǎn)任務(Task):根據(jù)生產(chǎn)需求合并與分解得到從源級別產(chǎn)品到目的級別產(chǎn)品的生產(chǎn)任務。
⑤生產(chǎn)作業(yè)(SubTask):特定級別產(chǎn)品的生產(chǎn)。
⑥需求任務關(guān)系(Require-Task):生產(chǎn)需求與生產(chǎn)任務之間的對應關(guān)系,表示一個生產(chǎn)需求與生產(chǎn)任務是多對多關(guān)系。
⑦任務流程關(guān)系(Task-Flow):生產(chǎn)任務與生產(chǎn)各之間的映射關(guān)系,表示一個生產(chǎn)任務對應一個生產(chǎn)流程。
⑧作業(yè)任務關(guān)系(SubTask-Task):生產(chǎn)任務與生產(chǎn)作業(yè)之間的關(guān)系,表示一個生產(chǎn)任務可對應多個生產(chǎn)作業(yè)。
根據(jù)以上業(yè)務模型對生產(chǎn)流程進行配置,對流程實例的生產(chǎn)任務和作業(yè)進行適配,平臺即可滿足二級和三級調(diào)度能力,而一級調(diào)度中的分解算法可根據(jù)不同的衛(wèi)星類型進行擴展。
4結(jié)束語
通過對衛(wèi)星數(shù)據(jù)產(chǎn)品生產(chǎn)業(yè)務的分析,設計了平臺的組織架構(gòu),提出了三級生產(chǎn)調(diào)度的設計思想,并逐級進行詳細設計,分析了每級采用的調(diào)度策略,通過實例驗證了平臺的可行性。該衛(wèi)星產(chǎn)品生產(chǎn)平臺基于Agent思想進行設計,使得各級調(diào)度具備獨立的信息處理能力和一定的協(xié)商能力,適用于各類衛(wèi)星地面應用系統(tǒng)進行產(chǎn)品生產(chǎn)任務調(diào)度的自動處理。當新增衛(wèi)星和數(shù)據(jù)產(chǎn)品時,僅需進行專用算法擴展和模型適配即可滿足生產(chǎn)調(diào)度需求,具有很強的通用性和擴展性。
參考文獻
[1]鄭力明,李曉冬.淺談面向Agent的軟件工程[J].軟件, 2014,35(10):51-53.
[2]王汝傳,徐小龍,黃海平.智能Agent及其在信息網(wǎng)絡中的應用[M].北京:北京郵電大學出版社,2006.
[3]黃壽鑫,周群彪,蔡葵.基于流的隊列管理和隊列調(diào)度研究[J].四川大學學報(自然科學版),2010,47(6):1255-1258.
[4]程鄴華.云平臺的任務優(yōu)先級調(diào)度研究[D].邯鄲:河北工程大學,2015.
[5]丁長松,胡志剛,肖鵬.網(wǎng)格環(huán)境中可靠性增強的資源預留策略[J].通信學報,2011,32(7):40-46.
[6]江雷.搶占式調(diào)度算法與搶占閾值調(diào)度算法研究[J].現(xiàn)代計算機,2013(12):14-16.