Service deployment method and related equipment

By obtaining installation files in the service operation and maintenance system and using the authorization protocol to communicate, the problems of poor file confidentiality and communication blockage in privatized deployment are solved, service deployment between physically isolated networks is realized, and the deployment process is simplified through container technology.

CN114281352BActive Publication Date: 2025-03-21BOE TECHNOLOGY GROUP CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011044431.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-28
Publication Date
2025-03-21
Estimated Expiration
2040-09-28

AI Technical Summary

Technical Problem

The existing privatized deployment methods have poor file confidentiality, the ssh protocol is disabled, and the lack of graphical and complex configuration requirements for the installation process.

Method used

By obtaining the installation files of the services to be deployed from the service operation and maintenance system, accessing the internal network of the service deployment needs object, using authorization protocols such as zmq protocol for communication between business servers, and completing service deployment in the business server, and using container technology such as Docker for deployment.

Benefits of technology

It realizes service deployment between physically isolated networks, avoids the need to copy files to business servers, reduces the risk of technical leakage, and simplifies the deployment process through graphical interfaces and containerized technologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114281352B_ABST
    Figure CN114281352B_ABST
Patent Text Reader

Abstract

The present disclosure provides a service deployment method and related equipment, including: obtaining the installation file of the service to be deployed from the service operation and maintenance system; accessing the first internal network of the service deployment requirement object; using the authorization protocol of the service deployment requirement object, communicating with the business server working in the second internal network of the service deployment requirement object through the first internal network; wherein the second internal network is the network where the business server of the service to be deployed of the service deployment requirement object is located, the first internal network and the second internal network are interconnected, and the second internal network allows access through the authorization protocol; using the installation file of the service to be deployed to complete the service deployment in the business server of the service deployment requirement object. The service deployment method and related equipment provided by the present disclosure can better complete the service deployment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a service deployment method and related equipment. Background Art

[0002] Privatization deployment is generally understood as local deployment within an enterprise. The objects of privatization deployment generally include enterprise management tools, enterprise communication tools, enterprise development tools, etc.

[0003] The inventors of the present disclosure discovered in the process of implementing the present disclosure that the existing privatization deployment has at least one of the following problems: 1) Offline installation requires downloading files to the customer server (e.g., any server belonging to the customer), which is not conducive to the confidentiality of the installation files. 2) The customer's business servers (e.g., customer servers that need to be privatized) need to communicate based on the Secure Shell protocol (ssh), but the ssh protocol is disabled between the intranet servers of many companies (e.g., customer servers working in the customer's intranet), which hinders the communication process. 3) The service installation process does not provide graphics, and the configuration file is complicated to write, requiring professional development and operation personnel to operate. Summary of the invention

[0004] In view of this, the present disclosure proposes a service deployment method and related devices.

[0005] A first aspect of the present disclosure provides a service deployment method, comprising:

[0006] Obtain the installation files of the service to be deployed from the service operation and maintenance system;

[0007] A first internal network of an object requiring access service deployment;

[0008] Utilizing the authorization protocol of the service deployment requirement object, communicating with a business server working in a second internal network of the service deployment requirement object through the first internal network; wherein the second internal network is a network where a business server of a service to be deployed by the service deployment requirement object is located, the first internal network and the second internal network are interconnected, and the second internal network is allowed to be accessed through the authorization protocol;

[0009] The installation file of the service to be deployed is used to complete the service deployment in the business server of the service deployment requirement object.

[0010] Optionally, using the authorization protocol of the service deployment requirement object to communicate with a business server operating in a second internal network of the service deployment requirement object through the first internal network includes:

[0011] Based on a batch management tool, the authorization protocol of the service deployment requirement object is utilized to communicate with a business server working in a second internal network of the service deployment requirement object through the first internal network.

[0012] Optionally, the authorization protocol is the zmq protocol.

[0013] Optionally, the service deployment method further includes:

[0014] The service operation and maintenance system is used to perform code scanning and testing on the installation file to determine the availability of the installation file.

[0015] Optionally, obtaining the installation file of the service to be deployed from the service operation and maintenance system includes: obtaining an image file of the service to be deployed;

[0016] The installation file of the service to be deployed is used to complete the service deployment in the business server of the service deployment requirement object, including: using the image file of the service to be deployed and using container technology to complete the service deployment in the business server of the service deployment requirement object.

[0017] Optionally, the service deployment method further includes:

[0018] Obtain the management file of the image file of the service to be deployed from the service operation and maintenance system;

[0019] The management file of the image file of the service to be deployed is used to complete the management and deployment of the service in the business server of the service deployment requirement object.

[0020] Optionally, the service deployment method further includes:

[0021] The service interface of the business server is called to test the deployed service.

[0022] Optionally, the service deployment method further includes:

[0023] Determining whether it is possible to communicate with a service server operating in the second internal network through the first internal network;

[0024] If it is not possible to communicate with the business server working in the second internal network through the first internal network, the deployment mode is switched.

[0025] According to a second aspect of the present disclosure, an electronic device is provided, comprising:

[0026] An interface unit, used to connect to a first internal network of a service operation and maintenance system or a service deployment requirement object;

[0027] a memory for storing a set of instructions; and

[0028] At least one processor is configured to execute the set of instructions to perform the method as described in the first aspect.

[0029] A third aspect of the present disclosure provides a service deployment system, including:

[0030] The electronic device according to the second aspect, and

[0031] The service operation and maintenance system is configured to establish a connection with the electronic device and send an installation file of the service to be deployed to the electronic device.

[0032] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to cause the computer to execute the method described in the first aspect.

[0033] It can be seen from the above that the service deployment method and related equipment disclosed in the present invention provide a privatized deployment method that can use electronic devices to connect the upstream and downstream of the service deployment pipeline between physically isolated networks. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the technical solutions in the present disclosure or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings in the following description are only for the present disclosure, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0035] Figure 1 An exemplary structural diagram of a service deployment system provided by an embodiment of the present disclosure is shown;

[0036] Figure 2 A schematic diagram showing an exemplary process of a service deployment method provided by the present disclosure;

[0037] Figure 3 An exemplary schematic diagram of an operation interface provided by the present disclosure is shown;

[0038] Figure 4 A schematic diagram showing an exemplary process of service deployment provided by the present disclosure;

[0039] Figure 5 A schematic diagram showing another exemplary process of a service deployment method provided by the present disclosure;

[0040] Figure 6 A more specific schematic diagram of the hardware structure of an electronic device provided by this embodiment is shown. DETAILED DESCRIPTION

[0041] In order to make the objectives, technical solutions and advantages of the present disclosure more clearly understood, the present disclosure is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.

[0042] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the present disclosure should be understood by people with ordinary skills in the field to which the present disclosure belongs. The words "first", "second" and similar words used in the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "comprise" and similar words mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.

[0043] DevOps (a combination of Development and Operations) is an automated development and operation system that breaks down the barriers between development, operation, maintenance, and testing. Its main workflow is: the developer submits the code and merges it into the required branch to trigger the pipeline. After the code is compiled, use a code analysis tool (such as sonarqueb) to scan the code. After the code is scanned, it is packaged and made into an image file and uploaded to the DevOps image repository. Then the DevOps release system releases it to the customer's business server (the server where the service is deployed), and the DevOps system provides monitoring and alarms. The entire process generally does not require manual operation and can be completed automatically after the triggering conditions are met.

[0044] With the introduction of DevOps (Development Operation and Maintenance Management Platform), development and operation work has become easier and more efficient. However, these concepts and related solutions are generally based on a large-scale development-test-production platform. For private deployment provided to customers, for security reasons, the customer company's intranet server may not be able to access the DevOps system, and it is still at the stage of script or program deployment. At the same time, due to the network isolation between the intranets of each company, it is currently impossible to run between the isolated intranets of each company.

[0045] Some private deployment solutions may have some disadvantages: 1) Offline installation requires downloading files to the customer server, which is not conducive to confidentiality. 2) SSH communication is required between business servers, but the SSH protocol is disabled between many corporate intranet servers. 3) The installation process does not provide graphics, and the configuration file is complicated to write, requiring professional development and operation personnel to operate.

[0046] As the company's business scale expands, the demand for private deployment is increasing. Other private deployment solutions may have some problems: 1) Each private deployment requires the development and operation personnel to provide the latest installation package. 2) The installation process is completed by pre-made automated scripts. If there is a problem with the process, it is difficult to locate and solve it without the development and operation personnel on site. 3) The output of the installation process is not graphical, and the modification of the configuration file is relatively complicated, which is not convenient for business personnel to operate. 4) Due to the different resources of the customers, business personnel need to consult the development and operation personnel on the service architecture.

[0047] In order to solve the above problems, the present disclosure proposes a service deployment method, including: obtaining the installation file of the service to be deployed from the service operation and maintenance system; accessing the first internal network of the service deployment requirement object; using the authorization protocol of the service deployment requirement object, communicating with the business server working in the second internal network of the service deployment requirement object through the first internal network; the second internal network is the business server intranet of the service deployment requirement object, and the first internal network and the second internal network are interconnected; using the installation file of the service to be deployed, the service deployment is completed in the business server of the service deployment requirement object. In this way, the present disclosure provides a privatized deployment method that can use electronic devices between physically isolated networks to open up the upstream and downstream of the service deployment pipeline.

