项目成果数据库系统建设.doc

上传人:jian****018 文档编号:9287311 上传时间:2020-04-04 格式:DOC 页数:6 大小:319KB
返回 下载 相关 举报
项目成果数据库系统建设.doc_第1页
第1页 / 共6页
项目成果数据库系统建设.doc_第2页
第2页 / 共6页
项目成果数据库系统建设.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
项目成果数据库系统建设詹骏(中油辽河油田公司,辽宁 盘锦 124010)摘要:随着油田科研生产工作的不断推进,尤其是近年来油藏描述项目的大力开展,产生并积累了大量的项目成果数据资料,为了有效地管理和利用这些资料,提高勘探开发科研生产的工作效率,便于已有研究成果在今后科研生产中的进一步应用,进行了项目成果数据库系统建设。首先通过对相关业务流程和数据流程的分析,论述了数据模型的设计与实现。然后具体介绍了数据管理系统和浏览发布系统的软件结构与具体实现的技术框架,以及整个应用系统的体系架构。最后详细阐述了在项目成果数据库系统建设过程中所采用的几项关键技术和系统安全策略。关键词:数据模型;Applet;Servlet;MVC架构;Struts框架1 数据模型的设计与实现项目成果包括成果报告、成果图件、分层等相关数据资料,是地质研究工作中最重要的成果资料之一。因此,有必要建立项目成果数据库对这些数据进行管理与维护,这就要求我们必须首先认真分析各业务单元的业务流程和数据流程。1.1 业务流程与数据流程分析在对POSC数据模型及当今流行的一些相关软件的数据模型进行研究与分析的基础上,针对辽河油田的具体业务流程、数据流程进行了详细的分析。按照数据产生、采集、质检、入库、应用的业务模式和管理结构,将与相关业务过程分为:地质研究人员进行项目研究;数据录入人员录入相关数据;数据审核部门检查数据质量;所有应用人员直接应用数据库中合格数据。根据这种业务流程,通过分析,抽象并独立出项目成果数据在企业组织内部的流动情况,从而确定了项目成果数据库系统的数据流程图。(见图1)图1 数据流程图1.2 数据模型逻辑设计根据业务流、数据流分析结果,参照当前业界主流软件的数据库设计核心技术与标准进行了数据表及表间关系的设计1。通过分析所有项目成果数据的特性,抽取并定义了井号、项目名称、分层模式等概念,定义了所有数据项的内容和概念内涵,使其内涵唯一,不具二意性,并用二维表来表述,从而实现对所有业务对象的抽象。在数据抽象基础上,利用规范化技术,逐步消除数据间的部分依赖和传递依赖,降低冗余,使其达到第三范式。利用这项技术,分别对项目基础数据、成果报告、成果图件、分层模式、分层数据等数据的存储格式、约束关系、数据表结构进行定义,并对表间关系进行规范化处理,建立了这些数据的逻辑模型。综合规范化后的数据内容,建立数据模型ER图,完成数据模型逻辑设计。1.3 数据字典数据字典是以二维表的形式来描述数据表及其关系设计的结果,以数据库中基本数据项为单位,按一定顺序进行组织,对其内容作详细说明。项目成果管理数据库系统的数据字典内容包括数据表名称和代码、数据项名称和代码、数据类型、取值范围、计量单位、索引约束、空值约束、缺省约束、检查约束、参照约束、触发器、字段定义及填写规定等。另外,还制订了数据表、数据项以及约束等相关命名规范。1.4 数据模型物理设计本项目中的数据库管理系统采用了Oracle9i2。因此,在物理设计过程中,首先需要确定数据库表空间、用户表空间、临时表空间、回滚段、重做日志文件等的大小,并指定相关数据文件的存放位置。然后,利用PL/SQL Developer工具,通过DDL将逻辑建模阶段定义出来的所有表创建到Oracle数据库中。然后,通过定义主键来确保数据的唯一性;通过定义外键来指定各数据表之间的关系;通过定义各字段的约束条件来保证数据安全性和完整性;通过定义索引来加快数据访问速度,提高系统响应时间。另外,为进一步提高性能,对数据库中主要初始化参数进行了配置,包括Java池、大型池、共享池、排序区、会话数、事务数等。通过以上方法将逻辑模型映射到Oracle9i数据库中,从而实现数据模型物理设计3。2 应用系统架构经过详细的需求分析,将整个应用系统划分为数据管理系统和浏览发布系统两大组成部分。2.1 数据管理系统数据管理系统主要负责对研究成果数据进行管理维护,包括数据的加载入库、修改维护及质量审核。2.1.1 数据管理系统结构图2数据管理系统软件结构图数据管理系统细分为数据加载和数据审核两大子系统。针对不同的项目成果数据,又可分别将这两个子系统分解为若干软件模块。通过对这些软件模块进行分析归纳,制定了数据管理系统软件结构图(图2)。图2列出了所有数据加载与审核模块。数据加载子系统实现了对各类数据的录入、修改、删除等管理功能,由录入人员使用;数据审核子系统针对已录入的数据进行数据质量检查,由审核人员使用。2.1.2 数据管理系统技术架构从图2可以看出,数据管理系统包含许多数据加载和审核模块,根据实际需求,这些模块分别在不同的机器上并由不同的录入人员使用,因此系统采用了B/S模式。另外,鉴于J2EE平台具有企业应用的稳定性和平台无关性,并且J2EE平台下的多层应用可以实现高可用性、安全性和可扩充性,本系统采用了多层J2EE技术架构。通过对不同的技术进行深入探讨,最后确定了数据管理系统的技术基础架构(图3)。图3 数据管理系统技术基础架构JDBCHTMLPagesAppletServletORACLE DBMSHTTPDataSetData数据管理系统采用Applet技术进行数据加载与审核。客户端通过浏览器利用嵌入在HTML页面中的Applet进行数据加载与审核;然后利用对象流技术将Applet中的数据以DataSetData对象的形式传递给服务器端的Servlet;服务器端的Servlet从对象流中抽取出DataSetData对象,利用JDBC连接到项目成果数据库,将DataSetData对象中的数据保存到项目成果数据库中。2.2 浏览发布系统浏览发布系统主要负责将项目成果数据库中的数据展现给最终应用用户。2.2.1 浏览发布系统结构图4浏览发布系统软件结构图经过对项目成果数据进行分类、对用户需求进行详细分析之后,根据数据类别和浏览发布方式,确定了浏览发布系统的软件结构图(图4)。图4展示了各类项目成果数据的浏览发布模块,以及各模块之间的软件层次结构。对于这些数据,浏览发布系统除了能够以数据表格的形式显示以外,还提供了数据下载功能,允许用户将成果报告和成果图件下载到本地计算机上,然后利用专业软件打开浏览查看。2.2.2 浏览发布系统技术架构从图4可以看出,浏览发布系统包含表格显示和数据下载两个子系统。经过分析,尽管这两个子系统给用户展现数据的方式略有不同,但仍然可以统一到B/S模式上。经过对不同的实现技术进行深入探讨后,同样采用了多层J2EE的技术架构作为浏览发布系统的技术基础架构(图5)。JDBCHTTP图5浏览发布系统技术基础架构HTMLPagesJSPServletActionJava BeanORACLE DBMS浏览发布系统利用由JSP生成的HTML页面查看表格类数据。服务器端通过Servlet4和相关的Action对象作为控制器,实现业务流程流转,最终调用相关Java Bean通过JDBC访问数据库中的数据。同样,也是利用JSP生成的HTML页面展现要下载的数据,然后通过相应的Servlet控制并实现数据的下载。2.3 系统的体系结构根据两大系统的技术基础架构,将整个系统划分为数据层、应用层和客户层。系统体系结构见图6图6 系统体系结构图Java Applet数据管理系统数据浏览发布系统查询系统HTML PagesJSP Pages客户层HTTPHTTPJDBC应用层Tomcat服务器Java Bean应用服务器JSPServletJava BeanWeb服务器数据层数据库服务器ORACLE DBMS数据层采用Oracle9i作为数据库服务器,负责存放并管理系统中的数据。应用层包含Web服务器和应用服务器两部分,统一由Tomcat服务器进行管理。Web服务器用来接收客户端数据请求,由Servlet或JSP 5页面根据用户请求调用应用服务器中相应Java Bean,然后从应用服务器接收响应结果,并根据响应结果生成Web页面,最后将生成的Web页面返回给客户端;应用服务器采用JDBC方式与数据库服务器交互,利用相应的Java Bean从数据库中求取数据或将客户端提交的数据存入数据库中,并将处理结果返回给Web服务器。客户层主要负责将Web页面上的数据展现给最终用户,并为用户提供一个固定格式的数据管理页面。在这三层体系结构6-9中,应用层封装了所有数据存取的业务逻辑,是系统建设的核心与关键。3 关键技术及其应用3.1 Oracle数据库的序列与触发器技术为了在项目成果数据库系统中使用自增字段在数据库层面实现多用户并发控制,系统采用了Oracle数据库的序列(Sequence)与触发器(Trigger)这两项技术10。在使用这两项技术时,首先创建一个序列,指定序列的最小值、最大值、起始值、增量值和缓冲值;然后创建一个触发器,指定触发器被触发的时机、指定所使用的序列、从序列中选出下一个序列值并赋给指定表的指定字段。这样就实现了将一个序列绑定到指定表的指定字段上,并且实现了字段值的自动增长,从而也就在数据库层面上实现了多用户的并发控制。在本系统中,利用这两项技术实现了对项目编码、分层模式编码、成果报告编码、成果图件编码等一系列字段的并发控制,有效地保证了这些数据在整个数据库中不重复。3.2 事务机制在数据管理系统中的应用在数据管理系统的编程中采用了事务机制来实现数据的并发性和一致性。在对数据库中数据进行操作之前先利用conn.setAutoCommit(false)语句将数据库连接的自动提交状态置为false,这条语句标志着事务的开始;然后执行相应的数据库操作(多条SQL语句依次执行);最后执行conn.commit()语句来提交数据。如果在执行SQL语句的过程中发生错误或出现异常,则执行conn.rollback()语句回滚所有操作。在项目成果数据库中成果报告数据和成果图件数据的插入操作均涉及到两个数据库表,这两个表的插入和删除操作必须同时成功,或者同时被回退撤消,因此程序中使用了事务机制来保证数据的一致性。4 系统安全策略对于本系统中成果数据的访问采用了两级密码机制,增强了成果数据访问的安全性。用户要访问成果数据,应先登录系统,此时系统会首先判断该用户所对应的密码是否正确,如果正确则允许登录,否则不允许登录。如果用户已正确登录到系统中,便可以查看项目的相关基础信息,但如果需要查看某个项目的研究成果数据,还必须输入项目所对应的密码,此时,系统会自动判断项目密码输入是否正确,如果正确,则显示相关成果数据,否则给出相应的提示信息。两级密码访问成果数据的流程图如下:图7 两级密码访问成果数据的流程图5 总结目前,项目成果数据库系统已经建设完毕,并已投入运行。该系统综合利用多种技术手段,实现了项目基础信息、分层模式、分层数据、成果报告、成果图件等数据的加载和浏览发布功能;实现了这些项目成果数据的及时加载入库;实现了网上浏览与发布;为信息共享提供了技术保障。为各级研究、生产和决策人员提供了方便、快捷和可靠的科研成果数据信息,使油田勘探开发管理、研究工作更上一个台阶,同时也使勘探开发生产的工作手段和工作效率产生了质的飞跃,缩短了生产周期,进一步提高了科研成果的可利用性,使得以往项目研究成果在今后的科研生产中能够得以有效地利用,为适应计算机化、网络化、信息化管理,实现油藏数字化奠定了坚实的基础。参考文献:1Ryan K Setphens, Ronald R Plew著.见:何玉洁,武欣,邓一凡,等译.数据库设计M.北京:机械工业出版社,2001:169194.2Kevin Loney著.见:蒋蕊译.Oracle9i DBA手册M.北京:机械工业出版社,2002:5674.3杨厚云,龚汉明,武装.Oracle数据库性能优化方案J.北京机械工业学院学报(综合版),2006,21(4):5559.4Decoder.JSP技术揭密M.北京:清华大学出版社,2001:99113.5飞思科特产品研发中心.JSP应用开发详解M.北京:电子工业出版社,2002:209274.6孙卫琴.精通Struts:基于MVC的Java Web设计与开发M.北京:电子工业出版社,2004:5674.7方贤文,孙玉东,殷志祥.基于Struts的Web系统构建.计算机技术与发展J,2006,16(10):111113.8James Turner,Kevin Bedell著.见:孙勇译.Struts Kick Start中文版M.北京:电子工业出版社,2004:5674.9李刚.Struts2权威指南基于WebWork核心的MVC开发M. 北京:电子工业出版社,2007:7386.10Kevin Loney著. Oracle9i DBA手册M. 蒋蕊译. 北京:机械工业出版社,2002:56-74.
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!