【技术实现步骤摘要】
消息的发布和查询方法、装置、电子设备及计算机介质
[0001]本公开涉及计算机
,具体而言,涉及一种消息的发布方法、消息的查询方法、消息的发布装置、消息的查询装置、电子设备及计算机可读介质。
技术介绍
[0002]社交平台的核心功能都是基于信息流(Feed)系统实现的,信息流系统提供了信息生产者与消费者之间的订阅分发功能。举例而言,用户A关注了用户B、C和D,那么用户ABCD发布的信息内容都会按发布时间的顺序展示在用户A的时间线页面上。
[0003]信息流系统的实现逻辑主要有推模式和拉模式两种。对于推模式来说,当某个用户关注者数量较大时,推送消息开销很大,新消息的拉取会存在延迟,数据冗余非常严重。而对于拉模式来说,查询又开销大。因此,这两种模式都存在一些性能问题。
[0004]鉴于此,本领域亟需一种消息的发布和查询方法,能够解决信息流系统高并发访问的问题,提高系统的性能。
[0005]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员 ...
【技术保护点】
【技术特征摘要】
1.一种消息的发布方法,其特征在于,包括:响应于用户的消息发布操作,获取所述用户的用户类型,其中,所述用户类型包括普通用户、普通公众号以及全局公众号;将所述用户发布的消息内容存储到数据库中,获取对应的消息标识,并将所述消息标识插入所述用户的消息发布缓存中;更新所述用户的消息发布时间,并根据所述用户类型,将所述消息标识推送至相应的消息队列中。2.根据权利要求1所述的消息的发布方法,其特征在于,所述根据所述用户类型,将所述消息标识推送至相应的消息队列中,包括:若所述用户的用户类型为所述普通用户,则将所述消息标识写入所述用户的关注者对应的普通消息队列缓存中,其中,所述普通消息队列缓存用于保存当前用户关注的所有所述普通用户和所述普通公众号发布的指定数量的最新消息;若所述用户的用户类型为所述全局公众号,则将所述消息标识写入全局消息队列缓存中,其中,所述全局消息队列缓存用于保存所有所述全局公众号发布的消息;若所述用户的用户类型为所述普通公众号,则不进行所述消息标识的推送。3.根据权利要求2所述的消息的发布方法,其特征在于,所述将所述消息标识写入所述用户的关注者对应的普通消息队列缓存中,包括:通过所述用户的关注缓存拉取所述用户的关注者列表;通过流水线的方式筛选掉所述关注者列表中不存在所述普通消息队列缓存的关注者,并将所述消息标识写入筛选过后的其他关注者对应的普通消息队列缓存中。4.根据权利要求2所述的消息的发布方法,其特征在于,所述全局消息队列缓存中的数据写入方法包括:根据所述用户的用户标识确定多个目标键值;将待写入的数据写入所述多个目标键值中,并将所述目标键值随机分配至多个不同的缓存节点进行存储。5.根据权利要求4所述的消息的发布方法,其特征在于,所述根据所述用户的用户标识确定多个目标键值,包括:若所述用户的用户标识为字符串格式,则根据所述用户标识的最后一位字符确定多个目标键值;若所述用户的用户标识为数字格式,则根据所述用户标识的最后一位数字确定多个目标键值。6.根据权利要求5所述的消息的发布方法,其特征在于,所述全局消息队列缓存中的数据读取方法包括:若所述用户的用户标识为字符串格式,则根据所述用户标识的最后一位字符得到对应的键值编号,并根据所述键值编号从所述目标键值中读取数据;若所述用户的用户标识为数字格式,则根据所述用户标识的最后一位数字得到对应的键值编号,并根据所述键值编号从所述目标键值中读取数据。7.一种消息的查询方法,其特征在于,包括:响应于用户的消息查询指令,根据单页消息数量从全局消息队列缓存中获取首页全局
消息,其中,所述全局消息包括全局公众号发布的消息;判断所述用户的普通消息队列缓存是否存在,若所述普通消息队列缓存存在,则根据所述单页消息数量从所述普通消息队列缓存中获取首页普通消息,其中,所述普通消息包括所述用户关注的普通用户以及普通公众号发布的消息;若所述普通消息队列缓存不存在,则通过所述用户的关注缓存拉取所述用户关注的普通用户列表以及普通公众号列表,并根据所述普通用户列表以及所述普通公众号列表分别获取多页消息数量的普通消息;将所述多页消息数量的普通消息缓存到所述用户的普通消息队列缓存中,并根据所述多页消息数量的普通消息得到所述首页普通消息;根据所述单页消息数量,以及所述首页普通消息和所述首页全局消息,得到所述用户待返回的首页消息。8.根据权利要求7所述的消息的查询方法,其特征在于,所述根据所述普通用户列表以及所述普通公众号列表分别获取多页消息数量的普通消息,包括:根据所述普通用户列表获取多页消息数量的普通消息;根据所述普通公众号列表中的普通公众号的发帖时间,对所述普通公众号列表中的普通公众号进行过滤;根据过滤后的所述普通公众号列表,从所述用户的消息发布缓存中获取多页消息数量的普通消息。9.根据权利要求7所述的消息的查询方法,其特征在于,所述根据所述单页消息数量,以及所述首页普通消息和所述首页全局消息,得到所述...
【专利技术属性】
技术研发人员:王琦,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。