一种搜索的方法、装置和搜索引擎系统与流程

文档序号:13387720阅读:189来源:国知局
一种搜索的方法、装置和搜索引擎系统与流程

本发明涉及信息技术领域,尤其涉及一种搜索的方法、装置和搜索引擎系统。



背景技术:

随着云计算、移动互联网的普及,同一个用户拥有多个存放数据的设备实例已变得越来越广泛。例如,在虚拟桌面系统中,同一个用户拥有多台虚拟机;一个家庭用户拥有多台存放数据的设备实例,如个人电脑、便携机、手持终端、平板电脑等物理设备。

现有技术中,用户搜索技术是基于一个设备实例内的搜索,比如利用设备实例中操作系统自带的搜索服务或者设备实例上第三方的搜索工具。但是,以上搜索方法只能在单个设备实例上进行搜索,对于同一用户所拥有多个设备实例的场景,用户需要重复多次切换不同设备实例执行搜索请求,导致存在同一用户在对其所拥有的所有设备实例执行搜索操作时搜索效率低,搜索过程耗时长的问题。



技术实现要素:

本发明实施例提供了一种搜索的方法、装置和搜索引擎系统,可以对同一用户的所有设备实例进行搜索获取搜索结果,以此降低搜索时长,提升搜索效率。

为了达到上述目的,本发明采用如下技术方案:

第一方面,提供一种搜索的方法,所述方法包括:

搜索节点接收鉴权服务器发送的鉴权票据,所述鉴权票据标识用户的鉴权信息在所述鉴权服务器鉴权成功;

所述搜索节点接收设备实例控制器发送的至少一个数据节点的连接信息,所述至少一个数据节点归属于所述用户;

所述搜索节点接收所述用户的搜索请求;

所述搜索节点根据所述至少一个数据节点的连接信息分别利用所述鉴权票据登陆每个数据节点;

所述搜索节点根据所述搜索请求在所述每个数据节点上获取搜索结果。

可选地,搜索节点可以按照预定义的顺序逐个登陆数据节点,获取搜索结果。

示例地,搜索节点按照搜索节点的标识从大到小顺序依次登陆每个数据节点,获取搜索结果。

可选地,搜索节点可以选择任意一个所述用户的数据节点获取搜索结果,直到所有所述用户的数据节点均被检索获取搜索结果为止。

通过上述内容的描述,当搜索节点接收到用户的鉴权信息时,可以通过鉴权服务器获得鉴权票据,并确定所有归属于该用户的数据节点的连接信息,当用户执行搜索请求时,搜索节点可以登陆所有该用户的数据节点执行搜索操作,与现有技术相比,用户不再需要逐个登陆每个数据节点,再在每个数据节点内分别输入搜索信息才能获取搜索结果所带来的搜索效率低、耗时长的问题。

结合第一方面的可能实施例,在第一方面的第一种可能的实施例中,所述搜索节点接收鉴权服务器发送的鉴权票据具体为:

所述搜索节点接收所述鉴权信息;

所述搜索节点向所述鉴权服务器发送所述鉴权消息;

若所述鉴权消息鉴权成功,则所述搜索节点接收所述鉴权服务器发送的所述鉴权票据。

具体地,用户在搜索节点的客户端的鉴权界面输入一种用户的鉴权消息。所述鉴权消息可以为用户名和密码,也可以是二维码、指纹等能够允许用户接入搜索引擎系统的信息。搜索节点中的鉴权界面接收到所述鉴权消息后,将所述鉴权消息发送给鉴权模块,由所述鉴权模块再将所述鉴权消息发送给鉴权服务器,对鉴权消息进行鉴权。鉴权服务器根据所述鉴权消息进行鉴权,并将鉴权成功后获得的鉴权票据发送给搜索节点中的鉴权模块,鉴权模块再将鉴权票据发送给检索模块,以便搜索节点在用户所拥有的所有数据节点执行用户的搜索请求。其中,鉴权票据用于标识所述鉴权消息鉴权成功。

示例地,鉴权票据可以为令牌(token),也可以为一组字符串,本发明不作限制。

需要说明的是,鉴权服务器根据鉴权消息进行鉴权的方式和过程为现有技术,本发明不再赘述。

结合第一方面至第一方面的第一种可能的实施例,在第一方面的第二种可能的实施例中,所述设备实例控制器发送的至少一个数据节点的连接信息具体为:

所述设备实例控制器接收搜索引擎系统中全部数据节点发送的注册信息,所述注册信息包括所述全部数据节点的ip和所述全部数据节点中每个数据节点所归属的用户;

当所述鉴权服务器对所述鉴权信息鉴权成功时,所述设备实例控制器接收所述鉴权服务器发送的所述鉴权票据;

所述设备实例控制器根据所述注册信息和所述鉴权票据确定所述至少一个数据节点的连接信息。

