即时通讯消息的推送方法及推送装置与流程

文档序号:11878372阅读:368来源:国知局
即时通讯消息的推送方法及推送装置与流程

本发明涉及计算机技术领域,具体而言,本发明涉及一种即时通讯消息的推送方法,及一种即时通讯消息的推送装置。



背景技术:

随着即时通信技术的应用日益广泛,通过IM(Instant Messaging,即时通讯)软件进行信息沟通已成为人们进行信息交流的一种重要方式。无论是在生活还是工作中,人们都会大量使用IM软件实现与朋友、同事以及同学、客户等的交流与沟通,使得IM软件逐渐成为用户日常生活中不可缺少的工具之一。因此,用户对IM软件的易用性、稳定性、以及安全性等方面都提出了越来越高的要求。由于用户需求及技术的不断提高,用户已经不再局限于在PC客户端上使用IM软件,在手机终端、基于web的客户端、甚至在电视终端也同样可以使用IM软件,更好地满足了用户日益增长的多场景多终端的IM需求。

使用IM软件的web的客户端时,由于IM软件的web的客户端依赖浏览器的支持,因此,实现过程是非常轻量级的,无须数据库等存储软件,只需要有浏览器即可实现方便的即时通信,这就意味着在web客户端使用IM软件时产生的用户消息都存储在服务器端,用户只能从服务器获取消息,用户在每一次获取消息时,特别是在获取历史消息时,将会给浏览器带来流量和缓存上的压力。一方面,若用户在IM软件的web的客户端中浏览历史消息时,浏览器若因各种不可控因素,如断电,发生异常中断,重连IM软件的web的客户端后,用户再次浏览历史消息时,将从头开始翻找历史消息,从而给用户带来一定的冗余操作;另一方面,若用户通过非web客户端登录IM软件时,若其中一个会话有多条未读历史消息,用户只读了其中的部分未读历史消息,之后当用户使用web客户端登录IM软件时,浏览器从服务器获取未读历史消息,存在同时获取到这部分未读历史消息中在非web客户端中已读取的历史消息的情况,给浏览器增加了不必要的流量和缓存开销。



技术实现要素:

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明的实施例提出了一种即时通讯消息的推送方法,包括:

当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式;

若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息;

将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端;

当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息。

优选地,将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端,包括:

基于记录的第二部分历史消息的历史消息数量及第二部分历史消息中最近一次接收到的历史消息标识,将第二部分历史消息依据时间由近及远的顺序依次推送至网页客户端;

当第二部分历史消息推送完成后,基于记录的第一部分历史消息的历史消息数量及第一部分历史消息中最近一次接收到的历史消息标识,将第一部分历史消息依据时间由近及远的顺序依次推送至网页客户端。

可选地,该方法还包括:

在用户登陆网页客户端前的最近一次,通过即时通讯软件的任意客户端登陆后,将针对用户的未推送历史消息依据时间由近及远的顺序依次推送至任意客户端;

当接收到用户针对任意客户端的离线信息时,记录当前未向该任意客户端推送的剩余历史消息作为第一部分历史消息。

可选地,该方法还包括:

若消息推送方式为全量推送方式,确定与用户对应的第二未推送历史消息,第二未推送历史消息包括未向网页客户端推送的全部历史消息;

将第二未推送历史消息依据时间由近及远的顺序依次推送至网页客户端。

可选地,该方法还包括:

当接收到用户通过即时通讯软件的非网页客户端登陆的上线信息时,确定相应的消息推送方式为全量推送方式;

根据全量推送方式,确定与用户对应的第三未推送历史消息,第三未推送历史消息包括未向该非网页客户端推送的全部历史消息;

将第三未推送历史消息依据时间由近及远的顺序依次推送至非网页客户端;

当接收到用户针对即时通讯软件非网页客户端的离线信息时,记录当前未向该非网页客户端推送的历史消息。

优选地,任意客户端包括网页客户端和非网页客户端中的任一项;

其中,非网页客户端包括移动终端客户端和PC客户端中的至少任一项。

本发明的另一实施例提出了一种即时通讯消息的推送装置,包括:

第一确定模块,用于当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式;

第二确定模块,用于若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息;

第一推送模块,用于将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端;

第一记录模块,用于当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息。

优选地,第二确定模块,包括:

第一推送单元,用于基于记录的第二部分历史消息的历史消息数量及第二部分历史消息中最近一次接收到的历史消息标识,将第二部分历史消息依据时间由近及远的顺序依次推送至网页客户端;

第二推送单元,用于当第二部分历史消息推送完成后,基于记录的第一部分历史消息的历史消息数量及第一部分历史消息中最近一次接收到的历史消息标识,将第一部分历史消息依据时间由近及远的顺序依次推送至网页客户端。

可选地,该装置还包括:

第二推送模块,用于在用户登陆网页客户端前的最近一次,通过即时通讯软件的任意客户端登陆后,将针对用户的未推送历史消息依据时间由近及远的顺序依次推送至任意客户端;

第二记录模块,用于当接收到用户针对任意客户端的离线信息时,记录当前未向该任意客户端推送的剩余历史消息作为第一部分历史消息。

可选地,该装置还包括:

第三确定模块,用于当接收到用户通过即时通讯软件的非网页客户端登陆的上线信息时,确定相应的消息推送方式为全量推送方式;

第四确定模块,用于根据全量推送方式,确定与用户对应的第三未推送历史消息,第三未推送历史消息包括未向该非网页客户端推送的全部历史消息;

第三推送模块,用于将第三未推送历史消息依据时间由近及远的顺序依次推送至非网页客户端;

第三记录模块,用于当接收到用户针对即时通讯软件非网页客户端的离线信息时,记录当前未向该非网页客户端推送的历史消息。

本发明的实施例中,提出了一种即时通讯消息的推送方案,在服务器端,当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式,实现了根据用户不同的消息获取需求实现不同的消息推送方式;若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对该用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及在该用户最近离线期间接收到的第二部分历史消息,将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端,通过余量推送方式,实现了在向即时通讯消息的任意客户端执行消息推送后,仅向网页客户端推送剩余未推送的部分历史消息,避免了用户重复获取已推送的历史消息的情况,避免产生不必要的流量和缓存开销,降低了轻量级网页客户端的数据传输处理压力;同时提高了即时通讯软件的运行效率,提高了用户的使用体验;当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息,在后续用户登录任意客户端时,服务器可通过余量推送方式向用户推送历史消息,为避免向用户重复推送已推送的历史消息提供了重要的前提保障。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明中一个实施例的即时通讯消息的推送方法的流程图;

图2为本发明中一个优选实施例的即时通讯消息的推送方法的流程图;

图3为本发明中另一实施例的即时通讯消息的推送装置的结构示意图;

图4为本发明中另一优选实施例的即时通讯消息的推送装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

图1为本发明中一个实施例的即时通讯消息的推送方法的流程图。

本发明的实施例中,各步骤所执行的内容概述如下:步骤S110:当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式;步骤S120:若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息;步骤S130:将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端;步骤S140:当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息。

本发明的实施例中,提出了一种即时通讯消息的推送方法,在服务器端,当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式,实现了根据用户不同的消息获取需求实现不同的消息推送方式;若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对该用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及在该用户最近离线期间接收到的第二部分历史消息,将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端,通过余量推送方式,实现了在向即时通讯消息的任意客户端执行消息推送后,仅向网页客户端推送剩余未推送的部分历史消息,避免了用户重复获取已推送的历史消息的情况,避免产生不必要的流量和缓存开销,降低了轻量级网页客户端的数据传输处理压力;同时提高了即时通讯软件的运行效率,提高了用户的使用体验;当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息,在后续用户登录任意客户端时,服务器可通过余量推送方式向用户推送历史消息,为避免向用户重复推送已推送的历史消息提供了重要的前提保障。以下针对各个步骤的具体实现做进一步的说明:

步骤S110:当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式。

具体地,当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定针对该用户登录的网页客户端相应的消息推送方式。

其中,消息推送方式包括全量推送方式和余量推送方式。

例如,用户A通过即时通讯软件的网页客户端登陆上线时,向服务器发送相应的上线通知消息以及消息获取的方式,如为余量获取方式,当服务器接收到用户A通过网页客户端登录的即时通讯软件发送的上线通知消息以及消息获取方式为余量获取方式时,确定针对用户A登录的网页客户端相应的消息推送方式为余量推送方式。

另外,可针对不同类型的即时通讯软件的客户端预定不同的消息推送方式,如当用户通过网页客户端登陆时,确定相应的消息推送方式为余量推送方式;当用户通过PC客户端登陆时,确定相应的消息推送方式为全量推送方式。服务器接收到用户通过即时通讯软件的客户端登陆的上线信息时,基于登陆的客户端类型确定相应的消息推送方式。

步骤S120:若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息。

具体地,若确定针对用户登录的网页客户端相应的消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端,包括网页客户端和非网页客户端,执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息。

其中,任意客户端包括网页客户端和非网页客户端。

其中,非网页客户端包括移动终端客户端和PC客户端。

例如,用户A通过即时通讯软件的网页客户端登陆上线时,若确定针对用户A登录的网页客户端相应的消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息;用户A在本次登录前的最近一次登录即时通讯软件的客户端为PC客户端,第一未推送历史消息包括最近一次针对用户A向该PC客户端,执行消息推送后剩余未推送的第一部分历史消息以及用户A在退出该PC客户端之后、本次通过网页客户端登陆之前的离线期间接收到的第二部分历史消息。

优选地,步骤S120具体包括步骤S121和步骤S122;步骤S121:基于记录的第二部分历史消息的历史消息数量及第二部分历史消息中最近一次接收到的历史消息标识,将第二部分历史消息依据时间由近及远的顺序依次推送至网页客户端;步骤S122:当第二部分历史消息推送完成后,基于记录的第一部分历史消息的历史消息数量及第一部分历史消息中最近一次接收到的历史消息标识,将第一部分历史消息依据时间由近及远的顺序依次推送至网页客户端。

例如,用户A在2016年06月25日13:00时通过即时通讯软件的手机客户端Client1登陆上线,随后用户A在2016年06月25日13:30时在Client1退出登陆,服务器检测到用户A在Client1退出登陆时,开始接收针对当前处于离线状态的用户A的离线历史消息,并将离线历史消息按照接收时的时间顺序存储至数据库中,且同时记录接收到的离线历史消息的数量,当检测到用户A在2016年06月25日14:00时通过即时通讯软件的网页客户端Client2登陆上线时,记录下用户A在2016年06月25日13:30时至14:00时的离线期间内,接收到的离线历史消息的总数量为100条,该离线期间距离14:00时最近一次接收到的离线历史消息的标识信息为“MSG200”,并将该离线期间接收到的全部离线历史消息作为第二部分历史消息;随后,根据已确定的针对用户A登录的网页客户端Client2相应的消息推送方式为余量推送方式,首先,根据标识信息“MSG200”以及第二部分历史消息的离线历史消息的数量100条,从数据库中确定标识信息为“MSG200”的离线历史消息,并依据时间由近及远的顺序提取从“MSG200”开始的100条离线历史消息,将该100条离线历史消息确定为第二部分历史消息,并将第二部分历史消息依据时间由近及远的顺序依次推送至Client2,例如,将“MSG200”至“MSG101”的离线历史消息依次推送至Client2;当第二部分历史消息推送完成后,基于记录的第一部分历史消息的历史消息数量20条及第一部分历史消息中最近一次接收到的历史消息标识“MSG40”,将第一部分历史消息依据时间由近及远的顺序依次推送至Client2。

优选的,该方法还包括步骤S150和步骤S160;步骤S150:在用户登陆网页客户端前的最近一次,通过即时通讯软件的任意客户端登陆后,将针对用户的未推送历史消息依据时间由近及远的顺序依次推送至任意客户端;步骤S160:当接收到用户针对任意客户端的离线信息时,记录当前未向该任意客户端推送的剩余历史消息作为第一部分历史消息。

