Object merging method and device, electronic equipment and medium

By binding rules at the metadata level and creating flash-merge objects, the storage pressure caused by file merging in existing storage systems is solved, achieving efficient object merging and saving storage space and computing costs.

CN121934772APending Publication Date: 2026-04-28XINHUASAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-31
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing file merging methods require physical copying and actual writing of all original data, resulting in a large number of I/O operations and increasing storage pressure.

Method used

By creating a FlashPatch object and using metadata-level redirection and merging rules to bind multiple objects into a FlashPatch object, physical copying and duplicate data storage are avoided.

Benefits of technology

It reduces duplicate data usage, saves storage space, lowers computing and transmission costs, and improves merging speed and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121934772A_ABST
    Figure CN121934772A_ABST
Patent Text Reader

Abstract

The invention provides an object merging method and device, electronic equipment and a medium. The method comprises the following steps: receiving a flash spelling object creation request sent by a client, wherein the flash spelling object creation request comprises object information of a plurality of flash spelling objects; according to the flash spelling object creation request, combining the plurality of flash spelling objects into a flash spelling object; the step of merging the multiple flash spelling objects into the flash spelling object comprises the steps that a new object is created to serve as the flash spelling object, a merging rule is added into metadata of the flash spelling object, and the merging rule comprises object information of the multiple flash spelling objects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of object merging technology, and in particular to object merging methods, apparatus, electronic devices and media. Background Technology

[0002] With the development of information technology and the acceleration of digital transformation, the number of electronic documents generated by enterprises and individuals in their work and life has increased dramatically, and the types, formats, and storage locations of these documents are becoming more diverse and decentralized. For example, in the information systems of large enterprises, log files may be stored on different server nodes; video and audio materials may be distributed across multiple disk partitions; and report data may exist in different databases and local file systems.

[0003] Existing file merging methods rely on physical copying and actual writing, which involves reading the contents of multiple files and merging them to generate a new single file. These methods incur high data transfer and storage overhead. Physical merging requires reading and rewriting all the original data, resulting in a large number of I / O (input / output) operations and increasing storage pressure. Summary of the Invention

[0004] To overcome the problems existing in related technologies, this specification provides object merging methods, apparatus, electronic devices, and media.

[0005] According to a first aspect of the embodiments of this specification, an object merging method is provided, applied to a storage system. The method includes: receiving a flash-merging object creation request sent by a client, the flash-merging object creation request including object information of multiple flash-merging objects; merging the multiple flash-merging objects into a flash-merging object according to the flash-merging object creation request; the merging of the multiple flash-merging objects into a flash-merging object includes: creating a new object as the flash-merging object, and adding a merging rule to the metadata of the flash-merging object, the merging rule including the object information of the multiple flash-merging objects.

[0006] According to a second aspect of the embodiments of this specification, an object merging method is provided, applied to a first node in a storage system. The method includes: receiving a flash-merging object creation request, the flash-merging object creation request including object information of multiple flash-merging objects; merging the multiple flash-merging objects into a flash-merging object according to the flash-merging object creation request; the merging of the multiple flash-merging objects into a flash-merging object includes: creating a new object as the flash-merging object, and adding a merging rule to the metadata of the flash-merging object, the merging rule including the object information of the multiple flash-merging objects.

[0007] According to a third aspect of the embodiments of this specification, an object merging apparatus is provided, applied to a storage system, comprising: a first flash-merging request receiving module, configured to receive a flash-merging object creation request sent by a client, the flash-merging object creation request including object information of a plurality of flash-merging objects; a first merging module, configured to merge the plurality of flash-merging objects into a flash-merging object according to the flash-merging object creation request; the first merging module comprising: a first creation submodule, configured to create a new object as the flash-merging object; and a first adding submodule, configured to add merging rules to the metadata of the flash-merging object, the merging rules including the object information of the plurality of flash-merging objects.