通过上述内容的描述,搜索节点可以获取每个执行搜索操作的用户所拥有的数据节点的连接信息,在所述用户执行搜索请求时,搜索节点可以根据该连接信息分别登陆每个数据节点获取搜索结果,与现有技术相比,用户不再需要反复多次到不同数据节点上执行搜索请求,减少了搜索耗时,提高了搜索效率。

结合第一方面至第一方面第二种可能的实现方式,在第一方面的第三种可能实现方式中,所述搜索节点利用所述鉴权凭据登陆所述每个数据节点的过程具体为:

所述搜索节点向所述每个数据节点发送所述鉴权票据,以使得所述每个数据节点将所述鉴权票据发送给所述鉴权服务器进行鉴权;

所述搜索节点接收所述每个数据节点发送的鉴权成功的通知,所述鉴权成功通知为所述鉴权服务器对所述鉴权票据鉴权成功后发送给所述每个数据节点的;

所述搜索节点登陆所述每个数据节点。

结合上面内容的描述,搜索节点利用用户的鉴权信息获取的鉴权票据能够分别登陆所述用户的每个数据节点,当接收用户的搜索请求时,搜索节点可以利用鉴权票据分别登陆每个数据节点获取搜索结果,与现有技术中用户需要自己利用鉴权消息反复登陆所拥有的每个数据节点相比,减少了搜索过程中的耗时,提高了执行搜索任务的效率。

第二方面,本发明实施例提供一种搜索引擎系统,所述搜索引擎系统包括鉴权服务器、设备实例控制器、搜索节点和数据节点,所述方法包括:

所述鉴权服务器,用于对用户的鉴权信息进行鉴权;当所述鉴权信息鉴权成功时,向所述设备实例控制器和所述搜索节点发送鉴权票据;

所述鉴权服务器,还用于:对所述数据节点发送的所述鉴权票据进行鉴权,确定所述鉴权票据鉴权成功,向所述搜索节点发送鉴权成功的通知;

所述设备实例控制器,用于存储所述搜索引擎系统中全部数据节点的注册信息,所述注册信息所述全部数据节点的ip和所述全部数据节点中每个数据节点所归属的用户;

所述设备实例控制器,还用于:根据所述鉴权票据和所述注册信息确定至少一个数据节点的连接信息,所述至少一个数据节点归属于所述用户;向所述搜索节点发送所述至少一个数据节点的连接信息;

所述搜索节点,用于接收所述鉴权消息;将所述鉴权消息发送给所述鉴权服务器;接收所述鉴权服务器发送的所述鉴权票据;

所述搜索节点,还用于接收所述用户的搜索请求;根据所述至少一个数据节点的连接信息分别登陆每个数据节点;接收所述数据节点发送的鉴权成功的通知;根据所述搜索请求在所述每个数据节点上获取搜索结果;

所述数据节点,用于接收所述搜索节点发送的所述鉴权票据;向所述鉴权服务器发送所述鉴权票据;接收所述鉴权服务器发送所述鉴权票据鉴权成功的通知,允许所述搜索节点登陆。

通过上述搜索引擎系统的描述,当用户执行搜索请求时,搜索引擎系统可以根据搜索节点接收的所述用户的数据节点连接信息分别登陆所述用户的所有数据节点获取搜索结果,与现有技术相比,不需要用户反复登陆每个数据节点执行搜索请求,减少了搜索耗时,提高了搜索请求的处理效率。

第三方面,本发明实施例提供一种搜索节点,所述搜索节点包括处理器、存储器、通信接口、系统总线,所述处理器、存储器和通信接口之间通过系统总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述搜索节点运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述搜索节点中的硬件资源执行第一方面、第一方面的第一种可能实现方式、第一方面第三种可能实现方式中的任意一项所述的方法。

通过上述内容的描述,当用户通过搜索节点输入搜索请求时,搜索节点可以利用鉴权凭据分别对每个具有同一个用户数据节点获取搜索结果,与现有技术中需要用户分别登陆每个数据节点,反复输入搜索信息相比,本发明提供的搜索节点解决了现有技术中需要用户分别登陆每个数据节点分别进行搜索操作所带来的时延问题,提高了搜索效率。

第四方面,提供一种搜索的方法,所述方法包括:

设备实例控制器获取全部数据节点的文件信息;

所述设备实例控制器根据所述文件信息建立索引数据库;

所述设备实例控制器接收搜索节点发送的用户的搜索请求;

所述设备实例控制器根据所述搜索请求在所述索引数据库中获取搜索结果。

具体地,设备实例控制器的索引数据库中保存了搜索引擎系统中所有数据节点的文件的索引信息,当搜索节点向设备控制器发送用户的搜索请求时,可以在索引数据库中获取搜索信息相应的信息,获取搜索结果。

值得说明的是,所述设备实例控制器的索引数据库中存储所有数据节点的文件的索引消息,在索引数据库建立时可以记录每个索引消息归属的数据节点及该数据节点归属的用户信息,当所述设备控制器根据所述用户的搜索请求执行搜索操作时,仅在所述用户的所有数据节点的索引信息中获取搜索结果。

进一步地,所述设备实例控制器将所述搜索结果发送给搜索节点中的检索模块,检索模块将搜索结果发送给查询结果显示模块呈现给用户。

可选地,搜索节点中的检索模块获取所有数据节点的搜索结果后,可以按照预定义的规则整合。示例地,可以按照搜索关键词、归属数据节点、添加高亮处理,关键词排序等规则存储所述搜索结果。查询结果显示模块可以按照从所述搜索结果中获取用户期望的内容进行显示。

结合第四方面的可能的实施例,在第四方面的第一种可能的实施例中,所述方法还包括:

所述搜索节点接收所述用户的鉴权信息;

所述搜索节点向鉴权服务器发送所述鉴权信息;

所述搜索节点接收所述鉴权服务器发送的鉴权票据,所述鉴权票据用于标识所述鉴权信息鉴权成功。

结合第四方面至第四方面第一种可能的实施例,在第四方面第二种可能的实施例中,所述方法还包括:

所述设备实例控制器获取数据节点发送的发生变化的文件信息;

所述设备实例控制器更新所述索引数据库。

具体地,所述发生变化的文件包括新建的文件、修改数据的文件和被删除的文件。

可选地,设备实例控制器可以被动接收数据节点发送的文件变化信息;也可以主动对搜索引擎系统中已注册的数据节点中的所有文件进行周期性检测,当发现文件发生变更时,更新所述索引数据库。

通过上述过程的描述,由设备实例控制器中索引模块对所有数据节点中的文件进行索引信息,将该索引信息存储在索引数据库中,当搜索节点接收用户的搜索请求时,设备实例控制器可以根据搜索请求在索引数据库中对所述用户的所有数据节点的索引信息进行搜索,获取搜索结果并将搜索结果显示给用户,与现有技术相比,用户不再需要反复登陆各个的数据节点分别进行搜索,减少了搜索耗时,提高了搜索处理的效率。

第五方面,提供一种设备实例控制器,所述设备实例控制器包括处理器、存储器、通信接口、系统总线,所述处理器、存储器和通信接口之间通过系统总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述设备实例控制器运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述设备实例控制器中的硬件资源执行第四方面、第四方面的第二种可能实现方式中的任意一项所述的方法。

通过上述过程的描述,由设备实例控制器中索引模块对所有数据节点中的文件进行索引信息,将该索引信息存储在索引数据库中,当搜索节点接收用户的搜索请求时,设备实例控制器可以根据搜索请求在索引数据库中对所述用户的所有数据节点的索引信息进行搜索,获取搜索结果并将搜索结果显示给用户,与现有技术相比,用户不再需要反复登陆各个的数据节点分别进行搜索,减少了搜索耗时,提高了搜索处理的效率。另一方面,在通过监测所有数据节点中发生变化的文件信息,周期性更新设备实例控制器中的索引数据库,当用户执行搜索请求时,设备实例控制器可以直接在索引数据库中获取搜索结果,减少了搜索操作耗时,也提升了搜索处理的效率。

第六方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

综上所述,搜索节点利用用户的鉴权信息获取的鉴权票据能够分别登陆所述用户的每个数据节点,当接收用户的搜索请求时,搜索节点可以利用鉴权票据分别登陆每个数据节点获取搜索结果,与现有技术中用户需要自己利用鉴权消息反复登陆所拥有的每个数据节点相比,减少了搜索过程中的耗时,提高了执行搜索任务的效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种搜索引擎系统的示意图;

图2为本发明实施例提供的一种搜索方法的流程示意图;

图2a为本发明实施例提供的另一种搜索方法的流程示意图;

图2b为本发明实施例提供的另一种搜索方法的流程示意图;

图3为本发明实施例提供的另一种搜索引擎系统的示意图;

图4为本发明实施例提供的另一种搜索引擎系统的示意图;

图5为本发明实施例提供的另一种搜索方法的流程示意图;

图6为本发明实施例提供的另一种搜索方法的流程示意图;

图7为本发明实施例提供的一种搜索节点的示意图;

图8为本发明实施例提供的一种设备实例控制器的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

图1为本发明实施例中一种搜索引擎系统的示意图,如图所示,搜索引擎系统中包括鉴权服务器、设备实例控制器、数据节点和搜索节点,其中,设备实例控制器和鉴权服务器可以如图1所示分开部署在不同的设备实例中,也可以部署在一台设备实例中,本发明不作限制。

鉴权服务器用于对用户的鉴权信息进行鉴权,判断用户是否具有在搜索引擎系统中执行搜索操作的权限;以及对数据节点发送的鉴权票据进行鉴权。其中,用户的鉴权信息可以是用户名和密码,也可以是其他鉴权凭据,例如二维码、指纹锁等方式,本发明不作限制;鉴权票据为鉴权服务器对所述鉴权信息鉴权成功获得。

设备实例控制器用于管理搜索引擎系统中所有已注册的设备实例,即在搜索引擎系统中,所有数据节点均会向设备实例控制器发送注册信息,所述注册信息包括设备实例的ip地址、以及其归属的用户信息,设备实例控制器会保存各个数据节点发送的注册信息。

值得说明的是,搜索引擎系统中的设备实例包括物理设备和虚拟设备,示例地,物理设备可以包括个人计算机(personalcomputer,pc)、便携机、手持终端、平板电脑等;虚拟设备可以为虚拟机。其中,用于存放数据的设备实例称为数据节点,用于提供搜索界面的设备实例称为搜索节点。

值得说明的是,搜索节点和数据节点的部署方式可以采用如下方式中的任意一种:

方式一:搜索节点和数据节点分开部署在不同的设备实例中,即搜索引擎系统中存在至少两个设备实例,分别作为搜索节点和数据节点。

方式二:搜索节点可以和数据节点部署在同一个设备实例中,即搜索引擎系统中有至少一个设备实例,该设备实例即作为数据节点,用于存储数据,又作为搜索节点,为用户提供搜索客户端,对用户的搜索请求进行搜索。

方式三:搜索引擎系统中同时存在方式一和方式二两种部署形式的设备实例,即在搜索引擎中的设备实例中,即有搜索节点和数据节点部署在同一设备实例的情况,也有搜索节点单独部署在一个设备实例的情况。

值得说明的是,对于搜索节点和数据节点部署方式本发明不作限制,在本发明的以下描述中,以搜索引擎系统中包括一个搜索节点和多个数据节点,且搜索节点和数据节点分开部署在不同的设备实例为例进行详细描述。

如图1所示搜索引擎系统中,每个数据节点内都包括设备实例注册模块、鉴权模块、索引模块、索引数据库和文件,其中,设备实例注册模块用于数据节点向设备实例控制器发送节点的注册信息。鉴权模块,用于与鉴权服务器通信,向鉴权服务器确定搜索节点发送的鉴权票据是否允许搜索节点登陆,其中,鉴权票据用于标识鉴权服务器对用户的鉴权信息鉴权成功。索引模块用于对数据节点中所有文件和文件内容建立索引信息,并将索引信息按照预定义的形式存储到索引数据库中,其中,数据节点中所有文件包括数据节点本地保存的文件,还包括其他数据节点共享给所述数据节点的共享文件。

值得说明的是,数据节点可以根据用户配置的源数据建立索引数据库,其中,源数据包括文件和所述文件的内容。用户配置的源数据可以包含整个数据节点的所有文件的集合,也可以只包含一部分目录文件的集合,也可以是其它数据节点共享文件的集合,还可以是某些文件类型的集合。

示例地,数据节点的索引模块会根据用户配置的源数据中的所有文件名和文件内容建立索引数据库,数据库中索引信息可以按照如表1所示的倒排序索引数据库。

表1一种倒排序索引数据库的示例

其中,表1中第一行表示关键词“华为”在文件标识为1的文件名中出现过1次,为文件标识为1的文件名的第1个词;第二行表示关键词“专利”在文件标识为1的文件名中出现过1次,为文件标识为1的文件名的第2个词;第三行则表示关键词“华为”在文件标识为1的文件内容中出现过2次,分别在文件标识为1的文件内容中的第2个词和第100个词;第四行则表示关键词“专利”在文件标识为1的文件内容出现过3次,分别在文件标识为1的文件内容中的第3个词、第10个词和第50个词。

值得说明的是,索引模块根据文件内容建立索引信息并保存到索引数据库的过程为现有技术,在此不再赘述。

可选地,当数据节点中本地存储的文件和共享文件发生变化时,索引模块可以获取发生变化的文件信息和共享文件信息,将所述文件信息和共享文件信息中变更信息以预定义的形式存储到索引数据库中,其中,发生变化的文件包括新创建的文件、修改了数据的文件、被删除了的文件。索引数据库中保存数据节点中本地存储文件的索引信息,用于搜索节点按照用户搜索条件在索引数据库中进行搜索,获取搜索结果。

具体地,若索引模块监测到以下三种场景中任意一种场景,则更新索引数据库;

场景一:若数据节点中存在新建文件,则设备实例控制器中的索引模块根据新建文件和其内容更新索引数据库,以此完成索引数据库中变化文件索引信息的更新。

场景二:若数据节点中存在修改数据的文件,则设备实例控制器中的索引模块针对文件中修改的数据建立索引信息,并将索引信息存储到索引数据库中,以此完成索引数据库中变化文件索引信息的更新。

场景三:若数据节点中存在被删除的文件或文件内容,则设备实例控制器中的索引模块根据删除的文件或文件内容更新索引数据库中保存的索引信息。

可选地,数据节点中索引模块监测本地存储的文件和共享文件,可以通过文件系统的日志,获取发生变化的文件;也可以通过对文件系统层的接口监控文件变化的通知。