[0048] Figure 1 An exemplary structural diagram of a service deployment system provided by an embodiment of the present disclosure is shown.

[0049] The service deployment system 100 includes an upstream service operation and maintenance system 102, a downstream server 104 of a service deployment demand object, and an electronic device 106 that connects the service operation and maintenance system 102 and the server 104 of the service deployment demand object.

[0050] The service operation and maintenance system 102 may be implemented as a DevOps system, which may provide installation files, configuration files, upgrade files, and other files of the service to be deployed. The electronic device 106 obtains relevant files from the service operation and maintenance system 102 according to the content of the service to be deployed, for example, obtaining the installation file of the service to be deployed. In some embodiments, the installation file may be implemented as an image file, and then container technology (e.g., Docker) may be used to complete the deployment based on the image file when deploying the service.

[0051] The electronic device 106 realizes the connection between the upstream and downstream of the service deployment, and can also be called a ferry terminal. The electronic device 106 can be implemented as a hardware device that is easy to carry, for example, it can be implemented as a hardware device with a shape and size similar to a mobile hard disk, and can access the service operation and maintenance system 102 by connecting to the equipment of the supplier that provides the service deployment function, for example, by connecting to the supplier's office computer to access the service operation and maintenance system 102. The connection between the supplier's office computer and the service operation and maintenance system 102 can be achieved through the supplier's internal LAN, or through the Internet. The specific implementation method depends on the specific situation and is not limited here. In some embodiments, the electronic device 106 can also be implemented as a portable hardware device with computer functions, such as a laptop computer, a tablet computer, etc. In some embodiments, the electronic device 106 may also be implemented as a smaller hardware device, such as a hardware device with a shape and size close to a USB flash drive.

[0052] After the electronic device 106 accesses the service operation and maintenance system 102, it can obtain the installation file of the service to be deployed from the service operation and maintenance system 102, and use the installation file to deploy the service after accessing the internal network of the service deployment requirement object.

[0053] After being moved to the service deployment requirement object, the electronic device 106 can access the first internal network of the service deployment requirement object. In some embodiments, the first internal network can be the internal network of the service deployment requirement object, and the permission setting of the internal network is relatively low. For example, it can be the office network of the service deployment requirement object. The electronic device 106 can access the first internal network by accessing the office computer of the service deployment requirement object, and usually no additional authorization operation is required.

[0054] After accessing the first internal network, the electronic device 106 can communicate with the business server working in the second internal network of the service deployment demand object through the first internal network using the authorization protocol of the service deployment demand object. In some embodiments, the second internal network is the business server intranet of the service deployment demand object, the first internal network and the second internal network are interconnected, the business server is the target server of the service deployment, and belongs to one or more of the servers 104 of the service deployment demand object. When the business server is the intranet server of the service deployment demand object, it may be working in a network with a relatively narrow scope of authority, so some protocols may be disabled. Therefore, it is necessary to use the authorization protocol of the service deployment demand object (or the authorization protocol of the intranet server) to communicate in order to be allowed by the second internal network. In some embodiments, the authorization protocol can be the zmq protocol, which is generally not disabled by the enterprise's intranet server compared to the ssh protocol. Therefore, when using the zmq protocol, the communication between the electronic device 106 and the enterprise's intranet server can be realized by using the connected first and second internal networks, and it is not easy for the protocol to be disabled.

[0055] After the electronic device 106 uses the first internal network and the second internal network to achieve communication with the business server, it can use the installation file of the service to be deployed to complete the service deployment in the business server of the service deployment demand object. In some embodiments, the installation file is a mirror file, and the use of the installation file of the service to be deployed to complete the service deployment in the business server of the service deployment demand object includes: using the mirror file of the service to be deployed to use container technology (such as Docker) in the business server of the service deployment demand object to complete the service deployment. In this way, using Docker containerization, the dependence on the business server is small, and the installation is more convenient and reliable. In some embodiments, the electronic device 106 can also obtain the management file of the mirror file of the service to be deployed from the service operation and maintenance system 102 (such as the docker-compose management tool); and the electronic device 106 can use the management file of the mirror file of the service to be deployed to complete the management and deployment of the service in the business server of the service deployment demand object. In this way, using docker-compose to provide orchestration and lifecycle management takes up less resources than container management platforms such as k8s and k3s, is more suitable for small-scale private installation, and is easier to manage.

[0056] The service to be deployed in this embodiment can be any service, for example, conference signage service, intelligent conference management service, intelligent handle development environment service, intelligent conference management system service, conference signage project production environment service, general information release production environment service, etc.

[0057] The following takes the information publishing system as an example to exemplify the working process 200 of the electronic device 106 deploying the service. Figure 2 shown.

[0058] The electronic device 106 can access the service operation and maintenance system 102 using the supplier's office computer. After accessing the service operation and maintenance system 102, the office computer displays Figure 3 The interface shown.

[0059] In step 202, file configuration may be performed first.

[0060] like Figure 3 As shown, select the front-end and back-end in the interface and open the settings, and complete the following operations respectively:

[0061] In the Project Name column, enter the project name of the service to be deployed;

[0062] Fill in the URL address of the Jenkins project of the service to be deployed and the corresponding token in the compilation setting column, so as to obtain the installation file or image file of the service to be deployed from the service operation and maintenance system 102 accordingly;

[0063] Upload the docker-compose file; the functions of the docker-compose file include: orchestration of containers (for example, which image file the container uses to start, container mapping ports, persistent storage, variables in the container, etc.) and container lifecycle management (for example, when the container will be restarted); the functions of the docker-compose file in each project may be different, and different versions of the docker-compose file of the same project may also be updated, so a location for uploading the docker-compose file may be reserved; and in some embodiments, if the existing docker-compose file in the electronic device 106 meets the deployment requirements, there is no need to upload the docker-compose file;

[0064] Fill in the image name and tag of the installation file.

[0065] Next, you can select the database in the interface and open the settings to complete the following operations:

[0066] Select the database type as mysql and select the image version of the database;

[0067] Select the database architecture type as master-slave architecture, that is, there is a master server and at least one slave server in the server where the service is deployed;

[0068] Fill in the basic database and the corresponding user name and password;

[0069] Upload the sql script of the database; the sql script is used to initialize the database. For example, some project startups need to write some relevant data in the database in advance for service use. In these cases, it is necessary to upload the corresponding sql script to initialize the database. It can be seen that in some cases, developers may not necessarily put the sql script for initializing the database in the code of the service to be deployed. In order to improve the availability of the electronic device, a place for uploading the sql script can be reserved. In some embodiments, if the code of the service to be deployed already has a sql script for initializing the database, there is no need to upload the sql script for initializing the database.

[0070] In step 204, the installation file may be obtained.

[0071] When the electronic device 106 is in the supplier's intranet, select the front end and the back end in the interface respectively, and click the Get button to get the latest image files of the services corresponding to the front end and the back end respectively. Specifically, first obtain the latest code files of the corresponding services from the database of the service operation and maintenance system 102, then compile the code files and use the sonarqube tool provided by the service operation and maintenance system 102 to complete the code file scanning and detection. After the scanning and detection pass, package or save the products and make them into image files, which are then acquired and saved by the electronic device 106. In some embodiments, the image file can also be uploaded to the image warehouse for subsequent use. In some embodiments, if the image file already exists, it can be directly acquired without the need to perform the aforementioned code compilation, scanning and other steps.

[0072] The database image file may be built into the electronic device 106 , and the database version generally does not change, so it does not need to be obtained every time deployment preparation is performed.

[0073] In step 206, service deployment preparation is performed.

[0074] 1) connecting the electronic device 106 to the first internal network of the service deployment demand object (eg, the customer's office network);

[0075] 2) Run the customized saltstack client script on the customer's server 104, thereby registering the customer's server 104 to the electronic device 106. The customized saltstack client script is a very small client installation file. Copy it to the business server and execute the run command. You will be prompted to enter the name of the business server. Enter the server address of the business server and you are done. After the saltstack client script is completed, it will actively link to the electronic device 106 and perform corresponding operations on the business server according to the instructions of the electronic device 106, such as: 1) Receive files sent by the electronic device 106 and copy them to the corresponding location of the business server; 2) Start the container and stop the container; 3) Upload server information, container status, etc. to the electronic device 106.

[0076] In step 208, service deployment is performed.

[0077] Enter the IP address of the electronic device 106 in the first internal network in the browser to enter the installation interface.

[0078] refer to Figure 4 As shown, in step 2082, the database service is first deployed.

[0079] Click the Database tab, and the database architecture can be selected as 1 master and 1 slave. In the drop-down menu, select the corresponding server 104 from the server 104 of the service deployment requirement object as the master server and the slave server respectively.

[0080] In some embodiments, various database architectures are pre-configured for selection in the electronic device 106. The electronic device 106 obtains information about the server 104 of the service deployment requirement object and writes it in a drop-down menu of the interface for selection.

[0081] Enter the database installation path.

[0082] In some embodiments, the system is installed in the / data directory by default; when it is detected that there is no / data directory, it can be installed in the / usr / local / directory.

[0083] Click the Install button to start deploying the database service.

[0084] After the database deployment is complete and the system detection is successful, the deployment results are displayed.

[0085] In step 2084, the background service is then deployed.

[0086] Click the Backstage tab, select High Availability Architecture, and select two servers from the server 104 of the service deployment requirement object for deploying the backstage service; the High Availability Architecture is a server architecture method relative to a single point, that is, each service will be deployed to multiple servers. Here is an option for server architecture in the menu, and you can choose to deploy in a high availability or single point manner.

[0087] Fill in the background installation path.

[0088] In some embodiments, the system is installed in the / data directory by default. If it is detected that there is no / data directory, the system can be installed in the / usr / local / directory.

[0089] Click the Install button to start the deployment of the backend service. For example, you can send the image file of the backend service to the selected business server to complete the installation.

[0090] After the background deployment is completed and the system detection is successful, the deployment results are displayed.

[0091] In step 2086, the front-end service is then deployed.

[0092] Click the front-end tab, select high availability architecture, and select two servers from the server 104 of the service deployment requirement object to install the front-end service; the high availability architecture is a server architecture method relative to a single point, that is, each service will be deployed to multiple servers. Here is an option for server architecture in the menu, and you can choose high availability or single point deployment.

[0093] Fill in the installation path of the front end.

[0094] In some embodiments, the system is installed in the / data directory by default. If it is detected that there is no / data directory, the system can be installed in the / usr / local / directory.

[0095] Click the Install button to start the deployment of the front-end service. For example, you can send the image file of the front-end service to the selected business server to complete the installation.

[0096] In some embodiments, the high-availability architecture will install two services, keepalive and nginx. In the high-availability architecture, nginx+keepalive will form a cluster with multiple business nodes to ensure that each business node can be reasonably assigned tasks (load balancing), and any node downtime business can still run normally (downtime nodes will be discovered by the health check of the master node nginx and removed from the cluster until nginx checks that the node is normal and is added to the cluster by nginx. If the nginx master node is down, keepalive will make another nginx the master node).

[0097] After the front-end deployment is completed and the system detection is successful, the deployment results are displayed.

[0098] In step 210, the deployed service is tested.

[0099] Click the Test button to call the test script to obtain the test results.

[0100] The test passed and the service deployment was completed.

[0101] After the service deployment is completed, if the related services need to be updated, different update methods are used according to different situations.

[0102] If it is a regular update of the front-end service or the back-end service, the electronic device 106 can be used to access the service operation and maintenance system 102 and obtain the latest image file of the front-end service or the back-end service.

[0103] If it is a database update, the latest SQL file needs to be uploaded to the electronic device 106, and the database update operation will be automatically executed when the electronic device 106 is used to deploy the service in the business server of the service deployment requirement object.

[0104] If the front-end service or the back-end service has a major version change, it is necessary to display the interface of the electronic device 106 (refer to Figure 3 ) in the service settings to re-fill the image file tag.

[0105] If the configuration of the front-end service or back-end service changes, you generally need to re-upload the docker-compose file.

[0106] It can be seen from the above embodiments that the present disclosure provides a privatized deployment method that can use electronic devices to connect the upstream and downstream of the service deployment pipeline between physically isolated networks. In some embodiments, the present disclosure is based on the DevOps pipeline, and utilizes a lightweight and movable node - "ferry terminal" (electronic device 106) to break the physical isolation of the network to complete a way of privatizing the deployment of the pipeline. For the code update, compilation, and scanning parts, the ferry terminal will "dock" in the existing DevOps system and complete them automatically. For the privatized deployment / detection part of the service, the ferry terminal will be "ferried" to the client company network with physical isolation of the network, and the privatized deployment will be completed by building a lightweight downstream part of the pipeline. At the same time, the ferry terminal does not need to be connected to the intranet of the business server (the server where the service is deployed), and there is no need to copy all files to the business server, which provides security performance.

[0107] Figure 5 A schematic diagram showing an exemplary process of a service deployment method provided by the present disclosure.

[0108] like Figure 5 As shown, the service deployment method 300, applied to the electronic device 106, includes:

[0109] Step 302: Obtain the installation file of the service to be deployed from the service operation and maintenance system.

[0110] In step 302, the acquisition and code scanning of the installation service upstream of the privately deployed pipeline can be completed.

[0111] In this step, the electronic device 106 ("ferry terminal") may provide a user interface (UI), for example, a management interface in a web manner, so as to complete all configurations and operations related to the service to be deployed.

[0112] In some embodiments, the electronic device 106 accesses a DevOps system to obtain the latest stable installation package.

[0113] In some embodiments, the service deployment method 300 further includes:

[0114] The service operation and maintenance system is used to perform code scanning and testing on the installation file to determine the availability of the installation file.

[0115] For example, the electronic device 106 uses sonarqube in the DevOps system to scan the code. If the scan fails, the release pipeline stops; if the scan passes, the pipeline continues.

[0116] Step 304: Access the first internal network of the service deployment requirement object.

[0117] In this step, the electronic device 106 is moved to a designated location of the service deployment requirement object (customer), such as any office location or server location of the customer, and the electronic device 106 is connected to the first internal network of the service deployment requirement object, such as the customer's office network (a network used by general employees).

[0118] Generally, the access authority set for the first internal network is relatively low, and the electronic device 106 generally does not need special authorization to access the first internal network.

[0119] Step 306: Utilize the authorization protocol of the service deployment requirement object to communicate with the business server working in the second internal network of the service deployment requirement object through the first internal network; wherein, the second internal network is the network where the business server of the service to be deployed by the service deployment requirement object is located, the first internal network and the second internal network are interconnected, and the second internal network allows access through the authorization protocol.

[0120] In this step, the authorization protocol of the service deployment requirement object can be authorized by the service deployment requirement object or authorized by the second internal network of the service deployment requirement object; the second internal network allows access through the authorization protocol, so that the electronic device 106 can communicate with the second internal network through the first internal network on the basis of the authorization protocol, and then perform service deployment on the business server.

[0121] In this step, the business server is a server for services to be deployed. After the service deployment is completed, the business server runs the corresponding service, and is therefore called a business server.

[0122] In some embodiments, using the authorization protocol of the service deployment requirement object to communicate with a business server operating in a second internal network of the service deployment requirement object through the first internal network includes:

[0123] Based on the saltstack batch management tool, the authorization protocol of the service deployment requirement object is utilized to communicate with the business server working in the second internal network of the service deployment requirement object through the first internal network.

[0124] In this embodiment, the electronic device 106 is developed based on the saltstack batch management tool. Saltstack is a batch management tool that uses the ZMQ protocol. Compared with tools using the SSH protocol, it is more secure and more easily accepted by connections across local area networks. The electronic device 106 of this embodiment is developed based on the saltstack batch management tool. It uses the ZMQ protocol and can generally be accepted by the business server in the second internal network of the service deployment demand object, so that communication with the business server can be achieved.

[0125] In this embodiment, saltstack is used to register the server of the service deployment requirement object to the electronic device 106, thereby completing the server access.

[0126] Step 308: Use the installation file of the service to be deployed to complete service deployment in the business server of the service deployment requirement object.

[0127] In this step, you can complete the service deployment and plug-in installation downstream of the privatization deployment pipeline.

[0128] In some embodiments, after accessing the second internal network, the server can be registered in the electronic device 106, and then the server information can be collected and displayed through a web page. At this time, the default server architecture template or customized server architecture can be selected according to the server scale, and the corresponding configuration items can be checked according to needs.

[0129] In some embodiments, after the electronic device 106 receives the installation instruction, the web interface calls the pre-made saltstack command to start service deployment in the selected server, and collects installation information and feeds it back through the web interface. In some embodiments, saltstack distributes files according to the configuration, releases the image file, loads the configuration file, and initializes the database.

[0130] In some embodiments, obtaining the installation file of the service to be deployed from the service operation and maintenance system includes: obtaining the image file of the service to be deployed;

[0131] The installation file of the service to be deployed is used to complete the service deployment in the business server of the service deployment requirement object, including: using the image file of the service to be deployed and using container technology (for example, Docker) to complete the service deployment in the business server of the service deployment requirement object.

[0132] Docker is a container engine that allows all service dependencies to be ported to images. When installing a service on a server, you only need to start the container (for example, in a Linux server, you can start the Windows WeChat service through an image). This makes the service less dependent on the server environment.

[0133] In some embodiments, the service deployment method further includes:

[0134] Obtain the management file of the image file of the service to be deployed from the service operation and maintenance system;

[0135] The management file (for example, docker-compose) of the image file of the service to be deployed is used to complete the management and deployment of the service in the business server of the service deployment requirement object.

[0136] Docker-compose is a Docker orchestration and lifecycle management tool. It makes the startup plan of the container clear at a glance and easier to manage. At the same time, it is more convenient to operate the life cycle, start, stop, etc. of the container. At the same time, we consider using Docker-compose for management, which is lighter than platforms and management solutions such as k8s and k3s, and is more suitable for container deployment in small clusters.

[0137] In this embodiment, docker-compose provides lifecycle management for containers. The main management contents include:

[0138] Image version, persistent storage, port mapping, variables in container, container restart, container network.

[0139] Generally, files in a container will be released after the container is closed, and persistent storage will store the files locally. The original data can be restored after the container is restarted. In some cases, port mapping is used to map ports in a container to a physical machine for user or program access. Optionally, variables in the container include the account password for creating a database, jvm virtual machine parameters, URL addresses, etc. Docker-compose can select a container restart mode to ensure that the container can be restarted after an abnormal exit to ensure service availability. Docker-compose can divide different networks for containers to ensure mutual access between related containers and network isolation between unrelated containers.

[0140] In some embodiments, the service deployment method further includes:

[0141] The service interface of the business server is called to test the deployed service.

[0142] For example, the test is completed by controlling the web interface and calling the service interface.

[0143] In some embodiments, the service deployment method further includes:

[0144] Install corresponding plug-ins according to the customer's plug-in installation request, for example, install monitoring, log collection and other services.

[0145] In some embodiments, the service deployment method further includes:

[0146] Determining whether it is possible to communicate with a service server operating in the second internal network through the first internal network;

[0147] If it is possible to communicate with the service server working in the second internal network through the first internal network, execute step 306;

[0148] If it is not possible to communicate with the business server working in the second internal network through the first internal network, the deployment mode is switched.

[0149] For example, switch to a deployment mode developed based on the Ansible automated operation and maintenance tool.

[0150] In some cases, there are some servers 104 that cannot directly access the electronic device 106 through the IP address of the electronic device 106. In this case, the electronic device 106 cannot communicate with the business server working in the second internal network through the first internal network, but must apply for ssh permissions from the customer's network security management department and switch to Ansible mode for server deployment.

[0151] In some embodiments, the container installation method of ansible plus docker-compose can be used. At this time, the secret key of the electronic device 106 needs to be copied to the server to enable the electronic device 106 to manage the business server, and then the business server can be deployed in ansible manner.

[0152] As can be seen from the above embodiments, the present disclosure is based on the DevOps pipeline, and uses a lightweight and movable node - "ferry terminal" to break the physical isolation of the network to complete the private deployment of the pipeline. In the private deployment, the "ferry terminal" is used to build the downstream of the pipeline in the physically isolated customer private network, and the "ferry terminal" is used to take over the upstream pipeline to complete the private deployment. The entire deployment process can be managed by a graphical interface.

[0153] The service deployment method provided by the present disclosure does not require the developer to provide an installation package, and the "ferry terminal" will automatically obtain the latest stable version installation package of the business service. The service deployment method provided by the present disclosure does not require the participation of testers. The "ferry terminal" will use the test system provided by the DevOps platform to scan and test the code. After the installation is completed, the service interface is called from the "ferry terminal" to complete the test. The service deployment method provided by the present disclosure does not need to copy the entire program to the server during the installation process, which avoids technology leakage. The service deployment method provided by the present disclosure provides batch management based on saltstack, and the deployed services use the zmq protocol to communicate in the business server, which is more easily accepted by the security policy of the customer's intranet. The service deployment method provided by the present disclosure only needs to connect the "ferry terminal" to the customer's office network (a network that can communicate with the intranet server) without connecting to the server intranet to complete the installation. In the service deployment method provided by the present disclosure, all services are containerized using docker, which has less dependence on the business server and is more convenient and reliable to install. The service deployment method disclosed in this disclosure uses docker-compose to provide orchestration and lifecycle management. It occupies fewer resources than container management platforms such as k8s and k3s, is more suitable for small-scale private installations, and is easier to manage. The service deployment method provided in this disclosure provides a switching method on the web page to switch to ansible deployment when the customer cannot provide a valid IP address to the "ferry terminal" (this situation is relatively rare).

[0154] The present disclosure also provides an electronic device, including:

[0155] An interface unit, used to connect to a first internal network of a service operation and maintenance system or a service deployment requirement object;

[0156] a memory for storing a set of instructions; and

[0157] At least one processor is configured to execute the set of instructions to perform any embodiment or arrangement or combination of the service deployment method.

[0158] Figure 6 A more specific schematic diagram of the hardware structure of an electronic device provided in this embodiment is shown, and the device may include: a processor 401, a memory 402, an input / output interface 403, a communication interface 404, and a bus 405. The processor 401, the memory 402, the input / output interface 403, and the communication interface 404 are connected to each other in communication within the device through the bus 405.

[0159] The processor 401 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided by the embodiments of the present disclosure.

[0160] The memory 402 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 402 may store an operating system and other application programs. When the technical solution provided by the embodiment of the present disclosure is implemented by software or firmware, the relevant program code is stored in the memory 402 and is called and executed by the processor 401.

[0161] The input / output interface 403 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.

[0162] The communication interface 404 is used to connect a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).

[0163] The bus 405 comprises a pathway for transmitting information between the various components of the device (eg, the processor 401 , the memory 402 , the input / output interface 403 , and the communication interface 404 ).

[0164] It should be noted that, although the above device only shows the processor 401, the memory 402, the input / output interface 403, the communication interface 404 and the bus 405, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present disclosure, and does not necessarily include all the components shown in the figure.

[0165] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0166] The above describes specific embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0167] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present disclosure (including the claims) is limited to these examples. Based on the concept of the present disclosure, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the present disclosure as described above, which are not provided in detail for the sake of simplicity.

[0168] In addition, to simplify the description and discussion, and in order not to obscure the present disclosure, known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided figures. In addition, the devices may be shown in the form of block diagrams to avoid obscuring the present disclosure, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform on which the present disclosure will be implemented (i.e., these details should be fully within the scope of understanding of those skilled in the art). Where specific details (e.g., circuits) are set forth to describe exemplary embodiments of the present disclosure, it will be apparent to those skilled in the art that the present disclosure may be implemented without these specific details or with variations in these specific details. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0169] Although the present disclosure has been described in conjunction with specific embodiments of the present disclosure, many replacements, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed.

[0170] The present disclosure is intended to cover all such substitutions, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure should be included in the protection scope of the present disclosure.

Claims

1. A service deployment method, applied to a mobile electronic device, comprising: Obtain the installation files of the service to be deployed from the service operation and maintenance system through the external network; A first internal network of an object requiring access service deployment; Utilizing the authorization protocol of the service deployment requirement object, communicating with the business server working in the second internal network of the service deployment requirement object through the first internal network; wherein the second internal network is the network where the business server of the service to be deployed by the service deployment requirement object is located, the first internal network and the second internal network are interconnected, the authority scope of the second internal network is smaller than that of the first internal network, and the second internal network allows access through the authorization protocol, and the authorization protocol is the zmq protocol; Using the installation file of the service to be deployed, the service deployment is completed in the business server of the service deployment requirement object; Wherein, using the authorization protocol of the service deployment requirement object, communicating with a business server working in a second internal network of the service deployment requirement object through the first internal network includes: Based on a batch management tool, using the authorization protocol of the service deployment requirement object, communicating with a business server working in a second internal network of the service deployment requirement object through the first internal network; Wherein, obtaining the installation file of the service to be deployed from the service operation and maintenance system includes: obtaining the image file of the service to be deployed; Using the installation file of the service to be deployed to complete the service deployment in the business server of the service deployment requirement object, including: using the image file of the service to be deployed to complete the service deployment in the business server of the service deployment requirement object using container technology; The method further comprises: Determining whether it is possible to communicate with a service server operating in the second internal network through the first internal network; If it is not possible to communicate with the business server working in the second internal network through the first internal network, the deployment mode is switched.

2. The method according to claim 1, wherein: The method further comprises: The service operation and maintenance system is used to perform code scanning and testing on the installation file to determine the availability of the installation file.

3. The method according to claim 1, wherein: The method further comprises: Obtain the management file of the image file of the service to be deployed from the service operation and maintenance system; The management file of the image file of the service to be deployed is used to complete the management and deployment of the service in the business server of the service deployment requirement object.

4. The method according to claim 1, wherein: The method further comprises: The service interface of the business server is called to test the deployed service.

5. A portable electronic device comprising: An interface unit, used to connect to a first internal network of a service operation and maintenance system or a service deployment requirement object; a memory for storing a set of instructions; as well as At least one processor is configured to execute the set of instructions to perform the method according to any one of claims 1 to 4.

6. A service deployment system, comprising: The electronic device as claimed in claim 5, and The service operation and maintenance system is configured to establish a connection with the electronic device and send an installation file of the service to be deployed to the electronic device.

7. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Software upgrading implementation system and method under network isolation

    CN108897559A