CN113934379B - 基于桌面虚拟化技术的网络打印方法、介质和装置 - Google Patents
基于桌面虚拟化技术的网络打印方法、介质和装置 Download PDFInfo
- Publication number
- CN113934379B CN113934379B CN202010602652.8A CN202010602652A CN113934379B CN 113934379 B CN113934379 B CN 113934379B CN 202010602652 A CN202010602652 A CN 202010602652A CN 113934379 B CN113934379 B CN 113934379B
- Authority
- CN
- China
- Prior art keywords
- virtual desktop
- network
- terminal device
- network printer
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007639 printing Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000005516 engineering process Methods 0.000 title description 8
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1209—Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1255—Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Abstract
本公开提供了一种网络打印方法。该方法包括由虚拟桌面服务器执行以下步骤:获取网络打印机的网络地址;向虚拟桌面终端设备发送网络打印机的网络地址,该虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机;响应于在虚拟机内接收到的打印指令,将打印指令和待打印作业转换为网络打印机可读的打印数据流;以及向虚拟桌面终端设备发送打印数据流。
Description
技术领域
本公开涉及桌面虚拟化技术,具体而言涉及一种基于桌面虚拟化技术的网络打印方法、介质和装置。
背景技术
桌面虚拟化,又称云桌面,是指在服务器上共享存储和管理大量独立的桌面操作系统(又称为“虚拟机”或“虚拟桌面”),并可以根据远程桌面通信协议向终端设备进行桌面图形传输。用户经由终端设备登录,即可通过网络利用远程桌面通信协议访问虚拟机。桌面虚拟化可以将用户的桌面与终端设备分离,使得虚拟机脱离硬件的束缚,以达到桌面的使用不受限于具体终端设备、具体时间或具体地点。桌面虚拟化带来的安全性和灵活性使其在现代企业计算机系统架构中得到广泛应用。例如,企业员工可以在家、在出差地点或者在其它任何地方通过适当的设备访问自己的企业桌面。
虚拟桌面系统主要由虚拟桌面服务器和虚拟桌面终端设备组成,还可以以直接连接方式或网络连接方式配置有各种外设设备以实现附加功能,诸如USB存储设备、打印机设备等。虚拟桌面服务器要使用网络打印机进行打印,一般要求虚拟桌面服务器与网络打印机处于同一局域网,才能够直接将打印数据流发送到网络打印机,完成打印。但一般情况下网络打印机与虚拟桌面服务器不在同一局域网,因此需要解决虚拟桌面系统跨网络实现打印的问题。
发明内容
本发明的目的在于提出了一种由虚拟桌面终端设备转发打印数据流的跨网络打印方法,以解决现有的跨网络打印方法的至少一个或一些问题。
根据本公开的第一方面,提供了一种网络打印方法。该方法包括由虚拟桌面服务器获取网络打印机的网络地址。该方法还包括由虚拟桌面服务器向虚拟桌面终端设备发送网络打印机的网络地址,其中该虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机。该方法还包括由虚拟桌面服务器响应于在虚拟机内接收到的打印指令,将打印指令和待打印作业转换为网络打印机可读的打印数据流。该方法还包括由虚拟桌面服务器向虚拟桌面终端设备发送打印数据流。
根据本公开的第二方面,提供了一种网络打印方法。该方法包括由虚拟桌面终端设备从虚拟桌面服务器接收网络打印机的网络地址,其中该虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机。该方法还包括由虚拟桌面终端设备从虚拟桌面服务器接收网络打印机可读的打印数据流。该方法还包括由虚拟桌面终端设备根据所接收的网络打印机的网络地址向网络打印机发送所接收的打印数据流。
根据本公开的第三方面,提供了一种用于虚拟桌面服务器的电子装置。该电子装置包括处理器和耦接到处理器并存储计算机程序指令的存储器。计算机程序指令在被处理器执行时使得处理器执行如上所述的方法。
根据本公开的第四方面,提供了一种用于虚拟桌面终端设备的电子装置。该电子装置包括处理器和耦接到处理器并存储计算机程序指令的存储器。计算机程序指令在被处理器执行时使得处理器执行如上所述的方法。
根据本公开的第五方面,提供了一种计算机可读存储介质,存储有计算机程序指令。计算机程序指令在由计算机系统执行时,使得计算机系统执行如上所述的方法。
根据本公开的第六方面,提供了一种网络打印装置,包括用于执行如上所述的方法的单元。
根据本公开的实施例的优点之一在于,由于虚拟桌面系统不需要搭建额外的打印服务器或开发额外的驱动客户端,降低了系统和/或虚拟机配置和维护的成本,实现方式简单。
根据本公开的实施例的另一优点在于,由于虚拟机可以使用厂家默认驱动程序作为网络打印机驱动程序,而不需要针对不同网络打印机单独开发不同的驱动程序,能够避免兼容性差的问题。
根据本公开的实施例的另一优点在于,用户的打印文件始终在虚拟机内进行操作,而无需发送到虚拟桌面服务器之外,保证了用户文件的安全性。
根据本公开的实施例的又一优点在于,由于利用了虚拟桌面服务器可以与虚拟桌面终端设备直接通信的特点,虚拟桌面服务器将打印数据流交由虚拟桌面终端设备转发,使得在虚拟机内能够不限于虚拟桌面服务器的网络环境而完成打印。
应当认识到,上述优点不需全部集中在一个或一些特定实施例中实现,而是可以部分分散在根据本公开的不同实施例中。根据本公开的实施例可以具有上述优点中的一个或一些,也可以替代地或者附加地具有其它的优点。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得更为清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出了根据现有技术的基于桌面虚拟化技术的网络打印方法的框图,该方法通过搭建打印服务器转发打印数据流。
图2示出了根据现有技术的基于桌面虚拟化技术的网络打印方法的框图,该方法通过开发驱动客户端转发打印数据流。
图3示出了根据本公开的实施例的基于桌面虚拟化技术的网络打印系统的示意图。
图4示出了根据本公开的实施例的由虚拟桌面服务器执行的网络打印方法的流程图。
图5示出了根据本公开的实施例的由虚拟桌面终端设备执行的网络打印方法的流程图。
图6示出了根据本公开的实施例的网络打印系统的一个示例的操作示意图。
图7示出了可以实现根据本公开的实施例的计算设备的示例性配置。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出以说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
为了解决跨网络打印的问题,本领域一般有两种方法:一种是使用打印服务器转发打印数据流。图1示出了这种转发方案的流程。用户通过虚拟桌面终端设备登录到虚拟机并开始打印任务。虚拟机将待打印文件通过公网发送到与网络打印机处于同一局域网的打印服务器。打印服务器在接收到用户的打印请求后,根据文件格式将待打印文件发送给相应的应用程序转换为适用于网络打印机的打印格式,再将转换结果发送到用户指定的网络打印机,从而实现打印。这种方法的缺点在于,需要在网络打印机所在局域网搭建额外的打印服务器,会产生建设和维护成本;用户的待打印文件需通过该服务器中转,虚拟桌面系统的安全性受到影响。
另一种是通过驱动客户端转发打印数据流。图2示出了这种驱动方案的流程。在虚拟机上安装驱动客户端并使用网络打印机的唯一标识符和对应的网络地址等信息对其进行配置。用户通过虚拟桌面终端设备登录到虚拟机并开始打印任务。驱动客户端将待打印文件转换为打印数据流,并根据网络打印机的唯一标识符和网络地址通过公网发送到该指定网络打印机,从而实现打印。这种方法的缺陷在于,需要开发额外的驱动客户端,且驱动客户端特定于打印机和通信协议,导致兼容性差;另外,该方法要求虚拟桌面服务器能够访问公网,因而对于只能访问内网的虚拟桌面系统不适用。
相比之下,根据本公开的实施例利用虚拟桌面服务器和虚拟桌面终端设备之间的通信来传送打印数据流和网络打印机的网络地址,不需要搭建额外的打印服务器或开发额外的驱动客户端,降低了系统和/或虚拟机配置和维护的成本,实现方式简单。此外,由于虚拟桌面服务器将打印数据流交由虚拟桌面终端设备转发,使得在虚拟机内能够不限于虚拟桌面服务器的网络环境而完成打印。
在下文的描述中,为了描述简便,“虚拟桌面服务器”可以与“服务器”互换使用而指代相同特征,“虚拟桌面终端设备”可以与“终端设备”互换使用而指代相同特征,以及“网络打印机”可以与“打印机”互换使用而指代相同特征。
图3示出了根据本公开的实施例的基于桌面虚拟化技术的网络打印系统的示意图。虚拟桌面服务器310可以通过桌面虚拟化技术提供一个或多个独立的虚拟机,例如图3所示的虚拟机312。虚拟桌面服务器310可以提供虚拟机312运行所需的硬件资源,包括处理器、存储器、网络适配器等组件,以及软件运行环境和虚拟机控制平台。虚拟桌面服务器310可以是一个或多个集中式连接的计算机,也可以是分布式的计算机集群。
虚拟机312是通过软件模拟的具有完整硬件系统功能的、运行在隔离环境中的完整计算机系统。虚拟机312的软件环境可以包括操作系统和应用程序。各个虚拟机312可以共享虚拟桌面服务器310的硬件资源,但提供不同的软件环境。
一个或多个虚拟桌面终端设备320-1、320-2、320-3等(以下可以统称为虚拟桌面终端设备320)能够与虚拟桌面服务器310以有线或无线方式进行通信。通过运行虚拟桌面终端设备320上的虚拟桌面应用软件程序,用户可以访问虚拟桌面服务器310提供的虚拟机312,以使用其软件环境中的操作系统和/或应用程序。虚拟桌面应用可以调用远程桌面通信协议发起与虚拟桌面服务器310的网络通信传输,以及基于接收的虚拟机数据在虚拟桌面终端设备320上呈现虚拟机。在一些实施例中,虚拟桌面终端设备320可以要求用户输入账号和密码。该账号和密码在虚拟桌面终端设备320处或者被传输到虚拟桌面服务器310进行验证。在验证通过后,向用户提供对应的虚拟机。
虚拟桌面终端设备320可以被实现为各种计算机系统形态,包括但不限于:台式机、膝上型笔记本、平板电脑、智能电话、瘦客户机、个人数字助理等。多个虚拟桌面终端设备320之间可以是通信连接的(例如,处于同一局域网内),也可以在网络上是相互独立的。应当认识到,虽然在上文提到虚拟桌面终端设备320能够与虚拟桌面服务器310通信,但虚拟桌面终端设备320不需要保持连接到虚拟桌面服务器310,而是可以在离线情况下使用虚拟机312。例如,虚拟桌面服务器310可以将虚拟机312的系统镜像传输到终端设备320。终端设备320可以基于系统镜像在在线或离线情况下操作,并在恢复与服务器310的网络连接后进行同步。远程桌面通信协议用于规定虚拟桌面终端设备320和服务器310之间的通信规范,并可以采用本领域中已知的各种技术来实现,在此不做赘述。
网络打印机330与虚拟桌面终端设备320通信连接。该通信连接可以是有线或无线网络连接,也可以是通过串行、并行或USB等各种通用外设接口进行的直接连接。虚拟桌面终端设备320可以基于网络打印机330的网络地址向其发送打印数据流。网络打印机330的网络地址用于向虚拟桌面终端设备320唯一地表明自己的网络位置,其例如可以是互联网或局域网IP地址等。在打印机330连接到终端设备320的某一端口的情况下,打印机330的网络地址还可以是该特定端口号。
在一些实施例中,优选地,网络打印机330与虚拟桌面终端设备320位于同一局域网中。位于同一局域网意味着网络打印机330与终端设备320可以不经由网络层设备(例如三层路由器或网关)即可直接通信。位于同一局域网中包括:打印机330与终端设备320直接通过光缆/电缆连接,或者是连接在终端设备320的某一端口的特别情形。在同一局域网情形下,网络打印机330的网络地址可以是局域网IP地址或打印机所连接到的终端设备的相应端口号。此时,基于网络打印机330的网络地址,虚拟桌面终端设备320可以直接向网络打印机330发送包括打印指令和待打印作业的打印数据流即可使网络打印机330完成打印,而不需要在终端设备320上安装相应的网络打印机驱动。此外,位于同一局域网使得打印数据流不经由公共网络(例如,互联网)传输,因而还保障了打印数据的安全性。
在另一些实施例中,网络打印机330与虚拟桌面终端设备320不在同一局域网中。终端设备320可以配置有该网络打印机330的打印机驱动。打印机驱动从终端设备320接收网络打印机的网络地址,基于该网络地址与网络打印机330建立通信连接,并将接收的打印数据流传送到网络打印机330。
作为一个非限制的示例,在执行网络打印时,用户可以通过虚拟桌面终端设备320访问对应虚拟机312,并在虚拟机312中发出打印指令并输入网络打印机330的网络地址。虚拟桌面服务器330获取该网络地址并将其发送给虚拟桌面终端设备320。虚拟桌面服务器330还将打印指令和待打印作业转换为网络打印机可读的打印数据流,并将打印数据流发送给虚拟桌面终端设备320。虚拟桌面终端设备320基于接收的网络打印机的网络地址向网络打印机发送打印数据流。下面结合图4和图5具体介绍在根据本公开的实施例的网络打印方法中分别由虚拟桌面服务器和虚拟桌面终端设备执行的操作的流程图。
图4示出了根据本公开的实施例的由虚拟桌面服务器执行的网络打印方法的流程图。如前面结合图3所介绍的,虚拟桌面服务器可以提供虚拟机以供虚拟桌面终端设备的用户通过虚拟桌面应用进行访问。
在步骤S401处,虚拟桌面服务器获取网络打印机的网络地址。在一些实施例中,该网络地址可以由虚拟桌面服务器接收用户通过虚拟机输入的网络打印机地址来获取。在另一些实施例中,该网络地址也可以通过管理员在虚拟桌面服务器处配置网络打印机信息来获取。在一些实施例中,虚拟桌面服务器可以保存先前使用的网络打印机的网络地址,并在后续进行打印时从中选择。如前文所述,网络打印机的网络地址可以包括网络打印机的互联网IP地址、局域网IP地址,或者是虚拟桌面终端设备上连接至网络打印机的端口号。
在步骤S402处,虚拟桌面服务器向虚拟桌面终端设备发送网络打印机的网络地址。在一些实施例中,在虚拟桌面服务器向多个虚拟桌面终端设备提供多个相应虚拟机的情况下,可以向用户在其中发送打印指令的特定虚拟机所对应的虚拟桌面终端设备提供网络打印机的网络地址。在另一些实施例中,用户可以经由一个虚拟桌面终端设备访问虚拟机来发送打印指令,而虚拟桌面服务器向另一个虚拟桌面终端设备发送网络打印机的网络地址。该网络地址可以经由虚拟桌面服务器和虚拟桌面终端设备之间已经基于远程桌面通信协议建立的通信信道进行传输,也可以经由服务器和终端设备之间另外的专用通信信道进行传输。
在步骤S403处,虚拟桌面服务器响应于在虚拟机内接收到的打印指令,将打印指令和待打印作业转换为网络打印机可读的打印数据流。用户可以在虚拟桌面终端设备处通过虚拟桌面应用访问相应的虚拟机,在虚拟机中选择待打印作业并发出打印指令。如前文所述,用于发出打印指令的虚拟桌面终端设备与步骤S402中向其发送网络打印机的网络地址的虚拟桌面终端设备可以相同或者不同。对于不同的情况,例如,结合图3,用户可以在终端设备320-2处经由虚拟机发送打印指令,而服务器310将打印机的网络地址发给终端设备320-1。在这种情况下,后文将会介绍到的服务器310将打印数据流发送给终端设备也是发送给终端设备320-1。这对于终端设备320-2与网络打印机不在同一个局域网而终端设备320-1与网络打印机在同一个局域网的情况可能是有益的。
打印指令可以包括打印设置。待打印作业可以是文档或者打印机支持的各种表单。由于在虚拟桌面服务器处就已经将待打印作业转换为打印数据流的一部分,待打印作业始终在虚拟桌面服务器的虚拟机内部被操作,无需被发送到虚拟桌面服务器之外,因而保证了文件的安全性。
在一些实施例中,可以在虚拟桌面服务器处安装网络打印机驱动。该网络打印机驱动至少可以将打印指令和待打印作业转换为网络打印机可读的打印数据流。该网络打印机驱动可以是厂家默认驱动,亦可以是自行开发的驱动。能够使用厂家默认驱动对网络打印系统是有益的,因为不需要针对不同网络打印机单独开发不同的驱动程序,从而能够避免兼容性差的问题。
在步骤S404处,虚拟桌面服务器将在步骤S403得到的打印数据流发送到虚拟桌面终端设备。该打印数据流可以经由虚拟桌面服务器和虚拟桌面终端设备之间已经基于远程桌面通信协议建立的通信信道进行传输,也可以经由服务器和终端设备之间的专用通信信道进行传输。在后者的情况下,虚拟桌面服务器先与终端设备之间创建专用通信信道,然后经由该专用通信信道将打印数据流发送到虚拟桌面终端设备。用于传输打印数据流的专用通信信道可以与步骤S402中用于传输网络地址的专用通信信道相同或不同。
在一些实施例中,步骤S404还可以包括将打印数据流先发送到虚拟桌面服务器的指定端口,然后利用由虚拟桌面服务器启动的守护进程将打印数据流从指定端口转发到虚拟桌面终端设备。指定端口可以是服务器上空闲的任何端口,譬如可以是9001端口。
在进一步的实施例中,可以配置在虚拟桌面服务器处安装的网络打印机驱动,使其能够操作以进行打印数据流的转换生成之外,还能够将转换的打印数据流发送到服务器的指定端口。该网络打印机驱动可以是厂家默认驱动,用户不需开发单独的驱动程序。
在进一步的实施例中,虚拟桌面服务器启动的守护进程可以被配置为监听该指定端口。一旦从指定端口上发现数据,则将其转发到虚拟桌面终端设备。
在进一步的实施例中,守护进程还可以被配置为创建虚拟桌面服务器与虚拟桌面终端设备之间的专用通信信道,并经由专用通信信道将打印数据流从指定端口转发到虚拟桌面终端设备。
另一方面,图5示出了根据本公开的实施例的由虚拟桌面终端设备执行的网络打印方法的流程图。图5所示的步骤与图4的步骤相呼应,图5中未描述的对一些具体特征的限定可以参照对图4的描述。
在步骤S501处,虚拟桌面终端设备从虚拟桌面服务器接收网络打印机的网络地址。在步骤S502处,虚拟桌面终端设备从虚拟桌面服务器接收打印数据流。步骤S501和S502的执行顺序不限定先后。
在一些实施例中,步骤S502可以是响应于用户经由该虚拟桌面终端设备上的虚拟桌面应用访问虚拟机来发送打印指令而执行的。在另一些实施例中,步骤502可以是响应于用户经由连接至同一虚拟桌面服务器的其它虚拟桌面终端设备访问虚拟机来发送打印指令而执行的。打印数据流可以是由虚拟桌面服务器响应于在虚拟机内接收到打印指令而将打印指令和待打印作业转换生成的。虚拟桌面终端设备可以经由虚拟桌面服务器与虚拟桌面终端设备之间已经基于远程桌面通信协议建立的通信信道或者经由另外的专用通信信道来接收该打印数据流。
在步骤S503处,根据接收到的网络打印机的网络地址,虚拟桌面终端设备向网络打印机发送打印数据流。网络打印机基于接收的打印数据流完成打印。
图6示出了根据本公开的实施例的网络打印系统的一个示例的操作示意图。在该示例中,虚拟桌面服务器602为虚拟桌面终端设备604提供虚拟机服务,并期望通过网络打印机606实现打印功能。在虚拟桌面服务器602中配置有网络打印机驱动608和守护进程610。虚拟桌面服务器602获取网络打印机606的网络地址,并将该网络地址发送到虚拟桌面终端设备604。用户经由虚拟桌面终端设备604访问虚拟机,在虚拟机中选择目标文件并发起打印任务,该打印任务包括启动打印功能并包括打印设置的打印指令和作为待打印作业的文件。网络打印机驱动608接收打印指令和待打印作业,将其转换为网络计算机606可读的打印数据流,并将打印数据流发送到指定端口612。虚拟桌面服务器602通过启动守护进程610将打印数据流从指定端口612发送到虚拟桌面终端设备604。
进一步地,守护进程610可以被配置为监听指定端口612以检测是否有打印数据流要发送。守护进程610还可以被配置为响应于监听到打印数据流,则创建虚拟桌面服务器602和虚拟桌面终端设备604之间的专用通信信道614,并且将打印数据流经由专用通信信道614从指定端口612发送到虚拟桌面终端设备604。
虚拟桌面终端设备604在接收到网络打印机606的网络地址和打印数据流之后,根据网络地址将打印数据流发送到网络打印机606。在一些实施例中,虚拟桌面终端设备604与网络打印机606位于同一局域网中,这样虚拟桌面终端设备604不需要安装任何打印机驱动即可使得网络打印机606接收到打印数据流并完成打印。
应当认识到,图6所示的操作流程仅仅是优选实施例之一,根据本公开的实施例不应局限于此。例如,网络打印机驱动608、守护进程610、指定端口612和专用通道614中的一个或多个可以被省略或者合并,而只需要从整体上虚拟桌面服务器602能够获取网络打印机的网络地址以及将打印指令和待打印作业转换为打印数据流,并将网络地址和打印数据流提供给虚拟桌面终端设备即可。
图7示出了可以用于实现根据本公开实施例的示例性计算设备。虚拟桌面服务器和虚拟桌面终端设备中的一个或者两者可以实现为这样的计算设备。如图7所示,计算设备700可以包括一个或多个处理器702。一个或多个处理器702可以是任何种类的处理器,并且可以包括但不限于一个或多个通用处理器或专用处理器(诸如专用处理芯片)。处理器702可以执行指令以实现前面描述的虚拟桌面服务器或虚拟桌面终端设备的各种功能。
计算设备700还可以包括或被连接至非暂态存储设备704,该非暂态存储设备704可以是任何非暂态的并且可以实现数据存储的存储设备,并且可以包括但不限于盘驱动器、光存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁性介质、压缩盘或任何其他光学介质、缓存存储器和/或任何其他存储芯片或模块、和/或计算机可以从其中读取数据、指令和/或代码的其他任何介质。非暂态存储设备704可以存储供处理器702读取和/或执行的各种动态和静态指令和/或数据。
处理器702和/或存储设备704可以经由一个或多个接口与总线706连接或通信。总线706可以包括但不限于,工业标准架构(Industry Standard Architecture,ISA)总线、微通道架构(Micro Channel Architecture,MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及外设组件互连(PCI)总线等。
I/O设备708可以是使得用户能够与计算设备700交互的任何设备。I/O设备708的示例可以包括但不限于键盘、触控板、鼠标、操纵杆或其它指示设备、麦克风、扬声器、显示器或打印机等。
计算设备700还可包括网络接口710。网络接口710可以是能够启用与外部装置和/或网络通信的任何种类的设备或系统,并且可以包括但不限于调制解调器、网络卡、红外线通信设备、无线通信设备和/或芯片集(诸如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设施等)。虚拟桌面服务器和虚拟桌面终端设备可以经由各自的网络接口与对方通信。虚拟桌面终端设备还可以经由其网络接口与网络打印机通信。
I/O设备708和/或网络接口710也可以经由总线706与处理器702和/或存储设备704通信地耦合。
可单独地或以任何组合方式来使用前述实施方案的各个方面、实施方案、具体实施或特征。可由软件、硬件或硬件与软件的组合来实现前述实施方案的各个方面。
例如,前述实施方案可体现为计算机可读介质上的计算机可读代码。计算机可读介质为可存储数据的任何数据存储设备,所述数据其后可由计算机系统读取。计算机可读介质的示例包括只读存储器、随机存取存储器、CD-ROM、DVD、磁带、硬盘驱动器、固态驱动器和光学数据存储设备。计算机可读介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。
例如,前述实施方案可采用硬件电路的形式。硬件电路可以包括组合式逻辑电路、时钟存储设备(诸如软盘、触发器、锁存器等)、有限状态机、诸如静态随机存取存储器或嵌入式动态随机存取存储器的存储器、定制设计电路、可编程逻辑阵列等的任意组合。
在一个实施方案中,可以通过用诸如Verilog或VHDL的硬件描述语言(HDL)编码和设计一个或多个集成电路或者结合使用离散电路来实现根据本公开的硬件电路。
综上所述,本公开提供了一种网络打印方法,包括由虚拟桌面服务器执行以下步骤:获取网络打印机的网络地址;向虚拟桌面终端设备发送网络打印机的网络地址,该虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机;响应于在虚拟机内接收到的打印指令,将打印指令和待打印作业转换为网络打印机可读的打印数据流;以及向虚拟桌面终端设备发送打印数据流。
在一些实施例中,向虚拟桌面终端设备发送打印数据流包括:将打印数据流发送到虚拟桌面服务器的指定端口;以及利用由虚拟桌面服务器启动的守护进程将打印数据流从指定端口转发到虚拟桌面终端设备。
在一些实施例中,该方法还包括在虚拟桌面服务器处配置网络打印机驱动,使得该网络打印机驱动能够操作以执行从打印指令和待打印作业向打印数据流的转换和将打印数据流发送到所述指定端口,其中所述网络打印机驱动是网络打印机的厂家默认驱动。
在一些实施例中,守护进程被配置为监听指定端口。
在一些实施例中,守护进程被配置为创建虚拟桌面服务器与虚拟桌面终端设备之间的专用通信信道;以及经由专用通信信道将打印数据流从指定端口转发到虚拟桌面终端设备。
在一些实施例中,向虚拟桌面终端设备发送打印数据流包括建虚拟桌面服务器与虚拟桌面终端设备之间的专用通信信道;以及经由专用通信信道将打印数据流从虚拟桌面服务器发送到虚拟桌面终端设备。
在一些实施例中,虚拟桌面终端设备能够操作以根据所接收的网络打印机的网络地址向网络打印机发送所接收的打印数据流。
在一些实施例中,虚拟桌面终端设备与网络打印机位于同一局域网中。
本公开还提供了一种网络打印方法,包括由虚拟桌面终端设备执行以下步骤:从虚拟桌面服务器接收网络打印机的网络地址,该虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机;从虚拟桌面服务器接收网络打印机可读的打印数据流;以及根据所接收的网络打印机的网络地址向网络打印机发送所接收的打印数据流。
在一些实施例中,虚拟桌面终端设备与网络打印机位于同一局域网中。
在一些实施例中,该方法还包括在虚拟桌面终端设备处通过访问虚拟机向虚拟桌面服务器发送打印指令,其中该打印数据流是由虚拟桌面服务器响应于在虚拟机内接收到所述打印指令而将打印指令和待打印作业转换生成的。
在一些实施例中,打印数据流是经由虚拟桌面服务器与虚拟桌面终端设备之间的专用通信信道从虚拟桌面服务器接收的。
本文还提供了一种用于虚拟桌面服务器的电子装置,包括处理器和存储器,该存储器存储计算机程序指令,该计算机程序指令在被处理器执行时使得处理器执行如上所述的网络打印方法。
本文还提供了一种用于虚拟桌面终端设备的电子装置,包括处理器和存储器,该存储器存储计算机程序指令,该计算机程序指令在被处理器执行时使得处理器执行如上所述的网络打印方法。
本公开还提供了一种计算机可读存储介质,其存储有计算机程序指令,该计算机程序指令在由计算机系统执行时,使得计算机系统执行根据前述任一项所述的方法。
本公开还提供了一种网络打印装置,包括用于执行根据前述任一项所述的方法的单元。
虽然已通过示例详细展示了本发明的一些具体实施例,但是本领域技术人员应当理解,上述示例仅意图是说明性的而不限制本发明的范围。应该认识到的是,前述方法中的一些步骤不一定按照图示的顺序执行,而是它们可以被同时、以不同顺序或以重叠方式执行。此外,本领域技术人员可以根据需要增加一些步骤或省略一些步骤。前述系统中的一些部件不是必须按照图示的布置,本领域技术人员可以根据需要增加一些部件或省略一些部件。本领域技术人员应该理解,上述实施例可以在不脱离本发明的范围和实质的情况下被修改。本发明的范围是通过所附的权利要求限定的。
Claims (18)
1.一种网络打印方法,包括:
由虚拟桌面服务器:
获取网络打印机的网络地址;
响应于另一个虚拟桌面终端设备访问虚拟机发送的打印指令,向虚拟桌面终端设备发送网络打印机的网络地址,所述虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机;
响应于在虚拟机内接收到的打印指令,将打印指令和待打印作业转换为网络打印机可读的打印数据流;以及
向虚拟桌面终端设备发送打印数据流,包括:将打印数据流发送到虚拟桌面服务器的指定端口;以及利用由虚拟桌面服务器启动的守护进程将打印数据流从指定端口经由所述守护进程创建的专用通信信道转发到虚拟桌面终端设备,其中虚拟桌面终端设备能够操作以根据所接收的网络打印机的网络地址向网络打印机发送所接收的打印数据流。
2.根据权利要求1所述的网络打印方法,其中,网络打印机的网络地址包括网络打印机的互联网IP地址、局域网IP地址,或者虚拟桌面终端设备上连接至网络打印机的端口号。
3.根据权利要求1所述的网络打印方法,还包括:
在虚拟桌面服务器处配置网络打印机驱动,使得所述网络打印机驱动能够操作以执行所述转换和将打印数据流发送到所述指定端口,
其中所述网络打印机驱动是网络打印机的厂家默认驱动。
4.根据权利要求1所述的网络打印方法,其中所述守护进程被配置为监听所述指定端口,并响应于在所述指定端口监听到的打印数据流,创建虚拟桌面服务器与虚拟桌面终端设备之间的专用通信信道。
5.根据权利要求1所述的网络打印方法,其中,向虚拟桌面终端设备发送网络打印机的网络地址包括:
经由虚拟桌面服务器和虚拟桌面终端设备之间已经基于远程桌面通信协议建立的通信信道将网络打印机的网络地址从虚拟桌面服务器发送到虚拟桌面终端设备。
6.根据权利要求1所述的网络打印方法,其中,向虚拟桌面终端设备发送网络打印机的网络地址包括:
经由服务器和终端设备之间另外的专用通信信道将网络打印机的网络地址从虚拟桌面服务器发送到虚拟桌面终端设备。
7.根据权利要求1所述的网络打印方法,其中虚拟桌面终端设备与网络打印机位于同一局域网中。
8.一种网络打印方法,包括:
由虚拟桌面终端设备:
从虚拟桌面服务器接收网络打印机的网络地址,所述虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机,其中网络打印机的网络地址是虚拟桌面服务器响应于另一个虚拟桌面终端设备访问虚拟机发送的打印指令发送的;
从虚拟桌面服务器接收网络打印机可读的打印数据流,包括:经由虚拟桌面服务器启动的守护进程创建的专用通信信道,从虚拟桌面服务器的指定端口接收打印数据流;以及
根据所接收的网络打印机的网络地址向网络打印机发送所接收的打印数据流。
9.根据权利要求8所述的网络打印方法,其中虚拟桌面终端设备与网络打印机位于同一局域网中。
10.根据权利要求8所述的网络打印方法,其中所述打印数据流是由虚拟桌面服务器响应于在虚拟机内接收到所述打印指令而将打印指令和待打印作业转换生成的。
11.一种用于虚拟桌面服务器的电子装置,包括:
处理器;和
存储器,耦接到处理器并存储计算机程序指令,所述计算机程序指令在被处理器执行时使得处理器:
获取网络打印机的网络地址;
响应于另一个虚拟桌面终端设备访问虚拟机发送的打印指令,向虚拟桌面终端设备发送网络打印机的网络地址,所述虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机;
响应于在虚拟机内接收到的打印指令,将打印指令和待打印作业转换为网络打印机可读的打印数据流;以及
向虚拟桌面终端设备发送打印数据流,包括:将打印数据流发送到虚拟桌面服务器的指定端口;以及利用由虚拟桌面服务器启动的守护进程将打印数据流从指定端口经由所述守护进程创建的专用通信信道转发到虚拟桌面终端设备,其中虚拟桌面终端设备能够操作以根据所接收的网络打印机的网络地址向网络打印机发送所接收的打印数据流。
12.根据权利要求11所述的电子装置,其中,网络打印机的网络地址包括网络打印机的互联网IP地址、局域网IP地址,或者虚拟桌面终端设备上连接至网络打印机的端口号。
13.根据权利要求11所述的电子装置,所述计算机程序指令在被处理器执行时还使得处理器:
在虚拟桌面服务器处配置网络打印机驱动,使得所述网络打印机驱动能够操作以执行所述转换和将打印数据流发送到所述指定端口,
其中所述网络打印机驱动是网络打印机的厂家默认驱动。
14.根据权利要求11所述的电子装置,其中所述守护进程被配置为:
监听所述指定端口,并响应于在所述指定端口监听到的打印数据流,创建虚拟桌面服务器与虚拟桌面终端设备之间的专用通信信道。
15.一种用于虚拟桌面终端设备的电子装置,包括:
处理器;和
存储器,存储计算机程序指令,所述计算机程序指令在被处理器执行时使得处理器:
从虚拟桌面服务器接收网络打印机的网络地址,所述虚拟桌面终端设备通过虚拟桌面应用访问由虚拟桌面服务器提供的虚拟机,其中网络打印机的网络地址是虚拟桌面服务器响应于另一个虚拟桌面终端设备访问虚拟机发送的打印指令发送的;
从虚拟桌面服务器接收网络打印机可读的打印数据流,包括:经由虚拟桌面服务器启动的守护进程创建的专用通信信道,从虚拟桌面服务器的指定端口接收打印数据流;以及
根据所接收的网络打印机的网络地址向网络打印机发送所接收的打印数据流。
16.根据权利要求15所述的电子装置,其中虚拟桌面终端设备与网络打印机位于同一局域网中。
17.一种计算机可读存储介质,存储有计算机程序指令,所述计算机程序指令在由计算机系统执行时,使得计算机系统执行根据权利要求1-10中任一项所述的方法。
18.一种网络打印装置,包括用于执行根据权利要求1-10中任一项所述的方法的单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010602652.8A CN113934379B (zh) | 2020-06-29 | 2020-06-29 | 基于桌面虚拟化技术的网络打印方法、介质和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010602652.8A CN113934379B (zh) | 2020-06-29 | 2020-06-29 | 基于桌面虚拟化技术的网络打印方法、介质和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113934379A CN113934379A (zh) | 2022-01-14 |
CN113934379B true CN113934379B (zh) | 2024-01-02 |
Family
ID=79272652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010602652.8A Active CN113934379B (zh) | 2020-06-29 | 2020-06-29 | 基于桌面虚拟化技术的网络打印方法、介质和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113934379B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721606A (zh) * | 2022-02-28 | 2022-07-08 | 阿里巴巴(中国)有限公司 | 云桌面打印处理方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220398A (ja) * | 2003-01-16 | 2004-08-05 | Oki Data Corp | 印刷装置及び印刷代行装置並びに印刷方法 |
WO2005093560A1 (en) * | 2004-03-26 | 2005-10-06 | Canon Kabushiki Kaisha | Image processing apparatus, image processing control method, program, and storage medium |
CN106878419A (zh) * | 2017-02-17 | 2017-06-20 | 福建升腾资讯有限公司 | 一种基于虚拟通道的桌面云高效打印方法及系统 |
KR20190051665A (ko) * | 2017-11-07 | 2019-05-15 | 주식회사 틸론 | 가상 데스크톱 인프라 환경하에서 출력 제한된 인쇄 파일을 출력하는 방법 및 이를 적용하는 가상화 시스템 |
CN109783036A (zh) * | 2017-11-14 | 2019-05-21 | 中国电信股份有限公司 | 打印方法、系统、装置和计算机可读存储介质 |
CN112313614A (zh) * | 2019-05-30 | 2021-02-02 | 华为技术有限公司 | 使用终端设备打印虚拟机中的文件的方法、装置及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088360A1 (en) * | 2008-10-03 | 2010-04-08 | Joe Jaudon | Methods for dynamically updating virtual desktops or virtual applications |
JP2011192250A (ja) * | 2010-02-22 | 2011-09-29 | Canon Inc | クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法 |
JP5683205B2 (ja) * | 2010-10-18 | 2015-03-11 | キヤノン株式会社 | 情報処理装置、情報処理装置を制御する制御方法、およびそのプログラム |
US20120229841A1 (en) * | 2011-03-07 | 2012-09-13 | Xerox Corporation | Direct interface between printing device and peripheral device |
DE102014226625A1 (de) * | 2014-10-31 | 2016-05-04 | Cortado Ag | Verfahren zur Übertragung von Druckdaten, Server und mobiles Endgerät |
US10133525B2 (en) * | 2015-08-06 | 2018-11-20 | Citrix Systems, Inc. | Autonomous secure printing |
-
2020
- 2020-06-29 CN CN202010602652.8A patent/CN113934379B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220398A (ja) * | 2003-01-16 | 2004-08-05 | Oki Data Corp | 印刷装置及び印刷代行装置並びに印刷方法 |
WO2005093560A1 (en) * | 2004-03-26 | 2005-10-06 | Canon Kabushiki Kaisha | Image processing apparatus, image processing control method, program, and storage medium |
CN106878419A (zh) * | 2017-02-17 | 2017-06-20 | 福建升腾资讯有限公司 | 一种基于虚拟通道的桌面云高效打印方法及系统 |
KR20190051665A (ko) * | 2017-11-07 | 2019-05-15 | 주식회사 틸론 | 가상 데스크톱 인프라 환경하에서 출력 제한된 인쇄 파일을 출력하는 방법 및 이를 적용하는 가상화 시스템 |
CN109783036A (zh) * | 2017-11-14 | 2019-05-21 | 中国电信股份有限公司 | 打印方法、系统、装置和计算机可读存储介质 |
CN112313614A (zh) * | 2019-05-30 | 2021-02-02 | 华为技术有限公司 | 使用终端设备打印虚拟机中的文件的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113934379A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5885834B2 (ja) | モバイル・コンピューティング・デバイスを介して管理されたusbサービスをリモートに送達する方法および装置 | |
US8836981B2 (en) | Apparatus, system, and method of output distribution, and recording medium storing output distribution control program | |
US8739179B2 (en) | Method and system for low-overhead data transfer | |
US8347378B2 (en) | Authentication for computer system management | |
US9940143B2 (en) | Using peripheral component interconnect express vendor-defined message (PCIe-VDM) and inter-integrated circuit (I2C) transport for network communications | |
US8762544B2 (en) | Selectively communicating data of a peripheral device to plural sending computers | |
EP2071460A2 (en) | Local device virtualization | |
KR20150013860A (ko) | 클라이언트 없는 클라우드 컴퓨팅 | |
EP2786241A1 (en) | Bridging non-network interfaces and network interfaces | |
US9928207B1 (en) | Generating transactions with a configurable port | |
WO2012149767A1 (zh) | 访问存储设备的方法及系统 | |
CN105007329A (zh) | 一种基于PCIe的网络共享存储系统及其存储方法 | |
CN113934379B (zh) | 基于桌面虚拟化技术的网络打印方法、介质和装置 | |
US20070199065A1 (en) | Information processing system | |
US20200326998A1 (en) | Two-way clipboard exchange in virtual console | |
US20050111030A1 (en) | Hard copy imaging systems, print server systems, and print server connectivity methods | |
EP4026294A1 (en) | Scalable public key identification model | |
US9838507B2 (en) | System and method for providing redirection of Bluetooth devices | |
US20140195590A1 (en) | Managing a logical client for a virtual machine | |
EP3413199B1 (en) | Communications management | |
US10284668B2 (en) | Managing a logical client for an application | |
US9658970B1 (en) | Interconnection of peripheral devices on different electronic devices | |
CN117891413B (zh) | 基于扩展spice协议的打印机虚拟化方法和装置 | |
US20230199000A1 (en) | Authentication and access control for remote support system | |
JP2009032235A (ja) | 単一の識別コードでインターネットおよび磁気記憶装置アクセスサービスを提供するハードディスクレス型コンピュータシステム、およびそのデータ送受信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220129 Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing Applicant after: Tianyiyun Technology Co.,Ltd. Address before: No.31, Financial Street, Xicheng District, Beijing, 100033 Applicant before: CHINA TELECOM Corp.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |