一种基于注册机制的大洋科学考察船电子班报系统

2017-11-01 17:14章子乔尹华锋张国堙章孝灿
计算机应用与软件 2017年10期
关键词:科学考察中间件大洋

章子乔 苏 程 尹华锋 张国堙 章孝灿

1(浙江大学空间信息技术研究所 浙江 杭州 310027)

2(国家海洋局第二海洋研究所 浙江 杭州 310012)

一种基于注册机制的大洋科学考察船电子班报系统

章子乔1苏 程1尹华锋1张国堙2章孝灿1

1(浙江大学空间信息技术研究所 浙江 杭州 310027)

2(国家海洋局第二海洋研究所 浙江 杭州 310012)

班报是大洋科学考察重要的监控措施与管理手段,然而随着科考事业的发展,传统班报已难以满足不断变化的科考需求。通过对科考作业进行深入分析,提出一种基于注册机制的电子班报解决方法。该方法抽象出大洋班报描述框架,提供班报自定制功能。所定制的班报模板被注册到系统中,动态生成班报界面与存储结构,指导班报记录的查询。这种注册机制方法解决了科学考察作业的动态性与复杂性难题,实现了系统的可定制与可伸缩。基于它所实现的“大洋一号”远洋科考船电子班报系统,在大洋科学考察第34航次上成功试运行,达到了预期效果。

电子班报 注册机制 大洋科学考察 海洋

0 引 言

在陆地资源逐渐匮乏的今天,海洋作为集资源、经济、生态于一体的蓝色空间,得到各国愈来愈多地关注[1]。我国在“十三五”规划中明确指出要科学开发海洋资源,加大海洋事业投入力度[2],但由于海洋具有一定的未知性与多态性,相关事业的顺利开展依赖于大洋科学考察这一基础性研究工作[3]。而大洋科学考察作为一项单次历时较长的重大工程,本身又面临着来自复杂性与动态性的挑战,可重复性较差,难以再现当次出航考察环境[4-5]。针对此问题,科考工作者们经过长期摸索,选择了采用大洋科考班报解决可重复性差难题。大洋科考班报是伴随科考作业的记录任务,它要求以报表形式严格记录下科考作业时的环境数据,进行过程把控。当后续研究环节出现问题时,班报起着至关重要的反演核对作用。

班报早期以纸质媒介为载体,然而随着行业发展,其记录内容日趋复杂,传统纸质班报出现了收集难度高、可读性差等问题,已难满足现代需求[6-7]。于是后期出现了一些电子班报系统对其进行数字化升级,力图在填写记录、数据获取、存储入库等方面提高可用性。如在海洋地质调查中投入使用的电子班报系统,对数据成图工作及室内研究有不错的支持,但其功能扩展并不友好,班报制定依赖于系统整体的开发升级[8-9]。有的电子班报系统还与工作流相结合,实现了作业流程的直观展现,然而其优势更多体现在过程可视化方面,班报相关的导出展现功能还有待改善[10]。这些电子班报系统都为班报智能化探索提供了宝贵的研究资料,但他们在设计上仍延续了传统纸质班报思路,离智能化目标存在一定差距。总结起来当前班报系统存在以下几点不足:(1) 班报结构在系统开发时已被固定,无法解决班报内容变更问题。(2) 数据导出依赖于录入格式,不能按需导出。(3) 系统耦合性过高,难以扩展。

针对上述不足,本文分析了当代班报核心需求,提出了一种注册方式的解决思路。其通过抽象班报共同特征,对用户自定义的班报描述文件进行注册,围绕其开展班报系列功能的运作。依照该注册思路,本文实现了一套大洋科学考察电子班报系统。其支持用户自定义班报模板,控制班报的存储格式、录入界面与输出样式,达到了动态适应科考作业需求的目的,为大洋科学考察提供了一套智能化的班报记录管理工具。

1 大洋科考班报需求分析

传统班报方案针对的是大洋科考作业的可重复性差问题,目标单一,手段落后。而对于深层次的复杂性与动态性问题,现代大洋科考班报系统面临四大需求升级:

(1) 安全性:大洋科学考察面临着作业时间长、工作环境恶劣等诸多挑战,而电子设备较之纸质记录手段更容易出现突发状况,所以班报系统要强调系统的稳定与数据的安全。

(2) 可定制:首席科学家等决策者常会根据实际情况调整班报。且班报所记录的仪器信息多种多样,丰富的记录对象与任意组合的特性使得班报样式千变万化。这些都说明系统固定班报样式的做法不可取,需要让用户能够自由定制班报。

(3) 可伸缩:系统并不知道未来会出现何种班报,相关班报功能应在这种不确定性下正常运作,随班报的变化而伸缩调整。

(4) 易用性:班报可定制与功能可伸缩带来了一定的复杂性。所以要求系统模块设计合理,易于扩展。同时要求功能操作的简单方便,避免过复杂的流程对工作人员操作造成障碍。

以上需求宏观上体现了相较于传统班报的差异,若细化到功能层次,则系统应具备如下特性:

(1) 填写约束

系统应对所填内容进行约束。如规定填入数据的精度,为一些填写内容提供可选项,模拟签名所具有的代表效力等,为数据的准确性及安全性提供保障。

(2) 抽象描述

要在用户层面对班报实现可定制,系统必须抽象出班报描述的规则,基于规则提供相关工具让用户可自行设计,避免每次定制都需要修改底层代码。

(3) 班报升级

大洋科考动态性使得所涉及的学科与设备日新月异,班报也随之面临升级换代的实际需求。而在升级过程中,如何发挥历史班报的复用价值,为升级班报提供帮助,使升级过程尽量简单,是一个需要解决的问题。

(4) 系统兼容

大洋科考内容升级过程中,班报可能会出现兼容性相关问题。问题既存在于数据层次,如班报形式变化而内容不变,也出现在系统层次,如需要考虑对新增功能的支持,还可能与平台有关,希望系统在多种终端下能正常运作,它们都对系统设计的兼容性提出了一定要求。

(5) 调用方便

后续班报分析工作均基于对已有班报记录数据的处理,所以数据调用也应和班报设计一样具有动态特点。较之传统班报,数据调用应提供多样的筛选工具,使操作从单张报表级别升级到具体数据项,这样才能提升数据使用效率。

2 基于注册机制的电子班报管理方法

本文提出了一套基于注册机制的电子班报管理方法解决上述需求问题。该方法通过抽象大洋科考班报特征,对其进行定制设计,将定制结果予以注册管理,进而指导班报的填写与查询工作。机制框架包含模板定制器、注册中间件、班报记录与班报查询四大模块。各模块相互协作,围绕所注册模板实现了电子班报系统动态性。

模板定制器为班报模板生产者,实现了用户自定义班报功能。其内可视化组件提供了图形交互界面,简化了定制操作步骤。文本描述组件则对可视化设计结果进行解析,将班报模板以通用文本格式传入到注册中间件。满足了大洋科考班报系统的可定制与易用性需求。

注册中间件为方法核心模块,管理所定制班报模板,为其他模块提供了注册模板调用接口。其内有模板仓库与模板解析器两大组件,模板仓库对所定制的模板进行持久化操作,保证模板的可复用与检索的高效。模板解析器解析模板文本描述,转化为供记录与查询模块使用的班报描述对象。注册中间件对两者功能进行了封装,将模板相关操作与其他模块分离开来,实现了注册核心功能的高内聚,保证了系统易用性,同时有利于其他功能模块的伸缩扩展。

班报记录模块从注册中间件获取班报描述对象,根据其内信息指导班报生成,供用户记录填写。其内组件动态生成与模板信息对应的数据库结构与班报填写界面,关联了班报模板、班报填写表单与存储数据库。用户填写时无需知晓班报生成细节,操作体验与传统方式相近,保证了系统的易用性。

班报查询模块动态获取班报记录数据。其内组件根据数据库与注册模板的关联关系,组合拼装查询语言,从不同粒度获取班报数据。查询过程屏蔽了用户与数据库直接操作,实现了数据获取的可伸缩,同时也保证了系统的安全。注册机制框架如图1所示。

图1 注册机制框架

2.1 模板定制

班报模板对注册机制起着至关重要的作用,它所包含的定制信息指导着班报的生成与查询,实现了系统的动态性。这便要求其信息描述符合大洋科考班报自身特点,兼具代表性与灵活性。本文通过总结众多大洋科考班报,把班报模板抽象为报表、数据集与数据项三级结构,内置相关属性标注进行语义说明,在此框架下供用户组合设置,定制所需的科考班报模板。模板设计的三层结构如图2所示。

图2 模板设计三级结构示意图

1) 报表 报表是必须设置的顶级结构。其内设有唯一标识属性、名称属性与类别属性。唯一标识由注册中间件自动生成。名称属性可与其他班报模板重复,以解决前文所述的大洋科考班报升级问题。而类别属性则用以描述升级或同类关系。

2) 数据集 数据集是数据项集合的容器,可以组合嵌套,用以描述数据项集群属性。文本除基础的自定义数据集外,还抽象出基本信息集、作业记录集与审核集三种类型。

基本信息集中一般包含船舶运行的基础数据,如时间、经纬度、航次海区等,用来记录科考作业时的宏观环境背景。此数据集内容复用最多,在实际大洋科考过程中某次作业所填写内容可能大都相同,所以提供了默认属性,对上次填写结果进行保留,减少用户工作量。

作业记录集涉及仪器运行信息,其内数据相对复杂,记录了单次使用科考仪器时的相关数据,为班报记录主要内容。作业记录集中的数据项一般会以组合的形式重复出现,本文设置了重复属性对其指示。

审核集所含数据项多为人员类型,记录了班报整表的相关责任人。因此本文设置了责任人属性,以在班报填写完成时,交付责任人查看,起到审核作用。

3) 数据项 数据项为基础结构,通常以标签、值与补充说明相组合的形式存在,用以描述班报填写具体项。标签记录了数据项名称,补充说明了数据单位或注意事项,二者皆为文本信息。而值是数据项中关键部分,设有填入方式属性以区别键入、单选与多选,值类型属性指明文本、数值或人员。对于数值类型,还可增设大小、精度等可选的说明属性,用以对填入数值进行约束,减少班报使用过程中的人为失误。

模板定制流程基于上述设计规范开展。指定工作人员通过模板定制器设计班报模板,可选择基于已注册的模板进行改造,或创建新的模板自行设计。

无论改造还是新建,具体设计过程一般由可视化设计组件完成,其提供了上述抽象结构的示例图形,用户可通过拖拽它们调整结构关系,也可对其编辑来制定语义属性,从而完成直观的设计操作。

设计完成后向注册中间件传入定制模板,传入的内容由文本描述组件生成。该组件把可视化设计内容解析为模板文本描述,实现了二者的自由转换。

2.2 注册中间件

注册中间件负责模板注册、可查集输出以及班报描述对象输出三大功能。

(1) 模板注册负责对模板进行存储。传入模板文本描述后,注册中间件首先将其交给内部模板解析器。模板解析器负责从文本描述中获取定制信息,其通过结构解析遍历文本描述,获取班报结构的组合嵌套关系,语义解析扫描各结构的属性标注,获取语义说明信息。模板解析器提取出报表结构的唯一标识、名称与类别信息,与原模板文本描述一起传入模板仓库。模板仓库根据唯一标识判断新建还是修改,再与名称、类别、生成时间、修改时间信息以及模板文本描述一齐存入,完成注册。

(2) 可查集输出为模板查询提供帮助,陈列已注册班报模板的基本信息。注册中间件收到请求后,在模板仓库中可根据名称、类型、时间等查询条件搜索,将满足条件的条目输出,输出内容不包括模板文本描述,只含有基本信息。若无查询条件则默认输出所有注册模板。

