数据处理方法及装置与流程

文档序号:13564650阅读:184来源:国知局

本发明涉及计算机技术领域,特别涉及一种数据处理方法及装置。



背景技术:

随着计算机技术的发展,大量的文本数据需要进行存储和分析,该文本数据是指由可打印字符组成的数据,该可打印字符包括美国标准信息交换代码(americanstandardcodeforinformationinterchange,ascii)中的33~127位的字符、统一码(unicode)中的字符、万国码(utf-8)中的字符等。在对该文本数据进行存储时,为了能够节省数据存储与传输时所占用的时间及空间,需要先对该文本数据进行压缩,再对压缩后的该文本数据进行存储,之后,在对该文本数据进行分析时,可以先将压缩后的该文本数据进行解压,以得到该文本数据,再对该文本数据进行诸如比较、排序、查找、哈希运算、连接运算等处理,基于该文本数据的处理结果来对该文本数据进行分析。

目前,提供了一种数据处理方法,具体为:对于存储的多个文本数据块中的每个文本数据块,生成该文本数据块的压缩字典,该文本数据块中包括多个文本数据;基于该文本数据块的压缩字典,对该文本数据块进行压缩,得到该文本数据块对应的压缩数据块;对该文本数据块对应的压缩数据块进行存储。当接收到对第一文本数据块和第二文本数据块进行同一处理操作的处理指令时,获取第一文本数据块对应的压缩数据块,以及获取第二文本数据块对应的压缩数据块,第一文本数据块和第二文本数据块为该多个文本数据块中的任意两个文本数据块;对第一文本数据块对应的压缩数据块进行解压,以得到第一文本数据块,并对第二文本数据块对应的压缩数据块进行解压,以得到第二文本数据块;对第一文本数据块和第二文本数据块中的文本数据进行处理,得到处理结果。

由于在接收到对第一文本数据块和第二文本数据块进行同一处理操作的处理指令时,需要分别对第一文本数据块对应的压缩数据块和第二文本数据块对应的压缩数据块进行解压后,才能对第一文本数据块和第二文本数据块进行处理,因此,数据处理的时间较长,消耗的处理资源较多。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种数据处理方法及装置。所述技术方案如下:

第一方面,提供了一种数据处理方法,所述方法包括:

获取至少两个目标文本数据块的压缩字典,所述至少两个目标文本数据块为存储的多个文本数据块中后续通过同一处理操作进行处理的数据块,各个目标文本数据块均包括多个文本数据,各个文本数据均包括多个字符,所述压缩字典包括所述各个目标文本数据块中每个文本数据的压缩码,或者包括所述各个目标文本数据块中每个字符的压缩码;

基于所述压缩字典,分别对所述至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块,所述至少两个目标文本数据块与所述至少两个压缩数据块一一对应,各个压缩数据块均包括多个压缩数据,所述多个压缩数据与所述多个文本数据一一对应;

当接收到对所述至少两个目标文本数据块进行同一处理操作的处理指令时,对所述至少两个压缩数据块中的压缩数据进行处理,以实现所述至少两个目标文本数据块的处理。

需要说明的是,该至少两个目标文本数据块的压缩字典可以包括各个目标文本数据块中每个文本数据的压缩码,或者可以包括各个目标文本数据块中每个字符的压缩码,也即是,该压缩字典中的压缩码可以与文本数据一一对应,也可以与字符一一对应,本发明实施例对此不做具体限定。

另外,该至少两个目标文本数据块为后续通过同一处理操作进行处理的数据块,且该至少两个目标文本数据块对应同一压缩字典,也即是,该至少两个目标文本数据块共享同一压缩字典,如此,无需对每个文本数据块分别生成一个压缩字典。进而在接收到对至少两个压缩数据块进行同一处理操作的处理指令时,由于该至少两个压缩数据块是通过该压缩字典对该至少两个目标文本数据块进行压缩得到,且该至少两个目标文本数据块共享同一压缩字典,因此,可以直接对该至少两个压缩数据块中的压缩数据进行处理,从而实现对该至少两个目标文本数据块的处理。

结合第一方面,在上述第一方面的第一种可能的实现方式中,所述获取至少两个目标文本数据块的压缩字典之前,还包括:

从存储的多个文本数据块中,确定所述至少两个目标文本数据块;

生成所述至少两个目标文本数据块的压缩字典。

为了便于后续可以基于同一压缩标准对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,在确定该至少两个目标文本数据块后,可以生成该至少两个目标文本数据块的压缩字典。且在生成该至少两个目标文本数据块的压缩字典时,可以基于指定压缩算法和该至少两个目标文本数据块,生成该至少两个目标文本数据块的压缩字典,当然,实际应用中,也可以以其它方式,生成该至少两个目标文本数据块的压缩字典,本发明实施例对此不做具体限定。

结合第一方面的第一种可能的实现方式,在上述第一方面的第二种可能的实现方式中,所述从存储的多个文本数据块中,确定所述至少两个目标文本数据块,包括:

从所述多个文本数据块中,选择属于目标类别的至少两个文本数据块,将选择的文本数据块确定为目标文本数据块;或者,

当检测到针对所述多个文本数据块中至少两个文本数据块的选择指令时,将所述选择指令所选择的文本数据块确定为目标文本数据块。

由于通常情况下目标类别下的文本数据块均可以通过同一处理操作进行处理,因此,本发明实施例中可以选择属于目标类别的至少两个文本数据块,并将选择的文本数据块确定为目标文本数据块,该确定操作简单方便,且无需用户参与,从而可以提高目标文本数据块的确定效率。

另外,由于选择指令由用户触发,因此,本发明实施例中将选择指令所选择的文本数据块确定为目标文本数据块时,实际上时根据用户操作来确定目标文本数据块,从而可以保证确定的目标文本数据块符合用户需求。

结合第一方面,在上述第一方面的第三种可能的实现方式中,所述对所述至少两个压缩数据块中的压缩数据进行处理,以实现所述至少两个目标文本数据块的处理,包括:

确定所述至少两个压缩数据块中每个压缩数据块包括的多个压缩数据;

基于所述至少两个压缩数据块中每个压缩数据块包括的多个压缩数据,对所述至少两个压缩数据块进行处理,得到所述至少两个压缩数据块的处理结果;

基于所述压缩字典,对所述至少两个压缩数据块的处理结果进行解压,得到所述至少两个目标文本数据块的处理结果。

由于压缩字典中存储的是各个目标文本数据块中每个文本数据的压缩码,或者各个目标文本数据块中每个字符的压缩码,因此,对该至少两个目标文本数据块进行压缩,也即是将该至少两个目标文本数据块中的文本数据转换为了压缩数据,由于该转换规则是一定的,因此,在对该压缩数据进行计算后,得到的该至少两个压缩数据块的处理结果也是由压缩码所组成的,因此,基于该压缩字典,对该至少两个压缩数据块的处理结果进行解压后,则是将该压缩码所组成的压缩结果转换为了文本数据形式,且由于转化规则是一定的,因此,转换后的处理结果即为该至少两个目标文本数据块的处理结果。

需要说明的是,由于一般情况下,该多个文本数据块是进行分布式存储的,也即是,在接收到对该多个文本数据块中的某两个文本数据块进行同一处理操作的处理指令时,由于该两个文本数据块的压缩字典不同,因此,需要先对存储的这两个文本数据块对应的两个压缩数据块分别进行解压,以得到这两个文本数据块,进而将这两个文本数据块传输给进行数据处理的设备,由该设备对这两个文本数据块进行处理。

而本发明实施例中,由于是直接对该至少两个压缩数据块中的压缩数据进行处理,来实现该至少两个目标文本数据块的处理,因此,在对该至少两个目标文本数据块进行处理时,可以只将该至少两个目标文本数据块对应的至少两个压缩数据块传输给进行数据处理的设备,由该设备对该至少两个压缩数据块中的压缩数据进行处理,来实现对该至少两个目标文本数据块的处理。从而相比于相关技术中在对文本数据块进行处理之前需要先对压缩数据块进行解压的方式,本发明实施例中直接基于该压缩数据块即可实现对目标文本数据块的处理,从而可以减少数据处理时间,节省处理资源。另外,相比于相关技术中在该分布式系统包括的多个设备之间传输文本数据块的方式,本发明实施例中只需要传输压缩数据块,从而可以降低数据传输量,提升网络带宽利用率,且节省数据传输时间,再者,相比于相关技术中直接对文本数据进行处理的方式,本发明实施例中只需要对压缩数据进行处理,从而可以减小数据处理量,节省数据处理时间,节省处理资源。

结合第一方面的第三种可能的实现方式,在上述第一方面的第四种可能的实现方式中,所述确定所述至少两个压缩数据块中每个压缩数据块包括的多个压缩数据,包括:

判断所述压缩字典包括的多个压缩码的码长是否相等;

当所述压缩字典包括的多个压缩码的码长相等且所述压缩字典包括所述各个目标文本数据块中每个文本数据的压缩码时,对于所述至少两个压缩数据块中的每个压缩数据块,将各个压缩码的码长确定为所述压缩数据块中各个压缩数据的长度;

按照所述压缩数据块中各个压缩数据的长度,从所述压缩数据块中,依次确定所述多个压缩数据。

由上述描述可知,压缩字典是通过指定压缩算法来生成,而对于不同的压缩算法,生成的压缩字典中包括的多个压缩码的码长可能不相等,且该压缩字典中包括的各个压缩码之间的码长可能也不相等,并且压缩数据块是基于该压缩字典进行压缩的,因此,在确定该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据块,可以先判断该压缩字典包括的多个压缩码的码长是否相等。

另外,当该压缩字典包括各个目标文本数据块中每个文本数据的压缩码时,确定在进行目标文本数据块的压缩时,是基于各个目标文本数据块中每个文本数据的压缩码,对每个文本数据进行压缩的,因此,可以将该压缩字典中该各个压缩码的码长确定为该压缩数据块中各个压缩数据块的长度。

结合第一方面的第四种可能的实现方式,在上述第一方面的第五种可能的实现方式中,所述判断所述压缩字典包括的多个压缩码的码长是否相等之后,还包括:

当所述压缩字典包括的多个压缩码的码长相等且当所述压缩字典包括所述各个目标文本数据块中每个字符的压缩码时,对于所述至少两个压缩数据块中的每个压缩数据块,确定所述压缩数据块对应的目标文本数据块;

将各个压缩码的码长分别与所述目标文本数据块中各个文本数据的字符个数相乘,得到所述压缩数据块中各个压缩数据的长度;

按照所述压缩数据块中各个压缩数据的长度,从所述压缩数据块中,依次确定所述多个压缩数据。

其中,当该压缩字典包括各个目标文本数据块中每个字符的压缩码时,确定在进行目标文本数据块的压缩时,是基于各个目标文本数据块中每个字符的压缩码,对每个字符进行压缩的,且由于一个文本数据可以包括多个字符,因此,可以将该压缩字典中该各个压缩码的码长分别与目标文本数据块中各个文本数据的字符个数相乘,进而得到该压缩数据块中各个压缩数据块的长度。

结合第一方面的第四种可能的实现方式,在上述第一方面的第六种可能的实现方式中,所述判断所述压缩字典包括的多个压缩码的码长是否相等之后,还包括:

当所述压缩字典包括的多个压缩码的码长不相等时,对于所述至少两个压缩数据块中的每个压缩数据块,根据所述压缩数据块的数据索引,从所述压缩数据块中,确定所述多个压缩数据,所述压缩数据块的数据索引用于指示所述多个压缩数据中每个压缩数据在所述压缩数据块中所处的位置。

结合第一方面的第六种可能的实现方式,在上述第一方面的第七种可能的实现方式中,所述根据所述压缩数据块的数据索引,从所述压缩数据块中,确定所述多个压缩数据之前,还包括:

对于所述压缩数据块对应的目标文本数据块,在对所述目标文本数据块进行压缩的过程中,确定所述目标文本数据块中各个文本数据对应的压缩数据在所述压缩数据块中所处的位置;

基于所述各个文本数据对应的压缩数据在所述压缩数据块中所处的位置,生成所述压缩数据块的数据索引。

需要说明的是,在对目标文本数据块进行压缩的过程中,确定目标文本数据块中各个文本数据对应的压缩数据在该压缩数据块中所处的位置时,可以确定各个文本数据对应的压缩数据在该压缩数据块中的起始位置和结束位置,进而通过起始位置和结束位置唯一地确定各个文本数据对应的压缩数据在该压缩数据块中所处的位置。其中,为了方便起见,可以将各个压缩数据在该压缩数据块中的起始位置确定为该压缩数据块的数据索引。

第二方面,提供了一种数据处理装置,所述装置包括:

获取模块,用于获取至少两个目标文本数据块的压缩字典,所述至少两个目标文本数据块为存储的多个文本数据块中后续通过同一处理操作进行处理的数据块,各个目标文本数据块均包括多个文本数据,各个文本数据均包括多个字符,所述压缩字典包括所述各个目标文本数据块中每个文本数据的压缩码,或者包括所述各个目标文本数据块中每个字符的压缩码;

