欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數據管理方法和系統(tǒng)的制作方法

文檔序號:6502940閱讀:178來源:國知局
一種數據管理方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例公開了一種數據管理方法和系統(tǒng),以解決無法對客戶端平臺的離線用戶數據進行管理的問題。所述方法包括提前加載滿足存儲條件的離線用戶數據至固定容量的內存池中;在服務器應用運行過程中接收在線用戶對離線用戶數據的管理申請;驗證在線用戶和管理申請是否均具有管理權限;當在線用戶和管理申請均具有管理權限時,查詢內存池中是否存在與管理申請對應的離線用戶數據;當存在時,發(fā)送與管理申請對應的離線用戶數據至在線用戶終端,并保留與管理申請對應的離線用戶數據在內存池中。提前加載高頻訪問的離線用戶數據,對低頻訪問的離線用戶數據在存儲后進行釋放,高頻訪問的離線用戶數據保留在內存池中,減少了數據庫端的存儲壓力。
【專利說明】一種數據管理方法和系統(tǒng)

【技術領域】
[0001]本發(fā)明實施例涉及計算機【技術領域】,特別是涉及一種數據管理方法和系統(tǒng)。

【背景技術】
[0002]存儲在數據庫中的數據,可以包括在線用戶數據和離線用戶數據。在線用戶為與服務器處于連接狀態(tài)的用戶,離線用戶為與服務器處于斷開狀態(tài)的用戶。
[0003]當用戶在線時,在線用戶的數據會被服務器從數據庫中暫時調取出來,并暫存在運行中的服務器中。由服務器對在線用戶數據進行實時修改,并在特定時間回寫到數據庫中。
[0004]當用戶離線時,離線用戶的數據會從運行中的服務器中被移除。此時運行中的服務器將無法獲取離線用戶的任何信息。
[0005]在線用戶管理存儲在數據庫中的離線用戶數據的方法為:在線用戶直連數據庫,在數據庫中對離線用戶數據進行讀取、修改、刪除等操作后保存離線用戶數據在數據庫中。
[0006]以游戲為例,目前主要有客戶端平臺游戲和網頁平臺游戲兩種,在網頁平臺游戲中,在線用戶可以通過上述方法管理離線用戶數據,但是由于客戶端平臺游戲的用戶數據交互性更強,用戶的數據量更大,存儲在數據庫中的離線用戶數據也更大,從數據庫中訪問離線用戶數據需要很高性能的服務器和數據庫,傳輸大容量的離線用戶數據還需要更高的網絡帶寬;而且客戶端平臺的離線用戶數據的數據信息、屬性更加豐富,不同的離線用戶數據之間還可能存在各種關聯關系,所以對客戶端平臺游戲的離線用戶的數據管理復雜性更高,目前還不存在針對客戶端平臺游戲的離線用戶數據管理方法。


【發(fā)明內容】

