Method and apparatus for processing objects in object storage
By introducing a metadata determination mechanism for hierarchical data storage clusters into the object storage system, the problem of inconvenient object storage operations is solved, and the operational efficiency in big data scenarios is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING BAIDU NETCOM SCI & TECH CO LTD
- Filing Date
- 2022-12-22
- Publication Date
- 2026-06-19
AI Technical Summary
Object storage suffers from poor convenience and low efficiency in object operations, especially in big data computing scenarios.
By determining metadata from a hierarchical data storage cluster, the object storage system incorporates a directory concept, improving operational convenience and efficiency.
It improves the ease of operation and data processing efficiency of object storage systems in big data scenarios, and avoids additional operations.
Smart Images

Figure CN116226314B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of artificial intelligence technology, specifically to big data, cloud computing, cloud storage, and cloud database technologies, and can be applied in intelligent cloud scenarios. It provides a method, apparatus, electronic device, and readable storage medium for processing objects in object storage. Background Technology
[0002] With the explosive growth of unstructured data, object storage has emerged. Object storage is a flat storage system that allows for quick retrieval of desired objects. However, because objects in object storage lack the concept of a directory, operations on objects in object storage suffer from poor convenience and low efficiency in big data computing scenarios. Summary of the Invention
[0003] According to a first aspect of this disclosure, a method for processing objects in an object storage is provided, comprising: receiving an operation request for a target object; determining a target hierarchical data storage cluster corresponding to the target object based on the operation request, the target hierarchical data storage cluster containing metadata corresponding to different hierarchical data; determining target metadata corresponding to the target object from the target hierarchical data storage cluster; determining target object data corresponding to the target metadata; and performing an operation on the target object data according to the operation request.
[0004] According to a second aspect of this disclosure, an apparatus for processing objects in an object storage is provided, comprising: a receiving unit for receiving an operation request for a target object; a determining unit for determining a target hierarchical data storage cluster corresponding to the target object based on the operation request, the target hierarchical data storage cluster containing metadata corresponding to different hierarchical data; a processing unit for determining target metadata corresponding to the target object from the target hierarchical data storage cluster; and an operation unit for determining target object data corresponding to the target metadata and performing an operation on the target object data according to the operation request.
[0005] According to a third aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method as described above.
[0006] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform the method described above.
[0007] According to a fifth aspect of this disclosure, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the method described above.
[0008] As can be seen from the above technical solutions, this disclosure enables the flat object storage to have the concept of a directory by determining the metadata from the hierarchical data storage cluster, thereby improving the convenience of operating objects in the object storage system in big data scenarios, avoiding triggering additional operations, and improving the efficiency of data processing.
[0009] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0010] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0011] Figure 1 This is a schematic diagram based on the first embodiment of the present disclosure;
[0012] Figure 2 This is a schematic diagram according to the second embodiment of the present disclosure;
[0013] Figure 3 This is a schematic diagram according to the third embodiment of the present disclosure;
[0014] Figure 4 This is a block diagram of an electronic device used to implement the object processing method in the object storage of the embodiments of this disclosure. Detailed Implementation
[0015] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and mechanisms are omitted in the following description.
[0016] Figure 1 This is a schematic diagram based on the first embodiment of this disclosure. (See diagram below.) Figure 1 As shown, the object processing method in the object storage of this embodiment specifically includes the following steps:
[0017] S101, Receive an operation request for the target object;
[0018] S102. Based on the operation request, determine the target hierarchical data storage cluster corresponding to the target object, wherein the target hierarchical data storage cluster contains metadata corresponding to different hierarchical data;
[0019] S103. Determine the target metadata corresponding to the target object from the target-level data storage cluster;
[0020] S104. Determine the target object data corresponding to the target metadata, and perform operations on the target object data according to the operation request.
[0021] In this embodiment, the execution entity of the object processing method in the object storage can be a node in the object storage system. After receiving an operation request for the target object, it first determines the target hierarchical data storage cluster corresponding to the target object based on the operation request. Then, it determines the target metadata corresponding to the target object from the target hierarchical data storage cluster. Finally, it determines the target object data based on the target metadata and performs the operation. By determining the metadata from the hierarchical data storage cluster, the flat object storage has the concept of a directory, thereby improving the convenience of operating objects in the object storage system in big data scenarios, avoiding triggering additional operations, and improving the efficiency of data processing.
[0022] This embodiment executes the operation request for the target object received in S101, including one of the following: write, read, list, or delete. Based on the received operation request, this embodiment can parse and obtain information such as the target object's name and the bucket in which the target object resides.
[0023] In this embodiment, after receiving the operation request for the target object in S101, S102 is executed to determine the target hierarchical data storage cluster corresponding to the target object based on the operation request; wherein, the target hierarchical data storage cluster contains metadata corresponding to different hierarchical data, and the object's metadata is used to determine the object data of the object.
[0024] It is understood that there are two types of storage clusters used to store metadata in this embodiment: a flat data storage cluster and a hierarchical data storage cluster. The metadata stored in the flat data storage cluster is the full path of the object (e.g., a string corresponding to the object), that is, the metadata stored in the flat data storage cluster is flat data and does not have the concept of a directory. The hierarchical data storage cluster stores the correspondence between hierarchical data and metadata, and the hierarchical data has the concept of a directory.
[0025] In this embodiment, the hierarchical data in the hierarchical data storage cluster can be composed of a header (HEAD), a bucket ID (bucket-id), a parent directory ID (parent-id), and an object name (object-name). Different hierarchical data correspond to different metadata (i.e., meta-data), for example, |HEAD|bucket-id|parent-id|object-name|->|meta-data|.
[0026] In this embodiment, when executing S102 to determine the target hierarchical data storage cluster corresponding to the target object based on the operation request, the optional implementation method can be: obtaining the operation type of the operation request; if it is determined that the obtained operation type is the target operation type, determining the target hierarchical data storage cluster corresponding to the target object; in this embodiment, the target operation type is preset, such as a write operation or a delete operation.
[0027] In other words, this embodiment determines whether to obtain the target object's metadata from the horizontal data storage cluster or the hierarchical data storage cluster based on the operation request. Then, when it is determined to perform a specific operation on the target object, the purpose of obtaining the metadata from the hierarchical data storage cluster is achieved, which can improve the operation efficiency of the target object.
[0028] Since this embodiment includes multiple different hierarchical data storage clusters, and each hierarchical data storage cluster contains metadata corresponding to different objects, when executing S102 to determine the target hierarchical data storage cluster, this embodiment can determine the target hierarchical data storage cluster corresponding to the target object from multiple hierarchical data storage clusters based on the object name of the target object.
[0029] In this embodiment, after executing S102 to determine the target-level data storage cluster corresponding to the target object, S103 is executed to determine the target metadata corresponding to the target object from the target-level data storage cluster.
[0030] In this embodiment, when executing S103 to determine the target metadata corresponding to the target object from the target hierarchical data storage cluster, the optional implementation method can be: generating hierarchical data of the target object; and using the metadata in the target hierarchical data storage cluster corresponding to the generated hierarchical data as the target metadata corresponding to the target object.
[0031] For example, if the target object is " / a / b", in this embodiment, when executing S103, the ID of the bucket where a is located can be used as the bucket-id in the hierarchical data, the ID of the directory where a is located can be used as the parent-id in the hierarchical data, and the name of b can be used as the object-name in the hierarchical data, thereby generating hierarchical data of " / a / b". Then, the metadata corresponding to the generated hierarchical data in the target hierarchical data storage cluster can be used as the metadata of the target object.
[0032] In other words, this embodiment can determine target metadata from the target hierarchical data storage cluster based on the way the target object generates hierarchical data in real time, which can improve the accuracy of the determined target metadata.
[0033] In this embodiment, after executing S103 to determine the target metadata corresponding to the target object, S104 is executed to determine the target object data corresponding to the target metadata, and the target object data is operated on according to the operation request.
[0034] In this embodiment, when performing S104 to operate on the target object data according to the operation request, the optional implementation methods are as follows: copy the target object data to obtain multiple target object data copies. In this embodiment, the Raft consensus protocol can be used to copy the copies; convert the operation corresponding to the operation request into an idempotent operation, for example, convert it into an idempotent key-value operation; operate on the multiple target object data copies according to the converted idempotent operation; and complete the operation on the target object data when it is determined that the operation results of the multiple target object data copies meet the preset requirements.
[0035] In other words, this embodiment ensures high reliability of data processing and consistency of operations by transforming the operation corresponding to the operation request into an idempotent operation and further operating on a copy of the target object data according to the idempotent operation.
[0036] In this embodiment, when executing S104, after obtaining the operation results of some target object data copies, it can be determined that the operation results of multiple target object data copies meet the preset requirements, for example, 3 out of 5 target object data copies have completed the operation.
[0037] To prevent erroneous concurrent operations and ensure the correctness of operation semantics, this embodiment can also perform preprocessing and postprocessing operations on the operation request when performing S104 to operate on the target object data according to the operation request. The preprocessing operation can add read-write locks to the target object to be operated on (for example, add a read lock to 'a' in " / a / b" and add a write lock to 'b'), and the postprocessing operation can release the read-write locks added to the target object.
[0038] In addition, after performing S104 to operate on the target object data according to the operation request, this embodiment may also include the following: determining the target flat data storage cluster corresponding to the target object; rewriting the flat data in the target flat data storage cluster into hierarchical data, and then writing it into the target hierarchical data storage cluster until the number of data in the target flat data storage cluster and the target hierarchical data storage cluster are the same.
[0039] In other words, since the metadata of many objects is still stored in the flat data storage cluster, this embodiment can rewrite the metadata in the flat data storage cluster and write the rewritten hierarchical data into the hierarchical data storage cluster, so that the two storage clusters contain the metadata of the same object, and then when operating on the object in the future, the purpose of directly determining the metadata through the hierarchical data cluster can be achieved.
[0040] Figure 2 This is a schematic diagram according to the second embodiment of the present disclosure. Figure 2 The diagram illustrates the processing of objects in object storage according to this embodiment: First, objects are received via a Web service.
[0041] The system requests operations on the target object; then, through a metadata operation broker, it determines the target hierarchical data storage cluster (i.e., the Meta Data store) corresponding to the target object; and then retrieves the data from the target hierarchical data store...
[0042] After obtaining the target metadata corresponding to the target object from the storage cluster, the target object data is obtained based on the obtained target metadata (the target object data is stored in the object data storage cluster, such as Data Store); finally, the obtained target object data is operated on according to the operation request.
[0043] Figure 3 This is a schematic diagram according to the third embodiment of this disclosure. (See diagram below.) Figure 3 As shown, the object processing apparatus 300 in this embodiment includes:
[0044] Receiving unit 301 is used to receive operation requests for the target object;
[0045] Determining unit 302 is configured to determine, based on the operation request, a target hierarchical data storage cluster corresponding to the target object, wherein the target hierarchical data storage cluster contains different hierarchical data storage clusters.
[0046] Metadata corresponding to the data;
[0047] 5. Processing unit 303, configured to determine from the target-level data storage cluster the target...
[0048] The target metadata corresponding to the object;
[0049] Operation unit 304 is used to determine the target object data corresponding to the target metadata, and to perform operations on the target object data according to the operation request.
[0050] The receiving unit 301 receives operation requests for the target object, including one of the following: write, read, list, and delete. The receiving unit 301 then...
[0051] The received operation request can be parsed to obtain information such as the target object's name and the bucket in which the target object resides.
[0052] In this embodiment, after the receiving unit 301 receives the operation request for the target object, the determination unit determines the operation request.
[0053] Unit 302 determines the target hierarchical data storage cluster corresponding to the target object based on the operation request; wherein the target hierarchical data storage cluster contains metadata corresponding to different hierarchical data.
[0054] In this embodiment, the hierarchical data in the hierarchical data storage cluster can be composed of a header (HEAD), a bucket ID (bucket-id), a parent directory ID (parent-id), and an object name (object-name). Different hierarchical data corresponds to different metadata (i.e., meta-data), for example...
[0055] |HEAD|bucket-id|parent-id|object-name|->|meta-data|.
[0056] When determining the target hierarchical data storage cluster corresponding to the target object based on the operation request, the determination unit 302 may adopt the following optional implementation methods: obtain the operation type of the operation request; if it is determined that the obtained operation type is the target operation type, determine the target hierarchical data storage cluster corresponding to the target object; in this embodiment, the target operation type is preset, such as a write operation or a delete operation.
[0057] In other words, the determining unit 302 determines whether to obtain the target object's metadata from the horizontal data storage cluster or the hierarchical data storage cluster based on the operation request. Then, when it is determined to perform a specific operation on the target object, the purpose of obtaining the metadata from the hierarchical data storage cluster is achieved, which can improve the operation efficiency of the target object.
[0058] Since this embodiment includes multiple different hierarchical data storage clusters, and each hierarchical data storage cluster contains metadata corresponding to different objects, when determining the target hierarchical data storage cluster, the determining unit 302 can determine the target hierarchical data storage cluster corresponding to the target object from multiple hierarchical data storage clusters based on the object name of the target object.
[0059] In this embodiment, after the determining unit 302 determines the target hierarchical data storage cluster corresponding to the target object, the processing unit 303 determines the target metadata corresponding to the target object from the target hierarchical data storage cluster.
[0060] When processing unit 303 determines the target metadata corresponding to the target object from the target hierarchical data storage cluster, the optional implementation method may be: generating hierarchical data of the target object; and using the metadata corresponding to the generated hierarchical data in the target hierarchical data storage cluster as the target metadata corresponding to the target object.
[0061] In other words, the processing unit 303 can determine the target metadata from the target hierarchical data storage cluster based on the way the target object generates hierarchical data in real time, thereby improving the accuracy of the determined target metadata.
[0062] In this embodiment, after the processing unit 303 determines the target metadata corresponding to the target object, the operation unit 304 determines the target object data corresponding to the target metadata and performs operations on the target object data according to the operation request.
[0063] When the operation unit 304 operates on the target object data according to the operation request, the optional implementation methods are as follows: copy the target object data to obtain multiple target object data copies; convert the operation corresponding to the operation request into an idempotent operation; operate on the multiple target object data copies according to the converted idempotent operation; and complete the operation on the target object data when it is determined that the operation results of the multiple target object data copies meet the preset requirements.
[0064] In other words, by converting the operation corresponding to the operation request into an idempotent operation, and further operating on a copy of the target object data according to the idempotent operation, the operation unit 304 can ensure the high reliability of data processing while also ensuring the consistency of operations.
[0065] After obtaining the operation results of some target object data copies, the operation unit 304 can determine whether the operation results of multiple target object data copies meet preset requirements, such as 3 out of 5 target object data copies completing the operation.
[0066] To prevent erroneous concurrent operations and ensure the correctness of operation semantics, when the operation unit 304 operates on the target object data according to the operation request, it can also perform preprocessing and postprocessing operations on the operation request. The preprocessing operation can add read-write locks to the target object to be operated on (for example, add a read lock to 'a' in " / a / b" and add a write lock to 'b'), and the postprocessing operation can release the read-write locks added to the target object.
[0067] In addition, the object processing device 300 in the object storage of this embodiment may also include a migration unit 305, which is used to perform: determining the target flat data storage cluster corresponding to the target object; rewriting the flat data in the target flat data storage cluster into hierarchical data, and then writing it into the target hierarchical data storage cluster until the number of data in the target flat data storage cluster and the target hierarchical data storage cluster are the same.
[0068] In other words, since the metadata of many objects is still stored in the same-level data storage cluster, the migration unit 305 can rewrite the metadata in the same-level data storage cluster and write the rewritten hierarchical data into the hierarchical data storage cluster, so that the two storage clusters contain the metadata of the same object. Then, when operating on the object in the future, the metadata can be determined directly through the hierarchical data cluster.
[0069] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0070] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0071] like Figure 4The diagram shown is a block diagram of an electronic device for processing objects in an object storage according to an embodiment of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0072] like Figure 4 As shown, device 400 includes a computing unit 401, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 402 or a computer program loaded from storage unit 408 into random access memory (RAM) 403. RAM 403 may also store various programs and data required for the operation of device 400. The computing unit 401, ROM 402, and RAM 403 are interconnected via bus 404. Input / output (I / O) interface 405 is also connected to bus 404.
[0073] Multiple components in device 400 are connected to I / O interface 405, including: input unit 406, such as keyboard, mouse, etc.; output unit 407, such as various types of displays, speakers, etc.; storage unit 408, such as disk, optical disk, etc.; and communication unit 409, such as network card, modem, wireless transceiver, etc. Communication unit 409 allows device 400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0074] Computing unit 401 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Computing unit 401 performs the various methods and processes described above, such as methods for processing objects in object storage. For example, in some embodiments, methods for processing objects in object storage can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 408.
[0075] In some embodiments, part or all of the computer program may be loaded and / or installed onto the device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by computing unit 401, one or more steps of the object processing method in the object storage described above may be performed. Alternatively, in other embodiments, computing unit 401 may be configured to perform the object processing method in the object storage by any other suitable means (e.g., by means of firmware).
[0076] Various implementations of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transferring data and instructions to the storage system, the at least one input device, and the at least one output device.
[0077] Program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other means of processing objects in a programmable object store, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0078] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0079] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for showing information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0080] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0081] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service system that addresses the management difficulties and weak business scalability inherent in traditional physical hosts and VPS (Virtual Private Server) services. Servers can also be servers for distributed systems or servers incorporating blockchain technology.
[0082] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0083] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for processing objects in object storage, comprising: Receive operation requests for the target object; Based on the operation request, a target hierarchical data storage cluster corresponding to the target object is determined, and the target hierarchical data storage cluster contains metadata corresponding to different hierarchical data. Determine the target metadata corresponding to the target object from the target-level data storage cluster; Determine the target object data corresponding to the target metadata from the object data storage cluster, and operate on the target object data according to the operation request; The step of determining the target hierarchical data storage cluster corresponding to the target object based on the operation request includes: Obtain the operation type of the operation request; If the operation type is determined to be the target operation type, the target hierarchical data storage cluster is determined based on the object name of the target object; Determining the target metadata corresponding to the target object from the target-level data storage cluster includes: Generate the hierarchical data of the target object; The metadata corresponding to the hierarchical data in the target hierarchical data storage cluster is used as the target metadata.
2. The method of claim 1, wherein, The operation on the target object data according to the operation request includes: The target object data is copied to obtain multiple copies of the target object data; Transform the operation corresponding to the operation request into an idempotent operation; The plurality of target object data copies are operated on according to the idempotent operation; If the operation results of the multiple target object data copies meet the preset requirements, the operation on the target object data is completed.
3. The method according to claim 1, further comprising: Determine the target flat-level data storage cluster corresponding to the target object; After rewriting the flat data in the target flat data storage cluster into hierarchical data, it is written into the target hierarchical data storage cluster until the number of data in the target flat data storage cluster is the same as that in the target hierarchical data storage cluster.
4. An apparatus for processing objects in an object storage, comprising: The receiving unit is used to receive operation requests for the target object; The determining unit is configured to determine, based on the operation request, a target hierarchical data storage cluster corresponding to the target object, wherein the target hierarchical data storage cluster contains metadata corresponding to different hierarchical data. The processing unit is used to determine the target metadata corresponding to the target object from the target-level data storage cluster; An operation unit is configured to determine the target object data corresponding to the target metadata from the object data storage cluster, and to operate on the target object data according to the operation request; Specifically, when the determining unit determines the target-level data storage cluster corresponding to the target object based on the operation request, it performs the following: Obtain the operation type of the operation request; If the operation type is determined to be the target operation type, the target hierarchical data storage cluster is determined based on the object name of the target object; When the processing unit determines the target metadata corresponding to the target object from the target-level data storage cluster, it specifically performs the following: Generate the hierarchical data of the target object; The metadata corresponding to the hierarchical data in the target hierarchical data storage cluster is used as the target metadata.
5. The apparatus of claim 4, wherein, When the operation unit operates on the target object data according to the operation request, it specifically performs the following: The target object data is copied to obtain multiple copies of the target object data; Transform the operation corresponding to the operation request into an idempotent operation; The plurality of target object data copies are operated on according to the idempotent operation; If the operation results of the multiple target object data copies meet the preset requirements, the operation on the target object data is completed.
6. The apparatus of claim 4, further comprising a migration unit for performing: Determine the target flat-level data storage cluster corresponding to the target object; After rewriting the flat data in the target flat data storage cluster into hierarchical data, it is written into the target hierarchical data storage cluster until the number of data in the target flat data storage cluster is the same as that in the target hierarchical data storage cluster.
7. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-3.
8. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-3.
9. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-3.