Ship aviation software engineering management method and system
Through microservice architecture and unified management technology, the problems of complex software status and data synchronization in ship aviation software management are solved, management efficiency and quality are improved, and controllability and traceability of ship software configuration are ensured.
Patent Information
- Application Number
- CN202510366613.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-26
- Publication Date
- 2025-07-22
AI Technical Summary
There are problems in the management of ship aviation software such as complex software status, large code scale, and parallel development of multiple versions, which makes it difficult to ensure the smooth progress of the experiment and the satisfaction of user needs, and the difficulty of data synchronization during the configuration management process is prominent.
It adopts a microservice architecture, separates front-end and back-end services, uses Springboot framework and Nacos components for registration and unified management, and combines MySQL high-availability cluster storage and Spring+OAuth2 authentication mode to realize structured data storage and unified authentication.
It improves the efficiency and quality of software engineering management, reduces labor costs, supports multi-platform deployment, solves the difficulties in data synchronization, and ensures the controllability and traceability of ship software configuration management.
Smart Images

Figure CN120353441A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of ship aviation support, and particularly relates to a method and system for software engineering management of ship aviation. Background Art
[0002] Software engineering is based on theoretical guidance to achieve the practical application of technological innovation. With the continuous development of software technology, the proportion of software in the field of ship aviation support is constantly expanding, showing a trend of "multiple series, multiple configurations, multiple versions". The state of software combinations in the field of ship aviation support is extremely complex, with a huge code scale. There are situations where tests are carried out in parallel in multiple places during both the research and development process and after delivery. To ensure the smooth progress of tests and meet user requirements simultaneously, code modifications are frequently carried out in parallel.
[0003] Therefore, there is an urgent need for a method and system for software engineering management of ship aviation. Summary of the Invention
[0004] To ensure the controllability and traceability of the technical state of system software, the present invention proposes a method and system for software engineering management of ship aviation. The present invention can effectively improve the control strength of the software technical state, and at the same time solve the difficulty of data synchronization in the process of ship software configuration management, effectively reducing the impact on ship manufacturing, scientific research, field use, type approval of the full state of the ship, and ship operation due to unclear technical state.
[0005] One object of the present invention is to provide a method for software engineering management of ship aviation, which improves the efficiency and quality of software engineering management and reduces labor costs. Another object of the present invention is to provide a system for software engineering management of ship aviation. Still another object of the present invention is to provide a readable medium. Yet another object of the present application is to provide a computer device.
[0006] To solve at least one of the above technical problems, according to one aspect of the present invention, a method for software engineering management of ship aviation is provided, including the following steps:
[0007] Separate the front-end and back-end services. The front-end is developed using vue+element technology and applies the qiankun micro-frontend framework; the back-end uses the microservice technology of the Springboot framework;
[0008] Registration and unified management are implemented using the Nacos component under the Spring Cloud framework;
[0009] Structured data storage is designed using a MySQL highly available cluster;
[0010] Unified authentication, adopting the spring + security + OAuth2 authentication mode.
[0011] The specific steps to separate the front-end and back-end services are as follows:
[0012] The user's front-end request is forwarded by Nginx to the corresponding microservice and is authorized and authenticated to confirm whether to let it through.
[0013] Adopt a three-layer processing structure of controller, service, and dao; control and process http requests through the controller, transfer different business types to the Service layer for processing, and return the data processed by the Service layer to the front-end.
[0014] The front-end transforms the Web application from a single monolithic application into an application aggregated by multiple small front-end applications.
[0015] The specific steps for registration and unified management are as follows:
[0016] Nacos environment setup;
[0017] Service registration;
[0018] Service list viewing;
[0019] Service configuration management;
[0020] Service metadata management.
[0021] The specific steps for structured data storage are as follows:
[0022] Set up a master-slave replication architecture;
[0023] Configure the master database;
[0024] Configure the slave database;
[0025] In the configuration file of the slave database, specify the connection information of the master database;
[0026] Data synchronization;
[0027] Configure the management node;
[0028] Install the data node software package;
[0029] In the configuration file of the data node, set the relevant parameters of the node;
[0030] Configure the SQL node;
[0031] Install the SQL node software package;
[0032] In the configuration file of the SQL node, specify the connection information with the management node and the data node.
[0033] Create databases and tables in a highly available cluster;
[0034] Data management and maintenance.
[0035] The specific steps for unified authentication are as follows:
[0036] Use Spring Initializr to create a new Spring Boot project and select appropriate project metadata;
[0037] Add OAuth2-related dependencies to the project's build file;
[0038] Create a configuration class for configuring the authorization server;
[0039] Configure client details;
[0040] Configure information related to the authorization server endpoints;
[0041] Create a configuration class for configuring the resource server.
[0042] Create a custom user details service.
[0043] According to another aspect of the present invention, there is provided a shipboard aviation software engineering management system, including: a front-end and back-end service separation module, a registration and unified management module, a structured data storage module, and a unified authentication module;
[0044] The front-end and back-end service separation module is used to support multi-platform deployment;
[0045] The registration and unified management module is used to study the user approval rights and configuration library data access rights allocation methods of configuration management behaviors according to the stakeholders in different development processes; design a permission management mechanism according to the requirements of the software engineering system; and reasonably plan the automatic deployment permissions based on the configuration management permissions;
[0046] The structured data storage module is used for data query and management, optimizing the storage space, and at the same time supporting the processing of complex transactions;
[0047] The unified authentication module is used for permission control to effectively manage users.
[0048] According to another aspect of the present invention, there is provided a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, it implements the steps in the shipboard aviation software engineering management method of the present invention.
[0049] According to another aspect of the present invention, there is provided a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the steps in the shipboard aviation software engineering management method of the present invention are implemented.
[0050] Compared with the existing technologies, the beneficial effects of the above method of the present invention are as follows:
[0051] 1. The system framework of the present invention is based on a microservices architecture, with high service availability, supporting domestic hardware and operating systems, and laying a solid foundation for subsequent requirements of full ship autonomy and control.
[0052] 2. The development library is linked with the code management tool, supporting small version control of the development library and visual tracking of configuration item versions.
[0053] 3. Support for automated deployment linked with configuration management, including system-level, configuration item-level, and module-level automated deployment, reducing version confusion problems caused by manual deployment.
[0054] 4. Suitable for configuration management processes in scenarios such as ground and shipboard, supporting cross-domain configuration management platform data synchronization, and solving version control problems caused by the inability to synchronize data between the test site and the unit's configuration library.
[0055] 5. Organically combine configuration management and automated deployment to achieve the full process of code compilation, artifact entry into the configuration management library, and automated deployment, forming a full-link tracking of resources for source code, artifacts, and deployment environments, reducing excessive manual work.
[0056] 6. Track the dependency relationships between configuration items. After a configuration item is updated, modules depending on that configuration item are automatically reminded. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] By reading the detailed description of the non-limiting embodiments with reference to the following drawings, other features, objectives, and advantages of the present invention will become more apparent:
[0058] Figure 1 It is a schematic diagram of the method flow in the preferred embodiment provided by the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0059] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings of the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention.
[0060] Unless otherwise defined, the technical terms or scientific terms used herein shall have the ordinary meanings as understood by those of ordinary skill in the art to which the present invention pertains.
[0061] Example 1: As Figure 1 shown, a software engineering management method for shipborne aviation includes the following steps:
[0062] The basic framework adopted is Springboot. The front end is developed using vue + element technology, and the qiankun micro front-end framework is applied to achieve the separation of front-end services; the back end uses the microservice technology of the Springboot framework to achieve the separation of back-end services; the Nacos component under the Spring Cloud framework is used to achieve the registration and unified management of microservices; in terms of data storage, a MySQL high-availability cluster design is adopted to provide structured data storage services; in terms of caching, a Redis high-availability cluster design is adopted to achieve the reading, writing and persistence of in-memory data; in terms of unified authentication, the spring + security + OAuth2 authentication mode is adopted to provide the SSO ability for the entire platform; the process engine is custom-developed based on Activiti6.
[0063] The specific steps for separating the front-end and back-end services are as follows:
[0064] The user's front-end request is forwarded by Nginx to the corresponding microservice and is authorized and authenticated to confirm whether to release it;
[0065] A three-layer processing structure of controller, service, and dao is adopted; the http request is controlled and processed through the controller, different business types are sent to the Service layer for processing, and the data processed by the Service layer is returned to the front end.
[0066] The front end transforms the Web application from a single monolithic application into an application aggregated by multiple small front-end applications.
[0067] The specific steps for registration and unified management are as follows:
[0068] Nacos environment setup: Complete installation, deployment, and service enabling
[0069] Start the Nacos server. For the single-machine mode, execute the command in the bin directory of Nacos (taking Linux as an example):
[0070] If it is a Linux system: `sh startup.sh -m standalone`
[0071] If it is a Windows system: Double-click `startup.cmd` (start in standalone mode).
[0072] Create a Spring Boot project.
[0073] Create a new Spring Boot project using Spring Initializr (https: / / start.spring.io / ).
[0074] Add Nacos-related dependencies to the project's build file (pom.xml for Maven or build.gradle for Gradle).
[0075] Service registration: Configure the application
[0076] Configure Nacos-related information in the `application.properties` (or `application.yml`) file of the Spring Boot project.
[0077] Service registration: Start the service
[0078] Start your Spring Boot service, and it will automatically register itself with the Nacos server.
[0079] Unified management: Service list viewing
[0080] Access the Nacos management interface (usually `http: / / nacos-server-ip:port / nacos`).
[0081] In the management interface, you can see the list of registered services, including information such as service name, number of instances, and health status.
[0082] Unified management: Service configuration management
[0083] Use Nacos for configuration management, and you can also create and manage service configuration files in the Nacos management interface.
[0084] In the project, by adding relevant dependencies (such as `spring-cloud-alibaba-nacos-config`) and making configurations, the service can obtain configuration information from Nacos.
[0085] Unified management: Service metadata management
[0086] In the Nacos management interface, you can add metadata (such as version number, environment information, etc.) to service instances.
[0087] In the code, you can add metadata to service instances through the API provided by Nacos or when registering the service, in order to better classify and manage the services.
[0088] The specific steps for structured data storage are as follows
[0089] The following are the relevant steps and key points for structured data in a MySQL high-availability cluster:
[0090] Master-Slave replication architecture
[0091] **Configure the Master database**
[0092] Install and configure the MySQL Master database, which is similar to a single-machine MySQL installation, but some special configurations need to be noted.
[0093] In `my.cnf` (the MySQL configuration file, the location may vary in different systems), set the server ID (`server-id`), for example: `server-id = 1`.
[0094] Enable the binary log (`binlog`), which is the key to implementing master-slave replication. Add the configuration in `my.cnf`: `log-bin = mysql-bin`.
[0095] **Configure the Slave database**
[0096] Install and configure the MySQL Slave database, and also set a different `server-id`, for example `server-id = 2`.
[0097] In the configuration file of the Slave database, specify the connection information of the Master database
[0098] **Data synchronization**
[0099] Start the replication process on the Slave database: `start slave;`. The Slave database will synchronize data according to the binary log of the Master database, thereby achieving redundant backup of data and improving availability.
[0100] **MySQL Cluster (NDB Cluster)**
[0101] **Install and configure the Management Node**
[0102] Install the Management Node software package.
[0103] Configure the Management Node, mainly define the topology of the cluster in the configuration file (such as `config.ini`), including the relevant information of the Data Node and SQL Node.
[0104] **Configure the Data Node**
[0105] Install the data node software package.
[0106] In the configuration file of the data node, set the relevant parameters of the node, such as the parameters related to the storage engine (related to the NDB storage engine).
[0107] **Configure the SQL Node (SQL Node)**
[0108] Install the SQL node software package. This part is similar to the installation of ordinary MySQL, but it needs to work in coordination with other nodes in the cluster.
[0109] In the configuration file of the SQL node, specify the connection information with the management node and the data node.
[0110] Create databases and tables in the high-availability cluster (similar to single-machine MySQL)
[0111] **Create a Database**
[0112] You can log in to any SQL node in the cluster (in MySQL Cluster) or the master database (in the master-slave replication architecture), and use the `CREATE DATABASE` statement to create a database.
[0113] **Create a Data Table**
[0114] Select the created database (`USE myclusterdb;`), and then use the `CREATE TABLE` statement to create a data table.
[0115] Data Management and Maintenance
[0116] **Data Insertion**
[0117] In the high-availability cluster, the data insertion operation is similar to that of single-machine MySQL.
[0118] In the master-slave replication architecture, data is first inserted into the master database and then replicated to the slave databases through binary logs; in MySQL Cluster, data is distributed to each data node according to the storage and management mechanism of the cluster.
[0119] **Data Query, Update, and Delete**
[0120] The query operation (`SELECT` statement), update operation (`UPDATE` statement), and delete operation (`DELETE FROM` statement) are basically the same as those of single-machine MySQL.
[0121] Key Points of Structured Data Considering Cluster Characteristics
[0122] **Data Distribution Strategy (MySQL Cluster)**
[0123] In MySQL Cluster, it is necessary to consider how data is distributed among data nodes. The data distribution can be determined based on the primary key of the table or a specific hashing algorithm to ensure data balance.
[0124] The specific steps for unified authentication are as follows:
[0125] Use Spring Initializr to create a new Spring Boot project, select appropriate project metadata such as project name and project type; select necessary dependencies, including at least Spring Security and Spring Web related dependencies.
[0126] Add OAuth2 related dependencies to the project's build file.
[0127] Create a configuration class to configure the authorization server, mark this class with the `@Configuration` annotation, and enable the authorization server function with the `@EnableAuthorizationServer` annotation.
[0128] In the `configure(ClientDetailsServiceConfigurer clients)` method:
[0129] Configure client details such as client ID, secret key, authorization types (password mode, authorization code mode, refresh token mode, etc.), scope of permissions, and token expiration time, etc.
[0130] In the `configure(AuthorizationServerEndpointsConfigurer endpoints)` method:
[0131] Configure information related to the authorization server endpoints, such as the authentication manager and user details service.
[0132] Create a configuration class to configure the resource server.
[0133] - Mark this class with the `@Configuration` annotation.
[0134] - Enable the resource server function with the `@EnableResourceServer` annotation.
[0135] - In the `configure(HttpSecurity http)` method:
[0136] - Define access rules for resources. For example, which resources are publicly accessible (such as ` / public / **`), and which resources require authentication. In this system, all access to authenticated resources is controlled by permissions.
[0137] Create a custom user details service that implements the `UserDetailsService` interface.
[0138] Example 2:
[0139] The computer-readable storage medium of this example stores a computer program, and when the program is executed by a processor, it implements the steps in the shipborne aviation software engineering management method of Example 1.
[0140] The computer-readable storage medium of this example can be an internal storage unit of the terminal, such as the hard disk or memory of the terminal; the computer-readable storage medium of this example can also be an external storage device of the terminal, such as a plug-in hard disk, a smart memory card, a secure digital card, a flash card, etc. equipped on the terminal; further, the computer-readable storage medium can also include both the internal storage unit and the external storage device of the terminal.
[0141] The computer-readable storage medium of this example is used to store the computer program and other programs and data required by the terminal. The computer-readable storage medium can also be used to temporarily store the data that has been output or will be output.
[0142] Example 3:
[0143] The computer device of this example includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, it implements the steps in the shipborne aviation software engineering management method of Example 1.
[0144] In this example, the processor can be a central processing unit, or it can be other general-purpose processors, digital signal processors, application-specific integrated circuits, off-the-shelf programmable gate arrays, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, or the processor can also be any conventional processor, etc.; the memory can include a read-only memory and a random access memory, and provides instructions and data to the processor. A part of the memory can also include a non-volatile random access memory. For example, the memory can also store information about the device type.
[0145] Those skilled in the art should understand that the content disclosed in the embodiments can be provided as a method, a system, or a computer program product. Therefore, the present solution can be implemented in the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present solution can be implemented in the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer-usable program code.
[0146] The present solution is described with reference to the flowcharts and / or block diagrams of the methods and computer program products according to the embodiments of the present solution. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions; these computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0147] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device implements the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0148] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0149] Those of ordinary skill in the art can understand that all or part of the processes in implementing the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.
[0150] The examples described in the present invention are only descriptions of the preferred embodiments of the present invention, and do not limit the concept and scope of the present invention. Without departing from the design concept of the present invention, various deformations and improvements made by those skilled in the art to the technical solutions of the present invention shall fall within the protection scope of the present invention.
Claims
1. A software engineering management method for shipboard aviation, characterized in that It includes the following steps: Separate the front-end and back-end services. The front-end is developed using vue + element technology and applies the qiankun micro-frontend framework; the back-end uses the microservice technology of the Springboot framework. Registration and unified management are achieved using the Nacos component under the Spring Cloud framework. Structured data storage adopts a MySQL high-availability cluster design. Unified authentication uses the spring + security + OAuth2 authentication mode.
2. The method according to claim 1, characterized in that The specific steps for separating the front-end and back-end services are as follows: The user's front-end request is forwarded to the corresponding microservice through Nginx and is authorized to confirm whether to release. Adopt a three-layer processing structure of controller, service, and dao; control and process http requests through the controller, transfer different business types to the Service layer for processing, and return the data processed by the Service layer to the front-end.
3. The method according to claim 2, wherein The front-end transforms the Web application from a single monolithic application into an application aggregated by multiple small front-end applications.
4. The method according to claim 3, characterized in that The specific steps for registration and unified management are as follows: Nacos environment setup; Service registration; Service list viewing; Service configuration management; Service metadata management.
5. The method according to claim 4, wherein The specific steps for structured data storage are as follows: Set up a master-slave replication architecture; Configure the master database; Configure the slave database; In the configuration file of the slave database, specify the connection information of the master database; Data synchronization; Configure the management node; Install the data node software package; In the configuration file of the data node, set the relevant parameters of the node; Configure the SQL node; Install the SQL node software package; In the configuration file of the SQL node, specify the connection information with the management node and the data node. Create a database and tables in the high-availability cluster; Data management and maintenance.
6. The method according to claim 5, wherein The specific steps for unified authentication are as follows: Use Spring Initializr to create a new Spring Boot project and select appropriate project metadata; Add OAuth2-related dependencies to the project's build file; Create a configuration class for configuring the authorization server; Configure the client details; Configure the information related to the authorization server endpoints; Create a configuration class for configuring the resource server. Create a custom user details service.
7. A software engineering management system for shipborne aviation, characterized in that, It includes: A front-end and back-end service separation module, a registration and unified management module, a structured data storage module, and a unified authentication module; The front-end and back-end service separation module is used to support multi-platform deployment; The registration and unified management module is used to study the user approval rights and configuration library data access rights allocation methods for configuration management behaviors according to the stakeholders in different development processes; Design a permission management mechanism according to the requirements of the software engineering system; Thirdly, reasonably plan the automatic deployment permissions based on the configuration management permissions; The structured data storage module is used for data query and management, optimizes the storage space, and at the same time supports the processing of complex transactions; The unified authentication module is used for permission control to effectively manage users.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, it implements the steps in the shipboard aviation software engineering management method described in any one of claims 1 to 6.
9. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps in the shipboard aviation software engineering management method described in any one of claims 1 to 6.