基于客户机-服务器架构的目标特性数据库设计

2023-10-10 02:47冷春梅
制导与引信 2023年3期
关键词:顶角客户机服务器端

李 昊,冷春梅,廖 意,刘 健

(1.海军装备部装备审价中心,北京 100071;2.航天东方红卫星有限公司,北京 100080;3.散射辐射全国重点实验室,上海 200438)

0 引言

目标特性是指目标及其相关环境可探测和可识别的固有属性。随着目标特性专业的不断发展,通过仿真和测试获取的目标特性数据的数量呈指数级增长,海量目标特性数据的存储及管理越来越受重视。数据库技术在目标特性数据存储及管理方面发挥了不可替代的作用[1]。当前数据库管理系统主要包括Access、SQL Server、MySQL、Oracle、HBase等。这些数据库管理系统在数据存储方面采用关系模型存储矩阵式数据,在数据查询方面使用结构化查询语言管理和查询数据,在数据库设计方面利用实体-联系(entity-relationship,E-R)图反映数据库中各表之间的关系与表中的元素[2-4]。

目标特性数据库种类繁多,不同类型数据库的结构及功能存在差异。目标特性数据库大体可以分为三类:a)用于目标特性数据管理的数据库;b)为模拟仿真系统提供数据支持的数据库;c)为目标识别提供匹配数据的数据库。在目标特性数据管理方面,王森等[5]基于Access数据库管理软件和VC++编程软件构建了地面目标的雷达与红外特性数据库,实现了地面目标雷达和红外特性测试数据的统一规范化管理;董航等[6]基于MySQL数据库管理系统构建雷达目标信息数据表,建立雷达目标信息数据库,并使用MySQL Workbench软件实现了数据库管理功能。在为模拟仿真系统提供数据支持方面,丁秀玲等[7]使用数据库管理程序设计了运载火箭飞行仿真系统所需的专用数据库,并从索引策略和结构化查询语言(SQL)等方面对数据库进行优化设计;徐涛等[8]从雷达地形数据库在分布式飞行仿真系统中的组成形式和应用模式出发,分别从雷达地形建模技术分类、地形数据存储与调度、地形多分辨率表示等方面对雷达地形数据库构建中的关键技术进行分析;游学军[9]通过创建舰船信息源数据库表与待建实时内存数据库表之间的格式映射模型,将源数据库中的数据解析并转换为XML(extensible markup language)文档数据存入实时内存数据库,为舰船信息实时显示与处理提供保障。在为目标识别提供匹配数据方面,田西兰、王曙光等[10-11]从雷达目标识别数据的特性出发,从数据来源、特征信号、目标特征、分类判决等方面进行逐级分析与设计,提出了一种雷达目标识别数据库设计方法;刘飞等[12]基于SQL Server数据库管理系统构建了雷达辐射源信息库和特征库,为雷达辐射源数据管理和识别提供了支撑;聂振钢等[13]以中分辨率成像光谱仪的地表反射率影像和全球陆地覆盖分类图为数据源,采用反射率影像矢量化处理方法构建了地表反射率数据库,为遥感卫星成像任务规划提供支撑。分析上述文献可以发现:目标特性数据库专用性很强,现有研究大多针对特定的数据类型及专业用途进行定制化开发;现有研究大多集中在数据库构建方法方面,不涉及数据库分布式查询和交互应用。

本文面向空中目标电磁散射特性数据和红外辐射特性数据统一管理及分布式查询需求,依次设计数据库架构、数据库部件单元、数据库表及其E-R 图,利用MySQL 数据库管理系统构建后端目标特性数据库,提供客户机查询接口实现数据前端查询,并构建基于客户机-服务器(clientserver,C-S)架构的分布式目标特性数据库。

1 数据库需求及功能分析

本文设计的目标特性数据库主要用于空中目标电磁散射特性数据和红外辐射特性数据的存储、管理和分布式查询。

该目标特性数据库应具备在不同方位角、不同天顶角下,不同频点、不同极化的目标雷达散射截面积(RCS)数据和中波、长波红外辐射强度数据的增、删、改、查服务功能,以及不同用户的权限管理功能,同时应具备友好的人机操作用户界面。此外,该目标特性数据库还应以动态链接库方式提供数据查询调用接口,保证用户可以通过调用客户机函数查询特定目标在特定视角下的目标特性数据。

