WO2023065648A1 - 一种数据处理方法及相关设备 - Google Patents

一种数据处理方法及相关设备 Download PDF

Info

Publication number
WO2023065648A1
WO2023065648A1 PCT/CN2022/091823 CN2022091823W WO2023065648A1 WO 2023065648 A1 WO2023065648 A1 WO 2023065648A1 CN 2022091823 W CN2022091823 W CN 2022091823W WO 2023065648 A1 WO2023065648 A1 WO 2023065648A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
external device
data format
target
conversion device
Prior art date
Application number
PCT/CN2022/091823
Other languages
English (en)
French (fr)
Inventor
彭林
Original Assignee
华为云计算技术有限公司
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 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2023065648A1 publication Critical patent/WO2023065648A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/54Interprogram communication

Definitions

  • the present application relates to the field of computer technology, in particular to a data processing method and related equipment.
  • computing devices such as hosts
  • PCIE peripheral component interconnect express
  • external devices computing devices
  • the driver corresponding to the external device accesses the external device, such as using a network card driver to access a network card connected to the computing device, using a graphics processing unit (graphics processing unit, GPU) driver to access a GPU network card connected to the computing device, etc.
  • graphics processing unit graphics processing unit, GPU
  • different drivers are used to support the computing device to access different external devices.
  • the computing device needs to frequently load and run multiple different drivers to support the computing device to access different external devices, thereby increasing resource consumption required by the computing device to access different external devices.
  • the present application provides a data processing method for reducing resource consumption required by a computing device to access different external devices.
  • the present application also provides a conversion device, a computer device, a computer-readable storage medium, and a computer program product.
  • the present application provides a data processing method, which is applied to a data processing system, and the data processing system includes a sequentially connected computing device, a conversion device, and at least one external device.
  • the conversion device receives a data processing request in the first data format sent by the computing device, such as a request to access an external device, and then, the conversion device determines the target external device corresponding to the data processing request from at least one external device, such as determining computing the external device requested by the device to access, and determining a second data format recognizable by the target external device from the data formats corresponding to the various external devices, the second data format being different from the first data format; and then , the computing device converts the data processing request in the first data format into a data processing request in the second data format, and sends the data processing request in the second data format to the target external device.
  • the conversion device can correspond to data formats according to various types of external devices, it converts the data processing request sent by the computing device from the first data format to the second data format that the external device can recognize, and based on the converted data format The data processing request accesses the corresponding external device.
  • the computing device can also realize access to multiple different types of external devices without installing multiple drivers (such as installing only one driver that can recognize the first data format, etc.), thereby effectively reducing computing power.
  • the resource consumption required by the device to access different external devices such as reducing the consumption of storage resources and computing resources on the computing device.
  • the coupling between the computing device and one or more external devices connected to it can be reduced, and the computing device can not perceive the type of the external device connected to the conversion device, which makes it difficult for the external device in the data processing system to change , it does not affect the computing device, and only needs to adjust the corresponding driver in the conversion device, so that for the computing device, the difference of the external device can be shielded, so that the computing device can use different data formats produced by different manufacturers external equipment, improve the diversified supply capacity of external equipment.
  • the conversion device when it receives a data processing request in the first data format, it may specifically first write the first location identifier sent by the computing device into the first queue in the conversion device, and the first location The identification is used to indicate the storage location of the data processing request in the first data format in the computing device; then, the conversion device acquires the data processing request in the first data format from the computing device according to the first location identification. In this way, the transmission of the data processing request in the first data format from the computing device to the conversion device can be realized.
  • the conversion device may also forward the data sent by the target external device to the computing device.
  • the conversion device writes a second location identifier into the first queue in the conversion device, and the second location identifier is used to indicate the storage location of the first target data in the second data format in the second queue, and then converts The device converts the first target data in the second data format into the first target data in the first data format according to the second location identifier, and sends the first target data in the first data format to the computing device.
  • the conversion device can convert the first target data into a data format that the computing device can recognize, thereby realizing communication between the computing device and the target external device. Successful communication.
  • At least one external device connected to the conversion device includes multiple external devices of the same type. At this time, relative to the computing device, multiple external devices of the same type can be combined into one external device, so that the capabilities of the external device can be expanded.
  • the at least one external device connected to the conversion device includes a plurality of different types of external devices. At this time, different types of external devices can independently provide different functions for the computing device. For example, one of the external devices is a compression card, and the other is a GPU network card, etc., which can respectively provide the computing device with video data compression and processing. Image data functions, etc.
  • the converting device may also receive the data to be processed in the first data format sent by the computing device, and convert the The data to be processed in the first data format is converted into the data to be processed in the third data format corresponding to the first external device, so that the first external device can identify the data to be processed; then, the conversion device for the third data format Perform the first processing operation corresponding to the first external device on the data to be processed, such as encrypting the data to be processed, etc., to obtain intermediate data in the third data format, and further convert the intermediate data in the third data format into the second external device
  • the second target data in the fourth data format corresponding to the device so as to perform the second processing operation corresponding to the second external device on the second target data in the fourth data format, such as storing the second target data obtained after encryption to a second external device, etc.
  • the conversion device is connected to the target external device in the at least one external device through a network.
  • the computing device can be unaware of whether the target external device is local or remote, so that the computing device can realize the decoupling of the logical function and physical implementation of the external device.
  • the conversion device establishes a connection with the external device in a wireless manner, so that more resources can be shared and the reuse ratio of resources can be improved.
  • multiple drivers are stored in the conversion device, that is, program codes of multiple drivers are stored, so that when the conversion device sends a data processing request in the second data format to the target external device, it can specifically First load the target driver corresponding to the target external device among the various drivers, and then, the conversion device sends the data processing request in the second data format to the target external device through the target driver.
  • the target external device includes an external component express PCIE device.
  • the present application provides a conversion device, and the conversion device includes various modules for implementing the data processing method in the first aspect.
  • the conversion device provided in the second aspect corresponds to the data processing method provided in the first aspect
  • the technical effects of the second aspect and any possible implementation of the second aspect please refer to the corresponding first
  • the aspect and the technical effect corresponding to any possible implementation manner of the first aspect will not be repeated in this embodiment.
  • the present application provides a conversion device, the conversion device includes a processor and a memory; the memory is used to store instructions, and when the conversion device is running, the processor executes the instructions stored in the memory, so that the The conversion device executes the data processing method in the foregoing first aspect or any possible implementation manner of the first aspect.
  • the memory may be integrated in the processor, or independent of the processor.
  • a conversion device may also include a bus. Wherein, the processor is connected to the memory through the bus.
  • the memory may include a readable memory and a random access memory.
  • the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on a computer device, the computer device executes the above-mentioned first aspect or any of the first aspects. A method described in an implementation.
  • the present application provides a computer program product containing instructions, which, when run on a computer device, causes the computer device to execute the method described in the first aspect or any implementation manner of the first aspect.
  • FIG. 1 is a schematic diagram of the architecture of a data processing system provided by an embodiment of the present application
  • FIG. 2 is a schematic flow diagram of a data processing method provided in an embodiment of the present application.
  • FIG. 3 is a schematic diagram of the data processing request provided by the embodiment of the present application being transmitted from the computing device 100 to the target external device;
  • FIG. 4 is a schematic diagram of a first data format of a data processing request provided by an embodiment of the present application
  • FIG. 5 is a schematic diagram of the first data format of the converted data processing request provided by the embodiment of the present application.
  • FIG. 6 is a schematic diagram of the transmission of the first target data from the target external device to the computing device 100 provided by the embodiment of the present application;
  • FIG. 7 is a schematic structural diagram of another data processing system provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of the processing process of the conversion device 200 for the data to be processed provided by the embodiment of the present application;
  • FIG. 9 is a schematic structural diagram of a conversion device 900 provided by an embodiment of the present application.
  • the data processing system includes a computing device 100, a conversion device 200, and at least one external device connected in sequence.
  • the external device 301 and the external device 302 are included as an example for illustration. In actual application, any number of external devices may be included in the data processing system, which is not limited in this application.
  • there may be a physical connection between the computing device 100 and the conversion device 200 such as connecting through a universal serial bus (universal serial bus, USB).
  • the connection may be performed in a wireless manner, etc.
  • the connection in a wired manner is taken as an example for illustration.
  • the computing device 100 may be a device capable of data processing, such as a terminal, a server, and the like. Also, the computing device 100 may access the external device 301 and/or the external device 302 through the conversion device 200 . For example, as shown in FIG. 1, the computing device 100 can run one or more application programs 101 (or protocol stacks), so that the computing device 100 can generate data (such as business data, etc.) generated by the application programs 101 (or protocol stacks) Write to external device 301 and/or external device 302. Of course, the computing device 100 can also read the data stored in the external device 301 and/or the external device 302 .
  • application programs 101 or protocol stacks
  • the external device 301 can be, for example, any device that supports the PCIE standard, such as a network card, a GPU network card, an encryption and decryption card (a device with encryption and decryption functions), or other devices that support protocols. , such as devices supporting wireless bandwidth (infiniband, IB) standards, etc., which are not limited in this embodiment.
  • the conversion device 200 can support the computing device 100 In the case of installing a small number of drivers (such as one driver, etc.), access to multiple different types of external devices is realized.
  • the conversion device 200 includes a driver module 201 , a driver module 203 required by the adaptation module 202 to access the PICE device 301 , and a driver module 204 required to access the external device 302 .
  • the application program 101 in the computing device 100 can generate a data processing request in the first data format, and the data in the first data format can be processed by the driver module 102 supporting the external protocol in the computing device 100.
  • the processing request is sent to the conversion device 200 . It is assumed here that it is difficult for the computing device 100 to directly use the driver module 102 to access the external device 301 .
  • the driver module 201 in the conversion device 200 After receiving the data processing request in the first data format, the driver module 201 in the conversion device 200 provides it to the adaptation module 202 .
  • the adaptation module 202 determines that the external device for processing the data processing request is the external device 301 , for example, determines that the data processing request is processed by the external device 301 through a load balancing policy.
  • the adaptation module 202 determines the second data format recognizable by the external device 301 from the data formats corresponding to the various external devices stored locally, and processes the data in the first data format A data processing request requesting conversion into a second data format.
  • the driving module 203 sends the data processing request in the second data format converted by the adaptation module 202 to the external device 301, so that the external device 301 processes the data processing request.
  • the conversion device 200 when the conversion device 200 is connected to the external device 301 , it can load and run the driver required to access the external device 301 for the connected external device 301 through device detection, so as to complete the configuration of the driver module 203 .
  • the conversion device 200 can convert the format of the data processing request sent by the computing device 100 from the first data format into corresponding data that the external device 302 can recognize based on the above-mentioned similar process. format, and implement access to the external device 302 based on the format-converted data processing request. For its specific implementation, refer to the above-mentioned related descriptions about accessing the external device 301, and details are not repeated here.
  • the conversion device 200 can correspond to data formats according to various types of external devices, it converts the data processing request sent by the computing device 100 from the first data format into a data format that can be recognized by the external device 301 or external device 302, and based on The data processing request after data format conversion accesses the corresponding external device 301 or external device 302 .
  • the computing device 100 can also realize access to multiple different types of external devices without installing multiple drivers (such as installing only one driver that can recognize the first data format, etc.), thereby effectively reducing the number of external devices. Resource consumption required by the computing device 100 to access different external devices, such as reducing consumption of storage resources and computing resources on the computing device 100 .
  • the coupling between the computing device 100 and one or more external devices connected to it can be reduced, and the computing device 100 can not perceive the type of the external device connected to the conversion device 200, which makes when the external device in the data processing system When the device changes, it may not affect the computing device 100, and only need to adjust the corresponding driver in the conversion device 200, so that for the computing device 100, the difference of external devices can be shielded, so that the computing device 100 can use different products.
  • the external devices produced by manufacturers that support different data formats improve the diversified supply capabilities of external devices.
  • the conversion device 200 can be realized by hardware, and at this time, the conversion device 200 can be realized by utilizing an application-specific integrated circuit (application-specific integrated circuit, ASIC) or a device realized by a programmable logic device (programmable logic device, PLD). wait.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD can be implemented by complex programmable logic device (complex programmable logical device, CPLD), field-programmable gate array (field-programmable gate array, FPGA), general array logic (generic array logic, GAL) or any combination thereof.
  • the data processing system shown in FIG. 1 is only used as an exemplary description, and is not used to limit the specific implementation of the data processing system.
  • the data processing system may include more than three (including three) external devices, and the types of different external devices may be different; or, the drive module 203 in the conversion device 200, for example, includes The network card driver is used to connect with the external device 301 through the network.
  • the embodiments of the present application may be applied to any applicable data processing system, and are not limited to the example shown in FIG. 1 .
  • Fig. 2 is a schematic flow chart of a data processing method provided by the embodiment of the present application. This method can be applied to the data processing system shown in Fig. 1. In actual application, this method can also be applied to other applicable The data processing system, which is not limited in this application.
  • the embodiment of the present application is described by taking the application to the data processing system shown in FIG. 1 as an example. As shown in Figure 2, the method may specifically include:
  • the application program 101 in the computing device 100 generates a data processing request in a first data format, and provides it to the driver module 102.
  • an application program 101 may be installed in the computing device 100, and the application program 101 may access any external device (such as a PCIE device, etc.) in the data processing system during operation.
  • the application program 101 may write data to the external device or read data already stored in the external device.
  • the external device accessed by the computing device 100 is referred to as a target external device hereinafter.
  • the application program 101 may generate a data processing request in the first data format.
  • the application program 101 can write it into a storage area (such as memory) in the computing device 100, and record the storage location of the data processing request in the storage area.
  • the storage area can be accessed by the driving module 102, so that the subsequent driving module 102 can perform data interaction with the conversion device 200 based on the storage area.
  • the driver module 102 may provide a standard read-write interface, and write the data processing request in the first data format into the storage area through the read-write interface.
  • the driver module 102 can also write other data into the storage area through the read-write interface, such as writing data that needs to be persistently stored in the target external device; or, the driver module 102 can also obtain data through the read-write interface. Convert the data fed back by the device 200 and the like.
  • the computing device 100 can configure the storage area as the sending queue of the driver module 102, as shown in FIG. Processing requests, etc.) are sequentially written into the sending queue.
  • the driver module 102 sends a first location identifier to the conversion device 200, where the first location identifier is used to indicate a storage location in the computing device 100 of the data processing request in the first data format.
  • the first location identifier may be, for example, a pointer used to indicate a storage address or the like.
  • the driving module 102 may instruct the conversion device 200 to read corresponding data from the computing device 100 based on the first location identifier by sending the first location identifier to the conversion device 200 .
  • S203 The drive module 201 in the conversion device 200 writes the first location identifier into queue 1 in the conversion device 200 .
  • the driver module 201 may write it into the queue 1 .
  • the driver module 102 may sequentially write the location identifiers into the queue 1 according to the sequence in which it receives the location identifiers.
  • the queue 1 may be implemented by software, or may be implemented by hardware, which is not limited in this embodiment.
  • the driver module 201 obtains a data processing request in the first data format from the computing device 100 according to the first location identifier stored in the queue 1, and provides it to the adaptation module 202.
  • the driver module 201 reads the first location identifier from the queue 1, and according to the first location identifier, accesses the corresponding storage area in the computing device 100 to obtain the data in the storage area, and the data is the first data format.
  • the data processing request as shown in FIG. 3 , completes the process of moving the data processing request in the first data format from the computing device 100 to the conversion device 200 , that is, realizes the conversion device.
  • the adaptation module 202 determines a target external device corresponding to the data processing request from at least one external device connected to the conversion device 200 .
  • the adaptation module 202 may determine the external device that processes the data processing request according to the corresponding processing operation or type of the data processing request. For example, assuming that the external device 301 is specifically a RAID card and the external device 302 is a compression card, when the data processing request is a data read and write request, the adaptation module 202 determines to use the external device 301 to process the data processing request.
  • the first data format of the data processing request received by the conversion device 200 is as shown in FIG. 4 , wherein the MAC field in the data processing request is used to indicate the 200) of the media access control (media access control, MAC) address, the IP field is used to indicate the Internet protocol (internet protocol, IP) address of the device (comprising the computing device 100 and/or conversion device 200), the data body (payload) Fields are used to carry the actual data that computing device 100 is to store. Then, the adaptation module 102 may select an external device selected for storing data among one or more external devices connected to the conversion device 200 as a target external device.
  • the data processing request sent by the computing device 100 to the conversion device 200 may also be in other possible data formats than those shown in FIG. 4 , which is not limited in this embodiment.
  • the adaptation module 200 can use load balancing or polling.
  • a target external device for processing the data processing request is selected from among multiple external devices of the same type.
  • the adaptation module 202 determines a second data format recognizable by the target external device from data formats respectively corresponding to various external devices.
  • the conversion device 200 can pre-store the corresponding relationship between the identifiers of various external devices that it may access and the data formats supported (that is, identifiable) by each external device, so that the adaptation module 202 After obtaining the identifier of the target external device, the data format (hereinafter referred to as the second data format) that can be recognized by the target external device may be determined by searching the corresponding relationship.
  • the data format hereinafter referred to as the second data format
  • the adaptation module 202 may continue to execute step S207 to perform format conversion on the data processing request.
  • the adaptation module 202 converts the data processing request in the first data format into a data processing request in the second data format.
  • the adaptation module 202 may extract the information carried in the data processing request in the first data format, and construct a new data processing request according to the second data format.
  • the data processing request in the first data format is a message that does not support the virtual extended local area network (virtual extensible local area network, VXLAN) protocol shown in FIG.
  • VXLAN virtual extensible local area network
  • the VXLAN packet header is automatically added to the data processing request to obtain the data processing request in the second data format as shown in FIG. 5 .
  • the added VXLAN message header may include a MAC field, a UDP field and a VXLAN field. In this way, the conversion of the data processing request from the first data format to the second data format can be realized.
  • the adaptation module 202 can also convert the data processing request between any two data formats. In this embodiment, Not limited.
  • the adaptation module 202 may write it into the queue 2 in the conversion device 200 for temporary storage, as shown in FIG. 3 .
  • the driver module 203 sends a data processing request in the second data format to the target external device.
  • the adaptation module 202 may use the driver module 203 to send a data processing request in the second data format to the target PICE device.
  • the driver module 203 may pre-record the location identifier used to indicate the storage location of the data processing request in the second data format in the queue 2, and notify the location identifier to the target external device (the target external device passes through the queue 3 Store the location identifier), so that the target external device can access queue 2 according to the location identifier to obtain the data processing request in the second data format, so that the target external device performs corresponding operations according to the data processing request, such as reading data or writing data manipulation, etc.
  • the conversion device 200 may be pre-configured with drivers of various external devices, for example, the drivers corresponding to various external devices may be integrated into the conversion device 200 .
  • the conversion device 200 can search for the target driver required to use the target external device from various drivers stored locally, and load and run the target driver on the conversion device 200
  • the target driver is configured on the conversion device 200 to configure the driver module 203 including the target driver, so that the subsequent driver module 203 accesses the target external device through the target driver, such as sending data in the second data format to the target external device through the target driver processing requests etc.
  • the data processing request that the driver module 203 does not support the first data format is taken as an example for illustration.
  • the conversion device 200 does not need to convert the data format of the data processing request, and can realize access to the target external device through the driver module 203.
  • the process of transmitting the data from the computing device 100 to the target external device may be the same as the above data processing request transmitted from the computing device 100 to the target external device.
  • the process is similar, and for details, refer to the relevant descriptions of the foregoing embodiments, and details are not repeated here.
  • the target external device when the target external device transmits data to the computing device 100, such as feeding back the data it needs to read to the computing device 100, the process of transmitting the data from the target external device to the computing device 100 can be shown in FIG. 6 .
  • the target external device may pre-write the location identifier used to indicate the storage location of the first target data in the second data format in the target external device. in the queue 3, and after sending the location identifier to the conversion device 200, the drive module 203 accesses the target external device according to the location identifier and obtains the first target data, and writes the first target data into the queue 2, thereby The receiving of the first target data is realized.
  • the driving module 203 may write a second location identifier into the queue 1, where the second location identifier is used to indicate the storage location of the first target data in the second data format in the queue 2.
  • the driver module 201 may notify the driver module 102 in the computing device 100 of the second location identifier, so that the driver module 102 accesses and obtains the first target data in the second data format in the queue 2 according to the second location identifier.
  • the adaptation module 202 can convert the data format of the first target data from the second data format during the process of obtaining the first target data by the driver module 102 is in the first data format, and the obtained first target data in the first data format is moved to the sending queue in the computing device 100 , so as to realize the transmission of the first target data from the target external device to the computing device 100 .
  • the computing device 100 accesses the external device 301 (target external device) as an example for illustration.
  • the computing device 100 accesses other external devices, such as accessing the external device 302, the specific implementation method is the same as the above calculation
  • the process of accessing the external device 302 by the device 100 is similar, and the difference is that the conversion device 200 uses the driver module 204 to access the external device 302.
  • the conversion device 200 uses the driver module 204 to access the external device 302.
  • the conversion device 200 sends the The data processing request in the first data format may be directly sent to the external device 302 through the driver module 204 without converting the data format.
  • the conversion device 200 may be connected to the external device 301 and/or the external device 302 in a wired manner, or the conversion device 200 may be connected to the external device 301 and/or the external device 302 through a network.
  • the driver module 203 may include a network card driver, and the network card driver may be responsible for the conversion device 200 and the remote device.
  • the external device 301 (or the external device 302 ) is connected by wire through a cable, or connected through a wireless network, and performs data interaction.
  • the computing device 100 is not aware of whether the external device 301 (and the external device 302 ) is local or remote, so that the computing device 100 can decouple the logical functions and physical implementation of the external device.
  • the conversion device 200 establishes a connection with an external device in a wireless manner, so that more resources can be shared and a resource multiplexing ratio can be increased.
  • the computing device 100 temporarily does not use the external device (such as a hardware accelerator) connected to the conversion device 200, other computing devices may use the external device, so as to improve resource utilization of the external device.
  • the external device 301 and the external device 302 in the data processing system may be the same type of external device, at this time, relative to the computing device 100, multiple external devices of the same type may be combined into one external device, Thereby, the capability of the external device can be expanded.
  • the compression capability of a single external device supports a compression speed of 2GB/s (gigabytes per second), that is, 2GB of video is compressed per second. data, so that the computing device 100 can achieve a compression speed of 4 GB/s based on the external device 301 and the external device 302 .
  • a currently connected external device that is, an external device obtained from the foregoing combination
  • the drivers included in the driver module 203 and the driver module 204 may be the same.
  • the external device 301 and the external device 302 may also be different types of external devices, and the drivers included in the driver module 203 and the driver module 204 are different. At this time, different types of external devices can provide different functions for the computing device 100 independently.
  • the external device 301 is a compression card
  • the external device 302 is a GPU network card. Image data functions, etc.
  • the external device 301 and the external device 302 may cooperate to provide the fusion function for the computing device 100 .
  • the computing device 100 can realize encrypted storage or decrypted storage of data based on the encryption and decryption card and RAID.
  • the adaptation module 202 in the conversion device 200 may include an adaptation unit 2021, an adaptation unit 2022, and a management unit 2023, wherein the adaptation unit 2021 is used for the external device 301 Perform data format conversion (in this embodiment, it is assumed that the data format that the external device 301 can recognize is the third data format), and the adaptation unit 2022 is used to perform data format conversion for the external device 302 (in this embodiment, it is assumed that the external device The data format that can be recognized by 302 is the fourth data format), and the management unit 2023 is used to manage and integrate the data processing logic provided by the external device 301 and the external device 302 .
  • the processing process of the conversion device 200 for the data to be processed may specifically include:
  • the driver module 201 receives data to be processed in a first data format sent by the computing device 100 .
  • step S801 for the specific implementation process of obtaining the data to be processed in the first data format in step S801, please refer to the description of the relevant parts of the driver module 201 receiving the data processing request described in the steps S201 to S204 in the foregoing embodiment, which will not be described here. Do repeat.
  • the management unit 2023 sends the data to be processed in the first data format to the adaptation unit 2021.
  • the adapting unit 2021 determines a third data format recognizable by the external device 301 from data formats respectively corresponding to various external devices.
  • the adaptation unit 2021 converts the data to be processed in the first data format into data to be processed in the third data format.
  • step S803 and step S804 for the specific implementation process of step S803 and step S804, reference may be made to the relevant descriptions of step S206 and step S207 in the foregoing embodiments, and details are not repeated here.
  • the adaptation unit 2021 executes the first processing operation corresponding to the external device 301 on the data to be processed in the third data format, obtains the intermediate data in the third data format, and feeds it back to the management unit 2023.
  • the first processing operation corresponds to the function provided by the external device 301 .
  • the first processing operation may specifically be an encryption operation or a decryption operation on data to be processed in the third data format; correspondingly, the obtained intermediate data in the third data format, That is, the ciphertext obtained after the data to be processed is encrypted, or the plaintext obtained after the data to be processed is decrypted.
  • the adaptation unit 2021 may obtain a key from the external device 301 through the driver module 203, and use the key to encrypt or decrypt the data to be processed. Or, in other embodiments, the adaptation unit 2021 may control the external device 301 to encrypt or decrypt the data to be processed through the driver module 203 .
  • the management unit 2023 sends the intermediate data in the third data format to the adaptation unit 2022.
  • the management unit 2023 is responsible for setting the processing logic for the data to be processed.
  • the processing logic is specifically to first execute the first processing operation corresponding to the external device 301 , and then execute the second processing operation corresponding to the external device 302 .
  • the management unit 2023 can flexibly formulate the processing logic for the data to be processed, such as performing the second processing operation first, and then performing the first processing operation, etc., which is not limited in this embodiment.
  • the adapting unit 2022 determines a fourth data format recognizable by the external device 302 from data formats respectively corresponding to various external devices.
  • the adaptation unit 2022 converts the intermediate data in the third data format into the second target data in the fourth data format.
  • step S807 and step S808 for the specific implementation process of step S807 and step S808, reference may be made to the relevant description of step S206 and step S207 in the foregoing embodiment, and details are not repeated here.
  • the adapting unit 2022 performs a second processing operation corresponding to the external device 301 on the second target data in the fourth data format.
  • the second processing operation corresponds to the function provided by the external device 302 .
  • the second processing operation may specifically be a compression operation for the second target data in the fourth data format, that is, compress the second target data in the fourth data format to reduce The data volume of the second target data.
  • the adaptation unit 2022 may control the external device 302 to compress the second target data through the driver module 204 .
  • the conversion device 200 can provide the computing device 100 with a fusion function of encrypting and decrypting data + compressing data based on the PICE device 301 and the external device 302 .
  • step S809 is exemplified by taking the adaptation unit 2022 performing the second processing operation as an example.
  • the driving module 203 may also perform the second processing operation.
  • the second processing operation is specifically a storage operation for the second target data in the fourth data format, that is, after the adaptation unit 2022 converts and obtains the second target data in the fourth data format
  • the driver module 203 may send the second target data in the fourth data format to the external device 302, so as to store the second target data.
  • the conversion device 200 can provide the computing device 100 with a fusion function of encrypting and decrypting data + storing data based on the PICE device 301 and the external device 302 .
  • the processing process of the conversion device 200 shown in FIG. 8 for the data to be processed is only used as an exemplary illustration, and in actual application, the conversion device 200 may also use other methods to realize the processing of the data to be processed.
  • the management unit 2023 may directly instruct the adaptation unit 2022 to acquire the intermediate data in the third data format from the adaptation unit 2021 after determining that the adaptation unit 2021 has executed the first processing operation, so that The forwarding of this data to the adaptation unit 2021 does not need to be carried out by the management unit 2023 .
  • the conversion device 200 can access a greater number of external devices, so that the conversion device 200 can perform more processing operations on the data to be processed, that is, integrate a greater number of processing functions, Such as the fusion of more than three (including three) processing functions (such as the fusion of data encryption, compression and storage functions, etc.).
  • the conversion device 200 involved in the data processing process performed by the conversion device will be introduced in detail.
  • Figure 9 shows a switching device.
  • the conversion device 900 shown in FIG. 9 can be specifically used to implement the functions of the conversion device 200 in the embodiment shown in FIG. 2 above.
  • the computer device 900 includes a bus 901 , a processor 902 , a communication interface 903 and a memory 904 .
  • the processor 902 , the memory 904 and the communication interface 903 communicate through the bus 901 .
  • the bus 901 may be a peripheral component interconnect standard (peripheral component interconnect, PCI) bus or an extended industry standard architecture (extended industry standard architecture, EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 9 , but it does not mean that there is only one bus or one type of bus.
  • the communication interface 903 is used for communicating with the outside, for example, receiving a data processing request sent by a computing device.
  • the processor 902 may be a central processing unit (central processing unit, CPU).
  • the memory 904 may include a volatile memory (volatile memory), such as a random access memory (random access memory, RAM).
  • the memory 904 may also include a non-volatile memory (non-volatile memory), such as a read-only memory (read-only memory, ROM), flash memory, HDD or SSD.
  • Executable codes are stored in the memory 904, and the processor 902 executes the executable codes to execute the method executed by the conversion device.
  • the embodiment of the present application also provides a computer-readable storage medium, the computer-readable storage medium stores instructions, and when the computer-readable storage medium is run on the computer device, the computer device executes the conversion device 200 of the above-mentioned embodiment. method.
  • an embodiment of the present application also provides a computer program product.
  • the computer program product When the computer program product is executed by a computer, the computer executes any one of the foregoing data processing methods.
  • the computer program product may be a software installation package, which can be downloaded and executed on a computer if any of the aforementioned data processing methods needs to be used.
  • connection relationship between the modules indicates that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines.
  • the essence of the technical solution of this application or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product is stored in a readable storage medium, such as a floppy disk of a computer , U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., including several instructions to make a computer device (which can be a personal computer, training device, or network device, etc.) execute the instructions described in various embodiments of the present application method.
  • a computer device which can be a personal computer, training device, or network device, etc.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transferred from a website, computer, training device, or data
  • the center transmits to another website site, computer, training device or data center via wired (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • wired eg, coaxial cable, fiber optic, digital subscriber line (DSL)
  • wireless eg, 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 training device or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (Solid State Disk, SSD)), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种数据处理方法,包括:转换设备接收计算设备发送的第一数据格式的数据处理请求,并从与转换设备连接的至少一个外部设备中确定数据处理请求对应的目标外部设备;从多种外部设备分别对应的数据格式中,确定出目标外部设备所能识别的第二数据格式,并将第一数据格式的数据处理请求,转换为第二数据格式的数据处理请求,并向目标外部设备发送该第二数据格式的数据处理请求。如此,计算设备在无需安装多种驱动的情况下,也能实现对于多种不同类型的外部设备的访问,从而可以有效降低计算设备访问不同外部设备所需的资源消耗,降低计算设备与多个外部设备之间的耦合性。此外,本申请还提供了与该数据处理方法对应的相关设备。

Description

一种数据处理方法及相关设备
本申请要求于2021年10月22日递交中国国家知识产权局、申请号为202111235920.8,发明名称为“一种数据处理方法及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法及相关设备。
背景技术
目前,支持外设组件快速互连(peripheral component interconnect express,PCIE)等标准的计算设备(如主机等),通常可以外接一个或者多个设备(以下称之为外部设备),并且,计算设备可以外部设备对应的驱动,对该外部设备进行访问,如利用网卡驱动访问接入该计算设备的网卡、利用图形处理器(graphics processing unit,GPU)驱动访问接入该计算设备的GPU网卡等。其中,不同驱动用于支持计算设备访问不同的外部设备。
实际应用时,计算设备需要频繁加载并运行多个不同的驱动,以支持计算设备访问不同的外部设备,从而增加了计算设备访问不同外部设备所需的资源消耗。
发明内容
本申请提供了一种数据处理方法,用于降低计算设备访问不同外部设备所需的资源消耗。此外,本申请还提供了一种转换设备、计算机设备、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种数据处理方法,该方法应用于数据处理系统,该数据处理系统包括依次连接的计算设备、转换设备以及至少一个外部设备。具体实施时,转换设备接收计算设备发送的第一数据格式的数据处理请求,如访问外部设备的请求等,然后,转换设备从至少一个外部设备中确定数据处理请求对应的目标外部设备,如确定计算设备所请求访问的外部设备等,并从多种外部设备分别对应的数据格式中,确定出目标外部设备所能识别的第二数据格式,该第二数据格式与第一数据格式不同;接着,计算设备将第一数据格式的数据处理请求,转换为第二数据格式的数据处理请求,并向目标外部设备发送该第二数据格式的数据处理请求。
由于转换设备能够根据多种类型的外部设备分别对应数据格式,将计算设备发送的数据处理请求由第一数据格式,转换为外部设备所能识别的第二数据格式,并基于经过数据格式转换后的数据处理请求访问相应的外部设备。如此,计算设备在无需安装多种驱动的情况下(如可以仅安装能够识别第一数据格式的一种驱动等),也能实现对于多种不同类型的外部设备的访问,从而可以有效降低计算设备访问不同外部设备所需的资源消耗,如降低计算设备上的存储资源以及计算资源的消耗等。
并且,计算设备与其外接的一个或者多个外部设备之间的耦合性可以得到降低,计算设备可以不感知转换设备所接入的外部设备的类型,这使得当数据处理系统中的外部设备发生变化时,可以不对计算设备产生影响,仅需在转换设备中调整相应的驱动即可,从而对于计算设备而言,可以屏蔽外部设备的差异,使得计算设备可以使用不同产商生产的支 持不同数据格式的外部设备,提高外部设备的多元化供应能力。
在一种可能的实施方式中,转换设备在接收第一数据格式的数据处理请求时,具体可以是先将计算设备发送的第一位置标识写入转换设备中的第一队列,该第一位置标识用于指示第一数据格式的数据处理请求在计算设备中的存储位置;然后,转换设备根据第一位置标识,从计算设备中获取第一数据格式的数据处理请求。如此,可以实现第一数据格式的数据处理请求由计算设备至转换设备之间的传输。
在一种可能的实施方式中,转换设备还可以实现将目标外部设备发送的数据转发给计算设备。具体实现时,转换设备向转换设备中的第一队列写入第二位置标识,该第二位置标识用于指示第二数据格式的第一目标数据在第二队列中的存储位置,然后,转换设备根据该第二位置标识,将第二数据格式的第一目标数据转换为第一数据格式的第一目标数据,并向计算设备发送该第一数据格式的第一目标数据。这样,第一目标数据在由目标外部设备传输至计算设备的过程中,可以由转换设备将第一目标数据转换为计算设备可以识别的数据格式,以此实现计算设备与目标外部设备之间的成功通信。
在一种可能的实施方式中,与转换设备连接的至少一个外部设备包括多个相同类别的外部设备。此时,相对于计算设备而言,多个相同类型的外部设备可以合并为一个外部设备,从而可以扩展外部设备的能力。或者,与转换设备连接的至少一个外部设备包括多种不同类型的外部设备。此时,不同类型的外部设备可以单独为计算设备提供不同的功能,如其中一个外部设备为压缩卡、另一个外部设备为GPU网卡等,则可以分别为计算设备提供视频数据压缩的功能以及处理图像数据的功能等。
在一种可能的实施方式中,当至少一个外部设备包括不同类型的第一外部设备以及第二外部设备时,转换设备还可以接收计算设备发送的第一数据格式的待处理数据,并将该第一数据格式的待处理数据转换为第一外部设备对应的第三数据格式的待处理数据,以便于第一外部设备能够识别出该待处理数据;然后,转换设备针对该第三数据格式的待处理数据执行第一外部设备对应的第一处理操作,如对该待处理数据进行加密等,得到第三数据格式的中间数据,并进一步将该第三数据格式的中间数据转换为第二外部设备对应的第四数据格式的第二目标数据,从而针对该第四数据格式的第二目标数据执行第二外部设备对应的第二处理操作,如将经过加密处理所得到的第二目标数据存储至第二外部设备等。
在一种可能的实施方式中,转换设备与至少一个外部设备中的目标外部设备之间通过网络进行连接。如此,对于计算设备而言,可以无感知目标外部设备是在本地还是远端,从而可以实现计算设备借助外部设备所具有的逻辑功能与物理实现的解耦。特别地,在云场景中,转换设备通过无线方式与外部设备建立连接,可以实现更多资源的共享,提高资源的复用比例。
在一种可能的实施方式中,转换设备中存储有多种驱动,也即存储有多种驱动的程序代码,从而转换设备在向目标外部设备发送第二数据格式的数据处理请求时,具体可以是先加载该多种驱动中与目标外部设备对应的目标驱动,然后,转换设备通过该目标驱动向目标外部设备发送该第二数据格式的数据处理请求。
在一种可能的实施方式中,目标外部设备包括外部组件快速互连PCIE设备。
第二方面,本申请提供一种转换设备,所述转换设备包括用于实现第一方面中的数据 处理方法的各个模块。
由于第二方面提供的转换设备,对应于第一方面提供的数据处理方法,故针对第二方面以及第二方面任意一种可能实现方式中所具有的技术效果,可参见与之对应的第一方面以及第一方面任意一种可能实现方式所对应的技术效果,本实施例对此不再进行赘述。
第三方面,本申请提供一种转换设备,所述转换设备包括处理器和存储器;该存储器用于存储指令,当该转换设备运行时,该处理器执行该存储器存储的该指令,以使该转换设备执行上述第一方面或第一方面任一种可能实现方式中的数据处理方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。转换设备还可以包括总线。其中,处理器通过总线连接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机设备上运行时,使得计算机设备执行上述第一方面或第一方面的任一种实现方式所述的方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述第一方面或第一方面的任一种实现方式所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种数据处理系统的架构示意图;
图2为本申请实施例提供的一种数据处理方法的流程示意图;
图3为本申请实施例提供的数据处理请求由计算设备100传输至目标外部设备的示意图;
图4为本申请实施例提供的数据处理请求的第一数据格式的示意图;
图5为本申请实施例提供的转换后所得到的数据处理请求的第一数据格式的示意图;
图6为本申请实施例提供的第一目标数据由目标外部设备传输至计算设备100的示意图;
图7为本申请实施例提供的另一种数据处理系统的架构示意图;
图8为本申请实施例提供的转换设备200针对待处理数据的处理过程的示意图;
图9为本申请实施例提供的一种转换设备900的结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解,这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
参见图1,为一种数据处理系统的架构示意图。如图1所示,数据处理系统中包括依次 连接计算设备100、转换设备200以及至少一个外部设备,图1中是以包括外部设备301以及外部设备302为例进行示例性说明。实际应用时,数据处理系统中可以包括任意数量的外部设备,本申请对此并不进行限定。其中,计算设备100与转换设备200之间可以存在物理连接,如通过通用串行总线(universal serial bus,USB)进行连接等,转换设备200与外部设备301、外部设备302之间可以通过有线方式进行连接,也可以通过无线方式进行连接等,图1中以有线方式进行连接为例进行示例性说明。
计算设备100可以是具有数据处理能力的设备,如终端、服务器等设备。并且,计算设备100可以通过转换设备200访问外部设备301和/或外部设备302。例如,如图1所示,计算设备100可以运行有一个或者多个应用程序101(或者协议栈),从而计算设备100可以将应用程序101(或者协议栈)生成的数据(如业务数据等)写入外部设备301和/或外部设备302中。当然,计算设备100也可以读取外部设备301和/或外部设备302中存储的数据等。
其中,外部设备301(以及外部设备302)例如可以是网卡、GPU网卡、加解密卡(具有加密以及解密功能的设备)等支持PCIE标准的任意一种设备,或者也可以是其它支持协议的设备,如支持无线带宽(infiniband,IB)标准的设备等,本实施例对此并不进行限定。
实际应用场景中,由于在访问不同类型的外部设备时通常需要使用不同的驱动,因此,为尽可能避免在计算设备100上频繁加载并运行多个不同的驱动,转换设备200可以支持计算设备100在安装少量驱动(如一个驱动等)的情况下,实现对多种不同类型的外部设备进行访问。具体地,转换设备200包括驱动模块201、适配模块202访问PICE设备301所需的驱动模块203以及访问外部设备302所需的驱动模块204。以计算设备100访问外部设备301为例,计算设备100中的应用程序101可以生成第一数据格式的数据处理请求,通过计算设备100中支持外部协议的驱动模块102将该第一数据格式的数据处理请求发送给转换设备200。此处假设计算设备100难以直接使用驱动模块102访问外部设备301。转换设备200中的驱动模块201在接收到该第一数据格式的数据处理请求后,将其提供给适配模块202。适配模块202确定用于处理该数据处理请求的外部设备为外部设备301,例如通过负载均衡策略确定由外部设备301处理该数据处理请求等。然后,适配模块202根据外部设备301的标识,从本地存储的多种外部设备分别对应的数据格式中,确定外部设备301所能识别的第二数据格式,并将第一数据格式的数据处理请求转换为第二数据格式的数据处理请求。驱动模块203将适配模块202转换得到的第二数据格式的数据处理请求发送给外部设备301,以便由外部设备301对该数据处理请求进行处理。其中,转换设备200可以在接入外部设备301时,通过设备检测为该接入的外部设备301加载并运行访问外部设备301所需的驱动,以此完成驱动模块203的配置。
类似的,当计算设备100访问外部设备302时,转换设备200可以基于上述类似过程,将计算设备100发送的数据处理请求的格式,由第一数据格式转换为外部设备302所能识别的相应数据格式,并基于经过格式转换后的数据处理请求实现对于外部设备302的访问,其具体实现可以参见前述关于访问外部设备301的相关之处描述,在此不做赘述。
由于转换设备200能够根据多种类型的外部设备分别对应数据格式,将计算设备100发送的数据处理请求由第一数据格式,转换为外部设备301或外部设备302所能识别的数据格式,并基于经过数据格式转换后的数据处理请求访问相应的外部设备301或外部设备302。 如此,计算设备100在无需安装多种驱动的情况下(如可以仅安装能够识别第一数据格式的一种驱动等),也能实现对于多种不同类型的外部设备的访问,从而可以有效降低计算设备100访问不同外部设备所需的资源消耗,如降低计算设备100上的存储资源以及计算资源的消耗等。并且,计算设备100与其外接的一个或者多个外部设备之间的耦合性可以得到降低,计算设备100可以不感知转换设备200所接入的外部设备的类型,这使得当数据处理系统中的外部设备发生变化时,可以不对计算设备100产生影响,仅需在转换设备200中调整相应的驱动即可,从而对于计算设备100而言,可以屏蔽外部设备的差异,使得计算设备100可以使用不同产商生产的支持不同数据格式的外部设备,提高外部设备的多元化供应能力。
示例性地,转换设备200可以通过硬件实现,此时,转换设备200可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
需要说明的是,图1所示的数据处理系统仅作为一种示例性说明,并不用于限定数据处理系统的具体实现。例如,在其它可能的实施方式中,数据处理系统可以包括三个以上(包括三个)的外部设备,并且不同外部设备的类型可以存在差异;或者,转换设备200中的驱动模块203,例如包括网卡驱动,用于与外部设备301通过网络进行连接等。本申请实施例可以应用于任何可适用的数据处理系统中,不局限于图1所示示例。
为便于理解,下面结合附图,对本申请的实施例进行描述。
参见图2,图2为本申请实施例提供的一种数据处理方法的流程示意图,该方法可以应用于图1所示的数据处理系统中,实际应用时,该方法也可以应用于其他可适用的数据处理系统,本申请对此并不进行限定。为便于理解与说明,本申请实施例以应用于图1所示的数据处理系统为例进行示例性说明。如图2所示,该方法具体可以包括:
S201:计算设备100中的应用程序101生成第一数据格式的数据处理请求,并将其提供给驱动模块102。
本实施例中,计算设备100中可以安装有应用程序101,并且,该应用程序101在运行过程中,可以对数据处理系统中的任意外部设备(如PCIE设备等)进行访问。例如,该应用程序101可以向外部设备中写入数据或者读取外部设备中已经存储的数据等。为便于区分以及描述,以下将计算设备100所访问的外部设备称之为目标外部设备。此时,应用程序101可以生成第一数据格式的数据处理请求。
通常情况下,应用程序101在生成数据处理请求后,可以将其写入计算设备100中的存储区域(如内存),并记录该数据处理请求在该存储区域中的存储位置。其中,该存储区域可以被驱动模块102访问,以便后续驱动模块102基于该存储区域与转换设备200进行数据交互。示例性地,驱动模块102可以提供标准的读写接口,并通过该读写接口将第一数据格式的数据处理请求写入该存储区域。实际应用时,驱动模块102还可以通过该读写接口向存储区域中写入其它数据,如写入需要持久化存储至目标外部设备的数据;或者,驱动模块102还可以通过该读写接口获取转换设备200反馈的数据等。实际应用时,计算设备100可以将 该存储区域配置为驱动模块102的发送队列,如图3所示,从而驱动模块102可以将需要发送给转换设备200的数据(如上述第一数据格式的数据处理请求等)依次写入该发送队列中。
S202:驱动模块102向转换设备200发送第一位置标识,该第一位置标识用于指示第一数据格式的数据处理请求在计算设备100中的存储位置。
其中,第一位置标识,例如可以是用于指示存储地址的指针等。驱动模块102通过将该第一位置标识发送给转换设备200,可以指示转换设备200基于该第一位置标识从计算设备100中读取相应的数据。
S203:转换设备200中的驱动模块201将第一位置标识写入转换设备200中的队列1中。
本实施例中,对于计算设备100发送的第一位置标识,驱动模块201可以将其写入队列1中。通常情况下,当计算设备100在一段时间段内连续发送多个位置标识时,驱动模块102可以按照其接收位置标识的顺序,将多个位置标识依次写入队列1中。
其中,队列1,可以是通过软件实现,或者可以通过硬件实现,本实施例对此并不进行限定。
S204:驱动模块201根据队列1中存储的第一位置标识,从计算设备100中获得第一数据格式的数据处理请求,并将其提供给适配模块202。
驱动模块201从队列1中读取第一位置标识,并根据该第一位置标识,访问计算设备100中相应的存储区域,以获取该存储区域中的数据,该数据即为第一数据格式的数据处理请求,如图3所示,以此完成将第一数据格式的数据处理请求由计算设备100搬移至转换设备200的过程,也即实现转换设备。
S205:适配模块202从接入转换设备200的至少一个外部设备中确定该数据处理请求对应的目标外部设备。
作为一种实现示例,适配模块202可以根据该数据处理请求对应的处理操作或者所属的类型,确定处理该数据处理请求的外部设备。比如,假设外部设备301具体为RAID卡,外部设备302为压缩卡,则当数据处理请求为数据读写请求时,适配模块202确定利用外部设备301对该数据处理请求进行处理。
示例性地,假设转换设备200所接收到的数据处理请求的第一数据格式如图4所示,其中,该数据处理请求中的MAC字段用于指示设备(包括计算设备100和/或转换设备200)的媒体存取控制(media access control,MAC)地址,IP字段用于指示设备(包括计算设备100和/或转换设备200)的网际协议(internet protocol,IP)地址,数据体(payload)字段用于承载计算设备100所要存储的实际数据。则,适配模块102可以将转换设备200外接的一个或者多个外部设备中选择用于存储数据的外部设备作为目标外部设备。当然,在其它可能的实施例中,计算设备100向转换设备200发送的数据处理请求的也可以是除图4之外的其它可能的数据格式,本实施例对此并不进行限定。
值得注意的是,当转换设备200同时外接多个相同类型的外部设备时,如同时外接多个可用于存储数据的RAID卡等,则适配模块200可以通过负载均衡或者轮询等方式,从多个相同类型的外部设备中选择用于对该数据处理请求进行处理的目标外部设备。
S206:适配模块202从多种外部设备分别对应的数据格式中确定目标外部设备所能识别的第二数据格式。
本实施例中,转换设备200中可以预先存储有其可能接入的多种外部设备的标识与各外部设备所支持(也即所能识别)的数据格式之间的对应关系,从而适配模块202在获取到目标外部设备的标识后,可以通过查找该对应关系,确定出目标外部设备所能识别的数据格式(以下称之为第二数据格式)。
由于目标外部设备所支持的第二数据格式与计算设备100发送数据处理请求时所采用的第一数据格式并不相同,因此,目标外部设备可能难以直接识别第一数据格式的数据处理请求,此时,适配模块202可以继续执行步骤S207,以对数据处理请求进行格式转换。
S207:适配模块202将第一数据格式的数据处理请求,转换为第二数据格式的数据处理请求。
具体实现时,适配模块202可以提取出第一数据格式的数据处理请求中携带的信息,并按照第二数据格式构建出新的数据处理请求。举例来说,假设第一数据格式的数据处理请求为图4所示的不支持虚拟扩展局域网(virtual extensible local area network,VXLAN)协议的报文,则适配模块202可以为该第一数据格式的数据处理请求自动添加VXLAN报文头,得到如图5所示的第二数据格式的数据处理请求。其中,所添加的VXLAN报文头中可以包括MAC字段、UDP字段以及VXLAN字段。如此,可以实现数据处理请求由第一数据格式至第二数据格式的转换。
值得注意的是,上述转换数据格式的实现方式仅作为一种示例性说明,实际应用时,适配模块202也可以将数据处理请求在任意两个数据格式之间进行转换,本实施例对此并不进行限定。
实际应用中,适配模块202在得到第二数据格式的数据处理请求后,可以将该其写入转换设备200中的队列2中进行暂存,如图3所示。
S208:驱动模块203将第二数据格式的数据处理请求发送给目标外部设备。
本实施例中,假设目标外部设备具体为图1中的PICE设备301,则适配模块202可以利用驱动模块203将第二数据格式的数据处理请求发送给目标PICE设备。作为一种实现示例,驱动模块203可以预先记录用于指示第二数据格式的数据处理请求在队列2中存储位置的位置标识,并将该位置标识通知给目标外部设备(目标外部设备通过队列3存储该位置标识),从而目标外部设备可以根据该位置标识访问队列2,以获得该第二数据格式的数据处理请求,以便目标外部设备根据该数据处理请求执行相应的操作,如读数据或者写数据的操作等。
实际应用场景中,转换设备200中可以预先配置有多种外部设备的驱动,如可以将多种外部设备对应的驱动程序集成至转换设备200中。这样,当转换设备200接入目标外部设备后,转换设备200可以从本地存储的多种驱动中,搜索出使用该目标外部设备所需的目标驱动,并通过在该转换设备200上加载、运行该目标驱动,实现在转换设备200上配置出包括该目标驱动的驱动模块203,以便后续驱动模块203通过该目标驱动访问目标外部设备,如通过目标驱动向目标外部设备发送第二数据格式的数据处理请求等。
上述实施例中,是以驱动模块203不支持第一数据格式的数据处理请求为例进行示例性说明。实际应用场景中,当驱动模块203支持第一数据格式的数据处理请求时,转换设备200可以不用对该数据处理请求进行数据格式的转换,并且可以通过驱动模块203实现对于目标 外部设备的访问。
并且,当计算设备100需要向目标外部设备(外部设备301)写入数据时,该数据由计算设备100传输至目标外部设备的过程,可以与上述数据处理请求由计算设备100传输至目标外部设备的过程类似,具体可参见前述实施例的相关之处描述,在此不做赘述。
相应的,当目标外部设备向计算设备100传输数据时,如向计算设备100反馈其所需读取的数据等,该数据由目标外部设备传输至计算设备100的过程,可以如图6所示。具体的,以目标外部设备向计算设备100反馈第一目标数据为例,目标外部设备可以预先将用于指示第二数据格式的第一目标数据在目标外部设备中的存储位置的位置标识写入队列3中,并将该位置标识发送给转换设备200后,由驱动模块203根据该位置标识访问目标外部设备并获得第一目标数据,并将该第一目标数据写入队列2中,以此实现接收第一目标数据的接收。然后,驱动模块203可以向队列1中写入第二位置标识,该第二位置标识用于指示第二数据格式的第一目标数据在队列2中的存储位置。接着,驱动模块201可以将该第二位置标识通知给计算设备100中的驱动模块102,以便驱动模块102根据该第二位置标识访问得到队列2中的第二数据格式的第一目标数据。由于计算设备100所能识别的数据格式为第一数据格式,因此,驱动模块102在获得第一目标数据的过程中,适配模块202可以将第一目标数据的数据格式由第二数据格式转换为第一数据格式,并将得到的第一数据格式的第一目标数据搬移至计算设备100中的发送队列,以此实现第一目标数据由目标外部设备至计算设备100之间的传输。
本实施例中,是以计算设备100访问外部设备301(目标外部设备)为例进行示例性说明,当计算设备100访问其它外部设备时,如访问外部设备302等,其具体实现方式与上述计算设备100访问外部设备302的过程类似,其区别在于转换设备200利用驱动模块204访问外部设备302,具体可参见上述实施例的相关之处描述,在此不做赘述。值得注意的是,当转换设备确定对数据处理请求进行处理的外部设备为外部设备302并且外部设备302所能识别的数据格式为第一数据格式时,则,转换设备200针对计算设备100发送的第一数据格式的数据处理请求,可以无需对其进行数据格式的转换,而可以直接通过驱动模块204将其发送给外部设备302。
并且,转换设备200可以是通过有线方式接入外部设备301和/或外部设备302,或者,转换设备200也可以是与外部设备301和/或外部设备302之间通过网络进行连接。其中,当转换设备200与外部设备301(或外部设备302)之间通过网络进行连接时,驱动模块203(或驱动模块204)中可以包括网卡驱动,该网卡驱动可以负责转换设备200与远端的外部设备301(或外部设备302)通过线缆进行有线连接,或者通过无线网络进行连接,并进行数据交互。如此,对于计算设备100而言,可以无感知外部设备301(以及外部设备302)是在本地还是远端,从而可以实现计算设备100借助外部设备所具有的逻辑功能与物理实现的解耦。特别地,在云场景中,转换设备200通过无线方式与外部设备建立连接,可以实现更多资源的共享,提高资源的复用比例。比如,当计算设备100暂不使用接入转换设备200的外部设备(如硬件加速器等)时,可以由其它计算设备使用该外部设备,以此提高针对该外部设备的资源利用率。
上述实施例中,数据处理系统中的外部设备301与外部设备302可以是相同类型的外部设备,此时,相对于计算设备100而言,多个相同类型的外部设备可以合并为一个外部设备,从而可以扩展外部设备的能力。比如,当外部设备301以及外部设备302均为用于压缩视频数据的压缩卡时,单个外部设备的压缩能力支持2GB/s(吉字节每秒)的压缩速度,即每秒压缩2GB的视频数据,从而计算设备100可以基于外部设备301以及外部设备302可以达到4GB/s的压缩速度。相对于计算设备100而言,其可以感知到当前接入的一个外部设备(也即前述合并得到的一个外部设备)具有4GB/s的压缩速度。此时,驱动模块203以及驱动模块204中包括的驱动可以相同。
而在其它可能的实施方式中,外部设备301与外部设备302也可以是不同类型的外部设备,则,驱动模块203以及驱动模块204中包括的驱动存在差异。此时,不同类型的外部设备可以单独为计算设备100提供不同的功能,如外部设备301为压缩卡、外部设备302为GPU网卡等,则可以分别为计算设备100提供视频数据压缩的功能以及处理图像数据的功能等。或者,外部设备301以及外部设备302可以协同为计算设备100提供融合功能。以外部设备301为加解密卡,外部设备302为磁盘阵列(redundant arrays of independent disks,RAID)为例,计算设备100可以基于加解密卡以及RAID实现对于数据的加密存储或解密存储。
为便于理解,下面结合附图7以及图8,对外部设备301以及外部设备302协同为计算设备100提供融合功能时,转换设备200针对待处理数据的处理过程进行示例性介绍。其中,图7所示的数据处理系统中,转换设备200中的适配模块202可以同时包括适配单元2021、适配单元2022以及管理单元2023,其中,适配单元2021用于为外部设备301进行数据格式的转换(本实施例中假设外部设备301所能识别的数据格式为第三数据格式),适配单元2022用于为外部设备302进行数据格式的转换(本实施例中假设外部设备302所能识别的数据格式为第四数据格式),管理单元2023用于对外部设备301以及外部设备302提供的数据处理逻辑进行管理和融合。如图8所示,转换设备200针对待处理数据的处理过程具体可以包括:
S801:驱动模块201接收计算设备100发送的第一数据格式的待处理数据。
其中,步骤S801中获取第一数据格式的待处理数据的具体实现过程,可以参见前述实施例中的步骤S201至步骤S204所述的驱动模块201接收数据处理请求的相关之处描述,在此不做赘述。
S802:管理单元2023将第一数据格式的待处理数据发送至适配单元2021。
S803:适配单元2021从多种外部设备分别对应的数据格式中确定外部设备301所能识别的第三数据格式。
S804:适配单元2021将第一数据格式的待处理数据,转换为第三数据格式的待处理数据。
本实施例中,步骤S803以及步骤S804的具体实现过程,可以参见前述实施例中的步骤S206与步骤S207的相关之处描述,在此不做赘述。
S805:适配单元2021针对第三数据格式的待处理数据执行外部设备301所对应的第一处理操作,得到第三数据格式的中间数据,并将其反馈给管理单元2023。
其中,第一处理操作对应于外部设备301所提供的功能。比如,当外部设备301具体为加解密卡时,第一处理操作具体可以是针对第三数据格式的待处理数据的加密操作或者解 密操作;相应的,所得到的第三数据格式的中间数据,即为对待处理数据进行加密处理后所得到的密文,或者对待处理数据进行解密处理后所得到的明文。具体实现时,适配单元2021可以通过驱动模块203从外部设备301中获取密钥,并利用该密钥对待处理数据进行加密或者解密。或者,在其它实施例中,适配单元2021可以通过驱动模块203控制外部设备301对该待处理数据进行加密或者解密等。
S806:管理单元2023将第三数据格式的中间数据发送至适配单元2022。
本实施例中,管理单元2023负责设定针对待处理数据的处理逻辑,该处理逻辑具体为先执行外部设备301对应的第一处理操作,再执行外部设备302对应的第二处理操作。在其它实施例中,管理单元2023可以灵活制定针对待处理数据的处理逻辑,如先执行第二处理操作,再执行第一处理操作等,本实施例对此并不进行限定。
S807:适配单元2022从多种外部设备分别对应的数据格式中确定外部设备302所能识别的第四数据格式。
S808:适配单元2022将第三数据格式的中间数据,转换为第四数据格式的第二目标数据。
本实施例中,步骤S807以及步骤S808的具体实现过程,可以参见前述实施例中的步骤S206与步骤S207的相关之处描述,在此不做赘述。
S809:适配单元2022针对第四数据格式的第二目标数据执行外部设备301所对应的第二处理操作。
其中,第二处理操作对应于外部设备302所提供的功能。比如,当外部设备302具体为压缩卡时,第二处理操作具体可以是针对第四数据格式的第二目标数据的压缩操作,即对第四数据格式的第二目标数据进行压缩,以减小第二目标数据的数据量。具体实现时,适配单元2022可以通过驱动模块204控制外部设备302对该第二目标数据进行压缩。如此,转换设备200可以基于PICE设备301以及外部设备302为计算设备100提供加解密数据+压缩数据的融合功能。
本实施例中,步骤S809中是以适配单元2022执行该第二处理操作为例进行示例性说明,在其它可能的实施例中,也可以是由驱动模块203执行第二处理操作。比如,当外部设备302具体为RAID时,第二处理操作具体为针对第四数据格式的第二目标数据的存储操作,即在适配单元2022转换得到第四数据格式的第二目标数据之后,驱动模块203可以将该第四数据格式的第二目标数据发送至外部设备302,以实现对于该第二目标数据的存储。如此,转换设备200可以基于PICE设备301以及外部设备302为计算设备100提供加解密数据+存储数据的融合功能。
值得注意的是,图8所示的转换设备200针对待处理数据的处理过程仅作为一种示例性说明说明,实际应用时,转换设备200也可以采用其它方式实现对于到处理数据的处理。比如,在其它可能的实施例中,管理单元2023在确定适配单元2021执行完第一处理操作后,可以直接指示适配单元2022从适配单元2021中获取第三数据格式的中间数据,从而无需由管理单元2023进行将该数据转发给适配单元2021。或者,在又一种可能的实施例中,转换设备200可以接入更多数量的外部设备,从而转换设备200可以针对待处理数据执行更多的处理操作,即融合更多数量的处理功能,如融合三个以上(包括三个)的处理功能(如融 合数据加密、压缩和存储的功能等)。
下面,基于硬件设备实现的角度,对转换设备所执行的数据处理过程中所涉及的转换设备200进行详细介绍。
图9示出了一种转换设备。图9所示的转换设备900具体可以用于实现上述图2所示实施例中转换设备200的功能。
计算机设备900包括总线901、处理器902、通信接口903和存储器904。处理器902、存储器904和通信接口903之间通过总线901通信。总线901可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口903用于与外部通信,例如接收计算设备发送的数据处理请求等。
其中,处理器902可以为中央处理器(central processing unit,CPU)。存储器904可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器904还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。
存储器904中存储有可执行代码,处理器902执行该可执行代码以执行前述转换设备所执行的方法。
具体地,在实现图2所示实施例的情况下,且图2所示实施例中所描述的转换设备200的功能为通过软件实现的情况下,执行图2中的转换设备200的功能所需的软件或程序代码存储在存储器904中,转换设备200与其它设备的交互通过通信接口903实现,处理器用于执行存储器904中的指令,实现转换设备200所执行的方法。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机设备上运行时,使得计算机设备执行上述实施例转换设备200所执行的方法。
此外,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机执行时,所述计算机执行前述数据处理方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述数据处理方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
另外需说明的是,以上所描述的实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可 以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (19)

  1. 一种数据处理方法,其特征在于,所述方法应用于数据处理系统,所述数据处理系统包括依次连接的计算设备、转换设备以及至少一个外部设备,所述方法包括:
    所述转换设备接收所述计算设备发送的第一数据格式的数据处理请求;
    所述转换设备从所述至少一个外部设备中确定所述数据处理请求对应的目标外部设备;
    所述转换设备从多种外部设备分别对应的数据格式中,确定所述目标外部设备所能识别的第二数据格式;
    所述转换设备将所述第一数据格式的数据处理请求,转换为所述第二数据格式的数据处理请求;
    所述转换设备向所述目标外部设备发送所述第二数据格式的数据处理请求。
  2. 根据权利要求1所述的方法,其特征在于,所述转换设备接收所述计算设备发送的第一数据格式的数据处理请求,包括:
    所述转换设备将所述计算设备发送的第一位置标识写入所述转换设备中的第一队列,所述第一位置标识用于指示所述第一数据格式的数据处理请求在所述计算设备中的存储位置;
    所述转换设备根据所述第一位置标识,从所述计算设备中获取所述第一数据格式的数据处理请求。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    所述转换设备将所述目标外部设备发送的第二数据格式的第一目标数据写入所述转换设备中的第二队列;
    所述转换设备向所述转换设备中的第一队列写入第二位置标识,所述第二位置标识用于指示所述第二数据格式的第一目标数据在所述第二队列中的存储位置;
    所述转换设备根据所述第二位置标识,将所述第二数据格式的第一目标数据转换为所述第一数据格式的第一目标数据;
    所述转换设备向所述计算设备发送所述第一数据格式的第一目标数据。
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述至少一个外部设备包括多个相同类型的外部设备,或者,所述至少一个外部设备包括多种不同类型的外部设备。
  5. 根据权利要求4所述的方法,其特征在于,当所述至少一个外部设备包括不同类型的第一外部设备以及第二外部设备时,所述方法还包括:
    所述转换设备接收所述计算设备发送的第一数据格式的待处理数据;
    所述转换设备将所述第一数据格式的待处理数据转换为所述第一外部设备对应的第三数据格式的待处理数据;
    所述转换设备针对所述第三数据格式的待处理数据执行所述第一外部设备对应的第一处理操作,得到第三数据格式的中间数据;
    所述转换设备将所述第三数据格式的中间数据转换为所述第二外部设备对应的第四数据格式的第二目标数据;
    所述转换设备针对所述第四数据格式的第二目标数据执行所述第二外部设备对应的第 二处理操作。
  6. 根据权利要求1至5任一项所述的方法,其特征在于,所述转换设备与所述至少一个外部设备中的所述目标外部设备之间通过网络进行连接。
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述转换设备中存储有多种驱动,所述转换设备向所述目标外部设备发送所述第二数据格式的数据处理请求,包括:
    所述转换设备加载所述多种驱动中与所述目标外部设备对应的目标驱动;
    所述转换设备通过所述目标驱动向所述目标外部设备发送所述第二数据格式的数据处理请求。
  8. 根据权利要求1至7任一项所述的方法,其特征在于,所述目标外部设备包括外设组件快速互连设备。
  9. 一种转换设备,其特征在于,所述转换设备位于数据处理系统,所述数据处理系统包括依次连接的计算设备、转换设备以及至少一个外部设备,所述转换设备包括:
    第一驱动模块,用于接收所述计算设备发送的第一数据格式的数据处理请求;
    适配模块,用于从所述至少一个外部设备中确定所述数据处理请求对应的目标外部设备;从多种外部设备分别对应的数据格式中,确定所述目标外部设备所能识别的第二数据格式;将所述第一数据格式的数据处理请求,转换为所述第二数据格式的数据处理请求;
    第二驱动模块,用于向所述目标外部设备发送所述第二数据格式的数据处理请求。
  10. 根据权利要求9所述的转换设备,其特征在于,所述第一驱动模块,用于:
    将所述计算设备发送的第一位置标识写入所述转换设备中的第一队列,所述第一位置标识用于指示所述第一数据格式的数据处理请求在所述计算设备中的存储位置;
    根据所述第一位置标识,从所述计算设备中获取所述第一数据格式的数据处理请求。
  11. 根据权利要求9或10所述的转换设备,其特征在于,
    所述第二驱动模块,还用于将所述目标外部设备发送的第二数据格式的第一目标数据写入所述转换设备中的第二队列;向所述转换设备中的第一队列写入第二位置标识,所述第二位置标识用于指示所述第二数据格式的第一目标数据在所述第二队列中的存储位置;
    所述适配模块,还用于根据所述第二位置标识,将所述第二数据格式的第一目标数据转换为所述第一数据格式的第一目标数据;
    所述第一驱动模块,用于向所述计算设备发送所述第一数据格式的第一目标数据。
  12. 根据权利要求9至11任一项所述的转换设备,其特征在于,所述至少一个外部设备包括多个相同类型的外部设备,或者,所述至少一个外部设备包括多种不同类型的外部设备。
  13. 根据权利要求12所述的转换设备,其特征在于,
    所述第一驱动模块,还用于当所述至少一个外部设备包括不同类型的第一外部设备以及第二外部设备时,接收所述计算设备发送的第一数据格式的待处理数据;
    所述适配模块,还用于将所述第一数据格式的待处理数据转换为所述第一外部设备对应的第三数据格式的待处理数据;针对所述第三数据格式的待处理数据执行所述第一外部设备对应的第一处理操作,得到第三数据格式的中间数据;将所述第三数据格式的中间数据转换为所述第二外部设备对应的第四数据格式的第二目标数据;
    所述第二驱动模块,还用于针对所述第四数据格式的第二目标数据执行所述第二外部 设备对应的第二处理操作。
  14. 根据权利要求9至13任一项所述的转换设备,其特征在于,所述转换设备与所述至少一个外部设备中的所述目标外部设备之间通过网络进行连接。
  15. 根据权利要求9至14任一项所述的转换设备,其特征在于,所述转换设备中存储有多种驱动,所述第二驱动模块,用于:
    加载所述多种驱动中与所述目标外部设备对应的目标驱动;
    通过所述目标驱动向所述目标外部设备发送所述第二数据格式的数据处理请求。
  16. 根据权利要求9至15任一项所述的转换设备,其特征在于,所述目标外部设备包括外设组件快速互连外部设备。
  17. 一种转换设备,其特征在于,所述计算机设备包括处理器和存储器;
    所述处理器用于执行所述存储器中存储的指令,以使得所述计算机设备执行权利要求1至8中任一项所述的方法。
  18. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算设备上运行时,使得所述计算设备执行如权利要求1至8任一项所述的方法。
  19. 一种包含指令的计算机程序产品,其特征在于,当其在计算设备上运行时,使得所述计算设备执行如权利要求1至8中任一项所述的方法。
PCT/CN2022/091823 2021-10-22 2022-05-10 一种数据处理方法及相关设备 WO2023065648A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111235920.8 2021-10-22
CN202111235920.8A CN116009970A (zh) 2021-10-22 2021-10-22 一种数据处理方法及相关设备

Publications (1)

Publication Number Publication Date
WO2023065648A1 true WO2023065648A1 (zh) 2023-04-27

Family

ID=86035971

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/091823 WO2023065648A1 (zh) 2021-10-22 2022-05-10 一种数据处理方法及相关设备

Country Status (2)

Country Link
CN (1) CN116009970A (zh)
WO (1) WO2023065648A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262776A1 (en) * 2009-04-10 2010-10-14 Amir Navid Data drive
CN105868142A (zh) * 2016-06-28 2016-08-17 武汉精测电子技术股份有限公司 一种整合多种类型协议通讯方式的信号处理方法及装置
CN108255757A (zh) * 2018-01-02 2018-07-06 中国工商银行股份有限公司 外设的集中调用方法、装置以及系统
CN111506360A (zh) * 2020-03-26 2020-08-07 南京国电南自维美德自动化有限公司 一种实时数据处理系统的外部设备接入系统及方法
CN111600848A (zh) * 2020-04-22 2020-08-28 深圳市椰壳信息科技有限公司 一种协议转换器及其控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262776A1 (en) * 2009-04-10 2010-10-14 Amir Navid Data drive
CN105868142A (zh) * 2016-06-28 2016-08-17 武汉精测电子技术股份有限公司 一种整合多种类型协议通讯方式的信号处理方法及装置
CN108255757A (zh) * 2018-01-02 2018-07-06 中国工商银行股份有限公司 外设的集中调用方法、装置以及系统
CN111506360A (zh) * 2020-03-26 2020-08-07 南京国电南自维美德自动化有限公司 一种实时数据处理系统的外部设备接入系统及方法
CN111600848A (zh) * 2020-04-22 2020-08-28 深圳市椰壳信息科技有限公司 一种协议转换器及其控制方法

Also Published As

Publication number Publication date
CN116009970A (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
CN109471833B (zh) 用于最大化PCIe对等连接的带宽的系统和方法
EP3204862B1 (en) Emulated endpoint configuration
US8694723B2 (en) Method and system for coupling serial attached SCSI (SAS) devices and internet small computer system internet (iSCSI) devices through single host bus adapter
CN108984465B (zh) 一种消息传输方法及设备
WO2023098031A1 (zh) 数据访问方法及计算设备
CN112130748B (zh) 一种数据访问方法、网卡及服务器
WO2022127118A1 (zh) 文件传输方法、装置、电子设备及存储介质
CN111711801B (zh) 视频数据传输方法、装置、服务器和计算机可读存储介质
US11449456B2 (en) System and method for scheduling sharable PCIe endpoint devices
WO2019072214A1 (zh) Wifi热点分享方法、设备及存储介质
WO2023000770A1 (zh) 一种处理访问请求的方法、装置、存储设备及存储介质
WO2022223003A1 (zh) 一种文件访问方法、网卡以及计算设备
CN114780465B (zh) 可共享远程直接数据存取链接的创建方法及装置
CN117033275B (zh) 加速卡间的dma方法、装置、加速卡、加速平台及介质
WO2023065648A1 (zh) 一种数据处理方法及相关设备
WO2023186143A1 (zh) 一种数据处理方法、主机及相关设备
US20200341653A1 (en) Method, network adapter and computer program product for processing data
WO2023273803A1 (zh) 一种认证方法、装置和存储系统
WO2022228485A1 (zh) 一种数据传输方法、数据处理方法及相关产品
JP5857735B2 (ja) 画像処理方法、画像処理装置、及び制御プログラム
CN116418848A (zh) 网络节点的配置和访问请求的处理方法、装置
WO2022141322A1 (zh) 一种片上系统及相关方法
US11526618B2 (en) Methods and apparatus for offloading encryption
US10938904B2 (en) Multi-processor/endpoint data splitting system
US11042497B2 (en) Communication between field programmable gate arrays

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: 22882273

Country of ref document: EP

Kind code of ref document: A1