李 昊,冷春梅,廖 意,劉 健
(1.海軍裝備部裝備審價中心,北京 100071;2.航天東方紅衛(wèi)星有限公司,北京 100080;3.散射輻射全國重點實驗室,上海 200438)
目標特性是指目標及其相關(guān)環(huán)境可探測和可識別的固有屬性。隨著目標特性專業(yè)的不斷發(fā)展,通過仿真和測試獲取的目標特性數(shù)據(jù)的數(shù)量呈指數(shù)級增長,海量目標特性數(shù)據(jù)的存儲及管理越來越受重視。數(shù)據(jù)庫技術(shù)在目標特性數(shù)據(jù)存儲及管理方面發(fā)揮了不可替代的作用[1]。當前數(shù)據(jù)庫管理系統(tǒng)主要包括Access、SQL Server、MySQL、Oracle、HBase等。這些數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)存儲方面采用關(guān)系模型存儲矩陣式數(shù)據(jù),在數(shù)據(jù)查詢方面使用結(jié)構(gòu)化查詢語言管理和查詢數(shù)據(jù),在數(shù)據(jù)庫設(shè)計方面利用實體-聯(lián)系(entity-relationship,E-R)圖反映數(shù)據(jù)庫中各表之間的關(guān)系與表中的元素[2-4]。
目標特性數(shù)據(jù)庫種類繁多,不同類型數(shù)據(jù)庫的結(jié)構(gòu)及功能存在差異。目標特性數(shù)據(jù)庫大體可以分為三類:a)用于目標特性數(shù)據(jù)管理的數(shù)據(jù)庫;b)為模擬仿真系統(tǒng)提供數(shù)據(jù)支持的數(shù)據(jù)庫;c)為目標識別提供匹配數(shù)據(jù)的數(shù)據(jù)庫。在目標特性數(shù)據(jù)管理方面,王森等[5]基于Access數(shù)據(jù)庫管理軟件和VC++編程軟件構(gòu)建了地面目標的雷達與紅外特性數(shù)據(jù)庫,實現(xiàn)了地面目標雷達和紅外特性測試數(shù)據(jù)的統(tǒng)一規(guī)范化管理;董航等[6]基于MySQL數(shù)據(jù)庫管理系統(tǒng)構(gòu)建雷達目標信息數(shù)據(jù)表,建立雷達目標信息數(shù)據(jù)庫,并使用MySQL Workbench軟件實現(xiàn)了數(shù)據(jù)庫管理功能。在為模擬仿真系統(tǒng)提供數(shù)據(jù)支持方面,丁秀玲等[7]使用數(shù)據(jù)庫管理程序設(shè)計了運載火箭飛行仿真系統(tǒng)所需的專用數(shù)據(jù)庫,并從索引策略和結(jié)構(gòu)化查詢語言(SQL)等方面對數(shù)據(jù)庫進行優(yōu)化設(shè)計;徐濤等[8]從雷達地形數(shù)據(jù)庫在分布式飛行仿真系統(tǒng)中的組成形式和應(yīng)用模式出發(fā),分別從雷達地形建模技術(shù)分類、地形數(shù)據(jù)存儲與調(diào)度、地形多分辨率表示等方面對雷達地形數(shù)據(jù)庫構(gòu)建中的關(guān)鍵技術(shù)進行分析;游學軍[9]通過創(chuàng)建艦船信息源數(shù)據(jù)庫表與待建實時內(nèi)存數(shù)據(jù)庫表之間的格式映射模型,將源數(shù)據(jù)庫中的數(shù)據(jù)解析并轉(zhuǎn)換為XML(extensible markup language)文檔數(shù)據(jù)存入實時內(nèi)存數(shù)據(jù)庫,為艦船信息實時顯示與處理提供保障。在為目標識別提供匹配數(shù)據(jù)方面,田西蘭、王曙光等[10-11]從雷達目標識別數(shù)據(jù)的特性出發(fā),從數(shù)據(jù)來源、特征信號、目標特征、分類判決等方面進行逐級分析與設(shè)計,提出了一種雷達目標識別數(shù)據(jù)庫設(shè)計方法;劉飛等[12]基于SQL Server數(shù)據(jù)庫管理系統(tǒng)構(gòu)建了雷達輻射源信息庫和特征庫,為雷達輻射源數(shù)據(jù)管理和識別提供了支撐;聶振鋼等[13]以中分辨率成像光譜儀的地表反射率影像和全球陸地覆蓋分類圖為數(shù)據(jù)源,采用反射率影像矢量化處理方法構(gòu)建了地表反射率數(shù)據(jù)庫,為遙感衛(wèi)星成像任務(wù)規(guī)劃提供支撐。分析上述文獻可以發(fā)現(xiàn):目標特性數(shù)據(jù)庫專用性很強,現(xiàn)有研究大多針對特定的數(shù)據(jù)類型及專業(yè)用途進行定制化開發(fā);現(xiàn)有研究大多集中在數(shù)據(jù)庫構(gòu)建方法方面,不涉及數(shù)據(jù)庫分布式查詢和交互應(yīng)用。
本文面向空中目標電磁散射特性數(shù)據(jù)和紅外輻射特性數(shù)據(jù)統(tǒng)一管理及分布式查詢需求,依次設(shè)計數(shù)據(jù)庫架構(gòu)、數(shù)據(jù)庫部件單元、數(shù)據(jù)庫表及其E-R 圖,利用MySQL 數(shù)據(jù)庫管理系統(tǒng)構(gòu)建后端目標特性數(shù)據(jù)庫,提供客戶機查詢接口實現(xiàn)數(shù)據(jù)前端查詢,并構(gòu)建基于客戶機-服務(wù)器(clientserver,C-S)架構(gòu)的分布式目標特性數(shù)據(jù)庫。
本文設(shè)計的目標特性數(shù)據(jù)庫主要用于空中目標電磁散射特性數(shù)據(jù)和紅外輻射特性數(shù)據(jù)的存儲、管理和分布式查詢。
該目標特性數(shù)據(jù)庫應(yīng)具備在不同方位角、不同天頂角下,不同頻點、不同極化的目標雷達散射截面積(RCS)數(shù)據(jù)和中波、長波紅外輻射強度數(shù)據(jù)的增、刪、改、查服務(wù)功能,以及不同用戶的權(quán)限管理功能,同時應(yīng)具備友好的人機操作用戶界面。此外,該目標特性數(shù)據(jù)庫還應(yīng)以動態(tài)鏈接庫方式提供數(shù)據(jù)查詢調(diào)用接口,保證用戶可以通過調(diào)用客戶機函數(shù)查詢特定目標在特定視角下的目標特性數(shù)據(jù)。
目標特性數(shù)據(jù)庫需要存儲海量目標光電散射輻射特性數(shù)據(jù),同時要進行大量的信息交換并完成特性數(shù)據(jù)的快速查詢與處理分析。為了提高數(shù)據(jù)庫運行速度,同時實現(xiàn)分布式查詢功能,數(shù)據(jù)庫采用目前主流的C-S架構(gòu)??蛻魴C(C)通過局域網(wǎng)與數(shù)據(jù)庫服務(wù)器(S)相連,接收用戶請求,并通過網(wǎng)絡(luò)向服務(wù)器提出請求,對數(shù)據(jù)庫進行操作;數(shù)據(jù)庫服務(wù)器接收客戶機請求,將數(shù)據(jù)傳輸給客戶機,客戶機對數(shù)據(jù)進行計算處理并將結(jié)果呈現(xiàn)給用戶。
從業(yè)務(wù)架構(gòu)體系上劃分,目標特性數(shù)據(jù)庫分為展示層、業(yè)務(wù)層、服務(wù)層和基礎(chǔ)層,如圖1所示。
圖1 目標特性數(shù)據(jù)庫業(yè)務(wù)架構(gòu)示意圖
展示層主要依賴數(shù)據(jù)庫服務(wù)器端的運行服務(wù)器,通過用戶操作界面提供用戶和數(shù)據(jù)庫的交互接口;業(yè)務(wù)層用于實現(xiàn)數(shù)據(jù)庫服務(wù)器端的用戶管理、目標特性數(shù)據(jù)管理兩大業(yè)務(wù)功能和客戶機端的目標特性數(shù)據(jù)查詢業(yè)務(wù)功能;服務(wù)層對應(yīng)數(shù)據(jù)庫服務(wù)器端的底層數(shù)據(jù)庫支撐功能模塊、數(shù)據(jù)庫系統(tǒng)管理功能模塊、目標特性數(shù)據(jù)存儲功能模塊、目標特性數(shù)據(jù)業(yè)務(wù)操作功能模塊、目標特性數(shù)據(jù)服務(wù)功能模塊和客戶機端的目標特性數(shù)據(jù)遠程請求功能模塊、目標特性數(shù)據(jù)本地應(yīng)用功能模塊;基礎(chǔ)層包括支持數(shù)據(jù)庫服務(wù)器端運行的MariaDB數(shù)據(jù)庫、Redis 緩存數(shù)據(jù)庫和MinIO 文件存儲系統(tǒng)。
在技術(shù)架構(gòu)方面,目標特性數(shù)據(jù)庫的服務(wù)器端采用NGINX 作為web服務(wù)器,客戶機端基于HTTP(hypertext transfer protocol)訪問預(yù)先設(shè)定的IP(internet protocol)地址和端口,可以實現(xiàn)對數(shù)據(jù)庫服務(wù)器端的遠程訪問。數(shù)據(jù)庫服務(wù)器端和客戶機端之間的數(shù)據(jù)交換采用Active MQ 作為通信中間件。目標特性數(shù)據(jù)庫采用OAuth2授權(quán)標準和Spring Security安全管理框架實現(xiàn)訪問用戶的安全認證和權(quán)限控制;采用MinIO 作為目標特性文件的對象存儲服務(wù)器;采用輪詢策略實現(xiàn)NGINX 和MinIO 之間的鑒權(quán)和負載均衡;采用開源數(shù)據(jù)庫軟件MariaDB 作為底層管理系統(tǒng);采用Redis數(shù)據(jù)庫作為目標特性數(shù)據(jù)上傳緩存,同時基于sharding-jdbc分表開發(fā)數(shù)據(jù)庫訪問接口。目標特性數(shù)據(jù)庫技術(shù)架構(gòu)示意圖如圖2所示。
圖2 目標特性數(shù)據(jù)庫技術(shù)架構(gòu)示意圖
目標特性數(shù)據(jù)庫包括服務(wù)器端和客戶機端兩個部分。在服務(wù)器端,底層數(shù)據(jù)庫支撐功能模塊包含目標特性數(shù)據(jù)庫表和后臺管理數(shù)據(jù)庫表;數(shù)據(jù)庫系統(tǒng)管理功能模塊包含用戶、角色、安全、菜單、日志等管理相關(guān)部件單元;目標特性數(shù)據(jù)存儲功能模塊包含數(shù)據(jù)文件處理相關(guān)部件單元;目標特性業(yè)務(wù)操作功能模塊包含數(shù)據(jù)增、刪、改、查相關(guān)部件單元;目標特性數(shù)據(jù)服務(wù)功能模塊包含客戶機端請求處理相關(guān)部件單元。在客戶機端,目標特性數(shù)據(jù)遠程服務(wù)請求功能模塊包含遠程連接和加載、目標特性數(shù)據(jù)查詢等部件單元;目標特性數(shù)據(jù)本地應(yīng)用功能模塊包含目標特性數(shù)據(jù)插值計算、數(shù)據(jù)顯示等部件單元。目標特性數(shù)據(jù)庫部件單元詳見表1。
表1 目標特性數(shù)據(jù)庫部件單元
目標特性數(shù)據(jù)庫服務(wù)器端的底層數(shù)據(jù)庫支撐功能模塊作為數(shù)據(jù)庫的基礎(chǔ)支撐,包含數(shù)據(jù)庫運行中的各類數(shù)據(jù)庫表。在進行底層數(shù)據(jù)庫支撐功能模塊設(shè)計時,將所有與目標特性業(yè)務(wù)相關(guān)的數(shù)據(jù)都放在目標特性數(shù)據(jù)庫表中,而其他與用戶、角色、安全、菜單、日志等管理邏輯相關(guān)的數(shù)據(jù)都放在后臺管理數(shù)據(jù)庫表中。
目標特性數(shù)據(jù)庫表包括文件表、目標信息表、電磁散射特性數(shù)據(jù)表、紅外輻射特性數(shù)據(jù)表、數(shù)據(jù)附屬信息表、文件和附件對應(yīng)表、導入日志表、數(shù)據(jù)庫備份表等。其中:文件表用于保存導入文件的詳細信息;目標信息表用于保存用戶創(chuàng)建的目標的詳細信息;電磁散射特性數(shù)據(jù)表和紅外輻射特性數(shù)據(jù)表用于保存解析導入文件得到的目標電磁和紅外特性數(shù)據(jù);數(shù)據(jù)附屬信息表用于保存導入文件的附屬信息;文件和附件對應(yīng)表用于保存導入文件的批次和附件ID(identity document)信息;導入日志表用于保存數(shù)據(jù)入庫過程中產(chǎn)生的日志信息;數(shù)據(jù)庫備份表用于保存源數(shù)據(jù)備份文件的相關(guān)信息。目標特性數(shù)據(jù)庫表的E-R 圖及其包含的各數(shù)據(jù)庫表內(nèi)詳細信息如圖3所示。
圖3 目標特性數(shù)據(jù)庫表的E-R 圖
后臺管理數(shù)據(jù)庫表包括菜單表、系統(tǒng)用戶表、用戶對應(yīng)的單位表、角色權(quán)限表、角色表、權(quán)限表、組織機構(gòu)表、系統(tǒng)用戶角色表、角色菜單表、操作日志表、異常日志查詢表等。其中:菜單表用于保存數(shù)據(jù)庫菜單欄信息;系統(tǒng)用戶表用于保存數(shù)據(jù)庫系統(tǒng)中的所有用戶信息;用戶對應(yīng)的單位表用于保存用戶對應(yīng)的組織機構(gòu)信息;角色權(quán)限表用于保存角色包含的權(quán)限信息;角色表、權(quán)限表、組織機構(gòu)表分別用于保存數(shù)據(jù)庫中的所有角色信息、權(quán)限信息和組織機構(gòu)信息;系統(tǒng)用戶角色表用于保存系統(tǒng)用戶的角色信息;角色菜單表用于保存角色創(chuàng)建的菜單信息;操作日志表用于保存用戶的關(guān)鍵操作日志信息;異常日志查詢表用于保存用戶操作不當引起的異常信息。后臺管理數(shù)據(jù)庫表的E-R 圖及其包含的各數(shù)據(jù)庫表內(nèi)詳細信息如圖4所示。
圖4 后臺管理數(shù)據(jù)庫表的E-R 圖
數(shù)據(jù)庫服務(wù)器端的目標特性數(shù)據(jù)是以頭文件和數(shù)據(jù)域的形式儲存在電磁散射特性數(shù)據(jù)表和紅外輻射特性數(shù)據(jù)表中的。電磁散射特性數(shù)據(jù)表的頭文件包含目標名稱、數(shù)據(jù)類型、頻率/極化方式等信息,紅外輻射特性數(shù)據(jù)表的頭文件包含目標名稱、數(shù)據(jù)類型、波段等信息。RCS 數(shù)據(jù)和紅外輻射強度數(shù)據(jù)是以二維矩陣的形式存儲在數(shù)據(jù)域中的,目標天頂角隨矩陣行數(shù)變化,目標方位角隨矩陣列數(shù)變化。
在進行目標特性數(shù)據(jù)查詢時,用戶通過客戶機端輸入目標名稱、數(shù)據(jù)類型、頻率/波段、方位角和天頂角共五個查詢參數(shù)。查詢算法會根據(jù)目標名稱、數(shù)據(jù)類型、頻率/波段三個查詢參數(shù)檢索到對應(yīng)的目標特性數(shù)據(jù)域矩陣,再根據(jù)用戶輸入查詢的方位角和天頂角,采用雙線性插值算法計算出用戶所需的目標特性數(shù)據(jù)Vq。Vq的計算公式為
式中:Aq和Zq分別為用戶輸入查詢的方位角和天頂角;A1和A2為二維矩陣中與Aq最接近的兩個方位角;Z1和Z2為二維矩陣中與Zq最接近的兩個天頂角;V11為二維矩陣中天頂角Z1和方位角A1位置處的目標特性數(shù)據(jù);V12為二維矩陣中天頂角Z1和方位角A2位置處的目標特性數(shù)據(jù);V21為二維矩陣中天頂角Z2和方位角A1位置處的目標特性數(shù)據(jù);V22為二維矩陣中天頂角Z2和方位角A2位置處的目標特性數(shù)據(jù)。
將某空中目標在頻率為16 GHz、VV 極化下的RCS數(shù)據(jù)和中波波段的紅外輻射強度數(shù)據(jù)導入目標特性數(shù)據(jù)庫。導入的目標RCS和紅外輻射強度數(shù)據(jù)對應(yīng)的方位角和天頂角均覆蓋0°~180°,且角度分辨率均為0.5°。圖5和圖6分別給出了客戶機端調(diào)用數(shù)據(jù)顯示功能生成的該空中目標的RCS數(shù)據(jù)空間分布和中波紅外輻射強度數(shù)據(jù)空間分布,圖中天頂角沿水平方向增大,方位角沿垂直方向增大。
圖5 目標RCS數(shù)據(jù)空間分布圖
圖6 目標中波紅外輻射強度數(shù)據(jù)空間分布圖
在進行目標特性數(shù)據(jù)查詢時,由于用戶輸入查詢的目標方位角和天頂角與存儲的數(shù)據(jù)可能不完全一致,需要采用式(1)的插值算法進行目標特性數(shù)據(jù)的插值計算,得到用戶查詢的目標特性數(shù)據(jù)。利用客戶機端目標特性數(shù)據(jù)查詢功能,查詢在方位角為1.8°、天頂角為92.2°的位置處,該空中目標在頻率為16 GHz、VV 極化下的RCS 為18.162 dBsm,中波紅外輻射強度為9.074 W/sr。
本文面向目標電磁散射特性數(shù)據(jù)和紅外輻射特性數(shù)據(jù)的存儲、管理和分布式查詢需求,分別對數(shù)據(jù)庫業(yè)務(wù)架構(gòu)和技術(shù)架構(gòu)進行設(shè)計,根據(jù)數(shù)據(jù)庫服務(wù)器端和客戶機端功能需求,設(shè)計了數(shù)據(jù)庫部件單元、數(shù)據(jù)庫表及其E-R 圖,根據(jù)導入的目標特性數(shù)據(jù)格式設(shè)計了雙線性插值數(shù)據(jù)查詢算法,提出了一種基于C-S架構(gòu)的數(shù)據(jù)庫設(shè)計方法。采用該方法設(shè)計的目標特性數(shù)據(jù)庫可以實現(xiàn)目標特性數(shù)據(jù)后端統(tǒng)一管理,具備分布式查詢功能。該方法為海量目標特性數(shù)據(jù)存儲、管理提供了解決方案。