Multi-component combination deployment method and system based on ansible, electronic equipment and storage medium
By creating a software component database and generating an Ansible Playbook, the problem of inefficiency of traditional manual deployment methods is solved, and the efficiency, accuracy and consistency of multi-component combination deployment is achieved, resource utilization is optimized, and real-time monitoring and feedback are provided.
Patent Information
- Application Number
- CN202411698189.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-03-14
AI Technical Summary
Traditional manual operation-based deployment methods are inefficient, prone to human errors, and it is difficult to ensure the consistency and stability of multi-component deployment. The existing simple deployment system based on Ansible lacks an effective management and coordination mechanism for multi-component combination deployment, resulting in wrong deployment order or unsatisfied dependencies, unreasonable resource utilization, and lack of real-time monitoring and feedback mechanisms.
By creating a software component database, storing the deployment configuration files of each software component, generating Ansible Playbooks and Roles, configuring each software component based on these configuration files to form deployment tasks, and performing these tasks. At the same time, it monitors the deployment status, optimizes resource utilization, and provides visual monitoring and feedback mechanisms.
Improve deployment efficiency, enhance deployment accuracy and consistency, optimize resource utilization, provide real-time monitoring and feedback, and significantly improve the controllability and maintainability of multi-component combined deployment.
Smart Images

Figure CN119621079A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of software deployment, and in particular to an Ansible-based multi-component combined deployment method, system, electronic device and storage medium. Background Art
[0002] Traditional deployment method based on manual operation: Technical measures and product composition: It mainly relies on manual installation, configuration and startup of software components one by one. Usually, technicians need to log in to each server node and execute commands manually to complete the deployment task. Interrelationship: Each deployment step is completely dependent on manual execution in sequence, and there is no unified scheduling and management mechanism. During the deployment process, human errors are prone to occur, and the deployment efficiency is low, especially when facing large-scale multi-component deployment, the workload is huge and it is difficult to ensure consistency. In terms of technology, the traditional deployment method based on manual operation completely relies on manual operation, which makes the deployment process extremely cumbersome. Each step requires technicians to manually enter commands, which is prone to input errors. In addition, for large-scale deployment scenarios, the amount of repetitive work is large and the time is extremely long. In terms of performance, due to the uncontrollability of human factors, it is difficult to ensure the consistency and stability of each deployment. The operating habits of different technicians may lead to differences in deployment results, and at the same time, they cannot respond and deploy quickly in the face of emergencies. Some existing simple deployment systems based on Ansible: Technical measures and product composition: Using the basic functions of Ansible, a single software component is deployed by writing a simple playbook. There is a lack of effective management and coordination mechanisms for the combined deployment of multiple components, such as the inability to manage component dependencies and schedule tasks reasonably. Relationships: The deployment of each component is relatively independent, and the correlation between components is not fully considered, which can easily lead to deployment failures due to incorrect deployment order or unsatisfied dependencies. Some existing simple deployment system processes based on Ansible can only handle the deployment of a single software component, and lack effective management methods for the combined deployment of multiple components. When faced with complex multi-component projects, it is necessary to manually coordinate the deployment order and dependencies of each component, which increases the complexity and difficulty of deployment. In terms of performance, the inability to schedule tasks reasonably may lead to unreasonable resource utilization. For example, resource competition may occur when multiple components are deployed at the same time, affecting deployment efficiency. At the same time, there is a lack of real-time monitoring and feedback mechanism for the deployment process, making it difficult to quickly discover and solve problems that arise during the deployment process. Summary of the invention
[0003] In view of the shortcomings existing in the above problems, the present invention provides a multi-component combined deployment method, system, electronic device and storage medium based on Ansible.
[0004] To achieve the above object, the present invention provides a multi-component combined deployment method based on Ansible, comprising:
[0005] Creating a software component database, wherein the software component database stores deployment configuration files of various software components, wherein the configuration files include software component information, component type, and key features;
[0006] Generate Ansible Playbook and Roles based on the deployment configuration file;
[0007] Based on the Ansible Playbook and Roles, each of the software components is configured to form a deployment task;
[0008] The deployment task is performed based on the software component information.
[0009] Preferably, the deployment status is monitored during execution of the deployment task.
[0010] Preferably, the software component information includes software component name, software component version, and software dependency, and the key features include resource requirements and environment requirements.
[0011] Preferably, a corresponding basic template is selected based on the deployment configuration file to fill in data and finally generate Ansible Playbook and Roles.
[0012] Preferably, the deployment task is performed on the software component information according to the dependency order.
[0013] This application also provides a multi-component combined deployment system based on Ansible, including:
[0014] A creation module, used to create a software component database, wherein the software component database stores deployment configuration files of various software components, wherein the configuration files include software component information, component type, and key features;
[0015] A configuration module, used to generate Ansible Playbook and Roles based on the deployment configuration file;
[0016] A task module, used to configure each of the software components to form a deployment task based on the Ansible Playbook and Roles;
[0017] An execution module is used to execute the deployment task based on the software component information.
[0018] The present invention also provides an electronic device, comprising at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit executes the above method.
[0019] The present invention also provides a storage medium storing a computer program executable by an electronic device, and when the program runs on the electronic device, the electronic device executes the above method.
[0020] Compared with the prior art, the present invention has the following beneficial effects:
[0021] The multi-component combined deployment of the present invention has significant advantages in deployment efficiency, accuracy, resource utilization, visual monitoring and communication field effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 It is a flow chart of the multi-component combined deployment method based on Ansible of the present invention. DETAILED DESCRIPTION
[0023] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0024] Reference Figure 1 The present invention provides a multi-component combined deployment method based on Ansible, including:
[0025] Creating a software component database, which stores deployment configuration files of various software components, including software component information, component type, and key features;
[0026] Generate Ansible Playbook and Roles based on deployment configuration files;
[0027] Based on Ansible Playbook and Roles, configure each software component to form a deployment task;
[0028] Execute deployment tasks based on software component information.
[0029] In this embodiment, the deployment status is monitored during the execution of the deployment task. The software component information includes the software component name, software component version, and software dependencies. The key features include resource requirements and environment requirements. Based on the deployment configuration file, the corresponding basic template is selected for data filling and finally the Ansible Playbook and Roles are generated. The deployment task is executed on the software component information according to the dependency sorting.
[0030] Specifically, the component database: uses an efficient database management system to store detailed information about each software component, including name, version, and dependencies. Classification management and index optimization enable quick search and selection of required components. Version control mechanism: uses a professional version control system to accurately track and manage different versions of each component. Supports version rollback to ensure that a stable version can be quickly restored when a problem occurs. Dependency management: uses graph database technology to build a component dependency graph. During the deployment process, automatically analyze dependencies and determine the installation order to ensure the correct installation and configuration of components. The component database uses relational databases such as MySQL to design table structures to store component names, versions, dependencies, and other information. Improve query efficiency by establishing indexes. The version control mechanism uses version control systems such as Git to create version branches for each component and record change history. Dependency management uses the graph database Neo4j to build a component dependency graph, and determines the installation order during deployment through algorithms such as depth-first search. The component database stores and manages software component information, making it easy to quickly find and select required components. Use the version control mechanism to track and manage component versions and support version rollback. Analyze component dependencies to ensure the correct installation order.
[0031] Playbook and Roles writing: Playbook and Roles are generated intelligently based on component information. Machine learning algorithms are used to analyze historical deployment data and optimize deployment strategies. Intuitive visual editing tools are provided to display execution status and progress in real time. When writing Playbook and Roles, machine learning algorithms such as random forest are used to analyze historical deployment data to obtain software component information, including name, version number, dependencies, etc. Determine component types, such as databases, web servers, etc. Identify key features, such as specific resource requirements, environmental requirements, etc. According to the obtained component information, component type, and key feature information, the corresponding basic template is intelligently selected for data filling to finally generate Playbook and Roles that can be actually used. The visual editing tool uses the React front-end framework to display execution status and progress in real time. Automated configuration management is integrated with distributed version control systems such as Git. By setting up a proxy server on the server node, configuration files containing host IP lists, login information, and installed component list information are synchronized. Ensure configuration consistency and achieve efficient automated configuration management. Cross-platform support Using Golang's cross-platform technology, adaption plug-ins are developed for different operating systems to automatically adjust installation commands and configuration file paths. On this basis, according to the Playbook and Roles generated by the above operations, machine learning is used to optimize the deployment strategy. Automated configuration management is performed to ensure configuration consistency. Cross-platform support is provided to adapt to different operating systems and platforms.
[0032] Automated configuration management: Select appropriate configuration parameters and installation scripts based on version control information. Use distributed version control system integration technology to ensure configuration consistency. Provide visual monitoring and adjustment methods, and support one-click configuration rollback.
[0033] Cross-platform support: Automatically identify the characteristics of different operating systems and platforms and select the most appropriate deployment method. Use platform abstraction layers and adaptation technologies to ensure that deployment tasks are executed smoothly on different platforms. Provide a visual interface to display the cross-platform deployment status and progress.
[0034] Furthermore, task queue management: using advanced task scheduling algorithms, deploying tasks into the task queue, and sorting them according to priority and dependency. According to system resource conditions and user needs, reasonably arrange the order of task execution to improve deployment efficiency. Task queue management uses a priority queue algorithm to put tasks into the queue and sort them according to priority and dependency. Use distributed task queue systems such as RabbitMQ to distribute tasks. Parallel execution uses Golang multithreading technology to allocate thread resources for independent tasks and set resource limits to avoid competition. Error handling uses an automatic retry mechanism to retry network connection errors a certain number of times, and software installation errors will feedback error information to the visual interface. Manage task queues and sort tasks according to priority and dependency. Implement parallel execution to improve deployment efficiency. Handle errors in task execution.
[0035] Parallel execution: Use multithreading or distributed computing technology to achieve parallel execution of independent tasks. Avoid resource competition and conflicts by setting resource limits and task isolation mechanisms.
[0036] Error handling: With intelligent error handling mechanism, when an error occurs during task execution, the error type is automatically analyzed and corresponding handling measures are taken. It supports automatic retry of failed tasks or feedback of error information to users for manual intervention.
[0037] Real-time monitoring: Use performance monitoring tools to collect various status information of server nodes and track the execution status of Ansible tasks. Use data aggregation and analysis technology to process and analyze monitoring data in real time to detect problems and abnormal situations in a timely manner. Real-time monitoring uses performance monitoring tools such as Prometheus to collect status information such as CPU usage and memory usage of server nodes, and tracks the execution status of Ansible tasks by developing custom monitoring plug-ins. The visualization interface uses visualization frameworks such as Grafana to display key indicators and statistical information. The feedback mechanism is combined with email notifications. When the monitoring indicators exceed the threshold, email notifications are automatically sent. Users can pause, continue, cancel, and other operations on the visualization interface. Real-time monitoring of server node status and Ansible task execution status. Display monitoring information through a visualization interface. Provide timely feedback on problems and abnormal situations, allowing users to operate.
[0038] Visual interface: A modern front-end visualization framework is used to provide an intuitive visual monitoring interface. Key indicators and statistical information are displayed through customized charts and reports, which facilitates users to analyze and make decisions. The visualization interface is built with React to achieve a simple and clear layout and smooth user interaction. By interacting with the back-end API developed in Golang, functions such as component selection and configuration, task monitoring and management, and system status monitoring are realized. In terms of component selection and configuration, React's state management and form components are used to communicate with the back-end API in real time, dynamically display component information and configuration options, and provide friendly user prompts and error handling mechanisms. Task monitoring and management utilizes React's data binding and update mechanism, and through real-time communication with the back-end API, WebSocket real-time data update technology is used to display task status and progress in real time, and provide task history query function. System status monitoring utilizes the integration of React and data visualization libraries, such as Echarts, to display system resource usage and deployment progress in the form of charts, and to achieve real-time data updates through integration with the back-end API, while providing data analysis and report generation functions. Use a simple interface layout to display the entrance and information of functional modules. Select and configure components. Monitor task status and progress. Display system status information and perform data analysis and optimization.
[0039] Feedback mechanism: Combined with email and SMS communication tools, notifications and alerts are sent to users in a timely manner when problems or abnormal situations occur. Users can perform operations through the visual interface, such as pausing, continuing, or canceling deployment tasks.
[0040] Interface layout: Use Bootstrap responsive design technology to ensure that the interface can present good effects on different devices and screen sizes. Reasonable planning of layout and information architecture, display of the entrance and key information of each functional module, convenient for user operation and management.
[0041] Component selection and configuration: Use front-end interactive technology to achieve dynamic component selection and configuration. Through real-time communication with back-end services, ensure that user operations can be reflected in the deployment system in a timely manner. Provide friendly user prompts and error handling mechanisms.
[0042] Task monitoring and management: Using real-time data update technology, the task status and progress are displayed in real time. Users can pause, continue, cancel and other operations on tasks, and provide task history and log query functions.
[0043] System status monitoring: Using data visualization technology, the system resource usage, deployment progress and other information are displayed in the form of charts and indicators. Through integration with the monitoring module, real-time data update and display are achieved. Data analysis and report generation functions are provided.
[0044] Compared with the traditional manual deployment method and the existing simple deployment system based on Ansible, the multi-component combined deployment system based on Ansible of the present invention has the following significant advantages:
[0045] Improve deployment efficiency, experimental conditions and methods: Select multi-component software projects with different scales and complexities for deployment testing. Use the traditional manual deployment method, the existing simple deployment system based on Ansible, and the deployment system of the present invention, and record the deployment time of each project.
[0046] Comparison of experimental data: In small-scale projects, the traditional manual deployment method takes several hours on average, the existing simple deployment system based on Ansible takes about half an hour on average, and the deployment system of the present invention takes only more than ten minutes on average. In large-scale and complex projects, the traditional manual deployment method may take several days or even longer, and the existing simple deployment system based on Ansible also takes several hours, while the deployment system of the present invention can complete the deployment within a few hours, greatly shortening the deployment time.
[0047] Enhanced deployment accuracy and consistency: Theoretical derivation: Traditional manual deployment methods rely entirely on manual operations and are prone to human errors. The automated deployment system of the present invention reduces the impact of human factors through precise task definition and execution, thereby improving the accuracy and consistency of deployment. Feature analysis: The component management module controls the version and manages the dependencies of components, ensuring the consistency of deployment in different environments. The automated configuration management function of the Ansible core module ensures that the configuration of each server node is accurate.
[0048] Optimizing resource utilization, experimental conditions and methods: Under the same hardware environment, the existing simple deployment system based on Ansible and the deployment system of the present invention are used to perform multi-component deployment, and the usage of system resources, including CPU usage, memory usage, and network bandwidth, are monitored.
[0049] Experimental data comparison: Some existing simple deployment systems based on Ansible may encounter resource competition during the deployment process, resulting in deployment failure of some components or performance degradation. The task scheduling module of the present invention can make full use of system resources, avoid resource competition, and improve resource utilization through reasonable task arrangement and parallel execution. For example, in terms of CPU utilization, the deployment system of the present invention can complete the deployment without exceeding 80%, while some existing simple deployment systems based on Ansible may exceed 90%.
[0050] Provide visual monitoring and feedback. Feature analysis: Traditional deployment methods and some existing simple deployment systems based on Ansible lack a visual monitoring interface, making it difficult for users to understand the deployment progress and system status. The visual interface of the present invention allows users to monitor the deployment process in real time, identify problems in a timely manner and make adjustments. Effect manifestation: Users can intuitively see the execution status of tasks, the usage of system resources, and the percentage of deployment progress through the visual interface. When problems occur, the system will issue notifications and alarms in a timely manner, and users can quickly take measures to deal with them, which improves the controllability and maintainability of deployment.
[0051] The outstanding effect in the field of communications. In the field of communications, the deployment system of the present invention can ensure the rapid and accurate deployment of communication software components and improve the stability and reliability of the communication system. At the same time, by optimizing resource utilization, the waste of network resources is reduced and the performance and efficiency of the network are improved. For example, in terms of data processing speed, the deployment system of the present invention can complete the processing and transmission of communication data faster, reduce data delay, and improve communication quality.
[0052] In summary, the Ansible-based multi-component combined deployment system of the present invention has significant advantages in deployment efficiency, accuracy, resource utilization, visual monitoring, and communication field effects.
[0053] Example 1
[0054] Deploy Kubernetes cluster
[0055] Deployment environment: A network environment with 10 servers, and the server operating system is CentOS 7.
[0056] Software components: Kubernetes master node components (including kube-apiserver, kube-controller-manager, kube-scheduler), worker node components (kubelet, kube-proxy), container runtime (Docker), etc.
[0057] Component management: In the component management module, specify the versions of each component as Kubernetes v1.20.0 and Docker 19.03.13. Sort out the dependencies between components. For example, Kubernetes worker nodes rely on the normal operation of the master node, and the container runtime is the basis for Kubernetes to run containers.
[0058] Ansible configuration: Write Ansible playbook to first install Docker on all servers and perform basic configuration.
[0059] Then deploy the Kubernetes master node components on the designated master node server and configure high availability and load balancing.
[0060] Then deploy the Kubernetes worker node components on the worker node servers and register them with the master node.
[0061] Task scheduling: Set the Docker installation task to high priority and execute it in parallel on all servers. Set the master node component deployment to medium priority and the worker node component deployment to low priority.
[0062] Monitoring and feedback: Use the visual interface to monitor the resource usage of each server (such as CPU, memory, disk space) and the operating status of Kubernetes components in real time. When a component has a problem, the interface will display an error message and issue an alarm.
[0063] Effect: Deployment time: It took about 2 hours from the start of deployment to the normal operation of the Kubernetes cluster. Accuracy: Through component management and Ansible's automated configuration, the correct versions of each component and the satisfaction of dependencies were ensured, and no errors caused by version mismatches or missing dependencies occurred. Resource utilization: During the deployment process, the CPU utilization rate reached a maximum of 60%, and the memory utilization rate was stable at around 50%. There were no task failures caused by resource competition. Visual monitoring: Users can clearly see the progress of each task, server resource charts, and status information of Kubernetes components through the visual interface, which is convenient for timely adjustment of deployment strategies. For example, when it is found that the resource utilization rate of a working node is too high, the scheduling strategy of the container can be adjusted in time.
[0064] Example 2
[0065] Small business internal software system deployment
[0066] Deployment environment: A small enterprise network environment with 5 servers, and the server operating system is CentOS 7.
[0067] Software components: Includes a web application server (Tomcat 8), a database server (MySQL 5.7), and a monitoring tool (Zabbix).
[0068] Component management: In the component management module, clarify the versions and dependencies of each component. Tomcat 8 depends on the Java 8 runtime environment, MySQL 5.7 runs independently, and Zabbix depends on PHP 7.2 and MySQL database.
[0069] Ansible configuration: Write Ansible playbook, first install Java 8, then deploy Tomcat8, then install MySQL 5.7 and perform initial configuration, and finally install Zabbix and related dependencies.
[0070] Task scheduling: Divide tasks into three priorities: Java 8 and MySQL 5.7 installation as high priority, Tomcat 8 deployment as medium priority, and Zabbix installation as low priority. Execute Java 8 and MySQL 5.7 installation tasks in parallel.
[0071] Monitoring and feedback: Monitor the progress of each task and the usage of server resources in real time through a visual interface. When a task has a problem, the interface will display an error message and issue an alarm.
[0072] Effect: Deployment time: It took about 40 minutes from the start of deployment to the normal operation of all components. Accuracy: Through component management and Ansible's automated configuration, the correct versions of each component and the satisfaction of dependencies were ensured, and no errors caused by version mismatch or missing dependencies occurred. Resource utilization: During the deployment process, the CPU utilization rate reached a maximum of 70%, and the memory utilization rate was stable at around 60%. There was no task failure caused by resource competition. Visual monitoring: Users can clearly see the progress bar, server resource chart and error information of each task through the visual interface, which is convenient for timely adjustment of deployment strategies.
[0073] Example 3
[0074] Large-scale enterprise software system deployment
[0075] Deployment environment: A large enterprise network environment with more than 100 servers, which are distributed in different data centers. The operating systems include Windows Server and multiple versions of Linux.
[0076] Software components: including enterprise resource planning system (ERP), customer relationship management system (CRM), office automation system and other complex software components.
[0077] Component management: Establish an enterprise-level component management platform to centrally manage all software components, including version updates, security patch management, dependency analysis, etc.
[0078] Ansible configuration: Use the distributed Ansible architecture to distribute tasks to different data centers and server nodes for parallel execution. Write highly customized Ansible playbooks and roles for different software components.
[0079] Task Scheduling: Develop detailed task scheduling plans based on the company's business priorities and server resource availability. For example, perform large-scale system upgrades and maintenance on weekends or at night.
[0080] Monitoring and feedback: Establish a comprehensive monitoring system, including server performance monitoring, application performance monitoring, network traffic monitoring, etc. Display enterprise-level monitoring data and reports through a visual interface to provide decision support for management.
[0081] Effect: Deployment time: The deployment and upgrade of large enterprise-level software systems can be completed within a few days, and business interruption can be minimized. Accuracy: Through strict change management and testing processes, the accuracy and stability of each deployment are ensured. Resource utilization: By optimizing server resource allocation and task scheduling, resource utilization is improved and the enterprise's IT costs are reduced. Visual monitoring: Provides intuitive monitoring data and reports for enterprise management to help them understand the system operation status and business impact and make timely decisions.
[0082] This application also provides a multi-component combined deployment system based on Ansible, including:
[0083] A creation module is used to create a software component database, which stores deployment configuration files of various software components. The configuration files include software component information, component type and key features.
[0084] Configuration module, used to generate Ansible Playbook and Roles based on deployment configuration files;
[0085] The task module is used to configure each software component to form a deployment task based on Ansible Playbook and Roles;
[0086] The execution module is used to execute the deployment task based on the software component information.
[0087] The present invention also provides an electronic device, comprising at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit executes the above method.
[0088] The present invention also provides a storage medium storing a computer program executable by an electronic device. When the program runs on the electronic device, the electronic device executes the above method.
[0089] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A multi-component combined deployment method based on Ansible, characterized in that: include: Creating a software component database, wherein the software component database stores deployment configuration files of various software components, wherein the configuration files include software component information, component type, and key features; Generate Ansible Playbook and Roles based on the deployment configuration file; Based on the Ansible Playbook and Roles, each of the software components is configured to form a deployment task; The deployment task is performed based on the software component information.
2. According to the multi-component combined deployment method based on Ansible in claim 1, it is characterized in that: Monitor the deployment status during the execution of the deployment task.
3. The multi-component combined deployment method based on Ansible according to claim 2 is characterized in that: The software component information includes software component name, software component version, and software dependency, and the key features include resource requirements and environment requirements.
4. The multi-component combined deployment method based on Ansible according to claim 3 is characterized in that: Based on the deployment configuration file, the corresponding basic template is selected to fill in the data and finally generate Ansible Playbook and Roles.
5. The multi-component combined deployment method based on Ansible according to claim 4 is characterized in that: The deployment task is performed on the software component information according to the dependency order.
6. A multi-component combined deployment system based on Ansible, characterized in that: include: A creation module, used to create a software component database, wherein the software component database stores deployment configuration files of various software components, wherein the configuration files include software component information, component type, and key features; A configuration module, used to generate Ansible Playbook and Roles based on the deployment configuration file; A task module, used to configure each of the software components to form a deployment task based on the Ansible Playbook and Roles; An execution module is used to execute the deployment task based on the software component information.
7. An electronic device, characterized in that: The method comprises at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit executes the method according to any one of claims 1 to 5.
8. A storage medium, characterized in that: It stores a computer program executable by an electronic device. When the program runs on the electronic device, the electronic device executes the method according to any one of claims 1 to 5.