TWI502375B - Instant messaging method, system and device - Google Patents
Instant messaging method, system and device Download PDFInfo
- Publication number
- TWI502375B TWI502375B TW099106786A TW99106786A TWI502375B TW I502375 B TWI502375 B TW I502375B TW 099106786 A TW099106786 A TW 099106786A TW 99106786 A TW99106786 A TW 99106786A TW I502375 B TWI502375 B TW I502375B
- Authority
- TW
- Taiwan
- Prior art keywords
- server
- login
- client
- attribute information
- key
- Prior art date
Links
Landscapes
- Information Transfer Between Computers (AREA)
Description
本發明係關於即時通信技術領域,特別關於一種即時通信的方法、系統及裝置。
作為通過網際網路和他人聯繫的一種方式,即時通信系統(IM,Instant Message)已經得到廣泛應用。在目前的即時通信系統包括:用戶端和伺服器端,其中,伺服器端可以包括多台伺服器,例如:登錄分配伺服器,登錄伺服器,資料庫伺服器。一般情況下,一個用戶只能登錄一台登錄伺服器,即一台用戶端只能對應一台登錄伺服器,但一台登錄伺服器可以為多台用戶端服務。參見圖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的重新登錄請求,驗證通過後用戶端才能繼續即時通信過程,這樣,由於登錄伺服器停止服務,導致該登錄伺服器服務的所有用戶端斷線,影響了用戶端的正常操作。並且,當同一時刻,所有斷線用戶端重新登錄伺服器端時,也會給伺服器端帶來嚴重的負荷壓力。
本發明實施例提供一種即時通信的方法、系統及裝置,用以解決現有技術用戶端與登錄伺服器失去會話時,不能自動重連,造成資料中斷的問題。
本發明實施例提供一種即時通信的方法,包括:第一登錄伺服器接收用戶端的登錄請求,與所述用戶端進行即時通信;當所述第一登錄伺服器與所述用戶端的即時通信中斷時,登錄分配伺服器獲取第二登錄伺服器的位址倂發送給所述用戶端,所述第二登錄伺服器接收所述用戶端發送的斷線重連命令;當所述第二登錄伺服器對所述斷線重連命令進行校驗通過後,與所述用戶端進行即時通信。
本發明實施例提供一種即時通信的方法,包括:登錄伺服器接收到用戶端發送的斷線重連命令後,獲取所述用戶端的第一屬性資訊;所述登錄伺服器解析所述斷線重連命令,得到所述用戶端的第二屬性資訊;將所述第二屬性資訊與第一屬性資訊進行比對,當兩者匹配時,對所述斷線重連命令進行驗證,當驗證通過時,向所述用戶端發送校驗通過消息,並與所述用戶端進行即時通信。
本發明實施例提供一種即時通信的系統,包括:第一登錄伺服器,用於接收用戶端的登錄請求,與所述用戶端進行即時通信;登錄分配伺服器,用於當所述第一登錄伺服器與所述用戶端的即時通信中斷時,獲取第二登錄伺服器的位址倂發送給所述用戶端;第二登錄伺服器,用於接收所述用戶端發送的斷線重連命令,對所述斷線重連命令進行校驗,當校驗通過時,與所述用戶端進行即時通信。
本發明實施例提供一種即時通信的登錄伺服器,包括:接收單元,用於接收用戶端發送的斷線重連命令;校驗單元,用於對接收的斷線重連命令進行校驗;發送單元,用於向所述用戶端發送校驗回應消息。
本發明實施例提供一種即時通信的用戶端,包括:獲取單元,用於當與第一登錄伺服器即時通信中斷時,獲取第二登錄伺服器的位址;發送單元,用於根據所述第二登錄伺服器的位址,向所述第二登錄伺服器發送斷線重連命令;接收單元,用於接收所述第二登錄伺服器對所述斷線重連命令進行校驗,返回的校驗回應資訊。
本發明實施例中,第一登錄伺服器接收用戶端的登錄請求,與所述用戶端進行即時通信,當所述第一登錄伺服器與所述用戶端的即時通信中斷時,登錄分配伺服器獲取第二登錄伺服器的位址倂發送給所述用戶端,所述第二登錄伺服器接收所述用戶端發送的斷線重連命令,當所述第二登錄伺服器對所述斷線重連命令進行校驗通過後,與所述用戶端進行即時通信。從而,當登錄伺服器因某種原因停止服務的時候,用戶端失去與伺服器之間的會話後,並不直接退回登錄介面,而是發起斷線重連過程,實現登錄伺服器之間的自動切換,不會造成即時通信資料的中斷。
本發明實施例中即時通信系統包括用戶端和伺服器端,其中,伺服器端可以包括多台伺服器,參見圖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可以包括獲取子單元,解析子單元以及匹配驗證子單元,其中,獲取子單元,用於獲取所述用戶端的第一屬性資訊。
解析子單元,用於解析所述斷線重連命令,得到用戶端的第二屬性資訊。
匹配驗證子單元,用於將所述第一屬性資訊與第二屬性資訊進行比對,當兩者匹配時,對所述斷線重連命令進行驗證。
獲取子單元首先檢查本地記憶體中是否儲存所述用戶端的第一屬性資訊,當本地記憶體中保存所述第一屬性資訊,從本地記憶體中獲取所述第一屬性資訊,當本地記憶體中沒有保存所述第一屬性資訊,從資訊儲存伺服器中獲取所述用戶端的第一屬性資訊。
綜上所述,本發明實施例中,第一登錄伺服器接收用戶端的登錄請求,與所述用戶端進行即時通信,當所述第一登錄伺服器與所述用戶端的即時通信中斷時,登錄分配伺服器獲取第二登錄伺服器的位址倂發送給所述用戶端,所述第二登錄伺服器接收所述用戶端發送的斷線重連命令,當所述第二登錄伺服器對所述斷線重連命令進行校驗通過後,與所述用戶端進行即時通信。從而,當登錄伺服器因某種原因停止服務的時候,例如:硬體故障或則手工停機維修,用戶端失去與伺服器之間的會話後,並不直接退回登錄介面,而是發起斷線重連過程,實現登錄伺服器之間的自動切換,不會造成用戶端與伺服器端之間資料丟失,也不會影響用戶體驗。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可編程資料處理設備的處理器以產生一個機器,使得通過電腦或其他可編程資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可編程資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可編程資料處理設備上,使得在電腦或其他可編程設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若對本發明的這些修改和變型屬於本發明之申請專利範圍及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
100...第一登錄伺服器
200...登錄分配伺服器
300...第二登錄伺服器
400...資訊儲存伺服器
710...獲取單元
720...發送單元
730...接收單元
810...接收單元
820...校驗單元
830...發送單元
圖1為現有技術中用戶端登錄的流程圖;
圖2為本發明實施例中即時通信系統的架構圖;
圖3為本發明實施例中即時通信的流程圖;
圖4為本發明第一實施例中即時通信的流程圖;
圖5為本發明第二實施例中即時通信的流程圖;
圖6為本發明實施例中即時通信系統的具體架構圖;
圖7為本發明實施例中用戶端的結構圖;
圖8為本發明實施例中登錄伺服器的結構圖。
Claims (10)
- 一種即時通信的方法,其特徵在於,包括:於第一登錄伺服器接收與用戶端關聯的登錄請求,與該用戶端進行即時通信,其中該登錄請求包括:用戶端帳戶資訊以及用戶端密鑰,其中該用戶端密鑰係由該用戶端產生;其中,於該第一登錄伺服器接收與用戶端關聯的登錄請求包括:登錄分配伺服器獲取待登錄伺服器的第一位址列表,並從該第一位址列表中確定該第一登錄伺服器的位址發送給用戶端;該第一登錄伺服器接收用戶端發送的登錄請求;該第一登錄伺服器對該登錄請求進行驗證,當驗證通過時,將該用戶端的第一屬性資訊存入本地記憶體中,並將該第一屬性資訊發送給資訊儲存伺服器,其中,該第一屬性資訊包括:該用戶端帳戶資訊,以及根據該用戶端密鑰生成的伺服器密鑰,其中該伺服器密鑰用於識別與該用戶端關聯之登錄狀態;該第一登錄伺服器向該用戶端傳回包括該伺服器密鑰的驗證通過資訊;當該第一登錄伺服器與該用戶端的即時通信中斷時,該登錄分配伺服器獲取第二登錄伺服器的位址並發送給該用戶端,該第二登錄伺服器接收該用戶端發送的斷線重連命令; 當該第二登錄伺服器對該斷線重連命令進行校驗通過後,與該用戶端進行即時通信。
- 如申請專利範圍第1項之方法,其中,該斷線重連命令攜帶該用戶端的第二屬性資訊,該第二屬性資訊包括:該用戶端帳戶資訊,以及接收的該第一登錄伺服器傳回的伺服器密鑰。
- 如申請專利範圍第1項之方法,其中,該登錄分配伺服器獲取第二登錄伺服器的位址包括:該登錄分配伺服器獲取待登錄伺服器的第二位址列表,從該第二位址列表中確定該第二登錄伺服器的位址;或,從已獲取的第一位址列表中確定該第二登錄伺服器的位址。
- 如申請專利範圍第1項之方法,其中,該第二登錄伺服器對該斷線重連命令進行校驗包括:該第二登錄伺服器獲取該用戶端的第一屬性資訊;該第二登錄伺服器解析該斷線重連命令,得到該用戶端的第二屬性資訊;將該第二屬性資訊與第一屬性資訊進行比對,當兩者匹配時,對該斷線重連命令進行驗證。
- 一種即時通信的方法,其特徵在於,包括:登錄伺服器接收到用戶端發送的斷線重連命令後,獲取該用戶端的第一屬性資訊,該第一屬性資訊包括用戶端帳戶資訊以及第一伺服器密鑰,其中該第一屬性資訊係從 本地記憶體或遠端資訊儲存伺服器獲得,其中該第一伺服器密鑰係根據用戶端密鑰而產生,其中該用戶端密鑰係於該用戶端產生,其中該第一伺服器密鑰用於識別與該用戶端關聯之登錄狀態;該登錄伺服器解析該斷線重連命令,得到該用戶端的第二屬性資訊,該第二屬性資訊包括用戶端帳戶資訊以及伺服器密鑰;將該第二屬性資訊與第一屬性資訊進行比對,當兩者匹配時,對該斷線重連命令進行驗證,當驗證通過時,向該用戶端發送校驗通過消息,並與該用戶端進行即時通信。
- 如申請專利範圍第5項之方法,其中,該方法還包括:該登錄伺服器接收到該用戶端發送的登錄請求後,對該登錄請求進行驗證;當驗證通過時,將該用戶端的第一屬性資訊存入本地記憶體中,並將該第一屬性資訊發送給遠端資訊儲存伺服器;該登錄伺服器向該用戶端發送驗證通過資訊,與該用戶端進行即時通信。
- 一種即時通信的系統,其特徵在於,包括:第一登錄伺服器,用於接收與用戶端關聯的登錄請求,與該用戶端進行即時通信,其中該登錄請求包括:用戶端帳戶資訊以及用戶端密鑰,其中該用戶端密鑰係於該 用戶端產生;其中該第一登錄伺服器,還用於接收用戶端發送的登錄請求,對該登錄請求進行驗證,當驗證通過時,將該用戶端的第一屬性資訊存入本地記憶體中,以及將該第一屬性資訊發送給資訊儲存伺服器,該第一屬性資訊包括:該用戶端帳戶資訊,以及根據該用戶端密鑰生成的伺服器密鑰,並向該用戶端傳回包括該伺服器密鑰的驗證通過資訊,其中該伺服器密鑰係用於識別與該用戶端關聯之登錄狀態;登錄分配伺服器,用於當該第一登錄伺服器與該用戶端的即時通信中斷時,獲取第二登錄伺服器的位址並發送給該用戶端;其中該登錄分配伺服器,還用於獲取待登錄伺服器的第一位址列表,並從該第一位址列表中確定該第一登錄伺服器的位址發送給用戶端;第二登錄伺服器,用於接收該用戶端發送的斷線重連命令,對該斷線重連命令進行校驗,當校驗通過時,與該用戶端進行即時通信。
- 如申請專利範圍第7項之系統,其中,該登錄分配伺服器,還用於獲取待登錄伺服器的第二位址列表,從該第二位址列表中確定該第二登錄伺服器的位址,或從該第一位址列表中確定該第二登錄伺服器的位址。
- 如申請專利範圍第7項之系統,其中,該第二登錄伺服器,還用於獲取該用戶端的第一屬性資訊,並解析接收的斷線重連命令,得到該用戶端的第二 屬性資訊,將該第一屬性資訊與第二屬性資訊進行比對,當兩者匹配時,對該斷線重連命令進行驗證。
- 一種即時通信的登錄伺服器,其特徵在於,包括:接收單元,用於接收用戶端發送的斷線重連命令以及登錄請求,該登錄請求包括:用戶端帳戶資訊,以及用戶端密鑰;校驗單元,用於對接收的斷線重連命令以及該登錄請求進行校驗;其中,該校驗單元包括:獲取子單元,用於獲取該用戶端的第一屬性資訊,其中該第一屬性資訊包括用戶端帳戶資訊以及第一伺服器密鑰,其中該第一屬性資訊係從本地記憶體或遠端資訊儲存伺服器獲取,其中該第一伺服器密鑰係根據用戶端密鑰而產生,其中該用戶端密鑰於該用戶端產生,其中該第一伺服器密鑰係用於識別與該用戶端關聯之登錄狀態;解析子單元,用於解析該斷線重連命令,得到用戶端的第二屬性資訊,該第二屬性資訊包括用戶端帳戶資訊以及第二伺服器密鑰;匹配驗證子單元,用於將該第一屬性資訊與第二屬性資訊進行比對,當兩者匹配時,對該斷線重連命令進行驗證發送單元,用於向該用戶端發送校驗回應消息,且還用於當驗證通過時,將該用戶端的第一屬性資訊存入本地 記憶體中,以及將該第一屬性資訊發送資訊儲存伺服器,且根據該用戶端密鑰生成的伺服器密鑰,向該用戶端發送包括該伺服器密鑰的驗證通過消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099106786A TWI502375B (zh) | 2010-03-09 | 2010-03-09 | Instant messaging method, system and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099106786A TWI502375B (zh) | 2010-03-09 | 2010-03-09 | Instant messaging method, system and device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201131379A TW201131379A (en) | 2011-09-16 |
TWI502375B true TWI502375B (zh) | 2015-10-01 |
Family
ID=50180344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099106786A TWI502375B (zh) | 2010-03-09 | 2010-03-09 | Instant messaging method, system and device |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI502375B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10779132B2 (en) | 2014-12-08 | 2020-09-15 | Nec Corporation | Wireless terminal and method for messaging |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200506646A (en) * | 2003-06-30 | 2005-02-16 | Microsoft Corp | Network load balancing with host status information |
US20050198379A1 (en) * | 2001-06-13 | 2005-09-08 | Citrix Systems, Inc. | Automatically reconnecting a client across reliable and persistent communication sessions |
US7594020B2 (en) * | 2005-05-31 | 2009-09-22 | Microsoft Corporation | Re-establishing a connection for an application layer via a service layer |
TW201010358A (en) * | 2008-08-19 | 2010-03-01 | Arcadyan Technology Corp | Method of automatic reconnecting web interface for customer premises equipment |
-
2010
- 2010-03-09 TW TW099106786A patent/TWI502375B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198379A1 (en) * | 2001-06-13 | 2005-09-08 | Citrix Systems, Inc. | Automatically reconnecting a client across reliable and persistent communication sessions |
TW200506646A (en) * | 2003-06-30 | 2005-02-16 | Microsoft Corp | Network load balancing with host status information |
US7594020B2 (en) * | 2005-05-31 | 2009-09-22 | Microsoft Corporation | Re-establishing a connection for an application layer via a service layer |
TW201010358A (en) * | 2008-08-19 | 2010-03-01 | Arcadyan Technology Corp | Method of automatic reconnecting web interface for customer premises equipment |
Also Published As
Publication number | Publication date |
---|---|
TW201131379A (en) | 2011-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5693576B2 (ja) | インスタントメッセージセッションの管理 | |
KR102039316B1 (ko) | 동적 패스워드들을 사용하는 인증을 위한 방법 및 디바이스 | |
US11140162B2 (en) | Response method and system in virtual network computing authentication, and proxy server | |
WO2017186005A1 (zh) | 一种云桌面认证的方法、服务器及终端 | |
WO2016062002A1 (zh) | 连接管理方法及装置、电子设备 | |
US9148412B2 (en) | Secure configuration of authentication servers | |
CN108156240B (zh) | 一种工业适配器接入服务器的方法及系统 | |
WO2016134657A1 (zh) | 一种推送认证的系统和设备的工作方法 | |
CN108134713B (zh) | 一种通信方法及装置 | |
CN110912689A (zh) | 一种唯一值的生成、验证方法及系统 | |
WO2017080328A1 (zh) | 终端用户状态获取方法、装置和系统 | |
TWI502375B (zh) | Instant messaging method, system and device | |
CN110233825B (zh) | 设备初始方法、物联网设备、系统、平台设备及智能设备 | |
CN111835504B (zh) | 识别码生成方法及服务器 | |
KR101506223B1 (ko) | 가상화 서비스 제공을 위한 비정상적인 접속 차단시 자동 재접속 시스템 | |
CN111541649A (zh) | 一种密码重置方法、装置、服务器及存储介质 | |
TWI661332B (zh) | 遠端授權以登入電腦系統的方法 | |
CN112929388B (zh) | 网络身份跨设备应用快速认证方法和系统、用户代理设备 | |
WO2016026332A1 (zh) | 登录处理方法、装置及系统 | |
JP7018255B2 (ja) | 認証管理装置及びプログラム | |
TWI656781B (zh) | 離線狀態避免二次驗證的系統及其方法 | |
CN112333248B (zh) | 一种登陆失效校验方法及相关装置 | |
US9830207B2 (en) | Message communication system and operation method thereof | |
JP6126062B2 (ja) | ネットワーク装置及びネットワーク装置のmacアドレス認証方法 | |
KR102576794B1 (ko) | 다중 애플리케이션을 위한 통합 인증 서비스 시스템 및 이의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |