云存储系统的检索方法及设备的制作方法

文档序号:6381929阅读:259来源:国知局
专利名称:云存储系统的检索方法及设备的制作方法
技术领域
本发明实施例涉及通信技术领域,并且更具体地,涉及云存储系统的检索方法及设备。
背景技术
在云存储系统中,通常以对象(Object)作为云存储的基本存储单元,以桶(Bucket)或容器(Container)将整个对象存储空间进行虚拟划分。对象隶属于容器,容器是对象存储服务系统中存储对象的虚拟载体,容器下包含海量对象数据。 在现有的基于对象存储的检索方案中,业务服务端接收到用户发送的检索请求后,向云存储资源管理系统发送查询命令,云存储资源管理系统按数据库或文件系统接口对数据进行跨容器查询。如果用户进行分类检索,云存储资源管理系统每次都要重新组织检索条件,涉及到容器分别进行查询,且查询到的数据都需要从数据库或文件系统中读取,导致检索效率较低。

发明内容
本发明实施例提供一种云存储系统的检索方法及设备,能够提高检索效率。第一方面,提供了一种云存储系统的检索方法,该方法包括接收用户设备发送的第一查询请求;根据所述第一查询请求在视图中查找相应的对象列表项,其中所述视图存储在云存储系统的内存中,且所述视图与云存储系统的数据库或文件系统中的对象相对应;根据查找到的所述相应的对象列表项获取所述用户设备查询的对象数据。结合第一方面,在第一种实现方式中,在所述接收用户设备发送的第一查询请求之前,具体实现可以为根据所述数据库或文件系统中的对象建立所述视图的对象列表项。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据数据库或文件系统中的对象建立所述视图的对象列表项,具体实现可以为根据所述数据库或文件系统中的对象基于过滤条件或检索条件建立所述视图。结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述对象列表项为与所述数据库或文件系统中的对象的软链接;所述根据所述对象列表项获取所述用户设备查询的对象数据,具体实现可以为根据所述对象的软链接在所述数据库或文件系统中获取所述用户设备查询的对象数据。根据第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在所述接收用户设备发送的第一查询请求之前,具体实现可以为接收用户设备发送的第二查询请求;根据所述第二查询请求将所述视图中的各个对象列表项发送给所述用户设备,以便所述用户设备根据所述视图中的各个对象列表项发送所述第一查询请求。结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第五种可能的实现方式中,所述对象列表项为从所述数据库或文件系统中加载到所述云存储系统的内存中的对象数据;所述根据所述对象列表项获取所述用户设备查询的对象数据,具体实现可以为在所述云存储系统的内存中获取所述用户设备查询的对象数据。结合第一方面的第一种可能的实现方式至第五种可能的实现方式的任一种方式,在第六种可能的实现方式中,所述根据数据库或文件系统中的对象建立所述视图的对象列表项,,具体实现可以为根据数据统计信息确定热点数据,根据所述数据库或文件系统中与所述热点数据对应的对象建立所述视图的对象列表项。结合第一方面或第一方面的第一种可能的实现方式至第六种可能的实现方式的任一种方式,在第七种可能的实现方式中,具体实现可以为根据数据库或文件系统中的对象数据对所述视图的对象列表项进行更新;和/或根据数据统计信息对所述视图的对象列表进行更新。结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述根据数据库或文件系统中的对象数据对所述视图的对象列表项进行更新,具体实现可以为当接收到存储资源管理系统发送的所述数据库或文件系统中的对象数据修改的信息时,将所述视图中相应的对象列表项的状态设置为脏;定期检查所述视图中的对象列表项的状态, 如果所述视图中的对象列表项的状态为脏,则根据修改后的所述数据库或文件系统中的对象数据更新所述视图中的状态为脏的对象列表项。第二方面,提供了一种云存储系统的检索设备,该设备包括接收单元,用于接收用户设备发送的第一查询请求;查找单元,用于根据所述接收单元接收的第一查询请求在视图中查找相应的对象列表项,其中所述视图存储在云存储系统的内存中,且所述视图与云存储系统的数据库或文件系统中的对象相对应;获取单元,用于根据所述查找单元查找到的所述相应的对象列表项获取所述用户设备查询的对象数据。结合第二方面,在第一种可能的实现方式中,所述设备还包括建立单元,用于根据数据库或文件系统中的对象建立所述视图的对象列表项。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述建立单元具体用于根据所述数据库或文件系统中的对象基于过滤条件或检索条件建立所述视图。结合第二方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述对象列表项为与所述数据库或文件系统中的对象的软链接;所述获取单元具体用于根据所述对象的软链接在所述数据库或文件系统中获取所述用户设备查询的对象数据。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述接收单元还用于接收用户设备发送的第二查询请求;所述获取单元还用于根据所述第二查询请求将所述视图中的各个对象列表项发送给所述用户设备,以便所述用户设备根据所述视图中的各个对象列表项发送所述第一查询请求。结合第二方面的第一种可能的实现方式或第二种可能的方式中,在第五种可能的实现方式中,所述对象列表项为从所述数据库或文件系统中加载到所述云存储系统的内存中的对象数据;所述获取单元具体用于在所述云存储系统的内存中获取所述用户设备查询的对象数据。结合第二方面的第一种可能的实现方式至第五种可能的实现方式的任一种方式,在第五种可能的实现方式中,所述建立单元具体用于根据所述数据库或文件系统中的对象基于过滤条件或检索条件建立所述视图。结合第二方面或第二方面的第一种可能的实现方式至第六种可能的实现方式的任一种方式,在第七种可能的实现方式中,所述设备还包括更新单元,用于根据数据库或文件系统中的对象数据对所述视图的对象列表项进行更新;和/或根据数据统计信息对所述视图的对象列表进行更新。结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述更新单元具体用于当接收到存储资源管理系统发送的所述数据库或文件系统中的对象数据修改的信息时,将所述视图中相应的对象列表项的状态设置为脏;定期检查所述视图中的对象列表项的状态,如果所述视图中的对象列表项的状态为脏,则根据修改后的所述数据库或文件系统中的对象数据更新所述视图中的状态为脏的对象列表项。通过上述方案,云存储系统的检索设备接收用户设备发送的第一查询请求后,在云存储系统的内存的视图中查找相应的对象列表项,视图与云存储系统的数据库或文件系 统中的对象相对应,通过对象列表项获取用户设备查询的对象数据。因此,无需通过云存储资源管理系统从数据库或文件系统中的容器来分别进行查询,用户设备可以直接通过云存储系统的内存中的视图查询对象列表项,从而提高数据检索效率。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是本发明一个实施例的云存储系统的检索方法的流程图。图2是本发明一个实施例的云存储系统的视图容器建立的不意图。图3是本发明另一个实施例的云存储系统的视图容器建立的示意图。图4是本发明一个实施例的云存储系统的更新视图的对象列表项的过程的示意性流程图。图5是本发明一个实施例的云存储系统的检索方法的过程的示意性流程图。图6是本发明一个实施例的云存储系统的检索设备的结构框图。图7是本发明一个实施例的设备的框图。图8是本发明一个实施例的云存储系统的检索设备的结构框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的用户设备也称为“云存储客户端”。例如,网盘客户端或邮件服务客户端等应用软件客户端。应理解,本发明实施例并不限于此。图I是本发明一个实施例的云存储系统的检索方法的流程图。图I的方法由云存储系统的检索设备执行。101,接收用户设备发送的第一查询请求。102,根据第一查询请求在视图中查找相应的对象列表项,其中视图存储在云存储系统的内存中,且视图与云存储系统的数据库或文件系统中的对象相对应。103,根据查找到的相应的对象列表项获取用户设备查询的对象数据。通过上述方案,云存储系统的检索设备接收用户设备发送的第一查询请求后,在云存储系统的内存的视图中查找相应的对象列表项,视图与云存储系统的数据库或文件系统中的对象相对应,通过对象列表项获取用户设备查询的对象数据。因此,无需通过云存储资源管理系统从数据库或文件系统中的容器来分别进行查询,用户设备可以直接通过云存储系统的内存中的视图查询对象列表项,从而提高数据检索效率。可选的,作为一个实施例,在步骤101之前,可以根据数据库或文件系统中的对象建立视图的对象列表项。视图可以是一个或多个,每个视图中有至少一个对象列表项。例如,在云存储系统中,将数据库或文件系统中的一个或多个容器的对象数据作为数据源,在云存储系统的内存中构建一个或多个视图(称为“视图容器”)。在一种实现方式下,对象列表项可以为与数据库或文件系统中的对象的软链接,在步骤103中,云存储系统的检索设备可以通过对象的软链接直接在数据库中获取用户设备查询的对象数据。进一步地,在步骤101之前,可以接收用户设备发送的第二查询请求,第二查询请求即为查询对象列表的请求,云存储系统的检索设备接收第二查询请求后,将视图中的各个对象列表项发送给用户设备。用户设备可以在该视图中的各个对象列表项中选择需要查询的对象列表项,向云存储系统的检索设备发送第一查询请求,在步骤101的第一查询请求中携带与需要获取的对象数据对应的对象列表项。在另一种实现方式下,对象列表项可以为对象数据,对象数据是从数据库或文件系统中加载到z 存储系统的内存中的。在步骤103中,z 存储系统的检索设备可以在z 存储系统的内存中获取用户设备查询的对象数据,即为视图中的对象列表项。应理解,本发明实施例对对象列表项的内容形式并不限定。还应注意的是,视图中可以同时存在不同内容形式的对象列表项,如上述的对象的软链接和对象数据。可选地,云存储系统的检索设备可以根据数据统计信息(例如最近一段时间内用户查询次数较多的对象数据)确定热点数据,根据数据库或文件系统中与热点数据对应的对象建立视图的对象列表项。因此,通过对视图的分类,当用户设备查询对象数据时能够缩小查找的范围,从而提高检索效率。可选地,可以根据数据库或文件系统中的对象基于过滤条件或检索条件建立视图。具体地,过滤条件可以为后缀名或对象标签,如果数据库或文件系统中的对象满足过滤条件,则在云存储系统的内存中的视图中创建该对象的软链接。检索条件可以是文件种类、用户自定义标签或文件特征抽取算法等,也就是可以按照文件种类、用户自定义标签或文件特征抽取算法等来创建视图。下面结合图2和图3的例子详细描述本发明实施例。在图2和图3中,数据库或文件系统中有容器A和容器B,容器A中的各个对象分别是a. txt、b. avi、c. txt和d. doc ;容器B中的各个对象分别是e. rar>f. txt、g. mpg和h. avi。云存储系统的检索设备根据文件种类,如文本对象和视频对象创建两个视图容器分别是视图容器X和视图容器Y。
应理解,本发明实施例对此并不限定,如数据库或文件系统中容器的数目、云存储系统的内存中视图容器的数目、过滤条件或检索条件、确定热点数据的方式、对象列表项的内容形式以及对象等等仅仅是示例性的,而非要限制本发明的范围。如图2所示,如果容器A和容器B中对象的后缀名满足文本对象过滤条件的,则在云存储系统的内存中的视图容器X中建立该为文本对象的软链接。例如,在视图容器X中建立容器A中的对象a. txt的软链接a. txt. link、对象c. txt的软链接c. txt. link和对象d. doc的软链接d. doc. link,以及容器B中的对象f. txt的软链接f. txt. link。如果容器A和容器B中对象的后缀名满足视频对象过滤条件的,则在云存储系统的内存中的视图容器Y中建立该为视频对象的软链接。例如,在视图容器Y中建立容器A中的对象b. avi的软链接b. avi. link、以及容器B中的对象g. mpg的软链接g. mpg. I ink和对象h. avi的软链接 h. avi. link。如图3所示,云存储系统的检索设备可以根据数据统计信息(例如最近一段时间内用户查询次数较多的对象数据)确定热点数据为a. txt、c. txt、b. avi和g. mpg。可以根据过滤条件将容器A中的对象a. txt和c. txt的数据加载到视图容器X中,对象b. avit的 数据加载到视图容器Y中,以及容器B中的对象g. mpg的数据加载到视图容器Y中。如果内存的占有率达到预设的门限时,可以不必将查询热度低的对象数据从数据库或文件系统加载到内存,即视图容器中可以不包括查询热度低的对象数据,例如,容器A中的对象d. doc的数据不需要加载到视图容器X中;或者,还可以在视图中建立查询热度较低的对象的软链接,例如,在视图容器X中建立容器B中的对象f. txt的软链接f. txt. link,在视图容器Y中建立容器B中的对象h. avi的软链接h. avi. link。进一步地,可以对视图中的对象列表项设置优先级,例如,根据数据的访问热度设置优先级,访问次数最多的对象列表项的优先级最高。由于在高并发下的云存储系统,当有大量用户对热点对象集合的查询时,采用现有的查询技术方案,每次都要重新组织检索条件,涉及到容器分别进行查询,且查询到的数据都需要从数据库或文件系统中读取,使得系统的磁盘和CPlXCentral Processing Unit,中央处理单元)都会超负荷,且造成重复查询,导致资源浪费。本发明的技术方案,通过检索在云存储系统的内存中建立的视图容器,能够通过对象的软链接直接从数据库或文件系统中获取用户查询的对象数据,从而提高系统运行的速率。如果用户查询的对象数据在视图中直接命中,也就是说,能够从云存储系统的内存中获取用户查询的对象数据,提高了系统运行的速率,并且可以减少数据库的访问压力,提高存储性能。可选地,作为另一个实施例,可以对视图的对象列表项进行更新,可以对视图的对象列表项进行修改或删除,或者在视图中添加对象列表项等。具体地,云存储系统的检索设备可以根据数据库或文件系统中的对象数据对视图的对象列表项进行更新;和/或根据数据统计信息对视图的对象列表进行更新。另外,视图的对象列表项的更新可以是适时更新或者周期性地更新(也称为“定时更新”)。例如,当数据库或文件系统中的对象数据更新时,存储资源管理系统通知云存储系统的检索设备。云存储系统的检索设备接收到存储资源管理系统发送的数据库或文件系统中的对象数据修改的信息时,将视图中相应的对象列表项的状态设置为脏。可以定期检查视图中的对象列表项的状态,如果视图中的对象列表项的状态为脏,则根据修改后的数据库或文件系统中的对象数据更新视图中的状态为脏的对象列表项。以图3为例进行说明,如果容器A中的对象c. txt的数据修改了,存储资源管理系统通知云存储系统的检索设备容器A中的对象c. txt的数据被修改的信息,云存储系统的检索设备可以将视图容器X中的c. txt的状态设置为脏。当定期检查视图中的对象列表项的状态,发现视图容器X中的c. txt的状态为脏时,云存储系统的检索设备可以对视图容器X中的c. txt进行全量刷新,即将容器A中的修改后的对象c. txt的全部数据加载到视图容器X中,当有完整的操作日志记录时,可以对视图容器X中的c. txt进行增量刷新,即只将容器A中的对象c. txt修改的数据加载到视图容器X中。下面结合图4的例子详细描述本发明云存储系统的更新视图的对象列表项的又一个实施例。图4的方法由云存储系统的检索设备执行。401,记录用户查询的对象数据的信息。无论用户查询的对象数据是否在视图中命中,记录用户查询的对象数据的信息。 402,维护数据统计信息。对记录的用户查询的对象数据的信息进行统计。例如,统计各个对象数据的查询次数,将查询次数较多的对象数据确定为热点数据。403,判断热点数据。根据数据统计信息进行判断,如果视图中存在不属于热点数据的对象列表项,则可以执行步骤404a。如果热点数据不在视图中,则可以将热点数据从数据库或文件系统中加载到云存储系统的内存中,可以先执行步骤404b。404a,删除对象列表项。以图3为例进行说明,如果视图容器X中的c. txt不是热点数据(例如最近一段时间内查询次数少,即访问热度低),则删除C. txt,即将c. txt从内存中移除。404b,判断云存储系统的内存是否空闲。如果云存储系统的内存有空闲,则可以直接执行步骤406,如果云存储系统的内存已满,即云存储系统的内存占有率达到门限,则可以先执行步骤405。405,进行内存LRU (Least Recently Used,最近最少被访问)算法调度。按照视图中的对象列表项的访问热度,删除访问热度低的对象列表项。以图3为例,如果云存储系统的内存已满,根据数据统计信息发现容器A中的对象d. doc的数据为热点数据,在视图容器X中C. txt为访问热度最低的对象列表项,则可以将c. txt从内存中移除。406,将热点数据从数据库或文件系统中加载到云存储系统的内存中。例如,将热点数据d. doc从容器A中加载到视图容器X中。应理解,上述例子仅仅是示例性的,而非要限制本发明的范围,还应注意的是,本发明实施例对更新视图的对象列表的方式不作限定。可选地,作为另一个实施例,在步骤103之后,云存储系统的检索设备可以将获取到的用户设备查询的对象数据发送给用户设备。因此,用户设备获取查询数据的速率提高了,从而提升用户体验。当然,本发明的技术方案还可以应用到其它云存储管理系统中,如基于目录管理的云存储系统,建立一个或多个虚拟的视图(称为“视图目录”),可以根据业务的需要使用视图目录进行分类检索。下面结合图5的例子详细描述本发明实施例。图5是本发明一个实施例的云存储系统的检索方法的过程的示意性流程图。在图5的方法中,为了帮助本领域技术人员更好地理解本发明实施例,还将结合图2进行描述,应理解,本发明实施例不限于此。501,用户设备向云存储系统的检索设备发送第二查询请求。502,云存储系统的检索设备向用户设备返回视图的各个对象列表项。以图2为例进行说明,在步骤501中用户设备发送的第二查询请求为查询文本对象的列表的请求。云存储系统的检索设备向用户设备返回视图容器X的各个对象列表项。 503,用户设备选择对象列表项。例如,用户设备在视图容器X的各个对象列表项中选择要查询的对象列表项是
a.txt. link,即用户设备要获取的对象数据是a. txt。应理解,用户设备可以选择一个或多个对象列表项,本发明实施例对此并不限定。504,用户设备向云存储系统的检索设备发送第一查询请求。例如,第一查询请求中可以携带对象列表项a. txt. link。505,云存储系统的检索设备查询相应的对象列表项。506,云存储系统的检索设备进行对象的软链接定向。507,存储资源管理系统从底层存储获取用户设备查询的对象数据。508,云存储系统的检索设备从存储资源管理系统获取用户设备查询的对象数据。509,云存储系统的检索设备将用户设备查询的对象数据发送给用户设备。例如,云存储系统的检索设备将用户设备的第一查询请求转发给存储资源管理系统,通过对象的软链接a. txt. link链接到数据库或文件系统中容器A的对象a. txt的数据。存储资源管理系统从底层存储获取到用户查询的对象数据a. txt,返回给云存储系统的检索设备,云存储系统的检索设备将a. txt发送给用户设备。通过上述方案,云存储系统的检索设备接收用户设备发送的第一查询请求后,在云存储系统的内存的视图中查找相应的对象列表项,视图与云存储系统的数据库或文件系统中的对象相对应,通过对象列表项获取用户设备查询的对象数据。因此,无需通过云存储资源管理系统从数据库或文件系统中的容器来分别进行查询,用户设备可以直接通过云存储系统的内存中的视图查询对象列表项,从而提高数据检索效率。图6是本发明一个实施例的云存储系统的检索设备的结构框图。图6的云存储系统的检索设备600包括接收单元601、查找单元602和获取单元603。接收单元601用于接收用户设备发送的第一查询请求。查找单元602用于根据接收单元601接收的第一查询请求在视图中查找相应的对象列表项,其中视图存储在云存储系统的内存中,且视图与云存储系统的数据库或文件系统中的对象相对应。获取单元603用于根据查找单元602查找到的相应的对象列表项获取用户设备查询的对象数据。通过上述方案,云存储系统的检索设备接收用户设备发送的第一查询请求后,在云存储系统的内存的视图中查找相应的对象列表项,视图与云存储系统的数据库或文件系统中的对象相对应,通过对象列表项获取用户设备查询的对象数据。因此,无需通过云存储资源管理系统从数据库或文件系统中的容器来分别进行查询,用户设备可以直接通过云存储系统的内存中的视图查询对象列表项,从而提高数据检索效率。云存储系统的检索设备600可实现图I至图5的实施例中涉及云存储系统的检索设备的操作,因此为避免重复,不再详细描述。可选的,作为一个实施例,设备600还可以包括建立单元604。建立单元604用于根据数据库或文件系统中的对象建立视图的对象列表项。进一步地,建立单元具体用于根据数据库或文件系统中的对象基于过滤条件或检索条件建立视图。因此,通过对视图的分类,当用户设备查询对象数据时能够缩小查找的范围,从而提高检索效率。在一种实现方式下,对象列表项为与数据库或文件系统中的对象的软链接,获取单元603具体用于根据对象的软链接在数据库或文件系统中获取用户设备查询的对象数据。进一步地,接收单元601还用于接收用户设备发送的第二查询请求。获取单元603还 用于根据第二查询请求将视图中的各个对象列表项发送给用户设备,以便用户设备根据视图中的各个对象列表项发送第一查询请求。在另一种实现方式下,对象列表项为对象数据,对象数据是从数据库或文件系统中加载到云存储系统的内存中的,获取单元603具体用于在云存储系统的内存中获取用户设备查询的对象数据。应理解,本发明实施例对对象列表项的内容形式并不限定。还应注意的是,视图中可以同时存在不同内容形式的对象列表项,如上述的对象的软链接和对象数据。可选地,建立单元604具体用于根据数据统计信息确定热点数据,根据数据库或文件系统中与热点数据对应的对象建立视图的对象列表项。可选地,作为另一个实施例,设备600还包括更新单元605,更新单元605用于对视图的对象列表项进行更新。进一步地,更新单元605具体用于根据数据库或文件系统中的对象数据对视图的对象列表项进行更新;和/或根据数据统计信息对视图的对象列表进行更新。例如,更新单元605具体用于当接收到存储资源管理系统发送的数据库或文件系统中的对象数据修改的信息时,将视图中相应的对象列表项的状态设置为脏,定期检查视图中的对象列表项的状态,如果视图中的对象列表项的状态为脏,则根据修改后的数据库或文件系统中的对象数据更新视图中的状态为脏的对象列表项。可选地,作为另一个实施例,获取单元603还用于将用户设备查询的对象数据发送给用户设备。因此,用户设备获取查询数据的速率提高了,从而提升用户体验。当然,本发明的技术方案还可以应用到其它云存储管理系统中,如基于目录管理的云存储系统,建立一个或多个虚拟的视图(称为“视图目录”),可以根据业务的需要使用视图目录进行分类检索。本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。图7示出了一种设备的实施例,在该实施例中,设备700包括处理器701,存储器702,发射器703和接收器704。处理器701控制设备700的操作,处理器701还可以称为CPU。存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器702的一部分还可以包括非易失行随机存取存储器(NVRAM)。处理器701,存储器702,发射器703和接收器704通过总线系统710耦合在一起,其中总线系统710除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统710。上述本发明实施例揭示的方法可以应用上述的设备700。其中,处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。进一步地,图8是本发明一个实施例的云存储系统的检索设备的结构框图。图8的云存储系统的检索设备800包括接收器801和处理器802。接收器801用于接收用户设备发送的第一查询请求。处理器802用于根据接收器801接收的第一查询请求在视图中查找相应的对象列表项,其中视图存储在云存储系统的内存中,且视图与云存储系统的数据库或文件系统中的对象相对应;用于根据查找到的相应的对象列表项获取用户设备查询的对象数据。通过上述方案,云存储系统的检索设备接收用户设备发送的第一查询请求后,在云存储系统的内存的视图中查找相应的对象列表项,通过对象列表项获取用户设备查询的对象数据。因此,无需通过云存储资源管理系统从数据库或文件系统中的容器来分别进行查询,用户设备可以直接通过云存储系统的内存中的视图查询对象列表项,从而提高数据检索效率。云存储系统的检索设备800可实现图I至图5的实施例中涉及云存储系统的检索设备的操作,因此为避免重复,不再详细描述。可选的,作为一个实施例,处理器802还用于根据数据库或文件系统中的对象建立视图的对象列表项。进一步地,处理器802具体用于根据数据库或文件系统中的对象基于过滤条件或检索条件建立视图。因此,通过对视图的分类,当用户设备查询对象数据时能够缩小查找的范围,从而提高检索效率。在一种实现方式下,对象列表项为与数据库或文件系统中的对象的软链接,处理器802具体用于根据对象的软链接在数据库或文件系统中获取用户设备查询的对象数据。进一步地,接收器801还用于接收用户设备发送的第二查询请求。处理器802还用于根据第二查询请求将视图中的各个对象列表项发送给用户设备,以便用户设备根据视图中的各个对象列表项发送第一查询请求。在另一种实现方式下,对象列表项为对象数据,对象数据是从数据库或文件系统中加载到云存储系统的内存中的,处理器802具体用于在云存储系统的内存中获取用户设备查询的对象数据。应理解,本发明实施例对对象列表项的内容形式并不限定。还应注意的是,视图中可以同时存在不同内容形式的对象列表项,如上述的对象的软链接和对象数据。可选地,处理器802具体用于根据数据统计信息确定热点数据,根据数据库或文件系统中与热点数据对应的对象建立视图的对象列表项。可选地,作为另一个实施例,处理器802还用于对视图的对象列表项进行更新。进一步地,处理器802具体用于根据数据库或文件系统中的对象数据对视图的对象列表项进行更新;和/或根据数据统计信息对视图的对象列表进行更新。例如,处理器802具体用于当接收到存储资源管理系统发送的数据库或文件系统中的对象数据修改的信息时,将视图·中相应的对象列表项的状态设置为脏,定期检查视图中的对象列表项的状态,如果视图中的对象列表项的状态为脏,则根据修改后的数据库或文件系统中的对象数据更新视图中的状态为脏的对象列表项。可选地,作为另一个实施例,设备800还包括发射器803,发射器803用于将用户设备查询的对象数据发送给用户设备。因此,用户设备获取查询数据的速率提高了,从而提升用户体验。当然,本发明的技术方案还可以应用到其它云存储管理系统中,如基于目录管理的云存储系统,建立一个或多个虚拟的视图(称为“视图目录”),可以根据业务的需要使用视图目录进行分类检索。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出 本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
权利要求
1.一种云存储系统的检索方法,其特征在于,包括 接收用户设备发送的第一查询请求; 根据所述第一查询请求在视图中查找相应的对象列表项,其中所述视图存储在云存储系统的内存中,且所述视图与云存储系统的数据库或文件系统中的对象相对应; 根据查找到的所述相应的对象列表项获取所述用户设备查询的对象数据。
2.根据权利要求I所述的方法,其特征在于,在所述接收用户设备发送的第一查询请求之前,所述方法还包括 根据所述数据库或文件系统中的对象建立所述视图的对象列表项。
3.根据权利要求2所述的方法,其特征在于,所述根据数据库或文件系统中的对象建立所述视图的对象列表项,包括 根据所述数据库或文件系统中的对象,基于过滤条件或检索条件建立所述视图。
4.根据权利要求2或3所述的方法,其特征在于,所述对象列表项为与所述数据库或文件系统中的对象的软链接; 所述根据所述对象列表项获取所述用户设备查询的对象数据,包括 根据所述对象的软链接在所述数据库或文件系统中获取所述用户设备查询的对象数据。
5.根据权利要求4所述的方法,其特征在于,在所述接收用户设备发送的第一查询请求之前,所述方法还包括 接收用户设备发送的第二查询请求; 根据所述第二查询请求将所述视图中的各个对象列表项发送给所述用户设备,以便所述用户设备根据所述视图中的各个对象列表项发送所述第一查询请求。
6.根据权利要求2或3所述的方法,其特征在于,所述对象列表项为从所述数据库或文件系统中加载到所述云存储系统的内存中的对象数据; 所述根据所述对象列表项获取所述用户设备查询的对象数据,包括 在所述云存储系统的内存中获取所述用户设备查询的对象数据。
7.根据权利要求2-6任一项所述的方法,其特征在于,所述根据数据库或文件系统中的对象建立所述视图的对象列表项,包括 根据数据统计信息确定热点数据,根据所述数据库或文件系统中与所述热点数据对应的对象建立所述视图的对象列表项。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括 根据数据库或文件系统中的对象数据对所述视图的对象列表项进行更新;和/或 根据数据统计信息对所述视图的对象列表进行更新。
9.根据权利要求8所述的方法,其特征在于,所述根据数据库或文件系统中的对象数据对所述视图的对象列表项进行更新,包括 当接收到存储资源管理系统发送的所述数据库或文件系统中的对象数据修改的信息时,将所述视图中相应的对象列表项的状态设置为脏; 定期检查所述视图中的对象列表项的状态,如果所述视图中的对象列表项的状态为脏,则根据修改后的所述数据库或文件系统中的对象数据更新所述视图中的状态为脏的对象列表项。
10.一种云存储系统的检索设备,其特征在于,包括 接收单元,用于接收用户设备发送的第一查询请求; 查找单元,用于根据所述接收单元接收的第一查询请求在视图中查找相应的对象列表项,其中所述视图存储在云存储系统的内存中,且所述视图与云存储系统的数据库或文件系统中的对象相对应; 获取单元,用于根据所述查找单元查找到的所述相应的对象列表项获取所述用户设备查询的对象数据。
11.根据权利要求10所述的设备,其特征在于,所述设备还包括 建立单元,用于根据数据库或文件系统中的对象建立所述视图的对象列表项。
12.根据权利要求11所述的设备,其特征在于,所述建立单元具体用于 根据所述数据库或文件系统中的对象,基于过滤条件或检索条件建立所述视图。
13.根据权利要求11或12所述的设备,其特征在于,所述对象列表项为与所述数据库或文件系统中的对象的软链接;所述获取单元具体用于 根据所述对象的软链接在所述数据库或文件系统中获取所述用户设备查询的对象数据。
14.根据权利要求13所述的设备,其特征在于, 所述接收单元还用于接收用户设备发送的第二查询请求; 所述获取单元还用于根据所述第二查询请求将所述视图中的各个对象列表项发送给所述用户设备,以便所述用户设备根据所述视图中的各个对象列表项发送所述第一查询请求。
15.根据权利要求11或12所述的设备,其特征在于,所述对象列表项为从所述数据库或文件系统中加载到所述云存储系统的内存中的对象数据;所述获取单元具体用于 在所述云存储系统的内存中获取所述用户设备查询的对象数据。
16.根据权利要求11-15任一项所述的设备,其特征在于,所述建立单元具体用于 根据数据统计信息确定热点数据,根据所述数据库或文件系统中与所述热点数据对应的对象建立所述视图的对象列表项。
17.根据权利要求11-16所述的设备,其特征在于,所述设备还包括 更新单元,用于根据数据库或文件系统中的对象数据对所述视图的对象列表项进行更新;和/或 用于根据数据统计信息对所述视图的对象列表进行更新。
18.根据权利要求17所述的设备,其特征在于,所述更新单元具体用于 当接收到存储资源管理系统发送的所述数据库或文件系统中的对象数据修改的信息时,将所述视图中相应的对象列表项的状态设置为脏; 定期检查所述视图中的对象列表项的状态,如果所述视图中的对象列表项的状态为脏,则根据修改后的所述数据库或文件系统中的对象数据更新所述视图中的状态为脏的对象列表项。
全文摘要
本发明实施例提供一种云存储系统的检索方法。该方法包括接收用户设备发送的第一查询请求;根据所述第一查询请求在视图中查找相应的对象列表项,其中所述视图存储在云存储系统的内存中,且所述视图与云存储系统的数据库或文件系统中的对象相对应;根据查找到的所述相应的对象列表项获取所述用户设备查询的对象数据。因此,无需通过云存储资源管理系统从数据库或文件系统中的容器来分别进行查询,用户设备可以直接通过云存储系统的内存中的视图查询对象列表项,从而提高数据检索效率。
文档编号G06F17/30GK102930056SQ201210475250
公开日2013年2月13日 申请日期2012年11月21日 优先权日2012年11月21日
发明者廖昌阊 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1