Software changing method

Through a multi-stage and multi-step structured method, the target change process is constructed in real time based on configuration parameters and change status, and the feasibility and scalability of the change process in the hyper-converged scenario of the existing technology is solved, and the efficiency and security of software changes are improved.

CN120295644APending Publication Date: 2025-07-11XFUSION DIGITAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510114603.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-24
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

Existing software change methods are difficult to build a change process in complex scenarios such as hyperconvergence, and have poor feasibility, accuracy and scalability, especially when failure processing increases systemic risks.

Method used

Using a multi-stage and multi-step structured method, through preset phases and steps, the target change process is constructed in real time based on configuration parameters and change status, ensuring the decoupling of phases and steps, and optimizing the change process to adapt to changes in business needs.

Benefits of technology

It improves the feasibility and accuracy of the change process, improves the efficiency and security of the system's implementation of software changes, and avoids the exponential growth of the number of step branches caused by business or parameter expansion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120295644A_ABST
    Figure CN120295644A_ABST
Patent Text Reader

Abstract

The invention provides a software changing method, a changing process is formed by combining a plurality of preset stages, each preset stage is formed by combining a plurality of preset steps, and the method comprises the following steps: acquiring configuration parameters and a changing state of a target service; determining a plurality of target stages from a plurality of preset stages according to the configuration parameters and the change states, and determining an execution sequence of the plurality of target stages; for each target stage, determining a plurality of target steps included in the target stage from a plurality of preset steps of the target stage according to the configuration parameters, and determining an execution sequence of the plurality of target steps; a target change process formed by combining the multiple target stages and the multiple target steps is used for achieving software change. Therefore, the feasibility and the accuracy of constructing the change process can be improved, so that the efficiency and the safety of implementing software change by the system are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of software engineering technology, and in particular, to a software change method. Background Art

[0002] As business requirements or strategies evolve, system software needs to be changed accordingly to adapt to new business processes or introduce new services. These changes include, but are not limited to, function expansion, performance optimization, security enhancement, and architecture adjustment. The software change process is a collection of standardized steps and activities designed to ensure that changes are implemented efficiently and reliably while minimizing the impact on the stability of the existing system.

[0003] Existing methods for constructing change processes focus on ensuring the atomicity and idempotency of each step, that is, each step can be executed independently and can be repeated without side effects. This method takes a single change step as the basic object of construction, exhaustively lists all possible combinations of steps that may be involved to construct all possible change processes, and constructs a rollback process when the change fails.

[0004] However, in complex scenarios such as hyperconvergence, the system is composed of multiple sets of unit devices aggregated through a network, which makes system changes may involve hundreds of different combinations of steps to adapt to various conditions and requirements. In this case, it becomes extremely difficult to exhaustively list all possible combinations of steps involved, so the feasibility is poor.

[0005] Moreover, with the increase of a single business requirement or the update of business requirement parameters, it may lead to an exponential growth in the complexity of the change process, so this construction method also has poor scalability.

[0006] In addition, the handling of change failures in complex scenarios cannot be solved only by reversing the reverse operation of the change steps. It is also necessary to construct a special rollback process for special scenarios, which further increases the workload, reduces the feasibility, may introduce system risks, and also reduces the security of software changes. Summary of the Invention

[0007] The embodiments of this application provide a software change method and a computing device, which can improve the feasibility and accuracy of constructing a change process, thereby enhancing the efficiency and security of the system implementing software changes.

[0008] In a first aspect, an embodiment of the present application provides a software change method. The change process of the change is composed of multiple preset stages, and each preset stage is composed of multiple preset steps. The method includes: obtaining configuration parameters and change status of a target service; determining multiple target stages from multiple preset stages according to the configuration parameters and the change status, and determining the execution order of the multiple target stages; for each target stage, determining multiple target steps included in the target stage from multiple preset steps of the target stage according to the configuration parameters, and determining the execution order of the multiple target steps; the target change process composed of the multiple target stages and the multiple target steps is used to implement software change.

[0009] Thereby, the feasibility and accuracy of constructing the change process can be improved, thereby enhancing the efficiency and security of the system to implement software change.

[0010] In a possible implementation manner, the multiple preset stages have a first preset order, and the execution order of the multiple target stages is the first preset order.

[0011] In a possible implementation manner, determining multiple target stages from multiple preset stages according to the configuration parameters and the change status includes: if the change status is no previous process, performing a first operation; the first operation includes determining multiple target stages from multiple preset stages according to the configuration parameters; the previous process is the change process most recently executed by the system for the target service; if the change status is having a previous process, determining multiple target stages from multiple preset stages according to the previous process information.

[0012] In a possible implementation manner, the previous process information includes a change result and a previous process type; determining multiple target stages from multiple preset stages according to the previous process information includes: if the change result is successful, performing the first operation; if the change result is failed, determining multiple target stages from multiple preset stages according to the previous process type.

[0013] In a possible implementation manner, the previous process information further includes failed execution steps when the change result is failed; determining multiple target stages from multiple preset stages according to the previous process type includes: determining the failed execution stage of the previous process according to the failed execution steps; determining multiple target stages from multiple preset stages according to the failed execution stage.

[0014] In a possible implementation, the first stage and the second stage among multiple preset stages are reverse operations of each other; wherein, the positions of the first stage and the second stage are symmetric about a preset position; determining multiple target stages from the multiple preset stages according to the failure execution stage includes: if the previous process type is an upgrade process, using the reverse operations of the failure execution stage and the stages before it as the multiple target stages; if the previous process type is a rollback process or an exception handling process based on upgrade success, using the failure execution stage and the stages after it as the multiple target stages.

[0015] In a possible implementation, the multiple preset steps include a basic step and a specific step, and the basic step has a second preset order; determining the multiple target steps included in the target stage from the multiple preset steps of the target stage, and determining the execution order of the multiple target steps includes: determining a target specific step from the multiple preset steps of the target stage according to a configuration parameter; the basic step and the target specific step are the multiple target steps; inserting the target specific step into the process composed of the basic step and the second preset order according to the configuration parameter to obtain the execution order of the multiple target steps.

[0016] Thus, a target change process is constructed based on a structured method of multiple stages and multiple steps, improving its feasibility and accuracy.

[0017] In a possible implementation, the preset stages are decoupled from each other; the method further includes: in response to an update of a configuration parameter, obtaining a first parameter updated therein; if there is a first stage related to the first parameter among the multiple target stages, updating the multiple target steps of the first stage according to the steps related to the first parameter, and updating the execution order of the multiple target steps of the first stage; if there is no first stage among the multiple target stages, adding the first stage to the multiple target stages; and determining the multiple target steps included in the first stage from the multiple preset steps of the first stage according to the updated configuration parameter, and determining the execution order of the multiple target steps included in the first stage.

[0018] Thus, the existing change process can be optimized according to the updated configuration parameter, thereby improving the scalability of the change process.

[0019] In a possible implementation, the method further includes: concatenating the sub-processes corresponding to each target stage according to the execution order of the multiple target stages to obtain a target change process and display it; the corresponding sub-process is composed of the multiple target steps included in each target stage and the execution order of the multiple target steps.

[0020] Thus, the topological structure of the change process for software change can be intuitively displayed.

[0021] In a second aspect, an embodiment of the present application provides a computing device, including:

[0022] At least one memory for storing programs;

[0023] At least one processor for executing the programs stored in the memory. When the programs stored in the memory are executed, the processor is used to execute the method described in the first aspect or any possible implementation manner of the first aspect.

[0024] In a third aspect, an embodiment of the present application provides a computer storage medium, in which instructions are stored. When the instructions run on a computer, the computer is caused to execute the method described in the first aspect or any possible implementation manner of the first aspect.

[0025] In a fourth aspect, an embodiment of the present application provides a computer program product containing instructions. When the instructions run on a computer, the computer is caused to execute the method described in the first aspect or any possible implementation manner of the first aspect.

[0026] It can be understood that the beneficial effects of the above second aspect to the fourth aspect can refer to the relevant descriptions in the above first aspect, and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for description in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0028] Figure 1 It is a schematic diagram of an upgrade process provided by an embodiment of the present application;

[0029] Figure 2 It is a schematic diagram of a fallback process based on upgrade failure provided by an embodiment of the present application;

[0030] Figure 3 It is a system architecture diagram of a change process construction provided by an embodiment of the present application;

[0031] Figure 4 It is a schematic diagram of a preset stage division provided by an embodiment of the present application;

[0032] Figure 5 It is a schematic diagram of a change process topology provided by an embodiment of the present application;

[0033] Figure 6 It is a flowchart of a software change method provided by an embodiment of the present application;

[0034] Figure 7 It is a schematic diagram of determining a target stage provided by an embodiment of the present application;

[0035] Figure 8a A comparison diagram of a preset stage and a change process provided for the embodiments of the present application;

[0036] Figure 8b A comparison diagram of a preset stage and a change process provided for the embodiments of the present application;

[0037] Figure 8c A comparison diagram of a preset stage and a change process provided for the embodiments of the present application;

[0038] Figure 8d A comparison diagram of a preset stage and a change process provided for the embodiments of the present application;

[0039] Figure 9 A schematic diagram of an upgrade process construction provided for the embodiments of the present application;

[0040] Figure 10 A schematic diagram of a rollback process construction based on upgrade failure provided for the embodiments of the present application;

[0041] Figure 11 A schematic diagram of the structure of a computing device provided for the embodiments of the present application. Detailed implementation manners

[0042] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.

[0043] In the description of the embodiments of the present application, any embodiment or design solution described as "exemplary", "for example" or "for instance" should not be understood as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary", "for example" or "for instance" is intended to present related concepts in a specific manner.

[0044] In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features. The terms "include", "comprise", "have" and their variants all mean "including but not limited to", unless otherwise specifically emphasized in other ways. "At least one" may be one or more, where multiple means two or more.

[0045] When constructing the system software change process, the existing change process construction methods use a single change step as the basic object for construction, exhaustively list the possible combinations of steps to construct all possible change processes, and construct the rollback process when the change fails. In complex scenarios such as hyper-convergence, this construction method has poor feasibility and accuracy. Therefore, for the target business, the software change process can be constructed in real time under specific configuration parameters and change states.

[0046] Exemplarily, Figure 1 FIG. shows a schematic diagram of an upgrade process provided by an embodiment of the present application.

[0047] As Figure 1 shown, for the target business, under specific configuration parameters, multiple parallel execution branches included in the upgrade process and the execution steps under each branch are listed. For example, steps step11 to step15 under branch case1, steps step21 to step25 under branch case2, and steps step31 to step35 under branch case3. When the configuration parameters are updated, different requirements may arise, and new branches need to be added, and corresponding steps need to be constructed for different branches. For example, branch case4 and its steps step41 to step45 are added. At this time, it may also affect the existing branches, resulting in new branch relationships between them. For example, branches 12 and 23 are added between case1, case2, and case3. And new steps may also be added to the original branches. For example, step step16 is added under case1.

[0048] It can be seen that as the configuration parameters are updated, the existing process may need to be optimized.

[0049] Exemplarily, Figure 2 FIG. shows a schematic diagram of a rollback process based on upgrade failure provided by an embodiment of the present application.

[0050] As Figure 2 shown, if an error occurs in the upgrade scenario, a rollback operation should be performed at this time. Taking Figure 1 the upgrade process of case1 branch in as an example, assuming an error occurs when executing step step13, the possible rollback processes include:

[0051] Rollback process ①: Starting from step step13, perform the reverse operations of step step13, step step12, and step step11 in sequence until the entire upgrade process is completely rolled back, and the system is restored to the state before the upgrade.

[0052] Rollback process ②: First perform the reverse operation of step step13, then perform the reverse operation of step step11, and finally perform the reverse operation of step step12.

[0053] Rollback process ③: First perform the reverse operation of step 12, and then perform the reverse operation of step 11.

[0054] These rollback processes demonstrate how to restore the system to its pre-upgrade state through reverse operations in different scenarios.

[0055] Therefore, it is necessary to consider the security of the rollback process in specific scenarios to avoid introducing system risks.

[0056] Based on this, the embodiments of the present application preset multiple stages according to the change processes that the system services may involve, and preset steps for each stage. When the system needs to perform software changes for the target service, the configuration parameters of the target service are obtained in real time. If the change process has been executed for the target service, the change status also needs to be obtained. Based on this, the target stage and its execution order are determined from the preset stages, and the target steps and their execution order are determined from the preset steps for each target stage, and finally the target change process is constructed. This method makes the construction of the target change process regular, improves the feasibility and accuracy of the process construction, and thus improves the efficiency and security of the system in implementing software changes.

[0057] Furthermore, when the system introduces new services or updates the configuration parameters of existing services, only the steps of the affected stages in the target change process need to be updated to generate a new change process. This process will not affect the steps and their execution order of other stages. This method effectively avoids the problem of exponential growth in the number of step branches caused by business or parameter expansion, thereby improving the scalability of the change process and further improving the efficiency of the system in implementing software changes.

[0058] Exemplarily, Figure 3 FIG. shows an architecture diagram of a change process construction system provided by an embodiment of the present application.

[0059] As Figure 3 shown, the change process construction system 30 includes a process construction module 31 and a topology management module 32. The process construction module 31 and the topology management module 32 have a connection and call relationship as Figure 3 shown.

[0060] Among them, the process construction module 31 includes a parameter management module 311, multiple stage management modules 312, and a communication module 313. Each stage management module 312 includes a step determination module 400, and the step determination module 400 includes a basic step determination module 410 and a specific step determination module 420. The topology management module 32 includes a topology generation module 321, a topology display module 322, and a communication module 323.

[0061] The change process construction system 30 is used to construct software change processes for application systems in real time. The application system can be a hyper-converged device formed by aggregating multiple sets of unit devices through a network. The application system has an application domain for implementing target services.

[0062] On the one hand, the change processes that these target services may involve can be abstracted at the functional level and divided into multiple preset stages that are decoupled from each other.

[0063] According to common change scenarios and practices of application systems, the process types of software change processes include: upgrade processes, rollback processes based on successful upgrades, and exception handling processes. The exception handling processes include rollback processes based on failed upgrades and rollback processes based on failed rollbacks. Based on this, the following preset stages are set: inspection stage, processing management plane service stage, processing user service stage, upgrade / rollback service stage, restoring user service stage, and restoring management plane service stage.

[0064] Exemplarily, Figure 4 shows a schematic diagram of a preset stage division provided by an embodiment of the present application.

[0065] As Figure 4 shown, these divided stages present a symmetry in structure. Specifically, the processing management plane service stage and the restoring management plane service stage, the processing user service stage and the restoring user service stage, and the upgrade / rollback service stage and itself (i.e., the upgrade service stage and the rollback service stage) present functional symmetry and position symmetry respectively. The functional symmetry is reflected in that they are reverse operations of each other, and the position symmetry is reflected in that they are symmetric with each other with the upgrade / rollback service stage as the axis of symmetry. At the same time, this position symmetry relationship also makes their arrangement follow the same preset order as the upgrade process. Among them, the inspection stage is usually ranked first as the starting stage of the software change process, and then the management plane service processing stage, the user service processing stage, the upgrade / rollback service stage, the user service restoration stage, and the management plane service restoration stage will be arranged in sequence.

[0066] Optionally, the inspection stage is regarded as symmetric with the blank stage after the restoring management plane service stage. The blank stage means that it does not include any steps. Thus, each divided stage can present symmetry.

