一种处理打印任务的方法和装置的制作方法

文档序号:6598340阅读:118来源:国知局
专利名称:一种处理打印任务的方法和装置的制作方法
技术领域
本发明涉及数字化印刷领域,特别涉及一种处理打印任务的方法和装置。
背景技术
在印刷领域中,用户需要打印一个作业时,打印软件会生成一个打印任务,然后将需要打印的数据分成多个数据段,按照数据的顺序进行处理后输出到打印设备,进行的处理包括点阵栅格化,挂网,校色等。随着硬件设备的发展,打印设备打印的速度不断加快。一个数据段经过栅格化,挂网,校色等处理后再输出到打印设备,有时会跟不上打印设备的速度。比如前面的数据段打印完成,但是后面的数据段还没有输出给打印设备,这时会表现为打印设备在打印过程中出现停顿。综上所述,目前处理打印任务的方法速度比较慢,有可能出现打印设备等待打印软件处理打印任务的情况,从而降低了打印速度。

发明内容
本发明实施例提供处理打印任务的方法和装置,用以提高处理打印任务的速度, 避免出现打印设备等待打印软件处理打印任务的情况,从而提高打印速度。本发明实施例提供的一种处理打印任务的方法,该方法包括打印初始化处理模块对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组;所述打印初始化处理模块在所述打印处理模块组将所述第一缓冲区的数据段发送给打印设备之前,对第二缓冲区的数据段进行打印初始化处理,并在所述第二缓冲区的数据段打印初始化处理后,通知打印处理模块组。本发明实施例提供的一种处理打印任务的装置,该装置包括打印初始化处理模块,用于对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组,在所述打印处理模块组将所述第一缓冲区的数据段发送给打印设备之前,对第二缓冲区的数据段进行打印初始化处理,并在所述第二缓冲区的数据段打印初始化处理后,通知打印处理模块组。打印处理模块组,用于对所述打印初始化处理模块通知的缓冲区中的数据段进行处理,并将处理后的数据段发送给打印设备。本发明实施例打印初始化处理模块对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组;打印初始化处理模块在打印处理模块组将第一缓冲区的数据段发送给打印设备之前,对第二缓冲区的数据段进行打印初始化处理,并在第二缓冲区的数据段打印初始化处理后,通知打印处理模块组。由于每个打印处理模块可以并行处理每段打印数据,从而提高处理打印任务的速度,避免出现打印设备等待打印软件处理打印任务的情况,提高打印速度;进一步提高了用户体验。


图1为本发明实施例处理打印任务的装置结构示意图;图2为本发明实施例第一种处理打印任务的方法流程示意图;图3为本发明实施例第二种处理打印任务的方法流程示意图。
具体实施例方式本发明实施例打印初始化处理模块对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组;打印初始化处理模块在打印处理模块组将第一缓冲区的数据段发送给打印设备之前,对第二缓冲区的数据段进行打印初始化处理,并在第二缓冲区的数据段打印初始化处理后,通知打印处理模块组。由于每个打印处理模块可以并行处理每段打印数据,从而提高处理打印任务的速度,避免出现打印设备等待打印软件处理打印任务的情况,提高打印速度。下面结合说明书附图对本发明实施例作进一步详细描述。如图1所示,本发明实施例处理打印任务的装置包括打印初始化处理模块10和打印处理模块组20。打印初始化处理模块10,用于对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组20,在打印处理模块组20将第一缓冲区的数据段发送给打印设备之前, 对第二缓冲区的数据段进行打印初始化处理,并在第二缓冲区的数据段打印初始化处理后,通知打印处理模块组20。打印处理模块组20,用于对打印初始化处理模块10通知的缓冲区中的数据段进行处理,并将处理后的数据段发送给打印设备。其中,打印处理模块组20是由多个打印处理模块组成的。根据对打印任务处理过程不同,打印初始化处理模块10对数据的处理过程也不相同;相应的,打印处理模块组20中的模块数量也不相同。
比如如果对打印任务的处理需要经过栅格化,挂网,校色,驱动处理,则打印初始化处理模块10是对数据段进行栅格化处理,打印处理模块组20中包括挂网模块,校色模块和驱动模块。如果对打印任务的处理需要经过挂网,校色,驱动处理,则打印初始化处理模块10 是对数据段进行挂网处理,打印处理模块组20中包括校色模块和驱动模块。其中,本发明实施例处理打印任务的装置还可以进一步包括控制模块30。控制模块30,用于将待打印数据平均分成多个数据段,将多个数据段按打印先后顺序分别置于多个缓冲区中。具体分成多少个数据段以及缓冲区的数量可以根据需要进行设定;较佳的,设置的缓冲区的数量大于处理模块的数量(即打印初始化处理模块和打印处理模块组中的所有模块)。数据段的大小可以根据作业的宽,高参数和打印分辨率和色面数计算出来。具体是作业的宽(像素)*当前段高(像素)*色面数/每字节的像素数,当前段高是缓冲区大小除以作业的宽。当然,数据段的大小也可以不按照上面的方式设定,而是根据需要进行设定。对于缓冲区的大小,只要保证缓冲区的容量不小于数据段的大小就可以。当然,根据需要也可以不限定缓冲区的数量,比如有多少数据段就申请多少缓冲区,但是如果需要打印的数据很大,数据段很多,则会占用大量的缓冲区,增加了系统的负担。在具体实施过程中,控制模块30在一个打印任务生成后,可以为每一个处理模块申请一个线程。控制模块30在将一个数据段置于一个缓冲区中后,会将该缓冲区的状态从空闲状态转换为使用状态,以及生成针对该数据段的打印参数,比如作业的宽,高,当前数据段的高,打印分辨率和色面数,作业状态,本数据段是否是最后一段等参数,并将该打印参数和该缓冲区的指针通知打印初始化处理模块10。具体的,控制模块30可以通过堆栈方式将该打印参数和该缓冲区的指针通知打印初始化处理模块10,由于每个数据段置于一个缓冲区中后都会有一套打印参数和指针, 所以堆栈中会累积多套打印参数和指针,打印初始化处理模块10会按照存储到堆栈的时间先后顺序进行处理,也就是说,打印初始化处理模块10会处理先存储到堆栈中的打印参数和指针。相应的,打印初始化处理模块10会根据打印参数,处理指针对应的缓冲区中的数据段。在处理完成后,打印初始化处理模块10同样会将打印参数和指针通过堆栈通知打印处理模块组20中的第一个打印处理模块;相应的,第一个打印处理模块根据打印参数,处理指针对应的缓冲区中的数据段后,将打印参数和指针通过堆栈通知给打印处理模块组20中的下一个打印处理模块,依此类推,直到打印处理模块组20中的最后一个打印处理模块根据打印参数,将指针对应的缓冲区中的数据段发送给打印设备后,将该缓冲区的状态从使用状态转换为空闲状态。由于每个处理模块都会对应一个堆栈,每个处理模块在处理完一个缓冲区中的数据段,并通知下一个处理模块后,会继续从堆栈中选择没有处理的指针对应的缓冲区进行处理,从而达到了多个处理模块并行处理的效果,提高了处理打印任务的速度。需要说明的是,本发明实施例并不局限于堆栈的通知方式,其他能够通知打印参数和指针的方式都适用本发明实施例。如果数据段的数量大于缓冲区的数量,控制模块30按打印先后顺序将前N个数据段置于N个缓冲区中,其中N是缓冲区的数量;控制模块30在确定有空闲状态的缓冲区(即缓冲区的状态从使用状态转换为空闲状态)时,按打印先后顺序将没有缓存的数据段置于缓冲区中。在具体实施过程中,打印初始化处理模块10和打印处理模块组20根据打印参数确定打印参数对应的数据段是最后一个数据段,并对该数据段完成处理后,确定打印任务结束。具体的,控制模块30将最后一个数据段置于缓冲区后,可以设置作业结束标记; 控制模块30激发一个结束事件,每个处理模块确定打印任务结束,且见到结束事件后,设置自身处理完毕;控制模块在每个处理模块都设置处理完毕后,释放缓冲区,关闭各线程,确定打印作业结束。如图2所示,本发明实施例第一种处理打印任务的方法包括下列步骤步骤201、打印初始化处理模块对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组。步骤202、打印初始化处理模块在打印处理模块组将第一缓冲区的数据段发送给打印设备之前,对第二缓冲区的数据段进行打印初始化处理,并在第二缓冲区的数据段打印初始化处理后,通知打印处理模块组。其中,根据对打印任务处理过程不同,打印初始化处理模块对数据的处理过程也不相同;相应的,打印处理模块组中的模块数量也不相同。比如如果对打印任务的处理需要经过栅格化,挂网,校色,驱动处理,则打印初始化处理模块是对数据段进行栅格化处理,打印处理模块组中包括挂网模块,校色模块和驱动模块。如果对打印任务的处理需要经过挂网,校色,驱动处理,则打印初始化处理模块是对数据段进行挂网处理,打印处理模块组中包括校色模块和驱动模块。其中,步骤201之前还可以进一步包括步骤200、控制模块将待打印数据平均分成多个数据段,将多个数据段按打印先后顺序分别置于多个缓冲区中。具体分成多少个数据段以及缓冲区的数量可以根据需要进行设定;较佳的,设置的缓冲区的数量大于处理模块的数量(即打印初始化处理模块和打印处理模块组中的所有模块)。数据段的大小可以根据作业的宽,高参数和打印分辨率和色面数计算出来。具体是作业的宽(像素)*当前段高(像素)*色面数/每字节的像素数,当前段高是缓冲区大小除以作业的宽。当然,数据段的大小也可以不按照上面的方式设定,而是根据需要进行设定。对于缓冲区的大小,只要保证缓冲区的容量不小于数据段的大小就可以。当然,根据需要也可以不限定缓冲区的数量,有多少数据段就申请多少缓冲区,但是如果需要打印的数据很大,数据段很多,则会占用大量的缓冲区,增加了系统的负担。在具体实施过程中,控制模块可以在一个打印任务生成后,为每一个处理模块,向操作系统申请一个线程。控制模块在将一个数据段置于一个缓冲区中后,会将该缓冲区的状态从空闲状态转换为使用状态,以及生成针对该数据段的打印参数,并将该打印参数和该缓冲区的指针通知打印初始化处理模块。具体的,控制模块可以通过堆栈方式将该打印参数和该缓冲区的指针通知打印初始化处理模块,由于每个数据段置于一个缓冲区中后都会有一套打印参数和指针,所以堆栈中会累积多套打印参数和指针,打印初始化处理模块会按照存储到堆栈的时间先后顺序进行处理,也就是说,打印初始化处理模块会处理先存储到堆栈中的打印参数和指针。相应的,打印初始化处理模块会根据打印参数,处理指针对应的缓冲区中的数据段。在处理完成后,打印初始化处理模块同样会将打印参数和指针通过堆栈通知打印处理模块组中的第一个打印处理模块;相应的,第一个打印处理模块根据打印参数,处理指针对应的缓冲区中的数据段后,将打印参数和指针通过堆栈通知给打印处理模块组中的下一个打印处理模块,依此类推,直到打印处理模块组中的最后一个打印处理模块根据打印参数,将指针对应的缓冲区中的数据段发送给打印设备后,将该缓冲区的状态从使用状态转换为空闲状态。由于每个处理模块都会对应一个堆栈,每个处理模块在处理完一个缓冲区中的数据段,并通知下一个处理模块后,会继续从堆栈中选择没有处理的指针对应的缓冲区进行处理,从而达到了多个处理模块并行处理的效果,提高了处理打印任务的速度。需要说明的是,本发明实施例并不局限于堆栈的通知方式,其他能够通知打印参数和指针的方式都适用本发明实施例。如果数据段的数量大于缓冲区的数量,控制模块按打印先后顺序将前N个数据段置于N个缓冲区中,其中N是缓冲区的数量;控制模块在确定有空闲状态的缓冲区(即缓冲区的状态从使用状态转换为空闲状态)时,按打印先后顺序将没有缓存的数据段置于缓冲区中。在具体实施过程中,打印初始化处理模块和打印处理模块组根据打印参数确定打印参数对应的数据段是最后一个数据段,并对该数据段完成处理后,确定打印任务结束。具体的,控制模块将最后一个数据段置于缓冲区后,可以设置作业结束标记;控制模块激发一个结束事件,每个处理模块确定打印任务结束,且见到结束事件后,设置自身处理完毕;控制模块在每个处理模块都设置处理完毕后,释放缓冲区,关闭各线程,确定打印作业结束。下面以打印任务处理过程包括挂网、校色和驱动三个过程为例进行详细说明。如图3所示,本发明实施例第二种处理打印任务的方法包括下列步骤打印初始化处理模块为挂网处理模块,打印处理模块组中包括校色处理模块和驱动处理模块。步骤301、控制模块为挂网处理模块、校色处理模块和驱动处理模块分别申请一个线程。步骤302、控制模块将待打印数据平均分成多个数据段,将多个数据段按打印先后顺序分别置于多个缓冲区中。其中,控制模块在将一个数据段置于一个缓冲区中后,会将该缓冲区的状态从空闲状态转换为使用状态,以及生成针对该数据段的打印参数,并将该打印参数和该缓冲区的指针存储到挂网处理模块对应的堆栈中。步骤303、线程启动。步骤304、挂网处理模块按照存储到堆栈中的时间顺序,从先到后选择一套打印参数和指针,根据打印参数对指针对应的缓冲区中的数据段进行挂网处理,并将该打印参数和该缓冲区的指针存储到校色处理模块对应的堆栈中。步骤305、挂网处理模块根据打印参数判断对应的数据段是否是最后一个数据段, 如果是,则执行步骤310 ;否则,返回步骤304。步骤306、校色处理模块按照存储到堆栈中的时间顺序,从先到后选择一套打印参数和指针,根据打印参数对指针对应的缓冲区中的数据段进行校色处理,并将该打印参数和该缓冲区的指针存储到驱动处理模块对应的堆栈中。步骤307、校色处理模块根据打印参数判断对应的数据段是否是最后一个数据段, 如果是,则执行步骤310 ;否则,返回步骤306。步骤308、驱动处理模块按照存储到堆栈中的时间顺序,从先到后选择一套打印参数和指针,根据打印参数将指针对应的缓冲区中的数据段进行处理后发送给打印设备,并将该指针对应的缓冲区的状态从使用状态转换为空闲状态。步骤309、驱动处理模块根据打印参数判断对应的数据段是否是最后一个数据段, 如果是,则执行步骤310 ;否则,返回步骤308。步骤310、确定打印作业结束。步骤311、控制模块释放缓冲区,并关闭各线程。其中,步骤304、306和308是并行处理过程,没有先后顺序。从上述实施例中可以看出本发明实施例打印初始化处理模块对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组;打印初始化处理模块在打印处理模块组将第一缓冲区的数据段发送给打印设备之前,对第二缓冲区的数据段进行打印初始化处理,并在第二缓冲区的数据段打印初始化处理后,通知打印处理模块组。由于每个打印处理模块可以并行处理每段打印数据,从而提高处理打印任务的速度,避免出现打印设备等待打印软件处理打印任务的情况,提高打印速度;进一步提高了用户体验。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种处理打印任务的方法,其特征在于,应用于包括打印初始化处理模块和打印处理模块组的打印处理系统,该方法包括打印初始化处理模块对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组;所述打印初始化处理模块在所述打印处理模块组将所述第一缓冲区的数据段发送给打印设备之前,对第二缓冲区的数据段进行打印初始化处理,并在所述第二缓冲区的数据段打印初始化处理后,通知打印处理模块组。
2.如权利要求1所述的方法,其特征在于,所述打印处理系统还包括控制模块; 所述打印初始化处理模块对第一缓冲区的数据段进行打印初始化处理之前还包括 控制模块将待打印数据平均分成多个数据段,将多个数据段按打印先后顺序分别置于多个缓冲区中。
3.如权利要求2所述的方法,其特征在于,针对每一个数据段,所述控制模块将数据段存入缓冲区后,生成该数据段的打印参数,并将打印参数和该缓冲区的指针通知所述打印初始化处理模块。
4.如权利要求3所述的方法,其特征在于,所述打印初始化处理模块通知打印处理模块组包括所述打印初始化处理模块将第一缓冲区中数据段的打印参数和第一缓冲区的指针发送给所述打印处理模块组;所述打印初始化处理模块通知打印处理模块组之后还包括 所述打印处理模块组根据打印参数,对指针对应的第一缓冲区中的数据段进行处理。
5.如权利要求2、3或4所述的方法,其特征在于,针对每一个数据段,所述控制模块将数据段存入缓冲区后,将该缓冲区的状态从空闲状态转换为使用状态;所述打印处理模块组将所述第一缓冲区的数据段发送给打印设备之后还包括 所述打印处理模块组将第一缓冲区的状态从使用状态转换为空闲状态。
6.如权利要求5所述的方法,其特征在于,所述数据段的数量大于缓冲区的数量; 所述控制模块将多个数据段按打印先后顺序分别置于多个缓冲区中包括所述控制模块按打印先后顺序将前N个数据段置于N个缓冲区中,其中N是缓冲区的数量;所述控制模块在确定有空闲状态的缓冲区时,按打印先后顺序将没有缓存的数据段置于缓冲区中。
7.如权利要求3所述的方法,其特征在于,该方法还包括所述打印初始化处理模块和所述打印处理模块组根据所述打印参数确定打印参数对应的数据段是最后一个数据段,并对该数据段完成处理后,确定打印任务结束。
8.—种处理打印任务的装置,其特征在于,该装置包括打印初始化处理模块,用于对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组,在所述打印处理模块组将所述第一缓冲区的数据段发送给打印设备之前,对第二缓冲区的数据段进行打印初始化处理,并在所述第二缓冲区的数据段打印初始化处理后,通知打印处理模块组;打印处理模块组,用于对所述打印初始化处理模块通知的缓冲区中的数据段进行处理,并将处理后的数据段发送给打印设备。
9.如权利要求8所述的装置,其特征在于,所述装置还包括控制模块,用于将待打印数据平均分成多个数据段,将多个数据段按打印先后顺序分别置于多个缓冲区中。
10.如权利要求9所述的装置,其特征在于,所述控制模块还用于将一个数据段存入缓冲区后,生成该数据段的打印参数,并将打印参数和该缓冲区的指针通知所述打印初始化处理模块。
11.如权利要求10所述的装置,其特征在于,所述打印初始化处理模块用于将第一缓冲区中数据段的打印参数和第一缓冲区的指针发送给所述打印处理模块组;所述打印初始化处理模块用于根据打印参数,对指针对应的第一缓冲区中的数据段进行处理。
12.如权利要求9、10或11所述的装置,其特征在于,所述控制模块还用于 将一个数据段存入缓冲区后,将该缓冲区的状态从空闲状态转换为使用状态; 所述打印处理模块组还用于将所述第一缓冲区的数据段发送给打印设备之后,将第一缓冲区的状态设置从使用状态转换为空闲状态。
13.如权利要求12所述的装置,其特征在于,所述数据段的数量大于缓冲区的数量; 所述控制模块用于按打印先后顺序将前N个数据段置于N个缓冲区中,其中N是缓冲区的数量,在确定有空闲状态的缓冲区时,按打印先后顺序将没有缓存的数据段置于缓冲区中。
14.如权利要求9所述的装置,其特征在于,所述打印初始化处理模块和所述打印处理模块组还用于根据所述打印参数确定打印参数对应的数据段是最后一个数据段,并对该数据段完成处理后,确定打印任务结束。
全文摘要
本发明实施例涉及数字化印刷领域,特别涉及一种处理打印任务的方法和装置,用以提高处理打印任务的速度,避免出现打印设备等待打印软件处理打印任务的情况,从而提高打印速度。本发明实施例的方法包括打印初始化处理模块对第一缓冲区的数据段进行打印初始化处理后,通知打印处理模块组;在所述打印处理模块组将所述第一缓冲区的数据段发送给打印设备之前,所述打印初始化处理模块对第二缓冲区的数据段进行打印初始化处理,并在所述第二缓冲区的数据段打印初始化处理后,通知打印处理模块组。采用本发明实施例的方法能够提高处理打印任务的速度,避免出现打印设备等待打印软件处理打印任务的情况。
文档编号G06F3/12GK102156622SQ20101011111
公开日2011年8月17日 申请日期2010年2月11日 优先权日2010年2月11日
发明者南水鱼, 沈景华 申请人:北京北大方正电子有限公司, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1