消息处理方法及装置、计算机存储介质、电子设备与流程

文档序号:20203415发布日期:2020-03-27 20:52阅读:111来源:国知局
消息处理方法及装置、计算机存储介质、电子设备与流程

本公开涉及计算机技术领域,特别涉及一种消息处理方法、消息处理装置、计算机可读存储介质及电子设备。



背景技术:

随着移动互联网技术的发展,在众多的应用软件中,存在很多需要提供即时通信聊天会话的功能,但在网络信号较差的场景中,会出现卡顿或者长时间页面为空的情况,严重影响用户体验。

在现有技术中,采用预先在后台加载所有的未读会话消息信号到本地,待用户进入会话时,直接在本地获取未读消息显示在会话界面。但若是有几万条消息数据,在后台通过接口加载时,会占用线程池的线程,导致一些后台线程被影响延后。

鉴于此,本领域亟需开发一种新的消息处理方法及装置。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种消息处理方法、消息处理装置、计算机可读存储介质及电子设备,进而至少在一定程度上因网络信号弱出现消息加载卡顿或长时间聊天会话页面为空的问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的一个方面,提供一种消息处理方法,所述方法包括:响应用户的登录操作,并接收当前时刻的消息信号,所述消息信号用于指示待接收离线消息的会话;获取所述会话中第一预设数量的第一消息,确定所述第一消息的第一消息区间,其中,所述第一消息区间为所述第一消息中的最大消息标识与最小消息标识组成的消息区间;响应所述用户的消息查看操作,获取与所述第一消息区间连续的第二消息区间对应的第二消息;获取本地数据库中的第三消息区间,其中,所述第三消息区间为所述用户前次登录时接收的消息对应的消息区间;判断所述第二消息区间与所述第三消息区间是否存在交集,并根据判断结果对所述第二消息区间进行目标操作。

在本公开的一些示例性实施例中,根据判断结果对所述第二消息区间进行目标操作,包括:若所述第二消息区间与所述第三消息区间存在交集,则对所述第二消息区间和所述第三消息区间进行消息区间融合,并用融合后的消息区间替换所述第三消息区间;若所述第二消息区间与所述第三消息区间不存在交集,则将所述第二消息区间记录在所述本地数据库中。

在本公开的一些示例性实施例中,所述第三消息区间中的最小消息标识小于或等于所述第二消息区间中的最小消息标识,所述第三消息区间中的最大消息标识大于或等于所述第二消息区间中的最小消息标识;对所述第二消息区间和所述第三消息区间进行消息区间融合,并用融合后的消息区间替换所述第三消息区间,包括:将所述第二消息区间和所述第三消息区间合并以形成第四消息区间,其中,所述第三消息区间的最小消息标识为所述第四消息区间的最小消息标识,所述第二消息区间的最大消息标识为所述第四消息区间的最大消息标识;利用所述第四消息区间替换所述第三消息区间。

在本公开的一些示例性实施例中,响应用户的消息查看操作,获取与所述第一消息区间连续的第二消息区间对应的第二消息,包括:响应所述用户在所述会话中的第一消息查看操作,查询所述本地数据库中是否存在与所述第一消息区间连续的第二消息区间;若存在,则从所述本地数据库中读取与所述第二消息区间对应的第二消息;若不存在,则根据所述第一消息对应的最小消息标识,从服务器中获取所述第二消息。

在本公开的一些示例性实施例中,从所述本地数据库中读取与所述第二消息区间对应的第二消息,包括:判断所述第二消息的数量是否达到第二预设数量;若达到所述第二预设数量,则根据所述第二消息区间从所述本地数据库中读取所述第二预设数量的第二消息;若未达到所述第二预设数量,则根据所述第二消息区间从所述本地数据库中读取所述第二消息,并根据所述第二消息的数量和所述第二预设数量确定目标数量,从所述服务器中获取与所述第二消息区间连续的所述目标数量的消息。

在本公开的一些示例性实施例中,所述第二消息区间中的最小消息标识小于或等于所述第一消息区间中的最小消息标识,所述第二消息区间中的最大消息标识大于或等于所述第一消息区间中的最小消息标识;所述方法还包括:将所述第一消息区间和所述第二消息区间合并以形成第五消息区间,其中,所述第二消息区间的最小消息标识为所述第五消息区间的最小消息标识,所述第一消息区间的最大消息标识为所述第五消息区间的最大消息标识;将所述第五消息区间记录在所述本地数据库中。

在本公开的一些示例性实施例中,响应用户的消息查看操作,获取与所述第一消息区间连续的第二消息区间对应的第二消息,包括:响应所述用户在所述会话中的第二消息查看操作,根据所述第一消息对应的最大消息标识,从服务器中获取所述第二消息。

在本公开的一些示例性实施例中,所述第一消息区间中的最小消息标识小于或等于所述第二消息区间中的最小消息标识,所述第一消息区间中的最大消息标识大于或等于所述第二消息区间中的最小消息标识;所述方法还包括:将所述第一消息区间和所述第二消息区间合并以形成第六消息区间,其中,所述第一消息区间的最小消息标识为所述第六消息区间的最小消息标识,所述第二消息区间的最大消息标识为所述第六消息区间的最大消息标识;将所述第六消息区间记录在所述本地数据库中。

在本公开的一些示例性实施例中,所述方法还包括:判断所述第一消息区间与所述第三消息区间是否存在交集;若所述第一消息区间与所述第三消息区间存在交集,则对所述第一消息区间和所述第三消息区间进行消息区间融合,并用融合后的消息区间替换所述第三消息区间;若所述第一消息区间与所述第三消息区间不存在交集,则将所述第一消息区间记录在所述本地数据库中。

在本公开的一些示例性实施例中,在获取所述会话中第一预设数量的第一消息之前,所述方法还包括:查询所述本地数据库中是否存在与所述消息信号对应的第一消息标识;若存在,则从所述本地数据库中获取所述第一预设数量的第一消息;若不存在,则根据所述第一消息标识从服务器中获取与所述第一消息标识对应的第一预设数量的第一消息。

根据本公开的一个方面,提供一种消息处理装置,所述消息处理装置包括:接收信号模块,用于响应用户的登录操作,并接收当前时刻的消息信号,所述消息信号用于指示待接收离线消息的会话;获取消息模块,用于获取所述会话中第一预设数量的第一消息,确定所述第一消息的第一消息区间,其中,所述第一消息区间为所述第一消息中的最大消息标识与最小消息标识组成的消息区间;响应操作模块,用于响应所述用户的消息查看操作,获取与所述第一消息区间连续的第二消息区间对应的第二消息;获取区间模块,用于获取本地数据库中的第三消息区间,其中,所述第三消息区间为所述用户前次登录时接收的消息对应的消息区间;目标操作模块,用于判断所述第二消息区间与所述第三消息区间是否存在交集,并根据判断结果对所述第二消息区间进行目标操作。

根据本公开的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中所述的消息方法。

根据本公开的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的消息方法。

由上述技术方案可知,本公开示例性实施例中的消息方法及装置、计算机可读存储介质、电子设备至少具备以下优点和积极效果:

在本公开的一些实施例所提供的技术方案中,首先,通过接收当前时刻的消息信号,获取会话中第一预设数量的第一消息,并确定该第一消息的第一消息区间;然后,响应用户的消息查看操作,获取与该第一消息区间连续的第二消息区间对应的第二消息;最后,对该第二消息区间和本地数据库中的第三消息区间进行目标操作。本公开中的消息处理方法,一方面能够根据接收到的消息信号在后台默默加载最新预设数量的消息,避免了进入会话界面等待数据加载的过程,在网络较弱的环境下提升了用户的使用体验;另一方面,利用只加载固定预设数量的消息,解决了加载消息数目过多占用系统资源的问题,避免了对系统中其他线程造成影响,有效利用了系统资源;再一方面,通过对消息区间进行目标操作,解决了预先加载不连续消息后,无法判断是否需要请求接口获取消息数据的问题,减少了服务器负载,节省了消息处理时间。

本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性示出了根据本公开的一实施例的消息处理方法的流程示意图;

图2示意性示出了根据本公开的一实施例的用于执行消息处理方法的系统架构的示意图;

图3示意性示出了根据本公开的一实施例的消息处理装置的框图;

图4示意性示出了根据本公开的一实施例的电子设备的模块示意图;

图5示意性示出了根据本公开的一实施例的程序产品示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

在本领域的相关技术中,对于由于网络信号弱出现消息加载卡顿或长时间聊天会话页面为空的问题,存在以下三种解决方法:

第一种,在未进入聊天会话页面之前,不做任何操作,在进入聊天会话页面后,获取一定数目的最新消息,然后响应用户的消息查看操作,利用聊天会话页面中显示的最旧消息的消息标识请求数据接口,从服务器中获取历史消息。但由于没有预先加载数据到本地,在用户进入聊天会话页面后需要等待获取所有未读消息数据,若获取的数据量较大,则会出现用户长时间等待的现象,影响用户体验。

第二种,在用户登录应用后,只要接收到未读会话消息信号,就将未读消息加载至本地,当用户进入聊天会话页面时,直接在本地数据库中获取未读消息即可。但若是未读消息数量过多,在后台加载时会占用系统的运行资源,会导致一些后台线程被影响延后。而且,若用户从未点开已经加载有大量未读消息的聊天会话页面时,那对于该会话中未读消息的加载过程是没有意义的。

第三种,在每次登录应用并接收到未读会话消息信号时,只预先加载最新几条消息到本地,在用户进入聊天会话页面时,可以看到最新的几条消息,缩短加载消息时长。但是消息的消息标识通常是服务端统一生成的非连续升序数字,所以若用户多次启动应用并登录,系统都会预先加载部分离线消息,但是在用户进入聊天会话页面时,无法确认显示在会话中的消息区间是否连续,不得不重新请求接口获取消息数据,这会导致资源的浪费,加重了服务器的压力。

基于相关技术中存在的问题,在本公开的一个实施例中提出了一种消息处理方法。图1示出了消息处理方法的流程示意图,如图1所示,该消息处理方法至少包括以下步骤:

步骤s110:响应用户的登录操作,并接收当前时刻的消息信号,该消息信号用于指示待接收离线消息的会话;

步骤s120:获取会话中第一预设数量的第一消息,确定该第一消息的第一消息区间,其中,第一消息区间为第一消息中的最大消息标识与最小消息标识组成的消息区间;

步骤s130:响应用户的消息查看操作,获取与第一消息区间连续的第二消息区间对应的第二消息;

步骤s140:获取本地数据库中的第三消息区间,其中,该第三消息区间为用户前次登录时接收的消息对应的消息区间;

步骤s150:判断第二消息区间与第三消息区间是否存在交集,并根据判断结果对该第二消息区间进行目标操作。

本公开实施例中的消息处理方法,一方面能够根据接收到的消息信号在后台默默加载最新预设数量的消息,避免了进入会话界面等待数据加载的过程,在网络较弱的环境下提升了用户的使用体验;另一方面利用只加载固定预设数量的消息,解决了加载消息数目过多占用系统资源的问题,避免了对系统中其他线程造成影响,有效利用了系统资源;再一方面,通过对消息区间进目标操作,解决了预先加载不连续消息后,无法判断是否需要请求接口获取消息数据的问题,减少了服务器负载,节省了消息处理时间。

图2示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。如图2所示,系统架构可以包括终端设备201,该终端设备201一方面可以接收并响应用户的各项操作,另一方面可以向服务器202发送请求,通过调用服务器202的数据接口,从服务器202获取数据。终端设备201可以是具有处理器的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机,也可以是台式计算机等等。该系统架构还包括服务器202,该服务器202可以是多个服务器202组成的服务器集群等,该服务器202可以接收终端设备201发送的请求信息,响应该请求信息并向终端设备201返回与该请求信息对应的数据。

需要说明的是,本公开实施例所提供的消息处理方法一般由终端设备201执行,相应地,消息处理装置一般设置于终端设备201中。但是,在本公开的其他实施例中,服务器202也可以与终端设备201具有相似的功能,从而执行本公开实施例所提供的消息处理方法。

为了使本公开的技术方案更清晰,接下来对消息处理方法的各步骤进行说明。

在步骤s110中,响应用户的登录操作,并接收当前时刻的消息信号,该消息信号用于指示待接收离线消息的会话。

在本公开的示例性实施例中,用户通过在终端设备201启动应用,并登录账号,终端设备201接收到该用户的登录账号操作,建立长连接的信息传递机制,接收当前时刻的消息信号,其中,该消息信号包括离线消息信号和实时消息信号,离线消息信号包括当前消息会话内的未读消息数目和每个消息会话内最新一条未读消息的最新消息标识。消息标识可以是一个数字字符串,新消息的消息标识比旧消息的消息标识大。

在步骤s120中,获取会话中第一预设数量的第一消息,确定该第一消息的第一消息区间,其中,第一消息区间为第一消息中的最大消息标识与最小消息标识组成的消息区间。

在本公开的示例性实施例中,在获取会话中第一预设数量的第一消息之前,查询本地数据库中是否存在与消息信号对应的第一消息标识,其中该第一消息标识为最新消息标识。具体地,利用接收到的最新消息标识,根据该最新消息标识,在本地数据库中查询是否存在与该最新消息标识对应的消息区间。若本地数据库中存在与该最新消息标识对应的消息区间,则在本地数据库中获取第一预设数量的第一消息,并在接收到用户进入该聊天会话页面之后,在聊天会话页面显示第一预设数量的第一消息;若本地数据库中不存在与该最新消息标识对应的消息区间,则根据该最新消息标识,通过调用服务器202的数据接口获取与最新消息标识对应的第一预设数量的第一消息,将该第一消息存储在本地数据库中,并在接收到用户进入该聊天会话页面之后,在聊天会话页面显示第一预设数量的第一消息。其中,该第一预设数量可以根据实际情况进行具体设定,本公开对此不做具体限定。

需要说明的是,本地数据库至少包括消息数据库和消息区间数据库,将消息对应的消息内容按照消息标识的顺序存储在消息数据库中,将消息对应的消息区间存储在消息区间数据库中。

在本公开的示例性实施例中,在通过服务器202获取到第一消息和该第一消息对应的第一消息区间之后,遍历本地数据库中的消息区间,其中,该本地数据库中的消息区间可以是本地数据库中与该第一消息对应的会话中的所有消息区间。判断该第一消息区间和本地数据库中的消息区间是否存在交集,若第一消息区间与本地数据库中的消息区间存在交集,则对第一消息区间与本地数据库中的消息区间进行区间融合;若第一消息区间与本地数据库中的消息区间不存在交集,则按照第一消息标识的顺序将该第一消息区间记录在本地数据库中。

在步骤s130中,响应用户的消息查看操作,获取与第一消息区间连续的第二消息区间对应的第二消息。

在本公开的示例性实施例中,用户的消息查看操作可以包括用户的上滑操作,也可以包括用户的下拉操作,其中,上滑操作获取的是会话中的实时消息,下拉操作获取的是会话中的历史消息。该用户的消息查看操作还可以是用户通过点击操作选择查看实时消息或历史消息,本公开对此不做具体限定。

在本公开的示例性实施例中,响应用户的消息查看操作,获取与第一消息区间连续的第二消息区间对应的第二消息,包括:响应用户在所述会话中的第一消息查看操作,其中,该第一消息查看操作包括下拉操作或是点击查看历史消息操作。查询本地数据库中是否存在与第一消息区间连续的第二消息区间;若本地数据库中存在与第一消息区间连续的第二消息区间,则从本地数据库中读取与第二消息区间对应的第二消息,并将该第二消息显示在聊天会话页面中;若本地数据库中不存在与第一消息区间连续的第二消息区间,则根据第一消息对应的最小消息标识,从服务器202中获取第二消息,将该第二消息存储在本地数据库中,并将该第二消息显示在聊天会话页面中。

在本公开的示例性实施例中,第二消息区间中的最小消息标识小于或等于第一消息区间中的最小消息标识,第二消息区间中的最大消息标识大于或等于第一消息区间中的最小消息标识。在获取第二消息区间以及第二消息之后,对该第二消息区间和第一消息区间进行区间融合,并将融合后的消息区间记录在本地数据库中,具体地,将第一消息区间和第二消息区间合并以形成第五消息区间,并将第五消息区间记录在本地数据库中。其中,第二消息区间的最小消息标识为第五消息区间的最小消息标识,第一消息区间的最大消息标识为第五消息区间的最大消息标识。

在本公开的示例性实施例中,响应用户的消息查看操作,获取与第一消息区间连续的第二消息区间对应的第二消息,包括:响应用户在会话中的第二消息查看操作,其中,该第二消息查看操作包括上滑操作或是点击查看实时消息操作,根据第一消息对应的最大消息标识,从服务器202中获取第二消息,将该第二消息存储在本地数据库中,并将该第二消息显示在聊天会话页面中。

在本公开的示例性实施例中,第一消息区间中的最小消息标识小于或等于第二消息区间中的最小消息标识,第一消息区间中的最大消息标识大于或等于第二消息区间中的最小消息标识。在获取第二消息区间以及第二消息之后,对该第二消息区间和第一消息区间进行区间融合,并将融合人后的消息区间记录在本地数据库中,具体地,将第一消息区间和第二消息区间合并以形成第六消息区间,并将第六消息区间记录在本地数据库中。其中,第一消息区间的最小消息标识为第六消息区间的最小消息标识,第二消息区间的最大消息标识为第六消息区间的最大消息标识,。

在本公开的示例性实施例中,若本地数据库中存在与该第一消息区间连续的第二消息区间,则从本地数据库中读取与该第二消息区间对应的第二消息,并判断第二消息的数量是否达到第二预设数量,其中,该第二预设数量可以是后台根据具体情况设定的聊天会话页面能够显示消息的数量,也可以是用户根据需求设定的显示消息的数量,本公开对此不做具体限定。若本地数据库中第二消息的数量达到第二预设数量,则根据第二消息区间从本地数据库中读取第二预设数量的第二消息,并将第二预设数量的第二消息显示在聊天会话页面中;若本地数据库中第二消息的数量未达到第二预设数量,则首先根据第二消息区间从本地数据库中读取第二消息,并根据第二消息的数量和第二预设数量确定目标数量,从服务器202中获取与第二消息区间连续的目标数量的消息。举例而言,若用户设定的第二预设数量为10条,而本地数据库中第二消息的消息数量为6条,则首先在本地数据库中读取这6条第二消息,并根据第二预设数量和第二消息数量确定目标数量为4条,然后根据第二消息区间从服务器202获取与第二消息区间连续的4条目标消息,最后将6条第二消息和4条目标消息显示在聊天会话页面中。

在步骤s140中,获取本地数据库中的第三消息区间,其中,该第三消息区间为用户前次登录时接收的消息对应的消息区间。

在本公开的示例性实施例中,判断第一消息区间与第三消息区间是否存在交集,若第一消息区间与第三消息区间存在交集,则将第一消息区间和第三消息区间进行消息区间融合,并用融合后的消息区间替换第三消息区间;若第一消息区间与第三消息区间不存在交集,则将第一消息区间记录在本地数据库中。

在步骤s150中,判断第二消息区间与第三消息区间是否存在交集,并根据判断结果对该第二消息区间进行目标操作。

在本公开的示例性实施例中,判断第二消息区间与第三消息区间是否存在交集,若第二消息区间与第三消息区间存在交集,则对第二消息区间和第三消息区间进行消息区间融合,并用融合后的消息区间替换第三消息区间;若第二消息区间与第三消息区间不存在交集,则将第二消息区间记录在本地数据库中。

在本公开的示例性实施例中,第三消息区间中的最小消息标识小于或等于第二消息区间中的最小消息标识,第三消息区间中的最大消息标识大于或等于第二消息区间中的最小消息标识。对第二消息区间和第三消息区间进行消息区间融合,并用融合后的消息区间替换第三消息区间,具体地,将第二消息区间和第三消息区间合并以形成第四消息区间,利用第四消息区间替换所述第三消息区间。其中,第三消息区间的最小消息标识为第四消息区间的最小消息标识,第二消息区间的最大消息标识为第四消息区间的最大消息标识。

下面结合具体实施例对本示例性实施例中的消息处理方法进行进一步的说明,在该具体实施例中,用简单的数字示意性表示消息标识。

小明向小王发送了消息标识为2,3,4,5,6,7,8,9,10,11的消息,终端设备201响应小王的登录账号操作,接收小王与小明的会话中所对应的消息信号,该消息信号包括未读消息为10条的提示信息和未读消息的最新消息标识11。将该消息区间[2-11]的消息存储在本地数据库中,并对消息区间[2-11]做消息区间融合,将该消息区间[2-11]存储在本地数据库中,响应小王的退出登录操作。

小明又对小王发送了消息标识为12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28的消息,终端设备201再次响应小王的登录账号操作,接收小王与小明的会话中所对应的消息信号,该消息信号包括未读消息为17条的提示信息和未读消息的最新消息标识28。

终端设备201利用该最新消息标识28去本地数据库的消息区间中查询是否存在与最新消息标识28对应的消息区间,若存在,则直接从本地数据库中获取10条消息区间在[19-28]的第一消息,若不存在,则调用数据接口,从服务器202中获取与最新消息标识28对应的10条消息区间在[19-28]的第一消息,并将第一消息存储在本地数据库中,并对第一消息对应的第一消息区间[19-28]进行消息区间融合,将第一消息区间[19-28]存储在本地数据库中。终端设备201响应小王点击进入和小明的聊天会话页面,直接在聊天会话页面中显示第一消息。

