■ 福建 汪水翔 韓丙亮 張豪
江西 張有為
編者按:隨著信息化的發展、計算機的普及以及網絡技術的進步,輔助決策需要的數據越來越多,標準越來越高,時效越來越強,使得原來部署在各業務部門中的單個應用系統無法有效支撐決策人員的需求。本文就融合多源數據進行綜合態勢展示方面進行研究,并以目標顯示子系統為例,對其數據采集、清洗、整編、生成產品的過程進行研究,以期找到一種通用方法來采集、整編多數據源數據,并最終在綜合態勢顯示系統上實現“一張圖”展示功能。
基于“一張圖”展現目標信息和整體態勢,受到各種決策者的認可,但在實際操作過程中遇到不少問題。有些是數據本身問題,如精度不夠;有些是政策問題,比如密級不同的數據如何接入平臺等。
在構建信息態勢綜合顯示平臺中引入目標顯示子系統進行信息態勢展示時,出現目標坐標精度不夠、數據異構等問題。本文就基于JAVAEE框架構建信息態勢綜合顯示平臺所用到的多數據源接入問題、修正目標坐標數據等問題進行探討。
信息態勢綜合顯示平臺是基于Oracle11g數據庫和JavaEE框架構建的B/S系統,主要優點是易擴展,跨平臺,能夠快速遷移至國產平臺上運行,安全性得到大大提高。
目前各業務部門在用系統大部分都是基于Window平臺構建,有C/S架構,也有單機型系統,還有極少量的B/S架構系統。用到的數據庫有Access、Oracle8、Oracle10、SqlServer2000、SqlServer2008和Mysql等等,以及其他類型的數據庫,對這些異構數據,重新采集和棄用都不可取,必須以某種方式接入到平臺加以應用,最終實現“一張圖”顯示態勢。在接入過程中有兩類方法:一是平臺在線引接業務系統數據顯示而不保存數據到本地;二是平臺定期抽取業務系統數據至本地,該方法會涉及到異構平臺數值轉換、數據清洗等問題。
目標顯示子系統除了主表的目標信息外,還附帶了目標的其他信息,如多媒體信息,包含圖片、視頻等,數據量大,在抽取過程中對系統資源和網絡資源開銷巨大,測試過程中數據量稍大就抽取失敗。此方法優點是可以把子系統數據完整備份到本地,查詢顯示速度快,不足是要對數據進行維護,而且與目標顯示子系統之間的數據同步也會占用相當的計算資源。
在線引接數據過程中同樣要占用大量的帶寬,同時在斷網情況下,功能模塊幾乎不能發揮任何作用。優點是不需要占用本地存儲資源,而且不存在數據不一致的情況,也不需要數據維護,不影響原系統的應用。
本方案主要考慮目標主信息數據量不大,抽取到本地以后可以提高目標顯示效率,同時,為目標坐標修正提供基礎數據,解決了子系統未接入時平臺無數據顯示的問題。其他信息在線查詢也解決了大量復雜數據轉換問題。

圖1 抽取主表信息到本地數據庫
混和型數據抽取模式是指將目標顯示子系統的主信息數據抽取并保存到本地,為以后的坐標修正提供數據支撐。而目標附加信息如多媒體信息、目標點其他信息等通過網絡實時在線獲取的方式而不保存到本地數據庫。這樣做的好處是既能修正采集的數據坐標信息,也不影響目標顯示子系統的數據及功能。
首先要配置多數據源,核心參數如下。
數據庫主鍵:編寫獲取數據并存入本地庫代碼時用到的多源數據標識,用來唯一標識系統內的多源數據庫,如 “srcData”。
驅動類:開發平臺引入的驅動類,因目標顯示子系統數據庫為SQL Server,所以驅動類選擇SQLServerDriver。
數據源地址:主要填寫源數據庫所在在IP地址、提供數據服務的端口和數據庫名稱,如jdbc:sqlserver://xxx.xxx.xxx.xxx:1433;Datab aseName=xxx。
數據庫名稱:提供數據服務的數據庫名稱。
用戶名和密碼:可以登錄數據庫的用戶名密碼,需要向數據庫管理員索取。
如果配置正確,點擊“測試”按鈕,顯示鏈接成功,則該數據源就配置好了,在后面開發過程中引入其主鍵就可以到相應數據庫上獲取數據了。
由于目標顯示子系統數據庫為SqlServer數據庫,本地數據庫為Oracle11g數據庫,所以在轉換過程中要考慮兩種字段的匹配。主要原理是從遠程數據庫端通過多數據源方式獲取數據,依次插入本地庫的方式,第一次全量抽取,后面可以按照計劃進行增量抽取,如圖1所示。
由于SQLServer數據庫與Oracle11g數據庫對數據的描述不一樣,因此我們要對其中的數據結構進行重新定義,轉換后的數據結構如表1所示。抽取后的數據相應填寫至本地庫對應字段中即可。
進行目標顯示子系統數據展示時,先在本地查詢相關數據在高清影像圖上掛牌顯示,通過掛牌信息查詢目標顯示子系統信息的詳細資料,比如服務區,先了解坐標位置,如果要對某個服務區進行詳細了解,可以通過掛牌上的入口進行遠程數據庫查詢。整個數據流程如圖2所示。
通過上述方法構建統一平臺上目標顯示子系統信息展示的兩種方案:一是根據地名查詢目標顯示子系統信息,支持模糊查詢;二是通過目標分類對目標進行分類展示。
(1)根據關鍵字查詢目標顯示子系統信息
通過錄入關鍵字信息,在數據庫中檢索匹配數據,支持模糊查詢,其關鍵實現代碼如下:

表1 目標顯示子系統主表信息本地化設計

圖2 數據流程圖




(2)根據目標分類樹查詢目標顯示子系統信息
點擊目標顯示子系統分類樹的節點,可以查詢該節點下的目標顯示子系統信息。其實現關鍵代碼如下所示:





圖3 調整前龍掘東服務區在圖上位置
使用中發現,由于目標顯示子系統沒有高清影像圖做參考,同時精度不夠,所以根據該地圖采集定位的坐標點一般都有不同程度的偏移。在統一平臺上展示時,能明顯看出與實際位置有偏差。
以龍掘東服務區為例來說明坐標修正過程。
從圖3上看,目標顯示子系統信息坐標點往西偏,灰色色橢圓范圍內是龍掘東服務區真正所在地,因當時定點坐標時地圖精度不夠,造成偏移,現予以糾正。
獲取鼠標坐標值,轉換為經緯度,分別填入新經度對話框和新緯度對話框中,并保存在糾偏數據庫表中,等待校驗正式入庫。
在該模塊中,通過校驗糾偏后的數據正式入庫后,就能得到上圖正確的目標上圖信息。功能實現主要基于leaflet插件,其主要核心功能代碼如下:




本文通過混合式數據抽取方案對基本信息和詳細信息分別做了本地化抽取及網絡化實時訪問的提取數據方案。
實踐證明是可行的,即使在子系統斷網狀態下,也可對目標顯示子系統信息的位置及概略信息做查詢,在聯網環境下,可以對目標顯示子系統信息做詳細查詢。本文數據抽取方案可以同類數據集成提供可行的方法及做法,具有一定的指導意義。