一种数据检索方法及系统技术方案

技术编号:8883193 阅读:186 留言:0更新日期:2013-07-04 02:03
本发明专利技术公开了一种数据检索方法,所述方法包括:将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回所述子任务中当前保存的检索结果。相应的,本发明专利技术还公开了一种数据检索系统,本发明专利技术使得基础数据检索和附加数据检索能够同时进行,实现了对于多数据源的并发检索请求,提高了数据检索效率。

【技术实现步骤摘要】

本专利技术涉及搜索引擎的相关技术,尤其涉及一种数据检索方法及系统
技术介绍
为了提供数据检索质量,当前搜索引擎在线检索的数据实际上是多元化的。目前,大部分的数据检索后台仅能够提供单一的检索数据。要实现多元化数据的检索,通常采用以下两种方案实现:第一,通过域名向多个对应不同数据源的数据检索后台发送检索请求,由多个数据检索后台分别完成数据检索后返回,该方案实现简单,开发成本低,但是需要与多个数据检索后台进行交互、以及多个数据检索后台共同协作,才能实现多数据源的数据检索,检索效率低,数据检索的速度慢;第二,向中转模块发送多个检索请求,由中转模块与多个对应不同数据源的数据检索后台交互,获取到需搜索的数据,再将获取的数据汇总后返回,该方案有利于功能模块的分离,但增加了开发和维护中转模块的成本,导致开发成本高,并且中转模块不适合集群式管理,相关性排序等复杂度较高的检索操作也不能够在中转模块中实现,数据检索效率仍较低。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种数据检索方法及系统,能够提高多数据源的数据检索效率。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术提供了一种数据检索方法,所述方法包括:将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回所述子任务中当前保存的检索结果。在上述方案中,所述返回所述子任务中当前保存的检索结果,包括:在所有的所述数据检索均完成后,返回所有子任务当前保存的检索结果。在上述方案中,所述返回所述子任务中当前保存的检索结果,包括:在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。在上述方案中,所述子任务还包括用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位设置为检索完成。本专利技术还提供了一种数据检索系统,所述系统包括:拆分单元、检索单元和返回单元;其中,拆分单元,用于将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;检索单元,用于分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回单元,用于返回所述子任务中当前保存的检索结果。在上述方案中,所述返回单元,还用于在所有的所述数据检索均完成时,返回所有子任务当前保存的检索结果。在上述方案中,所述返回单元,还用于在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。在上述方案中,所述拆分单元,还用于在所述子任务中设置用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位置为检索完成。本专利技术的数据检索方法及系统,首先将检索任务拆分为两个或两个以上的子任务,再分别进行各子任务对应的数据检索,并将检索结果存放到对应的子任务,最后,返回所述子任务中当前保存的检索结果。如此,使得基础数据检索和附加数据检索能够同时进行,实现了对于多数据源的并发检索请求,提高了数据检索效率。附图说明图1为本专利技术数据检索方法的实现流程图;图2为本专利技术实施例一中数据检索流程的示意图;图3为本专利技术实施例一中数据检索流程的时序示意图。具体实施例方式本专利技术的基本思想是:将多数据源的检索任务(session)拆分为两个或两个以上的子任务,分别独立进行各子任务对应的数据检索,最后,将子任务中已有的检索结果返回即可。本专利技术的数据检索方法,参数图1所示,主要可以包括如下步骤:步骤101:将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;这里,对当前检索任务进行拆分时,对应附加数据检索的子任务可以是一个或多个,可以基于附加数据源的不同进行区分,具体可以实际需要进行预设设置。步骤102:分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;步骤103:返回所述子任务中当前保存的检索结果。这里,所述返回所述子任务中当前保存的检索结果,可以包括:在所有的所述数据检索均完成时,返回所有子任务当前保存的检索结果。具体地,对于一个子任务来说,得到检索结果就认为对应子任务的数据检索完成,在所有子任务的检索都完成时,返回检索结果。这里,所述返回所述子任务中当前保存的检索结果,可以包括:在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。其中,所述方法还包括:在当前检索耗时未达到预设的检索时限时,等待对应附加数据检索的一个或多个子任务所对应各数据检索中未得到的检索结果。其中,所述子任务还包括用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位置为检索完成;在所述数据检索的检索结果存放到所述子任务之前,所述子任务的标志位设置为检索未完成。实际应用中,当用户的检索请求到来时,生成相应的检索任务并拆分为两个或两个以上的子任务,各子任务所对应的数据检索完成后,会将相应的数据检索结果保存到对应的子任务,同时可以检查当前的检索耗时,如果检索耗时超过预设的检索时限,则返回所述检索任务中各子任务已有的检索结果;如果检索耗时未超过预设的检索时限,部分数据检索已完成,还可以等待附加数据检索中未完成的部分数据检索,如果等待过程中,检查到当前检索耗时达到了预设的检索时限,则将已有的检索结果返回,如果在当前检索耗时达到预设的检索时限之前,完成了所有子任务对应的数据检索,并得到了所有的检索结果,则返回所有检索结果。相应的,本专利技术还提供了一种数据检索系统,所述系统可以包括:拆分单元、检索单元和返回单元;其中,拆分单元,用于将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;检索单元,用于分别进行所述拆分单元所得到子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回单元,用于返回所述子任务中当前保存的检索结果。其中,所述返回单元,还可以用于在所有的所述数据检索均完成时,返回所有子任务当前保存的检索结果。其中,所述返回单元,还可以用于在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。这里,所述返回单元还可以在当前检索耗时未达到预设的检索时限时,等待对应附加数据检索的一个或多个子任务所对应各数据检索中未得到的检索结果。这里,所述拆分单元,还可以用于在所述子任务中设置用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位置为检索完成。所述拆分单元在所述数据检索的检索结果存放到所述子任务之前,所述子任务的标志位设置为检索未完成。实施例一本实施例中,进行数据搜索的流程,具体可以包括如下步骤:步骤201:接收用户发出的数据检索请求;具体地,用户在客户端的浏览器所显示的搜索网页上输入数据检索指令,客户端的浏览器向网页服务器发送相应的数据检索请求,网页服务器接收所述数据检索请求,并执行下述的数据搜索流程。步骤202:生成对应所述数据检索请求的检索任务,并将所述检索任务分为第一子任务和第二子任务,其中,所述第一子任务对应基础本文档来自技高网...

【技术保护点】
一种数据检索方法,其特征在于,所述方法包括:将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回所述子任务中当前保存的检索结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:谭强何建国付剑波文勖
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1