基于Java EE的铁路物流数据平台设计与实现

2021-09-11 07:28赵宏宇
铁路计算机应用 2021年8期
关键词:服务器铁路数据库

刘 斌,邓 悦,赵宏宇

(1.中铁第四勘察设计院集团有限公司,武汉 430063;2.西南交通大学 计算机与人工智能学院,成都 611756)

近年来,信息技术产业发展势头强劲,尤其是数据与信息管理体系在各个领域的数据信息管理中得到广泛应用。随着各行业信息化的发展,构建铁路信息与资源共享的交通物流互联体系成为了国家铁路物流发展的战略与趋势。中国铁路物流行业的高速发展,行业已累积了海量数据,数据量增长快且类型繁多。据调查,国家统计局统计的指标量总计大约有350种,并没有完全涵盖铁路物流相关的指标,除去不相关的铁路物流所需的指标量预计不少于200种。除了来自统计局的数值型数据,还包括一些官方网站发布的图片、多种类型文件等数据。如此庞大的数据量和种类,为数据的查找、存储和分析带来了挑战。对海量数据的整理与分析也影响着行业的生产效率,因为数据拥有大量潜在的、有用的信息资源,如果能够合理利用这些数据并建立高效的分析模式,将有利于降低企业的运营成本,提高生产经营效率,减少不必要的人工处理。

为此,本文整合铁路物流现有资源与数据,构建铁路物流数据平台,充分利用已有的各种类型的铁路物流数据,完成对海量数据的搜集与整合管理,提高铁路相关业务的决策能力与管理效率。

1 平台开发需求

1.1 信息化分析平台

传统的铁路物流项目规划设计的技术手段主要以人工为主,人工数据处理和分析的工作量很大,数据分析耗时高,分析结果的质量取决于分析人员的技能水平和对现场的学习水平,但往往设计成果满足不了客户的需求[1]。一般的铁路物流项目涉及了大量数据查询、分析、应用等基础性工作,面向的市场范围广、项目类型多,存在大量的重复性工作。目前,国内尚无专门的铁路物流数据信息化平台为铁路行业提供服务,而提高效率和设计质量又是目前铁路物流项目规划设计急需解决的问题,因此需要一个专门的信息化分析平台。

1.2 共享数据服务

生产管理过程中,存在数据资料及文件的共享,若没有一个集成平台的整合难以做到大量数据的共享分析及文件资料的集中管理。近年来,虽然有关铁路物流的信息化平台的建设逐步完善,但各个信息系统之间因数据分散无法进行交互和对照,数据共享服务做得不够好[2]。很多企业在铁路物流数据平台建设方面的无序导致错失发展的机遇[3-4]。若将需要的、经常使用的信息搜集、整合后在平台中综合管理并定时更新,可准确掌握铁路物流行业信息,实现海量数据的统一性和实时性。铁路企业从业人员需要的任何铁路物流的相关资料可在统一平台上浏览、查询或下载。

2 铁路物流资源与数据整合

对行业信息系统积累的大量业务数据进行整合,实现对海量数据有效的管理[5-6],是铁路物流企业整合管理环节和支持企业科学决策的核心基础。针对平台开发需求,对如下几类资源与数据进行整合和统一管理。

2.1 指标数据

指标数据包括基础数据、铁路物流数据和企业数据。其中,基础数据包含了综合、农业、贸易、消费、金融、货运、客运、交通基础、工业、绿色城市10大类,每一类包含多个指标,共有143个指标。例如,综合数据的指标有土地面积、常住人口、GDP、三产产值、人均GDP、全社会固定资产投资、分三产固定投资额。

2.2 铁路物流文件

文件资料包括与铁路物流相关的政策文件、规范文件、规划文件和路内发文文件,需要从各大官网上搜集并下载这4类文件及相关信息,分类后梳理统计并上传至平台,方便查看和归档。

2.3 成果文件

成果文件资料是企业内部有关物流规划项目、铁路物流基地项目、调研成果、勘测成果及其它成果的整合。

2.4 铁路设计资料

铁路设计资料是企业内部有关基地设计、铁路设计模块、装卸设备、枢纽货运设施说明、既有车站及货场信息等铁路设计的介绍、文件、设计图纸或相关图片等资料。

以上4类数据,需要持续化更新与维护,相关人员会定时更新数据、下载整理文件并上传。数据化的平台只有保证实时性,才能及时掌握网络最新发展动态,与时俱进[7]。

3 铁路物流数据平台构架

Java Enterprise Edition(简称:Java EE)易于程序的维护和扩展,本平台利用Java EE的3层体系结构即表示层、中间层和数据层完成程序功能的开发。在Java EE的基础上运用共享性强且扩展业务方便的B/S架构,由用户浏览器、Web服务器、数据库服务器组成3层结构[8]。Web服务器作为中间层负责用户浏览器和数据库服务器的双向交互,由HTTP协议实现浏览器与服务器的通信。此外,在服务器上建立了文件管理系统来存放大量的文件数据,并按照平台的模块分类,在服务器的固定位置存取文件。文件管理系统、Web服务和数据库共同部署在以Linux为操作系统的服务器上。平台架构,如图1所示。

图1 平台架构

4 关键技术

4.1 Spring Boot技术

服务器端采用Spring Boot技术进行开发,将Spring Boot的内置Tomcat作为Web服务器使用。Spring Boot是一个新的Spring框架,它解决了Spring开发过程中复杂的配置操作,简化了应用程序开发和构建过程,让开发人员几乎脱离繁琐的配置文件,将大量精力投入到项目逻辑开发中[9]。服务器端在以Maven作为项目管理工具的基础上使用Spring Boot框架进行分层设计,分别是持久层、业务层、控制层及实体层。持久层对数据库直接请求;业务层负责业务逻辑处理,完成功能的设计;控制层是直接被前端访问的接口,接受请求后把处理的数据返回给用户接口;实体层是数据库表对应的实体类,被其它3层引用。模块化的编程方法,使开发的平台在后续能够满足各个模块的组合和修改,便于以后的扩展和维护[10]。

4.2 Vue.js技术

用户界面除了使用Html+CSS渲染页面、脚本语言jQuery进行逻辑处理外,还采用了Vue.js组件库构建响应数据的Web页面。在需要创建Vue实例的页面引用Vue.js库,在指定的作用域内,可输出该对象的属性和函数返回值,当属性值发生变化,页面也会响应式改变。Vue.js很容易与jQuery相结合,将单页面的数据作为对象的属性存储,更简单地绑定了每个Web页面的动态数据。在与服务器交互时配合使用Ajax,以JSON格式作数据传递,使网页实现异步更新。

4.3 数据库技术

数据库软件采用的MySQL 8.0,该软件体积小,读取、存储数据快,满足本平台的数据存储需求。通过结构化查询语言完成数据库中的全部操作,并将查询或修改后的结果由HTTP协议传输至Web服务器,与之进行数据交互。

5 功能模块设计与实现

互联网数据、行业资料进入铁路物流平台后,重点围绕数据集中管理与分析。平台结构设计,如图2所示。

图2 平台结构设计

5.1 个人中心模块

在个人中心模块,用户可查看或修改自己的个人信息,包括基本信息、权限情况、登录日志信息。有用户管理权限的账户可对其他用户进行增、删、改、查的操作。

用户管理基于动态权限,面向的账户可能是游客、用户、超级管理员等各种情况,每一个模块的查看、更新、下载等操作都需要做权限检测,只有拥有了该项权限的用户才能继续操作。

5.2 数据库模块

数据库模块将常用的各类数据进行整合,能够提高查询的效率。

