一种印刷数据的处理方法及系统的制作方法

文档序号:6370366阅读:132来源:国知局
专利名称:一种印刷数据的处理方法及系统的制作方法
技术领域
本发明属于印刷技术领域,尤其涉及ー种印刷数据的处理方法及系统。
背景技术
目前,彩色印刷数据处理一般采用单线程或多线程并行处理的方式,单线程的处理方式较为简单,就是依照设定顺序来处理印刷顔色数据;而多线程是同时处理同一页的各个颜色数据,在每ー页处理完毕后都要进行一次线程同步,即等待每ー个线程都处理完数据后,进行线程同步操作之后,将这ー页的印刷数据输出,然后各个并行的线程再同时开始处理下ー页的印刷数据,如图I所示假设当前页面的印刷顔色数据为三种,则处理该当前页面的顔色数据需要三个处理线程,分别假设为黑色数据处理线程、青色数据处理线程和黄色数据处理线程,由于该当前页面需要的黒色数据较多,则上述黒色数据处理线程的处理数据相对较多些,或者,各个线程的对其对应的颜色数据的处理速度存在差异,即各个线程的优先级存在层次差別,因此,存在下述情形在青色数据处理线程和黄色数据处理线程都处理完成时,需要等待黑色数据处理线程完成,才能进行三色数据同步,完成当前页面的顔色数据的处理,然后输出到印刷设备上,执行印刷操作。上述传统的多线程并行处理的方式在线程同步方面存在问题而且扩展也不方便,随着印刷顔色数据的增多,程序需要做较大的改动,而且多线程之间的处理速度差异也不能冗余,印刷数据的处理和传输都存在瓶颈。

发明内容
本发明实施例的目的在于提供ー种印刷数据的处理方法,g在解决现有技术提供的印刷数据的处理方式为单线程方式或者多线程并行处理的方式,该并行的处理线程之间因处理速度的差异导致印刷数据的处理不同步的现象,即已处理完成的线程需要等待没有处理完成的线程,等该多个并行的线程都处理完,完成同步之后才将当前页面的印刷数据输出,从而影响印刷数据的整体传输速度,成为印刷数据传输的瓶颈问题。本发明实施例是这样实现的,ー种印刷数据的处理方法,所述方法具体包括下述步骤申请N个可循环存储使用的缓冲区,所述N个缓冲区对应N+1个处理印刷数据的处理线程,所述缓冲区和处理线程采用流水方式,每两个处理线程之间通过所述缓冲区连接通信,所述缓冲区内设置有若干个存储单元、入口指针和出口指针,所述出口指针定时对所述入口指针所指向的地址进行检测,其中,N为整数;控制第一处理线程对印刷数据文件执行与所述第一处理线程相对应的顔色数据处理操作,并将处理后印刷数据文件通过所述第一缓冲区的入口指针写入所述第一缓冲区的存储单元;当所述第一缓冲区的出口指针检测到所述第一缓冲区的入口指针所指向的地址、发生变化时,控制第二处理线程通过所述第一缓冲区的出口指针读取第一缓冲区的存储单元中存储的印刷数据文件;控制从第二处理线程开始的处理线程执行与第一处理线程相同的处理操作,以及从第二缓冲区开始的缓冲区执行与对第一缓冲区相同的处理操作,直至第N+1个处理线程;控制所述第N+1个处理线程对印刷数据文件进行颜色数据处理,并输出经过N+1个处理线程处理后的印刷数据文件至印刷设备。 进ー步地,所述申请N个缓冲区的步骤之后,所述控制第一处理线程对印刷数据文件进行与所述第一处理线程相对应的顔色数据处理的步骤之前,所述方法还包括下述步骤对印刷数据的源文件进行分类解析,生成包括N+1个分类顔色数据的印刷数据文件。进ー步地,所述印刷数据文件为单ー的印刷数据或印刷数据索引信息。进ー步地,当所述印刷数据文件为印刷数据索引信息时,所述控制第一处理线程对印刷数据文件执行与所述第一处理线程相对应的顔色数据处理操作的步骤之前还包括下述步骤根据所述印刷数据索引信息,调用与所述印刷数据索引信息相对应的印刷数据。本发明实施例的另一目的在于提供ー种印刷数据的处理系统,所述系统具体包括缓冲区申请模块,用于申请N个可循环存储使用的缓冲区,所述N个缓冲区对应N+1个处理印刷数据的处理线程,所述缓冲区和处理线程采用流水方式,每两个处理线程之间通过所述缓冲区连接通信,所述缓冲区内设置有若干个存储単元、入口指针和出口指针,所述出ロ指针定时对所述入口指针所指向的地址进行检测,其中,N为整数;第一控制处理模块,用于控制第一处理线程对印刷数据文件执行与所述第一处理线程相对应的顔色数据处理操作;第一写入操作模块,用于将处理后印刷数据文件通过所述第一缓冲区的入口指针写入所述第一缓冲区的存储单元;第一读取模块,用于当所述第一缓冲区的出口指针检测到所述第一缓冲区的入口指针所指向的地址发生变化时,控制第二处理线程通过所述第一缓冲区的出口指针读取第一缓冲区的存储单元中存储的印刷数据文件;流水控制模块,用于控制从第二处理线程开始的处理线程执行与第一处理线程相同的处理操作,以及从第二缓冲区开始的缓冲区执行与对第一缓冲区相同的处理操作,直至第N+1个处理线程;第N+1控制处理模块,用于控制所述第N+1个处理线程对印刷数据文件进行颜色数据处理;输出模块,用于输出经过N+1个处理线程处理后的印刷数据文件至印刷设备。进ー步地,所述系统还包括分类解析模块,用于对印刷数据的源文件进行分类解析,生成包括N+1个分类颜色数据的印刷数据文件。
进ー步地,所述印刷数据文件为单ー的印刷数据或印刷数据索引信息。进ー步地,当所述印刷数据文件为印刷数据索引信息时,所述系统还包括
调用模块,用于根据所述印刷数据索引信息,调用与所述印刷数据索引信息相对应的印刷数据。在本发明实施例中,在每两个处理线程之间申请一个缓冲区,缓冲区设置有存储単元、入口指针和出口指针,控制第一处理线程对印刷数据文件进行颜色处理,并将处理后的印刷数据通过第一缓冲区的入口指针存储到第一缓冲区的存储单元,控制第二处理线程通过第一缓冲区的出口指针读取存储单元中的印刷数据,同时,控制第二处理线程对读取到的印刷数据执行与第一处理线程的相同处理操作,直至第N+1个处理线程,第N+1个处理线程对印刷数据进行顔色数据处理,并输出经过N+1个处理线程处理后的印刷数据文件至印刷设备,该流水方式的处理线程解决了并行线程处理的速度不同导致的不同步问题,カロ快了印刷数据的处理速度,同时,该流水的线程处理方式也适合大批量、多页数的数据的传输。