(3) 班报描述对象输出负责提供解析后的班报描述。注册中间件收到含有模板唯一标识的请求后,在模板仓库中取出相应条目里的模板文本描述,交由模板解析器提取全部信息,把这些信息组装成与开发语言相关的班报描述对象,返回给请求方使用。

2.3 班报记录

基于模板定制与注册,班报记录模块根据班报描述对象动态生成班报数据库与填写界面。当有记录需求,班报记录模块向注册中间件发出可查集请求,获取已注册班报模板信息,作为可用班报选项。工作人员选择其中某一班报后,记录模块再次向注册中间件发送具体班报模板的唯一标识请求,获取班报描述对象。

班报记录模块获得班报描述对象后,判断班报数据库中对应结构是否已经生成,若没有则把班报描述对象交予其内数据库初始化组件。根据其所含的班报结构信息,动态生成班报数据库表结构,依据语义信息,规定相应数据表中的字段类型。

其后班报表单初始化组件开始生成填写用的表单界面。其使用班报描述对象中的结构信息,结合用户自选的界面风格,动态生成前端班报填写界面。同时依据语义信息加载前端控件,对填写进行一定约束。用户界面展现完成后,表单初始化组件还负责前端填入与数据库的相连,由于二者皆依据班报描述对象动态生成,班报表单初始化组件能方便的组装数据库写入语句,把前端表单所填数据写入数据库中。至此,班报动态生成完毕,工作人员可对班报进行填写,进行科考业务相关记录。

2.4 班报查询

由于班报记录的存储同样基于模板定制内容,所以班报查询模块会根据班报描述对象动态获取班报数据。用户首先依据可查集信息获取班报描述对象,凭借它与班报数据库间的映射关系,可获知目标班报的所有字段信息。因报表中的作业记录集具有重复属性,后续班报数据查询步骤分为基本信息与作业记录两种粒度。

基本信息指科考仪器连续记录时的综合船行环境,可作为作业记录数据的目录。其组件从班报描述对象中提取基本信息集的所有数据项,作为查询字段名,与用户指定的查询条件一起组装成查询语句,获取某次科考作业班报的基本信息。

作业记录指某次作业时的一连串仪器信息。用户选择对应某张班报的基本信息后,作业记录获取组件再次使用班报描述对象中的数据项信息,结合所选基本信息,组装查询语句,获取全部仪器记录,展现完整班报。

3 设计与实现

基于所提出的注册机制,本文设计并开发了一套大洋科学考察船电子班报系统。系统可分为数据库、服务调用、核心接口与具体功能模块四层结构。总体结构如图3所示。

图3 大洋科学考察电子班报管理系统总体结构图

系统在.NET Framework 4.0框架下,使用C#语言进行开发,采用Microsoft SQL Server进行信息的存储与管理,ASP.NET作为B/S 模式实现。模板文本描述选用XML语言,其对B/S架构支持良好,纯文本的特性能够摆脱解析时特定编程语言的依赖,其标记语言的性质解决了模板语义的需求。所产生的模板描述内容形式如下:

……

基于注册机制的大洋科学考察电子班报系统已成功应用于大洋科学考察第34航次,稳定运行超200天。实际应用结果表明,该系统能够满足科考作业班报记录多层次需求,全面地记录科考作业的过程信息,符合实际应用需要,为大洋科学考察研究工作提供了帮助。具体界面如图4-图6所示。

图4 班报模板定制界面

图5 班报记录界面

图6 班报查询界面

4 结 语

为解决传统班报记录无法适应当前大洋科考事业发展的问题,本文深入分析了现代大洋科学考察船班报系统所面临的需求,提出了一种基于注册机制的电子班报系统解决方案。其通过对科考作业共性特征进行抽象,把描述好的班报结构化、语义化信息注册到系统中,用以指导班报功能的运作。基于该注册机制思想,本文设计实现了一套电子班报系统,在“大洋一号”远洋科考船第34次科学考察任务中投入使用,取得良好效果。系统具有如下特点:

