[发明专利]一种实时更新缓存的方法和系统无效
| 申请号: | 201110213882.6 | 申请日: | 2011-07-28 |
| 公开(公告)号: | CN102279880A | 公开(公告)日: | 2011-12-14 |
| 发明(设计)人: | 鲁林 | 申请(专利权)人: | 深圳市五巨科技有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;孟丽娟 |
| 地址: | 518040 广东省深圳市福田*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实时 更新 缓存 方法 系统 | ||
技术领域
本发明属于搜索技术领域,尤其涉及一种实时更新缓存的方法和系统。
背景技术
目前,在移动互联的应用业务中,关键字搜索是一个比较常见的业务。用户提交关键字搜索,在服务器端需要做多个子产品匹配,如用户搜索“刘德华”,服务器端需要匹配的子产品可能有:音乐、铃声、电子书、视频、图片、新闻、八卦等。因为每个子产品资源记录都是单独存储在一个数据表中的,所以,当进行关键字搜索时,服务器需要分别对每一个子产品的数据表进行搜索,最终才汇总出用户需要的全部搜索结果。
现有技术的搜索方法主要包括两种,第一种搜索方法为:用户每一次提交关键字搜索,服务器端都去各个子产品的数据表搜索结果。例如:假定用户提交的关键字需要匹配10个子产品,每一个子产品数据表的模糊搜索都可能花费1秒的时间,那么,10个子产品的数据表搜索就要花费掉10秒左右的时间,而且是每一次用户提交,都要重新进行搜索,这种搜索方法会导致返回搜索结果太慢,影响用户使用体验,并增大数据库的负荷。
第二种搜索方法是第一种方法的优化,采用一天过期的缓存机制。即将某个关键字搜索结果缓存起来,待后面的用户再来搜索该关键字时,不用去数据表中搜索,直接将缓存中的搜索结果返回给用户,同时,为了保证数据更新,在一天后该关键字的缓存会删除掉,当用户再来搜索该关键字时,服务器端会重新去数据表中搜索结果返回给用户,并将该搜索结果缓存起来,重新实行一天过期的缓存机制。这种采用一天过期的缓存机制的方法虽然大大减少了返回搜索结果给部分用户的时间和减少了数据库的负荷,但当数据表的资源记录有变化(增加、修改和删除)时,缓存数据得不到实时的更新,每天还是至少有一个用户需要花费较长的等待时间去数据表中重新搜索结果,也会影响用户的使用体验。显然,这种关键字搜索方法还是有待优化的。
发明内容
本发明提供了一种实时更新缓存的方法和系统,旨在解决的现有技术中由于缓存数据得不到实时更新影响用户使用体验的问题。
本发明是这样实现的,
一种实时更新缓存的方法,包括
步骤a:在资源管理服务器增加更新缓存功能;
步骤b:判断资源记录是否发生变化,如果资源记录发生变化,执行步骤c;如果资源记录没有发生变化,结束本次缓存更新;
步骤c:将新的资源记录加入数据库中,并实时更新缓存列表中的缓存数据。
本发明的技术方案还包括:所述步骤c具体还包括:获取发生变化的资源记录对应的搜索关键字,并将该搜索关键字加入资源更新列表中。
本发明的技术方案还包括:所述步骤c具体还包括:判断缓存服务器中是否存在缓存列表,如果存在缓存列表,则遍历缓存列表;如果不存在缓存列表,结束本次缓存更新。
本发明的技术方案还包括:所述步骤c具体还包括:遍历缓存列表,判断缓存列表中是否有缓存关键字,如果缓存列表中没有缓存关键字,结束本次缓存更新;如果缓存列表中有缓存关键字,取出一个缓存关键字,并判断资源更新列表中是否包含该缓存关键字。
本发明的技术方案还包括:所述步骤c还包括:如果资源更新列表中包含该缓存关键字,查询数据库重新搜索该缓存关键字对应的新的搜索结果,删除缓存列表中该缓存关键字的缓存数据,将新的搜索结果加入到缓存列表中;如果关键字更新列表中不包含该缓存关键字,则重新遍历缓存列表。
本发明的技术方案还包括:在所述步骤c后还包括:接收用户的关键字搜索请求,判断缓存服务器的缓存列表中是否存在该关键字以及对应的搜索结果缓存,如果缓存列表中存在该关键字以及对应的搜索结果缓存,从缓存列表中读取该关键字对应的搜索结果并输出到移动终端用户;如果缓存列表中不存在该关键字以及对应的搜索结果缓存,则通过查询数据库得到该关键字对应的搜索结果,并将该关键字以及对应的搜索结果加入缓存列表中,并输出到移动终端用户。
本发明采取的另一技术方案为:一种实时更新缓存的系统,包括缓存服务器、数据库和资源管理服务器,所述缓存服务器用于缓存关键字以及该关键字所对应的搜索结果;所述资源管理服务器用于进行资源编辑操作,所述资源管理服务器还包括缓存更新模块,所述缓存更新模块包括第一判断单元和数据更新单元,
所述第一判断单元用于判断资源记录是否发生变化,如果资源记录发生变化,通过数据更新单元更新缓存数据;如果资源记录没有发生变化,结束本次缓存更新;
所述数据更新单元用于将新的资源记录加入数据库中,并实时更新缓存列表中的缓存数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市五巨科技有限公司,未经深圳市五巨科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110213882.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钼、钨杆精密热成形装置
- 下一篇:一种机械式角钢校直机





