Information processing method and device, electronic equipment and computer readable storage medium

By identifying and filtering target object storage slots in the object bucket, and obtaining and sorting their storage information, the problem of reduced read efficiency caused by excessive QPS in the object bucket is solved, thereby improving information processing efficiency and the stability of the object bucket.

CN116150431BActive Publication Date: 2025-11-21TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111383230.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-22
Publication Date
2025-11-21
Estimated Expiration
2041-11-22

AI Technical Summary

Technical Problem

When the query rate (QPS) of objects stored in the existing object bucket exceeds a preset threshold, the reading efficiency of the target object decreases, affecting the processing efficiency of information processing.

Method used

By identifying the target object storage slot corresponding to the object storage slot identifier in the preset object storage bucket, the storage information of the candidate objects is obtained, and the target objects to be read are selected from the candidate objects. Finally, the target object information is sorted according to the object storage slot identifier to achieve independent object reading.

Benefits of technology

It improves the efficiency of information processing during batch sequential reading of objects, increases the QPS of object storage buckets, solves the problem of hotspot concentration, and makes the underlying system more stable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116150431B_ABST
    Figure CN116150431B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose an information processing method and device, electronic equipment and computer readable storage medium; after receiving an object reading request, the object storage slot identifier carried in the object reading request is identified in the preset object storage bucket to correspond to the target object storage slot, then the object storage information of the candidate object stored in each target object storage slot is acquired respectively, based on the object storage information, the target object needing to be read is filtered out from the candidate object to obtain the target object information of the target object storage slot, then the target object information is sorted according to the object storage slot identifier of the target object storage slot to obtain the object response information corresponding to the object reading request; the scheme can improve the processing efficiency of information processing in the process of batch sequential reading of objects.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, in particular to an information processing method and device, electronic equipment and computer readable storage medium. BACKGROUND

[0002] In recent years, with the rapid development of Internet technology, object storage has become more and more convenient. In object storage, the main way is to store objects in object storage buckets by cloud storage. Through the core interface in cloud storage, the information processing task of batch sequential reading of the objects stored in the object storage bucket can be realized. The existing information processing method for object batch sequential reading usually uses multiple query requests to read the target objects in all objects stored in the object storage bucket, and then returns the object index of the target object in dictionary order.

[0003] In the research and practice process of the prior art, the inventors of the present application found that for the existing information processing method, the objects stored in the object storage bucket are physically concentrated. When the query rate per unit time (QPS) in the object storage bucket exceeds the preset threshold, frequency control occurs, affecting the reading efficiency of the target object, thus reducing the processing efficiency of information processing in the object batch sequential reading process. SUMMARY

[0004] The embodiments of the present application provide an information processing method, device, electronic equipment and computer readable storage medium, which can improve the processing efficiency of information processing in the object batch sequential reading process.

[0005] An information processing method, comprising:

[0006] receiving an object reading request, the object reading request carrying at least one object storage slot identifier;

[0007] According to the object reading request, identifying the target object storage slot corresponding to the object storage slot identifier in the preset object storage bucket;

[0008] Respectively acquiring the object storage information of the candidate objects stored in each target object storage slot;

[0009] Based on the object storage information, filtering out the target objects that need to be read from the candidate objects to obtain the target object information of the target object storage slot;

[0010] According to the object storage slot identifier of the target object storage slot, sorting the target object information to obtain the object response information corresponding to the object reading request.

[0011] Correspondingly, the embodiments of the present application provide an information processing device, comprising:

[0012] a receiving unit, configured to receive an object reading request, the object reading request carrying at least one object storage slot identifier;

[0013] an identifying unit, configured to identify, according to the object reading request, a target object storage slot corresponding to the object storage slot identifier in a preset object storage bucket;

[0014] an obtaining unit, configured to obtain object storage information of a candidate object stored in each target object storage slot respectively;

[0015] a screening unit, configured to screen, based on the object storage information, a target object to be read from the candidate object, to obtain target object information of the target object storage slot;

[0016] a sorting unit, configured to sort the target object information according to the object storage slot identifier of the target object storage slot, to obtain object response information corresponding to the object reading request.

[0017] Optionally, in some embodiments, the screening unit can be specifically configured to extract an object identifier of the candidate object from the object storage information; identify an end object identifier from the object identifier, the end object identifier being used to restrict an object identifier range of the target object; screen, based on the end object identifier, the target object to be read from the candidate object, to obtain the target object information of the target object storage slot.

[0018] Optionally, in some embodiments, the screening unit can be specifically configured to screen a maximum object identifier from the object identifier, to obtain a target object identifier corresponding to each target object storage slot; screen a minimum target object identifier from the target object identifier, to obtain the end object identifier.

[0019] Optionally, in some embodiments, the screening unit can be specifically configured to compare the object identifier of the candidate object stored in each target object storage slot with the end object identifier; screen, from the candidate object, a candidate object whose object identifier does not exceed the end object identifier, to obtain the target object to be read; and fuse the object identifier of the target object, to obtain the target object information of the target object storage slot.

[0020] Optionally, in some embodiments, the sorting unit can be specifically configured to obtain a target object storage slot identifier of each version contained in the target object storage slot; sort the target object information according to the number of the target object storage slot identifiers; and fuse the target object information based on the sorting information, to obtain the object response information corresponding to the object reading request.

[0021] Optionally, in some embodiments, the sorting unit can be specifically configured to sort the target object information according to the identification size of the target object storage slot identification when the number of target object storage slot identifications is one; and sort the target object information based on the version of the target object storage slot identification when the number of target object storage slot identifications is multiple.

[0022] Optionally, in some embodiments, the sorting unit can be specifically configured to identify the object information corresponding to each version in the target object information according to the version of the target object storage slot identification, to obtain the current object information of the target object storage slot identification; sort the current object information according to the identification size of the target object storage slot identification; and fuse the target object information based on the sorting information to obtain the object response information corresponding to the object request, including fusing the current object information based on the sorting information to obtain the object response information corresponding to the object request.

[0023] Optionally, in some embodiments, the information processing apparatus can further include a storage unit, which can be specifically configured to obtain a to-be-stored object set, the to-be-stored object set including at least one to-be-stored object and an original object identification of the to-be-stored object; filter out the object storage slot corresponding to each to-be-stored object in the to-be-stored object set in the object storage slot in the preset object storage bucket according to the original object identification, to obtain the basic object storage slot corresponding to the to-be-stored object; and add the to-be-stored object to the corresponding basic object storage slot based on the original object identification.

[0024] Optionally, in some embodiments, the storage unit can be specifically configured to perform hash calculation on the original object identification to obtain the hash value of the original object identification; obtain the number of object storage slots in the preset object storage bucket, and take the modulus of the hash value of the number of object storage slots to obtain the object storage slot identification set corresponding to the to-be-stored object set; and determine the basic object storage slot corresponding to each to-be-stored object in the object storage slot in the preset object storage bucket according to the object storage slot identification set.

[0025] Optionally, in some embodiments, the storage unit can be specifically configured to filter out the basic object storage slot identification of the basic object storage slot in the basic object storage slot identification set; add the basic object storage slot identification to the original object identification of the corresponding to-be-stored object to obtain an updated to-be-stored object; and store the updated to-be-stored object to the corresponding basic object storage slot.

[0026] Optionally, in some embodiments, the identifying unit can be specifically configured to create a query thread group for the object storage slot identifier according to an object reading request, the query thread group comprising parallel query threads for each candidate object storage slot in the preset object storage bucket; query the object storage slot identifier in the candidate object storage slot based on the parallel query threads to obtain query response information of the candidate object storage slot; and identify the target object storage slot corresponding to the object storage slot identifier in the candidate object storage slot according to the query response information.

[0027] Optionally, in some embodiments, the identifying unit can be specifically configured to generate an object storage identifier query request based on the parallel query threads, and send the object storage identifier query request to the candidate object storage slot; when receiving return information of the candidate object storage slot, take the return information as the query response information of the candidate object storage slot; when not receiving the return information of the candidate object storage slot within a preset time, or not receiving query error information, return to the step of sending the object storage identifier query request to the candidate object storage slot until the return information of the candidate object storage slot is received.

[0028] Optionally, in some embodiments, the identifying unit can be specifically configured to identify a query result of the candidate object storage slot in the query response information; and filter out the candidate object storage slot in which the object storage slot identifier exists from the candidate object storage slot based on the query result to obtain the target object storage slot.

[0029] Optionally, in some embodiments, the obtaining unit can be specifically configured to filter out target query response information corresponding to the target object storage slot from the query response information to obtain the target query response information.

[0030] identify object storage information of a candidate object stored in the target object storage slot in the target query response information;

[0031] The filtering out of the target object needing to be read from the candidate object based on the object storage information to obtain the target object information in the target object storage slot comprises: when extracting object storage information corresponding to at least one target object storage slot, filtering out the target object needing to be read from the candidate object based on the object storage information to obtain the target object information in the target object storage slot.

[0032] In addition, an electronic device is also provided in the embodiment of the present application, which comprises a processor and a memory, the memory stores an application program, and the processor is used to run the application program in the memory to realize the information processing method provided in the embodiment of the present application.

[0033] Further, the embodiment of the present application further provides a computer readable storage medium, which stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute steps in any information processing method provided by the embodiment of the present application.

[0034] After receiving an object reading request, the embodiment of the present application identifies a target object storage slot corresponding to an object storage slot identifier carried in the object reading request in a preset object storage bucket, then acquires object storage information of candidate objects stored in each target object storage slot, filters target objects needed to be read from the candidate objects based on the object storage information, obtains target object information of the target object storage slot, and then sorts the target object information according to the object storage slot identifier of the target object storage slot to obtain object response information corresponding to the object reading request. Since multiple object storage slots exist in the preset object storage bucket in the scheme, the target object storage slot is identified in the preset object storage bucket through the object storage slot identifier, and the target objects needed to be read are filtered and sorted in the target object storage slot, so that independent object reading can be performed for each object storage slot, and the QPS of the object storage bucket is greatly increased, and therefore the processing efficiency of information processing in the process of batch sequential reading of objects can be improved. BRIEF DESCRIPTION OF DRAWINGS

[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.

[0036] Figure 1 is a scene schematic diagram of the information processing method provided by the embodiment of the present application;

[0037] Figure 2 is a flow schematic diagram of the information processing method provided by the embodiment of the present application;

[0038] Figure 3 is a schematic diagram of parallel query object storage slot identification using a query thread group provided by the embodiment of the present application;

[0039] Figure 4 is a schematic diagram of object identifier of an object stored in an object storage slot provided by the embodiment of the present application;

[0040] Figure 5 is a schematic diagram of object identifier of a target object provided by the embodiment of the present application;

[0041] Figure 6is a schematic diagram of target object information merging provided by an embodiment of the present application;

[0042] Figure 7 is another flowchart of an information processing method provided by an embodiment of the present application;

[0043] Figure 8 is a structural schematic diagram of an information processing device provided by an embodiment of the present application;

[0044] Figure 9 is another structural schematic diagram of an information processing device provided by an embodiment of the present application;

[0045] Figure 10 is a structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0046] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present application.

[0047] The embodiments of the present application provide an information processing method, device, electronic device and computer readable storage medium. The information processing device can be integrated in an electronic device, which can be a server or a terminal or the like.

[0048] The server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, network acceleration services (CDN), and basic cloud computing services such as big data and artificial intelligence platforms. The terminal can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal and the server can be directly or indirectly connected through wired or wireless communication, which is not limited in the present application.

[0049] For example, referring to Figure 1Taking the example of the information processing device integrated in the electronic device, after receiving the object reading request, the electronic device identifies the object storage slot identifier carried in the object reading request in the preset object storage bucket, and then obtains the object storage information of the candidate object stored in each target object storage slot, filters the target object to be read from the candidate object based on the object storage information, obtains the target object information in the target object storage slot, and then sorts the target object information according to the object storage slot identifier of the target object storage slot to obtain the object response information corresponding to the object reading request, thereby improving the processing efficiency of information processing in the process of batch sequential reading of objects.

[0050] The preset object storage bucket can be deployed on a cloud platform, and the object response information corresponding to the object reading request can also be stored on the cloud platform. The cloud platform, also known as a cloud computing platform, is a service based on hardware resources and software resources, which provides computing, network and storage capabilities. Cloud computing is a computing mode that distributes computing tasks on a resource pool composed of a large number of computers, so that various application systems can obtain computing power, storage space and information services according to needs. The network providing resources is called "cloud". The resources in the "cloud" are infinitely expandable to users and can be obtained at any time, used on demand, expanded at any time, and paid according to use.

[0051] As a basic capability provider of cloud computing, a cloud computing resource pool (referred to as a cloud platform, generally referred to as an IaaS (Infrastructure as a Service) platform) is established, and a plurality of types of virtual resources are deployed in the resource pool for external customers to select and use. The cloud computing resource pool mainly includes: computing devices (virtualized machines containing operating systems), storage devices, and network devices.

[0052] According to logical functions, the PaaS (Platform as a Service) layer can be deployed on the IaaS (Infrastructure as a Service) layer, and the SaaS (Software as a Service) layer can be deployed on the PaaS layer, or the SaaS can be directly deployed on the IaaS. The PaaS is a platform for software running, such as databases, web containers, etc. The SaaS is various business software, such as web portal websites, SMS mass senders, etc. Generally, SaaS and PaaS are upper layers relative to IaaS.

[0053] The following will be described in detail. It should be noted that the order of the following embodiments is not limited as the preferred order of the embodiments.

[0054] This embodiment will be described from the perspective of an information processing device, which can be integrated in an electronic device, which can be a server, a terminal, or the like; wherein the terminal can include a tablet, a notebook, a personal computer (PC), a wearable device, a virtual reality device, or other smart devices that can sequentially read objects in batches, and the like.

[0055] An information processing method, comprising:

[0056] Receiving an object reading request carrying at least one object storage slot identifier, identifying a target object storage slot corresponding to the object storage slot identifier in a preset object storage bucket according to the object reading request, obtaining object storage information of candidate objects stored in each target object storage slot, filtering target objects to be read from the candidate objects based on the object storage information, obtaining target object information of the target object storage slot, and sorting the target object information according to the object storage slot identifier of the target object storage slot to obtain object response information corresponding to the object reading request.

