信息显示方法、装置、电子设备及存储介质与流程

文档序号:19155658发布日期:2019-11-16 00:43阅读:163来源:国知局
信息显示方法、装置、电子设备及存储介质与流程

本公开涉及计算机技术领域,尤其涉及一种信息显示方法、装置、电子设备及存储介质。



背景技术:

目前,即时通讯软件越来越受用户欢迎,即时通讯软件主要用于用户之间,以及,公众号与用户之间的即时通讯。此外,即时通讯软化还具备对通讯内容进行收藏的功能。

目前,即时通讯软件的收藏功能主要是通过用户对感兴趣的某个聊天记录进行操作,触发收藏请求,来实现对某个聊天记录的收藏的目的的。那么当用户需要收藏连续或分散的多条聊天记录时,用户则需要对每个感兴趣的聊天记录逐条触发收藏请求,来完成对多条聊天记录的收藏任务。另外,用户在查看已被收藏的聊天记录时,也需要在收藏夹中逐条点击各个收藏记录,来达到对各个聊天记录查看的目的。

显然,相关技术中的聊天记录的收藏以及查看方案需要用户逐条收藏,逐条查看,存在着操作繁琐的问题。



技术实现要素:

本公开提供一种信息显示方法、装置、电子设备及存储介质,以至少解决相关技术中的聊天记录的收藏以及查看方案所存在的操作繁琐的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种信息显示方法,包括:

接收对已收藏的目标数据项的查看请求;

响应于所述查看请求,获取所述目标数据项在所属通讯会话中的上下文数据项;

显示所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述获取所述目标数据项在所属通讯会话中的上下文数据项,包括:

在所述目标数据项所属的通讯会话对应的缓存记录中,查询是否存在所述目标数据项,以及所述目标数据项的上下文数据项;

当所述缓存记录中存在所述目标数据项,以及所述目标数据项的上下文数据项时,则从所述缓存记录中获取所述目标数据项和所述上下文数据项。

在一种可能的实施方式中,所述获取所述目标数据项在所属通讯会话中的上下文数据项,包括:

当所述缓存记录中不存在所述目标数据项、所述目标数据项的上文数据、下文数据项中的至少一项时,则根据查询结果生成数据请求,并发送所述数据请求至服务器,以获取所述目标数据项和所述上下文数据项。

在一种可能的实施方式中,所述根据查询结果生成数据请求,并发送所述数据请求至服务器,以获取所述目标数据项和所述上下文数据项,包括:

当查询结果为所述缓存记录中不存在所述目标数据项的上下文数据项时,或,所述缓存记录中不存在所述目标数据项且存在所述目标数据项的上下文数据项时,则生成第一数据请求,其中,所述第一数据请求包括所述目标数据项的id信息;

调用第一接口发送所述第一数据请求至服务器;

从所述第一接口接收来自所述服务器的所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述根据查询结果生成数据请求,并发送所述数据请求至服务器,以获取所述目标数据项和所述上下文数据项,包括:

当查询结果为所述缓存记录中存在所述目标数据项的第一关联数据项、且不存在所述目标数据项的第二关联数据项时,则生成第二数据请求,其中,所述第二数据请求包括所述目标数据项的id信息以及表征所述第二关联数据项与所述目标数据项之间的关联关系的方向信息;

调用第二接口发送所述第二数据请求至服务器;

从所述第二接口接收来自所述服务器的所述目标数据项和所述第二关联数据项;

从所述缓存记录中获取所述目标数据项的所述第一关联数据项;

其中,当所述第一关联数据项为上文数据项时,所述第二关联数据项为下文数据项;

当所述第一关联数据项为下文数据项时,所述第二关联数据项为上文数据项。

在一种可能的实施方式中,所述响应于所述查看请求,获取所述目标数据项在所属通讯会话中的上下文数据项之后,所述显示所述目标数据项以及所述上下文数据项之前,所述方法还包括:

按照id信息从小到大的顺序,对所述目标数据项和所述上下文数据项进行排序;

所述显示所述目标数据项以及所述上下文数据项,包括:

显示经过排序后的所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述显示所述目标数据项以及所述上下文数据项,包括:

显示所述通讯会话的界面,并在所述通讯会话的界面中显示所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述显示所述通讯会话的界面,并在所述通讯会话的界面中显示所述目标数据项以及所述上下文数据项之后,所述方法还包括:

当在所述通讯会话的界面内接收到对数据项的滑动请求时,则识别所述滑动请求的目标方向;

识别所述通讯会话的界面内分布在所述目标方向上的最后一个数据项;

当所述通讯会话的缓存记录中不存在所述最后一个数据项的第三关联数据项时,则生成第三数据请求,其中,所述第三数据请求包括所述最后一个数据项的id信息以及表征所述第三关联数据项与所述最后一个数据项之间的关联关系的所述目标方向;

调用第二接口发送所述第三数据请求至服务器;

从所述第二接口接收来自所述服务器的所述最后一个数据项和所述第三关联数据项;

在所述通讯会话的界面中显示所述第三关联数据项。

在一种可能的实施方式中,当所述目标方向为第一方向时,所述第三关联数据项为上文数据项,当所述目标方向为第二方向时,则所述第三关联数据项为下文数据项,其中,所述第一方向和所述第二方向相反。

根据本公开实施例的第二方面,提供一种信息显示装置,包括:

第一接收模块,被配置为执行接收对已收藏的目标数据项的查看请求;

获取模块,被配置为执行响应于所述查看请求,获取所述目标数据项在所属通讯会话中的上下文数据项;

第一显示模块,被配置为执行显示所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述获取模块包括:

查询子模块,被配置为执行在所述目标数据项所属的通讯会话对应的缓存记录中,查询是否存在所述目标数据项,以及所述目标数据项的上下文数据项;

第一获取子模块,被配置为执行当所述缓存记录中存在所述目标数据项,以及所述目标数据项的上下文数据项时,则从所述缓存记录中获取所述目标数据项和所述上下文数据项。

在一种可能的实施方式中,所述获取模块包括:

第二获取子模块,被配置为执行当所述缓存记录中不存在所述目标数据项、所述目标数据项的上文数据、下文数据项中的至少一项时,则根据查询结果生成数据请求,并发送所述数据请求至服务器,以获取所述目标数据项和所述上下文数据项。

在一种可能的实施方式中,所述第二获取子模块包括:

第一生成单元,被配置为执行当查询结果为所述缓存记录中不存在所述目标数据项的上下文数据项时,或,所述缓存记录中不存在所述目标数据项且存在所述目标数据项的上下文数据项时,则生成第一数据请求,其中,所述第一数据请求包括所述目标数据项的id信息;

第一调用单元,被配置为执行调用第一接口发送所述第一数据请求至服务器;

第一接收单元,被配置为执行从所述第一接口接收来自所述服务器的所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述第二获取子模块包括:

第二生成单元,被配置为执行当查询结果为所述缓存记录中存在所述目标数据项的第一关联数据项、且不存在所述目标数据项的第二关联数据项时,则生成第二数据请求,其中,所述第二数据请求包括所述目标数据项的id信息以及表征所述第二关联数据项与所述目标数据项之间的关联关系的方向信息;

第二调用单元,被配置为执行调用第二接口发送所述第二数据请求至服务器;

第二接收单元,被配置为执行从所述第二接口接收来自所述服务器的所述目标数据项和所述第二关联数据项;

第一获取单元,被配置为执行从所述缓存记录中获取所述目标数据项的所述第一关联数据项;

其中,当所述第一关联数据项为上文数据项时,所述第二关联数据项为下文数据项;

当所述第一关联数据项为下文数据项时,所述第二关联数据项为上文数据项。

在一种可能的实施方式中,所述装置还包括:

排序模块,被配置为执行按照id信息从小到大的顺序,对所述目标数据项和所述上下文数据项进行排序;

所述第一显示模块,还被配置为执行显示经过排序后的所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述第一显示模块包括:

显示子模块,被配置为执行显示所述通讯会话的界面,并在所述通讯会话的界面中显示所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述装置还包括:

第一识别模块,被配置为执行当在所述通讯会话的界面内接收到对数据项的滑动请求时,则识别所述滑动请求的目标方向;

第二识别模块,被配置为执行识别所述通讯会话的界面内分布在所述目标方向上的最后一个数据项;

生成模块,被配置为执行当所述通讯会话的缓存记录中不存在所述最后一个数据项的第三关联数据项时,则生成第三数据请求,其中,所述第三数据请求包括所述最后一个数据项的id信息以及表征所述第三关联数据项与所述最后一个数据项之间的关联关系的所述目标方向;

调用模块,被配置为执行调用第二接口发送所述第三数据请求至服务器;

第二接收模块,被配置为执行从所述第二接口接收来自所述服务器的所述最后一个数据项和所述第三关联数据项;

第二显示模块,被配置为执行在所述通讯会话的界面中显示所述第三关联数据项。

在一种可能的实施方式中,当所述目标方向为第一方向时,所述第三关联数据项为上文数据项,当所述目标方向为第二方向时,则所述第三关联数据项为下文数据项,其中,所述第一方向和所述第二方向相反。

根据本公开实施例的第三方面,提供一种电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现上述任一项所述的信息显示方法。

根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一项所述的信息显示方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包含可读程序代码,当所述可读程序代码在计算设备上运行是,可使所述计算设备执行上述任意一项所述的信息显示方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

这样,本公开实施例在响应对已收藏的某个目标数据项的查看请求时,可以获取该目标数据项在所属通讯会话的上下文数据项,并将目标数据项和其上下文数据项均显示出来,那么用户在收藏数据项时,就不需要对该目标数据项和其上下文数据均进行收藏,只需要对连续的多个数据项中的任意一个数据项进行收藏,那么在触发对该数据项的查看请求时,就可以实现对该多个数据项的查看,避免了用户对感兴趣的数据项进行逐条收藏的问题;且由于收藏夹中只展示有连续的多个数据项中的一个目标数据项,那么用户也不需要对该多个数据项逐个触发查看请求,只需要对一个目标数据项触发查看请求,就可以实现其上下文数据项的查看,避免了对感兴趣的数据项逐条触发查看请求的问题,降低了操作繁琐度。

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

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种信息显示方法的流程图;

图2是根据一示例性实施例示出的一种通讯会话界面的示意图;

图3是根据一示例性实施例示出的一种信息显示方法的流程图;

图4是根据一示例性实施例示出的一种信息显示装置的结构框图;

图5是根据一示例性实施例示出的一种用于信息显示的装置800的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种信息显示方法的流程图,如图1所示,所述信息显示方法可以用于客户端,该方法可以包括以下步骤:

步骤101,接收对已收藏的目标数据项的查看请求;

其中,所述客户端可以是即时通讯应用程序。即时通讯应用程序提供聊天记录的收藏功能,因此,用户可以对任意一个通讯会话中的任意一个感兴趣的聊天记录项进行收藏。

在一种可能的实施方式中,该目标数据项可以为聊天记录项。

此外,该聊天记录项的具体形式可以是文本(例如聊天文本)、语音(例如聊天用户的语音)、图片、视频、链接等任意一种即时通讯内容。

该目标数据项可以是任意一个通讯会话中客户端发送的聊天记录项,也可以是该通讯会话中对方客户端发送的聊天记录项,本公开对此不做限制。

在一种可能的实施方式中,在步骤101之前,用户在对感兴趣的聊天记录项进行收藏时,如果需要收藏的聊天记录项互为上下文,例如用户需要收藏的多个聊天记录项为一段连续的聊天记录项,那么用户只需要从该一段连续的多个聊天记录项中选取任意一个聊天记录项触发收藏操作,那么在本公开实施例的方法就可以对该聊天记录项添加预设标记,那么在用户需要查看被收藏的聊天记录时,例如触发步骤101时,就可以展示出该被收藏的聊天记录项以及该聊天记录项的上下文聊天记录项,从而避免了用户对感兴趣的多个聊天记录项进行逐条收藏的问题,且在查看被收藏的聊天记录时,只需要对已被收藏的一条聊天记录项触发查看请求,本公开实施例的方法就可以将该聊天记录项及其上下文聊天记录项均展示出来,从而降低了用户查看被收藏的聊天记录的复杂度,也不需要对想要收藏的聊天记录项逐条触发查看请求。

其中,在对需要收藏的聊天记录项添加预设标记时,可以通过保存该聊天记录的id,或者对该聊天记录添加锚点的方式来实现。

以保存该聊天记录的id为例来说明,对于用户触发收藏操作的聊天记录项,本公开实施例的方法可以将该聊天记录项的id保存在预设数据库中,每一条被收藏的聊天记录项的id作为一条记录存储在该预设数据库中,其中,用户在收藏该聊天记录项时,可以对该聊天记录项添加备注,该备注用于提醒用户该聊天记录项的具体内容,该备注的具体内容由用户自定义,本公开对此不做限制。当一条被收藏的聊天记录项添加有备注时,则可以将备注内容与该聊天记录项的id关联存储,即作为一条记录存储在该预设数据库的数据表中。其中,对于任意一个通讯会话,其中每个聊天记录项的id唯一。

该即时通讯应用程序的收藏夹界面中可以展示该客户端用户收藏的每个聊天记录项。本步骤中,用户可以在即时通讯软件的收藏列表所展示的多个已收藏的聊天记录项中触发对想要查看的目标聊天记录项的查看请求。

步骤102,响应于所述查看请求,获取所述目标数据项在所属通讯会话中的上下文数据项;

其中,该目标数据项所属的通讯会话中包括通讯各方发送的多个聊天记录项。举例来说,如图2所示的通讯会话界面,包括通讯双方的多条聊天记录项。例如该目标数据项为“证明5、证明6”,那么位于聊天记录项“证明5、证明6”之前的三个聊天记录项均为该目标数据项的上文数据项,而位于该聊天记录项“证明5、证明6”之后的两个聊天记录项均为该目标数据项的下文数据项。

需要说明的是,一个数据项的上文数据项的数量可以是预设数量之内的一个或多个数据项,类似的,一个数据项的下文数据项的数量也可以是预设数量之内的一个或多个数据项。此外,一个数据项的上文数据项的数量和下文数据项的数量可以相同或不同,本公开对此不做限制。

在一种可能的实施方式中,在获取该目标数据项的上下文数据项时,可以获取该目标数据项的第一预设数量的上文数据项,以及获取该目标数据项的第二预设数量的下文数据项。

另外,若该目标数据项的下文数据项的实际数量小于该第二预设数量,则获取该实际数量的下文数据项即可,所获取的上文数据项的数量类似,这里不再赘述。

步骤104,显示所述目标数据项以及所述上下文数据项。

其中,若该目标数据项添加有锚点,则可以跳转至所述通讯会话中该目标数据项所在的聊天界面,其中,该聊天界面显示有该目标数据项,以及该目标数据项的上文数据项和下文数据项。

这样,本公开实施例在响应对已收藏的某个目标数据项的查看请求时,可以获取该目标数据项在所属通讯会话的上下文数据项,并将目标数据项和其上下文数据项均显示出来,那么用户在收藏数据项时,就不需要对该目标数据项和其上下文数据均进行收藏,只需要对连续的多个数据项中的任意一个数据项进行收藏,那么在触发对该数据项的查看请求时,就可以实现对该多个数据项的查看,避免了用户对感兴趣的数据项进行逐条收藏的问题;且由于收藏夹中只展示有连续的多个数据项中的一个目标数据项,那么用户也不需要对该多个数据项逐个触发查看请求,只需要对一个目标数据项触发查看请求,就可以实现其上下文数据项的查看,避免了对感兴趣的数据项逐条触发查看请求的问题,降低了操作繁琐度,简化不必要的操作,节省操作时间。

