数据查询方法

文档序号:6625716阅读:217来源:国知局
数据查询方法
【专利摘要】本发明公开了一种数据查询方法,应用于在设置有若干存储设备的存储网络中进行数据的查询,通过利用存储网络中的处理器或微处理器来进行数据的查询和搜索,之后将查询或搜索到的子结果交由服务器处理器处理,从而解决了从存储网络到服务器内存之间进行数据读取的瓶颈,有效的降低了将大量数据导入服务器内存的功耗,且相比内存中计算技术成本更加低廉,实用性强。
【专利说明】数据查询方法

【技术领域】
[0001] 本发明涉及数据查询领域,尤其涉及一种在设置有若干存储设备的存储网络中进 行数据查询的方法。

【背景技术】
[0002] 随着云时代的来临,大数据(big data) -词越来越多地被提及,人们用它来描述 和定义信息爆炸时代产生的海量数据,以及与之相关的技术发展与创新。与此同时,数据正 在迅速膨胀并变大,它决定着企业的未来发展。目前人们所关心的是如何从如此巨大的数 据中查询或者搜索到用户关心的有价值数据。传统用户查询信息的结构图如图1所示。用 户通过个人计算机(用户终端)向网络中发送数据请求,数据中心服务器收到命令开始从 存储网络中查询或搜索用户所需要的数据信息。对于数据中心服务器来说,大量的任务就 是从海量的存储网络中查询或搜索用户的数据信息。我们知道,数据中心服务器中的处理 器只能直接处理内存中的数据信息,对于如此巨大的数据量,先要从存储网络中的存储器 中转存至数据中心服务器的内存中,然后数据中心服务器的处理器再对这些信息进行数据 处理和操作,再将结果返回至用户终端。显然,从存储网络导入数据中心服务器中的数据1 是远远大于数据中心服务器返回至用户终端的数据2的。对于日益庞大的数据系统来说, 处理器处理数据的速率瓶颈是存储网络向数据中心服务器的内存中导入数据的限制,因 为不论是哪种存储器,例如传统的磁盘、固态硬盘、闪存,以及网络附属存储(NAS,Network Attached Storage,-种专用的数据存储服务器)、直接连接存储(DAS, Direct Attached Storage,即外置存储设备通过连接电缆直接连到数据中心服务器上的一种存储结构)或 独立磁盘冗余阵列(RAID, Redundant Array of Independent Disks,让多个独立的硬盘通 过不同方式组合成一个硬盘组,硬盘组的性能较单个硬盘在性能上有大幅度的提升),对其 数据读写速率都要远远小于对内存数据的读写速率。
[0003] 目前,一种被称为内存中计算(IMC,In Memory Computation)的技术能够有效的 解决上述问题。通过增加内存的容量,从而可以一次性导入更多的数据量,从而加快处理器 处理数据的速率。这种方法固然可以加快数据处理的速度,然而对于数据中心服务器来说, 其可配置的内存容量是有上限的,如果容量达到上限,唯一的办法就是增加数据中心服务 器的数量,显然,这样一来就会大幅增加生产成本,且由于内存是易失性的处理器,需要定 时刷新,因而功耗也非常大。并且数据中心服务器的处理器和内存单元都采用的是最先进 的工艺节点,因而本身漏电就比较大,成本也更高,也就是说,内存中计算这种技术是以成 本和功耗为代价来换取性能的。
[0004] 因此,如何在不会大幅增加成本的前提下有效的提高数据查询的效率,成为本领 域技术人员致力研究的方向。


【发明内容】

[0005] 针对上述存在的问题,本发明公开一种数据查询方法,以克服现有技术中在存储 网络中进行数据查询操作效率低下的问题。
[0006] 为了实现上述目的,本申请记载了一种数据查询方法,应用于在存储网络中进行 数据的查询操作,且所述存储网络包括设置有处理器的存储设备,包括如下步骤:
[0007] 步骤S1,用户终端通过数据中心服务器发送所述数据的查询请求至所述处理器;
[0008] 步骤S2,所述处理器根据所述查询请求对所述存储设备中存储的数据进行查询操 作,并将查询操作结果发送至所述数据中心服务器;
[0009] 步骤S3,所述数据中心服务器对所述查询操作结果进行处理后,将处理结果反馈 至所述用户终端。
[0010] 上述的数据查询方法,其中,所述存储设备上还设置有代码区、数据区以及非易失 性存储阵列;
[0011] 所述代码区用于存储所述处理器的可执行代码;
[0012] 所述数据区用于存放所述处理器执行程序时所需的临时数据;
[0013] 所述非易失性存储阵列用于存储和保持所述存储网络中的数据。
[0014] 上述的数据查询方法,其中,所述存储设备上还设置有读取或擦写功耗低于所述 非易失性存储阵列的非易失性存储器;
[0015] 所述非易失性存储器用于存储所述非易失性存储阵列在预定时间内查询次数最 多的数据信息。
[0016] 上述的数据查询方法,其中,所述步骤S2还包括:
[0017] 判断所述查询请求所对应的查询操作结果是否存在于所述非易失性存储器中,若 所述查询请求所对应的查询操作结果存在于所述非易失性存储器中,则所述处理器将所述 查询操作结果直接发送至所述数据中心服务器;
[0018] 若所述查询请求所对应的查询操作结果未存在于所述非易失性存储器中,则直接 判断所述查询请求所对应的数据是否存在于所述非易失性存储器中;
[0019] 若所述查询请求所对应的数据存在于所述非易失性存储器中,则所述处理器根据 所述查询请求对所述非易失性存储器中存储的数据进行查询操作,若所述查询请求所对应 的数据未存在于所述非易失性存储器中,则所述处理器根据所述查询请求对所述非易失性 存储阵列中存储的数据进行查询操作。
[0020] 上述的数据查询方法,其中,所述非易失性存储器为所述存储设备的内嵌式或外 插卡式存储器。
[0021] 上述的数据查询方法,其中,所述数据区为SRAM或DRAM。
[0022] 上述的数据查询方法,其中,所述非易失性存储阵列的存储介质为磁盘、flash阵 列、RAID阵列或NAS阵列中的一种或多种。
[0023] 上述的数据查询方法,其中,所述存储设备为固态硬盘、硬盘、网络附属存储NAS 以及独立磁盘冗余阵列中的一种或多种。
[0024] 上述的数据查询方法,其中,所述存储设备的数量大于所述数据中心服务器的数 量。
[0025] 上述的数据查询方法,其中,若干所述存储设备位于同一存储级别或相互嵌套或 相互级联。
[0026] 上述发明具有如下优点或者有益效果:
[0027] 本发明公开的一种数据查询方法,应用于在存储网络中进行数据的查询操作,通 过利用存储网络中的处理器或微处理器来进行数据的查询或搜索操作,之后将查询或搜索 操作结果发送至数据中心服务器,由数据中心服务器中的高性能处理器再通过进一步查询 或搜索并进行汇总得到综合结果,并将该综合结果反馈至用户终端,从而解决了从存储网 络到数据中心服务器内存之间进行数据读取的瓶颈,有效的降低了将大量数据导入数据中 心服务器内存的功耗,且相比内存中计算技术成本更加低廉,实用性强。
[0028] 具体【专利附图】

【附图说明】
[0029] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、夕卜 形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比 例绘制附图,重点在于示出本发明的主旨。
[0030] 图1是本发明【背景技术】中进行数据查询的结构示意图;
[0031] 图2是本发明实施例中进行数据查询的结构示意图;
[0032] 图3是本发明实施例中于存储网络中进行数据查询的具体方式的示意图;
[0033] 图4是本发明实施例中网络附属存储NAS的结构示意图;
[0034] 图5是本发明实施例中存储设备的结构示意图;
[0035] 图6是本发明实施例中于存储网络中进行数据查询的方法的流程示意图;
[0036] 图7是本发明实施例中存储设备为网络附属存储NAS的结构示意图;
[0037] 图8是本发明实施例中网络附属存储NAS中的处理器的状态示意图;
[0038] 图9是本发明实施例中采用RAID中的nvSPAM的一部分作为非易失性存储器的结 构示意图;
[0039] 图10是本发明实施例中硬盘的结构示意图;
[0040] 图11是本发明实施例中连接有非易失性存储器的硬盘的结构示意图;
[0041] 图12是本发明实施例中硬盘应用到网络附属存储NAS中的结构示意图。

