WO2020237581A1 - 使用终端设备打印虚拟机中的文件的方法、装置及系统 - Google Patents

使用终端设备打印虚拟机中的文件的方法、装置及系统 Download PDF

Info

Publication number
WO2020237581A1
WO2020237581A1 PCT/CN2019/089327 CN2019089327W WO2020237581A1 WO 2020237581 A1 WO2020237581 A1 WO 2020237581A1 CN 2019089327 W CN2019089327 W CN 2019089327W WO 2020237581 A1 WO2020237581 A1 WO 2020237581A1
Authority
WO
WIPO (PCT)
Prior art keywords
printer
virtual
terminal device
virtual machine
information
Prior art date
Application number
PCT/CN2019/089327
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 华为技术有限公司
Priority to PCT/CN2019/089327 priority Critical patent/WO2020237581A1/zh
Priority to EP19931336.2A priority patent/EP3958108A4/en
Priority to CN201980003712.XA priority patent/CN112313614B/zh
Publication of WO2020237581A1 publication Critical patent/WO2020237581A1/zh
Priority to US17/536,844 priority patent/US20220083286A1/en

Links

Images

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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00928Initialisation or control of normal start-up or shut-down, i.e. non failure or error related

Definitions

  • This application relates to the field of computer technology, and in particular to a method, device and system for printing files in a virtual machine using a terminal device.
  • a virtual desktop refers to virtualizing the desktop system of a computer for use as a desktop of a virtual machine.
  • the user can use the terminal device to remotely access the virtual machine through the network, and the virtual machine interacts with the user through the virtual desktop.
  • users can work on the terminal device as if they are on a personal computer, for example, use the camera of the terminal device and the video software in the virtual machine to conduct a conference call, and print through the printer connected to the terminal device Files in the virtual machine, writing documents through the keyboard of the terminal device and office software in the virtual machine, etc.
  • the process of a user using a terminal device to print a file in a virtual machine is as follows: the user selects the file to be printed in the virtual machine through the virtual desktop, and configures the printing parameters for the printed file through the configuration interface of the virtual printer installed in the virtual machine, and the virtual machine responds to the user
  • the printing operation generates a portable document format (PDF) file from the file to be printed, and sends the PDF file to the terminal device.
  • PDF portable document format
  • the terminal device s operating system, such as Android System, has a printing interface, so it is receiving When the print request comes, the print configuration interface of the operating system will pop up for the user to select the printer and set the print parameters, and send the print parameters set in the terminal device to the selected printer to print the file.
  • both the virtual machine and the terminal device provide a printing interface for users to configure printing parameters, which makes the file printing process cumbersome.
  • This application provides a method, device, and system for printing files in a virtual machine using a terminal device, so as to solve the problem of cumbersome file printing process in a virtual desktop scenario.
  • the embodiments of the present application provide a method for printing files in a virtual machine using a terminal device.
  • the method is applied to a virtual machine.
  • At least one virtual printer can be installed in the virtual machine.
  • the user accesses the virtual machine through the terminal device.
  • the virtual machine can detect the user's operation and respond to the user's operation to generate a print request.
  • the print request includes the file to be printed and virtual printer information.
  • it can also include the printing parameters of the file to be printed; among them, the virtual printer It corresponds to the printer connected to the terminal device.
  • the virtual printer information can indicate that the virtual printer corresponds to the printer; after the print request is generated, the virtual machine can send a print request to the terminal device, instructing the terminal device to correspond with the virtual printer information
  • the printer prints the file to be printed.
  • the virtual machine when the user needs to print a file, the virtual machine can send virtual printer information in addition to sending the file to be printed. Since the virtual printer information can correspond to the one connected to the terminal device, when the terminal device receives the print request, The printer can be determined based on the virtual printer information, without the need for the user to configure it again, which can effectively shorten the printing time and improve the efficiency of document printing.
  • the virtual machine in order to establish the correspondence between the virtual printer and the printer connected to the terminal device, before generating the print request, the virtual machine can receive the device information of the printer sent by the terminal device, and the device information includes the identifier of the printer; You can install a virtual printer in the virtual machine, and set the virtual printer's identity as the printer's identity.
  • the virtual machine can learn the device information of the printer, so that the virtual printer consistent with the printer ID can be installed during installation, and the corresponding relationship between the virtual printer and the printer connected to the terminal device is established, which can facilitate subsequent users to print files when they need to At the time, the virtual machine indicates the corresponding printer by sending virtual printer information.
  • the device information may also include other information.
  • it may include the printing configuration information supported by the printer.
  • the configuration information configures the virtual printer, so that the configuration of the virtual printer can be set to the same configuration as the corresponding printer.
  • the virtual printer can reflect the configuration information supported by the corresponding printer, and the preview interface of the virtual printer can display the same configuration as the corresponding printer.
  • the virtual machine in addition to installing the virtual machine printer, can also uninstall the virtual printer.
  • the virtual machine can uninstall the virtual printer corresponding to the printer after receiving a notification message from the terminal device indicating that the printer is offline. printer.
  • the virtual machine can uninstall the virtual printer in real time, ensuring that the printer corresponding to the virtual printer can be used for printing, realizing the hot plug function of the printer, and flexibly controlling the installation and uninstallation of the virtual printer.
  • the embodiments of the present application provide a method for printing files in a virtual machine using a terminal device.
  • the method is applied to a terminal device.
  • the terminal device can be connected to one or more printers.
  • the terminal device can receive data from The print request of the virtual machine.
  • the print request includes the file to be printed and virtual printer information.
  • the print request can also include the printing parameters of the file to be printed.
  • the virtual printer indicated by the virtual printer information is installed on the virtual machine and connected to the terminal.
  • the terminal device can determine the printer corresponding to the virtual printer according to the virtual printer information; after the printer is determined, the file to be printed can be printed through the determined printer; for example, the terminal device can The printing parameters of the file to be printed are printed by the determined printer.
  • the virtual printer information can also be used in the print request from the virtual machine received by the terminal device. Since the printer connected to the terminal device corresponds to the virtual printer in the virtual machine one-to-one, the virtual printer information can be passed Determine the corresponding printer so that the user does not need to select the printer again, which can effectively shorten the printing process and improve the efficiency of file printing; if the print request also includes printing parameters, the terminal device can print the file to be printed through the determined printer based on the printing parameters , Also does not require the user to configure the printing parameters again, and can print files more efficiently.
  • the terminal device has the ability to obtain the device information of the printer connected to the terminal device.
  • the device information includes the printer identification; the terminal device can send the installation to the virtual machine Instructions, the installation instructions include device information, and are used to instruct the virtual machine to install the virtual printer according to the device information.
  • the terminal device can send the acquired device information of the printer to the virtual machine, so that the virtual machine can install the corresponding virtual printer locally.
  • the device information may also include other information.
  • it may include printing configuration information supported by the printer.
  • the device information includes the printing configuration information supported by the printer, which enables the virtual machine to locally install a virtual printer with the same configuration as the corresponding printer.
  • the terminal device after the terminal device sends an installation instruction to the virtual machine, if it detects that the printer is offline, it can send a notification message to the virtual machine indicating that the printer is offline.
  • the terminal device can notify the virtual machine that the printer is offline based on the status of the printer in real time, so that the virtual machine can uninstall the virtual printer in real time after receiving the notification message, and can dynamically adjust the correspondence between the virtual printer and the printer .
  • the embodiments of the present application also provide a virtual machine, which can be deployed in a service. At least one virtual printer is installed in the virtual machine. The user can access the virtual machine through a terminal device.
  • the description of one aspect will not be repeated here.
  • the device has the function of realizing the behavior in the method example of the first aspect.
  • the function can be realized by hardware, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the structure of the device includes a request generation unit and a desktop protocol server. These units can perform the corresponding functions in the method example of the first aspect. For details, please refer to the detailed description in the method example, which will not be repeated here. .
  • the embodiments of the present application also provide a terminal device, the terminal device is connected with a printer, and the beneficial effects can be referred to the description of the second aspect, which will not be repeated here.
  • the device has the function of realizing the behavior in the method example of the second aspect.
  • the function can be realized by hardware, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above-mentioned functions.
  • the structure of the device includes a client and a processing module, and these units can perform the corresponding functions in the method example of the second aspect. For details, refer to the detailed description in the method example, which will not be repeated here.
  • the structure of the communication device includes a processor and a memory, and the processor is configured to support the terminal to perform the corresponding functions in the above-mentioned method in the first aspect.
  • the memory is coupled with the processor, and it stores program instructions and data necessary for the communication device.
  • the structure of the communication device also includes a communication interface for communicating with other devices.
  • the embodiments of the present application also provide a terminal device.
  • the structure of the communication device includes a processor and a memory, and the processor is configured to support the terminal to perform the corresponding function in the above-mentioned second aspect method.
  • the memory is coupled with the processor, and it stores program instructions and data necessary for the communication device.
  • the structure of the communication device also includes a communication interface for communicating with other devices.
  • an embodiment of the present application also provides a file printing system, which includes a virtual machine and a terminal device; wherein at least one virtual printer is installed in the virtual machine.
  • the virtual machine can generate a print request in response to a user's operation.
  • the print request includes the file to be printed and virtual printer information, and the virtual printer information corresponds to the printer connected to the terminal device; and can also send all the information to the terminal device.
  • the print request is used to instruct the terminal device to print the file to be printed through a printer corresponding to the virtual printer information.
  • the terminal device is connected with a printer, and the terminal device can receive a print request from the virtual machine; and determine the printer corresponding to the virtual printer according to the virtual printer information; and can also print the file to be printed through the determined printer.
  • the present application also provides a computer-readable storage medium that stores instructions in the computer-readable storage medium, which when run on a computer, causes the computer to execute the methods of the foregoing aspects.
  • this application also provides a computer program product containing instructions, which when run on a computer, causes the computer to execute the methods of the above aspects.
  • the present application also provides a computer chip, which is connected to a memory, and the chip is used to read and execute a software program stored in the memory, and execute the methods of the foregoing aspects.
  • FIG. 1 is an architecture diagram of a network system provided by an embodiment of this application
  • FIG. 2 is a schematic structural diagram of a terminal device provided by an embodiment of the application.
  • FIG. 3 is a schematic structural diagram of a virtual machine provided by an embodiment of the application.
  • FIG. 4 is a schematic diagram of a method for printing a file in a virtual machine using a terminal device according to an embodiment of the application;
  • FIG. 5 is a schematic diagram of a preview interface provided by an embodiment of the application.
  • FIG. 6 is a schematic structural diagram of a virtual machine provided by an embodiment of the application.
  • FIG. 7 is a structural diagram of a terminal device provided by an embodiment of the application.
  • the method and device for printing a file in a virtual machine using a terminal device in this application are based on the same inventive concept. Because the method and device have similar principles for solving problems, the implementation of the device and the method can be referred to each other, and the repetition will not be repeated.
  • the system includes a terminal device 100 and a server 200.
  • the terminal device 100 can be connected to the server 200 via a wireless network or a wired network.
  • the type of network between the terminal device 100 and the server 200 is not limited, and it may be the Internet or a local area network.
  • the server 200 can be deployed in a data center or edge site and has strong computing capabilities; the server 200 can be a super multi-core server, a large distributed computer, a cluster computer with pooled hardware resources, and so on.
  • One or more virtual machines may be deployed in the server 200, and the server 200 allows other devices to remotely access the virtual machines for data transmission.
  • the terminal device 100 in the embodiment of the present application may also be called user equipment (UE).
  • UE user equipment
  • the terminal device 100 may be a device with a transceiver function and a flexible location. For example, it may be deployed on land, including indoor or Outdoor, handheld or vehicle-mounted; it can also be deployed on the water (such as ships, etc.); it can also be deployed in the air (such as airplanes, balloons, and satellites).
  • the terminal device 100 may be a mobile phone (mobile phone), a tablet computer (pad), a notebook computer, a set-top box, a virtual reality (VR) terminal, an augmented reality (AR) terminal, and an industrial control (industrial control)
  • the terminal device 100 may be connected to the printer 300; the terminal device 100 may also establish a connection with one or more virtual machines in the server 200 through the network.
  • the system shown in FIG. 1 may also include one or more printers 300, and the terminal device 100 may be connected to the printer 300 through a wireless interface or a wired interface.
  • the embodiment of the present application does not limit the terminal device 100.
  • the connection with the printer 300 may be a wired connection or a wireless connection, for example.
  • the terminal device 100 may obtain the device information of one or more printers 300 connected to the terminal device 100, and may send the obtained device information to one or more virtual machines in the server 200 through the network.
  • the virtual machine in 200 can locally install a virtual printer corresponding to the printer 300 connected to the terminal device 100. The installation of the virtual printer will be described in detail below.
  • the terminal device 100 includes a processor 110 and a memory 120.
  • the memory 120 may store program instructions.
  • the memory 120 may be volatile.
  • Memory such as random access memory; memory 120 can also be non-volatile memory, such as read only memory, flash memory, hard disk (HDD), solid-state drive (SSD), or other
  • the medium storing the program instructions but is not limited to this; the memory 120 may also be a combination of the foregoing memories.
  • an independent data transceiver module such as a communication interface, may be provided in the terminal device 100 for sending and receiving data; the processor 110 performs data transmission through the communication interface when communicating with other devices.
  • the processor 110 calls program instructions stored in the memory 120 to perform some operations.
  • the processor 110 may be used to execute the method executed by the terminal device 100 in the embodiment shown in FIG. 4.
  • the virtual machine 400 includes a processor 410 and a memory 420.
  • the processor 410 and the memory 410 are virtual machines allocated by the server 200 to the virtual machine 400.
  • the physical entity of the resource is the processor and memory on the server 200.
  • the specific type of the memory 420 and the function corresponding to the processor 410 please refer to the related description of the memory 110 and the processor 120, which will not be repeated here.
  • the processor 410 calls the program instructions stored in the memory 420 to execute the operations indicated by the program instructions, such as executing the file printing method executed by the virtual machine 400 shown in FIG. 4 provided by the embodiment of the present application.
  • one or more virtual printers 430 may be installed in the virtual machine 400, and each virtual printer 430 in the virtual machine 400 corresponds to a printer connected to the terminal device 100.
  • the terminal device 100 After detecting that the printer 300 is connected, the terminal device 100 initiates a request message to the printer 300 for requesting device information of the printer 300. After receiving the request message, the printer 300 feeds back the device information of the printer 300 to the terminal device 100.
  • the embodiment of the present application does not limit the number of printers 300 connected to the terminal device 100, and there may be one or multiple printers.
  • the device information of the printer 300 includes but is not limited to the identification of the printer 300 and the configuration information supported by the printer 300.
  • the embodiment of the application does not limit the type of the identifier of the printer 300. Any information that can uniquely identify the printer 300 can be used as the identifier of the printer 300.
  • the identifier of the printer 300 may be the number configured by the terminal device 100 for the printer 300.
  • the terminal device 100 may set a serial number for the printer 300 according to the connection sequence with the printer 300, or may be the name of the printer 300, or the factory serial number of the printer 300, etc.
  • the configuration information supported by the printer 300 is the printing parameters allowed by the printer 300.
  • the configuration information supported by the printer 300 includes but is not limited to the size of the printing paper supported by the printer 300, the number of pages per page, and the printing parameters supported by the printer 300.
  • Single-sided or double-sided printing printed paper size (such as A4, A5, A6, etc.), page margins, page layout (horizontal, vertical), etc.
  • the terminal device 100 accesses the virtual machine 400, the terminal device 100 obtains the device information of the printer 300 connected to the terminal device 100, generates an installation instruction, carries the device information of the printer 300 in the installation instruction, and sends the installation instruction to Virtual machine 400.
  • the terminal device 100 can send the device information of all printers 300 connected to the terminal device 100 to the virtual machine 400 through an installation instruction, or send device information of some printers 300 connected to the terminal device 100 to the virtual machine 400 through an installation instruction.
  • Device Information
  • the terminal device 100 provides a virtual desktop to log in to the virtual machine 400 through the virtual machine 400, and the terminal device 100 and the virtual machine 400 communicate based on a desktop cloud protocol.
  • the desktop cloud protocol specifies the data exchange method between the terminal device 100 and the virtual machine 400, including data transmission format, packaging requirements, and transmission channel numbers used to transmit different types of data.
  • a client is installed in the terminal device 100 for receiving data sent by the virtual machine 400 over the network, and decapsulating the received network data into data that can be recognized by the terminal device 100;
  • the data to be sent is encapsulated as network data before sending;
  • a server is installed in the virtual machine 400 to receive the network data sent by the terminal device 100 through the network and receive The received network data is decapsulated into data that can be recognized by the virtual machine 400; it is also used to send data to the terminal device 100, and the data to be sent is encapsulated as network data before sending.
  • the client and server in the embodiments of the present application are generally implemented by program instructions stored in the terminal device 100 and the virtual machine 400. In the embodiments of the present application, the improvements mentioned in the embodiments of the present application can be implemented by improving the client and server. Data interaction between the virtual machine 400 and the terminal device 100, such as the sending and receiving of printing instructions, installation instructions, and notification messages.
  • the virtual machine 400 After the virtual machine 400 receives the installation instruction, the virtual machine 400 installs the virtual printer 430 corresponding to the device information of the printer 300 carried in the installation instruction on the virtual machine 400 according to the installation instruction. If the device information includes the device information of a printer 300, the virtual machine 400 installs a virtual printer 430, which corresponds to the printer 300; if the device information includes the device information of multiple printers 300, the virtual machine 400 installs multiple virtual printers 430, and one virtual printer 430 corresponds to one printer 300.
  • the virtual machine 400 may configure the virtual printer 430 based on the device information.
  • the virtual machine 400 may set the identifier of the virtual printer 430, and set the identifier of the virtual printer 430 as the identifier of the corresponding printer 300.
  • the virtual machine 400 can also set the attribute information of the virtual printer 430.
  • the virtual machine 400 can configure the virtual printer 430 according to the configuration information supported by the printer 300, and set the virtual printer 430 with the same configuration as the corresponding printer 300. In this way, when the user performs file printing, the configured printing parameters are selected based on the configuration supported by the printer 300 corresponding to the virtual printer 430. In this way, there is a one-to-one correspondence between the virtual printer 430 and the printer 300, and the user can select the printer 300 connected to the terminal device 100 in the virtual machine 400 to print files.
  • the configuration information supported by the multiple printers 300 connected to the terminal device 100 is usually the same, for example, they all support single-sided and double-sided printing, which can print multiple pages in one page;
  • the transmitted printing information may include the identifications of multiple printers 300 and a piece of configuration information, which can effectively reduce the amount of data transmission and improve the efficiency of data transmission.
  • the device information may also only include the identifier of the printer 300, and does not carry the configuration information supported by the printer 300.
  • the configuration information of each virtual machine 400 may adopt a general configuration.
  • the description is based on an example in which the terminal device 100 sends an installation instruction when accessing the virtual machine 400 for the first time. If a connection has been established between the terminal device 100 and the virtual machine 400, at this time, if a printer 300 is connected to the terminal device 100, the terminal device 100 can obtain the device information of the printer 300 and send the device information of the printer 300 to the virtual machine 400 to install a virtual printer 430 corresponding to the printer 300 in the virtual machine 400.
  • the virtual machine 400 locally installs the virtual printer 430 corresponding to the printer 300 connected to the terminal device 100 in a one-to-one manner.
  • the virtual machine 400 can also uninstall the virtual printer 430 in real time.
  • the terminal device 100 detects that one or more of the connected printers 300 are offline, the terminal device 100 can send a notification message to the virtual machine 400 indicating that the printer 300 is offline.
  • the notification message can carry the identifier of the offline printer 300. .
  • the virtual machine 400 can uninstall the virtual printer 430 corresponding to the offline printer 300.
  • the printer 300 offline means that the printer 300 cannot print; there are many situations where the printer 300 cannot print, for example, the printer 300 is turned off, the printer 300 is disconnected from the terminal device 100, and the printer 300 fails to initiate Alarm messages and so on.
  • the above states are only examples. Any state that causes the printer 300 to not continue printing can be referred to as the printer 300 being offline.
  • the user can use the terminal device 100 to print the files in the virtual machine 400, as shown in FIG. 4 specifically.
  • this is a flowchart of a method for printing a file in a virtual machine 400 by using a terminal device 100 in an embodiment of the application, and the method includes:
  • Step 401 The virtual machine 400 generates a print request in response to the user's operation, and the print request includes the file to be printed and the virtual printer 430 information.
  • the virtual machine 400 After the virtual machine 400 detects the user's operation, such as opening a file, selecting printing parameters (such as selecting single/double-sided printing, the number of pages per page and other printing parameters), and selecting a virtual printer 430, it generates a printing request. As shown in FIG. 5, after the user selects the printing menu on the virtual desktop, the virtual machine 400 pops up a printing interface, and the user selects the virtual printer 430 on the printing interface and configures printing parameters. When the user selects the printing parameters and clicks the OK button, the virtual machine 400 generates a print request, and the print request carries the file to be printed and the virtual printer 430 information.
  • the virtual printer 430 information includes the identification of the virtual printer 430 and the user selection Set printing parameters, etc.
  • Step 402 After the virtual machine 400 generates a print request, it sends a print request to the terminal device 100.
  • the print request is used to instruct the terminal device 100 to print the file to be printed through the printer 300 corresponding to the virtual printer 430 information.
  • the server in the virtual machine 400 can encapsulate the file to be printed and the information of the virtual printer 430 based on the desktop cloud protocol, and carry the encapsulated file to be printed virtual printer 430 information in the print request and send it to the client in the terminal device 100 .
  • Step 403 After receiving the print request, the terminal device 100 determines the printer 300 corresponding to the virtual printer 430 according to the virtual printer 430 information.
  • the client in the terminal device 100 After receiving the print request, the client in the terminal device 100 decapsulates based on the desktop cloud protocol to obtain the file to be printed and the virtual printer 430 information.
  • the terminal device 100 can determine the printer 300 corresponding to the virtual printer 430 according to the virtual printer 430 information.
  • the terminal device 100 can determine the virtual printer through the virtual printer 430 identifier. 430 corresponds to the printer 300.
  • Step 404 The terminal device 100 prints the file to be printed through the determined printer 300.
  • the terminal device 100 determines the printer that prints the file according to the identification of the virtual printer 430 300 identification, and determine the printing parameters used in the print file according to the printing parameters in the printing instruction, and transmit the determined identification and printing parameters of the printer 300 to the printing interface of the terminal device 100 for file printing, and make the printing interface not Then the print interface pops up to let the user select the printer and print parameters.
  • the printing interface needs to pop up a printing interface for the user to input printing parameters each time printing.
  • the printing interface will print the file according to the printing parameters input by the user through the printing interface.
  • the printing interface provided by the Android system can directly receive the printing parameters transmitted by the virtual machine 400 to print the file without displaying the printing.
  • the interface allows the user to select the printer and print parameters again.
  • the printing interface is an application programming interface (API) with printing function provided by the system layer, and the terminal device 100 can call the API to implement printing parameter settings.
  • API application programming interface
  • the terminal device 100 may also notify the virtual machine 400 of offline information of the printer 300, for example, step 405 may be performed.
  • Step 405 The terminal device 100 sends a notification message to the virtual machine 400 indicating that the printer 300 is offline.
  • the terminal device 100 When the terminal device 100 detects that one or more printers 300 are offline, it may send a notification message to the virtual machine 400.
  • the notification message may carry the identifier of the offline printer 300.
  • Step 406 After receiving the notification message, the virtual machine 400 uninstalls the virtual printer 430 corresponding to the printer 300.
  • the virtual machine 400 may determine the offline printer 300 and the virtual printer 430 corresponding to the printer 300 according to the identifier of the printer 300 carried in the notification message, and uninstall the determined virtual printer 430.
  • the virtual machine 400 after the virtual machine 400 detects the user's operation, it can generate a print request, which carries the file to be printed and the virtual printer 430 information, and sends the print request to the terminal device 100.
  • the terminal device 100 After receiving the print request, the printer 300 corresponding to the virtual printer 430 can be determined through the information of the virtual printer 430, and printing is performed through the printer 300. It can be seen from the above that the virtual printer 430 installed in the virtual machine 400 corresponds to the printer 300 of the terminal device 100 one-to-one.
  • the terminal device 100 can be notified of the virtual printer 430 by sending the virtual printer 430 information.
  • the printer 430 corresponds to the printer 300, so that the terminal device 100 can directly print the print file without popping up the interface again for the user to select the printer, which can effectively simplify the printing process and improve the printing efficiency.
  • the embodiment of the present application also provides a virtual machine for executing the method executed by the virtual machine in the above method embodiment.
  • the virtual machine is installed with at least one virtual printer, and the user accesses the virtual machine through a terminal device.
  • the virtual machine includes a request generation unit 601 and a transmission unit 602.
  • the request generation unit 601 and the transmission unit 602 are virtual The sub-module of the server in the machine 400.
  • the request generation unit 601 is configured to generate a print request in response to a user's operation.
  • the print request includes the file to be printed and virtual printer information, and the virtual printer information corresponds to the printer connected to the terminal device.
  • the request generating unit 601 is specifically configured to execute the method executed by the virtual machine 400 in step 401 in FIG. 4.
  • the transmission unit 602 is configured to send a print request to the terminal device, and the print request is used to instruct the terminal device to print the file to be printed through the printer corresponding to the virtual printer information.
  • the transmission unit 602 is specifically configured to execute the method executed by the virtual machine 400 in step 402 in FIG. 4.
  • the virtual machine further includes an installation unit 603;
  • the transmission unit 602 can receive the device information of the printer sent by the terminal device before generating the print request, the device information includes the identifier of the printer, and then the installation unit 603 can install the virtual printer in the virtual machine ,
  • the identifier of the virtual printer is set as the identifier of the printer, and the installation unit 603 is also a sub-module of the server.
  • the device information also includes printing configuration information supported by the printer, and when installing the virtual printer in the virtual machine, the installation unit 603 can configure the virtual printer according to the printing configuration information supported by the printer.
  • the transmission unit 602 may also receive a notification message sent by the terminal device indicating that the printer is offline: the installation unit 603 may uninstall the virtual printer corresponding to the printer after the transmission unit 602 receives the notification message indicating that the printer is offline sent by the terminal device .
  • the transmission unit 602 is specifically configured to execute the data transceiving operation performed by the virtual machine 400 during the process of installing the virtual printer 430 in the virtual machine 400 in the foregoing method embodiment and the operation of receiving notification messages in step 406;
  • the installation unit 603 is specifically configured to perform the foregoing In the method embodiment, during the process of installing the virtual printer 430 in the virtual machine 400, the virtual machine 400 performs the installation operation of the virtual machine printer and the uninstallation operation of the virtual printer in step 406.
  • the embodiment of the present application also provides a terminal device for executing the method executed by the terminal device in the above method embodiment.
  • the terminal device is connected with a printer.
  • the terminal device includes a transmission unit 701 and a processing module 702.
  • the transmission unit 701 and the processing module 702 are sub-modules of the client in the terminal device 100.
  • the transmission unit 701 is configured to receive a print request from a virtual machine.
  • the print request includes a file to be printed and virtual printer information.
  • the virtual printer indicated by the virtual printer information is installed on the virtual machine and corresponds to the printer.
  • the transmission unit 701 is specifically configured to perform the receiving operation of the print request performed by the terminal device 100 in step 403 in FIG. 4.
  • the processing module 702 is configured to determine a printer corresponding to the virtual printer according to the virtual printer information; and print the file to be printed through the determined printer.
  • the processing module 702 is specifically configured to perform operations of determining a printer and printing a file by the terminal device 100 in step 403 in FIG. 4.
  • the processing unit 702 may also obtain device information of a printer connected to the terminal device, the device information includes the printer identifier; the transmission unit 701 may send an installation instruction to the virtual machine, and the installation instruction includes device information for instructing the virtual machine according to Device information to install a virtual printer.
  • the device information also includes printing configuration information supported by the printer.
  • the processing unit 702 may detect that the printer is offline, and when the processing unit 702 detects that the printer is offline, the transmission unit 701 may send a notification message to the virtual machine indicating that the printer is offline.
  • the transmission unit 701 is specifically configured to perform the data transceiving operation performed by the terminal device 100 during the process of installing the virtual printer 430 in the virtual machine 400 in the foregoing method embodiment and the notification message sending operation in step 405; the processing unit 702 is specifically configured to perform the foregoing In the method embodiment, in the process of installing the virtual printer 430 in the virtual machine 400, the terminal device 100 performs the acquisition of the device information of the printer and the operation of detecting that the printer is offline.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including a number of instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .
  • the functions/implementation processes of the processing unit 702 and the transmission unit 701 in FIG. 7 may be implemented by the processor 110 in FIG. 2 calling a computer execution instruction stored in the memory 120.
  • the function/implementation process of the processing unit 702 in FIG. 7 may be implemented by the processor 110 in FIG. 2 calling computer execution instructions stored in the memory 120, and the function/implementation process of the transmission unit 701 in FIG. 7 may be implemented through communication. Interface to achieve.
  • the functions/implementation processes of the request generation unit 601, the transmission unit 602, and the installation unit 603 in FIG. 6 can all be implemented by the processor 410 in FIG. 3 calling the computer execution instructions stored in the memory 420.
  • the function/implementation process of the request generation unit 601 and the installation unit 603 in FIG. 6 can be implemented by the processor 410 in FIG. 3 calling a computer execution instruction stored in the memory 420, and the function/implementation process of the transmission unit 602 in FIG. 7
  • the realization process can be realized through the communication interface.
  • This application can be provided as methods, systems, or computer program products.
  • This application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.

