CN112311650B - 一种会话信息加载方法、装置及存储介质 - Google Patents

一种会话信息加载方法、装置及存储介质 Download PDF

Info

Publication number
CN112311650B
CN112311650B CN201910666676.7A CN201910666676A CN112311650B CN 112311650 B CN112311650 B CN 112311650B CN 201910666676 A CN201910666676 A CN 201910666676A CN 112311650 B CN112311650 B CN 112311650B
Authority
CN
China
Prior art keywords
session
information
session information
list
acquiring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910666676.7A
Other languages
English (en)
Other versions
CN112311650A (zh
Inventor
赵禹
文孝木
李斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910666676.7A priority Critical patent/CN112311650B/zh
Publication of CN112311650A publication Critical patent/CN112311650A/zh
Application granted granted Critical
Publication of CN112311650B publication Critical patent/CN112311650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及即时通信技术领域,具体是一种会话信息加载方法、装置及存储介质,所述方法包括:获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表;根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表;对所述第二会话列表中的会话信息进行分段;获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息;根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新。本发明的会话信息加载方法能够提升会话信息加载的效率,减少启动应用后显示会话列表所需的时间。

Description

一种会话信息加载方法、装置及存储介质
技术领域
本发明涉及即时通信技术领域,特别涉及一种会话信息加载方法、装置及存储介质。
背景技术
随着社会及科技的发展,通过互联网技术进行信息沟通、业务处理等的即时通信技术得到了很大的发展,很多传统的信息传递方式或商业运作模式在互联网的平台上也得以发展,其借助互联网可达到即时、快速的信息传输,给人们的工作、生活及学习带来极大的便利。
随着即时通信软件被越来越多的企业使用,即时通信软件出现企业版,企业利用企业版的即时通信软件进行即时信息的发送,使得企业的即时消息的管理更加便捷。企业员工在使用企业版即时通信软件进行娱乐或者工作的过程中,不但需要个人对个人的交流与资源共享体验,而且还有需要和具有同一特征或者爱好的用户一起进行多人的交流与沟通的情况。比如,在企业中,需要对同一部门的人员建立一群组,方便部门内部人员之间的交流互动。
在实际应用中,由于每次登录企业版即时通信软件加载会话信息时,都需要加载所有的会话消息以及会话成员信息,在一些超大规模的企业中,可能会存在数量巨大的活跃的千人群和百人群,由于群聊会话的成员太多使得获取成员信息耗时很长,进而导致会话列表显示很慢,即出现比较久的加载状态,影响用户体验。
发明内容
针对现有技术的上述问题,本发明的目的在于提供一种会话信息加载方法、装置及存储介质,能够提高加载会话信息的效率,提升用户体验。
为了解决上述问题,本发明提供一种会话信息加载方法,包括:
获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表;
根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表;
对所述第二会话列表中的会话信息进行分段;
获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息;
根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新。
本发明另一方面提供一种会话信息加载装置,包括:
会话列表获取模块,用于获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表;
排序模块,用于根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表;
分段模块,用于对所述第二会话列表中的会话信息进行分段;
成员信息获取模块,用于获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息;
刷新模块,用于根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新。
本发明另一方面提供一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的会话信息加载方法。
本发明另一方面提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的会话信息加载方法。
由于上述技术方案,本发明具有以下有益效果:
本发明的一种会话信息加载方法、装置及存储介质,通过将成员信息的加载过程进行分段,在加载到会话列表后,首先加载首屏需要显示的会话信息对应的成员信息,加载完成后即对用户界面进行刷新,然后再继续加载后续的会话信息对应的成员信息,并依次对所述用户界面进行刷新操作,能够提升会话信息加载的效率,减少启动应用后显示会话列表所需的时间。
本发明的一种会话信息加载方法、装置及存储介质,通过将显示超大群聊会话信息需要的成员信息序列化存储到预设成员列表中,在加载到会话列表后,对于超大群聊会话信息不再获取完整的成员信息,而是通过所述预设成员列表组装会话,能够进一步提升会话信息加载的效率,保证启动应用后显示会话列表耗时的稳定性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的实施环境示意图;
图2是本发明一个实施例提供的会话信息加载方法的流程图;
图3是本发明另一个实施例提供的会话信息加载方法的流程图;
图4是本发明另一个实施例提供的会话信息加载方法的流程图;
图5是本发明一个实施例提供的会话信息加载方法涉及的界面示意图;
图6是本发明另一个实施例提供的会话信息加载方法的流程图;
图7是本发明一个实施例提供的会话信息加载装置的结构示意图;
图8是本发明另一个实施例提供的会话信息加载装置的结构示意图;
图9是本发明一个实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。首先,本发明实施例对下述概念进行解释:
C++:是美国贝尔实验室设计开发的一种面向对象的计算机程序设计语言。是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。
Java:是一种静态面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java本地接口:Java Native Interface(JNI),它提供若干的接口实现Java和其他语言的通信(主要是C&C++)。
协议缓冲区:Protocol Buffers(PB),是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。
反射:Java反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。
空闲队列:允许在线程空闲时间执行的消息队列。
懒加载:在用到的时候才去加载的按需加载策略。
请参考说明书附图1,其示出了本发明实施例提供的实施环境示意图,如图1所示,该实施环境可以至少包括终端110和服务器120。
所述终端110中运行有客户端,所述终端110可以包括智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等实体设备。所述客户端可以包括服务商提供给用户的应用,也可以包括这些服务商提供给用户的网页页面,例如,所述客户端可以为即时通信应用。
所述服务器120可以是一台独立运行的服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。所述服务器120可以包括网络通信单元、处理器和存储器等等。所述服务器120可以通过无线或者有线网络与所述终端110建立通信连接。
请参考说明书附图2,其示出了本发明一个实施例提供的会话信息加载方法的流程。所述方法可以应用于客户端中,如图2所示,所述会话信息加载方法可以包括以下步骤:
S210:获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表。
本发明实施例中,所述用户标识可以包括用户的账号信息,根据所述用户标识可以区分不同的用户。所述第一会话列表中可以包括多个会话信息,每个所述会话信息可以包括所述会话的会话标识、会话类型和会话属性,还可以包括会话的多个消息以及所述消息对应的获取时间、消息发送方信息等。所述会话的消息可以理解为,不同用户进行会话聊天时,发送或者接收到的消息内容,可选的,所述发送或者接收到的消息内容可以是文字、图像、字符、视频、文档等。
在一个可能的实施例中,所述会话信息还可以包括会话的成员列表,所述成员列表中可以包括成员的基本信息,例如入群时间和属性信息等。
在实际应用中,所述服务器获取到与某个用户相关联的会话的消息时,可以将所述会话以及所述会话的消息与所述用户的用户标识对应存储到数据库中。用户启动客户端并登陆后,所述客户端可以通过用户输入的登陆信息获取用户标识,并根据所述用户标识从所述数据库中获取与当前登录用户相关联的会话以及会话的消息,其中,所述会话可以包括单聊会话和群聊会话。
在一个可能的实施例中,如图3所示,所述获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表可以包括:
S211:获取当前登录用户的用户标识。
S212:向所述服务器发送会话列表获取请求,所述会话列表获取请求包括所述用户标识。
相应地,所述服务器接收到所述会话列表获取请求后,根据所述用户标识从数据库中获取所述当前登录用户的所有会话信息,生成第一会话列表,并将所述第一会话列表发送至所述客户端。
S213:获取所述服务器返回的根据所述用户标识获取的所述当前登录用户的第一会话列表。
在一个可能的实施例中,所述获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表之后,还包括:
更新会话信息缓存并开启与所述服务器的消息同步。
具体地,当获取到第一会话列表之后即开启消息同步,将服务器获取到的与所述当前登录用户相关联的会话的消息同步至客户端中,可以避免长时间同步不到新消息。
S220:根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表。
在一个可能的实施例中,所述根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表可以包括:
获取所述第一会话列表中的会话信息的最后一条消息的获取时间;
根据所述会话信息的最后一条消息的获取时间进行降序排列,生成第二会话列表。
具体地,所述会话信息的最后一条消息的获取时间越靠近当前时间,所述会话信息排序越靠前,所述第二会话列表可以为排序后的会话信息生成。
S230:对所述第二会话列表中的会话信息进行分段。
本发明实施例中,可以根据应用首屏需要显示的会话信息的数量来确定每个分段内的会话信息的个数(例如,可以设置为每段15个会话信息),并按照会话信息的顺序进行分段,依次将排序靠前的若干个会话信息作为一个分段(例如,可以将位于第1至第15的会话信息作为第一分段,将位于第16至第30的会话信息作为第二分段,等等)。
S240:获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息。
本发明实施例中,如果所述会话为单聊会话,所述会话标识可以为与所述当前登录用户进行会话的用户的用户标识,所述成员信息可以包括与所述当前登录用户进行会话的用户信息;如果所述会话为群聊会话,所述会话标识可以为所述群聊会话的群标识,所述成员信息可以包括所述群聊会话的群成员信息。
在一个可能的实施例中,如图3所示,所述获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息可以包括:
S2411:获取第一分段内的会话信息的会话标识。
S2412:向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识。
相应地,所述服务器接收到所述成员信息获取请求后,根据所述会话标识从数据库中获取所述会话信息对应的成员信息,并将所述成员信息发送至所述客户端。
S2413:获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息。
在实际应用中,通过服务器获取的所述会话信息对应的成员信息可以为精简的成员信息,以企业版即时通信客户端为例,可以包括所述成员的名称、头像以及所属企业标识(Identity,ID)等信息。所述会话信息对应的成员信息的详细信息可以在获取到用户的特定操作时从所述服务器获取,例如,当用户点击某个成员的头像时,或者用户进入到群设置界面时,向服务器发送详细成员信息获取请求,以获取所述成员的详细信息。
在另一个可能的实施例中,如图4所示,所述获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息可以包括:
S2421:获取第一分段内的会话信息的会话标识。
S2422:获取第一分段内的会话信息对应的成员数量。
具体地,所述成员数量可以为所述会话对应的所有成员的数量,例如单聊会话中所述成员数量可以为2,群聊会话中所述成员数量可以为所述群聊的群成员的总数量。
S2423:若所述会话信息对应的成员数量小于或等于预设阈值,向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识。
相应地,所述服务器接收到所述成员信息获取请求后,根据所述会话标识从数据库中获取所述会话信息对应的成员信息,并将所述成员信息发送至所述客户端。
S2424:获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息。
具体地,所述预设阈值可以根据需要进行设定,若所述会话信息对应的成员数量小于或等于预设阈值,则判定所述会话为普通群聊会话或者单聊会话,对于此类会话,可以直接通过服务器获取其对应的成员信息。通过服务器获取的所述会话信息对应的成员信息可以为成员的精简信息,以企业版即时通信客户端为例,可以包括所述成员的名称、头像以及所属企业ID等信息。
S2425:若所述会话信息对应的成员数量大于预设阈值,根据所述会话信息的会话标识从预设成员列表中获取所述会话信息对应的成员信息。
具体地,若所述会话信息对应的成员数量大于预设阈值,则判定所述会话为超大群聊会话,由于此类会话的成员数量较多,从服务器获取成员信息需要花费较长的时间,因此可以通过存储在客户端中的预设成员列表中获取所述会话信息对应的成员信息。其中,所述预设成员列表可以为所述客户端在有会话信息变更时建立,例如用户在新建群、添加群成员或者移除群成员时,可以将所述群聊会话的成员信息序列化存放到客户端中,生成会话的预设成员列表,所述预设成员列表中可以包括名称、英文名称、头像和所属企业ID等精简信息。
在实际应用中,所述会话信息对应的成员信息的详细信息可以在获取到用户的特定操作时从所述服务器获取,例如,当用户点击某个成员的头像时,或者用户进入到群设置界面时,向服务器发送详细成员信息获取请求,以获取所述成员的详细信息。
S250:根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新。
本发明实施例中,当获取到所述第一分段内的会话信息对应的成员信息后,即对用户界面进行刷新,以尽快用会话列表页面替换登陆后的闪屏引导页面。
在一个可能的实施例中,所述根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新可以包括:
根据所述第一分段内的会话信息及其对应的成员信息组装会话,生成待显示会话列表;
将所述待显示会话列表添加到所述用户界面并隐藏闪屏窗口。
在实际应用中,结合参考说明书附图5,其示例性示出了本发明一个实施例提供的会话信息加载方法涉及的界面示意图,用户启动客户端时,会显示闪屏引导页面并加载当前登录用户的会话信息,所述闪屏引导页面中可以包括会话信息的加载进度。当首屏显示的第一分段内的会话信息及其对应的成员信息加载完成后,即对用户界面进行数据刷新以显示会话列表页面,所述会话列表页面可以包括根据第一分段内的会话信息及其对应的成员信息组装的待显示会话列表。
在一个可能的实施例中,如图6所示,所述会话信息加载方法还可以包括以下步骤:
S610:依次获取第N分段内的会话信息的会话标识,根据所述会话标识获取所述第N分段内的会话信息对应的成员信息。
在一个可能的实施例中,所述依次获取第N分段内的会话信息的会话标识,根据所述会话标识获取所述第N分段内的会话信息对应的成员信息可以包括:
依次获取第N分段内的会话信息的会话标识;
向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识;获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息。
在另一个可能的实施例中,所述依次获取第N分段内的会话信息的会话标识,根据所述会话标识获取所述第N分段内的会话信息对应的成员信息可以包括:
获取第N分段内的会话信息的会话标识;
获取第N分段内的会话信息对应的成员数量;
若所述会话信息对应的成员数量小于或等于预设阈值,向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识;获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息;
若所述会话信息对应的成员数量大于预设阈值,根据所述会话信息的会话标识从预设成员列表中获取所述会话信息对应的成员信息。
S620:根据所述第N分段内的会话信息及其对应的成员信息对所述用户界面进行数据刷新。
同样地,所述根据所述第N分段内的会话信息及其对应的成员信息对所述用户界面进行数据刷新可以包括:根据所述第N分段内的会话信息及其对应的成员信息组装会话,生成待显示会话列表;将所述待显示会话列表添加到所述用户界面。
在实际应用中,上述会话信息加载方案可以在较为底层的C++层进行实现,由于安卓应用一般采用Java语言,因此还可以在Java层和C++层之间的JNI层进行数据加载逻辑的优化来提高会话信息加载的效率,主要包括:
减少JNI接口调用量,对于Java层数据可以判断的,不用实现JNI接口。比如用户和会话的一些属性判断,都是按位操作,可以在Java层直接实现。
减少反射调用,反射序列化构造成员可以改成传递PB数据,通过Java层来实例化成员。Java层持有C++层对象的指针,调用接口时可以直接通过获取指针值来获取C++层数据。
复杂逻辑尽可能在JNI层或者C++层中实现,例如,会话头像拼接逻辑中存在当前登录用户的头像、群主的头像以及超过9人后头像如何排序的种种逻辑,如果需要Java层来排序必须返回所有的用户信息,就会导致用户信息的反序列化成本剧增,可以把这些逻辑下沉到JNI层,只返回最多9个头像的统一资源定位符。
减少不必要的PB数据序列化和反序列化,只把必要数据进行反序列化操作,其他精简用户数据通过JNI层直接返回。由于PB数据的序列化和反序列化很耗时,一般从C++层返回一批用户数据只需要几百毫秒的时间,但是Java层对这些用户数据进行反序列化可能要耗费十几秒,因此减少不必要的PB数据序列化和反序列化可以提升获取数据的效率。
减少冗余的用户对象的创建,把必要的数据缓存起来,尽量只用一份数据。例如,群成员大部分有重叠,对单个群成员缓存,不同群里只处理一个实例。
对于超大的群聊(例如千人群)会话,只返回特殊成员信息或者最多100个成员信息,当需要的时候再去获取其他成员信息。
利用空闲队列刷新并懒加载数据,对会话列表时间的解析和摘要的解析在列表滚动到可视范围后才进行加载,时间刷新和摘要刷新合并进行以降低刷新频率。
综上所述,本发明的一种会话信息加载方法,通过将成员信息的加载过程进行分段,在加载到会话列表后,首先加载首屏需要显示的会话信息对应的成员信息,加载完成后即对用户界面进行刷新,然后再继续加载后续的会话信息对应的成员信息,并依次对所述用户界面进行刷新操作,能够提升会话信息加载的效率,减少启动应用后显示会话列表所需的时间。
本发明的一种会话信息加载方法,通过将显示超大群聊会话信息需要的成员信息序列化存储到预设成员列表中,在加载到会话列表后,对于超大群聊会话信息不再获取完整的成员信息,而是通过所述预设成员列表组装会话,能够进一步提升会话信息加载的效率,保证启动应用后显示会话列表耗时的稳定性。
请参考说明书附图7,其示出了本发明一个实施例提供的会话信息加载装置700的结构示意图,所述装置700可以包括:
会话列表获取模块710,用于获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表;
排序模块720,用于根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表;
分段模块730,用于对所述第二会话列表中的会话信息进行分段;
成员信息获取模块740,用于获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息;
刷新模块750,用于根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新。
本发明实施例中,所述成员信息获取模块740,还用于依次获取第N分段内的会话信息的会话标识,根据所述会话标识获取所述第N分段内的会话信息对应的成员信息;所述刷新模块750,还用于根据所述第N分段内的会话信息及其对应的成员信息对所述用户界面进行数据刷新。
在一个可能的实施例中,如图8所示,所述成员信息获取模块740可以包括:
会话标识获取单元741,用于获取第一分段内的会话信息的会话标识;
第一成员信息获取单元742,用于向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识;获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息。
具体地,所述第一成员信息获取单元742可以包括:
获取请求发送单元,用于向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识;
成员信息获取子单元,用于获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息。
在另一个可能的实施例中,所述成员信息获取模块740还可以包括成员数量获取单元743和第二成员信息获取单元744;
所述成员数量获取单元743,用于获取第一分段内的会话信息对应的成员数量;
所述第一成员信息获取单元742,还用于当所述会话信息对应的成员数量小于或等于预设阈值时,向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识;获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息;
所述第二成员信息获取单元744,用于当所述会话信息对应的成员数量大于预设阈值时,根据所述会话信息的会话标识从预设成员列表中获取所述会话信息对应的成员信息。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本发明一个实施例还提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、该至少一段程序、该代码集或指令集由所述处理器加载并执行以实现如上述方法实施例所提供的会话信息加载方法。
在一个具体的实施例中,如图9所示,其示出了本发明实施例提供的终端的结构示意图。所述终端900可以包括一个或一个以上计算机可读存储介质的存储器910、一个或者一个以上处理核心的处理器920、输入单元930、显示单元940、射频(Radio Frequency,RF)电路950、无线保真(wireless fidelity,WiFi)模块960以及电源970等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端900的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
所述存储器910可用于存储软件程序以及模块,所述处理器920通过运行或执行存储在所述存储器910的软件程序以及模块,以及调用存储在存储器910内的数据,从而执行各种功能应用以及数据处理。所述存储器910可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据所述终端的使用所创建的数据等。此外,存储器910可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器910还可以包括存储器控制器,以提供处理器920对存储器910的访问。
所述处理器920是终端900的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器910内的软件程序和/或模块,以及调用存储在存储器910内的数据,执行终端900的各种功能和处理数据,从而对终端900进行整体监控。所述处理器920可以是中央处理器(Center Process Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述输入单元930可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元930可包括图像输入设备931以及其他输入设备932。图像输入设备931可以是摄像头,也可以是光电扫描设备。除了图像输入设备931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元940可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板941。
所述RF电路950可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器920处理;另外,将涉及上行的数据发送给基站。通常,RF电路950包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路950还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
WiFi属于短距离无线传输技术,终端900通过WiFi模块960可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块960,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
所述终端900还包括给各个部件供电的电源970(比如电池),优选的,电源可以通过电源管理系统与处理器920逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源970还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
需要说明的是,尽管未示出,所述终端900还可以包括蓝牙模块等,在此不再赘述。
本发明一个实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、该至少一段程序、该代码集或指令集可由终端的处理器加载并执行以实现如上述方法实施例中所提供的会话信息加载方法的各个步骤。
可选地,在本发明实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、终端和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种会话信息加载方法,其特征在于,包括:
获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表;
根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表;
对所述第二会话列表中的会话信息进行分段;
获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息;
根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
依次获取第N分段内的会话信息的会话标识,根据所述会话标识获取所述第N分段内的会话信息对应的成员信息;
根据所述第N分段内的会话信息及其对应的成员信息对所述用户界面进行数据刷新。
3.根据权利要求1或2所述的方法,其特征在于,所述获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息包括:
获取第一分段内的会话信息的会话标识;
向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识;
获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息。
4.根据权利要求1或2所述的方法,其特征在于,所述获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息包括:
获取第一分段内的会话信息的会话标识;
获取第一分段内的会话信息对应的成员数量;
若所述会话信息对应的成员数量小于或等于预设阈值,向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识;获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息;
若所述会话信息对应的成员数量大于预设阈值,根据所述会话信息的会话标识从预设成员列表中获取所述会话信息对应的成员信息。
5.根据权利要求1或2所述的方法,其特征在于,所述获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表之后,还包括:
更新会话信息缓存并开启与所述服务器的消息同步。
6.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表包括:
获取所述第一会话列表中的会话信息的最后一条消息的获取时间;
根据所述会话信息的最后一条消息的获取时间进行降序排列,生成第二会话列表。
7.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新包括:
根据所述第一分段内的会话信息及其对应的成员信息组装会话,生成待显示会话列表;
将所述待显示会话列表添加到所述用户界面并隐藏闪屏窗口。
8.一种会话信息加载装置,其特征在于,包括:
会话列表获取模块,用于获取当前登录用户的用户标识,根据所述用户标识从服务器获取所述当前登录用户的第一会话列表;
排序模块,用于根据所述第一会话列表中的会话信息的消息获取时间对所述第一会话列表中的会话信息进行排序,并生成第二会话列表;
分段模块,用于对所述第二会话列表中的会话信息进行分段;
成员信息获取模块,用于获取第一分段内的会话信息的会话标识,根据所述会话标识获取所述第一分段内的会话信息对应的成员信息;
刷新模块,用于根据所述第一分段内的会话信息及其对应的成员信息对用户界面进行数据刷新。
9.根据权利要求8所述的装置,其特征在于,所述成员信息获取模块包括:
会话标识获取单元,用于获取第一分段内的会话信息的会话标识;
成员数量获取单元,用于获取第一分段内的会话信息对应的成员数量;
第一成员信息获取单元,用于当所述会话信息对应的成员数量小于或等于预设阈值时,向所述服务器发送成员信息获取请求,所述成员信息获取请求包括所述会话标识;获取所述服务器返回的根据所述会话标识获取的所述会话信息对应的成员信息;
第二成员信息获取单元,用于当所述会话信息对应的成员数量大于预设阈值时,根据所述会话信息的会话标识从预设成员列表中获取所述会话信息对应的成员信息。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-7任意一项所述的会话信息加载方法。
CN201910666676.7A 2019-07-23 2019-07-23 一种会话信息加载方法、装置及存储介质 Active CN112311650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910666676.7A CN112311650B (zh) 2019-07-23 2019-07-23 一种会话信息加载方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910666676.7A CN112311650B (zh) 2019-07-23 2019-07-23 一种会话信息加载方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112311650A CN112311650A (zh) 2021-02-02
CN112311650B true CN112311650B (zh) 2022-04-19

Family

ID=74328726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910666676.7A Active CN112311650B (zh) 2019-07-23 2019-07-23 一种会话信息加载方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112311650B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761176A (zh) * 2021-02-19 2021-12-07 北京沃东天骏信息技术有限公司 会话摘要提取方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361592A (zh) * 2018-08-08 2019-02-19 腾讯科技(深圳)有限公司 一种即时通信消息处理方法、装置、设备及存储介质
CN109379200A (zh) * 2018-09-06 2019-02-22 北京达佳互联信息技术有限公司 消息处理方法、装置、电子设备及存储介质
CN109525486A (zh) * 2018-11-27 2019-03-26 北京微播视界科技有限公司 即时通信的会话消息加载方法、装置、电子设备及介质
CN109710370A (zh) * 2018-12-29 2019-05-03 天津字节跳动科技有限公司 会话列表显示方法、装置和电子设备
CN110022399A (zh) * 2018-11-27 2019-07-16 阿里巴巴集团控股有限公司 消息展示方法、装置、用户终端及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6185802B2 (ja) * 2013-09-17 2017-08-23 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画面生成方法
CN106209744B (zh) * 2015-05-07 2019-08-06 阿里巴巴集团控股有限公司 用户登录会话管控方法、装置及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361592A (zh) * 2018-08-08 2019-02-19 腾讯科技(深圳)有限公司 一种即时通信消息处理方法、装置、设备及存储介质
CN109379200A (zh) * 2018-09-06 2019-02-22 北京达佳互联信息技术有限公司 消息处理方法、装置、电子设备及存储介质
CN109525486A (zh) * 2018-11-27 2019-03-26 北京微播视界科技有限公司 即时通信的会话消息加载方法、装置、电子设备及介质
CN110022399A (zh) * 2018-11-27 2019-07-16 阿里巴巴集团控股有限公司 消息展示方法、装置、用户终端及可读存储介质
CN109710370A (zh) * 2018-12-29 2019-05-03 天津字节跳动科技有限公司 会话列表显示方法、装置和电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Big blackboard: on a large Web page by using a fast page loading method;T. Konagaya等;《The 2005 IEEE/WIC/ACM International Conference on Web Intelligence (WI"05)》;20051017;112-115 *
Web异步加载技术分析及信息爬取策略实现;杜润泽等;《电脑知识与技术》;20180825(第24期);229-231 *
异步机制下移动平台大数据分批加载模式研究;许雪林等;《电脑编程技巧与维护》;20150318(第06期);45-46 *

Also Published As

Publication number Publication date
CN112311650A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
US11025963B2 (en) Data processing method, apparatus, and system for live streaming page
EP3751418B1 (en) Resource configuration method and apparatus, terminal, and storage medium
CN108512695B (zh) 监控应用卡顿的方法及装置
CN112257135B (zh) 一种基于多线程的模型加载方法、装置、存储介质及终端
US9577965B2 (en) Method and device for posting microblog message
US7401337B2 (en) Managing application interactions using distributed modality components
WO2020007146A1 (zh) 程序的运行方法、装置、计算设备以及存储介质
CN112988362B (zh) 一种任务处理方法、装置、电子设备及存储介质
EP3779690A1 (en) Processor core scheduling method and apparatus, terminal, and storage medium
CN109800030B (zh) 一种应用程序运行方法、装置及终端
CN111400000A (zh) 网络请求处理方法、装置、设备和存储介质
CN110300047B (zh) 一种动画播放方法、装置及存储介质
CN105847446B (zh) 一种网络数据的获取方法、装置和系统
CN111078316B (zh) 布局文件加载方法、装置、存储介质及电子设备
CN112311650B (zh) 一种会话信息加载方法、装置及存储介质
US20190005688A1 (en) Dynamic badge generation and application presentation
CN111580883B (zh) 应用程序启动方法、装置、计算机系统和介质
CN111615171B (zh) 无线局域网的接入方法和装置
CN111104281B (zh) 一种游戏性能监控方法、装置、系统及存储介质
CN110309454B (zh) 一种界面显示方法、装置、设备及存储介质
CN110708238A (zh) 用于处理信息的方法和装置
CN116627521A (zh) 业务模块预加载方法、跳转方法、装置及存储介质
CN114510417A (zh) 一种图像渲染效果测试方法、装置、电子设备和存储介质
CN115373865A (zh) 一种并发线程管理方法、装置、电子设备和存储介质
CN112232027A (zh) 一种符号翻译方法、装置、设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant