Deployment method and device of software network architecture, equipment, storage medium and program product
By monitoring and automated processing of code updates and deployments of SD-WAN network architecture, the problem of inefficient deployment in the existing technology is solved, automated deployment and version management is realized, and deployment efficiency and code quality are improved.
Patent Information
- Application Number
- CN202411693451.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-02-18
AI Technical Summary
The deployment method of existing SD-WAN network architecture is inefficient and relies on manual deployment. Each module has different code languages and warehouse addresses, resulting in complex deployment and maintenance.
Provides a software network architecture deployment method, which can monitor the update of the preset code base, obtain new code segments, and perform exception detection, determine the target code segments, and finally automatically deploy to the target environment according to the preset deployment strategy.
Through automated deployment processes, manual intervention is significantly reduced, deployment efficiency is improved, code quality is ensured, and one-click deployment and version management of multiple modules is realized.
Smart Images

Figure CN119473360A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of network architecture deployment, and in particular to a method, apparatus, device, storage medium and program product for deploying a software network architecture. Background Art
[0002] The network architecture of Software-Defined Wide Area Network (SD-WAN) includes multiple key modules, such as console page, YACOS, SDWAN global controller, regional controller, POP network element, EDGE network element and cloud gateway. The code language and warehouse address of each module are different, and its deployment and maintenance also require high professionalism and specificity.
[0003] Currently, in the process of deploying SD-WAN network architecture, each module is usually deployed manually one by one.
[0004] However, the deployment method of the above network architecture has the problem of low deployment efficiency. Summary of the invention
[0005] Based on this, it is necessary to provide a deployment method, device, equipment, storage medium and program product for a software network architecture that can improve deployment efficiency in response to the above technical problems.
[0006] In a first aspect, the present application provides a method for deploying a software network architecture, the method being applied to a deployment system, the method comprising:
[0007] When it is detected that the code in the preset code library is updated, a new code segment is obtained;
[0008] Perform anomaly detection on new code segments and determine the target code segments;
[0009] The target code segment is deployed to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0010] In one embodiment, performing anomaly detection on a new code segment to determine a target code segment includes:
[0011] Perform anomaly detection on the new code segment to determine whether the new code segment has anomalies;
[0012] If the new code segment has an anomaly, the new code segment is re-obtained from the preset code library, and the step of performing anomaly detection on the new code segment is returned;
[0013] If there is no exception in the new code segment, the new code segment is used as the target code segment.
[0014] In one embodiment, performing anomaly detection on a new code segment to determine whether the new code segment has an anomaly includes:
[0015] Calling a security scanning tool to perform security vulnerability and code specification detection on the new code segment to obtain a first detection result;
[0016] If the first test result indicates that the test is passed, the white box test tool is called to perform logic and performance tests on the new code segment to obtain a second test result, and whether the new code segment has an abnormality is determined according to the second test result;
[0017] If the first detection result indicates that the detection fails, it is determined that the new code segment has an abnormality.
[0018] In one embodiment, the method further comprises:
[0019] For any module, the target code segment is packaged to obtain a packaged target code segment;
[0020] Perform mirroring on the packaged target code segment to obtain the target mirror code segment;
[0021] Deploy the target code segment to the target environment according to the preset deployment strategy, including:
[0022] Deploy the target image code segment to the target environment according to the preset deployment strategy.
[0023] In one embodiment, the method further comprises:
[0024] After deploying the module corresponding to the target code segment to the target environment, obtaining resource usage information, performance indicators and deployment status information of the target environment;
[0025] Determine whether the module corresponding to the target code segment is successfully deployed to the target environment based on resource usage information, performance indicators and deployment status information.
[0026] In one embodiment, the method further comprises:
[0027] When it is determined that the module corresponding to the target code segment is successfully deployed to the target environment, the module corresponding to the target code segment is tested and verified to obtain a test result; the test verification includes at least one of unit testing, integration testing and end-to-end testing.
[0028] In one embodiment, the method further comprises:
[0029] Build a preset deployment strategy for the software network architecture;
[0030] Preset deployment strategies for building software network architectures, including:
[0031] For any module in the software network architecture, respond to a deployment strategy building request triggered by a user on the user interface of the deployment system, and display all modules in the software network architecture;
[0032] In response to the user's triggering operation on the target module in all modules, a list of multiple operating environments and deployment methods is displayed;
[0033] In response to the user's triggering operation on the target operating environment in multiple operating environments, and in response to the user's triggering operation on the target deployment method in the deployment method list, the deployment strategy of the target module is constructed according to the target operating environment and the target deployment method; the target deployment method includes parallel deployment and serial deployment.
[0034] In a second aspect, the present application also provides a deployment device for a software network architecture, the device comprising:
[0035] The acquisition module is used to acquire a new code segment when it is detected that the code in the preset code library is updated;
[0036] A detection module is used to perform anomaly detection on new code segments and determine target code segments;
[0037] The deployment module is used to deploy the target code segment to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0038] In a third aspect, the present application further provides a computer device, the computer device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the following steps when executing the computer program:
[0039] When it is detected that the code in the preset code library is updated, a new code segment is obtained;
[0040] Perform anomaly detection on new code segments and determine the target code segments;
[0041] The target code segment is deployed to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0042] In a fourth aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0043] When it is detected that the code in the preset code library is updated, a new code segment is obtained;
[0044] Perform anomaly detection on new code segments and determine the target code segments;
[0045] The target code segment is deployed to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0046] In a fifth aspect, the present application further provides a computer program product, the computer program product comprising a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0047] When it is detected that the code in the preset code library is updated, a new code segment is obtained;
[0048] Perform anomaly detection on new code segments and determine the target code segments;
[0049] The target code segment is deployed to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0050] The deployment method, device, equipment, storage medium and program product of the software network architecture described above, the method acquires a new code segment when the code in the preset code library is updated, then performs anomaly detection on the new code segment, determines the target code segment, and finally deploys the target code segment to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture. In the above method, by establishing a unified basic pipeline, the deployment and testing process of each module is standardized and automated, and the deployment system can realize one-click deployment and version management of multiple modules, significantly reducing the necessity of manual intervention, and improving the code quality and deployment efficiency, thereby improving the deployment efficiency of the software network architecture. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 is an internal structure diagram of a computer device in one embodiment;
[0052] Figure 2 A schematic diagram of a process for deploying a software network architecture in one embodiment;
[0053] Figure 3 A schematic diagram of a process for deploying a software network architecture in another embodiment;
[0054] Figure 4 A schematic diagram of a process for deploying a software network architecture in another embodiment;
[0055] Figure 5 A schematic diagram of a process for deploying a software network architecture in another embodiment;
[0056] Figure 6 A schematic diagram of a process for deploying a software network architecture in another embodiment;
[0057] Figure 7 A schematic diagram of a process for deploying a software network architecture in another embodiment;
[0058] Figure 8 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0059] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0060] The network architecture of Software-Defined Wide Area Network (SD-WAN) includes multiple key modules such as console page, YACOS, SDWAN, global controller, regional controller, POP network element, EDGE network element and cloud gateway. The code language and warehouse address of each module are different, and its deployment and maintenance also require a high degree of professionalism and pertinence. At present, in the process of deploying the SD-WAN network architecture, it is usually necessary to manually deploy each module one by one. The deployment method of the above network architecture is not only cumbersome and time-consuming, but also prone to errors, especially when dealing with a large number of modules and frequent version updates. There is a problem of low deployment efficiency. Moreover, since the release process of each module is independent, when the version of a module is updated, its corresponding automated test suite will be executed immediately. However, if the code of other related modules is not updated synchronously, it may lead to version incompatibility, which in turn causes the failure of automated testing. This not only affects the efficiency of version management, but also increases the uncertainty and risk of automated testing, which poses a potential problem to the stability and performance of the overall SD-WAN network.
[0061] The present application provides a method for deploying a software network architecture, aiming to solve the above-mentioned technical problems. The following embodiments will specifically illustrate the method for deploying the software network architecture described in the present application.
[0062] The deployment method of the software network architecture provided in the embodiment of the present application can be applied to Figure 1 In the computer device shown in the embodiment of the present application, the computer device may be a deployment system, the computer device may be a terminal or a server, and its internal structure diagram may be as shown in FIG. Figure 1As shown, the computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and the external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be realized through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a method for deploying a software network architecture is realized. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0063] Those skilled in the art will understand that Figure 1 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0064] In one embodiment, Figure 2 As shown, a method for deploying a software network architecture is provided, and the method is applied to Figure 1 The computer device in the example is used to illustrate, including the following steps:
[0065] S201, when it is detected that the code in the preset code library is updated, a new code segment is obtained.
[0066] The preset code base is the code base of the software network architecture. The software network architecture includes the console page module, the YACOS module, the SDWAN orchestrator module, the global controller module, the regional controller module, the POP network element module, the EDGE network element module, and the cloud gateway module. The new code segment can be the code segment corresponding to the module in the software network architecture, or the code segment corresponding to each functional block in the module.
[0067] In the embodiment of the present application, the code segments corresponding to each module in the software network architecture can be stored in a preset code library in advance. Optionally, the code segments corresponding to each functional block in each module can also be stored in a preset code library. The computer device can monitor the preset code library in real time through an integrated version control system (such as Git), and when the code in the preset code library is updated, a new code segment can be obtained. For example, when a code segment in the preset code library is changed, deleted, replaced, or added, the code in the preset code library will be updated. Optionally, the computer device can respond to the deployment instruction triggered by the user, and then instruct the user to upload the code to the preset code library, and obtain a new code segment when the code in the preset code library is updated. Specifically, the trigger mechanism of the deployment can be an automatic trigger based on the code submission event, such as automatically triggering the general release order after the EDGE network element submits the code, or it can be executed by a one-click button. Optionally, the trigger condition configuration of the event can also be customized, such as time-planned tasks, specific module status changes, etc., to enhance the automation capability of the system.
[0068] S202, performing anomaly detection on the new code segment to determine the target code segment.
[0069] The target code segment is the code segment that passes the detection.
[0070] In the embodiment of the present application, after the computer device obtains a new code segment based on the above steps, it can perform anomaly detection on the new code segment, and use the code segment that passes the detection as the target code segment for subsequent processing. Specifically, the preset detection tool can be called to detect the new code segment in terms of branch merge conflicts, security vulnerabilities, code specifications and logic. Optionally, the new code segment can be detected according to standard rules, and then the code segment that meets the standard rules can be used as the target code segment for subsequent processing.
[0071] S203: deploy the target code segment to the target environment according to a preset deployment strategy.
[0072] The preset deployment strategy includes the deployment strategy of all modules in the software network architecture. The preset deployment strategy includes the operating environment, deployment version and deployment method of all modules. The target environment is the target operating environment of the module corresponding to the target code segment.
[0073] In an embodiment of the present application, the operating environment, deployment version, and deployment method of each module can be selected in advance on the deployment system, and stored in the deployment system as a preset deployment strategy. Optionally, a deployment strategy corresponding to each functional block in each module can be constructed, and the deployment strategy corresponding to each functional block in each module can be stored in the deployment system as a preset deployment strategy. After the computer device obtains the target code segment, the preset deployment strategy can be called from the deployment system, and then the deployment strategy of the module corresponding to the target code segment is executed, and the target code segment is deployed to the target environment according to the deployment version. Specifically, the identifier of the module to be deployed or the identifier of the functional block to be deployed in the module to be deployed can be determined from the target code segment, and then the deployment strategy corresponding to the module to be deployed or the functional block to be deployed can be found from the preset deployment strategy, and then the target code segment can be deployed to the target environment according to the deployment version.
[0074] The deployment method of the software network architecture provided in the embodiment of the present application obtains a new code segment when the code in the preset code library is updated, then performs anomaly detection on the new code segment, determines the target code segment, and finally deploys the target code segment to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture. In the above method, by establishing a unified basic pipeline, the deployment and testing process of each module is standardized and automated, and the deployment system can realize one-click deployment and version management of multiple modules, significantly reducing the necessity of manual intervention, and improving the code quality and deployment efficiency, thereby improving the deployment efficiency of the software network architecture.
[0075] In one embodiment, a specific implementation method for detecting anomalies in a new code segment is also provided, such as Figure 3 As shown, the "perform abnormality detection on the new code segment to determine the target code segment" in the above step S202 includes:
[0076] S301, performing anomaly detection on a new code segment to determine whether the new code segment has an anomaly.
[0077] In an embodiment of the present application, after the computer device obtains a new code segment, it can call a preset detection tool to detect the new code segment in terms of branch merge conflicts, security vulnerabilities, code specifications and logic to determine whether the new code segment has any abnormalities.
[0078] Specifically, Figure 4 As shown, the "perform anomaly detection on the new code segment to determine whether the new code segment has an anomaly" in the above step S301 includes:
[0079] S3011, calling a security scanning tool to perform security vulnerability and code specification detection on the new code segment to obtain a first detection result.
[0080] The first test result includes a test pass or a test fail.
[0081] In the embodiment of the present application, after the computer device obtains the new code segment, it can call the security scanning tool to perform static analysis on the code segment to detect potential security vulnerabilities and code specification issues to ensure that the code segment meets the safety and quality standards before entering the subsequent links. When the computer device detects that the new code segment has a security vulnerability or a code specification problem, it can determine that the first detection result is a failure to pass the detection. When it detects that the new code segment does not have a security vulnerability or a code specification problem, it can determine that the first detection result indicates that the detection has passed.
[0082] S3012: If the first test result indicates that the test is passed, the white box test tool is called to perform logic and performance tests on the new code segment to obtain a second test result, and whether the new code segment has an abnormality is determined based on the second test result.
[0083] The second test result includes a test pass or a test fail.
[0084] In the embodiment of the present application, the corresponding white box testing tool can be pre-associated according to the programming language. When the computer device determines that the first test result indicates that the test is passed based on the above steps, the programming language of the new code segment can be determined first, and then the white box testing tool corresponding to the programming language can be called, and then the new code segment can be analyzed in depth according to the white box testing tool to detect logical errors, performance bottlenecks, potential deadlocks and other problems to ensure the accuracy and comprehensiveness of the scan. When the computer device detects that the new code segment has problems such as detection logic errors, performance bottlenecks or potential deadlocks, it can be determined that the second test result is a test failure. When it is detected that the new code segment does not have problems such as logical errors, performance bottlenecks and potential deadlocks, it can be determined that the second test result indicates that the test is passed. If the second test result indicates that the test is passed, it is determined that the new code segment does not have an abnormality. If the second test result indicates that the test fails, it is determined that the new code segment has an abnormality.
[0085] S3013: If the first detection result indicates that the detection fails, it is determined that the new code segment has an abnormality.
[0086] In the embodiment of the present application, when the computer device determines based on the above steps that the first detection result indicates that the detection fails, it can be determined that there is an abnormality in the new code segment.
[0087] S302: If the new code segment has an anomaly, the new code segment is re-acquired from the preset code library, and the process returns to the step of performing anomaly detection on the new code segment.
[0088] In the embodiment of the present application, when the computer device determines that the new code segment has an abnormality based on the above steps, this situation may be a problem with the code segment itself, or it may be a problem caused in the process of obtaining the code segment, then the computer device can re-acquire the new code segment from the preset code library, and return to the step of performing abnormality detection on the new code segment, that is, return to the step of executing S202. Optionally, the computer device can issue an alarm prompt on the user interface to instruct the user to re-upload the code to the preset code library, and then re-acquire the new code segment from the preset code library, and return to the step of executing S202.
[0089] S303: If there is no exception in the new code segment, the new code segment is used as the target code segment.
[0090] In the embodiment of the present application, when the computer device determines based on the above steps that there is no abnormality in the new code segment, this situation indicates that there is no problem with the new code segment, and the new code segment can be used as the target code segment for subsequent deployment.
[0091] The method described in the embodiments of the present application can detect potential security vulnerabilities and code specification issues by calling a security scanning tool to perform static analysis on the code segment to ensure that the code segment meets security and quality standards before entering subsequent links, and call the white box testing tool corresponding to the programming language to perform in-depth analysis on the new code segment to detect logical errors, performance bottlenecks, potential deadlocks and other problems to ensure the accuracy and comprehensiveness of the scan.
[0092] In one embodiment, Figure 5 As shown, the deployment method of the above software network architecture also includes:
[0093] S401, for any module, pack the target code segment to obtain a packed target code segment.
[0094] In the embodiment of the present application, after obtaining the target code segment, the computer device
[0095] If the target code segment contains codes corresponding to multiple modules, for any module, the target code segment corresponding to each module can be packaged as the target code segment corresponding to the module. If the target code segment contains codes corresponding to function blocks of multiple modules, each function block can be packaged into the corresponding module code segment. For example, module A includes function block 1, function block 2..., and the target code segment is the code segment of function block 1, then the target code segment can be added or updated to the code of module A to obtain the target code segment of module A. Optionally, the code segment of function block 1 can be combined with the original function block 2 and packaged to obtain the target code segment of module A.
[0096] S402, mirroring the packaged target code segment to obtain a target mirrored code segment.
[0097] In an embodiment of the present application, after the computer device obtains the packaged target code segment based on the above steps, it can perform image processing on the packaged target code segment, and obtain a multi-stage Docker image by constructing and processing images in multiple languages and multiple dependent environments.
[0098] Correspondingly, when the computer device executes S203 “deploy the target code segment to the target environment according to the preset deployment strategy”, it specifically executes S403: deploy the target image code segment to the target environment according to the preset deployment strategy.
[0099] In an embodiment of the present application, after obtaining the target image code segment, the computer device can call a preset deployment strategy from the deployment system, and then execute the deployment strategy of the module corresponding to the target code segment to deploy the target image code segment to the target environment according to the deployment version.
[0100] The method described in the embodiment of the present application can ensure the security and operation efficiency of the code by mirroring the packaged target code segment.
[0101] In one embodiment, Figure 6 As shown, the deployment method of the above software network architecture also includes:
[0102] S501, after deploying the module corresponding to the target code segment to the target environment, obtaining resource usage information, performance indicators and deployment status information of the target environment.
[0103] The resource usage information includes at least one of CPU usage, memory usage, network traffic, etc. The performance indicators include at least one of response time, throughput, error rate, number of concurrent users, etc. The deployment status information includes at least one of deployment start time, deployment end time, deployment success or failure, deployment error log, resource configuration change, etc.
[0104] In the embodiment of the present application, after the computer device deploys the module corresponding to the target code segment to the target environment, it can obtain resource occupancy information, performance indicators and deployment status information in the target environment. Specifically, the resource occupancy information can be obtained through a preset system monitoring tool or a custom monitoring script, the performance indicators can be obtained through an application performance management tool or a custom monitoring script, and the deployment status information can be obtained through the log and status report of the automated deployment tool.
[0105] S502: Determine whether the module corresponding to the target code segment is successfully deployed to the target environment according to the resource usage information, the performance index and the deployment status information.
[0106] In an embodiment of the present application, the computer device obtains resource occupancy information, performance indicators and deployment status information based on the above steps, compares the resource occupancy information with a preset resource occupancy threshold to determine whether the resource occupancy information meets the requirements, compares the performance indicator with a preset performance indicator threshold to determine whether the performance indicator meets the requirements, and checks the status or time in the deployment status information to determine whether the deployment status meets the requirements. If the resource occupancy information, performance indicators and deployment status information all meet the requirements, then it can be determined that the target code segment is successfully deployed. If any of the resource occupancy information, performance indicators and deployment status information does not meet the requirements, then it can be determined that the target code segment is unsuccessfully deployed.
[0107] Optionally, when it is determined that the module corresponding to the target code segment is successfully deployed to the target environment, the module corresponding to the target code segment is tested and verified to obtain a test result.
[0108] The test result includes a test pass or a test fail. The test verification includes at least one of a unit test, an integration test, and an end-to-end test.
[0109] In an embodiment of the present application, when the computer device determines that the target code segment is deployed successfully based on the above steps, that is, when it determines that the module corresponding to the target code segment is successfully deployed to the target environment, it can call and execute the corresponding automated test suite to perform unit testing, integration testing and end-to-end testing on the deployed target code segment to obtain test results, and issue an alarm prompt if the test results fail.
[0110] The method described in the embodiments of the present application can ensure the success of deployment and the stability of the system by detecting whether the target code segment is successfully deployed, and testing the target code segment after successful deployment, which can comprehensively cover the functions, performance and security of the module, and can achieve real-time feedback and correlate analysis with the deployment status to quickly locate the problem.
[0111] In one embodiment, a method for constructing a preset deployment strategy for a software network architecture is also provided, such as Figure 7 As shown, the preset deployment strategy for building the software network architecture includes:
[0112] S601, for any module in the software network architecture, responding to a deployment strategy building request triggered by a user on a user interface of a deployment system, displaying all modules in the software network architecture.
[0113] The deployment strategy construction requests the user to construct a deployment strategy.
[0114] In an embodiment of the present application, a user interface is provided on the deployment system. When a user needs to build a deployment strategy for a software network architecture, the user can click a deployment strategy building button on the user interface to send a deployment strategy building request to a computer device. After the computer device receives the deployment strategy building request, it can display all modules in the software network architecture in the form of a module list to instruct the user to select a target module from the module list.
[0115] S602, in response to the user's triggering operation on the target module in all modules, display a list of multiple operating environments and deployment methods.
[0116] Among them, the various operating environments include running machines and devices. The list of deployment methods includes parallel deployment and serial deployment. Among them, parallel deployment (allowing failure to continue): ① Perform version change and deployment for each module in parallel. Even if a module fails to deploy, it will not affect the deployment of other modules; ② After all modules are deployed, execute the module or product granularity automated test suite; ③ The device will report the module information that failed to deploy so that the inspector can check. Serial deployment (stop on failure): ① Perform version change and deployment for each module in turn; ② If a module deployment fails, immediately stop the entire version change and deployment process, and report the failed module information; ③ If all modules are deployed successfully, execute the automated test suite.
[0117] In an embodiment of the present application, after the user selects a target module on the module list, the computer device can respond to the user's trigger operation on the target module in all modules, display a list of multiple operating environments and deployment methods, instruct the user to select a target operating environment from multiple operating environments, and instruct the user to select a target deployment method from the deployment method list.
[0118] S603, responding to a user's triggering operation on a target operating environment in a plurality of operating environments, and responding to a user's triggering operation on a target deployment method in a deployment method list, determining a target deployment strategy for the target module according to the target operating environment and the target deployment method.
[0119] Among them, the target deployment methods include parallel deployment and serial deployment.
[0120] In the embodiment of the present application, when the user chooses to select the target operating environment from a variety of operating environments, and selects the target deployment method from the deployment method list, the computer device can respond to the user's triggering operation on the target operating environment in the multiple operating environments, and respond to the user's triggering operation on the target deployment method in the deployment method list. The computer device can build the target deployment strategy of the target module according to the target operating environment and the target deployment method, and so on, the deployment strategy of all modules in the software network architecture can be obtained, that is, the preset deployment strategy is obtained. Optionally, the preset deployment strategy can also include a version number. Specifically, after the user selects the target module in the module list, the computer device can display the version number list on the user interface, and the user selects the version number, or pops up the version number input box, and the user enters the version number. Optionally, the preset deployment strategy can also include a notification method after the deployment is completed, and the user can select the target notification method in the notification method list. The notification method includes SMS, email or system message push, and supports custom notification content and recipient groups to meet notification needs in different scenarios.
[0121] The method described in the embodiments of the present application can overcome the problems of complex multi-module management, version incompatibility, and inconsistent test environment faced by the CI / CD process in the existing SD-WAN network architecture by building a preset deployment strategy, thereby improving deployment efficiency. Through the preset deployment strategy, operation and maintenance personnel can start the deployment process of multiple modules with one click without manual operation one by one. This centralized management method not only improves work efficiency, but also reduces the risk of human error. At the same time, the unique release number makes version tracking and backtracking simpler and clearer, providing strong support for version management of SDWAN architecture products.
[0122] Based on all the above embodiments, a method for deploying a software network architecture is also provided, and the method includes:
[0123] S701, for any module in the software network architecture, responding to a deployment strategy building request triggered by a user on a user interface of a deployment system, displaying all modules in the software network architecture.
[0124] S702, in response to the user's triggering operation on the target module in all modules, display a list of multiple operating environments and deployment methods.
[0125] S703, responding to the user's triggering operation on the target operating environment in the multiple operating environments, and responding to the user's triggering operation on the target deployment method in the deployment method list, constructing a deployment strategy for the target module according to the target operating environment and the target deployment method; the target deployment method includes parallel deployment and serial deployment.
[0126] S704: When it is detected that the code in the preset code library is updated, a new code segment is obtained.
[0127] S705, calling a security scanning tool to perform security vulnerability and code specification detection on the new code segment to obtain a first detection result.
[0128] S706, if the first test result indicates that the test is passed, call the white box test tool to perform logic and performance tests on the new code segment to obtain a second test result, and determine whether the new code segment has an abnormality based on the second test result.
[0129] S707: If the first detection result indicates that the detection fails, it is determined that the new code segment has an abnormality.
[0130] S708, if the new code segment has an exception, reacquire the new code segment from the preset code library, and return to the step of performing anomaly detection on the new code segment.
[0131] S709: If there is no exception in the new code segment, the new code segment is used as the target code segment.
[0132] S710, for any module, pack the target code segment to obtain a packed target code segment.
[0133] S711, mirroring the packaged target code segment to obtain a target mirror code segment.
[0134] S712, deploy the target image code segment to the target environment according to the preset deployment strategy.
[0135] S713, after deploying the module corresponding to the target code segment to the target environment, obtaining resource usage information, performance indicators and deployment status information of the target environment.
[0136] S714, determining whether the module corresponding to the target code segment is successfully deployed to the target environment according to the resource usage information, performance indicators and deployment status information.
[0137] S715, when it is determined that the module corresponding to the target code segment is successfully deployed to the target environment, the module corresponding to the target code segment is tested and verified to obtain a test result, wherein the test verification includes at least one of unit testing, integration testing and end-to-end testing.
[0138] The method described in the embodiments of the present application establishes a unified basic pipeline for each module. The pipeline is intended to provide a standardized and highly configurable infrastructure so that the entire process of each module's code from detection to deployment and then to automated testing can be managed in a unified manner and adapt to SD-WAN architectures of different scales.
[0139] The methods described in the above steps are all described in the above embodiments. Please refer to the above description for details and will not be repeated here.
[0140] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0141] Based on the same inventive concept, the embodiment of the present application also provides a software network architecture deployment device for implementing the software network architecture deployment method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the one or more software network architecture deployment device embodiments provided below can refer to the limitations of the software network architecture deployment method above, and will not be repeated here.
[0142] In one embodiment, Figure 8 As shown, a deployment device for a software network architecture is provided, including:
[0143] The acquisition module 11 is used to acquire a new code segment when it is detected that the code in the preset code library is updated.
[0144] The detection module 12 is used to perform anomaly detection on the new code segment and determine the target code segment.
[0145] The deployment module 13 is used to deploy the target code segment to the target environment according to a preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0146] In one embodiment, the detection module includes:
[0147] The detection unit is used to perform anomaly detection on the new code segment to determine whether the new code segment has anomalies.
[0148] The acquisition unit is used to reacquire the new code segment from the preset code library if there is an exception in the new code segment, and return to execute the step of performing anomaly detection on the new code segment.
[0149] The determination unit is used to use the new code segment as the target code segment if there is no exception in the new code segment.
[0150] In one embodiment, the detection unit comprises:
[0151] The first detection subunit is used to call a security scanning tool to perform security vulnerability and code specification detection on the new code segment to obtain a first detection result.
[0152] The second detection subunit is used to call the white box testing tool to perform logic and performance detection on the new code segment if the first detection result indicates that the detection is passed, obtain a second detection result, and determine whether the new code segment has an abnormality based on the second detection result.
[0153] The determination subunit is used to determine that the new code segment has an abnormality if the first detection result indicates that the detection fails.
[0154] In one embodiment, the deployment device of the software network architecture further includes:
[0155] The packaging module is used to package the target code segment for any module to obtain the packaged target code segment.
[0156] The mirror module is used to perform mirror processing on the packaged target code segment to obtain the target mirror code segment.
[0157] Correspondingly, the above deployment module is specifically used to deploy the target image code segment to the target environment according to a preset deployment strategy.
[0158] In one embodiment, the deployment device of the software network architecture further includes:
[0159] The status acquisition module is used to obtain resource usage information, performance indicators and deployment status information of the target environment after the module corresponding to the target code segment is deployed to the target environment.
[0160] The determination module is used to determine whether the module corresponding to the target code segment is successfully deployed to the target environment based on resource usage information, performance indicators and deployment status information.
[0161] In one embodiment, the deployment device of the software network architecture further includes:
[0162] The verification module is used to test and verify the module corresponding to the target code segment when it is determined that the module corresponding to the target code segment is successfully deployed to the target environment to obtain a test result; the test verification includes at least one of unit testing, integration testing and end-to-end testing.
[0163] In one embodiment, the deployment device of the software network architecture further includes:
[0164] Building blocks for building preset deployment strategies for software network architectures.
[0165] The above building blocks include:
[0166] The first display unit is used to display all modules in the software network architecture in response to a deployment strategy building request triggered by a user on a user interface of the deployment system for any module in the software network architecture.
[0167] The second display unit is used to respond to the user's triggering operation on the target module in all modules and display a list of multiple operating environments and deployment methods;
[0168] A construction unit is used to respond to a user's triggering operation on a target operating environment among multiple operating environments, and to respond to a user's triggering operation on a target deployment method in a deployment method list, and to construct a deployment strategy for a target module according to the target operating environment and the target deployment method; the target deployment methods include parallel deployment and serial deployment.
[0169] Each module in the deployment device of the above software network architecture can be implemented in whole or in part by software, hardware and their combination. Each module can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.
[0170] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0171] When it is detected that the code in the preset code library is updated, a new code segment is obtained;
[0172] Perform anomaly detection on new code segments and determine the target code segments;
[0173] The target code segment is deployed to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0174] In one embodiment, when the processor executes the computer program, the following steps are also implemented:
[0175] Perform anomaly detection on the new code segment to determine whether the new code segment has anomalies;
[0176] If the new code segment has an anomaly, the new code segment is re-obtained from the preset code library, and the step of performing anomaly detection on the new code segment is returned;
[0177] If there is no exception in the new code segment, the new code segment is used as the target code segment.
[0178] In one embodiment, when the processor executes the computer program, the following steps are also implemented:
[0179] Calling a security scanning tool to perform security vulnerability and code specification detection on the new code segment to obtain a first detection result;
[0180] If the first test result indicates that the test is passed, the white box test tool is called to perform logic and performance tests on the new code segment to obtain a second test result, and whether the new code segment has an abnormality is determined according to the second test result;
[0181] If the first detection result indicates that the detection fails, it is determined that the new code segment has an abnormality.
[0182] In one embodiment, when the processor executes the computer program, the following steps are also implemented:
[0183] For any module, the target code segment is packaged to obtain a packaged target code segment;
[0184] Perform mirroring on the packaged target code segment to obtain the target mirror code segment;
[0185] Deploy the target code segment to the target environment according to the preset deployment strategy, including:
[0186] Deploy the target image code segment to the target environment according to the preset deployment strategy.
[0187] In one embodiment, when the processor executes the computer program, the following steps are also implemented:
[0188] After deploying the module corresponding to the target code segment to the target environment, obtaining resource usage information, performance indicators and deployment status information of the target environment;
[0189] Determine whether the module corresponding to the target code segment is successfully deployed to the target environment based on resource usage information, performance indicators and deployment status information.
[0190] In one embodiment, when the processor executes the computer program, the following steps are also implemented:
[0191] When it is determined that the module corresponding to the target code segment is successfully deployed to the target environment, the module corresponding to the target code segment is tested and verified to obtain a test result; the test verification includes at least one of unit testing, integration testing and end-to-end testing.
[0192] In one embodiment, when the processor executes the computer program, the following steps are also implemented:
[0193] Build a preset deployment strategy for the software network architecture;
[0194] Preset deployment strategies for building software network architectures, including:
[0195] For any module in the software network architecture, respond to a deployment strategy building request triggered by a user on the user interface of the deployment system, and display all modules in the software network architecture;
[0196] In response to the user's triggering operation on the target module in all modules, a list of multiple operating environments and deployment methods is displayed;
[0197] In response to the user's triggering operation on the target operating environment in multiple operating environments, and in response to the user's triggering operation on the target deployment method in the deployment method list, the deployment strategy of the target module is constructed according to the target operating environment and the target deployment method; the target deployment method includes parallel deployment and serial deployment.
[0198] The above embodiment provides a computer device, whose implementation principle and technical effect are similar to those of the above method embodiment, and will not be repeated here.
[0199] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0200] When it is detected that the code in the preset code library is updated, a new code segment is obtained;
[0201] Perform anomaly detection on new code segments and determine the target code segments;
[0202] The target code segment is deployed to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0203] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0204] Perform anomaly detection on the new code segment to determine whether the new code segment has anomalies;
[0205] If the new code segment has an anomaly, the new code segment is re-obtained from the preset code library, and the step of performing anomaly detection on the new code segment is returned;
[0206] If there is no exception in the new code segment, the new code segment is used as the target code segment.
[0207] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0208] Calling a security scanning tool to perform security vulnerability and code specification detection on the new code segment to obtain a first detection result;
[0209] If the first test result indicates that the test is passed, the white box test tool is called to perform logic and performance tests on the new code segment to obtain a second test result, and whether the new code segment has an abnormality is determined according to the second test result;
[0210] If the first detection result indicates that the detection fails, it is determined that the new code segment has an abnormality.
[0211] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0212] For any module, the target code segment is packaged to obtain a packaged target code segment;
[0213] Perform mirroring on the packaged target code segment to obtain the target mirror code segment;
[0214] Deploy the target code segment to the target environment according to the preset deployment strategy, including:
[0215] Deploy the target image code segment to the target environment according to the preset deployment strategy.
[0216] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0217] After deploying the module corresponding to the target code segment to the target environment, obtaining resource usage information, performance indicators and deployment status information of the target environment;
[0218] Determine whether the module corresponding to the target code segment is successfully deployed to the target environment based on resource usage information, performance indicators and deployment status information.
[0219] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0220] When it is determined that the module corresponding to the target code segment is successfully deployed to the target environment, the module corresponding to the target code segment is tested and verified to obtain a test result; the test verification includes at least one of unit testing, integration testing and end-to-end testing.
[0221] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0222] Build a preset deployment strategy for the software network architecture;
[0223] Preset deployment strategies for building software network architectures, including:
[0224] For any module in the software network architecture, respond to a deployment strategy building request triggered by a user on the user interface of the deployment system, and display all modules in the software network architecture;
[0225] In response to the user's triggering operation on the target module in all modules, a list of multiple operating environments and deployment methods is displayed;
[0226] In response to the user's triggering operation on the target operating environment in multiple operating environments, and in response to the user's triggering operation on the target deployment method in the deployment method list, the deployment strategy of the target module is constructed according to the target operating environment and the target deployment method; the target deployment method includes parallel deployment and serial deployment.
[0227] The above embodiment provides a computer-readable storage medium, whose implementation principle and technical effect are similar to those of the above method embodiment, and will not be repeated here.
[0228] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:
[0229] When it is detected that the code in the preset code library is updated, a new code segment is obtained;
[0230] Perform anomaly detection on new code segments and determine the target code segments;
[0231] The target code segment is deployed to the target environment according to the preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
[0232] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0233] Perform anomaly detection on the new code segment to determine whether the new code segment has anomalies;
[0234] If the new code segment has an anomaly, the new code segment is re-obtained from the preset code library, and the step of performing anomaly detection on the new code segment is returned;
[0235] If there is no exception in the new code segment, the new code segment is used as the target code segment.
[0236] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0237] Calling a security scanning tool to perform security vulnerability and code specification detection on the new code segment to obtain a first detection result;
[0238] If the first test result indicates that the test is passed, the white box test tool is called to perform logic and performance tests on the new code segment to obtain a second test result, and whether the new code segment has an abnormality is determined according to the second test result;
[0239] If the first detection result indicates that the detection fails, it is determined that the new code segment has an abnormality.
[0240] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0241] For any module, the target code segment is packaged to obtain a packaged target code segment;
[0242] Perform mirroring on the packaged target code segment to obtain the target mirror code segment;
[0243] Deploy the target code segment to the target environment according to the preset deployment strategy, including:
[0244] Deploy the target image code segment to the target environment according to the preset deployment strategy.
[0245] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0246] After deploying the module corresponding to the target code segment to the target environment, obtaining resource usage information, performance indicators and deployment status information of the target environment;
[0247] Determine whether the module corresponding to the target code segment is successfully deployed to the target environment based on resource usage information, performance indicators and deployment status information.
[0248] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0249] When it is determined that the module corresponding to the target code segment is successfully deployed to the target environment, the module corresponding to the target code segment is tested and verified to obtain a test result; the test verification includes at least one of unit testing, integration testing and end-to-end testing.
[0250] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0251] Build a preset deployment strategy for the software network architecture;
[0252] Preset deployment strategies for building software network architectures, including:
[0253] For any module in the software network architecture, respond to a deployment strategy building request triggered by a user on the user interface of the deployment system, and display all modules in the software network architecture;
[0254] In response to the user's triggering operation on the target module in all modules, a list of multiple operating environments and deployment methods is displayed;
[0255] In response to the user's triggering operation on the target operating environment in multiple operating environments, and in response to the user's triggering operation on the target deployment method in the deployment method list, the deployment strategy of the target module is constructed according to the target operating environment and the target deployment method; the target deployment method includes parallel deployment and serial deployment.
[0256] The above embodiment provides a computer program product, whose implementation principle and technical effect are similar to those of the above method embodiment, and will not be repeated here.
[0257] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0258] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0259] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for deploying a software network architecture, characterized in that: The method is applied to a deployment system and includes: When it is detected that the code in the preset code library is updated, a new code segment is obtained; Performing anomaly detection on the new code segment to determine a target code segment; The target code segment is deployed to the target environment according to a preset deployment strategy; the preset deployment strategy includes deployment strategies for all modules in the software network architecture.
2. The method according to claim 1, characterized in that The performing anomaly detection on the new code segment to determine the target code segment includes: Performing anomaly detection on the new code segment to determine whether the new code segment has an anomaly; If the new code segment has an anomaly, reacquire the new code segment from the preset code library, and return to execute the step of performing anomaly detection on the new code segment; If there is no exception in the new code segment, the new code segment is used as the target code segment.
3. The method according to claim 2, characterized in that The performing anomaly detection on the new code segment to determine whether the new code segment has an anomaly includes: Invoke a security scanning tool to perform security vulnerability and code specification detection on the new code segment to obtain a first detection result; If the first test result indicates that the test is passed, calling the white box test tool to perform logic and performance tests on the new code segment to obtain a second test result, and determining whether the new code segment has an abnormality according to the second test result; If the first detection result indicates that the detection fails, it is determined that an abnormality exists in the new code segment.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: For any of the modules, the target code segment is packaged to obtain a packaged target code segment; Performing mirror processing on the packaged target code segment to obtain a target mirror code segment; The step of deploying the target code segment to the target environment according to a preset deployment strategy includes: The target image code segment is deployed to the target environment according to the preset deployment strategy.
5. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: After deploying the module corresponding to the target code segment to the target environment, obtaining resource occupancy information, performance indicators and deployment status information of the target environment; Determine whether the module corresponding to the target code segment is successfully deployed to the target environment according to the resource occupancy information, the performance indicator and the deployment status information.
6. The method according to claim 5, characterized in that The method further comprises: When it is determined that the module corresponding to the target code segment is successfully deployed to the target environment, the module corresponding to the target code segment is tested and verified to obtain a test result; the test verification includes at least one of unit testing, integration testing and end-to-end testing.
7. The method according to claim 1, characterized in that The method further comprises: Constructing a preset deployment strategy for the software network architecture; The preset deployment strategy for building the software network architecture includes: For any of the modules in the software network architecture, in response to a deployment strategy building request triggered by a user on a user interface of the deployment system, all modules in the software network architecture are displayed; In response to the user's triggering operation on a target module among all the modules, a list of multiple operating environments and deployment modes is displayed; In response to the user's triggering operation on the target operating environment in the multiple operating environments, and in response to the user's triggering operation on the target deployment method in the deployment method list, a deployment strategy for the target module is constructed according to the target operating environment and the target deployment method; the target deployment method includes parallel deployment and serial deployment.
8. A deployment device for a software network architecture, characterized in that: The device comprises: The acquisition module is used to acquire a new code segment when it is detected that the code in the preset code library is updated; A detection module, used to perform anomaly detection on the new code segment and determine a target code segment; A deployment module is used to deploy the target code segment to the target environment according to a preset deployment strategy; the preset deployment strategy includes the deployment strategy of all modules in the software network architecture.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.