Method, device and equipment for constructing sase network architecture and storage medium

By constructing a multi-hop SASE network architecture based on a clustering algorithm with network quality scores, the problem of poor network quality between the client and the point of origin (POP) is solved, resulting in higher quality network services and reduced costs.

CN115604128BActive Publication Date: 2026-01-13CHINA TELECOM CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211250635.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-12
Publication Date
2026-01-13
Estimated Expiration
2042-10-12

AI Technical Summary

Technical Problem

How to improve the network quality and stability of SASE networks, especially when the network quality between clients and POPs is poor, and how to improve network service quality and reduce costs through intelligent deployment of POPs.

Method used

By using a clustering algorithm based on network quality scores, client clusters are identified, and POP points are set at the cluster center of each cluster to build a multi-hop SASE network architecture, thereby reducing the number of POP points and distributing traffic pressure.

Benefits of technology

It improves network service quality, reduces network service costs, and allows for on-demand deployment of POP points based on customers' actual needs, providing a better network service experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115604128B_ABST
    Figure CN115604128B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a method and device for constructing a SASE network architecture, and a storage medium. The method comprises: determining network quality scores of links between each pair of clients in a plurality of clients; performing clustering processing on the plurality of clients based on the obtained plurality of network quality scores to obtain a plurality of client clusters; setting a POP point at a position corresponding to a cluster center of each client cluster; and constructing a SASE network architecture based on the set plurality of POP points. The embodiments of the present application perform clustering processing on the plurality of clients based on the obtained plurality of network quality scores, and then determine the setting positions of the POP points based on the cluster centers obtained by clustering, so that the network service quality of the SASE network architecture can be improved while the cost of network service is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically, to a method, apparatus, electronic device, and storage medium for constructing a SASE network architecture. Background Technology

[0002] SASE (Secure Access Service Edge) is an emerging concept that integrates comprehensive wide area network (WAN) capabilities with comprehensive network security features, providing dynamic and secure access services for digital enterprises. To ensure that all network and security functions are available everywhere and to deliver the best possible experience to all edges, SASE employs a distributed architecture. In this architecture, it utilizes Point-of-Presence (POPs) located close to the enterprise to deliver low-latency services, improving access performance between nodes. For applications requiring high performance and high quality, it can leverage high-quality network interconnection without compromising security. Currently, improving the stability and quality of SASE networks remains a significant challenge. Summary of the Invention

[0003] To address the aforementioned technical problems, embodiments of this application provide a method for constructing a SASE network architecture, an apparatus for constructing a SASE network architecture, an electronic device, and a storage medium, which can improve the network quality of the SASE network.

[0004] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.

[0005] According to one aspect of the embodiments of this application, a method for constructing a SASE network architecture is provided, comprising: determining the network quality scores of links between each pair of clients among a plurality of clients; performing clustering processing on the plurality of clients based on the obtained network quality scores to obtain a plurality of client clusters, wherein, during the clustering process, if a client and a cluster center are each other's neighbors for any number of hops before a first preset number, then the corresponding client belongs to the category of the corresponding cluster center; if the network quality score between a client and another client is greater than a preset threshold, then the corresponding clients are each other's neighbors for one hop; if a first client and a second client are not each other's neighbors for n hops, and a third client is each other's neighbors for n hops and with the second client for one hop, then the first client and the second client are each other's neighbors for n+1 hops, where n is a positive integer; setting POP points at the positions corresponding to the cluster centers of each client cluster, and constructing a SASE network architecture based on the set POP points.

[0006] In an exemplary embodiment, the step of clustering the multiple clients based on the obtained multiple network quality scores to obtain multiple client clusters includes: randomly generating a preset number of initial cluster centers; determining a first preset number of hop neighbor sets for each cluster center, and taking each cluster center and its corresponding preset number of hop neighbor sets as a client cluster, wherein the first preset number of hop neighbor sets for each cluster center includes any number of hop neighbors preceding the first preset number for the corresponding cluster center; updating the cluster centers of each client cluster; if it is detected that at least one client cluster has a different cluster center before the update and a different cluster center after the update, then proceeding to the step of determining the preset number of hop neighbor sets for each cluster center and taking each cluster center and its corresponding preset number of hop neighbor sets as a client cluster; if it is detected that the cluster centers of each client cluster are the same before the update and after the update, then ending the clustering process.

[0007] In an exemplary embodiment, after determining the first preset number of hop neighbor set for each cluster center and treating each cluster center and its corresponding first preset number of hop neighbor set as a client cluster, the method further includes: if a cluster center and its corresponding first preset number of hop neighbor set are included in the first preset number of hop neighbor set of another cluster center, then the first preset number of hop neighbor set corresponding to the corresponding cluster center is merged into the first preset number of hop neighbor set within the other cluster center.

[0008] In an exemplary embodiment, after determining the first preset number of hop neighbor set for each cluster center, the method further includes: if there exists a client that does not belong to the first preset number of hop neighbor set corresponding to any cluster center, then the corresponding client is taken as a cluster center and the corresponding client is taken as a client cluster.

[0009] In an exemplary embodiment, determining the first preset number of hop neighbor set for each cluster center includes: if a client belongs to the first preset number of hop neighbor set corresponding to at least two cluster centers, selecting a first cluster center from the at least two cluster centers that is a first number of hop neighbor to the corresponding client, wherein other cluster centers in the at least two cluster centers (excluding the first cluster center) are second number of hop neighbors to the corresponding client, and the first number is less than the second number; deleting the corresponding client from the first preset number of hop neighbor set corresponding to the other cluster centers (excluding the first cluster center).

[0010] In an exemplary embodiment, if a client and a cluster center are each other's second preset number of hop neighbors, then the corresponding client connects to the corresponding cluster center through the second preset number of hop paths; the method further includes: if there are multiple first cluster centers, obtaining the number of first number of hop paths from the corresponding client to each first cluster center; deleting the corresponding client from the first preset number of hop neighbor set corresponding to other first cluster centers besides the first cluster center with the most first number of hop paths.

[0011] In an exemplary embodiment, the method further includes: if there are multiple second cluster centers, obtaining the minimum network quality score in the first number of hop paths between each second cluster center and the corresponding client; deleting the corresponding clients in the first preset number of hop neighbor set corresponding to other second cluster centers besides the second cluster center corresponding to the maximum value among the multiple minimum network quality scores; wherein, the first cluster center with the most first number of hop paths from the corresponding client to each first cluster center is taken as the second cluster center.

[0012] According to one aspect of the embodiments of this application, a device for constructing a SASE network architecture is provided, comprising: a determining module, configured to determine the network quality scores of links between any two clients among a plurality of clients; a clustering processing module, configured to perform clustering processing on the plurality of clients based on the obtained plurality of network quality scores to obtain a plurality of client clusters, wherein, during the clustering process, if a client and a cluster center are neighbors of each other within any number of hops before a first preset number, then the corresponding client belongs to the category of the corresponding cluster center; if the network quality score between a client and another client is less than a preset threshold, then the corresponding clients are neighbors of each other; if a first client and a second client are not neighbors of each other within n hops, and a third client is neighbors of both the first client and the second client within n hops, then the first client and the second client are neighbors of each other within n+1 hops, where n is a positive integer; and a construction module, configured to set POP points at the positions corresponding to the cluster centers of each client cluster, and construct a SASE network architecture based on the set plurality of POP points.

[0013] According to one aspect of the embodiments of this application, an electronic device is provided, including a processor and a memory, wherein computer-readable instructions are stored in the memory, and when the computer-readable instructions are executed by the processor, the above-described method for constructing the SASE network architecture is implemented.

[0014] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, on which computer-readable instructions are stored, which, when executed by a computer's processor, cause the computer to perform the method for constructing the SASE network architecture as previously provided.

[0015] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the SASE network architecture construction method provided in the various alternative embodiments described above.

[0016] In the technical solution provided by the embodiments of this application, multiple clients are clustered based on their network quality scores. During the clustering process, if a client has a low network quality score with the cluster center, but another intermediate client has a high network quality score with the corresponding cluster center, and the client has a high network quality score with the intermediate client, then that client is directly classified into the category of the corresponding cluster center. This results in client clusters that cannot communicate directly with the cluster center but can communicate indirectly with it through other intermediate clients. In this way, a multi-hop SASE network is creatively proposed. Furthermore, this embodiment sets up a Point of Presence (POP) at the location corresponding to the cluster center for each client cluster. Based on these multiple POPs, the SASE network architecture is constructed. POPs can be deployed as needed according to the actual network requirements of the client. Compared to traditional methods, this reduces the number of POPs deployed, distributing traffic pressure to other client nodes in the network. Therefore, it provides a higher quality of network service than traditional networks while also reducing network service costs.

[0017] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0018] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort. In the drawings:

[0019] Figure 1 This is a structural diagram of an implementation environment for the SASE network architecture, as illustrated in an exemplary embodiment of the prior art.

[0020] Figure 2 This is a flowchart illustrating a method for constructing a SASE network architecture, as shown in an exemplary embodiment of this application.

[0021] Figure 3This is a network structure diagram of the SASE network architecture shown in an exemplary embodiment;

[0022] Figure 4 exist Figure 2 A flowchart of an exemplary embodiment of step S102 in the illustrated embodiment;

[0023] Figure 5 exist Figure 4 A flowchart of an exemplary embodiment of step S202 in the illustrated example;

[0024] Figure 6 exist Figure 5 A flowchart of another exemplary embodiment of the method for constructing the SASE network architecture based on the illustrated embodiment;

[0025] Figure 7 exist Figure 6 A flowchart of another exemplary embodiment of the method for constructing the SASE network architecture based on the illustrated embodiment;

[0026] Figure 8 It is to utilize Figure 4 The diagram shown illustrates the processing results obtained by clustering the client in the illustrated embodiment.

[0027] Figure 9 yes Figure 2 The flowchart of step S102 in the illustrated embodiment is shown as an example embodiment.

[0028] Figure 10 This is a block diagram of a construction apparatus for a SASE network architecture illustrated in an exemplary embodiment of this application;

[0029] Figure 11 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown. Detailed Implementation

[0030] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0031] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0032] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0033] It should also be noted that "multiple" as mentioned in this application refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0034] It should be noted that the network elements involved in the embodiments of this application may also be referred to as functions or functional entities, and this application does not impose any limitations. For example, the access and mobility management function network element may also be referred to as an access and mobility management function or an access and mobility management function entity, and the session management function network element may be referred to as a session management function or a session management function entity, etc. The names of each network element are not limited in this application, and those skilled in the art can replace the names of the above network elements with other names to perform the same function, all of which fall within the scope of protection of this application.

[0035] It is understood that the network elements or functions or functional entities involved in this embodiment can be network components in hardware devices, software functions running on dedicated hardware, or virtualization functions instantiated on a platform (e.g., cloud platform), and this application does not impose any restrictions.

[0036] See Figure 1 , Figure 1 This is a structural diagram of an implementation environment for the SASE network architecture, as illustrated in an exemplary embodiment of the prior art. Figure 1 As shown, the existing SASE network architecture includes four pre-built POP points. In fact, in the current SASE application environment, POP points are often deployed in provincial administrative regions or some large cities. Service providers often select POP points for users based on the geographical location of IP addresses, such as... Figure 1 As shown, the user end includes remote offices, corporate headquarters, branch offices, and data centers. However, from the user's perspective, the enterprise's servers or clients are not necessarily close to these identified POPs. This unintelligent selection method leads to excessively long clusters between servers, which may affect the stability of network quality.

[0037] To address at least the aforementioned problems in the prior art, the SASE network architecture construction method, SASE network architecture construction apparatus, electronic device, and computer-readable storage medium proposed in this application involve artificial intelligence technology and machine learning technology. These embodiments will be described in detail below.

[0038] The SASE network architecture construction method proposed in this embodiment improves the original one-hop SASE network into a multi-hop network. At the same time, it uses an improved clustering algorithm to intelligently select POP points, thereby reducing the cost of network services and improving the stability of network service quality.

[0039] See Figure 2 , Figure 2 This is a flowchart illustrating a method for constructing a SASE network architecture, as shown in an exemplary embodiment of this application. Figure 2 As shown, the SASE network architecture construction method provided in this embodiment includes steps S101-S103, which are described in detail below:

[0040] Step S101: Determine the network quality score between each pair of clients among the multiple clients.

[0041] In this embodiment, the client is a terminal device that needs to provide network services. For example, the client includes corporate headquarters, branch offices, data centers, remote offices, etc.

[0042] In this embodiment, network links are established between each pair of clients from multiple clients, and the network quality score of each pair of clients is determined. The network quality score characterizes the network quality of the corresponding network link. This embodiment can utilize various network performance indicators to evaluate the network quality score, such as network bandwidth, network latency, network jitter, packet loss rate, etc., without specific limitations. For example, this embodiment configures corresponding weights for pre-determined network performance indicators. After obtaining the values ​​of the aforementioned network performance indicators for the network link, a weighted sum of all network performance indicators is calculated, and the resulting weighted sum is used as the network quality score of the corresponding network link.

[0043] In this embodiment, a higher network quality score between clients indicates better network quality between the corresponding clients, and vice versa.

[0044] Step S102: Based on the obtained network quality scores, cluster the multiple clients to obtain multiple client clusters.

[0045] In this embodiment, if the network quality score between one client and another client is greater than a preset threshold, it indicates that the network quality between the two clients is good and can be used for data transmission. In this embodiment, the corresponding clients are one-hop neighbors. The size of the preset threshold can be flexibly set according to the actual application scenario, and no specific limitation is made here.

[0046] In this embodiment, if the first client and the second client are not n-hop neighbors, and the third client is an n-hop neighbor of the first client and a one-hop neighbor of the second client, then the first client and the second client are n+1 hop neighbors, where n is a positive integer. The above setting means that if a client is not an "n-hop neighbor" of another client but is a "one-hop neighbor" of its "n-hop neighbor", then the client is called its "n+1 hop neighbor". For example, when n=1, if client 1 and client 2 are not one-hop neighbors, but client 3 and client 1 are one-hop neighbors, and client 3 and client 2 are also one-hop neighbors, then client 1 and client 2 are two-hop neighbors.

[0047] In this embodiment, n-hop neighbors are set based on the network quality scores between clients, where n is a positive integer. This allows for the construction of an n+1-hop network by connecting to an intermediate client with better network quality between the two clients, even when the direct link between them has poor network quality. This innovative approach proposes a multi-hop SASE network, which allows for the deployment of Points of Presence (POPs) as needed based on actual client requirements. Compared to traditional methods, this reduces the number of POPs and distributes traffic pressure across other nodes in the network, thus providing superior network service quality while lowering network service costs. Furthermore, the distribution becomes more efficient as the number of nodes on the client side increases.

[0048] In this embodiment, during the clustering process, if a client and a cluster center are neighbors of any number of hops preceding a first preset number, then the client belongs to the category of the corresponding cluster center. The first preset number is preset, and the configuration of the multi-hop SASE network is controlled based on this first preset number. For example, if the first preset number is 4, then if a client and a cluster center are neighbors of any number of hops preceding a first 4, then the client belongs to the category of the corresponding cluster center. For example, if the client and the cluster center are neighbors of 1 hop, 2 hops, or 3 hops, it means that the client belongs to the category of the corresponding cluster center.

[0049] In other words, in this embodiment, when performing clustering processing on clients, if a client has a low network quality score with the cluster center, but another intermediate client has a high network quality score with the corresponding cluster center, and the client has a high network quality score with the intermediate client, then the client is directly classified into the category of the corresponding cluster center.

[0050] Step S103: Set up POP points at the locations corresponding to the cluster centers of each client cluster, and construct the SASE network architecture based on the set POP points.

[0051] In this embodiment, multiple clients are clustered based on the obtained network quality scores to obtain multiple client clusters. Since the cluster center of each client cluster has the best network quality with other clients, the location of the cluster center corresponding to each client cluster is taken as the optimal deployment location of the POP point of the SASE network architecture to obtain the most ideal network service quality.

[0052] For example, a POP point is set in the device where the cluster center of each client cluster is located; that is, the client that serves as the cluster center is directly used as the POP point. For example, multiple cluster centers are used as multiple corresponding POP points, and the network architecture consisting of clients that are n-hop neighbors with each cluster center, the n-hop paths corresponding to each client, and the cloud server is used as the SASE network architecture.

[0053] For example, see Figure 3 , Figure 3 This is a network structure diagram illustrating the SASE network architecture in an exemplary embodiment. It can be understood that the SASE network architecture constructed in this embodiment is based on... Figure 2 The SASE network architecture provided in the illustrated embodiment is constructed using a method that constructs such a network. Figure 3As shown, the SASE network architecture constructed in this embodiment includes POP points 1-3, a cloud server, and clients 1-7. After clustering the 10 clients (POP points 1-3 and clients 1-7), it is determined that clients 1 and 3 are 1-hop neighbors of POP point 1, and client 2 is a 2-hop neighbor of POP point 1, with the corresponding 2-hop path being client 2-client 1-POP point 1. Client 5 is a 1-hop neighbor of POP point 2, and client 4 is a 2-hop neighbor of POP point 2, with the corresponding 2-hop path being client 4. - Client 5 - POP point 2; Client 6 and Client 7 are 1-hop neighbors of POP point 3. Therefore, the SASE network architecture constructed in this embodiment includes POP points 1-3 connected to the cloud server, the 1-hop path constructed by Client 1, Client 3 and POP point 1, the 1-hop path constructed by Client 5 and POP point 2, the 1-hop path constructed by Client 6 and Client 7 and POP point 3, the 2-hop path of Client 2-Client 1-POP point 1, and the 2-hop path of Client 4-Client 5-POP point 2, which constitute the SASE network architecture.

[0054] The SASE network architecture construction method provided in this embodiment clusters multiple clients based on their network quality scores. During clustering, if a client has a low network quality score with the cluster center, but another intermediate client has a high network quality score with the corresponding cluster center, and the client has a high network quality score with the intermediate client, then that client is directly assigned to the category of the corresponding cluster center. This results in client clusters that cannot communicate directly with the cluster center but can communicate indirectly with it through other intermediate clients. This innovative approach proposes a multi-hop SASE network. Furthermore, this embodiment sets up a Point of Presence (POP) at the location corresponding to the cluster center for each client cluster. The SASE network architecture is constructed based on these multiple POPs, allowing for on-demand deployment of POPs according to the client's actual network needs. Compared to traditional methods, this reduces the number of POPs deployed, distributing traffic pressure to other client nodes in the network. Therefore, it provides superior network service quality compared to traditional networks while also reducing network service costs.

[0055] See Figure 4 , Figure 4 exist Figure 2 The flowchart of step S102, an exemplary embodiment, shown in the example is as follows: Figure 4 As shown, step S102 includes steps S201-S204, which are described in detail below:

[0056] Step S201: Randomly generate a preset number of initial cluster centers.

[0057] Step S202: Determine the first preset number of hop neighbor set for each cluster center, and treat each cluster center and its corresponding preset number of hop neighbor set as a client cluster.

[0058] In this embodiment, the first preset number of hop neighbors set for each cluster center includes any number of hop neighbors before the first preset number of the corresponding cluster center. For example, if the first preset number is 4, then the first preset number of hop neighbors set for each cluster center includes the 1-hop neighbor, 2-hop neighbor, and 3-hop neighbor of the corresponding cluster center.

[0059] In this embodiment, the first step is to determine the one-hop neighbors of each cluster center. Specifically, for each cluster center, if the network quality score between the client and the cluster center is greater than a preset threshold, the corresponding client is determined to be its one-hop neighbor; otherwise, the corresponding client is determined not to be its one-hop neighbor. Then, based on the one-hop neighbors of each cluster center, the two-hop neighbors of the corresponding cluster center are determined. Specifically, the one-hop neighbors of the one-hop neighbors of each cluster center are taken as the two-hop neighbors of the corresponding cluster center, and so on, until any number of hop neighbors before the first preset number of all cluster centers are obtained.

[0060] In this embodiment, each cluster center and its corresponding set of a preset number of hop neighbors are treated as a client cluster.

[0061] This embodiment takes into account the possibility that a cluster center may be a neighbor of another cluster center. That is, the network quality score between one cluster center and another cluster center is greater than a preset threshold. In this case, the neighbor set of the cluster center may be a subset of the neighbor set of another cluster center. If the cluster center is not removed from the cluster center set, then subsequent operations on the cluster center will be meaningless.

[0062] To address the aforementioned issues, for example, if a cluster center and its corresponding first preset number of hop neighbors are included in the first preset number of hop neighbors of another cluster center, then the first preset number of hop neighbors corresponding to that cluster center are merged into the first preset number of hop neighbors set of the other cluster center. That is, if a cluster center is found to be a neighbor of another cluster center, and the first preset number of hop neighbors of that cluster center are included in the first preset number of hop neighbors set of the other cluster center, then in the next clustering iteration, it will not be treated as a cluster center, and the cluster center and its corresponding first preset number of hop neighbors will be merged into the first preset number of hop neighbors set of the other cluster center.

[0063] For example, if a client does not belong to the first preset number of hop neighbors corresponding to any cluster center, then the corresponding client is taken as a cluster center and the corresponding client is taken as a client cluster. In clustering algorithms, outliers have a significant impact on the efficiency of the algorithm. This embodiment eliminates the influence of outliers by having outliers participate in the clustering process as cluster centers.

[0064] See Figure 5 , Figure 5 exist Figure 4 The flowchart of step S202, an exemplary embodiment, shown in the example is as follows: Figure 5 As shown, step S202 includes steps S301-S302, which are described in detail below:

[0065] Step S301: If there exists a client belonging to the first preset number of hop neighbors corresponding to at least two cluster centers, select the first cluster center from the at least two cluster centers that is the first number of hop neighbors of the corresponding client.

[0066] This embodiment takes into account the situation where a single client is a neighbor of multiple centroids. In this case, it indicates that the direct or indirect network quality between the client and multiple cluster centers is good. In this case, the method provided in this embodiment can identify the cluster center with the best network quality to the client, and then exclude the corresponding client from the clusters of other cluster centers.

[0067] Considering that during data transmission, a one-hop neighbor generally has better transmission quality and higher efficiency than a two-hop neighbor or even a higher number of hop neighbors, this embodiment, upon detecting that a client belongs to a first preset number of hop neighbors corresponding to at least two cluster centers, selects a first cluster center from the at least two cluster centers that is a first number of hop neighbors to the corresponding client. Among these, the other cluster centers besides the first cluster center are second number of hop neighbors to the corresponding client, where the first number is less than the second number. In other words, if a client is a neighbor of multiple cluster centers, the cluster center with the smallest number of hop paths to that client is selected as the first cluster center.

[0068] Step S302: Delete the corresponding clients in the first preset number of hop neighbors set corresponding to the other cluster centers besides the first cluster center.

[0069] In this step, the first cluster center is the cluster center with the fewest hops to the client. In this embodiment, the client is finally classified into the client cluster to which the first cluster center belongs. In this way, the forwarding path of data transmission during the data transmission process related to the client is reduced. On the one hand, this can further improve the quality of network service, and on the other hand, it can achieve the goal of not increasing the burden of forwarding messages by adding intermediate nodes.

[0070] See Figure 6 , Figure 6 exist Figure 5 A flowchart of another exemplary embodiment of the SASE network architecture construction method proposed based on the illustrated embodiment is shown below. Figure 6 As shown, the SASE network architecture construction method provided in this embodiment further includes steps S401-S402, which are described in detail below:

[0071] Step S401: If there are multiple first cluster centers, obtain the number of first hop paths from the corresponding client to each first cluster center.

[0072] In this embodiment, if a client and a cluster center are each other's second preset number of hop neighbors, then the corresponding client is connected to the corresponding cluster center through the second preset number of hop paths. For example, when the second preset number is 3, then a client and a cluster center are each other's 3-hop neighbors. In this case, the corresponding client is connected to the corresponding cluster center through a 3-hop path. That is, there are two clients between the corresponding client and the corresponding cluster center.

[0073] This embodiment takes into account that... Figure 4 In the illustrated embodiment, if multiple first cluster centers exist, it indicates that there is more than one cluster center with the minimum number of hops path to the client. Through long-term research, the inventors of this application have discovered that when a client has the minimum number of hops path with multiple cluster centers, the embodiment may have multiple minimum number of hops paths between each cluster center and its corresponding client. For example, for client 1 and cluster center 1, there are two hop paths between them: the first hop path is client 1-client 2-client 3-cluster center 1, and the second hop path is client 1-client 4-client 5-cluster center 1. Of course, client 1 may have more hop paths with other cluster centers. In this case, cluster centers with more minimum number of hop paths to the corresponding client have higher transmission efficiency than cluster centers with fewer minimum number of hop paths because when the client transmits data with the cluster center, there are multiple path options, reducing the forwarding burden on intermediate client nodes.

[0074] Step S402: Delete the corresponding clients in the first preset number of hop neighbors set corresponding to the first cluster centers other than the first cluster center with the largest number.

[0075] In this embodiment, after obtaining the number of first-number-hop paths from the corresponding client to each first cluster center, the corresponding clients in the first preset number-number-hop neighbor set corresponding to the other first cluster centers (excluding the first cluster center with the largest number of paths) are deleted, so that the corresponding clients only exist in the client cluster where the cluster center with the largest number of minimum number-hop paths is located.

[0076] In this way, when the client transmits data to the cluster center, there are multiple path options, which can reduce the forwarding burden on intermediate client nodes.

[0077] See Figure 7 , Figure 7 exist Figure 6 A flowchart of another exemplary embodiment of the SASE network architecture construction method proposed based on the illustrated embodiment is shown below. Figure 7 As shown, the SASE network architecture construction method provided in this embodiment further includes steps S501-S502, which are described in detail below:

[0078] Step S501: If there are multiple second cluster centers, obtain the minimum network quality score in the first number of hops path between each second cluster center and the corresponding client.

[0079] In this embodiment, the first cluster center with the largest number of first-number-hop paths from the corresponding client to each first cluster center is designated as the second cluster center.

