一种数据搜索的方法及装置制造方法

文档序号:6625295阅读:153来源:国知局
一种数据搜索的方法及装置制造方法
【专利摘要】本发明公开了一种数据搜索的方法及装置,用以减少搜索所用时长,提高搜索效率。所述方法包括:将数据分块存储到至少两个设备的存储介质中;接收到搜索任务后,将所述搜索任务发送给所述至少两个设备;指示所述至少两个设备分别对各自存储介质中的数据进行搜索。本发明能够对数据进行并行搜索操作,实现了负载均衡,提高搜索速度,减少搜索所用时长。
【专利说明】一种数据搜索的方法及装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种数据搜索的方法及装置。

【背景技术】
[0002]在现有技术中,进行搜索时,在存储空间中采用串行操作的方式进行搜索。例如,在该1000条数据中进行搜索时,将1000条数据逐一与输入的关键字进行匹配,搜索出结果。如此操作,在数据条数数量很大的情况下,使得搜索所用时间过长,搜索效率较低。


【发明内容】

[0003]本发明提供一种数据搜索的方法及装置,用以减少搜索所用时长,提高搜索效率。
[0004]本发明提供一种数据搜索的方法,其特征在于,包括:
[0005]将数据分块存储到至少两个设备的存储介质中;
[0006]接收到搜索任务后,将所述搜索任务发送给所述至少两个设备;
[0007]指示所述至少两个设备分别对各自存储介质中的数据进行搜索。
[0008]其中,所述将数据分块存储到至少两个设备的存储介质中具体包括:
[0009]将数据进行编号;
[0010]利用编号将数据分块存储到所述至少两个设备的存储介质中。
[0011]其中,所述方法还包括:
[0012]对于所述至少两个设备中各个设备,根据所述设备的内核的数量对所述设备的存储介质进行分区;
[0013]所述将数据分块存储到至少两个设备的存储介质中具体包括:
[0014]将所述数据分块存储到所述至少两个设备的存储介质的分区中。
[0015]其中,所述方法还包括:
[0016]对于所述至少两个设备中各个设备,将所述设备的存储介质的分区与所述设备的内核相关联;
[0017]所述指示所述至少两个设备分别对各自存储介质中的数据进行搜索具体包括:
[0018]指示所述至少两个设备分别将所述搜索任务分配给各自的内核,调用内核对存储介质中与所述内核关联的分区中数据进行搜索。
[0019]其中,所述将所述设备的存储介质的分区与所述设备的内核相关联具体包括:
[0020]对于所述设备的各个内核,根据所述内核的处理速度将所述设备的存储介质的分区与所述设备的内核相关联;
[0021]所述内核的处理速度与关联的存储介质的分区的大小成正比。
[0022]本发明还公开了一种数据搜索的装置,包括:
[0023]数据存储模块,用于将数据分块存储到至少两个设备的存储介质中;
[0024]任务发送模块,用于接收到搜索任务后,将所述搜索任务发送给所述至少两个设备;
[0025]搜索指示模块,用于指示所述至少两个设备分别对各自存储介质中的数据进行搜索。
[0026]其中,所述数据存储模块具体包括:
[0027]编号子模块,用于将数据进行编号;
[0028]存储子模块,用于利用编号将数据分块存储到所述至少两个设备的存储介质中。
[0029]其中,所述装置还包括:
[0030]存储分区模块,用于对于所述至少两个设备中各个设备,根据所述设备的内核的数量对所述设备的存储介质进行分区;
[0031]所述数据存储模块具体用于将所述数据分块存储到所述至少两个设备的存储介质的分区中。
[0032]其中,所述装置还包括:
[0033]内核关联模块,用于对于所述至少两个设备中各个设备,将所述设备的存储介质的分区与所述设备的内核相关联;
[0034]所述搜索指示模块具体用于指示所述至少两个设备分别将所述搜索任务分配给各自的内核,调用内核对存储介质中与所述内核关联的分区中数据进行搜索。
[0035]其中,所述内核关联模块具体用于对于所述设备的各个内核,根据所述内核的处理速度将所述设备的存储介质的分区与所述设备的内核相关联;
[0036]所述内核的处理速度与关联的存储介质的分区的大小成正比。
[0037]本发明的有益效果在于:将数据分块存储到至少两个设备的存储介质中,接收到搜索任务后,将搜索任务发送给至少两个设备,指示至少两个设备分别对各自存储介质中的数据进行搜索;如此能够对数据进行并行搜索操作,实现了负载均衡,提高搜索速度,减少搜索所用时长。
[0038]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0039]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

【专利附图】

【附图说明】
[0040]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0041]图1为本发明一实施例中数据搜索的方法的流程图;
[0042]图2为本发明另一实施例中数据搜索的方法的流程图;
[0043]图3为本发明实施例一中数据搜索的方法的流程图;
[0044]图4为本发明一实施例中数据搜索的装置的框图;
[0045]图5为本发明另一实施例中数据搜索的装置的框图;
[0046]图6为本发明另一实施例中数据搜索的装置的框图。

【具体实施方式】
[0047]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0048]图1为本发明一实施例中数据搜索的方法。该方法包括如下步骤:
[0049]在步骤SlOl中、将数据分块存储到至少两个设备的存储介质中。
[0050]在一【具体实施方式】中,步骤SlOl可实施为:将数据进行编号;利用编号将数据分块存储到至少两个设备的存储介质中。
[0051 ] 举例而言,将数据进行编号,对编号进行哈希运算,采用key-value (键值对)的方式存储数据。
[0052]如此存储,使得数据编号与数据存储地址一一对应,能够方便查找数据,进一步提高搜索速度。
[0053]在步骤S102中、接收到搜索任务后,将搜索任务发送给至少两个设备。
[0054]举例而言,利用两个物理设备A和B进行存储,将数据分成两部分,一部分存储到物理设备A的存储介质中,另一部分存储到物理设备B的存储介质中。在步骤S102中,接收到搜索任务后,将搜索任务发送给物理设备A和物理设备B。例如,接收到输入的用于搜索的关键字,将关键字发送给物理设备A和物理设备B。
[0055]在步骤S103中、指示至少两个设备分别对各自存储介质中的数据进行搜索。
[0056]举例而言,指示物理设备A和物理设备B分别对各自存储介质中的数据进行搜索。
[0057]本发明的实施例的有益效果在于:将数据分块存储到至少两个设备的存储介质中,接收到搜索任务后,将搜索任务发送给至少两个设备,指示至少两个设备分别对各自存储介质中的数据进行搜索;如此能够对数据进行并行搜索操作,提高搜索数据,减少搜索所用时长。
[0058]图2为本发明另一实施例中数据搜索的方法,该方法包括如下步骤:
[0059]在步骤S201中、对于至少两个设备中各个设备,根据设备的内核的数量对设备的存储介质进行分区。
[0060]在一【具体实施方式】中,将设备的存储介质划分出与设备的内核数量相同的分区。如此,便于将分区与内核对应。该实施方式仅为示例性说明,步骤S201的实施方式不限于此。例如,可以将设备的存储介质划分出比设备的内核数量多的分区。
[0061]举例而言,利用两个物理设备A和B进行存储,物理设备A中具有2个内核,分为为内核Al和内核A2,物理设备B中具有3个内核,分为为内核B1、内核B2和内核B3。对于物理设备A,将物理设备A的存储介质划分为2个分区;对于物理设备B,将物理设备B的存储介质划分为4个分区。
[0062]在步骤S202中、对于至少两个设备中各个设备,将设备的存储介质的分区与设备的内核相关联。
[0063]在一【具体实施方式】中,步骤S203可以实施为:对于设备的各个内核,根据内核的处理速度将设备的存储介质的分区与设备的内核相关联。
[0064]其中,内核的处理速度与关联的存储介质的分区的大小成正比。
[0065]举例而言,将物理设备A的存储介质划分为2个分区,分区Cl和分区C2,其中,分区Cl的空间比分区C2的空间大。物理设备A中,内核Al的处理速度比内核A2的处理速度快,在步骤S202中将内核Al与分区Cl关联,将内核A2与分区C2关联。物理设备B的存储介质划分为4个空间相同的分区,分别为分区D1、分区D2、分区D3和D4,物理设备B中具有3个内核,内核BI和内核B2处理速度相同,内核B3处理速度比内核BI快。将内核BI与分区Dl相关联,将内核B2与分区D2相关联,将内核B3与分区D3和分区D4相关联。
[0066]采用上述实施方式,使得内核的处理速度与分区的空间大小相匹配,能够充分发挥内核的功能,进一步提高数据搜索速度。
[0067]在步骤S203中、将数据分块存储到至少两个设备的存储介质的分区中。
[0068]在步骤S204中、接收到搜索任务后,将搜索任务发送给至少两个设备。
[0069]在步骤S205中、指示至少两个设备分别将搜索任务分配给各自的内核,调用内核对存储介质中与内核关联的分区中数据进行搜索。
[0070]本发明的实施例的有益效果在于:采用具有多核的设备对数据进行搜索,在多个内核间进行负载均衡,能够进一步提高搜索数据,减少搜索所用时长。
[0071]实施例一
[0072]图3为本发明实施例一中数据搜索的方法的流程图,实施例一中方法应用在如下场景:使用两个设备,分别为物理设备A和物理设备B存储搜索所用数据,物理设备A具有2个内核,分别为内核AI和内核A 2,物理设备B中具有3个内核,分为为内核B1、内核B 2和内核B3。实施例一中方法执行如下步骤:
[0073]在步骤S301中、对于物理设备A,根据内核数量2将物理设备A的存储介质划分为2个分区;对于物理设备B,根据内核数量3将物理设备B的存储介质划分为3个分区。
[0074]在步骤S302中、将物理设备A中2个内核分别与2个分区相关联,将物理设备B中3个内核分别与3个分区相关联。
[0075]在步骤S303中、将数据分块存储到物理设备A的2个分区中,以及物理设备B的3个分区中。
[0076]在步骤S304中、接收到搜索任务后,将搜索任务中关键字发送给物理设备A和物理设备B。
[0077]在步骤S305中、指示物理设备A将搜索任务分配给内核Al和内核A2,调用内核Al和内核A2使用关键字对各自关联的分区中数据进行搜索,指示物理设备B将搜索任务分配给内核B1、内核B2和内核B3,调用内核B1、内核B2和内核B3使用关键字对各自关联的分区中数据进行搜索。
[0078]本发明的实施例的有益效果在于:采用具有多核的设备对数据进行搜索,在多个内核间进行负载均衡,能够进一步提高搜索数据,减少搜索所用时长。
[0079]图4为本发明的一种数据搜索的装置的框图,如图4所示,装置包括:
[0080]数据存储模块41,用于将数据分块存储到至少两个设备的存储介质中;
[0081]任务发送模块42,用于接收到搜索任务后,将搜索任务发送给至少两个设备;
[0082]搜索指示模块43,用于指示至少两个设备分别对各自存储介质中的数据进行搜索。
[0083]在一实施例中,如图5所示,数据存储模块41具体包括:
[0084]编号子模块51,用于将数据进行编号;
[0085]存储子模块52,用于利用编号将数据分块存储到至少两个设备的存储介质中。
[0086]在一实施例中,如图6所示,装置还包括:
[0087]存储分区模块61,用于对于至少两个设备中各个设备,根据设备的内核的数量对设备的存储介质进行分区;
[0088]数据存储模块41具体用于将数据分块存储到至少两个设备的存储介质的分区中。
[0089]在一实施例中,如图6所示,装置还包括:
[0090]内核关联模块62,用于对于至少两个设备中各个设备,将设备的存储介质的分区与设备的内核相关联;
[0091]搜索指示模块43具体用于指示至少两个设备分别将搜索任务分配给各自的内核,调用内核对存储介质中与内核关联的分区中数据进行搜索。
[0092]在一实施例中,内核关联模块具体用于对于设备的各个内核,根据内核的处理速度将设备的存储介质的分区与设备的内核相关联;
[0093]内核的处理速度与关联的存储介质的分区的大小成正比。
[0094]本发明的有益效果在于:将数据分块存储到至少两个设备的存储介质中,接收到搜索任务后,将搜索任务发送给至少两个设备,指示至少两个设备分别对各自存储介质中的数据进行搜索;如此能够对数据进行并行搜索操作,实现了负载均衡,提高搜索速度,减少搜索所用时长。
[0095]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0096]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0097]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0098]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0099]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0100]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种数据搜索的方法,其特征在于,包括: 将数据分块存储到至少两个设备的存储介质中; 接收到搜索任务后,将所述搜索任务发送给所述至少两个设备; 指示所述至少两个设备分别对各自存储介质中的数据进行搜索。
2.如权利要求1所述的方法,其特征在于,所述将数据分块存储到至少两个设备的存储介质中具体包括: 将数据进行编号; 利用编号将数据分块存储到所述至少两个设备的存储介质中。
3.如权利要求1所述的方法,其特征在于,所述方法还包括: 对于所述至少两个设备中各个设备,根据所述设备的内核的数量对所述设备的存储介质进行分区; 所述将数据分块存储到至少两个设备的存储介质中具体包括: 将所述数据分块存储到所述至少两个设备的存储介质的分区中。
4.如权利要求3所述的方法,其特征在于,所述方法还包括: 对于所述至少两个设备中各个设备,将所述设备的存储介质的分区与所述设备的内核相关联; 所述指示所述至少两个设备分别对各自存储介质中的数据进行搜索具体包括: 指示所述至少两个设备分别将所述搜索任务分配给各自的内核,调用内核对存储介质中与所述内核关联的分区中数据进行搜索。
5.如权利要求4所述的方法,其特征在于,所述将所述设备的存储介质的分区与所述设备的内核相关联具体包括: 对于所述设备的各个内核,根据所述内核的处理速度将所述设备的存储介质的分区与所述设备的内核相关联; 所述内核的处理速度与关联的存储介质的分区的大小成正比。
6.一种数据搜索的装置,其特征在于,包括: 数据存储模块,用于将数据分块存储到至少两个设备的存储介质中; 任务发送模块,用于接收到搜索任务后,将所述搜索任务发送给所述至少两个设备; 搜索指示模块,用于指示所述至少两个设备分别对各自存储介质中的数据进行搜索。
7.如权利要求6所述的装置,其特征在于,所述数据存储模块具体包括: 编号子模块,用于将数据进行编号; 存储子模块,用于利用编号将数据分块存储到所述至少两个设备的存储介质中。
8.如权利要求6所述的装置,其特征在于,所述装置还包括: 存储分区模块,用于对于所述至少两个设备中各个设备,根据所述设备的内核的数量对所述设备的存储介质进行分区; 所述数据存储模块具体用于将所述数据分块存储到所述至少两个设备的存储介质的分区中。
9.如权利要求8所述的装置,其特征在于,所述装置还包括: 内核关联模块,用于对于所述至少两个设备中各个设备,将所述设备的存储介质的分区与所述设备的内核相关联; 所述搜索指示模块具体用于指示所述至少两个设备分别将所述搜索任务分配给各自的内核,调用内核对存储介质中与所述内核关联的分区中数据进行搜索。
10.如权利要求9所述的装置,其特征在于,所述内核关联模块具体用于对于所述设备的各个内核,根据所述内核的处理速度将所述设备的存储介质的分区与所述设备的内核相关联; 所述内核的处理速度与关联的存储介质的分区的大小成正比。
【文档编号】G06F17/30GK104182534SQ201410433364
【公开日】2014年12月3日 申请日期:2014年8月28日 优先权日:2014年8月28日
【发明者】雷文龙 申请人:无锡天脉聚源传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1