Web 技术在船舶综合信息管理系统的应用
2024-01-03亓惠琳
亓惠琳
(山东科技大学 海洋科学与工程学院,山东 青岛 266590)
0 引 言
船舶作为一个庞大的独立系统,需要采集、管理大量的数据,如果仅仅依靠人工,是无法完成的。随着互联网技术的高速发展,船舶的智能化、自动化信息管理已经成为目前的趋势,快速、高效的信息处理不仅可以减少船舶的运行成本,还可以有效解除安全隐患,是船舶安全航行的重要基础。
在船舶信息管理方面,诸多学者进行了大量的研究工作。尹安[1]设计了一种船舶智能备品备件信息管理系统,通过设计编码规则,实现了备品备件数量变化感知和数据自动记录。姚路等[2]开发了基于信息矩阵的船舶等级维修项目信息管理系统,通过着色和降维处理,实现信息的控制与管理。康莉莉[3]设计了基于物联网的船舶信息管理系统,通过优化大功率网络的服务器运行路径,提高了信息管理系统的运行速度。
本文基于Web 技术,设计了一种船舶综合信息管理系统,对该系统的功能组成、关键性技术和相关性能进行阐述。
1 Web 技术
1.1 页面相关技术
在Web 提供信息服务前,相关信息是以文件的形式存放在Web 服务器的某个文件夹下。Web 页面实际上是由超文本标记语言(Hyper Text Markup Language,HTML)组成的文本文件,并不是一种编辑语言,而是对网页信息进行标注处理的一种标记语言。
HTML 使用标记标签来描述网页,声明为H T M L 5 文档,
而层叠样式表(Cascading Style Sheets,CSS)则是描述HTML 文档样式的语言,外部样式表存储在CSS 文件中,引用CSS 文件,就可以设置HTML 文件中字体、排版、背景、颜色布局等,使页面更加美观、布局更加合理。同一个CSS 文件可以被多个HTML 文件引用,如果多个文件中某一个内容被设置为同一种属性,可以将属性内容编写在公共的CSS 文件中,这样可以有效减少源代码,提高了浏览器的解析速度。
基本的页面布局通过HTML 和CSS 技术可以实现,随着互联网技术的发展,页面有时需要展示三维模型,传统的X3D 和Java3D 兼容性较差,需要配合其他组件才能运行。OpenGL 和浏览器自带标准且兼容性较好,无需其他组件即可运行,通过编写JavaScript 脚本实现对OpenGL 的调用,实现三维展示。
1.2 开发平台相关技术
本文的开发平台为Java EE(Java ENTERPRISE EDITION),是纯粹基于Java 的解决方案。Java 是目前比较流行的一种面向对象的语言,不仅融合了C++的优点,而且由于是在JVM 中运行的,不是在操作系统上,因此具有了良好的跨平台移植性[4]。
Spring 是一个开源应用框架,具有优秀的体系结构,其应用了分层的概念,主要由几个具有不同功能的模块组成。而SpringMVC 属于Spring 的体系,是一个开源的Web 后台框架,主要为Web 的应用提供基础架构,架构如图1 所示。
图1 SpringMVC 架构图Fig. 1 SpringMVC architecture diagram
1.3 数据挖掘技术
数据挖掘是从大量数据中挖掘未知的、有价值的信息或规律。Web 数据挖掘技术能够实现目标数据的高效、精准搜集,已被广泛应用于不同领域。
Web 数据库为挖掘技术提供基础数据的存储、分类、查询等功能,主要分为用于数据存储的服务器、用于数据调用的中间模块、Web 服务器和浏览器4 个部分[5]。
基于Web 数据库的数据挖掘技术的主要步骤为:数据清理、数据集成、数据选择、数据变换、数据挖掘、模式评估和知识表示。常用的算法有神经网络法、遗传算法、决策树法、关联规则法等。
2 基于Web 的船舶综合信息管理系统
2.1 系统的功能组成及需求
考虑到船舶的结构和特点,基于Web 技术的船舶综合信息管理系统的功能模块如图2 所示。
图2 船舶综合信息管理系统功能模块Fig. 2 Ship integrated information management system function module
整个船舶信息管理系统中,比较重要的是船舶状态管理,要对船舶的航行状态、导航信息以及船舶其他工作设备进行实时监测,比如船舶动力系统、配电电站、结构应力、振动噪声等状态信息。
海务管理主要是对水文气象信息、航线安全以及突发应急事件等方面的监控[6-7]。
人事管理主要是工作人员信息的采集、整理,以及日常人事调动、岗位分配、人员培训的相关信息。医疗管理是对工作人员身体健康情况的监测,以保证工作人员能够安全进行工作。
权限管理主要用于一些日常事务的流程审批,消息管理则是对内部一些通知、设备报警信息等的处理。
防污管理主要是保证船舶在航行过程中尽量避免对海洋生态系统产生影响,比如油污泄漏。
船务管理相对于其他模块,处理信息较多,比如船载货品的入库、出库等。
根据上述描述的系统功能模块,综合信息管理系统要满足如下要求:1)管理功能要全面,尽可能覆盖船舶管理中必须的所有数据;2)由于船舶运行和日常管理中,需要调用并生成的数据量非常庞大,因此信息管理系统的存储量要足够大且保存稳定,不能出现信息丢失、错误等情况;3)尽可能实现全面线上办公,减小工作人员的工作量以及维护、运营成本;4)系统的操作应尽量简单,不能过于繁琐。
2.2 系统架构
目前常见的系统架构主要分为C/S(Client/Server)模式和B/S(Browser/Server)模式。
C/S 模式下,用户需要下载一个客户端,大部分的应用都在客户端进行,后端是服务器,负责后台数据的查询、管理、计算等。这种模式下,服务器端的工作量较少,客户端的任务比较繁重,由于用户群体比较固定,维护成本相对较高,系统升级一次,所有客户端的程序都需要改变。
B/S 则是一种3 层架构的模式,第一层表现层,完成用户和后台的交互以及查询结果的输出;第二层逻辑层,利用服务器完成客户端的应用逻辑功能;第三层数据层,接收客户端请求后独立进行各种运算。
相较于C/S 模式,B/S 模式中,用户可以实现跨平台使用系统,只需在客户端安装浏览器,同时无需升级多个客户端,升级服务器即可,免去了维护工作,大大降低了系统运行和维护成本。因此,本文采用B/S 模式,图3 为综合信息管理系统架构。
图3 船舶综合信息管理系统应用体系架构Fig. 3 Application architecture of ship integrated information management system
最底层是物理层,这一层是整个系统功能实现的基础,主要包括服务器、网络设备和船舶航行相关的一些感知设备。数据层覆盖了综合信息管理系统中所有的数据,包括各系统状态监测数据、环境、人员、设备等相关信息。服务层是指用户在客户端可以进行的操作。业务应用层是用户在浏览器中可以浏览到的信息。
2.3 系统功能实现
2.3.1 开发环境
本文设计的船舶综合信息管理系统开发平台为Java EE,数据库为MySQL 数据库,Eclipse 为开发环境。Java EE 平台具有通用的开发模式,运行环境可靠,用户可以在此基础上开发多层次、稳定可靠、安全的应用。而MySQL 数据库由于性价比较高,是目前比较流行的数据库类型。
2.3.2 基本管理功能
用户在信息管理系统首页点击登录,输入用户名和密码即可跳转到主页面,如果用户名或者密码输入错误,则需要重新输入。在代码方面,主要是通过AuthController 类中的login 方法对用户进行校验。
管理人员在进入系统后,可以对工作人员信息进行查询、修改等操作。如有新进人员,管理员可以在系统中添加其相关信息。进入信息添加页面后,输入工作人员的详细信息,提交至系统后台,工作人员的相关信息会被校验,如果信息正确,添加成功,否则需要重新输入。
同样地,对船舶中的设备也有相同的功能设置,工作人员可以通过浏览器查询设备的运行状态(尤其是动力系统、电力系统及导航系统等相关信息)、工作时的参数、运行时长等详细信息,同时,也可以对设备相关信息进行添加、删除并同时生成相应的工作日志,便于后期进行查询。
整个系统页面分为两个部分,左侧为菜单栏,用户点击每一项均可查询或修改相关信息,相关内容则显示在页面右侧部分。
2.3.3 基于关联法则的数据挖掘
在船舶的航行过程中,数据量非常庞大,用户在客户端进行搜索时,希望得到和搜索目标相近的数据,比如搜索某个设备,不仅能得到该设备的基础信息(生产厂商、性能参数等),还可以显示出设备近期的运行数据、维护记录、使用人员等信息。这就需要用到前文提到的数据挖掘技术。
本文采用了关联算法Apriori-MOD,此算法是对Apriori 算法的改进,在原有基础上引入了重点项集KI,相关定义如下。
重点项集KI={{A,B} ,{A,C}}则是指要重点关注A和B、A和C同时出现的项集。
关联规则,A和B都是属于项集的集合,并且A∩B=∅。
支持度S upport指数据集中该项集的数据所占总数据集的比例,。
置信度Confidence的计算公式为Confidence(A->,代表A和B同时出现的概率占A出现概率的比值。
引入的重点项集KI是为了满足船舶综合信息管理中的关联性分析,并不会影响原来的算法原理,同时还提高了对关联项的搜索速度。
2.4 实验结果
在完成系统的设计和开发后,对系统的性能进行了相关测试。图4 为系统运行时间和响应时间以及系统运行时间和系统采集的信息精度之间的曲线图。
可以看出,随着系统运行时间的增加,响应时间随着增大,而系统采集信息的精度随之降低,但下降的精度变得平缓,保持在70%以上。
3 结 语
本文基于Web 技术,设计开发了一种船舶综合信息管理系统,系统采用了B/S 架构方式,可以实现对船舶运行状态、人员和设备、船务、网络等方面的管理。用户可以直接在浏览器上实现信息管理,操作简单,运行和维护成本较低,基本上满足了预期的功能需求,后续可以在信息管理的智能化和自动化方面进行深入研究。