摘要:研究了注射模CAE遠程應用系統的實現方法。圍繞建立最優系統模型,探討了數據壓縮算法和FTP文件服務,并采用主從服務器分離法提高系統性能。為進一步優化系統,運用了多線程、套接字、ADO和RAS遠程撥號等技術。
關鍵詞:注射模;CAE;遠程應用;文件傳送
1. 引言
近年來,塑料注射成型CAE技術取得了長足進展,應用CAE技術可替代傳統的試模方法,縮短模具設計制造周期,降低生產成本,提高產品質量,因此,注射模CAE軟件在模具行業中受到普遍歡迎。目前商品化的注射模CAE軟件價格較高,許多中小型模具廠尚未購買。隨著Internet的發展,借助互聯網提供的遠程應用功能,這些用戶只要花費很低的費用,就能通過互聯網借助于CAE軟件完成對注射模設計方案的分析與優化,從而降低其模具設計制造的成本。
本文在注射模CAE系統(HsCAE3DRF)基礎上,開發出1個性能優良的注射模CAE遠程應用服務系統。
2. 系統模型
系統模型如圖1所示。該模型的特點是,基于TCP/IP協議,以C/S模式為主,B/S模式為輔[1],可以實現多用戶操作,并對撥號用戶提供RAS服務。C/S和B/S共享服務器和數據庫,瀏覽器首先要通過WEB服務器下載客戶端控件。系統工作流程為:①客戶在主服務器上登錄,成功后進行方案設計;②客戶將設計好的方案上傳到FTP服務器,同時向主服務器提交CAE分析定單;③主服務器接到定單后立即通知方案分析服務器,后者根據通知要求對收到的方案進行分析,分析完畢給主服務器1個反饋信息;④主服務器通知客戶,客戶再從FTP服務器上下載分析結果方案,并在自己的工作站上觀察和使用該結果方案。
圖1遠程應用系統模型
系統模型中的數據庫主要對用戶(含注冊信息、郵件收發)、定單(含定單收發時間、地點、級別)、材料(含塑料材質、工藝參數、性能指標)和任務(含方案信息、日志記錄)等4類數據進行管理。為了提高數據的讀寫效率,減少系統資源占用,優化服務器性能,本系統在數據庫編程方面采用了先進的ADO(ActiveX Data Object)技術[2]。
3. FTP服務器
注射模CAE方案的遠程提交和返回以文件傳輸方式進行。系統模型中,FTP服務器主要是在客戶端和方案分析服務器之間起到1個橋梁作用,以實現分析方案的高效穩定互傳[3]。
FTP客戶端實現是基于套接字接口的。客戶端和服務器通過五元組全相關(客戶機網絡地址、客戶端口號、協議號、服務器網絡地址和服務器端口號)建立TCP的控制虛電路(即第1次握手)。一旦第1次握手成功,雙方便進入交互式會話狀態。此時,如果客戶端用戶向遠程服務器提出1個FTP請求,系統就會在客戶機與服務器之間臨時建立1個數據連接,用于客戶方案文件的傳送。這種接口方式也適用于多個方案文件的同時傳送(借助多條數據鏈路實現),其結果是有效減少了系統延遲,提高了數據傳輸效率。另外,本文還把超過5M的方案文件拆分成多個小文件進行多線程同時傳送,從而進一步提高數據傳輸效率。
為了保證用戶合法使用FTP服務器傳送自己的方案文件,本系統要求用戶提供注冊名和口令。同時,為了確保FTP服務器的安全,將用戶注冊名和口令副本隱含在客戶端程序中。
目前高性能的FTP服務器軟件很多,不必另行開發。因此,本系統的關鍵是在客戶端正確嵌入FTP客戶程序。WinInet是windows Internet擴展應用程序的接口,使用WinInet可以方便地給應用程序添加連接Internet服務器的功能,而無須考慮基本通訊協議和底層數據傳輸實現。WinInet支持文件傳輸協議(FTP),并提供相應的FTP客戶端系列函數和方便編程的MFCWinInet類。
4. 文件壓縮
對于客戶端提交或服務器返回的每套分析方案,由于含有圖形,所以,文件大小一般在10M以上,對于復雜的注射模分析方案,其文件大小甚至可達100M以上。如此巨大的數據量在網上傳輸,盡管采用了FTP技術,但數據的傳輸效率和穩定性并不理想。在網絡硬件不變的情況下,較好的解決辦法就是壓縮文件,以減少數據傳輸量。本系統借助Huffman算法[4]實現了數據的壓縮和解壓縮。
字符是數據存儲和傳送的基本單位,計算機系統采用定長編碼(如ASCII)表示字符。由于各字符的使用頻率不同,因此,以定長碼的方式存儲和傳送字符集往往會造成空間和時間的浪費。根據字符的使用頻率進行不等長編碼是解決空間和時間浪費的有效途徑之一。用不等長編碼壓縮的原理是:以最短的二進制位串表示使用頻率最高的字符,較長的二進制位串表示使用頻率低的字符,從而使字符的平均碼長縮短,數據的存儲和傳送量得以減少(壓縮);解壓縮過程與之相反,將二進制位串表示的“字符”按壓縮的相反方向還原,即可得到原始編碼的字符。
應用Huffman算法和Huffman樹可以較好地完成借助不等長編碼進行數據的壓縮和解壓縮工作。假設所需編碼的字符集合D={d1,d2,……,dn},字符在D中出現的頻率W={W1,W2,…,Wn},則對D中字符進行二進制編碼的基本要求是:①數據編碼總長最短;②若di不等于dj,則di的編碼不應是dj的開始部分(前綴)。雖然編碼時每個字符的碼長可變,但譯碼仍是逐位進行的,故不需另加分隔符。這種編碼方式稱為前綴編碼。
為使不等長編碼轉換成前綴編碼,應將字符集中的每個字符作為葉結點生成1棵帶權的編碼二叉樹(完全二叉樹),其中的權即為該字符在對應數據中出現的頻率。理論上,對于1棵帶權二叉樹,運用Huffman算法總可以獲得最優二叉樹(Huffman樹),該樹代表了最短的數據編碼。因此,求解不等長編碼問題轉化成了構造Huffman樹(di為結點,Wi為權值)問題。顯然,在生成Huffman樹之前要掃描一遍數據,以統計各字符的出現頻率。
Huffman編碼:以di為結點,Wi為權,構造最小WPL的二叉樹,把每個結點同其左子樹相連的邊標上位0,同右子樹相連的邊標上位1,從根結點到每個葉結點路徑上的位值連接起來的位串,即為該葉結點所代表字符的二進制編碼。壓縮時,對每個字符輸出其在編碼表中的二進制碼。
Huffman譯碼:從Huffman樹的根結點開始,用已壓縮數據的二進制位串值(0或1)逐個與Huffman樹上所標的位0、1相匹配,確定1條到達葉結點的路徑,到達葉結點則譯出1個字符,再回到根,從二進制串的下一位開始繼續譯碼,直到譯碼結束。
用上述原理編寫的壓縮程序對HsCAE3DRF遠程系統傳送的方案文件包的壓縮率(壓縮后長度/原長度×100%)達到50%以上,與WinZip、WinRar等軟件壓縮率相同。
5. 主從服務器
注射模CAE遠程應用系統面對的是大容量高密集的計算任務,隨著客戶并發提交的分析方案數增加,服務器硬件的開銷會增大,整個系統的性能也會變差。為提高系統的運算和處理速度,降低服務器的資源開銷,采用了面向連接、實時、多進程、多機同時運行的并發式主從服務器結構。
主服務器負責網絡系統通訊和數據庫操作。當若干分析方案并發提交時,主服務器會按照一定的算法將分析任務合理地調度給多臺從服務器。主服務器可以對所有正在運行的分析任務進行統一管理,掛起、恢復、終止或刪除當前的分析任務。
從服務器運行在不同機器上,負責處理數據量大、需要較長時間計算才能完成的方案分析工作。如果整個遠程應用系統的負荷不重,則主服務器也可兼作方案分析服務器,以便充分利用現有計算機網絡資源。
運用多線程技術可以實現對多用戶并發請求的支持[5]。在主服務器端,每接收1個客戶請求,便會產生2個線程,1個線程處理客戶請求,另1個線程偵聽下1個客戶請求。在從服務器端,每收到主服務器的1個通知,就會產生3個線程,1個線程處理通知,并創建1個對應的方案分析線程,第3個線程偵聽下1個通知。這種多線程技術構成了形式上的并發處理。
客戶機和服務器以及主從服務器之間的通訊采用Socket方式。WinSockAPI提供了使用Socket網絡編程的基本函數[5]。為有效控制服務器死鎖,本系統在數據接收和發送時采用了超時處理。
6. RAS撥號功能
為了滿足個別遠程用戶的需要,系統增設了RAS撥號功能。系統把提供RAS服務的NT服務器稱為RAS服務器[6]。客戶端可以借助自己的MODEM或其它通訊工具撥號進入RAS服務器,實現遠程登錄和遠程數據訪問。其中,客戶端的遠程連接是通過Windows9x/2000提供的動態連接庫文件rasapi32.dll實現的,rasapi32.dll中與撥號相關的函數是RasDial()和RasHangUp()。
為簡化用戶操作,系統直接將遠程連接的撥號功能嵌入在客戶端程序內。此外,系統在RAS網絡撥號服務器設置了一組靜態IP地址集,供沒有固定IP的用戶自動捕獲使用。
7. 系統流程
本系統投入運行后,因功能齊備和簡便易用,而受用戶歡迎。圖2、圖3分別為系統的客戶端和服務器端應用界面。圖4為本系統的典型流程。
圖4應用本系統流程
8. 結束語
從理論和實踐的結合上研究了注射模CAE系統的遠程應用問題。通過對分析方案的壓縮和解壓縮,以及采用FTP文件服務,在一定程度上解決了網絡傳輸效率問題;借助并發、面向連接、實時、多進程、多機同時運行的主從服務器結構,使整個系統性能得以較大幅度的提升;而ADO技術的采用,則進一步提高了數據庫的讀寫效率,減少了系統資火火源占用。同時,為滿足撥號用戶的需要,在系統中嵌入了RAS遠程撥號連接功能,并成功實現了IP地址的自動捕獲。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF