Communication path determination method and device, computer equipment and storage medium
By updating the node characteristics and path selection of the relay node in the SDWAN environment, optimizing the transmission of DHCPv6 requests, the network delay problem caused by DHCPv6 relay devices is solved, and communication efficiency and network performance are improved.
Patent Information
- Application Number
- CN202510710872.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-29
- Publication Date
- 2025-07-18
AI Technical Summary
In the SDWAN environment, when the DHCPv6 relay device forwards requests across different network areas, it causes network delay problems, affecting the communication efficiency between the DHCPv6 client and the server.
By acquiring the current graph structure of the communication network system, the node characteristics of the relay node are updated, the candidate communication path is determined based on the neighbor node and edge characteristics, and the target communication path is selected according to the forwarding delay to optimize the transmission of network configuration requests.
Improve the communication efficiency between the target client device and the server, dynamically adjust the network status, reduce latency, and optimize network performance.
Smart Images

Figure CN120342945A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network communication technology, and in particular to a communication path determination method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] SDWAN (Software-Defined Wide Area Network) enables enterprises / organizations to securely connect users, applications, and data across multiple locations, providing centralized network management for enterprises / organizations and simplifying network configuration and monitoring. For enterprises / organizations using SDWAN, the use of IPv6 (Internet Protocol Version 6) can provide sufficient address space for enterprises / organizations. On this basis, DHCPv6 (Dynamic Host Configuration Protocol version 6) is usually used to manage and allocate IPv6 addresses.
[0003] In large, complex distributed networks, the use of DHCPv6 relay devices can allow DHCPv6 requests to be passed between different subnets, allowing client devices across multiple locations to effectively obtain IPv6 addresses; however, in the SDWAN environment, when relay devices forward DHCPv6 requests between different locations and subnets, there is a problem of network latency, resulting in low communication efficiency between DHCPv6 clients and servers. Summary of the invention
[0004] Based on this, it is necessary to provide a communication path determination method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve communication efficiency in response to the above technical problems.
[0005] In a first aspect, the present application provides a communication path determination method, which is applied to a communication network system including a client device, a server device, and at least one relay device, wherein the client device communicates with the server device through the relay device; comprising:
[0006] In the case where a target client device in the communication network system initiates a network configuration request, obtaining a current graph structure of the communication network system; the current graph structure includes network nodes and connection edges between the network nodes, the network nodes include client nodes representing the client devices, server nodes representing the server devices, and relay nodes representing the relay devices, and the connection edges are used to represent communication links between the connected network nodes;
[0007] For each relay node in the current graph structure, based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, update the node features of the targeted relay node in the current graph structure to obtain an updated graph structure; the neighbor node features are the node features of neighbor network nodes connected to the targeted relay node, and the neighbor edge features are the edge features of the connection edges between the targeted relay node and the neighbor network nodes;
[0008] Based on the updated graph structure, determine at least one candidate communication path for communicating with the target client device;
[0009] According to the forwarding delay of the candidate communication paths, determine a target communication path from the candidate communication paths, and communicate with the target client device based on the target communication path.
[0010] In one embodiment, the step of, for each relay node in the current graph structure, based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, updating the node features of the targeted relay node in the current graph structure to obtain an updated graph structure includes:
[0011] For each relay node in the current graph structure, determine the neighbor network nodes connected to the targeted relay node and the connection edges between the targeted relay node and the neighbor network nodes according to the current graph structure;
[0012] Extract the device type information carried in the network configuration request, and aggregate the node features of the targeted relay node according to the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges to obtain the updated node features of the targeted relay node;
[0013] Update the current graph structure according to the updated node features of each of the targeted relay nodes to obtain an updated graph structure.
[0014] In one embodiment, the step of aggregating the node features of the targeted relay node according to the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges to obtain the updated node features of the targeted relay node includes:
[0015] According to the influence degrees of each of the neighbor network nodes and each of the connection edges on the forwarding delay of the targeted relay node, respectively determine the attention weights corresponding to each of the neighbor network nodes and each of the connection edges;
[0016] According to the attention weights corresponding to each of the neighbor network nodes and each of the connection edges, perform weighted aggregation on the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges to obtain the updated node features for the targeted relay node.
[0017] In one embodiment, the determining a target communication path from the candidate communication paths according to the forwarding delay of the candidate communication paths and communicating with the target client device based on the target communication path includes:
[0018] Determine the communication prediction data of the at least one candidate communication path according to the historical communication data and the real-time communication data of at least one relay node in the at least one candidate communication path;
[0019] According to each of the communication prediction data, determine a target communication path that supports communication of the target client device from the at least one candidate communication path, and communicate with the target client device based on the target communication path.
[0020] In one embodiment, the method further includes:
[0021] Obtain the real-time load data of the relay nodes corresponding to each of the target communication paths, and perform statistical analysis on each of the real-time load data to obtain communication statistical parameters of a communication array including each of the real-time load data;
[0022] In a case where the communication statistical parameters do not meet the load balancing condition, based on the communication statistical parameters and each of the real-time load data, reallocate the real-time load data of the relay nodes corresponding to each of the target communication paths.
[0023] In one embodiment, the method further includes:
[0024] Obtain the historical device status information corresponding to the client device, the server device, and at least one relay device in the communication network system, and the historical link status information corresponding to each communication link for communicating between the client device and the server device;
[0025] Perform feature extraction on the historical device status information and the historical link status information respectively to obtain the node features corresponding to each of the network nodes and the edge features of the connection edges;
[0026] Determine the current graph structure according to the network topology structure of the communication network system and the node features of the network nodes and the edge features of the connection edges.
[0027] Second aspect, the present application further provides a communication path determination device, which is applied to a communication network system including a client device, a server device, and at least one relay device, and the client device communicates with the server device through the relay device; the device includes:
[0028] A graph structure acquisition module, configured to acquire the current graph structure of the communication network system when a target client device in the communication network system initiates a network configuration request; the current graph structure includes network nodes and connection edges between each of the network nodes, and the network nodes include client nodes representing the client device, server nodes representing the server device, and relay nodes representing the relay device, and the connection edges are used to represent communication links between the connected network nodes;
[0029] A graph structure update module, configured to, for each relay node in the current graph structure, update the node feature of the targeted relay node in the current graph structure based on the network configuration request, neighbor node features associated with the targeted relay node, and neighbor edge features, to obtain an updated graph structure; the neighbor node features are node features of neighbor network nodes connected to the targeted relay node, and the neighbor edge features are edge features of the connection edge between the targeted relay node and the neighbor network node;
[0030] A path determination module, configured to determine at least one candidate communication path for communicating with the target client device based on the updated graph structure;
[0031] A path selection module, configured to determine a target communication path from the candidate communication paths according to the forwarding delay of the candidate communication paths, and communicate with the target client device based on the target communication path.
[0032] Third aspect, the present application further provides a computer device, including a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, the steps of the above method are implemented.
[0033] Fourth aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above method are implemented.
[0034] Fifth aspect, the present application further provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.
[0035] The above method, device, computer device, computer-readable storage medium, and computer program product for determining a communication path of a relay device are applied to a communication network system including a client device, a server device, and at least one relay device. The client device communicates with the server device through the relay device. The method includes: when a network configuration request is initiated by a target client device in the communication network system, obtaining the current graph structure of the communication network system; the current graph structure includes network nodes and connection edges between each network node. The network nodes include client nodes representing client devices, server nodes representing server devices, and relay nodes representing relay devices. The connection edges are used to represent the communication links between the connected network nodes; for each relay node in the current graph structure, based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, updating the node features of the targeted relay node in the current graph structure to obtain an updated graph structure; the neighbor node features are the node features of the neighbor network nodes connected to the targeted relay node, and the neighbor edge features are the edge features of the connection edges between the targeted relay node and the neighbor network nodes; based on the updated graph structure, determining at least one candidate communication path for communicating with the target client device; according to the forwarding delay of the candidate communication paths, determining a target communication path from the candidate communication paths, and communicating with the target client device based on the target communication path.
[0036] By obtaining the current graph structure of the communication network system and determining the node features of each network node and the edge features of each connection edge in the current graph structure, it is possible to update the node features of the relay node based on the connection relationships between each client node, server node, and relay node, and based on each node feature and each edge feature, and thereby determine the updated graph structure, which can comprehensively analyze the network state of the communication network system, so that the current graph structure can be dynamically adjusted as the network state changes, which is conducive to truly reflecting the current network situation. Subsequently, in combination with the updated graph structure, it is possible to determine the target communication path for communicating with the target client device according to the forwarding delay of each candidate communication path, which is conducive to improving the communication efficiency between the target client device and the server. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following will briefly introduce the drawings required for describing the embodiments of the present application or related technologies. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.
[0038] Figure 1 It is an application environment diagram of the communication path determination method in an embodiment;
[0039] Figure 2 It is a schematic flowchart of a communication path determination method in an embodiment;
[0040] Figure 3 It is a schematic diagram of a graph structure in an embodiment;
[0041] Figure 4 It is a schematic diagram of the weights of each network node and connection edge in the graph structure in an embodiment;
[0042] Figure 5 It is a schematic flowchart of a communication path determination method in another embodiment;
[0043] Figure 6 It is a structural block diagram of a communication path determination device in an embodiment;
[0044] Figure 7 It is an internal structure diagram of a computer device in an embodiment. Detailed implementation manners
[0045] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0046] With the increasing requirements of modern enterprises for network performance and reliability, SDWAN has gradually become an important tool for optimizing wide area network connections. Due to reasons such as the wide popularity of IPv4, device compatibility, existing network architectures, and dependencies of application programs, most current SDWANs still use IPv4. However, with the rapid increase in the number of Internet devices, the traditional IPv4 address space is becoming increasingly exhausted, prompting the Internet community to start turning to IPv6 to obtain an almost unlimited address space. IPv6 not only expands the address space but also brings new features and significant improvements in network routing and security. Therefore, for enterprises using SDWAN, adopting IPv6 can obtain a large amount of address space.
[0047] DHCPv6 allows administrators to centrally manage the network configurations of devices. It can not only effectively manage and allocate IPv6 addresses, but also simplify the IPv6 address allocation process, which helps improve the efficiency and flexibility of network management, ensures that all devices in the SDWAN network obtain valid IPv6 addresses and keeps the network running properly. It can be used in an IPv6 network environment to automatically allocate necessary configuration information to network devices so that the network devices can communicate smoothly. Due to the complex network topologies of most enterprises, in a large distributed network, to simplify the communication between various network devices, enable DHCPv6 requests to be transmitted between different subnets, and allow devices across multiple locations or branches to effectively obtain IPv6 addresses, a DHCPv6 relay device is usually used to shorten the address application process when network devices start up, improve the overall network response speed, and make the IP (Internet Protocol) address allocation more organized, reducing the possibility of address conflicts.
[0048] However, in the SDWAN environment, the use of DHCPv6 relay devices may cause latency problems. DHCPv6 relay devices need to forward DHCPv6 requests across different network regions or subnets, so they are affected by network latency. When the link quality is poor or the network is congested, it will have a greater impact on the customer experience. At the same time, the security policies introduced in SDWAN (such as deep packet inspection and traffic encryption) may increase additional latency under high-traffic or complex network conditions. In addition, the network topology in the SDWAN environment is dynamically changing, and traditional latency detection methods often cannot reflect the network status in real time, leading to the exacerbation of latency problems. In the SDWAN environment, due to the dynamic selection of multiple links and the complexity of the network topology, DHCPv6 relay faces latency problems, affecting the overall network performance and user experience.
[0049] Based on the above, the communication path determination method provided in the embodiments of the present application can be applied to an application environment as Figure 1 shown. Figure 1The communication network system therein includes a client device 102, a server device 104, and at least one relay device 106. The client device 102 communicates with the server device 104 through the relay device 106. When the target client device in the communication network system initiates a network configuration request to the server device 104 through the relay device 106, the server device 104 obtains the current graph structure of the communication network system. The current graph structure includes network nodes and connection edges between each network node. The network nodes include client nodes representing client devices, server nodes representing server devices, and relay nodes representing relay devices. The connection edges are used to represent the communication links between the connected network nodes. For each relay node in the current graph structure, the server device 104 updates the node features of the targeted relay node in the current graph structure based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, to obtain an updated graph structure. The neighbor node features are the node features of the neighbor network nodes connected to the targeted relay node, and the neighbor edge features are the edge features of the connection edges between the targeted relay node and the neighbor network nodes. The server device 104 determines at least one candidate communication path for communicating with the target client device 102 based on the updated graph structure. The server device 104 determines a target communication path from the candidate communication paths according to the forwarding delay of the candidate communication paths, and communicates with the target client device based on the target communication path.
[0050] Among them, the client device 102 can be, but is not limited to, various personal computers, laptop computers, smart phones, tablet computers, Internet of Things devices, and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, projection devices, etc. The portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The head-mounted devices can be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. The server device 104 can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0051] In an exemplary embodiment, as Figure 2 shown, a communication path determination method is provided. Taking the method applied to the Figure 1 server device therein as an example for illustration, it can be understood that this method can also be applied to Figure 1The client device 102 or the relay device 104 in the embodiment can also be applied to a network communication system including the client device 102, the server device 104 and the relay device 106, and is implemented through the interaction between the client device 102, the server device 104 and the relay device 106. The method of this embodiment includes the following steps 202 to 206. Among them:
[0052] Step 202: When a target client device in the communication network system initiates a network configuration request, a current graph structure of the communication network system is obtained.
[0053] Among them, the communication network system refers to a communication network that can be formed by connecting multiple different types of network devices. In the SDWAN network environment, the network devices may include but are not limited to client devices, server devices and at least one relay device. Each relay device can be connected to the client device and the server device by wire or wirelessly to achieve communication between the client device and the server device. SDWAN is an architecture that applies software-defined network (SDN) technology to wide area networks (WANs). By separating the network control plane from the data forwarding plane, network administrators can centrally manage and configure network devices in multiple branches or remote sites in the wide area network through a centralized controller.
[0054] Client devices refer to terminal devices that initiate network configuration requests, communication requests, etc. and use network services in a communication network system. In the SDWAN network environment, client devices can be personal computers, smart phones, tablet computers, IoT devices, etc. By obtaining network configuration (such as IPv6 addresses), client devices can connect to the network and access resources on the server. Server devices refer to devices that provide services to client devices in a communication network system. In the SDWAN network environment, server devices can be Web (World Wide Web) servers, file servers, database servers, etc. Server devices usually have fixed IPv6 addresses and can process requests from client devices and return corresponding data or services. Relay devices refer to devices used to forward requests and data in a network communication system. In the SDWAN network environment, relay devices can usually be implemented using routers or switches. Relay devices can use the DHCPv6 relay function to forward the network configuration request (mainly DHCPv6 request) message of the client device to the subnet where the correct server device (such as a DHCPv6 server) is located, and forward the response message of the server device back to the subnet where the client device is located, thereby realizing the automatic allocation of the IPv6 address of the client device.
[0055] The target client device refers to the client device in a communication network system that needs to obtain network configuration and communicate with the server device. When the target client device connects to the network, it initiates a network configuration request to the server device through a relay device to obtain network configuration parameters including IPv6 addresses, etc., so as to be able to access the network normally and access resources and data on the server device. For example, a laptop used by an enterprise employee can become a target client device after connecting to the enterprise SDWAN network. The network configuration request is a request sent by the target client device to the server device to request the acquisition of network configuration parameters. In the SDWAN network environment, through the DHCPv6 protocol, the client device can send a network configuration request to obtain network configuration information such as IPv6 addresses, subnet prefixes, default gateways, DNS (Domain Name System) server addresses, etc.
[0056] The current graph structure refers to the data structure that abstracts and visually represents the communication network system in the form of a graph. In the SDWAN network environment, the current graph structure can clearly show the connection relationships and topological structures among various network devices in the communication network system. Through the current graph structure, the communication links among the client device, the server device, and the relay device can be intuitively understood.
[0057] As Figure 3 shown, the current graph structure includes network nodes and the connection edges between various network nodes. Network nodes are the basic elements in the current graph structure and represent various network devices in the communication network system. In the SDWAN network, network nodes include client nodes, server nodes, and relay nodes. The client node refers to the node in the current graph structure used to represent the client device; in the SDWAN network, the client node is connected to other nodes (such as relay nodes) through connection edges to form a communication path between the client device and other devices. The server node is the node in the current graph structure used to represent the server device; in the SDWAN network, the server node is connected to other nodes (such as relay nodes) through connection edges to receive requests from the client device through the relay device and return responses. The relay node is the node in the current graph structure used to represent the relay device; in the SDWAN network, the relay node is connected between the client node and the server node to be responsible for forwarding data between different subnets to ensure that the client device can communicate with the server device.
[0058] A communication link is the actual physical or logical connection used for data transmission between network nodes. In an SDWAN network, the communication link can be a wired link (such as an optical fiber, Ethernet cable) or a wireless link (such as Wi-Fi, 4G / 5G). The quality and performance of the communication link directly affect the efficiency and reliability of data transmission. For example, indicators such as the link bandwidth, latency, and packet loss rate. A connection edge is used to represent the communication link between the connected network nodes to reflect the physical or logical connection relationship between the network nodes. In an SDWAN network, corresponding to the communication link, the connection edge can also be a wired link (such as an optical fiber, Ethernet cable) or a wireless link (such as Wi-Fi, 4G / 5G). The connection edge can have attribute information such as bandwidth, latency, and packet loss rate. For example, if two adjacent relay nodes are connected by an optical fiber, this connection edge represents the communication link between the two relay nodes and has corresponding bandwidth and latency attributes.
[0059] Exemplarily, in the case where the target client device has a network configuration requirement, the target client device sends a network configuration request to the server device through a relay device. The server device can obtain the network configuration request initiated by the target client device of the communication network system through the relay device and obtain the current graph structure of the communication network system.
[0060] Step 204, for each relay node in the current graph structure, based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, update the node features of the targeted relay node in the current graph structure to obtain an updated graph structure.
[0061] Among them, the neighbor node features refer to the node features of the neighbor network nodes connected to the targeted relay node. The neighbor node features can be node status information, which is used to represent device status information. The device status information refers to the status information of the relay device represented by the targeted relay node. In an SDWAN network environment, the device status information can be the operating status and attribute information related to various network devices (such as client devices, server devices, relay devices, etc.) in the communication network system to reflect the current working conditions of the network devices. The device status information can include, but is not limited to, the online status, IP address, MAC address, load information, etc. of each network device. The neighbor network nodes are the network nodes directly connected to the targeted relay node; the neighbor network nodes can be client nodes, server nodes, or other relay nodes; for example, if a relay node is connected to three client nodes and one server node, these client nodes and the server node are the neighbor network nodes of this relay node.
[0062] The neighbor edge feature is the edge feature of the connection edge between the targeted relay node and the neighbor network node. The neighbor edge feature is used to describe the link state information of the communication link between the relay node and the neighbor node. The link state information refers to the state information of the communication link represented by the connection edge connected to the targeted relay node; the link state information is used to reflect the quality and performance of each communication link in the network, and the link state information may include, but is not limited to, the bandwidth, delay, reliability, packet loss rate, etc. of the link.
[0063] Updating the node feature of the targeted relay node refers to the process of updating the information such as the bandwidth, delay, packet loss rate, etc. of the relay node in the current graph structure according to the network configuration request, neighbor node feature, and neighbor edge feature. By updating the node feature, the real-time state and connection relationship of the relay node in the network can be more accurately reflected, providing an accurate basis for determining the communication path subsequently. For example, when a certain client device in the communication network system is connected to the relay node, the neighbor node feature of the relay node will change, and at this time, the node feature of the relay node needs to be updated according to these changes.
[0064] The updated graph structure refers to the graph structure obtained after updating the relay node feature in the current graph structure. The updated graph structure contains the updated node feature and the original connection edge information, and can more accurately describe the connection relationship and real-time state between each network device in the communication network system. Through the updated graph structure, the candidate communication path for communicating with the target client device can be more accurately determined. For example, after updating the node feature of the relay node, the reconstructed graph structure can more accurately reflect the connection relationship and state of each network node in the communication network system at the current moment or stage.
[0065] Exemplarily, when the server device receives the network configuration request sent by the client device, it can extract the device type information carried in the network configuration request, such as the node type of the client node, to determine the device type of the client device (such as laptop, mobile phone, etc.); at the same time, the server device can obtain the node state of the neighbor network node connected to the targeted relay node and the edge state of the neighbor edge through the network monitoring device, to determine the device state information corresponding to the device represented by each neighbor network node and the link state information corresponding to the communication link represented by each neighbor edge. Subsequently, the server can update the node feature of the targeted relay node in the current graph structure for each relay node in the current graph structure based on the node type, device state information, and link state information, to obtain the updated graph structure.
[0066] Step 206, based on the updated graph structure, determine at least one candidate communication path for communicating with the target client device.
[0067] Among them, a candidate communication path refers to an optional path that can enable communication between a target client device and a server device based on the updated graph structure. When determining the candidate communication path, the connection relationships of various nodes in the network and the characteristics of the links can be considered to find all paths that can reach the server device from the target client device. Different candidate communication paths can have different performances and characteristics. For example, the length of the path, the number of nodes passed through, the bandwidth and delay of the link, etc.
[0068] Exemplarily, the server device can, based on the updated graph structure, determine multiple candidate communication paths that can support communication between the target client device and the server device.
[0069] Step 208: Determine a target communication path from the candidate communication paths according to the forwarding delay of the candidate communication paths, and communicate with the target client device based on the target communication path.
[0070] Among them, the forwarding delay refers to the time required for a request or data to be transmitted from the target client device to the server device through the communication path, and is used to measure the performance of the communication path. The forwarding delay can be affected by various factors such as link bandwidth, network congestion, and node processing capabilities. When selecting the target communication path, a path with a smaller forwarding delay can be preferentially selected to ensure that data can be transmitted quickly and stably. The target communication path refers to the optimal communication path determined from the candidate communication paths according to the forwarding delay of the candidate communication paths. Generally, the candidate communication path with the smallest forwarding delay can be selected as the target communication path to ensure that data can be quickly and stably transmitted from the target client device to the server device. In some other embodiments, the comprehensive communication requirements of other target client devices can also be comprehensively considered to determine the candidate forwarding path corresponding to an appropriate delay as the target forwarding path, so that after the target communication path is determined, the target client device can communicate with the server device through this path.
[0071] Exemplarily, the server device can respectively determine the forwarding delays of each candidate communication path, and determine the communication path with the smallest forwarding delay among each candidate communication path as the target communication path according to the forwarding delays of the candidate communication paths. Finally, the server device can communicate with the target client device based on this target communication path.
[0072] In an optional embodiment, when the target client device accesses the network for the first time, the target client device may send a network configuration request to the relay device according to the default communication path or a preconfigured communication path, and then the relay device forwards the network configuration request to the server device. After receiving the network configuration request, the server device may update the current graph structure based on the node type carried in the network configuration request and the neighbor node features and neighbor edge features of the current graph structure obtained from the network monitoring device, so as to obtain an updated graph structure. Subsequently, the server device may re-determine the target communication path for the target client device to communicate with the server device in the subsequent communication process based on the updated graph structure, so that the target client device can communicate with the server device according to the determined target communication path in the next communication.
[0073] When the target client device is not accessing the network for the first time, the target client device may send a network configuration request or a communication request to the relay device according to the previous communication process or the target communication path after the previous path update, and then the relay device forwards the network configuration request or the communication request to the server device. The server device may update the current graph structure according to the node type carried in the current request and the neighbor node features and neighbor edge features of the current graph structure obtained from the network monitoring device at the current moment to obtain an updated graph structure, and may determine the target communication path for the target client device in the next communication according to the updated graph structure.
[0074] In the above communication path determination method, by obtaining the current graph structure of the communication network system and determining the node features of each network node and the edge features of each connection edge in the current graph structure, it is possible to update the node features of the relay node based on the connection relationship between each client node, server node and relay node, and based on each node feature and each edge feature, and thereby determine the updated graph structure, which can comprehensively analyze the network state of the communication network system, so that the current graph structure can be dynamically adjusted as the network state changes, which is beneficial to truly reflect the current network condition. Subsequently, in combination with the updated graph structure, it is possible to determine the target communication path for communicating with the target client device according to the forwarding delay of each candidate communication path, which is beneficial to improving the communication efficiency between the target client device and the server.
[0075] In one embodiment, in step 204, for each relay node in the current graph structure, based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, updating the node features of the targeted relay node in the current graph structure to obtain an updated graph structure includes:
[0076] For each relay node in the current graph structure, determine the neighbor network nodes connected to the targeted relay node and the connection edges between the targeted relay node and the neighbor network nodes according to the current graph structure; extract the device type information carried in the network configuration request, and aggregate the node features of the targeted relay node based on the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges, to obtain the updated node features of the targeted relay node; update the current graph structure according to the updated node features of each targeted relay node to obtain the updated graph structure.
[0077] Among them, in the graph structure of the SDWAN network, each relay node has its own node features. Aggregating the node features of the targeted relay node means integrating the features corresponding to each of the relevant neighbor network nodes and neighbor edges of the relay node to generate a new node feature representation that comprehensively considers the relationship between the relay node and the neighbor network nodes, so as to reflect the current state of the relay device represented by the relay node. The aggregation method can include but is not limited to methods such as weighted average and statistical summary. For example, for the link delays between a relay node and multiple neighbor network nodes, the average value of each link delay can be calculated as the link delay feature of the relay node.
[0078] The updated node features of the targeted relay node refer to the features obtained after the aggregation operation on the node features of the relay node, which are the updated node features of the targeted relay node. The updated node features can reflect the state and connection relationship of the relay node at the current moment. For example, the updated node features can show that the current load of the relay node is low, and it is connected to multiple high-performance neighbor nodes with small link delays. Based on the updated node features, the role of the relay node in the network can be reasonably evaluated, so as to select a better communication path. Updating the current graph structure means updating the current graph structure according to the updated node features of each targeted relay node, so that the updated graph structure can more accurately reflect the current state of each relay node and the entire network in the network. For example, if the link delay of a certain relay node increases significantly, when updating the graph structure, the delay attribute of the connection edge between the relay node and the relevant neighbor nodes can be modified.
[0079] Exemplarily, for each relay node in the current graph structure, the server device can determine the neighbor network nodes connected to the targeted relay node in the current graph structure and the connection edges connecting the targeted relay node to each neighbor network node according to the connection relationships of each network node and connection edge in the current graph structure. The server device parses the network configuration request to obtain the device type information carried in the network configuration request, so as to determine the device type (such as laptop, mobile phone, etc.) of the client device represented by the neighbor network node. Subsequently, the server device can aggregate the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges in a weighted average manner to obtain the node features of the targeted relay node, and use the aggregated node features as the new features of the targeted relay node and assign them to the targeted relay node. Finally, the server device can update the current graph structure according to the updated node features of each targeted relay node to obtain the updated graph structure.
[0080] In this embodiment, by aggregating the neighbor network node features and connection edge features connected to each relay node to obtain new node features, the node features of the relay nodes can be updated more accurately, fully considering the association information of each node in the communication network system, making the node features better reflect their actual states and roles in the network, and dynamically updating the current graph structure based on the new node features, which can enable the updated graph structure to adapt to the changes of the communication network system in real time, ensure that the graph structure is always consistent with the actual situation of the network, and is conducive to dynamically determining the communication path between the client device and the server device according to the actual situation of the network.
[0081] In one embodiment, aggregating the node features of the targeted relay node according to the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges to obtain the updated node features of the targeted relay node includes:
[0082] Respectively determining the attention weights corresponding to each neighbor network node and each connection edge according to the influence degrees of each neighbor network node and each connection edge on the forwarding delay of the targeted relay node; performing weighted aggregation on the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges according to the attention weights corresponding to each neighbor network node and each connection edge to obtain the updated node features of the targeted relay node.
[0083] Among them, in the SDWAN network environment, the relay device represented by the relay node is responsible for forwarding data between different sub-networks. The forwarding delay is a measure of the time required for data to be transmitted from a client device through the relay device to a server device, for example. Different neighbor network nodes and connection edges have varying degrees of influence on the forwarding delay of the relay node. For example, if the neighbor network node is a server node corresponding to a high-performance server device, the server device it represents processes data quickly, which may reduce the waiting time required for the relay device to forward requests or data to this server device, thereby reducing the forwarding delay. On the other hand, if the neighbor network node is a client node corresponding to an overloaded client device with weak processing capabilities, it may increase the processing time during data transmission between the relay device and this client device, thus increasing the forwarding delay. In addition, for a communication link, the larger the link bandwidth, the faster the data transmission speed, and theoretically, the smaller the forwarding delay. For example, a high-bandwidth optical fiber link can transmit the same amount of data in a shorter time compared to a low-bandwidth wireless link, thereby reducing the delay of the relay device in forwarding data. The delay characteristics of the link itself directly affect the forwarding delay.
[0084] Attention weights can be used to measure the importance of different neighbor network nodes and different connection edges in terms of their influence on the forwarding delay when the relay node forwards data or requests. In specific implementation, according to the influence degree of each neighbor network node and each connection edge on the forwarding delay of the targeted relay node, the corresponding attention weights of each neighbor network node and connection edge can be determined respectively by analyzing historical data, conducting simulation experiments, or using machine learning algorithms, etc. For example, by collecting a large amount of forwarding delay data of different neighbor network nodes and connection edges in different network states, the factors with greater influence on the forwarding delay can be found through statistical analysis and higher attention weights can be assigned to these factors; while for factors with smaller influence, lower attention weights are assigned.
[0085] Weighted aggregation refers to the process of comprehensively calculating multiple different pieces of information according to the attention weights. In specific implementation, according to the respective attention weights of each neighbor network node and each connection edge, the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges are weighted and aggregated, and the updated node features of the targeted relay node can be obtained. For example, for each feature to be aggregated (such as the load condition in the device status information, the bandwidth in the link status information, etc.), it is multiplied by its corresponding attention weight respectively, and then the weighted feature values are added together to obtain the result of the feature after weighted aggregation.
[0086] Exemplarily, the server device can perform statistical analysis on the data processing capabilities, historical latency conditions of each neighbor network node, and the bandwidth, latency, etc. of each connection edge to determine the attention weights corresponding to each neighbor network node and each connection edge. The server device can add the eigenvalues obtained by multiplying the data corresponding to the device type information, device status information, and link status by the attention weights corresponding to each neighbor network node and each connection edge respectively to obtain the updated node features for the relay node.
[0087] In some alternative embodiments, when determining the attention weights of each neighbor network node and each connection edge, for a relay node connected to multiple levels of nodes, the influence of the secondary neighbor network nodes indirectly connected to the relay node on the relay node can be considered. For example, Figure 4 as shown, the relay node R1 is directly connected to three client nodes C1 to C3 and indirectly connected to the server node S through another relay node R2. At this time, for the relay node R1, its direct neighbor network nodes are C1 to C3 and R2, and S serves as an indirect neighbor network node (secondary neighbor network node).
[0088] When determining the attention weights, the attention weights of the communication links on the relay node R1 can be determined respectively based on the statistical analysis of historical data. Suppose they are 0.2, 0.2, 0.3, and 0.3 respectively. For the connection edge B1 of the communication link L1 between the client node C1 and the relay node R1 and the corresponding client node C1, the attention weights of the connection edge B1 and the client node C1 on the communication link L1 can also be determined respectively according to the statistical analysis of historical data. Suppose they are 0.4 and 0.6 respectively. Based on this, relative to the network centered on the relay node R1, the final attention weight of the connection edge in the communication link L1 is 0.4 * 0.2 = 0.08, and the final attention weight of the client node C1 is 0.6 * 0.2 = 0.12; the communication link L2 between the client node C1 and the relay node R1 and the communication link L3 between the client node C3 and the relay node R1 are similar to the communication link L1. For the connection edges B4 - B5 on the communication link L4 between the relay node R1, the relay node R2, and the server node S, and the relay node R2 and the server node S, the weights can be set again according to the distance from the node to the relay node R1 or the connection layer. For example, the connection edge B4 and the relay node R2 can be regarded as a whole, and the connection edge B5 and the server node S can be regarded as a whole to set weights respectively. The closer the network node and the connection edge are to the relay node R1, the greater the weight, and vice versa. For example, the overall weight of the connection edge B4 and the relay node R2 on the communication link L4 can be set to 0.6, and the overall weight of the connection edge B5 and the server node S on the communication link L4 can be set to 0.4. Based on this, relative to the network centered on the relay node R1, the overall weight of the connection edge B4 and the relay node R2 in this network is 0.6 * 0.3 = 0.18, and the overall weight of the connection edge B5 and the server node S in this network is 0.4 * 0.3 = 0.12. For the respective attention weights of the connection edge B1 and the relay node R2, the determination method in the above communication link L1 can be referred to, which will not be elaborated here. Finally, the attention weights of the client nodes C1 - C3 can be obtained as 0.08, 0.1, and 0.12 respectively, the attention weights of each connection edge B1 - B5 are 0.12, 0.1, 0.18, 0.09, and 0.06 respectively, the attention weight of the relay node R2 is 0.09, and the attention weight of the server node S is 0.06.
[0089] In this embodiment, by weighted aggregating the features of each neighbor network node and connection edge according to the attention weights, various information related to the relay node can be integrated, so as to obtain node features that can accurately reflect the actual state of the relay node, providing more reliable data support for subsequent communication path determination, network optimization, etc., and helping to improve the performance and efficiency of the SDWAN network.
[0090] In one embodiment, determining a target communication path from candidate communication paths according to the forwarding delay of the candidate communication paths, and communicating with a target client device based on the target communication path, includes:
[0091] Determining communication prediction data of at least one candidate communication path according to historical communication data and real-time communication data of at least one relay node in at least one candidate communication path; determining a target communication path that supports communication of the target client device from at least one candidate communication path according to each communication prediction data, and communicating with the target client device based on the target communication path.
[0092] The historical communication data refers to the data generated when a client device communicates with a server device through a relay device in the past period of time, and is used to reflect the operation situation and communication characteristics of the network in a specific past time period. Specifically, the historical communication data can be obtained based on network device logs, network monitoring devices, etc. For example, relay devices (such as routers, switches, etc.) in an SDWAN network will record detailed log information, including data forwarding time, source IP address, destination IP address, packet size, forwarding result (success or failure), etc. For example, a DHCPv6 relay device will record the logs of each DHCPv6 request and response, and record information such as the time when the request is initiated, the MAC address of the client, and the assigned IPv6 address. In some other embodiments, the historical communication data can also be continuously collected through professional network monitoring tools, such as bandwidth utilization rate, latency, packet loss rate, etc. The network monitoring tools can obtain the status information of network devices regularly or in real time and store it to form historical communication data.
[0093] The real-time communication data refers to the data generated by ongoing communication activities in the network at the current moment, and can reflect the current operation state of the communication network system in real time. Specifically, the real-time communication data can be obtained through real-time monitoring tools, device interfaces, etc., such as network traffic analyzers, performance monitors, etc., to obtain network packets in real time and analyze their characteristics and performance metrics. For example, the real-time monitoring tool can obtain the current bandwidth utilization rate, latency, etc. of the relay node in real time. At the same time, the network device itself provides a real-time data interface, and the real-time status information of the device can be obtained through the device interface, such as the traffic and error statistics of the interface.
[0094] Communication prediction data refers to the results obtained by predicting future network communication conditions through specific algorithms or models based on historical communication data and real-time communication data. In specific implementation, the communication prediction data can be obtained by predicting the forwarding delay of each candidate communication path with historical communication data and real-time communication data as inputs based on a pre-trained delay prediction model on the updated graph structure. The pre-trained delay prediction model can predict the forwarding delay based on at least one of methods such as time series analysis, machine learning algorithms, and graph attention networks. For example, using the time series information in historical communication data, such as the variation rules of traffic, delay, etc. over time, to establish a time series model to predict future communication conditions. Another example is to use a graph attention network to learn and train historical communication data, construct a delay prediction model, and use data such as the historical traffic, delay, and packet loss rate of relay nodes to train the delay prediction model to predict the communication prediction data of relay nodes at a future moment.
[0095] Exemplarily, the server device can construct a delay prediction model based on a graph attention network and use historical communication data to train the delay prediction model to obtain a pre-trained delay prediction model. Subsequently, the server device can input the historical communication data and real-time communication data of each relay node in each candidate communication path into the delay prediction model through the pre-trained delay prediction model. Based on the forward propagation of the delay prediction model, the communication prediction data (i.e., the predicted delay data) corresponding to each candidate communication path is output. The server can select the candidate communication path with the smallest delay data from each candidate communication path as the target communication path to support the target client device for communication and communicate with the target client device based on the target communication path.
[0096] In an optional embodiment, when determining the target communication path based on at least one candidate communication path, when there is an intersection or interference of relay devices in the communication paths between different client devices at the same moment, the forwarding order of requests initiated by the relay device for different client devices can be comprehensively determined by considering factors such as the lengths of the two communication paths, the priorities of the client devices, and the priorities of the requests, so as to ensure the orderly and efficient progress of the entire communication process. In addition, after the target communication path is determined, the target communication path can also be compared with the original communication path of the client device, and a suitable communication path can be selected from the two as the communication path for communicating with the client device to compensate for the time consumed by the calculation process of the server device and ensure efficient communication.
[0097] In an optional embodiment, when training the delay prediction model, in addition to using the recorded past delays and bandwidth usage of the DHCPv6 relay device when processing DHCPv6 requests from client devices as training samples, some artificial data can also be generated to assist in the training of the model. For example, traffic generation tools (such as iperf, etc.) can be used to simulate DHCPv6 request and response traffic. Different network load conditions can be simulated by setting parameters such as different request frequencies and packet sizes. Delays can be artificially introduced by configuring the QoS (Quality of Service) policy of the network device, etc., and the response time changes of the DHCPv6 relay device can be observed as data to obtain simulated communication data. In addition, on the DHCPv6 relay device, the timestamps, source addresses, destination addresses, processing times, etc. of each DHCPv6 request and response can be recorded by enabling logging, which can be used as another part of the historical data to train the delay prediction model to improve the prediction accuracy of the model.
[0098] In this embodiment, by determining the communication prediction data of each candidate communication path according to the historical communication data and real-time communication data of at least one relay node in at least one candidate communication path, then determining the target communication path that supports the target client device to communicate from the candidate communication paths according to the communication prediction data, and communicating with the target client device based on the target communication path, the communication efficiency and quality of the network can be effectively improved, and the normal operation of the service can be guaranteed.
[0099] In one embodiment, the communication path determination method further includes:
[0100] Obtain the real-time load data of the respective corresponding relay nodes in each target communication path, and perform statistical analysis on each real-time load data to obtain communication statistical parameters including the communication arrays of each real-time load data; in the case where the communication statistical parameters do not meet the load balancing condition, based on the communication statistical parameters and each real-time load data, reallocate the real-time load data of the respective corresponding relay nodes in each target communication path.
[0101] Among them, the real-time load data refers to the resource occupancy of relay nodes on each target communication path at the current moment. The real-time load data may include, but is not limited to, the CPU (Central Processing Unit) usage rate, memory occupancy rate, bandwidth utilization rate, etc. If the real-time load data is too high, it indicates that the load on the relay device corresponding to this relay node is too large, and the latency for processing requests or data forwarding may be greater. On the contrary, if the real-time load data is too low, it means that the relay device corresponding to this relay node is relatively idle, and the latency for processing requests or data forwarding may be smaller. By statistically analyzing the real-time load data, the load on each communication path can be dynamically adjusted to optimize the overall network performance. Specifically, the real-time load data can be obtained through the monitoring system of the device itself. For example, the usage conditions of its own CPU, memory, bandwidth, etc. can be collected in real time through the monitoring module built into the relay device. The real-time load data can also be collected through the network management system. For example, the network management system can send query instructions to the relay node regularly or in real time to obtain its real-time load data.
[0102] Statistical analysis refers to the process of processing and analyzing the real-time load data of each relay node obtained by using statistical methods. Statistical analysis may include analysis based on mean, extreme value, variance or standard deviation. For example, the maximum and minimum values in the communication array composed of each real-time load data can be determined, such as determining the relay node with the highest bandwidth utilization rate and the lowest one, so as to identify the areas with overloaded or underloaded loads in the network, obtain communication analysis data, and then the overloaded or underloaded relay nodes can be shunted to balance the load of each relay node. Another example is that the variance or standard deviation of the communication array can be calculated to determine the degree of dispersion of the communication array. The larger the variance or standard deviation, the greater the load difference between relay nodes, and the more uneven the network load distribution, which can be used as a quantitative basis for subsequent load redistribution. Communication statistical parameters refer to the quantitative indicators obtained based on the statistical analysis of each real-time load data, which are used to describe the overall characteristics and distribution of the load of relay nodes in the network. The communication statistical parameters may include, but are not limited to, average load, maximum load, minimum load, load variance or standard deviation, etc.
[0103] The load balancing condition refers to a pre-set condition used to determine whether the load of relay nodes in a network is balanced. The load balancing condition can be a load difference threshold. If the difference value between the maximum load and the minimum load in the communication array exceeds the load difference threshold, it can be determined that the load is unbalanced, and then the load on each relay device can be redistributed. For example, a part of the traffic on the relay device with the maximum load can be allocated to the relay device with the minimum load. The load balancing condition can also be an average load threshold. If the average load of the communication array exceeds the average load threshold, it can be determined that the load is unbalanced, and then the load on each relay device can be redistributed. For example, according to the difference between the average load and the average load threshold, the traffic of each relay device can be uniformly scaled.
[0104] Redistribution refers to the process of adjusting the real-time load data of relay nodes in each target communication path when the communication statistical parameters do not meet the load balancing condition, with the aim of making the load of each relay node in the network reach a relatively balanced state. Redistribution can be to migrate a part of the communication traffic on the relay node with an overloaded load to the relay node with a lighter load. For example, by modifying the routing policy, the data packets originally passing through the high-load relay node are forwarded to the low-load relay node. Redistribution can also be to dynamically adjust its resource allocation according to the load situation of the relay node. For example, increase the bandwidth or memory resources for the relay node with an overloaded load, or reduce the resource occupancy of the relay node with a too-light load to improve resource utilization.
[0105] Exemplarily, the server device can obtain the real-time load data of the relay nodes corresponding to each target communication path through the monitoring module of each relay node itself, and combine the real-time load data into a communication array. Subsequently, the server device can use the standard deviation to statistically analyze the communication data to obtain the standard deviation of the communication array. The server device can compare the standard deviation of the communication array with the standard deviation threshold, and when the standard deviation of the communication array does not meet the standard deviation threshold, determine the traffic that needs to be adjusted for each real-time load data according to the difference between each real-time load data and the standard deviation, and redistribute the real-time load data of the relay nodes corresponding to each target communication path based on the traffic that needs to be adjusted.
[0106] In this embodiment, by obtaining the real-time load data and statistically analyzing the real-time load data to obtain the corresponding communication statistical parameters, it can be judged whether the load balancing condition is met based on the communication statistical parameters, so as to quickly and effectively optimize the load distribution of relay nodes in the network and improve the performance and resource utilization of the network when the load balancing condition is not met.
[0107] In one embodiment, as Figure 5As shown, the communication path determination method further includes:
[0108] Step 502, obtain the historical device status information corresponding to each of the client device, the server device, and at least one relay device in the communication network system, and the historical link status information corresponding to each communication link for communication between the client device and the server device.
[0109] Among them, the historical device status information refers to the records of the operating status and attributes of network nodes such as the client device, the server device, and the relay device over a past period of time. Specifically, similar to the device status information, the historical device status information can be obtained through a device management system or a professional network monitoring tool. The historical link status information refers to the records of the operating status and performance indicators of each communication link between the client device and the server device over a past period of time. Specifically, similar to the link status information, the historical link status information can be obtained based on a link monitoring tool, a network device interface, etc.
[0110] Exemplarily, the server device can obtain the historical device status information corresponding to each of the client device, the server device, and at least one relay device in the communication network system through the device management system of each network device, and obtain the historical link status information corresponding to each communication link between the client device and the server device through the device structure of each network device.
[0111] Step 504, perform feature extraction on the historical device status information and the historical link status information respectively to obtain the node features corresponding to each network node and the edge features of the connection edges.
[0112] Among them, feature extraction refers to the process of extracting the node features that can represent the network nodes and the edge features of the connection edges from the historical device status information and the historical link status information, in order to obtain key performance indicators such as the current delay, bandwidth, and link quality of the relay device, which are used to reflect the real-time status of the relay device and its ability to process DHCPv6 requests.
[0113] Exemplarily, the server device can perform feature extraction on the historical device status information and the historical link status information respectively to obtain the node features corresponding to the client node, the server node, and at least one relay node and the edge features of the connection edges.
[0114] In an optional embodiment, before performing feature extraction, the server device may also clean the collected historical device status data and historical link status data to ensure the accuracy and integrity of the data. The cleaning process may include, but is not limited to, removing invalid or duplicate records, especially for the log data of relay devices, and checking information such as the timestamps, source and destination addresses, and processing times of each DHCPv6 request and response to obtain the cleaned data. Subsequently, the server device may perform feature extraction based on the cleaned data to improve the accuracy and effectiveness of feature extraction.
[0115] Step 506: Determine the current graph structure according to the network topology of the communication network system, the node features of the network nodes, and the edge features of the connection edges.
[0116] Among them, the network topology of the communication network system refers to the connection method and layout among the network nodes in the network. The network topology can provide a basic framework for determining the current graph structure. By combining the node features of the network nodes and the edge features of the connection edges, the network nodes and connection edges in the network topology can be associated to obtain the current graph structure representing the network state in the communication network system.
[0117] Exemplarily, the server device may determine the network topology of the communication network system according to the arrangement positions of the network devices in the communication network system and the communication links between the network devices, and based on the network topology, abstract each network device as a node in the graph structure to form a network node, and abstract each communication link as an edge in the graph structure to form a connection edge, thereby constructing the graph structure. Subsequently, the server may also obtain the device status information of each network device and the link status information of the communication links, assign the device status information as the node features corresponding to the network nodes to each network node, and assign the link status information as the edge features corresponding to the connection edges to each connection edge to obtain the current graph structure.
[0118] In this embodiment, by separately performing feature extraction on the historical device status information and historical link status information to obtain the node features corresponding to the network nodes and the edge features corresponding to the connection edges, and combining the network topology of the communication network system and the extracted node features and edge features to determine the current graph structure, the constructed graph structure not only includes the physical connection relationship of the network, but also integrates the status feature information of the network nodes and connection edges, and can more accurately and comprehensively reflect the actual operating state of the communication network system.
[0119] In an optional embodiment, the server device can also ensure the effectiveness of DHCPv6 relay through performance monitoring and model optimization; the monitoring metrics include relay latency, success rate, link quality, etc. Record the latency time of each DHCPv6 request and response, and calculate the average, maximum, and minimum latency to evaluate the performance of the relay device. At the same time, the processing capacity and stability of the relay can also be monitored by calculating the success rate of the communication process; the success rate can be determined by dividing the number of requests with valid responses returned by the server device by the total number of requests forwarded by the relay device. Between determining the monitoring metrics and success rate of the relay device, the server device can also use data visualization tools (such as zabbix or grafana) to create a real-time dashboard for displaying the monitoring metrics and success rate of the relay device, facilitating network administrators to quickly identify problems and intervene.
[0120] In addition, the server device can also set a targeted alarm mechanism. When the monitoring metrics exceed the preset threshold, the server device can automatically send an alarm to remind the administrator to make necessary adjustments. At the same time, the performance of the latency prediction model can be evaluated regularly and combined with the latest technological progress to dynamically optimize the latency prediction model, thereby improving the overall network performance and user experience.
[0121] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same moment, but can be executed at different moments. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.
[0122] Based on the same inventive concept, the embodiments of the present application also provide a communication path determination device for implementing the communication path determination method described above. The solution provided by this device to solve the problem is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the communication path determination device provided below can refer to the limitations on the communication path determination method in the above text and will not be repeated here.
[0123] In an exemplary embodiment, such as Figure 6As shown, a communication path determination device is provided, which is applied to a communication network system including a client device, a server device, and at least one relay device. The client device communicates with the server device through the relay device. The device includes: a graph structure acquisition module 602, a graph structure update module 604, a path determination module 606, and a path selection module 608, where:
[0124] The graph structure acquisition module 602 is configured to acquire the current graph structure of the communication network system when a network configuration request is initiated by a target client device in the communication network system. The current graph structure includes network nodes and connection edges between each network node. The network nodes include client nodes representing client devices, server nodes representing server devices, and relay nodes representing relay devices. The connection edges are used to represent the communication links between the connected network nodes.
[0125] The graph structure update module 604 is configured to, for each relay node in the current graph structure, update the node feature of the targeted relay node in the current graph structure based on the network configuration request, the neighbor node feature associated with the targeted relay node, and the neighbor edge feature, to obtain an updated graph structure. The neighbor node feature is the node feature of the neighbor network node connected to the targeted relay node, and the neighbor edge feature is the edge feature of the connection edge between the targeted relay node and the neighbor network node.
[0126] The path determination module 606 is configured to determine at least one candidate communication path for communicating with the target client device based on the updated graph structure.
[0127] The path selection module 608 is configured to determine a target communication path from the candidate communication paths according to the forwarding delay of the candidate communication paths, and communicate with the target client device based on the target communication path.
[0128] In an optional embodiment, the graph structure update module 604 is further configured to, for each relay node in the current graph structure, determine the neighbor network nodes connected to the targeted relay node and the connection edges between the targeted relay node and the neighbor network nodes according to the current graph structure; extract the device type information carried in the network configuration request, and aggregate the node feature of the targeted relay node according to the device type information, the neighbor node feature of the neighbor network node, and the neighbor edge feature of the connection edge, to obtain the updated node feature of the targeted relay node; update the current graph structure according to the updated node features of each targeted relay node, to obtain an updated graph structure.
[0129] In an alternative embodiment, the graph structure update module 604 is further configured to respectively determine the attention weights corresponding to each neighbor network node and each connection edge according to the influence degrees of each neighbor network node and each connection edge on the forwarding delay of the targeted relay node; and perform weighted aggregation on the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges according to the attention weights corresponding to each neighbor network node and each connection edge, so as to obtain the updated node features of the targeted relay node.
[0130] In an alternative embodiment, the path selection module 608 is further configured to determine the communication prediction data of at least one candidate communication path according to the historical communication data and the real-time communication data of at least one relay node in the at least one candidate communication path; determine a target communication path that supports communication of the target client device from the at least one candidate communication path according to each communication prediction data, and communicate with the target client device based on the target communication path.
[0131] In an alternative embodiment, the communication path determination device further includes a load distribution module, configured to obtain the real-time load data of the relay nodes corresponding to each of the target communication paths, and perform statistical analysis on each real-time load data to obtain communication statistical parameters of a communication array including each real-time load data; and when the communication statistical parameters do not meet the load balancing condition, re-distribute the real-time load data of the relay nodes corresponding to each of the target communication paths based on the communication statistical parameters and each real-time load data.
[0132] In an alternative embodiment, the communication path determination device further includes a graph structure construction module, configured to obtain the historical device state information corresponding to the client device, the server device, and at least one relay device in the communication network system, and the historical link state information corresponding to each communication link for the client device to communicate with the server device; perform feature extraction on the historical device state information and the historical link state information respectively to obtain the node features corresponding to each network node and the edge features of the connection edges; and construct the current graph structure according to the network topology structure of the communication network system and the node features of the network nodes and the edge features of the connection edges.
[0133] Each module in the above communication path determination device can be implemented in whole or in part by software, hardware, and their combination. Each of the above modules can be embedded in or independent of a processor in a computer device in the form of hardware, or stored in a memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.
[0134] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as Figure 7As shown in the figure. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database of the computer device is used to store graph structure data, network node data, connection edge data, feature data, attention weights corresponding to each network node and connection edge, etc. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, it implements a communication path determination method.
[0135] Those skilled in the art can understand that Figure 7 the structure shown in the figure is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.
[0136] In an exemplary embodiment, a computer device is provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, it implements the communication path determination method of each of the above embodiments.
[0137] In an embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by the processor, it implements the communication path determination method of each of the above embodiments.
[0138] In an embodiment, a computer program product is provided, including a computer program. When the computer program is executed by the processor, it implements the communication path determination method of each of the above embodiments.
[0139] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with relevant regulations.
[0140] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in this application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in this application can be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, artificial intelligence (AI) processors, etc., without limitation.
[0141] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this application.
[0142] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.
Claims
1. A communication path determination method, characterized in that, Applied to a communication network system including a client device, a server device, and at least one relay device, where the client device communicates with the server device through the relay device; the method includes: When a network configuration request is initiated by a target client device in the communication network system, obtaining the current graph structure of the communication network system; the current graph structure includes network nodes and connection edges between each of the network nodes, the network nodes include client nodes representing the client device, server nodes representing the server device, and relay nodes representing the relay device, and the connection edges are used to represent the communication links between the connected network nodes; For each relay node in the current graph structure, based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, updating the node features of the targeted relay node in the current graph structure to obtain an updated graph structure; the neighbor node features are the node features of the neighbor network nodes connected to the targeted relay node, and the neighbor edge features are the edge features of the connection edges between the targeted relay node and the neighbor network nodes; Based on the updated graph structure, determining at least one candidate communication path for communicating with the target client device; According to the forwarding delay of the candidate communication paths, determining a target communication path from the candidate communication paths and communicating with the target client device based on the target communication path.
2. The method according to claim 1, characterized in that, The step of, for each relay node in the current graph structure, based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, updating the node features of the targeted relay node in the current graph structure to obtain an updated graph structure, includes: For each relay node in the current graph structure, determining the neighbor network nodes connected to the targeted relay node and the connection edges between the targeted relay node and the neighbor network nodes according to the current graph structure; Extracting the device type information carried in the network configuration request, and aggregating the node features of the targeted relay node according to the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges to obtain the updated node features of the targeted relay node; Updating the current graph structure according to the updated node features of each of the targeted relay nodes to obtain an updated graph structure.
3. The method according to claim 2, characterized in that, The step of aggregating the node features of the targeted relay node according to the device type information, the neighbor node features of the neighbor network nodes, and the neighbor edge features of the connection edges to obtain the updated node features of the targeted relay node includes: Respectively determining the attention weights corresponding to each of the neighbor network nodes and each of the connection edges according to the influence degrees of each of the neighbor network nodes and each of the connection edges on the forwarding delay of the targeted relay node; According to the attention weights corresponding to each of the neighboring network nodes and each of the connecting edges, the device type information, the neighboring node features of the neighboring network nodes, and the neighboring edge features of the connecting edges are weightedly aggregated to obtain the updated node features for the relay node.
4. The method according to claim 1, wherein The step of determining a target communication path from the candidate communication paths according to the forwarding delay of the candidate communication paths, and communicating with the target client device based on the target communication path comprises: determining communication prediction data of the at least one candidate communication path based on historical communication data and real-time communication data of at least one relay node in the at least one candidate communication path; According to each of the communication prediction data, a target communication path supporting the target client device to communicate is determined from the at least one candidate communication path, and communication is performed with the target client device based on the target communication path.
5. The method according to any one of claims 1 to 4, characterized in that, The method further comprises: Acquire the real-time load data of the relay nodes respectively corresponding to each of the target communication paths, and perform statistical analysis on each of the real-time load data to obtain communication statistical parameters of the communication array including each of the real-time load data; In the case that the communication statistical parameter does not satisfy the load balancing condition, the real-time load data of the relay nodes corresponding to each of the target communication paths are redistributed based on the communication statistical parameter and each of the real-time load data.
6. The method according to any one of claims 1 to 4, characterized in that, The method further comprises: Acquire historical device status information corresponding to each of a client device, a server device, and at least one relay device in a communication network system, and historical link status information corresponding to each of the communication links used for the client device to communicate with the server device; Extracting features from the historical device status information and the historical link status information respectively to obtain node features corresponding to each of the network nodes and edge features of the connecting edges; A current graph structure is constructed according to the network topology structure of the communication network system, the node characteristics of the network nodes, and the edge characteristics of the connection edges.
7. A communication path determination device, characterized in that, Applicable to a communication network system including a client device, a server device and at least one relay device, wherein the client device communicates with the server device through the relay device; the apparatus comprises: A graph structure acquisition module, configured to acquire a current graph structure of the communication network system when a target client device in the communication network system initiates a network configuration request; the current graph structure includes network nodes and connection edges between the network nodes, the network nodes include client nodes representing the client devices, server nodes representing the server devices, and relay nodes representing the relay devices, and the connection edges are used to represent communication links between the connected network nodes; A graph structure update module, configured to, for each relay node in the current graph structure, update the node feature of the targeted relay node in the current graph structure based on the network configuration request, the neighbor node features associated with the targeted relay node, and the neighbor edge features, to obtain an updated graph structure; the neighbor node features are the node features of neighbor network nodes connected to the targeted relay node, and the neighbor edge features are the edge features of the connection edges between the targeted relay node and the neighbor network nodes; A path determination module, configured to determine at least one candidate communication path for communicating with the target client device based on the updated graph structure; A path selection module, configured to determine a target communication path from the candidate communication paths according to the forwarding delay of the candidate communication paths, and communicate with the target client device based on the target communication path.
8. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 6 are implemented.