A routing planning method based on shared priority and reverse recursion

By using the shared priority and reverse recursive routing planning method, the problem of large routing planning computational complexity in the cascade matrix is ​​solved, efficient routing planning within the ARM computing power is achieved, and the efficiency and performance of network resource allocation are improved.

CN119276768BActive Publication Date: 2025-09-23CHENGDU CHUANMEI NEW TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411385788.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2025-09-23
Estimated Expiration
2044-09-30

AI Technical Summary

Technical Problem

In the cascade matrix, routing planning requires a large amount of computation, which cannot be supported by ARM computing power in a timely manner, resulting in low efficiency in network resource allocation and insufficient performance.

Method used

A routing planning method based on sharing priority and reverse recursion is adopted. By reordering the routing execution order, the shared routing resources are allocated first, and reverse recursion is performed when sharing is not possible, thereby reducing the amount of routing planning calculations.

Benefits of technology

It realizes timely large-scale cascade matrix routing planning within ARM computing power, saves routing resources, and improves network implementation efficiency and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276768B_ABST
    Figure CN119276768B_ABST
Patent Text Reader

Abstract

The present invention belongs to the technical field of variable route planning methods in cascade design of full-switch large-scale analog signals and optical signal matrix switches, and specifically relates to a cascade matrix route planning method based on shared priority and reverse recursion, first extracting routes 1 to M 2 The shared channel of the channel reorders the execution order of the channel routing planning; then, based on the principle of sharing if possible, plan 1 to M channels in a forward direction. 2 Channel routing, and determine whether the forward planning of m channels is successful. If not, perform recursive exhaustive recursion on m~M channels. 2 Channel routing planning, first (m-1) ~ M 2 Try exhaustively planning all routing channels of (m‑2)~M 2 The exhaustive planning of all routing channels is repeated recursively until the routing is successful. Channels with shared routes are allocated first, saving routing resources. The forward random allocation of front-end channels and exhaustive matching of end-channels exponentially reduce the routing planning computational complexity, achieving timely large-scale cascade matrix routing planning computation within the ARM computing power.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of routing planning methods in cascade design of full-switch large-scale analog signals and optical signal matrix switches, and in particular relates to a routing planning method based on shared priority and reverse recursion. Background Art

[0002] In a non-cascaded matrix, the RF routing is fixed and does not need to be selected or can be selected, nor will there be conflicts. In a cascaded matrix, such as an M based on the cascade of M×M units, 2 ×M 2 The matrix includes three levels of M M×M matrix units (including M input switching units, M bridge switching units, and M output switching units). There are 2*M*M cross-connect cables between each level (M*M cables between the input switching unit and the bridge switching unit, and between the bridge switching unit and the output switching unit). Each cable represents a route (only one RF signal can be on a cable). From the input switching unit to the bridge switching unit, the RF signal has M routes, and from the bridge switching unit to the output switching unit, the RF signal also has M routes.

[0003] In the M based on M×M unit cascade 2 ×M 2 In the matrix, each input / output combination has M channel routes. Each channel route consists of 1 input route and 1 output route, which "pass through" M bridge switching units respectively. The input and output routes are defined as:

[0004] R_SR=SR_ij

[0005] R_SC=SC_jk

[0006] Where j is the bridge switching unit number; i and k are the input and output switching unit numbers, respectively, with a value range of 1, 2, ..., M, corresponding to the input port number IN and the output port number OUT, respectively:

[0007] i = TRUNC((IN-1) / M+1, 0)

[0008] k=TRUNC((OUT-1) / M+1,0)

[0009] Channel routing is defined as:

[0010] R_CH=[SR_ij SC_jk]

[0011] Each channel selection (input IN / output OUT) has a total of M channel routings:

[0012]

[0013] The condition for a channel selection to be "successful" is that both the input route SR_ij and the output route SC_jk are not occupied, or, even if occupied, the input port numbers selected by the two channels are the same. Otherwise, a routing conflict will occur.