例如,在用户登陆网页客户端Client2前的最近一次登录为,用户A在2016年06月25日13:00时通过即时通讯软件的手机客户端Client1登陆上线,服务器可确定用户A在本次登录前的离线消息数量为50条,以及距离本次登录最近一次接收到的离线历史消息的标识信息,如“MSG70”,随后服务器依据离线历史消息的标识信息“MSG70”以及离线消息数量50条,从数据库中提取到离线历史消息,并依据时间由近及远的顺序依次将“MSG70”开始的前50条离线历史消息推送至手机客户端Client1;若用户A在2016年06月25日13:30时在Client1退出登录即时通讯软件,此时服务器还未将全部历史消息推送至Client1,接收到用户A针对Client1的离线信息时,根据服务器的消息推送记录,可确定未推送的剩余历史消息的数量为20条,且最近一条未推送的剩余历史消息的标识信息为“MSG40”,将从标识信息“MSG40”开始的前20条历史消息作为第一部分历史消息,并记录下第一部分历史消息的消息数量为20,最近一次接收到的历史消息的标识信息为“MSG40”。随后,依据上例中方式,当第二部分历史消息推送完成后,基于记录的第一部分历史消息的历史消息数量20条及第一部分历史消息中最近一次接收到的历史消息标识“MSG40”,将第一部分历史消息依据时间由近及远的顺序依次推送至Client2。

步骤S130:将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端。

例如,用户A在2016年06月25日13:00时通过即时通讯软件的手机客户端Client1登陆上线,随后用户A在2016年06月25日13:30时在Client1退出登陆,记录下第一部分历史消息,第一部分历史消息的消息数量为20,及第一部分历史消息中最近一次接收到的历史消息标识“MSG40”;随后用户A在2016年06月25日14:00时通过即时通讯软件的网页客户端Client2登陆上线,记录下第二部分历史消息,第二部分历史消息的消息数量为100,以及第二部分历史消息中最近一次接收到的离线历史消息的标识信息为“MSG200”;随后服务器将第二部分历史消息依据时间由近及远的顺序依次推送至Client2,例如,将“MSG200”至“MSG101”的离线历史消息依次推送至Client2;随后将第一部分历史消息依据时间由远即近将“MSG40”开始的前20条离线历史消息推送至Client2。

步骤S140:当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息。

例如,接上例,当接收到用户A针对即时通讯软件的网页客户端Client2的离线信息时,记录当前未向Client2推送的历史消息,具体包括记录下未推送的历史消息数量10条,以及未推送的历史消息数量中最近一次接收到的历史消息的标识信息为“MSG30”。

在一优选实施例中,如图2所示,该方法包括步骤S2010、步骤S2020、步骤S2030、步骤S2040、步骤S2050和步骤S2060;步骤S2010:当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式;步骤S2020:若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息;步骤S2030:将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端;步骤S2040:当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息;步骤S2050:若消息推送方式为全量推送方式,确定与用户对应的第二未推送历史消息,第二未推送历史消息包括未向网页客户端推送的全部历史消息;步骤S2060:将第二未推送历史消息依据时间由近及远的顺序依次推送至网页客户端。

其中,本优选实施例中步骤S2010、步骤S2020、步骤S2030和步骤S2040中执行的操作与图1所示的步骤S110、步骤S120、步骤S130和步骤S140中执行的操作相同或相似,在此不再赘述。

例如,用户A在2016年06月25日15:00时通过即时通讯软件的网页客户端Client2登陆上线时,向服务器发送相应的上线通知信息以及消息获取的方式为全量获取方式,确定与用户A对应的第二未推送历史消息,第二未推送历史消息包括未向网页客户端推送的全部历史消息;用户A在上一次通过非网络客户端登录即时通讯软件的在线时间为2016年06月25日13:00时至13:30时通过手机客户端Client1登陆即时通讯软件,因此,可确定与用户A对应的第二未推送历史消息为用户A在2016年06月25日13:00时至15:00时的期间的历史消息;随后将第二未推送历史消息依据时间由近及远的顺序,即2016年06月25日15:00时至13:00时的顺序依次推送至Client2。

