Data processing method, electronic equipment and computer readable storage medium

By selecting healthy, stable, and load-appropriate service nodes in the cluster, the problem of low data processing reliability caused by unstable service node operation in the cluster is solved, and reliable execution of data processing is achieved.

CN122053358APending Publication Date: 2026-05-15PURPLE MOUNTAIN LAB
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
PURPLE MOUNTAIN LAB
Filing Date
2026-03-02
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

The instability of service nodes in the cluster leads to low reliability of data processing.

Method used

By obtaining the target communication address in the data processing request, the execution order of service nodes in the target cluster is determined. Based on the node running status and load status, fault determination and load determination operations are performed to screen out healthy, stable, and load-suitable target nodes, ensuring the reliability of data processing.

Benefits of technology

Effectively eliminate the risk of node instability, ensure the reliability and efficiency of data processing, and avoid data processing being affected by node failure or overload.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122053358A_ABST
    Figure CN122053358A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method, electronic equipment and a computer readable storage medium. The method comprises the following steps: acquiring a data processing request; determining a node execution sequence corresponding to the target communication address in the target cluster; according to the node execution sequence of the plurality of service nodes, executing node processing operation corresponding to any service node according to the node running state of any service node in the plurality of service nodes to obtain a node processing result corresponding to any service node until a target condition is met, and obtaining a target processing result; determining a target node from the plurality of service nodes according to the target processing result; and determining target output according to the data processing request and the target node. According to the method and the device, the technical problem of low reliability during data processing based on the cluster due to the problem of unstable operation of the service node in the cluster in the related technology is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing, and more specifically, to a data processing method, an electronic device, and a computer-readable storage medium. Background Technology

[0002] In related technologies, clusters, by horizontally scaling multiple service nodes, possess distributed collaborative computing and dynamic resource allocation capabilities, and have become a key technical architecture supporting large-scale data processing tasks. However, although clusters improve data processing efficiency through distributed architecture, the instability of service nodes in clusters leads to low reliability issues when performing data processing based on clusters.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This invention provides a data processing method, an electronic device, and a computer-readable storage medium to at least solve the technical problem of low reliability in cluster-based data processing caused by the instability of service nodes in clusters.

[0005] According to one aspect of the present invention, a data processing method is provided, comprising: acquiring a data processing request, wherein the data processing request carries a target communication address, the target communication address being a communication address used to match a corresponding service node in a target cluster; determining the execution order of nodes in the target cluster corresponding to the target communication address, wherein the node execution order is used to represent the execution order of a plurality of service nodes included in the target cluster; according to the node execution order of the plurality of service nodes, performing a node processing operation corresponding to any one of the plurality of service nodes based on the node running state of any one of the plurality of service nodes, obtaining a node processing result corresponding to any one of the service nodes, until a target condition is reached, and obtaining a target processing result, wherein the node processing operation includes at least one of a fault determination operation and a load determination operation, and the target condition includes any one of the following: the plurality of service nodes have completed execution, the load determination result is that the node load state of any one of the service nodes is not a predetermined load state, and the load determination result is a determination result corresponding to the load determination operation; determining a target node from the plurality of service nodes based on the target processing result; and determining a target output based on the data processing request and the target node.

[0006] Optionally, when the node processing operation includes the load determination operation, the step of performing the node processing operation corresponding to the any one service node to obtain the node processing result corresponding to the any one service node includes: determining whether the node load state corresponding to the any one service node is a first load state, wherein the first load state is the node load state corresponding to when the node load index of the any one service node is greater than or equal to the node load threshold, and the predetermined load state includes the first load state; and determining the node processing result corresponding to the any one service node based on the load determination result corresponding to the node load state.

[0007] Optionally, when the node processing operation includes the load determination operation, the step of performing the node processing operation corresponding to the any one service node and obtaining the node processing result corresponding to the any one service node includes: when the target cluster includes multiple floating communication addresses, determining whether the node load state corresponding to the any one service node is a second load state, wherein the second load state is the node load state corresponding to when at least one other communication address is attached to the any one service node, and the other communication address is another floating communication address among the multiple floating communication addresses besides the target communication address; and determining the node processing result corresponding to the any one service node based on the load determination result corresponding to the node load state.

[0008] Optionally, when the node processing operation includes the load determination operation, the node processing result corresponding to any one of the following includes: a first processing result and a second processing result; wherein, the first processing result is the processing result corresponding to the case where the load determination result indicates that the node load state is a predetermined load state, and is used to perform a node migration operation on the any one of the service nodes, and traverse the next service node corresponding to the any one of the service nodes according to the node execution order of the plurality of service nodes, so as to determine the node processing result corresponding to the next service node, wherein the node migration operation includes skipping the any one of the service nodes; the second processing result is the processing result corresponding to the case where the load determination result indicates that the node load state is not a predetermined load state, and is used as the target processing result.

[0009] Optionally, when the target cluster includes multiple floating communication addresses, performing a node migration operation on any one of the service nodes includes: performing a node migration operation on any one of the service nodes according to the execution priority constraints of the node migration operations corresponding to the multiple floating communication addresses, wherein the multiple floating communication addresses include the target communication address.

[0010] Optionally, when the target cluster includes multiple floating communication addresses, the multiple floating communication addresses correspond to different node execution orders, wherein the multiple floating communication addresses include the target communication address.

[0011] Optionally, when the plurality of floating communication addresses are two floating communication addresses, the node execution order of either floating communication address is the reverse of the node execution order of the other floating communication address.

[0012] Optionally, after determining the target output based on the data processing request and the target node, the method further includes: determining multiple predetermined item data corresponding to the multiple service nodes, wherein the multiple predetermined item data are data corresponding to multiple predetermined items that are predetermined in a certain way, and the multiple predetermined items are items whose representation index of the operational stability of the service node is greater than or equal to a representation threshold; determining an operational stability index corresponding to the multiple service nodes based on the multiple predetermined item data corresponding to the multiple service nodes; and updating the ranking of the multiple service nodes based on the operational stability index corresponding to the multiple service nodes to obtain the updated ranking of the multiple service nodes corresponding to the target communication address.

[0013] Optionally, determining the target output based on the data processing request and the target node includes: when the target cluster includes an original cluster, an auxiliary cluster, and a synchronization module, synchronizing the data processing request to the auxiliary cluster through the synchronization module to obtain an auxiliary output corresponding to the auxiliary cluster, wherein the original cluster includes the plurality of service nodes, the auxiliary cluster is functionally equivalent to the original cluster, the auxiliary cluster is used for internal interaction of the target cluster, and the synchronization module is used to realize parameter synchronization between the original cluster and the auxiliary cluster, the parameter synchronization including data processing request synchronization; inputting the data processing request to the target node to obtain the original output corresponding to the original cluster; and determining the target output corresponding to the data processing request based on the auxiliary output and the original output.

[0014] Optionally, before synchronizing the data processing request to the auxiliary cluster to obtain the auxiliary output corresponding to the auxiliary cluster, the method further includes: if the parameter synchronization includes state synchronization, obtaining state parameters corresponding to the original cluster, wherein the state parameters include communication response parameters, the communication response parameters being parameters initiated by the original device to respond to the original connection request, the original connection request being used to request the establishment of a communication connection between the original cluster and the original device, the original device being used to initiate the data processing request; detecting whether the auxiliary cluster sends an auxiliary connection request to the virtual device, obtaining a detection result, wherein the auxiliary connection request is used to request the establishment of a communication connection between the auxiliary cluster and the virtual device, the synchronization module including the virtual device, the virtual device being functionally equivalent to the original device; if the detection result is that the auxiliary cluster sends an auxiliary connection request to the virtual device, sending the communication response parameters to the auxiliary cluster through the virtual device to obtain the state-synchronized auxiliary cluster.

[0015] Optionally, synchronizing the data processing request to the auxiliary cluster through the synchronization module to obtain the auxiliary output corresponding to the auxiliary cluster includes: when there are multiple synchronization modules, determining the module stability characteristics corresponding to each of the multiple synchronization modules; determining a target module based on the module stability characteristics corresponding to each of the multiple synchronization modules, wherein the target module is a synchronization module among the multiple synchronization modules whose module stability characteristics are predetermined stability characteristics; and synchronizing the data processing request to the auxiliary cluster through the target module to obtain the auxiliary output corresponding to the auxiliary cluster.

[0016] Optionally, when the node processing operation includes the fault determination operation, the step of performing a node processing operation corresponding to any one of the plurality of service nodes based on the node operating state of any one of the service nodes to obtain a node processing result corresponding to any one of the service nodes includes: determining whether the node operating state of any one of the service nodes is a predetermined operating state, wherein the predetermined operating state is the operating state of any one of the service nodes when the node fault index is greater than or equal to the node fault threshold; and if the state determination result corresponding to the node operating state is that the node operating state of any one of the service nodes is not a predetermined operating state, performing a load determination operation corresponding to any one of the service nodes to obtain a node processing result corresponding to any one of the service nodes.

[0017] According to one aspect of the present invention, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement the data processing method described in any of the preceding embodiments.

[0018] According to one aspect of the present invention, a computer-readable storage medium is provided, wherein when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform any of the data processing methods described above.

[0019] According to one aspect of the present invention, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the steps of the data processing method described in any of the preceding claims.

[0020] In this embodiment of the invention, a data processing request is obtained. The execution order of multiple service nodes in the target cluster is matched by the target communication address corresponding to the data processing request. Then, the running status of each service node is checked one by one according to the execution order, and the corresponding node processing operation is executed to obtain the corresponding node processing result. This process continues until the preset target conditions are met and the target processing result is obtained. Then, the target node is selected from multiple service nodes based on the target processing result. Since the fault determination operation directly eliminates faulty nodes that are running abnormally, the potential for node instability is eliminated from the root. The load determination operation further evaluates whether the node load meets the predetermined requirements and selects suitable nodes with loads within a reasonable range. The node processing result formed by the combination of the two can comprehensively reflect the health status and load of each node, thereby ensuring that the selected target node has both health stability and load adaptability. This avoids the impact of node failure or overload on data processing and the impact of service node instability on data processing, thus achieving reliable execution of cluster data processing. This solves the technical problem of low reliability in cluster-based data processing caused by the instability of service nodes in the cluster. Attached Figure Description

[0021] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0022] Figure 1 This is a flowchart of a data processing method according to an embodiment of the present invention;

[0023] Figure 2 This is a schematic diagram of the ONOS architecture in an optional embodiment of the present invention;

[0024] Figure 3This is a schematic diagram of a high-security cluster infrastructure based on heterogeneous twins in an optional embodiment of the present invention;

[0025] Figure 4 This is a schematic diagram of the process of accessing an ONOS cluster based on HA and load balancer in an optional embodiment of the present invention.

[0026] Figure 5 This is a schematic diagram of an external proxy architecture in an optional embodiment of the present invention;

[0027] Figure 6 This is a schematic diagram of a high-security ONOS cluster architecture in an optional embodiment of the present invention;

[0028] Figure 7 This is a schematic diagram of the floating IP access polling order and the floating IP mounting and transfer order when a node fails, in an optional embodiment of the present invention;

[0029] Figure 8 This is a schematic diagram of the extended architecture of a high-security ONOS cluster in an optional embodiment of the present invention. Detailed Implementation

[0030] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0031] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0032] First, some nouns or terms that appear in the description of the embodiments of this application shall be interpreted as follows:

[0033] OpenFlow: OpenFlow is a communication protocol in the field of software-defined networking (SDN) used for traffic scheduling and policy deployment.

[0034] P4Runtime: P4Runtime is a protocol for managing and configuring the runtime behavior of P4 programs, and is used in conjunction with the P4 programming language.

[0035] HA (High Availability) is a technical architecture and design approach that ensures the continuous and stable operation of a system or service, and is used to reduce downtime caused by system failures, maintenance, etc.

[0036] P4 Protocol: P4 (Programming Protocol-Independent Packet Processors) is a data plane programming language that allows developers to customize packet parsing and forwarding logic without relying on specific hardware architectures or network protocols.

[0037] P4 connection: A communication link established between P4 programmable data plane devices (such as P4 switches) and the controller, based on standard interfaces such as P4Runtime.

[0038] IP hash: IP hash is a load balancing algorithm that ensures that requests from the same IP address are always processed by the same server.

[0039] Example 1

[0040] According to an embodiment of the present invention, an embodiment of a data processing method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0041] Figure 1 This is a flowchart of a data processing method according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:

[0042] S102, Obtain a data processing request, wherein the data processing request carries a target communication address, which is the communication address used to match the corresponding service node in the target cluster;

[0043] This involves data processing requests, which are used to request the target cluster to process data. Taking the target cluster as an example (using an ONOS cluster as an example), this data processing request can be initiated by a device or the operating platform. The target ONOS cluster is an optimized version of the traditional ONOS cluster architecture.

[0044] This involves the target communication address, which is the communication address used to access the corresponding service node in the target cluster, such as a physical Internet Protocol (IP) address. Specifically, this target communication address is a floating IP (VIP, Virtual Internet Protocol address). A floating IP is a dynamically migratable IP that is not strongly bound to the corresponding service node, allowing the target cluster to provide a single service address externally, thus reducing the attack surface. Taking the target cluster as an example (the target ONOS cluster), the target communication address carried in the data processing request initiated by the device is a southbound floating IP (i.e., a southbound VIP) matching the device, while the target communication address carried in the data processing request initiated by the operating platform is a northbound floating IP (i.e., a northbound VIP) matching the operating platform.

[0045] This involves a target cluster, which is a set of distributed service nodes that receive data processing requests and undertake specific processing tasks. This target cluster provides corresponding communication addresses to different request initiators. Taking the target ONOS cluster as an example, the communication address provided to the device is a southbound floating IP, and the communication address provided to the operating platform is a northbound floating IP.

[0046] By acquiring data processing requests, we can understand the data processing needs, clarify the direction of subsequent data processing, and, based on the target communication address, provide the core positioning basis for accurately locating and routing the data processing requests to the corresponding service node range and the execution order of the service nodes in the target cluster.

[0047] S104, determine the execution order of the nodes corresponding to the target communication address in the target cluster, wherein the node execution order is used to represent the execution order of multiple service nodes included in the target cluster;

[0048] This involves multiple service nodes, which are physical or virtual nodes (such as servers or virtual machines) within the target cluster capable of independently processing data. Taking the target cluster as an example, these multiple service nodes correspond to multiple ONOS nodes.

[0049] This involves the node execution order, which is the execution order of multiple service nodes corresponding to the target communication address. For example, it could be a node priority order, used to filter service nodes sequentially. In other words, the node execution order is the order in which the various service nodes under the target communication address are accessed or scheduled.

[0050] By determining the execution order of multiple service nodes in the target cluster corresponding to the target communication address, the service nodes can be filtered sequentially according to a preset order, ensuring that data processing requests are efficiently and reliably routed to the most suitable service node.

[0051] S106, according to the node execution order of multiple service nodes, based on the node running status of any one of the multiple service nodes, execute the node processing operation corresponding to any one of the service nodes, and obtain the node processing result corresponding to any one of the service nodes, until the target condition is reached and the target processing result is obtained. The node processing operation includes at least one of fault determination operation and load determination operation. The target condition includes any one of the following: multiple service nodes have completed execution, the load determination result is that the node load status of any one of the service nodes is not the predetermined load status, and the load determination result is the determination result corresponding to the load determination operation.

[0052] This involves any one service node, which is any one of the multiple service nodes in the target cluster corresponding to the target communication address, used for node mounting evaluation.

[0053] This involves the node operating status, which reflects the health status (e.g., normal / faulty) of any given service node, in order to determine whether any given service node is in a faulty operating state.

[0054] This involves node processing operations, which are dynamically determined based on the node's operating status and performed on any given service node. These operations include at least one of fault determination and load determination. Specifically, when the node is in a faulty operating state, the node processing operations only include the fault determination operation; when the node is in a faulty operating state, the node processing operations only include the fault determination operation and the load determination operation, which can be performed first and then the load determination operation.

[0055] This involves a fault determination operation, which is used to assess the load status of any given service node. Specifically, this fault determination operation determines whether a given service node is in a faulty operating state based on its node operating status.

[0056] This involves a load determination operation, which is used to assess the load status of any given service node. Specifically, this load determination operation determines whether the node load status of any given service node is a predetermined load status, in order to obtain a load determination result.

[0057] This involves a predetermined load state, which is a pre-defined load state of the node used to distinguish whether the load state of the corresponding service node meets the mounting requirements.

[0058] This involves the node processing result, which is the result obtained after performing the node processing operation, including any of the following:

[0059] When the node processing operation only includes the fault determination operation, the node processing result includes the fault determination result corresponding to the fault determination operation. The fault determination result is a determination result of whether the node is in a faulty running state based on the node running state of any service node.

[0060] When the node processing operation includes fault determination operation and load determination operation, the node processing result can include the fault determination result corresponding to the fault determination operation and the load determination result corresponding to the load determination operation.

[0061] This involves a target condition, which is the condition for terminating the process of traversing each node according to the node execution order of multiple service nodes. It includes any of the following: multiple service nodes have completed execution, the load determination result is that the node load state of any service node is not the predetermined load state, and the load determination result is the determination result corresponding to the load determination operation.

[0062] This involves the target processing result, which is the final processing result obtained after traversing multiple service nodes in the order of node execution until the target condition is reached. This result reflects whether there is a corresponding service node among the multiple service nodes that can be used to perform the corresponding data processing operation according to the data processing request.

[0063] The system iterates through multiple service nodes in the order of their execution. It dynamically selects which node processing flow to perform, such as fault determination or load determination, based on the node's running status. It then obtains the corresponding node processing results until all service nodes have been traversed or a service node with a load status that is not in the predetermined load state is found. This ensures that healthy and load-suitable service nodes are selected for processing first, avoiding data processing interruptions caused by node failures or overloads.

[0064] S108, Based on the target processing results, determine the target node from multiple service nodes;

[0065] This involves a target node, which is the service node selected from multiple service nodes based on the target processing result and ultimately chosen to execute the data processing request.

[0066] By filtering the target processing results, faulty or overloaded nodes can be avoided, thereby ensuring the reliability and efficiency of data processing.

[0067] S110 determines the target output based on the data processing request and the target node.

[0068] This includes the target output, which is the final result obtained after processing the data according to the data processing request through the target node. It reflects whether the data processing corresponding to the data processing request was successful and the relevant processing details or data.

[0069] Since the target node has normal operating capability and the load meets the predetermined standard and has no risk of failure after being detected by node operation status and load adaptation screening, the target output can be determined based on the target node and data processing request, thus enabling reliable execution of cluster data processing.

[0070] Through the above steps S102-S110, a data processing request is obtained. The execution order of multiple service nodes in the target cluster is matched with the target communication address corresponding to the data processing request. Then, the running status of each service node is checked one by one according to the execution order, and the corresponding node processing operation is executed to obtain the corresponding node processing result. This process continues until the preset target conditions are met and the target processing result is obtained. Then, the target node is selected from multiple service nodes based on the target processing result. Since the fault determination operation directly eliminates faulty nodes that are running abnormally, it eliminates the hidden danger of node instability from the root. The load determination operation further evaluates whether the node load meets the predetermined requirements and selects suitable nodes with loads within a reasonable range. The node processing result formed by the combination of the two can comprehensively reflect the health status and load of each node, thereby ensuring that the selected target node has both health stability and load adaptability. This avoids the impact of node failure or overload on data processing and the impact of service node instability on data processing, thus achieving reliable execution of cluster data processing. This solves the technical problem of low reliability in cluster-based data processing caused by the instability of service nodes in the cluster.

[0071] As an optional embodiment, when the node processing operation includes a load determination operation, performing a node processing operation corresponding to any one service node to obtain a node processing result corresponding to any one service node includes: determining whether the node load state corresponding to any one service node is a first load state, wherein the first load state is the node load state corresponding to when the node load index of any one service node is greater than or equal to the node load threshold, and the predetermined load state includes the first load state; and determining the node processing result corresponding to any one service node based on the load determination result corresponding to the node load state.

[0072] This includes node load status, which refers to the load status of any given node and is used to characterize the load situation of that node.

[0073] This involves a first load state, which is the load state corresponding to when the node load index of any service node reaches or exceeds the node load threshold, indicating that the current resource consumption of the service node is too high and it may be unable to stably process data processing requests.

[0074] This involves load determination results, which are determined based on whether the node load status corresponding to any service node is a predetermined load status. The load determination results include: the node load status corresponding to any service node is a first load status, and the node load status corresponding to any service node is not a first load status.

[0075] This includes the node load index, which is used to represent the resource utilization of any given service node.

[0076] This involves a node load threshold, which is a pre-set threshold used to distinguish whether a node is in a high-load state. When the node load index exceeds the node load threshold, the service node is in a high-load state, and new data processing requests should be avoided as much as possible to prevent excessive load from causing service node performance degradation or failure.

[0077] This involves mounting, which is the operation of establishing a binding relationship between a communication address (such as a VIP) and the corresponding service node in the target cluster.

[0078] By determining whether the node's load status is in the first load state (a state of excessive resource consumption), and then determining the corresponding node processing result based on this load determination result, service nodes with excessive resource load can be accurately identified and included in the exclusion range of the predetermined load status. This avoids allocating too many data processing requests to high-load service nodes, which could lead to performance degradation or failure, thereby ensuring the stable operation of service nodes.

[0079] As an optional embodiment, when the node processing operation includes a load determination operation, the node processing operation corresponding to any one service node is executed to obtain the node processing result corresponding to any one service node, including: when the target cluster includes multiple floating communication addresses, determining whether the node load state corresponding to any one service node is a second load state, wherein the second load state is the node load state corresponding to when at least one other communication address is attached to any one service node, and the other communication address is another floating communication address other than the target communication address among the multiple floating communication addresses; and determining the node processing result corresponding to any one service node based on the load determination result corresponding to the node load state.

[0080] This involves multiple floating communication addresses, which are pre-defined within the target cluster and correspond to the communication addresses of different request initiators. These addresses serve to achieve security isolation and accommodate different data processing scenarios. Taking the target ONOS cluster as an example, these floating communication addresses include a Northbound VIP and a Southbound VIP. The request initiator corresponding to the Northbound VIP is the operations platform, while the request initiator corresponding to the Southbound VIP is the original equipment device (OEM).

[0081] This involves a second load state, which is the load state corresponding to when any service node simultaneously has other floating communication addresses besides the target communication address attached to it, indicating that the service node has undertaken the processing tasks corresponding to the other communication addresses.

[0082] This involves other communication addresses, which are communication addresses in the target cluster besides the target communication address. Specifically, each of these other communication addresses corresponds to a different request initiator. Taking the target cluster as the target ONOS cluster and the target communication address as the southbound floating IP corresponding to the device as an example, then the other communication addresses are the northbound floating IP corresponding to the running platform.

[0083] By determining the node load status of service nodes and judging whether they are in a secondary load state (mounted with other communication addresses), service nodes with multiple address conflicts can be accurately identified. This helps ensure that data processing requests are only allocated to service nodes without address mounting conflicts, thereby avoiding data processing interruptions or errors caused by service node communication address conflicts, and improving the efficiency and reliability of data processing in the target cluster.

[0084] Furthermore, the load determination result may also include: the node load state corresponding to any service node is the second load state, and the node load state corresponding to any service node is not the second load state.

[0085] As an optional embodiment, when the node processing operation includes a load determination operation, the node processing result corresponding to any service node includes any one of the following: a first processing result and a second processing result; wherein, the first processing result is the processing result corresponding to the case where the load determination result indicates that the node load state is a predetermined load state, and is used to perform a node migration operation on any service node, and traverse the next service node corresponding to any service node according to the node execution order of multiple service nodes, so as to determine the node processing result corresponding to the next service node, wherein the node migration operation includes skipping any service node; the second processing result is the processing result corresponding to the case where the load determination result indicates that the node load state is not a predetermined load state, and is used as the target processing result.

[0086] This involves a first processing result, which is the processing result corresponding to the predetermined load state when the load determination result is, used to trigger the corresponding node migration operation, and skip the process of the current service node and traversing the next service node, so as to further continuously filter the suitable service nodes.

[0087] This involves a second processing result, which is the processing result corresponding to when the load determination result is not the predetermined load state. In this case, the target condition is met, and the traversal of multiple service nodes is stopped. This processing result can be directly used as the target processing result to terminate the traversal of subsequent service nodes.

[0088] This involves a node migration operation, which is a node switching operation used to traverse nodes in order to analyze the current service node and migrate to the next service node. That is, it includes traversing the next service node corresponding to any service node according to the node execution order of multiple service nodes.

[0089] As an optional embodiment, when the target cluster includes multiple floating communication addresses, performing a node migration operation on any one service node includes: performing a node migration operation on any one service node according to the execution priority constraints of the node migration operations corresponding to the multiple floating communication addresses, wherein the multiple floating communication addresses include the target communication address.

[0090] This involves execution priority constraints, which define the pre-defined execution order of node migration operations for multiple floating communication addresses. This order clarifies the sequence of node migration operations for different floating communication addresses, primarily to prevent simultaneous triggering of node migration operations for multiple floating communication addresses, which could cause jitter and load scheduling issues in the target cluster. Taking the target cluster as an example (an ONOS cluster), these multiple floating communication addresses include a Northbound VIP and a Southbound VIP. If a Northbound VIP and a Southbound VIP are detected, both need to perform node migration operations to jump to the next service node. To avoid jitter caused by simultaneous migrations, this execution priority constraint can be set as follows: the Northbound VIP migrates first (i.e., the node migration operation is executed first), and the Southbound VIP migrates later (i.e., the node migration operation is executed later).

[0091] The execution priority constraint clarifies the order of node migration operations corresponding to different floating communication addresses, avoiding the simultaneous triggering of node migration operations for multiple floating communication addresses. This prevents the target cluster from experiencing operational jitter and chaotic load scheduling, thereby ensuring that the node migration operations for each floating communication address proceed in sequence and smoothly, and guaranteeing the operational stability of the target cluster during the node migration process.

[0092] As an optional embodiment, when the target cluster includes multiple floating communication addresses, the multiple floating communication addresses correspond to different node execution orders, wherein the multiple floating communication addresses include the target communication address.

[0093] Specifically, when the target cluster includes multiple floating communication addresses, the execution order of the nodes corresponding to different floating communication addresses is different. This enables independent scheduling of each floating communication address when selecting service nodes and executing node processing operations, avoiding mutual interference between the node traversal processes of different floating communication addresses.

[0094] As an optional embodiment, when there are multiple floating communication addresses, the execution order of the nodes of either floating communication address is the reverse of the execution order of the nodes of the other floating communication address.

[0095] Specifically, when there are two floating communication addresses in the target cluster, the execution order of the nodes corresponding to these two floating communication addresses is set to a completely opposite order. This reverse scheduling during service node traversal and filtering based on the two floating communication addresses effectively achieves load balancing and balanced utilization of cluster node resources. Taking the target cluster as an example of an ONOS cluster, these multiple floating communication addresses include a northbound VIP and a southbound VIP. Using the target cluster as an example of an ONOS cluster, the node execution order of the northbound VIP can be service node 1, service node 2, ..., service node N, while the node execution order of the southbound VIP can be service node N, service node N-1, ..., service node 1.

[0096] As an optional embodiment, after determining the target output based on the data processing request and the target node, the method further includes: determining multiple predetermined item data corresponding to multiple service nodes, wherein the multiple predetermined item data are data corresponding to multiple predetermined items that are predetermined in a certain way, and the multiple predetermined items are items whose characterization index of the operational stability of the service node is greater than or equal to a characterization threshold; determining an operational stability index corresponding to multiple service nodes based on the multiple predetermined item data corresponding to multiple service nodes; and updating the ranking of multiple service nodes based on the operational stability index corresponding to multiple service nodes to obtain the updated ranking of multiple service nodes corresponding to the target communication address.

[0097] This involves multiple pre-defined data items, which reflect the degree of stability of the service node operation.

[0098] This involves several predetermined items, which are items whose representation index of the operational stability of the service node is greater than or equal to the representation threshold. These include CPU resource utilization, memory resource utilization, network resource utilization, and the operational status of the service node (such as whether the process is responsive or not).

[0099] This involves a representation index, which is used to represent the degree to which a corresponding predetermined item represents the operational stability of a service node.

[0100] This involves a characterization threshold, which is a pre-defined minimum standard value for the characterization index.

[0101] This includes an operational stability index, which is used to quantify the operational stability of service nodes.

[0102] This involves the ranking, which is the position of the service node in the target cluster under the node execution order.

[0103] The predefined data corresponding to multiple service nodes are core data collected to characterize the stability of service node operation. They can comprehensively reflect the actual operating status of service nodes. Based on the predefined data corresponding to multiple service nodes, an operational stability index is determined, which can accurately assess the operational stability of each service node. The ranking of service nodes is updated according to the operational stability index, realizing dynamic adjustment of node priority. This ensures that nodes with higher stability are prioritized in subsequent data processing requests, thereby helping to improve the overall reliability and processing efficiency of the cluster and avoid data processing failures or delays caused by node instability.

[0104] As an optional embodiment, determining the target output based on the data processing request and the target node includes: when the target cluster includes an original cluster, an auxiliary cluster, and a synchronization module, synchronizing the data processing request to the auxiliary cluster through the synchronization module to obtain an auxiliary output corresponding to the auxiliary cluster. The original cluster includes multiple service nodes, the auxiliary cluster is functionally equivalent to the original cluster, the auxiliary cluster is used for internal interaction within the target cluster, and the synchronization module is used to synchronize parameters between the original cluster and the auxiliary cluster, including data processing request synchronization; inputting the data processing request to the target node to obtain the original output corresponding to the original cluster; and determining the target output corresponding to the data processing request based on the auxiliary output and the original output.

[0105] This involves the original cluster, which is a core component of the target cluster and is used to directly receive data processing requests. The original cluster comprises multiple service nodes, serving as the primary execution vehicle for data processing requests and undertaking core data processing tasks.

[0106] This involves an auxiliary cluster, which is another cluster functionally equivalent to the original cluster. This auxiliary cluster serves as the result verification carrier for the original cluster, possessing the same data processing logic and execution capabilities. It receives synchronization parameters from the original cluster through a synchronization module, independently processes data to generate auxiliary output, and uses this output to verify the accuracy of the original output. This auxiliary cluster is used for internal interaction within the target cluster and is not perceived externally (deployed in external isolation). Taking the target cluster as an example (the target ONOS cluster), this auxiliary cluster is not perceived by the operation and management platform or devices (such as the original device), thus effectively reducing the possibility of external attacks on the auxiliary cluster without increasing network exposure points, providing a more reliable and objective comparison basis for the original cluster.

[0107] This includes a synchronization module, which is a module (such as components, systems, etc.) that enables parameter synchronization between the original cluster and the auxiliary cluster. The synchronization module ensures that the two clusters maintain a consistent state and parameters when processing data, including but not limited to data processing requests, configuration information, and status information.

[0108] This involves auxiliary output, which is the processing result generated by the auxiliary cluster independently executing data processing operations after obtaining the data processing request through the synchronization module. It is the key basis for comparison and verification with the original output.

[0109] This involves functional equivalence, which means that the auxiliary cluster and the original cluster are consistent in terms of data processing capabilities. The auxiliary cluster and the original cluster have the same core data processing capabilities, logical execution flow, and output standards. That is, the auxiliary cluster can perform the exact same tasks and processing logic as the original cluster, including but not limited to receiving, parsing, processing, storing, and responding to data processing requests.

[0110] This involves parameter synchronization, which is the process of synchronizing (i.e., keeping consistent) the parameters of the original cluster with those of the auxiliary cluster. This includes synchronizing data processing requests to ensure that the operating environment and processing benchmark of the auxiliary cluster are consistent with those of the original cluster, thus providing a basic guarantee for the collaborative work and result verification of the two clusters.

[0111] This involves data processing request synchronization, which is the process of synchronizing data processing requests from the original cluster to the auxiliary cluster. This enables the auxiliary cluster to obtain the exact same request input as the original cluster and independently carry out data processing operations based on the consistent request input, thus providing the prerequisite for generating comparable original and auxiliary outputs in the future.

[0112] In an architecture comprising an original cluster, an auxiliary cluster, and a synchronization module, the synchronization module synchronizes data processing requests to an auxiliary cluster that is functionally equivalent to the original cluster and used solely for internal interaction. This allows the auxiliary cluster to independently generate auxiliary outputs based on consistent request inputs. Simultaneously, the data processing requests are input to the target node of the original cluster to obtain the original output. The final target output is then determined based on the comparison between the two types of outputs. This dual-cluster result verification mechanism between the original and auxiliary clusters enables timely detection of processing deviations in the original cluster, ensuring the accuracy and reliability of the target output. Furthermore, the external isolation deployment characteristics of the auxiliary cluster prevent the creation of new network exposure points, guaranteeing the stability of cluster data processing and providing dual verification support for the closed-loop execution of data processing requests.

[0113] As an optional embodiment, before synchronizing the data processing request to the auxiliary cluster and obtaining the auxiliary output corresponding to the auxiliary cluster, the method further includes: if parameter synchronization includes state synchronization, obtaining state parameters corresponding to the original cluster, wherein the state parameters include communication response parameters, which are parameters initiated by the original device to respond to the original connection request, the original connection request being used to request the establishment of a communication connection between the original cluster and the original device, and the original device being used to initiate the data processing request; detecting whether the auxiliary cluster sends an auxiliary connection request to the virtual device and obtaining a detection result, wherein the auxiliary connection request is used to request the establishment of a communication connection between the auxiliary cluster and the virtual device, the synchronization module includes the virtual device, and the virtual device is functionally equivalent to the original device; if the detection result is that the auxiliary cluster sends an auxiliary connection request to the virtual device, the communication response parameters are sent to the auxiliary cluster through the virtual device to obtain the state-synchronized auxiliary cluster.

[0114] This involves status parameters, which are parameters used to reflect the original cluster operating status (such as communication connection status), including communication response parameters.

[0115] This involves communication response parameters, which are the response parameters that the original device sends back to the original cluster after receiving the original connection request initiated by the original cluster, in order to confirm whether a communication connection should be established.

[0116] This involves the originator device, which can be used to initiate data processing requests. Specifically, before initiating a data processing request, a communication connection is established with the originator cluster. Taking the target cluster as the target ONOS cluster as an example, the operation and management platform or device initiates a data processing request to the target ONOS cluster, and the originator device can be this device.

[0117] This involves a virtual device, which is a virtual terminal component within the synchronization module that is functionally equivalent to the original device. It has the ability to receive auxiliary cluster connection requests and provide feedback communication response parameters. Specifically, this virtual device can be implemented by simulating the functions of the original device through the synchronization module.

[0118] This involves auxiliary connection requests, which are initiated by the auxiliary cluster to request the establishment of a communication connection between itself and the virtual device. Their format and logic are the same as the original connection request.

[0119] This involves the detection result, which is the determination result obtained from the detection operation of whether the auxiliary cluster sends an auxiliary connection request.

[0120] Under the premise that parameter synchronization includes state synchronization, the auxiliary cluster's auxiliary connection request status to the virtual device end in the synchronization module is detected by obtaining the original cluster communication response parameters. When the request is detected, the virtual device end of the synchronization module simulates the original device end to feed back the communication response parameters, so as to realize the state synchronization between the original cluster and the auxiliary cluster. This ensures the consistency of the dual-cluster operating environment corresponding to the original cluster and the auxiliary cluster, and provides a reliable state basis for subsequent data processing request synchronization and same-source verification output.

[0121] It should be noted that when the status parameters include the flow table parameters, the synchronization process of the flow table parameters is the same as that of the communication response parameters, and will not be repeated here.

[0122] As an optional embodiment, the data processing request is synchronized to the auxiliary cluster through the synchronization module to obtain the auxiliary output corresponding to the auxiliary cluster. This includes: when there are multiple synchronization modules, determining the module stability characteristics corresponding to each of the multiple synchronization modules; determining the target module based on the module stability characteristics corresponding to each of the multiple synchronization modules, wherein the target module is the synchronization module among the multiple synchronization modules whose module stability characteristics are predetermined stability characteristics; and synchronizing the data processing request to the auxiliary cluster through the target module to obtain the auxiliary output corresponding to the auxiliary cluster.

[0123] This involves module stability characteristics, which are features used to reflect the reliability and stability of the synchronization module's operation, including failure rate, response time, and data transmission error rate.

[0124] This involves a target module, which is a synchronization module among multiple synchronization modules that is selected based on predetermined stability characteristics and is used to execute data processing request synchronization tasks. By identifying the target module, the stability and reliability of the synchronization process are ensured, and data synchronization failures or delays due to module failures or poor performance are avoided.

[0125] This involves a predetermined stability feature, which is a pre-set stability feature benchmark used to screen target modules. In other words, the predetermined stability feature is used to measure whether the synchronization module is stable enough.

[0126] In scenarios with multiple synchronization modules, the stability characteristics of each synchronization module are first determined. Based on these characteristics, the operational stability of each synchronization module is comprehensively and quantitatively assessed. This allows for the precise selection of target modules whose stability characteristics meet the predetermined criteria. The target module is then chosen to execute the data processing request synchronization task, ensuring high stability and reliability in the synchronization process. This avoids synchronization failures or delays caused by module malfunctions or instability, thereby improving the overall operational efficiency and data processing quality of the target cluster.

[0127] As an optional embodiment, when the node processing operation includes a fault determination operation, based on the node operating state of any one of the multiple service nodes, a node processing operation corresponding to that service node is executed to obtain a node processing result corresponding to that service node. This includes: determining whether the node operating state of any service node is a predetermined operating state, wherein the predetermined operating state is the operating state of any service node when the node fault index is greater than or equal to the node fault threshold; and if the state determination result corresponding to the node operating state is that the node operating state of any service node is not a predetermined operating state, a load determination operation corresponding to that service node is executed to obtain a node processing result corresponding to that service node.

[0128] This involves a predetermined operating state, which is the operating state when the node failure index of a service node reaches or exceeds a pre-set node failure threshold, in order to reflect whether the service node is in a faulty operating state, that is, whether there is a fault, the degree of fault, etc.

[0129] This involves the status determination result, which is the result obtained after determining whether the current running status of the service node is the predetermined running status.

[0130] This includes a node failure index, which is used to quantify the degree of failure of service nodes and can be used to analyze the current health status of service nodes.

[0131] This involves a node fault threshold, which is a pre-set baseline value used to determine whether the fault index of a service node has reached a predetermined fault or anomaly standard. When the node fault index is greater than or equal to the node fault threshold, the fault condition or operational anomaly of the service node is considered to have reached a predetermined severity level, i.e., it is in a predetermined operating state.

[0132] By first determining whether the node operating state of any service node is a predetermined operating state defined by the node failure index being greater than or equal to the node failure threshold, and if the state determination result indicates that the service node is not in such a fault operating state, then the corresponding load determination operation is performed. This avoids unnecessary load judgment when the service node is faulty, thereby saving computing resources and improving overall computing efficiency. It can also effectively prevent the failure of service nodes from affecting the overall performance and improve the reliability of data processing in the target cluster.

[0133] Based on the above embodiments and optional embodiments, an optional implementation method is provided, which is described in detail below.

[0134] In related technologies, clusters, by horizontally scaling multiple service nodes, possess distributed collaborative computing and dynamic resource allocation capabilities, and have become a key technical architecture supporting large-scale data processing tasks. However, although clusters improve data processing efficiency through distributed architecture, the instability of service nodes in clusters leads to low reliability issues when performing data processing based on clusters.

[0135] There is currently no effective solution to the above problems.

[0136] The communication, data storage, and management tasks of each node in the cluster must be properly protected to prevent potential attacks, data leaks, and unauthorized operations. To address the security issues present in the cluster, a high-security cluster architecture based on heterogeneous twins can be adopted. The core idea of ​​the cluster twin architecture is to enhance the system's fault tolerance and security by utilizing redundancy and adjudication mechanisms. By introducing another functionally equivalent heterogeneous cluster as a mirror, a proxy service synchronizes data between the two clusters in real time and performs real-time comparative analysis of the cluster outputs to promptly identify potential security risks and take corresponding measures for timely remediation, ensuring service continuity and data integrity.

[0137] Specifically, Figure 2 This is a schematic diagram of the ONOS architecture in an optional embodiment of the present invention, such as... Figure 2 As shown, ONOS is an open-source network operating system. The main components and functions of the ONOS architecture include: Apps: The core of network management and services, used to create and deploy network applications; Northbound API: The interface between ONOS and the application layer, allowing network applications to interact with the controller; Core: The core of ONOS, responsible for global network control and management, coordinating underlying hardware devices and upper-layer applications; Southbound API: The communication layer between ONOS and network devices, supporting various southbound protocols and sending control plane instructions to the data plane; Adapters: The bridge between the control plane and the data plane, enabling ONOS to communicate and be compatible with different network devices, protocols, and technologies; Protocols: Southbound protocols for ONOS to communicate with devices, such as OpenFlow and P4Runtime; Network Elements: Network element devices.

[0138] Taking a traditional ONOS cluster as an example, the traditional ONOS cluster involves collaboration among multiple controller nodes, data sharing, user access control, and the integrity and confidentiality of network operations, making its security paramount. Figure 3 This is a schematic diagram of a high-security cluster infrastructure based on heterogeneous twins in an optional embodiment of the present invention, such as... Figure 3The diagram illustrates the basic cluster architecture applied to ONOS (excluding the adjudication module). Each ONOS node in the original cluster deploys a southbound proxy and a northbound proxy, only exposing the ports of the southbound and northbound proxy services externally. Both southbound and northbound requests communicate with the ONOS node services in the original cluster through the proxy services. Simultaneously, the proxy copies the requests and forwards them to the functionally equivalent cluster. This architecture achieves real-time synchronization between the original cluster and the functionally equivalent cluster by forwarding requests through the proxy services. However, it has the following problems:

[0139] 1) When the operation and management platform or equipment accesses the traditional ONOS cluster through the southbound and northbound interfaces, it uses physical Internet Protocol addresses (IPs). The traditional ONOS cluster needs to present 2×N (N is the number of cluster members) IPs to the outside world, and the service addresses provided to the outside world are not unique. When the number of cluster members is too large, the number of IPs presented to the outside world is too many, which will significantly increase the attack surface, leading to increased security risks for the traditional ONOS cluster and thus affecting the stability of cluster operation.

[0140] 2) Traditional ONOS clusters have a single point of failure risk. That is, if the cluster member where the currently used physical IP is located experiences a service failure, the interface request will not be able to respond normally, thus making the traditional ONOS cluster function unavailable.

[0141] 3) Traditional ONOS clusters lack load balancing capabilities. Because access to a traditional ONOS cluster is via a physical IP address, interface requests are always distributed to the cluster member containing that physical IP. When request traffic is excessive, that cluster member will experience overload due to the need to parse a large number of request packets, impacting the overall performance of the traditional ONOS cluster. Simultaneously, other cluster members, which do not receive requests, cannot share the load of parsing packets, resulting in wasted resources.

[0142] 4) From the perspective of the traditional ONOS cluster architecture, the intercalated agent is used. The northbound agent is intercalated between the operation and management platform and the ONOS nodes in the original cluster, and the southbound agent is intercalated between the device and the ONOS nodes in the original cluster. The agent (including the northbound agent and the southbound agent) is functionally coupled with the ONOS node service. When the agent fails, the functionally equivalent cluster will not be able to function.

[0143] In view of this, an optional embodiment of the present invention provides a data processing method that can effectively solve the above-mentioned technical problems.

[0144] Taking the target ONOS cluster as an example, this target ONOS cluster is optimized from the traditional ONOS cluster architecture. The key optimizations are: first, providing a single service address that can access every running member in the cluster according to predefined rules; and second, decoupling the proxy from the ONOS node services in the original cluster. Therefore, the multiple service nodes in the target cluster correspond to multiple ONOS nodes. A detailed description follows.

[0145] S1, Obtain a data processing request, wherein the data processing request carries a target communication address, which is the communication address used to match the corresponding service node in the target cluster;

[0146] Specifically, when the target cluster includes multiple floating communication addresses, each floating communication address corresponds to a different node execution order. The multiple floating communication addresses may include the northbound VIP and southbound VIP corresponding to the target ONOS cluster, and the multiple floating communication addresses include the target communication address.

[0147] S2, determine the execution order of the nodes corresponding to the target communication address in the target cluster, wherein the node execution order is used to represent the execution order of multiple service nodes included in the target cluster;

[0148] Specifically, the target ONOS cluster provides a single service address to the outside world. To achieve this, HA (High Availability) can be used to mount floating IPs, which serve as the single service address provided by the target ONOS cluster. Furthermore, when multiple floating communication addresses are used, the execution order of nodes using either floating address is the reverse of the execution order of nodes using the other. For example, considering the security of the target ONOS cluster, network isolation is required between the southbound and northbound directions. Therefore, a set of floating IPs (VIPs) is set up for each direction. The southbound VIP and the northbound VIP are mounted on different cluster members (i.e., service nodes) by default. The target communication address includes either the northbound VIP or the southbound VIP. The operation and management platform accesses ONOS nodes through the northbound VIP, and devices access ONOS nodes through the southbound VIP. Load balancing is achieved using a load balancer with a round-robin strategy. The Southbound VIP and Northbound VIP are rotated in reverse order; that is, the execution order of the Northbound VIP nodes is the reverse of that of the Southbound VIP nodes. For example, the execution order of the Northbound VIP nodes is service node 1, service node 2, ..., service node N, while the execution order of the Southbound VIP nodes is service node N, service node N-1, ..., service node 1. Each ONOS node in the target ONOS cluster has an HA and load balancer installed.

[0149] Figure 4 This is a schematic diagram of the process for accessing an ONOS cluster based on HA and a load balancer in an optional embodiment of the present invention, as shown below. Figure 4The diagram illustrates the process of an external request accessing a target ONOS cluster. The external request (i.e., a data processing request, which can originate from the operations and maintenance platform or equipment) accesses the cluster via a floating IP. HA controls which ONOS node (i.e., the service node) the floating IP is attached to. The load balancer on the ONOS node with the floating IP is defined as the primary load balancer, which receives the incoming request and distributes it to the corresponding ONOS node in the target ONOS cluster according to a round-robin strategy. Compared to directly accessing using a physical IP, this target ONOS cluster provides a single service address. Regardless of the number of ONOS nodes in the target ONOS cluster, it only needs to be aware of a maximum of two floating IPs (the southbound and northbound VIP network segments differ in north-south network isolation scenarios and need to be configured separately). Furthermore, this target ONOS cluster effectively prevents single points of failure. Failure of the HA, load balancer, or the ONOS node itself corresponding to any ONOS node in the target ONOS cluster will not affect the functionality of the target ONOS cluster, and users will not perceive any single point of failure in the target ONOS cluster. The target ONOS cluster also has load balancing capabilities. When multiple data processing requests are distributed to the load balancer, the load balancer will distribute the data processing requests evenly to each normally operating ONOS node in the target ONOS cluster according to the round-robin strategy.

[0150] S3, according to the node execution order of multiple service nodes, based on the node running status of any one of the multiple service nodes, execute the node processing operation corresponding to any one of the service nodes, and obtain the node processing result corresponding to any one of the service nodes, until the target condition is reached and the target processing result is obtained. The node processing operation includes at least one of fault determination operation and load determination operation. The target condition includes any one of the following: multiple service nodes have completed execution, the load determination result is that the node load status of any one of the service nodes is not the predetermined load status, and the load determination result is the determination result corresponding to the load determination operation.

[0151] Specifically, when the node processing operation includes at least a fault determination operation, based on the node operating state of any one of the multiple service nodes, a fault determination operation corresponding to that service node is executed to obtain a node processing result corresponding to that service node. This includes: determining whether the node operating state of any service node is a predetermined operating state, wherein the predetermined operating state is the operating state of any service node when the node fault index is greater than or equal to the node fault threshold; if the state determination result corresponding to the node operating state is that the node operating state of any service node is not a predetermined operating state, a load determination operation corresponding to that service node is further executed to obtain a node processing result corresponding to that service node; if the state determination result corresponding to the node operating state is that the node operating state of any service node is a predetermined operating state, a node processing result corresponding to that service node is obtained based on the state determination result.

[0152] For example, before performing load determination on each of multiple service nodes, a health check (i.e., a fault determination operation) is first performed on all service nodes to determine whether they are functioning correctly. The execution order for the multiple service nodes is: Service Node 1, Service Node 2, ..., Service Node... As an example, when service node 1 is not a normally operating service node (that is, the node running state of the service node is the predetermined running state), service node 1 is directly ignored (that is, skipped), and no further load determination operation is performed on service node 1 to save computing resources. Fault determination operation is performed on service node 2, and so on, until the node running state of the corresponding service node is not the predetermined running state, at which point the load determination operation is performed on the corresponding service node.

[0153] Taking multiple service nodes as ONOS-1, ONOS-2, and ONOS-3 as examples, different priorities (i.e., rankings) are set on each service node for different VIPs. Table 1 shows the priority of southbound and northbound VIPs.

[0154] Table 1

[0155]

[0156] When the health check results for ONOS-1, ONOS-2, and ONOS-3 nodes are all normal (the corresponding service node's node operating status is not the predetermined operating status), that is, when there are no faults, based on the above priority, the northbound VIP is mounted on the ONOS-1 node, and the southbound VIP is mounted on the ONOS-3 node. However, when the health check result indicates a fault, the northbound VIP will be transferred in the order 1→2→3, and the southbound VIP will be transferred in the order 3→2→1.

[0157] Further, the load determination operation corresponding to any one service node is performed, including: determining whether the node load state corresponding to any one service node is a first load state, and / or determining whether the node load state corresponding to any one service node is a second load state, to obtain a load determination result, wherein the first load state is the node load state corresponding to when the node load index of any one service node is greater than or equal to the node load threshold, the predetermined load state includes the first load state, the second load state is the node load state corresponding to when at least one other communication address is attached to any one service node, the other communication address is the other floating communication address besides the target communication address among multiple floating communication addresses; based on the load determination result corresponding to the node load state, the node processing result corresponding to any one service node is determined.

[0158] Specifically, the node processing result includes either a first processing result or a second processing result. The first processing result is the processing result when the load determination result indicates that the node load state is a predetermined load state. This result is used to perform a node migration operation on any service node and, according to the node execution order of multiple service nodes, traverses the next service node corresponding to any given service node to determine the node processing result corresponding to the next service node. The node migration operation includes skipping any service node. The second processing result is the processing result when the load determination result indicates that the node load state is not a predetermined load state, and is used as the target processing result.

[0159] For example, to minimize the chance of southbound and northbound VIPs falling onto the same service node, first determine if the node's load state is in the second load state. When the node's load state is in the second load state, it indicates that the southbound and northbound VIPs are attached to the same service node. In this case, the node load rejection algorithm can be used to dynamically adjust the priority of traversing that service node. Example of dynamically adjusting priority using the node load rejection algorithm:

[0160] For northbound VIP mounting, when a service node is already hosting a southbound VIP, the priority of that service node can be dynamically reduced (e.g., decreased by 5 points). This ensures that, under normal node health checks (i.e., no failure), the VIP is preferentially mounted to a service node other than the one hosting the southbound VIP. This forces southbound and northbound VIPs to be mounted on different service nodes as much as possible, avoiding the risk of excessive load or single point of failure caused by concentrating them on the same service node. The same principle applies to southbound VIP mounting, and will not be elaborated further. The priority calculation formula is:

[0161]

[0162] in, Prioritize service nodes that are in the second load state after their load status has been adjusted. Priority for the initial service nodes; The cross-direction VIP carrying penalty value is used to represent the priority deduction value set for a service node when it is already carrying a floating IP (VIP) in one direction (southbound / northbound) in order to prevent a VIP in another direction from being attached to the service node.

[0163] For example, taking a target ONOS cluster with 3 service nodes (ONOS-1, ONOS-2, and ONOS-3) as an example, the basic priority of the northbound VIP is: ONOS-1 (100), ONOS-2 (95), and ONOS-3 (90). If the southbound VIP is already attached to the ONOS-3 node, then the northbound priority of the ONOS-3 node is reduced by 5 points, becoming 85. At this time, the optional priorities of the northbound VIP are ONOS-1 (100), ONOS-2 (95), and ONOS-3 (85). Only when all other nodes fail will the northbound VIP be forced to attach to the ONOS-3 node, thus avoiding "coexistence of the same node" to the greatest extent.

[0164] Furthermore, performing a node migration operation on any service node includes: performing a node migration operation on any service node according to the execution priority constraints of the node migration operations corresponding to multiple floating communication addresses, wherein the multiple floating communication addresses include the target communication address.

[0165] For example, if both the southbound VIP and the northbound VIP are detected as transferable, in order to avoid jitter caused by simultaneous transfer, the transfer strategy is set as follows: the northbound VIP is transferred first (the node migration operation is performed first), and the southbound VIP is transferred later (the node migration operation is performed later), with a delay of 3 seconds.

[0166] Based on the above settings, effective management and failover of multiple floating IPs are achieved, enabling separate management of southbound VIPs and northbound VIPs, and relatively independent southbound and northbound traffic to avoid mutual interference. Furthermore, by dynamically adjusting the priority of floating IPs and combining them with a load balancer, load optimization can be performed flexibly and efficiently. In addition, through weight adjustment, node load exclusion, and delayed transfer, the failover process of southbound and northbound VIPs is made controllable.

[0167] S4, Based on the target processing results, determine the target node from multiple service nodes;

[0168] Specifically, the target node includes any one of the following: a first node, a second node, and a third node. The first node is the first service node to appear in the execution order among multiple service nodes, whose running state and load state are not the predetermined running state (including the first and second load states). The second node is the service node whose running state and load state are not the predetermined running state among multiple service nodes. The third node is the only service node whose running state is not the predetermined running state among multiple service nodes. In other words, the first node is a healthy (i.e., fault-free) service node with optimal load and no cross-directional VIP; the second node is a healthy service node among multiple service nodes without cross-directional VIP; and the third node is the only healthy service node among multiple service nodes.

[0169] S5 determines the target output based on the data processing request and the target node.

[0170] Specifically, based on the data processing request and the target node, the target output is determined, including: when the target cluster includes an original cluster, an auxiliary cluster, and a synchronization module, the data processing request is synchronized to the auxiliary cluster through the synchronization module to obtain the auxiliary output corresponding to the auxiliary cluster. The original cluster includes multiple service nodes, the auxiliary cluster is functionally equivalent to the original cluster, and the auxiliary cluster is used for internal interaction within the target cluster. The synchronization module is used to synchronize parameters between the original cluster and the auxiliary cluster, including data processing request synchronization. The data processing request is input to the target node to obtain the original output corresponding to the original cluster. Based on the auxiliary output and the original output, the target output corresponding to the data processing request is determined.

[0171] Specifically, taking the synchronization module as a forwarding proxy module (hereinafter referred to as the proxy module, including southbound and northbound proxies) as an example, an external proxy mode is used to implement an external proxy, thereby decoupling the synchronization module from the original cluster and the auxiliary cluster in terms of functionality. For example, the proxy module is deployed on the same server, independent of the original cluster and the functionally equivalent cluster (i.e., the auxiliary cluster), and uses IPs from different network segments for southbound and northbound network isolation. Based on this, data is copied from the ONOS nodes in the original cluster and forwarded to the functionally equivalent cluster via the proxy module, realizing real-time data synchronization between clusters. Compared with the plugged-in proxy, the advantages of the external proxy are:

[0172] 1) The proxy module is independent of the original cluster and the auxiliary cluster. The failure of the proxy module will not affect the functions of the original cluster and the auxiliary cluster, thus achieving functional decoupling between the original cluster and the auxiliary cluster.

[0173] 2) The southbound and northbound proxies are combined into one to form a proxy module, which improves the scalability of the proxy module and facilitates the subsequent construction of a cluster of proxy modules to further improve the reliability of the proxy module, while also facilitating unified management.

[0174] Specifically, before synchronizing the data processing request to the auxiliary cluster and obtaining the auxiliary output corresponding to the auxiliary cluster, the process further includes: in the case of parameter synchronization including state synchronization, obtaining the state parameters corresponding to the original cluster, wherein the state parameters include communication response parameters, which are parameters initiated by the original device to respond to the original connection request (e.g., including the establishment of a communication connection between the ONOS node and the device and the distribution of flow tables), the original connection request is used to request the establishment of a communication connection between the original cluster and the original device, and the original device is used to initiate the data processing request; detecting whether the auxiliary cluster sends an auxiliary connection request to the virtual device and obtaining the detection result, wherein the auxiliary connection request is used to request the establishment of a communication connection between the auxiliary cluster and the virtual device, the synchronization module includes the virtual device, and the virtual device is functionally equivalent to the original device; if the detection result is that the auxiliary cluster sends an auxiliary connection request to the virtual device, the communication response parameters are sent to the auxiliary cluster through the virtual device to obtain the state-synchronized auxiliary cluster.

[0175] For example, Figure 5 This is a schematic diagram of an external proxy architecture in an optional embodiment of the present invention. Figure 6 This is a schematic diagram of a high-security ONOS cluster architecture in an optional embodiment of the present invention, such as... Figure 5 and Figure 6As shown. For the northbound proxy, the ONOS node acts as the server, using the Hypertext Transfer Security (HTTPS) protocol. The northbound proxy copies the HTTPS request message sent by the operations and management platform to the original cluster and forwards it to the functionally equivalent cluster. For the southbound proxy, when adding devices, the ONOS node acts as the server, using the HTTPS protocol. The process in this case is the same as that of the northbound proxy and will not be described again. Data processing requests include request messages (such as HTTPS request messages).

[0176] Furthermore, the northbound proxy only forwards data processing requests, while the southbound proxy forwards both data processing requests and responses (i.e., communication response parameters). For example, when the ONOS node establishes a communication connection with the device and distributes flow tables, the ONOS node acts as a client, using the P4 protocol to send a communication connection request to the device. At this time, the original cluster directly establishes a P4 connection with the device, and the flow table is directly distributed to the device. Therefore, sending communication response parameters to the auxiliary cluster via a virtual device can be achieved through a southbound proxy simulating the device. Specifically, the southbound proxy simulates the device establishing a P4 connection with the functionally equivalent cluster and responding to the flow table distribution process; the southbound proxy uses a virtual device to simulate the device.

[0177] Furthermore, after determining the target output based on the data processing request and the target node, the process further includes: determining multiple predetermined item data corresponding to multiple service nodes, wherein the multiple predetermined item data are data corresponding to multiple predetermined items in advance, and the multiple predetermined items are items whose representation index of the operational stability of the service node is greater than or equal to the representation threshold; determining the operational stability index corresponding to multiple service nodes based on the multiple predetermined item data corresponding to multiple service nodes; and updating the ranking of multiple service nodes based on the operational stability index corresponding to multiple service nodes to obtain the updated ranking of multiple service nodes corresponding to the target communication address.

[0178] Taking multiple predetermined items, including CPU resource utilization, memory resource utilization, network resource utilization, and running status (such as process responsiveness or process inactivity), as an example, the ranking of multiple service nodes is updated (to relatively lower the priority of service nodes with relatively high load and relatively raise the priority of service nodes with relatively high load). This can be implemented using a multi-dimensional health factor scheduling algorithm, with the following formula:

[0179]

[0180] in, Prioritize service nodes that are in the first load state after adjusting their load status; Priority for the initial service nodes; The utilization rate of the central processing unit (CPU) resources of the service node; The memory resource utilization rate of the service node; Network resource utilization rate of service nodes; This is used to indicate the running status of a service node (e.g., whether the process is responsive or not). This refers to the CPU resource weighting coefficient. This refers to the weighting coefficient for memory resources. This refers to the network resource weighting coefficient. The runtime status weight coefficient is used to set different priority weights for each detection item (including CPU resource utilization, memory resource utilization, network resource utilization, and runtime status).

[0181] The above formula enables dynamic adjustment of service node priorities. Table 2 shows the priority adjustment strategy for different detection items with attached floating IPs.

[0182] Table 2

[0183]

[0184] Furthermore, through the synchronization module, data processing requests are synchronized to the auxiliary cluster to obtain auxiliary output corresponding to the auxiliary cluster. This includes: when there are multiple synchronization modules, determining the module stability characteristics corresponding to each of the multiple synchronization modules; determining the target module based on the module stability characteristics corresponding to each of the multiple synchronization modules, wherein the target module is the synchronization module among the multiple synchronization modules whose module stability characteristics are predetermined; and synchronizing the data processing requests to the auxiliary cluster through the target module to obtain auxiliary output corresponding to the auxiliary cluster. For example, the reliability of the proxy can be enhanced by building a proxy cluster for the proxy modules. After the proxy modules build the proxy cluster, they can also be equipped with two floating IPs, one for southbound and one for northbound communication with the original cluster and the functionally equivalent cluster. Based on the module stability characteristics of the proxy modules in the proxy cluster, the proxy modules used for proxying are determined.

[0185] The following description, with specific examples, will further illustrate this point.

[0186] 1) The target ONOS cluster has four floating IPs: VIP1, VIP2, VIP3, and VIP4, which are the northbound and southbound VIPs of the original cluster and the northbound and southbound VIPs of the functionally equivalent cluster, respectively. VIP1 and VIP2 are used for communication between the operation and management platform and the devices and the original cluster, and are known to the outside world; VIP3 and VIP4 are used for communication between the northbound proxy and the southbound proxy and the functionally equivalent cluster, respectively, and only operate within the target ONOS cluster, not known to the outside world.

[0187] 2) Each ONOS node in the target ONOS cluster has four components installed: HA, load balancer, ONOS, and traffic probe. HA is responsible for creating a high-availability system, managing floating IPs, and ensuring automatic failover when an ONOS node with a floating IP fails. The load balancer is responsible for load balancing incoming traffic, distributing it to each ONOS node according to specific strategies (e.g., round-robin, weighted round-robin, least connections, IP hashing, etc.). ONOS provides a high-performance, scalable, and flexible network control platform service. The traffic probe controls network traffic in and out, implementing network security and optimization functions such as traffic control, access restriction, and address translation.

[0188] 3) High-security ONOS clusters (i.e., the target ONOS cluster) architectures can utilize various methods to implement HA and load balancers. Common solutions include multi-protocol load balancing architectures and service discovery-based dynamic load balancing architectures. In containerized deployment scenarios, container cluster orchestration tools and container orchestration and management platforms provide native high availability and load balancing capabilities, eliminating the need to install HA and load balancers.

[0189] 4) Northbound Request Process: The operation and management platform accesses the network through VIP1 and the load balancing service port. The load balancer on the ONOS node with VIP1 distributes the HTTPS request to the ONOS node (such as ONOS-1, ONOS-2, ONOS-3) in the original cluster for processing. While processing the HTTPS request, the ONOS node in the original cluster also copies the request and forwards it to the northbound proxy. The northbound proxy uses VIP3 and the load balancing service port to forward the request to the functionally equivalent cluster. The load balancer on the ONOS node with VIP3 distributes the request to the ONOS node (denoted as ONOS-b, such as ONOS-1b, ONOS-2b, ONOS-3b) in the functionally equivalent cluster for processing.

[0190] 5) Southbound Device Access Process: The device accesses the original cluster through VIP2 and the load balancing service port. The load balancer on the node with VIP2 is used to distribute the request to the ONOS node on the corresponding ONOS node in the original cluster for processing. While processing the device access request, the ONOS node in the original cluster will also copy the request and forward it to the southbound proxy. The southbound proxy uses VIP4 and the load balancing service port to simulate device access and send the request to the functionally equivalent cluster. The load balancer on the ONOS node with VIP4 distributes the request to the ONOS node on the corresponding ONOS node in the functionally equivalent cluster for processing.

[0191] 6) Southbound P4 Connection Establishment and Flow Table Distribution Process: After a device connects to an ONOS node, the ONOS node automatically sends a P4 request to the device to establish a connection. In the original cluster, each ONOS node directly establishes a P4 connection with the device. When the device comes online, it responds to the P4 request sent by the ONOS node in the original cluster. Upon receiving the response, the ONOS node updates the device's status information, and the connection is successfully established. Simultaneously, the traffic probe on the ONOS node copies the response traffic and sends it to the southbound proxy for caching. In a functionally equivalent cluster, each ONOS node does not establish a P4 connection with the device. The traffic probe on the ONOS node forwards traffic destined for the device to the southbound proxy. The southbound proxy uses the cached response traffic to simulate the device's capabilities, constructs a P4 response, and establishes a connection with the ONOS node in the functionally equivalent cluster. The process of the ONOS node distributing flow tables to the device is similar.

[0192] 7) To minimize the risk of southbound and northbound requests being received by the same load balancer, thus avoiding excessive load on the ONOS node, VIP1 and VIP3 are mounted on the first ONOS node of their respective clusters by default, while VIP2 and VIP4 are mounted on the last ONOS node of their respective clusters by default. Both clusters use multi-floating IP management and failover strategies to manage VIP mounting. The load balancing strategy is set to use the default Round Robin strategy, with northbound VIPs being round-robin in the order of node execution (1, 2, 3), and southbound VIPs being round-robin in the order of node execution (3, 2, 1). When an ONOS node fails, the southbound and northbound VIP mounting node transfer order also follows this sequence. (Using the original cluster as an example...) Figure 7 This is a schematic diagram illustrating the floating IP access polling order and the floating IP mounting and transfer order in the optional embodiments of the present invention, as shown below. Figure 7 As shown, this illustrates the order of request load balancing polling and floating IP mount transfer in fault scenarios.

[0193] 8) Extended architecture: Figure 8 This is a schematic diagram of the extended architecture of a high-security ONOS cluster in an optional embodiment of the present invention, such as... Figure 8 As shown, in the architecture of the target ONOS cluster, both the ONOS nodes in the original cluster and the ONOS nodes in the functionally equivalent cluster use a clustering approach to enhance system reliability. Based on this, the reliability of the proxy can be enhanced by forming a cluster for the proxy module. After the proxy module forms a cluster, it can also mount two floating IPs, one for southbound and one for northbound communication with the original cluster and the functionally equivalent cluster.

[0194] The above optional implementation methods can achieve at least the following beneficial effects:

