首页> 中国专利> 一种面向网络流传输的中文PDF文件文本内容提取方法

一种面向网络流传输的中文PDF文件文本内容提取方法

摘要

本发明属于网络信息处理技术领域,尤其是一种面向网络流传输的中文PDF文件文本内容提取方法。本发明包括:步骤A:提供给应用层逻辑的接口;步骤B:对应用层逻辑所解析的网络数据进行中文PDF文档文本内容提取。本发明通过对网络数据流传输的中文PDF文件内容提取各个步骤进行分析及优化,达到了整个系统在时间效率,空间效率上最大可能的优化,同时,避免了时延抖动这样有害现象的产生,使得该方法能够在不影响系统整体运行效率得情况下,运行于大流量的监管系统中。

著录项

  • 公开/公告号CN105843783A

    专利类型发明专利

  • 公开/公告日2016-08-10

    原文格式PDF

  • 申请/专利权人 哈尔滨工程大学;

    申请/专利号CN201610161029.7

  • 申请日2016-03-21

  • 分类号G06F17/22(20060101);H04L12/823(20130101);H04L12/841(20130101);

  • 代理机构

  • 代理人

  • 地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室

  • 入库时间 2023-06-19 00:12:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-26

    授权

    授权

  • 2016-09-07

    实质审查的生效 IPC(主分类):G06F17/22 申请日:20160321

    实质审查的生效

  • 2016-08-10

    公开

    公开

说明书

技术领域

本发明属于网络信息处理技术领域,尤其是一种面向网络流传输的中文PDF文件文本内容提取方法。

背景技术

由于PDF文件格式具有平台独立性、标准完善以及输出格式质量高等优点,PDF文件已经成为互联网中信息共享与传输的主要形式,但是PDF文件中也会出现不利于互联网健康发展的内容,因此产生了对网络数据流中的PDF文件内容进行审查的需求。国内外出现了许多对PDF文档文本内容提取的研究。刘平等人在PDF文档的生成及其内容提取的研究中详细介绍了在ScienceWord软件中PDF文档的生成标准、以及对PDF标准逆向分析之后进行文本内容的提取。陈云榕等人在PDF文件中关键信息提取与组织方法研究中,提出了一种按照标准、快速逆向的提取文档中文本内容的方式。刘丽荣提出格式化文件内容提取与过滤关键技术研究中提及了关于网络流量中格式化文件内容提取与过滤等关键技术,但其立足点对实时性要求以及现实中对中文PDF的解码研究依然有很大的欠缺,并不能解决网络数据流传输的中文PDF文本内容的实时监管。

依据上述描述,当前的方法针对网络数据流传输的PDF文件文本内容提取时,缺乏对实时性或是对中文文本内容提取的支持,而网络数据流传输的中文PDF文件文本内容提取对系统以及整个处理流程有着极高的要求,其要求主要表现在:

①实时网络数据流中会并发传输大量的PDF文件文本内容,因此针对数据流中的PDF文件内容提取产生的额外开销都会严重影响文本内容实时提取效率。

②根据PDF文件标准中,文本内容是存储在内容流当中的,并且内容流是经过压缩的,因此需要高效的识别内容流,并解码进行进一步的文本提取。

③中文PDF文件的编码较为复杂,每个PDF文档都有其特定的中文CID编码,而CID编码与Unicode编码的映射关系在文件中的存储位置不定,因此需要大量缓存先于映射文件出现的CID编码以及缓存映射关系,会带来较大的内存开销。

本发明提出的一种面向网络流传输的中文PDF文件文本内容提取方法可用于实时网络环境中,可运行于旁路监管或是中间人监管的应用层解析逻辑之上,应用层协议解析逻辑通过解析出利用应用层协议所传输的PDF文件附件,然后将文件内容提交给PDF文件文本提取逻辑,通过提取逻辑,对PDF文件的中文及英文内容进行提取,最终返回给应用层协议解析逻辑。本发明可对HTTP,SMTP,FTP等协议所传输的中文PDF文件文本进行提取。此外,本发明通过PDF文件文本提取各个步骤的优化,使得整个系统内存以及时延的消耗达到能够达到 合理的开销,相对于传统的PDF文件内容提取更是有本质的提高。

发明内容

本发明的目的在于提供一种快速将文本内容返回给网络应用层协议解析逻辑,达到实时处理的效果面向网络流传输的中文PDF文件文本内容提取方法。

本发明的目的是这样实现的:

一种面向网络流传输的中文PDF文件文本内容提取方法,包括下列步骤:

步骤A:提供给应用层逻辑的接口;

步骤B:对应用层逻辑所解析的网络数据进行中文PDF文档文本内容提取;

所述步骤B包括些下列步骤:

步骤B1,PDF文件内容流定位;

步骤B2,PDF文件内容流预解压与预识别;

步骤B3,PDF文件内容流解压;

步骤B4,PDF文件转码映射文件提取;

步骤B5,PDF文件中文CID编码提取;

步骤B6,PDF文件CID编码池内容通过缓冲池的方式提交。

所述步骤A包括下列步骤:

步骤A11,通过设定输入缓冲,使得中文PDF文件文本内容提取装置能够获得PDF文件数据;

步骤A12,通过设定输出缓冲,使得中文PDF文件文本内容提取装置能够将解析获取的中文文本内容反馈给应用层解析逻辑。

所述步骤B1包括下列步骤:

步骤B11,通过快速的单模式匹配算法,定位PDF文件内容流标签;

步骤B12,通过内容流标签数据的解析,获取内容流数据。

所述步骤B2包括下列步骤:

步骤B21,通过选定固定长度的PDF文件内容流数据,进行预解压操作;

步骤B22,通过识别PDF文件内容解压后内容的数据标准,确定内容流类型;

步骤B23,丢弃非文本类型的和非转码映射文件的内容流。

所述步骤B3包括下列步骤:

步骤B31,通过调用ZLib库,对压缩的内容流数据进行完整解压缩。

所述步骤B4包括下列步骤:

步骤B41,识别包含转码映射文件的PDF文件内容流;

步骤B42,通过正则表达式对转码映射文件的转码关系进行提取。

所述步骤B5包括下列步骤:

步骤B51,识别包含文本内容的PDF文件内容流;

步骤B52,通过正则表达式对转码映射文件的文本数据CID编码进行提取;

步骤B53,将文本CID编码进行缓存。

所述步骤B6包括下列步骤:

步骤B61,向文本CID编码缓存池进行输入,将获取的文本CID编码填入缓冲池;

步骤B62,从CID编码的缓存池提取一定数量的编码,通过转码映射表进行转码。

本发明的有益效果在于:

本发明中通过分析内容流定位的特性,设计出快速可靠的内容流定位方法,相较于传统的内容流定位,本发明所使用的方法能够极大的提高处理效率,从而提高网络数据处理的吞吐量。

本发明通过内容流的预识别技术,预先对内容流的头部进行解压,进而确定内容流中所包含的内容类型,并丢弃不相关的内容流,进而解析有效内容流。在实际的PDF文件中,与文本内容无关的内容流占据了大部分,因此,预识别可以较大的提高文本内容的提取效率。由于在实际的网络流量中会出现大量并发传输的PDF文件内容流,因此,每个PDF文件内容还原处理所带来的内存开销都是不能忽略的。本发明在转码阶段,选取红黑树作为转码手段,通过一定程度的时间效率的损耗,节约了大量的空间开销,达到了时空开销的折衷。

在CID编码缓存中,本发明利用多次内容提交技术,将CID编码缓存以队列的方式进行存储。每次进行部分转码,多次提交,从而将整个缓冲转码的时延分担到多次调用中,避免了时延抖动,保证了处理性能的平稳。

综上所述,本发明通过对网络数据流传输的中文PDF文件内容提取各个步骤进行分析及优化,达到了整个系统在时间效率,空间效率上最大可能的优化,同时,避免了时延抖动这样有害现象的产生,使得该方法能够在不影响系统整体运行效率得情况下,运行于大流量的监管系统中。

附图说明

图1一种网络中文PDF文件文本内容提取方法的结构图;

图2一种网络中文PDF文件文本内容提取方法的流程图。

具体实施方式

下面结合附图对本发明做进一步描述。

本发明描述了一个针对网络中传输的中文PDF文件进行实时文本内容提取的方法,该方 法不仅支持静态PDF文件的提取,还能支持实施网络流量中中文PDF文本内容的提取。该方法包括一种快速的文本内容流定位方法以及CID编码转换的数据压缩方法。通过快速识别以及PDF文件内容流类型的判断,本发明可大幅度提高中文PDF文件文本内容的提取速度;此外通过红黑树映射技术,在增加少量时延的情况下,节约了中文文本内容转码时所需的内存开销。

本发明面向网络流传输的中文PDF文件进行实时文本内容提取。本发明的特点是可直接针对实时网络数据流中,从网络应用层协议解析逻辑读取PDF附件内容,高效地对PDF附件中文文本进行提取,使得对PDF文件文本提取所带来的内存和处理时延开销达到可以容忍的程度,同时,尽可能快地将文本内容返回给网络应用层协议解析逻辑,达到实时处理的效果。

本发明一种面向网络流传输的中文PDF文件文本内容提取方法具体包括网络应用层协议解析逻辑、中文PDF文件文本提取两个步骤。

