Bandwidth limiting method and device, electronic equipment and readable storage medium

By automatically generating an interface bandwidth limitation tool table, using the encoding rules in the product bill of materials, the PCIE resource limitation of the server product is automatically verified, solving the problems of inefficient manual operation and insufficient accuracy, and achieving efficient and accurate resource management.

CN120492167APending Publication Date: 2025-08-15INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510641380.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-19
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

In the prior art, PCIE resource limitations of server products mainly rely on manual operations, resulting in inefficient efficiency and insufficient accuracy.

Method used

By automatically generating an interface bandwidth limitation tool table, using product virtual coding and coding rules in the product bill of materials, automatically verify PCIE resource limitations and avoid manual operations.

Benefits of technology

Improves the efficiency and accuracy of BOM creation, ensuring the accuracy of PCIE resource limitations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120492167A_ABST
    Figure CN120492167A_ABST
Patent Text Reader

Abstract

The invention discloses a bandwidth limiting method and device, electronic equipment and a readable storage medium, and relates to the technical field of computers. After a product material list of a target product is obtained, a product virtual code of an object in a product material and a coding rule of the product virtual code are utilized; and analyzing to obtain characteristic codes and quantity characteristic codes corresponding to the components in the target product. Then, the characteristic codes and the number characteristic codes are used as headers, the lower portions of the headers are corresponding specification levels, and the interface bandwidth limiting tool table of the target product can be automatically generated. And importing the interface bandwidth limiting tool table into the limiting relation table library, so that bandwidth limiting based on the interface bandwidth limiting tool table can be realized. Namely, by automatically generating the product interface bandwidth limitation tool table, the PCIE resource limitation in the product BOM is automatically verified, limitation statements are not needed for limitation, the BOM creation efficiency is greatly improved, and the BOM creation accuracy is also ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a bandwidth limiting method, device, electronic device, and readable storage medium. Background Art

[0002] Because server products have limited PCIe (Peripheral Component Interconnect Express) resources, servers are configured using a modular bill of materials (BOM), which lists all sub-materials that make up a product. This requires limiting the PCIe resources of all components in the BOM.

[0003] Currently, bandwidth resource restrictions are primarily implemented by manually adding numerous restriction statements to the product BOM. This approach wastes manpower and cannot guarantee the accuracy of the restriction relationships.

[0004] Therefore, for those skilled in the art, how to limit the bandwidth of the server selection process is a technical problem that urgently needs to be solved. Summary of the Invention

[0005] The present application provides a bandwidth limitation method, apparatus, electronic device, and readable storage medium, which can automatically generate an interface bandwidth limitation tool table and implement bandwidth limitation based on the interface bandwidth limitation tool table.

[0006] The technical solutions provided in this application include:

[0007] A bandwidth limiting method, comprising:

[0008] Obtaining a product bill of materials for a target product; wherein components in the product bill of materials have product virtual codes;

[0009] Using the product bill of materials and combining it with the coding rules of the product virtual coding, determine the characteristic codes and quantity characteristic codes corresponding to the components in the target product;

[0010] Generate an interface bandwidth limitation tool table for the target product using the feature code and quantity feature code as table headers and the corresponding specification level below the headers;

[0011] Import the interface bandwidth restriction tool table into the restriction relation table library to perform bandwidth restriction.

[0012] A bandwidth limiting device, comprising:

[0013] A bill of materials acquisition module is used to acquire a product bill of materials of a target product; wherein the components in the product bill of materials have product virtual codes;

[0014] A characteristic determination module is used to determine the characteristic codes and quantity characteristic codes corresponding to the components in the target product by using the product bill of materials and combining the coding rules of the product virtual coding;

[0015] A restriction tool table determination module is used to generate an interface bandwidth restriction tool table for a target product using a characteristic code and a quantity characteristic code as table headers and corresponding specification levels below the table headers;

[0016] The bandwidth limitation module is used to import the interface bandwidth limitation tool table into the restriction relationship table library to perform bandwidth limitation.

[0017] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned bandwidth limitation methods when executing the computer program.

[0018] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned bandwidth limitation methods are implemented.

[0019] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned bandwidth limitation methods when executed by a processor.

[0020] After obtaining the target product's bill of materials, this application uses the product virtual codes and encoding rules for the objects in the product materials to parse the characteristic codes and quantity characteristic codes corresponding to the components in the target product. Then, using the characteristic codes and quantity characteristic codes as table headers, with the corresponding specification levels below the headers, an interface bandwidth limitation tool table for the target product can be automatically generated. By importing the interface bandwidth limitation tool table into the restriction relationship table library, bandwidth limitation based on the interface bandwidth limitation tool table can be implemented.

[0021] That is, this application automatically generates a product PCIE bandwidth limitation tool table through the system, realizes automatic verification of PCIE resource limitations in the product BOM, avoids manual restriction of a large number of restriction statements, greatly improves the efficiency of BOM creation, and ensures the accuracy of BOM creation. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0023] Figure 1A flow chart of a bandwidth limitation method provided in an embodiment of the present application;

[0024] Figure 2 A schematic diagram of a specific implementation of a bandwidth limitation method provided in an embodiment of the present application;

[0025] Figure 3 A schematic structural diagram of a bandwidth limiting device provided in an embodiment of the present application;

[0026] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;

[0027] Figure 5 A schematic diagram of the specific structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0029] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0030] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0031] Please refer to Figure 1 , Figure 1 This is a flow chart of an implementation of a bandwidth limitation method provided in an embodiment of the present application, which includes the following steps.

[0032] S101. Obtain the product bill of materials of the target product.

[0033] Among them, the components in the product bill of materials have product virtual codes.

[0034] The target product can be a server product or other computer equipment that requires bandwidth limitation.

[0035] In this embodiment, the components may be coded according to coding rules so that each component has a virtual product code.

[0036] In this embodiment, for the modular BOM of a server product, the total product bandwidth is defined as: number of CPUs in the product x bandwidth of a single CPU. The CPU bandwidth is related to the CPU platform.

[0037] You can create a CPU-bandwidth maintenance table and define the CPU coding rule as CPU-XXXXXX-X00. The first three digits indicate the component classification as CPU, digits 4-9 are the serial number, and digits 10-12 are the CPU generation. For example, CPU-000000-500 indicates a fifth-generation CPU. After the CPU code is requested, the system identifies the last three digits of the CPU, matches them to the bandwidth quantity column in the maintenance table, and enters the code into the first column of Table 1.

[0038] Table 1, Table 1 is the maintenance table of the number of processors and bandwidth

[0039]

[0040] The CPU's bandwidth output is divided into two parts. One part is through the slot on the motherboard. The slots are divided into X8 and X16. The bandwidth on the slot is already occupied. The other part is in the form of an interface on the motherboard, and the bandwidth is allocated through cable connection components.

