WO2023179395A1 - 一种数据传输系统、方法、服务系统、设备及存储介质 - Google Patents

一种数据传输系统、方法、服务系统、设备及存储介质 Download PDF

Info

Publication number
WO2023179395A1
WO2023179395A1 PCT/CN2023/081054 CN2023081054W WO2023179395A1 WO 2023179395 A1 WO2023179395 A1 WO 2023179395A1 CN 2023081054 W CN2023081054 W CN 2023081054W WO 2023179395 A1 WO2023179395 A1 WO 2023179395A1
Authority
WO
WIPO (PCT)
Prior art keywords
vnc
server
display
dpu
virtual
Prior art date
Application number
PCT/CN2023/081054
Other languages
English (en)
French (fr)
Inventor
陈胡冠申
张扬
张昊中
周宜波
方应
Original Assignee
北京火山引擎科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京火山引擎科技有限公司 filed Critical 北京火山引擎科技有限公司
Publication of WO2023179395A1 publication Critical patent/WO2023179395A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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

Definitions

  • the present disclosure relates to the field of computer technology, and specifically, to a data transmission system, method, service system, device and storage medium.
  • KVM Baseboard Manager Controller
  • BMC Baseboard Manager Controller
  • KVM Keyboard, Video, Mouse, KVM
  • switch to obtain the display interface and realize interactive operations based on input devices such as mouse and keyboard.
  • calling BMC requires relatively high operating permissions, and the above traditional operation methods are not universally applicable to users.
  • Embodiments of the present disclosure provide at least a data transmission system, method, service system, device and storage medium.
  • embodiments of the present disclosure provide a data transmission system, including:
  • a user terminal configured to respond to the user's input operation, generate a virtual network console VNC operation instruction, and send the VNC operation instruction to the data processor DPU;
  • the DPU is hard-connected to the server and is provided with a virtual display device and a virtual input device for simulating the input operation indicated by the VNC operation instruction through the virtual input device and transmitting the generated input operation signal to the server;
  • the server is configured to, after receiving the input operation signal, respond to the input operation signal, generate display data, and transmit the display data to the DPU;
  • the DPU is also used to render the display data transmitted by the server through the virtual display device, and send the rendered display content to the user terminal;
  • the user terminal is also used to display the received display content.
  • the user terminal runs a VNC client;
  • the DPU runs a VNC server;
  • the VNC client and the VNC server are connected by communication;
  • the DPU is configured to run the VNC server after rendering the display data transmitted by the server through the virtual display device, and send the rendered display content to the VNC server through the VNC server.
  • VNC client ;
  • the user terminal is used to display the display content received by the VNC client.
  • the DPU is provided with a corresponding display device memory space for the virtual display device
  • the DPU is specifically used to store the rendered display content in the memory space of the display device after rendering the display data transmitted by the server through the virtual display device; run the VNC server , controlling the VNC server to read the display content in the memory space of the display device, and send the read display content to the VNC client.
  • the DPU is further configured to, before receiving the VNC operation instruction sent by the user terminal, in response to receiving the connection request initiated by the VNC client, establish the connection between the VNC client and Communication connection between the VNC servers.
  • the server is provided with a display device driver and an input device driver;
  • the server is specifically configured to load the display device driver and the input device driver after startup, drive the virtual display device in the DPU to work through the display device driver, and drive the input device driver through the Virtual input device work in DPU.
  • the server is also provided with drawing software and a driver memory space corresponding to the display device driver;
  • the server is specifically configured to call the drawing software to write the display data into the driver memory space based on the input operation signal; read the display data from the driver memory space and transmit it to the DPU.
  • embodiments of the present disclosure also provide a service system, including:
  • the data processor DPU is hard-connected to the server and is provided with a virtual display device and a virtual input device for simulating the input operation indicated by the VNC operation instruction through the virtual input device and transmitting the generated input operation signal to the server.
  • the VNC operation instruction is generated by the user terminal in response to the user's input operation;
  • the server is configured to, after receiving the input operation signal, respond to the input operation signal, generate display data, and transmit the display data to the DPU;
  • the DPU is also used to render the display data transmitted by the server through the virtual display device, and send the rendered display content to the user terminal.
  • embodiments of the present disclosure also provide a data transmission method, including:
  • the input operation indicated by the VNC operation instruction is simulated through a virtual input device to generate an input operation signal; the VNC operation instruction is generated by the user terminal in response to the user's input operation;
  • the display data is rendered through a virtual display device, and the rendered display content is sent to the user terminal.
  • the user terminal runs a VNC client
  • the sending of the rendered display content to the user terminal includes:
  • the rendered display content is sent to the VNC client through the VNC server.
  • sending the rendered display content to the VNC client through the VNC server includes:
  • the method further includes:
  • the display data is read from the driver memory space and transmitted to the virtual display device.
  • embodiments of the present disclosure also provide a computer device, including: a processor, a memory and a bus, so The memory stores machine-readable instructions executable by the processor.
  • the processor and the memory communicate through a bus.
  • the machine-readable instructions are executed when the processor executes the instructions.
  • embodiments of the present disclosure also provide a computer-readable storage medium.
  • the computer-readable storage medium stores a computer program.
  • the computer program When the computer program is run by a processor, it executes the above-mentioned third aspect, or any of the third aspects. Steps of a possible data transfer method.
  • the data transmission system includes a user terminal for generating virtual network console VNC operation instructions in response to user input operations, and sending the VNC operation instructions to the data processor DPU; the DPU is hard-connected to the server.
  • Input operation signals generate display data, and transmit the display data to the DPU; the DPU is also used to render the display data transmitted by the server through the virtual display device, and send the rendered display content to the user terminal; the user terminal is also Used to display the received display content.
  • the embodiment of the present disclosure sets up a DPU that is hard-connected to the server, sets up a virtual display device and a virtual input device on the DPU, and simulates the input operation indicated by the VNC operation instruction through the virtual input device, so that the input operation signal can be simulated and generated, and the input operation signal can be simulated.
  • the input operation signal is transmitted to the server, so that the server generates display data in response to the input operation signal; the display data generated by the server is rendered through the virtual display device to obtain display content that can be presented on the display interface, and then the display content is sent to the user terminal for display; compared with the traditional problem of limited access rights when obtaining the display interface based on BMC, in the embodiment of the present disclosure, there is no access to the DPU that is equipped with a virtual display device and a virtual input device and is hard-connected to the service It solves the problem of limited permissions and is easy to maintain. When there is a fault, it can detect the fault in time and solve the problem in a targeted manner to ensure the efficiency of data transmission.
  • Figure 1 shows a schematic diagram of a data transmission system provided by an embodiment of the present disclosure
  • Figure 2 shows a flow chart of a data transmission method provided by an embodiment of the present disclosure
  • FIG. 3 shows a schematic structural diagram of a computer device provided by an embodiment of the present disclosure.
  • the present disclosure provides a data transmission system.
  • a DPU hard-connected to the server, setting up a virtual display device and a virtual input device on the DPU, and simulating the input operation indicated by the VNC operation instruction through the virtual input device, it can simulate Generate an input operation signal and transmit the input operation signal to the server so that the server generates display data in response to the input operation signal; render the display data generated by the server through a virtual display device to render display content that can be presented on the display interface , and then send the display content to the user terminal for display; compared with the traditional problem of limited access rights when obtaining the display interface based on BMC, in the embodiment of the present disclosure, a virtual display device and a virtual input device are provided, and are connected with the service
  • the hard-connected DPU does not have the problem of restricted access rights. In addition, it is easy to maintain. When a fault occurs, it can detect the fault in time and solve the problem in a targeted manner, ensuring the efficiency of data transmission.
  • Data Processing Unit is a computing chip that provides a computing engine for high-bandwidth, low-latency, and data-intensive computing scenarios.
  • VNC Virtual Network Console
  • VNC Viewer the client application
  • server-side application the server-side application.
  • VNC Server any computer on the Linux platform with the client application (VNC Viewer) installed can easily connect to a computer with the server application (VNC Server) installed.
  • the high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, PCIE) is a high-speed serial computer expansion bus standard.
  • PCIE Peripheral Component Interconnect Express
  • the main advantage is high data transmission rate, including higher system bus throughput and lower I /O pin data volume and smaller physical size.
  • FIG. 1 it is a schematic diagram of a data transmission system provided by an embodiment of the present disclosure.
  • the data transmission system includes a server 11, a data processor DPU 12 hard-connected to the server 11, and a user terminal 13; wherein, the DPU A virtual display device 121 and a virtual input device 122 are provided.
  • the DPU 12 is hard-connected to the server 11.
  • it can be a bus connection, an interface connection, or an indirect connection through a transfer connection device.
  • it can be directly inserted into the interface connected to the bus of the server 11.
  • Embodiments of the present disclosure Not specifically limited.
  • each device mainly involve:
  • the user terminal 13 is configured to generate a virtual network console VNC operation instruction in response to the user's input operation, and send the VNC operation instruction to the DPU 12;
  • the DPU 12 is configured to simulate the input operation indicated by the VNC operation instruction through the virtual input device 122, and transmit the generated input operation signal to the server 11;
  • the server 11 is configured to, after receiving the input operation signal, respond to the input operation signal, generate display data, and transmit the display data to the DPU 12;
  • the DPU is also used to render the display data transmitted by the server through the virtual display device, and send the rendered display content to the user terminal;
  • the user terminal is also used to display the received display content.
  • the data transmission system can include two data transmission paths, wherein the first data transmission path is: transmitting the user's operation from the user terminal 13 to the server 11; the second data transmission path This is: the server 11 generates display data in response to the operation and sends it back to the user terminal 13 .
  • the user terminal 13 is configured to respond to the user's input operation, generate a virtual network console VNC operation instruction, and send the VNC operation instruction to the DPU 12; the DPU 12 is used to simulate the input operation indicated by the VNC operation instruction through the virtual input device 122, and The generated input operation signal is transmitted to the server 11; the server 11 is used to generate display data in response to the input operation signal after receiving the input operation signal.
  • the user's input operation may be an operation performed by the user through an external input device; or it may also be an operation performed by the user through the input software of the user terminal 13 .
  • the external input device may be a keyboard, mouse, etc. connected to the user terminal 13; the input software may be a soft keyboard, etc.
  • the user terminal 13 can run the VNC client, and the DPU 12 can run the VNC server. After the user terminal 13 opens the VNC client, in the process of running the VNC client, it can generate VNC operation instructions in response to the user's input operation.
  • the VNC client can be the application client corresponding to VNC Viewer
  • the VNC server can be the application server corresponding to VNC Server.
  • the DPU 12 Before the user terminal 13 sends the VNC operation command to the DPU 12, the DPU 12 is also used to respond to the received A connection request initiated by the VNC client to establish a communication connection between the VNC client and the VNC server.
  • the user terminal 13 may send a connection request to the VNC server in the DPU 12 to request the establishment of a communication connection between the VNC client and the VNC server. After determining that the communication connection between the VNC client and the VNC server is established, In this case, you can send VNC operation instructions to the VNC server.
  • the virtual input device 122 in the DPU 12 can simulate the hardware operation of the physical input device, that is, simulate the user's input operation indicated by the VNC operation instruction, such as keyboard operation, mouse operation, etc.
  • the VNC operation instruction can be sent to the virtual input device 122 through the running VNC server. Afterwards, the input operation indicated by the VNC operation instruction is simulated through the virtual input device 122, and an input operation signal corresponding to the input operation can be generated, that is, the VNC operation instruction is converted into an input operation signal.
  • the virtual input device 122 can simulate the keyboard and mouse operations input by the user, generate simulation signals of the keyboard and mouse operations, and transmit the generated simulation signals to the server 11 .
  • the transmission method may specifically be transmission through a bus, for example, transmission through a PCIE bus channel between the DPU 12 and the server 11; or transmission through an interface address between the DPU 12 and the server 11, etc., the present disclosure The examples are not specifically limited.
  • the server 11 after generating display data in response to the input operation signal, transmits the display data to the DPU12; the DPU12 is used to render the display data transmitted by the server 11 through the virtual display device 121, and send the rendered display content to the user terminal. 13; User terminal 13, used to display the received display content.
  • the server 11 responds to the input operation signal and performs the corresponding input operation.
  • display data will be generated. For example, perform a character operation input by the keyboard to generate character data for the control interface; or perform a text operation input from the keyboard to generate text data for the control interface; or perform an operation of clicking the software content with the mouse to generate the server 11 during the execution of the software content.
  • the software displays the data, etc.
  • the transmission method for the server 11 to transmit the display data to the DPU 12 can be referred to the above-mentioned transmission method for the DPU 12 to transmit the input operation signal to the server 11 , and the repeated parts will not be described again.
  • the DPU 12 renders the display data transmitted by the server 11 through the virtual display device 121 and sends the rendered display content to the user terminal 13 .
  • the virtual display device 121 provided by the embodiment of the present disclosure can simulate the rendering and display functions of the physical display device, such as screen drawing, font functions, etc.
  • Using the virtual display device 121 to render the display data transmitted by the server 11 may include rendering the display data on a virtual screen, and sending the rendering result, that is, the rendered display content, to the user terminal 13 .
  • the user terminal 13 can run a VNC client, and the DPU 12 can run a VNC server; the VNC client and the VNC server can communicate with each other.
  • the VNC server can be VNC Server.
  • the DPU 12 After rendering the display data transmitted by the server 11 through the virtual display device 121, the DPU 12 runs the VNC server and sends the rendered display content to the VNC client through the VNC server.
  • the VNC server can be used to directly obtain the display content rendered by the virtual display device 121; then, the VNC server sends the obtained display content through the communication connection relationship with the VNC client. to the VNC client.
  • the DPU 12 can set a corresponding display device memory space 123 for the virtual display device 121; the DPU 12 is specifically used to display the content through the virtual display device 121.
  • the rendered display content can be stored in the display device memory space 123; after that, the VNC server is run, and the VNC server is controlled to read the display content in the display device memory space 123, and Send the read display content to the VNC client.
  • the user terminal 13 is used to display the received display content.
  • the display content can be received through the VNC client in the user terminal 13 , and the display content can be displayed on the user display interface in the user terminal 13 .
  • the server 11 may be provided with a display device driver 111 and an input device driver 112; the server 11 is specifically used to load the display device driver 111 and the input device driver 112 after startup, and drive the virtual display device 121 in the DPU 12 to work through the display device driver 111. , and drive the virtual input device 122 in the DPU 12 to work through the input device driver 112.
  • a device information acquisition request is sent to the DPU 12 to determine which devices are set in the DPU 12 , specifically to determine whether the virtual input device 122 and the virtual display device 121 exist in the DPU 12 . If the feedback signal of the virtual display device 121 in the DPU 12 is received, it can be determined that the virtual display device 121 is set in the DPU 12; after that, the display device driver 111 can be loaded to drive the virtual display device 121 to work, for example, to drive the virtual display device 121 to Display data for rendering.
  • the input device driver 112 can be loaded to drive the virtual input device 122 to work, for example, to drive the virtual input device 122 to simulate VNC.
  • the input operation indicated by the operation instruction is
  • the server 11 is also provided with drawing software 113 and a driver memory space 114 corresponding to the display device driver 111; to undertake the process of the server 11 responding to the input operation signal and generating display data, and then the server 11 specifically uses Based on the input operation signal, the drawing software 113 is called to write display data into the driver memory space 114; the display data is read from the driver memory space 114 and transmitted to the DPU 12.
  • the server 11 can parse the input operation signal, and based on the parsed operation data, can call the corresponding drawing function of the drawing software 113 to draw the operation data, and finally generate the display data, and then write the generated display data into the driver memory. in space 114. Afterwards, the server 11 can read the display data from the driver memory space 114 and transmit the read display data to the virtual display device 121 in the DPU 12 .
  • the parsed operation data can be the key values input by the user, such as "a”, “b”, “c”, etc.
  • the drawing function is called to draw the key values, and the drawn “a”, “ b”, “c", that is, display data.
  • the display data is written into the drive memory space 114.
  • the embodiment of the present disclosure also provides a service system, including:
  • the data processor DPU is hard-connected to the server and is provided with a virtual display device and a virtual input device for simulating the input operation indicated by the VNC operation instruction through the virtual input device and transmitting the generated input operation signal to the server.
  • the VNC operation instruction is generated by the user terminal in response to the user's input operation;
  • the server is configured to, after receiving the input operation signal, respond to the input operation signal, generate display data, and transmit the display data to the DPU;
  • the DPU is also used to render the display data transmitted by the server through the virtual display device, and send the rendered display content to the user terminal.
  • An embodiment of the present disclosure also provides a data transmission method.
  • the execution subject of the data transmission method is generally a computer device with certain computing capabilities.
  • the computer includes, for example, an integrated device integrating the server and a DPU hard-connected to the server.
  • a flow chart of a data transmission method is provided according to an embodiment of the present disclosure.
  • the method includes steps S201 to S204, wherein:
  • S202 Simulate the input operation indicated by the VNC operation instruction through the virtual input device, and generate an input operation signal; the VNC operation instruction is generated by the user terminal in response to the user's input operation;
  • S204 Render the display data through the virtual display device, and send the rendered display content to the user terminal.
  • the user terminal displays the display content.
  • the user terminal runs a VNC client
  • the sending of the rendered display content to the user terminal includes:
  • the rendered display content is sent to the VNC client through the VNC server.
  • the user terminal can display the display content received through the VNC client.
  • sending the rendered display content to the VNC client through the VNC server includes:
  • the method further includes:
  • the display data is read from the driver memory space and transmitted to the virtual display device.
  • the data transmission method provided by the embodiment of the present disclosure simulates the input operation indicated by the VNC operation instruction through the virtual input device, can simulate and generate the input operation signal, and can generate display data in response to the input operation signal; the display data generated by the server is processed by the virtual display device Rendering can render the display content that can be presented on the display interface, and then display the display content on the user terminal.
  • the embodiment of the present disclosure Utilize an integrated device that integrates a server and a DPU that is hard-connected to the server. The internal devices are hard-connected. Therefore, there is no problem of restricted access rights.
  • the integrated device has It is easy to maintain. It can detect faults in time when there are faults and solve the problems of faults in a targeted manner to ensure the efficiency of data transmission.
  • the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process.
  • the specific execution order of each step should be based on its function and possible The internal logic is determined.
  • FIG. 3 a schematic structural diagram of a computer device provided by an embodiment of the present application includes:
  • Processor 31, memory 32 and bus 33 The memory 32 stores machine-readable instructions executable by the processor 31 , and the processor 31 is used to execute the machine-readable instructions stored in the memory 32 .
  • the processor 31 executes The following steps: S201: Receive the virtual network console VNC operation command sent by the user terminal; S202: Simulate the input operation indicated by the VNC operation command through the virtual input device and generate the input operation signal; the VNC operation command is the user terminal's response to the user's input Generated by the operation; S203: Respond to the input operation signal, generate display data; S204: Render the display data through the virtual display device, and send the rendered display content to the user terminal.
  • the above-mentioned memory 32 includes a memory 321 and an external memory 322; the memory 321 here is also called an internal memory, and is used to temporarily store the operation data in the processor 31, as well as the data exchanged with external memory 322 such as a hard disk.
  • the processor 31 communicates with the external memory 322 through the memory 321.
  • the external memory 322 performs data exchange.
  • the processor 31 and the memory 32 communicate through the bus 33, so that the processor 31 executes the execution instructions mentioned in the above method embodiment.
  • Embodiments of the present disclosure also provide a computer-readable storage medium.
  • the computer-readable storage medium stores a computer program. When the computer program is run by a processor, the steps of the data transmission method described in the above method embodiment are executed.
  • the storage medium may be a volatile or non-volatile computer-readable storage medium.
  • Embodiments of the present disclosure also provide a computer program product, which includes computer instructions that implement the steps of the above data transmission method when executed by a processor.
  • the computer program product can be any product that can implement the above data transmission method.
  • Some or all of the solutions in the computer program product that contribute to the existing technology can be in the form of software products (such as Software Development Kit (SDK)).
  • SDK Software Development Kit
  • the software product can be stored in a storage medium and contain computer instructions to cause the relevant device or processor to perform some or all of the steps of the above data transmission method.
  • the units described as separate components may or may not be physically separated.
  • the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple networks. on the unit. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional module in each embodiment of the present disclosure can be integrated into one processing module, each module can exist physically alone, or two or more modules can be integrated into one module.
  • the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor.
  • the technical solution of the present disclosure is essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present disclosure.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code. .

Abstract

本公开提供了一种数据传输系统、方法、服务系统、设备及存储介质,其中,该系统包括用户终端,用于响应于用户的输入操作,生成虚拟网络控制台VNC操作指令,将VNC操作指令发送给数据处理器DPU;所述DPU,与服务器硬连接,其中设置有虚拟显示设备和虚拟输入设备,用于通过虚拟输入设备模拟VNC操作指令指示的输入操作,并将产生的输入操作信号传输至服务器;服务器,用于在接收到输入操作信号后,响应输入操作信号,生成显示数据,并将显示数据传输至DPU;DPU,还用于通过虚拟显示设备对服务器传输的显示数据进行渲染,并将渲染得到的显示内容发送给用户终端;用户终端,还用于将接收到的显示内容进行展示。

Description

一种数据传输系统、方法、服务系统、设备及存储介质
本申请要求于2022年03月21日提交中国专利局、申请号为202210279108.3、申请名称为“一种数据传输系统、方法、服务系统、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种数据传输系统、方法、服务系统、设备及存储介质。
背景技术
用户通过图形交互界面操作服务器,传统的操作方法,例如,可以通过服务器外部配置的基板管理控制器(Baseboard Manager Controller,BMC),调用KVM over IP,即带有远程管理功能的键盘、显示器、鼠标(Keyboard、Video、Mouse,KVM)切换器来获得显示界面,并实现基于鼠标、键盘等输入设备的交互操作。
但是,调用BMC需要的运行权限较高,上述传统操作方法对用户不具备普适性。
发明内容
本公开实施例至少提供一种数据传输系统、方法、服务系统、设备及存储介质。
第一方面,本公开实施例提供了一种数据传输系统,包括:
用户终端,用于响应于用户的输入操作,生成虚拟网络控制台VNC操作指令,将所述VNC操作指令发送给数据处理器DPU;
所述DPU,与服务器硬连接,其中设置有虚拟显示设备和虚拟输入设备,用于通过所述虚拟输入设备模拟所述VNC操作指令指示的输入操作,并将产生的输入操作信号传输至所述服务器;
所述服务器,用于在接收到所述输入操作信号后,响应所述输入操作信号,生成显示数据,并将所述显示数据传输至所述DPU;
所述DPU,还用于通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染,并将渲染得到的显示内容发送给所述用户终端;
所述用户终端,还用于将接收到的显示内容进行展示。
一种可选的实施方式中,所述用户终端运行有VNC客户端;所述DPU运行有VNC服务端;所述VNC客户端与所述VNC服务端之间通信连接;
所述DPU,用于在通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染后,运行所述VNC服务端,通过所述VNC服务端将渲染得到的所述显示内容发送到所述VNC客户端;
所述用户终端,用于将所述VNC客户端接收到的所述显示内容进行展示。
一种可选的实施方式中,所述DPU为所述虚拟显示设备设置有对应的显示设备内存空间;
所述DPU,具体用于在通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染后,将渲染得到的所述显示内容存储到所述显示设备内存空间中;运行所述VNC服务端,控制所述VNC服务端读取所述显示设备内存空间中的所述显示内容,并将读取的显示内容发送到所述VNC客户端。
一种可选的实施方式中,所述DPU,还用于在接收所述用户终端发送的VNC操作指令之前,响应于接收到所述VNC客户端发起的连接请求,建立所述VNC客户端与所述VNC服务端之间的通信连接。
一种可选的实施方式中,所述服务器中设置有显示设备驱动器和输入设备驱动器;
所述服务器,具体用于在启动后加载所述显示设备驱动器和所述输入设备驱动器,通过所述显示设备驱动器驱动所述DPU中的虚拟显示设备工作,以及通过所述输入设备驱动器驱动所述DPU中的虚拟输入设备工作。
一种可选的实施方式中,所述服务器中还设置有画图软件和与所述显示设备驱动器对应的驱动器内存空间;
所述服务器,具体用于基于所述输入操作信号,调用所述画图软件向所述驱动器内存空间中写入所述显示数据;从所述驱动器内存空间中读取所述显示数据传输至所述DPU。
第二方面,本公开实施例还提供一种服务系统,包括:
数据处理器DPU,与服务器硬连接,其中设置有虚拟显示设备和虚拟输入设备,用于通过所述虚拟输入设备模拟VNC操作指令指示的输入操作,并将产生的输入操作信号传输至所述服务器;所述VNC操作指令为用户终端响应于用户的输入操作生成的;
所述服务器,用于在接收到所述输入操作信号后,响应所述输入操作信号,生成显示数据,并将所述显示数据传输至所述DPU;
所述DPU,还用于通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染,并将渲染得到的显示内容发送给所述用户终端。
第三方面,本公开实施例还提供一种数据传输方法,包括:
接收用户终端发送的虚拟网络控制台VNC操作指令;
通过虚拟输入设备模拟所述VNC操作指令指示的输入操作,产生输入操作信号;所述VNC操作指令为所述用户终端响应于用户的输入操作生成的;
响应所述输入操作信号,生成显示数据;
通过虚拟显示设备对所述显示数据进行渲染,并将渲染得到的显示内容发送给所述用户终端。
一种可选的实施方式中,所述用户终端运行有VNC客户端;
所述将渲染得到的显示内容发送给所述用户终端,包括:
通过VNC服务端将渲染得到的所述显示内容发送到所述VNC客户端。
一种可选的实施方式中,所述通过VNC服务端将渲染得到的所述显示内容发送到所述VNC客户端,包括:
将渲染得到的所述显示内容存储到所述显示设备内存空间中;
读取所述显示设备内存空间中的所述显示内容,并将读取的显示内容发送到所述VNC客户端。
一种可选的实施方式中,在响应输入操作信号,生成显示数据之后,还包括:
基于所述输入操作信号,调用画图软件向驱动器内存空间中写入显示数据;
从所述驱动器内存空间中读取所述显示数据传输至所述虚拟显示设备。
第四方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所 述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第三方面,或第三方面中任一种可能的数据传输方法的步骤。
第五方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第三方面,或第三方面中任一种可能的数据传输方法的步骤。
关于上述数据传输系统、方法、服务系统、设备及存储介质的效果描述参见上述数据传输系统的说明,这里不再赘述。
本公开实施例提供的数据传输系统,包括用户终端,用于响应于用户的输入操作,生成虚拟网络控制台VNC操作指令,将VNC操作指令发送给数据处理器DPU;DPU,与服务器硬连接,其中设置有虚拟显示设备和虚拟输入设备,用于通过虚拟输入设备模拟VNC操作指令指示的输入操作,并将产生的输入操作信号传输至服务器;服务器,用于在接收到输入操作信号后,响应输入操作信号,生成显示数据,并将显示数据传输至DPU;DPU,还用于通过虚拟显示设备对服务器传输的显示数据进行渲染,并将渲染得到的显示内容发送给用户终端;用户终端,还用于将接收到的显示内容进行展示。
也即,本公开实施例通过设置与服务器硬连接的DPU,在DPU上设置虚拟显示设备和虚拟输入设备,通过虚拟输入设备模拟VNC操作指令指示的输入操作,能够模拟产生输入操作信号,将该输入操作信号传输至服务器,以使服务器响应该输入操作信号生成显示数据;通过虚拟显示设备对服务器生成的显示数据进行渲染,能够渲染得到可以呈现在显示界面的显示内容,进而将该显示内容发送到用户终端进行展示;相比较传统的基于BMC获得显示界面时的访问权限受限的问题,本公开实施例中,设置有虚拟显示设备和虚拟输入设备、且与服务硬连接的DPU不存在访问权限受限的问题,另外具有方便维护的特点,在存在故障时能够及时发现故障,并针对性的解决故障存在的问题,保证了数据传输的效率。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据传输系统的示意图;
图2示出了本公开实施例所提供的一种数据传输方法的流程图;
图3示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
经研究发现,传统通过图像交互界面操作服务器的方法,由于调用BMC运行权限较高,对用户不具备普适性。因此,现有技术中在此基础上创建了应用容器引擎Docker容器,Docker容器内设置IKVM客户端、虚拟VNC服务端、VNC服务端等软件,通过BMC(包含IKVM)Docker容器虚拟网络控制台(Virtual Network Console,VNC)用户端VNC client之间的接口传输,实现图像交互界面对服务器的操作。但是,由于BMC和Docker容器均是外设于服务器的,且数据传输时的路径较长、依赖较多,在传输故障时,无法及时发现并解决故障问题,从而影响数据传输以及内容显示的效率。
基于上述研究,本公开提供了一种数据传输系统,通过设置与服务器硬连接的DPU,在DPU上设置虚拟显示设备和虚拟输入设备,通过虚拟输入设备模拟VNC操作指令指示的输入操作,能够模拟产生输入操作信号,将该输入操作信号传输至服务器,以使服务器响应该输入操作信号生成显示数据;通过虚拟显示设备对服务器生成的显示数据进行渲染,能够渲染得到可以呈现在显示界面的显示内容,进而将该显示内容发送到用户终端进行展示;相比较传统的基于BMC获得显示界面时的访问权限受限的问题,本公开实施例中,设置有虚拟显示设备和虚拟输入设备、且与服务硬连接的DPU不存在访问权限受限的问题,另外具有方便维护的特点,在存在故障时能够及时发现故障,并针对性的解决故障存在的问题,保证了数据传输的效率。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面将对本公开实施例中涉及到的特殊名词做详细介绍:
1、数据处理器(Data Processing Unit,DPU),是一种算力芯片,为高带宽、低延迟、数据密集的计算场景提供计算引擎。
2、虚拟网络控制台(Virtual Network Console,VNC),是一种远程控制工具软件,主要由两部分组成,一部分是客户端的应用程序(VNC Viewer),另一部分是服务器端的应 用程序(VNC Server),在任何安装了客户端的应用程序(VNC Viewer)的Linux平台的计算机都能十分方便地和安装了服务器端的应用程序(VNC Server)的计算机相互连接。
3、高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,PCIE),是一种高速串行计算机扩展总线标准,主要优势就是数据传输速率高,包括较高的系统总线吞吐量,较低的I/O引脚数据量和较小的物理尺寸。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据传输系统进行详细介绍。如图1所示,其为本公开实施例提供的一种数据传输系统的示意图,所述数据传输系统包括服务器11、与服务器11硬连接的数据处理器DPU12、和用户终端13;其中,DPU中设置有虚拟显示设备121和虚拟输入设备122。这里,DPU12与服务器11之间硬连接,具体地,可以为总线连接,或接口连接,或通过转接连接设备间接连接等,比如可以直接插入到与服务器11总线连接的接口,本公开实施例不进行具体限定。
上述数据传输系统中,各设备的功能主要涉及:
所述用户终端13,用于响应于用户的输入操作,生成虚拟网络控制台VNC操作指令,将所述VNC操作指令发送给所述DPU12;
所述DPU12,用于通过所述虚拟输入设备122模拟所述VNC操作指令指示的输入操作,并将产生的输入操作信号传输至所述服务器11;
所述服务器11,用于在接收到所述输入操作信号后,响应所述输入操作信号,生成显示数据,并将所述显示数据传输至所述DPU12;
所述DPU,还用于通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染,并将渲染得到的显示内容发送给所述用户终端;
所述用户终端,还用于将接收到的显示内容进行展示。
基于上述功能,本公开实施例提供的数据传输系统可以包括两条数据传输路径,其中,第一条数据传输路径为:从用户终端13将用户的操作传输给服务器11;第二条数据传输路径为:服务器11响应操作生成显示数据传回用户终端13。
(一)针对第一条数据传输路径:
用户终端13,用于响应于用户的输入操作,生成虚拟网络控制台VNC操作指令,将VNC操作指令发送给DPU12;DPU12,用于通过虚拟输入设备122模拟VNC操作指令指示的输入操作,并将产生的输入操作信号传输至服务器11;服务器11,用于在接收到输入操作信号后,响应输入操作信号,生成显示数据。
其中,针对用户终端13侧的功能,用户的输入操作可以是用户通过外部输入设备执行的操作;或者,也可以是用户通过用户终端13的输入软件执行的操作。这里,外部输入设备可以是与用户终端13设备连接的键盘、鼠标等等;输入软件例如,软键盘等等。
用户终端13可以运行VNC客户端,DPU12可以运行VNC服务端。用户终端13开启VNC客户端后,在运行VNC客户端的过程中,响应于用户的输入操作,可以生成VNC操作指令。
其中,VNC客户端可以为VNC Viewer对应的应用客户端,VNC服务端可以为VNC Server对应的应用服务端。
在用户终端13将VNC操作指令发送给DPU12之前,DPU12,还用于响应于接收到 VNC客户端发起的连接请求,建立VNC客户端与VNC服务端之间的通信连接。
具体地,用户终端13可以向DPU12中的VNC服务端发送连接请求,以请求建立VNC客户端与VNC服务端之间的通信连接,在确定建立了VNC客户端与VNC服务端之间的通信连接的情况下,可以将VNC操作指令发送给VNC服务端。
针对DPU12侧的功能,DPU12内的虚拟输入设备122可以模拟实体输入设备的硬件操作,也即模拟VNC操作指令指示的用户的输入操作,比如键盘操作、鼠标操作等。
具体实施过程中,在VNC服务端接收到VNC操作指令的情况下,可以通过运行的VNC服务端,将VNC操作指令发送到虚拟输入设备122。之后,通过虚拟输入设备122模拟VNC操作指令指示的输入操作,可以产生与该输入操作对应的输入操作信号,也即将VNC操作指令转化为输入操作信号。
示例性的,虚拟输入设备122可以模拟用户输入的键盘、鼠标操作,产生键盘、鼠标操作的模拟信号,将产生的该模拟信号传输至服务器11。这里,传输方式具体可以是通过总线的方式进行传输,例如,通过DPU12与服务器11之间的PCIE总线通道进行传输;或者,也可以通过DPU12与服务器11之间的接口地址进行传输等,本公开实施例不进行具体限定。
(二)针对第二条数据传输路径:
服务器11,在响应输入操作信号生成显示数据后,将显示数据传输至DPU12;DPU12,用于通过虚拟显示设备121对服务器11传输的显示数据进行渲染,并将渲染得到的显示内容发送给用户终端13;用户终端13,用于将接收到的显示内容进行展示。
具体实施时,服务器11响应输入操作信号,执行对应的输入操作,在执行对应的输入操作的过程中,将产生显示数据。例如,执行键盘输入的字符操作,生成控制界面的字符数据;或者,执行键盘输入的文本操作,生成控制界面的文本数据;或者,执行鼠标点击软件内容的操作,生成执行软件内容过程中服务器11的软件显示数据,等等。
这里,服务器11将显示数据传输至DPU12的传输方式,可以参见上述DPU12将输入操作信号传输至服务器11的传输方式,重复部分不再赘述。
之后,DPU12通过虚拟显示设备121对服务器11传输的显示数据进行渲染,并将渲染得到的显示内容发送给用户终端13。
本公开实施例提供的虚拟显示设备121可以模拟实体显示设备的渲染显示功能,例如,屏幕绘制,字体功能等。
利用虚拟显示设备121对服务器11传输的显示数据进行渲染,可以包括对显示数据进行虚拟屏幕绘制,将绘制的结果,也即渲染得到的显示内容发送给用户终端13。
在一些实施例中,用户终端13可以运行有VNC客户端,DPU12可以运行有VNC服务端;VNC客户端与VNC服务端之间能够通信连接。这里,VNC服务端可以为VNC Server。
DPU12在通过虚拟显示设备121对服务器11传输的显示数据进行渲染后,运行VNC服务端,通过VNC服务端将渲染得到的显示内容发送到VNC客户端。
这里,运行VNC服务端后,利用VNC服务端可以直接获取虚拟显示设备121渲染后的显示内容;之后,该VNC服务端通过与VNC客户端之间的通信连接关系,将获取到的显示内容发送到VNC客户端。
利用VNC服务端获取虚拟显示设备121渲染后的显示内容,在一些实施例中,DPU12可以为虚拟显示设备121设置有对应的显示设备内存空间123;DPU12,具体用于在通过虚拟显示设备121对服务器11传输的显示数据进行渲染后,可以将渲染得到的显示内容存储到显示设备内存空间123中;之后,运行VNC服务端,控制VNC服务端读取显示设备内存空间123中的显示内容,并将读取的显示内容发送到VNC客户端。
用户终端13,用于将接收到的显示内容进行展示。
具体地,可以通过用户终端13中的VNC客户端接收显示内容,并将该显示内容展示在用户终端13中的用户显示界面。
由于DPU12与服务器11之间硬连接,因此,在启动服务器11之后,还需要进一步加载驱动程序使得DPU12模拟的设备正常运行。具体过程如下:
服务器11中可以设置有显示设备驱动器111和输入设备驱动器112;服务器11,具体用于在启动后加载显示设备驱动器111和输入设备驱动器112,通过显示设备驱动器111驱动DPU12中的虚拟显示设备121工作,以及通过输入设备驱动器112驱动DPU12中的虚拟输入设备122工作。
具体实施时,在启动服务器11之后,向DPU12发送设备信息的获取请求,以确定DPU12中设置有哪些设备,具体为确定DPU12中是否存在虚拟输入设备122和虚拟显示设备121。若接收到DPU12中的虚拟显示设备121的反馈信号,则可以确定DPU12中设置有虚拟显示设备121;之后,可以加载显示设备驱动器111,驱动虚拟显示设备121工作,例如,驱动虚拟显示设备121对显示数据进行渲染。若接收到DPU12中的虚拟输入设备122的反馈信号,则可以确定DPU12中设置有虚拟输入设备122;之后,可以加载输入设备驱动器112驱动虚拟输入设备122工作,例如,驱动虚拟输入设备122模拟VNC操作指令指示的输入操作。
在一些实施例中,服务器11中还设置有画图软件113和与显示设备驱动器111对应的驱动器内存空间114;承接上述服务器11响应输入操作信号,生成显示数据的过程,之后,服务器11,具体用于基于输入操作信号,调用画图软件113向驱动器内存空间114中写入显示数据;从驱动器内存空间114中读取显示数据传输至DPU12。
具体实施时,服务器11可以对输入操作信号进行解析,基于解析出的操作数据,可以调用画图软件113对应的画图函数绘制操作数据,最终生成显示数据,之后,将生成的显示数据写入驱动器内存空间114中。之后,服务器11可以从驱动器内存空间114中读取显示数据,并将读取到的显示数据传输至DPU12中的虚拟显示设备121。
示例性的,解析出的操作数据可以为用户输入的键值,比如“a”、“b”、“c”等等,之后,调用画图函数绘制键值,得到绘制后的“a”、“b”、“c”,也即显示数据。之后,将显示数据写入驱动器内存空间114中。
基于上述对本公开实施例所公开的一种数据传输系统进行详细介绍,本公开实施例还提供了一种服务系统,包括:
数据处理器DPU,与服务器硬连接,其中设置有虚拟显示设备和虚拟输入设备,用于通过所述虚拟输入设备模拟VNC操作指令指示的输入操作,并将产生的输入操作信号传输至所述服务器;所述VNC操作指令为所述用户终端响应于用户的输入操作生成的;
所述服务器,用于在接收到所述输入操作信号后,响应所述输入操作信号,生成显示数据,并将所述显示数据传输至所述DPU;
所述DPU,还用于通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染,并将渲染得到的显示内容发送给所述用户终端。
由于本公开实施例中的服务系统解决问题的原理与本公开实施例上述数据传输系统中的服务器和与服务器硬连接的DPU相似,因此服务系统中服务器和与服务器硬连接的DPU的实施可以参见上述数据传输系统的实施,重复之处不再赘述。
基于上述对本公开实施例所提供的一种数据传输系统进行详细介绍,本公开实施例还提供了一种数据传输方法,该数据传输方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:集成有所述服务器以及与所述服务器硬连接的DPU的集成设备。
参见图2所示,为本公开实施例提供的一种数据传输方法的流程图,所述方法包括步骤S201~S204,其中:
S201:接收用户终端发送的虚拟网络控制台VNC操作指令;
S202:通过虚拟输入设备模拟VNC操作指令指示的输入操作,产生输入操作信号;VNC操作指令为用户终端响应于用户的输入操作生成的;
S203:响应输入操作信号,生成显示数据;
S204:通过虚拟显示设备对显示数据进行渲染,并将渲染得到的显示内容发送给用户终端。
这里,将渲染得到的显示内容发送给用户终端后,用户终端将该显示内容进行展示。
一种可选的实施方式中,所述用户终端运行有VNC客户端;
所述将渲染得到的显示内容发送给所述用户终端,包括:
通过VNC服务端将渲染得到的所述显示内容发送到所述VNC客户端。
之后,用户终端可以将通过所述VNC客户端接收到的所述显示内容进行展示。
一种可选的实施方式中,所述通过VNC服务端将渲染得到的所述显示内容发送到所述VNC客户端,包括:
将渲染得到的所述显示内容存储到所述显示设备内存空间中;
读取所述显示设备内存空间中的所述显示内容,并将读取的显示内容发送到所述VNC客户端。
一种可选的实施方式中,在响应输入操作信号,生成显示数据之后,还包括:
基于所述输入操作信号,调用画图软件向驱动器内存空间中写入显示数据;
从所述驱动器内存空间中读取所述显示数据传输至所述虚拟显示设备。
本公开实施例提供的数据传输方法,通过虚拟输入设备模拟VNC操作指令指示的输入操作,能够模拟产生输入操作信号,响应该输入操作信号能够生成显示数据;通过虚拟显示设备对服务器生成的显示数据进行渲染,能够渲染得到可以呈现在显示界面的显示内容,进而将该显示内容展示在用户终端上,相比较传统的基于BMC获得显示界面时的访问权限受限的问题,本公开实施例中,利用集成有服务器以及与服务器硬连接的DPU的集成设备,其设备内部之间硬连接,因此,不存在访问权限受限的问题,另外,该集成设备具有 方便维护的特点,在存在故障时能够及时发现故障,并针对性的解决故障存在的问题,保证了数据传输的效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
关于方法中的各步骤之间的数据传输流程的描述可以参照上述数据传输系统实施例中的相关说明,这里不再详述。
基于同一技术构思,本申请实施例还提供了一种计算机设备。参照图3所示,为本申请实施例提供的计算机设备的结构示意图,包括:
处理器31、存储器32和总线33。其中,存储器32存储有处理器31可执行的机器可读指令,处理器31用于执行存储器32中存储的机器可读指令,所述机器可读指令被处理器31执行时,处理器31执行下述步骤:S201:接收用户终端发送的虚拟网络控制台VNC操作指令;S202:通过虚拟输入设备模拟VNC操作指令指示的输入操作,产生输入操作信号;VNC操作指令为用户终端响应于用户的输入操作生成的;S203:响应输入操作信号,生成显示数据;S204:通过虚拟显示设备对显示数据进行渲染,并将渲染得到的显示内容发送给用户终端。
上述存储器32包括内存321和外部存储器322;这里的内存321也称内存储器,用于暂时存放处理器31中的运算数据,以及与硬盘等外部存储器322交换的数据,处理器31通过内存321与外部存储器322进行数据交换,当计算机设备运行时,处理器31与存储器32之间通过总线33通信,使得处理器31在执行上述方法实施例中所提及的执行指令。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据传输方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述的数据传输方法的步骤。其中,计算机程序产品可以是任何能实现上述数据传输方法的产品,该计算机程序产品中对现有技术做出贡献的部分或全部方案可以以软件产品(例如软件开发包(Software Development Kit,SDK))的形式体现,该软件产品可以被存储在一个存储介质中,通过包含的计算机指令使得相关设备或处理器执行上述数据传输方法的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (14)

  1. 一种数据传输系统,其特征在于,包括:
    用户终端,用于响应于用户的输入操作,生成虚拟网络控制台VNC操作指令,将所述VNC操作指令发送给数据处理器DPU;
    所述DPU,与服务器硬连接,其中设置有虚拟显示设备和虚拟输入设备,用于通过所述虚拟输入设备模拟所述VNC操作指令指示的输入操作,并将产生的输入操作信号传输至所述服务器;
    所述服务器,用于在接收到所述输入操作信号后,响应所述输入操作信号,生成显示数据,并将所述显示数据传输至所述DPU;
    所述DPU,还用于通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染,并将渲染得到的显示内容发送给所述用户终端;
    所述用户终端,还用于将接收到的显示内容进行展示。
  2. 根据权利要求1所述的系统,其特征在于,所述用户终端运行有VNC客户端;所述DPU运行有VNC服务端;所述VNC客户端与所述VNC服务端之间通信连接;
    所述DPU,用于在通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染后,运行所述VNC服务端,通过所述VNC服务端将渲染得到的所述显示内容发送到所述VNC客户端;
    所述用户终端,用于将所述VNC客户端接收到的所述显示内容进行展示。
  3. 根据权利要求2所述的系统,其特征在于,所述DPU为所述虚拟显示设备设置有对应的显示设备内存空间;
    所述DPU,具体用于在通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染后,将渲染得到的所述显示内容存储到所述显示设备内存空间中;运行所述VNC服务端,控制所述VNC服务端读取所述显示设备内存空间中的所述显示内容,并将读取的显示内容发送到所述VNC客户端。
  4. 根据权利要求2或3所述的系统,其特征在于,所述DPU,还用于在接收所述用户终端发送的VNC操作指令之前,响应于接收到所述VNC客户端发起的连接请求,建立所述VNC客户端与所述VNC服务端之间的通信连接。
  5. 根据权利要求1所述的系统,其特征在于,所述服务器中设置有显示设备驱动器和输入设备驱动器;
    所述服务器,具体用于在启动后加载所述显示设备驱动器和所述输入设备驱动器,通过所述显示设备驱动器驱动所述DPU中的虚拟显示设备工作,以及通过所述输入设备驱动器驱动所述DPU中的虚拟输入设备工作。
  6. 根据权利要求5所述的系统,其特征在于,所述服务器中还设置有画图软件和与所述显示设备驱动器对应的驱动器内存空间;
    所述服务器,具体用于基于所述输入操作信号,调用所述画图软件向所述驱动器内存空间中写入所述显示数据;从所述驱动器内存空间中读取所述显示数据传输至所述DPU。
  7. 一种服务系统,其特征在于,包括:
    数据处理器DPU,与服务器硬连接,其中设置有虚拟显示设备和虚拟输入设备,用于 通过所述虚拟输入设备模拟VNC操作指令指示的输入操作,并将产生的输入操作信号传输至所述服务器;所述VNC操作指令为用户终端响应于用户的输入操作生成的;
    所述服务器,用于在接收到所述输入操作信号后,响应所述输入操作信号,生成显示数据,并将所述显示数据传输至所述DPU;
    所述DPU,还用于通过所述虚拟显示设备对所述服务器传输的显示数据进行渲染,并将渲染得到的显示内容发送给所述用户终端。
  8. 一种数据传输方法,其特征在于,包括:
    接收用户终端发送的虚拟网络控制台VNC操作指令;
    通过虚拟输入设备模拟所述VNC操作指令指示的输入操作,产生输入操作信号;所述VNC操作指令为所述用户终端响应于用户的输入操作生成的;
    响应所述输入操作信号,生成显示数据;
    通过虚拟显示设备对所述显示数据进行渲染,并将渲染得到的显示内容发送给所述用户终端。
  9. 根据权利要求8所述的方法,其特征在于,所述用户终端运行有VNC客户端;
    所述将渲染得到的显示内容发送给所述用户终端,包括:
    通过VNC服务端将渲染得到的所述显示内容发送到所述VNC客户端。
  10. 根据权利要求9所述的方法,其特征在于,所述通过VNC服务端将渲染得到的所述显示内容发送到所述VNC客户端,包括:
    将渲染得到的所述显示内容存储到显示设备内存空间中;
    读取所述显示设备内存空间中的所述显示内容,并将读取的显示内容发送到所述VNC客户端。
  11. 根据权利要求8所述的方法,其特征在于,在所述响应所述输入操作信号,生成显示数据之后,还包括:
    基于所述输入操作信号,调用画图软件向驱动器内存空间中写入显示数据;
    从所述驱动器内存空间中读取所述显示数据传输至所述虚拟显示设备。
  12. 一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求8至11任一项所述的数据传输方法的步骤。
  13. 一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求8至11任一项所述的数据传输方法的步骤。
  14. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或指令,所述计算机程序或所述指令被处理器执行时实现如权利要求8至11任一项所述的数据传输方法的步骤。
PCT/CN2023/081054 2022-03-21 2023-03-13 一种数据传输系统、方法、服务系统、设备及存储介质 WO2023179395A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210279108.3A CN114610259A (zh) 2022-03-21 2022-03-21 一种数据传输系统、方法、服务系统、设备及存储介质
CN202210279108.3 2022-03-21

Publications (1)

Publication Number Publication Date
WO2023179395A1 true WO2023179395A1 (zh) 2023-09-28

Family

ID=81865851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/081054 WO2023179395A1 (zh) 2022-03-21 2023-03-13 一种数据传输系统、方法、服务系统、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114610259A (zh)
WO (1) WO2023179395A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610259A (zh) * 2022-03-21 2022-06-10 北京火山引擎科技有限公司 一种数据传输系统、方法、服务系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660581A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 物理机管理方法及装置、系统
CN109656646A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 一种远程桌面控制方法、装置、设备及虚拟化芯片
CN112596852A (zh) * 2020-12-08 2021-04-02 上海鲲鲸云股份有限公司 一种图形显示方法、装置、系统、电子设备及存储介质
CN112764872A (zh) * 2021-04-06 2021-05-07 阿里云计算有限公司 计算机设备、虚拟化加速设备、远程控制方法及存储介质
CN114610259A (zh) * 2022-03-21 2022-06-10 北京火山引擎科技有限公司 一种数据传输系统、方法、服务系统、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11579830B2 (en) * 2018-10-31 2023-02-14 International Business Machines Corporation Displaying a window of a remote desktop computer on a mobile device with a native layout

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660581A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 物理机管理方法及装置、系统
CN109656646A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 一种远程桌面控制方法、装置、设备及虚拟化芯片
CN112596852A (zh) * 2020-12-08 2021-04-02 上海鲲鲸云股份有限公司 一种图形显示方法、装置、系统、电子设备及存储介质
CN112764872A (zh) * 2021-04-06 2021-05-07 阿里云计算有限公司 计算机设备、虚拟化加速设备、远程控制方法及存储介质
CN114610259A (zh) * 2022-03-21 2022-06-10 北京火山引擎科技有限公司 一种数据传输系统、方法、服务系统、设备及存储介质

Also Published As

Publication number Publication date
CN114610259A (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
US8762544B2 (en) Selectively communicating data of a peripheral device to plural sending computers
CN104598257B (zh) 远程应用程序运行的方法和装置
JP7167222B2 (ja) アプレットデータの取得方法、装置、機器及び記憶媒体
JP2013546043A (ja) 即時リモートレンダリング
US20140032699A1 (en) Remote user interface in a terminal server environment
US20240037060A1 (en) Computing device, virtualization acceleration device, remote control method and storage medium
WO2023179395A1 (zh) 一种数据传输系统、方法、服务系统、设备及存储介质
CN106095622A (zh) 数据备份方法及装置
CN102138122A (zh) 组合壳应用和子应用的界面
US10924590B1 (en) Virtual workspace experience visualization and optimization
JP2010020757A (ja) Usbケーブルを使った遠隔デスクトップ制御システムおよびその方法
CN113778593B (zh) 云桌面控制方法、装置、电子设备、存储介质及程序产品
CN103561089B (zh) 虚拟机桌面登录方法、装置及系统
CN108845946B (zh) 一种终端、调试系统以及终端调试方法
WO2024061308A1 (zh) 通知处理方法、终端设备、服务端及计算机存储介质
CN115373618B (zh) 一种多屏显示方法、装置、车机及存储介质
KR20240036693A (ko) 화면 디스플레이 방법, 장치, 전자 기기, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품
US20110271191A1 (en) Providing An Indication Of Change At A User Interface Device Over A Network Between Computers
CN113835816A (zh) 一种虚拟机桌面显示方法、装置、设备及可读存储介质
US20180189118A1 (en) Systems and methods for transforming applications
CN109190338B (zh) 一种虚拟化桌面屏幕水印生成方法及系统
WO2019127475A1 (zh) 虚拟sim卡的实现方法及装置、存储介质、电子设备
KR102438910B1 (ko) 기기 변경에 대응하는 3d 컨텐츠 제공 방법
CN105279083B (zh) 一种Web服务器性能并发测试装置及其测试方法
EP4134807A1 (en) Method and device for capturing screen and terminal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23773643

Country of ref document: EP

Kind code of ref document: A1