[0195] (1) Compared with related technologies, the present invention clarifies the range of service nodes corresponding to the request based on the target communication address corresponding to the data processing request, and then determines the node processing operation for each service node in combination with its running status according to the arrangement of multiple service nodes under the communication address. By verifying the nodes by position until the target conditions are met, the target nodes that are stable and have suitable load are accurately selected, so as to avoid data processing interruption or error due to unstable operation of service nodes. Finally, the target output is determined based on the target node and the data processing request, so as to realize the reliable execution of cluster data processing.

[0196] (2) Compared with related technologies, the present invention can accurately identify service nodes with excessive resource consumption or multiple address conflicts by determining the node load status of the service node and judging whether it is in the first load status (node ​​load index is too high) or the second load status (mounted other communication addresses). This helps to ensure that data processing requests are only allocated to service nodes with sufficient resources and no address mounting conflicts, thereby avoiding data processing interruptions or errors caused by service node overload or communication address conflicts, and improving the efficiency and reliability of data processing of the target cluster.

[0197] (3) Compared with related technologies, the present invention can accurately assess the operational stability of each service node by determining multiple predetermined data corresponding to multiple service nodes and calculating the operational stability index based on these data; and can dynamically adjust the node priority by updating the ranking of service nodes according to the operational stability index, so as to ensure that nodes with higher stability are prioritized in subsequent data processing requests, thereby improving the overall reliability and processing efficiency of the cluster and avoiding data processing failure or delay due to node instability.

[0198] (4) Compared with related technologies, this invention achieves state synchronization between the original cluster and the auxiliary cluster by obtaining the original cluster communication response parameters under the premise of parameter synchronization including state synchronization, detecting the auxiliary connection request status of the auxiliary cluster to the virtual device end in the synchronization module, and simulating the original device end to feed back communication response parameters when the request is detected, so as to ensure the consistency of the dual cluster operating environment corresponding to the original cluster and the auxiliary cluster, and provide a reliable state basis for subsequent data processing request synchronization and same source verification output.

[0199] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the present invention is not limited to the described order of actions, because according to the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.

[0200] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of the present invention.

[0201] Example 2

[0202] According to another aspect of the present invention, an electronic device is also provided, comprising: a processor; and a memory for storing processor-executable instructions, wherein the processor is configured to execute instructions to implement the data processing method described above.

[0203] Example 3

[0204] According to another aspect of the present invention, a computer-readable storage medium is also provided, which, when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform any of the above-described data processing methods.

[0205] Example 4

[0206] According to another aspect of the present invention, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps of any of the above-described data processing methods.

[0207] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0208] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0209] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0210] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.

[0211] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0212] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A data processing method, characterized in that, include: Obtain a data processing request, wherein the data processing request carries a target communication address, which is a communication address used to match the corresponding service node in the target cluster; Determine the execution order of the nodes corresponding to the target communication address in the target cluster, wherein the node execution order is used to represent the execution order of multiple service nodes included in the target cluster; According to the execution order of the plurality of service nodes, based on the node running state of any one of the plurality of service nodes, a node processing operation corresponding to any one of the service nodes is executed to obtain a node processing result corresponding to any one of the service nodes, until a target condition is reached and a target processing result is obtained. The node processing operation includes at least one of fault determination operation and load determination operation. The target condition includes any one of the following: the plurality of service nodes have completed execution, the load determination result is that the node load state of any one of the service nodes is not a predetermined load state, and the load determination result is the determination result corresponding to the load determination operation. Based on the target processing result, the target node is determined from the plurality of service nodes; Based on the data processing request and the target node, determine the target output.

2. The method according to claim 1, characterized in that, When the node processing operation includes the load determination operation, the node processing operation corresponding to any one of the service nodes is executed to obtain the node processing result corresponding to any one of the service nodes, including: Determine whether the node load state corresponding to any one of the service nodes is a first load state, wherein the first load state is the node load state corresponding to when the node load index of any one of the service nodes is greater than or equal to the node load threshold, and the predetermined load state includes the first load state. Based on the load determination result corresponding to the node load status, determine the node processing result corresponding to any one of the service nodes.

3. The method according to claim 1, characterized in that, When the node processing operation includes the load determination operation, the step of executing the node processing operation corresponding to any one of the service nodes and obtaining the node processing result corresponding to any one of the service nodes includes: In the case that the target cluster includes multiple floating communication addresses, it is determined whether the node load state corresponding to any one of the service nodes is a second load state, wherein the second load state is the node load state corresponding to when at least one other communication address is attached to any one of the service nodes, and the other communication address is another floating communication address other than the target communication address among the multiple floating communication addresses. Based on the load determination result corresponding to the node load status, determine the node processing result corresponding to any one of the service nodes.

4. The method according to claim 1, characterized in that, When the node processing operation includes the load determination operation, the node processing result corresponding to any one of the following is included: First processing result, second processing result; The first processing result is the processing result corresponding to the case where the load determination result indicates that the node load state is a predetermined load state. It is used to perform a node migration operation on any one of the service nodes and, according to the node execution order of the plurality of service nodes, traverse the next service node corresponding to any one of the service nodes to determine the node processing result corresponding to the next service node. The node migration operation includes skipping any one of the service nodes. The second processing result is the processing result corresponding to the case where the load determination result indicates that the node load state is not a predetermined load state. It is used as the target processing result.

5. The method according to claim 4, characterized in that, In the case that the target cluster includes multiple floating communication addresses, performing a node migration operation on any one of the service nodes includes: According to the execution priority constraints of the node migration operations corresponding to the plurality of floating communication addresses, a node migration operation is performed on any one of the service nodes, wherein the plurality of floating communication addresses includes the target communication address.

6. The method according to claim 1, characterized in that, In the case where the target cluster includes multiple floating communication addresses, the multiple floating communication addresses correspond to different node execution orders, wherein the multiple floating communication addresses include the target communication address.

7. The method according to claim 6, characterized in that, When the multiple floating communication addresses are two floating communication addresses, the node execution order of either floating communication address is the reverse of the node execution order of the other floating communication address.

8. The method according to claim 1, characterized in that, After determining the target output based on the data processing request and the target node, the process further includes: Determine multiple predetermined item data corresponding to the multiple service nodes respectively, wherein the multiple predetermined item data are data corresponding to multiple predetermined items in advance, and the multiple predetermined items are items whose characterization index of the operational stability of the service node is greater than or equal to the characterization threshold. Based on the multiple predetermined data corresponding to the multiple service nodes, determine the operational stability index corresponding to each of the multiple service nodes; Based on the operational stability index corresponding to each of the multiple service nodes, the ranking of each of the multiple service nodes is updated to obtain the updated ranking of each of the multiple service nodes corresponding to the target communication address.

9. The method according to claim 1, characterized in that, Determining the target output based on the data processing request and the target node includes: In the case where the target cluster includes an original cluster, an auxiliary cluster, and a synchronization module, the data processing request is synchronized to the auxiliary cluster through the synchronization module to obtain an auxiliary output corresponding to the auxiliary cluster. The original cluster includes the multiple service nodes, the auxiliary cluster is functionally equivalent to the original cluster, the auxiliary cluster is used for internal interaction of the target cluster, and the synchronization module is used to realize parameter synchronization between the original cluster and the auxiliary cluster. The parameter synchronization includes data processing request synchronization. The data processing request is input to the target node to obtain the original output corresponding to the original cluster. Based on the auxiliary output and the original output, determine the target output corresponding to the data processing request.

10. The method according to claim 9, characterized in that, Before synchronizing the data processing request to the auxiliary cluster and obtaining the auxiliary output corresponding to the auxiliary cluster, the method further includes: When the parameter synchronization includes state synchronization, the state parameters corresponding to the original cluster are obtained. The state parameters include communication response parameters, which are parameters initiated by the original device to respond to the original connection request. The original connection request is used to request the establishment of a communication connection between the original cluster and the original device. The original device is used to initiate a data processing request. The system detects whether the auxiliary cluster sends an auxiliary connection request to the virtual device and obtains the detection result. The auxiliary connection request is used to request the establishment of a communication connection between the auxiliary cluster and the virtual device. The synchronization module includes the virtual device, and the virtual device is functionally equivalent to the original device. If the detection result indicates that the auxiliary cluster sends an auxiliary connection request to the virtual device, the communication response parameters are sent to the auxiliary cluster through the virtual device to obtain the state-synchronized auxiliary cluster.

11. The method according to claim 9, characterized in that, The step of synchronizing the data processing request to the auxiliary cluster through the synchronization module to obtain the auxiliary output corresponding to the auxiliary cluster includes: When there are multiple synchronization modules, determine the module stability characteristics corresponding to each of the multiple synchronization modules; Based on the module stability characteristics corresponding to the plurality of synchronization modules, a target module is determined, wherein the target module is the synchronization module among the plurality of synchronization modules whose module stability characteristics are predetermined stability characteristics; The target module synchronizes the data processing request to the auxiliary cluster to obtain the auxiliary output corresponding to the auxiliary cluster.

12. The method according to any one of claims 1 to 11, characterized in that, When the node processing operation includes the fault determination operation, the step of executing the node processing operation corresponding to any one of the plurality of service nodes based on the node running state of any one of the service nodes, and obtaining the node processing result corresponding to any one of the service nodes, includes: Determine whether the node running state of any one of the service nodes is a predetermined running state, wherein the predetermined running state is the running state of any one of the service nodes when the node failure index is greater than or equal to the node failure threshold. If the state determination result corresponding to the node running state is that the node running state of any service node is not a predetermined running state, the load determination operation corresponding to the service node is performed to obtain the node processing result corresponding to the service node.

13. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the data processing method as described in any one of claims 1 to 12.

14. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are executed by the processor of the electronic device, the electronic device is able to perform the data processing method as described in any one of claims 1 to 12.

15. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the steps of the data processing method as described in any one of claims 1 to 12.