[发明专利]获取动态Feed索引的方法和系统有效
| 申请号: | 201110439565.6 | 申请日: | 2011-12-23 |
| 公开(公告)号: | CN103177027A | 公开(公告)日: | 2013-06-26 |
| 发明(设计)人: | 国兴旺 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
| 地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 获取 动态 feed 索引 方法 系统 | ||
技术领域
本发明涉及以用户动态为业务核心的互联网技术领域,特别涉及一种获取动态Feed索引的方法和系统。
背景技术
随着社交网络(如国外的facebook,国内的renren网)、微博(如国外的twitter,国内的新浪网博)等以用户的动态(Feed)内容为中心的互联网产品的兴起,如何对海量的数据进行存储和快速查询到用户的Feed列表已经被越来越多的技术人员或产品人员所关注,成为研究的一个重要课题;而系统查询的响应速度会直接影响到最终用户的体验,成为这类互联网产品的实现或性能优化的一个突出问题。
这类互联网产品的一个共同特点就是以用户Feed(或称为用户生成内容)为数据核心,之后建立用户与Feed的索引表,如新动态(NewsFeed)或时间线(Timelines)关系表,用户阅读时根据一定的条件查询这些关系表(索引表),把对应的可阅读Feed的主键(Key)集合查找出来,之后再根据这些主键集合批量提取Feed内容组成可阅读的Feed列表,供用户消费。
现有方案中一般会使用关系型数据库(如数据库mysql)中的一张或多张结构相似的数据表来存储索引表,每次在查询索引表时,需要利用结构化查询语言(Structured Query Language,SQL)对查询语句进行解析(Parse),根据解析结果得到所需查询的索引表。
然而,现有获取Feed的索引表至少具有如下缺陷:
现有大量的Feed索引表的查询依赖于关系型数据库,在高并发查询和索引表的数据量较大的场景会导致查询性能急剧降低,尤其对使用mysql这种关系型数据库的场景,每次查询都要进行查询语句的SQL解析,会严重影响系统的性能,导致响应缓慢。
现有这种只依赖于关系型数据库的查询方案,已经越来越不能满足高并发和海量数据的查询需求,成为整个业务系统的性能瓶颈。
发明内容
本发明实施例提供了一种获取动态Feed索引的方法和系统,以解决现有方案依赖于关系型数据库的查询,无法满足高并发和海量数据的查询需求的问题。
为达到上述目的,本发明实施例采用了如下技术方案:
本发明实施例提供了一种获取动态Feed索引的方法,采用键值对存储结构建立索引表缓存,所述索引表缓存中的Feed索引与关系型数据库中的相应Feed索引一致;所述方法包括:
客户端服务器向索引表缓存和关系型数据库发送查询请求;
客户端服务器将索引表缓存和关系型数据库中先返回的查询结果作为所获取的Feed索引。
本发明实施例还提供了一种获取动态Feed索引的系统,所述系统中设置有采用键值对存储结构建立索引表缓存,所述系统还包括关系型数据库和客户端服务器,
所述索引表缓存中的Feed索引与关系型数据库中的相应Feed索引一致;
所述客户端服务器向索引表缓存和关系型数据库发送查询请求,并将索引表缓存和关系型数据库中先返回的查询结果作为所获取的Feed索引。
本发明实施例的有益效果是:
本发明实施例提供了一种新型的并行查询机制,同时使用所设置的索引表缓存和关系型数据库查询数据,使用先返回的查询结果,不但保证了查询的快速响应,也避免了对关系型数据库的依赖,无需在每次查询时进行SQL解析,从而保证了在高并发查询和索引表的数据量较大的场景下也能得到较佳的查询性能。
进一步的,本发明实施例通过缓存操作减少了磁盘的I/O操作,降低了数据访问的压力,以尽可能降低Feed索引的查询业务对系统中其他业务的影响,保证了系统整体性能的稳定。
附图说明
图1为本发明实施例一提供的获取Feed索引的方法流程示意图;
图2为采用线性方式访问的方法流程示意图;
图3为Redis存储系统中内存管理的原理示意图;
图4为本发明实施例二提供的获取Feed索引的方法流程示意图;
图5为本发明实施例三提供的获取动态Feed索引的系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例的主要技术构思在于在社交网络(SNS)或微博中利用缓存服务器Redis来实现多维度的用户和Feed关系的索引表缓存(Indexes cache),以提高查询效率的目的。
参见图1,为本发明实施例一提供的获取动态(Feed)索引的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110439565.6/2.html,转载请声明来源钻瓜专利网。





