一种数据检索方法及系统的制作方法

文档序号:6443863阅读:201来源:国知局
专利名称:一种数据检索方法及系统的制作方法
技术领域
本发明涉及搜索引擎的相关技术,尤其涉及一种数据检索方法及系统。
背景技术
为了提供数据检索质量,当前搜索引擎在线检索的数据实际上是多元化的。目前,大部分的数据检索后台仅能够提供单一的检索数据。要实现多元化数据的检索,通常采用以下两种方案实现:第一,通过域名向多个对应不同数据源的数据检索后台发送检索请求,由多个数据检索后台分别完成数据检索后返回,该方案实现简单,开发成本低,但是需要与多个数据检索后台进行交互、以及多个数据检索后台共同协作,才能实现多数据源的数据检索,检索效率低,数据检索的速度慢;第二,向中转模块发送多个检索请求,由中转模块与多个对应不同数据源的数据检索后台交互,获取到需搜索的数据,再将获取的数据汇总后返回,该方案有利于功能模块的分离,但增加了开发和维护中转模块的成本,导致开发成本高,并且中转模块不适合集群式管理,相关性排序等复杂度较高的检索操作也不能够在中转模块中实现,数据检索效率仍较低。

发明内容
有鉴于此,本发明的主要目的在于提供一种数据检索方法及系统,能够提高多数据源的数据检索效率。为达到上述目的,本发明的技术方案是这样实现的:本发明提供了一种数据检索方法,所述方法包括:将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回所述子任务中当前保存的检索结果。在上述方案中,所述返回所述子任务中当前保存的检索结果,包括:在所有的所述数据检索均完成后,返回所有子任务当前保存的检索结果。在上述方案中,所述返回所述子任务中当前保存的检索结果,包括:在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。在上述方案中,所述子任务还包括用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位设置为检索完成。本发明还提供了一种数据检索系统,所述系统包括:拆分单元、检索单元和返回单元;其中,拆分单元,用于将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;检索单元,用于分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回单元,用于返回所述子任务中当前保存的检索结果。在上述方案中,所述返回单元,还用于在所有的所述数据检索均完成时,返回所有子任务当前保存的检索结果。在上述方案中,所述返回单元,还用于在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。在上述方案中,所述拆分单元,还用于在所述子任务中设置用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位置为检索完成。本发明的数据检索方法及系统,首先将检索任务拆分为两个或两个以上的子任务,再分别进行各子任务对应的数据检索,并将检索结果存放到对应的子任务,最后,返回所述子任务中当前保存的检索结果。如此,使得基础数据检索和附加数据检索能够同时进行,实现了对于多数据源的并发检索请求,提高了数据检索效率。


图1为本发明数据检索方法的实现流程图;图2为本发明实施例一中数据检索流程的示意图;图3为本发明实施例一中数据检索流程的时序示意图。
具体实施例方式本发明的基本思想是:将多数据源的检索任务(session)拆分为两个或两个以上的子任务,分别独立进行各子任务对应的数据检索,最后,将子任务中已有的检索结果返回即可。本发明的数据检索方法,参数图1所示,主要可以包括如下步骤:步骤101:将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;这里,对当前检索任务进行拆分时,对应附加数据检索的子任务可以是一个或多个,可以基于附加数据源的不同进行区分,具体可以实际需要进行预设设置。步骤102:分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;步骤103:返回所述子任务中当前保存的检索结果。这里,所述返回所述子任务中当前保存的检索结果,可以包括:在所有的所述数据检索均完成时,返回所有子任务当前保存的检索结果。具体地,对于一个子任务来说,得到检索结果就认为对应子任务的数据检索完成,在所有子任务的检索都完成时,返回检索结果。这里,所述返回所述子任务中当前保存的检索结果,可以包括:在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。
其中,所述方法还包括:在当前检索耗时未达到预设的检索时限时,等待对应附加数据检索的一个或多个子任务所对应各数据检索中未得到的检索结果。其中,所述子任务还包括用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位置为检索完成;在所述数据检索的检索结果存放到所述子任务之前,所述子任务的标志位设置为检索未完成。实际应用中,当用户的检索请求到来时,生成相应的检索任务并拆分为两个或两个以上的子任务,各子任务所对应的数据检索完成后,会将相应的数据检索结果保存到对应的子任务,同时可以检查当前的检索耗时,如果检索耗时超过预设的检索时限,则返回所述检索任务中各子任务已有的检索结果;如果检索耗时未超过预设的检索时限,部分数据检索已完成,还可以等待附加数据检索中未完成的部分数据检索,如果等待过程中,检查到当前检索耗时达到了预设的检索时限,则将已有的检索结果返回,如果在当前检索耗时达到预设的检索时限之前,完成了所有子任务对应的数据检索,并得到了所有的检索结果,则返回所有检索结果。相应的,本发明还提供了一种数据检索系统,所述系统可以包括:拆分单元、检索单元和返回单元;其中,拆分单元,用于将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;检索单元,用于分别进行所述拆分单元所得到子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回单元,用于返回所述子任务中当前保存的检索结果。其中,所述返回单元,还可以用于在所有的所述数据检索均完成时,返回所有子任务当前保存的检索结果。其中,所述返回单元,还可以用于在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。这里,所述返回单元还可以在当前检索耗时未达到预设的检索时限时,等待对应附加数据检索的一个或多个子任务所对应各数据检索中未得到的检索结果。这里,所述拆分单元,还可以用于在所述子任务中设置用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位置为检索完成。所述拆分单元在所述数据检索的检索结果存放到所述子任务之前,所述子任务的标志位设置为检索未完成。实施例一本实施例中,进行数据搜索的流程,具体可以包括如下步骤:步骤201:接收用户发出的数据检索请求;具体地,用户在客户端的浏览器所显示的搜索网页上输入数据检索指令,客户端的浏览器向网页服务器发送相应的数据检索请求,网页服务器接收所述数据检索请求,并执行下述的数据搜索流程。步骤202:生成对应所述数据检索请求的检索任务,并将所述检索任务分为第一子任务和第二子任务,其中,所述第一子任务对应基础数据的检索,第二子任务对应附加数据的检索;步骤203:进行基础数据检索过程中的数值检索,验证是否得到有效的数值检索结果,如果是,则将所述数值检索结果保存到所述任务的第一子任务,继续步骤204,否则,返回错误,并结束当前流程;这里,所述数值检索可以是从指定的基础数据源中检索文档数值属性,并将检索到的文档数值属性进行排序,提取排序在前N的文档数值属性作为所述数值检索结果。其中,N为大于I的整数,可以根据实际需要设置。其中,所述文档数值属性表示数据源的文档与用户在提出检索请求时所输入检索词的相似度值,例如,可以包括文档本身的ID、和/或更新时间等相关信息。文档数值属性是否有效可以通过一个或多个条件判断:1、是否是完整的文档数值属性,例如,如果要求必须包括文档ID和更新时间,检索到的文档数值属性仅包含其中之一时,则不合法;2、文档的内容是否已被删除、是否包含敏感词汇等。例如,如果文档内容已被删除,则检索到的文档数值属性不合法。如果文档内容包含敏感词汇,则检索到的文档数值属性不合法。步骤204:基于所述数值检索结果,进行基础数据检索过程中的摘要检索,验证是否得到有效的摘要检索结果,如果是,则将所述摘要检索结果保存到所述第一子任务,继续步骤207,否则,返回错误,并结束当前流程;具体地,基于所述数值检索结果中的文档数值属性,从指定的基础数据源中获取所述文档数值属性所对应文档的部分内容信息,该信息即为所述摘要检索结果,所述信息可以是文本信息、或者包含有文本、图片等的信息。摘要检索结果是否有效可以通过一个或多个条件判断:1、是否是完整的摘要检索结果,例如,如果要求必须包括标题和部分正文内容,检索到的摘要检索结果仅包含其中之一时,则不合法;2、所述摘要检索结果对应的文档内容是否包含敏感词汇等。例如,如果文档内容包含敏感词汇,则检索到的所述摘要检索结果不合法。步骤205:进行附加数据的检索,并验证是否得到有效的附加检索结果,如果是,则所述附加数据结果保存到所述第二子任务,继续步骤206 ;否则,继续步骤207 ;这里,附加数据的检索过程可以包括:从指定的附加数据源获取附加检索结果。具体的检索过程可以与上述基础数据的检索相同,即首先进行数值检索,再基于数值检索结果进行摘要检索,得到所述附加检索结果;还可以在附加数据源对信息按照文档数值属性进行处理后,直接从指定的附加数据源获取所需要的信息,该信息即为所述附加检索结果,这里的信息可以是文本信息或者包含有文本和图片的信息。附加数据检索过程中,得到附加检索结果的方式依赖于附加数据源对数据的排序、处理、排版等,可以应用相关的现有技术进行检索,不再赘述。步骤206:验证当前检索耗时是否超过了预设的检索时限,如果是,则将所述任务中当前保存的检索结果返回,并结束当前流程;否则,继续步骤207 ;步骤207:基础数据检索完成后,附加数据检索仍未完成,等待附加检索结果,如果当前检索耗时超过预设的检索时限,则将所述检索任务中各子任务当前保存的检索结果返回,并结束当前流程;如果当前检索耗时未超过预设的检索时限,则继续步骤208 ;这里,在第一子任务和第二子任务中均包含有用于指示当前检索状态的标志位,例如,所述标志位可以是数值O和1,I表示已得到检索结果,O表示未得到检索结果。实际应用中,可以通过读取第一子任务和第二子任务的标志位,可以判断相应的基础数据检索和附加数据检索是否已完成。步骤208:将所述附加数据结果保存到所述第二子任务;步骤209:返回所述检索任务中各子任务当前保存的所有检索结果,并结束当前流程。上述各步骤中,所述任务中保存的检索结果可以包括:基础数据检索的数值检索结果和摘要检索结果,或者基础数据检索的数值检索结果和摘要检索结果、以及附加数据检索的附加检索结果。这里,所述返回具体可以是网页服务器向用户的客户端推送一个搜索结果网页,该搜索结果网页中包含有所述检索任务中各子任务当前保存的所有检索结果,用户的客户端在其浏览器上加载该搜索结果网页并显示。上述进行数据检索的流程中,步骤205的附加数据检索过程、与步骤203-步骤204的基础数据检索过程可以同时进行,两个检索过程相互独立,分别进行,耗时可能会存在差异,在基础数据检索完成后,预留一定的时间等待附加检索结果,具体流程的时序如图3所
/Jn ο例如,本实施例中的数据检索流程可以应用到腾讯空间(qzone)社区搜索中。需要说明的是,本实施例中上述数据检索的流程通过相应的数据检索系统实现,所述数据检索系统将检索结果返回即为将所述检索结果返回给用于将检索结果显示给用户的装置,如返回给网页服务器等。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种数据检索方法,其特征在于,所述方法包括: 将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务; 分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务; 返回所述子任务中当前保存的检索结果。
2.根据权利要求1所述的数据检索方法,其特征在于,所述返回所述子任务中当前保存的检索结果,包括: 在所有的所述数据检索均完成后,返回所有子任务当前保存的检索结果。
3.根据权利要求1所述的数据检索方法,其特征在于,所述返回所述子任务中当前保存的检索结果,包括: 在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。
4.根据权利要求1至3任一项所述的数据检索方法,其特征在于, 所述子任务还包括用于指示所对应数据检索的检索状态的标志位; 在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位设置为检索完成。
5.一种数据检索系统,其特征在于,所述系统包括:拆分单元、检索单元和返回单元;其中, 拆分单元,用于将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务; 检索单元,用于分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务; 返回单元,用于返回所述子任务中当前保存的检索结果。
6.根据权利要求5所述的数据检索系统,其特征在于,所述返回单元,还用于在所有的所述数据检索均完成时,返回所有子任务当前保存的检索结果。
7.根据权利要求5所述的数据检索系统,其特征在于,所述返回单元,还用于在当前检索耗时达到预设的检索时限时,将所对应数据检索已完成的各子任务当前保存的检索结果返回。
8.根据权利要求5至7任一项所述的数据检索系统,其特征在于,所述拆分单元,还用于在所述子任务中设置用于指示所对应数据检索的检索状态的标志位;在所述数据检索的检索结果存放到所述子任务后,将所述子任务的标志位置为检索完成。
全文摘要
本发明公开了一种数据检索方法,所述方法包括将当前检索任务拆分为对应基础数据检索的子任务和对应附加数据检索的子任务;分别进行所述子任务对应的数据检索,并将所述数据检索的检索结果存放到对应的子任务;返回所述子任务中当前保存的检索结果。相应的,本发明还公开了一种数据检索系统,本发明使得基础数据检索和附加数据检索能够同时进行,实现了对于多数据源的并发检索请求,提高了数据检索效率。
文档编号G06F17/30GK103186563SQ20111044872
公开日2013年7月3日 申请日期2011年12月28日 优先权日2011年12月28日
发明者谭强, 何建国, 付剑波, 文勖 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1