[0041] Defines component bandwidth attribute classification and bandwidth attribute coding. Component bandwidth attribute classifications are divided into five categories: S (bandwidth-providing), A (bandwidth-occupying), B (bandwidth-free), C (bandwidth-expanding), and M (mainboard).

[0042] Among them, S represents a component that provides bandwidth. In the server, the CPU provides bandwidth, and the bandwidth attribute code is fixed as S.

[0043] A indicates bandwidth-occupying components. Bandwidth attribute codes are A8 and A16, indicating components occupying X8 and X16 bandwidths, respectively.

[0044] B indicates a component that does not occupy bandwidth, and the bandwidth attribute code is fixed as B.

[0045] C indicates a component that can expand bandwidth. The bandwidth attribute is coded as CX-XX. The first digit indicates the bandwidth expansion factor for this component, and digits 2-3 indicate the bandwidth to be expanded. For example, a component attribute of C2-16 indicates a bandwidth expansion factor of 2, which can expand an original X16 input signal to X32.

[0046] M represents a motherboard component. Motherboards permanently occupy certain slot signals, and the slot signals on the motherboard are derived from a specific CPU. The bandwidth attribute code for M-type components is M-XX-XX-XX-XX. Current products support up to four-way motherboards, meaning a maximum of four CPUs per motherboard. The first X represents the number of X8 slot signals from CPU0, the second X represents the number of X16 slot signals from CPU0, the third and fourth digits represent the number of X8 and X16 slots from CPU1, and so on. The fifth to eighth digits represent the number of X8 and X16 slots from CPU2 and CPU3, respectively. A motherboard without a CPU is represented by 00. For example, M12-21-00-00 indicates a dual-way motherboard supporting two CPUs. CPU0 has one X8 slot and two X16 slots on the motherboard, while CPU1 has two X8 slots and one X16 slot.

[0047] The product modular BOM virtual coding rules are as follows.

[0048] Product virtual coding is divided into four levels: product level, module level, specification level and physical material level.

[0049] The coding format for a product BOM is defined as ProductA-X-GENX-XXX, where ProductA represents product A. The first X represents the number of server CPUs, for example, 2 indicates a dual-socket server with a motherboard supporting 2 or fewer CPUs. The bandwidth of each CPU is related to the CPU generation. For example, the CPU bandwidth of a GEN5 platform is 64, while that of a GEN6 platform is 80. GENX represents the CPU generation, for example, GEN6 represents the sixth-generation CPU. A product can only contain CPUs of the same generation. GENX automatically fills in the 10th to 12th digits of the CPU encoding information included in the BOM. If different generations of CPUs are included in the BOM, an error message will be displayed. The last three digits are a serial number. For example, ProductA-2-GEN6-000 indicates that product A is a dual-socket server with a 6th-generation CPU platform. If the actual number of CPUs is 2, the total bandwidth is 80 x 2 = 160.

[0050] Below the product level is the module level. The rule for the module level is EB-X-XXX-XXX, where EB represents the module level, the third digit represents the product line information, such as V represents a general product line, the 4th to 6th digits represent the component classification, such as 001 represents a CPU, and the 7th to 9th digits are the serial code.

[0051] The module level is below the specification level, which is a universal virtual level that can be used in all product BOMs. The specification level coding rule is EG-X-XXX-XXX, where EG represents the specification level and the last 7 digits are consistent with the module level rule.

[0052] There can only be one S-type, A-type, C-type and M-type material in the lower-level physical material of the specification level. When there are multiple materials of these four types, the system will issue an error reminder.

[0053] A correspondence table between component classification codes and component bandwidth attributes is established, as shown in Table 2. For example, 001 represents a CPU with a bandwidth attribute of S, and 007 represents a motherboard with a bandwidth attribute of M.

[0054] Table 2, Table 2 is the correspondence table between component classification code and component bandwidth attribute

[0055]

[0056] A bandwidth attribute interface is added to the specification level. According to the correspondence between component classification and bandwidth attributes in Table 2, the bandwidth attribute classification of the specification level is captured, and then the bandwidth attribute code of the physical material with the same component classification under the specification level is mapped to the specification level. There may be multiple physical materials with the same component classification under the specification level. If there are multiple Class B materials, the system will not report an error. If there are multiple Class S, Class A, Class C or Class M materials under the specification level, the system will report an error reminder.

[0057] In a specific embodiment of the present application, obtaining a product bill of materials for a target product includes:

[0058] After importing the target product components, determine the product virtual code and specification level code of the components according to the coding rules;

[0059] Use product virtual coding and specification-level coding to create product bills of materials.

[0060] For ease of description, the above steps are combined and explained below.

[0061] Please refer to Figure 2 The physical material code of the component is determined based on the component's bandwidth attribute information. For example, after a CPU component is introduced, a CPU code is requested according to the defined coding rule: CPU-XXXXXX-X00. The first three digits indicate the component's CPU classification, digits 4-9 are the serial number, and digits 10-12 are the CPU generation number. For example, if the CPU code is CPU-000000-500 and the bandwidth attribute is S, the system identifies the last three digits of the CPU, matches them to the bandwidth quantity column in the maintenance table, and enters the code into the first column of the table. Similarly, when requesting codes for A, B, C, and M components, the bandwidth attribute information is entered.

[0062] For part applications with specification level EG-X-XXX-XXX, only one S-, A-, C-, or M-type material can exist for the physical material below that specification level. If multiple materials of these four types exist, the system will report an error. When completing the material code application for the physical material below the specification level, the bandwidth attribute for the specification level is first added based on the component classification at the specification level and the information in the component classification and bandwidth attribute comparison table. The system then retrieves the bandwidth attribute code for the physical material of the same component classification at the specification level and maps it to the bandwidth attribute code at the specification level.

[0063] Create a modular product BOM. Apply for a product BOM code and module-level code. For the product code, set ProductA-2-GEN6-000. Create the modular product BOM. Add the specification level to the module level for this product. Create a selection interface and create feature code information. Add the specification level code to the feature code. For example, the feature code for an X8 network card is ProductA_X8NIC. The system automatically generates a quantity feature code corresponding to this feature code by appending _QTY to the character "feature." For example, the feature code for the quantity of an X8 network card is ProductA_X8NIC_QTY. The quantity feature requires a quantity range, for example, the range for X8 network cards is 0-3. Note that the quantity of the motherboard (M-class component) is fixed at 1. The system automatically verifies that the specification level under the quantity feature is an M-class specification. If so, the range must be 1; otherwise, an error will be reported. The system also verifies that the bandwidth attributes of the specification levels under the same feature code must be of the same category; otherwise, an error will be reported.

[0064] In this way, the product bill of materials of the target product, that is, the product BOM code, can be obtained.

[0065] S102: Determine the characteristic codes and quantity characteristic codes corresponding to the components in the target product by using the product bill of materials and combining the coding rules of the product virtual coding.

[0066] Among them, the characteristic coding is the coding related to the characteristics of the component, which is based on information such as the category of the component, the iteration number, etc. The quantity characteristic coding is the coding corresponding to the characteristics related to quantity.

[0067] According to the product bill of materials and the coding rules of the product virtual coding described above, the characteristic codes and quantity characteristic codes corresponding to the components in the target product can be clearly identified.

[0068] In a specific embodiment of the present application, the characteristic codes and quantity characteristic codes corresponding to the components in the target product are determined by utilizing the product bill of materials and combining the coding rules of the product virtual coding, including:

[0069] Using the product bill of materials and combining the coding rules of the product virtual coding, the characteristic information and quantity characteristics of the components in the target product are searched in sequence according to the component classification order;

[0070] The characteristic information is used to determine the characteristic code, and the quantity characteristic is used to determine the quantity characteristic code.

[0071] In this embodiment, when determining the characteristic code, it is mainly determined based on the characteristic information of the component; when determining the quantity characteristic code, it is determined based on the quantity characteristics of the component. The specific coding rules can be referred to the description above. When determining the characteristic code and quantity characteristic code corresponding to the components in the target product, it can be clarified based on the specific classification order of the components, thereby ensuring that the interface bandwidth limitation tool table generated further has the bandwidth limitation function. Specifically, it can be determined by first traversing the components that provide bandwidth in the product, and then determining the bandwidth expansion components, bandwidth fixed consumption components, and bandwidth consumption components in this order.

[0072] In a specific embodiment of the present application, the product bill of materials is used in combination with the coding rules of the product virtual coding, and the characteristic information and quantity characteristics of the components in the target product are sequentially searched according to the component classification order, including:

[0073] Use the product bill of materials and combine it with the coding rules of the product virtual coding to determine the bandwidth-providing components supported by the target product;

[0074] The bandwidth providing components are sorted and information of the bandwidth expanding components under each bandwidth providing component is obtained;

[0075] Determine the total bandwidth by using the provided bandwidth component information and the expanded bandwidth component information;

[0076] Use the product bill of materials and combine it with the coding rules of the product virtual coding to determine the motherboard component information supported by the target product;

[0077] Using the motherboard component information and the total bandwidth, determine the current total remaining bandwidth;

[0078] Use the product bill of materials and combine it with the coding rules of the product virtual coding to determine the bandwidth-consuming components supported by the target product;

[0079] Under the current total remaining bandwidth limit and in combination with bandwidth-occupying component information, the quantity and type of bandwidth-occupying components are arranged and combined to obtain characteristic information and quantity characteristics of the bandwidth-occupying components.

[0080] For ease of description, the above steps are combined and explained below.

[0081] In this application, firstly, the information of the bandwidth-providing components supported by the target product is clarified. The bandwidth-providing components can be specifically processors, i.e., CPUs. In this embodiment, there is no limitation on the number and model of CPUs.

[0082] When there are multiple bandwidth providing components, the bandwidth providing components can be sorted and then bandwidth expansion component information under a single bandwidth providing component can be obtained, wherein the bandwidth expansion component is a component capable of expanding the PCIE interface.

[0083] Based on providing bandwidth component information and expanding bandwidth component information, the total bandwidth of the target product can be determined.

[0084] Generally, the motherboard will consume a fixed number of PCIE interfaces. Therefore, after determining the total bandwidth, the motherboard component information can be determined.

[0085] Then, the current total remaining bandwidth is determined using the mainboard component information and the total bandwidth, wherein the current total remaining bandwidth can be provided as the bandwidth used by the bandwidth-occupying components.

[0086] Once the total available bandwidth is determined, the product's bill of materials, combined with the product's virtual coding rules, can be used to determine the bandwidth-consuming components supported by the target product. Then, within the current available bandwidth limit and in combination with this information, the number and types of bandwidth-consuming components are permuted and combined to obtain their characteristic information and quantity characteristics. In other words, by permuting and combining the currently supported bandwidth-consuming components, the target product's corresponding allowable bandwidth usage can be exhaustively enumerated.

[0087] In a specific embodiment of the present application, the total bandwidth is determined by providing bandwidth component information and expanding bandwidth component information, including:

[0088] If the bandwidth-providing component is a processor, the bandwidth amount supported by the processor is determined using the bandwidth-providing component information;

[0089] Using the information of the bandwidth expansion component, determine the amount of the expanded bandwidth;

[0090] The total bandwidth is obtained by adding the bandwidth quantity and the extended bandwidth quantity.

[0091] When the bandwidth component is a processor, the maximum number of CPUs supported by the product and the generation of the supported CPUs are determined based on the product BOM code. For example, ProductA-2-GEN6-000 indicates that Product A is a dual-core server with a 6th-generation CPU platform, with a maximum of 2 CPUs and a bandwidth of 80 x 2 = 160.

[0092] Specifically, first classify the products according to the number of CPUs, for example, if the number of CPUs is 1 or 2, then determine the number of Class C components under each CPU number, then determine the specification level of Class M components, and then calculate the number of characteristics in the quantity statistics group.

[0093] After calculating the number of S-type components and C-type components, the system first calculates the total bandwidth under this condition based on the number of these two types of components and their bandwidth properties. The total bandwidth = the bandwidth corresponding to this CPU * the number of CPUs + the bandwidth expanded by the C-type components * (the bandwidth multiplier of the C-type components - 1).

[0094] For example, when the number of sixth-generation CPUs is 1 and the number of C-type components C2-16 is 1, the total bandwidth = 80*1+16*(2-1)=96.

[0095] In a specific embodiment of the present application, the current remaining total bandwidth is determined using the motherboard component information and the total bandwidth, including:

[0096] Using the motherboard component information, determine the number of slots occupied by the motherboard components;

[0097] Subtract the number of slots from the total bandwidth to get the current total remaining bandwidth.

[0098] For example, to calculate the remaining bandwidth based on the bandwidth attributes of a selected M-type component, the formula is as follows: First, determine the bandwidth of the M-type component to be calculated based on the number of CPUs. For example, if there is only one CPU, only the bandwidth of CPU0 in the M-type component is calculated. The current remaining bandwidth = total bandwidth - (number of x8 slots in CPU0 * 8 + number of x16 slots in CPU0 * 16:0). For example, if the M-type component is M12-21-00-00 and there is only one CPU, the remaining bandwidth = 96 - 8 * 1 - 16 * 2 = 56.

[0099] In a specific embodiment of the present application, under the current remaining total bandwidth limit and in combination with bandwidth-occupying component information, the number and types of bandwidth-occupying components are permuted and combined to obtain characteristic information and quantity characteristics of the bandwidth-occupying components, including:

[0100] Determine the maximum number of first-category bandwidth-occupying components that occupy 16 bandwidths among the bandwidth-occupying components under the current total remaining bandwidth limit;

[0101] Traversing from zero to a maximum number of the first-type bandwidth-occupying components, and determining the number of the first-type bandwidth-occupying components and the number of the second-type bandwidth-occupying components in different combinations;

[0102] The codes of the first-type bandwidth-occupying components and / or the second-type bandwidth-occupying components are determined as characteristic information, and the corresponding quantities are determined as quantity characteristics.

[0103] For ease of description, the above steps are combined and explained below.

[0104] Among them, the bandwidth-occupying components include A8 components and A16 components; A16 components are the first type of bandwidth-occupying components that occupy 16 bandwidths; A8 components are the second type of bandwidth-occupying components that occupy 8 bandwidths.

[0105] Based on the total amount of currently available bandwidth, the number of A8 and A16 components is arranged and combined in the following manner:

[0106] First, the number of A16 components is calculated based on the total remaining bandwidth / 16. For example, 56 / 16 = 3 with a remainder of 8, so the number of A16 components is 3. The number of A16 components is listed in order from 0 to 3:

[0107] If A16=0, the maximum number of A8s = the total remaining bandwidth / 8. According to the above example, this is 56 / 8=7. Therefore, the number of A16 features is 0, and the number of A8 features is arranged in 8 rows from 0 to 7. If A16=1, the maximum number of A8s = (total remaining bandwidth - 16) / 8. According to the above example, this is (56-16) / 8=5. Therefore, the number of A16 features is 1, and the number of A8 features is arranged in 6 rows from 0 to 5. This process continues in this way until the number of A16s equals the number of A16 components listed, at which point the enumeration stops.

[0108] S103 , generating an interface bandwidth limitation tool table for the target product with the characteristic code and quantity characteristic code as table headers and the corresponding specification level below the table headers.

[0109] For example, the product code is ProductA-2-GEN6-000. Create a modular BOM for the product, add the specification level that will be added to this product at the module level, establish a selection interface, and create feature codes. Add the specification level code required for this feature under the feature code. For example, the feature code for an X8 network card is ProductA_X8NIC. The system automatically generates a quantity feature code corresponding to this feature code by adding _QTY after the character "feature." For example, the feature code for the quantity of an X8 network card is ProductA_X8NIC_QTY. The quantity feature requires a quantity range, for example, the range for X8 network cards is 0-3. Note that the quantity of the motherboard (M-class component) is fixed at 1. The system automatically verifies that the specification level under the quantity feature is an M-class specification. If so, the range must be 1; otherwise, an error is reported. The system also verifies that the bandwidth attributes of the specification levels under the same feature code are of the same category; otherwise, an error is reported.

[0110] The system automatically retrieves the corresponding characteristics and quantity characteristics of the components in the found products, along with the corresponding quantity characteristic ranges, and enters these characteristics and quantity characteristics into the CaseTable header. The quantity of Category M components is fixed at 1, so there is no need to list the quantity characteristics. This creates the interface bandwidth limitation tool table.

[0111] S104: Import the interface bandwidth restriction tool table into the restriction relationship table library to perform bandwidth restriction.

[0112] After the PCIE bandwidth limitation tool table is automatically generated, the system automatically imports this PCIE bandwidth limitation tool table into the restriction relationship table library of this product BOM for relationship restriction. This BOM selection must comply with one or more of the conditions listed in this PCIE bandwidth limitation tool table. If it does not comply, it cannot be selected, thus achieving the function of automatically limiting the product BOM PCIE bandwidth restriction.

[0113] In a specific embodiment of the present application, it also includes:

[0114] Get similar products to the current product;

[0115] Obtain a table of interface bandwidth limitation tools corresponding to similar products;

[0116] Delete the components that are not supported by the current product in the interface bandwidth limitation tool table, and add the components that do not exist in the current product in the similar products table;

[0117] After completing the modification, verify the interface bandwidth restriction tool table;

[0118] The interface bandwidth restriction tool table after verification is used as the interface bandwidth restriction tool table of the current product and is imported into the restriction relationship table library to perform bandwidth restriction on the current product.

[0119] In other words, in actual applications, an interface bandwidth restriction tool table can be quickly generated based on product similarity. Verification of the interface bandwidth restriction tool table can specifically verify whether the bandwidth conditions in the table are compliant, such as whether the provided bandwidth is greater than or equal to the bandwidth consumed by all components.

[0120] In one embodiment of the present application, the PCIE bandwidth limit tool table is automatically updated by the system. When a product is changed, the system searches for the characteristics involved in the change and the specification-level code under the characteristics. If the characteristics are quantity characteristics, the system searches for changes in the quantity characteristic range. First, it determines whether the characteristics involved in the change are in the PCIE bandwidth limit tool table or whether they are quantity characteristics in the quantity statistics group characteristics. If not, there is no need to update the PCIE bandwidth limit tool table for the product. If the characteristics involved in the change are in the PCIE bandwidth limitation tool table, the following verification is performed: First, the bandwidth attribute classification of the specification level under the characteristics is determined based on the changed characteristics. If the specification level under the specification characteristics of Class S, Class A, and Class B components is changed, the PCIE bandwidth limitation tool table does not need to be updated; if the Class C and Class M specifications are added or the quantity range of the quantity characteristics is changed, the system needs to update the PCIE bandwidth limitation tool table. The system update method is as follows: If the Class C or Class M component specifications are added, the bandwidth attribute code of the added Class C or Class M component specifications is retrieved, and the PCIE bandwidth limitation tool table is re-listed according to the above steps to generate the PCIE bandwidth limitation tool table, and the newly added enumeration items are added to the bottom of the PCIE bandwidth limitation tool table list. At the same time, the reason for the increase is automatically noted, that is, the specification level code EGV-XXXXXX is added under the XXX characteristic. The updated PCIE bandwidth limit tool table is re-imported into the PCIE bandwidth limit tool table of this product and overwrites the original PCIE bandwidth limit tool table. If the quantity range of the quantity characteristic changes, such as the quantity range of S-class or C-class components or the quantity statistics group characteristic changes, the PCIE bandwidth limit tool table is directly updated according to the above enumeration method. If the quantity characteristic range of Class A components changes, the calculation method of the quantity statistics group characteristic is updated.

[0121] After obtaining the target product's bill of materials, this application uses the product virtual codes and encoding rules for the objects in the product materials to parse the characteristic codes and quantity characteristic codes corresponding to the components in the target product. Then, using the characteristic codes and quantity characteristic codes as table headers, with the corresponding specification levels below the headers, an interface bandwidth limitation tool table for the target product can be automatically generated. By importing the interface bandwidth limitation tool table into the restriction relationship table library, bandwidth limitation based on the interface bandwidth limitation tool table can be implemented.

[0122] That is, this application automatically generates a product PCIE bandwidth limitation tool table through the system, realizes automatic verification of PCIE resource limitations in the product BOM, avoids manual restriction of a large number of restriction statements, greatly improves the efficiency of BOM creation, and ensures the accuracy of BOM creation.

[0123] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0124] To facilitate those skilled in the art to better understand and implement the bandwidth limitation method provided in the embodiments of the present application, the bandwidth limitation method is described in detail below with reference to a specific scenario as an example.

[0125] As can be seen from the above, this application provides a bandwidth limitation method, which can automatically calculate the total bandwidth of the server modular BOM and automatically generate an interface bandwidth limitation tool table, thereby avoiding manual restriction of many OD statements in the BOM and improving the efficiency and accuracy of BOM creation.

[0126] In the specific implementation, you can first perform the following operations:

[0127] First, define bandwidth attributes. For a server product's modular BOM, define total product bandwidth as = number of CPUs in the product x bandwidth per CPU. CPU bandwidth depends on the CPU platform.

[0128] Create a CPU-bandwidth maintenance table and define the CPU coding format as CPU-XXXXXX-X00. The first three digits indicate the component classification as CPU, digits 4-9 are the serial number, and digits 10-12 are the CPU generation number. After the CPU code is requested, the system identifies the last three digits of the CPU, matches them to the bandwidth quantity column in the maintenance table, and enters the code into the first column of the interface bandwidth limit tool table.

[0129] Because the CPU bandwidth output is divided into two parts, one part is through the slot on the motherboard. The slots are divided into X8 and X16, and the bandwidth on the slot is already occupied. The other part is in the form of an interface on the motherboard, and the bandwidth is distributed through cable connection components.

[0130] Component bandwidth attribute classification and bandwidth attribute coding can be defined: there are five types of component bandwidth attribute classification: S, A, B, C, and M.

[0131] Then, define the product modular BOM virtual coding rules: product virtual coding is divided into 4 levels: product level, module level, specification level and physical material.

[0132] The coding format for a product BOM is defined as ProductA-X-GENX-XXX, where ProductA represents product A and the first X represents the number of CPUs in the server. The bandwidth allocated to each CPU is related to the CPU generation. GENX represents the CPU generation, such as GEN6, which indicates a sixth-generation CPU. A product can only contain CPUs of the same generation. GENX automatically fills in the 10th to 12th digits of the CPU encoding information included in the BOM. If different generations of CPUs are included in the BOM, an error message will be displayed. The last three digits are a serial number. For example, ProductA-2-GEN6-000 indicates that product A is a dual-socket server with a sixth-generation CPU platform. If the actual number of CPUs is 2, the total bandwidth is 80 x 2 = 160.

[0133] Below the product level is the module level. The rule for defining the module level is EB-X-XXX-XXX, where EB represents the module level, the third digit represents the product line information, such as V represents a general product line, the 4th to 6th digits represent the component classification, such as 001 represents a CPU, and the 7th to 9th digits are the serial code.

[0134] The module level is below the specification level, which is a universal virtual level that can be used in all product BOMs. The specification level coding rule is EG-X-XXX-XXX, where EG represents the specification level. The last 7 digits are consistent with the module level rules and will not be repeated here.

[0135] There can only be one S-type, A-type, C-type and M-type material in the lower-level physical material of the specification level. When there are multiple materials of these four types, the system will issue an error reminder.

[0136] Create a correspondence table between component classification codes and component bandwidth attributes. For example, 001 represents the CPU, with a bandwidth attribute of S; 007 represents the motherboard, with a bandwidth attribute of M.

[0137] It should be noted that in this application, a bandwidth attribute interface is added to the specification level. According to the correspondence between the component classification and bandwidth attributes in the above table, the bandwidth attribute classification of the specification level is captured, and then the bandwidth attribute code of the physical material with the same component classification under the specification level is corresponding to the specification level. There may be multiple physical materials with the same component classification under the specification level. If there are multiple Class B materials, the system will not report an error. If there are multiple Class S, Class A, Class C or Class M materials under the specification level, the system will issue an error reminder.

[0138] PCIE bandwidth is limited in the product BOM by defining a PCIE bandwidth limit tool table (i.e., interface bandwidth limit tool table). The PCIE bandwidth limit tool table primarily uses an exhaustive method to list all possible scenarios. When bandwidth limitation is implemented, only those scenarios listed in the PCIE bandwidth limit tool table are allowed to be selected in the BOM, thus achieving bandwidth limitation.

[0139] The header of the PCIE bandwidth limit tool table is the feature code. The feature code is divided into character feature code and quantity feature code, and the two correspond one to one. The quantity feature code is to add _QTY after the character feature code. The character feature number filling rule is as follows: product model_component name. For example, the feature code of the CPU in ProductA is ProductA_CPU, and the corresponding CPU quantity feature code is ProductA_CPU_QTY.

[0140] Because there are many types of Class A components in a product, multiple characteristic codes are required to correspond to them. A quantity statistics group characteristic for the product, namely ProductA_A8_QTY, is established. This quantity characteristic is equal to the sum of the quantity characteristics of all Class A8 components in the product. For example, ProductA_A8_QTY = ProductA_X8NIC_QTY + ProductA_HBA_QTY + ProductA_RAID_QTY. Similarly, ProductA_A16_QTY == ProductA_X16NIC_QTY + ProductA_GPU_QTY + ProductA_HCA_QTY.

[0141] Below the header of the PCIE Bandwidth Limit Tool table is the specification level for this feature. For example, if there are five specifications under the CPU option, such as EGV-001000, enter the CPU specification level under the CPU Feature Code. If the specification level is not entered, the restriction cannot be selected. Under the Quantity feature, enter the quantity within the quantity range corresponding to this feature. For example, if the CPU quantity range is 1-2, only 1 and 2 can be entered. If the number entered exceeds the quantity range for this feature, an error will be reported.

[0142] The PCIE bandwidth limit tool table generation method first determines the maximum number of CPUs supported by the product and the generation of the supported CPUs based on the product BOM code. For example, ProductA-2-GEN6-000 indicates that product A is a dual-core server with a 6th-generation CPU platform, with a maximum of 2 CPUs and a total bandwidth of 80 x 2 = 160.

[0143] Then, check whether there is a Class C component specification level in the product BOM. If so, retrieve the character characteristics and quantity characteristics of this Class C component. For example, if there is a Class C component switching card in product A, the bandwidth attribute is C2-16 and the quantity range is 0-1.

[0144] Then search for the specification level of Class M components in the product BOM. Class M components must exist in the product. If not, an error will be reported. Retrieve the character properties of Class M components. The default quantity property of Class M components is 1.

[0145] Find the specification level of Class A components in the product, retrieve the quantity characteristics of all Class A components, and generate the quantity statistics group characteristics of this product.

[0146] The system automatically retrieves the corresponding characteristics and quantity characteristics of all the parts in the products found above, as well as the range of the corresponding quantity characteristics, and fills the characteristics and quantity characteristics into the header content of the CaseTable in sequence. The quantity of Class M parts is fixed at 1, so there is no need to list the quantity characteristics. Use the following method to list;

[0147] First, the products are classified according to the number of CPUs, for example, if the number of CPUs is 1 or 2, the number of Class C components is determined for each CPU number, and then the specification level of Class M components is determined, and then the number of characteristics of the quantity statistics group is determined.

[0148] After calculating the number of S- and C-type components, the system first calculates the total bandwidth under these conditions based on the number of these two types of components and their bandwidth properties. Total bandwidth = bandwidth corresponding to the CPU * number of CPUs + bandwidth expansion for C-type components * (C-type component bandwidth multiplier - 1). For example, if there is one sixth-generation CPU and one C2-16 type component, the total bandwidth = 80 * 1 + 16 * (2 - 1) = 96.

[0149] The remaining bandwidth is then calculated based on the bandwidth attributes of the selected M-type component. The calculation formula is as follows: First, determine the bandwidth of the M-type component to be calculated based on the number of CPUs in this case. For example, if there is only one CPU, only the bandwidth of CPU0 in the M-type component is calculated. The current remaining bandwidth = total bandwidth - (number of x8 slots in CPU0 * 8 + number of x16 slots in CPU0 * 16:0). For example, if the M-type component is M12-21-00-00 and there is only one CPU, the remaining bandwidth = 96 - 8 * 1 - 16 * 2 = 56.

[0150] Based on the total remaining bandwidth, the number of A8 and A16 components is arranged and combined in the following manner:

[0151] First, the total remaining bandwidth / 16 = the number of A16 components to be enumerated. For example, 56 / 16 = 3 with a remainder of 8, so the number of A16 components to be enumerated is 3. The number of A16 components is enumerated in order from 0 to 3:

[0152] If A16=0, the maximum number of A8s = the total remaining bandwidth / 8. According to the above example, this is 56 / 8=7. Therefore, the number of A16 features is 0, and the number of A8 features is arranged in 8 rows from 0 to 7. If A16=1, the maximum number of A8s = (total remaining bandwidth - 16) / 8. According to the above example, this is (56-16) / 8=5. Therefore, the number of A16 features is 1, and the number of A8 features is arranged in 6 rows from 0 to 5. This process continues in this way until the number of A16s equals the number of A16 components listed, at which point the enumeration stops.

[0153] When implementing this bandwidth limitation method, the process can refer to Figure 2 First, apply for a physical material code for the component based on its bandwidth attribute information. After the CPU component is introduced, apply for a CPU code according to the defined coding rule CPU-XXXXXX-X00 and enter the code into the first column of the Interface Bandwidth Limitation Tool table. Similarly, apply for codes for Class A, B, C, and M components and enter the bandwidth attribute information in the Interface Bandwidth Limitation Tool table.

[0154] Then, for the part application specification level EG-X-XXX-XXX, only one S-, A-, C-, or M-type material can exist for the physical material below the specification level. If multiple materials of these four types exist, the system will report an error. When completing the material code application for the physical material below the specification level, the bandwidth attribute of the specification level is first supplemented according to the component classification and the component classification and bandwidth attribute comparison table information based on the specification level. The system then captures the bandwidth attribute code of the physical material of the same component classification under the specification level and corresponds it to the bandwidth attribute code on the specification level.

[0155] To create a modular product BOM: Apply for a product BOM code and module-level code. For example, the product code is ProductA-2-GEN6-000. Create a modular product BOM. Add the specification level that will be added to this product at the module level. Create a selection interface and create feature code information. Add the specification level code that needs to be selected for this feature under the feature code. For example, the feature code for an X8 network card is ProductA_X8NIC. The system automatically generates a quantity feature code corresponding to this feature code. Add _QTY after the character "feature." For example, the feature code for the quantity of an X8 network card is ProductA_X8NIC_QTY. Quantity features require a quantity range. Note that the quantity of the motherboard (M-class components) is fixed at 1. The system automatically verifies that the specification level under the quantity feature is an M-class specification. If so, the range of the quantity feature must be 1; otherwise, an error is reported. The system also verifies that the bandwidth attributes of the specification level under the same feature code must be of the same category; otherwise, an error is reported.

[0156] After a modular product BOM is created, the system automatically generates the quantity statistics group characteristics for the A-type components of the product BOM. For example, if the A8-type component characteristics for this product are coded as ProductA_X8NIC_QTY, ProductA_HBA_QTY, and ProductA_RAID_QTY, the A8 quantity statistics group characteristic code is automatically generated as ProductA_A8_QTY = ProductA_X8NIC_QTY + ProductA_HBA_QTY + ProductA_RAID_QTY. If the A16-type component characteristics are coded as ProductA_X16NIC_QTY, ProductA_HCA_QTY, and ProductA_GPU_QTY, the system automatically generates the A16 quantity statistics group characteristic code as ProductA_A16_QTY = ProductA_X16NIC_QTY + ProductA_HCA_QTY + ProductA_GPU_QTY.

[0157] The system generates a product PCIE bandwidth limit tool table as follows: First, based on the product BOM code, the maximum number of CPUs supported by the product and the generation of the supported CPUs are determined. For example, ProductA-2-GEN6-000 indicates that product A is a dual-core server with a 6th-generation CPU platform, a maximum of 2 CPUs, and a total bandwidth of 80 x 2 = 160.

[0158] Then, check whether the product BOM contains a Class C component specification level. If so, retrieve the character and quantity characteristics of this Class C component. For example, if product A contains a Class C switching card, its bandwidth attribute is C2-16 and its quantity range is 0-1. Search the product BOM for the Class M component specification level. Class M components must exist in the product. If they do not exist, an error is reported and the character characteristics of the Class M components are retrieved. The default quantity characteristic of Class M components is 1. For the Class A component specification level in the product, retrieve the quantity characteristics of all Class A components and generate the quantity statistics group characteristics for this product.

[0159] The system automatically retrieves the corresponding characteristics and quantity characteristics for all components in the products found above, along with the corresponding quantity characteristic ranges, and enters these characteristics and quantity characteristics into the CaseTable header. The quantity of Class M components is fixed at 1, so there is no need to list the quantity characteristics.

[0160] The product BOM uses the PCIE bandwidth restriction tool table to implement bandwidth restriction. That is, after the PCIE bandwidth restriction tool table is automatically generated, the system automatically imports it into the restriction relationship table library of the product BOM to implement relationship restriction. In other words, the BOM selection must meet one or more of the conditions listed in the PCIE bandwidth restriction tool table. If it does not meet the conditions, the selection cannot be made, thus achieving the function of automatically limiting the PCIE bandwidth limit of the product BOM.

[0161] Furthermore, the PCIE Bandwidth Limit Tool table can be automatically updated by the system. Specifically, when a product is modified, the system searches for the characteristics affected by the modification and the specification-level codes under the characteristics. If the characteristics are quantity characteristics, the system searches for changes in the quantity characteristic range. First, it determines whether the modified characteristics are included in the PCIE Bandwidth Limit Tool table or whether they are quantity characteristics in the quantity statistics group characteristics. If not, there is no need to update the product's PCIE Bandwidth Limit Tool table. If the characteristics involved in the change are in the PCIE bandwidth limitation tool table, the following verification is performed: First, the bandwidth attribute classification of the specification level under the characteristics is determined based on the changed characteristics. If the specification level under the specification characteristics of Class S, Class A, and Class B components is changed, the PCIE bandwidth limitation tool table does not need to be updated; if the Class C and Class M specifications are added or the quantity range of the quantity characteristics is changed, the system needs to update the PCIE bandwidth limitation tool table. The system update method is as follows: If the Class C or Class M component specifications are added, the bandwidth attribute code of the added Class C or Class M component specifications is retrieved, and the PCIE bandwidth limitation tool table is re-listed according to the above steps to generate the PCIE bandwidth limitation tool table, and the newly added enumeration items are added to the bottom of the PCIE bandwidth limitation tool table list. At the same time, the reason for the increase is automatically noted, that is, the specification level code EGV-XXXXXX is added under the XXX characteristic. The updated PCIE bandwidth limit tool table is re-imported into the PCIE bandwidth limit tool table of this product and overwrites the original PCIE bandwidth limit tool table. If the quantity range of the quantity characteristic changes, such as the quantity range of S-class or C-class components or the quantity statistics group characteristic changes, the PCIE bandwidth limit tool table is directly updated according to the above enumeration method. If the quantity characteristic range of Class A components changes, the calculation method of the quantity statistics group characteristic is updated.

[0162] It can be seen that this application automatically generates a product PCIE bandwidth limitation tool table through the system, realizes automatic verification of PCIE resource limitations in the product BOM, avoids manual restriction of a large number of restriction statements, greatly improves the BOM creation efficiency, and ensures the accuracy of BOM creation.

[0163] The embodiments of the present application further provide a bandwidth limiting device, which can be cross-referenced with the bandwidth limiting method described above.

[0164] Please refer to Figure 3 , the bandwidth limiting device comprises:

[0165] The bill of materials acquisition module 101 is used to acquire the bill of materials of the target product; wherein the components in the bill of materials have product virtual codes;

[0166] The characteristic determination module 102 is used to determine the characteristic codes and quantity characteristic codes corresponding to the components in the target product by using the product bill of materials and combining the coding rules of the product virtual coding;

[0167] The restriction tool table determination module 103 is used to generate an interface bandwidth restriction tool table for a target product using a characteristic code and a quantity characteristic code as a table header and corresponding specification levels below the table header;

[0168] The bandwidth limiting module 104 is used to import the interface bandwidth limiting tool table into the restriction relationship table library to perform bandwidth limitation.

[0169] The device provided in this application, after obtaining the product bill of materials of the target product, uses the product virtual codes and product virtual code coding rules of the objects in the product materials to parse and obtain the characteristic codes and quantity characteristic codes corresponding to the components in the target product. Then, using the characteristic codes and quantity characteristic codes as table headers and the corresponding specification levels below the table headers, an interface bandwidth limitation tool table for the target product can be automatically generated. By importing the interface bandwidth limitation tool table into the restriction relationship table library, bandwidth limitation based on the interface bandwidth limitation tool table can be implemented.

[0170] That is, this application automatically generates a product PCIE bandwidth limitation tool table through the system, realizes automatic verification of PCIE resource limitations in the product BOM, avoids manual restriction of a large number of restriction statements, greatly improves the efficiency of BOM creation, and ensures the accuracy of BOM creation.

[0171] In a specific embodiment of the present application, the characteristic determination module is specifically configured to use the product bill of materials and the coding rules of the product virtual coding to sequentially search for characteristic information and quantity characteristics of components in the target product according to the component classification order;

[0172] The characteristic information is used to determine the characteristic code, and the quantity characteristic is used to determine the quantity characteristic code.

[0173] In a specific embodiment of the present application, the characteristic determination module is specifically configured to determine bandwidth-providing component information supported by the target product by utilizing the product bill of materials and combining the encoding rules of the product virtual encoding;

[0174] The bandwidth providing components are sorted and information of the bandwidth expanding components under each bandwidth providing component is obtained;

[0175] Determine the total bandwidth by using the provided bandwidth component information and the expanded bandwidth component information;

[0176] Use the product bill of materials and combine it with the coding rules of the product virtual coding to determine the motherboard component information supported by the target product;

[0177] Using the motherboard component information and the total bandwidth, determine the current total remaining bandwidth;

[0178] Use the product bill of materials and combine it with the coding rules of the product virtual coding to determine the bandwidth-consuming components supported by the target product;

[0179] Under the current total remaining bandwidth limit and in combination with bandwidth-occupying component information, the quantity and type of bandwidth-occupying components are arranged and combined to obtain characteristic information and quantity characteristics of the bandwidth-occupying components.

[0180] In a specific embodiment of the present application, the characteristic determination module is specifically configured to determine the amount of bandwidth supported by the processor using the bandwidth-providing component information if the bandwidth-providing component is a processor;

[0181] Using the information of the bandwidth expansion component, determine the amount of the expanded bandwidth;

[0182] The total bandwidth is obtained by adding the bandwidth quantity and the extended bandwidth quantity.

[0183] In a specific embodiment of the present application, the characteristic determination module is specifically configured to determine the number of slots occupied by the motherboard component using the motherboard component information;

[0184] Subtract the number of slots from the total bandwidth to get the current total remaining bandwidth.

[0185] In a specific embodiment of the present application, the characteristic determination module is specifically configured to determine the maximum number of first-category bandwidth-occupying components occupying 16 bandwidths among the bandwidth-occupying components under the current total remaining bandwidth limit;

[0186] Traversing from zero to a maximum number of the first-type bandwidth-occupying components, and determining the number of the first-type bandwidth-occupying components and the number of the second-type bandwidth-occupying components in different combinations;

[0187] The codes of the first-type bandwidth-occupying components and / or the second-type bandwidth-occupying components are determined as characteristic information, and the corresponding quantities are determined as quantity characteristics.

[0188] In a specific embodiment of the present application, the bill of materials acquisition module is specifically used to determine the product virtual code and specification level code of the component according to the coding rules after importing the component of the target product;

