一种游戏资源的在线加载方法及微端引擎的制作方法

文档序号:10624589阅读:165来源:国知局
一种游戏资源的在线加载方法及微端引擎的制作方法
【专利摘要】本发明提供一种游戏资源的在线加载方法及微端引擎,微端引擎包括微端服务器和微端客户端;微端服务器包括游戏资源池、更新模块和资源信息列表文件;微端客户端包括资源存储模块、接收模块、多线程下载模块和推送模块。有以下优点:(1)将游戏运行时所需的游戏资源从游戏客户端中分离出来,并将游戏资源存储于微端服务器中;从而降低了游戏客户端的容量,方便对游戏客户端分发部署;(2)采用一种特殊的游戏资源加载方法,可有效保证游戏进程所加载到的游戏资源的最新性和完整性,保证游戏正常运行。
【专利说明】
一种游戏资源的在线加载方法及微端引擎
技术领域
[0001]本发明属于游戏开发技术领域,具体涉及一种游戏资源的在线加载方法及微端引擎。【背景技术】
[0002]随着媒体互联网的迅速发展,数字互动娱乐延伸到新的领域,网络游戏是近年来得到广泛关注并且发展极为迅速的一个产业,如今我国网络游戏业的巨大市场使得游戏从业人员不断发展软件技术以提升玩家的游戏体验。
[0003]现有的游戏客户端通常包括游戏运行时所需的所有游戏资源,例如,图片、音频和视频等资源。而对于一个在线游戏,其运行所需的游戏资源的数量非常庞大,导致现有的游戏客户端整体容量比较庞大,增加了游戏客户端分发部署的难度,不利于游戏客户端的推广使用。
【发明内容】

