海上地震勘探质量监督平台软件设计与实现
2022-04-09胡广浩阮福明朱耀强
胡广浩 阮福明 朱耀强
(中海油田服务股份有限公司物探事业部,天津 300450)
0 引言
在海洋油气勘探的迫切需求下,中国海油大力发展自主地震勘探装备和技术,并取得成功应用[1,2]。海上地震勘探采用工区的方式进行作业过程数据管理,工区通常由几十条甚至上百条测试组成,海上地震勘探的过程就是逐个完成每条测线地震数据采集(测线采集),测线采集由导航系统、枪控系统、采集系统、拖缆控制系统等协同工作下共同完成。各作业班组人员在测线采集过程中记录测线数据,测线采集结束后手工填写测线班报、问题记录、质控数据等,汇总形成测线报告。不同作业船队、不同作业班组提交的报告格式不统一,从而形成的地震作业报告种类多样;人为的记录和填报失误也会带来错误的作业报告;大量的测线记录,对检索和统计带来挑战。
本文设计了一套用于海上地震勘探现场的质量监督平台软件(平台软件),实现对作业现场数据的规范化记录、集中式管理和统计分析。采用浏览器/服务器(Browser/Server,B/S)架构,客户端采用浏览器作为用户接口,平台软件则以Web应用程序的形式运行在服务器端,如图1所示。
图1 平台软件结构图
1 技术框架设计
平台软件基于Java语言和模型—视图—控制器(model-view-controller,MVC)架构设计和开发,层次结构如图2所示。通过将业务逻辑、数据、界面显示分离的方式组织代码,降低开发难度,提高开发效率和可维护性。
图2 系统层次结构图
(1)表示层作为系统的最上层,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面,采用JavaServer Faces(JSF)框架[3,4],以组件为中心进行用户界面(UI)构建,使用PrimeFaces的UI组件库作为基础样式[5]。
(2)业务逻辑层处于数据访问层与表示层中间,起到数据交换中承上启下的作用。它对表示层接到的用户指令或数据进行业务处理,将处理的结果发送给下面的数据访问层,请求数据访问层传回需要的数据。
(3)数据访问层实现数据库的访问,包括对数据库表进行增、删、改、查的操作。它将存储在数据库中的数据提交给业务层,将业务层处理的数据保存到数据库。平台软件的数据访问层采用Hibernate框架[5],完成数据的持久化。
(4)数据存储采用系数据库系统PostgreSQL和文件系统组合的方式,文件系统用于存储较大的附件文件,附件文件的位置存储在数据库表格特定字段中。
2 软件设计
2.1 模块设计
平台软件由用户模块、工区模块、仪器模块、导航模块、现场处理模块、监督模块组成,如图3所示。
图3 平台软件功能框图
(1)用户模块:由用户管理、角色管理、权限管理组成,通过用户—角色—权限三级结构级联,实现对用户操作权限精细化控制。
(2)工区模块:工区模块是其他模块的基础模块,用于其他模块提交数据的参考,由工区信息、测线信息、工区统计组成。工区信息管理整个作业工区的全局数据,包括地震采集参数、枪阵配置、开工参数确认单、导航配置等;测线信息管理工区内包含的前绘测线,用户基于前绘测线提交实际作业测线的数据;工区统计实时监控当前测线作业情况,并对历史测线完成情况进行统计。
(3)仪器模块:由仪器班报、日检报告、月检报告组成,仪器班报管理作业测线的地震数据有效炮号、噪音炮、异常炮、废炮、震源压力和容量超标、枪控同步超标等,日检报告和月检报告管理仪器系统的每日和每月指标测试数据。
(4)导航模块:由导航班报、航行公里管理、工区覆盖管理等组成,导航班报管理作业测线的导航数据水深、电缆羽角、导航设备异常等,航行公里管理、工区覆盖管理分别对每日的作业时间、拖航时间、故障维修时间、天气等待时间进行分类别管理,经过统计和分析形成工区的作业时效分析统计。
(5)现场处理模块:每条测线地震数据现场处理后质控报告进行管理分析,包括噪声、信号相对振幅分析、单炮噪声平均值、测线噪声分析、电缆深度、枪压力和深度、TB叠加、近场数据分析、单道噪声、二维叠加、LMO等。
(6)监督模块:对各业务模块提交的作业数据进行分析和统计,形成测线和工区综合质控数据,给作业管理者提供决策支持。
2.2 数据库设计
(1)平台软件的数据库的概念设计采用自底向上的方法,分为系统业务模块、用户管理模块、日志管理模块等,集成起来得到全局概念结构。采用实体—关系图(Entity-Relationship,E-R)进行概念建模,以系统业务模块为例,包括质控报告、工区文件、测线文件、磁带装箱单、测线、前绘测线、地震采集参数、工区、资料交接单、导航班报、仪器班报、仪器盘、导航开工参数确认单等实体。其中,测线和工区是多对一关系,磁带装箱单、工区文件、前绘测线、测线、资料交接单、导航开工参数确认单、地震采集参数与工区都是多对一的关系,测线文件、质控报告、仪器班报、导航班报与测线是多对一的关系,仪器盘与仪器班报是多对一的关系等。
(2)将平台软件的数据库的概念结构转换为一般的关系、网状、层次模型,然后向PostgreSQL数据库支持下的数据模型转换后,得到逻辑结构。本文利用Power Designer将前面得到的概念模型生成逻辑模型,在概念模型系统业务模块的多对一关系中,多对一关系的前者会在表中新增后者的主键信息,作为外键。
2.3 主要流程设计
2.3.1 权限控制流程
地震勘探作业中由仪器工程师、导航工程师、现场处理工程师构成的作业班组和由作业经理与作业甲方等构成的作业管理者属于不同类别用户,具有不同的操作权限和视图。对权限管理是由超级管理员完成的,超级管理员登录系统后,进行用户创建、角色分配、为角色分配操作权限,操作权限分配流程如图4所示。
图4 权限控制流程图
将权限与界面操作按钮和菜单进行绑定,通过权限分配后,每个用户可以看到不同的操作界面,具有不同的操作权限。
2.3.2 业务处理流程
作业班组用户登陆系统后,可以通过浏览器完成作业数据的浏览、上传、下载、编辑等操作,作业管理者同样通过浏览器进行数据的统计结果浏览和监督。平台软件对各个业务模块的处理流程提供了基本一致的操作方式,通过以工区为入口对工区数据的管理,通过以测线为入口对测线数据的管理。从功能上,基本都包括了查阅、统计、添加、删除、编辑、打印等功能。以往系统提交测线仪器班报功能项为例,流程为:仪器工程登录系统后,系统首先进行权限验证,初始化界面为工区管理页面,工区管理页面由测线组成,详细显示了每条测线的状态,仪器工程师选择进入刚做完的测线,录入这条测线的作业信息,可选择附件上传,提交确认后,该条测线的班报信息录入系统成功,数据记录在数据库和文件服务器中,系统自动跳转到工区页面,接下来可以对测线查阅、重新提交或者删除错误提交等,主要实现流程如图5所示。
图5 业务处理流程图
3 结语
平台软件在地震勘探船上进行了2个作业工区的数据集中式管理,在并发用户数10人情况下,操作平均响应时间小于0.5秒,满足现场作业数据管理使用要求。后续将进一步增强平台软件的分析统计能力,为作业管理者提供更好的作业决策支撑。