專利名稱:基于matlab及com技術的b/s結構遠程計算平臺的制作方法
技術領域:
本發明涉及基于MATLAB及COM技術的B/S結構遠程計算平臺,屬于計算機 網絡應用領域,。
背景技術:
MATLAB是一款被廣泛應用于科學與工程計算的通用計算軟件,具有強大的數 值計算功能,并包含用于不同科學領域的工具箱。然而,其全功能軟件價格卻 高達百萬元人民幣之巨,對于小型科研單位或個人,這是不可接受的。
為能夠充分利用軟件,很多科研單位、高校使用MATLAB早期版本中一個叫 MATLAB Web Server的組件,開發基于MATLAB的遠程計算平臺。當前的基于 MATLAB的B/S結構應用都是基于該組件的,由于該組件功能的限制,只能開發 一些簡單的、模式固定的應用,使用本文中闡述的遠程計算機平臺可以使用戶 能夠通過Web方式任意訪問MATLAB的所有功能模塊,包括MATLAB控制臺、 MATLAB程序編譯器、Simulink等幾乎所有核心功能。通過Simulink和Realtime Workshop還可以進行遠程實時控制操作,進行遠程實驗。
發明內容
本發明提供了一種基于MATLAB及COM技術的B/S結構遠程計算平臺,使得 用戶可以突破時間與空間的限制,隨時隨地通過網絡使用MATLAB,為用戶提供 便利,也使得資源得到充分利用。使用Simulink和Realtime Workshop工具箱 還可以進行實物仿真,通過WEB操作,可以進行遠程實驗,進行基于Internet 的遠程實驗室建設。 基于MATLAB的B/S結構遠程計算平臺主要分為以下幾個部分WEB客戶端 模塊、WEB服務器、命令處理模塊、文件上傳模塊、MATLAB控制模塊、MATLAB。
(1) WEB客戶端模塊通過HTML和JavaScript等客戶端腳本給用戶提供一個 友好的交互界面;
(2) WEB服務器負責處理客戶端的HTTP請求;
(3) 文件上傳模塊負責處理用戶上傳*.111程序文件和tmdl模型文件;
(4) 命令處理模塊出于安全因素考慮,對用戶輸入的命令進行過濾、格式 化;
(5) MATLAB控制模塊使用C0M技術,調用MATLAB,執行用戶請求,并取回 執行結果;
(6) MATLAB:執行MATLAB命令或程序,完成計算任務。 用戶進行工作流程如下
(1) 用戶通過客戶端模塊提供的WEB界面編輯MATLAB命令或選擇要上傳到服 務器用以執行的.m文件或.mdl模型文件,并向WEB服務器提交請求。
(2) WEB服務器接到用戶的請求之后,根據不同的請求調用不同的模塊。
如果用戶需要執行MATLAB命令,WEB服務器直接將命令傳送給命令處 理模塊,對命令字符串進行處理,主要包括兩方面的處理①去掉有可能 損壞系統的命令,主要是"!"字符開頭的命令,因為在MATLAB中可以通 過"!"字符后跟系統命令來執行系統命令,特別 是!format, !del, !copy, !move等命令,如果不對這些命令進行限制, 惡意的MATLAB程序或錯誤的MATLAB程序很可能損壞服務器的文件系統, 甚至損壞重要數據;②在命令末尾增加回車符,因為MATLAB命令以回車 結尾時才開始運行,從客戶端上傳的命令字符串末尾可能沒有回車符,該
模塊為這些命令字符串增加回車符。
如果用戶要運行.m程序文件或.mdl模型文件仿真,則調用文件上傳 模塊上傳用戶的文件;.m程序文件上傳后,出于安全考慮,與用戶上傳的 命令字符串一樣,都要經過命令處理模塊才能夠被送往MATLAB控制模塊, 然后由MATLAB執行。
(3) 命令處理模塊處理后的MATLAB命令或文件上傳模塊得到的用戶上傳的文 件,被提交給MATLAB控制模塊;
(4) MATLAB控制模塊通過COM技術,產生一個MATLAB的COM對象,通過該對 象執行MATLAB命令或.m或.mdl文件,并得到執行結果;
如果有硬件設備連接到MATLAB服務器,用戶就可以通過程序或者 Simulink模型對設備進行控制、操作,這也就是遠程控制,即使用本方案 不僅可以MATLAB的共享、遠程計算,還可以實現基于MATLAB的遠程實驗 平臺。
(5) 執行結果被轉交給WEB服務器,由WEB服務器作為HTTP響應返回給客戶 端,客戶端便可以以圖表或曲線等格式看到執行結果,或者下載原始數據。 至此一次遠程科學計算的請求便完成。
有益效果
本發明為基于MATLAB的WEB應用開發提供了一個框架,而對使用的WEB技 術、編程語言以及WEB服務器的種類并沒有特別限制,使用該框架可以利用 MATLAB的功能開發各種遠程應用,例如,通過開發不同的MATLAB控制模塊功能, 可以開發各種基于MATLAB的仿真實驗,使用MATLAB的Real-Time Workshop工 具箱,還可以開發各種遠程實驗,等等。
圖1為本發明涉及基于MATLAB及COM技術的B/S結構遠程計算平臺的系統 架構具體實施例方式
下面結合附圖和具體實施方式
對本發明作進一步說明。
本發明是一種方案,對WEB應用系統及編程語言沒有具體要求,只要可以實現 用戶交互,并支持COM組件調用即可,下面以IIS為WEB服務器,以ASP. NET 作為WEB實現技術,以Ctt為編程語言為例,說明本發明的實施方式。
(1) 安裝并配置ns服務器;
(2) 安裝MATLAB軟件;
(3) 分別設計用戶界面,即WEB客戶端模塊,用于編寫在線命令或上傳文件;
(4) 用戶通過客戶端模塊提供的WEB界面編輯MATLAB命令或選擇要上傳到 服務器用以執行的.m文件,并向WEB服務器提交請求。
(5) WEB服務器接到用戶的請求之后,用戶需要執行MATLAB命令,WEB服 務器直接將命令傳送給命令處理模塊,對命令字符串進行處理,主要包括兩方 面的處理O去掉有可能損壞系統的命令,主要是"!"字符開頭的命令,因為 在MATLAB中可以通過"!"字符后跟系統命令來執行系統命令,特別 是!format, !del, !copy, !move等命令;②在命令末尾增加回車符,因為 MATLAB命令以回車結尾時才開始運行,從客戶端上傳的命令字符串末尾可能沒 有回車符,該模塊為這些命令字符串增加回車符。
(6) 命令處理模塊處理后的MATLAB命令或文件上傳模塊得到的用戶上傳的文 件,被提交給MATLAB控制模塊;
(7) MATLAB控制模塊通過COM技術,產生一個MATLAB的COM對象,通過該對
象執行MATLAB命令,并得到執行結果; (8)執行結果被轉交給WEB服務器,由WEB服務器作為HTTP響應返回給客戶 端,客戶端便可以以圖表或曲線等格式看到執行結果,或者下載原始數據。 至此一次遠程科學計算的請求便完成。
權利要求
1.基于MATLAB的B/S結構遠程計算平臺,包括WEB客戶端模塊、WEB服務器、命令處理模塊、文件上傳模塊、MATLAB控制模塊、MATLAB;其特征在于WEB客戶端模塊通過HTML和JavaScript等客戶端腳本給用戶提供一個交互界面;WEB服務器負責處理客戶端的HTTP請求;文件上傳模塊負責處理用戶上傳*.m程序文件和*.mdl模型文件;命令處理模塊出于安全因素考慮,對用戶輸入的命令進行過濾、格式化;MATLAB控制模塊使用COM技術,調用MATLAB,執行用戶請求,并取回執行結果;MATLAB執行MATLAB命令或程序,完成計算任務;其特征還在于工作步驟如下(1)用戶通過客戶端模塊提供的WEB界面編輯MATLAB命令或選擇要上傳到服務器用以執行的.m文件或.mdl模型文件,并向WEB服務器提交請求;(2)WEB服務器接到用戶的請求之后,根據不同的請求調用不同的模塊;如果用戶需要執行MATLAB命令,WEB服務器直接將命令傳送給命令處理模塊,對命令字符串進行處理,主要包括兩方面的處理①去掉有可能損壞系統的命令,主要是“!”字符開頭的命令,因為在MATLAB中可以通過“!”字符后跟系統命令來執行系統命令,特別是!format,!del,!copy,!move等命令,如果不對這些命令進行限制,惡意的MATLAB程序或錯誤的MATLAB程序很可能損壞服務器的文件系統,甚至損壞重要數據;②在命令末尾增加回車符,因為MATLAB命令以回車結尾時才開始運行,從客戶端上傳的命令字符串末尾可能沒有回車符,該模塊為這些命令字符串增加回車符;如果用戶要運行.m程序文件或.mdl模型文件仿真,則調用文件上傳模塊上傳用戶的文件;.m程序文件上傳后,出于安全考慮,與用戶上傳的命令字符串一樣,都要經過命令處理模塊才能夠被送往MATLAB控制模塊,然后由MATLAB執行;(3)命令處理模塊處理后的MATLAB命令或文件上傳模塊得到的用戶上傳的文件,被提交給MATLAB控制模塊;(4)MATLAB控制模塊通過COM技術,產生一個MATLAB的COM對象,通過該對象執行MATLAB命令或.m、.mdl文件,并得到執行結果;(5)執行結果被轉交給WEB服務器,由WEB服務器作為HTTP響應返回給客戶端,客戶端便以圖表或曲線等格式看到執行結果,或者下載原始數據;至此一次遠程科學計算的請求完成。
全文摘要
本發明公開了基于MATLAB的B/S結構遠程計算平臺,包括WEB客戶端模塊、WEB服務器、命令處理模塊、文件上傳模塊、MATLAB控制模塊和MATLAB;向WEB服務器上傳.m文件或.mdl模型文件后,根據不同的請求調用模塊;處理后的MATLAB命令或文件上傳模塊得到上傳的文件,被提交給MATLAB控制模塊;MATLAB控制模塊通過COM技術產生一個MATLAB的COM對象并得到執行結果;執行結果通過WEB服務器后返回給客戶端,本發明為基于MATLAB的WEB應用開發提供了一個框架,而對使用的WEB技術、編程語言以及WEB服務器的種類并沒有特別限制,使用該框架可開發各種遠程應用。
文檔編號H04L29/06GK101360126SQ200810167549
公開日2009年2月4日 申請日期2008年10月10日 優先權日2008年10月10日
發明者遠 姚, 戴亞平, 田德振 申請人:北京理工大學