Route management method and device and electronic equipment
By adopting a distributed point-to-point routing table building algorithm in a multi-level SAS extended card cascade network, the problems of low efficiency in creating cascade routing tables and long time for communication bandwidth are solved, efficient routing table building and reduced communication bandwidth occupancy time are achieved.
Patent Information
- Application Number
- CN202411874383.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-04-15
AI Technical Summary
In a multi-level SAS extended card cascade network, the efficiency of creating cascading routing tables is low and the communication bandwidth takes up a long time, mainly due to the huge number of query services and table building services.
By implementing a distributed point-to-point routing table building algorithm in the target expansion card, after receiving the table building events sent by adjacent expansion cards, it sends a routing query command to it, receives and updates the routing table, and avoids cross-level or full-cascade network queries.
This greatly reduces the number of query services and table construction services during routing table construction, improves the efficiency of routing table construction, and reduces the communication bandwidth usage time.
Smart Images

Figure CN119835202A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of electronic technology, and in particular, relates to a routing management method, device and electronic equipment. Background Art
[0002] In computer network environments, especially in data centers, storage area networks, and other large network environments, Serial Attached SCSI (SAS) expansion cards are commonly used devices to expand and connect multiple SAS storage devices (such as SAS disks, SATA disks) or servers. In a SAS application topology network with multi-level SAS expansion cards cascaded, such as Figure 1 As shown, the SAS expansion card needs to create or update the cascade routing table to ensure that data can be correctly transmitted in the SAS network. According to the SAS protocol, the process of creating a routing table usually requires the use of specific commands (such as SMP_DISCOVER or SMP_DISCOVERLIST) to query the connected devices and generate a routing table based on the query results.
[0003] In the related art, the routing table building process of the SAS expansion card uses a point-to-all-point routing query solution. Specifically, each level of SAS expansion card needs to query the information of all devices directly connected to it (including SAS disks, SATA disks, HBA / RAID cards, and SAS expansion cards), and then query the device information of the SAS expansion card level by level based on the device information reported by the next level of SAS expansion card directly connected, and finally create a complete routing table for each level of SAS expansion card. In the above solution, each level of SAS expansion card needs to query all SAS expansion cards in the cascade network, and the number of query services and table building services is huge, resulting in low efficiency in creating cascade routing tables and long communication bandwidth occupancy time. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a routing management method, device and electronic device to solve the problem in the related art that the number of query services and table creation services is huge, resulting in low efficiency in creating cascade routing tables and long communication bandwidth occupancy time.
[0005] To achieve the above objectives, the present application embodiment adopts the following technical solutions: In a first aspect, an embodiment of the present application provides a routing management method, which is applied to a target expansion card, wherein the target expansion card is any expansion card in a multi-level expansion card cascade network, and the method includes: receiving a first table creation event sent by a first adjacent expansion card; sending a first routing query command to the first adjacent expansion card according to the first table creation event; receiving routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command; and updating the routing table of the target expansion card according to the routing information of the first adjacent expansion card.
[0006] In a second aspect, an embodiment of the present application provides a routing management device, which is applied to a target expansion card, wherein the target expansion card is any expansion card in a multi-level expansion card cascade network, and the device includes: a routing controller, an information receiving module, an information sending module and a table building module; the routing controller receives a first table building event sent by a first adjacent expansion card through the information receiving module; the routing controller controls the information sending module to send a first routing query command to the first adjacent expansion card according to the first table building event; the routing controller receives the routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command through the information receiving module; the routing controller controls the table building module to update the routing table of the target expansion card according to the routing information of the first adjacent expansion card.
[0007] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor, a communication interface, a memory and a communication bus; wherein the processor, the communication interface and the memory communicate with each other through a bus; the memory is used to store computer programs; the processor is used to execute the programs stored in the memory to implement the steps of the routing management method as described in the embodiment of the first aspect of the present application.
[0008] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects: In the embodiment of the present application, the target expansion card receives the first table building event sent by the first adjacent expansion card, sends a first route query command to the first adjacent expansion card according to the first table building event, receives the route information of the first adjacent expansion card sent by the first adjacent expansion card according to the first route query command, and updates the route table of the target expansion card according to the route information of the first adjacent expansion card. In the embodiment of the present application, each level of expansion card only needs to query the route information of the adjacent expansion card, without cross-level query or full cascade network query, and the route table building can be completed quickly, which greatly reduces the number of query services and table building services during route table building, improves the efficiency of route table building, and reduces the communication bandwidth occupation time. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings: Figure 1 A schematic diagram of a SAS application topology network with multiple SAS expansion cards cascaded; Figure 2 A flowchart of a routing management method provided for an embodiment of the present application; Figure 3 A schematic diagram of the structure of an expansion card provided for an embodiment of the present application; Figure 4 A flowchart of a routing management method provided for another embodiment of the present application; Figure 5 A flowchart of a routing management method provided for another embodiment of the present application; Figure 6 A flowchart of a routing management method provided for another embodiment of the present application; Figure 7 A schematic diagram of the overall flow of a routing management method provided for another embodiment of the present application; Figure 8 A signaling interaction diagram of a routing management method provided for another embodiment of the present application; Fig. 9 A schematic diagram of the structure of an electronic device provided for one embodiment of the present application. DETAILED DESCRIPTION
[0010] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0011] The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here. In addition, the "and / or" in this application represents at least one of the connected objects, and the character " / " generally represents that the front and back associated objects are in an "or" relationship. It should be noted that the data involved in this application are all obtained on the premise of obtaining user authorization.
[0012] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0013] Figure 2 A flowchart of a routing management method provided by an embodiment of the present application is shown below. Figure 2 As shown, the routing management method of the embodiment of the present application is applied to any expansion card (referred to as the target expansion card) in a multi-level expansion card cascade network, and may specifically include the following steps: S201, receiving a first table creation event sent by a first adjacent expansion card.
[0014] In the embodiment of the present application, the execution subject of the routing management method of the embodiment of the present application is a routing management device, and the routing management device can be set in any expansion card in the multi-level expansion card cascade network, that is, the target expansion card.
[0015] Adjacent expansion cards of the target expansion card, that is, expansion cards that are directly connected to the target expansion card (that is, not connected across levels). For example, Figure 1 When the expansion card 1 in the example is used as the target expansion card, the adjacent expansion card of the expansion card 1 is any one of the expansion card 2, the expansion card 3 and the expansion card 4.
[0016] Table creation events, that is, routing table creation events, may include identification (IDENTIFY) data packets, broadcast events (BROADCAST (change) Primitive), etc.
[0017] The adjacent expansion card that sends the table creation event to the target expansion card is recorded as the first adjacent expansion card to distinguish it from the second adjacent expansion card that receives the table creation event sent by the target expansion card in the subsequent embodiments. Similarly, the table creation event sent to the target expansion card is recorded as the first table creation event to distinguish it from the second table creation event sent by the target expansion card to the second adjacent expansion card in the subsequent embodiments. Figure 3 As shown, each expansion card is provided with a routing controller 31, an information receiving module 32, an information sending module 33, a table building module 34 and an event window module 35. The routing controller 31 is used to manage and control the workflow of the information receiving module 32, the information sending module 33, the table building module 34 and the event window module 35.
[0018] The routing controller 31 of the first adjacent expansion card sends the first table creation event to the target expansion card through the information sending module 33. The routing controller 31 of the target expansion card receives the first table creation event sent by the first adjacent expansion card through the information receiving module 32.
[0019] S202: Send a first route query command to a first adjacent expansion card according to a first table building event.
[0020] In the embodiment of the present application, after receiving the first table building event sent by the first adjacent expansion card, the routing controller 31 of the target expansion card sends the first routing query command to the first adjacent expansion card that sends the first table building event through the information sending module 33, and the first routing query command is used to instruct the first adjacent expansion card to query its own routing information. The routing controller 31 of the first adjacent expansion card receives the first routing query command sent by the target expansion card through the information receiving module 32.
[0021] Further, such as Figure 4 As shown, the above step S202 "sending a first route query command to a first adjacent expansion card according to a first table building event" may specifically include the following steps: S401, starting timing after receiving a first table creation event.
[0022] In the embodiment of the present application, the event window module 35 is used as a timing window to merge the table creation events received within a certain period of time. After receiving the first table creation event, the routing controller 31 of the target expansion card starts the event window module 35 to start timing.
[0023] S402: After the timing time reaches a preset timing time threshold, send a first route query command to a first adjacent expansion card according to a first table building event.
[0024] In the embodiment of the present application, when the timing time of the event window module 35 reaches the preset timing time threshold, the routing controller 31 of the target expansion card sends the first routing query command to the first adjacent expansion card that sends the first table building event through the information sending module 33, and the first routing query command is used to instruct the first adjacent expansion card to query its own routing information. The routing controller 31 of the first adjacent expansion card receives the first routing query command sent by the target expansion card through the information receiving module 32. Among them, the timing time threshold can be set as needed. The first routing query command can specifically be a SMP_REPORT_EXPANDER_ROUTE_TABLE_LIST command.
[0025] The embodiment of the present application sets an event window module 35 to merge and process the received table creation events within a set time window (i.e., the timing time threshold), and initiates a table creation process only when the time window times out (the timing time reaches the timing time threshold), thereby avoiding frequent table creation events from generating too many repeated table creation processes, thereby improving the stability of the cascade expansion card in creating the routing table.
[0026] Furthermore, considering that each level of expansion card does not necessarily support the routing table building algorithm newly proposed in the embodiment of the present application: the distributed point-to-point routing table building algorithm, therefore, before sending the first routing query command to the first adjacent expansion card, it is necessary to determine whether the first adjacent expansion card supports the distributed point-to-point routing table building algorithm. Figure 5 As shown, the above step S202 "sending a first route query command to a first adjacent expansion card according to a first table building event" may specifically include the following steps: S501, sending a first routing table building algorithm query command to a first adjacent expansion card according to a first table building event.
[0027] In the embodiment of the present application, after receiving the first table building event sent by the first adjacent expansion card, the routing controller 31 of the target expansion card sends the first routing table building algorithm query command to the first adjacent expansion card that sent the first table building event through the information sending module 33. The first routing table building algorithm query command is used to instruct the first adjacent expansion card to query its own routing table building algorithm information, such as the name and identifier of the routing table building algorithm. The routing controller 31 of the first adjacent expansion card receives the first routing table building algorithm query command sent by the target expansion card through the information receiving module 32.
[0028] It should be noted here that the expansion card in the embodiment of the present application may specifically be a serial small computer system interface (SAS) expansion card, and correspondingly, the first routing table building algorithm query command may be a custom command CHECK_VENDOR command in the SAS protocol.
[0029] S502, receiving routing table building algorithm information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing table building algorithm query command.
[0030] In the embodiment of the present application, after receiving the first routing table building algorithm query command sent by the target expansion card, the routing controller 31 of the first adjacent expansion card queries its own routing table building algorithm information, and sends the queried routing table building algorithm information to the target expansion card through the information sending module 33. The routing controller 31 of the target expansion card receives the routing table building algorithm information sent by the first adjacent expansion card through the information receiving module 32.
[0031] S503: Determine, based on the routing table building algorithm information of the first adjacent expansion card, that the first adjacent expansion card supports the distributed point-to-point routing table building algorithm, and then send a first routing query command to the first adjacent expansion card.
[0032] In the embodiment of the present application, after receiving the routing table building algorithm information sent by the first adjacent expansion card, the routing controller 31 of the target expansion card controls the table building module 34 to determine whether the first adjacent expansion card supports the distributed point-to-point routing table building algorithm according to the routing table building algorithm information.
[0033] If the table building module 34 determines that the first adjacent expansion card supports the distributed point-to-point routing table building algorithm, the routing controller 31 of the target expansion card sends the first routing query command to the first adjacent expansion card through the information sending module 33. The routing controller 31 of the first adjacent expansion card receives the first routing query command sent by the target expansion card through the information receiving module 32.
[0034] If the table building module 34 determines that the first adjacent expansion card does not support the distributed point-to-point routing table building algorithm, the target expansion card uses the point-to-all-point routing table building algorithm in the relevant technology to update its own routing table. Specifically: the routing controller 31 of the target expansion card sends a device query command (such as an SMP_DISCOVERLIST command) to the first adjacent expansion card through the information sending module 33. The device query command is used to instruct the first adjacent expansion card to query the device information connected to itself. The routing controller 31 of the first adjacent expansion card receives the device query command sent by the target expansion card through the information receiving module 32, queries the device information connected to itself according to the device query command, and sends the device information connected to itself to the target expansion card through the information sending module 33. After the routing controller 31 of the target expansion card receives the device information sent by the first adjacent expansion card through the information receiving module 32, it controls the table building module 34 to update its own routing table according to the received device information of the first adjacent expansion card, and checks whether there are other expansion cards cascaded under the first adjacent expansion card. If there are cascaded expansion cards under the first adjacent expansion card, a conventional centralized, point-to-all-point routing query solution is used to create a routing table.
[0035] S203, receiving routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command.
[0036] In the embodiment of the present application, after receiving the first route query command sent by the target expansion card, the routing controller 31 of the first adjacent expansion card queries its own routing information, and sends its own routing information to the target expansion card through the information sending module 33. The routing controller 31 of the target expansion card receives its own routing information sent by the first adjacent expansion card through the information receiving module 32.
[0037] S204: Update the routing table of the target expansion card according to the routing information of the first adjacent expansion card.
[0038] In the embodiment of the present application, after receiving its own routing information sent by the first adjacent expansion card, the routing controller 31 of the target expansion card updates the routing information of the first adjacent expansion card into its own routing table.
[0039] The embodiment of the present application adopts a distributed point-to-point routing table building algorithm. Compared with the point-to-all-point routing table building algorithm used in the related art, the routing table building can be completed quickly without cross-level query or full cascade network query, which greatly reduces the number of query services and table building services during routing table building, improves the efficiency of routing table building, and reduces the communication bandwidth occupation time. The specific analysis is as follows: against Figure 1 In the multi-level SAS expansion card cascade topology network shown, when the point-to-all-point routing table building algorithm in the related art is used, the process of creating a cascade routing table by the cascaded SAS expansion cards is as follows: 1) Expansion card 1 needs to query the device information of expansion card 2, expansion card 4, expansion card 3 to expansion card n; 2) Expansion card 2 needs to query the device information of expansion card 1, expansion card 4, expansion card 3 to expansion card n; 3) Expansion card 3 needs to query the device information of expansion card 1, expansion card 2, expansion card 4, expansion card 5 to expansion card n; 4) Expansion card 4 needs to query the device information of expansion card 1, expansion card 2, expansion card 3 to expansion card n; 5) Similarly, each level of expansion card needs to query all expansion card devices in the entire cascade topology network to establish a complete routing table.
[0040] Take n=6 as an example, expansion card 5 is directly connected to expansion card 6. When powered on, expansion cards 1 to 6 all establish complete routing tables, and each expansion card needs to execute 5 query services, a total of 30 (5*6=30) query services are required; after all expansion cards have established complete routing tables, when a hard disk directly connected to expansion card 6 changes once, such as unplugging the hard disk, it is necessary to execute 16 (5+5+3+2+1=16) query services to update the routing tables of all expansion cards.
[0041] When the distributed point-to-point routing table building algorithm of the embodiment of the present application is used, the process of creating a cascaded routing table by the cascaded SAS expansion cards is as follows: 1) Expansion card 1 needs to query expansion card 2, expansion card 3 and expansion card 4; 2) Expansion card 2 needs to query expansion card 1; 3) Expansion card 3 needs to query expansion card 1 and expansion card 5; 4) Expansion card 4 needs to query expansion card 1; 5) Similarly, each level of expansion card only needs to query the directly connected expansion card device.
[0042] Take n=6 as an example, expansion card 5 is directly connected to expansion card 6. When powered on, expansion cards 1 to 6 all establish complete routing tables, and a total of 10 (3+1+2+1+2+1=10) query services need to be executed; after all expansion cards have established complete routing tables, when a hard disk directly connected to expansion card 6 changes once, such as unplugging the hard disk, only 5 (1+1+1+1+1=5) query services need to be executed to update the routing tables of all expansion cards.
[0043] Therefore, compared with the point-to-all-point routing table building algorithm in the related technology, the distributed point-to-point routing table building algorithm adopted in the embodiment of the present application can reduce the number of query services and table building services by two-thirds, significantly improve the efficiency of routing table building, and greatly save the communication bandwidth occupation time.
[0044] Furthermore, the above solution is that when the target expansion card is the receiver of the table creation event, the routing table scheme of the target expansion card is updated. The target expansion card can also be the sender of the table creation event to prompt the adjacent expansion card to update its own routing table scheme. Figure 6 As shown, the routing management method of the embodiment of the present application may also include the following steps: S601: Send a second table creation event to a second adjacent expansion card.
[0045] S602: Receive a second route query command sent by a second adjacent expansion card according to a second table building event.
[0046] S603: Send routing information of the target expansion card to the second adjacent expansion card according to the second routing query command, so that the second adjacent expansion card updates its routing table according to the routing information of the target expansion card.
[0047] Among them, the above-mentioned step S602 "receiving the second routing query command sent by the second adjacent expansion card according to the second table creation event" may specifically include the following steps: receiving the second routing query command sent by the second adjacent expansion card, the second routing query command being sent by the second adjacent expansion card according to the second table creation event after the timing time after receiving the second table creation event reaches the timing time threshold.
[0048] Among them, the above-mentioned step S602 "receiving a second routing query command sent by the second adjacent expansion card according to the second table building event" may specifically include the following steps: receiving a second routing table building algorithm query command sent by the second adjacent expansion card according to the second table building event; sending the routing table building algorithm information of the target expansion card to the second adjacent expansion card according to the second routing table building algorithm query command; receiving the second routing query command sent by the second adjacent expansion card, the second routing query command is sent by the second adjacent expansion card after determining that the target expansion card supports the distributed point-to-point routing table building algorithm based on the routing table building algorithm information of the target expansion card.
[0049] In the embodiment of the present application, the specific process of the solution in which the target expansion card acts as the sender of the table creation event can refer to the specific process of the solution in which the target expansion card acts as the receiver of the table creation event, which will not be repeated here.
[0050] In summary, the routing management method of the embodiment of the present application, the target expansion card receives the first table building event sent by the first adjacent expansion card, sends the first routing query command to the first adjacent expansion card according to the first table building event, receives the routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command, and updates the routing table of the target expansion card according to the routing information of the first adjacent expansion card. In the embodiment of the present application, each level of expansion card only needs to query the routing information of the adjacent expansion card, without cross-level query or full cascade network query, and the routing table building can be completed quickly, which greatly reduces the number of query services and table building services during routing table building, improves the efficiency of routing table building, and reduces the communication bandwidth occupancy time. The target expansion card initiates a table building process only when the timing time after receiving the first table building event reaches the timing time threshold, avoiding frequent table building events from generating too many repeated table building processes, thereby improving the stability of the cascade expansion card in creating a routing table. The custom command in the SAS protocol is used to query the routing table building algorithm information of the adjacent SAS expansion card, and then determine whether the adjacent SAS expansion card supports the routing table building algorithm of the present invention, which improves the application compatibility of the present invention and has a wide range of application scenarios.
[0051] To clearly illustrate the routing management method of the present application embodiment, Figure 7 The overall process of the routing management method of the embodiment of the present application is described in detail. Figure 7 As shown, taking the target expansion card as the recipient of the table creation event as an example, the routing management method of the embodiment of the present application may specifically include the following steps: S701: A target expansion card receives a first table creation event sent by a first adjacent expansion card and starts timing.
[0052] S702, determine whether the timing time reaches a preset timing time threshold. If not, return to step S702. If yes, execute step S703.
[0053] S703: Send a first routing table building algorithm query command to the first adjacent expansion card.
[0054] S704: Receive routing table building algorithm information sent by the first adjacent expansion card.
[0055] S705, judging whether the first adjacent expansion card supports the distributed point-to-point routing table building algorithm according to the routing table building algorithm information. If not, executing step S709. If yes, executing step S706.
[0056] S706: Send a first route query command to the first adjacent expansion card.
[0057] S707: Receive routing information sent by the first adjacent expansion card.
[0058] S708: Update its own routing table according to the routing information of the first adjacent expansion card.
[0059] S709: Update its own routing table using a point-to-all-point routing table building algorithm in the related art.
[0060] To clearly illustrate the routing management method of the present application embodiment, Figure 8 The signaling interaction diagram of the routing management method of the embodiment of the present application is described in detail. Figure 8 As shown, taking the target expansion card as the recipient of the table creation event as an example, the routing management method of the embodiment of the present application may specifically include the following steps: S801: A first adjacent expansion card sends a first table creation event to a target expansion card.
[0061] S802, the target expansion card starts timing.
[0062] S803: After the timing time reaches a preset timing time threshold, the target expansion card sends a first routing table building algorithm query command to the first adjacent expansion card.
[0063] S804: The first adjacent expansion card sends routing table building algorithm information to the target expansion card.
[0064] S805: The target expansion card determines, based on the routing table building algorithm information, that the first adjacent expansion card supports the distributed point-to-point routing table building algorithm.
[0065] S806: The target expansion card sends a first routing query command to the first adjacent expansion card.
[0066] S807: The first adjacent expansion card sends routing information to the target expansion card.
[0067] S808: The target expansion card updates its own routing table according to the routing information.
[0068] The present application also provides a routing management device. Figure 3 As shown, the routing management device of the embodiment of the present application includes: a routing controller 31, an information receiving module 32, an information sending module 33 and a table building module 34. Among them: The routing controller 31 receives the first table creation event sent by the first adjacent expansion card through the information receiving module 32 .
[0069] The routing controller 31 controls the information sending module 33 to send a first routing query command to the first adjacent expansion card according to the first table building event.
[0070] The routing controller 31 receives the routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command through the information receiving module 32 .
[0071] The routing controller 31 controls the table building module 34 to update the routing table of the target expansion card according to the routing information of the first adjacent expansion card.
[0072] In a possible implementation of the embodiment of the present application, the routing management device of the embodiment of the present application further includes: an event window module 35. The routing controller 31 starts the event window module 35 to start timing after receiving the first table building event, and after the timing time reaches a preset timing time threshold, the control information sending module 33 sends a first routing query command to the first adjacent expansion card according to the first table building event.
[0073] In a possible implementation of the embodiment of the present application, the routing controller 31 controls the information sending module 33 to send a first routing table building algorithm query command to the first adjacent expansion card according to the first table building event; receives the routing table building algorithm information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing table building algorithm query command through the information receiving module 32; controls the table building module 34 to determine that the first adjacent expansion card supports the distributed point-to-point routing table building algorithm based on the routing table building algorithm information of the first adjacent expansion card, and then controls the information sending module 33 to send the first routing query command to the first adjacent expansion card.
[0074] In the embodiment of the present application, the specific process of each module and unit in the routing management device of the embodiment of the present application realizing its function can be referred to the relevant description in the above-mentioned routing management method embodiment, which will not be repeated here.
[0075] In summary, in the routing management device of the embodiment of the present application, the target expansion card receives the first table building event sent by the first adjacent expansion card, sends the first routing query command to the first adjacent expansion card according to the first table building event, receives the routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command, and updates the routing table of the target expansion card according to the routing information of the first adjacent expansion card. In the embodiment of the present application, each level of expansion card only needs to query the routing information of the adjacent expansion card, without cross-level query or full cascade network query, and the routing table building can be completed quickly, which greatly reduces the number of query services and table building services during routing table building, improves the efficiency of routing table building, and reduces the communication bandwidth occupancy time. The target expansion card initiates a table building process only when the timing time after receiving the first table building event reaches the timing time threshold, avoiding frequent table building events from generating too many repeated table building processes, thereby improving the stability of the cascade expansion card in creating the routing table. The custom command in the SAS protocol is used to query the routing table building algorithm information of the adjacent SAS expansion card, and then determine whether the adjacent SAS expansion card supports the routing table building algorithm of the present invention, which improves the application compatibility of the present invention and has a wide range of application scenarios.
[0076] Corresponding to the routing management method provided in the above embodiment, based on the same technical concept, the embodiment of the present application further provides an electronic device, which is used to execute the routing management method of the above embodiment. Fig. 9 A schematic diagram of the structure of an electronic device for implementing each embodiment of the present application is shown in FIG. Fig. 9 As shown. The electronic device may have relatively large differences due to different configurations or performances, and may include one or more processors 901 and memory 902, and the memory 902 may store one or more storage applications or data. Among them, the memory 902 can be a short-term storage or a persistent storage. The application stored in the memory 902 may include one or more modules (not shown in the figure), and each module may include a series of computer executable instructions in the electronic device. Furthermore, the processor 901 can be configured to communicate with the memory 902 to execute a series of computer executable instructions in the memory 902 on the electronic device. The electronic device may also include one or more power supplies 903, one or more wired or wireless network interfaces 904, one or more input and output interfaces 905, and one or more keyboards 906.
[0077] Specifically in this embodiment, the electronic device includes a processor, a communication interface, a memory and a communication bus; wherein the processor, the communication interface and the memory communicate with each other through the bus; the memory is used to store computer programs; the processor is used to execute the programs stored in the memory to implement the following method steps: receiving a first table creation event sent by a first adjacent expansion card; Sending a first routing query command to a first adjacent expansion card according to a first table building event; receiving routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command; The routing table of the target expansion card is updated according to the routing information of the first adjacent expansion card.
[0078] In the embodiment of the present application, the specific process of the embodiment of the present application can refer to the relevant description in the above-mentioned routing management method embodiment, which will not be repeated here.
[0079] In the electronic device of the embodiment of the present application, the target expansion card receives the first table building event sent by the first adjacent expansion card, sends the first route query command to the first adjacent expansion card according to the first table building event, receives the route information of the first adjacent expansion card sent by the first adjacent expansion card according to the first route query command, and updates the route table of the target expansion card according to the route information of the first adjacent expansion card. In the embodiment of the present application, each level of expansion card only needs to query the route information of the adjacent expansion card, without cross-level query or full cascade network query, and the route table building can be completed quickly, which greatly reduces the number of query services and table building services during route table building, improves the efficiency of route table building, and reduces the communication bandwidth occupancy time. The target expansion card initiates a table building process only when the timing time after receiving the first table building event reaches the timing time threshold, avoiding frequent table building events from generating too many repeated table building processes, thereby improving the stability of the cascade expansion card in creating the route table. The custom command in the SAS protocol is used to query the route table building algorithm information of the adjacent SAS expansion card, and then determine whether the adjacent SAS expansion card supports the route table building algorithm of the present invention, which improves the application compatibility of the present invention and has a wide range of application scenarios.
[0080] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0081] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0082] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0083] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0084] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0085] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0086] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0087] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0088] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined in this article, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0089] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0090] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0091] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0092] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.
Claims
1. A routing management method, characterized in that: Applied to a target expansion card, the target expansion card is any expansion card in a multi-level expansion card cascade network, the method comprises: receiving a first table creation event sent by a first adjacent expansion card; Sending a first routing query command to the first adjacent expansion card according to the first table building event; receiving routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command; The routing table of the target expansion card is updated according to the routing information of the first adjacent expansion card.
2. The method according to claim 1, characterized in that The sending a first route query command to the first adjacent expansion card according to the first table building event includes: After receiving the first table creation event, start timing; After the timing time reaches a preset timing time threshold, the first route query command is sent to the first adjacent expansion card according to the first table creation event.
3. The method according to claim 1, characterized in that The sending a first route query command to the first adjacent expansion card according to the first table building event includes: Sending a first routing table building algorithm query command to the first adjacent expansion card according to the first table building event; receiving routing table building algorithm information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing table building algorithm query command; According to the routing table building algorithm information of the first adjacent expansion card, it is determined that the first adjacent expansion card supports the distributed point-to-point routing table building algorithm, and then the first routing query command is sent to the first adjacent expansion card.
4. The method according to claim 3, characterized in that The expansion card is a serial small computer system interface SAS expansion card, and the first routing table building algorithm query command is a custom command in the SAS protocol.
5. The method according to claim 1, characterized in that Also includes: Sending a second table creation event to a second adjacent expansion card; receiving a second route query command sent by the second adjacent expansion card according to the second table creation event; The routing information of the target expansion card is sent to the second adjacent expansion card according to the second routing query command, so that the second adjacent expansion card updates the routing table of the second adjacent expansion card according to the routing information of the target expansion card.
6. The method according to claim 5, characterized in that The receiving of the second route query command sent by the second adjacent expansion card according to the second table building event includes The second route query command sent by the second adjacent expansion card is received, where the second route query command is sent by the second adjacent expansion card according to the second table creation event after a timing time after the second adjacent expansion card receives the second table creation event reaches the timing time threshold.
7. The method according to claim 5, characterized in that The receiving a second route query command sent by the second adjacent expansion card according to the second table building event includes: receiving a second routing table building algorithm query command sent by the second adjacent expansion card according to the second table building event; Sending the routing table building algorithm information of the target expansion card to the second adjacent expansion card according to the second routing table building algorithm query command; The second routing query command sent by the second adjacent expansion card is received, where the second adjacent expansion card sends the second routing query command after determining that the target expansion card supports the distributed point-to-point routing table building algorithm based on the routing table building algorithm information of the target expansion card.
8. A routing management device, characterized in that: Applied to a target expansion card, the target expansion card is any expansion card in a multi-level expansion card cascade network, the device comprises: a routing controller, an information receiving module, an information sending module and a table building module; The routing controller receives a first table creation event sent by a first adjacent expansion card through the information receiving module; The routing controller controls the information sending module to send a first routing query command to the first adjacent expansion card according to the first table building event; The routing controller receives, through the information receiving module, the routing information of the first adjacent expansion card sent by the first adjacent expansion card according to the first routing query command; The routing controller controls the table building module to update the routing table of the target expansion card according to the routing information of the first adjacent expansion card.
9. An electronic device, characterized in that: include: A processor, a communication interface, a memory and a communication bus; wherein the processor, the communication interface and the memory communicate with each other via the bus; The memory is used to store computer programs; the processor is used to execute the programs stored in the memory to implement the steps of the method as described in any one of claims 1-7.