[0080] This embodiment takes into account that... Figure 5 In the illustrated embodiment, if there are multiple second cluster centers, it means that there is more than one cluster center with the same number of paths with the minimum number of hops as the client. In this case, this embodiment adopts the maximum-minimum decision method because in a multi-hop path, the hop with the lowest network quality will limit the network quality of the entire path. Therefore, this embodiment selects a path with the highest "lowest network quality score" to reduce the impact of high loss on the overall network quality.

[0081] In this embodiment, the minimum network quality score in the first number of hops path between each second cluster center and its corresponding client represents the minimum network quality score selected from all 1-hop paths in the first number of hops path between the corresponding second cluster center and the client. The obtained minimum network quality score can be determined based on the actual application scenario; it could be the network quality score between clients in the first number of hops path, or it could be the network quality score between the corresponding second cluster center and the client. For example, if there are two 2-hop paths between second cluster center a and client b, namely client b-client c-second cluster center a and client b-client d-second cluster center a, and the quality score of client b-client c is 51, the quality score of client c-second cluster center a is 60, the quality score of client b-client d is 70, and the quality score of client d-second cluster center a is 80, then the quality score of client b-client c, i.e., 51, is selected as the minimum network quality score from these four-hop network links.

[0082] Step S502: Delete the corresponding clients in the first preset number of hop neighbors set corresponding to the second cluster center other than the second cluster center corresponding to the maximum value among multiple minimum network quality scores.

[0083] In this embodiment, the minimum network quality score in the first number-hop path between the second cluster center (excluding the second cluster center corresponding to the maximum value) and the corresponding client is greater than the minimum network quality score in the first number-hop path between the second cluster center corresponding to the maximum value and the corresponding client. In this case, this embodiment deletes the corresponding client from the first preset number-hop neighbor set corresponding to the second cluster center (excluding the second cluster center corresponding to the maximum value among multiple minimum network quality scores), so that the corresponding client exists in only one client cluster during the clustering process. In addition, this embodiment selects the path with the highest "lowest network quality score" to reduce the impact of high loss on the overall network quality.

[0084] Step S203: Update the cluster centers of each client cluster. If it is detected that the cluster centers of at least one client cluster are different before and after the update, then proceed to determine the preset number of hop neighbor sets for each cluster center, and treat each cluster center and its corresponding preset number of hop neighbor sets as a client cluster.

[0085] In this embodiment, after one round of clustering, the cluster centers of each client cluster are updated. If it is detected that the cluster centers of at least one client cluster before the update are different from the cluster centers after the update, it means that the convergence condition has not been met. In this case, the process jumps to determining the preset number of hop neighbors for each cluster center, and takes each cluster center and its corresponding preset number of hop neighbors as a client cluster, and continues the next round of iterative clustering.

[0086] For example, the cluster centers of the client clusters are updated based on the following formula:

[0087] k1 = arg max(k∈N) k min(i∈N) k , i≠k)PL(i,k)

[0088] Where k1 is the updated cluster center, k is the original cluster center, and N is the cluster center. k Let represent the client in the first preset number of hop neighbors set corresponding to cluster center k, i represent the i-th client in the first preset number of hop neighbors set corresponding to cluster center k, and PL(i, k) represent the network quality score between client i and the cluster center k before the update.

[0089] Step S204: If the cluster center before and after the update of each client cluster is the same, the clustering process ends.

[0090] In this embodiment, if the cluster center before and after the update of each client cluster is detected to be the same, it indicates that the clustering process for the clients has converged, and the clustering process ends.

[0091] participate Figure 8 , Figure 8 It is to utilize Figure 4 The diagram shown illustrates the processing results obtained by clustering the client in the illustrated embodiment. Figure 8 As shown, the clients are clustered into 4 client clusters. The solid dots in each client cluster are the cluster centers of each client cluster, and the hollow dots are the clients under the client clusters corresponding to each cluster center.

[0092] participate Figure 9 , Figure 9 yes Figure 2 The flowchart of step S102 in the illustrated embodiment is as follows: Figure 9 As shown, step S102 includes the following sub-steps:

[0093] Cluster heads are generated randomly.

[0094] In this embodiment, the cluster head is the initial cluster center.

[0095] Generate multi-hop neighbors for each cluster head.

[0096] This embodiment can determine whether corresponding clients are neighbors or multi-hop neighbors based on the network quality scores between clients.

[0097] It handles intersections that exist in multiple multi-hop neighbors and outliers that do not have any multi-hop neighbors.

[0098] In this embodiment, an intersection point existing among multiple multi-hop neighbors indicates that a client is a neighbor of multiple cluster centers simultaneously. In this case, since a client can only exist in one client cluster, this embodiment removes the client from the cluster with poor network quality among the multiple neighboring cluster centers, and retains it in the client cluster with good network quality. Please refer to [link / reference] for details. Figures 5-7 The process for handling this type of client in the illustrated embodiment will not be described in detail here.

[0099] In this embodiment, an outlier that does not have any multi-hop neighbors is a client that does not belong to any cluster head's client cluster during this clustering iteration. In this embodiment, such a client can be used as a cluster center and the corresponding client can be used as a client cluster.

[0100] Regenerate cluster heads in each partitioned neighbor set.

[0101] After a clustering iteration is completed, the cluster center of each client cluster is updated.

[0102] Has the cluster head position changed? If so, proceed to step: Generate multi-hop neighbors for each cluster head.

[0103] If the condition is not met, output the cluster head and nodes within each cluster.