压缩模块,用于基于所述压缩字典,分别对所述至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块,所述至少两个目标文本数据块与所述至少两个压缩数据块一一对应,各个压缩数据块均包括多个压缩数据,所述多个压缩数据与所述多个文本数据一一对应;

处理模块,用于当接收到对所述至少两个目标文本数据块进行同一处理操作的处理指令时,对所述至少两个压缩数据块中的压缩数据进行处理,以实现所述至少两个目标文本数据块的处理。

结合第二方面,在上述第二方面的第一种可能的实现方式中,所述装置还包括:

确定模块,用于从存储的多个文本数据块中,确定所述至少两个目标文本数据块;

生成模块,用于生成所述至少两个目标文本数据块的压缩字典。

结合第二方面的第一种可能的实现方式,在上述第二方面的第二种可能的实现方式中,所述确定模块包括:

选择单元,用于从所述多个文本数据块中,选择属于目标类别的至少两个文本数据块,将选择的文本数据块确定为目标文本数据块;或者,

第一确定单元,用于当检测到针对所述多个文本数据块中至少两个文本数据块的选择指令时,将所述选择指令所选择的文本数据块确定为目标文本数据块。

结合第二方面,在上述第二方面的第三种可能的实现方式中,所述处理模块包括:

第二确定单元,用于确定所述至少两个压缩数据块中每个压缩数据块包括的多个压缩数据;

处理单元,用于基于所述至少两个压缩数据块中每个压缩数据块包括的多个压缩数据,对所述至少两个压缩数据块进行处理,得到所述至少两个压缩数据块的处理结果;

解压单元,用于基于所述压缩字典,对所述至少两个压缩数据块的处理结果进行解压,得到所述至少两个目标文本数据块的处理结果。

结合第二方面的第三种可能的实现方式,在上述第二方面的第四种可能的实现方式中,所述第二确定单元包括:

判断子单元,用于判断所述压缩字典包括的多个压缩码的码长是否相等;

第一确定子单元,用于当所述压缩字典包括的多个压缩码的码长相等且所述压缩字典包括所述各个目标文本数据块中每个文本数据的压缩码时,对于所述至少两个压缩数据块中的每个压缩数据块,将各个压缩码的码长确定为所述压缩数据块中各个压缩数据的长度;

第二确定子单元,用于按照所述压缩数据块中各个压缩数据的长度,从所述压缩数据块中,依次确定所述多个压缩数据

结合第二方面的第四种可能的实现方式,在上述第二方面的第五种可能的实现方式中,所述第二确定单元还包括:

第三确定子单元,用于当所述压缩字典包括的多个压缩码的码长相等且当所述压缩字典包括所述各个目标文本数据块中每个字符的压缩码时,对于所述至少两个压缩数据块中的每个压缩数据块,确定所述压缩数据块对应的目标文本数据块;

运算子单元,用于将各个压缩码的码长分别与所述目标文本数据块中各个文本数据的字符个数相乘,得到所述压缩数据块中各个压缩数据的长度;

第四确定子单元,用于按照所述压缩数据块中各个压缩数据的长度,从所述压缩数据块中,依次确定所述多个压缩数据。

结合第二方面的第四种可能的实现方式,在上述第二方面的第六种可能的实现方式中,所述第二确定单元还包括:

第五确定子单元,用于当所述压缩字典包括的多个压缩码的码长不相等时,对于所述至少两个压缩数据块中的每个压缩数据块,根据所述压缩数据块的数据索引,从所述压缩数据块中,确定所述多个压缩数据,所述压缩数据块的数据索引用于指示所述多个压缩数据中每个压缩数据在所述压缩数据块中所处的位置。

结合第二方面的第六种可能的实现方式,在上述第二方面的第七种可能的实现方式中,所述第二确定单元还包括:

第六确定子单元,用于对于所述压缩数据块对应的目标文本数据块,在对所述目标文本数据块进行压缩的过程中,确定所述目标文本数据块中各个文本数据对应的压缩数据在所述压缩数据块中所处的位置;

生成子单元,用于基于所述各个文本数据对应的压缩数据在所述压缩数据块中所处的位置,生成所述压缩数据块的数据索引。

本发明实施例提供的技术方案带来的有益效果是:

在本发明实施例中,对于后续通过同一处理操作进行处理的至少两个目标文本数据块,获取该至少两个目标文本数据块的压缩字典,基于该压缩字典对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块,也即是,该至少两个目标文本数据块可以共享同一压缩字典,而无需对每个文本数据块都生成一个压缩字典。另外,由于该至少两个目标文本数据块的压缩字典相同,也即是,该至少两个目标文本数据块是通过同一压缩标准进行压缩的,因此,对该至少两个压缩数据块中的压缩数据进行处理,并对处理结果通过该压缩字典进行解压后的结果与对该至少两个目标文本数据块中的文本数据进行处理得到的处理结果相同,所以本发明实施例通过对该至少两个压缩数据块中的压缩数据进行处理,来实现对该至少两个目标文本数据块的处理,而无需对该至少两个压缩数据块进行解压,减小了数据处理量,进而缩短了数据的处理时间,以及节省了处理资源。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种数据处理系统的结构示意图;

图2是本发明实施例提供的一种计算机设备的结构示意图;

图3是本发明实施例提供的一种数据处理方法的流程图;

图4a是本发明实施例提供的另一种数据处理方法的流程图;

图4b是图4a实施例所涉及的一种目标文本数据块的示意图;

图4c是图4a实施例所涉及的一种目标文本数据块与压缩字典的对应关系的示意图;

图4d是图4a实施例所涉及的另一种目标文本数据块与压缩字典的对应关系的示意图;

图4e是图4a实施例所涉及的压缩字段索引的示意图;

图5a是本发明实施例提供的一种数据处理装置的结构示意图;

图5b是本发明实施例提供的一种处理模块的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1是本发明实施例提供的一种数据处理系统的结构示意图。参见图1,该系统可以为分布式系统,当然也可以是不是分布式系统,在本发明实施例中以分布式系统为例进行说明。其中,在该分布式系统中包括多个设备,分别为设备01、设备02、设备03......设备0n,该多个设备之间相互连接,且该多个设备可以终端,也可以为服务器,本发明实施例对此不做具体限定。

另外,该多个设备中的每个设备均可以包括数据导入模块和数据处理模块,该多个设备中的指定设备中不仅可以包括数据导入模块和数据处理模块,还可以包括压缩字典配置模块和压缩字典共享存储模块,该指定设备可以为该多个设备中的任一设备。其中,该分布式系统中可以存储多个文本数据块,压缩字典配置模块用于对该分布式系统中存储的多个文本数据块配置压缩字典,该压缩字典用于对文本数据块进行压缩,从而得到压缩数据块,相应地,该分布式系统中还可以存储多个压缩数据块,该多个压缩数据块与该多个文本数据块一一对应,值得注意的是,该多个文本数据块中后续需要进行同一处理操作的至少两个文本数据块可以共享一个压缩字典,也即是,该至少两个文本数据可以对应相同的压缩字典。

压缩字典共享存储模块用于对应存储该多个文本数据块的标识与对应的压缩字典;数据导入模块用于在对至少两个目标文本数据块进行数据处理时,从压缩字典共享存储模块中获取该至少两个目标文本数据块的压缩字典;数据处理模块用于对该至少两个目标文本数据块对应的压缩数据块中的压缩数据进行处理,并基于数据导入模块获取的压缩字典对处理结果进行解压,从而实现对该至少两个目标文本数据块的处理。

图2为本发明实施例提供的一种计算机设备的结构示意图,图1中的分布式系统中的设备可以以图2中所示的计算机设备来实现。参见图2,该计算机设备包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。

处理器201可以是一个通用中央处理器(cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。

通信总线202可包括一通路,在上述组件之间传送信息。

存储器203可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(randomaccessmemory,ram))或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203可以是独立存在,通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。

通信接口204,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wirelesslocalareanetworks,wlan)等。

在具体实现中,作为一种实施例,处理器201可以包括一个或多个cpu,例如图2中所示的cpu0和cpu1。

在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图2中所示的处理器201和处理器208。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算机设备可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备或者嵌入式设备。本发明实施例不限定计算机设备的类型。

其中,存储器203用于存储执行本发明方案的程序代码,并由处理器201来控制执行。处理器201用于执行存储器203中存储的程序代码210。程序代码210中可以包括一个或多个软件模块(例如,数据导入模块、数据处理模块、压缩字典配置模块和压缩字典共享存储模块等等)。图1中所示的分布式系统中的设备可以通过处理器201以及存储器203中的程序代码210中的一个或多个软件模块,对数据进行处理。

图3是本发明实施例提供的一种数据处理方法的流程图。参见图3,该方法包括:

步骤301:获取至少两个目标文本数据块的压缩字典,该至少两个目标文本数据块为存储的多个文本数据块中后续通过同一处理操作进行处理的数据块,各个目标文本数据块均包括多个文本数据,各个文本数据均包括多个字符,该压缩字典包括该各个目标文本数据块中每个文本数据的压缩码,或者包括该各个目标文本数据块中每个字符的压缩码。

步骤302:基于该压缩字典,分别对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块,该至少两个目标文本数据块与该至少两个压缩数据块一一对应,各个压缩数据块均包括多个压缩数据,该多个压缩数据与该多个文本数据一一对应。

步骤303:当接收到对该至少两个目标文本数据块进行同一处理操作的处理指令时,对该至少两个压缩数据块中的压缩数据进行处理,以实现该至少两个目标文本数据块的处理。

在本发明实施例中,对于后续通过同一处理操作进行处理的至少两个目标文本数据块,获取该至少两个目标文本数据块的压缩字典,基于该压缩字典对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块,也即是,该至少两个目标文本数据块可以共享同一压缩字典,而无需对每个文本数据块都生成一个压缩字典。另外,由于该至少两个目标文本数据块的压缩字典相同,也即是,该至少两个目标文本数据块是通过同一压缩标准进行压缩的,因此,对该至少两个压缩数据块中的压缩数据进行处理,并对处理结果通过该压缩字典进行解压后的结果与对该至少两个目标文本数据块中的文本数据进行处理得到的处理结果相同,所以本发明实施例通过对该至少两个压缩数据块进行处理,来实现对该至少两个目标文本数据块的处理,而无需对该至少两个压缩数据块进行解压,减小了数据处理量,进而缩短了数据的处理时间,以及节省了处理资源。

可选地,获取至少两个目标文本数据块的压缩字典之前,还包括:

从存储的多个文本数据块中,确定至少两个目标文本数据块;

生成该至少两个目标文本数据块的压缩字典。

可选地,从存储的多个文本数据块中,确定至少两个目标文本数据块,包括:

从存储的多个文本数据块中,选择属于目标类别的至少两个文本数据块,将选择的文本数据块确定为目标文本数据块;或者,

当检测到针对该多个文本数据块中至少两个文本数据块的选择指令时,将选择指令所选择的文本数据块确定为目标文本数据块。

可选地,对该至少两个压缩数据块中的压缩数据进行处理,以实现该至少两个目标文本数据块的处理,包括:

确定该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据;

基于该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据,对该至少两个压缩数据块进行处理,得到该至少两个压缩数据块的处理结果;

基于该压缩字典,对该至少两个压缩数据块的处理结果进行解压,得到至少两个目标文本数据块的处理结果。

可选地,确定该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据,包括:

判断该压缩字典包括的多个压缩码的码长是否相等;

当该压缩字典包括的多个压缩码的码长相等且压缩字典包括各个目标文本数据块中每个文本数据的压缩码时,对于该至少两个压缩数据块中的每个压缩数据块,将各个压缩码的码长确定为该压缩数据块中各个压缩数据的长度;

按照该压缩数据块中各个压缩数据的长度,从该压缩数据块中,依次确定多个压缩数据。

可选地,判断该压缩字典包括的多个压缩码的码长是否相等之后,还包括:

当该压缩字典包括的多个压缩码的码长相等且当压缩字典包括各个目标文本数据块中每个字符的压缩码时,对于该至少两个压缩数据块中的每个压缩数据块,确定该压缩数据块对应的目标文本数据块;

将各个压缩码的码长分别与目标文本数据块中各个文本数据的字符个数相乘,得到该压缩数据块中各个压缩数据的长度;

按照该压缩数据块中各个压缩数据的长度,从该压缩数据块中,依次确定多个压缩数据。

可选地,判断该压缩字典包括的多个压缩码的码长是否相等之后,还包括:

当该压缩字典包括的多个压缩码的码长不相等时,对于该至少两个压缩数据块中的每个压缩数据块,根据该压缩数据块的数据索引,从该压缩数据块中,确定多个压缩数据,该压缩数据块的数据索引用于指示该多个压缩数据中每个压缩数据在该压缩数据块中所处的位置。

可选地,根据该压缩数据块的数据索引,从该压缩数据块中,确定多个压缩数据之前,还包括:

对于该压缩数据块对应的目标文本数据块,在对目标文本数据块进行压缩的过程中,确定目标文本数据块中各个文本数据对应的压缩数据在该压缩数据块中所处的位置;

基于各个文本数据对应的压缩数据在该压缩数据块中所处的位置,生成该压缩数据块的数据索引。

