[发明专利]获取动态Feed索引的方法和系统有效
申请号: | 201110439565.6 | 申请日: | 2011-12-23 |
公开(公告)号: | CN103177027A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 国兴旺 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 动态 feed 索引 方法 系统 | ||
1.一种获取动态Feed索引的方法,其特征在于,采用键值对存储结构建立索引表缓存,所述索引表缓存中的Feed索引与关系型数据库中的相应Feed索引一致;所述方法包括:
客户端服务器向索引表缓存和关系型数据库发送查询请求;
客户端服务器将索引表缓存和关系型数据库中先返回的查询结果作为所获取的Feed索引。
2.根据权利要求1所述的方法,其特征在于,
所采用的键值对存储结构为Redis存储系统中的有序集合结构,所述有序集合结构包括哈希表和跳跃表,
所述哈希表中存放用户与优先级的映射,该优先级设置为用户的动态标识FeedId;
所述跳跃表中存放根据所述优先级排序后的所有用户的Feed索引。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若客户端服务器接收到的先返回的查询结果来自索引表缓存,则客户端服务器丢弃接收到的关系型数据库返回的查询结果;
若客户端服务器接收到的先返回的查询结果来自关系型数据库,则客户端服务器丢弃接收到的索引表缓存返回的查询结果;当客户端服务器没有接收到索引表缓存返回的查询结果或者接收到索引表缓存返回的内容为空的消息时,采用批量填充的方式将查询结果中的Feed索引填充至索引表缓存。
4.根据权利要求1所述的方法,其特征在于,根据用户标识在多个索引表缓存中分片存储Feed索引,以及,根据用户标识在多个关系型数据库中分片存储Feed索引,
在客户端服务器向索引表缓存和关系型数据库发送查询请求之前,所述方法还包括:
客户端服务器根据该查询请求中所包括的用户标识,在多个索引表缓存中选取相应的索引表缓存,并在多个关系型数据库中选取相应的关系型数据库,客户端服务器向所选取的索引表缓存和所选取的关系型数据库发送查询请求。
5.根据权利要求1所述的方法,其特征在于,查询索引表缓存得到查询结果的方法包括:
根据查询请求中的用户标识获取到用户的偏移量,所述偏移量指示当前所需获取索引表时的起始位置,所述查询请求中包括用户标识和查询内容指示信息;
根据查询请求中的查询内容指示信息,在相应的索引表中从所述起始位置开始提取预定条数的Feed索引,作为查询结果,其中,所述索引表为新动态索引表或者时间线索引表。
6.根据权利要求5所述的方法,其特征在于,所述根据查询请求中的用户标识获取到用户的偏移量包括:
索引表缓存根据用户标识通过zrevrank命令获取到用户的偏移量;
所述根据查询请求中的查询内容指示信息,在相应的索引表中从所述起始位置开始提取预定条数的Feed索引,作为查询结果包括:
索引表缓存根据查询内容指示信息通过zrevrange命令在相应的索引表中从所述起始位置开始提取预定条数的Feed索引,作为查询结果。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在索引表缓存中设置滑动过期阈值;
当一个用户的Feed索引在索引表缓存中的存放时间超过所述滑动过期阈值时,删除该用户在索引表缓存中的Feed索引。
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
客户端服务器向索引表缓存发送请求,请求索引表缓存将一个新用户的Feed索引插入到索引表缓存或请求索引表缓存在已有用户的Feed索引中插入新的Feed索引;以及,
客户端服务器向关系型数据库发送请求,请求关系型数据库将一个新用户的Feed索引插入到关系型数据库或请求关系型数据库在已有用户的Feed索引中插入新的Feed索引。
9.一种获取动态Feed索引的系统,其特征在于,所述系统中设置有采用键值对存储结构建立索引表缓存,所述系统还包括关系型数据库和客户端服务器,
所述索引表缓存中的Feed索引与关系型数据库中的相应Feed索引一致;
所述客户端服务器向索引表缓存和关系型数据库发送查询请求,并将索引表缓存和关系型数据库中先返回的查询结果作为所获取的Feed索引。
10.根据权利要求9所述的系统,其特征在于,
若客户端服务器接收到的先返回的查询结果来自索引表缓存,则客户端服务器丢弃接收到的关系型数据库返回的查询结果;
若客户端服务器接收到的先返回的查询结果来自关系型数据库,则客户端服务器丢弃接收到的索引表缓存返回的查询结果时;当客户端服务器没有接收到索引表缓存返回的查询结果或者接收到索引表缓存返回的内容为空的消息时,采用批量填充的方式将查询结果中的Feed索引填充至索引表缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110439565.6/1.html,转载请声明来源钻瓜专利网。