Data processing method and device, storage medium and electronic equipment

CN115129708BActive Publication Date: 2026-08-21TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110322547.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-25
Publication Date
2026-08-21
Estimated Expiration
2041-03-25

AI Technical Summary

Technical Problem

[0005]本发明实施例提供了一种数据处理方法、装置和存储介质及电子设备,以至少解决因协议不适配而导致的数据处理效率较低的技术问题

Benefits of technology

[0014]According to another aspect of the present invention, an electronic device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the above-described data processing method through the computer program.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115129708B_ABST
    Figure CN115129708B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method and device, a storage medium and an electronic equipment. Specifically, the method comprises the following steps: obtaining a data processing request triggered in a target client; converting first reference data into second reference data according to type indication information of a target protocol type; searching for a target function according to the second reference data, and calling the searched target function to execute a target operation on storage data in a target storage space; obtaining an execution result generated after the target operation is executed, and returning the execution result as a response result corresponding to the data processing request to the target client. The method can be applied in a cloud technology scene, and can also be related to index management, object storage, storage gateway and other technologies in the storage field. The application solves the technical problem of low data processing efficiency caused by protocol inadaptation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computers, and more specifically, to a data processing method, apparatus, storage medium, and electronic device. Background Technology

[0002] In storage service scenarios, different storage spaces may use different network protocols. Consequently, if the current storage space receives a data processing request that is not compatible with the corresponding network protocol, it may be unable to make a timely and effective response. This inability to make a timely and effective response is particularly serious under some proprietary network protocols.

[0003] Current technologies address this by modifying network protocols or communication frameworks. However, these modifications are complex and cumbersome, significantly reducing data processing efficiency. In other words, existing technologies suffer from low data processing efficiency due to protocol incompatibility.

[0004] There is currently no effective solution to the above problems. Summary of the Invention

[0005] The present invention provides a data processing method, apparatus, storage medium, and electronic device to at least solve the technical problem of low data processing efficiency caused by protocol incompatibility.

[0006] According to one aspect of the present invention, a data processing method is provided, comprising: acquiring a data processing request triggered in a target client, wherein the data processing request is used to request the execution of a target operation on stored data in a target storage space, the data processing request carries type indication information of a target protocol type and first reference data, the target protocol type being a protocol type corresponding to the target storage space, the first reference data being used to represent index information of a target function to be called to execute the target operation, and the protocol type corresponding to the first reference data being different from the target protocol type; converting the first reference data into second reference data according to the type indication information of the target protocol type; searching for the target function according to the second reference data, and calling the searched target function to execute the target operation on the stored data in the target storage space; acquiring an execution result generated after executing the target operation, and returning the execution result as a response result corresponding to the data processing request to the target client.

[0007] According to another aspect of the present invention, a data processing apparatus is also provided, comprising: a first acquisition unit, configured to acquire a data processing request triggered in a target client, wherein the data processing request is used to request the execution of a target operation on stored data in a target storage space, the data processing request carries type indication information of a target protocol type and first reference data, the target protocol type being a protocol type corresponding to the target storage space, the first reference data representing index information of a target function to be called to execute the target operation, and the protocol type corresponding to the first reference data being different from the target protocol type; a conversion unit, configured to convert the first reference data into second reference data according to the type indication information of the target protocol type; a search unit, configured to search for the target function according to the second reference data and call the searched target function to execute the target operation on the stored data in the target storage space; and a second acquisition unit, configured to acquire an execution result generated after executing the target operation and return the execution result as a response result corresponding to the data processing request to the target client.

[0008] As an optional implementation, the search module includes at least one of the following: a first search submodule, configured to search for the target function belonging to the target function type according to a first index identifier, wherein the first index identifier corresponds to the type storage identifier of the target function in the target function pool; and a second search submodule, configured to search for the target function corresponding to the target function encoding according to a second index identifier, wherein the second index identifier corresponds to the encoding storage identifier of the target function in the target function pool.

[0009] As an optional implementation, it includes: a determining unit, configured to determine, after acquiring the data processing request triggered in the target client, the sequence data carried in the data processing request, wherein the sequence data is binary data that is allowed to be transmitted over the network after serializing the type indication information of the target protocol type and the first reference data; and a processing unit, configured to deserialize the sequence data after acquiring the data processing request triggered in the target client to obtain the identifiable type indication information of the target protocol type and the first reference data.

[0010] As an optional implementation, the second acquisition unit includes at least one of the following: a first generation module, configured to generate a first processing result when the target operation is completed, wherein the first processing result indicates that the target operation has been successfully executed; a second generation module, configured to generate a second processing result when the target operation is interrupted, wherein the second processing result indicates that the target operation has failed; and a third generation module, configured to generate a third processing result when the target operation is completed / interrupted, wherein the third processing result indicates the execution log associated with the target operation.

[0011] As an optional implementation, it includes: a first adjustment unit, configured to, after the above-mentioned call to the found target function to perform the target operation on the stored data in the target storage space, adjust the running state of the target thread to an occupied state, wherein the target thread is used to execute the call task of the target function, and the target thread in the occupied state is prohibited from executing any task other than the call task; and a second adjustment unit, configured to, after the above-mentioned return of the execution result as the response result corresponding to the data processing request to the target client, adjust the running state of the target thread to an idle state, wherein the target thread in the idle state is allowed to execute any task including the call task.

[0012] As an optional implementation, it includes: a third adjustment unit, configured to, after the above-mentioned call to the found target function to perform the target operation on the stored data in the target storage space, adjust the running state of the target thread from the idle state to the occupied state when the running state of the target thread is idle and the running load of the target thread has reached the target threshold, wherein the target thread is used to execute the calling task of the target function, the target thread in the occupied state is prohibited from executing any task other than the calling task, and the target thread in the idle state is allowed to execute any task including the calling task; a fourth adjustment unit, configured to, after the above-mentioned return of the execution result as the response result corresponding to the data processing request to the target client, adjust the running state of the target thread to the idle state when the running state of the target thread is the occupied state and the running load is lower than the target threshold.

[0013] According to another aspect of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program, and the computer program is configured to execute the above-described data processing method at runtime.

[0014] According to another aspect of the present invention, an electronic device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the above-described data processing method through the computer program.

[0015] In this embodiment of the invention, a data processing request triggered in the target client is obtained. This data processing request requests the execution of a target operation on stored data in the target storage space. The data processing request carries type indication information for a target protocol type and first reference data. The target protocol type is the protocol type corresponding to the target storage space. The first reference data represents the index information of the target function to be called to execute the target operation. The protocol type corresponding to the first reference data is different from the target protocol type. The first reference data is converted into second reference data according to the type indication information of the target protocol type. The target function is searched according to the second reference data, and the searched target function is called to perform the operation. The target operation is performed on the stored data in the target storage space; the execution result generated after the execution of the target operation is obtained, and the execution result is returned to the target client as the response result corresponding to the data processing request. By providing the protocol type corresponding to the storage space where the data to be processed is located in the data processing request when requesting data processing, and then using protocol conversion, the reference data in the data processing request that was originally not compatible with the protocol type is converted into reference data that is compatible with the protocol type. This achieves the technical purpose of quickly completing the protocol adaptation between the data processing request and the data to be processed, thereby improving the technical effect of data processing efficiency and solving the technical problem of low data processing efficiency caused by protocol incompatibility. Attached Figure Description

[0016] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings: Figure 1 This is a schematic diagram of an application environment for an optional data processing method according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the flow of an optional data processing method according to an embodiment of the present invention; Figure 3 This is a schematic diagram of an optional data processing method according to an embodiment of the present invention; Figure 4 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 5This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 6 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 7 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 8 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 9 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 10 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 11 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 12 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 13 This is a schematic diagram of another optional data processing method according to an embodiment of the present invention; Figure 14 This is a schematic diagram of an optional data processing apparatus according to an embodiment of the present invention; Figure 15 This is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present invention. Detailed Implementation

[0017] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0018] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0019] First, to facilitate understanding of the embodiments of the present invention, some terms or nouns involved in the present invention will be explained below: Cloud technology refers to a managed technology that unifies a series of resources such as hardware, software, and networks within a wide area network or local area network to achieve data computing, storage, processing, and sharing.

[0020] Cloud technology is a collective term for network technologies, information technologies, integration technologies, management platform technologies, and application technologies applied to the cloud computing business model. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will all require robust system support, which can only be achieved through cloud computing.

[0021] Cloud storage is a new concept that extends and develops from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as a storage system) refers to a storage system that uses cluster applications, grid technology and distributed storage file systems to bring together a large number of storage devices of various types in the network (storage devices are also called storage nodes) to work together through application software or application interfaces to provide data storage and business access functions to the outside world.

[0022] Currently, the storage method in storage systems is as follows: Logical volumes are created, and during creation, physical storage space is allocated to each logical volume. This physical storage space may consist of a single storage device or the disks of several storage devices. Clients store data on a logical volume, which means storing the data on the file system. The file system divides the data into many parts, each part being an object. Each object contains not only the data but also additional information such as a data identifier (ID, ID entity). The file system writes each object to the physical storage space of that logical volume and records the storage location information of each object. Therefore, when a client requests access to data, the file system can allow the client to access the data based on the storage location information of each object.

[0023] The process by which a storage system allocates physical storage space to a logical volume is as follows: the physical storage space is pre-divided into strips according to the capacity estimate of the objects stored in the logical volume (this estimate often has a large margin relative to the actual capacity of the objects to be stored) and the grouping of Redundant Array of Independent Disks (RAID). A logical volume can be understood as a strip, thus allocating physical storage space to the logical volume.

[0024] According to one aspect of the present invention, a data processing method is provided. Optionally, as an alternative implementation, the above-described data processing method may be applied to, but is not limited to, [examples of other methods]. Figure 1 The environment shown may include, but is not limited to, user equipment 102, network 110, and server 112. The user equipment 102 may include, but is not limited to, a display 108, a processor 106, and a memory 104.

[0025] The specific process can be summarized in the following steps: Step S102: User equipment 102 obtains a data processing request; In steps S104-S106, user equipment 102 sends a data processing request to server 112 via network 110, wherein the data processing request carries type indication information of the protocol type corresponding to the target storage space and first reference data. In step S108, server 112 searches for the target protocol type corresponding to the data processing request through database 114, processes the first reference data into the second reference data of the protocol type corresponding to the target storage space through processing engine 116, and calls the found target function to perform target operation on the stored data in the target storage space, thereby generating a response result. In steps S110-S114, server 112 sends the response result to user equipment 102 via network 110. Processor 106 in user equipment 102 generates the corresponding image based on the response result, displays the image on display 108, and stores the image in memory 104.

[0026] remove Figure 1 Beyond the examples shown, the above steps can be completed independently by user equipment 102, i.e., user equipment 102 can perform steps such as generating response results, thereby reducing the processing load on the server. User equipment 102 includes, but is not limited to, handheld devices (such as mobile phones), laptops, desktop computers, in-vehicle devices, etc., and this invention does not limit the specific implementation of user equipment 102.

[0027] Alternatively, as an alternative implementation method, such as Figure 2 As shown, the data processing methods include: S202, Obtain the data processing request triggered in the target client, wherein the data processing request is used to request to perform a target operation on the stored data in the target storage space, the data processing request carries type indication information of the target protocol type and first reference data, the target protocol type is the protocol type corresponding to the target storage space, the first reference data is used to represent the index information of the target function to be called to perform the target operation, and the protocol type corresponding to the first reference data is different from the target protocol type; S204, convert the first reference data into the second reference data according to the type indication information of the target protocol type; S206, find the target function according to the second reference data, and call the found target function to perform the target operation on the stored data in the target storage space; S208: Obtain the execution result generated after executing the target operation, and return the execution result as the response result corresponding to the data processing request to the target client.

[0028] Optionally, in this embodiment, the above data processing method can be applied, but is not limited to, storage service scenarios, such as cloud storage service scenarios and signaling transmission service scenarios. Specifically, taking the cloud storage service scenario as an example, when a display request for a target image is detected on the user-side client, the display request is sent to the server, and the server calls the target function corresponding to the display request. Through the call to the target function, the image data in the cloud storage space is called, thereby sending the image data to the client for display to complete the response to the display request. Furthermore, taking the signaling transmission service scenario as an example, it can serve the inventory, retrieval, and indexing of object storage, and can also periodically check whether the data is abnormal, as well as serve the file system, virtual machine, directory-folder underlying, etc.

[0029] Optionally, in this embodiment, the type of the target operation may be, but is not limited to, corresponding to a data processing request, and the target operation may be, but is not limited to, executed by calling a target function. The target operation may include, but is not limited to, at least one of the following: calling, cleaning, checking, inventorying, retrieving, indexing, etc.

[0030] Optionally, in this embodiment, the protocol may be, but is not limited to, a network protocol. Specifically, a network protocol may be, but is not limited to, a set of rules, standards, or conventions established for data exchange in a computer network, or it can be understood as a set of input / output constraint rules. For example, when a microcomputer user and a mainframe operator communicate in a network, because the character sets used by these two data terminals are different, the commands entered by the operators are not recognized by each other. In order to communicate, it is stipulated that each terminal must first convert the characters in its own character set to the characters of the standard character set before transmitting them into the network. After reaching the destination terminal, the characters are converted to the characters of that terminal's character set. In addition, besides converting the character set characters, other features also need to be converted, such as display format, line length, number of lines, and screen scrolling mode. Optionally, protocols may be divided into general protocols and private protocols. General protocols may be, but are not limited to, international standard protocols, such as Transmission Control Protocol / Internet Protocol (TCP / IP), HTTP protocol, SSL-based HTTP protocol (Hypertext Transfer Protocol over Secure Socket Layer, HTTPS), SOAP protocol, Constrained Application Protocol (CoAP), etc. Private protocols may be, but are not limited to, protocols that are recognized by the same set of protocols for internal use by the requester and the responseer, and that communicate in accordance with the protocol constraints.

[0031] Further optionally, in this embodiment, the type indication information may, but is not limited to, indicating whether the protocol is a general protocol or a private protocol, or used to indicate a protocol identifier (such as TCP / IP protocol, SOAP protocol, etc.). Optionally, the calling object of the protocol target function may, but is not limited to, a virtual server, and in the aforementioned private protocol scenario, this virtual server may, but is not limited to, a protocol responder, which is used to perform target operations on the stored data stored in the target storage space through the call to the target function. Optionally, the target storage space may, but is not limited to, be used to store virtualized resources and is provided in the form of a storage pool, and the target storage space may, but is not limited to, be distributed across multiple server hosts.

[0032] Optionally, in this embodiment, the index information may be, but is not limited to, the storage path or storage identifier of the target function in the function pool. For example, the index information may be, but is not limited to, path information. Using this index information, the corresponding target function can be quickly called at the corresponding target storage location in the function pool, wherein the index information corresponds to the target storage location. As another example, the index information may be, but is not limited to, identifier information. The stored data in the storage pool is pre-allocated with corresponding identifier information, so that during the target function calling phase, the target function corresponding to the target identifier can be quickly called in the function pool using this index information, wherein the index information corresponds to the target identifier.

[0033] It should be noted that, during the response process to a data processing request, the protocol type corresponding to the target storage space where the data to be processed is located is additionally provided in the data processing request. Then, protocol conversion is used to convert the reference data in the data processing request that was originally incompatible with the protocol type into reference data that is compatible with the protocol type. Optionally, the data processing request can be obtained, but is not limited to, through triggering by the target client's application programming interface or user interface.

[0034] To further illustrate, an optional assumption is that the user interface corresponding to the target client is as follows: Figure 3 As shown, the target client 302 is the user interface corresponding to the target URL (taking www.abc.com as an example), and multiple virtual icons are displayed on this user interface; further for example... Figure 3 As shown in (a), suppose a selected operation is detected on the virtual icon 304, thereby triggering a corresponding data processing request, and the response result of the data processing request is displayed on the target client 302, for example... Figure 3As shown in (b) above. Optionally, the response result may be, but is not limited to, the target image 306 corresponding to the virtual icon 304, wherein the virtual icon 304 may be, but is not limited to, image data stored on the target client 302 with low load, and the target image 306 may be, but is not limited to, image data stored in cloud storage space with high load.

[0035] In addition, optional based on Figure 3 The scenario shown continues, for example... Figure 4 As shown, further in the already passed Figure 4 In the case where the virtual icon 304 shown in (a) has triggered a data processing request, for example... Figure 4 As shown in (b), the next data processing request can also be triggered via, but is not limited to, a virtual button 402 on the user interface of the target client 302. This can be understood as follows: a data processing request triggered by the virtual icon 304 requests the display of the target image 306 corresponding to the virtual icon 304, while a data processing request triggered by the virtual button 402 requests the display of the target image 404 corresponding to the next virtual icon in the sequence following the virtual icon 304. For example... Figure 4 As shown in (c) in the figure.

[0036] To further illustrate, an optional assumption is that the target client's application programming interface (API) is as follows: Figure 5 As shown, a data processing request 504 is triggered by the target client 502 and transmitted to the target server 506 via the network. The data processing request 504 may, but is not limited to, requesting the execution of a target operation (such as calling, cleaning, checking, inventorying, retrieving, indexing, etc.) on the stored data 512 in the target storage space 510. Specifically, taking the check operation as an example, the target server 506 may optionally call the target function 508 corresponding to the data processing request 504, and the call of the target function 508 will perform a check operation on the stored data 512 in the target storage space 510. The stored data 512 may, but is not limited to, all of the data in the target storage space 510, or may, but is not limited to, a portion of the stored data in the target storage space 510 corresponding to the data processing request 504.

[0037] To further illustrate, optional examples include... Figure 6 As shown, the type indication information 604 carrying the target protocol type and the first reference data 606 in the data processing request are collectively referred to as target reference data 602. In addition, the target reference data 602 also includes other reference data, such as "Seq_id" used to represent historical execution data, "Length" used to represent byte length, and "request data" used to represent the data processing request.

[0038] To further illustrate, the optional based on Figure 6 The scenario shown continues, for example... Figure 7 As shown, the execution result 702 generated after executing the target operation corresponds to the target reference data 602, and may include, but is not limited to, "Errno" to indicate whether there is an abnormal situation in the execution of the target operation, "Seq_id" to indicate historical execution data, "Length" to indicate the byte length, and "return data" to indicate the response result.

[0039] The embodiments provided in this application obtain a data processing request triggered in the target client. The data processing request requests the execution of a target operation on stored data in the target storage space. The data processing request carries type indication information of the target protocol type and first reference data. The target protocol type is the protocol type corresponding to the target storage space. The first reference data represents the index information of the target function to be called to execute the target operation. The protocol type corresponding to the first reference data is different from the target protocol type. The first reference data is converted into second reference data according to the type indication information of the target protocol type. The target function is found according to the second reference data and called to execute the target operation on the stored data in the target storage space. The execution result generated after executing the target operation is obtained and returned to the target client as the response result corresponding to the data processing request. By providing the protocol type corresponding to the storage space where the data to be processed is located in the data processing request when requesting data processing, and then using protocol conversion, the reference data in the data processing request that was originally not compatible with the protocol type is converted into reference data compatible with the protocol type. This achieves the technical objective of quickly completing the protocol adaptation between the data processing request and the data to be processed, thereby improving the technical effect of data processing efficiency.

[0040] As an optional approach, the first reference data is converted into second reference data according to the type indication information of the target protocol type, including: S1, determine the protocol type corresponding to the target storage space according to the type indication information of the target protocol type; S2, if the initial protocol type corresponding to the first reference data is obtained, obtain the mapping relationship between the data belonging to the initial protocol type and the data belonging to the target protocol type; S3, determine the second reference data that has a mapping relationship with the first reference data.

[0041] Optionally, in this embodiment, the first reference data can be converted into the second reference data by means of protocol conversion, but not limited to the process of converting the standard or protocol of one device into a protocol suitable for another device. The purpose is to enable interactive operation between different protocols. Protocols usually appear in the form of software. For example, a router converts the data format and data rate in one network into a protocol suitable for another network. The main protocol conversion messages involve the conversion of data messages, events, commands and time synchronization.

[0042] It should be noted that a pre-established mapping relationship can be used to achieve protocol conversion between data of different protocol types. Specifically, the initial protocol type corresponding to the first reference data and the target protocol type corresponding to the target storage space are obtained. Then, based on the pre-established mapping relationship, the first reference data of the target protocol type, i.e., the second reference data, is determined. The order in which the initial protocol type and the target protocol type are obtained is not limited here.

[0043] To further illustrate, optional examples include... Figure 8 As shown, there are reference data 804 under four protocol types 802. Specifically, the same reference data 804 can be transmitted, interacted, and processed in different protocol formats under different protocol types 802, and corresponding protocol conversion can be completed between reference data 804 under different protocol types 802, but the reference data 804 after protocol conversion still retains its substantive meaning. Assuming the initial protocol type is "RPC", the corresponding reference data 804 includes the protocol version "RPC0" to represent "RPC", the index identifier "SAerviceID" and "MethodID" to represent the target function to be called, "Seqid" to represent historical execution data, "Length" to represent the byte length, and "PB data" to represent the data processing request, etc. The reference data 804 corresponding to the "RPC" protocol type is used to represent the execution method of the target operation to be executed. Furthermore, the reference data 804 corresponding to the initial protocol type "RPC" is converted to obtain the reference data 804 corresponding to the target protocol type "HTTP", and the reference data 804 corresponding to the target protocol type "HTTP" is also used to represent the execution method of the target operation to be executed.

