摘要:研究了注射模CAE遠(yuǎn)程應(yīng)用系統(tǒng)的實(shí)現(xiàn)方法。圍繞建立最優(yōu)系統(tǒng)模型,探討了數(shù)據(jù)壓縮算法和FTP文件服務(wù),并采用主從服務(wù)器分離法提高系統(tǒng)性能。為進(jìn)一步優(yōu)化系統(tǒng),運(yùn)用了多線程、套接字、ADO和RAS遠(yuǎn)程撥號等技術(shù)。
關(guān)鍵詞:注射模;CAE;遠(yuǎn)程應(yīng)用;文件傳送
1. 引言
近年來,塑料注射成型CAE技術(shù)取得了長足進(jìn)展,應(yīng)用CAE技術(shù)可替代傳統(tǒng)的試模方法,縮短模具設(shè)計(jì)制造周期,降低生產(chǎn)成本,提高產(chǎn)品質(zhì)量,因此,注射模CAE軟件在模具行業(yè)中受到普遍歡迎。目前商品化的注射模CAE軟件價格較高,許多中小型模具廠尚未購買。隨著Internet的發(fā)展,借助互聯(lián)網(wǎng)提供的遠(yuǎn)程應(yīng)用功能,這些用戶只要花費(fèi)很低的費(fèi)用,就能通過互聯(lián)網(wǎng)借助于CAE軟件完成對注射模設(shè)計(jì)方案的分析與優(yōu)化,從而降低其模具設(shè)計(jì)制造的成本。
本文在注射模CAE系統(tǒng)(HsCAE3DRF)基礎(chǔ)上,開發(fā)出1個性能優(yōu)良的注射模CAE遠(yuǎn)程應(yīng)用服務(wù)系統(tǒng)。
2. 系統(tǒng)模型
系統(tǒng)模型如圖1所示。該模型的特點(diǎn)是,基于TCP/IP協(xié)議,以C/S模式為主,B/S模式為輔[1],可以實(shí)現(xiàn)多用戶操作,并對撥號用戶提供RAS服務(wù)。C/S和B/S共享服務(wù)器和數(shù)據(jù)庫,瀏覽器首先要通過WEB服務(wù)器下載客戶端控件。系統(tǒng)工作流程為:①客戶在主服務(wù)器上登錄,成功后進(jìn)行方案設(shè)計(jì);②客戶將設(shè)計(jì)好的方案上傳到FTP服務(wù)器,同時向主服務(wù)器提交CAE分析定單;③主服務(wù)器接到定單后立即通知方案分析服務(wù)器,后者根據(jù)通知要求對收到的方案進(jìn)行分析,分析完畢給主服務(wù)器1個反饋信息;④主服務(wù)器通知客戶,客戶再從FTP服務(wù)器上下載分析結(jié)果方案,并在自己的工作站上觀察和使用該結(jié)果方案。

圖1遠(yuǎn)程應(yīng)用系統(tǒng)模型
系統(tǒng)模型中的數(shù)據(jù)庫主要對用戶(含注冊信息、郵件收發(fā))、定單(含定單收發(fā)時間、地點(diǎn)、級別)、材料(含塑料材質(zhì)、工藝參數(shù)、性能指標(biāo))和任務(wù)(含方案信息、日志記錄)等4類數(shù)據(jù)進(jìn)行管理。為了提高數(shù)據(jù)的讀寫效率,減少系統(tǒng)資源占用,優(yōu)化服務(wù)器性能,本系統(tǒng)在數(shù)據(jù)庫編程方面采用了先進(jìn)的ADO(ActiveX Data Object)技術(shù)[2]。
3. FTP服務(wù)器
注射模CAE方案的遠(yuǎn)程提交和返回以文件傳輸方式進(jìn)行。系統(tǒng)模型中,F(xiàn)TP服務(wù)器主要是在客戶端和方案分析服務(wù)器之間起到1個橋梁作用,以實(shí)現(xiàn)分析方案的高效穩(wěn)定互傳[3]。
FTP客戶端實(shí)現(xiàn)是基于套接字接口的。客戶端和服務(wù)器通過五元組全相關(guān)(客戶機(jī)網(wǎng)絡(luò)地址、客戶端口號、協(xié)議號、服務(wù)器網(wǎng)絡(luò)地址和服務(wù)器端口號)建立TCP的控制虛電路(即第1次握手)。一旦第1次握手成功,雙方便進(jìn)入交互式會話狀態(tài)。此時,如果客戶端用戶向遠(yuǎn)程服務(wù)器提出1個FTP請求,系統(tǒng)就會在客戶機(jī)與服務(wù)器之間臨時建立1個數(shù)據(jù)連接,用于客戶方案文件的傳送。這種接口方式也適用于多個方案文件的同時傳送(借助多條數(shù)據(jù)鏈路實(shí)現(xiàn)),其結(jié)果是有效減少了系統(tǒng)延遲,提高了數(shù)據(jù)傳輸效率。另外,本文還把超過5M的方案文件拆分成多個小文件進(jìn)行多線程同時傳送,從而進(jìn)一步提高數(shù)據(jù)傳輸效率。
為了保證用戶合法使用FTP服務(wù)器傳送自己的方案文件,本系統(tǒng)要求用戶提供注冊名和口令。同時,為了確保FTP服務(wù)器的安全,將用戶注冊名和口令副本隱含在客戶端程序中。
目前高性能的FTP服務(wù)器軟件很多,不必另行開發(fā)。因此,本系統(tǒng)的關(guān)鍵是在客戶端正確嵌入FTP客戶程序。WinInet是windows Internet擴(kuò)展應(yīng)用程序的接口,使用WinInet可以方便地給應(yīng)用程序添加連接Internet服務(wù)器的功能,而無須考慮基本通訊協(xié)議和底層數(shù)據(jù)傳輸實(shí)現(xiàn)。WinInet支持文件傳輸協(xié)議(FTP),并提供相應(yīng)的FTP客戶端系列函數(shù)和方便編程的MFCWinInet類。
4. 文件壓縮
對于客戶端提交或服務(wù)器返回的每套分析方案,由于含有圖形,所以,文件大小一般在10M以上,對于復(fù)雜的注射模分析方案,其文件大小甚至可達(dá)100M以上。如此巨大的數(shù)據(jù)量在網(wǎng)上傳輸,盡管采用了FTP技術(shù),但數(shù)據(jù)的傳輸效率和穩(wěn)定性并不理想。在網(wǎng)絡(luò)硬件不變的情況下,較好的解決辦法就是壓縮文件,以減少數(shù)據(jù)傳輸量。本系統(tǒng)借助Huffman算法[4]實(shí)現(xiàn)了數(shù)據(jù)的壓縮和解壓縮。
字符是數(shù)據(jù)存儲和傳送的基本單位,計(jì)算機(jī)系統(tǒng)采用定長編碼(如ASCII)表示字符。由于各字符的使用頻率不同,因此,以定長碼的方式存儲和傳送字符集往往會造成空間和時間的浪費(fèi)。根據(jù)字符的使用頻率進(jìn)行不等長編碼是解決空間和時間浪費(fèi)的有效途徑之一。用不等長編碼壓縮的原理是:以最短的二進(jìn)制位串表示使用頻率最高的字符,較長的二進(jìn)制位串表示使用頻率低的字符,從而使字符的平均碼長縮短,數(shù)據(jù)的存儲和傳送量得以減少(壓縮);解壓縮過程與之相反,將二進(jìn)制位串表示的“字符”按壓縮的相反方向還原,即可得到原始編碼的字符。
應(yīng)用Huffman算法和Huffman樹可以較好地完成借助不等長編碼進(jìn)行數(shù)據(jù)的壓縮和解壓縮工作。假設(shè)所需編碼的字符集合D={d1,d2,……,dn},字符在D中出現(xiàn)的頻率W={W1,W2,…,Wn},則對D中字符進(jìn)行二進(jìn)制編碼的基本要求是:①數(shù)據(jù)編碼總長最短;②若di不等于dj,則di的編碼不應(yīng)是dj的開始部分(前綴)。雖然編碼時每個字符的碼長可變,但譯碼仍是逐位進(jìn)行的,故不需另加分隔符。這種編碼方式稱為前綴編碼。
為使不等長編碼轉(zhuǎn)換成前綴編碼,應(yīng)將字符集中的每個字符作為葉結(jié)點(diǎn)生成1棵帶權(quán)的編碼二叉樹(完全二叉樹),其中的權(quán)即為該字符在對應(yīng)數(shù)據(jù)中出現(xiàn)的頻率。理論上,對于1棵帶權(quán)二叉樹,運(yùn)用Huffman算法總可以獲得最優(yōu)二叉樹(Huffman樹),該樹代表了最短的數(shù)據(jù)編碼。因此,求解不等長編碼問題轉(zhuǎn)化成了構(gòu)造Huffman樹(di為結(jié)點(diǎn),Wi為權(quán)值)問題。顯然,在生成Huffman樹之前要掃描一遍數(shù)據(jù),以統(tǒng)計(jì)各字符的出現(xiàn)頻率。
Huffman編碼:以di為結(jié)點(diǎn),Wi為權(quán),構(gòu)造最小WPL的二叉樹,把每個結(jié)點(diǎn)同其左子樹相連的邊標(biāo)上位0,同右子樹相連的邊標(biāo)上位1,從根結(jié)點(diǎn)到每個葉結(jié)點(diǎn)路徑上的位值連接起來的位串,即為該葉結(jié)點(diǎn)所代表字符的二進(jìn)制編碼。壓縮時,對每個字符輸出其在編碼表中的二進(jìn)制碼。
Huffman譯碼:從Huffman樹的根結(jié)點(diǎn)開始,用已壓縮數(shù)據(jù)的二進(jìn)制位串值(0或1)逐個與Huffman樹上所標(biāo)的位0、1相匹配,確定1條到達(dá)葉結(jié)點(diǎn)的路徑,到達(dá)葉結(jié)點(diǎn)則譯出1個字符,再回到根,從二進(jìn)制串的下一位開始繼續(xù)譯碼,直到譯碼結(jié)束。
用上述原理編寫的壓縮程序?qū)sCAE3DRF遠(yuǎn)程系統(tǒng)傳送的方案文件包的壓縮率(壓縮后長度/原長度×100%)達(dá)到50%以上,與WinZip、WinRar等軟件壓縮率相同。
5. 主從服務(wù)器
注射模CAE遠(yuǎn)程應(yīng)用系統(tǒng)面對的是大容量高密集的計(jì)算任務(wù),隨著客戶并發(fā)提交的分析方案數(shù)增加,服務(wù)器硬件的開銷會增大,整個系統(tǒng)的性能也會變差。為提高系統(tǒng)的運(yùn)算和處理速度,降低服務(wù)器的資源開銷,采用了面向連接、實(shí)時、多進(jìn)程、多機(jī)同時運(yùn)行的并發(fā)式主從服務(wù)器結(jié)構(gòu)。
主服務(wù)器負(fù)責(zé)網(wǎng)絡(luò)系統(tǒng)通訊和數(shù)據(jù)庫操作。當(dāng)若干分析方案并發(fā)提交時,主服務(wù)器會按照一定的算法將分析任務(wù)合理地調(diào)度給多臺從服務(wù)器。主服務(wù)器可以對所有正在運(yùn)行的分析任務(wù)進(jìn)行統(tǒng)一管理,掛起、恢復(fù)、終止或刪除當(dāng)前的分析任務(wù)。
從服務(wù)器運(yùn)行在不同機(jī)器上,負(fù)責(zé)處理數(shù)據(jù)量大、需要較長時間計(jì)算才能完成的方案分析工作。如果整個遠(yuǎn)程應(yīng)用系統(tǒng)的負(fù)荷不重,則主服務(wù)器也可兼作方案分析服務(wù)器,以便充分利用現(xiàn)有計(jì)算機(jī)網(wǎng)絡(luò)資源。
運(yùn)用多線程技術(shù)可以實(shí)現(xiàn)對多用戶并發(fā)請求的支持[5]。在主服務(wù)器端,每接收1個客戶請求,便會產(chǎn)生2個線程,1個線程處理客戶請求,另1個線程偵聽下1個客戶請求。在從服務(wù)器端,每收到主服務(wù)器的1個通知,就會產(chǎn)生3個線程,1個線程處理通知,并創(chuàng)建1個對應(yīng)的方案分析線程,第3個線程偵聽下1個通知。這種多線程技術(shù)構(gòu)成了形式上的并發(fā)處理。
客戶機(jī)和服務(wù)器以及主從服務(wù)器之間的通訊采用Socket方式。WinSockAPI提供了使用Socket網(wǎng)絡(luò)編程的基本函數(shù)[5]。為有效控制服務(wù)器死鎖,本系統(tǒng)在數(shù)據(jù)接收和發(fā)送時采用了超時處理。
6. RAS撥號功能
為了滿足個別遠(yuǎn)程用戶的需要,系統(tǒng)增設(shè)了RAS撥號功能。系統(tǒng)把提供RAS服務(wù)的NT服務(wù)器稱為RAS服務(wù)器[6]。客戶端可以借助自己的MODEM或其它通訊工具撥號進(jìn)入RAS服務(wù)器,實(shí)現(xiàn)遠(yuǎn)程登錄和遠(yuǎn)程數(shù)據(jù)訪問。其中,客戶端的遠(yuǎn)程連接是通過Windows9x/2000提供的動態(tài)連接庫文件rasapi32.dll實(shí)現(xiàn)的,rasapi32.dll中與撥號相關(guān)的函數(shù)是RasDial()和RasHangUp()。
為簡化用戶操作,系統(tǒng)直接將遠(yuǎn)程連接的撥號功能嵌入在客戶端程序內(nèi)。此外,系統(tǒng)在RAS網(wǎng)絡(luò)撥號服務(wù)器設(shè)置了一組靜態(tài)IP地址集,供沒有固定IP的用戶自動捕獲使用。
7. 系統(tǒng)流程
本系統(tǒng)投入運(yùn)行后,因功能齊備和簡便易用,而受用戶歡迎。圖2、圖3分別為系統(tǒng)的客戶端和服務(wù)器端應(yīng)用界面。圖4為本系統(tǒng)的典型流程。


圖4應(yīng)用本系統(tǒng)流程
8. 結(jié)束語
從理論和實(shí)踐的結(jié)合上研究了注射模CAE系統(tǒng)的遠(yuǎn)程應(yīng)用問題。通過對分析方案的壓縮和解壓縮,以及采用FTP文件服務(wù),在一定程度上解決了網(wǎng)絡(luò)傳輸效率問題;借助并發(fā)、面向連接、實(shí)時、多進(jìn)程、多機(jī)同時運(yùn)行的主從服務(wù)器結(jié)構(gòu),使整個系統(tǒng)性能得以較大幅度的提升;而ADO技術(shù)的采用,則進(jìn)一步提高了數(shù)據(jù)庫的讀寫效率,減少了系統(tǒng)資火火源占用。同時,為滿足撥號用戶的需要,在系統(tǒng)中嵌入了RAS遠(yuǎn)程撥號連接功能,并成功實(shí)現(xiàn)了IP地址的自動捕獲。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF