IDC cabinet equipment position automatic planning method
Patent Information
- Application Number
- CN202311227964.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-21
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2043-09-21
AI Technical Summary
[0002]IDC机柜设备在进行U位规划时,通常采用手工方式,在EXCEL表格里进行U位布放,人工在单元格里填写,对于几百台以上设备U位规划时,由于设备种类多,调整非常麻烦,效率非常低,对于已部分使用的机柜,很难充分利用机柜空间,去一一查找空闲U位,机柜U位空间使用率较低,造成一定的资源浪费
[0013] 1. Using the method of the present invention, the automatic deployment of equipment to be racked can be realized quickly, the available U slots in the existing racks can be automatically found, and the IDC rack equipment can be deployed in batches in different racks according to the equipment category. The rated power consumption limit of the racks, as well as the placement of patch boxes, access switches, storage switches, etc. on the top of the racks, and the placement of main and backup equipment in different racks can be taken into account, thereby improving the equipment deployment efficiency and rack utilization.
Smart Images

Figure CN117454590B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to an automatic equipment location planning method, and more particularly to an automatic equipment location planning method for IDC cabinets. Background Technology
[0002] When planning the storage space (U-space) for IDC server rack equipment, it is usually done manually, with U-space placements made in an Excel spreadsheet and manually entered into the cells. For U-space planning of hundreds or more devices, due to the variety of equipment, adjustments are very troublesome and inefficient. For racks that are already partially used, it is difficult to make full use of the rack space by searching for available U-spaces one by one. The utilization rate of rack U-space space is low, resulting in a certain waste of resources.
[0003] Furthermore, existing automatic location planning methods for IDC cabinet equipment do not take into account the difference between the rated power consumption and the actual power consumption of the cabinet, as well as the placement of patch boxes, access switches, etc. on the top of the cabinet and the placement of main and backup equipment in different cabinets, which cannot improve equipment placement efficiency and cabinet utilization. Summary of the Invention
[0004] Purpose of the invention: The technical problem to be solved by the present invention is to provide an automatic location planning method for IDC cabinet equipment, which addresses the shortcomings of the existing technology.
[0005] To address the aforementioned technical problems, this invention discloses an automatic location planning method for IDC (Internet Data Center) cabinet equipment, the method comprising the following steps:
[0006] Step 1: Collect information on all server racks in the data center and obtain the first server rack list based on the rack information;
[0007] Step 2: Collect information on the installed equipment in each rack, obtain a rack equipment list based on the installed equipment information, and populate the rack equipment list into the first rack list to obtain the second rack list;
[0008] Step 3: Based on the equipment information installed in each rack, obtain the rack U-position status list, fill the rack U-position status list into the second rack list, and calculate and update the third rack list.
[0009] Step 4: Collect information on devices to be installed and obtain a list of devices to be installed;
[0010] Step 5: Based on the data information in the third rack list, plan the locations of the IDC rack equipment in sequence and update the third rack list.
[0011] Step 6: Repeat step 5 until all devices in the list of devices to be racked have been planned, and obtain the final rack list, thus completing the automatic planning of IDC rack equipment locations.
[0012] Beneficial effects:
[0013] 1. Using the method of the present invention, the automatic deployment of equipment to be racked can be realized quickly, the available U slots in the existing racks can be automatically found, and the IDC rack equipment can be deployed in batches in different racks according to the equipment category. The rated power consumption limit of the racks, as well as the placement of patch boxes, access switches, storage switches, etc. on the top of the racks, and the placement of main and backup equipment in different racks can be taken into account, thereby improving the equipment deployment efficiency and rack utilization.
[0014] 2. Using the method of the present invention, the U-position of customer equipment can be automatically planned according to the range of customer customer cabinets. Attached Figure Description
[0015] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments, and the advantages of the present invention in the above and / or other aspects will become clearer.
[0016] Figure 1 This is a schematic diagram of the overall process of the present invention.
[0017] Figure 2 This is a schematic diagram illustrating the effect of planning using the method of the present invention in the embodiment. Detailed Implementation
[0018] The purpose of this invention is to propose an automatic planning method for the location of IDC rack equipment. This method automatically finds available U-slots in existing racks, deploys IDC rack equipment in batches according to equipment type in different racks, and takes into account the rack's rated power consumption limit, as well as the placement of patch boxes, access switches, core switches, etc. on the upper part of the rack, and the placement of main and backup equipment in different racks, thereby improving equipment deployment efficiency and rack utilization.
[0019] The technical solution adopted in this invention is: an automatic location planning method for IDC cabinet equipment, such as... Figure 1 As shown, the method includes the following steps:
[0020] Step 1: Collect rack information within the data center. Collect information for each rack in the data center sequentially to obtain a rack list (CabinetList1). The rack list (CabinetList1) includes attributes such as rack code (CabinetCode), rack height (CabinetHeight), rated power (CabinetRatedPower), used power (CabinetUsedPower), device list (CabinetDeviceList), and rack status list (UList). The rack status list (UList) includes rack number (UIndex) and rack status (UStatus), which includes states such as empty, occupied, and reserved. The default value is empty. The used power (CabinetUsedPower) is set to 0.
[0021] Step 2: Collect information on devices installed in the racks. Collect information on servers and other devices installed in each rack sequentially and store it in the rack device list (CabinetList1) called CabinetDeviceList. CabinetDeviceList includes attributes such as rack code (CabinetCode), device code (DeviceCode), device rated power (DeviceRatedPower), installation start position (DeviceStartUPosition), device height (DeviceUHeight), device type (DeviceType), and whether it is primary / standby (IsStandby). Device type includes categories such as access switch, core switch, security device, compute server, storage server, patch panel, and other devices. This results in CabinetList2.
[0022] Step 3: Process the rack U-position status list based on the installed equipment information. Iterate through the rack list CabinetList2 sequentially, and for each rack, iterate through the rack device list CabinetDeviceList sequentially. Based on the installation start U-position DeviceStartUPosition and the device U-position height DeviceUHeight, set the U-position status UStatus information in the U-position status list UList to "occupied". Then, based on the device's rated power consumption DeviceRatedPower, calculate and store the accumulated used power consumption CabinetUsedPower in the rack list to obtain the rack list CabinetList3.
[0023] Step 4: Collect information on devices to be racked. Collecting this information yields a list of devices to be racked, DeviceList1, which includes attributes such as CabinetCode, DeviceCode, DeviceRatedPower, DeviceStartUPosition, DeviceUHeight, DeviceType, and whether it is primary / standby. The CabinetCode is empty, and DeviceStartUPosition is -1.
[0024] Step 5: Place patch boxes in the rack from top to bottom. Iterate through the rack device list (CabinetDeviceList) within the rack list (CabinetList3), checking if any device type (DeviceType) in the CabinetDeviceList contains patch boxes. If a patch box already exists, check the next rack. If no patch box exists, start from the top (U) position of the rack and place four patch boxes consecutively. Add the patch box information to the CabinetDeviceList. The rated power consumption of the patch boxes is 0. After processing, the rack list (CabinetList4) is obtained.
[0025] Step 6: Deploy the access switches in the rack from top to bottom. Iterate through the DeviceList1 list of devices to be racked, checking if the DeviceType is an access switch. If not, proceed to the next device. If it is an access switch, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList4 list, searching for an empty U-slot (U-slot) for each rack from top to bottom. The number of consecutive empty U-slots must be greater than the DeviceUHeight in DeviceList1. If no empty U-slots are found, proceed to the next rack. If an empty U-slot is found, check if the DeviceList1 list is a primary / standby (IsStandby). If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is an access switch. If any device is an access switch, it cannot be deployed in that rack. Continue checking the next rack. If no device is an access switch or if the primary / standby (IsStandby) setting is no, further determine if the power consumption after placing the device in the rack exceeds the rack's rated power consumption. If it exceeds 1.25 times the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, place the access switch in that rack. Set the rack code (CabinetCode) in the DeviceList1 to the rack code of the current rack. Set the installation start position (U-position) (DeviceStartUPosition) and update the CabinetDeviceList, U-position status list (UList), and rack used power (CabinetUsedPower) in the CabinetList4. The U-position status (UStatus) is marked as reserved. After all devices in DeviceList1 have been traversed, the DeviceList2 and CabinetList5 are obtained.
[0026] Step 7: Deploy security devices in the rack from bottom to top. Iterate through the DeviceList2 list of devices to be racked, checking if the DeviceType is a security device. If not, proceed to the next device. If it is a security device, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList5 list, searching for an empty U-slot in each rack from bottom to top to install the security device. The number of consecutive empty U-slots must be greater than the device U-slot height (DeviceUHe) in DeviceList2. If no available U-slot is found, proceed to the next rack. If an available U-slot is found, check if the DeviceList2 device to be installed is a primary / standby device (IsStandby). If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is a security device. If any device is a security device, it cannot be placed in that rack, and continue checking the next rack. If no device is a security device or if the Primary / Standby device is not specified, further evaluation of that rack is conducted. After deploying the device, check if the power consumption exceeds the rated power consumption of the rack. If it exceeds 1.25 times the rated power consumption of the rack, the device cannot be deployed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check if the DeviceType of all devices in the rack device list CabinetDeviceList of that rack has any devices other than access switches, patch boxes, and security devices. If so, continue checking the next rack. If not, deploy the security device in that rack. Set the rack code CabinetCode in the device list DeviceList2 to the rack code CabinetCode of that rack. Set the installation start U-position DeviceStartUPosition and update the rack device list CabinetDeviceList, U-position status list UList, and rack power consumption CabinetUsedPower in the rack list CabinetList5. The U-position status UStatus is marked as reserved. After all devices in the device list DeviceList2 have been traversed, the device list DeviceList3 and rack list CabinetList6 are obtained.
[0027] Step 8: Deploy the core switch in the rack from bottom to top. Iterate through the DeviceList3 list of devices to be racked, checking if the DeviceType is a core switch. If not, proceed to the next device. If it is a core switch, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList6 list, searching for an empty USB slot (U) in each rack from bottom to top to install the core switch. The number of consecutive empty U slots must be greater than the height of the device U slots in the DeviceList3 list. If there are no available unit slots in the Height rack, proceed to check the next rack. If there are available unit slots, check if the DeviceList3 device to be installed is a primary / standby (IsStandby) device. If it is, check if the DeviceType of all devices in the CabinetDeviceList of that rack is a core switch. If any device is a core switch, it cannot be placed in that rack, and continue checking the next rack. If no device is a core switch or if the Primary / Standby (IsStandby) is not specified, further checks are performed. If the power consumption of the device after placement in the rack exceeds the rack's rated power consumption, and if it exceeds 1.25 times the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check the DeviceType of all devices in the CabinetDeviceList for that rack. Does it contain any devices other than access switches, patch boxes, and core switches? If so, continue checking the next rack. If not, place the core switch in that rack and add the CabinetCode from the DeviceList3 list of devices to be installed. Set the cabinet code (CabinetCode) for this cabinet, set the starting U-position (DeviceStartUPosition) for installation, and update the cabinet device list (CabinetDeviceList), U-position status list (UList), and cabinet used power (CabinetUsedPower) in the cabinet list (CabinetList6). The U-position status (UStatus) is marked as reserved. After all devices in the device list (DeviceList3) have been traversed, the device list (DeviceList4) and cabinet list (CabinetList7) are obtained.
[0028] Step 9: Deploy the compute servers in the rack from bottom to top. Iterate through the DeviceList4 list of devices to be racked, checking if the DeviceType is a compute server. If not, proceed to the next device. If it is a compute server, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList7 list, searching for available U-slots (U-slots) for each rack from bottom to top. The number of consecutive empty U-slots must be greater than the height of the U-slots (DeviceU) in DeviceList4. If there are no available rack slots, proceed to the next rack. If there are available rack slots, check if the DeviceList4 device to be racked is a primary / standby (IsStandby) device. If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is a compute server. If any device is a compute server, it cannot be placed in that rack, and continue checking the next rack. If no device is a compute server or if the Primary / Standby (IsStandby) is not specified, further checks are performed. If the power consumption of the device after placement in the rack exceeds the rack's rated power consumption, and if it exceeds 1.25 times the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check the DeviceType of all devices in the CabinetDeviceList of that rack. Does it contain any devices other than access switches, patch boxes, and compute servers? If so, continue checking the next rack. If not, place the compute server in that rack and add the CabinetCode from DeviceList4. Set the cabinet code (CabinetCode) for this cabinet, set the starting U-position (DeviceStartUPosition) for installation, and update the cabinet device list (CabinetDeviceList), U-position status list (UList), and cabinet used power (CabinetUsedPower) in the cabinet list (CabinetList7). The U-position status (UStatus) is marked as reserved. After all devices in the device list (DeviceList4) have been traversed, the device list (DeviceList5) and cabinet list (CabinetList8) are obtained.
[0029] Step 10: Deploy storage servers in the rack from bottom to top. Iterate through the DeviceList5 list of devices to be racked, checking if the DeviceType is a storage server. If not, proceed to the next device. If it is a storage server, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList8 list, searching for empty U-slots (U-slots) suitable for installing the storage server from bottom to top within each rack. The number of consecutive empty U-slots must be greater than the height of the device U-slots (DeviceU) in DeviceList5. If there are no available storage slots in the Height rack, proceed to the next rack. If there are available slots, check if the DeviceList5 device is a primary / standby (IsStandby) device. If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is a storage server. If any device is a storage server, it cannot be placed in that rack, and continue checking the next rack. If no device is a storage server or if the Primary / Standby (IsStandby) option is not found, further checks are performed. If the power consumption of the device after placement in the rack exceeds the rack's rated power consumption, and if it exceeds 1.25 times the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check the DeviceType of all devices in the CabinetDeviceList for that rack. Does it include any devices other than access switches, patch boxes, and storage servers? If so, continue checking the next rack. If not, place the storage server in that rack and assign the rack code CabinetCode from DeviceList5. Set the cabinet code (CabinetCode) for this cabinet, set the starting U-position (DeviceStartUPosition) for installation, and update the cabinet device list (CabinetDeviceList), U-position status list (UList), and cabinet used power (CabinetUsedPower) in the cabinet list (CabinetList8). The U-position status (UStatus) is marked as reserved. After all devices in the device list (DeviceList5) have been traversed, the device list (DeviceList6) and cabinet list (CabinetList9) are obtained.
[0030] Step 11: Place other devices in the rack from bottom to top. Iterate through the DeviceList6 list of devices to be racked, checking if the DeviceType is another device. If not, proceed to the next device. If it is another device, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList9 list, searching for empty USB slots (U-slots) for each rack from bottom to top. The number of consecutive empty U-slots must be greater than the height of the USB slots (DeviceUHe) in DeviceList6. If no available U-slot is found, proceed to the next rack. If an available U-slot is found, check if the DeviceList6 device to be installed is a primary / standby device (IsStandby). If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is "Other". If any device is "Other", it cannot be placed in that rack, and continue checking the next rack. If no device is "Other" or if the Primary / Standby is "No", further determine the rack's functionality. After deploying the device, check if the power consumption exceeds the rated power consumption of the rack. If it exceeds 1.25 times the rated power consumption of the rack, the device cannot be deployed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check if the DeviceType of all devices in the rack device list CabinetDeviceList of that rack has any devices other than access switches, patch boxes, and other devices. If so, continue checking the next rack. If not, deploy the other device in that rack. Set the rack code CabinetCode in the device list DeviceList6 to the rack code CabinetCode of that rack. Set the installation start U-position DeviceStartUPosition and update the rack device list CabinetDeviceList, U-position status list UList, and rack power consumption CabinetUsedPower in the rack list CabinetList9. The U-position status UStatus is marked as reserved. After all devices in the device list DeviceList6 have been traversed, the device list DeviceList7 and rack list CabinetList10 are obtained. DeviceList7 is the list of devices to be deployed automatically. CabinetCode is the cabinet code of the cabinet where the device is to be deployed, and DeviceStartUPosition is the U-position where the device is to be deployed.
[0031] Example
[0032] The technical solutions of the present invention will be further described in detail below with reference to the accompanying drawings in the embodiments of the present invention.
[0033] An automatic location planning method for IDC (Internet Data Center) rack equipment, the method comprising the following steps:
[0034] Step 1: Collect rack information within the data center. Collect information for each rack in the data center sequentially to obtain a rack list (CabinetList1). The rack list (CabinetList1) includes attributes such as rack code (CabinetCode), rack height (CabinetHeight), rated power (CabinetRatedPower), used power (CabinetUsedPower), device list (CabinetDeviceList), and rack status list (UList). The rack status list (UList) includes rack number (UIndex) and rack status (UStatus), which includes states such as empty, occupied, and reserved. The default value is empty. The used power (CabinetUsedPower) is set to 0.
[0035] Table 1 shows the data input format for the rack information section, with each row containing information for one rack.
[0036] Table 1 Cabinet Information
[0037]
[0038] The contents of CabinetList1 are:
[0039] {("A01",42,3600,0,{},{}),("A02",42,3600,0,{},{}),("A03",42,36 00,0,{},{}),("A04",42,3600,0,{},{}),("A05",42,3600,0,{},{})},( "A06",42,3600,0,{},{})},("A07",42,3600,0,{},{})},("A08",42,36 00,0,{},{})},("A09",42,3600,0,{},{})},("A10",42,3600,0,{},{})}
[0040] Step 2: Collect information on devices installed in the racks. Collect information on servers and other devices installed in each rack sequentially and store it in the rack device list (CabinetList1) called CabinetDeviceList. CabinetDeviceList includes attributes such as rack code (CabinetCode), device code (DeviceCode), device rated power (DeviceRatedPower), installation start position (DeviceStartUPosition), device height (DeviceUHeight), device type (DeviceType), and whether it is primary / standby (IsStandby). Device type includes categories such as access switch, core switch, security device, compute server, storage server, patch panel, and other devices. This results in CabinetList2.
[0041] Table 2 shows the data input format for the equipment installed in the cabinet. Each line contains information about the equipment installed in one cabinet.
[0042] Table 2 Information on Installed Equipment
[0043]
[0044] The contents of the list CabinetList2 are:
[0045] {("A01",42,3600,0,{("A01","AQ001",350,2,2,"Security Equipment","No"),("A01","AQ002",350,5,2,"Security Equipment","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002",0,40,2,"Patch Box","No"),("A01","TX003",0,41,2,"Patch Box","No"),("A01","TX004",0,42,2,"Patch Box","No")},{……}),
[0046] ("A02",42,3600,0,{……},{……}),
[0047] ("A03",42,3600,0,{……},{……}),
[0048] ...}
[0049] Step 3: Process the rack U-position status list based on the installed equipment information. Iterate through the rack list CabinetList2 sequentially, and for each rack, iterate through the rack device list CabinetDeviceList sequentially. Based on the installation start U-position DeviceStartUPosition and the device U-position height DeviceUHeight, set the U-position status UStatus information in the U-position status list UList to "occupied". Then, based on the device's rated power consumption DeviceRatedPower, calculate and store the accumulated used power consumption CabinetUsedPower in the rack list to obtain the rack list CabinetList3.
[0050] The contents of CabinetList3 are:
[0051] {("A01",42,3600,916,{("A01","AQ001",350,2,2,"Security Device","No"),("A01","AQ002",350,5,2,"Security Device","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002 {0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0052] ("A02",42,3600,0,{……},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}),
[0053] ("A03",42,3600,0,{……},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}),
[0054] ...}
[0055] Step 4: Collect information on devices to be racked. Collecting this information yields a list of devices to be racked, DeviceList1, which includes attributes such as CabinetCode, DeviceCode, DeviceRatedPower, DeviceStartUPosition, DeviceUHeight, DeviceType, and whether it is primary / standby. The CabinetCode is empty, and DeviceStartUPosition is -1.
[0056] As shown in Table 3, the data input format for the equipment to be racked is displayed. Each line contains information for one equipment to be racked, excluding patch boxes.
[0057] Table 3 Information on Equipment to be Installed (partially omitted)
[0058]
[0059] The contents of DeviceList1 are:
[0060] {(,"JR002",216,-1,1,"Access Switch","Yes"),(,"JR003",216,-1,1,"Access Switch","Yes"),(,"JR004",216,-1,1,"Access Switch","Yes"),(,"JR005",216,-1,1,"Access Switch","Yes"),(,"JR006",216,-1,1,"Access Switch","Yes"),(,"JR007",216,-1,1,"Access Switch","Yes"),(,"JR008",216,-1,1,"Access Switch","Yes"),(, "JR009",216,-1,1,"Access Switch","Yes"),(,"JR010",216,-1,1,"Access Switch","Yes"),(,"HX001",3500,-1,16,"Core Switch","Yes"),(,"HX002",3500,-1,16,"Core Switch","Yes"),(,"AQ003",350,-1,2,"Security Device","No"),(,"AQ004",350,-1,2,"Security Device","No"),(,"JS001",337,-1,2,"Computing Server","No"),……}
[0061] Step 5: Place patch boxes in the rack from top to bottom. Iterate through the rack device list (CabinetDeviceList) within the rack list (CabinetList3), checking if any device type (DeviceType) in the CabinetDeviceList contains patch boxes. If a patch box already exists, check the next rack. If no patch box exists, start from the top (U) position of the rack and place four patch boxes consecutively. Add the patch box information to the CabinetDeviceList. The rated power consumption of the patch boxes is 0. After processing, the rack list (CabinetList4) is obtained.
[0062] The contents of CabinetList4 are:
[0063] {("A01",42,3600,916,{("A01","AQ001",350,2,2,"Security Device","No"),("A01","AQ002",350,5,2,"Security Device","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002 {0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0064] ("A02",42,3600,0,{("A02","TX005",0,39,2,"Jumper Box","No"),("A02","TX006",0,40,2,"Jumper Box","No"),("A02","TX007",0,41,2,"Jumper Box","No"),("A02","TX008",0,42,2,"Jumper Box","No")},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1}),
[0065] ("A03",42,3600,0,{("A03","TX009",0,39,2,"Jumper Box","No"),("A03","TX010",0,402,"Jumper Box","No"),("A03","TX011",0,41,2,"Jumper Box","No"),("A03","TX012",0,42,2,"Jumper Box","No")},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1}),
[0066] ...}
[0067] Step 6: Deploy the access switches in the rack from top to bottom. Iterate through the DeviceList1 list of devices to be racked, checking if the DeviceType is an access switch. If not, proceed to the next device. If it is an access switch, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList4 list, searching for an empty U-slot (U-slot) for each rack from top to bottom. The number of consecutive empty U-slots must be greater than the DeviceUHeight in DeviceList1. If no empty U-slots are found, proceed to the next rack. If an empty U-slot is found, check if the DeviceList1 list is a primary / standby (IsStandby). If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is an access switch. If any device is an access switch, it cannot be deployed in that rack. Continue checking the next rack. If no device is an access switch or if the primary / standby (IsStandby) setting is no, further determine if the power consumption after placing the device in the rack exceeds the rack's rated power consumption. If it exceeds 1.25 times the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, place the access switch in that rack. Set the rack code (CabinetCode) in the DeviceList1 to the rack code of the current rack. Set the installation start position (U-position) (DeviceStartUPosition) and update the CabinetDeviceList, U-position status list (UList), and rack used power (CabinetUsedPower) in the CabinetList4. The U-position status (UStatus) is marked as reserved. After all devices in DeviceList1 have been traversed, the DeviceList2 and CabinetList5 are obtained.
[0068] The contents of DeviceList2 are as follows:
[0069] {("A02","JR002",216,38,1,"Access Switch","Yes"),("A03","JR003",216,38,1,"Access Switch","Yes"),("A04","JR004",216,38,1,"Access Switch","Yes"),("A05","JR005",216,38,1,"Access Switch","Yes"),("A06","JR006",216,38,1,"Access Switch","Yes"),("A07","JR007",216,38,1,"Access Switch","Yes"),("A08","JR008 ...8","JR008",216,38,1,"Access Switch","Yes"),("A08","JR008",216,38,1,"Access Switch","Yes"),("A08","JR008",216,38,1,"Access Switch","Yes"),("A08","JR008",216,38,1,"Access Switch","Yes"),("A08","JR008",216, Access Switch", "Yes"), ("A09", "JR009", 216, 38, 1,"Access Switch", "Yes"), ("A10", "JR010", 216, 38, 1,"Access Switch", "Yes"), (,"HX001", 3500, -1, 16,"Core Switch", "Yes"), (,"HX002", 3500, -1, 16,"Core Switch", "Yes"), (,"AQ003", 350, -1, 2,"Security Device", "No"), (,"AQ004", 350, -1, 2,"Security Device", "No"), (,"JS001", 337, -1, 2,"Computing Server", "No"), ...}
[0070] The contents of CabinetList5 are:
[0071] {("A01",42,3600,916,{("A01","AQ001",350,2,2,"Security Device","No"),("A01","AQ002",350,5,2,"Security Device","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002 {0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0072] ("A02",42,3600,216,{("A02","TX005",0,39,2,"Patch Box","No"),("A02","TX006",0,40,2,"Patch Box","No"),("A02","TX007",0,41,2,"Patch Box","No"),("A02","TX008",0,42,2,"Patch Box","No"),("A02","JR002",216,38,1,"Access Switch","Yes")},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0073] ("A03",42,3600,216,{("A03","TX009",0,39,2,"Patch Box","No"),("A03","TX010",0,40,2,"Patch Box","No"),("A03","TX011",0,41,2,"Patch Box","No"),("A03","TX012",0,42,2,"Patch Box","No"),("A03","JR003",216,38,1,"Access Switch","Yes")},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0074] ...}
[0075] Step 7: Deploy security devices in the rack from bottom to top. Iterate through the DeviceList2 list of devices to be racked, checking if the DeviceType is a security device. If not, proceed to the next device. If it is a security device, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList5 list, searching for an empty U-slot in each rack from bottom to top to install the security device. The number of consecutive empty U-slots must be greater than the device U-slot height (DeviceUHe) in DeviceList2. If no available U-slot is found, proceed to the next rack. If an available U-slot is found, check if the DeviceList2 device to be installed is a primary / standby device (IsStandby). If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is a security device. If any device is a security device, it cannot be placed in that rack, and continue checking the next rack. If no device is a security device or if the Primary / Standby device is not specified, further evaluation of that rack is conducted. After deploying the device, check if the power consumption exceeds the rated power consumption of the rack. If it exceeds 1.25 times the rated power consumption of the rack, the device cannot be deployed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check if the DeviceType of all devices in the rack device list CabinetDeviceList of that rack has any devices other than access switches, patch boxes, and security devices. If so, continue checking the next rack. If not, deploy the security device in that rack. Set the rack code CabinetCode in the device list DeviceList2 to the rack code CabinetCode of that rack. Set the installation start U-position DeviceStartUPosition and update the rack device list CabinetDeviceList, U-position status list UList, and rack power consumption CabinetUsedPower in the rack list CabinetList5. The U-position status UStatus is marked as reserved. After all devices in the device list DeviceList2 have been traversed, the device list DeviceList3 and rack list CabinetList6 are obtained.
[0076] The contents of DeviceList3 are as follows:
[0077] {("A02","JR002",216,38,1,"Access Switch","Yes"),("A03","JR003",216,38,1,"Access Switch","Yes"),("A04","JR004",216,38,1,"Access Switch","Yes"),("A05","JR005",216,38,1,"Access Switch","Yes"),("A06","JR006",216,38,1,"Access Switch","Yes"),("A07","JR007",216,38,1,"Access Switch","Yes"),("A08","JR008",216,38,1,"Access Switch" "Yes", ("A09","JR009",216,38,1,"Access Switch","Yes"), ("A10","JR010",216,38,1,"Access Switch","Yes"), (,"HX001",3500,-1,16,"Core Switch","Yes"), (,"HX002",3500,-1,16,"Core Switch","Yes"), ("A01","AQ003",350,8,2,"Security Device","No"), ("A01","AQ004",350,11,2,"Security Device","No"), (,"JS001",337,-1,2,"Computing Server","No"),……}
[0078] The contents of CabinetList6 are:
[0079] {("A01",42,3600,1616,{("A01","AQ001",350,2,2,"Security Equipment","No"),("A01","AQ002",350,5,2,"Security Equipment","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002",0,40,2,"Patch Box","No"),("A01","TX003", 0,41,2,"Patch Box","No"),("A01","TX004",0,42,2,"Patch Box","No"),("A01","AQ003",350,8,2,"Safety Equipment","No"),("A01","AQ004",350,11,2,"Safety Equipment","No")},{0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0080] ("A02",42,3600,216,{("A02","TX005",0,39,2,"Patch Box","No"),("A02","TX006",0,40,2,"Patch Box","No"),("A02","TX007",0,41,2,"Patch Box","No"),("A02","TX008",0,42,2,"Patch Box","No"),("A02","JR002",216,38,1,"Access Switch","Yes")},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0081] ("A03",42,3600,216,{("A03","TX009",0,39,2,"Patch Box","No"),("A03","TX010",0,40,2,"Patch Box","No"),("A03","TX011",0,41,2,"Patch Box","No"),("A03","TX012",0,42,2,"Patch Box","No"),("A03","JR003",216,38,1,"Access Switch","Yes")},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0082] ...}
[0083] Step 8: Deploy the core switch in the rack from bottom to top. Iterate through the DeviceList3 list of devices to be racked, checking if the DeviceType is a core switch. If not, proceed to the next device. If it is a core switch, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList6 list, searching for an empty USB slot (U) in each rack from bottom to top to install the core switch. The number of consecutive empty U slots must be greater than the height of the device U slots in the DeviceList3 list. If there are no available unit slots in the Height rack, proceed to check the next rack. If there are available unit slots, check if the DeviceList3 device to be installed is a primary / standby (IsStandby) device. If it is, check if the DeviceType of all devices in the CabinetDeviceList of that rack is a core switch. If any device is a core switch, it cannot be placed in that rack, and continue checking the next rack. If no device is a core switch or if the Primary / Standby (IsStandby) is not specified, further checks are performed. If the power consumption of the device after placement in the rack exceeds the rack's rated power consumption, and if it exceeds 1.25 times the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check the DeviceType of all devices in the CabinetDeviceList for that rack. Does it contain any devices other than access switches, patch boxes, and core switches? If so, continue checking the next rack. If not, place the core switch in that rack and add the CabinetCode from the DeviceList3 list of devices to be installed. Set the cabinet code (CabinetCode) for this cabinet, set the starting U-position (DeviceStartUPosition) for installation, and update the cabinet device list (CabinetDeviceList), U-position status list (UList), and cabinet used power (CabinetUsedPower) in the cabinet list (CabinetList6). The U-position status (UStatus) is marked as reserved. After all devices in the device list (DeviceList3) have been traversed, the device list (DeviceList4) and cabinet list (CabinetList7) are obtained.
[0084] The contents of DeviceList4 are as follows:
[0085] {("A02","JR002",216,38,1,"Access Switch","Yes"),("A03","JR003",216,38,1,"Access Switch","Yes"),("A04","JR004",216,38,1,"Access Switch","Yes"),("A05","JR005",216,38,1,"Access Switch","Yes"),("A06","JR006",216,38,1,"Access Switch","Yes"),("A07","JR007",216,38,1,"Access Switch","Yes"),("A08","JR008",216,38,1,"Access Switch","Yes") ),("A09","JR009",216,38,1,"Access Switch","Yes"),("A10","JR010",216,38,1,"Access Switch","Yes"),("A02","HX001",3500,2,16,"Core Switch","Yes"),("A03","HX002",3500,2,16,"Core Switch","Yes"),("A01","AQ003",350,8,2,"Security Device","No"),("A01","AQ004",350,11,2,"Security Device","No"),(,"JS001",337,-1,2,"Computing Server","No"),……}
[0086] The contents of CabinetList7 are:
[0087] {("A01",42,3600,1616,{("A01","AQ001",350,2,2,"Security Equipment","No"),("A01","AQ002",350,5,2,"Security Equipment","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002",0,40,2,"Patch Box","No"),("A01","TX003", 0,41,2,"Patch Box","No"),("A01","TX004",0,42,2,"Patch Box","No"),("A01","AQ003",350,8,2,"Safety Equipment","No"),("A01","AQ004",350,11,2,"Safety Equipment","No")},{0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0088] ("A02",42,3600,3716,{("A02","TX005",0,39,2,"Jumper Box","No"),("A02","TX006",0,40,2,"Jumper Box","No"),("A02","TX007",0,41,2,"Jumper Box","No"),("A02","TX008",0,42,2,"Jumper Box","No"),("A02 ","JR002",216,38,1,"Access Switch","Yes"),("A02","HX001",3500,2,16,"Core Switch","Yes")},{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0089] ("A03",42,3600,3716,{("A03","TX009",0,39,2,"Jumper Box","No"),("A03","TX010",0,40,2,"Jumper Box","No"),("A03","TX011",0,41,2,"Jumper Box","No"),("A03","TX012",0,42,2,"Jumper Box","No"),("A03 ","JR003",216,38,1,"Access Switch","Yes"),("A03","HX002",3500,2,16,"Core Switch","Yes")},{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0090] ...}
[0091] Step 9: Deploy the compute servers in the rack from bottom to top. Iterate through the DeviceList4 list of devices to be racked, checking if the DeviceType is a compute server. If not, proceed to the next device. If it is a compute server, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList7 list, searching for available U-slots (U-slots) for each rack from bottom to top. The number of consecutive empty U-slots must be greater than the height of the U-slots (DeviceU) in DeviceList4. If there are no available rack slots, proceed to the next rack. If there are available rack slots, check if the DeviceList4 device to be racked is a primary / standby (IsStandby) device. If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is a compute server. If any device is a compute server, it cannot be placed in that rack, and continue checking the next rack. If no device is a compute server or if the Primary / Standby (IsStandby) is not specified, further checks are performed. If the power consumption of the device after placement in the rack exceeds the rack's rated power consumption, and if it exceeds 1.25 times the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check the DeviceType of all devices in the CabinetDeviceList of that rack. Does it contain any devices other than access switches, patch boxes, and compute servers? If so, continue checking the next rack. If not, place the compute server in that rack and add the CabinetCode from DeviceList4. Set the cabinet code (CabinetCode) for this cabinet, set the starting U-position (DeviceStartUPosition) for installation, and update the cabinet device list (CabinetDeviceList), U-position status list (UList), and cabinet used power (CabinetUsedPower) in the cabinet list (CabinetList7). The U-position status (UStatus) is marked as reserved. After all devices in the device list (DeviceList4) have been traversed, the device list (DeviceList5) and cabinet list (CabinetList8) are obtained.
[0092] The contents of DeviceList5 are as follows:
[0093] {("A02","JR002",216,38,1,"Access Switch","Yes"),("A03","JR003",216,38,1,"Access Switch","Yes"),("A04","JR004",216,38,1,"Access Switch","Yes"),("A05","JR005",216,38,1,"Access Switch","Yes"),("A06","JR006",216 ,38,1,"Access Switch","Yes"),("A07","JR007",216,38,1,"Access Switch","Yes"),("A08","JR008",216,38,1,"Access Switch","Yes"),("A09","JR009",216,38,1,"Access Switch","Yes"),("A10","JR010",216,38,1,"Access Switch","Yes")
[0094] ("A02","HX001",3500,2,16,"Core Switch","Yes"),("A03","HX002",3500,2,16,"Core Switch","Yes"),("A01","AQ003",350,8,2,"Security Device","No"),("A01","AQ004",350,11,2,"Security Device","No")
[0095] ("A04","JS001",337,2,2,"Computer Server","No"),("A04","JS002",337,5,2,"Computer Server","No"),("A04","JS003",337,8,2,"Computer Server","No"),("A04","JS004",337,11,2,"Computer Server","No"),("A04","JS005",337,14,2,"Computer Server","No"),("A04","JS006",337,17,2,"Computer Server","No"),("A04","JS007",337,20,2,"Computer Server","No"),("A04","JS008",337,23,2,"Computer Server","No"),……
[0096] (,"CC001",478,-1,2,"Storage Server","No"),(,"CC002",478,-1,2,"Storage Server","No"),(,"CC003",478,-1,2,"Storage Server","No"),(,"CC004",478,-1,2,"Storage Server","No"),(,"CC005",478,-1,2,"Storage Server","No"),……
[0097] (,"QT001",600,-1,4,"Other Devices","No"),(,"QT002",600,-1,4,"Other Devices","No"),(,"QT003",600,-1,4,"Other Devices","No"),(,"QT004",600,-1,4,"Other Devices","No")}
[0098] The contents of the CabinetList8 list are:
[0099] {("A01",42,3600,1616,{("A01","AQ001",350,2,2,"Security Equipment","No"),("A01","AQ002",350,5,2,"Security Equipment","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002",0,40,2,"Patch Box","No"),("A01","TX003", 0,41,2,"Patch Box","No"),("A01","TX004",0,42,2,"Patch Box","No"),("A01","AQ003",350,8,2,"Safety Equipment","No"),("A01","AQ004",350,11,2,"Safety Equipment","No")},{0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0100] ("A02",42,3600,3716,{("A02","TX005",0,39,2,"Jumper Box","No"),("A02","TX006",0,40,2,"Jumper Box","No"),("A02","TX007",0,41,2,"Jumper Box","No"),("A02","TX008",0,42,2,"Jumper Box","No"),("A02 ","JR002",216,38,1,"Access Switch","Yes"),("A02","HX001",3500,2,16,"Core Switch","Yes")},{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0101] ("A03",42,3600,3716,{("A03","TX009",0,39,2,"Jumper Box","No"),("A03","TX010",0,40,2,"Jumper Box","No"),("A03","TX011",0,41,2,"Jumper Box","No"),("A03","TX012",0,42,2,"Jumper Box","No"),("A03 ","JR003",216,38,1,"Access Switch","Yes"),("A03","HX002",3500,2,16,"Core Switch","Yes")},{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0102] ...}
[0103] Step 10: Deploy storage servers in the rack from bottom to top. Iterate through the DeviceList5 list of devices to be racked, checking if the DeviceType is a storage server. If not, proceed to the next device. If it is a storage server, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList8 list, searching for empty U-slots (U-slots) suitable for installing the storage server from bottom to top within each rack. The number of consecutive empty U-slots must be greater than the height of the device U-slots (DeviceU) in DeviceList5. If there are no available storage slots in the Height rack, proceed to the next rack. If there are available slots, check if the DeviceList5 device is a primary / standby (IsStandby) device. If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is a storage server. If any device is a storage server, it cannot be placed in that rack, and continue checking the next rack. If no device is a storage server or if the Primary / Standby (IsStandby) option is not found, further checks are performed. If the power consumption of the device after placement in the rack exceeds the rack's rated power consumption, and if it exceeds 1.25 times the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check the DeviceType of all devices in the CabinetDeviceList for that rack. Does it include any devices other than access switches, patch boxes, and storage servers? If so, continue checking the next rack. If not, place the storage server in that rack and assign the rack code CabinetCode from DeviceList5. Set the cabinet code (CabinetCode) for this cabinet, set the starting U-position (DeviceStartUPosition) for installation, and update the cabinet device list (CabinetDeviceList), U-position status list (UList), and cabinet used power (CabinetUsedPower) in the cabinet list (CabinetList8). The U-position status (UStatus) is marked as reserved. After all devices in the device list (DeviceList5) have been traversed, the device list (DeviceList6) and cabinet list (CabinetList9) are obtained.
[0104] The contents of DeviceList6 are as follows:
[0105] {("A02","JR002",216,38,1,"Access Switch","Yes"),("A03","JR003",216,38,1,"Access Switch","Yes"),("A04","JR004",216,38,1,"Access Switch","Yes"),("A05","JR005",216,38,1,"Access Switch","Yes"),("A06","JR006",216 ,38,1,"Access Switch","Yes"),("A07","JR007",216,38,1,"Access Switch","Yes"),("A08","JR008",216,38,1,"Access Switch","Yes"),("A09","JR009",216,38,1,"Access Switch","Yes"),("A10","JR010",216,38,1,"Access Switch","Yes")
[0106] ("A02","HX001",3500,2,16,"Core Switch","Yes"),("A03","HX002",3500,2,16,"Core Switch","Yes"),("A01","AQ003",350,8,2,"Security Device","No"),("A01","AQ004",350,11,2,"Security Device","No")
[0107] ("A04","JS001",337,2,2,"Computer Server","No"),("A04","JS002",337,5,2,"Computer Server","No"),("A04","JS003",337,8,2,"Computer Server","No"),("A04","JS004",337,11,2,"Computer Server","No"),("A04","JS005",337,14,2,"Computer Server","No"),……
[0108] ("A06","CC001",478,2,2,"Storage Server","No"),("A06","CC002",478,5,2,"Storage Server","No"),("A06","CC003",478,8,2,"Storage Server","No"),("A06","CC004",478,11,2,"Storage Server","No"),("A06","CC005",478,14,2,"Storage Server","No"),……
[0109] (,"QT001",600,-1,4,"Other Devices","No"),(,"QT002",600,-1,4,"Other Devices","No"),(,"QT003",600,-1,4,"Other Devices","No"),(,"QT004",600,-1,4,"Other Devices","No")}
[0110] The contents of CabinetList9 are:
[0111] {("A01",42,3600,1616,{("A01","AQ001",350,2,2,"Security Equipment","No"),("A01","AQ002",350,5,2,"Security Equipment","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002",0,40,2,"Patch Box","No"),("A01","TX003", 0,41,2,"Patch Box","No"),("A01","TX004",0,42,2,"Patch Box","No"),("A01","AQ003",350,8,2,"Safety Equipment","No"),("A01","AQ004",350,11,2,"Safety Equipment","No")},{0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0112] ("A02",42,3600,3716,{("A02","TX005",0,39,2,"Jumper Box","No"),("A02","TX006",0,40,2,"Jumper Box","No"),("A02","TX007",0,41,2,"Jumper Box","No"),("A02","TX008",0,42,2,"Jumper Box","No"),("A02 ","JR002",216,38,1,"Access Switch","Yes"),("A02","HX001",3500,2,16,"Core Switch","Yes")},{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0113] ("A03",42,3600,3716,{("A03","TX009",0,39,2,"Jumper Box","No"),("A03","TX010",0,40,2,"Jumper Box","No"),("A03","TX011",0,41,2,"Jumper Box","No"),("A03","TX012",0,42,2,"Jumper Box","No"),("A03" "JR003",216,38,1,"Access Switch","Yes"),("A03","HX002",3500,2,16,"Core Switch","Yes")},{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),……}
[0114] Step 11: Place other devices in the rack from bottom to top. Iterate through the DeviceList6 list of devices to be racked, checking if the DeviceType is another device. If not, proceed to the next device. If it is another device, check if the CabinetCode is empty. If not, proceed to the next device. If empty, iterate through the CabinetList9 list, searching for empty USB slots (U-slots) for each rack from bottom to top. The number of consecutive empty U-slots must be greater than the height of the USB slots (DeviceUHe) in DeviceList6. If no available U-slot is found, proceed to the next rack. If an available U-slot is found, check if the DeviceList6 device to be installed is a primary / standby device (IsStandby). If it is, check if the DeviceType of all devices in the CabinetDeviceList for that rack is "Other". If any device is "Other", it cannot be placed in that rack, and continue checking the next rack. If no device is "Other" or if the Primary / Standby is "No", further determine the rack's functionality. After deploying the device, check if the power consumption exceeds the rated power consumption of the rack. If it exceeds 1.25 times the rated power consumption of the rack, the device cannot be deployed in that rack. Continue checking the next rack. If it does not exceed the rated power consumption, check if the DeviceType of all devices in the rack device list CabinetDeviceList of that rack has any devices other than access switches, patch boxes, and other devices. If so, continue checking the next rack. If not, deploy the other device in that rack. Set the rack code CabinetCode in the device list DeviceList6 to the rack code CabinetCode of that rack. Set the installation start U-position DeviceStartUPosition and update the rack device list CabinetDeviceList, U-position status list UList, and rack power consumption CabinetUsedPower in the rack list CabinetList9. The U-position status UStatus is marked as reserved. After all devices in the device list DeviceList6 have been traversed, the device list DeviceList7 and rack list CabinetList10 are obtained. DeviceList7 is the list of devices to be deployed automatically. CabinetCode is the cabinet code of the cabinet where the device is to be deployed, and DeviceStartUPosition is the U-position where the device is to be deployed.
[0115] The contents of DeviceList7 are as follows:
[0116] {("A02","JR002",216,38,1,"Access Switch","Yes"),("A03","JR003",216,38,1,"Access Switch","Yes"),("A04","JR004",216,38,1,"Access Switch","Yes"),……,
[0117] ("A02","HX001",3500,2,16,"Core Switch","Yes"),("A03","HX002",3500,2,16,"Core Switch","Yes"),("A01","AQ003",350,8,2,"Security Device","No"),("A01","AQ004",350,11,2,"Security Device","No")
[0118] ("A04","JS001",337,2,2,"Computer Server","No"),("A04","JS002",337,5,2,"Computer Server","No"),("A04","JS003",337,8,2,"Computer Server","No"),("A04","JS004",337,11,2,"Computer Server","No"),("A04","JS005",337,14,2,"Computer Server","No"),……
[0119] ("A06","CC001",478,2,2,"Storage Server","No"),("A06","CC002",478,5,2,"Storage Server","No"),("A06","CC003",478,8,2,"Storage Server","No"),……
[0120] ("A08","QT001",600,2,4,"Other Devices","No"),("A08","QT002",600,7,4,"Other Devices","No"),("A08","QT003",600,12,4,"Other Devices","No"),("A08","QT004",600,17,4,"Other Devices","No")}
[0121] The contents of the list CabinetList10 are:
[0122] {("A01",42,3600,1616,{("A01","AQ001",350,2,2,"Security Equipment","No"),("A01","AQ002",350,5,2,"Security Equipment","No"),("A01","JR001",216,38,1,"Access Switch","Yes"),("A01","TX001",0,39,2,"Patch Box","No"),("A01","TX002",0,40,2,"Patch Box","No"),("A01","TX003", 0,41,2,"Patch Box","No"),("A01","TX004",0,42,2,"Patch Box","No"),("A01","AQ003",350,8,2,"Safety Equipment","No"),("A01","AQ004",350,11,2,"Safety Equipment","No")},{0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0123] ("A02",42,3600,3716,{("A02","TX005",0,39,2,"Jumper Box","No"),("A02","TX006",0,40,2,"Jumper Box","No"),("A02","TX007",0,41,2,"Jumper Box","No"),("A02","TX008",0,42,2,"Jumper Box","No"),("A02 ","JR002",216,38,1,"Access Switch","Yes"),("A02","HX001",3500,2,16,"Core Switch","Yes")},{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),
[0124] ("A03",42,3600,3716,{("A03","TX009",0,39,2,"Jumper Box","No"),("A03","TX010",0,40,2,"Jumper Box","No"),("A03","TX011",0,41,2,"Jumper Box","No"),("A03","TX012",0,42,2,"Jumper Box","No"),("A03" "JR003",216,38,1,"Access Switch","Yes"),("A03","HX002",3500,2,16,"Core Switch","Yes")},{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}),……}
[0125] This completes the automatic planning of IDC rack equipment locations. The planned rack equipment locations are as follows: Figure 2 As shown (example of some server racks).
[0126] When deploying equipment in an IDC rack, placing patch boxes and access switches at the top of the rack can solve the problem of messy cable routing. Placing primary and backup equipment in different racks effectively avoids situations where a single rack power failure causes both primary and backup equipment to lose service. Leaving a spare USB port between high-power devices such as compute servers and storage servers helps address issues related to equipment maintenance and server heat dissipation stability. Grouping similar equipment together helps resolve issues related to equipment maintenance, expansion, upgrades, and cable routing. Based on engineering experience, the rated power consumption of general equipment is approximately 1.25 times its actual power consumption; by presetting this multiple, rack space can be fully utilized to accommodate more equipment, addressing the problem of low rack utilization.
[0127] In its specific implementation, this application provides a computer storage medium and a corresponding data processing unit. The computer storage medium is capable of storing a computer program, which, when executed by the data processing unit, can run the invention's content regarding an automatic location planning method for IDC rack equipment, as well as some or all of the steps in various embodiments. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0128] Those skilled in the art will clearly understand that the technical solutions in the embodiments of the present invention can be implemented using computer programs and their corresponding general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of computer programs, i.e., software products. These computer program software products can be stored in a storage medium and include several instructions to cause a device containing a data processing unit (which may be a personal computer, server, microcontroller, MUU, or network device, etc.) to execute the methods described in various embodiments or certain parts of the embodiments of the present invention.
[0129] This invention provides an approach and method for automatic location planning of IDC (Internet Data Center) server rack equipment. Many methods and approaches exist for implementing this technical solution; the above description is merely a preferred embodiment. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of this invention, and these improvements and modifications should also be considered within the scope of protection of this invention. All components not explicitly stated in this embodiment can be implemented using existing technologies.
Claims
1. An IDC cabinet equipment position automatic planning method, characterized in that, The method includes the following steps: Step 1: Collect information on all server racks in the data center and obtain the first server rack list based on the rack information; Step 2: Collect information on the installed equipment in each rack, obtain a rack equipment list based on the installed equipment information, and populate the rack equipment list into the first rack list to obtain the second rack list; Step 3: Based on the equipment information installed in each rack, obtain the rack U-position status list, fill the rack U-position status list into the second rack list, and calculate and update the third rack list. Step 4: Collect information on devices to be installed and obtain a list of devices to be installed; Step 5: Based on the data information in the third rack list, plan the locations of the IDC rack equipment in sequence and update the third rack list. Step 5-1: Determine if there are patch box type devices in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the patch box type devices. Step 5-2: Determine if there are any access switch type devices in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the access switch type devices. Step 5-3: Determine if there are any security device types in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the security device type. Step 5-4: Determine if there are any core switch type devices in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the core switch type devices. Step 5-5: Determine if a compute server type device exists in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the compute server type device. Steps 5-6: Determine if there are storage server type devices in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the storage server type devices. Steps 5-7: Determine if there are other device types in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of other device types. Step 6: Repeat step 5 until all devices in the list of devices to be racked have been planned, and obtain the final rack list, thus completing the automatic planning of IDC rack equipment locations.
2. The automatic location planning method for IDC cabinet equipment according to claim 1, characterized in that, The types of the devices include at least one of the following: patch boxes, switches, security devices, core switches, computing servers, storage servers, and other devices.
3. The automatic location planning method for IDC cabinet equipment according to claim 2, characterized in that, The method for obtaining the first rack list based on the rack information in step 1 is as follows: Information on each rack in the data center is collected sequentially to obtain the first rack list, CabinetList1. CabinetList1 includes at least the following attributes: rack code (CabinetCode), rack height (CabinetHeight), rack rated power (CabinetRatedPower), rack used power (CabinetUsedPower), rack device list (CabinetDeviceList), and rack status list (UList); among which, rack used power (CabinetUsedPower) is initially set to 0.
4. The automatic location planning method for IDC cabinet equipment according to claim 3, characterized in that, The specific method for obtaining the rack equipment list in step 2 is as follows: The information of the installed equipment in each cabinet is collected in sequence and stored in the cabinet device list CabinetDeviceList in the first cabinet list CabinetList1 to obtain the second cabinet list CabinetList2; The CabinetDeviceList must include at least the following attributes: CabinetCode, DeviceCode, DeviceRatedPower, DeviceStartUPosition, DeviceUHeight, DeviceType, and whether it is primary or standby.
5. The automatic location planning method for IDC cabinet equipment according to claim 4, characterized in that, The rack U-position status list mentioned in step 3 is as follows: The U-position status list UList must include at least the following attributes: U-position number UIndex, U-position status UStatus, where U-position status UStatus includes: empty, occupied, and reserved, with the default value set to empty; The specific method for calculating and updating the third rack list as described in step 3 includes: The second cabinet list, CabinetList2, is traversed sequentially. For each cabinet, the cabinet device list, CabinetDeviceList, is traversed sequentially. Based on the installation start point U position (DeviceStartUPosition) and device U position height (DeviceUHeight) in CabinetDeviceList, the U position status (UStatus) information in U position status list (UList) is set to occupied. Based on the rated power consumption (DeviceRatedPower) of all devices installed in the current cabinet, the power consumption (CabinetUsedPower) is accumulated and stored as the cabinet's used power consumption, thus obtaining the third cabinet list, CabinetList3.
6. The automatic location planning method for IDC cabinet equipment according to claim 5, characterized in that, Step 4, which involves obtaining the list of devices to be put on the rack, is described in the following steps: Collect information on devices to be racked to obtain a list of devices to be racked, DeviceList1, which includes at least the following attributes: CabinetCode, DeviceCode, DeviceRatedPower, DeviceStartUPosition, DeviceUHeight, DeviceType, and whether it is primary / standby (IsStandby). Among them, the initial value of CabinetCode is set to empty, and the initial value of DeviceStartUPosition is set to -1.
7. The automatic location planning method for IDC cabinet equipment according to claim 6, characterized in that, Step 5 describes the sequential planning of the IDC rack equipment locations, that is, according to the order of equipment types: patch boxes, switches, security equipment, core switches, computing servers, storage servers, and other equipment, and planning them in sequence.
8. The automatic location planning method for IDC cabinet equipment according to claim 7, characterized in that, Step 5, which involves sequentially planning the locations of the IDC rack equipment, is described in the following method: Step 5-1: Determine if a patch panel type device exists in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the patch panel type device as follows: Iterate through the CabinetDeviceList of the CabinetList3 in the third cabinet list, check if there is a patch box in the DeviceType of the CabinetDeviceList. If there is a patch box, check the next cabinet. If there is no patch box, start from the top U position of the cabinet and place 4 patch boxes consecutively. Add the patch box information to the CabinetDeviceList. Set the rated power consumption of the patch box to 0. After processing, update to get the new third cabinet list. Step 5-2: Determine if any access switch type devices exist in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the access switch type devices as follows: The process iterates through the DeviceList1 list of devices to be installed, checking if the DeviceType is an access switch. If not, it checks the next device. If it is an access switch, it checks if the CabinetCode is empty. If not, it checks the next device. If empty, it iterates through the third cabinet list, searching from top to bottom for an empty U-slot (U-position) where the number of consecutive empty U-slots is greater than the DeviceUHeight in DeviceList1. If no empty U-slot is found, it checks the next cabinet. If an empty U-slot is found, it checks if the DeviceList1 has a primary / standby IsStandby attribute. If the IsStandby attribute is yes, it checks if the DeviceType of all devices in the CabinetDeviceList for that cabinet is an access switch. If any device is an access switch, it does not install the switch. The device is placed in the rack, and the process continues to check the next rack. If no device is an access switch or the IsStandby attribute is not specified, the power consumption after placing the device in the rack is further calculated and determined to see if it exceeds the rack's rated power consumption. If it exceeds the rack's rated power consumption by a preset multiple, the device is not placed in the rack, and the process continues to check the next rack. If it does not exceed the rated power consumption, the access switch is placed in the rack, and the rack code CabinetCode in the DeviceList1 list is set to the rack code CabinetCode of the rack. The installation start U-position DeviceStartUPosition is set, and the rack device list CabinetDeviceList, U-position status list UList, and rack power consumption CabinetUsedPower in the third rack list are updated. The U-position status UStatus is set to reserved. After all devices in DeviceList1 have been traversed, the updated list of devices to be installed and the third rack list are obtained. Step 5-3: Check if there are any security device types in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the security device type as follows: The process iterates through the list of devices to be racked, checking if the DeviceType is a security device. If not, it checks the next device. If it is a security device, it checks if the CabinetCode is empty. If not, it checks the next device. If empty, it iterates through the third rack list, searching from bottom to top for an empty U-slot (i.e., a number of consecutive empty U-slots greater than the DeviceUHeight in the DeviceList2 list). If no empty U-slots are found, it checks the next rack. If an empty U-slot is found, it checks if the DeviceList has a primary / standby IsStandby attribute. If the IsStandby attribute is yes, it checks if the DeviceType of all devices in the CabinetDeviceList for that rack is a security device. If a device is a security device, it is not placed in that rack, and the process continues to the next rack. If no device is a security device or the IsStandby attribute is no, it continues until the device is found to be a security device. No, further calculate and determine whether the power consumption of the device after being placed in the cabinet exceeds the rated power consumption of the cabinet. If it exceeds the preset multiple of the rated power consumption of the cabinet, do not place it in the cabinet and continue to check the next cabinet. If it does not exceed the limit, check whether the device type (DeviceType) of all devices in the cabinet's rack device list (CabinetDeviceList) is a device other than access switches, patch boxes, and security devices. If so, continue to check the next cabinet. If not, place the security device in the cabinet, set the cabinet code (CabinetCode) in the list of devices to be installed to the cabinet code (CabinetCode) of the cabinet, set the installation start position (DeviceStartUPosition), and update the cabinet device list (CabinetDeviceList), the position status list (UList), and the cabinet power consumption (CabinetUsedPower) in the third cabinet list. The position status (UStatus) is marked as reserved. After all the devices to be installed have been traversed, the updated list of devices to be installed and the third cabinet list are obtained. Step 5-4: Determine if a core switch type device exists in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the core switch type device as follows: The process iterates through the list of devices to be racked, checking if the DeviceType is a core switch. If not, it checks the next device. If it is a core switch, it checks if the CabinetCode is empty. If not, it checks the next device. If empty, it iterates through the third rack list, searching from bottom to top for an empty U-slot (device slot) where the core switch can be installed (i.e., the number of consecutive empty U-slots is greater than the DeviceUHeight in the list of devices to be racked). If no empty U-slot is found, it checks the next rack. If an empty U-slot is found, it checks if the device in the list has the IsStandby attribute. If the IsStandby attribute is yes, it checks if the DeviceType of all devices in the CabinetDeviceList of that rack is a core switch. If a device is a core switch, it is not placed in that rack, and the process continues to the next rack. If no device is a core switch or the IsStandby attribute is no, it continues... Further calculate and determine whether the power consumption of the device after being placed in the cabinet exceeds the rated power consumption of the cabinet. If it exceeds the preset multiple of the rated power consumption of the cabinet, it will not be placed in the cabinet, and the next cabinet will be checked. If it does not exceed the limit, check whether the DeviceType of all devices in the CabinetDeviceList of the cabinet has any devices other than access switches, patch boxes and core switches. If so, the next cabinet will be checked. If not, the core switch will be placed in the cabinet. Set the cabinet code CabinetCode in the list of devices to be installed to the cabinet code CabinetCode of the cabinet. Set the installation start U position DeviceStartUPosition, and update the cabinet device list CabinetDeviceList, U position status list UList, and cabinet power consumption CabinetUsedPower in the third cabinet list. The U position status UStatus is marked as reserved. After all the devices to be installed have been traversed, the updated list of devices to be installed and the third cabinet list are obtained. Step 5-5: Determine if a compute server type device exists in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the compute server type device as follows: The process iterates through the list of devices to be racked, checking if the DeviceType is a compute server. If not, it checks the next device. If it is a compute server, it checks if the CabinetCode is empty. If not, it checks the next device. If empty, it iterates through the cabinet list, searching from bottom to top for an empty U-slot (device slot) suitable for the compute server (i.e., a number of consecutive empty U-slots greater than the DeviceUHeight in the list of devices to be racked). If no empty U-slot is found, it checks the next cabinet. If an empty U-slot is found, it checks if the device in the list has the IsStandby attribute. If the IsStandby attribute is yes, it checks if the DeviceType of all devices in the CabinetDeviceList for that cabinet is a compute server. If any device is a compute server, it cannot be placed in that cabinet, and the process continues to the next cabinet. If no device is a compute server or the IsStandby attribute is no, it checks the next cabinet. Further calculate and determine whether the power consumption of the device after being placed in the rack exceeds the rack's rated power consumption. If it exceeds a preset multiple of the rack's rated power consumption, the device is not placed in the rack, and the process continues to check the next rack. If it does not exceed the limit, check the DeviceType of all devices in the rack's CabinetDeviceList to see if there are any devices other than access switches, patch boxes, and compute servers. If so, continue to check the next rack. If not, place the compute server in the rack, set the rack code CabinetCode in the list of devices to be installed to the rack code CabinetCode of the rack, set the installation start U-position DeviceStartUPosition, and update the rack device list CabinetDeviceList, U-position status list UList, and rack power consumption CabinetUsedPower in the third rack list. The U-position status UStatus is marked as reserved. After all the devices to be installed have been traversed, the updated list of devices to be installed and the rack list are obtained. Steps 5-6: Determine if a storage server type device exists in the CabinetDeviceList. If not, skip this step; otherwise, plan the location of the storage server type device as follows: The process iterates through the list of devices to be installed, checking if the DeviceType is a storage server. If not, it checks the next device. If it is a storage server, it checks if the CabinetCode is empty. If not, it checks the next device. If empty, it iterates through the third cabinet list, searching from bottom to top for available storage space (U-slots) that can accommodate the storage server (i.e., consecutive empty U-slots greater than the DeviceUHeight in the DeviceList5 list). If no empty U-slots are found, it checks the next cabinet. If an empty U-slot is found, it checks if the device in the list has the IsStandby attribute. If it does, it checks if all devices in the CabinetDeviceList for that cabinet have the DeviceType as a storage server. If a device is a storage server, it can be installed in that cabinet. It then checks the next cabinet. If the result is negative, further calculate and determine whether the power consumption of the device after being placed in the rack exceeds the rack's rated power consumption. If it exceeds a preset multiple of the rack's rated power consumption, do not place the device in the rack and continue to check the next rack. If it does not exceed the limit, check whether the DeviceType of all devices in the rack's CabinetDeviceList has any devices other than access switches, patch boxes, and storage servers. If so, continue to check the next rack. If not, place the storage server in the rack, set the rack code CabinetCode in the list of devices to be installed to the rack code CabinetCode of the rack, set the installation start U-position DeviceStartUPosition, and update the rack device list CabinetDeviceList, U-position status list UList, and rack power consumption CabinetUsedPower in the third rack list. The U-position status UStatus is marked as reserved. After all the devices in the rack list have been traversed, the updated list of devices to be installed and the third rack list are obtained. Steps 5-7: Determine if other device types exist in the CabinetDeviceList. If not, skip this step; otherwise, plan the locations of other device types as follows: The process iterates through the list of devices to be racked, checking if the DeviceType is "Other". If not, it checks the next device. If it is "Other", it checks if the CabinetCode is empty. If not, it checks the next device. If empty, it iterates through the third rack list, searching from bottom to top for available U-slots (i.e., consecutive empty U-slots greater than the DeviceUHeight in the list of devices to be racked). If no empty U-slots are found, it checks the next rack. If an empty U-slot is found, it checks if the device in the list has the IsStandby attribute. If the IsStandby attribute is yes, it checks if the DeviceType of all devices in the CabinetDeviceList of that rack is "Other". If any device is "Other", it does not place it in that rack and checks the next rack. If no device is "Other" or the IsStandby attribute is no, it proceeds further. Calculate and determine whether the power consumption of the device after placement in the rack exceeds the rack's rated power consumption. If it exceeds a preset multiple of the rack's rated power consumption, the device cannot be placed in that rack. Continue checking the next rack. If it does not exceed the limit, check if the DeviceType of all devices in the rack's CabinetDeviceList contains any devices other than access switches, patch boxes, and other devices. If so, continue checking the next rack. If not, place the other device in that rack. Set the rack code CabinetCode in the list of devices to be installed to the rack code CabinetCode of this rack. Set the installation start U-position DeviceStartUPosition and update the rack device list CabinetDeviceList, U-position status list UList, and rack power consumption CabinetUsedPower in the third rack list. The U-position status UStatus is marked as reserved. After all the devices in the rack list have been traversed, the updated list of devices to be installed and the third rack list are obtained.
9. The automatic location planning method for IDC cabinet equipment according to claim 8, characterized in that, When obtaining the final rack list in step 6, the list of devices to be racked is the list after automatic deployment, where the rack code CabinetCode is the rack code of the device to be racked, and the installation start U position DeviceStartUPosition is the U position of the device to be racked.
10. The automatic location planning method for IDC cabinet equipment according to claim 9, characterized in that, The preset multiple mentioned in step 5 is between 1.2 and 1.3.
Citation Information
Patent Citations
Equipment racking position recommendation method and device, terminal and storage medium
CN114399147A