[0057] As shown in the information processing method, the specific process is as follows: Figure 2

[0058] 101, receiving an object reading request.

[0059] The object reading request is used to read object information arranged in a certain order in batches. The object reading request carries at least one object storage slot identifier. The object storage slot identifier is used to indicate the object storage slot in the preset object storage bucket, or it can also be an identifier contained in the object stored in the object storage slot in the preset object storage bucket.

[0060] The object reading request can be received in various ways, which can be as follows:

[0061] For example, the object reading request triggered by the object storage slot identifier input by the user through the terminal can be directly received, or when the number of object storage slot identifiers is large, the object reading request sent by the terminal or a third-party server can also be received, which carries the storage address of the object storage slot identifier. Based on the storage address, the object storage slot identifier is obtained.

[0062] 102, identifying a target object storage slot corresponding to the object storage slot identifier in a preset object storage bucket according to the object reading request.

[0063] ​The preset object storage bucket can be a preset object storage carrier, similar to a table of a database, which is an "container" for storing objects and has no upper limit on capacity. The preset object storage bucket includes a plurality of object storage slots, each of which independently stores at least one object. The name of the object stored in the object storage slot carries a specific object storage slot identifier of the object storage slot.

[0064] The object storage slot identifier corresponding to the target object storage slot in the preset object storage bucket can be identified in various ways, for example, as follows.

[0065] For example, a query thread group for the object storage slot identifier can be created according to the object reading request. Based on the parallel query threads in the query thread group, the object storage slot identifier is queried in the candidate object storage slot in the preset object storage bucket to obtain query response information of the candidate object storage slot. According to the query response information, the target object storage slot corresponding to the object storage slot identifier is identified in the candidate object storage slot.

[0066] The query thread group includes parallel query threads for each candidate object storage slot in the preset object storage bucket. The query thread group can have various forms, such as an Actor thread group, which can include a plurality of parallel query threads (ListReq). The Actor thread group can initiate a plurality of query requests in parallel, query whether the object storage slot identifier exists in the candidate object storage slot through the query request, and obtain the query response information returned by the candidate object storage slot, as shown in Figure 3 The object storage slot identifier can be queried in the candidate object storage slot in various ways based on the parallel query threads. For example, based on the parallel query threads, an object storage identifier query request can be generated and sent to the candidate object storage slot. When the return information of the candidate object storage slot is received, the return information is taken as the query response information of the candidate object storage slot. When the return information of the candidate object storage slot is not received within a preset time, or no query error information is received, the step of sending the object storage identifier query request to the candidate object storage slot is returned to be executed until the return information of the candidate object storage slot is received, which is taken as the query response information of the candidate object storage slot.

[0067] It should be noted that the "single-path retry mechanism" is adopted in the process of querying the object storage slot identifier by the parallel query thread, and timeout and service return detection are performed on all single-path parallel query threads. Therefore, when the return information of the candidate object storage slot is not received within a preset time, or no query error information is received, the object storage identifier query request is resent to retry the candidate object storage slot with the above problems until the return information of the candidate object storage slot is received. The preset time can be any time, such as 3s or other time. Because 99% of object storage identifier query requests will receive the return information of the candidate object storage slot within 100ms, the maximum timeout after retry is 50s or other time. In addition, the query error information can be understood as an explicit error code indicating that the candidate object storage slot has an exception or other explicit error code. Through the above "single-path retry mechanism", the network jitter and disk jitter can have better fault tolerance ability.

[0068] After obtaining the query response information of the candidate object storage slot, the target object storage slot corresponding to the object storage slot identifier can be identified in the candidate object storage slot according to the query response information. The identification method of the target object storage slot can be various, such as identifying the query result of the candidate object storage slot in the query response information, and based on the query result, screening the candidate object storage slot with the object storage slot identifier in the candidate object storage slot to obtain the target object storage slot.

[0069] The query result is used to indicate whether the object storage slot identifier exists in the candidate object storage slot. The identification method of the query result of the candidate object storage slot in the query response information can be various, such as querying the object storage information in the query response information. When the object storage information exists, it can be determined that the query result of the candidate object storage slot is that the object storage slot identifier exists. When the object storage information does not exist, it can be determined that the query result of the candidate object storage slot is that the object storage slot identifier does not exist.

[0070] Optionally, before identifying the target object storage slot corresponding to the object storage slot identifier in the preset object storage bucket according to the object read request, the to-be-stored object can also be stored in each object storage slot of the preset object storage bucket. The storage method can be various, such as obtaining a to-be-stored object set, the to-be-stored object set including at least one to-be-stored object and an original object identifier of the to-be-stored object, screening the object storage slot corresponding to each to-be-stored object in the to-be-stored object set in the object storage slot in the preset object storage bucket according to the original object identifier to obtain the basic object storage slot corresponding to the to-be-stored object, and adding the to-be-stored object to the corresponding basic object storage slot based on the original object identifier.

[0071] The original object identifier of the to-be-stored object can be an original object name of the to-be-stored object. There can be multiple ways to filter out the object storage slot corresponding to each to-be-stored object in the object storage slot in the preset object storage bucket based on the original object identifier. For example, a hash value of the original object identifier can be obtained by performing hash calculation on the original object identifier. The number of object storage slots in the preset object storage bucket is obtained, and the hash value is taken modulo the number of object storage slots to obtain a set of object storage slot identifiers corresponding to the set of to-be-stored objects. The basic object storage slot corresponding to each to-be-stored object is determined in the object storage slot in the preset object storage bucket according to the set of object storage slot identifiers.

[0072] The set of object storage slot identifiers can be understood as a set composed of the object storage slot identifiers corresponding to each to-be-stored object in the set of to-be-stored objects. There can be multiple ways to determine the basic object storage slot corresponding to each to-be-stored object in the object storage slot in the preset object storage bucket according to the set of object storage slot identifiers. For example, the basic object storage slot identifier of the basic object storage slot is filtered out in the set of basic object storage slot identifiers. The basic object storage slot identifier is added to the original object identifier of the corresponding to-be-stored object to obtain an updated to-be-stored object. Then, the updated to-be-stored object is stored in the corresponding basic object storage slot.

[0073] It should be noted that, by performing hash calculation on the object identifier of the to-be-stored object, and performing modulo operation on the object storage slot quantity based on the hash value, the to-be-stored objects in the to-be-stored object set can be uniformly stored in different object storage slots in the preset object storage bucket. For example, when performing batch sequential reading of objects, the request quantity for continuous object identifiers can be uniformly scattered in different 32 processes and disks, thereby increasing the QPS of single storage bucket upload and download by 32 times. In addition, the object storage slot identifier added in the object identifier of each to-be-stored object can be understood as a slot number prefix. The slot number prefix can be used to determine the object storage slot in which the to-be-stored object is stored. When storing the to-be-stored object, the to-be-stored object is uniformly stored in each object storage slot of the preset object storage bucket. The slot number prefix in one object storage slot can be the same or different, but the slot number prefixes in different object storage slots are different. Since the slot prefix is obtained by performing hash calculation on the original object identifier, the object storage slot can also be referred to as a hash bucket. In each version, the naming rules of the slot number prefix of the to-be-stored object in the version are the same, but the naming rules of the slot number prefix of different versions can be the same or different. Therefore, in the same object storage slot (hash bucket), there can be to-be-stored objects containing object storage slot identifiers (slot number prefixes) under different naming rules. The object storage slot identifier (slot number prefix) can be the inherent identifier of the object storage slot (hash bucket), or a sequential identifier indicating the order of the to-be-stored object in the to-be-stored object set or other identifier. Taking the to-be-stored object set as a jpg image set as an example, the slot number prefix of the to-be-stored object in the object storage slot can be as shown in Figure 4 , which can determine the corresponding object storage slot (hash bucket).

[0074] 103. Obtain the object storage information of the candidate object stored in each target object storage slot, respectively.

[0075] The object storage information can be an object list of the candidate object stored in the object storage slot or other storage information.

[0076] The way of obtaining the object storage information of the candidate object stored in each target object storage slot, respectively, can be various, and can be as follows:

[0077] For example, the target query response information can be obtained by querying the response information and screening out the query response information corresponding to the target object storage slot. The object storage information of the candidate object stored in the target object storage slot can be identified in the target query response information.

[0078] 104. Filtering the target object from the candidate objects based on the object storage information, to obtain the target object information in the target object storage slot.

[0079] The target object information can be information sorted according to the order in the target object storage slot, of the object index of the target object to be read in the target object storage slot.

[0080] The filtering of the target object from the candidate objects based on the object storage information can be performed in various ways, for example, as follows.

[0081] For example, the object identifier of the candidate object is extracted from the object storage information, the end object identifier is identified in the object identifier, and the target object to be read is filtered from the candidate objects based on the end object identifier, to obtain the target object information of the target object storage slot.

[0082] The end object identifier is used to constrain the object identifier range of the target object. For example, the end object identifier is 59, which is calculated based on the object identifiers 52, 25, 71 and 59 of the candidate object. Then, the object identifier in the object identifier that is not less than the end object identifier is filtered, so that the object identifier of the target object can be 52, 25 and 59. The end object identifier can be identified in various ways, for example, the maximum object identifier is filtered from the object identifier, the target object identifier corresponding to each target object storage slot is obtained, the minimum target object identifier is filtered from the target object identifier, and the end object identifier is obtained. The specific method can be shown in formula (1):

[0083] endmarker = min{ max( object identifier of the candidate object in the target object storage slot)} (1)

[0084] The endmarker is the end object identifier, and the object identifier of the candidate object in the target object storage slot can be the original object identifier of the candidate object, or the basic object identifier obtained by adding the object storage slot identifier to the original object identifier.

[0085] After the end object identifier is identified, the target object to be read can be filtered from the candidate objects based on the end object identifier. The filtering method can be various, for example, the object identifier of the candidate object stored in each target object storage slot can be compared with the end object identifier, the candidate object whose object identifier does not exceed the end object identifier is filtered from the candidate objects, the target object to be read is obtained, the object identifier of the target object is fused, and the target object information of the target object storage slot is obtained.

[0086] In the process of screening the target object, the object identifier of the candidate object needs to be compared with the end object identifier, so as to screen the object identifier of the target object. The number of target object storage slots is 4, and the object identifier of the candidate object stored in each target object storage slot is Figure 5 As shown, the end object identifier is 59. In the candidate object, the screening end line is identified. The object identifier corresponding to the candidate object before the screening end line can be the target object. It can be found that the object identifiers of the target objects that need to be read in the first target object storage are 5, 16, 49 and 52. The object identifiers of the target objects that need to be read in the second target object storage slot are 7, 12 and 25. The object identifiers of the target objects that need to be read in the third target object storage slot are 29, 38 and 57. The object identifiers of the target objects that need to be read in the fourth target object storage slot are 9, 22, 47, 48 and 59.

[0087] The object identifier of the target object can be fused in various ways, such as sorting the object identifiers of the target objects that need to be read in the target object storage slot, and combining the target object identifiers based on the sorting order to obtain the target object information of the target object storage slot.

[0088] It should be noted that the condition for screening the target object in the candidate object is that when at least one object storage information corresponding to the target object storage slot is extracted, the target object can be screened. This means that it is not necessary to wait until all object storage information corresponding to the target object storage slot is returned before screening the target object. Instead, based on the object storage information, the target object is screened in the candidate object, so that the CPU calculation in the sorting process is smoother.

[0089] 105. According to the object storage slot identifier of the target object storage slot, the target object information is sorted to obtain the object response information corresponding to the object read request.

[0090] The object response information can be understood as a plurality of object indexes with an order that are read in batches within a predetermined time corresponding to the object read request. The number can be the number carried in the object read request, or the maximum return number set by the system.

[0091] The object storage slot identifier of the target object storage slot can be used to sort the target object information in various ways, which can be as follows:

[0092] For example, the target object storage slot identifier of each version of the target object contained in the target object storage slot can be acquired, the target object information is sorted according to the number of target object storage slot identifiers, the target object information is fused based on the sorting information, and the object response information corresponding to the object reading request is obtained.

[0093] The target object storage slot identifier of each version of the target object can be an object storage slot identifier generated for each object storage slot in the preset object storage bucket for a batch of to-be-processed object storage, or an object storage slot identifier generated for each object storage slot in the preset object storage bucket for a to-be-stored object after an update. When there are multiple target objects in a target object storage slot, it can be determined that the target object storage slot contains multiple versions of object storage slot identifiers, and when there is only one target object storage slot identifier in a target object storage slot, it can be determined that the target object storage slot contains only one version of object storage slot identifier. Therefore, the target object information can be sorted in multiple ways according to the number of target object storage slot identifiers, such as when the number of target object storage slot identifiers is one, the target object information is sorted according to the identifier size of the target object storage slot identifier, and when the number of target object storage slot identifiers is multiple, the target object information is sorted based on the version of the target object storage slot identifier.

[0094] The target object information can be sorted in multiple ways according to the identifier size of the target object storage slot identifier, such as being sorted in descending order or ascending order according to the identifier size, so as to obtain the sorting position of each object index of the target object to be read. The target object information can be fused in multiple ways based on the sorting information, such as adding each object index of the target object to the object index set according to the sorting position to obtain a target object index set, and taking the target object index set as the object response information corresponding to the object reading request.

[0095] Wherein, the target object information can be sorted in multiple ways according to the version of the target object storage slot identifier, for example, the object information corresponding to each version can be identified in the target object information according to the version of the target object storage slot identifier, the current object information of the target object storage slot identifier is obtained, and the current object information is sorted according to the size of the target object storage slot identifier. Based on the sorting information, the current object information can be fused in multiple ways, for example, the fusion here involves the fusion of multiple versions, which usually needs to identify the sorting position of the current object information in each version of the current object information sorting information, and then combine the current sorting information based on the sorting position under the same version, obtain the object index set corresponding to each version, and then sort and merge the object index sets of two or more versions according to the size of the object storage slot identifier, obtain the target object index set, and take the target object index set as the object response information corresponding to the object reading request. As shown in Figure 6 The object storage slot identifier in the target object storage slot has two versions, the current version and the historical version, the object storage slot identifier of the current version is 1-8, and the object storage slot identifier of the historical version is 2.1, 4.1, 8.1, 97.1 and 98.1, which can be uniformly sorted according to the size of the object storage slot identifier, and combined based on the sorting position, so as to obtain the target object index set of the target object to be read under multiple versions, and take the target object index set as the object response information corresponding to the object reading request. Then, the object response information is returned to the terminal or the third party server.

[0096] Optionally, the object reading request can also carry the object index number of the object to be read, and the target object response information can be filtered out in the object response information according to the object index number, and the filtering method can be various, for example, the object index whose sorting position does not exceed the object index number is filtered out in the object response information, and the filtered object index is combined to obtain the target object response information, and then the target object response information is returned to the terminal or the third party server.

[0097] It should be noted that the process of merging and sorting the target object information of the target object can be performed simultaneously, or the merging of the target object information can be performed after the sorting is completed, so as to return the object response information or the target object response information.

[0098] It should be noted that in the present scheme, the physically ordered ordered storage in the preset object storage bucket is scattered and uniformly distributed in each object storage slot through the object storage slot, so that the QPS performance of the preset object storage bucket is greatly improved, which can reach more than 60,000, and in the object reading process, multi-thread batch reading is adopted, so that the hot spot concentration problem is effectively solved, the underlying system of the preset object storage bucket is more stable, and the problem of hot spot concentration is effectively solved, which greatly improves the operation efficiency of object storage in cloud storage.

[0099] As can be seen from the above, after receiving the object reading request, the object storage slot identifier corresponding to the target object storage slot carried in the object reading request is identified in the preset object storage bucket, then the object storage information of the candidate object stored in each target object storage slot is obtained, based on the object storage information, the target object to be read is selected from the candidate object, the target object information of the target object storage slot is obtained, then the target object information is sorted according to the object storage slot identifier of the target object storage slot, to obtain the object response information corresponding to the object reading request; Since there are multiple object storage slots in the preset object storage bucket in the scheme, the target object storage slot is identified in the preset object storage bucket through the object storage slot identifier, and the target object to be read is selected and sorted in the target object storage slot, so that independent object reading can be performed for each object storage slot, greatly increasing the QPS of the object storage bucket, and therefore the processing efficiency of information processing in the object batch sequential reading process can be improved.

[0100] According to the method described in the above embodiment, the following will be further described in detail by example.

[0101] In the present embodiment, the information processing device is specifically integrated in an electronic device, which is a server, the object storage slot identifier is a slot prefix, and the number of object storage slots in the preset object storage bucket is 32, which will be described as an example.

[0102] As shown in Figure 7 , an information processing method, the specific process is as follows:

[0103] 201, the server receives an object reading request.

[0104] For example, the server can directly receive the object reading request triggered by the user through the terminal input slot prefix, or when the number of slot prefixes is large, the server can also receive the object reading request sent by the terminal or the third party server, which carries the storage address of the slot prefix, and acquires the slot prefix based on the storage address.

[0105] 202、the server identifies the target object storage slot corresponding to the slot prefix in the preset object storage bucket according to the object reading request.

[0106] For example, the server can create 8 Actor thread groups for the slot prefix according to the object reading request, each Actor thread group creates 4 parallel query threads (ListReq), generates an object storage identifier query request based on the parallel query thread, and sends the object storage identifier query request to the candidate object storage slot. When receiving the return information of the candidate object storage slot, the return information is taken as the query response information of the candidate object. When no return information of the candidate object storage slot is received within a preset time, or no query error information is received, the step of sending the object storage identifier query request to the candidate object storage slot is returned until the return information of the candidate object storage slot is received. The return information is taken as the query response information of the candidate object storage slot.

[0107] The server queries the object storage information in the query response information. When the object storage information exists, it can be determined that the query result of the candidate object storage slot is the existence of the object storage slot identifier. When the object storage information does not exist, it can be determined that the query result of the candidate object storage slot is the nonexistence of the slot prefix. Based on the query result, the candidate object storage slot with the existing object storage slot identifier is filtered out in the candidate object storage slot to obtain the target object storage slot.

[0108] Optionally, before the server identifies the target object storage slot corresponding to the slot prefix in the preset object storage bucket according to the object reading request, the server can also store the to-be-stored object in each object storage slot of the preset object storage bucket. The storage mode can be various, which can be as follows:

[0109] The server can obtain a to-be-stored object set, the to-be-stored object set including at least one to-be-stored object and an original object identifier of the to-be-stored object. The original object identifier is subjected to hash calculation to obtain a hash value of the original object identifier. Based on the hash value, the slot prefix set (32 slots) corresponding to the to-be-stored object set is obtained by taking 32 as a modulus. The base object storage slot identifier of the base object storage slot is filtered out in the base slot prefix set. The base slot prefix is added to the original object identifier of the corresponding to-be-stored object to obtain an updated to-be-stored object. Then, the updated to-be-stored object is stored in the corresponding base object storage slot.

[0110] 203、the server respectively obtains the object storage information of the candidate object stored in each target object storage slot.

[0111] For example, the server can query the query response information corresponding to the target object storage slot in the response information, obtain target query response information, and identify the object storage information of the candidate object stored in the target object storage slot in the target query response information.

[0112] 204. The server extracts the object identifier of the candidate object from the object storage information.

[0113] For example, the server extracts the object identifier list of the candidate object from the object storage information, and determines the object identifier of each candidate object in the object identifier list.

[0114] 205. The server identifies the end object identifier in the object identifier.

[0115] For example, the largest object identifier is filtered out in the object identifier, the target object identifier corresponding to each target object storage slot is obtained, the smallest target object identifier is filtered out in the target object identifier, and the end object identifier is obtained, which can be specifically shown in formula (1).

[0116] 206. The server filters out the target object to be read from the candidate object based on the end object identifier, and obtains the target object information of the target object storage slot.

[0117] For example, the server can compare the object identifier of the candidate object stored in each target object storage slot with the end object identifier, filter out the candidate object whose object identifier does not exceed the end object identifier from the candidate object, obtain the target object to be read, sort the object identifier of the filtered target object to be read in the target object storage slot, and combine the target object identifier based on the sorting order to obtain the target object information of the target object storage slot.

[0118] 207. The server sorts the target object information according to the slot prefix of the target object storage slot to obtain the object response information corresponding to the object reading request.

[0119] For example, the server can obtain the target slot prefix of each version contained in the target object storage slot. When the number of target slot prefixes is one, the target object information is sorted in descending order or ascending order according to the identifier size, so as to obtain the sorting position of each object index of the target object to be read. According to the sorting position, each object index of the target object is added to the object index set to obtain the target object index set, and the target object index set is taken as the object response information corresponding to the object reading request.

[0120] When there are multiple target slot prefixes, the server can identify the object information corresponding to each version in the target object information based on the version of the target slot prefix, obtain the current object information of the target slot prefix, and sort the current object information according to the size of the target slot prefix identifier. The server then identifies the sorting position of the current object information in the sorting information for each version, and then, within the same version, combines the current sorting information based on this sorting position to obtain the object index set corresponding to each version. Finally, the object index sets of two or more versions are sorted again according to the size of the slot prefix and merged to obtain the target object index set. The target object index set is then used as the object response information corresponding to the object read request.

[0121] Optionally, the object read request can also carry the number of object indexes of the object to be read. The server can filter the target object response information based on the number of object indexes. There are multiple ways to filter. For example, the server can filter the object indexes in the object response information whose sorting position does not exceed the number of object indexes, and combine the filtered object indexes to obtain the target object response information.

[0122] As can be seen from the above, after receiving an object read request, the server in this embodiment identifies the target object storage slot corresponding to the slot prefix carried in the object read request in the preset object storage bucket. Then, it obtains the object storage information of the candidate objects stored in each target object storage slot. Based on the object storage information, it filters out the target objects to be read from the candidate objects, obtains the target object information of the target object storage slot, and then sorts the target object information according to the slot prefix of the target object storage slot to obtain the object response information corresponding to the object read request. Since there are multiple object storage slots in the preset object storage bucket in this scheme, the target object storage slot is identified in the preset object storage bucket by the slot prefix, and the target objects to be read are filtered out and sorted in the target object storage slot. Thus, independent object reading can be performed for each object storage slot, which greatly increases the QPS of the object storage bucket. Therefore, the processing efficiency of information processing can be improved during the batch sequential reading of objects.

[0123] To better implement the above methods, embodiments of the present invention also provide an information processing device, which can be integrated into an electronic device, such as a server or terminal, and the terminal may include a tablet computer, a laptop computer, and / or a personal computer.

[0124] For example, such as Figure 8 As shown, the information processing device may include a receiving unit 301, an identification unit 302, an acquisition unit 303, a filtering unit 304, and a sorting unit 305, as follows:

[0125] (1) a receiving unit 301;

[0126] The receiving unit 301 is configured to receive an object reading request carrying at least one object storage slot identifier.

[0127] For example, the receiving unit 301 can be specifically configured to receive an object reading request triggered by an object storage slot identifier input by a user through a terminal, or when the number of object storage slot identifiers is large, the receiving unit 301 can also receive an object reading request sent by a terminal or a third-party server, the object reading request carrying a storage address of the object storage slot identifier, and the object storage slot identifier is obtained based on the storage address.

[0128] (2) an identifying unit 302;

[0129] The identifying unit 302 is configured to identify a target object storage slot corresponding to the object storage slot identifier in a preset object storage bucket according to the object reading request.

[0130] For example, the identifying unit 302 can be specifically configured to create a query thread group for the object storage slot identifier according to the object reading request, query the object storage slot identifier in a candidate object storage slot in the preset object storage bucket based on parallel query threads in the query thread group, and obtain query response information of the candidate object storage slot. According to the query response information, the target object storage slot corresponding to the object storage slot identifier is identified in the candidate object storage slot.

[0131] (3) an obtaining unit 303;

[0132] The obtaining unit 303 is configured to obtain object storage information of a candidate object stored in each target object storage slot.

[0133] For example, the obtaining unit 303 can be specifically configured to filter out target query response information corresponding to the target object storage slot from the query response information, and obtain target query response information. The object storage information of the candidate object stored in the target object storage slot is identified in the target query response information.

[0134] (4) a filtering unit 304;

[0135] The filtering unit 304 is configured to filter out a target object that needs to be read from the candidate object based on the object storage information, and obtain target object information of the target object storage slot.

[0136] For example, the filtering unit 304 can be specifically configured to extract an object identifier of the candidate object from the object storage information, identify an end object identifier in the object identifier, filter out the target object that needs to be read from the candidate object based on the end object identifier, and obtain the target object information of the target object storage slot.

[0137] (5) the sorting unit 305;

[0138] The sorting unit 305 is configured to sort the target object information according to the object storage slot identifiers of the target object storage slots, to obtain the object response information corresponding to the object read request.

[0139] For example, the sorting unit 305 can be specifically configured to obtain the object storage slot identifier of each version of the target object contained in the target object storage slot, sort the target object information according to the number of the target object storage slot identifiers, and fuse the target object information based on the sorting information, to obtain the object response information corresponding to the object read request.

[0140] Optionally, the information processing apparatus can further include a storage unit 306, as shown in the following figure: Figure 9 Specifically, the storage unit 306 can be implemented as follows:

[0141] The storage unit 306 is configured to store each of the to-be-stored objects in the to-be-stored object set into the object storage slot of the preset object storage bucket.

[0142] For example, the storage unit 306 can be specifically configured to obtain a to-be-stored object set, the to-be-stored object set including at least one to-be-stored object and an original object identifier of the to-be-stored object, filter out the object storage slot corresponding to each to-be-stored object in the to-be-stored object set from the object storage slots in the preset object storage bucket according to the original object identifier, obtain the basic object storage slot corresponding to the to-be-stored object, and add the to-be-stored object to the corresponding basic object storage slot based on the original object identifier.

[0143] In specific implementation, each of the above units can be implemented as an independent entity, or can be combined as the same or several entities. The specific implementation of each of the above units can be referred to the method embodiments above, and will not be repeated here.

[0144] As can be seen from the above, in this embodiment, after the receiving unit 301 receives the object read request, the identification unit 302 identifies the target object storage slot corresponding to the object storage slot identifier carried in the object read request in the preset object storage bucket. Then, the acquisition unit 303 acquires the object storage information of the candidate objects stored in each target object storage slot. The filtering unit 304 filters out the target objects to be read from the candidate objects based on the object storage information, and obtains the target object information of the target object storage slot. Then, the sorting unit 305 sorts the target object information according to the object storage slot identifier of the target object storage slot to obtain the object response information corresponding to the object read request. Since there are multiple object storage slots in the preset object storage bucket in this scheme, the target object storage slot is identified in the preset object storage bucket by the object storage slot identifier, and the target objects to be read are filtered out and sorted in the target object storage slot. Thus, independent object reading can be performed for each object storage slot, which greatly increases the QPS of the object storage bucket. Therefore, the processing efficiency of information processing can be improved during the batch sequential reading of objects.

[0145] This invention also provides an electronic device, such as... Figure 10 As shown, it illustrates a structural schematic diagram of the electronic device involved in an embodiment of the present invention, specifically:

[0146] The electronic device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, and an input unit 404. Those skilled in the art will understand that... Figure 10 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:

[0147] The processor 401 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 402, and by calling data stored in the memory 402, it performs various functions and processes data, thereby performing overall detection of the electronic device. Optionally, the processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 401.

[0148] The memory 402 can be used to store software programs and modules, and the processor 401 executes various function applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, application programs required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; and the data storage area can store data created according to the use of the electronic device, etc. In addition, the memory 402 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state memory device. Accordingly, the memory 402 can also include a memory controller to provide the processor 401 with access to the memory 402.

[0149] The electronic device also includes a power supply 403 for powering the various components. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system. The power supply 403 can also include one or more direct current or alternating current power supplies, a recharging system, a power supply fault detection circuit, a power supply converter or inverter, a power supply status indicator, and the like.

[0150] The electronic device can also include an input unit 404, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.

[0151] Although not shown, the electronic device can also include a display unit and the like, which will not be described here. Specifically, in the present embodiment, the processor 401 in the electronic device loads the executable file corresponding to the process of one or more application programs into the memory 402 according to the following instructions, and runs the application programs stored in the memory 402 by the processor 401, so as to realize various functions, as follows:

[0152] An object reading request is received, the object reading request carrying at least one object storage slot identifier, according to the object reading request, a target object storage slot corresponding to the object storage slot identifier is identified in a preset object storage bucket, object storage information of a candidate object stored in each target object storage slot is acquired respectively, based on the object storage information, a target object needing to be read is screened out from the candidate object, target object information of the target object storage slot is obtained, the target object information is sorted according to the object storage slot identifier of the target object storage slot, so as to obtain object response information corresponding to the object reading request.

[0153] For example, the electronic device receives an object reading request triggered by the terminal input object storage slot identifier, or when the number of object storage slot identifiers is large, the electronic device can also receive an object reading request sent by the terminal or a third-party server, and the object reading request carries the storage address of the object storage slot identifier. Based on the storage address, the object storage slot identifier is obtained. According to the object reading request, a query thread group for the object storage slot identifier is created, and based on the parallel query threads in the query thread group, the object storage slot identifier is queried in the candidate object storage slot in the preset object storage bucket, and the query response information of the candidate object storage slot is obtained. According to the query response information, the target object storage slot corresponding to the object storage slot identifier is identified in the candidate object storage slot. The query response information corresponding to the target object storage slot is filtered out from the query response information, and the target query response information is obtained. The object storage information of the candidate object stored in the target object storage slot is identified in the target query response information. The object identifier of the candidate object is extracted from the object storage information, and the end object identifier is identified in the object identifier. Based on the end object identifier, the target object to be read is filtered out from the candidate object, and the target object information of the target object storage slot is obtained. The object storage slot identifier of each version contained in the target object storage slot is obtained, the target object information is sorted according to the number of target object storage slot identifiers, the target object information is fused based on the sorting information, and the object response information corresponding to the object reading request is obtained.

[0154] The specific implementation of each operation can be referred to the foregoing embodiments, which will not be repeated here.

[0155] As can be seen from the above, after receiving the object reading request, the target object storage slot corresponding to the object storage slot identifier carried in the object reading request is identified in the preset object storage bucket. Then, the object storage information of the candidate object stored in each target object storage slot is obtained respectively. Based on the object storage information, the target object to be read is filtered out from the candidate object, and the target object information of the target object storage slot is obtained. Then, the target object information is sorted according to the object storage slot identifier of the target object storage slot, so as to obtain the object response information corresponding to the object reading request. Since there are multiple object storage slots in the preset object storage bucket in the scheme, the target object storage slot is identified in the preset object storage bucket through the object storage slot identifier, and the target object to be read is filtered out from the target object storage slot and sorted, so that independent object reading can be performed for each object storage slot. Therefore, the QPS of the object storage bucket is greatly increased, and thus the processing efficiency of information processing in the process of batch sequential reading of objects can be improved.

[0156] Those skilled in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructions or by controlling relevant hardware by the instructions, which can be stored in a computer readable storage medium and loaded and executed by a processor.

[0157] To this end, an embodiment of the present application provides a computer readable storage medium, which stores a plurality of instructions capable of being loaded by a processor to execute the steps in any information processing method provided by an embodiment of the present application. For example, the instructions can execute the following steps:

[0158] An object read request is received, which carries at least one object storage slot identifier. According to the object read request, a target object storage slot corresponding to the object storage slot identifier is identified in a preset object storage bucket. Object storage information of a candidate object stored in each target object storage slot is obtained respectively. Based on the object storage information, a target object that needs to be read is filtered out from the candidate object, target object information of the target object storage slot is obtained, the target object information is sorted according to the object storage slot identifier of the target object storage slot, and object response information corresponding to the object read request is obtained.

[0159] For example, an object read request triggered by an object storage slot identifier input by a user through a terminal is received, or when the number of object storage slot identifiers is large, an object read request sent by a terminal or a third-party server can also be received, which carries a storage address of the object storage slot identifier. Based on the storage address, the object storage slot identifier is obtained. According to the object read request, a query thread group for the object storage slot identifier is created. Based on the parallel query threads in the query thread group, the object storage slot identifier is queried in the candidate object storage slot in the preset object storage bucket, and query response information of the candidate object storage slot is obtained. According to the query response information, a target object storage slot corresponding to the object storage slot identifier is identified in the candidate object storage slot. The query response information corresponding to the target object storage slot is filtered out from the query response information, target query response information is obtained, and object storage information of a candidate object stored in the target object storage slot is identified in the target query response information. The object identifier of the candidate object is extracted from the object storage information, an end object identifier is identified in the object identifier, a target object that needs to be read is filtered out from the candidate object based on the end object identifier, target object information of the target object storage slot is obtained. The object storage slot identifier of each version contained in the target object storage slot is obtained, the target object information is sorted according to the number of object storage slot identifiers, the target object information is fused based on the sorting information, and object response information corresponding to the object read request is obtained.

[0160] The specific implementation of each operation can be referred to the foregoing embodiments, which will not be described here again.

[0161] The computer readable storage medium can include a Read Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, etc.

[0162] The steps of the information processing method provided by the embodiments of the present application can be executed due to the instructions stored in the computer readable storage medium, thus the beneficial effects of the information processing method provided by the embodiments of the present application can be achieved, which are described in detail in the foregoing embodiments and will not be repeated here.

[0163] According to an aspect of the present application, a computer program product or computer program is provided, which includes computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method provided in various optional implementations of the information processing aspect or the object batch sequential reading aspect.

[0164] The information processing method, device, electronic device and computer readable storage medium provided by the embodiments of the present application are described in detail above, and the principles and implementation manners of the present application are described by applying specific examples in this paper. The above description of the embodiments is only used to help understand the method of the present application and its core idea; meanwhile, for those skilled in the art, the specific implementation manners and application ranges will be changed according to the idea of the present application, and the above description should not be understood as a limitation of the present application.

Claims

1. An information processing method characterized by comprising: The method comprises the steps of: receiving an object reading request, the object reading request carrying at least one object storage slot identifier; identifying, according to the object reading request, a target object storage slot corresponding to the object storage slot identifier in a preset object storage bucket; acquiring object storage information of candidate objects stored in each target object storage slot respectively; based on the object storage information, filtering out target objects to be read from the candidate objects to obtain target object information of the target object storage slot, wherein an object identifier of the candidate object is extracted from the object storage information; a target object identifier corresponding to each target object storage slot is obtained by filtering out a largest object identifier from the object identifier; an end object identifier is obtained by filtering out a smallest target object identifier from the target object identifier, the end object identifier being used to restrict an object identifier range of the target object; based on the end object identifier, filtering out target objects to be read from the candidate objects to obtain target object information of the target object storage slot, the object stored in the target object storage slot carrying an object storage slot identifier specific to the target object storage slot in a name of the object, the object identifier of the candidate object in the target object storage slot being a basic object identifier obtained by adding the object storage slot identifier to an original object identifier; sorting the target object information according to the object storage slot identifier of the target object storage slot to obtain object response information corresponding to the object reading request.

