基于C/S体系结构的信息管理系统
作者:肖斌 陈汶滨 秦光源  来源:(西南石油大学 计算机科学学院,成都 610500)

摘 要 文章设计并实现了以C/S结构为基础的岩石物理实验数据管理系统,详细介绍了系统结构、系统功能模块划分和设计方法。
 关键词 C/S体系结构 管理系统 目录树

1 引言
 某测井公司其主要业务是为油气田勘探开发提供服务,采用多种专用仪器测量地质剖面上的各种物理参数,研究地下岩石物理性质与渗流特性,为油气藏提供评价。该测井公司每日需处理大量岩电实验数据和测井数据。目前,实验数据管理比较零散,各实验班组管理各自的实验数据及文档资料,缺乏有效管理手段,不能保证实验资料的有效归档,不利于查询对比,提取有用信息。

 针对该公司的特点、需求,开发基于C/S模式的岩石物理实验数据管理系统。为数据管理、方法研究、快速评价提供科学的技术支持,实现企业数据管理信息化、信息保存安全化、处理科学化,提升测井公司的竞争能力,更好地服务于油田公司油气勘探与开发。本文详细阐述了系统的设计、实现技术和开发过程。

 2 系统目标
 运用Delphi7.0开发工具和SQL Server 2000数据库通过测井公司内部网络建立岩石物理实验数据管理系统的平台,在这个统一平台上全面实现实验测量数据的录入和相关计算,在此基础上通过建立应用模型实现数据的拟合、直方图和交会图的绘制,系统使用人员(包括领导、专家、实验人员和外部人员)根据操作权限实现对实验数据和成果数据的查询访问。

 3 系统结构

 3.1 系统总体功能结构
 本系统的主要分为基础数据管理、实验数据管理、实验数据应用、实验室设备管理、服务合同管理、组织机构管理、水分析管理、用户管理、综合查询、综合报表、数据库备份/恢复、系统维护等十二个子系统。有些子系统中又包括若干子模块,其具体的系统功能模块如图1所示。

 3.2 系统详细功能介绍
 (1) 基础数据管理
 实现对系统基础数据如:层位,岩样,油田、区块、油井等的管理。完成对岩样的添加、删除、修改和导出操作。
 (2) 实验数据管理
 实验数据由不同的实验仪器和实验方法测量所得,同一实验仪器下的实验方法所测量的数据具有一定的内在关系,特别在计算一些成果数据时。因此,实验仪器下不同实验方法的测量数据放在一起进行管理。
 (3) 实验数据应用
 实现直方图绘制、交会图绘制、深度归位、实验/测井数据拟合4个功能模块。
 (4) 实验室设备管理
 主要针对测井公司岩石物理实验室现有仪器设备进行管理,包括设备基本信息管理、设备使用记录管理、设备维修记录管理。通过对设备进行统一管理,可以方便记录每次实验数据所对应的实验设备以及设备所运转的时间。
 (5) 服务合同管理
 对测井公司岩石物理实验室已签订的服务合同中的主要内容进行管理。通过对服务合同管理,可以方便记录、查询每份服务合同对应的合同信息。
 (6) 组织机构管理
 实现组织机构的层次机构管理功能、实现人员管理功能、提供一个通用的部门选择接口模块。
 (7) 用户管理
 由系统管理员分配各系统用户对系统各个功能模块的操作权限,根据权限判定登陆用户是否能进入相应的功能模块以及根据权限控制用户具体的增加、修改、删除、审核等操作。
 (8) 综合查询
 按岩样编号和井号进行查询获取实验数据结果。
 (9) 综合报表
 由系统管理员分配各系统用户对系统各个功能模块的操作权限,根据权限判定登陆用户是否能进入相应的功能模块以及根据权限控制用户具体的增加、修改、删除、审核等操作。
 (10) 综合查询
 通过“自定义报表模版”,操作用户可自行定义多个级别的报表显示格式和所显示的数据项内容,据此,实现不同级别的操作员查看属于自己范围数据项的特殊要求。
 (11) 数据库备份/恢复
 数据库的备份和恢复专门建立一个服务器端的应用程序。可通过设置参数实现无人值守备份。对于恢复操作,特别在恢复之前先进行备份操作,以防误操作。
 (12) 系统维护
 进行系统参数设置,实现系统的灵活性;管理系统操作日志等。

 
 图1 系统功能模块结构图

4 系统开发实现过程

 4.1 系统分析与设计
 首先根据系统的数据流图进行系统数据分析,导出系统的数据库结构,利用关系数据库模型分析各表之间的对应关系,合理地设计数据表和定义表中的数据类型。各系统用到的数据表主要有油田表、区块表、油井表、层位表、岩心表、常规仪实验数据表、小岩样仪实验数据表、方岩样仪实验数据表、全直径仪实验数据表、半渗透隔板实验数据表、长岩心实验数据表、测井数据表、设备数据表、组织机构数据表,服务合同数据表、数据访问控制数据表等共51个,利用SQL Serve7.0集中建立在同一个库中。根据各模块的实际要求事先设计好各表的主键、外键、索引、约束、规则、触发器、存储过程等,便于各模块对共用的数据表的统一引用,并可保证数据的完整性。并结合PowerDesigner进行数据库建模,其部分结果如图2所示:

 
 图2 系统数据库物理模型图

 4.2 编码与测试
 本系统为C/S模式,开发工具采用Delphi7.0,数据库采用SQL Server 2000。由于是团队多人共同开发项目,协作非常重要,为了提高工作效率,选择了VSS作为本系统开发过程中的配置管理工具。测试阶段的Bug缺陷管理工具采用Rational ClearQuest。

 5 系统涉及的关键技术


 5.1 基于C/S的客户服务器体系结构
 本系统运行在测井公司内部局域网,系统核心业务是实验数据的处理和数据访问,其中大部分业务集中在岩石物理实验室,为了加快数据的处理和结果的显示输出,充分体现数据处理的高效性,系统采用C/S(Client/Server:客户/服务器)体系结构、面向对象技术的设计方案,其中:
 ●客户机(Client):提供统一的用户界面,实现数据的录入、计算、查询、统计分析和报表输出。
 ●服务器(Server):用于存储数据信息,并利用服务器的强大处理能力响应客户机的数据处理请求,及时向客户机返回处理结果。

 系统网络拓扑结构如图3所示:


 图3 系统网络拓扑结构图

 5.2 基于TTreeView的动态目录树的设计与实现
 目录树((Treeview),类似Windows资源管理器中目录树(Treeview)的形式来展示所要组织的数据,系统的浏览者点击目录树(Treeview)中的结点,则该结点展开显示下属的子结点。通过目录树(Treeview)浏览者不仅能快速找到所需的数据,而且能清楚地认识所有数据的构成结构和层次关系。

 本文介绍的是一种基于数据库的目录树(Treeview)技术,该技术将各资源名称所在层次级联对应关系等属性储存于后台数据库中,从而将目录树(Treeview)结构的维护转化为对后台数据库的维护,大大简化了后期的维护土作。

 本系统中大量采用了目录树结构来进行数据的管理,如系统中的部门管理具有层次关系。利用Delphi7.0的TTreeView控件并结合
 SqlServer2000后台数据库的部门机构表进行编程。实现部门目录树的动态产生。如图4部门管理操作界面所示:
 
 
 ●部门树生成算法:
 算法描述:先将部门数据读出放在一个结构体数组中,该结构体除含有部门的基本信息外,还有一个项标识该部门是否已插入树中。构建一个循环先添加树根节点,依次扫描部门数组,若该部门的上级部门编码为空,则插入树的根节点,同时将该部门的插入标识改为已插入;再根据树的每个节点从部门数组中查找其子节点并插入。整个循环的退出条件是树的节点数等于部门数。
 ●部门编号及上级部门编号生成算法:
 算法描述:
 上级部门编号:若节点本身是根节点,则该节点的上级部门编号为’’,否则上级部门编号=该节点的父节点的部门编号。
部门编号:部门编号=上级部门编号+级内序号,级内序号由00-99两个字符组成,级内序号的产生方法是,从0开始到99依次匹配同级的节点序号,若发现都未使用过某序号,则该序号就是所求序号。
 ●后台数据库中的部门表:
 

 6 结束语

 本文提出的岩石实验数据管理系统已在某油田公司得到了很好的应用,大大加强了对实验数据的有效管理和使用。本文所述的开发方法、开发过程对一些中小型MIS系统开发具有一定的借鉴意义。

 
希望我们的资料可以帮助你学习,也欢迎投稿&提建议给我
频道编辑:winner
邮       件:winner@uml.net.cn

关于我们 | 联系我们 |   京ICP备10020922号  京公海网安备110108001071号