Data processing method, device and equipment based on remote storage protocol, and medium
By introducing object storage semantics into the remote storage protocol, the client and server can directly operate using the location information of the data to be processed, which solves the problem of low data access efficiency in the existing technology and achieves efficient data transmission and access.
Patent Information
- Application Number
- CN202310215700.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-28
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2043-02-28
AI Technical Summary
Existing remote storage protocols are inefficient in object storage processes, requiring multiple network round trips, data serialization and deserialization operations, resulting in low data access efficiency.
By introducing object storage semantics into the remote storage protocol, the client and server serialize and parse the processing requests respectively, and directly use the location information of the data to be processed for operation, reducing data copying and network resource consumption.
It improves data access efficiency, reduces the overhead of data copying, and enhances system throughput and performance.
Smart Images

Figure CN116319726B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the computer technology field, and in particular to a data processing method and device based on a remote storage protocol, equipment and a medium. BACKGROUND
[0002] With the rapid development of network technology, the network gradually penetrates into all aspects of people's life and work, among which, remote storage plays an important role in network technology. Remote storage is a storage method, which can access remote storage devices or services using remote terminals, so that users can store, manage and protect data.
[0003] Among them, remote storage is realized based on a remote storage protocol, and the remote storage protocol refers to an existing widely used interface specification for network remote access to non-volatile storage media (Non-Volatile Memory Express Over Fabrics, NVMe-oF). The specification defines the command format and data format for remote access to non-volatile media. Compared with the local storage protocol (Non-Volatile Memory Express, NVMe) for accessing local non-volatile media, the remote storage protocol further specifies the method of data transmission through the network.
[0004] However, since the current remote storage protocol is formulated for block device access interface, that is, the command and data format are based on the uniform linear addressing non-volatile media address space, and cannot directly provide the semantics of object storage, which leads to the fact that when the upper application calls the interface of object storage for data access, it needs to obtain the real physical address of reading and writing remote non-volatile media through complex data access address calculation and conversion of the unique object identifier and the data object itself, which may involve multiple network round trips, data serialization and deserialization operations and data copying, so that the object storage process needs to cross a complex and redundant software stack, occupies a large amount of network resources, increases the data storage overhead, and leads to low efficiency of data object access. SUMMARY
[0005] The present application provides a data processing method and device based on a remote storage protocol, equipment and a medium to solve the problem of low efficiency of data object access.
[0006] In a first aspect, the present application provides a data processing method based on a remote storage protocol, which is applied to a client, and the method comprises:
[0007] receiving a processing request, wherein the processing request is used to indicate a storage operation or a retrieval operation on to-be-processed data;
[0008] serializing the processing request according to a preset remote storage protocol, to obtain a serialized processing request, the serialized storage request including object storage semantics of the to-be-processed data; wherein the preset remote storage protocol is used to represent that the request for remote storage includes object storage semantics; the object storage semantics include a field representing a location where the to-be-processed data is stored;
[0009] sending the serialized processing request to a server; wherein the serialized processing request is used to instruct to obtain location information of the to-be-processed data after analyzing the object storage semantics of the to-be-processed data, and the location information of the to-be-processed data is used to execute an operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data, to obtain a processing result; wherein the location information of the to-be-processed data represents a physical address where the to-be-processed data is stored; and the processing result represents whether the processing of the to-be-processed data is completed;
[0010] receiving the processing result fed back by the server, and outputting the processing result.
[0011] In a second aspect, the present application provides a data processing method based on a remote storage protocol, applied to a server, and the method comprises:
[0012] receiving a serialized processing request sent by a client; wherein the serialized processing request is obtained by serializing a processing request according to a preset remote storage protocol; wherein the processing request is used to instruct to perform a storage operation or a retrieval operation on to-be-processed data, and the serialized storage request includes object storage semantics of the to-be-processed data; wherein the preset remote storage protocol is used to represent that the request for remote storage includes object storage semantics; and the object storage semantics include a field representing a location where the to-be-processed data is stored;
[0013] analyzing the serialized processing request, to obtain location information of the to-be-processed data; wherein the location information of the to-be-processed data represents a physical address where the to-be-processed data is stored;
[0014] executing an operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data, to obtain a processing result; wherein the processing result represents whether the processing of the to-be-processed data is completed;
[0015] sending the processing result to the client.
[0016] In a third aspect, the present application provides a data processing device based on a remote storage protocol, applied to a client, and the device comprises:
[0017] The first receiving module is configured to receive a processing request, wherein the processing request is used to indicate a storage operation or a retrieval operation on to-be-processed data.
[0018] The serialization processing module is configured to perform serialization processing on the processing request according to a preset remote storage protocol to obtain a serialized processing request, wherein the serialized storage request comprises object storage semantics of the to-be-processed data.
[0019] The first sending module is configured to send the serialized processing request to a server, wherein the serialized processing request is used to indicate position information of the to-be-processed data obtained after the object storage semantics of the to-be-processed data is parsed, and the position information of the to-be-processed data is used to execute an operation corresponding to the processing request on the to-be-processed data based on the position information of the to-be-processed data to obtain a processing result, wherein the position information of the to-be-processed data represents a physical address where the to-be-processed data is stored, and the processing result represents whether the to-be-processed data is processed.
[0020] The processing result output module is configured to receive the processing result fed back by the server and output the processing result.
[0021] In a fourth aspect, the present application provides a data processing device based on a remote storage protocol, which is applied to a server and comprises:
[0022] The second receiving module is configured to receive the serialized processing request sent by the client, wherein the serialized processing request is obtained by performing serialization processing on a processing request according to a preset remote storage protocol, and the processing request is used to indicate a storage operation or a retrieval operation on to-be-processed data, and the serialized storage request comprises object storage semantics of the to-be-processed data.
[0023] The analysis module is configured to analyze the serialized processing request to obtain position information of the to-be-processed data, wherein the position information of the to-be-processed data represents a physical address where the to-be-processed data is stored.
[0024] The processing module is configured to execute an operation corresponding to the processing request on the to-be-processed data based on the position information of the to-be-processed data to obtain a processing result, wherein the processing result represents whether the to-be-processed data is processed.
[0025] A second sending module is configured to send the processing result to the client.
[0026] In a fifth aspect, the present application provides an electronic device, comprising: a processor, and a memory connected with the processor; the memory stores computer-executed instructions; and the processor executes the computer-executed instructions stored in the memory to implement the method in the first aspect.
[0027] In a sixth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executed instructions, and the computer-executed instructions are executed by a processor to implement the data processing method in the first aspect.
[0028] In a seventh aspect, the present application provides a computer program product, comprising a computer program, and the computer program is executed by a processor to implement the method in the first aspect.
[0029] The data processing method based on a remote storage protocol provided by the present application receives a processing request through a client, wherein the processing request is used to indicate a storage operation or a retrieval operation on to-be-processed data; the processing request is serialized according to a preset remote storage protocol to obtain a serialized processing request, and the serialized storage request comprises object storage semantics of the to-be-processed data. The preset remote storage protocol is used to represent that the request of remote storage comprises the object storage semantics; and the object storage semantics comprises a field representing a storage location of the to-be-processed data. Then, the serialized processing request is sent to a server; wherein the serialized processing request is used to indicate that the object storage semantics of the to-be-processed data is parsed to obtain location information of the to-be-processed data, the location information of the to-be-processed data is used to execute an operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data to obtain a processing result; wherein the location information of the to-be-processed data represents a physical address of the to-be-processed data; the processing result represents whether the processing of the to-be-processed data is completed; the processing result fed back by the server is received, and the processing result is output. That is, the method extends the remote storage protocol in advance, so that the remote storage protocol has the semantics of object storage. Since the semantics comprises the field representing the storage location of the to-be-processed data, the object semantics of the upper layer application is transmitted to the data transmission protocol layer while ensuring the correctness of data access. In the transmission process, the data object can be called only through the field representing the storage location of the to-be-processed data, without copying the data, thereby reducing the additional overhead caused by data copying, and improving the data access efficiency. BRIEF DESCRIPTION OF DRAWINGS
[0030] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments consistent with the present application and, together with the description, further serve to explain the principles of the application.
[0031] Figure 1 is a schematic diagram of an application scenario of a data processing method based on a remote storage protocol according to an example embodiment;
[0032] Figure 2 is a method flowchart of a data processing method based on a remote storage protocol according to an example embodiment;
[0033] Figure 3 is a method flowchart of a data processing method based on a remote storage protocol according to another example embodiment;
[0034] Figure 4 is a flowchart of forwarding a processing request by a resident polling forwarding process according to an example embodiment; Figure 3
[0035] Figure 5 is a schematic diagram of a transmission path of a processing request according to an example embodiment; Figure 3
[0036] Figure 6 is a method flowchart of a data processing method based on a remote storage protocol according to yet another example embodiment;
[0037] Figure 7 is a method flowchart of a data processing method based on a remote storage protocol according to still another example embodiment;
[0038] Figure 8 is a method flowchart of a data processing method based on a remote storage protocol according to yet another example embodiment;
[0039] Figure 9 is a block diagram of a data processing apparatus based on a remote storage protocol according to an example embodiment;
[0040] Figure 10 is a block diagram of a data processing apparatus based on a remote storage protocol according to another example embodiment;
[0041] Figure 11 is a structural schematic diagram of an electronic device according to an example embodiment.
[0042] The specific embodiments of the present application have been shown through the above-described drawings, and will be described in more detail hereinafter. These drawings and textual descriptions are not intended to limit the scope of the concept of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0043] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The following description is made with reference to the accompanying drawings in which like reference numerals refer to like elements, unless the context of use indicates otherwise. The following description of exemplary embodiments is not representative of all embodiments consistent with the present application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the present application as detailed in the appended claims.
[0044] Firstly, the terms involved in the present application are explained:
[0045] Serialization: refers to the process of converting the state information of an object into a form that can be stored or transmitted.
[0046] Object storage: also known as object-based storage, is a general term used to describe a method for solving and processing discrete units, which are referred to as objects.
[0047] The data processing method based on a remote storage protocol provided by the present application aims to solve the above technical problems of the prior art.
[0048] The technical solutions of the present application and how the technical solutions of the present application solve the above technical problems will be described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of the present application will be described below with reference to the accompanying drawings.
[0049] Exemplarily, the specific application scenario of the present application can be a data transmission system as shown in Figure 1 The data transmission system can include a server and a client, wherein the server and the client are in communication connection. Optionally, the server can include but is not limited to a server, a computer, etc. Optionally, the client can include but is not limited to a personal computer, a mobile terminal, a vehicle-mounted terminal, a smart wearable device, etc. Optionally, the number of the server and the client can be one or more, which is not limited herein.
[0050] Figure 2 A data processing method based on a remote storage protocol according to an exemplary embodiment is shown, which can be applied to a client in Figure 1 , as shown in Figure 2 The data processing method based on a remote storage protocol can include:
[0051] 110, receiving a processing request, wherein the processing request is used to indicate a storage operation or a retrieval operation on the to-be-processed data.
[0052] In some embodiments, the client can receive a processing request input by a user, for example, the user can make a series of operations on the client for uploading the to-be-processed data in the client to the server for storage, and the client can generate a corresponding processing request according to the series of operations made by the user. Optionally, the series of operations can include an operation of selecting to-be-processed data, an operation of selecting to store the to-be-processed data, and the like. The processing request can be an object-based access request.
[0053] 120. serializing the processing request according to a preset remote storage protocol to obtain a serialized processing request, the serialized storage request including object storage semantics of the to-be-processed data; wherein the preset remote storage protocol is used to represent that the request for remote storage includes object storage semantics; and the object storage semantics includes a field representing a storage location of the to-be-processed data.
[0054] In some embodiments, the client can serialize the processing request to a preset remote storage protocol, that is, serialize the processing request according to the provisions of the preset remote storage protocol to obtain a serialized processing request. For example, the preset remote storage protocol extends a third field on the basis of originally only providing that the processing request needs to have a first field and a second field, and the third field needs to include object storage semantics of the to-be-processed data. When the client serializes the processing request according to the preset remote storage protocol, the serialized processing request also includes the third field, which is a field representing a storage location of the to-be-processed data. Optionally, the first field or the second field can be used to specify the format of the processing request (i.e., the access command).
[0055] 130. sending the serialized processing request to the server; wherein the serialized processing request is used to indicate the location information of the to-be-processed data obtained by parsing the object storage semantics of the to-be-processed data, and the location information of the to-be-processed data is used to execute an operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data to obtain a processing result; wherein the location information of the to-be-processed data represents a physical address of the to-be-processed data; and the processing result represents whether the processing of the to-be-processed data is completed.
[0056] With the above example, the client can send the serialized processing request to the server, and the server can parse the object storage semantics of the to-be-processed data in the serialized processing request after receiving the serialized processing request, so as to obtain the location information, and then the location information extracts the to-be-processed data from the location where the to-be-processed data is stored, and then the extracted to-be-processed data is stored in the specified location of the server. When the server detects that the to-be-processed data is stored in the server, the server can generate a processing result representing that the to-be-processed data has been processed, and then feed back the processing result to the client.
[0057] 140, receiving the processing result fed back by the server and outputting the processing result.
[0058] With the above example, the client can output the processing result after receiving the processing result, to remind the user that the processing of the to-be-processed data has been completed. Optionally, the way of outputting the processing result by the client can include outputting through the display device thereof and / or outputting through the audio playing device thereof.
[0059] It can be seen that in the embodiment, the client receives a processing request, wherein the processing request is used to instruct to perform a storage operation or a taking-out operation on to-be-processed data; the processing request is serialized according to a preset remote storage protocol to obtain a serialized processing request, and the serialized storage request includes object storage semantics of the to-be-processed data. The preset remote storage protocol is used to represent that the request for remote storage includes the object storage semantics; the object storage semantics includes a field representing a location where the to-be-processed data is stored. Then, the serialized processing request is sent to the server; wherein the serialized processing request is used to instruct to obtain location information of the to-be-processed data after parsing the object storage semantics of the to-be-processed data, and the location information of the to-be-processed data is used to execute the operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data, to obtain a processing result; wherein the location information of the to-be-processed data represents a physical address where the to-be-processed data is stored; the processing result represents whether the processing of the to-be-processed data is completed; and the processing result fed back by the server is received and outputted. That is, the method extends the remote storage protocol in advance, so that the remote storage protocol has the semantics of object storage. Since the semantics includes a field representing the location where the to-be-processed data is stored, the object semantics of the upper layer application is transmitted to the data transmission protocol layer while ensuring the correctness of data access. In the transmission process, only the data object stored in the location where the to-be-processed data is stored needs to be called, without copying the data, thereby reducing the additional overhead caused by data copying, and improving the data storage efficiency.
[0060] Figure 3This is a data processing method based on a remote storage protocol, as illustrated in another exemplary embodiment. This data processing method based on a remote storage protocol can be applied to... Figure 1 Clients in, such as Figure 3 As shown, the data processing method based on the remote storage protocol may include:
[0061] 210. A persistent polling forwarding process is used to receive processing requests for data to be processed. This persistent polling forwarding process receives the processing requests via polling. The processing requests instruct the processing process to perform either a storage or retrieval operation on the data to be processed.
[0062] For example, there can be multiple clients, each acting as a node in the communication network. Each client node has a resident polling forwarding process, which communicates with the application process within the client via shared memory. The application process can then issue processing requests for data to be processed. In practical applications, the application process's data object requests (i.e., the aforementioned processing requests) are sent to the server by the resident polling forwarding process.
[0063] In this embodiment, a persistent polling forwarding process receives the processing request for the data to be processed and forwards the processing request to the client. This reduces the latency of data object requests and improves application performance through polling. The number of persistent polling forwarding processes is smaller than that of application processes, which reduces the network connection to the server. At the same time, by forwarding requests, the additional overhead caused by the application process's central processing unit (CPU) polling data requests is avoided.
[0064] In some implementations, step 210 may include the following specific implementations:
[0065] 211. Receive processing requests from user processes and store the processing requests in a designated send queue in shared memory. The shared memory is shared by the user process and the resident polling forwarding process.
[0066] 212. Poll the various sending queues in shared memory through a resident polling forwarding process.
[0067] 213. If the specified sending queue is polled, the processing request is retrieved from the specified sending queue.
[0068] For example, such as Figure 4 As shown, the client can have one or more persistent polling forwarding processes (e.g., Figure 4The resident polling forwarding process is used to receive and forward the data access request of the user process, i.e., the processing request. The user process and the resident polling forwarding process communicate through a communication queue of the cross-process shared memory, i.e., the shared memory. Each user process has its own exclusive set of sending queues and receiving queues. The user process establishes communication with the forwarding process by initializing the queues when the user process is started. Alternatively, the specified sending queue can be any sending queue in the shared memory.
[0069] When the execution flow of a data access request starts from a user process, the user process calls an object storage interface to obtain a processing request and stores the processing request in a sending queue. Then, the resident polling forwarding process polls each sending queue. When a new processing request is found in a sending queue, the new processing request is pulled out for further processing. For example, the user process includes a user process 1. The user process 1 communicates with the forwarding process 0 through the cross-process shared memory. The polling device in the forwarding process 0 can poll the sending queue corresponding to the user process 1. When a new processing request is found in a sending queue, the new processing request is extracted and forwarded as an object storage command. Similarly, other user processes (e.g., a user process n) in the client can also receive and forward the processing request in the above manner. The forwarding process can also include a receiving queue, which is opposite to the sending queue. The receiving queue is used when the client needs to perform a taking-out operation on the to-be-processed data. The taking-out operation is the reverse process of the storing operation, and thus is not described herein.
[0070] In some embodiments, the shared memory includes a specified memory. The memory address of the specified memory is the memory address of the to-be-processed data.
[0071] For example, the original shared memory only includes the memory A. When the user process sends the processing request of the to-be-processed data to the shared memory, the to-be-processed data needs to be copied into the memory A. The memory allocator of the application is intercepted to allocate a specified memory in the shared memory, so that the shared memory includes the memory A1 and the specified memory B. Since the memory address of the specified memory B is the memory address of the to-be-processed data, the shared memory can directly receive the processing request of the to-be-processed data through the specified memory B without copying the to-be-processed data into the shared memory. Thus, one data copy is reduced in the processing request transmission process, and the CPU overhead is saved. As a more specific example, as shown in FIG. 2, the shared memory includes the memory A1 and the memory B. The memory address of the memory B is the memory address of the to-be-processed data. Thus, the shared memory can directly receive the processing request of the to-be-processed data through the memory B without copying the to-be-processed data into the shared memory.Figure 5 As shown, Figure 5 A processing request transmission path schematic diagram is shown, which includes a transmission path intercepting memory allocation (such as path 1 in Figure 5 ) and a transmission path without intercepting memory allocation (such as path 2 in Figure 5 ), according to Figure 5 It can be known that the processing request can be directly transmitted from the user process to the forwarding process through path 1, and in path 2, the to-be-processed data needs to be copied once and then enter the forwarding process. Therefore, the embodiment allocates specified memory in the shared memory, thereby optimizing the data transmission path, specifically reducing data copying on the critical path of data request execution, so as to reduce CPU overhead, thereby reducing the delay of request execution and improving system throughput.
[0072] 220, serializing the processing request according to a preset remote storage protocol to obtain a serialized processing request, the serialized storage request including object storage semantics of the to-be-processed data; wherein the preset remote storage protocol is used to represent that the request for remote storage includes object storage semantics; the object storage semantics include a field representing a position where the to-be-processed data is stored.
[0073] In some embodiments, the specific implementation of step 220 can include:
[0074] 221, obtaining position information, size information of the to-be-processed data, and a unique object identifier corresponding to the to-be-processed data.
[0075] 222, filling the position information, size information, and the unique object identifier corresponding to the to-be-processed data into a specified field of the processing request to obtain the serialized processing request; wherein the specified field is determined based on the preset remote storage protocol.
[0076] Following the above example, for example, when the forwarding process pulls a new processing request, the type of the processing request can be distinguished according to the type field of the processing request (such as a storage request or a retrieval request), and the unique object identifier corresponding to the to-be-processed data (hereinafter also referred to as the unique object identifier of object storage) and the position information and size information are filled into the specified field of the remote storage protocol request, which is used for the server to extract the object storage semantics.
[0077] In some embodiments, before step 220, the method can further include:
[0078] determining the byte length of the to-be-processed data; if the byte length is less than or equal to a length threshold, adding the to-be-processed data to the processing request.
[0079] Exemplarily, the client can obtain data object information of the to-be-processed data, which can include location information and byte length of the to-be-processed data. For to-be-processed data with a byte length less than a length threshold, the to-be-processed data can be directly added in the processing request and sent together through the processing request.
[0080] In some embodiments, the preset remote storage protocol supports access in a block granularity. Specifically, the protocol specifies the format of an access command, describes the size and location of to-be-processed data, and supports access in a block granularity.
[0081] 230. sending the serialized processing request to the server. The serialized processing request is used to indicate the location information of the to-be-processed data obtained after parsing the object storage semantics of the to-be-processed data, and the location information of the to-be-processed data is used to execute the operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data, to obtain a processing result. The location information of the to-be-processed data represents a physical address where the to-be-processed data is stored, and the processing result represents whether the processing of the to-be-processed data is completed.
[0082] In some embodiments, the client includes a first network card, and the specific implementation of step 230 can include:
[0083] sending the serialized processing request to the server through the first network card. The shared memory is a memory accessible to the first network card.
[0084] In the above example, please refer to Figure 4 , in Figure 4 , the network card on the client side can be determined as the first network card, and the forwarding process can poll the processing request and extract the processing request. After that, the unique object identifier and the location information and the size information of the object storage can be filled into the specified field of the remote storage protocol request, which is used for the server to extract the object storage semantics to obtain the serialized processing request (hereinafter also referred to as the remote storage protocol request). Then the forwarding process encapsulates the remote storage protocol request and sends it to the server through the first network card. In Figure 4 , the network card on the server side can be used as the second network card, the first network card and the second network card can communicate, and the second network card can receive the serialized processing request sent by the first network card. The resident process of the server can poll the second network card through the poller, and when it is found that the second network card has received the serialized processing request, it can extract the unique object identifier, the location information and the size information from the specified field of the remote storage protocol request, determine the storage index of the to-be-processed data according to the unique object identifier, the location information and the size information, and obtain the physical address of the access data object on the non-volatile medium through the local storage index of the to-be-processed data. Then, the to-be-processed data is accessed through the local storage protocol and the physical address.
[0085] In some embodiments, the shared memory is set as a memory accessible by the first network card, so that the copying of the data object between the shared memory and the network stack buffer can be eliminated.
[0086] That is, in the whole process of processing request forwarding, two data copying operations of the to-be-processed data can be reduced. For example, the first data copying reduction process is that the user process needs to send the data object to the resident polling forwarding process through the inter-process shared queue, which requires one memory copying, i.e., copying the data object from the user process to the shared queue. In an embodiment, by intercepting the memory allocator of the user process, the memory address of the data object of the user is directly allocated in the shared memory, so that when the data object needs to be sent to the resident polling forwarding process, no memory copying is required, but a reference is passed, so that the resident polling forwarding process can obtain the data object through the reference, thereby reducing one data copying.
[0087] The second data copying reduction process is that when the resident polling forwarding process needs to send the data object to the server, the data object needs to be copied to the data buffer of the network stack for sending, which requires one memory copying, i.e., copying from the data object buffer of the resident process to the data buffer of the network stack. In an embodiment, by registering the data object buffer of the resident process in the data buffer of the network stack in advance, the memory copying is eliminated, i.e., when the resident process is initialized and started, a block of address space is allocated in the data buffer of the network stack, which is used for receiving and sending network requests and storing the data object of the user process. Thus, when the data object needs to be sent across the network, the data object itself does not need to be copied to the data buffer of the network stack, thereby eliminating one memory copying.
[0088] In some embodiments, in the process of accessing the to-be-processed data, it can be required that the obtained object content and the stored object content are consistent for the same object unique identifier.
[0089] In some embodiments, for the storage operation of the to-be-processed data, it can be required that the to-be-processed data is not lost after power failure, and the subsequent data reading operation can read the latest correct object content. Alternatively, the above requirement can be achieved by persisting all modification operations on the data object to the persistent medium according to the order of the operations.
[0090] In some embodiments, the access execution flow of the to-be-processed data can be implemented in a hardware device such as hardware or firmware, so that the processing request of the to-be-processed data can be more efficiently executed through the solidified hardware logic.
[0091] 240, receiving the processing result fed back by the server and outputting the processing result.
[0092] The specific implementation of step 240 can refer to step 140, and thus is not described herein.
[0093] In summary, in the data processing method based on the remote storage protocol in the embodiment, the semantics of object storage is combined into the underlying protocol of remote data transmission, so that the object storage process does not need to cross a complex and redundant software stack, and the overhead of unnecessary software levels is reduced. Specifically, the existing object storage system needs to convert the complex semantics of object storage into a specific object data storage location, and then use the underlying protocol for data read and write access. The method achieves the purpose of simplifying the software stack by supplementing and enhancing the semantics of the existing underlying protocol. The method uses widely used and mature remote data transmission protocols, adds object storage semantics to them, and can use the existing protocol stack that has been tested through engineering practice for a long time, greatly improving the reliability and robustness of the method. The method manages the life cycle of the data buffer, allowing zero-copy between the network stack and the storage stack, which not only saves valuable CPU resources, but also reduces request latency, thereby improving data access efficiency.
[0094] Figure 6 A data processing method based on a remote storage protocol is shown according to another exemplary embodiment. The data processing method based on the remote storage protocol can be applied to a server in Figure 1 , as shown in Figure 6 , the data processing method based on the remote storage protocol can include:
[0095] 310, receiving a serialized processing request sent by a client; wherein the serialized processing request is obtained by serializing a processing request according to a preset remote storage protocol; wherein the processing request is used to indicate a storage operation or a retrieval operation on to-be-processed data, and the serialized storage request includes object storage semantics of the to-be-processed data; wherein the preset remote storage protocol is used to represent that the object storage semantics is included in the request for remote storage; and the object storage semantics includes a field representing a location where the to-be-processed data is stored.
[0096] 320, parsing the serialized processing request to obtain location information of the to-be-processed data; wherein the location information of the to-be-processed data represents a physical address where the to-be-processed data is stored.
[0097] Exemplarily, after the server receives the serialized processing request, the server can parse a specified field in the serialized processing request according to the preset remote storage protocol to obtain the location information of the to-be-processed data, wherein the location information of the to-be-processed data represents a physical address where the to-be-processed data is stored.
[0098] 330, performing an operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data to obtain a processing result, wherein the processing result indicates whether the processing of the to-be-processed data is completed.
[0099] In the above example, the server can call the to-be-processed data by using the obtained physical address, and perform a storing operation or a taking-out operation on the to-be-processed data.
[0100] 340, sending the processing result to the client.
[0101] The processing result is used to instruct the client to output the processing result.
[0102] Figure 7 According to another example embodiment, a data processing method based on a remote storage protocol is shown, which can be applied to a server in Figure 1 , as shown in Figure 7 , the data processing method based on the remote storage protocol can include:
[0103] 410, receiving a serialized processing request sent by a client, wherein the serialized processing request is obtained by serializing the processing request according to a preset remote storage protocol. The processing request is used to instruct a storing operation or a taking-out operation on to-be-processed data, and the serialized storage request includes object storage semantics of the to-be-processed data. The preset remote storage protocol is used to indicate that the object storage semantics is included in the request for remote storage. The object storage semantics includes a field indicating a location where the to-be-processed data is stored.
[0104] In some embodiments, the server includes a second network card, and the specific implementation of step 410 can include: polling the second network card through a poller; and if the serialized processing request is found in the second network card, extracting the serialized processing request from the second network card.
[0105] 420, extracting location information, size information of the to-be-processed data, and a unique object identifier corresponding to the to-be-processed data from a specified field of the serialized processing request, wherein the specified field is determined based on the preset remote storage protocol.
[0106] 430, determining an object storage index of the to-be-processed data according to the location information, the size information, and the unique object identifier corresponding to the to-be-processed data.
[0107] 440, obtaining a physical address of the to-be-processed data on the non-volatile medium according to the object storage index, and determining the physical address as the location information of the to-be-processed data.
[0108] Please refer to Figure 4 , Figure 4The network card on the server side can be a second network card, the first network card and the second network card can communicate, and the second network card can receive the serialized processing request sent by the first network card. The resident process of the server will poll the second network card through the poller, and when it finds that the second network card has received the serialized processing request, it will extract the unique object identifier, location information and size information according to the specified fields of the serialized processing request, determine the storage index of the to-be-processed data according to the unique object identifier, location information and size information, and obtain the physical address of the to-be-processed data on the non-volatile medium through the local storage index of the to-be-processed data. Subsequently, the local storage protocol and the physical address are used to access the to-be-processed data.
[0109] 450. Perform an operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data to obtain a processing result; wherein the processing result represents whether the processing of the to-be-processed data is completed.
[0110] 460. Send the processing result to the client.
[0111] In some embodiments, the implementation of step 460 can include:
[0112] Serializing the processing result through the preset remote storage protocol to obtain a serialized processing result; and sending the serialized processing result to the client.
[0113] For example, the preset remote storage protocol also stipulates that the processing result needs to include a fourth field, which can represent whether the processing of the to-be-processed data is completed. By serializing the processing result through the preset remote storage protocol, the serialized processing result obtained includes the fourth field, and when the client receives the serialized processing result, it can parse the fourth field to determine whether the processing of the to-be-processed data is completed. The specific process of serializing the processing result through the preset remote storage protocol can refer to the process of serializing the processing request through the preset remote storage protocol in the above-mentioned embodiments, and will not be repeated here.
[0114] Figure 8 According to another exemplary embodiment, a data processing method based on a remote storage protocol is shown. The method can be applied to Figure 1 As shown in the data transmission system shown in Figure 8 The method can include:
[0115] 510. The client receives a processing request.
[0116] 520. The client serializes the processing request according to a preset remote storage protocol to obtain a serialized processing request. The serialized storage request includes object storage semantics of the data to be processed. The preset remote storage protocol is used to characterize that the remote storage request includes object storage semantics; the object storage semantics include fields characterizing the location where the data to be processed is stored.
[0117] 530. The client sends the serialized processing request to the server. The serialized processing request indicates the location information of the data to be processed, obtained after parsing the object storage semantics of the data to be processed. This location information is used to execute the operation corresponding to the processing request based on the location information of the data to be processed, in order to obtain the processing result. The location information of the data to be processed represents the physical address where the data to be processed is stored; the processing result represents whether the processing of the data to be processed is complete.
[0118] 540. The server receives the serialized processing request sent by the client.
[0119] 550. The server parses the serialized processing request to obtain the location information of the data to be processed; where the location information of the data to be processed represents the physical address where the data to be processed is stored.
[0120] 560. The server executes the operation corresponding to the processing request based on the location information of the data to be processed, so as to obtain the processing result; whereby the processing result indicates whether the processing of the data to be processed is completed.
[0121] Using the example above, the server can use the physical address obtained above to call the data to be processed and perform storage or retrieval operations on the data to be processed.
[0122] 570. The server sends the processing result to the client.
[0123] 580. The client receives the processing result from the server and outputs the processing result.
[0124] The specific implementation methods and beneficial effects of steps 510 to 580 can be found in the data processing method based on the remote storage protocol in the above embodiments, and therefore will not be repeated here.
[0125] Figure 9 This is a data processing apparatus based on a remote storage protocol, as illustrated in an exemplary embodiment, applied to... Figure 1 Clients in, such as Figure 9 As shown, the device 600 may include:
[0126] The first receiving module 610 is configured to receive a processing request, where the processing request is used to indicate a storage operation or a retrieval operation on the to-be-processed data.
[0127] The serialization processing module 620 is configured to perform serialization processing on the processing request according to a preset remote storage protocol to obtain a serialized processing request, where the serialized storage request includes object storage semantics of the to-be-processed data.
[0128] The first sending module 630 is configured to send the serialized processing request to the server, where the serialized processing request is used to indicate location information of the to-be-processed data obtained after the object storage semantics of the to-be-processed data is parsed, and the location information of the to-be-processed data is used to perform an operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data to obtain a processing result, where the location information of the to-be-processed data represents a physical address where the to-be-processed data is stored, and the processing result represents whether the to-be-processed data is processed.
[0129] The processing result output module 640 is configured to receive the processing result fed back by the server and output the processing result.
[0130] In some embodiments, the serialization processing module 620 is specifically configured to obtain location information, size information and a unique object identifier corresponding to the to-be-processed data, fill the location information, the size information and the unique object identifier corresponding to the to-be-processed data into a specified field of the processing request to obtain the serialized processing request, and determine the specified field based on the preset remote storage protocol.
[0131] In some embodiments, the first receiving module 610 is specifically configured to receive the processing request of the to-be-processed data through a resident polling forwarding process, where the resident polling forwarding process is used to receive the processing request through a polling forwarding manner.
[0132] In some embodiments, the first receiving module 610 is specifically further configured to receive the processing request issued by a user process and store the processing request in a specified sending queue of a shared memory, where the shared memory is a shared memory of the user process and the resident polling forwarding process, each sending queue in the shared memory is polled by the resident polling forwarding process, and if the specified sending queue is polled, the processing request is extracted from the specified sending queue.
[0133] In some embodiments, the client includes a first network card, and the first sending module 630 is specifically configured to send the serialized processing request to the server through the first network card, where the shared memory is a memory that can be accessed by the first network card.
[0134] In some embodiments, the shared memory comprises a designated memory, and a memory address of the designated memory is a memory address of the to-be-processed data.
[0135] In some embodiments, the apparatus 600 further comprises:
[0136] an adding module, configured to determine a byte length of the to-be-processed data; and add the to-be-processed data into the processing request if the byte length is less than or equal to the length threshold.
[0137] In some embodiments, the preset remote storage protocol supports access in a block granularity.
[0138] Figure 10 Fig. 7 is a schematic diagram of a data processing apparatus based on a remote storage protocol according to an exemplary embodiment. The apparatus 700 can be applied to a server in Figure 1 , as shown in Fig. 7, the apparatus 700 can comprise: Figure 10
[0139] a second receiving module 710, configured to receive a serialized processing request sent by a client; wherein the serialized processing request is obtained by serializing the processing request according to a preset remote storage protocol; wherein the processing request is used to indicate a storing operation or a taking-out operation on to-be-processed data, and the serialized storage request comprises object storage semantics of the to-be-processed data; wherein the preset remote storage protocol is used to represent that the request for remote storage comprises the object storage semantics; and the object storage semantics comprises a field representing a location where the to-be-processed data is stored.
[0140] a parsing module 720, configured to parse the serialized processing request to obtain location information of the to-be-processed data; wherein the location information of the to-be-processed data represents a physical address where the to-be-processed data is stored.
[0141] a processing module 730, configured to execute an operation corresponding to the processing request on the to-be-processed data based on the location information of the to-be-processed data, to obtain a processing result; wherein the processing result represents whether the processing on the to-be-processed data is completed.
[0142] a second sending module 740, configured to send the processing result to the client.
[0143] In some embodiments, the server comprises a second network card, and the second receiving module 710 is specifically configured to poll the second network card through a poller; and if the serialized processing request is found in the second network card, the serialized processing request is extracted from the second network card.
[0144] In some embodiments, the parsing module 720 is specifically configured to extract the location information, the size information and the unique object identifier corresponding to the to-be-processed data from a specified field of the serialized processing request; the specified field is determined based on a preset remote storage protocol; the object storage index of the to-be-processed data is determined according to the location information, the size information and the unique object identifier corresponding to the to-be-processed data; the physical address of the to-be-processed data on the non-volatile medium is obtained according to the object storage index, and the physical address is determined as the location information of the to-be-processed data.
[0145] In some embodiments, the second sending module 740 is specifically configured to serialize the processing result by using a preset remote storage protocol to obtain a serialized processing result, and send the serialized processing result to the client.
[0146] Figure 11 is a structural schematic diagram of an electronic device according to an exemplary embodiment. The electronic device can be a computer, a mobile terminal, a smart wearable device, a server, etc. The electronic device can be equivalent to the client in the above embodiments, and the electronic device can also be equivalent to the server in the above embodiments.
[0147] The electronic device 800 can include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.
[0148] The processing component 802 usually controls the overall operation of the electronic device 800, such as operations associated with displaying, making phone calls, data communications, camera operations and recording operations. The processing component 802 can include one or more processors 820 to execute instructions to complete all or part of the steps of the methods described above. In addition, the processing component 802 can include one or more modules to facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.
[0149] The memory 804 is configured to store various types of data to support the operation of the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phonebook data, messages, pictures, videos, etc. The memory 804 can be implemented by any type of volatile or nonvolatile memory, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disc, or optical disc.
[0150] The power supply component 806 supplies power for various components of the electronic device 800. The power supply component 806 can include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 800.
[0151] The multimedia component 808 includes a screen providing an output interface between the electronic device 800 and a user. In some embodiments, the screen can include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense a touch, a slide, and a gesture on the touch panel. The touch sensor can not only sense a boundary of a touching or a sliding action, but also detect duration and pressure related to the touching or sliding action. In some embodiments, the multimedia component 808 includes a front camera and / or a back camera. The front camera and / or the back camera can receive external multimedia data when the electronic device 800 is in an operation mode, such as a photographing mode or a video mode. Each of the front camera and the back camera can be a fixed optical lens system or have a focal length and optical zoom capability.
[0152] The audio component 810 is configured to output and / or input an audio signal. For example, the audio component 810 includes a microphone (MIC) configured to receive an external audio signal when the electronic device 800 is in an operation mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal can be further stored in the memory 804 or transmitted via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting an audio signal.
[0153] The I / O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which can be a keypad, a click wheel, buttons, etc. The buttons can include, but are not limited to, a home button, a volume button, a start button, and a lock button.
[0154] The sensor component 814 includes one or more sensors for providing status assessments for various aspects of the electronic device 800. For example, the sensor component 814 can detect an open / closed position of the electronic device 800, relative positioning of components, such as a display and a keypad of the electronic device 800, a change in position of the electronic device 800 or a component of the electronic device 800, presence or absence of user contact with the electronic device 800, orientation or acceleration / deceleration / g-force and temperature of the electronic device 800. The sensor component 814 can include an optical sensor for detecting ambient light, a proximity sensor configured to detect proximity of an object, a motion sensor, a temperature sensor, a magnetic sensor, an acceleration sensor, a gyroscope sensor, or a pressure sensor.
[0155] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a corresponding communication standard, such as WiFi, 2G, or 3G, or a combination thereof. In an example embodiment, the communication component 816 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In an example embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on Radio Frequency Identification (RFID) techniques, Infrared Data Association (IrDA) techniques, Ultra-WideBand (UWB) techniques, Bluetooth (BT) techniques, and other techniques.
[0156] In an example embodiment, the electronic device 800 can be implemented using one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors, or other electronic elements, to perform the above-described methods.
[0157] In an example embodiment, a non-transitory computer-readable storage medium including instructions, such as the memory 804 including instructions, is also provided, which can be executed by the processor 820 of the electronic device 800 to perform the above-described methods. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disc, and an optical data storage device, etc.
[0158] In an exemplary embodiment, a non-transitory computer readable storage medium is also provided, which, when instructions in the storage medium are executed by a processor of a terminal device, enables the terminal device to perform the data processing method based on the remote storage protocol of the electronic device described above.
[0159] In an exemplary embodiment, a computer program product is also provided, which comprises a computer program that, when executed by a processor, performs the data processing method based on the remote storage protocol in the above-described embodiments.
[0160] Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the application being indicated by the following claims.
[0161] It will be understood that the application is not limited to the precise structures herein described and illustrated in the drawings, and that various modifications and changes can be made without departing from its scope. The scope of the application is indicated by the appended claims, rather than by the specification.
Claims
1. A data processing method based on a remote storage protocol, characterized in that, Applied to a client, the method includes: Receive a processing request, wherein the processing request is used to instruct the data to be processed to be stored or retrieved. The processing request is serialized according to a preset remote storage protocol to obtain a serialized processing request. The serialized processing request includes the object storage semantics of the data to be processed. The preset remote storage protocol is used to characterize that the request for remote storage includes object storage semantics. The object storage semantics includes a field characterizing the location where the data to be processed is stored. The serialized processing request is sent to the server; wherein, the serialized processing request is used to instruct the location information of the data to be processed obtained after parsing the object storage semantics of the data to be processed, and the location information of the data to be processed is used to perform the operation corresponding to the processing request on the data to be processed based on the location information of the data to be processed, so as to obtain the processing result; wherein, the location information of the data to be processed represents the physical address where the data to be processed is stored; the processing result represents whether the processing of the data to be processed is completed; Receive the processing result fed back by the server and output the processing result.
2. The method according to claim 1, characterized in that, The step of serializing the processing request according to a preset remote storage protocol to obtain a serialized processing request includes: Obtain the location information, size information, and unique object identifier corresponding to the data to be processed; The location information, the size information, and the unique object identifier corresponding to the data to be processed are filled into the specified field of the processing request to obtain the serialized processing request; wherein, the specified field is determined based on the preset remote storage protocol.
3. The method according to claim 1, characterized in that, The receiving and processing request includes: The resident polling forwarding process receives processing requests for data to be processed, wherein the resident polling forwarding process is used to receive the processing requests in a polling forwarding manner.
4. The method according to claim 3, characterized in that, The process of receiving processing requests for data to be processed through a resident polling forwarding process includes: The system receives processing requests from user processes and stores the processing requests in a designated send queue in shared memory; wherein the shared memory is the shared memory of the user process and the resident polling forwarding process. The resident polling forwarding process polls each sending queue in the shared memory. If the specified sending queue is polled, the processing request is extracted from the specified sending queue.
5. The method according to claim 4, characterized in that, The client includes a first network interface card (NIC), and sending the serialized processing request to the server includes: The serialized processing request is sent to the server via the first network interface card (NIC); wherein, the shared memory is the memory that the first NIC can access.
6. The method according to claim 4, characterized in that, The shared memory includes a designated memory, the memory address of which is the memory address of the data to be processed.
7. The method according to any one of claims 1 to 6, characterized in that, Before serializing the processing request according to a preset remote storage protocol to obtain the serialized processing request, the method further includes: Determine the byte length of the data to be processed; If the byte length is less than or equal to the length threshold, the data to be processed is added to the processing request.
8. The method according to any one of claims 1 to 6, characterized in that, The preset remote storage protocol supports access at the block level.
9. A data processing method based on a remote storage protocol, characterized in that, Applied to the server side, the method includes: The system receives a serialized processing request sent by a client; wherein the serialized processing request is obtained by serializing the processing request according to a preset remote storage protocol; wherein the processing request is used to instruct the storage or retrieval of data to be processed, and the serialized storage request includes object storage semantics of the data to be processed; wherein the preset remote storage protocol is used to characterize that the remote storage request includes object storage semantics; the object storage semantics includes a field characterizing the location where the data to be processed is stored; Parse the serialized processing request to obtain the location information of the data to be processed; wherein, the location information of the data to be processed represents the physical address where the data to be processed is stored; Based on the location information of the data to be processed, the operation corresponding to the processing request is performed on the data to be processed to obtain a processing result; wherein, the processing result indicates whether the processing of the data to be processed is completed; The processing result is sent to the client.
10. The method according to claim 9, characterized in that, The server includes a second network interface card (NIC), and the receiving of the serialized processing request sent by the client includes: The second network interface card is polled using a poller; If the second network interface card (NIC) is found to contain the serialized processing request, then the serialized processing request is extracted from the second NIC.
11. The method according to claim 9, characterized in that, The step of parsing the serialized processing request to obtain the location information of the data to be processed includes: The location information, size information, and unique object identifier corresponding to the data to be processed are extracted from the specified fields of the serialized processing request; wherein, the specified fields are determined based on the preset remote storage protocol; Based on the location information, size information, and the unique object identifier corresponding to the data to be processed, determine the object storage index of the data to be processed; The physical address of the data to be processed on the non-volatile medium is obtained according to the object storage index, and the physical address is determined as the location information of the data to be processed.
12. The method according to any one of claims 9 to 11, characterized in that, Sending the processing result to the client includes: The processing result is serialized using the preset remote storage protocol to obtain the serialized processing result. The serialized processing result is sent to the client.
13. A data processing apparatus based on a remote storage protocol, applied to a client, the apparatus comprising: The first receiving module is used to receive a processing request, wherein the processing request is used to instruct the data to be processed to be stored or retrieved. A serialization processing module is used to serialize the processing request according to a preset remote storage protocol to obtain a serialized processing request. The serialized processing request includes the object storage semantics of the data to be processed. The preset remote storage protocol is used to characterize that the request for remote storage includes object storage semantics. The object storage semantics includes a field characterizing the location where the data to be processed is stored. The first sending module is used to send the serialized processing request to the server; wherein, the serialized processing request is used to instruct the location information of the data to be processed obtained after parsing the object storage semantics of the data to be processed, and the location information of the data to be processed is used to perform the operation corresponding to the processing request on the data to be processed based on the location information of the data to be processed, so as to obtain a processing result; wherein, the location information of the data to be processed represents the physical address where the data to be processed is stored; the processing result represents whether the data to be processed has been processed. The processing result output module is used to receive the processing result fed back by the server and output the processing result.
14. A data processing apparatus based on a remote storage protocol, characterized in that, Applied to the server side, the device includes: The second receiving module is used to receive a serialized processing request sent by the client; wherein the serialized processing request is obtained by serializing the processing request according to a preset remote storage protocol; wherein the processing request is used to instruct the storage or retrieval operation of the data to be processed, and the serialized storage request includes the object storage semantics of the data to be processed; wherein the preset remote storage protocol is used to characterize that the remote storage request includes object storage semantics; the object storage semantics includes a field characterizing the location where the data to be processed is stored; The parsing module is used to parse the serialized processing request to obtain the location information of the data to be processed; wherein, the location information of the data to be processed represents the physical address where the data to be processed is stored; The processing module is used to perform the operation corresponding to the processing request on the data to be processed based on the location information of the data to be processed, so as to obtain the processing result; wherein, the processing result indicates whether the processing of the data to be processed is completed; The second sending module is used to send the processing result to the client.
15. An electronic device comprising: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1 to 8 or 9 to 12.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the data processing method as described in any one of claims 1 to 8 or 9 to 12.
17. A computer program product comprising a computer program that, when executed by a processor, implements the method of any one of claims 1 to 8 or 9 to 12.
Citation Information
Patent Citations
Apparatuses, methods, and systems for remote memory access in a configurable spatial accelerator
CN111868702A
Data processing method and device, equipment and storage medium
CN112818176A