Abstract

使用终端设备打印虚拟机中的文件的方法、装置及系统,用以解决虚拟桌面场景下,文件打印过程较为繁琐的问题。本申请中,虚拟机可以响应用户的操作,生成打印请求,打印请求包括待打印文件及虚拟打印机信息,可选的,还可以包括待打印文件的打印参数;其中,虚拟打印机与终端设备所连接的打印机是对应的,虚拟打印机信息可以指示该虚拟打印机所对应的打印机;在生成了打印请求后,虚拟机可以向终端设备发送打印请求,指示终端设备通过虚拟打印机信息对应的打印机打印待打印文件。当终端设备接收到打印请求后,可以根据虚拟打印机信息确定打印机,不需要用户再次配置,这样可以有效缩短打印时间,提高文件打印效率。

Description

使用终端设备打印虚拟机中的文件的方法、装置及系统 技术领域
本申请涉及计算机技术领域,尤其涉及使用终端设备打印虚拟机中的文件的方法、装置及系统。
背景技术
虚拟桌面是指将计算机的桌面系统虚拟化,以作为虚拟机的桌面使用。用户可以使用终端设备经过网络远程访问虚拟机,虚拟机通过虚拟桌面与用户进行交互。在登录虚拟机后,通过虚拟桌面,用户在终端设备上可以像在个人计算机上一样进行办公,例如,通过终端设备的摄像头和虚拟机中视频软件进行电话会议、通过连接至终端设备的打印机打印虚拟机中的文件、通过终端设备的键盘及虚拟机中的办公软件撰写文档等等。
用户在使用终端设备打印虚拟机中的文件的过程如下:用户通过虚拟桌面选中虚拟机中待打印文件,并通过虚拟机中安装的虚拟打印机的配置界面对待打印文件配置打印参数,虚拟机响应用户的打印操作将待打印文件生成便携式文件格式(portable document format,PDF)文件,并将PDF文件发送给终端设备,终端设备的操作系统,例如安卓系统(Android System)本身具有打印接口,所以在接收到打印请求时,会弹出操作系统自带的打印配置界面,供用户选择打印机并设置打印参数,并将在终端设备设置的打印参数发送至所选择的打印机对文件进行打印。
通过上述方法打印文件,虚拟机及终端设备均提供打印界面让用户配置打印参数,致使文件打印过程繁琐。
发明内容
本申请提供一种使用终端设备打印虚拟机中的文件的方法、装置及系统,用以解决虚拟桌面场景下,文件打印过程较为繁琐的问题。
第一方面,本申请实施例提供了一种使用终端设备打印虚拟机中的文件的方法,该方法应用于虚拟机,虚拟机中可以安装至少一个虚拟打印机,用户通过终端设备访问虚拟机,在该方法中,虚拟机可以检测用户的操作,响应用户的操作,生成打印请求,打印请求包括待打印文件及虚拟打印机信息,可选的,还可以包括待打印文件的打印参数;其中,虚拟打印机与终端设备所连接的打印机是对应的,虚拟打印机信息可以指示该虚拟打印机所对应的打印机对应;在生成了打印请求后,虚拟机可以向终端设备发送打印请求,指示终端设备通过虚拟打印机信息对应的打印机打印待打印文件。
通过上述方法,在用户需要打印文件时,虚拟机除了发送待打印文件还可以发送虚拟打印机信息,由于虚拟打印机信息能够与终端设备所连接的一个对应,这样当终端设备接收到打印请求后,就可以根据虚拟打印机信息确定打印机,不需要用户再次配置,这样可以有效缩短打印时间,提高文件打印效率。
在一个可能的设计中,为了建立虚拟打印机与终端设备所连接的打印机的对应关系,在生成打印请求之前,虚拟机可以接收终端设备发送的打印机的设备信息,设备信息包括打印机的标识;之后,可以在虚拟机中安装虚拟打印机,并将虚拟打印机的标识设置为打 印机的标识。
通过上述方法,虚拟机可以获知打印机的设备信息,这样在安装是可以安装与打印机标识一致的虚拟打印机,建立了虚拟打印机与终端设备所连接的打印机的对应关系,可以方便后续用户在需要打印文件时,虚拟机通过发送虚拟打印机信息指示对应的打印机。
在一个可能的设计中,设备信息除了打印机标识外,还可以包括其他信息,示例性的,可以包括打印机所支持的打印配置信息,在虚拟机中安装虚拟打印机时,可以根据打印机所支持的打印配置信息对虚拟打印机进行配置,这样可以将虚拟打印机的配置设置为与对应的打印机相同的配置。
通过上述方法,通过将虚拟打印机的配置设置为与对应的打印机相同的配置,可以使得虚拟打印机能够反映出对应打印机所支持的配置信息,虚拟打印机的预览界面可以显示与对应的打印机相同的配置。
在一个可能的设计中,除了安装虚拟机打印机外,虚拟机还可以卸载虚拟打印机,示例性的,虚拟机在接收到终端设备发送的指示打印机离线的通知消息后,可以卸载与打印机对应的虚拟打印机。
通过上述方法,打印机离线时,虚拟机可以实时的卸载虚拟打印机,保证虚拟打印机对应的打印机可以用于打印,实现了打印机的热插拔功能,能够灵活的控制虚拟打印机的安装与卸载。
第二方面,本申请实施例提供了一种使用终端设备打印虚拟机中的文件的方法,该方法应用于终端设备,终端设备可以连接一个或多个打印机,该方法中:终端设备可以接收来自虚拟机的打印请求,打印请求包括待打印文件及虚拟打印机信息,可选的,打印请求中还可以包括待打印文件的打印参数,虚拟打印机信息所指示的虚拟打印机安装在虚拟机上且与终端设备所连接的一个打印机对应的;之后,终端设备可以根据虚拟打印机信息确定虚拟打印机对应的打印机;在确定了打印机之后,可以通过所确定的打印机打印待打印文件;示例性的,终端设备可以根据待打印文件的打印参数通过所确定的打印机打印待打印文件。
通过上述方法,终端设备接收的来自虚拟机的打印请求中除了待打印文件外,还可以虚拟打印机信息,由于终端设备所连接的打印机与虚拟机中虚拟打印机一一对应,故而可以通过虚拟打印机信息确定对应的打印机,这样就不需要用户再次选择打印机,能够有效缩短打印流程,提高文件打印效率;如打印请求中还包括打印参数,终端设备可以基于打印参数,通过所确定的打印机打印待打印文件,同样也不需要用户再次配置打印参数,可以更加高效的进行文件打印。
在一个可能的设计中,终端设备具有获取连接至终端设备的打印机的设备信息的能力,在获取连接至终端设备的打印机的设备信息,设备信息包括打印机的标识;终端设备可以向虚拟机发送安装指令,安装指令包括设备信息,用于指示虚拟机根据设备信息安装虚拟打印机。
通过上述方法,终端设备可以将获取的打印机的设备信息发送给虚拟机,以便虚拟机可以在本地安装对应的虚拟打印机。
在一个可能的设计中,设备信息除了打印机标识外,还可以包括其他信息,示例性的,可以包括打印机所支持的打印配置信息。
通过上述方法,设备信息包括打印机所支持的打印配置信息,可以使得虚拟机在本地 安装与对应的打印机配置相同的虚拟打印机。
在一个可能的设计中,终端设备在向虚拟机发送安装指令之后,若检测到打印机离线,可以向虚拟机发送指示打印机已离线的通知消息。
通过上述方法,终端设备设备可以实时的根据打印机的状态,通知虚拟机打印机已离线,以便虚拟机可以在接收到通知消息后,实时的卸载虚拟打印机,可以动态的调整虚拟打印机与打印机的对应关系。
第三方面,本申请实施例还提供了一种虚拟机,该虚拟机可以部署在服务中,虚拟机中安装至少一个虚拟打印机,用户可以通过终端设备访问所述虚拟机,有益效果可以参见第一方面的描述此处不再赘述。该装置具有实现上述第一方面的方法实例中行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,装置的结构中包括请求生成单元、桌面协议服务端,这些单元可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第四方面,本申请实施例还提供了一种终端设备,终端设备连接有打印机,有益效果可以参见第二方面的描述此处不再赘述。该装置具有实现上述第二方面的方法实例中行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,装置的结构中包括客户端以及处理模块,这些单元可以执行上述第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第五方面,本申请实施例还提供了一种虚拟机,有益效果可以参见第一方面的描述此处不再赘述。通信装置的结构中包括处理器和存储器,处理器被配置为支持终端执行上述第一方面方法中相应的功能。存储器与处理器耦合,其保存通信装置必要的程序指令和数据。通信装置的结构中还包括通信接口,用于与其他设备进行通信。
第六方面,本申请实施例还提供了一种终端设备,有益效果可以参见第二方面的描述此处不再赘述。通信装置的结构中包括处理器和存储器,处理器被配置为支持终端执行上述第二方面方法中相应的功能。存储器与处理器耦合,其保存通信装置必要的程序指令和数据。通信装置的结构中还包括通信接口,用于与其他设备进行通信。
第七方面,本申请实施例还提供了一种文件打印系统,该系统包括虚拟机和终端设备;其中,虚拟机中安装至少一个虚拟打印机。虚拟机可以响应用户的操作,生成打印请求,所述打印请求包括待打印文件及虚拟打印机信息,所述虚拟打印机信息与所述终端设备所连接的打印机对应;还可以向所述终端设备发送所述打印请求,所述打印请求用于指示所述终端设备通过所述虚拟打印机信息对应的打印机打印所述待打印文件。
终端设备连接有打印机,终端设备可以接收来自所述虚拟机的打印请求;以及根据所述虚拟打印机信息确定所述虚拟打印机对应的打印机;还可以通过所确定的打印机打印所述待打印文件。
第八方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第九方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第十方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行 存储器中存储的软件程序,执行上述各方面的方法。
附图说明
图1为本申请实施例提供的一种网络系统的架构图;
图2为本申请实施例提供的一种终端设备的结构示意图;
图3为本申请实施例提供的一种虚拟机的结构示意图;
图4为本申请实施例提供的一种使用终端设备打印虚拟机中的文件的方法示意图;
图5为本申请实施例提供的一种预览界面的示意图;
图6为本申请实施例提供的一种虚拟机的结构示意图;
图7为本申请实施例提供的一种终端设备的结构图。
具体实施方式
本申请使用终端设备打印虚拟机中的文件的方法及装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
如图1所示,为本申请实施例所适用的系统的架构图,所述系统包括终端设备100和服务器200,终端设备100可以通过无线网络或有线网络与服务器200连接,本申请实施例并不限定终端设备100与服务器200之间的网络的类型,可以是互联网(internet),也可以是局域网。
在本申请实施例中服务器200可以部署在数据中心或边缘站点,具备较强的计算能力;该服务器200可以是超多核服务器、大型的分布式计算机、硬件资源池化的集群计算机等等。该服务器200中可以部署一个或多个虚拟机,该服务器200允许其他设备远程接入虚拟机,进行数据传输。
本申请实施例中终端设备100,也可以称为用户设备(user equipment,UE),终端设备100可以是一种具有收发功能、位置可灵活变更的设备,如可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。终端设备100可以是手机(mobile phone)、平板电脑(pad)、笔记本型电脑、机顶盒、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的终端、智能电网(smart grid)中的终端、运输安全(transportation safety)中的终端、智慧城市(smart city)中的终端、智慧家庭(smart home)中的终端等。本申请实施例中,终端设备100可以与打印机300连接;终端设备100还可以通过网络与服务器200中的一个或多个虚拟机建立连接。
在本申请实施例中,如图1所示的系统中还可以包括一个或多个打印机300,终端设备100可以通过无线接口或有线接口与打印机300连接,本申请实施例并不限定终端设备100与打印机300的连接方式,例如可以是有线连接也可以是无线连接。
在本申请实施例中,终端设备100可以获取与终端设备100连接的一个或多个打印机300的设备信息,可以通过网络将获取的设备信息发送给服务器200中的一个或多个虚拟机,服务器200中的虚拟机可以在本地安装与终端设备100连接的打印机300对应的虚拟打印机,关于虚拟打印机的安装将在下文详细描述。
如图2所示,为本申请实施例提供的终端设备100的结构示意图,终端设备100中包括处理器110和存储器120,存储器120可以存储程序指令,示例性的,存储器120可以是易失性存储器,例如随机存取存储器;存储器120也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD),固态硬盘(solid-state drive,SSD),或者其他可以存储程序指令的介质,但不限于此;存储器120也可以是上述存储器的组合。
在如图2装置中,终端设备100中还可以设置独立的数据收发模块,例如通信接口,用于收发数据;处理器110在与其他设备进行通信时,通过通信接口进行数据传输。处理器110调用存储器120中存储的程序指令执行一些操作,如处理器110可以用于执行图4所示的实施例中终端设备100所执行的方法。
如图3所示,为本申请实施例提供的一种虚拟机的结构示意图,虚拟机400中包括处理器410以及存储器420,该处理器410和存储器410是服务器200分配给虚拟机400的虚拟资源,其物理实体为服务器200上的处理器和存储器。存储器420的具体类型以及处理器410对应的功能可以参见存储器110和处理器120的相关说明,此处不再赘述。
处理器410调用存储器420中存储的程序指令执行所述程序指令所指示的操作,如执行本申请实施例提供的图4所示的虚拟机400所执行的文件打印方法。
在本申请实施例中,虚拟机400中可以安装一个或多个虚拟打印机430,虚拟机400中的每个虚拟打印机430与终端设备100所连接的一个打印机对应。
下面对虚拟机400中安装虚拟打印机430的过程进行说明,具体如下:
终端设备100在检测到打印机300接入后,向打印机300发起请求消息,用于请求打印机300的设备信息,打印机300在接收到该请求消息后,向终端设备100反馈打印机300的设备信息。本申请实施例并不限定终端设备100连接的打印机300数量,可以是一个,也可以是多个。
打印机300的设备信息包括但不限于打印机300的标识、打印机300所支持的配置信息。本申请实施例并不限定打印机300的标识的类型,凡是可以唯一标识打印机300的信息均可用作打印机300的标识,示例性的,打印机300的标识可以是终端设备100为打印机300配置的编号,如终端设备100可以按照与打印机300的连接顺序为打印机300设置编号,也可以是打印机300名称,还可以打印机300的出厂序列号等。打印机300所支持的配置信息,为打印机300所允许设置的打印参数,打印机300所支持的配置信息包括但不限于打印机300所支持的打印纸张的大小、每版容纳的页面数量、打印机300支持的单面或双面打印、打印的纸张大小(如A4、A5、A6等)、页面边距、页面的排布方式(横向、纵向)等。
当终端设备100接入虚拟机400后,终端设备100获取终端设备100所连接的打印机300的设备信息,生成安装指令,将打印机300的设备信息携带在安装指令中,并将该安装指令发送给虚拟机400。
需要说明的是,终端设备100可以通过安装指令向虚拟机400发送终端设备100所连接的所有打印机300的设备信息,也可以通过安装指令向虚拟机400发送终端设备100所连接的部分打印机300的设备信息。
在本申请实施例中,所述终端设备100通过虚拟机400提供虚拟桌面登陆至所述虚拟机400,且所述终端设备100和虚拟机400基于桌面云协议进行通信。桌面云协议规定了终端设备100与虚拟机400数据交换的方式,其中包括数据传输的格式、封装要求、传输 不同类型的数据所采用的传输通道号等。为了通过桌面云协议通信,在终端设备100中安装有客户端,用于接收虚拟机400通过网络发送的数据,并将接收到的网络数据解封装为终端设备100所能识别的数据;还用于向虚拟机400发送数据,在发送之前将待发送的数据进行封装为网络数据;相应的,在虚拟机400安装有服务端,用于接收终端设备100通过网络发送的网络数据,并将接收到的网络数据解封装为虚拟机400能够识别的数据;还用于向终端设备100发送数据,在发送之前将待发送的数据封装为网络数据。本申请实施例中的客户端和服务端一般由存储在终端设备100及虚拟机400中的程序指令实现,本申请实施例中通过对客户端和服务器端的改进可以实现本申请实施例提及的虚拟机400和终端设备100之间的数据交互,如打印指令、安装指令以及通知消息等的发送和接收等。
虚拟机400在接收到所述安装指令后,虚拟机400根据该安装指令在虚拟机400上安装与该安装指令中所携带的打印机300设备信息对应的虚拟打印机430。若该设备信息中包括一个打印机300的设备信息,则虚拟机400安装一个虚拟打印机430,该虚拟打印机430与该打印机300对应;若该设备信息中包括多个打印机300的设备信息,则虚拟机400安装多个虚拟打印机430,一个虚拟打印机430对应一个打印机300。
为了保证一个虚拟打印机430与一个打印机300对应,虚拟机400可以基于设备信息对虚拟打印机430进行一些配置。示例性的,虚拟机400可以设置虚拟打印机430的标识,将虚拟打印机430的标识设置为对应的打印机300的标识。虚拟机400还可以设置虚拟打印机430的属性信息,例如虚拟机400可以根据打印机300所支持的配置信息对虚拟打印机430进行配置,对虚拟打印机430设置与对应打印机300相同的配置。这样,用户在进行文件打印时,配置的打印参数是基于虚拟打印机430对应的打印机300所支持的配置进行选择的。采用这种方式虚拟打印机430与打印机300存在一一对应的关系,用户可在虚拟机400中选择连接在终端设备100的打印机300打印文件。
作为一种可能的实施方式,由于终端设备100所连接的多个打印机300所支持的配置信息通常是一致的,例如均支持单双面打印,均可以在一版中打印多页;在终端设备100传输多个打印机300的设备信息时,所传输的打印信息可以包括多个打印机300的标识以及一份配置信息,这样可以有效减少数据传输量,提高数据传输效率。
作为另一种可能的实施方式,设备信息中也可以只包括打印机300的标识,不携带打印机300所支持的配置信息。虚拟机400在安装虚拟打印机430时,每个虚拟机400的配置信息可以采用通用配置。
需要说明的是,在上述说明中,是以终端设备100在首次接入虚拟机400时,发送安装指令为例进行说明的。如果在终端设备100与虚拟机400已经建立连接,这时,如果有打印机300接入终端设备100时,则终端设备100可以获取打印机300的设备信息,并将打印机300的设备信息发送至虚拟机400,以在虚拟机400中安装与该打印机300对应的虚拟打印机430。
上述过程中,虚拟机400在本地安装了与终端设备100所连接的打印机300一一对应的虚拟打印机430。当然,虚拟机400也可以实时的卸载虚拟打印机430。当终端设备100检测到所连接的一个或多个打印机300离线时,终端设备100设备可以向虚拟机400发送指示打印机300已离线的通知消息,该通知消息中可以携带已离线的打印机300的标识。虚拟机400在接收到该通知消息后,可以卸载与离线的打印机300对应的虚拟打印机430。
在本申请实施例中,打印机300离线是指打印机300无法打印;打印机300无法打印 的情况有许多种,例如,打印机300处于关机状态、打印机300与终端设备100断开连接、打印机300发生故障发起报警消息等等,上述状态仅是举例,凡是导致打印机300不能继续打印的状态,均可以称为打印机300离线。
在虚拟机400中安装了与终端设备100所连接的打印机300对应的虚拟打印机430后,用户可以使用所述终端设备100打印虚拟机400中的文件,具体如图4所示。
如图4所示,为本申请实施例中使用终端设备100对虚拟机400中的文件进行打印的方法的流程图,该方法包括:
步骤401:虚拟机400响应用户的操作,生成打印请求,打印请求包括待打印文件及虚拟打印机430信息。
虚拟机400在检测到用户的操作后,如打开文件、选择打印参数(如选择单/双面打印、每版的页数等打印参数)以及选择虚拟打印机430,产生打印请求。如图5所示,在用户在虚拟桌面上选择了打印的菜单后,虚拟机400弹出打印界面,用户在打印界面上选择虚拟打印机430,及配置打印参数。当用户选定打印参数,点击确定按钮后,虚拟机400即产生打印请求,且打印请求中携带待打印的文件及虚拟打印机430信息,所述虚拟打印机430信息包括虚拟打印机430的标识及用户选定的打印参数等。
步骤402:虚拟机400在生成打印请求后,向终端设备100发送打印请求,打印请求用于指示终端设备100通过虚拟打印机430信息对应的打印机300打印待打印文件。
虚拟机400中的服务端可以基于桌面云协议,将待打印文件及虚拟打印机430信息进行封装,将封装后的待打印文件虚拟打印机430信息携带在打印请求中发送给终端设备100中的客户端。
步骤403:终端设备100接收到该打印请求后,根据虚拟打印机430信息确定虚拟打印机430对应的打印机300。
终端设备100中的客户端在接收到打印请求后,基于桌面云协议进行解封装,获取待打印文件及虚拟打印机430信息。
终端设备100可以根据虚拟打印机430信息确定虚拟打印机430对应的打印机300,当虚拟打印机430信息所包括的虚拟打印机430标识与打印机300的标识相同时,终端设备100可以通过虚拟打印机430标识确定虚拟打印机430对应的打印机300。
步骤404:终端设备100通过所确定的打印机300打印待打印文件。
在本发明实施例中,由于虚拟机400传输的打印请求中包含了虚拟打印机430的信息,例如虚拟打印机430的标识、以及打印参数,则终端设备100根据虚拟打印机430的标识确定打印文件的打印机300标识,并根据打印指令中的打印参数确定打印文件的所采用的打印参数,并将确定的打印机300的标识及打印参数传输给终端设备100的打印接口进行文件的打印,并使打印接口不再弹出打印界面让用户去选择打印机及打印参数。例如,以设备终端安装的Android系统为例,由于Android系统提供了打印接口,所以在每次打印的时候,所述打印接口需要弹出打印界面供用户输入打印参数。打印接口会根据用户通过打印界面输入的打印参数进行文件的打印,而在本发明实施例,Android系统提供的打印接口可直接接收虚拟机400传输的打印参数对文件进行打印,而不需要显示打印界面让用户再次选择打印机及打印参数。
该打印接口是系统层提供的具备打印功能的应用程序编程接口(application  programming interface,API),终端设备100可以调用API实现打印参数的设置。
终端设备100除了告知虚拟机400与终端设备100连接的打印机300的设备信息,还可以通知虚拟机400打印机300的离线信息,如可以执行步骤405。
步骤405:终端设备100向虚拟机400发送的指示打印机300离线的通知消息。
当终端设备100检测到一个或多个打印机300离线时,可以向虚拟机400发送通知消息。示例性的,通知消息中可以携带离线的打印机300的标识。
步骤406:虚拟机400接收到该通知消息后,卸载与打印机300对应的虚拟打印机430。
虚拟机400可以根据通知消息中携带的打印机300的标识确定离线的打印机300,以及与该打印机300对应的虚拟打印机430,将确定的虚拟打印机430卸载。
通过步骤405~406,实现了虚拟打印机430的实时卸载。
在本申请实施例中,虚拟机400在检测到用户的操作后,可以生成打印请求,其中携带了包括了待打印文件以及虚拟打印机430信息,并将打印请求发送给终端设备100,终端设备100在接收到打印请求后,可以通过虚拟打印机430信息确定虚拟打印机430对应的打印机300,通过该打印机300进行打印。有上可知,虚拟机400中安装的虚拟打印机430是与终端设备100的打印机300一一对应的,虚拟机400与终端设备100在交互时,可以通过发送虚拟打印机430信息告知终端设备100该虚拟打印机430对应的打印机300,这样终端设备100可以直接对打印文件进行打印,不需要再次弹出界面让用户选择打印机,能够有效的简化打印流程,提高打印效率。
基于与方法实施例同一发明构思,本申请实施例还提供了一种虚拟机,用于执行上述方法实施例中虚拟机执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图6所示,该虚拟机安装至少一个虚拟打印机,用户通过终端设备访问虚拟机,该虚拟机包括请求生成单元601、传输单元602,其中,所述请求生成单元601及传输单元602为虚拟机400中的服务端的子模块。
请求生成单元601,用于响应用户的操作,生成打印请求,打印请求包括待打印文件及虚拟打印机信息,虚拟打印机信息与终端设备所连接的打印机对应。请求生成单元601具体用于执行如图4中步骤401中虚拟机400执行的方法。
传输单元602,用于向终端设备发送打印请求,打印请求用于指示终端设备通过虚拟打印机信息对应的打印机打印待打印文件。传输单元602具体用于执行如图4中步骤402中虚拟机400执行的方法。
可选的,虚拟机还包括安装单元603;传输单元602在生成打印请求之前可以接收终端设备发送的打印机的设备信息,设备信息包括打印机的标识,之后安装单元603可以在虚拟机中安装虚拟打印机,将虚拟打印机的标识设置为打印机的标识,所述安装单元603也是所述服务端的一个子模块。
可选的,设备信息还包括打印机所支持的打印配置信息,安装单元603在虚拟机中安装虚拟打印机时,可以根据打印机所支持的打印配置信息对虚拟打印机进行配置。
可选的,传输单元602还可以接收终端设备发送的指示打印机离线的通知消息:安装单元603可以在传输单元602接收到终端设备发送的指示打印机离线的通知消息后,卸载与打印机对应的虚拟打印机。
传输单元602具体用于执行前述方法实施例中在虚拟机400中安装虚拟打印机430的过程中虚拟机400执行的数据收发操作以及步骤406中接收通知消息的操作;安装单元603 具体用于执行前述方法实施例中在虚拟机400中安装虚拟打印机430的过程中虚拟机400执行的虚拟机打印机的安装操作以及步骤406中虚拟打印机的卸载操作。
基于与方法实施例同一发明构思,本申请实施例还提供了一种终端设备,用于执行上述方法实施例中终端设备执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图7所示,该终端设备连接有打印机,终端设备包括传输单元701以及处理模块702,传输单元701及处理模块702为终端设备100中客户端的子模块。
传输单元701,用于接收来自虚拟机的打印请求,打印请求包括待打印文件及虚拟打印机信息,虚拟打印机信息所指示的虚拟打印机安装在虚拟机上且与打印机对应。传输单元701具体用于执行如图4中步骤403中终端设备100执行的打印请求的接收操作。
处理模块702,用于根据虚拟打印机信息确定虚拟打印机对应的打印机;以及通过所确定的打印机打印待打印文件。处理模块702具体用于执行如图4中步骤403中终端设备100执行确定打印机、以及打印文件的操作。
可选的,处理单元702还可以获取连接至终端设备的打印机的设备信息,设备信息包括打印机的标识;传输单元701可以向虚拟机发送安装指令,安装指令包括设备信息,用于指示虚拟机根据设备信息安装虚拟打印机。
可选的,设备信息还包括打印机所支持的打印配置信息。
可选的,处理单元702可以检测到打印机离线,在处理单元702检测到打印机离线时,传输单元701可以向虚拟机发送指示打印机已离线的通知消息。
传输单元701具体用于执行前述方法实施例中在虚拟机400中安装虚拟打印机430的过程中终端设备100执行的数据收发操作以及步骤405中通知消息的发送操作;处理单元702具体用于执行前述方法实施例中在虚拟机400中安装虚拟打印机430的过程中终端设备100执行的打印机的设备信息的获取、以及检测打印机离线的操作。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在一个简单的实施例中,本领域的技术人员可以想到终端设备均可采用图2所示的形式。
图7中的处理单元702、传输单元701的功能/实现过程均可以通过图2中的处理器110调用存储器120中存储的计算机执行指令来实现。或者,图7中的处理单元702的功能/实现过程可以通过图2中的处理器110调用存储器120中存储的计算机执行指令来实现,图7中的传输单元701的功能/实现过程可以通过通信接口来实现。
在一个简单的实施例中,本领域的技术人员可以想到虚拟机均可采用图3所示的形式。
图6中的请求生成单元601、传输单元602和安装单元603的功能/实现过程均可以通过图3中的处理器410调用存储器420中存储的计算机执行指令来实现。或者,图6中的请求生成单元601和安装单元603的功能/实现过程可以通过图3中的处理器410调用存储器420中存储的计算机执行指令来实现,图7中的传输单元602的功能/实现过程可以通过通信接口来实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (17)

  1. 一种使用终端设备打印虚拟机中的文件的方法,其特征在于,应用于虚拟机,所述虚拟机中安装至少一个虚拟打印机,用户通过终端设备访问所述虚拟机,该方法包括:
    响应用户的操作,生成打印请求,所述打印请求包括待打印文件及虚拟打印机信息,所述虚拟打印机信息与所述终端设备所连接的打印机对应;
    向所述终端设备发送所述打印请求,所述打印请求用于指示所述终端设备通过所述虚拟打印机信息对应的打印机打印所述待打印文件。
  2. 如权利要求1所述的方法,其特征在于,在所述生成打印请求之前,还包括:
    接收终端设备发送的所述打印机的设备信息,所述设备信息包括所述打印机的标识;
    在所述虚拟机中安装所述虚拟打印机,将所述虚拟打印机的标识设置为所述打印机的标识。
  3. 如权利要求2所述的方法,其特征在于,所述设备信息还包括所述打印机所支持的打印配置信息,所述在所述虚拟机中安装所述虚拟打印机,还包括:
    根据所述打印机所支持的打印配置信息对所述虚拟打印机进行配置。
  4. 如权利要求2所述的方法,其特征在于,还包括:
    在接收到所述终端设备发送的指示所述打印机离线的通知消息后,卸载与所述打印机对应的虚拟打印机。
  5. 一种使用终端设备打印虚拟机中的文件的方法,其特征在于,应用于终端设备,所述终端设备连接有打印机,该方法包括:
    接收来自所述虚拟机的打印请求,所述打印请求包括待打印文件及虚拟打印机信息,所述虚拟打印机信息所指示的虚拟打印机安装在所述虚拟机上且与所述打印机对应;
    根据所述虚拟打印机信息确定所述虚拟打印机对应的打印机;
    通过所确定的打印机打印所述待打印文件。
  6. 如权利要求5所述的方法,其特征在于,该方法还包括:
    获取连接至所述终端设备的打印机的设备信息,所述设备信息包括所述打印机的标识;
    向所述虚拟机发送安装指令,所述安装指令包括所述设备信息,用于指示所述虚拟机根据所述设备信息安装所述虚拟打印机。
  7. 如权利要求6所述的方法,其特征在于,所述设备信息还包括所述打印机所支持的打印配置信息。
  8. 如权利要求6所述的方法,其特征在于,所述向所述虚拟机发送安装指令之后,还包括:
    检测到所述打印机离线时,向所述虚拟机发送指示所述打印机已离线的通知消息。
  9. 一种虚拟机,其特征在于,所述虚拟机中安装至少一个虚拟打印机,用户通过终端设备访问所述虚拟机,该虚拟机包括请求生成单元、传输单元:
    所述请求生成单元,用于响应用户的操作,生成打印请求,所述打印请求包括待打印文件及虚拟打印机信息,所述虚拟打印机信息与所述终端设备所连接的打印机对应;
    所述传输单元,用于向所述终端设备发送所述打印请求,所述打印请求用于指示所述终端设备通过所述虚拟打印机信息对应的打印机打印所述待打印文件。
  10. 如权利要求9所述的虚拟机,其特征在于,所述虚拟机还包括安装单元;
    所述传输单元在生成打印请求之前,还用于:接收终端设备发送的所述打印机的设备信息,所述设备信息包括所述打印机的标识;
    所述安装单元,用于在所述虚拟机中安装所述虚拟打印机,将所述虚拟打印机的标识设置为所述打印机的标识。
  11. 如权利要求10所述的虚拟机,其特征在于,所述设备信息还包括所述打印机所支持的打印配置信息,所述安装单元在所述虚拟机中安装所述虚拟打印机,具体用于:
    根据所述打印机所支持的打印配置信息对所述虚拟打印机进行配置。
  12. 如权利要求10所述的虚拟机,其特征在于,所述传输单元还用于接收所述终端设备发送的指示所述打印机离线的通知消息:
    所述安装单元还用于:在所述传输单元接收到所述终端设备发送的指示所述打印机离线的通知消息后,卸载与所述打印机对应的虚拟打印机。
  13. 一种终端设备,其特征在于,所述终端设备连接有打印机,所述终端设备包括传输单元以及处理模块;
    所述传输单元,用于接收来自所述虚拟机的打印请求,所述打印请求包括待打印文件及虚拟打印机信息,所述虚拟打印机信息所指示的虚拟打印机安装在所述虚拟机上且与所述打印机对应;
    所述处理模块,用于根据所述虚拟打印机信息确定所述虚拟打印机对应的打印机;以及通过所确定的打印机打印所述待打印文件。
  14. 如权利要求13所述的终端设备,其特征在于,所述处理单元还用于获取连接至所述终端设备的打印机的设备信息,所述设备信息包括所述打印机的标识;
    所述传输单元,还用于向所述虚拟机发送安装指令,所述安装指令包括所述设备信息,用于指示所述虚拟机根据所述设备信息安装所述虚拟打印机。
  15. 如权利要求14所述的终端设备,其特征在于,所述设备信息还包括所述打印机所支持的打印配置信息。
  16. 如权利要求14所述的终端设备,其特征在于,所述处理单元还用于:检测到所述打印机离线;
    所述传输单元,用于在所述处理单元检测到所述打印机离线时,向所述虚拟机发送指示所述打印机已离线的通知消息。
  17. 一种文件打印系统,其特征在于,包括:
    虚拟机,安装至少一个虚拟打印机,用于执行权利要求1至4任意一项权利要求所述的方法;
    终端设备,连接有打印机,用于执行权利要求5至8任意一项权利要求所述的方法。
PCT/CN2019/089327 2019-05-30 2019-05-30 使用终端设备打印虚拟机中的文件的方法、装置及系统 WO2020237581A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2019/089327 WO2020237581A1 (zh) 2019-05-30 2019-05-30 使用终端设备打印虚拟机中的文件的方法、装置及系统
EP19931336.2A EP3958108A4 (en) 2019-05-30 2019-05-30 METHOD, APPARATUS AND SYSTEM FOR PRINTING A DOCUMENT IN A VIRTUAL MACHINE USING A TERMINAL DEVICE
CN201980003712.XA CN112313614B (zh) 2019-05-30 2019-05-30 使用终端设备打印虚拟机中的文件的方法、装置及系统
US17/536,844 US20220083286A1 (en) 2019-05-30 2021-11-29 Method, Apparatus, and System for Printing File on Virtual Machine by using Terminal Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/089327 WO2020237581A1 (zh) 2019-05-30 2019-05-30 使用终端设备打印虚拟机中的文件的方法、装置及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/536,844 Continuation US20220083286A1 (en) 2019-05-30 2021-11-29 Method, Apparatus, and System for Printing File on Virtual Machine by using Terminal Device

Publications (1)

Publication Number Publication Date
WO2020237581A1 true WO2020237581A1 (zh) 2020-12-03

Family

ID=73551962

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/089327 WO2020237581A1 (zh) 2019-05-30 2019-05-30 使用终端设备打印虚拟机中的文件的方法、装置及系统

Country Status (4)

Country Link
US (1) US20220083286A1 (zh)
EP (1) EP3958108A4 (zh)
CN (1) CN112313614B (zh)
WO (1) WO2020237581A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934379B (zh) * 2020-06-29 2024-01-02 天翼云科技有限公司 基于桌面虚拟化技术的网络打印方法、介质和装置
CN113448672A (zh) * 2021-06-30 2021-09-28 深信服科技股份有限公司 设备控制方法、目标终端、云端、虚拟桌面服务器及介质
CN113900603B (zh) * 2021-12-10 2022-04-01 统信软件技术有限公司 一种模拟打印方法、计算设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240589A (ja) * 2003-02-04 2004-08-26 Canon Inc 印刷システム及びその制御方法並びに情報処理装置及び方法
CN105183403A (zh) * 2015-09-21 2015-12-23 西安电子科技大学 一种基于cups架构的打印管控方法
CN107562391A (zh) * 2017-08-08 2018-01-09 北京北信源软件股份有限公司 一种打印方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2400928A (en) * 2003-04-22 2004-10-27 Sharp Kk Distributed periperal device control system
JP4262186B2 (ja) * 2004-10-21 2009-05-13 キヤノン株式会社 画像供給装置及び該装置の制御方法及び印刷システム
US8149431B2 (en) * 2008-11-07 2012-04-03 Citrix Systems, Inc. Systems and methods for managing printer settings in a networked computing environment
JP2012043398A (ja) * 2010-07-21 2012-03-01 Canon Inc コンテンツ印刷システム、および印刷中継システム、および制御方法、およびプログラム
JP2013073314A (ja) * 2011-09-27 2013-04-22 Canon Inc 印刷中継システム、印刷システム、制御方法およびコンピュータプログラム
JP2013125349A (ja) * 2011-12-13 2013-06-24 Canon Inc 印刷システム、中継サーバ、処理装置、制御方法、およびコンピュータプログラム
JP5299534B2 (ja) * 2012-03-07 2013-09-25 富士ゼロックス株式会社 印刷システム、管理装置、画像形成装置及びプログラム
JP6064592B2 (ja) * 2012-12-27 2017-01-25 株式会社リコー 印刷システム、印刷方法、画像形成装置及び制御デバイス
KR20150066945A (ko) * 2013-12-09 2015-06-17 삼성전자주식회사 클라우드 프린팅의 수행 방법 및 이를 수행하기 위한 모바일 단말, 화상형성장치 및 클라우드 프린팅 시스템
US9690525B2 (en) * 2015-05-06 2017-06-27 Citrix Systems, Inc. Availability of devices based on location
KR20170019226A (ko) * 2015-08-11 2017-02-21 에스프린팅솔루션 주식회사 클라우드 프린트 서비스를 이용하는 방법 및 이를 수행하기 위한 장치
CN106557288B (zh) * 2016-11-15 2020-04-14 华为技术有限公司 一种获取打印数据的方法及装置
US10152290B1 (en) * 2017-09-11 2018-12-11 Parallels International Gmbh Universal printing using remote application servers
CN108170383A (zh) * 2017-11-21 2018-06-15 深圳市朗形网络科技有限公司 一种基于终端设备实现打印的方法和相关装置
US10949134B2 (en) * 2018-01-19 2021-03-16 Canon Kabushiki Kaisha Client apparatus, control method, and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240589A (ja) * 2003-02-04 2004-08-26 Canon Inc 印刷システム及びその制御方法並びに情報処理装置及び方法
CN105183403A (zh) * 2015-09-21 2015-12-23 西安电子科技大学 一种基于cups架构的打印管控方法
CN107562391A (zh) * 2017-08-08 2018-01-09 北京北信源软件股份有限公司 一种打印方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3958108A4 *
WEI, LIANGCHEN: "Realization of Printer Mapping Function Based on Windows Universal Print Driver", THE GUIDE OF SCIENCE & EDUCATION (ELECTRONIC EDITION), vol. 17, no. 6, 30 June 2018 (2018-06-30), pages 262,278, XP009531800, ISSN: 1674-6813 *

