一种内容体系数据流的处理方法及装置制造方法及图纸

技术编号:2914520 阅读:191 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种内容体系数据流的处理方法,用于提高内容体系数据流的处理效率。所述方法为:获得智能打印数据流IPDS数据流,并从中分离出内容体系数据流;每发现一个内容体系对象或一个IPDS命令,启动内容体系数据流处理线程;通过所述内容体系数据流处理线程对内容体系数据流进行处理。本发明专利技术还公开了一种装置。

【技术实现步骤摘要】

本专利技术涉及计算机及打印处理领域,特别是涉及内容体系数据流的处理方法及装置
技术介绍
智能打印数据流(Intelligent Printer Data Stream,IPDS)是一种在主机(Host)与打印机或与各种打印系统之间传递打印控制信息和打印内容数据的规范。除了作为主机和打印系统通讯的手段,智能打印数据流也被用于携带混和对象文档内容体系(Mixed Object Document Content Architecture,MO:DCA)中的对象内容体系(Object Content Architecture,OCA)数据,各种对象内容体系进一步规范了这些不同对象的具体描述方式。这些对象包括文字、图形和图像等,其描述方式分别由文本对象内容体系(PTOCA)、图形对象内容体系(GOCA)、图像对象内容体系(IOCA)和条码对象内容体系(BCOCA)等对象内容体系加以规范。上述智能打印数据流与内容体系数据流的混合方式带来了一种复杂性,即某种数据流(各类对象内容体系的数据流)被裹挟在另一种数据流(智能打印数据流)中,而后者(即智能打印数据流)是以命令为组织结构的,这导致前者(对象内容体系数据流)受到该命令结构的制约--即智能打印数据流规范对单个命令最大长度的限制,造成了较长的内容体系数据流不得不被打断,通过多个命令才能完全传送。同时,智能打印数据流规范并不限定“打断”发生的位置,也就是说这种打断很可能会发生在各种对象内容体系数据流内部结构的任意位置,从而对这类结构的完整性造成破坏。在对内容体系数据流处理时,必须结合后续命令中携带的内容体系数据流才能恢复其完整性;以及,智能打印数据流规范允许在携带内容体系数据流的智能打印数据流命令之间存在与-->内容体系数据流无关的命令,进一步增加了复杂性及相应的处理难度。现有技术中,应对这种复杂性的策略是不同时处理智能打印数据流的命令和内容体系数据流,先把完整的内容体系数据流接收到一个缓冲区里(比如内存或磁盘),待接收完毕再进行处理。这种处理过程就不必面对数据流被命令“打断”的情况,但是需要与内容体系数据流等长的缓冲区来存储内容体系数据流直到其完整,从而给程序的空间效率带来负面影响,以及必须接收到完整的数据后才能进行处理,工作效率较低。
技术实现思路
本专利技术实施例提供一种内容体系数据流的处理方法及装置,用于提高内容体系数据流的处理效率。一种内容体系数据流的处理方法,包括以下步骤:获得智能打印数据流IPDS数据流,并从中分离出内容体系数据流;每发现一个内容体系对象或一个IPDS命令时,启动内容体系数据流处理线程;通过所述内容体系数据流处理线程对内容体系数据流进行处理。一种用于内容体系数据流处理的装置,包括:接口模块,用于获得智能打印数据流IPDS数据流;IPDS命令处理模块,用于运行IPDS命令处理线程,并从IPDS数据流中分离出内容体系数据流,以及每发现一个内容体系对象或一个IPDS命令时,启动内容体系数据流处理线程;内容体系数据处理模块,用于运行内容体系数据流处理线程,并对内容体系数据流进行处理。本专利技术实施例在刚发现内容体系数据流时便启动内容体系数据流处理线程进行内容体系数据流的处理,避免等待内容体系对象的完整后才能进行处理的情况,提高了数据处理的效率。-->附图说明图1为本专利技术实施例中内容体系数据流的主要处理方法流程图;图2为本专利技术实施例中IPDS数据流的示意图;图3为本专利技术实施例中内容体系数据流的具体处理方法流程图;图4为本专利技术实施例中采用存储区时的具体处理方法流程图;图5为本专利技术实施例中系统的结构图;图6为本专利技术实施例中打印控制装置的主要结构图;图7为本专利技术实施例中打印控制装置的详细结构图。具体实施方式本专利技术实施例在每发现一个内容体系对象或一个IPDS命令时,均启动内容体系数据流处理线程并对内容体系数据流进行处理,不需要等待收到完整的内容体系对象,实现处理效率的提高。本专利技术实施例中将基于智能打印数据流(IPDS)协议的所有数据称为IPDS数据,其包括内容体系数据和命令数据(简称命令)。内容体系数据从面向对象角度看由一个或多个内容体系对象构成。内容体系对象包括PTOCA对象、GOCA对象、IOCA对象和BCOCA对象。参见图1,本实施例中内容体系数据流的主要处理方法流程如下:步骤101:IPDS命令处理线程获得IPDS数据流,并从中分离出内容体系数据流。步骤102:IPDS命令处理线程每发现一个内容体系对象或一个IPDS命令时,启动内容体系数据流处理线程。步骤103:通过所述内容体系数据流处理线程对内容体系数据流进行处理。所述处理包括光栅化处理、文件格式转换(生成其它格式的页面描述文件)、内容体系数据的分析、合法性检查等。其中一个IPDS命令可以对应一个或多个内容体系对象,一个内容体系对象也可以对应一个或多个IPDS命令,视实际情况而定,参见图2所示的数据-->流示意图。通过图1所示的实现过程对内容体系数据流的处理方法有了基本的了解,下面对其具体实现过程进行详细描述,参见图3所示,方法流程如下:步骤301:主机与打印控制装置进行交互,并建立连接。打印控制装置启动IPDS命令处理线程。步骤302:主机以流式传输的形式向打印控制装置发送IPDS数据流。步骤303:打印控制装置接收IPDS数据流并对其进行数据解析,如解封装(IPDS数据流通常封装在PPD/PPR协议包中)和解码等操作。步骤304:IPDS命令处理线程发现IPDS命令时对IPDS命令进行处理。步骤305:IPDS命令处理线程发现内容体系数据流时,将其从IPDS数据流中分离出来,并启动内容体系数据流处理线程。该内容体系数据流处理线程可以在需要启动时进行创建,也可以是之前已经创建而此时被启动或唤醒。步骤306:由于IPDS数据是以流式传输的,所以重复步骤303-305,直到主机终止发送IPDS数据流。在步骤305中,如果内容体系数据流处理线程可处理所有的内容体系对象,则可每次均启动该内容体系数据流处理线程,多个内容体系数据流处理线程可并行处理内容体系数据流。如果内容体系数据流处理线程可处理某一种或某几种内容体系对象,则IPDS命令处理线程分离出内容体系数据流后,需要对其进行判断,确定具体归属哪种内容体系对象,然后启动负责相应处理的内容体系数据流处理线程。本实施例采用存储区来作为IPDS命令处理线程与内容体系数据流处理线程进行数据传输时的媒介。参见图4所示,采用存储区时内容体系数据流的处理方法流程如下:步骤401:主机与打印控制装置进行交互,并建立连接。打印控制装置启动IPDS命令处理线程。步骤402:主机以流式传输的形式向打印控制装置发送IPDS数据流。-->步骤403:打印控制装置接收IPDS数据流并对其进行数据解析。步骤404:IPDS命令处理线程发现IPDS命令时对IPDS命令进行处理。步骤405:IPDS命令处理线程发现内容体系数据流时,判断存储区当前是否有可写入数据的空间,若有,则继续步骤408,否则执行步骤406。步骤406:IPDS命令处理线程进入等待状态。步骤407:IPDS命令处理线程定期访问存储区,并继续步骤405,或者等待内容体系数据流处理线程的触发。步骤408:IPDS本文档来自技高网
...

