CN104572785B - 一种分布式创建索引的方法和装置 - Google Patents

一种分布式创建索引的方法和装置 Download PDF

Info

Publication number
CN104572785B
CN104572785B CN201310521584.2A CN201310521584A CN104572785B CN 104572785 B CN104572785 B CN 104572785B CN 201310521584 A CN201310521584 A CN 201310521584A CN 104572785 B CN104572785 B CN 104572785B
Authority
CN
China
Prior art keywords
index
data
creation
subtask
subelement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310521584.2A
Other languages
English (en)
Other versions
CN104572785A (zh
Inventor
王永伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Network Technology Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201310521584.2A priority Critical patent/CN104572785B/zh
Publication of CN104572785A publication Critical patent/CN104572785A/zh
Application granted granted Critical
Publication of CN104572785B publication Critical patent/CN104572785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种分布式创建索引的方法和装置,其中方法包括:索引创建子任务并发地读取待创建索引的数据并针对读取的待创建索引的数据创建索引数据,所述索引创建子任务的并发数大于查询计算集群分片数M;索引合并子任务并发地将所述索引数据进行合并,得到M组索引数据,所述索引合并子任务的并发数为M。通过本发明能够提高分布式创建索引的效率。

Description

一种分布式创建索引的方法和装置
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种分布式创建索引的方法和装置。
【背景技术】
随着大数据时代的来临,数据量越来越大,分布式计算集群大量出现,为了提供针对全文索引数据的查询和计算服务,分布式创建索引随之发展,以提供分布式索引数据。其中,计算集群主要包括查询计算集群和创建索引集群,如图1所示,其中查询计算集群使用索引数据对外提供查询和计算服务,创建索引集群负责上述索引数据的创建。
由于查询计算集群分片数的限制,现有技术中创建索引任务的并发任务数设置为查询计算集群分片数。这里,查询计算集群分片数指的是查询计算集群将索引数据切分的数量。然而,每个分片维护的索引数据有限制,否则分片数过多会导致每个分片的数据量较少,对查询集群的查询计算效率、稳定性、可维护性影响很大。这就会导致分布式创建索引的并发任务数较少,大大影响分布式创建索引的效率。
【发明内容】
有鉴于此,本发明提供了一种分布式创建索引的方法和装置,以便于提高分布式创建索引的效率。
具体技术方案如下:
本发明提供了一种分布式创建索引的方法,该方法包括:
索引创建子任务并发地读取待创建索引的数据并针对读取的待创建索引的数据创建索引数据,所述索引创建子任务的并发数大于查询计算集群分片数M;
索引合并子任务并发地将所述索引数据进行合并,得到M组索引数据,所述索引合并子任务的并发数为M。
根据本发明一优选实施方式,所述索引创建子任务的并发数为M*N,所述N为大于1的正整数。
根据本发明一优选实施方式,该方法还包括:将待创建索引的数据的主键进行哈希后,根据哈希值将所述待创建索引的数据分配给对应的索引创建子任务进行读取。
根据本发明一优选实施方式,所述索引创建子任务被分成M组,所述索引创建子任务在针对待创建索引的数据创建索引数据时,进一步对索引数据打上标识该索引数据所属分组的标记;
每个索引合并子任务对应索引数据中的一种标记,将索引数据分配给与该索引数据的标记对应的索引合并子任务进行所述合并的处理。
根据本发明一优选实施方式,所述索引创建子任务与所述索引合并子任务存在对应关系,所述索引合并子任务负责合并其对应索引创建子任务所创建的索引数据。
根据本发明一优选实施方式,每个所述索引合并子任务启动X个线程进行索引数据的合并,所述X为正整数。
根据本发明一优选实施方式,所述索引创建子任务在创建索引数据时,对所述索引数据的元数据信息进行归一化处理;
将所述索引数据进行合并具体包括:对于归一化处理后元数据信息相同的索引数据的正向信息进行批量合并,所述批量合并为批量地将索引数据的正向信息中的数据信息进行合并。
根据本发明一优选实施方式,将所述索引数据进行合并具体包括:
获得所述索引数据域中的所有词,对于不同的词在合并反向信息时均保留,对于相同的词在合并反向信息时更新该词所在的文档以及出现的频率。
本发明还提供了一种分布式创建索引的装置,该装置包括:索引创建单元和索引合并单元;
所述索引创建单元中包含的索引创建子单元的并发数大于查询计算集群分片数M,所述索引创建子单元,用于并发地读取待创建索引的数据并针对读取的待创建索引的数据创建索引数据;
所述索引合并单元中包含的索引合并子单元的并发数为M,所述索引合并子单元,用于并发地将所述索引数据进行合并,使得所述索引合并单元得到M组索引数据。
根据本发明一优选实施方式,所述索引创建子单元的并发数为M*N,所述N为大于1的正整数。
根据本发明一优选实施方式,所述索引创建单元还包括:第一分配子单元,用于将待创建索引的数据的主键进行哈希后,根据哈希值将待创建索引的数据分配给对应的索引创建子任务进行读取。
根据本发明一优选实施方式,所述索引创建子单元被分成M组,所述索引创建子单元在针对待创建索引的数据创建索引数据时,还用于对索引数据打上标识该索引数据所属分组的标记;
每个索引合并子单元对应索引数据中的一种标记,所述索引合并单元还包括:第二分配子单元,用于将所述索引创建单元创建的索引数据分配给与索引数据的标记对应的索引合并子单元进行所述合并的处理。
根据本发明一优选实施方式,所述索引创建子单元与所述索引合并子单元存在对应关系,所述索引合并子单元负责合并其对应索引创建子单元所创建的索引数据。
根据本发明一优选实施方式,每个索引合并子单元启动X个线程进行索引数据的合并,所述X为正整数。
根据本发明一优选实施方式,所述索引创建子单元,还用于在创建索引数据时,对所述索引数据的元数据信息进行归一化处理;
所述索引合并子单元,具体用于:对于归一化处理后元数据信息相同的索引数据的正向信息进行批量合并,所述批量合并为批量地将索引数据的正向信息中的数据信息进行合并。
根据本发明一优选实施方式,所述索引合并子单元,具体用于:获得所述索引数据域中的所有词,对于不同的词在合并反向信息时均保留,对于相同的词在合并反向信息时更新该词所在的文档以及出现的频率。
由以上技术方案可以看出,本发明将创建索引的任务进行拆分,通过大于查询计算集群分片数M的索引创建子任务并发进行索引数据的创建,再由索引合并子任务并发地将索引数据进行合并,最终得到M组索引数据,从而提高了分布式创建索引的效率。
【附图说明】
图1为现有技术中计算集群的示意图;
图2为本发明实施例一提供的分布式创建索引的方法示意图;
图3为本发明实施例二提供的一种分布式创建索引的装置结构图;
图4为本发明实施例二提供的另一种分布式创建索引的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的核心思想在于,将分布式创建索引的任务分成两部分:一部分用于生成索引数据,在该部分任务中并发数采用一个大于查询计算集群分片数的值;第二部分用于将索引数据进行合并,最终合并得到的分片数等于查询集群分片数。下面通过实施例一对本发明提供的方法进行详细描述。
实施例一、
图2为本发明实施例一提供的分布式创建索引的方法示意图,如图2中所示,该方法流程主要包括三部分任务。
计算集群(通常可以是分布式计算集群或者云计算集群)启动第一部分任务,第一部分任务的并发数为一个大于查询计算集群分片数的值,优选地,可以为M*N,图1中以该优选实施方式为例。其中M为查询计算集群分片数,N为大于1的正整数。也就是说,第一部分任务包含了M*N个并发的索引创建子任务,每一个索引创建子任务分别读取HDFS(Hadoop分布式文件系统)数据,并针对读取的HDFS数据创建索引数据。需要说明的是,在本发明实施例中均以HDFS数据作为数据源进行举例描述,但本发明并不限于此类型的数据源,可以是任意其他类型的待创建索引的数据。
其中,对于N值的设置而言,如果N值设置的较小,则第一部分任务的运行时间会比较长;如果N值设置的较大,则并发的索引创建子任务过多,需要占用较多的资源。因此就需要在这两者之间做一个权衡,通常N值采用经验值,例如选取40。
对于并发的索引创建子任务的数据分配而言,由于每一条HDFS数据(看做一个文档)都存在一个主键,主键唯一标识每个文档的值,例如淘宝(www.taobao.com)登陆ID唯一标识某个淘宝会员,对于尚没有主键的文档则会生成唯一的主键。因此可以采用将HDFS数据的主键进行哈希(hash)后,根据hash值将HDFS数据分配给对应的索引创建子任务,从而保证各索引创建子任务达到负载均衡。例如在根据hash值将HDFS数据分配给对应的索引创建子任务时,可以将hash值对M*N取mod,结果相同的HDFS数据被分配至同一个索引创建子任务。
计算集群启动第二部分任务,第二部分的并发数等于查询集群分片数M,即第二部分任务包含了M个并发的索引合并子任务,由这M个索引合并子任务并发将第一部分任务生成的索引数据进行合并,最终生成M组索引数据。
具体地,每个索引合并子任务被分配N个索引数据,具体索引合并子任务负责处理哪些索引数据可以采用以下两种方式:
第一种方式:第一部分任务中并发的索引创建子任务可以看做被分成了M组,例如M*N个并发的索引创建子任务被分成M组,每一组中包含N个索引创建子任务。对于每一个索引创建子任务在针对读取的HDFS数据创建索引数据时,可以进一步对索引数据打上标记,该标记用于标识该索引数据所属的分组,即属于第1至M组中的哪个分组,例如可以将M*N个并发的索引创建子任务的任务编号对M取mod,将结果作为标记。每个索引合并子任务对应索引数据中的一种标记,将索引数据分配给与其标记对应的索引合并子任务进行合并。例如标记索引数据属于第1分组的索引数据分配给第1个索引合并子任务,标记索引数据属于第2分组的索引数据分配给第2个索引合并子任务,…,标记索引数据属于第M分组的索引数据分配给第M个索引合并子任务。
第二种方式:第一部分任务中并发的索引创建子任务与第二部分中并发的索引合并子任务存在对应关系,例如M*N个索引创建子任务中,每N个索引创建子任务对应一个索引合并子任务,该索引合并子任务负责处理其对应索引创建子任务所创建的索引数据。
另外,每个索引合并子任务在处理N个索引数据时,可以采用单线程的方式,也可以采用多线程的方式。即每个索引合并子任务启动X个线程进行索引数据的合并,X为正整数。每个线程进行个索引数据的合并。同样,如果X值设置的较小,则第二部分任务的执行时间较长,如果X值设置的较大,则占用较多的系统资源,因此X值可以根据N值的大小进行设置,可以采用经验值,例如设置为
每一个索引合并子任务在进行索引数据的合并时,由于全文索引的索引数据包括两个方面的信息:正向信息和反向信息,因此,索引数据的合并就包括正向信息的合并和反向信息的合并。
为了帮助理解,简单描述一下索引数据的结构,通常索引数据是有层次结构的,主要分为以下几个层次:
索引(Index):
在Lucene(是一套用于全文检索和搜寻的开源程式库)中一个索引是放在一个文件夹中的。
段(Segment):
一个索引可以包含多个段,段与段之间是独立的,添加新文档可以生成新的段,不同的段可以合并。
其中段的元数据信息保存了段的属性信息。
文档(Document):
文档是建索引的基本单位,不同的文档是保存在不同的段中的,一个段可以包含多篇文档。新添加的文档是单独保存在一个新生成的段中,随着段的合并,不同的文档合并到同一个段中。
域(Field):
一篇文档包含不同类型的信息,可以分开索引,比如标题、时间、正文、作者等等,都可以保存在不同的域里,不同域的索引方式可以不同。
词(Term):
词是索引的最小单位,是经过词法分析和语言处理后的字符串。
在了解了上述层次结构后,说明下正向信息。所谓正向信息是按层次保存了从索引一直到词的包含关系:索引->段->文档->域->词。也即此索引包含了哪些段,每个段包含了哪些文档,每个文档包含了哪些域,每个域包含了哪些词。既然是层次结构,则每个层次都保存了本层次的信息以及下一层次的元数据信息,也即属性信息。也就是说,正向信息主要包括:上述的元数据信息和数据信息。数据信息主要是指域的数据信息。
正向信息在进行合并时,对于元数据信息相同的索引数据,则可以采用批量合并的方式,在批量合并时可以将批量的索引数据进行数据信息的合并,由于元数据信息相同,因此无需处理。对于对应元数据信息不相同的索引数据,则只能采用逐一合并的方式,在逐一合并时,需要分别做索引数据的元数据信息的合并和数据信息的合并。
在本发明中,各索引创建子任务在创建索引数据时,可以将索引数据的元数据信息进行归一化处理,从而使元数据信息仅存在细微差别的索引数据的元数据信息相同,例如,有的索引数据的元数据信息仅存在顺序上的差别,则通过调整元数据信息中的顺序实现归一化,比如将A、B和C构成的元数据信息以及A、C和B构成的元数据信息归一化为A、B和C构成的元数据信息;再例如,有的索引数据的元数据信息包含A、B和C,而有的索引数据的元数据信息包含A、B和D,则通过使元数据信息包含A、B、C和D的方式,只是前一个索引数据的元数据信息中D域的信息为空,后一个索引数据的元数据信息中C域的信息为空,通过这种方式实现归一化;等等。然后索引合并子单元就可以采用批量合并的方式进行索引数据的合并,从而达到效率的更优化。
对于反向信息而言,主要是保存了词典到倒排表的映射:
词(term)->文档(document)
反向信息的合并无批量合并方式,原因在于反向信息的基本单元是词。比如文档1的域x值为“I am Chinese”,文档2的域x值为“I am English”。进行分词后,文档1与词之间的映射关系如表1中所示,文档2与词之间的映射关系如表2中所示。
表1
文档
I 文档1
am 文档1
Chinese 文档1
表2
文档
I 文档2
am 文档2
English 文档2
在进行反向信息的合并时,必须对这个域的每个值进行合并,合并结果如表3中所示。合并的过程为:对于待合并的索引数据中的反向信息,获得域中的所有词,对于不同的词,在合并时均保留,如表3中的“Chinese”和“English”;对于相同的词,更新该词所在的文档以及出现的频率,如表3中的“I”和“am”(表3中未示出词出现的频率)。
表3
文档
I 文档1、文档2
am 文档1、文档2
Chinese 文档1
English 文档2
计算集群启动第三部分任务,将第二部分任务生成的索引数据并发推送至查询计算集群,使得查询计算集群能够对外提供查询和计算服务。
以上是对本发明所提供的方法进行的描述,下面通过实施例二对本发明所提供的分布式创建索引的装置进行详细描述。
实施例二、
图3为本发明实施例二提供的装置结构图,该装置可以设置于索引创建集群,如图3所示,该装置主要包括两个单元:索引创建单元00和索引合并单元20。
索引创建单元00中包含多个索引创建子单元01,索引创建子单元01的并发数大于查询计算集群分片数M,索引创建子单元01并发地读取HDFS数据并针对读取的HDFS数据创建索引数据。
优选地,索引创建子单元01的并发数可以为M*N,图3中以该优选实施方式为例,N为大于1的正整数。其中,对于N值的设置而言,如果N值设置的较小,则第一部分任务的运行时间会比较长;如果N值设置的较大,则并发的索引创建子任务过多,需要占用较多的资源。因此就需要在这两者之间做一个权衡,通常N值采用经验值,例如选取40。
对于索引创建子单元01的数据分配,上述的索引创建单元00可以进一步包括第一分配子单元02,用于将HDFS数据的主键进行hash后,根据hash值将HDFS数据分配给对应的索引创建子任务01进行读取,从而保证各索引创建子任务01达到负载均衡。例如在根据hash值将HDFS数据分配给对应的索引创建子任务01时,可以将hash值对M*N取mod,结果相同的HDFS数据被分配至同一个索引创建子任务。
索引合并单元20中包含索引合并子单元21,索引合并子单元21的并发数为M,索引合并子单元21并发地将索引数据进行合并,使得索引合并单元20最终得到M组索引数据。
在具体确定索引合并子单元21具体处理哪些索引数据时,可以采用以下两种实现方式:
第一种方式:对应图3中的结构,索引创建子单元01被分成M组,索引创建子单元01在针对HDFS数据创建索引数据时,对索引数据打上标识该索引数据所属分组的标记。例如可以将M*N个并发的索引创建子单元01的任务编号对M取mod,将结果作为标记。
每个索引合并子单元21对应索引数据中的一种标记,此时索引合并单元20还包括:第二分配子单元22,用于将索引创建单元00创建的索引数据分配给与索引数据的标记对应的索引合并子单元21进行合并的处理。
第二种方式:对应图4中所示的结构,索引创建子单元01与索引合并子单元21存在对应关系,索引合并子单元21负责合并其对应索引创建子单元01所创建的索引数据。
另外,每个索引合并子单元21在合并索引数据时,可以启动X个线程进行索引数据的合并,X为正整数。也就是说,可以采用单线程的方式,也可以采用多线程的方式。每个线程进行个索引数据的合并。同样,如果X值设置的较小,则索引合并单元20的执行时间较长,如果X值设置的较大,则占用较多的系统资源,因此X值可以根据N值的大小进行设置,可以采用经验值,例如设置为
索引合并子单元21在进行索引数据的合并时,主要包括正向信息的合并和反向信息的合并。
针对正向信息而言,对于元数据信息相同的索引数据,则可以采用批量合并的方式,在批量合并时可以将批量的索引数据进行数据信息的合并,由于元数据信息相同,因此无需处理。对于元数据信息不相同的索引数据,则只能采用逐一合并的方式,在逐一合并时,需要分别做索引数据的元数据信息的合并和数据信息的合并。
在本发明中,索引创建子单元01可以在创建索引数据时,对索引数据的元数据信息进行归一化处理。这样索引合并子单元21对于归一化处理后元数据信息相同的索引数据的正向信息进行批量合并,所述批量合并为批量地将索引数据的正向信息中的数据信息进行合并,从而达到效率的更优化。
针对反向信息而言,索引合并子单元21获得索引数据域中的所有词,对于不同的词在合并反向信息时均保留,对于相同的词在合并反向信息时更新该词所在的文档以及出现的频率。
在完成索引数据的创建后,可以由索引创建集群中的已有单元将索引数据并发推送至查询计算集群,使得查询计算集群能够对外提供查询和计算服务,该已有单元在图3和图4中未示出。
由以上描述可以看出,本发明提供的方法和装置具备以下优点:
1)本发明将创建索引的任务进行拆分,通过大于查询计算集群分片数的索引创建子任务并发进行索引数据的创建,再由索引合并子任务并发地将索引数据进行合并,最终得到M组索引数据,从而提高了分布式创建索引的效率。
2)索引合并子任务可以对索引数据采用批量合并的方式,从而进一步提高分布式创建索引的效率。
3)索引合并子任务在对索引数据进行合并时,可以采用多线程并发处理的方式,更进一步提高了分布式创建索引的效率。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台或多台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

1.一种分布式创建索引的方法,其特征在于,该方法包括:
索引创建子任务并发地读取待创建索引的数据并针对读取的待创建索引的数据创建索引数据,所述索引创建子任务的并发数大于查询计算集群分片数M,所述查询计算集群分片数为查询计算集群将索引数据切分的数量;
索引合并子任务并发地将所述索引数据进行合并,得到M组索引数据,所述索引合并子任务的并发数为M。
2.根据权利要求1所述的方法,其特征在于,所述索引创建子任务的并发数为M*N,所述N为大于1的正整数。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:将待创建索引的数据的主键进行哈希后,根据哈希值将所述待创建索引的数据分配给对应的索引创建子任务进行读取。
4.根据权利要求1或2所述的方法,其特征在于,所述索引创建子任务被分成M组,所述索引创建子任务在针对待创建索引的数据创建索引数据时,进一步对索引数据打上标识该索引数据所属分组的标记;
每个索引合并子任务对应索引数据中的一种标记,将索引数据分配给与该索引数据的标记对应的索引合并子任务进行所述合并的处理。
5.根据权利要求1或2所述的方法,其特征在于,所述索引创建子任务与所述索引合并子任务存在对应关系,所述索引合并子任务负责合并其对应索引创建子任务所创建的索引数据。
6.根据权利要求1所述的方法,其特征在于,每个所述索引合并子任务启动X个线程进行索引数据的合并,所述X为正整数。
7.根据权利要求1或6所述的方法,其特征在于,所述索引创建子任务在创建索引数据时,对所述索引数据的元数据信息进行归一化处理;
将所述索引数据进行合并具体包括:对于归一化处理后元数据信息相同的索引数据的正向信息进行批量合并,所述批量合并为批量地将索引数据的正向信息中的数据信息进行合并。
8.根据权利要求1或6所述的方法,其特征在于,将所述索引数据进行合并具体包括:
获得所述索引数据域中的所有词,对于不同的词在合并反向信息时均保留,对于相同的词在合并反向信息时更新该词所在的文档以及出现的频率。
9.一种分布式创建索引的装置,其特征在于,该装置包括:索引创建单元和索引合并单元;
所述索引创建单元中包含的索引创建子单元的并发数大于查询计算集群分片数M,所述查询计算集群分片数为查询计算集群将索引数据切分的数量;所述索引创建子单元,用于并发地读取待创建索引的数据并针对读取的待创建索引的数据创建索引数据;
所述索引合并单元中包含的索引合并子单元的并发数为M,所述索引合并子单元,用于并发地将所述索引数据进行合并,使得所述索引合并单元得到M组索引数据。
10.根据权利要求9所述的装置,其特征在于,所述索引创建子单元的并发数为M*N,所述N为大于1的正整数。
11.根据权利要求9或10所述的装置,其特征在于,所述索引创建单元还包括:第一分配子单元,用于将待创建索引的数据的主键进行哈希后,根据哈希值将待创建索引的数据分配给对应的索引创建子任务进行读取。
12.根据权利要求9或10所述的装置,其特征在于,所述索引创建子单元被分成M组,所述索引创建子单元在针对待创建索引的数据创建索引数据时,还用于对索引数据打上标识该索引数据所属分组的标记;
每个索引合并子单元对应索引数据中的一种标记,所述索引合并单元还包括:第二分配子单元,用于将所述索引创建单元创建的索引数据分配给与索引数据的标记对应的索引合并子单元进行所述合并的处理。
13.根据权利要求9或10所述的装置,其特征在于,所述索引创建子单元与所述索引合并子单元存在对应关系,所述索引合并子单元负责合并其对应索引创建子单元所创建的索引数据。
14.根据权利要求9所述的装置,其特征在于,每个索引合并子单元启动X个线程进行索引数据的合并,所述X为正整数。
15.根据权利要求9或14所述的装置,其特征在于,所述索引创建子单元,还用于在创建索引数据时,对所述索引数据的元数据信息进行归一化处理;
所述索引合并子单元,具体用于:对于归一化处理后元数据信息相同的索引数据的正向信息进行批量合并,所述批量合并为批量地将索引数据的正向信息中的数据信息进行合并。
16.根据权利要求9或14所述的装置,其特征在于,所述索引合并子单元,具体用于:获得所述索引数据域中的所有词,对于不同的词在合并反向信息时均保留,对于相同的词在合并反向信息时更新该词所在的文档以及出现的频率。
CN201310521584.2A 2013-10-29 2013-10-29 一种分布式创建索引的方法和装置 Active CN104572785B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310521584.2A CN104572785B (zh) 2013-10-29 2013-10-29 一种分布式创建索引的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310521584.2A CN104572785B (zh) 2013-10-29 2013-10-29 一种分布式创建索引的方法和装置