值得说明的是,索引模块可以根据发生变化的文件和共享文件信息周期性更新索引数据库,也可以为人为主观意愿更新索引数据库,本发明对索引模块更新索引数据库的方式不作限制。

图1中还给出了一种搜索节点内部逻辑结构的示意图,如图所示,搜索节点包括搜索客户端、鉴权模块和检索模块,其中,搜索客户端又包括鉴权界面、搜索入口、查询结果显示模块。搜索客户端用于用户输入搜索信息和向用户显示搜索结果。在具体实施过程中,用户可以通过鉴权界面输入用户的鉴权信息;再通过鉴权模块将该鉴权信息发送给鉴权服务器,获取鉴权成功的鉴权票据后;通过搜索入口输入搜索请求中的搜索消息,搜索消息可以是关键词、声音、图像,搜索模块会利用鉴权票据分别登陆用户所拥有的所有数据节点,根据搜索请求获取搜索结果;在查询结果显示模块中显示所述搜索结果,以此,完成用户的搜索操作。

值得说明的是,用户通过搜索节点输入搜索信息时,可以登陆搜索节点在搜索客户端输入搜索信息,也可以通过搜索客户端提供的互联网(web)网页,利用其他设备实例访问该web网页输入搜索信息。

在本发明的一个可能的实施例中,图2为本发明实施例提供的一种搜索方法的流程示意图,具体操作过程如下:

s201、搜索节点接收用户的鉴权消息。

具体地,用户在搜索节点的客户端的鉴权界面输入一种用户的鉴权消息。所述鉴权消息可以为用户名和密码,也可以是二维码、指纹等能够允许用户接入搜索引擎系统的信息。

s202、搜索节点向鉴权服务器发送所述鉴权消息。

具体地,搜索节点中的鉴权界面接收到所述鉴权消息后,将所述鉴权消息发送给鉴权模块,由所述鉴权模块再将所述鉴权消息发送给鉴权服务器,对鉴权消息进行鉴权。

s203、鉴权服务器向搜索节点发送鉴权成功的鉴权票据。

具体地,鉴权服务器根据所述鉴权消息进行鉴权,并将鉴权成功后获得的鉴权票据发送给搜索节点中的鉴权模块,鉴权模块再将鉴权票据发送给检索模块,以便搜索节点在用户所拥有的所有数据节点执行用户的搜索请求。其中,鉴权票据用于标识所述鉴权消息鉴权成功。

示例地,鉴权票据可以为令牌(token),也可以为一组字符串,本发明不作限制。

需要说明的是,鉴权服务器根据鉴权消息进行鉴权的方式和过程为现有技术,本发明不再赘述。

可选地,在搜索节点利用鉴权消息完成鉴权后,所述步骤s203操作后,所述方法还包括:

s204、鉴权服务器将鉴权票据发送给设备实例控制器。

具体地,若鉴权服务器和设备实例控制器分开部署在不同的设备实例中,则鉴权服务对用户的鉴权消息鉴权成功后,会向设备实例控制器发送所述鉴权票据;若鉴权服务器和设备实例控制器部署在同一个设备实例中,则直接执行步骤s205。

s205、设备实例控制器向搜索节点发送至少一个数据节点的连接信息,所述至少一个数据节点归属于所述用户。

具体地,步骤s205的具体过程如图2a所示,所述方法包括:

s205a、设备实例控制器接收数据节点的注册信息。

具体地,所述注册信息包括搜索引擎系统中全部数据节点的ip和每个数据节点归属用户的信息。

需要说明的是,图2a中仅给出一个数据节点的示例,具体实施过程中,搜索引擎系统中全部数据节点均会向设备实例控制器发送注册信息。

s205b、设备实例控制器保存所述注册信息。

值得说明的是,设备实例控制器所保存的所述注册信息可以存储在所述设备实例控制器的预置文件、数据库中,本发明不作限制。

s205c、当鉴权服务器对所述鉴权消息鉴权成功时,设备实例控制器接收鉴权服务器发送的所述鉴权票据。

s205d、设备实例控制器根据所述注册信息和所述鉴权票据确定所述至少一个数据节点的连接信息。

具体地,当接收用户的鉴权票据时,能够通过注册信息和票据确定归属于该用户的所有数据节点的连接信息,并将该连接信息发送给所述搜索节点,具体为发送给所述搜索节点的检索模块,以便用户通过搜索节点输入搜索信息后,搜索节点可以利用所述连接信息登陆所述连接信息中的每个数据节点,获取搜索结果。

可选地,所述连接信息可以是数据节点的ip信息。

通过步骤s205a至步骤s205d的描述,搜索节点可以获取每个执行搜索操作的用户所拥有的数据节点的连接信息,在所述用户执行搜索请求时,搜索节点可以根据该连接信息分别登陆每个数据节点获取搜索结果,与现有技术相比,用户不再需要反复多次到不同数据节点上执行搜索请求,减少了搜索耗时,提高了搜索效率。

s206、接收用户的搜索请求。