上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。

图4a是本发明实施例提供的一种数据处理方法的流程图。参见图4a,该方法包括:

步骤401:从存储的多个文本数据块中,确定至少两个目标文本数据块。

需要说明的是,该多个文本数据块可以以指定格式进行存储,该指定格式可以预先设置,如该指定格式可以为文本文件(textfile)格式、parquet格式、sequencefile格式、rcfile格式、avro格式等,本发明实施例对此不做具体限定。且为了提高该多个文本数据块的存取效率,实际应用中通常可以将该多个文本数据块进行分布式存储,该分布式存储是指将该多个文本数据块分散存储在多台独立的设备上,如可以将该多个文本数据基于分布式文件系统(hadoopdistributedfilesystem,hdfs)进行存储等,本发明实施例对此不做具体限定。

另外,该至少两个目标文本数据块为后续通过同一处理操作进行处理的数据块,各个目标文本数据块均包括多个文本数据,各个文本数据均包括多个字符。例如,如图4b所示,该至少两个目标文本数据块中的某一目标文本数据块中包括多个文本数据,该多个文本数据为101、102、103和104。其中,该处理操作可以包括比较、排序、查找、哈希运算、连接运算等,本发明实施例对此不做具体限定。

再者,文本数据是指由可打印字符组成的数据,该可打印字符包括ascii中的33~127位的字符、unicode中的字符、utf-8中的字符等,本发明实施例对此不做具体限定。

具体地,该分布式系统从该多个文本数据块中,确定该至少两个目标文本数据块时,可以从该多个文本数据块中,选择属于目标类别的至少两个文本数据块,将选择的文本数据块确定为目标文本数据块;或者,当检测到针对该多个文本数据块中至少两个文本数据块的选择指令时,将选择指令所选择的文本数据块确定为目标文本数据块。

需要说明的是,目标类别下的文本数据块均可以通过同一处理操作进行处理,如目标类别可以为编号、时间、用户名称等,本发明实施例对此不做具体限定。

另外,选择指令用于从该多个文本数据块中选择目标文本数据块,且该选择指令可以由用户触发,该用户可以通过指定操作触发,该指定操作可以为单击操作、双击操作、语音操作等,本发明实施例对此不做具体限定。

由于通常情况下目标类别下的文本数据块均可以通过同一处理操作进行处理,因此,本发明实施例中可以选择属于目标类别的至少两个文本数据块,并将选择的文本数据块确定为目标文本数据块,该确定操作简单方便,且无需用户参与,从而可以提高目标文本数据块的确定效率。

另外,由于选择指令由用户触发,因此,本发明实施例中将选择指令所选择的文本数据块确定为目标文本数据块时,实际上时根据用户操作来确定目标文本数据块,从而可以保证确定的目标文本数据块符合用户需求。

例如,该多个文本数据块中,属于目标类别的文本数据块为文本数据块1、文本数据块2、文本数据块3和文本数据块4,则可以从该多个文本数据块中,选择该文本数据块1、文本数据块2、文本数据块3和文本数据块4,之后,可以将该选择的文本数据块1、文本数据块2、文本数据块3和文本数据块4确定为目标文本数据块。

再例如,检测到针对该多个文本数据块中的文本数据块1、文本数据块2、文本数据块3和文本数据块4的选择指令,则可以将该选择指令所选择的文本数据块1、文本数据块2、文本数据块3和文本数据块4确定为目标文本数据块。

需要说明的是,从该多个文本数据块中,确定该至少两个目标文本数据块的操作可以由该分布式系统中的压缩字典配置模块执行,且实际应用中,在确定该至少两个目标文本数据块之后,该压缩字典配置模块还可以将该至少两个目标文本数据块中每个目标文本数据块的标识发送给压缩字典共享存储模块,以便该压缩字典共享存储模块可以确定该至少两个目标文本数据块之间的关联关系,进而便于后续该压缩字典共享存储模块为该至少两个目标文本数据块生成同一压缩字典。

其中,目标文本数据块的标识用于唯一标识该目标文本数据块,且目标文本数据块的标识可以为该目标文本数据块的名称等,本发明实施例对此不做具体限定。

步骤402:生成该至少两个目标文本数据块的压缩字典。

为了便于后续可以基于同一压缩标准对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,在确定该至少两个目标文本数据块后,可以生成该至少两个目标文本数据块的压缩字典。且在生成该至少两个目标文本数据块的压缩字典时,可以基于指定压缩算法和该至少两个目标文本数据块,生成该至少两个目标文本数据块的压缩字典,当然,实际应用中,也可以以其它方式,生成该至少两个目标文本数据块的压缩字典,本发明实施例对此不做具体限定。

需要说明的是,该至少两个目标文本数据块的压缩字典可以包括各个目标文本数据块中每个文本数据的压缩码,或者可以包括各个目标文本数据块中每个字符的压缩码,本发明实施例对此不做具体限定。例如,该至少两个目标文本数据块中包括的文本数据为101、102、103,则当该至少两个目标文本数据块的压缩字典包括各个目标文本数据块中每个文本数据的压缩码时,该压缩字典可以对应包括压缩码1、压缩码2和压缩码3,如图4c所示;当该至少两个目标文本数据块的压缩字典包括各个目标文本数据块中每个字符的压缩码时,假如文本数据101中包括的字符为1、2、3,对应的压缩码为压缩码1、压缩码2、压缩码3,文本数据102中包括的字符为4、5、6,对应的压缩码为压缩码4、压缩码5、压缩码6,文本数据103中包括的字符为7、8、9,对应的压缩码为压缩码7、压缩码8、压缩码9,该压缩字典可以如图4d所示。

另外,指定压缩算法可以预先设置,且该指定压缩算法可以是一种压缩排序保持算法,也即是,可以保持编码后的字典序与原字符串的字典序相同,如该指定压缩算法可以为哈夫曼编码(huffmancoding)算法、hu-tucker编码算法等,本发明实施例对此不做具体限定。

其中,基于指定压缩算法和该至少两个目标文本数据块,生成该至少两个目标文本数据块的压缩字典的操作可以参考相关技术,本发明实施例对此不进行详细阐述。

需要说明的是,当该至少两个目标文本数据块是分布式存储时,存储该至少两个目标文本数据块的设备可以在接收到针对该至少两个目标文本数据块的压缩指令时,将该至少两个目标文本数据块发送到压缩字典共享存储模块,以便该压缩字典共享存储模块生成该至少两个文本数据块的压缩字典,并将该压缩字典返回该设备,以便该设备可以对该至少两个文本数据块进行压缩,当然,该压缩字典共享存储模块也可以主动获取该至少两个目标文本数据块,以便生成该至少两个目标文本数据块的压缩字典,本发明实施例对此不做具体限定。其中,压缩指令用于指示对该至少两个目标文本数据块进行压缩,且该压缩指令可以通过指定操作触发,本发明实施例对此不做具体限定。