[0067] Through the abstract stage division method, when determining that the target change process includes target stages, the following logic can be followed:

[0068] (1) Execute the preset stages in the preset order to construct an upgrade process;

[0069] (2) It can avoid the unpredictable impact of special scenarios on the rollback process. After executing the upgrade process, the rollback process is constructed by reversely executing the reverse operations of the preset phases. Since the preset phases and their reverse operations are symmetric with respect to the upgrade / rollback business phase as the axis of symmetry, reversely executing the reverse operations of the preset phases means executing the preset phases in the preset order. Thus, the rollback process based on the upgrade (success or failure) is also constructed by executing the preset phases in the preset order;

[0070] (3) If the target change process is a rollback process based on rollback failure, the original rollback process is used as the target change process to continue the rollback. It can be understood that at this time, the rollback process based on rollback failure is also constructed by executing the preset phases in the preset order.

[0071] Thus, based on the above (1) - (3) logics, the target phases included in the target change process and the execution order of the target phases are determined.

[0072] It can be understood that for the target business, the multiple target phases of the target change process can be several or all of the preset phases, and each target phase corresponds to a subprocess of the target change process.

[0073] Moreover, through the decoupled phase division method, each target phase can be constructed and managed independently of other phases. When the configuration parameters are updated, only the affected phases or steps in the target change process need to be optimized. This improves the construction efficiency and scalability of the software change process.

[0074] On the other hand, when constructing the software change process, it also refers to the configuration parameters of the business. Different configuration parameters will affect the steps included in each phase and the execution order of the steps. Therefore, according to practical experience, multiple preset steps can be customized for each preset phase to meet all possible configuration parameters to cover common application scenarios. The preset steps include multiple basic steps and multiple specific steps. The basic steps are mandatory steps independent of the configuration parameters, and the specific steps are optional steps determined according to specific configuration parameters. By determining the specific steps included in each phase and their execution order, specific rules in the change process are implemented, which of course also includes the rules related to the rollback process. These preset steps can be designed to be atomic and idempotent.

[0075] Thus, based on the configuration parameters of the target business, the target steps included in each target phase and the execution order of the target steps are determined.

[0076] Based on the above-mentioned preset stages with decoupling and symmetry, and the preset steps for each stage, the construction of various types of software change processes can be made regular. This is reflected in: First, taking the stage as the basic object of construction, determine multiple target stages included in the target change process from the preset process, and the execution order of the target stages is the preset order; Second, determine the target steps included in the target stage and their execution steps according to the configuration parameters.

[0077] In this solution, on the basis of setting the above-mentioned preset stages in the change process construction system 30 and customizing preset steps for each preset stage, the construction of the target change process is carried out for the target business.

[0078] First, the process construction module 31 is used to obtain the configuration parameters and change status of the target business, and based on this, determine multiple target stages and the execution order of the target stages from multiple preset stages. Each target stage corresponds to a stage management module 312. For each target stage, the stage management module 312 is used to determine multiple target steps included in each target stage and the execution order of the target steps from multiple preset steps according to the configuration parameters, so as to construct the sub-process corresponding to the target stage.

[0079] Second, the parameter management module 311 is used to obtain the configuration parameters for constructing the target change process. Each stage management module 312 includes a step determination module 400, which is used to obtain the basic steps according to the basic step determination module 410 included in the step determination module 400, determine the specific steps according to the specific step determination module 420, and determine the execution order of the target steps including these basic steps and specific steps. Among them, the basic steps are mandatory steps independent of the configuration parameters, and the specific steps are optional steps determined according to the specific configuration parameters.

[0080] Furthermore, the topology management module 32 is used to generate and display the topological structure of the target change process based on the construction result of the process construction module 31.

[0081] Among them, a communication connection is established between the communication module 323 and the communication module 313. The communication module 323 is used to receive the construction result sent by the communication module 313. The topology generation module 321 concatenates the sub-processes included in each target stage in the target stage execution order to obtain the target change process, and generates the topological structure of the target change process. The sub-process is composed of multiple target steps included in each target stage and the execution order of the multiple target steps. The topology display module 322 displays the topological structure of the target change process to facilitate the user to check and execute the process.

[0082] Thus, based on these preset stages with decoupling and symmetry, multiple target stages and the execution order of the target stages can be determined according to the parameter configuration and change status of the target task, and multiple target steps included in different target stages and the execution order of the target steps can be determined, so that the construction of the target change process has regularity, improving the feasibility and accuracy of process construction, and thus enhancing the efficiency and security of the system implementing software changes.

[0083] Exemplarily, Figure 5 Fig. 5 shows a schematic diagram of a change process topology provided by an embodiment of the present application.

[0084] As Figure 5 shown, after the communication module 323 receives the construction result sent by the communication module 313 in Figure 3 , the topology generation module 321 concatenates the sub-processes included in each target stage according to the target stage execution order to obtain the target change process. The topology generation module 321 also sets the process construction module 31, multiple stage management modules 312, the step determination module 400 corresponding to the stage management module 312, the basic step determination module 410 and the specific step determination module 420 included in the step determination module 400 as nodes in the topology structure, corresponding to: process construction node, target stage node, step determination node, basic step determination node and specific step determination node respectively, and draws a change process topology composed of these nodes. The user can intuitively obtain the target stages included in the target change process through the topology structure.

[0085] Furthermore, for a specific target stage, the user can also click on the target stage node to intuitively obtain the sub-process corresponding to the target stage, and the sub-process includes basic steps, specific steps and the execution order between these steps. As Figure 5 shown, clicking on the node corresponding to the specific target stage shows that the sub-process corresponding to the target stage includes basic steps step1 - 3, step5 and specific step step4, and they have the execution order as Figure 5 shown.

[0086] Thus, the user can intuitively obtain the sub-process corresponding to the target stage to check and confirm the target change process, and can update the target change process by modifying the user configuration parameters until a change process that meets the target business is obtained.

[0087] Based on the above content, a software change method provided by an embodiment of the present application is introduced.

[0088] Exemplarily, Figure 6The figure shows a flowchart of a software change method provided by an embodiment of the present application. The change process consists of multiple preset stages combined, and each preset stage consists of multiple preset steps combined. It can be understood that this method can be executed by any device, equipment, platform, or device cluster with computing and processing capabilities. As Figure 6 shown, the software change method includes the following steps:

[0089] Step S601, obtain the configuration parameters and change status of the target business.

[0090] In one embodiment, the target business is a business objective related to the existing system or a problem to be solved. For example, system new functions, performance improvement, security enhancement, etc. To meet the target business, the system may need to perform a series of software changes, including but not limited to function expansion, performance optimization, security enhancement, and architecture adjustment. The target change process is a set of steps to achieve this change.

[0091] To construct the target change process, it is necessary to obtain the configuration parameters and change status of the target business.

[0092] Exemplarily, the parameter management module 311 in Figure 3 can be used to obtain the configuration parameters. The configuration parameters include system configuration parameters and user configuration parameters, which may be used to determine the target stages included in the target change process, the execution order of the target stages, as well as the target steps included in the target stages and the execution order of the target steps. The system configuration parameters cover system-level settings, such as server configuration, database settings, and network parameters, while the user configuration parameters are related to options set by users, such as access rights, personalized settings, and change methods. These two types of parameters jointly determine the software change mechanism of the system.

[0093] For the target business, when using the Figure 3 process construction module 31 in to determine multiple target stages, it is also necessary to obtain the change status of the system for the target business. This is because the system may have executed a change process for the target business, so it is necessary to jointly determine the target stages based on the change status of the system's execution of the previous process. The previous process is the most recent change process executed by the system for the target business.

[0094] Step S602, according to the configuration parameters and change status, determine multiple target stages from multiple preset stages, and determine the execution order of the multiple target stages.

[0095] In one embodiment, using the stage as the basic object for construction, determine multiple target stages included in the target change process from the preset process.

[0096] According to the common change scenarios and practices of application systems, it is found that the process types of software change processes include upgrade processes, rollback processes based on successful upgrades, and exception handling processes. Among them, the exception handling process includes a rollback process based on upgrade failure and a rollback process based on rollback failure.

[0097] Exemplarily, in Figure 3 the change process construction system 30 is deployed with Figure 4 the preset stages shown.

[0098] As Figure 7 shown, a schematic diagram for determining a target stage provided by an embodiment of the present application is shown. Using Figure 3 the process construction module 31 in

[0099] First, determine that the execution order of multiple target stages is Figure 4 the preset order shown, that is, the first preset order.

[0100] Secondly, if the change status is without a previous process, it indicates that the system status is normal, so the first operation can be executed. The first operation includes determining multiple target stages from multiple preset stages according to configuration parameters. At this time, the target change process is an upgrade process.

[0101] If the change status is with a previous process, the previous process information includes the change result and the previous process type. It can be understood that the previous process type also includes an upgrade process, a rollback process based on successful upgrade, and an exception handling process.

[0102] When the change result is successful, the first operation is also executed. At this time, the previous process can be an upgrade process for the target service, and the target change process can be a rollback process based on successful upgrade, used to roll back the system to the state before the upgrade.

[0103] If the change result is failure, determine multiple target stages from multiple preset stages according to the previous process type. It can be understood that at this time, the previous process information also includes the failed execution steps. The failed execution stage of the previous process can be determined according to the failed execution steps.

[0104] Specifically, Figure 4Among the multiple preset stages shown, for any first stage and second stage that are reverse operations to each other, their positions are symmetric about a preset position (axisymmetric stage). If the previous process type is an upgrade process, the reverse operations of the failure execution stage and the stages before it are taken as multiple target stages. At this time, the previous process can be an upgrade failure, and the target change process is a rollback process based on the upgrade failure. If the previous process type is a rollback process based on successful upgrade or an exception handling process, the failure execution stage and the stages after it are taken as multiple target stages. At this time, the previous process can be a rollback based on upgrade (success or failure) or a rollback based on rollback failure, and the target change process can be to continue the rollback from the failure execution stage with reference to the previous process.

[0105] Thus, it is possible to determine the target stages included in the target change process and the execution order of the target stages.

[0106] Step S603: For each target stage, according to the configuration parameters, determine the multiple target steps included in this target stage from the multiple preset steps of this target stage, and determine the execution order of the multiple target steps. The target change process composed of the multiple target stages and the multiple target steps is used to implement software change.

[0107] In one embodiment, for each target stage, the multiple preset steps include multiple basic steps and multiple specific steps, and the basic steps have a second preset order. The second preset order is determined according to the function corresponding to the preset stage where the basic steps are located.

[0108] Exemplarily, the Figure 3 phase management module 312 can be used to determine the multiple target steps. For each target stage, the process of determining the target steps includes: according to the configuration parameters, using the basic step determination module 410 to obtain multiple basic steps. Also according to the configuration parameters, using the specific step determination module 420 to determine the target specific steps from the multiple specific steps. The basic steps and the target specific steps are the multiple target steps.

[0109] Again according to the configuration parameters, intersperse the target specific steps into the process composed of the basic steps and the second preset order of the basic steps to obtain the execution order of the multiple target steps.

[0110] Optionally, the Golang language is used to intersperse the target specific steps to determine the execution order of the target steps.

[0111] Thus, it is possible to determine the target steps included in each target stage and the execution order of the target steps.

[0112] Exemplarily, in response to the update of the configuration parameters, obtain the updated first parameter among them.

[0113] If there is a first stage related to the first parameter among multiple target stages of the target update process, update multiple target steps of the first stage according to the steps related to the first parameter, and update the execution order of multiple target steps of the first stage.

[0114] Specifically, if the update is an addition operation, add the steps related to the first parameter to multiple target steps of the first stage. If the update is a deletion operation, delete the steps related to the first parameter from multiple target steps of the first stage. If the update is a modification operation, delete the original steps related to the first parameter from multiple target steps of the first stage, and add the steps related to the first parameter to multiple target steps of the first stage. It can be understood that the steps related to the first parameter can be existing or newly added preset steps.

[0115] If the first stage does not exist among multiple target stages, add the first stage to multiple target stages. And according to the updated configuration parameters, determine multiple target steps included in the first stage from multiple preset steps of the first stage, and determine the execution order of multiple target steps included in the first stage. It can be understood that the first stage can be an existing or newly added preset stage.

[0116] Finally, combine multiple target stages and multiple target steps into a target change process to implement software changes.

[0117] Optionally, based on the update of business requirements, update the system change process currently supported by the change process construction system 30 to better meet the change requirements of complex application systems.

[0118] Thus, based on these decoupled preset stages, when the system introduces new services or updates the configuration parameters of existing services, only the steps of the affected stages in the target change process need to be updated to generate a new change process. This process will not affect the steps of other stages and their execution order. This method effectively avoids the problem of exponential growth of the number of step branches caused by business or parameter expansion, thereby improving the scalability of the change process and further enhancing the efficiency of the system implementing software changes.

[0119] In summary, the embodiments of the present application preset decoupled and symmetric preset stages according to the change processes that the system business may involve, and preset steps for each stage. When the system needs to make changes to the target business, obtain the configuration parameters and change status of the target business. Further, the real-time construction of the target change process according to the change status and configuration parameters can improve the feasibility and accuracy of process construction, thereby enhancing the efficiency and security of the system implementing software changes.

[0120] Exemplarily, Figures 8a - 8dA comparison diagram of a preset stage and a change process provided by an embodiment of the present application is shown.

[0121] As Figures 8a - 8d shown, Figure 8a the upgrade process of shows an online upgrade flow chart, including steps a1 to a16.

[0122] Figure 8b the upgrade process of shows an offline upgrade flow chart, including steps b1 to b7.

[0123] Figure 8c the rollback process of shows an online rollback flow chart, including steps c1 to c14.

[0124] Figure 8d the rollback process of shows an offline rollback flow chart, including steps d1 to d5.

[0125] According to the common upgrade scenarios and practical experience of application systems, several common types of software change processes are listed in Figures 8a - 8d , including upgrade processes and rollback processes based on successful upgrades.

[0126] From Figures 8a - 8d it can be seen that if these upgrade or rollback processes are abstracted at the functional level, it can be clearly identified that their stages are within the 6 preset stages included in Figure 4 . Among them, these upgrade or rollback processes may include several of the above 6 stages, and several stages follow the Figure 4 preset sorting shown. Each stage may include several steps of preset steps, and several steps have an execution order, and several steps and their execution order constitute the sub-process corresponding to each stage.

[0127] Thus, taking Figure 8a as an example, this online upgrade process includes all the above 6 stages. Among them, the check stage includes three steps a1 to a3, which have an execution order in this process, and they and their execution order between them constitute the sub-process corresponding to the check stage. And Figure 8b the offline upgrade process in only includes 4 of the above 6 stages: the check stage, the user service processing stage, the upgrade / rollback service stage, and the user service recovery stage. Among them, the user service processing stage only includes step b4, which alone constitutes the sub-process corresponding to the user service processing stage.

[0128] Next, based on Figure 4 these preset stages with decoupling and symmetry, and the preset steps customized for each preset stage, the process of constructing a software change process using the change process construction system 30 will be described.

[0129] Exemplarily,Figure 9 Fig. 0 shows a schematic diagram of an upgrade process construction provided by an embodiment of the present application.

[0130] As Figure 9 shown, first, the process construction module 31 is used to execute operation 1: obtain configuration parameters and the status of the system's pre - process. Then, the process construction module 31 is used to execute operation 2: determine the process type, so as to determine the target stage. If no information about the pre - process is obtained, the process construction module 31 considers that an upgrade process needs to be constructed this time, and determines the target stages included in the upgrade process according to the configuration parameters, and starts a stage management module 312 for each target stage.

[0131] For each target stage, secondly, the stage management module 312 is used to execute operation 3: trigger the determination of target steps. This process includes calling the step determination module 400 to determine the target steps.

[0132] Further, the step determination module 400 is used to execute operation 4: trigger the determination of basic steps, and execute operation 5: trigger the determination of specific steps. This process includes calling the basic step determination module 410 to obtain the basic steps, and calling the specific step determination module 420 to determine the specific steps.

[0133] Furthermore, the basic step determination module 410 is used to execute operation 6: obtain the basic steps. The specific step determination module 420 is used to execute operation 7: determine the specific steps, including determining the specific steps of specific conditional branches and the specific steps that do not meet the order requirements. Thus, the construction of the upgrade process is completed.

[0134] Exemplarily, Figure 9 Fig. 0 shows the execution results after each module executes the relevant operations. For example, after the process construction module 31 executes operations 1 and 2, it can be determined that the upgrade process includes the above 6 preset steps, which are executed in the first preset order, so that the application system completes software upgrade for the target service according to the configuration parameters. After the basic step determination module 410 executes operation 6, it can determine the basic steps included in each stage and their execution order. After the specific step determination module 420 executes operation 7, it can determine the specific steps included in each stage and their execution order. It can Figure 9 be seen that each stage may not include specific steps, or include one or more specific steps. The specific steps can be interspersed before or after the basic steps.

[0135] Exemplarily, Figure 10 Fig. 0 shows a schematic diagram of a fallback process construction provided by an embodiment of the present application based on upgrade failure.

[0136] As Figure 10As shown, it shows a process construction process for triggering a fallback in case of failure during an upgrade process (for example Figure 9 an error occurs when the upgrade step in Figure 9 executes to the basic step of the user service restoration phase). First, the process construction module 31 executes operations 1 and 2. The process construction module 31 obtains the information of the previous process. When it checks that the step where the error occurs is a step in the user service restoration phase, it considers the failure execution phase to be the user service restoration phase, and the process constructed this time is a fallback process based on the upgrade failure. And it determines that the target phase is the reverse operation of the failure execution phase and the previous phases, and its execution order is the reverse order of these reverse operations. For the convenience of viewing, the reverse-order target phase can be changed to be represented in the forward order to obtain the forward-order target phase. It can be seen that the execution order of the forward-order target phase is the same as the first preset order, that is, the execution order of multiple target phases is the first preset order.

[0137] Optionally, a check phase ranked at the head is added on the basis of these target phases to improve the security of the process.

[0138] For each target phase, secondly, the phase management module 312 executes operation 3, the step determination module 400 executes operations 4 - 5, the basic step determination module 410 executes operation 6, and the specific step determination module 420 executes operation 7. Thus, the construction of the fallback process based on the upgrade failure is completed. Since this process is similar to the process in Figure 9 , it will not be elaborated here.

[0139] Exemplarily, Figure 10 shows the execution results after each module executes the relevant operations. For example, after the process construction module 31 executes operations 1 and 2, it can be determined that the target fallback process includes the user service processing phase (failure execution phase: reverse operation of the user service restoration phase), the service fallback phase, the customer service restoration phase, the management plane service restoration phase, and the blank phase (reverse operation of the phase before the failure execution phase), as well as the optional phase: the check phase. They are executed in the first preset order to restore the application system to the state before the upgrade process is executed. After the basic step determination module 410 executes operation 6, and after the specific step determination module 420 executes operation 7, the results are similar to those in Figure 9 , and will not be elaborated here.

[0140] It can be understood that the sequence numbers of the steps in the above embodiments do not indicate the order of execution. The execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application. In addition, in some possible implementation manners, the steps in the above embodiments can be selectively executed according to the actual situation, can be partially executed, or can be all executed, which is not limited herein. Additionally, all or part of any feature in the above embodiments can be freely combined in any way without contradiction. The combined technical solution is also within the scope of the present application.

[0141] Exemplarily, an embodiment of the present application further provides a computing device 1000. As Figure 11 shown, the computing device 1000 includes: a bus 1002, a processor 1004, a memory 1006, and a communication interface 1008. The processor 1004, the memory 1006, and the communication interface 1008 communicate with each other through the bus 1002. It should be understood that the present application does not limit the number of processors and memories in the computing device 1000.

[0142] The bus 1002 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of representation, Figure 11 a single line is used in the figure, but it does not mean that there is only one bus or one type of bus. The bus 1004 can include a path for transmitting information between various components (such as the memory 1006, the processor 1004, and the communication interface 1008) of the computing device 1000.

[0143] The processor 1004 can include any one or more of a central processing unit, a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), a baseboard management controller, and other processors.

[0144] The memory 1006 may include volatile memory, such as random access memory (RAM). The processor 1004 may also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0145] The communication interface 1008 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1000 or a cluster of multiple computing devices 1000 and other devices or communication networks.

[0146] The computing device 1000 includes internal network devices, or the computing device 1000 is externally connected to multiple network devices. The internal network devices communicate with the processor 1004, the memory 1006, and the communication interface 1008 through the bus 1002, and the external network devices communicate with the computing device 1000 through interfaces such as Ethernet, Fibre Channel, and InfiniBand.

