CN101551826B - 数据检索方法、装置及其系统 - Google Patents

数据检索方法、装置及其系统 Download PDF

Info

Publication number
CN101551826B
CN101551826B CN2009102035061A CN200910203506A CN101551826B CN 101551826 B CN101551826 B CN 101551826B CN 2009102035061 A CN2009102035061 A CN 2009102035061A CN 200910203506 A CN200910203506 A CN 200910203506A CN 101551826 B CN101551826 B CN 101551826B
Authority
CN
China
Prior art keywords
data
zone
identification
request
layout information
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
Application number
CN2009102035061A
Other languages
English (en)
Other versions
CN101551826A (zh
Inventor
叶茂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2009102035061A priority Critical patent/CN101551826B/zh
Publication of CN101551826A publication Critical patent/CN101551826A/zh
Application granted granted Critical
Publication of CN101551826B publication Critical patent/CN101551826B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种数据检索方法和装置。该数据检索方法包括:获取待查找的数据的布局信息,所述布局信息包括所述数据的数据标识,所述数据标识包括用户标识和分区标识;向数据存储服务器请求检索所述数据,所述请求中包括所述数据标识;接收所述数据存储服务器返回的所述数据。根据本发明实施例,数据存储服务器可以通过数据对象的分区标识和用户标识直接查找数据的物理位置,而不需要检索,因此,减少了由客户端、元数据服务器和数据存储服务器构成的存储系统的总的检索次数,可以提高存储系统的性能。

Description

数据检索方法、装置及其系统
技术领域
本发明关于通信网络技术,特别涉及数据检索方法、装置及其系统。
背景技术
在非对称的存储系统结构中,由一个元数据服务器统一管理所有的数据存储服务器,展现给客户端一个统一的命名空间。其中,客户端操作一个文件,先向元数据服务器请求,该元数据服务器返回该客户端请求的文件的布局信息,即该客户端数据在哪个数据存储服务器上,然后该客户端直接与相应的数据存储服务器联系,该数据存储服务器根据该客户端的请求采用如B树、hash等检索方法对相应的数据进行检索,以获取数据。
发明人在实现本发明的过程中发现现有技术的缺陷在于:随着储存在数据存储服务器上的系统文件数量尤其是小文件数量的增多,在该数据存储服务器根据客户端请求检索数据时,读文件时的输入输出(IO,Input/Output)开销增加,检索次数增多,该数据存储服务器上的检索可能会直接影响到整个系统的性能。
发明内容
本发明实施例提供一种数据检索方法和装置。可以提高存储系统的性能。
本发明实施例提供一种数据检索方法,包括:获取待查找的数据的布局信息,该布局信息包括该数据的数据标识,该数据标识包括用户标识和分区标识;
向数据存储服务器请求检索该数据,该请求中包括该数据标识,以使所述数据存储服务器根据所述分区标识查找所述分区标识对应的区域的相关信息,并根据所述数据标识和所述相关信息获取数据;所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值;
接收该数据存储服务器返回的该数据。
本发明实施例提供一种数据检索方法,包括:接收客户端传送的检索数据的请求,该请求包括待检索数据的数据标识,该数据标识包括用户标识和分区标识;
根据该分区标识查找该分区标识对应的区域的相关信息,该相关信息包括区域大小、该区域内的分块大小、该区域内的最大对象数和该区域内的固定长度值;
根据该数据标识和该相关信息获取该数据所在的位置,将该位置存放的数据返回给该客户端。
本发明实施例提供一种数据检索方法,包括:接收客户端传送的获取待查找的数据的布局信息的请求;
根据该请求查找该布局信息;其中,该布局信息包括该数据所在的数据存储服务器的服务器标识和数据标识,该数据标识包括用户标识和分区标识;或者该布局信息包括数据标识,该数据标识包括用户标识和分区标识;
将查找到的该布局信息返回给该客户端;以使接收所述客户端的检索数据请求的数据存储服务器根据所述分区标识查找所述分区标识对应的区域的相关信息,并根据所述数据标识和所述相关信息获取数据;所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值。
本发明实施例提供一种数据检索装置,包括:
布局信息获取单元,用于获取待查找的数据的布局信息,该布局信息包括该数据的数据标识,该数据标识包括用户标识和分区标识;
检索请求发送单元,与该布局信息获取单元连接,用于在获得该布局信息后向数据存储服务器请求检索该数据,该请求中包括该数据标识,以使所述数据存储服务器根据所述分区标识查找所述分区标识对应的区域的相关信息,并根据所述数据标识和所述相关信息获取数据;所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值;
数据接收单元,用于接收该数据存储服务器返回的该数据。
本发明实施例提供一种数据检索装置,包括:
请求接收单元,该请求接收单元用于接收客户端传送的检索数据的请求,该请求包括待检索数据的数据标识,该数据标识包括用户标识和分区标识;
信息查找单元,与该请求接收单元连接,用于根据该分区标识查找该分区标识对应的区域的相关信息,该相关信息包括区域大小、该区域内的分块大小、该区域内的最大对象数和所述区域内的固定长度值;
位置获取单元,所述位置获取单元用于根据所述数据标识和所述相关信息获取所述数据所在的位置;
数据发送单元,用于将所述位置存放的数据返回给所述客户端。
本发明实施例提供一种数据检索装置,包括:
布局信息请求接收单元,用于接收客户端传送的获取待查找的数据的布局信息的请求;
布局信息查找单元,与该布局信息请求接收单元连接,用于根据该请求查找该布局信息;其中,该布局信息包括该数据所在的数据存储服务器的服务器标识和数据标识,该数据标识包括用户标识和分区标识;
布局信息发送单元,与该布局信息查找单元连接,用于将查找到的该布局信息返回至该客户端;以使接收所述客户端的检索数据请求的数据存储服务器根据所述分区标识查找所述分区标识对应的区域的相关信息,并根据所述数据标识和所述相关信息获取数据;所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值。
由上可以看出,通过数据标识,即分区标识和用户标识找到数据的位置,无需要进行检索,可以提高存储系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图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。
由上述实施例可知,客户端可将获取的数据标识发送给数据存储服务器,使得该数据存储服务器根据该数据标识直接查找数据的位置,而不需要进行检索,因此,减少了由客户端、元数据服务器和数据存储服务器构成的存储系统的读文件时的输入输出(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所述,此处不再赘述。
由上述实施例可知,该系统可根据获得的布局信息向数据存储服务器请求待查找的数据,使得该数据存储服务器可根据该用户标识和分区标识直接找到该数据,从而可以提高存储系统的性能。
需要说明的是,上述各实施例在具体阐述时各有侧重,各个实施例是相互关联的,在对本发明实施例理解时,可以参考各个实施例。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种数据检索方法,其特征在于,所述方法包括:
获取待查找的数据的布局信息,所述布局信息包括所述数据的数据标识和所述数据所在数据存储服务器的服务器标识,所述数据标识包括用户标识和分区标识;
根据所述数据存储服务器的服务器标识向相应的数据存储服务器请求检索所述数据,所述请求中包括所述数据标识,以使所述数据存储服务器根据所述分区标识查找所述分区标识对应的区域的相关信息,并根据所述数据标识和所述相关信息获取数据;所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值;
接收所述数据存储服务器返回的所述数据。
2.根据权利要求1所述的方法,其特征在于,所述获取待查找的数据的布局信息,包括:
向元数据服务器请求所述数据的布局信息;
接收所述元数据服务器返回的所述布局信息。
3.一种数据检索方法,其特征在于,所述方法包括:
存放所述数据;记录存放所述数据的区域的相关信息、与所述区域对应的分区标识以及与存放所述数据的区域内的分块对应的用户标识;
接收客户端传送的检索数据的请求,所述请求包括待检索数据的数据标识,所述数据标识包括用户标识和分区标识;
根据所述分区标识查找所述分区标识对应的区域的相关信息,所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值;
根据所述数据标识和所述相关信息获取所述数据所在的位置,将所述位置存放的数据返回给所述客户端。
4.根据权利要求3所述的方法,其特征在于,所述根据所述数据标识和所述相关信息获取所述数据所在的位置,包括:利用公式计算所述数据所在的位置,当所述用户标识未超过所述区域内的最大对象数时,所述公式为:
所述数据的位置=分区标识×区域大小+区域内的分块大小×用户标识+区域内的固定长度值;
或者当该用户标识超过所述区域内的最大对象数时,所述公式为:
所述数据的位置=分区标识×区域大小+区域内的分块大小×用户标识对区域内的最大对象数取模+区域内的固定长度值。
5.根据权利要求3所述的方法,其特征在于,所述存放所述数据,包括:
根据所述数据的数据量大小为所述数据分配相应的区域,并获得分区标识;
为所述数据分配所述区域中的分块,所述分块与用户标识对应;
将所述数据存放在所述分块内。
6.根据权利要求5所述的方法,其特征在于,所述为所述数据分配所述区域中的分块,包括:
分配所述用户标识;
根据分配的用户标识查找所述区域中对应的分块;
若所述分块未被分配,则将所述分块分配给所述数据;
若所述分块已被分配,则更新所述用户标识,根据更新的用户标识为所述数据分配所述区域中的分块。
7.一种数据检索方法,其特征在于,所述方法包括:
接收客户端传送的获取待查找的数据的布局信息的请求;
根据所述请求查找所述布局信息;其中,所述布局信息包括所述数据所在的数据存储服务器的服务器标识和数据标识,所述数据标识包括用户标识和分区标识;或者所述布局信息包括数据标识,所述数据标识包括用户标识和分区标识;
将查找到的所述布局信息返回给所述客户端;以使接收所述客户端的检索数据请求的数据存储服务器根据所述分区标识查找所述分区标识对应的区域的相关信息,并根据所述数据标识和所述相关信息获取数据;所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值。
8.根据权利要求7所述的方法,其特征在于,在接收客户端传送的获取待查找的数据的布局信息的请求之前,所述方法还包括:
接收存放所述数据的数据存储服务器传送的服务器标识和数据标识、或者数据标识;所述数据标识包括用户标识和分区标识;
储存所述数据存储服务器的服务器标识和数据标识、或者储存所述数据标识。
9.一种数据检索装置,其特征在于,所述装置包括:
布局信息获取单元,用于获取待查找的数据的布局信息,所述布局信息包括所述数据的数据标识和所述数据所在数据存储服务器的服务器标识,所述数据标识包括用户标识和分区标识;
检索请求发送单元,与所述布局信息获取单元连接,用于在获得所述布局信息后根据所述数据存储服务器的服务器标识向相应的数据存储服务器请求检索所述数据,所述请求中包括所述数据标识,以使所述数据存储服务器根据所述分区标识查找所述分区标识对应的区域的相关信息,并根据所述数据标识和所述相关信息获取数据;所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值;
数据接收单元,用于接收所述数据存储服务器返回的所述数据。
10.根据权利要求9所述的装置,其特征在于,所述布局信息获取单元包括:
信息请求发送单元,用于向元数据服务器请求所述数据的布局信息;
信息接收单元,与所述信息请求发送单元连接,用于接收所述元数据服务器返回的所述布局信息。
11.一种数据检索装置,其特征在于,所述装置包括:
存储区域分配单元,所述存储区域分配单元用于根据请求分配存放所述数据的区域和区域内的分块;
数据存放单元,所述数据存放单元用于将所述数据存放在分配的区域的分块中;
存储单元,用于记录储存所述数据的区域的相关信息、与所述区域对应的分区标识以及与存放所述数据的区域内的分块对应的用户标识,并储存所述数据;
请求接收单元,所述请求接收单元用于接收客户端传送的检索数据的请求,所述请求包括待检索数据的数据标识,所述数据标识包括用户标识和分区标识;
信息查找单元,与所述请求接收单元连接,用于根据所述分区标识查找所述分区标识对应的区域的相关信息,所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值;
位置获取单元,所述位置获取单元用于根据所述数据标识和所述相关信息获取所述数据所在的位置;
数据发送单元,用于将所述位置存放的数据返回给所述客户端。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
信息发送单元,用于将所述用户标识、所述区域的分区标识、或者将所述用户标识、所述区域的分区标识和所述数据所在的数据存储服务器的服务器标识返回至元数据服务器。
13.一种数据检索装置,其特征在于,所述装置包括:
布局信息请求接收单元,用于接收客户端传送的获取待查找的数据的布局信息的请求;
布局信息查找单元,与所述布局信息请求接收单元连接,用于根据所述请求查找所述布局信息;其中,所述布局信息包括所述数据所在的数据存储服务器的服务器标识和数据标识,所述数据标识包括用户标识和分区标识;或者所述布局信息包括数据标识,所述数据标识包括用户标识和分区标识;
布局信息发送单元,与所述布局信息查找单元连接,用于将查找到的所述布局信息返回至所述客户端;以使接收所述客户端的检索数据请求的数据存储服务器根据所述分区标识查找所述分区标识对应的区域的相关信息,并根据所述数据标识和所述相关信息获取数据;所述相关信息包括区域大小、所述区域内的分块大小、所述区域内的最大对象数和所述区域内的固定长度值。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
布局信息接收单元,用于接收存放数据的数据存储服务器传送的服务器标识和数据标识、或者数据标识;所述数据标识包括用户标识和分区标识;
存储单元,所述存储单元用于储存所述数据存储服务器的服务器标识和数据标识、或者储存数据标识。
CN2009102035061A 2009-05-19 2009-05-19 数据检索方法、装置及其系统 Active CN101551826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102035061A CN101551826B (zh) 2009-05-19 2009-05-19 数据检索方法、装置及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102035061A CN101551826B (zh) 2009-05-19 2009-05-19 数据检索方法、装置及其系统

Publications (2)

Publication Number Publication Date
CN101551826A CN101551826A (zh) 2009-10-07
CN101551826B true CN101551826B (zh) 2011-10-05

Family

ID=41156073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102035061A Active CN101551826B (zh) 2009-05-19 2009-05-19 数据检索方法、装置及其系统

Country Status (1)

Country Link
CN (1) CN101551826B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394866A (zh) * 2011-10-09 2012-03-28 中兴通讯股份有限公司 在近场通信网络中共享数据和应用的方法及近场通信网络
CN104040539B (zh) * 2012-12-31 2017-06-06 华为技术有限公司 数据存储方法和装置、数据操作方法、系统及接入服务器
CN106326280B (zh) * 2015-06-30 2021-06-29 中兴通讯股份有限公司 数据处理方法、装置及系统
CN107436904B (zh) * 2016-05-27 2020-06-30 北京京东尚科信息技术有限公司 数据获取方法、数据获取设备和计算机可读存储介质
CN106776785B (zh) * 2016-11-24 2021-06-22 腾讯科技(深圳)有限公司 一种数据写入方法及装置和数据处理系统
CN109284069A (zh) * 2018-08-23 2019-01-29 郑州云海信息技术有限公司 一种存放备份数据的分布式存储系统及方法
CN109299101B (zh) * 2018-10-15 2020-12-01 上海达梦数据库有限公司 数据检索方法、装置、服务器和存储介质
CN111984691B (zh) * 2020-09-11 2023-01-06 苏州浪潮智能科技有限公司 一种分布式存储系统中对象元数据检索列举方法及装置
CN113468226B (zh) * 2021-06-24 2024-05-28 北京达佳互联信息技术有限公司 一种业务处理方法、装置、电子设备和存储介质
US20240028466A1 (en) * 2022-07-20 2024-01-25 Dell Products L.P. Storing Namespace Metadata in a Key Value Store to Facilitate Space Efficient Point In Time Snapshots
CN116450727B (zh) * 2023-06-19 2023-08-18 中国人民解放军联勤保障部队第九八〇医院 医疗数据处理方法、装置、终端设备和可读存储介质

Also Published As

Publication number Publication date
CN101551826A (zh) 2009-10-07

Similar Documents

Publication Publication Date Title
CN101551826B (zh) 数据检索方法、装置及其系统
CN106911780B (zh) 业务id生成方法、装置及系统
CN102298633B (zh) 一种分布式海量数据排重方法及系统
CN102137145B (zh) 分布式内容管理的方法、装置及系统
CN107026876B (zh) 一种文件数据访问系统及方法
CN111291079A (zh) 一种数据的查询方法和装置
CN107436725A (zh) 一种数据写、读方法、装置及分布式对象存储集群
CN101282342B (zh) 一种网络内容拉取方法与系统
CN102739622A (zh) 一种可扩展的数据存储系统
CN112434996A (zh) 智能柜的柜格分配方法、装置及系统
CN113672175A (zh) 分布式对象存储方法、装置和设备及计算机存储介质
CN107092645B (zh) 一种图书资源管理方法及装置
CN110365747B (zh) 网络请求的处理方法、装置、服务器及计算机可读存储介质
JP2001522074A (ja) 通信システム及び方法
CN102790784A (zh) 分布式缓存方法及系统、缓存解析方法及解析系统
CN103607424A (zh) 一种服务器连接方法及服务器系统
CN102833331A (zh) 云存储系统及其元数据写入方法、元数据读取方法
US9380127B2 (en) Distributed caching and cache analysis
CN106713250A (zh) 基于分布式系统的数据访问方法和装置
CN109873855A (zh) 一种基于区块链网络的资源获取方法和系统
CN107704475B (zh) 多层分布式非结构化数据存储方法、查询方法及装置
CN101540785A (zh) 基于iptv系统的网页访问方法、终端和服务平台
CN116680278B (zh) 数据处理方法、装置、电子设备及存储介质
CN103905512A (zh) 一种数据处理方法和设备
CN112102063B (zh) 数据请求方法、装置、设备、平台及计算机存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220926

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

TR01 Transfer of patent right