APP下载

工程信息精细化管理平台架构设计研究

2021-05-31饶平平1益1朱清鹅1沈程琳

土木建筑工程信息技术 2021年2期
关键词:日志页面组件

饶平平1 沈 益1 朱清鹅1 沈程琳

(1.上海理工大学 环境与建筑学院,上海 200093; 2.上海同筑信息科技有限公司,上海 200093)

引言

随着社会经济的发展,为了适应高速发展经济需求,计算机、网络等技术被越来越多的行业所应用,并带来了行业颠覆性的影响。例如传统集市+互联网→淘宝; 传统银行+互联网→支付宝; 传统交通+互联网→滴滴快车等。通过利用云计算、大数据、物联网等实现了资源共享与信息实时传递,极大地促进电子商务和互联网金融健康发展,引导互联网企业拓展国际市场[1]。在建筑行业,工程项目具有建设周期长、涉及专业多、环境复杂等特点,这使得建筑行业数据和信息多而复杂,然而这些数据因粗放式的管理,没有产生数据应有的价值[2]。随着BIM、云计算、大数据、物联网等技术的出现,将BIM模型作为数据信息的载体,通过互联网模式,实现建筑信息的采集和分析,形成数据库,保障信息的及时性、准确性、唯一性[3-4]。

市面上多数工程的环境或安全监管平台解决了监测数据散乱的问题,如现场监控系统、安全指数监测平台等实现了施工现场安全信息的收集和查看,但此类平台往往缺乏日常流程管理功能,同时也在数据分析处理、安全预警、消息传送等功能方面少有涉及; 而对于多数工程业务流程管理平台,往往存在日常运行故障多、低移动化、操作冗杂度高等问题,这不利于工程管理平台朝向智能化发展。

因此我们需要建立一个运行流畅、架构安全的精细化平台,实现工程建设的信息化、精细化、规范化管理,从而达到工程信息的实时共享,提高项目管理效率的目的。

1 平台总体架构

图1 平台总体架构

精细化管理平台总体架构由五个层次组成,分别为:由网络基础设施和计算机软硬件基础设施两部分组成的基础设施层; 包含BIM数据库、GIS数据库、管理数据库、共享数据库的数据层; 包含前后端分离技术、Vue前段框架技术、Springcloud等后端框架技术、移动端技术的支撑层; 包含进度、质量、安全、物料、文档、模型管理六个功能模块的应用层,该层即为精细化管理实际内容的表现; 由业主方、施工方、监理方等项目参建单位组成的用户层,为精细化管理组织成员的具体表现。总体架构图如图1。

2 前后端分离原则

精细化管理平台采用前后端分离进行搭建,前端负责UI交互层设计、数据的展现、程序应用逻辑及逻辑渲染、优化用户体验、页面渲染等; 后端负责服务层开发、提供数据、存储数据、保障数据传输的稳定性等。前后端最后通过接口实现数据传递和交互。

多数工业管理平台存在前后端某一端业务薄弱的情况,这往往是由于平台开发时,开发人员一起开发前后端,开发存在侧重点。而本研究构想的平台采用开发分离原则,前后端在分离开发模式下,前后端人员各司其职,同时进行开发,可以缩短平台开发时间,提高开发效率。在前后端人员双方了解业务逻辑情况下,前后端人员可以不依赖彼此进行单独开发和调试,从而减少前后端的沟通,有效地降低沟通成本。前端不需要编写任何后端代码,只需要调用后端提供的接口,就可实现前后端的连接,从而避免前后端代码耦合、混杂等现象。

图2 终端与后端连接

采用前后端分离,后端提供数据接口,手机、平板等不同终端只需要根据数据接口编程,就能实现多个终端与同一个后端的连接,避免开发者针对每一个终端都开发相同的后端服务的重复工作,提高开发者的工作效率,如图2终端与后端的连接。

平台前后端分离采用单页面应用SPA(Single-page application),单页面应用将前后端关注点进行分离,前端负责显示,后端负责数据的计算和存储,明确前后端的逻辑,加载时仅根据需求进行局部更新,提高了加载速度和用户体验感。

3 前端搭建

3.1 相关技术介绍

(1)Vue技术

Vue是当前使用广泛的开源的渐进式JavaScript框架,可以自由与多种第三方库或第三方插件进行对接,包含多种附带组件,如Vue-cli、Vue-router等。

1)Vue.js前端开发框架

Vue.js[5]是近年来出现的一款轻量级前端框架,相比于Angular JS前端框架,Vue.js更简单、更灵活、更容易优化、性能更好,因此Vue.js运用于前端框架被越来越多的人认可。与Vue.js相似并被多数工程管理平台应用的前端开发框架React,其与Vue.js区别主要是内部实现本质不同,React通过对虚拟DOM进行渲染,将数据保存在内存中,当状态发生改变时,将会重新对虚拟DOM进行渲染,通过补丁的形式将变化部分加载到虚拟DOM节点上,并且不是每次改变都渲染整个页面。而Vue.js则是以DOM为模板,真正操作在DOM上,将数据与真实的节点进行绑定[6]。Vue.js的这种真实DOM比React的虚拟DOM性能更好,能为前端多功能模块提供精细度高的界面显示,更能满足本平台前端开发。

除此之外,Vue.js作为前端开放框架主要是因为其具有模块化、组件化、响应式数据双向绑定、路由功能和状态管理特点。

模块化:在JavaScript刚开始运用于前端开发时,不支持程序分解,然后再自由组合。这给开发人员开发大型、复杂的Web应用带来很大的阻碍。因此,前端逐渐支持模块化,保证了管理人员基于平台对工程信息的模块式管理。通过import(导入)模块、export(导出)模块,丰富Java Script语言的功能。2015年所处JavaScript最新版本ECMAScript6.0(简称ES6)支持模块化,ES6模块的静态化设计原则,有效提高模块的加载[7]。Vue.js支持最新的ES6规范,因此利用Vue.js作为前端框架,能够很好地体现模块化思想。

组件化:通过组件化,Vue.js能够将JS、HTML和CSS等前端开发语言写在一个文件里,且各组件之间不会相互影响,组件之间的关系明确,开发人员清楚划分各组件的功能边界,这有效提高代码可读性和可维护性,有效减少定位并解决开发遇到问题的时间,为工程信息复杂的精细化管理提供了软硬件基础上的流畅性和快捷性。

响应式数据双向绑定:其绑定原理如图3。与单项数据绑定相比,双向数据绑定减少了增、删、改、查操作,在模型数据与视图显示数据之间,一个数据修改,另一个数据自动随之改变,例如在表单场景中,当填写完表单信息,数据就已经保存到模型数据库,这就省去模型数据增、删、改、查等工作量,节约时间,提高效率。

图3 双向数据绑定原理

路由功能:Vue.js+vue-router创建单页面应用,通过Vue.js的路由功能在路由中配置业务模块,实现单页面跳转。

状态管理:Vuex专门为解决多个组件共享状态的问题而设计的Vue.js框架的状态管理模式,其状态管理原理如图4,Commit主动操作Mutations,Mutations操作用来存放共享状态的State。

图4 Vuex状态管理原理

2)管理平台前端动态页面技术

利用HTML5和CSS3编写静态页面,然后在静态页面插入JavaScript这种能被浏览器解析和运行的脚本语言实现精细化管理平台前端动态页面设计。

HTML5是2014年万维网重新修订的超文本标记语言,它在旧版本的HTML基础上添加

猜你喜欢

日志页面组件
刷新生活的页面
无人机智能巡检在光伏电站组件诊断中的应用
一名老党员的工作日志
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
答案
3月光伏组件出口量增长164.6%至7.49GW!单价创新低
让Word同时拥有横向页和纵向页
扶贫日志
一种嵌入式软件组件更新方法的研究与实现
雅皮的心情日志