数据检索方法、装置及其系统的制作方法

文档序号:6582428阅读:191来源:国知局
专利名称:数据检索方法、装置及其系统的制作方法
技术领域
本发明关于通信网络技术,特别涉及数据检索方法、装置及其系统。
背景技术
在非对称的存储系统结构中,由一个元数据服务器统一管理所有的数据 存储服务器,展现给客户端一个统一的命名空间。其中,客户端操作一个文 件,先向元数据服务器请求,该元数据服务器返回该客户端请求的文件的布 局信息,即该客户端数据在哪个数据存储服务器上,然后该客户端直接与相
应的数据存储服务器联系,该数据存储服务器根据该客户端的请求采用如B 树、hash等检索方法对相应的数据进行检索,以获取数据。
发明人在实现本发明的过程中发现现有技术的缺陷在于随着储存在数
据存储服务器上的系统文件数量尤其是小文件数量的增多,在该数据存储服
务器根据客户端请求检索数据时,读文件时的输入输出(10, 1叩ut/0utput)
开销增加,检索次数增多,该数据存储服务器上的检索可能会直接影响到整 个系统的性能。

发明内容
本发明实施例提供一种数据检索方法和装置。可以提高存储系统的性能。
本发明实施例提供一种数据检索方法,包括获取待查找的数据的布局 信息,该布局信息包括该数据的数据标识,该数据标识包括用户标识和分区 标识;
向数据存储服务器请求检索该数据,该请求中包括该数据标识; 接收该数据存储服务器返回的该数据。
本发明实施例提供一种数据检索方法,包括接收客户端传送的检索数据的请求,该请求包括待检索数据的数据标识,该数据标识包括用户标识和
分区标识;
根据该分区标识查找该分区标识对应的区域的相关信息,该相关信息包 括区域大小、该区域内的分块大小、该区域内的最大对象数和该区域内的固 定长度值;
根据该数据标识和该相关信息获取该数据所在的位置,将该位置存放的 数据返回给该客户端。
本发明实施例提供一种数据检索方法,包括接收客户端传送的获取待 查找的数据的布局信息的请求;
根据该请求査找该布局信息;
将查找到的该布局信息返回给该客户端;其中,该布局信息包括该数据 所在的数据存储服务器的服务器标识和数据标识,该数据标识包括用户标识 和分区标识;或者该布局信息包括数据标识,该数据标识包括用户标识和分 区标识。
本发明实施例提供一种数据检索装置,包括
布局信息获取单元,用于获取待查找的数据的布局信息,该布局信息包
括该数据的数据标识,该数据标识包括用户标识和分区标识;
检索请求发送单元,与该布局信息获取单元连接,用于在获得该布局信
息后向数据存储服务器请求检索该数据,该请求中包括该数据标识; 数据接收单元,用于接收该数据存储服务器返回的该数据。 本发明实施例提供一种数据检索装置,包括-
请求接收单元,该请求接收单元用于接收客户端传送的检索数据的请求, 该请求包括待检索数据的数据标识,该数据标识包括用户标识和分区标识;
信息査找单元,与该请求接收单元连接,用于根据该分区标识查找该分 区标识对应的区域的相关信息,该相关信息包括区域大小、该区域内的分块 大小、该区域内的最大对象数和所述区域内的固定长度值;位置获取单元,所述位置获取单元用于根据所述数据标识和所述相关信 息获取所述数据所在的位置;
数据发送单元,用于将所述位置存放的数据返回给所述客户端。 本发明实施例提供一种数据检索装置,包括
布局信息请求接收单元,用于接收客户端传送的获取待查找的数据的布
局信息的请求;
布局信息査找单元,与该布局信息请求接收单元连接,用于根据该请求
查找该布局信息;
布局信息发送单元,与该布局信息查找单元连接,用于将查找到的该布 局信息返回至该客户端;其中,该布局信息包括该数据所在的数据存储服务 器的服务器标识和数据标识,该数据标识包括用户标识和分区标识。
由上可以看出,通过数据标识,即分区标识和用户标识找到数据的位置, 无需要进行检索,可以提高存储系统的性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1的数据检索方法流程图2是本发明实施例2的数据检索方法流程图3是本发明实施例3的数据检索方法流程图4是本发明实施例4的数据检索方法流程图; 图5是本发明实施例4中存放数据的流程图; 图6是本发明实施例4中分配区块的流程图; 图7是实施例4中磁盘布局结构示意图;图8是本发明实施例5的数据检索方法流程图; 图9是本发明实施例6的三方通信场景示意图; 图10是本发明实施例6的数据检索方法流程图; 图11是本发明实施例7的数据检索装置示意图; 图12是本发明实施例8的数据检索装置示意图; 图13是本发明实施例9的数据检索装置示意图; 图14是本发明实施例10的数据检索装置示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种数据检索方法,如图1所示。该数据检索方法是 以客户端为执行主体进行的阐述。该方法包括-
步骤101:客户端获取待查找的数据的布局信息,该布局信息包括该数据
的数据标识,该数据标识包括用户标识和分区标识。
在本实施例中,该客户端可以从元数据服务器获取该数据的布局信息的 请求,该元数据服务器可根据该请求查找布局信息,并将查找到的布局信息 返回该客户端,使得该客户端获取该待查找的数据的布局信息。
在本实施例中,该布局信息除了包括数据标识外,还可包括该数据所在 数据存储服务器的服务器标识。
步骤102:该客户端向数据存储服务器请求检索该数据,该请求中包括该
数据标识,这样,该数据存储服务器可以根据该请求中的分区标识获得该分 区标识对应的区域的相关信息,根据区域的相关信息和用户标识就可以计算出存放该数据的位置,这样,该数据存储服务器就可以把该位置存放的数据 返回给该客户端。
在本实施例中,当该布局信息中包括数据标识和该数据所在数据存储服 务器的服务器标识时,该客户端可以根据该数据服务器的标识向相应的数据 存储服务器请求检索该数据。
步骤103:该客户端接收该数据存储服务器返回的数据。
在本实施例中,该分区标识表示为Partition ID;该用户标识表示为UserID。
由上述实施例可知,客户端可将获取的数据标识发送给数据存储服务器, 使得该数据存储服务器根据该数据标识直接查找数据的位置,而不需要进行 检索,因此,减少了由客户端、元数据服务器和数据存储服务器构成的存储 系统的读文件时的输入输出(10, 1叩ut/0utput)开销,减少了总的检索次 数,因此可以提高存储系统的性能。
实施例2
本发明实施例提供一种数据检索方法,仍以客户端为执行主体,其中, 以数据存储服务器为多个为例对该数据减少方法进行说明。如图2所示,该 方法包括
步骤201,客户端向元数据服务器请求获取待查找数据的布局信息,该布 局信息包括存放该数据的数据存储服务器的服务器标识和数据标识。
在本实施例中,该客户端可向元数据服务器发送获取该数据的布局信息 的请求,其中,该请求可包括待査找的数据的标识,如数据的名称等,这样, 该元数据服务器可根据该数据的标识查找布局信息,并将査找到的布局信息 返回该客户端,使得该客户端获得该待查找的数据的布局信息。
步骤202,该客户端接收该元数据服务器返回的该布局信息。
步骤203,该客户端根据该布局信息中的数据存储服务器的标识向相应的 数据服务器发送检索该数据的请求,该请求包括数据标识,该数据标识包括其中,该数据存储服务器获得该数据标识后,可根据该数据标识获得存 放该数据的位置,并将该位置存放的数据返回给该客户端。
步骤204,该客户端接收该数据服务器返回的数据。
在本实施例中,该客户端可从元数据服务器获取该数据的布局信息,其 中,该元数据服务器可根据该客户端发送的该数据对应的文件名来查找布局 信息。这样,该客户端可将该数据标识发送给数据存储服务器,使得该数据 存储服务器根据该标识信息直接获取该数据,从而减少了由客户端、元数据
服务器和数据存储服务器构成的存储系统的读文件时的输入输出(10, 1叩ut/0utput)开销,减少了总的检索次数,因此可以提高存储系统的性能。 实施例3
本发明实施例提供一种数据检索方法,以数据存储服务器为执行主体进
行阐述。如图3所示,该方法包括
步骤301:数据存储服务器接收客户端传送的检索数据的请求,该请求包 括待检索数据的数据标识,该数据标识包括用户标识和分区标识;
步骤302:根据该分区标识查找该分区标识对应的区域的相关信息,该相
关信息包括区域大小、该区域内的分块大小、该区域内的最大对象数和该区
域内的固定长度值;
步骤303:根据该数据标识和存放数据的区域的相关信息获取该数据所在 的位置,将该位置存放的数据返回给该客户端。
由上述可知,可根据该数据标识中的分区标识(Partition ID)可以获 得该分区标识对应得区域相关信息,根据用户标识(User ID)和存放该数据 的区域的相关信息可以计算出该数据所在的位置,从而可以将该数据存储服 务器获得的数据发送给客户端。这样,无需数据存储服务器检索,从而可以 提高存储系统的性能。
实施例4本发明实施例提供一种数据检索方法,如图4所示,以数据存储服务器 查找数据为例进行说明。
步骤400,将数据存入数据存储服务器。
在本实施例中,当存放数据时,可根据待存放数据的数据量的大小为待 存放的数据分配磁盘区域(region),得到该区域的分区标识(Partition ID), 分配区域(region)内的分块(block),将数据存入所分配的区域中的分块 中,其中,该分块对应用户标识,并且记录该区域的相关信息。
在本实施例中,该区域(region)可非一次分好,而是根据存放数据的 需要进行分配。其中,每个区域的大小可以相同,也可以根据实际需要进行 配置。该区域中分块(block)的大小可以不同,例如,该分块的大小可为512K、 或128K,可根据实际需要分为不同的分块。
在本实施例中,该区域(region)内的最大对象数num可根据该区域大 小、分块大小以及预留的固定长度区域大小确定。例如,每个区域region内 的每个数据分块均作为一个对象,区域region内的最大对象数rmm等于区域 region内可用的数据大小除以分块大小(block—size)。比如说, 一个区域 (region)的区域大小是260K,预留的固定长度区域大小为4K,则该区域 (region)可用的数据大小为260_4=256K,该区域(region)中的分块(block) 大小为16K,则最大对象数num为256/16 = 16个。在本实施例中,该预留的 固定长度区域可以用来存放位图信息、区域描述信息等管理信息。
步骤401,该数据存储服务器存储该数据后,可将该用户标识、区域的分 区标识和该数据存储服务器的服务器标识返回给元数据服务器。
若该数据存储服务器为一个时,该数据存储服务器只需要将该用户标识、 区域的分区标识返回给元数据服务器,而不需要返回该数据存储服务器的服 务器标识。
步骤402,当客户端向该数据存储服务器发送检索待查找数据的请求时, 该数据存储服务器接收客户端传送的检索数据的请求,该请求包括待检索数据的数据标识,该数据标识包括用户标识和分区标识;
客户端可以根据元数据服务器返回的待查找数据的布局信息的请求中的 数据服务器标识,向相应得数据存储服务器发送待查找数据的请求。这样, 该数据存储服务器可以根据该待查找数据的请求中的数据标识的用户标识和 分区标识计算得到该数据存放的位置。
步骤403,该数据存储服务器可根据该数据标识中的分区标识(Partition ID)找到该分区标识(Partition ID)对应的区域的相关信息。
其中,该相关信息可包括区域大小(Regi0n_size)、区域内的分块的大 小(blockjize)、该区域内的最大对象数num以及该区域内的固定长度值等
"f曰息。
例如,客户端可根据获得的服务器标识将包含Partition ID=1和User ID=2的数据标识的请求发送给相应的数据存储服务器,该数据存储服务器根 据Partition ID二1找到region 1的相关信息,该区域的相关信息包括区 域大小为260K、该区域内的分块大小为16K、该区域内的最大对象数为16、 以及该区域内的固定长度值为4K。
步骤404,该数据存储服务器根据该相关信息和该数据标识获得该数据所 在的位置。
其中,可利用公式计算该数据所在的位置,当该用户标识(User ID)未 超过该区域内的最大对象数num时,该公式为该数据的位置二分区标识 (Partition ID) X区域大小(Region_size ) +区域内的分块的大小 (block_size) X用户标识(User ID) +固定长度值。
或者当该用户标识(User ID)超过了该区域region内的最大对象数num 时,该公式为数据的位置二分区标识(Partition ID) X区域大小 (Region—size) +区域内的分块的大小(block—size) X用户标识对区域内的最 大对象数取模(User ID mod mum) +固定长度值。
例如,步骤403的例子中,User ID=2,未超过region 1内的最大对象数画=16,则该数据的位置二lX260 + 16X2+仁296;假如user ID:18,超 过region 1内的最大对象数num=16,则该数据的位置=1 X260 + 16X (18 mod 16) +4=296。
本实施例中,该固定长度值可以存储在如图7所示的区域描述区中,其 中,该固定长度值可以与计算区域内的最大对象数num时用到的预留的固定 长度区域大小相同,也可以不同于该预留的固定长度区域大小,可以根据实 际情况确定。
步骤405,该数据存储服务器获得存放该数据的位置后,将该位置存放的 数据返回给该客户端。
在本实施例中,该数据存储服务器在得到该数据的位置以后,可以根据 该位置直接取到数据,例如,在初始位置的基础上偏移296K得到读取该数据 的初始地址。
这样,该数据存储服务器可根据客户端发送的数据标识直接找到存放数 据的位置,不需要进行检索,从而能够在大规模系统文件数特别是小文件数 很多的情况下提升系统的性能。
以下结合附图5对附图4中步骤400的存放数据的过程进行详细说明。 如图5所示
步骤501,数据存储服务器根据请求的数据的数据量大小分配存放该数据 的区域region;
其中,该区域region可根据需要适时分配。该区域region的类型可以 不同,例如,可为512K分块的区域、或128K分块的区域,或所有类型的区 域region大小相同。
在本实施例中,可将该磁盘分为4k, 8k, 16k, 32k, 64k, 128k, 256k, 512k分 块(block)的八个类型的区域(region)。
例如,当请求的数据的数据量大小为16KB,则可选择一个分块(block) 大小为16KB的区域(region);若没有16KB分块大小的区域(region),则分配一个分块大小(block_size)为16KB的区域(region),该区域对应 一分区标识(Partition ID)。比如region 1中分块大小为16K,可以选择 region 1来存放该数据,此时Partition ID=1。这样,根据数据量的大小分 配存储区域可节省存储空间。
步骤502,根据分配的用户标识或者用户标识对该区域内的最大对象数取 模为该数据分配该区域中的分块(block)。
在本实施例中,当分配的用户标识(User ID)未超过该区域内的最大对 象数num时,根据分配的用户标识为该数据分配该区域中的分块(block); 当分配的用户标识(User ID)超过该区域内的最大对象数num时,根据分配 的用户标识对该区域内的最大对象数取模,为该数据分配该区域中的分块 (block)。
步骤503,将该数据存放到该分块(block)内。
本实施例中,存放数据还可包括在该数据的相关信息,例如,对数据实 际存储大小的描述,如实际数据大小为15838 Byte,不足16K;还可以记录 该数据对应的Partition ID以及User ID,用来检验数据的正确性等。
当数据存放成功后,将该用户标识、区域的分区标识和所在数据存储服 务器的服务器标识返回给元数据服务器,如图4中步骤401。 步骤504,该数据存储服务器储存存放该数据的区域的相关信息、该分区 标识和该用户标识。
本实施例中,该区域的相关信息可包括区域大小(Region—size)、区域 内的分块大小(block—size)、该区域内的最大对象数num和该区域内的固定 长度值,但不限于此,还可包括其它信息,例如,数据区开始的位置等信息。 上述区域的相关信息和分区标识的存放可采用如图7所示的方式,用户标识 的存放可采用全局变量存放在磁盘中,但不限于此,可以根据实际情况确定。
图7为磁盘储存相关信息、数据的分区的示意图。如图7所示,预留的 固定长度区域可以包括区域描述区和位图区。如图7所示,超级块(SB)可用来记录己分配的区域、相应的区域内的 分块的大小、以及区域大小等信息,例如,已分配的区域包括regionl和 region2,相应的分块的大小为regionl: 16K, region2: 32K等。在本实施 例中,所有的区域的大小相等,该区域大小也记录在SB中,例如,regionl 和region2的区域大小均为260K。
如图7所示,在每个区域中,可以包含三个部分区域描述区、位图区 和数据区。区域描述区可以记录分区标识Partition ID、该区域中分块大小、 该区域的最大对象数、该区域的固定长度值等信息,此外,区域描述区还可 以记录数据区开始位置等信息;位图区可以采用比特位表示,用于记录每个 区内的分块的分配情况;数据区用于储存数据,此外,数据区中还可以用onode 表示一个对象的描述信息。
本实施例中,区域的固定长度值可与超级块的大小有关,也可与该区域 中数据区的初始位置有关,比如超级块的大小为2K,若数据区如图7所示, 位于区域描述区和位图区之后,且区域描述区和位图区即预留的固定长度区 域大小为4K,则此时区域的固定长度值为2+4=6K;若数据区位于区域描述区 和位图区之前,则此时区域的固定长度值为2K;若数据区位于区域描述区和 位图区之间,且区域描述区和位图区的大小各为2K,则此时区域的固定长度 值为2+2=4K。区域的固定长度值的确定不限于此,可以根据实际情况确定。
本实施例中,例如,在regionl中,区域描述区域可以记录如下信息 Partition ID为1,分块大小为16K,最大对象数为16,固定长度值为4K; 位图区中可以记录regionl中第一个分块对应的比特位为0,表示该分块目前 没有分配,第二个分块对应的比特位为1,表示该分块目前已经分配;数据区 中,第二分块已经存储数据,该onode可以记录关于该数据的描述信息,比 如该数据的实际存储大小为15904KB等,也可以记录该数据对应的Partition ID二l和User ID=2,用于对该数据进行错误校验。
此外,该区域的相关信息、分区标识以及用户标识并不限于在数据存放以后存储。比如,区域大小可以在没有分配任何区域之前就已经记录在如图7
所示的SB超级块中;分区标识(Partition ID)、区域大小(Region_size)、 区域内的分块大小(block—size)、该区域内的最大对象数num以及该区域的 固定长度值等可以在该区域分配时存储;用户标识(User ID)可以在分配用 户标识或者更新用户标识后存储,可以根据实际情况确定。
以下结合附图6对步骤502的数据存储服务器根据分配的用户标识或者 用户标识对区域内的最大对象数取模为该数据分配该区域中的分块(block) 的过程进行说明,如图6所示
步骤600,分配用户标识(User ID)。其中,该用户标识(User ID)可 为0 N的任意一个数值,N为自然数。在本实施例中,User ID为不可重复 的数值,但不限于此,可以根据实际情况确定。
比如,User ID可以为一全局变量,假设当前已经使用的User ID为7, 则为此次分配的User ID为7+1=8。
步骤601,根据分配的用户标识(User ID)分配该区域中对应的分块。
在本实施例中,当分配的用户标识(User ID)未超过该区域内的最大对 象数num时,根据分配的用户标识为该数据分配该区域中的分块(block)。 当分配的用户标识(User ID)超过该区域内的最大对象数num时,根据分配
的用户标识对该区域内的最大对象数取模来为该数据分配该区域中的分块 (block)。
例如,该区域为region 1,其最大对象数num为16,当分配的用户标识 为8,可以分配第8分块给该数据;假设当分配的用户标识为25,则用户标 识对该区域内的最大对象数num取模(25 mod 16) =9,可以分配第9分块
给该数据。
步骤602,判断该分块是否被分配。
在本实施例中,可根据预存的位图信息,即图7所示的位图区bitmap所 记录的该区域的分块的分配情况来进行判断。例如,分配region 1中的第8分块给该数据后,检测到位图区的第8分块对应的比特位为0,表明该第8分
块尚未被分配。
步骤603,在步骤602中,若判断结果为该分块未被分配,则将该分块分 配给该数据。
步骤604,在步骤602中,若判断结果为该分块已被分配,则更新该用户 标识。例如,将原用户标识+l二更新后的用户标识。 然后回到步骤601,直至分配到该区域中的分块。
例如,假设分配的用户标识为25,因为25大于最大对象数16,为其分 配(25 mod 16) 二9号分块。此时根据该区域regionl的位图区信息可知第9 号分块已经分配,则可以将用户标识更新为25+1二26,重新取模后结果为(26 mode 16) =10,判断第10号分块是否被该分配,此时第10号分块未被分配, 将该数据存放到region 1的第10号分块中。
数据存放成功后,更新位图区的比特位信息,记录此时第10号块已经分 配,并将该用户标识26、区域的分区标识1和存放该数据的数据存储服务器 的服务器标识返回给元数据服务器。若该存储系统中只有一个数据存储服务 器时,该数据存储服务器只需返回该用户标识26、区域的分区标识1,而不 需返回该服务器标识。
由上述可知,可根据客户端发送的该数据标识中的用户标识(User ID) 和分区标识(Partition ID)获得该数据所在的位置,不需要检索,从而可 以提高存储系统的性能。
实施例5
本发明实施例提供一种数据检索方法,以元数据服务器为执行主体进行 阐述。如图8所示,该方法包括
步骤801:元数据服务器接收客户端传送的获取待查找的数据的布局信息 的请求;
在本实施例中,该客户端传送的请求中可包括待查找的数据的数据标识,如数据的名称。
步骤802:该元数据服务器根据该请求査找该数据的布局信息。 在本实施例中,该客户端发送的请求中可包含该数据的名称,该元数据 服务器可根据该名称查找相应的布局信息。
步骤803:查找到该布局信息后,该元数据服务器可将査找到的布局信息
返回给该客户端;
其中,该布局信息包括该数据所在的数据存储服务器的服务器标识和数 据标识,该数据标识包括用户标识和分区标识。
这样,该客户端可根据该布局信息发送检索请求至数据存储服务器,以 获取该数据。
在本实施例中,若数据存储服务器为一个时,该布局信息也可只包括数
据标识。
此外,在接收该客户端传送的获取待査找的数据的布局信息的请求之前,
该方法还包括
接收数据存储服务器传送的存放数据的数据存储服务器标识和数据标
识;该数据标识包括用户标识和分区标识;储存该存储服务器标识和数据标 识。
由上述实施例可知,可根据客户端发送的请求查找相应的布局信息,并 将该布局信息提供给该客户端,以便该客户端根据该布局信息获取相应的数 据。
实施例6
本发明实施例提供一种数据检索方法,以下参照附图9、 10,以客户端、 元数据服务器以及数据存储服务器三方通信,且该数据存储服务器为多个为 例对本发明实施例的数据检索方法进行说明。
如图9、 IO所示,该方法包括
步骤IOOI,将数据存入数据存储服务器903的磁盘区域的分块中,具体存储过程如实施例4所述,此处不再赘述。
步骤1002,存放该数据的数据存储服务器903将其服务器标识以及数据 标识传送给元数据服务器902,该元数据服务器902储存上述信息。其中,该
数据标识可包括分区标识和用户标识。
步骤1003,当用户通过客户端检索数据时,首先该客户端901向元数据 服务器902发送查询布局信息的请求,其中,该请求中可包括待查找数据的 数据标识,如数据的名称。
步骤1004,该元数据服务器902根据该待查找数据的名称在数据库中查 找对应的布局信息,并将该布局信息返回该客户端901。该布局信息包括该待 査找数据对应的数据存储服务器的服务器标识以及数据标识。
步骤1005,该客户端901根据获得的数据存储服务器的服务器标识向该 数据存储服务器903发送检索该数据的请求,该请求中包括数据标识。
步骤1006,该数据存储服务器903获得该数据标识后,根据该数据标识 查找该数据的位置,并将该位置的数据返回给该客户端。其中,该查找过程 如实施例4的步骤402 步骤405所述。
由上述可知,在上述由客户端、元数据服务器和数据存储服务器构成的 存储系统中,在数据存储服务器903上直接通过数据标识找到存储数据的位 置,可免检索,这样,减少了整个存储系统的总的检索次数,从而可以提高 存储系统的性能。
实施例7
本发明实施例提供一种数据检索装置,如图11所示,该装置包括布局信 息获取单元1101、检索请求发送单元1102和数据接收单元1103;
其中,该布局信息获取单元1101用于获得待査找的数据的布局信息,该 布局信息包括该数据的数据标识,该数据标识包括用户标识和分区标识;
该检索请求发送单元1102与该布局信息获取单元1101连接,用于在获 取该布局信息后向数据存储服务器请求检索该数据,该请求中包括该数据标识;
该数据接收单元1103用于接收该数据存储服务器返回的数据。 在本实施例中,该布局信息还包括该数据所在数据存储服务器的服务器
标识,这样,该检索请求发送单元1102还用于根据该数据存储服务器的服务
器标识向相应的数据存储服务器请求检索该数据。
在本实施例中,该装置可为客户端,该客户端可向元数据服务器请求布
局信息,这样,该布局信息获取单元1101可包括信息请求发送单元和信息接
收单元;其中,该信息请求发送单元用于向元数据服务器请求该数据的布局
信息;该信息接收单元用于接收该元数据服务器返回的该布局信息。
在本实施例中,该装置的工作流程如实施例1、 2所述,此处不再赘述。 由上述实施例可知,该装置可根据获得的布局信息向数据存储服务器请
求待查找的数据,使得该数据存储服务器可根据该用户标识和分区标识直接
找到该数据,从而可以提高存储系统的性能。 实施例8
本发明实施例提供一种数据检索装置,如图12所示,该装置包括请求接 收单元1201、信息查找单元1202、位置获取单元1203和数据发送单元1204;
其中,该请求接收单元1201用于接收客户端传送的检索数据的请求,该 请求包括待检索数据的数据标识,该数据标识包括用户标识和分区标识;
该信息査找单元1202与该请求接收单元1201连接,用于根据该分区标 识査找该分区标识对应的区域的相关信息,该相关信息包括区域大小、该区 域内的分块大小、该区域内的最大对象数和该区域内的固定长度值;
该位置获取单元1202用于根据该数据标识和该相关信息获得该数据所在 的位置;
该数据发送单元1204用于将该位置存放的数据返回给该客户端。这样, 该客户端可获得待检索的数据。
在本实施例中,该装置可单独使用,也可与数据存储服务器集成在一起作为数据存储服务器使用。在本实施例中,该装置的工作流程如实施例3所 述,此处不再赘述。
若该装置为数据存储服务器时,该数据存储服务器可根据客户端发送的
用户标识(User ID)和分区标识(Partition ID)直接获取该数据所在的位 置,不需要检索,从而可以提高存储系统的性能。 实施例9
本发明实施例提供一种数据检索装置。该装置包括如图12所示的部分。 如图13所示,该装置还包括存储区域分配单元1301、数据存放单元1302、 存储单元1303和信息发送单元1304;
其中,该存储区域分配单元1301用于根据请求的数据的数据量大小分配 存放该数据的区域和区域内的分块;
该数据存放单元1302用于将该数据存放在分配的区域的分块中;
该存储单元1303用于记录储存该数据的区域的相关信息、该分区标识和 该用户标识,并储存该数据,该相关信息包括区域大小、该区域内的分块大 小、该区域内的最大对象数和该区域内的固定长度值;
该信息发送单元1304用于将该用户标识、该区域的分区标识以及所在数 据存储服务器的服务器标识返回给元数据服务器。
在本实施例中,该装置可单独使用,也可与数据存储服务器集成在一起 作为数据服务器使用。在本实施例中,该装置的工作流程如实施例4所述, 此处不再赘述。
若该装置为数据存储服务器时,该数据存储服务器可根据客户端发送的 用户标识(User ID)和分区标识(Partition ID)直接获取该数据所在的位 置,不需要检索,从而可以提高存储系统的性能。
实施例10
本发明实施例提供一种数据检索装置,如图14所示,该装置包括布局信 息请求接收单元1401、布局信息查找单元1402和布局信息发送单元1403;其中,该布局信息请求接收单元1401用于接收客户端传送的获取待查找
的数据的布局信息的请求;
该布局信息査找单元1402与布局信息请求接收单元1401连接,用于根 据该请求查找该布局信息;
该布局信息发送单元1403与布局信息查找单元1402连接,用于将查找 到的布局信息返回给客户端;其中,该布局信息包括该数据所在的数据存储 服务器的服务器标识和数据标识,该数据标识包括用户标识和分区标识、或 者在该数据存储服务器为一个时,该布局信息只包括该数据标识即可。
在本实施例中,该布局信息发送单元1403可根据该待査找数据的名称在 预存信息中检索到该名称对应的布局信息,并将该布局信息返回给客户端。
此外,如图14所示,该装置还包括布局信息接收单元1404和存储单元 1405;其中,该布局信息接收单元1404用于接收数据存储服务器传送的存放 数据的数据存储服务器标识和数据标识、或者接收数据标识;该数据标识包 括用户标识和分区标识;该存储单元1405用于储存该存储服务器标识和数据 标识、或者数据标识。
在本实施例中,该数据检索装置可单独使用,也可与数据存储服务器一 起作为元数据服务器使用。
在本实施例中,该装置的工作流程如实施例5所述,此处不再赘述。
由上述实施例可知,可根据客户端发送的请求查找相应的布局信息,并 将该布局信息提供给该客户端,以便该客户端根据该布局信息获取相应的数 据。
实施例11
本发明实施例还提供一种数据检索系统,如图9所示,该系统包括客户 端901、元数据服务器902和数据存储服务器903,其中,
该客户端901,用于向该元数据服务器902请求待查找数据的布局信息并 接收该元数据服务器902返回的该布局信息,该布局信息包括数据存储服务器903的服务器标识和数据标识、或者包括数据标识;并根据该数据存储服 务器903的服务器标识向相应的数据存储服务器请求检索该数据,该请求中 包括该数据标识,该数据标识包括用户标识和分区标识;
该数据存储服务器903,与客户端901连接,用于接收客户端901传送的
检索该数据的请求,该请求包括待检索数据的数据标识,并根据该数据标识 和存放数据的区域的相关信息获取该数据所在的位置;其中,该相关信息包 括区域大小、该区域内的分块大小、该区域内的最大对象数和该区域内的固 定长度值;
该元数据服务器902,与客户端901和数据存储服务器903连接,用于接 收客户端901传送的获取待査找的数据的布局信息的请求,并根据该请求査 找该布局信息,并将査找到的布局信息返回至客户端901;并且接收存放该数 据的数据存储服务器发送的服务器标识和数据标识、或者数据标识。
在本实施例中,该客户端901可使用实施例1、 2中的装置;该数据存储 服务器可使用实施例3、 4中的装置;该元数据服务器902可使用实施例5中 的装置,此处不再赘述。其中,使用该系统进行检索的过程如实施例6所述, 此处不再赘述。
由上述实施例可知,该系统可根据获得的布局信息向数据存储服务器请 求待查找的数据,使得该数据存储服务器可根据该用户标识和分区标识直接 找到该数据,从而可以提高存储系统的性能。
需要说明的是,上述各实施例在具体阐述时各有侧重,各个实施例是相 互关联的,在对本发明实施例理解时,可以参考各个实施例。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了 进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已, 并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任 何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据检索方法,其特征在于,所述方法包括获取待查找的数据的布局信息,所述布局信息包括所述数据的数据标识,所述数据标识包括用户标识和分区标识;向数据存储服务器请求检索所述数据,所述请求中包括所述数据标识;接收所述数据存储服务器返回的所述数据。
2. 根据权利要求1所述的方法,其特征在于,所述布局信息还包括所述 数据所在数据存储服务器的服务器标识;并且所述向数据存储服务器请求检索所述数据,包括 根据所述数据存储服务器的服务器标识向相应的数据存储服务器请求检 索所述数据。
3. 根据权利要求1所述的方法,其特征在于,所述获取待查找的数据的 布局信息,包括向元数据服务器请求所述数据的布局信息; 接收所述元数据服务器返回的所述布局信息。
4. 一种数据检索方法,其特征在于,所述方法包括接收客户端传送的检索数据的请求,所述请求包括待检索数据的数据标识,所述数据标识包括用户标识和分区标识;根据所述分区标识査找所述分区标识对应的区域的相关信息,所述相关 信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所 述区域内的固定长度值;根据所述数据标识和所述相关信息获取所述数据所在的位置,将所述位 置存放的数据返回给所述客户端。
5. 根据权利要求4所述的方法,其特征在于,所述根据所述数据标识和所述相关信息获取所述数据所在的位置,包括利用公式计算所述数据所在 的位置,当所述用户标识未超过所述区域内的最大对象数时,所述公式为所述数据的位置=分区标识x区域大小+区域内的分块大小X用户标识 十区域内的固定长度值;或者当该用户标识超过所述区域内的最大对象数时,所述公式为 所述数据的位置二分区标识X区域大小+区域内的分块大小X用户标识对区域内的最大对象数取模+区域内的固定长度值。
6. 根据权利要求4所述的方法,其特征在于,在接收客户端传送的检索 数据的请求之前,所述方法还包括存放所述数据;记录存放所述数据的区域的相关信息、与所述区域对应的所述分区标识 以及与存放所述数据的区域内的分块对应的用户标识。
7. 根据权利要求6所述的方法,其特征在于,所述存放所述数据,包括 根据所述数据的数据量大小为所述数据分配相应的区域,并获得分区标识; 为所述数据分配所述区域中的分块,所述分块与用户标识对应; 将所述数据存放在所述分块内。
8. 根据权利要求7所述的方法,其特征在于,所述为所述数据分配所述 区域中的分块,包括分配所述用户标识;根据分配的用户标识查找所述区域中对应的分块; 若所述分块未被分配,则将所述分块分配给所述数据; 若所述分块已被分配,则更新所述用户标识,根据更新的用户标识为所 述数据分配所述区域中的分块。
9. 一种数据检索方法,其特征在于,所述方法包括 接收客户端传送的获取待査找的数据的布局信息的请求; 根据所述请求査找所述布局信息;将査找到的所述布局信息返回给所述客户端;其中,所述布局信息包括 所述数据所在的数据存储服务器的服务器标识和数据标识,所述数据标识包括用户标识和分区标识;或者所述布局信息包括数据标识,所述数据标识包 括用户标识和分区标识。
10. 根据权利要求9所述的方法,其特征在于,在接收客户端传送的获取 待查找的数据的布局信息的请求之前,所述方法还包括接收存放所述数据的数据存储服务器传送的服务器标识和数据标识、或 者数据标识;所述数据标识包括用户标识和分区标识;储存所述数据存储服务器的服务器标识和数据标识、或者储存所述数据 标识。
11. 一种数据检索装置,其特征在于,所述装置包括布局信息获取单元,用于获取待查找的数据的布局信息,所述布局信息包括所述数据的数据标识,所述数据标识包括用户标识和分区标识;检索请求发送单元,与所述布局信息获取单元连接,用于在获得所述布 局信息后向数据存储服务器请求检索所述数据,所述请求中包括所述数据标 识;数据接收单元,用于接收所述数据存储服务器返回的所述数据。
12. 根据权利要求11所述的装置,其特征在于,所述布局信息还包括所 述数据所在数据存储服务器的服务器标识;所述检索请求发送单元还用于根据所述数据存储服务器的服务器标识向 相应的数据存储服务器请求检索所述数据。
13. 根据权利要求11所述的装置,其特征在于,所述布局信息获取单元 包括信息请求发送单元,用于向元数据服务器请求所述数据的布局信息; 信息接收单元,与所述信息请求发送单元连接,用于接收所述元数据服 务器返回的所述布局信息。
14. 一种数据检索装置,其特征在于,所述装置包括 请求接收单元,所述请求接收单元用于接收客户端传送的检索数据的请求,所述请求包括待检索数据的数据标识,所述数据标识包括用户标识和分 区标识;信息査找单元,与所述请求接收单元连接,用于根据所述分区标识查找 所述分区标识对应的区域的相关信息,所述相关信息包括区域大小、所述区 域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值;位置获取单元,所述位置获取单元用于根据所述数据标识和所述相关信 息获取所述数据所在的位置;数据发送单元,用于将所述位置存放的数据返回给所述客户端。
15. 根据权利要求14所述的装置,其特征在于,所述装置还包括 存储区域分配单元,所述存储区域分配单元用于根据请求分配存放所述数据的区域和区域内的分块;数据存放单元,所述数据存放单元用于将所述数据存放在分配的区域的 分块中;存储单元,用于记录储存所述数据的区域的相关信息、与所述区域对应 的所述分区标识以及与存放所述数据的区域内的分块对应的用户标识,并储 存所述数据。
16. 根据权利要求15所述的装置,其特征在于,所述装置还包括 信息发送单元,用于将所述用户标识、所述区域的分区标识、或者将所述用户标识、所述区域的分区标识和所述数据所在的数据存储服务器的服务 器标识返回至元数据服务器。
17. —种数据检索装置,其特征在于,所述装置包括 布局信息请求接收单元,用于接收客户端传送的获取待査找的数据的布局信息的请求;布局信息查找单元,与所述布局信息请求接收单元连接,用于根据所述 请求査找所述布局信息;布局信息发送单元,与所述布局信息查找单元连接,用于将查找到的所述布局信息返回至所述客户端;其中,所述布局信息包括所述数据所在的数 据存储服务器的服务器标识和数据标识,所述数据标识包括用户标识和分区 标识。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括-布局信息接收单元,用于接收存放数据的数据存储服务器传送的服务器标识和数据标识、或者数据标识;所述数据标识包括用户标识和分区标识; 存储单元,所述存储单元用于储存所述数据存储服务器的服务器标识和数据标识、或者储存数据标识。
全文摘要
本发明实施例提供一种数据检索方法和装置。该数据检索方法包括获取待查找的数据的布局信息,所述布局信息包括所述数据的数据标识,所述数据标识包括用户标识和分区标识;向数据存储服务器请求检索所述数据,所述请求中包括所述数据标识;接收所述数据存储服务器返回的所述数据。根据本发明实施例,数据存储服务器可以通过数据对象的分区标识和用户标识直接查找数据的物理位置,而不需要检索,因此,减少了由客户端、元数据服务器和数据存储服务器构成的存储系统的总的检索次数,可以提高存储系统的性能。
文档编号G06F17/30GK101551826SQ20091020350
公开日2009年10月7日 申请日期2009年5月19日 优先权日2009年5月19日
发明者茂 叶 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1