图I是现有技术提供的印刷数据的处理方法的实现示意图;图2是本发明实施例提供的印刷数据的处理方法的实现流程图;图3是本发明实施例提供的三个处理线程对印刷数据的处理的实现示意图;图4是本发明实施例提供的四个处理线程对印刷数据的处理的实现示意图;图5是本发明实施例提供的印刷数据的处理系统的结构框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进ー步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例中,在每两个处理线程之间申请设置ー个缓冲区,N个缓冲区对应N+1个处理线程,该N+1个处理线程以流水方式通过缓冲区连接通信,该N+1个处理线程对印刷数据文件进行与其对应的顔色数据处理,通过第N+1个处理线程处理后,输出符合印刷条件的印刷数据。本发明实施例中,下述实施例给出的印刷数据文件包含多种颜色的印刷数据包,印刷数据即为印刷页面上的顔色数据,包括多种颜色,为了实现本发明,下述给出具体的实施例进行描述图2示出了本发明第一实施例提供的印刷数据的处理方法的实现流程,其具体的步骤如下所述在步骤SlOl中,申请N个可循环存储使用的缓冲区。其中,该N个缓冲区(buffer)对应N+1个处理印刷数据的处理线程,该缓冲区和处理线程采用流水方式,每两个处理线程之间通过缓冲区连接通信,即在每两个处理线程之间设置一个缓冲区,该缓冲区起到连接纽带、数据缓存的作用。上述可循环使用的缓冲区是向系统内核申请的,其大小可以根据实际需要进行设置,该缓冲区与常规意义上的缓冲区(缓存)相同,其内分别设置有若干个存储単元(假设为η个)、入口指针和出口指针,其中,每个存储单元的大小可以根据需要存储的印刷数据文件的大小进行设定,出口指针定时对入口指针所指向的地址进行检测,而且,入口指针每次写入一个存储単元(该存储单元的大小足矣存储该印刷数据文件),同时该入口指针相应的执行加一操作,即入口指针下移ー个单位,指向下一个地址位,当入口指针指向缓冲区的底部吋,则重新指向缓冲区第一个存储単元,继续存储,对于出ロ指针也类似,其中,入口指针所指向的地址不能超过出口指针所指向的地址,保证存储単元中的印刷数据文件不被覆盖,在此不再赘述,在该实施例中,N为整数。在该步骤中,上述缓冲区的存储单元的大小可以根据印刷数据文件的大小预先设置,使其能够存放印刷数据文件即可。在本发明实施例中,该Ν+1个处理线程的处理速度是不同的,其处理的印刷数据量也不同,而申请的可循环使用的缓冲区对印刷数据文件进行缓存,有效的冗余了各个处 理线程之间的处理速度的差异。在步骤S102中,控制第一处理线程对印刷数据文件执行与第一处理线程相对应的顔色数据处理操作,并将处理后印刷数据文件通过第一缓冲区的入口指针写入缓冲区的存储单兀。在该实施例中,第一处理线程对印刷数据文件进行颜色处理,其处理的是与其对应的颜色数据,可以理解为,印刷数据文件包括多种颜色数据,即多个颜色数据包,每ー处理线程处理其对应的顔色数据,并将包含处理完成的印刷数据的印刷数据文件存储到第一缓冲区的存储单元中,以便供第二处理线程读取并处理。在步骤S103中,当第一缓冲区的出口指针检测到第一缓冲区的入口指针所指向的地址发生变化时,控制第二处理线程通过第一缓冲区的出口指针读取第一缓冲区的存储单元中存储的印刷数据文件。在该步骤中,缓冲区的出口指针定时对入口指针进行检测判断,当检测到出口指针和入口指针所指向的地址不一致吋,则缓冲区的出口指针通知其所对应的处理线程,该处理线程从该出ロ指针所在的缓冲区读取出存储单元中的数据,即第二处理线程通过第一缓冲区的出口指针从第一缓冲区的存储单元中读取经过第一处理线程处理后的印刷数据文件。该检测判断的时间间隔可以设置,其达到的效果是,当入口指针一旦发生变化,则出ロ指针即时读取该入口指针的变化信息。当然,该缓冲区的出ロ指针的检测判断出ロ指针和入口指针所指向的地址一致吋,不做任何处理,继续检测,在此不再赘述。在步骤S104中,控制从第二处理线程开始的处理线程执行与第一处理线程相同的处理操作,以及从第二缓冲区开始的缓冲区执行与对第一缓冲区相同的处理操作,直至第Ν+1个处理线程。在该步骤中,从第二处理线程开始的处理线程,都在做与第一处理线程相同的处理,即从前ー缓冲区读取印刷数据文件,并对印刷数据文件进行相应的颜色处理,同时将包含处理后的印刷数据的印刷数据文件通过下ー缓冲区的入口指针写入该缓冲区的存储单
J Li ο
当然,上述步骤S102中,第一处理线程不是读取缓冲区的印刷数据文件,第一处理线程是从系统存储硬盘或者外接盘读取数据,可以理解为从前ー缓冲区读取印刷数据文件,从第二处理线程开始的处理线程都是读取前一缓冲区中存储的印刷数据文件,在此不用以限定本发明。在步骤S105中,控制第N+1个处理线程对印刷数据文件进行相应颜色数据处理,并输出经过N+1个处理线程处理后的印刷数据文件至印刷设备。在该步骤中,经过前面N个处理线程的处理,第N+1个处理线程通过第N个缓冲区的出口指针从该缓冲区中读取印刷数据文件,并对印刷数据文件执行相应的颜色处理,并将处理后的印刷数据文件一并输出到印刷设备,其中,经过第N+1个处理线程处理之后的印刷数据即为印刷设备所需的数据,即经过该N+1个处理线程的处理之后,印刷数据文件中所包含的数据即为印刷设备所需要的数据。在该实施例中,该N+1个处理线程之间处理印刷数据的过程是相互独立的,即当第一处理线程处理处理完第一页面的相对应的顔色数据时,将处理完成的第一页面的数据存储到第一缓冲区,供第二处理线程读取并处理,第一处理线程可以继续对下ー页面进行相应的颜色数据处理,依次类推,多处理线程之间相互独立,解决了各个处理线程之间处理速度不同导致的不能同步的问题;进ー步地,当需要印刷的数据页面较多,或者印刷数据文件为大批量数据时,通过该流水方式的多处理线程,其处理速度的优势尤为明显。在本发明实施例中,以第M、M+1处理线程和第M缓冲区为例进行说明,第M处理线程处理完成的印刷数据文件存储到第M缓冲区的存储单元中,该第M缓冲区的出ロ指针检测其与入口指针所指向的地址,当两者不同吋,则第M+1处理线程控制读取缓冲区的存储単元中存储的印刷数据文件;在该第M缓冲区中可以存储多个第M处理线程处理完的印刷数据文件,只要该入口指针所指向的地址不超过出口指针所指向的地址即可,当要超过时,则暂停存储,直到第M+1处理线程处理ー个印刷数据文件,有空闲存储单元为止;另外,对于该第M缓冲区中的多个未处理的印刷数据文件,第M+1处理线程按照顺序对存储単元中的印刷数据文件进行处理,一次读取ー个印刷数据文件,该第M缓冲区起到冗余第M处理线程和第M+1处理线程处理速度差异的目的。作为本发明的一个实施例,在执行上述步骤SlOl之前,还可以先执行下述步骤对印刷数据的源文件进行分类解析,生成包括N+1个分类顔色数据的印刷数据文件;其中,该印刷数据的源文件即为印刷设备印刷所需要的原始文件,其可以是普通 文档格式存在,例如word方式,通过对该源文件的分类解析,得到N+1个分类顔色数据(也可以理解为以数据包的形式存在),其作为ー个印刷数据文件存在,该N+1个分类顔色数据包对应N+1个处理线程,每ー个处理线程对应处理ー个分类颜色数据包,再加上N个缓冲区,这样就形成ー个流水式处理链,即N+1个处理线程和设在每两个处理线程之间的N个缓冲区,每个处理线程处理ー个分类顔色数据包,每个缓冲区缓存前ー处理线程处理之后的印刷数据文件,以供下ー处理线程读取并对应处理;在本发明实施例中,每经过ー个处理线程的处理,都将印刷数据文件中的相应的数据包进行替换,替换为已处理的数据包,剰余的数据包不动,下述有具体的实施例进行说明,在此不再赘述,但不用以限制本发明。
在该实施例中,其他步骤如上述实施例所述,在此不再赘述,但不用以限制本发明。在本发明实施例中,该印刷数据文件为单ー的印刷数据或印刷数据索引信息,其中,两者在缓冲区的存储单元中存储的格式一致;其中,申请可循环使用的缓冲区,根据存储的印刷数据的大小设定存储单元的存储容量,当印刷数据容量较小时,即该印刷数据文件为单ー的小容量的印刷数据,则该印刷数据文件可以直接存放到缓冲区的存储单元中;当印刷数据容量较大时,则可以将该印刷数据索引信息以印刷数据文件的方式存储到存储单元,印刷数据本身可以存储到系统存储器内,当需要对该印刷数据进行处理时,读取存储单元中存储的印刷数据索引信息,调用印刷数据,进行相应的颜色处理即可,即、当印刷数据文件为印刷数据索引信息时,上述步骤S102之前还包括下述步骤根据印刷数据索引信息,调用与印刷数据索引信息相对应的印刷数据;该调用印刷数据的目的是供各个处理线程进行相应的颜色数据处理,类似于从缓冲区的存储单元中读取印刷数据文件,在此不再赘述,但不用以限制本发明。作为本发明的一个实施例,印刷数据文件在缓冲区的存储单元中的存储格式,可以采用下述给出的数据格式,但也不限于该格式
typedef struct -JobPageProperty {
TCHAR JobFi IeName [MAX—PATH]; //任务文件名 PS, PDF, PPM 等 TCHAR JobPathFi IeNanie [MAX—PATH]; //任务文件带路径文件名 Int jobID; //任务 ID 号 BOOL IsTestJob; //是否测试样张int totalPagesOfJob; //任务总贸数
int curPagelndex //当前处理页号
DWORD coIorMask; //需要解释的颜色掩码 bit3=YI; bit2=Y2; bitl= Y3;bit O= Υ4;
DWORD nPixesIPerLine; //页面宽度,以像素为单位
DWORD nHeight; //页面高度,以像素为单位
DWORD cbSize; //文件页面大小
char *plBuf; //第一颜色数据buf指针
char *p2Buf; //笫ニ颜色数据buf指针
char *p3Buf; //第三颜色数据buf指针
char *P4Buf; //第四颜色数据buf指针
)JobPageProperty; 其中,上述Y1、Y2、Y3和Y4指示四色;上述仅为本发明给出的ー个具体事例,以4色数据为例进行说明,在此不用以限制本发明。作为本发明的具体实施例,上述Ν+1个处理线程用以处理印刷顔色数据,例如黑色数据处理线程、黄色数据处理线程等,即每ー个处理线程处理ー种顔色数据包,其中,数值Ν+1通常取值3、4、6或8或其他,下述给出N+l=3和Ν+1 = 4的两个事例进行说明。对于N+l=3的情形,请參阅图3 步骤I :预先申请两个可循环使用的缓冲区,分别记为第一缓冲区和第二缓冲区,然后,定义三个处理线程,分别记为黒色数据处理线程、黄色数据处理线程和青色数据处理线程,其中,可以定义黒色数据处理线程和黄色数据处理线程共同使用第一缓冲区,黄色数据处理线程和青色数据处理线程共同使用第二缓冲区,另外,可以定义第一缓冲区的入口指针和出ロ指针分别为PU和Ρ12,第二缓冲区的入口指针和出ロ指针分别为Ρ21和Ρ22 ;在该实施例中,假设此处的印刷数据文件为预先分类好的数据文件;步骤2 :黒色数据处理线程对印刷数据文件中的黒色数据包进行相应的颜色处理,使处理后的黒色数据能够被印刷设备使用,执行印刷操作;在该步骤中,印刷数据文件可以理解为包含三个数据包的文件,分别为黑色数据包、黄色数据包和青色数据包,各个数据包都是相互独立的,在后续的步骤中,每个处理线 程对与其对应的数据包进行相应处理,处理完之后将处理完的数据包再次放回到该印刷数据文件中,替换原先的数据包。步骤3 :黒色数据处理线程处理完成之后,将包含有处理之后的黒色数据包的印刷数据文件通过Pll存储到第一缓冲区的存储单元(假设为第一存储单元)中;此时,该第一缓冲区的存储单元中存储的印刷数据文件中,包含有已处理的黒色数据包和未处理的黄色数据包、青色数据包。
步骤4 :第一缓冲区的出ロ指针P12对Pll所指向的地址进行检测,当检测到Pll和P12所指向的地址不相同时,黄色数据处理线程控制P12读取第一缓冲区第一存储单元中存储的印刷数据文件;步骤5 :黄色数据处理线程对读取到的印刷数据文件进行相应的处理,即对印刷数据文件包所含的黄色数据包进行相应的处理;步骤6 :黄色数据处理线程对包含后处理完的黒色数据包和黄色数据包的印刷数据文件通过第二缓冲区的入口指针P21存储到存储单元中;此时,该第二缓冲区的存储单元中存储的印刷数据文件中,包含有已处理的黒色数据包、黄色数据包和未处理的青色数据包。
步骤7 :第二缓冲区的出ロ指针P22对P21所指向的地址进行检测,当检测到两者不同时,青色数据处理线程控制P22读取存储单元中存储的印刷数据文件; 步骤8 :青色数据处理线程对读取到的印刷数据文件进行相应的青色数据的处理;其中,通过该步骤青色数据处理线程的处理之后,该印刷数据文件中的三个数据包都已经被相应处理线程处理,成为符合印刷设备的印刷需求的数据包。步骤9 :青色数据处理线程将印刷数据文件传输到印刷设备,执行印刷操作。上述仅为本发明的ー个具体实施例,在此不用以限制本发明。对于N+1 = 4的情形,请參阅图4 步骤I :预先申请三个可循环使用的缓冲区,分别记为第一缓冲区、第二缓冲区和第三缓冲区,然后,定义四个处理线程,分别记为黒色数据处理线程、黄色数据处理线程、青色数据处理线程和紫色数据处理线程,其中,可以定义黒色数据处理线程和黄色数据处理线程共同使用第一缓冲区,黄色数据处理线程和青色数据处理线程共同使用第二缓冲区,青色数据处理线程和紫色数据处理线程共同使用第三缓冲区,另外,可以定义第一缓冲区的入口指针和出口指针分别为P11和P12,第二缓冲区的入口指针和出ロ指针分别为P21和P22,第三缓冲区的入口指针和出ロ指针分别为P31和P32 ;在该实施例中,假设印刷数据文件为预先分类好的数据文件;步骤2 :黒色数据处理线程对印刷数据文件中的黒色数据包进行相应的处理,使处理后的黒色数据能够被印刷设备使用,执行印刷操作;在该步骤中,印刷数据文件可以理解为包含四个数据包的文件,分别为黑色数据包、黄色数据包、青色数据包和紫色数据包,各个数据包都是相互独立的,在后续的步骤中,每个处理线程对与其对应的数据包进行相应颜色处理,处理完之后将处理完的数据包再次放回到该印刷数据文件中,替换原先的数据包。步骤3 :黒色数据处理线程处理完成之后,将包含有处理之后的黒色数据包的印刷数据文件通过Pll存储到第一缓冲区的存储单元(假设为第一存储单元)中;此时,该第一缓冲区的存储单元中存储的印刷数据文件中,包含有已处理的黒色数据包和未处理的黄色数据包、青色数据包以及紫色数据包。步骤4 :第一缓冲区的出ロ指针P12对Pll所指向的地址进行检测,当检测到Pll和P12所指向的地址不相同时,黄色数据处理线程控制P12读取第一缓冲区第一存储单元中存储的印刷数据文件;
步骤5 :黄色数据处理线程对读取到的印刷数据文件进行相应的处理,即对印刷数据文件包所含的黄色数据包进行相应的处理;步骤6 :黄色数据处理线程对包含后处理完的黒色数据包和黄色数据包的印刷数据文件通过第二缓冲区的入口指针P21存储到存储单元中;此时,该第二缓冲区的存储单元中存储的印刷数据文件中,包含有已处理的黒色数据包、黄色数据包和未处理的青色数据包、紫色数据包。步骤7 :第二缓冲区的出ロ指针P22对P21所指向的地址进行检测,当检测到两者不同时,青色数据处理线程控制P22读取存储单元中存储的印刷数据文件;步骤8 :青色数据处理线程对读取到的印刷数据文件进行相应的青色数据的处理; 步骤9 :青色数据处理线程对包含处理完的黒色数据包、黄色数据包和青色数据包的印刷数据文件通过第三缓冲区的入口指针P31存储到存储单元中;此时,该第三缓冲区的存储单元中存储的印刷数据文件中,包含有已处理的黒色数据包、黄色数据包、青色数据包和未处理的紫色数据包。步骤10 :第三缓冲区的出ロ指针P32对P31所指向的地址进行检测,当检测到两者不同时,紫色数据处理线程控制P32读取第三缓冲区的存储单元中存储的印刷数据文件;步骤11 :紫色数据处理线程对读取到的印刷数据文件进行相应的紫色数据的处理;其中,通过该步骤的处理之后,该印刷数据文件中的四个数据包都已经被相应处理线程处理,成为符合印刷设备的印刷需求的数据包。步骤12 :紫色数据处理线程将印刷数据文件传输到印刷设备,执行印刷操作。上述仅为本发明的ー个具体实施例,在此不用以限制本发明。对于N+1等于其他数值的情形,与上述两个具体事例相似,在此不再赘述,但不用以限制本发明。图5示出了本发明实施例提供的印刷数据的处理系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分,其中,印刷数据的处理系统可以内置于计算机或其他終端上位机的硬件単元、软件单元或软硬件结合单元。缓冲区申请模块11申请N个可循环存储使用的缓冲区,该N个缓冲区对应N+1个处理印刷数据的N+1个处理线程,采用流水方式每两个处理线程之间通过所述缓冲区连接通信,该缓冲区内设置有若干个存储单元、入口指针和出ロ指针,该出ロ指针定时对所述入ロ指针所指向的地址进行检测,其中,N为整数;第一控制处理模块12控制第一处理线程对印刷数据文件执行与第一处理线程相对应的顔色数据处理操作;第一写入操作模块13将处理后印刷数据文件通过第一缓冲区的入口指针写入第一缓冲区的存储单元;当第一缓冲区的出ロ指针检测到第一缓冲区的入口指针所指向的地址发生变化时,第一读取模块14控制第二处理线程通过第一缓冲区的出口指针读取第一缓冲区的存储单元中存储的印刷数据文件;流水控制模块15控制从第二处理线程开始的处理线程执行与第一处理线程相同的处理操作,以及从第二缓冲区开始的缓冲区执行与对第一缓冲区相同的处理操作,直至第N+1个处理线程;第N+1控制处理模块16控制第N+1个处理线程对印刷数据文件进行顔色数据处理;输出模块17输出经过N+1个处理线程处理后的印刷数据文件至印刷设备。在本发明实施例中,分类解析模块18对印刷数据的源文件进行分类解析,生成包括N+1个分类顔色数据的印刷数据文件。在本发明实施例中,印刷数据文件为单ー的印刷数据或印刷数据索引信息,其中,当印刷数据文件为印刷数据索引信息时,该系统还包括根据印刷数据索引信息,调用模块(图中未标记)调用与印刷数据索引信息相对应的印刷数据。上述实施例给出的是本发明实施例提供的系统结构框图,其各模块的功能实现如上述方法实施例所述,在此不再赘述,但不用以限制本发明。
本发明实施例中,在每两个处理线程之间申请一个缓冲区,缓冲区设置有存储单元、入口指针和出口指针,控制第一处理线程对印刷数据文件进行颜色处理,并将处理后的印刷数据通过第一缓冲区的入口指针存储到第一缓冲区的存储单元,控制第二处理线程通过第一缓冲区的出口指针读取存储单元中的印刷数据,同时,控制第二处理线程对读取到的印刷数据执行与第一处理线程的相同处理操作,直至第N+1个处理线程,第N+1个处理线程对印刷数据进行顔色数据处理,并输出经过N+1个处理线程处理后的印刷数据文件至印刷设备,该流水方式的处理线程解决了并行线程处理的速度不同导致的不同步问题,カロ快了印刷数据的处理速度,同时,该流水的线程处理方式也适合大批量、多页数的数据的传输。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.ー种印刷数据的处理方法,其特征在于,所述方法具体包括下述步骤 申请N个可循环存储使用的缓冲区,所述N个缓冲区对应N+1个处理印刷数据的处理线程,所述缓冲区和处理线程采用流水方式,每两个处理线程之间通过所述缓冲区连接通信,所述缓冲区内设置有若干个存储单元、入ロ指针和出ロ指针,所述出ロ指针定时对所述入口指针所指向的地址进行检测,其中,N为整数; 控制第一处理线程对印刷数据文件执行与所述第一处理线程相对应的顔色数据处理操作,并将处理后印刷数据文件通过所述第一缓冲区的入口指针写入所述第一缓冲区的存储单元; 当所述第一缓冲区的出口指针检测到所述第一缓冲区的入口指针所指向的地址发生变化时,控制第二处理线程通过所述第一缓冲区的出口指针读取第一缓冲区的存储单元中 存储的印刷数据文件; 控制从第二处理线程开始的处理线程执行与第一处理线程相同的处理操作,以及从第ニ缓冲区开始的缓冲区执行与对第一缓冲区相同的处理操作,直至第N+1个处理线程;控制所述第N+1个处理线程对印刷数据文件进行颜色数据处理,并输出经过N+1个处理线程处理后的印刷数据文件至印刷设备。
2.根据权利要求I所述的印刷数据的处理方法,其特征在于,所述申请N个缓冲区的步骤之后,所述控制第一处理线程对印刷数据文件进行与所述第一处理线程相对应的顔色数据处理的步骤之前,所述方法还包括下述步骤 对印刷数据的源文件进行分类解析,生成包括N+1个分类顔色数据的印刷数据文件。
3.根据权利要求2所述的印刷数据的处理方法,其特征在于,所述印刷数据文件为单一的印刷数据或印刷数据索引信息。
4.根据权利要求3所述的印刷数据的处理方法,其特征在干,当所述印刷数据文件为印刷数据索引信息时,所述控制第一处理线程对印刷数据文件执行与所述第一处理线程相对应的顔色数据处理操作的步骤之前还包括下述步骤 根据所述印刷数据索引信息,调用与所述印刷数据索引信息相对应的印刷数据。
5.ー种印刷数据的处理系统,其特征在于,所述系统具体包括 缓冲区申请模块,用于申请N个可循环存储使用的缓冲区,所述N个缓冲区对应N+1个处理印刷数据的处理线程,所述缓冲区和处理线程采用流水方式,每两个处理线程之间通过所述缓冲区连接通信,所述缓冲区内设置有若干个存储単元、入ロ指针和出口指针,所述出ロ指针定时对所述入口指针所指向的地址进行检测,其中,N为整数; 第一控制处理模块,用于控制第一处理线程对印刷数据文件执行与所述第一处理线程相对应的顔色数据处理操作; 第一写入操作模块,用于将处理后印刷数据文件通过所述第一缓冲区的入口指针写入所述第一缓冲区的存储单元; 第一读取模块,用于当所述第一缓冲区的出口指针检测到所述第一缓冲区的入口指针所指向的地址发生变化时,控制第二处理线程通过所述第一缓冲区的出口指针读取第一缓冲区的存储单元中存储的印刷数据文件; 流水控制模块,用于控制从第二处理线程开始的处理线程执行与第一处理线程相同的处理操作,以及从第二缓冲区开始的缓冲区执行与对第一缓冲区相同的处理操作,直至第N+1个处理线程; 第N+1控制处理模块,用于控制所述第N+1个处理线程对印刷数据文件进行颜色数据处理; 输出模块,用于输出经过N+1个处理线程处理后的印刷数据文件至印刷设备。
6.根据权利要求5所述的印刷数据的处理系统,其特征在于,所述系统还包括 分类解析模块,用于对印刷数据的源文件进行分类解析,生成包括N+1个分类顔色数据的印刷数据文件。
7.根据权利要求6所述的印刷数据的处理系统,其特征在于,所述印刷数据文件为单一的印刷数据或印刷数据索引信息。
8.根据权利要求7所述的印刷数据的处理系统,其特征在干,当所述印刷数据文件为印刷数据索引信息时,所述系统还包括 调用模块,用于根据所述印刷数据索引信息,调用与所述印刷数据索引信息相对应的印刷数据。
全文摘要
本发明涉及印刷技术领域,提供了一种印刷数据的处理方法及系统,方法包括在每两个处理线程之间申请一个缓冲区,控制第一处理线程对印刷数据文件进行颜色处理,并将处理后的印刷数据通过第一缓冲区的入口指针存储到第一缓冲区的存储单元,控制第二处理线程通过第一缓冲区的出口指针读取存储单元中的印刷数据,同时,控制第二处理线程对读取到的印刷数据执行与第一处理线程的相同处理操作,直至第N+1个处理线程,第N+1个处理线程对印刷数据进行颜色数据处理,并输出。该流水方式的处理线程解决了并行线程处理的速度不同导致的不同步问题,加快了印刷数据的处理速度,同时,该流水的线程处理方式也适合大批量、多页数的数据的传输。
文档编号G06F19/00GK102737163SQ20121016984
公开日2012年10月17日 申请日期2012年5月28日 优先权日2012年5月28日
发明者刘子文 申请人:潍坊东航印刷科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1