亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種游戲資源的在線加載方法及微端引擎的制作方法

文檔序號:10624589閱讀:187來源:國知局
一種游戲資源的在線加載方法及微端引擎的制作方法
【專利摘要】本發(fā)明提供一種游戲資源的在線加載方法及微端引擎,微端引擎包括微端服務器和微端客戶端;微端服務器包括游戲資源池、更新模塊和資源信息列表文件;微端客戶端包括資源存儲模塊、接收模塊、多線程下載模塊和推送模塊。有以下優(yōu)點:(1)將游戲運行時所需的游戲資源從游戲客戶端中分離出來,并將游戲資源存儲于微端服務器中;從而降低了游戲客戶端的容量,方便對游戲客戶端分發(fā)部署;(2)采用一種特殊的游戲資源加載方法,可有效保證游戲進程所加載到的游戲資源的最新性和完整性,保證游戲正常運行。
【專利說明】
一種游戲資源的在線加載方法及微端引擎
技術領域
[0001]本發(fā)明屬于游戲開發(fā)技術領域,具體涉及一種游戲資源的在線加載方法及微端引擎?!颈尘凹夹g】
[0002]隨著媒體互聯(lián)網的迅速發(fā)展,數(shù)字互動娛樂延伸到新的領域,網絡游戲是近年來得到廣泛關注并且發(fā)展極為迅速的一個產業(yè),如今我國網絡游戲業(yè)的巨大市場使得游戲從業(yè)人員不斷發(fā)展軟件技術以提升玩家的游戲體驗。
[0003]現(xiàn)有的游戲客戶端通常包括游戲運行時所需的所有游戲資源,例如,圖片、音頻和視頻等資源。而對于一個在線游戲,其運行所需的游戲資源的數(shù)量非常龐大,導致現(xiàn)有的游戲客戶端整體容量比較龐大,增加了游戲客戶端分發(fā)部署的難度,不利于游戲客戶端的推廣使用。
【發(fā)明內容】

