《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于Web的流體物性數(shù)據(jù)庫系統(tǒng)研究

基于Web的流體物性數(shù)據(jù)庫系統(tǒng)研究

2016-03-15
作者:*章新1,李榮興1,侯彥青2,謝剛1,3,崔焱3,汪晶晶1
來源:2016年微型機與應(yīng)用第2期

*章新1,李榮興1,侯彥青2,謝剛1,3,崔焱3,汪晶晶1

1.昆明理工大學(xué) 冶金與能源學(xué)院,云南 昆明 650093;  2.省部共建復(fù)雜有色金屬資源清潔利用國家重點實驗室(昆明理工大學(xué)),云南 昆明 650093; 3.昆明冶金研究院,云南 昆明 650031

  摘要:Web數(shù)據(jù)庫具有持久性、有效性、共享性等特點,有效實現(xiàn)了物性數(shù)據(jù)和估算公式的管理。分析了開發(fā)基于Web的流體物性數(shù)據(jù)庫系統(tǒng)的必要性,對系統(tǒng)開發(fā)環(huán)境的選擇、系統(tǒng)架構(gòu)、資源權(quán)限管理、數(shù)據(jù)交互、計算模塊實現(xiàn)等方面進行了詳細闡述。該系統(tǒng)的建立不僅解決了傳統(tǒng)方法獲取流體物性數(shù)據(jù)復(fù)雜、繁瑣等問題,而且還克服了傳統(tǒng)數(shù)據(jù)庫移植性差、用戶體驗性差、數(shù)據(jù)更新慢、數(shù)據(jù)不全面等缺點。為工程設(shè)計和研究人員提供了方便有效的應(yīng)用工具。

  關(guān)鍵詞流體物性計算;基于Web數(shù)據(jù)庫;流體

0引言

  流體物性數(shù)據(jù)是化工、冶金、能源等領(lǐng)域進行工程設(shè)計和研究時必不可少的基礎(chǔ)數(shù)據(jù)。目前獲取物性數(shù)據(jù)的方式主要包括實驗方法和物性估算方法[12]。在實際工作中由于受到條件限制,大部分工程技術(shù)人員往往借助物性估算方法來獲取數(shù)據(jù)。傳統(tǒng)手工計算物性數(shù)據(jù)具有復(fù)雜、繁瑣等缺點,顯然不能滿足人們的需求。隨著計算機技術(shù)的不斷發(fā)展,也相繼出現(xiàn)了一些基于單機版的流體物性數(shù)據(jù)庫。但是這些數(shù)據(jù)庫具有移植性差、用戶體驗性差、數(shù)據(jù)更新慢等缺點,為人所詬病。

  傳統(tǒng)流體物性數(shù)據(jù)庫主要以表的形式顯示物性數(shù)據(jù),其優(yōu)點是能夠提供精確的數(shù)據(jù)。但是對于用戶獲取某些不同溫度和壓力下的物性數(shù)據(jù)的需求,卻不能得到很好的解決。用戶仍需利用復(fù)雜的計算公式進行計算,這種單一的機械化工作消耗了研究人員相當(dāng)多的精力,降低了工作效率[3]。流體物性數(shù)據(jù)計算較為復(fù)雜,各種理論、半經(jīng)驗、經(jīng)驗公式各有特點,且當(dāng)前沒有一種共通的方法計算所有物性數(shù)據(jù)的情況[4],因此,建立一種物性數(shù)據(jù)和估算公式的管理的數(shù)據(jù)庫很有必要。

  基于Web的流體物性數(shù)據(jù)庫整合了常用物質(zhì)的物性數(shù)據(jù),并將其存儲在數(shù)據(jù)庫中,作為計算系統(tǒng)的基礎(chǔ)數(shù)據(jù)。利用數(shù)據(jù)庫具有的持久性、有效性、共享性等特點,有效地實現(xiàn)了物性數(shù)據(jù)和估算公式的管理,解決了傳統(tǒng)流體數(shù)據(jù)庫數(shù)據(jù)更新慢、共享性差的缺點,為用戶計算提供了便利。

1系統(tǒng)集成環(huán)境的選擇

  選擇一種合適的系統(tǒng)集成環(huán)境,不僅能夠滿足軟件的業(yè)務(wù)和邏輯需求,而且還保證了系統(tǒng)的訪問效率和運行的安全性。本節(jié)將從系統(tǒng)服務(wù)運行的操作系統(tǒng)、開發(fā)語言、服務(wù)器軟件以及數(shù)據(jù)庫4個方面進行重點介紹。具體系統(tǒng)集成環(huán)境如表1所示。

004.jpg

  1.1系統(tǒng)運行的操作系統(tǒng)

  目前主流的操作系統(tǒng)主要包括Windows和Linux。雖然Windows操作系統(tǒng)便捷的視窗界面深受PC用戶歡迎,但是其先天的內(nèi)核設(shè)計,導(dǎo)致其漏洞較多。因此,對于大部分軟表1系統(tǒng)集成環(huán)境條目內(nèi)容開發(fā)語言Java[5]運行的操作系統(tǒng)Linux系統(tǒng)開發(fā)工具Eclipse 81數(shù)據(jù)庫MySQL數(shù)據(jù)庫[6]Web服務(wù)器軟件Tomcat服務(wù)器前臺開發(fā)語言JavaScript、HtmlMVC框架Struts、Spring、Hibernate

  件開發(fā)機構(gòu),很少使用Windows系統(tǒng)作為軟件服務(wù)器系統(tǒng)。而Linux系統(tǒng)具有穩(wěn)定的安全保護機制、高效的多任務(wù)、多用戶能力,且免費開源,因此選擇Linux系統(tǒng)作為系統(tǒng)運行的操作系統(tǒng)。

001.jpg

  1.2開發(fā)語言

  針對系統(tǒng)的業(yè)務(wù)和邏輯需求,選擇了Java作為系統(tǒng)開發(fā)的基本語言。相比其他開發(fā)語言,Java語言具有以下優(yōu)點。

 ?。?)跨平臺性:對于Java程序,不管是Windows平臺還是Linux平臺或者其他平臺,它都適用。Java編譯器把Java源程序編譯成與體系無關(guān)的字節(jié)碼指令,只要安裝了Java運行系統(tǒng)(JVM),Java程序就可以在任意的處理器上執(zhí)行[7]。

 ?。?)安全性:Java適用于網(wǎng)絡(luò)分布式環(huán)境,適用Java可以構(gòu)建防病毒、防篡改的系統(tǒng)。

 ?。?)健壯性:Java語言開發(fā)初期,開發(fā)人員投入了大量的精力進行問題檢測、后期動態(tài)檢測,采用指針模型設(shè)計消除了重寫內(nèi)存和損壞數(shù)據(jù)的可能性。

  (4)便捷性:Java語言采用了面向?qū)ο箝_發(fā)模式,實現(xiàn)了代碼復(fù)用。

  同時,由于Java語言的開源性,使得越來越多的成熟的開發(fā)框架問世,比較著名的框架有:Struts、Spring、Hibernate。這些優(yōu)點使得開發(fā)更加便捷,提高了開發(fā)人員的工作效率。

  1.3系統(tǒng)服務(wù)器軟件

  開發(fā)語言的選擇決定了服務(wù)器軟件的選擇,基于Java語言開發(fā)服務(wù)器軟件主要包括:Tomcat服務(wù)器、Resin服務(wù)器、JBoss服務(wù)器、WebSphere服務(wù)器、WebLogic服務(wù)器。考慮到開發(fā)成本以及系統(tǒng)運行所占的資源不大的特點,選擇了免費開源的Tomcat服務(wù)器。

  1.4數(shù)據(jù)庫的選擇

  目前流行的數(shù)據(jù)庫主要包括:甲骨文的Oracle、微軟的SQLServer、IBM的DB2以及瑞典 MySQL AB公司的MySQL。這些數(shù)據(jù)庫的運行效率和安全性各有特點。由于版權(quán)和開發(fā)成本的問題,系統(tǒng)采用了MySQL數(shù)據(jù)庫。MySQL是一種跨平臺數(shù)據(jù)庫,可以在多種平臺部署。其客戶端/服務(wù)端的架構(gòu)的分布式管理模式完全滿足網(wǎng)絡(luò)運行的需求。MySQL中的SQL語言具有功能強、使用簡單、管理方便、運行速度快、可靠性高的特點。同時,它具有免費開源的特點,用戶可以自由地下載安裝和使用,并且可以無限制地應(yīng)用到商業(yè)軟件開發(fā)中。

2系統(tǒng)總體設(shè)計

  2.1系統(tǒng)結(jié)構(gòu)

  系統(tǒng)由流體物性計算系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、流體物質(zhì)數(shù)據(jù)庫、數(shù)據(jù)校驗系統(tǒng)、數(shù)據(jù)庫幫助系統(tǒng)五大模塊組成。各個模塊基于MVC模式開發(fā),保證了系統(tǒng)的高內(nèi)聚、低耦合,為系統(tǒng)后期功能擴展提供了條件。系統(tǒng)功能框架圖如圖1所示。

  2.2流體物質(zhì)數(shù)據(jù)庫

  流體物性計算系統(tǒng)需要一些參數(shù)數(shù)據(jù)。為了減輕用戶查閱相關(guān)參數(shù)數(shù)據(jù)的工作量,系統(tǒng)提供了流體物質(zhì)數(shù)據(jù)庫,方便用戶隨時調(diào)用。目前流體數(shù)據(jù)庫包括了常見的500多種流體物質(zhì)的物理化學(xué)性質(zhì),如密度、分子式、摩爾體積、分子結(jié)構(gòu)、沸點、熔點、臨界參數(shù)、偶極矩等幾十種性質(zhì)數(shù)據(jù)。流體物質(zhì)數(shù)據(jù)庫是整個計算系統(tǒng)的核心部分,系統(tǒng)計算所用的基礎(chǔ)數(shù)據(jù)都來源于該數(shù)據(jù)庫。維護好、擴展好數(shù)據(jù)對整個系統(tǒng)使用和發(fā)展起到了至關(guān)重要的作用。因此,開發(fā)人員開發(fā)了一套功能齊全的數(shù)據(jù)庫管理系統(tǒng)。通過數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)管理人員可以實時地對數(shù)據(jù)進行維護。同時,系統(tǒng)也會定期備份數(shù)據(jù)庫中的數(shù)據(jù),防止數(shù)據(jù)庫損壞所帶來的數(shù)據(jù)丟失[8]。

  流體物質(zhì)數(shù)據(jù)庫開放了數(shù)據(jù)檢索接口,為用戶提供了流體物性數(shù)據(jù)檢索服務(wù)。系統(tǒng)檢索方式包括:關(guān)鍵字檢索、名稱檢索、CAS號檢索以及化學(xué)式檢索。用戶可根據(jù)需要,切換不同檢索方式。對于數(shù)據(jù)檢索結(jié)果頁面,系統(tǒng)提供了兩種顯示方式:概覽和細覽模式。概覽模式能顯示所查物質(zhì)的最常用的屬性;細覽模式能顯示所查物質(zhì)的所有屬性并顯示其他表中與其相關(guān)聯(lián)的內(nèi)容。流體物質(zhì)數(shù)據(jù)庫還提供了數(shù)據(jù)下載和打印按鈕,方便用戶使用相關(guān)數(shù)據(jù)。

  2.3數(shù)據(jù)庫管理系統(tǒng)

  為了合理有效地分配和維護流體物性數(shù)據(jù)庫系統(tǒng)的資源,系統(tǒng)集成了數(shù)據(jù)庫管理系統(tǒng)。該系統(tǒng)提供了超級管理員、普通管理員和會員3種角色。超級管理員可以分配普通管理員的相關(guān)操作權(quán)限,如流體物質(zhì)數(shù)據(jù)庫數(shù)據(jù)維護的增加、刪除、更新的操作。而普通管理員可以根據(jù)不同的普通會員的需求,分配相關(guān)流體物性計算模塊以及數(shù)據(jù)檢索權(quán)限。以上這些操作,管理員可以在任意的計算機上登錄數(shù)據(jù)庫管理系統(tǒng)進行管理,而不必要遠程登錄服務(wù)器進行管理。

  2.4流體物性計算系統(tǒng)的實現(xiàn)

  2.4.1數(shù)據(jù)交互

  系統(tǒng)提供了豐富的表單元素作為Web訪問接口[9],如:文本框、多選框、單選按鈕、下拉框等。在TCP/IP和HTTP傳輸協(xié)議的支持下,通過點擊數(shù)據(jù)提交按鈕,即可將數(shù)據(jù)傳輸?shù)椒?wù)器上,服務(wù)器經(jīng)過一系列數(shù)據(jù)計算后,將數(shù)據(jù)以HTML形式反饋給用戶[1011]。對于計算量較大的模塊,系統(tǒng)采用Ajax技術(shù)實現(xiàn)了多線程異步技術(shù),緩解了客戶端由于長時間等待計算結(jié)果而帶來的卡頓現(xiàn)象[12]。

  系統(tǒng)集成了一套基于JavaScript腳本語言開發(fā)的數(shù)據(jù)校驗?zāi)K。該模塊會隨時監(jiān)控用戶輸入的數(shù)據(jù),如果數(shù)據(jù)有錯系統(tǒng)會及時提示給用戶。校驗?zāi)K是針對客戶端的數(shù)據(jù)驗證,所以用戶提交數(shù)據(jù)時,數(shù)據(jù)只是在本地進行驗證。這樣的設(shè)計不僅可以降低服務(wù)器負擔(dān),還可以提高程序的運行速度,節(jié)省了服務(wù)器的運行資源。

  2.4.2實現(xiàn)的計算模塊

  目前已完成的主要計算模塊有:氣液體臨界性質(zhì)計算、常壓/高壓下純氣體黏度計算、常壓/高壓下混合氣體黏度計算、常壓/高壓下純氣體導(dǎo)熱系數(shù)計算、常壓/高壓下混合氣體導(dǎo)熱系數(shù)計算。進入模塊界面前,需要先登錄用戶界面(如圖2所示),然后通過系統(tǒng)驗證判斷是否有權(quán)限訪問。

  

