CN110545415A - Data transmission method and device and server - Google Patents
Data transmission method and device and server Download PDFInfo
- Publication number
- CN110545415A CN110545415A CN201910640112.6A CN201910640112A CN110545415A CN 110545415 A CN110545415 A CN 110545415A CN 201910640112 A CN201910640112 A CN 201910640112A CN 110545415 A CN110545415 A CN 110545415A
- Authority
- CN
- China
- Prior art keywords
- request
- server
- instruction
- data processing
- processing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Abstract
the data transmission method, the data transmission device and the server provided by the embodiment of the disclosure relate to the technical field of cloud computing, and can solve the problems that the server cannot support a large number of 3D image rendering work tasks and the difficulty in updating the server is high in the existing cloud desktop technology. The specific technical scheme is as follows: the data processing device receives the request of the client and forwards the request to the server; when the request is an image rendering request, the server acquires an instruction corresponding to image rendering; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out; the server transmits the instruction to the data processing device, and the data processing device completes image rendering through a self-configured display card according to the instruction and then transmits image data to the client; wherein, the image rendering is not required to be carried out according to the instruction in the server.
Description
Technical Field
The disclosure relates to the technical field of cloud computing, and in particular to a data transmission method, a data transmission device and a server.
Background
The cloud desktop technology refers to a technology that a user remotely accesses a server through a client, and the server provides a desktop image of a current server host to the remote client in a virtual mode. The server transmits the images to the user through screen copy, and the user obtains the desktop image sequence. After the image is compressed, the image is transmitted to a cloud terminal through a network, and the terminal decodes the image to obtain desktop image content.
in many existing scenarios, for example, network games, three-dimensional (3D) videos, or 3D remote desktop transmission, etc., 3D images need to be transmitted and displayed on a client. In this case, the server often needs to support a large number of clients for 3D image rendering at the same time, which requires very high Graphics Processing Unit (GPU) resources on the server, but the existing server generally does not have such powerful GPU resources, even 3D rendering capability. If the configuration upgrading is directly carried out on the server, the server is required to be interrupted, a certain time cost is consumed by the server within a period of interruption, and the configuration upgrading process is required to be carried out on the inside of a server rack, so that the process is very complicated and difficult.
Disclosure of Invention
the embodiment of the disclosure provides a data transmission method, a data transmission device and a server, and can solve the problems that the server cannot support a large number of 3D image rendering tasks and the server is difficult to upgrade in the existing cloud desktop technology. The technical scheme is as follows:
According to a first aspect of the embodiments of the present disclosure, there is provided a data transmission method, including:
the server receives a request of the client forwarded by the data processing device;
when the request is an image rendering request, the server acquires an instruction corresponding to image rendering; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
The server transmits the instruction to the data processing device so that the data processing device can complete image rendering according to the instruction and then transmit the image data to the client; wherein, the image rendering is not required to be carried out according to the instruction in the server.
In one embodiment, the method further comprises:
and when the request is a request except for the image rendering request, the server transmits a processing result to the data processing device after processing according to the request so that the data processing device forwards the processing result to the client.
for a general cloud desktop client request, a server can directly process the request and directly process the request in the server without being processed by a data processing device, and only a processing result, such as computer desktop image data, needs to be forwarded to the client through the data processing device.
in one embodiment, the server obtains instructions for rendering an image, comprising:
the server intercepts and captures a drawing instruction sent by a D3D RT program in an operating system of the server to a user mode display driver;
the server intercepts and captures a graphics kernel subsystem in an operating system of the server and a display card configuration instruction and a special effect instruction which are sent to a display micro-port driver.
the server operating system generates an instruction according to the request of the 3D image rendering of the client, and can execute the 3D image rendering without a server by intercepting the instruction, so that the change is small, and no transformation burden is caused on the server.
according to a second aspect of the embodiments of the present disclosure, there is provided a data transmission method, including:
The data processing device receives a request of a client;
The data processing device sends a request of a client to a server;
when the request is an image rendering request, the data processing device receives an instruction corresponding to image rendering sent by the server; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
the data processing device finishes image rendering through a display card of the data processing device according to the instruction;
and the data processing device sends the image data obtained after the image rendering is finished to the client.
In one embodiment, the data processing device performs image rendering through a graphics card of the data processing device according to the instruction, including:
A user mode display driving program in an operating system of the data processing device converts and processes the drawing instruction into an instruction which can be recognized by a display card and is executed by the display card of the data processing device;
A display micro port driver in an operating system of the data processing device acquires a display card configuration instruction and a special effect instruction and is executed by a display card of the data processing device.
The data processing device can be configured with an operating system the same as that of the server, and after receiving an instruction corresponding to image rendering sent by the server, the data processing device completes image rendering through a self-configured display card according to a flow of executing the instruction in the operating system.
In one embodiment, the method further comprises:
when the request is a request except for the image rendering request, the data processing device receives a processing result obtained after the server carries out processing according to the request;
And the data processing device sends the processing result to the client.
for a general cloud desktop client request, a server can directly process the request and directly process the request in the server, and the server only needs to forward a processing result, such as computer desktop image data, to a client through a data processing device.
according to a third aspect of the embodiments of the present disclosure, there is provided a server, including:
The receiving module is used for receiving the request of the client forwarded by the data processing device;
the acquisition module is used for acquiring an instruction corresponding to image rendering when the request is an image rendering request; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
The transmission module is used for transmitting the instruction to the data processing device so that the data processing device can complete image rendering according to the instruction and then transmit the image data to the client; wherein, the image rendering is not required to be carried out according to the instruction in the server.
In one embodiment, the server further comprises:
and the processing module is used for calling the transmission module to transmit the processing result to the data processing device after processing according to the request when the request is other than the image rendering request so as to enable the data processing device to transmit the processing result to the client.
For a general cloud desktop client request, a server can directly process the request and directly process the request in the server without being processed by a data processing device, and only a processing result, such as computer desktop image data, needs to be forwarded to the client through the data processing device.
in one embodiment, the obtaining module is specifically configured to:
Capturing a drawing instruction sent by a D3D RT program in an operating system of a server to a user mode display driver;
And intercepting and capturing a display card configuration instruction and a special effect instruction which are sent to a display micro-port driver by a graphics kernel subsystem in an operating system of the server.
According to a fourth aspect of the embodiments of the present disclosure, a data processing apparatus includes:
the device comprises a communication module, a processor, a display card and a memory; the data processing device is communicated with the client and the server through the communication module respectively; the communication module includes: the system comprises a request receiving module, a request forwarding module, an instruction receiving module, an image acquisition module and an image transmission module;
the request receiving module is used for receiving a request of a client;
the request forwarding module is used for sending a request of the client to the server;
the instruction receiving module is used for receiving an instruction corresponding to image rendering sent by the server by the data processing device when the request is an image rendering request; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
The memory is used for caching an instruction corresponding to image rendering received from the server and caching an image obtained after the image rendering is finished;
The processor is used for indicating the display card to finish image rendering according to the instruction;
The image acquisition module is used for acquiring an image obtained after image rendering is finished;
And the image transmission module is used for sending the image obtained after the image rendering is finished to the client.
in one embodiment, the processor is specifically configured to:
A user mode display driving program in an operating system of the data processing device converts and processes the drawing instruction into an instruction which can be recognized by a display card and is executed by the display card of the data processing device;
A display micro port driver in an operating system of the data processing device acquires a display card configuration instruction and a special effect instruction and is executed by a display card of the data processing device.
the data processing device can be configured with an operating system the same as that of the server, and after receiving an instruction corresponding to image rendering sent by the server, the data processing device completes image rendering through a self-configured display card according to a flow of executing the instruction in the operating system.
in one embodiment, the image acquisition module is further configured to: when the request is a request except for an image rendering request, acquiring an image which is sent by a server and processed according to the request;
Correspondingly, the image transmission module is further configured to: and sending the image which is sent by the server and processed according to the request to the client.
for a general cloud desktop client request, a server can directly process the request and directly process the request in the server, and the server only needs to forward a processing result, such as computer desktop image data, to a client through a data processing device.
according to the data transmission method, the data transmission device and the server, the data processing device receives the request of the client and forwards the request to the server; when the request is an image rendering request, the server acquires an instruction corresponding to image rendering; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out; the server transmits the instruction to the data processing device, and the data processing device completes image rendering through a self-configured display card according to the instruction and then transmits image data to the client; wherein, the image rendering is not required to be carried out according to the instruction in the server. Therefore, the workload of the server is greatly reduced, and even a large number of 3D image rendering tasks of the client can be supported without a graphics processor, and the server does not need to be upgraded.
it is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
FIG. 1 is a system architecture diagram of an embodiment of the present disclosure;
FIG. 2 is a prior art WDDM driven model architecture diagram;
Fig. 3 is a schematic flow chart of a data transmission method provided by an embodiment of the present disclosure;
FIG. 4 is a WDDM driven model architecture diagram of a server operating system in an embodiment of the disclosure;
Fig. 5 is a schematic flow chart of another data transmission method provided by the embodiment of the present disclosure;
Fig. 6 is a schematic structural diagram of a server provided in the embodiment of the present disclosure;
Fig. 7 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present disclosure;
Fig. 8 is a schematic diagram illustrating an implementation effect provided by an embodiment of the present disclosure.
Detailed Description
reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
A schematic diagram of a system architecture of the embodiment of the disclosure is shown in fig. 1, where a server and a client communicate with each other through a data processing device, a request of the client and a response of the server are forwarded through the data processing device, and both the data processing device and the server need to configure an operating system supporting a Windows Display Driver Model (WDDM).
WDDM is a display driver architecture that is initially supported in the Windows Vista operating system developed by microsoft corporation. WDDM is an innovation of the structure of the display driver in the Windows XP operating system, and can provide users with desktop experience with better performance and higher reliability while supporting new schemes, graphics and applications.
Fig. 2 is a schematic diagram of a WDDM-driven model architecture, when an application program has an image rendering requirement, an operating system calls a related interface function of a D3D RT (Direct 3D runtime) program, and sends parameters related to image rendering (configuration parameters for a graphics card), special effect parameters (parameters related to special effects), drawing parameters, and the like to a D3D RT program. On the one hand, the D3D RT program interacts with a User-Mode Display Driver (UMDD), to obtain the status of the display card and transmit the drawing instruction (the drawing instruction is generated according to the drawing parameter) to the user mode display driver, the user mode display driver translates the received drawing instruction and then puts the translated instruction into the memory, so as to facilitate the Display miniport driver (Display miniport driver) to read the translated command, meanwhile, the user mode display driver informs the D3D RT program of finishing the translation of the instruction, at this time, the D3D RT program informs the display miniport driver to obtain the translated instruction from the memory through a Graphics kernel subsystem (Direct Graphics kernel subsystem or Dxgkrnl. sys), and the data is transmitted to the video Memory of the video card in a Direct Memory Access (DMA) mode and then is executed by the video card; on the other hand, the D3D RT program transmits a graphics card configuration instruction (generated according to the graphics card configuration parameters) and a special effect instruction (generated according to the special effect parameters) to the graphics kernel subsystem. Among other things, the graphics hardware vendor (graphics card manufacturer) must provide the user-mode display driver and the display miniport driver. The user mode display driver is a Dynamic Link Library (DLL) loaded at runtime by Microsoft Direct3D (a set of 3D graphics programming interfaces developed by Microsoft corporation on Microsoft Windows operating system, which is part of DirectX and is currently widely supported by various display card manufacturers). 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 for the operating system to complete image display management, and participates in all image generation management of the system.
an embodiment of the present disclosure provides a data transmission method, as shown in fig. 3, the method includes the following steps:
101. The server receives the request of the client forwarded by the data processing device.
specifically, the server and the client communicate with each other through the data processing device, the request from the client and the response from the server are both forwarded through the data processing device, and the data processing device is provided with an operating system similar to the operating system on the server, for example, an operating system supporting WDDM is installed.
102. When the request is an image rendering request, the server acquires an instruction corresponding to image rendering; wherein the instructions include: the display card comprises a configuration instruction, a special effect instruction and a drawing instruction.
in an embodiment, the step 102 of acquiring, by the server, an instruction corresponding to image rendering may specifically include:
102a, the server intercepts and captures a drawing instruction sent by a D3D RT program in an operating system of the server to a user mode display driver;
102b, the server intercepts and captures a graphics kernel subsystem in an operating system of the server and a display card configuration instruction and a special effect instruction sent by a display miniport driver.
specifically, fig. 4 shows a WDDM driver model architecture for a server provided in an embodiment of the present disclosure, and compared to fig. 2, a user-mode filter driver (or a virtual driver) is added between a D3D RT program in an operating system of the server and a user-mode display driver, and a kernel-mode filter driver (or a virtual driver) is added between a graphics kernel subsystem and a display miniport driver. The function of these two added filter drivers is described below:
1) User mode filter driver
the user mode filter driver is used for intercepting drawing instructions transmitted by 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, and listens for commands between them, but does not change the content of the commands themselves.
Specifically, as shown in fig. 4, when the D3D RT program in the operating system of the server receives an image rendering request sent by the application layer, the D3D RT program firstly notifies a user mode display driver (for example, draw primative), and the user mode display driver converts the received drawing instruction to obtain an instruction that can be recognized by the display card, and transmits the instruction to the video memory of the display card in a DMA manner for instruction execution by the display card. In the embodiment of the disclosure, the user mode filter driver intercepts the drawing instruction before the user mode display driver executes the instruction conversion processing action.
2) kernel mode filter driver
The kernel mode filter driver is used for intercepting a graphics card configuration instruction and a special effect instruction which are sent to the display miniport driver by the graphics kernel subsystem, wherein the instructions are received by the D3D RT program from an application layer and are transmitted to the graphics kernel subsystem.
it should be noted that, for a virtualized server, since there is no physical graphics card, for such a scenario, when applying the technical solution of the embodiment of the present disclosure, a virtual user mode filter driver is set in a WDDM driver model architecture in an operating system of the virtualized server to serve as a role of a user mode display driver so as to intercept a drawing instruction, and a virtual display miniport driver is set to serve as a role of a display miniport driver so as to facilitate a graphics card configuration instruction and a special effect instruction.
103. the server transmits the instruction to the data processing device so that the data processing device can complete image rendering according to the instruction and then transmit the image data to the client; wherein, the image rendering is not required to be carried out according to the instruction in the server.
specifically, the user mode filter driver sends the intercepted drawing instruction to the data processing device, the kernel mode filter driver sends the intercepted graphics card configuration instruction and the intercepted special effect instruction to the data processing device, and the data processing device operating system completes image rendering by using the graphics card of the data processing device according to the instruction. Specifically, the data processing apparatus operating system completes the image rendering process through the graphics card according to the instruction related to the image rendering, and refers to the technical data of the related graphics card rendering image, which is not described in detail herein.
In the embodiment of the present disclosure, the data Processing apparatus has an image rendering capability, that is, is configured with a Graphics Processing Unit (GPU), and according to an actual situation, if there are many 3D image rendering requirements from the client, the data Processing apparatus may be configured with a plurality of display cards.
in one embodiment, the method further comprises:
104. and when the request is a request except for the image rendering request, the server transmits a processing result to the data processing device after processing according to the request so that the data processing device forwards the processing result to the client.
for a general cloud desktop client request, a server can directly process the request and directly process the request in the server without being processed by a data processing device, and only a processing result, such as computer desktop image data, needs to be forwarded to the client through the data processing device.
According to the data transmission method provided by the embodiment of the disclosure, a data processing device receives a request of a client and forwards the request to a server; when the request is an image rendering request, the server acquires an instruction corresponding to image rendering; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out; the server transmits the instruction to the data processing device, and the data processing device completes image rendering through a self-configured display card according to the instruction and then transmits image data to the client; wherein, the image rendering is not required to be carried out according to the instruction in the server. Therefore, the workload of the server is greatly reduced, and even a large number of 3D image rendering tasks of the client can be supported without a graphics processor, and the server does not need to be upgraded.
An embodiment of the present disclosure provides another data transmission method, as shown in fig. 5, the method includes the following steps:
201. the data processing device receives a request of a client.
202. The data processing apparatus transmits a request of the client to the server.
203. When the request is an image rendering request, the data processing device receives an instruction corresponding to image rendering sent by the server; wherein the instructions include: the display card comprises a configuration instruction, a special effect instruction and a drawing instruction.
204. And the data processing device finishes image rendering through a display card of the data processing device according to the instruction.
205. And the data processing device sends the image data obtained after the image rendering is finished to the client.
In one embodiment, step 204 specifically includes:
a user mode display driving program in an operating system of the data processing device converts and processes the drawing instruction into an instruction which can be recognized by a display card and is executed by the display card of the data processing device;
A display micro port driver in an operating system of the data processing device acquires a display card configuration instruction and a special effect instruction and is executed by a display card of the data processing device.
specifically, after the data processing device receives an instruction sent by the server, a microsoft windows operating system installed in the data processing device supports a WDDM driver model architecture, a user mode display driver in the data processing device operating system converts the received drawing instruction to obtain an instruction that can be recognized by the video card and transmits the instruction to the video memory of the video card in a Direct Memory Access (DMA) manner, and the video card of the data processing device performs instruction execution to complete image rendering by combining the received video card configuration instruction and special effect instruction.
illustratively, the image rendering process performed by the data processing apparatus is implemented based on the WDDM model framework shown in fig. 2, and the data processing apparatus receives, via the network, instructions sent by the server (including configuration instructions, special effects instructions, and drawing instructions for the graphics card), where the drawing instructions are composed of one or more functions containing specific parameters, and these functions can be reproduced in the operating system of the data processing apparatus, so as to complete the final 3D image rendering operation. For example, the received drawing command is: func1 (parameter 1, parameter 2, parameter 3); func2 (parameter 1, parameter 2); func3 (parameter 1, parameter 2, parameter 3, parameter 4); where func1, func2, and func3 are three exemplary function names given to distinguish different functions, according to the above example, the data processing apparatus may perform three functions in the drawing instruction to perform 3D image rendering (i.e., function reproduction process).
in one embodiment, the method may further comprise:
206. when the request is a request except for the image rendering request, the data processing device receives a processing result obtained after the server carries out processing according to the request;
207. and the data processing device sends the processing result to the client.
for a general cloud desktop client request, a server can directly process the request and directly process the request in the server, and the server only needs to forward a processing result, such as computer desktop image data, to a client through a data processing device.
according to the data transmission method provided by the embodiment of the disclosure, a data processing device receives a request of a client and forwards the request to a server; when the request is an image rendering request, the data processing device receives an instruction corresponding to image rendering sent by a server, wherein the instruction comprises: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out; the data processing device finishes image rendering through a display card of the data processing device according to the instruction; and the data processing device sends the image data obtained after the image rendering is finished to the client. Therefore, the workload of the server is greatly reduced, and even a large number of 3D image rendering tasks of the client can be supported without a graphics processor, and the server does not need to be upgraded.
Based on the data transmission method described in the corresponding embodiment, the following is an embodiment of the apparatus of the present disclosure, which can be used to execute the embodiment of the method of the present disclosure.
An embodiment of the present disclosure provides a server, as shown in fig. 6, where the server 60 includes:
a receiving module 601, configured to receive a request of a client forwarded by a data processing apparatus;
An obtaining module 602, configured to obtain, when the request is an image rendering request, an instruction corresponding to image rendering; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
A transmission module 603, configured to transmit the instruction to the data processing apparatus, so that the data processing apparatus completes image rendering according to the instruction and transmits the image data to the client; wherein, the image rendering is not required to be carried out according to the instruction in the server.
in one embodiment, as shown in fig. 6, the server 60 may further include:
a processing module 604, 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 apparatus after processing according to the request, so that the data processing apparatus forwards the processing result to the client.
for a general cloud desktop client request, a server can directly process the request and directly process the request in the server without being processed by a data processing device, and only a processing result, such as computer desktop image data, needs to be forwarded to the client through the data processing device.
In an embodiment, the obtaining module 602 is specifically configured to:
Capturing a drawing instruction sent by a D3D RT program in an operating system of a server to a user mode display driver;
And intercepting and capturing a display card configuration instruction and a special effect instruction which are sent to a display micro-port driver by a graphics kernel subsystem in an operating system of the server.
in the server provided by the embodiment of the disclosure, the data processing device receives the request of the client and forwards the request to the server; when the request is an image rendering request, the server acquires an instruction corresponding to image rendering; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out; the server transmits the instruction to the data processing device, and the data processing device completes image rendering through a self-configured display card according to the instruction and then transmits image data to the client; wherein, the image rendering is not required to be carried out according to the instruction in the server. Therefore, the workload of the server is greatly reduced, and even a large number of 3D image rendering tasks of the client can be supported without a graphics processor, and the server does not need to be upgraded.
the embodiment of the present disclosure provides a data processing apparatus, as shown in fig. 7, the data processing apparatus 70 includes:
A communication module 701, a processor 702, a display card 703, and a memory 704; the data processing device 70 communicates with the client and the server through a communication module 701 respectively; the communication module 701 includes: a request receiving module 7011, a request forwarding module 7012, an instruction receiving module 7013, an image acquisition module 7014, and an image transmission module 7015;
A request receiving module 7011, configured to receive a request of a client;
A request forwarding module 7012, configured to send a request of a client to a server;
an instruction receiving module 7013, configured to, when the request is an image rendering request, receive, by the data processing apparatus, an instruction corresponding to image rendering sent by the server; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
the memory 704 is used for caching an instruction corresponding to image rendering received from the server and caching an image obtained after the image rendering is completed;
a processor 702, configured to instruct the display card to complete image rendering according to the instruction;
The image acquisition module 7014 is configured to acquire an image obtained after image rendering is completed;
and the image transmission module 7015 is configured to send the image obtained after the image rendering is completed to the client.
In one embodiment, the processor 702 is specifically configured to:
A user mode display driving program in an operating system of the data processing device converts and processes the drawing instruction into an instruction which can be recognized by a display card and is executed by the display card of the data processing device;
A display micro port driver in an operating system of the data processing device acquires a display card configuration instruction and a special effect instruction and is executed by a display card of the data processing device.
The data processing device is provided with an operating system supporting WDDM, and after receiving an instruction corresponding to image rendering sent by the server, the data processing device completes image rendering through a self-configured display card according to the flow of executing the instruction in the operating system.
In one embodiment, the image acquisition module 7014 is further configured to: when the request is a request except for an image rendering request, acquiring an image which is sent by a server and processed according to the request;
accordingly, the image transmission module 7015 is further configured to: and sending the image which is sent by the server and processed according to the request to the client.
for a general cloud desktop client request, a server can directly process the request and directly process the request in the server, and the server only needs to forward a processing result, such as computer desktop image data, to a client through a data processing device.
Based on the data processing apparatus shown in fig. 7, fig. 8 is a schematic diagram illustrating a detailed implementation effect provided by the embodiment of the disclosure.
According to the data processing device provided by the embodiment of the disclosure, the data processing device receives the request of the client and forwards the request to the server; when the request is an image rendering request, the data processing device receives an instruction corresponding to image rendering sent by a server, wherein the instruction comprises: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out; the data processing device finishes image rendering through a display card of the data processing device according to the instruction; and the data processing device sends the image data obtained after the image rendering is finished to the client. Therefore, the workload of the server is greatly reduced, and even a large number of 3D image rendering tasks of the client can be supported without a graphics processor, and the server does not need to be upgraded.
based on the data transmission method described in the embodiment corresponding to fig. 3/5, an embodiment of the present disclosure further provides a computer-readable storage medium, for example, the non-transitory computer-readable storage medium may be a Read Only Memory (ROM), a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like. The storage medium stores computer instructions for executing the data transmission method described in the embodiment corresponding to fig. 3/5, and details are not repeated here.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
Claims (10)
1. a method of data transmission, comprising:
the server receives a request of the client forwarded by the data processing device;
When the request is an image rendering request, the server acquires an instruction corresponding to image rendering; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
the server transmits the instruction to the data processing device so that the data processing device transmits image data to the client after finishing image rendering according to the instruction; wherein image rendering according to the instructions is not required within the server.
2. the method of claim 1, further comprising:
And when the request is a request except the image rendering request, the server transmits the processing result to the data processing device after processing according to the request so that the data processing device forwards the processing result to the client.
3. The method of claim 1, wherein the server obtains instructions corresponding to the rendering of the image, and comprises:
the server intercepts the drawing instruction sent by a D3D RT program in an operating system of the server to a user mode display driver;
The server intercepts the graphics kernel subsystem in the operating system of the server and transmits the graphics card configuration instruction and the special effect instruction to a display micro-port driver.
4. a method of data transmission, comprising:
The data processing device receives a request of a client;
The data processing device sends a request of the client to a server;
when the request is an image rendering request, the data processing device receives an instruction corresponding to the image rendering sent by the server; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
the data processing device finishes image rendering through a display card of the data processing device according to the instruction;
And the data processing device sends the image data obtained after the image rendering is finished to the client.
5. the method of claim 4, further comprising:
when the request is a request except the image rendering request, the data processing device receives a processing result obtained after the server processes according to the request;
and the data processing device sends the processing result to the client.
6. A server, comprising:
the receiving module is used for receiving the request of the client forwarded by the data processing device;
The acquisition module is used for acquiring an instruction corresponding to image rendering when the request is an image rendering request; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
The transmission module is used for transmitting the instruction to the data processing device so that the data processing device can transmit image data to the client after finishing image rendering according to the instruction; wherein image rendering according to the instructions is not required within the server.
7. The server of claim 6, further comprising:
and the processing module is used for calling the transmission module to transmit the processing result to the data processing device after processing according to the request so as to enable the data processing device to forward the processing result to the client when the request is other than the image rendering request.
8. the server according to claim 6, wherein the obtaining module is specifically configured to:
intercepting the drawing instruction sent by a D3D RT program in an operating system of the server to a user mode display driver;
and intercepting the graphics kernel subsystem in the operating system of the server to send the graphics card configuration instruction and the special effect instruction to a display micro-port driver.
9. A data processing apparatus, comprising: the device comprises a communication module, a processor, a display card and a memory; the data processing device is communicated with the client and the server through the communication module respectively; the communication module includes: the system comprises a request receiving module, a request forwarding module, an instruction receiving module, an image acquisition module and an image transmission module;
the request receiving module is used for receiving the request of the client;
the request forwarding module is used for sending the request of the client to the server;
the instruction receiving module is used for receiving an instruction corresponding to image rendering sent by the server by the data processing device when the request is an image rendering request; wherein the instructions include: the method comprises the following steps that (1) a display card configuration instruction, a special effect instruction and a drawing instruction are carried out;
the memory is used for caching the instruction corresponding to the image rendering received from the server and the image obtained after the image rendering is finished;
the processor is used for indicating the display card to finish image rendering according to the instruction;
The image acquisition module is used for acquiring the image obtained after the image rendering is finished;
And the image transmission module is used for sending the image obtained after the image rendering is finished to the client.
10. The data processing apparatus of claim 9, wherein the image acquisition module is further configured to: when the request is a request except the image rendering request, acquiring an image which is sent by the server and processed according to the request;
correspondingly, the image transmission module is further configured to: and sending the image which is sent by the server and processed according to the request to the client.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910640112.6A CN110545415A (en) | 2019-07-16 | 2019-07-16 | Data transmission method and device and server |
PCT/CN2020/086348 WO2021008185A1 (en) | 2019-07-16 | 2020-04-23 | Data transmission method and apparatus, and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910640112.6A CN110545415A (en) | 2019-07-16 | 2019-07-16 | Data transmission method and device and server |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110545415A true CN110545415A (en) | 2019-12-06 |
Family
ID=68709630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910640112.6A Pending CN110545415A (en) | 2019-07-16 | 2019-07-16 | Data transmission method and device and server |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110545415A (en) |
WO (1) | WO2021008185A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111354063A (en) * | 2020-03-10 | 2020-06-30 | 深信服科技股份有限公司 | Three-dimensional element rendering method, desktop cloud server and desktop cloud system |
WO2021008183A1 (en) * | 2019-07-16 | 2021-01-21 | 西安万像电子科技有限公司 | Data transmission method and apparatus, and server |
WO2021008185A1 (en) * | 2019-07-16 | 2021-01-21 | 西安万像电子科技有限公司 | Data transmission method and apparatus, and server |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101849224A (en) * | 2007-10-20 | 2010-09-29 | 思杰系统有限公司 | Methods and systems for remoting three dimensional graphical data |
CN102402462A (en) * | 2010-09-30 | 2012-04-04 | 微软公司 | Techniques for load balancing GPU enabled virtual machines |
US20140115036A1 (en) * | 2012-10-18 | 2014-04-24 | Wistron Corp | System and method for processing load balancing of graphic streams |
CN103888485A (en) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | Method for distributing cloud computing resource, device thereof and system thereof |
US20140184622A1 (en) * | 2012-12-29 | 2014-07-03 | Futurewei Technologies, Inc. | Adaptive OpenGL 3D graphics in Virtual Desktop Infrastructure |
CN103946792A (en) * | 2011-11-16 | 2014-07-23 | 思科技术公司 | Network appliance for transcoding or enriching virtual desktop infrastructure desktop images |
CN105190530A (en) * | 2013-09-19 | 2015-12-23 | 思杰系统有限公司 | Transmitting hardware-rendered graphical data |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254292A (en) * | 2010-05-20 | 2011-11-23 | 盛乐信息技术(上海)有限公司 | Remote 3D instruction rendering system and method |
CN104765636B (en) * | 2014-01-02 | 2018-05-04 | 华为技术有限公司 | A kind of synthetic method and device of remote desktop image |
CN105122204A (en) * | 2014-03-13 | 2015-12-02 | 华为技术有限公司 | Graphic processing method, guest operating system (os) and guest os system |
CN107329723A (en) * | 2017-07-13 | 2017-11-07 | 山东超越数控电子有限公司 | It is a kind of to realize the method that DirectDraw accelerates |
CN109508212A (en) * | 2017-09-13 | 2019-03-22 | 深信服科技股份有限公司 | Method for rendering graph, equipment and computer readable storage medium |
CN110545415A (en) * | 2019-07-16 | 2019-12-06 | 西安万像电子科技有限公司 | Data transmission method and device and server |
-
2019
- 2019-07-16 CN CN201910640112.6A patent/CN110545415A/en active Pending
-
2020
- 2020-04-23 WO PCT/CN2020/086348 patent/WO2021008185A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101849224A (en) * | 2007-10-20 | 2010-09-29 | 思杰系统有限公司 | Methods and systems for remoting three dimensional graphical data |
CN102402462A (en) * | 2010-09-30 | 2012-04-04 | 微软公司 | Techniques for load balancing GPU enabled virtual machines |
CN103946792A (en) * | 2011-11-16 | 2014-07-23 | 思科技术公司 | Network appliance for transcoding or enriching virtual desktop infrastructure desktop images |
US20140115036A1 (en) * | 2012-10-18 | 2014-04-24 | Wistron Corp | System and method for processing load balancing of graphic streams |
CN103888485A (en) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | Method for distributing cloud computing resource, device thereof and system thereof |
US20140184622A1 (en) * | 2012-12-29 | 2014-07-03 | Futurewei Technologies, Inc. | Adaptive OpenGL 3D graphics in Virtual Desktop Infrastructure |
CN105190530A (en) * | 2013-09-19 | 2015-12-23 | 思杰系统有限公司 | Transmitting hardware-rendered graphical data |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021008183A1 (en) * | 2019-07-16 | 2021-01-21 | 西安万像电子科技有限公司 | Data transmission method and apparatus, and server |
WO2021008185A1 (en) * | 2019-07-16 | 2021-01-21 | 西安万像电子科技有限公司 | Data transmission method and apparatus, and server |
CN111354063A (en) * | 2020-03-10 | 2020-06-30 | 深信服科技股份有限公司 | Three-dimensional element rendering method, desktop cloud server and desktop cloud system |
CN111354063B (en) * | 2020-03-10 | 2023-09-08 | 深信服科技股份有限公司 | Three-dimensional element rendering method, desktop cloud server and desktop cloud system |
Also Published As
Publication number | Publication date |
---|---|
WO2021008185A1 (en) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021008183A1 (en) | Data transmission method and apparatus, and server | |
US10229469B2 (en) | System and method for distributed virtualization of GPUs in desktop cloud | |
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 | |
US9135052B2 (en) | Distributed multiple monitor display split using multiple client devices in a virtualization system | |
CN111488196B (en) | Rendering method and device, storage medium and processor | |
US10754715B2 (en) | Application program control method and apparatus, terminal, and storage medium | |
WO2021008185A1 (en) | Data transmission method and apparatus, and server | |
CN105122210B (en) | GPU virtualization implementation method and related device and system | |
CN111736850B (en) | Image processing method, apparatus, server and medium | |
US8872835B2 (en) | Prevention of DoS attack by a rogue graphics application | |
US8959514B2 (en) | Virtual machine monitor display split using multiple client devices in a virtualization system | |
US8799900B1 (en) | Sharing webcam between guest and host OS | |
CN109343922B (en) | GPU (graphics processing Unit) virtual picture display method and device | |
WO2022041507A1 (en) | 3d rendering method and system | |
JP2013542515A (en) | Redirection between different environments | |
CN111314799A (en) | Terminal system architecture, communication system, communication method, and storage medium | |
CN110458748A (en) | Data transmission method, server and client | |
CN109033328B (en) | Access request processing method, device, equipment and readable storage medium | |
CN111522670A (en) | GPU virtualization method, system and medium for Android system | |
CN113900754A (en) | Desktop sharing method and device, computer equipment and storage medium | |
US11750749B1 (en) | Method to use native scanning properties dialog to scan in scanner redirection | |
US9519493B2 (en) | Populating a client device with graphical images specific to a machine | |
CN106991057B (en) | Memory calling method in virtualization of shared display card and virtualization platform | |
CN113784049A (en) | Camera calling method of android system virtual machine, electronic device and storage medium | |
CN110337035B (en) | Method and device for detecting video playing quality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191206 |