[發(fā)明專利]一種資源數(shù)據(jù)共享方法、服務器及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201410132001.1 | 申請日: | 2014-04-02 |
| 公開(公告)號: | CN104980454B | 公開(公告)日: | 2019-08-06 |
| 發(fā)明(設計)人: | 莫錫昌;張正 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F3/06 |
| 代理公司: | 深圳市深佳知識產(chǎn)權代理事務所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 資源 數(shù)據(jù) 共享 方法 服務器 系統(tǒng) | ||
本發(fā)明提供了一種資源數(shù)據(jù)共享方法、服務器及系統(tǒng),預先配置資源配置文件,讀取所述資源配置文件中的所述預設的鍵值和所述索引名稱;根據(jù)所述預設的鍵值向操作系統(tǒng)請求內(nèi)存空間創(chuàng)建共享內(nèi)存;從磁盤中將所述索引名稱所對應的資源數(shù)據(jù)加載到所述共享內(nèi)存,向同一臺物理機的各個場景服務器的進程共享所述資源數(shù)據(jù)。同一臺物理機的各個場景服務器的進程共享內(nèi)存從磁盤中所加載的所述資源數(shù)據(jù),所述資源數(shù)據(jù)無需被各個不同的場景服務器的進程從磁盤中重復加載,也無需重復占用物理機給各個場景服務器所分配的物理內(nèi)存,節(jié)省物理機的內(nèi)存空間,提高物理機的利用率。
技術領域
本發(fā)明涉及計算機技術領域,特別是涉及一種資源數(shù)據(jù)共享方法、服務器及系統(tǒng)。
背景技術
網(wǎng)絡游戲服務器是指與網(wǎng)絡游戲客戶端相對應,安裝在互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet Data Center,IDC)的硬件上,為網(wǎng)絡游戲客戶端提供數(shù)據(jù)轉(zhuǎn)發(fā)與邏輯處理服務的程序。經(jīng)典的網(wǎng)絡游戲服務器包括一個總控服務器與多個場景服務器。其中,場景服務器主要處理網(wǎng)絡游戲中非全局性的邏輯數(shù)據(jù),處理不同的局部場景游戲邏輯數(shù)據(jù)。
隨著計算機技術的發(fā)展,一臺物理機可以配備多個CPU核心,多核CPU的應用,推動了數(shù)據(jù)并行計算的發(fā)展,進而提高了網(wǎng)絡游戲服務器的邏輯數(shù)據(jù)處理能力。理論上,一臺物理機可以部署與CPU核心數(shù)量相同的場景服務器。當多個場景服務器進程啟動時,每個場景服務器向操作系統(tǒng)請求一個物理內(nèi)存,各個場景服務器從磁盤將各自所需的邏輯數(shù)據(jù)加載到所分配的物理內(nèi)存。在場景服務器運行時,從其物理內(nèi)存中讀取運行所需的邏輯數(shù)據(jù)進行處理,每個場景服務器所加載的邏輯數(shù)據(jù)之間相互獨立。
對于同一個網(wǎng)絡游戲來說,不同的場景服務器所加載的邏輯數(shù)據(jù)中,都包含有策劃配置數(shù)據(jù)、美術資源數(shù)據(jù)與地圖資源數(shù)據(jù)等多種相同的邏輯數(shù)據(jù)。在這種情況下,上述各個場景服務器都包含的相同的邏輯數(shù)據(jù)會被每個場景服務器從磁盤中加載到各自的物理內(nèi)存中存儲,這樣就導致相同的邏輯數(shù)據(jù)被重復加載,并占用多個物理內(nèi)存,造成物理內(nèi)存大量浪費,降低了物理機的利用率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種資源數(shù)據(jù)共享方法、服務器及系統(tǒng),資源加載服務器將同一個物理機的各個場景服務器的進程所需的相同的邏輯數(shù)據(jù)作為資源數(shù)據(jù)加載到其所創(chuàng)建的共享內(nèi)存,向各個場景服務器的進程共享所述資源數(shù)據(jù),節(jié)省物理機的物理內(nèi)存。
本發(fā)明實施例第一方面提供了一種資源數(shù)據(jù)共享方法,應用于資源加載服務器,預先配置資源配置文件,所述資源配置文件包括預設的鍵值和資源數(shù)據(jù)的索引名稱,所述資源數(shù)據(jù)為同一個物理機的各個場景服務器的進程所需的相同的邏輯數(shù)據(jù),所述方法包括:
讀取所述資源配置文件中的所述預設的鍵值和所述索引名稱;
根據(jù)所述預設的鍵值向操作系統(tǒng)請求內(nèi)存空間創(chuàng)建共享內(nèi)存;
從磁盤中將所述索引名稱所對應的資源數(shù)據(jù)加載到所述共享內(nèi)存,向同一臺物理機上的各個場景服務器的進程共享所述資源數(shù)據(jù)。
本發(fā)明實施例第一方面的第一種可能的實施方式中,所述向各個場景服務器的進程共享所述資源數(shù)據(jù)包括:
當各個場景服務器的進程通過所述預設的鍵值訪問所述共享內(nèi)存時,將所述資源數(shù)據(jù)映射到各個場景服務器的內(nèi)存空間。
本發(fā)明實施例第一方面的第二種可能的實施方式中,所述從磁盤中將所述索引名稱所對應的資源數(shù)據(jù)加載到所述共享內(nèi)存后還包括:
設置一個信號量并創(chuàng)建與所述信號量對應的信號量鍵值,所述信號量的初始值與所述物理機上所運行的場景服務器的進程的個數(shù)相同;
將所述信號量根據(jù)所述信號量鍵值存儲至操作系統(tǒng)的內(nèi)存空間,以便所述各個場景服務器的進程根據(jù)所述信號量鍵值從所述操作系統(tǒng)的內(nèi)存空間檢測所述信號量,當所述信號量存在,且對所述信號量執(zhí)行wait操作成功后,執(zhí)行進程啟動。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410132001.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