此时显示在会话页面中最旧消息标识为19,终端设备201响应小王的下拉消息查看操作,利用该消息标识19在本地数据库中查询是否存在与消息标识19对应的消息区间,若存在,则直接从本地数据库中获取10条消息区间在[10-19]的第二消息,若不存在,则调用数据接口,从服务器202中获取10条消息区间在[10-19]的第二消息,将该消息区间[10-19]对应的第二消息显示在会话页面中,并对第二消息区间[10-19]进行消息区间融合。

对第二消息区间[10-19]进行消息区间融合具体包括:判定第一消息区间[19-28]和第二消息区间[10-19]存在交集,将第一消息区间[19-28]和第二消息区间[10-19]合并形成消息区间[10-28],将融合后的消息区间[10-28]存储在本地数据库中,并删除[10-19]和[19-28],判定融合后的消息区间[10-28]和本地数据库中的[2-11]存在交集,将消息区间[10-28]和消息区间[2-11]合并形成消息区间[2-28]将消息区间[2-28]存储在本地数据库中,并删除消息区间[10-28]和消息区间[2-11]。此时,在本地数据库中存储有消息区间[2-28]和消息区间[2-28]对应的消息。

本示例性实施例中的消息处理方法通过对消息区间进行消息区间融合,有效的跟踪了消息的时间线,避免了重复请求接口下载已经加载到本地的消息的问题,有效减小了服务器202的负荷。又在很大程度上保证了在用户刚进入聊天会话页面时就可以立即看到消息,提升了用户体验。

以下介绍本公开的装置实施例,可以用于执行本公开上述的消息处理方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的,,方法的实施例。

图3示意性示出了根据本公开的一个实施例的消息处理装置的框图。

参照图3所示,根据本公开的一个实施例的消息处理装置300,该消息处理装置300包括:接收信号模块301、获取消息模块302、响应操作模块303、获取区间模块304和目标操作模块305。具体地:

接收信号模块301,用于响应用户的登录操作,并接收当前时刻的消息信号,所述消息信号用于指示待接收离线消息的会话;

获取消息模块302,用于获取所述会话中第一预设数量的第一消息,确定所述第一消息的第一消息区间,其中,所述第一消息区间为所述第一消息中的最大消息标识与最小消息标识组成的消息区间;

响应操作模块303,用于响应所述用户的消息查看操作,获取与所述第一消息区间连续的第二消息区间对应的第二消息;

获取区间模块304,用于获取本地数据库中的第三消息区间,其中,所述第三消息区间为所述用户前次登录时接收的消息对应的消息区间;

目标操作模块305,用于判断所述第二消息区间与所述第三消息区间是否存在交集,并根据判断结果对所述第二消息区间进行目标操作。

上述消息处理装置的具体细节已经在对应的消息处理方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了用于执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图4来描述根据本发明的这种实施方式的电子设备400。图4显示的电子设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图4所示,电子设备400以通用计算设备的形式表现。电子设备400的组件可以包括但不限于:上述至少一个处理单元410、上述至少一个存储单元420、连接不同系统组件(包括存储单元420和处理单元410)的总线430、显示单元440。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元410执行,使得所述处理单元410执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元410可以执行如图1中所示的步骤s110,响应用户的登录操作,并接收当前时刻的消息信号,该消息信号用于指示待接收离线消息的会话;步骤s120,获取会话中第一预设数量的第一消息,确定该第一消息的第一消息区间,其中,第一消息区间为第一消息中的最大消息标识与最小消息标识组成的消息区间;步骤s130,响应用户的消息查看操作,获取与第一消息区间连续的第二消息区间对应的第二消息;步骤s140,获取本地数据库中的第三消息区间,其中,该第三消息区间为所述用户前次登录时接收的消息对应的消息区间;步骤s150,判断第二消息区间与第三消息区间是否存在交集,并根据判断结果对该第二消息区间进行目标操作。

存储单元420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)4201和/或高速缓存存储单元4202,还可以进一步包括只读存储单元(rom)4203。

存储单元420还可以包括具有一组(至少一个)程序模块4205的程序/实用工具4204,这样的程序模块4205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备400也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得观众能与该电子设备400交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口450进行。并且,电子设备300还可以通过网络适配器460与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器460通过总线430与电子设备400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。

参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品500,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

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