另外,该压缩字典共享存储模块生成该压缩字典后,可以将该至少两个目标文本数据块进行删除,以便节省该压缩字典共享存储模块的存储资源。

再者,压缩字典共享存储模块生成该至少两个目标文本数据块的压缩字典后,还可以将该至少两个目标文本数据块中每个目标文本数据块的标识和该至少两个目标文本数据块的压缩字典存储到文本数据块标识与压缩字典之间的对应关系中,以便于后续在上述所述设备获取目标文本数据块的压缩字典时,可以直接基于目标文本数据块的标识,从该文本数据块标识与压缩字典之间的对应关系中,简单快速地获取该目标文本数据块的压缩字典。

需要说明的是,相关技术中在压缩某一文本数据块时,往往是先生成该文本数据块对应的压缩字典,再基于该文本数据块的压缩字典,对该文本数据块进行压缩,得到该文本数据块对应的压缩数据块,之后,将该文本数据块的压缩字典和该文本数据块对应的压缩数据块共同存储,以便后续可以基于该文本数据块的压缩字典,对该文本数据块对应的压缩数据块进行解压。也就是说,相关技术中如果要存储多个压缩数据块,则需要对该多个压缩数据块中每个压缩数据块对应的压缩字典也进行存储,从而消耗了较多的存储资源。而本发明实施例中,由于该至少两个目标文本数据块均使用同一压缩字典,因此,只需要对该至少两个目标文本数据块的压缩字典在该压缩字典共享存储模块中进行一次存储,从而节省了存储资源。

另外,相关技术中,在生成多个文本数据块的压缩字典时,需要对于该多个文本数据块中的每个文本数据块均执行一次生成操作,也即是,需要执行多次生成操作,才能得到该多个文本数据块中所有文本数据块的压缩字典,从而消耗了较多的处理资源。而由于本发明实施例中可以事先确定该至少两个目标文本数据块,且该至少两个目标文本数据块中每个目标文本数据块的压缩字典均相同,因此,只需要对该至少两个目标文本数据块执行一次生成操作,即可得到该至少两个目标文本数据块的压缩字典,从而节省了处了理资源。

需要说明的是,本发明实施例中,可以通过上述步骤401-402确定该至少两个目标文本数据块的压缩字典,而基于该至少两个目标文本数据块的压缩字典,对该至少两个目标文本数据块进行压缩和处理的操作可以通过如下步骤403-405来实现。

由上述描述可知,本发明实施例提供的方法用于分布式系统中,且压缩字典共享存储模块设置在该分布式系统包括的多个设备中的指定设备中,但是,该多个文本数据块又是分布式地存储在该多个设备中,该至少两个目标文本数据块包含于该多个文本数据块中,也即是,该至少两个目标文本数据块也分布式地存储在该多个设备中,因此,在压缩字典共享存储模块生成该至少两个目标文本数据块的压缩字典之后,可以存储该压缩字典,当该分布式系统需要对该至少两个目标文本数据块进行数据处理时,再按照如下方式来获取该至少两个目标文本数据块的压缩字典,从而进行后续的处理步骤,具体如下步骤403-405所示。

步骤403:获取该至少两个目标文本数据块的压缩字典。

需要说明的是,分布式系统获取该至少两个目标文本数据块的压缩字典的操作可以通过存储该至少两个目标文本数据块的设备所包括的数据导入模块来执行,具体地,存储该至少两个目标文本数据块的设备包括的数据导入模块可以向该压缩字典共享存储模块发送压缩字典获取请求,该压缩字典获取请求中携带目标文本数据块的标识;当该压缩字典共享存储模块接收到该压缩字典获取请求时,可以基于目标文本数据块的标识,从存储的文本数据块标识与压缩字典之间的对应关系中,获取目标文本数据块的压缩字典,并将目标文本数据块的压缩字典发送给该数据导入模块,当然,实际应用中,也可以以其它方式获取该至少两个目标文本数据块的压缩字典,本发明实施例对此不做具体限定。

另外,实际应用中,可以在接收到针对该至少两个目标文本数据块的压缩指令时,获取该至少两个目标文本数据块的压缩字典,当然,也可以在其它情况下获取该至少两个目标文本数据块的压缩字典,只要保证在对该至少两个目标文本数据块进行压缩之前,已经获取到该至少两个目标文本数据块的压缩字典即可,本发明实施例对此不做具体限定。

需要说明的是,该压缩指令用于指示对该至少两个目标文本数据块进行压缩,且该压缩指令可以由用户触发,当然,该压缩指令也可以在分布式系统检测到某一触发事件时触发,本发明实施例对此不做具体限定。

进一步地,当压缩字典共享存储模块中未存储有该目标文本数据块的压缩字典时,此时,该压缩字典共享存储模块需要基于该目标文本数据块和指定压缩算法,生成该目标文本数据块的压缩字典。

步骤404:基于该至少两个目标文本数据块的压缩字典,分别对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块。

需要说明的是,该至少两个目标文本数据块与该至少两个压缩数据块一一对应,各个压缩数据块均包括多个压缩数据,且对于某个压缩数据块,该压缩数据块中包括的多个压缩数据与该压缩数据块对应的目标文本数据块中包括的多个文本数据一一对应,也即是,该至少两个目标文本数据块中的每个文本数据均在该至少两个压缩数据块中具有唯一对应的压缩数据。

另外,基于该至少两个目标文本数据块的压缩字典,分别对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块的操作可以参考相关技术,本发明实施例对此不进行详细阐述。

步骤405:当接收到对该至少两个目标文本数据块进行同一处理操作的处理指令时,对该至少两个压缩数据块中的压缩数据进行处理,以实现至少两个目标文本数据块的处理。

需要说明的是,由于一般情况下,该多个文本数据块是进行分布式存储的,也即是,在接收到对该多个文本数据块中的某两个文本数据块进行同一处理操作的处理指令时,由于该两个文本数据块的压缩字典不同,因此,需要先对存储的这两个文本数据块对应的两个压缩数据块分别进行解压,以得到这两个文本数据块,进而将这两个文本数据块传输给进行数据处理的设备,由该设备对这两个文本数据块进行处理。

