WO2016161749A1 - 数据传输方法、装置和系统 - Google Patents

数据传输方法、装置和系统 Download PDF

Info

Publication number
WO2016161749A1
WO2016161749A1 PCT/CN2015/087940 CN2015087940W WO2016161749A1 WO 2016161749 A1 WO2016161749 A1 WO 2016161749A1 CN 2015087940 W CN2015087940 W CN 2015087940W WO 2016161749 A1 WO2016161749 A1 WO 2016161749A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
cloud terminal
urb
virtual machine
usb camera
Prior art date
Application number
PCT/CN2015/087940
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 WO2016161749A1 publication Critical patent/WO2016161749A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to the field of data transmission technologies, and in particular, to a data transmission method, apparatus, and system.
  • the cloud terminal is a multi-user network terminal device that does not require a CPU, a hard disk, and a CD-ROM, and can maximize the potential of the computer. It is small and elegant, no need to upgrade, easy to install, easy to operate, no need for host, one-click; it uses its own VDP (Virtual Desktop Protocol, VDP) technology to remotely access the back-end server host, and no number of users Limitation, greatly reducing costs.
  • VDP Virtual Desktop Protocol
  • USB devices are an essential peripheral device in the use of cloud terminals, and USB cameras are a common and widely used device in USB devices. In many usage scenarios, such as the Gao Paiyi used by banks, there is a high demand for the resolution of the USB camera.
  • USB camera mapping scheme supports limited resolution and camera types, such as citrix VDI's mapping scheme based on underlying driver network transmission; camera mapping scheme based on twain protocol. Therefore, there is a need for a USB camera data transmission method that is both versatile and ensures high resolution.
  • the embodiment of the invention provides a data transmission method, device and system, so as to at least solve the problem that the transmission bandwidth and the speed of the cloud terminal and the virtual machine cannot meet the requirements in the data transmission process.
  • an embodiment of the present invention provides a data transmission method, including the steps:
  • the cloud terminal collects image data
  • the cloud terminal compresses the image data according to a preset compression manner to obtain compressed data.
  • the cloud terminal sends the compressed data to the virtual machine, and the virtual machine decompresses the compressed data according to a decompression manner corresponding to a preset compression manner to obtain decompressed data.
  • the cloud terminal is plugged into a USB camera; the step of collecting cloud image data by the cloud terminal includes:
  • the cloud terminal receives the urb network data packet sent by the virtual machine
  • the cloud terminal starts the USB camera according to the data request in the urb network data packet
  • the cloud terminal collects image data through the USB camera.
  • the step of the cloud terminal initiating the USB camera according to the data request in the urb network data packet comprises:
  • the cloud terminal unpacks the urb network data packet into urb data
  • the USB camera is activated according to the urb data request.
  • the data transmission method between the cloud terminal and the virtual machine further includes:
  • the cloud terminal When the cloud terminal is plugged into the USB camera, the cloud terminal binds the USB camera.
  • the preset compression mode is a zlib compression mode.
  • an embodiment of the present invention further provides a data transmission apparatus, where the apparatus includes:
  • a collection module configured to collect image data
  • a compression module configured to compress the image data according to a preset compression manner to obtain compressed data
  • the sending module is configured to send the compressed data to the virtual machine, and the virtual machine decompresses the compressed data according to a decompression manner corresponding to a preset compression manner to obtain decompressed data.
  • the data transmission device between the cloud terminal and the virtual machine further includes:
  • a receiving module configured to receive a urb network data packet sent by the virtual machine
  • Activating a module configured to initiate a USB camera according to a data request in the urb network packet
  • the collection module is further configured to collect image data through the USB camera.
  • the startup module comprises:
  • Decapsulating unit configured to unpack the urb network data packet into urb data
  • a boot unit configured to initiate a USB camera based on the urb data request.
  • the data transmission device between the cloud terminal and the virtual machine further includes a binding module configured to bind the USB camera when the cloud terminal is plugged into the USB camera.
  • an embodiment of the present invention further provides a data transmission system, where the system includes a cloud terminal and a virtual machine;
  • the cloud terminal is configured as a data transmission device as described above;
  • the virtual machine is configured to decompress the compressed data according to a decompression manner corresponding to a preset compression manner to obtain decompressed data.
  • the virtual machine is further configured to package the urb data into a urb network data packet, and send the urb network data packet to the cloud terminal.
  • the image data is collected by the cloud terminal; the image data is compressed according to a preset compression manner, and the compressed data is obtained, and the compressed data is sent to the virtual machine, and the virtual machine corresponds to the preset compression mode.
  • the decompressing method decompresses the compressed data to obtain decompressed data.
  • the requirements for the transmission bandwidth and speed of the cloud terminal and the virtual machine during the data transmission process are ensured; and the image data transmission between the virtual terminal and the virtual machine is performed by plugging the USB camera in the cloud terminal, thereby ensuring the versatility of the USB camera.
  • FIG. 1 is a schematic flow chart of a first embodiment of a data transmission method according to the present invention.
  • FIG. 2 is a schematic flow chart of a second embodiment of a data transmission method according to the present invention.
  • FIG. 3 is a schematic diagram showing a refinement process of an embodiment of step S01 in FIG. 2;
  • FIG. 4 is a schematic diagram of functional modules of a first embodiment of a data transmission device according to the present invention.
  • FIG. 5 is a schematic diagram of functional modules of a second embodiment of a data transmission apparatus according to the present invention.
  • FIG. 6 is a detailed functional block diagram of an embodiment of the boot module of FIG. 5;
  • FIG. 7 is a schematic diagram of functional modules of a preferred embodiment of a data transmission system of the present invention.
  • the main solution of the embodiment of the present invention is: the cloud terminal collects image data; the cloud terminal compresses the image data according to a preset compression manner to obtain compressed data; and the cloud terminal sends the compressed data to the virtual machine, where The virtual machine decompresses the compressed data according to a decompression method corresponding to the preset compression mode to obtain decompressed data. It ensures the bandwidth and speed requirements of cloud terminals and virtual machines during data transmission.
  • the transmission bandwidth and the speed are not required, and the resolution supported by the USB camera mapping scheme and the type of the supported camera are limited.
  • the present invention provides a method for data transmission between a cloud terminal and a virtual machine.
  • FIG. 1 is a schematic flowchart diagram of a first embodiment of a data transmission method according to the present invention.
  • the data transmission method includes:
  • Step S10 the cloud terminal collects image data
  • Step S20 The cloud terminal compresses the image data according to a preset compression manner to obtain compressed data.
  • step S30 the cloud terminal sends the compressed data to the virtual machine, and the virtual machine decompresses the compressed data according to a decompression manner corresponding to the preset compression mode to obtain decompressed data.
  • the cloud terminal is a smart terminal that integrates cloud computing technology, desktop virtualization technology, and computing migration and sharing concepts. It is an intelligent terminal with an open source Linux operating system that can intervene in the Internet and can run programs.
  • a virtual machine is a complete computer system that runs through a software and has full hardware system functionality running in a fully isolated environment. The virtual system has exactly the same functionality as a real Windows system by generating a new virtual image of the existing operating system. Windows systems and Linux systems support the same user interface, network and security Fullness, but Linux is actually a version of Unix.
  • the cloud terminal collects the image data, and compresses the image data according to a preset compression manner to obtain compressed data.
  • the cloud terminal sends the compressed data to the virtual machine, and the virtual machine corresponds to the preset compression mode.
  • the decompressing method decompresses the compressed data to obtain decompressed data.
  • the preset compression mode is a zlib compression mode, but the preset compression mode includes, but is not limited to, a compression mode that can implement the same function as the zlib compression mode.
  • the zlib is a library for providing data compression. zlib can use a gzip header, zlib header or no header to compress data. Currently zlib only supports one variant of LZ77, the algorithm of DEFLATE.
  • Zlib Zlib's library provides the ability to control processor and memory usage. Different levels of compression can indicate different compression execution speeds, as well as memory control management. For zlib compression and decompression, there is no data length limitation. Repeated calls to library functions allow for processing of infinite data blocks. Some auxiliary code (count variables) may overflow, but does not affect the actual compression and decompression.
  • the image data is collected by the cloud terminal; the image data is compressed according to the zlib compression method, and the compressed data is obtained, and the compressed data is sent to the virtual machine, and the virtual machine corresponds to the zlib compression mode. Decompressing the compressed data to obtain decompressed data. It ensures the bandwidth and speed requirements of cloud terminals and virtual machines during data transmission.
  • FIG. 2 is a schematic flow chart of a second embodiment of the method of the present invention.
  • the cloud terminal is plugged into a USB camera; the process of collecting image data by the cloud terminal may include:
  • Step S01 the cloud terminal receives the urb network data packet sent by the virtual machine
  • the cloud terminal receives the urb network data packet sent by the virtual machine, and the urb network data packet is urb data sent by a USB camera application in the virtual machine, and the urb data is packaged into urb network data by the virtual machine. package.
  • the urb is a computer Linux kernel term. It is a data structure on the USB driver implementation in the Linux kernel. It is used to organize data transmission requests for each USB device driver.
  • the USB request block urb is used in the USB device driver to describe and USB.
  • the basic carrier and core data structure used for device communication is the "electric wave" of communication between the USB host and the device.
  • the network data packet is a package form of a TCP/IP network layer, and the data is in the network.
  • the cloud terminal has a USB plug-in port.
  • the cloud terminal monitors the insertion of the USB camera through its USB plug-in monitoring program, and then inserts the USB port.
  • the upper layer driver of the cloud terminal that is, the device driver of the cloud terminal is replaced by the stub driver of the cloud terminal
  • the underlying driver of the virtual machine that is, the virtual machine's master driver is replaced by the virtual machine.
  • the vhci driver is replaced. Data transmission is performed between the stub driver of the cloud terminal and the vhci driver of the virtual machine through a network connection.
  • the cloud terminal receives the urb network data packet through its stub driver, and the cloud terminal unpacks the urb network data packet into urb data through its stub driver, and the master driver drives the urb data through the core driver of the USB camera. Send to the USB camera in the cloud terminal.
  • the urb network data packet is sent by the virtual machine to the cloud terminal.
  • the specific process is: the virtual machine sends a urb data interaction request to the cloud terminal through the application of the USB camera thereof, and the virtual machine sends the urb data to the core driver of the USB camera through the device driver of the USB camera, and then Sending to its vhci driver through the core driver of its USB camera; after receiving the urb data through its vhci driver, the virtual machine wraps the urb data into a urb network packet, and the virtual machine will be driven by its vhci The urb network data packet is sent to the cloud terminal.
  • Step S02 the cloud terminal starts the USB camera according to the data request in the urb network data packet
  • the process for the cloud terminal to receive the urb network data packet sent by the virtual machine may include:
  • Step S021 the cloud terminal unpacks the urb network data packet into urb data
  • Step S022 starting a USB camera according to the urb data request.
  • step S03 the cloud terminal collects image data through the USB camera.
  • the cloud terminal starts the USB camera according to the data in the urb network data packet, that is, the root
  • the USB camera is activated according to the urb data.
  • the cloud terminal collects image data from the urb data through its USB camera.
  • the cloud terminal collects the image data collected by the USB camera through its USB camera
  • the image data is driven by the core of its USB camera, and the master control driver sends the image to the stub driver.
  • the cloud terminal compresses the image data according to the zlib compression mode through the stub driver to obtain compressed data, and sends the compressed data to the virtual machine.
  • the virtual machine receives the compressed data through its vhci driver, and decompresses the compressed data according to a decompression manner corresponding to the zlib compression mode in the vhci driver to obtain decompressed data.
  • the virtual machine sends the decompressed data to the application of its USB camera through the core driver and device driver of its USB camera, that is, the image data collected by the USB camera of the cloud terminal is sent to the USB camera in the virtual machine. s application.
  • the zlib compression algorithm is added when transmitting the image data collected by the USB camera, thereby ensuring the transmission bandwidth of the cloud terminal and the virtual machine in the process of transmitting the USB camera image data. And the speed requirements, but also ensure the versatility of the USB camera.
  • the invention further provides a data transmission device between a cloud terminal and a virtual machine.
  • FIG. 4 is a schematic diagram of functional modules of a first embodiment of a data transmission apparatus according to the present invention.
  • the data transmission device comprises: a collection module 10, a compression module 20, and a transmission module 30.
  • the collecting module 10 is configured to collect image data
  • the compression module 20 is configured to compress the image data according to a preset compression manner to obtain compressed data.
  • the sending module 30 is configured to send the compressed data to a virtual machine, and the virtual machine decompresses the compressed data according to a decompression manner corresponding to a preset compression manner to obtain decompressed data.
  • the cloud terminal is a smart terminal that integrates cloud computing technology, desktop virtualization technology, and computing migration and sharing concepts. It is an intelligent terminal with an open source Linux operating system that can intervene in the Internet and can run programs.
  • Virtual machine means complete with software simulation A complete computer system that functions as a hardware system and runs in a completely isolated environment. The virtual system has exactly the same functionality as a real Windows system by generating a new virtual image of the existing operating system. Windows systems and Linux systems support the same user interface, network, and security, but Linux is actually a version of Unix.
  • the cloud terminal collects the image data, and compresses the image data according to a preset compression manner to obtain compressed data.
  • the cloud terminal sends the compressed data to the virtual machine, and the virtual machine corresponds to the preset compression mode.
  • the decompressing method decompresses the compressed data to obtain decompressed data.
  • the preset compression mode is a zlib compression mode, but the preset compression mode includes, but is not limited to, a compression mode that can implement the same function as the zlib compression mode.
  • the zlib is a library for providing data compression. zlib can use a gzip header, zlib header or no header to compress data. Currently zlib only supports one variant of LZ77, the algorithm of DEFLATE.
  • Zlib Zlib's library provides the ability to control processor and memory usage. Different levels of compression can indicate different compression execution speeds, as well as memory control management. For zlib compression and decompression, there is no data length limitation. Repeated calls to library functions allow for processing of infinite data blocks. Some auxiliary code (count variables) may overflow, but does not affect the actual compression and decompression.
  • the present invention collects image data through a cloud terminal; compresses the image data according to a zlib compression method to obtain compressed data, and sends the compressed data to a virtual machine, and the virtual machine is decompressed according to the zlib compression mode.
  • the compressed data is decompressed to obtain decompressed data. It ensures the bandwidth and speed requirements of cloud terminals and virtual machines during data transmission.
  • FIG. 5 is a schematic diagram of functional modules of a second embodiment of a data transmission apparatus according to the present invention.
  • the device also includes a receiving module 40, a starting module 50, and a binding module 60.
  • the receiving module 40 is configured to receive a urb network data packet sent by the virtual machine
  • the startup module 50 is configured to start a USB camera according to the data request in the urb network data packet;
  • the startup module 50 includes a depackaging unit 51 and a startup unit 52.
  • the depackaging unit 51 is configured to unpack the urb network data packet into urb data
  • the activation unit 52 is configured to initiate a USB camera according to the urb data request.
  • the collection module 10 is further configured to collect image data through the USB camera.
  • the binding module 60 is configured to bind the USB camera when the cloud terminal is plugged into the USB camera.
  • the cloud terminal receives the urb network data packet sent by the virtual machine, and the urb network data packet is urb data sent by a USB camera application in the virtual machine, and the urb data is packaged into urb network data by the virtual machine. package.
  • the urb is a computer Linux kernel term. It is a data structure on the USB driver implementation in the Linux kernel. It is used to organize data transmission requests for each USB device driver.
  • the USB request block urb is used in the USB device driver to describe and USB.
  • the basic carrier and core data structure used for device communication is the "electric wave" of communication between the USB host and the device.
  • the network data packet is a package form of the TCP/IP network layer. When the data is transmitted in the network, the size is large.
  • the cloud terminal has a USB plug-in port.
  • the cloud terminal monitors the insertion of the USB camera through its USB plug-in monitoring program, and then inserts the USB port.
  • the upper layer driver of the cloud terminal that is, the device driver of the cloud terminal is replaced by the stub driver of the cloud terminal
  • the underlying driver of the virtual machine that is, the virtual machine's master driver is replaced by the virtual machine.
  • the vhci driver is replaced. Data transmission is performed between the stub driver of the cloud terminal and the vhci driver of the virtual machine through a network connection.
  • the cloud terminal receives the urb network data packet through its stub driver, and the cloud terminal unpacks the urb network data packet into urb data through its stub driver, and the master driver drives the urb data through the core driver of the USB camera. Send to the USB camera in the cloud terminal.
  • the urb network data packet is sent by the virtual machine to the cloud terminal.
  • the specific process is: the virtual machine sends a urb data interaction request to the cloud terminal through the application of the USB camera thereof, and the virtual machine sends the urb data to the core driver of the USB camera through the device driver of the USB camera, and then Sending to its vhci driver through the core driver of its USB camera; after receiving the urb data through its vhci driver, the virtual machine wraps the urb data into a urb network packet, and the virtual machine will be driven by its vhci The urb network data packet is sent to the cloud terminal.
  • the cloud terminal starts the USB camera according to the data in the urb network data packet, that is, the USB camera is started according to the urb data. After the USB camera is activated, the cloud terminal collects image data from the urb data through its USB camera. When the cloud terminal collects the image data collected by the USB camera through its USB camera, the image data is driven by the core of its USB camera, and the master control driver sends the image to the stub driver. The cloud terminal compresses the image data according to the zlib compression mode through the stub driver to obtain compressed data, and sends the compressed data to the virtual machine.
  • the virtual machine receives the compressed data through its vhci driver, and decompresses the compressed data according to a decompression manner corresponding to the zlib compression mode in the vhci driver to obtain decompressed data.
  • the virtual machine sends the decompressed data to the application of its USB camera through the core driver and device driver of its USB camera, that is, the image data collected by the USB camera of the cloud terminal is sent to the USB camera in the virtual machine. s application.
  • the zlib compression algorithm is added when transmitting the image data collected by the USB camera, thereby ensuring the transmission bandwidth of the cloud terminal and the virtual machine in the process of transmitting the USB camera image data. And the speed requirements, but also ensure the versatility of the USB camera.
  • the invention further provides a data transmission system.
  • FIG. 6 is a schematic diagram of functional modules of a preferred embodiment of a data transmission system according to the present invention.
  • the data transmission system includes a cloud terminal 110 and a virtual machine 220.
  • the cloud terminal 110 is a smart terminal integrating cloud computing technology, desktop virtualization technology, computing migration and sharing concept, and is an intelligent terminal with an open source Linux operating system that can intervene in the Internet and can install and run programs.
  • the virtual machine 220 refers to a complete computer system that runs through a software and has a complete hardware system function and runs in a completely isolated environment.
  • the virtual system has exactly the same functionality as a real Windows system by generating a new virtual image of the existing operating system. Windows systems and Linux systems support the same user interface, Network and security, but Linux is actually a version of Unix.
  • the cloud terminal 110 collects the image data, and compresses the image data according to a preset manner to obtain compressed data.
  • the compressed data is sent to the virtual machine 220, and the virtual 220 receives the compression sent by the cloud terminal 110.
  • Data decompressing the compressed data according to a decompression method corresponding to a preset compression mode to obtain decompressed data.
  • the preset compression mode is a zlib compression mode, but the preset compression mode includes, but is not limited to, a compression mode that can implement the same function as the zlib compression mode.
  • the zlib is a library for providing data compression. zlib can use a gzip header, zlib header or no header to compress data.
  • the cloud terminal 110 has a USB plug-in port.
  • the cloud terminal 110 monitors the insertion of the USB camera through its USB plug-in monitoring program, and then Binding the inserted USB camera, after the binding, the upper layer driver of the cloud terminal 110, that is, the device driver of the cloud terminal 110 is replaced by the stub driver of the cloud terminal 110, and the underlying driver of the virtual machine, that is, the virtual machine
  • the master driver will be replaced by the virtual machine's vhci driver.
  • the data transmission is performed between the stub driver of the cloud terminal 110 and the vhci driver of the virtual machine through a network connection.
  • the virtual machine 220 sends a urb data interaction request to the cloud terminal 110 through its USB camera application, the virtual machine 220 sends the urb data to the core driver of its USB camera through its USB camera device driver, and then through its USB
  • the core driver of the camera is sent to its vhci driver; after the virtual machine 220 receives the urb data through its vhci driver, the urb data is packaged into a urb network data packet, and then the urb network data is driven by its vhci driver.
  • the packet is sent to the cloud terminal 110.
  • the cloud terminal 110 receives the urb network data packet through its stub drive, and then unpacks the urb network data packet into a stub drive thereof.
  • the urb data; the cloud terminal 110 is driven by the core of its USB camera, and the master driver transmits the urb data to the USB camera in the cloud terminal 110.
  • the cloud terminal 110 activates the USB camera according to the urb data. After the USB camera is activated, the cloud terminal 110 collects image data from the urb data through its USB camera.
  • the cloud terminal 110 collects image data collected by the USB camera through its USB camera
  • the image data is driven by the core of its USB camera, and the master driver sends it to its stub driver.
  • the cloud terminal 110 compresses the image data according to the zlib compression method through its stub driver to obtain compressed data, and sends the compressed data to the virtual machine.
  • the compressed data is decompressed by the vhci driver according to the decompression method corresponding to the zlib compression mode. Get the decompressed data.
  • the virtual machine 220 transmits the decompressed data to the application of its USB camera through the core driver and device driver of its USB camera, and realizes image data transmission of the USB camera between the cloud terminal 110 and the virtual machine 220.
  • the requirement of the transmission bandwidth and the speed of the cloud terminal 110 and the virtual machine 220 in transmitting the USB camera image data is ensured, and the versatility of the USB camera is ensured.
  • the disclosed technical contents may be implemented in other manners.
  • the device embodiments described above are only schematic.
  • the division of the unit may be a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, unit or module, and may be electrical or otherwise.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated in In a unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like. .
  • a data transmission method, apparatus, and system provided by an embodiment of the present invention have the following beneficial effects: ensuring requirements for transmission bandwidth and rate of a cloud terminal and a virtual machine during data transmission; and simultaneously inserting in a cloud terminal
  • the USB camera is connected to the image data transmission between the virtual machine and the USB camera to ensure the versatility of the USB camera.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据传输方法,包括步骤:云终端收集图像数据;云终端对所述图像数据按照预设压缩方式进行压缩,得到压缩数据;云终端将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。本发明还公开了一种数据传输装置和系统。本发明保证了云终端和虚拟机在数据传输过程中对传输带宽和速率的要求。

Description

数据传输方法、装置和系统 技术领域
本发明涉及数据传输技术领域,尤其涉及一种数据传输方法、装置和系统。
背景技术
随着云技术的兴起,云终端作为传统PC的替代方案,已经日益流行。云终端是一台不需要CPU、硬盘和CD‐ROM的多用户网络终端设备,可以最大的发挥计算机的潜能。它设计小巧精致,无需升级,安装简便,易于操作,无须主机,一按即用;它运用自身的VDP(虚拟桌面协议Virtual Desktop Protocol,VDP)技术,远程访问后端服务器主机,并且没有用户数量限制,大大降低成本。USB设备是云终端的使用过程中,一个必不可少的外设设备,而USB摄像头更是USB设备中一个常见而且使用广泛的设备。在很多使用场景中,比如银行使用的高拍仪,对USB摄像头的分辨率有很高的要求。传统的USB摄像头映射方案,支持的分辨率和摄像头的类型有限,如citrix VDI的基于底层驱动网络传输的映射方案;基于twain协议的摄像头映射方案。因此,需要有一种既通用又能保证高分辨率的USB摄像头数据传输方法。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明实施例提供了一种数据传输方法、装置和系统,以至少解决云终端和虚拟机在数据传输过程中,传输带宽和速率达不到要求的问题。
为实现上述目的,本发明实施例提供了一种数据传输方法,包括步骤:
云终端收集图像数据;
云终端对所述图像数据按照预设压缩方式进行压缩,得到压缩数据;
云终端将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。
优选地,所述云终端插接有USB摄像头;所述云终端收集图像数据的步骤包括:
云终端接收虚拟机发送的urb网络数据包;
云终端根据所述urb网络数据包中的数据请求启动USB摄像头;
云终端通过所述USB摄像头收集图像数据。
优选地,所述云终端根据所述urb网络数据包中的数据请求启动USB摄像头的步骤包括:
云终端将所述urb网络数据包解包装成urb数据;
根据所述urb数据请求启动USB摄像头。
优选地,所述云终端与虚拟机之间的数据传输方法还包括:
当云终端插接有USB摄像头时,所述云终端对所述USB摄像头进行绑定。
优选地,所述预设压缩方式为zlib压缩方式。
此外,为实现上述目的,本发明实施例还提供了一种数据传输装置,该装置包括:
收集模块,设置为收集图像数据;
压缩模块,设置为对所述图像数据按照预设压缩方式进行压缩,得到压缩数据;
发送模块,设置为将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。
优选地,所述云终端与虚拟机之间的数据传输装置还包括:
接收模块,设置为接收虚拟机发送的urb网络数据包;
启动模块,设置为根据所述urb网络数据包中的数据请求启动USB摄像头;
所述收集模块,还设置为通过所述USB摄像头收集图像数据。
优选地,所述启动模块包括:
解包装单元,设置为将所述urb网络数据包解包装成urb数据;
启动单元,设置为根据所述urb数据请求启动USB摄像头。
优选地,所述云终端与虚拟机之间的数据传输装置还包括绑定模块,设置为当云终端插接有USB摄像头时,对所述USB摄像头进行绑定。
此外,为实现上述目的,本发明实施例还提供了一种数据传输系统,该系统包括云终端和虚拟机;
所述云终端设置为如上所述的数据传输装置;
所述虚拟机,设置为按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。
优选地,所述虚拟机,还设置为将所述urb数据包装成urb网络数据包,并将所述urb网络数据包发送给云终端。
本发明实施例通过云终端收集图像数据;将所述图像数据按照预设压缩方式进行压缩,得到压缩数据,将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。保证了云终端和虚拟机在数据传输过程中对传输带宽和速率的要求;同时通过在云终端插接USB摄像头进行与虚拟机之间的图像数据传输,保证了USB摄像头的通用性。
附图说明
图1为本发明数据传输方法的第一实施例的流程示意图;
图2为本发明数据传输方法的第二实施例的流程示意图;
图3为图2中步骤S01的一实施例的细化流程示意图;
图4为本发明数据传输装置的第一实施例的功能模块示意图;
图5为本发明数据传输装置的第二实施例的功能模块示意图;
图6为图5中启动模块的一实施例的细化功能模块图;
图7为本发明数据传输系统的较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:云终端收集图像数据;云终端对所述图像数据按照预设压缩方式进行压缩,得到压缩数据;云终端将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。保证了云终端和虚拟机在数据传输过程中对传输带宽和速率的要求。
现有的云终端和虚拟机在数据传输过程中,传输带宽和速率达不到要求,且USB摄像头的映射方案支持的分辨率和支持摄像头的类型有限。
基于上述问题,本发明提供一种方法云终端与虚拟机之间的数据传输方法。
参照图1,图1为本发明数据传输方法的第一实施例的流程示意图。
在一实施例中,所述数据传输方法包括:
步骤S10,云终端收集图像数据;
步骤S20,云终端对所述图像数据按照预设压缩方式进行压缩,得到压缩数据;
步骤S30,云终端将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。
云终端,是集云计算技术,桌面虚拟化技术,计算迁移与分享概念于一体的智能终端,是一种具备了开源的Linux操作系统,可以介入互联网,能够通过安装运行程序的智能终端。虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在完全隔离环境中的完整计算机系统。虚拟系统通过生成现有操作系统的全新虚拟镜像,因此具有真实Windows系统完全一样的功能。Windows系统和Linux系统支持同样的用户接口、网络和安 全性,但是Linux事实上是Unix的一种版本。
云终端收集图像数据,并将所述图像数据按照预设压缩方式进行压缩,得到压缩数据;所述云终端将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。所述预设压缩方式为zlib压缩方式,但是所述预设压缩方式包括但不限于可以实现与zlib压缩方式同样功能的压缩方式。所述zlib是提供数据压缩用的函式库,zlib能使用一个gzip数据头,zlib数据头或者不使用数据头压缩数据。目前zlib仅支持一个LZ77的变种算法,DEFLATE的算法。这个算法使用很少的系统资源,对各种数据提供很好的压缩效果。zlib的函数库提供了对处理器和内存使用控制的能力,不同的压缩级别数值可以指示不同的压缩执行速度,还有内存控制管理的功能。对于zlib压缩和解压缩,没有数据长度的限制,重复调用库函数允许处理无限的数据块,一些辅助代码(计数变量)可能会溢出,但是不影响实际的压缩和解压缩。
本实施例通过云终端收集图像数据;将所述图像数据按照zlib压缩方式进行压缩,得到压缩数据,将所述压缩数据发送给虚拟机,由所述虚拟机按照与所述zlib压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。保证了云终端和虚拟机在数据传输过程中对传输带宽和速率的要求。
参照图2,图2为本发明方法的第二实施例的流程示意图。基于上述方法的第一实施例,所述云终端插接有USB摄像头;所述云终端收集图像数据的过程可以包括:
步骤S01,云终端接收虚拟机发送的urb网络数据包;
云终端接收由所述虚拟机发送的urb网络数据包,所述urb网络数据包是虚拟机中的USB摄像头应用程序发送的urb数据,由所述虚拟机将所述urb数据包装成urb网络数据包。所述urb是计算机Linux内核术语,是Linux内核中USB驱动实现上的一个数据结构,用于组织每一次的USB设备驱动的数据传输请求,USB请求块urb是USB设备驱动中用来描述与USB设备通信所用的基本载体和核心数据结构,是USB主机和设备通信的“电波”。所述网络数据包,是TCP/IP网络层的封装形式,数据在网络中 传送的时候是有大小的,它的单位从小到大有bit(位),byte(字节),M(兆),G,T。他们的换算方式为1T=1024G,1G=1024M,以此类推。而我们通常所说的一个网络数据包就是1M的数据。
所述云终端中都有USB的插拔口,当将USB摄像头插入到云终端时,所述云终端会通过其USB插拔监控程序会监控到有USB摄像头的插入,之后会对插入的USB摄像头进行绑定,绑定之后,所述云终端的上层驱动,即云终端的设备驱动会被云终端的stub驱动所替代,虚拟机的底层驱动,即虚拟机的主控驱动会被虚拟机的vhci驱动所替代。云终端的stub驱动和虚拟机的vhci驱动之间通过网络连接进行数据传输。
云终端通过其stub驱动接收到urb网络数据包,所述云终端通过其stub驱动将所述urb网络数据包解包装成urb数据,通过其USB摄像头的核心驱动,主控驱动将所述urb数据发送给云终端中的USB摄像头。所述urb网络数据包由虚拟机发送给所述云终端。具体过程为:所述虚拟机通过其USB摄像头的应用程序向云终端发送urb数据交互请求,所述虚拟机通过其USB摄像头的设备驱动将所述urb数据发送给其USB摄像头的核心驱动,然后通过其USB摄像头的核心驱动发送给其vhci驱动;所述虚拟机通过其vhci驱动接收到所述urb数据之后,将所述urb数据包装成urb网络数据包,所述虚拟机通过其vhci驱动将所述urb网络数据包发送给云终端。因为urb在Linux中和Windows中的数据表现形式会有所不同,所以在Linux和Windows中传输urb数据时,需要进行将urb数据包装成urb网络数据包,然后再将urb网络数据包解包装成urb数据,使urb数据在Linux和Windows传输中不会照成失误。
步骤S02,云终端根据所述urb网络数据包中的数据请求启动USB摄像头;
具体地,参照图2,所述云终端接收虚拟机发送的urb网络数据包的过程可以包括:
步骤S021,云终端将所述urb网络数据包解包装成urb数据;
步骤S022,根据所述urb数据请求启动USB摄像头。
步骤S03,云终端通过所述USB摄像头收集图像数据。
云终端根据所述urb网络数据包中的数据启动所述USB摄像头,即根 据urb数据启动所述USB摄像头。当所述USB摄像头启动之后,所述云终端通过其USB摄像头根据所述urb数据收集图像数据。当所述云终端通过其USB摄像头收集到所述USB摄像头采集到的图像数据时,将所述图像数据通过其USB摄像头的核心驱动,主控驱动发送给其stub驱动。云终端通过其stub驱动中对所述图像数据按照zlib压缩方式进行压缩,得到压缩数据,将所述压缩数据发送给虚拟机。虚拟机通过其vhci驱动接收到所述压缩数据,在所述vhci驱动中对所述压缩数据按照zlib压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。虚拟机通过其USB摄像头的核心驱动和设备驱动,将所述解压缩数据发送给其USB摄像头的应用程序,即将所述云终端的USB摄像头所收集到的图像数据发送给虚拟机中的USB摄像头的应用程序。
本实施例通过利用云终端和虚拟机之间的数据传输,在传输USB摄像头收集的图像数据的时候加入zlib压缩算法,这样保证了云终端和虚拟机在传输USB摄像头图像数据过程中对传输带宽和速率的要求,又保证了USB摄像头的通用性。
本发明进一步提供一种云终端和虚拟机之间的数据传输装置。
参照图4,图4为本发明数据传输装置的第一实施例的功能模块示意图。
在一实施例中,所述数据传输装置包括:收集模块10、压缩模块20和发送模块30。
所述收集模块10,设置为收集图像数据;
所述压缩模块20,设置为对所述图像数据按照预设压缩方式进行压缩,得到压缩数据;
所述发送模块30,设置为将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。
云终端,是集云计算技术,桌面虚拟化技术,计算迁移与分享概念于一体的智能终端,是一种具备了开源的Linux操作系统,可以介入互联网,能够通过安装运行程序的智能终端。虚拟机是指通过软件模拟的具有完整 硬件系统功能的、运行在完全隔离环境中的完整计算机系统。虚拟系统通过生成现有操作系统的全新虚拟镜像,因此具有真实Windows系统完全一样的功能。Windows系统和Linux系统支持同样的用户接口、网络和安全性,但是Linux事实上是Unix的一种版本。
云终端收集图像数据,并将所述图像数据按照预设压缩方式进行压缩,得到压缩数据;所述云终端将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。所述预设压缩方式为zlib压缩方式,但是所述预设压缩方式包括但不限于可以实现与zlib压缩方式同样功能的压缩方式。所述zlib是提供数据压缩用的函式库,zlib能使用一个gzip数据头,zlib数据头或者不使用数据头压缩数据。目前zlib仅支持一个LZ77的变种算法,DEFLATE的算法。这个算法使用很少的系统资源,对各种数据提供很好的压缩效果。zlib的函数库提供了对处理器和内存使用控制的能力,不同的压缩级别数值可以指示不同的压缩执行速度,还有内存控制管理的功能。对于zlib压缩和解压缩,没有数据长度的限制,重复调用库函数允许处理无限的数据块,一些辅助代码(计数变量)可能会溢出,但是不影响实际的压缩和解压缩。
本发明通过云终端收集图像数据;将所述图像数据按照zlib压缩方式进行压缩,得到压缩数据,将所述压缩数据发送给虚拟机,由所述虚拟机按照与所述zlib压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。保证了云终端和虚拟机在数据传输过程中对传输带宽和速率的要求。
参照图5,图5为本发明数据传输装置的第二实施例的功能模块示意图。所述装置还包括接收模块40、启动模块50和绑定模块60。
所述接收模块40,设置为接收虚拟机发送的urb网络数据包;
所述启动模块50,设置为根据所述urb网络数据包中的数据请求启动USB摄像头;
具体地,参照图6,所述启动模块50包括解包装单元51和启动单元52。
所述解包装单元51,设置为将所述urb网络数据包解包装成urb数据;
所述启动单元52,设置为根据所述urb数据请求启动USB摄像头。
所述收集模块10,还设置为通过所述USB摄像头收集图像数据。
所述绑定模块60,设置为当云终端插接有USB摄像头时,对所述USB摄像头进行绑定。
云终端接收由所述虚拟机发送的urb网络数据包,所述urb网络数据包是虚拟机中的USB摄像头应用程序发送的urb数据,由所述虚拟机将所述urb数据包装成urb网络数据包。所述urb是计算机Linux内核术语,是Linux内核中USB驱动实现上的一个数据结构,用于组织每一次的USB设备驱动的数据传输请求,USB请求块urb是USB设备驱动中用来描述与USB设备通信所用的基本载体和核心数据结构,是USB主机和设备通信的“电波”。所述网络数据包,是TCP/IP网络层的封装形式,数据在网络中传送的时候是有大小的,它的单位从小到大有bit(位),byte(字节),M(兆),G,T。他们的换算方式为1T=1024G,1G=1024M,以此类推。而我们通常所说的一个网络数据包就是1M的数据。
所述云终端中都有USB的插拔口,当将USB摄像头插入到云终端时,所述云终端会通过其USB插拔监控程序会监控到有USB摄像头的插入,之后会对插入的USB摄像头进行绑定,绑定之后,所述云终端的上层驱动,即云终端的设备驱动会被云终端的stub驱动所替代,虚拟机的底层驱动,即虚拟机的主控驱动会被虚拟机的vhci驱动所替代。云终端的stub驱动和虚拟机的vhci驱动之间通过网络连接进行数据传输。
云终端通过其stub驱动接收到urb网络数据包,所述云终端通过其stub驱动将所述urb网络数据包解包装成urb数据,通过其USB摄像头的核心驱动,主控驱动将所述urb数据发送给云终端中的USB摄像头。所述urb网络数据包由虚拟机发送给所述云终端。具体过程为:所述虚拟机通过其USB摄像头的应用程序向云终端发送urb数据交互请求,所述虚拟机通过其USB摄像头的设备驱动将所述urb数据发送给其USB摄像头的核心驱动,然后通过其USB摄像头的核心驱动发送给其vhci驱动;所述虚拟机通过其vhci驱动接收到所述urb数据之后,将所述urb数据包装成urb网络数据包,所述虚拟机通过其vhci驱动将所述urb网络数据包发送给云终端。因为urb在Linux中和Windows中的数据表现形式会有所不同,所以 在Linux和Windows中传输urb数据时,需要进行将urb数据包装成urb网络数据包,然后再将urb网络数据包解包装成urb数据,使urb数据在Linux和Windows传输中不会照成失误。
云终端根据所述urb网络数据包中的数据启动所述USB摄像头,即根据urb数据启动所述USB摄像头。当所述USB摄像头启动之后,所述云终端通过其USB摄像头根据所述urb数据收集图像数据。当所述云终端通过其USB摄像头收集到所述USB摄像头采集到的图像数据时,将所述图像数据通过其USB摄像头的核心驱动,主控驱动发送给其stub驱动。云终端通过其stub驱动中对所述图像数据按照zlib压缩方式进行压缩,得到压缩数据,将所述压缩数据发送给虚拟机。虚拟机通过其vhci驱动接收到所述压缩数据,在所述vhci驱动中对所述压缩数据按照zlib压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。虚拟机通过其USB摄像头的核心驱动和设备驱动,将所述解压缩数据发送给其USB摄像头的应用程序,即将所述云终端的USB摄像头所收集到的图像数据发送给虚拟机中的USB摄像头的应用程序。
本实施例通过利用云终端和虚拟机之间的数据传输,在传输USB摄像头收集的图像数据的时候加入zlib压缩算法,这样保证了云终端和虚拟机在传输USB摄像头图像数据过程中对传输带宽和速率的要求,又保证了USB摄像头的通用性。
本发明进一步提供一种数据传输系统。
参照图6,图6为本发明数据传输系统的较佳实施例的功能模块示意图。
在一实施例中,所述数据传输系统包括云终端110和虚拟机220。
云终端110,是集云计算技术,桌面虚拟化技术,计算迁移与分享概念于一体的智能终端,是一种具备了开源的Linux操作系统,可以介入互联网,能够通过安装运行程序的智能终端。虚拟机220是指通过软件模拟的具有完整硬件系统功能的、运行在完全隔离环境中的完整计算机系统。虚拟系统通过生成现有操作系统的全新虚拟镜像,因此具有真实Windows系统完全一样的功能。Windows系统和Linux系统支持同样的用户接口、 网络和安全性,但是Linux事实上是Unix的一种版本。
云终端110收集图像数据,并对所述图像数据按照预设方式进行压缩,得到压缩数据;并将所述压缩数据发送给虚拟机220,所述虚拟220接收到所述云终端110发送的压缩数据,将所述压缩数据按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。所述预设压缩方式为zlib压缩方式,但是所述预设压缩方式包括但不限于可以实现与zlib压缩方式同样功能的压缩方式。所述zlib是提供数据压缩用的函式库,zlib能使用一个gzip数据头,zlib数据头或者不使用数据头压缩数据。目前zlib仅支持一个LZ77的变种算法,DEFLATE的算法。这个算法使用很少的系统资源,对各种数据提供很好的压缩效果。zlib的函数库提供了对处理器和内存使用控制的能力,不同的压缩级别数值可以指示不同的压缩执行速度,还有内存控制管理的功能。对于zlib压缩和解压缩,没有数据长度的限制,重复调用库函数允许处理无限的数据块,一些辅助代码(计数变量)可能会溢出,但是不影响实际的压缩和解压缩。保证了云终端110和虚拟机220在数据传输过程中对传输带宽和速率的要求。
进一步地,云终端110中都有USB的插拔口,当将USB摄像头插入到云终端110时,所述云终端110会通过其USB插拔监控程序会监控到有USB摄像头的插入,之后会对插入的USB摄像头进行绑定,绑定之后,所述云终端110的上层驱动,即云终端110的设备驱动会被云终端110的stub驱动所替代,虚拟机的底层驱动,即虚拟机的主控驱动会被虚拟机的vhci驱动所替代。云终端110的stub驱动和虚拟机的vhci驱动之间通过网络连接进行数据传输。
虚拟机220通过其USB摄像头的应用程序向云终端110发送urb数据交互请求,所述虚拟机220通过其USB摄像头的设备驱动将所述urb数据发送给其USB摄像头的核心驱动,然后通过其USB摄像头的核心驱动发送给其vhci驱动;所述虚拟机220通过其vhci驱动接收到所述urb数据之后,将所述urb数据包装成urb网络数据包,然后通过其vhci驱动将所述urb网络数据包发送给云终端110。所述云终端110通过其stub驱动接收到urb网络数据包,然后通过其stub驱动将所述urb网络数据包解包装成 urb数据;所述云终端110通过其USB摄像头的核心驱动,主控驱动将所述urb数据发送给云终端110中的USB摄像头。所述云终端110根据所述urb数据启动所述USB摄像头。当所述USB摄像头启动之后,所述云终端110通过其USB摄像头根据所述urb数据收集图像数据。当所述云终端110通过其USB摄像头收集到所述USB摄像头采集到的图像数据时,将所述图像数据通过其USB摄像头的核心驱动,主控驱动发送给其stub驱动。云终端110通过其stub驱动中对所述图像数据按照zlib压缩方式进行压缩,得到压缩数据,将所述压缩数据发送给虚拟机。当所述虚拟机220接收到所述压缩数据时,通过其vhci驱动按照zlib压缩方式对应的解压方式解压所述压缩数据。得到解压缩数据。虚拟机220通过其USB摄像头的核心驱动和设备驱动,将所述解压缩数据发送给其USB摄像头的应用程序,实现了云终端110和虚拟机220之间USB摄像头的图像数据传输。保证了云终端110和虚拟机220在传输USB摄像头图像数据过程中对传输带宽和速率的要求,又保证了USB摄像头的通用性。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在 一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read‐Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
工业实用性
如上所述,本发明实施例提供的一种数据传输方法、装置和系统具有以下有益效果:保证了云终端和虚拟机在数据传输过程中对传输带宽和速率的要求;同时通过在云终端插接USB摄像头进行与虚拟机之间的图像数据传输,保证了USB摄像头的通用性。