Also Published As

Publication number Publication date
CN112313614A (zh) 2021-02-02
CN112313614B (zh) 2022-09-16
EP3958108A1 (en) 2022-02-23
EP3958108A4 (en) 2022-05-18
US20220083286A1 (en) 2022-03-17

Similar Documents

Publication Publication Date Title
US10949158B2 (en) Screenshot method and apparatus
US20220083286A1 (en) Method, Apparatus, and System for Printing File on Virtual Machine by using Terminal Device
JP4926735B2 (ja) ドライバーレスクライアントによるネットワーク印刷
EP3343364A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
JP5321929B2 (ja) ユニバーサルデバイスドライバ、デバイス制御プログラム、情報処理装置、サーバ装置、及び、方法
US10896011B2 (en) Mobile device for automatically delivering print jobs to printers
US20090204725A1 (en) Wimax communication through wi-fi emulation
US9092179B2 (en) Communication apparatus, method for controlling communication apparatus, and storage medium
US10402135B2 (en) Printer list generator, mobile terminal, and printer list generation method
US10552096B2 (en) Communication apparatus
CN105183674A (zh) Usb虚拟化网络映射方法、装置以及usb集线器
US20180247167A1 (en) Method for transmitting print data, server and mobile terminal
JP2014100887A (ja) プリンター、プリンターシステム、及びプリンターの設定方法
US9274777B2 (en) Method and apparatus for universal control of networked devices
CN105302504B (zh) 信息处理装置和信息处理方法
US10303406B2 (en) Information processing utilization management system capable of determining whether or not information processing device is available from application in mobile terminal, information processing device, and method of managing information processing utilization
JP5817545B2 (ja) 印刷試行装置、印刷試行プログラム、印刷試行方法、印刷制御サーバー
US11755263B2 (en) Information processing apparatus, control method, and storage medium
US20150242176A1 (en) Determining optimal rendering systems
KR20140145051A (ko) 모바일 단말을 이용한 풀 프린팅 방법 및 장치
US10623241B2 (en) Network device and method therefor
US20200174720A1 (en) Print system, printer and non-transitory computer-readable recording medium storing instructions therefor
JP2015060291A (ja) プログラム、情報処理装置及び情報処理システム
JP2011018171A (ja) 画像形成システム、画像形成依頼装置、画像形成依頼プログラム
JP5864961B2 (ja) 情報処理装置、その制御方法、および制御プログラム

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: 19931336

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019931336

Country of ref document: EP

Effective date: 20211119

NENP Non-entry into the national phase

Ref country code: DE