消息处理方法、装置、客户端、服务器及存储介质转让专利
申请号 : CN201811039397.X
文献号 : CN109274510B
文献日 : 2022-01-21
发明人 : 李明
申请人 : 北京达佳互联信息技术有限公司
摘要 :
权利要求 :
1.一种消息处理方法,其特征在于,应用于客户端,所述方法包括:当客户端登录服务器之后,获取所述客户端存储的第一会话的消息列表的第一最新版本,所述第一消息列表中存储了所述第一会话中的消息;
向所述服务器发送所述第一最新版本;
接收服务器返回的通知消息,所述通知消息是在所述服务器存储的所述客户端参与的第二会话的消息列表的第二最新版本大于所述第一最新版本时向所述客户端发送的,所述通知消息携带所述第二会话的会话标识,所述通知消息用于指示所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息,所述第二消息列表存储了所述第二会话中的全部消息;
根据所述通知消息确定所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息;
其中,所述遗留消息为所述客户端处于未登录状态时所述服务器向所述客户端转发过的,且所述服务器后续不会再主动转发的所述第二会话中的历史消息;
其中,所述方法的消息转发机制为:对于任意一个会话,当参与所述会话的某一用户需要在所述会话中发送消息时,所述用户的客户端向所述服务器发送消息以及所述会话的会话标识,所述服务器接收所述消息以及所述会话标识,再根据所述会话标识将所述消息主动转发给参与所述会话的其他用户的客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述通知消息确定所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息之后,还包括:从所述服务器中获取所述遗留消息。
3.根据权利要求2所述的方法,其特征在于,所述第二会话的消息列表中存储的消息的消息编号是按照所述服务器接收到所述第二会话中的消息的接收时刻的先后顺序依次递增的;
所述从所述服务器中获取所述遗留消息,包括:向所述服务器发送消息获取请求,所述消息获取请求携带第一消息编号和所述第二会话的会话标识,所述第一消息编号为所述客户端中存储的所述第二会话的消息列表中的所有消息的消息编号中最大的消息编号;
接收所述服务器根据所述获取请求返回的遗留消息,所述遗留消息包括:所述服务器中存储的所述第二会话的消息列表中的、大于所述第一消息编号的消息编号所对应的消息。
4.根据权利要求1所述的方法,其特征在于,所述从所述服务器中获取所述遗留消息之后,还包括:
按照消息编号由小至大的顺序显示所述遗留消息。
5.根据权利要求1所述的方法,其特征在于,所述通知消息还携带所述第二最新版本;
所述方法还包括:
使用所述第二最新版本更新所述第一最新版本。
6.一种消息处理方法,其特征在于,应用于服务器,所述方法包括:接收客户端在登录服务器之后向所述服务器发送的所述客户端存储的第一会话的消息列表的第一最新版本,所述第一消息列表中存储了所述第一会话中的消息;
获取在所述服务器存储的所述客户端参与的第二会话的消息列表的第二最新版本,所述第二消息列表存储了所述第二会话中的全部消息;
当所述第二最新版本与所述第一最新版本不同时,生成通知消息,所述通知消息携带所述第二会话的会话标识,所述通知消息用于指示所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息,其中,所述遗留消息为所述客户端处于未登录状态时所述服务器向所述客户端转发过的,且所述服务器后续不会再主动转发的所述第二会话中的历史消息;
向所述客户端发送所述通知消息;
其中,所述方法的消息转发机制为:对于任意一个会话,当参与所述会话的某一用户需要在所述会话中发送消息时,所述用户的客户端向所述服务器发送消息以及所述会话的会话标识,所述服务器接收所述消息以及所述会话标识,再根据所述会话标识将所述消息主动转发给参与所述会话的其他用户的客户端。
7.根据权利要求6所述的方法,其特征在于,所述第二会话的消息列表中存储的消息的消息编号是按照所述服务器接收到所述第二会话中的消息的接收时刻的先后顺序依次递增的;
所述方法还包括:
接收所述客户端发送的消息获取请求,所述消息获取请求携带第一消息编号和所述第二会话的会话标识,所述第一消息编号为所述客户端中存储的所述第二会话的消息列表中的所有消息的消息编号中最大的消息编号;
获取遗留消息,所述遗留消息包括:所述服务器中存储的所述第二会话的消息列表中的、大于所述第一消息编号的消息编号所对应的消息。
8.根据权利要求6所述的方法,其特征在于,所述通知消息还携带所述第二最新版本。
9.一种消息处理装置,其特征在于,应用于客户端,所述装置包括:第一获取模块,被配置为当客户端登录服务器之后,获取所述客户端存储的第一会话的消息列表的第一最新版本,所述第一消息列表中存储了所述第一会话中的消息;
第一发送模块,被配置为向所述服务器发送所述第一最新版本;
第一接收模块,被配置为接收服务器返回的通知消息,所述通知消息是在所述服务器存储的所述客户端参与的第二会话的消息列表的第二最新版本大于所述第一最新版本时向所述客户端发送的,所述通知消息携带所述第二会话的会话标识,所述通知消息用于指示所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息,所述第二消息列表存储了所述第二会话中的全部消息,其中,所述遗留消息为所述客户端处于未登录状态时所述服务器向所述客户端转发过的,且所述服务器后续不会再主动转发的所述第二会话中的历史消息;
确定模块,被配置为根据所述通知消息确定所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息;
其中,所述装置的消息转发机制为:对于任意一个会话,当参与所述会话的某一用户需要在所述会话中发送消息时,所述用户的客户端向所述服务器发送消息以及所述会话的会话标识,所述服务器接收所述消息以及所述会话标识,再根据所述会话标识将所述消息主动转发给参与所述会话的其他用户的客户端。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:第二获取模块,被配置为从所述服务器中获取所述遗留消息。
11.根据权利要求10所述的装置,其特征在于,所述第二会话的消息列表中存储的消息的消息编号是按照所述服务器接收到所述第二会话中的消息的接收时刻的先后顺序依次递增的;
所述第二获取模块包括:
发送单元,被配置为向所述服务器发送消息获取请求,所述消息获取请求携带第一消息编号和所述第二会话的会话标识,所述第一消息编号为所述客户端中存储的所述第二会话的消息列表中的所有消息的消息编号中最大的消息编号;
接收单元,被配置为接收所述服务器根据所述获取请求返回的遗留消息,所述遗留消息包括:所述服务器中存储的所述第二会话的消息列表中的、大于所述第一消息编号的消息编号所对应的消息。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:显示模块,被配置为按照消息编号由小至大的顺序显示所述遗留消息。
13.根据权利要求 9所述的装置,其特征在于,所述通知消息还携带所述第二最新版本;
所述装置还包括:
更新模块,被配置为使用所述第二最新版本更新所述第一最新版本。
14.一种消息处理装置,其特征在于,应用于服务器,所述装置包括:第二接收模块,被配置为接收客户端在登录服务器之后向所述服务器发送的所述客户端存储的第一会话的消息列表的第一最新版本,所述第一消息列表中存储了所述第一会话中的消息;
第三获取模块,被配置为在所述服务器存储的所述客户端参与的第二会话的消息列表的第二最新版本,所述第二消息列表存储了所述第二会话中的全部消息;
生成模块,被配置为当所述第二最新版本与所述第一最新版本不同时,生成通知消息,所述通知消息携带所述第二会话的会话标识,所述通知消息用于指示所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息,其中,所述遗留消息为所述客户端处于未登录状态时所述服务器向所述客户端转发过的,且所述服务器后续不会再主动转发的所述第二会话中的历史消息;
第二发送模块,被配置为向所述客户端发送所述通知消息;
其中,所述装置的消息转发机制为:对于任意一个会话,当参与所述会话的某一用户需要在所述会话中发送消息时,所述用户的客户端向所述服务器发送消息以及所述会话的会话标识,所述服务器接收所述消息以及所述会话标识,再根据所述会话标识将所述消息主动转发给参与所述会话的其他用户的客户端。
15.根据权利要求14所述的装置,其特征在于,所述第二会话的消息列表中存储的消息的消息编号是按照所述服务器接收到所述第二会话中的消息的接收时刻的先后顺序依次递增的;
所述装置还包括:
第三接收模块,被配置为接收所述客户端发送的消息获取请求,所述消息获取请求携带第一消息编号和所述第二会话的会话标识,所述第一消息编号为所述客户端中存储的所述第二会话的消息列表中的所有消息的消息编号中最大的消息编号;
第四获取模块,被配置为获取遗留消息,所述遗留消息包括:所述服务器中存储的所述第二会话的消息列表中的、大于所述第一消息编号的消息编号所对应的消息。
16.根据权利要求14所述的装置,其特征在于,所述通知消息还携带所述第二最新版本。
17.一种客户端,其特征在于,所述客户端包括:处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1‑5任一项所述的消息处理方法。
18.一种服务器,其特征在于,所述服务器包括:处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求6‑8任一项所述的消息处理方法。
19.一种非临时性计算机可读存储介质,当所述存储介质中的指令由客户端的处理器执行时,使得客户端能够执行如权利要求1‑5任一项所述的消息处理方法。
20.一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求6‑8任一项所述的消息处理方法。
说明书 :
消息处理方法、装置、客户端、服务器及存储介质
技术领域
背景技术
时,可以将消息发送给服务器,然后服务器将该消息转发给群组中的其他每个用户,从而实
现相互交流。
将接收到的消息与该群组中的所有消息进行对比,从而确定出是否存在该用户未接收到的
消息,然后向该用户发送通知信息,以向该用户通知存在该未接收到的消息。
发明内容
所述通知消息携带所述第二会话的会话标识,所述通知消息用于指示所述第二会话的消息
列表中存在未被所述客户端接收到的遗留消息,所述第二消息列表存储了所述第二会话中
的全部消息;
的所有消息的消息编号中最大的消息编号;
消息。
被所述客户端接收到的遗留消息,
表中的所有消息的消息编号中最大的消息编号;
本时向所述客户端发送的,所述通知消息携带所述第二会话的会话标识,所述通知消息用
于指示所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息,所述第二消息
列表存储了所述第二会话中的全部消息;
二会话的消息列表中的所有消息的消息编号中最大的消息编号;
的消息编号所对应的消息。
的消息列表中存在未被所述客户端接收到的遗留消息,
的所述第二会话的消息列表中的所有消息的消息编号中最大的消息编号;
法。
法。
法。
法。
息;该通知消息是在服务器存储的客户端参与的第二会话的消息列表的第二最新版本大于
第一最新版本时向客户端发送的,该通知消息携带第二会话的会话标识,该通知消息用于
指示第二会话的消息列表中存在未被客户端接收到的遗留消息;根据该通知消息确定第二
会话的消息列表中存在未被客户端接收到的遗留消息。在本申请中,无需向服务器发送该
用户接收到的该会话中的所有消息,只需根据第一最新版本即可确定出是否存在未被客户
端接收到的遗留消息,从而可以节省网络资源。
附图说明
具体实施方式
中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附
权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
息,且每一个用户都可以在群组中看到其他用户发送的消息,此时,该群组即为一个会话。
识,再根据该会话标识将该消息转发给参与该会话的其他用户。
再次向该部分用户转发该消息,如此导致该部分用户就无法接收到该消息。
号,消息编号可以用数字表示,消息编号可以按照服务器接收到该会话中的消息的接收先
后顺序依次逐渐递增,例如,服务器接收到的该会话中的第一个消息的消息编号为001,接
收到的该会话中的第二个消息的消息编号为002,接收到的该会话中的第三个消息的消息
编号为003等等,以此类推。
号的对应表项发送给该会话中的其他用户。
消息,但是客户端也不知道此次登录服务器之前处于未登录状态时服务器是否向客户端发
送过该会话中的历史消息,如果客户端此次登录服务器之前处于未登录状态时服务器向该
客户端发送过该会话中的历史消息,由于当时客户端处于未登录状态,因此,客户端并没有
接收到服务器向客户端发送的历史消息,且由于相关的机制下,服务器后续也不会主动再
次向客户端发送历史消息,如此导致客户端就无法接收到历史消息,该历史消息即为遗留
消息。
息列表所对应的会话为第一会话,当用户使用客户端登录服务器之后,为了确定客户端参
与的会话中是否还存在客户端未接收到的遗漏消息,客户端可以获取客户端存储的第一会
话的消息列表的第一最新版本,第一消息列表中存储了第一会话中的消息,然后执行步骤
S102。
新消息存储在客户端中存储的该会话的消息列表中,且需要更新该会话的消息列表的最新
版本,例如,第一次在该会话中的消息列表中存储消息1之后,将该会话的消息列表的最新
版本设置为V1.0,之后在某一会话中的消息列表中存储消息2之后,将该会话的消息列表的
最新版本设置为V2.0,之后在某一会话中的消息列表中存储消息3之后,将该会话的消息列
表的最新版本设置为V3.0等,以此类推。
息。
列表的版本,例如,第一次在该会话中的消息列表中存储消息1之后,将该会话的消息列表
的最新版本设置为V1.0,之后在某一会话中的消息列表中存储消息2之后,将该会话的消息
列表的最新版本设置为V2.0,之后在某一会话中的消息列表中存储消息3之后,将该会话的
消息列表的最新版本设置为V3.0等,以此类推。
储的第一会话的消息列表的第一最新版本之后,服务器可以在服务器存储的客户端参与的
第二会话的消息列表的第二最新版本,判断第二最新版本与第一最新版本是否相同,当第
二最新版本与第一最新版本不同时,则生成通知消息,该通知消息携带第二会话的会话标
识,该通知消息用于指示第二会话的消息列表中存在未被客户端接收到的遗留消息,然后
向客户端发送该通知消息。
一个第二会话的消息列表都有各自的版本中的最高版本。
知消息携带第二会话的会话标识,该通知消息用于指示第二会话的消息列表中存在未被客
户端接收到的遗留消息;
息;该通知消息是在服务器存储的客户端参与的第二会话的消息列表的第二最新版本大于
第一最新版本时向客户端发送的,该通知消息携带第二会话的会话标识,该通知消息用于
指示第二会话的消息列表中存在未被客户端接收到的遗留消息;根据该通知消息确定第二
会话的消息列表中存在未被客户端接收到的遗留消息。在本申请中,无需向服务器发送该
用户接收到的该会话中的所有消息,只需根据第一最新版本即可确定出是否存在未被客户
端接收到的遗留消息,从而可以节省网络资源。
中,为了能够从服务器中获取该遗留消息,客户端可以向服务器发送消息获取请求,第二会
话的消息列表中存储的消息的消息编号是按照服务器接收到第二会话中的消息的接收时
刻的先后顺序依次递增的;该消息获取请求携带第一消息编号和第二会话的会话标识,第
一消息编号为客户端中存储的第二会话的消息列表中的所有消息的消息编号中最大的消
息编号;其中,不同的会话的会话标识不同。
的第二会话的消息列表中的、大于第一消息编号的消息编号所对应的消息,再向客户端返
回遗留消息。客户端接收服务器根据该消息获取请求返回的遗留消息。
表的最新版本,以使之后可以根据更新后的最新版本从服务器中继续获取其他遗留消息。
接收到的遗留消息;
以节省网络资源。
以向服务器发送消息获取请求,第二会话的消息列表中存储的消息的消息编号是按照服务
器接收到第二会话中的消息的接收时刻的先后顺序依次递增的;该消息获取请求携带第一
消息编号和第二会话的会话标识,第一消息编号为客户端中存储的第二会话的消息列表中
的所有消息的消息编号中最大的消息编号;其中,不同的会话的会话标识不同。
的第二会话的消息列表中的、大于第一消息编号的消息编号所对应的消息,再向客户端返
回遗留消息。客户端接收服务器根据该消息获取请求返回的遗留消息。
表的最新版本,以使之后可以根据更新后的最新版本从服务器中继续获取其他遗留消息。
版本时向所述客户端发送的,所述通知消息携带所述第二会话的会话标识,所述通知消息
用于指示所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息,所述第二消
息列表存储了所述第二会话中的全部消息;
二会话的消息列表中的所有消息的消息编号中最大的消息编号;
的消息编号所对应的消息。
息;该通知消息是在服务器存储的客户端参与的第二会话的消息列表的第二最新版本大于
第一最新版本时向客户端发送的,该通知消息携带第二会话的会话标识,该通知消息用于
指示第二会话的消息列表中存在未被客户端接收到的遗留消息;根据该通知消息确定第二
会话的消息列表中存在未被客户端接收到的遗留消息。在本申请中,无需向服务器发送该
用户接收到的该会话中的所有消息,只需根据第一最新版本即可确定出是否存在未被客户
端接收到的遗留消息,从而可以节省网络资源。
话的消息列表中存在未被所述客户端接收到的遗留消息,
的所述第二会话的消息列表中的所有消息的消息编号中最大的消息编号;
以节省网络资源。
助理等。
及通信组件816。
令,以完成上述如图1所示的消息处理方法的全部或部分步骤。此外,处理组件802可以包括
一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多
媒体模块,以方便多媒体组件808和处理组件802之间的交互。
消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的
组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可
编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存
储器,磁盘或光盘。
屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传
感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动
作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多
媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式
或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头
和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信
组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
定按钮。
组件为客户端800的显示器和小键盘,传感器组件814还可以检测客户端800或客户端800一
个组件的位置改变,用户与客户端800接触的存在或不存在,客户端800方位或加速/减速和
客户端800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物
理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传
感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感
器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统
的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信
(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会
(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述如图1所示的消息
处理方法。
的消息处理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器
(RAM)、CD‑ROM、磁带、软盘和光数据存储设备等。
程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的
模块。此外,处理组件1922被配置为执行指令,以执行上述如图2所述的消息处理方法。
接口1958。服务器1900可以操作基于存储在存储器1932的操作系统,例如Windows
ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的
权利要求指出。
所述通知消息携带所述第二会话的会话标识,所述通知消息用于指示所述第二会话的消息
列表中存在未被所述客户端接收到的遗留消息,所述第二消息列表存储了所述第二会话中
的全部消息;
的所有消息的消息编号中最大的消息编号;
消息。
被所述客户端接收到的遗留消息,
表中的所有消息的消息编号中最大的消息编号;
本时向所述客户端发送的,所述通知消息携带所述第二会话的会话标识,所述通知消息用
于指示所述第二会话的消息列表中存在未被所述客户端接收到的遗留消息,所述第二消息
列表存储了所述第二会话中的全部消息;
二会话的消息列表中的所有消息的消息编号中最大的消息编号;
的消息编号所对应的消息。
的消息列表中存在未被所述客户端接收到的遗留消息,
的所述第二会话的消息列表中的所有消息的消息编号中最大的消息编号;