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