【具体实施方式】
[0042] 下面结合附图和具体的实施例对本发明作进一步的说明,但是不作为本发明的限 定。
[0043] 如图2所示,存储网络中存在着大量的处理器或微处理器(处理器未于图中示 出),不论是磁盘、固态硬盘、闪存,还是NAS、RAID等,其内部都配置有处理器或微处理器, 它们的任务就是对存储单元进行管理和控制,例如损耗均衡、模块选择,错误检查纠错,数 据读写等等。有些存在于存储网络中的处理器在性能上甚至不亚于一些个人计算机的处理 器,相比服务器的处理器来说,它们的集成工艺节点较高,因而功耗也较低,成本也更低,而 且在大多数时候,在不需要对存储设备进行大量写操作时,这些处理器或微处理器是处于 空闲状态的。因此完全可以利用这些闲置的处理器或微处理器来完成数据的查询或搜索, 然后将查询或搜索到的结果再导入服务器的内存中,从而可以大大降低内存与存储网络之 间的速度瓶颈,因为这些数据结果相比于海量的数据库来说是大大降低的。这种方法比内 存中计算技术在成本上、功耗上都要大大降低。
[0044] 基于以上分析,本发明提出一种数据查询的方法,应用于在存储网络中进行数据 的查询操作,且存储网络包括设置有处理器的存储设备,包括如下步骤:
[0045] 步骤S1,用户终端通过数据中心服务器发送数据的查询请求至处理器;
[0046] 步骤S2,处理器根据查询请求对存储设备中存储的数据进行查询操作,并将查询 操作结果发送至数据中心服务器;
[0047] 步骤S3,数据中心服务器对查询操作结果进行处理后,将处理结果反馈至所述用 户终端。
[0048] 优选的,在步骤二中,利用存储设备中闲置的(处于空闲状态的)处理器或微处理 器根据查询请求对存储设备中存储的数据进行查询操作。
[0049] 具体的,如图3所示。存储网络中存储设备0、存储设备1至存储设备m中均配置 有处理器或者微处理器,不仅能够完成其传统功能,例如损耗均衡、模块选择,错误检查纠 错,数据读写等,还能够完成一些简单的数据查询或搜索的功能。当用户终端发送数据的查 询或搜索请求Q,Q被分散到各个数据中心服务器(以下称为服务器)中,假设查询或搜索 请求Q被分散到N个服务器中的η个服务器中(例如N = 20, η = 5,即查询或搜索请求Q 被分散到20个数据中心服务器中的5个数据中心服务器中),其中η < Ν,并依次编号为服 务器〇、服务器1至服务器η,服务器0、服务器1至服务器η中收到的子命令(即子请求) 分别称为Q_〇、Q_1至Q_n,然后每一个子命令又分别交由存储网络中的部分或者全部存储 设备(存储设备〇、存储设备1至存储设备m),显然存储设备的数量要远远大于服务器设备 的数量,即m远大于N。存储网络中的存储设备0、存储设备1直至存储设备m中配置的处 理器或微处理器接收到查询或搜索请求能够在存储网络内部进行数据的搜索或查询,并将 查询或搜索子结果综合为D_sO、D_sl、……、D_sn返回至相应的服务器内存中,服务器中的 高性能处理器再通过进一步查询或搜索得到D_0、D_l、……、D_n,再将查询或搜索的综合 结果D返回至用户终端。显然,存储器内部搜索或查询的综合子结果(即查询操作结果) D_s0、D_sl、……、D_sn要远远小于海量的数据库中的数据,仅仅将这部分结果导入服务 器中的内存中显然比将海量数据库中的数据全部导入内存中要节省更多的资源,数据导入 功耗也会大大降低,成本也更低。通过服务器中高性能处理器处理得到的进一步结果D_0、 D_l、……、D_n要小于等于D_sO、D_sl、……、D_sn,将这进一步结果综合后就是最终的搜 索或查询结果,并将该最终的搜索或查询结果反馈至用户终端。
[0050] 在本发明的实施例中,存储设备0、存储设备1直至存储设备m可以是存储网络 中的任一级别的配置处理器或微处理器的存储设备。该存储设备还可以是固态硬盘,包括 NAND闪存和N0R闪存,硬盘,网络附属存储NAS,独立磁盘冗余阵列等,该存储设备可以为其 中的一种或多种,如图4所示的是一个常见的存储设备网络附属存储NAS的结构示意图。
[0051] 优选的,上述存储设备0、存储设备1直至存储设备m不仅可以位于同一存储级别, 也可以相互嵌套或相互级联。
[0052] 在本发明的实施例中,上述存储设备在结构上可以包括以下部分:处理器(内嵌 处理器或微处理器单元)(1)、代码区(独立的代码空间)(2)、数据区(独立的数据空间) (3)、以及较大的非易失性存储阵列(4),根据需求该存储设备也可能会包括非易失性存储 器(5),该非易失性存储器是为存储设备内查询而额外增加的存储器,结构如图5所示;代 码区可以由ROM、闪存或者相变存储器、磁存储器、可变电阻存储器、铁电存储器等新型存储 器制成,该代码区(2)存储微处理器或处理器的可执行代码,以完成特定的功能,不仅包括 传统的功能,例如损耗均衡、模块选择,错误检查纠错,数据读写等,还可以完成特定的搜索 和查询固件功能;数据区(3)可以是SRAM或DRAM,可以存放处理器或微处理器单元执行程 序时所需的临时数据;非易失性存储阵列(4)是数据库中存储和保持存储网络中数据的存 储区,存储介质可以是磁盘、flash阵列、RAID阵列、NAS阵列等,也可以为其中的一种或多 种;为存储器内部查询而增加的非易失性存储器(5)可以是存储设备的内嵌式存储器或外 插卡式存储器,例如闪存或者相变存储器、磁存储器、可变电阻存储器、铁电存储器等,且非 易失性存储器(5)的读取或擦写功耗低于非易失性存储阵列(4),且最好能够随机存取,即 存取速度尤其是写速率应当比非易失性存储阵列(4)要快。本发明这种结构中的非易失性 存储器(5)可以存储非易失性存储阵列(4)中在预定时间内最频繁被查询或搜索的数据信 息,这部分数据信息可以由自学习模块通过在预定时间内对用户终端查询或搜索信息进行 统计和分析得出,该自学习模块可以由硬件来实现,也可由软件来实现。若存储设备中配置 有非易失性存储器(5),数据的查询或搜索功耗会进一步降低,因为非易失性存储器(5)中 存放的是一定时期内最频繁被查询或搜索的数据信息,容量较小,一旦用户终端所需查询 的信息在非易失性存储器(5)中命中(hit),所需的查询功耗相比在海量的存储系统中查 询或搜索来说是大大降低的,命中率越高,查询功耗也会越低。即首先判断查询请求所对应 的查询操作结果是否存在于非易失性存储器(5)中,若查询请求所对应的查询操作结果存 在于非易失性存储器(5)中,则处理器将查询操作结果直接发送至服务器;若查询请求所 对应的查询操作结果未存在于非易失性存储器(5)中,则继续判断查询请求所对应的数据 是否存在于非易失性存储器(5)中,若查询请求所对应的数据存在于非易失性存储器(5) 中,则处理器根据查询请求对非易失性存储器(5)中存储的数据进行查询操作,若查询请 求所对应的数据未存在于非易失性存储器(5)中,则处理器根据查询请求对非易失性存储 阵列(4)中存储的数据进行查询操作;其次,非易失性存储器(5)采用新型的存储器结构, 因而读取速度也较传统的磁盘来说明显加快,因而系统的性能也会更高。值得一提的是,非 易失性存储器(5)也可以不需要,而是复用非易失性存储阵列(4),例如非易失性存储阵列 (4)也是由闪存或者相变存储器、磁存储器、可变电阻存储器、铁电存储器等新型存储器构 成。
[0053] 传统条件下,用户终端发送查询或搜索请求,服务器接收到查询或搜索请求然后 将大量数据从存储网络中导入内存,然后服务器对其进行查询或搜索并将处理过的结果返 回至用户终端。在本实施例的数据查询方法中,服务器将子查询请求发送至存储网络中的 存储设备。如果用户终端所查询或搜索的信息存在于增加的非易失性存储器(5)中,那么 存储设备直接从非易失性存储器(5)中进行查询或搜索,并将查询或搜索的结果返回至服 务器;否则,存储设备从非易失性存储阵列(4)中搜索或查询,并将查询或搜索的结果返回 至服务器。本实施例这种在存储器内进行查询或搜索的结果是由存储设备中的处理器或微 处理器(1)来完成的,服务器将存储设备返回的结果综合成最终的搜索或查询结果返回用 户终端。显然,由存储设备返回至服务器的结果要远远小于存储网络中的大量数据,由服务 器返回至用户终端的最终的搜索或查询结果小于或等于由存储设备返回至服务器的结果。 由存储设备返回至服务器的结果如果是对应于一段时期内(预定时间)最经常被查询或搜 索的信息,那么可将这一部分子结果数据信息存储至非易失性存储器(5)中,当然,若存储 设备并没有配置非易失性存储器(5),亦可将这一部分结果数据信息存储至非易失性存储 阵列(4)中,而当下一次用户终端又搜索该热点时,存储设备可直接将这一部分子结果数 据返回至服务器,而无需再在非易失性存储阵列(4)或非易失性存储器(5)进行搜索或查 询操作,显然这种方法更加快速,功耗也更低。
[0054] 自学习模块通过一定时间的统计和分析发现一部分大数据经常从存储设备中导 入至服务器内存中,这部分大数据的不断导入已经达到了数据从存储设备导入服务器内存 的速度瓶颈,这时候本发明可以至少提供三个选择:第一,增加更多的服务器或者内存条来 达到更高的性能,而不考虑成本和功耗;第二,如果这部分查询或搜索信息依然是热点,应 用本发明这种存储器内部查询方法,可增加额外的非易失性存储器(5),从而可以节省更多 的功耗,降低成本;第三,一段时间过后,这部分查询或搜索信息已经不再是热点,那么可替 换非易失性存储器(5)中的内容。整个用户(用户终端/用户端)查询的工作流程图如图 6所示。
[0055] 下面以具体的应用来进一步阐述:
[0056] 应用一:网络附属存储NAS这种集中化的大型的数据管理中心,其内部必然配置 有一个相当强大的处理器,并且拥有较大容量的内存和代码存储空间,并带有SATA和USB 等接口。如果应用本发明这种新型数据查询方法,可以通过网络附属存储NAS自带的接口 来配置本发明为存储设备内部查询而增加的非易失性存储器(5),用来存储用户终端在一 定时期内经常查询或搜索的原始大数据,其结构如图7所示。网络附属存储NAS中的处理 器除了可以处理一些传统的任务之外,大部分时间都处于空闲状态,在其处于空闲状态时, 可进行存储设备内部查询或搜索等操作,如图8所示,在时间段Tal、Ta2、Ta3时,网络附属 存储NAS中的处理器进行其传统操作,例如控制损耗均衡、模块选择,错误检查纠错,数据 读写等;而在Tbl、Tb2、Tb3、Tb4时间段内,NAS中的处理器处于闲置状态,可以在存储设备 内部进行数据的查询或搜索操作。
[0057] 应用二:独立冗余磁盘阵列RAID将普通硬盘组成一个磁盘阵列,在主机写入数 据,RAID控制器把主机要写入的数据分解为多个数据块,然后并行写入磁盘阵列;主机读 取数据时,RAID控制器并行读取分散在磁盘阵列中各个硬盘上的数据,并进行重新组合后 提供给主机。由于采用并行读写操作,从而提高了存储系统的存取速度。显然RAID控制器 中也必然拥有一个甚至多个处理器或微处理器来完成上述操作,为了进行断电保护,RAID 中还配置有非易失性的SRAM(nvSRAM),在断电时存储其内存中的数据。应用本发明这种新 型的存储设备内查询方法,可以复用RAID中的nvSRAM的一部分作为非易失性存储器(5), 用以存储用户终端在一定时期内经常查询或搜索的数据,如果nvSRAM容量有限,亦可以 通过外部接口的方式增加一个额外的非易失性存储器(5),实现结构图如图9所示。其中 nvSRAM中分为两部分,(A)部分可继续用来在断电时存储RAID内存中的数据,而(B)部分 可用来作为非易失性存储器(5)用来存储在某一段时间内最频繁被查询或搜索的热点数 据。
[0058] 应用三:硬盘作为目前最为普通的存储设备,其内部结构如图10所示,由图10中 可以看出,硬盘控制器也包括处理器、代码区、内存单元,控制着对硬盘的保护和控制。应用 本发明这种新型的存储设备内部查询的方法,为了能够存储在某一段时期内的最频繁被查 询或访问的数据,需要内嵌一个非易失性存储器(5),硬盘内部结构示意图如图11所示。本 发明这种硬盘结构应用到更高级的存储系统中,整个存储结构如图12所示。非易失性存储 器(5)中存放的是一定时期内最频繁被查询或搜索的数据信息,当下一次用户终端又搜索 该热点时,存储设备可直接将这一部分子结果数据返回至服务器,而无需再进行搜索或查 询操作,显然这种方法更加快速,功耗也更低。
[0059] 对三种应用结果以及内存中计算机技术进行对比,如表1所示;
[0060]

【权利要求】
1. 一种数据查询方法,应用于在存储网络中进行数据的查询操作,且所述存储网络包 括设置有处理器的存储设备,其特征在于,包括如下步骤: 步骤S1,用户终端通过数据中心服务器发送所述数据的查询请求至所述处理器; 步骤S2,所述处理器根据所述查询请求对所述存储设备中存储的数据进行查询操作, 并将查询操作结果发送至所述数据中心服务器; 步骤S3,所述数据中心服务器对所述查询操作结果进行处理后,将处理结果反馈至所 述用户终端。
2. 如权利要求1所述的数据查询方法,其特征在于,所述存储设备上还设置有代码区、 数据区以及非易失性存储阵列; 所述代码区用于存储所述处理器的可执行代码; 所述数据区用于存放所述处理器执行程序时所需的临时数据; 所述非易失性存储阵列用于存储和保持所述存储网络中的数据。
3. 如权利要求2所述的数据查询方法,其特征在于,所述存储设备上还设置有读取或 擦写功耗低于所述非易失性存储阵列的非易失性存储器; 所述非易失性存储器用于存储所述非易失性存储阵列在预定时间内查询次数最多的 数据信息。
4. 如权利要求3所述的数据查询方法,其特征在于,所述步骤S2还包括: 判断所述查询请求所对应的查询操作结果是否存在于所述非易失性存储器中,若所述 查询请求所对应的查询操作结果存在于所述非易失性存储器中,则所述处理器将所述查询 操作结果直接发送至所述数据中心服务器; 若所述查询请求所对应的查询操作结果未存在于所述非易失性存储器中,则直接判断 所述查询请求所对应的数据是否存在于所述非易失性存储器中; 若所述查询请求所对应的数据存在于所述非易失性存储器中,则所述处理器根据所述 查询请求对所述非易失性存储器中存储的数据进行查询操作,若所述查询请求所对应的数 据未存在于所述非易失性存储器中,则所述处理器根据所述查询请求对所述非易失性存储 阵列中存储的数据进行查询操作。
5. 权利要求3所述的数据查询方法,其特征在于,所述非易失性存储器为所述存储设 备的内嵌式存储器或外插卡式存储器。
6. 如权利要求2所述的数据查询方法,其特征在于,所述数据区为SRAM或DRAM。
7. 如权利要求2所述的数据查询方法,其特征在于,所述非易失性存储阵列的存储介 质为磁盘、flash阵列、RAID阵列或NAS阵列中的一种或多种。
8. 如权利要求1所述的数据查询方法,其特征在于,所述存储设备为固态硬盘、硬盘、 网络附属存储NAS以及独立磁盘冗余阵列中的一种或多种。
9. 如权利要求1所述的数据查询方法,其特征在于,所述存储设备的数量大于所述数 据中心服务器的数量。
10. 如权利要求1所述的数据查询方法,其特征在于,若干所述存储设备位于同一存储 级别或相互嵌套或相互级联。
【文档编号】G06F17/30GK104216984SQ201410443598
【公开日】2014年12月17日 申请日期:2014年9月2日 优先权日:2014年9月2日
【发明者】景蔚亮, 陈邦明 申请人:上海新储集成电路有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1