[0014] There are three types of routing conflicts:

[0015] 1) R_SR+R_SC routing conflict:

[0016] CH (01, 01) route: [SR_11, SC_11]

[0017] CH (02, 02) route: [SR_11, SC_11]

[0018] 2) R_SC routing conflict:

[0019] CH (05, 05) route: [SR_22, SC_22]

[0020] CH (09, 08) route: [SR_32, SC_22]

[0021] 3) R_SR routing conflict:

[0022] CH (14, 11) route: [SR_43, SC_33]

[0023] CH (16, 14) route: [SR_43, SC_34]

[0024] M based on M×M unit cascade 2 ×M 2 Matrix, when the channel is fully loaded, M*M channel routing plans need to be made. Each channel routing has M options, so there are M in total. M*M combinations.

[0025] M 4 6 8 12 16 Matrix size 16×16 36×36 64×64 144×144 256×256 Number of routing combinations 4294967296 1.03E+28 6.28E+57 2.5E+155 #NUM!

[0026] Even with a 4×4 cascaded 16×16 matrix, the number of routing combinations is quite large. The amount of computation required to brute force the loop to select a non-conflicting routing combination is quite large, and the computing power of ARM cannot support its timely computation needs.

[0027] Therefore, how to improve the existing routing planning method to optimize the resource allocation of the entire routing network while keeping the cost as low as possible, improve the network implementation efficiency and the performance of the entire routing network is a technical problem that needs to be solved urgently. Summary of the Invention

[0028] The purpose of the present invention is to reorder the execution order of channel routing based on the priority of channels with the same input port number, adopt the principle of sharing what can be shared and giving priority to shared routes, save routing resources, adopt positive random allocation of channels with a higher execution order, and exhaustively match channels with a higher execution order, thereby exponentially reducing the amount of routing planning operations and achieving the timeliness of large-scale cascade matrix routing planning operations within the computing power of ARM.

[0029] In order to solve the above technical problems, the technical solutions adopted by the present invention are as follows:

[0030] A routing planning method based on shared priority and reverse recursion includes the following steps:

[0031] S1: Extract routes 1 to M 2 The shared channel of the channel reorders the execution order of the channel routing based on the shared priority principle;

[0032] S2: Based on the principle of sharing if possible, plan 1 to M in a forward direction 2 Channel routing, and determine whether the m channel planning planned in the forward direction is successful. If not, execute step S3. If so, proceed according to the routing of each channel planned in the forward direction, and the routing planning is completed;

[0033] S3: Perform m~M recursion by exhaustive recursion in reverse order 2 Channel routing is planned and whether it is successful is determined. If not, m=m-1, and a recursive loop is performed until routing is successful and routing planning is completed.

[0034] Preferably, the specific process of step S1 is as follows:

[0035] S11: In M 2 In the selection of the routing output channels, determine whether there are channels with the same input in the array of M routing input / output relationships. If so, execute step S12. If not, randomly sort the routing channels and calculate the serial numbers of the corresponding input switches SR and output switches SC.

[0036] S12: Record the number of the same input channels, and rearrange them from largest to smallest according to the number of the same input channels, that is, reorder the execution order of the channel routing based on the principle of shared priority.

[0037] Preferably, the specific process of step S2 is as follows:

[0038] S21: Plan the routing array R_CH(M 2 ) is cleared, and the order of routing planning of the channel link starts from m=1 to m=M 2 , calculate the M optional routes R of routing channel link m CH(i, k);

[0039] S22: The optional route R CH (i, k) is compared with the planned routing array R_CH(M2) to find the optional routing R CH Available channel routing in (i, k);

[0040] S23: Determine whether there is a shared channel route among the available channel routes. If so, give priority to the shared channel route and the route with more shared channels. If there is no shared channel route, but there is a non-shared channel route, randomly select one and store it in the planned route R_CH(m). Continue to plan the next channel link. If not, execute step S3.

[0041] Preferably, step S3 includes the following specific process:

