CN110019985B - 索引文件的建立、查询方法及装置 - Google Patents
索引文件的建立、查询方法及装置 Download PDFInfo
- Publication number
- CN110019985B CN110019985B CN201711470389.6A CN201711470389A CN110019985B CN 110019985 B CN110019985 B CN 110019985B CN 201711470389 A CN201711470389 A CN 201711470389A CN 110019985 B CN110019985 B CN 110019985B
- Authority
- CN
- China
- Prior art keywords
- index
- file
- query
- target file
- sub
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及索引文件的建立、查询方法及装置。该索引文件的建立方法包括:提取目标文件的特征数据;将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据;根据所述压缩数据,生成所述目标文件对应的索引项;将所述索引项加入第一索引文件的索引表中。本公开能够减小索引文件所占的存储空间,并能将查询任务分配给各个子索引节点,缩短查询时间,提高查询速度。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种索引文件的建立、查询方法及装置。
背景技术
随着计算机网络的飞速发展,全世界的数据量正以惊人的速度在增长。为了使这些庞杂的数据中所包含的信息被有效地访问和利用,必然需要一种能够快速且准确地查找访问数据的技术。为了提高数据的查询效率,基于索引机制的查询技术应运而生。然而,在待建立索引的目标文件的数据量较大的情况下,针对该目标文件生成的索引项较大,导致存储空间的开销较大。
发明内容
有鉴于此,本公开提出了一种索引文件的建立、查询方法及装置。
根据本公开的第一方面,提供了一种索引文件的建立方法,所述方法应用于第一子索引节点中,所述方法包括:
提取目标文件的特征数据;
将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据;
根据所述压缩数据,生成所述目标文件对应的索引项;
将所述索引项加入第一索引文件的索引表中。
在一种可能的实现方式中,将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据,包括:
在所述目标文件的特征数据的取值区间的长度大于阈值的情况下,将所述特征数据转换为整数结构,得到所述目标文件对应的压缩数据。
在一种可能的实现方式中,将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据,包括:
在所述目标文件的多个特征数据的取值区间的长度均小于或等于阈值的情况下,将所述多个特征数据进行合并,得到合并数据;
将所述合并数据转换为整数结构,得到所述目标文件对应的压缩数据。
在一种可能的实现方式中,所述方法还包括:
获取来自于第二子索引节点的第二索引文件;
备份所述第二索引文件。
根据本公开的第二方面,提供了一种索引文件的查询方法,所述方法应用于应用节点中,所述方法包括:
在接收到查询请求的情况下,将所述查询请求发送至各个子索引节点,以使所述各个子索引节点根据所述查询请求检索索引文件,其中,所述索引文件的索引表中的各个索引项根据压缩数据生成,所述压缩数据由特征数据转换为整数结构得到;
接收所述各个子索引节点返回的子查询结果;
对各个子查询结果进行合并,得到合并结果;
根据所述合并结果确定所述查询请求对应的查询结果。
在一种可能的实现方式中,根据所述合并结果确定所述查询请求对应的查询结果,包括:
对所述合并结果进行去重处理,得到去重结果;
根据所述去重结果中的各个查询文件与所述查询请求的匹配度,对所述去重结果中的各个查询文件进行排序,得到所述查询请求对应的查询结果。
根据本公开的第三方面,提供了一种索引文件的建立装置,所述装置包括:
提取模块,用于提取目标文件的特征数据;
转换模块,用于将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据;
生成模块,用于根据所述压缩数据,生成所述目标文件对应的索引项;
加入模块,用于将所述索引项加入第一索引文件的索引表中。
在一种可能的实现方式中,所述转换模块用于:
在所述目标文件的特征数据的取值区间的长度大于阈值的情况下,将所述特征数据转换为整数结构,得到所述目标文件对应的压缩数据。
在一种可能的实现方式中,所述转换模块包括:
合并子模块,用于在所述目标文件的多个特征数据的取值区间的长度均小于或等于阈值的情况下,将所述多个特征数据进行合并,得到合并数据;
转换子模块,用于将所述合并数据转换为整数结构,得到所述目标文件对应的压缩数据。
在一种可能的实现方式中,所述装置还包括:
获取模块,用于获取来自于第二子索引节点的第二索引文件;
备份模块,用于备份所述第二索引文件。
根据本公开的第四方面,提供了一种索引文件的查询装置,所述装置包括:
发送模块,用于在接收到查询请求的情况下,将所述查询请求发送至各个子索引节点,以使所述各个子索引节点根据所述查询请求检索索引文件,其中,所述索引文件的索引表中的各个索引项根据压缩数据生成,所述压缩数据由特征数据转换为整数结构得到;
接收模块,用于接收所述各个子索引节点返回的子查询结果;
合并模块,用于对各个子查询结果进行合并,得到合并结果;
确定模块,用于根据所述合并结果确定所述查询请求对应的查询结果。
在一种可能的实现方式中,所述确定模块包括:
去重子模块,用于对所述合并结果进行去重处理,得到去重结果;
排序子模块,用于根据所述去重结果中的各个查询文件与所述查询请求的匹配度,对所述去重结果中的各个查询文件进行排序,得到所述查询请求对应的查询结果。
根据本公开的第五方面,提供了一种索引文件的建立装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面的方法。
根据本公开的第六方面,提供了一种索引文件的查询装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第二方面的方法。
根据本公开的第七方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第一方面的方法。
根据本公开的第八方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第二方面的方法。
根据本公开的各方面的索引文件的建立、查询方法及装置通过子索引节点提取目标文件的特征数据,将目标文件的特征数据转换为整数结构,得到目标文件对应的压缩数据,根据压缩数据,生成目标文件对应的索引项,并将索引项加入第一索引文件的索引表中,通过应用节点接收查询请求,将查询请求发送至各个子索引节点,接收各个子索引节点返回的子查询结果,对各个子查询结果进行合并,得到合并结果,并根据合并结果确定查询请求对应的查询结果,由此能够减小索引文件所占的存储空间,并能将查询任务分配给各个子索引节点,缩短查询时间,提高查询速度。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的索引文件的建立方法的流程图。
图2示出根据本公开一实施例的索引文件的建立方法步骤S12的一示例性的流程图。
图3示出根据本公开一实施例的索引文件的建立方法的一示例性的流程图。
图4示出根据本公开一实施例的索引文件的查询方法的流程图。
图5示出根据本公开一实施例的索引文件的查询方法步骤S44的一示例性的流程图。
图6示出根据本公开一实施例的索引文件的建立装置的框图。
图7示出根据本公开一实施例的索引文件的建立装置的一示例性的框图。
图8示出根据本公开一实施例的索引文件的查询装置的框图。
图9示出根据本公开一实施例的索引文件的查询装置的一示例性的框图。
图10是根据一示例性实施例示出的一种用于索引文件的建立或查询的装置1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的索引文件的建立方法的流程图。该方法可以应用于第一子索引节点中,该第一子索引节点可以为任意类型的服务器。需要说明的是,第一子索引节点是指某一子索引节点,“第一”在此仅为表述和指代的方便,并不意味着在本公开的具体实现方式中一定会有与之对应的第一子索引节点。根据本实施例建立的索引文件可以应用于以图搜图或者以图搜视频等应用场景中,在此不作限定。如图1,该方法包括步骤S11至步骤S14。
在步骤S11中,提取目标文件的特征数据。
在本实施例中,目标文件可以指需要建立索引的文件。目标文件的文件类型可以为图像、文档、音频或者视频等任意类型,在此不作限定。
在一种可能的实现方式,提取目标文件的特征数据,可以包括:提取目标文件的局部特征数据。
作为该实现方式的一个示例,局部特征数据可以为VLAD(Vector of LocallyAggregated Descriptors,局部特征聚合描述符)特征。
作为该实现方式的另一个示例,局部特征数据可以为VLAT(Vector of LocallyAggregated Tensors,局部特征聚合张量)。
作为该实现方式的另一个示例,局部特征数据可以为LLC(Locality-constrainedLinear Coding,局部约束线性编码)特征。
作为该实现方式的另一个示例,局部特征数据可以为SIFT(Scale-InvariantFeature Transform,尺度不变特征变换)特征。
作为该实现方式的另一个示例,局部特征数据可以为SURF(Speeded Up RobustFeatures,加速稳健特征)。
作为该实现方式的另一个示例,局部特征数据可以为KAZE特征。
需要说明的是,尽管以以上示例介绍了局部特征数据如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景需求和/或个人喜好灵活选择局部特征数据的具体类型。
在另一种可能的实现方式,提取目标文件的特征数据,可以包括:提取目标文件的深度特征数据。在该实现方式中,深度特征数据可以指通过深度学习网络提取的特征。其中,深度学习网络可以为ResNet、VGG网络或者AlexNet等,在此不作限定。
在另一种可能的实现方式,提取目标文件的特征数据,可以包括:提取目标文件的局部特征数据和深度特征数据。
在步骤S12中,将目标文件的特征数据转换为整数结构,得到目标文件对应的压缩数据。
在一种可能的实现方式中,可以将目标文件的所有特征数据转换为整数结构,得到目标文件对应的压缩数据。其中,目标文件对应的压缩数据为整数形式的数据。
在步骤S13中,根据该压缩数据,生成目标文件对应的索引项。
在本实施例中,可以将目标文件对应的压缩数据作为目标文件对应的索引项。
在步骤S14中,将该索引项加入第一索引文件的索引表中。
在本实施例中,可以在索引表中记录该索引项与目标文件的物理地址的对应关系。
在一种可能的实现方式,第一索引文件可以采用固定级数的二叉树结构。
本实施例通过提取目标文件的特征数据,将目标文件的特征数据转换为整数结构,得到目标文件对应的压缩数据,根据该压缩数据,生成目标文件对应的索引项,并将该索引项加入第一索引文件的索引表中,由此能够利用整数结构的索引项大大减小索引文件所占的存储空间,从而能够将索引文件放入内存中,以保证索引文件的可用性。
在一种可能的实现方式中,将目标文件的特征数据转换为整数结构,得到目标文件对应的压缩数据,可以包括:在目标文件的特征数据的取值区间的长度大于阈值的情况下,将该特征数据转换为整数结构,得到目标文件对应的压缩数据。例如,阈值可以为256。
图2示出根据本公开一实施例的索引文件的建立方法步骤S12的一示例性的流程图。如图2所示,步骤S12可以包括步骤S121和步骤S122。
在步骤S121中,在目标文件的多个特征数据的取值区间的长度均小于或等于阈值的情况下,将该多个特征数据进行合并,得到合并数据。
在步骤S122中,将该合并数据转换为整数结构,得到目标文件对应的压缩数据。
例如,目标文件的特征数据包括性别和人种,其中,性别的取值为0或1,即,性别的取值区间的长度为2;人种的取值为000、001、010、011、100、101或110,即,人种的取值区间的长度为7。在这种情况下,若将性别和人种分别转换为整数结构,则不能充分利用一个字节的整数结构。根据该示例,可以将性别和人种进行合并,得到合并数据。例如,性别的取值为0,人种的取值为100,则可以将性别和人种进行合并,得到合并数据0100。将该合并数据转换为整数结构,可以得到压缩数据为4。
在本实施例中,在目标文件的特征数据的取值区间的长度小于或等于阈值的情况下,若直接将该特征数据转换为整数结构,则不能充分利用一个字节的整数结构。因此,该示例通过将多个长度小于或等于阈值的特征数据进行合并,并将合并数据转换为整数结构,得到目标文件对应的压缩数据,从而能够进一步减小索引文件所占的存储空间。
图3示出根据本公开一实施例的索引文件的建立方法的一示例性的流程图。如图3所示,该方法可以包括步骤S11至步骤S16。
在步骤S11中,提取目标文件的特征数据。
在步骤S12中,将目标文件的特征数据转换为整数结构,得到目标文件对应的压缩数据。
在步骤S13中,根据该压缩数据,生成目标文件对应的索引项。
在步骤S14中,将该索引项加入第一索引文件的索引表中。
在步骤S15中,获取来自于第二子索引节点的第二索引文件。
在步骤S16中,备份第二索引文件。
在该示例中,第一子索引节点通过备份第二子索引节点上的第二索引文件,由此在第二子索引节点发生故障的情况下,可以通过第一子索引节点查询第二索引文件,避免第二子索引节点宕机导致第二索引文件不可用。
在一种可能的实现方式,可以采用环状数据热备机制来实现索引文件的备份。例如,子索引节点包括第一子索引节点、第二子索引节点、第三子索引节点、第四子索引节点和第五子索引节点,则可以通过第一子索引节点备份第二索引文件,通过第二子索引节点备份第三索引文件,通过第三子索引节点备份第四索引文件,通过第四子索引节点备份第五索引文件,通过第五子索引节点备份第一索引文件。
根据该实现方式,在某一子索引节点更换设备的情况下,可以从附近的子索引节点同步索引文件。例如,在第一子索引节点更换设备的情况下,可以从第五子索引节点中获取第一索引文件。
图4示出根据本公开一实施例的索引文件的查询方法的流程图。该方法应用于应用节点中,其中,应用节点可以为任意类型的服务器。本方法可以应用于以图搜图或者以图搜视频等应用场景中,在此不作限定。如图4所示,该方法包括步骤S41至步骤S44。
在步骤S41中,在接收到查询请求的情况下,将查询请求发送至各个子索引节点,以使各个子索引节点根据查询请求检索索引文件,其中,索引文件的索引表中的各个索引项根据压缩数据生成,压缩数据由特征数据转换为整数结构得到。
在本实施例中,在接收到查询请求的情况下,将查询请求发送至各个子索引节点,以通过各个子索引节点完成查询任务。其中,各个子索引节点可以并行地根据查询请求检索索引文件。各个子索引根据查询请求检索索引文件之后,可以分别得到子查询结果。
在步骤S42中,接收各个子索引节点返回的子查询结果。
在步骤S43中,对各个子查询结果进行合并,得到合并结果。
在步骤S44中,根据合并结果确定查询请求对应的查询结果。
在一种可能的实现方式中,可以将合并结果作为查询结果。
本实施例通过在接收到查询请求的情况下,将查询请求发送至各个子索引节点,以使各个子索引节点根据查询请求检索索引文件,接收各个子索引节点返回的子查询结果,对各个子查询结果进行合并,得到合并结果,并根据合并结果确定查询请求对应的查询结果,由此能够将查询任务分配给各个子索引节点,避免将查询任务完全由一个节点执行,从而能够缩短查询时间,提高查询速度。
图5示出根据本公开一实施例的索引文件的查询方法步骤S44的一示例性的流程图。如图5所示,步骤S44可以包括步骤S441和步骤S442。
在步骤S441中,对合并结果进行去重处理,得到去重结果。
作为本实施例的一个胜利,可以对合并结果进行去重处理,以避免查询结果包含重复的查询文件。其中,查询文件可以指根据查询请求查询到的文件。
在步骤S442中,根据去重结果中的各个查询文件与查询请求的匹配度,对去重结果中的各个查询文件进行排序,得到查询请求对应的查询结果。
在本实施例中,若某一查询文件与查询请求的匹配度越高,则可以表明该查询文件越符合用户的查询需求。
在一种可能的实现方式,可以根据重结果中的各个查询文件与查询请求的匹配度由高到低的顺序,对去重结果中的各个查询文件进行排序,得到查询结果。
图6示出根据本公开一实施例的索引文件的建立装置的框图。如图6所示,该装置包括:提取模块61,用于提取目标文件的特征数据;转换模块62,用于将目标文件的特征数据转换为整数结构,得到目标文件对应的压缩数据;生成模块63,用于根据该压缩数据,生成目标文件对应的索引项;加入模块64,用于将该索引项加入第一索引文件的索引表中。
在一种可能的实现方式中,转换模块62用于:在目标文件的特征数据的取值区间的长度大于阈值的情况下,将该特征数据转换为整数结构,得到目标文件对应的压缩数据。
图7示出根据本公开一实施例的索引文件的建立装置的一示例性的框图。如图7所示:
在一种可能的实现方式中,转换模块62包括:合并子模块621,用于在目标文件的多个特征数据的取值区间的长度均小于或等于阈值的情况下,将该多个特征数据进行合并,得到合并数据;转换子模块622,用于将该合并数据转换为整数结构,得到目标文件对应的压缩数据。
在一种可能的实现方式中,该装置还包括:获取模块65,用于获取来自于第二子索引节点的第二索引文件;备份模块66,用于备份第二索引文件。
本实施例通过提取目标文件的特征数据,将目标文件的特征数据转换为整数结构,得到目标文件对应的压缩数据,根据该压缩数据,生成目标文件对应的索引项,并将该索引项加入第一索引文件的索引表中,由此能够利用整数结构的索引项大大减小索引文件所占的存储空间,从而能够将索引文件放入内存中,以保证索引文件的可用性。
图8示出根据本公开一实施例的索引文件的查询装置的框图。如图8所示,该装置包括:发送模块81,用于在接收到查询请求的情况下,将查询请求发送至各个子索引节点,以使各个子索引节点根据查询请求检索索引文件,其中,索引文件的索引表中的各个索引项根据压缩数据生成,该压缩数据由特征数据转换为整数结构得到;接收模块82,用于接收各个子索引节点返回的子查询结果;合并模块83,用于对各个子查询结果进行合并,得到合并结果;确定模块84,用于根据合并结果确定查询请求对应的查询结果。
图9示出根据本公开一实施例的索引文件的查询装置的一示例性的框图。如图9所示:
在一种可能的实现方式中,确定模块84包括:去重子模块841,用于对合并结果进行去重处理,得到去重结果;排序子模块842,用于根据去重结果中的各个查询文件与查询请求的匹配度,对去重结果中的各个查询文件进行排序,得到查询请求对应的查询结果。
本实施例通过在接收到查询请求的情况下,将查询请求发送至各个子索引节点,以使各个子索引节点根据查询请求检索索引文件,接收各个子索引节点返回的子查询结果,对各个子查询结果进行合并,得到合并结果,并根据合并结果确定查询请求对应的查询结果,由此能够将查询任务分配给各个子索引节点,避免将查询任务完全由一个节点执行,从而能够缩短查询时间,提高查询速度。
图10是根据一示例性实施例示出的一种用于索引文件的建立或查询的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图10,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (16)
1.一种索引文件的建立方法,其特征在于,所述方法应用于第一子索引节点中,所述方法包括:
提取目标文件的特征数据;
将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据;
根据所述压缩数据,生成所述目标文件对应的索引项;
将所述索引项加入第一索引文件的索引表中,以便利用整数结构的索引项减小索引文件所占的存储空间。
2.根据权利要求1所述的方法,其特征在于,将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据,包括:
在所述目标文件的特征数据的取值区间的长度大于阈值的情况下,将所述特征数据转换为整数结构,得到所述目标文件对应的压缩数据。
3.根据权利要求1所述的方法,其特征在于,将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据,包括:
在所述目标文件的多个特征数据的取值区间的长度均小于或等于阈值的情况下,将所述多个特征数据进行合并,得到合并数据;
将所述合并数据转换为整数结构,得到所述目标文件对应的压缩数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取来自于第二子索引节点的第二索引文件;
备份所述第二索引文件。
5.一种索引文件的查询方法,其特征在于,所述方法应用于应用节点中,所述方法包括:
在接收到查询请求的情况下,将所述查询请求发送至各个子索引节点,以使所述各个子索引节点根据所述查询请求检索索引文件,其中,所述索引文件的索引表中的各个索引项根据压缩数据生成,所述压缩数据由特征数据转换为整数结构得到,以便利用整数结构的索引项减小索引文件所占的存储空间;
接收所述各个子索引节点返回的子查询结果;
对各个子查询结果进行合并,得到合并结果;
根据所述合并结果确定所述查询请求对应的查询结果。
6.根据权利要求5所述的方法,其特征在于,根据所述合并结果确定所述查询请求对应的查询结果,包括:
对所述合并结果进行去重处理,得到去重结果;
根据所述去重结果中的各个查询文件与所述查询请求的匹配度,对所述去重结果中的各个查询文件进行排序,得到所述查询请求对应的查询结果。
7.一种索引文件的建立装置,其特征在于,所述装置包括:
提取模块,用于提取目标文件的特征数据;
转换模块,用于将所述目标文件的特征数据转换为整数结构,得到所述目标文件对应的压缩数据;
生成模块,用于根据所述压缩数据,生成所述目标文件对应的索引项;
加入模块,用于将所述索引项加入第一索引文件的索引表中,以便利用整数结构的索引项减小索引文件所占的存储空间。
8.根据权利要求7所述的装置,其特征在于,所述转换模块用于:
在所述目标文件的特征数据的取值区间的长度大于阈值的情况下,将所述特征数据转换为整数结构,得到所述目标文件对应的压缩数据。
9.根据权利要求7所述的装置,其特征在于,所述转换模块包括:
合并子模块,用于在所述目标文件的多个特征数据的取值区间的长度均小于或等于阈值的情况下,将所述多个特征数据进行合并,得到合并数据;
转换子模块,用于将所述合并数据转换为整数结构,得到所述目标文件对应的压缩数据。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取来自于第二子索引节点的第二索引文件;
备份模块,用于备份所述第二索引文件。
11.一种索引文件的查询装置,其特征在于,所述装置包括:
发送模块,用于在接收到查询请求的情况下,将所述查询请求发送至各个子索引节点,以使所述各个子索引节点根据所述查询请求检索索引文件,其中,所述索引文件的索引表中的各个索引项根据压缩数据生成,所述压缩数据由特征数据转换为整数结构得到,以便利用整数结构的索引项减小索引文件所占的存储空间;
接收模块,用于接收所述各个子索引节点返回的子查询结果;
合并模块,用于对各个子查询结果进行合并,得到合并结果;
确定模块,用于根据所述合并结果确定所述查询请求对应的查询结果。
12.根据权利要求11所述的装置,其特征在于,所述确定模块包括:
去重子模块,用于对所述合并结果进行去重处理,得到去重结果;
排序子模块,用于根据所述去重结果中的各个查询文件与所述查询请求的匹配度,对所述去重结果中的各个查询文件进行排序,得到所述查询请求对应的查询结果。
13.一种索引文件的建立装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1至4中任意一项所述的方法。
14.一种索引文件的查询装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求5或6所述的方法。
15.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至4中任意一项所述的方法。
16.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求5或6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711470389.6A CN110019985B (zh) | 2017-12-29 | 2017-12-29 | 索引文件的建立、查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711470389.6A CN110019985B (zh) | 2017-12-29 | 2017-12-29 | 索引文件的建立、查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019985A CN110019985A (zh) | 2019-07-16 |
CN110019985B true CN110019985B (zh) | 2021-09-24 |
Family
ID=67187087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711470389.6A Active CN110019985B (zh) | 2017-12-29 | 2017-12-29 | 索引文件的建立、查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019985B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019985B (zh) * | 2017-12-29 | 2021-09-24 | 阿里巴巴(中国)有限公司 | 索引文件的建立、查询方法及装置 |
CN114610976A (zh) * | 2020-12-07 | 2022-06-10 | 奇安信科技集团股份有限公司 | 数据查询方法、数据存储方法、装置、计算设备和介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727502A (zh) * | 2010-01-25 | 2010-06-09 | 中兴通讯股份有限公司 | 一种数据查询方法及装置、系统 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
CN103678491A (zh) * | 2013-11-14 | 2014-03-26 | 东南大学 | 一种基于Hadoop中小文件优化和倒排索引的方法 |
CN104572785A (zh) * | 2013-10-29 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种分布式创建索引的方法和装置 |
CN104778229A (zh) * | 2015-03-31 | 2015-07-15 | 南京邮电大学 | 基于Hadoop的电信业务小文件存储系统及方法 |
CN106326397A (zh) * | 2016-08-19 | 2017-01-11 | 东软集团股份有限公司 | 生成索引文件的方法及装置 |
CN106776361A (zh) * | 2017-03-10 | 2017-05-31 | 安徽大学 | 一种面向大规模非易失性存储介质的缓存方法和系统 |
CN107273529A (zh) * | 2017-06-28 | 2017-10-20 | 武汉图信科技有限公司 | 基于哈希函数的高效层级索引构建及检索方法 |
CN107368527A (zh) * | 2017-06-09 | 2017-11-21 | 东南大学 | 基于数据流的多属性索引方法 |
CN110019985A (zh) * | 2017-12-29 | 2019-07-16 | 上海全土豆文化传播有限公司 | 索引文件的建立、查询方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170060856A1 (en) * | 2008-12-10 | 2017-03-02 | Chiliad Publishing Incorporated | Efficient search and analysis based on a range index |
CN102129472B (zh) * | 2011-04-14 | 2012-12-19 | 上海红神信息技术有限公司 | 面向语义搜索引擎的高效混合存储结构的构建方法 |
EP3077922B1 (en) * | 2014-01-13 | 2021-12-29 | Huawei Technologies Co., Ltd. | Method and apparatus for generating a plurality of indexed data fields |
CN105745642B (zh) * | 2014-03-31 | 2019-08-16 | 华为技术有限公司 | 查询数据的处理方法和装置 |
US9984110B2 (en) * | 2014-08-21 | 2018-05-29 | Dropbox, Inc. | Multi-user search system with methodology for personalized search query autocomplete |
CN105589894B (zh) * | 2014-11-13 | 2020-05-29 | 腾讯数码(深圳)有限公司 | 文档索引建立方法和装置、文档检索方法和装置 |
CN106446122B (zh) * | 2016-09-19 | 2020-03-10 | 华为技术有限公司 | 信息检索的方法、装置与计算设备 |
CN106777131A (zh) * | 2016-12-16 | 2017-05-31 | 西安电子科技大学 | 一种高维空间数据的查询方法、装置及计算机可读介质 |
CN106709040B (zh) * | 2016-12-29 | 2021-02-19 | 北京奇虎科技有限公司 | 一种应用搜索方法和服务器 |
-
2017
- 2017-12-29 CN CN201711470389.6A patent/CN110019985B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727502A (zh) * | 2010-01-25 | 2010-06-09 | 中兴通讯股份有限公司 | 一种数据查询方法及装置、系统 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
CN104572785A (zh) * | 2013-10-29 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种分布式创建索引的方法和装置 |
CN103678491A (zh) * | 2013-11-14 | 2014-03-26 | 东南大学 | 一种基于Hadoop中小文件优化和倒排索引的方法 |
CN104778229A (zh) * | 2015-03-31 | 2015-07-15 | 南京邮电大学 | 基于Hadoop的电信业务小文件存储系统及方法 |
CN106326397A (zh) * | 2016-08-19 | 2017-01-11 | 东软集团股份有限公司 | 生成索引文件的方法及装置 |
CN106776361A (zh) * | 2017-03-10 | 2017-05-31 | 安徽大学 | 一种面向大规模非易失性存储介质的缓存方法和系统 |
CN107368527A (zh) * | 2017-06-09 | 2017-11-21 | 东南大学 | 基于数据流的多属性索引方法 |
CN107273529A (zh) * | 2017-06-28 | 2017-10-20 | 武汉图信科技有限公司 | 基于哈希函数的高效层级索引构建及检索方法 |
CN110019985A (zh) * | 2017-12-29 | 2019-07-16 | 上海全土豆文化传播有限公司 | 索引文件的建立、查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110019985A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11310559B2 (en) | Method and apparatus for recommending video | |
US9870383B1 (en) | Fast efficient vocabulary computation with hashed vocabularies | |
US11100073B2 (en) | Method and system for data assignment in a distributed system | |
WO2012178072A1 (en) | Extracting incremental data | |
US9357007B2 (en) | Controlling storing of data | |
CN107766492B (zh) | 一种图像搜索的方法和装置 | |
US10540325B2 (en) | Method and device for identifying junk picture files | |
CN110019985B (zh) | 索引文件的建立、查询方法及装置 | |
US20230224347A1 (en) | Splitter and merger functions for multidimensional segmented media data | |
CN111368697A (zh) | 一种信息识别方法和装置 | |
CN105183393A (zh) | 基于磁盘缓存实现文件快速预览的方法 | |
EP3042316B1 (en) | Music identification | |
CN110019874B (zh) | 索引文件的生成方法、装置及系统 | |
CN111666278B (zh) | 数据存储、检索方法、电子设备及存储介质 | |
CN110505289B (zh) | 文件下载方法及装置、计算机可读介质、无线通信设备 | |
US10083121B2 (en) | Storage system and storage method | |
CN111783433A (zh) | 一种文本检索纠错方法和装置 | |
CN112784596A (zh) | 一种识别敏感词的方法和装置 | |
CN110413603B (zh) | 重复数据的确定方法、装置、电子设备及计算机存储介质 | |
CN113282347B (zh) | 插件运行方法、装置、设备及存储介质 | |
US10162934B2 (en) | Data de-duplication system using genome formats conversion | |
CN111104787B (zh) | 用于比较文件的方法、设备和计算机程序产品 | |
Rahman et al. | Mobile content based image retrieval architectures | |
CN118152861B (zh) | 异源数据处理方法、装置、电子设备和计算机可读介质 | |
CN109977630B (zh) | 音频指纹生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200511 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 200241 room 1162, building 555, Dongchuan Road, Shanghai, Minhang District Applicant before: SHANGHAI QUANTUDOU CULTURE COMMUNICATION Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |