Method and system for reducing storage synchronization delay of cloud edge object storage system
By introducing new SSDs that support the ZNS standard in the cloud-edge object storage system and adopting a dynamic placement strategy, priority is given to synchronizing files to the SSD, the problem of high storage synchronization latency of the cloud-edge object storage system is solved, and more efficient storage synchronization and read performance is achieved.
Patent Information
- Application Number
- CN202411558842.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-04
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-11-04
AI Technical Summary
The storage synchronization delay of cloud-edge object storage systems is high, affecting business efficiency.
A new SSD that supports the ZNS standard was introduced, abstracted from the original cloud-edge object storage system into an overall system, and a dynamic placement strategy was adopted to prioritize the synchronization of files to the SSD to take advantage of the excellent I/O performance of SSD.
It effectively reduces storage synchronization delay, improves storage synchronization efficiency and overall system read performance.
Smart Images

Figure CN119620935A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of object storage, and more specifically, to a method and system for reducing storage synchronization delay of a cloud-edge object storage system. Background Art
[0002] Object storage: Object storage is a data storage architecture designed for processing large amounts of unstructured data and is widely used in cloud computing and edge computing. Unlike traditional block storage and file storage, object storage manages data by treating it as an independent "object", each of which contains the data itself, metadata, and a unique identifier. This architecture makes object storage more flexible and scalable when processing large-scale data. Mainstream object storage products include Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, Azure Blob, and Cloudflare R2, which provide users with multiple advantages such as high availability, redundant backup, and security. These services not only support the storage and management of massive data, but also meet the needs of various application scenarios, such as big data analysis, content distribution, backup, and disaster recovery. In addition, with the help of the API interface of object storage, developers can easily integrate and access data, thereby improving the development efficiency and user experience of applications. In general, object storage has become an indispensable infrastructure in modern cloud services and edge computing environments, driving digital transformation and data-driven decision-making processes. An important feature of object storage is that it only supports query, addition, and deletion, but does not support in-place modification of files.
[0003] At present, in the storage paradigm of cloud-edge systems, SSD or HDD storage media are used, and data is exchanged with a single storage medium or storage cluster with the help of a file system. SSD has good I / O performance, but the cost is relatively high. If SSD is used, it will bring high costs to cloud service providers, making them lack competitiveness in the market. HDD is low in cost, but has poor performance. In addition, among the existing HDD products, no matter how large the capacity is, its optimal I / O performance cannot reach a very high level, and the larger the storage capacity of a single hard disk, the worse the average I / O performance per unit storage. For HDD, in cloud service scenarios, in order to ensure the performance and space utilization of each tenant on a single hard disk, it is necessary to purchase a large number of hard disks with moderate capacity, which occupy more bus interfaces. This feature will seriously limit the expansion level of the business and cause high file synchronization delays.
[0004] In addition, object storage is widely used in cloud-edge systems. In cloud-edge systems, object storage services have additional application requirements. Data synchronization within and between clusters has high requirements for latency and reliability. After a file is uploaded to the edge object storage, it needs to be transferred to the central cloud for processing; synchronization latency has an important impact on business efficiency. Summary of the Invention
[0005] In view of the defects and improvement requirements of the prior art, the present invention provides a method and system for reducing the storage synchronization delay of a cloud-edge object storage system. The purpose is to improve the storage architecture and request processing method of the cloud-edge object storage system according to the service characteristics of the cloud-edge synchronization process and object storage, so as to reduce the file synchronization delay.
[0006] To achieve the above object, according to one aspect of the present invention, a method for reducing the storage synchronization delay of a cloud-edge object storage system is provided, including:
[0007] Abstract the newly added SSD that supports the ZNS standard and the original cloud-edge object storage system into an overall system; the capacity def_size exposed by the newly added SSD to the upper layer is less than its actual capacity ssd_size;
[0008] Record the file information stored in the newly added SSD and the original cloud-edge object storage system respectively, and uniformly record the file information stored in the newly added SSD and the original cloud-edge object storage system in the memory;
[0009] Make the overall system expose a POSIX interface to the upper layer to receive requests from the upper layer;
[0010] When receiving a new synchronization file request from the upper layer, the request processing method includes: recording the corresponding file information in the memory, determining the memory for storing the file through a dynamic placement strategy, and receiving the file block transmitted by the upper layer; for each complete transmission of a file block, write the file block into the corresponding memory; when the file transmission is completed, record the file information into the corresponding memory;
[0011] The dynamic placement strategy includes: calculating the sum sum_size of the file size and the used space size of the newly added SSD, and the utilization rate η of the original cloud-edge object storage system. If sum_size and η meet any of the redirection conditions, determine that the memory for storing the file is the newly added SSD; otherwise, determine that the memory for storing the file is the original cloud-edge object storage system;
[0012] The redirection conditions include: (a) sum_size < def_size; (b) def_size ≤ sum_size < max_size, and η > hdd_uti; (c) max_size ≤ sum_size < ssd_size, and η > hdd_uti;
[0013] And when sum_size and η meet the redirection condition (c), the newly added SSD no longer accepts write requests until its used space is less than max_size;
[0014] Among them, max_size is a preset storage threshold, where 0 < def_size < max_size < ssd_size; hdd_uti is the utilization threshold of the original cloud-edge object storage system.
[0015] Furthermore, the method for reducing the storage synchronization delay of the cloud-edge object storage system provided by the present invention further includes: when receiving a request for adding a new file from the upper layer, the request processing method includes: recording the corresponding file information in the memory, estimating the file size, determining the memory for storing the file through a dynamic placement strategy, and receiving the file blocks transmitted from the upper layer; for each completely transmitted file block, writing the file block into the corresponding memory; when the file transmission is completed, recording the file information into the corresponding memory.
[0016] Furthermore, the method for reducing the storage synchronization delay of the cloud-edge object storage system provided by the present invention further includes: maintaining an execution queue in the newly added SSD for recording file information to be deleted.
[0017] And when receiving a file deletion request from the upper layer, the request processing method includes: querying the file information recorded in the memory to locate the memory storing the file to be deleted; if it is a newly added SSD, recording the file information into the execution queue, and deleting the file information from the newly added SSD and the memory; if it is the original cloud-edge object storage system, deleting the file information from the original cloud-edge object storage system and the memory, and marking all the file blocks of the file in the original cloud-edge object storage system as invalid.
[0018] Furthermore, the method for reducing the storage synchronization delay of the cloud-edge object storage system provided by the present invention further includes: when the newly added SSD is idle, deleting the file blocks of each file in the execution queue in the newly added SSD, and clearing the execution queue.
[0019] Furthermore, the method for reducing the storage synchronization delay of the cloud-edge object storage system provided by the present invention further includes: when the newly added SSD is idle, if the used space of the newly added SSD is greater than def_size, migrating the least recently used partial files in the newly added SSD to the original cloud-edge object storage system according to the LRU algorithm until the used space of the newly added SSD is less than def_size.
[0020] Furthermore, the method for reducing the storage synchronization delay of the cloud-edge object storage system provided by the present invention also includes: if the user explicitly declares the read priority mode, then while ensuring that the used space of the newly added SSD does not exceed def_size, according to the LRU algorithm, the least recently used part of the files in the newly added SSD is migrated to the original cloud-edge object storage system, and the most frequently read part of the files in the original cloud-edge object storage system is migrated to the newly added SSD.
[0021] Furthermore, the method for reducing storage synchronization delay of a cloud-edge object storage system provided by the present invention records file information through LSM-Tree in a newly added SSD;
[0022] The file information is recorded in memory through LSM-Tree and red-black tree, and the information recorded in LSM-Tree and red-black tree is the same;
[0023] If there is a software RAID that depends on the file system in the original cloud-edge object storage system, the data structure used to record file information in the original cloud-edge object storage system is reused. Otherwise, the file information is recorded through LSM-Tree in the original cloud-edge object storage system.
[0024] Furthermore, when receiving an outward synchronization file request from an upper layer, the request processing method includes: searching the red-black tree in the memory to obtain the physical address of the file, and reading each file block from the physical address into the memory;
[0025] The pointer of each file block in memory is notified to the network card driver so as to be sent to the corresponding storage node through NIC or RDMA.
[0026] Furthermore, if the user explicitly declares the encryption and adopted keys, when processing the external synchronization file request, each file block will be encrypted in the memory after being read into the memory;
[0027] In addition, when processing new synchronization file requests, each time a file block is completely transmitted, before the file block is written to the corresponding storage, AES-NI decryption will be performed in the memory with the help of CPU acceleration.
[0028] Furthermore, the method for reducing storage synchronization delay of a cloud edge object storage system provided by the present invention further includes: when receiving a file query request from an upper layer, the request processing method includes: searching a red-black tree in a memory to obtain a physical address of the file, and converting the physical address into a logical address, and returning it to the upper layer;
[0029] When a sequential read request or a random read request is received from an upper layer, the request processing method further includes: converting the requested logical address into a physical address, and then reading data of a preset length from the physical address.
[0030] According to another aspect of the present invention, there is provided a cloud-edge object storage system with low-latency storage synchronization, comprising: an existing cloud-edge object storage system, a newly added SSD supporting the ZNS standard, and a storage controller;
[0031] The storage controller includes a computer readable storage medium and a processor;
[0032] The computer readable storage medium is used to store the computer program;
[0033] The processor is used to read the computer program in the computer-readable storage medium and execute any one of the above-mentioned methods for reducing the storage synchronization delay of the cloud-edge object storage system provided by the present invention.
[0034] In general, the above technical solutions conceived by the present invention can achieve the following beneficial effects:
[0035] (1) ZNS technology can realize collaborative management between the host and SSD, so that data writing is aligned with the physical medium, optimizing storage efficiency and device life, and also enhancing performance isolation in a multi-tenant environment; in addition to the original cloud-edge object storage system, the present invention introduces a new SSD that supports the ZNS standard, and abstracts the new SSD and the original cloud-edge object storage system into an overall system, and when processing new synchronization file requests, the file is synchronized to the SSD first through a dynamic placement strategy, thereby effectively utilizing the excellent I / O performance of the ZNS SSD to improve storage synchronization efficiency and reduce storage synchronization latency.
[0036] (2) When processing a new file addition request, the present invention first estimates the file size, and then determines the synchronization position of the file through a dynamic placement strategy, and preferentially places the file in the SSD, thereby improving the processing efficiency of the new file addition request.
[0037] (3) ZNS-SSD does not require subsequent garbage collection (GC) operations when deleting files, but it takes a long time to delete files using ZNS. When processing file deletion requests, the present invention adopts a delayed deletion strategy for files in the newly added SSD. Specifically, the files to be deleted are recorded in the queue to be executed, and the files in the queue to be executed are deleted uniformly when the newly added SSD is idle. In this way, a high efficiency of file deletion request processing can be guaranteed while ensuring file synchronization and I / O performance.
[0038] (4) When the newly added SSD is idle and the used space of the newly added SSD is greater than def_size, the present invention will migrate the least recently used part of the files in the newly added SSD to the original cloud-edge object storage system according to the LRU algorithm until the used space of the newly added SSD is less than def_size. In this way, space can be reserved in the SSD to serve subsequent new file synchronization requests, thereby improving the overall storage synchronization performance.
[0039] (5) The present invention allows the user to explicitly declare the read priority mode. When the user explicitly declares the read priority mode, while ensuring that the used space of the newly added SSD does not exceed def_size, the least recently used part of the files in the newly added SSD is migrated to the original cloud edge object storage system according to the LRU algorithm, and the most frequently read part of the files in the original cloud edge object storage system is migrated to the newly added SSD. This ensures that the frequently read files are located in the newly added SSD, thereby utilizing the excellent I / O performance of the SSD to improve the overall read performance of the system.
[0040] (6) The present invention utilizes LSM-Tree to record file information in the newly added SSD and memory, which can better adapt to the performance requirements of object storage, and creates an additional red-black tree to record file information in the memory to accelerate query and memory operations. When there is no software RAID that depends on the file system in the original cloud-edge object storage system, LSM-Tree is also used to record file information, thereby ensuring the file information processing efficiency of the overall system; on this basis, when processing external synchronization file requests, after each file block is read into the memory, the pointer of each file block in the memory is directly notified to the network card driver, instead of copying the file block to the specified memory area, thereby achieving zero copy, reducing the delay caused by the copy of the file block in the memory, and effectively improving the processing efficiency of external synchronization file requests.
[0041] (7) The present invention allows the user to explicitly declare the encryption and keys used. When the user explicitly declares the encryption and keys used, when processing a new synchronization file request, each time a file block is completely transmitted, before the file block is written into the corresponding memory, AES-NI decryption is performed in the memory with the help of CPU acceleration. Mainstream manufacturers such as Intel and AMD have accelerated designs for the AES-NI algorithm on the CPU instruction set, and these designs can be directly called to achieve CPU acceleration.
[0042] (8) When processing a file query request, the present invention gives priority to querying the red-black tree in the memory, thus having a higher query efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 A schematic diagram of a multi-level storage system provided by an embodiment of the present invention;
[0044] Figure 2 A schematic diagram of a dynamic placement strategy provided by an embodiment of the present invention;
[0045] Figure 3 A schematic diagram of the operation of an SSD when idle provided by an embodiment of the present invention;
[0046] Figure 4 A schematic diagram of “zero copy” in the synchronization process provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.
[0048] In the present invention, the terms "first", "second", etc. (if any) in the present invention and the accompanying drawings are used to distinguish similar objects but not necessarily to describe a specific order or sequence.
[0049] For comprehensive considerations of cost and performance, the cloud-edge object storage system used by existing cloud-edge systems often uses multiple HDDs to form RAID or HDD Pool, which will affect the latency and performance of cloud-edge synchronization. In order to solve this problem, the present invention provides a method and system for reducing the storage synchronization latency of the cloud-edge object storage system. The overall concept is that, on the basis of the original cloud-edge object storage system (single HDD, RAID or HDD Pool), a new SSD that supports the ZNS standard is added to make use of the excellent I / O performance of the SSD to make up for the performance shortcomings of the HDD. In addition, in order to control the implementation cost of the storage system, a protocol located below the application and above the file system is designed for the service characteristics of the cloud-edge synchronization process and object storage, which provides an interface for storage interaction for the upper-level application and realizes the synchronization interface between different nodes, effectively reducing the storage synchronization latency and improving the I / O performance.
[0050] Before explaining the technical solution of the present invention in detail, the ZNS technology is briefly introduced as follows: ZNS (Zoned Namespace) technology is a new storage interface in the NVMe specification, which divides the capacity of the storage device into multiple independent zones (Zones), in each of which only sequential writing is allowed, while random reading is not restricted. This design simplifies the data management inside the SSD and reduces the complexity of garbage collection, thereby improving performance and latency. ZNS technology can realize collaborative management between the host and the SSD, so that data writing is aligned with the physical medium, optimizing storage efficiency and device life, and also enhancing performance isolation in a multi-tenant environment. ZNS reduces the complex garbage collection (GC) process in traditional SSDs by limiting write operations to sequential writes. Traditional SSDs need to perform GC frequently to organize scattered data and free up space, while ZNS transfers this responsibility to the host software, allowing the host to manage data writing and deletion more effectively, thereby reducing write amplification effects and latency problems. Because ZNS allows the host to directly manage the write order of data, the data placement strategy inside the SSD is optimized. This optimization not only improves write throughput, but also improves the overall performance and response time of the device. In a multi-tenant environment, ZNS provides better performance isolation capabilities. Since the write operation of each zone is independent, the read and write operations of multiple tenants will not interfere with each other, thus ensuring the quality of service (QoS).
[0051] Based on the above characteristics of the ZNS technology, the present invention introduces an SSD that supports the ZNS standard on the basis of the original cloud-edge object storage system, which can better adapt to the performance requirements of object storage.
[0052] The following are examples.
[0053] Embodiment 1:
[0054] A method for reducing storage synchronization delay of a cloud edge object storage system, comprising:
[0055] The newly added SSD that supports the ZNS standard and the original cloud-edge object storage system are abstracted into an overall system, such as Figure 1 As shown;
[0056] In order to ensure the controllability of the newly added SSD, in this embodiment, the newly added SSD only exposes part of its capacity to the upper layer, that is, the capacity def_size exposed by the newly added SSD to the upper layer is smaller than its actual capacity ssd_size.
[0057] In the abstract overall system, the newly added SSD will store files together with the original cloud edge object storage system. Accordingly, this embodiment records the file information stored in each of the newly added SSD and the original cloud edge object storage system respectively, and uniformly records the file information stored in the newly added SSD and the original cloud edge object storage system in the memory;
[0058] After the new SSD and the original cloud-edge object storage system are abstracted into an integral system in this embodiment, the performance advantages of SSD and the price and capacity advantages of HDD can be better utilized in daily business and synchronization. The new file system abstracted as a whole will have a capacity larger than the original storage system, but smaller than the capacity of the original storage system plus the new SSD. For this overall system, during initialization, in order to ensure compatibility and data security, the content or physical storage location of the data in the original cloud-edge object storage system will not be modified. In addition, during initialization, an additional LSM-Tree data structure will be generated based on the FAT table of the original file system for storing file information. If there is a soft RAID that depends on the file system, it is allowed to be explicitly declared during the initialization process, so that operations will be performed on the original file system afterwards, and the LSM-Tree data structure will not be used.
[0059] Through abstraction, this embodiment provides an abstraction layer on top of the underlying memory, which is used to convert the addresses of the original file storage system and the newly added SSD memory. Optionally, in this embodiment, a smaller value is used to represent the address of the original cloud edge object storage system, and a larger value is used to represent the address of the newly added SSD. When the upper-layer interface requests a file, it does not obtain the real address of the actual memory, but the address after offset conversion.
[0060] After initialization, the overall system will expose the POSIX interface to the upper layer to receive requests from the upper layer; the POSIX interface exposed to the upper layer in this embodiment includes sequential read, random read, file query, sequential write and file delete interfaces, among which sequential write can be used to add content to the end of the file; when there are special needs, this embodiment will also provide the upper layer with a lower performance random write interface.
[0061] There is no need to make too many modifications to the upper-layer applications of the original cloud-edge object storage system, because the original cloud-edge object storage system itself only allows users to add files, delete files, query files, and append operations to the end of files.
[0062] In addition, after initialization, if a software RAID that depends on the file system is not explicitly declared, for performance reasons, this embodiment will deprecate the original file system and adopt the LSM-Tree data structure generated during the initialization phase. Optionally, to indicate the change in this data structure, after generating the LSM-Tree data structure in the original cloud-edge object storage system, this embodiment will modify the file system identifier to BA (a file system identifier defined by the present invention that is not currently in use) to avoid incorrect data operations. If the initialization process explicitly declares a requirement to depend on the original file system, no modification will be made to the original file system to avoid affecting the original software RAID.
[0063] At each system startup, the file data structure (LSM-Tree data structure or the data structure of the original file system) on the original cloud-edge object storage system and the LSM-Tree data structure on the newly added SSD will be read to form a full-scale LSM-Tree data structure containing all file information and a red-black tree structure that accelerates queries and is more suitable for in-memory operations in memory. Based on the LSTM-Tree data combination and the red-black tree structure, when querying file information in memory in this embodiment, the red-black tree will be directly queried to ensure high query performance; when updating the file information in memory, the LSTM-Tree data combination and the red-black tree structure will be updated simultaneously.
[0064] Considering that on a secure or externally encrypted channel, not encrypting will not reduce security and can further reduce latency. AES-NI symmetric encryption is used, which does not require key negotiation, supports hardware acceleration, and has relatively low processing latency. Therefore, this embodiment allows users to select the AES-NI symmetric encryption and non-encryption modes by explicit declaration.
[0065] In order to effectively reduce the storage synchronization delay and improve the storage performance of the original cloud-edge object storage system without introducing too many newly added SSDs to control costs, the present invention has made corresponding improvements to the processing methods for various requests from the upper layer. The overall principle is to preferentially place files on the newly added SSDs so that read and write requests, etc., can hit the newly added SSDs more, thereby making full use of the excellent I / O performance of ZNS SSDs. For this purpose, this embodiment provides a dynamic placement strategy for determining the memory for storing files based on the size of the file to be written, the used space size of the newly added SSD, and the utilization rate of the original cloud-edge object storage system. This dynamic placement strategy is related to four parameters, namely: the actual capacity ssd_size of the newly added SSD, the capacity def_size exposed by the newly added SSD to the upper layer, the storage threshold max_size, and the utilization rate threshold hdd_uti of the original cloud-edge object storage system, where 0 < def_size < max_size < ssd_size. As Figure 2As shown, the dynamic placement strategy provided by this embodiment includes:
[0066] If the file size plus the used space of the newly added SSD is less than def_size, it means that there is enough free space in the newly added SSD, and the file is written directly to the newly added SSD;
[0067] If the file size plus the used space of the newly added SSD is greater than def_size and less than max_size, and the utilization of the original storage system is greater than hdd_uti, it means that the newly added SSD still has available space, but it is insufficient, and the original cloud edge object storage system is busy. At this time, the file is still written to the newly added SSD to avoid the original cloud edge object storage system being busy and affecting the performance of the overall system;
[0068] If the file size plus the used space of the newly added SSD is greater than def_size and less than max_size, and the utilization of the original storage system is less than hdd_uti, it means that the newly added SSD still has available space, but it is insufficient, and the original cloud edge object storage system is not busy, then the file will be written to the original cloud edge object storage system to avoid occupying too much space in the newly added SSD;
[0069] If the file size plus the newly added SSD used space is greater than max_size, and the utilization of the original storage system is less than hdd_uti, the file is written to the original storage system;
[0070] If the file size plus the newly added SSD used space is greater than max_size but less than the SSD capacity ssd_size, and the utilization of the original storage system is greater than hdd_uti, the file is written directly to the SSD. After this write operation is executed, the SSD will be degraded and will no longer accept write requests until the SSD used space is less than max_size.
[0071] It is easy to understand that if the file size is larger than the remaining capacity visible in the upper layer, it means that the file is larger than the storage capacity of the current system and will be rejected. Since this situation is extremely rare, it will not be discussed separately in subsequent processing.
[0072] Based on the above dynamic placement strategy, this embodiment can ensure that the system has relatively stable performance when the original cloud edge object storage system is busy. Based on the above dynamic placement strategy, in this embodiment, when a new synchronization file request is received from the upper layer, the file size is known at this time, and the request processing method includes: recording the corresponding file information in the memory, and determining the memory for storing the file through the dynamic placement strategy, and receiving the file block transmitted by the upper layer; each time a file block is completely transmitted, the file block is written to the corresponding memory; when the file transfer is completed, the file information is recorded in the corresponding memory;
[0073] If the user explicitly declares the encryption and encryption keys used, then when processing new synchronization file requests, each time a file block is completely transmitted, before the file block is written to the corresponding storage, AES-NI decryption will be performed in the memory with the help of CPU acceleration.
[0074] On the basis of the above-mentioned dynamic placement strategy, in this embodiment, when a request for adding a new file is received from the upper layer, the file size is unknown at this time, but a large part of the file is already in the memory, so the file size can be estimated. Accordingly, the request processing method includes: recording the corresponding file information in the memory, determining the memory for storing the file through the dynamic placement strategy after estimating the file size, and receiving the file blocks transmitted by the upper layer; writing the file block to the corresponding memory each time a file block is completely transmitted; and recording the file information to the corresponding memory when the file transmission is completed.
[0075] When processing new synchronization file requests and new file addition requests, this embodiment prioritizes synchronizing files to the SSD through a dynamic placement strategy. Files can be placed in the SSD first, thereby effectively utilizing the excellent I / O performance of the ZNS SSD to improve request processing efficiency and reduce storage synchronization delays.
[0076] ZNS-SSD does not require subsequent garbage collection (GC) operations when deleting files, but it takes a long time to delete files using ZNS. In order to avoid a long time when deleting files in the newly added SSD, this embodiment adopts a delayed deletion strategy for the files in the newly added SSD, which specifically includes:
[0077] Maintain a queue to be executed in the newly added SSD to record the file information to be deleted;
[0078] Furthermore, when a file deletion request is received from an upper layer, the request processing method includes: querying the file information recorded in the memory to locate the storage device storing the file to be deleted; if it is a newly added SSD, recording the file information in the queue to be executed, and deleting the file information from the newly added SSD and the memory; if it is an original cloud edge object storage system, deleting the file information from the original cloud edge object storage system and the memory, and marking the file blocks of the file in the original cloud edge object storage system as invalid;
[0079] like Figure 3 As shown, in this embodiment, when the newly added SSD is idle, the file blocks of each file in the queue to be executed in the newly added SSD are deleted, and the queue to be executed is cleared.
[0080] In actual applications, a utilization threshold ssd_uti of the newly added SSD may be preset. When the utilization of the newly added SSD is less than ssd_uti, the newly added SSD is determined to be idle.
[0081] like Figure 3 As shown, in order to fully utilize the performance advantage of the newly added SSD, this embodiment further performs the following operations when the newly added SSD is idle:
[0082] When the newly added SSD is idle, if the used space of the newly added SSD is greater than def_size, the least recently used files in the newly added SSD will be migrated to the original cloud-edge object storage system according to the LRU algorithm until the used space of the newly added SSD is less than def_size. In this way, space can be reserved in the SSD to serve subsequent new file synchronization requests, thereby improving the overall storage synchronization performance.
[0083] In addition, in order to fully utilize the performance advantages of the newly added SSD, this embodiment allows the user to explicitly declare the read priority mode. And if the user explicitly declares the read priority mode, then under the condition that the used space of the newly added SSD does not exceed def_size, the least recently used part of the files in the newly added SSD is migrated to the original cloud edge object storage system according to the LRU algorithm, and the most frequently read part of the files in the original cloud edge object storage system is migrated to the newly added SSD, thereby ensuring that the frequently read files are located in the newly added SSD, thereby utilizing the excellent I / O performance of the SSD to improve the overall read performance of the system.
[0084] Since the LRU replacement algorithm may cause frequent file writing in the SSD, thus increasing the wear of the SSD, this embodiment performs the above operation only when the user explicitly declares the read priority mode.
[0085] In this embodiment, when an outward synchronization file request is received from an upper layer, the request processing method includes: searching the red-black tree in the memory to obtain the physical address of the file, and reading each file block from the physical address into the memory;
[0086] The pointer of each file block in memory is notified to the network card driver so as to be sent to the corresponding storage node through NIC or RDMA.
[0087] This embodiment directly notifies the network card driver of the pointer of each file block in the memory, rather than copying the file block to the specified memory area, such as Figure 4 As shown in the figure, zero copy is achieved, which reduces the delay caused by copying file blocks in memory and effectively improves the processing efficiency of external synchronization file requests.
[0088] If the user explicitly declares encryption and the key to be used, when processing an outbound file synchronization request, each file block will be read into memory and encrypted in memory.
[0089] In this embodiment, when a file query request is received from an upper layer, the request processing method includes: searching the red-black tree in the memory to obtain the physical address of the file, converting the physical address into a logical address, and returning it to the upper layer;
[0090] When a sequential read request or a random read request is received from an upper layer, the request processing method further includes: converting the requested logical address into a physical address, and then reading data of a preset length from the physical address.
[0091] Based on the above request processing method, this embodiment can significantly reduce storage synchronization delay and improve storage performance by only adding a new SSD that supports the ZNS standard in addition to the original cloud edge object storage system. In other words, the storage synchronization delay of the cloud edge object storage system is significantly reduced and the storage performance is improved without significantly increasing the cost. In this embodiment, the newly added SSD has a higher hit rate, so the performance of the overall system is relatively close to that of the newly added SSD. Due to the strong predictability of ZNS performance, combined with the multi-level storage system, this embodiment enables the overall storage system to have strong performance expectations in most cases.
[0092] In general, this embodiment provides a dynamic placement solution for synchronized files that integrates an SSD that supports the ZNS standard with the original cloud-edge object storage system. The synchronized files are dynamically placed according to the real-time load of different devices to achieve better overall synchronization and overall performance. It adopts a zero-copy implementation of memory and NIC / RDMA. After the file is transferred from the storage system to the memory, it does not need to be copied again and can be sent directly by NIC / RDMA. It also provides CPU-accelerated AES-NI encryption, which reduces the latency of file processing in memory.
[0093] Embodiment 2:
[0094] A cloud-edge object storage system with low-latency storage synchronization, comprising: an original cloud-edge object storage system, a newly added SSD supporting the ZNS standard, and a storage controller;
[0095] The storage controller includes a computer readable storage medium and a processor;
[0096] The computer readable storage medium is used to store the computer program;
[0097] The processor is used to read the computer program in the computer-readable storage medium and execute the method for reducing the storage synchronization delay of the cloud-edge object storage system provided in the above-mentioned embodiment 1.
[0098] It will be easily understood by those skilled in the art that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for reducing storage synchronization delay of a cloud edge object storage system, characterized in that: Including: Abstracting the newly added SSD that supports the ZNS standard and the original cloud-edge object storage system into an integrated system; The capacity def_size exposed by the newly added SSD to the upper layer is less than its actual capacity ssd_size; Recording the file information stored in each of the newly added SSD and the original cloud-edge object storage system respectively, and uniformly recording the file information stored in the newly added SSD and the original cloud-edge object storage system in memory; Making the integrated system expose a POSIX interface to the upper layer to receive requests from the upper layer; When receiving a new synchronous file request from the upper layer, the request processing method includes: recording the corresponding file information in memory, determining the storage device for storing the file through a dynamic placement policy, and receiving the file block transmitted by the upper layer; for each completely transmitted file block, writing the file block to the corresponding storage device; when the file transmission is completed, recording the file information to the corresponding storage device; The dynamic placement policy includes: calculating the sum sum_size of the file size and the used space size of the newly added SSD, and the utilization rate η of the original cloud-edge object storage system. If sum_size and η satisfy any one of the redirection conditions, it is determined that the storage device for storing the file is the newly added SSD; otherwise, it is determined that the storage device for storing the file is the original cloud-edge object storage system; The redirection conditions include: (a) sum_size < def_size; (b) def_size ≤ sum_size < max_size, and η > hdd_uti; (c) max_size ≤ sum_size < ssd_size, and η > hdd_uti; And when sum_size and η satisfy the redirection condition (c), the newly added SSD no longer accepts write requests until its used space is less than max_size; Wherein, max_size is a preset storage threshold, 0 < def_size < max_size < ssd_size; hdd_uti is the utilization rate threshold of the original cloud-edge object storage system.
2. The method for reducing storage synchronization delay of a cloud edge object storage system according to claim 1, characterized in that: Also including: When receiving a request for adding a new file from the upper layer, the request processing method includes: recording the corresponding file information in memory, estimating the file size and then determining the storage device for storing the file through the dynamic placement policy, and receiving the file block transmitted by the upper layer; for each completely transmitted file block, writing the file block to the corresponding storage device; when the file transmission is completed, recording the file information to the corresponding storage device.
3. The method for reducing storage synchronization delay of a cloud edge object storage system according to claim 1 or 2, characterized in that: Also including: Maintaining a pending execution queue in the newly added SSD for recording file information to be deleted; Moreover, when a file deletion request is received from the upper layer, the request processing method includes: querying the file information recorded in the memory to locate the storage device that stores the file to be deleted; if it is a newly added SSD, the file information is recorded in the queue to be executed, and the file information is deleted from the newly added SSD and the memory; if it is an original cloud edge object storage system, the file information is deleted from the original cloud edge object storage system and the memory, and the file blocks of the file in the original cloud edge object storage system are marked as invalid.
4. The method for reducing storage synchronization delay of a cloud edge object storage system according to claim 3, characterized in that: Also includes: When the newly added SSD is idle, the file blocks of each file in the queue to be executed in the newly added SSD are deleted, and the queue to be executed is cleared.
5. The method for reducing storage synchronization delay of a cloud edge object storage system according to claim 1 or 2, characterized in that: Also includes: When the newly added SSD is idle, if the used space of the newly added SSD is greater than def_size, the least recently used files in the newly added SSD are migrated to the original cloud edge object storage system according to the LRU algorithm until the used space of the newly added SSD is less than def_size.
6. The method for reducing storage synchronization delay of a cloud edge object storage system according to claim 1 or 2, characterized in that: Also includes: If the user explicitly declares the read priority mode, then the least recently used files in the newly added SSD will be migrated to the original cloud-edge object storage system according to the LRU algorithm, while ensuring that the used space of the newly added SSD does not exceed def_size, and the most frequently read files in the original cloud-edge object storage system will be migrated to the newly added SSD.
7. The method for reducing storage synchronization delay of a cloud edge object storage system according to claim 1 or 2, characterized in that: Record file information through LSM-Tree in the newly added SSD; The file information is recorded in memory through LSM-Tree and red-black tree, and the information recorded in LSM-Tree and red-black tree is the same; If there is a software RAID that depends on the file system in the original cloud-edge object storage system, the data structure used to record file information in the original cloud-edge object storage system is reused. Otherwise, the file information is recorded through LSM-Tree in the original cloud-edge object storage system. Furthermore, when receiving an outward synchronization file request from an upper layer, the request processing method includes: searching the red-black tree in the memory to obtain the physical address of the file, and reading each file block from the physical address into the memory; The pointer of each file block in memory is notified to the network card driver so as to be sent to the corresponding storage node through NIC or RDMA.
8. The method for reducing storage synchronization delay of a cloud edge object storage system according to claim 7, characterized in that: If the user explicitly declares encryption and the key to be used, each file block will be encrypted in memory after being read into memory when processing an outbound file synchronization request; In addition, when processing new synchronization file requests, each time a file block is completely transmitted, before the file block is written to the corresponding storage, AES-NI decryption will be performed in the memory with the help of CPU acceleration.
9. The method for reducing storage synchronization delay of a cloud edge object storage system according to claim 7, characterized in that: Also includes: When a file query request is received from the upper layer, the request processing method includes: searching the red-black tree in the memory to obtain the physical address of the file, converting the physical address into a logical address, and returning it to the upper layer; When a sequential read request or a random read request is received from an upper layer, the request processing method further includes: converting the requested logical address into a physical address, and then reading data of a preset length from the physical address.
10. A cloud-edge object storage system with low-latency storage synchronization, characterized in that: include: The original cloud-edge object storage system, newly added SSDs and storage controllers that support the ZNS standard; The storage controller includes a computer-readable storage medium and a processor; The computer readable storage medium is used to store a computer program; The processor is used to read the computer program in the computer-readable storage medium and execute the method for reducing the storage synchronization delay of the cloud edge object storage system according to any one of claims 1 to 9.
Citation Information
Patent Citations
Resource management method and resource management system based on multi-tenant cloud storage
CN110580127A
Method for quickly searching last write end position of NorFlash in ZNS solid state disk
CN115758206A
File system management model and system
CN115964350A
Method and device for configuring area of ZNS SSD
CN117055816A
Management method and system for address space of low delay file system and medium
US20220404990A1