Path determination method, device and system
By determining the port group path in the switching network in parallel and determining the undetermined path outside the determined path, the problem of a single method of path determination by controllers is solved, and path determination efficiency and hardware performance are improved.
Patent Information
- Application Number
- CN202310710329.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-14
- Publication Date
- 2024-12-17
AI Technical Summary
In the prior art, the controller determines the path in a relatively single way, resulting in low efficiency in redetermining the path in the switching network, affecting the reusability and hardware scalability of the hardware circuit.
By determining paths in the port group set in parallel in the switching network and determining undetermined paths outside the determined paths, ensuring that paths are independent of each other, reducing the need to redetermine paths, and improving path determination efficiency.
The efficiency of the controller to determine independent paths is improved, the reusability and hardware scalability of hardware circuits are enhanced, and the complexity and time of path determination are reduced.
Smart Images

Figure CN119155576A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a path determination method, device and system. Background Art
[0002] In the field of communication technology, communication nodes usually need to exchange data through a switching node. For example, the switching node includes a controller and multiple switching structures, and the multiple switching structures are connected to form a switching network. Multiple communication nodes that need to exchange data are connected to ports of the switching network, and the controller can configure paths between these ports in the switching network so that the data exchanged between the multiple communication nodes can be transmitted along the path.
[0003] For example, the switching network may have multiple inbound ports and multiple outbound ports, and any inbound port is connected to any outbound port. Assume that multiple groups of communication nodes need to exchange data through the switching network, and the multiple groups of communication nodes are connected to multiple groups of ports of the switching network (each group of ports includes an inbound port and an outbound port). Then, the controller may determine the paths between the inbound ports and the outbound ports in the multiple groups of ports in parallel, and then configure the determined paths in the switching network.
[0004] However, the way the controller determines these paths is relatively simple. Summary of the invention
[0005] The present application provides a path determination method, device and system, which can solve the problem that the controller has a relatively single way of determining the path. The technical solution is as follows:
[0006] In the first aspect, the present application provides a path determination method, the method comprising: a first controller determines a port group set in a plurality of port groups, then, in a switching network, in parallel determines the paths corresponding to the respective port groups in the port group set, and in a portion of the switching network outside the determined paths, determines the paths corresponding to the port groups for which the corresponding paths have not been determined. Wherein, the first controller is connected to a plurality of switching structures, the switching network formed by the plurality of switching structures has a plurality of first ports and a plurality of second ports, the first ports and the second ports belong to different switching structures, and any of the first ports can be connected to any of the second ports. The switching network may be a clos network or other network different from the clos network. The port group comprises: a first port and a second port for data to be exchanged, and the first port and the second port in different port groups are different; the port group set comprises: the first port and the second port both belong to at least two port groups of different switching structures; the path corresponding to any port group is: the path between the first port and the second port in any port group; and the paths corresponding to different port groups are independent of each other.
[0007] In the present application, the first controller first determines the path corresponding to each port group in the port group set, and then determines the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network outside the determined path. It can be seen that the way the first controller determines the path is different from the way the controller determines the path in the related art, thus enriching the way the controller determines the path.
[0008] In addition, since the first port and the second port of the port group in the port group set belong to different switching structures, in some switching networks (such as clos networks), the paths corresponding to the various port groups in the port group set must be independent of each other. Therefore, the first controller does not need to redetermine these paths. Moreover, the first controller subsequently determines other paths outside the determined paths. Even if the subsequently determined paths need to be redetermined, it will not affect the paths corresponding to the port groups in the port group set, so that the first controller does not need to redetermine the paths corresponding to the port groups in the port group set. In this way, the paths that need to be redetermined are reduced, and the efficiency of the first controller in determining independent paths is improved. Moreover, the paths corresponding to the port groups in the port group set are determined in parallel, which is more efficient than the paths corresponding to the port groups in the port group set determined in series. This method can ensure the maximum reusability of the hardware circuit and has good hardware scalability.
[0009] Optionally, the multiple first ports belong to r first switching structures among the multiple switching structures; the r first switching structures are divided into j structure groups; j≥1, when j>1, the first j-1 structure groups among the j structure groups all include k first switching structures, and the number of the first switching structures in the jth structure group is less than or equal to k; r>k>1; each of the first ports in the port group set belongs to one structure group among the j structure groups.
[0010] Further, in the case where each first port in the port group set belongs to one structure group, the port group set may include: one first port of each first switching structure in the one structure group. Optionally, the port group set may include: one first port of the same order in each first switching structure in the one structure group.
[0011] It is understandable that the number of port groups in the port group set may also be greater than 2, and this application does not limit this. In this case, when the first controller determines the port group set from the multiple port groups, it may first determine a portion of the port groups in the port group set from the multiple port groups, and then determine another portion of the port groups in the port group set based on the portion of the port groups, thereby gradually determining the port groups in the port group set.
[0012] For example, the first controller may first determine at least two initial port groups from a plurality of port groups, and then determine at least one newly added port group based on the at least two initial port groups. The port group set finally obtained includes the at least two initial port groups and the at least one newly added port group. Among them, the first port in the at least two initial port groups belongs to the first part of the first switching structure in a structure group, and the first port and the second port in the at least two initial port groups belong to different switching structures; the first port in the newly added port group belongs to the second part of the first switching structure in a structure group; the first port and the second port in the at least two initial port groups and the at least one newly added port group belong to different switching structures.
[0013] The first part of the first exchange structure and the second part of the first exchange structure can be any two parts in the one structure group. Optionally, the first part of the first exchange structure includes: the first i first exchange structures in a structure group; i≥2, the first ports in the above at least two initial port groups belong to the first i first exchange structures in a one-to-one correspondence; and optionally, the second part of the first exchange structure includes: the i+1th first exchange structure in a structure group; the above at least one newly added port group includes: the first port belongs to a port group of the i+1th first exchange structure.
[0014] Optionally, when the first controller determines the path corresponding to the port group for which the corresponding path has not been determined in a part of the switching network outside the determined path, it can continue to determine a new port group set in the port group associated with the above-mentioned structure group, and determine the path corresponding to the port group in the port group set in parallel. In this way, the efficiency of determining the path can be further improved.
[0015] For example, when the first controller determines the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network outside the determined path, the first controller can determine multiple first remaining port groups from multiple port groups, and determine a new port group set from the multiple first remaining port groups to obtain a first port group set; then, in the part of the switching network outside the determined path, the paths corresponding to the respective port groups in the first port group set are determined in parallel. Among them, the first port in the first remaining port group and the first port in the aforementioned port group set both belong to the above-mentioned structural group, and the first remaining port group is different from the port group in the determined port group set. On this basis, the first controller can also repeat this operation to sequentially obtain the paths corresponding to the port groups in the multiple first port group sets.
[0016] Optionally, when the first controller determines the path corresponding to the port group for which the corresponding path has not been determined in a part of the switching network outside the determined path, it can continue to determine a new port group set in the port groups associated with other structure groups different from the above-mentioned one structure group, and determine the path corresponding to the port groups in the port group set in parallel. In this way, the efficiency of determining the path can be further improved.
[0017] For example, when determining the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network located outside the determined path, the first controller may also determine multiple second remaining port groups in the multiple port groups, and determine a new port group set in the multiple second remaining port groups to obtain a second port group set; then, in the part of the switching network located outside the determined path, the paths corresponding to the respective port groups in the second port group set are determined in parallel. Among them, the first port in the second remaining port group and the first port in the aforementioned port group set belong to different structural groups, and the first port of the structural group where the first port in the second remaining port group is located is different from the first port in the determined port group set. For example, the first port in the second remaining port group belongs to another structural group other than the above-mentioned one structural group, and the other structural group is the next structural group of the one structural group in the j structural groups. Of course, the other structural group may not be the next structural group of the one structural group, for example, the other structural group may be the next structural group of the one structural group. On this basis, the first controller may also repeat this operation to sequentially obtain the paths corresponding to the port groups in the multiple second port group sets.
[0018] In combination with the above content, it can be known that the first controller can sequentially search for a port group set in the port groups associated with multiple structure groups (the first port in the port group associated with each structure group belongs to the switching structure in the structure group). In addition, when the first controller searches for a port group set in the port group associated with each structure group, it can sequentially search for multiple port group sets, and after each port group set is found, determine the paths corresponding to the multiple port group sets in parallel.
[0019] After determining the paths corresponding to the port groups in the port group set, the first controller may further determine paths corresponding to other port groups (port groups for which the corresponding paths have not been determined) in the part other than these paths in the switching network.
[0020] For example, when there are at least two other port groups other than the port group set in the plurality of port groups, the first controller may determine paths corresponding to the at least two other port groups in at least one of a parallel and a serial manner.
[0021] When the first controller determines the paths corresponding to multiple other port groups in a serial manner, the first controller can perform path determination operations on the multiple other port groups in sequence; wherein the path determination operation performed on any other port group includes: determining the path corresponding to any other port group in a part of the switching network that is outside the determined path.
[0022] When the first controller determines the paths corresponding to multiple other port groups in a parallel manner, if the paths corresponding to the multiple other port groups determined are not independent of each other, the first controller needs to re-determine the paths corresponding to the multiple other port groups until the paths corresponding to the multiple other port groups determined are independent of each other.
[0023] Optionally, the multiple first ports belong to r first switching structures among the multiple switching structures; before determining the port group set in the multiple port groups, the first controller may also obtain information about the multiple port groups, and arrange the information about the multiple port groups according to the order of the first switching structures to which the first ports in the port group belong in the r first switching structures. The first controller arranges the information about the multiple port groups according to the order of the first switching structures to which the first ports in the port group belong in the r first switching structures, which can facilitate the first controller to perform subsequent operations in the path determination method based on the information.
[0024] Optionally, after determining the paths corresponding to the multiple port groups, the first controller may also configure the paths corresponding to the multiple port groups in the switching network. It is understandable that the first controller may also instruct other devices or equipment to configure the paths corresponding to the multiple port groups without configuring the paths corresponding to the multiple port groups in the switching network.
[0025] The multiple switching structures in the present application may all be optical switching structures, or may all be electrical switching structures, or a portion of the switching structures may be optical switching structures, and another portion of the switching structures may be electrical switching structures. In other words, the multiple switching structures include: at least one switching structure of an optical switching structure and an electrical switching structure. The embodiments of the present application are not limited to this.
[0026] In a second aspect, a path determination device is provided, wherein the path determination device belongs to a first controller, the first controller is connected to a plurality of switching structures, the switching network formed by the plurality of switching structures has a plurality of first ports and a plurality of second ports, the first ports and the second ports belong to different switching structures, and any of the first ports can be connected to any of the second ports; the path determination device comprises: a first determination module, a second determination module and a third determination module.
[0027] The first determination module is used to determine a port group set among multiple port groups; the port group includes: one first port and one second port for data to be exchanged, and the first port and the second port in different port groups are different; the port group set includes: the first port and the second port both belong to at least two port groups of different switching structures; the second determination module is used to determine, in the switching network, the paths corresponding to each port group in the port group set in parallel; the path corresponding to any port group is: the path between the first port and the second port in any port group; and the paths corresponding to different port groups are independent of each other; the third determination module is used to determine, in the part of the switching network outside the determined path, the path corresponding to the port group for which the corresponding path has not been determined.
[0028] In the present application, the first controller first determines the path corresponding to each port group in the port group set, and then determines the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network outside the determined path. It can be seen that the way the first controller determines the path is different from the way the controller determines the path in the related art, thus enriching the way the controller determines the path.
[0029] In addition, since the first port and the second port of the port group in the port group set belong to different switching structures, in some switching networks (such as clos networks), the paths corresponding to the various port groups in the port group set must be independent of each other. Therefore, the first controller does not need to redetermine these paths. Moreover, the first controller subsequently determines other paths outside the determined paths. Even if the subsequently determined paths need to be redetermined, it will not affect the paths corresponding to the port groups in the port group set, so that the first controller does not need to redetermine the paths corresponding to the port groups in the port group set. In this way, the paths that need to be redetermined are reduced, and the efficiency of the first controller in determining independent paths is improved. Moreover, the paths corresponding to the port groups in the port group set are determined in parallel, which is more efficient than the paths corresponding to the port groups in the port group set determined in series. This method can ensure the maximum reusability of the hardware circuit and has good hardware scalability.
[0030] Optionally, the multiple first ports belong to r first switching structures among the multiple switching structures; the r first switching structures are divided into j structure groups; j≥1, when j>1, the first j-1 structure groups among the j structure groups all include k first switching structures, and the number of the first switching structures in the jth structure group is less than or equal to k; r>k>1; each of the first ports in the port group set belongs to one structure group among the j structure groups.
[0031] Further, in the case where each first port in the port group set belongs to one structure group, the port group set may include: one first port of each first switching structure in the one structure group. Optionally, the port group set may include: one first port of the same order in each first switching structure in the one structure group.
[0032] It is understandable that the number of port groups in the port group set may also be greater than 2, and this application does not limit this. In this case, when the first controller determines the port group set from the multiple port groups, it may first determine a portion of the port groups in the port group set from the multiple port groups, and then determine another portion of the port groups in the port group set based on the portion of the port groups, thereby gradually determining the port groups in the port group set.
[0033] For example, the first controller may first determine at least two initial port groups from a plurality of port groups, and then determine at least one newly added port group based on the at least two initial port groups. The port group set finally obtained includes the at least two initial port groups and the at least one newly added port group. Among them, the first port in the at least two initial port groups belongs to the first part of the first switching structure in a structure group, and the first port and the second port in the at least two initial port groups belong to different switching structures; the first port in the newly added port group belongs to the second part of the first switching structure in a structure group; the first port and the second port in the at least two initial port groups and the at least one newly added port group belong to different switching structures.
[0034] The first part of the first exchange structure and the second part of the first exchange structure can be any two parts in the one structure group. Optionally, the first part of the first exchange structure includes: the first i first exchange structures in a structure group; i≥2, the first ports in the above at least two initial port groups belong to the first i first exchange structures in a one-to-one correspondence; and optionally, the second part of the first exchange structure includes: the i+1th first exchange structure in a structure group; the above at least one newly added port group includes: the first port belongs to a port group of the i+1th first exchange structure.
[0035] Optionally, when the third determination module determines the path corresponding to the port group for which the corresponding path has not been determined in the part of the switching network outside the determined path, it can continue to determine a new port group set in the port group associated with the above-mentioned structure group, and determine the path corresponding to the port group in the port group set in parallel. In this way, the efficiency of determining the path can be further improved.
[0036] For example, when the third determination module determines the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network located outside the determined path, it can determine multiple first remaining port groups in multiple port groups, and determine a new port group set in the multiple first remaining port groups to obtain a first port group set; then, in the part of the switching network located outside the determined path, the paths corresponding to the respective port groups in the first port group set are determined in parallel. Among them, the first port in the first remaining port group and the first port in the aforementioned port group set both belong to the above-mentioned structural group, and the first remaining port group is different from the port group in the determined port group set. On this basis, the third determination module can also repeat this operation to sequentially obtain the paths corresponding to the port groups in the multiple first port group sets.
[0037] Optionally, when the third determination module determines the path corresponding to the port group for which the corresponding path has not been determined in the part of the switching network outside the determined path, it can continue to determine a new port group set in the port groups associated with other structure groups different from the above-mentioned one structure group, and determine the path corresponding to the port group in the port group set in parallel. In this way, the efficiency of determining the path can be further improved.
[0038] For example, when determining the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network located outside the determined path, the third determination module can also determine multiple second remaining port groups in the multiple port groups, and determine a new port group set in the multiple second remaining port groups to obtain a second port group set; then, in the part of the switching network located outside the determined path, the paths corresponding to each port group in the second port group set are determined in parallel. Among them, the first port in the second remaining port group and the first port in the aforementioned port group set belong to different structural groups, and the first port of the structural group where the first port in the second remaining port group is located is different from the first port in the determined port group set. For example, the first port in the second remaining port group belongs to another structural group other than the above-mentioned one structural group, and the other structural group is the next structural group of the one structural group in the j structural groups. Of course, the other structural group may not be the next structural group of the one structural group, for example, the other structural group may be the next structural group of the one structural group. On this basis, the first controller can also repeat this operation to obtain the paths corresponding to the port groups in the multiple second port group sets in sequence.
[0039] In combination with the above content, it can be known that the first controller can sequentially search for a port group set in the port groups associated with multiple structure groups (the first port in the port group associated with each structure group belongs to the switching structure in the structure group). In addition, when the first controller searches for a port group set in the port group associated with each structure group, it can sequentially search for multiple port group sets, and after each port group set is found, determine the paths corresponding to the multiple port group sets in parallel.
[0040] After determining the paths corresponding to the port groups in the port group set, the first controller may further determine paths corresponding to other port groups (port groups for which the corresponding paths have not been determined) in the part other than these paths in the switching network.
[0041] For example, when there are at least two other port groups other than the port group set in the multiple port groups, the third determination module may be configured to determine paths corresponding to the at least two other port groups in at least one of a parallel and a serial manner.
[0042] When the third determination module determines the paths corresponding to multiple other port groups in a serial manner, the third determination module can perform path determination operations on the multiple other port groups in sequence; wherein the path determination operation performed on any other port group includes: determining the path corresponding to any other port group in a part of the switching network that is outside the determined path.
[0043] When the third determination module determines the paths corresponding to multiple other port groups in a parallel manner, if the paths corresponding to the multiple other port groups determined are not independent of each other, then the third determination module needs to re-determine the paths corresponding to the multiple other port groups until the paths corresponding to the multiple other port groups determined are independent of each other.
[0044] Optionally, the multiple first ports belong to r first switching structures among the multiple switching structures; the path determination device further includes: an acquisition module and an arrangement module. The acquisition module is used to acquire information of the multiple port groups; the arrangement module is used to arrange the information of the multiple port groups according to the order of the first switching structures to which the first ports in the port group belong in the r first switching structures. The first controller arranges the information of the multiple port groups according to the order of the first switching structures to which the first ports in the port group belong in the r first switching structures, which can facilitate the first controller to perform subsequent operations in the path determination method based on the information.
[0045] Optionally, the path determination device may further include a configuration module, which is used to configure the paths corresponding to the multiple port groups in the switching network after determining the paths corresponding to the multiple port groups. It is understandable that the first controller may also instruct other devices or equipment to execute the configuration of the paths corresponding to the multiple port groups without configuring the paths corresponding to the multiple port groups in the switching network.
[0046] The multiple switching structures in the present application may all be optical switching structures, or may all be electrical switching structures, or a portion of the switching structures may be optical switching structures, and another portion of the switching structures may be electrical switching structures. In other words, the multiple switching structures include: at least one switching structure of an optical switching structure and an electrical switching structure. The embodiments of the present application are not limited to this.
[0047] In a third aspect, the present application provides a path determination device, comprising: a processor and a memory, wherein the memory stores a program, and the processor is used to execute the program stored in the memory to implement the path determination method described in any design of the first aspect.
[0048] In a fourth aspect, the present application provides a chip, comprising a programmable logic circuit and / or program instructions, which, when the chip is running, is used to implement the path determination method as described in any one of the designs in the first aspect.
[0049] In a fifth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions, and when the instructions are executed on a computer, the computer executes the path determination method as described in any one of the designs in the first aspect.
[0050] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the path determination method described in any one of the designs in the first aspect.
[0051] In the seventh aspect, the present application provides a switching node, comprising: a first controller and multiple switching structures; the first controller is connected to the multiple switching structures, the switching network formed by the multiple switching structures has multiple first ports and multiple second ports, the first ports and the second ports belong to different switching structures, and any first port is connected to any second port; the first controller is used to execute the method described in any design of the first aspect.
[0052] In an eighth aspect, the present application provides a communication system, comprising: a switching node, a plurality of first communication nodes and a plurality of second communication nodes; the switching node is the switching node described in the seventh aspect; the plurality of first communication nodes are connected one-to-one with a plurality of first ports in the switching node; the plurality of second communication nodes are connected one-to-one with a plurality of second ports in the switching node.
[0053] The effects of the third to eighth aspects mentioned above can refer to the effects of the corresponding designs in the first and second aspects mentioned above, and this application will not elaborate on them here. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 A schematic diagram of the structure of a communication system provided for this application;
[0055] Figure 2 A schematic diagram of an optical switching method provided in this application;
[0056] Figure 3 A schematic diagram of a clos network provided for this application;
[0057] Figure 4 A bipartite graph corresponding to a CSM provided in this application;
[0058] Figure 5 A bipartite graph corresponding to another CSM provided in this application;
[0059] Figure 6 A bipartite graph corresponding to another CSM provided in this application;
[0060] Figure 7 A bipartite graph corresponding to another CSM provided in this application;
[0061] Figure 8 A flow chart of a path determination method provided in this application;
[0062] Fig. 9 A schematic diagram of a switching network provided for this application;
[0063] Fig.10 A schematic diagram of a structural group provided for this application;
[0064] Fig.11 A block diagram of a path determination device provided by the present application;
[0065] Fig.12 A block diagram of another path determination device provided by the present application;
[0066] Fig.13 A schematic diagram of the structure of a path determination device provided in this application. DETAILED DESCRIPTION
[0067] In order to make the principles and technical solutions of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0068] The present application provides a communication system, which may be an optical transmission network (OTN), a wireless network system, a data network system, a data center, etc. The communication system includes a plurality of nodes connected to form a communication network. The plurality of nodes include: a plurality of communication nodes and at least one switching node. Communication nodes may exchange data through switching nodes. Communication nodes may be network cards, terminal devices, servers, etc., and switching nodes may be routers, switches, etc. A node may be a device itself or a part of a device.
[0069] For example, Figure 1 As shown, the first communication node 01 and the second communication node 02 in the communication system are connected via a switching node 03, and the first communication node 01 and the second communication node 02 can exchange data via the switching node 03. The first communication node 01 and the second communication node 02 can belong to the same device or different devices, which is not limited in the present application.
[0070] Switching nodes can use electrical switching or optical switching (OSW) to exchange data.
[0071] In the electrical switching method, a communication node that needs to send data can generate an electrical signal carrying the data, convert the electrical signal into an optical signal, and transmit the optical signal to a port of the switching node. After receiving the optical signal from one port, the switching node can convert the optical signal into an electrical signal, and then transmit the electrical signal to another communication node from another port after converting the electrical signal into an optical signal. The other communication node can convert the received optical signal into an electrical signal and extract the data carried by the electrical signal. In this way, a communication node and another communication node can exchange data through the switching node. However, the electrical switching method requires photoelectric conversion and / or electro-optical conversion at the node, and both photoelectric conversion and electro-optical conversion will consume more energy and bring about a large delay. At the same time, when data is exchanged between communication nodes through multi-stage switching nodes, each stage of the switching node will bring about a large delay, and the delay brought by each stage of the switching node is uncertain. Therefore, the delay brought by the multi-stage switching node as a whole is very uncertain.
[0072] In the optical switching method, a communication node that needs to send data can generate an optical signal carrying the data, and transmit the optical signal to a port of the switching node. The switching node can transmit the optical signal received from the port to another communication node from another port. The other communication node can extract the data carried by the received optical signal. In this way, a communication node and another communication node can exchange data through the switching node. It can be seen that the optical switching method does not require photoelectric conversion and / or electro-optical conversion at the node, so there will be no more energy consumption and greater delay due to photoelectric conversion and electro-optical conversion.
[0073] Furthermore, when communication nodes exchange data through a switching node, the communication node that sends data is called a sender, and the communication node that receives data is called a receiver. Since there can be one or more senders and receivers that exchange data through the same switching node, when multiple senders simultaneously exchange data with one receiver through one switching node, a receiver conflict (also called a port conflict) occurs.
[0074] In this case, the switching node that exchanges data in an electrical switching manner will cache the electrical signal sent by one transmitting end, and send an optical signal to the receiving end based on the electrical signal sent by another transmitting end. After sending the optical signal, the switching node will then send an optical signal to the receiving end based on the cached electrical signal.
[0075] However, the switching nodes that use optical switching to exchange data do not have the ability to cache optical signals. If a receiving end conflict occurs, it will affect the communication between the sending end and the receiving end. Therefore, the switching nodes that use optical switching to exchange data need to adopt certain mechanisms to avoid receiving end conflicts.
[0076] For example, the following will be combined with Figure 2 A method for avoiding receiving-end conflicts in an optical switching method is described.
[0077] like Figure 2 As shown, the switching node 03 that uses optical switching to perform data exchange includes: multiple switching structures 031 connected to form a switching network. The switching structure 031 may include a crossbar array or multiple crossbar arrays. The crossbar array is non-blocking, and a connection can be established between any two ports. The switching network formed by connecting multiple switching structures 031 can be as follows: Figure 3As shown, the multiple switching structures 031 in the switching network are divided into X input-stage switching structures 031 (also called input switch module (ISM)), Y intermediate-stage switching structures 031 (also called intermediate switch module (CSM)) and X output-stage switching structures 031 (also called output switch module (OSM)). X and Y are both integers greater than or equal to 2. The switching network in the present application may be a clos network (or a network different from a clos network), which is a multi-stage switching network. Figure 3 The clos network shown is a three-level (clos) network, which can also be called a symmetrical three-level clos network.
[0078] Each ISM has Z input ports and Y output ports, each CSM has X input ports and X output ports, and each OSM has Y input ports and Z output ports. The switching network can be represented by the symbol C(Z, Y, X). The output port of the ISM is connected to the input port of the CSM, and the output ports of different ISMs are connected to different input ports of the CSM. In addition, the m output ports of each ISM are connected to the input ports of m CSMs in a one-to-one correspondence. The input port of the OSM is connected to the output port of the CSM, and the input ports of different OSMs are connected to different output ports of the CSM. In addition, the m input ports of each OSM are connected to the output ports of m CSMs in a one-to-one correspondence.
[0079] It can be seen that there is one and only one link between each ISM and each CSM, and there is one and only one link between each CSM and each OSM. Moreover, any of the input ports of the X ISMs can be connected to any of the output ports of the X OSMs. It can be understood that, since the optical path is reversible, the above-mentioned input port can also be an output port, and the output port can also be an input port. If the X*Y input ports of the X ISMs are called multiple first ports, and the X*Y output ports of the X OSMs are called multiple second ports, then any first port is connected to any second port. It can be seen that the switching network formed by connecting multiple switching structures 031 has multiple first ports and multiple second ports, the first port and the second port belong to different switching structures, and any first port can be connected to any second port.
[0080] Please continue to refer to Figure 2In addition to the multiple switching structures 031, the switching node also includes a first controller 032 and a second controller 033 (the switching node may not include the second controller 033, in which case the switching node includes: the first controller 032 and the multiple switching structures 031). The first controller 032 is connected to both the multiple switching structures 031 and the second controller 033, and the second controller 033 is also connected to multiple groups of communication nodes, each group of communication nodes includes: two communication nodes, and the two communication nodes are respectively connected to the first port and the second port of the switching network. Figure 2 Only one group of communication nodes (a first communication node 01 and a second communication node 02) are shown, and the connection relationship between the group of communication nodes and the ports of the switching network is not shown.
[0081] When each group of communication nodes needs to exchange data through the switching node 03, the group of communication nodes can send an exchange request to the second controller 033. The second controller 033 can determine the exchange time for the group of communication nodes to exchange data based on the exchange request. The communication nodes that exchange data at the exchange time determined by the second controller 033 may have at least two groups of communication nodes, and the at least two groups of communication nodes are respectively connected to different first ports and different second ports of the switching network.
[0082] After determining the switching time, the second controller 033 may send a configuration instruction to the first controller 031, the configuration instruction being used to indicate at least two port groups corresponding to the at least two groups of communication nodes, each port group including: a first port and a second port connected to a corresponding group of communication nodes. Since the at least two groups of communication nodes are respectively connected to different first ports and different second ports of the switching network, the first port and the second port in the at least two port groups are different. The first controller 031 may determine the path corresponding to each port group in the switching network based on the received configuration instruction, and configure the path in the switching network. In this way, the paths corresponding to the at least two port groups are configured in the switching network.
[0083] After configuring the paths corresponding to the at least two port groups in the switching network, the second controller 033 also needs to send a switching response carrying the switching time to the at least two groups of communication nodes, so that the at least two groups of communication nodes exchange data through the paths corresponding to the corresponding port groups at the switching time.
[0084] According to the above content, it can be known that in the switching node using optical switching, the second controller needs to determine the exchange time for each group of communication nodes to exchange data, and the first port and the second port in the port group corresponding to different groups of communication nodes exchanging data at the same exchange time are different, thereby avoiding receiving end conflicts (port conflicts).
[0085] In addition, according to the above content, it can be known that the efficiency of the process (also called mapping process) in which the first controller in the switching node determines the path corresponding to the port group has a great influence on the efficiency of exchanging data between communication nodes. Therefore, improving the efficiency of this process is crucial to improving the performance of the switching node.
[0086] In the related art, the first controller determines the paths corresponding to the at least two port groups in parallel. In addition, in order to avoid conflicts between data exchanged by different groups of communication nodes in the communication network, the paths corresponding to different groups of ports are usually required to be independent of each other.
[0087] For example, the first controller may use a matrix decomposition method to determine paths corresponding to multiple port groups in parallel. In this method, a matrix P is used to represent multiple port groups:
[0088]
[0089] The first row and mth column element of the matrix P represents the first port in the mth port group among the multiple port groups, and the second row and mth column element of the matrix P represents the second port in the mth port group, where m≥1.
[0090] For example, assume that the switching network includes 3 ISMs, 3 OSMs, and 4 CSMs.
[0091]
[0092] Among them, the first ports 1, 2, 3, and 4 belong to the first ISM, the first ports 5, 6, 7, and 8 belong to the second ISM, and the first ports 8, 10, 11, and 12 belong to the third ISM. The second ports 1, 2, 3, and 4 belong to the first OSM, the first ports 5, 6, 7, and 8 belong to the second OSM, and the first ports 8, 10, 11, and 12 belong to the third OSM.
[0093] The matrix P can be converted into a business matrix:
[0094] The nth row and the mth column in the service matrix H represent the number of port groups whose first port belongs to the nth ISM and whose second port belongs to the mth OSM.
[0095] For example, the port group in which the first port belongs to the first ISM and the second port belongs to the first OSM includes: port group (1, 3), and it can be seen that the number of port groups in which the first port belongs to the first ISM and the second port belongs to the first OSM is 1. Therefore, the element in the first row and the first column of the service matrix is 1.
[0096] For another example, the port groups in which the first port belongs to the first ISM and the second port belongs to the second OSM include: port group (3, 7) and port group (4, 6). It can be seen that the number of port groups in which the first port belongs to the first ISM and the second port belongs to the second OSM is 2. Therefore, the element in the first row and second column of the service matrix is 2.
[0097] Furthermore, corresponding assignment matrices may be generated in parallel according to the row elements of the service matrix.
[0098] For example, the assignment matrix generated according to the first row of elements in the service matrix is:
[0099] The assignment matrix generated according to the second row elements of the business matrix is:
[0100] The assignment matrix generated according to the third row elements of the business matrix is:
[0101] The element in the nth row and mth column of the assignment matrix C1 indicates the number of port groups connected through the nth CSM, whose first port belongs to the first ISM, and whose second port belongs to the mth OSM. For example, taking the element in the 1st row and 1st column of C1 as an example, the value of this element is 1, which indicates that the number of port groups connected through the 1st CSM, whose first port belongs to the first ISM, and whose second port belongs to the first OSM is 1. If the element in the assignment matrix is greater than 1, it means that the number of port groups connected through the same CSM, whose first port belongs to the same ISM, and whose second port belongs to the same OSM is greater than 1. In this case, port conflicts will occur. Therefore, in order to avoid port conflicts, the elements in the assignment matrix are 0 or 1.
[0102] After generating the assignment matrix according to the row elements in the service matrix, the two assignment matrices can be added. If the matrix obtained by addition contains an element greater than 1, it means that the number of port groups connected through the same CSM, the first port belongs to different ISMs, and the second port belongs to the same OSM is greater than 1. In this case, port conflicts will also occur. Therefore, at least one of the two assignment matrices needs to be adjusted so that the matrix obtained by adding the two assignment matrices does not contain an element greater than 1. After that, the matrix obtained by adding the two assignment matrices is added to the next assignment matrix, and this is repeated until all the assignment matrices are added and the matrix obtained by adding all the assignment matrices does not contain an element greater than 1.
[0103] For example, It can be seen that there are multiple elements greater than 1 in the matrix obtained by adding C1 and C2. In this case, port conflicts will occur, so C1 and C2 need to be adjusted so that there are no elements greater than 1 in the matrix obtained by C1+C2. For example, after adjustment, There are no elements greater than 1 in this matrix. Afterwards, when this matrix is added to C3, there will be elements greater than 1 in the resulting matrix. At this time, at least one of the matrices C1, C2, and C3 needs to be adjusted (for example, matrix C3 needs to be adjusted) so that the matrix obtained by C1+C2+C3 does not contain elements greater than 1.
[0104] Afterwards, based on the finally obtained C1, C2, and C3, the service matrix H is decomposed into four matrices corresponding to the four CSMs:
[0105]
[0106] In the four matrices decomposed from the service matrix H, the element in the nth row and mth column of the matrix corresponding to each CSM represents the number of port groups that need to be connected through the CSM and whose first port belongs to the nth ISM and whose second port belongs to the mth OSM.
[0107] After obtaining four matrices corresponding to four CSMs, the paths corresponding to each of these matrices can be output. The paths corresponding to each matrix include: the path corresponding to the port group of the ISM corresponding to the row of the element with a value of 1 in the matrix, and the OSM corresponding to the column of the element whose first port belongs to the ISM, and the path passing through the CSM corresponding to the matrix.
[0108] According to the above content, the first controller determines the paths corresponding to the at least two groups of ports in parallel, which may cause at least some of the paths to fail to meet the requirements of mutual independence (such as the above-mentioned situation where there is a port conflict). In this case, the first controller needs to redetermine the paths corresponding to the at least two groups of ports until the determined paths corresponding to the at least two groups of ports are independent of each other (such as adjusting at least one matrix in C1 and C2 in the above content). In addition, the number of times the path is redetermined is uncontrollable, resulting in the time for the first controller to determine the path being uncontrollable. In addition, the complexity of the first controller determining the path each time is high. It can be seen that the efficiency of the first controller in determining independent paths is low, resulting in poor performance of the switching node.
[0109] In the related art, the first controller may also determine the paths corresponding to the multiple port groups in sequence in a serial manner. For example, the first controller may determine the paths corresponding to the multiple port groups in sequence using a bipartite graph edge coloring method. In this method, the first controller needs to determine the port group corresponding to each CSM in the multiple CSMs in sequence, and the first port and the second port in the port group corresponding to each CSM are connected through the CSM. The first controller may determine the CSM corresponding to each port group in the multiple port groups in sequence according to the above-mentioned business matrix, and generate a bipartite graph corresponding to each CSM. The bipartite graph includes: points for representing 3 ISMs, points for representing 3 OSMs, and lines for characterizing the port groups corresponding to the CSMs, one end of the line is connected to the point representing the ISM where the first port in the port group is located, and the other end is connected to the point representing the OSM where the second port in the port group is located. Among them, the first port and the second port in each port group are connected through the corresponding CSM, and the first port and the second port of different port groups corresponding to each CSM are different. Taking the above-mentioned 4 CSMs as an example, the bipartite graphs corresponding to the 4 CSMs can be respectively as follows Figure 4 , Figure 5 , Figure 6 and Figure 7 After determining the CSM corresponding to each port group in the plurality of port groups, it is possible to determine that the path corresponding to each port group is: a path passing through the CSM corresponding to the port group.
[0110] However, the serial method is inefficient in determining paths corresponding to multiple port groups, resulting in poor performance of the first controller. Furthermore, when the switching network is not a strictly non-blocking network, the serial method may fail to determine paths corresponding to some port groups.
[0111] Furthermore, in the related art, the controller can only determine the paths corresponding to the multiple port groups in a serial or parallel manner, so the controller has few ways to determine these paths.
[0112] The present application provides a new path determination method, which is different from the method of determining paths by the controller in the related art, thus enriching the method of determining paths by the controller. Moreover, in some cases, it can also improve the efficiency of the first controller in determining mutually independent paths and improve the performance of the switching node.
[0113] By way of example, the path determination method provided in the present application is executed by a first controller, and the first controller may be a control chip or a board, etc. The first controller is connected to a plurality of switching structures, and the switching network formed by the plurality of switching structures may be a clos network. The clos network has a plurality of first ports and a plurality of second ports, the first ports and the second ports belong to different switching structures, and any first port can be connected to any second port. Among them, the plurality of switching structures 031 constituting the clos network are divided into at least three levels of switching structures 031, and each level of switching structure 031 includes at least two switching structures 031, the plurality of first ports belong to the first level switching structure 031, and the plurality of second ports belong to the last level switching structure 031. Any switching structure 031 other than the last level switching structure 031 is connected to each next level switching structure 031 so that any first port can be connected to any second port. The present application takes the switching network as a clos network as an example. In some cases, the switching network may not be a clos network, and the present application does not limit this. The first controller may be connected to the plurality of switching structures, and the foregoing Figure 2 The first controller and multiple switching structures in the present application are not described in detail here. In the present application, the multiple switching structures are all optical switching structures as an example. Optionally, the multiple switching structures can also be all electrical switching structures, or a part of the multiple switching structures are optical switching structures and another part of the switching structures are electrical switching structures.
[0114] Figure 8 A flow chart of a path determination method provided in this application, such as Figure 8 As shown, the path determination method includes:
[0115] S101. A first controller obtains information of multiple port groups; wherein a port group includes: a first port and a second port for exchanging data, and the first port and the second port in different port groups are different.
[0116] The first controller may receive a configuration instruction sent by the second controller that carries the information of the multiple port groups, and extract the information of the multiple port groups from the configuration instruction. Optionally, the first controller may also obtain the information of the multiple port groups in other ways, for example, the first controller may integrate the function of the second controller, so that the first controller may generate the information of the multiple port groups by itself.
[0117] Each port group includes: a first port and a second port for data to be exchanged. The port group can also be referred to as a route from the first port to the second port in the port group. The first port and the second port are connected to different communication nodes, and these communication nodes can exchange data through the port group in the switching network. In addition, in order to avoid port conflicts, the first port and the second port in different port groups in the multiple port groups are different.
[0118] For example, suppose the switching network is Fig. 9 As shown, the switching network has: first ports 1 to 16, and second ports 1 to 16. Among them, the first ports 1, 2, 3, 4 belong to the first first switching structure (ISM 1), the first ports 5, 6, 7, 8 belong to the second first switching structure (ISM 2), the first ports 9, 10, 11, 12 belong to the third first switching structure (ISM 3), and the first ports 13, 14, 15, 16 belong to the fourth first switching structure (ISM 4). The second ports 1, 2, 3, 4 belong to the first second switching structure (OSM 1), the second ports 5, 6, 7, 8 belong to the second second switching structure (OSM 2), the second ports 9, 10, 11, 12 belong to the third second switching structure (OSM 3), and the second ports 13, 14, 15, 16 belong to the fourth second switching structure (OSM 4). Multiple port groups can be represented by a matrix P:
[0119]
[0120] The matrix P includes 16 columns of elements, each column of elements represents a port group, and the 16 columns of elements represent 16 port groups in total. The first row of elements in the matrix P represents the first port, and the second row of elements represents the second port. Therefore, the 16 port groups are:
[0121] A port group 1 consisting of a first port 1 and a second port 13;
[0122] A port group 2 consisting of a first port 2 and a second port 4;
[0123] A port group 3 consisting of a first port 3 and a second port 12;
[0124] A port group 4 consisting of a first port 4 and a second port 5;
[0125] A port group 5 consisting of a first port 5 and a second port 6;
[0126] A port group 6 consisting of a first port 6 and a second port 16;
[0127] A port group 7 consisting of a first port 7 and a second port 11;
[0128] A port group 8 consisting of a first port 8 and a second port 15;
[0129] A port group 9 consisting of a first port 9 and a second port 10;
[0130] A port group 10 consisting of a first port 10 and a second port 2;
[0131] A port group 11 consisting of a first port 11 and a second port 1;
[0132] A port group 12 consisting of a first port 12 and a second port 3;
[0133] A port group 13 consisting of a first port 13 and a second port 9;
[0134] A port group 14 consisting of a first port 14 and a second port 8;
[0135] A port group 15 consisting of a first port 15 and a second port 14;
[0136] The first port 16 and the second port 7 form a port group 16 .
[0137] The information of each port group in the multiple port groups acquired by the first controller in S101 may be a column of elements in the matrix P used to represent the port group.
[0138] S102: The first controller arranges information of a plurality of port groups according to the order of the first switch structures to which the first ports in the port groups belong in the r first switch structures.
[0139] The switching network has a plurality of first ports and a plurality of second ports, and the plurality of first ports belong to r first switching structures among the plurality of first ports. After acquiring the information of the plurality of port groups, the first controller may arrange the information of the plurality of port groups according to the order of the first switching structures to which the first ports in the port groups belong in the r first switching structures.
[0140] Assume that the information of each port group in the plurality of port groups can be a column of elements in the matrix P used to represent the port group; the first ports 1, 2, 3, 4 belong to the first first switching structure (ISM 1), the first ports 5, 6, 7, 8 belong to the second first switching structure (ISM 2), the first ports 9, 10, 11, 12 belong to the third first switching structure (ISM 3), and the first ports 13, 14, 15, 16 belong to the fourth first switching structure (ISM 4). Then, since the information of the plurality of port groups has been arranged in the matrix P according to the order of the first switching structures to which the first ports belong in the r first switching structures, the positions of the arranged information in the matrix P may not be changed.
[0141] The first controller arranges the information of the plurality of port groups according to the order of the first switching structures to which the first ports in the port groups belong in the r first switching structures, so that the first controller can perform subsequent operations based on the information. It is understandable that the first controller may also execute S103 directly after S101 without executing S102.
[0142] S103: The first controller determines a port group set from the multiple port groups; the port group set includes: at least two port groups in which the first port and the second port belong to different switch structures.
[0143] The first controller may determine a port group set in the plurality of port groups according to information of the plurality of port groups. The port group set includes at least two port groups, and the first ports of the at least two port groups belong to different switching structures, and the second ports of the at least two port groups also belong to different switching structures. In this case, no matter how the path between the first port and the second port in the at least two port groups is designed, it is possible to ensure that the path between the first port and the second port in the at least two port groups is independent of each other. It can be seen that the at least two port groups may be unrelated port groups.
[0144] For example, taking the 16 port groups represented by the elements in the matrix P as an example, the first port 1 and the first port 5 belong to the first first switching structure (ISM 1) and the second first switching structure (ISM 2), respectively, and the second port 13 and the second port 6 belong to the fourth second switching structure (OSM 4) and the second second switching structure (OSM 2), respectively. Therefore, the port group 1 composed of the first port 1 and the second port 13, and the port group 5 composed of the first port 5 and the second port 6 are independent port groups, and the port group set determined by the first controller in S103 may include these two port groups.
[0145] When determining the port group set, the first controller may first determine a port group in the port group set, and then search for other port groups in the port group set in the port groups of the first switching structure where the first port and the first port in the port group are different.
[0146] Optionally, the r first switching structures are divided into j structure groups; j ≥ 1, when j > 1, the first j-1 structure groups in the j structure groups each include k first switching structures, and the number of first switching structures in the jth structure group is less than or equal to k; r > k > 1. Each first port in the port group set belongs to one of the j structure groups. For example, the r first switching structures are Fig.10 The 4 ISMs in the structure group 1 can be divided into 2 structure groups, where ISM 1 and ISM 2 form structure group 1, and ISM 3 and ISM 4 form structure group 2. The port group set can include the above port group 1 and port group 5, and the first ports in these two port groups belong to structure group 1.
[0147] Further, in the case where each first port in the port group set belongs to one structure group, the port group set may include: a first port of each first switching structure in the one structure group. For example, the above-mentioned structure group 1 includes the first first switching structure (ISM 1) and the second first switching structure (ISM 2), and the port group set including port group 1 and port group 5 includes a first port 1 in the first first switching structure (ISM 1), and a first port 5 in the second first switching structure (ISM 2). It can be understood that the port group set may also not include: a first port of each first switching structure in the one structure group, for example, the port group set includes: the first ports of some first switching structures in the one structure group.
[0148] Optionally, the port group set may include: a first port of the same order in each first switching structure in the one structure group. For example, the port group set including port group 1 and port group 5 includes the first first port 1 in the first switching structure (ISM 1) and the first first port 5 in the second first switching structure (ISM 2).
[0149] For example, when determining the port group set, the first controller may first determine structure group 1, and determine the first first port 1 in the first first switching structure (ISM 1) in structure group 1. Afterwards, the first controller may determine the first first port 5 in the second first switching structure (ISM 2) in structure group 1. The first controller may determine whether the second port 13 in port group 1 where the first port 1 is located and the second port 6 in port group 5 where the first port 5 is located belong to different second switching structures (OSM). After confirmation, it is found that the second port 13 in port group 1 where the first port 1 is located and the second port 6 in port group 5 where the first port 5 is located belong to different second switching structures. Therefore, the first controller may determine that the port group set includes port group 1 and port group 5.
[0150] In the above content, the first controller needs to determine whether the first ports in different port groups belong to the same switching structure. For example, the first port can be represented by binary, and the first ports 1-16 can be represented as 0000, 0001, 0010, 0011, ..., 1111 in sequence. The first controller can determine whether the first ports in different port groups belong to the same switching structure by comparing whether the first two bits in the binary representation of the first ports in different port groups are the same. Here, taking each switching structure having 4 first ports as an example, when each switching structure has F first ports, the first controller can determine whether the first ports in different port groups belong to the same switching structure by comparing whether the first (log to base 2 of F) bits in the binary representation of the first ports in different port groups are the same.
[0151] S104. The first controller determines, in parallel in the switching network, paths corresponding to the respective port groups in the port group set; the path corresponding to any port group is: a path between a first port and a second port in any port group; and paths corresponding to different port groups are independent of each other.
[0152] After determining the port group set, the first controller can determine the paths corresponding to the various port groups in the port group set in parallel in the switching network. Since the various port groups in the port group set are independent of each other, in the clos network, the paths corresponding to the various port groups are independent of each other, and these paths will not conflict at any port. In this way, there will be no need to re-determine the paths in parallel because the paths determined in parallel are not independent of each other, thereby improving the efficiency of the first controller in determining the paths corresponding to the ports in the port group set.
[0153] The port group set includes at least two port groups, and the first controller may use at least two processing cores to determine paths corresponding to the at least two port groups in a one-to-one correspondence.
[0154] S105 . The first controller determines, in a portion of the switching network outside the determined path, a path corresponding to a port group for which a corresponding path has not been determined.
[0155] After the first controller determines the paths corresponding to the port groups in the port group set in S104, it can continue to determine the paths corresponding to other port groups (port groups for which the corresponding paths have not been determined) in the part other than these paths in the switching network. In this process, since the paths determined in S105 are outside the paths determined in S104, the paths determined in S105 will not affect the paths determined in S104, and there will be no problem of re-determining the paths determined in S104 due to the conflicts between the paths determined in S105 and the paths determined in S104.
[0156] For example, when there are at least two other port groups other than the port group set in the plurality of port groups, the first controller may determine paths corresponding to the at least two other port groups in at least one of a parallel and a serial manner.
[0157] When the first controller determines the paths corresponding to multiple other port groups in a serial manner, the first controller can perform path determination operations on the multiple other port groups in sequence; wherein the path determination operation performed on any other port group includes: determining the path corresponding to any other port group in a part of the switching network that is outside the determined path.
[0158] When the first controller determines the paths corresponding to multiple other port groups in a parallel manner, if the paths corresponding to the multiple other port groups determined are not independent of each other, the first controller needs to re-determine the paths corresponding to the multiple other port groups until the paths corresponding to the multiple other port groups determined are independent of each other.
[0159] S106: After determining the paths respectively corresponding to the multiple port groups, the first controller configures the paths respectively corresponding to the multiple port groups in the switching network.
[0160] The first controller can determine the required connection relationship between the ports in each switching structure in the switching network according to the paths corresponding to the multiple port groups, and configure the corresponding connection relationship in these switching structures to configure the paths corresponding to the multiple port groups in the switching network. When configuring a certain path, the first controller needs to configure the connection relationship between the input port and the output port of the switching structure on each switching structure through which the path passes.
[0161] It is understandable that the first controller may not need to configure paths corresponding to the multiple port groups in the switching network, but may instruct other devices or equipment to configure the paths corresponding to the multiple port groups.
[0162] In summary, in the present application, the first controller first determines the path corresponding to each port group in the port group set, and then determines the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network outside the determined path. It can be seen that the way the first controller determines the path is different from the way the controller determines the path in the related art, thus enriching the way the controller determines the path.
[0163] In addition, since the first port and the second port of the port group in the port group set belong to different switching structures, in some switching networks (such as clos networks), the paths corresponding to the various port groups in the port group set must be independent of each other. Therefore, the first controller does not need to redetermine these paths. Moreover, the first controller subsequently determines other paths outside the determined paths. Even if the subsequently determined paths need to be redetermined, it will not affect the paths corresponding to the port groups in the port group set, so that the first controller does not need to redetermine the paths corresponding to the port groups in the port group set. In this way, the paths that need to be redetermined are reduced, and the efficiency of the first controller in determining independent paths is improved. Moreover, the paths corresponding to the port groups in the port group set are determined in parallel, which is more efficient than the paths corresponding to the port groups in the port group set determined in series. This method can ensure the maximum reusability of the hardware circuit and has good hardware scalability.
[0164] The method provided in the present application can be applied to switching networks of various sizes. Moreover, since the path determination method provided in the present application can quickly determine the path corresponding to each port group, when the method is applied to a switching network of a larger scale, it will not cause a substantial increase in network latency. For example, as shown in Table 1, when the path determination method provided in the present application is applied to the switching networks of various sizes described below, the performance of the first controller can be improved many times compared to the related technologies.
[0165] Table 1
[0166]
[0167] Optionally, in S105 , the first controller may continue to determine a new port group set in the port groups associated with the one structure group, and concurrently determine paths corresponding to the port groups in the port group set, thereby further improving the efficiency of determining the paths.
[0168] For example, in the above S105, the first controller may determine multiple first remaining port groups in the multiple port groups, and determine a new port group set in the multiple first remaining port groups to obtain a first port group set; then, in the part of the switching network outside the determined path, the paths corresponding to the respective port groups in the first port group set are determined in parallel. The first port in the first remaining port group and the first port in the port group set determined in the above S103 both belong to the above one structure group, and the first remaining port group is different from the port groups in the determined port group set.
[0169] On this basis, the first controller may also repeatedly perform this operation to sequentially obtain paths corresponding to the port groups in the plurality of first port group sets.
[0170] For example, the above 16 port groups are still taken as an example. Assume that the port group set determined in S103 includes: port group 1 and port group 5. Then, the first controller can determine that the current multiple first remaining port groups include: port groups 2-4, 6-8. Afterwards, the first controller can determine a new port group set (including port group 2 and port group 6) from port groups 2-4 and 6-8 as a first port group set, and determine the paths corresponding to port group 2 and port group 6 in parallel. Afterwards, the first controller can continue to determine that the current multiple first remaining port groups include: port groups 3-4 and 7-8. The first controller can determine a new port group set (port group 4 and port group 8) from port groups 3-4 and 7-8 as another second port group set, and determine the paths corresponding to port group 4 and port group 8 in parallel. After this, there are no other port group sets in the port group to which the first port belongs to structure group 1, so the first controller can stop searching for port group sets in the port group to which the first port group belongs to structure group 1.
[0171] Optionally, the first controller may continue to determine a new port group set in the port groups associated with other structure groups different from the above-mentioned one structure group in the above-mentioned S105, and in parallel determine the paths corresponding to the port groups in the port group set, thereby further improving the efficiency of determining the paths.
[0172] For example, in the above S105, the first controller may also determine a plurality of second remaining port groups in the plurality of port groups, and determine a new port group set in the plurality of second remaining port groups to obtain a second port group set; thereafter, in the part of the switching network outside the determined path, the paths corresponding to the respective port groups in the second port group set are determined in parallel. Among them, the first port in the second remaining port group and the first port in the port group set determined in the above S103 belong to different structural groups, and the first port of the structural group where the first port in the second remaining port group is located is different from the first port in the determined port group set. For example, the first port in the second remaining port group belongs to another structural group other than the above one structural group, and the other structural group is the next structural group of the one structural group in the j structural groups. Of course, the other structural group may not be the next structural group of the one structural group, for example, the other structural group may be the next structural group of the one structural group.
[0173] On this basis, the first controller may also repeatedly perform this operation to sequentially obtain paths corresponding to the port groups in the plurality of second port group sets.
[0174] For example, the above-mentioned 16 port groups are still taken as an example. Assume that the port group set determined in S103 includes: port group 1 and port group 5. Then, the first controller can determine that the current multiple second remaining port groups include: port groups 9-16. Afterwards, the first controller can determine a new port group set (including port group 10 and port group 14) in port groups 9-16 as a second port group set, and determine the paths corresponding to port group 10 and port group 14 in parallel. After that, since there are no structural groups other than structural group 1 and structural group 2, the first controller can stop searching for other port group sets.
[0175] Optionally, in combination with the above content, it can be known that the first controller can sequentially search for a port group set in the port groups associated with multiple structure groups (the first port in the port group associated with each structure group belongs to the switching structure in the structure group). In addition, when the first controller searches for a port group set in the port group associated with each structure group, it can sequentially search for multiple port group sets, and after each port group set is found, determine the paths corresponding to the multiple port group sets in parallel.
[0176] For example, still taking the above 16 port groups as an example. Assume that the port group set determined in S103 includes: port group 1 and port group 5. Then, the first controller can determine that the current multiple first remaining port groups include: port groups 2-4, 6-8. Afterwards, the first controller can determine a new port group set (including port group 2 and port group 6) from port groups 2-4 and 6-8 as a first port group set, and determine the paths corresponding to port group 2 and port group 6 in parallel. Afterwards, the first controller can continue to determine that the current multiple first remaining port groups include: port groups 3-4 and 7-8. The first controller can determine a new port group set (port group 4 and port group 8) from port groups 3-4 and 7-8 as another second port group set, and determine the paths corresponding to port group 4 and port group 8 in parallel. After this, there are no other port group sets in the port group to which the first port belongs to structure group 1, so the first controller can stop searching for port group sets in the port group to which the first port group belongs to structure group 1.
[0177] Afterwards, the first controller may determine that the current multiple second remaining port groups include: port groups 9-16. The first controller may determine a new port group set (including port group 10 and port group 14) from port groups 9-16 as a second port group set, and determine the paths corresponding to port group 10 and port group 14 in parallel. Then, the first controller may continue to determine that the current multiple second remaining port groups include: port groups 9, 11-13, 15-16. The first controller may determine a new port group set (port group 11 and port group 15) from port groups 9, 11-13, 15-16 as another second port group set, and determine the paths corresponding to port group 11 and port group 15 in parallel. Afterwards, the first controller may continue to determine that the current multiple second remaining port groups include: port groups 9, 12-13, 16. The first controller can determine a new port group set (port group 12 and port group 16) from port groups 9, 12-13, and 16 as another second port group set, and in parallel determine the paths corresponding to port group 12 and port group 16. After this, there are no other port group sets in the port group to which the first port belongs in structure group 2, so the first controller can stop searching for a port group set in the port group to which the first port group belongs in structure group 2.
[0178] After that, since there are no structure groups other than structure group 1 and structure group 2, the first controller can stop searching for other port group sets. So far, the first controller has found port group set 1 (including port group 1 and port group 5), port group set 2 (including port group 2 and port group 6), port group set 3 (including port group 4 and port group 8), port group set 4 (including port group 10 and port group 14), port group set 5 (including port group 11 and port group 15), and port group set 6 (including port group 12 and port group 16). The first controller can sequentially determine the paths corresponding to the port groups in port group sets 1 to 6. In addition, when determining the paths corresponding to the port groups in each port group set, the first controller can sequentially determine the paths corresponding to the respective port groups in the port group set. After that, in addition to these port group sets, port groups 3, 7, 9, and 13 remain in the plurality of port groups, and the first controller can sequentially determine the paths corresponding to port groups 3, 7, 9, and 13.
[0179] In the above process, the first controller needs to determine the path multiple times, and each time the first controller determines the path, it determines the path corresponding to the port group in addition to the path that has been determined in the switching network. In the above content, the first controller also needs to continue to determine a new set of port groups in S105 as an example. It can be understood that the first controller does not need to determine a new set of port groups in the above S105, but determines the paths corresponding to the remaining port groups in sequence.
[0180] Furthermore, in the above embodiments, the port group set includes two port groups as an example. It can be understood that the number of port groups in the port group set may also be greater than 2, and the present application does not limit this.
[0181] In this case, when the first controller determines a port group set among multiple port groups, it can first determine a part of the port groups in the port group set among the multiple port groups, and then determine another part of the port groups in the port group set based on this part of the port groups, thereby gradually determining the port groups in the port group set.
[0182] For example, the first controller may first determine at least two initial port groups from a plurality of port groups, and then determine at least one newly added port group based on the at least two initial port groups. The port group set finally obtained includes the at least two initial port groups and the at least one newly added port group. Among them, the first port in the at least two initial port groups belongs to the first part of the first switching structure in a structure group, and the first port and the second port in the at least two initial port groups belong to different switching structures; the first port in the newly added port group belongs to the second part of the first switching structure in a structure group; the first port and the second port in the at least two initial port groups and the at least one newly added port group belong to different switching structures.
[0183] The first part of the first exchange structure and the second part of the first exchange structure can be any two parts in the one structure group. Optionally, the first part of the first exchange structure includes: the first i first exchange structures in a structure group; i≥2, the first ports in the above at least two initial port groups belong to the first i first exchange structures in a one-to-one correspondence; and optionally, the second part of the first exchange structure includes: the i+1th first exchange structure in a structure group; the above at least one newly added port group includes: the first port belongs to a port group of the i+1th first exchange structure.
[0184] Still taking the above matrix P as an example, assuming that port groups 1 to 16 belong to the same structure group, then the first controller can first determine two initial port groups (port groups 1 and 5) in the port groups (port groups 1 to 8) in which the first port belongs to the first switching structures 1 and 2. Afterwards, the first controller can search for a newly added port group (port group 9) in the port groups (port groups 9 to 12) in which the first port belongs to the first switching structure 3; then, the first controller uses port groups 1, 5, and 9 as the initial port groups, and searches for a newly added port group in the port groups (port groups 13 to 16) in which the first port belongs to the first switching structure 4, but does not find the newly added port group. At this point, the first controller can determine that the found port group set includes: port groups 1, 5, and 9.
[0185] In the above content, it is taken as an example that the first controller determines the port group set based on the concept of the structure group. It can be understood that the first controller may also determine the port group set without giving the concept of the structure group, but directly search for the port group set in multiple port groups.
[0186] The multiple switching structures in the present application may all be optical switching structures, or may all be electrical switching structures, or a portion of the switching structures may be optical switching structures, and another portion of the switching structures may be electrical switching structures. In other words, the multiple switching structures include: at least one switching structure of an optical switching structure and an electrical switching structure. The embodiments of the present application are not limited to this.
[0187] Based on the path determination method provided by the present application, the present application also provides a path determination device, which belongs to a first controller. The first controller is connected to a plurality of switching structures, and the switching network formed by the plurality of switching structures has a plurality of first ports and a plurality of second ports, the first ports and the second ports belong to different switching structures, and any of the first ports can be connected to any of the second ports; Fig.11 As shown, the path determination device includes: a first determination module 1001 , a second determination module 1002 and a third determination module 1003 .
[0188] The first determination module 1001 is used to determine a port group set in multiple port groups; the port group includes: one first port and one second port for data to be exchanged, and the first port and the second port in different port groups are different; the port group set includes: the first port and the second port both belong to at least two port groups of different switching structures; the operation performed by the first determination module 1001 can refer to S103 in the aforementioned embodiment, and this application will not repeat them here.
[0189] The second determination module 1002 is used to determine, in the switching network, in parallel, the paths corresponding to the respective port groups in the port group set; the path corresponding to any port group is: the path between the first port and the second port in any port group; and the paths corresponding to different port groups are independent of each other; the operations performed by the second determination module 1002 can refer to S104 in the aforementioned embodiment, and are not elaborated in this application.
[0190] The third determination module 1003 is used to determine the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network outside the determined path. The operation performed by the third determination module 1003 can refer to S105 in the above embodiment, and this application will not repeat it here.
[0191] In the present application, the first controller first determines the path corresponding to each port group in the port group set, and then determines the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network outside the determined path. It can be seen that the way the first controller determines the path is different from the way the controller determines the path in the related art, thus enriching the way the controller determines the path.
[0192] In addition, since the first port and the second port of the port group in the port group set belong to different switching structures, in some switching networks (such as clos networks), the paths corresponding to the various port groups in the port group set must be independent of each other. Therefore, the first controller does not need to redetermine these paths. Moreover, the first controller subsequently determines other paths outside the determined paths. Even if the subsequently determined paths need to be redetermined, it will not affect the paths corresponding to the port groups in the port group set, so that the first controller does not need to redetermine the paths corresponding to the port groups in the port group set. In this way, the paths that need to be redetermined are reduced, and the efficiency of the first controller in determining independent paths is improved. Moreover, the paths corresponding to the port groups in the port group set are determined in parallel, which is more efficient than the paths corresponding to the port groups in the port group set determined in series. This method can ensure the maximum reusability of the hardware circuit and has good hardware scalability.
[0193] Optionally, the multiple first ports belong to r first switching structures among the multiple switching structures; the r first switching structures are divided into j structure groups; j≥1, when j>1, the first j-1 structure groups among the j structure groups all include k first switching structures, and the number of the first switching structures in the jth structure group is less than or equal to k; r>k>1; each of the first ports in the port group set belongs to one structure group among the j structure groups.
[0194] Further, in the case where each first port in the port group set belongs to one structure group, the port group set may include: one first port of each first switching structure in the one structure group. Optionally, the port group set may include: one first port of the same order in each first switching structure in the one structure group.
[0195] It is understandable that the number of port groups in the port group set may also be greater than 2, and this application does not limit this. In this case, when the first controller determines the port group set from the multiple port groups, it may first determine a portion of the port groups in the port group set from the multiple port groups, and then determine another portion of the port groups in the port group set based on the portion of the port groups, thereby gradually determining the port groups in the port group set.
[0196] For example, the first controller may first determine at least two initial port groups from a plurality of port groups, and then determine at least one newly added port group based on the at least two initial port groups. The port group set finally obtained includes the at least two initial port groups and the at least one newly added port group. Among them, the first port in the at least two initial port groups belongs to the first part of the first switching structure in a structure group, and the first port and the second port in the at least two initial port groups belong to different switching structures; the first port in the newly added port group belongs to the second part of the first switching structure in a structure group; the first port and the second port in the at least two initial port groups and the at least one newly added port group belong to different switching structures.
[0197] The first part of the first exchange structure and the second part of the first exchange structure can be any two parts in the one structure group. Optionally, the first part of the first exchange structure includes: the first i first exchange structures in a structure group; i≥2, the first ports in the above at least two initial port groups belong to the first i first exchange structures in a one-to-one correspondence; and optionally, the second part of the first exchange structure includes: the i+1th first exchange structure in a structure group; the above at least one newly added port group includes: the first port belongs to a port group of the i+1th first exchange structure.
[0198] Optionally, when the third determination module determines the path corresponding to the port group for which the corresponding path has not been determined in the part of the switching network outside the determined path, it can continue to determine a new port group set in the port group associated with the above-mentioned structure group, and determine the path corresponding to the port group in the port group set in parallel. In this way, the efficiency of determining the path can be further improved.
[0199] For example, when the third determination module determines the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network located outside the determined path, it can determine multiple first remaining port groups in multiple port groups, and determine a new port group set in the multiple first remaining port groups to obtain a first port group set; then, in the part of the switching network located outside the determined path, the paths corresponding to the respective port groups in the first port group set are determined in parallel. Among them, the first port in the first remaining port group and the first port in the aforementioned port group set both belong to the above-mentioned structural group, and the first remaining port group is different from the port group in the determined port group set. On this basis, the third determination module can also repeat this operation to sequentially obtain the paths corresponding to the port groups in the multiple first port group sets.
[0200] Optionally, when the third determination module determines the path corresponding to the port group for which the corresponding path has not been determined in the part of the switching network outside the determined path, it can continue to determine a new port group set in the port groups associated with other structure groups different from the above-mentioned one structure group, and determine the path corresponding to the port group in the port group set in parallel. In this way, the efficiency of determining the path can be further improved.
[0201] For example, when determining the path corresponding to the port group whose corresponding path has not been determined in the part of the switching network located outside the determined path, the third determination module can also determine multiple second remaining port groups in the multiple port groups, and determine a new port group set in the multiple second remaining port groups to obtain a second port group set; then, in the part of the switching network located outside the determined path, the paths corresponding to each port group in the second port group set are determined in parallel. Among them, the first port in the second remaining port group and the first port in the aforementioned port group set belong to different structural groups, and the first port of the structural group where the first port in the second remaining port group is located is different from the first port in the determined port group set. For example, the first port in the second remaining port group belongs to another structural group other than the above-mentioned one structural group, and the other structural group is the next structural group of the one structural group in the j structural groups. Of course, the other structural group may not be the next structural group of the one structural group, for example, the other structural group may be the next structural group of the one structural group. On this basis, the first controller can also repeat this operation to obtain the paths corresponding to the port groups in the multiple second port group sets in sequence.
[0202] In combination with the above content, it can be known that the first controller can sequentially search for a port group set in the port groups associated with multiple structure groups (the first port in the port group associated with each structure group belongs to the switching structure in the structure group). In addition, when the first controller searches for a port group set in the port group associated with each structure group, it can sequentially search for multiple port group sets, and after each port group set is found, determine the paths corresponding to the multiple port group sets in parallel.
[0203] After determining the paths corresponding to the port groups in the port group set, the first controller may further determine paths corresponding to other port groups (port groups for which the corresponding paths have not been determined) in the part other than these paths in the switching network.
[0204] For example, when there are at least two other port groups other than the port group set in the multiple port groups, the third determination module may be configured to determine paths corresponding to the at least two other port groups in at least one of a parallel and a serial manner.
[0205] When the third determination module determines the paths corresponding to multiple other port groups in a serial manner, the third determination module can perform path determination operations on the multiple other port groups in sequence; wherein the path determination operation performed on any other port group includes: determining the path corresponding to any other port group in a part of the switching network that is outside the determined path.
[0206] When the third determination module determines the paths corresponding to multiple other port groups in a parallel manner, if the paths corresponding to the multiple other port groups determined are not independent of each other, then the third determination module needs to re-determine the paths corresponding to the multiple other port groups until the paths corresponding to the multiple other port groups determined are independent of each other.
[0207] Optionally, the plurality of first ports belong to r first switching structures among the plurality of switching structures; the path determination device further comprises: an acquisition module and an arrangement module ( Fig.11 The acquisition module is used to acquire the information of the plurality of port groups; the arrangement module is used to arrange the information of the plurality of port groups according to the order of the first switching structure to which the first port in the port group belongs in the r first switching structures. The first controller arranges the information of the plurality of port groups according to the order of the first switching structure to which the first port in the port group belongs in the r first switching structures, so that the first controller can perform subsequent operations in the path determination method based on the information.
[0208] Optionally, the path determination device may further include a configuration module ( Fig.11 ), after determining the paths corresponding to the multiple port groups, respectively, the first controller configures the paths corresponding to the multiple port groups in the switching network. It is understandable that the first controller may also instruct other devices or equipment to configure the paths corresponding to the multiple port groups without configuring the paths corresponding to the multiple port groups in the switching network.
[0209] The multiple switching structures in the present application may all be optical switching structures, or may all be electrical switching structures, or a portion of the switching structures may be optical switching structures, and another portion of the switching structures may be electrical switching structures. In other words, the multiple switching structures include: at least one switching structure of an optical switching structure and an electrical switching structure. The embodiments of the present application are not limited to this.
[0210] Each module in the above-mentioned path determination device can be implemented by hardware and / or software. Fig.12As shown, the path determination device includes: a preprocessing unit, a first buffer unit, a port group set determination unit, at least two processing cores (three processing cores are used as an example in the figure), and a second buffer unit. The preprocessing unit can be implemented in hardware or software, and the first buffer unit, the port group set determination unit, the at least two processing cores, and the second buffer unit can all be implemented in hardware. Among them, the preprocessing unit includes the above-mentioned acquisition module and the arrangement module, which are used to obtain information of multiple port groups, and arrange the information of the multiple port groups according to the order of the first switching structure to which the first port in the port group belongs in the r first switching structures. The first buffer unit is used to store the information of the multiple port groups processed by the preprocessing unit. The port group set determination unit includes the above-mentioned first determination module, which is used to determine the above-mentioned port group set based on the information stored in the first buffer unit. The port group set includes at least two port groups, and the at least two port groups correspond to the at least two processing cores one-to-one. The above-mentioned second determination module includes the at least two processing cores, and the at least two processing cores are used to determine the paths corresponding to the at least two port groups one-to-one. The second buffer unit is used to store the paths determined by the processing cores.
[0211] In the case that the third determination module does not need to continue to determine the port group set, the third determination module includes at least one processing core among the multiple processing cores, and the at least one processing core can be used to determine paths corresponding to port groups other than the port group set.
[0212] In the case where the third determination module still needs to continue to determine the port group set, the third determination module includes: a port group set determination unit and at least two processing cores. The third determination module uses the port group set determination unit to continue to determine other port group sets, and uses at least two processing cores to determine the paths corresponding to each port group in the port group set one by one. When the port group set cannot be determined, if there is still at least one port group in the multiple port groups, the third determination module can use at least one processing core to determine the path corresponding to the at least one port group.
[0213] In addition, some parameters in the path determination method (such as the aforementioned j, i, the number of port groups in the port group set, etc.) can also be stored in the first buffer unit, and the port group set determination unit can determine the port group set based on these parameters.
[0214] The present application also provides a path determination device, including: a processor and a memory, wherein the memory stores a program, and the processor is used to execute the program stored in the memory to implement any one of the path determination methods provided in the present application and executed by the first controller.
[0215] In the path determination device, the number of processors can be multiple, and the memory coupled to the processor can be independent of the processor or the path determination device, or can be inside the processor. The memory can be a physically independent unit, or it can be a storage space on a cloud server or a network hard disk, etc. Optionally, the memory can be one or more. When the number of memories is multiple, they can be located in the same or different locations, and can be used independently or in combination. For example, please refer to Fig.13 , Fig.13 The schematic diagram of the structure of a path determination device provided in an embodiment of the present application. The path determination device 100 includes: a processor 102 and a memory 101, wherein the memory 101 is used to store programs, and the processor 102 is used to call the programs stored in the memory 101, so that the path determination device executes any method provided in the present application and executed by the first controller. Optionally, as Fig.13 As shown, the path determination device 100 may also include at least one communication interface 103 and at least one communication bus 104. The memory 101, the processor 102, and the communication interface 103 are communicatively connected via the communication bus 104. The communication interface 103 is used to communicate with other devices under the control of the processor 102, and the processor 102 can call the program stored in the memory 101 via the communication bus 104.
[0216] The present application provides a chip, which includes a programmable logic circuit and / or program instructions. When the chip is running, it is used to implement any path determination method provided in the present application and executed by a first controller.
[0217] The present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions. When the instructions are executed on a computer, the computer executes any one of the path determination methods performed by a first controller provided in the present application.
[0218] The present application provides a computer program product comprising instructions. When the computer program product is run on a computer, the computer is enabled to execute any one of the path determination methods performed by a first controller provided in the present application.
[0219] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product, and the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server, a data center, etc. that contains one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium, or a semiconductor medium (e.g., a solid-state hard disk), etc.
[0220] The present application also provides a switching node, comprising: a first controller and multiple switching structures; the first controller is connected to the multiple switching structures, the switching network formed by the multiple switching structures has multiple first ports and multiple second ports, the first ports and the second ports belong to different switching structures, and any first port is connected to any second port; the first controller is used to execute any path determination method performed by the first controller provided in the present application.
[0221] The present application also provides a communication system, including: any one of the switching nodes provided in the present application, multiple first communication nodes and multiple second communication nodes; one-to-one connection between the multiple first communication nodes and multiple first ports in the switching node; one-to-one connection between the multiple second communication nodes and multiple second ports in the switching node.
[0222] In this application, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The term "at least one" means one or more, and "plurality" means two or more, unless otherwise expressly limited. The term "and / or" is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0223] The different types of embodiments such as the method embodiments and device embodiments provided in the embodiments of the present application can refer to each other, and the embodiments of the present application are not limited thereto. The sequence of operations of the method embodiments provided in the embodiments of the present application can be appropriately adjusted, and the operations can also be increased or decreased accordingly according to the circumstances. Any technician familiar with the technical field can easily think of the changed methods within the technical scope disclosed in the present application, and they should be included in the protection scope of the present application, so they will not be repeated.
[0224] In the corresponding embodiments provided in the present application, it should be understood that the disclosed systems and devices, etc. can be implemented by other configuration methods. For example, the device embodiments described above are only schematic, for example, the division of modules is only a logical function division, and there may be other division methods in actual implementation, such as multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical or other forms.
[0225] The units described as separate components may or may not be physically separated, and the components described as units may or may not be physical units, and may be located in one place or distributed on multiple devices. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0226] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A path determination method, characterized in that: The method is performed by a first controller, the first controller is connected to a plurality of switching structures, the switching network formed by connecting the plurality of switching structures has a plurality of first ports and a plurality of second ports, the first ports and the second ports belong to different switching structures, and any of the first ports can be connected to any of the second ports; The method comprises: Determine a port group set from a plurality of port groups; the port group comprises: one of the first port and one of the second port for data to be exchanged, and the first port and the second port in different port groups are different; the port group set comprises: the first port and the second port both belong to at least two port groups of different switching structures; In the switching network, paths corresponding to the respective port groups in the port group set are determined in parallel; the path corresponding to any port group is: a path between the first port and the second port in any port group; and paths corresponding to different port groups are independent of each other; In a portion of the switching network that is outside the determined path, a path corresponding to the port group for which no corresponding path has been determined is determined.
2. The method according to claim 1, characterized in that: The plurality of first ports belong to r first switch structures among the plurality of switch structures; The r first exchange structures are divided into j structure groups; j≥1, when j>1, the first j-1 structure groups in the j structure groups all include k first exchange structures, and the number of the first exchange structures in the jth structure group is less than or equal to k; r>k>1; Each of the first ports in the port group set belongs to one of the j structure groups.
3. The method according to claim 2, characterized in that The port group set includes: a first port of each of the first switching structures in the one structure group.
4. The method according to claim 2 or 3, characterized in that: The determining of a port group set from a plurality of port groups comprises: Determine at least two initial port groups from the multiple port groups; the first ports in the at least two initial port groups belong to a first part of a first switching structure in the one structure group, and the first port and the second port in the at least two initial port groups belong to different switching structures; Based on the at least two initial port groups, at least one newly added port group is determined in the multiple port groups; the first port in the newly added port group belongs to the second part of the first switching structure in the one structure group; the first port and the second port in the at least two initial port groups and the at least one newly added port group belong to different switching structures; The port group set includes: the at least two initial port groups and the at least one newly added port group.
5. The method according to claim 4, characterized in that The method satisfies at least one of the following conditions: The first part of the first switching structure includes: the first i first switching structures in the one structure group; i≥2, the first ports in the at least two initial port groups belong to the first i first switching structures in a one-to-one correspondence; The second part of the first switching structure includes: the (i+1)th first switching structure in the one structure group; the at least one newly added port group includes: the first port belongs to a port group of the (i+1)th first switching structure.
6. The method according to any one of claims 2 to 5, characterized in that: Determining, in a portion of the switching network outside the determined path, a path corresponding to the port group for which no corresponding path has been determined, comprises: Determine a plurality of first remaining port groups in the plurality of port groups; the first port in the first remaining port group belongs to the one structure group, and the first remaining port group is different from the port group in the determined port group set; Determine the new port group set from the plurality of first remaining port groups to obtain a first port group set; In a portion of the switching network outside the determined path, paths corresponding to the respective port groups in the first port group set are determined in parallel.
7. The method according to any one of claims 2 to 6, characterized in that: Determining, in a portion of the switching network outside the determined path, a path corresponding to the port group for which no corresponding path has been determined, comprises: Determine a plurality of second remaining port groups from the plurality of port groups; the first port in the second remaining port group belongs to another structure group from the j structure groups, and the first port of the another structure group is different from the first port in the determined port group set; Determine a new port group set from the plurality of second remaining port groups to obtain a second port group set; In a portion of the switching network outside the determined path, paths corresponding to the respective port groups in the second port group set are determined in parallel.
8. The method according to claim 7, characterized in that The another structure group is a structure group next to the one structure group among the j structure groups.
9. The method according to any one of claims 1 to 8, characterized in that: The determining, in a portion of the switching network outside the determined path, a path corresponding to the port group for which no corresponding path has been determined, comprises: When there are at least two other port groups other than the port group set in the plurality of port groups, performing path determination operations on the at least two other port groups in sequence; The path determination operation performed on any other port group among the at least two other port groups includes: determining a path corresponding to any other port group in a portion of the switching network that is outside the determined path.
10. The method according to any one of claims 1 to 9, characterized in that: The plurality of first ports belong to r first switch structures among the plurality of switch structures; Before determining a port group set from a plurality of port groups, the method further includes: Obtaining information of the multiple port groups; The information of the plurality of port groups is arranged according to the order of the first switch structures to which the first ports in the port group belong in the r first switch structures.
11. The method according to any one of claims 1 to 10, characterized in that: The method further comprises: After determining the paths respectively corresponding to the plurality of port groups, the paths respectively corresponding to the plurality of port groups are configured in the switching network.
12. The method according to any one of claims 1 to 11, characterized in that: The plurality of switching structures include: at least one switching structure of an optical switching structure and an electrical switching structure.
13. A path determination device, characterized in that: The path determination device belongs to a first controller, the first controller is connected to a plurality of switching structures, the switching network formed by the plurality of switching structures has a plurality of first ports and a plurality of second ports, the first ports and the second ports belong to different switching structures, and any of the first ports can be connected to any of the second ports; The path determination device comprises: A first determining module is used to determine a port group set from a plurality of port groups; the port group includes: one of the first port and one of the second port for data to be exchanged, and the first port and the second port in different port groups are different; the port group set includes: the first port and the second port both belong to at least two port groups of different switching structures; A second determination module is used to determine, in the switching network, paths corresponding to the respective port groups in the port group set in parallel; the path corresponding to any port group is: a path between the first port and the second port in any port group; and the paths corresponding to different port groups are independent of each other; The third determination module is used to determine, in a portion of the switching network outside the determined path, a path corresponding to the port group for which a corresponding path has not been determined.
14. The path determination device according to claim 13, characterized in that: The plurality of first ports belong to r first switch structures among the plurality of switch structures; The r first exchange structures are divided into j structure groups; j≥1, when j>1, the first j-1 structure groups in the j structure groups all include k first exchange structures, and the number of the first exchange structures in the jth structure group is less than or equal to k; r>k>1; Each of the first ports in the port group set belongs to one of the j structure groups.
15. The path determination device according to claim 14, characterized in that: The port group set includes: a first port of each of the first switching structures in the one structure group.
16. The path determination device according to claim 14 or 15, characterized in that: The first determining module is used for: Determine at least two initial port groups from the multiple port groups; the first ports in the at least two initial port groups belong to a first part of a first switching structure in the one structure group, and the first port and the second port in the at least two initial port groups belong to different switching structures; Based on the at least two initial port groups, at least one newly added port group is determined in the multiple port groups; the first port in the newly added port group belongs to the second part of the first switching structure in the one structure group; The first port and the second port in the at least two initial port groups and the at least one newly added port group belong to different switching structures; The port group set includes: the at least two initial port groups and the at least one newly added port group.
17. The path determination device according to claim 16, characterized in that: The path determination device satisfies at least one of the following conditions: The first part of the first switching structure includes: the first i first switching structures in the one structure group; i≥2, the first ports in the at least two initial port groups belong to the first i first switching structures in a one-to-one correspondence; The second part of the first switching structure includes: the (i+1)th first switching structure in the one structure group; the at least one newly added port group includes: the first port belongs to a port group of the (i+1)th first switching structure.
18. The path determination device according to any one of claims 14 to 17, characterized in that: The third determination module is used for: Determine a plurality of first remaining port groups in the plurality of port groups; the first port in the first remaining port group belongs to the one structure group, and the first remaining port group is different from the port group in the determined port group set; Determine the new port group set from the plurality of first remaining port groups to obtain a first port group set; In a portion of the switching network outside the determined path, paths corresponding to the respective port groups in the first port group set are determined in parallel.
19. The path determination device according to any one of claims 14 to 18, characterized in that: The third determination module is used for: Determine a plurality of second remaining port groups from the plurality of port groups; the first port in the second remaining port group belongs to another structure group from the j structure groups, and the first port of the another structure group is different from the first port in the determined port group set; Determine a new port group set from the plurality of second remaining port groups to obtain a second port group set; In a portion of the switching network outside the determined path, paths corresponding to the respective port groups in the second port group set are determined in parallel.
20. The path determination device according to claim 19, characterized in that: The another structure group is a structure group next to the one structure group among the j structure groups.
21. The path determination device according to any one of claims 13 to 20, characterized in that: The third determination module is used for: When there are at least two other port groups other than the port group set in the plurality of port groups, performing path determination operations on the at least two other port groups in sequence; The path determination operation performed on any other port group among the at least two other port groups includes: determining a path corresponding to any other port group in a portion of the switching network that is outside the determined path.
22. The path determination device according to any one of claims 13 to 21, characterized in that: The plurality of first ports belong to r first switch structures among the plurality of switch structures; The path determination device also includes: An acquisition module, used to acquire information of the multiple port groups; An arrangement module is used to arrange the information of the plurality of port groups according to the order of the first switch structure to which the first port in the port group belongs in the r first switch structures.
23. The path determination device according to any one of claims 13 to 22, characterized in that: The path determination device also includes: A configuration module is used to configure the paths corresponding to the multiple port groups in the switching network after determining the paths corresponding to the multiple port groups.
24. The path determination device according to any one of claims 13 to 22, characterized in that: The plurality of switching structures include: at least one switching structure of an optical switching structure and an electrical switching structure.
25. A path determination device, characterized in that: include: A processor and a memory, wherein the memory stores a program, and the processor is used to execute the program stored in the memory to implement the path determination method described in any one of claims 1 to 12.
26. A chip, characterized in that: The chip includes a programmable logic circuit and / or program instructions, and when the chip is running, it is used to implement the path determination method according to any one of claims 1 to 12.
27. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, and when the instructions are executed on a computer, the computer executes the path determination method according to any one of claims 1 to 12.
28. A switching node, characterized in that: include: a first controller and a plurality of switch fabrics; The first controller is connected to a plurality of switching structures, the switching network formed by the plurality of switching structures has a plurality of first ports and a plurality of second ports, the first ports and the second ports belong to different switching structures, and any of the first ports is connected to any of the second ports; the first controller is used to execute any of the methods described in claims 1 to 12.
29. A communication system, characterized in that: include: a switching node, a plurality of first communication nodes, and a plurality of second communication nodes; The switching node is the switching node according to claim 28; The plurality of first communication nodes are connected to the plurality of first ports in the switching node in a one-to-one correspondence; The plurality of second communication nodes are connected to the plurality of second ports in the switching node in a one-to-one correspondence.
Citation Information
Cited By
Network routing method and apparatus, and medium
WO2026130107A1