[0104] See Figure 10 , Figure 10 This is a block diagram illustrating a construction apparatus for a SASE network architecture, as shown in an exemplary embodiment of this application. Figure 10 As shown, the SASE network architecture construction device 700 includes a determination module 701, a clustering processing module 702, and a construction module 703.

[0105] The determination module 701 is used to determine the network quality score of the link between each pair of clients among multiple clients; the clustering processing module 702 is used to perform clustering processing on multiple clients based on the obtained multiple network quality scores to obtain multiple client clusters. During the clustering process, if a client and a cluster center are any number of hop neighbors before a first preset number, then the corresponding client belongs to the category of the corresponding cluster center. If the network quality score between a client and another client is less than a preset threshold, then the corresponding clients are one-hop neighbors. If the first client and the second client are not n-hop neighbors, and the third client, the first client, and the second client are n-hop neighbors, then the first client and the second client are n+1-hop neighbors, where n is a positive integer. The construction module 703 is used to set POP points at the positions corresponding to the cluster centers of each client cluster, and construct the SASE network architecture based on the set multiple POP points.

[0106] In another exemplary embodiment, the clustering processing module 702 includes a generation unit, a determination unit, an update unit, and a termination unit. The generation unit randomly generates a preset number of initial cluster centers. The determination unit determines a first preset number of hop neighbors for each cluster center, treating each cluster center and its corresponding preset number of hop neighbors as a client cluster. The first preset number of hop neighbors for each cluster center includes any number of hop neighbors preceding the first preset number of hop neighbors for that cluster center. The update unit updates the cluster centers of each client cluster. If it detects that at least one client cluster has a different cluster center before and after the update, it proceeds to the step of determining the preset number of hop neighbors for each cluster center and treating each cluster center and its corresponding preset number of hop neighbors as a client cluster. The termination unit terminates the clustering process if it detects that the cluster centers of each client cluster are the same before and after the update.

[0107] In another exemplary embodiment, the determining unit includes a selection subunit and a first deletion subunit. The selection subunit is used to select, if a client belongs to a first preset number of hop neighbor set corresponding to at least two cluster centers, a first cluster center that is a first number of hop neighbor to the corresponding client, wherein other cluster centers besides the first cluster center among the at least two cluster centers are second number of hop neighbors to the corresponding client, and the first number is less than the second number. The first deletion subunit is used to delete the corresponding client from the first preset number of hop neighbor set corresponding to other cluster centers besides the first cluster center.

[0108] In another exemplary embodiment, the determining unit includes an acquiring subunit and a deleting subunit. The determining subunit is configured to, if there are multiple first cluster centers, acquire the number of first hop paths from the corresponding client to each of the first cluster centers; the second deleting subunit is configured to delete the corresponding clients from the first preset hop neighbor set corresponding to other first cluster centers besides the first cluster center with the most first hop paths. If there are multiple second cluster centers, the determining subunit acquires the minimum network quality score among the first hop paths between each second cluster center and the corresponding client; and deletes the corresponding clients from the first preset hop neighbor set corresponding to other second cluster centers besides the second cluster center corresponding to the maximum value among the multiple minimum network quality scores; wherein the first cluster center with the most first hop paths from the corresponding client to each of the first cluster centers is designated as the second cluster center.

[0109] It should be noted that the apparatus provided in the above embodiments and the method provided in the above embodiments belong to the same concept, and the specific way in which each module and unit performs operations has been described in detail in the method embodiments, and will not be repeated here.

[0110] In another exemplary embodiment, this application provides an electronic device including a processor and a memory, wherein the memory stores computer-readable instructions that, when executed by the processor, implement the aforementioned policy and billing control method.

[0111] Figure 11 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown.

[0112] It should be noted that, Figure 11 The computer system 1000 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0113] like Figure 11As shown, the computer system 1000 includes a Central Processing Unit (CPU) 1001, which can perform various appropriate actions and processes based on programs stored in Read-Only Memory (ROM) 1002 or programs loaded from storage portion 1008 into Random Access Memory (RAM) 1003, such as executing the information recommendation method described in the above embodiments. Various programs and data required for system operation are also stored in RAM 1003. The CPU 1001, ROM 1002, and RAM 1003 are interconnected via bus 1004. An Input / Output (I / O) interface 1005 is also connected to bus 1004.

[0114] The following components are connected to I / O interface 1005: an input section 1006 including a keyboard, mouse, etc.; an output section 1007 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to I / O interface 1005 as needed. Removable media 1011, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 1010 as needed so that computer programs read from them can be installed into storage section 1008 as needed.

[0115] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1009, and / or installed from removable medium 1011. When the computer program is executed by central processing unit (CPU) 1001, it performs various functions defined in the system of this application.

[0116] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. The transmitted data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0117] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0118] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.

[0119] Another aspect of this application provides a computer-readable storage medium storing computer-readable instructions that, when executed by a processor, implement a method for constructing a SASE network architecture as described in any of the preceding embodiments.

[0120] Another aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the SASE network architecture construction method provided in the various embodiments described above.

[0121] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. The transmitted data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0123] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.

[0124] The above content is merely a preferred exemplary embodiment of this application and is not intended to limit the implementation of this application. Those skilled in the art can easily make corresponding modifications or alterations based on the main concept and spirit of this application. Therefore, the scope of protection of this application should be determined by the scope of protection claimed in the claims.

Claims