在一种可能的实施方式中,在执行步骤104时,可以显示所述通讯会话的界面,并在所述通讯会话的界面中显示所述目标数据项以及所述上下文数据项。

也就是说,可以从收藏夹界面跳转至所述通讯会话的界面,从而显示该通讯会话的界面,并在通讯会话的界面中显示该目标数据项以及其上下文数据项。

此外,由于通讯会话的界面中可以显示的数据项的总量存在限制,因此,该通讯会话的界面中可能会存在部分上文数据项和/或部分下文数据项被界面隐藏,用户可以通过对界面进行上下滑动来触发被隐藏的部分上文数据项、部分下文数据项显示。

对于该目标数据项在该通讯会话的界面中所处的位置,可以位于最上方,该目标数据项的下方显示其下文数据项,而其上文数据项则隐藏在该目标数据项的上方,待用户上下滑动该界面时,则可以使得隐藏的上文数据项显示出来。

此外,该目标数据项在该通讯会话的界面中所处的位置,也可以位于最下方,该目标数据项的上方显示其上文数据项,而其下文数据项则隐藏在该目标数据项的下方,待用户上下滑动该界面时,则可以使得隐藏的下文数据项显示出来。

另外,该目标数据项在该通讯会话的界面中所处的位置,也可以位于该界面的中部位置,使得该界面中位于该目标数据项的上方可以显示其部分上文数据项,而其下发则可以显示其部分下文数据项,待用户上下滑动该界面时,则可以使得隐藏的部分上文数据项、部分下文数据项显示出来。

这样,本公开实施例可以在用户查看收藏夹中的任意一个目标数据项时,获取到该目标数据项的上下文数据项,并从收藏夹界面跳转至该目标数据项所属的通讯会话的界面,在该界面中显示出该目标数据项以及其上下文数据项,使得用户只需要对一段聊天记录中的一个聊天记录进行收藏,本公开实施例的方法就可以在用户请求查看该聊天记录时,将该聊天记录以及其上下文聊天记录都显示出来,避免了用户对该一段聊天记录进行逐条收藏的繁琐问题,且用户在查看聊天记录时,也只需要触发对该一条目标数据项的查看请求,也避免了对感兴趣的聊天记录在收藏夹界面中进行逐条触发查看请求的问题,降低了操作复杂度。

在一种可能的实施方式中,步骤102之后,步骤104之前,根据本公开实施例的方法还可以包括:

步骤103,按照id信息从小到大的顺序,对所述目标数据项和所述上下文数据项进行排序;

其中,当目标数据项和上下文数据项均从与客户端对应的服务器获取到时,则一般情况下,服务器所返回的数据已经是按照id从小到大的顺序排列好的多个数据项,因此,可以无需执行此步骤。

但是,当存在部分数据项来自与服务器,部分数据项来自于客户端的本地缓存时,则需要将从本地缓存的数据项以及从服务器获取到的数据项,按照id信息从小到大的顺序,进行排序,从而使得排序后的各个数据项与实际的聊天情况是一致的。在本公开实施例中,在通讯会话中,先生成的聊天记录,其id较小,后生成的聊天记录,其id较大。

那么在执行步骤104时,则可以显示经过排序后的所述目标数据项以及所述上下文数据项。

这样,本公开实施例通过对获取到的目标数据项以及上下文数据项按照id从小到大的顺序进行排序,其中,由于先生成的数据项的id较小,后生成的数据项的id较大,那么通过显示这种经过排序的多个数据项,可以确保显示出来的多个数据项与该用户当时生成该多个数据项时的会话场景是一致的,能够恢复出实际的聊天场景,那么用户通过查看该符合实际聊天场景的多个数据项,就可以从中快速定位到其所关注的数据项的内容,帮助用户快速定位其所需要查看的信息。

在一种可能的实施方式中,在执行步骤102时,可以通过s201~s203来实现:

s201,在所述目标数据项所属的通讯会话对应的缓存记录中,查询是否存在所述目标数据项,以及所述目标数据项的上下文数据项;

其中,可以在客户端的关于该通讯会话的本地缓存中,查找是否存在该目标数据项及其上下文数据项。

其中,该通讯会话可以是客户端用户与公众号之间的通讯会话,也可以是客户端用户与私人用户之间的通讯会话。另外,该通讯会话可以是双方的会话,也可以是多方的群聊会话,本公开对于该通讯会话的会话用户的数量不做限制。

但是,由于即时通讯程序的本地缓存中可以涉及客户端用户的多个通讯会话的缓存,因此,这里为了提升对用户请求的响应速度,只需要查询对应于该目标数据项所属的通讯会话的缓存记录。

其中,这里在查询上下文数据项时,可以查询是否存在第一数量的上文数据项,以及是否存在第二数量的下文数据项。

场景一:当所述缓存记录中存在所述目标数据项,以及所述目标数据项的上下文数据项时,则s202,从所述缓存记录中获取所述目标数据项和所述上下文数据项。

