專利名稱:Cfd計算作業(yè)管理系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明設(shè)計一種作業(yè)管理系統(tǒng)及方法,特別是應(yīng)用于航空業(yè)飛行器設(shè)計領(lǐng)域的應(yīng)
用軟件的計算作業(yè)管理系統(tǒng)及方法。
背景技術(shù):
隨著我國航空業(yè)近年來的迅速發(fā)展,飛行器設(shè)計領(lǐng)域無論從應(yīng)用軟件層面還是硬件計算資源層面都有了巨大的變化。在飛機設(shè)計階段各種應(yīng)用平臺、設(shè)計平臺層出不窮,但都朝著流程化,智能化的方向發(fā)展。同時我國對航空業(yè)的投入也不斷加大,各設(shè)計單位在硬件方面也不斷更新設(shè)備,已經(jīng)很少有用單機PC作為計算資源進行使用,而是購買專用的大型計算服務(wù)器或高性能計算服務(wù)器作為計算資源。由于國家對保密問題的不斷重視,大多數(shù)設(shè)計單位都安裝了保密軟件,這對分布式軟件就有了更嚴格的要求。市場上計算作業(yè)管理系統(tǒng)也較多有LSF、 PBS Pro、 Condor、 0penPBS等,各具特色。LSF、 PBS Pro屬于商業(yè)軟件,功能齊全,性能、穩(wěn)定性好。適用于大型系統(tǒng)使用,對于CFD計算分析這樣普通平臺專門使用這些管理系統(tǒng)成本較高,集成復(fù)雜。OpenPBS、Condor是開源軟件,只能使用于Li皿x操作系統(tǒng),且對系統(tǒng)集成沒有特別的支持。 在CFD行業(yè)中,各種計算分析平臺不斷涌現(xiàn)。根據(jù)目前我國CFD行業(yè)的現(xiàn)狀,求解軟件各式各樣,數(shù)據(jù)格式不統(tǒng)一,結(jié)果輸出形式不相同,計算流程也不相同,基本上沒有一個統(tǒng)一的標準,求解計算需要的步驟較多,這都給CFD計算分析帶來大量的不必要工作,為求解軟件的集成帶來很大的困難,但此種現(xiàn)狀目前也很難改變。同時分布式計算是此類平臺的重要功能組成部分,很多作業(yè)管理系統(tǒng)不能很好的支持這種求解軟件的無縫集成,沒有根據(jù)現(xiàn)在CFD行業(yè)的特點和特殊需求設(shè)計作業(yè)管理系統(tǒng)。
目前存在的計算作業(yè)管理系統(tǒng)存在以下不足 1、計算作業(yè)管理系統(tǒng)不能脫離WiseCFD平臺獨立使用,不能簡單集成到其他系統(tǒng)中使用; 2、計算作業(yè)管理系統(tǒng)的客戶端與調(diào)度服務(wù)器之間是"緊連接",即在作業(yè)執(zhí)行過程中,客戶端不能關(guān)閉,必須保持打開狀態(tài),造成這種問題的原因是系統(tǒng)采用客戶端打開共享目錄的方式進行計算作業(yè)數(shù)據(jù)的共享,這樣就帶來客戶端計算機不能關(guān)閉,客戶端程序不能退出的限制; 3、沒有支持腳本作業(yè)執(zhí)行的功能; 4、沒有作業(yè)隊列的概念,在計算資源的優(yōu)化調(diào)度上不夠先進; 5、在優(yōu)化的策略上過于簡單,不支持軟件資源的調(diào)度,即沒有將求解軟件也作為一種資源參與調(diào)度,而是只有計算機資源的調(diào)度。
發(fā)明內(nèi)容
為了解決計算作業(yè)管理系統(tǒng)難于集成、對求解軟件的集成性支持不足、調(diào)度策略不夠多樣等問題,本發(fā)明提供一種設(shè)計應(yīng)用軟件的作業(yè)管理系統(tǒng)及方法,特別是CFD計算
3作業(yè)管理系統(tǒng)及管理方法。
本發(fā)明的技術(shù)方案是 —種CFD計算作業(yè)管理系統(tǒng),包括應(yīng)用調(diào)度服務(wù)器、計算服務(wù)器、客戶端、共享文
件服務(wù)器和數(shù)據(jù)庫;所述應(yīng)用調(diào)度服務(wù)器與客戶端之間是一種在作業(yè)執(zhí)行過程中作業(yè)的執(zhí)
行與客戶端或平臺無關(guān)的松連接,采用遠程方法調(diào)用MI的形式進行數(shù)據(jù)交換,并且采用
Socket+XML作為通訊手段實現(xiàn)與計算服務(wù)器的連接,通過JDBC實現(xiàn)與數(shù)據(jù)庫的連接,并用
Hibernate作為數(shù)據(jù)的持久化層;所述客戶端與所述共享文件服務(wù)器之間采用FTP協(xié)議進
行文件的上傳下載操作;所述計算服務(wù)器與所述共享文件服務(wù)器之間采用FTP協(xié)議進行文
件的上傳下載操作或是采用共享目錄的方式進行操作。 上述客戶端與所述應(yīng)用調(diào)度服務(wù)器采用Java語言實現(xiàn)。 上述計算服務(wù)器采用C++語言實現(xiàn)。 —種基于上述CFD計算作業(yè)管理系統(tǒng)的CDF計算作業(yè)管理方法,包括以下步驟
1、用戶通過客戶端準備提交作業(yè)信息,并且準備作業(yè)所需的數(shù)據(jù)文件;
2、提交步驟1所述的作業(yè)信息和數(shù)據(jù)文件,并將作業(yè)信息存儲到數(shù)據(jù)庫服務(wù)器,將作業(yè)數(shù)據(jù)文件上傳至文件共享服務(wù)器的指定目錄下; 3、應(yīng)用調(diào)度服務(wù)器根據(jù)步驟2所提交的作業(yè)信息進行調(diào)度,選擇作業(yè)所需的計算資源即計算服務(wù)器給計算作業(yè); 4、應(yīng)用調(diào)度服務(wù)器發(fā)送計算作業(yè)信息給指定的計算服務(wù)器; 5、步驟4所述的計算服務(wù)器從共享文件服務(wù)器上下載計算作業(yè)的數(shù)據(jù)文件,并根據(jù)計算作業(yè)信息開始計算作業(yè)的執(zhí)行;同時,計算服務(wù)器隨時接受用戶通過應(yīng)用調(diào)度服務(wù)器發(fā)送來的作業(yè)控制命令,給出及時的響應(yīng),并不斷的按一定的周期采集計算服務(wù)器的狀態(tài)信息即包括CPU、內(nèi)存、硬盤的信息發(fā)送給應(yīng)用調(diào)度服務(wù)器; 6、步驟5所述的計算作業(yè)執(zhí)行完畢后,計算服務(wù)器將計算結(jié)果文件上傳到文件共享服務(wù)器,并發(fā)送作業(yè)完成狀態(tài)給應(yīng)用調(diào)度服務(wù)器,最后清理、刪除計算服務(wù)器上的作業(yè)文件及目錄; 7、用戶通過客戶端計算機查看作業(yè)執(zhí)行情況,若執(zhí)行完畢,則從文件共享服務(wù)器
上下載結(jié)果數(shù)據(jù)到客戶端計算機進行查看與保存。
本發(fā)明的有益效果是 1、本發(fā)明為進行二次開發(fā)提供了接口,包括用戶管理接口、作業(yè)提交接口、作業(yè)控制接口 、系統(tǒng)查詢接口 ,文件傳輸接口 。通過提供的開發(fā)接口可對CFD計算軟件進行更高級的封裝,例如Fluent、 MGAER0等常用軟件;同時方便的為其它需要遠程計算的應(yīng)用平臺提供遠程高性能計算服務(wù)。 2、本發(fā)明對一般平臺所產(chǎn)生的作業(yè)類型都有支持,比如串行作業(yè),并行作業(yè)、批處理作業(yè)、腳本作業(yè)等。 3、本發(fā)明可以跨平臺使用,采用Java語言進行開發(fā),也根據(jù)不同的平臺開發(fā)了相應(yīng)版本服務(wù)程序的計算服務(wù)器,所以無論是Windows操作系統(tǒng),還是Li皿x操作系統(tǒng),該作業(yè)管理系統(tǒng)都有很好的支持。 4、本發(fā)明還將計算軟件也作為一種計算資源進行管理,可將計算軟件部署到計算節(jié)點上,從而在進行作業(yè)調(diào)度時不僅可以根據(jù)計算資源的CPU、內(nèi)存、硬盤等信息進行調(diào)度,而且可根據(jù)節(jié)點上安裝的應(yīng)用程序進行調(diào)度,選擇出用戶需要的計算資源。
圖1為本發(fā)明的系統(tǒng)通訊協(xié)議圖;
圖2為本發(fā)明的軟件整體結(jié)構(gòu)圖;
圖3為本發(fā)明的作業(yè)控制界面;
圖4為本發(fā)明的資源管理界面。
具體實施例方式
如圖1所示,本發(fā)明所提供的一種CFD計算作業(yè)管理系統(tǒng),主要由客戶端、應(yīng)用調(diào) 度服務(wù)器和計算服務(wù)器、共享文件服務(wù)器和數(shù)據(jù)庫。所述應(yīng)用調(diào)度服務(wù)器與客戶端之間是 一種在作業(yè)執(zhí)行過程中,作業(yè)的執(zhí)行與客戶端或平臺無關(guān)的松連接,采用遠程方法調(diào)用RMI 的形式進行數(shù)據(jù)交換,并且采用Socket+XML作為通訊手段實現(xiàn)與計算服務(wù)器的連接,通過 JDBC實現(xiàn)與數(shù)據(jù)庫的連接,并用Hibernate作為數(shù)據(jù)的持久化層;所述客戶端與所述共享 文件服務(wù)器之間采用FTP協(xié)議進行文件的上傳下載操作;所述計算服務(wù)器與所述共享文件 服務(wù)器之間采用FTP協(xié)議進行文件的上傳下載操作或是采用共享目錄的方式進行操作,兩 種方式系統(tǒng)管理員可根據(jù)具體的網(wǎng)絡(luò)環(huán)境進行選擇配置。 如圖2所示,所述CFD計算作業(yè)管理系統(tǒng)是以應(yīng)用調(diào)度服務(wù)器為中心,計算服務(wù)器 為基礎(chǔ)服務(wù),客戶端為接口,共享文件服務(wù)器和數(shù)據(jù)庫為支持的網(wǎng)絡(luò)系統(tǒng)??蛻舳素撠?zé)與客 戶的交互,提供使用本系統(tǒng)的界面。應(yīng)用調(diào)度服務(wù)器有三部分主要功能,第一負責(zé)響應(yīng)客 戶的功能請求,給予用戶正確的響應(yīng)信息,第二負責(zé)系統(tǒng)中作業(yè)隊列的調(diào)度、資源的合理使 用。第三控制計算服務(wù)器,完成遠程計算任務(wù),同時接收計算過程中的作業(yè)信息。計算服務(wù) 器根據(jù)調(diào)度服務(wù)器的要求完成計算任務(wù)的加載計算以及計算信息的獲取、計算資源負載情 況的統(tǒng)計,并且采集計算資源的CPU信息、內(nèi)存信息、操作系統(tǒng)信息等發(fā)送給應(yīng)用調(diào)度器進 行保存??蛻舳伺c應(yīng)用調(diào)度服務(wù)器采用Java語言實現(xiàn),計算服務(wù)器采用0++語言實現(xiàn);設(shè)立 FTP服務(wù)器作為系統(tǒng)的共享文件服務(wù)器,實現(xiàn)系統(tǒng)的文件向所有計算節(jié)點共享;系統(tǒng)數(shù)據(jù) 庫采用Oracle數(shù)據(jù)庫對系統(tǒng)的信息進行存儲。客戶端與應(yīng)用調(diào)度服務(wù)器之間采用RMI (遠 程方法調(diào)用)的形式進行數(shù)據(jù)交換,一般的查詢及控制功能采用RMI進行通訊。計算服務(wù) 器與應(yīng)用服務(wù)器采用Socket+XML作為通訊手段,采用這種方式可以使系統(tǒng)的擴展性更強。 客戶端與應(yīng)用調(diào)度服務(wù)器間是一種松連接,并采用MI作為調(diào)用方式,所以系統(tǒng)很容易通 過封裝遠程對象接口成為Web服務(wù),從而擴展為Web方式提供給用戶使用。
本發(fā)明所涉及的CFD計算作業(yè)管理系統(tǒng)的客戶端設(shè)置有進行二次開發(fā)時所需的 接口 ,包括用戶管理接口 、作業(yè)提交接口 、作業(yè)控制接口 、系統(tǒng)查詢接口 ,文件傳輸接口等, 通過提供的開發(fā)接口可對CFD計算軟件進行更高級的封裝,例如Fluent、 MGAER0等常用軟 件,也可進行二次開發(fā),便于其它平臺的調(diào)用。由于有些平臺是專為一些特定求解軟件而研 制的,因此在分布式計算過程中,可以將一些參數(shù)向用戶屏蔽。此外有些軟件的執(zhí)行不是單 個可執(zhí)行程序,而是由多個子程序組成。系統(tǒng)采用腳本將這些子程序串編,在執(zhí)行作業(yè)過程 中用戶不必一個一個的執(zhí)行。MGAERO程序是由前處理程序、求解程序、后處理程序3部分 組成,在集成此程序時可用Python腳本將自程序串編成一個程序,執(zhí)行作業(yè)時只需要選擇MGAER0程序名,提供求解數(shù)據(jù)文件,就可一次性運行3個子程序,為用戶的使用和平臺的集 成帶來很大的方便。系統(tǒng)中將作業(yè)類型首先分為已集成軟件和用戶自定義軟件。已集成軟 件是管理員提前將計算軟件部署到計算節(jié)點,每次普通用戶在使用時,只需選擇需要的軟 件名稱和提交計算數(shù)據(jù)文件。使用用戶自定義軟件,用戶必須提供求解軟件的可執(zhí)行程序 和必須的相關(guān)文件。對于并行作業(yè)系統(tǒng)中支持MPI并行作業(yè),在計算服務(wù)器中根據(jù)用戶的 并行要求調(diào)用MPIrun. exe程序加載并行作業(yè)。對于批處理作業(yè)支持Windows批處理文件 的作業(yè),則根據(jù)提供的*. bat文件直接加載作業(yè)進程。對于腳本作業(yè)支持Python腳本作業(yè) 等,根據(jù)作業(yè)執(zhí)行文件*. py,調(diào)用python, exe程序加載作業(yè),可支持多種類型的腳本作業(yè)。
本發(fā)明提供的一種實現(xiàn)上述CFD計算作業(yè)管理系統(tǒng)的CDF計算作業(yè)管理方法,包 括以下步驟 1、用戶通過客戶端準備提交作業(yè)信息,并且準備作業(yè)所需的數(shù)據(jù)文件; 2、提交步驟1所述的作業(yè)信息和數(shù)據(jù)文件,并將作業(yè)信息存儲到數(shù)據(jù)庫服務(wù)器,
將作業(yè)數(shù)據(jù)文件上傳至文件共享服務(wù)器的指定目錄下; 3、應(yīng)用調(diào)度服務(wù)器根據(jù)步驟2所提交的作業(yè)信息進行調(diào)度,選擇作業(yè)所需的計算 資源即計算服務(wù)器給計算作業(yè); 4、應(yīng)用調(diào)度服務(wù)器發(fā)送計算作業(yè)信息給指定的計算服務(wù)器; 5、步驟4所述的計算服務(wù)器從共享文件服務(wù)器上下載計算作業(yè)的數(shù)據(jù)文件,并根 據(jù)計算作業(yè)信息開始計算作業(yè)的執(zhí)行;同時,計算服務(wù)器隨時接受用戶通過應(yīng)用調(diào)度服務(wù) 器發(fā)送來的作業(yè)控制命令即執(zhí)行、暫停、恢復(fù)、停止等,給出及時的響應(yīng),并不斷的按一定的 周期采集計算服務(wù)器的狀態(tài)信息即包括CPU、內(nèi)存、硬盤的信息發(fā)送給應(yīng)用調(diào)度服務(wù)器;
6、步驟5所述的計算作業(yè)執(zhí)行完畢后,計算服務(wù)器將計算結(jié)果文件上傳到文件共 享服務(wù)器,并發(fā)送作業(yè)完成狀態(tài)給應(yīng)用調(diào)度服務(wù)器,最后清理、刪除計算服務(wù)器上的作業(yè)文 件及目錄; 7、用戶通過客戶端計算機查看作業(yè)執(zhí)行情況,若執(zhí)行完畢,則從文件共享服務(wù)器 上下載結(jié)果數(shù)據(jù)到客戶端計算機進行查看與保存。 通過以上八個步驟,計算作業(yè)管理系統(tǒng)幫助用戶完成了作業(yè)的遠程執(zhí)行。但是如 果計算服務(wù)器與文件共享服務(wù)器之間允許采用共享目錄的方式進行數(shù)據(jù)共享,則在步驟4 中調(diào)度服務(wù)器在發(fā)送計算作業(yè)信息給指定計算節(jié)點的同時,向計算服務(wù)器共享該作業(yè)的目 錄;在步驟5中計算服務(wù)器通過連接共享文件服務(wù)器中的計算作業(yè)目錄來獲取計算作業(yè)的 數(shù)據(jù)文件,計算完畢后斷開共享連接。這種數(shù)據(jù)共享方式簡化文件上傳下載的步驟,節(jié)省了 作業(yè)執(zhí)行時間,但安全性受到了損失,所以在系統(tǒng)對數(shù)據(jù)安全性要求不高的環(huán)境下可采用 這種方式進行數(shù)據(jù)的共享。 本發(fā)明所涉及的CFD計算作業(yè)管理系統(tǒng)及方法,可以在PC計算和SMP服務(wù)器上進 行部署,應(yīng)用廣泛,能夠提供易集成性,并且支持多種類型的腳本作業(yè)的管理系統(tǒng)及方法。
權(quán)利要求
CFD計算作業(yè)管理系統(tǒng),其特征在于包括應(yīng)用調(diào)度服務(wù)器、計算服務(wù)器、客戶端、共享文件服務(wù)器和數(shù)據(jù)庫;所述應(yīng)用調(diào)度服務(wù)器與客戶端是在作業(yè)執(zhí)行過程中作業(yè)的執(zhí)行與客戶端或平臺無關(guān)的松連接,并與客戶端通過遠程方法調(diào)用RMI的形式進行數(shù)據(jù)交換;所述應(yīng)用調(diào)度服務(wù)器與計算服務(wù)器采用Socket+XML作為通訊手段實現(xiàn)連接;所述應(yīng)用調(diào)度服務(wù)器通過JDBC實現(xiàn)與數(shù)據(jù)庫的連接,并采用Hibernate作為數(shù)據(jù)的持久化層;所述客戶端與所述共享文件服務(wù)器之間采用FTP協(xié)議進行文件的上傳下載;所述計算服務(wù)器與所述共享文件服務(wù)器之間采用FTP協(xié)議進行文件的上傳下載或是采用共享目錄的方式。
2. 根據(jù)權(quán)利要求1所述的CFD計算作業(yè)管理系統(tǒng),其特征在于所述客戶端與所述應(yīng)用調(diào)度服務(wù)器采用Java語言實現(xiàn);所述計算服務(wù)器采用0++語言實現(xiàn)。
3. 根據(jù)權(quán)利要求1或2所述的CFD計算作業(yè)管理系統(tǒng),其特征在于所述客戶端上設(shè)置有二次開發(fā)時所需的接口 ;所述接口包括用戶管理接口、作業(yè)提交接口、作業(yè)控制接口、系統(tǒng)查詢接口和文件傳輸接口 。
4. 一種基于權(quán)利要求1所述CFD計算作業(yè)管理系統(tǒng)的CDF計算作業(yè)管理方法,其特征在于包括以下步驟1) 用戶通過客戶端準備提交作業(yè)信息,并且準備作業(yè)所需的數(shù)據(jù)文件;2) 提交步驟l)所述的作業(yè)信息和數(shù)據(jù)文件,并將作業(yè)信息存儲到數(shù)據(jù)庫服務(wù)器,將作業(yè)數(shù)據(jù)文件上傳至文件共享服務(wù)器的指定目錄下;3) 應(yīng)用調(diào)度服務(wù)器根據(jù)步驟2)所提交的作業(yè)信息進行調(diào)度,選擇作業(yè)所需的計算資源即計算服務(wù)器給計算作業(yè);4) 應(yīng)用調(diào)度服務(wù)器發(fā)送計算作業(yè)信息給指定的計算服務(wù)器,向計算服務(wù)器共享該作業(yè)的目錄;5) 步驟4)所述的計算服務(wù)器從共享文件服務(wù)器上下載計算作業(yè)的數(shù)據(jù)文件并根據(jù)計算作業(yè)信息開始計算作業(yè)的執(zhí)行,或者通過連接共享文件服務(wù)器中的計算作業(yè)目錄來獲取計算作業(yè)的數(shù)據(jù)文件,計算完畢后斷開共享連接;同時,計算服務(wù)器隨時接受用戶通過應(yīng)用調(diào)度服務(wù)器發(fā)送來的作業(yè)控制命令,給出及時的響應(yīng),并不斷的按一定的周期采集計算服務(wù)器的狀態(tài)信息發(fā)送給應(yīng)用調(diào)度服務(wù)器;6) 步驟5)所述的計算作業(yè)執(zhí)行完畢后,計算服務(wù)器將計算結(jié)果文件上傳到文件共享服務(wù)器,并發(fā)送作業(yè)完成狀態(tài)給應(yīng)用調(diào)度服務(wù)器,最后清理、刪除計算服務(wù)器上的作業(yè)文件及目錄;7) 用戶通過客戶端計算機查看作業(yè)執(zhí)行情況,若執(zhí)行完畢,則從步驟6)所述的文件共享服務(wù)器上下載結(jié)果數(shù)據(jù)到客戶端計算機進行查看與保存。
5. 根據(jù)權(quán)利要求4所述的CDF計算作業(yè)管理方法,其特征在于所述步驟5)的計算服務(wù)器的狀態(tài)信息包括CPU、內(nèi)存、硬盤的信息。
全文摘要
本發(fā)明所涉及的一種CFD計算作業(yè)管理系統(tǒng)及方法,包括應(yīng)用調(diào)度服務(wù)器、計算服務(wù)器、客戶端、共享文件服務(wù)器和數(shù)據(jù)庫;所述應(yīng)用調(diào)度服務(wù)器通過采用遠程方法調(diào)用RMI的形式與客戶端進行數(shù)據(jù)交換,與計算服務(wù)器采用Socket+XML作為通訊手段實現(xiàn)連接,通過JDBC實現(xiàn)與數(shù)據(jù)庫的連接,并采用Hibernate作為數(shù)據(jù)的持久化層;所述客戶端與所述共享文件服務(wù)器之間采用FTP協(xié)議進行文件的上傳下載操作;所述計算服務(wù)器與所述共享文件服務(wù)器之間采用FTP協(xié)議進行文件的上傳下載操作或是采用共享目錄的方式進行操作。本發(fā)明可以很好地解決計算作業(yè)管理系統(tǒng)難于集成、對求解軟件的集成性支持不足、調(diào)度策略不夠多樣等問題。
文檔編號G06F17/50GK101719188SQ20091025454
公開日2010年6月2日 申請日期2009年12月28日 優(yōu)先權(quán)日2009年12月28日
發(fā)明者朱朝, 梁益華 申請人:中國航空工業(yè)集團公司第六三一研究所