Rack arrangement method, electronic equipment, storage medium and program product

By determining the minimum bounding rectangle of the server room and filtering out rack positions that do not meet the conditions, combined with the preset layout algorithm and object information, the problem of low rack layout efficiency is solved, and the precise and reasonable layout of racks and efficient space utilization in irregularly shaped server rooms are realized.

CN120897387APending Publication Date: 2025-11-04CHINA UNITED NETWORK COMM GRP CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510926745.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-04
Publication Date
2025-11-04

AI Technical Summary

Technical Problem

Existing technologies for data center management suffer from low rack layout efficiency and low fault tolerance, making it difficult to meet the needs of efficient management, especially in irregularly shaped data center spaces where they are poorly adaptable.

Method used

By determining the minimum bounding rectangle of the server room, the server room is uniformly treated as a rectangle for calculation. Temporary rack positions that do not meet the conditions are filtered out based on the actual boundary of the server room. Combined with the preset layout algorithm and object information, the rack layout scheme is accurately determined.

Benefits of technology

It enables precise and reasonable rack placement in irregularly shaped computer rooms, improving space utilization and computing efficiency, and is suitable for various computer room environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120897387A_ABST
    Figure CN120897387A_ABST
Patent Text Reader

Abstract

The invention provides a rack arrangement method, electronic equipment, a storage medium and a program product, relates to the technical field of computers, and is used for rack arrangement in a complex scene. The method comprises the steps of determining a target area of a machine room based on position information of the machine room; the target area is a minimum external rectangular area of the machine room; determining a first rack arrangement scheme according to the position information of the target area, the rack parameters and a preset arrangement algorithm; the first rack arrangement scheme is used for indicating the maximum number of idle racks capable of being placed in the target area and the positions where the idle racks can be placed; based on the position information of the machine room and the first rack arrangement scheme, a second rack arrangement scheme is determined, the second rack arrangement scheme is a rack arrangement scheme obtained by filtering out a first idle rack position and a second idle rack position in the first rack arrangement scheme, the first idle rack position is a position exceeding the boundary of the machine room, and the second idle rack position is a position exceeding the boundary of the machine room; the distance between the second idle rack position and the machine room boundary is not larger than the preset distance.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, and particularly relates to a rack arrangement method, an electronic device, a storage medium and a program product. BACKGROUND

[0002] A communication machine room is an important infrastructure for an operator, and the calculation of idle rack positions in machine room management is a key link to ensure efficient use of space resources. Multiple racks are usually placed in the machine room for installing servers, storage devices and network devices. With the growth of business demand, the number of devices is increasing, and how to reasonably allocate and utilize the machine room space becomes particularly important.

[0003] Among them, by automatically calculating the number and position of idle racks, the expansion potential of the machine room can be counted, so as to better control the cost, efficiently manage the devices, and provide the basis for resource planning and optimization for decision makers.

[0004] In the current construction process, the designer usually arranges the machine room based on the floor plan or three-dimensional modeling of the machine room through the data center management system, and manually judges the position of the idle rack. This way is low in efficiency and fault tolerance, and is difficult to meet the needs of efficient management. SUMMARY

[0005] The present application provides a rack arrangement method, an electronic device, a storage medium and a program product, which are used for arranging racks in a complex scene and fully utilizing the scene space.

[0006] In a first aspect, the present application provides a rack arrangement method, comprising:

[0007] determining a target area of the machine room based on position information of the machine room; the target area is a minimum circumscribed rectangular area of the machine room; determining a first rack arrangement scheme according to the position information of the target area, rack parameters and a preset arrangement algorithm; the first rack arrangement scheme is used to indicate the maximum number of idle racks that can be placed in the target area, and the position of the idle racks that can be placed; determining a second rack arrangement scheme based on the position information of the machine room and the first rack arrangement scheme, the second rack arrangement scheme being a rack arrangement scheme obtained by filtering out a first idle rack position and a second idle rack position in the first rack arrangement scheme, the first idle rack position being a position beyond the boundary of the machine room, and the second idle rack position being a position with a distance from the boundary of the machine room less than or equal to a preset distance.

[0008] The technical scheme provided by the application brings at least the following beneficial effects: the computer rooms with different shapes can be unified into rectangles for space planning through the minimum circumscribed rectangle of the computer room, and after the temporary rack arrangement positions are obtained, the temporary positions are screened based on the actual boundary of the computer room to filter out the positions that do not meet the conditions, so that more accurate and reasonable rack position arrangement is obtained.

[0009] In a possible implementation, in the case that the first object is placed in the computer room, the method further includes: determining a third rack arrangement scheme based on the position information of the first object and the second rack arrangement scheme, the third rack arrangement scheme being a rack arrangement scheme obtained by filtering out a third idle rack position in the second rack arrangement scheme, the third idle rack position intersecting with the position of the first object; and the first object being an existing rack in the computer room.

[0010] In another possible implementation, in the case that the first object is placed in the computer room, the method further includes: determining a third rack arrangement scheme based on the position information of the first object and the second rack arrangement scheme, the third rack arrangement scheme being a rack arrangement scheme obtained by filtering out a third idle rack position in the second rack arrangement scheme, the third idle rack position intersecting with the position of the first object; and the first object being an existing rack in the computer room.

[0011] In another possible implementation, the third rack arrangement scheme is determined based on the position information of the first object and the second rack arrangement scheme, and includes: aggregating the first objects in the same row that are less than a preset threshold distance apart to obtain aggregated first objects; and determining the third rack arrangement scheme based on the position information of the aggregated first objects and the second rack arrangement scheme.

[0012] In another possible implementation, in the case that the second object is placed in the computer room, the method further includes: determining a fourth rack arrangement scheme based on the position information of the second object and the second rack arrangement scheme, the fourth rack arrangement scheme being a rack arrangement scheme obtained by filtering out a fourth idle rack position in the second rack arrangement scheme, the fourth idle rack position being less than or equal to a preset distance from the position of the second object; and the second object being an existing object other than a rack in the computer room.

[0013] In another possible implementation, the second rack arrangement scheme is determined based on the position information of the computer room and the first rack arrangement scheme, and includes: traversing the position of each idle rack in the first rack arrangement scheme, and determining the second rack arrangement scheme based on the position of each idle rack and the position information of the computer room.

[0014] In another possible implementation, the target area of the computer room is determined based on the position information of the computer room, and includes: constructing the target area based on the maximum and minimum values of the vertex coordinates of the computer room.

[0015] In a second aspect, the present application provides a rack arrangement device, comprising: a determination module configured to determine a target area of a machine room based on position information of the machine room; the target area is a minimum circumscribed rectangular area of the machine room; determine a first rack arrangement scheme according to position information of the target area, rack parameters and a preset arrangement algorithm; the first rack arrangement scheme is used to indicate a maximum number of idle racks that can be placed in the target area, and positions of the idle racks that can be placed; determine a second rack arrangement scheme based on position information of the machine room and the first rack arrangement scheme, the second rack arrangement scheme is a rack arrangement scheme obtained by filtering out a first idle rack position and a second idle rack position in the first rack arrangement scheme, the first idle rack position is a position beyond the boundary of the machine room, and the second idle rack position is a position with a distance from the boundary of the machine room less than or equal to a preset distance.

[0016] In a possible implementation, the determination module is specifically configured to determine a third rack arrangement scheme based on position information of the first object and the second rack arrangement scheme, the third rack arrangement scheme being a rack arrangement scheme obtained by filtering out a third idle rack position in the second rack arrangement scheme, the third idle rack position intersecting with the position of the first object; and the first object is a rack already existing in the machine room.

[0017] In another possible implementation, the determination module is specifically configured to aggregate first objects in the same row with a distance less than a preset threshold to obtain aggregated first objects; and determine the third rack arrangement scheme based on position information of the aggregated first objects and the second rack arrangement scheme.

[0018] In another possible implementation, the determination module is specifically configured to determine a fourth rack arrangement scheme based on position information of the second object and the second rack arrangement scheme, the fourth rack arrangement scheme being a rack arrangement scheme obtained by filtering out a fourth idle rack position in the second rack arrangement scheme, the fourth idle rack position being less than or equal to a preset distance from the position of the second object; and the second object is an object other than a rack already existing in the machine room.

[0019] In another possible implementation, the determination module is specifically configured to traverse positions of each idle rack in the first rack arrangement scheme, and determine the second rack arrangement scheme based on the position of each idle rack and the position information of the machine room.

[0020] In another possible implementation, the determination module is specifically configured to construct the target area based on a maximum value and a minimum value of vertex coordinates of the machine room.

[0021] In a third aspect, the present application provides an electronic device, comprising: a processor and a memory; the memory stores instructions executable by the processor; the processor is configured to execute the instructions, so that the electronic device implements the method of the first aspect.

[0022] In a fourth aspect, the present application provides a computer readable storage medium, comprising: computer software instructions; when the computer software instructions run in an electronic device, the electronic device implements the method of the first aspect.

[0023] In a fifth aspect, the present application provides a computer program product, comprising: a computer program; when the computer program runs in an electronic device, the electronic device implements the method of the first aspect.

[0024] The beneficial effects of the second aspect to the fifth aspect are described with reference to the corresponding description of the first aspect, and will not be repeated. BRIEF DESCRIPTION OF DRAWINGS

[0025] Figure 1 A rack arrangement schematic diagram in a related technology provided by the present application;

[0026] Figure 2 Another rack arrangement schematic diagram provided by the present application;

[0027] Figure 3 A flowchart of a rack arrangement method provided by the present application;

[0028] Figure 4 A rack arrangement schematic diagram provided by the present application;

[0029] Figure 5 Another rack arrangement schematic diagram provided by the present application;

[0030] Figure 6 Another rack arrangement schematic diagram provided by the present application;

[0031] Figure 7 A rack aggregation schematic diagram provided by the present application;

[0032] Figure 8 Another rack arrangement schematic diagram provided by the present application;

[0033] Figure 9 Another rack arrangement schematic diagram provided by the present application;

[0034] Figure 10 A rectangular schematic diagram of an external connection of a computer room provided by the present application;

[0035] Figure 11A flow chart of another rack arrangement method provided in the present application;

[0036] Figure 12 A component diagram of a rack arrangement device provided in the present application;

[0037] Figure 13 A component diagram of an electronic device provided in the present application. DETAILED DESCRIPTION

[0038] A call record data recording method provided in the present application will be described in detail below with reference to the accompanying drawings.

[0039] The term "and / or" in the present document merely describes an association relationship of associated objects, and indicates that there can be three relationships, for example, A and / or B can represent the three cases of A alone, A and B together, and B alone.

[0040] The terms "first" and "second" and the like in the specification and drawings of the present application are used to distinguish different objects or to distinguish different treatments of the same object, and are not used to describe a specific order of the objects.

[0041] In addition, the terms "include" and "have" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but can optionally include other steps or units not listed or can optionally include other steps or units inherent to the process, method, product or device.

[0042] It should be noted that in the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of the present application should not be construed as being more preferred or having more advantages than other embodiments or design schemes. Rather, the use of "exemplary" or "for example" is intended to present relevant concepts in a concrete manner.

[0043] In order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, "first", "second" and the like are used to distinguish the same or similar items with basically the same function and role, and those skilled in the art can understand that "first", "second" and the like are not limited in number and execution order.

[0044] In the description of the present application, unless otherwise specified, the meaning of "a plurality of" is two or more.

[0045] A communication machine room is an important infrastructure of an operator, and in the management of the machine room, rack arrangement is a key link to ensure efficient use and optimization of space resources. Multiple racks are usually placed in the machine room, each rack has a depth of several U (server thickness unit) for installing servers, storage devices and network devices. With the growth of business demand, the number of devices is increasing, and how to reasonably allocate and use the space of the machine room becomes particularly important.

[0046] In the context of minimalist machine room construction, integrating multiple racks of multiple machine rooms into a small number of machine rooms puts higher requirements on the use of space resources. By calculating the arrangement of racks in the idle area of the machine room, the potential of the machine room space can be expanded, so as to better control the cost, efficiently manage the devices, and provide resource planning and optimization basis for decision makers.

[0047] At present, designers usually determine the arrangement of idle racks based on the floor plan or three-dimensional model of the machine room, manually or according to a template. This method is low in efficiency and fault tolerance, and is difficult to meet the needs of efficient management.

[0048] Figure 1 、 Figure 2 A rack arrangement schematic diagram is given for the related art, which automatically arranges racks based on a computer algorithm template. It can be seen that this method is mainly aimed at regular-shaped machine room space, and has poor adaptability to irregular-shaped machine room space, which may miss some racks (such as Figure 1 arrangement) or the arranged racks exceed the machine room space (such as Figure 2 arrangement).

[0049] To solve the above problems, the rack arrangement method provided by the present application is as follows: determine the minimum bounding rectangle of the machine room, which can unify the machine rooms with different shapes for subsequent calculation. Then, determine the temporary rack arrangement position based on the obtained minimum bounding rectangle, and filter out the temporary rack arrangement positions that do not meet the conditions based on the actual boundary of the machine room. Thus, the machine room space can be fully utilized for rack arrangement even if the shape of the machine room is irregular.

[0050] The embodiments provided by the present application will be specifically introduced in combination with the accompanying drawings of the specification.

[0051] The rack arrangement method provided by the present application can be applied to electronic devices.

[0052] Exemplarily, the electronic device can be a server, for example, a server cluster composed of multiple servers, or a single server, or a computer, or a processor or processing chip in the server or computer, etc. Exemplarily, the electronic device can also be a terminal, for example, a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, an augmented reality (AR) / virtual reality (VR) device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc. It should be noted that the specific device form of the electronic device is not limited in the embodiments of the present application.

[0053] Figure 3 A flowchart of a rack arrangement method provided by the embodiments of the present application is shown in FIG. 1. As shown in FIG. 1, the rack arrangement method provided by the present application specifically includes S101-S103. Figure 1

[0054] S101, determining a target area of a machine room based on position information of the machine room. The target area is a minimum circumscribed rectangular area of the machine room.

[0055] The position information of the machine room includes at least one of the following: an area in the machine room where a rack can be placed, a boundary position of the machine room, a vertex coordinate of the machine room, and a placement position of an existing object in the machine room.

[0056] The minimum circumscribed rectangular area can be regarded as defining the machine room in a coordinate system, and then determining the maximum and minimum values of the point set in the horizontal and vertical directions to form a closed area.

[0057] In some embodiments, the target area can also be a regular graphic area formed by filling the machine room area. Specifically, the regular graphic defined in the embodiments of the present application can have at least one of the following geometric characteristics: equal side length or conforming to a fixed ratio, uniform angle or symmetry, and can be expressed by a mathematical equation. Typical regular graphics include regular polygons, circles, rectangles, etc.

[0058] It can be understood that the above method can temporarily replace the irregular machine room area with a regular graphic, simplify the rack arrangement problem, and facilitate subsequent space planning.

[0059] S102, determining a first rack arrangement scheme according to the position information of the target area, rack parameters, and a preset arrangement algorithm. The first rack arrangement scheme is used to indicate the maximum number of idle racks that can be placed in the target area, and the positions of the idle racks that can be placed. ​

[0060] The preset arrangement algorithm can include at least one of the following limiting conditions: minimum distance of the idle rack position from the target area boundary, minimum distance between idle racks in each row, minimum distance of the idle rack position from an object in the target area other than a rack, and minimum distance of the idle rack position from the boundary of the machine room.

[0061] The rack parameters can include at least one of the following: rack width (Width), rack depth (Depth), and rack direction (Direction). The position information of the target area includes at least boundary position information of the target area and vertex coordinates of the target area.

[0062] In some embodiments, the rack direction can be adjusted according to actual conditions. For example, the rack direction can be perpendicular to one side of the target area.

[0063] Specifically, taking a rectangular target area as an example, an initial position can be set in the target area based on a preset arrangement algorithm. Here, the rack width in the rack parameters can be set to 0.7 meters and the rack depth can be set to 0.4 meters. In the preset arrangement algorithm, the minimum distance of the rack from the target area boundary is 1 meter, and the minimum distance between racks in each row is 2 meters. For example, the initial position A1 can be located at one corner of the target area or one of the positions closest to the target area boundary, as shown in FIG. 1. Figure 4 Taking the initial position as a starting point, the idle rack positions A2-A8 in the same row can be obtained, and according to the minimum distance between each row, the idle rack positions B1-B8, C1-C8, D1-D8, and E1-E8 in FIG. 2 can be arranged in turn. This arrangement can be used as a first rack arrangement scheme. Figure 4

[0064] S103, based on the position information of the machine room and the first rack arrangement scheme, determining a second rack arrangement scheme. The second rack arrangement scheme is obtained by filtering out the first idle rack position and the second idle rack position in the first rack arrangement scheme. The first idle rack position is a position beyond the boundary of the machine room, and the second idle rack position is a position with a distance from the boundary of the machine room less than or equal to a preset distance.

[0065] In some embodiments, the preset arrangement algorithm can set the distance of the idle rack position from the machine room boundary to be less than or equal to 1 meter, so as to filter out the first idle rack position outside the machine room boundary and the position with a distance from the machine room boundary not greater than the preset distance.

[0066] For example, as shown in FIG. 3, the idle rack positions A2, A3, A4, A5, A6, A7, and A8 in the same row as the initial position A1 can be filtered out, and the idle rack positions B2, B3, B4, B5, B6, B7, and B8 in the same row as the initial position A2 can be filtered out. Figure 5 ​As shown, the first idle rack positions that do not conform to the preset arrangement algorithm are A1, A2, A3, and A4, the second idle rack positions are A5, A6, A7, A8, B1, B2, B3, B8, C1, D8, E7, and E8, and the idle rack positions that conform to the preset arrangement algorithm are B4-B7, C2-C8, D1-D7, and E1-E6.

[0067] The technical solutions provided by the above embodiments at least bring the following beneficial effects. The rack arrangement method provided by the embodiments can unify different-shaped machine rooms into rectangles for spatial planning by calculating the minimum bounding rectangle of the computer room, and can obtain more accurate and reasonable rack position arrangement by screening out positions that do not conform to the preset arrangement algorithm based on the actual boundary of the machine room after obtaining temporary rack positions.

[0068] In some embodiments, the first rack arrangement scheme includes at least one of the following: a maximum number of idle racks that can be placed in each row of racks in the target area and positions of the idle racks that can be placed, a maximum number of idle racks that can be placed between rows of racks in the target area and positions of the idle racks that can be placed, and a maximum number of idle racks that can be placed between the first row and the last row of racks in the target area and positions of the idle racks that can be placed.

[0069] The technical solutions provided by the above embodiments at least bring the following beneficial effects. The rack arrangement method provided by the embodiments can accurately calculate the number of racks that can be arranged in combination with the given preset arrangement algorithm.

[0070] In some embodiments, in the case that the first object is placed in the machine room, the rack arrangement method further includes S104.

[0071] S104, determining a third rack arrangement scheme based on the position information of the first object and the second rack arrangement scheme. The third rack arrangement scheme is obtained by filtering out third idle rack positions in the second rack arrangement scheme, the third idle rack positions intersect with the position of the first object, and the first object is a rack that already exists in the machine room.

[0072] The first object can be a rack that already exists in the machine room. For example, Figure 6 As shown, C3, C4, C6, C7, D3, D6, and D7 are racks that already exist in the machine room. Taking the row in which rack C3 is located as the first row and the row in which rack D3 is located as the last row as an example, it is shown that Figure 6The number of rack rows that can be placed between the row containing rack C3 and the row containing rack D3 is 0. The row containing rack C3 as the first row and the boundary of the target area can have a maximum of 2 rack rows (the row containing racks A1 and B2), and the row containing rack D3 as the last row and the boundary of the target area can have a maximum of 1 rack row (the row containing rack E1). That is, a maximum of 5 rows of racks can be arranged within the target area.

[0073] In some embodiments, such as Figure 6 As shown, positions C3, C4, C6, C7, D3, D6, and D7 ( Figure 6 The rack location (marked by the solid line) already has a rack, therefore... Figure 5 Based on this, these third vacant rack positions are eliminated.

[0074] In some embodiments, when racks already exist in the server room, the third available rack position can be filtered out as follows. Taking the row containing rack C3 as an example, C2 is defined to the left of C3, and C4 to the right of C3. Other diagrams can also define the direction in this way. Starting from C3, traverse to the left to obtain the positions of available racks C1 and C2. Starting from C3, traverse to the right. During the traversal, if the available rack position overlaps with an existing rack in the server room, that position is excluded, and the traversal continues with that rack as the initial position. For example, when traversing to the right with rack C3 as the initial position, if the available rack position overlaps with rack C4, then rack C4 is used as the new initial position to traverse to the right to obtain rack C5, and so on, until rack C8 is obtained.

[0075] By performing the same traversal method as described in the above embodiments on the row containing rack D3, racks D1, D2, D4, D5, and D8 can be obtained.

[0076] The technical solutions provided by the above embodiments bring at least the following beneficial effects: the rack layout method provided by the embodiments of this application, when racks have already been placed in the computer room, takes the position of the placed racks as the starting point and gradually determines the number of rack rows that can be arranged, and can determine the rack layout scheme when the computer room has an irregular shape and there are already racks inside.

[0077] In some embodiments, S104 can be specifically implemented through S1041-S1042.

[0078] S1041. Aggregate the first objects in the same row whose distance is less than a preset threshold to obtain the aggregated first object.

[0079] In some embodiments, in order to improve the efficiency of traversal, the existing racks in the machine room can be aggregated, and specifically, a plurality of adjacent racks (which can also be racks with a distance less than a threshold) can be regarded as a whole rack for traversal. Figure 7 As shown in Figure 6 , on the basis of , the rack C3 and the rack C4 can be aggregated to obtain the rack C34, and the rack C67 and the rack D67 can also be obtained. The aggregation manner can be that the minimum circumscribed rectangle of a plurality of racks to be aggregated is calculated, and the obtained minimum circumscribed rectangle region is taken as the aggregated rack.

[0080] S1042, determining the third rack arrangement scheme based on the position information of the aggregated first object and the second rack arrangement scheme.

[0081] After aggregation, the third rack arrangement scheme can be determined according to the embodiment method given in S104, which will not be described here.

[0082] The technical scheme provided in the above embodiments at least brings the following beneficial effects. The rack arrangement method provided in the embodiments can reduce the calculation amount when filtering out the idle rack positions overlapping with the existing racks, so as to obtain higher calculation efficiency.

[0083] In some embodiments, in the case that the second object is placed in the machine room, the rack arrangement method further includes S105.

[0084] S105, determining a fourth rack arrangement scheme based on the position information of the second object and the second rack arrangement scheme. The fourth rack arrangement scheme is a rack arrangement scheme obtained by filtering out the fourth idle rack position in the second rack arrangement scheme, and the fourth idle rack position is less than or equal to a preset distance from the position of the second object. The second object is an object existing in the machine room except the rack.

[0085] For example, the position information of the machine room can include the position information of the second object, and the second object can be an obstacle except the rack, such as an air conditioner, a column, a power supply, etc.

[0086] Figure 8 As shown in Figure 6 , compared with Figure 7 , and Figure 8 , the power supply and the air conditioner are added, and accordingly, E1, E2 and B7 do not meet the preset arrangement algorithm (here, the preset arrangement algorithm can provide that the distance between the idle rack position and the second object should be greater than a threshold) at this time, so they are filtered out. Finally, the rack arrangement diagram shown in Figure 9 is obtained.

[0087] It should be noted that S104 and S105 can be executed in any order after S103, or can be executed separately after S103.

[0088] The rack arrangement method provided in the embodiments has the advantages that the method can further filter the obtained idle rack positions in the case that there are existing racks and / or obstacles, and can be applied to various types of computer room environments and has high universality.

[0089] In some embodiments, S103 can be implemented as S1031.

[0090] S1031, traversing each idle rack position in the first rack arrangement scheme, determining the second rack arrangement scheme based on the each idle rack position and the position information of the computer room.

[0091] In the process of determining the second rack arrangement scheme, a preset arrangement algorithm can be referred to, that is, the preset arrangement algorithm can specify the minimum distance between the idle rack position and the boundary of the computer room. According to the preset arrangement algorithm and the position information of the computer room, the idle rack positions determined by the first rack arrangement scheme are traversed, and it is determined whether each idle rack position determined by the first rack arrangement scheme meets the requirements in the preset arrangement algorithm.

[0092] The technical solutions provided in the embodiments have at least the following advantages that the embodiments filter the idle rack positions that do not meet the requirements, and ensure the rationality of the idle rack positions in the obtained rack arrangement scheme.

[0093] In some embodiments, S101 can be implemented as S1011.

[0094] S1011, constructing a target region based on the maximum and minimum values of the vertex coordinates of the computer room.

[0095] For example, the vertex coordinates of the computer room can be obtained through a computer room drawing or a coordinate system, as shown in FIG. 1. Figure 10 As shown in FIG. 1, the vertexes of the computer room are A (X1, Y1), B (X2, Y2), C (X3, Y3), D (X4, Y4), and E (X5, Y5). The vertex coordinates of the target region can be determined by the coordinate extreme value method, F (Xmin, Ymin), G (Xmax, Ymin), E (Xmax, Ymax), and I (Xmin, Ymax). Xmin represents the minimum value of the X-axis coordinate, Xmax represents the maximum value of the X-axis coordinate, Ymin represents the minimum value of the Y-axis coordinate, Ymax represents the maximum value of the Y-axis coordinate, and A coincides with F. B coincides with G, and the closed graphic region formed by points F, G, E, and I is the target region.

[0096] It should be noted that the minimum bounding rectangle of the machine room can also be obtained in other ways in some embodiments, and reference can be made to the description in the related art, which will not be described here.

[0097] The rack arrangement method of the embodiments of the present application will be introduced below with reference to a specific embodiment, and the specific implementation process of the method is shown in Figure 11 .

[0098] The method includes S1101-S1102.

[0099] S1101, parameter configuration and data preprocessing.

[0100] (1) The parameters are initialized, and the parameters that need to be initialized include the width width and the depth depth of the standard rack, the spacing space of each row of racks, and the minimum distance distance of the rack from the boundary of the machine room. For example, the width and the depth are both configured as 0.6 meters, the space is configured as 1 meter, and the distance is configured as 1 meter.

[0101] (2) The data is preprocessed, and the preprocessing that needs to be performed includes calculating the minimum bounding rectangle Rec of the machine room boundary, generating the two-dimensional array cabinets of the existing racks in the machine room, obtaining the obstacle list OList in the machine room, and determining the placement direction direction of the racks: horizontal or vertical.

[0102] Rec can be generated using the front-end related tool class. Take Turf as an example to introduce the calculation process of Rec: first, obtain the boundary plane coordinate sequence of the machine room, generate five coordinate points from the boundary of the machine room, such as positions = [turfPoint1, turfPoint2, turfPoint3, turfPoint4, turfPoint5], which can be referred to Figure 9 , wherein Point1 can correspond to point A, Point2 corresponds to point B, Point3 corresponds to point C, Point4 corresponds to point D, and Point5 corresponds to point E. Obtain the graphic element feature = turfFeatureCollection(positions) from positions, and obtain the minimum bounding rectangle Rec = turfenvelope(feature) using the envelope method.

[0103] The cabinets need to be sorted and grouped according to the coordinates, such as Figure 9As shown, we can obtain cabinets = [[C3, C4, C6, C7], [D3, D6, D7]]. Based on the orientation of the racks in the cabinets, we can obtain the direction for arranging the racks.

[0104] Obstacles are identified at the edges of the computer room: if the distance between an object in the computer room and the boundary of the computer room is less than a threshold, it is identified as an obstacle. Alternatively, obstacles can be identified based on existing computer room drawings and added to the list OList. Figure 9 The OList shown includes air conditioning (O1) and power supply (O2), i.e., OList = [O1, O2].

[0105] S1102, Calculation of available rack positions.

[0106] (1) Wherein, the spatial rack position refers to the location in the computer room where racks can be placed, i.e., the second position in the above embodiment. To improve computing efficiency and accommodate racks of different sizes, existing racks in the computer room can be aggregated. Specifically, adjacent racks or racks with a distance less than a set value can be aggregated. The aggregation method can be to calculate their minimum bounding rectangle to aggregate them into a single logical rack. See reference... Figure 7 The racks in the series are C34, C67, and D67.

[0107] (2) Iterate through each row of racks sequentially, calculating the available empty rack positions for each row, so as to... Figure 7 The rack orientation shown is explained as follows: First, find the leftmost rack C34 in the current row, and calculate the position of the first adjacent free rack C2 to the left. Continue to calculate the position of the adjacent free rack C1 to the left. Stop searching to the left when the vertical distance between C1 and Rec is less than the threshold distance.

[0108] Reset the cursor to the initial rack C34 and calculate the available rack positions to the right. If the current available rack position overlaps with an existing rack in the server room, reset the cursor to the overlapping rack and continue searching to the right, obtaining C5 and C8 in sequence. Add C1, C2, C5, and C8 to the temporary result set, tmpResult = [C1, C2, C5, C8]. After calculating the current row, calculate the minimum vertical distance between the current row and the next row, and calculate the number of rack rows that distance can accommodate, distanceSpaceCount. If distanceSpaceCount is greater than 0, it means that an additional row of racks can be placed between this row and the next row. Calculate the available rack positions in the additional rows and add them to the temporary result set tmpResult. Figure 7 The distanceSpaceCount shown is 0.

[0109] Continue to calculate, obtain the second row of idle racks D1, D2, D4, D5, D8, add to tmpResult, and obtain tmpResult=[C1, C2, C5, C8, D1, D2, D4, D5, D8]. When the racks in the existing row of the computer room are calculated, it is still necessary to additionally calculate whether the first row and the last row of racks can accommodate the whole row of racks with the Rec. The calculation method is similar to the calculation of the racks between rows, A1-A8, B1-B8, E1-E8, and add to tmpResult.

[0110] (3) The racks in tmpResult may exceed the boundary of the computer room, or intersect with obstacles, or be too close, so it is necessary to filter tmpResult. The filtering method is as follows: iterate through the idle racks in tmpResult. Calculate the vertical distance between the idle rack and the boundary of the computer room and the obstacle. If the distance is less than the threshold distance, it means that the idle rack is too close to the computer room or the obstacle, and the idle rack is filtered out. Otherwise, the idle rack is put into the final result set Result, and the iteration continues. Figure 8 The filtered idle racks are marked in the figure. According to the method, the final result set Result=[C2, C5, C8, D1, D2, D4, D5, E3, E4, E5, E6,] is obtained.

[0111] It can be seen that the above mainly introduces the scheme provided by the embodiments of the present application from the perspective of method. In order to realize the above functions, the embodiments of the present application provide corresponding hardware structures and / or software modules for executing various functions. Those skilled in the art should easily realize that the modules and algorithm steps of the examples described in combination with the embodiments disclosed in the present text can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0112] The embodiments of the present application can divide the function modules of the rack arrangement device according to the above method examples. For example, each function module can be divided corresponding to each function, or two or more functions can be integrated in one processing module. The above integrated module can be realized in the form of hardware or in the form of software function module. Optionally, the division of modules in the embodiments of the present application is illustrative, and is only a logical function division. When actually implemented, there can be another division method.

[0113] In some embodiments, this application also provides a rack arrangement device. The rack arrangement device may include one or more functional modules for implementing the rack arrangement method of the above method embodiments.

[0114] For example, Figure 12 This is a schematic diagram illustrating the composition of a rack arrangement device provided in an embodiment of this application. Figure 12 As shown, the rack layout device 1200 includes: a determination module 1201.

[0115] Module 1201 is specifically used to determine the target area of ​​the data center based on its location information. The target area is the smallest bounding rectangle of the data center. Based on the location information of the target area, rack parameters, and a preset layout algorithm, a first rack layout scheme is determined. The first rack layout scheme indicates the maximum number of available racks within the target area and the locations of these available racks. Based on the data center location information and the first rack layout scheme, a second rack layout scheme is determined. The second rack layout scheme is obtained by filtering out the first and second available rack positions from the first rack layout scheme. The first available rack position is a location extending beyond the data center boundary, and the second available rack position is a location less than or equal to a preset distance from the data center boundary.

[0116] The first rack layout scheme includes at least one of the following: the maximum number of available racks that can be placed in each row of racks within the target area, and the location where these available racks can be placed; the maximum number of available racks that can be placed between rows within the target area, and the location where these available racks can be placed; and the maximum number of available racks that can be placed between the first and last rows and the boundary of the target area, and the location where these available racks can be placed.

[0117] In some embodiments, when a first object is placed in the computer room, the determining module 1201 is specifically used to determine a third rack layout scheme based on the location information of the first object and the second rack layout scheme. The third rack layout scheme is a rack layout scheme obtained by filtering out the third idle rack position in the second rack layout scheme. The third idle rack position intersects with the position of the first object. The first object is a rack that already exists in the computer room.

[0118] In other embodiments, the determining module 1201 is specifically used to aggregate first objects in the same row whose distance is less than a preset threshold to obtain aggregated first objects; and to determine a third rack layout scheme based on the position information of the aggregated first objects and the second rack layout scheme.

[0119] In some embodiments, the determining module 1201 is specifically configured to determine a fourth rack arrangement scheme based on the position information of the second object and the second rack arrangement scheme, the fourth rack arrangement scheme being a rack arrangement scheme obtained by filtering out fourth idle rack positions in the second rack arrangement scheme, the fourth idle rack position being less than or equal to a preset distance from the position of the second object; and the second object being an object other than a rack that already exists in the machine room.

[0120] In some embodiments, the determining module 1201 is specifically configured to traverse the position of each idle rack in the first rack arrangement scheme, and determine the second rack arrangement scheme based on the position of each idle rack and the position information of the machine room.

[0121] In some embodiments, the determining module 1201 is specifically configured to construct the target region based on the maximum and minimum values of the vertex coordinates of the machine room.

[0122] In the case of implementing the functions of the above-mentioned integrated modules in the form of hardware, the embodiments of the present application provide a possible structural diagram of the electronic device involved in the above-mentioned embodiments. As shown in the figure, the electronic device 1300 includes a processor 1302, a communication interface 1303, and a bus 1304. Optionally, the electronic device 1300 can further include a memory 1301. Figure 13

[0123] The processor 1302 can be various exemplary logical blocks, modules and circuits described in combination with the disclosure of the present application. The processor 1302 can be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, transistor logic device, hardware component or any combination thereof. It can implement or execute various exemplary logical blocks, modules and circuits described in combination with the disclosure of the present application. The processor 1302 can also be a combination of computing functions, such as one or more microprocessor combinations, combinations of DSP and microprocessor, etc.

[0124] The communication interface 1303 is used to connect with other devices through a communication network. The communication network can be Ethernet, wireless access network, wireless local area network (WLAN) and the like.

[0125] ​The memory 1301 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a magnetic disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.

[0126] As a possible implementation, the memory 1301 can exist independently of the processor 1302, and the memory 1301 can be connected to the processor 1302 through the bus 1304 for storing instructions or program code. When the processor 1302 invokes and executes the instructions or program code stored in the memory 1301, the rack arrangement method provided by the embodiments of the present application can be implemented.

[0127] In another possible implementation, the memory 1301 can also be integrated with the processor 1302.

[0128] The bus 1304 can be an extended industry standard architecture (EISA) bus or the like. The bus 1304 can be divided into an address bus, a data bus, a control bus, and the like. For the sake of brevity and conciseness, Figure 13 In the figure, only one thick line is used to represent the bus, but it does not mean that there is only one bus or only one type of bus.

[0129] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of brevity and conciseness, only the above division of functional modules is taken as an example for illustration, and in actual application, the above functions can be completed by different functional modules according to needs, that is, the internal structure of the service calling device is divided into different functional modules to complete all or part of the functions described above.

[0130] The embodiments of the present application further provide a computer readable storage medium. All or part of the processes in the method embodiments above can be instructed by computer instructions to complete relevant hardware, and the program can be stored in the computer readable storage medium. When the program is executed, the program can include the processes of the method embodiments above. The computer readable storage medium can be the memory of any of the foregoing embodiments. The computer readable storage medium can also be an external storage device of the service calling device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. Further, the computer readable storage medium can include both the internal storage unit of the service calling device and the external storage device. The computer readable storage medium is used to store the computer program and other programs and data required by the service calling device. The computer readable storage medium can also be used to temporarily store data that has been output or will be output.

[0131] The embodiments of the present application further provide a computer program product, which contains a computer program, and when the computer program product runs on a computer, the computer executes any one of the rack arrangement methods provided in the embodiments above.

[0132] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited to this. Any change or replacement within the technical scope disclosed in the present application should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A rack arrangement method, characterized in that, include: Based on the location information of the computer room, the target area of ​​the computer room is determined; The target area is the smallest bounding rectangle of the computer room; Based on the location information of the target area, rack parameters, and preset layout algorithm, a first rack layout scheme is determined; The first rack layout scheme is used to indicate the maximum number of available racks that can be placed in the target area, as well as the location of the available racks; Based on the location information of the data center and the first rack layout scheme, a second rack layout scheme is determined. The second rack layout scheme is the rack layout scheme obtained by filtering out the first and second vacant rack positions in the first rack layout scheme. The first vacant rack position is the position that exceeds the boundary of the data center, and the second vacant rack position is the position that is less than or equal to the distance from the boundary of the data center.

2. The method according to claim 1, characterized in that, The first rack layout scheme includes at least one of the following: The maximum number of available racks that can be placed in each row of racks within the target area, and the locations where available racks can be placed; The maximum number of empty racks that can be placed between rows within the target area, and the locations where empty racks can be placed; The maximum number of free racks that can be placed between the first and last rows of the target area and the boundary of the target area, and the location where free racks can be placed.

3. The method according to claim 1, characterized in that, If a first object is placed inside the computer room, the method further includes: Based on the location information of the first object and the second rack layout scheme, a third rack layout scheme is determined. The third rack layout scheme is the rack layout scheme obtained by filtering out the third vacant rack position in the second rack layout scheme. The third vacant rack position intersects with the position of the first object. The first object is a rack that already exists in the computer room.

4. The method according to claim 3, characterized in that, The step of determining the third rack layout scheme based on the position information of the first object and the second rack layout scheme includes: Aggregate the first objects in the same row whose distance is less than a preset threshold to obtain the aggregated first object; Based on the location information of the aggregated first object and the second rack layout scheme, the third rack layout scheme is determined.

5. The method according to claim 1, characterized in that, If a second object is placed in the computer room, the method further includes: Based on the location information of the second object and the second rack layout scheme, a fourth rack layout scheme is determined. The fourth rack layout scheme is the rack layout scheme obtained by filtering out the fourth vacant rack position in the second rack layout scheme. The distance between the fourth vacant rack position and the position of the second object is less than or equal to a preset distance. The second object is an object other than racks that already exists in the computer room.

6. The method according to claim 1, characterized in that, The step of determining the second rack layout scheme based on the location information of the data center and the first rack layout scheme includes: The location of each available rack in the first rack layout scheme is traversed, and the second rack layout scheme is determined based on the location of each available rack and the location information of the data center.

7. The method according to claim 1, characterized in that, The determination of the target area of ​​the data center based on its location information includes: The target area is constructed based on the maximum and minimum values ​​of the vertex coordinates of the computer room.

8. An electronic device, characterized in that, It includes a processor and a memory, the processor being coupled to the memory; the memory is used to store computer instructions, which are loaded and executed by the processor to enable the computer device to implement the rack layout method as described in any one of claims 1 to 7.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes computer-executable instructions that, when executed on a computer, cause the computer to perform the rack layout method according to any one of claims 1 to 7.

10. A computer program product, characterized in that, The computer program product includes a computer program that, when run on an electronic device, causes the electronic device to perform the rack layout method as described in any one of claims 1 to 7.