【技术保护点】
一种内容体系数据流的处理方法,其特征在于,包括以下步骤: 获得智能打印数据流IPDS数据流,并从中分离出内容体系数据流; 每发现一个内容体系对象或一个IPDS命令时,启动内容体系数据流处理线程; 通过所述内容体系数据流处理 线程对内容体系数据流进行处理。

【技术特征摘要】
1、一种内容体系数据流的处理方法,其特征在于,包括以下步骤:获得智能打印数据流IPDS数据流,并从中分离出内容体系数据流;每发现一个内容体系对象或一个IPDS命令时,启动内容体系数据流处理线程;通过所述内容体系数据流处理线程对内容体系数据流进行处理。2、如权利要求1所述的处理方法,其特征在于,一个IPDS命令对应一个或多个内容体系对象;一个内容体系对象对应一个或多个IPDS命令。3、如权利要求1或2所述的处理方法,其特征在于,将分离出的内容体系数据流写入存储区中,内容体系数据流处理线程从所述存储区中获得内容体系数据流。4、如权利要求3所述的处理方法,其特征在于,由IPDS命令处理线程进行分离内容体系数据流的操作。5、如权利要求4所述的处理方法,其特征在于,当所述存储区写满时,IPDS命令处理线程进入等待状态。6、如权利要求5所述的处理方法,其特征在于,IPDS命令处理线程定期访问所述存储区,当发现所述存储区有可用空间时,进入工作状态;或者内容体系数据流处理线程在从所述存储区中获得内容体系数据流时,触发IPDS命令处理线程进入工作状态。7、如权利要求4所述的处理方法,其特征在于,当获得的IPDS数据流中止时,IPDS命令处理线程进入等待状态。8、如权利要...

【专利技术属性】
技术研发人员:姚磊刘佳峰
申请(专利权)人:北大方正集团有限公司北京北大方正电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1