WO2021008185A1 - 数据传输方法、装置及服务器 - Google Patents

数据传输方法、装置及服务器 Download PDF

Info

Publication number
WO2021008185A1
WO2021008185A1 PCT/CN2020/086348 CN2020086348W WO2021008185A1 WO 2021008185 A1 WO2021008185 A1 WO 2021008185A1 CN 2020086348 W CN2020086348 W CN 2020086348W WO 2021008185 A1 WO2021008185 A1 WO 2021008185A1
Authority
WO
WIPO (PCT)
Prior art keywords
request
server
data processing
processing device
instruction
Prior art date
Application number
PCT/CN2020/086348
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 WO2021008185A1 publication Critical patent/WO2021008185A1/zh

Links

Images

Classifications

    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Definitions

  • the present disclosure relates to the field of cloud computing technology, and in particular to data transmission methods, devices, and servers.
  • Cloud desktop technology refers to the technology in which users remotely access the server through the client, and the server provides the desktop image of the current server host to the remote client in a virtual manner.
  • the server transmits the image to the user through the screen copy, and the user obtains the desktop image sequence. After the image is compressed, it is transmitted to the cloud terminal through the network, and the terminal decodes the desktop image content.
  • the server side often needs to support a large number of client-side 3D image rendering jobs at the same time, which requires very high graphics processing unit (GPU) resources on the server side, but the existing servers generally do not have such powerful GPU resources, even those without 3D rendering capabilities.
  • GPU graphics processing unit
  • the server needs to be interrupted. During the interrupted period of time, the server will consume a certain amount of time and cost, and the configuration upgrade process needs to transform the interior of the server rack. This process is also very cumbersome. difficult.
  • the embodiments of the present disclosure provide a data transmission method, device, and server, which can solve the problems that the server cannot support a large number of 3D image rendering tasks in the current cloud desktop technology and the difficulty of upgrading the server is very high.
  • the technical solution is as follows:
  • a data transmission method including:
  • the server receives the client's request forwarded by the data processing device
  • the server obtains the instructions corresponding to the image rendering;
  • the instructions include: graphics card configuration instructions, special effects instructions, and drawing instructions;
  • the server transmits the instruction to the data processing device so that the data processing device transmits the image data to the client after completing the image rendering according to the instruction; wherein, there is no need to perform image rendering according to the instruction in the server.
  • the method further includes:
  • the server processes the request according to the request and then transmits the processing result to the data processing device so that the data processing device forwards it to the client.
  • the server acquiring the instruction corresponding to image rendering includes:
  • the server intercepts the drawing instructions sent by the D3D RT program in the server's operating system to the user mode display driver;
  • the server intercepts the graphics card configuration instructions and special effect instructions sent by the graphics kernel subsystem in the server's operating system to the display miniport driver.
  • the server operating system generates instructions in accordance with the client's request for 3D image rendering. By intercepting the instructions, the server can be used to perform 3D image rendering, with minimal changes and no burden on the server.
  • a data transmission method including:
  • the data processing device receives the client's request
  • the data processing device sends the client's request to the server;
  • the data processing device receives the instruction corresponding to the image rendering sent by the server;
  • the instructions include: graphics card configuration instructions, special effects instructions, and drawing instructions;
  • the data processing device completes image rendering through the graphics card of the data processing device according to the instruction
  • the data processing device sends the image data obtained after the image rendering is completed to the client.
  • the data processing device performs image rendering through the graphics card of the data processing device according to the instruction, including:
  • the user mode display driver in the operating system of the data processing device converts the drawing instructions into instructions that can be recognized by the graphics card and is executed by the graphics card of the data processing device;
  • the display miniport driver in the operating system of the data processing device obtains the graphics card configuration instructions and special effect instructions and executes them by the graphics card of the data processing device.
  • the data processing device may be configured with the same operating system as the server, and after receiving the instruction corresponding to the image rendering sent by the server, the image rendering is completed through the graphics card configured by itself according to the instruction execution flow in the operating system.
  • the method further includes:
  • the data processing device receives the processing result obtained after the server processes the request according to the request;
  • the data processing device sends the processing result to the client.
  • a server including:
  • the receiving module is used to receive the client's request forwarded by the data processing device
  • the obtaining module is used to obtain instructions corresponding to image rendering when the request is an image rendering request; wherein the instructions include: graphics card configuration instructions, special effects instructions, and drawing instructions;
  • the transmission module is used to transmit the instruction to the data processing device so that the data processing device transmits the image data to the client after completing the image rendering according to the instruction; wherein, there is no need to perform image rendering according to the instruction in the server.
  • the server further includes:
  • the processing module is configured to, when the request is a request other than the image rendering request, call the transmission module to transmit the processing result to the data processing device after processing the request according to the request, so that the data processing device forwards the data processing device to the client.
  • the obtaining module is specifically used for:
  • a data processing device includes:
  • Communication module processor, graphics card, and memory; the data processing device communicates with the client and server respectively through the communication module; the communication module includes: request receiving module, request forwarding module, instruction receiving module, image acquisition module and image transmission Module
  • Request receiving module used to receive client requests
  • the request forwarding module is used to send the client's request to the server
  • the instruction receiving module is used to receive the instruction corresponding to the image rendering sent by the server by the data processing device when the request is an image rendering request; wherein the instructions include: graphics card configuration instructions, special effects instructions and drawing instructions;
  • the memory is used to cache the instruction corresponding to the image rendering received from the server and the image obtained after the image rendering is completed;
  • the processor is used to instruct the graphics card to complete image rendering according to instructions
  • the image acquisition module is used to acquire the image obtained after the image rendering is completed
  • the image transmission module is used to send the image obtained after the image rendering is completed to the client.
  • the processor is specifically configured to:
  • the user mode display driver in the operating system of the data processing device converts the drawing instructions into instructions that can be recognized by the graphics card and is executed by the graphics card of the data processing device;
  • the display miniport driver in the operating system of the data processing device obtains the graphics card configuration instructions and special effect instructions and executes them by the graphics card of the data processing device.
  • the data processing device may be configured with the same operating system as the server, and after receiving the instruction corresponding to the image rendering sent by the server, the image rendering is completed through the graphics card configured by itself according to the instruction execution flow in the operating system.
  • the image acquisition module is further used to: when the request is a request other than an image rendering request, acquire an image sent by the server after processing according to the request;
  • the image transmission module is also used to: send the image sent by the server and obtained after processing according to the request to the client.
  • the data processing device receives the client's request and forwards it to the server; when the request is an image rendering request, the server obtains the instruction corresponding to the image rendering; wherein the instruction includes: graphics card configuration Instructions, special effects instructions, and drawing instructions; the server transmits the instructions to the data processing device, and the data processing device transmits the image data to the client after completing the image rendering through its own graphics card according to the instructions; among them, there is no need to perform image processing in the server according to the instructions Rendering. Therefore, the workload of the server is greatly reduced, and even a large number of client-side 3D image rendering tasks can be supported without a graphics processor, and there is no need to upgrade the server.
  • FIG. 1 is a schematic diagram of the system architecture of an embodiment of the present disclosure
  • Figure 2 is an existing WDDM drive model architecture diagram
  • FIG. 3 is a schematic flowchart of a data transmission method provided by an embodiment of the present disclosure
  • FIG. 4 is a diagram of the architecture of the WDDM drive model of the server operating system in an embodiment of the present disclosure
  • FIG. 5 is a schematic flowchart of another data transmission method provided by an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a server provided by an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of a data processing device provided by an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of an implementation effect provided by an embodiment of the present disclosure.
  • FIG. 1 A schematic diagram of the system architecture of the embodiment of the present disclosure is shown in Figure 1, where the server and the client communicate through a data processing device, and the client’s request and the server’s response are forwarded by the data processing device, and both the data processing device and the server need Configure an operating system that supports the Windows Display Driver Model (WDDM).
  • WDDM Windows Display Driver Model
  • WDDM is a display driver architecture supported in the Windows Vista operating system developed by Microsoft.
  • WDDM is an innovation of the display driver structure in the Windows XP operating system. While supporting new solutions, graphics and applications, it can provide users with a desktop experience with better performance and higher reliability.
  • Figure 2 is a schematic diagram of the architecture of the WDDM drive model.
  • the operating system will call the relevant interface functions of the D3D RT (Direct 3D runtime) program, and at the same time send the parameters related to image rendering to the D3D RT program. Graphics card configuration parameters), special effects parameters (parameters related to special effects) and drawing parameters.
  • the D3D RT program will interact with the User-Mode Display Driver (UMDD) to obtain the status of the graphics card, and pass drawing instructions to the User-Mode Display Driver (the drawing instructions are generated according to the drawing parameters).
  • UMDD User-Mode Display Driver
  • the mode display driver After the mode display driver translates the received drawing command, it will put the translated command into the memory to facilitate the display miniport driver to read the translated command.
  • the user mode display driver will Notify the D3D RT program instruction translation is completed, at this time, the D3D RT program will use the graphics kernel subsystem (Direct Graphics kernel subsysterm or Dxgkrnl.sys) to notify the display miniport driver to get the translated instructions from the memory, and access them through direct memory (Direct Memory Access, DMA)) method is transferred to the video memory of the graphics card for execution by the graphics card; on the other hand, the D3D RT program generates graphics card configuration instructions (graphics card configuration instructions generated based on graphics card configuration parameters) and special effect instructions (special effect instructions generated based on special effect parameters) ) Is passed to the graphics kernel subsystem.
  • graphics kernel subsystem Direct Graphics kernel subsysterm or Dxgkrnl.sys
  • DMA Direct Memory Access
  • the graphics hardware supplier must provide a user mode display driver and a display miniport driver.
  • the user-mode display driver is a dynamic link library loaded at runtime by Microsoft Direct3D (a set of 3D graphics programming interface developed by Microsoft on the Microsoft Windows operating system, which is part of DirectX and is currently widely supported by various graphics card manufacturers) (Dynamic Link Library, DLL).
  • the display miniport driver communicates with the DirectX (Multimedia Programming Interface created by Microsoft Corporation) graphics kernel subsystem.
  • the graphics kernel subsystem is a system file that the operating system completes image display management, and it participates in all image generation management of the system.
  • the embodiment of the present disclosure provides a data transmission method. As shown in FIG. 3, the method includes the following steps:
  • the server receives a request from the client forwarded by the data processing device.
  • the server and the client communicate through the data processing device.
  • the client's request and the server's response are forwarded through the data processing device.
  • the data processing device is configured with the same operating system as that on the server, for example, both are installed There are operating systems that support WDDM.
  • the server obtains an instruction corresponding to the image rendering; where the instruction includes: a graphics card configuration instruction, a special effect instruction, and a drawing instruction.
  • the server acquiring the instruction corresponding to the image rendering in step 102 may specifically include:
  • the server intercepts the drawing instructions sent by the D3D RT program in the server's operating system to the user mode display driver;
  • the server intercepts the graphics card configuration instructions and special effect instructions sent by the graphics kernel subsystem in the server's operating system to the display miniport driver.
  • FIG. 4 shows the WDDM drive model architecture for the server provided in the embodiments of the disclosure.
  • a user is added between the D3D RT program in the server's operating system and the user mode display driver.
  • Mode filter driver or use virtual driver.
  • a kernel mode filter driver or use virtual driver
  • the user mode filter driver is used to intercept the drawing instructions transmitted from the D3D RT program to the user mode display driver.
  • the user mode filter driver is equivalent to a bridge between the D3D RT program and the user mode display driver. It monitors the commands between them, but does not change the content of the commands themselves.
  • the D3D RT program in the operating system of the server when the D3D RT program in the operating system of the server receives the image rendering request sent by the application layer, it will first notify the user mode display driver (such as DrawPrimitive), and the user mode display driver will The received drawing instructions are converted and processed to obtain instructions that the graphics card can recognize, and the graphics memory transferred to the graphics card by DMA is executed by the graphics card.
  • the user mode filter driver is used to intercept the drawing instructions before the user mode display driver executes the instruction conversion processing action.
  • the kernel mode filter driver is used to intercept the graphics card configuration instructions and special effect instructions sent by the graphics kernel subsystem to the display miniport driver. These instructions are received from the application layer by the D3D RT program and passed to the graphics kernel subsystem.
  • a virtual server is set in the WDDM drive model architecture in the operating system of the virtualized server.
  • the user mode filter driver is used to act as a user mode display driver in order to intercept drawing instructions
  • a virtual display miniport driver is used to act as a display miniport driver in order to configure instructions and special effects instructions for the graphics card.
  • the server transmits the instruction to the data processing device so that the data processing device transmits the image data to the client after completing the image rendering according to the instruction; wherein, there is no need to perform image rendering according to the instruction in the server.
  • the user mode filter driver sends the intercepted drawing instructions to the data processing device
  • the kernel mode filter driver sends the intercepted graphics card configuration instructions and special effect instructions to the data processing device.
  • the data processing device operating system uses the data processing device itself according to the aforementioned instructions.
  • the graphics card completes the image rendering. Specifically, the operating system of the data processing device completes the image rendering process through the graphics card according to the instructions related to the image rendering, and only needs to refer to the relevant technical data of the graphics rendering image, which will not be described in detail here.
  • the data processing device has image rendering capabilities, that is, it is equipped with a graphics processing unit (GPU). According to actual conditions, if there are many 3D image rendering requirements from the client, the data processing device can be equipped with several graphics cards.
  • GPU graphics processing unit
  • the method further includes:
  • the server transmits the processing result to the data processing device after processing the request according to the request, so that the data processing device forwards the data processing device to the client.
  • the data processing device receives the request from the client and forwards it to the server; when the request is an image rendering request, the server obtains the instruction corresponding to the image rendering; wherein the instructions include: graphics card configuration instructions, special effects instructions And drawing instructions; the server transmits the instructions to the data processing device, and the data processing device transmits the image data to the client after completing the image rendering through the graphics card configured by itself according to the instructions; wherein, the server does not need to perform image rendering according to the instructions. Therefore, the workload of the server is greatly reduced, and even a large number of client-side 3D image rendering tasks can be supported without a graphics processor, and there is no need to upgrade the server.
  • the embodiment of the present disclosure provides another data transmission method. As shown in FIG. 5, the method includes the following steps:
  • the data processing device receives a request from a client.
  • the data processing device sends the client's request to the server.
  • the data processing device receives an instruction corresponding to the image rendering sent by the server; where the instruction includes: a graphics card configuration instruction, a special effect instruction, and a drawing instruction.
  • the data processing device completes image rendering through the graphics card of the data processing device according to the instruction.
  • the data processing device sends the image data obtained after the image rendering is completed to the client.
  • step 204 specifically includes:
  • the user mode display driver in the operating system of the data processing device converts the drawing instructions into instructions that can be recognized by the graphics card and is executed by the graphics card of the data processing device;
  • the display miniport driver in the operating system of the data processing device obtains the graphics card configuration instructions and special effect instructions and executes them by the graphics card of the data processing device.
  • the Microsoft Windows operating system installed on the data processing device supports the WDDM drive model architecture, and the user mode display driver in the data processing device operating system converts the received drawing instructions Obtain instructions that can be recognized by the graphics card and transfer them to the graphics memory of the graphics card through direct memory access (DMA).
  • DMA direct memory access
  • the image rendering process performed by the data processing device is implemented based on the WDDM model framework shown in FIG. 2.
  • the data processing device receives instructions (including configuration instructions for the graphics card, special effects instructions, and drawing instructions) sent by the server through the network ,
  • the drawing instruction is composed of one or more functions containing specific parameters, and these functions can be reproduced in the operating system of the data processing device to complete the final 3D image rendering work.
  • the received drawing commands are: func1 (parameter 1, parameter 2, parameter 3); func2 (parameter 1, parameter 2); func3 (parameter 1, parameter 2, parameter 3, parameter 4); among them, func1, func2 , Func3 are three exemplary function names given to distinguish different functions.
  • the data processing device can execute the three functions in the drawing instruction to perform 3D image rendering (that is, the function reproduction process).
  • the method may further include:
  • the data processing device receives the processing result obtained by the server after processing the request according to the request.
  • the data processing device sends the processing result to the client.
  • the data processing device receives the client's request and forwards it to the server; when the request is an image rendering request, the data processing device receives the instruction corresponding to the image rendering sent by the server, where the instruction includes: a graphics card Configuration instructions, special effects instructions, and drawing instructions; the data processing device completes image rendering through the graphics card of the data processing device according to the instructions; the data processing device sends the image data obtained after the image rendering is completed to the client. Therefore, the workload of the server is greatly reduced, and even a large number of client-side 3D image rendering tasks can be supported without a graphics processor, and there is no need to upgrade the server.
  • the server 60 includes:
  • the receiving module 601 is used to receive the client's request forwarded by the data processing device;
  • the obtaining module 602 is configured to obtain instructions corresponding to image rendering when the request is an image rendering request; the instructions include: graphics card configuration instructions, special effects instructions, and drawing instructions;
  • the transmission module 603 is configured to transmit the instruction to the data processing device so that the data processing device transmits the image data to the client after completing the image rendering according to the instruction; wherein, there is no need to perform image rendering according to the instruction in the server.
  • the server 60 may further include:
  • the processing module 604 is configured to, when the request is a request other than the image rendering request, call the transmission module 603 to transmit the processing result to the data processing device after processing the request according to the request, so that the data processing device forwards the data processing device to the client.
  • the obtaining module 602 is specifically configured to:
  • the data processing device receives the request from the client and forwards it to the server; when the request is an image rendering request, the server obtains the instructions corresponding to the image rendering; wherein the instructions include: graphics card configuration instructions, special effects instructions and drawing Instruction; the server transmits the instruction to the data processing device, and the data processing device transmits the image data to the client after completing the image rendering through the graphics card configured by itself according to the instruction; wherein, the server does not need to perform image rendering according to the instruction. Therefore, the workload of the server is greatly reduced, and even a large number of client-side 3D image rendering tasks can be supported without a graphics processor, and there is no need to upgrade the server.
  • the data processing device 70 includes:
  • the request receiving module 7011 is used to receive the client's request
  • the request forwarding module 7012 is used to send the client's request to the server;
  • the instruction receiving module 7013 is configured to receive the instruction corresponding to the image rendering sent by the server by the data processing device when the request is an image rendering request; wherein the instructions include: graphics card configuration instructions, special effects instructions, and drawing instructions;
  • the memory 704 is configured to cache the instruction corresponding to the image rendering received from the server and the image obtained after the image rendering is completed;
  • the processor 702 is configured to instruct the graphics card to complete image rendering according to instructions
  • the image acquisition module 7014 is used to acquire an image obtained after image rendering is completed
  • the image transmission module 7015 is used to send the image obtained after the image rendering is completed to the client.
  • the processor 702 is specifically configured to:
  • the user mode display driver in the operating system of the data processing device converts the drawing instructions into instructions that can be recognized by the graphics card and is executed by the graphics card of the data processing device;
  • the display miniport driver in the operating system of the data processing device obtains the graphics card configuration instructions and special effect instructions and executes them by the graphics card of the data processing device.
  • the data processing device is configured with an operating system that supports WDDM, and after receiving the instruction corresponding to the image rendering sent by the server, the image rendering is completed through the graphics card configured by itself according to the instruction execution flow in the operating system.
  • the image acquisition module 7014 is further configured to: when the request is a request other than an image rendering request, acquire an image sent by the server after processing according to the request;
  • the image transmission module 7015 is also used to: send the image sent by the server and obtained after processing according to the request to the client.
  • FIG. 8 is a detailed schematic diagram of implementation effects provided by the embodiments of the disclosure.
  • the data processing device receives the request from the client and forwards it to the server; when the request is an image rendering request, the data processing device receives the instruction corresponding to the image rendering sent by the server, where the instruction includes: a graphics card Configuration instructions, special effect instructions, and drawing instructions; the data processing device completes image rendering through the graphics card of the data processing device according to the instructions; the data processing device sends the image data obtained after the image rendering is completed to the client. Therefore, the workload of the server is greatly reduced, and even a large number of client-side 3D image rendering tasks can be supported without a graphics processor, and there is no need to upgrade the server.
  • the embodiment of the present disclosure also provides a computer-readable storage medium.
  • the non-transitory computer-readable storage medium may be a read-only memory (Read Only). Memory, ROM), random access memory (Random Access Memory, RAM), CD-ROM, magnetic tape, floppy disk and optical data storage device, etc.
  • the storage medium stores computer instructions for executing the data transmission method described in the embodiment corresponding to FIG. 3/5, which will not be repeated here.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开实施例提供的数据传输方法、装置及服务器,涉及云计算技术领域,能够解决目前云桌面技术中服务器无法支撑大量3D图像渲染工作任务以及升级服务器难度很高的问题。具体技术方案为:数据处理装置接收客户端的请求后转发给服务器;当该请求为图像渲染请求时,服务器获取图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;服务器将指令传输给数据处理装置,数据处理装置根据指令通过自身配置的显卡完成图像渲染后将图像数据传输给客户端;其中,在服务器内不需要根据指令进行图像渲染。

Description

数据传输方法、装置及服务器 技术领域
本公开涉及云计算技术领域,尤其涉及数据传输方法、装置及服务器。
背景技术
云桌面技术是指用户通过客户端远程访问服务器,服务器将当前服务器主机的桌面图像通过虚拟方式提供给远程客户端的技术。服务器通过屏幕拷贝,将图像传输给用户,用户获得的是桌面图像序列。图像经过压缩后,通过网络传输到云终端,终端解码得到桌面图像内容。
现有很多场景下,比如,网络游戏、三维(three dimensional,3D)视频或者3D远程桌面传输等等,需要进行3D图像的传输和客户端显示。在这种情况下,服务器端往往需要同时支撑大量客户端的3D图像渲染工作,这对服务器端的图形处理器(Graphics Processing Unit,GPU)资源的要求非常高,但是,现有服务器一般不具备这么强大的GPU资源,甚至是不具备3D渲染能力的。如果直接对服务器进行配置升级则需要服务器中断工作,在中断工作的一段时间内,服务器需要消耗一定的时间成本,而且配置升级的过程需要对服务器机架内部进行改造,这一过程也是非常繁琐、困难。
发明内容
本公开实施例提供一种数据传输方法、装置及服务器,能够解决目前云桌面技术中服务器无法支撑大量3D图像渲染工作任务以及升级服务器难度很高的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种数据传输方法,该方法包括:
服务器接收数据处理装置转发的客户端的请求;
当该请求为图像渲染请求时,服务器获取图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;
服务器将指令传输给数据处理装置以使数据处理装置根据指令完成图像 渲染后将图像数据传输给客户端;其中,在服务器内不需要根据指令进行图像渲染。
在一个实施例中,该方法还包括:
当该请求为除图像渲染请求以外的请求时,服务器根据该请求进行处理后将处理结果传输给数据处理装置以使数据处理装置转发给客户端。
对于一般的云桌面客户端请求,服务器可以直接处理的则直接在服务器内处理,无需交由数据处理装置处理,只需将处理结果例如计算机桌面图像数据通过数据处理装置转发给客户端即可。
在一个实施例中,服务器获取图像渲染对应的指令,包括:
服务器截获服务器的操作系统中的D3D RT程序向用户模式显示驱动程序发送的绘图指令;
服务器截获服务器的操作系统中的图形内核子系统向显示微型端口驱动程序发送的显卡配置指令以及特效指令。
服务器操作系统按照客户端3D图像渲染的请求生成指令,通过截获指令则可以不用服务器去执行3D图像渲染,改动很小,对服务器无任何改造负担。
根据本公开实施例的第二方面,提供一种数据传输方法,包括:
数据处理装置接收客户端的请求;
数据处理装置向服务器发送客户端的请求;
当该请求为图像渲染请求时,数据处理装置接收服务器发送的图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;
数据处理装置根据指令通过数据处理装置的显卡完成图像渲染;
数据处理装置将完成图像渲染后得到的图像数据发送给客户端。
在一个实施例中,数据处理装置根据指令通过数据处理装置的显卡完成图像渲染,包括:
数据处理装置的操作系统中的用户模式显示驱动程序对绘图指令转换处理成显卡可识别的指令并由数据处理装置的显卡执行;
数据处理装置的操作系统中的显示微型端口驱动程序获取显卡配置指令以及特效指令并由数据处理装置的显卡执行。
数据处理装置可以配置与服务器相同的操作系统,接收到服务器发送的图像渲染对应的指令后,按照操作系统中执行指令的流程通过自身配置的显卡完成图像渲染。
在一个实施例中,该方法还包括:
当该请求为除图像渲染请求以外的请求时,数据处理装置接收服务器根据该请求进行处理后得到的处理结果;
数据处理装置将处理结果发送给客户端。
对于一般的云桌面客户端请求,服务器可以直接处理的则直接在服务器内处理,服务器将处理结果例如计算机桌面图像数据通过数据处理装置转发给客户端即可。
根据本公开实施例的第三方面,提供一种服务器,包括:
接收模块,用于接收数据处理装置转发的客户端的请求;
获取模块,用于当该请求为图像渲染请求时,获取图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;
传输模块,用于将指令传输给数据处理装置以使数据处理装置根据指令完成图像渲染后将图像数据传输给客户端;其中,在服务器内不需要根据指令进行图像渲染。
在一个实施例中,服务器还包括:
处理模块,用于当该请求为除图像渲染请求以外的请求时,根据该请求进行处理后调用传输模块将处理结果传输给数据处理装置以使数据处理装置转发给客户端。
对于一般的云桌面客户端请求,服务器可以直接处理的则直接在服务器内处理,无需交由数据处理装置处理,只需将处理结果例如计算机桌面图像数据通过数据处理装置转发给客户端即可。
在一个实施例中,获取模块具体用于:
截获服务器的操作系统中的D3D RT程序向用户模式显示驱动程序发送的绘图指令;
截获服务器的操作系统中的图形内核子系统向显示微型端口驱动程序发送的显卡配置指令以及特效指令。
根据本公开实施例的第四方面,一种数据处理装置,包括:
通信模块、处理器、显卡、及存储器;数据处理装置通过通信模块分别与客户端和服务器之间进行通信;通信模块包括:请求接收模块、请求转发模块、指令接收模块、图像采集模块和图像传输模块;
请求接收模块,用于接收客户端的请求;
请求转发模块,用于向服务器发送客户端的请求;
指令接收模块,用于当请求为图像渲染请求时,数据处理装置接收服务器发送的图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;
存储器,用于缓存从服务器接收到的图像渲染对应的指令以及缓存完成图像渲染后得到的图像;
处理器,用于根据指令指示显卡完成图像渲染;
图像采集模块,用于采集完成图像渲染后得到的图像;
图像传输模块,用于将完成图像渲染后得到的图像发送给客户端。
在一个实施例中,处理器具体用于:
在数据处理装置的操作系统中的用户模式显示驱动程序对绘图指令转换处理成显卡可识别的指令并由数据处理装置的显卡执行;
在数据处理装置的操作系统中的显示微型端口驱动程序获取显卡配置指令以及特效指令并由数据处理装置的显卡执行。
数据处理装置可以配置与服务器相同的操作系统,接收到服务器发送的图像渲染对应的指令后,按照操作系统中执行指令的流程通过自身配置的显卡完成图像渲染。
在一个实施例中,图像采集模块还用于:当该请求为除图像渲染请求以 外的请求时,采集服务器发送的根据该请求进行处理后得到的图像;
相应的,图像传输模块还用于:将服务器发送的根据该请求进行处理后得到的图像发送给客户端。
对于一般的云桌面客户端请求,服务器可以直接处理的则直接在服务器内处理,服务器将处理结果例如计算机桌面图像数据通过数据处理装置转发给客户端即可。
本公开实施例提供的数据传输方法、装置及服务器,数据处理装置接收客户端的请求后转发给服务器;当该请求为图像渲染请求时,服务器获取图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;服务器将指令传输给数据处理装置,数据处理装置根据指令通过自身配置的显卡完成图像渲染后将图像数据传输给客户端;其中,在服务器内不需要根据指令进行图像渲染。因此,服务器的工作量大大减轻,甚至可以不需要图形处理器就可以支撑大量客户端的3D图像渲染任务,也无需升级服务器。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例的系统架构示意图;
图2是现有的WDDM驱动模型体系结构图;
图3是本公开实施例提供的一种数据传输方法的流程示意图;
图4是本公开实施例中服务器操作系统的WDDM驱动模型体系结构图;
图5是本公开实施例提供的另一种数据传输方法的流程示意图;
图6是本公开实施例提供的一种服务器的结构示意图;
图7是本公开实施例提供的一种数据处理装置的结构示意图;
图8是本公开实施例提供的一个实施效果示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例的系统架构示意图如图1所示,其中,服务器与客户端之间通过数据处理装置进行通信,客户端的请求以及服务器的应答均通过数据处理装置转发,数据处理装置与服务器均需配置支持Windows显示器驱动程序模型(Windows Display Driver Model,WDDM)的操作系统。
WDDM是在微软公司开发的Windows Vista操作系统中开始支持的一种显示器驱动程序体系结构。WDDM是对Windows XP操作系统中的显示器驱动程序结构的革新,在支持新的方案、图形和应用程序的同时,能够为用户提供性能更佳、可靠性更高的桌面体验。
图2是WDDM驱动模型体系结构示意图,当应用程序有图像渲染需求时,操作系统会调用D3D RT(Direct 3D runtime)程序的相关接口函数,同时向D3D RT程序发送与图像渲染相关的参数(对显卡的配置参数)、特效参数(与特效相关的参数)及绘图参数等。一方面,D3D RT程序会与用户模式显示驱动程序(User-Mode Display Driver,UMDD)进行交互,以获取显卡状态,并向用户模式显示驱动程序传递绘图指令(绘图指令根据绘图参数生成),用户模式显示驱动程序对接收到的绘图指令进行翻译后,会将翻译后的指令放入内存,以方便显示微型端口驱动(Display miniport driver)读取该翻译后的指令,同时,用户模式显示驱动会通知D3D RT程序指令翻译完成,此时,D3D RT程序会经由图形内核子系统(Direct Graphics kernel subsysterm或者Dxgkrnl.sys)通知显示微型端口驱动去内存中获取翻译后的指令,并通过直接内存存取(Direct Memory Access,DMA))方式传递给显卡的显存后供显卡执行;另一方面,D3D RT程序将显卡配置指令(显卡配置指令根据显卡配置参数生成)和特效指令(特效指令根据特效参数生成)传递给图形内核子系统。其中,图形硬件供应商(显卡制造商)必须提供用 户模式显示驱动程序和显示微型端口驱动程序。用户模式显示驱动程序是Microsoft Direct3D(微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部分,目前广为各家显卡制造商所支援)运行时加载的动态链接库(Dynamic Link Library,DLL)。显示微型端口驱动程序与DirectX(微软公司创建的多媒体编程接口)图形内核子系统进行通信。图形内核子系统是操作系统完成图像显示管理的系统文件,其参与系统所有的图像生成管理。
本公开实施例提供一种数据传输方法,如图3所示,该方法包括以下步骤:
101、服务器接收数据处理装置转发的客户端的请求。
具体的,在服务器与客户端之间通过数据处理装置进行通信,客户端的请求以及服务器的应答均通过数据处理装置转发,数据处理装置上配置有与服务器上操作系统相同的操作系统,例如均安装有支持WDDM的操作系统。
102、当该请求为图像渲染请求时,服务器获取图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令。
在一个实施例中,步骤102中服务器获取图像渲染对应的指令,具体可以包括:
102a、服务器截获服务器的操作系统中的D3D RT程序向用户模式显示驱动程序发送的绘图指令;
102b、服务器截获服务器的操作系统中的图形内核子系统向显示微型端口驱动程序发送的显卡配置指令以及特效指令。
具体的,图4所示为本公开实施例中提供的针对服务器的WDDM驱动模型体系结构,相较于图2,在服务器的操作系统中的D3D RT程序和用户模式显示驱动之间增加一个用户模式过滤驱动(或者采用虚拟驱动),同时,在图形内核子系统和显示微型端口驱动之间增加一个内核模式过滤驱动(或者采用虚拟驱动)。下面分别对这两个增加的过滤驱动的功能进行介绍:
1)用户模式过滤驱动
用户模式过滤驱动用于对D3D RT程序向用户模式显示驱动传递的绘图 指令进行截获。用户模式过滤驱动相当于D3D RT程序和用户模式显示驱动之间的一个桥梁,对它们之间的指令进行监听,但并不会改变指令本身内容。
具体的,如图4所示的结构,当服务器的操作系统中的D3D RT程序收到应用层发送的图像渲染需求时,会首先通知用户模式显示驱动程序(比如DrawPrimitive),用户模式显示驱动会对接收到的绘图指令进行转换处理得到显卡能够识别的指令并通过DMA方式传递给显卡的显存由显卡进行指令执行。本公开实施例中通过用户模式过滤驱动在用户模式显示驱动执行指令转换处理动作之前对绘图指令进行截获。
2)内核模式过滤驱动
内核模式过滤驱动用于对图形内核子系统发给显示微型端口驱动的显卡配置指令和特效指令进行截获,这些指令是D3D RT程序从应用层接收到并传递给图形内核子系统的。
需要说明的是,对于虚拟化的服务器,由于没有实体显卡,对于这种场景,应用本公开实施例的技术方案时,在该虚拟化服务器的操作系统中的WDDM驱动模型体系结构中设置一个虚拟的用户模式过滤驱动用于充当用户模式显示驱动的角色以便截获绘图指令,以及设置一个虚拟的显示微型端口驱动用于充当显示微型端口驱动的角色以便显卡配置指令和特效指令。
103、服务器将指令传输给数据处理装置以使数据处理装置根据指令完成图像渲染后将图像数据传输给客户端;其中,在服务器内不需要根据指令进行图像渲染。
具体的,用户模式过滤驱动将截获的绘图指令发送到数据处理装置,内核模式过滤驱动将截获的显卡配置指令和特效指令发送给数据处理装置,数据处理装置操作系统根据前述指令利用数据处理装置自身的显卡完成图像渲染。具体的,数据处理装置操作系统根据图像渲染相关的指令通过显卡完成图像渲染的过程参照相关的显卡渲染图像的技术资料即可,在此不做详述。
本公开实施例中数据处理装置具备图像渲染能力即配置有图形处理器(Graphics Processing Unit,GPU),根据实际情况,如果来自客户端的3D图像渲染需求非常多,数据处理装置可以配置若干个显卡。
在一个实施例中,该方法还包括:
104、当该请求为除图像渲染请求以外的请求时,服务器根据该请求进行处理后将处理结果传输给数据处理装置以使数据处理装置转发给客户端。
对于一般的云桌面客户端请求,服务器可以直接处理的则直接在服务器内处理,无需交由数据处理装置处理,只需将处理结果例如计算机桌面图像数据通过数据处理装置转发给客户端即可。
本公开实施例提供的数据传输方法,数据处理装置接收客户端的请求后转发给服务器;当该请求为图像渲染请求时,服务器获取图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;服务器将指令传输给数据处理装置,数据处理装置根据指令通过自身配置的显卡完成图像渲染后将图像数据传输给客户端;其中,在服务器内不需要根据指令进行图像渲染。因此,服务器的工作量大大减轻,甚至可以不需要图形处理器就可以支撑大量客户端的3D图像渲染任务,也无需升级服务器。
本公开实施例提供另一种数据传输方法,如图5所示,该方法包括以下步骤:
201、数据处理装置接收客户端的请求。
202、数据处理装置向服务器发送客户端的请求。
203、当该请求为图像渲染请求时,数据处理装置接收服务器发送的图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令。
204、数据处理装置根据指令通过数据处理装置的显卡完成图像渲染。
205、数据处理装置将完成图像渲染后得到的图像数据发送给客户端。
在一个实施例中,步骤204具体包括:
数据处理装置的操作系统中的用户模式显示驱动程序对绘图指令转换处理成显卡可识别的指令并由数据处理装置的显卡执行;
数据处理装置的操作系统中的显示微型端口驱动程序获取显卡配置指令以及特效指令并由数据处理装置的显卡执行。
具体的,数据处理装置接收到服务器发送的指令后,数据处理装置安装的微软windows操作系统支持WDDM驱动模型体系结构,数据处理装置操作系统中的用户模式显示驱动对接收到的绘图指令进行转换处理得到显卡能 够识别的指令并通过直接内存存取(DMA)方式传递给显卡的显存,结合接收到的显卡配置指令以及特效指令,由数据处理装置的显卡进行指令执行完成图像渲染。
示例性的,数据处理装置所执行的图像渲染过程基于图2所示的WDDM模型框架实现,数据处理装置通过网络接收到服务器发送的指令(包括对显卡的配置指令、特效指令及绘图指令)后,其中,绘图指令由一个或者多个包含具体参数的函数组成,这些函数可以在数据处理装置的操作系统中重现,从而完成最终的3D图像渲染工作。比如,接收到的绘图指令为:func1(参数1、参数2、参数3);func2(参数1、参数2);func3(参数1、参数2、参数3、参数4);其中,func1、func2、func3是为了区分不同函数,而给出的三个示例性的函数名,根据上述示例,数据处理装置可以执行绘图指令中的三个函数来进行3D图像渲染(也就是函数重现过程)。
在一个实施例中,该方法还可以包括:
206、当该请求为除图像渲染请求以外的请求时,数据处理装置接收服务器根据该请求进行处理后得到的处理结果;
207、数据处理装置将处理结果发送给客户端。
对于一般的云桌面客户端请求,服务器可以直接处理的则直接在服务器内处理,服务器将处理结果例如计算机桌面图像数据通过数据处理装置转发给客户端即可。
本公开实施例提供的数据传输方法,数据处理装置接收客户端的请求后转发给服务器;当该请求为图像渲染请求时,数据处理装置接收服务器发送的图像渲染对应的指令,其中,指令包括:显卡配置指令、特效指令及绘图指令;数据处理装置根据指令通过数据处理装置的显卡完成图像渲染;数据处理装置将完成图像渲染后得到的图像数据发送给客户端。因此,服务器的工作量大大减轻,甚至可以不需要图形处理器就可以支撑大量客户端的3D图像渲染任务,也无需升级服务器。
基于上述对应的实施例中所描述的数据传输方法,下述为本公开装置实施例,可以用于执行上述本公开方法实施例。
本公开实施例提供一种服务器,如图6所示,该服务器60包括:
接收模块601,用于接收数据处理装置转发的客户端的请求;
获取模块602,用于当该请求为图像渲染请求时,获取图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;
传输模块603,用于将指令传输给数据处理装置以使数据处理装置根据指令完成图像渲染后将图像数据传输给客户端;其中,在服务器内不需要根据指令进行图像渲染。
在一个实施例中,如图6所示,服务器60还可以包括:
处理模块604,用于当该请求为除图像渲染请求以外的请求时,根据该请求进行处理后调用传输模块603将处理结果传输给数据处理装置以使数据处理装置转发给客户端。
对于一般的云桌面客户端请求,服务器可以直接处理的则直接在服务器内处理,无需交由数据处理装置处理,只需将处理结果例如计算机桌面图像数据通过数据处理装置转发给客户端即可。
在一个实施例中,获取模块602具体用于:
截获服务器的操作系统中的D3D RT程序向用户模式显示驱动程序发送的绘图指令;
截获服务器的操作系统中的图形内核子系统向显示微型端口驱动程序发送的显卡配置指令以及特效指令。
本公开实施例提供的服务器,数据处理装置接收客户端的请求后转发给服务器;当该请求为图像渲染请求时,服务器获取图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;服务器将指令传输给数据处理装置,数据处理装置根据指令通过自身配置的显卡完成图像渲染后将图像数据传输给客户端;其中,在服务器内不需要根据指令进行图像渲染。因此,服务器的工作量大大减轻,甚至可以不需要图形处理器就可以支撑大量客户端的3D图像渲染任务,也无需升级服务器。
本公开实施例提供一种数据处理装置,如图7所示,该数据处理装置70包括:
通信模块701、处理器702、显卡703、及存储器704;数据处理装置70 通过通信模块701分别与客户端和服务器之间进行通信;通信模块701包括:请求接收模块7011、请求转发模块7012、指令接收模块7013、图像采集模块7014和图像传输模块7015;
请求接收模块7011,用于接收客户端的请求;
请求转发模块7012,用于向服务器发送客户端的请求;
指令接收模块7013,用于当请求为图像渲染请求时,数据处理装置接收服务器发送的图像渲染对应的指令;其中,指令包括:显卡配置指令、特效指令及绘图指令;
存储器704,用于缓存从服务器接收到的图像渲染对应的指令以及缓存完成图像渲染后得到的图像;
处理器702,用于根据指令指示显卡完成图像渲染;
图像采集模块7014,用于采集完成图像渲染后得到的图像;
图像传输模块7015,用于将完成图像渲染后得到的图像发送给客户端。
在一个实施例中,处理器702具体用于:
在数据处理装置的操作系统中的用户模式显示驱动程序对绘图指令转换处理成显卡可识别的指令并由数据处理装置的显卡执行;
在数据处理装置的操作系统中的显示微型端口驱动程序获取显卡配置指令以及特效指令并由数据处理装置的显卡执行。
数据处理装置配置有支持WDDM的操作系统,接收到服务器发送的图像渲染对应的指令后,按照操作系统中执行指令的流程通过自身配置的显卡完成图像渲染。
在一个实施例中,图像采集模块7014还用于:当该请求为除图像渲染请求以外的请求时,采集服务器发送的根据该请求进行处理后得到的图像;
相应的,图像传输模块7015还用于:将服务器发送的根据该请求进行处理后得到的图像发送给客户端。
对于一般的云桌面客户端请求,服务器可以直接处理的则直接在服务器内处理,服务器将处理结果例如计算机桌面图像数据通过数据处理装置转发 给客户端即可。
基于图7所示的数据处理装置,图8为本公开实施例提供的一个详细的实施效果示意图。
本公开实施例提供的数据处理装置,数据处理装置接收客户端的请求后转发给服务器;当该请求为图像渲染请求时,数据处理装置接收服务器发送的图像渲染对应的指令,其中,指令包括:显卡配置指令、特效指令及绘图指令;数据处理装置根据指令通过数据处理装置的显卡完成图像渲染;数据处理装置将完成图像渲染后得到的图像数据发送给客户端。因此,服务器的工作量大大减轻,甚至可以不需要图形处理器就可以支撑大量客户端的3D图像渲染任务,也无需升级服务器。
基于上述图3/5对应的实施例中所描述的数据传输方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图3/5对应的实施例中所描述的数据传输方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

Claims (10)

  1. 一种数据传输方法,其特征在于,包括:
    服务器接收数据处理装置转发的客户端的请求;
    当所述请求为图像渲染请求时,所述服务器获取所述图像渲染对应的指令;其中,所述指令包括:显卡配置指令、特效指令及绘图指令;
    所述服务器将所述指令传输给所述数据处理装置以使所述数据处理装置根据所述指令完成图像渲染后将图像数据传输给所述客户端;其中,在所述服务器内不需要根据所述指令进行图像渲染。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当所述请求为除所述图像渲染请求以外的请求时,所述服务器根据所述请求进行处理后将所述处理结果传输给所述数据处理装置以使所述数据处理装置转发给所述客户端。
  3. 根据权利要求1所述的方法,其特征在于,所述服务器获取所述图像渲染对应的指令,包括:
    所述服务器截获所述服务器的操作系统中的D3D RT程序向用户模式显示驱动程序发送的所述绘图指令;
    所述服务器截获所述服务器的操作系统中的图形内核子系统向显示微型端口驱动程序发送的所述显卡配置指令以及所述特效指令。
  4. 一种数据传输方法,其特征在于,包括:
    数据处理装置接收客户端的请求;
    所述数据处理装置向服务器发送所述客户端的请求;
    当所述请求为图像渲染请求时,所述数据处理装置接收所述服务器发送的所述图像渲染对应的指令;其中,所述指令包括:显卡配置指令、特效指令及绘图指令;
    所述数据处理装置根据所述指令通过所述数据处理装置的显卡完成图像渲染;
    所述数据处理装置将完成图像渲染后得到的图像数据发送给所述客户端。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    当所述请求为除所述图像渲染请求以外的请求时,所述数据处理装置接收所述服务器根据所述请求进行处理后得到的处理结果;
    所述数据处理装置将所述处理结果发送给所述客户端。
  6. 一种服务器,其特征在于,包括:
    接收模块,用于接收数据处理装置转发的客户端的请求;
    获取模块,用于当所述请求为图像渲染请求时,获取所述图像渲染对应的指令;其中,所述指令包括:显卡配置指令、特效指令及绘图指令;
    传输模块,用于将所述指令传输给所述数据处理装置以使所述数据处理装置根据所述指令完成图像渲染后将图像数据传输给所述客户端;其中,在所述服务器内不需要根据所述指令进行图像渲染。
  7. 根据权利要求6所述的服务器,其特征在于,所述服务器还包括:
    处理模块,用于当所述请求为除所述图像渲染请求以外的请求时,根据所述请求进行处理后调用所述传输模块将所述处理结果传输给所述数据处理装置以使所述数据处理装置转发给所述客户端。
  8. 根据权利要求6所述的服务器,其特征在于,所述获取模块具体用于:
    截获所述服务器的操作系统中的D3D RT程序向用户模式显示驱动程序发送的所述绘图指令;
    截获所述服务器的操作系统中的图形内核子系统向显示微型端口驱动程序发送的所述显卡配置指令以及所述特效指令。
  9. 一种数据处理装置,其特征在于,包括:通信模块、处理器、显卡、及存储器;所述数据处理装置通过所述通信模块分别与客户端和服务器之间进行通信;所述通信模块包括:请求接收模块、请求转发模块、指令接收模块、图像采集模块和图像传输模块;
    所述请求接收模块,用于接收所述客户端的请求;
    所述请求转发模块,用于向所述服务器发送所述客户端的请求;
    所述指令接收模块,用于当所述请求为图像渲染请求时,所述数据处理 装置接收所述服务器发送的所述图像渲染对应的指令;其中,所述指令包括:显卡配置指令、特效指令及绘图指令;
    所述存储器,用于缓存从所述服务器接收到的所述图像渲染对应的指令以及完成图像渲染后得到的图像;
    所述处理器,用于根据所述指令指示所述显卡完成图像渲染;
    所述图像采集模块,用于采集所述完成图像渲染后得到的图像;
    所述图像传输模块,用于将所述完成图像渲染后得到的图像发送给所述客户端。
  10. 根据权利要求9所述的数据处理装置,其特征在于,所述图像采集模块还用于:当所述请求为除所述图像渲染请求以外的请求时,采集所述服务器发送的根据所述请求进行处理后得到的图像;
    相应的,所述图像传输模块还用于:将所述服务器发送的根据所述请求进行处理后得到的图像发送给所述客户端。
