本发明涉及数据库集成,尤其涉及一种飞行模拟训练设备数据库的集成和部署方法及介质。
背景技术:
1、随着航空工业的迅速发展和技术进步,飞行模拟训练设备已经成为飞行员培训不可或缺的一部分。飞行模拟训练设备通过模拟真实的飞行环境,帮助飞行员在安全的条件下进行操作训练,从而提升其应对各种复杂飞行状况的能力。为了保证模拟训练的效果,需要对飞行模拟训练设备数据库进行集成,以支持飞行模拟训练设备中涉及的各种数据,如地理信息系统(geographic information system,gis)数据、气象数据、地形数据、飞行模拟训练设备性能数据、与飞行模拟训练设备对应的动力学模型参数等。这些数据对于提高模拟训练的真实性和可靠性至关重要。
2、现有的飞行模拟训练设备数据库的集成和部署方法,通常采用的是离线数据库和实时数据流相结合的方式来实现。其中,离线数据库中的数据通常是在模拟训练开始之前就已经准备好并存储在该数据库中,这些数据相对稳定,不会频繁改变,例如,gis数据、地形数据和飞行模拟训练设备性能数据存储于离线数据库中,而实时数据流则是那些需要在模拟训练过程中不断更新的数据,这类数据能够提供更为准确和动态的信息,使得模拟训练更加贴近真实世界的情况,例如:气象数据、空中交通管制指令等。
3、该方法虽然能够满足基本的需求,但在灵活性方面仍有改进空间,难以快速适应新的需求。即用于实现上述集成和部署方法的数据库管理系统,作为一个单体应用,包括数据采集模块、数据处理模块、数据存储模块(即飞行模拟训练设备数据库)等。现有技术虽然进行了功能模块划分,但这些功能模块通常在一个应用程序中运行,依赖关系紧密,修改一个功能模块可能会影响整个系统。例如,当有新的数据源加入时,需要在数据采集模块中增加新的采集逻辑,并可能需要修改数据处理模块以适配新的数据格式。因此,即使只是修改了很小的一部分功能,也需要重新构建整个单体应用并部署到生产环境,增加了部署时间和风险,所以现有技术存在部署复杂、灵活性差的问题。
技术实现思路
1、本发明实施例提供一种飞行模拟训练设备数据库的集成和部署方法及介质,用以解决现有技术中存在的灵活性差的问题。
2、第一方面,本发明实施例提供了一种飞行模拟训练设备数据库的集成和部署方法,包括:
3、获取飞行模拟训练设备的单体应用,并将所述单体应用转换为微服务集群,所述微服务集群采用微服务架构,且包括多个不同优先级的微服务;
4、利用各所述微服务对应的容器镜像模板生成各所述微服务对应的容器镜像文件;
5、获取各所述微服务对应的安全配置信息,并基于所述各所述微服务对应的安全配置信息将各所述微服务对应的容器镜像文件部署到云平台提供的生产环境中,以实现各所述微服务在云平台上的容器化运行,在部署过程中不同优先级的微服务对应不同的部署顺序。
6、可选地,所述将所述单体应用转换为微服务集群,包括:
7、获取单体应用的代码数据,并根据所述代码数据进行业务分析,得到多个业务项;
8、将各所述业务项映射为对应的微服务,并基于所有的微服务生成微服务架构图;其中,所述微服务架构图用于展示各微服务之间的关联关系;各微服务的优先级根据映射顺序确定;
9、基于所述微服务架构图,采用服务注册与发现机制获得已完成注册的微服务,基于已完成注册的微服务构建微服务集群。
10、可选地,所述获取单体应用的代码数据,并根据所述代码数据进行业务分析,得到多个业务项,包括:
11、采用预设的代码扫描工具扫描单体应用的代码库,以获取代码数据,代码数据包括代码结构和依赖关系,采用预设的静态代码分析工具对单体应用进行分析,以获取代码质量估计值;所述代码结构包括源代码;
12、在所述代码质量估计值大于或等于预设阈值的情况下,基于所述代码结构和依赖关系,采用领域驱动设计方法进行业务功能分解,得到分解结果;
13、从所述分解结果中进行业务项提取,得到多个业务项。
14、可选地,所述将各所述业务项映射为对应的微服务,包括:
15、将提取出的多个业务项按照业务重要性程度和紧急程度进行优先级排序,得到排序顺序;
16、将排序顺序作为映射顺序,并按照所述映射顺序将各所述业务项映射为对应的微服务。
17、可选地,在所述将各所述业务项映射为对应的微服务之后,所述方法还包括:
18、采用预设的安全扫描工具对微服务进行安全扫描,得到扫描结果;
19、若所述扫描结果为存在安全漏洞,则对安全漏洞进行修复。
20、可选地,所述基于所有的微服务生成微服务架构图,包括:
21、确定微服务的数量以及微服务间依赖关系关联程度;
22、在微服务的数量小于或等于预设数量阈值且微服务间依赖关系关联程度小于或等于预设关联程度阈值的情况下,构建二维的微服务架构图;
23、或者,在微服务的数量大于预设数量阈值且微服务间依赖关系关联程度大于预设关联程度阈值的情况下,构建三维的微服务架构图。
24、可选地,采用服务注册与发现机制获得已完成注册的微服务,基于已完成注册的微服务构建微服务集群,包括:
25、配置服务注册中心;
26、在微服务启动时向所述服务注册中心注册,以获得已完成注册的微服务,并采用元数据管理微服务注册信息;
27、采用预设的服务发现机制建立已完成注册的微服务间的通信连接,以获得微服务集群。
28、可选地,所述利用各所述微服务对应的容器镜像模板生成各所述微服务对应的容器镜像文件,包括:
29、编写各所述微服务对应的容器镜像模板,所述容器镜像模板包括容器镜像的构建步骤,构建步骤采用多阶段构建技术,且构建步骤的起点为预设轻量级的基础镜像;
30、基于各所述微服务对应的容器镜像模板构建各所述微服务对应的容器镜像;
31、针对每个容器镜像,对容器镜像进行优化与压缩处理,得到处理后的容器镜像;
32、对各处理后的容器镜像进行镜像测试,在所有的测试结果均满足各自对应的测试需求的情况下,生成各所述微服务对应的容器镜像文件,以基于容器镜像文件对容器镜像进行发布。
33、可选地,所述基于所述各所述微服务对应的安全配置信息将各所述微服务对应的容器镜像文件部署到云平台提供的生产环境中,包括:
34、获取生产环境的资源可用信息;
35、基于生产环境的资源可用信息,从测试环境库中确定对应的测试环境,并基于所述各所述微服务对应的安全配置信息在测试环境中对各所述微服务对应的容器镜像文件进行虚拟部署;
36、在虚拟部署效果满足预设效果需求的情况下,基于所述各所述微服务对应的安全配置信息在云平台提供的生产环境中对各所述微服务对应的容器镜像文件进行实际部署;所述预设效果需求包括以下至少之一:性能指标、资源利用率或服务可用性。
37、第二方面,本发明实施例提供了一种计算机存储介质,存储有计算机程序,所述计算机程序被计算机执行时,实现如第一方面任一项所述的一种飞行模拟训练设备数据库的集成和部署方法。
38、本发明实施例中,飞行模拟训练设备数据库的集成和部署方法包括:获取飞行模拟训练设备的单体应用,并将单体应用转换为微服务集群,微服务集群采用微服务架构,且包括多个不同优先级的微服务;利用各微服务对应的容器镜像模板生成各微服务对应的容器镜像文件;获取各微服务对应的安全配置信息,并基于各微服务对应的安全配置信息将各微服务对应的容器镜像文件部署到云平台提供的生产环境中,以实现各微服务在云平台上的容器化运行,在部署过程中不同优先级的微服务对应不同的部署顺序。在采用微服务架构的微服务集群中,每个微服务负责一个特定的业务功能,并且可以独立地开发、部署和扩展。这种松耦合的设计使得本发明实施例能够快速适应新的场景需求,并且通过容器镜像文件的生成与部署,简化了部署过程,并且优先部署高优先级的微服务,提高了飞行模拟训练设备数据库的集成和部署的灵活性。
39、本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
1.一种飞行模拟训练设备数据库的集成和部署方法,其特征在于,包括:
2.根据权利要求1所述的飞行模拟训练设备数据库的集成和部署方法,其特征在于,所述将所述单体应用转换为微服务集群,包括:
3.根据权利要求2所述的飞行模拟训练设备数据库的集成和部署方法,其特征在于,所述获取单体应用的代码数据,并根据所述代码数据进行业务分析,得到多个业务项,包括:
4.根据权利要求2所述的飞行模拟训练设备数据库的集成和部署方法,其特征在于,所述将各所述业务项映射为对应的微服务,包括:
5.根据权利要求2所述的飞行模拟训练设备数据库的集成和部署方法,其特征在于,在所述将各所述业务项映射为对应的微服务之后,所述方法还包括:
6.根据权利要求2所述的飞行模拟训练设备数据库的集成和部署方法,其特征在于,所述基于所有的微服务生成微服务架构图,包括:
7.根据权利要求2所述的飞行模拟训练设备数据库的集成和部署方法,其特征在于,采用服务注册与发现机制获得已完成注册的微服务,基于已完成注册的微服务构建微服务集群,包括:
8.根据权利要求1所述的飞行模拟训练设备数据库的集成和部署方法,其特征在于,所述利用各所述微服务对应的容器镜像模板生成各所述微服务对应的容器镜像文件,包括:
9.根据权利要求1所述的飞行模拟训练设备数据库的集成和部署方法,其特征在于,所述基于所述各所述微服务对应的安全配置信息将各所述微服务对应的容器镜像文件部署到云平台提供的生产环境中,包括:
10.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算机程序被计算机执行时,实现如权利要求1-9任一项所述的一种飞行模拟训练设备数据库的集成和部署方法。