CN110545415A - Data transmission method and device and server - Google Patents

Data transmission method and device and server Download PDF

Info

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
Application number
CN201910640112.6A
Other languages
Chinese (zh)
Inventor
李超
王知明
范志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Wanxiang Electronics Technology Co Ltd
Original Assignee
Xian Wanxiang Electronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN201910640112.6A priority Critical patent/CN110545415A/en
Publication of CN110545415A publication Critical patent/CN110545415A/en
Priority to PCT/CN2020/086348 priority patent/WO2021008185A1/en
Pending legal-status Critical Current

Links

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]

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

data transmission method and device and server
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.
CN201910640112.6A 2019-07-16 2019-07-16 Data transmission method and device and server Pending CN110545415A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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