CN104281605B - 一种社交网站Feed流推送方法 - Google Patents

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

Info

Publication number
CN104281605B
CN104281605B CN201310283385.2A CN201310283385A CN104281605B CN 104281605 B CN104281605 B CN 104281605B CN 201310283385 A CN201310283385 A CN 201310283385A CN 104281605 B CN104281605 B CN 104281605B
Authority
CN
China
Prior art keywords
multidate information
client
tables
data
timeline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310283385.2A
Other languages
English (en)
Other versions
CN104281605A (zh
Inventor
张世晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Cheerbright Technologies Co Ltd
Original Assignee
Beijing Cheerbright Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Cheerbright Technologies Co Ltd filed Critical Beijing Cheerbright Technologies Co Ltd
Priority to CN201310283385.2A priority Critical patent/CN104281605B/zh
Publication of CN104281605A publication Critical patent/CN104281605A/zh
Application granted granted Critical
Publication of CN104281605B publication Critical patent/CN104281605B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

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

Claims (1)

1.一种社交网站Feed流推送方法,其特征在于,包括:
步骤一:客户端提交或变更SNS社交网站的动态信息的Feed流数据;
步骤二:所述动态信息进行数据入库,先将所述数据插入Newsfeed表中,生成对应的短链接字符ID,对应的所述短链接字符ID匹配所述动态信息对应内容模版ID和对应TypeID;然后将所述数据插入到所述客户端自己的TimeLine表中;
步骤三:调用异步消息队列服务,按照所述客户端的粉丝列表,将所述动态信息的所述数据实时分发给所述粉丝列表中每一位粉丝ID下的TimeLine表中;
所述Feed流包括图片流、视频流和音频流;
所述Timeline表存储最近的1000条,所述Timeline表中字段Index存储0到999的索引值;
所述客户端更新所述动态信息时,所述Timeline表从0~999一次循环更新,获取或设置所述Timeline表中数据的索引位置,对所述动态信息进行覆盖操作,保持存储所述客户端的1000条最近的所述动态信息;
所述客户端更新所述动态信息时,当插入一条所述Timeline表中数据i,则所述字段Index自增1,然后求余1000,得到Timeline表中的字段Index的值;
所述步骤三中,所述动态信息存储在MongoDB数据库中;
所述步骤三中,调用异步消息队列服务时,采用MemcacheQ消息队列服务器。
CN201310283385.2A 2013-07-08 2013-07-08 一种社交网站Feed流推送方法 Active CN104281605B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310283385.2A CN104281605B (zh) 2013-07-08 2013-07-08 一种社交网站Feed流推送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310283385.2A CN104281605B (zh) 2013-07-08 2013-07-08 一种社交网站Feed流推送方法

Publications (2)

Publication Number Publication Date
CN104281605A CN104281605A (zh) 2015-01-14
CN104281605B true CN104281605B (zh) 2017-12-26

Family

ID=52256481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310283385.2A Active CN104281605B (zh) 2013-07-08 2013-07-08 一种社交网站Feed流推送方法

Country Status (1)

Country Link
CN (1) CN104281605B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156099A (zh) * 2015-04-02 2016-11-23 腾讯科技(深圳)有限公司 一种动态信息的实现方法、服务器、终端及系统
CN105095365A (zh) * 2015-06-26 2015-11-25 北京奇虎科技有限公司 一种信息流数据的处理方法和装置
CN106095789B (zh) * 2016-05-26 2020-02-18 努比亚技术有限公司 一种消息订阅管理装置及方法
CN109218346B (zh) * 2017-06-29 2020-07-28 北京嘀嘀无限科技发展有限公司 网约车应用程序Feed流推送方法和装置
CN115052040B (zh) * 2022-04-26 2024-04-19 浪潮通信技术有限公司 Feed流实现方法、系统、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101676933A (zh) * 2008-09-17 2010-03-24 新奥特(北京)视频技术有限公司 一种基于状态变化的流程控制中消息订阅和分发方法
CN102663532A (zh) * 2012-02-27 2012-09-12 蒋永 一种互联网的商品信息动态变化关注系统及方法
CN103051511A (zh) * 2011-10-11 2013-04-17 阿里巴巴集团控股有限公司 一种消息数据的处理方法及装置
CN103177027A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 获取动态Feed索引的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799068B2 (en) * 2007-11-05 2014-08-05 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101676933A (zh) * 2008-09-17 2010-03-24 新奥特(北京)视频技术有限公司 一种基于状态变化的流程控制中消息订阅和分发方法
CN103051511A (zh) * 2011-10-11 2013-04-17 阿里巴巴集团控股有限公司 一种消息数据的处理方法及装置
CN103177027A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 获取动态Feed索引的方法和系统
CN102663532A (zh) * 2012-02-27 2012-09-12 蒋永 一种互联网的商品信息动态变化关注系统及方法

Also Published As

Publication number Publication date
CN104281605A (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
CN104281605B (zh) 一种社交网站Feed流推送方法
US10185779B2 (en) Mechanisms for content aggregation, syndication, sharing, and updating
Rettberg Blogging
KR102457665B1 (ko) 검색/생성된 디지털 미디어 파일을 기반으로 잠재적 관련성에 대한 주제 예측
US8386506B2 (en) System and method for context enhanced messaging
US11163898B2 (en) Sharing artifacts in permission-protected archives
US10599654B2 (en) Method and system for determining unique events from a stream of events
US20170149852A1 (en) Systems and methods to control event based information
WO2012034525A1 (zh) 一种微博客户端、微博消息的聚合方法以及即时通信客户端
Jones The fashionable New Yorker: Style, criticism, and the dressed body in print
Wang The digital dasein of Chinese rural migrants
De Koning Hello world! Challenges for blogging as anthropological outreach
Bolisay " Yes, you belong to me!": Reflections on the JaDine Love Team Fandom in the Age of Twitter and in the Context of Filipino Fan Culture.
Morgan Cormac McCarthy and The Yearling
Martens The Portrait of Pseudo-Intellectualism": Rupi Kaur's Posture and Reception in the Literary Field
Natassia et al. Van Gogh Museum: A Digitally Engaging Museum
Zhang Research on propagation mechanism of viral marketing
Archives UA32/4/2 Gender & Women's Studies Publications
Dargis A Stirring Road Trip For Lovers Of Movies.
Laycock Q: Into the Storm, directed by Cullen Hoback
Панина Viral marketing as a factor of tourism destination promotion
Gerhardt The first drag queen to hit No. 1 in Christian music charts.
Twyford-Moore Twitter> the novel?:@ tejucole> Teju Cole?
Expósito-Barea et al. Defining New Thai Cinema through the Filmographies of Nonzee Nimibutr, Pen-ek Ratanaruang, Apichatpong Weerasethakul, and Wisit Sasanatieng
US9634972B1 (en) Computer process to notify on the death of a loved one

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant