Cloud service system and data processing method based on cloud service system
The cloud service system addresses the limitations of single smart NICs by sharing smart NICs across multiple computing nodes, enabling efficient and simultaneous data processing to ensure business stability for tenant applications.
Patent Information
- Authority / Receiving Office
- HK · HK
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
- Filing Date
- 2026-05-13
- Publication Date
- 2026-07-17
AI Technical Summary
Existing cloud service systems with compute-storage separation architectures face limitations in smart NIC performance, as each computing node is paired with a single smart NIC, which cannot simultaneously meet the processing needs of multiple data, leading to reduced business stability for tenant applications.
A cloud service system and method that utilizes a smart NIC cluster shared among multiple computing nodes, allowing for the selection and allocation of multiple smart NICs to handle data processing requests based on data and application identifiers, enhancing performance through resource sharing and efficient management of smart NICs.
This approach enables simultaneous and rapid processing of multiple data, ensuring the business stability of tenant applications by overcoming the limitations of single smart NIC performance, thereby improving computing power and resource availability.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
(19) State Intellectual Property Office (12) Invention Patent Application (10) Application Publication Number (43) Application Publication Date (21) Application Number 202410796617.2 (22) Application Date 2024.06.19 (66) Domestic Priority Data 202410707991.0 2024.05.31 CN (71) Applicant Huawei Cloud Computing Technology Co., Ltd. Address 550025, Guizhou Province, Guiyang City, Gui'an New District, Qianzhong Avenue, Xinggong Road, Huawei Cloud Data Center (72) Inventors Ji Chengyuan, Kong Lingwen, Zhu Haipei, Huo Haoheng, Zhang Jiayuan (74) Patent Agency Shenzhen Shenjia Intellectual Property Agency (General Partnership) 44285 Patent Attorney Chen Songhao (51) Int.Cl. H04L 67 / 1001 (2022.01) H04L 67 / 1097 (2022.01) H04L 67 / 60(2022.01) H04L 67 / 141(2022.01) H04L 67 / 146(2022.01) H04L 67 / 51(2022.01) (54) Invention Title: A Cloud Service System and a Data Processing Method Based on a Cloud Service System (57) Abstract: This application discloses a cloud service system and a data processing method based on a cloud service system, which can ensure the business stability of tenant applications. For the first computing node in the cloud service system of this application, when the first application of the first computing node needs to process the first data, the first application will forward the first data processing request for the first data to the first smart network card management module of the first computing node. Since the first data processing request contains the information of the first data and the identifier of the first application of the first computing node, the first smart network card management module can select the first smart network card from the smart network card cluster based on the information of the first data and the identifier of the first application, and forward the first data processing request to the first smart network card. Subsequently, the first smart network interface card (NIC) can, based on the first data processing request, notify the first storage node in the storage node cluster to process the first data. Claims 5 pages, Description 18 pages, Drawings 7 pages, CN 121056456 A 2025.12.02 CN 1 21 05 64 56 A 1. A cloud service system, characterized in that the cloud service system includes infrastructure providing cloud services to tenants, the infrastructure includes a computing node cluster, a smart NIC cluster, and a storage node cluster, the first computing node in the computing node cluster includes the tenant's first application and a first smart NIC management module for managing the first application, the storage node cluster being used to store multiple data of the first application; the first application is used to send a first data processing request to the first smart NIC management module, the first...The data processing request includes information about the first data to be processed and the identifier of the first application; the first smart network interface card (NIC) management module is used to determine a first smart NIC from the smart NIC cluster based on the information about the first data and / or the identifier of the first application included in the first data processing request, and to send the first data processing request to the first smart NIC; the first smart NIC is used to send a first notification to a first storage node in the storage node cluster based on the first data processing request; the first storage node is used to process the first data based on the first notification, wherein the plurality of data includes the first data. 2. The cloud service system according to claim 1, characterized in that: the second computing node in the computing node cluster includes the tenant's second application and a second smart NIC management module for managing the second application; the second application is used to send a second data processing request to the second smart NIC management module, the second data processing request including information of second data to be processed and an identifier of the second application; the second smart NIC management module is used to determine a second smart NIC from the smart NIC cluster based on the information of the second data contained in the second data processing request and / or the identifier of the second application, and send the second data processing request to the second smart NIC; the second smart NIC is used to send a second notification to a second storage node in the storage node cluster based on the second data processing request; the second storage node is used to process the second data based on the second notification. 3. The cloud service system according to claim 1 or 2, characterized in that the first smart network card management module allocates multiple cloud disks for the first application; the first application is used to trigger the first cloud disk among the multiple cloud disks to generate a first data processing request; the first cloud disk is used to send the first data processing request to the first smart network card management module, the first data processing request including information of the first data to be processed and the identifier of the first cloud disk, the information of the first data including the address of the first data in the first cloud disk. 4. The cloud service system according to claim 3, characterized in that the first smart network card management module includes a first mapping table, the first mapping table recording the binding relationship between the identifiers of the multiple cloud disks and the addresses of the multiple smart network cards; the first smart network card management module is used to determine the address of the first smart network card bound to the identifier of the first cloud disk from the first mapping table; the first smart network card management module is used to send the first data processing request to the first smart network card based on the address of the first smart network card. 5. The cloud service system according to claim 4, characterized in that one of the multiple smart network cards is a smart network card...The address of the card is bound to the identifier of at least one of the plurality of cloud disks. 6. The cloud service system according to claim 3, wherein the first smart network card management module includes a second mapping table, the second mapping table recording the binding relationship between the calculated values of the plurality of smart network cards and the addresses of the plurality of smart network cards; the first smart network card management module is used to calculate the identifier of the first cloud disk and the address of the first data in the first cloud disk to obtain the calculated value of the first network card; the first smart network card management module is used to determine the address of the first smart network card bound to the calculated value of the first smart network card from the second mapping table; the first smart network card management module is used to send the first data processing request to the first smart network card based on the address of the first smart network card. 7. The cloud service system according to claim 6, wherein the calculation includes a hash operation, and the calculated value of the first smart network card includes the hash value of the first smart network card. 8. The cloud service system according to any one of claims 4 to 7, characterized in that the computing node cluster includes multiple computing nodes, the smart network card cluster includes multiple smart network cards, each computing node has one smart network card inserted, the multiple smart network cards are shared by the multiple computing nodes, and the first smart network card is a smart network card inserted in the first computing node or a smart network card inserted in the third computing node. 9. The cloud service system according to any one of claims 4 to 7, characterized in that the computing node cluster includes multiple computing nodes, the cloud service system further includes an offload card bearer node, the offload card bearer node has at least one smart network card inserted in the smart network card cluster, the at least one smart network card is shared by the multiple computing nodes, and the first smart network card is a smart network card inserted in the offload card bearer node. 10. The cloud service system according to any one of claims 4 to 7, wherein the computing node cluster is connected to the smart network card cluster via a high-speed interconnect device; the first smart network card management module is configured to send the address of the first smart network card and the first data processing request to the high-speed interconnect device, wherein the address of the first smart network card is used for the high-speed interconnect device to send the first data processing request to the first smart network card. 11. The cloud service system according to any one of claims 4 to 10, wherein the first smart network card management module is further configured to obtain an evaluation value for the multiple smart network cards based on the performance indicators and status indicators of the multiple smart network cards in the smart network card cluster; the first smart network card management module is further configured to select from the multiple smart network cards whose evaluation value is less than or equal to the evaluation value.The address of the third smart network interface card (NIC) with an estimated threshold is removed from the first mapping table, and the identifier of the cloud disk bound to the address of the third smart NIC is bound to the address of the fourth smart NIC; or, from the plurality of smart NICs, the calculated value of the third smart NIC whose evaluated value is less than or equal to the evaluation threshold and the address of the third smart NIC are removed from the second mapping table. 12. The cloud service system according to any one of claims 4 to 11, wherein the first smart NIC management module is further configured to, after detecting that the fifth smart NIC has been added to the plurality of smart NICs in the smart NIC cluster, generate a correspondence between the address of the fifth smart NIC and the identifier of at least one cloud disk among the plurality of cloud disks in the first mapping table to obtain an updated first mapping table; or, generate a correspondence between the address of the fifth smart NIC and the calculated value of the fifth smart NIC in the second mapping table to obtain an updated second mapping table. 13. A data processing method based on a cloud service system, characterized in that the cloud service system includes infrastructure providing cloud services to tenants, the infrastructure including a computing node cluster, a smart network interface card (NIC) cluster, and a storage node cluster, [Claim 2 / 5, Page 3, CN 121056456 A] The first computing node in the computing node cluster includes a first application of the tenant and a first smart NIC management module for managing the first application, the storage node cluster being used to store multiple data of the first application, the method comprising: the first application sending a first data processing request to the first smart NIC management module, the first data processing request including information of first data to be processed and an identifier of the first application; the first smart NIC management module determining a first smart NIC from the smart NIC cluster based on the information of the first data included in the first data processing request and / or the identifier of the first application, and sending the first data processing request to the first smart NIC; the first smart NIC sending a first notification to a first storage node in the storage node cluster based on the first data processing request; the first storage node processing the first data based on the first notification, the multiple data including the first data. 14. The method according to claim 13, wherein the second computing node in the computing node cluster includes the tenant's second application and a second smart NIC management module for managing the second application, the method further comprising: the second application sending a second data processing request to the second smart NIC management module, the second data processing request including information about second data to be processed and an identifier of the second application; the second smart NIC management module, based on the information about the second data included in the second data processing request...The method, based on the information and / or the identifier of the second application, determines a second smart network interface card (NIC) from the smart NIC cluster and sends a second data processing request to the second smart NIC; the second smart NIC, based on the second data processing request, sends a second notification to a second storage node in the storage node cluster; the second storage node, based on the second notification, processes the second data. 15. The method according to claim 13 or 14, wherein the first smart NIC management module allocates multiple cloud disks for the first application, and the first application sending a first data processing request to the first smart NIC management module includes: the first application triggering a first cloud disk among the multiple cloud disks to generate a first data processing request; the first cloud disk sending the first data processing request to the first smart NIC management module, the first data processing request containing information about the first data to be processed and the identifier of the first cloud disk, the information about the first data containing the address of the first data in the first cloud disk. 16. The method according to claim 15, wherein the first smart network interface card (NIC) management module includes a first mapping table, the first mapping table recording the binding relationship between the identifiers of the plurality of cloud disks and the addresses of the plurality of smart NICs, and the first smart NIC management module determines a first smart NIC from the smart NIC cluster based on the information contained in the first data processing request and / or the identifier of the first application, and sends the first data processing request to the first smart NIC, comprising: the first smart NIC management module determining the address of the first smart NIC bound to the identifier of the first cloud disk from the first mapping table; and the first smart NIC management module sending the first data processing request to the first smart NIC based on the address of the first smart NIC. Claims 3 / 5 Page 4 CN 121056456 A 17. The method according to claim 16, wherein the address of one of the plurality of smart NICs is bound to the identifier of at least one cloud disk among the plurality of cloud disks. 18. The method according to claim 15, wherein the first smart network interface card (NIC) management module includes a second mapping table, the second mapping table records the calculated values of the plurality of smart NICs and the binding relationship between the addresses of the plurality of smart NICs, and the first smart NIC management module determines a first smart NIC from the smart NIC cluster based on the information contained in the first data processing request and / or the identifier of the first application, and sends the first data processing request to the first smart NIC, comprising: the first smart NIC management module calculates the identifier of the first cloud disk and the address of the first data in the first cloud disk to obtain the calculated value of the first NIC;The first smart network interface card (NIC) management module determines the address of the first smart network interface card (NIC) bound to the calculated value of the first smart NIC from the second mapping table; the first smart NIC management module sends the first data processing request to the first smart NIC based on the address of the first smart NIC. 19. The method according to claim 18, wherein the calculation includes a hash operation, and the calculated value of the first smart NIC includes the hash value of the first smart NIC. 20. The method according to any one of claims 16 to 19, wherein the computing node cluster includes multiple computing nodes, the smart NIC cluster includes multiple smart NICs, each computing node has one smart NIC inserted, the multiple smart NICs are shared by the multiple computing nodes, and the first smart NIC is a smart NIC inserted in the first computing node or a smart NIC inserted in the third computing node. 21. The method according to any one of claims 16 to 19, wherein the computing node cluster comprises multiple computing nodes, the cloud service system further comprises an offload card bearer node, the offload card bearer node is equipped with at least one smart network card from the smart network card cluster, the at least one smart network card is shared by the multiple computing nodes, and the first smart network card is a smart network card installed in the offload card bearer node. 22. The method according to any one of claims 16 to 19, wherein the computing node cluster is connected to the smart network card cluster via a high-speed interconnect device, and the first smart network card management module sending the first data processing request to the first smart network card based on the address of the first smart network card comprises: the first smart network card management module sending the address of the first smart network card and the first data processing request to the high-speed interconnect device, the address of the first smart network card being used by the high-speed interconnect device to send the first data processing request to the first smart network card. 23. The method according to any one of claims 16 to 22, characterized in that the method further comprises: the first smart network interface card (NIC) management module obtaining the evaluation values of the multiple smart NICs based on the performance indicators of the multiple smart NICs in the smart NIC cluster and the status indicators of the multiple smart NICs; the first smart NIC management module removing the address of a third smart NIC whose evaluation value is less than or equal to the evaluation threshold from the first mapping table, and binding the identifier of the cloud disk bound to the address of the third smart NIC to the address of a fourth smart NIC, or removing the calculated value of the third smart NIC whose evaluation value is less than or equal to the evaluation threshold and the address of the third smart NIC from the second mapping table. 24. The method according to any one of claims 16 to 23, characterized in that the method further comprises:After the first smart network card management module detects that the fifth smart network card has been added to the multiple smart network cards in the smart network card cluster, it generates a correspondence between the address of the fifth smart network card and the identifier of at least one cloud disk among the multiple cloud disks in the first mapping table, thus obtaining an updated first mapping table; or, in the second mapping table, it generates a correspondence between the address of the fifth smart network card and the calculated value of the fifth smart network card, thus obtaining an updated second mapping table. 25. A computing device cluster, characterized in that the computing device cluster includes at least one computing device, each computing device including a processor and a memory: the memory is used to store instructions; the processor is used to cause the computing device cluster to perform the method of any one of claims 13 to 24 according to the instructions. 26. A computer storage medium, characterized in that the computer storage medium stores one or more instructions, which, when executed by one or more computers, cause the one or more computers to perform the method of any one of claims 13 to 24. 27. A computer program product, characterized in that the computer program product stores instructions, which, when executed by a computer, cause the computer to perform the method described in any one of claims 13 to 24. Claims 5 / 5 Page 6 CN 121056456 A A cloud service system and a data processing method based on a cloud service system
[0001] This application claims priority to Chinese Patent Application No. 202410707991.0, filed with the State Intellectual Property Office of China on May 31, 2024, entitled "A method, apparatus and other equipment for data processing", the entire contents of which are incorporated herein by reference. Technical Field
[0002] The embodiments of this application relate to the field of cloud technology, and more particularly to a cloud service system and a data processing method based on a cloud service system. Background Art
[0003] With the rapid development of cloud technology, cloud vendors adopt a storage-compute separation architecture to build cloud service systems. This architecture may include mutually isolated computing nodes and storage nodes. Computing nodes are used to deploy tenant applications, and storage nodes are used to store the data of these applications. When an application on a compute node needs to process data, the compute node can access a storage node to complete the data processing at the storage node.
[0004] In related technologies, a cloud service system built on a compute-storage separation architecture can include multiple compute nodes and multiple storage nodes. Each compute node is connected to an additional smart network interface card (NIC). Each compute node can offload certain operations during data processing to the smart NIC, which can reduce the processor resource consumption of the compute node, thereby improving the computing power and available resources of the compute node.
[0005] However, since the computing node and smart NIC are in a one-to-one mode, when an application on a computing node needs to process multiple data, the performance of the smart NIC on that computing node is limited, and the smart NIC cannot simultaneously meet the processing needs of multiple data, resulting in damage to the business of the application on that computing node. Summary of the Invention
[0006] This application provides a cloud service system and a data processing method based on the cloud service system, which can simultaneously and quickly complete the processing needs of a tenant's application for several data, thereby ensuring the business stability of the tenant's application.
[0007] A first aspect of this application provides a cloud service system, which includes infrastructure for providing cloud services to tenants. The infrastructure includes a service and computing node cluster, a smart NIC cluster, and a storage node cluster. A first computing node in the computing node cluster includes a first application of the tenant and a first smart NIC management module for managing the first application. The storage node cluster is used to store multiple data of the first application.
[0008] When the first application of the first computing node needs to process the first data, the first application of the first computing node can send a first data processing request for the first data to the first smart network card management module of the first computing node. The first data processing request for the first data may include information about the first data to be processed and information such as the identifier of the first application.
[0009] After receiving the first data processing request for the first data, the first smart network card management module of the first computing node can first parse the first data processing request for the first data, and select the first smart network card from multiple smart network cards based on the parsed information about the first data and / or the identifier of the first application of the first computing node, and send the first data processing request for the first data to the first smart network card. Specification 1 / 18 page 7 CN 121056456 A
[0010] After receiving the first data processing request for the first data, the first smart network card can determine the first storage node storing the first data among multiple storage nodes based on the first data processing request for the first data, and send a first notification to the first storage node so that the first storage node processes the first data based on the first notification, thereby obtaining the processing result of the first data.
[0011] As can be seen from the above method, even if the application (i.e., the first application) of a tenant of a certain computing node (i.e., the aforementioned first computing node) has the need to process multiple data (i.e., the aforementioned first data) simultaneously, the smart NIC management module of the computing node (i.e., the aforementioned first smart NIC management module) can select one or more smart NICs (i.e., the aforementioned first smart NICs) from the smart NIC cluster to meet the need. Since there can be multiple smart NICs selected, these smart NICs combined together are equivalent to increasing the performance ceiling, no longer limited by the performance of a single smart NIC.Yes, it is beneficial to simultaneously and quickly complete the processing needs of tenant applications for multiple data, thereby ensuring the business stability of tenant applications.
[0012] In one possible implementation, the second computing node in the computing node cluster includes the tenant's second application and a second smart NIC management module for managing the second application; the second application is used to send a second data processing request to the second smart NIC management module, the second data processing request including information of the second data to be processed and the identifier of the second application; the second smart NIC management module is used to determine the second smart NIC from the smart NIC cluster based on the information of the second data contained in the second data processing request and / or the identifier of the second application, and send the second data processing request to the second smart NIC; the second smart NIC is used to send a second notification to the second storage node in the storage node cluster based on the second data processing request; the second storage node is used to process the second data based on the second notification. It can be seen that in the computing node cluster provided by the cloud service system, whether it is the first computing node or the second computing node, the operations performed by the two are similar. The smart NIC cluster can realize the sharing of smart NIC resources for both the first computing node and the second computing node, thereby increasing the amount of smart NIC resources owned by a single computing node.
[0013] In one possible implementation, the first smart network interface card (NIC) management module allocates multiple cloud disks to the first application; the first application triggers the first cloud disk among the multiple cloud disks to generate a first data processing request; the first cloud disk sends the first data processing request to the first smart NIC management module, the first data processing request containing information about the first data to be processed and the identifier of the first cloud disk, the information about the first data including the address of the first data in the first cloud disk. In the aforementioned implementation, the first smart NIC management module of the first computing node can allocate multiple cloud disks to the first application of the first computing node. When the first application of the first computing node needs to process the first data of the first cloud disk among the multiple cloud disks, the first application of the first computing node can first trigger the first cloud disk to generate a first data processing request for the first data, wherein the first data processing request for the first data may include the address of the first data in the first cloud disk and the identifier of the first cloud disk, etc. After obtaining the first data processing request for the first data, the first cloud disk can send the first data processing request for the first data to the first smart NIC management module of the first computing node.
[0014] In one possible implementation, the first smart network interface card (NIC) management module includes a first mapping table, which records the binding relationships between the identifiers of multiple cloud hard drives and the addresses of multiple smart NICs; the first smart NIC management module is used to determine the address of the first smart NIC bound to the identifier of the first cloud hard drive from the first mapping table; the first smart...A network interface card (NIC) management module is used to send a first data processing request to the first smart NIC based on its address. In the aforementioned implementation, the first smart NIC management module of the first computing node may include a first mapping table, which records the binding relationships between the identifiers of multiple cloud disks allocated to the first application of the first computing node and the addresses of multiple smart NICs. Since the first smart NIC management module of the first computing node can obtain the identifier of the first cloud disk from the first data processing request for the first data, the management module of the first computing node can determine the address of the first smart NIC bound to the identifier of the first cloud disk from the first mapping table. After obtaining the address of the first smart NIC, the first smart NIC management module of the first computing node can send the first data processing request for the first data to the first smart NIC based on its address. Therefore, the first smart NIC management module of the first computing node can manage the relationship between smart NICs and cloud disks through pre-binding, thereby achieving efficient management and selection of smart NICs.
[0015] In one possible implementation, the address of one of the multiple smart network interface cards (NICs) is bound to the identifier of at least one of the multiple cloud disks. In the aforementioned implementation, in the binding relationship recorded in the first mapping table, the address of one of the multiple smart NICs can be bound to the identifier of at least one of the multiple cloud disks allocated to the first application of the first computing node.
[0016] In one possible implementation, the first smart NIC management module includes a second mapping table, which records the binding relationship between the calculated values of multiple smart NICs and the addresses of the multiple smart NICs; the first smart NIC management module is used to calculate the identifier of the first cloud disk and the address of the data in the first cloud disk to obtain the calculated value of the first smart NIC; the first smart NIC management module is used to determine the address of the first smart NIC bound to the calculated value of the first smart NIC from the second mapping table; the first smart NIC management module is used to send a first data processing request to the first smart NIC based on the address of the first smart NIC. In the aforementioned implementation, the first smart NIC management module of the first computing node may include a second mapping table (view). The second mapping table records the calculated values of multiple smart NICs and the one-to-one binding relationships between the addresses of the multiple smart NICs. Since the first smart NIC management module of the first computing node can obtain the identifier of the first cloud disk and the location of the first data in the first cloud disk from the first data processing request for the first data, the first smart NIC management module of the first computing node can calculate the identifier of the first cloud disk and the location of the first data in the first cloud disk to obtain the calculated value of the first smart NIC. Therefore, the first...The smart network interface card (NIC) management module can determine the address of the first smart network interface card (NIC) bound to the calculated value of the first smart NIC from the second mapping table. After obtaining the address of the first smart NIC, the first smart NIC management module of the first computing node can send a first data processing request for the first data to the first smart NIC based on the address of the first smart NIC. Therefore, the first smart NIC management module of the first computing node can manage the relationship between the smart NIC and the cloud disk through a combination of advance view and real-time computing, thereby achieving efficient management and selection of the smart NIC.
[0017] In one possible implementation, the calculation includes a hash operation, and the calculated value of the first smart NIC includes the hash value of the first smart NIC. In the aforementioned implementation, the first smart NIC management module of the first computing node can perform a hash calculation on the identifier of the first cloud disk and the location of the first data in the first cloud disk to obtain the hash value of the first smart NIC.
[0018] In one possible implementation, the computing node cluster includes multiple computing nodes, and the smart network card cluster includes multiple smart network cards. Each computing node has one smart network card inserted, and the multiple smart network cards are shared by multiple computing nodes. The first smart network card is either the smart network card inserted in the first computing node or the smart network card inserted in the third computing node. In the aforementioned implementation, the multiple computing nodes included in the computing node cluster and the multiple smart network cards included in the smart network card cluster are in one-to-one correspondence. That is, each computing node has one smart network card inserted, and for any computing node (i.e., the aforementioned first computing node), the computing node can use not only the smart network card inserted in itself, but also the smart network cards inserted in other computing nodes (i.e., the aforementioned third computing node). That is, the computing node can communicate with the other computing nodes or the computing node can communicate with the smart network cards inserted in other computing nodes.
[0019] In one possible implementation, the computing node cluster includes multiple computing nodes, and the cloud service system further includes an offload card bearer node. The offload card bearer node has at least one smart network card from the smart network card cluster inserted into it. The at least one smart network card is shared by multiple computing nodes, and the first smart network card is the smart network card inserted into the offload card bearer node. In the aforementioned implementation specification, page 3 / 18, CN 121056456 A, the offload card bearer point serves as a channel between the computing node cluster and the smart network card cluster, enabling the computing node cluster to share the smart network cards in the smart network card cluster through the offload card bearer point.
[0020] In one possible implementation, the computing node cluster is connected to the smart network card cluster via a high-speed interconnect device; a first smart network card management module is used to send the address of the first smart network card and a first data processing request to the high-speed interconnect device. The address of the first smart network card is used by the high-speed interconnect device to send the first data processing request to the first smart network card.Request. In the aforementioned implementation, the first computing node is connected to multiple smart network cards through a high-speed interconnect device. Therefore, the first smart network card management module of the first computing node can first send the address of the first smart network card and the first data processing request for the first data to the high-speed interconnect device. Then, the high-speed interconnect device can send the first data processing request to the first smart network card based on the address of the first smart network card.
[0021] In one possible implementation, the first smart network card management module is further used to obtain the evaluation value of multiple smart network cards based on the performance indicators and status indicators of multiple smart network cards in the smart network card cluster; the first smart network card management module is further used to remove the address of the third smart network card whose evaluation value is less than or equal to the evaluation threshold from the first mapping table, and bind the identifier of the cloud disk bound to the address of the third smart network card to the address of the fourth smart network card, or remove the calculated value of the third smart network card whose evaluation value is less than or equal to the evaluation threshold and the address of the third smart network card from the second mapping table. In the aforementioned implementation, the first smart NIC management module of the first computing node can collect performance indicators and status indicators of multiple smart NICs in real time, and perform a series of calculations on these indicators to obtain evaluation values for the multiple smart NICs. When the first smart NIC management module of the first computing node contains a first mapping table, it can remove the address of a third smart NIC whose evaluation value is less than or equal to the evaluation threshold from the first mapping table, and bind the identifier of the cloud disk bound to the address of the third smart NIC to the address of a fourth smart NIC other than the third smart NIC. When the first smart NIC management module of the first computing node contains a second mapping table, it can remove the calculated value and address of a third smart NIC whose evaluation value is less than or equal to the evaluation threshold from the second mapping table. Therefore, the first smart network interface card (NIC) management module of the first computing node can calculate the evaluation values of multiple smart NICs in real time to determine the health status of multiple smart NICs, thereby performing health management and scaling down of multiple smart NICs.
[0022] In one possible implementation, the first smart NIC management module is further configured to, after detecting that the fifth smart NIC has been added to multiple smart NICs in the smart NIC cluster, generate a correspondence between the address of the fifth smart NIC and the identifier of at least one cloud disk among multiple cloud disks in the first mapping table, to obtain an updated first mapping table; or, in the second mapping table, generate a correspondence between the address of the fifth smart NIC and the calculated value of the fifth smart NIC, to obtain an updated second mapping table. In the aforementioned implementation, the first smart NIC management module of the first computing node detects that the storageAfter the fifth smart network interface card (NIC) is added to multiple smart NICs, it indicates that the number of smart NICs has increased. When the first smart NIC management module of the first computing node has a first mapping table, it can generate a correspondence between the address of the fifth smart NIC and the identifier of at least one cloud disk among the multiple cloud disks of the first computing node, thereby obtaining an updated first mapping table. When the first smart NIC management module of the first computing node has a second mapping table, it can generate a correspondence between the address of the fifth smart NIC and the calculated value of the fifth smart NIC in the second mapping table, thereby obtaining an updated second mapping table. Therefore, the first smart NIC management module of the first computing node can update the contents of the first or second mapping table in real time after determining that multiple smart NICs are being expanded, in order to manage the binding relationship between smart NICs and cloud disks (see page 4 / 18 of the specification, CN 121056456 A).
[0023] A second aspect of this application provides a data processing method based on a cloud service system. The cloud service system includes infrastructure that provides cloud services to tenants. The infrastructure includes a computing node cluster, a smart network interface card (NIC) cluster, and a storage node cluster. A first computing node in the computing node cluster includes a first application of the tenant and a first smart NIC management module that manages the first application. The storage node cluster is used to store multiple data of the first application. The method includes: the first application sending a first data processing request to the first smart NIC management module, the first data processing request including information of the first data to be processed and an identifier of the first application; the first smart NIC management module determining a first smart NIC from the smart NIC cluster based on the information of the first data included in the first data processing request and / or the identifier of the first application, and sending the first data processing request to the first smart NIC; the first smart NIC sending a first notification to a first storage node in the storage node cluster based on the first data processing request; and the first storage node processing the first data based on the first notification, the multiple data including the first data.
[0024] In one possible implementation, the second computing node in the computing node cluster includes a tenant's second application and a second smart NIC management module for managing the second application. The method further includes: the second application sending a second data processing request to the second smart NIC management module, the second data processing request including information about second data to be processed and an identifier of the second application; the second smart NIC management module determining a second smart NIC from the smart NIC cluster based on the information about the second data contained in the second data processing request and / or the identifier of the second application, and sending the second data processing request to the second smart NIC; the second smart NIC, based on the second data processing request, sending data to a second storage node in the storage node cluster.A second notification is sent; the second storage node processes the second data based on the second notification.
[0025] In one possible implementation, the first smart network card management module allocates multiple cloud disks to the first application. The first application sending a first data processing request to the first smart network card management module includes: the first application triggering the first cloud disk among the multiple cloud disks to generate a first data processing request; the first cloud disk sending the first data processing request to the first smart network card management module, the first data processing request containing information about the first data to be processed and the identifier of the first cloud disk, the information about the first data containing the address of the first data in the first cloud disk.
[0026] In one possible implementation, the first smart network interface card (NIC) management module includes a first mapping table, which records the binding relationships between the identifiers of multiple cloud disks and the addresses of multiple smart NICs. The first smart NIC management module determines the first smart NIC from the smart NIC cluster based on the information contained in the first data processing request and / or the identifier of the first application, and sends the first data processing request to the first smart NIC. This includes: the first smart NIC management module determining the address of the first smart NIC bound to the identifier of the first cloud disk from the first mapping table; and the first smart NIC management module sending the first data processing request to the first smart NIC based on the address of the first smart NIC.
[0027] In one possible implementation, the address of one smart NIC among the multiple smart NICs is bound to the identifier of at least one cloud disk among the multiple cloud disks.
[0028] In one possible implementation, the first smart network interface card (NIC) management module includes a second mapping table, which records the calculated values of multiple smart NICs and the binding relationships between the addresses of the multiple smart NICs. The first smart NIC management module determines the first smart NIC from the smart NIC cluster based on the information contained in the first data processing request and / or the identifier of the first application, and sends the first data processing request to the first smart NIC. This includes: the first smart NIC management module calculating the identifier of the first cloud disk and the address of the first data in the first cloud disk to obtain the calculated value of the first NIC; the first smart NIC management module determining the address of the first smart NIC bound to the calculated value of the first smart NIC from the second mapping table; and the first smart NIC management module sending the first data processing request to the first smart NIC based on the address of the first smart NIC. Specification 5 / 18 pages 11 CN 121056456 A
[0029] In one possible implementation, the calculation includes a hash operation, and the calculated value of the first smart NIC includes the hash value of the first smart NIC.
[0030] In one possible implementation, the computing node cluster includes multiple computing nodes, the smart network card cluster includes multiple smart network cards, each computing node has one smart network card inserted, and the multiple smart network cards are shared by multiple computing nodes.A smart network card is either a smart network card inserted into a first computing node or a smart network card inserted into a third computing node.
[0031] In one possible implementation, the computing node cluster includes multiple computing nodes, and the cloud service system further includes an offload card bearer node. The offload card bearer node has at least one smart network card inserted into the smart network card cluster. The at least one smart network card is shared by multiple computing nodes, and the first smart network card is a smart network card inserted into the offload card bearer node.
[0032] In one possible implementation, the computing node cluster is connected to the smart network card cluster through a high-speed interconnect device. The first smart network card management module sends a first data processing request to the first smart network card based on the address of the first smart network card. This includes: the first smart network card management module sending the address of the first smart network card and the first data processing request to the high-speed interconnect device. The address of the first smart network card is used by the high-speed interconnect device to send the first data processing request to the first smart network card.
[0033] In one possible implementation, the method further includes: a first smart network interface card (NIC) management module obtaining evaluation values of multiple smart NICs based on performance indicators and status indicators of multiple smart NICs in the smart NIC cluster; the first smart NIC management module removes the address of a third smart NIC whose evaluation value is less than or equal to the evaluation threshold from the first mapping table, and binds the identifier of the cloud disk bound to the address of the third smart NIC to the address of a fourth smart NIC; or, removes the calculated value of the third smart NIC whose evaluation value is less than or equal to the evaluation threshold and the address of the third smart NIC from the second mapping table.
[0034] In one possible implementation, the method further includes: after the first smart network card management module detects that the fifth smart network card has been added to multiple smart network cards in the smart network card cluster, it generates a correspondence between the address of the fifth smart network card and the identifier of at least one cloud disk among the multiple cloud disks in a first mapping table to obtain an updated first mapping table; or, in a second mapping table, it generates a correspondence between the address of the fifth smart network card and the calculated value of the fifth smart network card to obtain an updated second mapping table.
[0035] A third aspect of the present application provides a computing device cluster, which includes at least one computing device, each computing device including a processor and a memory: the memory is used to store instructions; the processor is used to cause the computing device cluster to perform the method described in the second aspect or any possible implementation of the second aspect according to the instructions.
[0036] A fourth aspect of the present application provides a computer storage medium storing one or more instructions, which, when executed by one or more computers, cause one or more computers to perform the method described in the second aspect or any possible implementation of the second aspect.
[0037] The fifth aspect of this application provides a computer program product that stores instructions that, when executed by a computer, cause the computer to implement the method described in the second aspect or any possible implementation of the second aspect.
[0038] In this application embodiment, for a first computing node in a computing node cluster, the first smart network interface card (NIC) management module of the first computing node can manage the first application of the tenant in the first computing node. When the first application of the first computing node needs to process first data, the first application of the first computing node will forward a first data processing request for the first data to the first smart NIC management module of the first computing node. Since the first data processing request contains information about the first data and the identifier of the first application of the first computing node, the first smart NIC management module of the first computing node can select a first smart NIC from the smart NIC cluster based on the information about the first data and the identifier of the first application of the first computing node, and forward the first data processing request to the first smart NIC. Subsequently, the first smart NIC can notify the first storage node in the storage node cluster that stores the first data based on the first data processing request to complete the processing of the first data, thereby obtaining the processing result of the first data. Therefore, even if a tenant's application (i.e., the aforementioned first application) on a certain computing node (i.e., the first computing node mentioned above) has the need to process multiple data (i.e., the aforementioned first data) simultaneously, the smart NIC management module of that computing node (i.e., the aforementioned first smart NIC management module mentioned above) can select one or more smart NICs (i.e., the aforementioned first smart NICs) from the smart NIC cluster to meet the need. Since there can be multiple smart NICs selected, these smart NICs combined together are equivalent to increasing the performance ceiling, no longer limited by the performance of a single smart NIC. This is conducive to simultaneously and quickly completing the tenant's application's processing needs for multiple data, thereby ensuring the stability of the tenant's application business.
[0039] Figure 1 is a schematic diagram of a cloud service system provided in an embodiment of this application;
[0040] Figure 2 is another schematic diagram of a cloud service system provided in an embodiment of this application;
[0041] Figure 3 is a flowchart of a data processing method based on a cloud service system provided in an embodiment of this application;
[0042] Figure 4 is another schematic diagram of a cloud service system provided in an embodiment of this application;
[0043] Figure 5 is another schematic diagram of a cloud service system provided in an embodiment of this application;
[0044] Figure 6 is a schematic diagram of view updating provided in an embodiment of this application;
[0045] Figure 7 is a schematic diagram of a computing device provided in an embodiment of this application;
[0046] Figure 8 is a schematic diagram of a computing device cluster provided in an embodiment of this application;
[0047] Figure 9 is a schematic diagram of computer devices in a computer cluster connected via a network according to an embodiment of this application. Detailed Implementation
[0048] This application provides a cloud service system and a data processing method based on the cloud service system, which can simultaneously and quickly complete the processing needs of a tenant's application for several data items, thereby ensuring the business stability of the tenant's application.
[0049] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or device that comprises a series of units is not necessarily limited to those units, but may include other units not explicitly listed or inherent to these processes, methods, products, or devices.
[0050] With the rapid development of cloud technology, cloud vendors adopt a storage-compute separation architecture to build cloud service systems. This architecture can include mutually isolated computing nodes and storage nodes. Computing nodes are used to deploy tenant applications, and storage nodes are used to store the data of these applications. When an application on a computing node needs to process data, the computing node can access the storage node to complete the data processing at the storage node.
[0051] In related technologies, a cloud service system built based on a storage-compute separation architecture can include multiple computing nodes and multiple storage nodes. Each computing node is connected to an additional smart network interface card (NIC). Each computing node can offload certain operations in the data processing process to the smart NIC, which can reduce the processor resource consumption of the computing node and improve the computing power and available resources of the computing node. For example, when an application on a computing node needs to process certain data, the computing node can send a data processing request for that data to a smart network interface card (NIC) connected to the computing node. The smart NIC, based on the data processing request, determines the storage node containing the data from among multiple storage nodes and instructs that storage node to complete the data processing.
[0052] However, since the computing node and smart NIC operate in a one-to-one model, when an application on a computing node needs to process multiple data points, the performance of a single smart NIC (e.g., throughput) is limited, preventing the smart NIC from simultaneously meeting the processing needs of multiple data points, thus impairing the business operations of the computing node's application.
[0053] Furthermore, if the smart NIC of a computing node fails, and the computing node has no additional smart NIC available for replacement, this will also impair the business operations of the computing node's application.
[0054] To address the aforementioned issues, this application provides a data processing method based on a cloud service system. This method can be implemented through cloud services. Figure 1 is a structural diagram of the cloud service system provided in this application embodiment. As shown in Figure 1, the cloud service system includes infrastructure that can provide cloud services and a cloud management platform that manages this infrastructure. The cloud management platform and the infrastructure are described below:
[0055] The cloud management platform can manage the infrastructure in the entire cloud service system in a unified manner. The cloud management platform can also be opened to tenants outside the cloud service system and respond to their requests. For example, the cloud management platform can provide various interfaces such as login interfaces and creation interfaces for tenant clients (e.g., the terminal devices used by the tenant or the browsers on the terminal devices, etc.) to access. Among them, the cloud management platform can authenticate the tenant's client through the login interface. After successful authentication, the tenant's client can be allowed to log in to the cloud management platform. As another example, the cloud management platform can also allow the tenant's client to send a resource creation request to the cloud management platform through the creation interface. Therefore, the cloud management platform can create a computing node cluster, smart network card cluster, and storage node cluster for the tenant based on the indication of the request. The compute nodes in the compute node cluster can be used to run applications specified by the tenant. When a tenant uses an application on a compute node in the compute node cluster to process certain data, the application can generate a data processing request for the data. The management model of the compute node selects a smart network card from the smart network card cluster and forwards the data processing request to the smart network card. Based on the data processing request, the smart network card determines the storage node where the data is located from the storage node cluster and notifies the storage node to complete the processing of the data, thereby obtaining the processing result of the data.
[0056] As shown in Figure 2 (Figure 2 is another structural schematic diagram of the cloud service system provided in the embodiment of this application), the infrastructure includes a compute node cluster, a smart network card cluster, and a storage node cluster serving the tenant. The following describes these three resource pools respectively:
[0057] For any one of the multiple compute nodes in the compute node cluster, the compute node can deploy the tenant's application and a smart network card management module (also called a virtualization management system) that manages these applications. The smart network card management module of the compute node can include a resource allocation module, a network card management submodule, and a data routing submodule. The resource allocation module of this compute node is used to virtualize the physical storage resources (i.e., the physical storage devices) of the storage node and allocate the virtualized storage resources (e.g., cloud disks) to tenant applications. The smart NIC management module of this compute node can sense the address and other information of each smart NIC in the smart NIC cluster.The load indicators and status indicators of each smart network card are used to dynamically manage all smart network cards in the smart network card cluster. The data routing module of the computing node can submit data processing requests from the application to one or more specific smart network cards in the smart network card cluster for processing according to a certain routing strategy.
[0058] It should be noted that the computing node can connect to a high-speed interconnect device through its own local interconnect device (e.g., the network interface in the physical network resources of the computing node, etc.) to communicate with the smart network card cluster specification page 8 / 18 14 CN 121056456 A through the high-speed interconnect device.
[0059] For any one of the multiple smart network cards in the smart network card cluster, the smart network card can be deployed with a storage client. The storage client of the smart network card is used to process data processing requests for certain data sent from a certain computing node, so as to notify the storage node storing the data to complete the processing of the data. The storage client of the smart network card can also be used to collect the load indicators (e.g., resource utilization rate of the smart network card, request processing latency of the smart network card, etc.) and status indicators (e.g., whether the smart network card has failed, whether the physical link between the smart network card and the computing node cluster and the storage node cluster is disconnected, etc.) in real time, so as to report to the smart network card management module of each computing node, thereby satisfying the management of the smart network card by the smart network card management module of each computing node.
[0060] It should be noted that the smart network cards of the smart network card cluster can communicate with the computing nodes in the computing node cluster through one or more high-speed interconnect devices (e.g., various types of switches, etc., the high-speed interconnect device can provide two sets of ports, one set of ports can be used for multiple computing nodes to access the high-speed interconnect device, and the other set of ports can be used for multiple smart network cards to access the high-speed interconnect device), that is, the high-speed interconnect device can constitute the physical link between the smart network card cluster and the computing node cluster. It is worth noting that smart NIC clusters can also be connected without a high-speed interconnect device. For example, the multiple computing nodes in a compute node cluster correspond one-to-one with the multiple smart NICs in the smart NIC cluster. That is, each compute node has one smart NIC, and any given compute node can use not only its own smart NIC but also those of other compute nodes. In other words, the compute node can communicate with other compute nodes or with the smart NICs of other compute nodes. Furthermore, the cloud service system also includes an offload card bearer node, which has at least one smart NIC from the smart NIC cluster. This smart NIC can be shared by multiple compute nodes in the compute node cluster.The offload card bearer serves as a channel between the compute node cluster and the smart NIC cluster, enabling the compute node cluster to share the smart NICs in the smart NIC cluster through the offload card bearer.
[0061] For any one of the multiple storage nodes in the storage node cluster, the storage node may be equipped with a storage service client, which is used to complete the processing of one or more data under the notification of the storage client of the smart NIC. It is understood that the storage service client of the storage node can manage the physical storage devices (e.g., mechanical hard disk drives and solid-state drives) on the storage node, for example, writing the tenant's application data to these physical storage devices, or reading the tenant's application data from these physical storage devices, or modifying the tenant's application data in these physical storage devices, etc.
[0062] Further, the compute nodes in the compute node cluster and the storage nodes in the storage node cluster usually refer to physical instances in the infrastructure. For example, the compute nodes and storage nodes may be physical servers selected by the cloud management platform, or bare metal servers (BMS) selected by the cloud management platform, etc.
[0063] Further, the tenant's application can be presented in various ways. For example, the tenant's application can be data processing software, such as a file system, etc. Alternatively, the tenant's application can be a virtual instance in the infrastructure. For example, the tenant's application can be a virtual machine (VM) created on the computing node by the cloud management platform using virtualization technology. Alternatively, the tenant's application can be a container (Docker) created on the computing node by the cloud management platform using virtualization technology. Alternatively, the tenant's application can be a micro virtual machine (microVM) created on the computing node by the cloud management platform using virtualization technology, etc.
[0064] Further, for the tenant's computing node cluster, smart network card cluster, and storage node cluster, these resource pools can be deployed in the same site or different sites. The site can be presented in various forms. For example, the site can be a region in the infrastructure, an availability zone in the infrastructure, or a data center in the infrastructure. For example, a site can be a computer room in the infrastructure, or a server rack in the infrastructure, etc.
[0065] Furthermore, the communication between the high-speed interconnect device and the computing node, as well as the communication between the high-speed interconnect device and the smart network card, both use proprietary communication protocols, which will not be elaborated here.
[0066] Furthermore, the communication between the smart network interface card (NIC) and the storage node can adopt standard communication protocols such as Transmission Control Protocol (TCP) and Remote Direct Memory Access over Converged Ethernet (RoCE).
[0067] Based on the above cloud service system, it can be seen that for any computing node in the computing node cluster, the smart NIC management module of the computing node can allocate multiple dedicated cloud disks for the applications of the tenants in the computing node. From the perspective of the tenant's application, its data is "stored" in the cloud disk allocated to it. Therefore, the tenant's application will trigger its cloud disk to generate a data processing request for a certain data, so that the cloud disk will forward the data processing request for the data to the smart NIC management module of the computing node. Then, the smart NIC management module of the computing node can select a smart NIC from the smart NIC cluster and forward the data processing request for the data to the smart NIC. Subsequently, the smart NIC can determine the storage node storing the data from the storage node cluster based on the data processing request for the data, and notify the storage node to complete the processing of the data, thereby obtaining the processing result. Thus, even if the tenant's application on the compute node has a need to process multiple data simultaneously, the smart NIC management module of the compute node can select one or more smart NICs from the smart NIC cluster to meet the requirement. Since multiple smart NICs can be selected, combining these smart NICs effectively increases the performance ceiling, no longer limited by the performance of a single smart NIC. This facilitates the simultaneous and rapid completion of the tenant's application's processing needs for multiple data, thereby ensuring the stability of the tenant's application business. To further understand the workflow of the above cloud service system, the following description, in conjunction with Figure 3, further illustrates the workflow. Figure 3 is a flowchart illustrating a data processing method based on a cloud service system provided in this application embodiment. As shown in Figure 3, this method can be implemented through a cloud service system as shown in Figure 1. The cloud service system includes a compute node cluster, a smart NIC cluster, and a storage node cluster. The compute node cluster contains multiple compute nodes, the smart NIC cluster contains multiple smart NICs, and the storage node cluster contains multiple storage nodes. Since the operations performed by each of these multiple computing nodes are similar—for example, the operations performed by the first computing node and the second computing node are similar—the following description uses the first computing node (which can be any one of these multiple computing nodes, and similarly, the second computing node can be any one of these multiple computing nodes other than the first computing node) as an example for illustration, and will not be elaborated further. Assume that the first computing node contains the tenant's first application.The method includes:
[0068] 301. The first application of the first computing node sends a first data processing request to the first smart network interface card management module of the first computing node. The first data processing request includes information about the first data to be processed and the identifier of the first application.
[0069] In this embodiment, when the first application of the tenant in the first computing node needs to process the first data (the first data is one or more of the multiple data of the tenant's first application) (for example, it needs to write the first data, read the first data, or modify the first data, etc.), the first application of the first computing node can send a first data processing request for the first data to the first smart network interface card management module of the first computing node. It should be noted that the first data processing request for the first data may include information associated with the first data and the identifier of the first application of the first computing node.
[0070] Specifically, the first application of the first computing node can generate and send a first data processing request for the first data in the following way:
[0071] Since the first smart network card management module of the first computing node can allocate multiple cloud disks for the first application of the first computing node, the object processed by the first application of the first computing node is the data stored on these multiple cloud disks. Based on this, when the first application of the first computing node needs to process the first data of the first cloud disk among these multiple cloud disks, the first application of the first computing node can first trigger the first cloud disk to generate a first data processing request for the first data. It should be noted that the first data processing request for the first data may include information associated with the first data and the identifier of the first application of the first computing node. For example, the information associated with the first data may include the address of the first data on the first cloud disk, etc., and the identifier of the first application of the first computing node may include the unique identifier of the first cloud disk in the computing node cluster, etc.
[0072] After obtaining the first data processing request for the first data, the first cloud disk can send the first data processing request for the first data to the first smart network card management module of the first computing node.
[0073] For example, as shown in Figure 4 (Figure 4 is another structural schematic diagram of the cloud service system provided in this application embodiment), a file system (i.e., the aforementioned first application) is deployed on computing node 1, and the virtualization management system of computing node 1 (i.e., the aforementioned first smart network card management module) allocates cloud disk C, cloud disk D, and cloud disk E to the file system. When the file system of computing node 1 needs to read the target file (i.e., the aforementioned first application) from the positions of the 1st to the 10th lines in cloud disk C...The file system of computing node 1 can trigger cloud disk C to generate a data processing request for the target file. The data processing request includes the position of the target file in cloud disk C (i.e., lines 1 to 10 of cloud disk C) and the unique identifier of cloud disk C (in the entire computing node cluster). It should be noted that the position of the target file in cloud disk C can be presented through logical block addressing (LBA) or other methods.
[0074] Then, cloud disk C can send the data processing request for the target file to the virtualization management system.
[0075] 302. The first smart network card management module determines the first smart network card from the smart network card cluster based on the information contained in the data processing request and / or the identifier of the first application, and sends the first data processing request to the first smart network card;
[0076] 303. Based on the first data processing request, the first smart network card sends a first notification to the first storage node in the storage node cluster;
[0077] 304. Based on the first notification, the first storage node processes the first data, and multiple data contain the first data.
[0078] After receiving the first data processing request for the first data, the first smart NIC management module of the first computing node can first parse the first data processing request for the first data to obtain information associated with the first data and the identifier of the first application of the first computing node. Then, the first smart NIC management module of the first computing node can select the first smart NIC in the smart NIC cluster based on at least one of the information associated with the first data and the identifier of the first application of the first computing node, and send the first data processing request for the first data to the first smart NIC.
[0079] Then, based on the first data processing request for the first data, the first smart NIC can determine that the first data needs to be processed. Therefore, the first smart NIC can determine the first storage node storing the first data in the storage node cluster and send a first notification to the first storage node. The first notification is used to instruct the first data to be processed. In this way, the first storage node can process the first data based on the first notification to obtain the processing result of the first data.
[0080] Specifically, the first smart network interface card (NIC) management module of the first computing node can determine the first smart NIC in the following ways: Specification 11 / 18 pages 17 CN 121056456 A
[0081] (1) The first smart NIC management module of the first computing node may include a first mapping table, which records the binding relationship between the identifiers of multiple cloud disks allocated to the first application of the tenant in the first computing node and the addresses of multiple smart NICs in the smart NIC cluster. Further, in this binding relationship, the address of one of the multiple smart NICs may be bound to the identifier of at least one cloud disk among the multiple cloud disks.
[0082] Since the first smart NIC management module of the first computing node has parsed the identifier of the first cloud disk from the first data processing request for the first data, the management module of the first computing node can determine the address of the first smart NIC bound to the identifier of the first cloud disk from the first mapping table. It should be noted that the number of first smart NICs can be one or more. For example, when there is only one first cloud disk, but the first data that the tenant's first application needs to process is a single piece of data on the first cloud disk, the first smart NIC can be one of these multiple smart NICs. Similarly, when there is only one first cloud disk, but the first data that the tenant's first application needs to process is several pieces of data on the first cloud disk, the first smart NIC can be one or more of these multiple smart NICs. Furthermore, when there are multiple first cloud disks (meaning the tenant's first application needs to process multiple pieces of data on different cloud disks), the first smart NIC can be one or more of these multiple smart NICs.
[0083] After obtaining the address of the first smart network card, the first smart network card management module of the first computing node can send a first data processing request for the first data to the first smart network card based on the address of the first smart network card.
[0084] As in the example above, after obtaining the data processing request for the target file, the virtualization management system can parse the data processing request to obtain the location of the target file in cloud disk C and the identifier of cloud disk C. Since the virtualization management system has a mapping table that records the binding relationship between the identifiers of multiple cloud disks and the addresses of multiple smart network cards, for example, the address of smart network card 1 is bound to the identifiers of cloud disk D and cloud disk E, and the address of smart network card 2 is bound to the identifier of cloud disk C.
[0085] Then, the virtualization management system can determine the address of smart network card 2 bound to the identifier of cloud disk C in the mapping table, so the virtualization management system can send the data processing request for the target file to smart network card 2 based on the address of smart network card 2.
[0086] (2) The first smart NIC management module of the first computing node may include a second mapping table (also called a view), which records the calculated values of multiple smart NICs and the one-to-one binding relationship between the addresses of multiple smart NICs. It should be noted that the first smart NIC management module of the first computing node may pre-determine a range of calculated values, and this range is composed of the calculated values of these multiple smart NICs.
[0087] Since the first smart NIC management module of the first computing node has parsed the identifier of the first cloud disk and the location of the first data in the first cloud disk from the first data processing request for the first data, the first smart NIC management module of the first computing node can identify the identifier of the first cloud disk and the location of the first data in the first cloud disk.A series of calculations are performed, ensuring the result falls within the aforementioned calculated value range, thus ultimately yielding the calculated value of the first smart network interface card (NIC). The first smart NIC management module of the first computing node can then determine the address of the first smart NIC bound to its calculated value from the second mapping table. Further, this calculated value range can be a circular hash value range, which can be divided into multiple consecutive value ranges. Since each value range is assigned to a specific smart NIC, this hash value range can be considered as containing the hash values of all smart NICs. Based on this, the first smart NIC management module of the first computing node can perform hash calculations on the identifier of the first cloud disk and the location of the first data within the first cloud disk. This calculation process ensures the result falls within the aforementioned hash value range, thus ultimately yielding the hash value of the first smart NIC. Instruction manual, pages 12 / 18, CN 121056456 A
[0088] After obtaining the address of the first smart network card, the first smart network card management module of the first computing node can send a first data processing request for the first data to the first smart network card based on the address of the first smart network card.
[0089] As in the above example, as shown in Figure 5 (Figure 5 is another structural schematic diagram of the cloud service system provided in the embodiment of this application), after obtaining the data processing request for the target file, the virtualization management system can parse the first data processing request to obtain the location of the target file in the cloud disk C and the identifier of the cloud disk C. Since the virtualization management system has a view that presents a circular hash value range, this hash value range is divided into 8 value ranges, which are respectively assigned to the 8 smart network cards in the smart network card cluster, namely smart network card 1 to smart network card 8. Therefore, this hash value range can be understood as the hash value of smart network card 1 to the hash value of smart network card 8, and the hash value of smart network card 1 is bound to the address of smart network card 1, ..., the hash value of smart network card 8 is bound to the address of smart network card 8.
[0090] Then, the virtualization management system can perform hash calculation on the location of the target file in cloud disk C and the identifier of cloud disk C. This hash calculation will ensure that the calculation result falls within the hash value range. Assume that the calculation result is the address of smart network card 2. Subsequently, the virtualization management system can send the data processing request for the target file to smart network card 2 based on the address of smart network card 2.
[0091] More specifically, the first smart network card management module of the first computing node can send a first data processing request for the first data to the first smart network card in the following manner:
[0092] Since the first computing node is connected to multiple smart network cards through a high-speed interconnect device, the first smart network card management module of the first computing node can send the address and pin of the first smart network card to the first smart network card through the local interconnect device of the first computing node.A first data processing request for the first data is sent to a high-speed interconnect device. Then, the high-speed interconnect device can send the first data processing request for the first data to the first smart network card based on the address of the first smart network card. It is worth noting that this process uses a proprietary communication protocol.
[0093] More specifically, the first smart network card can instruct the first storage node to process the first data in the following way:
[0094] After receiving the first data processing request for the first data, the first smart network card can parse the first data processing request to obtain the identifier of the first cloud hard drive and the location of the first data in the first cloud hard drive. Next, the first smart network card can translate the location of the first data in the first cloud hard drive into the location of the first data in the first storage node (i.e., the location of the first data in a certain storage device of the first storage node), which is equivalent to determining the first storage node storing the first data. Then, the first smart network card can generate a first notification for the first data, which includes the identifier of the first cloud hard drive and the location of the first data in the first storage node. Subsequently, the first smart network interface card (NIC) can send a first notification for the first data to the first storage node, so that the first storage node can parse the first notification for the first data, obtain the location of the first data in the first storage node, and complete the processing of the first data based on the location, thereby obtaining the processing result of the first data, indicating that the first data has been successfully processed.
[0095] Still as in the above example, after the service client of the smart NIC 2 receives the data processing request for the target file, it can parse the data processing request to obtain the identifier of the cloud disk C and the location of the target file in the cloud disk C, and convert it into the location of the target file in the storage node 1. Then, the smart NIC 2 can generate a new data processing request for the target file (i.e., the aforementioned first notification), the new data processing request includes the identifier of the cloud disk C and the location of the target file in the storage node 1, and send the new data processing request to the storage node 1. Then, the storage service client of the storage node 1 can parse the new data processing request to obtain the location of the target file in the storage node 1, and successfully read the target file based on the location, which is the processing result of the target file, indicating that the target file has been successfully read.
[0096] More specifically, the first storage node can return the processing result of the first data in the following manner:
[0097] After obtaining the processing result of the first data, the first storage node can generate a data processing response for the first data (see page 13 / 18 of CN 121056456 A). The data processing response includes the identifier of the first cloud hard disk and the processing result of the first data. Since the data processing response includes the identifier of the first cloud hard disk, the first storage node can return the data processing response to the first smart network card along the original communication path, so that the first smart network card can return the data processing response to the first cloud hard disk of the first computing node.The disk is used to provide the processing result of the first data in the data processing response to the tenant's first application.
[0098] As in the example above, after obtaining the target file, the storage service client of storage node 1 can generate a data processing response for the target file. The data processing response includes the identifier of cloud disk C and the target file, and returns the data processing response to the storage client of smart network card 2, so that the storage client of smart network card 2 returns the data processing response to the cloud disk C of the first computing node, and then the cloud disk C provides the target file in the response to the tenant's file system.
[0099] More specifically, the management of the first computing node can also perform the following operations:
[0100] The first smart network card management module of the first computing node can collect the performance indicators and status indicators of multiple smart network cards in the smart network card cluster in real time, and perform a series of calculations on the performance indicators and status indicators of multiple smart network cards to calculate the evaluation value of multiple smart network cards. The evaluation value of multiple smart network cards is used to indicate the health status of multiple smart network cards. Generally, the smaller the evaluation value of a smart network card, the less healthy the smart network card is; the larger the evaluation value of a smart network card, the healthier the smart network card is.
[0101] When the first smart network card management module of the first computing node contains a first mapping table, the first smart network card management module of the first computing node can remove the address of the third smart network card whose evaluation value is less than or equal to the evaluation threshold (the size of the threshold can be set according to actual needs, and is not limited here) from the first mapping table, and bind the identifier of the cloud disk bound to the address of the third smart network card to the address of the fourth smart network card other than the third smart network card.
[0102] When the first smart network card management module of the first computing node contains a second mapping table, the first smart network card management module of the first computing node can remove the calculation value of the third smart network card whose evaluation value is less than or equal to the evaluation threshold and the address of the third smart network card from the second mapping table. Furthermore, when the calculated value of the third smart network card is a hash value, since the hash values of multiple smart network cards form a circular hash value range, the first smart network card management module of the first computing node can assign the hash value of the third smart network card to the fourth smart network card other than the third smart network card. This is equivalent to removing the hash value of the third smart network card and increasing the hash value of the fourth smart network card, thus keeping the circular hash value range unchanged.
[0103] For example, as shown in Figure 6 (Figure 6 is a schematic diagram of view update provided in the embodiment of this application, Figure 6 is drawn on the infrastructure of Figure 5), for any computing node's virtualized storage system, the virtualized storage system of the computing node can detect the health of smart network cards 1 to 8 in real time. Suppose the virtualized storage system detects the health of smart network cards 1 to 8.When the health of network card 3 (i.e., the aforementioned evaluation value) is less than the health threshold (i.e., the aforementioned evaluation value threshold), since the virtualization storage system has a view, in this view, the virtualization storage system can hand over the hash value of smart network card 3 to smart network card 2, which is equivalent to removing the hash value of smart network card 3, while the hash value of smart network card 2 increases, so that the hash value range of the entire ring remains unchanged.
[0104] More specifically, the management of the first computing node can also perform the following operations:
[0105] After the first smart network card management module of the first computing node detects that a fifth smart network card has been added to multiple smart network cards, it is equivalent to detecting that the smart network card cluster has been expanded, resulting in a new smart network card cluster.
[0106] When the first smart NIC management module of the first computing node has a first mapping table, the first smart NIC management module of the first computing node can generate a correspondence between the address of the fifth smart NIC (i.e., the new smart NIC) and the identifier of at least one cloud disk among the multiple cloud disks of the first computing node in the first mapping table, so as to update the content of the first mapping table (pages 14 / 18 of the specification, 20 CN 121056456 A), thereby obtaining the updated first mapping table.
[0107] When the first smart NIC management module of the first computing node has a second mapping table, the first smart NIC management module of the first computing node can generate a correspondence between the address of the fifth smart NIC and the calculated value of the fifth smart NIC in the second mapping table, so as to update the content of the second mapping table, thereby obtaining the updated second mapping table. Furthermore, when the calculated value of the fifth smart network card is a hash value, the first smart network card management module of the first computing node can use a portion of the hash value of the sixth smart network card (i.e., a certain original smart network card in the original smart network card cluster) in the original smart network card cluster as the hash value of the fifth smart network card. This is equivalent to adding a new hash value of the smart network card and reducing the hash value of the original smart network card. This can keep the range of hash values in the ring unchanged.
[0108] More specifically, this embodiment further includes:
[0109] A second computing node in the computing node cluster includes a tenant's second application and a second smart NIC management module for managing the second application; the second application is used to send a second data processing request to the second smart NIC management module, the second data processing request including information about the second data to be processed and an identifier of the second application; the second smart NIC management module is used to determine a second smart NIC from the smart NIC cluster based on the information contained in the second data processing request and / or the identifier of the second application, and send the second data processing request to the second smart NIC; the second smart NIC is used to send a second notification to a second storage node in the storage node cluster based on the second data processing request; the second storage node is used to process the second data based on the second notification.
[0110] It should be noted that the above steps can be referred to the relevant descriptions of steps 301 to 304, and will not be repeated here.
[0111] In this embodiment of the application, for the first computing node in the computing node cluster, the first smart network card management module of the first computing node can manage the first application of the tenant in the first computing node. When the first application of the first computing node needs to process the first data, the first application of the first computing node will forward the first data processing request for the first data to the first smart network card management module of the first computing node. Since the first data processing request contains the information of the first data and the identifier of the first application of the first computing node, the first smart network card management module of the first computing node can select the first smart network card from the smart network card cluster based on the information of the first data and the identifier of the first application of the first computing node, and forward the first data processing request to the first smart network card. Subsequently, the first smart network card can notify the first storage node in the storage node cluster that stores the first data based on the first data processing request to complete the processing of the first data, thereby obtaining the processing result of the first data. Therefore, even if a tenant's application (i.e., the aforementioned first application) on a certain computing node (i.e., the aforementioned first computing node) has a need to process multiple data (i.e., the aforementioned first data) simultaneously, the smart NIC management module of the computing node (i.e., the aforementioned first smart NIC management module) can select one or more smart NICs (i.e., the aforementioned first smart NICs) from the smart NIC cluster to meet the need. Since there can be multiple smart NICs selected, these smart NICs combined together are equivalent to increasing the performance ceiling, no longer limited by the performance of a single smart NIC, which is conducive to simultaneously and quickly completing the tenant's application's processing needs for multiple data, thereby ensuring the business stability of the tenant's application.
[0112] Further, in this embodiment of the application, since there are multiple smart NICs that can serve the computing node, even if a single smart NIC fails and becomes unavailable, the remaining smart NICs can also serve as backups for the smart NIC to provide corresponding data processing services for the tenant's application in the computing node, which can further ensure the business stability of the tenant's application.
[0113] Further, in this embodiment of the application, the smart network interface card (NIC) management module of the computing node can manage multiple smart NICs through a view, thereby realizing health management, expansion, and shrinkage of the smart NIC cluster, so that the smart NIC cluster can provide tenant applications with higher quality and more reliable data processing services. Specification 15 / 18 pages 21 CN 121056456 A
[0114] The above is a detailed description of the data processing method based on the cloud service system provided in the embodiment of this application. The following will introduce the computing device and computing device cluster provided in the embodiment of this application. Please refer to Figure 7, Figure 7 isA schematic diagram of the computing device provided in this application embodiment. As shown in FIG7, the computing device 700 (which can be used to present any one of the aforementioned cloud service system computing nodes, any one of the smart network cards and any one of the storage nodes; for ease of explanation, the computing device is presented as the first computing node in the following illustrative description) includes: a processor 701, a memory 702, a communication interface 703 and a bus 704. The processor 701, the memory 702 and the communication interface 703 are coupled through the bus (not marked in the figure). The memory 702 stores instructions. When the execution instructions in the memory 702 are executed, the computing device 700 executes the method executed by the first computing node in the above method embodiment.
[0115] The computing device 700 may be one or more integrated circuits configured to implement the above method, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For example, when the units in the device can be implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor capable of calling programs. For example, these units can be integrated together and implemented as a system-on-a-chip (SOC).
[0116] The processor 701 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0117] The memory 702 can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (ROM), or other similar memory.ROM (Programmable ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0118] The memory 702 stores executable program code, and the processor 701 executes the executable program code to implement the functions of the aforementioned first application and the first smart network card management module, thereby realizing the aforementioned data processing method based on the cloud service system. That is, the memory 702 stores instructions for executing the aforementioned data processing method based on the cloud service system.
[0119] The communication interface 703 uses, for example but not limited to, a transceiver module such as a network interface card or transceiver, to realize communication between the computing device 700 and other devices or communication networks.
[0120] In addition to the data bus, the bus 704 may also include a power bus, a control bus, and a status signal bus. The bus can be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. Buses can be categorized as address buses, data buses, control buses, etc.
[0121] Please refer to Figure 8, which is a schematic diagram of a computing device cluster provided in an embodiment of this application. As shown in Figure 8, the computing device cluster 800 includes at least one computing device 700.
[0122] As shown in Figure 8, the computing device cluster 800 includes at least one computing device 700. The memory 702 of one or more computing devices 700 in the computing device cluster 800 may store the same instructions for executing the above-described data processing method based on the cloud service system.
[0123] In some possible implementations, the memory 702 of one or more computing devices 700 in the computing device cluster 800 may also store some instructions for executing the above-described data processing method based on the cloud service system. In other words, a combination of one or more computing devices 700 can jointly execute the above-described data processing method based on the cloud service system.
[0124] It should be noted that the memory 702 of different computing devices 700 in the computing device cluster 800 may store different instructions, which are respectively used to execute some functions of the above-described cloud management platform. That is, the instructions stored in the memory 702 of different computing devices 700 can implement the functions of one or more modules such as the first application and the first smart network card management module.
[0125] In some possible implementations, one or more computing devices 700 in the computing device cluster 800 can be connected via a network. The network can be a wide area network or a local area network, etc.
[0126] Please refer to FIG9, which is a schematic diagram of computer devices in a computer cluster provided in the embodiments of this application being connected via a network. As shown in FIG9, two computing devices 700A and 700B are connected via a network. Specifically, they are connected to the network through the communication interface in each computing device.
[0127] In one possible implementation, the memory in computing device 700A stores instructions for executing the functions of modules such as the first application. At the same time, the memory in computing device 700B stores instructions for executing the functions of modules such as the first smart network card management module.
[0128] It should be understood that the functions of computing device 700A shown in FIG9 can also be performed by multiple computing devices. Similarly, the functions of computing device 700B can also be performed by multiple computing devices.
[0129] This application embodiment also relates to a computer storage medium storing a program for signal processing, which, when run on a computer, causes the computer to execute the method steps in the embodiment shown in FIG3.
[0130] This application embodiment also relates to a computer program product storing instructions that, when executed by a computer, cause the computer to execute the method steps in the embodiment shown in FIG3.
[0131] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the system described above,The specific working process of the device and unit can be referred to the binding process in the aforementioned method embodiment, and will not be repeated here.
[0132] In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is merely a logical functional division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. Specification 17 / 18 pages 23 CN 121056456 A
[0133] The unit described as a separate component may or may not be physically separated. The component shown as a unit may or may not be a physical unit, that is, it may be located in one place or distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of this embodiment.
[0134] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0135] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the various embodiments of this application. The aforementioned storage medium includes: USB flash drive, mobile hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, and other media that can store program code. Instruction manual, page 18 / 18, 24 CN 121056456 A, Figure 1; Instruction manual, Figure 1 / 7, page 25 CN 121056456 A, Figure 2; Instruction manual, Figure 2 / 7, page 26 CN 121056456 A, Figure 3; Instruction manual, Figure 3 / 7, page 27 CN 121056456 AFigure 4, Sheet 4 / 7 of the specification, 28, CN 121056456 A, Figure 5, Figure 6, Sheet 5 / 7 of the specification, 29, CN 121056456 A, Figure 7, Figure 8, Sheet 6 / 7 of the specification, 30, CN 121056456 A, Figure 9, Sheet 7 / 7 of the specification, 31, CN 121056456 A, Title: Cloud service system and data processing method based on cloud service system, Abstract: The present application discloses a cloud service system and a data processing method based on a cloud service system, which can ensure the service stability of applications of tenants. For a first computing node in the cloud service system of the present application, when a first application of the first computing node needs to process first data, the first application forwards a first data processing request for the first data to a first smart network interface card management module of the first computing node. Since the first data processing request comprises information of the first data and an identifier of the first application of the first computing node, the first smart network interface card management module can select a firstsmart network interface card from a smart network interface card cluster on the basis of the information of the first data and the identifier of the first application, and forward the first data processing request to the first smart network interface card. Then, on the basis of the first data processing request, the first smart network interface card can notify a first storage node in a storage node cluster to process the first data. Abstract
Claims
1. A cloud service system, characterized in that, The cloud service system includes infrastructure that provides cloud services to tenants. The infrastructure includes a cluster of computing nodes, a cluster of smart NICs, and a cluster of storage nodes. The first computing node in the cluster of computing nodes includes the tenant's first application and a first smart NIC management module that manages the first application. The cluster of storage nodes is used to store multiple data of the first application. The first application is used to send a first data processing request to the first smart network card management module. The first data processing request includes information about the first data to be processed and the identifier of the first application. The first smart network interface card (NIC) management module is used to determine the first smart NIC from the smart NIC cluster based on the information of the first data contained in the first data processing request and / or the identifier of the first application, and to send the first data processing request to the first smart NIC. The first smart network interface card is used to send a first notification to the first storage node in the storage node cluster based on the first data processing request; The first storage node is configured to process the first data based on the first notification, wherein the plurality of data includes the first data.
2. The cloud service system according to claim 1, characterized in that, The second computing node in the computing node cluster includes the tenant's second application and a second smart NIC management module that manages the second application. The second application is used to send a second data processing request to the second smart network card management module. The second data processing request includes information about the second data to be processed and the identifier of the second application. The second smart network interface card (NIC) management module is used to determine the second smart NIC from the smart NIC cluster based on the information of the second data contained in the second data processing request and / or the identifier of the second application, and to send the second data processing request to the second smart NIC. The second smart network interface card is used to send a second notification to the second storage node in the storage node cluster based on the second data processing request; The second storage node is used to process the second data based on the second notification.
3. The cloud service system according to claim 1 or 2, characterized in that, The first smart network card management module allocates multiple cloud hard drives for the first application; The first application is used to trigger the first cloud disk among the plurality of cloud disks to generate a first data processing request; The first cloud disk is used to send the first data processing request to the first smart network card management module. The first data processing request includes information about the first data to be processed and the identifier of the first cloud disk. The information about the first data includes the address of the first data in the first cloud disk.
4. The cloud service system according to claim 3, characterized in that, The first smart network interface card (NIC) management module includes a first mapping table, which records the binding relationship between the identifiers of the multiple cloud disks and the addresses of the multiple smart NICs. The first smart network interface card (NIC) management module is used to determine, from the first mapping table, the address of the first smart NIC bound to the identifier of the first cloud hard drive; The first smart network interface card (NIC) management module is used to send the first data processing request to the first smart NIC based on the address of the first smart NIC.
5. The cloud service system according to claim 4, characterized in that, The address of one of the multiple smart network cards is bound to the identifier of at least one of the multiple cloud hard drives.
6. The cloud service system according to claim 3, characterized in that, The first smart network interface card (NIC) management module includes a second mapping table, which records the calculated values of the plurality of smart NICs and the binding relationships between the addresses of the plurality of smart NICs. The first smart network card management module is used to calculate the identifier of the first cloud disk and the address of the first data in the first cloud disk to obtain the calculated value of the first network card. The first smart network interface card (NIC) management module is used to determine, from the second mapping table, the address of the first smart network interface card that is bound to the calculated value of the first smart network interface card; The first smart network interface card (NIC) management module is used to send the first data processing request to the first smart NIC based on the address of the first smart NIC.
7. The cloud service system according to claim 6, characterized in that, The calculation includes a hash operation, and the calculated value of the first smart network card includes the hash value of the first smart network card.
8. The cloud service system according to any one of claims 4 to 7, characterized in that, The computing node cluster includes multiple computing nodes, and the smart network card cluster includes multiple smart network cards. Each computing node has one smart network card installed, and the multiple smart network cards are shared by the multiple computing nodes. The first smart network card is either installed on the first computing node or installed on the third computing node.
9. The cloud service system according to any one of claims 4 to 7, characterized in that, The computing node cluster includes multiple computing nodes, and the cloud service system also includes an offload card bearer node. The offload card bearer node is equipped with at least one smart network card from the smart network card cluster. The at least one smart network card is shared by the multiple computing nodes, and the first smart network card is the smart network card installed in the offload card bearer node.
10. The cloud service system according to any one of claims 4 to 7, characterized in that, The computing node cluster is connected to the smart network card cluster via a high-speed interconnect device; The first smart network interface card (NIC) management module is used to send the address of the first smart NIC and the first data processing request to the high-speed interconnection device. The address of the first smart NIC is used by the high-speed interconnection device to send the first data processing request to the first smart NIC.
11. The cloud service system according to any one of claims 4 to 10, characterized in that, The first smart network interface card (NIC) management module is also used to obtain the evaluation value of the multiple smart NICs based on the performance indicators of the multiple smart NICs in the smart NIC cluster and the status indicators of the multiple smart NICs. The first smart network interface card (NIC) management module is further configured to remove the address of the third smart network interface card whose evaluation value is less than or equal to the evaluation threshold from the first mapping table, and bind the identifier of the cloud disk bound to the address of the third smart network interface card to the address of the fourth smart network interface card; or, remove the calculated value of the third smart network interface card whose evaluation value is less than or equal to the evaluation threshold and the address of the third smart network interface card from the second mapping table.
12. The cloud service system according to any one of claims 4 to 11, characterized in that, The first smart network interface card (NIC) management module is further configured to, after detecting that the fifth smart NIC has been added to multiple smart NICs in the smart NIC cluster, generate a correspondence between the address of the fifth smart NIC and the identifier of at least one cloud disk among the multiple cloud disks in the first mapping table to obtain an updated first mapping table; or, generate a correspondence between the address of the fifth smart NIC and the calculated value of the fifth smart NIC in the second mapping table to obtain an updated second mapping table.
13. A data processing method based on a cloud service system, characterized in that, The cloud service system includes infrastructure that provides cloud services to tenants. This infrastructure includes a compute node cluster, a smart NIC cluster, and a storage node cluster. A first compute node in the compute node cluster includes the tenant's first application and a first smart NIC management module that manages the first application. The storage node cluster is used to store multiple data sets of the first application. The method includes: The first application sends a first data processing request to the first smart network card management module. The first data processing request includes information about the first data to be processed and the identifier of the first application. The first smart network card management module determines the first smart network card from the smart network card cluster based on the information of the first data contained in the first data processing request and / or the identifier of the first application, and sends the first data processing request to the first smart network card. Based on the first data processing request, the first smart network card sends a first notification to the first storage node in the storage node cluster; The first storage node processes the first data based on the first notification, and the plurality of data includes the first data.
14. The method according to claim 13, characterized in that, The second computing node in the computing node cluster includes the tenant's second application and a second smart NIC management module for managing the second application; the method further includes: The second application sends a second data processing request to the second smart network card management module. The second data processing request includes information about the second data to be processed and the identifier of the second application. The second smart network interface card (NIC) management module determines the second smart NIC from the smart NIC cluster based on the information of the second data contained in the second data processing request and / or the identifier of the second application, and sends the second data processing request to the second smart NIC. The second smart network interface card sends a second notification to the second storage node in the storage node cluster based on the second data processing request; The second storage node processes the second data based on the second notification.
15. The method according to claim 13 or 14, characterized in that, The first smart network interface card (NIC) management module allocates multiple cloud disks to the first application. The first application sends a first data processing request to the first smart NIC management module, including: The first application triggers the first cloud disk among the plurality of cloud disks to generate a first data processing request; The first cloud disk sends the first data processing request to the first smart network card management module. The first data processing request includes information about the first data to be processed and the identifier of the first cloud disk. The information about the first data includes the address of the first data in the first cloud disk.
16. The method according to claim 15, characterized in that, The first smart network interface card (NIC) management module includes a first mapping table, which records the binding relationships between the identifiers of the plurality of cloud disks and the addresses of the plurality of smart NICs. Based on the information contained in the first data processing request and / or the identifier of the first application, the first smart NIC management module determines the first smart NIC from the smart NIC cluster and sends the first data processing request to the first smart NIC, including: The first smart network interface card management module determines the address of the first smart network interface card bound to the identifier of the first cloud hard drive from the first mapping table; The first smart network card management module sends the first data processing request to the first smart network card based on the address of the first smart network card.
17. The method according to claim 16, characterized in that, The address of one of the multiple smart network cards is bound to the identifier of at least one of the multiple cloud hard drives.
18. The method according to claim 15, characterized in that, The first smart NIC management module includes a second mapping table, which records the calculated values of the plurality of smart NICs and the binding relationships between the addresses of the plurality of smart NICs. Based on the information contained in the first data processing request and / or the identifier of the first application, the first smart NIC management module determines a first smart NIC from the smart NIC cluster and sends the first data processing request to the first smart NIC, including: The first smart network card management module calculates the identifier of the first cloud disk and the address of the first data in the first cloud disk to obtain the calculated value of the first network card. The first smart network card management module determines the address of the first smart network card that is bound to the calculated value of the first smart network card from the second mapping table; The first smart network card management module sends the first data processing request to the first smart network card based on the address of the first smart network card.
19. The method according to claim 18, characterized in that, The calculation includes a hash operation, and the calculated value of the first smart network card includes the hash value of the first smart network card.
20. The method according to any one of claims 16 to 19, characterized in that, The computing node cluster includes multiple computing nodes, and the smart network card cluster includes multiple smart network cards. Each computing node has one smart network card installed, and the multiple smart network cards are shared by the multiple computing nodes. The first smart network card is either installed on the first computing node or installed on the third computing node.
21. The method according to any one of claims 16 to 19, characterized in that, The computing node cluster includes multiple computing nodes, and the cloud service system also includes an offload card bearer node. The offload card bearer node is equipped with at least one smart network card from the smart network card cluster. The at least one smart network card is shared by the multiple computing nodes, and the first smart network card is the smart network card installed in the offload card bearer node.
22. The method according to any one of claims 16 to 19, characterized in that, The computing node cluster is connected to the smart network interface card (NIC) cluster via a high-speed interconnect device. The first smart NIC management module sends the first data processing request to the first smart NIC based on the address of the first smart NIC, including: The first smart network card management module sends the address of the first smart network card and the first data processing request to the high-speed interconnection device. The address of the first smart network card is used by the high-speed interconnection device to send the first data processing request to the first smart network card.
23. The method according to any one of claims 16 to 22, characterized in that, The method further includes: The first smart network interface card (NIC) management module obtains the evaluation values of the multiple smart NICs based on the performance indicators and status indicators of the multiple smart NICs in the smart NIC cluster. The first smart network interface card (NIC) management module removes the address of the third smart NIC whose evaluation value is less than or equal to the evaluation threshold from the first mapping table, and binds the identifier of the cloud disk bound to the address of the third smart NIC to the address of the fourth smart NIC. Alternatively, it removes the calculated value of the third smart NIC whose evaluation value is less than or equal to the evaluation threshold and the address of the third smart NIC from the second mapping table.
24. The method according to any one of claims 16 to 23, characterized in that, The method further includes: After the first smart NIC management module detects that the fifth smart NIC has been added to the smart NIC cluster, it generates a correspondence between the address of the fifth smart NIC and the identifier of at least one cloud disk among the multiple cloud disks in the first mapping table to obtain an updated first mapping table. Alternatively, it generates a correspondence between the address of the fifth smart NIC and the calculated value of the fifth smart NIC in the second mapping table to obtain an updated second mapping table.
25. A computing device cluster, characterized in that, The computing device cluster includes at least one computing device, each computing device including a processor and memory: The memory is used to store instructions; The processor is configured to, according to the instructions, cause the computing device cluster to perform the method of any one of claims 13 to 24.
26. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method of any one of claims 13 to 24.
27. A computer program product, characterized in that, The computer program product stores instructions that, when executed by a computer, cause the computer to perform the method described in any one of claims 13 to 24.