Claims (11)

  1. 一种数据传输方法,所述云终端与虚拟机之间的数据传输方法包括以下步骤:
    云终端收集图像数据;
    云终端对所述图像数据按照预设压缩方式进行压缩,得到压缩数据;
    云终端将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。
  2. 如权利要求1所述的数据传输方法,其中,所述云终端插接有通用串行总线USB摄像头;所述云终端收集图像数据的步骤包括:
    云终端接收虚拟机发送的urb网络数据包;
    云终端根据所述urb网络数据包中的数据请求启动USB摄像头;
    云终端通过所述USB摄像头收集图像数据。
  3. 如权利要求2所述的数据传输方法,其中,所述云终端根据所述urb网络数据包中的数据请求启动USB摄像头的步骤包括:
    云终端将所述urb网络数据包解包装成urb数据;
    根据所述urb数据请求启动USB摄像头。
  4. 如权利要求2所述的数据传输方法,其中,所述云终端与虚拟机之间的数据传输方法还包括:
    当云终端插接有USB摄像头时,所述云终端对所述USB摄像头进行绑定。
  5. 如权利要求1至4任一项所述的数据传输方法,其中,所述预设压缩方式为zlib压缩方式。
  6. 一种数据传输装置,所述数据传输装置包括:
    收集模块,设置为收集图像数据;
    压缩模块,设置为对所述图像数据按照预设压缩方式进行压缩,得到压缩数据;
    发送模块,设置为将所述压缩数据发送给虚拟机,由所述虚拟机按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。
  7. 如权利要求6所述的数据传输装置,其中,所述云终端与虚拟机之间的数据传输装置还包括:
    接收模块,设置为接收虚拟机发送的urb网络数据包;
    启动模块,设置为根据所述urb网络数据包中的数据请求启动USB摄像头;
    所述收集模块,还设置为通过所述USB摄像头收集图像数据。
  8. 如权利要求7所述的数据传输装置,其中,所述启动模块包括:
    解包装单元,设置为将所述urb网络数据包解包装成urb数据;
    启动单元,设置为根据所述urb数据请求启动USB摄像头。
  9. 如权利要求6至8任一项所述的数据传输装置,其中,所述云终端与虚拟机之间的数据传输装置还包括绑定模块,设置为当云终端插接有USB摄像头时,对所述USB摄像头进行绑定。
  10. 一种数据传输系统,所述数据传输系统包括云终端和虚拟机;
    所述云终端包括权利要求5‐7中任一项所述的装置;
    所述虚拟机,设置为按照与预设压缩方式对应的解压方式解压所述压缩数据,得到解压缩数据。
  11. 如权利要求10所述的数据传输系统,其中,所述虚拟机,还设置为将所述urb数据包装成urb网络数据包,并将所述urb网络数据包发送给云终端。
PCT/CN2015/087940 2015-04-10 2015-08-24 数据传输方法、装置和系统 WO2016161749A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510169663.0A CN106161541A (zh) 2015-04-10 2015-04-10 数据传输方法、装置和系统
CN201510169663.0 2015-04-10

Publications (1)

Publication Number Publication Date
WO2016161749A1 true WO2016161749A1 (zh) 2016-10-13

Family

ID=57071751

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/087940 WO2016161749A1 (zh) 2015-04-10 2015-08-24 数据传输方法、装置和系统

Country Status (2)

Country Link
CN (1) CN106161541A (zh)
WO (1) WO2016161749A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221751A (zh) * 2020-01-13 2020-06-02 中孚安全技术有限公司 一种Linux系统下提升usb批量传输速度的方法及系统
CN113938457A (zh) * 2021-09-30 2022-01-14 北京润信恒达科技有限公司 一种云手机应用远程摄像头的方法、系统和设备
CN115118719A (zh) * 2022-06-20 2022-09-27 福建升腾资讯有限公司 一种云桌面的摄像头设备连接的方法及系统
CN116074307A (zh) * 2023-01-28 2023-05-05 中科方德软件有限公司 传输方法、装置、电子设备和介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106851317A (zh) * 2017-02-15 2017-06-13 福建时迅信息科技有限公司 一种提高图像数据传输速度的方法和系统
CN107506232A (zh) * 2017-09-26 2017-12-22 深信服科技股份有限公司 一种图片获取方法及系统
CN109068183A (zh) * 2018-08-08 2018-12-21 湖南快乐阳光互动娱乐传媒有限公司 一种直播弹幕分发方法及装置
CN109040786B (zh) * 2018-09-03 2022-01-11 锐捷网络股份有限公司 摄像头数据的传输方法、装置、系统及存储介质
CN111314395B (zh) * 2018-12-11 2023-07-11 中兴通讯股份有限公司 一种图像的传输方法及终端、存储介质
CN111949344A (zh) * 2019-05-14 2020-11-17 华为技术有限公司 一种虚拟机远程访问usb外设的数据的方法
WO2020228650A1 (zh) 2019-05-14 2020-11-19 华为技术有限公司 一种虚拟机远程访问usb外设的数据的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984189A (zh) * 2011-09-07 2013-03-20 华为技术有限公司 一种无线网络及其实现方法、终端
CN103607452A (zh) * 2013-11-19 2014-02-26 北京云巢动脉科技有限公司 虚拟机终端数据的获取方法、装置及系统
CN104301687A (zh) * 2014-10-27 2015-01-21 中国联合网络通信集团有限公司 应用于虚拟桌面环境的摄像头视频处理方法和相应设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984189A (zh) * 2011-09-07 2013-03-20 华为技术有限公司 一种无线网络及其实现方法、终端
CN103607452A (zh) * 2013-11-19 2014-02-26 北京云巢动脉科技有限公司 虚拟机终端数据的获取方法、装置及系统
CN104301687A (zh) * 2014-10-27 2015-01-21 中国联合网络通信集团有限公司 应用于虚拟桌面环境的摄像头视频处理方法和相应设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221751A (zh) * 2020-01-13 2020-06-02 中孚安全技术有限公司 一种Linux系统下提升usb批量传输速度的方法及系统
CN111221751B (zh) * 2020-01-13 2023-10-27 中孚安全技术有限公司 Linux系统下提升usb批量传输速度的方法及系统
CN113938457A (zh) * 2021-09-30 2022-01-14 北京润信恒达科技有限公司 一种云手机应用远程摄像头的方法、系统和设备
CN113938457B (zh) * 2021-09-30 2023-11-10 北京润信恒达科技有限公司 一种云手机应用远程摄像头的方法、系统和设备
CN115118719A (zh) * 2022-06-20 2022-09-27 福建升腾资讯有限公司 一种云桌面的摄像头设备连接的方法及系统
CN115118719B (zh) * 2022-06-20 2023-11-10 福建升腾资讯有限公司 一种云桌面的摄像头设备连接的方法及系统
CN116074307A (zh) * 2023-01-28 2023-05-05 中科方德软件有限公司 传输方法、装置、电子设备和介质

Also Published As

Publication number Publication date
CN106161541A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
WO2016161749A1 (zh) 数据传输方法、装置和系统
US10915983B2 (en) System for distributed virtualization of GPUs in desktop cloud
JP6055310B2 (ja) 仮想記憶ターゲットオフロード技術
CN105159753B (zh) 加速器虚拟化的方法、装置及集中资源管理器
WO2017020722A1 (zh) 基于虚拟机的数据传输方法、装置及系统
EP3556081A1 (en) Reconfigurable server
EP2597842A1 (en) Providing network capability over a converged interconnect fabric
CN106557444B (zh) 实现sr-iov网卡的方法和装置、实现动态迁移的方法和装置
CN111240631A (zh) 基于AMD显卡虚拟化传输Linux虚拟机屏幕画面的方法及系统
US8265079B2 (en) Discriminatory MTU fragmentation in a logical partition
EP2766817A1 (en) Delivering a single end user experience to a client from multiple servers
CN105049464B (zh) 用于加速网络虚拟化的技术
CN105207975A (zh) 一种vdi架构下的usb图像设备数据传输方法和系统
CN104199716A (zh) 一种虚拟机热迁移的方法、物理主机及系统
WO2010096046A1 (en) Universal serial bus (usb) network transport methods and apparatus
WO2015121750A1 (en) System and method for data communication between virtual interfaces
CN115221089A (zh) 使用主机本地的存储设备进行高效软件定义的网络加速处理的装置、方法和计算机程序产品
WO2022143717A1 (zh) 一种虚拟机迁移方法、装置及系统
WO2012098472A2 (en) Offloading the processing of signals
CN113254129A (zh) 一种云桌面gpu直通虚拟化重定向管理系统及方法
CN117135189A (zh) 服务器的访问方法及装置、存储介质、电子设备
US9229761B2 (en) Generating, at least in part, at least one packet indicating, at least in part, at least one command and/or issuing, at least in part, at least one result of execution, at least in part, of the at least one command
CN105893112B (zh) 一种虚拟化环境下的数据包处理方法及装置
EP4418630A1 (en) Public cloud system and related method thereof
TWI345711B (zh)

Legal Events

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

Ref document number: 15888303

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15888303

Country of ref document: EP

Kind code of ref document: A1