[0044] The embodiments provided in this application determine the protocol type corresponding to the target storage space according to the type indication information of the target protocol type; when the initial protocol type corresponding to the first reference data is obtained, the mapping relationship between the data belonging to the initial protocol type and the data belonging to the target protocol type is obtained; and the second reference data that has a mapping relationship with the first reference data is determined, thereby achieving the purpose of quickly completing the conversion between reference data by utilizing the mapping relationship and realizing the effect of improving the data conversion efficiency.

[0045] As an optional approach, determining second reference data that has a mapping relationship with the first reference data includes: S1, obtain the N first sub-data carried in the first reference data, and the sorting information of each first sub-data in the second reference data, where N is an integer greater than or equal to 1; S2, determine M second sub-data that have a mapping relationship with N first sub-data, where M is an integer greater than or equal to 1; S3, integrate the M second sub-data based on the sorting information to determine the second reference data.

[0046] Optionally, in this embodiment, a network protocol can generally be understood as including three components: semantics, syntax, and timing. Specifically, semantics can, but is not limited to, explaining the meaning of each part of the control information, specifying what kind of control information needs to be sent, the actions to be performed, and the responses to be made; syntax can, but is not limited to, the structure and format of user data and control information, and the order in which the data appears; timing can, but is not limited to, a detailed description of the order in which events occur. In simple terms, semantics indicates what to do, syntax indicates how to do it, and timing indicates the order in which they are done. Optionally, in this embodiment, the first sub-data can, but is not limited to, be used to represent semantics and syntax, and the sorting information of the first sub-data in the second reference data can, but is not limited to, be used to represent timing. Thus, upon obtaining the first sub-data and the sorting information of the first sub-data in the second reference data, protocol conversion between data of different protocol types is completed.

[0047] To further illustrate, optional examples include... Figure 8 As shown, taking protocol type 802 "RPC" as an example, in the reference data 804 corresponding to protocol type 802 "RPC", "Length" used to indicate the byte length, "SAerviceID" used to indicate the index identifier of the target function to be called, and "MethodID" can be understood as the semantics of the three elements; "PB data" used to indicate the data processing request can be understood as the syntax of the three elements; and the sequence information in the reference data 804 can be understood as the timing of the three elements.

[0048] Through the embodiments provided in this application, N first sub-data carried in the first reference data and the sorting information of each first sub-data in the second reference data are obtained, where N is an integer greater than or equal to 1; M second sub-data that have a mapping relationship with the N first sub-data are determined, where M is an integer greater than or equal to 1; the M second sub-data are integrated based on the sorting information to determine the second reference data, thereby achieving the purpose of accurately determining the second reference data using sub-data and sorting information, and realizing the effect of improving the determination accuracy of the second reference data.

[0049] As an optional approach, the objective function is found based on the second reference data, including: S1, obtain the target index identifier carried in the second reference data, wherein the target index identifier corresponds to the storage identifier of the target function in the target function pool; S2, search for the target function in the target function pool according to the target index identifier.

[0050] Optionally, in this embodiment, the objective function may be stored in the objective function pool by means of a storage identifier, but is not limited to.

[0051] It should be noted that, since the target function is pre-stored in the target function pool by storing the corresponding identifier, the corresponding target function can be found in the function pool by carrying the target index identifier.

[0052] The embodiments provided in this application obtain the target index identifier carried in the second reference data, wherein the target index identifier corresponds to the storage identifier of the target function in the target function pool; the target function is searched in the target function pool according to the target index identifier, thereby achieving the purpose of quickly searching for the target function using the storage identifier and improving the search efficiency of the target function.

[0053] As an optional approach, the target function is searched in the target function pool according to the target index identifier, including at least one of the following: S1, find the target function that belongs to the target function type according to the first index identifier, wherein the first index identifier corresponds to the type storage identifier of the target function in the target function pool; S2, find the target function corresponding to the target function encoding according to the second index identifier, wherein the second index identifier corresponds to the encoding storage identifier of the target function in the target function pool.

[0054] Optionally, in this embodiment, a target function belonging to the target function type can be searched in the target function pool according to the first index identifier; or, a target function belonging to the target function code can be searched in the target function pool according to the second index identifier; or, a candidate function belonging to the target function type can be searched first according to the first index identifier, and then a target function corresponding to the target function code can be searched in the candidate function according to the second index identifier.

[0055] It should be noted that the objective function may be stored in the objective function pool in a manner corresponding to a type storage identifier, and / or the objective function may be stored in the objective function pool in a manner corresponding to an encoding storage identifier. Optionally, the lookup granularity of the encoding storage identifier may be, but is not limited to, smaller than that of the type storage identifier.

[0056] To further illustrate, optional examples include... Figure 9 As shown, the stored functions are stored in the target function pool 902 with function types (e.g., type 1, type 2... type N) and function codes (e.g., function A, function B, function C, function D... function F). The first index identifier 904 is used to determine the function type of the target function (e.g., type N), and the second index identifier 906 is used to determine the function code of the target function (e.g., function A). In this way, even if function codes are duplicated in the target function pool 902, the problem of not being able to find the accurate target function due to function duplication is avoided because the function type (e.g., type N) of the target function has already been determined.

[0057] The embodiments provided in this application find target functions belonging to the target function type according to the first index identifier, wherein the first index identifier corresponds to the type storage identifier of the target function in the target function pool; and find the target function corresponding to the target function encoding according to the second index identifier, wherein the second index identifier corresponds to the encoding storage identifier of the target function in the target function pool. This achieves the purpose of avoiding the problem of not being able to find the accurate target function due to function duplication, and realizes the effect of improving the accuracy of target function search.

[0058] As an optional approach, after obtaining the data processing request triggered in the target client, the following steps are included: S1, determine the sequence data carried in the data processing request, wherein the sequence data is binary data that is allowed to be transmitted over the network after serializing the type indication information of the target protocol type and the first reference data; S2, deserialize the sequence data to obtain type indication information of the identifiable target protocol type and first reference data.

[0059] Optionally, in this embodiment, the serialization and deserialization capabilities of Protobuf messages can be used, including function definitions to unify the exposed application interfaces. The RpcChannel::CallMethod interface provided by Protobuf is utilized so that any application interface called by the client ultimately calls the CallMethod. A typical implementation of this function serializes the call parameters and then submits them to the network module for transmission. Protobuf is a high-performance, cross-language, and cross-platform serialization library from Google. The serialization and deserialization operations can be performed using, but are not limited to, Protobuf; however, this is not a limitation.

[0060] Optionally, in this embodiment, serialization can be used, but is not limited to, ensuring the integrity and transmissibility of objects when transmitting and saving them, converting objects into ordered byte streams for transmission over a network or storage in local files, while deserialization can be used, but is not limited to, restoring the original meaning of serialized data based on the object state and description information stored in the byte stream.

[0061] It should be noted that the sequence data carried in the data processing request is determined, wherein the sequence data is binary data that is allowed to be transmitted over the network after serializing the type indication information of the target protocol type and the first reference data; the sequence data is deserialized to obtain the type indication information of the identifiable target protocol type and the first reference data.

[0062] To further illustrate, optional examples include... Figure 10 As shown, target client 1002 is the triggerer of data processing request 1006, and target server 1004 is the responder of data processing request 1006. Specifically, the data processing request 1006 triggered by target client 1002 is obtained, and target client 1002 serializes the data to be transmitted corresponding to data processing request 1006 to obtain sequence data 1008; the sequence data 1008 is transmitted to target server 1004 via network transmission; at the same time, since the current data format of sequence data 1008 is not recognized by target server 1004, the sequence data 1008 also needs to be deserialized to obtain reference data 1010 that target server 1004 can recognize.