002.jpg

  該模塊編碼所需的公式全部來源于文獻,每種物性計算提供了兩種計算方式。由于模塊中的計算需要大量物性參數(shù),因此模塊集成了一套參數(shù)智能回填系統(tǒng)。對于數(shù)據(jù)庫存在的流體物質(zhì),用戶只需通過流體選擇界面點擊所要計算的物質(zhì)。當(dāng)選中物質(zhì)后,系統(tǒng)后臺會自動檢索所選物質(zhì)的物性參數(shù)(臨界參數(shù)、相對分子質(zhì)量、偶極矩、密度等),檢索完畢后系統(tǒng)則會將物性數(shù)據(jù)填寫在對應(yīng)位置。針對某些物性數(shù)據(jù)計算需要基于基團貢獻法,系統(tǒng)也收集了大量文獻中的基團貢獻值,并且在相關(guān)的計算模塊中提供基團貢獻值查詢界面,方便用戶使用??紤]到計算模塊操作的復(fù)雜性,系統(tǒng)在不同的計算模塊界面上提供了相關(guān)的計算幫助文檔,用戶可以參考文檔中相關(guān)的算例,正確地使用模塊計算。圖3是計算293 K、1 bar下,摩爾分數(shù)為697%甲烷和303%正丁烷混合氣體的黏度,通過系統(tǒng)計算最后得出其黏度為97987,與實驗數(shù)據(jù)誤差為3%。

  

003.jpg

3結(jié)論

  本文對基于Web的流體物性數(shù)據(jù)庫系統(tǒng)開發(fā)環(huán)境的選擇、系統(tǒng)的架構(gòu)、資源權(quán)限的管理、數(shù)據(jù)交互、模塊功能實現(xiàn)等方面進行了詳細的闡述,實現(xiàn)了流體物質(zhì)數(shù)據(jù)庫檢索、流體物性數(shù)據(jù)計算以及數(shù)據(jù)下載等功能。該系統(tǒng)具有架構(gòu)合理、使用方便、檢索快捷等優(yōu)點,可廣泛應(yīng)用于化工、冶金、能源等領(lǐng)域,為流程模擬和工藝生產(chǎn)條件優(yōu)化提供可靠的物性數(shù)據(jù)。服務(wù)器端采用Java+Tomcat+MySQL開發(fā),既保證了系統(tǒng)的安全性,也實現(xiàn)了系統(tǒng)的跨平臺性[13]。

  隨著研究工作的深入,基于Web的流體物性數(shù)據(jù)庫系統(tǒng)功能將得到充實完善。在不斷擴充系統(tǒng)基礎(chǔ)數(shù)據(jù)以及物性計算模塊的基礎(chǔ)上,逐步實現(xiàn)流體模擬計算、文獻檢索、數(shù)據(jù)評估等功能,使其適應(yīng)廣大工程人員和研究人員的需求。

參考文獻

 ?。?] 吳江濤, 劉志剛, 張可,等. 基于 Web 的流體熱物性遠程計算系統(tǒng)研究[J]. 計算機與應(yīng)用化學(xué), 2004, 21(4): 529532.

 ?。?] 王小艷. 化工物性數(shù)據(jù)庫系統(tǒng)軟件開發(fā)[D].青島:青島科技大學(xué),2012.

 ?。?] 郝磊磊,方覺,王同賓,等. 冶金熱力學(xué)計算軟件的開發(fā)[J]. 河北聯(lián)合大學(xué)學(xué)報(自然科學(xué)版),2014,36(2):1316.

 ?。?] 張健, 陳丙珍. 基于面向?qū)ο蟮幕の镄詳?shù)據(jù)庫系統(tǒng)[J]. 計算機與應(yīng)用化學(xué), 1999, 16(4): 245248.

 ?。?] ASHOK S, BANSALB V K. JAVA: networkcentric enterprise computing[J]. Computer Communications, 1998, 20(16):14671480.

 ?。?] KORHONEN K, DONADINI F, RIISAGER P, et al. GEOMAGIA50: an archeointensity database with PHP and MySQL[J]. Geochemistry Geophysics Geosystems, 2008, 9(4):366389.

 ?。?] 羅時民.Java程序的國際化[J]. 中文信息, 2002(3):7376.

 ?。?] 李東風(fēng),謝昕. 數(shù)據(jù)庫安全技術(shù)研究與應(yīng)用[J]. 計算機安全,2008(1):4244.

  [9] PATETOSRN L.HMTL4編程指南[M].徐征,馮文墉,等譯.杭州:浙江科學(xué)技術(shù)出版社,1998.


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。