2. The information processing method according to claim 1, characterized by, The step of filtering out target objects to be read from the candidate objects based on the end object identifier to obtain target object information of the target object storage slot comprises the steps of: comparing the object identifier of the candidate object stored in each target object storage slot with the end object identifier; filtering out, from the candidate objects, candidate objects whose object identifier does not exceed the end object identifier to obtain target objects to be read; fusing the object identifier of the target object to obtain the target object information of the target object storage slot.

3. The information processing method according to any one of claims 1 to 2, characterized by, The step of sorting the target object information according to the object storage slot identifier of the target object storage slot to obtain object response information corresponding to the object reading request comprises the steps of: acquiring a target object storage slot identifier of each version contained in the target object storage slot; sorting the target object information according to the number of the target object storage slot identifiers; based on the sorting information, fusing the target object information to obtain object response information corresponding to the object reading request.

4. The information processing method according to claim 3, characterized by, The step of sorting the target object information according to the number of the target object storage slot identifiers comprises the steps of: when the number of the target object storage slot identifiers is one, sorting the target object information according to an identifier size of the target object storage slot identifier; when the number of the target object storage slot identifiers is multiple, sorting the target object information based on a version of the target object storage slot identifier.

5. The information processing method according to claim 4, characterized by, The step of sorting the target object information based on the version of the target object storage slot identifier comprises the steps of: According to the version of the target object storage slot identifier, object information corresponding to each version is identified in the target object information, and current object information of the target object storage slot identifier is obtained; According to the identifier size of the target object storage slot identifier, the current object information is sorted; The target object information is fused based on the sorting information to obtain object response information corresponding to the object read request.

6. The information processing method according to any one of claims 1 to 2, characterized by, Before identifying the target object storage slot corresponding to the object storage slot identifier in the preset object storage bucket according to the object read request, the method further includes: An object set to be stored is obtained, and the object set to be stored includes at least one object to be stored and an original object identifier of the object to be stored; According to the original object identifier, an object storage slot corresponding to each object to be stored in the object set to be stored is filtered out in the object storage slot in the preset object storage bucket, and a basic object storage slot corresponding to the object to be stored is obtained; The object to be stored is added to the corresponding basic object storage slot based on the original object identifier.

7. The information processing method according to claim 6, characterized by, According to the original object identifier, an object storage slot corresponding to each object to be stored in the object set to be stored is filtered out in the object storage slot in the preset object storage bucket, and a basic object storage slot corresponding to the object to be stored is obtained, including: The original object identifier is subjected to hash calculation to obtain a hash value of the original object identifier; The number of object storage slots in the preset object storage bucket is obtained, and the number of object storage slots is taken modulo based on the hash value to obtain an object storage slot identifier set corresponding to the object set to be stored; According to the object storage slot identifier set, a basic object storage slot corresponding to each object to be stored is determined in the object storage slot in the preset object storage bucket.

8. The information processing method according to claim 7, characterized by, The object to be stored is added to the corresponding basic object storage slot based on the original object identifier, including: The basic object storage slot identifier of the basic object storage slot is filtered out in the basic object storage slot identifier set; The basic object storage slot identifier is added to the original object identifier of the corresponding object to be stored to obtain an updated object to be stored; The updated object to be stored is stored in the corresponding basic object storage slot.

9. The information processing method according to any one of claims 1 to 2, characterized by, According to the object read request, a query thread group for the object storage slot identifier is created, and the query thread group includes a parallel query thread for each candidate object storage slot in the preset object storage bucket; Based on the parallel query thread, the object storage slot identifier is queried in the candidate object storage slot to obtain query response information of the candidate object storage slot; According to the query response information, the target object storage slot corresponding to the object storage slot identifier is identified in the candidate object storage slot. ​ 10. The information processing method according to claim 9, characterized by, The query response information of the candidate object storage slot is obtained based on the parallel query thread. The object storage identifier query request is sent to the candidate object storage slot based on the parallel query thread. When the return information of the candidate object storage slot is received, the return information is taken as the query response information of the candidate object storage slot. When the return information of the candidate object storage slot is not received within a preset time, or when no query error information is received, the step of sending the object storage identifier query request to the candidate object storage slot is returned until the return information of the candidate object storage slot is received.

11. The information processing method according to claim 9, characterized by, The target object storage slot corresponding to the object storage slot identifier is identified in the candidate object storage slot according to the query response information, including: The query result of the candidate object storage slot is identified in the query response information. The target object storage slot in which the object storage slot identifier exists is filtered out from the candidate object storage slot based on the query result, and the target object storage slot is obtained.

12. The information processing method according to claim 10, characterized by, The object storage information of the candidate object stored in each target object storage slot is obtained, including: The target query response information corresponding to the target object storage slot is filtered out from the query response information, and the target query response information is obtained. The object storage information of the candidate object stored in the target object storage slot is identified in the target query response information. When at least one object storage information corresponding to the target object storage slot is extracted, the target object in the candidate object is filtered out based on the object storage information, and the target object information in the target object storage slot is obtained.

13. An information processing apparatus comprising: It includes: A receiving unit is configured to receive an object reading request, wherein the object reading request carries at least one object storage slot identifier; An identification unit is configured to identify target object storage slots corresponding to the object storage slot identifiers in a preset object storage bucket according to the object reading request; An obtaining unit is configured to obtain object storage information of candidate objects stored in each target object storage slot respectively. The screening unit is configured to: screen target objects requiring reading from the candidate objects based on the object storage information, to obtain target object information of the target object storage slot, wherein an object identifier of the candidate object is extracted from the object storage information; screen a maximum object identifier from the object identifiers, to obtain a target object identifier corresponding to each target object storage slot; screen a minimum target object identifier from the target object identifiers, to obtain an end object identifier, the end object identifier being used to restrict an object identifier range of the target object; and screen target objects requiring reading from the candidate objects based on the end object identifier, to obtain the target object information of the target object storage slot, wherein an object name of an object stored in the target object storage slot carries an object storage slot identifier specific to the target object storage slot, and an object identifier of a candidate object in the target object storage slot is a basic object identifier obtained by adding the object storage slot identifier to an original object identifier. The sorting unit is configured to sort the target object information according to the object storage slot identifier of the target object storage slot, to obtain object response information corresponding to the object reading request.

14. An electronic device, comprising: The computer program or the instructions are executed by the processor to implement the steps in the information processing method of any one of claims 1 to 12.

15. A computer program product comprising computer programs or instructions, characterized in that, The computer program or the instructions are executed by the processor to implement the steps in the information processing method of any one of claims 1 to 12.

16. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a plurality of instructions adapted to be loaded by the processor to implement the steps in the information processing method of any one of claims 1 to 12.

Citation Information

Patent Citations

  • Storage method and device based on object storage service

    CN113010526A