本申请涉及计算机领域,具体而言,涉及一种feed流实现方法、装置、终端及存储介质。
背景技术:
1、社交网络软件系统一般通过feed流进行消息推送。其中,feed流是将发布者的信息单元通过社交关系传送给接收者,而信息单元可为一条朋友圈状态、一条微博、一条咨询或一条短视频等。
2、目前,针对社交网络软件系统中的feed流的实现,一般采用推模式或拉模式。
3、但是,在高并发feed流业务场景下,上述方法并不适用。
技术实现思路
1、本申请的主要目的在于提供一种feed流实现方法、装置、终端及存储介质,以解决高并发feed流业务场景下的feed流实现的问题。
2、为了实现上述目的,第一方面,本申请提供了一种feed流实现方法,包括:
3、接收第一feed流信息;
4、基于推拉策略,判断是否推送第一feed流信息,其中,推拉策略包括多维推拉结合模式;
5、若推送feed流信息,利用目标推拉结合模式实时推送第一feed流信息,以及拉取第二feed流信息,其中,目标推拉结合模式为多维推拉结合模式中的一种。
6、在一种可能的实现方式中,利用目标推拉结合模式实时推送第一feed流信息,包括:
7、通过消息队列方式将第一feed流信息推送至目标群体,其中,目标群体与目标推拉结合模式相对应。
8、在一种可能的实现方式中,通过消息队列方式将第一feed流信息推送至目标群体,包括:
9、将第一feed流信息发送至初始消息队列;
10、基于第一feed流信息、初始消息队列和目标群体,生成目标消息队列;
11、将目标消息队列中的所有第一feed流信息推送至目标群体。
12、在一种可能的实现方式中,基于第一feed流信息、初始消息队列和目标群体,生成目标消息队列,包括:
13、获取目标群体中所包含的第一用户的数目和用户id,其中,目标群体中的任意两个用户id不同;
14、在初始消息队列中,基于第一用户的数目和用户id,对第一feed流信息进行处理,得到目标消息队列。
15、在一种可能的实现方式中,在初始消息队列中,基于第一用户的数目和用户id,对第一feed流信息进行处理,得到目标消息队列,包括:
16、对第一feed流信息进行复制,生成与第一用户的数目相同数目的第一feed流信息,得到第一预设数目的第一feed流信息;
17、为第一预设数目的第一feed流信息中的每个第一feed流信息配置用户id,并依据用户id对第一预设数目的第一feed流信息进行排序,得到目标消息队列。
18、在一种可能的实现方式中,将目标消息队列中的所有第一feed流信息推送至目标群体,包括:
19、针对所有第一feed流信息中的每个第一feed流信息,获取每个第一feed流信息的用户id;
20、依据用户id将每个第一feed流信息推送至对应的第一用户。
21、在一种可能的实现方式中,利用目标推拉结合模式实时拉取第二feed流信息,包括:
22、接收第一用户的查询请求;
23、基于查询请求,通过滑动窗口拉取第二feed流信息。
24、在一种可能的实现方式中,基于查询请求,通过滑动窗口拉取第二feed流信息,包括:
25、基于查询请求,从第一用户的收件箱中获取第一feed流信息以及与第一用户所关注的所有用户的发件箱中获取第三feed流信息;
26、将第一feed流信息和第三feed流信息分别按照预设时间轴进行排序,得到第一时间轴信息和第二时间轴信息;
27、将第一时间轴信息和第二时间轴信息对齐,得到对齐后的时间轴信息;
28、将滑动窗口从对齐后的时间轴信息的起点开始滑动,并将滑动窗口每滑动一次所获取的数据作为第二feed流信息,其中,滑动窗口的右边框所对应的预设时间轴上的时间点作为滑动窗口下次滑动的起点。
29、在一种可能的实现方式中,将滑动窗口从对齐后的时间轴信息的起点开始滑动,并将滑动窗口每滑动一次所获取的数据作为第二feed流信息之后,还包括:
30、将第二feed流信息中的信息进行状态筛选、用户特征数据组合,得到目标feed流信息。
31、在一种可能的实现方式中,接收第一feed流信息之后,还包括:
32、将第一feed流信息存储至多个存储介质中。
33、第二方面,本发明实施例提供了一种feed流实现装置,包括:
34、接收模块,用于接收第一feed流信息;
35、判断模块,用于基于推拉策略,判断是否推送第一feed流信息,其中,推拉策略包括多维推拉结合模式;
36、feed流实现模块,用于若推送feed流信息,利用目标推拉结合模式实时推送第一feed流信息,以及拉取第二feed流信息,其中,目标推拉结合模式为多维推拉结合模式中的一种。
37、第三方面,本发明实施例提供了一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上任一种feed流实现方法的步骤。
38、第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上任一种feed流实现方法的步骤。
39、本发明实施例提供了一种feed流实现方法、装置、终端及存储介质,包括:接收第一feed流信息,然后基于推拉策略,判断是否推送第一feed流信息,其中,推拉策略包括多维推拉结合模式,若推送feed流信息,利用目标推拉结合模式实时推送第一feed流信息,以及拉取第二feed流信息。本发明通过推拉结合模式适用于高并发feed流业务场景下的feed流实现,降低了存储成本,提高了消息推送的及时性。此外,本发明还通过设置多维推拉模式,以适应不同业务场景,业务扩展性强。
1.一种feed流实现方法,其特征在于,包括:
2.如权利要求1所述feed流实现方法,其特征在于,所述利用目标推拉结合模式实时推送所述第一feed流信息,包括:
3.如权利要求2所述feed流实现方法,其特征在于,所述通过消息队列方式将所述第一feed流信息推送至目标群体,包括:
4.如权利要求3所述feed流实现方法,其特征在于,所述基于所述第一feed流信息、所述初始消息队列和所述目标群体,生成目标消息队列,包括:
5.如权利要求4所述feed流实现方法,其特征在于,所述在所述初始消息队列中,基于所述第一用户的数目和用户id,对所述第一feed流信息进行处理,得到所述目标消息队列,包括:
6.如权利要求3所述feed流实现方法,其特征在于,所述将所述目标消息队列中的所有第一feed流信息推送至所述目标群体,包括:
7.如权利要求4-6中任一项所述feed流实现方法,其特征在于,所述利用目标推拉结合模式实时拉取第二feed流信息,包括:
8.一种feed流实现装置,其特征在于,包括:
9.一种终端,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
10.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,实现权利要求1至7中任一项所述feed流实现方法。