步骤1网络应用层协议解析逻辑是的网络应用层协议的解析体,其输入为TCP/IP协议还原组装之后的数据包,通过对应用层协议特有格式进行高效解析,将解析完成后的内容提交给相应内容处理逻辑,内容处理逻辑就包括中文PDF文件的文本内容提取逻辑。

步骤2网络中文PDF文件文本内容提取逻辑包括PDF文件内容流定位、PDF文件内容流预解压与预识别、PDF文件内容流解压、PDF文件转码映射文件提取、PDF文件文本内容CID编码提取、PDF文件CID编码转换和PDF文件编码池内容提交等步骤。

①PDF文件内容流定位,由于在PDF文件中所有的文本及文本相关信息都是存储于内容流中的,因此,首先要对内容流进行定位,然后才能进行后续步骤的处理。

②PDF文件内容流预解压与预识别,在PDF文件的内容流中,并非仅仅包含文本以及其相关信息,其中内容格式以及图片等信息占据了绝大部分的存储位置,如果要对所有的内容流进行解析,势必会引起大量的计算资源的消耗,并且很多内容与文本内容无关。因此,在PDF文件的内容提取过程中需要首先确定哪些内容流是携带文本内容和转码映射文件的内容流,然后再对这些内容流进行文本内容的提取。

③PDF文件内容流解压。为了节约存储空间,PDF文件中的每一块内容流数据都是经过压缩处理的,因此,在内容提取过程中首先要对其进行解压缩,本发明选取Zlib等开源库对该部分内容进行解压操作。

④PDF文件转码映射文件提取。PDF文件中的中文编码是用CID编码存储的,而本发明的文本提取逻辑的输出是需要返回Unicode编码的,转码映射文件也是存储在PDF文件内容流中,因此,需要对转码映射文件进行提取,将转换关系存储于内存中,然后做之后的转码工作。

⑤PDF文件CID编码转换。在文本的提取过程中,需要对CID编码进行转码映射,由于在每个PDF文件中,CID编码与Unicode编码是一一对应关系,需要找到合适的数据结构进行转码映射,通过分析转码映射关系特性,本发明采用红黑树的映射方式来进行编码映射,从而达到空间和时间效率上的一个合理平衡。

⑥PDF文件编码池内容提交。PDF文件中的转码映射可能会出现部分文本内容的后面,文件在网络中进行传输时,携带文本CID编码的内容就会先于转码映射文件到达,因此最后转码映射文件到达之前,可能已经缓存了相当一部分CID编码,若此时将CID编码全部转换,则可能造成较大的瞬时时延,影响处理性能。在此种情况的CID编码进行转换时,需要设计一种合理的文本内容池,从而将缓存CID编码的转码时延分担到多次处理中,从而避免较大的瞬时时延。

参照图1和图2,本发明通过以下步骤来实施具体的中文PDF文件文本内容提取:

步骤1应用层协议解析逻辑通过应用层协议的解析,识别协议所传输的PDF文件附件的内容,并提交给网络中文PDF文件文本提取逻辑,若当前状态为寻找内容流,则进入步骤2,若当前状态为保存后续内容流,则进入步骤4,初始的状态为寻找内容流。

步骤2对PDF文件内容进行内容流的定位,实质上就是对当前偏移位置后的内容流标签的识别,初始偏移标签为输入数据包的开始位置,若偏移位到达输入末尾,则返回。

步骤3若识别内容流标签,则缓存内容流,进入步骤4,若无内容流标签,则进入步骤8。

步骤4识别内容流结束标签,若有,进入步骤5,若无,则进行预解压和预识别,若不包含文本或转码映射文件,则丢弃,设置当前状态为寻找内容流,若包含文本或转码文件,则设置当前状态为保存后续内容流,进入步骤8。

步骤5解压内容流,对内容流中文本内容或是转码映射文件进行相应的提取以及保存,若内容流中为文本内容,则进入步骤6,若为转码映射文件则进入步骤7。

步骤6将文本CID编码加入编码缓存队列。

步骤7按照转码逻辑,分多次将转码队列中的CID编码转换成Unicode编码,将Unicode编码加入输出缓存。

步骤8设置偏移位,进入步骤2。

本发明在每一次输入中,以迭代的方式去寻找内容流标签,然后存储内容流,寻找内容流结束标签,在该逻辑中,通过选取合适的字符匹配算法,可以高效的实现内容流的定位,同时,由于在网络环境中,数据包的划分,和PDF文件本身的分段无关,因此,可能会出现跨越数据包边界,一个内容流存在于多个数据包,以及一个数据包存在于多个内容流的情况, 本发明上述步骤正是要处理这些情况。同时,通过模式匹配算法选取,内容流预识别,转码数据结构的选取,本发明可以在使中文PDF文本文件提取逻辑能够很好的提供一个PDF文件文本提取的接口,同时满足大流量监管系统的使用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号