(1) 通过注册机制实现了班报样式可自定制,提高了班报系统的可操作性与灵活性,降低了系统更新成本,实现了班报的动态升级。

(2) 通过模板使得班报功能可伸缩,根据需要的数据自由查询调用,方便了后期的历史重现与数据分析工作。

(3) 无侵入地参与到原班报作业流程中,保证了系统易用性。同时分离了用户对数据库直接操作,确保了数据操作的安全性。

[1] Borja á,Elliott M,Carstensen J,et al.Marine management-towards an integrated implementation of the European Marine Strategy Framework and the Water Framework Directives[J].Marine Pollution Bulletin,2010,60(12):2175-2186.

[2] 国务院.中共中央关于制定国民经济和社会发展第十三个五年规划的建议[Z].2015.

[3] 莫杰.我国大洋科学考察研究进展[J].科学(上海),2014,66(5):26-29.

[4] 王春生.中国首次环球大洋科学考察[J].科学(上海),2006,58(4):5-7.

[5] 陈华锋,章孝灿,陶春晖,等.大洋科考航次设计系统研究[J].浙江大学学报(工学版),2009,43(9):1743-1748.

[6] 蒋立兵.408UL地震仪器电子班报的设计应用[D].西安石油大学,2014.

[7] 王蕊,董立峰.C#软件在高炉电子班报中的应用[J].黑龙江冶金,2013,33(3):50-52.

[8] 盛堰,郑大军,李中汉,等.海洋地质调查导航班报数字化开发及应用[J].海洋技术学报,2012,31(2):18-21.

[9] 盛堰,刘方兰,蒋青吉.海洋地质调查中的班报数字化技术及应用[J].海洋地质前沿,2013,29(7):66-70.

[10] 严杰,梁建,李绍荣,等.基于WebGIS的海洋地质调查生产信息管理系统设计[J].海洋地质前沿,2013,29(6):67-70.

ANELECTRONICOPERATIONLOGSYSTEMFORMARINESCIENTIFICEXPEDITIONBASEDONREGISTRATIONMECHANISM

Zhang Ziqiao1Su Cheng1Yin Huafeng1Zhang Guoyin2Zhang Xiaocan1

1(SpatialInformationTechnologyInstitute,ZhejiangUniversity,Hangzhou310027,Zhejiang,China)2(TheSecondInstituteofOceanography,StateOceanicAdministration,Hangzhou310012,Zhejiang,China)

Operation log is an important monitoring measure for the marine scientific expedition. However, with the rapid development of marine expedition, it has been difficult for traditional log method to meet with the changing needs of scientific research. This paper launched an in-depth study in marine expedition process and proposed a method to solve this problem. The method allows users to customize their own operation log model and register it into the system. With the registered model, the system can dynamically generate the interface and storage structure of the operation log, and guide the log querying function as well. The registration mechanism solves the problems of dynamics and complexity in scientific investigation, and realizes the customization and scalability of the system. It has been successfully applied on the ship “Ocean No. 1” in marine survey No. 34, and it achieved the desired effect.

Electronic operation log Registration mechanism Marine survey Ocean

TP391

A

10.3969/j.issn.1000-386x.2017.10.015

2016-12-06。大洋“十二五”项目(DY125-11-R-01-09)。章子乔,硕士生,主研领域:地理信息系统,海洋信息化。苏程,讲师。尹华锋,硕士生。张国堙,工程师。章孝灿,教授。

猜你喜欢
科学考察中间件大洋
RFID中间件技术及其应用研究
五行真经(6)
前往大洋深处
第十章 前往大洋深处 (上篇)
基于Android 平台的OSGi 架构中间件的研究与应用
井冈山市大鲵自然保护区综合考察及其驯养保护工作探讨
广开渠道,加强科学课的实践活动
中间件在高速公路领域的应用
一种支持智能环境构建的中间件
关于徐霞客对西南地区少数民族经济学考察的讨论