[0063] The embodiments provided in this application determine the sequence data carried in the data processing request. The sequence data is binary data that is allowed to be transmitted over the network after serializing the type indication information of the target protocol type and the first reference data. The sequence data is deserialized to obtain the type indication information of the identifiable target protocol type and the first reference data, thereby achieving the goal of making the processed data format meet the requirements of network transmission and improving the efficiency of data interaction.

[0064] As an optional approach, the execution result generated after performing the target operation can be obtained, including at least one of the following: S1, if the target operation is completed, generate a first processing result, wherein the first processing result is used to indicate that the target operation has been executed successfully; S2, In the event that the target operation is interrupted, a second processing result is generated, wherein the second processing result is used to indicate that the target operation has failed to be executed; S3 generates a third processing result in the case of completion / interruption of the target operation, whereby the third processing result is used to represent the execution log associated with the target operation.

[0065] Optionally, in this embodiment, the execution log may be used, but is not limited to, to record execution data of the target operation, such as the number of successes, the number of failures, the reasons for failures, and the duration of success.

[0066] It should be noted that corresponding processing results can be generated based on the different execution states of the target operation. For example, the first processing result is generated when the target operation has been successfully executed, the second processing result is generated when the target operation has failed to execute, and the third processing result is generated when the target operation has been executed.

[0067] To further illustrate, optional examples include... Figure 6 or Figure 7 The "Seq_id" shown can be used, but is not limited to, to represent the number of times the target operation has been executed. For example, if the target operation has been executed 5 times, then... Figure 6 In the scenario shown, "Seq_id" can be, but is not limited to, "5", meaning that "Seq_id" can be used to indicate that the target operation has been executed 5 times; furthermore, in Figure 7 In the scenario shown, assuming the target operation has been completed, the "Seq_id" can be, but is not limited to, "6 (5+1)", that is, the "Seq_id" can be used to indicate that the target operation has been executed 6 times.

[0068] Through the embodiments provided in this application, when the target operation is completed, a first processing result is generated, wherein the first processing result is used to indicate that the target operation has been successfully executed; when the target operation is interrupted, a second processing result is generated, wherein the second processing result is used to indicate that the target operation has failed; when the target operation is completed / interrupted, a third processing result is generated, wherein the third processing result is used to indicate the execution log associated with the target operation. This achieves the purpose of timely feedback of the execution process of the target operation through processing results, thereby improving the timeliness of feedback of the target operation.

[0069] As an optional approach, after calling the found target function to perform the target operation on the stored data in the target storage space, the following steps are taken: adjusting the running state of the target thread to an occupied state, wherein the target thread is used to execute the calling task of the target function, and the target thread in the occupied state is prohibited from executing any task other than the calling task; As an optional approach, after returning the execution result as the response result corresponding to the data processing request to the target client, the following steps are taken: adjusting the running state of the target thread to an idle state, wherein the target thread in the idle state is allowed to execute any task, including calling a task.

[0070] Optionally, in this embodiment, the above data processing method may, but is not limited to, adopt a multi-threaded framework to implement various concurrency models. For example, one connection / task / request corresponds to one thread. This model is relatively simple to implement on the server and is suitable for scenarios where the caller's load is stable and there is no need for frequent scaling up or down.

[0071] It should be noted that after calling the target function to perform the target operation on the stored data in the target storage space, the running state of the target thread is adjusted to the occupied state; and after returning the execution result as the response result corresponding to the data processing request to the target client, the running state of the target thread is adjusted to the idle state.

[0072] To further illustrate, optional examples include... Figure 11 As shown, when target thread 1104 is currently occupied by thread task 1106 corresponding to data processing request 1102, the running state of target thread 1104 is adjusted to occupied state; similarly, when thread task 1106 corresponding to data processing request 1102 has completed processing, the running state of target thread 1104 is adjusted to idle state (not shown in the figure). This can be understood as target thread 1104 being set to be occupied by only one thread task 1106.

[0073] According to the embodiments provided in this application, after calling the found target function to perform the target operation on the stored data in the target storage space, the process includes: adjusting the running state of the target thread to an occupied state, wherein the target thread is used to execute the calling task of the target function, and the target thread in the occupied state is prohibited from executing any task other than the calling task; after returning the execution result as the response result corresponding to the data processing request to the target client, the process includes: adjusting the running state of the target thread to an idle state, wherein the target thread in the idle state is allowed to execute any task including the calling task, thereby improving the stability of data processing.

[0074] As an optional approach, after calling the found target function to perform the target operation on the stored data in the target storage space, the following steps are taken: if the target thread is in an idle state and the target thread's runtime load has reached the target threshold, the target thread's runtime state is adjusted from an idle state to an occupied state. Here, the target thread is used to execute the target function's calling task. The target thread in the occupied state is prohibited from executing any task other than the calling task, while the target thread in the idle state is allowed to execute any task, including the calling task. As an optional approach, after returning the execution result as the response result corresponding to the data processing request to the target client, the following steps are taken: if the target thread is in an occupied state and the running load is lower than the target threshold, the running state of the target thread is adjusted to an idle state.

[0075] Optionally, in this embodiment, the above data processing method may, but is not limited to, adopt a multi-threaded framework to implement the use of various concurrency models, such as supporting thread reuse, and multiple tasks providing parallel data processing services according to the IO reuse method, which is suitable for scenarios with high concurrency and unstable load of the caller.

[0076] It should be noted that after calling the target function to perform the target operation on the stored data in the target storage space, the running state of the target thread is adjusted to the occupied state; and after returning the execution result as the response result corresponding to the data processing request to the target client, the running state of the target thread is adjusted to the idle state.

[0077] To further illustrate, optional examples include... Figure 12As shown, when target thread 1202 is currently occupied by thread tasks 1204, 1206, 1208, and 1210, the running state of target thread 1202 is adjusted to an occupied state (not shown in the figure). Similarly, when thread task 1210 has ended, and target thread 1202 is currently occupied only by thread tasks 1204, 1206, and 1208, the running state of target thread 1202 is adjusted to an idle state. This can be understood as target thread 1204 being set to be occupied only by multiple thread tasks, but this occupation has an upper limit (e.g., an upper limit on the number of thread tasks, an upper limit on the total data transmission volume corresponding to the thread tasks, etc.).

[0078] According to the embodiments provided in this application, after calling the found target function to perform the target operation on the stored data in the target storage space, the process includes: when the target thread is in an idle state and the target thread's running load has reached a target threshold, adjusting the target thread's running state from an idle state to an occupied state. The target thread is used to execute the target function's calling task. A target thread in an occupied state is prohibited from executing any task other than the calling task, while a target thread in an idle state is allowed to execute any task, including the calling task. After returning the execution result as the response result corresponding to the data processing request to the target client, the process includes: when the target thread is in an occupied state and its running load is lower than the target threshold, adjusting the target thread's running state to an idle state, thereby improving data processing efficiency.

[0079] As an optional solution, for ease of understanding, we will take the Remote Procedure Call (RPC) framework, which is adapted to the departmental framework and protocol, as an example to illustrate the specific implementation process of applying the above data processing method to the signaling transmission scenario. Here, RPC can be used, but is not limited to, to represent one node requesting a service provided by another node. For example, signaling transmission can be used, but is not limited to, to represent storage service scenarios. It is generally divided into signaling and data transmission. The request data load of signaling transmission is not high, usually a few KB to a few MB, but the request volume is large; the request load of data transmission is higher, usually such as 1 MB, 1 GB, etc. Furthermore, specifically as follows Figure 13 As shown, before the above data processing method is executed, the target server 1304 is used to register and route the interface. The index identifier of the target function (such as serviceid, methodid) is registered through a fast query tool. When the target server 1304 is called, the corresponding method is found and executed from the fast query tool. Furthermore, during the execution of the aforementioned data processing method, in addition to sending the parameters of the (target) function call to the target server 1304, the target client 1302 also needs to send the index identifier to the target server 1304. This data is then used to complete an RPC call. Additionally, to support multiple protocols, the RPC framework requires a field to record the protocol type (protocol header), a seqid for call tracing, and the length of the serialized data, etc. Furthermore, the serialization and deserialization capabilities of a proxy module (such as Protobuf) can be used, and the unified interface provided by Protobuf (such as RpcChannel::CallMethod) can be utilized so that any external interface called by the client will ultimately call this unified interface, and then the serialized sequence data (such as Router, Report, etc.) will be delivered to the network module for transmission. After receiving the sequence data sent by the network module, the target server 1304 deserializes the sequence data, finds the corresponding target function based on the deserialized data, and then calls the target function to perform the target operation on the stored data.

[0080] Through the embodiments provided in this application, in terms of products, the above-mentioned RPC framework supports services such as object storage lists, inspections, and lists; in terms of technology, the above-mentioned RPC framework can be adapted to industry-standard communication protocols as well as private departmental frameworks, reducing the difficulty of business development, and is simple to use and has high communication efficiency.

[0081] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the present invention is not limited to the described order of actions, because according to the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.

[0082] According to another aspect of the present invention, a data processing apparatus for implementing the above-described data processing method is also provided. For example... Figure 14 As shown, the device includes: The first acquisition unit 1402 is used to acquire a data processing request triggered in the target client. The data processing request is used to request the execution of a target operation on the stored data in the target storage space. The data processing request carries type indication information of the target protocol type and first reference data. The target protocol type is the protocol type corresponding to the target storage space. The first reference data is used to represent the index information of the target function to be called to execute the target operation. The protocol type corresponding to the first reference data is different from the target protocol type. Conversion unit 1404 is used to convert the first reference data into the second reference data according to the type indication information of the target protocol type; The lookup unit 1406 is used to look up the target function according to the second reference data, and call the found target function to perform the target operation on the stored data in the target storage space; The second acquisition unit 1408 is used to acquire the execution result generated after the target operation is executed, and return the execution result as the response result corresponding to the data processing request to the target client.

[0083] Optionally, in this embodiment, the above-mentioned data processing device can be applied to, but is not limited to, storage service scenarios, such as cloud storage service scenarios and signaling transmission service scenarios. Specifically, taking the cloud storage service scenario as an example, when a display request for a target image is detected on the user-side client, the display request is sent to the server, and the server calls the target function corresponding to the display request. Through the call to the target function, the image data in the cloud storage space is called, thereby sending the image data to the client for display to complete the response to the display request. Furthermore, taking the signaling transmission service scenario as an example, it can serve the inventory, retrieval, and indexing of object storage, and can also periodically check whether the data is abnormal, as well as serve the file system, virtual machine, directory-folder underlying, etc.

[0084] Optionally, in this embodiment, the type of the target operation may be, but is not limited to, corresponding to a data processing request, and the target operation may be, but is not limited to, executed by calling a target function. The target operation may include, but is not limited to, at least one of the following: calling, cleaning, checking, inventorying, retrieving, indexing, etc.

[0085] Optionally, in this embodiment, the protocol may be, but is not limited to, a network protocol. Specifically, a network protocol may be, but is not limited to, a set of rules, standards, or conventions established for data exchange in a computer network, or it can be understood as a set of input / output constraint rules. For example, when a microcomputer user and a mainframe operator communicate in a network, because the character sets used by these two data terminals are different, the commands entered by the operators are not recognized by each other. In order to communicate, it is stipulated that each terminal must first convert the characters in its own character set to the characters of the standard character set before transmitting them into the network. After reaching the destination terminal, the characters are converted to the characters of that terminal's character set. In addition, besides converting the character set characters, other features also need to be converted, such as display format, line length, number of lines, and screen scrolling mode. Optionally, protocols may be divided into general protocols and private protocols. General protocols may be, but are not limited to, international standard protocols, such as Transmission Control Protocol / Internet Protocol (TCP / IP), HTTP protocol, SSL-based HTTP protocol (Hypertext Transfer Protocol over Secure Socket Layer, HTTPS), SOAP protocol, Constrained Application Protocol (CoAP), etc. Private protocols may be, but are not limited to, protocols that are recognized by the same set of protocols for internal use by the requester and the responseer, and that communicate in accordance with the protocol constraints.

[0086] Further optionally, in this embodiment, the type indication information may, but is not limited to, indicating whether the protocol is a general protocol or a private protocol, or used to indicate a protocol identifier (such as TCP / IP protocol, SOAP protocol, etc.). Optionally, the calling object of the protocol target function may, but is not limited to, a virtual server, and in the aforementioned private protocol scenario, this virtual server may, but is not limited to, a protocol responder, which is used to perform target operations on the stored data stored in the target storage space through the call to the target function. Optionally, the target storage space may, but is not limited to, be used to store virtualized resources and is provided in the form of a storage pool, and the target storage space may, but is not limited to, be distributed across multiple server hosts.

[0087] Optionally, in this embodiment, the index information may be, but is not limited to, the storage path or storage identifier of the target function in the function pool. For example, the index information may be, but is not limited to, path information. Using this index information, the corresponding target function can be quickly called at the corresponding target storage location in the function pool, wherein the index information corresponds to the target storage location. As another example, the index information may be, but is not limited to, identifier information. The stored data in the storage pool is pre-allocated with corresponding identifier information, so that during the target function calling phase, the target function corresponding to the target identifier can be quickly called in the function pool using this index information, wherein the index information corresponds to the target identifier.

[0088] It should be noted that, during the response process to a data processing request, the protocol type corresponding to the target storage space where the data to be processed is located is additionally provided in the data processing request. Then, protocol conversion is used to convert the reference data in the data processing request that was originally incompatible with the protocol type into reference data that is compatible with the protocol type. Optionally, the data processing request can be obtained, but is not limited to, through triggering by the target client's application programming interface or user interface.

[0089] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0090] The embodiments provided in this application obtain a data processing request triggered in the target client. The data processing request requests the execution of a target operation on stored data in the target storage space. The data processing request carries type indication information of the target protocol type and first reference data. The target protocol type is the protocol type corresponding to the target storage space. The first reference data represents the index information of the target function to be called to execute the target operation. The protocol type corresponding to the first reference data is different from the target protocol type. The first reference data is converted into second reference data according to the type indication information of the target protocol type. The target function is found according to the second reference data and called to execute the target operation on the stored data in the target storage space. The execution result generated after executing the target operation is obtained and returned to the target client as the response result corresponding to the data processing request. By providing the protocol type corresponding to the storage space where the data to be processed is located in the data processing request when requesting data processing, and then using protocol conversion, the reference data in the data processing request that was originally not compatible with the protocol type is converted into reference data compatible with the protocol type. This achieves the technical objective of quickly completing the protocol adaptation between the data processing request and the data to be processed, thereby improving the technical effect of data processing efficiency.