其中,可以预先在客户端配置从本地获取的上文数据项的最大数量,例如第一数量,以及下文数据项的最大数量,例如第二数量。那么在缓存记录中获取该目标数据项以及上下文数据项时,就可以获取第一数量的上文数据项,以及第二数量的下文数据项。

需要说明的是,如果该通讯会话的缓存记录中存在被用户删除的数据项,由于被删除的数据项在客户端和服务器侧均会被删除,因此,在获取目标数据项的上下文数据项时,如果目标数据项的某个上文数据项,或某个下文数据项在步骤101之前已经被删除,则这里不需要获取被删除的上文、或下文数据项。

例如目标数据项的id=6,约定获取5条上文数据项以及5条下文数据项(即第一数量和第二数量均为5),而id=3的数据项已被删除,且本地缓存的数据项包括该通讯会话中的id=0、1、2、4、5、6、7、8、9、10、11的11个数据项,则这里可以从本地缓存中获取id=6的目标数据项,以及id=0、1、2、4、5的5个上文数据项,以及id=7、8、9、10、11的5个下文数据项。因此,第一数量和第二数量分别是可以获取到的上文数据项、下文数据项的最大数量。

在一种可能的实施方式中,当所述缓存记录中不存在所述目标数据项、所述目标数据项的上文数据、下文数据项中的至少一项时,则执行下述s203。

其中,关于当所述缓存记录中不存在所述目标数据项、所述目标数据项的上文数据、下文数据项中的至少一项时,可以分为以下三种场景,分别为下述场景二、场景三以及场景四。

场景二:当所述缓存记录中不存在所述目标数据项的上下文数据项时,则s203;

具体而言,在本实施方式中,若该通讯会话对应的缓存中不存在id=6的目标数据项的5个上文数据项以及5个下文数据项,则需要执行s203。

其中,目标数据项的上文数据项指代id小于该目标数据项的id,且id距离该目标数据项的id最近的第一数量的数据项;目标数据项的下文数据项指代id大于该目标数据项的id,且id距离该目标数据项的id最近的第二数量的数据项。

例如缓存记录的数据项id分别为2、4、5、6、7、8,其中,目标数据项的id=6,则本地缓存中只有id=6的三个上文数据项,id分别为2、4、5,而不存在第一数量(这里为5个)上文数据项,且本地缓存只有id=6的2个下文数据项,id分别为7、8,而不存在第二数量(这里为5个)下文数据项。所以,这种情况属于所述缓存记录中不存在所述目标数据项的上下文数据项情况,需要执行s203。

另外,需要说明的是,在本场景二中,不论缓存记录中是否存在该目标数据项,只要所述缓存记录中不存在所述目标数据项的上下文数据项时,就会执行s203。例如缓存记录的数据项id分别为2、4、5、7、8,其中,目标数据项的id=6,则同样属于场景二。

场景三:当所述缓存记录中存在所述目标数据项的第一关联数据项、且不存在所述目标数据项的第二关联数据项时,则s203;

本场景描述了当缓存记录中存在该目标数据项的第一数量的上文数据项,但是不存在第二数量的下文数据项;或者,存在该目标数据项的第二数量的下文数据项,但是不存在第一数量的上文数据项,则执行s203。

例如缓存记录的数据项id分别为0、1、2、4、5、6、7、8,其中,目标数据项的id=6,则本地缓存中只有id=6的五个上文数据项,id分别为0、1、2、4、5,而不存在第二数量(这里为5个)的下文数据项,其中,这里只存在id分别为7和8的两个下文数据项,而不具备5个下文数据项。所以,这种情况属于所述缓存记录中该目标数据项的第一数量的上文数据项,但是不存在第二数量的下文数据项的情况,需要执行s203。

另外,需要说明的是,在本场景三中,不论缓存记录中是否存在该目标数据项,只要满足上述关于上文数据项和下文数据项的条件,就会执行s203。例如缓存记录的数据项id分别为0、1、2、4、5、7、8,其中,目标数据项的id=6,则同样属于场景三。

场景四,当所述缓存记录中不存在所述目标数据项,且存在所述目标数据项的上下文数据项时,则s203;

例如,缓存记录的数据项id分别为0、1、2、4、5、7、8、9、10、11,其中,目标数据项的id=6,则本地缓存中存在id=6的五个上文数据项,以及五个下文数据项,但是不存在id=6的目标数据项,因此,属于场景四,这里需要执行s203。

需要说明的是,场景二、场景三、场景四之间可以是或的关系。

s203,根据查询结果生成数据请求,并发送所述数据请求至服务器,以获取所述目标数据项和所述上下文数据项。

其中,所述上下文数据项包括所述第一关联数据项和所述第二关联数据项,当所述第一关联数据项为所述目标数据项的上文数据项时,所述第二关联数据项为所述目标数据项的下文数据项,当所述第一关联数据项为所述目标数据项的下文数据项时,所述第二关联数据项为所述目标数据项的上文数据项。

在场景二或场景三或场景四的情况下,需要执行s203,即根据在缓存记录所查询的结果,来生成数据项请求,发送至服务器,从而获取目标数据项及其上下文数据项。

这样,本公开实施例通过优先从本地缓存中查询目标数据项以及上下文数据项,在本地不存在全部需要的数据项时,则向服务器发送数据请求,从而可以提升目标数据项及其上下文数据项的获取可靠性。