而本发明实施例中,由于是直接对该至少两个压缩数据块中的压缩数据进行处理,来实现该至少两个目标文本数据块的处理,因此,在对该至少两个目标文本数据块进行处理时,可以只将该至少两个目标文本数据块对应的至少两个压缩数据块传输给进行数据处理的设备,由该设备对该至少两个压缩数据块中的压缩数据进行处理,来实现对该至少两个目标文本数据块的处理。从而相比于相关技术中在对文本数据块进行处理之前需要先对压缩数据块进行解压的方式,本发明实施例中直接基于该压缩数据块即可实现对目标文本数据块的处理,从而可以减少数据处理时间,节省处理资源。另外,相比于相关技术中在该分布式系统包括的多个设备之间传输文本数据块的方式,本发明实施例中只需要传输压缩数据块,从而可以降低数据传输量,提升网络带宽利用率,且节省数据传输时间,再者,相比于相关技术中直接对文本数据进行处理的方式,本发明实施例中只需要对压缩数据进行处理,从而可以减小数据处理量,节省数据处理时间,节省处理资源。

具体地,对该至少两个压缩数据块中的压缩数据进行处理,以实现该至少两个目标文本数据块的处理的操作可以为:确定该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据;基于该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据,对该至少两个压缩数据块进行处理,得到该至少两个压缩数据块的处理结果;基于该压缩字典,对该至少两个压缩数据块的处理结果进行解压,得到该至少两个目标文本数据块的处理结果。

由于压缩字典中存储的是各个目标文本数据块中每个文本数据的压缩码,或者各个目标文本数据块中每个字符的压缩码,因此,对该至少两个目标文本数据块进行压缩,也即是将该至少两个目标文本数据块中的文本数据转换为了压缩数据,由于该转换规则是一定的,因此,在对该压缩数据进行计算后,得到的该至少两个压缩数据块的处理结果也是由压缩码所组成的,因此,基于该压缩字典,对该至少两个压缩数据块的处理结果进行解压后,则是将该压缩码所组成的压缩结果转换为了文本数据形式,且由于转化规则是一定的,因此,转换后的处理结果即为该至少两个目标文本数据块的处理结果。

在本发明实施例中,对该至少两个压缩数据块中的压缩数据进行处理,以实现至少两个目标文本数据块的处理时,可以通过设备中的数据处理模块来执行,也即是,该数据处理模块可以对该至少两个压缩数据块中的压缩数据进行处理,进而基于该至少两个目标文本数据块的压缩字典对处理结果进行解压,从而实现对该至少两个目标文本数据块的处理。

其中,基于该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据,对该至少两个压缩数据块进行处理的操作与相关技术中基于某两个文本数据块中每个文本数据块包括的多个文本数据,对这两个文本数据块进行处理的操作类似,本发明实施例对此不进行详细阐述。

其中,基于该压缩字典,对该至少两个压缩数据块的处理结果进行解压,得到该至少两个目标文本数据块的处理结果的操作与相关技术中基于某个压缩数据块对应的压缩字典,对某个压缩数据块进行解压的操作类似,本发明实施例对此不进行详细阐述。

其中,在确定至少两个压缩数据块中每个压缩数据块包括的多个压缩数据时,可以先判断压缩字典包括的多个压缩码的码长是否相等,进而结合判断结果通过如下三种情况来确定至少两个压缩数据块中每个压缩数据块包括的多个压缩数据:

第一种情况,当压缩字典包括的多个压缩码的码长相等且该压缩字典包括各个目标文本数据块中每个文本数据的压缩码时,对于该至少两个压缩数据块中的每个压缩数据块,将各个压缩码的码长确定为该压缩数据块中各个压缩数据的长度;按照该压缩数据块中各个压缩数据的长度,从该压缩数据块中,依次确定多个压缩数据。

由上述描述可知,压缩字典是通过指定压缩算法来生成,而对于不同的压缩算法,生成的压缩字典中包括的多个压缩码的码长可能不相等,且该压缩字典中包括的各个压缩码之间的码长可能也不相等,并且压缩数据块是基于该压缩字典进行压缩的,因此,在确定该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据块,可以先判断该压缩字典包括的多个压缩码的码长是否相等。

另外,当该压缩字典包括各个目标文本数据块中每个文本数据的压缩码时,确定在进行目标文本数据块的压缩时,是基于各个目标文本数据块中每个文本数据的压缩码,对每个文本数据进行压缩的,因此,可以将该压缩字典中该各个压缩码的码长确定为该压缩数据块中各个压缩数据块的长度。

其中,按照该压缩数据块中各个压缩数据的长度,从该压缩数据块中,依次确定多个压缩数据时,可以按照该压缩数据块中各个压缩数据的长度,依次将该压缩数据块进行划分,得到多个压缩数据。

第二种情况,当该压缩字典包括的多个压缩码的码长相等且当该压缩字典包括各个目标文本数据块中每个字符的压缩码时,对于该至少两个压缩数据块中的每个压缩数据块,确定该压缩数据块对应的目标文本数据块;将各个压缩码的码长分别与目标文本数据块中各个文本数据的字符个数相乘,得到该压缩数据块中各个压缩数据的长度;按照该压缩数据块中各个压缩数据的长度,从该压缩数据块中,依次确定多个压缩数据。

其中,当该压缩字典包括各个目标文本数据块中每个字符的压缩码时,确定在进行目标文本数据块的压缩时,是基于各个目标文本数据块中每个字符的压缩码,对每个字符进行压缩的,且由于一个文本数据可以包括多个字符,因此,可以将该压缩字典中该各个压缩码的码长分别与目标文本数据块中各个文本数据的字符个数相乘,进而得到该压缩数据块中各个压缩数据块的长度。

第三种情况,当该压缩字典包括的多个压缩码的码长不相等时,对于该至少两个压缩数据块中的每个压缩数据块,根据该压缩数据块的数据索引,从该压缩数据块中,确定多个压缩数据,该压缩数据块的数据索引用于指示该多个压缩数据中每个压缩数据在该压缩数据块中所处的位置。

进一步地,根据该压缩数据块的数据索引,从该压缩数据块中,确定多个压缩数据之前,还包括:对于该压缩数据块对应的目标文本数据块,在对目标文本数据块进行压缩的过程中,确定目标文本数据块中各个文本数据对应的压缩数据在该压缩数据块中所处的位置;基于各个文本数据对应的压缩数据在该压缩数据块中所处的位置,生成该压缩数据块的数据索引。

需要说明的是,在对目标文本数据块进行压缩的过程中,确定目标文本数据块中各个文本数据对应的压缩数据在该压缩数据块中所处的位置时,可以确定各个文本数据对应的压缩数据在该压缩数据块中的起始位置和结束位置,进而通过起始位置和结束位置唯一地确定各个文本数据对应的压缩数据在该压缩数据块中所处的位置。其中,为了方便起见,可以将各个压缩数据在该压缩数据块中的起始位置确定为该压缩数据块的数据索引。

比如,目标文本数据块的某个文本数据aaabbbccc在压缩后,得到的压缩数据为0001010,在压缩字典中记录编码aaa对应00,bbb对应010,ccc对应10,为了在不解压数据就能够获取每个字段对应的压缩数据,在对文本数据进行压缩的过程中,确定aaa在压缩后的起始位置为0,结束位置为2,长度为2-0=2,bbb在压缩后的起始位置为2,结束位置为5,长度为5-2=3,ccc在压缩后的起始位置为5,结束位置为7,长度为7-5=2,参见图4e,可以将压缩数据00的起始位置0、压缩数据010的起始位置2以及压缩数据10的起始位置5确定为该压缩数据块的数据索引。

在本发明实施例中,对于后续通过同一处理操作进行处理的至少两个目标文本数据块,获取该至少两个目标文本数据块的压缩字典,基于该压缩字典对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块,也即是,该至少两个目标文本数据块可以共享同一压缩字典,而无需对每个文本数据块都生成一个压缩字典。另外,由于该至少两个目标文本数据块的压缩字典相同,也即是,该至少两个目标文本数据块是通过同一压缩标准进行压缩的,因此,对该至少两个压缩数据块中的压缩数据进行处理,并对处理结果通过该压缩字典进行解压后的结果与对该至少两个目标文本数据块中的文本数据进行处理得到的处理结果相同,所以本发明实施例通过对该至少两个压缩数据块进行处理,来实现对该至少两个目标文本数据块的处理,而无需对该至少两个压缩数据块进行解压,减小了数据处理量,进而缩短了数据的处理时间,以及节省了处理资源。

图5a是本发明实施例提供的一种数据处理装置的结构示意图。参照图5a,该数据处理装置包括:

获取模块501,用于获取至少两个目标文本数据块的压缩字典,该至少两个目标文本数据块为存储的多个文本数据块中后续通过同一处理操作进行处理的数据块,各个目标文本数据块均包括多个文本数据,各个文本数据均包括多个字符,该压缩字典包括该各个目标文本数据块中每个文本数据的压缩码,或者包括该各个目标文本数据块中每个字符的压缩码;

压缩模块502,用于基于该压缩字典,分别对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块,该至少两个目标文本数据块与该至少两个压缩数据块一一对应,各个压缩数据块均包括多个压缩数据,该多个压缩数据与该多个文本数据一一对应;

处理模块503,用于当接收到对该至少两个目标文本数据块进行同一处理操作的处理指令时,对该至少两个压缩数据块中的压缩数据进行处理,以实现该至少两个目标文本数据块的处理。

进一步地,该装置还包括:

确定模块,用于从存储的多个文本数据块中,确定该至少两个目标文本数据块;

生成模块,用于生成该至少两个目标文本数据块的压缩字典。

其中,确定模块包括:

选择单元,用于从该多个文本数据块中,选择属于目标类别的至少两个文本数据块,将选择的文本数据块确定为目标文本数据块;或者,

第一确定单元,用于当检测到针对该多个文本数据块中至少两个文本数据块的选择指令时,将该选择指令所选择的文本数据块确定为目标文本数据块。

参照图5b,处理模块503包括:

第二确定单元5031,用于确定该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据;

处理单元5032,用于基于该至少两个压缩数据块中每个压缩数据块包括的多个压缩数据,对该至少两个压缩数据块进行处理,得到该至少两个压缩数据块的处理结果;

解压单元5033,用于基于该压缩字典,对该至少两个压缩数据块的处理结果进行解压,得到该至少两个目标文本数据块的处理结果。

其中,第二确定单元5031包括:

判断子单元,用于判断该压缩字典包括的多个压缩码的码长是否相等;

第一确定子单元,用于当该压缩字典包括的多个压缩码的码长相等且该压缩字典包括该各个目标文本数据块中每个文本数据的压缩码时,对于该至少两个压缩数据块中的每个压缩数据块,将各个压缩码的码长确定为该压缩数据块中各个压缩数据的长度;

第二确定子单元,用于按照该压缩数据块中各个压缩数据的长度,从该压缩数据块中,依次确定该多个压缩数据。

进一步地,第二确定单元5031还包括:

第三确定子单元,用于当该压缩字典包括的多个压缩码的码长相等且当该压缩字典包括该各个目标文本数据块中每个字符的压缩码时,对于该至少两个压缩数据块中的每个压缩数据块,确定该压缩数据块对应的目标文本数据块;

运算子单元,用于将各个压缩码的码长分别与该目标文本数据块中各个文本数据的字符个数相乘,得到该压缩数据块中各个压缩数据的长度;

第四确定子单元,用于按照该压缩数据块中各个压缩数据的长度,从该压缩数据块中,依次确定该多个压缩数据。

进一步地,第二确定单元5031还包括:

第五确定子单元,用于当该压缩字典包括的多个压缩码的码长不相等时,对于该至少两个压缩数据块中的每个压缩数据块,根据该压缩数据块的数据索引,从该压缩数据块中,确定该多个压缩数据,该压缩数据块的数据索引用于指示该多个压缩数据中每个压缩数据在该压缩数据块中所处的位置。

进一步地,第二确定单元5031还包括:

第六确定子单元,用于对于该压缩数据块对应的目标文本数据块,在对该目标文本数据块进行压缩的过程中,确定该目标文本数据块中各个文本数据对应的压缩数据在该压缩数据块中所处的位置;

生成子单元,用于基于该各个文本数据对应的压缩数据在该压缩数据块中所处的位置,生成该压缩数据块的数据索引。

在本发明实施例中,对于后续通过同一处理操作进行处理的至少两个目标文本数据块,获取该至少两个目标文本数据块的压缩字典,基于该压缩字典对该至少两个目标文本数据块中的每个目标文本数据块进行压缩,得到至少两个压缩数据块,也即是,该至少两个目标文本数据块可以共享同一压缩字典,而无需对每个文本数据块都生成一个压缩字典。另外,由于该至少两个目标文本数据块的压缩字典相同,也即是,该至少两个目标文本数据块是通过同一压缩标准进行压缩的,因此,对该至少两个压缩数据块中的压缩数据进行处理,并对处理结果通过该压缩字典进行解压后的结果与对该至少两个目标文本数据块中的文本数据进行处理得到的处理结果相同,所以本发明实施例通过对该至少两个压缩数据块进行处理,来实现对该至少两个目标文本数据块的处理,而无需对该至少两个压缩数据块进行解压,减小了数据处理量,进而缩短了数据的处理时间,以及节省了处理资源。

需要说明的是:上述实施例提供的数据处理装置在数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1