Database cloud platform, database deployment method and device, equipment and medium

By building a database cloud platform and using distributed storage and RoCE network layer to virtualize host resources, the database can exclusively use CPU resources, which solves the problem of resource aggregation in existing technologies and improves database deployment efficiency and performance.

CN118796207BActive Publication Date: 2025-11-04CHINA MOBILE GRP FUJIAN CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410550420.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-06
Publication Date
2025-11-04
Estimated Expiration
2044-05-06

AI Technical Summary

Technical Problem

Existing database deployment methods cannot achieve resource aggregation, resulting in low deployment efficiency and poor performance.

Method used

By constructing a database cloud platform, a distributed storage resource layer, a RoCE network layer, and a computing resource layer are adopted to achieve virtualization of the host machine's CPU, memory, and network, and to ensure that the database has exclusive use of CPU resources. Combined with the RoCE network layer, block storage services are provided.

Benefits of technology

It achieves resource consolidation, improves database deployment efficiency, and enhances database performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118796207B_ABST
    Figure CN118796207B_ABST
Patent Text Reader

Abstract

The database cloud platform comprises a distributed storage resource layer, an Ethernet-based memory direct access RoCE network layer, a computing resource layer and a database service layer. The distributed storage resource layer is configured to provide block storage services for the computing resource layer through the RoCE network layer. The computing resource layer is configured to virtualize a central processing unit (CPU), memory and network of a host computer to construct a database cloud environment. The database service layer is configured to deploy a database based on the database cloud environment. The database exclusively uses CPU resources, thereby solving the technical problem that resources cannot be centralized and the deployment efficiency is low when deploying a database in the prior art, which leads to poor performance of the deployed database.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a database cloud platform, database deployment method, apparatus, device and medium. Background Technology

[0002] In related technologies, there are three common deployment methods for centralized databases and database clouds: single-machine database and master-slave database deployment mode based on local storage; single-machine database and cluster database deployment mode based on external shared storage; and database deployment mode based on virtualization platform.

[0003] In these methods, resources cannot be efficiently concentrated when deploying the database, resulting in low deployment efficiency and poor performance of the deployed database. Summary of the Invention

[0004] This disclosure aims to at least partially address one of the technical problems in the related art.

[0005] To this end, this disclosure proposes a database cloud platform, a database deployment method, an apparatus, an electronic device, a non-transitory computer-readable storage medium storing computer instructions, and a computer program product to achieve resource integration, improve deployment efficiency, and thus effectively improve the performance of the deployed database.

[0006] The first aspect of this disclosure proposes a database cloud platform, comprising: a distributed storage resource layer, an Ethernet-based Direct Memory Access (RoCE) network layer, a computing resource layer, and a database service layer; wherein the distributed storage resource layer provides block storage services to the computing resource layer via the RoCE network layer; the computing resource layer virtualizes the host machine's CPU, memory, and network to construct a database cloud environment; and the database service layer deploys a database based on the database cloud environment, wherein the database exclusively uses CPU resources.

[0007] The second aspect of this disclosure provides a database deployment method, comprising: providing block storage services to a computing resource layer through an Ethernet-based Direct Memory Access (RoCE) network layer; virtualizing the CPU, memory, and network of a host machine to construct a database cloud environment; and deploying a database based on the database cloud environment, wherein the database exclusively uses CPU resources.

[0008] A third aspect of this disclosure provides a database deployment apparatus, comprising: a storage module for providing block storage services to a computing resource layer via an Ethernet-based memory direct access RoCE network layer; a processing module for virtualizing the CPU, memory, and network of a host machine to construct a database cloud environment; and a deployment module for deploying a database based on the database cloud environment, wherein the database exclusively uses CPU resources.

[0009] A fourth aspect of this disclosure provides an electronic device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method described above.

[0010] A fifth aspect of this disclosure provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the method described above.

[0011] A sixth aspect of this disclosure provides a computer program product including a computer program that, when executed by a processor, implements the method described above.

[0012] The database cloud platform, database deployment method, apparatus, electronic device, non-transitory computer-readable storage medium storing computer instructions, and computer program product disclosed herein provide block storage services to the computing resource layer through the RoCE network layer and virtualize the host machine's central processing unit (CPU), memory, and network to construct a database cloud environment. The database is deployed based on the database cloud environment, wherein the database exclusively uses CPU resources to achieve resource intensification, improve deployment efficiency, and thus effectively improve the performance of the deployed database.

[0013] Additional aspects and advantages of this disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this disclosure. Attached Figure Description

[0014] The above and / or additional aspects and advantages of this disclosure will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, in which:

[0015] Figure 1 This is a schematic diagram of the structure of a database cloud platform provided in an embodiment of the present disclosure;

[0016] Figure 2 This is a schematic diagram of the physical connection architecture of the database cloud platform in this embodiment of the disclosure;

[0017] Figure 3This is a schematic diagram of the logical components of the database cloud platform in an embodiment of this disclosure;

[0018] Figure 4 This is a schematic diagram of the CPU, memory, and I / O resource allocation logic in an embodiment of this disclosure;

[0019] Figure 5 This is a schematic diagram of the structure of another database cloud platform provided in an embodiment of this disclosure;

[0020] Figure 6 This is a schematic diagram comparing traditional virtualization platforms with the database cloud platform virtualization technology based on thread / core allocation in the embodiments of this disclosure;

[0021] Figure 7 This is a schematic diagram of a three-layer RoCE network topology across data centers in an embodiment of this disclosure;

[0022] Figure 8 This is a schematic diagram of the virtualization method in an embodiment of this disclosure;

[0023] Figure 9 This is a schematic diagram of a storage access client embedded inside a VM in an embodiment of this disclosure;

[0024] Figure 10 This is a block diagram of the database cloud platform management component in an embodiment of this disclosure;

[0025] Figure 11 This is a schematic diagram of the Hippo software architecture in an embodiment of this disclosure;

[0026] Figure 12 This is a flowchart illustrating a database deployment method provided in an embodiment of the present disclosure;

[0027] Figure 13 This is a schematic diagram of the structure of a database deployment apparatus provided in an embodiment of the present disclosure;

[0028] Figure 14 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. Detailed Implementation

[0029] Embodiments of this disclosure are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.

[0030] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in this disclosure are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0031] The methods and apparatus of embodiments of this disclosure are described below with reference to the accompanying drawings.

[0032] Figure 1 This is a schematic diagram of the structure of a database cloud platform provided in an embodiment of this disclosure.

[0033] like Figure 1 As shown, the database cloud platform 10 includes: a distributed storage resource layer 101, a Remote Direct Memory Access over Converged Ethernet (RoCE) network layer 102, a computing resource layer 103, and a database service layer 104; wherein, the distributed storage resource layer 101 is used to provide block storage services to the computing resource layer through the RoCE network layer 102; the computing resource layer 103 is used to virtualize the host machine's central processing unit (CPU), memory, and network to build a database cloud environment; the database service layer 104 is used to deploy databases based on the database cloud environment, wherein the database exclusively uses CPU resources.

[0034] like Figure 2 As shown, Figure 2 This is a schematic diagram of the physical connection architecture of the database cloud platform in this embodiment of the disclosure. The database cloud platform can also be referred to as a unified database cloud monitoring and management platform. It includes a distributed storage resource layer (also referred to as a storage layer), a RoCE lossless network (an optional example of the RoCE network layer), a computing resource layer containing multiple computing nodes, and a distributed storage resource layer containing multiple storage nodes. From bottom to top, it includes: a storage layer, a RoCE network layer, and a computing layer (an optional example of the computing resource layer). The storage layer server forms a distributed storage architecture by deploying Software Defined Storage (SDS) software, and provides high-performance block storage services to the computing layer via the RoCE network layer. The computing layer server virtualizes the host machine's CPU, memory, and network by installing specific virtualization components, constructing a database cloud environment, and meeting the deployment requirements of different upper-layer databases based on the constructed database cloud environment.

[0035] In this context, a database cloud environment refers to an environment where databases are deployed on a cloud computing platform. In this environment, the database system's hardware resources (such as servers and storage devices) and database software are hosted on the cloud service provider's infrastructure and managed and operated through the management tools provided by the cloud service provider.

[0036] like Figure 3 As shown, Figure 3 This is a schematic diagram of the logical components of the database cloud platform in this embodiment of the disclosure. The logical architecture of the database cloud platform provided in this embodiment of the disclosure can be implemented using a software-defined model. Different types of underlying operating systems can be selected on the servers in the computing resource layer and storage layer according to user needs. On top of the operating system of the storage nodes, distributed storage software can be installed to form a distributed storage engine, and input / output (IO) communication with the computing layer can be achieved through Remote Direct Memory Access (RDMA) technology. Virtualization software is installed on top of the operating system of the computing nodes to provide high-performance partitions for building the database cloud environment.

[0037] like Figure 4 As shown, Figure 4 This is a schematic diagram illustrating the allocation logic of CPU, memory, and I / O resources in an embodiment of this disclosure. The virtualization technology used in this embodiment employs a physical core-based approach, enabling the database to exclusively utilize CPU resources and avoiding context switching caused by frequent vCPU switching.

[0038] In some embodiments of this disclosure, such as Figure 5 As shown, Figure 5 This is a schematic diagram of another database cloud platform provided in an embodiment of this disclosure. The database cloud platform 10 further includes: a CPU scheduler 105; wherein the CPU scheduler 105 is used to allocate virtual central processing units (vCPUs) and memory to the same Non-Uniform Memory Access (NUMA) node, or to allocate vCPUs and memory to a first NUMA node and a second NUMA node respectively, wherein the memory access cost between the first NUMA node and the second NUMA node meets the condition.

[0039] The virtual central processing unit (vCPU) can be obtained by virtualizing the host machine's CPU.

[0040] In some embodiments of this disclosure, the memory access cost between the first NUMA node and the second NUMA node is the lowest memory access cost among the memory access costs between multiple different NUMA nodes.

[0041] In some embodiments, the memory access cost between different NUMA nodes in a plurality of NUMA nodes can be determined, and the minimum memory access cost can be determined from the plurality of memory access costs. The two NUMA nodes with the minimum memory access cost are designated as the first NUMA node and the second NUMA node, respectively.

[0042] In other words, the CPU memory allocation in this embodiment follows NUMA allocation, aiming to ensure that the CPU used by the database is located in adjacent NUMA nodes, thus avoiding additional span latency caused by CPUs being allocated to different NUMA nodes. The CPU adopts a transparent pre-occupancy mode instead of a shared mode, ensuring that the CPU operates in maximum performance mode.

[0043] CPU memory allocation follows NUMA allocation, which means that vCPUs and the memory they access are placed on the same NUMA node as much as possible to reduce remote access latency and improve performance.

[0044] like Figure 6 As shown, Figure 6 This is a schematic diagram comparing traditional virtualization platforms with the thread / core allocation-based database cloud platform virtualization technology in this embodiment of the disclosure. Figure 6 The left half of the image shows the virtualization technology used by traditional virtualization platforms, while the right half shows the virtualization technology used by database cloud platforms based on thread / core allocation.

[0045] The CPU scheduler in this embodiment can identify the NUMA topology of the host CPU and the memory access cost between different NUMA nodes. When creating a virtual machine instance, the CPU scheduler can allocate vCPUs and memory to the same NUMA node, or allocate vCPUs and memory to the two nodes with the lowest memory access cost according to the load, thereby reducing memory access across NUMA nodes and reducing latency.

[0046] In some embodiments of this disclosure, the CPU scheduler is also used to obtain workload information of all virtual machines and physical resource usage information of each virtual machine, and to determine the occurrence of a setting event based on the workload information and usage information, and to bind the vCPU to a new physical core, wherein the setting event is used to indicate an event of unbalanced resource allocation.

[0047] For example, during virtual machine operation, the CPU scheduler can monitor and evaluate the workload information of all virtual machines, as well as the physical resource usage information. Based on the workload and usage information, it can determine whether there are performance bottlenecks or unbalanced resource allocation (an optional example of setting events). If performance bottlenecks or unbalanced resource allocation exist, the CPU scheduler can dynamically rebind vCPUs to new physical cores to better match the current NUMA optimal configuration.

[0048] In some embodiments of this disclosure, the CPU scheduler is further configured to receive an adjustment instruction, determine the first vCPU, the first physical core, or the first NUMA node indicated by the adjustment instruction, allocate the first vCPU to the first physical core, or allocate the first vCPU to the first NUMA node, obtain the allocation result, and adjust the memory allocation strategy according to the allocation result.

[0049] The vCPU specified by the tuning instruction can be referred to as the first vCPU. The physical core specified by the tuning instruction can be referred to as the first physical core. The NUMA node specified by the tuning instruction can be referred to as the first NUMA node.

[0050] For example, a CPU scheduler can provide fine-grained resource control mechanisms, allowing administrators or automation tools to manually or automatically adjust vCPU allocation and memory layout based on application requirements and performance metrics. It can specify a particular vCPU (an optional example of a first vCPU) to be bound to a particular physical core (an optional example of a first physical core) or NUMA node (an optional example of a first NUMA node), and adjust memory allocation strategies.

[0051] In some embodiments of this disclosure, if a virtual machine needs to migrate from one node to another, the CPU scheduler can refer to the NUMA topology of the two host machines and the allocation status information of the virtual machines on the target host to perform the migration, thereby finding the optimal NUMA configuration while minimizing the impact of migration on performance.

[0052] In some embodiments of this disclosure, the RoCE network layer 102 can employ RoCE technology to construct a lossless Layer 2 or 3 network, ensuring low latency in the I / O channel. For example... Figure 7 As shown, Figure 7This is a schematic diagram of a three-layer RoCE network topology across a data center, as described in this disclosure embodiment. RoCE is a network technology that combines the features of RDMA and Ethernet switches. RoCE allows for efficient direct memory access between hosts via Ethernet, providing low-latency, high-throughput data transmission. Using RoCE technology for cloud-based database I / O access can significantly improve I / O performance and allow applications to directly read and write to remote virtual memory via RDMA devices, offering low latency, reduced CPU usage, effectively mitigating memory bandwidth bottlenecks, and providing high bandwidth utilization.

[0053] In some embodiments of this disclosure, the computing resource layer is also configured to cache data packets received by the distributed storage resource layer or the computing resource layer through a receive buffer, and / or cache data packets sent by the distributed storage resource layer or the computing resource layer through a send buffer, and / or provide additional data packet caching capabilities through a Headroom buffer.

[0054] For example, you can configure receive buffers, send buffers, and headroom buffers in the database cloud platform. The receive buffer is used to cache received data. When the CPU is busy, the port cannot immediately hand over received packets to the CPU for processing, and the data will be temporarily stored in the receive buffer. The send buffer is used to cache sent data. When the network is congested, the port cannot immediately send data, and to prevent data loss, the data will be temporarily stored in the send buffer. The headroom buffer prioritizes the use of the receive and send buffers. When these two buffers are exhausted, the additional packet caching capability provided by the headroom buffer can be used.

[0055] In some embodiments of this disclosure, the RoCE network layer enables the Ethernet Congestion Notification (ECN) function and the Priority-based Flow Control (PFC) function.

[0056] Therefore, by enabling PFC, multiple types of traffic can run on the Ethernet link without interfering with each other. By enabling ECN, congestion can be mitigated.

[0057] In some embodiments of this disclosure, the computing resource layer includes multiple computing nodes, each computing node having a corresponding physical RoCE network interface card (NIC). Each physical RoCE NIC is transparently transmitted to multiple virtual machines using semi-virtualization technology to obtain a Virtual Function (VF) NIC corresponding to each virtual machine. The multiple virtual machines share the resources stored within the distributed storage resource layer. The front-end driver in each virtual machine directly accesses the resources stored within the distributed storage resource layer based on the VF NIC.

[0058] like Figure 8 As shown, Figure 8 This is a schematic diagram of the virtualization method in an embodiment of this disclosure. Figure 8 The left part represents the virtualization method in related technologies, and the right part represents the virtualization method in the embodiments of this disclosure. That is to say, the embodiments of this disclosure can introduce an IO semi-virtualization scheme, which can pass through the physical RoCE network card of the computing node to multiple virtual machines (Guest OS) using semi-virtualization technology. The Guest OS uses a front-end driver to directly access the back-end distributed storage, thereby improving IO performance by reducing the number of memory copying and virtual machine (VM) traps. At the same time, it can also support multiple virtual machines (Guest OS) across physical devices to share access to the back-end storage.

[0059] In some embodiments of this disclosure, the performance of the Virtual Function (VF) network card obtained after the RoCE network card is semi-virtualized and transparent is basically close to that of the physical card, with low overall overhead. Furthermore, the VF network card can inherit the RDMA characteristics of the physical card, enabling RDMA network access for internal storage I / O within the VM.

[0060] In some embodiments of this disclosure, a storage access client (such as...) can be embedded within the VM. Figure 9 As shown, Figure 9 This is a schematic diagram of a storage access client embedded inside a VM in an embodiment of this disclosure. The client program can forward VM IO access to the semi-virtualized VF network card and connect to the storage via RDMA network, thereby effectively reducing the software stack overhead of IO device emulation and greatly improving IO performance. Here, Hypervisor refers to the management program.

[0061] In some embodiments of this disclosure, such as Figure 5 As shown, the database cloud platform 10 may further include: a management module 106; wherein, the management module 106 is used to manage various resources and components in the database cloud platform, control the operation of virtual machines, apply for and release stored resources, and control and failover of the resources of the database cloud platform.

[0062] In some embodiments, the management module 106 may also be referred to as a cloudification and automation management module, a database cloud platform management component, etc. The cloudification and automation management module is mainly used for the management of the database cloudification platform to improve the efficiency of database cloudification platform use and operation and maintenance capabilities.

[0063] like Figure 10 As shown, Figure 10 This is a block diagram of the database cloud platform management component in this embodiment. It includes the following components: Hippo, the core component, which receives web requests and manages and controls all other resources and components. Its main functions include: host resource management, virtual machine operation control, and storage resource allocation and release for the Public Distributed System (PDS). Pony: This component consists of an Agent and the configuration of the operating system (PDS-IOS) on the PDS. It is mainly responsible for managing system startup initialization and communication between the application coordination service (ZooKeeper, ZK) and the PDS. The Agent can maintain a virtual machine (VM) heartbeat service to prevent VMs from being permanently suspended. For Hippo, the PDS only cares about the management of the PDS cluster and the block access client (BAC) mounting service.

[0064] like Figure 11 As shown, Figure 11This is a schematic diagram of the Hippo software architecture in this embodiment. The Hippo software is divided into the following modules: CLI, for command-line management; Gateway, for forwarding web and / or CLI commands and caching underlying resource status, which must have high availability; Control Manager (CM), for configuring and managing underlying resources and periodically reporting resource status; Independent sub-module Service Monitoring (CMDR), for shutting down all virtual machines on the host machine when the disconnection time between a node and ZooKeeper exceeds a threshold; RESTful, for providing an Application Programming Interface (API); Monitor, for periodically acquiring and caching basic cluster information; FIP: Floating IP component, used to always bind the floating IP to the master node. The CM is deployed on the node that needs to manage resources. The Service Gateway (GW) can be deployed on a separate node or on the same node as the CM. CLI is an optional component. The Monitor service periodically acquires cluster information and caches it in the local system memory. The Control Manager (CM) is the execution unit, managing resource allocation on the host and periodically reporting resource status to the Master MDS. The Meta Data Service (MDS) caches resource data, forwards control commands to the Management Controller (CM), and provides real-time update methods. The RESTful API Service receives RESTful messages from the web and / or CLI. The RESTful API communicates only with the Master MDS, allowing it to query the current Master MDS service address. This query can be used for the local MDS service or the Monitor service. The Floating IP Service (FIP Service) configures and changes the floating IP service on the local node. The floating IP service is enabled on the Master node and disabled on other nodes. This is optional; if no floating IP is configured, the RESTful API Service uses the IP service of the node configured on the local machine. The Gateway VM State Machine manages VM state. The Command Line Interface (CLI) is used for advanced user management and debugging.You can choose the sending address; for example, you can choose any MDS IP address, and the RESTful API service will forward it to the correct Master MDS address. Messages can be sent using the address provided in the Monitor service, the Master MDS service address, or a floating IP address. If a floating IP address is configured, it should be chosen first due to its high availability.

[0065] The database cloud platform provided in this embodiment achieves resource aggregation by integrating and deploying multiple databases in the cloud, enabling database architectures such as master-slave, master-slave, and dual-machine hot standby in a virtualized environment. Furthermore, it improves the CPU allocation method and adopts single-root I / O virtualization technology, allowing access to storage resources through a Guest OS combined with RDMA protocol and RoCE network. Under the same computing and storage configuration, this significantly improves service carrying capacity.

[0066] Figure 12 This is a schematic flowchart illustrating a database deployment method provided in an embodiment of this disclosure.

[0067] like Figure 12 As shown, the database deployment method includes:

[0068] S1201: Provides block storage services to the computing resource layer via the RoCE network layer with direct memory access over Ethernet.

[0069] S1202: Virtualizes the host machine's central processing unit (CPU), memory, and network to build a database cloud environment.

[0070] S1203: Deploy a database based on a database cloud environment, where the database exclusively uses CPU resources.

[0071] It should be noted that the foregoing explanation of the database cloud platform also applies to the database deployment method of this embodiment, and will not be repeated here.

[0072] In this embodiment, the RoCE network layer provides block storage services to the computing resource layer and virtualizes the host machine's CPU, memory, and network to build a database cloud environment. The database is then deployed based on this database cloud environment, where the database exclusively uses CPU resources to achieve resource aggregation, improve deployment efficiency, and thus effectively enhance the performance of the deployed database.

[0073] Figure 13 This is a schematic diagram of the structure of a database deployment apparatus provided in an embodiment of this disclosure.

[0074] like Figure 13As shown, the database deployment device 130 includes:

[0075] Storage module 1301 is used to provide block storage services to the computing resource layer through direct Ethernet-based memory access to the RoCE network layer.

[0076] Processing module 1302 is used to virtualize the host machine's central processing unit (CPU), memory, and network to build a database cloud environment.

[0077] Deployment module 1303 is used to deploy a database based on a database cloud environment, where the database exclusively uses CPU resources.

[0078] It should be noted that the foregoing explanation of the database deployment method also applies to the database deployment device of this embodiment, and will not be repeated here.

[0079] In this embodiment, the RoCE network layer provides block storage services to the computing resource layer and virtualizes the host machine's CPU, memory, and network to build a database cloud environment. The database is then deployed based on this database cloud environment, where the database exclusively uses CPU resources to achieve resource aggregation, improve deployment efficiency, and thus effectively enhance the performance of the deployed database.

[0080] Figure 14 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. Figure 14 The electronic device 12 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0081] like Figure 14 As shown, the electronic device 12 is represented in the form of a general-purpose computing device. The components of the electronic device 12 may include, but are not limited to: one or more processors or processing units 16, memory 28, and bus 18 connecting different system components (including memory 28 and processing unit 16).

[0082] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. Examples of these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.

[0083] Electronic device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by electronic device 12, including volatile and non-volatile media, removable and non-removable media.

[0084] Memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 30 and / or cache 32. Electronic device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (… Figure 14 Not shown; usually referred to as a "hard drive".

[0085] although Figure 14 Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disc drive for reading and writing to a removable non-volatile optical disc (e.g., a compact disc read-only memory (CD-ROM), a digital video disc read-only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this disclosure.

[0086] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of this disclosure.

[0087] Electronic device 12 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable human interaction with electronic device 12, and / or with any device that enables electronic device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed via input / output (I / O) interface 22. Furthermore, electronic device 12 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 20. As shown, network adapter 20 communicates with other modules of electronic device 12 via bus 18. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0088] The processing unit 16 executes various functional applications and data processing by running programs stored in the memory 28, such as implementing the database deployment method mentioned in the foregoing embodiments.

[0089] To implement the above embodiments, this disclosure also proposes an electronic device, including: a processor and a memory communicatively connected to the processor; the memory stores computer execution instructions; the processor executes the computer execution instructions stored in the memory to implement the method provided in the foregoing embodiments.

[0090] To implement the above embodiments, this disclosure also proposes a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the methods provided in the foregoing embodiments.

[0091] To implement the above embodiments, this disclosure also proposes a computer program product, including a computer program that, when executed by a processor, implements the methods provided in the foregoing embodiments.

[0092] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in this disclosure all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0093] It should be noted that personal information collected from users should be used for legitimate and reasonable purposes and should not be shared or sold outside of these legitimate uses. Furthermore, such collection / sharing should only be conducted after receiving the user's informed consent, including but not limited to notifying the user to read the user agreement / user notice and sign an agreement / authorization that includes authorization of relevant user information before the user uses the function. In addition, any necessary steps must be taken to protect and safeguard access to such personal information data and ensure that others with access to personal information data comply with their privacy policies and procedures.

[0094] This disclosure is intended to provide implementation schemes for users to selectively prevent the use or access to their personal information data. Specifically, this disclosure is intended to provide hardware and / or software to prevent or block access to such personal information data. Once personal information data is no longer needed, risks can be minimized by restricting data collection and deleting data. Furthermore, where applicable, such personal information is de-identified to protect user privacy.

[0095] In the foregoing descriptions of the embodiments, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this disclosure. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0096] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0097] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of preferred embodiments of this disclosure includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of this disclosure pertain.

[0098] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.

[0099] It should be understood that various parts of this disclosure can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0100] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

[0101] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.

[0102] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting the present disclosure. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present disclosure.

Claims

1. A database cloud platform, characterized in that, The database cloud platform includes: a distributed storage resource layer, an Ethernet-based Direct Memory Access (RoCE) network layer, a computing resource layer, and a database service layer; wherein... The distributed storage resource layer is used to provide block storage services to the computing resource layer through the RoCE network layer; The computing resource layer is used to virtualize the host machine's central processing unit (CPU), memory, and network to build a database cloud environment. The database service layer is used to deploy a database based on the database cloud environment, wherein the database exclusively uses CPU resources; The database cloud platform also includes: a CPU scheduler; wherein... The CPU scheduler is used to allocate the virtual central processing unit (vCPU) and memory to the same non-consistent memory access NUMA node, or to allocate the vCPU and memory to a first NUMA node and a second NUMA node respectively, wherein the memory access cost between the first NUMA node and the second NUMA node meets the condition. The CPU scheduler is also configured to receive an adjustment instruction, determine the first vCPU, the first physical core, or the first NUMA node indicated by the adjustment instruction, allocate the first vCPU to the first physical core, or allocate the first vCPU to the first NUMA node, obtain the allocation result, and adjust the memory allocation strategy according to the allocation result.

2. The platform according to claim 1, characterized in that, The memory access cost between the first NUMA node and the second NUMA node meets the following conditions: The memory access cost between the first NUMA node and the second NUMA node is the lowest memory access cost among multiple different NUMA nodes.

3. The platform according to claim 1, characterized in that, in, The CPU scheduler is also used to obtain the workload information of all virtual machines and the physical resource usage information of each virtual machine, and to determine the occurrence of a set event based on the workload information and the usage information, and to bind the vCPU to a new physical core, wherein the set event is used to indicate an event of unbalanced resource allocation.

4. The platform according to claim 1, characterized in that, in, The computing resource layer is also used to cache data packets received by the distributed storage resource layer or the computing resource layer through a receive buffer, and / or cache data packets sent by the distributed storage resource layer or the computing resource layer through a send buffer, and / or provide additional data packet caching capabilities through a Headroom buffer.

5. The platform according to claim 1, characterized in that, The RoCE network layer enables Explicit Congestion Notification (ECN) and Priority-Based Flow Control (PFC).

6. The platform according to claim 1, characterized in that, The computing resource layer includes multiple computing nodes, each of which has a corresponding physical RoCE network interface card (NIC). Each physical RoCE network card is passed through to multiple virtual machines using semi-virtualization technology to obtain a virtual function (VF) network card corresponding to each virtual machine, wherein the multiple virtual machines share the resources stored in the distributed storage resource layer; The front-end driver in each virtual machine directly accesses the resources stored in the distributed storage resource layer based on the VF network card.

7. The platform according to any one of claims 1-6, characterized in that, The database cloud platform also includes: a management module; wherein... The management module is used to manage various resources and components in the database cloud platform, control the operation of virtual machines, apply for and release stored resources, and control and switch over the resources of the database cloud platform.

8. A database deployment method, characterized in that, Applied to the database cloud platform as described in any one of claims 1-7, comprising: Provides block storage services to the computing resource layer through the RoCE network layer with direct memory access over Ethernet; Virtualize the host machine's central processing unit (CPU), memory, and network to build a database cloud environment; The database is deployed based on the aforementioned database cloud environment, wherein the database exclusively uses CPU resources.

9. A database deployment apparatus, characterized in that, Applied to the database cloud platform as described in any one of claims 1-7, comprising: The storage module is used to provide block storage services to the computing resource layer by directly accessing the RoCE network layer via Ethernet-based memory. The processing module is used to virtualize the host machine's central processing unit (CPU), memory, and network to build a database cloud environment. The deployment module is used to deploy the database based on the database cloud environment, wherein the database exclusively uses CPU resources.

10. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in claim 8.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in claim 8.

12. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of claim 8.

Citation Information

Patent Citations

  • Resource processing method and device based on Internet data center

    CN106899518A

  • Data processing method, device, equipment and system

    CN117251259A