CN105677924A - 数据搜索装置和方法 - Google Patents
数据搜索装置和方法 Download PDFInfo
- Publication number
- CN105677924A CN105677924A CN201610187819.2A CN201610187819A CN105677924A CN 105677924 A CN105677924 A CN 105677924A CN 201610187819 A CN201610187819 A CN 201610187819A CN 105677924 A CN105677924 A CN 105677924A
- Authority
- CN
- China
- Prior art keywords
- search
- user
- server
- searching request
- time
- 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.)
- Pending
Links
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/951—Indexing; Web crawling techniques
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)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据搜索装置和方法,装置包括:输入内容接收模块,接收用户的输入内容;第一判断模块,判断所述用户停止输入的时间是否超过第一指定阈值;搜索词获取模块,在判断结果为是时,获取所述用户已输入的多项内容作为搜索词;搜索请求发送模块,根据所述搜索词向搜索服务器发送搜索请求;搜索结果获取模块,从所述搜索服务器获取所述搜索词对应的搜索结果。根据本发明,在用户每次输入内容之后的一端时间内,判断用户是否继续输入,这有利于识别用户是否输入完毕,进而只根据用户输入完毕的搜索词发送搜索请求到服务器,使得发送到服务器的搜索请求减少,减少了服务器的压力,有利于提高搜索服务器的吞吐量。
Description
技术领域
本发明涉及搜索技术领域,尤其涉及一种数据搜索装置和方法。
背景技术
搜索栏广泛应用于移动应用和各大网站,包括官方网站、电子商务网站、门户资讯网站、论坛的首页中。根据Netcraft调查的结果,截至到2016年2月,全球网站数量超过1.7亿数量大关,达到170258872个,每个网站下又有数量巨大的网页资源。在移动互联网时代,移动应用种类多、数量大。在这些巨大的数字基数基础上,搜索栏的应用非常普遍。它的使用场景是用户在搜索栏中输入查询关键字,可以搜索到相关的数据结果,网站或移动应用可以收集用户输入的热门词汇,进行相应的用户行为分析、精准推荐。
例如在购物网站的搜索栏中输入某手机型号,可以获得该款手机相关的商品信息。搜索栏的基本原理是:当输入关键字发生变化时,使用查询关键字检索并获取相关数据。在浏览器或移动应用中这将发送一个请求到服务器端,服务器端查询索引库找到相关的资源并返回给客户端。
但是,传统的搜索引擎在每当用户输入一个字符时,都立刻进行联想。即任意时刻搜索栏中的关键字发生变化,都会触发发送请求到服务器端获取结果。考虑到移动设备数量和网民数量都是数以十亿计,另外,大数据时代,索引库一般很大,耗费存储、计算资源。这必然会引起高并发请求服务器,这容易导致服务器响应慢,吞吐量低等,为了提高服务质量,需使用要高配置、集群式的服务器提供服务,这提高了成本。但假如服务器数量有限,该怎样克服上述缺陷就成为需要解决的技术问题。
发明内容
本发明的主要目的在于提出一种数据搜索装置和方法,旨在在不提升搜索服务器硬件配置和数量,降低对搜索服务器的并发搜索请求数。
为实现上述目的,本发明提供的一种数据搜索装置,包括:输入内容接收模块,接收用户的输入内容;第一判断模块,判断所述用户停止输入的时间是否超过第一指定阈值;搜索词获取模块,在判断结果为是时,获取所述用户已输入的多项内容作为搜索词;搜索请求发送模块,根据所述搜索词向搜索服务器发送搜索请求;搜索结果获取模块,从所述搜索服务器获取所述搜索词对应的搜索结果。
可选地,前述的装置,还包括:第一阈值计算模块,根据已记录的所述用户多次输入中相邻两次输入的时间间隔,计算所述第一指定阈值。
可选地,前述的装置,还包括:第二判断模块,判断距离发送上一搜索请求的时间是否到达第二指定阈值,在判断结果为是时根据所述搜索词向搜索服务器发送搜索请求。
可选地,前述的装置,还包括:第二阈值计算模块,根据已记录的发送多次搜索请求后所述搜索服务器的响应时间,计算所述第二指定阈值。
可选地,前述的装置,所述搜索服务器收到所述搜索请求后,从预设的搜索缓存记录中查询所述搜索词对应的搜索结果,并在未查询到所述搜索词的搜索结果后在搜索数据库中按所述搜索词获取所述搜索词对应的搜索结果;所述搜索缓存记录中包含所述用户已发送搜索请求中至少一个搜索词的搜索结果。
可选地,前述的装置,所述搜索服务器统计所述用户发送的多次搜索请求,统计所述多次搜索请求中不同搜索词的频次,根据所述不同搜索词的频次大小选择所述至少一个搜索词的搜索结果作为所述搜索缓存记录。
为实现上述目的,本发明还提供了一种数据搜索方法,包括:接收用户的输入内容;判断所述用户停止输入的时间是否超过第一指定阈值;在判断结果为是时,获取所述用户已输入的多项内容作为搜索词;根据所述搜索词向搜索服务器发送搜索请求;从所述搜索服务器获取所述搜索词对应的搜索结果。
可选地,前述的方法,在判断所述用户停止输入的时间是否超过第一指定阈值之前,还包括:根据已记录的所述用户多次输入中相邻两次输入的时间间隔,计算所述第一指定阈值。
可选地,前述的方法,在根据所述搜索词向搜索服务器发送搜索请求之前,还包括:判断距离发送上一搜索请求的时间是否到达第二指定阈值,在判断结果为是时执行根据所述搜索词向搜索服务器发送搜索请求。
可选地,前述的方法,还包括:根据已记录的发送多次搜索请求后所述搜索服务器的响应时间,计算所述第二指定阈值。
可选地,前述的方法,从所述搜索服务器获取所述搜索词对应的搜索结果之前,还包括:所述搜索服务器收到所述搜索请求后,从预设的搜索缓存记录中查询所述搜索词对应的搜索结果,并在未查询到所述搜索词的搜索结果后在搜索数据库中按所述搜索词获取所述搜索词对应的搜索结果;所述搜索缓存记录中包含所述用户已发送搜索请求中至少一个搜索词的搜索结果。
可选地,前述的方法,在从预设的搜索缓存记录中查询所述搜索词对应的搜索结果之前,还包括:所述搜索服务器统计所述用户发送的多次搜索请求,统计所述多次搜索请求中不同搜索词的频次,根据所述不同搜索词的频次大小选择所述至少一个搜索词的搜索结果作为所述搜索缓存记录。
根据以上技术方案,本发明提出的数据搜索装置和方法至少具有以下优点:
由于用户输入搜索词的过程是一个断续的过程,在该过程中用户通常是输入每个字或词之后产生短时间停顿,并在停顿之后继续进行输入,如果在用户停顿时即根据已输入的内容进行搜索,则不但搜索结果不是用户所需内容,且向搜索服务器发送不必要的搜索请求,对搜索服务器带来额外的压力;而根据本发明的技术方案,在用户每次输入内容之后的一端时间内,判断用户是否继续输入,这有利于识别用户是否输入完毕,进而只根据用户输入完毕的搜索词发送搜索请求到服务器,使得发送到服务器的搜索请求减少,减少了服务器的压力,有利于提高搜索服务器的吞吐量。
附图说明
图1为实现本发明各个实施例的移动终端一个可选的硬件结构示意图;
图2为移动终端与服务器交互的示意图;
图3为根据本发明的一个实施例的数据搜索装置的框图;
图4为根据本发明的一个实施例的数据搜索装置的框图;
图5为根据本发明的一个实施例的数据搜索方法的流程图;
图6为根据本发明的一个实施例的数据搜索方法的流程图;
图7为根据本发明的一个实施例的数据搜索方法的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为可以实现本发明各个实施例的移动终端一个可选的硬件结构示意图。
移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信,例如,如图2所示,当用户在移动终端某应用的页面上输入查询词时,则无线通信单元110将用户输入的查询词发送服务器,并从服务器接收返回的查询结果。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生成并发送广播信号和/或广播相关信息的服务器或者接收之前生成的广播信号和/或广播相关信息并且将其发送给终端的服务器。广播信号可以包括TV广播信号、无线电广播信号、数据广播信号等等。而且,广播信号可以进一步包括与TV或无线电广播信号组合的广播信号。广播相关信息也可以经由移动通信网络提供,并且在该情况下,广播相关信息可以由移动通信模块112来接收。广播信号可以以各种形式存在,例如,其可以以数字多媒体广播(DMB)的电子节目指南(EPG)、数字视频广播手持(DVB-H)的电子服务指南(ESG)等等的形式而存在。广播接收模块111可以通过使用各种类型的广播系统接收信号广播。特别地,广播接收模块111可以通过使用诸如多媒体广播-地面(DMB-T)、数字多媒体广播-卫星(DMB-S)、数字视频广播-手持(DVB-H),前向链路媒体(MediaFLO)的数据广播系统、地面数字广播综合服务(ISDB-T)等等的数字广播系统接收数字广播。广播接收模块111可以被构造为适合提供广播信号的各种广播系统以及上述数字广播系统。经由广播接收模块111接收的广播信号和/或广播相关信息可以存储在存储器160(或者其它类型的存储介质)中。
移动通信模块112将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块113支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
短程通信模块114是用于支持短程通信的模块。短程通信技术的一些示例包括蓝牙TM、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、紫蜂TM等等。
位置信息模块115是用于检查或获取移动终端的位置信息的模块。位置信息模块的典型示例是GPS(全球定位系统)。根据当前的技术,GPS模块115计算来自三个或更多卫星的距离信息和准确的时间信息并且对于计算的信息应用三角测量法,从而根据经度、纬度和高度准确地计算三维当前位置信息。当前,用于计算位置和时间信息的方法使用三颗卫星并且通过使用另外的一颗卫星校正计算出的位置和时间信息的误差。此外,GPS模块115能够通过实时地连续计算当前位置信息来计算速度信息。
A/V输入单元120用于接收音频或视频信号。A/V输入单元120可以包括相机121和麦克风1220,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元151上。经相机121处理后的图像帧可以存储在存储器160(或其它存储介质)中或者经由无线通信单元110进行发送,可以根据移动终端的构造提供两个或更多相机1210。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通信模块112发送到移动通信基站的格式输出。麦克风122可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,例如当用户需要查询时则输入的内容为查询词,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏,触摸屏能够感应用户触摸行为的开始和结束,基于此可利用触摸屏判断用户的输入是否完成——即用户一次触摸行为结束后的时间到达一定阈值,则判断用户输入完毕,如未到达该阈值下一次触摸行为开始,则判断用户未输入完毕。
接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括显示单元151、音频输出模块152、警报单元153等等。
显示单元151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元151可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块152可以包括扬声器、蜂鸣器等等。
警报单元153可以提供输出以将事件的发生通知给移动终端100。典型的事件可以包括呼叫接收、消息接收、键信号输入、触摸输入等等。除了音频或视频输出之外,警报单元153可以以不同的方式提供输出以通知事件的发生。例如,警报单元153可以以振动的形式提供输出,当接收到呼叫、消息或一些其它进入通信(incomingcommunication)时,警报单元153可以提供触觉输出(即,振动)以将其通知给用户。通过提供这样的触觉输出,即使在用户的移动电话处于用户的口袋中时,用户也能够识别出各种事件的发生。警报单元153也可以经由显示单元151或音频输出模块152提供通知事件的发生的输出。
存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
基于上述移动终端硬件结构以及通信系统,提出本发明方法各个实施例。
如图3所示,本发明第一实施例提出一种数据搜索装置,包括:
输入内容接收模块310,接收用户的输入内容。在本实施例中,用户输入内容不限于各种类型的字符。
第一判断模块320,判断用户停止输入的时间是否超过第一指定阈值。在本实施例中,以网页、应用上的搜索栏为例,自用户每次在搜索栏输入字符后计时作为用户停止输入的时间,如果用户在未超过第一指定阈值的时间内继续输入字符,则可判断用户仍在继续输入搜索词,此时没有必要向搜索服务器发送搜索请求,这可以减少搜索服务器的压力。
搜索词获取模块330,在判断结果为是时,获取用户已输入的多项内容作为搜索词。
搜索请求发送模块340,根据搜索词向搜索服务器发送搜索请求。在本实施例中,为了进一步缓解服务器的压力,可以在用户本地缓存搜索历史和结果,如近期10分钟的搜索结果;用户输入完搜索词后,首先查询本地的缓存记录中是否包含用户查询词对应的搜索结果,如果可以查询到则直接根据缓存反馈结果数据,否则向服务器发起搜索请求。
搜索结果获取模块350,从搜索服务器获取搜索词对应的搜索结果。
进一步地,从服务器获取结果数据后,可以在本地记录服务器的响应时间和搜索记录,并缓存搜索记录,以便下次从缓存的搜索记录中快速查询。
在本实施例中,在用户每次输入内容之后的一端时间内,判断用户是否继续输入,这有利于识别用户是否输入完毕,进而只根据用户输入完毕的搜索词发送搜索请求到服务器,使得发送到服务器的搜索请求减少,减少了服务器的压力,有利于提高搜索服务器的吞吐量。
如图4所示,本发明第二实施例提出一种数据搜索装置,包括:
第一阈值计算模块410,根据已记录的用户多次输入中相邻两次输入的时间间隔,计算第一指定阈值。在本实施例中,可以在具有搜索栏的应用、网页端收集用户的输入行为,分析用户的打字速度,记录相邻两次输入的时间间隔,从而分析出用户输入过程中的停顿的时间范围,并据此设置第一指定阈值;当用户在第一指定阈值的时间内未继续输入时,判断为用户输入完毕。
第二阈值计算模块420,根据已记录的发送多次搜索请求后搜索服务器的响应时间,计算第二指定阈值。在本实施例中,可以统计最近一段时间内(10分钟)进行搜索时服务器的响应时间,根据服务器的响应时间设置第二指定阈值,第二指定阈值越大,两次发送搜索请求的间隔就越长,这是因为:如果服务器响应时间长,则说明服务器的压力很大,此时应该增大发送搜索请求的间隔,减少服务器接收的请求数量,从而达到减低服务器压力的目的;如果服务器响应时间很短,则说明服务器的性能还留有余地,此时可以尽快发送搜索请求,即此时应减少两次发送搜索请求的间隔,以更快为用户反馈搜索结果。当缺少用户发送搜索请求的记录时,可以将第二指定阈值初始化为1秒。
输入内容接收模块430,接收用户的输入内容。
第一判断模块440,判断用户停止输入的时间是否超过第一指定阈值。
搜索词获取模块450,在判断结果为是时,获取用户已输入的多项内容作为搜索词。
第二判断模块460,判断距离发送上一搜索请求的时间是否到达第二指定阈值,在判断结果为是时根据搜索词向搜索服务器发送搜索请求。在本实施例中,可以在具有搜索栏的应用、网页上,通过脚本语言设置一个时间计数器来记录距离上一次发送搜索请求的时间,只有该时间超过第二指定阈值才发送搜索请求。
进一步地,可能某些应用会忽略脚本语言并自动向服务器发送搜索请求,对于这种情况,可以在搜索服务器进行时间记录:即记录上次向用户端反馈搜索结果的时间,当该时间达到一定值(例如,是第二指定阈值)后,响应用户再次发送的搜索请求,该做法有利于避免给服务器太多的压力。
搜索请求发送模块470,根据搜索词向搜索服务器发送搜索请求。
搜索结果获取模块480,从搜索服务器获取搜索词对应的搜索结果。
根据本实施例的技术方案,相比于前述实施例不变的第一阈值,本实施例中合理地估算了用户输入过程中停顿的时间(第一阈值)、连续发送服务请求的间隔时间(第二阈值),能够准确识别用户输入是否完成,以及可以分析服务器当前的压力情况,从而避免密集发送搜索请求到服务器,从而可以减少服务器的压力。
本发明第三实施例提出一种数据搜索装置,包括:
输入内容接收模块310,接收用户的输入内容。
第一判断模块320,判断用户停止输入的时间是否超过第一指定阈值。
搜索词获取模块330,在判断结果为是时,获取用户已输入的多项内容作为搜索词。
搜索请求发送模块340,根据搜索词向搜索服务器发送搜索请求。
搜索服务器收到搜索请求后,从预设的搜索缓存记录中查询搜索词对应的搜索结果,并在未查询到搜索词的搜索结果后在搜索数据库中按搜索词获取搜索词对应的搜索结果;搜索缓存记录中包含用户已发送搜索请求中至少一个搜索词的搜索结果。
具体地,搜索服务器预先统计用户发送的多次搜索请求,统计多次搜索请求中不同搜索词的频次,根据不同搜索词的频次大小选择至少一个搜索词的搜索结果作为搜索缓存记录。在本实施例的技术方案中,服务器会统计用户的搜索记录,并根据搜索记录设置用户的常用搜索词,将其搜索结果放在服务器的高速缓存中,以在用户发送同样的搜索词后,进行快速查询。具体地,服务器可以每两个小时,统计用户输入的不同搜索词的频次,并从中选择用户的常用搜索词,将其搜索结果保存到高速缓存中;该高速搜索缓存的大小固定,在用户没输入10个搜索词并发送搜索请求后,重新对用户的搜索词进行统计,以更新高速缓存中的数据,高速缓存的存在有利于提升服务器以往搜索结果的利用率。
搜索结果获取模块350,从搜索服务器获取搜索词对应的搜索结果。在本实施例的技术方案中,服务器首先在高速缓存中查询,如果查询到相应搜索词的搜索结果,则直接返回结果数据,否则向搜索数据库发起查询,有利于提升服务器对以往搜索结果的利用率。
如图5所示,本发明第四实施例提出一种数据搜索方法,包括:
步骤510,接收用户的输入内容。在本实施例中,用户输入内容不限于各种类型的字符。
步骤520,判断用户停止输入的时间是否超过第一指定阈值。在本实施例中,以网页、应用上的搜索栏为例,自用户每次在搜索栏输入字符后计时作为用户停止输入的时间,如果用户在未超过第一指定阈值的时间内继续输入字符,则可判断用户仍在继续输入搜索词,此时没有必要向搜索服务器发送搜索请求,这可以减少搜索服务器的压力。
步骤530,在判断结果为是时,获取用户已输入的多项内容作为搜索词。
步骤540,根据搜索词向搜索服务器发送搜索请求。在本实施例中,为了进一步缓解服务器的压力,可以在用户本地缓存搜索历史和结果,如近期10分钟的搜索结果;用户输入完搜索词后,首先查询本地的缓存记录中是否包含用户查询词对应的搜索结果,如果可以查询到则直接根据缓存反馈结果数据,否则向服务器发起搜索请求。
步骤550,从搜索服务器获取搜索词对应的搜索结果。
进一步地,从服务器获取结果数据后,可以在本地记录服务器的响应时间和搜索记录,并缓存搜索记录,以便下次从缓存的搜索记录中快速查询。
在本实施例中,在用户每次输入内容之后的一端时间内,判断用户是否继续输入,这有利于识别用户是否输入完毕,进而只根据用户输入完毕的搜索词发送搜索请求到服务器,使得发送到服务器的搜索请求减少,减少了服务器的压力,有利于提高搜索服务器的吞吐量。
如图6所示,本发明第五实施例提出一种数据搜索方法,包括:
步骤610,根据已记录的用户多次输入中相邻两次输入的时间间隔,计算第一指定阈值。在本实施例中,可以在具有搜索栏的应用、网页端收集用户的输入行为,分析用户的打字速度,记录相邻两次输入的时间间隔,从而分析出用户输入过程中的停顿的时间范围,并据此设置第一指定阈值;当用户在第一指定阈值的时间内未继续输入时,判断为用户输入完毕。
步骤620,根据已记录的发送多次搜索请求后搜索服务器的响应时间,计算第二指定阈值。在本实施例中,可以统计最近一段时间内(10分钟)进行搜索时服务器的响应时间,根据服务器的响应时间设置第二指定阈值,第二指定阈值越大,两次发送搜索请求的间隔就越长,这是因为:如果服务器响应时间长,则说明服务器的压力很大,此时应该增大发送搜索请求的间隔,减少服务器接收的请求数量,从而达到减低服务器压力的目的;如果服务器响应时间很短,则说明服务器的性能还留有余地,此时可以尽快发送搜索请求,即此时应减少两次发送搜索请求的间隔,以更快为用户反馈搜索结果。当缺少用户发送搜索请求的记录时,可以将第二指定阈值初始化为1秒。
步骤630,接收用户的输入内容。
步骤640,判断用户停止输入的时间是否超过第一指定阈值。
步骤650,在判断结果为是时,获取用户已输入的多项内容作为搜索词。
步骤660,判断距离发送上一搜索请求的时间是否到达第二指定阈值,在判断结果为是时根据搜索词向搜索服务器发送搜索请求。在本实施例中,可以在具有搜索栏的应用、网页上,通过脚本语言设置一个时间计数器来记录距离上一次发送搜索请求的时间,只有该时间超过第二指定阈值才发送搜索请求。
进一步地,可能某些应用会忽略脚本语言并自动向服务器发送搜索请求,对于这种情况,可以在搜索服务器进行时间记录:即记录上次向用户端反馈搜索结果的时间,当该时间达到一定值(例如,是第二指定阈值)后,响应用户再次发送的搜索请求,该做法有利于避免给服务器太多的压力。
步骤670,根据搜索词向搜索服务器发送搜索请求。
步骤680,从搜索服务器获取搜索词对应的搜索结果。
根据本实施例的技术方案,相比于前述实施例不变的第一阈值,本实施例中合理地估算了用户输入过程中停顿的时间(第一阈值)、连续发送服务请求的间隔时间(第二阈值),能够准确识别用户输入是否完成,以及可以分析服务器当前的压力情况,从而避免密集发送搜索请求到服务器,从而可以减少服务器的压力。
如图7所示,本发明第六实施例提出一种数据搜索装置,包括:
步骤710,接收用户的输入内容。
步骤720,判断用户停止输入的时间是否超过第一指定阈值。
步骤730,在判断结果为是时,获取用户已输入的多项内容作为搜索词。
步骤740,根据搜索词向搜索服务器发送搜索请求。
步骤750,搜索服务器收到搜索请求后,从预设的搜索缓存记录中查询搜索词对应的搜索结果,并在未查询到搜索词的搜索结果后在搜索数据库中按搜索词获取搜索词对应的搜索结果;搜索缓存记录中包含用户已发送搜索请求中至少一个搜索词的搜索结果。
具体地,搜索服务器预先统计用户发送的多次搜索请求,统计多次搜索请求中不同搜索词的频次,根据不同搜索词的频次大小选择至少一个搜索词的搜索结果作为搜索缓存记录。在本实施例的技术方案中,服务器会统计用户的搜索记录,并根据搜索记录设置用户的常用搜索词,将其搜索结果放在服务器的高速缓存中,以在用户发送同样的搜索词后,进行快速查询。具体地,服务器可以每两个小时,统计用户输入的不同搜索词的频次,并从中选择用户的常用搜索词,将其搜索结果保存到高速缓存中;该高速搜索缓存的大小固定,在用户没输入10个搜索词并发送搜索请求后,重新对用户的搜索词进行统计,以更新高速缓存中的数据,高速缓存的存在有利于提升服务器以往搜索结果的利用率。
步骤760,从搜索服务器获取搜索词对应的搜索结果。在本实施例的技术方案中,服务器首先在高速缓存中查询,如果查询到相应搜索词的搜索结果,则直接返回结果数据,否则向搜索数据库发起查询,有利于提升服务器对以往搜索结果的利用率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据搜索装置,其特征在于,包括:
输入内容接收模块,接收用户的输入内容;
第一判断模块,判断所述用户停止输入的时间是否超过第一指定阈值;
搜索词获取模块,在判断结果为是时,获取所述用户已输入的多项内容作为搜索词;
搜索请求发送模块,根据所述搜索词向搜索服务器发送搜索请求;
搜索结果获取模块,从所述搜索服务器获取所述搜索词对应的搜索结果。
2.根据权利要求1所述的装置,其特征在于,还包括:
第一阈值计算模块,根据已记录的所述用户多次输入中相邻两次输入的时间间隔,计算所述第一指定阈值。
3.根据权利要求1所述的装置,其特征在于,还包括:
第二判断模块,判断距离发送上一搜索请求的时间是否到达第二指定阈值,在判断结果为是时根据所述搜索词向搜索服务器发送搜索请求。
4.根据权利要求3所述的装置,其特征在于,还包括:
第二阈值计算模块,根据已记录的发送多次搜索请求后所述搜索服务器的响应时间,计算所述第二指定阈值。
5.根据权利要求1所述的装置,其特征在于,
所述搜索服务器收到所述搜索请求后,从预设的搜索缓存记录中查询所述搜索词对应的搜索结果,并在未查询到所述搜索词的搜索结果后在搜索数据库中按所述搜索词获取所述搜索词对应的搜索结果;所述搜索缓存记录中包含所述用户已发送搜索请求中至少一个搜索词的搜索结果。
6.根据权利要求5所述的装置,其特征在于,
所述搜索服务器统计所述用户发送的多次搜索请求,统计所述多次搜索请求中不同搜索词的频次,根据所述不同搜索词的频次大小选择所述至少一个搜索词的搜索结果作为所述搜索缓存记录。
7.一种数据搜索方法,其特征在于,包括:
接收用户的输入内容;
判断所述用户停止输入的时间是否超过第一指定阈值;
在判断结果为是时,获取所述用户已输入的多项内容作为搜索词;
根据所述搜索词向搜索服务器发送搜索请求;
从所述搜索服务器获取所述搜索词对应的搜索结果。
8.根据权利要求7所述的方法,其特征在于,在判断所述用户停止输入的时间是否超过第一指定阈值之前,还包括:
根据已记录的所述用户多次输入中相邻两次输入的时间间隔,计算所述第一指定阈值。
9.根据权利要求7所述的方法,其特征在于,在根据所述搜索词向搜索服务器发送搜索请求之前,还包括:
判断距离发送上一搜索请求的时间是否到达第二指定阈值,在判断结果为是时执行根据所述搜索词向搜索服务器发送搜索请求。
10.根据权利要求9所述的方法,其特征在于,还包括:
根据已记录的发送多次搜索请求后所述搜索服务器的响应时间,计算所述第二指定阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610187819.2A CN105677924A (zh) | 2016-03-29 | 2016-03-29 | 数据搜索装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610187819.2A CN105677924A (zh) | 2016-03-29 | 2016-03-29 | 数据搜索装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105677924A true CN105677924A (zh) | 2016-06-15 |
Family
ID=56224449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610187819.2A Pending CN105677924A (zh) | 2016-03-29 | 2016-03-29 | 数据搜索装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677924A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570115A (zh) * | 2016-10-31 | 2017-04-19 | 努比亚技术有限公司 | 应用推荐装置和方法 |
CN106649640A (zh) * | 2016-12-08 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种即时搜索方法及装置 |
CN106682202A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种搜索缓存更新方法及装置 |
CN107590148A (zh) * | 2016-07-07 | 2018-01-16 | 北京奇虎科技有限公司 | 一种推广信息的推送方法和系统 |
CN107734003A (zh) * | 2017-09-26 | 2018-02-23 | 努比亚技术有限公司 | 购物提示方法、终端、服务器及计算机可读存储介质 |
CN107967363A (zh) * | 2017-12-22 | 2018-04-27 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN108259526A (zh) * | 2016-12-28 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 一种数据传输方法和装置 |
CN108446883A (zh) * | 2017-02-16 | 2018-08-24 | 平安科技(深圳)有限公司 | 一种佣金发放处理方法和装置 |
CN108804502A (zh) * | 2018-04-09 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 大数据查询系统、方法、计算机设备及存储介质 |
CN109948042A (zh) * | 2017-12-08 | 2019-06-28 | 北京京东尚科信息技术有限公司 | 处理用户的搜索操作的方法及系统 |
CN111611485A (zh) * | 2020-05-14 | 2020-09-01 | 安徽新华传媒股份有限公司 | 一种智能推荐富媒体教学资源的方法 |
CN114329159A (zh) * | 2021-12-20 | 2022-04-12 | 百度在线网络技术(北京)有限公司 | 搜索方法、装置、电子设备及介质 |
CN114676306A (zh) * | 2022-03-28 | 2022-06-28 | 河南经贸职业学院 | 一种基于人工智能的计算机信息筛选装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546469A (zh) * | 2011-12-29 | 2012-07-04 | 北京百度网讯科技有限公司 | 一种搜索触发的即时通讯群组建立方法和装置 |
CN103678624A (zh) * | 2013-12-18 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 搜索方法、搜索服务器、搜索请求执行方法及终端 |
CN103942319A (zh) * | 2014-04-25 | 2014-07-23 | 北京金山网络科技有限公司 | 一种搜索的方法及装置 |
CN104699836A (zh) * | 2015-03-31 | 2015-06-10 | 北京奇虎科技有限公司 | 一种多关键字的搜索提示方法和装置 |
-
2016
- 2016-03-29 CN CN201610187819.2A patent/CN105677924A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546469A (zh) * | 2011-12-29 | 2012-07-04 | 北京百度网讯科技有限公司 | 一种搜索触发的即时通讯群组建立方法和装置 |
CN103678624A (zh) * | 2013-12-18 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 搜索方法、搜索服务器、搜索请求执行方法及终端 |
CN103942319A (zh) * | 2014-04-25 | 2014-07-23 | 北京金山网络科技有限公司 | 一种搜索的方法及装置 |
CN104699836A (zh) * | 2015-03-31 | 2015-06-10 | 北京奇虎科技有限公司 | 一种多关键字的搜索提示方法和装置 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590148A (zh) * | 2016-07-07 | 2018-01-16 | 北京奇虎科技有限公司 | 一种推广信息的推送方法和系统 |
CN107590148B (zh) * | 2016-07-07 | 2023-05-05 | 三六零科技集团有限公司 | 一种推广信息的推送方法和系统 |
CN106570115B (zh) * | 2016-10-31 | 2020-07-17 | 深圳索信达数据技术有限公司 | 应用推荐装置和方法 |
CN106570115A (zh) * | 2016-10-31 | 2017-04-19 | 努比亚技术有限公司 | 应用推荐装置和方法 |
CN106649640A (zh) * | 2016-12-08 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种即时搜索方法及装置 |
CN106649640B (zh) * | 2016-12-08 | 2020-05-12 | 武汉斗鱼网络科技有限公司 | 一种即时搜索方法及装置 |
CN108259526A (zh) * | 2016-12-28 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 一种数据传输方法和装置 |
CN108259526B (zh) * | 2016-12-28 | 2021-04-27 | 阿里巴巴集团控股有限公司 | 一种数据传输方法和装置 |
CN106682202A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种搜索缓存更新方法及装置 |
US11734276B2 (en) | 2016-12-29 | 2023-08-22 | Beijing Qiyi Century Science & Technology Co., Ltd. | Method and apparatus for updating search cache to improve the update speed of hot content |
CN106682202B (zh) * | 2016-12-29 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 一种搜索缓存更新方法及装置 |
CN108446883A (zh) * | 2017-02-16 | 2018-08-24 | 平安科技(深圳)有限公司 | 一种佣金发放处理方法和装置 |
CN107734003A (zh) * | 2017-09-26 | 2018-02-23 | 努比亚技术有限公司 | 购物提示方法、终端、服务器及计算机可读存储介质 |
CN109948042A (zh) * | 2017-12-08 | 2019-06-28 | 北京京东尚科信息技术有限公司 | 处理用户的搜索操作的方法及系统 |
CN107967363A (zh) * | 2017-12-22 | 2018-04-27 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN108804502A (zh) * | 2018-04-09 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 大数据查询系统、方法、计算机设备及存储介质 |
CN111611485A (zh) * | 2020-05-14 | 2020-09-01 | 安徽新华传媒股份有限公司 | 一种智能推荐富媒体教学资源的方法 |
CN114329159A (zh) * | 2021-12-20 | 2022-04-12 | 百度在线网络技术(北京)有限公司 | 搜索方法、装置、电子设备及介质 |
CN114676306A (zh) * | 2022-03-28 | 2022-06-28 | 河南经贸职业学院 | 一种基于人工智能的计算机信息筛选装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677924A (zh) | 数据搜索装置和方法 | |
CN107341187B (zh) | 搜索处理方法、装置、设备和计算机存储介质 | |
CN105939416A (zh) | 移动终端及其应用预启动方法 | |
CN105718027A (zh) | 后台应用程序的管理方法及移动终端 | |
CN105897873A (zh) | 一种更换绑定手机号的装置和方法 | |
CN106911806A (zh) | 一种推送消息的方法、终端、服务器及系统 | |
CN107132931A (zh) | 一种搜索方法及服务器 | |
CN105141507A (zh) | 社交应用的头像显示方法和装置 | |
CN105718200A (zh) | 基于压力传感器的页面切换装置、方法及终端 | |
CN104735144A (zh) | 基于大数据改变终端状态的方法及服务器 | |
CN104777982B (zh) | 终端输入法的切换方法及装置 | |
CN109033263A (zh) | 一种应用推荐方法及终端 | |
CN106249989A (zh) | 一种分享内容时的社交应用程序图标排列方法及移动终端 | |
CN105262819A (zh) | 一种移动终端及其实现推送的方法 | |
CN106933459A (zh) | 多任务管理方法及移动终端 | |
CN106033468A (zh) | 网页内容抽取方法、装置及系统 | |
CN105897695A (zh) | 一种网址白名单选择方法、终端及服务器 | |
CN105099701A (zh) | 一种终端及终端鉴权的方法 | |
CN106598538A (zh) | 指令集合更新方法及系统 | |
CN105357293B (zh) | 一种数据缓存的更新方法及服务器 | |
CN106778165A (zh) | 指纹处理装置及方法 | |
CN106534560A (zh) | 移动终端控制装置及方法 | |
CN104780278B (zh) | 基于通信数据的路线生成方法及装置 | |
CN106682062A (zh) | 一种网址导航处理方法及终端 | |
CN105975500A (zh) | 数据处理方法、数据统计系统及后台管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160615 |