2 基于C-S架构的数据库设计

2.1 数据库架构设计

目标特性数据库需要存储海量目标光电散射辐射特性数据,同时要进行大量的信息交换并完成特性数据的快速查询与处理分析。为了提高数据库运行速度,同时实现分布式查询功能,数据库采用目前主流的C-S架构。客户机(C)通过局域网与数据库服务器(S)相连,接收用户请求,并通过网络向服务器提出请求,对数据库进行操作;数据库服务器接收客户机请求,将数据传输给客户机,客户机对数据进行计算处理并将结果呈现给用户。

从业务架构体系上划分,目标特性数据库分为展示层、业务层、服务层和基础层,如图1所示。

图1 目标特性数据库业务架构示意图

展示层主要依赖数据库服务器端的运行服务器,通过用户操作界面提供用户和数据库的交互接口;业务层用于实现数据库服务器端的用户管理、目标特性数据管理两大业务功能和客户机端的目标特性数据查询业务功能;服务层对应数据库服务器端的底层数据库支撑功能模块、数据库系统管理功能模块、目标特性数据存储功能模块、目标特性数据业务操作功能模块、目标特性数据服务功能模块和客户机端的目标特性数据远程请求功能模块、目标特性数据本地应用功能模块;基础层包括支持数据库服务器端运行的MariaDB数据库、Redis 缓存数据库和MinIO 文件存储系统。

在技术架构方面,目标特性数据库的服务器端采用NGINX 作为web服务器,客户机端基于HTTP(hypertext transfer protocol)访问预先设定的IP(internet protocol)地址和端口,可以实现对数据库服务器端的远程访问。数据库服务器端和客户机端之间的数据交换采用Active MQ 作为通信中间件。目标特性数据库采用OAuth2授权标准和Spring Security安全管理框架实现访问用户的安全认证和权限控制;采用MinIO 作为目标特性文件的对象存储服务器;采用轮询策略实现NGINX 和MinIO 之间的鉴权和负载均衡;采用开源数据库软件MariaDB 作为底层管理系统;采用Redis数据库作为目标特性数据上传缓存,同时基于sharding-jdbc分表开发数据库访问接口。目标特性数据库技术架构示意图如图2所示。

图2 目标特性数据库技术架构示意图

2.2 数据库部件单元设计

目标特性数据库包括服务器端和客户机端两个部分。在服务器端,底层数据库支撑功能模块包含目标特性数据库表和后台管理数据库表;数据库系统管理功能模块包含用户、角色、安全、菜单、日志等管理相关部件单元;目标特性数据存储功能模块包含数据文件处理相关部件单元;目标特性业务操作功能模块包含数据增、删、改、查相关部件单元;目标特性数据服务功能模块包含客户机端请求处理相关部件单元。在客户机端,目标特性数据远程服务请求功能模块包含远程连接和加载、目标特性数据查询等部件单元;目标特性数据本地应用功能模块包含目标特性数据插值计算、数据显示等部件单元。目标特性数据库部件单元详见表1。

表1 目标特性数据库部件单元

2.3 数据库表及其E-R图设计

目标特性数据库服务器端的底层数据库支撑功能模块作为数据库的基础支撑,包含数据库运行中的各类数据库表。在进行底层数据库支撑功能模块设计时,将所有与目标特性业务相关的数据都放在目标特性数据库表中,而其他与用户、角色、安全、菜单、日志等管理逻辑相关的数据都放在后台管理数据库表中。

目标特性数据库表包括文件表、目标信息表、电磁散射特性数据表、红外辐射特性数据表、数据附属信息表、文件和附件对应表、导入日志表、数据库备份表等。其中:文件表用于保存导入文件的详细信息;目标信息表用于保存用户创建的目标的详细信息;电磁散射特性数据表和红外辐射特性数据表用于保存解析导入文件得到的目标电磁和红外特性数据;数据附属信息表用于保存导入文件的附属信息;文件和附件对应表用于保存导入文件的批次和附件ID(identity document)信息;导入日志表用于保存数据入库过程中产生的日志信息;数据库备份表用于保存源数据备份文件的相关信息。目标特性数据库表的E-R 图及其包含的各数据库表内详细信息如图3所示。

图3 目标特性数据库表的E-R 图

后台管理数据库表包括菜单表、系统用户表、用户对应的单位表、角色权限表、角色表、权限表、组织机构表、系统用户角色表、角色菜单表、操作日志表、异常日志查询表等。其中:菜单表用于保存数据库菜单栏信息;系统用户表用于保存数据库系统中的所有用户信息;用户对应的单位表用于保存用户对应的组织机构信息;角色权限表用于保存角色包含的权限信息;角色表、权限表、组织机构表分别用于保存数据库中的所有角色信息、权限信息和组织机构信息;系统用户角色表用于保存系统用户的角色信息;角色菜单表用于保存角色创建的菜单信息;操作日志表用于保存用户的关键操作日志信息;异常日志查询表用于保存用户操作不当引起的异常信息。后台管理数据库表的E-R 图及其包含的各数据库表内详细信息如图4所示。

图4 后台管理数据库表的E-R 图

2.4 客户机端数据查询算法设计

数据库服务器端的目标特性数据是以头文件和数据域的形式储存在电磁散射特性数据表和红外辐射特性数据表中的。电磁散射特性数据表的头文件包含目标名称、数据类型、频率/极化方式等信息,红外辐射特性数据表的头文件包含目标名称、数据类型、波段等信息。RCS 数据和红外辐射强度数据是以二维矩阵的形式存储在数据域中的,目标天顶角随矩阵行数变化,目标方位角随矩阵列数变化。

在进行目标特性数据查询时,用户通过客户机端输入目标名称、数据类型、频率/波段、方位角和天顶角共五个查询参数。查询算法会根据目标名称、数据类型、频率/波段三个查询参数检索到对应的目标特性数据域矩阵,再根据用户输入查询的方位角和天顶角,采用双线性插值算法计算出用户所需的目标特性数据Vq。Vq的计算公式为

式中:Aq和Zq分别为用户输入查询的方位角和天顶角;A1和A2为二维矩阵中与Aq最接近的两个方位角;Z1和Z2为二维矩阵中与Zq最接近的两个天顶角;V11为二维矩阵中天顶角Z1和方位角A1位置处的目标特性数据;V12为二维矩阵中天顶角Z1和方位角A2位置处的目标特性数据;V21为二维矩阵中天顶角Z2和方位角A1位置处的目标特性数据;V22为二维矩阵中天顶角Z2和方位角A2位置处的目标特性数据。

3 数据库应用实例

将某空中目标在频率为16 GHz、VV 极化下的RCS数据和中波波段的红外辐射强度数据导入目标特性数据库。导入的目标RCS和红外辐射强度数据对应的方位角和天顶角均覆盖0°~180°,且角度分辨率均为0.5°。图5和图6分别给出了客户机端调用数据显示功能生成的该空中目标的RCS数据空间分布和中波红外辐射强度数据空间分布,图中天顶角沿水平方向增大,方位角沿垂直方向增大。

图5 目标RCS数据空间分布图

图6 目标中波红外辐射强度数据空间分布图

在进行目标特性数据查询时,由于用户输入查询的目标方位角和天顶角与存储的数据可能不完全一致,需要采用式(1)的插值算法进行目标特性数据的插值计算,得到用户查询的目标特性数据。利用客户机端目标特性数据查询功能,查询在方位角为1.8°、天顶角为92.2°的位置处,该空中目标在频率为16 GHz、VV 极化下的RCS 为18.162 dBsm,中波红外辐射强度为9.074 W/sr。

4 结论

本文面向目标电磁散射特性数据和红外辐射特性数据的存储、管理和分布式查询需求,分别对数据库业务架构和技术架构进行设计,根据数据库服务器端和客户机端功能需求,设计了数据库部件单元、数据库表及其E-R 图,根据导入的目标特性数据格式设计了双线性插值数据查询算法,提出了一种基于C-S架构的数据库设计方法。采用该方法设计的目标特性数据库可以实现目标特性数据后端统一管理,具备分布式查询功能。该方法为海量目标特性数据存储、管理提供了解决方案。

猜你喜欢
顶角客户机服务器端
一般三棱镜最大顶角与折射率的关系
Linux环境下基于Socket的数据传输软件设计
凉亭中的数学
浅析异步通信层的架构在ASP.NET 程序中的应用
顶角为100°的等腰三角形性质的应用
基于Qt的安全即时通讯软件服务器端设计
网页防篡改中分布式文件同步复制系统
双元计算法求体积本征值
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”