基础数据分别针对市级、省级和全国的10种基础数据进行查询、下载和管理。铁路数据和企业数据都可通过筛选条件进行检索和查看详情,或将筛选后的数据加入对比进行比较。数据库模块下的所有子模块展示的详情信息都具有下载功能,具有下载权限的用户可以下载详情的Excel表格。

基础数据的来源是从购买的各地的大量Excel统计年鉴中提取想要的指标信息。为获得数据,本文设计了一套从海量异构Excel年鉴文件中提取目标城市基础指标值的算法程序。该算法通过获取表格的语义树即数据与表格行名、列名的对应关系,利用两棵语义树生成包含数据所属行名、列名的元数据集合,然后通过设计指标的正则表达式对行名、列名进行语义匹配,又将形成的集合通过过滤词字典进行数据过滤,最后提取出指定城市、年份和单位的集合,并存储在数据库供服务器查询。算法原理,如图3所示。

图3 Excel提取原理

5.3 文档管理模块

文档管理实现了对各个城市的经济、产业发展、物流业的相关政策、规范、规划和路内发文文件的分类管理。用户可按照权限的不同对这4类文件进行检索、查看详情、下载、上传、删除、更新以及上传解读和查看解读。

因整合了大量文件,平台上需要支持文件在浏览器页面的在线预览。为使主流浏览器兼容并能够在Linux系统上运行,文件预览使用开源的PDF.js组件,能够使PDF格式的文件直接在网页上展示。PDF.js的应用较为强大,自带缩放、上下翻页、页码定位等功能的导航栏[11]。

5.4 成果管理模块

成果管理实现了对物流规划项目、铁路物流基地项目、调研成果、勘测成果以及其它成果项目的整合和管理,与文档管理类似,用户能根据权限的不同对这些成果文件进行检索、查看详情、下载、上传、删除、更新及在线预览。

5.5 铁路设计模块

在基地设计中,用户可检索后选择任意装备,查看详情包括基本信息、分阶段信息、专题批复时间一览及变更设计批复时间一览。其中,分阶段信息可查看预可研、可研、初步设计、施工图多个阶段的批复时间、委托文件、批复文件、全文、汇报材料和相关图纸。其余模块功能类似可检索和查看与设计种类相关的详情。

5.6 数据分析模块

(1)基础数据分析以城市、指标和年份为可选参数,展示出符合条件的带有数值的可视化图例,包括柱状图、折线图和饼状图。

(2)综合数据分析是对基础数据之一的综合数据进行计算和可视化。综合指标的定义是由多个指标按公式计算后得到的,例如(货运总量/地区生产总值)/(全国货运总量/国内生产总值)可得到综合指标物流辐射力,将此综合数据加入对比在图例中显示。这其实就是一个综合指标计算器,平台按用户选择的条件计算出综合指标结果并在图中显示。

(3)数据预测分析是通过增长率法、弹性系数法、回归分析法、时间序列法和灰色模型法对基础数据之一的货运数据的货运量进行分析与预测,可选择不同条件下的不同方法,以及单个或多个指标。

6 结束语

通过对铁路物流平台的需求分析,将互联网海量数据和铁路物流相关资料分类与整合,开发了基于Java EE的铁路物流数据平台,实现了各个模块的功能。平台解决了初始时庞大无序的数据与文件信息量无法共享与集成、项目设计过程生产效率低的问题,将铁路物流数据的存储、可视化、分析、预测集于一体,展现在平台上,挖掘了数据的潜在信息,以高效的数据分析模式显著提高企业的运营效益[12]。用户和管理者能够快速洞悉海量数据背后有价值的信息和知识,从而为生产管理和运维等工作提供辅助决策支持[13]。

猜你喜欢
服务器铁路数据库
詹天佑,“中国铁路之父”
沿着中老铁路一路向南
一路欢声一路歌 中老铁路看点多
铁路机动车管理信息系统
2018年全球服务器市场将保持温和增长
数据库
数据库
数据库
数据库
用独立服务器的站长注意了