具体地,用户的搜索请求可以是关键字,还可以是语音、图像,搜索请求的具体形式不构成本发明的限制。

s207、根据所述至少一个数据节点的连接信息分别利用鉴权票据登陆每个数据节点。

可选地,搜索节点可以按照预定义的顺序逐个登陆数据节点,获取搜索结果。

示例地,搜索节点按照搜索节点的标识从大到小顺序依次登陆每个数据节点,获取搜索结果。

可选地,搜索节点可以选择任意一个具有所述用户的数据节点获取搜索结果,直到所有所述用户的数据节点均被检索获取搜索结果为止。

进一步地,登陆每个数据节点的过程具体如图2b所示,所述方法包括:

s207a、搜索节点向数据节点发送鉴权票据。

s207b、所述数据节点向鉴权服务器发送所述鉴权票据。

具体地,所述数据节点中的鉴权模块接收到所述搜索节点中的检索模块发送的所述鉴权票据后,会将所述鉴权票据发送给鉴权服务器,由鉴权服务器对所述鉴权票据进行鉴权。

s207c、当所述鉴权服务器对所述鉴权票据鉴权成功时,所述鉴权服务器向所述数据节点发送鉴权成功的通知。

具体地,当鉴权成功后,所述鉴权服务器会向所述数据节点发送鉴权成功的通知。

s207d、所述数据节点向搜索节点发送所述鉴权成功的通知。

具体地,所述数据节点的鉴权模块通知搜索节点的检索模块鉴权成功。

s207e、所述搜索节点登陆所述数据节点。

具体地,所述鉴权票据为步骤s203中鉴权服务器对用户的鉴权消息鉴权成功获得。当搜索节点登陆用户的每个数据节点时,均会先向每个数据节点发送鉴权票据,用于所述每个数据节点向鉴权服务器鉴权确定是否允许搜索节点登陆并执行搜索操作。若鉴权服务器确定鉴权票据鉴权成功,则向数据节点发送鉴权成功的通知,数据节点会将此鉴权成功的通知再发送给搜索节点,搜索节点登陆所述数据节点。

通过步骤s207a至步骤s207e描述的内容,搜索节点利用用户的鉴权信息获取的鉴权票据能够分别登陆所述用户的每个数据节点,与现有技术中用户需要自己利用鉴权消息反复登陆所拥有的每个数据节点相比,减少了搜索过程中的耗时,提高了执行搜索任务的效率。

s208、根据所述搜索请求在所述每个数据节点上获取搜索结果。

具体地,搜索节点接收到每个数据节点发送的搜索结果后,可以对所有搜索结果按照预定义规则进行整合。

示例地,如用户按照关键字进行搜索时,搜索节点可以在按照搜索结果中按照搜索结果中归属的数据节点、关键词、关键词匹配度向用户显示搜索结果。

综上所述,当搜索节点接收到用户的鉴权信息时,可以通过鉴权服务器获得鉴权票据,并确定所有归属于该用户的数据节点的连接信息,当用户执行搜索请求时,搜索节点可以登陆所有该用户的数据节点执行搜索操作,与现有技术相比,用户不再需要逐个登陆每个数据节点,再在每个数据节点内分别输入搜索信息才能获取搜索结果所带来的搜索效率低、耗时长的问题。

图3为本发明实施例提供的一种搜索引擎系统300的示意图,如图所示,搜索引擎系统300中包括鉴权服务器301、设备实例控制器302、搜索节点303和数据节点304,所述方法包括:

所述鉴权服务器301,用于对用户的鉴权信息进行鉴权;当所述鉴权信息鉴权成功时,向所述设备实例控制器302和所述搜索节点303发送鉴权票据;

所述鉴权服务器301,还用于:对所述数据节点304发送的所述鉴权票据进行鉴权,确定所述鉴权票据鉴权成功,向所述搜索节点303发送鉴权成功的通知;

所述设备实例控制器302,用于存储所述搜索引擎系统中全部数据节点的注册信息,所述注册信息所述全部数据节点的ip和所述全部数据节点中每个数据节点所归属的用户;

所述设备实例控制器302,还用于:根据所述鉴权票据和所述注册信息确定至少一个数据节点的连接信息,所述至少一个数据节点归属于所述用户;向所述搜索节点发送所述至少一个数据节点的连接信息;

所述搜索节点303,用于接收所述鉴权消息;将所述鉴权消息发送给所述鉴权服务器301;接收所述鉴权服务器301发送的所述鉴权票据;

所述搜索节点303,还用于接收所述用户的搜索请求;根据所述至少一个数据节点的连接信息分别登陆每个数据节点304;根据所述搜索请求在所述每个数据节点304上获取搜索结果;

所述数据节点304,用于接收所述搜索节点发送的所述鉴权票据;向所述鉴权服务器301发送所述鉴权票据;接收所述鉴权服务器301发送所述鉴权票据鉴权成功的通知,允许所述搜索节点303登陆。

