CN111324799B - 搜索请求的处理方法及装置 - Google Patents
搜索请求的处理方法及装置 Download PDFInfo
- Publication number
- CN111324799B CN111324799B CN202010080733.6A CN202010080733A CN111324799B CN 111324799 B CN111324799 B CN 111324799B CN 202010080733 A CN202010080733 A CN 202010080733A CN 111324799 B CN111324799 B CN 111324799B
- Authority
- CN
- China
- Prior art keywords
- search
- search request
- bucket
- request
- type
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种搜索请求的处理方法及装置。其中,该方法包括:接收搜索用户的搜索请求;通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收服务器基于上述搜索请求的访问权限,而返回到查询结果。本发明解决了现有技术中存在基于搜索请求来访问数据的过程中,无法灵活控制搜索范围和内容的技术问题。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种搜索请求的处理方法及装置。
背景技术
在本技术领域中,对象存储以灵活的访问形式和高可扩展性,得到了越来越多的应用。在提供存储能力的同时,可以通过搭配搜索引擎(例如,Elasticsearch)对存储数据的元数据提供检索能力。但是,通常搜索引擎可以独立访问,导致每个用户的元数据可以被任意用户访问,造成数据泄露。
因而,现有技术中存在基于搜索请求来访问数据的过程中,无法灵活控制搜索范围和内容的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种搜索请求的处理方法及装置,以至少解决现有技术中存在基于搜索请求来访问数据的过程中,无法灵活控制搜索范围和内容的技术问题。
根据本发明实施例的一个方面,提供了一种搜索请求的处理方法,包括:接收搜索用户的搜索请求;通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收服务器基于上述搜索请求的访问权限,而返回到查询结果。
可选地,基于上述搜索请求的类型,确定上述搜索请求的访问权限,包括:如果上述搜索请求的类型为上述全局搜索,上述搜索请求的访问权限为:上述搜索请求指向的数据和共享数据。
可选地,在确认上述搜索请求的类型之后,上述方法还包括:在类型为上述全局搜索的搜索请求中添加权限过滤字段,其中,上述权限过滤字段用于表征后续搜索过程中隔离的数据域。
可选地,基于上述搜索请求的类型,确定上述搜索请求的访问权限,包括:如果上述搜索请求的类型为上述指定桶搜索,识别上述指定桶的桶名;基于上述指定桶的桶名,获取上述搜索用户的权限配置;根据上述权限配置判断上述搜索用户是否具有访问上述指定桶的搜索权限;如果拥有上述搜索权限,上述搜索请求的访问权限为上述指定桶内的所有数据。
可选地,在接收服务器基于上述搜索请求的访问权限,而返回到查询结果之前,上述方法还包括:如果上述搜索请求的类型为上述全局搜索,确定搜索字段类型为字符串;如果上述搜索请求的类型为上述指定桶搜索,读取桶的桶权限,并在上述搜索请求的字段匹配中添加上述桶权限。
可选地,在接收服务器基于上述搜索请求的访问权限,而返回到查询结果之前,上述方法还包括:上述服务器接收上述搜索请求;上述服务器根据上述搜索请求中的搜索权限字段,确定访问范围;上述服务器根据上述搜索请求的搜索类型访问指定的索引,并根据上述访问范围得到查询结果;上述服务器返回上述查询结果。
可选地,在上述服务器接收上述搜索请求之前,上述方法还包括:将前序已经处理完的搜索请求根据上述搜索用户的权重放入转发权重队列中;转发进程判断当前未返回搜索结果的搜索请求是否超过限额;如果超过,则等待;如果不超过,则从上述权重队列中取出上述搜索请求,并转发给上述服务器。
可选地,在接收搜索用户的搜索请求之后,上述方法还包括:识别上述搜索请求,获取上述搜索请求中的签名字段;基于上述签名字段进行验证;如果验证成功,认证上述搜索请求为合法请求;如果验证失败,则认证上述搜索请求为非法请求,并直接拒绝上述搜索请求。
可选地,在接收搜索用户的搜索请求之前,上述方法还包括:在上述服务器中存储元数据,并构建上述元数据的搜索索引,其中,上述元数据包括:基础元数据、扩展元数据和权限数据,上述基础元数据包括对象名、桶名、大小,上述扩展元数据包括自定义元数据和对象标签数据,上述权限数据包括允许访问对象的用户和共享了搜索权限的用户名。
可选地,在接收搜索用户的搜索请求之前,上述方法还包括:配置不同用户的搜索可见域,其中,上述搜索可见域为不同用户拥有的桶数据,其中,通过目标应用程序接口API设置桶的桶权限,上述桶权限包括如下至少之一:桶数据仅对应的用户可见、桶数据的全部数据共享给其他用户、共享部分桶数据给其他用户;和/或配置单个对象的对象权限,上述对象权限包括如下至少之一:对象的元数据仅对用的用户可见、对象的元数据部分用户可见、对象的元数据共享给全部用户可见。
根据本发明实施例的另一方面,还提供了一种搜索请求的处理装置,包括:接收模块,用于接收搜索用户的搜索请求;确认模块,用于通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;确定模块,用于基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收模块,用于接收服务器基于上述搜索请求的访问权限,而返回到查询结果。
根据本发明实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述搜索请求的处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行任意一项上述搜索请求的处理方法。
在本发明实施例中,通过接收搜索用户的搜索请求;通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收服务器基于上述搜索请求的访问权限,而返回到查询结果,达到了在基于搜索请求来访问数据的过程中,灵活控制搜索范围和内容的目的,从而实现了避免访问数据的泄露和篡改的技术效果,进而解决了现有技术中存在基于搜索请求来访问数据的过程中,无法灵活控制搜索范围和内容技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种搜索请求的处理方法的流程图;
图2是根据本发明实施例的一种可选的搜索请求的处理方法的流程图;
图3是根据本发明实施例的一种搜索请求的处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种搜索请求的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种搜索请求的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收搜索用户的搜索请求;
步骤S104,通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;
步骤S106,基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;
步骤S108,接收服务器基于上述搜索请求的访问权限,而返回到查询结果。
在本发明实施例中,通过接收搜索用户的搜索请求;通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收服务器基于上述搜索请求的访问权限,而返回到查询结果,达到了在基于搜索请求来访问数据的过程中,灵活控制搜索范围和内容的目的,从而实现了避免访问数据的泄露和篡改的技术效果,进而解决了现有技术中存在基于搜索请求来访问数据的过程中,无法灵活控制搜索范围和内容技术问题。
可选的,上述搜索请求为客户端发送的基于对象存储构建的搜索请求,用于请求访问对象元数据和扩展元数据,该搜求请求的类型包括:全局搜索和指定桶搜索。
在本申请实施例中,基于对象存储构建的搜索服务,是将每个对象元数据包括的桶名、对象名、用户名、对象基本元数据和扩展元数据存储到外部搜索引擎中,由外部搜索引擎构建索引并提供搜索服务,进而可以通过搜索请求访问对象存储数据。
在本申请实施例中,结合对象存储已有的权限管理方式,通过控制搜索服务的入口,来实现对搜索请求的权限管理与访问控制。
并且,由于对象存储以桶为单位管理和配置数据,每个用户可以创建一个或多个桶资源。目前对象存储主要通过S3协议访问,其中,S3协议是一种RESTful请求协议,集成了访问鉴权、访问控制策略(Policy)功能。在默认的情况下,所有资源都是私有的,只有资源拥有者可以访问拥有的资源,但可以通过配置访问策略,可以将用户某个桶的数据共享特定权限给到其他用户。
本申请实施例中的执行主体可以为搜索服务应用程序接口API(以下简称API或搜索API),可选的,可以通过API中的搜索请求处理模块判断并处理搜索可见域,包括:桶级别的权限和对象级别的权限。在本申请实施例中,通过识别搜索请求,根据该搜索请求中是否存在桶名,确定该搜索请求的类型为全局搜索或指定桶搜索。
在一种可选的实施例中,在该类型为全局搜索的情况下,则确定该搜索请求的可见域为自己拥有的数据和指定了对象级别共享的数据,因而,需要在搜索请求中添加用户id的权限过滤字段,由于该权限过滤字段用于表征后续搜索过程中隔离的数据域,进而在后续搜索过程中,搜索客户端可以根据该权限过滤字段,自动过滤掉不满足条件的数据,即隔离的数据域。
在一种可选的实施例中,在该类型为指定桶搜索的情况下,根据识别的桶名,读取上述搜索用户的权限配置,并根据权限配置判断搜索用户是否具有访问上述指定桶的搜索权限,如果没有搜索权限,则直接返回用户没有权限的错误指示信息;如果拥有搜索权限,则用户搜索请求的可见域为该桶内的所有数据,进而可以直接将该搜索请求进行下一步处理。
基于本申请实施例所提供的搜索请求的处理方法实施例,可以解决对象存储服务提供搜索服务时,搜索服务接口API可以继承对象存储权限体系,灵活管理用户的搜索范围以及搜索内容,最终提供和搜索数据部分一致的访问方法。
需要说明的是,本申请实施例中的搜索操作只允许用户搜索,不允许用户篡改搜索数据;并且通过分配的搜索权限,每个用户的搜索数据视图和存储保持一致,确保元数据不会泄露;同时支持对象级别权限和桶级别权限;搜索继承权限控制,在存储端赋予权限后,实现可控的跨用户搜索,统一用户搜索的操作体验;根据预定义类型在搜索端构建多份索引,可以灵活控制数据搜索类型且无需重建搜索内容。
需要说明的是,在本申请实施例中,可以通过API中的搜索字段控制模块,实现桶级别的搜索字段配置,例如,管理员可以通过API设置同级别的搜索请求的字段名和搜索请求的类型。
在一种可选的实施例中,基于上述搜索请求的类型,确定上述搜索请求的访问权限,包括:如果上述搜索请求的类型为上述全局搜索,上述搜索请求的访问权限为:上述搜索请求指向的数据和共享数据。
在一种可选的实施例中,在确认上述搜索请求的类型之后,上述方法还包括:在类型为上述全局搜索的搜索请求中添加权限过滤字段,其中,上述权限过滤字段用于表征后续搜索过程中隔离的数据域。
在一种可选的实施例中,在该类型为全局搜索的情况下,则确定该搜索请求的可见域为自己拥有的数据和指定了对象级别共享的数据,因而,需要在搜索请求中添加用户id的权限过滤字段,由于该权限过滤字段用于表征后续搜索过程中隔离的数据域,进而在后续搜索过程中,搜索客户端可以根据该权限过滤字段,自动过滤掉不满足条件的数据,即隔离的数据域。
在一种可选的实施例中,基于上述搜索请求的类型,确定上述搜索请求的访问权限,包括:
步骤S202,如果上述搜索请求的类型为上述指定桶搜索,识别上述指定桶的桶名;
步骤S204,基于上述指定桶的桶名,获取上述搜索用户的权限配置;
步骤S206,根据上述权限配置判断上述搜索用户是否具有访问上述指定桶的搜索权限;
步骤S208,如果拥有上述搜索权限,上述搜索请求的访问权限为上述指定桶内的所有数据。
在一种可选的实施例中,在该类型为指定桶搜索的情况下,可以根据识别到的桶名,读取上述搜索用户的权限配置,并根据权限配置判断搜索用户是否具有访问上述指定桶的搜索权限,如果没有搜索权限,则直接返回用户没有权限的错误指示信息;如果拥有搜索权限,则用户搜索请求的可见域为该桶内的所有数据,进而可以直接将该搜索请求进行下一步处理。
在一种可选的实施例中,在接收服务器基于上述搜索请求的访问权限,而返回到查询结果之前,上述方法还包括:
步骤S302,如果上述搜索请求的类型为上述全局搜索,确定搜索字段类型为字符串;
步骤S304,如果上述搜索请求的类型为上述指定桶搜索,读取桶的桶权限,并在上述搜索请求的字段匹配中添加上述桶权限。
可选的,上述搜索请求的类型分为全局搜索和指定桶搜索,在本申请实施例中,若通过识别上述搜索请求中是否存在桶名,确定该搜索请求的类型为全局搜索,则确定搜索请求中的搜索字段类型为字符串,可以按照默认的字符串类型匹配;若通过识别上述搜索请求中是否存在桶名,确定该搜索请求的类型为指定桶搜索,则可以根据桶名识别搜索请求的字段并修改搜索请求,例如,搜索请求的字段匹配中添加上述桶权限,以根据配置类型进行搜索。
在一种可选的实施例中,在接收服务器基于上述搜索请求的访问权限,而返回到查询结果之前,上述方法还包括:
步骤S402,上述服务器接收上述搜索请求;
步骤S404,上述服务器根据上述搜索请求中的搜索权限字段,确定访问范围;
步骤S206,上述服务器根据上述搜索请求的搜索类型访问指定的索引,并根据上述访问范围得到查询结果;
步骤S208,上述服务器返回上述查询结果。
可选的,在本申请实施例中,可以通过API中的转发组件,实现转发客户端发送的搜索请求至服务器(即,搜索服务器),在服务器接收到上述搜索请求之后,可以根据该搜索请求中的搜索权限字段,确定该客户端的访问范围,根据上述搜索请求的搜索类型访问指定的索引,并根据上述访问范围得到查询结果,以在查询结果之后返回上述查询结果至转发组件,并由转发组件将该查询结果转发至客户端。
在一种可选的实施例中,在上述服务器接收上述搜索请求之前,上述方法还包括:
步骤S502,将前序已经处理完的搜索请求根据上述搜索用户的权重放入转发权重队列中;
步骤S504,转发进程判断当前未返回搜索结果的搜索请求是否超过限额;
步骤S506,如果超过,则等待;
步骤S508,如果不超过,则从上述权重队列中取出上述搜索请求,并转发给上述服务器。
可选的,在本申请实施例中,上述转发组件还可以负责实现客户端的访问流量控制,转发组件可以根据配置的搜索用户的权重,将前序组件(例如,搜索请求处理模块、搜索字段控制模块等)处理过的搜索请求放入转发权重队列中,等待转发处理。
并且,转发进程在执行转发处理前,判断当前未返回搜索结果的搜索请求是否超过限额,如果不超过,则从上述权重队列中取出上述搜索请求,并转发给上述服务器,在搜索请求异步返回后,将搜索结果返回给对应的客户端。
在一种可选的实施例中,在接收搜索用户的搜索请求之后,上述方法还包括:
步骤S602,识别上述搜索请求,获取上述搜索请求中的签名字段;
步骤S604,基于上述签名字段进行验证;
步骤S606,如果验证成功,认证上述搜索请求为合法请求;
步骤S608,如果验证失败,则认证上述搜索请求为非法请求,并直接拒绝上述搜索请求。
可选的,在本申请实施例中,在接收搜索用户的搜索请求之后,通过识别搜索请求获取该搜索请求中的签名字段,并基于该签名字段验证搜索请求的合法性,如果验证成功则认证上述搜索请求为合法请求;如果验证失败,则认证上述搜索请求为非法请求,并直接拒绝上述搜索请求。
在一种可选的实施例中,在接收搜索用户的搜索请求之前,上述方法还包括:
步骤S702,在上述服务器中存储元数据,并构建上述元数据的搜索索引。
其中,上述元数据包括:基础元数据、扩展元数据和权限数据,上述基础元数据包括对象名、桶名、大小,上述扩展元数据包括自定义元数据和对象标签数据,上述权限数据包括允许访问对象的用户和共享了搜索权限的用户名。
在本申请实施例中,用户在上传数据时,对象存储同步向搜索服务器中存储一份元数据,搜索服务器对该元数据构建索引,可选的,上述元数据包括基础元数据、扩展元数据和对象级别权限数据,基础元数据包括:对象名、桶名、大小等基础属性,扩展元数据包括:用户自定义元数据和对象标签数据,对象级别权限数据包括:允许访问对象的用户和共享了搜索权限的用户名。
需要说明的是,上述步骤S702构建元数据的搜索索引,是后续进行搜索请求处理的前置条件,由存储端随着元数据的上传自动完成构建元数据的搜索索引。
在本申请实施例中,在接收搜索用户的搜索请求之前,首先准备搜索数据,在存储端同步数据到搜索服务器时,除了对象元数据,还可以将数据的桶名和用户名作为关键字段存储在搜索文档中,且将存储服务中的权限策略中授权了访问权限的用户名,一起保存在搜索文档的权限字段中。
进而,通过本申请实施例中提供的方法,通过存储管理界面或者相关API,管理员可以配置不同用户对其他用户桶资源的访问权限,实现跨用户的资源搜索。
在一种可选的实施例中,在接收搜索用户的搜索请求之前,上述方法还包括:
步骤S802,配置不同用户的搜索可见域,其中,上述搜索可见域为不同用户拥有的桶数据,其中,通过目标应用程序接口API设置桶的桶权限,上述桶权限包括如下至少之一:桶数据仅对应的用户可见、桶数据的全部数据共享给其他用户、共享部分桶数据给其他用户;和/或
步骤S804,配置单个对象的对象权限,上述对象权限包括如下至少之一:对象的元数据仅对用的用户可见、对象的元数据部分用户可见、对象的元数据共享给全部用户可见。
可选的,在本申请一种实施例中,API中的用户权限配置模块负责桶级别的权限和对象级别的权限管理,例如,配置不同用户的搜索可见域,其中,搜索可见域为不同用户拥有的桶数据,其他用户的数据在通过访问控制模块管理后将不可见。用户可以通过API设置桶的权限分配,将自己桶的全部数据共享给其他用户,或者根据前缀、标签等条件共享部分数据给其他用户,拥有权限的其他用户在搜索共享数据时,则可以通过API中的访问控制模块的检验。
可选的,在本申请另一种实施例中,允许用户共享特定的单个对象,用户在上传对象时需要带上共享用户名,共享用户和拥有者将会一起写入元数据文档的对象权限中,也可以在上传对象后,通过修改对象的权限数据来修改对象元数据文档的权限。需要说明的是,此类对象元数据文档的对象权限部分拥有多个用户,对象会对列表中的用户始终搜索可见。
可选的,上述对象元数据文档会记录对象级别的权限配置,通过权限配置得到一个可见用户的权限列表,结合搜索服务器的过滤条件中的指定权限实现用户可见域的控制。
为理解本申请实施例所提供的搜索请求的处理方法,图2是根据本发明实施例的一种可选的搜索请求的处理方法的流程图,如图2所示,以下通过一个可选的搜索请求的处理过程为例,对本申请所提供的搜索请求的处理方法进行示意说明:
步骤S1:API(即搜索服务应用程序接口、搜索服务接口)对接收到来自客户端的搜索请求进行权限判断;
可选的,本申请实施例中的存储集群接收客户端发送的搜索请求,通过API搜索服务接口识别该请求为搜索请求,则获取搜索请求中签名字段,并基于该签名字段验证搜索请求的合法性,即进行权限鉴定;如果验证成功则认证上述搜索请求为合法请求;如果验证失败,则认证上述搜索请求为非法请求,并直接拒绝上述搜索请求。
步骤S2:API通过解析该搜索请求判断该搜索请求对数据的访问权限;
在权限认证验证成功后,API通过识别搜索请求内容获取搜索的桶名,确认搜索请求的类型为全局搜索或指定桶搜索。如果是全局搜索,则在搜索请求中添加用户名的过滤字段;如果是指定桶搜索,则读取桶的配置权限,查看搜索用户是否拥有该桶的搜索权限,如果没有,则直接拒绝该搜索请求;如果有权限,则搜索请求的权限认证通过。
步骤S3:API基于上述搜索请求的类型,对搜索请求进行搜索字段处理;
根据上述步骤S2的判断结果处理该搜索请求的搜索字段,如果是全局搜索,则所有搜索字段类型为字符串字段;如果是指定桶搜索,则读取桶的预定义字段类型,并在搜索请求的字段匹配中添加类型限定,例如,添加桶权限。
步骤S4:API转发搜索请求至搜索服务器;
将前序步骤处理完的搜索请求根据用户的权重放入转发权重队列中,转发进程首先判断当前未返回请求是否超过限额,如果超过则等待;如果不超过,则从转发队列中取出该搜索请求,然后转发至搜索服务器进行处理。
步骤S5:搜索服务器处理接收到的搜索请求并返回查询结果。
搜索服务器接受上述搜索请求,根据搜索请求中的搜索权限字段判断过滤搜索请求的访问范围;并根据搜索请求的类型访问指定的索引,确定与搜索请求对应的查询内容,且返回查询结果至API。
步骤S6:API将该查询结果返回至对应的客户端。
在上述步骤S6中,API等待搜索服务器返回的查询结果,并将该查询结果返回至对应的客户端。
实施例2
根据本发明实施例,还提供了一种用于实施上述搜索请求的处理方法的装置实施例,图3是根据本发明实施例的一种搜索请求的处理装置的结构示意图,如图3所示,上述搜索请求的处理装置,包括:接收模块30、确认模块32、确定模块34和接收模块36,其中:
接收模块30,用于接收搜索用户的搜索请求;确认模块32,用于通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;确定模块34,用于基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收模块36,用于接收服务器基于上述搜索请求的访问权限,而返回到查询结果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述接收模块30、确认模块32、确定模块34和接收模块36对应于实施例1中的步骤S102至步骤S108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
上述的搜索请求的处理装置还可以包括处理器和存储器,上述接收模块40、确认模块42、确定模块44和接收模块46等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本申请实施例,还提供了一种存储介质实施例。可选地,在本实施例中,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行上述任意一种搜索请求的处理方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述存储介质包括存储的程序。
可选地,在程序运行时控制存储介质所在设备执行以下功能:接收搜索用户的搜索请求;通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收服务器基于上述搜索请求的访问权限,而返回到查询结果。
根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种搜索请求的处理方法。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收搜索用户的搜索请求;通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收服务器基于上述搜索请求的访问权限,而返回到查询结果。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收搜索用户的搜索请求;通过识别上述搜索请求中是否存在桶名,确认上述搜索请求的类型,其中,上述类型包括:全局搜索和指定桶搜索;基于上述搜索请求的类型,确定上述搜索请求的访问权限,其中,上述访问权限用于确定搜索范围;接收服务器基于上述搜索请求的访问权限,而返回到查询结果。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,ReXCTHd-Only Memory)、随机存取存储器(RXCTHM,RXCTHndom XCTHccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种搜索请求的处理方法,其特征在于,包括:
接收搜索用户的搜索请求;
通过识别所述搜索请求中是否存在桶名,确认所述搜索请求的类型,其中,所述类型包括:全局搜索和指定桶搜索;
基于所述搜索请求的类型,确定所述搜索请求的访问权限,其中,所述访问权限用于确定搜索范围;
接收服务器基于所述搜索请求的访问权限,而返回到查询结果;
其中,在接收服务器基于所述搜索请求的访问权限,而返回到查询结果之前,所述方法还包括:
所述服务器接收所述搜索请求;所述服务器根据所述搜索请求中的搜索权限字段,确定访问范围;所述服务器根据所述搜索请求的搜索类型访问指定的索引,并根据所述访问范围得到查询结果;所述服务器返回所述查询结果;
其中,在所述服务器接收所述搜索请求之前,所述方法还包括:
将前序已经处理完的搜索请求根据所述搜索用户的权重放入转发权重队列中;转发进程判断当前未返回搜索结果的搜索请求是否超过限额;如果超过,则等待;如果不超过,则从所述权重队列中取出所述搜索请求,并转发给所述服务器。
2.根据权利要求1所述的方法,其特征在于,基于所述搜索请求的类型,确定所述搜索请求的访问权限,包括:
如果所述搜索请求的类型为所述全局搜索,所述搜索请求的访问权限为:所述搜索请求指向的数据和共享数据。
3.根据权利要求2所述的方法,其特征在于,在确认所述搜索请求的类型之后,所述方法还包括:在类型为所述全局搜索的搜索请求中添加权限过滤字段,其中,所述权限过滤字段用于表征后续搜索过程中隔离的数据域。
4.根据权利要求1所述的方法,其特征在于,基于所述搜索请求的类型,确定所述搜索请求的访问权限,包括:
如果所述搜索请求的类型为所述指定桶搜索,识别所述指定桶的桶名;
基于所述指定桶的桶名,获取所述搜索用户的权限配置;
根据所述权限配置判断所述搜索用户是否具有访问所述指定桶的搜索权限;
如果拥有所述搜索权限,所述搜索请求的访问权限为所述指定桶内的所有数据。
5.根据权利要求1所述的方法,其特征在于,在接收服务器基于所述搜索请求的访问权限,而返回到查询结果之前,所述方法还包括:
如果所述搜索请求的类型为所述全局搜索,确定搜索字段类型为字符串;
如果所述搜索请求的类型为所述指定桶搜索,读取桶的桶权限,并在所述搜索请求的字段匹配中添加所述桶权限。
6.根据权利要求1所述的方法,其特征在于,在接收搜索用户的搜索请求之后,所述方法还包括:
识别所述搜索请求,获取所述搜索请求中的签名字段;
基于所述签名字段进行验证;
如果验证成功,认证所述搜索请求为合法请求;
如果验证失败,则认证所述搜索请求为非法请求,并直接拒绝所述搜索请求。
7.根据权利要求1所述的方法,其特征在于,在接收搜索用户的搜索请求之前,所述方法还包括:
在所述服务器中存储元数据,并构建所述元数据的搜索索引,其中,所述元数据包括:基础元数据、扩展元数据和权限数据,所述基础元数据包括对象名、桶名、大小,所述扩展元数据包括自定义元数据和对象标签数据,所述权限数据包括允许访问对象的用户和共享了搜索权限的用户名。
8.根据权利要求7所述的方法,其特征在于,在接收搜索用户的搜索请求之前,所述方法还包括:
配置不同用户的搜索可见域,其中,所述搜索可见域为不同用户拥有的桶数据,其中,通过目标应用程序接口API设置桶的桶权限,所述桶权限包括如下至少之一:桶数据仅对应的用户可见、桶数据的全部数据共享给其他用户、共享部分桶数据给其他用户;和/或
配置单个对象的对象权限,所述对象权限包括如下至少之一:对象的元数据仅对用的用户可见、对象的元数据部分用户可见、对象的元数据共享给全部用户可见。
9.一种搜索请求的处理装置,其特征在于,包括:
接收模块,用于接收搜索用户的搜索请求;
确认模块,用于通过识别所述搜索请求中是否存在桶名,确认所述搜索请求的类型,其中,所述类型包括:全局搜索和指定桶搜索;
确定模块,用于基于所述搜索请求的类型,确定所述搜索请求的访问权限,其中,所述访问权限用于确定搜索范围;
接收模块,用于接收服务器基于所述搜索请求的访问权限,而返回到查询结果;
其中,在接收服务器基于所述搜索请求的访问权限,而返回到查询结果之前,所述装置还用于:通过所述服务器接收所述搜索请求;根据所述搜索请求中的搜索权限字段,确定访问范围;根据所述搜索请求的搜索类型访问指定的索引,并根据所述访问范围得到查询结果;返回所述查询结果;
其中,在所述服务器接收所述搜索请求之前,所述装置还用于将前序已经处理完的搜索请求根据所述搜索用户的权重放入转发权重队列中;转发进程判断当前未返回搜索结果的搜索请求是否超过限额;如果超过,则等待;如果不超过,则从所述权重队列中取出所述搜索请求,并转发给所述服务器。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至8中任意一项所述搜索请求的处理方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述搜索请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010080733.6A CN111324799B (zh) | 2020-02-05 | 2020-02-05 | 搜索请求的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010080733.6A CN111324799B (zh) | 2020-02-05 | 2020-02-05 | 搜索请求的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324799A CN111324799A (zh) | 2020-06-23 |
CN111324799B true CN111324799B (zh) | 2021-05-04 |
Family
ID=71170987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010080733.6A Active CN111324799B (zh) | 2020-02-05 | 2020-02-05 | 搜索请求的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324799B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928228B2 (en) * | 2020-09-25 | 2024-03-12 | EMC IP Holding Company LLC | Facilitating an object protocol based access of data within a multiprotocol environment |
CN112860978B (zh) * | 2021-03-31 | 2024-05-17 | 中国工商银行股份有限公司 | 全局搜索方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646133A (zh) * | 2012-03-28 | 2012-08-22 | 电子科技大学 | 基于元数据存储的二维表及其组织方法 |
CN103229173A (zh) * | 2012-12-26 | 2013-07-31 | 华为技术有限公司 | 元数据管理方法及系统 |
CN104123359A (zh) * | 2014-07-17 | 2014-10-29 | 江苏省邮电规划设计院有限责任公司 | 一种分布式对象存储系统的资源管理方法 |
CN110737918A (zh) * | 2019-10-15 | 2020-01-31 | 重庆远见信息产业集团有限公司 | 外部数据共享管理平台 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997368A (zh) * | 2016-01-26 | 2017-08-01 | 中兴通讯股份有限公司 | 一种数据仓库中的数据保护方法及装置 |
US10067944B2 (en) * | 2017-01-09 | 2018-09-04 | Splunk, Inc. | Cache aware searching of buckets in remote storage |
CN108632257B (zh) * | 2018-04-12 | 2021-02-09 | 深圳大学 | 支持分层搜索的加密健康记录的获取方法和系统 |
-
2020
- 2020-02-05 CN CN202010080733.6A patent/CN111324799B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646133A (zh) * | 2012-03-28 | 2012-08-22 | 电子科技大学 | 基于元数据存储的二维表及其组织方法 |
CN103229173A (zh) * | 2012-12-26 | 2013-07-31 | 华为技术有限公司 | 元数据管理方法及系统 |
CN104123359A (zh) * | 2014-07-17 | 2014-10-29 | 江苏省邮电规划设计院有限责任公司 | 一种分布式对象存储系统的资源管理方法 |
CN110737918A (zh) * | 2019-10-15 | 2020-01-31 | 重庆远见信息产业集团有限公司 | 外部数据共享管理平台 |
Non-Patent Citations (2)
Title |
---|
"Ontology representation of Amazon S3 objects for metadata enrichment";Manisha Shetty et al.;《International Conference on Computing, Analytics and Security Trends》;20170501;第507-512页 * |
"私有云存储系统的设计与实现";马小平;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160415;第I137-43页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111324799A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3164795B1 (en) | Prompting login account | |
KR101956486B1 (ko) | 단말 식별자들을 용이하게 하는 방법 및 시스템 | |
US8782748B2 (en) | Online service access controls using scale out directory features | |
US20210203503A1 (en) | Permissions from entities to access information | |
CN109889517B (zh) | 数据处理方法、权限数据集创建方法、装置及电子设备 | |
CN108289098B (zh) | 分布式文件系统的权限管理方法和装置、服务器、介质 | |
US9871778B1 (en) | Secure authentication to provide mobile access to shared network resources | |
CN101355556A (zh) | 认证信息处理装置和认证信息处理方法 | |
CN106506511B (zh) | 一种通讯录信息处理方法、装置 | |
CN111324799B (zh) | 搜索请求的处理方法及装置 | |
US20200233907A1 (en) | Location-based file recommendations for managed devices | |
US9665732B2 (en) | Secure Download from internet marketplace | |
US9230128B2 (en) | Assignment of security contexts to define access permissions for file system objects | |
US11281773B2 (en) | Access card penetration testing | |
WO2017040570A1 (en) | System and method for authentication | |
Fu et al. | Data correlation‐based analysis methods for automatic memory forensic | |
CN107623662B (zh) | 访问的控制方法,装置和系统 | |
CN111753268A (zh) | 一种单点登录方法、装置、存储介质及移动终端 | |
US10951600B2 (en) | Domain authentication | |
US8955156B2 (en) | Method and apparatus for securely providing postal address data to client devices | |
CN111797424A (zh) | 处理请求的方法和装置 | |
CN118245170B (zh) | 一种容器通信管理方法、装置、电子设备及存储介质 | |
US20230259609A1 (en) | Configuring a client immutable identification profile | |
CN107277076B (zh) | 一种网络权限的认证方法和装置 | |
KR101913012B1 (ko) | 웹 ui 기반 안전한 ons 관리 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 100094 101, floors 1-5, building 7, courtyard 3, fengxiu Middle Road, Haidian District, Beijing Patentee after: Beijing Xingchen Tianhe Technology Co.,Ltd. Address before: 100097 office building 805-806, area B, Jinyuan times business center, lantianchang Road, Haidian District, Beijing Patentee before: XSKY BEIJING DATA TECHNOLOGY Corp.,Ltd. |
|
CP03 | Change of name, title or address |