[0007]本發(fā)明實施例公開一種數據管理方法和系統(tǒng),以解決無法對客戶端平臺的離線用戶數據進行管理的問題。
[0008]為了解決上述問題,本發(fā)明實施例公開了一種數據管理方法,包括:
[0009]在服務器應用啟動時,提前加載滿足存儲條件的離線用戶數據至已創(chuàng)建的固定容量的內存池中;
[0010]在服務器應用運行過程中,接收在線用戶對離線用戶數據的管理申請,所述管理申請與離線用戶數據具有映射關系;
[0011]驗證所述在線用戶和所述管理申請是否均具有對離線用戶數據進行管理的權限;
[0012]當所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限時,查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據;
[0013]當所述內存池中存在與所述管理申請對應的離線用戶數據時,發(fā)送與所述管理申請對應的離線用戶數據至在線用戶終端,并保留與所述管理申請對應的離線用戶數據在所述內存池中。
[0014]優(yōu)選的,所述查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據之后,所述方法還包括:
[0015]當所述內存池中不存在與所述管理申請對應的離線用戶數據時,從數據庫中讀取出與所述管理申請對應的離線用戶數據,并存儲到所述內存池中。
[0016]優(yōu)選的,所述驗證所述在線用戶和所述管理申請是否均具有對離線用戶數據進行管理的權限,包括:
[0017]判斷所述在線用戶是否屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶;
[0018]當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,判斷所述管理申請是否符合與所述管理申請對應的離線用戶數據的管理條件,所述管理條件包括離線用戶數據中的各項數據是否允許被讀取、修改和刪除;
[0019]當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶,且所述管理申請符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限;
[0020]當所述在線用戶不屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,確定所述在線用戶不具有對離線用戶數據進行管理的權限;當所述管理申請不符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述管理申請均不具有對離線用戶數據進行管理的權限。
[0021]優(yōu)選的:所述存儲條件為離線用戶數據的訪問頻率大于等于預定閾值。
[0022]優(yōu)選的,所述方法還包括:
[0023]依次查詢所述內存池中的離線用戶數據;
[0024]如果所述內存池中的離線用戶數據在第一預置時間段內未被訪問,將在所述第一預置時間段內未被訪問的離線用戶數據存儲至數據庫中,并在所述內存池中刪除;
[0025]如果所述內存池中的離線用戶數據在第二預置時間段內被訪問過,保留在所述第二預置時間段內被訪問過的離線用戶數據至所述內存池中。
[0026]本發(fā)明實施例還公開了一種數據管理系統(tǒng),包括:
[0027]加載模塊,用于在服務器應用啟動時,提前加載滿足存儲條件的離線用戶數據至已創(chuàng)建的固定容量的內存池中;
[0028]接收模塊,用于在服務器應用運行過程中,接收在線用戶對離線用戶數據的管理申請,所述管理申請與離線用戶數據具有映射關系;
[0029]驗證模塊,用于驗證所述在線用戶和所述管理申請是否均具有對離線用戶數據進行管理的權限;
[0030]查詢模塊,用于當所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限時,查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據;
[0031]發(fā)送保留模塊,用于當所述內存池中存在與所述管理申請對應的離線用戶數據時,發(fā)送與所述管理申請對應的離線用戶數據至在線用戶終端,并保留與所述管理申請對應的離線用戶數據在所述內存池中。
[0032]優(yōu)選的,所述系統(tǒng)還包括:
[0033]讀取存儲模塊,用于在所述查詢模塊查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據之后,當所述內存池中不存在與所述管理申請對應的離線用戶數據時,從數據庫中讀取出與所述管理申請對應的離線用戶數據,并存儲到所述內存池中。
[0034]優(yōu)選的,所述驗證模塊,包括:
[0035]在線用戶判斷子模塊,用于判斷所述在線用戶是否屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶;
[0036]管理申請判斷子模塊,用于當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,判斷所述管理申請是否符合與所述管理申請對應的離線用戶數據的管理條件,所述管理條件包括離線用戶數據中的各項數據是否允許被讀取、修改和刪除;
[0037]確定子模塊,用于當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶,且所述管理申請符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限;當所述在線用戶不屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,確定所述在線用戶不具有對離線用戶數據進行管理的權限;當所述管理申請不符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述管理申請均不具有對離線用戶數據進行管理的權限。
[0038]優(yōu)選的:所述存儲條件為離線用戶數據的訪問頻率大于等于預定閾值。
[0039]優(yōu)選的,所述系統(tǒng)還包括:
[0040]查詢管理模塊,用于依次查詢所述內存池中的離線用戶數據;如果所述內存池中的離線用戶數據在第一預置時間段內未被訪問,將在所述第一預置時間段內未被訪問的離線用戶數據存儲至數據庫中,并在所述內存池中刪除;如果所述內存池中的離線用戶數據在第二預置時間段內被訪問過,保留在所述第二預置時間段內被訪問過的離線用戶數據至所述內存池中。
[0041]與【背景技術】相比,本發(fā)明實施例包括以下優(yōu)點:
[0042]本發(fā)明實施例公開的一種數據管理方法和系統(tǒng),在客戶端平臺的服務器中創(chuàng)建固定容量的內存池,在服務器應用每次啟動時,提前加載高頻訪問的離線用戶數據至內存池中。在服務器應用運行過程中,當接收到在線用戶對離線用戶數據的管理申請時,在內存池中查詢是否存在欲管理的離線用戶數據,如果存在,將欲管理的離線用戶數據(高頻訪問的離線用戶數據)發(fā)送至在線用戶終端,并保留欲管理的離線用戶數據(高頻訪問的離線用戶數據)在內存池中;如果不存在,從數據庫中讀取出欲管理的離線用戶數據(低頻訪問的離線用戶數據),加載到內存池中,再從內存池中發(fā)送欲管理的離線用戶數據(低頻訪問的離線用戶數據)至在線用戶終端,將管理后的離線用戶數據(低頻訪問的離線用戶數據)存儲到數據庫中,并在內存池中刪除該離線用戶數據。提前將高頻訪問的離線用戶數據加載和緩存在內存池中,對內存池中低頻訪問的離線用戶數據在存儲至數據庫后從內存池中釋放,高頻訪問的離線用戶數據保留在內存池中,只將低頻訪問的離線用戶數據保存到數據庫中,減少了數據庫端的存儲壓力。
[0043]而且,使用固定容量的內存池加載和緩存離線用戶數據,內存池的容量固定,對其中的離線用戶數據進行清除和將離線用戶數據加載和緩存到內存池中,產生的內存碎片較少。如果利用動態(tài)容量的內存池加載和緩存離線用戶數據,加載和緩存的離線用戶數據越多,內存池的容量會越大,相對較大容量的內存池就會產生較多的內存碎片。
[0044]使用固定容量的內存池加載和緩存離線用戶數據,服務器端剩余內存的容量也固定,不會因為加載和緩存離線用戶數據的內存池越來越大,造成服務器端剩余內存減小的情況,保證了服務器端用于應用運行的內存容量。
[0045]因為產生的內存碎片較少,降低了服務器的運行風險(內存碎片越多,服務器異常巖機風險越高)。
[0046]同時,動態(tài)調節(jié)內存池中的離線用戶數據,當高頻訪問離線用戶數據變?yōu)榈皖l訪問離線用戶數據時,可以及時對這些離線用戶數據進行清理,提高了內存池的使用率。
[0047]進一步地,由于內存池中緩存離線用戶數據,當服務器與數據庫的連接斷開時,離線用戶數據可以安全存放在內存池中,當連接重新建立后,離線用戶數據可以繼續(xù)存入數據庫中,降低了離線用戶數據丟失的風險。

【專利附圖】

【附圖說明】
[0048]圖1是本發(fā)明實施例中一種數據管理方法流程圖;
[0049]圖2是本發(fā)明實施例中一種數據管理方法示意圖;
[0050]圖3是本發(fā)明實施例中一種離線玩家數據清理示意圖;
[0051]圖4是本發(fā)明實施例中客戶端游戲和網頁游戲結合的整體結構圖;
[0052]圖5是本發(fā)明實施例中一種數據管理系統(tǒng)結構圖;
[0053]圖6是本發(fā)明實施例中客戶端游戲中管理離線用戶數據的結構示意圖。

【具體實施方式】
[0054]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發(fā)明作進一步詳細的說明。
[0055]實施例一
[0056]詳細介紹本發(fā)明實施例公開的一種數據管理方法。
[0057]參照圖1,示出了本發(fā)明實施例中一種數據管理方法流程圖。
[0058]步驟100,在服務器應用啟動時,提前加載滿足存儲條件的離線用戶數據至已創(chuàng)建的固定容量的內存池中。
[0059]所述服務器可以指用于運行應用的服務器。
[0060]所述存儲條件可以為離線用戶數據的訪問頻率大于等于預定閾值。
[0061]例如:某離線用戶數據在一個月(按30天計算)的時間內,被訪問的次數為60次,則該離線用戶數據的訪問頻率為2次/天。如果預定閾值為I次/天,那么該離線用戶數據滿足存儲條件。
[0062]所述固定容量的內存池可以為服務器內存的一部分,所述內存池用于存儲離線用戶數據,所述內存池可以不用于參與服務器的應用運行。
[0063]步驟102,在服務器應用運行過程中,接收在線用戶對離線用戶數據的管理申請。
[0064]所述管理申請與離線用戶數據具有映射關系。
[0065]例如,某在線用戶提出離線用戶數據的管理申請,所述管理申請可以對某離線用戶數據進行訪問、修改或者刪除等。
[0066]步驟104,驗證所述在線用戶和所述管理申請是否均具有對離線用戶數據進行管理的權限。
[0067]所述步驟104可以包括兩步驗證操作,一步是驗證在線用戶是否具有對某離線用戶數據的管理權限,該離線用戶數據即管理申請對應的離線用戶數據;另一步是驗證管理申請是否滿足其對應的離線用戶數據的管理條件。
[0068]優(yōu)選的,所述步驟104可以包括:
[0069]子步驟1041,判斷所述在線用戶是否屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶。
[0070]例如,具有管理離線用戶數據Dl的權限的在線用戶包括A、B和C,如果在線用戶A提出對離線用戶數據Dl的管理申請,則在線用戶A屬于具有管理離線用戶數據Dl的權限的在線用戶;如果在線用戶D提出對離線用戶數據Dl的管理申請,則在線用戶D不屬于具有管理離線用戶數據Dl的權限的在線用戶。
[0071]子步驟1042,當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,判斷所述管理申請是否符合與所述管理申請對應的離線用戶數據的管理條件。
[0072]所述管理條件可以包括離線用戶數據中的各項數據是否允許被讀取、修改和刪除。
[0073]例如,離線用戶數據Dl的管理條件是允許被讀取、不允許被修改和刪除。當在線用戶A屬于具有管理離線用戶數據Dl的權限的在線用戶時,如果在線用戶A提出的管理申請是修改離線用戶數據D1,則在線用戶A提出的管理申請不符合離線用戶數據Dl的管理條件;如果在線用戶A提出的管理申請是讀取離線用戶數據D1,則在線用戶A提出的管理申請符合離線用戶數據Dl的管理條件。
[0074]當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶,且所述管理申請符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限。
[0075]當所述在線用戶不屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,確定所述在線用戶不具有對離線用戶數據進行管理的權限;當所述管理申請不符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述管理申請均不具有對離線用戶數據進行管理的權限。
[0076]步驟106,當所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限時,查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據。
[0077]例如,當在線用戶A和在線用戶A提出的管理申請均具有對離線用戶數據Dl的管理權限時,查詢離線用戶數據Dl是否存在于內存池中。并且在線用戶A提出的管理申請是對離線用戶數據Dl進行管理。
[0078]步驟108,當所述內存池中不存在與所述管理申請對應的離線用戶數據時,從數據庫中讀取出與所述管理申請對應的離線用戶數據,并存儲到所述內存池中。
[0079]在所述步驟108之后,可以將存儲到內存池中的離線用戶數據發(fā)送至在線用戶終端進行管理操作。并且可以在管理操作結束后,將管理后的離線用戶數據保存到數據庫中,并從內存池中刪除。還可以在管理操作結束后,將管理后的離線用戶數據保存到數據庫中,并在內存池中保留。
[0080]步驟110,當所述內存池中存在與所述管理申請對應的離線用戶數據時,發(fā)送與所述管理申請對應的離線用戶數據至在線用戶終端,并保留與所述管理申請對應的離線用戶數據在所述內存池中。
[0081]所述步驟110中的重要執(zhí)行操作可以理解為:
[0082]在對離線用戶數據進行管理后,將管理后的離線用戶數據保留在內存池中,可以方便之后的在線用戶對該離線用戶數據進行管理操作。
[0083]步驟112,對所述內存池中的離線用戶數據進行清理操作。
[0084]由于內存池的容量固定,不可能無限制地存儲離線用戶數據,所以需要定期或者持續(xù)對內存池中的離線用戶數據進行清理。
[0085]清理的目的是將高頻訪問的離線用戶數據保留在內存池中,將低頻訪問的離線用戶數據存儲回數據庫中,并在內存池中刪除,以便可以留出足夠的內存池空間加載并緩存其他的離線用戶數據。
[0086]優(yōu)選的,所述步驟112可以包括:
[0087]依次查詢所述內存池中的離線用戶數據。如果所述內存池中的離線用戶數據在第一預置時間段內未被訪問,將在所述第一預置時間段內未被訪問的離線用戶數據存儲至數據庫中,并在所述內存池中刪除;如果所述內存池中的離線用戶數據在第二預置時間段內被訪問過,保留在所述第二預置時間段內被訪問過的離線用戶數據至所述內存池中。
[0088]例如,內存池中包括3個離線用戶數據,分別為D1、D2和D3。如果Dl在2天內未被訪問,則將Dl存儲到數據庫中,并將Dl從內存池中刪除;如果D2和D3在I天內被訪問過,則保留D2和D3在內存池中。
[0089]所述第一預置時間段和第二預置時間段可以根據實際情況設定。
[0090]需要說明的是,所述步驟112可以在所述步驟100之后的任何時刻執(zhí)行,可以定期執(zhí)行一次或多次,也可以持續(xù)執(zhí)行。
[0091]下面,主要以游戲為例,介紹游戲運行時的數據管理方法。
[0092]參照圖2,示出了本發(fā)明實施例中一種數據管理方法示意圖。
[0093]步驟200,接收玩家對離線玩家數據的管理申請。
[0094]步驟202,離線玩家數據管理器查詢內存池中是否存在與管理申請對應的離線玩家數據。
[0095]其中,離線玩家數據管理器可以用于管理內存池,以及控制訪問已放入內存池的離線玩家數據。
[0096]如果內存池中存在與管理申請對應的離線玩家數據,執(zhí)行步驟204。
[0097]步驟204,將與管理申請對應的離線玩家數據反饋給玩家。
[0098]如果內存池中不存在與管理申請對應的離線玩家數據,執(zhí)行步驟206。
[0099]步驟206,從數據庫中讀取出與管理申請對應的離線玩家數據。
[0100]步驟208,將與管理申請對應的離線玩家數據存儲到內存池中,并反饋給玩家。
[0101]而且,上述離線玩家數據管理器還可以對內存池中的離線玩家數據進行清理,參照圖3,示出了本發(fā)明實施例中一種離線玩家數據清理示意圖。
[0102]步驟300,離線玩家數據管理器對內存池中的離線玩家數據進行輪詢。
[0103]如果內存池中的某離線玩家數據在一個時間段內未被訪問,執(zhí)行步驟302。上述一個時間段可以根據實際情況進行設定,例如為一個星期或者一個月等。
[0104]步驟302,將一個時間段內未被訪問的該離線玩家數據存儲到數據庫中,并從內存池中刪除。
[0105]如果內存池中的某離線玩家數據在一個時間段內被訪問過,執(zhí)行步驟304。上述一個時間段可以根據實際情況進行設定,例如為一天或者一個小時等。
[0106]步驟304,保留一個時間段內被訪問過的該離線玩家數據在內存池中。
[0107]需要說明的是,上述兩個時間段可以相同也可以不同,可以根據實際情況進行設定。
[0108]下面,主要以游戲為例,介紹一種數據管理方法。
[0109]首先介紹一下應用本發(fā)明實施例所述的數據管理方法進行數據管理的整體結構。
[0110]客戶端游戲是指官方搭建服務器,用戶下載安裝文件安裝客戶端后通過互聯網連接到服務器后進行多人交互的網絡游戲。網頁游戲(WEB游戲)是指通過瀏覽器打開網頁就可以進行,只需要少量點擊即可以完成的游戲。
[0111]持續(xù)時間化網絡游戲(簡稱“持續(xù)時間游戲”)是指玩家需要花費較長時間持續(xù)體驗的網絡游戲,例如大部分的客戶端游戲。碎片時間化網絡游戲(簡稱“碎片時間游戲”)是指玩家可以利用少量時間即可以得到豐富體驗的網絡游戲,例如社區(qū)類網頁游戲。
[0112]本發(fā)明實施例中,可以將客戶端游戲的時間持續(xù)化和網頁游戲的時間碎片化結合起來,讓玩家可以充分利用這些碎片時間,在持續(xù)時間化網絡游戲的碎片時間中得到碎片時間化網絡游戲的游戲體驗。
[0113]其中,將客戶端游戲稱為持續(xù)時間游戲,對應的服務器稱為持續(xù)時間服務器,對應的客戶端稱為持續(xù)時間客戶端,游戲中的數據稱為持續(xù)時間數據;將網頁游戲稱為碎片時間游戲,對應的客戶端稱為碎片時間客戶端,游戲中的數據稱為碎片時間數據。
[0114]首先可以在持續(xù)時間游戲中開發(fā)一個碎片時間游戲,所述碎片時間游戲可以采用網頁游戲的開發(fā)方式進行開發(fā)(因此,本發(fā)明實施例可以將所開發(fā)的碎片時間游戲認為是網頁游戲,實質上其并非真正的網頁游戲)。這兩類游戲可以使用同一套數據進行不同的游戲體驗,碎片時間游戲可以是不同于持續(xù)時間游戲的一種新的場景。例如,如果玩家在持續(xù)時間游戲中的場景為A,角色為a,角色數據為b,則該玩家在碎片時間游戲中的場景可以為B,角色也為a,角色數據同樣為b,從而可以通過這兩類游戲同步進行角色的養(yǎng)成。
[0115]具體的,如圖4所示,為本發(fā)明實施例中客戶端游戲和網頁游戲結合的整體結構圖。
[0116]從圖4中可以看出,持續(xù)時間游戲和碎片時間游戲結合之后,即可以在持續(xù)時間游戲的過程中進行碎片時間游戲??梢栽谠械某掷m(xù)時間服務器和持續(xù)時間客戶端的基礎上,開發(fā)一個碎片時間客戶端,并且可以在原有的持續(xù)時間服務器上開發(fā)一個碎片時間數據處理模塊,用于處理碎片時間游戲中的碎片時間數據。
[0117]其中,持續(xù)時間客戶端和碎片時間客戶端可以通過同一個客戶端軟件實現,當用戶在下載客戶端軟件之后,可以同時具有持續(xù)時間客戶端和碎片時間客戶端。碎片時間客戶端可以為一些插件,這些插件可以臨時存放,例如,如果玩家在加載之后可以將其刪除,當然,也可以進行保存,本發(fā)明實施例對此并不加以限制。
[0118]可以開發(fā)一個用于承載所述碎片時間客戶端的子進程。當玩家在進行持續(xù)時間游戲的過程中,在持續(xù)時間客戶端內可以以某種方式觸發(fā)該承載子進程啟動,通過該子進程可以展現碎片時間客戶端;然后碎片時間客戶端即可以持續(xù)時間客戶端為中介(進程間通信的方式),與持續(xù)時間服務器進行數據交互,通過持續(xù)時間服務器中的碎片時間數據處理模塊對碎片時間客戶端的碎片時間數據進行處理。
[0119]上述圖4中的持續(xù)時間服務器中可以包括持續(xù)時間數據處理模塊和碎片時間數據處理模塊。本發(fā)明實施例中所提到的客戶端游戲可以為上述的持續(xù)時間游戲,網頁游戲可以為上述的碎片時間游戲;網頁游戲的客戶端(即網頁客戶端)可以為上述碎片時間客戶端,客戶端游戲的客戶端可以為上述持續(xù)時間客戶端;網頁游戲的服務器(即網頁服務器)可以為上述碎片時間數據處理模塊,客戶端游戲的服務器可以為上述持續(xù)時間數據處理模塊,中樞服務器為上述的持續(xù)時間服務器;客戶端數據可以為持續(xù)時間游戲中的數據,網頁數據可以為碎片時間游戲中的數據,共用數據可以為運行游戲的角色數據(賬戶數據)。
[0120]綜上所述,本發(fā)明實施例公開的一種數據管理方法,具有以下優(yōu)點:
[0121]在客戶端平臺的服務器中創(chuàng)建固定容量的內存池,在服務器應用每次啟動時,提前加載高頻訪問的離線用戶數據至內存池中。在服務器應用運行過程中,當接收到在線用戶對離線用戶數據的管理申請時,在內存池中查詢是否存在欲管理的離線用戶數據,如果存在,將欲管理的離線用戶數據(高頻訪問的離線用戶數據)發(fā)送至在線用戶終端,并保留欲管理的離線用戶數據(高頻訪問的離線用戶數據)在內存池中;如果不存在,從數據庫中讀取出欲管理的離線用戶數據(低頻訪問的離線用戶數據),加載到內存池中,再從內存池中發(fā)送欲管理的離線用戶數據(低頻訪問的離線用戶數據)至在線用戶終端,將管理后的離線用戶數據(低頻訪問的離線用戶數據)存儲到數據庫中,并在內存池中刪除該離線用戶數據。提前將高頻訪問的離線用戶數據加載和緩存在內存池中,對內存池中低頻訪問的離線用戶數據在存儲至數據庫后從內存池中釋放,高頻訪問的離線用戶數據保留在內存池中,只將低頻訪問的離線用戶數據保存到數據庫中,減少了數據庫端的存儲壓力。
[0122]而且,使用固定容量的內存池加載和緩存離線用戶數據,內存池的容量固定,對其中的離線用戶數據進行清除和將離線用戶數據加載和緩存到內存池中,產生的內存碎片較少。如果利用動態(tài)容量的內存池加載和緩存離線用戶數據,加載和緩存的離線用戶數據越多,內存池的容量會越大,相對較大容量的內存池就會產生較多的內存碎片。
[0123]使用固定容量的內存池加載和緩存離線用戶數據,服務器端剩余內存的容量也固定,不會因為加載和緩存離線用戶數據的內存池越來越大,造成服務器端剩余內存減小的情況,保證了服務器端用于應用運行的內存容量。
[0124]因為產生的內存碎片較少,降低了服務器的運行風險(內存碎片越多,服務器異常巖機風險越高)。
[0125]同時,動態(tài)調節(jié)內存池中的離線用戶數據,當高頻訪問離線用戶數據變?yōu)榈皖l訪問離線用戶數據時,可以及時對這些離線用戶數據進行清理,提高了內存池的使用率。
[0126]進一步地,由于內存池中緩存離線用戶數據,當服務器與數據庫的連接斷開時,離線用戶數據可以安全存放在內存池中,當連接重新建立后,離線用戶數據可以繼續(xù)存入數據庫中,降低了離線用戶數據丟失的風險。
[0127]實施例二
[0128]詳細介紹本發(fā)明實施例公開的一種數據管理系統(tǒng)。
[0129]參照圖5,示出了本發(fā)明實施例中一種數據管理系統(tǒng)結構圖。
[0130]所述一種數據管理系統(tǒng),可以包括:
[0131 ] 加載模塊200,接收模塊202,驗證模塊204,查詢模塊206,讀取存儲模塊208,發(fā)送保留模塊210,以及,查詢管理模塊212。
[0132]其中,所述驗證模塊204,可以包括:
[0133]在線用戶判斷子模塊2041,管理申請判斷子模塊2042,以及,確定子模塊2043。
[0134]下面分別詳細介紹各模塊、各子模塊的功能以及各模塊、各子模塊之間的關系。
[0135]加載模塊200,用于在服務器應用啟動時,提前加載滿足存儲條件的離線用戶數據至已創(chuàng)建的固定容量的內存池中。
[0136]所述存儲條件為離線用戶數據的訪問頻率大于等于預定閾值。
[0137]接收模塊202,用于在服務器應用運行過程中,接收在線用戶對離線用戶數據的管理申請。
[0138]所述管理申請與離線用戶數據具有映射關系。
[0139]驗證模塊204,用于驗證所述在線用戶和所述管理申請是否均具有對離線用戶數據進行管理的權限。
[0140]優(yōu)選的,所述驗證模塊204,可以包括:
[0141]在線用戶判斷子模塊2041,用于判斷所述在線用戶是否屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶。
[0142]管理申請判斷子模塊2042,用于當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,判斷所述管理申請是否符合與所述管理申請對應的離線用戶數據的管理條件。
[0143]所述管理條件包括離線用戶數據中的各項數據是否允許被讀取、修改和刪除。
[0144]確定子模塊2043,用于當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶,且所述管理申請符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限;當所述在線用戶不屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,確定所述在線用戶不具有對離線用戶數據進行管理的權限;當所述管理申請不符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述管理申請均不具有對離線用戶數據進行管理的權限。
[0145]查詢模塊206,用于當所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限時,查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據。
[0146]讀取存儲模塊208,用于在所述查詢模塊206查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據之后,當所述內存池中不存在與所述管理申請對應的離線用戶數據時,從數據庫中讀取出與所述管理申請對應的離線用戶數據,并存儲到所述內存池中。
[0147]發(fā)送保留模塊210,用于當所述內存池中存在與所述管理申請對應的離線用戶數據時,發(fā)送與所述管理申請對應的離線用戶數據至在線用戶終端,并保留與所述管理申請對應的離線用戶數據在所述內存池中。
[0148]查詢管理模塊212,用于依次查詢所述內存池中的離線用戶數據;如果所述內存池中的離線用戶數據在第一預置時間段內未被訪問,將在所述第一預置時間段內未被訪問的離線用戶數據存儲至數據庫中,并在所述內存池中刪除;如果所述內存池中的離線用戶數據在第二預置時間段內被訪問過,保留在所述第二預置時間段內被訪問過的離線用戶數據至所述內存池中。
[0149]下面,主要以游戲為例,介紹游戲運行時的數據管理系統(tǒng)。
[0150]首先介紹一下應用本發(fā)明實施例所述的數據管理系統(tǒng)進行數據管理的整體結構。
[0151]客戶端游戲是指官方搭建服務器,用戶下載安裝文件安裝客戶端后通過互聯網連接到服務器后進行多人交互的網絡游戲。
[0152]持續(xù)時間化網絡游戲(簡稱“持續(xù)時間游戲”)是指玩家需要花費較長時間持續(xù)體驗的網絡游戲,例如大部分的客戶端游戲。
[0153]其中,將客戶端游戲稱為持續(xù)時間游戲,對應的服務器稱為持續(xù)時間服務器,對應的客戶端稱為持續(xù)時間客戶端,游戲中的數據稱為持續(xù)時間數據。
[0154]具體的,如圖6所示,為本發(fā)明實施例中客戶端游戲中管理離線用戶數據的結構示意圖。
[0155]從圖6中可以看出,持續(xù)時間服務器中可以包括碎片時間數據處理模塊。本發(fā)明實施例中所提到的客戶端游戲可以為上述的持續(xù)時間游戲,客戶端游戲的客戶端可以為上述持續(xù)時間客戶端;客戶端游戲的服務器可以為上述的持續(xù)時間服務器。其中,碎片時間數據處理模塊可以為上述加載模塊200、查詢模塊206、讀取存儲模塊208、發(fā)送保留模塊210和查詢管理模塊212的結合體。
[0156]綜上所述,本發(fā)明實施例公開的一種數據管理系統(tǒng),具有以下優(yōu)點:
[0157]在客戶端平臺的服務器中創(chuàng)建固定容量的內存池,在服務器應用每次啟動時,提前加載高頻訪問的離線用戶數據至內存池中。在服務器應用運行過程中,當接收到在線用戶對離線用戶數據的管理申請時,在內存池中查詢是否存在欲管理的離線用戶數據,如果存在,將欲管理的離線用戶數據(高頻訪問的離線用戶數據)發(fā)送至在線用戶終端,并保留欲管理的離線用戶數據(高頻訪問的離線用戶數據)在內存池中;如果不存在,從數據庫中讀取出欲管理的離線用戶數據(低頻訪問的離線用戶數據),加載到內存池中,再從內存池中發(fā)送欲管理的離線用戶數據(低頻訪問的離線用戶數據)至在線用戶終端,將管理后的離線用戶數據(低頻訪問的離線用戶數據)存儲到數據庫中,并在內存池中刪除該離線用戶數據。提前將高頻訪問的離線用戶數據加載和緩存在內存池中,對內存池中低頻訪問的離線用戶數據在存儲至數據庫后從內存池中釋放,高頻訪問的離線用戶數據保留在內存池中,只將低頻訪問的離線用戶數據保存到數據庫中,減少了數據庫端的存儲壓力。
[0158]而且,使用固定容量的內存池加載和緩存離線用戶數據,內存池的容量固定,對其中的離線用戶數據進行清除和將離線用戶數據加載和緩存到內存池中,產生的內存碎片較少。如果利用動態(tài)容量的內存池加載和緩存離線用戶數據,加載和緩存的離線用戶數據越多,內存池的容量會越大,相對較大容量的內存池就會產生較多的內存碎片。
[0159]使用固定容量的內存池加載和緩存離線用戶數據,服務器端剩余內存的容量也固定,不會因為加載和緩存離線用戶數據的內存池越來越大,造成服務器端剩余內存減小的情況,保證了服務器端用于應用運行的內存容量。
[0160]因為產生的內存碎片較少,降低了服務器的運行風險(內存碎片越多,服務器異常巖機風險越高)。
[0161]同時,動態(tài)調節(jié)內存池中的離線用戶數據,當高頻訪問離線用戶數據變?yōu)榈皖l訪問離線用戶數據時,可以及時對這些離線用戶數據進行清理,提高了內存池的使用率。
[0162]進一步地,由于內存池中緩存離線用戶數據,當服務器與數據庫的連接斷開時,離線用戶數據可以安全存放在內存池中,當連接重新建立后,離線用戶數據可以繼續(xù)存入數據庫中,降低了離線用戶數據丟失的風險。
[0163]對于系統(tǒng)實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0164]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
[0165]以上對本發(fā)明實施例所公開的一種數據管理方法和系統(tǒng),進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
【權利要求】
1.一種數據管理方法,其特征在于,包括: 在服務器應用啟動時,提前加載滿足存儲條件的離線用戶數據至已創(chuàng)建的固定容量的內存池中; 在服務器應用運行過程中,接收在線用戶對離線用戶數據的管理申請,所述管理申請與離線用戶數據具有映射關系; 驗證所述在線用戶和所述管理申請是否均具有對離線用戶數據進行管理的權限; 當所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限時,查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據; 當所述內存池中存在與所述管理申請對應的離線用戶數據時,發(fā)送與所述管理申請對應的離線用戶數據至在線用戶終端,并保留與所述管理申請對應的離線用戶數據在所述內存池中。
2.根據權利要求1所述的方法,其特征在于,所述查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據之后,所述方法還包括: 當所述內存池中不存在與所述管理申請對應的離線用戶數據時,從數據庫中讀取出與所述管理申請對應的離線用戶數據,并存儲到所述內存池中。
3.根據權利要求1所述的方法,其特征在于,所述驗證所述在線用戶和所述管理申請是否均具有對離線用戶數據進行管理的權限,包括: 判斷所述在線用戶是否屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶; 當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,判斷所述管理申請是否符合與所述管理申請對應的離線用戶數據的管理條件,所述管理條件包括離線用戶數據中的各項數據是否允許被讀取、修改和刪除; 當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶,且所述管理申請符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限; 當所述在線用戶不屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,確定所述在線用戶不具有對離線用戶數據進行管理的權限;當所述管理申請不符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述管理申請均不具有對離線用戶數據進行管理的權限。
4.根據權利要求1所述的方法,其特征在于: 所述存儲條件為離線用戶數據的訪問頻率大于等于預定閾值。
5.根據權利要求1所述的方法,其特征在于,所述方法還包括: 依次查詢所述內存池中的離線用戶數據; 如果所述內存池中的離線用戶數據在第一預置時間段內未被訪問,將在所述第一預置時間段內未被訪問的離線用戶數據存儲至數據庫中,并在所述內存池中刪除; 如果所述內存池中的離線用戶數據在第二預置時間段內被訪問過,保留在所述第二預置時間段內被訪問過的離線用戶數據至所述內存池中。
6.一種數據管理系統(tǒng),其特征在于,包括: 加載模塊,用于在服務器應用啟動時,提前加載滿足存儲條件的離線用戶數據至已創(chuàng)建的固定容量的內存池中; 接收模塊,用于在服務器應用運行過程中,接收在線用戶對離線用戶數據的管理申請,所述管理申請與離線用戶數據具有映射關系; 驗證模塊,用于驗證所述在線用戶和所述管理申請是否均具有對離線用戶數據進行管理的權限; 查詢模塊,用于當所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限時,查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據; 發(fā)送保留模塊,用于當所述內存池中存在與所述管理申請對應的離線用戶數據時,發(fā)送與所述管理申請對應的離線用戶數據至在線用戶終端,并保留與所述管理申請對應的離線用戶數據在所述內存池中。
7.根據權利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 讀取存儲模塊,用于在所述查詢模塊查詢所述內存池中是否存在與所述管理申請對應的離線用戶數據之后,當所述內存池中不存在與所述管理申請對應的離線用戶數據時,從數據庫中讀取出與所述管理申請對應的離線用戶數據,并存儲到所述內存池中。
8.根據權利要求6所述的系統(tǒng),其特征在于,所述驗證模塊,包括: 在線用戶判斷子模塊,用于判斷所述在線用戶是否屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶; 管理申請判斷子模塊,用于當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,判斷所述管理申請是否符合與所述管理申請對應的離線用戶數據的管理條件,所述管理條件包括離線用戶數據中的各項數據是否允許被讀取、修改和刪除; 確定子模塊,用于當所述在線用戶屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶,且所述管理申請符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述在線用戶和所述管理申請均具有對離線用戶數據進行管理的權限;當所述在線用戶不屬于具有管理與所述管理申請對應的離線用戶數據的權限的用戶時,確定所述在線用戶不具有對離線用戶數據進行管理的權限;當所述管理申請不符合與所述管理申請對應的離線用戶數據的管理條件時,確定所述管理申請均不具有對離線用戶數據進行管理的權限。
9.根據權利要求6所述的系統(tǒng),其特征在于: 所述存儲條件為離線用戶數據的訪問頻率大于等于預定閾值。
10.根據權利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 查詢管理模塊,用于依次查詢所述內存池中的離線用戶數據;如果所述內存池中的離線用戶數據在第一預置時間段內未被訪問,將在所述第一預置時間段內未被訪問的離線用戶數據存儲至數據庫中,并在所述內存池中刪除;如果所述內存池中的離線用戶數據在第二預置時間段內被訪問過,保留在所述第二預置時間段內被訪問過的離線用戶數據至所述內存池中。
【文檔編號】G06F21/60GK104166820SQ201310182433
【公開日】2014年11月26日 申請日期:2013年5月16日 優(yōu)先權日:2013年5月16日
【發(fā)明者】洪曉健 申請人:北京暢游天下網絡技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
苏尼特左旗| 图木舒克市| 遂川县| 章丘市| 苏尼特右旗| 淅川县| 苏州市| 平湖市| 二手房| 翁牛特旗| 合阳县| 阳东县| 新丰县| 波密县| 新宾| 池州市| 江源县| 富阳市| 兴隆县| 波密县| 社旗县| 江北区| 南宫市| 北碚区| 冀州市| 如皋市| 凤凰县| 临澧县| 体育| 扎囊县| 德保县| 海南省| 蛟河市| 吴桥县| 通道| 绥棱县| 德化县| 宿松县| 德清县| 岑溪市| 平顶山市|