Publications (2)

Publication Number Publication Date
CN104572785A CN104572785A (zh) 2015-04-29
CN104572785B true CN104572785B (zh) 2018-07-03

Family

ID=53088860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310521584.2A Active CN104572785B (zh) 2013-10-29 2013-10-29 一种分布式创建索引的方法和装置

Country Status (1)

Country Link
CN (1) CN104572785B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488124A (zh) * 2015-11-24 2016-04-13 浪潮(北京)电子信息产业有限公司 一种创建索引文件的方法及装置
CN109947702A (zh) * 2017-07-26 2019-06-28 北京嘀嘀无限科技发展有限公司 索引构建方法及装置、电子设备
CN108121807B (zh) * 2017-12-26 2021-06-04 云南大学 Hadoop环境下多维索引结构OBF-Index的实现方法
CN110019985B (zh) * 2017-12-29 2021-09-24 阿里巴巴(中国)有限公司 索引文件的建立、查询方法及装置
CN108197296B (zh) * 2018-01-23 2020-09-29 马上消费金融股份有限公司 基于Elasticsearch索引的数据存储方法
CN112883143A (zh) * 2021-02-25 2021-06-01 华侨大学 一种基于Elasticsearch的数字展会搜索方法与系统
CN113590703B (zh) * 2021-08-10 2023-11-07 平安银行股份有限公司 Es数据导入方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426609A (zh) * 2011-12-28 2012-04-25 厦门市美亚柏科信息股份有限公司 一种基于MapReduce编程架构的索引生成方法和装置
CN102622414A (zh) * 2012-02-17 2012-08-01 清华大学 基于对等结构的分布式高维索引并行查询框架
CN102779185A (zh) * 2012-06-29 2012-11-14 浙江大学 一种高可用分布式全文索引方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130151535A1 (en) * 2011-12-09 2013-06-13 Canon Kabushiki Kaisha Distributed indexing of data
US20130212041A1 (en) * 2011-12-13 2013-08-15 Frank Russell Company Method of constructing stability indexes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426609A (zh) * 2011-12-28 2012-04-25 厦门市美亚柏科信息股份有限公司 一种基于MapReduce编程架构的索引生成方法和装置
CN102622414A (zh) * 2012-02-17 2012-08-01 清华大学 基于对等结构的分布式高维索引并行查询框架
CN102779185A (zh) * 2012-06-29 2012-11-14 浙江大学 一种高可用分布式全文索引方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"文本处理中的MapReduce技术";李锐 等;《中文信息学报》;20120730;第26卷(第4期);全文 *
"面向云环境的图像高维特征索引框架";陈凤娟 等;《计算机集成制造系统》;20110830;第17卷(第8期);全文 *

