从打印后台处理程序问题到高可用性

Published on
January 20, 2025
Last edited on
January 20, 2025

什么是打印后台处理器?

一个 打印后台处理程序 是操作系统的软件组件,用于协调应用程序和打印机之间的打印过程。“spooler” 一词源自 “在线同步外围设备操作”,描述了在执行其他任务时存储和管理打印作业的能力。打印后台处理程序控制进入打印队列的文档的顺序。

除了 Windows 打印后台处理器,这是 Windows 操作系统上的默认打印服务,还有 CUPS(通用 UNIX 打印系统):在 Unix 和 Linux 系统以及 macOS 打印系统中广泛使用的假脱机程序。

通过假脱机处理,可以控制打印作业的顺序

Print Spooler 的任务:

  1. 管理打印作业: 打印后台处理程序接收来自各种应用程序的打印作业,并将它们存储在队列中。这允许同时处理多个打印作业,即使打印机不能立即使用。
  2. 缓冲打印作业: 后台处理程序将打印任务暂时存储在硬盘驱动器或系统内存中,直到打印机准备好处理这些作业。这样可以防止应用程序被屏蔽,并允许用户立即继续工作。
  3. 控制打印作业的顺序: 假脱机程序确保打印作业按正确的顺序执行。管理员或用户可以更改顺序、确定特定任务的优先顺序,或根据需要取消这些任务。
  4. 与打印机通信: 后台处理程序将打印任务发送到打印机并监控其状态。如果出现卡纸或碳粉不足等问题,后台处理程序可以通知用户。
  5. 故障排除: 如果打印作业失败,后台处理程序将暂停该作业,并提供重新启动或删除该作业的选项。

典型的网络打印场景

在办公室中,一名员工向打印机发送一份 50 页的文档,而另一名员工需要打印一封简短的电子邮件。打印后台处理程序将两个作业放入队列中,并将它们依次发送到打印机,监视每个作业的状态。打印第一个文档时,后续作业必须等待队列中轮到该文档,并且打印机状态显示 “后台处理”。

使用后台处理和渲染进行网络打印

在 Windows 环境中,Windows 打印后台处理程序在网络打印中起着核心作用,并且与渲染直接相关。打印过程可以分为几个阶段,后台处理和渲染密切相关,但执行不同的任务。

网络打印中打印过程的顺序

  1. 应用程序层:
    用户从应用程序(例如 Word、Excel)发送打印作业。该应用程序以中间格式(例如增强型图元文件 (EMF))或直接作为 RAW 数据创建打印作业。
  2. 在 Spooler 中渲染:
    • Windows 打印后台处理程序接收打印数据。这里进行渲染,这意味着将打印作业从通用格式(例如 EMF)转换为打印机特定的格式(例如 PCL、PostScript)。此过程可能发生在客户端(客户端渲染)或服务器上(服务器端渲染),具体取决于配置。
  3. 假脱机:
    • 渲染后,Print Spooler 将完成的渲染数据存储在队列中。文件暂时保存在硬盘驱动器或内存中,通常保存在文件夹中
      C:\Windows\System32\spool\PRINTERS.假脱机可确保按顺序组织打印作业并发送到打印机。
  4. 传输到打印机:
    • 后台处理程序通过网络协议(例如 IPP、LPD/LPR 或 SMB)将渲染的数据发送到打印服务器或直接发送到网络打印机。打印机处理数据并开始物理打印过程。

假脱机时可能出现的问题

正确配置的打印后台处理器对于流畅的打印体验至关重要,尤其是在打印作业量大的环境中。假脱机问题或延迟可能是由干扰打印过程的各种因素造成的,从软件和驱动程序问题到网络或硬件错误。

以下是最常见的原因以及它们如何导致延迟或缺少打印输出:

Print Spooler 服务中的错误

管理打印作业的 Windows 打印后台处理程序服务可能会崩溃、挂起或无法启动。这会导致打印作业卡在队列中,而不是被发送到打印机。在服务控制台(services.msc)中重新启动假脱机程序服务有时会有所帮助。检查事件日志中是否有错误消息。