在一优选实施例中,参考图2,该方法还包括步骤S2070、步骤S2080、步骤S2090和步骤S2100;步骤S2070:当接收到用户通过即时通讯软件的非网页客户端登陆的上线信息时,确定相应的消息推送方式为全量推送方式;步骤S2080:根据全量推送方式,确定与用户对应的第三未推送历史消息,第三未推送历史消息包括未向该非网页客户端推送的全部历史消息;步骤S2090:将第三未推送历史消息依据时间由近及远的顺序依次推送至非网页客户端;步骤S2100:当接收到用户针对即时通讯软件非网页客户端的离线信息时,记录当前未向该非网页客户端推送的历史消息。

例如,用户A在2016年06月25日15:00时通过即时通讯软件的PC客户端Client3登陆上线时,向服务器发送相应的上线通知信息以及消息获取的方式为全量获取方式,确定与用户A对应的第三未推送历史消息,第三未推送历史消息包括未向Client3推送的全部历史消息;用户A在上一次通过Client3登录即时通讯软件的在线时间为2016年06月25日12:00时至12:30时,因此,可确定与用户A对应的第三未推送历史消息为用户A在2016年06月25日12:30时至15:00时的期间的全部历史消息;随后将第三未推送历史消息依据时间由近及远的顺序,即2016年06月25日15:00时至12:30时的顺序依次推送至Client3。

图3为本发明中另一实施例的即时通讯消息的推送装置的结构示意图。

本发明的实施例中,各模块所执行的内容概述如下:第一确定模块310当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式;第二确定模块320若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息;第一推送模块330将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端;第一记录模块340当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息。

本发明的实施例中,提出了一种即时通讯消息的推送装置,在服务器端,当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式,实现了根据用户不同的消息获取需求实现不同的消息推送方式;若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对该用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及在该用户最近离线期间接收到的第二部分历史消息,将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端,通过余量推送方式,实现了在向即时通讯消息的任意客户端执行消息推送后,仅向网页客户端推送剩余未推送的部分历史消息,避免了用户重复获取已推送的历史消息的情况,避免产生不必要的流量和缓存开销,降低了轻量级网页客户端的数据传输处理压力;同时提高了即时通讯软件的运行效率,提高了用户的使用体验;当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息,在后续用户登录任意客户端时,服务器可通过余量推送方式向用户推送历史消息,为避免向用户重复推送已推送的历史消息提供了重要的前提保障。以下针对各个模块的具体实现做进一步的说明:

第一确定模块310当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式。

具体地,当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定针对该用户登录的网页客户端相应的消息推送方式。

其中,消息推送方式包括全量推送方式和余量推送方式。

例如,用户A通过即时通讯软件的网页客户端登陆上线时,向服务器发送相应的上线通知消息以及消息获取的方式,如为余量获取方式,当服务器接收到用户A通过网页客户端登录的即时通讯软件发送的上线通知消息以及消息获取方式为余量获取方式时,确定针对用户A登录的网页客户端相应的消息推送方式为余量推送方式。

另外,可针对不同类型的即时通讯软件的客户端预定不同的消息推送方式,如当用户通过网页客户端登陆时,确定相应的消息推送方式为余量推送方式;当用户通过PC客户端登陆时,确定相应的消息推送方式为全量推送方式。服务器接收到用户通过即时通讯软件的客户端登陆的上线信息时,基于登陆的客户端类型确定相应的消息推送方式。

第二确定模块320若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息。

具体地,若确定针对用户登录的网页客户端相应的消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端,包括网页客户端和非网页客户端,执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息。

其中,任意客户端包括网页客户端和非网页客户端。

其中,非网页客户端包括移动终端客户端和PC客户端。

例如,用户A通过即时通讯软件的网页客户端登陆上线时,若确定针对用户A登录的网页客户端相应的消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息;用户A在本次登录前的最近一次登录即时通讯软件的客户端为PC客户端,第一未推送历史消息包括最近一次针对用户A向该PC客户端,执行消息推送后剩余未推送的第一部分历史消息以及用户A在退出该PC客户端之后、本次通过网页客户端登陆之前的离线期间接收到的第二部分历史消息。

优选地,第二确定模块320具体包括第一推送单元和第二推送单元;第一推送单元基于记录的第二部分历史消息的历史消息数量及第二部分历史消息中最近一次接收到的历史消息标识,将第二部分历史消息依据时间由近及远的顺序依次推送至网页客户端;第二推送单元当第二部分历史消息推送完成后,基于记录的第一部分历史消息的历史消息数量及第一部分历史消息中最近一次接收到的历史消息标识,将第一部分历史消息依据时间由近及远的顺序依次推送至网页客户端。