[0004]针对现有技术存在的缺陷,本发明提供一种游戏资源的在线加载方法及微端引擎,可有效解决上述问题。
[0005]本发明采用的技术方案如下:
[0006]本发明提供一种游戏资源的在线加载方法,包括以下步骤:
[0007]S1,创建微端引擎;其中,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器为依赖网络连接关系;
[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,在所述游戏进程初始化启动过程中,所述游戏进程向所述微端客户端发送初始游戏资源的请求消息;
[0017]S5,所述微端客户端接收到该请求消息后,并行执行以下两步:
[0018]步骤1:所述微端客户端将所述游戏加载界面推送给所述游戏进程,所述游戏进程显示所述游戏加载界面;
[0019]步骤2:包括:
[0020]S2.1:所述微端客户端调用所述下载程序;
[0021]S2.2:所述下载程序基于所封装的资源信息列表文件存储路径,下载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;
[0022]S2.3:所述微端客户端判断自身缓存中是否存储所述初始游戏资源;如果存在, 则从缓存中读取到所述初始游戏资源,然后直接执行S2.4-S2.11 ;如果不存在,则执行 S2.7-S2.11 ;
[0023]S2.4,所述微端客户端计算缓存中存储的所述初始游戏资源的校验码,得到第二 fe验码;
[0024]S2.5,所述微端客户端通过读取步骤2.2得到的所述资源信息列表文件,得到所述初始游戏资源的第一校验码;
[0025]S2.6,所述微端客户端判断S2.4得到的所述第二校验码与S2.5得到的所述第一校验码是否相同,如果不相同,表明所述缓存中存储的所述初始游戏资源为过时的游戏资源,然后,执行S2.7 ;如果相同,则直接执行S2.12 ;
[0026]S2.7,所述微端客户端向所述微端服务器的游戏资源池请求下载所述初始游戏资源,并获取到所述初始游戏资源;
[0027]S2.8,所述微端客户端计算所述初始游戏资源的校验码,得到第二校验码;
[0028]S2.9,所述微端客户端通过读取步骤2.2得到的所述资源信息列表文件,得到所述初始游戏资源的第一校验码;
[0029]S2.10,所述微端客户端判断S2.8得到的所述第二校验码与S2.9得到的所述第一校验码是否相同,如果不相同,表明所述微端客户端在S2.8接收到的所述初始游戏资源存在损坏,则需再次执行S2.7-S2.10,重新下载所述初始游戏资源;如果相同,则执行S2.11 ;
[0030]S2.11,所述微端客户端将所下载得到的所述初始游戏资源存入缓存中,然后,执行 S2.12 ;
[0031]S2.12,所述微端客户端将最新的所述初始游戏资源发送给所述游戏进程;
[0032]S6,所述游戏进程运行所述初始游戏资源,完成游戏启动过程;
[0033]S7,在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,然后,向所述微端客户端发送预下载所需游戏资源的请求消息;
[0034]S8,所述微端客户端接收到该请求消息后,仅将S2.3-S2.12中的所述初始游戏资源替换为S7中所需的游戏资源,然后,循环执行S2.3-S2.12,完成对所需的游戏资源进行预下载的过程。
[0035]优选的,所述第一校验码和所述第二校验码均为MD5校验码。
[0036]本发明还提供一种微端引擎,包括微端服务器和微端客户端;
[0037]所述微端服务器包括:
[0038]游戏资源池,用于存储多个游戏运行时所需的游戏资源;
[0039]更新模块,用于定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
[0040]资源信息列表文件,与唯一游戏ID对应,用于存储该游戏ID运行时所需的所有游戏资源对应的游戏资源ID ;还存储游戏资源ID和最新的第一校验码的对应关系;
[0041]所述微端客户端包括:
[0042]资源存储模块,用于存储游戏进程运行所需的初始化资源及缓存后下载获取的游戏资源;其中,所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径
[0043]接收模块,用于接收游戏进程所发送的对游戏资源的请求消息;
[0044]多线程下载模块,包括资源信息列表文件下载线程和游戏资源下载线程;
[0045]其中,所述资源信息列表文件下载线程用于:基于所述资源信息列表文件存储路径,下载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;
[0046]所述游戏资源下载线程具体包括:
[0047]缓存查找模块,用于当接收到所述游戏进程所发送的对游戏资源的请求消息时, 判断自身缓存中是否存储所述游戏资源;
[0048]第一文件校验模块,用于当所述缓存查找模块查找到缓存中存储有所述游戏资源时,计算缓存中存储的所述游戏资源的校验码,得到第二校验码;
[0049]再读取所述资源信息列表文件下载线程下载到的所述资源信息列表文件,得到所述游戏资源的第一校验码;然后比较所述第二校验码和所述第一校验码是否相同;
[0050]资源下载模块,用于当所述缓存查找模块未在缓存中查找到所需的游戏资源时, 或者,所述文件校验模块校验得到所述第二校验码和所述第一校验码不相同时,从所述微端服务器下载所述游戏资源;
[0051]第二文件校验模块,用于对所述资源下载模块下载得到的所述游戏资源进行文件校验,判断下载得到的所述游戏资源是否为完整未损坏的游戏资源;如果否,则再次调用所述资源下载模块,重新进行游戏资源下载;如果是,则执行后续的推送模块;
[0052]推送模块,用于当所述缓存查找模块查找到缓存中存在所述游戏资源,且该游戏资源通过所述第一文件校验模块的文件校验后,将校验通过的游戏资源推送给游戏进程; 或者,用于将经过所述第二文件校验模块校验通过后的游戏资源推送给游戏进程。
[0053]本发明提供的游戏资源的在线加载方法及微端引擎具有以下优点:
[0054](1)将游戏运行时所需的游戏资源从游戏客户端中分离出来,并将游戏资源存储于微端服务器中;从而降低了游戏客户端的容量,方便对游戏客户端分发部署;
[0055](2)采用一种特殊的游戏资源加载方法,可有效保证游戏进程所加载到的游戏资源的最新性和完整性,保证游戏正常运行。【附图说明】
[0056]图1为本发明提供的微端引擎的结构示意图。【具体实施方式】
[0057]以下结合附图对本发明进行详细说明:
[0058]本发明提供一种游戏资源的在线加载方法,包括以下步骤:
[0059]S1,创建微端引擎;其中,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器为依赖网络连接关系;
[0060]所述微端服务器设置游戏资源池;其中,所述游戏资源池用于存储多个游戏运行时所需的游戏资源;并且,所述微端服务器定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
[0061]S2,所述微端服务器还配置与每一个游戏ID唯一对应的资源信息列表文件;其中,所述资源信息列表文件用于存储游戏资源ID和最新的第一校验码的对应关系;所述资源信息列表文件所存储的所有游戏资源ID所对应的游戏资源即为该游戏运行时所需的所有游戏资源;
[0062]另外,所述微端服务器通过以下方式计算得到并维护所述第一校验码:
[0063]S2.1,初始时,所述微端服务器查找所述游戏资源池,得到与所述游戏资源ID对应的游戏资源;
[0064]S2.2,所述微端服务器计算所得到的所述游戏资源的第一校验码;
[0065]S2.3,所述微端服务器存储所述游戏资源ID和第一校验码的对应关系;
[0066]S2.4,每当所述游戏资源池所存储的所述游戏资源进行更新时,所述微端服务器重新计算该游戏资源的第一校验码,得到最新的第一校验码,并更新所述资源信息列表文件,使所述游戏资源池所存储的第一校验码均为最新的第一校验码;
[0067]本发明中,资源信息列表文件的主要作用为:保证微端客户端从微端服务器所下载得到的游戏资源的完整性,以及,如果微端客户端的缓存中存在所需的游戏资源,能够基于资源信息列表文件中的第一校验码,而验证缓存中存在的游戏资源是否为最新的文件。 具体原理在后述过程中详述。
[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值,实现对游戏资源的校验。
[0069]S3,游戏客户端封装游戏进程和微端客户端;其中,所述游戏进程通过所述微端客户端与所述微端服务器建立通信连接;所述微端客户端封装该游戏进程运行所需的初始化资源;所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径;
[0070]S4,在所述游戏进程初始化启动过程中,所述游戏进程向所述微端客户端发送初始游戏资源的请求消息;
[0071]S5,所述微端客户端接收到该请求消息后,并行执行以下两步:
[0072]步骤1:所述微端客户端将所述游戏加载界面推送给所述游戏进程,所述游戏进程显示所述游戏加载界面;
[0073]S卩:在用户初始启示游戏时,游戏界面为游戏进程加载界面,防止游戏初始启示时为空白界面,从而提高玩家游戏体验。
[0074]步骤2:包括:
[0075]S2.1:所述微端客户端调用所述下载程序;
[0076]S2.2:所述下载程序基于所封装的资源信息列表文件存储路径,下载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;
[0077]S2.3:所述微端客户端判断自身缓存中是否存储所述初始游戏资源;如果存在, 则从缓存中读取到所述初始游戏资源,然后直接执行S2.4-S2.11 ;如果不存在,则执行 S2.7-S2.11 ;
[0078]本步骤的主要原理为:如果为第一次获取某种游戏资源,则缓存中必然不存在该游戏资源,需要微端客户端从微端服务器下载;如果在最近的某段时间已获取过某种游戏资源,则微端客户端会设置资源缓存生命周期,在该缓存生命周期内,该游戏资源会存在缓存中,此时,不需要再次重新从微端服务器下载,而是可以直接从缓存中读取到,从而提高微端客户端得到某种游戏资源的时间;但是,在缓存对某种游戏资源进行缓存的过程中,有可能该游戏资源在游戏资源池进行了更新操作,因此,本发明中,引入了微端客户端对从缓存中读取到的游戏资源进行验证的过程,即:基于校验码的方式进行验证,如果验证通过, 表明缓存中的该游戏资源为最新资源,微端客户端可以直接将其推送给游戏进程;而如果验证不通过,表明从缓存中读取到的游戏资源为已过期资源,此时,微端客户端需要重新从游戏资源池下载相关的游戏资源,并更新缓存。
[0079]S2.4,所述微端客户端计算缓存中存储的所述初始游戏资源的校验码,得到第二 fe验码;
[0080]S2.5,所述微端客户端通过读取步骤2.2得到的所述资源信息列表文件,得到所述初始游戏资源的第一校验码;
[0081]S2.6,所述微端客户端判断S2.4得到的所述第二校验码与S2.5得到的所述第一校验码是否相同,如果不相同,表明所述缓存中存储的所述初始游戏资源为过时的游戏资源,然后,执行S2.7 ;如果相同,则直接执行S2.12 ;
[0082]S2.7,所述微端客户端向所述微端服务器的游戏资源池请求下载所述初始游戏资源,并获取到所述初始游戏资源;
[0083]S2.8,所述微端客户端计算所述初始游戏资源的校验码,得到第二校验码;
[0084]S2.9,所述微端客户端通过读取步骤2.2得到的所述资源信息列表文件,得到所述初始游戏资源的第一校验码;
[0085]S2.10,所述微端客户端判断S2.8得到的所述第二校验码与S2.9得到的所述第一校验码是否相同,如果不相同,表明所述微端客户端在S2.8接收到的所述初始游戏资源存在损坏,则需再次执行S2.7-S2.10,重新下载所述初始游戏资源;如果相同,则执行S2.11 ;
[0086]S2.11,所述微端客户端将所下载得到的所述初始游戏资源存入缓存中,然后,执行 S2.12 ;
[0087]S2.12,所述微端客户端将最新的所述初始游戏资源发送给所述游戏进程;
[0088]S6,所述游戏进程运行所述初始游戏资源,完成游戏启动过程;
[0089]S7,在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,然后,向所述微端客户端发送预下载所需游戏资源的请求消息;
[0090]S8,所述微端客户端接收到该请求消息后,仅将S2.3-S2.12中的所述初始游戏资源替换为S7中所需的游戏资源,然后,循环执行S2.3-S2.12,完成对所需的游戏资源进行预下载的过程。
[0091]在上述过程中,第一校验码和第二校验码可均采用MD5校验码。
[0092]由此可见,本发明中,在游戏运行过程中,采用游戏资源预下载机制,S卩:在游戏进程未推进至需要相关资源之前,利用当前时刻T1到对相关资源需求时刻T2之间的时间间隔,通过微端客户端对相关资源进行预下载,使游戏进程运行到对相关资源需求时,能够快速的获取到相关游戏资源,从而保证游戏的正常运行。
[0093]另外,通过本发明提供的校验码验证机制,可保证微端客户端获取到最新的、完整的游戏资源,以防游戏客户端使用出错的资源而引发问题甚至崩溃,提高游戏运行安全性。
[0094]如图1所示,本发明还提供一种微端引擎,包括微端服务器和微端客户端;
[0095]所述微端服务器包括:
[0096]游戏资源池,用于存储多个游戏运行时所需的游戏资源;
[0097]更新模块,用于定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
[0098]资源信息列表文件,与唯一游戏ID对应,用于存储该游戏ID运行时所需的所有游戏资源对应的游戏资源ID ;还存储游戏资源ID和最新的第一校验码的对应关系;
[0099]所述微端客户端包括:
[0100]资源存储模块,用于存储游戏进程运行所需的初始化资源及缓存后下载获取的游戏资源;其中,所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径
[0101]接收模块,用于接收游戏进程所发送的对游戏资源的请求消息;
[0102]多线程下载模块,包括资源信息列表文件下载线程和游戏资源下载线程;
[0103]其中,所述资源信息列表文件下载线程用于:基于所述资源信息列表文件存储路径,下载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;
[0104]所述游戏资源下载线程具体包括:
[0105]缓存查找模块,用于当接收到所述游戏进程所发送的对游戏资源的请求消息时, 判断自身缓存中是否存储所述游戏资源;
[0106]第一文件校验模块,用于当所述缓存查找模块查找到缓存中存储有所述游戏资源时,计算缓存中存储的所述游戏资源的校验码,得到第二校验码;
[0107]再读取所述资源信息列表文件下载线程下载到的所述资源信息列表文件,得到所述游戏资源的第一校验码;然后比较所述第二校验码和所述第一校验码是否相同;
[0108]资源下载模块,用于当所述缓存查找模块未在缓存中查找到所需的游戏资源时, 或者,所述文件校验模块校验得到所述第二校验码和所述第一校验码不相同时,从所述微端服务器下载所述游戏资源;
[0109]第二文件校验模块,用于对所述资源下载模块下载得到的所述游戏资源进行文件校验,判断下载得到的所述游戏资源是否为完整未损坏的游戏资源;如果否,则再次调用所述资源下载模块,重新进行游戏资源下载;如果是,则执行后续的推送模块;
[0110]推送模块,用于当所述缓存查找模块查找到缓存中存在所述游戏资源,且该游戏资源通过所述第一文件校验模块的文件校验后,将校验通过的游戏资源推送给游戏进程; 或者,用于将经过所述第二文件校验模块校验通过后的游戏资源推送给游戏进程。
[0111]综上所述,本发明提供的游戏资源的在线加载方法及微端引擎具有以下优点:
[0112](1)将游戏运行时所需的游戏资源从游戏客户端中分离出来,并将游戏资源存储于微端服务器中;从而降低了游戏客户端的容量,方便对游戏客户端分发部署;
[0113](2)采用一种特殊的游戏资源加载方法,既可有效保证游戏进程所加载到的游戏资源的最新性和完整性,又能对相关资源进行预下载,使游戏进程运行到对相关资源需求时,能够快速的获取到相关游戏资源,从而保证游戏的正常运行。
[0114]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【主权项】
1.一种游戏资源的在线加载方法,其特征在于,包括以下步骤:S1,创建微端引擎;其中,所述微端引擎包括微端客户端和微端服务器;所述微端客户 端和所述微端服务器为依赖网络连接关系;所述微端服务器设置游戏资源池;其中,所述游戏资源池用于存储多个游戏运行时所 需的游戏资源;并且,所述微端服务器定时对所述游戏资源池所存储的各个游戏资源进行 更新操作;S2,所述微端服务器还配置与每一个游戏ID唯一对应的资源信息列表文件;其中,所 述资源信息列表文件用于存储游戏资源ID和最新的第一校验码的对应关系;所述资源信 息列表文件所存储的所有游戏资源ID所对应的游戏资源即为该游戏运行时所需的所有游 戏资源;另外,所述微端服务器通过以下方式计算得到并维护所述第一校验码:S2.1,初始时,所述微端服务器查找所述游戏资源池,得到与所述游戏资源ID对应的 游戏资源;S2.2,所述微端服务器计算所得到的所述游戏资源的第一校验码;S2.3,所述微端服务器存储所述游戏资源ID和第一校验码的对应关系;52,4,每当所述游戏资源池所存储的所述游戏资源进行更新时,所述微端服务器重新 计算该游戏资源的第一校验码,得到最新的第一校验码,并更新所述资源信息列表文件,使 所述游戏资源池所存储的第一校验码均为最新的第一校验码;53,游戏客户端封装游戏进程和微端客户端;其中,所述游戏进程通过所述微端客户 端与所述微端服务器建立通信连接;所述微端客户端封装该游戏进程运行所需的初始化资 源;所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表 文件存储路径;54,在所述游戏进程初始化启动过程中,所述游戏进程向所述微端客户端发送初始游 戏资源的请求消息;55,所述微端客户端接收到该请求消息后,并行执行以下两步:步骤1:所述微端客户端将所述游戏加载界面推送给所述游戏进程,所述游戏进程显 示所述游戏加载界面;步骤2:包括:S2.1:所述微端客户端调用所述下载程序;S2.2:所述下载程序基于所封装的资源信息列表文件存储路径,下载到对应的资源信 息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;S2.3:所述微端客户端判断自身缓存中是否存储所述初始游戏资源;如果存在,则 从缓存中读取到所述初始游戏资源,然后直接执行S2.4-S2.11 ;如果不存在,则执行 S2.7-S2.11 ;S2.4,所述微端客户端计算缓存中存储的所述初始游戏资源的校验码,得到第二校验 码;S2.5,所述微端客户端通过读取步骤2.2得到的所述资源信息列表文件,得到所述初 始游戏资源的第一校验码;S2.6,所述微端客户端判断S2.4得到的所述第二校验码与S2.5得到的所述第一校验码是否相同,如果不相同,表明所述缓存中存储的所述初始游戏资源为过时的游戏资源,然 后,执行S2.7 ;如果相同,则直接执行S2.12 ;S2.7,所述微端客户端向所述微端服务器的游戏资源池请求下载所述初始游戏资源, 并获取到所述初始游戏资源;S2.8,所述微端客户端计算所述初始游戏资源的校验码,得到第二校验码;S2.9,所述微端客户端通过读取步骤2.2得到的所述资源信息列表文件,得到所述初 始游戏资源的第一校验码;S2.10,所述微端客户端判断S2.8得到的所述第二校验码与S2.9得到的所述第一校验 码是否相同,如果不相同,表明所述微端客户端在S2.8接收到的所述初始游戏资源存在损 坏,则需再次执行S2.7-S2.10,重新下载所述初始游戏资源;如果相同,则执行S2.11 ;S2.11,所述微端客户端将所下载得到的所述初始游戏资源存入缓存中,然后,执行 S2.12 ;S2.12,所述微端客户端将最新的所述初始游戏资源发送给所述游戏进程;56,所述游戏进程运行所述初始游戏资源,完成游戏启动过程;57,在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离 当前时刻一定时间间隔内所需的游戏资源,然后,向所述微端客户端发送预下载所需游戏 资源的请求消息;58,所述微端客户端接收到该请求消息后,仅将S2.3-S2.12中的所述初始游戏资源替 换为S7中所需的游戏资源,然后,循环执行S2.3-S2.12,完成对所需的游戏资源进行预下 载的过程。2.根据权利要求1所述的游戏资源的在线加载方法,其特征在于,所述第一校验码和 所述第二校验码均为MD5校验码。3.—种微端引擎,其特征在于,包括微端服务器和微端客户端;所述微端服务器包括:游戏资源池,用于存储多个游戏运行时所需的游戏资源;更新模块,用于定时对所述游戏资源池所存储的各个游戏资源进行更新操作;资源信息列表文件,与唯一游戏ID对应,用于存储该游戏ID运行时所需的所有游戏资 源对应的游戏资源ID ;还存储游戏资源ID和最新的第一校验码的对应关系;所述微端客户端包括:资源存储模块,用于存储游戏进程运行所需的初始化资源及缓存后下载获取的游戏资 源;其中,所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息 列表文件存储路径接收模块,用于接收游戏进程所发送的对游戏资源的请求消息;多线程下载模块,包括资源信息列表文件下载线程和游戏资源下载线程;其中,所述资源信息列表文件下载线程用于:基于所述资源信息列表文件存储路径,下 载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列 表文件;所述游戏资源下载线程具体包括:缓存查找模块,用于当接收到所述游戏进程所发送的对游戏资源的请求消息时,判断自身缓存中是否存储所述游戏资源;第一文件校验模块,用于当所述缓存查找模块查找到缓存中存储有所述游戏资源时, 计算缓存中存储的所述游戏资源的校验码,得到第二校验码;再读取所述资源信息列表文件下载线程下载到的所述资源信息列表文件,得到所述游 戏资源的第一校验码;然后比较所述第二校验码和所述第一校验码是否相同;资源下载模块,用于当所述缓存查找模块未在缓存中查找到所需的游戏资源时,或者, 所述文件校验模块校验得到所述第二校验码和所述第一校验码不相同时,从所述微端服务 器下载所述游戏资源;第二文件校验模块,用于对所述资源下载模块下载得到的所述游戏资源进行文件校 验,判断下载得到的所述游戏资源是否为完整未损坏的游戏资源;如果否,则再次调用所述 资源下载模块,重新进行游戏资源下载;如果是,则执行后续的推送模块;推送模块,用于当所述缓存查找模块查找到缓存中存在所述游戏资源,且该游戏资源 通过所述第一文件校验模块的文件校验后,将校验通过的游戏资源推送给游戏进程;或者, 用于将经过所述第二文件校验模块校验通过后的游戏资源推送给游戏进程。
【文档编号】G06F9/44GK105988809SQ201510083464
【公开日】2016年10月5日
【申请日】2015年2月13日
【发明人】钱峰
【申请人】广州四三九九信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1