刘尔康
摘 要 本文以智慧油田数字员工系统架构设计为目标,分析了常用架构模式,在结合数字员工系统特点的基础上,设计了四层架构方案以适应智慧油田数字员工系统特点,对功能需求和架构设计展开了探讨,并给出了各层功能设计、层间隔离措施和系统初始化时的映射策略。
关键词 数字员工系统;架构方案设计;功能设计
中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2016)160-0085-02
1 概述
智慧油田是在传统油田基础上结合现代计算机技术建立起来的新的油田管理模式,随着智慧油田理念的逐步推广,石化企业也逐步完成了向数字化管理的过渡,基本上各大石化企业陆续完成了各自的“智慧油田”管理系统和业务平台[1],其中智慧油田数字员工系统是该系统中的重要组成部分,合理的系统设计能有效提高管理水平和工作效率,本文将通过对智慧油田数字员工系统进行需求分析,分析当前在数字员工系统中的软件硬件构架问题并展开研究了一种新的四层架构模型,并给出了该架构模型的总体设计。
2 常用架构模式特点分析
2.1 C/S架构
C/S架构是是传统的客户端/服务端体系结构,其特征是通过将业务分配到客户端和服务端来设计系统整体结构,用户程序布置在客户端,服务器则负责提供数据相关操作(如数据的管理、共享、维护等)。C/S构架在现有软件系统中得到广泛应用。
2.2 B/S架构
B/S架构及浏览器/服务端体系结构,该架构下无需特别开发专门的客户端软件,浏览器负责实现用户的请求和结果显示,服务端则实现对数据的存储和业务逻辑处理等工作,B/S架构中服务端数据存储和业务逻辑是典型的表示—业务逻辑—数据访问—三层结构[2]。
2.3 MVC模式
MVC(Model-View-Controller)即模型—视图—控制器模式,其工作流程为基于用户请求来制定业务运行模式,这一模式下业务逻辑和数据存储分开,便于实现对业务逻辑的维护[3]。这一架构下模型层主要完成对业务逻辑的处理以及对数据的管理操作,视图层主要功能是展示结果,而控制层则主要完成对用户请求的监听和转发。上述3个部分实现的是彼此间的互联。
2.4 MVP模式
MVP(Model-View-Presenter)即模型—视图—展示器模式,该模式和MVC类似,但结构上无法实现3个部分之间的互联,但在MVP模式下视图层和模型层之间并不互联,而是通过展示器来实现二者之间的通信。
以上几类常用架构在软件系统设计时都得到了广泛应用,各有利弊,本文将在上述常用架构的基础上进一步深化,结合数字员工系统的功能需求来对架构尽心更进一步的优化。
3 系统架构方案设计
3.1 功能需求分析
智慧油田数字员工系统的主要功能非常多样化,但主要可包括为3个大方面:智慧生产、教育培训和移动办公,为实现上述3类功能,要求系统能兼容和支持多种类型的客户端设备(如手机客户端、PC客户端、IOS移动客户端等),为实现上述基本需求,可总结出系统构架方面应满足如下功能:1)数据和界面、业务逻辑分离;2)动态扩展性,即要求系统在硬件扩展或逻辑模块扩展是能够予以支持,并且不会影响现有模块的正常运行;3)容错性及要求在部分出错(如某个服务器故障)时不会影响系统的整体运行;4)良好的负荷均衡能力 该功能要求能够及时合理的处理访问请求,保障系统稳定运行;5)高效的数据解析能力 由于智慧油田系统需要处理的数据属于海量级,因此系统构架应采取分布式处理方式,能够协调数据的存储和分析,并具备从海量数据中挖掘价值信息的基本能力。
3.2 架构设计
在常用的架构中,C/S架构需要在多个设备上安装客户端软件,其主要对象为软件客户端,对于智慧油田数字员工系统而言,应当把功能逻辑放到服务端[4],客户端主要是监听和转发以及结果展示,因此C/S架构无法很好满足要求。对于B/S架构而言,其主要对象是浏览器端,由于表示层需要与功能层进行高频率交互,对于单点故障问题以及系统中数据流量的分配等只能由功能层来实现,对模块间的耦合性要求高,因此也不适应数字员工系统需要。
为满足智慧油田数字员工系统的需要,笔者认为应当设计更能满足需要的架构方案。从功能整合的角度看,应具备良好的扩展性以适应不同类型的支持对象(如Web、PC、外部系统等)需求,但这类需求都可以归为系统逻辑服务的表层对象,这样对表示层对象的扩展将独立于客户端和外部系统应用,从而可简化系统接口。在系统控制层方面,其主要任务是单点问题监测和负荷均衡处理,接收来自表示层的参数,并由控制层选择合适的处理方式,从而实现对硬件部署以及并行计算时的控制。
考虑到智慧油田数字员工系统中终端设备的多样性特性,以及对这一特性的处理已交由表示层控制,为减少构架设计中的耦合性,考虑设计功能逻辑层。该层在设计时参考了MVC和MVP模式,其主要功能是不与表示层交互,而是与控制层交互,接受控制层请求并处理功能逻辑。
在数据存储与处理方面,结合数据和界面、业务逻辑分离的基本要求,在架构中专门设置数据层,在该层中再分别设立用于数据存储和管理的两个子层,其中数据存储子层处理特定数据库,不受功能逻辑层中的操作影响,而数据管理层则主要提供功能逻辑层访问以及操作数据的接口。
综上所述,本文所设计的模型属于四层架构方案,即表示层(WEB、客户端、外部系统接口)→控制层→逻辑功能层→数据层(存储/管理)。其最大特点是将不同类型的客户端都归入表示层,简化了表示层和控制层之间的接口,并且集中了功能转发和负载控制等置于控制层,降低了层间的逻辑依赖性,并可提高系统的稳定性。
4 系统架构模型设计
4.1 各层功能设计
在前文中四层架构设计的基础上,本节中将分别设计各层的功能。1)表示层功能,该层主要完成操作界面和移动端应用以及外部服务,在获取用户操作数据参数后,将其传递给控制层,并接收和展示控制层返回的数据;2)控制层功能,该层主要是承上启下的作用,是表示层和逻辑功能层之间的桥梁,同时承担着负载均衡分配、监控流量、处理单点问题等,是四层架构中最重要的层级;3)逻辑功能层 该层完成业务逻辑的封装,接收并处理控制层的指令,完成和控制层的数据交互,接受控制层的调度操作;4)数据层,完成和业务逻辑相关的数据的存储和管理,并具备数据分析功能。
4.2 层间隔离设计
本文设计的四层架构中各层间的功能相对独立,为保证系统稳定运行,还应设计层间的隔离措施,各层间的隔离方案分别为:1)表示层—控制层的隔离方案,PC浏览器端采用Smarty模板隔离,移动客户端采用HTTP协议、报文采用JSON数据格式与控制层交互;2)控制层—功能逻辑层隔离方案,控制层中利用配置文件来隔离功能逻辑层中各功能模块;3)功能逻辑层—数据层隔离方案,功能逻辑层和数据层之间的交互通过在数据层中封装的DBMS接口实现,避免功能逻辑对数据库的数据操作从而实现隔离。
4.3 架构模型映射策略
本文中设计的四层架构模型的终点站在于控制层,因此在设计映射方案时利用系统初始化加载策略,利用配置文件,实现和各类服务器功能号、服务器IP与MAC地址绑定等映射操作,在系统初始化时只需一次加载配置文件即可完成必要的映射操作,之后的操作都可以从内存中读取请求。
5 结论
本文从系统架构和架构中各层的功能以及层间隔离等角度设计了智慧油田数字员工系统,可充分考虑智慧油田系统中数字员工系统操作的特殊性,在实现功能优化的同时提高系统的稳定性。
参考文献
[1]周洁,朱文妹,蒋楠,等.智慧油田现状及发展研究[J].信息系统工程,2012(10):100-102.
[2]陈炳丰,黄金,张良浩,等.基于BS架构的科研管理系统对科研管理的影响研究[J].科技成果管理与研究,2012(9):11-13.
[3]张屹峰.用设计模式和三层架构思想部署基于PHP项目的研究与实现[J].电脑与信息技术,2011,19(2):67-70.
[4]龙颖波,何贞铭.油田信息化若干问题研究[J].计算机光盘软件与应用,2010(5):4-8.