[0147] The memory 1006 stores executable program code / instructions, and the processor 1004 executes the executable program code / instructions to implement the Figure 6 process shown, thereby implementing all or part of the steps of the method in the above embodiments. In other words, the memory 1006 stores a program / instruction for executing all or part of the steps of the method in the above embodiments.

[0148] An embodiment of the present application provides a computing device, including: a memory and a processor; the memory and the processor are coupled; the memory is used to store a program; the processor is used to execute the program stored in the memory, and when the program stored in the memory is executed, the processor is used to execute the method in the above embodiments.

[0149] Based on the method in the above embodiments, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program runs on a processor, the processor is caused to execute the method in the above embodiments.

[0150] Based on the method in the above embodiments, an embodiment of the present application provides a computer program product. When the computer program product runs on a processor, the processor is caused to execute the method in the above embodiments.

[0151] The method steps in the embodiments of the present application can be implemented in a hardware manner or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a random access memory (RAM), flash memory, read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), register, hard disk, removable hard disk, CD-ROM, or any other form of storage medium well-known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.

[0152] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted through a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or a wireless manner (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that the computer can access or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (for example, floppy disk, hard disk, magnetic tape), an optical medium (for example, DVD), or a semiconductor medium (for example, solid state disk (SSD)), etc.

[0153] It can be understood that the various numerical numbers involved in the embodiments of the present application are only for the convenience of description and are not used to limit the scope of the embodiments of the present application.

Claims

1. A software change method, characterized in that, The change process of the described change is composed of multiple preset stages, and each preset stage is composed of multiple preset steps. The method includes: Obtain the configuration parameters and change status of the target service; Determine multiple target stages from multiple preset stages according to the configuration parameters and change status, and determine the execution order of the multiple target stages; For each target stage, determine multiple target steps included in the target stage from the multiple preset steps of the target stage according to the configuration parameters, and determine the execution order of the multiple target steps; The target change process composed of the multiple target stages and multiple target steps is used to implement software changes.

2. The method according to claim 1, wherein The multiple preset stages have a first preset order, and the execution order of the multiple target stages is the first preset order.

3. The method according to claim 1, wherein The determining multiple target stages from multiple preset stages according to the configuration parameters and change status includes: If the change status is no previous process, perform a first operation; The first operation includes determining multiple target stages from multiple preset stages according to the configuration parameters; The previous process is the change process that the system recently executed for the target service; If the change status is having a previous process, determine multiple target stages from multiple preset stages according to the previous process information.

4. The method according to claim 3, characterized in that, The previous process information includes the change result and the previous process type; The determining multiple target stages from multiple preset stages according to the previous process information includes: If the change result is successful, perform the first operation; If the change result is failed, determine multiple target stages from multiple preset stages according to the previous process type.

5. The method according to claim 4, characterized in that The previous process information further includes the failed execution steps when the change result is failed; The determining multiple target stages from multiple preset stages according to the previous process type includes: Determine the failed execution stage of the previous process according to the failed execution steps; Determine multiple target stages from multiple preset stages according to the failed execution stage.

6. The method according to claim 5, characterized in that, The first stage and the second stage among the multiple preset stages are reverse operations of each other; Among them, the positions of the first stage and the second stage are symmetrical about a preset position; The determining multiple target stages from multiple preset stages according to the failed execution stage includes: If the previous process type is an upgrade process, use the reverse operations of the failed execution stage and the stages before it as multiple target stages; If the previous process type is a rollback process or an exception handling process based on successful upgrade, use the failed execution stage and the stages after it as multiple target stages.

7. The method according to claim 1, characterized in that, The multiple preset steps include basic steps and specific steps, and the basic steps have a second preset order; The determining multiple target steps included in the target stage from the multiple preset steps of the target stage, and determining the execution order of the multiple target steps includes: Determine the target specific steps from the multiple preset steps of the target stage according to the configuration parameters; The basic steps and the target specific steps are the multiple target steps; Intersperse the target specific step into the process composed of the basic step and the second preset order according to the configuration parameter to obtain the execution order of the multiple target steps.

8. The method according to claim 1, wherein The preset phases are decoupled from each other; The method further includes: In response to the update of the configuration parameter, obtain the first parameter updated therein; If there is a first phase related to the first parameter among the multiple target phases, update the multiple target steps of the first phase according to the steps related to the first parameter, and update the execution order of the multiple target steps of the first phase; If the first phase does not exist among the multiple target phases, add the first phase to the multiple target phases; and According to the updated configuration parameter, determine the multiple target steps included in the first phase from the multiple preset steps of the first phase, and determine the execution order of the multiple target steps included in the first phase.

9. The method according to claim 1, wherein The method further includes: Connect the sub-processes corresponding to each target phase according to the execution order of the multiple target phases to obtain the target change process and display it; the corresponding sub-process is composed of the multiple target steps included in each target phase and the execution order of the multiple target steps.

10. A computing device, characterized in that, Includes: At least one memory for storing programs; At least one processor for executing the program stored in the memory. When the program stored in the memory is executed, the processor is used to execute the method according to any one of claims 1-9.