A device and method for determining middleware installation and deployment
Through automated middleware installation and deployment solutions, registration, script management and label determination modules are used to generate deployment solutions, solving the problems of cumbersome and inefficient middleware deployment, and achieving efficient and accurate multi-middleware deployment.
Patent Information
- Application Number
- CN202010997110.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-21
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2040-09-21
AI Technical Summary
The installation and deployment methods of existing middleware are cumbersome and inefficient, especially in multi-middleware deployment scenarios, which are prone to errors and are difficult to meet the needs of large-scale branch deployments.
Provide an automated and standardized middleware installation and deployment solution. Register middleware through the registration module. The script management module arranges the initial script as the final script. The label determination module determines the middleware label. The scheme generation module matches the target middleware based on user target information and Generate deployment solutions to achieve automated deployment.
Improves the efficiency and accuracy of middleware deployment, is suitable for multi-middleware and large-scale deployment scenarios, reduces manual errors, and realizes automated and standardized deployment processes.
Smart Images

Figure CN112114833B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a device and method for determining a middleware installation and deployment scheme. Background Art
[0002] With the continuous development of computer networks, various types of underlying middleware have emerged, mainly in the fields of collection pipelines, computational learning, storage, and resources. The middleware in the same field has similar functions, but each has its own strengths and limitations in terms of detailed implementation. Although middleware in different fields has different functions, they may be used in actual implementation scenarios as upstream and downstream undertaking relationships. The selection and deployment strategy of middleware directly affects the performance of upper-layer products.
[0003] At present, there are mainly the following ways to install and deploy middleware: (1) Manually directly operate computer commands to deploy software, that is, the installation and execution commands of each application software and middleware are manually edited and executed by the operation and maintenance personnel. This method is cumbersome and prone to installation errors due to command input errors, and is very inefficient; (2) Manually execute pre-written installation scripts for deployment. This method achieves integration to a certain extent, slightly simplifies the installation steps, and improves efficiency to a certain extent, but is still not suitable for scenarios with multiple middleware deployments; (3) Merge the middleware and deployment-related commands and package them into a large executable file. This method still has limitations in large-scale deployment scenarios. Summary of the invention
[0004] In view of this, an embodiment of the present invention provides a device and method for determining a middleware installation and deployment solution, which can automatically and standardize the installation and deployment of middleware, thereby improving deployment efficiency.
[0005] To achieve the above object, according to one aspect of an embodiment of the present invention, a device for determining a middleware installation and deployment scheme is provided, comprising:
[0006] A registration module, used to register at least one available middleware and create an initial script for the at least one available middleware;
[0007] A script management module, for arranging, for each available middleware, an initial script of the available middleware according to the installation and deployment process of the available middleware, to obtain a final script of the available middleware;
[0008] A label determination module, used to determine a label of the at least one available middleware;
[0009] A solution generation module is used to receive application target information from a user, determine at least one target middleware corresponding to the application target information from the at least one available middleware according to the label, and generate at least one installation and deployment solution corresponding to the application target information according to the final script of the at least one target middleware.
[0010] Optionally, the label determination module is further used to: classify the at least one available middleware and determine a label for each type of available middleware;
[0011] The solution generation module is also used to: based on the classification of the at least one available middleware, disassemble the application target information and determine at least one feature of the application target information; match the at least one feature with the label and determine at least one target middleware corresponding to the application target information from the at least one available middleware.
[0012] Optionally, the registration module is further used to: for each available middleware, determine the identifier of the available middleware; upload the installation package of the available middleware to the server, and record the version number of the installation package.
[0013] Optionally, the registration module is further used to: create an empty script, use the empty script as an initial script of the available middleware, and configure global general commands in the initial script.
[0014] Optionally, the script management module is further used to: for each available middleware, configure commands and parameters required for installing and deploying the available middleware in the initial script of the available middleware to obtain a final script of the available middleware.
[0015] Optionally, the script management module is also used to: after the command and parameter configuration is completed, simulate the installation of the available middleware according to the command and parameters to verify the command and parameters.
[0016] Optionally, the script management module is further used to: if the simulated installation of the available middleware is successful, initiate a process of reviewing the final script of the available middleware.
[0017] Optionally, the tag determination module is further used to: determine an association relationship between tags, and determine a hierarchical relationship between the at least one available middleware according to the association relationship.
[0018] Optionally, the label determination module is further used to: for each available middleware, generate a polygonal topology map of the available middleware according to the label of the available middleware, and use the polygonal topology map as a portrait of the available middleware.
[0019] Optionally, the label determination module is further used to: determine the weight of the label of the available middleware;
[0020] The solution generation module is also used to: for each feature, match the feature with the label to determine the available middleware that matches the feature; when there are multiple available middleware that match the feature, determine the available middleware with the largest weight of the label among the multiple available middlewares, and use the available middleware with the largest weight of the label as the target middleware.
[0021] Optionally, the solution generation module is further used to: update the installation and deployment solution in response to a user's adjustment operation on the target middleware in the installation and deployment solution.
[0022] Optionally, the solution generation module is also used to: determine the deployment device corresponding to the at least one target middleware, associate the deployment device corresponding to the at least one target middleware, and generate a physical deployment architecture topology diagram; install and deploy the at least one target middleware on the deployment device according to the physical deployment architecture topology diagram; when the at least one target middleware is successfully installed and deployed, test the performance of the deployment device.
[0023] To achieve the above object, according to another aspect of an embodiment of the present invention, a method for determining a middleware installation and deployment scheme is provided, comprising:
[0024] registering at least one available middleware and creating an initial script for the at least one available middleware;
[0025] For each available middleware, arranging the initial script of the available middleware according to the installation and deployment process of the available middleware to obtain the final script of the available middleware;
[0026] determining a label of the at least one available middleware;
[0027] Receive application target information from a user, determine at least one target middleware corresponding to the application target information from the at least one available middleware according to the tag, and generate at least one installation and deployment plan corresponding to the application target information according to a final script of the at least one target middleware.
[0028] Optionally, determining the label of the at least one available middleware comprises: classifying the at least one available middleware and determining a label of each category of available middleware;
[0029] According to the label, determining at least one target middleware corresponding to the application target information from the at least one available middleware includes: based on the classification of the at least one available middleware, disassembling the application target information, and determining at least one feature of the application target information; matching the at least one feature with the label, and determining at least one target middleware corresponding to the application target information from the at least one available middleware.
[0030] Optionally, registering at least one available middleware includes: for each available middleware, determining an identifier of the available middleware; uploading an installation package of the available middleware to a server, and recording a version number of the installation package.
[0031] Optionally, creating an initial script for the at least one available middleware includes: creating an empty script, using the empty script as an initial script for the at least one available middleware, and configuring global common commands in the initial script.
[0032] Optionally, the initial script of the at least one available middleware is arranged according to the installation and deployment process of the at least one available middleware to obtain at least one final script, including: for each available middleware, configuring the commands and parameters required for installing and deploying the available middleware in the initial script of the available middleware to obtain the final script of the available middleware.
[0033] Optionally, after the command and parameter configuration is completed, the method further comprises: simulating the installation of the available middleware according to the command and parameter to verify the command and parameter.
[0034] Optionally, the method further comprises: if the simulated installation of the available middleware is successful, initiating a process of reviewing a final script of the available middleware.
[0035] Optionally, the method further includes: determining an association relationship between tags, and determining a hierarchical relationship between the at least one available middleware according to the association relationship.
[0036] Optionally, the method further includes: for each available middleware, generating a polygonal topology map of the available middleware according to the label, and using the polygonal topology map as a portrait of the available middleware.
[0037] Optionally, the method further comprises: determining a weight of the label of the available middleware;
[0038] Matching the at least one feature with the label, and determining at least one target middleware corresponding to the application target information from the at least one available middleware includes: for each feature, matching the feature with the label, and determining the available middleware matching the feature; when there are multiple available middlewares matching the feature, determining the available middleware with the largest weight of the label among the multiple available middlewares, and selecting the available middleware with the largest weight of the label as the target middleware.
[0039] Optionally, after generating at least one installation and deployment scheme corresponding to the application target information, the method further comprises: updating the installation and deployment scheme in response to a user's adjustment operation on a target middleware in the installation and deployment scheme.
[0040] Optionally, after generating at least one installation and deployment solution corresponding to the application target information, the method further includes:
[0041] Determine a deployment device corresponding to the at least one target middleware, associate the deployment device corresponding to the at least one target middleware, and generate a physical deployment architecture topology diagram;
[0042] According to the physical deployment architecture topology diagram, the at least one target middleware is installed and deployed on the deployment device;
[0043] After the at least one target middleware is successfully installed and deployed, the performance between the deployed devices is tested.
[0044] To achieve the above-mentioned purpose, according to another aspect of an embodiment of the present invention, there is provided an electronic device, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method for determining the middleware installation and deployment scheme according to an embodiment of the present invention.
[0045] To achieve the above objective, according to one aspect of an embodiment of the present invention, a computer-readable medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method for determining a middleware installation and deployment scheme according to an embodiment of the present invention is implemented.
[0046] An embodiment of the above invention has the following advantages or beneficial effects: registering at least one available middleware through a registration module and creating an initial script for the at least one available middleware; arranging the initial script of the at least one available middleware according to the installation and deployment process of the at least one available middleware through a script management module for each available middleware, and obtaining the final script of the at least one available middleware; determining the label of the at least one available middleware through a label determination module; receiving application target information from a user through a solution generation module, determining at least one target middleware corresponding to the application target information from the at least one available middleware according to the label of the available middleware, and generating at least one installation and deployment solution corresponding to the application target information according to the final script of the at least one target middleware, so that the middleware can be deployed automatically and in a standardized manner, thereby improving deployment efficiency.
[0047] The further effects of the above-mentioned non-conventional available methods will be described below in conjunction with specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.
[0049] Figure 1 It is a schematic diagram of main modules of an apparatus for determining a middleware installation and deployment solution according to an embodiment of the present invention;
[0050] Figure 2 It is a system architecture diagram of an apparatus for determining a middleware installation and deployment solution using an embodiment of the present invention;
[0051] Figure 3 is a functional schematic diagram of a registration module in an apparatus for determining a middleware installation and deployment solution according to an embodiment of the present invention;
[0052] Figure 4 It is a functional schematic diagram of a script management module in an apparatus for determining a middleware installation and deployment scheme according to an embodiment of the present invention;
[0053] Figure 5 is a functional schematic diagram of a label determination module in an apparatus for determining a middleware installation and deployment solution according to an embodiment of the present invention;
[0054] Figure 6 is a functional schematic diagram of a solution generation module in an apparatus for determining a middleware installation and deployment solution according to an embodiment of the present invention;
[0055] Figure 7 It is a schematic diagram of the main process of the method for determining the middleware installation and deployment solution according to an embodiment of the present invention;
[0056] Figure 8 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;
[0057] Fig. 9 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION
[0058] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0059] Figure 1 is a schematic diagram of the main modules of the apparatus 100 for determining the middleware installation and deployment scheme according to an embodiment of the present invention, such as Figure 1 As shown, the device 100 for determining the middleware installation and deployment plan includes a registration module 101, a script management module 102, a label determination module 103 and a plan generation module 104.
[0060] The registration module 101 is used to register at least one available middleware and create an initial script for the at least one available middleware;
[0061] The script management module 102 is used to arrange the initial script of each available middleware according to the installation and deployment process of the available middleware to obtain the final script of the available middleware;
[0062] The label determination module 103 is used to determine the label of the at least one available middleware;
[0063] The solution generation module 104 is used to receive application target information from the user, determine at least one target middleware corresponding to the application target information from the at least one available middleware according to the label, and generate at least one installation and deployment solution corresponding to the application target information according to the final script of the at least one target middleware.
[0064] The device 100 for determining the middleware installation and deployment plan of the embodiment of the present invention can automatically determine the target middleware that matches the user's application target information and obtain the installation and deployment plan of the target middleware through the above registration module 101, script management module 102, label determination module 103 and plan generation module 104. According to the installation and deployment plan, the target middleware can be automatically and labeled for installation and deployment, thereby improving deployment efficiency.
[0065] Among them, the registration module 101 is used to determine the identification of each available middleware; upload the installation package of the available middleware to the server, and record the version number of the installation package. As an example, when registering the available middleware, the available middleware is named, and the name is used as the identification of the available middleware, and the installation package of the available middleware is uploaded to the server as the installable software for the subsequent installation and deployment of the available middleware. Among them, the same available middleware can register multiple versions of the installation package at the same time, and the installation packages of different versions need to be maintained separately. In the subsequent solution deployment, the appropriate version is selected for installation according to the actual environment provided. In an optional embodiment, the identification of the available middleware can be stored in a database for subsequent query.
[0066] In an optional embodiment, the registration module 101 creates an initial script for the available middleware, including: creating an empty script, using the empty script as the initial script of the available middleware, and configuring global general commands in the initial script. Among them, the script can be described as a plan that requires a remote host to execute a command, or a set of commands for a group of programs to run. A global general command means that the command can be accessed from anywhere in the program. In this embodiment, any registration of available middleware (including adding a new version) requires generating an initial script for the available middleware. For different versions of the same available middleware, you can also choose to inherit the final script of the old version.
[0067] In an optional embodiment, the registration module 101 is also used to modify, query or delete available middleware.
[0068] The script management module 102 is mainly used to arrange the initial script according to the available middleware installation and deployment process. Among them, script arrangement refers to configuring the commands and parameters required for installing and deploying the available middleware in the initial script to obtain the final script of the available middleware. As an example, the style of arranging the initial script can refer to Ansible's playbook (script). Ansible is an architecture for automated operation and maintenance deployment.
[0069] In an optional embodiment, the script management module 102 is also used to simulate the installation of the available middleware according to the commands and parameters after the configuration of the commands and parameters is completed, so as to verify the commands and parameters. Specifically, after obtaining the final script, the final script rehearsal can be arranged in a test environment, mainly to perform installation and deployment operations according to the process of the final script to verify the correctness of the final script, that is, to verify the correctness of the above commands and parameters. If the simulated installation of the final script fails, the final script is returned to modify the final script.
[0070] In an optional embodiment, the script management module 102 is further used to: if the available middleware simulation installation is successful, initiate a process of reviewing the final script of the available middleware. As an example, reviewing the final script may review the rationality of the parameters in the final script and whether the final script meets the preset safety specifications.
[0071] In an optional embodiment, the script management module 102 is further used to: if the final script of the available middleware is approved, then publish the final script; if the final script of the available middleware is not approved, then roll back the final script.
[0072] In this embodiment, the script management module uniformly manages the final scripts of the available middleware to avoid environmental differences caused by installation differences.
[0073] The label determination module 103 extracts adaptability factors from the middleware, such as the type, processing performance, message receiving mode, etc., to form a portrait of the middleware, and performs portrait management. The label determination module 103 uses labels as basic elements to portray the portrait of each available middleware. Each available middleware can create multiple types of labels. Specifically, the label determination module 103 is used to: classify the at least one available middleware and determine the label of each type of available middleware. In an optional embodiment, the available middleware is classified according to the thinking of daily architecture selection, and the label of each type of available middleware is determined. For example, the available middleware can be divided into: acquisition, calculation, storage, resources, scheduling, query analysis, etc. Each classification determines different levels according to the association relationship, for example: the storage class can be connected to acquisition and calculation downward, and can be connected to calculation and query analysis upward. Preferably, each category can be further subdivided, for example, according to non-functional characteristics, it can be divided into: high availability, processing performance, scalability, ease of use, etc.; according to the receiving message channel, it can be divided into: HTTP (Hyper Text Transfer Protocol), JDBC (Java Database Connectivity), FTP (File Transfer Protocol), etc. The portrait of the available middleware is determined by labels of multiple different dimensions. The finer the label, the clearer the portrait.
[0074] As an example, taking the big data architecture as an example, in the big data solution, the middleware can be divided into several categories, such as collection, message queue, storage, computing, query, monitoring and scheduling. The middleware can also be subdivided in these categories, for example, computing can be divided into real-time computing and offline computing. Offline computing middleware includes: Spark batch (Spark is a fast and general computing engine designed for large-scale data processing, batch refers to batch processing scripts), Flink batch (Flink is an open source stream processing framework developed by the Apache Software Foundation, and its core is a distributed stream data flow engine written in Java and Scala), MapReduce (MapReduce is a programming model for parallel computing of large-scale data sets), etc.; real-time computing architecture includes: Spark Stream (Spark Stream is a quasi-stream computing framework), FlinkStream, Storm (Storm is a streaming computing framework), etc. Therefore, collection, message queue, storage, computing, real-time computing, offline computing, query, monitoring and scheduling can be used as labels for middleware. After determining the above labels, it can be further subdivided according to the non-functional characteristics of the middleware, such as performance, maturity, deployment complexity and popularity. Furthermore, the above middleware can be divided as follows:
[0075] First level classification: computing;
[0076] Secondary classification: real-time computing;
[0077] Three-level classification: Performance: Flink Stream>Spark Stream>Storm;
[0078] Three-level classification: Maturity: Spark Stream>Flink Stream>Storm;
[0079] Three-level classification: Deployment complexity: Spark Stream = Flink Stream = Storm;
[0080] Three-level classification: Popularity: Flink Stream>Spark Stream>Storm;
[0081] Secondary classification: offline calculation;
[0082] Three-level classification: Performance: Spark Batch = Flink Batch > MapReduce;
[0083] Three-level classification: Maturity: Spark Batch = MapReduce > Flink Batch;
[0084] Three-level classification: Deployment complexity: MapReduce>Spark Batch=Flink Batch.
[0085] Among them, Flink Stream>Spark Stream>Storm means that the performance of Flink Stream is better than SparkStream, and the performance of Spark Stream is better than Storm. In this embodiment, weights are set for the labels of available middleware, so the weight of the performance label of Flink Stream is greater than the weight of the performance label of Spark Stream, and the weight of the performance label of Spark Stream is greater than the weight of the performance label of Storm. Spark Stream=Flink Stream=Storm means that the deployment complexity of Spark Stream, Flink Stream, and Storm is the same, and the weights of the deployment complexity labels of the three are the same.
[0086] From the above, we can see that the characteristics of middleware are labelable. Therefore, the profile of each middleware can be determined, and then the installation and deployment plan can be determined in the specific usage scenario according to actual needs and condition constraints.
[0087] Optionally, the tag determination module 103 is further used to: determine the association relationship between tags. The optimal installation and deployment solution is achieved through the association relationship between tags. For example, the tags can be associated with the upper and lower available middleware according to the non-functional tags of the available middleware. For example, the high real-time performance of the computing middleware is associated with the high throughput of the storage.
[0088] In an optional embodiment, the label determination module 103 is further used to: for each available middleware, generate a polygonal topology map of the available middleware according to the label, and use the polygonal topology map as a portrait of the available middleware. In this embodiment, the advantages and disadvantages of each available middleware can be intuitively seen through the polygonal topology map of the available middleware, and then the applicable scenario of the available middleware can be determined, thereby providing basic data support for determining the installation and deployment plan.
[0089] In an optional embodiment, the label determination module 103 is also used to determine the weight of the label of the available middleware. In this embodiment, the purpose of setting the weight is to describe the matching degree between the middleware and the label. Therefore, the value of the weight can be set according to the characteristics of the available middleware itself. In this embodiment, if there are multiple target middlewares determined by the solution generation module 104, the target middleware with the highest label weight can be selected as the optimal target middleware.
[0090] In an optional embodiment, the label determination module 103 may also be used to modify the label of the available middleware and delete the label of the available middleware.
[0091] The solution generation module 104 is used to determine the middleware installation and deployment solution corresponding to the application target information. The solution generation module 104 performs feature analysis on the application target information proposed by the project demand personnel, and disassembles it according to the label dimension defined by the available middleware, and then adapts the disassembled feature factors to the labels of the available middleware one by one to find the most suitable available middleware architecture solution. When there are many different types of available middleware, multiple installation and deployment solutions are generally given, as well as the advantages and disadvantages of each installation and deployment solution. The demand personnel can choose the installation and deployment solution that best suits the application scenario according to the actual situation. The solution generation module provides a unified solution for the upper-level actual application scenarios based on the labels / portraits of the available middleware to form a solution library. Not only does it complete how the middleware is quickly deployed using the script, but it also achieves the automatic conversion of upper-level requirements to middleware selection. It truly realizes the rapid assembly and integration of demand solutions from proposal to implementation.
[0092] The solution generation module 104 is further used to update the installation and deployment solution in response to a user's adjustment operation on the target middleware in the installation and deployment solution.
[0093] In an optional embodiment, the solution generation module 104 is further used for:
[0094] Determine a deployment device corresponding to the at least one target middleware, associate the deployment device corresponding to the at least one target middleware, and generate a physical deployment architecture topology diagram;
[0095] According to the physical deployment architecture topology diagram, the at least one target middleware is installed and deployed on the deployment device;
[0096] After the at least one target middleware is successfully installed and deployed, the performance of the deployment device is tested.
[0097] The topology diagram refers to a network structure diagram consisting of network node devices (i.e., deployment devices corresponding to the target middleware in this embodiment) and communication media. After the target middleware is successfully installed and deployed, each link of the installation and deployment plan can be verified and tested, including connectivity testing and high availability testing.
[0098] The device for determining the installation and deployment scheme of middleware in the embodiment of the present invention registers at least one available middleware through a registration module and creates an initial script for the at least one available middleware; arranges the initial script of the at least one available middleware according to the installation and deployment process of the at least one available middleware through a script management module for each available middleware to obtain the final script of the at least one available middleware; determines the label of the at least one available middleware through a label determination module; receives application target information from the user through a scheme generation module, determines at least one target middleware corresponding to the application target information from the at least one available middleware according to the label of the available middleware, and generates at least one installation and deployment scheme corresponding to the application target information according to the final script of the at least one target middleware, so as to automate and standardize the deployment of middleware and improve deployment efficiency.
[0099] In an optional embodiment, the device for determining the middleware installation and deployment scheme includes a user management module, a system management module, a rights management module, a server management module, and an information collection module. Among them, the user management module is used to manage user information. The system management module is used to manage the device for determining the middleware installation and deployment scheme, the rights management module is used to manage user rights, the server management module is used to manage related servers / deployment devices, and the information collection module is used to collect information on related servers / deployment devices and installation and deployment schemes corresponding to target application information.
[0100] Figure 2 is a system architecture diagram of an apparatus for determining a middleware installation and deployment solution using an embodiment of the present invention, such as Figure 2 As shown, the bottom layer of the system is the Ansible architecture, on which a registration module, a script management module, a label determination module and a solution generation module are set, and a visualization page is set on the registration module, the script management module, the label determination module and the solution generation module. Among them, Ansible is an architecture for automated operation and maintenance deployment. Figure 3 As shown in Figure 1, the registration module mainly implements the registration and maintenance functions of available middleware, including the registration, naming, software package (ie, installation package) upload, version management, and modification, viewing, and deletion of available middleware information. Figure 4 As shown, the script management module is used to arrange the initial script to obtain the final script, and then simulate the installation of the final script and review the final script. Arranging the initial script means configuring the commands and parameters required for installing and deploying the available middleware in the initial script to obtain the final script of the available middleware. Figure 4As shown in Figure 1, the tag determination module is used to create, identify, associate, modify, and cancel tags, and generate portraits based on tags. Figure 5 As shown, the solution generation module is used to determine the target middleware corresponding to the application target information from the available middleware according to the user's application target information, and generate an installation deployment plan corresponding to the application target information according to the final script of the target middleware, and then update the installation deployment plan in response to the user's modification operation on the installation deployment plan. Then, the installation deployment plan is released and executed and verified. The visualization page mainly provides users with a unified access management entrance, such as a registration module, a script management module, a label determination module, and a solution generation module.
[0101] Figure 6 is a flowchart of the main steps of the method for determining the middleware installation and deployment solution according to an embodiment of the present invention. Figure 6 As shown, the method includes:
[0102] Step S601: register at least one available middleware, and create an initial script for the at least one available middleware;
[0103] Step S602: for each available middleware, arranging the initial script of the available middleware according to the installation and deployment process of the available middleware to obtain the final script of the available middleware;
[0104] Step S603: Determine the label of the at least one available middleware;
[0105] Step S604: Receive application target information from the user, determine at least one target middleware corresponding to the application target information from the at least one available middleware according to the label, and generate at least one installation and deployment plan corresponding to the application target information according to the final script of the at least one target middleware.
[0106] The method for determining the installation and deployment scheme of middleware in an embodiment of the present invention registers at least one available middleware and creates an initial script for the at least one available middleware; for each available middleware, the initial script of the available middleware is compiled according to the installation and deployment process of the available middleware to obtain the final script of the available middleware; the label of the at least one available middleware is determined; application target information from the user is received, and at least one target middleware corresponding to the application target information is determined from the at least one available middleware according to the label, and at least one installation and deployment scheme corresponding to the application target information is generated according to the final script of the at least one target middleware, thereby realizing automated and standardized deployment of middleware and improving deployment efficiency.
[0107] Optionally, determining the label of the at least one available middleware comprises: classifying the at least one available middleware and determining a label of each category of available middleware;
[0108] According to the label, determining at least one target middleware corresponding to the application target information from the at least one available middleware includes: based on the classification of the at least one available middleware, disassembling the application target information, and determining at least one feature of the application target information; matching the at least one feature with the label, and determining at least one target middleware corresponding to the application target information from the at least one available middleware.
[0109] Optionally, registering at least one available middleware includes: for each available middleware, determining an identifier of the available middleware; uploading an installation package of the available middleware to a server, and recording a version number of the installation package.
[0110] Optionally, creating an initial script for the at least one available middleware includes: creating an empty script, using the empty script as an initial script for the at least one available middleware, and configuring global common commands in the initial script.
[0111] Optionally, the initial script of the at least one available middleware is arranged according to the installation and deployment process of the at least one available middleware to obtain at least one final script, including: for each available middleware, configuring the commands and parameters required for installing and deploying the available middleware in the initial script of the available middleware to obtain the final script of the available middleware.
[0112] Optionally, after the command and parameter configuration is completed, the method further comprises: simulating the installation of the available middleware according to the command and parameter to verify the command and parameter.
[0113] Optionally, the method further comprises: if the simulated installation of the available middleware is successful, initiating a process of reviewing a final script of the available middleware.
[0114] Optionally, the method further includes: determining an association relationship between tags, and determining a hierarchical relationship between the at least one available middleware according to the association relationship.
[0115] Optionally, the method further includes: for each available middleware, generating a polygonal topology map of the available middleware according to the label, and using the polygonal topology map as a portrait of the available middleware.
[0116] Optionally, the method further comprises: determining a weight of the label of the available middleware;
[0117] Matching the at least one feature with the label, and determining at least one target middleware corresponding to the application target information from the at least one available middleware comprises: for each feature, matching the feature with the label of the at least one available middleware, determining the available middleware matching the feature, and using the available middleware matching the feature as an optional middleware;
[0118] When there are multiple optional middlewares, the optional middleware with the largest label weight is determined from the multiple optional middlewares, and the optional middleware with the largest label weight is used as the target middleware.
[0119] Optionally, after generating at least one installation and deployment scheme corresponding to the application target information, the method further comprises: updating the installation and deployment scheme in response to a user's adjustment operation on a target middleware in the installation and deployment scheme.
[0120] Optionally, after generating at least one installation and deployment solution corresponding to the application target information, the method further includes:
[0121] Determine a deployment device corresponding to the at least one target middleware, associate the deployment device corresponding to the at least one target middleware, and generate a physical deployment architecture topology diagram;
[0122] According to the physical deployment architecture topology diagram, the at least one target middleware is installed and deployed on the deployment device;
[0123] After the at least one target middleware is successfully installed and deployed, the performance between the deployed devices is tested.
[0124] In an optional embodiment, the middleware installation and deployment device provides a visual operation page, which mainly provides users with a unified access management portal, mainly including: middleware registration management, script management, middleware portrait management, and other auxiliary modules, such as: user management, system management, role management, server management, etc.
[0125] Figure 7 An exemplary system architecture 700 is shown to which the method for determining a middleware installation and deployment solution or the apparatus for determining a middleware installation and deployment solution according to the embodiments of the present invention can be applied.
[0126] like Figure 7 As shown, system architecture 700 may include terminal devices 701, 702, 703, network 704 and server 705. Network 704 is used to provide a medium for communication links between terminal devices 701, 702, 703 and server 705. Network 704 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0127] The user can use the terminal devices 701, 702, 703 to interact with the server 705 through the network 704 to receive or send messages, etc. Various communication client applications can be installed on the terminal devices 701, 702, 703.
[0128] The terminal devices 701 , 702 , and 703 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.
[0129] The server 705 may be a server that provides various services. The server may analyze and process the received data such as target application information, and feed back the processing results (such as installation and deployment solutions) to the terminal device.
[0130] It should be noted that the method for determining the middleware installation and deployment scheme provided in the embodiment of the present invention is generally executed by the server 705 , and accordingly, the device for determining the middleware installation and deployment scheme is generally set in the server 705 .
[0131] It should be understood that Figure 7 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.
[0132] Reference below Figure 8 , which shows a schematic diagram of the structure of a computer system 800 of a server device suitable for implementing an embodiment of the present invention. Figure 8 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0133] like Figure 8 As shown, the computer system 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage part 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the system 800 are also stored. The CPU 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0134] The following components are connected to the I / O interface 805: an input section 806 including a keyboard, a mouse, etc.; an output section 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card such as a LAN card, a modem, etc. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the I / O interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 810 as needed, so that a computer program read therefrom is installed into the storage section 808 as needed.
[0135] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 809, and / or installed from the removable medium 811. When the computer program is executed by the central processing unit (CPU) 801, the above-mentioned functions defined in the system of the present invention are executed.
[0136] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0137] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0138] The modules involved in the embodiments of the present invention may be implemented in software or hardware. The modules described may also be set in a processor. For example, they may be described as: a processor includes a sending module, an acquisition module, a determination module, and a first processing module. The names of these modules do not, in some cases, constitute a limitation on the unit itself. For example, the sending module may also be described as a "module for sending a picture acquisition request to the connected server."
[0139] As another aspect, the present invention further provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently without being assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes:
[0140] registering at least one available middleware and creating an initial script for the at least one available middleware;
[0141] For each available middleware, arranging the initial script of the available middleware according to the installation and deployment process of the available middleware to obtain the final script of the available middleware;
[0142] determining a label of the at least one available middleware;
[0143] Receive application target information from a user, determine at least one target middleware corresponding to the application target information from the at least one available middleware according to the tag, and generate at least one installation and deployment plan corresponding to the application target information according to a final script of the at least one target middleware.
[0144] The technical solution of the embodiment of the present invention can automatically and standardize the installation and deployment of middleware, thereby improving deployment efficiency.
[0145] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A device for determining a middleware installation and deployment scheme, characterized in that: include: A registration module, used to register at least one available middleware and create an initial script for the at least one available middleware, where the script is described as a scheme that requires a remote host to execute a command, or a set of commands for a program to run; A script management module is used to, for each available middleware, arrange the initial script of the available middleware according to the installation and deployment process of the available middleware to obtain the final script of the available middleware; script arrangement refers to configuring the commands and parameters required for installing and deploying the available middleware in the initial script to obtain the final script of the available middleware; Also used for: for each available middleware, configuring the commands and parameters required for installing and deploying the available middleware in the initial script of the available middleware to obtain the final script of the available middleware; and after the configuration of the commands and parameters is completed, simulating the installation of the available middleware according to the commands and parameters to verify the commands and parameters; and, if the simulated installation of the available middleware is successful, initiating a process of reviewing the final script of the available middleware; A label determination module, used to determine a label of the at least one available middleware; And, classifying the at least one available middleware and determining a label for each type of available middleware; the middleware is divided into collection, message queue, storage, calculation, query, monitoring and scheduling; The tag determination module is further used to: determine the association relationship between tags, and determine the hierarchical relationship between the at least one available middleware according to the association relationship; A solution generation module, configured to receive application target information from a user, determine at least one target middleware corresponding to the application target information from the at least one available middleware according to the tag, and generate at least one installation and deployment solution corresponding to the application target information according to a final script of the at least one target middleware; and, based on the classification of the at least one available middleware, disassembling the application target information and determining at least one feature of the application target information; The at least one feature is matched with the tag, and at least one target middleware corresponding to the application target information is determined from the at least one available middleware.
2. The device according to claim 1, characterized in that The registration module is also used to: For each available middleware, determining an identifier of the available middleware; The installation package of the available middleware is uploaded to the server, and the version number of the installation package is recorded.
3. The device according to claim 2, characterized in that The registration module is also used to: create an empty script, use the empty script as the initial script of the available middleware, and configure global general commands in the initial script.
4. The device according to claim 1, characterized in that The label determination module is further used to: for each available middleware, generate a polygonal topology map of the available middleware according to the label of the available middleware, and use the polygonal topology map as a portrait of the available middleware.
5. The device according to claim 4, characterized in that The label determination module is also used to: determine the weight of the label of the available middleware; The solution generation module is also used to: for each feature, match the feature with the tag to determine available middleware matching the feature; When there are multiple available middlewares matching the feature, the available middleware with the largest weight of the tag among the multiple available middlewares is determined, and the available middleware with the largest weight of the tag is used as the target middleware.
6. The device according to claim 1, characterized in that The solution generation module is further used to update the installation and deployment solution in response to a user's adjustment operation on the target middleware in the installation and deployment solution.
7. The device according to claim 6, characterized in that The solution generation module is also used for: Determine a deployment device corresponding to the at least one target middleware, associate the deployment device corresponding to the at least one target middleware, and generate a physical deployment architecture topology diagram; According to the physical deployment architecture topology diagram, the at least one target middleware is installed and deployed on the deployment device; After the at least one target middleware is successfully installed and deployed, the performance of the deployment device is tested.
8. A method for determining a middleware installation and deployment scheme, characterized in that: include: Register at least one available middleware, and create an initial script for the at least one available middleware, where the script is described as a scenario that requires a remote host to execute a command, or a set of commands that a program runs; For each available middleware, the initial script of the available middleware is arranged according to the installation and deployment process of the available middleware to obtain the final script of the available middleware; script arrangement refers to configuring the commands and parameters required for installing and deploying the available middleware in the initial script to obtain the final script of the available middleware; for each available middleware, the commands and parameters required for installing and deploying the available middleware are configured in the initial script of the available middleware to obtain the final script of the available middleware; after the configuration of the commands and parameters is completed, the installation of the available middleware is simulated according to the commands and parameters to verify the commands and parameters; if the simulated installation of the available middleware is successful, a process of reviewing the final script of the available middleware is initiated; determining a label of the at least one available middleware; The middleware is divided into collection, message queue, storage, calculation, query, monitoring and scheduling; determining the association relationship between tags, and determining the hierarchical relationship between the at least one available middleware according to the association relationship; Receive application target information from a user, determine at least one target middleware corresponding to the application target information from the at least one available middleware according to the tag, and generate at least one installation and deployment solution corresponding to the application target information according to the final script of the at least one target middleware; Determining the label of the at least one available middleware includes: classifying the at least one available middleware and determining a label of each category of available middleware; According to the label, determining at least one target middleware corresponding to the application target information from the at least one available middleware includes: based on the classification of the at least one available middleware, disassembling the application target information, and determining at least one feature of the application target information; matching the at least one feature with the label, and determining at least one target middleware corresponding to the application target information from the at least one available middleware.
9. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to claim 8.
10. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to claim 8 is implemented.
Citation Information
Patent Citations
Middleware installation method and device, computer equipment and storage medium
CN108845808A