发微博&刷feed
2016-02-25 14:56:08 11 举报
在这个数字化的时代,微博和feed成为了人们获取信息、表达观点的重要平台。每天,无数的用户在微博上发布自己的生活点滴,分享自己的见解和感受,通过文字、图片、视频等多种形式,让世界看到他们的存在。同时,他们也在刷feed,浏览着朋友们的动态,关注着各种热门话题,了解着世界的新鲜事。这是一个充满互动和交流的世界,每个人都可以在这里找到属于自己的声音,也可以在这里感受到来自世界各地的热情和关怀。
作者其他创作
大纲/内容
处理后转发
content-writer.xml:userStatusMoveForwardWriterstatusTopFeedForwardWriterstatusTopFeedForwardWritermtagForwardWritercloseFriendAttitudeForwardWritercommentTrashForwardWritertopicRelationForwardWriter。。。实现都是这个类cn.sina.api.mcq.forward.ForwardFilterWriter只是写哪些mcq配置的不一样
根据微博内容。判断是否有uve关键词
创建StatusContentTaskWithRead读线程——继承自StatusContentTask线程类: StatusContentTask十分重要!!! 最底层的父类BaseContentTask,它是微博、评论、赞等获取内容的父类!它的call方法调用了loadFromPB()方法。 子类都重载了loadFromPB()方法,但没有重载call()方法,所以子类获取内容是通过自己的loadFromPB()方法实现的 数据在数据库中是以PB的压缩格式存储的,获取之后需要转换
getProfileLikeFutureResult()
将图片异步传到图床
结束
sass检查
更新db
短链检查calcFeatureValue()
处理Mention
返回
分发到其他mcq,再由相应的队列处理机处理
处理comment消息
后向分发
处理微博、评论、mention消息
写mcq
wrapper.setProfileLikes()加上赞的相关信息
处理status消息
processStatusMcqMsg
StatusesServiceImpl.java
获取user_timeline的赞结果
聚合card:话题、短链
记录曝光日志
toJson
process(msg)
队列处理机
content-mcq.xml:可以看到是写哪些mcq了,然后可在confs中反查哪些processor读了一般都是后后缀不一样,一个是_write,一个是_read
前端
根据type字段
读mcq消息
uploadMblog()
聚合微博的ids:1、获取ids的顺序: dlvector--tail_vector--dbdb是mysql吗???id是在哪里存的?数据库表是什么样的?id获取之后,包括分页等各种信息,封装在AdPageWrapper里过程中,还要更新已读!feedReadVectorService. updateReadStatsViaProfileAsync()索引与内容分开存储,索引存在哪?内容存在哪?
前向分发
【web_v4】Statuses.java
这一步很关键!获取微博的最基本信息——不包含user/object_url等,需要细化
【api-engine】StatusAggregator.javagetStatusContentByPageWrapper()方法中
【api-engine】StatusContentEngineService.java
loadFromPB()--loadStatusWtihRead()-- 是否展示阅读数loadStatus() 它在父类方法中实现 --getUpdatedStatuses() 批量获取微博,并更新相关信息 --getStatuses() 从contentStorage中获取微博pb格式内容,并反序列化为对象(如果是转发微博,还会再获取源微博的内容)--聚合微博的长文内容、 获取转发最新源微博
发评论、删除
获取user、object_url等,拼成最终的json返回
logUserTimeLineExposure()
刷Feed
getStatusContentByPageWrapper()
getUserTimeline()
核心队列机MblogMsgProcessor
加上消息type类型
getUsertimelineBase()
【api-engine】StatusAggregator.java微博相关高速访问聚合实现这个类好庞大,要好好看!
【api-data】中Status类、SinaUser类(根据uid获取挽尊的User信息,toJsonObjV4()、toJsonRawObjV4()方法)、CardInfo类(获取object_url详细信息
发微博/转发/删除更改微博状态/群微博。。。
降级的消息写入降级消息队列(待日后处理)
getStatusContentsListWithRead()
getUserTimeLineIds()
处理失败的消息写入失败消息队列(待日后处理)
重复检查
statusExtAggregator.aggregateUrlInfos()
后端,主要做落地入库的操作
2/statues/user_timeline
更新mc
在toJsonBaseObjV4()方法中,根据statues最基本的信息可以获取user,object_url等更为详细的信息
写前端缓存
【说明】:1、写哪些mcq:在content-writer.xml中配置2、谁读mcq的消息并处理:在content-processor.xml中配置3、
处理前转发
getUserTimeLine()
statusAggregator.getUserTimeline()
转发到其他mcq,再由相应的processor代码处理
消息本身格式不正确,丢弃,记录日志
入StatusMsgPusher
0 条评论
下一页