光栅化处理方法、处理装置和处理系统的制作方法_4

文档序号:8258470阅读:来源:国知局
理结果进行合并,并反馈至主作业控制器406。
[0092]类似地,任务控制器410B或从作业控制器408也负责对相应的处理进程412处理的对应于同一打印作业的光栅化任务进行调度,当同一打印作业的所有光栅化任务都完成处理后,对处理结果进行合并,并反馈至主作业控制器406。
[0093]而主作业控制器406则对同一打印作业的所有光栅化任务进行调度,若全部完成,则合并相应的所有处理结果,以合并为对应于该打印作业的处理结果。
[0094]为了降低系统的运算复杂度,避免光栅化任务的反复交叉容易造成混乱,应当使得仅由主作业控制器406向系统配置和调度管理器404请求打印作业,并执行拆分任务操作,而其他的从作业控制器408则仅向主作业控制器406发起任务请求和反馈。
[0095]当然,如果主机性能允许,实际上也可以由从作业控制器408向系统配置和调度管理器404发起对打印作业的请求。但从作业控制器408在请求打印作业时,如果它所附属的主作业控制器406正在处理的作业优先级更高,并且该作业设定为协同作业,则从作业控制器408需要先向主作业控制器406请求当前作业的一组页面光栅化任务进行处理,或者向系统配置和调度管理器404请求新的优先级更高的打印作业进行处理。
[0096]图5为图4所示实施例的光栅化任务的处理交互示意图。
[0097]打印客户端(PrintClient)向系统配置和调度管理器(SystemCoordinator)提交并创建打印作业传票(JobTicket)后,主作业控制器(Primary JobControlIer)向系统配置和调度管理器发出作业请求,系统配置和调度管理器根据作业调度算法向主作业控制器分配打印作业传票。
[0098]主作业控制器获取打印作业传票后,分析RIP参数和页面文件资源,将打印作业传票分拆为多个单页面RIP任务(RipTask),并加入到其任务队列中。
[0099]如图5所示,主作业控制器406对打印作业传票进行拆分后,将其加入到全部任务队列中,比如其中的RipTask (Pagel)即对应于该打印作业传票的第一页的单页面RIP任务,其他单页面RIP任务依次向后排列。
[0100]更为具体地,该单页面RIP任务队列是一个二维队列,如图6所示。其中,多个作业之间沿纵向排列并按照预设顺序依次处理,如作业1-作业2-......-作业N ;每个作业对应于多个单页面RIP任务,比如作业I对应于任务1-任务2-任务3等。
[0101]其中,为了区分不同的作业,避免发生混淆,每个打印作业传票具有一个全局唯一的作业标识。拆分后的单页面RIP任务为一个最小的RIP处理单元,即一个页面。每个单页面RIP任务可以以Key-Value对的形式进入单页面RIP任务队列,作业Key-Value对的一种具体形式如下:
[0102]< (作业标识,页号),页面数据〉
[0103]通过上述形式的作业Key-Value对,使得每个任务与相应的打印作业传票之间存在关联,且不同任务之间能够被有效区分,从而确保打印任务的有序进行。
[0104]如图5所示,任务控制器410A直接连接至主作业控制器406,并从全部任务队列中分配一部分队列,比如RipTask (Pagel)至RipTask (PageN3)等;然后,通过调用一个或多个处理进程412,分别对每个具体的单页面RIP任务进行处理。
[0105]同时,对于需要协同处理的打印任务,由从作业控制器408向主作业控制器406发起任务请求,从全部任务队列中分配一部分队列,比如RipTask (PageNl)至RipTask(PageN2)等;然后,由任务控制器410B将上述的单页面RIP任务分别分配至每个调用的处理进程412,以实现对所有单页面RIP任务的处理。
[0106]通过上述方式,使得所有的打印作业传票以及每个打印作业传票拆分得到的所有单页面RIP任务,都能够得到处理;然后,通过对同一打印作业传票对应的所有单页面RIP任务的处理结果进行合并处理,即可得到该打印作业传票的最终处理结果。
[0107]图7为图4所示实施例的光栅化处理系统的具体功能结构的示意图。
[0108]如图7所示,该光栅化处理系统包括:
[0109]主机A,包括系统配置和调度管理器404,打印作业队列模块404A,共享存储404B。当然,其中的共享存储404B也可以为独立设备,而不处于主机A中;共享存储404B为本实例的的全部模块提供存储。
[0110]主机B,包括主作业控制器406,拆分模块406A,任务队列406B,合并模块406C,任务控制器410A,任务队列414A,合并模块416A,4个处理进程412。在本实施例中,上述模块都设置在一台主机B上,其中任务队列406B包含一个打印作业的全部单页Rip任务,任务队列414A中的任务是任务队列406B中的Rip任务的一个子集。本实施例假定主机B的硬件性能能够支持4个Rip工作进程并行工作。合并模块406C与416A的区别在于:合并模块406C合并整个作业的任务处理结果,整个作业处理过程中,只向主机A上的系统配置和调度管理器404提交一次结果集,合并模块416A每次提交1-4个Rip结果(若4个处理进程412处理的是同一个作业的任务,则可以合并为一个Rip结果;若属于不同作业的任务,则合并为多个RiP结果;最多为4个任务对应的作业都不同,即得到4个Rip结果),相比合并模块406C提交更频繁,且其提交过程限于主机B内通信。
[0111]主机C,包含从作业控制器408,任务控制器410B,4个处理进程412。在本实施例中,上述模块均驻留在同一台主机C上。
[0112]在本实施例中,假定打印作业包含1000个页面,从作业控制器408将协同主作业控制器406共同完成整个作业的光栅化。具体实施步骤如下:
[0113]步骤1,打印客户端402,向系统配置和调度管理器404提交打印作业。系统配置和调度管理器404创建一个作业传票JobTicketl,分配全局唯一的JobID并分配优先级,将其加入到打印作业队列404A,JobTicket中包含的PDF页面文件存储在共享存储404B上。JobTicket中包含了 RIP参数,PDF页面资源等必要性信息。
[0114]步骤2,当主作业控制器406空闲时,它将向系统配置和调度管理器404请求打印作业,系统配置和调度管理器404根据当前打印作业队列404A中作业的优先级,将作业JobTicketl (假定其优先级最高)分配给主作业控制器406。
[0115]在此步骤中,从作业控制器408也可以向系统配置和调度管理器404请求打印作业,若此时主作业控制器406已经请求到打印作业,且JobTicketl的作业优先级更高,则系统配置与调度管理器404将引导其向主作业控制器406发出任务请求。如果主作业控制器406不需要协同,系统配置与调度管理器404将按优先级分配作业给从作业控制器408,其作业处理过程步骤同主作业控制器406的处理过程;否则,如果此时并未完成作业JobTicketl的任务拆分,则从作业控制器408将等待下一次轮询,否则执行步骤4,步骤同主作业控制器406的作业处理过程。
[0116]步骤3,当主作业控制器406获取到打印作业传票后,通过拆分模块406A将JobTicketl拆分为1000个PDF单页面RIP任务,并将拆分后的任务添加的任务队列406B中。
[0117]此时,当从作业控制器408的任务请求到达时,主作业控制器406 —次分配4个(或更多)单页面RIP任务给从作业控制器408,从作业控制器408将继续执行后续处理步骤,与主作业控制器406的处理过程相同。
[0118]步骤4,任务控制器410A执行对4个处理进程412的控制管理。任务控制器410A定期轮询主作业控制器406,当主作业控制器406的任务队列406B不为空时,主作业控制器406将任务分配给任务控制器410A,并更改任务状态,本实施例中一次请求4个单页面RIP任务;如果请求到的任务为空,则等待下一次轮询。
[0119]步骤5,任务控制器410A获取到新的单页面RIP任务后,查询当前空闲的处理进程412,当有空闲的处理进程412时,向其分配单页面RIP任务。
[0120]步骤6,当处理进程412完成对单页面RIP任务的处理后,将结果反馈给任务控制器
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1