断线重连方法、装置及系统的制作方法

文档序号:9870228阅读:550来源:国知局
断线重连方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种断线重连方法、装置及系统。
【背景技术】
[0002]在互联网应用中,客户端与服务端建立网络连接,并通过该连接进行数据交互。目前,TCP协议已经能够较好的保证数据有序和数据到达,但在这个过程中,由于网络环境的复杂性和不确定性,TCP连接还是会断开,从而导致发送端已发送数据但接收端未接收到数据的情况出现,造成数据丢失。如果客户端想要继续获得服务,就必须重新连接至服务端。
[0003]在连接断开的情况下,现有技术中的客户端一般有两种处理方式:第一种方式是客户端的显示界面回退到初始界面(比如登录界面),并提示用户网络连接已经断开,然后等待用户手动进行连接操作,以重新建立客户端与服务器之间的连接;第二种方式是保留客户端的显示界面,锁定用户当前状态和操作界面,并在后台进行网络重连的操作,在重连成功之后,客户端应用即恢复到正常状态。

【发明内容】

[0004]【背景技术】中提到的两种重连方式虽然能够实现客户端与服务器之间的断线重连,但是这两种重连方式在网络连接断开期间和断开前的一小段期间内,可能会导致一部分传输数据的丢失,造成用户操作或行为的中断,而且,重连与初始连接相同,在连接成功之后,依旧会传输大量的初始化信息,造成大量流量的浪费。
[0005]本发明实施例的多个方面提出一种断线重连方法、装置及系统,能够有效提高断线重连的效率。
[0006]本发明实施例的一个方面提供一种断线重连方法,包括:
[0007]在与客户端建立的连接断开后,接收所述客户端发送的重连请求;其中,所述重连请求包括客户端缓存中的最小缓存编号和数据编号集合中的最大数据编号;所述客户端缓存中存储有所述客户端已发送的数据及缓存编号的对应关系数据,所述缓存编号是所述客户端按照递增顺序对所述客户端发送的数据进行编号而获得的,所述数据编号集合包含所述客户端接收到的数据所对应的编号;
[0008]在检测到本地缓存中具有所述最大数据编号,且接收编号集合中具有所述最小缓存编号时,向所述客户端发送检测成功信息,并重新建立与所述客户端的连接;其中,所述本地缓存中存储有已发送数据及发送编号的对应关系数据,所述发送编号是按照递增顺序对发送的数据进行编号而获得的,所述接收编号集合包含接收到的所述客户端发送的数据所对应的编号。
[0009]进一步地,在所述接收所述客户端发送的重连请求之前,还包括:
[0010]在与客户端建立的连接断开后,向所述客户端发送数据和对应的发送编号,并将已发送的数据和对应的发送编号写入所述本地缓存中;
[0011]在检测到所述本地缓存中存储的数据大小超过预设值时,删除本地缓存中的最小发送编号和对应的已发送数据。
[0012]进一步地,在所述重新建立与所述客户端的连接之后,还包括:
[0013]判断所述本地缓存中是否具有大于所述最大数据编号的发送编号;
[0014]若是,则将所述本地缓存中的所述发送编号和对应的已发送数据重新发送给所述客户端。
[0015]进一步地,在所述重新建立与所述客户端的连接之后,还包括:
[0016]获取所述接收编号集合中的最大编号;
[0017]将所述最大编号发送给所述客户端,使所述客户端在判定所述客户端缓存中具有大于所述最大编号的缓存编号时,重新发送所述客户端缓存中的所述缓存编号和对应的已发送数据;
[0018]接收所述客户端重新发送的所述缓存编号和对应的已发送数据。
[0019]进一步地,所述断线重连方法还包括:
[0020]在与客户端建立的连接断开前,向所述客户端发送数据和对应的发送编号,并将已发送的数据和发送编号写入所述本地缓存中;
[0021]接收所述客户端反馈的第一确认信息;所述第一确认信息包括已发送的发送编号;
[0022]根据所述第一确认信息中的发送编号,删除所述本地缓存中的所述发送编号和对应的已发送数据。
[0023]进一步地,所述断线重连方法还包括:
[0024]在与客户端建立的连接断开前,接收所述客户端发送的数据和对应的缓存编号;
[0025]将所述缓存编号保存到所述接收编号集合中,并根据所述缓存编号向所述客户端反馈第二确认信息,使所述客户端根据所述第二确认信息删除所述客户端缓存中的所述缓存编号和对应的已发送数据。
[0026]本发明实施例的另一个方面还提供一种断线重连方法,包括:
[0027]在与服务器建立的连接断开后,向所述服务器发送重连请求;其中,所述重连请求包括本地缓存中的最小缓存编号和数据编号集合中的最大数据编号;所述本地缓存中存储有已发送数据及缓存编号的对应关系数据,所述缓存编号是按照递增顺序对发送的数据进行编号而获得的,所述数据编号集合包含接收到的所述服务器发送的数据所对应的编号;
[0028]接收所述服务器发送的检测成功信息,并重新建立与所述服务器的连接;其中,所述检测成功信息是所述服务器在检测到服务器缓存中具有所述最大数据编号,且接收编号集合中具有所述最小缓存编号时生成的;所述服务器缓存中存储有所述服务器已发送的数据及发送编号的对应关系数据,所述发送编号是所述服务器按照递增顺序对发送的数据进行编号而获得的,所述接收编号集合包含所述服务器接收到的数据所对应的编号。
[0029]进一步地,在所述向所述服务器发送重连请求之前,还包括:
[0030]在与服务器建立的连接断开后,向所述服务器发送数据和对应的缓存编号,并将已发送的数据和对应的缓存编号写入所述本地缓存中;
[0031]在检测到所述本地缓存中存储的数据大小超过预设值时,删除本地缓存中的最小缓存编号和对应的已发送数据。
[0032]进一步地,在所述重新建立与所述服务器的连接之后,还包括:
[0033]接收所述服务器重新发送的发送编号和对应的已发送数据;所述重新发送的发送编号和对应的已发送数据是所述服务器在判定所述服务器缓存中具有大于所述最大数据编号的发送编号时,从所述服务器缓存中获得的相应数据。
[0034]进一步地,在所述重新建立与所述服务器的连接之后,还包括:
[0035]接收所述服务器发送的所述接收编号集合中的最大编号;
[0036]判断所述本地缓存中是否具有大于所述最大编号的缓存编号;
[0037]若是,则将所述本地缓存中的所述缓存编号和对应的已发送数据重新发送给所述服务器。
[0038]进一步地,所述断线重连方法还包括:
[0039]在与服务器建立的连接断开前,接收所述服务器发送的数据和对应的发送编号;
[0040]将所述发送编号保存到所述数据编号集合中,并根据所述发送编号向所述服务器反馈第一确认信息,使所述服务器根据所述第一确认信息删除所述服务器缓存中的所述发送编号和对应的已发送数据。
[0041]进一步地,所述断线重连方法还包括:
[0042]在与服务器建立的连接断开前,向所述服务器发送数据和对应的缓存编号,并将已发送的数据和发送编号写入所述本地缓存中;
[0043]接收所述服务器反馈的第二确认信息;所述第二确认信息包括已发送的缓存编号;
[0044]根据所述第二确认信息中的缓存编号,删除所述本地缓存中的所述发送编号和对应的已发送数据。
[0045]相应的,本发明实施例的一个方面还提供一种断线重连装置,包括:
[0046]重连请求接收模块,用于在与客户端建立的连接断开后,接收所述客户端发送的重连请求;其中,所述重连请求包括客户端缓存中的最小缓存编号和数据编号集合中的最大数据编号;所述客户端缓存中存储有所述客户端已发送的数据及缓存编号的对应关系数据,所述缓存编号是所述客户端按照递增顺序对所述客户端发送的数据进行编号而获得的,所述数据编号集合包含所述客户端接收到的数据所对应的编号;以及,
[0047]连接建立模块,用于在检测到本地缓存中具有所述最大数据编号,且接收编号集合中具有所述最小缓存编号时,向所述客户端发送检测成功信息,并重新建立与所述客户端的连接;其中,所述本地缓存中存储有已发送数据及发送编号的对应关系数据,所述发送编号是按照递增顺序对发送的数据进行编号而获得的,所述接收编号集合包含接收到的所述客户端发送的数据所对应的编号。
[0048]进一步地,所述断线重连装置还包括:
[0049]第一数据发送模块,用于在与客户端建立的连接断开后,向所述客户端发送数据和对应的发送编号,并将已发送的数据和对应的发送编号写入所述本地缓存中;以及,
[0050]第一数据删除模块,用于在检测到所述本地缓存中存储的数据大小超过预设值时,删除本地缓存中的最小发送编号和对应的已发送数据。
[0051]进一步地,所述断线重连装置还包括:
[0052]判断模块,用于判断所述本地缓存中是否具有大于所述最大数据编号的发送编号;以及,
[0053]数据重新发送模块,用于在所述判断模块判定为是时,将所述本地缓存中的所述发送编号和对应的已发送数据重新发送给所述客户端。
[0054]进一步地,所述断线重连装置还包括:
[0055]编号获取模块,用于获取所述接收编号集合中的最大编号;
[0056]编号发送模块,用于将所述最大编号发送给所述客户端,使所述客户端在判定所述客户端缓存中具有大于所述最大编号的缓存编号时,重新发送所述客户端缓存中的所述缓存编号和对应的已发送数据;以及,
[0057]第一数据接收模块,用于接收所述客户端重新发送的所述缓存编号和对应的已发送数据。
[0058]进一步地,所述断线重连装置还包括:
[0059]第二数据发送模块,用于在与客户端建立的连接断开前,向所述客户端发送数据和对应的发送编号,并将已发送的数据和发送编号写入所述本地缓存中;
[0060]确认信息接收模块,用于接收所述客户端反馈的第一确认信息;所述第一确认信息包括已发送的发送编
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1