[發明專利]一種內存中用戶熱點數據管理的方法及其系統在審
| 申請號: | 202211294605.7 | 申請日: | 2022-10-21 |
| 公開(公告)號: | CN115563174A | 公開(公告)日: | 2023-01-03 |
| 發明(設計)人: | 劉德建;葉偉;李佳 | 申請(專利權)人: | 福建天晴數碼有限公司 |
| 主分類號: | G06F16/2457 | 分類號: | G06F16/2457;G06F16/22;G06F16/215 |
| 代理公司: | 福州旭辰知識產權代理事務所(普通合伙) 35233 | 代理人: | 盧麗花 |
| 地址: | 350000 福建省福州市君竹路83*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 用戶 熱點 數據管理 方法 及其 系統 | ||
1.一種內存中用戶熱點數據管理的方法,其特征在于:所述方法包括如下步驟:
步驟S1、定義用戶鏈表結構,把用戶鏈表分為3段,分別是1代用戶鏈表,2代用戶鏈表,3代用戶鏈表,3段鏈表從右往左依次相連,并且用字典存儲用戶編號和用戶鏈表數據指針;
步驟S2、用戶登錄時,從內存的用戶字典中查找用戶,如果存在,則返回用戶數據,并進入步驟S3;如果不存在,則從數據庫中查找用戶,接著把此用戶加入1代用戶鏈表的頭部,并記錄為1代用戶鏈表鏈頭的節點指針;
步驟S3、用戶進入游戲時,從內存的用戶字典中查找用戶,把用戶加入2代用戶鏈表的頭部,并從1代用戶鏈表里刪除,記錄為2代用戶鏈表鏈頭的節點指針;
步驟S4、用戶進入活動后,從內存的用戶字典中查找用戶,把用戶加入3代用戶鏈表的頭部,并從2代用戶鏈表里刪除,記錄為3代用戶鏈表鏈頭的節點指針;
步驟S5、需要讀取用戶數據時,從內存的用戶字典中查找用戶指針,通過指針讀取到用戶鏈表中用戶數據,如果存在則返回用戶數據,如果不存在則從數據庫讀取后插入到1代用戶鏈表的頭部,并存儲指針到用戶字典中。
2.根據權利要求1所述的一種內存中用戶熱點數據管理的方法,其特征在于:所述用戶鏈表結構如下{uid,pre,next,userinfo,group},其中,uid:用戶編號;pre:上一個用戶數據的指針;next:下一個用戶數據的指針;userinfo:具體的用戶信息;group:數據分代類型,group值為1、2、3,表示代數;所有的用戶數據通過pre和next上下指針相連,形成一個用戶鏈表,用戶鏈表跟內存緩存一樣,存儲著用戶數據。
3.根據權利要求2所述的一種內存中用戶熱點數據管理的方法,其特征在于:所述用戶字典存儲用戶編號和用戶鏈表數據指針,定義為:map[int]*user,int類型的關鍵字key是用戶編號,值*user類型是用戶指針,指向具體的用戶鏈表數據,這樣通過用戶uid能最快速的得到數據在鏈表中的位置。
4.根據權利要求1所述的一種內存中用戶熱點數據管理的方法,其特征在于:用戶鏈表存儲數據時,如果用戶鏈表總長度大于預設長度值,則從用戶鏈表的鏈尾開始,從1代用戶鏈表開始向3代用戶鏈表移動,移除設定數量的用戶數據。
5.根據權利要求4所述的一種內存中用戶熱點數據管理的方法,其特征在于:所述步驟S5進一步具體為:讀取用戶數據時,優先從用戶字典map中查找數據,如果存在則返回用戶數據,如果不存在則從數據庫讀取用戶數據后插入到1代用戶鏈表的頭部,并存儲指針到用戶字典map中,其中預設長度值是10000,即默認只存儲10000個活躍用戶在內存中的數據,如果用戶鏈表總長度大于10000,則從鏈表尾部開始,通過用戶鏈表結構的pre逐一向左進行前進,移除尾部開始的最后100個用戶元素,這樣代數越高、位置越靠左的用戶更容易被保存在內存數據中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建天晴數碼有限公司,未經福建天晴數碼有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211294605.7/1.html,轉載請聲明來源鉆瓜專利網。





