WO2021175221A1 - 数据处理方法及其设备 - Google Patents
数据处理方法及其设备 Download PDFInfo
- Publication number
- WO2021175221A1 WO2021175221A1 PCT/CN2021/078734 CN2021078734W WO2021175221A1 WO 2021175221 A1 WO2021175221 A1 WO 2021175221A1 CN 2021078734 W CN2021078734 W CN 2021078734W WO 2021175221 A1 WO2021175221 A1 WO 2021175221A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- network card
- card device
- request
- conflict
- access request
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Definitions
- the embodiments of the present application relate to the field of computer technology, and in particular to a data processing method and equipment.
- the shared volume of the storage system can be accessed and read and written by multiple users.
- the software corresponding to the shared volume will be used to do so.
- Conflict management In the field of computer applications, the shared volume of the storage system can be accessed and read and written by multiple users.
- the storage node corresponding to the shared volume is required to participate, that is, the processor resources of the storage node need to be occupied.
- the embodiment of the present application provides a data processing method, which is used to process the conflict according to the network card device when a write conflict occurs in data storage, avoiding the participation of the processor of the storage node and saving the processor of the storage node.
- the first aspect of the embodiments of the present application provides a data processing method.
- the first client When the first client needs to access the storage node, the first client sends a first access request to the network card device corresponding to the storage node, where the first request carries the access address of the storage node that needs to be accessed.
- the network card device After receiving the first access request, the network card device parses the first access request, and detects whether there is a conflict in the first access request according to the access address carried in the first access request.
- the network card device When the network card device detects that the access address accessed by the first access request is being accessed, it is determined that there is a conflict.
- the network card device handles the conflict according to a processing strategy, which is preset by the network card device.
- the conflict management can be performed through the network card device without the participation of the processor of the storage node, which saves the processor of the storage node.
- the first access request sent by the first client is a write request
- the network card device receives the first access request
- the network card device receives the second write request sent by the second client, and the access address carried in the second write request is the same as the first access request, then the network card device according to the access address carried in the second write request and the first access request It is also determined that there is a conflict between the first access write request and the second write request.
- the network card device has the same access address through the first access write request and the second write request, which determines that a conflict occurs and improves the feasibility of the solution.
- the first access request sent by the first client is a read request
- the network card device receives the third write request sent by the third client
- the access address carried in the third write request is the same as the access address carried in the first access request
- the network card device According to the second write request and the first access request, it is determined that there is a conflict between the first access write request and the second write request.
- the network card device has the same access address through the first access write request and the second write request, which determines that a conflict occurs and improves the feasibility of the solution.
- the first access request is used to use the second
- the data is written into the access address corresponding to the storage node, and the network card device determines that there is a conflict according to the access address of the first access request and the state attribute on the metadata corresponding to the access address.
- the network card device processes the second data according to a processing strategy, and the processing strategy is generated by the network card device.
- the network card device determines that there is a conflict based on the state attribute of the metadata, which improves the feasibility of the solution.
- the network card device updates according to the second write request.
- the status attribute of the metadata corresponding to the access address is updated to be written by the second client.
- the network card device updates the state attribute to be written by the second client, which clarifies the information of the client currently being written, and can continue to write when there is a subsequent write request from the client, which improves Improve the efficiency of data writing.
- the network card device updates the access according to the first request.
- the state attribute of the metadata corresponding to the address is updated
- the state attribute of the metadata corresponding to the access address is updated to the write state.
- the network card device updates the state attribute to the write state, which improves the feasibility of the solution.
- the network card device processes the second aspect according to the processing strategy.
- a first conflict notification may be sent to the processor corresponding to the access address.
- the first conflict notification indicates that the second client's second write request requests to write the access address and the first client's first access request requests to write.
- the access address is the same.
- the network card device sends the first conflict notification to the processor and allows the processor to perform subsequent processing, which improves the feasibility of the solution.
- the network card device processes the second aspect according to the processing strategy.
- the second data can be directly discarded, that is, the second data is not obtained.
- the network card device sends a second conflict notification to the first client.
- the second conflict notification indicates the access address written by the first access request of the first client and the second write request of the second client. The access address requested to write is the same.
- the network card device directly discards the second data and sends the second conflict notification to the first client without the need to process the second data through the CPU, which saves CPU resources.
- the network card device corresponds to the second client After the data is written into the data block, the network card device will receive the feedback result sent by the processor.
- the feedback result indicates that the data corresponding to the second client has been written.
- the network card device calls the integrated network card device according to the feedback result.
- the conflict clearing interface clears the state attribute of the metadata corresponding to the access address.
- the network card device calls the conflict clearing interface to clear the state attribute of the metadata, which can make the access address can be accessed by the new client, which improves the solution The achievability.
- the metadata corresponding to the data block may include , The version number of the data block and or the current conflict status and or the number of the client currently accessing the data block and the number of the corresponding data block.
- composition forms of metadata are exemplified, which improves the feasibility of the solution.
- the second aspect of the embodiments of the present application provides a network card device.
- a network card device includes an interface and a processor, wherein the interface communicates with the processor, and the interface is used to receive a first access request from a first client; the first access request carries an access address;
- the processor is used to detect whether there is a conflict in the first access request
- the conflict is handled according to the processing strategy.
- the first access request is a write request
- the interface is also used to: Before receiving the second write request of the second client, the second write request includes the access address.
- the processor is specifically configured to detect that the first access request conflicts with the second write request.
- the first access request is a read request
- the interface is also used to:
- the third write request of the third client is received before the first access request of the first client is received, and the third write request includes the access address.
- the processor is specifically configured to detect that the first access request conflicts with the third write request.
- the first implementation manner of the second aspect, or the second implementation manner of the second aspect, in the third implementation manner of the second aspect of the embodiments of the present application is used to use the second Data write access address
- the processor is specifically configured to determine that there is a conflict according to the first access request and metadata, and the metadata represents the state attribute of the access address;
- the processor is specifically configured to process the second data according to a processing strategy, and the processing strategy is generated by the processor.
- the processor is further configured to write according to the second aspect.
- the state attribute requesting to update the metadata is written by the second client.
- the processor is further configured to write according to the second aspect.
- the state attribute of the request to update the metadata is the write state.
- the processor of the network card device is used to access the address
- the corresponding processor sends a first conflict notification, where the first conflict notification is used to indicate that the first access request conflicts with the second write request;
- the processor is configured to discard the second data
- the interface is also used to send a second conflict notification to the first client, and the second conflict notification is used to indicate that the first access request conflicts with the second write request.
- the interface is also used to receive data sent by the processor
- the feedback result indicates that the data writing of the second write request is completed
- the processor is also used to clear the state attribute of the metadata according to the feedback result.
- the state attribute of the metadata includes at least one of the following Kind: version number, conflict status or client number currently accessed.
- the third aspect of the embodiments of the present application provides a network card device.
- a receiving unit configured to receive a first access request from a first client, the first access request carrying an access address
- the processing unit is used to detect whether there is a conflict in the first access request
- the processing unit When it is detected that there is a conflict in the first access request, the processing unit processes the conflict according to the processing strategy.
- the first access request is a write request
- the receiving unit is further configured to receive the first access request from the first client.
- the second write request includes the access address.
- the processing unit is specifically configured to detect that the first access request conflicts with the second write request.
- the first access request is a read request
- the receiving unit is receiving the first Before the first access request of a client, a third write request of a third client is received, and the third write request includes an access address.
- the processing unit is specifically configured to detect that the first access request conflicts with the third write request.
- the first implementation manner of the third aspect, or the second implementation manner of the third aspect, in the third implementation manner of the third aspect of the embodiments of the present application is used to use the second Data write access address;
- the processing unit is specifically configured to determine that there is a conflict according to the first access request and the metadata, and the metadata represents the state attribute of the access address;
- the processing unit is specifically configured to process the second data according to a processing strategy, and the processing strategy is generated by the processor.
- the processing unit is further configured to write according to the second aspect.
- the state attribute requesting to update the metadata is written by the second client.
- the processing unit is further configured to write according to the second aspect.
- the state attribute of the request to update the metadata is the write state.
- the network card device further includes:
- a sending unit configured to send a first conflict notification to the processor corresponding to the access address, where the first conflict notification is used to indicate that the first access request conflicts with the second write request;
- the processing unit is configured to discard the second data
- the sending unit is further configured to send a second conflict notification to the first client, and the second conflict notification is used to indicate that the first access request conflicts with the second write request.
- the feedback result indicates the data of the second write request Write complete
- the processing unit is also used to clear the state attribute of the metadata according to the feedback result.
- the state attribute of the metadata includes at least one of the following Kind: version number, conflict status or client number currently accessed.
- the fourth aspect of the embodiments of the present application provides a computer storage medium that stores instructions in the computer storage medium, and when the instructions are executed on the computer, the computer executes the instructions described in the implementation manner of the first aspect of the present application. method.
- the fifth aspect of the embodiments of the present application provides a computer program product.
- the computer program product When the computer program product is executed on a computer, the computer executes the method described in the implementation manner of the first aspect of the present application.
- the first data to be written to the same data block is processed according to the processing strategy generated by the network card device, which avoids the participation of the processor of the storage node and saves the processor of the storage node.
- Figure 1 is a schematic diagram of a storage system framework provided by an embodiment of the application.
- FIG. 2 is another schematic diagram of a storage system framework provided by an embodiment of the application.
- FIG. 3 is a schematic flowchart of a data processing method provided by an embodiment of the application.
- FIG. 4 is a schematic structural diagram of a network card device provided by an embodiment of the application.
- FIG. 5 is another schematic structural diagram of a network card device provided by an embodiment of the application.
- FIG. 6 is a schematic diagram of another structure of a network card device provided by an embodiment of the application.
- the embodiment of the present application provides a data processing method, which is used to handle the conflict according to the processing strategy generated by the network card device when an access conflict occurs in data storage, avoiding the participation of the processor of the storage node and saving the processing of the storage node Device.
- Figure 1 is a schematic diagram of the storage system framework provided by this application.
- the embodiment of the present application provides a storage system framework.
- the storage system framework includes at least two clients, a first client 101 and a second client 102, and at least one storage node 103.
- the first client 101 and the second client 102 include a network card device NIC, and the storage node 103 includes a network card device NIC.
- the storage node 104 also includes a processor, such as a central processing unit (CPU).
- the first client is used to store data on the storage node 103.
- the network card device of the storage node in the embodiment of the present application includes a conflict detector.
- the conflict detector has metadata set in advance. Different metadata Sn corresponds to different data blocks blockn in the storage node, which needs to be explained. Yes, one metadata can correspond to one data block, or one metadata can correspond to multiple data blocks, and the specifics are not limited here.
- the data block is the address for the client to access the data, that is, the access address.
- the size of a data block can be configured as 4k or 64k. It is understandable that it can also be configured as other sizes, such as 128k, etc., which is not specifically limited here.
- the first client When the first client needs to write data to the corresponding data block block1, it is determined by the metadata s1 corresponding to the conflict manager of the network card device. When no other clients are writing data to the data block, the first A client can write data to the data block.
- the data storage node can be accessed by multiple clients at the same time.
- the network card device will perform corresponding processing.
- FIG. 3 is a schematic flowchart of an embodiment of the data processing method provided by this application.
- step 301 the second client sends a second write request to the network card device.
- the first client sends a second write request to the network card device corresponding to the storage node, and the second request is used for writing the data of the second client to the data block in the storage node Medium, that is, the access address carried in the second write request.
- the second write request of the second client can be sent to the network card device of the buffer memory corresponding to the storage node, or directly to the network card device of the buffer memory corresponding to the storage node.
- the network card device of the storage node sends the data, which is not limited here.
- the service software corresponding to the storage node registers the storage node's shared resource information with the network card device.
- the shared resource information includes, but is not limited to, storage The starting address of the node's data block, the size of the shared resource data block, and the number of shared resource data blocks. That is, the number of corresponding data blocks, the size of the data block, and the starting address of the data block are recorded through the metadata in the storage node.
- the storage node During the initialization phase of the storage system, the storage node also sets a corresponding processing strategy and initializes the conflict manager on the network card device. This processing strategy is used to handle the read-write conflict through the processing strategy when a read-write conflict occurs.
- step 302 the network card device updates the state attribute of the metadata according to the second write request to write to the second client.
- the network card device After the network card device receives the second write request sent by the second client, the network card device parses the data in the second write request, that is, parses the IO data packet corresponding to the data of the second write request to obtain the second write request
- the requested data corresponds to the data block (access address) and access type accessed by the IO data packet.
- the access type includes write request or read request.
- the network card device determines the state attribute of the metadata corresponding to the data block that needs to be written. When the state attribute of the metadata corresponding to the data block is empty, the network card device writes the data of the second write request to the corresponding data block. , And update the state attribute of the metadata to be written by the second client, which indicates that the second client is writing data into the corresponding data block.
- the status attribute shows that there is no access conflict
- the network card device writes the data of the second write request into the corresponding data block, and updates the status attribute of the metadata to be written by the second client.
- Writing by the second client means that the second client is writing data into the corresponding data block.
- the state attribute of the metadata may also have other state attributes, such as being updated to the writing state,
- the write status indicates that data is being written in the data block. It is understandable that other forms of status attributes are also possible, as long as the status attribute can indicate that data is being input into the corresponding data block.
- the embodiment of this application is not correct. This is a specific limitation.
- the metadata may include, but is not limited to, one or more of the version number of the data block, the conflict status, and the ID of the client that has been recently accessed.
- version 1.0 is used to indicate the version number of the data block. It is understandable that the version number of the data block can also be expressed in other forms, such as V1.1, which is not specifically limited here.
- bitmap bitmap is used to identify the state attribute of the data block. It is understandable that the state attribute of the data block can also be expressed in other forms, which is not specifically limited here.
- the owner ID (owner id) can be used to indicate the last data block visitor, that is, the client ID. It is understandable that other forms may also be used to indicate the last data block visitor, which is not specifically limited here.
- step 303 the first client sends a first access request to the network card device.
- the first client After the network card device updates the state attribute of the metadata, the first client needs to access the storage node. For example, it needs to write data to the storage node.
- the first client sends a first access request to the network card device corresponding to the storage node.
- the first access request is used to write the second data of the first client into the data block in the storage node.
- the first access request may also be used to read data in the storage node, which is not specifically limited here.
- step 304 the network card device determines the conflict according to the first access request and the metadata.
- the network card device When the network card device receives the first access request sent by the first client, and when the first access request is a write request, the network card device parses the second data in the first access request, that is, parses the data corresponding to the second data IO data packet to obtain the data block (access address) and access type accessed by the IO data packet corresponding to the second data.
- the access type includes write request or read request.
- the network card device searches for the corresponding metadata according to the access address corresponding to the second data, and checks the status attribute of the metadata.
- the network card device determines that a conflict occurs.
- the network card device determines that a conflict occurs.
- the network card device also determines that a conflict occurs.
- step 305 the network card device handles the conflict according to the processing strategy.
- the network card device determines that a conflict occurs, invokes the previously set processing strategy, and handles the conflict according to different processing strategies. Different processing methods are applied to the second data.
- the processing strategy may be to send the IO data packet corresponding to the second data to the service software of the storage node, that is, to send the IO data packet corresponding to the second data to the storage node , And send a first conflict notification to the processor.
- the first conflict notification indicates that the second write request sent by the second client conflicts with the first access request sent by the first client, that is, the second write
- the data block that needs to be written in the request is the same as the data block being written in the first access request.
- the processor After the processor obtains the first conflict notification and the second data, it will perform further processing on the second data.
- the processor After the processor acquires the second data, it will write the second data into the corresponding log area in the time sequence of acquiring the second data. After the data of the second write request is written, the processor will write the second data into the corresponding log area. Write the second data into the corresponding data block.
- the processor will write The sequence of entering the log area. After the current client writes to the data block, the processor will write the data that multiple clients need to write to the data block and then write the data to the data block in accordance with the write sequence of the log area. middle.
- the second data may also be processed by other processing strategies.
- the processing strategy may be that the network card device discards the second data.
- the network card device determines that a write conflict occurs, the network card device does not process the second data, that is, discards the second data, and sends a second conflict notification to the first client.
- the second conflict notification is used to indicate the second client.
- the first client After the first client receives the second conflict notification sent by the network card device, the first client will perform further processing.
- the first client after the first client receives the second conflict notification, the first client will abandon the input of the second data, that is, no longer send the write request of the second data to the network card device.
- the first client may also have other processing methods.
- the first client After the first client receives the second conflict notification, the first client will continue to generate a new write request, and the new write request is used to request the second data to be written into the corresponding data block. The first client continues to send new write requests to the network card device.
- the first client may also have other processing methods. For example, after receiving the second conflict notification, it waits for a certain period of time before sending a new write request to the network card device.
- the specific processing method of a client is limited.
- the network card device may also process the second data through other processing strategies, which are not specifically limited here.
- the network card device can directly discard the read request, and send a second conflict notification to the first client, so that the first client can perform subsequent processing.
- step 306 the processor sends a feedback result to the network card device.
- the second client continues to send a new write request to the network card device when the state attribute of the metadata is that the second client writes, and the request is in the data block Write new data, so the state attribute of the metadata corresponding to the data block is the state written by the second client, that is, the network card device determines that the new write request does not conflict, then the network card device continues to use the second client's New data is written into the data block.
- the processor U will obtain that the storage node has written the corresponding data.
- the processor will send a feedback result to the network card device, and the feedback result is used to indicate that all the current data writing of the second client is completed.
- step 307 the network card device clears the state attribute of the metadata according to the feedback result.
- the network card device When the network card device receives the feedback result sent by the processor, the network card device calls the conflict clearing interface of the network card device according to the feedback result to clear the state attribute of the metadata corresponding to the data block, such as clearing the owner ID and the metadata of the metadata.
- the state attribute of the corresponding bitmap, and the version number corresponding to the data block is updated.
- the network card device After clearing the state attribute of the metadata corresponding to the data block, when other clients have a write request to write data to the data block, the network card device determines the write request according to the state attribute of the current metadata There is no conflict, and the data of the other client is written into the data block.
- step 306 and step 307 are optional steps.
- the network card device does not need to clear the state attribute of the metadata according to the feedback result of the processor, for example, when the first client writes, the timer is started When the timer expires, the state attribute of the metadata corresponding to the data block is cleared, which is not specifically limited here.
- the network card device when a conflict occurs, handles the conflict according to the processing strategy, which avoids conflict management through software and saves the resources of the storage node processor.
- FIG. 4 is a schematic structural diagram of an embodiment of the network card device provided by this application.
- a network card device includes an interface 401 and a processor 402, where the interface 401 communicates with the processor 402, and the interface 401 is used to receive a first access request from a first client; the first access request carries an access address;
- the processor 402 is configured to detect whether there is a conflict in the first access request
- the conflict is handled according to the processing strategy.
- the operations performed by the interface 401 and the processor 402 in the network card device are similar to those described in the foregoing embodiment shown in FIG. 3, and will not be repeated here.
- FIG. 4 is a schematic structural diagram of another embodiment of the network card device provided by this application.
- a network card device includes an interface 401 and a processor 402, where the interface 401 communicates with the processor 402, and the interface 401 is used to receive a first access request from a first client; the first access request carries an access address;
- the processor 402 is configured to detect whether there is a conflict in the first access request
- the conflict is handled according to the processing strategy.
- the first access request is a write request
- the interface 401 is further configured to: receive a second write request of the second client before receiving the first access request of the first client, and the second write request includes the access address.
- the processor 402 is specifically configured to detect that the first access request conflicts with the second write request.
- the first access request is a read request
- the interface 401 is further configured to: receive a third write request of a third client before receiving the first access request of the first client, where the third write request includes an access address.
- the processor 402 is specifically configured to detect that the first access request conflicts with the third write request.
- the first access request is used to write the second data into the data block
- the processor 402 is specifically configured to determine that there is a conflict according to the first access request and metadata, and the metadata represents the state attribute of the data block;
- the processor 402 is specifically configured to process the second data according to a processing strategy, and the processing strategy is generated by the processor.
- the processor 402 is further configured to update the state attribute of the metadata according to the second write request to write to the first client.
- the processor 402 is further configured to update the state attribute of the metadata to the write state according to the second write request.
- the interface 401 is configured to send a first conflict notification to the processor corresponding to the data block, and the first conflict notification is used to indicate that the first access request conflicts with the second write request;
- the processor 402 is configured to discard the second data
- the interface 401 is further configured to send a second conflict notification to the first client, and the second conflict notification is used to indicate that the first access request conflicts with the second write request.
- the interface 401 is further configured to receive a feedback result sent by the processor, and the feedback result indicates that the data writing of the second write request is completed;
- the processor 402 is also configured to clear the state attribute of the metadata according to the feedback result.
- the status attributes of the metadata include: version number, conflict status, currently accessed client number, and corresponding data block.
- the operations performed by the interface 401 and the processor 402 in the network card device are similar to those described in the foregoing embodiment shown in FIG. 3, and will not be repeated here.
- FIG. 5 is a schematic structural diagram of another embodiment of the network card device provided by this application.
- the receiving unit 501 is configured to receive a first access request from a first client, where the first access request carries an access address;
- the processing unit 502 is configured to detect whether there is a conflict in the first access request
- the processing unit 502 handles the conflict according to the processing strategy.
- each unit in the network card device is similar to those described in the foregoing embodiment shown in FIG. 3, and will not be repeated here.
- FIG. 6 is a schematic structural diagram of another embodiment of the network card device provided by this application.
- the receiving unit 601 is configured to receive a first access request from a first client, where the first access request carries an access address;
- the processing unit 602 is configured to detect whether there is a conflict in the first access request
- the processing unit 602 handles the conflict according to the processing strategy.
- the first access request is a write request
- the receiving unit 601 is further configured to receive a second write request of the second client before receiving the first access request of the first client, and the second write request includes the access address.
- the processing unit 602 is specifically configured to detect that the first access request conflicts with the second write request.
- the first access request is a read request
- the receiving unit 601 receives the third write request of the third client before receiving the first access request of the first client, and the third write request includes the access address.
- the processing unit 602 is specifically configured to detect that the first access request conflicts with the third write request.
- the first access request is used to write the second data into the access address
- the processing unit 602 is specifically configured to determine that there is a conflict according to the first access request and metadata, and the metadata represents the state attribute of the access address;
- the processing unit 602 is specifically configured to process the second data according to a processing strategy, and the processing strategy is generated by the processor.
- processing unit 602 is further configured to update the state attribute of the metadata according to the second write request to write to the second client.
- processing unit 602 is further configured to update the state attribute of the metadata to the write state according to the second write request.
- the network card device also includes:
- the sending unit 603 is configured to send a first conflict notification to the processor corresponding to the access address, where the first conflict notification is used to indicate that the first access request conflicts with the second write request;
- the processing unit 602 is configured to discard the second data
- the sending unit 603 is further configured to send a second conflict notification to the first client, and the second conflict notification is used to indicate that the first access request conflicts with the second write request.
- the feedback result indicates that the data writing of the second write request is completed
- the processing unit 602 is also configured to clear the state attribute of the metadata according to the feedback result.
- the status attribute of the metadata includes at least one of the following: version number, conflict status, or currently accessed client number.
- each unit in the network card device is similar to those described in the foregoing embodiment shown in FIG. 3, and will not be repeated here.
- the embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored.
- the computer program is executed by a computer, the method process related to the network card device in any of the foregoing method embodiments is implemented.
- the storage node in the embodiment of the present invention may be a storage node in a distributed storage system, or may be an array controller in a storage array.
- the present invention does not limit this.
- processors mentioned in the above embodiments of this application may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), and dedicated integration Circuit (application specific integrated circuit, ASIC), ready-made programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
- the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
- processors in the above embodiments of the present application may be one or multiple, and may be adjusted according to actual application scenarios. This is only an exemplary description and is not limited.
- the number of memories in the embodiment of the present application may be one or multiple, and may be adjusted according to actual application scenarios. This is only an exemplary description and is not limited.
- the memory or readable storage medium mentioned in the above embodiments in the embodiments of the present application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
- the non-volatile memory can be read-only memory (ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), and electrically available Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
- the volatile memory may be random access memory (RAM), which is used as an external cache.
- RAM random access memory
- static random access memory static random access memory
- dynamic RAM dynamic RAM
- DRAM dynamic random access memory
- synchronous dynamic random access memory synchronous DRAM, SDRAM
- double data rate synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
- enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
- synchronous connection dynamic random access memory serial DRAM, SLDRAM
- direct rambus RAM direct rambus RAM, DR RAM
- the embodiment of the present application also provides a computer program or a computer program product including a computer program.
- the computer program When the computer program is executed on a computer, the computer will enable the computer to implement the network card device in any of the foregoing method embodiments. Method flow.
- FIG. 3 it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
- software it can be implemented in the form of a computer program product in whole or in part.
- the computer program product includes one or more computer instructions.
- the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
- the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium.
- the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.).
- wired such as coaxial cable, optical fiber, digital subscriber line (DSL)
- wireless such as infrared, wireless, microwave, etc.
- the computer-readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server or a data center integrated with one or more available media.
- the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
- the disclosed system, device, and method can be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
- the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
- the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which may be a personal computer, a server, or other network devices, etc.) execute all or part of the steps of the method described in the embodiment in FIG. 3 of this application.
- the storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code.
- the words “if” or “if” as used herein can be interpreted as “when” or “when” or “in response to determination” or “in response to detection”.
- the phrase “if determined” or “if detected (statement or event)” can be interpreted as “when determined” or “in response to determination” or “when detected (statement or event) )” or “in response to detection (statement or event)”.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据处理方法,用于存储系统中。本申请实施例方法包括: 网卡设备接收第一客户端的第一访问请求,第一访问请求携带访问地址,网卡设备检测第一访问请求是否存在冲突,当网卡设备检测到第一访问请求存在冲突,网卡设备根据处理策略处理冲突。本申请实施例中,在发生冲突时,网卡设备通过处理策略处理冲突,避免了存储节点的处理器进行冲突管理,节省了存储节点处理器的资源。
Description
本申请要求于2020年3月6日提交中国专利局、申请号为202010153571.4、申请名称为“数据处理方法及其设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请实施例涉及计算机技术领域,具体涉及一种数据处理方法及其设备。
在计算机应用领域中,存储系统的共享卷可以被多个用户访问并且读写,当多个用户对相同共享卷进行访问时,为了避免发生多用户访问冲突,会通过共享卷对应的软件来进行冲突管理。
当通过共享卷对应的软件来进行冲突管理时,需要该共享卷对应的存储节点参与,即需要占用存储节点的处理器资源。
发明内容
本申请实施例提供了一种数据处理方法,用于在数据存储中,发生写冲突时,根据网卡设备处理该冲突,避免了存储节点的处理器参与,节省了存储节点的处理器。
本申请实施例第一方面提供了一种数据处理方法。
在当第一客户端需要访问存储节点时,第一客户端向存储节点对应的网卡设备发送第一访问请求,该第一请求携带了需要访问的存储节点的访问地址。
网卡设备接收到该第一访问请求之后,解析该第一访问请求,并根据该第一访问请求携带的访问地址,检测该第一访问请求是否存在冲突。
当网卡设备检测到第一访问请求访问的访问地址正在被访问时,则确定存在冲突。
当发生冲突之后,网卡设备根据处理策略处理该冲突,该处理策略由网卡设备预先设置的。
本申请实施例中,当发生写冲突时,可以通过网卡设备进行冲突管理,而不需要通过存储节点的处理器参与,节省了存储节点的处理器。
基于本申请实施例第一方面的实施方式,本申请实施例第一方面的第一种实施方式中,第一客户端发送的第一访问请求为写请求,在网卡设备接收第一访问请求之前,网卡设备接收到了第二客户端发送的第二写请求,该第二写请求携带的访问地址和第一访问请求相同,则网卡设备根据该第二写请求携带的访问地址和第一访问请求相同确定该第一访问写请求和第二写请求存在冲突。
本申请实施例中,网卡设备通过第一访问写请求和第二写请求的访问地址相同,确定了发生冲突,提升了方案的可实现性。
基于本申请实施例第一方面或本申请实施例第一方面第一种实施方式中,本申请 实施例第一方面第二种实施方式中,第一客户端发送的第一访问请求为读请求,在在网卡设备接收第一访问请求之前,网卡设备接收到了第三客户端发送的第三写请求,该第三写请求携带的访问地址和第一访问请求携带的访问地址相同,则网卡设备根据该第二写请求和第一访问请求确定该第一访问写请求和第二写请求存在冲突。
本申请实施例中,网卡设备通过第一访问写请求和第二写请求的访问地址相同,确定了发生冲突,提升了方案的可实现性。
基于本申请实施例第一方面、第一方面第一种实施方式或第一方面第二种实施方式,本申请实施例第一方面第三种实施方式中,第一访问请求用于将第二数据写入到存储节点对应的访问地址中,该网卡设备根据该第一访问请求的访问地址和该访问地址对应的元数据上的状态属性,确定存在冲突。网卡设备根据处理策略处理该第二数据,该处理策略由网卡设备生成。
本申请实施例中,网卡设备通过元数据的状态属性确定存在冲突,提升了方案的可实现性。
基于本申请实施例第一方面、第一方面第一种实施方式或第一方面第三种实施方式,本申请实施例第一方面第四种实施方式中,网卡设备在根据第二写请求更新访问地址对应的元数据的状态属性时,将该访问地址对应的元数据的状态属性更新为第二客户端写入。
本申请实施例中,网卡设备将状态属性更新为第二客户端写入,明确了当前正在写入的客户端的信息,在后续还有该客户端的写入请求时,则可以继续写入,提升了数据写入的效率。
基于本申请实施例第一方面、第一方面第一种实施方式或第一方面第四种实施方式,本申请实施例第一方面第五种实施方式中,网卡设备在根据第一请求更新访问地址对应的元数据的状态属性时,将该访问地址对应的元数据的状态属性更新为写入状态。
本申请实施例中,网卡设备将状态属性更新为写入状态,提升了方案的可实现性。
基于本申请实施例第一方面、第一方面第一种实施方式或第一方面第五种实施方式,本申请实施例第一方面第六种实施方式中,网卡设备在根据处理策略处理第二数据时,可以向访问地址对应的处理器发送第一冲突通知,该第一冲突通知表示第二客户端的第二写请求请求写入的访问地址和第一客户端的第一访问请求请求写入的访问地址相同。
本申请实施例中,网卡设备通过向处理器发送第一冲突通知,并且让处理器做后续的处理,提升了方案的可实现性。
基于本申请实施例第一方面、第一方面第一种实施方式或第一方面第六种实施方式,本申请实施例第一方面第七种实施方式中,网卡设备在根据处理策略处理第二数据时,可以直接将该第二数据丢弃,即不获取该第二数据。在丢弃了第二数据之后,网卡设备向第一客户端发送第二冲突通知,该第二冲突通知表示第一客户端的第一访问请求请求写入的访问地址和第二客户端的第二写请求请求写入的访问地址相同。
本申请实施例中,网卡设备通过直接将第二数据丢弃,并向第一客户端发送第二冲突通知,而不需要通过CPU处理该第二数据,节省了CPU的资源。
基于本申请实施例第一方面、第一方面第一种实施方式或第一方面第七种实施方式,本申请实施例第一方面第八种实施方式中,网卡设备在将第二客户端对应的数据写入到数据块中后,网卡设备会接收到处理器发送的反馈结果,该反馈结果表示第二客户端对应的数据写入完成,网卡设备根据该反馈结果调用集成于网卡设备中的冲突清理接口对访问地址对应的元数据的状态属性进行清除。
本申请实施例中,在第一客户端对应的数据写入完成后,网卡设备调用冲突清理接口对元数据的状态属性进行清除,可以使得在访问地址可以被新的客户端访问,提升了方案的可实现性。
基于本申请实施例第一方面、第一方面第一种实施方式或第一方面第八种实施方式,本申请实施例第一方面第九种实施方式中,该数据块对应的元数据可以包括,数据块的版本号和或当前的冲突状态和或当前访问该数据块的客户端号和对应的数据块数量。
本申请实施例中,例举了元数据的具体组成形式,提升了方案的可实现性。
本申请实施例第二方面提供了一种网卡设备。
一种网卡设备,该网卡设备包含接口和处理器,其中,接口与处理器通信,接口用于接收第一客户端的第一访问请求;第一访问请求携带访问地址;
处理器用于检测第一访问请求是否存在冲突;
当检测到第一访问请求存在冲突,根据处理策略处理冲突。
基于本申请实施例第二方面的实施方式,本申请实施例第二方面的第一种实施方式中,第一访问请求为写请求,接口还用于:在接收第一客户端的第一访问请求之前接收第二客户端的第二写请求,第二写请求包含访问地址。
处理器具体用于检测到第一访问请求与第二写请求冲突。
基于本申请实施例第二方面或本申请实施例第二方面第一种实施方式中,本申请实施例第二方面第二种实施方式中,第一访问请求为读请求,接口还用于:在接收第一客户端的第一访问请求之前接收第三客户端的第三写请求,第三写请求包含访问地址。
处理器具体用于检测到第一访问请求与第三写请求冲突。
基于本申请实施例第二方面、第二方面第一种实施方式或第二方面第二种实施方式,本申请实施例第二方面第三种实施方式中,第一访问请求用于将第二数据写入访问地址;
处理器具体用于根据第一访问请求和元数据确定存在冲突,元数据表示访问地址的状态属性;
处理器具体用于根据处理策略处理第二数据,处理策略由处理器生成。
基于本申请实施例第二方面、第二方面第一种实施方式或第二方面第三种实施方式,本申请实施例第二方面第四种实施方式中,处理器还用于根据第二写请求更新元数据的状态属性为第二客户端写入。
基于本申请实施例第二方面、第二方面第一种实施方式或第二方面第四种实施方式,本申请实施例第二方面第五种实施方式中,处理器还用于根据第二写请求更新元数据的状态属性为写入状态。
基于本申请实施例第二方面、第二方面第一种实施方式或第二方面第五种实施方式,本申请实施例第二方面第六种实施方式中,网卡设备的处理器用于向访问地址对应的处理器发送第一冲突通知,第一冲突通知用于表示第一访问请求与第二写请求冲突;
基于本申请实施例第二方面、第二方面第一种实施方式或第二方面第六种实施方式,本申请实施例第二方面第七种实施方式中,处理器用于丢弃第二数据;
接口还用于向第一客户端发送第二冲突通知,第二冲突通知用于表示第一访问请求与第二写请求冲突。
基于本申请实施例第二方面、第二方面第一种实施方式或第二方面第七种实施方式,本申请实施例第二方面第八种实施方式中,接口还用于接收处理器发送的反馈结果,反馈结果表示第二写请求的数据写入完成;
处理器还用于根据反馈结果清除元数据的状态属性。
基于本申请实施例第二方面、第二方面第一种实施方式或第二方面第八种实施方式,本申请实施例第二方面第九种实施方式中,元数据的状态属性包括以下至少一种:版本号、冲突状态或当前访问的客户端号。
本申请实施例第三方面提供了一种网卡设备。
接收单元,用于接收第一客户端的第一访问请求,第一访问请求携带访问地址;
处理单元用于检测第一访问请求是否存在冲突;
当检测到第一访问请求存在冲突,处理单元根据处理策略处理冲突。
基于本申请实施例第三方面的实施方式,本申请实施例第三方面的第一种实施方式中,第一访问请求为写请求,接收单元还用于在接收第一客户端的第一访问请求之前接收第二客户端的第二写请求,第二写请求包含访问地址。
处理单元具体用于检测到第一访问请求与第二写请求冲突。
基于本申请实施例第三方面或本申请实施例第三方面第一种实施方式中,本申请实施例第三方面第二种实施方式中,第一访问请求为读请求,接收单元在接收第一客户端的第一访问请求之前接收第三客户端的第三写请求,第三写请求包含访问地址。
处理单元具体用于检测到第一访问请求与第三写请求冲突。
基于本申请实施例第三方面、第三方面第一种实施方式或第三方面第二种实施方式,本申请实施例第三方面第三种实施方式中,第一访问请求用于将第二数据写入访问地址;
处理单元具体用于根据第一访问请求和元数据确定存在冲突,元数据表示访问地址的状态属性;
处理单元具体用于根据处理策略处理第二数据,处理策略由处理器生成。
基于本申请实施例第三方面、第三方面第一种实施方式或第三方面第三种实施方式,本申请实施例第三方面第四种实施方式中,处理单元还用于根据第二写请求更新元数据的状态属性为第二客户端写入。
基于本申请实施例第三方面、第三方面第一种实施方式或第三方面第四种实施方式,本申请实施例第三方面第五种实施方式中,处理单元还用于根据第二写请求更新元数据的状态属性为写入状态。
基于本申请实施例第三方面、第三方面第一种实施方式或第三方面第五种实施方式,本申请实施例第三方面第六种实施方式中,网卡设备还包括:
发送单元,用于向访问地址对应的处理器发送第一冲突通知,第一冲突通知用于表示第一访问请求与第二写请求冲突;
基于本申请实施例第三方面、第三方面第一种实施方式或第三方面第六种实施方式,本申请实施例第三方面第七种实施方式中,处理单元用于丢弃第二数据;
发送单元还用于向第一客户端发送第二冲突通知,第二冲突通知用于表示第一访问请求与第二写请求冲突。
基于本申请实施例第三方面、第三方面第一种实施方式或第三方面第七种实施方式,本申请实施例第三方面第八种实施方式中,反馈结果表示第二写请求的数据写入完成;
处理单元还用于根据反馈结果清除元数据的状态属性。
基于本申请实施例第三方面、第三方面第一种实施方式或第三方面第八种实施方式,本申请实施例第三方面第九种实施方式中,元数据的状态属性包括以下至少一种:版本号、冲突状态或当前访问的客户端号。
本申请实施例第四方面提供了一种计算机存储介质,所述计算机存储介质中存储有指令,所述指令在所述计算机上执行时,使得计算机执行如本申请第一方面实施方式所述的方法。
本申请实施例第五方面提供了一种计算机程序产品,所述计算机程序产品在计算机上执行时,使得所述计算机执行如本申请第一方面实施方式所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,发生写冲突时,根据网卡设备生成的处理策略处理准备写入相同数据块的第一数据,避免了存储节点的处理器参与,节省了存储节点的处理器。
图1为本申请实施例提供的存储系统框架一个示意图;
图2为本申请实施例提供的存储系统框架另一示意图;
图3为本申请实施例提供的数据处理方法一个流程示意图;
图4为本申请实施例提供的网卡设备的一个结构示意图;
图5为本申请实施例提供的网卡设备的另一结构示意图;
图6为本申请实施例提供的网卡设备的另一结构示意图。
本申请实施例提供了一种数据处理方法,用于在数据存储中,发生访问冲突时,根据网卡设备生成的处理策略处理该冲突,避免了存储节点的处理器参与,节省了存储节点的处理器。
请参阅图1,为本申请提供的存储系统框架一个示意图。
本申请实施例提供了一种存储系统框架,该存储系统框架包括至少两个客户端,第一客户端101和第二客户端102,至少一个存储节点103。
第一客户端101和第二客户端102包含网卡设备NIC,存储节点103包含网卡设备NIC。存储节点104还包含处理器,如中央处理单元(Central Processing Unit,CPU)。
第一客户端用于将数据存储到存储节点103上。
请参阅图2,本申请实施例的存储节点的网卡设备包含冲突检测器,该冲突检测器中有预先设置的元数据,不同的元数据Sn对应着存储节点中不同的数据块blockn,需要说明的是,可以是一个元数据对应一个数据块,也可以是一个元数据对应多个数据块,具体此处不做限定。数据块为客户端访问数据的地址,即访问地址。
需要说明的是,一个数据块的大小可以配置为4k,或者64k,可以理解的是,还可以配置为其他大小,例如128k等,具体此处不做限定。
当第一客户端需要将数据需要写入对应的数据块block1,则通过网卡设备的冲突管理器对应的元数据s1进行确定,当没有其他客户端在写入数据到该数据块时,则第一客户端可以将数据写入该数据块。
在实际应用过程中,该数据存储节点可以被多个客户端同时访问,当多个客户端同时请求向同一个数据块写入数据时,则网卡设备则会进行相应的处理。
下面结合图1和图2的存储系统框架,对本申请实施例中的数据处理方法进行描述。
请参阅图3,为本申请提供的数据处理方法的一个实施例的流程示意图。
在步骤301中,第二客户端向网卡设备发送第二写请求。
当第二客户端需要将数据写入存储节点时,第一客户端向存储节点对应的网卡设备发送第二写请求,该第二请求用于第二客户端的数据写入存储节点中的数据块中,即第二写请求携带的访问地址中。
可以理解的是,在实际应用过程中,根据第二客户端请求写入的数据的大小,该第二客户端的第二写请求可以向存储节点对应的缓冲存储器的网卡设备发送,也可以直接向存储节点的网卡设备发送,具体此处不做限定。
在第二客户端向网卡设备发送第二写请求之前,在存储系统的初始化阶段,存储节点对应的业务软件向网卡设备注册存储节点的共享资源信息,该共享资源的信息包括但不限于,存储节点的数据块的起始地址,共享资源数据块的大小还有共享资源的数据块数量。即通过存储节点中的元数据记录有对应的数据块的数量,该数据块的大小,还有该数据块的起始地址。
在存储系统的初始化阶段,存储节点还会设置对应的处理策略,并且初始化网卡设备上的冲突管理器,该处理策略用于当发生读写冲突时,通过该处理策略处理该读写冲突。
在步骤302中,网卡设备根据第二写请求更新元数据的状态属性为第二客户端写入。
当网卡设备接收到第二客户端发送的第二写请求之后,网卡设备会解析该第二写请求中的数据,即解析该第二写请求的数据对应的IO数据包,得到该第二写请求的数据对应的IO数据包访问的数据块(访问地址)和访问类型。其中访问类型包含写请求或读请求。网卡设备会确定需要写入的数据块对应的元数据的状态属性,当数据块对应的元数据的状态属性为空时,则网卡设备将该第二写请求的数据写入到对应的数据 块中,并将该元数据的状态属性更新为第二客户端写入,该第二客户端写入表示第二客户端正在将数据写入到对应的数据块中。另一种实现,状态属性显示不存在访问冲突,网卡设备将该第二写请求的数据写入到对应的数据块中,并将该元数据的状态属性更新为第二客户端写入,该第二客户端写入表示第二客户端正在将数据写入到对应的数据块中。
可以理解的是,在实际应用过程中,当正在将第二写请求的数据写入到对应的数据块时,该元数据的状态属性还可以有其他的状态属性,例如更新为写入状态,该写入状态表示该数据块有数据正在写入,可以理解的是,还可以有其他形式的状态属性,只要该状态属性可以表示有数据正在输入对应的数据块即可,本申请实施例不对此做具体限定。
在实际应用过程中,该元数据可以包括但不限于数据块的版本号、冲突状态以及最近访问的客户端ID中的一种或多种。
例如通过version1.0来表示该数据块的版本号,可以理解的是,还可以通过其他形式来表示该数据块的版本号,例如V1.1,具体此处不做限定。
例如通过位图bitmap来标识数据块的状态属性,可以理解的是,还可以通过其他形式来表示该数据块的状态属性,具体此处不做限定。
例如可以通过拥有者的ID(owner id)来表示最近一次数据块访问者,即客户端ID。可以理解的是,还可以通过其他形式来表示该最近一次数据块访问者,具体此处不做限定。
在步骤303中,第一客户端向网卡设备发送第一访问请求。
当网卡设备更新元数据的状态属性之后,第一客户端需要访问该存储节点,例如,需要将数据写入该存储节点中,第一客户端向存储节点对应的网卡设备发送第一访问请求,该第一访问请求用于将第一客户端的第二数据写入存储节点中的数据块中。
可以理解的是,该第一访问请求还可以用于读取该存储节点中的数据,具体此处不做限定。
在步骤304中,网卡设备根据第一访问请求和元数据确定冲突。
当网卡设备接收到第一客户端发送的第一访问请求时,当该第一访问请求是写请求时,则网卡设备解析该第一访问请求中的第二数据,即解析第二数据对应的IO数据包,得到该第二数据对应的IO数据包访问的数据块(访问地址)和访问类型。其中访问类型包含写请求或读请求。网卡设备根据第二数据对应的访问地址,查找对应的元数据,并查看该元数据的状态属性,当第二数据对应的IO数据包需要写入访问地址和第二写请求的数据对应的IO数据包需要写入访问地址相同时,即该元数据的状态属性为第一客户端写入时,则网卡设备确定发生冲突。
可以理解的是,当第一访问请求为读请求时,该网卡设备根据需要读取的地址和第二写请求的数据对应的写入地址相同,则网卡设备确定发生冲突。第一访问请求为写请求时,网卡设备同样也确定发生冲突。
在步骤305中,网卡设备根据处理策略处理冲突。
当网卡设备确定发生冲突时,网卡设备调用之前设置的处理策略,根据不同的处理策略,处理该冲突。对该第二数据作出不同的处理方式。
例如,当该第一访问请求为写请求时,该处理策略可以是将该第二数据对应的IO数据包发送给存储节点的业务软件,即将该第二数据对应的IO数据包发送给存储节点的处理器,并且向该处理器发送第一冲突通知,该第一冲突通知表示该第二客户端发送的第二写请求与第一客户端发送的第一访问请求冲突了,即第二写请求需要写入的数据块和第一访问请求正在写入的数据块相同。
当处理器获取到该第一冲突通知和第二数据之后,会对该第二数据做出进一步的处理。
例如,当处理器获取到该第二数据之后,会按照获取该第二数据的时间顺序,将该第二数据写入对应的日志区中,当第二写请求的数据写入完成之后,再将第二数据写入到对应的数据块中。
在实际应用过程中,可能存在多个客户端同时网卡设备发送针对同一个数据块的写入请求,当网卡设备将多个客户端需要写入的数据发送给处理器时,处理器会根据写入日志区的顺序,在当前客户端对该数据块写入完成之后,处理器会按照日志区的写入顺序,将多个客户端需要写入该数据块的数据再写入到该数据块中。
需要说明的是,在实际应用过程中,还可以通过其他处理策略处理该第二数据,例如,该处理策略可以是网卡设备丢弃该第二数据。
当网卡设备确定发生写冲突时,网卡设备不对该第二数据做处理,即丢弃该第二数据,并向第一客户端发送第二冲突通知,该第二冲突通知用于表示该第二客户端发送的第二写请求与第一客户端发送的第一访问请求冲突了,即第二写请求需要写入的数据块和第一访问请求正在写入的数据块是相同的。
当第一客户端接收到网卡设备发送的第二冲突通知后,第一客户端会做出进一步的处理。
例如,当第一客户端接收到该第二冲突通知后,第一客户端会放弃第二数据的输入,即不再向网卡设备发送第二数据的写入请求。
可以理解的是,当第一客户端接收到网卡设备发送的第二冲突通知后,第一客户端还可以有其他的处理方式。
例如,在第一客户端接收到该第二冲突通知后,第一客户端会继续生成新的写入请求,该新的写入请求用于请求将第二数据写入对应的数据块中,第一客户端继续向网卡设备发送新的写入请求。
可以理解的是,第一客户端还可以有其他的处理方式,例如在收到该第二冲突通知后,等待一定的时长,再向网卡设备发送新的写入请求,本申请实施例不对第一客户端的具体处理方式作出限定。
可以理解的是,网卡设备还可以通过其他处理策略处理该第二数据,具体此处不做限定。
当第一访问请求是读请求时,网卡设备可以直接将该读请求丢弃,并向第一客户端发送第二冲突通知,让第一客户端做后续处理。
在步骤306中,处理器向网卡设备发送反馈结果。
当网卡设备在写入第二请求的数据之后,第二客户端在元数据的状态属性为第二客户端写入时,继续向该网卡设备发送新的写入请求,请求在该数据块中写入新的数 据,因此时该数据块对应的元数据的状态属性为二客户端写入的状态,即网卡设备确定该新的写入请求不冲突,则网卡设备继续将该第二客户端的新的数据写入到该数据块中,网卡设备在数据写入之后,处理器U会获取到该存储节点写入了对应的数据。当所有数据写入完成时,处理器会向网卡设备发送一个反馈结果,该反馈结果用于表示第二客户端当前的所有数据写入完成。
在步骤307中,网卡设备根据反馈结果清除元数据的状态属性。
当网卡设备接收到处理器发送的反馈结果时,网卡设备根据该反馈结果,调用网卡设备的冲突清理接口,清除该数据块对应的元数据的状态属性,例如清除该元数据的拥有者ID和对应的bitmap的状态属性,并且更新该数据块对应的版本号。
在清除了该数据块对应的元数据的状态属性之后,当其他客户端有写入请求需要将数据要写入该数据块时,则网卡设备根据当前元数据的状态属性,确定该写入请求不冲突,并将该其他客户端的数据写入该数据块。
在实际应用过程中,步骤306和步骤307为可选步骤,当网卡设备也可以不根据处理器的反馈结果来进行清除元数据的状态属性,例如当第一客户端写入时,启动定时器,当定时器到时时,则清除数据块对应的元数据的状态属性,具体此处不做限定。
本申请实施例中,当发生冲突时,网卡设备根据处理策略处理该冲突,避免了通过软件来进行冲突管理,节省了存储节点处理器的资源。
上面对本申请实施例中的数据处理方法进行了描述,下面对本申请实施例中的网卡设备进行描述,请参阅图4,为本申请提供的网卡设备的一个实施例的结构示意图。
一种网卡设备,该网卡设备包含接口401和处理器402,其中,接口401与处理器402通信,接口401用于接收第一客户端的第一访问请求;第一访问请求携带访问地址;
处理器402用于检测第一访问请求是否存在冲突;
当检测到第一访问请求存在冲突,根据处理策略处理冲突。
本实施例中,网卡设备中接口401和处理器402所执行的操作与前述图3所示实施例描述的类似,此处不再赘述。
请参阅图4,为本申请提供的网卡设备的另一实施例的结构示意图。
一种网卡设备,该网卡设备包含接口401和处理器402,其中,接口401与处理器402通信,接口401用于接收第一客户端的第一访问请求;第一访问请求携带访问地址;
处理器402用于检测第一访问请求是否存在冲突;
当检测到第一访问请求存在冲突,根据处理策略处理冲突。
可选的,第一访问请求为写请求,接口401还用于:在接收第一客户端的第一访问请求之前接收第二客户端的第二写请求,第二写请求包含访问地址。
处理器402具体用于检测到第一访问请求与第二写请求冲突。
可选的,第一访问请求为读请求,接口401还用于:在接收第一客户端的第一访问请求之前接收第三客户端的第三写请求,第三写请求包含访问地址。
处理器402具体用于检测到第一访问请求与第三写请求冲突。
可选的,第一访问请求用于将第二数据写入数据块;
处理器402具体用于根据第一访问请求和元数据确定存在冲突,元数据表示数据块的状态属性;
处理器402具体用于根据处理策略处理第二数据,处理策略由处理器生成。
可选的,处理器402还用于根据第二写请求更新元数据的状态属性为第一客户端写入。
可选的,处理器402还用于根据第二写请求更新元数据的状态属性为写入状态。
可选的,接口401用于向数据块对应的处理器发送第一冲突通知,第一冲突通知用于表示第一访问请求与第二写请求冲突;
可选的,处理器402用于丢弃第二数据;
接口401还用于向第一客户端发送第二冲突通知,第二冲突通知用于表示第一访问请求与第二写请求冲突。
可选的,接口401还用于接收处理器发送的反馈结果,反馈结果表示第二写请求的数据写入完成;
处理器402还用于根据反馈结果清除元数据的状态属性。
可选的,元数据的状态属性包括:版本号、冲突状态、当前访问的客户端号、对应的数据块。
本实施例中,网卡设备中接口401和处理器402所执行的操作与前述图3所示实施例描述的类似,此处不再赘述。
请参阅图5,为本申请提供的网卡设备的另一实施例的结构示意图。
接收单元501,用于接收第一客户端的第一访问请求,第一访问请求携带访问地址;
处理单元502用于检测第一访问请求是否存在冲突;
当检测到第一访问请求存在冲突,处理单元502根据处理策略处理冲突。
本实施例中,网卡设备中各单元所执行的操作与前述图3所示实施例描述的类似,此处不再赘述。
请参阅图6,为本申请提供的网卡设备的另一实施例的结构示意图。
接收单元601,用于接收第一客户端的第一访问请求,第一访问请求携带访问地址;
处理单元602用于检测第一访问请求是否存在冲突;
当检测到第一访问请求存在冲突,处理单元602根据处理策略处理冲突。
可选的,第一访问请求为写请求,接收单元601还用于在接收第一客户端的第一访问请求之前接收第二客户端的第二写请求,第二写请求包含访问地址。
处理单元602具体用于检测到第一访问请求与第二写请求冲突。
可选的,第一访问请求为读请求,接收单元601在接收第一客户端的第一访问请求之前接收第三客户端的第三写请求,第三写请求包含访问地址。
处理单元602具体用于检测到第一访问请求与第三写请求冲突。
可选的,第一访问请求用于将第二数据写入访问地址;
处理单元602具体用于根据第一访问请求和元数据确定存在冲突,元数据表示访问地址的状态属性;
处理单元602具体用于根据处理策略处理第二数据,处理策略由处理器生成。
可选的,处理单元602还用于根据第二写请求更新元数据的状态属性为第二客户端写入。
可选的,处理单元602还用于根据第二写请求更新元数据的状态属性为写入状态。
可选的,网卡设备还包括:
发送单元603,用于向访问地址对应的处理器发送第一冲突通知,第一冲突通知用于表示第一访问请求与第二写请求冲突;
可选的,处理单元602用于丢弃第二数据;
发送单元603还用于向第一客户端发送第二冲突通知,第二冲突通知用于表示第一访问请求与第二写请求冲突。
可选的,反馈结果表示第二写请求的数据写入完成;
处理单元602还用于根据反馈结果清除元数据的状态属性。
可选的,元数据的状态属性包括以下至少一种:版本号、冲突状态或当前访问的客户端号。
本实施例中,网卡设备中各单元所执行的操作与前述图3所示实施例描述的类似,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例中与网卡设备相关的方法流程。
本发明实施例中的存储节点可以为分布式存储系统中的存储节点,也可以为存储阵列中的阵列控制器。本发明对此不作限定。
应理解,本申请以上实施例中提及的处理器,可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请中以上实施例中的处理器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。本申请实施例中的存储器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。
还应理解,本申请实施例中以上实施例中提及的存储器或可读存储介质等,可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本申请实施例还提供了一种计算机程序或包括计算机程序的一种计算机程序产品,该计算机程序在某一计算机上执行时,将会使所述计算机实现上述任一方法实施例中网卡设备的方法流程。
在上述图3中实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者其他网络设备等)执行本申请图3中 实施例所述方法的全部或部分步骤。而该存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
本申请各实施例中提供的消息/帧/信息、模块或单元等的名称仅为示例,可以使用其他名称,只要消息/帧/信息、模块或单元等的作用相同即可。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
取决于语境,如在此所使用的词语“如果”或“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
Claims (32)
- 一种数据处理方法,其特征在于,所述方法包括:网卡设备接收第一客户端的第一访问请求,所述第一访问请求携带访问地址;所述网卡设备检测所述第一访问请求是否存在冲突;当所述网卡设备检测到所述第一访问请求存在冲突,所述网卡设备根据处理策略处理所述冲突。
- 根据权利要求1所述的方法,其特征在于,所述第一访问请求为写请求,所述网卡设备接收第一客户端的第一访问请求之前还包括:所述网卡设备接收第二客户端的第二写请求,所述第二写请求包含所述访问地址;所述网卡设备检测到所述第一访问请求存在冲突具体为:所述网卡设备检测到所述第一访问请求与所述第二写请求冲突。
- 根据权利要求1所述的方法,其特征在于,所述第一访问请求为读请求,所述网卡设备接收第一客户端的第一访问请求之前还包括:所述网卡设备接收第三客户端的第三写请求,所述第三写请求包含所述访问地址;所述网卡设备检测到所述第一访问请求存在冲突具体为:所述网卡设备检测到所述第一访问请求与所述第三写请求冲突。
- 根据权利要求2所述的方法,其特征在于,所述第一访问请求用于将第二数据写入所述访问地址;所述网卡设备根据所述第一访问请求和元数据确定存在冲突,所述元数据表示所述访问地址的状态属性;所述网卡设备根据处理策略处理所述冲突包括:所述网卡设备根据处理策略处理所述第二数据,所述处理策略由所述网卡设备生成。
- 根据权利要求4所述的方法,其特征在于,所述网卡设备检测所述第一访问请求是否存在冲突之前,所述方法还包括:所述网卡设备根据所述第二写请求更新所述元数据的状态属性为所述第二客户端写入。
- 根据权利要求4所述的方法,其特征在于,所述网卡设备检测所述第一访问请求是否存在冲突之前,所述方法还包括:所述网卡设备根据所述第二写请求更新所述元数据的状态属性为写入状态。
- 根据权利要求4至6中任一项所述的方法,其特征在于,所述网卡设备根据处理策略处理所述冲突包括:所述网卡设备向处理器发送第一冲突通知,所述第一冲突通知用于表示所述第一访问请求与所述第二写请求冲突,所述处理器为处理所述访问地址的处理器。
- 根据权利要求4至6中任一项所述的方法,其特征在于,所述网卡设备根据处理策略处理所述冲突包括:所述网卡设备丢弃所述第二数据;所述网卡设备向所述第一客户端发送第二冲突通知,所述第二冲突通知用于表示所述第一访问请求与所述第二写请求冲突。
- 根据权利要求4至8中任一项所述的方法,其特征在于,所述网卡设备根据处理策略处理所述冲突之后,所述方法还包括:所述网卡设备接收所述处理器发送的反馈结果,所述反馈结果表示所述第二写请求的数据写入完成;所述网卡设备根据所述反馈结果清除所述元数据的状态属性。
- 根据权利要求4至9中任一项所述的方法,其特征在于,所述元数据的状态属性包括以下至少一种:版本号、冲突状态或当前访问的客户端号。
- 一种网卡设备,其特征在于,所述网卡设备包含接口和处理器,其中,所述接口与所述处理器通信,所述接口用于接收第一客户端的第一访问请求;所述第一访问请求携带访问地址;所述处理器用于检测所述第一访问请求是否存在冲突;当检测到所述第一访问请求存在冲突,根据处理策略处理所述冲突。
- 根据权利要求11所述的网卡设备,其特征在于,所述第一访问请求为写请求,所述接口还用于:在接收第一客户端的第一访问请求之前接收第二客户端的第二写请求,所述第二写请求包含所述访问地址;所述处理器具体用于检测到所述第一访问请求与所述第二写请求冲突。
- 根据权利要求11所述的网卡设备,其特征在于,所述第一访问请求为读请求,所述接口还用于:在接收第一客户端的第一访问请求之前接收第三客户端的第三写请求,所述第三写请求包含所述访问地址;所述处理器具体用于检测到所述第一访问请求与所述第三写请求冲突。
- 根据权利要求12所述的网卡设备,其特征在于,所述第一访问请求用于将第二数据写入所述访问地址;所述处理器具体用于根据所述第一访问请求和元数据确定存在冲突,所述元数据表示所述访问地址的状态属性;所述处理器具体用于根据处理策略处理所述第二数据,所述处理策略由所述处理器生成。
- 根据权利要求14所述的网卡设备,其特征在于,所述处理器还用于根据所述第二写请求更新所述元数据的状态属性为所述第二客户端写入。
- 根据权利要求14所述的网卡设备,其特征在于,所述处理器还用于根据所述第二写请求更新所述元数据的状态属性为写入状态。
- 根据权利要求14至16中任一项所述的网卡设备,其特征在于,所述接口用于向所述访问地址对应的处理器发送第一冲突通知,所述第一冲突通知用于表示所述第一访问请求与所述第二写请求冲突。
- 根据权利要求14至16中任一项所述的网卡设备,其特征在于,所述处理器用于丢弃所述第二数据;所述接口还用于向所述第一客户端发送第二冲突通知,所述第二冲突通知用于表示所述第一访问请求与所述第二写请求冲突。
- 根据权利要求14至18中任一项所述的网卡设备,其特征在于,所述接口还用于接收所述处理器发送的反馈结果,所述反馈结果表示所述第二写请求的数据写入 完成;所述处理器还用于根据所述反馈结果清除所述元数据的状态属性。
- 根据权利要求14至19中任一项所述的网卡设备,其特征在于,所述元数据的状态属性包括以下至少一种:版本号、冲突状态或当前访问的客户端号。
- 一种网卡设备,其特征在于,所述网卡设备包括:接收单元,用于接收第一客户端的第一访问请求,所述第一访问请求携带访问地址;所述处理单元用于检测所述第一访问请求是否存在冲突;当检测到所述第一访问请求存在冲突,所述处理单元根据处理策略处理所述冲突。
- 根据权利要求21所述的网卡设备,其特征在于,所述第一访问请求为写请求,所述接收单元还用于在接收第一客户端的第一访问请求之前接收第二客户端的第二写请求,所述第二写请求包含所述访问地址;所述处理单元具体用于检测到所述第一访问请求与所述第二写请求冲突。
- 根据权利要求21所述的网卡设备,其特征在于,所述第一访问请求为读请求,所述接收单元在接收第一客户端的第一访问请求之前接收第三客户端的第三写请求,所述第三写请求包含所述访问地址;所述处理单元具体用于检测到所述第一访问请求与所述第三写请求冲突。
- 根据权利要求22所述的网卡设备,其特征在于,所述第一访问请求用于将第二数据写入所述访问地址;所述处理单元具体用于根据所述第一访问请求和元数据确定存在冲突,所述元数据表示所述访问地址的状态属性;所述处理单元具体用于根据处理策略处理所述第二数据,所述处理策略由所述处理器生成。
- 根据权利要求24所述的网卡设备,其特征在于,所述处理单元还用于根据所述第二写请求更新所述元数据的状态属性为所述第二客户端写入。
- 根据权利要求24所述的网卡设备,其特征在于,所述处理单元还用于根据所述第二写请求更新所述元数据的状态属性为写入状态。
- 根据权利要求24至26中任一项所述的网卡设备,其特征在于,所述网卡设备还包括:发送单元,用于向所述访问地址对应的处理器发送第一冲突通知,所述第一冲突通知用于表示所述第一访问请求与所述第二写请求冲突。
- 根据权利要求24至26中任一项所述的网卡设备,其特征在于,所述处理单元用于丢弃所述第二数据;所述发送单元还用于向所述第一客户端发送第二冲突通知,所述第二冲突通知用于表示所述第一访问请求与所述第二写请求冲突。
- 根据权利要求24至28中任一项所述的网卡设备,其特征在于,所述接收单元还用于接收所述处理器发送的反馈结果,所述反馈结果表示所述第二写请求的数据写入完成;所述处理单元还用于根据所述反馈结果清除所述元数据的状态属性。
- 根据权利要求24至29中任一项所述的网卡设备,其特征在于,所述元数据的状态属性包括以下至少一种:版本号、冲突状态或当前访问的客户端号。
- 一种计算机存储介质,所述计算机存储介质中存储有指令,所述指令在所述计算机上执行时,使得计算机执行如权利要求1至10中任一项所述的方法。
- 一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上执行时,使得所述计算机执行如权利要求1至10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21764746.0A EP4102349A4 (en) | 2020-03-06 | 2021-03-02 | DATA PROCESSING METHOD AND DEVICE |
US17/903,233 US11960720B2 (en) | 2020-03-06 | 2022-09-06 | Data processing method and device |
US18/610,950 US20240220105A1 (en) | 2020-03-06 | 2024-03-20 | Data Processing Method and Device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010153571.4A CN113360081A (zh) | 2020-03-06 | 2020-03-06 | 数据处理方法及其设备 |
CN202010153571.4 | 2020-03-06 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/903,233 Continuation US11960720B2 (en) | 2020-03-06 | 2022-09-06 | Data processing method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021175221A1 true WO2021175221A1 (zh) | 2021-09-10 |
Family
ID=77524282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/078734 WO2021175221A1 (zh) | 2020-03-06 | 2021-03-02 | 数据处理方法及其设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11960720B2 (zh) |
EP (1) | EP4102349A4 (zh) |
CN (1) | CN113360081A (zh) |
WO (1) | WO2021175221A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360081A (zh) * | 2020-03-06 | 2021-09-07 | 华为技术有限公司 | 数据处理方法及其设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735217B1 (en) * | 1998-09-15 | 2004-05-11 | Tut Systems, Inc. | Method and apparatus for detecting collisions on a network using multi-cycle waveform pulses |
CN101163051A (zh) * | 2006-10-13 | 2008-04-16 | 鸿富锦精密工业(深圳)有限公司 | 网卡传输速度测试系统及方法 |
CN105849688A (zh) * | 2014-12-01 | 2016-08-10 | 华为技术有限公司 | 数据写入的方法、装置、设备和存储系统 |
CN106843749A (zh) * | 2016-12-14 | 2017-06-13 | 华为技术有限公司 | 写入请求处理方法、装置及设备 |
CN109634974A (zh) * | 2018-12-04 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种数据处理方法、系统及相关组件 |
US20190188138A1 (en) * | 2017-12-19 | 2019-06-20 | International Business Machines Corporation | Coherence protocol providing speculative coherence response to directory probe |
CN110784557A (zh) * | 2018-07-31 | 2020-02-11 | 丛林网络公司 | 检测计算机网络中的硬件地址冲突 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4821264A (en) * | 1988-02-04 | 1989-04-11 | Bell Communications Research, Inc. | Adaptive concentration communication network ISDN access |
EP1690185A4 (en) * | 2003-10-20 | 2007-04-04 | Rhode Island Education | UPPER MEMORY MEMORY STRUCTURE FOR STORAGE SERVERS |
US20120240125A1 (en) * | 2011-03-18 | 2012-09-20 | Qnx Software Systems Co | System Resource Management In An Electronic Device |
US20130205284A1 (en) * | 2012-02-02 | 2013-08-08 | Dhruva Chakrabarti | Ownership acquire policy selection |
US9934177B2 (en) * | 2014-11-04 | 2018-04-03 | Cavium, Inc. | Methods and systems for accessing storage using a network interface card |
US9952804B2 (en) * | 2016-03-08 | 2018-04-24 | International Business Machines Corporation | Hardware transaction transient conflict resolution |
US10762040B2 (en) * | 2017-01-24 | 2020-09-01 | Microsoft Technology Licensing, Llc | Schematized data roaming |
EP3382998A1 (en) * | 2017-03-29 | 2018-10-03 | Juniper Networks, Inc. | Detecting hardware address conflicts in computer networks |
US10180802B2 (en) * | 2017-05-18 | 2019-01-15 | International Business Machines Corporation | Collision detection at multi-node storage sites |
CN113360081A (zh) * | 2020-03-06 | 2021-09-07 | 华为技术有限公司 | 数据处理方法及其设备 |
US11822802B2 (en) * | 2021-12-21 | 2023-11-21 | Hewlett Packard Enterprise Development Lp | Simplified raid implementation for byte-addressable memory |
-
2020
- 2020-03-06 CN CN202010153571.4A patent/CN113360081A/zh active Pending
-
2021
- 2021-03-02 EP EP21764746.0A patent/EP4102349A4/en active Pending
- 2021-03-02 WO PCT/CN2021/078734 patent/WO2021175221A1/zh unknown
-
2022
- 2022-09-06 US US17/903,233 patent/US11960720B2/en active Active
-
2024
- 2024-03-20 US US18/610,950 patent/US20240220105A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735217B1 (en) * | 1998-09-15 | 2004-05-11 | Tut Systems, Inc. | Method and apparatus for detecting collisions on a network using multi-cycle waveform pulses |
CN101163051A (zh) * | 2006-10-13 | 2008-04-16 | 鸿富锦精密工业(深圳)有限公司 | 网卡传输速度测试系统及方法 |
CN105849688A (zh) * | 2014-12-01 | 2016-08-10 | 华为技术有限公司 | 数据写入的方法、装置、设备和存储系统 |
CN106843749A (zh) * | 2016-12-14 | 2017-06-13 | 华为技术有限公司 | 写入请求处理方法、装置及设备 |
US20190188138A1 (en) * | 2017-12-19 | 2019-06-20 | International Business Machines Corporation | Coherence protocol providing speculative coherence response to directory probe |
CN110784557A (zh) * | 2018-07-31 | 2020-02-11 | 丛林网络公司 | 检测计算机网络中的硬件地址冲突 |
CN109634974A (zh) * | 2018-12-04 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种数据处理方法、系统及相关组件 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4102349A4 |
Also Published As
Publication number | Publication date |
---|---|
EP4102349A4 (en) | 2023-07-19 |
CN113360081A (zh) | 2021-09-07 |
US11960720B2 (en) | 2024-04-16 |
US20240220105A1 (en) | 2024-07-04 |
US20230004298A1 (en) | 2023-01-05 |
EP4102349A1 (en) | 2022-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021164178A1 (zh) | 基于云技术的文件分片上传方法、装置、设备及存储介质 | |
US10609150B2 (en) | Lock management method in cluster, lock server, and client | |
US10135784B2 (en) | Verifying source addresses associated with a terminal | |
US10831612B2 (en) | Primary node-standby node data transmission method, control node, and database system | |
WO2022007470A1 (zh) | 一种数据传输的方法、芯片和设备 | |
WO2019127915A1 (zh) | 基于分布式一致性协议实现的数据读取方法及装置 | |
US20240220105A1 (en) | Data Processing Method and Device | |
CN108647240B (zh) | 一种统计访问量的方法、装置、电子设备及存储介质 | |
WO2022057318A1 (zh) | 拉流请求处理方法、装置、系统、电子设备和存储介质 | |
TW201711432A (zh) | 對伺服器進行健康檢查的方法及設備 | |
CN112261094A (zh) | 一种报文处理方法及代理服务器 | |
CN111382206B (zh) | 一种数据存储方法及装置 | |
WO2017161956A1 (zh) | 一种数据库扩展系统、设备和用于扩展数据库的方法 | |
EP3804244B1 (en) | Systems and methods for transport layer processing of server message block protocol messages | |
WO2017032152A1 (zh) | 将数据写入存储设备的方法及存储设备 | |
WO2022127319A1 (zh) | 数据刷新的方法、装置、电子设备及计算机可读存储介质 | |
WO2023143274A1 (zh) | 一种对流表中的流表项处理的方法及装置 | |
WO2022223003A1 (zh) | 一种文件访问方法、网卡以及计算设备 | |
US20130013755A1 (en) | Diskless pc network communication agent system | |
US8930528B2 (en) | Method and system for partitioning directories | |
WO2017177400A1 (zh) | 一种数据处理方法及系统 | |
US20200341653A1 (en) | Method, network adapter and computer program product for processing data | |
US10250515B2 (en) | Method and device for forwarding data messages | |
US11706107B2 (en) | Data management method and apparatus | |
CN114222176A (zh) | 一种同步投屏方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21764746 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021764746 Country of ref document: EP Effective date: 20220908 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |