Bottleneck link processing method, device, electronic device and computer storage medium
By initializing the graph and classifying nodes of the quantum key distribution network, identifying and optimizing the bottleneck link, the problem of bottleneck identification in the quantum key distribution network is solved, and the rapid and accurate identification and optimization of small and medium-sized networks is achieved, and network performance and stability are improved.
Patent Information
- Application Number
- CN202510948975.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-10
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2045-07-10
AI Technical Summary
The lack of efficient methods in existing quantum key distribution networks to identify bottleneck routes, resulting in network performance and availability being affected, and it is impossible to effectively identify bottleneck links in small and medium-sized quantum key distribution networks.
By initializing the quantum key distribution network, generating a connection graph, generating a first classification set based on node classification, determining the classification to be detected and identifying the first and second node sets, calculating the total key demand amount and the key generation rate of the cut set, identifying the edges whose key generation rate is less than the total demand amount as the bottleneck link, and optimizing the capacity expansion scheme of the bottleneck link.
Effectively identify and optimize the bottleneck links in the quantum key distribution network to ensure that the key requirements of all nodes are met in a timely manner, especially for small and medium-sized network identification, reducing resource waste, and improving network stability and capacity expansion effectiveness.
Smart Images

Figure CN120433938B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of quantum network technology, and in particular to a bottleneck link processing method, a bottleneck link processing device, an electronic device, and a computer-readable storage medium. Background Art
[0002] As quantum computing capabilities continue to improve, the security of optical network communications is under serious threat. Quantum key distribution (QKD), based on fundamental quantum principles, can distribute keys that are resistant to quantum computing attacks and theoretically absolutely secure, making it the most practical means of quantum-resistant secure communication.
[0003] To achieve quantum key distribution on a larger scale and over longer distances, quantum key distribution networks (QKDNs) have emerged. Through trusted relays and hop-by-hop forwarding across multiple relay nodes, communicating parties can distribute keys between any network nodes.
[0004] However, as the scale of quantum key distribution networks expands, the demand for key sites may increase significantly due to user growth or business expansion, leading to bottlenecks in existing quantum key distribution networks and affecting the overall performance and availability of the network. Therefore, it is crucial to ensure that the supply and demand of quantum keys provided by the quantum key distribution network are matched with the quantum keys required by tenants.
[0005] Existing quantum key distribution networks lack efficient methods to identify bottleneck routes within them and facilitate their expansion. Therefore, an effective method is urgently needed to locate bottleneck routes in small and medium-sized quantum key distribution networks. Summary of the Invention
[0006] In view of the above problems, embodiments of the present invention are proposed to provide a bottleneck link processing method, a bottleneck link processing device, an electronic device and a computer-readable storage medium that overcome the above problems or at least partially solve the above problems.
[0007] To solve the above problem, an embodiment of the present invention discloses a method for processing a bottleneck link, the method comprising:
[0008] Initializing a graph of a quantum key distribution network to obtain a connectivity graph of the quantum key distribution network;
[0009] generating a first classification set based on the classification of nodes in the connectivity graph;
[0010] When the first category set is not an empty set, determining a category to be detected from the first category set, and determining a first node set and a second node set from the connected graph based on the category to be detected;
[0011] Determining a total amount of key requirements between the first set of nodes and the second set of nodes;
[0012] Determining a cut set between the first set of nodes and the second set of nodes, and a key generation rate of the cut set;
[0013] When the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set is determined as a bottleneck link.
[0014] In one or more embodiments, further comprising:
[0015] An optimization solution for the bottleneck link is determined with the goal of minimizing the total cost.
[0016] In one or more embodiments, determining the first node set and the second node set from the connectivity graph based on the category to be detected includes:
[0017] Obtaining a binary code corresponding to each node in the connectivity graph according to the category to be detected;
[0018] The nodes whose binary codes are "1" are combined to obtain a first node set, and the nodes whose binary codes are "0" are combined to obtain a second node set.
[0019] In one or more embodiments, determining the total amount of key demand between the first set of nodes and the second set of nodes includes:
[0020] Determining whether the first node set and the second node set are both connected subgraphs;
[0021] If yes, then calculating a first key requirement from the first node set to the second node set, and a second key requirement from the second node set to the first node set;
[0022] The sum of the first key requirement and the second key requirement is calculated to obtain the total key requirement between the first node set and the second node set.
[0023] In one or more embodiments, further comprising:
[0024] When at least one of the first node set and the second node set is not the connected subgraph, deleting the to-be-detected category from the first category set to obtain an updated second category set;
[0025] The second classification set is used as the first classification set, and the process jumps to the step of determining a classification to be detected from the first classification set when the first classification set is not an empty set.
[0026] In one or more embodiments, determining the cut set between the first set of nodes and the second set of nodes, and the cut set key generation rate, includes:
[0027] Determine at least one target edge in the connectivity graph; one endpoint of the target edge belongs to the first node set, and the other endpoint belongs to the second node set;
[0028] Obtaining a key generation rate corresponding to each target edge;
[0029] The sum of the key generation rates is calculated to obtain the key generation rate of the cut set.
[0030] Accordingly, an embodiment of the present invention discloses a device for processing a bottleneck link, the device comprising:
[0031] A generating module, configured to generate a first classification set based on the classification of nodes in the connectivity graph;
[0032] a first determining module, configured to, when the first classification set is not an empty set, determine a classification to be detected from the first classification set, and determine a first node set and a second node set from the connectivity graph based on the classification to be detected;
[0033] A second determining module, configured to determine a total amount of key requirements between the first node set and the second node set;
[0034] a third determining module, configured to determine a cut set between the first node set and the second node set, and a key generation rate of the cut set;
[0035] The fourth determining module is configured to determine, when the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set as a bottleneck link.
[0036] In one or more embodiments, further comprising:
[0037] The fifth determination module is configured to determine an optimization solution for the bottleneck link with the goal of minimizing the total cost. In one or more embodiments, the first determination module is specifically configured to:
[0038] Obtaining a binary code corresponding to each node in the connectivity graph according to the category to be detected;
[0039] The nodes whose binary codes are "1" are combined to obtain a first node set, and the nodes whose binary codes are "0" are combined to obtain a second node set.
[0040] In one or more embodiments, the second determining module is specifically configured to:
[0041] Determining whether the first node set and the second node set are both connected subgraphs;
[0042] If yes, then calculating a first key requirement from the first node set to the second node set, and a second key requirement from the second node set to the first node set;
[0043] The sum of the first key requirement and the second key requirement is calculated to obtain the total key requirement between the first node set and the second node set.
[0044] In one or more embodiments, the first determining module is further configured to:
[0045] When at least one of the first node set and the second node set is not the connected subgraph, deleting the to-be-detected category from the first category set to obtain an updated second category set;
[0046] The second classification set is used as the first classification set, and the process jumps to the step of determining a classification to be detected from the first classification set when the first classification set is not an empty set.
[0047] In one or more embodiments, the third determining module is specifically configured to:
[0048] Determine at least one target edge in the connectivity graph; one endpoint of the target edge belongs to the first node set, and the other endpoint belongs to the second node set;
[0049] Obtaining a key generation rate corresponding to each target edge;
[0050] The sum of the key generation rates is calculated to obtain the key generation rate of the cut set.
[0051] Accordingly, an embodiment of the present invention discloses an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, the various steps of the above-mentioned bottleneck link processing method embodiment are implemented.
[0052] Accordingly, an embodiment of the present invention discloses a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the various steps of the embodiment of the bottleneck link processing method are implemented.
[0053] The embodiments of the present invention include the following advantages:
[0054] A quantum key distribution network is initialized to obtain a connected graph of the quantum key distribution network. A first classification set is then generated based on the classification of nodes in the connected graph. When the first classification set is not empty, a classification to be tested is determined from the first classification set. A first node set and a second node set are then determined from the connected graph based on the classification to be tested. The total key demand between the first node set and the second node set is determined, as well as a cut set between the first node set and the second node set and the key generation rate of the cut set. When the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set is determined as a bottleneck link. In this way, all nodes in the quantum key distribution network are traversed to ensure that the key demand of all nodes in the quantum key distribution network is met in a timely manner. For the cut sets that meet the requirements, the total key demand and key generation rate corresponding to them are calculated. Based on the total key demand and key generation rate, whether an edge in the cut set is a bottleneck link is determined. This effectively identifies bottleneck links in the quantum key distribution network, especially for small and medium-sized quantum key distribution networks, with faster and more accurate identification. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 This is a flowchart of the steps of Embodiment 1 of a method for processing a bottleneck link of the present invention;
[0056] Figure 2 A weighted undirected connected graph of an embodiment of a bottleneck link processing method of the present invention;
[0057] Figure 3 This is a flowchart of the steps of Embodiment 2 of a method for processing a bottleneck link of the present invention;
[0058] Figure 4 It is a structural block diagram of an embodiment of a bottleneck link processing device of the present invention. DETAILED DESCRIPTION
[0059] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0060] One of the core concepts of the embodiments of the present invention is to traverse all nodes in the quantum key distribution network to ensure that the key requirements of all nodes in the quantum key distribution network are met in a timely manner. Then, for the cut sets that meet the requirements, the corresponding total key requirements and key generation rate are calculated. Based on the total key requirements and key generation rate, it is determined whether the edges in the cut sets are bottleneck links. This can effectively identify bottleneck links in the quantum key distribution network, especially for small and medium-sized quantum key distribution networks, and the identification is faster and more accurate.
[0061] Reference Figure 1 , showing a flowchart of the steps of embodiment 1 of a bottleneck link processing method of the present invention, which can be applied to a quantum key distribution network, wherein the quantum key distribution network is a communication network that uses the principles of quantum mechanics (such as quantum entanglement, or the quantum no-cloning theorem) to achieve secure key distribution.
[0062] The method may specifically include the following steps:
[0063] Step 101: Initialize the graph of the quantum key distribution network to obtain a connectivity graph of the quantum key distribution network.
[0064] Specifically, the quantum key distribution network can be represented as a weighted undirected connected graph G(V, E), where V represents the nodes in the quantum key distribution network; E represents the quantum links connecting these nodes, that is, the edges in the graph; the weight of the edge is defined as the key generation rate of the quantum link, which can be measured in kbps.
[0065] When performing graph initialization on a quantum key distribution network, the weights of each node, quantum links between nodes, and edges of the quantum key distribution network can be input into a device for initialization. The device uses each node, each quantum link, and the corresponding weights to generate a weighted undirected connected graph.
[0066] Furthermore, the key requirement of each node can be modeled as a vector , each element in the vector represents the amount of key consumed by the node to send one-way communication services to other nodes.
[0067] Reference Figure 2 , shows a schematic diagram of a weighted undirected connected graph, where the quantum key distribution network includes five nodes A, B, C, D, and E, and currently includes six quantum links, namely AB, AC, AD, CE, BD, and DE. For node A, ,in, It refers to the amount of keys that need to be consumed at both nodes for a one-way communication service from node A to node B. The amount of keys required can be adjusted in actual use. If you want the quantum key distribution network traffic to have redundancy, then the amount of keys required plus the redundancy is defined as KDR That's it.
[0068] Furthermore, the weight of AB is 4, that is, the key generation rate of the quantum link between node A and node B is 4kbps. Correspondingly, the weight of AC is 7, the weight of AD is 6, the weight of DE is 4, the weight of BD is 3, and the weight of CE is 6.
[0069] Step 102: Generate a first classification set based on the classification of nodes in the connectivity graph.
[0070] Specifically, a binary mask can be used to represent the category to which each node belongs, and all possible categories are combined to obtain a category set (referred to as the "first category set" for ease of description).
[0071] Each node belongs to one of two categories: first nodes and second nodes. That is, any node belongs to either the first node or the second node. The set of first nodes is the first node set, and the set of second nodes is the second node set.
[0072] If one endpoint of any edge in a connected graph belongs to the first node set and the other endpoint belongs to the second node set, then the edge constitutes a cut set between the first node set and the second node set.
[0073] Furthermore, for any node, the binary code "1" may be marked as the first node, and the binary code "0" may be marked as the second node, thereby generating a first classification set.
[0074] For example, a connected graph consists of three nodes: A, B, and C. When node A is "0," node B is "0," and node C is "1," the corresponding binary code is "001." When node A is "0," node B is "1," and node C is "0," the corresponding binary code is "010." Similarly, we can obtain a first classification set consisting of six categories: 001, 010, 011, 100, 101, and 110.
[0075] It should be noted that in addition to using a binary mask to indicate whether each edge strip belongs to a cut set, other methods can also be used to indicate whether each edge strip belongs to a cut set. In practical applications, the representation method of the cut set can be set according to actual needs, and the embodiment of the present invention does not limit this.
[0076] Furthermore, regardless of the number of nodes in the connected graph, the classification of all 0s or all 1s is considered an empty set and is not considered. For example, continuing with the previous example, for a connected graph with 3 nodes, the classifications of "000" and "111" are considered empty sets.
[0077] Step 103 : When the first category set is not an empty set, determine a category to be detected from the first category set, and determine a first node set and a second node set from the connected graph based on the category to be detected.
[0078] After generating the first classification set, it is possible to check whether the first classification set is empty. If the first classification set is empty, the process can be terminated. If the first classification set is not empty, a classification can be selected from the first classification set as the classification to be tested, and the first node set and the second node set can be determined from the connectivity graph based on the classification to be tested.
[0079] Among them, when selecting the category to be detected, it can be randomly selected from the first category set, or it can be selected in other ways. In actual applications, the specific selection method of the category to be detected can be set according to actual needs, and the embodiment of the present invention does not limit this.
[0080] In an embodiment of the present invention, determining the first node set and the second node set from the connectivity graph based on the category to be detected includes:
[0081] Obtaining a binary code corresponding to each node in the connectivity graph according to the category to be detected;
[0082] The nodes whose binary codes are "1" are combined to obtain a first node set, and the nodes whose binary codes are "0" are combined to obtain a second node set.
[0083] Specifically, after determining the category to be detected, the binary code corresponding to each node in the connected graph can be determined based on the category to be detected. Since the binary code includes "0" and "1", the nodes belonging to "1" can be combined to obtain a first node set, and the nodes belonging to "0" can be combined to obtain a second node set. The sets of all 0s and all 1s can be deleted or not processed.
[0084] For example, Figure 2 In the connected graph shown, assuming that the binary code corresponding to nodes A, B, C, D, and E is "10011", then the first node set is "A, D, E" and the second node set is "B, C".
[0085] Step 104: Determine the total amount of key requirements between the first node set and the second node set.
[0086] After the first node set and the second node set are determined, the total amount of keys required to be consumed by the first node set and the second node set can be further determined.
[0087] The total amount of key requirements may be the sum of the key requirements required for bidirectional communication between the first node set and all nodes in the second node set.
[0088] In this embodiment of the present invention, determining the total amount of key requirements between the first set of nodes and the second set of nodes includes:
[0089] Determining whether the first node set and the second node set are both connected subgraphs;
[0090] If yes, then calculating a first key requirement from the first node set to the second node set, and a second key requirement from the second node set to the first node set;
[0091] Calculating the sum of the first key demand and the second key demand to obtain the total key demand between the first node set and the second node set;
[0092] When at least one of the first node set and the second node set is not the connected subgraph, deleting the to-be-detected category from the first category set to obtain an updated second category set;
[0093] The second classification set is used as the first classification set, and the process jumps to the step of determining a classification to be detected from the first classification set when the first classification set is not an empty set.
[0094] Specifically, after determining the first node set and the second node set, it is possible to detect whether the first node set and the second node set are a connected subgraph. If the first node set is a connected subgraph and the second node set is also a connected subgraph, then the key requirement required to connect the first node set to the second node set (recorded as the "first key requirement") can be calculated, as well as the key requirement required to connect the second node set to the first node set (recorded as the "second key requirement").
[0095] The key requirement between sets is defined as the key requirement required for a one-way communication service from any node in one set to any node in another set, which can be expressed as follows:
[0096] Formula (1)
[0097] Formula (2)
[0098] In formula (1), i For collection S Any node in j For collection T Any node in; In formula (2), i For collection T Any node in j For collection S Any node in the set S With collection TThey correspond to the first node set and the second node set respectively.
[0099] After obtaining the first key requirement and the second key requirement, the sum of the two is calculated to obtain the total key requirement between the first node set and the second node set, which can be expressed by the following formula:
[0100] Formula (3)
[0101] Furthermore, if at least one of the first node set and the second node set is not a connected subgraph, then the category to be detected can be deleted from the first category set to obtain an updated category set (recorded as the "second category set"), and then the second category set is used as the first category set to detect whether the first category set is an empty set. If it is not an empty set, the category to be detected is determined from the first category set, and the category to be detected continues to be detected.
[0102] It should be noted that when determining whether the first node set and the second node set are a connected subgraph, the DFS (Depth First Search) method can be used, or other methods can be used. In practical applications, the specific method of determining the connected subgraph can be set according to actual needs, and the embodiment of the present invention does not limit this.
[0103] Step 105: Determine a cut set between the first node set and the second node set, and a key generation rate of the cut set.
[0104] As mentioned above, if one endpoint of any edge in a weighted undirected connected graph belongs to the first node set and the other endpoint belongs to the second node set, then the edge belongs to a cut set. Therefore, all edges belonging to the cut set (referred to as "target edges") can be determined from the weighted undirected connected graph. The key generation rate of the cut set can then be calculated.
[0105] In this embodiment of the present invention, determining a cut set between the first node set and the second node set, and a key generation rate of the cut set, includes:
[0106] Determine at least one target edge in the connectivity graph; one endpoint of the target edge belongs to the first node set, and the other endpoint belongs to the second node set;
[0107] Obtaining a key generation rate corresponding to each target edge;
[0108] The sum of the key generation rates is calculated to obtain the key generation rate of the cut set.
[0109] Specifically, since each edge in the weighted undirected connected graph has a corresponding weight, that is, the key generation rate, the key generation rate corresponding to each target edge can be obtained from the weighted undirected connected graph, and then the sum of the key generation rates can be calculated to obtain the key generation rate corresponding to all cut sets. It can be specifically expressed by the following formula:
[0110] Formula (4)
[0111] in, k Indicates the k Edge, Indicates the k The key generation rate of the edge, represents the key generation rate corresponding to all cut sets.
[0112] Step 106: When the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set is determined as a bottleneck link.
[0113] Specifically, the key generation rate corresponding to the cut set can be compared with the total key demand. If the key generation rate is less than the total key demand, it means that the quantum link corresponding to the edge in the cut set is a bottleneck link.
[0114] Among them, the bottleneck link is the link in the quantum key distribution network that limits the communication needs between nodes due to insufficient key generation rate. Its importance is determined by the number of times it appears in the cut set that does not meet the conditions. The more times it appears, the higher the priority.
[0115] If the key generation rate is not less than the total key requirement, then the category to be detected can be deleted from the first category set to obtain an updated second category set, and the second category set is used as the first category set, and the process jumps to the step of determining the category to be detected from the first category set when the first category set is not an empty set.
[0116] In an embodiment of the present invention, a quantum key distribution network is graph initialized to obtain a connectivity graph of the quantum key distribution network. A first classification set is then generated based on the classification of nodes in the connectivity graph. When the first classification set is not empty, a classification to be tested is determined from the first classification set. Furthermore, a first node set and a second node set are determined from the connectivity graph based on the classification to be tested. The total key demand between the first node set and the second node set is determined, as well as a cut set between the first node set and the second node set and the key generation rate of the cut set. When the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set is determined as a bottleneck link. In this way, all nodes in the quantum key distribution network are traversed to ensure that the key demand of all nodes in the quantum key distribution network is met in a timely manner. For the cut sets that meet the requirements, the total key demand and key generation rate corresponding to them are calculated. Based on the total key demand and key generation rate, whether an edge in the cut set is a bottleneck link is determined. This effectively identifies bottleneck links in the quantum key distribution network, especially for small and medium-sized quantum key distribution networks, with faster and more accurate identification.
[0117] Reference Figure 3 , shows a flowchart of a second embodiment of a method for processing a bottleneck link of the present invention, which may specifically include the following steps:
[0118] Step 301: Initialize the graph of the quantum key distribution network to obtain a connectivity graph of the quantum key distribution network.
[0119] Specifically, the quantum key distribution network can be represented as a weighted undirected connected graph G(V, E), where V represents the nodes in the quantum key distribution network; E represents the quantum links connecting these nodes, that is, the edges in the graph; the weight of the edge is defined as the key generation rate of the quantum link, which can be measured in kbps.
[0120] When performing graph initialization on a quantum key distribution network, the weights of each node, quantum links between nodes, and edges of the quantum key distribution network can be input into a device for initialization. The device uses each node, each quantum link, and the corresponding weights to generate a weighted undirected connected graph.
[0121] Furthermore, the key requirement of each node can be modeled as a vector , each element in the vector represents the amount of key consumed by the node to send one-way communication services to other nodes.
[0122] Reference Figure 2, shows a schematic diagram of a weighted undirected connected graph, where the quantum key distribution network includes five nodes A, B, C, D, and E, and currently includes six quantum links, namely AB, AC, AD, CE, BD, and DE. For node A, ,in, It refers to the amount of keys that need to be consumed at both nodes for a one-way communication service from node A to node B. The amount of keys required can be adjusted in actual use. If you want the quantum key distribution network traffic to have redundancy, then the amount of keys required plus the redundancy is defined as KDR That's it.
[0123] Furthermore, the weight of AB is 4, that is, the key generation rate of the quantum link between node A and node B is 4kbps. Correspondingly, the weight of AC is 7, the weight of AD is 6, the weight of DE is 4, the weight of BD is 3, and the weight of CE is 6.
[0124] Step 302: Generate a first classification set based on the classification of nodes in the connectivity graph.
[0125] Specifically, a binary mask may be used to represent the category to which each node belongs, and all possible categories are combined to obtain a first category set.
[0126] Each node belongs to one of two categories: first nodes and second nodes. That is, any node belongs to either the first node or the second node. The set of first nodes is the first node set, and the set of second nodes is the second node set.
[0127] If one endpoint of any edge in a connected graph belongs to the first node set and the other endpoint belongs to the second node set, then the edge constitutes a cut set between the first node set and the second node set.
[0128] Furthermore, for any node, the binary code "1" may be marked as the first node, and the binary code "0" may be marked as the second node, thereby generating a first classification set.
[0129] For example, a connected graph consists of three nodes: A, B, and C. When node A is "0," node B is "0," and node C is "1," the corresponding binary code is "001." When node A is "0," node B is "1," and node C is "0," the corresponding binary code is "010." Similarly, we can obtain a first classification set consisting of six categories: 001, 010, 011, 100, 101, and 110.
[0130] It should be noted that in addition to using a binary mask to indicate whether each edge strip belongs to a cut set, other methods can also be used to indicate whether each edge strip belongs to a cut set. In practical applications, the representation method of the cut set can be set according to actual needs, and the embodiment of the present invention does not limit this.
[0131] Furthermore, regardless of the number of nodes in the connected graph, the classification of all 0s or all 1s is considered an empty set and is not considered. For example, continuing with the previous example, for a connected graph with 3 nodes, the classifications of "000" and "111" are considered empty sets.
[0132] Step 303: When the first category set is not an empty set, determine a category to be detected from the first category set, and determine a first node set and a second node set from the connected graph based on the category to be detected.
[0133] After generating the first classification set, it is possible to check whether the first classification set is empty. If the first classification set is empty, the process can be terminated. If the first classification set is not empty, a classification can be selected from the first classification set as the classification to be tested, and the first node set and the second node set can be determined from the connectivity graph based on the classification to be tested.
[0134] Among them, when selecting the category to be detected, it can be randomly selected from the first category set, or it can be selected in other ways. In actual applications, the specific selection method of the category to be detected can be set according to actual needs, and the embodiment of the present invention does not limit this.
[0135] In an embodiment of the present invention, determining the first node set and the second node set from the connectivity graph based on the category to be detected includes:
[0136] Obtaining a binary code corresponding to each node in the connectivity graph according to the category to be detected;
[0137] The nodes whose binary codes are "1" are combined to obtain a first node set, and the nodes whose binary codes are "0" are combined to obtain a second node set.
[0138] Specifically, after determining the category to be detected, the binary code corresponding to each node in the connected graph can be determined based on the category to be detected. Since the binary code includes "0" and "1", the nodes belonging to "1" can be combined to obtain a first node set, and the nodes belonging to "0" can be combined to obtain a second node set. The sets of all 0s and all 1s can be deleted or not processed.
[0139] For example, Figure 2In the connected graph shown, assuming that the binary code corresponding to nodes A, B, C, D, and E is "10011", then the first node set is "A, D, E" and the second node set is "B, C".
[0140] Step 304: Determine the total amount of key requirements between the first node set and the second node set.
[0141] After the first node set and the second node set are determined, the total amount of keys required to be consumed by the first node set and the second node set can be further determined.
[0142] The total amount of key requirements may be the sum of the key requirements required for bidirectional communication between the first node set and all nodes in the second node set.
[0143] In this embodiment of the present invention, determining the total amount of key requirements between the first set of nodes and the second set of nodes includes:
[0144] Determining whether the first node set and the second node set are both connected subgraphs;
[0145] If yes, then calculating a first key requirement from the first node set to the second node set, and a second key requirement from the second node set to the first node set;
[0146] Calculating the sum of the first key demand and the second key demand to obtain the total key demand between the first node set and the second node set;
[0147] When at least one of the first node set and the second node set is not the connected subgraph, deleting the to-be-detected category from the first category set to obtain an updated second category set;
[0148] The second classification set is used as the first classification set, and the process jumps to the step of determining a classification to be detected from the first classification set when the first classification set is not an empty set.
[0149] Specifically, after determining the first node set and the second node set, it is possible to detect whether the first node set and the second node set are a connected subgraph. If the first node set is a connected subgraph and the second node set is also a connected subgraph, then the first key requirement required to connect the first node set to the second node set can be calculated, as well as the second key requirement required to connect the second node set to the first node set can be calculated.
[0150] The key requirement between sets is defined as the key requirement required for a one-way communication service from any node in one set to any node in another set, which can be expressed as follows:
[0151] Formula (1)
[0152] Formula (2)
[0153] In formula (1), i For collection S Any node in j For collection T Any node in; In formula (2), i For collection T Any node in j For collection S Any node in the set S With collection T They correspond to the first node set and the second node set respectively.
[0154] After obtaining the first key requirement and the second key requirement, the sum of the two is calculated to obtain the total key requirement between the first node set and the second node set, which can be expressed by the following formula:
[0155] Formula (3)
[0156] Furthermore, if at least one of the first node set and the second node set is not a connected subgraph, then the category to be detected can be deleted from the first category set to obtain an updated second category set, and then the second category set is used as the first category set to detect whether the first category set is an empty set. If it is not an empty set, the category to be detected is determined from the first category set, and the category to be detected continues to be detected.
[0157] It should be noted that when determining whether the first node set and the second node set are connected subgraphs, the DFS Method, other methods may also be used. In practical applications, the specific method of determining the connected subgraph can be set according to actual needs, and the embodiment of the present invention does not limit this.
[0158] Step 305: Determine a cut set between the first node set and the second node set, and a key generation rate of the cut set.
[0159] As mentioned above, if one endpoint of any edge in a weighted undirected connected graph belongs to the first node set and the other endpoint belongs to the second node set, then the edge belongs to a cut set. Therefore, all target edges belonging to the cut set can be determined from the weighted undirected connected graph. The key generation rate of the cut set is then calculated.
[0160] In this embodiment of the present invention, determining a cut set between the first node set and the second node set, and a key generation rate of the cut set, includes:
[0161] Determine at least one target edge in the connectivity graph; one endpoint of the target edge belongs to the first node set, and the other endpoint belongs to the second node set;
[0162] Obtaining a key generation rate corresponding to each target edge;
[0163] The sum of the key generation rates is calculated to obtain the key generation rate of the cut set.
[0164] Specifically, since each edge in the weighted undirected connected graph has a corresponding weight, that is, the key generation rate, the key generation rate corresponding to each target edge can be obtained from the weighted undirected connected graph, and then the sum of the key generation rates can be calculated to obtain the key generation rate corresponding to all cut sets. It can be specifically expressed by the following formula:
[0165] Formula (4)
[0166] in, k Indicates the k Edge, Indicates the k The key generation rate of the edge, represents the key generation rate corresponding to all cut sets.
[0167] Step 306: When the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set is determined as a bottleneck link.
[0168] Specifically, the key generation rate corresponding to the cut set can be compared with the total key demand. If the key generation rate is less than the total key demand, it means that the quantum link corresponding to the edge in the cut set is a bottleneck link.
[0169] Among them, the bottleneck link is the link in the quantum key distribution network that limits the communication needs between nodes due to insufficient key generation rate. Its importance is determined by the number of times it appears in the cut set that does not meet the conditions. The more times it appears, the higher the priority.
[0170] If the key generation rate is not less than the total key requirement, then the category to be detected can be deleted from the first category set to obtain an updated second category set, and the second category set is used as the first category set, and the process jumps to the step of determining the category to be detected from the first category set when the first category set is not an empty set.
[0171] Step 307: determine an optimization solution for the bottleneck link with the goal of minimizing the total cost.
[0172] Specifically, after determining the bottleneck link, the key generation speed of the bottleneck link can be improved with the goal of minimizing the total cost, thereby obtaining an optimization plan for the bottleneck link. In this way, the bottleneck link in the quantum key distribution network can be expanded based on the optimization plan. Considering the actual situation, the key generation rate of each link can only be increased, not decreased, so the following objective function can be used:
[0173] Formula (5)
[0174] The constraints of the objective function include:
[0175]
[0176]
[0177] in, It is the first i The key generation rate of quantum links, After the expansion i The key generation rate of quantum links, For the i The length of the quantum link, For the i The expansion cost of quantum links, The cut set after expansion U The key generation rate.
[0178] After obtaining the optimization solution, the category to be detected can be deleted from the first category set to obtain an updated second category set, and the second category set is used as the first category set, and the process jumps to the step of determining the category to be detected from the first category set when the first category set is not an empty set.
[0179] In an embodiment of the present invention, a quantum key distribution network is graph initialized to obtain a connectivity graph of the quantum key distribution network. A first classification set is then generated based on the classification of nodes in the connectivity graph. When the first classification set is not empty, a classification to be tested is determined from the first classification set. Furthermore, a first node set and a second node set are determined from the connectivity graph based on the classification to be tested. The total key demand between the first node set and the second node set is determined, as well as a cut set between the first node set and the second node set and the key generation rate of the cut set. When the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set is determined as a bottleneck link. In this way, all nodes in the quantum key distribution network are traversed to ensure that the key demand of all nodes in the quantum key distribution network is met in a timely manner. For the cut sets that meet the requirements, the total key demand and key generation rate corresponding to them are calculated. Based on the total key demand and key generation rate, whether an edge in the cut set is a bottleneck link is determined. This effectively identifies bottleneck links in the quantum key distribution network, especially for small and medium-sized quantum key distribution networks, with faster and more accurate identification.
[0180] Furthermore, the embodiment of the present invention introduces the concept of expansion cost, and comprehensively considers the expansion cost to optimize the quantum key distribution network to ensure that the key requirements of all nodes can be met. This not only reduces unnecessary resource waste, but also increases network stability and improves the effectiveness and economy of network expansion.
[0181] It should be noted that for the sake of simplicity, the method embodiments are described as a series of actions. However, those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0182] Reference Figure 4 , shows a structural block diagram of an embodiment of a bottleneck link processing device of the present invention, which may specifically include the following modules:
[0183] Initialization module 401, used to initialize the graph of the quantum key distribution network to obtain a connectivity graph of the quantum key distribution network;
[0184] A generating module 402 is configured to generate a first classification set based on the classification of the nodes in the connectivity graph;
[0185] a first determining module 403 configured to, when the first category set is not an empty set, determine a category to be detected from the first category set, and determine a first node set and a second node set from the connectivity graph based on the category to be detected;
[0186] A second determining module 404 is configured to determine a total amount of key requirements between the first node set and the second node set;
[0187] A third determining module 405 is configured to determine a cut set between the first node set and the second node set, and a key generation rate of the cut set;
[0188] The fourth determining module 406 is configured to determine the quantum link corresponding to the edge in the cut set as a bottleneck link when the key generation rate is less than the total key demand.
[0189] In an embodiment of the present invention, the following further comprises:
[0190] The fifth determination module is configured to determine an optimization solution for the bottleneck link with the goal of minimizing the total cost. In one or more embodiments, the first determination module is specifically configured to:
[0191] Obtaining a binary code corresponding to each node in the connectivity graph according to the category to be detected;
[0192] The nodes whose binary codes are "1" are combined to obtain a first node set, and the nodes whose binary codes are "0" are combined to obtain a second node set.
[0193] In this embodiment of the present invention, the second determining module is specifically configured to:
[0194] Determining whether the first node set and the second node set are both connected subgraphs;
[0195] If yes, then calculating a first key requirement from the first node set to the second node set, and a second key requirement from the second node set to the first node set;
[0196] The sum of the first key requirement and the second key requirement is calculated to obtain the total key requirement between the first node set and the second node set.
[0197] In this embodiment of the present invention, the first determining module is further configured to:
[0198] When at least one of the first node set and the second node set is not the connected subgraph, deleting the to-be-detected category from the first category set to obtain an updated second category set;
[0199] The second classification set is used as the first classification set, and the process jumps to the step of determining a classification to be detected from the first classification set when the first classification set is not an empty set.
[0200] In this embodiment of the present invention, the third determining module is specifically configured to:
[0201] Determine at least one target edge in the connectivity graph; one endpoint of the target edge belongs to the first node set, and the other endpoint belongs to the second node set;
[0202] Obtaining a key generation rate corresponding to each target edge;
[0203] The sum of the key generation rates is calculated to obtain the key generation rate of the cut set. As for the apparatus embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0204] An embodiment of the present invention further provides an electronic device, including:
[0205] The present invention includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, each process of the embodiment of the bottleneck link processing method described above is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0206] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the various processes of the above-mentioned bottleneck link processing method embodiment are implemented, and the same technical effects can be achieved. To avoid repetition, they are not described here.
[0207] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0208] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, apparatuses, or computer program products. Thus, embodiments of the present invention may take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROMs, optical storage, etc.) containing computer-usable program code.
[0209] The embodiments of the present invention are described with reference to flowcharts and / or block diagrams of methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0210] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0211] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0212] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they become aware of the basic creative concepts. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.
[0213] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or terminal device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that includes the element.
[0214] The bottleneck link processing method and bottleneck link processing device provided by the present invention have been described in detail above. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is intended only to facilitate understanding of the method and core concept of the present invention. At the same time, those skilled in the art will appreciate that the specific implementation methods and scope of application may vary based on the concepts of the present invention. In summary, the contents of this specification should not be construed as limiting the present invention.
Claims
1. A method for processing a bottleneck link, characterized in that: The method comprises: Initializing a graph of a quantum key distribution network to obtain a connectivity graph of the quantum key distribution network; generating a first classification set based on the classification of nodes in the connectivity graph; When the first category set is not an empty set, determining a category to be detected from the first category set, and determining a first node set and a second node set from the connected graph based on the category to be detected; Determining a total amount of key requirements between the first set of nodes and the second set of nodes; Determining a cut set between the first set of nodes and the second set of nodes, and a key generation rate of the cut set; When the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set is determined as a bottleneck link.
2. The bottleneck link processing method according to claim 1, characterized in that: Also includes: An optimization solution for the bottleneck link is determined with the goal of minimizing the total cost.
3. The bottleneck link processing method according to claim 1, characterized in that: The determining a first node set and a second node set from the connectivity graph based on the classification to be detected includes: Obtaining a binary code corresponding to each node in the connectivity graph according to the category to be detected; The nodes whose binary codes are “1” are combined to obtain a first node set, and the nodes whose binary codes are “0” are combined to obtain a second node set.
4. The bottleneck link processing method according to claim 1, characterized in that: The determining the total amount of key requirements between the first set of nodes and the second set of nodes includes: Determining whether the first node set and the second node set are both connected subgraphs; If yes, then calculating a first key requirement from the first node set to the second node set, and a second key requirement from the second node set to the first node set; The sum of the first key requirement and the second key requirement is calculated to obtain the total key requirement between the first node set and the second node set.
5. The bottleneck link processing method according to claim 4, characterized in that: Also includes: When at least one of the first node set and the second node set is not the connected subgraph, deleting the to-be-detected category from the first category set to obtain an updated second category set; The second classification set is used as the first classification set, and the process jumps to the step of determining a classification to be detected from the first classification set when the first classification set is not an empty set.
6. The bottleneck link processing method according to claim 1, characterized in that: The determining of the cut set between the first node set and the second node set, and the cut set key generation rate, comprises: Determine at least one target edge in the connectivity graph; one endpoint of the target edge belongs to the first node set, and the other endpoint belongs to the second node set; Obtaining a key generation rate corresponding to each target edge; The sum of the key generation rates is calculated to obtain the key generation rate of the cut set.
7. A bottleneck link processing device, characterized in that: The device comprises: An initialization module, configured to initialize a graph of a quantum key distribution network to obtain a connectivity graph of the quantum key distribution network; A generating module, configured to generate a first classification set based on the classification of nodes in the connectivity graph; a first determining module, configured to, when the first classification set is not an empty set, determine a classification to be detected from the first classification set, and determine a first node set and a second node set from the connectivity graph based on the classification to be detected; A second determining module, configured to determine a total amount of key requirements between the first node set and the second node set; a third determining module, configured to determine a cut set between the first node set and the second node set, and a key generation rate of the cut set; The fourth determining module is configured to determine, when the key generation rate is less than the total key demand, the quantum link corresponding to the edge in the cut set as a bottleneck link.
8. The bottleneck link processing device according to claim 7, characterized in that: Also includes: The fifth determining module is configured to determine an optimization solution for the bottleneck link with the goal of minimizing the total cost.
9. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the steps of the bottleneck link processing method according to any one of claims 1 to 6 are implemented.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the bottleneck link processing method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Quantum key distribution method and quantum key distribution network system
CN108449146A
Quantum key distribution relay path determination method, device and system and medium
CN119341739A