一种基于序列化的文档压缩、文档解压方法和装置的制造方法

文档序号:9750981阅读:625来源:国知局
一种基于序列化的文档压缩、文档解压方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机处理的技术领域,特别是涉及一种基于序列化的文档压缩方法、一种基于序列化的文档解压方法、一种基于序列化的文档压缩装置和一种基于序列化的文档解压装置。
【背景技术】
[0002]为了构建索引及更新索引,搜索引擎的网络爬虫(又称蜘蛛,Spider)每天都要从互联网抓取海量的网页,数量高达几十亿的级别。
[0003]除了完全可以判别为垃圾的网页,蜘蛛每天抓取的大部分网页都会按照一定的格式存储在数据库中,这个数据库一般称为网页库。
[0004]经过长时间的积累,网页库中存储了多达几千亿张网页,平均每张原始网页大小为30?50KB,几千亿张网页的总存储量十分之高。
[0005]因此,一般在存储前都会对网页库中的网页进行压缩,采用的压缩算法有GZip,LZO,Zlib 等。
[0006]但是,这些压缩算法都具有通用性,针对性较差,在压缩网页时,压缩率较低,占用较多的存储空间。

【发明内容】

[0007]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于序列化的文档压缩方法、一种基于序列化的文档解压方法和相应的一种基于序列化的文档压缩装置、一种基于序列化的文档解压装置。
[0008]依据本发明的一个方面,提供了一种基于序列化的文档压缩方法,包括:
[0009]提取准备压缩的多个文档;
[0010]从所述多个文档中查找内容相似的多个目标文档;
[0011]对所述多个目标文档的一行或多行文档数据计算内容标识;
[0012]根据所述内容标识对所述多个目标文档进行序列化,获得一个或多个数据块;
[0013]将所述一个或多个数据块进行压缩处理,获得压缩对象。
[0014]可选地,所述从所述多个文档中查找内容相似的多个目标文档的步骤包括:
[0015]计算所述多个文档的URL的相似性;
[0016]当所述相似性超过预设的相似性阈值时,确认所述多个文档为多个目标文档。
[0017]可选地,所述根据所述内容标识对所述多个目标文档进行序列化,获得一个或多个数据块的步骤包括:
[0018]提取所述多个目标文档中、内容标识相同的文档数据;
[0019]将所述内容标识相同的文档数据写入同一个数据块中。
[0020]可选地,所述根据所述内容标识对所述多个目标文档进行序列化,获得一个或多个数据块的步骤还包括:[0021 ]对所述多个目标文档中、内容标识相同的文档数据进行编号;
[0022]记录所述文档数据在所属的目标文档中的位置。
[0023]可选地,所述多个文档以Host逆序的URL为行键,存储在数据库中。
[0024]根据本发明的另一方面,提供了一种基于序列化的文档解压方法,包括:
[0025]提取预先压缩的压缩对象,所述压缩文件中具有一个或多个数据块;
[0026]对所述一个或多个数据块进行解压处理,每个数据块具有关联的内容标识;
[0027]根据内容标识对解压处理之后的一个或多个数据块进行反序列化,获得多个目标文档。
[0028]可选地,所述根据内容标识对解压处理之后的一个或多个数据块进行反序列化,获得多个目标文档的步骤包括:
[0029]读取解压处理之后的一个或多个数据块中的文档数据,所述文档数据具有编号和内容标识;
[0030]按照所述编号计算所述文档数据所属的目标文档;
[0031]按照所述内容标识查找所述文档数据在所属的目标文档中的位置;
[0032]将所述文档数据写入所述目标文档中的位置。
[0033]根据本发明的另一方面,提供了一种基于序列化的文档压缩装置,包括:
[0034]文档提取模块,适于提取准备压缩的多个文档;
[0035]目标文档查找模块,适于从所述多个文档中查找内容相似的多个目标文档;
[0036]内容标识计算模块,适于对所述多个目标文档的一行或多行文档数据计算内容标识;
[0037]序列化模块,适于根据所述内容标识对所述多个目标文档进行序列化,获得一个或多个数据块;
[0038]压缩模块,适于将所述一个或多个数据块进行压缩处理,获得压缩对象。
[0039]可选地,所述目标文档查找模块还适于:
[0040]计算所述多个文档的URL的相似性;
[0041 ]当所述相似性超过预设的相似性阈值时,确认所述多个文档为多个目标文档。
[0042]可选地,所述序列化模块还适于:
[0043]提取所述多个目标文档中、内容标识相同的文档数据;
[0044]将所述内容标识相同的文档数据写入同一个数据块中。
[0045]可选地,所述序列化模块还适于:
[0046]对所述多个目标文档中、内容标识相同的文档数据进行编号;
[0047]记录所述文档数据在所属的目标文档中的位置。
[0048]可选地,所述多个文档以Host逆序的URL为行键,存储在数据库中。
[0049]根据本发明的另一方面,提供了一种基于序列化的文档解压装置,包括:
[0050]压缩对象提取模块,适于提取预先压缩的压缩对象,所述压缩文件中具有一个或多个数据块;
[0051]解压模块,适于对所述一个或多个数据块进行解压处理,每个数据块具有关联的内容标识;
[0052]反序列模块,适于根据内容标识对解压处理之后的一个或多个数据块进行反序列化,获得多个目标文档。
[0053]可选地,所述反序列模块还适于:
[0054]读取解压处理之后的一个或多个数据块中的文档数据,所述文档数据具有编号和内容标识;
[0055]按照所述编号计算所述文档数据所属的目标文档;
[0056]按照所述内容标识查找所述文档数据在所属的目标文档中的位置;
[0057]将所述文档数据写入所述目标文档中的位置。
[0058]本发明实施例针对内容相似的多个目标文档,基于文档数据的内容标识进行序列化,进而压缩,获得压缩对象,利用了网页本身的业务特性进行压缩,大大提高了压缩率,减少了存储空间的占用。
[0059]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0060]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0061]图1示出了根据本发明一个实施例的一种基于序列化的文档压缩方法实施例的步骤流程图;
[0062]图2示出了根据本发明一个实施例的一种网页的结构示例图;
[0063]图3示出了一种基于传统压缩方式压缩文档的示例图;
[0064]图4示出了根据本发明一个实施例的一种基于序列化压缩文档的示例图;
[0065]图5示出了根据本发明一个实施例的一种基于序列化的文档解压方法实施例的步骤流程图;
[0066]图6示出了根据本发明一个实施例的一种基于序列化的文档压缩装置实施例的结构框图;以及
[0067]图7示出了根据本发明一个实施例的一种基于序列化的文档解压装置实施例的结构框图。
【具体实施方式】
[0068]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0069]参照图1,示出了根据本发明一个实施例的一种基于序列化的文档压缩方法实施例的步骤流程图,具体可以包括如下步骤:
[0070]步骤101,提取准备压缩的多个文档;
[0071]在本发明实施例中,爬虫可以预先通过网页间的链接关系,抓取互联网的网页,保存在网页库中,形成大量的搜索资源。
[0072]网页,通常是基于HTML(HyperText Markup Language,超文本标记语言)开发,每一张网页,也可以称之为HTML文档。
[0073]在本发明实施例中,由于网页的数据量十分之巨大,因此,可以存储在分布式的数据库中,如HBase等,本发明实施例对此不加以限制。
[0074]由于相似块结构压缩压缩比更高,因此,多个文档可以基于Key-Value的方式进行存储,以Host(主机)逆序的URL(Uniform Resource Locator,统一资源定位符)为行键,存储在数据库中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1