PCT/CN2020/086348 2019-07-16 2020-04-23 数据传输方法、装置及服务器 WO2021008185A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910640112.6 2019-07-16
CN201910640112.6A CN110545415A (zh) 2019-07-16 2019-07-16 数据传输方法、装置及服务器

Publications (1)

Publication Number Publication Date
WO2021008185A1 true WO2021008185A1 (zh) 2021-01-21

Family

ID=68709630

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/086348 WO2021008185A1 (zh) 2019-07-16 2020-04-23 数据传输方法、装置及服务器

Country Status (2)

Country Link
CN (1) CN110545415A (zh)
WO (1) WO2021008185A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557624A (zh) * 2019-07-16 2019-12-10 西安万像电子科技有限公司 数据传输方法、装置及服务器
CN110545415A (zh) * 2019-07-16 2019-12-06 西安万像电子科技有限公司 数据传输方法、装置及服务器
CN111354063B (zh) * 2020-03-10 2023-09-08 深信服科技股份有限公司 一种三维元素渲染方法、桌面云服务端及桌面云系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254292A (zh) * 2010-05-20 2011-11-23 盛乐信息技术(上海)有限公司 远程3d指令渲染系统及方法
CN104765636A (zh) * 2014-01-02 2015-07-08 华为技术有限公司 一种远程桌面图像的合成方法和装置
US20160055613A1 (en) * 2014-03-13 2016-02-25 Huawei Technologies Co., Ltd. Image Processing Method, Virtual Machine, and Virtual Machine System
CN107329723A (zh) * 2017-07-13 2017-11-07 山东超越数控电子有限公司 一种实现DirectDraw加速的方法
CN109508212A (zh) * 2017-09-13 2019-03-22 深信服科技股份有限公司 图形渲染方法、设备及计算机可读存储介质
CN110545415A (zh) * 2019-07-16 2019-12-06 西安万像电子科技有限公司 数据传输方法、装置及服务器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2165259A1 (en) * 2007-10-20 2010-03-24 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphical data
US9069622B2 (en) * 2010-09-30 2015-06-30 Microsoft Technology Licensing, Llc Techniques for load balancing GPU enabled virtual machines
US9348552B2 (en) * 2011-11-16 2016-05-24 Cisco Technology, Inc. Network appliance for transcoding or enriching virtual desktop infrastructure desktop images
TWI482118B (zh) * 2012-10-18 2015-04-21 Wistron Corp 處理圖形運算負載平衡之方法及系統
CN103888485B (zh) * 2012-12-19 2018-03-09 华为技术有限公司 云计算资源的分配方法、装置及系统
US9665921B2 (en) * 2012-12-29 2017-05-30 Futurewei Technologies, Inc. Adaptive OpenGL 3D graphics in virtual desktop infrastructure
WO2015042430A1 (en) * 2013-09-19 2015-03-26 Citrix Systems, Inc. Transmitting hardware-rendered graphical data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254292A (zh) * 2010-05-20 2011-11-23 盛乐信息技术(上海)有限公司 远程3d指令渲染系统及方法
CN104765636A (zh) * 2014-01-02 2015-07-08 华为技术有限公司 一种远程桌面图像的合成方法和装置
US20160055613A1 (en) * 2014-03-13 2016-02-25 Huawei Technologies Co., Ltd. Image Processing Method, Virtual Machine, and Virtual Machine System
CN107329723A (zh) * 2017-07-13 2017-11-07 山东超越数控电子有限公司 一种实现DirectDraw加速的方法
CN109508212A (zh) * 2017-09-13 2019-03-22 深信服科技股份有限公司 图形渲染方法、设备及计算机可读存储介质
CN110545415A (zh) * 2019-07-16 2019-12-06 西安万像电子科技有限公司 数据传输方法、装置及服务器

Also Published As

Publication number Publication date
CN110545415A (zh) 2019-12-06

Similar Documents

Publication Publication Date Title
WO2021008183A1 (zh) 数据传输方法、装置及服务器
WO2021008185A1 (zh) 数据传输方法、装置及服务器
US9798565B2 (en) Data processing system and method having an operating system that communicates with an accelerator independently of a hypervisor
US10057364B2 (en) Method and apparatus for remotely running application program
US9063793B2 (en) Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes
US9135024B2 (en) Playing multimedia content at remote graphics display client
CN105122210B (zh) Gpu虚拟化的实现方法及相关装置和系统
WO2020119316A1 (zh) 终端系统构架、通信系统及通信方法、存储介质
US8872835B2 (en) Prevention of DoS attack by a rogue graphics application
US8799900B1 (en) Sharing webcam between guest and host OS
CN110458748A (zh) 数据传输方法、服务器及客户端
WO2022041507A1 (zh) 3d渲染方法及系统
CN111522670A (zh) 一种用于Android系统的GPU虚拟化方法、系统及介质
CN109033328B (zh) 一种访问请求处理方法、装置、设备及可读存储介质
JP7384900B2 (ja) 仮想マシン・メモリの安全なアクセス
KR20150080567A (ko) 다중-플랫폼 모바일 및 다른 컴퓨팅 디바이스 및 방법
US20130204924A1 (en) Methods and apparatuses for providing application level device transparency via device devirtualization
US11750749B1 (en) Method to use native scanning properties dialog to scan in scanner redirection
US11716428B1 (en) Method of dynamically mapping scanner names from client to agent
US9519493B2 (en) Populating a client device with graphical images specific to a machine
CN113784049A (zh) 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质
CN110442389B (zh) 一种多桌面环境共享使用gpu的方法
US20230195491A1 (en) Device emulation in remote computing environments
US10733689B2 (en) Data processing
WO2023216621A1 (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: 20839739

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20839739

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20839739

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 14-10-2022)