一种文档的压缩、解压方法和装置制造方法及图纸

技术编号:12890944 阅读:64 留言:0更新日期:2016-02-18 00:51
本发明专利技术实施例提供了一种文档的压缩方法和装置,该方法包括:提取预先存储的多个文档;从所述多个文档中查找内容相似的多个目标文档,每个目标文档中具有行号;根据所述行号对所述多个目标文档进行序列化,获得一个或多个数据块;将所述一个或多个数据块进行压缩处理,获得压缩对象。本发明专利技术实施例利用了网页本身的业务特性进行压缩,大大提高了压缩率,减少了存储空间的占用。

【技术实现步骤摘要】

本专利技术涉及计算机处理的
,特别是涉及一种文档的压缩方法、一种文档的解压方法、一种文档的压缩装置和一种文档的解压装置。
技术介绍
为了构建索引及更新索引,搜索引擎的网络爬虫(又称蜘蛛,Spider)每天都要从互联网抓取海量的网页,数量高达几十亿的级别。除了完全可以判别为垃圾的网页,蜘蛛每天抓取的大部分网页都会按照一定的格式存储在数据库中,这个数据库一般称为网页库。经过长时间的积累,网页库中存储了多达几千亿张网页,平均每张原始网页大小为30?50KB,几千亿张网页的总存储量十分之高。因此,一般在存储前都会对网页库中的网页进行压缩,采用的压缩算法有GZip,LZO, Zlib 等。但是,这些压缩算法都具有通用性,针对性较差,在压缩网页时,压缩率较低,占用较多的存储空间。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种文档的压缩方法、一种文档的解压方法和相应的一种文档的压缩装置、一种文档的解压装置。依据本专利技术的一个方面,提供了一种文档的压缩方法,包括:提取预先存储的多个文档;从所述多个文档中查找内容相似的多个目标文档,每个目标文档中具有行号;根据所述行号对所述多个目标文档进行序列化,获得一个或多个数据块;将所述一个或多个数据块进行压缩处理,获得压缩对象。可选地,所述从所述多个文档中查找内容相似的多个目标文档的步骤包括:计算所述多个文档的URL的相似性;当所述相似性超过预设的相似性阈值时,确认所述多个文档为多个目标文档。可选地,所述根据所述行号对所述多个目标文档进行序列化,获得一个或多个数据块的步骤包括:提取所述多个目标文档中,行号相同的文档数据;将行号相同的文档数据写入同一个数据块中。可选地,所述根据所述行号对所述多个目标文档进行序列化,获得一个或多个数据块的步骤还包括:对所有多个目标文档行号相同的文档数据进行编号。可选地,所述多个文档以Host逆序的URL为行键,存储在数据库中。根据本专利技术的另一方面,提供了一种文档的解压方法,包括:提取预先压缩的压缩对象,所述压缩对象中具有一个或多个数据块;对所述一个或多个数据块进行解压处理;根据行号对解压处理之后的一个或多个数据块进行反序列化,获得多个目标文档。可选地,所述根据行号对解压处理之后的数据块进行反序列化,获得多个目标文档的步骤包括:读取解压处理之后的一个或多个数据块中的文档数据,所述文档数据具有编号和行号;按照所述编号计算所述文档数据所属的目标文档;将所述文档数据按照所述行号写入所述目标文档中。根据本专利技术的另一方面,提供了一种文档的压缩装置,包括:文档提取模块,适于提取预先存储的多个文档;目标文档查找模块,适于从所述多个文档中查找内容相似的多个目标文档,每个目标文档中具有行号;序列化模块,适于根据所述行号对所述多个目标文档进行序列化,获得一个或多个数据块;压缩模块,适于将所述一个或多个数据块进行压缩处理,获得压缩对象。可选地,所述目标文档查找模块还适于:计算所述多个文档的URL的相似性;当所述相似性超过预设的相似性阈值时,确认所述多个文档为多个目标文档。可选地,所述序列化模块还适于:提取所述多个目标文档中,行号相同的文档数据;将行号相同的文档数据写入同一个数据块中。可选地,所述序列化模块还适于:对所有多个目标文档行号相同的文档数据进行编号。可选地,所述多个文档以Host逆序的URL为行键,存储在数据库中。根据本专利技术的另一方面,提供了一种文档的解压装置,包括:压缩对象提取模块,适于提取预先压缩的压缩对象,所述压缩对象中具有一个或多个数据块;解压模块,适于对所述一个或多个数据块进行解压处理;反序列模块,适于根据行号对解压处理之后的一个或多个数据块进行反序列化,获得多个目标文档。可选地,所述反序列模块还适于:读取解压处理之后的一个或多个数据块中的文档数据,所述文档数据具有编号和行号;按照所述编号计算所述文档数据所属的目标文档;将所述文档数据按照所述行号写入所述目标文档中。本专利技术实施例针对内容相似的多个目标文档,基于行号进行序列化,进而压缩,获得压缩对象,利用了网页本身的业务特性进行压缩,大大提高了压缩率,减少了存储空间的占用。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的【具体实施方式】。【附图说明】通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种基于序列化的文档压缩方法实施例的步骤流程图;图2示出了根据本专利技术一个实施例的一种网页的结构示例图;图3示出了一种基于传统压缩方式压缩文档的示例图;图4示出了根据本专利技术一个实施例的一种基于序列化压缩文档的示例图;图5示出了根据本专利技术一个实施例的一种基于序列化的文档解压方法实施例的步骤流程图;图6示出了根据本专利技术一个实施例的一种基于序列化的文档压缩装置实施例的结构框图;以及图7示出了根据本专利技术一个实施例的一种基于序列化的文档解压装置实施例的结构框图。【具体实施方式】下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。参照图1,示出了根据本专利技术一个实施例的一种文档的压缩方法实施例的步骤流程图,具体可以包括如下步骤:步骤101,提取预先存储的多个文档;在本专利技术实施例中,爬虫可以预先通过网页间的链接关系,抓取互联网的网页,保存在网页库中,形成大量的搜索资源。网页,通常是基于HTML (HyperText Markup Language,超文本标记语言)开发,每一张网页,也可以称之为HTML文档。在本专利技术实施例中,由于网页的数据量十分之巨大,因此,可以存储在分布式的数据库中,如HBase等,本专利技术实施例对此不加以限制。由于相似块结构压缩压缩比更高,因此,多个文档可以基于Key-Value的方式进行存储,以Host (主机)逆序的URL(Uniform Resource Locator,统一资源定位符)为行键,存储在数据库中。当然,HTML文档除了上述存储方式之外,还可以采用其他存储方式,本专利技术实施例对此不当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种文档的压缩方法,包括:提取预先存储的多个文档;从所述多个文档中查找内容相似的多个目标文档,每个目标文档中具有行号;根据所述行号对所述多个目标文档进行序列化,获得一个或多个数据块;将所述一个或多个数据块进行压缩处理,获得压缩对象。

【技术特征摘要】

【专利技术属性】
技术研发人员:武志刚魏少俊
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1