[0008] According to a fourth aspect of the embodiments of this specification, an object merging apparatus is provided, applied to a first node in a storage system, comprising: a second flash-merging request receiving module, configured to receive a flash-merging object creation request sent by a client, the flash-merging object creation request including object information of multiple flash-merging objects; a second merging module, configured to merge the multiple flash-merging objects into a flash-merging object according to the flash-merging object creation request; the second merging module comprising: a second creation submodule, configured to create a new object as the flash-merging object; and a second adding submodule, configured to add merging rules to the metadata of the flash-merging object, the merging rules including the object information of the multiple flash-merging objects.

[0009] According to a fifth aspect of the embodiments of this specification, an electronic device is provided, comprising: processor; Memory used to store processor-executable instructions; The processor is configured to execute the object merging method of the first aspect, the second aspect, or any corresponding embodiment thereof.

[0010] According to a sixth aspect of the embodiments of this specification, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions, the computer instructions being configured to cause a computer to perform the object merging method of the first aspect, the second aspect, or any corresponding embodiment thereof described above.

[0011] The technical solutions provided in the embodiments of this specification may include the following beneficial effects: In the embodiments described in this specification, when a FlashPatch object is accessed, the access is redirected to the corresponding FlashPatch object according to the merging rules in the metadata. Thus, by utilizing the redirection and merging rule binding at the metadata level, multiple objects can be merged into a FlashPatch object without physically copying the data of the source objects or creating a new merged result object, thereby reducing duplicate data usage.

[0012] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this specification. Attached Figure Description

[0013] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this specification and, together with the description, serve to explain the principles of this specification.

[0014] Figure 1 This is a schematic diagram of a system architecture illustrated in this specification according to an exemplary embodiment.

[0015] Figure 2 This is a flowchart illustrating an object merging method according to an exemplary embodiment of this specification.

[0016] Figure 3 This is a flowchart illustrating an object merging method according to another exemplary embodiment of this specification.

[0017] Figure 4 This is a hardware structure diagram of a computer device containing the object merging device in the embodiments of this specification.

[0018] Figure 5 This is a block diagram illustrating an object merging apparatus according to an exemplary embodiment of this specification.

[0019] Figure 6 This is a block diagram illustrating another object merging apparatus according to an exemplary embodiment of this specification. Detailed Implementation

[0020] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this specification as detailed in the appended claims.

[0021] The terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of this specification. The singular forms “a,” “the,” and “the” as used in this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

[0022] It should be understood that although the terms first, second, third, etc., may be used in this specification to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this specification, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0023] The embodiments described in this specification will now be described in detail.

[0024] The following combination Figure 1 The system architecture of the object merging method and apparatus applicable to the embodiments of this specification will be described. It should be noted that... Figure 1 The examples shown are merely examples of system architectures that can be applied to the embodiments of this specification, in order to help those skilled in the art understand the technical content of this specification, but do not mean that the embodiments of this specification cannot be used in other devices, systems, environments or scenarios.

[0025] Figure 1 This is a schematic diagram of a system architecture illustrated in this specification according to an exemplary embodiment.

[0026] like Figure 1 As shown, this system architecture may include, for example, a client, a network, and a storage system. The network serves as the medium for providing a communication link between the terminal device and the server. The network may include various connection types, such as wired and / or wireless communication links, etc.

[0027] Users can use the client to interact with the storage system over a network to receive or send data. Clients include, but are not limited to, smartphones, tablets, laptops, and desktop computers.

[0028] A storage system is a computer system comprised of various storage devices for storing programs and data, control components, management information scheduling devices (hardware), and algorithms (software). Storage systems include, for example, distributed storage systems. Distributed storage systems may include multiple nodes. Distributed storage systems are, but are not limited to, S3 storage systems.

[0029] The object merging method provided in the embodiments of this specification will be described in detail below. For example... Figure 2 As shown, Figure 2 This is a flowchart illustrating an object merging method according to an exemplary embodiment of this specification. The method is applied to a storage system, and the object merging method provided in the embodiments of this specification may include the following steps.

[0030] In step 210, a flash splicing object creation request is received from the client. The flash splicing object creation request includes object information of multiple flash splicing objects.

[0031] According to embodiments of this specification, the objects to be merged include, but are not limited to, files. A merged object creation request can be used to request the merging of multiple merged objects into a single merged object.

[0032] In step 220, based on the flash-painting object creation request, multiple flash-painting objects are merged into a single flash-painting object.

[0033] Step 220 may include, for example, steps 221 and 222.

[0034] In step 221, create a new object as the FlashPic object.

[0035] In step 222, add a merging rule to the metadata of the flash-stitched object. The merging rule includes object information of multiple flash-stitched objects.

[0036] According to the embodiments in this specification, when a FlashPatch object is accessed, the access is redirected to the corresponding FlashPatch object based on the merging rules in the metadata. Thus, by utilizing redirection and merging rule binding at the metadata level, multiple objects can be merged into a FlashPatch object without physically copying the data of the source objects or creating a new merged result object, reducing duplicate data usage.

[0037] like Figure 3 The diagram shown is a flowchart illustrating another object merging method according to an exemplary embodiment. In this embodiment, the flash merge object creation request may include an XML string. Based on this, the storage system can parse the flash merge object creation request after receiving it. Therefore, the flash merge object creation request method provided in this specification embodiment may include the following steps: In step 310, a flash splicing object creation request is received from the client. The flash splicing object creation request includes object information of multiple flash splicing objects.

[0038] In step 320, check if the first element in the XML (Extensible Markup Language) string is a FlashPic node.

[0039] In step 330, if the first element is a flashing node, check whether the child elements of the first element are the elements to be flashed.

[0040] According to embodiments of this specification, the flash mosaic node may include, for example, [missing information - likely related to a specific type of node]. <fastcompose>.

[0041] In step 340, if the child element is a set of objects to be flashed, then each object element in the set of objects to be flashed is parsed to obtain the object information of the objects to be flashed.

[0042] According to embodiments of this specification, the set of elements to be flash-concatenated may include, for example, […]. <sourceobjects>The child elements of the set of elements to be highlighted can be the elements to be highlighted. The elements to be highlighted can include, for example, the elements to be highlighted. <object>Each element of the object being flashed can include information such as bucket name, file name, and offset.

[0043] In step 350, based on the flash-painting object creation request, multiple flash-painting objects are merged into a single flash-painting object.

[0044] Steps 310 and 350 can be referred to above for example, and will not be repeated here.

[0045] Optionally, before merging multiple objects into a single flash-concatenated object based on the flash-concatenated object creation request, the objects to be flash-concatenated can be validated. If the objects to be flash-concatenated pass validation, then the operation of merging multiple objects into a single flash-concatenated object based on the flash-concatenated object creation request is performed. If the objects to be flash-concatenated fail validation, corresponding error messages can be generated.

[0046] Verifying the object being flash-composed can include checking the status of its inode (index node) and directory entries. If both the inode and directory entries are in good condition, the object passes the verification. Otherwise, the verification fails.

[0047] Optionally, after merging multiple objects to be merged into a single merged object, configuration operations can be performed on both the merged object and the merged objects. These configuration operations can be used to restrict access to merged objects to only through the merged object, preventing individual access to merged objects.

[0048] Configuration operations may include, for example: Insert backtrace (bt) data of the flash splicing object; Delete the dentry and backtracking data of the object being flash-constructed; For the deleted directory entry, update the value of the linknode structure under the inode of the object being flashed; The inode of the object to be flash-concatenated is marked as having been flash-concatenated.

[0049] It's important to note that a normal object's dentry points to its inode, and the inode also points to the dentry. When the dentry of a flash-constructed object is deleted, the dentry and inode no longer point to each other. Therefore, the value of the link node structure needs to be updated synchronously for the deleted directory entry.

[0050] Optionally, if the configuration operation fails, it can be rolled back.

[0051] Alternatively, if the flash spelling object has the same name as an existing object, the flash spelling object can be used to overwrite the existing object with the same name.

[0052] According to another embodiment of this specification, the storage system can be a distributed storage system containing multiple nodes. Based on this, when the first node receives a flash-framing object creation request, it can execute steps 210-220 or steps 310-350. The first node can be any node in the storage system.

[0053] Optionally, before merging multiple objects into a single flash-concatenated object based on the flash-concatenated object creation request, the first node can validate the objects to be flashed. If the objects pass validation, the operation of merging multiple objects into a single flash-concatenated object based on the flash-concatenated object creation request is then executed. If the objects fail validation, corresponding error messages can be generated.

[0054] When all objects to be concatenated are stored in the first node, the first node can verify the objects, for example, by checking whether the inode and directory entry status of the objects are normal. If the inode and directory entry status of the objects are normal, then the objects are determined to have passed the verification. Otherwise, the verification is determined to have failed.

[0055] When some of the objects being flash-concatenated are stored in the first node and some exist in other nodes (hereinafter referred to as the second node), for the first object stored in the first node among multiple objects being flash-concatenated, the first node can verify whether the inode and directory entry status of the first object are normal.

[0056] If there is a second object stored in the second node among multiple objects to be flashed, the first node can send a preparation request to the second node corresponding to each second object. The preparation request includes the object information of the corresponding second object, so that each second node can verify the corresponding second object. If the inode and directory entry status of the first object are normal, and all preparation results from the second nodes are received within the preset time, and each second node's preparation result indicates successful preparation, then the object to be flash-assembled is determined to have passed the verification.

[0057] Optionally, if the first node does not receive a preparation result from all slave nodes within a preset time period, the first node may send a preparation request again to the slave nodes that have not responded.

[0058] Optionally, the first node can also perform configuration operations for the flash-concatenated object and the local object being flash-concatenated. If the configuration operation succeeds, a completion request is sent to the second node corresponding to each second object, so that the second node performs the configuration operation for the flash-concatenated object and the local object being flash-concatenated. If the configuration operation fails, the configuration operation is rolled back. The configuration operations may include: Insert the backtracking data of the flash-painted object; Delete the directory entries and backtracking data of the locally flash-constructed object; For the deleted directory entry, update the value of the linknode structure under the inode of the object being flashed; Mark the inode of the local object that was flash-concatenated as having been flash-concatenated.

[0059] Optionally, the size of the communication messages can be limited during the communication between the first and second nodes. Additionally, message optimization can be achieved using direct inode retrieval to ensure feasibility in large-scale object flash assembly scenarios.

[0060] According to an exemplary embodiment, protocol layer operation types can be predefined. For example, the flash composition operation type OBS_S3_OP_FASTCOMPOSE_OBJ can be added to the object storage operation types.

[0061] A new fast-compose processing function, obs_req_handle_fastcompose_objects, has been added and registered in the manager that handles OBS requests.

[0062] Add a parsing method to the parsing function of the object upload operation request. When the request URI (Uniform Resource Identifier) ​​contains the word "fastcompose", it indicates that the request is a fastcompose object creation request. Parse the request and set the operation type to OBS_S3_OP_FASTCOMPOSE_OBJ. In object append operations, check whether obj_meta->flag is identified as a flash-concatenated object. If so, reject the append request to prevent data from being appended to the concatenated object.

[0063] The FastCompose object creation request can contain an XML rule string, which represents the object information of the object to be fastcompiled. The XML rule string can use FastCompose as the first element (root node), and the child elements (child nodes) of FastCompose are the objects to be fastcompiled, which can be collectively referred to as SourceObjects.

[0064] When a node receives a request, it can parse the XML rule string in the request into an xmlDocPtr. If parsing fails, an error is returned. If parsing succeeds, the root node and its child nodes SourceObjects of FastCompose are retrieved. All Object nodes under SourceObjects are traversed, and each Object node is checked to see if it contains a bucket name and an object name. If these are missing, an error is returned.

[0065] After the check passes, each Object can be converted into an `obs_fastcompose_obj_t` structure and inserted into a data structure such as a red-black tree for efficient subsequent lookups. Optionally, the node can validate the permissions and validity of object creation requests for fast-composed objects. For example, it can check whether at least one of the following constraints—the number, size, type, bucket information, and operation permissions of the objects to be fast-composed—meets the corresponding restrictions. For example, restrictions may include: the number of objects to be assembled is between 2 and 200; the total size must not exceed 10TB; the current user / request must have delete permissions; cross-bucket fast-compose is prohibited; directories, hard links, secondary fast-composed objects, multiple identical objects, and objects exceeding 200GB are rejected.

[0066] In addition, it can record information such as the inode of the object being flashed and calculate a digest based on rules such as MD5_Update for use in transaction consistency verification.

[0067] According to another exemplary embodiment of this specification, the process of constructing the flash mosaic object at the protocol layer by the node may include, for example, requesting a handle obj_handle for the flash mosaic object; if the request fails, the corresponding error code is returned. If the request succeeds, the layout information is obtained based on obj_handle; the mtime (modification time) and special etag (entity tag) of the flash mosaic object are constructed, for example, a directory etag followed by "-fc" can be used as the special etag. The metadata of the flash mosaic object is created by calling udc_create_objmeta; if this fails, the virtual directory and handle are rolled back; if successful, a message is returned to the client.

[0068] The processing logic for the flash-splitting object can be embedded in the existing object creation method `mds_handle_client_openc_obj`. The inode number of the flash-splitting object reuses the `ino` object generated by the existing object creation method, and the splicing rule information (such as filename, inode number, bucketID, etc.) is recorded in `xattr` (extended attributes). The size of the flash-splitting object is the sum of the sizes of all the objects being spliced.

[0069] Then, cross-node object status checks can be performed. If the check passes, the transaction is committed; if the check fails, a rollback is performed. After the transaction is committed, the inode of the object to be merged is marked as FASTCOMPOSEED (indicating the merged object). The quota file count of the merged object is synchronously adjusted to the sum of the file counts of all merged objects, while the capacity remains unchanged.

[0070] According to another embodiment of this specification, based on the foregoing embodiments, the object merging method may include the following steps: The master node receives the flash-compositing object creation request and then executes the prep phase to create a distributed transaction. Operations in the prep phase may include local verification of the object to be flash-composited. In this embodiment, the node receiving the flash-compositing object creation request can be called the master node, and the other nodes can be called slave nodes. After completing the prep phase, the master node sends a preparation request to each slave node and waits for responses from all slave nodes.

[0071] After receiving the preparation request, the slave node enters the prep phase. Once the prep phase is complete, it generates a rollback event for transaction rollback and sends a success message to the master node, then waits for a wake-up message from the master node. If the rollback fails, it sends a failure message to the master node.

[0072] If all slave nodes reply with a success message, the master node enters the finish phase. Otherwise, it indicates creation failure and exits the process. Operations in the finish phase may include configuring the object to be flashed and the object to be flashed. Additionally, an uncommitted event can be set at the start of the finish phase. If the finish phase completes, a completion request is sent to each slave node. If the finish phase fails, all slave nodes are notified to rollback, based on the uncommitted event, and the client is notified that creation failed.

[0073] After receiving the request, the slave node enters the finish phase. Once the finish phase is complete, it sends a success message back to the master node.

[0074] If all slave nodes reply with a success message, the master node deletes the uncommitted event and returns a success message to the client.

[0075] The technical solutions provided in the embodiments of this specification may include the following beneficial effects: 1. Saves storage space: The original object's data is preserved, while the flash-merged object is logically merged, maintaining only the index and metadata structure. This significantly reduces redundant storage costs.

[0076] 2. Extremely fast merging speed: Logical merging only requires creating a "file manifest" or metadata pointer, without actual byte copying, and does not trigger long-term network data transfers, especially when using existing objects directly within the storage system.

[0077] 3. High flexibility: The merging order can be adjusted at any time, and original files can be added or deleted without regenerating large files.

[0078] "Virtual large files" can be dynamically defined according to business needs, such as splicing logs from different days or different video clips.

[0079] 4. Reduce computing and transmission costs: Suitable for scenarios that frequently require re-merging objects. Avoids the high bandwidth transfer and CPU I / O overhead caused by downloading data locally before merging. Avoids the PUT / COPY request costs associated with Multipart Upload and actual data copying.

[0080] Corresponding to the embodiments of the aforementioned methods, this specification also provides embodiments of the flash-painting object creation request device and the terminal to which it is applied.

[0081] The embodiments of the flash-to-create-object-request device described in this specification can be applied to computer devices, such as servers or terminal devices. The device embodiments can be implemented in software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor reading the corresponding computer program instructions from non-volatile memory into memory and executing them. From a hardware perspective, such as... Figure 4 The diagram shown is a hardware structure diagram of a computer device containing the flash stitch object creation request device according to an embodiment of this specification. Except for... Figure 4 In addition to the processor 410, memory 430, network interface 420, and non-volatile memory 440 shown, the server or electronic device where the device 431 is located in the embodiment may also include other hardware depending on the actual function of the computer device, which will not be described in detail here.

[0082] like Figure 5 As shown, Figure 5 This is a block diagram illustrating an object merging apparatus according to an exemplary embodiment of this specification, the apparatus comprising: The first flash splicing request receiving module 510 is used to receive a flash splicing object creation request sent by the client. The flash splicing object creation request includes object information of multiple flash splicing objects. The first merging module 520 is used to merge multiple objects to be merged into a single object based on the object creation request. The first merging module 520 includes: The first creation submodule 521 is used to create a new object as the FlashPin object; The first addition submodule 521 is used to add merging rules to the metadata of the flash-stitched object. The merging rules include object information of multiple flash-stitched objects.

[0083] like Figure 6 As shown, Figure 6 This is a block diagram illustrating another object merging apparatus according to an exemplary embodiment of this specification, the apparatus comprising: The second flash splicing request receiving module 610 is used to receive a flash splicing object creation request sent by the client. The flash splicing object creation request includes object information of multiple objects to be flashed. The second merging module 620 is used to merge multiple objects to be merged into a single object based on the object creation request. The second merging module 620 includes: The second creation submodule 621 is used to create a new object as the FlashPin object; The second submodule 622 is used to add merging rules to the metadata of the flash-stitched object. The merging rules include object information of multiple flash-stitched objects.

[0084] Accordingly, this specification also provides an electronic device, which includes a processor; a memory for storing processor-executable instructions; wherein the processor is configured to: receive a flash-stitch object creation request sent by a client, the flash-stitch object creation request including object information of multiple flash-stitch objects; merge the multiple flash-stitch objects into a flash-stitch object according to the flash-stitch object creation request; merging the multiple flash-stitch objects into a flash-stitch object includes: creating a new object as the flash-stitch object, and adding a merging rule to the metadata of the flash-stitch object, the merging rule including the object information of the multiple flash-stitch objects.

[0085] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0086] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of the solution in this specification according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0087] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0088] Other embodiments of this specification will readily occur to those skilled in the art upon consideration of the specification and practice of the invention claimed herein. This specification is intended to cover any variations, uses, or adaptations that follow the general principles of this specification and include common knowledge or customary techniques in the art not claimed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this specification are indicated by the following claims.

[0089] It should be understood that this specification is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this specification is limited only by the appended claims.

[0090] The above description is merely a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of protection of this specification.< / object> < / sourceobjects> < / fastcompose>

Claims

1. An object merging method, applied to a storage system, characterized in that, The method includes: Receive a flash splicing object creation request sent by the client, wherein the flash splicing object creation request includes object information of multiple flash splicing objects; According to the flash-framing object creation request, the multiple flash-framing objects are merged into a flash-framing object; The step of merging the multiple objects to be flashed into a single flashed object includes: creating a new object as the flashed object, adding a merging rule to the metadata of the flashed object, and the merging rule including the object information of the multiple objects to be flashed.

2. The method according to claim 1, characterized in that, The flash-spelling object creation request includes an XML string; the method also includes: Check if the first element in the XML string is a FlashPic node; If the first element is a flash-framing node, then check whether the child elements of the first element are the elements to be flash-framing; If the sub-element is a set of elements of the object to be flashed, then each element of the object to be flashed is parsed to obtain the object information of the object to be flashed.

3. The method according to claim 1, characterized in that, The method further includes: Verify the object being flashed; The operation of merging the multiple objects to be merged into a single object based on the object creation request is performed when the objects to be merged pass the verification.

4. The method according to claim 1, characterized in that, The verification of the object being flashed includes: Verify whether the inode and directory entry status of the object being flash-concatenated are normal; If the inode and directory entry status of the object being flash-concatenated are both normal, then the object being flash-concatenated is determined to have passed the verification.

