一种高速缓存的方法及设备的制作方法

文档序号:6600349阅读:100来源:国知局
专利名称:一种高速缓存的方法及设备的制作方法
技术领域
本发明涉及互联网通信领域,特别涉及一种高速缓存的方法及设备。
背景技术
随着互联网技术的迅速发展,搜索引擎得到广泛地应用,而用户在使用搜索引擎时,非常注重搜索引擎的搜索效率。目前的搜索引擎广泛使用Cache (高速缓存)技术来提高搜索效率。目前的Cache技术具体为将热门的检索串和其对应的搜索结果存储在Cache系统中;当Web服务器收到来自客户端的检索请求,创建CGI (公共网关接口,Common Gateway Interface)进程,CGI进程将该检索请求转发给搜索引擎,其中,该检索请求中携带检索串;搜索引擎根据该检索请求中携带的检索串,搜索Cache系统,如果搜索出对应的搜索结果,则返回给CGI进程,并将该检索串的访问频率加1 ;否则,从后台搜索对应的搜索结果, 并返给CGI进程,同时将该检索串与该搜索结果存储在Cache系统中且设置该检索串的访问频率为1 ;CGI进程接收返回的搜索结果,将接收的搜索结果拼装成搜索结果页,并发送给客户端。在实现本发明的过程中,发明人发现现有技术至少存在以下问题每个检索请求都将触发Web服务器创建一个CGI进程,再由CGI进程转发该检索请求给搜索引擎,当搜索完成后Web服务器需要销毁该CGI进程,而CGI进程的创建和销毁以及CGI进程转发检索请求都需要消耗时间和资源。

发明内容
为了能够减少时间和资源的消耗,本发明提供了一种Cache的方法及设备。所述技术方案如下—种高速缓存的方法,所述方法包括接收携带检索串的检索请求,根据所述检索串搜索文件系统中存储的搜索结果页;如果搜索出对应的搜索结果页,则增加所述搜索结果页的访问频率;如果没有搜索出对应的搜索结果页,则通过搜索引擎搜索所述检索串对应的搜索结果,将所述搜索结果拼装成搜索结果页并存储在所述文件系统中。一种高速缓存的设备,所述设备包括搜索模块,用于接收携带检索串的检索请求,根据所述检索串搜索文件系统中存储的搜索结果页;递增模块,用于如果搜索出对应的搜索结果页,则增加所述搜索结果页的访问频率;存储模块,用于如果没有搜索出对应的搜索结果页,则通过搜索引擎搜索所述检索串对应的搜索结果,将所述搜索结果拼装成搜索结果页并存储在所述文件系统中。
当接收到携带检索串的请求时,根据该检索串直接搜索文件系统,如果搜索出对应的搜索结果页,则增加该搜索结果页的访问次数,否则,再搜索该检索串对应的搜索结果,将搜索结果拼装成搜索结果页并存储在文件系统中。如此,减少创建CGI进程的次数, 减少CGI进程转发检索请求的次数以及减少销毁CGI进程的次数,从而减少时间和资源的消耗。


图1是本发明实施例1提供的一种高速缓存的方法的流程图;图2是本发明实施例2提供的一种高速缓存的方法的流程图;图3是本发明实施例3提供的一种高速缓存的设备的流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1如图1所示,本发明实施例提供了一种高速缓存的方法,包括步骤101 接收检索请求,该检索请求中携带检索串;步骤102 根据该检索串搜索文件系统中存储的搜索结果页,如果搜索出对应的搜索结果页,则执行步骤103,如果没有搜索出对应的搜索结果页,则执行步骤104 ;步骤103 增加该搜索结果页的访问频率;步骤104 通过搜索引擎搜索该检索串对应的搜索结果,将搜索的搜索结果拼装成搜索结果页并存储在文件系统中。在本发明实施例中,当接收到检索请求后,直接搜索文件系统中是否存在检索请求中携带的检索串对应的搜索结果页,如果是,则增加该搜索结果页的访问频率,如果否, 搜索该检索串对应的搜索结果,将搜索结果拼装成搜索结果页并存储在文件系统中。由于在文件系统中直接存储检索的搜索结果页,当接收携带检索串的检索请求后,直接搜索文件系统中是否存在该检索串对应的搜索结果页,从而减少了创建CGI进程的次数,减少了 CGI进程转发检索请求的次数以及减少了撤消CGI进程的次数,从而减少了时间和资源的消耗。实施例2如图2所示,本发明实施例提供了一种高速缓存的方法,包括步骤201 接收客户端发送的检索请求,该检索请求中携带检索串;其中,用户向客户端提交检索串后,客户端接收提交的检索串,再发送携带该检索串的检索请求。其中,客户端可以为浏览器。例如,用户在浏览器中打开搜索引擎的主页,并在浏览器中输入需要搜索的检索串为“Keyword”,然后再向浏览器提交该检索串,浏览器接收提交的检索串“Keyword”,然后发送携带检索串“Keyword”的检索请求。步骤202 根据该检索请求中携带的检索串搜索文件系统,如果搜索出对应的搜索结果页,则执行步骤203,如果没有搜索出对应的搜索结果页,则执行步骤204 ;
其中,预先创建文件系统,将热门的检索串对应的搜索结果页以Html (HyperText Mark-up Language,超文本标记语言)文件的形式存储在文件系统中,且直接以检索串作为其对应的搜索结果页的文件名。当接收到检索请求后,根据该检索请求中携带的检索串,直接搜索文件系统中是否存在文件名为该检索串的搜索结果页。例如,如表1所示的文件系统,在表1中存储热门检索串的搜索结果页,且在表1 中以Html文件的形式存储检索串的搜索结果页,以检索串作为搜索结果页的文件名,如表 1的第二行存储的文件名为“腾讯网”的搜索结果页,而“腾讯网”为检索串。所以在本步骤中,直接从如表1所示的文件系统中搜索是否存在文件名为检索串“Keyword”的搜索结果页。表 权利要求
1.一种高速缓存的方法,其特征在于,所述方法包括接收携带检索串的检索请求,根据所述检索串搜索文件系统中存储的搜索结果页; 如果搜索出对应的搜索结果页,则增加所述搜索结果页的访问频率; 如果没有搜索出对应的搜索结果页,则通过搜索引擎搜索所述检索串对应的搜索结果,将所述搜索结果拼装成搜索结果页并存储在所述文件系统中。
2.如权利要求1所述的方法,其特征在于,所述将所述搜索结果拼装成搜索结果页并存储在所述文件系统中,具体包括将所述搜索结果拼装成搜索结果页;判断所述文件系统中未被占用的空间是否大于或等于存储所述拼装的搜索结果页所需要的空间;如果是,将所述搜索结果页存储在所述文件系统中;如果否,淘汰所述文件系统中的最近最少访问的搜索结果页,直到所述文件系统中未被占用的空间大于或等于存储所述拼装的搜索结果页所需要的空间时为止,将所述搜索结果页存储在所述文件系统中。
3.如权利要求1所述的方法,其特征在于,所述文件系统包括内存子系统和磁盘子系统;相应地,所述将所述搜索结果拼装成搜索结果页并存储在所述文件系统中,具体包括将所述搜索结果拼装成搜索结果页;判断所述内存子系统中未被占用的空间是否大于或等于存储所述拼装的搜索结果页所需要的空间;如果是,将所述搜索结果页存储在所述内存子系统中;如果否,将所述内存子系统中的最近最少访问的搜索结果页淘汰到所述磁盘子系统中,直到所述内存子系统中未被占用的空间大于或等于存储所述拼装的搜索结果页时为止,将所述搜索结果页存储在所述内存子系统中。
4.如权利要求3所述的方法,其特征在于,所述将所述内存子系统中的最近最少访问的搜索结果页淘汰到所述磁盘子系统中,具体包括判断所述磁盘子系统中未被占用的空间是否大于或等于存储所述内存子系统中的最近最少访问的搜索结果页所需要的空间;如果是,将所述最近最少访问的搜索结果页存储在所述磁盘子系统中,删除所述内存子系统中的最近最少访问的搜索结果页;如果否,淘汰所述磁盘子系统中的最近最少访问的搜索结果页,直到所述磁盘子系统中未被占用的空间大于或等于存储所述内存子系统中的最近最少访问的搜索结果页时为止,将所述内存子系统中的最近最少访问的搜索结果页存储在所述磁盘子系统中,并删除所述内存子系统中的最近最少访问的搜索结果页。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括每隔一个周期,将所述内存子系统中的访问频率最小的第一阈值个搜索结果页淘汰到所述磁盘子系统中,将所述磁盘子系统中的访问频率最大的第一阈值个搜索结果页加载到所述内存子系统中。
6.如权利要求1-4任意一项权利要求所述的方法,其特征在于,所述将所述搜索结果拼装成搜索结果页并存储在所述文件系统中之后,还包括将所述拼装的搜索结果页的文件名设置为所述检索串,以及设置所述拼装的搜索结果页的访问频率的初值。
7.如权利要求1-4任意一项权利要求所述的方法,其特征在于,所述方法还包括 每隔一个周期,根据用户日志,淘汰所述文件系统中的最近最少访问的搜索结果页。
8.如权利要求1-4任意一项权利要求所述的方法,其特征在于,所述方法还包括每隔一个周期,根据用户日志统计当前周期内所述搜索引擎内的Cache系统中的每个检索串的访问频率,从所述Cache系统中获取访问频率最大的第二阈值个检索串和其对应的搜索结果,将所述检索串对应的搜索结果拼装成搜索结果页,将所述搜索结果页加载在所述文件系统中,并将所述搜索结果页的文件名设置为所述检索串。
9.一种高速缓存的设备,其特征在于,所述设备包括搜索模块,用于接收携带检索串的检索请求,根据所述检索串搜索文件系统中存储的搜索结果页;递增模块,用于如果搜索出对应的搜索结果页,则增加所述搜索结果页的访问频率; 存储模块,用于如果没有搜索出对应的搜索结果页,则通过搜索引擎搜索所述检索串对应的搜索结果,将所述搜索结果拼装成搜索结果页并存储在所述文件系统中。
10.如权利要求9所述的设备,其特征在于,所述存储模块具体包括第一搜索单元,用于通过所述搜索引擎搜索所述检索串对应的搜索结果,将所述搜索结果拼装成搜索结果页;第一判断单元,用于判断所述文件系统中未被占用的空间是否大于或等于存储所述拼装的搜索结果页所需要的容量;第一存储单元,用于如果是,将所述搜索结果页存储在所述文件系统中; 第二存储单元,用于如果否,淘汰所述文件系统中的最近最少访问的搜索结果页,直到所述文件系统中未被占用的空间大于或等于存储所述拼装的搜索结果页所需要的空间时为止,将所述搜索结果页存储在所述文件系统中。
11.如权利要求9所述的设备,其特征在于,所述文件系统包括内存子系统和磁盘子系统;相应地,所述存储模块具体包括第二搜索单元,用于通过所述搜索引擎搜索所述检索串对应的搜索结果,将所述搜索结果拼装成搜索结果页;第二判断单元,用于判断所述内存子系统中的未被占用的空间是否大于或等于存储所述拼装的搜索结果页所需要的空间;第三存储单元,用于如果所述第二判断单元判断的结果为是,则将所述搜索结果页存储在所述内存子系统中;第四存储单元,用于如果所述第二判断单元判断的结果为否,则将所述内存子系统中最近最少访问的搜索结果页淘汰到所述磁盘子系统中,直到所述内存子系统中未被占用的空间大于或等于存储所述拼装的搜索结果页时为止,将所述搜索结果页存储在所述内存子系统中。
12.如权利要求11所述的方法,其特征在于,所述第四存储单元具体包括判断子单元,用于如果所述第二判断单元判断的结果为否,则判断所述磁盘子系统中未占用的空间是否大于或等于存储所述内存子系统中的最近最少访问的搜索结果页所需要的空间;第一删除子单元,用于如果是,将所述最近最少访问的搜索结果页存储在所述磁盘子系统中,删除所述内存子系统中的最近最少访问的搜索结果页;第二删除子单元,用于如果否,淘汰所述磁盘子系统中的最近最少访问的搜索结果页, 直到所述磁盘子系统中未被占用的空间大于或等于存储所述内存子系统中的最近最少访问的搜索结果页时为止,将所述内存子系统中的最近最少访问的搜索结果页存储在所述磁盘子系统中,并删除所述内存子系统中的最近最少访问的搜索结果页; 存储子单元,用于将所述搜索结果页存储在的述内存子系统中。
13.如权利要求11或12所述的设备,其特征在于,所述设备还包括对换模块,用于每隔一个周期,将所述内存子系统中的访问频率最小的第一阈值个搜索结果页淘汰到所述磁盘子系统中,将所述磁盘子系统中的访问频率最大的第一阈值个搜索结果页加载到所述内存子系统中。
14.如权利要求9-12任意一项权利要求所述的设备,其特征在于,所述设备还包括 设置模块,用于将所述拼装的搜索结果页的文件名设置为所述检索串,以及设置所述拼装的搜索结果页的访问频率的初值。
15.如权利要求9-12任意一项权利要求所述的设备,其特征在于,所述设备还包括 淘汰模块,用于每隔一个周期,根据用户日志,淘汰所述文件系统中的最近最少访问的搜索结果页。
16.如权利要求9-14任意一项权利要求所述的设备,其特征在于,所述设备还包括 加载模块,用于每一个周期,根据用户日志,统计当前周期内所述Cache系统中的每个检索串的访问频率,从所述Cache系统中获取访问频率最大的第二阈值个检索串和其对应的搜索结果,将所述搜索结果拼装成搜索结果页,将所述搜索结果页加载在所述文件系统中,并将所述搜索结果页的文件名为所述检索串。
全文摘要
本发明公开了一种高速缓存的方法及设备,属于互联网通信领域。所述方法包括接收携带检索串的检索请求,根据所述检索串搜索文件系统中存储的搜索结果页;如果搜索出对应的搜索结果页,则增加所述搜索结果页的访问频率;如果没有搜索出对应的搜索结果页,则通过搜索引擎搜索所述检索串对应的搜索结果,将所述搜索结果拼装成搜索结果页并存储在所述文件系统中。所述设备包括搜索模块、递增模块和存储模块。本发明能够减少时间和资源的消耗。
文档编号G06F17/30GK102214172SQ20101014176
公开日2011年10月12日 申请日期2010年4月6日 优先权日2010年4月6日
发明者禹荣凌 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1