例如,用户A在2016年06月25日13:00时通过即时通讯软件的手机客户端Client1登陆上线,随后用户A在2016年06月25日13:30时在Client1退出登陆,服务器检测到用户A在Client1退出登陆时,开始接收针对当前处于离线状态的用户A的离线历史消息,并将离线历史消息按照接收时的时间顺序存储至数据库中,且同时记录接收到的离线历史消息的数量,当检测到用户A在2016年06月25日14:00时通过即时通讯软件的网页客户端Client2登陆上线时,记录下用户A在2016年06月25日13:30时至14:00时的离线期间内,接收到的离线历史消息的总数量为100条,该离线期间距离14:00时最近一次接收到的离线历史消息的标识信息为“MSG200”,并将该离线期间接收到的全部离线历史消息作为第二部分历史消息;随后,根据已确定的针对用户A登录的网页客户端Client2相应的消息推送方式为余量推送方式,首先,根据标识信息“MSG200”以及第二部分历史消息的离线历史消息的数量100条,从数据库中确定标识信息为“MSG200”的离线历史消息,并依据时间由近及远的顺序提取从“MSG200”开始的100条离线历史消息,将该100条离线历史消息确定为第二部分历史消息,并将第二部分历史消息依据时间由近及远的顺序依次推送至Client2,例如,将“MSG200”至“MSG101”的离线历史消息依次推送至Client2;当第二部分历史消息推送完成后,基于记录的第一部分历史消息的历史消息数量20条及第一部分历史消息中最近一次接收到的历史消息标识“MSG40”,将第一部分历史消息依据时间由近及远的顺序依次推送至Client2。

优选的,该装置还包括第四推送模块和第四记录模块;第四推送模块在用户登陆网页客户端前的最近一次,通过即时通讯软件的任意客户端登陆后,将针对用户的未推送历史消息依据时间由近及远的顺序依次推送至任意客户端;第四记录模块当接收到用户针对任意客户端的离线信息时,记录当前未向该任意客户端推送的剩余历史消息作为第一部分历史消息。

例如,在用户登陆网页客户端Client2前的最近一次登录为,用户A在2016年06月25日13:00时通过即时通讯软件的手机客户端Client1登陆上线,服务器可确定用户A在本次登录前的离线消息数量为50条,以及距离本次登录最近一次接收到的离线历史消息的标识信息,如“MSG70”,随后服务器依据离线历史消息的标识信息“MSG70”以及离线消息数量50条,从数据库中提取到离线历史消息,并依据时间由近及远的顺序依次将“MSG70”开始的前50条离线历史消息推送至手机客户端Client1;若用户A在2016年06月25日13:30时在Client1退出登录即时通讯软件,此时服务器还未将全部历史消息推送至Client1,接收到用户A针对Client1的离线信息时,根据服务器的消息推送记录,可确定未推送的剩余历史消息的数量为20条,且最近一条未推送的剩余历史消息的标识信息为“MSG40”,将从标识信息“MSG40”开始的前20条历史消息作为第一部分历史消息,并记录下第一部分历史消息的消息数量为20,最近一次接收到的历史消息的标识信息为“MSG40”。随后,依据上例中方式,当第二部分历史消息推送完成后,基于记录的第一部分历史消息的历史消息数量20条及第一部分历史消息中最近一次接收到的历史消息标识“MSG40”,将第一部分历史消息依据时间由近及远的顺序依次推送至Client2。

第一推送模块330将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端。

例如,用户A在2016年06月25日13:00时通过即时通讯软件的手机客户端Client1登陆上线,随后用户A在2016年06月25日13:30时在Client1退出登陆,记录下第一部分历史消息,第一部分历史消息的消息数量为20,及第一部分历史消息中最近一次接收到的历史消息标识“MSG40”;随后用户A在2016年06月25日14:00时通过即时通讯软件的网页客户端Client2登陆上线,记录下第二部分历史消息,第二部分历史消息的消息数量为100,以及第二部分历史消息中最近一次接收到的离线历史消息的标识信息为“MSG200”;随后服务器将第二部分历史消息依据时间由近及远的顺序依次推送至Client2,例如,将“MSG200”至“MSG101”的离线历史消息依次推送至Client2;随后将第一部分历史消息依据时间由远即近将“MSG40”开始的前20条离线历史消息推送至Client2。

第一记录模块340当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息。

例如,接上例,当接收到用户A针对即时通讯软件的网页客户端Client2的离线信息时,记录当前未向Client2推送的历史消息,具体包括记录下未推送的历史消息数量10条,以及未推送的历史消息数量中最近一次接收到的历史消息的标识信息为“MSG30”。

在一优选实施例中,如图4所示,该装置包括第一确定模块4010、第二确定模块4020、第一推送模块4030、第一记录模块4040、第二推送模块4050和第二记录模块4060;第一确定模块4010当接收到用户通过即时通讯软件的网页客户端登陆的上线信息时,确定相应的消息推送方式;第二确定模块4020若消息推送方式为余量推送方式,则确定与用户对应的第一未推送历史消息,第一未推送历史消息包括最近一次针对用户向任意客户端执行消息推送后剩余未推送的第一部分历史消息以及用户在其最近离线期间接收到的第二部分历史消息;第一推送模块4030将第一未推送历史消息依据时间由近及远的顺序依次推送至网页客户端;第一记录模块4040当接收到用户针对即时通讯软件的网页客户端的离线信息时,记录当前未向网页客户端推送的历史消息;第二推送模块4050若消息推送方式为全量推送方式,确定与用户对应的第二未推送历史消息,第二未推送历史消息包括未向网页客户端推送的全部历史消息;第二记录模块4060将第二未推送历史消息依据时间由近及远的顺序依次推送至网页客户端。

其中,本优选实施例中第一确定模块4010、第二确定模块4020、第一推送模块4030和第一记录模块4040中执行的操作与图3所示的第一确定模块310、第二确定模块320、第一推送模块330和第一记录模块340中执行的操作相同或相似,在此不再赘述。

例如,用户A在2016年06月25日15:00时通过即时通讯软件的网页客户端Client2登陆上线时,向服务器发送相应的上线通知信息以及消息获取的方式为全量获取方式,确定与用户A对应的第二未推送历史消息,第二未推送历史消息包括未向网页客户端推送的全部历史消息;用户A在上一次通过非网络客户端登录即时通讯软件的在线时间为2016年06月25日13:00时至13:30时通过手机客户端Client1登陆即时通讯软件,因此,可确定与用户A对应的第二未推送历史消息为用户A在2016年06月25日13:00时至15:00时的期间的历史消息;随后将第二未推送历史消息依据时间由近及远的顺序,即2016年06月25日15:00时至13:00时的顺序依次推送至Client2。

在一优选实施例中,参考图4,该装置还包括第三确定模块、第四确定模块、第三推送模块和第三记录模块;第三确定模块当接收到用户通过即时通讯软件的非网页客户端登陆的上线信息时,确定相应的消息推送方式为全量推送方式;第四确定模块根据全量推送方式,确定与用户对应的第三未推送历史消息,第三未推送历史消息包括未向该非网页客户端推送的全部历史消息;第三推送模块将第三未推送历史消息依据时间由近及远的顺序依次推送至非网页客户端;第三记录模块当接收到用户针对即时通讯软件非网页客户端的离线信息时,记录当前未向该非网页客户端推送的历史消息。

例如,用户A在2016年06月25日15:00时通过即时通讯软件的PC客户端Client3登陆上线时,向服务器发送相应的上线通知信息以及消息获取的方式为全量获取方式,确定与用户A对应的第三未推送历史消息,第三未推送历史消息包括未向Client3推送的全部历史消息;用户A在上一次通过Client3登录即时通讯软件的在线时间为2016年06月25日12:00时至12:30时,因此,可确定与用户A对应的第三未推送历史消息为用户A在2016年06月25日12:30时至15:00时的期间的全部历史消息;随后将第三未推送历史消息依据时间由近及远的顺序,即2016年06月25日15:00时至12:30时的顺序依次推送至Client3。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1