通过上述搜索引擎系统300的描述,当用户执行搜索请求时,搜索引擎系统可以根据搜索节点接收的所述用户的数据节点连接信息分别登陆所述用户的所有数据节点获取搜索结果,与现有技术相比,不需要用户反复登陆每个数据节点执行搜索请求,减少了搜索耗时,提高了搜索请求的处理效率。

在本发明的另一个可能的实施例中,图4为另一种搜索引擎系统的示意图,如图4所示,搜索引擎系统中包括鉴权服务器、设备实例控制器、搜索节点和数据节点,其中,鉴权服务器和设备实例服务器可以如图4所示部署在同一台设备实例中,也可以如图1所示部署分别部署在不同的设备实例中;设备实例控制器中包括索引模块、索引数据库,索引模块用于对搜索引擎系统中所有数据节点的文件建立索引信息,并将该索引信息存储在索引数据库中,便于用户执行搜索请求时获取搜索结果;数据节点中包括设备实例注册模块和文件,设备实例注册模块用于向设备实例控制器发送注册信息;搜索节点内部逻辑模块与图1所示搜索引擎系统相同,在此不再赘述。

值得说明的是,数据节点的文件包括本地文件和其他数据节点共享给该数据节点的共享文件。

接下来,结合图5,介绍本发明实施例提供的另一种搜索的方法的流程示意图,如图所示,所述方法包括:

s501、搜索节点接收用户的鉴权消息。

具体地,用户在搜索节点的鉴权界面输入用户的鉴权消息,所述鉴权消息可以是用户名和密码,也可以是二维码、指纹等用于鉴权的凭据。

s502、所述搜索节点将所述鉴权消息发送给鉴权服务器。

具体地,所述搜索节点中的鉴权模块将所述用户凭据发送给鉴权服务器。

s503、所述鉴权服务器向搜索节点发送鉴权票据。

具体地,鉴权服务器对用户的鉴权信息进行鉴权,若鉴权成功,则返回鉴权凭据,该鉴权票据用于标识所述鉴权消息鉴权成功;若鉴权失败,则返回鉴权失败。

s504、设备实例控制器接收搜索节点发送所述用户的搜索请求。

具体地,用户在搜索节点的搜索入口上输入搜索信息。

需要说明的是,搜索引擎系统中的所有数据节点均会向设备实例控制器发送注册信息,所述注册信息包括所有数据节点的ip地址、以及每个数据节点归属的用户信息,以使得设备实例控制器管理数据节点。

s505、所述设备实例控制器根据所述搜索请求在索引数据库中获得搜索结果。

具体地,设备实例控制器的索引数据库中保存了搜索引擎系统中所有数据节点的文件的索引信息,当搜索节点向设备控制器发送用户的搜索请求时,可以在索引数据库中获取搜索信息相应的信息,获取搜索结果。

值得说明的是,所述设备实例控制器的索引数据库中存储所有数据节点的文件的索引消息,在索引数据库建立时可以记录每个索引消息归属的数据节点及该数据节点归属的用户信息,当所述设备控制器根据所述用户的搜索请求执行搜索操作时,仅在所述用户的所有数据节点的索引信息中获取搜索结果。

s506、所述设备实例控制器向所述搜索节点发送所述搜索结果。

具体地,所述设备实例控制器将所述搜索结果发送给搜索节点中的检索模块,检索模块将搜索结果发送给查询结果显示模块呈现给用户。

可选地,搜索节点中的检索模块获取所有数据节点的搜索结果后,可以按照预定义的规则整合。示例地,可以按照搜索关键词、归属数据节点、添加高亮处理,关键词排序等规则存储所述搜索结果。查询结果显示模块可以按照从所述搜索结果中获取用户期望的内容进行显示。

通过上述过程的描述,由设备实例控制器中索引模块对所有数据节点中的文件进行索引信息,将该索引信息存储在索引数据库中,当搜索节点接收用户的搜索请求时,设备实例控制器可以根据搜索请求在索引数据库中对所述用户的所有数据节点的索引信息进行搜索,获取搜索结果并将搜索结果显示给用户,与现有技术相比,用户不再需要反复登陆各个的数据节点分别进行搜索,减少了搜索耗时,提高了搜索处理的效率。

由上述描述可知,搜索引擎系统中所有数据节点的文件索引信息均存储在设备控制器的索引数据库中,当数据节点中文件发生变化时,设备控制器需要更新所述索引数据库,所述方法如图6所示,

s601、设备实例控制器获取数据节点发送的发生变化的文件信息。

具体地,所述发生变化的文件包括新建的文件、修改数据的文件和被删除的文件。

可选地,当数据节点中存在发生变化的文件信息时,所述数据节点可以向设备实例控制器发送所述发生变化的文件信息;可选地,设备实例控制器也可以对搜索引擎系统中已注册的数据节点中的所有文件进行周期性检测,当发现存在发生变化的文件信息时,根据所述发生变化的文件信息更新所述索引数据库。

s602、所述设备实例控制器根据所述发生变化的文档信息更新索引数据库。