在一种可能的实施方式中,在上述场景二、或场景四的情况下,在执行s203时,则通过s301~s303来实现:

s301,若查询结果为所述缓存记录中不存在所述目标数据项的上下文数据项,或,若查询结果为所述缓存记录中不存在所述目标数据项且存在所述目标数据项的上下文数据项时,则生成第一数据请求,其中,所述第一数据请求包括所述目标数据项的id信息;

也就是说,在场景二或场景四的情况下,只需要获取触发查看请求的目标数据项的id信息,并利用该id信息来生成第一数据请求。在一种可能的实施方式中,可以在该第一数据请求中携带表征上文数据项的数量的第一数量信息以及表征下文数据项的数量的第二数量信息。

s302,调用第一接口发送所述第一数据请求至服务器;

其中,可以通过预先配置的第一接口,来将第一数据请求发送至服务器。

该第一接口为预先配置的用于获取上下文数据项的接口。

s303,从所述第一接口接收来自所述服务器的所述目标数据项以及所述上下文数据项。

其中,服务器在通过第一接口接收到该第一数据请求之后,若该第一数据请求中没有携带上述第一数量信息、第二数量信息,则可以按照服务器预先配置的默认上文数据项的第三数量,和默认下文数据项的第四数量,来从服务器侧获取关于该目标数据项的第三数量的上文数据项,以及第四数量的下文数据项,以及该目标数据项,然后,将上述数据项按照id从小到大的顺序排列后,通过第一接口返回给客户端。

若该第一数据请求中携带上述第一数量信息、第二数量信息,则服务器可以按照该第一数量和第二数量,来获取该目标数据项的第一数量的上文数据项,以及第二数量的下文数据项,以及该目标数据项,并按照id从小到大的顺序排列后,通过第一接口返回给客户端。

在一种可能的实施方式中,该第一数据请求还可以包括上述通讯会话的id信息,从而使得服务器可以根据该id来从该通讯会话的聊天记录中获取到客户端所请求的数据项。

类似的,下述实施例中的第二数据请求、第三数据请求同样可以携带该通讯会话的id信息,后文不再赘述。

那么本步骤中,客户端可以从服务器接收到经过id排序后的目标数据项以及其上下文数据项。

这样,本公开实施例本地缓存不存在被收藏记录的上下文数据项的情况,或本地缓存存在被收藏记录的上下文数据项,但是不存在该被收藏的记录时,则可以通过客户端与服务器预先约定的第一接口来发送第一数据请求,从而获取到目标数据项及其上下文数据项。

需要说明的是,在实际应用中,受系统延迟、系统升级等因素的影响,可能会存在某些数据项在客户端缓存中存在,但是在服务器中已经被删除的情况,因此,对于场景四,该目标数据项可能被用户删除,也可能只是目标数据项在本地没有缓存,可能会存在客户端所存在的该目标数据项的部分上下文数据项已经在服务器侧被删除,因此,在向服务器发送第一数据请求后,所接收到的上下文数据项可能与客户端侧所存储的关于该目标数据项的上下文数据项存在部分差异,但是也接收自服务器的数据项为准来进行展示。这样,可以避免客户端缓存的某些上下文数据项已经无效,但是基于其缓存来进行数据展示所存在的数据展示错误的问题。

在一种可能的实施方式中,在上述场景三的情况下,在执行s203时,还可以通过s401~s404来实现:

s401,若查询结果为所述缓存记录中存在所述目标数据项的第一关联数据项、且不存在所述目标数据项的第二关联数据项,则生成第二数据请求,其中,所述第二数据请求包括所述目标数据项的id信息以及表征所述第二关联数据项与所述目标数据项之间的关联关系的方向信息;

其中,当所述第一关联数据项为上文数据项时,所述第二关联数据项为下文数据项;

当所述第一关联数据项为下文数据项时,所述第二关联数据项为上文数据项。

以第一关联数据项为上文数据项为例进行说明,例如缓存记录的数据项id分别为0、1、2、4、5、6、7、8,其中,目标数据项的id=6,则本地缓存中只有id=6的五个上文数据项,id分别为0、1、2、4、5,而不存在第二数量(这里为5个)的下文数据项,其中,这里只存在id分别为7和8的两个下文数据项,而不具备5个下文数据项。所以,客户端可以生成第二数据请求,将该id为6写入该第二数据请求,此外,由于需要向服务器请求该目标数据项的下文数据项,因此,还需要在第二数据请求中写入方向信息,该方向信息表征下文数据项与目标数据项之间的关联关系,其中,在请求下文数据项时,该方向信息为向下,在请求上文数据项时,该方向信息为向上。在一种可能的实施方式中,还可以在该第二数据请求中携带表征下文数据项的数量的第二数量信息。

s402,调用第二接口发送所述第二数据请求至服务器;

其中,可以通过预先配置的第二接口,来将第一数据请求发送至服务器。

该第二接口为预先配置的用于获取上文数据项或下文数据项的接口。

s403,从所述第二接口接收来自所述服务器的所述目标数据项和所述第二关联数据项;

其中,服务器在通过第二接口接收到该第二数据请求之后,若该第二数据请求中没有携带上述第二数量信息,则可以按照服务器预先配置的默认下文数据项的第四数量,来从服务器侧获取关于该目标数据项的第四数量的下文数据项,以及该目标数据项,然后,将上述数据项按照id从小到大的顺序排列后,通过第二接口返回给客户端。

若该第二数据请求中携带上述第二数量信息,则服务器可以按照该第二数量,来获取该目标数据项的第二数量的下文数据项,以及该目标数据项,并按照id从小到大的顺序排列后,通过第二接口返回给客户端。

那么本步骤中,客户端可以从服务器接收到经过id排序后的目标数据项及其下文数据项。

例如客户端从服务器接收到id=6、7、8、9、10、11的6个数据项。

s404,从所述缓存记录中获取所述目标数据项的所述第一关联数据项。

其中,由于缓存记录中存在该目标数据项的第一数量的上文数据项,因此,可以获取该第一数量的第一数据项,例如上述举例的id分别为0、1、2、4、5的5个上文数据项。

那么在执行上述步骤103时,就可以将来自服务器的6个数据项,以及从缓存记录中获取的5个数据项,按照id信息从小到大的顺序,对所述目标数据项和所述上下文数据项进行排序。

需要说明的是,服务器返回的数据项不仅包括数据项内容,还包括数据项的id信息,以及时间信息、发送者信息等。

其中,在s401之后,执行s402、s404,本公开对于s402和s404之间的执行顺序不做限制。

这样,本公开实施例在查询本地发现本地缓存不存在被收藏记录的上文数据项或下文数据项的情况下,则可以通过第二接口来向服务器发送第二数据请求,从而获取到本地缓存不存在的上文数据项或下文数据项,由于该第二数据项请求中携带了方向信息,从而可以确保从服务器侧所获取的数据项的准确性。

在一种可能的实施方式中,那么在步骤104之后,如图3所示,根据本公开实施例的方法还可以包括:

步骤105,若在所述通讯会话的界面内接收到对数据项的滑动请求,则识别所述滑动请求的目标方向;

参照图2所示的通讯会话的界面,该界面中显示了按照id从小到大排序的6条聊天记录,其中,第四条聊天记录为已收藏记录项,步骤101中触发了对收藏夹中该已收藏记录项的查看请求,从而经过上述步骤102~步骤104,展示了如图2所示的通讯会话的界面。例如上述第一数量为3,第二数量为2,因此,经过图1所示的方法,展示了如图2所示的界面,那么如果用户还想要查看在“今天一块去玩”之前的聊天记录,则可以对图2所示的界面进行向下方向的滑动,从而触发滑动请求,那么步骤可以识别到该滑动请求的滑动方向为由上至下的方向,因此,表明用户想要获取上方的数据项,所以,该目标方向为向上方向。其中,该目标方向为根据滑动请求所确定的用户想要请求的数据项所在的方向。

步骤106,识别所述通讯会话的界面内分布在所述目标方向上的最后一个数据项;

其中,可以识别该图2所示的界面内分布的多个数据项中,位于上方的最后一个数据项为“今天一块去玩”。

步骤107,判断所述通讯会话的缓存记录中是否存在所述最后一个数据项的第三关联数据项;

其中,当所述目标方向为第一方向时,所述第三关联数据项为上文数据项,当所述目标方向为第二方向时,则所述第三关联数据项为下文数据项,其中,所述第一方向和所述第二方向相反;

其中,第一方向为向上方向,第二方向为向下方向。

那么本步骤可以获取该最后一个数据项“今天一块去玩”的id信息,判断该通讯会话的缓存记录中是否存在id小于该id信息,且距离该id信息较近的第一数量的上文数据项,即这里的第三关联数据项。

在一种可能的实施方式中,当所述通讯会话的缓存记录中存在所述第一数量的所述第三关联数据项时,则获取该第三关联数据项并显示在该通讯会话的界面内,其中,该第三关联数据项排列在该最后一个数据项之前,且多个第三关联数据项按照id从小到大的顺序从上至下排列显示。

其中,一次滑动请求所请求的第三关联数据项的数量可以是预设数量,即每次显示有限个上文数据项或下文数据项。

步骤108,若所述通讯会话的缓存记录中不存在所述第三关联数据项,则生成第三数据请求;

其中,所述第三数据请求包括所述最后一个数据项的id信息以及表征所述第三关联数据项与所述最后一个数据项之间的关联关系的所述目标方向;

其中,本步骤的执行原理与上述s401类似,例如上述最后一个数据项为“今天一块去玩”的id=4,则第三数据请求可以携带id为4的信息,以及表征上文数据项与该id=4的数据项之间的关联关系的向上方向。

在一种可能的实施方式中,该第三数据请求还可以包括第一数量的信息。

当然,若该第三关联数据项为下文数据项,则第三数据请求可以包括上述实施例所述的第二数量的信息。

步骤109,调用第二接口发送所述第三数据请求至服务器;

本步骤的执行原理与上述s402类似,这里不再赘述。

步骤110,从所述第二接口接收来自所述服务器的所述最后一个数据项和所述第三关联数据项;

本步骤的执行原理与上述s403类似,这里不再赘述。

步骤111,在所述通讯会话的界面中显示所述第三关联数据项。

其中,由于这里的该第三关联数据项为上文数据项,因此,该第三关联数据项排列在该最后一个数据项之前,且多个第三关联数据项按照id从小到大的顺序从上至下排列显示。

这样,本公开实施例中,在从收藏夹界面跳转至通讯会话界面并显示目标数据项以及上下文数据项之后,若用户对该通讯会话界面进行滑动操作,且待显示的上文或下文数据项在本地没有缓存,则同样利用上述第二接口,来请求最上方的数据项的上文数据项先进性,或最下方的数据项的下文数据项信息,只不过请求中携带的目标数据项的id信息不是被触发查看的已收藏聊天记录的id信息,而是通讯会话界面中显示在最上方或最下方的聊天记录项,从而可以确保在从收藏界面跳转至聊天记录界面之后,还能够使用户对该通讯会话中其他未展示的聊天记录进行查看。

图4是根据一示例性实施例示出的一种信息显示装置的结构框图。参照图4,该装置包括:

第一接收模块41,被配置为执行接收对已收藏的目标数据项的查看请求;

获取模块42,被配置为执行响应于所述查看请求,获取所述目标数据项在所属通讯会话中的上下文数据项;

第一显示模块43,被配置为执行显示所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述获取模块42包括:

查询子模块,被配置为执行在所述目标数据项所属的通讯会话对应的缓存记录中,查询是否存在所述目标数据项,以及所述目标数据项的上下文数据项;

第一获取子模块,被配置为执行当所述缓存记录中存在所述目标数据项,以及所述目标数据项的上下文数据项时,则从所述缓存记录中获取所述目标数据项和所述上下文数据项。

在一种可能的实施方式中,所述获取模块42包括:

第二获取子模块,被配置为执行当所述缓存记录中不存在所述目标数据项、所述目标数据项的上文数据、下文数据项中的至少一项时,则根据查询结果生成数据请求,并发送所述数据请求至服务器,以获取所述目标数据项和所述上下文数据项。

在一种可能的实施方式中,所述第二获取子模块包括:

第一生成单元,被配置为执行当查询结果为所述缓存记录中不存在所述目标数据项的上下文数据项时,或,所述缓存记录中不存在所述目标数据项且存在所述目标数据项的上下文数据项时,则生成第一数据请求,其中,所述第一数据请求包括所述目标数据项的id信息;

第一调用单元,被配置为执行调用第一接口发送所述第一数据请求至服务器;

第一接收单元,被配置为执行从所述第一接口接收来自所述服务器的所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述第二获取子模块包括:

第二生成单元,被配置为执行当查询结果为所述缓存记录中存在所述目标数据项的第一关联数据项、且不存在所述目标数据项的第二关联数据项时,则生成第二数据请求,其中,所述第二数据请求包括所述目标数据项的id信息以及表征所述第二关联数据项与所述目标数据项之间的关联关系的方向信息;

第二调用单元,被配置为执行调用第二接口发送所述第二数据请求至服务器;

第二接收单元,被配置为执行从所述第二接口接收来自所述服务器的所述目标数据项和所述第二关联数据项;

第一获取单元,被配置为执行从所述缓存记录中获取所述目标数据项的所述第一关联数据项;

其中,当所述第一关联数据项为上文数据项时,所述第二关联数据项为下文数据项;

当所述第一关联数据项为下文数据项时,所述第二关联数据项为上文数据项。

在一种可能的实施方式中,所述装置还包括:

排序模块,被配置为执行按照id信息从小到大的顺序,对所述目标数据项和所述上下文数据项进行排序;

所述第一显示模块,还被配置为执行显示经过排序后的所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述第一显示模块包括:

显示子模块,被配置为执行显示所述通讯会话的界面,并在所述通讯会话的界面中显示所述目标数据项以及所述上下文数据项。

在一种可能的实施方式中,所述装置还包括:

第一识别模块,被配置为执行当在所述通讯会话的界面内接收到对数据项的滑动请求时,则识别所述滑动请求的目标方向;

第二识别模块,被配置为执行识别所述通讯会话的界面内分布在所述目标方向上的最后一个数据项;

生成模块,被配置为执行当所述通讯会话的缓存记录中不存在所述最后一个数据项的第三关联数据项时,则生成第三数据请求,其中,所述第三数据请求包括所述最后一个数据项的id信息以及表征所述第三关联数据项与所述最后一个数据项之间的关联关系的所述目标方向;

调用模块,被配置为执行调用第二接口发送所述第三数据请求至服务器;

第二接收模块,被配置为执行从所述第二接口接收来自所述服务器的所述最后一个数据项和所述第三关联数据项;

第二显示模块,被配置为执行在所述通讯会话的界面中显示所述第三关联数据项。

在一种可能的实施方式中,当所述目标方向为第一方向时,所述第三关联数据项为上文数据项,当所述目标方向为第二方向时,则所述第三关联数据项为下文数据项,其中,所述第一方向和所述第二方向相反。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的一种用于信息显示的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如上述任意一种实施方式中所述的信息显示方法。

示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。在一种可能的实施方式中,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种包括指令的应用程序,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品,包含可读程序代码,当所述可读程序代码在计算设备上运行是,可使所述计算设备执行上述任意一种实施方式中所述的信息显示方法。

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

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

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