章子喬 蘇 程 尹華鋒 張國堙 章孝燦
1(浙江大學空間信息技術研究所 浙江 杭州 310027)
2(國家海洋局第二海洋研究所 浙江 杭州 310012)
一種基于注冊機制的大洋科學考察船電子班報系統(tǒng)
章子喬1蘇 程1尹華鋒1張國堙2章孝燦1
1(浙江大學空間信息技術研究所 浙江 杭州 310027)
2(國家海洋局第二海洋研究所 浙江 杭州 310012)
班報是大洋科學考察重要的監(jiān)控措施與管理手段,然而隨著科考事業(yè)的發(fā)展,傳統(tǒng)班報已難以滿足不斷變化的科考需求。通過對科考作業(yè)進行深入分析,提出一種基于注冊機制的電子班報解決方法。該方法抽象出大洋班報描述框架,提供班報自定制功能。所定制的班報模板被注冊到系統(tǒng)中,動態(tài)生成班報界面與存儲結構,指導班報記錄的查詢。這種注冊機制方法解決了科學考察作業(yè)的動態(tài)性與復雜性難題,實現(xiàn)了系統(tǒng)的可定制與可伸縮?;谒鶎崿F(xiàn)的“大洋一號”遠洋科考船電子班報系統(tǒng),在大洋科學考察第34航次上成功試運行,達到了預期效果。
電子班報 注冊機制 大洋科學考察 海洋
在陸地資源逐漸匱乏的今天,海洋作為集資源、經(jīng)濟、生態(tài)于一體的藍色空間,得到各國愈來愈多地關注[1]。我國在“十三五”規(guī)劃中明確指出要科學開發(fā)海洋資源,加大海洋事業(yè)投入力度[2],但由于海洋具有一定的未知性與多態(tài)性,相關事業(yè)的順利開展依賴于大洋科學考察這一基礎性研究工作[3]。而大洋科學考察作為一項單次歷時較長的重大工程,本身又面臨著來自復雜性與動態(tài)性的挑戰(zhàn),可重復性較差,難以再現(xiàn)當次出航考察環(huán)境[4-5]。針對此問題,科考工作者們經(jīng)過長期摸索,選擇了采用大洋科考班報解決可重復性差難題。大洋科考班報是伴隨科考作業(yè)的記錄任務,它要求以報表形式嚴格記錄下科考作業(yè)時的環(huán)境數(shù)據(jù),進行過程把控。當后續(xù)研究環(huán)節(jié)出現(xiàn)問題時,班報起著至關重要的反演核對作用。
班報早期以紙質媒介為載體,然而隨著行業(yè)發(fā)展,其記錄內容日趨復雜,傳統(tǒng)紙質班報出現(xiàn)了收集難度高、可讀性差等問題,已難滿足現(xiàn)代需求[6-7]。于是后期出現(xiàn)了一些電子班報系統(tǒng)對其進行數(shù)字化升級,力圖在填寫記錄、數(shù)據(jù)獲取、存儲入庫等方面提高可用性。如在海洋地質調查中投入使用的電子班報系統(tǒng),對數(shù)據(jù)成圖工作及室內研究有不錯的支持,但其功能擴展并不友好,班報制定依賴于系統(tǒng)整體的開發(fā)升級[8-9]。有的電子班報系統(tǒng)還與工作流相結合,實現(xiàn)了作業(yè)流程的直觀展現(xiàn),然而其優(yōu)勢更多體現(xiàn)在過程可視化方面,班報相關的導出展現(xiàn)功能還有待改善[10]。這些電子班報系統(tǒng)都為班報智能化探索提供了寶貴的研究資料,但他們在設計上仍延續(xù)了傳統(tǒng)紙質班報思路,離智能化目標存在一定差距??偨Y起來當前班報系統(tǒng)存在以下幾點不足:(1) 班報結構在系統(tǒng)開發(fā)時已被固定,無法解決班報內容變更問題。(2) 數(shù)據(jù)導出依賴于錄入格式,不能按需導出。(3) 系統(tǒng)耦合性過高,難以擴展。
針對上述不足,本文分析了當代班報核心需求,提出了一種注冊方式的解決思路。其通過抽象班報共同特征,對用戶自定義的班報描述文件進行注冊,圍繞其開展班報系列功能的運作。依照該注冊思路,本文實現(xiàn)了一套大洋科學考察電子班報系統(tǒng)。其支持用戶自定義班報模板,控制班報的存儲格式、錄入界面與輸出樣式,達到了動態(tài)適應科考作業(yè)需求的目的,為大洋科學考察提供了一套智能化的班報記錄管理工具。
傳統(tǒng)班報方案針對的是大洋科考作業(yè)的可重復性差問題,目標單一,手段落后。而對于深層次的復雜性與動態(tài)性問題,現(xiàn)代大洋科考班報系統(tǒng)面臨四大需求升級:
(1) 安全性:大洋科學考察面臨著作業(yè)時間長、工作環(huán)境惡劣等諸多挑戰(zhàn),而電子設備較之紙質記錄手段更容易出現(xiàn)突發(fā)狀況,所以班報系統(tǒng)要強調系統(tǒng)的穩(wěn)定與數(shù)據(jù)的安全。
(2) 可定制:首席科學家等決策者常會根據(jù)實際情況調整班報。且班報所記錄的儀器信息多種多樣,豐富的記錄對象與任意組合的特性使得班報樣式千變萬化。這些都說明系統(tǒng)固定班報樣式的做法不可取,需要讓用戶能夠自由定制班報。
(3) 可伸縮:系統(tǒng)并不知道未來會出現(xiàn)何種班報,相關班報功能應在這種不確定性下正常運作,隨班報的變化而伸縮調整。
(4) 易用性:班報可定制與功能可伸縮帶來了一定的復雜性。所以要求系統(tǒng)模塊設計合理,易于擴展。同時要求功能操作的簡單方便,避免過復雜的流程對工作人員操作造成障礙。
以上需求宏觀上體現(xiàn)了相較于傳統(tǒng)班報的差異,若細化到功能層次,則系統(tǒng)應具備如下特性:
(1) 填寫約束
系統(tǒng)應對所填內容進行約束。如規(guī)定填入數(shù)據(jù)的精度,為一些填寫內容提供可選項,模擬簽名所具有的代表效力等,為數(shù)據(jù)的準確性及安全性提供保障。
(2) 抽象描述
要在用戶層面對班報實現(xiàn)可定制,系統(tǒng)必須抽象出班報描述的規(guī)則,基于規(guī)則提供相關工具讓用戶可自行設計,避免每次定制都需要修改底層代碼。
(3) 班報升級
大洋科考動態(tài)性使得所涉及的學科與設備日新月異,班報也隨之面臨升級換代的實際需求。而在升級過程中,如何發(fā)揮歷史班報的復用價值,為升級班報提供幫助,使升級過程盡量簡單,是一個需要解決的問題。
(4) 系統(tǒng)兼容
大洋科考內容升級過程中,班報可能會出現(xiàn)兼容性相關問題。問題既存在于數(shù)據(jù)層次,如班報形式變化而內容不變,也出現(xiàn)在系統(tǒng)層次,如需要考慮對新增功能的支持,還可能與平臺有關,希望系統(tǒng)在多種終端下能正常運作,它們都對系統(tǒng)設計的兼容性提出了一定要求。
(5) 調用方便
后續(xù)班報分析工作均基于對已有班報記錄數(shù)據(jù)的處理,所以數(shù)據(jù)調用也應和班報設計一樣具有動態(tài)特點。較之傳統(tǒng)班報,數(shù)據(jù)調用應提供多樣的篩選工具,使操作從單張報表級別升級到具體數(shù)據(jù)項,這樣才能提升數(shù)據(jù)使用效率。
本文提出了一套基于注冊機制的電子班報管理方法解決上述需求問題。該方法通過抽象大洋科考班報特征,對其進行定制設計,將定制結果予以注冊管理,進而指導班報的填寫與查詢工作。機制框架包含模板定制器、注冊中間件、班報記錄與班報查詢四大模塊。各模塊相互協(xié)作,圍繞所注冊模板實現(xiàn)了電子班報系統(tǒng)動態(tài)性。
模板定制器為班報模板生產(chǎn)者,實現(xiàn)了用戶自定義班報功能。其內可視化組件提供了圖形交互界面,簡化了定制操作步驟。文本描述組件則對可視化設計結果進行解析,將班報模板以通用文本格式傳入到注冊中間件。滿足了大洋科考班報系統(tǒng)的可定制與易用性需求。
注冊中間件為方法核心模塊,管理所定制班報模板,為其他模塊提供了注冊模板調用接口。其內有模板倉庫與模板解析器兩大組件,模板倉庫對所定制的模板進行持久化操作,保證模板的可復用與檢索的高效。模板解析器解析模板文本描述,轉化為供記錄與查詢模塊使用的班報描述對象。注冊中間件對兩者功能進行了封裝,將模板相關操作與其他模塊分離開來,實現(xiàn)了注冊核心功能的高內聚,保證了系統(tǒng)易用性,同時有利于其他功能模塊的伸縮擴展。
班報記錄模塊從注冊中間件獲取班報描述對象,根據(jù)其內信息指導班報生成,供用戶記錄填寫。其內組件動態(tài)生成與模板信息對應的數(shù)據(jù)庫結構與班報填寫界面,關聯(lián)了班報模板、班報填寫表單與存儲數(shù)據(jù)庫。用戶填寫時無需知曉班報生成細節(jié),操作體驗與傳統(tǒng)方式相近,保證了系統(tǒng)的易用性。
班報查詢模塊動態(tài)獲取班報記錄數(shù)據(jù)。其內組件根據(jù)數(shù)據(jù)庫與注冊模板的關聯(lián)關系,組合拼裝查詢語言,從不同粒度獲取班報數(shù)據(jù)。查詢過程屏蔽了用戶與數(shù)據(jù)庫直接操作,實現(xiàn)了數(shù)據(jù)獲取的可伸縮,同時也保證了系統(tǒng)的安全。注冊機制框架如圖1所示。
圖1 注冊機制框架
班報模板對注冊機制起著至關重要的作用,它所包含的定制信息指導著班報的生成與查詢,實現(xiàn)了系統(tǒng)的動態(tài)性。這便要求其信息描述符合大洋科考班報自身特點,兼具代表性與靈活性。本文通過總結眾多大洋科考班報,把班報模板抽象為報表、數(shù)據(jù)集與數(shù)據(jù)項三級結構,內置相關屬性標注進行語義說明,在此框架下供用戶組合設置,定制所需的科考班報模板。模板設計的三層結構如圖2所示。
圖2 模板設計三級結構示意圖
1) 報表 報表是必須設置的頂級結構。其內設有唯一標識屬性、名稱屬性與類別屬性。唯一標識由注冊中間件自動生成。名稱屬性可與其他班報模板重復,以解決前文所述的大洋科考班報升級問題。而類別屬性則用以描述升級或同類關系。
2) 數(shù)據(jù)集 數(shù)據(jù)集是數(shù)據(jù)項集合的容器,可以組合嵌套,用以描述數(shù)據(jù)項集群屬性。文本除基礎的自定義數(shù)據(jù)集外,還抽象出基本信息集、作業(yè)記錄集與審核集三種類型。
基本信息集中一般包含船舶運行的基礎數(shù)據(jù),如時間、經(jīng)緯度、航次海區(qū)等,用來記錄科考作業(yè)時的宏觀環(huán)境背景。此數(shù)據(jù)集內容復用最多,在實際大洋科考過程中某次作業(yè)所填寫內容可能大都相同,所以提供了默認屬性,對上次填寫結果進行保留,減少用戶工作量。
作業(yè)記錄集涉及儀器運行信息,其內數(shù)據(jù)相對復雜,記錄了單次使用科考儀器時的相關數(shù)據(jù),為班報記錄主要內容。作業(yè)記錄集中的數(shù)據(jù)項一般會以組合的形式重復出現(xiàn),本文設置了重復屬性對其指示。
審核集所含數(shù)據(jù)項多為人員類型,記錄了班報整表的相關責任人。因此本文設置了責任人屬性,以在班報填寫完成時,交付責任人查看,起到審核作用。
3) 數(shù)據(jù)項 數(shù)據(jù)項為基礎結構,通常以標簽、值與補充說明相組合的形式存在,用以描述班報填寫具體項。標簽記錄了數(shù)據(jù)項名稱,補充說明了數(shù)據(jù)單位或注意事項,二者皆為文本信息。而值是數(shù)據(jù)項中關鍵部分,設有填入方式屬性以區(qū)別鍵入、單選與多選,值類型屬性指明文本、數(shù)值或人員。對于數(shù)值類型,還可增設大小、精度等可選的說明屬性,用以對填入數(shù)值進行約束,減少班報使用過程中的人為失誤。
模板定制流程基于上述設計規(guī)范開展。指定工作人員通過模板定制器設計班報模板,可選擇基于已注冊的模板進行改造,或創(chuàng)建新的模板自行設計。
無論改造還是新建,具體設計過程一般由可視化設計組件完成,其提供了上述抽象結構的示例圖形,用戶可通過拖拽它們調整結構關系,也可對其編輯來制定語義屬性,從而完成直觀的設計操作。
設計完成后向注冊中間件傳入定制模板,傳入的內容由文本描述組件生成。該組件把可視化設計內容解析為模板文本描述,實現(xiàn)了二者的自由轉換。
注冊中間件負責模板注冊、可查集輸出以及班報描述對象輸出三大功能。
(1) 模板注冊負責對模板進行存儲。傳入模板文本描述后,注冊中間件首先將其交給內部模板解析器。模板解析器負責從文本描述中獲取定制信息,其通過結構解析遍歷文本描述,獲取班報結構的組合嵌套關系,語義解析掃描各結構的屬性標注,獲取語義說明信息。模板解析器提取出報表結構的唯一標識、名稱與類別信息,與原模板文本描述一起傳入模板倉庫。模板倉庫根據(jù)唯一標識判斷新建還是修改,再與名稱、類別、生成時間、修改時間信息以及模板文本描述一齊存入,完成注冊。
(2) 可查集輸出為模板查詢提供幫助,陳列已注冊班報模板的基本信息。注冊中間件收到請求后,在模板倉庫中可根據(jù)名稱、類型、時間等查詢條件搜索,將滿足條件的條目輸出,輸出內容不包括模板文本描述,只含有基本信息。若無查詢條件則默認輸出所有注冊模板。
(3) 班報描述對象輸出負責提供解析后的班報描述。注冊中間件收到含有模板唯一標識的請求后,在模板倉庫中取出相應條目里的模板文本描述,交由模板解析器提取全部信息,把這些信息組裝成與開發(fā)語言相關的班報描述對象,返回給請求方使用。
基于模板定制與注冊,班報記錄模塊根據(jù)班報描述對象動態(tài)生成班報數(shù)據(jù)庫與填寫界面。當有記錄需求,班報記錄模塊向注冊中間件發(fā)出可查集請求,獲取已注冊班報模板信息,作為可用班報選項。工作人員選擇其中某一班報后,記錄模塊再次向注冊中間件發(fā)送具體班報模板的唯一標識請求,獲取班報描述對象。
班報記錄模塊獲得班報描述對象后,判斷班報數(shù)據(jù)庫中對應結構是否已經(jīng)生成,若沒有則把班報描述對象交予其內數(shù)據(jù)庫初始化組件。根據(jù)其所含的班報結構信息,動態(tài)生成班報數(shù)據(jù)庫表結構,依據(jù)語義信息,規(guī)定相應數(shù)據(jù)表中的字段類型。
其后班報表單初始化組件開始生成填寫用的表單界面。其使用班報描述對象中的結構信息,結合用戶自選的界面風格,動態(tài)生成前端班報填寫界面。同時依據(jù)語義信息加載前端控件,對填寫進行一定約束。用戶界面展現(xiàn)完成后,表單初始化組件還負責前端填入與數(shù)據(jù)庫的相連,由于二者皆依據(jù)班報描述對象動態(tài)生成,班報表單初始化組件能方便的組裝數(shù)據(jù)庫寫入語句,把前端表單所填數(shù)據(jù)寫入數(shù)據(jù)庫中。至此,班報動態(tài)生成完畢,工作人員可對班報進行填寫,進行科考業(yè)務相關記錄。
由于班報記錄的存儲同樣基于模板定制內容,所以班報查詢模塊會根據(jù)班報描述對象動態(tài)獲取班報數(shù)據(jù)。用戶首先依據(jù)可查集信息獲取班報描述對象,憑借它與班報數(shù)據(jù)庫間的映射關系,可獲知目標班報的所有字段信息。因報表中的作業(yè)記錄集具有重復屬性,后續(xù)班報數(shù)據(jù)查詢步驟分為基本信息與作業(yè)記錄兩種粒度。
基本信息指科考儀器連續(xù)記錄時的綜合船行環(huán)境,可作為作業(yè)記錄數(shù)據(jù)的目錄。其組件從班報描述對象中提取基本信息集的所有數(shù)據(jù)項,作為查詢字段名,與用戶指定的查詢條件一起組裝成查詢語句,獲取某次科考作業(yè)班報的基本信息。
作業(yè)記錄指某次作業(yè)時的一連串儀器信息。用戶選擇對應某張班報的基本信息后,作業(yè)記錄獲取組件再次使用班報描述對象中的數(shù)據(jù)項信息,結合所選基本信息,組裝查詢語句,獲取全部儀器記錄,展現(xiàn)完整班報。
基于所提出的注冊機制,本文設計并開發(fā)了一套大洋科學考察船電子班報系統(tǒng)。系統(tǒng)可分為數(shù)據(jù)庫、服務調用、核心接口與具體功能模塊四層結構。總體結構如圖3所示。
圖3 大洋科學考察電子班報管理系統(tǒng)總體結構圖
系統(tǒng)在.NET Framework 4.0框架下,使用C#語言進行開發(fā),采用Microsoft SQL Server進行信息的存儲與管理,ASP.NET作為B/S 模式實現(xiàn)。模板文本描述選用XML語言,其對B/S架構支持良好,純文本的特性能夠擺脫解析時特定編程語言的依賴,其標記語言的性質解決了模板語義的需求。所產(chǎn)生的模板描述內容形式如下:
……
基于注冊機制的大洋科學考察電子班報系統(tǒng)已成功應用于大洋科學考察第34航次,穩(wěn)定運行超200天。實際應用結果表明,該系統(tǒng)能夠滿足科考作業(yè)班報記錄多層次需求,全面地記錄科考作業(yè)的過程信息,符合實際應用需要,為大洋科學考察研究工作提供了幫助。具體界面如圖4-圖6所示。
圖4 班報模板定制界面
圖5 班報記錄界面
圖6 班報查詢界面
為解決傳統(tǒng)班報記錄無法適應當前大洋科考事業(yè)發(fā)展的問題,本文深入分析了現(xiàn)代大洋科學考察船班報系統(tǒng)所面臨的需求,提出了一種基于注冊機制的電子班報系統(tǒng)解決方案。其通過對科考作業(yè)共性特征進行抽象,把描述好的班報結構化、語義化信息注冊到系統(tǒng)中,用以指導班報功能的運作?;谠撟詸C制思想,本文設計實現(xiàn)了一套電子班報系統(tǒng),在“大洋一號”遠洋科考船第34次科學考察任務中投入使用,取得良好效果。系統(tǒng)具有如下特點:
(1) 通過注冊機制實現(xiàn)了班報樣式可自定制,提高了班報系統(tǒng)的可操作性與靈活性,降低了系統(tǒng)更新成本,實現(xiàn)了班報的動態(tài)升級。
(2) 通過模板使得班報功能可伸縮,根據(jù)需要的數(shù)據(jù)自由查詢調用,方便了后期的歷史重現(xiàn)與數(shù)據(jù)分析工作。
(3) 無侵入地參與到原班報作業(yè)流程中,保證了系統(tǒng)易用性。同時分離了用戶對數(shù)據(jù)庫直接操作,確保了數(shù)據(jù)操作的安全性。
[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] 國務院.中共中央關于制定國民經(jīng)濟和社會發(fā)展第十三個五年規(guī)劃的建議[Z].2015.
[3] 莫杰.我國大洋科學考察研究進展[J].科學(上海),2014,66(5):26-29.
[4] 王春生.中國首次環(huán)球大洋科學考察[J].科學(上海),2006,58(4):5-7.
[5] 陳華鋒,章孝燦,陶春暉,等.大洋科考航次設計系統(tǒng)研究[J].浙江大學學報(工學版),2009,43(9):1743-1748.
[6] 蔣立兵.408UL地震儀器電子班報的設計應用[D].西安石油大學,2014.
[7] 王蕊,董立峰.C#軟件在高爐電子班報中的應用[J].黑龍江冶金,2013,33(3):50-52.
[8] 盛堰,鄭大軍,李中漢,等.海洋地質調查導航班報數(shù)字化開發(fā)及應用[J].海洋技術學報,2012,31(2):18-21.
[9] 盛堰,劉方蘭,蔣青吉.海洋地質調查中的班報數(shù)字化技術及應用[J].海洋地質前沿,2013,29(7):66-70.
[10] 嚴杰,梁建,李紹榮,等.基于WebGIS的海洋地質調查生產(chǎn)信息管理系統(tǒng)設計[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)。章子喬,碩士生,主研領域:地理信息系統(tǒng),海洋信息化。蘇程,講師。尹華鋒,碩士生。張國堙,工程師。章孝燦,教授。