[0091] As an optional solution, the conversion unit 1404 includes: The first determining module is used to determine the protocol type corresponding to the target storage space according to the type indication information of the target protocol type; The first acquisition module is used to acquire the mapping relationship between data belonging to the initial protocol type and data belonging to the target protocol type when the initial protocol type corresponding to the first reference data is acquired. The second determining module is used to determine second reference data that has a mapping relationship with the first reference data.

[0092] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0093] As an optional solution, the second determining module includes: The acquisition submodule is used to acquire the N first sub-data carried in the first reference data, and the sorting information of each first sub-data in the second reference data, where N is an integer greater than or equal to 1; The first determining submodule is used to determine M second sub-data that have a mapping relationship with N first sub-data, where M is an integer greater than or equal to 1; The second determining submodule is used to integrate and process M second sub-data based on sorting information to determine the second reference data.

[0094] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0095] As an optional solution, the lookup unit 1406 includes: The second acquisition module is used to acquire the target index identifier carried in the second reference data, wherein the target index identifier corresponds to the storage identifier of the target function in the target function pool; The lookup module is used to search for the target function in the target function pool according to the target index identifier.

[0096] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0097] As an alternative, the lookup module includes at least one of the following: The first lookup submodule is used to look up the target function that belongs to the target function type according to the first index identifier, wherein the first index identifier corresponds to the type storage identifier of the target function in the function pool; The second lookup submodule is used to find the target function corresponding to the target function encoding according to the second index identifier, wherein the second index identifier corresponds to the encoding storage identifier of the target function in the function pool.

[0098] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0099] As an optional solution, it includes: The determining unit is used to determine the sequence data carried in the data processing request after obtaining the data processing request triggered in the target client, wherein the sequence data is binary data that is allowed to be transmitted over the network after serializing the type indication information of the target protocol type and the first reference data. The processing unit is used to deserialize the sequence data after obtaining the data processing request triggered in the target client, so as to obtain type indication information of the identifiable target protocol type and first reference data.

[0100] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0101] As an optional solution, the second acquisition unit 1408 includes at least one of the following: The first generation module is used to generate a first processing result when the target operation is completed, wherein the first processing result is used to indicate that the target operation has been successfully executed; The second generation module is used to generate a second processing result when the target operation is interrupted, wherein the second processing result is used to indicate that the target operation has failed to be executed; The third generation module is used to generate a third processing result when the target operation is completed or interrupted. The third processing result is used to represent the execution log associated with the target operation.

[0102] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0103] As an optional solution, it includes: The first adjustment unit is used to adjust the running state of the target thread to the occupied state after calling the found target function to perform the target operation on the stored data in the target storage space. The target thread is used to execute the calling task of the target function, and the target thread in the occupied state is prohibited from executing any task other than the calling task. The second adjustment unit is used to adjust the running state of the target thread to an idle state after returning the execution result as the response result corresponding to the data processing request to the target client. The target thread in the idle state is allowed to execute any task, including calling a task.

[0104] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0105] As an optional solution, it includes: The third adjustment unit is used to adjust the running state of the target thread from idle to occupied after the target thread is in an idle state and the running load of the target thread has reached the target threshold, after the target thread is in an idle state and the target thread is in an idle state. The target thread is used to execute the target function call task. The target thread in the occupied state is prohibited from executing any task other than the call task. The target thread in the idle state is allowed to execute any task including the call task. The fourth adjustment unit is used to adjust the running state of the target thread to an idle state after returning the execution result as the response result corresponding to the data processing request to the target client, when the running state of the target thread is occupied and the running load is lower than the target threshold.

[0106] For specific implementation examples, please refer to the examples shown in the data processing method above. These examples will not be repeated here.

[0107] According to another aspect of the present invention, an electronic device for implementing the above-described data processing method is also provided, such as... Figure 15 As shown, the electronic device includes a memory 1502 and a processor 1504. The memory 1502 stores a computer program, and the processor 1504 is configured to execute the steps of any of the above method embodiments via the computer program.

[0108] Optionally, in this embodiment, the aforementioned electronic device may be located in at least one of a plurality of network devices in a computer network.

[0109] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program: S1, obtain the data processing request triggered in the target client, wherein the data processing request is used to request to perform target operation on the stored data in the target storage space, the data processing request carries type indication information of the target protocol type and first reference data, the target protocol type is the protocol type corresponding to the target storage space, the first reference data is used to represent the index information of the target function to be called to perform the target operation, and the protocol type corresponding to the first reference data is different from the target protocol type; S2, convert the first reference data into the second reference data according to the type indication information of the target protocol type; S3, find the target function according to the second reference data, and call the found target function to perform the target operation on the stored data in the target storage space; S4 retrieves the execution result generated after executing the target operation and returns the execution result as the response result corresponding to the data processing request to the target client.

[0110] Alternatively, as those skilled in the art will understand, Figure 15 The structure shown is for illustrative purposes only. Electronic devices can also be smartphones (such as Android phones, iOS phones, etc.), tablets, PDAs, mobile internet devices (MIDs), PADs, and other terminal devices. Figure 15 This does not limit the structure of the aforementioned electronic devices. For example, the electronic device may also include components that are more... Figure 15 The more or fewer components shown (such as network interfaces, etc.), or having the same Figure 15 The different configurations shown.

[0111] The memory 1502 can be used to store software programs and modules, such as program instructions / modules corresponding to the data processing method and apparatus in this embodiment of the invention. The processor 1504 executes various functional applications and data processing by running the software programs and modules stored in the memory 1502, thereby implementing the aforementioned data processing method. The memory 1502 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 1502 may further include memory remotely located relative to the processor 1504, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Specifically, the memory 1502 may be used, but is not limited to, to store information such as data processing requests, first reference data, second reference data, and execution results. As an example, such as... Figure 15 As shown, the memory 1502 may include, but is not limited to, the first acquisition unit 1402, conversion unit 1404, search unit 1406, and second acquisition unit 1408 from the data processing device described above. Furthermore, it may include, but is not limited to, other module units from the data processing device described above, which will not be elaborated upon in this example.

[0112] Optionally, the transmission device 1506 described above is used to receive or send data via a network. Specific examples of the network described above may include wired networks and wireless networks. In one example, the transmission device 1506 includes a Network Interface Controller (NIC), which can be connected to other network devices and a router via a network cable to communicate with the Internet or a local area network. In another example, the transmission device 1506 is a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0113] In addition, the aforementioned electronic device also includes: a display 1508 for displaying information such as the aforementioned data processing request, first reference data, second reference data, and execution results; and a connection bus 1510 for connecting various module components in the aforementioned electronic device.

[0114] In other embodiments, the aforementioned terminal device or server can be a node in a distributed system, wherein the distributed system can be a blockchain system, which is a distributed system formed by connecting multiple nodes through network communication. The nodes can form a peer-to-peer (P2P) network, and any form of computing device, such as a server, terminal, or other electronic device, can become a node in the blockchain system by joining this peer-to-peer network.

[0115] According to one aspect of this application, a computer program product or computer program is provided, comprising 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 executes the computer instructions, causing the computer device to perform the data processing method described above. The computer program is configured to execute the steps of any of the method embodiments described above during runtime.