打印机驱动程序过时或有缺陷

过时或不兼容的驱动程序可能导致打印作业无法正确呈现或无法由后台处理程序正确处理。延迟或打印数据错误可能是后果。更新制造商提供的打印机驱动程序可能会解决问题。

假脱机问题的其他原因包括:

  • 导致渲染错误的大型复杂打印作业
  • 网络问题导致作业卡在假脱机程序中
  • 后台处理程序内存空间不足
  • 由于许多同步打印作业或优先级不正确而导致的冲突
  • 打印机不完全支持某些文件格式(例如 PCL、PostScript)
  • 错误的更新或系统配置导致假脱机程序变得不稳定或无法启动
  • 假脱机程序会暂停所有作业,直到打印机准备就绪(例如,添加纸张、更换碳粉)

ThinPrint 通过主动后台处理器管理确保高可用打印

打印服务器上的假脱机问题通常会随着时间的推移而出现,甚至在实际故障发生之前。诸如输出延迟之类的早期症状可能表明存在潜在问题。这些中断直接影响打印服务的高可用性,因为不稳定的后台处理器会危及打印作业的顺利处理。

为了确保 打印基础设施的高可用性,ThinPrint 开发了一种先进的预警系统。这个 薄打印引擎 定期评估打印服务器上假脱机处理的性能,并在超过定义的阈值时将打印作业重新路由到其他服务器。这样可以防止对打印工作流程产生任何负面影响,并保证网络打印的高可用性。

在下面 管理模板 → ThinPrint → ThinPrint 高可用性,你会发现高可用性设置,例如 “指定导致打印服务器更改其状态的阈值” 要么 “指定后台处理程序检查超时”:

ThinPrint High Availability Group Policy: “Specify the spooler check timeout”
ThinPrint 高可用性组策略:“指定后台处理程序检查超时”

优化了对打印服务器上后台处理程序进程的监控

实际上,可能会出现假脱机服务处于活动状态但被阻塞的情况,从而无法处理任何进一步的打印作业。为了解决这个问题,ThinPrint 引擎提供了一种智能解决方案:ThinPrint 后台处理器监视程序。此 ThinPrint 组件充当打印服务器上的虚拟打印机,持续验证假脱机程序是否正常运行。

假脱机监视程序通过打印所谓的 “虚拟文件” 来定期发送测试打印。该自动化过程确认 Spooler 服务运行平稳且不存在任何阻塞。如果测试成功,Watchdog 将验证打印服务器是否正常运行并且可以正确处理打印作业。

The virtual printer “ThinPrint Spooler Watchdog” in the printer list
打印机列表中的虚拟打印机 “ThinPrint Spooler Watchdog”
Properties of the Virtual Printer “ThinPrint Spooler Watchdog”
虚拟打印机 “ThinPrint 后台处理程序监视程序” 的属性

此测试打印是触发器之一,用于在出现错误时使服务器脱机并将打印作业重新路由到另一台打印服务器。

集中监控下的端点假脱机程序

本地打印服务器和台式计算机上的假脱机问题也可能对打印产生负面影响。借助 ThinPrint,IT 管理员可以随时集中概览这些组件的运行状况,从而使他们能够在出现中断时快速有效地做出响应。

结论:ThinPrint 带来了高效的打印基础设施

流畅运行的打印后台处理器是每个打印基础架构的核心——它可以可靠地协调应用程序和打印机之间的打印作业流程。虽然软件错误、网络问题或过时的驱动程序可能会影响后台处理过程,但ThinPrint提供了全面的解决方案来主动应对这些挑战。借助智能预警系统(例如假脱机监视程序和打印作业的动态重新路由),ThinPrint 可确保即使出现部分故障,打印服务也能保持高可用性。因此,公司可以最大限度地减少打印停机时间,简化操作,并提供无缝、不间断的打印体验。

More posts