Also Published As

Publication number Publication date
CN104572785A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104572785B (zh) 一种分布式创建索引的方法和装置
US11169978B2 (en) Distributed pipeline optimization for data preparation
US10579661B2 (en) System and method for machine learning and classifying data
JP2010541092A5 (zh)
US10642814B2 (en) Signature-based cache optimization for data preparation
KR100996443B1 (ko) 고집적인덱스 데이터베이스 및 쿼리 데이터의 검색과 연산기능 분할에 의한 그래픽 프로세서 기반 병렬분산 처리 시스템 및 방법
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
JP2017512338A (ja) 第一クラスデータベース要素としての半構造データの実装
CN104111936B (zh) 数据查询方法和系统
JP2010503117A (ja) 動的フラグメントマッピング
Kolb et al. Don't match twice: redundancy-free similarity computation with MapReduce
US20160224578A1 (en) Filter File System With Inode Number As Primary Database Key
US10642815B2 (en) Step editor for data preparation
Potter et al. Distributed RDF query answering with dynamic data exchange
CN109522332A (zh) 客户信息数据合并方法、装置、设备及可读存储介质
EP3362808B1 (en) Cache optimization for data preparation
Xu et al. Efficient similarity join based on Earth mover’s Distance using Mapreduce
Serbanescu et al. Architecture of distributed data aggregation service
US9135300B1 (en) Efficient sampling with replacement
JP2013242675A (ja) 分散情報制御装置、分散情報検索方法、データ分散配置方法、及びプログラム
Perwej et al. An extensive investigate the mapreduce technology
US20210056090A1 (en) Cache optimization for data preparation
DK178764B1 (en) A computer-implemented method for carrying out a search without the use of signatures
JP2013127750A (ja) パーティション分割装置及び方法及びプログラム
US9483560B2 (en) Data analysis control

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211117

Address after: No. 699, Wangshang Road, Binjiang District, Hangzhou, Zhejiang

Patentee after: Alibaba (China) Network Technology Co.,Ltd.

Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.