CN111163158A - Data processing method and electronic equipment - Google Patents

Data processing method and electronic equipment Download PDF

Info

Publication number
CN111163158A
CN111163158A CN201911373464.6A CN201911373464A CN111163158A CN 111163158 A CN111163158 A CN 111163158A CN 201911373464 A CN201911373464 A CN 201911373464A CN 111163158 A CN111163158 A CN 111163158A
Authority
CN
China
Prior art keywords
task
rdma
read
file
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911373464.6A
Other languages
Chinese (zh)
Other versions
CN111163158B (en
Inventor
柯克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201911373464.6A priority Critical patent/CN111163158B/en
Publication of CN111163158A publication Critical patent/CN111163158A/en
Application granted granted Critical
Publication of CN111163158B publication Critical patent/CN111163158B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Abstract

The application discloses a data processing method and electronic equipment, which are used for improving the overall performance of a system. The method comprises the following steps: polling all local buffer RDMA network data through a pre-established RDMA protocol stack; generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area; adding the read-write task corresponding to the RDMA network data into a task queue; polling the task queue; and executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode. By adopting the scheme provided by the application, a large number of threads are prevented from being generated in the task processing process, so that the overall performance of the system is improved.

Description

Data processing method and electronic equipment
Technical Field
The present disclosure relates to the field of computers, and in particular, to a data processing method and an electronic device.
Background
With the development of science and technology, the number of tasks to be processed by a server becomes larger and larger, and for example, servers providing data sharing functions, such as video websites and document sharing platforms, need to process a large number of downloading tasks and uploading tasks.
A sharing System used by a conventional server providing a data sharing function generally performs data sharing in a multi-thread manner, for example, when a plurality of tasks are processed by a CIFS (Common Internet File System), the plurality of tasks are distributed to a plurality of threads for processing, and even the tasks are split into smaller subtasks, and each subtask is distributed to one thread. Although the response time of the task can be balanced, the method also has many disadvantages, for example, a large number of threads are generated, the operating system needs to switch back and forth among the large number of threads, and the switching process needs to consume extra computing resources; moreover, a large number of threads need to additionally occupy a large number of memory space resources; when a thread is suspended, the influence of the thread on the program operation needs to be considered, the thread deadlock condition needs to be prevented, and a large amount of computing resources need to be wasted for scheduling. Therefore, the multi-threaded task processing method consumes additional computing resources, occupies a large amount of memory space, and affects the overall performance of the system.
Therefore, it is desirable to provide a solution for avoiding the generation of a large number of threads during task processing, thereby improving the overall performance of the system. Based on the technical problems, the invention aims to realize the improvement of a file sharing system such as CIFS (common interface file system) or the like based on an RDMA (Remote Direct Memory Access) technology, so that read-write tasks in the file sharing system can process all the read-write tasks through a pre-established RDMA protocol stack, a large number of threads are avoided, and the overall performance of the system is improved.
Disclosure of Invention
An object of the embodiments of the present application is to provide a data processing method and an electronic device, so as to improve the overall performance of a system.
In order to solve the technical problem, the embodiment of the application adopts the following technical scheme: a method of data processing, comprising:
polling all local buffer RDMA network data through a pre-established RDMA protocol stack;
generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area;
adding the read-write task corresponding to the RDMA network data into a task queue;
polling the task queue;
and executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode.
The beneficial effect of this application lies in: generating read-write task operation for polling RDMA network data in the buffer area; adding the read-write task into a task queue; polling the task queue; and the operation of executing the read-write task in the task queue is realized by the RDMA protocol stack, so the operation is not executed by multithreading, and a plurality of tasks are executed by a multithreading mode, thereby avoiding generating a large number of threads in the task processing process, and improving the overall performance of the system.
In one embodiment, the generating read and write tasks corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA read request, extracting a file identifier carried in the RDMA read request;
and generating a file reading task according to the file identification.
The beneficial effect of this embodiment lies in: the file reading task executable by the equipment can be automatically generated according to the file identification carried in the RDMA reading request, so that the response to the RDMA reading request is realized.
In one embodiment, in the case that a read-write task corresponding to RDMA network data exists in the polling task queue, executing the read-write task corresponding to RDMA network data includes:
generating a file searching task containing the file identifier under the condition that a file reading task exists in the task queue in a polling mode;
and sending the file searching task to a storage space.
The beneficial effect of this embodiment lies in: generating a file searching task containing the file identifier under the condition that a file reading task exists in the task queue in a polling mode; the file search task is sent to the storage space, so that the file search task can be executed through the storage space without the RDMA protocol stack, and the load of the RDMA protocol stack is reduced.
In one embodiment, the method further comprises:
in the case of receiving the search result of the search task fed back by the storage space, generating a first network output task based on the search result, wherein the first network output task is used for feeding back the search result to a user sending the RDMA read request;
executing the first network output task;
under the condition that the execution of the first network output task is finished, generating a first clearing task; wherein the first cleanup task is to clean up all task data related to the RDMA read request.
The beneficial effect of this embodiment lies in: under the condition that the execution of the first network output task is finished, generating a first clearing task; the first clearing task is used for clearing all task data related to the RDMA read request, so that all data related to the read request can be cleared under the condition that the task related to the read request is executed completely, real-time clearing of useless data in a buffer area and a storage space is achieved, and waste of the storage space and buffer area resources is reduced.
In one embodiment, the generating read and write tasks corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA writing request, extracting a file to be stored carried in the RDMA writing request;
and generating a task of writing in the file according to the file to be stored carried in the writing request.
The beneficial effect of this embodiment lies in: the device and the method can automatically generate the task of the write-in file executable by the device according to the file to be stored carried in the RDMA write request, thereby realizing the response to the RDMA write request.
In one embodiment, in the case that a read-write task corresponding to RDMA network data exists in the polling task queue, executing the read-write task corresponding to RDMA network data includes:
acquiring the file to be stored under the condition that a task for writing a file exists in the task queue in a polling mode;
determining a storage path of the file to be stored according to the type of the file to be stored;
generating a file storage task comprising the file to be stored and a storage path of the file to be stored;
and sending the file storage task to a storage space.
The beneficial effect of this embodiment lies in: determining a storage path of the file to be stored according to the type of the file to be stored; generating a file storage task comprising the file to be stored and a storage path of the file to be stored; sending the file storage task to a storage space; therefore, the storage space can execute the file storage task based on the file to be stored and the storage path of the file to be stored, the RDMA protocol stack is not required to execute the file storage task, and the load of the RDMA protocol stack is further reduced.
In one embodiment, the method further comprises:
under the condition that the file storage task fed back by the storage space is completed, generating a second network output task based on the search result, wherein the second network output task is used for feeding back a prompt message of file storage completion to a user sending the RDMA write request;
executing the second network output task;
and generating a second clearing task when the second network output task is completely executed, wherein the second clearing task is used for clearing all task data related to the RDMA write request.
The beneficial effect of this embodiment lies in: generating a second clearing task under the condition that the execution of the second network output task is finished; the second clearing task is used for clearing all task data related to the RDMA read request, so that all data related to the write request can be cleared under the condition that the task related to the write request is executed completely, real-time clearing of useless data in a buffer area and a storage space is achieved, and waste of the storage space and buffer area resources is reduced.
In one embodiment, during the performing of the read-write task corresponding to RDMA network data, the method further comprises:
under the condition that the execution of the read-write task fails, generating a task for checking the abnormal reason of the system;
or
And under the condition that the execution of the read-write task fails, generating a task for disconnecting the user connection and a task for clearing the data in the buffer area.
The beneficial effect of this embodiment lies in: the method can generate the task for checking the system abnormal reason under the condition of the execution failure of the read-write task, thereby realizing the automatic check of the system abnormal reason, or generate the task for disconnecting the user connection and the task for clearing the data in the buffer area under the condition of the execution failure of the read-write task, thereby realizing the automatic clearing of the buffer area under the condition of the execution failure of the read-write task, and further reducing the waste of the storage resource of the buffer area.
In one embodiment, prior to executing the task corresponding to RDMA network data, the method further comprises:
acquiring identifiers of each group of shared memories in the RDMA protocol stack; determining whether a shared memory in an idle state exists according to the identifier of the shared memory;
and under the condition that the shared memory in the idle state exists, preempting the shared memory in the idle state through a preset instruction.
The beneficial effect of this embodiment lies in: because the shared memory exists in the RDMA protocol stack, the protocol stack can simultaneously allocate the memory for different task processes through the preemption protocol, and the memory utilization rate is improved.
The present application further provides an electronic device, comprising:
the first polling module is used for polling the RDMA network data of all local buffers through a pre-established RDMA protocol stack;
the generating module is used for generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area;
the adding module is used for adding the read-write task corresponding to the RDMA network data into a task queue;
the second polling module is used for polling the task queue;
and the execution module is used for executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode.
The beneficial effect of this application lies in: the method comprises the steps that a first polling module enables an RDMA protocol stack to poll RDMA network data in a buffer, and a generating module enables the RDMA protocol stack to generate read-write task operation; adding the read-write task to a task queue by the RDMA protocol stack through the adding module; polling the task queue by the RDMA protocol stack through a second polling module; and the RDMA protocol stack is enabled to execute the operation of reading and writing tasks in the task queue through the execution module, so that the operation is realized by the RDMA protocol stack, the operation is not executed through multithreading, and a plurality of tasks are executed in a multithreading mode, so that a large number of threads are prevented from being generated in the task processing process, and the overall performance of the system is improved.
The present application also provides a data processing apparatus, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
polling all local buffer RDMA network data through a pre-established RDMA protocol stack;
generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area;
adding the read-write task corresponding to the RDMA network data into a task queue;
polling the task queue;
and executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode.
In one embodiment, the processor is further configured to:
the generating of the read-write task corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA read request, extracting a file identifier carried in the RDMA read request;
and generating a file reading task according to the file identification.
In one embodiment, the processor is further configured to:
when polling that a read-write task corresponding to the RDMA network data exists in the task queue, executing the read-write task corresponding to the RDMA network data, wherein the read-write task comprises the following steps:
generating a file searching task containing the file identifier under the condition that a file reading task exists in the task queue in a polling mode;
and sending the file searching task to a storage space.
In one embodiment, the processor is further configured to:
in the case of receiving the search result of the search task fed back by the storage space, generating a first network output task based on the search result, wherein the first network output task is used for feeding back the search result to a user sending the RDMA read request;
executing the first network output task;
under the condition that the execution of the first network output task is finished, generating a first clearing task; wherein the first cleanup task is to clean up all task data related to the RDMA read request.
In one embodiment, the processor is further configured to:
the generating of the read-write task corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA writing request, extracting a file to be stored carried in the RDMA writing request;
and generating a task of writing in the file according to the file to be stored carried in the writing request.
In one embodiment, the processor is further configured to:
when polling that a read-write task corresponding to the RDMA network data exists in the task queue, executing the read-write task corresponding to the RDMA network data, wherein the read-write task comprises the following steps:
acquiring the file to be stored under the condition that a task for writing a file exists in the task queue in a polling mode;
determining a storage path of the file to be stored according to the type of the file to be stored;
generating a file storage task comprising the file to be stored and a storage path of the file to be stored;
and sending the file storage task to a storage space.
In one embodiment, the processor is further configured to:
under the condition that the file storage task fed back by the storage space is completed, generating a second network output task based on the search result, wherein the second network output task is used for feeding back a prompt message of file storage completion to a user sending the RDMA write request;
executing the second network output task;
and generating a second clearing task when the second network output task is completely executed, wherein the second clearing task is used for clearing all task data related to the RDMA write request.
In one embodiment, the processor is further configured to:
under the condition that the execution of the read-write task fails, generating a task for checking the abnormal reason of the system;
or
And under the condition that the execution of the read-write task fails, generating a task for disconnecting the user connection and a task for clearing the data in the buffer area.
In one embodiment, the processor is further configured to:
before executing the task corresponding to the RDMA network data, acquiring identifiers of all groups of shared memories in the RDMA protocol stack;
determining whether a shared memory in an idle state exists according to the identifier of the shared memory;
and under the condition that the shared memory in the idle state exists, preempting the shared memory in the idle state through a preset instruction.
The present application also provides a non-transitory readable storage medium having instructions that, when executed by a processor within a device, enable the device to perform a method of data processing, the method comprising:
polling all local buffer RDMA network data through a pre-established RDMA protocol stack;
generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area;
adding the read-write task corresponding to the RDMA network data into a task queue;
polling the task queue;
and executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode.
In one embodiment, the instructions in the storage medium further comprise:
the generating of the read-write task corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA read request, extracting a file identifier carried in the RDMA read request;
and generating a file reading task according to the file identification.
In one embodiment, the instructions in the storage medium further comprise:
when polling that a read-write task corresponding to the RDMA network data exists in the task queue, executing the read-write task corresponding to the RDMA network data, wherein the read-write task comprises the following steps:
generating a file searching task containing the file identifier under the condition that a file reading task exists in the task queue in a polling mode;
and sending the file searching task to a storage space.
In one embodiment, the instructions in the storage medium further comprise:
in the case of receiving the search result of the search task fed back by the storage space, generating a first network output task based on the search result, wherein the first network output task is used for feeding back the search result to a user sending the RDMA read request;
executing the first network output task;
under the condition that the execution of the first network output task is finished, generating a first clearing task; wherein the first cleanup task is to clean up all task data related to the RDMA read request.
In one embodiment, the instructions in the storage medium further comprise:
the generating of the read-write task corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA writing request, extracting a file to be stored carried in the RDMA writing request;
and generating a task of writing in the file according to the file to be stored carried in the writing request.
In one embodiment, the instructions in the storage medium further comprise:
when polling that a read-write task corresponding to the RDMA network data exists in the task queue, executing the read-write task corresponding to the RDMA network data, wherein the read-write task comprises the following steps:
acquiring the file to be stored under the condition that a task for writing a file exists in the task queue in a polling mode;
determining a storage path of the file to be stored according to the type of the file to be stored;
generating a file storage task comprising the file to be stored and a storage path of the file to be stored;
and sending the file storage task to a storage space.
In one embodiment, the instructions in the storage medium further comprise:
under the condition that the file storage task fed back by the storage space is completed, generating a second network output task based on the search result, wherein the second network output task is used for feeding back a prompt message of file storage completion to a user sending the RDMA write request;
executing the second network output task;
and generating a second clearing task when the second network output task is completely executed, wherein the second clearing task is used for clearing all task data related to the RDMA write request.
In one embodiment, the instructions in the storage medium further comprise:
under the condition that the execution of the read-write task fails, generating a task for checking the abnormal reason of the system;
or
And under the condition that the execution of the read-write task fails, generating a task for disconnecting the user connection and a task for clearing the data in the buffer area.
In one embodiment, the instructions in the storage medium further comprise:
before executing the task corresponding to the RDMA network data, acquiring identifiers of all groups of shared memories in the RDMA protocol stack;
determining whether a shared memory in an idle state exists according to the identifier of the shared memory;
and under the condition that the shared memory in the idle state exists, preempting the shared memory in the idle state through a preset instruction.
Drawings
Fig. 1A is a flowchart of a data processing method according to an embodiment of the present application;
FIG. 1B is a schematic diagram of a CIFS in the prior art when processing a read/write task, wherein a process is mainly illustrated;
FIG. 1C is a logical block diagram of an RDMA protocol stack of the present application for implementing aspects of the present disclosure;
FIG. 1D is a diagram illustrating a task queue according to an embodiment of the present disclosure;
FIG. 2 is a flow chart of a data processing method in another embodiment of the present application;
FIG. 3 is a flow chart of a data processing method in another embodiment of the present application;
FIG. 4 is a schematic diagram of a CIFS based on RDMA technology in processing read/write tasks according to an embodiment of the present application, where the process is mainly illustrated;
fig. 5 is a schematic diagram of a logic structure of a method for preempting an RDMA protocol stack shared memory in an embodiment of the present application;
fig. 6 is a block diagram of an electronic device in an embodiment of the present application.
Detailed Description
Various aspects and features of the present application are described herein with reference to the drawings.
It will be understood that various modifications may be made to the embodiments of the present application. Accordingly, the foregoing description should not be construed as limiting, but merely as exemplifications of embodiments. Those skilled in the art will envision other modifications within the scope and spirit of the application.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the application and, together with a general description of the application given above and the detailed description of the embodiments given below, serve to explain the principles of the application.
These and other characteristics of the present application will become apparent from the following description of preferred forms of embodiment, given as non-limiting examples, with reference to the attached drawings.
It should also be understood that, although the present application has been described with reference to some specific examples, a person of skill in the art shall certainly be able to achieve many other equivalent forms of application, having the characteristics as set forth in the claims and hence all coming within the field of protection defined thereby.
The above and other aspects, features and advantages of the present application will become more apparent in view of the following detailed description when taken in conjunction with the accompanying drawings.
Specific embodiments of the present application are described hereinafter with reference to the accompanying drawings; however, it is to be understood that the disclosed embodiments are merely exemplary of the application, which can be embodied in various forms. Well-known and/or repeated functions and constructions are not described in detail to avoid obscuring the application of unnecessary or unnecessary detail. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present application in virtually any appropriately detailed structure.
The specification may use the phrases "in one embodiment," "in another embodiment," "in yet another embodiment," or "in other embodiments," which may each refer to one or more of the same or different embodiments in accordance with the application.
Fig. 1A is a flowchart of a data processing method according to an embodiment of the present application, where the method may be applied to a server providing a data sharing service. As shown in FIG. 1A, the method includes the following steps S11-S15:
polling all local buffers for RDMA network data through a pre-established RDMA protocol stack in step S11;
in step S12, in the case where the RDMA network data exists in the polling buffer, a read-write task corresponding to the RDMA network data is generated;
in step S13, add a read-write task corresponding to the RDMA network data to the task queue;
in step S14, polling the task queue;
in step S15, if there is a read/write task corresponding to RDMA network data in the polling task queue, the read/write task corresponding to RDMA network data is executed.
A sharing System used by a conventional server providing a data sharing function generally performs data sharing in a multi-thread manner, for example, a CIFS (Common Internet File System), and fig. 1B is a schematic processing flow diagram of the CIFS in the prior art when processing a read/write task.
Based on the technical problems in the sharing system used by the traditional server providing the data sharing function, the invention aims to improve the file sharing system such as CIFS or the like based on RDMA technology, so that the read-write tasks in the file sharing system can process all the read-write tasks through the pre-established RDMA protocol stack, thereby avoiding generating a large number of threads and improving the overall performance of the system.
Fig. 1C is a schematic flowchart of an RDMA protocol stack executing a scheme disclosed in the present application, and it should be noted that in the diagram, a read-write task indicates a read task or a write task, a network output task may include a first network output task corresponding to a read request or may also include a second network output task corresponding to a write request, and a clear task may include a first clear task corresponding to a read request or may also include a second clear task corresponding to a write request.
In this embodiment, as shown in fig. 1C, an RDMA connection and an RDMA protocol stack are established in advance, and specifically, a plurality of receiving buffers are set, so that it is ensured that enough buffers receive data corresponding to a read-write request of a user. When a user sends a read request or a write request, the read request or the write request sent by the user can be sent to a pre-established buffer for storing RDMA network data as shown in fig. 1C.
Polling all local buffer RDMA network data through a pre-established RDMA protocol stack; and generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area. For example, when the RDMA network data is data corresponding to a read request, a file read task is generated according to a file identifier carried in the read request, or when the RDMA network data is data corresponding to a write request, a file write task is generated according to a file carried in the write request.
After generating a read-write task corresponding to the RDMA network data, adding the read-write task corresponding to the RDMA network data into a task queue; the task queue in fig. 1C is specifically shown in fig. 1D, and the read-write task includes a task behavior and task additional data, for example, the task behavior of the read task is file query, and the task additional data is a file identifier; the task behavior of the writing task is file storage, and the task additional data is a file to be stored.
At this time, polling is started to the task queue; and executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the polling task queue.
For example, when the RDMA protocol stack polls the buffer, data corresponding to 3 read requests are polled, and data corresponding to 5 write requests are polled, a file read task is generated based on the data corresponding to the 3 read requests, a file storage task is generated based on the data corresponding to the 5 write requests, that is, 8 tasks in total are generated, the 8 tasks are added to a task queue, the task queue is polled, and when the 8 tasks are polled in the task queue, the 8 tasks are sequentially executed. It can be understood that, when the 8 tasks are executed, whether new RDMA network data is generated in the buffer is continuously polled, that is, at this time, each time RDMA network data is polled, a read-write task is generated under the condition that new RDMA network data exists in the buffer, and old RDMA network data polled last time is not processed any more if the RDMA network data polled this time is not cleared yet. Therefore, the RDMA Stack (RDMA Stack) is used for processing all read-write tasks, so that a large number of threads are prevented from being generated in the task processing process, and the overall performance of the system is improved.
The beneficial effect of this application lies in: generating read-write task operation for polling RDMA network data in the buffer area; adding the read-write task into a task queue; polling the task queue; and the operation of executing the read-write task in the task queue is realized by the RDMA protocol stack, so the operation is not executed by multithreading, and a plurality of tasks are executed by a multithreading mode, thereby avoiding generating a large number of threads in the task processing process, and improving the overall performance of the system.
In one embodiment, the above step S12 can be implemented as the following steps A1-A2:
in step a1, extracting a file identifier carried in the RDMA read request when the RDMA network data is an RDMA read request;
in step a2, a file read task is generated based on the file identification.
In this embodiment, the read request sent by the user through the terminal or the computer device carries the file identifier of the file to be read, so that, in the case that the RDMA network data is an RDMA read request, the file identifier carried in the RDMA read request can be extracted, and then a file read task is generated according to the file identifier.
The beneficial effect of this embodiment lies in: the file reading task executable by the equipment can be automatically generated according to the file identification carried in the RDMA reading request, so that the response to the RDMA reading request is realized.
In one embodiment, the above step S15 can be implemented as the following steps B1-B2:
in step B1, in the case where there is a file read task in the polling task queue, a file search task including a file identification is generated;
in step B2, the file search task is sent to the storage space.
In this embodiment, as shown in fig. 1C, when executing a file reading task, a subsequent task is generated based on the file reading task, and specifically, a file search task including a file identifier is generated; and then transmits the generated file search task to the storage space.
The beneficial effect of this embodiment lies in: generating a file searching task containing the file identifier under the condition that a file reading task exists in the task queue in a polling mode; the file search task is sent to the storage space, so that the file search task can be executed through the storage space without the RDMA protocol stack, and the load of the RDMA protocol stack is reduced.
In one embodiment, as shown in FIG. 2, the method may also be implemented as steps S21-S23 as follows:
in step S21, in a case where a search result of the search task fed back by the storage space is received, generating a first network output task based on the search result, the first network output task being used to feed back the search result to the user sending the RDMA read request;
in step S22, a first network output task is executed;
in step S23, when the first network output task is completely executed, a first clear task is generated; wherein the first clear task is to clear all task data related to the RDMA read request.
In this embodiment, as shown in fig. 1C, in a case that a search result of a search task fed back by a storage space is received, a first network output task is generated based on the search result, and the first network output task is used to feed back the search result to a user sending an RDMA read request; executing a first network output task, namely feeding back a file to be read and written to a user sending an RDMA read request; under the condition that the execution of the first network output task is finished, generating a first clearing task; wherein the first clear task is to clear all task data related to the RDMA read request.
The beneficial effect of this embodiment lies in: under the condition that the execution of the first network output task is finished, generating a first clearing task; the first clearing task is used for clearing all task data related to the RDMA read request, so that all data related to the read request can be cleared when the task related to the read request is completely executed, real-time clearing of useless data in the buffer area and the storage space is achieved, and waste of the storage space and buffer area resources is reduced.
In one embodiment, the above step S12 can also be implemented as the following steps C1-C2:
in step C1, extracting the file to be stored carried in the RDMA write request when the RDMA network data is an RDMA write request;
in step C2, a task of writing a file is generated according to the file to be stored carried in the write request.
In this embodiment, a write request sent by a user through a terminal or a computer device carries a file to be stored, so that, when RDMA network data is an RDMA write request, a file to be stored carried in the RDMA write request may be extracted, and then a task of writing the file is generated according to the file to be stored.
The beneficial effect of this embodiment lies in: the device and the method can automatically generate the task of the write-in file executable by the device according to the file to be stored carried in the RDMA write request, thereby realizing the response to the RDMA write request.
In one embodiment, as shown in FIG. 3, the above step S15 can also be implemented as the following steps S31-S34:
in step S31, in the case where there is a task of writing a file in the polling task queue, acquiring a file to be stored;
in step S32, determining a storage path of the file to be stored according to the type of the file to be stored;
in step S33, a file storing job including the file to be stored and the storage path of the file to be stored is generated;
in step S34, the file storage task is sent to the storage space.
In the embodiment, the file to be stored is acquired under the condition that the task of writing the file exists in the polling task queue; files stored in the storage space are classified and stored in advance, namely files of different types are stored in different paths, so that management and retrieval are facilitated; at this time, a file storage task can be generated according to the generated storage path and the file to be stored, wherein the file storage task comprises the file to be stored and the storage path of the file to be stored; and sending the file storage task to the storage space. Therefore, the storage space can store the file to be stored based on the storage path carried in the file storage task.
The beneficial effect of this embodiment lies in: determining a storage path of the file to be stored according to the type of the file to be stored; generating a file storage task comprising the file to be stored and a storage path of the file to be stored; sending the file storage task to a storage space; therefore, the storage space can execute the file storage task based on the file to be stored and the storage path of the file to be stored, the RDMA protocol stack is not required to execute the file storage task, and the load of the RDMA protocol stack is further reduced.
In one embodiment, the method may also be implemented as the following steps D1-D3:
in step D1, in the case that the file storage task receiving the storage space feedback is completed, generating a second network output task based on the search result, the second network output task being used for feeding back a prompt message of the file storage completion to the user sending the RDMA write request;
in step D2, a second network output task is performed;
in step D3, in the event that the second network output task completes execution, a second cleanup task is generated that cleans up all task data associated with the RDMA write request.
In this embodiment, as shown in fig. 1C, when the file storage task fed back by the storage space is completed, a second network output task is generated based on the search result. Executing a second network output task, namely feeding back a prompt message of the completion of the storage of the file to a user sending the RDMA write request; and generating a second clearing task under the condition that the second network output task is completely executed, wherein the second clearing task is used for clearing all task data related to the RDMA write request.
It is to be understood that the first network output task or the second network output task is executed immediately after being generated, and therefore, does not need to be put into the task queue, and similarly, after the first clearing task is generated in the above embodiment, or after the second clearing task is generated in the present embodiment, the first clearing task or the second clearing task may be executed immediately through RDMA, and therefore, the first clearing task and the second clearing task also do not need to be put into the task queue.
The beneficial effect of this embodiment lies in: generating a second clearing task under the condition that the execution of the second network output task is finished; the second clearing task is used for clearing all task data related to the RDMA read request, so that all data related to the write request can be cleared when the task related to the write request is executed, real-time clearing of useless data in the buffer area and the storage space is achieved, and waste of the storage space and resources of the buffer area is reduced.
In one embodiment, during the execution of the above step S15, the method may be further implemented as the following step E1 or E2:
in step E1, in the case where the read/write task fails to be executed, a task for checking the cause of the system abnormality is generated;
in step E2, in the case where the read/write task fails to be executed, a task for disconnecting the user connection and a task for clearing the buffer data are generated.
In the embodiment, in the process of executing the read-write task, if the read-write task fails to be executed, the common reason is that the system is abnormal, or the network connection is disconnected, so that a task for checking the reason of the system abnormality is generated under the condition that the read-write task fails to be executed, and the reason of the system abnormality is checked; or generating a task for disconnecting the user connection and a task for clearing the buffer data under the condition that the execution of the read-write task fails.
It should be noted that, after the system anomaly cause is checked, the system may be repaired based on the system anomaly cause, and if the system anomaly cause is not checked, the network connection may be disconnected. It can be seen that, step E1 and step E2 may not only be in a parallel relationship, but also in a sequential relationship, that is, when the system abnormality cause cannot be checked in the step E1, step E2 is executed.
It should be understood that, in the case where it is determined that the network connection is disconnected, the step E2 may not be executed, and the read/write task of the user may be continuously executed after the network connection is recovered.
The beneficial effect of this embodiment lies in: the method can generate the task for checking the system abnormal reason under the condition of the execution failure of the read-write task, thereby realizing the automatic check of the system abnormal reason, or generate the task for disconnecting the user connection and the task for clearing the data in the buffer area under the condition of the execution failure of the read-write task, thereby realizing the automatic clearing of the buffer area under the condition of the execution failure of the read-write task, and further reducing the waste of the storage resource of the buffer area.
In one embodiment, prior to the above step S15, the method may also be implemented as the following steps F1-F3:
in step F1, acquiring identifiers of each group of shared memory in the RDMA protocol stack;
in step F2, determining whether there is a shared memory in an idle state according to the identifier of the shared memory;
in step F3, if there is a shared memory in the idle state, the shared memory in the idle state is preempted by a preset instruction.
As shown in fig. 4 and fig. 5, multiple groups of shared memories are arranged in the RDMA protocol stack, and when a read/write task corresponding to RDMA network data is executed, the shared memories in the RDMA protocol stack are required to be used for execution, so that before the read/write task corresponding to the RDMA network data is executed, identifiers of the groups of shared memories in the RDMA protocol stack are obtained.
The shared memory is identified with two states, Free (Free) and Busy (Busy). And determining whether the shared memory in the idle state exists according to the identifier of the shared memory.
If the shared memory in the idle state exists, the shared memory in the idle state can be preempted through a preset instruction. The preset instruction sets the identifier of the shared memory in the idle state to be in a Busy state, namely sets the Free identifier to be a Busy identifier.
Preemption of the shared memory in the idle state by the preset instruction can be performed by an atomic operation (specific instruction is __ sync _ pool _ match _ and _ swap (& ID, Free, busy)) shown in fig. 5. Other ways of modifying the identification may also be used.
In addition, as can be seen from fig. 1B, fig. 1C and fig. 4, in the prior art, the read/write task (Storage I/O shown in fig. 1B) is processed in different CIFS process spaces; the invention uses RDMA technology and is processed by an RDMA protocol Stack, namely, in the prior art, each CIFS process needs to allocate independent Storage read-write, and in the application, all read-write tasks (Storage I/O shown in figure 4) are processed by an RDMA protocol Stack (RDMA Stack process shown in figure 4).
It is understood that, in the above embodiment, each step executed by the RDMA protocol stack may generate a corresponding process, and each process may use a shared memory in the RDMA protocol stack, that is, before each step is executed by the RDMA protocol stack, the shared memory in the RDMA protocol stack may be preempted in the above manner, that is, before each step in the above embodiment is executed, the shared memory in the RDMA protocol stack may be preempted, and after the preemption is successful, the step is executed based on the preempted shared memory.
The beneficial effect of this embodiment lies in: because the shared memory exists in the RDMA protocol stack, the protocol stack can simultaneously allocate the memory for different task processes through the preemption protocol, and the memory utilization rate is improved.
Fig. 6 is a block diagram of an electronic device, which may be a server providing a data sharing service according to an embodiment of the present application. As shown in fig. 6, the electronic apparatus includes:
a first polling module 61, configured to poll RDMA network data of all local buffers through a pre-established RDMA protocol stack;
the generating module 62 is configured to generate a read-write task corresponding to the RDMA network data when the RDMA network data exists in the polling buffer;
an adding module 63, configured to add a read-write task corresponding to RDMA network data to a task queue;
a second polling module 64, configured to poll the task queue;
and the execution module 65 is configured to execute the read/write task corresponding to the RDMA network data if the read/write task corresponding to the RDMA network data exists in the polling task queue.
The beneficial effect of this application lies in: the method comprises the steps that a first polling module enables an RDMA protocol stack to poll RDMA network data in a buffer, and a generating module enables the RDMA protocol stack to generate read-write task operation; adding the read-write task to a task queue by the RDMA protocol stack through the adding module; polling the task queue by the RDMA protocol stack through a second polling module; and the RDMA protocol stack is enabled to execute the operation of reading and writing tasks in the task queue through the execution module, so that the operation is realized by the RDMA protocol stack, the operation is not executed through multithreading, and a plurality of tasks are executed in a multithreading mode, so that a large number of threads are prevented from being generated in the task processing process, and the overall performance of the system is improved.
The present application also provides a data processing apparatus, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
polling all local buffer RDMA network data through a pre-established RDMA protocol stack;
generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area;
adding the read-write task corresponding to the RDMA network data into a task queue;
polling the task queue;
and executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode.
In one embodiment, the processor is further configured to:
the generating of the read-write task corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA read request, extracting a file identifier carried in the RDMA read request;
and generating a file reading task according to the file identification.
In one embodiment, the processor is further configured to:
when polling that a read-write task corresponding to the RDMA network data exists in the task queue, executing the read-write task corresponding to the RDMA network data, wherein the read-write task comprises the following steps:
generating a file searching task containing the file identifier under the condition that a file reading task exists in the task queue in a polling mode;
and sending the file searching task to a storage space.
In one embodiment, the processor is further configured to:
in the case of receiving the search result of the search task fed back by the storage space, generating a first network output task based on the search result, wherein the first network output task is used for feeding back the search result to a user sending the RDMA read request;
executing the first network output task;
under the condition that the execution of the first network output task is finished, generating a first clearing task; wherein the first cleanup task is to clean up all task data related to the RDMA read request.
In one embodiment, the processor is further configured to:
the generating of the read-write task corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA writing request, extracting a file to be stored carried in the RDMA writing request;
and generating a task of writing in the file according to the file to be stored carried in the writing request.
In one embodiment, the processor is further configured to:
when polling that a read-write task corresponding to the RDMA network data exists in the task queue, executing the read-write task corresponding to the RDMA network data, wherein the read-write task comprises the following steps:
acquiring the file to be stored under the condition that a task for writing a file exists in the task queue in a polling mode;
determining a storage path of the file to be stored according to the type of the file to be stored;
generating a file storage task comprising the file to be stored and a storage path of the file to be stored;
and sending the file storage task to a storage space.
In one embodiment, the processor is further configured to:
under the condition that the file storage task fed back by the storage space is completed, generating a second network output task based on the search result, wherein the second network output task is used for feeding back a prompt message of file storage completion to a user sending the RDMA write request;
executing the second network output task;
and generating a second clearing task when the second network output task is completely executed, wherein the second clearing task is used for clearing all task data related to the RDMA write request.
In one embodiment, the processor is further configured to:
under the condition that the execution of the read-write task fails, generating a task for checking the abnormal reason of the system;
or
And under the condition that the execution of the read-write task fails, generating a task for disconnecting the user connection and a task for clearing the data in the buffer area.
In one embodiment, the processor is further configured to:
before executing the task corresponding to the RDMA network data, acquiring identifiers of all groups of shared memories in the RDMA protocol stack;
determining whether a shared memory in an idle state exists according to the identifier of the shared memory;
and under the condition that the shared memory in the idle state exists, preempting the shared memory in the idle state through a preset instruction.
The present application also provides a non-transitory readable storage medium having instructions that, when executed by a processor within a device, enable the device to perform a method of data processing, the method comprising:
polling all local buffer RDMA network data through a pre-established RDMA protocol stack;
generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area;
adding the read-write task corresponding to the RDMA network data into a task queue;
polling the task queue;
and executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode.
In one embodiment, the instructions in the storage medium further comprise:
the generating of the read-write task corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA read request, extracting a file identifier carried in the RDMA read request;
and generating a file reading task according to the file identification.
In one embodiment, the instructions in the storage medium further comprise:
when polling that a read-write task corresponding to the RDMA network data exists in the task queue, executing the read-write task corresponding to the RDMA network data, wherein the read-write task comprises the following steps:
generating a file searching task containing the file identifier under the condition that a file reading task exists in the task queue in a polling mode;
and sending the file searching task to a storage space.
In one embodiment, the instructions in the storage medium further comprise:
in the case of receiving the search result of the search task fed back by the storage space, generating a first network output task based on the search result, wherein the first network output task is used for feeding back the search result to a user sending the RDMA read request;
executing the first network output task;
under the condition that the execution of the first network output task is finished, generating a first clearing task; wherein the first cleanup task is to clean up all task data related to the RDMA read request.
In one embodiment, the instructions in the storage medium further comprise:
the generating of the read-write task corresponding to the RDMA network data includes:
under the condition that the RDMA network data is an RDMA writing request, extracting a file to be stored carried in the RDMA writing request;
and generating a task of writing in the file according to the file to be stored carried in the writing request.
In one embodiment, the instructions in the storage medium further comprise:
when polling that a read-write task corresponding to the RDMA network data exists in the task queue, executing the read-write task corresponding to the RDMA network data, wherein the read-write task comprises the following steps:
acquiring the file to be stored under the condition that a task for writing a file exists in the task queue in a polling mode;
determining a storage path of the file to be stored according to the type of the file to be stored;
generating a file storage task comprising the file to be stored and a storage path of the file to be stored;
and sending the file storage task to a storage space.
In one embodiment, the instructions in the storage medium further comprise:
under the condition that the file storage task fed back by the storage space is completed, generating a second network output task based on the search result, wherein the second network output task is used for feeding back a prompt message of file storage completion to a user sending the RDMA write request;
executing the second network output task;
and generating a second clearing task when the second network output task is completely executed, wherein the second clearing task is used for clearing all task data related to the RDMA write request.
In one embodiment, the instructions in the storage medium further comprise:
under the condition that the execution of the read-write task fails, generating a task for checking the abnormal reason of the system;
or
And under the condition that the execution of the read-write task fails, generating a task for disconnecting the user connection and a task for clearing the data in the buffer area.
In one embodiment, the instructions in the storage medium further comprise:
before executing the task corresponding to the RDMA network data, acquiring identifiers of all groups of shared memories in the RDMA protocol stack;
determining whether a shared memory in an idle state exists according to the identifier of the shared memory;
and under the condition that the shared memory in the idle state exists, preempting the shared memory in the idle state through a preset instruction.
The above embodiments are only exemplary embodiments of the present application, and are not intended to limit the present application, and the protection scope of the present application is defined by the claims. Various modifications and equivalents may be made by those skilled in the art within the spirit and scope of the present application and such modifications and equivalents should also be considered to be within the scope of the present application.

Claims (10)

1. A data processing method, comprising:
polling all local buffer RDMA network data through a pre-established RDMA protocol stack;
generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area;
adding the read-write task corresponding to the RDMA network data into a task queue;
polling the task queue;
and executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode.
2. The method of claim 1, wherein the generating the read-write task corresponding to the RDMA network data comprises:
under the condition that the RDMA network data is an RDMA read request, extracting a file identifier carried in the RDMA read request;
and generating a file reading task according to the file identification.
3. The method of claim 2, wherein performing the read-write task corresponding to the RDMA network data in the event that there is a read-write task corresponding to the RDMA network data polled into the task queue comprises:
generating a file searching task containing the file identifier under the condition that a file reading task exists in the task queue in a polling mode;
and sending the file searching task to a storage space.
4. The method of claim 3, wherein the method further comprises:
in the case of receiving the search result of the search task fed back by the storage space, generating a first network output task based on the search result, wherein the first network output task is used for feeding back the search result to a user sending the RDMA read request;
executing the first network output task;
under the condition that the execution of the first network output task is finished, generating a first clearing task; wherein the first cleanup task is to clean up all task data related to the RDMA read request.
5. The method of claim 1, wherein the generating the read-write task corresponding to the RDMA network data comprises:
under the condition that the RDMA network data is an RDMA writing request, extracting a file to be stored carried in the RDMA writing request;
and generating a task of writing in the file according to the file to be stored carried in the writing request.
6. The method of claim 5, wherein performing the read-write task corresponding to the RDMA network data in the event that a read-write task corresponding to the RDMA network data is polled to be present in the task queue comprises:
acquiring the file to be stored under the condition that a task for writing a file exists in the task queue in a polling mode;
determining a storage path of the file to be stored according to the type of the file to be stored;
generating a file storage task comprising the file to be stored and a storage path of the file to be stored;
and sending the file storage task to a storage space.
7. The method of claim 6, wherein the method further comprises:
under the condition that the file storage task fed back by the storage space is completed, generating a second network output task based on the search result, wherein the second network output task is used for feeding back a prompt message of file storage completion to a user sending the RDMA write request;
executing the second network output task;
and generating a second clearing task when the second network output task is completely executed, wherein the second clearing task is used for clearing all task data related to the RDMA write request.
8. The method of claim 1, wherein during execution of the read-write task corresponding to RDMA network data, the method further comprises:
under the condition that the execution of the read-write task fails, generating a task for checking the abnormal reason of the system; or
And under the condition that the execution of the read-write task fails, generating a task for disconnecting the user connection and a task for clearing the data in the buffer area.
9. The method of any of claims 1-8, wherein prior to executing the task corresponding to RDMA network data, the method further comprises:
acquiring identifiers of each group of shared memories in the RDMA protocol stack; determining whether a shared memory in an idle state exists according to the identifier of the shared memory;
and under the condition that the shared memory in the idle state exists, preempting the shared memory in the idle state through a preset instruction.
10. An electronic device, comprising:
the first polling module is used for polling the RDMA network data of all local buffers through a pre-established RDMA protocol stack;
the generating module is used for generating a read-write task corresponding to the RDMA network data under the condition that the RDMA network data exist in the polling buffer area;
the adding module is used for adding the read-write task corresponding to the RDMA network data into a task queue;
the second polling module is used for polling the task queue;
and the execution module is used for executing the read-write task corresponding to the RDMA network data under the condition that the read-write task corresponding to the RDMA network data exists in the task queue in the polling mode.
CN201911373464.6A 2019-12-27 2019-12-27 Data processing method and electronic equipment Active CN111163158B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911373464.6A CN111163158B (en) 2019-12-27 2019-12-27 Data processing method and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911373464.6A CN111163158B (en) 2019-12-27 2019-12-27 Data processing method and electronic equipment

Publications (2)

Publication Number Publication Date
CN111163158A true CN111163158A (en) 2020-05-15
CN111163158B CN111163158B (en) 2022-02-25

Family

ID=70558484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911373464.6A Active CN111163158B (en) 2019-12-27 2019-12-27 Data processing method and electronic equipment

Country Status (1)

Country Link
CN (1) CN111163158B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089444A1 (en) * 2012-09-27 2014-03-27 Vadim Makhervaks Methods, apparatus and systems for facilitating rdma operations with reduced doorbell rings
CN104102542A (en) * 2013-04-10 2014-10-15 华为技术有限公司 Network data packet processing method and device
US20180152278A1 (en) * 2016-11-30 2018-05-31 International Business Machines Corporation Multi-domain connection establishment in computer networking communications
US20180203824A1 (en) * 2015-06-23 2018-07-19 International Business Machines Corporation Lock-free processing of stateless protocols over rdma
CN110399329A (en) * 2019-07-12 2019-11-01 苏州浪潮智能科技有限公司 A kind of data processing method and relevant apparatus of RDMA

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089444A1 (en) * 2012-09-27 2014-03-27 Vadim Makhervaks Methods, apparatus and systems for facilitating rdma operations with reduced doorbell rings
CN104102542A (en) * 2013-04-10 2014-10-15 华为技术有限公司 Network data packet processing method and device
US20180203824A1 (en) * 2015-06-23 2018-07-19 International Business Machines Corporation Lock-free processing of stateless protocols over rdma
US20180152278A1 (en) * 2016-11-30 2018-05-31 International Business Machines Corporation Multi-domain connection establishment in computer networking communications
CN110399329A (en) * 2019-07-12 2019-11-01 苏州浪潮智能科技有限公司 A kind of data processing method and relevant apparatus of RDMA

Also Published As

Publication number Publication date
CN111163158B (en) 2022-02-25

Similar Documents

Publication Publication Date Title
US9917913B2 (en) Large message support for a publish-subscribe messaging system
CN108647104B (en) Request processing method, server and computer readable storage medium
US9164853B2 (en) Multi-core re-initialization failure control system
CN110096336B (en) Data monitoring method, device, equipment and medium
CN106776855B (en) Processing method for reading Kafka data based on Spark Streaming
US9830189B2 (en) Multi-threaded queuing system for pattern matching
CN109558260B (en) Kubernetes fault elimination system, method, equipment and medium
US9836516B2 (en) Parallel scanners for log based replication
US20050193039A1 (en) Fault tolerant mechanism to handle initial load of replicated object in live system
CN107153643B (en) Data table connection method and device
CN110971700B (en) Method and device for realizing distributed lock
CN110716793B (en) Method, device, equipment and storage medium for executing distributed transaction
CN106572137B (en) Distributed service resource management method and device
US9298765B2 (en) Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network
CN105373453A (en) Data backup method and system
CN110740145A (en) Message consumption method, device, storage medium and electronic equipment
WO2022135160A1 (en) Releasing method and releasing system for buffer space, and electronic device and storage medium
CN105373563B (en) Database switching method and device
US11748164B2 (en) FAAS distributed computing method and apparatus
CN111163158B (en) Data processing method and electronic equipment
CN109002286A (en) Data asynchronous processing method and device based on synchronous programming
US11301255B2 (en) Method, apparatus, device, and storage medium for performing processing task
CN111831408A (en) Asynchronous task processing method and device, electronic equipment and medium
CN115878333A (en) Method, device and equipment for judging consistency between process groups
US8359602B2 (en) Method and system for task switching with inline execution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant