具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种数据检索方法,如图1所示。该数据检索方法是以客户端为执行主体进行的阐述。该方法包括:
步骤101:客户端获取待查找的数据的布局信息,该布局信息包括该数据的数据标识,该数据标识包括用户标识和分区标识。
在本实施例中,该客户端可以从元数据服务器获取该数据的布局信息的请求,该元数据服务器可根据该请求查找布局信息,并将查找到的布局信息返回该客户端,使得该客户端获取该待查找的数据的布局信息。
在本实施例中,该布局信息除了包括数据标识外,还可包括该数据所在数据存储服务器的服务器标识。
步骤102:该客户端向数据存储服务器请求检索该数据,该请求中包括该数据标识,这样,该数据存储服务器可以根据该请求中的分区标识获得该分区标识对应的区域的相关信息,根据区域的相关信息和用户标识就可以计算出存放该数据的位置,这样,该数据存储服务器就可以把该位置存放的数据返回给该客户端。
在本实施例中,当该布局信息中包括数据标识和该数据所在数据存储服务器的服务器标识时,该客户端可以根据该数据服务器的标识向相应的数据存储服务器请求检索该数据。
步骤103:该客户端接收该数据存储服务器返回的数据。
在本实施例中,该分区标识表示为Partition ID;该用户标识表示为UserID。
由上述实施例可知,客户端可将获取的数据标识发送给数据存储服务器,使得该数据存储服务器根据该数据标识直接查找数据的位置,而不需要进行检索,因此,减少了由客户端、元数据服务器和数据存储服务器构成的存储系统的读文件时的输入输出(IO,Input/Output)开销,减少了总的检索次数,因此可以提高存储系统的性能。
实施例2
本发明实施例提供一种数据检索方法,仍以客户端为执行主体,其中,以数据存储服务器为多个为例对该数据减少方法进行说明。如图2所示,该方法包括:
步骤201,客户端向元数据服务器请求获取待查找数据的布局信息,该布局信息包括存放该数据的数据存储服务器的服务器标识和数据标识。
在本实施例中,该客户端可向元数据服务器发送获取该数据的布局信息的请求,其中,该请求可包括待查找的数据的标识,如数据的名称等,这样,该元数据服务器可根据该数据的标识查找布局信息,并将查找到的布局信息返回该客户端,使得该客户端获得该待查找的数据的布局信息。
步骤202,该客户端接收该元数据服务器返回的该布局信息。
步骤203,该客户端根据该布局信息中的数据存储服务器的标识向相应的数据服务器发送检索该数据的请求,该请求包括数据标识,该数据标识包括用户标识和分区标识。
其中,该数据存储服务器获得该数据标识后,可根据该数据标识获得存放该数据的位置,并将该位置存放的数据返回给该客户端。
步骤204,该客户端接收该数据服务器返回的数据。
在本实施例中,该客户端可从元数据服务器获取该数据的布局信息,其中,该元数据服务器可根据该客户端发送的该数据对应的文件名来查找布局信息。这样,该客户端可将该数据标识发送给数据存储服务器,使得该数据存储服务器根据该标识信息直接获取该数据,从而减少了由客户端、元数据服务器和数据存储服务器构成的存储系统的读文件时的输入输出(IO,Input/Output)开销,减少了总的检索次数,因此可以提高存储系统的性能。
实施例3
本发明实施例提供一种数据检索方法,以数据存储服务器为执行主体进行阐述。如图3所示,该方法包括:
步骤301:数据存储服务器接收客户端传送的检索数据的请求,该请求包括待检索数据的数据标识,该数据标识包括用户标识和分区标识;
步骤302:根据该分区标识查找该分区标识对应的区域的相关信息,该相关信息包括区域大小、该区域内的分块大小、该区域内的最大对象数和该区域内的固定长度值;
步骤303:根据该数据标识和存放数据的区域的相关信息获取该数据所在的位置,将该位置存放的数据返回给该客户端。
由上述可知,可根据该数据标识中的分区标识(Partition ID)可以获得该分区标识对应得区域相关信息,根据用户标识(UserID)和存放该数据的区域的相关信息可以计算出该数据所在的位置,从而可以将该数据存储服务器获得的数据发送给客户端。这样,无需数据存储服务器检索,从而可以提高存储系统的性能。
实施例4
本发明实施例提供一种数据检索方法,如图4所示,以数据存储服务器查找数据为例进行说明。
步骤400,将数据存入数据存储服务器。
在本实施例中,当存放数据时,可根据待存放数据的数据量的大小为待存放的数据分配磁盘区域(region),得到该区域的分区标识(Partition ID),分配区域(region)内的分块(block),将数据存入所分配的区域中的分块中,其中,该分块对应用户标识,并且记录该区域的相关信息。
在本实施例中,该区域(region)可非一次分好,而是根据存放数据的需要进行分配。其中,每个区域的大小可以相同,也可以根据实际需要进行配置。该区域中分块(block)的大小可以不同,例如,该分块的大小可为512K、或128K,可根据实际需要分为不同的分块。
在本实施例中,该区域(region)内的最大对象数num可根据该区域大小、分块大小以及预留的固定长度区域大小确定。例如,每个区域region内的每个数据分块均作为一个对象,区域region内的最大对象数num等于区域region内可用的数据大小除以分块大小(block_size)。比如说,一个区域(region)的区域大小是260K,预留的固定长度区域大小为4K,则该区域(region)可用的数据大小为260-4=256K,该区域(region)中的分块(block)大小为16K,则最大对象数num为256/16=16个。在本实施例中,该预留的固定长度区域可以用来存放位图信息、区域描述信息等管理信息。
步骤401,该数据存储服务器存储该数据后,可将该用户标识、区域的分区标识和该数据存储服务器的服务器标识返回给元数据服务器。
若该数据存储服务器为一个时,该数据存储服务器只需要将该用户标识、区域的分区标识返回给元数据服务器,而不需要返回该数据存储服务器的服务器标识。
步骤402,当客户端向该数据存储服务器发送检索待查找数据的请求时,该数据存储服务器接收客户端传送的检索数据的请求,该请求包括待检索数据的数据标识,该数据标识包括用户标识和分区标识;
客户端可以根据元数据服务器返回的待查找数据的布局信息的请求中的数据服务器标识,向相应得数据存储服务器发送待查找数据的请求。这样,该数据存储服务器可以根据该待查找数据的请求中的数据标识的用户标识和分区标识计算得到该数据存放的位置。
步骤403,该数据存储服务器可根据该数据标识中的分区标识(PartitionID)找到该分区标识(PartitionID)对应的区域的相关信息。
其中,该相关信息可包括区域大小(Region_size)、区域内的分块的大小(block_size)、该区域内的最大对象数num以及该区域内的固定长度值等信息。
例如,客户端可根据获得的服务器标识将包含Partition ID=1和UserID=2的数据标识的请求发送给相应的数据存储服务器,该数据存储服务器根据Partition ID=1找到region 1的相关信息,该区域的相关信息包括:区域大小为260K、该区域内的分块大小为16K、该区域内的最大对象数为16、以及该区域内的固定长度值为4K。
步骤404,该数据存储服务器根据该相关信息和该数据标识获得该数据所在的位置。
其中,可利用公式计算该数据所在的位置,当该用户标识(User ID)未超过该区域内的最大对象数num时,该公式为:该数据的位置=分区标识(Partition ID)×区域大小(Region_size)+区域内的分块的大小(block_size)×用户标识(User ID)+固定长度值。
或者当该用户标识(User ID)超过了该区域region内的最大对象数num时,该公式为:数据的位置=分区标识(Partition ID)×区域大小(RegioR_size)+区域内的分块的大小(block_size)×用户标识对区域内的最大对象数取模(User ID mod mum)+固定长度值。
例如,步骤403的例子中,User ID=2,未超过region 1内的最大对象数num=16,则该数据的位置=1×260+16×2+4=296;假如user ID=18,超过region 1内的最大对象数num=16,则该数据的位置=1×260+16×(18mod16)+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)内。
本实施例中,存放数据还可包括在该数据的相关信息,例如,对数据实际存储大小的描述,如实际数据大小为15838Byte,不足16K;还可以记录该数据对应的Partition ID以及User ID,用来检验数据的正确性等。
当数据存放成功后,将该用户标识、区域的分区标识和所在数据存储服务器的服务器标识返回给元数据服务器,如图4中步骤401。
步骤504,该数据存储服务器储存存放该数据的区域的相关信息、该分区标识和该用户标识。
本实施例中,该区域的相关信息可包括区域大小(Region_size)、区域内的分块大小(block_size)、该区域内的最大对象数num和该区域内的固定长度值,但不限于此,还可包括其它信息,例如,数据区开始的位置等信息。上述区域的相关信息和分区标识的存放可采用如图7所示的方式,用户标识的存放可采用全局变量存放在磁盘中,但不限于此,可以根据实际情况确定。
图7为磁盘储存相关信息、数据的分区的示意图。如图7所示,预留的固定长度区域可以包括区域描述区和位图区。
如图7所示,超级块(SB)可用来记录已分配的区域、相应的区域内的分块的大小、以及区域大小等信息,例如,已分配的区域包括region1和region2,相应的分块的大小为:region1:16K,region2:32K等。在本实施例中,所有的区域的大小相等,该区域大小也记录在SB中,例如,region1和region2的区域大小均为260K。
如图7所示,在每个区域中,可以包含三个部分:区域描述区、位图区和数据区。区域描述区可以记录分区标识Partition ID、该区域中分块大小、该区域的最大对象数、该区域的固定长度值等信息,此外,区域描述区还可以记录数据区开始位置等信息;位图区可以采用比特位表示,用于记录每个区内的分块的分配情况;数据区用于储存数据,此外,数据区中还可以用onode表示一个对象的描述信息。
本实施例中,区域的固定长度值可与超级块的大小有关,也可与该区域中数据区的初始位置有关,比如:超级块的大小为2K,若数据区如图7所示,位于区域描述区和位图区之后,且区域描述区和位图区即预留的固定长度区域大小为4K,则此时区域的固定长度值为2+4=6K;若数据区位于区域描述区和位图区之前,则此时区域的固定长度值为2K;若数据区位于区域描述区和位图区之间,且区域描述区和位图区的大小各为2K,则此时区域的固定长度值为2+2=4K。区域的固定长度值的确定不限于此,可以根据实际情况确定。
本实施例中,例如,在region1中,区域描述区域可以记录如下信息:Partition ID为1,分块大小为16K,最大对象数为16,固定长度值为4K;位图区中可以记录region1中第一个分块对应的比特位为0,表示该分块目前没有分配,第二个分块对应的比特位为1,表示该分块目前已经分配;数据区中,第二分块已经存储数据,该onode可以记录关于该数据的描述信息,比如该数据的实际存储大小为15904KB等,也可以记录该数据对应的PartitionID=1和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可以为一全局变量,假设当前已经使用的UserID为7,则为此次分配的User ID为7+1=8。
步骤601,根据分配的用户标识(User ID)分配该区域中对应的分块。
在本实施例中,当分配的用户标识(User ID)未超过该区域内的最大对象数num时,根据分配的用户标识为该数据分配该区域中的分块(block)。当分配的用户标识(UserID)超过该区域内的最大对象数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中,若判断结果为该分块已被分配,则更新该用户标识。例如,将原用户标识+1=更新后的用户标识。
然后回到步骤601,直至分配到该区域中的分块。
例如,假设分配的用户标识为25,因为25大于最大对象数16,为其分配(25 mod 16)=9号分块。此时根据该区域region1的位图区信息可知第9号分块已经分配,则可以将用户标识更新为25+1=26,重新取模后结果为(26mode 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、10所示,该方法包括:
步骤1001,将数据存入数据存储服务器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所述,此处不再赘述。
由上述实施例可知,该系统可根据获得的布局信息向数据存储服务器请求待查找的数据,使得该数据存储服务器可根据该用户标识和分区标识直接找到该数据,从而可以提高存储系统的性能。
需要说明的是,上述各实施例在具体阐述时各有侧重,各个实施例是相互关联的,在对本发明实施例理解时,可以参考各个实施例。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。