CN101605108B - 一种即时通信的方法、系统及装置 - Google Patents
一种即时通信的方法、系统及装置 Download PDFInfo
- Publication number
- CN101605108B CN101605108B CN2009101520375A CN200910152037A CN101605108B CN 101605108 B CN101605108 B CN 101605108B CN 2009101520375 A CN2009101520375 A CN 2009101520375A CN 200910152037 A CN200910152037 A CN 200910152037A CN 101605108 B CN101605108 B CN 101605108B
- Authority
- CN
- China
- Prior art keywords
- client
- server
- logon server
- attribute information
- logon
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Abstract
本申请公开了一种即时通信的方法,用以解决现有技术客户端与登录服务器失去会话时,不能自动重连,造成数据中断的问题。该方法包括:第一登录服务器接收客户端的登录请求,与所述客户端进行即时通信,当所述第一登录服务器与所述客户端的即时通信中断时,登录分配服务器获取第二登录服务器的地址并发送给所述客户端,所述第二登录服务器接收所述客户端发送的断线重连命令,当所述第二登录服务器对所述断线重连命令进行校验通过后,与所述客户端进行即时通信。
Description
技术领域
本申请涉及即时通信技术领域,特别涉及一种即时通信的方法、系统及装置。
背景技术
作为通过互联网和他人联系的一种方式,即时通信系统(IM,InstantMessage)已经得到广泛应用。在目前的即时通信系统包括:客户端和服务器端,其中,服务器端可以包括多台服务器,例如:登录分配服务器,登录服务器,数据库服务器。一般情况下,一个用户只能登录一台登录服务器,即一台客户端只能对应一台登录服务器,但一台登录服务器可以为多台客户端服务。参见图1,用户的登录过程包括:
步骤101:客户端接收用户输入的用户名,密码等客户端帐户信息。
步骤102:客户端向登录分配服务器请求待登录服务器的地址列表。
步骤103:客户端从请求得到的待登录服务器的地址列表中确定一个登录服务器的地址。
步骤104:客户端根据确定的登录服务器的地址,向该登录服务器发送登录请求。其中登录请求包括:客户端帐户信息、以及客户端生成的唯一的随机信息,即客户端密钥Key-Client。
步骤105:登录服务器接收到登录请求后,对该登录请求进行验证,当登录请求通过验证时,执行步骤106;否则执行步骤108。
步骤106:登录服务器根据接收到的Key-Client,生成另一个对应的随机信息,也就是服务器密钥Key-Server,向客户端返回验证通过信息,该验证通过信息包括Key-Server,并在内存中保存客户端的属性信息,属性信息包括:客户端帐户信息,以及对应的Key-Server。
步骤107:客户端根据接收到的验证通过信息,进入即时通信过程中,并把接收到的Key-Client保存到内存中。
步骤108:登录服务器向客户端返回验证失败信息。即客户端登录失败。
当客户端登录成功,进入即时通信过程中,服务器端的数据库服务器会记录该用户的即时通信信息。
在即时通信过程中,当登录服务器因某种原因停止服务的时候,例如:硬件故障或者手工停机维修,客户端就会失去与服务器之间的会话,并退回到登录界面,提示用户重新登录。用户必须向客户端发送重新登录的命令后,客户端才能得到新的登录服务器地址,并向新的登录服务器地址发送包括新Key-Client的重新登录请求,验证通过后客户端才能继续即时通信过程,这样,由于登录服务器停止服务,导致该登录服务器服务的所有客户端断线,影响了客户端的正常操作。并且,当同一时刻,所有断线客户端重新登录服务器端时,也会给服务器端带来严重的负荷压力。
发明内容
本申请实施例提供一种即时通信的方法、系统及装置,用以解决现有技术客户端与登录服务器失去会话时,不能自动重连,造成数据中断的问题。
本申请实施例提供一种即时通信的方法,包括:
第一登录服务器接收客户端的登录请求,与所述客户端进行即时通信;
当所述第一登录服务器与所述客户端的即时通信中断时,登录分配服务器获取第二登录服务器的地址并发送给所述客户端,所述第二登录服务器接收所述客户端发送的断线重连命令;
当所述第二登录服务器对所述断线重连命令进行校验通过后,与所述客户端进行即时通信。
本申请实施例提供一种即时通信的方法,包括:
登录服务器接收到客户端发送的断线重连命令后,获取所述客户端的第一属性信息;
所述登录服务器解析所述断线重连命令,得到所述客户端的第二属性信息;
将所述第二属性信息与第一属性信息进行比对,当两者匹配时,对所述断线重连命令进行验证,当验证通过时,向所述客户端发送校验通过消息,并与所述客户端进行即时通信。
本申请实施例提供一种即时通信的系统,包括:
第一登录服务器,用于接收客户端的登录请求,与所述客户端进行即时通信;
登录分配服务器,用于当所述第一登录服务器与所述客户端的即时通信中断时,获取第二登录服务器的地址并发送给所述客户端;
第二登录服务器,用于接收所述客户端发送的断线重连命令,对所述断线重连命令进行校验,当校验通过时,与所述客户端进行即时通信。
本申请实施例提供一种即时通信的登录服务器,包括:
接收单元,用于接收客户端发送的断线重连命令;
校验单元,用于对接收的断线重连命令进行校验;
发送单元,用于向所述客户端发送校验响应消息。
本申请实施例提供一种即时通信的客户端,包括:
获取单元,用于当与第一登录服务器即时通信中断时,获取第二登录服务器的地址;
发送单元,用于根据所述第二登录服务器的地址,向所述第二登录服务器发送断线重连命令;
接收单元,用于接收所述第二登录服务器对所述断线重连命令进行校验,返回的校验响应信息。
本申请实施例中,第一登录服务器接收客户端的登录请求,与所述客户端进行即时通信,当所述第一登录服务器与所述客户端的即时通信中断时,登录分配服务器获取第二登录服务器的地址并发送给所述客户端,所述第二登录服务器接收所述客户端发送的断线重连命令,当所述第二登录服务器对所述断线重连命令进行校验通过后,与所述客户端进行即时通信。从而,当登录服务器因某种原因停止服务的时候,客户端失去与服务器之间的会话后,并不直接退回登录界面,而是发起断线重连过程,实现登录服务器之间的自动切换,不会造成即时通信数据的中断。
附图说明
图1为现有技术中客户端登录的流程图;
图2为本申请实施例中即时通信系统的架构图;
图3为本申请实施例中即时通信的流程图;
图4为本申请第一实施例中即时通信的流程图;
图5为本申请第二实施例中即时通信的流程图;
图6为本申请实施例中即时通信系统的具体架构图;
图7为本申请实施例中客户端的结构图;
图8为本申请实施例中登录服务器的结构图。
具体实施方式
本申请实施例中即时通信系统包括客户端和服务器端,其中,服务器端可以包括多台服务器,参见图2,即时通信系统包括:客户端,登录分配服务器、登录服务器,数据库服务器以及信息存储服务器,其中,客户端与一个登录服务器进行即时通信。在这样的即时通信系统中,当客户端与登录服务器的即时通信中断后,客户端可以自动切换登录到另外一台登录服务器,从而不会造成客户端与服务器端之间数据丢失。参见图3,本申请实施例中即时通信的过程包括:
步骤301:客户端登录第一登录服务器,与第一登录服务器进行即时通信。
这里,客户端接收到用户输入的用户名、密码等客户端帐户信息后,向登录分配服务器发送分配地址请求,登录分配服务器根据该请求,获取待登录服务器的第一地址列表,登录分配服务器获取到第一地址列表后,也就是获取到可以登录的部分登录服务器的地址列表后,从获得的第一地址列表中确定一个地址为第一登录服务器的地址,并将第一登录服务器的地址发送给客户端,从而,客户端根据确定的第一登录服务器的地址,向第一登录服务器发送登录请求。其中登录请求包括:客户端帐户信息,以及客户端密钥Key-Client。Key-Client是客户端生成的唯一的随机信息。
第一登录服务器接收到登录请求后,对该登录请求进行验证,当登录请求通过验证时,根据接收到的Key-Client,生成服务器密钥Key-Server,向客户端返回验证通过信息,该验证通过信息包括Key-Server,并在内存中保存客户端的第一属性信息,并将第一属性信息发送给信息存储服务器,其中,第一属性信息包括:客户端帐户信息,以及对应的Key-Server。Key-Server是第一登录服务器根据收到的Key-Client,生成另一个对应的随机信息,也是唯一识别客户端登录状态的信息。
客户端根据接收到的验证通过信息,与第一登录服务器进行即时通信,并把接收到的Key-Server保存到内存中。
在即时通信的过程中,与该用户相关的即时通信信息存入数据库服务器中。
步骤302:客户端检查到与第一登录服务器即时通信中断时,获取第二登录服务器的地址。
当客户端检查到与第一登录服务器即时通信中断后,及时将要发送给第一登录服务器的数据存入缓存区中,然后向登录分配服务器发送分配地址请求,登录分配服务器根据该请求,获取待登录服务器的第二地址列表,登录分配服务器获取到第二地址列表后,也即是获取到可以登录的部分登录服务器的地址列表后,从第二地址列表中确定一个地址作为所述第二登录服务器的地址,并将第二登录服务器的地址发送给客户端;或登录分配服务器直接从步骤301中获取的第一地址列表中再确定一个地址作为所述第二登录服务器的地址。这里,第二登录服务器的地址可以与第一登录服务器的地址一致,即第二登录服务器可以就是第一登录服务器,当然,第二登录服务器的地址也可以与第一登录服务器的地址不一致。
这里,客户端将要发送给第一登录服务器的数据存入缓存区中后,还可以首先尝试与第一登录服务器进行断线重连过程,当客户端与第一登录服务器断线重连失败后,再向登录分配服务器获取待登录服务器的第二地址列表,从所述第二地址列表中确定一个地址为所述第二登录服务器的地址,或再从步骤301中获取的第一地址列表中再确定一个地址为所述第二登录服务器的地址。这里,第二登录服务器的地址与第一登录服务器的地址不一致。
步骤303:客户端向第二登录服务器发送断线重连命令。断线重连命令中携带了客户端的第二属性信息,其中,第二属性信息包括了第一登录服务器返回的Key-Server,以及客户端帐户信息。将这些信息进行加密发送给第二登录服务器。
步骤304:第二登录服务器获取所述客户端的第一属性信息。
这里,第二登录服务器检查本地内存中是否有客户端的第一属性信息,如本地内存中有所述第一属性信息时,则从本地内存中获取客户端的第一属性信息,否则,从信息存储服务器中获取客户端的第一属性信息。
当第二登录服务器与第一登录服务器一致时,就可以在本地内存中查找到客户端的第一属性信息,因此,第二登录服务器直接从本地内存中获取客户端的第一属性信息。
当第二登录服务器与第一登录服务器不一致时,则第二登录服务器的本地内存中没有客户端的第一属性信息,因此,第二登录服务器只能从信息存储服务器中获取客户端的第一属性信息。
步骤305:第二登录服务器根据获取的第一属性信息,对接收的断线重连命令进行校验,校验通过后,执行步骤306。否则,执行步骤308。
这里,第二登录服务器首先解析接收的断线重连命令,得到其携带的客户端的第二属性信息,然后将步骤304中获取的第一属性信息与解析得到的第二属性信息进行比对,两者一致,则对断线重连命令进行验证,验证通过后,执行步骤306,验证不能通过时,重连失败,执行步骤308。当两者不一致,则不需对断线重连命令进行验证,直接执行步骤308。
步骤306:第二登录服务器从后台的数据库服务器中获取该用户相关的即时通信信息,并向客户端返回校验通过信息,该校验通过信息也可以包括Key-Server。
当步骤304中,第二登录服务器是从信息存储服务器中获取客户端的第一属性信息,这里,第二登录服务器在向客户端返回校验通过信息前,还需将获取的客户端的第一属性信息保存到第二登录服务器的本地内存中。
步骤307:客户端根据接收到的校验通过信息,与第二登录服务器进行即时通信。
客户端接收到校验通过信息,也就是断线重连成功,客户端将缓存区中的数据发送给第二登录服务器,进行即时通信。在即时通信的过程中,与该用户相关的新的即时通信信息仍旧存入后台的数据库服务器中。
步骤308:第二登录服务器向客户端返回校验失败信息。
步骤309:客户端接收到校验失败信息后,退回到登录界面。也就是断线重连失败,需要用户手动进行重新登录,重新连接的过程了。
当然,本申请实施例中,登录分配服务器获取待登录服务器的地址列表,可以通过定期给所有登录服务器发送命令,当接收到登录服务器返回的响应信息时,确定该登录服务器为可登录的服务器,将该登录服务器的地址加入到地址列表中。
这样,登录分配服务器可以按顺序从获取的地址列表中,选择一个地址为登录服务器的地址,也可以在获取的地址列表中,随机选择一个地址为登录服务器的地址,还可以在获取的地址列表中,按照其他设定的规则选择一个地址为登录服务器的地址。
由上所述,本申请实施例中,当登录服务器因某种原因停止服务的时候,例如:硬件故障或则手工停机维修,客户端失去与服务器之间的会话后,并不直接退回登录界面,而是发起断线重连过程,实现登录服务器之间的自动切换,从而不会造成客户端与服务器端之间数据丢失,也不会由于多台客户端同时重新登录,对登录服务器造成压力过大。
下面结合说明书附图对本申请实施例作进一步详细描述。
实施例一,参见图4,即时通信的过程包括:
步骤401:客户端登录第一登录服务器,与第一登录服务器进行即时通信。
客户端登录第一登录服务器时,在第一登录服务器的本地内存中保存了客户端的第一属性信息,同样在远端的信息存储服务器中也保存了客户端的第一属性信息,其中,第一属性信息包括:客户端帐户信息,以及对应的Key-Server。在即时通信的过程中,与该用户相关的即时通信信息存入后台的数据库服务器中。
步骤402:客户端检查到与第一登录服务器即时通信中断时,将待发送数据存入缓存区,并向登录分配服务器发送地址分配请求。
步骤403:登录分配服务器接收到地址分配请求后,获取待登录服务器的第二地址列表,确定一个地址为所述第二登录服务器的地址,并向客户端发送第二登录服务器的地址。
步骤404:客户端根据确定的地址,向第二登录服务器发送断线重连命令。断线重连命令中携带了客户端的第二属性信息,即包括第一登录服务器返回的Key-Server,以及客户端帐户信息。客户端将这些信息加密后发送给第二登录服务器。
步骤405:第二登录服务器检查本地内存中是否有客户端的第一属性信息,如果有,执行步骤406;否则执行步骤407。
步骤406:第二登录服务器从本地内存中获取客户端的第一属性信息,转入执行409。
步骤407:第二登录服务器访问远端的信息存储服务器,检查该信息存储服务器中是否有客户端的第一属性信息,如果有,执行步骤408;否则执行步骤413。
步骤408:第二登录服务器从信息存储服务器中获取客户端的第一属性信息,执行步骤409。
步骤409:第二登录服务器解析接收到的断线重连命令,将其携带的客户端的第二属性信息与获得的客户端的第一属性信息进行比较,当两者一致,进行步骤410,否则,执行步骤413
步骤410:第二登录服务器对接收的断线重连命令进行验证,验证通过后,执行步骤411;否则,执行步骤413。
步骤411:第二登录服务器从后台的数据库服务器中获取该用户相关的即时通信信息,并向客户端返回校验通过信息,该校验通过信息也可以包括Key-Server。
当第二登录服务器是从信息存储服务器中获取客户端的第一属性信息,这里,还需将获取的客户端的第一属性信息保存到第二登录服务器的本地内存中。
步骤412:客户端根据接收到的校验通过信息,与第二登录服务器进行即时通信。
客户端接收到校验通过信息,也就是断线重连成功,客户端将缓存区中的数据发送给第二登录服务器,进行即时通信。在即时通信的过程中,与该用户相关的新的即时通信信息仍旧存入后台的数据库服务器中。
步骤413:第二登录服务器向客户端返回校验失败信息。
步骤414:客户端接收到校验失败信息后,退回到登录界面。也就是断线重连失败,需要用户手动进行重新登录,重新连接的过程了。
实施二、参见图5,即时通信的过程包括:
步骤501:客户端登录第一登录服务器,与第一登录服务器进行即时通信。
客户端登录第一登录服务器时,在第一登录服务器的本地内存中保存了客户端的第一属性信息,同样在远端的信息存储服务器中也保存了客户端的第一属性信息,其中,第一属性信息包括:客户端帐户信息,以及对应的Key-Server。在即时通信的过程中,与该用户相关的即时通信信息存入后台的数据库服务器中。
步骤502:客户端检查到与第一登录服务器即时通信中断时,将待发送数据存入缓存区,客户端尝试与第一登录服务器断线重连,当客户端与第一登录服务器断线重连成功,则客户端继续与第一登录服务器即时通信,否则,执行步骤503。
步骤503:客户端向登录分配服务器发送地址分配请求。
步骤504:登录分配服务器接收到地址分配请求后,获取待登录服务器的第二地址列表,确定一个地址为所述第二登录服务器的地址,并向客户端发送第二登录服务器的地址。
客户端已经与第一登录服务器重连尝试失败了,这里,第二服务器的地址与第一服务器的地址不一致。
步骤505:客户端根据确定的地址,向第二登录服务器发送断线重连命令。断线重连命令中携带了客户端的第二属性信息,即包括第一登录服务器返回的Key-Server,以及客户端帐户信息。客户端将这些信息加密后发送给第二登录服务器。
步骤506:第二登录服务器检查本地内存中是否有客户端的第一属性信息,如果有,执行步骤507;否则执行步骤508。
本实施例中,客户端与第一登录服务器的断线重连已失败,这里,第二登录服务器不能在本地内存中查找到客户端的第一属性信息,执行步骤508。
步骤507:第二登录服务器从本地内存中获取客户端的第一属性信息,转入执行510。
步骤508:第二登录服务器访问远端的信息存储服务器,检查该信息存储服务器中是否有客户端的第一属性信息,如果有,执行步骤509;否则执行步骤514。
步骤509:第二登录服务器从信息存储服务器中获取客户端的第一属性信息,执行步骤510。
步骤510:第二登录服务器解析接收到的断线重连命令,将其携带的客户端的第二属性信息与获得的客户端的第一属性信息进行比较,当两者一致,进行步骤511,否则,执行步骤514
步骤511:第二登录服务器对接收的断线重连命令进行验证,验证通过后,执行步骤512;否则,执行步骤514。
步骤512:第二登录服务器从后台的数据库服务器中获取该用户相关的即时通信信息,并向客户端返回校验通过信息,该校验通过信息也可以包括Key-Server。
本实施例中,第二登录服务器是从信息存储服务器中获取客户端的第一属性信息,这里,还需将获取的客户端的第一属性信息保存到第二登录服务器的本地内存中。
步骤513:客户端根据接收到的校验通过信息,与第二登录服务器进行即时通信。
客户端接收到校验通过信息,也就是断线重连成功,客户端将缓存区中的数据发送给第二登录服务器,进行即时通信。在即时通信的过程中,与该用户相关的新的即时通信信息仍旧存入后台的数据库服务器中。
步骤514:第二登录服务器向客户端返回校验失败信息。
步骤515:客户端接收到校验失败信息后,退回到登录界面。也就是断线重连失败,需要用户手动进行重新登录,重新连接的过程了。
上述实施例中,客户端与第一登录服务器即时通信中断后,客户端都是向登录分配服务器发送地址分配请求,登录分配服务器接收到地址分配请求后,获取待登录服务器的第二地址列表,确定一个地址为所述第二登录服务器的地址。本申请实施例中,登录分配服务器还可以从获得的第一地址列表中,确定一个地址为所述第二登录服务器的地址,具体实施过程就不再累述。
参见图6,在本申请实施例中的即时通信系统,包括:第一登录服务器100,登录分配服务器200和第二登录服务器300。其中,
第一登录服务器100,用于接收客户端的登录请求,与所述客户端进行即时通信。
登录分配服务器200,用于当第一登录服务器100与客户端的即时通信中断时,获取第二登录服务器300的地址并发送给所述客户端。
第二登录服务器300,用于接收所述客户端发送的断线重连命令,对所述断线重连命令进行校验,当校验通过时,与所述客户端进行即时通信。
其中,登录分配服务器200,还用于获取待登录服务器的第一地址列表,并从所述第一地址列表中确定所述第一登录服务器的地址发送给客户端。
第一登录服务器100,还用于接收客户端发送的登录请求,对所述登录请求进行验证,当验证通过时,将客户端100的第一属性信息存入本地内存中,并将所述第一属性信息发送给信息存储服务器,其中,所述登录请求包括:客户端帐户信息,以及客户端密钥,所述第一属性信息包括:所述客户端帐户信息,以及根据所述客户端密钥生成的服务器密钥,并向客户端返回包括所述服务器密钥的验证通过信息。因此,所述系统还包括:信息存储服务器400,用于存储所述客户端的属性信息。
登录分配服务器200,还用于获取待登录服务器的第二地址列表。则从所述第二地址列表中确定第二登录服务器300的地址,还可以从所述第一地址列表中确定第二登录服务器300的地址。
这样,第二登录服务器300,用于获取客户端的第一属性信息,并解析接收的断线重连命令,得到客户端的第二属性信息,将所述第一属性信息与第二属性信息进行比对,当两者匹配时,对所述断线重连命令进行验证,当验证通过时,向客户端返回校验通过消息。
其中,第二登录服务器300在获取客户端的第一属性信息时,检查本地内存中是否有客户端的第一属性信息,当所述本地内存中有所述第一属性信息时,从所述本地内存中获取客户端的第一属性信息,否则,从信息存储服务器400中获取客户端的第一属性信息。
当然,本申请实施例中,参见图7,应用于本申请实施例即时通信系统中的客户端包括:获取单元710、发送单元720、接收单元730。
获取单元710,用于当与第一登录服务器即时通信中断时,获取第二登录服务器的地址。
发送单元720,用于根据所述第二登录服务器的地址,向所述第二登录服务器发送断线重连命令。
接收单元730,用于接收所述第二登录服务器对所述断线重连命令进行校验,返回的校验响应信息。
其中,获取单元710,还用于获取登录分配服务器从待登录服务器的第一地址列表确定的第一登录服务器的地址。
发送单元720,还用于根据所述第一登录服务器的地址,向第一登录服务器发送登录请求,其中,所述登录请求包括:客户端帐户信息,以及客户端密钥。
接收单元730,还用接收所述第一登录服务器对所述登录请求进行验证,返回的验证响应消息。
获取单元710,还用于获取登录分配服务器从所述第一地址列表中确定的所述第二登录服务器的地址。
当然,获取单元710还可以直接获取登录分配服务器从待登录服务器的第二地址列表中确定的所述第二登录服务器的地址。
参见图8,应用于本申请实施例即时通信系统中的登录服务器包括:接收单元810、校验单元820和发送单元830。
接收单元810,用于接收客户端发送的断线重连命令;
校验单元820,用于对接收的断线重连命令进行校验;
发送单元830,用于向所述客户端发送校验响应消息。
接收单元810,还用于接收所述客户端发送的登录请求,所述登录请求包括:客户端帐户信息,以及客户端密钥;校验单元820,还用于对所述登录请求进行验证;发送单元830,还用于当验证通过时,将所述客户端的第一属性信息存入本地内存中,以及将所述第一属性信息发送信息存储服务器,其中,所述第一属性信息包括:所述客户端帐户信息,以及根据所述客户端密钥生成的服务器密钥,并向所述客户端发送包括所述服务器密钥的验证通过消息。
本申请实施例中校验单元820可以包括获取子单元,解析子单元以及匹配验证子单元,其中,
获取子单元,用于获取所述客户端的第一属性信息。
解析子单元,用于解析所述断线重连命令,得到客户端的第二属性信息。
匹配验证子单元,用于将所述第一属性信息与第二属性信息进行比对,当两者匹配时,对所述断线重连命令进行验证。
获取子单元首先检查本地内存中是否存储所述客户端的第一属性信息,当本地内存中保存所述第一属性信息,从本地内存中获取所述第一属性信息,当本地内存中没有保存所述第一属性信息,从信息存储服务器中获取所述客户端的第一属性信息。
综上所述,本申请实施例中,第一登录服务器接收客户端的登录请求,与所述客户端进行即时通信,当所述第一登录服务器与所述客户端的即时通信中断时,登录分配服务器获取第二登录服务器的地址并发送给所述客户端,所述第二登录服务器接收所述客户端发送的断线重连命令,当所述第二登录服务器对所述断线重连命令进行校验通过后,与所述客户端进行即时通信。从而,当登录服务器因某种原因停止服务的时候,例如:硬件故障或则手工停机维修,客户端失去与服务器之间的会话后,并不直接退回登录界面,而是发起断线重连过程,实现登录服务器之间的自动切换,不会造成客户端与服务器端之间数据丢失,也不会影响用户体验。
本申请是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若对本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种即时通信的方法,其特征在于,包括:
第一登录服务器接收客户端的登录请求,与所述客户端进行即时通信;
当所述第一登录服务器与所述客户端的即时通信中断时,登录分配服务器获取第二登录服务器的地址并发送给所述客户端,所述第二登录服务器接收所述客户端发送的断线重连命令;
所述第二登录服务器从本地内存或信息存储服务器中获取所述第一登录服务器与所述客户端即时通信时生成的所述客户端的第一属性信息,并对所述断线重连命令进行解析获得所述客户端的第二属性信息,当所述第二属性信息与第一属性信息匹配时,对所述断线重连命令进行校验,校验通过后,与所述客户端进行即时通信。
2.如权利要求1所述的方法,其特征在于,所述第一登录服务器接收客户端的登录请求包括:
所述登录分配服务器获取待登录服务器的第一地址列表,并从所述第一地址列表中确定所述第一登录服务器的地址发送给客户端;
所述第一登录服务器接收客户端发送的登录请求,所述登录请求包括:客户端帐户信息,以及客户端密钥;
所述第一登录服务器对所述登录请求进行验证,当验证通过时,将所述客户端的第一属性信息存入本地内存中,并将所述第一属性信息发送给信息存储服务器,其中,所述第一属性信息包括:所述客户端帐户信息,以及根据所述客户端密钥生成的服务器密钥;
所述第一登录服务器向所述客户端返回包括所述服务器密钥的验证通过信息。
3.如权利要求2所述的方法,其特征在于,所述断线重连命令携带所述客户端的第二属性信息,所述第二属性信息包括:所述客户端帐户信息,以及接收的所述第一登录服务器返回的服务器密钥。
4.如权利要求2所述的方法,其特征在于,所述登录分配服务器获取第二登录服务器的地址包括:
所述登录分配服务器获取待登录服务器的第二地址列表,从所述第二地址列表中确定所述第二登录服务器的地址;或,
从已获取的第一地址列表中确定所述第二登录服务器的地址。
5.如权利要求2所述的方法,其特征在于,所述第二登录服务器从本地内存或信息存储服务器中获取所述第一登录服务器与所述客户端即时通信时生成的所述客户端的第一属性信息包括:
所述第二登录服务器检查本地内存中是否有客户端的第一属性信息;
当所述本地内存中有所述第一属性信息时,从所述本地内存中获取所述客户端的第一属性信息,否则,从所述信息存储服务器中获取所述客户端的第一属性信息。
6.如权利要求5所述的方法,其特征在于,当所述第二登录服务器从所述信息存储服务器中获取所述客户端的第一属性信息时,所述客户端接收到校验通过消息之前,该方法还包括:
所述第二登录服务器在本地内存中保存获取的客户端的第一属性信息。
7.一种即时通信的系统,其特征在于,包括:
第一登录服务器,用于接收客户端的登录请求,与所述客户端进行即时通信;
登录分配服务器,用于当所述第一登录服务器与所述客户端的即时通信中断时,获取第二登录服务器的地址并发送给所述客户端;
第二登录服务器,用于接收所述客户端发送的断线重连命令,从本地内存或信息存储服务器中获取所述第一登录服务器与所述客户端即时通信时生成的所述客户端的第一属性信息,并对接收的所述客户端发送的断线重连命令进行解析获得所述客户端的第二属性信息,当所述第二属性信息与第一属性信息匹配时,对所述断线重连命令进行校验,当校验通过时,与所述客户端进行即时通信。
8.如权利要求7所述的系统,其特征在于,
所述登录分配服务器,还用于获取待登录服务器的第一地址列表,并从所述第一地址列表中确定所述第一登录服务器的地址发送给客户端;
所述第一登录服务器,还用于接收客户端发送的登录请求,对所述登录请求进行验证,当验证通过时,将所述客户端的第一属性信息存入本地内存中,以及将所述第一属性信息发送给信息存储服务器,其中,所述登录请求包括:客户端帐户信息,以及客户端密钥,所述第一属性信息包括:所述客户端帐户信息,以及根据所述客户端密钥生成的服务器密钥,并向所述客户端返回包括所述服务器密钥的验证通过信息。
9.如权利要求8所述的系统,其特征在于,
所述登录分配服务器,还用于获取待登录服务器的第二地址列表,从所述第二地址列表中确定所述第二登录服务器的地址,或从所述第一地址列表中确定所述第二登录服务器的地址。
10.如权利要求8所述的系统,其特征在于,
所述第二登录服务器,还用于检查本地内存中是否有客户端的第一属性信息,当所述本地内存中有所述第一属性信息时,从所述本地内存中获取所述客户端的第一属性信息,否则,从所述信息存储服务器中获取所述客户端的第一属性信息。
11.一种即时通信的客户端,其特征在于,包括:
获取单元,用于当与第一登录服务器即时通信中断时,从登录分配服务器获取第二登录服务器的地址;其中,与所述第一登录服务器的通信是所述第一登录服务器响应所述客户端发送的登录请求而建立的;
发送单元,用于根据所述第二登录服务器的地址,向所述第二登录服务器发送断线重连命令;
接收单元,用于接收所述第二登录服务器返回的校验响应信息,所述校验响应信息是由所述第二登录服务器从本地内存或信息存储服务器中获取所述第一登录服务器与所述客户端即时通信时生成的所述客户端的第一属性信息,并对所述断线重连命令进行解析获得所述客户端的第二属性信息,以及确定所述第二属性信息与第一属性信息匹配时,对所述断线重连命令进行校验后产生的;其中,
所述获取单元,还用于获取登录分配服务器从待登录服务器的第一地址列表确定的第一登录服务器的地址,以及获取登录分配服务器从所述第一地址列表中确定的所述第二登录服务器的地址;或者,
还用于获取登录分配服务器从待登录服务器的第二地址列表中确定的所述第二登录服务器的地址。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101520375A CN101605108B (zh) | 2009-07-15 | 2009-07-15 | 一种即时通信的方法、系统及装置 |
HK10105152.1A HK1137590A1 (en) | 2009-07-15 | 2010-05-26 | Method, system and apparatus for instant messaging |
US12/804,133 US8826402B2 (en) | 2009-07-15 | 2010-07-13 | Management of an instant message session |
JP2012520623A JP5693576B2 (ja) | 2009-07-15 | 2010-07-14 | インスタントメッセージセッションの管理 |
PCT/US2010/001989 WO2011008284A1 (en) | 2009-07-15 | 2010-07-14 | Management of an instant message session |
EP10800164.5A EP2454679B1 (en) | 2009-07-15 | 2010-07-14 | Management of an instant message session |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101520375A CN101605108B (zh) | 2009-07-15 | 2009-07-15 | 一种即时通信的方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101605108A CN101605108A (zh) | 2009-12-16 |
CN101605108B true CN101605108B (zh) | 2013-06-12 |
Family
ID=41470664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101520375A Active CN101605108B (zh) | 2009-07-15 | 2009-07-15 | 一种即时通信的方法、系统及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8826402B2 (zh) |
EP (1) | EP2454679B1 (zh) |
JP (1) | JP5693576B2 (zh) |
CN (1) | CN101605108B (zh) |
HK (1) | HK1137590A1 (zh) |
WO (1) | WO2011008284A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9171284B2 (en) * | 2009-03-02 | 2015-10-27 | Microsoft Technology Licensing, Llc | Techniques to restore communications sessions for applications having conversation and meeting environments |
CN102131152B (zh) * | 2010-01-15 | 2016-08-03 | 中兴通讯股份有限公司 | 一种维持即时消息业务连续性的方法及系统 |
JP5947540B2 (ja) * | 2011-11-07 | 2016-07-06 | 株式会社スクウェア・エニックス・ホールディングス | 管理装置、管理装置の制御方法 |
CN103516587B (zh) * | 2012-06-30 | 2017-02-15 | 北京神州泰岳软件股份有限公司 | 即时通信客户端断线重连的方法和装置 |
CN103581108B (zh) * | 2012-07-19 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 一种登录验证方法、客户端、服务器及系统 |
CN103595613B (zh) * | 2012-08-13 | 2017-06-06 | 阿里巴巴集团控股有限公司 | 即时通讯客户端、即时通讯服务器和即时通讯方法 |
CN102882769B (zh) * | 2012-09-21 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 一种即时通讯方法、终端、服务器以及系统 |
JP2017517063A (ja) * | 2014-04-24 | 2017-06-22 | バークレイズ バンク ピーエルシー | インスタントメッセージングシステムおよび方法 |
CN105262670A (zh) * | 2014-07-15 | 2016-01-20 | 阿里巴巴集团控股有限公司 | 一种用户群的创建方法和设备 |
CN104301318B (zh) * | 2014-10-15 | 2018-08-17 | 启迪国信科技有限公司 | 用于即时通信应用的网络重连的方法和设备 |
US10027744B2 (en) * | 2016-04-26 | 2018-07-17 | Servicenow, Inc. | Deployment of a network resource based on a containment structure |
JP6743534B2 (ja) * | 2016-07-11 | 2020-08-19 | 富士通株式会社 | 情報処理装置、情報処理システム、プログラム及び情報処理方法 |
CN107800606A (zh) * | 2016-08-31 | 2018-03-13 | 北京北信源软件股份有限公司 | 一种支持多服务器多账号同时在线的即时通信方法和装置 |
CN106559485B (zh) * | 2016-11-15 | 2019-08-06 | 杭州迪普科技股份有限公司 | 一种控制服务器关机的方法及装置 |
CN108092872B (zh) * | 2016-11-22 | 2021-07-13 | 阿里巴巴集团控股有限公司 | 通讯方法及装置 |
CN106686100A (zh) * | 2017-01-03 | 2017-05-17 | 广东欧珀移动通信有限公司 | 一种注册信息的存储方法、装置及终端 |
CN108632646B (zh) * | 2017-03-20 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 一种视频直播方法、装置及服务器 |
CN109005204B (zh) | 2017-06-07 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 一种直播处理方法、装置及系统 |
CN108616914B (zh) * | 2018-03-30 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 一种断线重连的方法及装置 |
CN113246117B (zh) * | 2020-02-11 | 2023-08-22 | 株式会社日立制作所 | 一种机器人的控制方法、设备及楼宇管理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163113A (zh) * | 2006-10-12 | 2008-04-16 | 阿里巴巴公司 | 一种即时通信的断线重连系统及方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US138606A (en) * | 1873-05-06 | Improvement in tobacco-cutting machines | ||
US6195682B1 (en) * | 1998-10-27 | 2001-02-27 | International Business Machines Corporation | Concurrent server and method of operation having client-server affinity using exchanged client and server keys |
US7043538B2 (en) * | 2000-07-06 | 2006-05-09 | Nms Communication Corporation | Thin instant messaging proxy interface with persistent sessions |
US20050198379A1 (en) * | 2001-06-13 | 2005-09-08 | Citrix Systems, Inc. | Automatically reconnecting a client across reliable and persistent communication sessions |
JP2003108537A (ja) * | 2001-09-13 | 2003-04-11 | Internatl Business Mach Corp <Ibm> | ネットワーク上のサーバに対するサービス要求の負荷分散の方法およびシステム |
JP2003233590A (ja) * | 2002-02-08 | 2003-08-22 | Hitachi Ltd | 移動追従型サービス提供方法、システム及びプログラム |
US7487248B2 (en) * | 2002-10-08 | 2009-02-03 | Brian Moran | Method and system for transferring a computer session between devices |
KR101042745B1 (ko) * | 2004-01-30 | 2011-06-20 | 삼성전자주식회사 | 클라이언트 단말장치와 서버 사이의 세션 재설정을 위한시스템 및 방법 |
US7403973B2 (en) * | 2004-05-28 | 2008-07-22 | Oracle International Corporation | Managing devices and messages for users during a messaging session |
US7450934B2 (en) * | 2004-09-14 | 2008-11-11 | Siemens Communications, Inc. | Apparatus and method for IM to PTT correlation of mobile phones as associated devices |
CN1809059A (zh) * | 2005-01-21 | 2006-07-26 | 朗迅科技公司 | 管理客户服务会话的方法 |
US20060167849A1 (en) * | 2005-01-26 | 2006-07-27 | Echovox Sa | Method and system for mobile instant messaging using multiple protocols |
US7594020B2 (en) * | 2005-05-31 | 2009-09-22 | Microsoft Corporation | Re-establishing a connection for an application layer via a service layer |
WO2007112369A2 (en) * | 2006-03-24 | 2007-10-04 | Meebo, Inc. | A method and system for event polling |
JP2007272472A (ja) * | 2006-03-30 | 2007-10-18 | Nomura Research Institute Ltd | セッション引継システム |
JP4251207B2 (ja) * | 2006-04-28 | 2009-04-08 | ソニー株式会社 | サーバ装置、再接続制御方法、機器装置、再接続方法、プログラム、および記録媒体 |
US20090055497A1 (en) * | 2007-08-21 | 2009-02-26 | Scott Stephen Dickerson | Method and system for automatic instant messaging delegation |
-
2009
- 2009-07-15 CN CN2009101520375A patent/CN101605108B/zh active Active
-
2010
- 2010-05-26 HK HK10105152.1A patent/HK1137590A1/xx unknown
- 2010-07-13 US US12/804,133 patent/US8826402B2/en active Active
- 2010-07-14 JP JP2012520623A patent/JP5693576B2/ja active Active
- 2010-07-14 EP EP10800164.5A patent/EP2454679B1/en not_active Not-in-force
- 2010-07-14 WO PCT/US2010/001989 patent/WO2011008284A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163113A (zh) * | 2006-10-12 | 2008-04-16 | 阿里巴巴公司 | 一种即时通信的断线重连系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2454679A4 (en) | 2013-01-16 |
JP5693576B2 (ja) | 2015-04-01 |
US8826402B2 (en) | 2014-09-02 |
CN101605108A (zh) | 2009-12-16 |
JP2012533792A (ja) | 2012-12-27 |
US20110016516A1 (en) | 2011-01-20 |
WO2011008284A1 (en) | 2011-01-20 |
EP2454679A1 (en) | 2012-05-23 |
EP2454679B1 (en) | 2017-08-30 |
HK1137590A1 (en) | 2010-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101605108B (zh) | 一种即时通信的方法、系统及装置 | |
US10063599B2 (en) | Controlling registration floods in VOIP networks via DNS | |
JP4122341B2 (ja) | クライアント端末装置とサーバーとの間のセッション再設定のためのシステム及び方法 | |
CN101834834A (zh) | 一种鉴权方法、装置及鉴权系统 | |
CN109586969A (zh) | 内容分发网络容灾方法、装置、计算机设备及存储介质 | |
CN108156240B (zh) | 一种工业适配器接入服务器的方法及系统 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN111404918A (zh) | 一种云手机分布式服务应急认证方法、装置及系统 | |
WO2017080328A1 (zh) | 终端用户状态获取方法、装置和系统 | |
CN107943622B (zh) | 备用运维方法、装置和系统 | |
CN103501298B (zh) | 一种不中断业务升级过程中保证链路不断流的方法和设备 | |
KR101506223B1 (ko) | 가상화 서비스 제공을 위한 비정상적인 접속 차단시 자동 재접속 시스템 | |
CN103138961A (zh) | 服务器控制方法、被控服务器及中心控制服务器 | |
CN106304071B (zh) | 一种网络接入认证方法、接入认证设备及系统 | |
CN104702612A (zh) | 一种用户认证处理方法及装置 | |
CN105721231A (zh) | 一种业务质量感知探测方法及装置 | |
US20110202592A1 (en) | Use of Multiple Connections to Extend RADIUS Identifier Space | |
CN113420275A (zh) | 数据连接处理方法、相关装置及计算机程序产品 | |
CN102195983A (zh) | 网络终端加密认证方法及服务器 | |
TWI502375B (zh) | Instant messaging method, system and device | |
JP6126062B2 (ja) | ネットワーク装置及びネットワーク装置のmacアドレス認証方法 | |
CN105992177B (zh) | 提升移动代理服务器可用性的方法、装置及系统 | |
CN111416852A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 | |
CN104506524B (zh) | 区分用户域且对网络接入服务器透明的aaa系统及方法 | |
CN112104657B (zh) | 信息校验方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1137590 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1137590 Country of ref document: HK |