新时期油田基层管理与应用集成系统详细设计

2018-01-18 10:06孙瑶于肇贤吴杰田洋张子恒赵宇
中国管理信息化 2018年23期
关键词:油田

孙瑶 于肇贤 吴杰 田洋 张子恒 赵宇

[摘 要] 按照以党发一号文件出台的《关于进一步加强改进三基工作的实施意见》的要求,在新时期,胜利油田要进一步夯实以新提出的《基层单位管理手册》《基层岗位操作手册》《员工价值积分管理手册》为中心的基础工作,加快编制并推广应用“三册”,由此,新的系统构想应运而生。该系统基于B/S模式结构,采用MVC框架下的三层架构,使用迭代开发模式,实现了基层管理和应用集成所需的功能,具有很强的操作性、灵活性和稳定性。

[关键词] 油田;三册;基层管理;应用集成

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 23. 026

[中图分类号] F270.7;TP315 [文献标识码] A [文章编号] 1673 - 0194(2018)23- 0061- 06

1 概 述

1.1 设计背景

在新时期,以党发一号文件出台的《关于进一步加强改进三基工作的实施意见》已成为胜利油田三基工作的新灯塔。其中最大的创新点和最紧要的任务,就是以《基层单位管理手册》、《基层岗位操作手册》和《员工价值积分管理手册》(简称“三册”)为推手,抓实基层、打牢基础、强化管理。

油田召开的2017年三基工作例会围绕“三册”管理、“三标”(标准化岗位、标准化班组、标准化现场)建设、基层帮扶等三基重点工作,进行了阶段总结和安排部署。

本系统着眼于简便、实用、高效,对基层现有管理制度、岗位职责、操作流程、资料报表进行优化整合,实现“一套文本支撑多个体系”,让制度落地、责任生根。

1.2 建设目标

以手冊内容信息化为核心,以价值积分应用集成为重点,以软件系统为工具,全面实现融会贯通,达到全面提升基层管理水平的目的。主要包括以下内容:

(1)使职工学习掌握手册,达到快速宣贯的目的;

(2)使手册在基层日常生产管理中发挥作用,落地实施;

(3)使信息系统能够在全油田灵活、统一推广应用;

(4)使手册为上层管理提供支撑。

2 需求分析

2.1 功能需求分析

系统包含如下功能需求。

2.1.1 数据库建设

(1)完成基础平台相关数据表及表间逻辑关系的设计;

(2)完成用于《基层单位管理手册》、《基层岗位操作手册》和《员工价值积分管理手册》的维护与管理的相关数据表的设计;

(3)完成价值积分应用集成及与“三册”数据库融合的相关数据表及表间逻辑关系的设计。

2.1.2 基础平台开发

(1)完成组织机构管理、用户管理、用户权限管理、角色管理、岗位管理、单位岗位配置、功能模块管理、模块URL管理、访问日志、流程管理、待办消息管理等模块的开发;

(2)实现大数据量和大并发访问的优化技术。

2.1.3 单位管理手册与岗位操作手册

(1)手册维护:实现手册的结构化存储,确保各章节条目的管理与维护流程化运行;

(2)手册查阅:实现文本快速检索,支持按章节、按条目的分类索引,可自定义查询,支持手册下载等;

(3)手册管理与应用:实现手册的集中、分类管理,完善手册修订的审核机制,将手册条款标准与价值积分系统关联起来;

(4)为不同岗位用户提供相应操作主页,包括我的任务、我的岗位等模块。

2.1.4 价值积分手册管理与应用

(1)手册维护:实现手册的结构化存储功能,确保各章节条目的管理与维护流程化运行;

(2)按基层岗位用户、基层管理用户、管理区、采油厂四个等级实现不同层级的价值积分统计与分析功能;

(3)实现各单位价值积分标准的维护与积分审核功能,支持批量导入数据;

(4)实现价值积分数据的图形化对比功能,支持导出图形界面;

(5)实现我的积分、班站积分等个性化工作界面的展示功能,可以清晰了解积分现状与趋势;

(6)将价值积分与奖金、效益工资相关联;

(7)将价值积分与HR系统相关联。

2.2 非功能需求分析

针对所有管理区,初步估计用户数量在20 000以上,系统压力较大。为保证价值积分体系在出现指标变动及计算逻辑调整后数据仍然准确,系统需要满足以下非功能需求。

(1)系统应有一定的并发处理能力,数据库并发时,用户不应等待太长时间;前端页面并发时,系统也应能够及时响应用户的请求,并且不会因为用户对同一数据的请求与处理导致数据死锁时间过长或者因为对单例变量的访问导致数据不一致;

(2)界面简洁美观、操作方便,录入界面接近表格的原始格式;

(3)为保证数据的准确性,系统对用户录入的基础数据应采取无损失的保存方式(即完整保存而不采用四舍五入的保存方式),并且应有自动校验功能;

(4)系统具有自适应性,能从不同业务版块的价值积分体系中抽象出标准模型,价值积分标准库中积分类别与标准可灵活配置。

2.3 资源需求分析

2.3.1 基本配置

客户端:CPU主频1 G、内存256 M、硬盘空间20 G、网卡100 M、操作系统Windows XP。

服务器端:CPU主频4 G、内存2 G、硬盘空间80 G、网卡100 M/1000 M、操作系统Windows 2008服务器版、数据库Oracle 11g、WEB服务器Tomcat 7.0及更高版本。

2.3.2 推荐配置:

客户端:CPU主频2 G、内存1 G、硬盘空间80 G、网卡100 M、操作系统Windows 7。

服务器端:CPU 主频6 G、内存4 G、硬盘空间800 G以上、网卡100 M/1000 M;操作系统Windows 2010服务器版、数据库Oracle 11g、WEB服务器Tomcat 7.0及更高版本。

建议数据库服务器和WEB服务器分别配置。

2.4 需重点解决的问题

(1)系统具有自适应性,能从不同业务版块的价值积分体系中抽象出标准模型;

(2)价值积分标准库中积分类别与标准可灵活配置;

(3)用于生成自定义复杂报表的在线实时计算、统计技术;

(4)支持万级用户量的大并发技术;

(5)由于不同专业下的手册存在着明显的差异性,所以需要做兼容处理,这就需要文档的结构化分析与处理技术;

(5)全文检索技术;

(6)文档内容(表格、图片等)在线编辑技术,支持多人同时在线编辑的权限控制技术。

3 特殊功能要求

3.1 灵活查询与图形展示

“三册”手册、积分标准等各种各样的信息会在系统中逐步累积,所以系统提供了查询统计模块,该模块支持多条件组合查询、多重排序、查询结果导出、在线打印等功能,并会根据查询结果自动展示对应树形图和列表,通过点击图形列表还可进一步查询每部分的详细数据。

3.2 加密的用户密码

鉴于目前很多网站的数据库易被攻击者获得用户名和密码而直接暴露的情况,本系统采用MD5加密的方式保存用户名和密码,MD5是主流的加密算法,具有安全性高且单向的特点,这样即使攻击者获得数据库访问权限也不能查看到用户密码。

4 系統功能设计

4.1 主要功能设计

4.1.1 平台公共模块

按照局级用户、厂处级用户、管理区科室用户、基层班站用户四个层次,该模块提供了不同的定制服务,将各层次信息统计并直观展示出来。

该模块还提供了用户岗位职责查询、积分查询、积分统计和排名查看、工作任、手册综合查询等功能。

4.1.2 管理/操作手册模块

用户使用该功能模块对管理手册和操作手册进行相关操作。

管理手册部分包括树结构工具、基本情况、业务职责、管理制度、业务流程等功能。

操作手册部分包括岗位描述、操作规程、操作标准、应急处置程序等功能。

4.1.3 价值积分管理与应用

价值积分模块提供了价值积分手册维护、积分标准设置、积分明细查询、价值积分统计等功能。根据价值积分的统计结果可进一步实现积分排名、奖金计算、手机微信查询等功能。

4.1.4 系统管理模块

系统管理模块由功能管理和信息接口两部分组成。

功能管理主要包括:

(1)组织结构管理。基层的组织结构框架管理、逻辑关系管理等;

(2)岗位管理。岗位与组织结构的逻辑关系、岗位标准化、职责管理等;

(3)员工管理。员工的岗位管理、员工手机绑定等;

(4)其他管理。角色、权限、模块的配置等。

信息接口功能为其他信息系统提供必要的信息接口,如:生产即时通、基层资料管理系统、生产指挥系统等。

系统设计如图1所示。

5 系统详细设计

5.1 总体架构

为保证系统的可扩展性和可维护性,系统架构需要符合“高内聚,低耦合”思想,所以应采用界面层(UI)、业务逻辑层(BLL)、数据访问层(DAL)分离的架构方式。层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构应该是一个可抽取替换的“抽屉”式架构。三层结构适合群体开发,每名开发人员负责不同的模块,协同工作使效率倍增、开发风险降低。而且三层架构具有较高的安全性,程序只能通过业务逻辑层来访问数据层,减少了入口点,能把很多危险的操作屏蔽。

(1)数据访问层:JDBC + Memcached + Hibernate。

(2)业务逻辑层:Spring。

(3)界面层:JSP + Servlet + Ajax + HTML + JavaScript。

5.2 网络负载架构

考虑到系统的用户数量非常庞大,必须从硬件与软件结合的角度来进行优化。

(1)负载均衡器:Nginx 1.13稳定版,支持最大并发数30 000;

(2)Web服务器:Tomcat 7.0,单机支持最大并发数600,集群部署;

(3)Oracle 11g数据库:最大进程数2 000(取决于服务器CPU性能与内存容量);

(4)数据读写优化:分库管理、大数据表读写分离等。

5.3 技术路线

使用当前较为先进与适合的开发方式,相关技术规范将严格遵守中石化和油田的统一要求。

(1)采用分布式、多线程、负载均衡等多种优化技术,提升系统的运行效率;

(2)建立科学的系统架构,各类基础信息均可由用户灵活配置,如组织机构、相关公式、任务与岗位、评价方法、评价因素等;

(3)建立与数据中心、生产指挥中心、数据采集源的相关接口,避免采集重复信息,提高平台拓展性和用户体验。

5.4 设计原则

为保证系统的应用效果能够达到预期,在实际工作中方便人员的使用,降低出错率,起到辅助管理的作用,使之真正成为基层管理工作中有效的工具,该系统的设计遵循以下原则。

5.4.1 针对性原则

根据油田的管理和操作人员、网络及计算机软硬件等条件,有针对性地进行系统设计。

5.4.2 稳定性原则

系统运行应稳定可靠,能够处理各种异常,不会因操作不当或者非法数据引起系统崩溃。

5.4.3 准确性原则

系统数据的计算应精确可靠,采用合法性校验与完整性约束机制以保证系统中数据的一致性和准确性。

5.4.4 友好性原则

系统的人机交互图形界面应易学易用,系统提供多种易于操作的功能,用户通过简单培训甚至无须培训就能使用。

5.4.5 高效率原则

软件的效率性一般用程序的执行时间和所占用的硬件资源来度量。在达到功能要求的前提下,系统应能及时响应用户操作并返回结果。系统响应时间应尽量短且占用硬件资源应尽量少。

5.4.6 扩展性原则

提前考虑用户业务的发展与需求的变更并适应这种变化,在未来能以较少投资实现系统的升级扩充。

5.4.7 先进性原则

系统开发、运行环境中的元素(如开发技术、体系架构、开发语言、数据库、组件等)应有生命力,符合现在和未来应用集成和技术发展的要求。

5.5 技术选型

5.5.1 系统结构的选择

目前软件系统结构分为B/S与C/S两种。B/S结构即浏览器/服务器结构。在这种结构下,用户工作界面在浏览器中呈现,极少部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。

系统结构的选择主要从以下几个方面考虑。

(1)维护和升级。采用B/S架构的系统,所有的维护和升级工作都在服务器上进行,不需要跑遍所有的节点,这样就算增加新的单位或新的工作节点也不会增加工作量,而且通过多年的信息化网络建设,各管理区的网络都能够和总部连通,这是系统选择采用B/S结构的重要因素;

(2)运行成本。B/S结构运行成本低而且选择多。现在Windows系统在计算机中应用十分广泛,浏览器也成为必备配置,对于B/S架构的系统来说,只要将服务器部署完成,那么基本所有的用户不需要额外投资就可以正常使用;

(3)硬件环境。胜利油田的局域网已建设多年,历经几次升级改造,其网络已经可以覆盖到所有单位,有良好的通信条件。这些情况非常符合B/S结构的系统对运行环境的要求。

综合以上因素,决定采用B/S结构来设计系统。

5.5.2 数据库的选择

本系统需要的数据量较大,评估关系和計分逻辑复杂,并且要在数据库上运行存储过程、触发器等程序以实现数据校验、计算、迁移等功能,同时本系统对数据的安全性要求较高,所以数据库应该采用大型关系型数据库。目前常用的此类数据库有Oracle和SQL Server,由于现有已部署好的Oracle服务器,所以本系统采用Oracle数据库。

5.5.3 开发语言与工具的选择

(1)软件开发工具包:JAVA1.6及以上版本;

(2)集成开发环境:Eclipse/MyEclipse/Intellij IDEA;

(3)Web服务器:Tomcat 7.0及以上版本;

(4)设计建模工具:PowerDesigner 13及以上版本;

(5)配置工具:SVN。

5.6 架构详细设计

5.6.1 数据访问层(DAL)说明

DAL层采用DAL Interface抽象出数据访问逻辑,并以DAL Factory作为数据访问层对象的工厂模块。对于DAL Interface而言,分别由支持MS-SQL的SQL Server DAL和支持Oracle的Oracle DAL具体实现。而Model模块则包含了数据实体对象,用于与实际的数据表进行数据交互。在数据访问层中,完全采用了“面向接口编程”思想。抽象出来的IDAL模块脱离了与具体数据库的依赖,从而使得整个数据访问层利于数据库迁移。DAL Factory模块专门管理DAL对象的创建以便于业务逻辑层访问。SQLServer DAL和Oracle DAL模块均实现IDAL模块的接口,其中包含的逻辑就是数据库的Select、Insert、Update和Delete操作。因为数据库类型的不同,对数据库的操作也有所不同,代码也会因此有所区别。抽象出来的IDAL模块,除了解除了向下的依赖之外,对于其向上的业务逻辑层同样仅存在弱依赖关系。具体如图2所示。

5.6.2 业务逻辑层(BLL)说明

BLL是业务逻辑层的核心模块,它处于数据访问层与界面层中间,起到了数据交换中承上启下的作用,它包含了整个系统的核心业务。在业务逻辑层中,必须通过数据访问层访问数据库。该层对数据访问层的调用是通过接口模块IDAL来完成的,与具体的数据访问逻辑无关,层与层之间的关系是松散耦合的。如果需要修改数据访问层的具体实现,只要不涉及IDAL的接口定义,

业务逻辑层就不会受到任何影响。具体如图3所示。

5.6.3 界面层(UI)说明

UI层主要负责界面的展现,其展现的数据均来自BLL模块而不需要直接访问数据库。该层中的组件用于形成报表格式以将获取的数据展现给用户,同时获取用户对系统的操作指令和录入的数据并将这些数据提交给BLL模块进行业务逻辑的处理。

具体如图4所示。

5.7 数据库设计要求

(1)数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能重复或有多个值。如果出现重复属性,则需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多的关系。

(2)数据库表中的每个实例或行必须能被唯一地区分。实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么此属性和主关键字的对应部分应分离出来形成一个新实体,新实体与原实体之间为一对多的关系。

(3)数据库表中尽量不包含已在其他表中存在的非主关键字信息。

(4)数据库的两个实体间不得存在多对多的关系,如果必须存在,则应转化为两个一对多的关系。

(5)尽量将数据库表分割成尽可能小的实体,排除表中所有的冗余。

5.8 编码设计要求

(1)变量、类、方法、属性的命名应规范。

(2)代码必须将功能完整描述。

(3)采用分层设计,界面层、业务逻辑层、数据访问层各层分开。

(4)对所有程序运行中可能出现的异常要充分考虑并有相应的处理方法,将导致异常的原因反馈给用户。

(5)封装的类的功能尽量单一,避免出现大而全的类。

(6)代码的注释必须详细,尤其是与业务相关的代码部分。

(7)通用类与业务类分开组织与封装。

5.9 界面设计要求

界面层是软件与用户交互最直接的层,界面的好坏决定用户对软件的第一印象,而且设计良好的界面能够引导用户完成相应的操作,起到向导的作用。页面设计通过CSS语言来规范各页面要素,同时有以下几点约定。

(1)页面在1024×768分辨率下设计。外围表的宽度必须指定,内嵌表格可以用百分比方式指定宽度。在表头行为各栏指定宽度的同时,必须有一个栏不用指定宽度,这样浏览器能自动调节其宽度使表格整体无变形。

(2)按钮一律由CSS语言中的TD标签来定义。按钮应单独放入一个表以避免受宿主表某些格式的限制而导致变形。

(3)弹出窗口大小合适并居中以避免在窗体上出现较大的空白无用区域。

(4)菜单栏收起时,内容部分无变形。

(5)利用Frame属性将界面中相同或相近的功能框起来。

(6)完成同一功能或任务的元素应放在集中位置以减少鼠标移动的距离。

(7)同一界面上的控件数不要超过10个。

(8)界面空间较小时使用下拉框代替选项框。

(9)根据界面内容的专业度合理选择专业术语和日常词汇。

6 安全设计

如何保证系统的安全性是一个重要的问题,其最大挑战之一就是总可能有完全不符合所有已知模式的新型安全缺陷出现。随着计算机技术的发展,会出现许多新的软件攻擊手段,这就需要运用合理的开发策略与技术手段进行安全设计以保护系统免受各种攻击。

6.1 数据库权限设置

系统运行时连接Oracle数据库的用户不具有建立和删除表、存储过程、触发器的权限,防止注入攻击时被恶意删除表和其他数据库对象。

6.2 使用参数化语句

系统在对数据库进行读写操作时,通过参数来传递变量,即用户的输入内容绝对不能够直接被嵌入到SQL语句中,这样可以有效地防止SQL注入式攻击。

6.3 对用户输入内容进行验证

在用户界面中,所有相关控件应能控制用户的输入内容,对于不合法的内容,系统应能自动屏蔽。如验证输入的数据类型是否合法、字段长度是否符合数据库的字段定义等。

6.4 系统架构分层

系统使用三层架构,具有较高的安全性,程序只能通过业务逻辑层来访问数据层,这样减少了入口点,能把很多危险的操作屏蔽。

6.5 使用MD5方式对用户密码进行加密

鉴于目前很多网站的数据库易被攻击者获得用户名和密码而直接暴露的情况,本系统采用MD5加密的方式保存用户名和密码,MD5是主流的加密算法,具有安全性高且单向的特点,这样即使攻击者获得数据库访问权限也不能查看到用户密码。

6.6 用户权限控制

本系统采用二进制数据转换为十进制数据的方式保存用户权限,只有合法的用户才能访问页面,对于在某个页面输入地址后,系统会对用户进行权限检查以判断是否合法,如果不合法则直接转到错误页面,这样就保证了系统页面的安全性。

7 预期建设成果

本次油田基层管理与应用集成系统的建设着眼于简便、实用、高效,对基层现有管理制度、岗位职责、操作流程、资料报表进行优化整合,实现“一套文本支撑多个体系”。同时,为价值积分的量化提供了标准与依据。从而提升了工作效率、推进了资源共享、稳固了减负成果。

(1)通过手册内容信息化,将岗位职责、工作要素、行为标准等信息结构化存储,以满足不同岗位的需要(PC端与移动端)。建立数据采集模块,按照手册的要求实现基层数据的统一采集,自动生成报表。

(2)建立积分模型,将岗位工作内容与考核标准关联起来,做到有标准可依,实现不同岗位的积分计算和统计功能,将奖金、效益工资与积分关联起来,实现与HR系统的联动。

(3)在遵循中石化和油田统一标准的前提下,实现基层各单位应用系统的集成功能,达到与办公平台、一体化平台、生产指挥平台、经营管理平台、专业应用平台等系统集成的技术条件。建立专题分析模块,结合手册实现相关的统计、分析、考核等功能。

主要参考文献

[1][英]Jeremy Keith,[加]Jeffrey Sambells.JavaScript DOM 编程艺术[M].第2版.杨涛,译.北京:人民邮电出版社,2011.

[2]孙卫琴.Tomcat与Java Web开发技术详解[M].第2版.北京:电子工业出版社,2009.

[3]中国石油化工集团公司胜利石油管理局.关于进一步加强改进三基工作的实施意见[Z].2016.

猜你喜欢
油田
河南油田:“抓着你的手,我就踏实了”
碳中和油田的未来之路
我国海上全新“绿色油田”建成投产
老油田梅开二度
江苏油田:让水更清田更绿
我国海上油田新发现
海底油田
油田常见垢的成分及鉴别
Widuri油田聚合物驱可行性研究
叠前同步反演在港中油田的应用