5. The method according to claim 1, characterized in that, The method further includes: Perform configuration operations for the flash-concatenation object and the object being flash-concatenated; If the configuration operation fails, the configuration operation is rolled back; the configuration operation includes: Insert the backtracking data of the flash-painted object; Delete the directory entries and backtracking data of the object being flash-constructed; For the deleted directory entry, update the value of the linknode structure under the inode of the object being flashed; The inode of the object to be flash-concatenated is marked as having been flash-concatenated.

6. An object merging method, applied to the first node in a storage system, characterized in that, The method includes: Receive a flash splicing object creation request, wherein the flash splicing object creation request includes object information of multiple flash splicing objects; According to the flash-framing object creation request, the multiple flash-framing objects are merged into a flash-framing object; The step of merging the multiple objects to be flashed into a single flashed object includes: creating a new object as the flashed object, adding a merging rule to the metadata of the flashed object, and the merging rule including the object information of the multiple objects to be flashed.

7. The method according to claim 6, characterized in that, The flash-spelling object creation request includes an XML string; the method also includes: Check if the first element in the XML string is a FlashPic node; If the first element is a flash-framing node, then check whether the child elements of the first element are the elements to be flash-framing; If the sub-element is a set of elements of the object to be flashed, then each element of the object to be flashed is parsed to obtain the object information of the object to be flashed.

8. The method according to claim 6, characterized in that, The method further includes: Verify the object being flashed; The operation of merging the multiple objects to be merged into a single object based on the object creation request is performed when the objects to be merged pass the verification.

9. The method according to claim 8, characterized in that, The verification of the object being flashed includes: For the first object stored in the first node among the multiple objects to be flash-concatenated, verify whether the inode and directory entry status of the first object are normal; For each of the multiple objects to be flash-concatenated, if there is a second object stored in a second node, a preparation request is sent to the second node corresponding to each second object. The preparation request includes the object information of the corresponding second object, so that each second node can verify the corresponding second object. If the inode and directory entry status of the first object are normal, and all preparation results from the second nodes are received within a preset time period, and the preparation results from each second node indicate successful preparation, then the object to be flash-concatenated is determined to have passed the verification.

10. The method according to claim 6, characterized in that, The method includes: Perform configuration operations for the flash-painting object and the local flash-painted object; If the configuration operation is successful, a completion request is sent to the second node corresponding to each second object, so that the second node performs the configuration operation for the flash-painted object and the local flash-painted object; If the configuration operation fails, the configuration operation will be rolled back. The configuration operations include: Insert the backtracking data of the flash-painted object; Delete the directory entries and backtracking data of the locally flash-constructed object; For the deleted directory entry, update the value of the linknode structure under the inode of the object being flashed; Mark the inode of the local object that was flash-concatenated as having been flash-concatenated.

11. An object merging apparatus, applied in a storage system, characterized in that, The device includes: The first flash splicing request receiving module is used to receive a flash splicing object creation request sent by the client. The flash splicing object creation request includes object information of multiple flash splicing objects. The first merging module is used to merge the multiple objects to be merged into a single object based on the flash-merging object creation request. The first merging module includes: The first creation submodule is used to create a new object as the FlashPin object; The first addition submodule is used to add merging rules to the metadata of the flash-stamped objects. The merging rules include the object information of the multiple flash-stamped objects.

12. An object merging apparatus, applied to a first node in a storage system, characterized in that, The device includes: The second flash splicing request receiving module is used to receive a flash splicing object creation request sent by the client. The flash splicing object creation request includes object information of multiple objects to be spliced. The second merging module is used to merge the multiple objects to be merged into a single object based on the flash-merging object creation request. The second merging module includes: The second creation submodule is used to create a new object as the FlashPin object; The second addition submodule is used to add merging rules to the metadata of the flash-stitched objects. The merging rules include the object information of the multiple flash-stitched objects.

13. An electronic device, characterized in that, The electronic device includes: processor; Memory used to store processor-executable instructions; The processor is configured to execute the object merging method according to any one of claims 1 to 10.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing a computer to perform the object merging method according to any one of claims 1 to 10.