Data processing method, object storage system, device, equipment, medium and product
By introducing data processing methods into the object storage system, mapping and processing of multiple types of storage addresses is realized, and the problem that existing systems cannot be compatible with multiple types of data storage is solved, and protocol interoperability between multiple data and semantic lossless data processing is realized.
Patent Information
- Application Number
- CN202411782768.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-04-29
AI Technical Summary
Existing storage systems are not compatible with multiple types of data storage systems and cannot realize storage of multiple types of data.
By introducing a data processing method into the object storage system, receiving a data processing request from the user terminal, mapping the target storage address, generating a target path, and processing the data to be processed under the target path. This method can be compatible with object storage addresses and file storage addresses, realizing semantic lossless data processing.
It realizes protocol interoperability between multiple data while ensuring the lossless semantics of object protocols and file protocols, and supports the storage and processing of multiple types of data.
Smart Images

Figure CN119902703A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data storage technology, and in particular to a data processing method, object storage system, device, equipment, medium and product. Background Art
[0002] With the massive growth of data, many types of data storage systems have emerged, such as object storage systems based on object protocols and file storage systems based on file protocols. Object storage systems have the advantages of high scalability and high availability, and are suitable for long-term storage of large amounts of immutable data; file systems have good local performance and are suitable for scenarios that require shared files.
[0003] However, current storage systems are not compatible with multiple types of data storage systems and cannot implement multiple types of data storage. Summary of the invention
[0004] Based on this, it is necessary to provide a data processing method, object storage system, device, equipment, medium and product that are compatible with various types of data storage systems and realize various types of data storage to address the above technical problems.
[0005] In a first aspect, the present application provides a data processing method, which is applied to an object storage system, comprising:
[0006] Receiving a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address;
[0007] The target storage address is mapped to generate a target path, and the data to be processed is processed under the target path.
[0008] In the above data processing method, a first data processing request sent by a first user terminal is received; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address; the target storage address is mapped to generate a target path, and the data to be processed is processed under the target path. Regardless of whether the target storage address carried in the first data processing request is an object storage address or a file storage address, the object storage system in the embodiment of the present application can generate a target path corresponding to the target storage address by mapping processing, thereby being able to implement data processing corresponding to object storage or file storage in a semantically lossless manner under the target path. Therefore, the embodiment of the present application can achieve protocol intercommunication between multiple data while ensuring that both the object protocol and the file protocol are semantically lossless.
[0009] In one embodiment, mapping the target storage address to generate a target path includes:
[0010] Parsing the target storage address to obtain multiple addresses;
[0011] The target path is constructed according to the level of each address and the target storage address; the target path is a file directory or an object area.
[0012] In this embodiment, the target storage address can be parsed to obtain multiple addresses, so that the object area corresponding to the object storage address can be accurately constructed according to the level of each address and the target storage address, or the file directory corresponding to the file storage address can be accurately constructed. In this way, the processing flow of various types of data can be implemented in the object area or file directory subsequently.
[0013] In one embodiment, constructing the target path according to the level of each address and the target storage address includes:
[0014] If the target storage address is the file storage address, a root node address and a plurality of leaf node addresses are determined according to the level of each of the addresses, and a file directory of a tree structure is constructed according to the root node address and the plurality of leaf node addresses;
[0015] If the target storage address is the object storage address, an object area with a flat structure is constructed according to the level of each address.
[0016] In this embodiment, if the target storage address is a file storage address, the root node address and multiple leaf node addresses can be determined according to the level of each address, and the address in the object protocol can be accurately mapped according to the root node address and the multiple leaf node addresses to obtain a file directory with a tree structure. If the target storage address is an object storage address, the address in the file protocol can be accurately mapped according to the level of each address to obtain an object area with a flat structure.
[0017] In one embodiment, the method further comprises:
[0018] When the type of the first data processing request is an object storage type and the first data processing request is a data write request, the object area in which the data to be processed is pre-written is split to obtain multiple small object areas, and a target small object area corresponding to the data to be processed is determined from the multiple small object areas, and the data to be processed is written to the target small object area.
[0019] In this embodiment, when the type of the first data processing request is an object storage type, and the first data processing request is a data write request, the object area where the data to be processed is pre-written can be split to obtain multiple small object areas, and the target small object area corresponding to the data to be processed is determined from the multiple small object areas, and the data to be processed is written to the target small object area. In this way, only the split small objects need to be overwritten, which can greatly reduce write amplification, that is, the function of the file protocol can be added to the object protocol, so that the small IO overwrite write function of the file semantics is supported without changing the overall overwrite write semantics of the object.
[0020] In one embodiment, the method further comprises:
[0021] When the type of the first data processing request is an object storage type and the first data processing request is a data read request, a lock operation is performed on the object area where the data to be processed is located, and data is read from the object area where the data to be processed is located.
[0022] In this embodiment, when the type of the first data processing request is an object storage type and the first data processing request is a data read request, a lock operation can be performed on the object area where the data to be processed is located, and data can be read from the object area where the data to be processed is located. In this way, an object-level distributed lock can be added to the object protocol, thereby ensuring data consistency in the process of concurrently accessing the same object or file using multiple protocols.
[0023] In one embodiment, the method further comprises:
[0024] receiving a second data processing request sent by a different second user terminal; the type of the second data processing request is an object storage type, and the second data processing request is an access request;
[0025] Acquire an authentication identifier from record information in the object area corresponding to the access request;
[0026] An authentication operation is performed on each of the second data processing requests according to the authentication identifier to obtain an authentication result corresponding to each of the second user terminals.
[0027] In this embodiment, when an access request of the object storage type sent by a different second user terminal is received, the authentication identifier can be obtained from the record information in the object area corresponding to the access request, so that each second data processing request can be authenticated according to the authentication identifier, that is, when multiple protocols access the same file or object at the same time, the intercommunication of permissions of multiple protocols can be achieved.
[0028] In a second aspect, the present application further provides an object storage system, the object storage system comprising a data management module, a metadata mapping module, a region splitting module, a permission mapping module and a lock management module;
[0029] The data management module is used to receive a first data processing request sent by a first user terminal, and call the metadata mapping module to perform mapping processing on the target storage address, generate a target path, and process the data to be processed under the target path; the first data processing request carries the target storage address and the data to be processed; the target storage address includes an object storage address or a file storage address;
[0030] The data management module is further configured to, when the type of the first data processing request is an object storage type and the first data processing request is a data write request, call the region splitting module to split the object region where the data to be processed is pre-written to obtain a plurality of small object regions, determine a target small object region corresponding to the data to be processed from the plurality of small object regions, and write the data to be processed into the target small object region;
[0031] The data management module is further configured to, when the type of the first data processing request is an object storage type and the first data processing request is a data read request, call the permission mapping module to perform a lock operation on the object area where the data to be processed is located, and read data from the object area where the data to be processed is located;
[0032] The data management module is also used to receive a second data processing request sent by different second user terminals; the type of the second data processing request is an object storage type, and the second data processing request is an access request; and the lock management module is called to obtain an authentication identifier from the record information in the object area corresponding to the access request, and an authentication operation is performed on each second data processing request according to the authentication identifier to obtain an authentication result corresponding to each second user terminal.
[0033] In a third aspect, the present application further provides a data processing device, applied to an object storage system, comprising:
[0034] A receiving module, configured to receive a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address;
[0035] The processing module is used to map the target storage address, generate a target path, and process the data to be processed under the target path.
[0036] In a fourth aspect, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method in any one of the embodiments of the first aspect are implemented.
[0037] In a fifth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method in any one of the embodiments of the first aspect are implemented.
[0038] In a sixth aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the method in any one of the embodiments of the first aspect are implemented.
[0039] The above-mentioned data processing method, object storage system, device, equipment, medium and product receive a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address; the target storage address is mapped to generate a target path, and the data to be processed is processed under the target path. Regardless of whether the target storage address carried in the first data processing request is an object storage address or a file storage address, the object storage system in the embodiment of the present application can generate a target path corresponding to the target storage address by mapping processing, thereby being able to implement data processing corresponding to object storage or file storage in a semantically lossless manner under the target path. Therefore, the embodiment of the present application can achieve protocol intercommunication between multiple data while ensuring that both the object protocol and the file protocol are semantically lossless. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0041] Figure 1 An application environment diagram of a data processing method in an embodiment;
[0042] Figure 2 is a flow chart of a data processing method in one embodiment;
[0043] Figure 3 A flowchart of a mapping process step in one embodiment;
[0044] Figure 4 is a schematic diagram of a mapping relationship between an object and file metadata in one embodiment;
[0045] Figure 5 is a flow chart of a data processing method in another embodiment;
[0046] Figure 6 is a structural block diagram of a data processing device in one embodiment;
[0047] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0048] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application 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 application and are not used to limit the present application.
[0049] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by technicians in the technical field to which this application belongs; the terms used herein are only for the purpose of describing specific embodiments and are not intended to limit this application; the terms "including" and "having" in the specification and claims of this application and the above-mentioned figure descriptions and any variations thereof are intended to cover non-exclusive inclusions.
[0050] In the description of the embodiments of the present application, the technical terms "first", "second", etc. are only used to distinguish different objects, and cannot be understood as indicating or implying relative importance or implicitly indicating the number, specific order or primary and secondary relationship of the indicated technical features. In the description of the embodiments of the present application, the meaning of "multiple" is more than two, unless otherwise clearly and specifically defined.
[0051] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0052] With the massive growth of data, many types of data storage systems have emerged, such as object storage systems based on object protocols and file storage systems based on file protocols. Object storage systems have the advantages of high scalability and high availability, and are suitable for long-term storage of large amounts of immutable data; file systems have good local performance and are suitable for scenarios that require shared files.
[0053] However, current storage systems are not compatible with multiple types of protocols and cannot realize multiple types of data storage. For example, current object storage systems can only support object protocols, but not file protocols. Therefore, how to achieve protocol interoperability between multiple data while ensuring that both object protocols and file protocols are semantically lossless is a technical problem that needs to be solved in the current data storage technology field.
[0054] After introducing the background technology of the data processing method provided by the embodiment of the present application, the following briefly describes the implementation environment involved in the data processing method provided by the embodiment of the present application. The data processing method provided by the embodiment of the present application can be applied to Figure 1 In the object storage system shown. The object storage system includes a data management module 11, a metadata management layer 12 and an application layer 13. The data management module 11 is used to call the modules in the metadata mapping layer 12 and the application layer 13 for data processing. The metadata mapping layer 12 includes a metadata mapping module 121 and a lock management module 122. The application layer 13 includes a region splitting module 131 and a permission mapping module 132. The object storage system uses an object protocol, such as a native object protocol, that is, the S3 (Simple Storage Service, object storage service) protocol. It should be noted that this application is based on an object storage system. The object storage system naturally supports various native semantics of objects. Semantics refers to operations, interfaces, features, etc. supported by the protocol. In addition, multiple file gateways can be connected through an object protocol. File protocols can be configured in the file gateway. File protocols can include but are not limited to NAS (Network-Attached Storage, network attached storage) protocols and HDFS (hadoop distributed file system, distributed storage system under the Hadoop framework) protocols, etc. The data management module 11 may be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. For example, each physical server may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. IoT devices may be smart speakers, smart TVs, smart air conditioners, smart car devices, projection devices, etc. Portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. Head-mounted devices may be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc.
[0055] Those skilled in the art will understand that Figure 1The structure shown in the figure is only a block diagram of a partial structure related to the present application scheme, and does not constitute a limitation on the object storage system to which the present application scheme is applied. The specific object storage system may include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.
[0056] In one embodiment, Figure 2 As shown, a data processing method is provided, which is applied to Figure 1 The application in the object storage system is taken as an example to illustrate, including the following steps:
[0057] S201, receiving a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address.
[0058] Among them, the first user terminal can be any user terminal, the first data processing request is a request for reading and / or writing the data to be processed, and the first data processing request carries the target storage address and the data to be processed. The target storage address can refer to the address to which the data to be processed needs to be written, or the target storage address can also refer to the address from which the data to be processed needs to be read, and the target storage address includes an object storage address or a file storage address. File storage refers to storing data in the form of directories and files, so that users can access files through paths. Object storage refers to storing data in the form of objects, each object consisting of the data itself, metadata, and a unique identifier.
[0059] In the embodiment of the present application, optionally, the first user terminal can send the first data processing request to the object storage system in real time, so that the object storage system can receive the first data processing request sent by the first user terminal in real time; or, the first user terminal can send the first data processing request to the object storage system at a fixed time, so that the object storage system can receive the first data processing request sent by the first user terminal at a fixed time. Of course, the embodiment of the present application does not limit the specific implementation method of receiving the first data processing request.
[0060] S202, mapping the target storage address to generate a target path, and processing the data to be processed under the target path.
[0061] The target path may include a file directory or an object area. Optionally, if the target storage address is an object storage address, the target path is an object area; if the target storage address is a file storage address, the target path is a file directory. The processing methods for the data to be processed may include the following two methods: the first method is that the object storage system may write the data to be processed into the target path; the second method is that the object storage system may read the data to be processed from the target path.
[0062] In an embodiment of the present application, the object storage system can parse the target storage address and the data to be processed from the first data processing request. Thus, optionally, if the target storage address is parsed as an object storage address, the object storage system can map the object storage address to generate an object area, and can process the data to be processed in the object area; if the target storage address is parsed as a file storage address, the object storage system can map the file storage address to generate a file directory, and can process the data to be processed in the file directory. Of course, the embodiment of the present application does not limit the specific implementation method of processing the data to be processed under the target path. In this way, regardless of whether the target storage address carried in the first data processing request is an object storage address or a file storage address, the object storage system can implement the corresponding data processing flow without semantic loss.
[0063] In the above data processing method, a first data processing request sent by a first user terminal is received; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address; the target storage address is mapped to generate a target path, and the data to be processed is processed under the target path. Regardless of whether the target storage address carried in the first data processing request is an object storage address or a file storage address, the object storage system in the embodiment of the present application can generate a target path corresponding to the target storage address by mapping processing, thereby being able to implement data processing corresponding to object storage or file storage in a semantically lossless manner under the target path. Therefore, the embodiment of the present application can achieve protocol intercommunication between multiple data while ensuring that both the object protocol and the file protocol are semantically lossless.
[0064] In one embodiment, a mapping process is provided, namely, "mapping the target storage address to generate a target path" in the above S202. Figure 3 As shown, including:
[0065] S301, parsing the target storage address to obtain multiple addresses.
[0066] In an embodiment of the present application, the object storage system can parse the target storage address to obtain multiple addresses, thereby, the level of each address can also be determined. Exemplarily, if the target storage address is an object storage address, it means that the address corresponding to the data to be processed has been stored in the file in advance. At this time, it is necessary to parse the address of the data to be processed corresponding to the file protocol, and map the address of the data to be processed corresponding to the file protocol to the address of the data to be processed corresponding to the object protocol. In this way, the data to be processed can be subsequently stored in the address of the data to be processed corresponding to the object protocol. For example, assuming that it is known in advance that the address of the data to be processed corresponding to the file protocol can include the root node address dir2 and the leaf node address object2, the object storage system can parse multiple addresses dir2 and object2 from the address of the data to be processed corresponding to the file protocol, and can determine the level of dir2 as the highest level, and the level of object2 as the lowest level.
[0067] If the target storage address is a file storage address, it means that the address corresponding to the data to be processed has been stored in the object in advance. At this time, the address of the data to be processed corresponding to the object protocol needs to be parsed, and the address of the data to be processed corresponding to the object protocol is mapped to the address of the data to be processed corresponding to the file protocol. In this way, the data to be processed can be stored in the address of the data to be processed corresponding to the file protocol. For example, assuming that the address of the data to be processed corresponding to the object protocol is known in advance to be dir1 / dir11 / object3, the object storage system can parse multiple addresses dir1, dir11, and object3 from the address of the data to be processed corresponding to the object protocol, and can determine the level of dir1 as the highest level, the level of dir11 as the second highest level, and the level of object3 as the lowest level.
[0068] S302, constructing a target path according to the level of each address and the target storage address; the target path is a file directory or an object area.
[0069] In the embodiment of the present application, optionally, if the target storage address is an object storage address, the object storage system can construct the object area corresponding to the object storage address according to the address of the data to be processed in the file protocol indicated by the object storage address and the level of each address parsed; if the target storage address is a file storage address, the object storage system can construct the file directory corresponding to the file storage address according to the address of the data to be processed in the object protocol indicated by the file storage address and the level of each address parsed. Of course, the embodiment of the present application does not limit the specific implementation method of constructing the target path.
[0070] In this embodiment, the target storage address can be parsed to obtain multiple addresses, so that the object area corresponding to the object storage address can be accurately constructed according to the level of each address and the target storage address, or the file directory corresponding to the file storage address can be accurately constructed. In this way, the processing flow of various types of data can be implemented in the object area or file directory subsequently.
[0071] In one embodiment, a method for implementing target path construction is provided, namely, the step of “constructing the target path according to the level of each address and the target storage address” in S302, including:
[0072] If the target storage address is a file storage address, a root node address and multiple leaf node addresses are determined according to the level of each address, and a file directory with a tree structure is constructed according to the root node address and the multiple leaf node addresses.
[0073] If the target storage address is an object storage address, an object area of a flat structure is constructed according to the level of each address.
[0074] It should be noted that there is no concept of directory in the object protocol, and metadata is saved through the full path of the flat structure, and when the object is required to be listed, the result is sorted in lexicographic order. In contrast, there is the concept of directory in the file protocol, and metadata is saved through a tree-structured directory. When files are required to be listed or read, the results are not required to be ordered, and only the subdirectories or files of the current directory need to be returned. Therefore, there are significant differences between the object protocol and the file protocol in terms of metadata storage. Based on this, the embodiment of the present application can add a metadata mapping module to the metadata management layer of the object storage system, and the metadata mapping module can map objects and file metadata to each other.
[0075] For example, Figure 4 As shown, Figure 4 The figure is a schematic diagram of the mapping relationship between an object and file metadata in an embodiment, wherein the bucket of an object can be mapped to the namespace of a file, and the URL (Uniform Resource Locator) of an object can be mapped to the directory structure of the file. Optionally, if the target storage address is a file storage address, it means that the metadata corresponding to the data to be processed has been stored in the bucket of the object in advance. At this time, the metadata corresponding to the object protocol needs to be mapped to the metadata corresponding to the file protocol. Specifically, the metadata mapping module in the object storage system can determine the root node address and multiple leaf node addresses according to the level of each address, and construct a file directory with a tree structure according to the root node address and multiple leaf node addresses.
[0076] Exemplarily, if the user terminal uploads the dir1 / dir11 / object3 object from bucket1 on the object protocol side, the metadata mapping module in the object storage system can determine the addresses as dir1, dir11, and object3, and determine the root node address dir1, the leaf node address dir11 corresponding to the root node address dir1, and the leaf node address object3 according to the level of each address, so that the directories dir1 and dir11 and the object3 file under the directory dir11 can be created according to the above-mentioned node addresses to obtain a file directory with a tree structure. Exemplarily, if the user terminal uploads the object4 object from bucket1 on the object protocol side, the metadata mapping module in the object storage system can create the object4 object under the root directory of the namespace according to the level of the object4 object.
[0077] Optionally, if the target storage address is an object storage address, it means that the metadata corresponding to the data to be processed has been stored in the namespace of the file in advance. At this time, the metadata corresponding to the file protocol needs to be mapped to the metadata corresponding to the object protocol. Specifically, the metadata mapping module in the object storage system can construct a flattened object area according to the level of each address. Exemplarily, if the user terminal processes a file or directory from the file protocol side, the metadata corresponding to the processed file can be determined, and the tree-shaped file directory can be mapped to a flattened object area according to the level of each address in the metadata.
[0078] In this embodiment, if the target storage address is a file storage address, the root node address and multiple leaf node addresses can be determined according to the level of each address, and the address in the object protocol can be accurately mapped according to the root node address and the multiple leaf node addresses to obtain a file directory with a tree structure. If the target storage address is an object storage address, the address in the file protocol can be accurately mapped according to the level of each address to obtain an object area with a flat structure.
[0079] In one embodiment, an implementation of overwrite processing is provided, that is, the above data processing method further includes:
[0080] When the type of the first data processing request is an object storage type, and the first data processing request is a data write request, the object area in which the data to be processed is pre-written is split to obtain multiple small object areas, and a target small object area corresponding to the data to be processed is determined from the multiple small object areas, and the data to be processed is written to the target small object area.
[0081] Since the object semantics in the related art only supports the upload and download of the entire object, and it is not possible to overwrite only the local objects inside the object, when performing random overwrite write processing on a small part (i.e., small IO) in a large file, the related art needs to upload and overwrite the entire object, resulting in very large write amplification. Based on this, the embodiment of the present application can add a region splitting module in the application layer of the object storage system. The region splitting module can split the large object into multiple small objects according to the preset data volume. Of course, the embodiment of the present application does not limit the preset data volume.
[0082] In an embodiment of the present application, when the type of the first data processing request is an object storage type, and the first data processing request is a data write request, the region splitting module in the object storage system can split the object region where the data to be processed is pre-written according to a preset data volume, and obtain multiple small object regions, wherein a preset data volume can be written into each small object region, and the target small object region refers to the small object region where the data to be processed needs to be written. Afterwards, the object storage system can determine the target small object region corresponding to the data to be processed from the multiple small object regions according to the specific location where the data to be processed needs to be written, and write the data to be processed to the target small object region. In this way, the write operation that requires re-overwriting the entire large object in the related technology can be adjusted to only require overwriting the split small objects, thereby greatly reducing write amplification.
[0083] In this embodiment, when the type of the first data processing request is an object storage type, and the first data processing request is a data write request, the object area where the data to be processed is pre-written can be split to obtain multiple small object areas, and the target small object area corresponding to the data to be processed is determined from the multiple small object areas, and the data to be processed is written to the target small object area. In this way, only the split small objects need to be overwritten, which can greatly reduce write amplification, that is, the function of the file protocol can be added to the object protocol, so that the small IO overwrite write function of the file semantics is supported without changing the overall overwrite write semantics of the object.
[0084] In one embodiment, a locking operation implementation is provided, namely, the above data processing method, further comprising:
[0085] When the type of the first data processing request is an object storage type and the first data processing request is a data read request, a lock operation is performed on the object area where the data to be processed is located, and data is read from the object area where the data to be processed is located.
[0086] In the embodiment of the present application, since the file protocol in the related art has a distributed file lock, but the object protocol does not have an object-level distributed lock, based on this, in order to ensure data consistency in the process of concurrently accessing the same object or file using multiple protocols, a lock management module can be added to the metadata management layer of the object storage system, and the lock management module is used to ensure the consistency of concurrent access to various types of data. Exemplarily, when the type of the first data processing request is an object storage type, and the first data processing request is a data read request, the lock management module in the object storage system can lock the object area where the data to be processed is located, so that the data to be processed can be read or accessed from the locked object area where the data to be processed is located. Among them, the data read request can be understood as a data access request.
[0087] In this embodiment, when the type of the first data processing request is an object storage type and the first data processing request is a data read request, a lock operation can be performed on the object area where the data to be processed is located, and data can be read from the object area where the data to be processed is located. In this way, an object-level distributed lock can be added to the object protocol, thereby ensuring data consistency in the process of concurrently accessing the same object or file using multiple protocols.
[0088] In one embodiment, a method for implementing authority intercommunication is provided, that is, the above-mentioned data processing method, further comprising:
[0089] A second data processing request sent by a different second user terminal is received; the type of the second data processing request is an object storage type, and the second data processing request is an access request.
[0090] The authentication identifier is obtained from the record information in the object area corresponding to the access request.
[0091] An authentication operation is performed on each second data processing request according to the authentication identifier to obtain an authentication result corresponding to each second user terminal.
[0092] It should be noted that the object protocol in the related technology does not use the UGO (user, group, other) authentication mode. The permission control methods of the object protocol in the related technology can include the following methods: for accounts, IAM (Unified Identity and Access Management) authentication strategy is adopted; for buckets, bucket ACL (Access Control List) and bucket authentication strategy are adopted; for objects, object ACL is adopted. Based on this, when multiple protocols access the same file or object at the same time, in order to ensure data security, it is necessary to realize the permission intercommunication of multiple protocols.
[0093] In an embodiment of the present application, a permission mapping module can be added to the application layer of the object storage system, so that the permission mapping module in the object storage system can map the account of the object protocol to a unix user, and can record the authentication identifier corresponding to each read / write request in the object area each time a read / write request is processed. For example, the authentication identifier can include identification information such as UID (User Identification) and GID (Group ID). Afterwards, the second user terminal can send a second data processing request to the object storage system, so that the object storage system can receive a second data processing request sent by a different second user terminal. Among them, the second user terminal refers to a user terminal that needs to be authenticated, the type of the second data processing request is the object storage type, and the second data processing request is an access request. Then, the object storage system can parse the object area corresponding to the access request from the above-mentioned received access request, and obtain the corresponding authentication identifier from the record information in the object area. Thus, the object storage system can perform an authentication operation on each second data processing request according to the authentication identifier, that is, it can be understood that authentication can be performed according to UGO or posix ACL (Portable Operating System Interface for Unix - Access Control List, an access control mechanism in Unix-like operating systems) to obtain an authentication result corresponding to each second user terminal.
[0094] In this embodiment, when an access request of the object storage type sent by a different second user terminal is received, the authentication identifier can be obtained from the record information in the object area corresponding to the access request, so that each second data processing request can be authenticated according to the authentication identifier, that is, when multiple protocols access the same file or object at the same time, the intercommunication of permissions of multiple protocols can be achieved.
[0095] Based on all the above embodiments, the present application also provides a data processing method, such as Figure 5 As shown, applied to an object storage system, the method includes:
[0096] S501, receiving a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address;
[0097] S502, parsing the target storage address to obtain multiple addresses;
[0098] S503, determine whether the target storage address is a file storage address; if the target storage address is a file storage address, execute S504; if the target storage address is not a file storage address but an object storage address, execute S505;
[0099] S504, determining a root node address and a plurality of leaf node addresses according to the level of each address, and constructing a file directory in a tree structure according to the root node address and the plurality of leaf node addresses;
[0100] S505, constructing an object area of a flat structure according to the level of each address;
[0101] S506, processing the data to be processed under the target path; the target path is a file directory or an object area;
[0102] S507, when the type of the first data processing request is an object storage type and the first data processing request is a data write request, splitting the object area where the data to be processed is pre-written to obtain multiple small object areas, determining a target small object area corresponding to the data to be processed from the multiple small object areas, and writing the data to be processed into the target small object area;
[0103] S508, when the type of the first data processing request is an object storage type and the first data processing request is a data read request, lock the object area where the data to be processed is located, and read data from the object area where the data to be processed is located;
[0104] S509, receiving a second data processing request sent by a different second user terminal; the type of the second data processing request is an object storage type, and the second data processing request is an access request;
[0105] S510, obtaining an authentication identifier from the record information in the object area corresponding to the access request;
[0106] S511, performing an authentication operation on each second data processing request according to the authentication identifier, and obtaining an authentication result corresponding to each second user terminal.
[0107] It should be noted that the embodiment of the present application does not limit the sequence of S501 - S506 , S507 , S508 , and S509 - S511 .
[0108] In the above data processing method, a first data processing request sent by a first user terminal is received; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address; the target storage address is mapped to generate a target path, and the data to be processed is processed under the target path. Regardless of whether the target storage address carried in the first data processing request is an object storage address or a file storage address, the object storage system in the embodiment of the present application can generate a target path corresponding to the target storage address by mapping processing, so that the data processing corresponding to the object storage or file storage can be realized semantically lossless under the target path. Therefore, the embodiment of the present application can adopt the "object storage base + gateway" method to achieve protocol intercommunication between multiple data while ensuring that both the object protocol and the file protocol are semantically lossless, that is, it can ensure file semantics lossless while supporting object native semantics, and can support file directory operations, small IO random overwrite writes and other operations. In addition, permission intercommunication and lock intercommunication can also be supported, and data security and consistency during multi-protocol access can be guaranteed while achieving semantic losslessness.
[0109] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0110] In one embodiment, an object storage system is also provided, combining Figure 1 As shown, the object storage system includes a data management module 11, a metadata mapping module 121, a region splitting module 131, a permission mapping module 132 and a lock management module 122;
[0111] The data management module 11 is used to receive a first data processing request sent by a first user terminal, and call a metadata mapping module to map a target storage address, generate a target path, and process the data to be processed under the target path; the first data processing request carries the target storage address and the data to be processed; the target storage address includes an object storage address or a file storage address;
[0112] The data management module 11 is further configured to, when the type of the first data processing request is an object storage type and the first data processing request is a data write request, call the region splitting module to split the object region where the data to be processed is pre-written to obtain a plurality of small object regions, determine a target small object region corresponding to the data to be processed from the plurality of small object regions, and write the data to be processed into the target small object region;
[0113] The data management module 11 is further configured to, when the type of the first data processing request is an object storage type and the first data processing request is a data read request, call the permission mapping module to lock the object area where the data to be processed is located, and read data from the object area where the data to be processed is located;
[0114] The data management module 11 is also used to receive a second data processing request sent by a different second user terminal; the type of the second data processing request is an object storage type, and the second data processing request is an access request; and to call the lock management module to obtain an authentication identifier from the record information in the object area corresponding to the access request, and perform an authentication operation on each second data processing request according to the authentication identifier to obtain an authentication result corresponding to each second user terminal.
[0115] It should be noted that the embodiment of the present application does not need to enable the protocol intercommunication function for all buckets in the object storage, that is, in order to reduce the impact on the native object storage, the embodiment of the present application can also only add the above-mentioned metadata mapping module, region splitting module, permission mapping module and lock management module to some buckets. Of course, the embodiment of the present application does not limit the buckets to which the above-mentioned metadata mapping module, region splitting module, permission mapping module and lock management module are added. Among them, the various parts of the above-mentioned object storage system have been introduced in the above-mentioned embodiments and will not be repeated here.
[0116] Based on the same inventive concept, the embodiment of the present application also provides a data processing device for implementing the data processing method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the one or more data processing device embodiments provided below can refer to the limitations on the data processing method above, and will not be repeated here.
[0117] In an exemplary embodiment, Figure 6 As shown, a data processing device is provided, which is applied to an object storage system. The data processing device includes: a receiving module 31 and a processing module 32, wherein:
[0118] The receiving module 31 is used to receive a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address.
[0119] The processing module 32 is used to map the target storage address, generate a target path, and process the data to be processed under the target path.
[0120] In one embodiment, the processing module 32 includes:
[0121] A parsing unit, used for parsing the target storage address to obtain multiple addresses;
[0122] The construction unit is used to construct a target path according to the level of each address and the target storage address; the target path is a file directory or an object area.
[0123] In one embodiment, the construction unit is specifically used for:
[0124] If the target storage address is a file storage address, a root node address and multiple leaf node addresses are determined according to the level of each address, and a file directory with a tree structure is constructed according to the root node address and the multiple leaf node addresses;
[0125] If the target storage address is an object storage address, an object area of a flat structure is constructed according to the level of each address.
[0126] In one embodiment, the data processing device further includes:
[0127] A writing module is used to split the object area where the data to be processed is pre-written into a plurality of small object areas when the type of the first data processing request is an object storage type and the first data processing request is a data write request, and to determine a target small object area corresponding to the data to be processed from the plurality of small object areas, and to write the data to be processed into the target small object area.
[0128] In one embodiment, the data processing device further includes:
[0129] The reading module is used to lock the object area where the data to be processed is located and read data from the object area where the data to be processed is located when the type of the first data processing request is an object storage type and the first data processing request is a data read request.
[0130] In one embodiment, the data processing device further includes:
[0131] an access request receiving module, configured to receive a second data processing request sent by a different second user terminal; the type of the second data processing request is an object storage type, and the second data processing request is an access request;
[0132] An authentication identifier acquisition module is used to acquire an authentication identifier from the record information in the object area corresponding to the access request;
[0133] The authentication module is used to perform an authentication operation on each second data processing request according to the authentication identifier to obtain an authentication result corresponding to each second user terminal.
[0134] Each module in the above data processing device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0135] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal or a server. The internal structure diagram thereof may be as follows: Figure 7 As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and the external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a data processing method is implemented. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0136] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0137] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0138] receiving a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address;
[0139] The target storage address is mapped to generate a target path, and the data to be processed is processed under the target path.
[0140] In one embodiment, mapping processing is performed on the target storage address to generate a target path, and the processor further implements the following steps when executing the computer program:
[0141] Parse the target storage address to obtain multiple addresses;
[0142] A target path is constructed according to the level of each address and the target storage address; the target path is a file directory or an object area.
[0143] In one embodiment, a target path is constructed according to the level of each address and the target storage address, and the processor further implements the following steps when executing the computer program:
[0144] If the target storage address is a file storage address, a root node address and multiple leaf node addresses are determined according to the level of each address, and a file directory with a tree structure is constructed according to the root node address and the multiple leaf node addresses;
[0145] If the target storage address is an object storage address, an object area of a flat structure is constructed according to the level of each address.
[0146] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0147] When the type of the first data processing request is an object storage type, and the first data processing request is a data write request, the object area in which the data to be processed is pre-written is split to obtain multiple small object areas, and a target small object area corresponding to the data to be processed is determined from the multiple small object areas, and the data to be processed is written to the target small object area.
[0148] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0149] When the type of the first data processing request is an object storage type and the first data processing request is a data read request, a lock operation is performed on the object area where the data to be processed is located, and data is read from the object area where the data to be processed is located.
[0150] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0151] receiving a second data processing request sent by a different second user terminal; the type of the second data processing request is an object storage type, and the second data processing request is an access request;
[0152] Obtaining an authentication identifier from the record information in the object area corresponding to the access request;
[0153] An authentication operation is performed on each second data processing request according to the authentication identifier to obtain an authentication result corresponding to each second user terminal.
[0154] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0155] receiving a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address;
[0156] The target storage address is mapped to generate a target path, and the data to be processed is processed under the target path.
[0157] In one embodiment, the target storage address is mapped to generate a target path, and when the computer program is executed by the processor, the following steps are also implemented:
[0158] Parse the target storage address to obtain multiple addresses;
[0159] A target path is constructed according to the level of each address and the target storage address; the target path is a file directory or an object area.
[0160] In one embodiment, a target path is constructed according to the level of each address and the target storage address, and the computer program further implements the following steps when executed by the processor:
[0161] If the target storage address is a file storage address, a root node address and multiple leaf node addresses are determined according to the level of each address, and a file directory with a tree structure is constructed according to the root node address and the multiple leaf node addresses;
[0162] If the target storage address is an object storage address, an object area of a flat structure is constructed according to the level of each address.
[0163] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0164] When the type of the first data processing request is an object storage type, and the first data processing request is a data write request, the object area in which the data to be processed is pre-written is split to obtain multiple small object areas, and a target small object area corresponding to the data to be processed is determined from the multiple small object areas, and the data to be processed is written to the target small object area.
[0165] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0166] When the type of the first data processing request is an object storage type and the first data processing request is a data read request, a lock operation is performed on the object area where the data to be processed is located, and data is read from the object area where the data to be processed is located.
[0167] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0168] receiving a second data processing request sent by a different second user terminal; the type of the second data processing request is an object storage type, and the second data processing request is an access request;
[0169] Obtaining an authentication identifier from the record information in the object area corresponding to the access request;
[0170] An authentication operation is performed on each second data processing request according to the authentication identifier to obtain an authentication result corresponding to each second user terminal.
[0171] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:
[0172] receiving a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address;
[0173] The target storage address is mapped to generate a target path, and the data to be processed is processed under the target path.
[0174] In one embodiment, the target storage address is mapped to generate a target path, and when the computer program is executed by the processor, the following steps are also implemented:
[0175] Parse the target storage address to obtain multiple addresses;
[0176] A target path is constructed according to the level of each address and the target storage address; the target path is a file directory or an object area.
[0177] In one embodiment, a target path is constructed according to the level of each address and the target storage address, and the computer program further implements the following steps when executed by the processor:
[0178] If the target storage address is a file storage address, a root node address and multiple leaf node addresses are determined according to the level of each address, and a file directory with a tree structure is constructed according to the root node address and the multiple leaf node addresses;
[0179] If the target storage address is an object storage address, an object area of a flat structure is constructed according to the level of each address.
[0180] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0181] When the type of the first data processing request is an object storage type, and the first data processing request is a data write request, the object area in which the data to be processed is pre-written is split to obtain multiple small object areas, and a target small object area corresponding to the data to be processed is determined from the multiple small object areas, and the data to be processed is written to the target small object area.
[0182] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0183] When the type of the first data processing request is an object storage type and the first data processing request is a data read request, a lock operation is performed on the object area where the data to be processed is located, and data is read from the object area where the data to be processed is located.
[0184] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0185] receiving a second data processing request sent by a different second user terminal; the type of the second data processing request is an object storage type, and the second data processing request is an access request;
[0186] Obtaining an authentication identifier from the record information in the object area corresponding to the access request;
[0187] An authentication operation is performed on each second data processing request according to the authentication identifier to obtain an authentication result corresponding to each second user terminal.
[0188] It should be noted that the user information (including but not limited to user terminal information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0189] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0190] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0191] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A data processing method, characterized in that: Applied to an object storage system, the method includes: Receiving a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address; The target storage address is mapped to generate a target path, and the data to be processed is processed under the target path.
2. The method according to claim 1, characterized in that: The mapping process is performed on the target storage address to generate a target path, including: Parsing the target storage address to obtain multiple addresses; The target path is constructed according to the level of each address and the target storage address; the target path is a file directory or an object area.
3. The method according to claim 2, characterized in that The step of constructing the target path according to the level of each address and the target storage address includes: If the target storage address is the file storage address, a root node address and a plurality of leaf node addresses are determined according to the level of each of the addresses, and a file directory of a tree structure is constructed according to the root node address and the plurality of leaf node addresses; If the target storage address is the object storage address, an object area with a flat structure is constructed according to the level of each address.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: When the type of the first data processing request is an object storage type and the first data processing request is a data write request, the object area in which the data to be processed is pre-written is split to obtain multiple small object areas, and a target small object area corresponding to the data to be processed is determined from the multiple small object areas, and the data to be processed is written to the target small object area.
5. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: When the type of the first data processing request is an object storage type and the first data processing request is a data read request, a lock operation is performed on the object area where the data to be processed is located, and data is read from the object area where the data to be processed is located.
6. The method according to any one of claims 1 to 3, characterized in that The method further comprises: receiving a second data processing request sent by a different second user terminal; the type of the second data processing request is an object storage type, and the second data processing request is an access request; Acquire an authentication identifier from record information in the object area corresponding to the access request; An authentication operation is performed on each of the second data processing requests according to the authentication identifier to obtain an authentication result corresponding to each of the second user terminals.
7. An object storage system, characterized in that: The object storage system includes a data management module, a metadata mapping module, a region splitting module, a permission mapping module and a lock management module; The data management module is used to receive a first data processing request sent by a first user terminal, and call the metadata mapping module to perform mapping processing on the target storage address, generate a target path, and process the data to be processed under the target path; the first data processing request carries the target storage address and the data to be processed; the target storage address includes an object storage address or a file storage address; The data management module is further configured to, when the type of the first data processing request is an object storage type and the first data processing request is a data write request, call the region splitting module to split the object region where the data to be processed is pre-written to obtain a plurality of small object regions, determine a target small object region corresponding to the data to be processed from the plurality of small object regions, and write the data to be processed into the target small object region; The data management module is further configured to, when the type of the first data processing request is an object storage type and the first data processing request is a data read request, call the permission mapping module to perform a lock operation on the object area where the data to be processed is located, and read data from the object area where the data to be processed is located; The data management module is also used to receive a second data processing request sent by different second user terminals; the type of the second data processing request is an object storage type, and the second data processing request is an access request; and the lock management module is called to obtain an authentication identifier from the record information in the object area corresponding to the access request, and an authentication operation is performed on each second data processing request according to the authentication identifier to obtain an authentication result corresponding to each second user terminal.
8. A data processing device, characterized in that: Applied to an object storage system, the device comprises: A receiving module, configured to receive a first data processing request sent by a first user terminal; the first data processing request carries a target storage address and data to be processed; the target storage address includes an object storage address or a file storage address; The processing module is used to map the target storage address, generate a target path, and process the data to be processed under the target path.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.