《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 基于Web的流体物性数据库系统研究

基于Web的流体物性数据库系统研究

2016-03-15
作者:*章新1,李荣兴1,侯彦青2,谢刚1,3,崔焱3,汪晶晶1
来源:2016年微型机与应用第2期

*章新1,李荣兴1,侯彦青2,谢刚1,3,崔焱3,汪晶晶1

1.昆明理工大学 冶金与能源学院,云南 昆明 650093;  2.省部共建复杂有色金属资源清洁利用国家重点实验室(昆明理工大学),云南 昆明 650093; 3.昆明冶金研究院,云南 昆明 650031

  摘要:Web数据库具有持久性、有效性、共享性等特点,有效实现了物性数据和估算公式的管理。分析了开发基于Web的流体物性数据库系统的必要性,对系统开发环境的选择、系统架构、资源权限管理、数据交互、计算模块实现等方面进行了详细阐述。该系统的建立不仅解决了传统方法获取流体物性数据复杂、繁琐等问题,而且还克服了传统数据库移植性差、用户体验性差、数据更新慢、数据不全面等缺点。为工程设计和研究人员提供了方便有效的应用工具。

  关键词流体物性计算基于Web数据库;流体

0引言

  流体物性数据是化工、冶金、能源等领域进行工程设计和研究时必不可少的基础数据。目前获取物性数据的方式主要包括实验方法和物性估算方法[12]。在实际工作中由于受到条件限制,大部分工程技术人员往往借助物性估算方法来获取数据。传统手工计算物性数据具有复杂、繁琐等缺点,显然不能满足人们的需求。随着计算机技术的不断发展,也相继出现了一些基于单机版的流体物性数据库。但是这些数据库具有移植性差、用户体验性差、数据更新慢等缺点,为人所诟病。

  传统流体物性数据库主要以表的形式显示物性数据,其优点是能够提供精确的数据。但是对于用户获取某些不同温度和压力下的物性数据的需求,却不能得到很好的解决。用户仍需利用复杂的计算公式进行计算,这种单一的机械化工作消耗了研究人员相当多的精力,降低了工作效率[3]。流体物性数据计算较为复杂,各种理论、半经验、经验公式各有特点,且当前没有一种共通的方法计算所有物性数据的情况[4],因此,建立一种物性数据和估算公式的管理的数据库很有必要。

  基于Web的流体物性数据库整合了常用物质的物性数据,并将其存储在数据库中,作为计算系统的基础数据。利用数据库具有的持久性、有效性、共享性等特点,有效地实现了物性数据和估算公式的管理,解决了传统流体数据库数据更新慢、共享性差的缺点,为用户计算提供了便利。

1系统集成环境的选择

  选择一种合适的系统集成环境,不仅能够满足软件的业务和逻辑需求,而且还保证了系统的访问效率和运行的安全性。本节将从系统服务运行的操作系统、开发语言、服务器软件以及数据库4个方面进行重点介绍。具体系统集成环境如表1所示。

004.jpg

  1.1系统运行的操作系统

  目前主流的操作系统主要包括Windows和Linux。虽然Windows操作系统便捷的视窗界面深受PC用户欢迎,但是其先天的内核设计,导致其漏洞较多。因此,对于大部分软表1系统集成环境条目内容开发语言Java[5]运行的操作系统Linux系统开发工具Eclipse 81数据库MySQL数据库[6]Web服务器软件Tomcat服务器前台开发语言JavaScript、HtmlMVC框架Struts、Spring、Hibernate

  件开发机构,很少使用Windows系统作为软件服务器系统。而Linux系统具有稳定的安全保护机制、高效的多任务、多用户能力,且免费开源,因此选择Linux系统作为系统运行的操作系统。

