一种即时通信的断线重连系统及方法

文档序号:7969076阅读:127来源:国知局
专利名称:一种即时通信的断线重连系统及方法
技术领域
本发明涉及即时通信技术,尤其涉及一种利用互联网的即时通信系 乡充及方法。
背景技术
作为通过互联网和他人联系的 一种方式,即时通信系统已经得到广 泛应用。图1是表示即时通信系统的结构示意图。如图l所示现有的即 时通信系统一般包括客户端和服务器端,客户端登录服务器端并与服务器端保持会话。现有的即时通信系统绝大多数使用TCP或UDP协议,如 贸易通、MSN、 Yahoo通是使用TCP协议保持会话,QQ是使用UDP协议 发送健康检查包来保持会话。然而,在现有的即时通信系统中,当网络软件一般会退回到登录界面进行自动登录或提示用户进行登录,而此时 若用户正在输入的信息就会丢失,由此,会影响用户体验。发明内容本发明鉴于上述问题,旨在提供一种客户端软件暂时与服务器端断 线的情况下能够实现自动重连而不影响用户体验的即时通信的断线重 连系统及方法。本发明的即时通信的断线重连方法,应用于包括多个客户端和服务 器端的即时通信系统,其特征在于上述方法包括(1)当上述服务器端先侦测到用户断线的情况下,进行下述步骤上述服务器端备份用户信息的信息备份步骤;上述客户端进行后台自动重连并且向上述服务器端发送自动重连 命令的后台自动重连步骤;以及 上述服务器端根据上述自动重连命令判断是否允许用户重新登录 的登录许可步骤,或者(2)当客户端先侦测到用户断线的情况下,仅进行上述后台自动 重连步骤;以及上述登录许可步骤。最好,上述信息备份步骤中,服务器端备份该用户在服务器端的有 用信息,并且将必要的更新信息保存到服务器端。这里,有用信息是指 与应用有关的信息,例如,用户的在线累计时间、聊天次数等的活跃度 信息等,必要的信息是指,登录时间、发送信息等其他有用的信息。最好,当上述服务器端先侦测到用户断线的情况下,在上述信息备 份步骤和上述后台自动重连步骤之间,进一步具备监控客户端是否在规 定时间内进行后台自动重连的超时监控步骤。最好,在上述超时监控步骤中,若客户端在规定时间内进行后台自 动重连,则继续上迷登录许可步骤;若客户端未在规定时间内进行后台 自动重连,则删除上述备份的信息。最好,在上述服务器中具备管理用户信息的用户在线管理池,在上 述用户在线管理池中存储有用于存储用户信息的用户节点、用于表示用 户唯一性的唯一码。最好,在上述信息备份步骤中,从上述用户在线管理池中删除用户 断线的客户端的用户节点或对用户节点做标记为已断线,并向作为好友 的其它客户端发送下线状态通知。最好,上述后台自动重连步骤中,客户端利用该用户上次登录成功 时采用的登录信息进行后台自动重新连接。最好,上述登录信息包括用户ID、密码、上次登录服务器的IP 地址以及唯一码中的 一个或多个的组合。最好,在上述自动重连命令中包含有上述登录信息。最好,在上述登录许可步骤中,当服务器端收到上述自动重连命令 后,检查上述登录信息是否正确,若正确,则将上述用户节点恢复到用 户在线管理池中,并且更改上述用在线户管理池中的该用户的唯一码并 把新的唯一码返回客户端以通知客户端自动重连成功。 最好,在上述登录许可步骤中,若不允许用户登录,则提示用户断 线可能原因。本发明的即时通信的断线重连系统,包括多个客户端和服务器端,其特征在于上述服务器端具备连接状态检测单元、信息处理单元、 以及登录许可单元,上述客户端具备后台自动重连单元,其中,上述连接状态检测单元用于检测用户断线的情况并且通知上 述信息处理单元发生用户断线的情况,上述信息处理单元用于在上述服务器端先侦测到用户断线的情况 下对上述服务器端备份用户信息,上述后台自动连接单元用于在用户断线的情况下进行后台自动重 连并且向上述服务器端发送自动重连命令,上述登录许可单元用于根据来自客户端的上述自动重连命令判断 是否允许用户重新登录。最好,在上述服务器端还进一步具备用于监控客户端是否在规定 时间内进行后台自动重连的超时监控单元。最好,上述超时监控单元在判断为客户端在规定时间内进行后台自 动重连的情况下则通知上述登录许可单元客户端完成自动重连,在判断 为客户端未在规定时间内进行后台自动重连的情况下,则通知信息处理 单元删除上述备份的信息。最好,在上述服务器中具备管理用户信息的用户在线管理池,在上 述用户在线管理池中存储有用于存储用户信息的用户节点、用于表示用 户唯一性的唯一码。最好,上述信息处理单元在对上迷服务器端备份用户信息之后,从 上述用户在线管理池中删除用户断线的客户端的用户节点或不删除,只 是加个标志表示此节点用户已经断线了,并向作为好友的其它客户端发 送下线状态通知。最好,上述后台自动重连单元采用该用户上次登录成功时用的登录 信息进行后台自动重新连接。最好,上述登录信息包括用户ID、密码、上次登录服务器的IP
地址以及唯一码中的一个或多个的组合。最好,在上述自动重连命令中包含有上述登录信息。最好,上述登录许可单元当从上述自动重连单元收到上述自动重连 命令后,检查上述登录信息是否正确,若正确,则将上述用户节点恢复 到用户在线管理池中,并且更改上述用户在线管理池中的该用户的唯一 码并:fc新的唯 一码返回客户端以通知客户端自动重连成功。最好,上述登录许可单元在不允许用户登录的情况下在用户端提示 用户断线可能原因。因此,根据本发明,在利用因特网的即时通信中,当因网络不稳定 或其他原因导致客户端与服务器端中断会话的情况下,能够在客户端实 现自动重连并且不会引起界面发生变化,同时,在服务器端先侦测到断 线的情况下还能够緩存断线情况下的信息。


图1是表示即时通信系统的结构示意图。图2是表示服务器端先侦测到断线后的处理流程图。 图3是表示本实施方式的断线重连系统的结构示意图。
具体实施方式
通过结合附图对较佳实施例所作的详细描述将使本发明的上述和 其它特征和优点将变得显而易见。详细描述和附图对本发明仅是示意性 质的,并非用来限制其范围的,本发明的范围由所附权利要求及其等同 含义限定。以下,将具体描写本实施方式的即时通信的断线重连系统及方法。 本实施方式的即时通信的断线重连方法是应用于包括多个客户端和服 务器端的即时通信系统中。图3是表示本实施方式即时通信的断线重连系统的结构示意图。如 图3所示,服务器端IOO主要具备连接状态检测单元101、信息处理 单元102、登录许可单元103、超时监控单元104、内存105以及数据库
106,客户端200主要具备后台自动重连单元201。其中,连接状态检 测单元101用于检测用户断线的情况并且通知信息处理单元102发生用 户断线的情况,信息处理单元102用于在上述服务器端先侦测到用户断 线的情况下在上述服务器端IOO备份用户信息,后台自动连接单元201 用于在用户断线的情况下进行后台自动重连并且向上述服务器端IOO发 送自动重连命令,登录许可单元103用于根据来自客户端200的上述自 动重连命令判断是否允许用户重新登录,超时监控单元104用于监控客 户端200是否在规定时间内进行后台自动重连。另外,在内存105中具备用来管理用户的用户在线管理池(未图 示),在用户在线管理池中存储有用户节点、唯一码、以及在TCP连接 的情况下用于验证是否确实为断线重连的TCP连接号等的信息。这里, 上述用户节点用于存储登录时间、联系人等的用户信息,上述唯一码是 由服务器100生成的用来唯一地识别 一个用户的标识符。当发生断线时,通常会出现两种情况(一)服务器端IOO先侦测 到客户端断线;或者(二)客户端200先侦测到断线。这里,作为侦测 断线的方法,对于TCP连接,有侦测TCP连接号,对于UDP连接,可以 通过定期检查"健康检查包"是否超时。其中,用TCP连接号来侦测断 线是这样进行的,通过操作系统提供一个用于侦测断线的函数,例如 socket函数,如recv返回O时,表示此TCP连接已经中断。这里,所 谓"健康检查包"是在客户端和服务器端之间检查对方是否连接而使用 的一个数据包命令,它用于在客户端和服务器端之间保持会话,若在规 定时间内没有收到对方发送来的健康检查包,则判断为两者之间发生断 线。关于如何判断是服务器端先侦测到断线还是客户端先侦测到断线, 一般是查看服务器端的内存105的用户在线管理池中该用户节点是否存 在,若存在且节点中没有断线重连的记录(断线重连的话,则会记录一 个时间或其他信息),则可知是服务器端IOO先侦测到断线,若发现该 节点不存在或节点中已有断线重连的记录,则可知是客户端200先侦测 到断线。首先,对于服务器端IOO先侦测到用户断线的情况进行说明。 当服务器端IOO通过其连接状态检测单元101先侦测到用户断线的 情况下,则主要进行下述步骤由信息处理单元102备份用户信息的信 息备份步骤;客户端200利用其后台自动重连单元201进行后台自动重 连并且向上述服务器端100的登录许可单元103发送自动重连命令的后 台自动重连步骤;上述服务器端100的登录许可单元103根据上述自动 重连命令判断是否允许用户重新登录的登录许可步骤。具体地,如图2所示,在上述信息备份步骤中,信息处理单元102 将断线用户在服务器端100的内存105中的有用信息备份到内存105 中,并把一些必要的更新信息例如登录时间、发送消息数等其它有用的 信息保存到服务器端的数据库106中。同时,服务器端100从用户在线 管理池中删除断线用户的客户端的用户节点或对用户节点做标记为已在备份期间,若有人向该断线用户发送消息,则把消息存储到离线消息 中,若其好友出现状态改变,则把好友的状态改变緩存到备份节点。其 中,上述离线消息存储在服务器100的数据库106中,另外,上述备份 节点实质上是在断线用户的用户节点的内存信息上打一个特殊标志或 移动到另外 一 个数据结构以区别于正常的用户节点。在上述自动重连步骤中,当客户端200得知自己与服务器端100中 断会话的情况下,则其自动重连单元201在后台线程(非windows界面 线程)启动断线重连过程。超时监控单元104用于监控客户端200的自动重连单元201是否在 规定时间内进行后台自动重连。若自动重连单元201在规定时间内进行 后台自动重连,则继续上述登录许可步骤;若自动重连单元201未在规 定时间内进行后台自动重连,则删除上述已备份的信息。若客户端200在规定时间内(可以将该规定时间设定为任意适当的 时间,例如,l分钟、2分钟......)通过其自动重连单元201登陆到服务器端100的情况下,则服务器端IOO检测该用户的登录信息是否正确有 效。这里,所谓的登录信息可以包括用户ID、密码、上次登录服务器 的IP地址、以及上次登陆成功时服务器端100返回的唯一码中的一个 或多个的组合。若登录信息检测成功,则把该用户的备份信息恢复到用 户在线管理池中,并且同时更改用户在线管理池中该用户的唯一码、以及TCP连接号,并把新的唯一号返回客户端200并告诉客户端200重登 陆成功,同时把緩存的好友状态改变的信息发送给该用户。这里,更改 唯一码是出于安全上以及防黑客方面的考虑。在上述登录信息检测成功 的情况下,客户端200不提示用户已经发生过断线情况,界面没有任何 变化,故用户也感觉不到。若上述登录信息检测失败的情况下,则客户端200界面退回到登录 重连界面,并且提示用户断线可能原因。另外,当该用户在其它服务器上登陆成功时,则服务器端100删除 上述备份在内存105中的信息。其次,对于客户端200先侦测到用户断线的情况进行说明。在客户端200先侦测到用户断线的情况下,进行下述步骤客户端 200的自动重连单元201进行上述后台自动重连并且向服务器端100的 登录许可单元103发送自动重连命令的后台自动重连步骤;以及服务器 端100的登录许可单元103根据上述自动重连命令判断是否允许用户重新登录的登录许可步骤。具体地,若客户端200通过其自动重连单元201登陆到服务器端100的情况下,则服务器端IOO检测该用户的登录信息是否正确有效。这里, 所谓的登录信息可以包括用户ID、密码、上次登录服务器的IP地址、 以及上次登陆成功时服务器端100返回的唯一码中的一个或多个的组 合。若登录信息检测成功,则更改用户在线管理池中该用户的唯一码、 以及TCP连接号,并《|巴新的唯一号返回客户端200以告诉客户端200重 登陆成功。在上述登录信息检测成功的情况下,客户端200不提示用户 已经发生过断线情况,界面没有任何变化,故用户也感觉不到。若上述登录信息检测失败的情况即自动重连失败的情况下,则客户 端200退回到登录重连界面,并且提示用户断线可能原因,例如如网络 掉线、服务器不可用等信息。这里,有个前提是,客户端200能够记住登陆的接入服务器的IP
地址,自动重新登陆时是登陆到上次登陆成功的接入服务器上去的,而 不会登陆到其它服务器。综上所述,利用本发明,在即时通信中当因网络不稳定或其他原因 导致客户端与服务器端中断会话的情况下,能够在客户端实现自动重连 并且不会引起界面发生变化,同时,在服务器端先侦测到断线的情况下 还能够緩存断线情况下的信息。以上,参照附图对本发明的具体实施方式
作了具体描述,然而,本 领域中的普通技术人员应当理解,在不偏离本发明的精神和由权利要求 书所限定的保护范围的情况下,本领域中的普通技术人员还可以对具体 实施方式中所给出的情况作各种修改。因此,参照上述附图对本发明所 作的具体实施方式
描述不应当被看作是对本发明的限定。
权利要求
1.一种即时通信的断线重连方法,应用于包括多个客户端和服务器端的即时通信系统,其特征在于上述方法包括(1)当上述服务器端先侦测到用户断线的情况下,进行下述步骤上述服务器端备份用户信息的信息备份步骤;上述客户端进行后台自动重连并且向上述服务器端发送自动重连命令的后台自动重连步骤;以及上述服务器端根据上述自动重连命令判断是否允许用户重新登录的登录许可步骤,或者(2)当客户端先侦测到用户断线的情况下,仅进行上述后台自动重连步骤;以及上述登录许可步骤。
2. 如权利要求1所述的即时通信的断线重连方法,其特征在于, 上述信息备份步骤中,服务器备份该用户在服务器的有用信息,并且将必要的更新信息保存到服务器。
3. 如权利要求1所述的即时通信的断线重连方法,其特征在于,当上述服务器端先侦测到用户断线的情况下,在上述信息备份步骤 和上述后台自动重连步骤之间,进一步具备监控客户端是否在规定时间 内进行后台自动重连的超时监控步骤。
4. 如权利要求3所述的即时通信的断线重连方法,其特征在于, 在上述超时监控步骤中,若客户端在规定时间内进行后台自动重连,则继续上述登录许可步骤;若客户端未在规定时间内进行后台自动 重连,则删除上述备份的信息。
5. 如权利要求1所述的即时通信的断线重连方法,其特征在于, 在上述服务器中具备管理用户信息的用户在线管理池, 在上述用户在线管理池中存储有用于存储用户信息的用户节点、用于表示用户唯一性的唯一码。
6. 如权利要求5所述的即时通信的断线重连方法,其特征在于, 在上述信息备份步骤中,从上述用户在线管理池中删除用户断线的客户端的用户节点或对用户节点做标记为已断线,并向作为好友的其它 客户端发送下线状态通知。
7. 如权利要求6所述的即时通信的断线重连方法,其特征在于, 上述后台自动重连步骤中,客户端利用该用户上次登录成功时采用的登录信息进行后台自动重新连接。
8. 如权利要求7所述的即时通信的断线重连方法,其特征在于, 上述登录信息包括用户ID、密码、上次登录服务器的IP地址以及唯一码中的一个或多个的组合。
9. 如权利要求8所述的即时通信的断线重连方法,其特征在于, 在上述自动重连命令中包含有上述登录信息。
10. 如权利要求9所述的即时通信的断线重连方法,其特征在于, 在上述登录许可步骤中,当服务器收到上述自动重连命令后,检查上述登录信息是否正确,若正确,则将上述用户节点恢复到用户在线管 理池中,并且更改上述用户在线管理池中的该用户的唯一码并把新的唯 一码返回客户端以通知客户端自动重连成功。
11. 如权利要求1所述的即时通信的断线重连方法,其特征在于, 在上述登录许可步骤中,若不允许用户登录,则提示用户断线可能原因。
12. —种即时通信的断线重连系统,包括多个客户端和服务器端, 其特征在于上述服务器端具备连接状态检测单元、信息处理单元、以及登录 许可单元,上述客户端具备后台自动重连单元,其中,上述连接状态检测单元用于检测用户断线的情况并且通知上 述信息处理单元发生用户断线的情况,上述信息处理单元用于在上述服务器端先侦测到用户断线的情况 下对上述服务器端备份用户信息,上述后台自动连接单元用于在用户断线的情况下进行后台自动重 连并且向上述服务器端发送自动重连命令, 上述登录许可单元用于根据来自客户端的上迷自动重连命令判断 是否允许用户重新登录。
13. 如权利要求12所述的即时通信的断线重连系统,其特征在于, 在上述服务器端还进一步具备用于监控客户端是否在规定时间内进行后台自动重连的超时监控单元。
14. 如权利要求13所述的即时通信的断线重连系统,其特征在于, 上述超时监控单元在判断为客户端在规定时间内进行后台自动重连的情况下则通知上述登录许可单元客户端完成自动重连,在判断为客 户端未在规定时间内进行后台自动重连的情况下,则通知信息处理单元 删除上述备份的信息。
15. 如权利要求12所述的即时通信的断线重连系统,其特征在于, 在上述服务器中具备管理用户信息的用户在线管理池, 在上述用户在线管理池中存储有用于存储用户信息的用户节点、用于表示用户唯一性的唯一码。
16. 如权利要求15所述的即时通信的断线重连系统,其特征在于, 上述信息处理单元在对上述服务器端备份用户信息之后,从上述用户在线管理池中删除用户断线的客户端的用户节点或不删除,只是加个 标志表示此节点用户已经断线了 ,并向作为好友的其它客户端发送下线 状态通知。
17. 如权利要求16所述的即时通信的断线重连系统,其特征在于, 上述后台自动重连单元采用该用户上次登录成功时用的登录信息进行后台自动重新连接。
全文摘要
本发明提供了一种即时通信的断线重连方法及系统,该方法应用于包括多个客户端和服务器端的即时通信系统中包括(1)当服务器端先侦测到用户断线的情况下,进行下述步骤服务器端备份用户信息的信息备份步骤;客户端进行后台自动重连并且向服务器端发送自动重连命令的后台自动重连步骤;以及服务器端根据自动重连命令判断是否允许用户重新登录的登录许可步骤,或者(2)当客户端先侦测到用户断线的情况下,仅进行后台自动重连步骤;以及登录许可步骤。当客户端与服务器端中断会话的情况下,能够在客户端实现自动重连且不会引起界面发生变化,在服务器端先侦测到断线的情况下还能够缓存断线情况下的信息。
文档编号H04L12/58GK101163113SQ20061013621
公开日2008年4月16日 申请日期2006年10月12日 优先权日2006年10月12日
发明者莫建祥, 海 陈 申请人:阿里巴巴公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1