Change task processing method and device, equipment, storage medium and program product
Patent Information
- Application Number
- CN202510435424.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-08
- Publication Date
- 2026-10-16
AI Technical Summary
[0005]本申请的多个方面提供一种变更任务处理方法、装置、设备、存储介质及程序产品,用以解决执行变更任务的风险高的问题
[0105] This application provides a method, apparatus, device, storage medium, and program product for processing change tasks. A scheduling server can determine at least one change node for executing a target change task, and determine a change domain based on the at least one change node, thereby processing the target change task based on the change domain. Since the scheduling server can dynamically determine the change domain based on at least one change node, it accurately determines the scope of influence of executing the target change task. The scheduling server processes the target change task within the scope of the change domain, avoiding the target change task being affected by nodes outside the change domain, and also avoiding the target change task affecting nodes outside the change domain, thus reducing the risk of executing change tasks.
Smart Images

Figure CN122933440A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network operation and maintenance, and in particular to a method, apparatus, device, storage medium and program product for handling change tasks. Background Technology
[0002] A network is a constantly evolving system. To ensure stable network operation, it is usually necessary to modify network devices.
[0003] When the network is small, the need for changes is low, and the execution order of change tasks can be manually coordinated, executing changes on various network devices in that order. However, as the network grows, the need for changes increases daily, and the relationships between network devices become more complex, making it easy for executing change tasks to trigger chain reactions, and increasing the risks associated with executing change tasks.
[0004] In related technologies, models can be used to formulate change plans based on change requirements and the current network status, and various change tasks can be coordinated and executed according to the change plan. However, because the network environment changes in real time, when executing a model-based change plan, the change plan cannot effectively adapt to the network environment at that time, resulting in high risks in executing change tasks. Summary of the Invention
[0005] This application provides a method, apparatus, device, storage medium, and program product for handling change tasks, in order to solve the problem of high risk in performing change tasks.
[0006] In a first aspect, embodiments of this application provide a method for processing change tasks, applied to a scheduling server, the method comprising:
[0007] Identify at least one change node for executing the target change task;
[0008] A change domain is determined based on the at least one change node, wherein the change domain includes at least one node affected by the target change task;
[0009] The target change task is processed based on the change domain.
[0010] In one possible implementation, the at least one node includes the at least one changed node and a target associated node corresponding to the changed node; processing the target change task based on the change domain includes:
[0011] The target change information of the target change task is sent to the change node so that the change node can perform conflict judgment on the target change task based on the received change information to obtain a conflict result. When the conflict result is a victory, the target change information is sent to the next target associated node in the change domain until all nodes in the change domain determine the conflict result of the target change task. The received change information includes the target change information.
[0012] Determine the conflict results of each node in the change domain for the target change task;
[0013] The target change task is processed based on the conflict results determined by each node for the target change task.
[0014] In one possible implementation, the target change task is processed based on the conflict results determined by each node for the target change task, including:
[0015] If all nodes determine that the conflict result for the target change task is a conflict victory, then each node in the change domain is notified to set the task status of the target change task to the execution status, and an execution instruction is sent to the change node so that the change node executes the target change task according to the execution instruction.
[0016] If any of the conflict results determined by each node for the target change task result in a conflict failure, then each node in the change domain is notified to cancel the execution of the target change task, and the target change task is pushed to the change blocking queue to wait for other change tasks to be completed before the target change task is executed.
[0017] In one possible implementation, after pushing the target change task to the change blocking queue, the method further includes:
[0018] After determining that the other change tasks have been completed, the target change task is moved from the change blocking queue to the head of the change scheduling queue to await scheduling.
[0019] In one possible implementation, after pushing the target change task to the change blocking queue, the method further includes:
[0020] The blocking record records the blocking relationships between the target change task and other change tasks. The blocking record is used to record the blocking relationships between multiple change tasks.
[0021] After the other change tasks are completed, the blocking relationship between the target change task and the other change tasks is deleted from the blocking record.
[0022] In one possible implementation, after the change node executes the target change task according to the execution instruction, the method further includes:
[0023] Receive the execution completion message sent by the changed node;
[0024] A cancellation command is sent to the nodes in the change domain so that the nodes in the change domain update the task status of the target change task to a cancelled status.
[0025] In one possible implementation, determining the change domain based on the at least one change node includes:
[0026] For any change node, determine the set of associations of the change node, wherein the set of associations includes at least one association type corresponding to an association relationship;
[0027] Based on the set of associations and the target change information of the target change task, determine the target association node corresponding to the change node;
[0028] The change domain is determined based on each change node and the target associated node corresponding to each change node.
[0029] In one possible implementation, determining the target associated node corresponding to the change node based on the set of associations and the target change information of the target change task includes:
[0030] The number of propagations and the type of target association are determined from the target change information;
[0031] Based on the number of propagations and the set of relationships, determine the associated node corresponding to the changed node;
[0032] Based on the target association type, the target association node corresponding to the change node is determined among the association nodes corresponding to the change node, and the association type of the relationship between the target association node and the change node is the target association type.
[0033] In one possible implementation, before determining at least one change node for performing the target change task, the method further includes:
[0034] Based on the first-in, first-out principle, the target change task is determined in the change scheduling queue.
[0035] Secondly, embodiments of this application provide a change task processing method applied to a target node in a change domain, wherein the change domain is determined based on at least one change node executing a target change task; the method includes:
[0036] Based on the received change information, determine the conflict result of the target change task;
[0037] When the conflict result is a victory, the target change information is sent to the next node in the change domain until all nodes in the change domain determine the conflict result of the target change task; the conflict result determined by each node for the target change task is used by the scheduling server to process the target change task.
[0038] In one possible implementation, determining the conflict outcome of the target change task based on the received change information includes:
[0039] If the received change information includes target change information and other change information, then a conflict judgment is made on the target change task based on the target change information and the other change information to obtain a conflict result;
[0040] Wherein, the target change information refers to the change information of the target change task, and the other change information refers to the change information of other change tasks.
[0041] In one possible implementation, a conflict determination is performed on the target change task based on the target change information and the other change information to obtain a conflict result, including:
[0042] Determine the first comparison information from the target change information;
[0043] The second comparison information is determined from the other change information;
[0044] The conflict result is determined based on the first comparison information and the second comparison information, wherein the conflict result is either a victory or a failure.
[0045] Wherein, the first comparison information and the second comparison information are information corresponding to the same comparison item, and the comparison item includes at least one of the following: task submission time and task priority.
[0046] In one possible implementation, after determining the conflict result of the target change task based on the received change information, the method further includes:
[0047] If the conflict result is a victory, then it is confirmed that the target change task can be executed, and the task status of the target change task is set to the pre-submit status;
[0048] If the conflict result is a failure, then it is confirmed that the target change task is not allowed to be executed, and the task status of the target change task is set to canceled.
[0049] In one possible implementation, the target change information includes the number of propagations; sending the target change information to the next node in the change domain includes:
[0050] Based on the number of propagations, the target change information is propagated to the next node in the manner of route announcement, and the number of propagations in the target change information decreases sequentially until the number of propagations is 0.
[0051] In one possible implementation, the method further includes:
[0052] If the received change information is the target change information, then it is confirmed that the target change task can be executed.
[0053] Thirdly, embodiments of this application provide a change task processing apparatus applied to a scheduling server. The apparatus includes: a first determining module, a second determining module, and a processing module, wherein...
[0054] The first determining module is used to determine at least one change node for executing the target change task;
[0055] The second determining module is used to determine a change domain based on the at least one change node, wherein the change domain includes at least one node affected by the target change task;
[0056] The processing module is used to process the target change task based on the change domain.
[0057] In one possible implementation, the at least one node includes the at least one changed node and the target associated node corresponding to the changed node; the processing module is specifically used for:
[0058] The target change information of the target change task is sent to the change node so that the change node can perform conflict judgment on the target change task based on the received change information to obtain a conflict result. When the conflict result is a victory, the target change information is sent to the next target associated node in the change domain until all nodes in the change domain determine the conflict result of the target change task. The received change information includes the target change information.
[0059] Determine the conflict results of each node in the change domain for the target change task;
[0060] The target change task is processed based on the conflict results determined by each node for the target change task.
[0061] In one possible implementation, the processing module is specifically used for:
[0062] If all nodes determine that the conflict result for the target change task is a conflict victory, then each node in the change domain is notified to set the task status of the target change task to the execution status, and an execution instruction is sent to the change node so that the change node executes the target change task according to the execution instruction.
[0063] If any of the conflict results determined by each node for the target change task result in a conflict failure, then each node in the change domain is notified to cancel the execution of the target change task, and the target change task is pushed to the change blocking queue to wait for other change tasks to be completed before the target change task is executed.
[0064] In one possible implementation, after pushing the target change task to the change blocking queue, the apparatus further includes a scheduling module, the scheduling module being used to:
[0065] After determining that the other change tasks have been completed, the target change task is moved from the change blocking queue to the head of the change scheduling queue to await scheduling.
[0066] In one possible implementation, after pushing the target change task to the change blocking queue, the device further includes: a recording module, the recording module being used to:
[0067] The blocking record records the blocking relationships between the target change task and other change tasks. The blocking record is used to record the blocking relationships between multiple change tasks.
[0068] After the other change tasks are completed, the blocking relationship between the target change task and the other change tasks is deleted from the blocking record.
[0069] In one possible implementation, after the change node executes the target change task according to the execution instruction, the device further includes: a receiving module and an instruction sending module, wherein,
[0070] The receiving module is used to receive the execution completion message sent by the change node;
[0071] The instruction sending module is used to send a cancellation instruction to the nodes in the change domain, so that the nodes in the change domain update the task status of the target change task to a cancelled status.
[0072] In one possible implementation, the second determining module is specifically used for:
[0073] For any change node, determine the set of associations of the change node, wherein the set of associations includes at least one association type corresponding to an association relationship;
[0074] Based on the set of associations and the target change information of the target change task, determine the target association node corresponding to the change node;
[0075] The change domain is determined based on each change node and the target associated node corresponding to each change node.
[0076] In one possible implementation, the second determining module is specifically used for:
[0077] The number of propagations and the type of target association are determined from the target change information;
[0078] Based on the number of propagations and the set of relationships, determine the associated node corresponding to the changed node;
[0079] Based on the target association type, the target association node corresponding to the change node is determined among the association nodes corresponding to the change node, and the association type of the relationship between the target association node and the change node is the target association type.
[0080] In one possible implementation, before determining at least one change node for performing the target change task, the apparatus further includes: a fourth determining module, the fourth determining module being configured to:
[0081] Based on the first-in, first-out principle, the target change task is determined in the change scheduling queue.
[0082] Fourthly, embodiments of this application provide a change task processing apparatus applied to a target node in a change domain, wherein the change domain is determined based on at least one change node executing a target change task; the apparatus includes: a conflict determination module and a sending module, wherein,
[0083] The conflict determination module is used to determine the conflict result of the target change task based on the received change information;
[0084] The sending module is used to send the target change information to the next node in the change domain when the conflict result is a victory, until all nodes in the change domain determine the conflict result of the target change task; the conflict result determined by each node for the target change task is used by the scheduling server to process the target change task.
[0085] In one possible implementation, the conflict determination module is specifically used for:
[0086] If the received change information includes target change information and other change information, then a conflict judgment is made on the target change task based on the target change information and the other change information to obtain a conflict result;
[0087] Wherein, the target change information refers to the change information of the target change task, and the other change information refers to the change information of other change tasks.
[0088] In one possible implementation, the conflict determination module is specifically used for:
[0089] Determine the first comparison information from the target change information;
[0090] The second comparison information is determined from the other change information;
[0091] The conflict result is determined based on the first comparison information and the second comparison information, wherein the conflict result is either a victory or a failure.
[0092] Wherein, the first comparison information and the second comparison information are information corresponding to the same comparison item, and the comparison item includes at least one of the following: task submission time and task priority.
[0093] In one possible implementation, after determining the conflict result of the target change task based on the received change information, the conflict determination module is further configured to:
[0094] If the conflict result is a victory, then it is confirmed that the target change task can be executed, and the task status of the target change task is set to the pre-submit status;
[0095] If the conflict result is a failure, then it is confirmed that the target change task is not allowed to be executed, and the task status of the target change task is set to canceled.
[0096] In one possible implementation, the target change information includes the number of propagations; the sending module is used to:
[0097] Based on the number of propagations, the target change information is propagated to the next node in the manner of route announcement, and the number of propagations in the target change information decreases sequentially until the number of propagations is 0.
[0098] In one possible implementation, the conflict determination module is further configured to:
[0099] If the received change information is the target change information, then it is confirmed that the target change task can be executed.
[0100] Fifthly, embodiments of this application provide an electronic device, including: a memory and a processor;
[0101] The memory stores computer-executed instructions;
[0102] The processor executes computer execution instructions stored in the memory, causing the processor to perform the method described in either the first aspect or the second aspect.
[0103] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method described in either the first or second aspect.
[0104] In a seventh aspect, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the method shown in either the first or second aspect.
[0105] This application provides a method, apparatus, device, storage medium, and program product for processing change tasks. A scheduling server can determine at least one change node for executing a target change task, and determine a change domain based on the at least one change node, thereby processing the target change task based on the change domain. Since the scheduling server can dynamically determine the change domain based on at least one change node, it accurately determines the scope of influence of executing the target change task. The scheduling server processes the target change task within the scope of the change domain, avoiding the target change task being affected by nodes outside the change domain, and also avoiding the target change task affecting nodes outside the change domain, thus reducing the risk of executing change tasks. Attached Figure Description
[0106] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0107] Figure 1 A schematic diagram illustrating an application scenario provided for an exemplary embodiment of this application;
[0108] Figure 2 A flowchart illustrating a change task processing method provided for an exemplary embodiment of this application. Figure 1 ;
[0109] Figure 3 A schematic diagram of a modified domain provided for an exemplary embodiment of this application;
[0110] Figure 4 A flowchart illustrating a change task processing method provided for an exemplary embodiment of this application. Figure 2 ;
[0111] Figure 5 A flowchart illustrating a change task processing method provided for an exemplary embodiment of this application. Figure 3 ;
[0112] Figure 6 A flowchart illustrating a change task processing method provided for an exemplary embodiment of this application. Figure 4 ;
[0113] Figure 7 A schematic diagram illustrating the propagation of change information as an exemplary embodiment of this application;
[0114] Figure 8 A schematic diagram illustrating how each node receives target change information, provided as an exemplary embodiment of this application;
[0115] Figure 9 A schematic diagram of the structure of a modified task processing device provided as an exemplary embodiment of this application. Figure 1 ;
[0116] Figure 10 A schematic diagram of the structure of a modified task processing device provided as an exemplary embodiment of this application. Figure 2 ;
[0117] Figure 11 A schematic diagram of the structure of a modified task processing device provided as an exemplary embodiment of this application. Figure 3 ;
[0118] Figure 12 This is a schematic diagram of the structure of an electronic device provided as an exemplary embodiment of this application. Detailed Implementation
[0119] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0120] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0121] Below, in conjunction with Figure 1The application scenarios of this application will be explained.
[0122] Figure 1 This is a schematic diagram illustrating an application scenario provided for an exemplary embodiment of this application. Please refer to [link / reference]. Figure 1 A network can include multiple network devices. For example, network devices can include network device 1, network device 2, network device 3, network device 4, network device 5, network device 6, network device 7, network device 8, and so on. Any one of these network devices can also be called a node.
[0123] In a network, there are complex relationships between multiple network devices. For example, network device 1 is related to network device 2, network device 3, and network device 4.
[0124] Based on business needs, change tasks can be performed on any network device. When a change task is performed on any network device, it will affect other network devices associated with that device. Therefore, if other change tasks are performed on other network devices while a change task is being performed on that network device, task conflicts will occur, leading to network failures.
[0125] For example, a target change task can be performed on network device 4, which could be to update the network configuration of network device 4. Because network device 4 has relationships with network devices 1, 2, 3, 5, 6, 7, and 8, performing a target change task on network device 4 will affect the other seven network devices. If any of the other seven network devices performs other change tasks while network device 4 is performing a target change task, a task conflict will occur, leading to network failure.
[0126] In related technologies, models can be used to formulate change plans based on change requirements and the current network status, and various change tasks can be coordinated and executed according to the change plan. However, because the network environment changes in real time, when executing a model-based change plan, the change plan cannot effectively adapt to the network environment at that time, resulting in high risks in executing change tasks.
[0127] In this embodiment, the scheduling server can determine at least one change node to execute the target change task, and determine a change domain based on the at least one change node, and then process the target change task based on the change domain. Since the scheduling server can dynamically determine the change domain based on at least one change node, it accurately determines the scope of influence of executing the target change task. The scheduling server processes the target change task within the scope of the change domain, avoiding the target change task being affected by nodes outside the change domain, and also avoiding the target change task affecting nodes outside the change domain, thus reducing the risk of executing the change task.
[0128] The technical solutions shown in this application will now be described in detail through specific embodiments. It should be noted that the following embodiments may exist independently or in combination with each other; for identical or similar content, the description will not be repeated in different embodiments.
[0129] Figure 2 A flowchart illustrating a change task processing method provided for an exemplary embodiment of this application. Figure 1 Please see. Figure 2 The method may include:
[0130] The execution entity in this application embodiment can be a scheduling server or a scheduling center, or it can be a task change processing device set in a scheduling server or a scheduling center. The task change processing device can be implemented by software or by a combination of software and hardware. The task change processing device can be a processor in the scheduling server. For ease of understanding, the following description will use a scheduling server as the execution entity.
[0131] S201. Identify at least one change node for executing the target change task.
[0132] The target change task can be adding, updating, or deleting network configurations of nodes in the network. Nodes can be physical network devices or virtual network devices. For example, virtual network devices can be virtual machines, containers, etc.
[0133] A change node is a node that executes the target change task.
[0134] The scheduling server can receive target change information for a target change task and determine at least one change node to execute the target change task based on the target change information.
[0135] Optionally, the target change information may include at least one of the following: the identifier of at least one change node, the task submission time, and the task priority.
[0136] For example, if the target change task is to add network configuration to nodes 1, 3, and 12, the target change information may include: the identifier of node 1 (Node1), the identifier of node 3 (Node3), the identifier of node 12 (Node12), the task submission time (T0), and the task priority level (1).
[0137] For example, if the target change information is as shown in the example above, the scheduling server can determine the three change nodes that will execute the target change task as node 1, node 3 and node 12 based on the target change information.
[0138] S202. Determine the change domain based on at least one change node.
[0139] The change domain may include at least one node that is affected by the target change task.
[0140] Below, in conjunction with Figure 3 The changes to the domain are explained.
[0141] Figure 3 This is a schematic diagram of a modified domain provided for an exemplary embodiment of this application. Please refer to [link / reference]. Figure 3 If the changed nodes are nodes 1, 3, and 12, then the corresponding change domain A can include nodes 1, 3, 5, 6, 12, and 14. If the changed node is node 8, then the corresponding change domain B can include nodes 5, 6, 7, 8, 9, and 10. If the changed node is node 9, then the corresponding change domain C can include nodes 7, 8, 9, 10, and 11.
[0142] Optionally, the change domain can be determined based on at least one change node in the following manner: for any change node, determine the set of association relationships of the change node; based on the set of association relationships and the target change information of the target change task, determine the target associated node corresponding to the change node; based on each change node and the target associated node corresponding to each change node, determine the change domain. At least one node in the change domain may include at least one change node and the target associated node corresponding to the change node.
[0143] For any given node, the scheduling server can store a set of association relationships for that node. Since a node may have different types of association relationships with different associated nodes, the set of association relationships can include at least one association relationship of a certain type.
[0144] For example, at least one association type may include at least one of the following: protocol adjacency type, direct connection type.
[0145] Optionally, for node i, the set of associations of node i can be represented as RS(i) = {Ki-1, Ki-2, Ki-3, ..., Ki-j}. Here, Ki-j represents the association between node i and node j, and i and j are integers greater than or equal to 1.
[0146] For example, if the relationships between nodes are as follows Figure 3 As shown in the diagram, for node 1, if the association type between node 1 and node 2 is protocol adjacency, and the association type between node 1 and nodes 5 and 6 is direct connection, then the association set RS(1) of node 1 can include the associations between node 1 and nodes 2 and 5 respectively, i.e., RS(1) = {K1-2, K1-5}; similarly, for node 2, the association set RS(2) = {K2-1, K2-5, K2-6, K2-3}; for node 3, the association set RS(3) = {K3-2, K3-4, K3-6}; ...; for node 12, the association set RS(12) = {K12-13, K12-14}; ...; for node 15, the association set RS(15) = {K15-14}. The scheduling server can store the association set corresponding to each node.
[0147] Since the scheduling server stores the set of relationships between each node, for any changed node, the scheduling server can determine the set of relationships between the changed node. Therefore, the scheduling server can determine the target associated node corresponding to the changed node based on the set of relationships and the target change information.
[0148] Optionally, the target change information may also include the target association type and the number of propagations.
[0149] Among them, the target association type refers to the association type between the change node and the target associated node; the propagation number indicates the number of times the change node propagates the target change information to the target associated node.
[0150] Optionally, the propagation count can be represented by L. The propagation count in the target change information decreases sequentially as the target change information propagates until it reaches 0.
[0151] For example, if the relationships between nodes are as follows Figure 3As shown, if the propagation count L = 1 in the target change information received by node 1, then node 1 can update the propagation count L = 1 in the target change information to L = 0, and propagate the target change information to nodes 2 and 5 respectively. Nodes 2 and 5 will then receive target change information with a propagation count L = 0. Since nodes 2 and 5 receive target change information with a propagation count L = 0, node 2 can stop propagating target change information to node 3, and node 5 can stop propagating target change information to node 7. Similarly, if the propagation count L = 1 in the target change information received by node 3, then based on the propagation count, node 3 can propagate target change information to nodes 4 and 6 (L = 0), and node 6 will stop propagating target change information to node 8. If the propagation count L = 1 in the target change information received by node 12, then based on the propagation count, node 12 can propagate target change information to nodes 13 and 14 (L = 0), and node 14 will stop propagating target change information to node 15.
[0152] Optionally, for any change node, the target associated node corresponding to the change node can be determined in the following way, based on the set of association relationships and the target change information of the target change task: determine the propagation number and target association type in the target change information; determine the associated node corresponding to the change node based on the propagation number and the set of association relationships; and determine the target associated node corresponding to the change node among the associated nodes corresponding to the change node based on the target association type.
[0153] The association type between the target associated node and the changed node is the target association type. For example, if the target association type is protocol adjacency, then the association type between the target associated node and the changed node is protocol adjacency.
[0154] For example, if the target change information is as shown in the example above, the scheduling server can determine from the target change information that the propagation count L = 1 and the target association type is direct connection. For node 1, if the association set RS(1) = {K1-2, K1-5} of node 1, since the propagation count L = 1, the associated nodes corresponding to node 1 can be determined to include node 2 and node 5 based on the propagation count L = 1 and the association set RS(1). If the association type between node 1 and node 2 is protocol adjacency, and the association type between node 1 and node 5 is direct connection, then further, based on the target association type among the associated nodes corresponding to node 1, the target associated node corresponding to node 1 can be determined to be node 5.
[0155] Similarly, for node 3, if the association set RS(3) = {K3-2, K3-4, K3-6} of node 3, the association type between node 3 and nodes 2 and 4 is protocol adjacency, and the association type between node 3 and node 6 is direct connection, then based on the propagation number L = 1 and the association set RS(3), the associated nodes corresponding to node 3 can be determined to include nodes 2, 4 and 6; furthermore, based on the target association type among the associated nodes corresponding to node 3, the target associated node corresponding to node 3 can be determined to be node 6.
[0156] For node 12, if the association set RS(12) of node 12 is {K12-13, K12-14}, and the association type between node 12 and node 13 is protocol adjacency type, and the association type between node 12 and node 14 is direct connection type, then based on the propagation number L=1 and the association set RS(12), the associated nodes corresponding to node 12 can be determined to include nodes 13 and 14; furthermore, based on the target association type among the associated nodes corresponding to node 12, the target associated node corresponding to node 12 can be determined to be node 14.
[0157] The scheduling server can determine that the changed domain A includes nodes 1, 3, 5, 6, 12, and 14 based on node 1 and its corresponding target associated node (node 5), node 3 and its corresponding target associated node (node 6), and node 12 and its corresponding target associated node (node 14). Figure 3 As shown in the image.
[0158] Alternatively, the change domain can be determined based on at least one change node in the following manner: determine the association database; for any change node, determine the target association node corresponding to the change node in the association database based on the target change information of the target change task; determine the change domain based on each change node and the target association node corresponding to each change node.
[0159] A relational database can include relationships between multiple nodes, that is, the relationships between each changed node and its corresponding associated nodes. For example, the relationships between multiple nodes in a relational database can be as follows: Figure 3 As shown in the image.
[0160] For example, if the target change information is as shown in the example above, and at least one changed node is node 1, node 3, and node 12, then for node 1, based on the propagation number L=1 in the target change information and the target association type being direct connection, the target associated node corresponding to node 1 can be determined as node 5 in the association database; similarly, the target associated node corresponding to node 3 can be determined as node 6; and the target associated node corresponding to node 12 can be determined as node 14.
[0161] S203. Process the target change task based on the change domain.
[0162] In an optional embodiment, the target change task can be processed based on the change domain in the following manner: sending target change information of the target change task to the change node, so that the change node can perform conflict judgment on the target change task according to the received change information to obtain the conflict result, and when the conflict result is a victory, sending target change information to the next target associated node in the change domain, until all nodes in the change domain determine the conflict result of the target change task; determining the conflict result determined by each node in the change domain for the target change task; and processing the target change task according to the conflict result determined by each node for the target change task.
[0163] For any node in the change domain (the changing node or the target associated node), the node can receive at least one change message. The received change message includes the target change message.
[0164] Nodes can determine the conflict outcome of the target change task based on the received change information. The conflict outcome can be either a successful conflict or a failed conflict. A successful conflict means the target task wins the conflict, indicating that the target change task is currently supported for priority execution; a failed conflict means the target task fails the conflict, indicating that the target change task is currently not supported for execution.
[0165] When the conflict result is a victory, it means that the node currently supports prioritizing the execution of the target change task. The target change information can then be propagated to the next node associated with the node so that the next node can make a conflict judgment on the target change task, until all nodes in the change domain determine the conflict result of the target change task.
[0166] When the conflict fails, it means that the node currently does not support executing the target change task, and there is no need to continue propagating the target change information to the next node associated with that node. In other words, if any node in the change domain currently does not support executing the target change task, the target change task cannot be executed. The target change task can only be executed when all nodes in the change domain currently support it.
[0167] For example, if the target change information includes the identifier Node1 of node 1, the identifier Node3 of node 3, the identifier Node12 of node 12, the propagation number L=1, the target association type is direct connection, the task submission time is time T1, and the task priority is level 1, and there are 3 changed nodes, namely node1, node3 and node12, then the scheduling server can send the target change information to node1, node3 and node12 respectively.
[0168] If the domain A is changed, such as Figure 3 As shown, for node 1, if node 1 receives change information including target change information (propagation count L = 1) and change information M1, then node 1 can perform conflict judgment on the target change task based on the target change information (propagation count L = 1) and change information M1 to obtain the conflict result. If node 1 determines that the conflict result of the target change task is a victory, then node 1 can send target change information (updating from propagation count L = 1 to L = 0) to node 5. If the change information received by node 5 includes target change information (propagation count L = 0) and change information M2, then node 5 can perform conflict judgment on the target change task based on the target change information (propagation count L = 0) and change information M2 to obtain the conflict result. Assume that node 5 determines that the conflict result of the target change task is a victory.
[0169] Similarly, Node 3 can determine the conflict of the target change task based on the received change information and obtain the conflict result. When the conflict result is a victory, Node 3 sends the target change information to Node 6. Node 6 can determine the conflict of the target change task based on the received change information and obtain the conflict result.
[0170] Node 12 can perform conflict judgment on the target change task based on the received change information to obtain the conflict result, and send the target change information to Node 14 when the conflict result is a victory. Node 14 can perform conflict judgment on the target change task based on the received change information to obtain the conflict result.
[0171] Optionally, each node in the change domain can send conflict results to the scheduling server separately, so that the scheduling server can determine the conflict results determined by each node for the target change task.
[0172] For example, six nodes in domain A (i.e., node 1, node 3, node 5, node 6, node 12, and node 14) can send conflict results to the scheduling server so that the scheduling server can determine the conflict results determined by these six nodes for the target change task.
[0173] Optionally, any node in the change domain can access the shared storage space. The shared storage space can be located in the scheduling server or in other storage devices.
[0174] The shared storage space can store a shared information table. This table records the conflict results determined by each node in the change domain for the target change task. For any node in the change domain, once it determines the conflict result for the target change task, it can record that result in the shared information table. The scheduling server can also determine the conflict results determined by each node for the target change task in the shared information table.
[0175] For example, six nodes in change domain A (nodes 1, 3, 5, 6, 12, and 14) can each record their conflict results for the target change task in the shared information table. The scheduling server determines the conflict results for the target change task determined by these six nodes in the shared information table.
[0176] The scheduling server can process the target change task based on the conflict results determined by each node.
[0177] For example, if all six nodes in change domain A determine a successful conflict for the target change task, the scheduling server can send execution instructions to nodes 1, 3, and 12 to execute the target change task. If any of the six nodes in change domain A determine a failed conflict for the target change task, the scheduling server can determine that change domain A currently does not support the execution of the target change task, and can temporarily cancel the target change task and wait for it to be executed later.
[0178] Since each node in the change domain can determine the conflict of the target change task based on the currently received change information and obtain the conflict result, the scheduling server can then process the target change task according to the conflict result determined by each node. This allows the scheduling server to determine whether to execute the target change task based on the current network environment of the change domain, reducing the risk of executing the target change task and improving network stability.
[0179] In another optional embodiment, the target change task can be processed based on the change domain in the following manner: send the target change information of the target change task to each node in the change domain, so that each node can perform conflict judgment on the target change task according to the received change information and obtain the conflict result; determine the conflict result determined by each node in the change domain for the target change task; and process the target change task according to the conflict result determined by each node for the target change task.
[0180] For example, if the domain A is changed as follows Figure 3As shown, there are nodes 1, 3, 5, 6, 12, and 14. The scheduling server can send target change information to each of these six nodes so that each of the six nodes can perform conflict judgment on the target change task based on the received change information and obtain the conflict result.
[0181] After the six nodes determine the conflict results for the target change task, they can send the conflict results to the scheduling server respectively, so that the scheduling server can determine the conflict results determined by the six nodes for the target change task. The scheduling server can also determine the conflict results determined by the six nodes for the target change task from a shared information table. The scheduling server can then process the target change task based on the conflict results determined by the six nodes, as shown in the example above.
[0182] In this embodiment, the scheduling server can determine at least one change node to execute the target change task, and determine a change domain based on the at least one change node. Then, it can process the target change task based on the change domain. Since the scheduling server can dynamically determine the change domain based on at least one change node, it accurately determines the scope of influence of executing the target change task. The scheduling server processes the target change task within the scope of the change domain, avoiding the target change task being affected by nodes outside the change domain, and also avoiding the target change task affecting nodes outside the change domain. Furthermore, each node in the change domain can perform conflict judgment on the target change task, avoiding conflicts with other change tasks during the execution of the target change task. Therefore, the overall risk of executing change tasks is reduced, and network stability is improved.
[0183] Below, in Figure 2 Based on the illustrated embodiment, combined with Figure 4 The above-mentioned methods for handling change tasks are explained in detail.
[0184] Figure 4 A flowchart illustrating a change task processing method provided for an exemplary embodiment of this application. Figure 2 Please see. Figure 4 The method may include:
[0185] S401. Based on the first-in-first-out principle, determine the target change task in the change scheduling queue.
[0186] The scheduling server can maintain a change scheduling queue. The change scheduling queue can include at least one change task to be executed. Change tasks can be scheduled in the change scheduling queue based on a first-in, first-out (FIFO) principle.
[0187] Optionally, a change task can be represented by Cn, and the change scheduling queue can be represented as: Q = {C1, C2, C3, ..., Cn}, where n is an integer greater than or equal to 1. When executing multiple change tasks, they can be executed sequentially according to the queue order in the change scheduling queue.
[0188] For example, if the change scheduling queue Q = {C3, C4, C5}, it means there are three change tasks to be executed in the change scheduling queue: change task 3, change task 4, and change task 5. The scheduling server can determine change task 3 as the target change task in this change scheduling queue based on the first-in, first-out principle. The target change task can be adding network configuration on nodes 1, 3, and 12.
[0189] It should be noted that the scheduling server operates on a first-in, first-out (FIFO) principle. Once the target change task is identified in the change scheduling queue, it is removed from the queue, meaning the change scheduling queue no longer contains the target change task.
[0190] For example, if the scheduling queue Q = {C3, C4, C5} is changed, the scheduling server can, based on the first-in-first-out principle, determine the change task 3 as the target change task in the changed scheduling queue, and then update the changed scheduling queue to Q = {C4, C5}.
[0191] In the technical solution of this application, the change tasks are scheduled in the change scheduling queue based on the first-in-first-out principle, which ensures the timing and efficiency of the execution of change tasks, avoids confusion between multiple change tasks, and improves the efficiency of processing change tasks.
[0192] S402. Identify at least one change node for executing the target change task.
[0193] S403. Determine the change domain based on at least one change node.
[0194] It should be noted that the execution process of steps S402 to S403 can be found in steps S201 to S202, and will not be repeated here.
[0195] S404. Send the target change information of the target change task to the change node, so that the change node can perform conflict judgment on the target change task based on the received change information and obtain the conflict result. When the conflict result is a victory, send the target change information to the next target associated node in the change domain until all nodes in the change domain determine the conflict result of the target change task.
[0196] For example, if there are three change nodes, namely node 1, node 3 and node 12, the scheduling server can send the target change information to node 1, node 3 and node 12 respectively.
[0197] If the domain A is changed, such as Figure 3 As shown, for node 1, node 1 can determine the conflict of the target change task based on the received change information and obtain the conflict result. When the conflict result is a victory, node 1 sends the target change information to node 5. Node 5 can determine the conflict of the target change task based on the received change information and obtain the conflict result.
[0198] Similarly, Node 3 can determine the conflict of the target change task based on the received change information and obtain the conflict result. When the conflict result is a victory, Node 3 sends the target change information to Node 6. Node 6 can determine the conflict of the target change task based on the received change information and obtain the conflict result.
[0199] Node 12 can perform conflict judgment on the target change task based on the received change information to obtain the conflict result, and send the target change information to Node 14 when the conflict result is a victory. Node 14 can perform conflict judgment on the target change task based on the received change information to obtain the conflict result.
[0200] By changing the six nodes in domain A (i.e., node 1, node 3, node 5, node 6, node 12, and node 14), the conflict results of the target change task can be determined respectively.
[0201] Optionally, when each node in the change domain determines that the conflict has been won, it can set the task status of the target change task to a pre-commit state. The pre-commit state can be used when the target change task is in a state where it is allowed to execute.
[0202] S405. Determine whether there are any conflict results among the conflict results determined by each node in the change domain for the target change task, which would result in a conflict failure.
[0203] In an optional embodiment, each node in the change domain may send conflict results to the scheduling server so that the scheduling server can determine the conflict results determined by each node in the change domain for the target change task.
[0204] For example, six nodes in domain A (i.e., node 1, node 3, node 5, node 6, node 12, and node 14) can send conflict results to the scheduling server so that the scheduling server can determine the conflict results determined by these six nodes for the target change task.
[0205] In another alternative embodiment, each node in the change domain can record its conflict results for the target change task in a shared information table. The scheduling server can also determine the conflict results determined by each node for the target change task in the shared information table.
[0206] For example, six nodes in change domain A (nodes 1, 3, 5, 6, 12, and 14) can each record their conflict results for the target change task in the shared information table. The scheduling server determines the conflict results for the target change task determined by these six nodes in the shared information table.
[0207] After the scheduling server determines the conflict results of each node's target change task, it can then determine whether there is a conflict result among the conflict results of each node's target change task, which would be considered a conflict failure.
[0208] If not, then steps S406 to S408 can be executed; if yes, then steps S409 to S412 can be executed.
[0209] S406. Notify each node in the change domain to set the task status of the target change task to the execution status, and send an execution instruction to the change node so that the change node can execute the target change task according to the execution instruction.
[0210] If the scheduling server determines that there are no conflicting results among the conflict outcomes determined by each node for the target change task (i.e., all conflict outcomes determined by each node for the target change task are victory outcomes), it indicates that the change domain currently supports the execution of the target change task. In this case, the scheduling server can send an execution status message to each node in the change domain to notify them to set the task status of the target change task to the execution state. The execution status can be used to indicate that the target change task is about to be executed.
[0211] For any given node, during the period when the target change task is in the execution state, the node does not receive other change information and does not execute other change tasks. In other words, the node is locked and cannot continue to receive other change information or execute other change tasks.
[0212] After each node in the change domain sets the target change task's task status to "running," the scheduling server sends an execution instruction to the change nodes, enabling them to execute the target change task according to the instruction. Optionally, the execution instruction may include the target change task.
[0213] For example, if all six nodes in change domain A determine a conflict victory for the target change task, the scheduling server can notify these six nodes to set the task status of the target change task to the execution state. If nodes 1, 3, and 12 are change nodes in change domain A, the scheduling server sends execution instructions to nodes 1, 3, and 12 respectively, so that nodes 1, 3, and 12 execute the target change task according to the execution instructions.
[0214] It should be noted that after step S406 is completed, steps S407 to S408 can be executed.
[0215] S407. Receive the execution completion message sent by the changed node.
[0216] After the change node completes the target change task, it can send an execution completion message to the scheduling server so that the scheduling server can receive the execution completion message sent by the change node.
[0217] For example, if in change domain A, nodes 1, 3, and 12 are change nodes, then after executing the target change task according to the execution instruction, nodes 1, 3, and 12 can send an execution completion message to the scheduling server to notify the scheduling server that the target change task has been completed.
[0218] S408. Send a cancellation command to the nodes in the change domain so that the nodes in the change domain update the task status of the target change task to the cancellation status.
[0219] Since the scheduling server notifies the nodes in the change domain to set the task status of the target change task to the running state after the change node executes the target change task, the scheduling server can send a cancellation command to the nodes in the change domain after the change node completes the target change task, so that the nodes in the change domain can update the task status of the target change task to the cancelled state.
[0220] For any given node, when the target change task is in the canceled state, the node can receive other change information or execute other change tasks. In other words, the node is released and can continue to receive other change information or execute other change tasks.
[0221] For example, if the change domain A includes nodes 1, 3, 5, 6, 12, and 14, the scheduling server can send a cancellation command to these six nodes, and these six nodes can update the task status of the target change task to the cancelled status.
[0222] S409. Notify the nodes in the change domain to cancel the execution of the target change task and push the target change task to the change blocking queue to wait for other change tasks to complete before executing the target change task.
[0223] Optionally, if the scheduling server determines that among the conflict results determined by each node for the target change task, there is a conflict failure, it indicates that a conflict has occurred between the target change task and other change tasks, and other change tasks should be executed first. If the change domain currently does not support the execution of the target change task, the scheduling server can send a cancel target change task instruction to each node in the change domain to notify each node in the change domain to set the task status of the target change task to cancel and cancel the execution of the target change task.
[0224] For example, if the conflict results determined by the 6 nodes in change domain A for the target change task are conflict failures, the scheduling server can send a cancel target change task instruction to each of the 6 nodes to notify them to set the task status of the target change task to cancel and cancel the execution of the target change task.
[0225] Optionally, the scheduling server may maintain a change blocking queue. The change blocking queue may include at least one blocked change task. Optionally, the change blocking queue may be represented as: G = {Cm, ...}, where m is an integer greater than or equal to 1.
[0226] Since the target change task is blocked by other change tasks and cannot be executed at present, the scheduling server can push the target change task to the change blocking queue to wait for the other change tasks to complete before executing the target change task.
[0227] For example, if the target change task is change task 3, denoted as C3, the scheduling server can push the target change task to the change blocking queue, which can be represented as G = {C3}.
[0228] It should be noted that after step S409 is completed, steps S410 to S412 can be executed.
[0229] S410. Record the blocking relationship between the target change task and other change tasks in the blocking record.
[0230] Blocking logs can be used to record the blocking relationships between multiple change tasks.
[0231] Optionally, the blocking record can be represented as BC = {BCw-s, ...}, where BCw-s is used to indicate that the change task W blocks the change task S.
[0232] For example, if the target change task is change task 3, other change tasks that block the target change task include change task 1 and change task 2. If change task 2 also blocks change task 4, then the blocking record can include the blocking relationship between change task 1 and the target change task, the blocking relationship between change task 2 and the target change task, and the blocking relationship between change task 2 and change task 4. Then the blocking record can be represented as BC = {BC1-3, BC2-3, BC2-4}.
[0233] S411. After other change tasks have been completed, delete the blocking relationship between the target change task and other change tasks from the blocking record.
[0234] Once other change tasks have completed, they will no longer block the target change task. Therefore, the blocking relationship between other change tasks and the target change task can be deleted from the blocking record.
[0235] For example, if the target change task is change task 3, and other change tasks blocking the target change task include change task 1 and change task 2, with the blocking record being BC = {BC1-3, BC2-3, BC2-4}, then after change task 1 completes execution, the blocking relationship between change task 1 and the target change task can be deleted from the blocking record, and the blocking record can be updated to BC = {BC2-3, BC2-4}; after change task 2 completes execution, the blocking relationship between change task 2 and the target change task can be deleted from the blocking record, and the blocking record can be updated to BC = {BC2-4}.
[0236] S412. After confirming that other change tasks have been completed, schedule the target change task from the change blocking queue to the first position in the change scheduling queue.
[0237] If no blocking relationship exists for the target change task in the blocking record, it can be determined that other change tasks blocking the target change task have been completed. In order to execute the target change task, the scheduling server can schedule the target change task from the change blocking queue to the head of the change scheduling queue.
[0238] For example, if the current change scheduling queue is Q = {C5, C6} and the target change task is change task 3 (denoted as C3), then in order to execute change task 3, the scheduling server can schedule change task 3 from the change blocking queue to the first position in the change scheduling queue, and the change scheduling queue can be updated to Q = {C3, C5, C6}.
[0239] It should be noted that after executing step S412, step S401 can be executed.
[0240] In this embodiment, the scheduling server can determine the target change task in the change scheduling queue based on the first-in, first-out (FIFO) principle. The scheduling server can determine at least one change node to execute the target change task and determine the change domain based on the at least one change node. The scheduling server can send target change information of the target change task to the change node, so that the change node can perform conflict judgment on the target change task based on the received change information and obtain a conflict result. If the conflict result is a victory, the scheduling server sends the target change information to the next target associated node in the change domain until all nodes in the change domain have determined the conflict result of the target change task. The scheduling server can determine whether any of the conflict results determined by each node in the change domain for the target change task are considered a failure. If not, the scheduling server can notify each node in the change domain to set the task status of the target change task to the execution state and send an execution instruction to the change node, so that the change node executes the target change task according to the execution instruction. The scheduling server can receive the execution completion message sent by the change node and send a cancellation instruction to the nodes in the change domain, so that the nodes in the change domain update the task status of the target change task to the cancellation state. If so, the scheduling server can notify the nodes in the change domain to cancel the execution of the target change task and push the target change task to the change blocking queue, waiting for other change tasks to complete before executing the target change task. The scheduling server can record the blocking relationship between the target change task and other change tasks in the blocking record, and delete the blocking relationship between the target change task and other change tasks after the other change tasks have completed. After determining that other change tasks have completed, the scheduling server can schedule the target change task from the change blocking queue to the head of the change scheduling queue, waiting for the target change task to be scheduled. Because it is based on a change scheduling queue, the first-in-first-out (FIFO) principle of target change tasks can be implemented, ensuring the timing of target change task execution. Furthermore, the scheduling server can dynamically determine the change domain based on at least one change node, accurately defining the scope of influence of the target change task. The scheduling server processes the target change task within the change domain, avoiding the target change task being affected by nodes outside the change domain, and also preventing the target change task from affecting nodes outside the change domain. Moreover, each node in the change domain can perform conflict judgment on the target change task, avoiding conflicts with other change tasks during the execution of the target change task. Therefore, the overall risk of executing change tasks is reduced, and network stability is improved.
[0241] Below, in conjunction with Figure 5 This provides another method for handling change tasks, which can be applied to target nodes in a change domain. The target node can be a change node or a target associated node.
[0242] Figure 5A flowchart illustrating a change task processing method provided for an exemplary embodiment of this application. Figure 3 Please see. Figure 5 The method may include:
[0243] S501. The target node determines the conflict result of the target change task based on the received change information.
[0244] The executing entity in this application embodiment can be a target node in the change domain, or a change task processing device set in the target node. The change task processing device can be implemented by software, or by a combination of software and hardware. The change task processing device can be a processor in the target node. For ease of understanding, the following description uses the target node as the executing entity.
[0245] The target node can be a change node in the change domain or a target associated node. The target node can receive at least one change message. Based on the received change message, the target node can determine the conflict outcome of the target change task.
[0246] Optionally, if the change information received by the target node includes target change information and other change information, it means that the target node belongs to the change domain corresponding to the target change task and also belongs to the change domain corresponding to other change tasks. The target node is a conflicting node between the two change domains. The target node can then make a conflict judgment on the target change task based on the target change information and other change information to obtain the conflict result.
[0247] Among them, target change information refers to the change information of the target change task, and other change information refers to the change information of other change tasks. The conflict result can be conflict victory or conflict failure.
[0248] For example, if the domain A is changed as follows Figure 3 As shown, if the target node is node 1 in change domain A, and if the change information received by node 1 includes target change information and other change information, then node 1 can determine the conflict of the target change task based on the target change information and other change information, and obtain the conflict result. Assume that node 1 determines the conflict result of the target change task as a victory.
[0249] S502. When the conflict result is a victory, the target node sends the target change information to the next node in the change domain until all nodes in the change domain have determined the conflict result of the target change task.
[0250] If the target node is a change node, then the next node is the target associated node; if the target node is a target associated node, then the next target associated node is the next target associated node associated with the target associated node. For example, for node 1, the next node could be node 5.
[0251] Optionally, if the target node has a corresponding next node, the target node can determine the propagation count in the target change information and propagate the target change information to the next node in the form of route announcement based on the propagation count. The propagation count in the target change information decays sequentially until the propagation count reaches 0.
[0252] If the target node does not have a corresponding next node in the change domain, the target node will not continue to propagate the target change information downwards when the conflict result is a conflict victory.
[0253] In the technical solution of this application, target change information is propagated in the change domain by means of route announcement, which improves the efficiency of propagating target change information.
[0254] The conflict results determined by each node regarding the target change task can be used by the scheduling server to process the target change task. The scheduling server can determine the conflict results determined by each node regarding the target change task and process the target change task based on the conflict results determined by each node.
[0255] For example, if the domain A is changed as follows Figure 3 As shown, if the target node is node 1, and node 1 receives a target change message with a propagation count L = 1, then node 1 determines that the conflict result of the target change task is a victory. Node 1 can update the propagation count L = 1 to L = 0 in the target change message and propagate the target change message to node 5. Node 5 receives the target change message with a propagation count L = 0. Since node 5 receives the target change message with a propagation count L = 0, node 5 does not need to continue propagating the target change message to the next node. Node 5 can determine the conflict result of the target change task based on the received change message. Similarly, nodes 3, 6, 12, and 14 can each determine the conflict result of the target change task based on the received change message.
[0256] The scheduling server can obtain the conflict results determined by nodes 1, 3, 5, 6, 12, and 14 in the change domain, and process the target change task based on these six conflict results. If all six conflict results are successful, the scheduling server can execute the target change task based on the change domain; if any of the six conflict results are unsuccessful, the scheduling server can temporarily cancel the target change task and wait for subsequent execution.
[0257] The detailed process of the scheduling server processing the target change task based on the conflict results determined by each node can be found in steps S405 to S412, and will not be repeated here.
[0258] In this embodiment, the target node in the change domain can determine the conflict result of the target change task based on the received change information. When the conflict result is a victory, the target change information is sent to the next node in the change domain until all nodes in the change domain have determined the conflict result of the target change task. Since any node in the change domain can perform conflict judgment on the target change task, conflicts with other change tasks are avoided when executing the target change task. Therefore, the risk of executing change tasks is reduced and the stability of the network is improved.
[0259] Below, in Figure 5 Based on the illustrated embodiments, combined with Figure 6 The method for handling change tasks executed on the target nodes in the aforementioned change domain is described in detail.
[0260] Figure 6 A flowchart illustrating a change task processing method provided for an exemplary embodiment of this application. Figure 4 Please see. Figure 6 The method may include:
[0261] S601, The target node determines whether the received change information includes target change information and other change information.
[0262] The target node can receive at least one change message. The target node can determine whether the received change message includes the target change message and other change messages.
[0263] If not, it means that the target node received the target change information and did not receive any other change information, then step S602 can be executed; if yes, then steps S603 to S606 can be executed.
[0264] For example, if the target node is node 1 in the change domain A, and if the change information received by node 1 is the target change information, then S602 can be executed; if the change information received by node 1 includes the target change information and change information M1, then S603 to S606 can be executed.
[0265] S602, The target node confirms that the target change task can be executed.
[0266] If the target node receives only the target change information and no other change information, it means that the target change task does not conflict with other change tasks on that target node. Therefore, the target node does not need to perform conflict judgment on the target change task and can directly confirm that the target change task can be executed. On that target node, the task status of the target change task can be set to pre-commit.
[0267] For example, if the target node is node 1 in change domain A, and if node 1 receives the target change information and does not receive any other change information, then node 1 can directly confirm that the target change task can be executed and set the task status of the target change task to the pre-commit status.
[0268] It should be noted that step S606 can be executed after step S602 is completed.
[0269] S603. The target node performs conflict judgment on the target change task based on the target change information and other change information, and obtains the conflict result.
[0270] If the change information received by the target node includes target change information and other change information, it means that the target change task has conflicted with other change tasks on that target node. Therefore, the target node needs to perform conflict judgment on the target change task and obtain the conflict result.
[0271] Optionally, the conflict determination of the target change task can be performed based on the target change information and other change information to obtain the conflict result in the following manner: determine the first comparison information in the target change information; determine the second comparison information in the other change information; and determine the conflict result based on the first comparison information and the second comparison information.
[0272] The first comparison information and the second comparison information are information corresponding to the same comparison item, which includes at least one of the following: task submission time and task priority.
[0273] Optionally, there can be N comparison items, where N is an integer greater than or equal to 1. A node can first determine the first comparison information and the second comparison information corresponding to the first comparison item; if the conflict result cannot be determined based on the first comparison information and the second comparison information corresponding to the first comparison item, then the first comparison information and the second comparison information corresponding to the second comparison item can be determined, and so on, until a conflict result is determined.
[0274] For example, if the target node is node 1 in change domain A, and the change information received by node 1 includes target change information and change information M1, as shown in Table 1:
[0275] Table 1
[0276] Target change information Change information M1 Identifier of at least one change node Node1, Node3, Node12 Node1, Node20 Task submission time T0 time T1 time Task Priority Level 1 Level 1 Number of transmissions 1 2 Target association type Direct connection type Protocol Adjacency Type
[0277] If the first comparison item is the task priority, then node 1 can determine the first comparison information as "Level 1" in the target change information and the second comparison information as "Level 1" in other change information. Since both the first and second comparison information corresponding to the task priority are "Level 1", the conflict result cannot be determined, so the conflict can be judged based on the second comparison item. If the second comparison item is the task submission time, then node 1 can determine the first comparison information as "Time T0" in the target change information and the second comparison information as "Time T1" in other change information. Since the first comparison information (Time T0) corresponding to the task submission time is earlier than the second comparison information (Time T1), the conflict result of the target change task can be determined as a conflict victory.
[0278] S604. If the conflict result is a failure, the target node confirms that the target change task is not allowed to be executed and sets the task status of the target change task to canceled.
[0279] For any node in the change domain, if the node determines that the conflict result of the target change task is a failure, it means that the node needs to execute other change tasks first, and therefore it can be confirmed that the execution of the target change task is not allowed. In an optional embodiment, the node can set the task status of the target change task to a canceled state.
[0280] In another optional embodiment, the node can receive a cancellation target change task instruction sent by the scheduling server, and set the task status of the target change task to a cancelled state according to the cancellation target change task instruction.
[0281] For example, for node 1 in change domain A, if node 1 determines that the conflict result of the target change task is a failure, then node 1 confirms that the target change task should not be executed. Node 1 can either set the task status of the target change task to a canceled state, or it can receive a cancel target change task instruction sent by the scheduling server and set the task status of the target change task to a canceled state according to the cancel target change task instruction.
[0282] S605. If the conflict result is a victory, the target node confirms that the target change task is allowed to be executed and sets the task status of the target change task to the pre-commit state.
[0283] For any node in the change domain, if the node determines that the conflict result of the target change task is a victory, it means that the node currently supports the execution of the target change task. Therefore, the execution of the target change task can be confirmed and the task status of the target change task can be set to the pre-committed state.
[0284] For example, for node 1 in change domain A, if node 1 determines that the conflict result of the target change task is a victory, then node 1 confirms that the target change task can be executed. Node 1 can set the task status of the target change task to a pre-commit state.
[0285] S606. The target node sends the target change information to the next node in the change domain until all nodes in the change domain have determined the conflict result of the target change task.
[0286] It should be noted that step S606 can be executed after step S602 or step S605. The execution process of step S606 can be found in step S502, and will not be repeated here.
[0287] In this embodiment, the target node in the change domain can determine whether the received change information includes target change information and other change information. If not, the target node can confirm that the target change task is allowed to be executed; if so, the target node can perform a conflict judgment on the target change task based on the target change information and other change information to obtain a conflict result. If the conflict result is a failure, the target node can confirm that the target change task is not allowed to be executed and set the task status of the target change task to a canceled state; if the conflict result is a victory, the target node can confirm that the target change task is allowed to be executed and set the task status of the target change task to a pre-committed state. When the conflict result is a victory, the target node can send the target change information to the next node in the change domain until all nodes in the change domain have determined the conflict result of the target change task. Since any node in the change domain can perform a conflict judgment on the target change task, conflicts with other change tasks are avoided when executing the target change task, thus comprehensively reducing the risk of executing change tasks and improving network stability.
[0288] It should be noted that, for any of the above embodiments, the various processing steps shown in the embodiments do not constitute a specific limitation on the change task processing procedure. For example, with Figure 4 For example, in the implementation example, Figure 4 The various processing steps (S401-S412) shown in the embodiments do not constitute a specific limitation on the change task processing procedure. In other embodiments of this application, the change task processing procedure may include more than Figure 4 The embodiments may include more or fewer steps. For example, changing the task processing procedure may include... Figure 4 Some steps in the embodiments, or, Figure 4 Some steps in the embodiments can be replaced by steps with the same function, or Figure 4 Some steps in the embodiments can be broken down into multiple steps, etc.
[0289] Below, in conjunction with Figure 7and Figure 8 The process of handling task changes will be further explained. Figure 7 This is a schematic diagram illustrating the propagation of change information as an exemplary embodiment of this application. Figure 8 This is a schematic diagram illustrating how each node receives target change information, which is an exemplary embodiment of this application.
[0290] Please see Figure 7 If the target change task is change task C2, the change domain X is determined based on node A1 that executes change task C2. Change domain X includes nodes A1, A2, A3, A4, A5, B1, and B3.
[0291] If there are other change tasks, such as change task C4, the change domain Y is determined based on node B1 that executes change task C4. Change domain Y includes nodes B1, B2, A3, and B3.
[0292] Please see Figure 7 and Figure 8 The scheduling server can send target change information (L=2) to node A1. If node A1 only receives target change information (L=2), it can directly determine that the target change task is allowed to be executed, set the task status of the target change task to the pre-commit state, and send target change information (L=1) to nodes A2 and A3 respectively via route announcement. If node A2 only receives target change information (L=1), it can directly determine that the target change task is allowed to be executed, set the task status of the target change task to the pre-commit state, and send target change information (L=0) to nodes A4 and A5. If nodes A4 and A5 only receive target change information (L=0) respectively, then nodes A4 and A5 can directly determine that the target change task is allowed to be executed and set the task status of the target change task to the pre-commit state.
[0293] Since node A3 is located in both change domain X and change domain Y, it is a conflicting node between change domain X and change domain Y. Therefore, node A3 can receive the target change information propagated in change domain X and the change information M4 propagated in change domain Y.
[0294] If node A3 receives the target change information (L=1) first, and then receives change information M4 (L=0), with the task submission time in the target change information being time T2 and the task submission time in change information M4 being time T4, and since time T2 is earlier than time T4, node A3 will perform a conflict judgment on the target change task based on the target change information (L=1) and change information M4 (L=0). If the conflict result of the target change task is determined to be a successful conflict, node A3 can set the task status of the target change task to the pre-commit state. Node A3 can also determine that the conflict result of change task C4 is a failed conflict and set the task status of change task C4 to the canceled state.
[0295] Node A3 can continue to send target change information (L=0) to both Node B1 and Node B3. Similarly, since Node B1 and Node B3 are conflicting nodes between change domain X and change domain Y, if Node B1 first receives only change information M4, Node B1 can directly determine that change task C4 is allowed to be executed and set the task status of change task C4 to pre-commit. Then, Node B1 receives the target change information, but since the task submission time in the target change information is earlier than the task submission time in change information M4, Node B1 can determine that the conflict result of the target change task is a successful conflict and set the task status of the target change task to pre-commit. It can also determine that the conflict result of change task C4 is a failed conflict and update the task status of change task C4 from pre-commit to canceled.
[0296] Similarly, if node B3 receives change information M4 first, node B3 can directly determine that change task C4 can be executed and set the task status of change task C4 to pre-commit. Then, node B3 receives target change information, but since the task submission time in the target change information is earlier than the task submission time in change information M4, node B3 can determine that the conflict result of the target change task is a successful conflict and set the task status of the target change task to pre-commit. It can also determine that the conflict result of change task C4 is a failed conflict and update the task status of change task C4 from pre-commit to cancel.
[0297] For node B2 in change domain Y, if node B2 only receives change information M4 (L=0), it can directly determine that change task C4 can be executed and set the task status of change task C4 to pre-commit. However, since nodes B1 and B3 in change domain Y have already updated the task status of change task C4 from pre-commit to canceled, change domain Y currently does not support the execution of change task C4. Therefore, node B2 will eventually also update the task status of change task C4 from pre-commit to canceled.
[0298] For change domain X, if all nodes in change domain X have determined that the conflict result of the target change task is a victory and have set the task status of the target change task to the pre-commit state, it means that change domain X currently supports the execution of the target change task. Then the scheduling server can notify each node in change domain X to update the task status of the target change task from the pre-commit state to the execution state and send an execution instruction to node A1 so that node A1 can execute the target change task according to the execution instruction.
[0299] In this embodiment, the target node in the change domain can determine whether the received change information includes target change information and other change information. If not, the target node can confirm that the target change task is allowed to be executed; if so, the target node can perform a conflict judgment on the target change task based on the target change information and other change information to obtain a conflict result. If the conflict result is a failure, the target node can confirm that the target change task is not allowed to be executed and set the task status of the target change task to a canceled state; if the conflict result is a victory, the target node can confirm that the target change task is allowed to be executed and set the task status of the target change task to a pre-committed state. When the conflict result is a victory, the target node can send the target change information to the next node in the change domain until all nodes in the change domain have determined the conflict result of the target change task. The scheduling server can execute the target change task based on the fact that all nodes in the change domain have determined the conflict result of the target change task. Since any node in the change domain can perform a conflict judgment on the target change task, conflicts with other change tasks are avoided when executing the target change task, thus comprehensively reducing the risk of executing change tasks and improving network stability.
[0300] Figure 9 A schematic diagram of the structure of a modified task processing device provided as an exemplary embodiment of this application. Figure 1 Please see. Figure 9 The task change processing device 90 is applied to the scheduling server. The task change processing device 90 includes: a first determining module 91, a second determining module 92, and a processing module 93.
[0301] The first determining module 91 is used to determine at least one change node that performs the target change task;
[0302] The second determining module 92 is used to determine a change domain based on the at least one change node, wherein the change domain includes at least one node affected by the target change task;
[0303] The processing module 93 is used to process the target change task based on the change domain.
[0304] The change task processing device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0305] In one possible implementation, the at least one node includes the at least one changed node and the target associated node corresponding to the changed node; the processing module 93 is specifically used for:
[0306] The target change information of the target change task is sent to the change node so that the change node can perform conflict judgment on the target change task based on the received change information to obtain a conflict result. When the conflict result is a victory, the target change information is sent to the next target associated node in the change domain until all nodes in the change domain determine the conflict result of the target change task. The received change information includes the target change information.
[0307] Determine the conflict results of each node in the change domain for the target change task;
[0308] The target change task is processed based on the conflict results determined by each node for the target change task.
[0309] In one possible implementation, the processing module 93 is specifically used for:
[0310] If all nodes determine that the conflict result for the target change task is a conflict victory, then each node in the change domain is notified to set the task status of the target change task to the execution status, and an execution instruction is sent to the change node so that the change node executes the target change task according to the execution instruction.
[0311] If any of the conflict results determined by each node for the target change task result in a conflict failure, then each node in the change domain is notified to cancel the execution of the target change task, and the target change task is pushed to the change blocking queue to wait for other change tasks to be completed before the target change task is executed.
[0312] The change task processing device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0313] Figure 10 A schematic diagram of the structure of a modified task processing device provided as an exemplary embodiment of this application. Figure 2 Please see. Figure 10 ,exist Figure 9Based on the illustrated embodiment, the change task processing device 90 may further include: a scheduling module 94, a recording module 95, a receiving module 96, an instruction sending module 97, and a fourth determination module 98, wherein,
[0314] In one possible implementation, after the target change task is pushed to the change blocking queue, the scheduling module 94 is used to:
[0315] After determining that the other change tasks have been completed, the target change task is moved from the change blocking queue to the head of the change scheduling queue to await scheduling.
[0316] In one possible implementation, after the target change task is pushed to the change blocking queue, the recording module 95 is used to:
[0317] The blocking record records the blocking relationships between the target change task and other change tasks. The blocking record is used to record the blocking relationships between multiple change tasks.
[0318] After the other change tasks are completed, the blocking relationship between the target change task and the other change tasks is deleted from the blocking record.
[0319] In one possible implementation, after the change node executes the target change task according to the execution instruction, the receiving module 96 is used to receive the execution completion message sent by the change node;
[0320] The instruction sending module 97 is used to send a cancellation instruction to the nodes in the change domain, so that the nodes in the change domain update the task status of the target change task to a cancelled status.
[0321] In one possible implementation, the second determining module 92 is specifically used for:
[0322] For any change node, determine the set of associations of the change node, wherein the set of associations includes at least one association type corresponding to an association relationship;
[0323] Based on the set of associations and the target change information of the target change task, determine the target association node corresponding to the change node;
[0324] The change domain is determined based on each change node and the target associated node corresponding to each change node.
[0325] In one possible implementation, the second determining module 92 is specifically used for:
[0326] The number of propagations and the type of target association are determined from the target change information;
[0327] Based on the number of propagations and the set of relationships, determine the associated node corresponding to the changed node;
[0328] Based on the target association type, the target association node corresponding to the change node is determined among the association nodes corresponding to the change node, and the association type of the relationship between the target association node and the change node is the target association type.
[0329] In one possible implementation, before determining at least one change node for performing the target change task, the fourth determining module 98 is configured to:
[0330] Based on the first-in, first-out principle, the target change task is determined in the change scheduling queue.
[0331] The change task processing device provided in this application embodiment can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0332] Figure 11 A schematic diagram of the structure of a modified task processing device provided as an exemplary embodiment of this application. Figure 3 Please see. Figure 11 The change task processing device 1100 is applied to target nodes in a change domain, the change domain being determined based on at least one change node executing the target change task; the change task processing device 1100 includes: a conflict determination module 1101 and a sending module 1102, wherein,
[0333] The conflict determination module 1101 is used to determine the conflict result of the target change task based on the received change information;
[0334] The sending module 1102 is used to send the target change information to the next node in the change domain when the conflict result is the conflict victory, until all nodes in the change domain determine the conflict result of the target change task; the conflict result determined by each node for the target change task is used by the scheduling server to process the target change task.
[0335] In one possible implementation, the conflict determination module 1101 is specifically used for:
[0336] If the received change information includes target change information and other change information, then a conflict judgment is made on the target change task based on the target change information and the other change information to obtain a conflict result;
[0337] Wherein, the target change information refers to the change information of the target change task, and the other change information refers to the change information of other change tasks.
[0338] In one possible implementation, the conflict determination module 1101 is specifically used for:
[0339] Determine the first comparison information from the target change information;
[0340] The second comparison information is determined from the other change information;
[0341] The conflict result is determined based on the first comparison information and the second comparison information, wherein the conflict result is either a victory or a failure.
[0342] Wherein, the first comparison information and the second comparison information are information corresponding to the same comparison item, and the comparison item includes at least one of the following: task submission time and task priority.
[0343] In one possible implementation, after determining the conflict result of the target change task based on the received change information, the conflict determination module 1101 is further configured to:
[0344] If the conflict result is a victory, then it is confirmed that the target change task can be executed, and the task status of the target change task is set to the pre-submit status;
[0345] If the conflict result is a failure, then it is confirmed that the target change task is not allowed to be executed, and the task status of the target change task is set to canceled.
[0346] In one possible implementation, the target change information includes the number of propagations; the sending module 1102 is used to:
[0347] Based on the number of propagations, the target change information is propagated to the next node in the manner of route announcement, and the number of propagations in the target change information decreases sequentially until the number of propagations is 0.
[0348] In one possible implementation, the conflict determination module 1101 is further configured to:
[0349] If the received change information is the target change information, then it is confirmed that the target change task can be executed.
[0350] Figure 12 This is a schematic diagram of the structure of an electronic device provided for an exemplary embodiment of this application. Please refer to... Figure 12The electronic device 1200 may include a processor 1201 and a memory 1202. Exemplarily, the processor 1201 and the memory 1202 are interconnected via a bus 1203.
[0351] The memory 1202 stores computer-executed instructions;
[0352] The processor 1201 executes the computer execution instructions stored in the memory 1202, causing the processor 1201 to perform the method as shown in the above method embodiment.
[0353] Figure 12 The electronic device shown may be a scheduling server or node as described in any of the above embodiments; or, the electronic device may include a node as described in any of the above embodiments.
[0354] Accordingly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method described in the above-described method embodiments.
[0355] Accordingly, embodiments of this application may also provide a computer program product, including a computer program, which, when executed by a processor, can implement the methods shown in the above-described method embodiments.
[0356] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0357] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0358] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0359] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0360] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0361] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0362] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0363] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0364] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A method for handling change tasks, characterized in that, Applied to a scheduling server, the method includes: Identify at least one change node for executing the target change task; A change domain is determined based on the at least one change node, wherein the change domain includes at least one node affected by the target change task; The target change task is processed based on the change domain.
2. The method according to claim 1, characterized in that, The at least one node includes the at least one changed node and the target associated node corresponding to the changed node; Processing the target change task based on the change domain includes: The target change information of the target change task is sent to the change node so that the change node can perform conflict judgment on the target change task based on the received change information to obtain a conflict result. When the conflict result is a victory, the target change information is sent to the next target associated node in the change domain until all nodes in the change domain determine the conflict result of the target change task. The received change information includes the target change information. Determine the conflict results of each node in the change domain for the target change task; The target change task is processed based on the conflict results determined by each node for the target change task.
3. The method according to claim 2, characterized in that, The target change task is processed based on the conflict results determined by each node, including: If all nodes determine that the conflict result for the target change task is a conflict victory, then each node in the change domain is notified to set the task status of the target change task to the execution status, and an execution instruction is sent to the change node so that the change node executes the target change task according to the execution instruction. If any of the conflict results determined by each node for the target change task result in a conflict failure, then each node in the change domain is notified to cancel the execution of the target change task, and the target change task is pushed to the change blocking queue to wait for other change tasks to be completed before the target change task is executed.
4. The method according to claim 3, characterized in that, After pushing the target change task to the change blocking queue, the method further includes: After determining that the other change tasks have been completed, the target change task is moved from the change blocking queue to the head of the change scheduling queue to await scheduling.
5. The method according to claim 4, characterized in that, After pushing the target change task to the change blocking queue, the method further includes: The blocking record records the blocking relationships between the target change task and other change tasks. The blocking record is used to record the blocking relationships between multiple change tasks. After the other change tasks are completed, the blocking relationship between the target change task and the other change tasks is deleted from the blocking record.
6. The method according to claim 3, characterized in that, After the change node executes the target change task according to the execution instruction, the method further includes: Receive the execution completion message sent by the changed node; A cancellation command is sent to the nodes in the change domain so that the nodes in the change domain update the task status of the target change task to a cancelled status.
7. The method according to any one of claims 1-6, characterized in that, Determining the change domain based on the at least one change node includes: For any change node, determine the set of associations of the change node, wherein the set of associations includes at least one association type corresponding to an association relationship; Based on the set of associations and the target change information of the target change task, determine the target association node corresponding to the change node; The change domain is determined based on each change node and the target associated node corresponding to each change node.
8. The method according to claim 7, characterized in that, Based on the set of associations and the target change information of the target change task, the target association node corresponding to the change node is determined, including: The number of propagations and the type of target association are determined from the target change information; Based on the number of propagations and the set of relationships, determine the associated node corresponding to the changed node; Based on the target association type, the target association node corresponding to the change node is determined among the association nodes corresponding to the change node, and the association type between the target association node and the change node is the target association type.
9. The method according to any one of claims 1-6, characterized in that, Before determining at least one change node for executing the target change task, the method further includes: Based on the first-in, first-out principle, the target change task is determined in the change scheduling queue.
10. A method for handling change tasks, characterized in that, The method is applied to target nodes in a change domain, the change domain being determined based on at least one change node performing the target change task; the method includes: Based on the received change information, determine the conflict result of the target change task; When the conflict result is a victory, the target change information is sent to the next node in the change domain until all nodes in the change domain determine the conflict result of the target change task; the conflict result determined by each node for the target change task is used by the scheduling server to process the target change task.
11. The method according to claim 10, characterized in that, Based on the received change information, determine the conflict result of the target change task, including: If the received change information includes target change information and other change information, then a conflict judgment is made on the target change task based on the target change information and the other change information to obtain a conflict result; Wherein, the target change information refers to the change information of the target change task, and the other change information refers to the change information of other change tasks.
12. The method according to claim 11, characterized in that, Based on the target change information and other change information, a conflict determination is performed on the target change task to obtain the conflict result, including: Determine the first comparison information from the target change information; The second comparison information is determined from the other change information; The conflict result is determined based on the first comparison information and the second comparison information, wherein the conflict result is either a victory or a failure. Wherein, the first comparison information and the second comparison information are information corresponding to the same comparison item, and the comparison item includes at least one of the following: task submission time and task priority.
13. The method according to any one of claims 10-12, characterized in that, After determining the conflict result of the target change task based on the received change information, the method further includes: If the conflict result is a victory, then it is confirmed that the target change task can be executed, and the task status of the target change task is set to the pre-submit status; If the conflict result is a failure, then it is confirmed that the target change task is not allowed to be executed, and the task status of the target change task is set to canceled.
14. The method according to any one of claims 10-12, characterized in that, The target change information includes the number of propagations; sending the target change information to the next node in the change domain includes: Based on the number of propagations, the target change information is propagated to the next node in the manner of route announcement, and the number of propagations in the target change information decreases sequentially until the number of propagations is 0.
15. The method according to any one of claims 11-12, characterized in that, The method further includes: If the received change information is the target change information, then it is confirmed that the target change task can be executed.
16. A task change processing device, characterized in that, The device, applied to a scheduling server, includes: a first determining module, a second determining module, and a processing module, wherein... The first determining module is used to determine at least one change node for executing the target change task; The second determining module is used to determine a change domain based on the at least one change node, wherein the change domain includes at least one node affected by the target change task; The processing module is used to process the target change task based on the change domain.
17. A task change processing device, characterized in that, The device is applied to target nodes in a change domain, the change domain being determined based on at least one change node performing the target change task; the device includes: a conflict determination module and a sending module, wherein, The conflict determination module is used to determine the conflict result of the target change task based on the received change information. The sending module is used to send the target change information to the next node in the change domain when the conflict result is a victory, until all nodes in the change domain determine the conflict result of the target change task; the conflict result determined by each node for the target change task is used by the scheduling server to process the target change task.
18. An electronic device, characterized in that, include: At least one processor; as well as A memory that is communicatively connected to the at least one processor; The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, cause the electronic device to perform the method according to any one of claims 1-15.
19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, implement the method as described in any one of claims 1-15.
20. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-15.