[0004]針對現(xiàn)有技術存在的缺陷,本發(fā)明提供一種游戲資源的在線加載方法及微端引擎,可有效解決上述問題。
[0005]本發(fā)明采用的技術方案如下:
[0006]本發(fā)明提供一種游戲資源的在線加載方法,包括以下步驟:
[0007]S1,創(chuàng)建微端引擎;其中,所述微端引擎包括微端客戶端和微端服務器;所述微端客戶端和所述微端服務器為依賴網絡連接關系;
[0008]所述微端服務器設置游戲資源池;其中,所述游戲資源池用于存儲多個游戲運行時所需的游戲資源;并且,所述微端服務器定時對所述游戲資源池所存儲的各個游戲資源進行更新操作;
[0009]S2,所述微端服務器還配置與每一個游戲ID唯一對應的資源信息列表文件;其中,所述資源信息列表文件用于存儲游戲資源ID和最新的第一校驗碼的對應關系;所述資源信息列表文件所存儲的所有游戲資源ID所對應的游戲資源即為該游戲運行時所需的所有游戲資源;
[0010]另外,所述微端服務器通過以下方式計算得到并維護所述第一校驗碼:
[0011]S2.1,初始時,所述微端服務器查找所述游戲資源池,得到與所述游戲資源ID對應的游戲資源;
[0012]S2.2,所述微端服務器計算所得到的所述游戲資源的第一校驗碼;
[0013]S2.3,所述微端服務器存儲所述游戲資源ID和第一校驗碼的對應關系;
[0014]S2.4,每當所述游戲資源池所存儲的所述游戲資源進行更新時,所述微端服務器重新計算該游戲資源的第一校驗碼,得到最新的第一校驗碼,并更新所述資源信息列表文件,使所述游戲資源池所存儲的第一校驗碼均為最新的第一校驗碼;
[0015]S3,游戲客戶端封裝游戲進程和微端客戶端;其中,所述游戲進程通過所述微端客戶端與所述微端服務器建立通信連接;所述微端客戶端封裝該游戲進程運行所需的初始化資源;所述初始化資源包括:游戲加載界面、下載程序和與該游戲進程對應的資源信息列表文件存儲路徑;
[0016]S4,在所述游戲進程初始化啟動過程中,所述游戲進程向所述微端客戶端發(fā)送初始游戲資源的請求消息;
[0017]S5,所述微端客戶端接收到該請求消息后,并行執(zhí)行以下兩步:
[0018]步驟1:所述微端客戶端將所述游戲加載界面推送給所述游戲進程,所述游戲進程顯示所述游戲加載界面;
[0019]步驟2:包括:
[0020]S2.1:所述微端客戶端調用所述下載程序;
[0021]S2.2:所述下載程序基于所封裝的資源信息列表文件存儲路徑,下載到對應的資源信息列表文件;其中,所下載到的資源信息列表文件為最新的資源信息列表文件;
[0022]S2.3:所述微端客戶端判斷自身緩存中是否存儲所述初始游戲資源;如果存在, 則從緩存中讀取到所述初始游戲資源,然后直接執(zhí)行S2.4-S2.11 ;如果不存在,則執(zhí)行 S2.7-S2.11 ;
[0023]S2.4,所述微端客戶端計算緩存中存儲的所述初始游戲資源的校驗碼,得到第二 fe驗碼;
[0024]S2.5,所述微端客戶端通過讀取步驟2.2得到的所述資源信息列表文件,得到所述初始游戲資源的第一校驗碼;
[0025]S2.6,所述微端客戶端判斷S2.4得到的所述第二校驗碼與S2.5得到的所述第一校驗碼是否相同,如果不相同,表明所述緩存中存儲的所述初始游戲資源為過時的游戲資源,然后,執(zhí)行S2.7 ;如果相同,則直接執(zhí)行S2.12 ;
[0026]S2.7,所述微端客戶端向所述微端服務器的游戲資源池請求下載所述初始游戲資源,并獲取到所述初始游戲資源;
[0027]S2.8,所述微端客戶端計算所述初始游戲資源的校驗碼,得到第二校驗碼;
[0028]S2.9,所述微端客戶端通過讀取步驟2.2得到的所述資源信息列表文件,得到所述初始游戲資源的第一校驗碼;
[0029]S2.10,所述微端客戶端判斷S2.8得到的所述第二校驗碼與S2.9得到的所述第一校驗碼是否相同,如果不相同,表明所述微端客戶端在S2.8接收到的所述初始游戲資源存在損壞,則需再次執(zhí)行S2.7-S2.10,重新下載所述初始游戲資源;如果相同,則執(zhí)行S2.11 ;
[0030]S2.11,所述微端客戶端將所下載得到的所述初始游戲資源存入緩存中,然后,執(zhí)行 S2.12 ;
[0031]S2.12,所述微端客戶端將最新的所述初始游戲資源發(fā)送給所述游戲進程;
[0032]S6,所述游戲進程運行所述初始游戲資源,完成游戲啟動過程;
[0033]S7,在所述游戲進程啟動成功后,所述游戲進程根據(jù)當前時刻的游戲場景,推算出距離當前時刻一定時間間隔內所需的游戲資源,然后,向所述微端客戶端發(fā)送預下載所需游戲資源的請求消息;
[0034]S8,所述微端客戶端接收到該請求消息后,僅將S2.3-S2.12中的所述初始游戲資源替換為S7中所需的游戲資源,然后,循環(huán)執(zhí)行S2.3-S2.12,完成對所需的游戲資源進行預下載的過程。
[0035]優(yōu)選的,所述第一校驗碼和所述第二校驗碼均為MD5校驗碼。
[0036]本發(fā)明還提供一種微端引擎,包括微端服務器和微端客戶端;
[0037]所述微端服務器包括:
[0038]游戲資源池,用于存儲多個游戲運行時所需的游戲資源;
[0039]更新模塊,用于定時對所述游戲資源池所存儲的各個游戲資源進行更新操作;
[0040]資源信息列表文件,與唯一游戲ID對應,用于存儲該游戲ID運行時所需的所有游戲資源對應的游戲資源ID ;還存儲游戲資源ID和最新的第一校驗碼的對應關系;
[0041]所述微端客戶端包括:
[0042]資源存儲模塊,用于存儲游戲進程運行所需的初始化資源及緩存后下載獲取的游戲資源;其中,所述初始化資源包括:游戲加載界面、下載程序和與該游戲進程對應的資源信息列表文件存儲路徑
[0043]接收模塊,用于接收游戲進程所發(fā)送的對游戲資源的請求消息;
[0044]多線程下載模塊,包括資源信息列表文件下載線程和游戲資源下載線程;
[0045]其中,所述資源信息列表文件下載線程用于:基于所述資源信息列表文件存儲路徑,下載到對應的資源信息列表文件;其中,所下載到的資源信息列表文件為最新的資源信息列表文件;
[0046]所述游戲資源下載線程具體包括:
[0047]緩存查找模塊,用于當接收到所述游戲進程所發(fā)送的對游戲資源的請求消息時, 判斷自身緩存中是否存儲所述游戲資源;
[0048]第一文件校驗模塊,用于當所述緩存查找模塊查找到緩存中存儲有所述游戲資源時,計算緩存中存儲的所述游戲資源的校驗碼,得到第二校驗碼;
[0049]再讀取所述資源信息列表文件下載線程下載到的所述資源信息列表文件,得到所述游戲資源的第一校驗碼;然后比較所述第二校驗碼和所述第一校驗碼是否相同;
[0050]資源下載模塊,用于當所述緩存查找模塊未在緩存中查找到所需的游戲資源時, 或者,所述文件校驗模塊校驗得到所述第二校驗碼和所述第一校驗碼不相同時,從所述微端服務器下載所述游戲資源;
[0051]第二文件校驗模塊,用于對所述資源下載模塊下載得到的所述游戲資源進行文件校驗,判斷下載得到的所述游戲資源是否為完整未損壞的游戲資源;如果否,則再次調用所述資源下載模塊,重新進行游戲資源下載;如果是,則執(zhí)行后續(xù)的推送模塊;
[0052]推送模塊,用于當所述緩存查找模塊查找到緩存中存在所述游戲資源,且該游戲資源通過所述第一文件校驗模塊的文件校驗后,將校驗通過的游戲資源推送給游戲進程; 或者,用于將經過所述第二文件校驗模塊校驗通過后的游戲資源推送給游戲進程。
[0053]本發(fā)明提供的游戲資源的在線加載方法及微端引擎具有以下優(yōu)點:
[0054](1)將游戲運行時所需的游戲資源從游戲客戶端中分離出來,并將游戲資源存儲于微端服務器中;從而降低了游戲客戶端的容量,方便對游戲客戶端分發(fā)部署;
[0055](2)采用一種特殊的游戲資源加載方法,可有效保證游戲進程所加載到的游戲資源的最新性和完整性,保證游戲正常運行?!靖綀D說明】
[0056]圖1為本發(fā)明提供的微端引擎的結構示意圖?!揪唧w實施方式】
[0057]以下結合附圖對本發(fā)明進行詳細說明:
[0058]本發(fā)明提供一種游戲資源的在線加載方法,包括以下步驟:
[0059]S1,創(chuàng)建微端引擎;其中,所述微端引擎包括微端客戶端和微端服務器;所述微端客戶端和所述微端服務器為依賴網絡連接關系;
[0060]所述微端服務器設置游戲資源池;其中,所述游戲資源池用于存儲多個游戲運行時所需的游戲資源;并且,所述微端服務器定時對所述游戲資源池所存儲的各個游戲資源進行更新操作;
[0061]S2,所述微端服務器還配置與每一個游戲ID唯一對應的資源信息列表文件;其中,所述資源信息列表文件用于存儲游戲資源ID和最新的第一校驗碼的對應關系;所述資源信息列表文件所存儲的所有游戲資源ID所對應的游戲資源即為該游戲運行時所需的所有游戲資源;
[0062]另外,所述微端服務器通過以下方式計算得到并維護所述第一校驗碼:
[0063]S2.1,初始時,所述微端服務器查找所述游戲資源池,得到與所述游戲資源ID對應的游戲資源;
[0064]S2.2,所述微端服務器計算所得到的所述游戲資源的第一校驗碼;
[0065]S2.3,所述微端服務器存儲所述游戲資源ID和第一校驗碼的對應關系;
[0066]S2.4,每當所述游戲資源池所存儲的所述游戲資源進行更新時,所述微端服務器重新計算該游戲資源的第一校驗碼,得到最新的第一校驗碼,并更新所述資源信息列表文件,使所述游戲資源池所存儲的第一校驗碼均為最新的第一校驗碼;
[0067]本發(fā)明中,資源信息列表文件的主要作用為:保證微端客戶端從微端服務器所下載得到的游戲資源的完整性,以及,如果微端客戶端的緩存中存在所需的游戲資源,能夠基于資源信息列表文件中的第一校驗碼,而驗證緩存中存在的游戲資源是否為最新的文件。 具體原理在后述過程中詳述。
[0068]因此,每當游戲資源池所存儲的某個游戲資源進行更新時,微端服務器即更新包含更新資源ID的資源信息列表文件中的對應的校驗碼,例如,以校驗碼為MD5碼為例,對于游戲資源池中的某個游戲畫面資源A,原游戲畫面資源A的內容包括2015.02.11的日期信息;則:微端服務器使用OpenSSH開源庫計算得到原游戲畫面資源A的MD5值為100 ;則:原資源信息列表文件存儲游戲畫面資源A與100的對應關系;當游戲資源池中的原游戲畫面資源A的日期由2015.02.11更新為2015.02.13時,微端服務器使用OpenSSH開源庫重新計算得到新的MD5值,設為200 ;則:微端服務器需要將資源信息列表文件更新為:游戲畫面資源A與200的對應關系;通過此種方式,可基于MD5值,實現(xiàn)對游戲資源的校驗。
[0069]S3,游戲客戶端封裝游戲進程和微端客戶端;其中,所述游戲進程通過所述微端客戶端與所述微端服務器建立通信連接;所述微端客戶端封裝該游戲進程運行所需的初始化資源;所述初始化資源包括:游戲加載界面、下載程序和與該游戲進程對應的資源信息列表文件存儲路徑;
[0070]S4,在所述游戲進程初始化啟動過程中,所述游戲進程向所述微端客戶端發(fā)送初始游戲資源的請求消息;
[0071]S5,所述微端客戶端接收到該請求消息后,并行執(zhí)行以下兩步:
[0072]步驟1:所述微端客戶端將所述游戲加載界面推送給所述游戲進程,所述游戲進程顯示所述游戲加載界面;
[0073]S卩:在用戶初始啟示游戲時,游戲界面為游戲進程加載界面,防止游戲初始啟示時為空白界面,從而提高玩家游戲體驗。
[0074]步驟2:包括:
[0075]S2.1:所述微端客戶端調用所述下載程序;
[0076]S2.2:所述下載程序基于所封裝的資源信息列表文件存儲路徑,下載到對應的資源信息列表文件;其中,所下載到的資源信息列表文件為最新的資源信息列表文件;
[0077]S2.3:所述微端客戶端判斷自身緩存中是否存儲所述初始游戲資源;如果存在, 則從緩存中讀取到所述初始游戲資源,然后直接執(zhí)行S2.4-S2.11 ;如果不存在,則執(zhí)行 S2.7-S2.11 ;
[0078]本步驟的主要原理為:如果為第一次獲取某種游戲資源,則緩存中必然不存在該游戲資源,需要微端客戶端從微端服務器下載;如果在最近的某段時間已獲取過某種游戲資源,則微端客戶端會設置資源緩存生命周期,在該緩存生命周期內,該游戲資源會存在緩存中,此時,不需要再次重新從微端服務器下載,而是可以直接從緩存中讀取到,從而提高微端客戶端得到某種游戲資源的時間;但是,在緩存對某種游戲資源進行緩存的過程中,有可能該游戲資源在游戲資源池進行了更新操作,因此,本發(fā)明中,引入了微端客戶端對從緩存中讀取到的游戲資源進行驗證的過程,即:基于校驗碼的方式進行驗證,如果驗證通過, 表明緩存中的該游戲資源為最新資源,微端客戶端可以直接將其推送給游戲進程;而如果驗證不通過,表明從緩存中讀取到的游戲資源為已過期資源,此時,微端客戶端需要重新從游戲資源池下載相關的游戲資源,并更新緩存。
[0079]S2.4,所述微端客戶端計算緩存中存儲的所述初始游戲資源的校驗碼,得到第二 fe驗碼;
[0080]S2.5,所述微端客戶端通過讀取步驟2.2得到的所述資源信息列表文件,得到所述初始游戲資源的第一校驗碼;
[0081]S2.6,所述微端客戶端判斷S2.4得到的所述第二校驗碼與S2.5得到的所述第一校驗碼是否相同,如果不相同,表明所述緩存中存儲的所述初始游戲資源為過時的游戲資源,然后,執(zhí)行S2.7 ;如果相同,則直接執(zhí)行S2.12 ;
[0082]S2.7,所述微端客戶端向所述微端服務器的游戲資源池請求下載所述初始游戲資源,并獲取到所述初始游戲資源;
[0083]S2.8,所述微端客戶端計算所述初始游戲資源的校驗碼,得到第二校驗碼;
[0084]S2.9,所述微端客戶端通過讀取步驟2.2得到的所述資源信息列表文件,得到所述初始游戲資源的第一校驗碼;
[0085]S2.10,所述微端客戶端判斷S2.8得到的所述第二校驗碼與S2.9得到的所述第一校驗碼是否相同,如果不相同,表明所述微端客戶端在S2.8接收到的所述初始游戲資源存在損壞,則需再次執(zhí)行S2.7-S2.10,重新下載所述初始游戲資源;如果相同,則執(zhí)行S2.11 ;
[0086]S2.11,所述微端客戶端將所下載得到的所述初始游戲資源存入緩存中,然后,執(zhí)行 S2.12 ;
[0087]S2.12,所述微端客戶端將最新的所述初始游戲資源發(fā)送給所述游戲進程;
[0088]S6,所述游戲進程運行所述初始游戲資源,完成游戲啟動過程;
[0089]S7,在所述游戲進程啟動成功后,所述游戲進程根據(jù)當前時刻的游戲場景,推算出距離當前時刻一定時間間隔內所需的游戲資源,然后,向所述微端客戶端發(fā)送預下載所需游戲資源的請求消息;
[0090]S8,所述微端客戶端接收到該請求消息后,僅將S2.3-S2.12中的所述初始游戲資源替換為S7中所需的游戲資源,然后,循環(huán)執(zhí)行S2.3-S2.12,完成對所需的游戲資源進行預下載的過程。
[0091]在上述過程中,第一校驗碼和第二校驗碼可均采用MD5校驗碼。
[0092]由此可見,本發(fā)明中,在游戲運行過程中,采用游戲資源預下載機制,S卩:在游戲進程未推進至需要相關資源之前,利用當前時刻T1到對相關資源需求時刻T2之間的時間間隔,通過微端客戶端對相關資源進行預下載,使游戲進程運行到對相關資源需求時,能夠快速的獲取到相關游戲資源,從而保證游戲的正常運行。
[0093]另外,通過本發(fā)明提供的校驗碼驗證機制,可保證微端客戶端獲取到最新的、完整的游戲資源,以防游戲客戶端使用出錯的資源而引發(fā)問題甚至崩潰,提高游戲運行安全性。
[0094]如圖1所示,本發(fā)明還提供一種微端引擎,包括微端服務器和微端客戶端;
[0095]所述微端服務器包括:
[0096]游戲資源池,用于存儲多個游戲運行時所需的游戲資源;
[0097]更新模塊,用于定時對所述游戲資源池所存儲的各個游戲資源進行更新操作;
[0098]資源信息列表文件,與唯一游戲ID對應,用于存儲該游戲ID運行時所需的所有游戲資源對應的游戲資源ID ;還存儲游戲資源ID和最新的第一校驗碼的對應關系;
[0099]所述微端客戶端包括:
[0100]資源存儲模塊,用于存儲游戲進程運行所需的初始化資源及緩存后下載獲取的游戲資源;其中,所述初始化資源包括:游戲加載界面、下載程序和與該游戲進程對應的資源信息列表文件存儲路徑
[0101]接收模塊,用于接收游戲進程所發(fā)送的對游戲資源的請求消息;
[0102]多線程下載模塊,包括資源信息列表文件下載線程和游戲資源下載線程;
[0103]其中,所述資源信息列表文件下載線程用于:基于所述資源信息列表文件存儲路徑,下載到對應的資源信息列表文件;其中,所下載到的資源信息列表文件為最新的資源信息列表文件;
[0104]所述游戲資源下載線程具體包括:
[0105]緩存查找模塊,用于當接收到所述游戲進程所發(fā)送的對游戲資源的請求消息時, 判斷自身緩存中是否存儲所述游戲資源;
[0106]第一文件校驗模塊,用于當所述緩存查找模塊查找到緩存中存儲有所述游戲資源時,計算緩存中存儲的所述游戲資源的校驗碼,得到第二校驗碼;
[0107]再讀取所述資源信息列表文件下載線程下載到的所述資源信息列表文件,得到所述游戲資源的第一校驗碼;然后比較所述第二校驗碼和所述第一校驗碼是否相同;
[0108]資源下載模塊,用于當所述緩存查找模塊未在緩存中查找到所需的游戲資源時, 或者,所述文件校驗模塊校驗得到所述第二校驗碼和所述第一校驗碼不相同時,從所述微端服務器下載所述游戲資源;
[0109]第二文件校驗模塊,用于對所述資源下載模塊下載得到的所述游戲資源進行文件校驗,判斷下載得到的所述游戲資源是否為完整未損壞的游戲資源;如果否,則再次調用所述資源下載模塊,重新進行游戲資源下載;如果是,則執(zhí)行后續(xù)的推送模塊;
[0110]推送模塊,用于當所述緩存查找模塊查找到緩存中存在所述游戲資源,且該游戲資源通過所述第一文件校驗模塊的文件校驗后,將校驗通過的游戲資源推送給游戲進程; 或者,用于將經過所述第二文件校驗模塊校驗通過后的游戲資源推送給游戲進程。
[0111]綜上所述,本發(fā)明提供的游戲資源的在線加載方法及微端引擎具有以下優(yōu)點:
[0112](1)將游戲運行時所需的游戲資源從游戲客戶端中分離出來,并將游戲資源存儲于微端服務器中;從而降低了游戲客戶端的容量,方便對游戲客戶端分發(fā)部署;
[0113](2)采用一種特殊的游戲資源加載方法,既可有效保證游戲進程所加載到的游戲資源的最新性和完整性,又能對相關資源進行預下載,使游戲進程運行到對相關資源需求時,能夠快速的獲取到相關游戲資源,從而保證游戲的正常運行。
[0114]以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發(fā)明的保護范圍。
【主權項】
1.一種游戲資源的在線加載方法,其特征在于,包括以下步驟:S1,創(chuàng)建微端引擎;其中,所述微端引擎包括微端客戶端和微端服務器;所述微端客戶 端和所述微端服務器為依賴網絡連接關系;所述微端服務器設置游戲資源池;其中,所述游戲資源池用于存儲多個游戲運行時所 需的游戲資源;并且,所述微端服務器定時對所述游戲資源池所存儲的各個游戲資源進行 更新操作;S2,所述微端服務器還配置與每一個游戲ID唯一對應的資源信息列表文件;其中,所 述資源信息列表文件用于存儲游戲資源ID和最新的第一校驗碼的對應關系;所述資源信 息列表文件所存儲的所有游戲資源ID所對應的游戲資源即為該游戲運行時所需的所有游 戲資源;另外,所述微端服務器通過以下方式計算得到并維護所述第一校驗碼:S2.1,初始時,所述微端服務器查找所述游戲資源池,得到與所述游戲資源ID對應的 游戲資源;S2.2,所述微端服務器計算所得到的所述游戲資源的第一校驗碼;S2.3,所述微端服務器存儲所述游戲資源ID和第一校驗碼的對應關系;52,4,每當所述游戲資源池所存儲的所述游戲資源進行更新時,所述微端服務器重新 計算該游戲資源的第一校驗碼,得到最新的第一校驗碼,并更新所述資源信息列表文件,使 所述游戲資源池所存儲的第一校驗碼均為最新的第一校驗碼;53,游戲客戶端封裝游戲進程和微端客戶端;其中,所述游戲進程通過所述微端客戶 端與所述微端服務器建立通信連接;所述微端客戶端封裝該游戲進程運行所需的初始化資 源;所述初始化資源包括:游戲加載界面、下載程序和與該游戲進程對應的資源信息列表 文件存儲路徑;54,在所述游戲進程初始化啟動過程中,所述游戲進程向所述微端客戶端發(fā)送初始游 戲資源的請求消息;55,所述微端客戶端接收到該請求消息后,并行執(zhí)行以下兩步:步驟1:所述微端客戶端將所述游戲加載界面推送給所述游戲進程,所述游戲進程顯 示所述游戲加載界面;步驟2:包括:S2.1:所述微端客戶端調用所述下載程序;S2.2:所述下載程序基于所封裝的資源信息列表文件存儲路徑,下載到對應的資源信 息列表文件;其中,所下載到的資源信息列表文件為最新的資源信息列表文件;S2.3:所述微端客戶端判斷自身緩存中是否存儲所述初始游戲資源;如果存在,則 從緩存中讀取到所述初始游戲資源,然后直接執(zhí)行S2.4-S2.11 ;如果不存在,則執(zhí)行 S2.7-S2.11 ;S2.4,所述微端客戶端計算緩存中存儲的所述初始游戲資源的校驗碼,得到第二校驗 碼;S2.5,所述微端客戶端通過讀取步驟2.2得到的所述資源信息列表文件,得到所述初 始游戲資源的第一校驗碼;S2.6,所述微端客戶端判斷S2.4得到的所述第二校驗碼與S2.5得到的所述第一校驗碼是否相同,如果不相同,表明所述緩存中存儲的所述初始游戲資源為過時的游戲資源,然 后,執(zhí)行S2.7 ;如果相同,則直接執(zhí)行S2.12 ;S2.7,所述微端客戶端向所述微端服務器的游戲資源池請求下載所述初始游戲資源, 并獲取到所述初始游戲資源;S2.8,所述微端客戶端計算所述初始游戲資源的校驗碼,得到第二校驗碼;S2.9,所述微端客戶端通過讀取步驟2.2得到的所述資源信息列表文件,得到所述初 始游戲資源的第一校驗碼;S2.10,所述微端客戶端判斷S2.8得到的所述第二校驗碼與S2.9得到的所述第一校驗 碼是否相同,如果不相同,表明所述微端客戶端在S2.8接收到的所述初始游戲資源存在損 壞,則需再次執(zhí)行S2.7-S2.10,重新下載所述初始游戲資源;如果相同,則執(zhí)行S2.11 ;S2.11,所述微端客戶端將所下載得到的所述初始游戲資源存入緩存中,然后,執(zhí)行 S2.12 ;S2.12,所述微端客戶端將最新的所述初始游戲資源發(fā)送給所述游戲進程;56,所述游戲進程運行所述初始游戲資源,完成游戲啟動過程;57,在所述游戲進程啟動成功后,所述游戲進程根據(jù)當前時刻的游戲場景,推算出距離 當前時刻一定時間間隔內所需的游戲資源,然后,向所述微端客戶端發(fā)送預下載所需游戲 資源的請求消息;58,所述微端客戶端接收到該請求消息后,僅將S2.3-S2.12中的所述初始游戲資源替 換為S7中所需的游戲資源,然后,循環(huán)執(zhí)行S2.3-S2.12,完成對所需的游戲資源進行預下 載的過程。2.根據(jù)權利要求1所述的游戲資源的在線加載方法,其特征在于,所述第一校驗碼和 所述第二校驗碼均為MD5校驗碼。3.—種微端引擎,其特征在于,包括微端服務器和微端客戶端;所述微端服務器包括:游戲資源池,用于存儲多個游戲運行時所需的游戲資源;更新模塊,用于定時對所述游戲資源池所存儲的各個游戲資源進行更新操作;資源信息列表文件,與唯一游戲ID對應,用于存儲該游戲ID運行時所需的所有游戲資 源對應的游戲資源ID ;還存儲游戲資源ID和最新的第一校驗碼的對應關系;所述微端客戶端包括:資源存儲模塊,用于存儲游戲進程運行所需的初始化資源及緩存后下載獲取的游戲資 源;其中,所述初始化資源包括:游戲加載界面、下載程序和與該游戲進程對應的資源信息 列表文件存儲路徑接收模塊,用于接收游戲進程所發(fā)送的對游戲資源的請求消息;多線程下載模塊,包括資源信息列表文件下載線程和游戲資源下載線程;其中,所述資源信息列表文件下載線程用于:基于所述資源信息列表文件存儲路徑,下 載到對應的資源信息列表文件;其中,所下載到的資源信息列表文件為最新的資源信息列 表文件;所述游戲資源下載線程具體包括:緩存查找模塊,用于當接收到所述游戲進程所發(fā)送的對游戲資源的請求消息時,判斷自身緩存中是否存儲所述游戲資源;第一文件校驗模塊,用于當所述緩存查找模塊查找到緩存中存儲有所述游戲資源時, 計算緩存中存儲的所述游戲資源的校驗碼,得到第二校驗碼;再讀取所述資源信息列表文件下載線程下載到的所述資源信息列表文件,得到所述游 戲資源的第一校驗碼;然后比較所述第二校驗碼和所述第一校驗碼是否相同;資源下載模塊,用于當所述緩存查找模塊未在緩存中查找到所需的游戲資源時,或者, 所述文件校驗模塊校驗得到所述第二校驗碼和所述第一校驗碼不相同時,從所述微端服務 器下載所述游戲資源;第二文件校驗模塊,用于對所述資源下載模塊下載得到的所述游戲資源進行文件校 驗,判斷下載得到的所述游戲資源是否為完整未損壞的游戲資源;如果否,則再次調用所述 資源下載模塊,重新進行游戲資源下載;如果是,則執(zhí)行后續(xù)的推送模塊;推送模塊,用于當所述緩存查找模塊查找到緩存中存在所述游戲資源,且該游戲資源 通過所述第一文件校驗模塊的文件校驗后,將校驗通過的游戲資源推送給游戲進程;或者, 用于將經過所述第二文件校驗模塊校驗通過后的游戲資源推送給游戲進程。
【文檔編號】G06F9/44GK105988809SQ201510083464
【公開日】2016年10月5日
【申請日】2015年2月13日
【發(fā)明人】錢峰
【申請人】廣州四三九九信息科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1