001.jpg

  1.2开发语言

  针对系统的业务和逻辑需求,选择了Java作为系统开发的基本语言。相比其他开发语言,Java语言具有以下优点。

  (1)跨平台性:对于Java程序,不管是Windows平台还是Linux平台或者其他平台,它都适用。Java编译器把Java源程序编译成与体系无关的字节码指令,只要安装了Java运行系统(JVM),Java程序就可以在任意的处理器上执行[7]。

  (2)安全性:Java适用于网络分布式环境,适用Java可以构建防病毒、防篡改的系统。

  (3)健壮性:Java语言开发初期,开发人员投入了大量的精力进行问题检测、后期动态检测,采用指针模型设计消除了重写内存和损坏数据的可能性。

  (4)便捷性:Java语言采用了面向对象开发模式,实现了代码复用。

  同时,由于Java语言的开源性,使得越来越多的成熟的开发框架问世,比较著名的框架有:Struts、Spring、Hibernate。这些优点使得开发更加便捷,提高了开发人员的工作效率。

  1.3系统服务器软件

  开发语言的选择决定了服务器软件的选择,基于Java语言开发服务器软件主要包括:Tomcat服务器、Resin服务器、JBoss服务器、WebSphere服务器、WebLogic服务器。考虑到开发成本以及系统运行所占的资源不大的特点,选择了免费开源的Tomcat服务器。

  1.4数据库的选择

  目前流行的数据库主要包括:甲骨文的Oracle、微软的SQLServer、IBM的DB2以及瑞典 MySQL AB公司的MySQL。这些数据库的运行效率和安全性各有特点。由于版权和开发成本的问题,系统采用了MySQL数据库。MySQL是一种跨平台数据库,可以在多种平台部署。其客户端/服务端的架构的分布式管理模式完全满足网络运行的需求。MySQL中的SQL语言具有功能强、使用简单、管理方便、运行速度快、可靠性高的特点。同时,它具有免费开源的特点,用户可以自由地下载安装和使用,并且可以无限制地应用到商业软件开发中。

2系统总体设计

  2.1系统结构

  系统由流体物性计算系统、数据库管理系统、流体物质数据库、数据校验系统、数据库帮助系统五大模块组成。各个模块基于MVC模式开发,保证了系统的高内聚、低耦合,为系统后期功能扩展提供了条件。系统功能框架图如图1所示。

  2.2流体物质数据库

  流体物性计算系统需要一些参数数据。为了减轻用户查阅相关参数数据的工作量,系统提供了流体物质数据库,方便用户随时调用。目前流体数据库包括了常见的500多种流体物质的物理化学性质,如密度、分子式、摩尔体积、分子结构、沸点、熔点、临界参数、偶极矩等几十种性质数据。流体物质数据库是整个计算系统的核心部分,系统计算所用的基础数据都来源于该数据库。维护好、扩展好数据对整个系统使用和发展起到了至关重要的作用。因此,开发人员开发了一套功能齐全的数据库管理系统。通过数据库管理系统,系统管理人员可以实时地对数据进行维护。同时,系统也会定期备份数据库中的数据,防止数据库损坏所带来的数据丢失[8]。

  流体物质数据库开放了数据检索接口,为用户提供了流体物性数据检索服务。系统检索方式包括:关键字检索、名称检索、CAS号检索以及化学式检索。用户可根据需要,切换不同检索方式。对于数据检索结果页面,系统提供了两种显示方式:概览和细览模式。概览模式能显示所查物质的最常用的属性;细览模式能显示所查物质的所有属性并显示其他表中与其相关联的内容。流体物质数据库还提供了数据下载和打印按钮,方便用户使用相关数据。

  2.3数据库管理系统

  为了合理有效地分配和维护流体物性数据库系统的资源,系统集成了数据库管理系统。该系统提供了超级管理员、普通管理员和会员3种角色。超级管理员可以分配普通管理员的相关操作权限,如流体物质数据库数据维护的增加、删除、更新的操作。而普通管理员可以根据不同的普通会员的需求,分配相关流体物性计算模块以及数据检索权限。以上这些操作,管理员可以在任意的计算机上登录数据库管理系统进行管理,而不必要远程登录服务器进行管理。

  2.4流体物性计算系统的实现

  2.4.1数据交互

  系统提供了丰富的表单元素作为Web访问接口[9],如:文本框、多选框、单选按钮、下拉框等。在TCP/IP和HTTP传输协议的支持下,通过点击数据提交按钮,即可将数据传输到服务器上,服务器经过一系列数据计算后,将数据以HTML形式反馈给用户[1011]。对于计算量较大的模块,系统采用Ajax技术实现了多线程异步技术,缓解了客户端由于长时间等待计算结果而带来的卡顿现象[12]。

  系统集成了一套基于JavaScript脚本语言开发的数据校验模块。该模块会随时监控用户输入的数据,如果数据有错系统会及时提示给用户。校验模块是针对客户端的数据验证,所以用户提交数据时,数据只是在本地进行验证。这样的设计不仅可以降低服务器负担,还可以提高程序的运行速度,节省了服务器的运行资源。

  2.4.2实现的计算模块

  目前已完成的主要计算模块有:气液体临界性质计算、常压/高压下纯气体黏度计算、常压/高压下混合气体黏度计算、常压/高压下纯气体导热系数计算、常压/高压下混合气体导热系数计算。进入模块界面前,需要先登录用户界面(如图2所示),然后通过系统验证判断是否有权限访问。

  