其中,对于新建的文件、修改数据的文件和被删除的文件,所述设备实例控制器的操作如下:

场景一:若数据节点中存在新建文件,则设备实例控制器中的索引模块对所述数据节点中新建文件建立索引信息,并将索引信息存储到索引数据库中,以此完成索引数据库中变化文件索引信息的更新。

场景二:若数据节点中存在修改数据的文件,则设备示例控制器中的索引模块针对文件中修改的数据建立索引信息,并将索引信息存储到索引数据库中,以此完成索引数据库中变化文件索引信息的更新。

场景三:若数据节点中存在被删除的文件,则设备实例控制器中的索引模块删除索引数据库中被删除的文件的索引信息。

通过步骤s601至步骤s602所描述的内容,在数据节点中文件发生变化时,设备实例控制器可以根据变化文件更新索引数据库,以此保证设备控制器的索引数据库中保存完整的所有数据节点的文件索引信息。在用户输入搜索请求时,设备控制器可以直接在索引数据库中获取搜索结果,与现有技术相比,对于同一个用户同时有多个设备实例的场景,不再需要逐台登陆数据节点进行搜索,减少了搜索时长,提高了搜索效率。

上文中结合图1至图6,详细描述了根据本发明实施例所提供的一种搜索的方法,下面将结合图7至图9,描述根据本发明实施例所提供的搜索节点和设备实例控制器。

图7为本发明实施例提供的一种搜索节点710的示意图,如图所示,所述搜索节点710包括处理器711、存储器712、通信接口713、系统总线714,所述处理器711、存储器712和通信接口713之间通过系统总线714连接并完成相互间的通信,所述存储器712中用于存储计算机执行指令,所述搜索节点710运行时,所述处理器711执行所述存储器712中的计算机执行指令以利用所述搜索节点711中的硬件资源执行以下操作:

接收鉴权服务器发送的鉴权票据,所述鉴权票据标识用户的鉴权信息在所述鉴权服务器鉴权成功;

接收设备实例控制器发送的至少一个数据节点的连接信息,所述至少一个数据节点归属于所述用户;

接收所述用户的搜索请求;

根据所述至少一个数据节点的连接信息分别利用所述鉴权票据登陆每个数据节点;

根据所述搜索请求在所述每个数据节点上获取搜索结果。

该处理器711可以是cpu,该处理器711还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器712可以包括只读存储器和随机存取存储器,并向处理器711提供指令和数据。存储器712的一部分还可以包括非易失性随机存取存储器。例如,存储器712还可以存储设备类型的信息。

该系统总线714除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为系统总线714。

应理解,根据本发明实施例的搜索节点710用于实现图2中所示方法的相应流程,为了简洁,在此不再赘述。

通过上述内容的描述,当用户通过搜索节点710输入搜索请求时,搜索节点710可以利用鉴权凭据分别对每个具有同一个用户数据节点获取搜索结果,与现有技术中需要用户分别登陆每个数据节点,反复输入搜索信息相比,本发明提供的搜索节点710解决了现有技术中需要用户分别登陆每个数据节点分别进行搜索操作所带来的时延问题,提高了搜索效率。

图8为本发明实施例提供的一种设备实例控制器810的示意图,如图所示,所述设备实例控制器810包括:处理器811、存储器812、通信接口813、总线814,其中,处理器811、存储器812、通信接口813通过总线814相通信,该存储器811可以用于存储指令,所述处理器711执行所述存储器712中的计算机执行指令以利用所述设备实例控制器810中的硬件资源执行以下操作:

获取全部数据节点的文件信息;

根据所述文件信息建立索引数据库;

接收搜索节点发送的用户的搜索请求;

根据所述搜索请求在所述索引数据库中获取搜索结果。

该处理器811可以是cpu,该处理器811还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器812可以包括只读存储器和随机存取存储器,并向处理器811提供指令和数据。存储器812的一部分还可以包括非易失性随机存取存储器。例如,存储器812还可以存储设备类型的信息。

该系统总线814除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为系统总线814。

应理解,根据本发明实施例的设备实例控制器810用于实现图5和图6中所示方法的相应流程,为了简洁,在此不再赘述。

通过上述过程的描述,由设备实例控制器中索引模块对所有数据节点中的文件进行索引信息,将该索引信息存储在索引数据库中,当搜索节点接收用户的搜索请求时,设备实例控制器可以根据搜索请求在索引数据库中对所述用户的所有数据节点的索引信息进行搜索,获取搜索结果并将搜索结果显示给用户,与现有技术相比,用户不再需要反复登陆各个的数据节点分别进行搜索,减少了搜索耗时,提高了搜索处理的效率。另一方面,在通过监测所有数据节点中发生变化的文件信息,周期性更新设备实例控制器中的索引数据库,当用户执行搜索请求时,设备实例控制器可以直接在索引数据库中获取搜索结果,减少了搜索操作耗时,也提升了搜索处理的效率。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1