基于SpringBoot+Vue框架的采气方案系统开发

2021-11-17 08:37徐小辉刘江涛丁艳艳
计算机仿真 2021年6期
关键词:功能模块方案设计框架

徐小辉,刘江涛,高 涵,丁艳艳

(中国石油新疆油田分公司,新疆 克拉玛依 834000)

1 引言

采气工程方案在设计过程中要以气藏特征、测井资料、生产情况等资料为基础,进行流体特征、完井参数、生产管柱、增产措施、动态监测等方面进行计算、分析、优化。传统的设计过程中往往借助专业软件及各类Excel等小程序进行设计,这种模式存在着算法不统一、管理零散、操作复杂、处理时间长等问题。

本文针对传统方案设计模式的问题及缺点,设计并实现了一套以SpringBoot+Vue为框架的B/S方案快速设计系统,借助后端SpringBoot+MyBatis+Redis+MySQL的服务平台,前端采用Vue+ElementUI+Echarts的解决手段,通过采用前后端分离技术,能够快速搭建、配置、开发、调试采气工程方案快速设计系统,将方案设计与最新的信息化技术有机的结合,让用户能够更好的专注于业务逻辑处理,加快方案编制的速度,提高方案优化数据的准确度。

2 系统的需求及建设目标

2.1 系统建设目标

在采气工程方案设计过程中,需要根据收集到的地质、试油、测试、分析化验及前期探井评价井或同区块其它开发井的生产资料进行整理、归类,并将所需数据作为录入项放入到专业软件或各类Excel等小程序进行气体组分及特征参数计算、射孔参数优化、地层出砂预测、井筒携液及冲蚀流量预测,油管强度校核、措施施工压力预测、井口压力计算、井下节流气嘴优选等各项业务功能运算,为方案设计内的各部分业务提供可靠的数据支撑。

2.2 系统需求

为了实现各项业务需求,需要平台提供全套系统功能模块:1、用户基础功能模块:包括用户管理模块、用户登陆及认证模块、用户角色管理模块;2、导航功能管理模块:包括框架菜单分级管理模块、路由导航模块、角色权限分级模块;3、数据通信管理模块:包括前后端数据通信接口管理及交互模块、数据权限分级管理模块、前端各组件封装及通信模块;4、前端界面交互模块:包括ElementUI基本界面设计、数据表格内容分页显示模块、Echarts数据可视化展示模块;5、系统配置、构建及发布模块:包括后端Web服务配置部署发布模块、前端平台发布模块。

系统平台还要求前后端框架平台具有较好的代码易维护性、数据交互的格式规范性、页面响应快速、用户端交互简洁易用、兼容性好、可扩展性强等需求。

3 系统框架设计及功能模块设计

3.1 系统框架设计

本系统运用前后端分离的MVVM软件架构设计模式,采用B/S系统构架,后端使用目前最流行的框架SpringBoot,并采用MyBatis访问MySQL数据库构建,Redis做数据缓存。前端采用Vue.js框架,能够更好地处理页面交互和逻辑,解决了常规Web开发中数据通信、操作DOM、渲染数据等难题,系统具有运算速度快、操作更简单、易于统一维护、扩展性强等特点。前端同时采用ElementUI和Echarts是系统拥有更好的用户界面及数据可视化展示效果。前后端分离的设计模式下,前后端之间彼此独立,前端负责页面交互和数据展示,着重提升用户使用体验。后端负责业务逻辑的处理和提供数据,着重提升系统的性能,职责划分更加清晰,降低维护成本。

系统整体框架见图1所示为三层体系结构,主要包括:

图1 系统框架图

1)基本数据层主要负责数据库表的操作:数据层描述了系统的数据存储的内容类型,持久化的业务数据使用MySQL保存,主要保存各业务专业数据、系统日志信息、 消息队列、索引库、 缓存等,并支持多数据源及类型。

2)后端主要关注数据处理和业务逻辑:包括数据持久层、业务逻辑层、控制层。数据持久层主要使用 Mybatis 、Redis、JPA等方式访问数据库。业务逻辑层主要使用 Spring事务控制处理用户访问逻辑,完成各个模块之间的信息处理,也可进行定时任务处理,并通过调用数据持久层的接口和相关映射 XML 文件进行数据库的操作。控制层通过Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+JWT等获取用户的请求访问及安全控制,接收到前端传过来的数据后,注入Service 层进行业务逻辑处理。

3)前端主要进行UI交互和数据通信:用户通过各类终端设备使用浏览器访问前端Web 应用,使用Element UI和Echarts进行用户界面交互,通过Vue-cli3脚手架框架进行构建,使用Vue-Router进行路由管理、VueX进行状态管理,采用Axios请求和响应技术同后端控制层进行数据通信及WebService调用,统一进行POST、GET等请求参数。

3.2 系统功能模块设计

系统根据框架特点及采气工程方案设计业务需求将功能模块划分为数据分析模块、业务处理模块及系统基本管理三大模块,具体见图2。

图2 系统功能模块图

4 系统技术实现

4.1 系统平台开发步骤

系统是基于前后端分离的架构进行开发,前后端分离架构总体上包括前端和服务端,采取多人协作并行开发模式,开发步骤如下:

1)需求分析:梳理用户的需求,分析业务流程;

2)接口定义:根据需求分析定义接口;

3)服务端和前端并行开发:依据接口进行服务端接口开发。前端开发用户操作界面,并请求服务端接口完成业务处理;

4)前后端集成测试:最终前端调用服务端接口完成业务。

4.2 系统服务平台实现

根据系统业务需求分析和系统框架功能设计,本文开发的采气工程方案快速设计系统采用 Tomcat 作为 Web 服务器,采用MySQL数据库管理数据,系统结合了 Vue前端框架和 SpringBoot 后端框架的前后端分离的组合架构,并应用 JSON 格式对前后端交互的数据进行封装,应用 Redis进行数据缓存,开发出基于 Web 应用的方案快速设计系统。

4.3 微服务模块划分原则

微服务架构作为目前使用的主流架构,已经被各行业广泛使用,但是对于服务的划分却没有固定的原则,常常会出现划分过度或者不充分的情况。本系统主要涉及采气工程方案设计过程中需要运用的各类公式及算法需要进行封装成微服务,采用前后端分离原则,前端和后端的代码分别分离及部署。

前端服务主要进行界面交互及数据传输,并通过Vue的computed属性进行处理,简单的数据如加减乘除类基本算法和单位换算封装成公共api.js进行统一调用。

后端服务将业务中使用到的各类理论公式,如临界携液流速、天然气压缩因子计算公式和基本的求解算法,如一元三阶求解方程、牛顿-拉夫逊迭代求解算法进行统一封装成各类微服务,每一个微服务模块,只关心自己的算法业务规则。例如摩阻压力计算模块服务根据传过来的输入参数安装公式算法进行计算,传出结果数据,不牵扯其它业务的逻辑,尽量避免A接口的改动会导致B接口的改动这种情况。

4.4 功能模块实现

4.4.1 系统基本管理模块实现

本系统具有常规系统的用户登陆验证模块、用户管理模块、角色权限管理模块、日志管理模块外,菜单路由管理模块采用动态定制模式,将系统菜单与Vue路由配置结合起来,按需进行分层级管理、权限管理、路由定制。

4.4.2 数据分析管理模块实现

数据分析模块将软件所需要的基本数据表做成实体类,实现基本的增删改查等功能,并进行数据的筛选统计,结合前端Echarts组件,实现数据可视化展示,为用户提供更加便捷易懂的方式理解数据内容及趋势。

4.4.3 业务处理模块实现

业务处理模块将方案设计中需要的各类应用前端采用Vue单页面模式为主设计用户交互界面,前端父子组件通信的采用prop、emit等,页面间数据交互采用VueX,与后端的数据通信和微服务调用采用Axios调用。图3展示了采气方案设计中油管强度校核计算的单页面应用。

图3 油管强度校核计算图

4.4.4 方案设计应用情况

本系统部署发布后,通过简单的操作方法培训,采气方案设计人员就能迅速运用到准噶尔盆地各气藏产能建设井及探井评价井方案设计中,极大的简化方案设计流程,规范了设计中各类计算方法,操作更加简便快捷,提高了方案设计效率。部分业务功能如油管强度校核、管道流动参数计算等模块在试油分析设计中也得到了成功应用。

5 结论及认识

1)本文提出的基于SpringBoot+Vue框架设计及实现为采气方案设计提供了一套切实可行的系统及模式,为油气田开发领域新信息技术应用提供了更大的发展领域,后期系统可以扩展到采油方案设计及储层改造设计等领域。

2)前端采用Vue+ElementUI+Echarts的各业务单页面应用为用户界面交互及数据通信提供了快捷的解决手段,使得在Web上也能简便、高效做出专业应用软件的功能及效果。

3)后端对微服务模块的统一封装及划分能将业务处理计算统一化、标准化,并具有较强的可复用性及扩展性,并有利于后期项目的升级开发及维护。

猜你喜欢
功能模块方案设计框架
有机框架材料的后合成交换
框架
100MW光伏车间自动化改造方案设计
一种适用于高轨空间的GNSS矢量跟踪方案设计
浅谈框架网页的学习
方案设计我做主
商业模式是新媒体的核心
用方程组解决方案设计问题
基于ASP.NET标准的采购管理系统研究
高校二手交易网络平台功能及技术框架分析与设计