一种即时通信系统中纠正会话消息乱序的方法及装置制造方法及图纸

技术编号:14996543 阅读:93 留言:0更新日期:2017-04-04 01:54
本发明专利技术提供一种即时通信系统中纠正会话消息乱序的方法及装置,用以解决现有即时通讯系统中由于消息乱序而产生上下文丢失的问题。本发明专利技术包括:获取服务器发送的第二会话消息和第二会话消息的时间标签,其中,第二会话消息的时间标签由服务器根据接收到第二终端的即时通信应用发送的第二会话消息的时间生成;根据第二会话消息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整第二会话消息与其他会话消息之间的顺序,并在第一聊天窗口中显示顺序调整后的多个会话消息,其中,其他会话消息的时间标签由所述服务器根据接收到其他会话消息的时间生成。

【技术实现步骤摘要】

本专利技术涉及通信应用的
,特别是指一种即时通信系统中纠正会话消息乱序的方法及装置
技术介绍
现有的即时聊天工具或短信息服务,经常会遇到因消息乱序而产生上下文丢失,有时会引起误解。目前关于消息发送顺序已知成熟的技术是已成为国际协议标准的传输控制协议(TCP),其原理如图1所示。1.通过三次握手建立可靠的连接关系:1)客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。2)服务器端收到SYN报文,回应一个SYN(SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。3)客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据。2.通过发送确认消息保证可靠的传输:1)应用数据被分割成TCP认为最适合发送的数据块。2)当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。3)TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。4)如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。5)TCP的接收端必须丢弃重复的数据。TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。6)TCP协议应用场景为C-S结构中保证数据发送方(Client)向数据接收方(Server)发送可靠的消息流,其保障机制在于接收方确认已收到的报文,发送方才会发送下一个消息。但TCP协议一般应用于发送大块可靠文件,例如FTP传输、邮件传输等。对于即时通讯系统来说,消息的发送不能受此限制,并且其顺序敏感度并没有这么高,因此TCP协议不适用于即时通信系统场景。即时通信系统中消息乱序的原因有两种,一是输入文字的快慢不同,二是网络传输的延迟。在网络聊天系统中,这两个问题成为影响交流体验的因素,需要在即时聊天系统中考虑增加纠正消息乱序的能力。
技术实现思路
本专利技术的目的在于提供一种即时通信系统中纠正会话消息乱序的方法及装置,用以解决现有即时通讯系统中由于消息乱序而产生上下文丢失的问题。为了实现上述目的,本专利技术提供了一种即时通信系统中纠正会话消息乱序的方法,包括:获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至第二终端的即时通信应用;接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他会话消息;获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一聊天窗口中显示的其他会话消息之间的顺序的手动调整操作;根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息;显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序。其中,所述显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序的步骤包括:根据所述手动调整操作,生成所述第一会话消息的第一消息标签与被关联会话消息的消息标签的关联信息;生成包含所述关联信息的会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求中的关联信息,在所述第二聊天窗口中将所述第一会话消息显示在所述被关联会话消息所处位置之后,并将原处于所述被关联会话消息之后的会话消息显示在所述第一会话消息之后。其中,上述方法还包括:接收所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接收到所述其他会话消息的时间生成。其中,所述根据第二会话消息的时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第一会话消息与所述其他会话消息之间的顺序的步骤具体为:判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚于上一条会话消息的时间标签。其中,所述第一消息标签由所述服务器基于会话消息的发送方和接收会话消息的顺序生成。本专利技术的实施例还提供了一种即时通信系统中纠正会话消息乱序的方法,包括:获取所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时通信应用发送的第二会话消息的时间生成;根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一本文档来自技高网
...

【技术保护点】
一种即时通信系统中纠正会话消息乱序的方法,应用于终端,其特征在于,包括:获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至第二终端的即时通信应用;接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他会话消息;获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一聊天窗口中显示的其他会话消息之间的顺序的手动调整操作;根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多个会话消息;显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序。...

【技术特征摘要】
1.一种即时通信系统中纠正会话消息乱序的方法,应用于终端,其特征
在于,包括:
获取用户通过第一终端的即时通信应用输入的第一会话消息,并将所述第
一会话消息发送至服务器,由所述服务器生成用于标识所述第一会话消息的第
一消息标签,并由所述服务器将所述第一会话消息和所述第一消息标签发送至
第二终端的即时通信应用;
接收所述服务器发送的所述第一消息标签,并在所述第一终端的即时通信
应用的第一聊天窗口显示所述第一会话消息,所述第一聊天窗口还显示有其他
会话消息;
获取所述用户在所述第一聊天窗口中调整所述第一会话消息与所述第一
聊天窗口中显示的其他会话消息之间的顺序的手动调整操作;
根据所述手动调整操作在所述第一聊天窗口中调整所述第一会话消息与
所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整后的多
个会话消息;
显示顺序调整完之后,根据所述手动调整操作以及与显示顺序调整所涉及
的会话消息的消息标签生成会话消息调整请求,并将所述会话消息调整请求发
送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述第
一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用根
据所述会话消息调整请求在第二聊天窗口中调整所述第一会话消息与其他会
话消息之间的顺序。
2.根据权利要求1所述的方法,其特征在于,所述显示顺序调整完之后,
根据所述手动调整操作以及与显示顺序调整所涉及的会话消息的消息标签生
成会话消息调整请求,并将所述会话消息调整请求发送至所述服务器,通过所
述服务器将所述会话消息调整请求发送至显示所述第一会话消息的第二终端
的即时通信应用上,由所述第二终端的即时通信应用根据所述会话消息调整请
求在第二聊天窗口中调整所述第一会话消息与其他会话消息之间的顺序的步
骤包括:
根据所述手动调整操作,生成所述第一会话消息的第一消息标签与被关联
会话消息的消息标签的关联信息;
生成包含所述关联信息的会话消息调整请求,并将所述会话消息调整请求
发送至所述服务器,通过所述服务器将所述会话消息调整请求发送至显示所述
第一会话消息的第二终端的即时通信应用上,由所述第二终端的即时通信应用
根据所述会话消息调整请求中的关联信息,在所述第二聊天窗口中将所述第一
会话消息显示在所述被关联会话消息所处位置之后,并将原处于所述被关联会
话消息之后的会话消息显示在所述第一会话消息之后。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,
所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时
通信应用发送的第二会话消息的时间生成;
根据所述第二会话消息的时间标签以及所述其他会话消息的时间标签,按
照时间顺序调整所述第二会话消息与所述其他会话消息之间的顺序,并在所述
第一聊天窗口中显示顺序调整后的多个会话消息,其中,所述其他会话消息的
时间标签由所述服务器根据接收到所述其他会话消息的时间生成。
4.根据权利要求3所述的方法,其特征在于,所述根据第二会话消息的
时间标签以及所述其他会话消息的时间标签,按照时间顺序调整所述第一会话
消息与所述其他会话消息之间的顺序的步骤具体为:
判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在
所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会
话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚
于上一条会话消息的时间标签。
5.根据权利要求1所述的方法,其特征在于,所述第一消息标签由所述
服务器基于会话消息的发送方和接收会话消息的顺序生成。
6.一种即时通信系统中纠正会话消息乱序的方法,应用于终端,其特征
在于,包括:
获取所述服务器发送的第二会话消息和第二会话消息的时间标签,其中,
所述第二会话消息的时间标签由所述服务器根据接收到所述第二终端的即时

\t通信应用发送的第二会话消息的时间生成;
根据所述第二会话消息的时间标签以及第一终端的即时通信应用的第一
聊天窗口中显示的其他会话消息的时间标签,按照时间顺序调整所述第二会话
消息与所述其他会话消息之间的顺序,并在所述第一聊天窗口中显示顺序调整
后的多个会话消息,其中,所述其他会话消息的时间标签由所述服务器根据接
收到所述其他会话消息的时间生成。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二会话消
息的时间标签以及第一终端的即时通信应用的第一聊天窗口中显示的其他会
话消息的时间标签,按照时间顺序调整所述第二会话消息与所述其他会话消息
之间的顺序的步骤具体为:
判断所述第二会话消息的时间标签是否早于所述第一聊天窗口中显示在
所述第二会话消息之前的上一条会话消息的时间标签,若是,则将所述第二会
话消息显示在所述上一条会话消息之前,直至所述第二会话消息的时间标签晚
于上一条会话消息的时间标签。
8.一种即时通信系统中纠正会话消息乱序的方法,应用于服务器,第一
终端和第二终端通过所述服务器建立会话连接,其特征在于,包括:
获取用户通过所述第一终端的即时通信应用输入的第一会话消息,并生成
用于标识所述第一会话消息的第一消息标签;
将所述第一消息标签发送给所述第一终端和所述第二终端,并通过所述第
一终端和所述第二终端的即时通信应用的聊天窗口显示所述第一会话消息,所
述第一终端和所述第二终端的即时通信应用的聊天窗口还显示有其他会话消
息;
获取所述第一终端发送的会话消息调整请求,并将所述会话消息调整请求
发送至所述第二终端的即时通信应用上,由所述第二终端的即时通信应用根据
所述会话消息调整请求在所述第二终端的第二聊天窗口中调整所述第一会话
消息与所述其他会话消息之间的顺序,其中,所述会话消息调整请求由所述第
一终端根据所述用户在所述第一聊天窗口中调整所述第一会话消息与所述其
他会话消息之间的顺序的手动调整操作以及与显示顺序调整所涉及的会话消
息的消息标签生成,且所述第一终端根据所述手动调整操作在所述第一聊天窗

\t口中调整所述第一会话消息与所述其他会话消息之间的顺序,并在所述第一聊
天窗口中显示顺序调整后的多个会话消息。
9.根据权利要求8所述的方法,其特征在于,所述获取用户通过所述第
一终端的即时通信应用输入的第一会话消息,并生成用于标识所述第一会话消
息的第一消息标签的步骤具体为:
在获取所述第一终端发送的第一会话消息后,根据所述第一会话消息的发
送方和接收所述第一会话消息的顺序生成所述第一消息标签。
10.根据权利要求8所述的方法,其特征在于,还包括:
获取所述第二终端发送的第二会话消息,并根据接收到所述第二会话消息
的时间生成第二会话消息的时间标签;
将所述第二会话消息和所述第二会话消息的时间标签发送给所述第一终
端,同时将所述第二会话消息的时间标签发送给所述第二终端,由所述第一终

【专利技术属性】
技术研发人员:肖捷
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1