基于Docker的实时数据处理系统配置文件管理软件的设计与实现

2022-11-11 11:02刘军刘海波王万金
电子技术与软件工程 2022年15期
关键词:管理软件配置文件服务端

刘军 刘海波 王万金

(中国人民解放军91550 部队 辽宁省大连市 116023)

实时数据处理系统主要用于对武器试验的光测、雷测和遥测等实时数据进行处理[1],并将处理结果传输到指显、安控等其它子系统,从而为指挥员决策提供有效的数据支撑。随着新型武器系统的不断发展、新型测控装备的研制建设和新型试验模式的探索发展,武器试验呈现出任务类型和任务数量剧增、多种任务交叉并行开展的特点,这些都对实时数据处理系统的数据处理能力和状态转换速度提出了新的要求。

为适应多种任务交叉进行的试验模式,现有的实时数据处理系统主要依据高内聚、低耦合的软件设计原则划分为多个功能相异的子系统,并通过修改软件配置文件的方式实现对系统的平滑扩充和改造,从而达到在不同任务间进行状态切换的目的[2]。然而,随着武器试验任务类型和任务数量的增加变化,软件系统配置文件的种类和数量成倍增加;同时受到飞行试验任务技术状态变更的影响,软件系统配置文件的版本迭代次数也相应增加,这些都极大增加了实时数据处理系统配置文件的管理和使用难度,从而降低了软件系统改造维护的效率和质量。此外,受到实时数据处理系统配置文件格式特殊性的影响,传统的单一依托数据库进行配置文件管理的方式灵活性差,且难以满足使用者的个性化操作需求。

针对上述问题,本文设计了基于Docker的实时数据处理系统配置文件管理软件,在提供良好的人机交互体验的同时,依托数据库对软件配置文件进行高效管理,可有效提高实时数据处理系统的软件改造维护效率。

1 关键需求分析

实时数据处理系统配置文件管理软件主要需求如下:

(1)实时数据处理子系统数据库管理,主要包括在线创建和删除针对该子系统的数据库;

(2)实时数据处理系统数据表管理,主要包括在线创建基于特定配置文件格式的数据表和自定义数据表、删除数据表以及复制数据表;

(3)实时数据处理系统软件配置文件管理,主要包括在线导入配置文件至相应数据库以及导出数据表为软件系统直接可用的配置文件;

(4)实时数据处理系统数据表编辑,主要包括在线增加、修改以及删除数据表数据。

2 软件架构设计

2.1 软件系统设计思路

根据实时数据处理系统软件配置文件个性化管理功能需求,通过对数据库、数据可视化[3]以及人机交互[4]进行研究,基于Docker的实时数据处理系统配置文件管理软件设计[5]组成如图1所示,主要包含三个模块:文件处理模块、数据处理模块和系统处理模块[6][7]。

图1:实时数据处理系统配置文件管理软件功能框图

文件处理模块:包括将基于txt、ini和xlsx格式的软件配置文件导入相应的数据库和将数据表导出为约定格式的软件配置文件,主要实现对配置文件出入库的灵活操作。

数据处理模块:包括对已有数据表进行数据增加、修改和删除等操作,主要实现对软件配置文件对应数据表的自定义编辑。

系统处理模块:包括创建实时数据处理子系统对应的数据库、删除数据库、创建指定格式和自定义数据表、删除数据表和复制数据表,主要实现对配置文件管理软件底层数据库和数据表的高效管理。

2.2 软件系统组成结构

实时数据处理系统配置文件管理软件采用MVC设计模式[8][9]将数据视图和数据操作相分离,由三部分组成,包括:实时数据处理系统配置文件管理软件客户端、实时数据处理系统配置文件管理软件控制端和基于Docker的数据库服务端,其软件组成结构如图2所示。

图2:软件系统组成结构

实时数据处理系统配置文件管理软件客户端主要负责用户与软件系统间的人机交互,包括配置文件的数据可视化、配置文件的前端修改、数据库和数据表的前端创建删除复制等。

实时数据处理系统配置文件管理软件控制端主要负责配置文件管理软件客户端和数据库服务端的通信和数据绑定,包括将客户端的请求提交至数据库服务端、将数据库服务端的数据更新推送至客户端。

基于Docker的数据库服务端主要负责数据库的高可靠性和响应管理软件控制端的操作提交,包括对数据库进行冗余备份、执行数据库的创建删除、数据表的创建删除复制和数据的修改等。

2.3 软件体系结构

实时数据处理系统配置文件管理软件体系结构按层次划分,可分为表示层、业务逻辑层和服务层三个层次。具体层次结构如图3所示。

图3:实时数据处理系统配置文件管理软件层次结构

表示层,主要负责将软件配置文件以数据表的形式呈现给用户,以实现数据可视化的目的。

业务逻辑层,主要负责软件配置文件导入导出管理、软件配置文件数据修改、数据库和数据表管理以及系统日志管理,以达到响应用户操作的目的。

服务层,主要负责提供基于Docker的高可用数据库服务,以到达对软件配置文件物理存储、冗余备份和数据恢复的目的。

3 软件具体实现

3.1 软件开发环境

3.1.1 Windows系统配置

硬件配置为:CPU为4核、主频3.60GHz;内存为8GB;硬盘为1000GB;网络接口为1000M。操作系统为:Windows7。软件开发工具为:Qt 5.12.3。

3.1.2 Linux系统配置

硬件配置为:CPU为4核、主频为3.60GHz;内存为8GB;硬盘为800GB;网络接口为1000M。操作系统为:CentOS7。软件开发工具为:Docker 19.03.12;mysql 5.7。

3.2 配置文件管理软件客户端

实时数据处理系统配置文件管理软件客户端基于Qt进行软件界面开发,客户端界面主要由顶部菜单栏、左侧列表栏和中间编辑窗口三部分组成,软件客户端主界面如图4所示。

图4:配置文件管理软件客户端主界面

顶部菜单栏主要实现配置文件导入、导出,分系统数据库创建、删除,数据表创建、删除,系统日志管理等快捷操作。

左侧列表栏主要实现对数据库及库中数据表的分类展示,以便用户快速检索所需要的数据表并对数据表进行相关操作。方便起见,通过Qt下的树形视图类QTreeWidget来实现数据表的可视化展示以及不同数据库和数据表之间的切换。为支持上述数据表的分类展示功能和对数据表的快速检索功能,本文实现了一种基于多叉树的文件索引结构,该索引结构存放配置文件管理软件控制端推送的数据库和数据表名信息,具体详情见图5。

图5:基于多叉树的文件索引结构示意图

中间编辑窗口主要实现对配置文件的数据可视化展示、数据的增加修改删除操作。

3.3 配置文件管理软件控制端

实时数据处理系统配置文件管理软件控制端采用Qt自带的数据库操作类进行数据库和数据表的创建删除操作、数据的修改操作[10]以及数据库服务端更新的实时响应,部分关键代码如下:

3.4 基于Docker的数据库服务端

Docker[11]是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包或者环境到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker具有更快速的应用交付和部署、更便捷的升级和扩缩容、更简单的系统运维以及更高效的计算资源利用等优势[12][13]。

为充分利用计算资源并实现服务的高可靠,数据库服务端以mysql:5.7版本为基础数据库服务软件,通过Docker将其部署在Linux环境中,部分关键代码如下:

4 结束语

在Qt开发平台下,采用Qt的树形视图数据可视化和数据库操作等技术实现了对实时数据处理分系统配置文件的分类存储管理、可视化展示和数据处理。实践结果表明,基于Docker的实时数据处理系统配置文件管理软件可对软件配置文件进行高效管理,为多任务交叉进行的武器试验模式下实时数据处理系统软件版本管理、升级改造等提供了有效的技术支持。

猜你喜欢
管理软件配置文件服务端
仓储管理软件在物流自动化解决方案中的应用与发展
互不干涉混用Chromium Edge
忘记ESXi主机root密码怎么办
项目法在工程造价管理软件中的应用
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
共享电单车的管理软件
打印机设置
摸清黑客套路防范木马侵入