CN102508626A - 一种新型并行打印调度方法及系统 - Google Patents
一种新型并行打印调度方法及系统 Download PDFInfo
- Publication number
- CN102508626A CN102508626A CN2011103501709A CN201110350170A CN102508626A CN 102508626 A CN102508626 A CN 102508626A CN 2011103501709 A CN2011103501709 A CN 2011103501709A CN 201110350170 A CN201110350170 A CN 201110350170A CN 102508626 A CN102508626 A CN 102508626A
- Authority
- CN
- China
- Prior art keywords
- printer
- printers
- printing
- platform
- print out
- 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.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本发明公开了一种新型并行打印调度方法及系统,打印服务器所在的主机连有若干可用的打印机,并维护一个打印机列表,在每次重新启动或有新的打印机加入时更新此列表。为了实现一个文档的并行打印,客户端在打印之前向服务器发送一个包含欲申请打印机数目N的消息,然后将欲打印的文档分割成打印页,发送到打印服务器。打印服务器接收客户端发送过来的打印任务后,根据申请的打印机数目N,以页为单位,将打印任务以一定的策略添加到被调度的N台打印机的打印队列。本发明的技术方案具有能够充分利用打印资源、便于统一管理、高效率的特点。
Description
技术领域
本发明属计算机软件设计与开发技术领域,涉及一种打印调度方法及系统,具体是一种新型并行打印调度方法及系统。
背景技术
长期以来,打印机调度策略一直采用传统的串行方式,即以文档为打印单位,将一个文档的所有打印页顺序地送到打印机,由打印机按顺序一页一页地将文档打印。在拥有多台打印机时,这种粗粒度的调度方法不能进行作业的并行调度,无法实现打印机的高效作业;同时,用户指定打印机的使用模式,不能够对多台打印机进行有策略的自动调度,造成打印机使用不平均、不合理使用打印机等现象,带来打印机寿命降低、能耗增大等问题。
发明内容
本发明的目的在于弥补现有技术的空白,提供一种能够充分利用打印资源、便于统一管理、高效率的新型并行打印调度方法及系统,其具体技术方案为:
一种新型并行打印调度方法,包括以下步骤:
获得当前打印机的队列,依次判断各打印机状态是否空闲,从而得到一个可用打印机队列的列表,如果此队列为空,则所有打印机均处于忙的状态,将当前打印任务分配给打印机列表中执行打印任务最少的N台打印机;
如果可用打印机列表中打印机数量不足N台,则将可用打印机全部作为目标打印机,并从打印机列表剩余的打印机中继续选择执行打印任务次数最少的打印机;
如果可用打印机列表中打印机数量大于等于N台,则从可用打印机列表中查看是否存在距离当前时间一定时间间隔内执行过打印任务的打印机,如果存在此种打印机且数量大于等于N台,则在其中选择执行打印任务最少的N台打印机作为目标打印机;
若此种打印机数量不足N台,则从可用打印机列表剩余的打印机中继续选择执行打印任务次数最少的打印机;
如果没有此种打印机,就在可用打印机列表中选择执行打印任务次数最少的N台打印机执行当前打印任务;
所需的N台打印机选择完成后,之后到来的文档各页任务均衡地分配到各个打印机进行打印;
执行完此文档任务后,将各打印机的打印任务次数值加上此文档分配到其上的页数作为其新的打印任务次数,同时记录下最后一个打印任务的时间,一个文档打印周期结束,继续等待下一个文档的到来。
一种新型并行打印调度系统,打印服务器2位于打印管理平台上,对域内所有的打印机3进行统一管理,维护一个打印机列表,客户端1与打印服务器2相连,向打印服务器提交打印任务。
进一步优选,在每次重新启动或有新的打印机加入时更新所述列表。
进一步优选,客户端在打印之前向服务器发送一个包含欲申请打印机数目N的消息,然后将欲打印的文档分割成打印页,发送到打印服务器,打印服务器接收客户端发送过来的打印任务后,根据申请的打印机数目N,以页为单位,将打印任务添加到被调度的N台打印机的打印队列。
与现有技术相比,本发明的有益效果:
1、本发明打印任务以文档页为调度单位,实现作业更细粒度的划分,提高打印作业调度的并行度,提高多页文档的打印输出速度;
2、本发明所述系统所有打印机由打印服务器统一控制,便于管理和维护;
3、本发明所述系统打印机均衡使用,延长打印机工作寿命;
4、本发明所述方法优先调度在一定时间间隔内执行过打印任务的打印机,可以有效地降低打印机冷却、预热阶段的时间和能源消耗。
附图说明
图1为本发明服务器任务调度整体的流程图;
图2为本发明调度算法流程图;
图3为本发明新型并行打印调度系统示意图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细地说明。
参照图1,服务器程序初始化时扫描打印机,得到打印机的列表,将此打印机列表保存到一个结构体数组PrinterList中,结构体中包含的数据类型有PrinterName,TaskNumber,TaskTime。PrinterName用于存放打印机的名称,TaskNumber初始化为0,TaskTime初始化为当前时间。将结构体数组PrinterList中的数组元素和数据库中PrinterList表中保存的打印机列表进行比较,已有的打印机在表中保持不变;新加入的打印机添入PrinterList表中;原PrinterList表中存在,但此次扫描不存在的打印机表项从PrinterList表中删除,完成更新打印机列表的功能,并同步结构体数组PrinterList和数据库中PrinterList表。
在对文档进行打印操作时,由客户端向服务器发送一个包含客户端欲申请的打印机数N(N介于1到打印机总数之间)的消息,服务器收到消息请求,通过打印调度算法选择出打印本文档所需的N台打印机,为文档任务分配一个ID,将此ID返回客户端,同时在服务器端的当前打印文档列表DocumentList中添加此打印项,表项包含ID、所需的N台打印机列表、超时定时器Timer。客户端文档以页为单位向服务器发送,在发送每一页前加上之前服务器分配的ID值和当前页码Page,如果在定时器Timer超时之前收到具有此ID的页,表明此页与之前具有相同ID的页为同一文档中的页,则将此页送到N台打印机列表中的一台进行打印,为使N台打印机任务量较为均衡,可以将Page模N得到的余数作为打印机分配的依据;如果定时器Timer超过某时间阈值TH_Time,则表明此ID代表的文档任务结束,或遇到问题终止,将与此打印文档相关的N台打印机在数据库中表PrinterList的表项的TaskNumber和TaskTime两个属性的值进行更新,同时同步结构体数组PrinterList中相应元素的值,并将此ID相关的打印文档列表中的表项清除,继续等待新任务的到来。
选择所需的N台打印机的打印调度算法的流程图如图2所示,具体描述如下:扫描结构体数组PrinterList,将当前工作状态为空闲的打印机加入可用打印机列表AvailPrinterList数组中。如果当前所有打印机的状态都是忙,即指定打印机列表中TaskNumber最小即执行打印任务次数最少的N台打印机作为执行此次打印任务的打印机;如果AvailPrinterList数组的元素项数m大于0小于N,则将此m台打印机作为执行此打印任务的打印机,同时指定剩余的打印机中TaskNumber最小的(N-m)台作为此次打印任务的打印机;如果AvailPrinterList数组的元素项数m大于等于N,继续进行判断:将AvailPrinterList数组中的打印机表项的上次执行打印任务时间TaskTime与当前时间进行比较,将时间间隔小于规定时间阈值ThresHold的打印机加入到AvialablePrinters数组中,如果AvialablePrinters数组中元素数n为0,则选择AvailPrinterList数组中TaskNumber最小的N台打印机作为此次打印任务的打印机;如果AvialablePrinters数组中元素数n大于0小于N,则将此n台打印机作为此打印任务的打印机,同时指定AvailPrinterList数组中剩余的打印机中TaskNumber最小的(N-n)台作为此次打印任务的打印机;如果AvialablePrinters数组中元素数n大于等于N,则在n台中选择TaskNumber最小的N台作为此次打印任务的打印机。
如图3所示,一种新型并行打印调度系统,打印服务器2位于打印管理平台上,对域内所有的打印机3进行统一管理,便于维护,客户端1与服务器2相连,向服务器提交打印任务。
本实施例的软件环境为Microsoft Visual C++6.0和Microsoft SQL Server 2000,编程语言和数据库环境不局限于此。在数据库中创建一张名为PrinterList的表,表中设置4个属性列,分别为ID、PrinterName、TaskNumber、TaskTime,ID列用于标示表中记录的编号,PrinterName列用于存放与服务器端相连的打印机名称,TaskNumber列用于存放打印机执行过的打印任务次数,TaskTime列用于存放打印机最后一次执行打印任务的时间。
本发明的实施例不限于此,任何形式的简单变换或者等效替换,均落入本发明的保护范围之内。
Claims (4)
1.一种新型并行打印调度方法,其特征在于,包括以下步骤:
获得当前打印机的队列,依次判断各打印机状态是否空闲,从而得到一个可用打印机队列的列表,如果此队列为空,则所有打印机均处于忙的状态,将当前打印任务分配给打印机列表中执行打印任务最少的N台打印机;
如果可用打印机列表中打印机数量不足N台,则将可用打印机全部作为目标打印机,并从打印机列表剩余的打印机中继续选择执行打印任务次数最少的打印机;
如果可用打印机列表中打印机数量大于等于N台,则从可用打印机列表中查看是否存在距离当前时间一定时间间隔内执行过打印任务的打印机,如果存在此种打印机且数量大于等于N台,则在其中选择执行打印任务最少的N台打印机作为目标打印机;
若此种打印机数量不足N台,则从可用打印机列表剩余的打印机中继续选择执行打印任务次数最少的打印机;
如果没有此种打印机,就在可用打印机列表中选择执行打印任务次数最少的N台打印机执行当前打印任务;
所需的N台打印机选择完成后,之后到来的文档各页任务均衡地分配到各个打印机进行打印;
执行完此文档任务后,将各打印机的打印任务次数值加上此文档分配到其上的页数作为其新的打印任务次数,同时记录下最后一个打印任务的时间,一个文档打印周期结束,继续等待下一个文档的到来。
2.一种新型并行打印调度系统,其特征在于,打印服务器(2)位于打印管理平台上,对域内所有的打印机(3)进行统一管理,维护一个打印机列表,客户端(1)与打印服务器(2)相连,向打印服务器提交打印任务。
3.根据权利要求2所述的新型并行打印调度系统,其特征在于,在每次重新启动或有新的打印机加入时更新所述列表。
4.根据权利要求2所述的新型并行打印调度系统,其特征在于,客户端在打印之前向服务器发送一个包含欲申请打印机数目N的消息,然后将欲打印的文档分割成打印页,发送到打印服务器,打印服务器接收客户端发送过来的打印任务后,根据申请的打印机数目N,以页为单位,将打印任务添加到被调度的N台打印机的打印队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103501709A CN102508626A (zh) | 2011-11-09 | 2011-11-09 | 一种新型并行打印调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103501709A CN102508626A (zh) | 2011-11-09 | 2011-11-09 | 一种新型并行打印调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102508626A true CN102508626A (zh) | 2012-06-20 |
Family
ID=46220721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103501709A Pending CN102508626A (zh) | 2011-11-09 | 2011-11-09 | 一种新型并行打印调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508626A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999306A (zh) * | 2012-10-19 | 2013-03-27 | 青岛英特沃克网络科技有限公司 | 互联网打印系统及方法 |
CN103414763A (zh) * | 2013-07-24 | 2013-11-27 | 华为技术有限公司 | 控制管理设备的方法和相关设备 |
CN108170388A (zh) * | 2018-01-10 | 2018-06-15 | 北京航空航天大学 | 打印任务调度方法、装置及系统 |
CN109720109A (zh) * | 2017-10-31 | 2019-05-07 | 精工爱普生株式会社 | 液体喷出装置的控制方法 |
CN109753253A (zh) * | 2019-01-07 | 2019-05-14 | 携程旅游信息技术(上海)有限公司 | 用于单据匹配打印的方法、设备、系统以及介质 |
CN110109631A (zh) * | 2019-05-15 | 2019-08-09 | 宜春宜联科技有限公司 | 一种打印任务分配方法及服务器 |
CN110196693A (zh) * | 2018-02-26 | 2019-09-03 | 光宝电子(广州)有限公司 | 打印系统与打印方法 |
CN110246277A (zh) * | 2019-06-13 | 2019-09-17 | 宜春宜联科技有限公司 | 文件打印方法、控制装置及控制设备 |
CN114911432A (zh) * | 2022-05-19 | 2022-08-16 | 北京博源恒芯科技股份有限公司 | 一种多打印机并行打印方法、装置和电子设备 |
CN117908810A (zh) * | 2024-03-20 | 2024-04-19 | 深圳特发东智科技有限公司 | 一种基于云端服务器的共享打印系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2368954A (en) * | 2000-07-11 | 2002-05-15 | Hewlett Packard Co | Distributed printing system |
CN1515991A (zh) * | 2002-12-27 | 2004-07-28 | 精工爱普生株式会社 | 分布式打印系统、方法、程序、打印机以及打印机管理服务器 |
CN101582016A (zh) * | 2009-05-27 | 2009-11-18 | 北京大学 | 一种打印数据的方法及装置 |
-
2011
- 2011-11-09 CN CN2011103501709A patent/CN102508626A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2368954A (en) * | 2000-07-11 | 2002-05-15 | Hewlett Packard Co | Distributed printing system |
CN1515991A (zh) * | 2002-12-27 | 2004-07-28 | 精工爱普生株式会社 | 分布式打印系统、方法、程序、打印机以及打印机管理服务器 |
CN101582016A (zh) * | 2009-05-27 | 2009-11-18 | 北京大学 | 一种打印数据的方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999306B (zh) * | 2012-10-19 | 2017-05-31 | 青岛英特沃克网络科技有限公司 | 互联网打印系统及方法 |
CN102999306A (zh) * | 2012-10-19 | 2013-03-27 | 青岛英特沃克网络科技有限公司 | 互联网打印系统及方法 |
CN103414763A (zh) * | 2013-07-24 | 2013-11-27 | 华为技术有限公司 | 控制管理设备的方法和相关设备 |
US10218578B2 (en) | 2013-07-24 | 2019-02-26 | Huawei Technologies Co., Ltd. | Method for controlling a management device and related device |
CN109720109A (zh) * | 2017-10-31 | 2019-05-07 | 精工爱普生株式会社 | 液体喷出装置的控制方法 |
CN108170388A (zh) * | 2018-01-10 | 2018-06-15 | 北京航空航天大学 | 打印任务调度方法、装置及系统 |
CN108170388B (zh) * | 2018-01-10 | 2021-01-05 | 北京航空航天大学 | 打印任务调度方法、装置及系统 |
CN110196693A (zh) * | 2018-02-26 | 2019-09-03 | 光宝电子(广州)有限公司 | 打印系统与打印方法 |
CN109753253A (zh) * | 2019-01-07 | 2019-05-14 | 携程旅游信息技术(上海)有限公司 | 用于单据匹配打印的方法、设备、系统以及介质 |
CN109753253B (zh) * | 2019-01-07 | 2022-02-01 | 携程旅游信息技术(上海)有限公司 | 用于单据匹配打印的方法、设备、系统以及介质 |
CN110109631A (zh) * | 2019-05-15 | 2019-08-09 | 宜春宜联科技有限公司 | 一种打印任务分配方法及服务器 |
CN110246277A (zh) * | 2019-06-13 | 2019-09-17 | 宜春宜联科技有限公司 | 文件打印方法、控制装置及控制设备 |
CN114911432A (zh) * | 2022-05-19 | 2022-08-16 | 北京博源恒芯科技股份有限公司 | 一种多打印机并行打印方法、装置和电子设备 |
CN117908810A (zh) * | 2024-03-20 | 2024-04-19 | 深圳特发东智科技有限公司 | 一种基于云端服务器的共享打印系统 |
CN117908810B (zh) * | 2024-03-20 | 2024-06-07 | 深圳特发东智科技有限公司 | 一种基于云端服务器的共享打印系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508626A (zh) | 一种新型并行打印调度方法及系统 | |
CN104915407B (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
Huang et al. | Yugong: Geo-distributed data and job placement at scale | |
CN102043675B (zh) | 一种基于任务处理请求任务量大小的线程池管理方法 | |
CN102521044B (zh) | 一种基于消息中间件的分布式任务调度方法及系统 | |
CN100533387C (zh) | 执行作业步的系统和方法 | |
CN1297894C (zh) | 用于调度作业的方法、调度器以及网络计算机系统 | |
CN101166218B (zh) | 图像形成装置 | |
CN101739293A (zh) | 一种基于多线程的卫星数据产品生产任务并行调度方法 | |
US20100195141A1 (en) | Print job scheduling | |
CN1581806A (zh) | 平衡网格计算环境中的工作负荷的方法和系统 | |
CN103810046A (zh) | 一种单机资源管理方法及系统 | |
CN103810023A (zh) | 一种云平台中分布式应用的智能部署方法及系统 | |
CN103530189A (zh) | 一种面向流式数据的自动伸缩及迁移的方法及装置 | |
CN103634330A (zh) | 一种云计算环境下的资源自动分配方法 | |
CN102262564A (zh) | 视频监控平台系统的线程池结构及实现方法 | |
WO2015100995A1 (zh) | 一种智能服务调度方法 | |
US8539495B2 (en) | Recording medium storing therein a dynamic job scheduling program, job scheduling apparatus, and job scheduling method | |
US10142195B1 (en) | Partitioned performance tracking core resource consumption independently | |
CN101477449A (zh) | 打印管理系统及打印管理方法 | |
CN101645022A (zh) | 用于多个集群的作业调度管理系统及方法 | |
US10148531B1 (en) | Partitioned performance: adaptive predicted impact | |
CN103491024A (zh) | 一种面向流式数据的作业调度方法及装置 | |
CN1869933A (zh) | 实现数据升级的计算机处理系统和数据升级方法 | |
CN111190691A (zh) | 适用于虚拟机的自动迁移方法、系统、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120620 |