[0042] S31: Calculate routing channel links m~M 2 Optional routing R CHm (i, k)···R CHM * M (i, k);

[0043] S32: List optional routes R CHm (i, k)···R CHM * M All combinations of (i, k) and remove occupied routes;

[0044] S33: Perform combination planning m~M according to reverse recursion exhaustive recursion 2 Channel routing, first m~M 2 All routing channels are exhaustively planned and it is determined whether they are successful. If not, m=m-1, and a recursive loop is performed (S31, S32 and S33 are repeatedly executed) until the routing planning is successful and the routing planning is completed.

[0045] The beneficial effects of the present invention include:

[0046] The routing planning method based on shared priority and reverse recursion provided by the present invention first extracts routes 1 to M 2 The shared channel of the channel reorders the execution order of the channel routing; then, based on the principle of sharing if possible, plan 1 to M channels in a forward direction. 2 Channel routing, and determine whether the forward planning of m channels is successful. If not, then recursively exhaustively perform mM in the reverse direction. 2Channel routing planning, if unsuccessful, m=m-1, and determine whether it is successful, if not, m=m-1, and perform a recursive loop (repeatedly execute S31, S32 and S33) until routing planning is successful and routing planning is completed.

[0047] By adopting the priority allocation of channels for shared routing, routing resources are saved; by adopting the positive random allocation of front-end channels and the exhaustive matching of end channels, the routing planning calculation amount is exponentially reduced, and the timeliness of large-scale cascade matrix routing planning calculations is achieved within the ARM computing power. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 It is a flow chart of the routing planning method based on shared priority and reverse recursion of the present invention.

[0049] Figure 2 Cascade M×M units into M 2 ×M 2 Matrix routing diagram

[0050] Figure 3 Schematic diagram of routing conflicts when 4×4 units are cascaded into a 16×16 matrix

[0051] Figure 4 Flowchart of the route planning procedure based on shared priority

[0052] Figure 5 Flowchart of reverse recursive routing planning program

[0053] Figure 6 Schematic diagram of the routing planning results for cascading 4×4 units into a 16×16 matrix DETAILED DESCRIPTION

[0054] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of this application.

[0055] The following is combined with Figure 1 The present invention is described in further detail:

[0056] Before explaining the routing planning method based on shared priority and reverse recursion, it should be noted that the M 2 ×M 2 The matrix includes 3*M M×M matrix units, namely, input switching units, bridge switching units, and output switching units, each with M units. There are 2*M*M cross-connect cables, namely, M*M cables between the input switching unit and the bridge switching unit, and between the bridge switching unit and the output switching unit. The specific cascade matrix composition and connection relationship are as follows: Figure 2 As shown:

[0057] In the M based on M×M unit cascade 2 ×M 2 In the matrix, each input / output combination has M channel routes. Each channel route consists of 1 input route and 1 output route, which "pass through" M bridge switching units respectively. The input route and output route are defined as:

[0058] R-SR=SR-ij;

[0059] R-SC=SC-jk;

[0060] Where j is the bridge switching unit number; i and k are the input and output switching unit numbers, respectively, with a value range of 1, 2, ..., M, corresponding to the input port number IN and the output port number OUT, respectively:

[0061] i=TRUNC((IN-1) / M+1,0);

[0062] k=TRUNC((OUT-1) / M+1,0).

[0063] Channel routing is defined as:

[0064] R_CH=[SR_ij SC_jk].

[0065] Each channel selects input IN / output OUT, with a total of M channel routings:

[0066]

[0067] Among them, the condition for a channel to be selected "successfully" is that both the input route SR_ij and the output route SC_jk are not occupied, or, even if they are occupied, the input port numbers selected by the two channels are the same. Otherwise, a routing conflict will occur.

[0068] See also Figure 3 , there are three types of routing conflicts:

[0069] The first type: R_SR+R_SC routing conflict:

[0070] CH (01, 01) route: [SR_11, SC_11];

[0071] CH(02,02) route: [SR_11,SC_11].

[0072] The second type: R_SC routing conflict:

[0073] CH (05, 05) route: [SR_22, SC_22];

[0074] CH(09,08) routing: [SR_32,SC_22].

[0075] The third type: R_SR routing conflict:

[0076] CH (14, 11) route: [SR_43, SC_33];

[0077] CH(16,14) routing: [SR_43,SC_34].

[0078] M based on M×M unit cascade 2 ×M 2 Matrix, when the channel is fully loaded, M*M channel routing plans need to be made. Each channel routing has M options, so there are M in total. M*M combinations.

[0079]

[0080] Even with a 4×4 cascaded 16×16 matrix, the number of routing combinations is quite large. A brute-force loop to select non-conflicting routing combinations requires a considerable amount of computation, and the computing power of ARM cannot support the required timely calculations. Therefore, the present invention proposes the following routing planning method based on shared priority and reverse recursion, which includes the following steps:

[0081] S1: Extract routes 1 to M 2 The shared channel of the channel reorders the execution order of the channel routing based on the shared priority principle;

[0082] S2: Based on the principle of sharing if possible, plan 1 to M in a forward direction 2 Channel routing, and determine whether the m channel planning planned in the forward direction is successful. If not, execute step S3. If so, proceed according to the routing of each channel planned in the forward direction, and the routing planning is completed;

[0083] S3: Perform m~M recursion by exhaustive recursion in reverse order 2 Channel routing is planned and whether it is successful is determined. If not, m=m-1, and a recursive loop is performed until routing is successful and routing planning is completed.

[0084] The routing planning method based on shared priority and reverse recursion first extracts routes 1 to M in a large-scale cascade matrix routing planning algorithm. 2 The shared channel of the channel, based on the principle of shared priority, reorders the execution order of the channel routing. The shared channel here refers to the routing channel with the same input. Based on the principle of shared sharing, forward planning 1~M 2 Channel routing, and determine whether the forward-planned m channel planning is successful. If not, execute step S3. If so, proceed according to the forward-planned channel routing, and the routing planning is completed. By giving priority to the shared routing, redundant routing resources are saved. Then randomly allocate non-shared channels in turn. If a routing conflict occurs, reversely exhaust all routes of the remaining channels including the previous channel. Reverse here means from back to front, performing recursive operations until the routes of all channels do not conflict, and converting the massive full-channel routing exhaustive operations into end-to-end exhaustive matching. By adopting the priority allocation of shared routing channels, routing resources are saved, and the front-end channel forward random allocation and end-to-end channel exhaustive matching are adopted to exponentially reduce the routing planning calculation amount, and achieve the timeliness of large-scale cascade matrix routing planning operations within the ARM computing power.

[0085] The specific process of step S1 is as follows:

[0086] S11: In M 2 In the selection of the routing output channels, determine whether there are channels with the same input in the array of M routing input / output relationships. If so, execute step S12. If not, randomly sort the routing channels and calculate the serial numbers of the corresponding input switches SR and output switches SC.

[0087] S12: Record the number of the same input channels, and rearrange them from largest to smallest according to the number of the same input channels, that is, reorder the execution order of the channel routing based on the principle of shared priority.

[0088] This embodiment takes a 4×4 cascaded 16×16 matrix as an example to randomly generate the input-output relationship:

[0089] Routing planning sequence m Input OUT 1 7 1 2 1 2 3 11 3 4 l1 4 5 6 5 6 7 6 7 2 7 8 14 8 9 9 9 10 12 10 11 7 11 12 9 12 13 14 13 14 1 14 15 3 15 16 10 16

[0090] Reordered input and output relationships:

[0091] Planning sequence enter Output SR i SC k 1 7 1 2 1 2 7 6 2 2 3 7 11 2 3 4 1 2 l 1 5 1 14 1 4 6 11 3 3 1 7 11 4 3 1 8 14 8 4 2 9 14 13 4 4 10 9 9 3 3 11 9 12 3 3 12 2 7 1 2 13 3 15 1 4 14 6 5 2 2 15 10 16 3 4 16 12 10 3 3

[0092] See also Figure 4 , the specific process of step S2 is as follows:

[0093] S21: Plan the routing array RCH (M 2) is cleared, and the order of routing planning of the channel link starts from m=1 to m=M 2 , calculate the M optional routes R of routing channel link m CH (i, k);

[0094] S22: The optional route R CH (i, k) is compared with the planned routing array R_CH(M2) to find the optional routing R CH Available channel routing in (i, k);

[0095] S23: Determine whether there is a shared channel route among the available channel routes. If so, give priority to the shared channel route and the route with more shared channels. If there is no shared channel route, but there is a non-shared channel route, randomly select one and store it in the planned route R_CH(m). Continue to plan the next channel link. If not, execute step S3.

[0096] In this embodiment, the planned routing R_CH array is first cleared, and the routing order of the channel link is started from m=1 to m=M*M, and the R corresponding to CH(IN, OUT) is cleared. CH (i, k), select R_SR and R_SC in row order, compare them with the planned channel routes according to the search order, find one or more available channel routes RCH(i, k), and give priority to shared channel routes. If there is no shared channel route, but there is a non-shared channel route, randomly select one and store it in the planned route R_CH(m), and continue planning the next channel link. If no available channel route is found, execute step S3.

[0097] in,

[0098]

[0099] See also Figure 5 , step S3 includes the following specific processes:

[0100] S31: Calculate routing channel links m~M 2 Optional routing R CHm (i, k)···R CHM * M (i, k);

[0101] S32: List optional routes R CHm (i, k)···R CHM * M All combinations of (i, k) and remove occupied routes;

[0102] S33: Perform combinatorial planning mM according to the reverse recursive exhaustive recursion 2 Channel routing, first m~M 2 All routing channels are exhaustively planned and it is determined whether they are successful. If not, m=m-1, and steps S31, S32, and S33 are repeated. If so, until the routing planning is completed.

[0103] When the forward shared priority forward routing planning in step S2 fails, it indicates that the channel link R_CH(m) has no route and needs to be re-planned for R_CH(m-1)~R_CH(1). The steps adopted are: first re-plan R_CH(m-1)~R_CH(M 2 ) are exhaustively "tried" to plan all routes. If successful, the route planning is completed. If failed, then R_CH(m-2)~R_CH(M 2 ) and perform exhaustive "trial" planning on all routes in a recursive loop.

[0104] In the routing calculation, firstly, because of the use of shared channels planned in advance and the shared-is-shared strategy, a large amount of routing resources are saved. Secondly, forward sequential routing is adopted. Only when the forward sequential routing planning fails will the reverse exhaustive routing planning be started.

[0105] Using forward sequential routing is likely to succeed, especially in cases where there is a lot of sharing. Even if it fails, m is close to M. 2 , only M is left 2 -m channels are not planned.

[0106] In the unplanned M 2 -m channels. Although each channel has M optional routes, after eliminating 1 to m planned routes, the number of optional routes is much smaller than M, which greatly reduces the number of exhaustive route combinations.

[0107] Taking the 16×16 matrix with 4×4 cascade as an example again, the routing planning results are as follows:

[0108] Planning sequence enter Output SR_ij SC_jk 1 7 1 21 11 4 1 2 13 31 6 11 3 32 21 7 11 4 32 21 14 6 5 23 32 2 7 6 21 12 12 2 7 14 42 8 14 8 42 22 10 9 9 33 33 16 12 10 31 13 3 7 11 24 43 11 9 12 33 33 9 14 13 42 24 5 1 14 13 34 13 3 15 11 14 15 10 16 34 44

[0109] See the schematic diagram of routing planning results for Figure 6 .

[0110] In the above scheme, in the process of recursive loop in step S3, an exhaustive trial planning is performed, and the routing channel links m~M are calculated and compared. 2 The routing status is used to determine whether there is a routing conflict. If not, the routing planning is successful and the routing planning is completed. If so, the routing channel link m~M is determined. 2Check whether the combination has been exhaustively planned. If not, re-execute step S33. If so, re-execute step S31.

