CN102314323B - 一种印刷输出设备的数据处理方法及装置 - Google Patents

一种印刷输出设备的数据处理方法及装置 Download PDF

Info

Publication number
CN102314323B
CN102314323B CN201010222527.0A CN201010222527A CN102314323B CN 102314323 B CN102314323 B CN 102314323B CN 201010222527 A CN201010222527 A CN 201010222527A CN 102314323 B CN102314323 B CN 102314323B
Authority
CN
China
Prior art keywords
pending file
file
data processing
parameter
node
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.)
Expired - Fee Related
Application number
CN201010222527.0A
Other languages
English (en)
Other versions
CN102314323A (zh
Inventor
黄渭平
陈�峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Founder Holdings Development Co ltd
Peking University
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN201010222527.0A priority Critical patent/CN102314323B/zh
Publication of CN102314323A publication Critical patent/CN102314323A/zh
Application granted granted Critical
Publication of CN102314323B publication Critical patent/CN102314323B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种印刷输出设备的数据处理方法及装置。本发明实施例提供的一种印刷输出设备的数据处理方法,包括:接收待处理文件;获取所述待处理文件的参数;根据所述待处理文件的参数,为所述待处理文件的进程配置能够相互共享的内存;对所述待处理文件进行数据处理。采用本发明实施例能够实现高速印刷。

Description

一种印刷输出设备的数据处理方法及装置
技术领域
本发明涉及印刷技术领域,尤其涉及一种印刷输出设备的数据处理方法及装置。
背景技术
目前高速数字印刷输出的整个流程主要包括:PDF生成过程、RIP(RasterImage Processing,光栅化图像处理)过程和输出过程。其中,在所述印刷相关的前期PDF生成过程中,由于超过上百万可变数据输出的原因,导致生成的PDF文件非常的庞大,所以只能通过物理磁盘进行临时文件存储和读取;在RIP过程中,由于数据格式多样且处理复杂,产生了巨大的中间数据量,所以在传统的处理方案中通常采用部分中间数据进行物理磁盘缓冲和读取;在RIP后生成的点阵数据由于数据量巨大,一般直接达到了Gbyte的大小,所以通常也选择使用物理磁盘进行缓冲和读取;最终在打印控制器进行点阵数据的输出过程,则需要从所述物理磁盘上读取相应的数据进行输出。虽然在高速数字印刷输出的整个流程中产生的巨大数据量通常会采用物理磁盘进行数据缓冲和读取,但是部分重要或者常用的数据依然也会部分使用系统内存进行数据缓冲和读取方式。
这样,在实现所述高速数字印刷输出的整个流程中,发明人发现现有技术中存在如下问题:在采用所述物理磁盘进行数据存储和读取的方式下,由于物理磁盘的存储和读取速度的限制,使得高速印刷系统输出模块的数据实际吞吐率不高,例如:当前最常用的串行接口的物理磁盘的最大有效标称数据速率不会超过150MByte/s,然而,高速印刷系统输出模块的数据吞吐率要求则达到了336MByte/s,由此可见,所述物理磁盘的存储和读取速度限制了所述高速印刷系统输出模块的数据实际吞吐率。在采用所述内存进行数据存储和读取的方式下,由于操作系统诸多方面的限制,例如:内存寻址空间最大可支持4GByte,则单个进程直接允许申请的内存空间只能达到这个数值的50%左右,所以使得单个进程的可用内存受到限制。
发明内容
本发明实施例提供了一种印刷输出设备的数据处理方法及装置,以实现提高所述高速印刷系统输出模块的数据实际吞吐率以及单个进程可用内存的目的。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供了一种印刷输出设备的数据处理方法,包括:
接收待处理文件;
获取所述待处理文件的参数;
根据所述待处理文件的参数,为所述待处理文件的进程配置能够相互共享的内存;
对所述待处理文件进行数据处理。
另一方面,本发明实施例提供了一种印刷输出设备的数据处理装置,该装置包括:
信息接收单元,用于接收待处理文件以及文件处理命令;
参数获取单元,用于获取所述待处理文件的参数;
内存管理单元,用于根据所述待处理文件的参数为所述待处理文件的进程配置能够相互共享的内存,并管理内存共享;
数据处理单元,用于按照所述文件处理命令,对所述待处理文件进行数据处理。
本发明实施例提供的一种印刷输出设备的数据处理方法及装置,通过为所述待处理文件的进程配置能够相互共享的内存,使得高速印刷系统中单个进程的可用内存不仅仅局限于自身所申请的内存空间,还可以共享到其他进程的可用内存,从而所述高速印刷系统的内存能够存储的待处理文件的数据量较大。由于高速印刷系统通过内存的读取/写入的速度处理所述数据量较大的待处理文件,从而大大提高了所述高速印刷系统输出模块的数据实际吞吐率;从单个进程角度,由于单个进程不仅可以占用其自身所申请的内存,还可以共享其他进程的内存,从而大大增加了单个进程的可用内存。
附图说明
图1为本发明实施例提供的一种印刷输出设备的数据处理方法流程图;
图2为本发明实施例提供的一种印刷输出设备的数据处理方法的具体实现流程图;
图3为本发明实施例提供的一种印刷输出设备的数据处理方法中创建进程节点的具体实现流程图;
图4为本发明实施例提供的一种印刷输出设备的数据处理方法中创建块节点的具体实现流程图;
图5为本发明实施例提供的一种印刷输出设备的数据处理方法中文件写入数据的具体实现流程图;
图6为本发明实施例提供的一种印刷输出设备的数据处理方法中文件读取数据的具体实现流程图;
图7为本发明实施例提供的一种印刷输出设备的数据处理装置结构示意图;
图8为本发明实施例提供的一种印刷输出设备的数据处理装置的具体应用实施例示意图;
图9为本发明实施例提供的一种印刷输出设备的数据处理装置中进程节点的类图;
图10为本发明实施例提供的一种印刷输出设备的数据处理装置中块节点的类图;
图11为本发明实施例提供的一种印刷输出设备的数据处理装置中待处理文件的类图;
图12为本发明实施例提供的一种印刷输出设备的数据处理装置中管理进程与进程之间的结构示意图;
图13为本发明实施例提供的一种印刷输出设备的数据处理装置中文件与其内部块节点列表以及块节点和进行节点的链接关系示意图。
具体实施方式
下面结合附图对本发明实施例提供的一种印刷输出设备的数据处理方法及装置进行详细的说明。
如图1所示,为本发明实施例提供的一种印刷输出设备的数据处理方法,该方法包括:
101:印刷输出设备的数据处理装置接收待处理文件;例如,所述印刷输出设备的数据处理装置接收高速印刷系统中各个流程的待处理文件,所述的待处理文件包括以下中的至少一种:PDF生成过程所生成的PDF文件、光栅化图像处理过程所产生的中间文件和光栅化图像处理的点阵数据、输出过程中需要读取或存储的文件。所述的文件处理命令包括:文件读取命令、文件存储命令。
102:所述印刷输出设备的数据处理装置获取所述待处理文件的参数;其中,所述的待处理文件的参数包括以下中的至少一种:待处理文件的标识,待处理文件名,待处理文件长度,待处理文件的起始地址以及待处理文件所占块列表信息。
103:根据所述待处理文件的参数,所述印刷输出设备的数据处理装置为所述待处理文件的进程配置能够相互共享的内存;即为所述待处理文件的进程配置与所述当前进程能够相互共享内存的至少一个进程的内存;例如,所述印刷输出设备的数据处理装置根据所述待处理文件的参数判断当前进程的内存是否能够满足所述待处理文件的内存需要;如果所述当前进程能够满足所述待处理文件的内存需要,则继续执行如下步骤104;如果所述当前进程不能满足所述待处理文件的内存需要,则可以申请所述当前进程能够共享的进程内存,当申请所述当前进程能够共享的进程内存失败时,等待预定时间之后重新进行所述申请,或者退出待处理文件的处理流程。
104:所述印刷输出设备的数据处理装置对所述待处理文件进行数据处理;其中,所述的数据处理主要包括:存储数据处理操作和读取数据处理操作。
需要说明的是,所述印刷输出设备的数据处理装置可以为所述高速印刷系统中的缓冲装置,该缓冲装置如图12所示,所述缓冲装置包含一个管理进程和若干个进程;所述缓冲装置可以用于管理所述高速印刷系统中各个过程(例如:PDF生成过程、RIP过程和输出过程)中所产生的大数据量数据;其中,所述管理进程主要用于管理进程的进程通讯与协调、内存块的划分、文件接口的支持、数据传输等;所述进程的任务在于向操作系统申请内存,并将其共享给管理进程进行访问;例如图12所示,设每个进程都负责向操作系统申请1Gbyte的内存,此内存申请方式可以采用FileMapping(内存映射)申请系统页表的方式。这样,管理进程除了本身能够申请到操作系统允许的内存之外,还间接拥有了其他4个进程所申请的内存(4Gbyte),且所述4个进程可以通过共享内存映射对象进行相互访问。本发明例并不限于上面所公开的4Gbyte实施例中4个进程进行内存共享,实际上可以是N个进程进行内存共享(N≥2,N为整数)。
如图2所示,为本发明实施例提供的一种印刷输出设备的数据处理方法;该方法的具体实现过程如下:
201:所述印刷输出设备的数据处理装置获取进程节点参数以及块节点参数;所述进程节点包含至少两个块节点;所述块节点用于存储待处理文件的数据。例如:10G的数据文件,可以存储于多个不同进程的内存中。所述数据文件可以称为一个文件节点,每一个进程称为一个进程节点,在每一个进程中内存又被分解为多个内存块,每一个内存块称为一个块节点。所以,一个文件节点通常被存储于多个进程节点的多个内存块节点上。其中,所述进程节点的类图如图9所示,所述进程节点的参数主要包括:
(1)、进程节点ID,用于区分进程的标识,通过此标识,管理进程能够快速定位进程;
(2)、FileMapping句柄,此句柄是通过FileMapping对象名来访问进程的同名FileMapping对象,此对象名应该是操作系统全局可见的;
(3)、FileMapping长度,明确的表示进程所映射成功的内存大小,便于后面的分块;
(4)、FileMapping名字,即前面提到的FileMapping对象名,此对象名为全局可见能够被其他的进程访问到。在本实施例中,此名字通过自动创建GUID(全局系统标识符)来进行定义,使用GUID能完全避免重名的情况。
所述块节点的类图如图10所示,所述块节点的参数主要包括:
(1)、块节点ID,此节点ID在控制进程的所有节点中都是唯一的,即能满足查找定位的需求;
(2)、所属进程节点句柄,此参数即为块所属的进程节点对象地址。
202:根据所述进程节点参数,所述印刷输出设备的数据处理装置创建进程节点;其中,所述创建进程节点的过程见图3所示实施例。
203:当所述进程节点创建完成,即申请到了大块的内存之后,根据所述块节点参数,所述印刷输出设备的数据处理装置创建块节点。其中,所述创建块节点的过程见图4所示实施例。
204:所述印刷输出设备的数据处理装置接收待处理文件以及文件处理命令;其中,所述待处理文件为高速印刷系统在进行数据处理过程中所产生的数据量较大的文件,例如:PDF生成过程所生成的PDF文件、光栅化图像处理过程所产生的中间文件和光栅化图像处理的点阵数据、输出过程中需要读取或存储的文件。
205:所述印刷输出设备的数据处理装置获取所述待处理文件的参数;其中,所述待处理文件的类图如图11所示,所述待处理文件的主要参数包括:
(1)、文件节点hash,用于标识文件节点,便于多个文件的查找;
(2)、文件名,即文件的字符串标识;
(3)、文件长度,所述文件长度单位可以为字节;
(4)、文件读写偏移地址(即待处理文件的起始地址),指读取和写入时的当前操作地址,是一个对应于文件头的偏移值;
(5)、配置块列表,本文件所有配置的块列表,里面存储的是块ID,在需要对某个块进行操作时,则通过此块ID进行检索;同时文件数据的存储方式可以为按照块列表的先后顺序逐块进行存储;
(6)、操作锁,用于保证进程安全的文件操作,各个进程对于某个文件的操作都被其保护;例如:当该文件正在进行写入操作时,如果又接收到了读取的命令,则所述操作锁会将当前读取操作的命令暂停,直到所述文件的写入操作结束。
206:根据所述待处理文件的参数,所述印刷输出设备的数据处理装置为所述待处理文件的进程配置能够相互共享的内存;具体的实现过程可以为,根据所述待处理文件的参数,判断当前进程所配置的内存是否能够满足待处理文件的读/写要求;
如果所述当前进程所配置的内存不能满足所述待处理文件的读/写要求,则申请获取与所述当前进程能够相互共享内存的至少一个进程的内存;
如果所述当前进程所配置的内存能够满足所述待处理文件的读/写要求,则继续对所述待处理文件进行处理。由于所述当前进程与其他进程之间的内存可以相互共享,所以如果当前进程所配置的内存不能满足所述待处理文件的需求,则可以继续获取当前进程的可共享内存,即与当前进程可以相互共享的其他进程所配置的内存。
207:按照所述文件处理命令,对所述待处理文件进行数据处理。其中,所述文件处理命令包括:文件读取命令、文件存储命令。例如,当所述文件处理命令为文件读取命令时,所述印刷输出设备的数据处理装置如果所述当前进程所配置的内存不能满足所述待处理文件的读取要求,则按照所述文件处理命令,读取所述当前进程的块节点和与所述当前进程能够相互共享内存的至少一个进程的块节点;如果所述当前进程所配置的内存能够满足所述待处理文件的读取要求,则按照所述文件处理命令,读取所述当前进程的块节点;当所述文件处理命令为文件存储命令时,所述印刷输出设备的数据处理装置如果所述当前进程所配置的内存不能满足所述待处理文件的存储要求,则按照所述文件处理命令,将所述待处理文件存储到所述当前进程的块节点和与所述当前进程能够相互共享内存的至少一个进程的块节点;如果所述当前进程所配置的内存能够满足所述待处理文件的存储要求,则按照所述文件处理命令,将所述待处理文件存储到所述当前进程的块节点。
需要注意的是,如果所述206步骤,未获取到所述待处理文件所需的内存即当所述申请失败时,则等待预定时间之后重新进行所述申请;或者,退出所述待处理文件的处理流程。
如图3所示,为本发明实施例提供的一种印刷输出设备的数据处理方法中创建进程节点的过程,该过程具体实现如下:
301:印刷输出设备的数据处理装置的管理进程(Map View Of File)通过命令创建进程。
302:所述印刷输出设备的数据处理装置的管理进程等待所述进程的内存申请成功通知,如果通知管理进程所述进程的内存申请成功,则执行步骤305;如果通知管理进程所述进程的内存申请失败,则管理进程退出。
需要注意的是,本发明实施例中所述的管理进程与进程之间是管理与被管理的关系,具体如图12所示。
303:进程开始运行,立刻通过CreateFileMapping申请内存,FileMapping名为管理进程所指定的全局名。
304:进程申请内存成功,通过一个全局事件通知管理进程;当管理进程接收到所述内存申请成功通知后,继续执行如下步骤305。
305:管理进程在接收到成功的事件通知后,立刻通过全局名访问进程所创建的FileMapping对象的内存空间。
306:获取FileMapping对象句柄,创建进程对象信息结构体,保存相关进程信息,并将新的进程对象信息结构体实例加入到管理进程的进程信息列表。
307:判定是否已经获取到了所需要的足够内存如果没有则跳转到步骤301继续通过创建新进程来获取系统内存,否则进入下一步308。
308:进行内存分块等的其他操作。
309:管理进程需要退出时,通知进程释放相关已申请资源;
310:进程在得到管理进程发出的退出通知时,释放资源;
311:等待所有的进程列表的进程都退出,下一步则管理进程执行完毕。
如图4所示,为本发明实施例提供的一种印刷输出设备的数据处理方法中创建块节点的过程,该过程具体实现如下:
401:创建进程节点成功,即如图3实施例所述,此处不在赘述;
402:将进程节点所申请的FileMapping长度按照块大小(BlockSize)进行划分,块大小参数来自于配置文件,本发明实施中的块大小典型值可以预设置为8Mbyte;
403:创建一个块节点对象,分配其块ID,块ID能够进行反向的定位,得到其在进程内存块的偏移地址,同时将进程节点的地址赋值给块信息的“所属进程节点句柄”变量;
404:将新的块节点对象加入到空闲块队列,在此队列的所有块都能被文件节点自由申请;
需要注意的是,如果需要访问某个指定块时,可以采用如下的步骤:
405:通过ID来搜索到块节点地址;
406:得到所属进程节点句柄,按照块ID的反向查找定位特性,得到其在进程的相对偏移地址;
407:映射块到管理进程。
如图5所示,为本发明实施例提供的一种印刷输出设备的数据处理方法中文件写入数据的过程,该过程具体实现如下:
501:读取当前文件读写位置Offset,此位置亦即文件接口Tell( )所返回的值,其标识下一个读写文件的字节相对于文件头的偏移地址;
502:由当前文件读写位置Offset计算块序号。由于在所述印刷输出设备的数据处理装置初期划分块时,已经固定了块大小BlockSize,所以能通过当前文件读写位置Offset定位到当前的块序号BlockIndex,计算公式为:
BlockIndex=Offset/BlockSize;
503:通过当前文件的已配置的块列表长度和BlockIndex的大小比较来判定当前块序号是否已在文件的块队列中。如果已经在队列中,那么直接跳转到步骤507,否则进入步骤504;
504:向管理进程的块队列中申请空闲块,此空闲块亦即没有被任何其他的文件节点所占用;
505:判定申请空闲块是否成功,如果申请失败则可以继续等待申请空闲块或者退出待处理文件的处理流程;如果申请成功进入步骤506;其中,所述继续等待申请空闲块可以理解为需要等待其他文件节点释放块节点。
506:将申请到的空闲块加入到当前文件的已占有块队列的尾部,因此BlockIndex则直接等于新的块队列的长度减1。
507:获取块节点的ID,此时通过此ID在管理进程的块队列中获取块节点信息指针。
508:在块节点信息中拥有足够的信息可以将块节点指向的其他进程所申请的内存映射到当前进程,如图13所示。
509:计算需要写入的目标地址在当前块内偏移地址,计算公式如下:
Address=Offset%BlockSize;
510:将所述待处理文件的数据填充到块内的Address偏移地址,填充的字节数受到需要填充有效数据长度和块内剩余空间大小的双重限制,限制为需要取它们二者的最小值;
511:关闭块节点内存映射;
512:更新当前文件读写位置,修改需要填充的有效数据长度;
513:判定数据填充是否完成,判定方式为检查需要填充的有效数据长度是否为0,如果检查需要填充的有效数据长度是0,或者当前文件需要写入的数据从起始位置到当前位置的偏移量已经达到了待处理文件的大小,则本流程执行完成,否则跳转到步骤502继续循环填充。
如图6所示,为本发明实施例提供的一种印刷输出设备的数据处理方法中文件读取数据的过程,该过程具体实现如下:
601:读取当前文件读写位置Offset,此位置亦即文件接口Tell( )所返回的值,标识下一个读写文件的字节相对于文件头的偏移地址;
602:由当前文件读写位置Offset计算块序号。由于在所述印刷输出设备的数据处理装置初期划分块时,已经固定了块大小BlockSize,所以能通过当前文件读写位置Offset定位到当前的块序号BlockIndex,计算公式为:
BlockIndex=Offset/BlockSize;
603:通过当前文件的已占用的块列表长度和BlockIndex的大小比较来判定当前块序号是否已在文件的块队列中。如果已经在队列中,那么直接跳转到下一步,否则标明文件偏移地址超过实际的文件大小,直接退出本流程,返回失败;
604:获取块节点的ID,此时通过此ID在控制进程的块队列中获取块节点信息指针;
605:在块节点信息中拥有足够的信息可以将块节点指向的其他进程所申请的内存映射到当前进程,如图13所示。
606:计算需要读取的目标地址在当前块内偏移地址,计算公式如下:
Address=Offset%BlockSize;
607:从块内Address偏移地址开始拷贝数据到输出缓冲区,(即读取数据)拷贝的字节数受到需要输出缓冲区剩余空间大小和块内剩余空间大小的双重限制,限制为需要取它们二者的最小值;
608:关闭块节点内存映射;
609:更新当前文件读写位置,修改输出缓冲区的剩余空间大小值;
610:判定数据读取是否完成,判定方式为检查输出缓冲区剩余空间是否为0;如果所述检查输出缓冲区剩余空间是0,或者当前文件从读取数据的起始位置到当前读取位置的偏移量已经等于待处理文件的大小,则本流程执行完成,否则跳转到步骤602继续循环读取。
如图7所示,为本发明实施例提供的一种印刷输出设备的数据处理装置,该装置包括:
信息接收单元701,用于接收待处理文件以及文件处理命令;
参数获取单元702,用于获取所述待处理文件的参数;
内存管理单元703,用于根据所述待处理文件的参数为所述待处理文件的进程配置能够相互共享的内存,并管理内存共享;所述内存管理单元703具体还可以包括:
判断子单元,用于根据所述待处理文件的参数,判断当前进程所配置的内存是否能够满足待处理文件的读/写要求;
内存申请子单元,用于当所述当前进程所配置的内存不能满足所述待处理文件的读取和/或存储要求时申请获取与所述当前进程能够相互共享内存的至少一个进程所配置的内存。
数据处理单元704,用于按照所述文件处理命令,对所述待处理文件进行数据处理。所述数据处理单元704,还用于当所述当前进程所配置的内存不能满足所述待处理文件的读取和/或存储要求时读取所述当前进程的块节点和与所述当前进程能够相互共享内存的至少一个进程的块节点,和/或,将所述待处理文件存储到所述当前进程的块节点和与所述当前进程能够相互共享内存的至少一个进程的块节点;
所述数据处理单元704,还用于当所述当前进程所配置的内存能够满足所述待处理文件的读取和/或存储要求时读取所述当前进程的块节点,和/或,将所述待处理文件存储到所述当前进程的块节点。
需要注意的是,该装置,还包括:
所述内存管理单元,还用于当所述申请失败时等待预定时间之后重新进行所述申请。
还需要注意的是,所述参数获取单元还用于获取进程节点参数以及块节点参数;该数据处理装置还包括:
进程创建单元,用于根据所述进程节点参数,创建进程节点;
块节点创建单元,用于根据所述块节点参数,创建块节点。
如图8所示,为本发明实施例提供的一种印刷输出设备的数据处理装置的具体应用实施例;该装置为缓冲器Memory BUFFER,应用于网络缓冲接口客户端(Socket Buf CLIENT)和网络缓冲接口服务器端(Socket Buf SERVER)。
其中,所述MemoryBUFFER提供了一些磁盘操作的主要接口方法,在本发明的实施例中完全考虑了进程安全等需求,能满足多个进程同时处理多个文件进行文件的读写操作。
网络缓冲接口客户端部分主要重载Memory BUFFER的Init( )、Uninit( )以及Close( )方法,实现方案为:
1)、在Init( )方法中初始化和server的socket连接(Connect Server( )),并创建数据发送进程(Send Thread( ));
2)、在Uninit( )方法中除了完成Memory BUFFER所必需的相关工作外,还需要对申请的socket等资源进行释放;
3)、在Close( )方法中,设置了进行文件数据传输的触发条件:一旦调用者对某个文件的处理(这里主要为写操作)完毕,立刻将当前文件添加到发送队列中,交给数据发送进程去完成将文件发送给服务器端的工作,发送完毕则自动删除客户端的当前文件。
网络缓冲接口服务器端部分主要重载Memory BUFFER的Init( )、Uninit( )、Open( )等方法。
1)、在Init( )的初始化中,创建网络监听进程(Listen Thread( ))来监听特定端口的客户端连接,当有客户端进行连接后,建立一个新的数据接收进程来单独处理该客户端的数据过程。典型的实施例中,考虑到系统资源问题,使用的最大客户端连接点为16个;
2)、在Uninit( )方法中除了完成Memory BUFFER所必需的相关工作外,还需要对申请的socket等资源进行释放;
这里还需要特别说明的是Socket Buf SERVER::Open( )方法,这里在打开特定文件时,由于会接收到来自多个客户端的连接,所以很容易的出现文件重名的情况。本发明针对此问题提出了“文件域”概念,将每个客户端所发送的问题都放到独立的文件域下进行单独管理,避免了客户端见的文件重名问题。在本发明实施例中,使用了客户端连接IP地址作为文件域名一区分各个客户端连接。
本发明实施例提供的一种印刷输出设备的数据处理方法及装置,通过为所述待处理文件的进程配置能够相互共享的内存,使得高速印刷系统中单个进程的可用内存不仅仅局限于自身所申请的内存空间,还可以共享到其他进程的可用内存,从而所述高速印刷系统的内存能够存储的待处理文件的数据量较大。由于高速印刷系统通过内存的读取/写入的速度处理所述数据量较大的待处理文件,从而大大提高了所述高速印刷系统输出模块的数据实际吞吐率;从单个进程角度,由于单个进程不仅可以占用其自身申请的内存,还可以共享其他进程的内存,从而大大增加了单个进程的可用内存。
还需要说明的是,在印刷技术领域的数据处理过程中,采用本发明的印刷输出设备的数据处理方法及装置,能够实现较大的数据吞吐量和数据处理速度:
数据吞吐量一般能够达到10GBytes至1000GBytes之间,较优选的为100GBytes以上,更优选的为500GBytes以上,例如为800GBytes以上。
数据处理速度可以达到150-1000MBytes/秒。由于在高速印刷的过程中通常希望数据处理速度为336MBytes/秒以上,因此在实际处理速度可以在336MBytes/秒-1000MBytes/秒之间。然而,对网络速度、内存读取速度、印刷错误率、印刷设备性能等因素的综合考虑,数据处理速度的优选范围可以在400MBytes/秒-800MBytes/秒之间,更优选的范围还可以在400MBytes/秒至600MBytes/秒之间,如400MBytes/秒-500MBytes/秒之间。
通过以上的实施方式的描述,本领域普通技术人员可以理解:实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种印刷输出设备的数据处理方法,其特征在于,包括:
印刷输出设备的数据处理装置接收待处理文件;
所述印刷输出设备的数据处理装置获取所述待处理文件的参数,所述的待处理文件的参数包括以下中的至少一种:待处理文件的标识,待处理文件名,待处理文件长度,待处理文件的起始地址以及待处理文件所占块列表信息;
所述印刷输出设备的数据处理装置根据所述待处理文件的参数,为所述待处理文件的进程配置能够相互共享的内存;
获取进程节点参数以及块节点参数;
根据所述进程节点参数,创建进程节点;
根据所述块节点参数,创建块节点;
如果当前进程所配置的内存不能满足所述待处理文件的读取和/或存储要求,则读取所述当前进程的块节点和与所述当前进程能够相互共享内存的至少一个进程的块节点,和/或,将所述待处理文件存储到所述当前进程的块节点和与所述当前进程能够相互共享内存的至少一个进程的块节点;
如果当前进程所配置的内存能够满足所述待处理文件的读取和/或存储要求,则读取所述当前进程的块节点,和/或,将所述待处理文件存储到所述当前进程的块节点。
2.根据权利要求1所述的印刷输出设备的数据处理方法,其特征在于,进一步包括:
根据所述待处理文件的参数,判断当前进程所配置的内存是否能够满足待处理文件的读/写要求;
如果所述当前进程所配置的内存不能满足所述待处理文件的读/写要求,则申请获取与所述当前进程能够相互共享内存的至少一个进程的内存。
3.根据权利要求2所述的印刷输出设备的数据处理方法,其特征在于,当所述申请失败时:
等待预定时间之后重新进行所述申请;或者,
退出所述待处理文件的处理流程。
4.根据权利要求1-3任一项所述的印刷输出设备的数据处理方法,其特征在于,所述待处理文件包括以下中的至少一种:PDF生成过程所生成的PDF文件、光栅化图像处理过程所产生的中间文件、光栅化图像处理的点阵数据、输出过程中需要读取或存储的文件。
5.一种印刷输出设备的数据处理装置,其特征在于,包括:
信息接收单元,用于接收待处理文件以及文件处理命令;
参数获取单元,用于获取所述待处理文件的参数,所述的待处理文件的参数包括以下中的至少一种:待处理文件的标识,待处理文件名,待处理文件长度,待处理文件的起始地址以及待处理文件所占块列表信息;
内存管理单元,用于根据所述待处理文件的参数为所述待处理文件的进程配置能够相互共享的内存,并管理内存共享;
所述参数获取单元,还用于获取进程节点参数以及块节点参数;
进程创建单元,用于根据所述进程节点参数,创建进程节点;
块节点创建单元,用于根据所述块节点参数,创建块节点;
数据处理单元,用于当当前进程所配置的内存不能满足所述待处理文件的读取和/或存储要求时,读取所述当前进程的块节点和与所述当前进程能够相互共享内存的至少一个进程的块节点,和/或,将所述待处理文件存储到所述当前进程的块节点和与所述当前进程能够相互共享内存的至少一个进程的块节点;
所述数据处理单元,还用于当当前进程所配置的内存能够满足所述待处理文件的读取和/或存储要求时读取所述当前进程的块节点,和/或,将所述待处理文件存储到所述当前进程的块节点。
6.根据权利要求5所述的印刷输出设备的数据处理装置,其特征在于,所述内存管理单元,包括:
判断子单元,用于根据所述待处理文件的参数,判断当前进程所配置的内存是否能够满足待处理文件的读/写要求;
内存申请子单元,用于当所述当前进程所配置的内存不能满足所述待处理文件的读取和/或存储要求时申请获取与所述当前进程能够相互共享内存的至少一个进程所配置的内存。
7.根据权利要求6所述的印刷输出设备的数据处理装置,其特征在于,所述内存管理单元,还用于当所述申请失败时等待预定时间之后重新进行所述申请。
CN201010222527.0A 2010-06-30 2010-06-30 一种印刷输出设备的数据处理方法及装置 Expired - Fee Related CN102314323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010222527.0A CN102314323B (zh) 2010-06-30 2010-06-30 一种印刷输出设备的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010222527.0A CN102314323B (zh) 2010-06-30 2010-06-30 一种印刷输出设备的数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN102314323A CN102314323A (zh) 2012-01-11
CN102314323B true CN102314323B (zh) 2015-06-10

Family

ID=45427529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010222527.0A Expired - Fee Related CN102314323B (zh) 2010-06-30 2010-06-30 一种印刷输出设备的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN102314323B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159681A (en) * 1989-08-11 1992-10-27 Lexmark International, Inc. Page printer memory allocation
US6130759A (en) * 1997-08-26 2000-10-10 Hewlett-Packard Company Reducing memory fragmentation by coalescing and redistributing previously distributed page strips
CN1644386A (zh) * 2005-01-31 2005-07-27 北京北大方正电子有限公司 一种能够提高内存利用率的打印内存管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159681A (en) * 1989-08-11 1992-10-27 Lexmark International, Inc. Page printer memory allocation
US6130759A (en) * 1997-08-26 2000-10-10 Hewlett-Packard Company Reducing memory fragmentation by coalescing and redistributing previously distributed page strips
CN1644386A (zh) * 2005-01-31 2005-07-27 北京北大方正电子有限公司 一种能够提高内存利用率的打印内存管理方法

Also Published As

Publication number Publication date
CN102314323A (zh) 2012-01-11

Similar Documents

Publication Publication Date Title
US7707337B2 (en) Object-based storage device with low process load and control method thereof
US20110131293A1 (en) Data delivery apparatus and data delivery method
JP2007058646A (ja) データ処理システム
CN101594387A (zh) 虚拟集群部署方法和系统
US10162833B2 (en) Wireless access device and wireless access system
EP1701263A1 (en) Computer system and data backup method in computer system
JP2008117342A (ja) ストレージシステムおよびリモートコピーを制御するためのコントローラ
US8051416B2 (en) Method for a user-specific configuration of a computer from a group of prepared computers
JP2003131908A5 (zh)
JP2004094935A (ja) オブジェクト状態転送方法,オブジェクト状態転送装置およびオブジェクト状態転送プログラム並びにそのプログラムの記録媒体
JP2006268766A (ja) ドライブ制御装置、ドライブ制御方法およびドライブ制御プログラム
JP2006012169A5 (zh)
JPWO2004109517A1 (ja) ストレージ管理プログラムおよびファイル処理プログラム
US6704836B1 (en) Method for dynamic control of concurrent extended copy tasks
CN102314323B (zh) 一种印刷输出设备的数据处理方法及装置
JP4448005B2 (ja) 記憶システム
CN110737635B (zh) 一种数据分块方法
US8315269B1 (en) Device, method, and protocol for data transfer between host device and device having storage interface
US9762671B2 (en) Wireless access device and wireless access system
CN110059026A (zh) 一种目录处理方法、装置及存储系统
WO2011117921A1 (en) Method for concurrency control in a file versioning system
JP2005051661A (ja) 無線lan端末
JP2006268588A (ja) クライアントサーバシステムおよびクライアントサーバシステムのデータ処理方法
JP4668794B2 (ja) 記録デバイス制御装置
JP5754778B2 (ja) 記憶装置共用システム、管理装置、処理装置、記憶装置共用方法、管理方法、アクセス方法およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIDA FANGZHENG GROUP CO. LTD. BEIDA FANGZHENG ELE

Free format text: FORMER OWNER: BEIDA FANGZHENG GROUP CO. LTD. BEIJING FOUNDER DIGITAL PRINTING TECHNOLOGY CO., LTD.

Effective date: 20120419

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120419

Address after: 100871 Beijing the Summer Palace Road, Haidian District, No. 5

Applicant after: Peking University

Co-applicant after: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Co-applicant after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871 Beijing the Summer Palace Road, Haidian District, No. 5

Applicant before: Peking University

Co-applicant before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Co-applicant before: DIGITAL PRINTING TECHNOLOGY BEIJING FOUNDER ELECTRONICS Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220621

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee after: Peking University

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee before: Peking University

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150610