当前位置: 首页 > 专利查询>A九COM公司专利>正文

具有组格式的可变长度数据的改进型编码和解码制造技术

技术编号:9673092 阅读:103 留言:0更新日期:2014-02-14 22:01
本发明专利技术的实施例提供了用于将可变长度数据编码和解码的方法和系统,其可包括用于将搜索引擎收录列表进行编码和解码的方法。多个实施例可以包括不同的编码格式,这些不同的编码格式包括组一进制、封包一进制和/或封包二进制格式。一些实施例可以利用单指令多数据(SIMD)指令,单指令多数据(SIMD)指令可以作为解码过程的一部分对编码的数据执行并行整理操作。一些实施例可以采用查询表来确定解码过程中要采用的整理序列和/或掩码和/或移位。一些实施例可以采用混合格式。

【技术实现步骤摘要】
【国外来华专利技术】具有组格式的可变长度数据的改进型编码和解码
技术介绍
典型的搜索引擎索引算法采用反向索引数据结构。这在概念上类似于书籍背后的索引,它是将例如,词汇列表的索引数据结构映射到其在文档(或文档集)中的位置的索引数据结构。在搜索引擎的应用环境中,文档通常是Web页面、电子邮件消息等。词汇在文档中出现可以称为收录,包括一个词汇的所有文档的列表可以称为收录列表。刚好与书籍索引条目列表页码一样,收录列表可以包括文档标识号(docID)。当搜索引擎接收查询时,它可以对收录列表查找查询中的每个词汇,并组合结果。为了高效地组合结果,可以按其docID的次序存储器这些收录。期望将收录列表存储在尽可能小的空间中。使用相邻docID之间的差而非docID本身,收录能够包括更少的数量。从常用数据库到MIDI规范,有多种其他示例,其中可以更紧密地将数据编码,然后在较后的点处将其解码,其中常常基于需要数据的时间重复地进行解码。有多种为将数据存储在更少的空间中而开发的技术。但是,这些方法或许有缺点,包括速度限制或存储效率限制。附图简介将参考附图描述根据本专利技术披露的多种实施例,其中:图1图示其中能够实施多种实施例的环境;图2A图示能够根据一些实施例使用的拆分一进制编码格式;图2B图示根据一些实施例的采用拆分一进制编码格式编码的数据的示例;图3A图示能够根据一些实施例使用的封包一进制编码格式;图3B图示根据一些实施例的采用封包一进制编码格式编码的数据的示例;图4A图示能够根据一些实施例使用的封包二进制编码格式;图4B图示根据一些实施例的采用封包二进制编码格式编码的数据的示例;图5A图示能够根据一些实施例使用的组二进制编码格式;图5B图示根据一些实施例的采用组二进制编码格式编码的数据的示例;图6A图示能够根据一些实施例使用的组一进制编码格式;图6B图示根据一些实施例的采用组一进制编码格式编码的数据的示例;图6C图示能够根据一些实施例使用的组一进制编码格式;图7A图示能够根据一些实施例使用的组一进制编码格式;图7B图示根据一些实施例的采用组一进制编码格式编码的数据的示例;图7C图示能够根据一些实施例使用的组一进制编码格式;图8图示能够根据一些实施例使用的用于将搜索引擎收录列表的文档标识号编码的方法;图9图示能够根据一些实施例使用的用于将可变长度数据编码的方法;图10图示能够根据一些实施例使用的并行整理(parallelshuffle)操作;图11图示能够根据一些实施例使用的并行整理(parallelshuffle)操作;图12图示能够根据一些实施例使用的解码的方法;图13图示如何构造能够根据一些实施例使用的整理序列;图14图示能够根据一些实施例使用的用于将搜索引擎收录列表中的编码的文档标识号差解码的方法;图15图示能够根据一些实施例使用的用于将可变长度数据解码的方法;图16图示能够根据一些实施例使用的混合一进制序列编码格式;图17图示根据一些实施例的采用混合一进制序列编码格式编码的数据的示例;图18图示能够根据一些实施例使用的具有恒定长度描述符的块行程的混合编码格式;图19图示根据一些实施例的采用具有恒定长度描述符的块行程的混合编码格式编码的数据的示例;图20图示根据一些实施例的采用具有恒定长度描述符的块行程的混合编码格式编码的数据的示例;图21图示根据一些实施例的采用具有恒定长度描述符的行程的混合编码格式编码的数据的示例;图22图示根据一些实施例的采用具有可变长度描述符的行程的混合编码格式编码的数据的示例;以及图23图示根据一些实施例的采用具有可变长度描述符的行程的混合编码格式编码的数据的示例。具体实施方式根据本专利技术披露的多种实施例的系统和方法可以克服用于将数据集编码和解码的常规方法中遇到的前文所述和其他缺点中的一个或多个缺点。具体来说,多种方法提供对包括整数序列,如搜索引擎收录列表中遇到的那些整数序列的数据集进行改进的编码和/或解码。提供一些方法、系统和/或装置,其用于采用根据多种实施例的并行整理操作将搜索引擎中的编码的文档标识号差解码。在一个实施例中,将编码的文档标识号差解码包括读一个或多个描述符。每个描述符包括有关一组编码的标识号差的尺寸信息。在一些实施例中,采用组一进制格式将编码的文档标识号差编码。读表示该组编码的文档标识号差的多个数据。将该组编码的文档标识号差与一个或多个描述符链接。标识查询表中的与一个或多个描述符链接的一个或多个整理序列。使用所标识的整理序列对表示该组编码的文档标识号差的多个数据执行一个或多个并行整理操作。一个或多个并行整理操作包括将一个或多个零序列插入到多个数据中。从表示该组编码的文档标识号差的整理的多个数据中确定多个解码的文档标识号差。根据多种实施例提供用于将可变长度数据解码的方法、系统和/或装置。在一些实施例中,将可变长度数据解码包括读一个或多个数据块。每个数据块表示多个编码的可变长度数据。读与一个或多个数据块链接的一个或多个描述符。从查询表标识与一个或多个描述符链接的一个或多个整理序列。使用所标识的整理序列对该一个或多个数据块执行一个或多个整理操作。由整理的一个或多个数据块确定多个解码的可变长度数据。在一些实施例中,执行一个或多个整理操作包括将一个或多个零序列插入到整理的一个或多个数据块以标准格式,如整数的32位表示来表示该一个或多个数据块的一个或多个部分。该一个或多个数据块可以表示以可变长度表达编码的多个整数。在一些实施例中,该一个或多个数据块可以表示以可变长度表达编码的其它数据。由整理的一个或多个数据块确定多个解码的可变长度数据还可以包括,从整理的一个或多个数据块确定部分结果。可以从另一个数据块确定与该部分结构关联的其余部分。此类实施例可以采用完整块变体,如上文论述。在一些情况中,一个或多个整理操作可以包括来自单指令多数据(SIMD)处理器指令集的一个或多个并行整理指令。一些实施例可以包括标识与一个或多个描述符链接的一个或多个偏移量。与一个或多个描述符链接的一个或多个偏移量可以包括具有固定尺寸的输入偏移量,在一些情况中,与一个或多个描述符链接的一个或多个偏移量可以包括具有可变尺寸的输出偏移量。该固定尺寸可以取决于一个或多个数据块和一个或多个描述符中包括的字节的数量。与一个或多个描述符链接的一个或多个偏移量可以包括具有可变尺寸的输入偏移量。该可变尺寸可以取决于数据块表示的数据的数量。一些实施例还可以包括标识输出偏移量。本文描述的计数包括若干可变长度编码格式以及可以允许使用非常快速的解码方法的解码方法和系统。在一些情况中,这些格式还可以允许更大的数据压缩。虽然一些实施例可能是针对搜索引擎收录列表来采用的,但是本文描述的技术可以用在其中紧密地存储数字列表或其他数据集以及高效地将其解码是有益的的其他场合中,如采用数据库的情况中。多个实施例可以提供多种优点,包括但不限于避免了可能与使用深流水线的一些处理器中的深流水线的效益相干扰的分支。多个实施例可以比常规可变长度编码和解码中的情况更频繁地读和写数据,包括在一些情况中读未对齐的数据(而非在对象尺寸边界上),而非判断需要读多少。一些实施例可以采用将可能解码的选项预先编译并将该信息存储在一个或多个表中。一些实施例可以使用单指令多数据(SIMD)指令并行地本文档来自技高网...
具有组格式的可变长度数据的改进型编码和解码

【技术保护点】
一种用于将可变长度数据解码的系统,其包括:处理器;以及存储装置,所述存储装置包括在被所述处理器执行时使所述系统执行如下操作的指令:读取一个或多个数据块,每个数据块包括多个编码的可变长度数据;读取与所述一个或多个数据块链接的一个或多个描述符;从查询表标识与所述一个或多个描述符链接的一个或多个整理序列;使用一个或多个所标识的整理序列对所述一个或多个数据块执行一个或多个整理操作;以及由整理的一个或多个数据块确定多个解码的可变长度数据。

【技术特征摘要】
【国外来华专利技术】2011.02.24 US 61/446,364;2011.03.31 US 13/077,4791.一种用于将可变长度数据解码的系统,其包括:处理器;以及存储器装置,所述存储器装置包括在被所述处理器执行时使所述系统执行如下操作的指令:读取一个或多个数据块,每个数据块包括多个编码的可变长度数据,所述多个编码的可变长度数据中的每一个表示文档标识号之间的差,并且以封包一进制或组一进制格式中的至少一个编码;读取与所述一个或多个数据块链接的一个或多个描述符,每个描述符包括所述一个或多个数据块的尺寸信息;从查询表标识与所述一个或多个描述符链接的一个或多个整理序列;通过使用所述一个或多个整理序列对所述一个或多个数据块并行执行一个或多个整理操作生成整理的数据;将一个或多个零序列插入所述整理的数据以标准格式表示所述一个或多个数据块的一个或多个部分;以及由所述整理的一个或多个数据块确定多个解码的可变长度数据。2.如权利要求1所述的用于将可变长度数据解码的系统,其中通过并行执行一个或多个整理操作生成整理的数据还包括,将一个或多个零序列插入到所述整理的一个或多个数据块以按标准格式来表示所述一个或多个数据块的一个或多个部分。3.如权利要求1所述的用于将可变长度数据解码的系统,其中所述一个或多个数据块表示多个可变长度整数。4.如权利要求1所述的用于将可变长度数据解码的系统,其中由所述整理的一个或多个数据块确定多个解码的可变长度数据还包括:由所述整理的一个或多个数据块确定部分结果,其中由另一个数据块确定与所述部分结果关联的剩余部分。5.如权利要求1所述的用于将可变长度数据解码的系统,其中所述一个或多个整理操作包括来自单指令多数据(SIMD)处理器指令集的一个或多个并行整理指令。6.如权利要求1所述的用于将可变长度数据解码的系统,其还包括:标识与所述一个或多个描述符链接的一个或多个偏移量。7.如权利要求6所述的用于将可变长度数据解码的系统,其中与所述一个或多个描述符链接的所述一个或多个偏移量包括具有固定大小的输入偏移量和可变大小的输...

【专利技术属性】
技术研发人员:丹尼尔·E·罗斯亚历山大·A·斯特潘诺夫阿尼尔·拉梅什·冈格利帕拉姆吉特·S·奥比罗瑞安·雅各布·恩斯特
申请(专利权)人:A九COM公司
类型:
国别省市:

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

1