一種網絡系統中控制同一帳戶登錄的系統及方法
2023-04-28 00:26:01
專利名稱:一種網絡系統中控制同一帳戶登錄的系統及方法
技術領域:
本發明涉及計算機網絡系統領域,特別涉及一種網絡系統中控制同 一帳戶 登錄的系統和方法。
背景技術:
隨著網際網路技術的日新月異,越來越多的人們通過網絡共享和查詢數據。 為了保證數據的保密和安全,許多界面都必須輸入用戶名和密碼才能打開。但 是,目前缺乏對授權用戶使用的控制,例如對於使用 一帳戶的用戶登陸進行控 制等。這樣,不但影響系統對用戶的計數、記費等功能,還會造成系統信息資 源-陂非法佔用。
現有的控制同帳號用戶登錄,需要注意以下幾個方面(一)用戶登錄信 息的存儲;(二)用戶在線的檢測;(三)對沒有用戶登錄數量的控制。
其中,對於第(一)種情況主要通過以下方法實現(1)用WEB服務端 應用(Application)全局對象存儲用戶登錄信息;(2 )將用戶登錄信息存儲在 資料庫中等。
但是上述方法存在下列不足(a)存儲的單條記錄欄位較多時,處理麻煩, 存儲混亂;(b)難於實現負載均衡的多服務端系統;(c)信息過大會造成內存 不足的異常。
對於第(二)種方法能有效地解決上述問題,但是,對於第(二)種方法 涉及的系統而言,又存在效率較差的問題,特別是頻繁的登錄、檢測、退出時 會大大降低資料庫系統的效率。
目前,在第(二)種方法中,普遍採用的是"心跳"技術;即在"心跳"中 添加服務端對客戶端的反饋消息。
但是,心跳功能的目的是讓服務端感知客戶端的存在,而在正常情況下服 務端反饋給客戶端的消息並非必須,因此,心跳是此類系統中耗費網絡資源最多的部份。
另外,目前的網絡系統中通常是單用戶登錄,而有些應用系統是允許同帳
戶同時多用戶登錄的,例如網絡電視(IPTV)。現在的家庭、合租夥伴等居所 中聯網計算機一般有多臺,他們要欣賞的節目也可能不一樣。如果都申請獨立 的帳戶相對費用較高,尤其對於臨時的合租夥伴,用戶更不願意一種包年的固 定的收費方式。而採取按需發放許可數的方法,或再配合按次收費等措施就可 讓用戶容易接受得多,並且可以進一步增加運營商的利潤、增強運營商的竟爭 力。
為此,需要找到一種新的網絡系統中控制同一帳戶登錄的方法,能夠準確 地控制網絡應用系統同一帳戶的登錄數量,有效地節約網絡資源。
發明內容
本發明的目的在於,提供一種網絡系統中控制同一帳戶登錄的系統,能夠 準確地控制網絡應用系統同一帳戶的登錄數量。
本發明的另 一 目的在於,提供一種網絡系統中控制同 一帳戶登錄的方法。
本發明的網絡系統中控制同一帳戶登錄的系統,包括服務端及客戶端,其 特徵在於,所述服務端,包括檢測模塊和存儲模塊;所述客戶端,包括心跳模 塊,其中,所述檢測模塊,用於檢測當前帳戶的登錄信息是否存在,如果不存 在,或者存在但當前在線數未達到預定的許可數時,允許登錄並通知所述存儲 模塊保存當前用戶登錄信息;如果存在,但已達到預定的許可數時,在當前用 戶踢掉其他用戶後,允許登錄並通知所述存儲模塊保存當前用戶登錄信息;所 述存儲模塊,用於對相應的用戶登錄信息進行存儲;所述心跳模塊,用於在用 戶登錄成功後周期性地向服務端的檢測模塊發送心跳消息。
其中,所述檢測模塊,進一步用於接收客戶端心跳消息,在當前帳戶登錄 信息有效,且客戶端發送的心跳消息達到預定數目後向客戶端反饋一次消息; 在當前帳戶登錄信息無效時,向客戶端反饋帳戶無效的消息。
其中,所述登錄信息有效是指當前用戶正常在線。
其中,所述存儲模塊,為內存單元與外存單元並用,在系統登錄用戶過多, 內存單元容量達到預定值後,多餘的存儲信息由內存單元轉到外存單元。
其中,所述心跳模塊,進一步用於根據服務端中註冊模塊的配置值,在其向服務端發送一定次數的心跳消息後,如果服務端無反饋消息,認為服務端出 現異常。
本發明的網絡系統中控制同一帳戶登錄的系統,進一步包括註冊模塊,用 於預先配置相關的運行參數,以被檢測模塊獲取,並依照上述配置進行相應處 理。
其中,所述註冊模塊中預先配置的相關運行參數,包括帳戶的許可數、 系統可使用的緩存大小、同一帳戶登錄用戶超限後的處理、檢測模塊向客戶端 反饋一次消息所需的客戶端發送的心跳消息的數目。
本發明的網絡系統中控制同一帳戶登錄的方法,其特徵在於,包括下列步
驟
步驟A:在用戶登錄時,服務端檢測是否存有當前登錄用戶的登錄信息; 如果沒有,或者有但當前在線數未達到預定的許可數時,執行步驟B;如果有, 但已達到預定的許可數時,在當前用戶踢掉其他用戶後,執行步驟B; 步驟B:當前用戶登錄,並保存其登錄信息。 其中,在執行所述步驟B之後,進一步包括下列步驟 步驟C:當前登錄用戶的客戶端周期性地向服務端發送心跳消息; 步驟D:所述服務端檢測當前用戶登錄信息是否有效,如果是,檢測其客 戶端發送的心跳消息是否達到預定的數目,如果已達到,則向客戶端反饋一次 消息;在當前帳戶登錄信息無效時,向客戶端反饋帳戶無效的消息。
另外,在執行步驟A之前,可以進一步包括下列步驟在服務端預先配 置下列相關運行參數,包括帳戶的許可數、系統可使用的緩存大小、同一帳 戶登錄用戶超限後的處理、檢測模塊向客戶端反饋一次消息所需的客戶端發送 的心3兆消息的lt目。
本發明的有益效果是依照本發明的網絡系統中控制同一帳戶登錄的系統 及方法,可準確地控制網絡應用系統同一帳戶的登錄數量,大大提高現有應用 系統的性能和應用靈活度,並適用於多伺服器系統;另外,通過在客戶端發送 的心跳消息達到預定數目後,由服務端向客戶端反饋一次消息,能夠有效地節 約網絡資源。
圖1為本發明的網絡系統中控制同一帳戶登錄的系統示意圖; 圖2為本發聽實施例的網絡系統中控制同 一帳戶登錄的方法流程圖。
具體實施例方式
以下,參考附圖1 2詳細描述本發明的網絡系統中控制同 一帳戶登錄的系 糹充及方法。
圖1為本發明的網絡系統中控制同 一帳戶登錄的系統示意圖,如圖1所示, 該系統包括服務端及客戶端。其中,服務端包括,檢測模塊和存儲模塊;客 戶端包括,心跳模塊。
其中,檢測模塊,用於檢測當前帳戶的登錄信息是否存在,如果不存在, 或者存在但當前在線數未達到預定的許可數時,允許登錄並通知存儲模塊保存 當前用戶登錄信息;如果存在,但已達到預定的許可數時,在當前用戶踢掉其 他用戶後,允許登錄並通知存儲模塊保存當前用戶登錄信息。
檢測模塊,進一步用於接收客戶端心跳消息,在當前帳戶登錄信息有效, 且客戶端發送的心跳消息達到預定數目後向客戶端反饋一次消息;在當前帳戶 登錄信息無效時,向客戶端反饋帳戶無效的消息。
其中,登錄信息有效是指當前用戶正常在線。
需要說明的是,檢測模塊,通過在客戶端發送的心跳消息達到預定數目後 向客戶端反饋一次消息,能夠有效地節約網絡資源。
檢測模塊,進一步用於在一定間隔時間沒收到客戶端心跳消息時,清除該
帳戶登錄信息。
存儲模塊,用於對相應的用戶登錄信息進行存儲。
在具體實現時,存儲模塊可以採用內存單元與外存單元並用的方法,即 利用伺服器高速的內存單元,確保了系統的高效性與靈活性;如果系統登錄用 戶過多,內存單元容量達到一定值(該值可才艮據伺服器內存大小預先在註冊才莫 塊中配置),多餘的存儲信息由內存單元轉到外存單元,外存單元一般由磁碟 上的資料庫承擔。這樣能夠解決信息過大內存溢出的問題,即保持了在一定數 據範圍內的最高性能,也能實現電信級^L大用戶量的可用性。另外,如果系統 組網為負載均衡的多服務端系統,各個服務端中的存儲模塊之間要啟動同步機 制,以實現多伺服器數據的一致。客戶端的心跳模塊,用於向服務端報告其"在線"的情況,在用戶登錄成
功後周期性地向服務端的檢測模塊發送心跳消息;並根據服務端中註冊模塊的 配置值,在其向服務端發送一定次數的心跳消息後,如果服務端無反饋消息, 認為服務端出現異常。
心跳模塊,進一步用於在根據服務端的檢測模塊反饋的帳戶無效的消息 時,清除客戶端登錄信息。
註冊模塊,用於預先配置相關的運行參數。例如(1 )帳戶的許可數(即 可讓同一帳戶的多少用戶同時"在線"於系統中;(2)系統可使用的"緩存" 大小;(3)同一帳戶登錄用戶超限後的處理(例如是"踢掉"現有用戶,還是 限制自身登錄);(4)正常情況下,客戶端發送多少次在線消息,伺服器才回 復一次,當然在伺服器檢測到此用戶信息異常時,會立即反饋等。上述這些注 冊信息由檢測模塊獲取,並依照上述配置進行相應處理。
圖2為本發明實施例的網絡系統中控制同 一帳戶登錄的方法流程圖。如圖 2所示,該方法包括下列步驟
步驟100:在用戶登錄時,服務端檢測是否存有當前登錄用戶的登錄信息; 如果沒有,或者有但當前在線數未達到預定的許可數時,執行步驟200;如果 有,但已達到預定的許可數時,在當前用戶踢掉其他用戶後,執行步驟200;
步驟200:當前用戶登錄,並保存其登錄信息。
步驟300:當前登錄用戶的客戶端周期性地向服務端發送心跳消息;
步驟400:服務端檢測當前用戶登錄信息是否有效,如果是,檢測其客戶 端發送的心跳消息是否達到預定的數目,如果已達到,則向客戶端反饋一次消 息;在當前帳戶登錄信息無效時,向客戶端反饋帳戶無效的消息。
其中,在步驟100之前,進一步包括下列步驟在^^務端預先配置下列相 關運行參數,包括帳戶的許可數、系統可使用的緩存大小、同一帳戶登錄用 戶超限後的處理、檢測模塊向客戶端反饋一次消息所需的客戶端發送的心跳消 息的數目等。
在具體實現時,服務端中的檢測模塊從註冊模塊中獲取用戶許可數,如果 在線數達到了許可數,系統給出提示,並讓用戶選擇是自己退出,還是踢掉對 方。如果選擇退出,則登錄流程結束;如果選擇踢掉對方,檢測模塊會發消息給存儲模塊,清除對方登錄信息,對方客戶端通過心跳模塊,收到服務端讓自 己下線的消息,則清除自己客戶端登錄信息(如果所踢對象為多個,系統給出 選項讓用戶決定踢誰)。
需要說明的是,本發明的系統和方法中涉及的服務端和客戶端,可以適合
於桌面客戶端/服務端結構、網頁瀏覽器/服務端結構、以及無線終端/服務端 結構等所有基於客戶端/服務端結構的系統。
綜上所述,依照本發明的網絡系統中控制同一帳戶登錄的系統及方法,可 準確地控制網絡應用系統同 一帳戶的登錄數量,大大提高現有應用系統的性能
和應用靈活度,並適用於多伺服器系統;另外,通過在客戶端發送的心跳消息
達到預定數目後,由服務端向客戶端反饋一次消息,能夠有效地節約網絡資源。 以上是為了使本領域普通技術人員理解本發明,而對本發明所進行的詳細 描述,但可以想到,在不脫離本發明的權利要求所涵蓋的範圍內還可以做出其 它的變化和修改,這些變化和修改均在本發明的保護範圍內。
權利要求
1.一種網絡系統中控制同一帳戶登錄的系統,包括服務端及客戶端,其特徵在於,所述服務端,包括檢測模塊和存儲模塊;所述客戶端,包括心跳模塊,其中,所述檢測模塊,用於檢測當前帳戶的登錄信息是否存在,如果不存在,或者存在但當前在線數未達到預定的許可數時,允許登錄並通知所述存儲模塊保存當前用戶登錄信息;如果存在,但已達到預定的許可數時,在當前用戶踢掉其他用戶後,允許登錄並通知所述存儲模塊保存當前用戶登錄信息;所述存儲模塊,用於對相應的用戶登錄信息進行存儲;所述心跳模塊,用於在用戶登錄成功後周期性地向服務端的檢測模塊發送心跳消息。
2. 如權利要求1所述的網絡系統中控制同一帳戶登錄的系統,其特徵在 於,所述檢測模塊,進一步用於接收客戶端心跳消息,在當前帳戶登錄信息有 效,且客戶端發送的心跳消息達到預定數目後向客戶端反饋一次消息;在當前 帳戶登錄信息無效時,向客戶端反饋帳戶無效的消息。
3. 如權利要求2所述的網絡系統中控制同一帳戶登錄的系統,其特徵在 於,所述登錄信息有效是指當前用戶正常在線。
4. 如權利要求1所述的網絡系統中控制同一帳戶登錄的系統,其特徵在 於,所述存儲模塊,為內存單元與外存單元並用,在系統登錄用戶過多,內存 單元容量達到預定值後,多餘的存儲信息由內存單元轉到外存單元。
5. 如權利要求1所述的網絡系統中控制同一帳戶登錄的系統,其特徵在 於,所述心跳模塊,進一步用於根據服務端中註冊模塊的配置值,在其向服務 端發送一定次數的心跳消息後,如果服務端無反饋消息,認為服務端出現異常。
6. 如權利要求1所述的網絡系統中控制同一帳戶登錄的系統,其特徵在 於,進一步包括註冊模塊,用於預先配置相關的運行參數,以被檢測模塊獲取, 並依照上述配置進行相應處理。
7. 如權利要求6所述的網絡系統中控制同一帳戶登錄的系統,其特徵在 於,所述註冊模塊中預先配置的相關運行參數,包括帳戶的許可數、系統可使用的緩存大小、同一帳戶登錄用戶超限後的處理、檢測模塊向客戶端反饋一 次消息所需的客戶端發送的心跳消息的數目。
8. —種網絡系統中控制同一帳戶登錄的方法,其特徵在於,包括下列步驟步驟A:在用戶登錄時,服務端檢測是否存有當前登錄用戶的登錄信息; 如果沒有,或者有但當前在線數未達到預定的許可數時,執行步驟B;如果有, 但已達到預定的許可數時,在當前用戶踢掉其他用戶後,執行步驟B;步驟B:當前用戶登錄,並保存其登錄信息。
9. 如權利要求8所述的網絡系統中控制同一帳戶登錄的系統,其特徵在 於,在執行所述步驟B之後,進一步包括下列步驟步驟C:當前登錄用戶的客戶端周期性地向服務端發送心跳消息; 步驟D:所述服務端檢測當前用戶登錄信息是否有效,如果是,檢測其客 戶端發送的心跳消息是否達到預定的數目,如果已達到,則向客戶端反饋一次 消息;在當前帳戶登錄信息無效時,向客戶端反饋帳戶無效的消息。
10. 權利要求8所述的網絡系統中控制同一帳戶登錄的系統,其特徵在於, 在執行步驟A之前,進一步包括下列步驟在服務端預先配置下列相關運行 參數,包括帳戶的許可數、系統可使用的緩存大小、同一帳戶登錄用戶超限 後的處理、檢測模塊向客戶端反饋一次消息所需的客戶端發送的心跳消息的數 目。
全文摘要
本發明提供一種網絡系統中控制同一帳戶登錄的系統及方法,其中該方法包括下列步驟步驟A在用戶登錄時,服務端檢測是否存有當前登錄用戶的登錄信息;如果沒有,或者有但當前在線數未達到預定的許可數時,執行步驟B;如果有,但已達到預定的許可數時,在當前用戶踢掉其他用戶後,執行步驟B;步驟B當前用戶登錄,並保存其登錄信息。依照本發明的系統及方法,能夠準確地控制網絡應用系統同一帳戶的登錄數量,有效地節約網絡資源。
文檔編號H04L29/06GK101588344SQ200810097880
公開日2009年11月25日 申請日期2008年5月20日 優先權日2008年5月20日
發明者徐震海, 謝真平 申請人:中興通訊股份有限公司