一种社交网站Feed流推送方法

文档序号:6505492阅读:267来源:国知局
一种社交网站Feed流推送方法
【专利摘要】本发明涉及社交网站【技术领域】,具体公开了一种社交网站Feed流推送方法;包括:客户端提交或变更SNS社交网站的动态信息的Feed流数据;动态信息进行数据入库,先将数据插入Newsfeed表中,生成对应的短链接字符ID,对应的短链接字符ID匹配动态信息对应内容模版ID和对应TypeID;然后将数据插入到客户端自己的TimeLine表中;调用异步消息队列服务,按照客户端的粉丝列表,将动态信息的数据实时分发给粉丝列表中每一位粉丝ID下的TimeLine表中。本发明使网友在访问网站时保持流畅、动态、及时和准确,给网友提供优越的用户体验,增加了网站访问量和用户量。
【专利说明】一种社交网站Feed流推送方法

【技术领域】
[0001]本发明涉及社交网站【技术领域】,尤其是涉及一种社交网站Feed流推送方法。

【背景技术】
[0002]SNS泛指社会性网络服务,旨在帮助人们建立社会性网络的互联网应用服务。SNS社交网站,全称Social Network Site,是面向社会性网络的互联网服务,通过“熟人的熟人”来进行网络社交拓展。SNS社交网站是依据六度分隔理论建立的网站,六度分隔理论简单地说就是:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。”按照六度分隔理论,每个个体的社交圈都不断放大,最后成为Iv大型网络。
[0003]SNS社交网站具有闻度的黏粘性和及时性,人和人的关系比较复杂;为了能将一个网友的动态及时、准确的展示给相关人群以提高该网友的关注度,web服务器需要同时处理大量的动态数据,从而影响了 web服务器的性能,导致网友访问网站出现慢、卡、死等现象。如何能将网友的动态及时、准确的展示给相关人群而不影响web服务器的性能,目前还没有有效的解决方案。


【发明内容】

[0004]本发明所解决的技术问题是提供一种社交网站Feed流推送方法,本发明将以MongoDB作为数据库,利用异步Memcache Q消息队列调用Windows服务分发用户产生动态,解决了 SNS网站不能及时的将网友动态展示给相关人群以提高该网友的关注度,同时因web服务器处理大量动态数据而影响web服务器性能,导致用户访问网站出现慢、卡、死等问题。本发明使网友在访问网站时保持流畅、动态、及时和准确,给网友提供优越的用户体验,增加了网站访问量和用户量。
[0005]为了解决上述技术问题,本发明提供了一种社交网站Feed流推送方法;包括:
[0006]步骤一:客户端提交或变更SNS社交网站的动态信息的Feed流数据;
[0007]步骤二:所述动态信息进行数据入库,先将所述数据插入Newsfeed表中,生成对应的短链接字符ID,对应的所述短链接字符ID匹配所述动态信息对应内容模版ID和对应TypeID ;然后将所述数据插入到所述客户端自己的TimeLine表中;
[0008]步骤三:调用异步消息队列服务,按照所述客户端的粉丝列表,将所述动态信息的所述数据实时分发给所述粉丝列表中每一位粉丝ID下的TimeLine表中。
[0009]优选地,所述Feed流包括图片流、视频流和音频流。
[0010]更加优选地,所述Timeline表存储最近的1000条,所述Timeline表中字段Index存储O到999的索引值。
[0011]更加优选地,所述客户端更新所述动态信息时,所述Timeline表从O?999 一次循环更新,获取或设置所述Timeline表中数据的索引位置,对所述动态信息进行覆盖操作,保持存储所述客户端的1000条最近的所述动态信息。
[0012]更加优选地,所述客户端更新所述动态信息时,当插入一条所述Timeline表中数据i,则所述字段Index自增I,然后求余1000,得到Timeline表中的字段Index的值。
[0013]更加优选地,所述步骤三中,所述动态信息存储在MongoDB数据库中。
[0014]更加优选地,所述步骤三中,调用异步消息队列服务时,采用MemcacheQ消息队列服务器。
[0015]其中,所述Feed流是指客户端产生的动态流;所述Newsfeed是Facebook3月8日发布的以重新设计后的最新信息流,这是该公司到目前为止对这项功能做出的重要改动,新版信息流将突出照片和音乐类内容,一位Facebook社交广告部门员工透露,用户将在新版信息流中看到更大尺寸的图片。用户可以看到好友上传到Facebook和Instagram的照片,照片展示方式可能会加入"全屏"功能。音乐流中则将包括好友正在听的音乐信息,以及附近地区的音乐会和艺人上传的信息。
[0016]其中,所述Timeline的中文译文是时间轴、时光轴,时间线等,它是一种新兴的展现方式,以时间轴的形式展现分享,让用户更直观的看到自己想要的信息,Timeline的展现形式的多种多样,能够让网友更加直观的看到,我的这一刻在做什么,那一刻做过什么,页面清爽,表现形式特别,给人耳目一新的感觉,受到广大网友的喜爱。随着科技的不断发达,Timeline陆续推出更多的新功能,用户可以更好的分享电影、新闻和音乐,还可以记录自己的故事,让用户对个人主页进行大幅修改,制作出像杂志一样包涵众多照片的主页,用户还可以过滤照片,能够对自己的隐私完全控制。
[0017]其中,所述MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似jSon的bSon格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB具有高性能、易部署、易使用,存储数据方便的特点。
[0018]其中,所述消息队列是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。所述MemcacheQ是一个由新浪网的开发人员开放出来的开源项目,给memcached分布式缓存服务器添加了 berkeleydb的持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和分布式复制能力。它非常适合于需要超高性能读写速度,但是不需要严格事务约束,能够被持久化保存的应用场景,例如memcachedb被应用在新浪博客上面。memcacheq依赖于Iibevent和berkleydb。berkleydb用于持久化存储队列的数据。这样在memcacheq崩溃或者服务器挂掉的时候,不至于使队列中的数据丢失。
[0019]本发明与现有技术相比,具有如下有益效果:
[0020]本发明提供了一种社交网站Feed流推送方法,解决了 SNS网站不能及时的将网友动态展示给相关人群以提高该网友的关注度,同时因web服务器处理大量动态数据而影响web服务器性能,导致用户访问网站出现慢、卡、死等问题。本发明使网友在访问网站时保持流畅、动态、及时和准确,给网友提供优越的用户体验,增加了网站访问量和用户量。

【专利附图】

【附图说明】
[0021]图1示例性地示出了一种社交网站Feed流推送方法的流程示意图。

【具体实施方式】
[0022]为了更好地理解本发明所解决的技术问题、所提供的技术方案,以下结合附图及实施例,对本发明进行进一步详细说明。此处所描述的具体实施例仅用以解释本发明的实施,但并不用于限定本发明。
[0023]在优选的实施例中,图1示例性地示出了一种社交网站Feed流推送方法的流程示意图;包括:
[0024]步骤一:客户端提交或变更SNS社交网站的动态信息的Feed流数据;
[0025]步骤二:所述动态信息进行数据入库,先将所述数据插入Newsfeed表中,生成对应的短链接字符ID,对应的所述短链接字符ID匹配所述动态信息对应内容模版ID和对应TypeID ;然后将所述数据插入到所述客户端自己的TimeLine表中;
[0026]步骤三:调用异步消息队列服务,按照所述客户端的粉丝列表,将所述动态信息的所述数据实时分发给所述粉丝列表中每一位粉丝ID下的TimeLine表中。
[0027]在更加优选的实施例中,所述Feed流包括图片流、视频流和音频流。
[0028]在更加优选的实施例中,所述Timeline表存储最近的1000条,所述Timeline表中字段Index存储O到999的索引值。
[0029]在更加优选的实施例中,所述客户端更新所述动态信息时,所述Timeline表从O?999 一次循环更新,获取或设置所述Timeline表中数据的索引位置,对所述动态信息进行覆盖操作,保持存储所述客户端的1000条最近的所述动态信息。
[0030]在更加优选的实施例中,所述客户端更新所述动态信息时,当插入一条所述Timeline表中数据i,则所述字段Index自增I,然后求余1000,得到Timeline表中的字段Index的值。
[0031]具体的实施例中:
[0032]S1:客户端在首页发表一条信息;
[0033]S2:先将所述信息的数据插入Newsfeed表中并生成相应的短链接字符ID ;
[0034]S3:及时在当前页面显示发表的所述信息;
[0035]S4:异步调用消息队列,开启线程将所述信息推送给当前客户端的所有粉丝,在粉丝的TimeLine表中插入所述信息的记录;
[0036]S5:打开粉丝的首页,或粉丝登录自己的首页,读取TimeLine表,显示新的所述信肩、O
[0037]以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的基本原理之内,所作的任何修改、组合及等同替换等,均包含在本发明的保护范围之内。
【权利要求】
1.一种社交网站Feed流推送方法,其特征在于,包括: 步骤一:客户端提交或变更SNS社交网站的动态信息的Feed流数据; 步骤二:所述动态信息进行数据入库,先将所述数据插入Newsfeed表中,生成对应的短链接字符ID,对应的所述短链接字符ID匹配所述动态信息对应内容模版ID和对应TypeID;然后将所述数据插入到所述客户端自己的TimeLine表中; 步骤三:调用异步消息队列服务,按照所述客户端的粉丝列表,将所述动态信息的所述数据实时分发给所述粉丝列表中每一位粉丝ID下的TimeLine表中。
2.根据权利要求1所述的社交网站Feed流推送方法,其特征在于,所述Feed流包括图片流、视频流和音频流。
3.根据权利要求1所述的社交网站Feed流推送方法,其特征在于,所述Timeline表存储最近的1000条,所述Timeline表中字段Index存储O到999的索引值。
4.根据权利要求3所述的社交网站Feed流推送方法,其特征在于,所述客户端更新所述动态信息时,所述Timeline表从O?999 一次循环更新,获取或设置所述Timeline表中数据的索引位置,对所述动态信息进行覆盖操作,保持存储所述客户端的1000条最近的所述动态信息。
5.根据权利要求4所述的社交网站Feed流推送方法,其特征在于,所述客户端更新所述动态信息时,当插入一条所述Timeline表中数据i,则所述字段Index自增I,然后求余1000,得到Timeline表中的字段Index的值。
6.根据权利要求1所述的社交网站Feed流推送方法,其特征在于,所述步骤三中,所述动态信息存储在MongoDB数据库中。
7.根据权利要求1所述的社交网站Feed流推送方法,其特征在于,所述步骤三中,调用异步消息队列服务时,采用MemcacheQ消息队列服务器。
【文档编号】G06F17/30GK104281605SQ201310283385
【公开日】2015年1月14日 申请日期:2013年7月8日 优先权日:2013年7月8日
【发明者】张世晨 申请人:北京齐尔布莱特科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1