1. A method for constructing a SASE network architecture, characterized in that, The method comprises the following steps: determining network quality scores of links between each two clients in a plurality of clients; performing clustering processing on the plurality of clients based on the obtained plurality of network quality scores to obtain a plurality of client clusters, wherein, in the clustering processing, if a client and a cluster center are each other's arbitrary number of hop neighbors before a first preset number of hops, the corresponding client belongs to the category of the corresponding cluster center; if the network quality score between a client and another client is greater than a preset threshold, the corresponding clients are one-hop neighbors; if a first client and a second client are not n-hop neighbors, and a third client and the first client are n-hop neighbors and the third client and the second client are one-hop neighbors, then the first client and the second client are n+1-hop neighbors, and n is a positive integer; the arbitrary number of hops includes one hop and n+1 hop before the first preset number of hops; setting a POP point at a position corresponding to a cluster center of each client cluster, and constructing a SASE network architecture based on the set plurality of POP points.

2. The method of claim 1, wherein, The clustering processing on the plurality of clients based on the obtained plurality of network quality scores to obtain a plurality of client clusters comprises: randomly generating a preset number of initial cluster centers; determining a first preset number of hop neighbor set of each cluster center, and taking each cluster center and the corresponding first preset number of hop neighbor set as a client cluster, wherein the first preset number of hop neighbor set of each cluster center includes the arbitrary number of hop neighbors before the first preset number of hops of the corresponding cluster center; updating the cluster center of each client cluster, and if it is detected that the cluster center before updating and the cluster center after updating of at least one client cluster are different, jumping to the step of determining the preset number of hop neighbor set of each cluster center and taking each cluster center and the corresponding preset number of hop neighbor set as a client cluster; if it is detected that the cluster center before updating and the cluster center after updating of each client cluster are the same, ending the clustering processing procedure.

3. The method of claim 2, wherein, After the step of determining the first preset number of hop neighbor set of each cluster center and taking each cluster center and the corresponding first preset number of hop neighbor set as a client cluster, the method further comprises: if a cluster center and the corresponding first preset number of hop neighbor set are contained in the first preset number of hop neighbor set of another cluster center, merging the first preset number of hop neighbor set of the corresponding cluster center into the first preset number of hop neighbor set in the other cluster center.

4. The method of claim 2, wherein, After the step of determining the first preset number of hop neighbor set of each cluster center, the method further comprises: if there is a client that does not belong to the first preset number of hop neighbor set of any cluster center, taking the corresponding client as a cluster center and taking the corresponding client as a client cluster.

5. The method of claim 4, wherein, The step of determining the first preset number of hop neighbor set of each cluster center comprises: If a client belongs to a first preset number of hop neighbor sets corresponding to at least two cluster centers, a first cluster center corresponding to the client and the first cluster center is selected from the at least two cluster centers, wherein the at least two cluster centers other than the first cluster center correspond to a second number of hop neighbors of the client, and the first number is less than the second number; The corresponding client in the first preset number of hop neighbor sets corresponding to the cluster center other than the first cluster center is deleted.

6. The method of claim 5, wherein, If a client and a cluster center correspond to a second preset number of hop neighbors, the corresponding client is connected to the corresponding cluster center through a second preset number of hop paths; the method further comprises: If the first cluster center is multiple, the number of first number of hop paths from the corresponding client to each first cluster center is obtained; The corresponding client in the first preset number of hop neighbor sets corresponding to the cluster center other than the first cluster center with the largest number of first number of hop paths is deleted.

7. The method of claim 6, wherein, The method further comprises: If the second cluster center is multiple, the minimum network quality score in the first number of hop paths between each second cluster center and the corresponding client is obtained; The corresponding client in the first preset number of hop neighbor sets corresponding to the cluster center other than the second cluster center with the maximum value of the multiple minimum network quality scores is deleted; The first cluster center with the largest number of first number of hop paths from the corresponding client to each first cluster center is taken as the second cluster center. 8.A device for constructing a SASE network architecture, characterized in that, Comprise: A determination module is configured to determine a network quality score of a link between two clients in a plurality of clients; A clustering processing module is configured to perform clustering processing on the plurality of clients based on the obtained plurality of network quality scores to obtain a plurality of client clusters, wherein, in the clustering processing, if a client and a cluster center correspond to any number of hop neighbors before a first preset number of hop neighbors, the corresponding client belongs to a category of the corresponding cluster center, if a network quality score between a first client and a second client is less than a preset threshold, the corresponding client corresponds to a one-hop neighbor, if the first client and the second client do not correspond to n-hop neighbors, and a third client corresponds to n-hop neighbors with the first client and the second client, the first client and the second client correspond to n+1-hop neighbors, and n is a positive integer; the any number of hops includes one hop and n+1 hop before the first preset number of hops; A construction module is configured to set a POP point at a position corresponding to a cluster center of each client cluster, and construct a SASE network architecture based on the set plurality of POP points.

9. An electronic device, comprising: Comprise: A memory storing computer readable instructions; A processor reading the computer readable instructions stored in the memory to execute the method of any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, A computer readable instruction stored thereon, when executed by a processor of a computer, causes the computer to execute the method of any one of claims 1-7.

Citation Information

Patent Citations

  • Quality overhead ratio hop cluster-based service discovery method and mobility model establishing method

    CN101808338A

  • SASE-oriented flow routing method and system

    CN115037680A