[0116] Optionally, in this embodiment, the computer-readable storage medium described above may be configured to store a computer program for performing the following steps: S1, obtain the data processing request triggered in the target client, wherein the data processing request is used to request to perform target operation on the stored data in the target storage space, the data processing request carries type indication information of the target protocol type and first reference data, the target protocol type is the protocol type corresponding to the target storage space, the first reference data is used to represent the index information of the target function to be called to perform the target operation, and the protocol type corresponding to the first reference data is different from the target protocol type; S2, convert the first reference data into the second reference data according to the type indication information of the target protocol type; S3, find the target function according to the second reference data, and call the found target function to perform the target operation on the stored data in the target storage space; S4 retrieves the execution result generated after executing the target operation and returns the execution result as the response result corresponding to the data processing request to the target client.

[0117] Optionally, in this embodiment, those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0118] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0119] If the integrated units in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in the aforementioned computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

[0120] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0121] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between units or modules, and may be electrical or other forms.

[0122] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0123] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0124] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A data processing method, characterized in that, include: A data processing request triggered in the target client is obtained, wherein the data processing request is used to request the execution of a target operation on the stored data in the target storage space, the data processing request carries type indication information of the target protocol type and first reference data, the target protocol type is the protocol type corresponding to the target storage space, the first reference data is used to represent the index information of the target function to be called to execute the target operation, and the protocol type corresponding to the first reference data is different from the target protocol type; The first reference data is converted into the second reference data according to the type indication information of the target protocol type; The target function is located according to the second reference data, and the located target function is called to perform the target operation on the stored data in the target storage space; Obtain the execution result generated after performing the target operation, and return the execution result as the response result corresponding to the data processing request to the target client; The step of converting the first reference data into second reference data according to the type indication information of the target protocol type includes: determining the protocol type corresponding to the target storage space according to the type indication information of the target protocol type; if the initial protocol type corresponding to the first reference data is obtained, obtaining the mapping relationship between data belonging to the initial protocol type and data belonging to the target protocol type; and determining the second reference data that has the mapping relationship with the first reference data. The step of determining the second reference data that has the mapping relationship with the first reference data includes: obtaining N first sub-data carried in the first reference data, and sorting information of each first sub-data in the second reference data, wherein N is an integer greater than or equal to 1; determining M second sub-data that have the mapping relationship with the N first sub-data, wherein M is an integer greater than or equal to 1; and integrating the M second sub-data based on the sorting information to determine the second reference data.

2. The method according to claim 1, characterized in that, The step of finding the target function according to the second reference data includes: Obtain the target index identifier carried in the second reference data, wherein the target index identifier corresponds to the storage identifier of the target function in the target function pool; The target function is searched in the target function pool according to the target index identifier.

3. The method according to claim 2, characterized in that, The step of searching for the target function in the target function pool according to the target index identifier includes at least one of the following: The target function belonging to the target function type is found according to the first index identifier, wherein the first index identifier corresponds to the type storage identifier of the target function in the target function pool; The target function corresponding to the target function encoding is found according to the second index identifier, wherein the second index identifier corresponds to the encoding storage identifier of the target function in the target function pool.

4. The method according to any one of claims 1 to 3, characterized in that, After obtaining the data processing request triggered in the target client, the process includes: The sequence data carried in the data processing request is determined, wherein the sequence data is binary data that is allowed to be transmitted over the network after serializing the type indication information of the target protocol type and the first reference data; The sequence data is deserialized to obtain identifiable type indication information of the target protocol type and the first reference data.

5. The method according to any one of claims 1 to 3, characterized in that, The step of obtaining the execution result generated after performing the target operation includes at least one of the following: Upon completion of the target operation, a first processing result is generated, wherein the first processing result indicates that the target operation has been successfully executed. In the event that the target operation is interrupted, a second processing result is generated, wherein the second processing result is used to indicate that the target operation has failed to be executed; In the event that the target operation is completed or interrupted, a third processing result is generated, wherein the third processing result is used to represent the execution log associated with the target operation.

6. The method according to any one of claims 1 to 3, characterized in that, After the target function is called to perform the target operation on the stored data in the target storage space, the following steps are included: adjusting the running state of the target thread to an occupied state, wherein the target thread is used to execute the calling task of the target function, and the target thread in the occupied state is prohibited from executing any task other than the calling task; After returning the execution result as the response result corresponding to the data processing request to the target client, the process includes: adjusting the running state of the target thread to an idle state, wherein the target thread in the idle state is allowed to execute any task, including the invoking task.

7. The method according to any one of claims 1 to 3, characterized in that, After the target function is called to perform the target operation on the stored data in the target storage space, the following steps are included: when the target thread is in an idle state and the target thread's runtime load has reached a target threshold, the target thread's runtime state is adjusted from the idle state to the occupied state. The target thread is used to execute the target function's calling task. The target thread in the occupied state is prohibited from executing any task other than the calling task. The target thread in the idle state is allowed to execute any task, including the calling task. After returning the execution result as the response result corresponding to the data processing request to the target client, the method includes: adjusting the running state of the target thread to the idle state when the running state of the target thread is the occupied state and the running load is lower than the target threshold.

8. A data processing apparatus, characterized in that, include: The first acquisition unit is used to acquire a data processing request triggered in the target client, wherein the data processing request is used to request to perform a target operation on the stored data in the target storage space, the data processing request carries type indication information of the target protocol type and first reference data, the target protocol type is the protocol type corresponding to the target storage space, the first reference data is used to represent the index information of the target function to be called to perform the target operation, and the protocol type corresponding to the first reference data is different from the target protocol type; A conversion unit is configured to convert the first reference data into second reference data according to the type indication information of the target protocol type; The lookup unit is configured to look up the target function according to the second reference data, and call the found target function to perform the target operation on the stored data in the target storage space; The second acquisition unit is used to acquire the execution result generated after the target operation is performed, and return the execution result as the response result corresponding to the data processing request to the target client. The conversion unit includes: The first determining module is used to determine the protocol type corresponding to the target storage space according to the type indication information of the target protocol type; The first acquisition module is used to acquire, upon acquiring the initial protocol type corresponding to the first reference data, the mapping relationship between data belonging to the initial protocol type and data belonging to the target protocol type; The second determining module is used to determine the second reference data that has the mapping relationship with the first reference data; The second determining module includes: The acquisition submodule is used to acquire N first sub-data carried in the first reference data, and the sorting information of each first sub-data in the second reference data, where N is an integer greater than or equal to 1; The first determining submodule is used to determine M second sub-data that have the mapping relationship with the N first sub-data, where M is an integer greater than or equal to 1; The second determining submodule is used to integrate the M second sub-data based on the sorting information to determine the second reference data.

9. The apparatus according to claim 8, characterized in that, The search unit includes: The second acquisition module is used to acquire the target index identifier carried in the second reference data, wherein the target index identifier corresponds to the storage identifier of the target function in the target function pool; The lookup module is used to search for the target function in the target function pool according to the target index identifier.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein the program, when executed, performs the method described in any one of claims 1 to 7.

11. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to execute the method described in any one of claims 1 to 7 through the computer program.

Citation Information

Patent Citations

  • NAS data access method, system and relevant device

    CN108028833A

  • Service request processing method, device and equipment of different protocols and storage medium

    CN109445968A