[0111] In summary, the routing planning method based on shared priority and reverse recursion provided by the present invention first extracts routes 1 to M 2 The shared channel of the channel reorders the execution order of the channel routing; then, based on the principle of sharing if possible, plan 1 to M channels in a forward direction. 2 Channel routing, and determine whether the forward planning of m channels is successful. If not, then recursively exhaustively perform mM in the reverse direction. 2 Channel routing planning, first (m-1) ~ M 2 All routing channels of M are exhaustively planned. If unsuccessful, (m-2)~M 2 All routing channels are exhaustively planned and recursively looped until the routing planning is successful.

[0112] By adopting the priority allocation of channels for shared routing, routing resources are saved; by adopting the positive random allocation of front-end channels and the exhaustive matching of end channels, the routing planning calculation amount is exponentially reduced, and the timeliness of large-scale cascade matrix routing planning calculations is achieved within the ARM computing power.

[0113] The above-described embodiments merely illustrate specific implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of protection of the present application. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the technical concept of the present application, all of which fall within the scope of protection of the present application.

Claims

1. A cascade matrix routing planning method based on shared priority and reverse recursion, characterized in that: The following steps are involved: S1: Extract routes 1~M 2 The shared channel of the channel reorders the execution order of the channel routing based on the shared priority principle; S2: Based on the principle of sharing if possible, plan 1~M in a forward direction 2 Channel routing, and determine whether the m channel planning planned in the forward direction is successful. If not, execute step S3. If so, proceed according to the routing of each channel planned in the forward direction, and the routing planning is completed; S3: Follow the reverse recursion to exhaustively recurse and perform m~M 2 Channel routing is planned and whether it is successful is determined. If not, m=m-1 and a recursive loop is performed until the routing is successful and the routing is completed. The specific process of step S1 is as follows: S11: In M 2 In the selection of the routing output channels, determine whether there are channels with the same input in the array of M routing input / output relationships. If so, execute step S12. If not, randomly sort the routing channels and calculate the serial numbers of the corresponding input switches SR and output switches SC. S12: Record the number of the same input channels and rearrange them from largest to smallest according to the number of the same input channels, that is, reorder the execution order of the channel routing based on the principle of shared priority; Step S3 includes the following specific processes: S31: Calculate routing channel links m~M 2 Optional routing R CHm (i, k)···R CHM * M (i, k); S32: List optional routes R CHm (i, k)···R CHM * M All combinations of (i, k) and remove occupied routes; S33: Perform combination planning m~M according to the reverse recursive exhaustive recursion 2 Channel routing, first m~M 2 All routing channels are exhaustively planned and it is determined whether they are successful. If not, m=m-1, and a recursive loop is performed, that is, S31, S32 and S33 are repeatedly executed until the routing planning is successful and the routing planning is completed.

2. The cascade matrix routing planning method based on shared priority and reverse recursion according to claim 1, characterized in that: The specific process of step S2 is as follows: S21: Plan the routing array R_CH (M 2 ) is cleared, and the routing planning order of the channel link starts from m=1 to m=M 2 , calculate the M optional routes R of routing channel link m CH (i, k); S22: The optional route R CH (i, k) and the planned routing array R_CH (M 2 ) to compare and find the optional route R CH Available channel routing in (i, k); S23: Determine whether there is a shared channel route among the available channel routes. If so, give priority to the shared channel route and the route with more shared channels. If there is no shared channel route, but there is a non-shared channel route, randomly select one and store it in the planned route R_CH(m). Continue to plan the next channel link. If not, execute step S3.

Citation Information

Patent Citations

  • System and method for realizing non-blocking channel switching of cascade switching matrix

    CN112769647A

  • Multi-stage routing switchers with sequential and non-repetitive distributive circuit interconnections

    US6087958A