一种信息处理方法及装置与流程

    技术2024-11-10  9


    本申请涉及数据处理,具体涉及一种信息处理处理方法及装置。


    背景技术:

    1、在当今信息迅速更新的环境中,用户对实时获取社交媒体、新闻等内容的需求日益增加。现有主流的实现方案主要采用推模式或拉模式进行信息流推送。

    2、其中,拉模式是指:每一个内容发布者都有一个自己的发件箱(“我发布的内容”),每当发布者发出一个新帖子,都存入自己的发件箱中。当粉丝来阅读时,服务端首先需要拿到粉丝关注的所有发布者,然后遍历所有发布者的发件箱,取出他们所发布的帖子,然后依据发布时间排序,展示给阅读者。例如图1a所示,发布者a、发布者b和发布者c均发布了各自的帖子,当某粉丝请求浏览所关注的发布者的内容时,首先确定该粉丝关注的所有发布者,例如发布者a和发布者b,则读取该两个发布者发布的内容,并按时间排序后展示给该粉丝。

    3、推模式是指:系统中每个用户除了有发件箱,也会有自己的收件箱。当发布者发表一篇帖子的时候,除了往自己发件箱记录一下之外,还会遍历发布者的所有粉丝,往这些粉丝的收件箱也投放一份相同内容。这样阅读者浏览信息流时,直接从自己的收件箱读取即可。例如图1b所示,发布者a发布了内容32,将会向所有关注者阅读者1、阅读者2以及阅读者3的收件箱均发送一份内容32。当阅读者想要浏览时,通过客户端可以直接从收件箱中读取。

    4、然而,推模式占用存储空间极大,尤其面对几千万甚至上亿粉丝时,数据库将会有很大的压力;拉模式虽然占用可用空间很少,但是在关注人数较多时查询效率低下。


    技术实现思路

    1、有鉴于此,本申请实施例提供一种信息处理方法及装置,以实现在减少存储空间占用的情况下,提高查询效率。

    2、为解决上述问题,本申请实施例提供的技术方案如下:

    3、在本申请第一方面,提供了一种信息处理方法,该方法应用于服务端,包括:

    4、接收客户端发送的读取请求,所述读取请求中包括第一用户的用户标识以及时间游标;

    5、根据所述第一用户的用户标识确定所述第一用户所关注的所有第二用户的用户标识;

    6、针对每个第二用户,根据所述时间游标通过内存映射文件的方式从内存中读取该第二用户发布的目标动态,所述第二用户发布的动态以文件形式存储在所述内存中;

    7、将所有所述第二用户发布的目标动态按照发布时间进行排序,将排序后的目标动态发送给所述客户端。

    8、在本申请第二方面,提供了一种信息处理装置,该装置应用于服务端,包括:

    9、接收单元,用于接收客户端发送的读取请求,所述读取请求中包括第一用户的用户标识以及时间游标;

    10、处理单元,用于根据所述第一用户的用户标识确定所述第一用户所关注的所有第二用户的用户标识;

    11、所述处理单元,还用于针对每个第二用户,根据所述时间游标通过内存映射文件的方式读取该第二用户发布的目标动态,所述第二用户发布的动态以文件形式存储在内存中;

    12、所述处理单元,还用于将所有第二用户发布的目标动态按照发布时间进行排序;

    13、发送单元,用于将排序后的目标动态发送给所述客户端。

    14、在本申请实施例第三方面,提供了一种电子设备,包括:处理器,存储器;

    15、所述存储器,用于存储计算机可读指令或者计算机程序;

    16、所述处理器,用于读取所述计算机可读指令或所述计算机程序,以使得所述电子设备实现第一方面所述的信息处理方法。

    17、在本申请第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在设备上运行时,使得所述设备执行第一方面所述的信息处理方法。

    18、在本申请第五方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行第一方面所述的信息处理方法。

    19、由此可见,本申请实施例具有如下有益效果:

    20、本申请中,在需要向用户推送信息流时,服务端在接收到客户端发送的读取请求后,将根据该读取请求中第一用户的用户标识,确定该第一用户所关注的所有第二用户的用户标识。针对每个第二用户,通过内存映射文件的方式从内存中读取发布时间满足时间游标的第二用户所发布的目标动态。然后,将所有第二用户对应的目标动态按照发布时间进行排序,将排序后的目标动态发送给客户端,实现信息流的推送。

    21、即,本申请在拉模式下,基于内存映射文件方式实现信息流的分发。具体来说,每个用户发布一条动态后,写入其发件箱,底层以文件形式存储,读取文件时通过内存映射文件的方式读取,由于直接访问内存会减少对cpu的依赖,进而减少cpu在数据传输过程中频繁的上下文切换,优化数据的传输效率,解决纯拉模式下关注人数较多时效率较低问题,加速查询过程。



    技术特征:

    1.一种信息处理方法,其特征在于,所述方法应用于服务端,包括:

    2.根据权利要求1所述的方法,其特征在于,所述根据所述时间游标通过内存映射文件的方式从内存中读取该第二用户发布的目标动态,包括:

    3.根据权利要求1所述的方法,其特征在于,若所有所述第二用户对应的目标动态的数量小于预设阈值,在将所有所述第二用户对应的目标动态按照发布时间进行排序之前,所述方法还包括:

    4.根据权利要求1-3任一项所述的方法,其特征在于,若所有所述第二用户对应的目标动态的数量大于预设阈值,所述将所有所述第二用户对应的目标动态按照发布时间排序,将排序后的目标动态发送给客户端,包括:

    5.根据权利要求1所述的方法,其特征在于,所述根据所述时间游标通过内存映射文件的方式从内存中读取该第二用户发布的目标动态,包括:

    6.根据权利要求5所述的方法,其特征在于,所述根据所述索引信息在第二存储空间中确定第一文件,包括:

    7.根据权利要求5所述的方法,其特征在于,所述方法还包括:

    8.根据权利要求5所述的方法,其特征在于,所述方法还包括:

    9.根据权利要求8所述的方法,其特征在于,所述方法还包括:

    10.一种信息处理装置,其特征在于,所述装置应用于服务端,包括:


    技术总结
    本申请公开了一种信息处理方法及装置,在需要向用户推送信息流时,服务端在接收到客户端发送的读取请求后,将根据该读取请求中第一用户的用户标识,确定该第一用户所关注的所有第二用户的用户标识。针对每个第二用户,通过内存映射文件的方式从内存中读取发布时间满足时间游标的第二用户所发布的目标动态。然后,将所有第二用户对应的目标动态按照发布时间进行排序,将排序后的目标动态发送给客户端,实现信息流的推送。

    技术研发人员:谢冬,王天明,张新发
    受保护的技术使用者:北京搜狐新动力信息技术有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-21857.html

    最新回复(0)