一種在網路遊戲中用戶登錄的方法及系統的製作方法
2023-06-04 11:49:21
專利名稱:一種在網路遊戲中用戶登錄的方法及系統的製作方法
技術領域:
本發明涉及網絡通信技術領域,尤其涉及一種在網路遊戲中用戶登錄的方法及系統。
背景技術:
在人類社會高度文明發展的今天,隨著人們物質生活水平的提高,人們對精神生活的需求也越來越高。網路遊戲作為滿足人們精神生活需求產業,這一產業是20世紀末期伴隨網際網路發展而出現的新興娛樂產業,它在一定程度上變革了傳統娛樂方式和電腦產業,並逐步成為全球娛樂業主流。
隨著網路遊戲的多樣化發展,越來越多的遊戲愛好者加入網路遊戲,網路遊戲用戶通過伺服器登錄到遊戲中,享受遊戲帶來的娛樂。
現有技術中,用戶登錄網路遊戲的流程為用戶在遊戲客戶端輸入用戶名、密碼,向遊戲伺服器發送登錄請求,遊戲客戶端將用戶名、密碼發送到遊戲伺服器;遊戲伺服器向登錄伺服器發送登錄請求,即將用戶名、密碼發送到登錄伺服器;登錄伺服器根據用戶名在資料庫中檢索該用戶信息,若檢索到,登錄伺服器對檢索得到的用戶信息進行認證,認證通過,反饋給遊戲伺服器認證通過信息,遊戲伺服器再將認證信息反饋給客戶端,用戶可進入遊戲;若檢索不到該用戶信息或對用戶信息認證未通過,則返回提示信息給遊戲伺服器,遊戲伺服器對反饋回的提示信息進行處理;例如若用戶的餘額不足,則遊戲伺服器將此信息反饋給用戶客戶端,告知用戶進行充值。
現有技術的缺點是1、由於現有登錄技術中用戶登錄請求被登錄伺服器接受後,登錄伺服器直接到資料庫中檢索用戶信息,並返回結果,因此隨著用戶數量的激增,資料庫容量的增大,會導致檢索速度越來越慢,影響用戶的登錄。
2、當同一時間大量用戶登錄請求湧入的時候,會造成登錄伺服器負載過大,用戶響應時間加長,導致用戶登錄失敗概率增大,難於登錄;3、由於網絡原因,用戶在登錄遊戲後,經常會發生掉線的情況,這就需要用戶重新進行登錄,反覆向登錄伺服器進行請求,增大登錄伺服器的負載;發明內容本發明的目的是提供一種在網路遊戲中用戶登錄的方法,使用戶能夠快速的登錄到網路遊戲;本發明的另一目的是提供網路遊戲中用戶登錄的系統。
為解決上述技術問題,本發明的目的是通過以下技術方案實現的。
一種在網路遊戲中用戶登錄的方法,包括步驟a發送登錄請求信息;b根據請求信息在預置的緩存模塊中檢索用戶信息,若檢索到,進入步驟d;否則,進入步驟c;c登錄伺服器在資料庫中檢索用戶信息,若檢索到,進入步驟d;否則,反饋錯誤信息給遊戲伺服器;d對檢索到的用戶信息進行認證,若認證通過,則反饋認證通過信息,用戶登錄進入遊戲;否則,反饋錯誤信息給遊戲伺服器。
其中,所述預置的緩存模塊中所保存的用戶的信息包括用戶時間戳信息,依據時間戳信息將用戶信息保存到緩存模塊中活動隊列或不活動隊列或刪除隊列;所述步驟b中檢索用戶信息包括步驟b1在活動隊列中檢索,如果檢索到,則進入步驟d;b2在不活動隊列中檢索,如果檢索到,則進入步驟d;b3在刪除隊列中檢索,如果檢索到,則進入步驟d,如果沒有檢索到,則返回沒有檢索到用戶信息結果。
其中,若在緩存模塊中檢索到用戶信息,則在步驟d之後進一步包括修改緩存模塊中用戶信息的時間戳信息,並將用戶信息放置活動隊列中。
其中,若在登錄伺服器中檢索到用戶信息,則在步驟d之後進一步包括將用戶信息保存到緩存模塊中,同時在緩存模塊中為用戶設置一個時間戳信息。
其中,在緩存模塊中使用B樹結構保存用戶信息。
其中,步驟a與步驟b之間進一步包括遊戲客戶端將登錄請求信息發送到遊戲伺服器,遊戲伺服器再將用戶登錄請求信息發送到緩存模塊。
其中,所述緩存模塊為獨立於登錄伺服器的緩存伺服器或隸屬於登錄伺服器。
其中,進一步由所述緩存伺服器構成伺服器集群。
一種在網路遊戲中用戶登錄的系統,該系統包括用戶客戶端、遊戲伺服器、緩存模塊、登錄伺服器;用戶客戶端,用於在用戶登錄時將用戶名、密碼發送到遊戲伺服器;遊戲伺服器,用於將用戶請求信息發送到緩存模塊;緩存模塊,用於保存用戶信息,在用戶登錄時,檢索緩存模塊中是否有用戶信息,如果沒有,則將用戶請求信息轉發給登錄伺服器;如果有,則對用戶信息進行檢索認證。
登錄伺服器,用於在緩存模塊中未檢索到用戶信息時,有登錄伺服器再到資料庫中檢索用戶信息,對檢索到的用戶信息,則對用戶信息進行檢索認證同時將用戶信息返回給緩存模塊,由緩存模塊保存用戶信息;如果沒有,則返回錯誤信息給遊戲伺服器。
其中,所述緩存模塊進一步包括信息緩存模塊、緩存決策模塊、網絡傳輸模塊、用戶請求模塊、內存管理模塊;信息緩存模塊分為活動隊列、不活動隊列、刪除隊列,用於保存用戶信息;緩存決策模塊,用於定時管理信息緩存模塊中的用戶信息,依據用戶信息中時間戳信息將用戶信息保存到相應隊列中;網絡傳輸模塊,用於將數據傳輸到在各伺服器;用戶請求模塊,用於在信息緩存模塊中未檢索到用戶信息時將用戶登錄的請求發送到登錄伺服器;內存管理模塊,用於對緩存模塊的內存進行管理。負責內存回收,分配,防止頻繁分配內存造成內存碎片,並加快分配速度。
其中,所述緩存模塊為獨立於登錄伺服器的緩存伺服器或隸屬於登錄伺服器。
其中,進一步由所述緩存伺服器構成伺服器集群。
以上技術方案可以看出,本發明具有如下有益效果首先,在本發明中,增加一個緩存模塊,根據用戶登錄的時間戳信息,將用戶信息分別保存在活動隊列或非活動隊列或刪除隊列中。在檢索用戶信息時,縮小了檢索範圍,從而提高了檢索速度,加快用戶登錄,減小用戶登錄失敗的概率。
進一步,緩存模塊保存用戶信息,採用B樹結構進行保存,提高檢索速度。
進一步,緩存決策模塊對緩存模塊中保存的用戶信息,進行定時管理,保證緩存模塊三級隊列中的用戶信息最優化。
另外,本發明在網絡斷線的情況下,不需要用戶反覆向登錄伺服器進行登錄,進而減輕登錄伺服器的負載。
圖1為本發明用戶登錄流程圖;圖2為本發明中B樹結構圖;圖3為本發明系統結構圖。
具體實施例方式
本發明的核心在於在現有的登錄系統模式下,增加一個緩存模塊,該模塊可以隸屬於登錄伺服器,也可獨立於登錄伺服器另外設置伺服器,按用戶登錄的頻率,將經常登錄的用戶信息保存於緩存模塊當中,在用戶登錄時,首先檢索緩存中的信息,若未找到,再到資料庫中進行檢索;由於緩存中只保存了部分用戶的用戶信息,並且對緩存的檢索速度遠遠高於對資料庫的檢索速度,從而加快用戶登錄的響應速度。
本發明實施例中,緩存模塊是獨立於登錄伺服器另外設置的緩存伺服器。
為便於對本發明進一步理解,現結合附圖對本發明進行詳細描述。
請參閱圖1所示為本發明用戶登錄流程圖,具體包括步驟101用戶在遊戲客戶端輸入用戶名、密碼,向遊戲伺服器發送登錄請求,遊戲客戶端將用戶名、密碼發送到遊戲伺服器;步驟102遊戲伺服器收到用戶請求消息後再將用戶請求消息發送到緩存伺服器;其中,緩存伺服器系統結構包括信息緩存模塊、緩存決策模塊、網絡傳輸模塊、用戶請求模塊、內存管理模塊。
其中,信息緩存模塊分為3級隊列即活動隊列,不活動隊列,刪除隊列,將剛被保存到信息緩存模塊的用戶信息的時候進入活動隊列,如果超出一定時間該用戶沒有再次登陸,進入不活動隊列,如果在進入不活動隊列一段時間後,依然沒有登陸,那麼緩存決策模塊會將該信息丟入刪除隊列,由內存管理模塊負責回收內存等資源。
步驟103緩存伺服器在信息緩存模塊中檢索該用戶信息;其中檢索用戶信息包括,首先會活動隊列中進行檢索,若檢索到,進行用戶信息的認證,並修改當前用戶信息的時間戳為當前時間,如果沒有檢索到,則到不活動隊列中進行檢索;在不活動隊列中若檢索到用戶信息,進行用戶信息的認證,將用戶信息轉移到活動隊列中,修改當前用戶信息的時間戳為當前時間,如果沒有檢索到,則到刪除隊列中進行檢索;在刪除隊列中若檢索到用戶信息,進行用戶信息的認證,將用戶信息轉移到活動隊列中,修改當前用戶信息的時間戳為當前時間,如果沒有檢索到,則發送用戶登錄請求到用戶請求模塊。
所述緩存伺服器在信息緩存模塊中檢索用戶信息並不局限於上述檢索流程,也可以由其它檢索流程來實現。
步驟104緩存伺服器判斷是否檢索到該用戶信息,如果是,則進入步驟105;否則,進入步驟108;步驟105對檢索到的用戶信息進行認證;其中,認證的過程包括判斷該用戶密碼是否正確,餘額是否充足,是否被鎖定,是否是非法IP等的判斷。
步驟106判斷用戶信息認證是否通過,如果是,則進入步驟107;否則,反饋提示信息給遊戲伺服器,遊戲伺服器對反饋回的提示信息進行處理,例如若用戶的餘額不足,則遊戲伺服器將此信息反饋給用戶客戶端,告知用戶進行充值,結束;步驟107用戶信息認證通過,反饋給遊戲伺服器認證通過信息,遊戲伺服器再將通過認證信息反饋給客戶端,用戶可進行遊戲,同時修改緩存伺服器中該用戶信息的時間戳信息,並按預置策略,將用戶信息放置相應的隊列中,結束;步驟108對未檢索到的用戶信息,將用戶的登錄請求放入用戶請求模塊,用戶請求模塊再向登錄伺服器轉發登錄請求;步驟109登錄伺服器接收到緩存伺服器發送的用戶請求後,在資料庫中檢索用戶信息,若檢索到,則進行步驟110;否則,返回提示信息給遊戲伺服器,遊戲伺服器對反饋回的提示信息進行處理,例如用戶密碼錯誤,請重新輸入或則用戶餘額不足,請充值;
其中,資料庫中保存的用戶信息如下表所示表1
步驟110對檢索到的用戶信息進行認證;其中,認證的過程包括判斷該用戶密碼是否正確,餘額是否充足,是否被鎖定,是否是非法IP等的判斷。
步驟111判斷用戶信息認證是否通過,如果是,則進入步驟112;否則,反饋提示信息給遊戲伺服器,遊戲伺服器對反饋回的提示信息進行處理,例如若用戶的餘額不足,則遊戲伺服器將此信息反饋給用戶客戶端,告知用戶進行充值,結束;步驟112用戶信息認證通過,反饋給遊戲伺服器認證通過信息,遊戲伺服器再將通過認證信息反饋給客戶端,用戶可進行遊戲,並將用戶信息返回給緩存伺服器,緩存伺服器中的緩存決策模塊將用戶信息保存在信息緩存模塊中,同時為用戶設置一個時間戳,本實施例中,時間戳的信息為用戶登錄的時間信息。
其中,信息緩存模塊使用B樹結構,保存用戶信息,用於加快內存檢索速度,例如按用戶名的字母順序建立的B樹結構,參見圖2所示,第一層節點包括a到z,第二層節點中的每個節點又包括a到z,依次類推,每個節點存儲一個指針,指向用戶信息的保存地址。例如有個用戶名為abc,那麼就在B樹結構中,先建立a節點,在a節點下建立b節點,在b節點下,建立c節點,c節點中設置一個指針,指向用戶信息的存儲地址。
其中,緩存決策模塊還要和登錄伺服器維持一條長連接,以進行緩存無效化操作。即當用戶從修改用戶密碼的時候,若該用戶的信息保存在信息緩存模塊中,則登錄伺服器會通知緩存伺服器,由緩存決策模塊直接將該緩存信息丟入刪除隊列,並將用戶新的信息從登錄伺服器取出,保存在信息緩存模塊中或者也可以直接將緩存模塊中的用戶信息進行修改。
進一步,為了提高用戶登錄速度,也可採取緩存伺服器的集群策略,具體如下可由多臺相同功能的緩存伺服器組成伺服器集群,比如10臺緩存伺服器組成集群,每個緩存伺服器都有唯一的IP位址,在實際應用時,將登錄請求發送到集群,由域名伺服器(DNS)隨機選擇一個IP,將登錄請求發送到相應IP的緩存伺服器中,這樣可以達到較好的負載均衡,並且如果其中一臺緩存伺服器崩潰,登錄將不受影響。
相應的,本發明還提供了一種在網路遊戲中用戶登錄的系統,請參閱圖3所示系統包括用戶客戶端301、遊戲伺服器302、緩存模塊303、登錄伺服器304;用戶客戶端301,用於在用戶登錄時將用戶名、密碼發送到遊戲伺服器302;遊戲伺服器302,用於將用戶請求信息發送到緩存模塊303;緩存模塊303,用於保存用戶信息,在用戶登錄時,檢索緩存模塊303中是否有用戶信息,如果沒有,則將用戶請求信息轉發給登錄伺服器304;如果有,則對用戶信息進行檢索認證。
登錄伺服器304,用於在緩存模塊303中未檢索到用戶信息時,有登錄伺服器304再到資料庫中檢索用戶信息,對檢索到的用戶信息,則對用戶信息進行檢索認證同時將用戶信息返回給緩存模塊303,由緩存模塊303保存用戶信息;如果沒有,則返回錯誤信息給遊戲伺服器302。
進一步的,所述緩存模塊303包括信息緩存模塊3031、緩存決策模塊3032、網絡傳輸模塊3033、用戶請求模塊3034、內存管理模塊3035;信息緩存模塊3031分為活動隊列、不活動隊列、刪除隊列,用於保存用戶信息;緩存決策模塊3032,用於定時管理信息緩存模1中的用戶信息,依據用戶信息中時間戳信息將用戶信息保存到相應隊列中;網絡傳輸模塊3033,用於將數據傳輸到在各伺服器;用戶請求模塊3034,用於在信息緩存模塊3034中未檢索到用戶信息時將用戶登錄的請求發送到登錄伺服器304;內存管理模塊3035,用於對緩存模塊303的內存進行管理。負責內存回收,分配,防止頻繁分配內存造成內存碎片,並加快分配速度。
進一步的,緩存模塊可以獨立於登錄伺服器的緩存伺服器或隸屬於登錄伺服器。並且所述緩存伺服器也可採取由多臺相同功能的緩存伺服器組成伺服器集群,通過DNS隨機選擇IP進行負載均衡,從而達到較好的負載均衡,並且如果其中一臺緩存伺服器崩潰,登錄將不受影響。
以上對本發明所提供的一種在網路遊戲中用戶登錄的方法及系統進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種在網路遊戲中用戶登錄的方法,其特徵在於,包括步驟a發送登錄請求信息;b根據請求信息在預置的緩存模塊中檢索用戶信息,若檢索到,進入步驟d;否則,進入步驟c;c登錄伺服器在資料庫中檢索用戶信息,若檢索到,進入步驟d;否則,反饋提示信息給遊戲伺服器;d對檢索到的用戶信息進行認證,若認證通過,則反饋認證通過信息,用戶登錄進入遊戲;否則,反饋提示信息給遊戲伺服器。
2.如權利要求1所述在網路遊戲中用戶登錄的方法,其特徵在於,所述預置的緩存模塊中所保存的用戶的信息包括用戶時間戳信息,依據時間戳信息將用戶信息保存到緩存模塊中活動隊列或不活動隊列或刪除隊列;所述步驟b中檢索用戶信息包括步驟b1在活動隊列中檢索,如果檢索到,則進入步驟d;b2在不活動隊列中檢索,如果檢索到,則進入步驟d;b3在刪除隊列中檢索,如果檢索到,則進入步驟d,如果沒有檢索到,則返回沒有檢索到用戶信息結果。
3.如權利要求2所述在網路遊戲中用戶登錄的方法,其特徵在於,若在緩存模塊中檢索到用戶信息,則在步驟d之後進一步包括修改緩存模塊中用戶信息的時間戳信息,並將用戶信息放置相應隊列中。
4.如權利要求2中所述在網路遊戲中用戶登錄的方法,其特徵在於,若在登錄伺服器中檢索到用戶信息,則在步驟d之後進一步包括在緩存模塊保存檢索到的用戶信息,同時在緩存模塊中為用戶設置一個時間戳信息。
5.如權利要求4中所述在網路遊戲中用戶登錄的方法,其特徵在於,在緩存模塊中使用B樹結構保存用戶信息。
6.如權利要求1所述在網路遊戲中用戶登錄的方法,其特徵在於,步驟a與步驟b之間進一步包括遊戲客戶端將登錄請求信息發送到遊戲伺服器,遊戲伺服器再將登錄請求信息發送到緩存模塊。
7.如權利要求1所述在網路遊戲中用戶登錄的方法,其特徵在於,所述緩存模塊為獨立於登錄伺服器的緩存伺服器或隸屬於登錄伺服器。
8.如權利要求7所述在網路遊戲中用戶登錄的方法,其特徵在於,進一步由所述緩存伺服器構成伺服器集群。
9.一種在網路遊戲中用戶登錄的系統,其特徵在於,該系統包括用戶客戶端、遊戲伺服器、緩存模塊、登錄伺服器;用戶客戶端,用於在用戶登錄時將用戶名、密碼發送到遊戲伺服器;遊戲伺服器,用於將用戶請求信息發送到緩存模塊;緩存模塊,用於保存用戶信息,在用戶登錄時,檢索緩存模塊中是否有用戶信息,如果沒有,則將用戶請求信息轉發給登錄伺服器;如果有,則對用戶信息進行檢索認證。登錄伺服器,用於在緩存模塊中未檢索到用戶信息時,有登錄伺服器再到資料庫中檢索用戶信息,對檢索到的用戶信息,則對用戶信息進行檢索認證同時將用戶信息返回給緩存模塊,由緩存模塊保存用戶信息;如果沒有,則返回錯誤信息給遊戲伺服器。
10.如權利要求9所述在網路遊戲中用戶登錄的系統,其特徵在於,所述緩存模塊進一步包括信息緩存模塊、緩存決策模塊、網絡傳輸模塊、用戶請求模塊、內存管理模塊;信息緩存模塊分為活動隊列、不活動隊列、刪除隊列,用於保存用戶信息;緩存決策模塊,用於定時管理信息緩存模塊中的用戶信息,依據用戶信息中時間戳信息將用戶信息保存到相應隊列中;網絡傳輸模塊,用於將數據傳輸到在各伺服器;用戶請求模塊,用於在信息緩存模塊中未檢索到用戶信息時將用戶登錄的請求發送到登錄伺服器;內存管理模塊,用於對緩存模塊的內存進行管理。負責內存回收,分配,防止頻繁分配內存造成內存碎片,並加快分配速度。
11.如權利要求9或10所述在網路遊戲中用戶登錄的系統,其特徵在於,所述緩存模塊為獨立於登錄伺服器的緩存伺服器或隸屬於登錄伺服器。
12.如權利要求11所述在網路遊戲中用戶登錄的系統,其特徵在於,進一步由所述緩存伺服器構成伺服器集群。
全文摘要
本發明公開了一種在網路遊戲中用戶登錄的方法及系統。所述方法包括步驟a.發送登錄請求信息;b.根據請求信息在預置的緩存模塊中檢索用戶信息,若檢索到,進入步驟d;否則,進入步驟c;c.登錄伺服器在資料庫中檢索用戶信息,若檢索到,進入步驟d;否則,反饋提示信息給遊戲伺服器;d.對檢索到的用戶信息進行認證,若認證通過,則反饋認證通過信息,用戶登錄進入遊戲;否則,反饋提示信息給遊戲伺服器。所述系統包括用戶客戶端、遊戲伺服器、緩存伺服器、登錄伺服器。其中,緩存伺服器進一步包括信息緩存模塊、緩存決策模塊、網絡傳輸模塊、用戶請求模塊、內存管理模塊。
文檔編號H04L29/06GK1866895SQ200610087020
公開日2006年11月22日 申請日期2006年6月12日 優先權日2006年6月12日
發明者左力志 申請人:北京金山數字娛樂科技有限公司