[0189] Use product virtual coding and specification-level coding to create product bills of materials.

[0190] For the description of the features in the embodiment corresponding to the bandwidth limiting device, reference can be made to the relevant description of the embodiment corresponding to the bandwidth limiting method, which will not be repeated here.

[0191] Corresponding to the above method embodiment, an embodiment of the present application further provides an electronic device. The electronic device described below and the bandwidth limitation method described above can refer to each other.

[0192] See also Figure 4 As shown, the electronic device includes:

[0193] Memory 332, for storing computer programs;

[0194] The processor 322 is configured to implement the steps of the bandwidth limiting method of the above method embodiment when executing a computer program.

[0195] For details, please refer to Figure 5 , Figure 5 This is a schematic diagram of the specific structure of an electronic device provided in this embodiment. This electronic device may vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) (for example, one or more processors) and memory 332. The memory 332 stores one or more computer programs 342 or data 344. The memory 332 may be temporary storage or permanent storage. The program stored in the memory 332 may include one or more modules (not shown), each of which may include a series of instruction operations in the data processing device. Furthermore, the processor 322 may be configured to communicate with the memory 332 to execute the series of instruction operations in the memory 332 on the electronic device 301.

[0196] The electronic device 301 may further include one or more power supplies 326 , one or more wired or wireless network interfaces 350 , one or more input / output interfaces 358 , and / or one or more operating systems 341 .

[0197] The steps in the bandwidth limitation method described above can be implemented by the structure of an electronic device.

[0198] Corresponding to the above method embodiments, embodiments of the present application further provide a readable storage medium. The readable storage medium described below and the bandwidth limiting method described above can be referenced in a corresponding manner. Embodiments of the present application further provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps of any of the above bandwidth limiting method embodiments when executed.

[0199] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0200] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned bandwidth limitation method embodiments are implemented.

[0201] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned bandwidth limitation method embodiments are implemented.

[0202] Those skilled in the art may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the composition and steps of each example according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0203] The above describes in detail the bandwidth limitation method, device, electronic device, and readable storage medium provided by this application. This document uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only intended to help understand the method and core concept of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the scope of protection of this application.

Claims

1. A bandwidth limiting method, characterized in that: include: Obtaining a product bill of materials for a target product; wherein components in the product bill of materials have product virtual codes; Determine the characteristic codes and quantity characteristic codes corresponding to the components in the target product by using the product bill of materials and combining the coding rules of the product virtual coding; Generate an interface bandwidth limitation tool table for the target product using the characteristic code and the quantity characteristic code as a table header and the corresponding specification level below the table header; The interface bandwidth restriction tool table is imported into a restriction relationship table library to perform bandwidth restriction.

2. The bandwidth limiting method according to claim 1, wherein: Using the product bill of materials and combining the coding rules of the product virtual coding, determining the characteristic codes and quantity characteristic codes corresponding to the components in the target product, including: Using the product bill of materials and combining the coding rules of the product virtual coding, searching for characteristic information and quantity characteristics of the components in the target product in order of component classification; The characteristic code is determined using the characteristic information, and the quantity characteristic code is determined using the quantity characteristic.

3. The bandwidth limiting method according to claim 2, wherein: Using the product bill of materials and combining the coding rules of the product virtual coding, the characteristic information and quantity characteristics of the components in the target product are sequentially searched according to the component classification order, including: Determine bandwidth-providing component information supported by the target product by utilizing the product bill of materials and combining the coding rules of the product virtual coding; The bandwidth providing components are sorted and information of the bandwidth expanding components under each bandwidth providing component is obtained; Determining the total bandwidth using the bandwidth providing component information and the bandwidth expanding component information; Determine the motherboard component information supported by the target product by using the product bill of materials and combining the encoding rules of the product virtual encoding; Determine the current remaining total bandwidth using the mainboard component information and the total bandwidth; Determine bandwidth-occupying component information supported by the target product by utilizing the product bill of materials and combining the coding rules of the product virtual coding; Under the current total remaining bandwidth limit and in combination with the bandwidth-occupying component information, the quantity and type of bandwidth-occupying components are arranged and combined to obtain characteristic information and quantity characteristics of the bandwidth-occupying components.

4. The bandwidth limiting method according to claim 3, wherein: Determining the total bandwidth using the bandwidth providing component information and the bandwidth expanding component information includes: If the bandwidth-providing component is a processor, determining the amount of bandwidth supported by the processor using the bandwidth-providing component information; Determining the amount of extended bandwidth using the extended bandwidth component information; The bandwidth quantity and the extended bandwidth quantity are superimposed to obtain the total bandwidth quantity.

5. The bandwidth limiting method according to claim 3, wherein: Determining the current remaining total bandwidth using the motherboard component information and the total bandwidth includes: Determining the number of slots occupied by the motherboard components using the motherboard component information; The total bandwidth is subtracted from the number of slots to obtain the total current remaining bandwidth.

6. The bandwidth limiting method according to claim 3, wherein: Under the current remaining bandwidth limit, and in combination with the bandwidth-occupying component information, the number and type of bandwidth-occupying components are permuted and combined to obtain characteristic information and quantity characteristics of the bandwidth-occupying components, including: Determine a maximum number of first-category bandwidth-occupying components that occupy 16 bandwidths among the bandwidth-occupying components under the current total remaining bandwidth limit; Traversing from zero to the maximum number of the first-type bandwidth-occupying components, respectively determining the number of the first-type bandwidth-occupying components and the number of the second-type bandwidth-occupying components in different combinations; The codes of the first-type bandwidth-occupying components and / or the second-type bandwidth-occupying components are determined as the characteristic information, and the corresponding quantities are determined as the quantity characteristics.

7. The bandwidth limiting method according to any one of claims 1 to 6, characterized in that: Obtain the product bill of materials for the target product, including: After importing the components of the target product, determining the product virtual code and specification level code of the components according to the coding rules; The product bill of materials is established using the product virtual code and the specification level code.

8. A bandwidth limiting device, characterized in that: include: A bill of materials acquisition module is used to acquire a product bill of materials of a target product; wherein the components in the product bill of materials have product virtual codes; a characteristic determination module, configured to determine characteristic codes and quantity characteristic codes corresponding to components in the target product by using the product bill of materials and in combination with coding rules of the product virtual coding; a restriction tool table determination module, configured to generate an interface bandwidth restriction tool table for the target product using the characteristic code and the quantity characteristic code as a table header, with the corresponding specification level below the table header; The bandwidth limitation module is used to import the interface bandwidth limitation tool table into the limitation relationship table library to perform bandwidth limitation.

9. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the bandwidth limiting method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the bandwidth limitation method according to any one of claims 1 to 7 are implemented.