002.jpg

  该模块编码所需的公式全部来源于文献,每种物性计算提供了两种计算方式。由于模块中的计算需要大量物性参数,因此模块集成了一套参数智能回填系统。对于数据库存在的流体物质,用户只需通过流体选择界面点击所要计算的物质。当选中物质后,系统后台会自动检索所选物质的物性参数(临界参数、相对分子质量、偶极矩、密度等),检索完毕后系统则会将物性数据填写在对应位置。针对某些物性数据计算需要基于基团贡献法,系统也收集了大量文献中的基团贡献值,并且在相关的计算模块中提供基团贡献值查询界面,方便用户使用。考虑到计算模块操作的复杂性,系统在不同的计算模块界面上提供了相关的计算帮助文档,用户可以参考文档中相关的算例,正确地使用模块计算。图3是计算293 K、1 bar下,摩尔分数为697%甲烷和303%正丁烷混合气体的黏度,通过系统计算最后得出其黏度为97987,与实验数据误差为3%。

  

003.jpg

3结论

  本文对基于Web的流体物性数据库系统开发环境的选择、系统的架构、资源权限的管理、数据交互、模块功能实现等方面进行了详细的阐述,实现了流体物质数据库检索、流体物性数据计算以及数据下载等功能。该系统具有架构合理、使用方便、检索快捷等优点,可广泛应用于化工、冶金、能源等领域,为流程模拟和工艺生产条件优化提供可靠的物性数据。服务器端采用Java+Tomcat+MySQL开发,既保证了系统的安全性,也实现了系统的跨平台性[13]。

  随着研究工作的深入,基于Web的流体物性数据库系统功能将得到充实完善。在不断扩充系统基础数据以及物性计算模块的基础上,逐步实现流体模拟计算、文献检索、数据评估等功能,使其适应广大工程人员和研究人员的需求。

参考文献

  [1] 吴江涛, 刘志刚, 张可,等. 基于 Web 的流体热物性远程计算系统研究[J]. 计算机与应用化学, 2004, 21(4): 529532.

  [2] 王小艳. 化工物性数据库系统软件开发[D].青岛:青岛科技大学,2012.

  [3] 郝磊磊,方觉,王同宾,等. 冶金热力学计算软件的开发[J]. 河北联合大学学报(自然科学版),2014,36(2):1316.

  [4] 张健, 陈丙珍. 基于面向对象的化工物性数据库系统[J]. 计算机与应用化学, 1999, 16(4): 245248.

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

  [6] 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.

  [7] 罗时民.Java程序的国际化[J]. 中文信息, 2002(3):7376.

  [8] 李东风,谢昕. 数据库安全技术研究与应用[J]. 计算机安全,2008(1):4244.

  [9] PATETOSRN L.HMTL4编程指南[M].徐征,冯文墉,等译.杭州:浙江科学技术出版社,1998.


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。