Data synchronization method and device of server

By using the same model of intelligent network card equipment in the server cluster for data synchronization, the problem of low data synchronization efficiency between servers with different central processing units is solved, and the effect of improving data synchronization efficiency is achieved.

CN120091024AInactive Publication Date: 2025-06-03JINAN INSPUR DATA TECH CO LTD
View PDF 13 Cites 0 Cited by

Patent Information

Application Number
CN202510537509.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-27
Publication Date
2025-06-03
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In server clusters, data synchronization between servers with different central processing units is inefficient, and the prior art has failed to effectively solve this problem.

Method used

By obtaining new data on the first server in the server cluster and writing it into the first intelligent network card device, data synchronization is performed using the same model of intelligent network card device, independent of the server's central processor architecture.

Benefits of technology

Because the data synchronization is used for the same model of smart network card equipment, the impact of servers with different central processor architectures on data synchronization is reduced, and the efficiency of data synchronization is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120091024A_ABST
    Figure CN120091024A_ABST
Patent Text Reader

Abstract

The invention discloses a server data synchronization method and device, and relates to the technical field of computers, and the method comprises the steps: obtaining new data on a first server in a server cluster, and writing the new data into first intelligent network card equipment configured by the first server, the first intelligent network card device is utilized to synchronize the data to the second intelligent network card device configured by the second server of the server cluster, and the first intelligent network card device and the second intelligent network card device belong to the same model, so that the intelligent network card devices of the same model are utilized to synchronize the data without depending on a central processing unit architecture of the server; and the influence of servers with different central processing unit architectures on data synchronization is reduced. Therefore, the technical problem of low data synchronization efficiency can be solved, and the technical effect of improving the data synchronization efficiency is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and particularly to data transmission technology. Background Art

[0002] In the related art, for different servers in the same server cluster, when data synchronization between servers is performed, it is usually carried out through a data synchronization module. However, the execution efficiency of the data synchronization module highly depends on the architecture of the central processing unit, resulting in poor coordination of the sending and receiving efficiency of the data synchronization module between servers with different central processing unit architectures. Furthermore, when performing data synchronization of servers with different central processing unit architectures, there is a problem of low efficiency in data synchronization of the servers.

[0003] In response to the above problems, no effective solution has been proposed yet. Summary of the Invention

[0004] This application provides a method and device for data synchronization of a server to at least solve the problem of low efficiency in data synchronization of the server in the related art.

[0005] This application provides a method for data synchronization of a server, including: obtaining new data on a first server in a server cluster; writing the new data into a first intelligent network card device configured for the first server; when the new data meets the condition of hot data, using the first intelligent network card device, according to a first priority, synchronizing the new data to a second intelligent network card device configured for a second server in the server cluster, where the first intelligent network card device and the second intelligent network card device are of the same model; when the new data meets the condition of cold data, using the first intelligent network card device, according to a second priority, synchronizing the new data to the second intelligent network card device, where the first priority is greater than the second priority.

[0006] The present application also provides a data synchronization device for a server, including: an acquisition unit, configured to acquire new data on a first server in a server cluster; a writing unit, configured to write the new data into a first intelligent network card device configured for the first server; a first synchronization unit, configured to, when the new data meets the condition of hot data, use the first intelligent network card device to synchronize the new data to a second intelligent network card device configured for a second server in the server cluster according to a first priority, where the first intelligent network card device and the second intelligent network card device are of the same model; a second synchronization unit, configured to, when the new data meets the condition of cold data, use the first intelligent network card device to synchronize the new data to the second intelligent network card device according to a second priority, where the first priority is greater than the second priority.

[0007] The present application also provides an electronic device, including: a memory, configured to store a computer program; a processor, configured to implement the steps of any one of the above-mentioned server data synchronization methods when executing the computer program.

[0008] The present application also provides a computer-readable storage medium, in which a computer program is stored, where the computer program implements the steps of any one of the above-mentioned server data synchronization methods when executed by a processor.

[0009] The present application also provides a computer program product, including a computer program, where the computer program implements the steps of any one of the above-mentioned server data synchronization methods when executed by a processor.

[0010] Through the present application, by acquiring new data on a first server in a server cluster, writing the new data into a first intelligent network card device configured for the first server, and using the first intelligent network card device to synchronize the data to a second intelligent network card device configured for a second server in the server cluster, and the first intelligent network card device and the second intelligent network card are of the same model. Since the same model of intelligent network card device is used for data synchronization, it does not depend on the central processor architecture of the server, reducing the impact of servers with different central processor architectures on data synchronization. Therefore, the technical problem of low data synchronization efficiency can be solved, and the technical effect of improving data synchronization efficiency can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] In order to more clearly illustrate the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0012] Figure 1 It is a schematic diagram of an application environment of a data synchronization method for a server according to an embodiment of the present application;

[0013] Figure 2 It is a schematic diagram of a data synchronization method for a server according to an embodiment of the present application;

[0014] Figure 3 It is a schematic diagram of a data synchronization method for a server according to an embodiment of the present application;

[0015] Figure 4 It is a schematic diagram of a data synchronization method for a server according to an embodiment of the present application;

[0016] Figure 5 It is a schematic diagram of a data synchronization method for a server according to an embodiment of the present application;

[0017] Figure 6 It is a schematic diagram of a data synchronization method for a server according to an embodiment of the present application;

[0018] Figure 7 It is a structural block diagram of a data synchronization device for a server according to an embodiment of the present application. Detailed implementation manners

[0019] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the protection scope of the present application.

[0020] It should be noted that in the description of the present application, the terms "include", "comprise" or any other variant thereof are intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in the present application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0021] To enable those skilled in the art of the present technology to better understand the solution of the present application, the present application will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners.

[0022] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1It is a hardware block diagram of a server device for a scheduling method of a cloud host in a cloud platform according to an embodiment of the present application. As Figure 1 shown, the server device may include one or more ( Figure 1 only one is shown in the figure) processors 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data. Among them, the above server device may further include a transmission device 106 for communication functions and an input / output device 108. Those of ordinary skill in the art can understand that Figure 1 the structure shown in the figure is only schematic and does not limit the structure of the above server device. For example, the server device may further include more or fewer components than Figure 1 shown in the figure, or have a different configuration from Figure 1 shown in the figure.

[0023] The memory 104 can be used to store computer programs. For example, software programs and modules of application software, such as the computer program corresponding to the scheduling method of the cloud host in the cloud platform according to the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 104 may further include a memory remotely disposed relative to the processor 102, and these remote memories may be connected to the server device through a network. Examples of the above network include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and their combinations.

[0024] The transmission device 106 is used to receive or send data via a network. Specific examples of the above network may include a wireless network provided by a communication provider of the server device. In one instance, the transmission device 106 includes a network adapter (abbreviated as NIC), which can be connected to other network devices through a base station and thus can communicate with the Internet. In one instance, the transmission device 106 may be a radio frequency (abbreviated as RF) module, which is used to communicate with the Internet wirelessly.

[0025] Combined with the specific application environment architecture or specific hardware architecture on which the execution of the data synchronization method of the server depends, the specific application environment architecture or specific hardware architecture is described herein.

[0026] Embodiments of the present application provide a data synchronization method for a server. The method is described in detail in combination with the execution process of the data synchronization method for the server. Figure 2 It is a flowchart of the data synchronization method for the server implemented according to the present application, as Figure 2 shown. The process includes the following steps:

[0027] S202, Obtain new data on the first server in the server cluster;

[0028] S204, Write the new data into the first intelligent network card device configured by the first server;

[0029] S206, When the new data meets the hot data condition, use the first intelligent network card device to synchronize the new data to the second intelligent network card device configured by the second server in the server cluster according to the first priority, where the first intelligent network card device and the second intelligent network card device are of the same model;

[0030] S208, When the new data meets the cold data condition, use the first intelligent network card device to synchronize the new data to the second intelligent network card device according to the second priority, where the first priority is greater than the second priority.

[0031] In an alternative embodiment, the server cluster can be, but is not limited to, a system composed of multiple servers connected through a network, and can be, but is not limited to, used to provide cloud computing services with high availability, high performance, and scalability.

[0032] In an alternative embodiment, the first server and the second server can be, but are not limited to, any two servers in the server cluster. The central processing unit architectures of the first server and the second server can be the same or different.

[0033] In an alternative embodiment, the intelligent network card device can be, but is not limited to, understood as a device with an intelligent network card, and can be, but is not limited to, understood as a network interface card that can independently complete data processing, storage, and network communication, and has the capabilities of high bandwidth, low latency, and hardware offloading.

[0034] In an alternative embodiment, the first intelligent network card device and the second intelligent network card device are intelligent network card devices of the same model.

[0035] In an alternative embodiment, the intelligent network card can be, but is not limited to, a high-performance network interface card integrated with a processor, memory, and a dedicated hardware accelerator, capable of independently processing network data packets, encryption and decryption, storage acceleration, virtualization offloading, etc., thereby significantly reducing the burden on the server's Central Processing Unit (CPU). The intelligent network card can include, but is not limited to, a multi-core processor, an FPGA (Field Programmable Gate Array), or an ASIC (Application Specific Integrated Circuit), a high-speed network interface (such as 25GbE, 100GbE), and a hardware acceleration engine for offloading specific tasks. The main purpose of the intelligent network card is to improve network performance, reduce latency, and optimize resource utilization, and it is widely used in fields such as cloud computing, data centers, high-performance computing (HPC), and network function virtualization (NFV) to help achieve efficient network traffic management, security policy enforcement, and storage acceleration, etc.

[0036] In an alternative embodiment, hot data can be understood as, but is not limited to, data whose number of accesses or processing times is greater than or equal to a specific threshold within a certain period of time.

[0037] In an alternative embodiment, cold data can be understood as, but is not limited to, data whose number of accesses or processing times is less than a specific threshold within a certain period of time.

[0038] In an alternative embodiment, the first priority and the second priority can refer to, but are not limited to, the priority levels of data transmission, and the first priority is greater than the second priority. When performing data transmission or data processing, the data with the first priority is processed first.

[0039] In an alternative embodiment, when new data is generated on the first server in the server cluster, the new data generated on the first server in the server cluster is obtained.

[0040] Then, the obtained new data is written into the first intelligent network card device configured on the first server.

[0041] Finally, if the number of accesses or processing times of the obtained new data within a certain period of time is greater than or equal to a specific threshold, the obtained new data is determined as hot data, and the data synchronization priority of the obtained new data is set to the first priority, and using the first intelligent network card device, according to the first priority, the obtained new data is synchronized to the second intelligent network card device configured on the second server in the same server cluster as the first server;

[0042] If the number of data accesses or processing times of the acquired new data within a certain period of time is less than a specific threshold, the acquired new data is determined as cold data, and the data synchronization priority of the acquired new data is set to the second priority. The first smart network card device is used to synchronize the acquired new data to the second smart network card device configured on the second server in the same server cluster as the first server according to the second priority.

[0043] It should be noted that by deploying the same model of smart network card devices on different servers, a unified interconnection platform is formed, and the smart network card devices can not only provide high-speed data transmission capabilities, but also independently handle data synchronization tasks, and are not affected by the performance differences of the server's central processor, thereby greatly reducing the negative impact of the data synchronization process caused by the differences in the central processor architecture between servers, thereby improving the efficiency of data synchronization. And by introducing a priority-based distributed data transmission mechanism, the system can automatically adjust the transmission strategy according to the priority of the data to ensure the rapid synchronization of hot data. At the same time, when data transmission is congested, it reduces cold data transmission and ensures that hot data is transmitted first, so as to avoid network congestion and improve the overall performance and stability of the server cluster.

[0044] In addition, in this embodiment, during the process of server data synchronization, it may actually be performed in multiple servers and multiple smart network card devices, so the first and second mentioned above are only examples and should not limit the scope of protection.

[0045] Through the embodiments of the present application, by obtaining new data on the first server in the server cluster, and writing the new data to the first smart network card device configured in the first server, and using the first smart network card device to synchronize the data to the second smart network card device configured in the second server of the server cluster, and the first smart network card device and the second smart network card are of the same model, since the same model of smart network card devices are used for data synchronization, it does not depend on the central processing unit architecture of the server, thereby achieving the technical purpose of reducing the impact of servers with different central processing unit architectures on data synchronization, and then achieving the technical effect of improving the efficiency of data synchronization.

[0046] As an optional solution, using the first smart network card device, according to the first priority, synchronizing the new data to the second smart network card device configured in the second server in the server cluster includes:

[0047] S1-1, putting new data into the first queue, wherein the data in the first queue is data that meets the hot data condition, and the data that meets the hot data condition is sorted in the first queue in the order in which it is put in, and the synchronization priority of the data in the first queue is the first priority;

[0048] S1-2. When the new data is at the foremost position in the first queue, synchronize the new data to the second intelligent network card device;

[0049] As an alternative solution, use the first intelligent network card device to synchronize the new data to the second intelligent network card device according to the second priority, including:

[0050] S2-1. Put the new data into the second queue, where the data in the second queue are data that meet the cold data conditions. The data that meet the cold data conditions are sorted in the second queue in the order of entry, and the synchronization priority of the data in the second queue is the second priority;

[0051] S2-2. When the new data is at the foremost position in the second queue and there is no data to be synchronized in the first queue, synchronize the new data to the second intelligent network card device, where the synchronization priority of the data in the second queue is the second priority.

[0052] In an alternative embodiment, the first queue can be but is not limited to a queue for storing hot data.

[0053] In an alternative embodiment, the second queue can be but is not limited to a queue for storing cold data.

[0054] In an alternative embodiment, the foremost position can be but is not limited to the position of the data at the head of the queue when the data waiting to be processed in the queue are arranged according to their priorities and processing orders, and it is also the position of the data to be processed in the next synchronization operation.

[0055] In an alternative embodiment, when the new data is determined to be hot data, put the data into the first queue and wait for data synchronization according to the first-in, first-out principle.

[0056] Furthermore, when the new data reaches the foremost position in the first queue, the data will become the target of the next data synchronization operation, and then the first intelligent network card device will synchronize the new data to the second intelligent network card device.

[0057] In an alternative embodiment, when the new data is determined to be cold data, put the data into the second queue and wait for data synchronization according to the first-in, first-out principle.

[0058] Furthermore, when the new data reaches the foremost position in the second queue and there is no data to be synchronized in the first queue at this time, the data will become the target of the next data synchronization operation, and then the first intelligent network card device will synchronize the new data to the second intelligent network card device.

[0059] It should be noted that by introducing a priority-based queue management mechanism, the data transmission process in the server cluster is effectively optimized. Due to its high-frequency access characteristics, hot data is preferentially placed in the first queue and synchronized with the first priority, ensuring real-time updates of the cluster status and business continuity. For cold data, although the access frequency is low, through the management of the second queue, it can still be synchronized in sequence without affecting the synchronization of hot data, avoiding long-term data retention and consistency problems, and improving the overall efficiency and stability of data synchronization.

[0060] In the embodiment of the present application, new data is placed in the first queue. Among them, the data in the first queue is data that meets the conditions of hot data. The data that meets the conditions of hot data is sorted in sequence in the first queue according to the order of entry. The synchronization priority of the data in the first queue is the first priority; when the new data is in the frontmost position of the first queue, the new data is synchronized to the second intelligent network card device; the new data is placed in the second queue. Among them, the data in the second queue is data that meets the conditions of cold data. The data that meets the conditions of cold data is sorted in sequence in the second queue according to the order of entry. The synchronization priority of the data in the second queue is the second priority; when the new data is in the frontmost position of the second queue and there is no data to be synchronized in the first queue, the new data is synchronized to the second intelligent network card device, where the synchronization priority of the data in the second queue is the second priority. By introducing a priority-based queue management mechanism, the data transmission process in the server cluster is effectively optimized. When network resources are tense, the system will automatically stop the synchronization of cold data and give priority to ensuring the transmission of hot data, thus achieving the technical purpose of avoiding long-term data retention and consistency problems, and further realizing the technical effect of improving the overall efficiency and stability of data synchronization.

[0061] As an optional solution, when the new data is in the frontmost position of the first queue, synchronizing the new data to the second intelligent network card device includes:

[0062] When the new data is in the frontmost position of the first queue, synchronize the new data to the second intelligent network card device according to the normal mode matched by the first queue;

[0063] As an optional solution, when the new data is in the frontmost position of the second queue and there is no data to be synchronized in the first queue, synchronizing the new data to the second intelligent network card device includes:

[0064] When the new data is in the frontmost position of the second queue and there is no data to be synchronized in the first queue, synchronize the new data to the second intelligent network card device according to the energy-saving mode matched by the second queue, where the power consumption corresponding to the energy-saving mode is less than the power consumption corresponding to the normal mode.

[0065] In an alternative embodiment, the energy-saving mode can be, but is not limited to, a low-power operation mode adopted by the intelligent network card device during the data synchronization process when network resources are sufficient and there is no high-priority hot data to be synchronized, thereby reducing the power consumption and heat generation of the device during the data synchronization process.

[0066] In an alternative embodiment, the normal mode can be, but is not limited to, a conventional operation mode adopted by the intelligent network card device during data synchronization. In this mode, the intelligent network card device operates at full speed to ensure fast data transmission.

[0067] In an alternative embodiment, when the hot data is at the frontmost position in the first queue, the intelligent network card device will perform data synchronization according to the normal mode. This means that when there is hot data with high-frequency access that needs to be transmitted, the system will give priority to ensuring its transmission efficiency and real-time performance to meet business requirements and user experience.

[0068] Then, when the cold data is at the frontmost position in the second queue and there is no hot data to be synchronized in the first queue, the intelligent network card device will synchronize the cold data according to the energy-saving mode, reducing the speed and efficiency of data synchronization to reduce the power consumption and heat generation of the intelligent network card device.

[0069] It should be noted that by managing the synchronization process of hot data and cold data, a balance between data synchronization efficiency and power consumption management of the intelligent network card device is achieved. In the normal mode, the intelligent network card device can make full use of its high-speed transmission ability to ensure the real-time synchronization of hot data, guaranteeing data synchronization efficiency and response speed; while in the energy-saving mode, when network resources are sufficient and there is no hot data to be processed in the first queue, the system will automatically adjust the working state of the intelligent network card device to reduce energy consumption, but still be able to maintain the sequential synchronization of cold data to ensure data integrity and consistency.

[0070] Through the embodiments of the present application, in the case where the new data is at the frontmost position in the first queue, the new data is synchronized to the second intelligent network card device according to the normal mode matched with the first queue; in the case where the new data is at the frontmost position in the second queue and there is no data to be synchronized in the first queue, the new data is synchronized to the second intelligent network card device according to the energy-saving mode matched with the second queue, wherein the power consumption corresponding to the energy-saving mode is less than the power consumption corresponding to the normal mode. By managing the synchronization process of hot data and cold data, the technical purpose of ensuring data synchronization efficiency and response speed in the normal mode and automatically adjusting the working state of the intelligent network card device to reduce energy consumption in the energy-saving mode, but still being able to maintain the sequential synchronization of cold data is achieved, and thus the technical effect of balancing data synchronization efficiency and power consumption management of the intelligent network card device is realized.

[0071] As an alternative solution, when the new data is at the frontmost position of the second queue and there is no data to be synchronized in the first queue, synchronize the new data to the second intelligent network card device, including:

[0072] When the new data is at the frontmost position of the second queue, there is no data to be synchronized in the first queue, and the amount of data to be synchronized in the second queue is greater than or equal to a preset threshold, pack and synchronize the data to be synchronized in the second queue to the second intelligent network card device, where the data to be synchronized in the second queue includes the new data.

[0073] In an alternative embodiment, the process of packing and synchronizing the data to be synchronized in the second queue to the second intelligent network card device can be, but is not limited to, understood as the process of combining multiple data in the second queue into a large data packet for synchronization and transmission to the second intelligent network card device.

[0074] In an alternative embodiment, when there is no data to be synchronized in the first queue, the new data is at the frontmost position in the second queue, and the amount of data to be synchronized in the second queue is greater than or equal to a preset threshold, all the cold data that needs to be synchronized and meets specific conditions in the second queue is packed and synchronized to the second intelligent network card device.

[0075] In an alternative embodiment, the specific conditions can be, but are not limited to, that the file volume meets a specific threshold, the file type meets a specific type, the enqueue time meets specific requirements, etc.

[0076] It should be noted that the packing and synchronization strategy of this embodiment finds a balance between network resource management and data transmission efficiency. When the system detects that the amount of cold data in the second queue reaches or exceeds the preset threshold and there is no hot data to be synchronized in the first queue, the intelligent network card device will pack the eligible cold data to form a large data packet, and then synchronize and transmit it with the second priority. This can not only reduce the number of data transmissions, reduce network overhead, but also improve the data synchronization efficiency by batch processing cold data, reduce the occupation of network resources, and thus improve the response speed and stability of the server cluster as a whole.

[0077] Through the embodiments of the present application, when new data is located at the forefront position of the second queue, there is no data to be synchronized in the first queue, and the amount of data to be synchronized in the second queue is greater than or equal to a preset threshold, the data to be synchronized in the second queue is packaged and synchronized to the second intelligent network card device, where the data to be synchronized in the second queue includes the new data. By packing eligible cold data to form a large data packet and then synchronously transmitting it with the second priority, the number of data transmissions is reduced, the network overhead is reduced, and the occupation of network resources is reduced, thereby achieving the technical effect of improving the response speed and stability of the server cluster as a whole.

[0078] As an alternative solution, before obtaining new data on the first server in the server cluster, the method further includes:

[0079] S3-1, obtaining multi-dimensional performance data of each central processing unit of different architecture types under the same configuration;

[0080] S3-2, using the multi-dimensional performance data to obtain the processor performance vectors of each central processing unit, where each element in the processor performance vector represents the performance score of the central processing unit under different evaluation dimensions;

[0081] S3-3, constructing a resource pool for the server cluster according to the processor performance vectors, where the resource pool is a virtual resource set that uniformly manages and schedules the central processing unit resources of all servers in the server cluster.

[0082] In an alternative embodiment, each central processing unit of different architecture types can be understood, but not limited to, as including multiple central processing units based on different instruction sets and design principles in the server cluster.

[0083] In an alternative embodiment, the multi-dimensional performance data can be, but not limited to, including the performance test scores of the central processing unit under different evaluation dimensions such as computing, memory access, hard disk reading and writing, and network transmission, and these data can comprehensively reflect the comprehensive performance of the central processing unit.

[0084] In an alternative embodiment, the processor performance vector can be, but not limited to, a vector containing performance scores of different evaluation dimensions, used to quantify the comprehensive performance of central processing units of different architectures, facilitating comparison and analysis.

[0085] In an alternative embodiment, the resource pool can be, but not limited to, referring to abstracting all central processing unit resources in the server cluster to form a unified virtual resource set.

[0086] In an alternative embodiment, first, all central processing units in the server cluster are comprehensively tested under the same hardware configuration to obtain multi-dimensional performance data of central processing units of different architecture types.

[0087] Furthermore, using these multi-dimensional performance data, a processor performance vector for each central processing unit is calculated, where each element of the vector represents the performance score of the central processing unit under a specific evaluation dimension.

[0088] Finally, based on the constructed processor performance vectors, the system can comprehensively evaluate different models of central processing units in terms of computing power, memory bandwidth, read / write speed, etc. through vector analysis, thereby realizing the construction of a resource pool, uniformly managing and scheduling all central processing unit resources in the cluster, and then achieving balanced allocation and efficient utilization of resources.

[0089] It should be noted that through the comprehensive evaluation of the performance of central processing units with different architectures, the processor performance vectors are obtained, and then a processor performance vector database can be established. Based on the processor performance vectors, a resource pool is constructed, enabling the resource pool to uniformly manage and schedule resources based on accurate performance data, avoiding resource waste and performance bottlenecks, and improving the performance of the server cluster.

[0090] Through the embodiments of the present application, multi-dimensional performance data of each central processing unit of different architecture types are obtained under the same configuration; using the multi-dimensional performance data, the processor performance vectors of each central processing unit are obtained, where each element in the processor performance vector represents the performance score of the central processing unit under different evaluation dimensions; according to the processor performance vectors, a resource pool of the server cluster is constructed, where the resource pool is a virtual resource set that uniformly manages and schedules the central processing unit resources of all servers in the server cluster. Through the comprehensive evaluation of the performance of central processing units with different architectures, the processor performance vectors are obtained, and based on the processor performance vectors, a resource pool is constructed, enabling the resource pool to uniformly manage and schedule resources based on accurate performance data, and then achieving the technical effect of improving the performance of the server cluster.

[0091] In an alternative embodiment, according to the processor performance vectors, constructing a resource pool of the server cluster includes at least one of the following:

[0092] S4-1, calculating the first norm and the second norm of the processor performance vector to quantify the overall computing power of the central processing unit, where the first norm is the sum of the absolute values of all elements in the processor performance vector, and the second norm is the square root of the sum of the squares of all elements in the processor performance vector;

[0093] S4-2, calculating the distance between at least two processor performance vectors to obtain at least two central processing units that meet the condition of similar computing power;

[0094] S4-3. Classify each central processing unit according to the computing power characteristics corresponding to the processor performance vector.

[0095] In an alternative embodiment, the first norm can be, but is not limited to, one of the common methods for measuring the vector magnitude, can be, but is not limited to, the sum of the absolute values of all elements in the vector, and can be, but is not limited to, used to quantify the weighted computing power sum of the central processing unit.

[0096] In an alternative embodiment, the second norm can be, but is not limited to, the square root of the sum of the squares of all elements in the vector.

[0097] In an alternative embodiment, the computing power similarity condition can be, but is not limited to, that when the computing power difference between central processing units of different architectures is within a certain threshold, it can be considered that these central processing units of different architectures have similar computing capabilities.

[0098] In an alternative embodiment, the computing power characteristics can be, but is not limited to, the performance of the central processing unit in different performance dimensions such as computing speed, memory bandwidth, read / write rate, etc., and can be, but is not limited to, used to describe the comprehensive performance of the central processing unit.

[0099] In an alternative embodiment, first, by calculating the first norm and the second norm of the processor performance vector, the overall computing power of each central processing unit can be quantified.

[0100] Furthermore, by calculating the distance between at least two processor performance vectors, when calculating the distance, it can be, but is not limited to, by methods such as Euclidean distance, Manhattan distance, etc., to obtain central processing units with similar computing power.

[0101] Finally, classify the central processing units according to the computing power characteristics corresponding to the processor performance vector, so as to facilitate the management and scheduling of the same type of central processing units in the resource pool.

[0102] It should be noted that by calculating the first norm and the second norm, not only can the overall computing power of each central processing unit be quantified, but also its comprehensive performance in multi-dimensional performance can be evaluated. Based on the calculation of computing power similarity, the system can identify central processing units with similar performance, and since central processing units with similar computing power can be regarded as a resource group and managed and scheduled uniformly, the resource utilization rate can be improved. And the classification based on computing power characteristics further refines the management of central processing units in the resource pool, enabling the system to select the most suitable central processing unit resources according to specific task requirements and achieve efficient utilization of resources.

[0103] Through the embodiments of the present application, the first norm and the second norm of the processor performance vector are calculated to quantify the overall computing power of the central processing unit. Among them, the first norm is the sum of the absolute values of all elements in the processor performance vector, and the second norm is the square root of the sum of the squares of all elements in the processor performance vector; the distances between at least two processor performance vectors are calculated to obtain at least two central processing units that meet the condition of similar computing power; according to the computing power characteristics corresponding to the processor performance vector, each central processing unit is classified. By calculating the first norm and the second norm, the technical purpose of being able to quantify the overall computing power of each central processing unit is achieved, and further the technical effect of efficient utilization of resources is realized.

[0104] In an alternative embodiment, after constructing a resource pool of a server cluster according to the processor performance vector, the method further includes:

[0105] S5-1, configuring a first number of central processing unit cores for a system process running on a first server;

[0106] S5-2, calculating the central processing unit computing power value of the first server under the configuration of the first number of central processing unit cores through the resource pool;

[0107] S5-3, obtaining a second number of central processing unit cores that need to be configured for the system process on a second server according to the central processing unit computing power value;

[0108] S5-4, on the second server, configuring a second number of central processing unit cores for the system process.

[0109] In an alternative embodiment, the central processing unit core can be but is not limited to an independent processing unit in the central processing unit (CPU), which can execute multiple tasks or threads simultaneously. Each core contains complete computing resources, such as an arithmetic logic unit, a control unit, registers, and a cache, and can run instructions and process data independently.

[0110] In an alternative embodiment, a first number of central processing unit cores are first configured for a system process running on a first server in a server cluster.

[0111] Furthermore, through the resource pool and the processor performance vector of the central processing unit of the server, the central processing unit computing power value of the first server under the configuration of the first number of central processing unit cores is calculated.

[0112] Then, based on the calculated central processing unit computing power value, the second number of central processing unit cores required to provide equivalent processing capabilities for the same system process on a second server is further calculated.

[0113] Finally, configure the second number of central processing unit cores for the system process on the second server according to the calculated second number of central processing unit cores required to provide equivalent processing capabilities for the same system process on the second server.

[0114] It should be noted that by configuring the same number of central processing unit cores for the system process, the system can ensure that the same process running on different servers has similar processing speeds and efficiencies. At the same time, the construction of the resource pool and the calculation of the computing power value provide tools for quantifying the processing capabilities of different servers, enabling the system to dynamically adjust the configured number of central processing unit cores according to actual needs, achieving performance consistency and efficient resource utilization when different servers process the same system process.

[0115] Through the embodiments of the present application, configure the first number of central processing unit cores for the system process running on the first server; calculate the central processing unit computing power value of the first server under the configuration of the first number of central processing unit cores through the resource pool; obtain the second number of central processing unit cores required to be configured for the system process on the second server according to the central processing unit computing power value; on the second server, configure the second number of central processing unit cores for the system process. By configuring the same number of central processing unit cores for the system process, the technical purpose of enabling the system to dynamically adjust the configured number of central processing unit cores according to actual needs is achieved, and further the technical effect of achieving performance consistency and efficient resource utilization when different servers process the same system process is realized.

[0116] As an alternative solution, after obtaining new data on the first server in the server cluster, the method further includes:

[0117] S6-1, when the read-write frequency corresponding to the new data is greater than or equal to a preset frequency threshold, determine that the new data meets the hot data condition;

[0118] S6-2, when the read-write frequency corresponding to the new data is less than the preset frequency threshold, determine that the new data meets the cold data condition.

[0119] It should be noted that when the read / write frequency of new data is greater than or equal to the preset frequency threshold, the conditions for determining the data as hot data are defined. This means that if the system monitors that a certain data item is frequently accessed within a short period of time, it will be regarded as hot data, and thus be assigned a higher priority and a faster processing flow to meet the real-time and efficient requirements of the business. When the read / write frequency of new data is less than the preset frequency threshold, the conditions for determining the data as cold data are defined, indicating that for data with less access demand, the system will manage it with a cold data strategy, adopting a method with lower energy consumption and heat generation for the intelligent network card device. That is, by determining hot and cold data, different data synchronization modes can be selected according to different situations, and thus the efficiency of data synchronization and the energy consumption of data synchronization can be balanced.

[0120] Through the embodiments of the present application, when the read / write frequency corresponding to new data is greater than or equal to the preset frequency threshold, it is determined that the new data meets the hot data conditions; when the read / write frequency corresponding to new data is less than the preset frequency threshold, it is determined that the new data meets the cold data conditions. By determining hot and cold data, different data synchronization modes can be selected according to different situations, and thus the efficiency of data synchronization and the energy consumption of data synchronization can be balanced.

[0121] As an optional solution, before writing new data into the first intelligent network card device configured by the first server, the method further includes:

[0122] Transfer the data synchronization module running on the first server to the first intelligent network card device.

[0123] In an optional embodiment, the data synchronization module can be, but is not limited to, a software component used to ensure data consistency in a distributed system, responsible for data reading, writing, and transmission to ensure that data copies on all servers in the cluster are consistent.

[0124] It should be noted that before writing new data into the intelligent network card device configured by the first server, it is necessary to first transfer the data synchronization module running on the first server to the intelligent network card device. By transferring the data synchronization module to the intelligent network card device, the system can utilize the high-speed data processing ability of the intelligent network card to achieve fast data transmission between different servers, while reducing the occupancy of the central processing unit resources of the server by data synchronization, improving the processing efficiency of the central processing unit and the overall response speed of the system.

[0125] Through the embodiments of the present application, the data synchronization module running on the first server is transplanted to the first intelligent network card device. By transplanting the data synchronization module to the intelligent network card device, the technical purpose of being able to utilize the high-speed data processing capability of the intelligent network card to achieve fast data transmission between different servers and at the same time reduce the occupation of the central processor resources of the server by data synchronization is achieved, and further the technical effect of improving the processing efficiency of the central processor and the overall response speed of the system is realized.

[0126] As an alternative solution, writing new data into the first intelligent network card device configured by the first server includes:

[0127] Based on the Remote Direct Memory Access (RDMA) technology, the new data is written at high speed from the main memory of the first server into the first intelligent network card memory, where the first intelligent network card memory is built with a cache or memory space for temporarily storing the data to be synchronized.

[0128] In an alternative embodiment, the Remote Direct Memory Access (RDMA) technology can be but is not limited to a network communication technology that allows a computer to directly access the memory data of a remote computer without relying on the central processor. It transfers data directly between intelligent network cards by bypassing the intervention of the operating system kernel and the central processor, thereby significantly reducing latency, increasing throughput, and reducing central processor overhead.

[0129] It should be noted that during the data synchronization process in a heterogeneous server environment, the data transmission speed and memory access efficiency are key factors affecting the overall performance of the system. By directly writing data from the server main memory into the intelligent network card memory at high speed, the data synchronization speed is effectively increased, the latency is reduced, and at the same time the load on the central processor is alleviated.

[0130] Through the embodiments of the present application, based on the Remote Direct Memory Access (RDMA) technology, the new data is written at high speed from the main memory of the first server into the first intelligent network card memory, where the first intelligent network card memory is built with a cache or memory space for temporarily storing the data to be synchronized. By directly writing data from the server main memory into the intelligent network card memory at high speed, the technical purpose of effectively increasing the data synchronization speed, reducing the latency, and at the same time alleviating the load on the central processor is achieved, and further the technical effect of improving the working efficiency of the central processor is realized.

[0131] As an alternative solution, before obtaining new data on the first server in the server cluster, the method further includes:

[0132] In the case of obtaining the first data updated on the first server, determining the first data as new data;

[0133] When the second data newly obtained by the first server is acquired, determine the second data as the new data.

[0134] It should be noted that the monitoring mechanism is used to detect the changes in the data on the first server in real time. Once new data is generated or updated, the data synchronization process is immediately triggered. The new data may include files uploaded by users, logs generated by the system, updated records in the database, etc. By obtaining the changes in the data on the first server in real time, new data can be obtained in a timely manner, thereby improving the efficiency of data synchronization.

[0135] Through the embodiments of the present application, when the first data updated on the first server is acquired, the first data is determined as the new data; when the second data newly obtained by the first server is acquired, the second data is determined as the new data. By obtaining the changes in the data on the first server in real time, the technical effect of being able to obtain updated data or new data in a timely manner is achieved, and further the technical effect of improving the efficiency of data synchronization is realized.

[0136] As an optional solution, the above server data synchronization method is applied to the scenario of heterogeneous server data synchronization.

[0137] In an optional embodiment, in this embodiment, a unified abstract resource layer is constructed on servers with different CPU chips to shield the underlying hardware differences and align the software management logics, forming a multi-CPU architecture server fusion cluster, enabling upper-layer user business applications to use the computing and storage capabilities of servers with multiple CPU chips without perception, and forming a unified software-defined computing resource pool and distributed storage resource pool.

[0138] In an optional embodiment, the basic idea of this embodiment is as follows:

[0139] 1) Construct a standard computing power measurement method for heterogeneous processors: Use standard evaluation tools to calculate the real multi-dimensional performance data of mainstream domestic and foreign CPUs under the same memory, hard disk, and network configurations, and form a vector database;

[0140] 2) Unified interconnection and active acceleration method for heterogeneous resource pools: Configure the same model of intelligent network card devices for all servers in the cluster, and transplant the original data synchronization module running on the CPU to the intelligent network card devices;

[0141] 3) Computing power on-demand core expansion method supporting load perception. Based on the computing power values of different CPUs obtained through the computing power vector library, through computing power conversion and CPU elastic supply, ensure that the distributed system obtains equivalent computing power resources on different CPU servers.

[0142] In an alternative embodiment, this embodiment provides a method and device for heterogeneous CPU server resource pooling. A standard computing power database for heterogeneous processors is established. By constructing a unified abstract resource layer on servers with different CPU chips, the underlying hardware differences are shielded, and the computing power of heterogeneous CPUs is equalized to form a fusion cluster of multi-CPU architecture servers.

[0143] For further illustration, the overall solution is as Figure 3 shown. Figure 3 The part shown in (a) in Figure 3 is a standard computing power measurement method for heterogeneous processors. In (a) in Figure 3 a standard CPU (Central Processing Unit) computing power vector database is obtained through standard evaluation tools A, B, C, D, E, and F. Figure 3 The part shown in (b) in Figure 3 is a method for on-demand core expansion of computing power that supports load awareness. In (b) in Figure 3 first, the application load is obtained, then the computing power demand analysis is performed through the standard CPU computing power vector database. Finally, when the A-type CPU requires X cores, it is obtained that the B-type CPU requires Y cores to achieve the same computing power as the A-type CPU. The standard CPU computing power vector database can also be improved according to the results of the computing power demand analysis. Figure 3 The part shown in (c) in

[0144] is a method for unified interconnection and active acceleration for heterogeneous resource pools. There are servers 1, 2, 3, 4, and 5 in the unified computing and storage resource pool, and a Remote Direct Memory Access network and a priority-based distributed data transmission mechanism are designed.

[0144] In an alternative embodiment, due to the different computing capabilities of processors with different architectures, even if the same application uses the same specifications of resource encapsulation, there are performance differences when running in a heterogeneous environment. The main problem currently faced by the one-cloud multi-core system is the multi-source heterogeneity of CPUs. The ARM and x86 architecture processors from multiple manufacturers are different in instruction sets, core counts, production processes, etc., and thus there are also performance differences.

[0145] In this embodiment, a standard computing power vector database for heterogeneous processors is established. Using standard evaluation tools such as CoreMark, Stream, 7-Zip, GeekBench, Linpack, and SPEC CPU, the real multi-dimensional performance data of mainstream domestic and foreign CPUs such as Intel, AMD, Ampere, Feiteng, Kunpeng, and Haiguang are calculated under the same configurations of memory, hard disk, and network, forming CPU performance vectors, where each element of the vector represents the performance score of the CPU under a certain standard evaluation tool. Based on this vector database, a series of innovative work can be carried out, such as evaluating the computing power value of the CPU by calculating vector length calculation methods such as L1 and L2 norms, calculating the computing power similarity of different CPU models by search methods such as k-NN, and classifying different CPU models based on computing power characteristics by classification methods such as SVM.

[0146] For further illustration, optionally based on Figure 3 the scenario of (a) in Figure 4 as shown, after obtaining the standard CPU computing power vector database, compare the computing power of two CPU models by Method 1, compare the computing power similarity of two CPU (central processing unit) models by Method 2, and classify different CPU models based on computing power characteristics by Method 3. Among them, Method 1 is a vector length calculation method, such as L1 and L2 norms, Method 2 is a vector search calculation method, such as the k-NN method, and Method 3 is a vector classification calculation method, such as the SVM method.

[0147] Since the heterogeneous resource pool composed of CPU architecture servers needs to perform real-time and continuous data synchronization between servers to ensure the strong consistency of the cluster state and user service data replicas. However, when the data synchronization module runs on different servers, its execution efficiency highly depends on the CPU model, memory size, and hard disk performance, resulting in poor coordination of the transceiver efficiency of the data synchronization module between different servers.

[0148] To solve this problem, this embodiment proposes a unified interconnection and active acceleration technology for heterogeneous resource pools. The same model of intelligent network card devices are configured for all servers in the cluster, and the data synchronization module originally running on the CPU is transplanted into the intelligent network card devices. As an independent small computing device, the intelligent network card has a built-in software system that is independent of the server CPU architecture. First, based on the RDMA technology, the data to be synchronized is written from the server main memory to the intelligent network card memory at high speed, and the intelligent network card realizes the synchronization of data between different servers, improving the read and write performance and stability of the heterogeneous resource pool; Secondly, a distributed data transmission mechanism based on priority is designed, setting the hot data with a higher read and write frequency as high priority and the cold data with a lower read and write frequency as low priority. When the network traffic is large and there is a risk of congestion, the system will suspend the cold data transmission and give priority to realizing the synchronization of hot data within the resource pool.

[0149] For further illustration, optionally, Figure 5 as shown, the same model of intelligent network cards are configured for Server 1, Server 2, Server 3, Server 4, and Server 5, and a distributed data transmission mechanism based on priority is designed under the intelligent network card remote direct memory access network.

[0150] It should be noted that there are obvious differences in the computing power indicators of CPUs with different architectures and different manufacturers. To build a distributed storage pool integrating multiple CPU platforms, system processes of the same type running on different CPU platforms need to obtain the same computing power to maintain similar data processing capabilities and state consistency of system processes, thereby ensuring the performance and stability of distributed storage.

[0151] To ensure that system processes of the same type on different CPU platforms obtain the same computing power, this embodiment proposes a CPU elastic core expansion technology based on workload awareness. Based on the different computing powers of different CPU models, different numbers of CPU cores are configured for the same system processes running on different CPU platforms in the abstract resource layer to achieve the same computing power for system processes on different servers. For example, for a certain system process, 2-core CPU capabilities are configured on the A-type CPU server. First, the CPU computing power value of the A-type CPU under the 2-core configuration is calculated through the computing power vector library, and then the number of cores of the B-type CPU required is converted, and the corresponding CPU cores are configured for the system process on the B-type CPU server, ultimately achieving the goal of the same CPU computing power value for the system process on different CPU servers.

[0152] For further illustration, optionally, Figure 6As shown in the figure, based on the computing power vector database of a standard CPU (Central Processing Unit), computing power demand analysis is carried out. Through the computing power demand analysis, it is obtained that X cores are required for CPU type A and Y cores are required for CPU type B to achieve the same computing power. This process is the process of elastic core expansion of the CPU. At the same time, the standard CPU computing power vector database can also be improved according to the results of the computing power demand analysis. Finally, service processes on CPU A and service processes on CPU B in a distributed system are realized.

[0153] In an alternative embodiment, the key point of this embodiment is to establish a standard CPU computing power vector database based on a standard computing power measurement method for heterogeneous processors, providing objective data support for innovative work such as computing power capacity comparison analysis and computing power feature similarity analysis between different CPUs; through intelligent core expansion technology based on computing power analysis, computing power balance among heterogeneous hosts in a cloud computing system is achieved; based on a unified interconnection technology of intelligent network cards and RDMA, unified resource pooling of Feiteng, Kunpeng, Haiguang, Intel, and AMD servers within a single cluster is realized.

[0154] Through the embodiments of the present application, by shielding the underlying hardware differences and aligning the software management logic, a multi-CPU architecture server fusion cluster is formed, enabling upper-layer user business applications to use the computing and storage capabilities of servers with multiple CPU chips without perception. In the case of differences in the functions, performance, and reliability of heterogeneous processors, the technical requirements for high efficiency and stability of the cloud computing system are met, ensuring the long-term stable operation of critical services.

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

[0156] In this embodiment, a data synchronization device for a server is also provided. This device is used to implement the above embodiments and preferred implementation manners, and those that have been described will not be repeated. As used hereinafter, the term "module" can be a combination of software and / or hardware that can achieve a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation by hardware, or a combination of software and hardware is also possible and contemplated.

[0157] Figure 7 is a structural block diagram of a scheduling device for a cloud host of a cloud platform according to an embodiment of the present application. As Figure 7 shown, the device includes:

[0158] An acquisition unit 702, configured to acquire new data on a first server in a server cluster;

[0159] A write unit 704 for writing new data into the first intelligent network card device configured by the first server;

[0160] A first synchronization unit 706 for, when the new data meets the hot data condition, using the first intelligent network card device to synchronize the new data to the second intelligent network card device configured by the second server in the server cluster according to the first priority, where the first intelligent network card device and the second intelligent network card device are of the same model;

[0161] A second synchronization unit 708 for, when the new data meets the cold data condition, using the first intelligent network card device to synchronize the new data to the second intelligent network card device according to the second priority, where the first priority is greater than the second priority.

[0162] As an optional solution, the first synchronization unit 706 includes: a first putting module for putting the new data into a first queue, where the data in the first queue is data that meets the hot data condition, and the data that meets the hot data condition is sorted in sequence in the first queue according to the putting order, and the synchronization priority of the data in the first queue is the first priority; a first synchronization module for synchronizing the new data to the second intelligent network card device when the new data is in the foremost position of the first queue; the above second synchronization unit 708 includes: a second putting module for putting the new data into a second queue, where the data in the second queue is data that meets the cold data condition, and the data that meets the cold data condition is sorted in sequence in the second queue according to the putting order, and the synchronization priority of the data in the second queue is the second priority; a second synchronization module for synchronizing the new data to the second intelligent network card device when the new data is in the foremost position of the second queue and there is no data to be synchronized in the first queue, where the synchronization priority of the data in the second queue is the second priority.

[0163] As an optional solution, the first synchronization module includes: a first synchronization sub-module for synchronizing the new data to the second intelligent network card device according to the normal mode matched by the first queue when the new data is in the foremost position of the first queue; as an optional solution, the above second synchronization module includes: a second synchronization sub-module for synchronizing the new data to the second intelligent network card device according to the energy-saving mode matched by the second queue when the new data is in the foremost position of the second queue and there is no data to be synchronized in the first queue, where the power consumption corresponding to the energy-saving mode is less than the power consumption corresponding to the normal mode.

[0164] As an alternative solution, the second synchronization module further includes: a third synchronization sub-module, configured to, when new data is located at the forefront position of the second queue, there is no data to be synchronized in the first queue, and the amount of data to be synchronized in the second queue is greater than or equal to a preset threshold, pack and synchronize the data to be synchronized in the second queue to the second intelligent network card device, where the data to be synchronized in the second queue includes the new data.

[0165] As an alternative solution, the obtaining unit 702 includes: a first obtaining module, configured to obtain multi-dimensional performance data of each central processing unit of different architecture types under the same configuration; a second obtaining module, configured to use the multi-dimensional performance data to obtain a processor performance vector of each central processing unit, where each element in the processor performance vector represents the performance score of the central processing unit under different evaluation dimensions; a construction module, configured to construct a resource pool of the server cluster according to the processor performance vector, where the resource pool is a virtual resource set that uniformly manages and schedules the central processing unit resources of all servers in the server cluster.

[0166] As an alternative solution, the construction module includes: a first calculation sub-module, configured to calculate the first norm and the second norm of the processor performance vector to quantify the overall computing power of the central processing unit, where the first norm is the sum of the absolute values of all elements in the processor performance vector, and the second norm is the square root of the sum of the squares of all elements in the processor performance vector; a second calculation sub-module, configured to calculate the distance between at least two processor performance vectors to obtain at least two central processing units that meet the computing power similarity condition; a classification sub-module, configured to classify each central processing unit according to the computing power characteristics corresponding to the processor performance vector.

[0167] As an alternative solution, the construction module includes a first configuration sub-module, configured to configure a first number of central processing unit cores for a system process running on a first server; a third calculation sub-module, configured to calculate the central processing unit computing power value of the first server under the configuration of the first number of central processing unit cores through the resource pool; an obtaining sub-module, configured to obtain a second number of central processing unit cores that need to be configured for the system process on a second server according to the central processing unit computing power value; a second configuration sub-module, configured to configure the second number of central processing unit cores for the system process on the second server.

[0168] As an alternative solution, the obtaining unit 702 includes: a first determination module, configured to determine that the new data meets the hot data condition when the read-write frequency corresponding to the new data is greater than or equal to a preset frequency threshold; a second determination module, configured to determine that the new data meets the cold data condition when the read-write frequency corresponding to the new data is less than the preset frequency threshold.

[0169] As an alternative, the writing unit 704 includes: a transplantation module configured to transplant the data synchronization module running on the first server to the first intelligent network card device.

[0170] As an alternative, the writing unit 704 includes: a writing module configured to, based on the remote direct memory access technology, quickly write new data from the main memory of the first server to the first intelligent network card memory, where the first intelligent network card memory is built with a cache or memory space for temporarily storing data to be synchronized.

[0171] As an alternative, the obtaining unit 702 includes: a third determination module configured to, when the first data updated on the first server is obtained, determine the first data as new data; a fourth determination module configured to, when the second data newly obtained on the first server is obtained, determine the second data as new data.

[0172] For the descriptions of the features in the corresponding embodiments of the data synchronization device of the server, reference may be made to the relevant descriptions in the corresponding embodiments of the data synchronization method of the server, which will not be elaborated here one by one.

[0173] An embodiment of the present application further provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above embodiments of the data synchronization method of the server.

[0174] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps in any one of the above embodiments of the data synchronization method of the server when running.

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

[0176] An embodiment of the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the steps in any one of the above embodiments of the data synchronization method of the server are implemented.

[0177] Embodiments of the present application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, where the computer program, when executed by a processor, implements the steps in any of the above-described embodiments of the data synchronization method for a server.

[0178] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Skilled professionals can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0179] The above has introduced in detail a data synchronization method and device for a server provided by the present application. Specific examples are used herein to elaborate on the principle and implementation manner of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application. It should be noted that for those of ordinary skill in the art in the technical field, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.

Claims

1. A method for synchronizing data of a server, characterized in that: include: Obtain new data from the first server in the server cluster; Writing the new data into the first intelligent network card device configured by the first server; When the new data meets the hot data condition, synchronizing the new data to a second smart network card device configured in a second server in the server cluster by using the first smart network card device according to a first priority, wherein the first smart network card device and the second smart network card device are of the same model; When the new data meets the cold data condition, the new data is synchronized to the second smart network card device using the first smart network card device according to a second priority, wherein the first priority is greater than the second priority.

2. The method according to claim 1, characterized in that: The step of synchronizing the new data to a second smart network card device configured on a second server in the server cluster by using the first smart network card device according to a first priority level includes: Put the new data into a first queue, wherein the data in the first queue is data that meets the hot data condition, and the data that meets the hot data condition is sorted in the first queue in the order in which it is put, and the synchronization priority of the data in the first queue is the first priority; When the new data is located at the front position of the first queue, synchronizing the new data to the second smart network card device; The step of synchronizing the new data to the second smart network card device according to the second priority by using the first smart network card device includes: Put the new data into the second queue, wherein the data in the second queue is data that meets the cold data condition, and the data that meets the cold data condition is sorted in the second queue in the order of being put in, and the synchronization priority of the data in the second queue is the second priority; When the new data is located at the front position of the second queue and there is no data to be synchronized in the first queue, the new data is synchronized to the second smart network card device, wherein the synchronization priority of the data in the second queue is the second priority.

3. The method according to claim 2, characterized in that The step of synchronizing the new data to the second smart network card device when the new data is located at the front position of the first queue includes: synchronizing the new data to the second smart network card device according to the normal mode of matching the first queue when the new data is located at the front position of the first queue; The step of synchronizing the new data to the second smart network card device when the new data is located at the front position of the second queue and there is no data to be synchronized in the first queue includes: synchronizing the new data to the second smart network card device according to the energy-saving mode matched by the second queue when the new data is located at the front position of the second queue and there is no data to be synchronized in the first queue, wherein the power consumption corresponding to the energy-saving mode is less than the power consumption corresponding to the normal mode.

4. The method according to claim 2, characterized in that: When the new data is located at the front position of the second queue and there is no data to be synchronized in the first queue, synchronizing the new data to the second smart network card device includes: When the new data is located at the front position of the second queue, there is no data to be synchronized in the first queue, and the amount of data to be synchronized in the second queue is greater than or equal to a preset threshold, the data to be synchronized in the second queue is packaged and synchronized to the second smart network card device, wherein the data to be synchronized in the second queue includes the new data.

5. The method according to claim 1, characterized in that Before acquiring new data on the first server in the server cluster, the method further includes: Obtain multi-dimensional performance data of various CPUs of different architecture types under the same configuration; Using the multi-dimensional performance data, obtaining a processor performance vector of each central processing unit, wherein each element in the processor performance vector represents a performance score of the central processing unit under different evaluation dimensions; A resource pool of the server cluster is constructed according to the processor performance vector, wherein the resource pool is a collection of virtual resources for central processing unit resources of all servers in the server cluster to be managed and scheduled in a unified manner.

6. The method according to claim 5, characterized in that The constructing the resource pool of the server cluster according to the processor performance vector includes at least one of the following: Calculating a first norm and a second norm of the processor performance vector to quantify the overall computing power of the central processing unit, wherein the first norm is the sum of the absolute values ​​of all elements in the processor performance vector, and the second norm is the square root of the sum of the squares of all elements in the processor performance vector; Calculating the distance between at least two of the processor performance vectors to obtain at least two of the central processors that meet the computing power similarity condition; The central processing units are classified according to the computing power characteristics corresponding to the processor performance vectors.

7. The method according to claim 5, characterized in that After constructing the resource pool of the server cluster according to the processor performance vector, the method further includes: configuring a first number of central processing unit cores for a system process running on the first server; Calculating, by means of the resource pool, a CPU computing power value of the first server under the configuration of the first number of CPU cores; According to the CPU computing power value, obtaining a second number of CPU cores that need to be configured for the system process on the second server; On the second server, the second number of central processing unit cores is configured for the system process.

8. The method according to any one of claims 1 to 7, characterized in that After acquiring new data on the first server in the server cluster, the method further includes: When the read / write frequency corresponding to the new data is greater than or equal to a preset frequency threshold, determining that the new data meets the hot data condition; When the read / write frequency corresponding to the new data is less than the preset frequency threshold, it is determined that the new data meets the cold data condition.

9. The method according to any one of claims 1 to 7, characterized in that Before writing the new data into the first intelligent network card device configured by the first server, the method further includes: The data synchronization module running on the first server is transplanted to the first smart network card device.

10. The method according to any one of claims 1 to 7, characterized in that The step of writing the new data into the first intelligent network card device configured by the first server includes: Based on remote direct memory access technology, the new data is written from the main memory of the first server to the first smart network card memory at high speed, wherein the first smart network card memory has a built-in cache or memory space for temporarily storing the data to be synchronized.

11. The method according to any one of claims 1 to 7, characterized in that Before acquiring new data on the first server in the server cluster, the method further includes: In a case where updated first data on the first server is acquired, determining the first data as the new data; When the second data newly obtained by the first server is acquired, the second data is determined as the new data.

12. A data synchronization device for a server, characterized in that: include: An acquisition unit, used for acquiring new data from a first server in the server cluster; A writing unit, configured to write the new data into a first intelligent network card device configured by the first server; A first synchronization unit is configured to synchronize the new data to a second smart network card device configured in a second server in the server cluster by using the first smart network card device according to a first priority when the new data meets the hot data condition, wherein the first smart network card device and the second smart network card device are of the same model; The second synchronization unit is used to synchronize the new data to the second smart network card device using the first smart network card device according to a second priority when the new data meets the cold data condition, wherein the first priority is greater than the second priority.

13. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the server data synchronization method as claimed in any one of claims 1 to 11 when executing the computer program.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the data synchronization method of the server according to any one of claims 1 to 11.

15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the data synchronization method of the server as claimed in any one of claims 1 to 11 are implemented.

Citation Information

Patent Citations

  • Data migration method and terminal

    CN106527980A

  • Server grouping method, device and equipment and computer readable storage medium

    CN111901410A

  • Automatic server grouping method and device based on clustering effectiveness indexes

    CN112463381A

  • Virtual machine migration method and device, upgrading method and server

    CN115599494A

  • Data transmission method and system, FDS management module, storage medium and electronic device

    CN116668379A