CN105988809B - 一种游戏资源的在线加载方法及微端引擎 - Google Patents
一种游戏资源的在线加载方法及微端引擎 Download PDFInfo
- Publication number
- CN105988809B CN105988809B CN201510083464.8A CN201510083464A CN105988809B CN 105988809 B CN105988809 B CN 105988809B CN 201510083464 A CN201510083464 A CN 201510083464A CN 105988809 B CN105988809 B CN 105988809B
- Authority
- CN
- China
- Prior art keywords
- game
- resource
- micro
- check code
- game resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种游戏资源的在线加载方法及微端引擎,微端引擎包括微端服务器和微端客户端;微端服务器包括游戏资源池、更新模块和资源信息列表文件;微端客户端包括资源存储模块、接收模块、多线程下载模块和推送模块。有以下优点:(1)将游戏运行时所需的游戏资源从游戏客户端中分离出来,并将游戏资源存储于微端服务器中;从而降低了游戏客户端的容量,方便对游戏客户端分发部署;(2)采用一种特殊的游戏资源加载方法,可有效保证游戏进程所加载到的游戏资源的最新性和完整性,保证游戏正常运行。
Description
技术领域
本发明属于游戏开发技术领域,具体涉及一种游戏资源的在线加载方法及微端引擎。
背景技术
随着媒体互联网的迅速发展,数字互动娱乐延伸到新的领域,网络游戏是近年来得到广泛关注并且发展极为迅速的一个产业,如今我国网络游戏业的巨大市场使得游戏从业人员不断发展软件技术以提升玩家的游戏体验。
现有的游戏客户端通常包括游戏运行时所需的所有游戏资源,例如,图片、音频和视频等资源。而对于一个在线游戏,其运行所需的游戏资源的数量非常庞大,导致现有的游戏客户端整体容量比较庞大,增加了游戏客户端分发部署的难度,不利于游戏客户端的推广使用。
发明内容
针对现有技术存在的缺陷,本发明提供一种游戏资源的在线加载方法及微端引擎,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种游戏资源的在线加载方法,包括以下步骤:
S1,创建微端引擎;其中,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器为依赖网络连接关系;
所述微端服务器设置游戏资源池;其中,所述游戏资源池用于存储多个游戏运行时所需的游戏资源;并且,所述微端服务器定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
S2,所述微端服务器还配置与每一个游戏ID唯一对应的资源信息列表文件;其中,所述资源信息列表文件用于存储游戏资源ID和最新的第一校验码的对应关系;所述资源信息列表文件所存储的所有游戏资源ID所对应的游戏资源即为该游戏运行时所需的所有游戏资源;
另外,所述微端服务器通过以下方式计算得到并维护所述第一校验码:
S2.1,初始时,所述微端服务器查找所述游戏资源池,得到与所述游戏资源ID对应的游戏资源;
S2.2,所述微端服务器计算所得到的所述游戏资源的第一校验码;
S2.3,所述微端服务器存储所述游戏资源ID和第一校验码的对应关系;
S2.4,每当所述游戏资源池所存储的所述游戏资源进行更新时,所述微端服务器重新计算该游戏资源的第一校验码,得到最新的第一校验码,并更新所述资源信息列表文件,使所述游戏资源池所存储的第一校验码均为最新的第一校验码;
S3,游戏客户端封装游戏进程和微端客户端;其中,所述游戏进程通过所述微端客户端与所述微端服务器建立通信连接;所述微端客户端封装该游戏进程运行所需的初始化资源;所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径;
S4,在所述游戏进程初始化启动过程中,所述游戏进程向所述微端客户端发送初始游戏资源的请求消息;
S5,所述微端客户端接收到该请求消息后,并行执行以下两步:
步骤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,所述微端客户端将最新的所述初始游戏资源发送给所述游戏进程;
S6,所述游戏进程运行所述初始游戏资源,完成游戏启动过程;
S7,在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,然后,向所述微端客户端发送预下载所需游戏资源的请求消息;
S8,所述微端客户端接收到该请求消息后,仅将S2.3-S2.12中的所述初始游戏资源替换为S7中所需的游戏资源,然后,循环执行S2.3-S2.12,完成对所需的游戏资源进行预下载的过程。
优选的,所述第一校验码和所述第二校验码均为MD5校验码。
本发明还提供一种微端引擎,包括微端服务器和微端客户端;
所述微端服务器包括:
游戏资源池,用于存储多个游戏运行时所需的游戏资源;
更新模块,用于定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
资源信息列表文件,与唯一游戏ID对应,用于存储该游戏ID运行时所需的所有游戏资源对应的游戏资源ID;还存储游戏资源ID和最新的第一校验码的对应关系;
所述微端客户端包括:
资源存储模块,用于存储游戏进程运行所需的初始化资源及缓存后下载获取的游戏资源;其中,所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径
接收模块,用于接收游戏进程所发送的对游戏资源的请求消息;
多线程下载模块,包括资源信息列表文件下载线程和游戏资源下载线程;
其中,所述资源信息列表文件下载线程用于:基于所述资源信息列表文件存储路径,下载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;
所述游戏资源下载线程具体包括:
缓存查找模块,用于当接收到所述游戏进程所发送的对游戏资源的请求消息时,判断自身缓存中是否存储所述游戏资源;
第一文件校验模块,用于当所述缓存查找模块查找到缓存中存储有所述游戏资源时,计算缓存中存储的所述游戏资源的校验码,得到第二校验码;
再读取所述资源信息列表文件下载线程下载到的所述资源信息列表文件,得到所述游戏资源的第一校验码;然后比较所述第二校验码和所述第一校验码是否相同;
资源下载模块,用于当所述缓存查找模块未在缓存中查找到所需的游戏资源时,或者,所述文件校验模块校验得到所述第二校验码和所述第一校验码不相同时,从所述微端服务器下载所述游戏资源;
第二文件校验模块,用于对所述资源下载模块下载得到的所述游戏资源进行文件校验,判断下载得到的所述游戏资源是否为完整未损坏的游戏资源;如果否,则再次调用所述资源下载模块,重新进行游戏资源下载;如果是,则执行后续的推送模块;
推送模块,用于当所述缓存查找模块查找到缓存中存在所述游戏资源,且该游戏资源通过所述第一文件校验模块的文件校验后,将校验通过的游戏资源推送给游戏进程;或者,用于将经过所述第二文件校验模块校验通过后的游戏资源推送给游戏进程。
本发明提供的游戏资源的在线加载方法及微端引擎具有以下优点:
(1)将游戏运行时所需的游戏资源从游戏客户端中分离出来,并将游戏资源存储于微端服务器中;从而降低了游戏客户端的容量,方便对游戏客户端分发部署;
(2)采用一种特殊的游戏资源加载方法,可有效保证游戏进程所加载到的游戏资源的最新性和完整性,保证游戏正常运行。
附图说明
图1为本发明提供的微端引擎的结构示意图。
具体实施方式
以下结合附图对本发明进行详细说明:
本发明提供一种游戏资源的在线加载方法,包括以下步骤:
S1,创建微端引擎;其中,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器为依赖网络连接关系;
所述微端服务器设置游戏资源池;其中,所述游戏资源池用于存储多个游戏运行时所需的游戏资源;并且,所述微端服务器定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
S2,所述微端服务器还配置与每一个游戏ID唯一对应的资源信息列表文件;其中,所述资源信息列表文件用于存储游戏资源ID和最新的第一校验码的对应关系;所述资源信息列表文件所存储的所有游戏资源ID所对应的游戏资源即为该游戏运行时所需的所有游戏资源;
另外,所述微端服务器通过以下方式计算得到并维护所述第一校验码:
S2.1,初始时,所述微端服务器查找所述游戏资源池,得到与所述游戏资源ID对应的游戏资源;
S2.2,所述微端服务器计算所得到的所述游戏资源的第一校验码;
S2.3,所述微端服务器存储所述游戏资源ID和第一校验码的对应关系;
S2.4,每当所述游戏资源池所存储的所述游戏资源进行更新时,所述微端服务器重新计算该游戏资源的第一校验码,得到最新的第一校验码,并更新所述资源信息列表文件,使所述游戏资源池所存储的第一校验码均为最新的第一校验码;
本发明中,资源信息列表文件的主要作用为:保证微端客户端从微端服务器所下载得到的游戏资源的完整性,以及,如果微端客户端的缓存中存在所需的游戏资源,能够基于资源信息列表文件中的第一校验码,而验证缓存中存在的游戏资源是否为最新的文件。具体原理在后述过程中详述。
因此,每当游戏资源池所存储的某个游戏资源进行更新时,微端服务器即更新包含更新资源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值,实现对游戏资源的校验。
S3,游戏客户端封装游戏进程和微端客户端;其中,所述游戏进程通过所述微端客户端与所述微端服务器建立通信连接;所述微端客户端封装该游戏进程运行所需的初始化资源;所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径;
S4,在所述游戏进程初始化启动过程中,所述游戏进程向所述微端客户端发送初始游戏资源的请求消息;
S5,所述微端客户端接收到该请求消息后,并行执行以下两步:
步骤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,所述微端客户端将最新的所述初始游戏资源发送给所述游戏进程;
S6,所述游戏进程运行所述初始游戏资源,完成游戏启动过程;
S7,在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,然后,向所述微端客户端发送预下载所需游戏资源的请求消息;
S8,所述微端客户端接收到该请求消息后,仅将S2.3-S2.12中的所述初始游戏资源替换为S7中所需的游戏资源,然后,循环执行S2.3-S2.12,完成对所需的游戏资源进行预下载的过程。
在上述过程中,第一校验码和第二校验码可均采用MD5校验码。
由此可见,本发明中,在游戏运行过程中,采用游戏资源预下载机制,即:在游戏进程未推进至需要相关资源之前,利用当前时刻T1到对相关资源需求时刻T2之间的时间间隔,通过微端客户端对相关资源进行预下载,使游戏进程运行到对相关资源需求时,能够快速的获取到相关游戏资源,从而保证游戏的正常运行。
另外,通过本发明提供的校验码验证机制,可保证微端客户端获取到最新的、完整的游戏资源,以防游戏客户端使用出错的资源而引发问题甚至崩溃,提高游戏运行安全性。
如图1所示,本发明还提供一种微端引擎,包括微端服务器和微端客户端;
所述微端服务器包括:
游戏资源池,用于存储多个游戏运行时所需的游戏资源;
更新模块,用于定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
资源信息列表文件,与唯一游戏ID对应,用于存储该游戏ID运行时所需的所有游戏资源对应的游戏资源ID;还存储游戏资源ID和最新的第一校验码的对应关系;
所述微端客户端包括:
资源存储模块,用于存储游戏进程运行所需的初始化资源及缓存后下载获取的游戏资源;其中,所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径
接收模块,用于接收游戏进程所发送的对游戏资源的请求消息;
多线程下载模块,包括资源信息列表文件下载线程和游戏资源下载线程;
其中,所述资源信息列表文件下载线程用于:基于所述资源信息列表文件存储路径,下载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;
所述游戏资源下载线程具体包括:
缓存查找模块,用于当接收到所述游戏进程所发送的对游戏资源的请求消息时,判断自身缓存中是否存储所述游戏资源;
第一文件校验模块,用于当所述缓存查找模块查找到缓存中存储有所述游戏资源时,计算缓存中存储的所述游戏资源的校验码,得到第二校验码;
再读取所述资源信息列表文件下载线程下载到的所述资源信息列表文件,得到所述游戏资源的第一校验码;然后比较所述第二校验码和所述第一校验码是否相同;
资源下载模块,用于当所述缓存查找模块未在缓存中查找到所需的游戏资源时,或者,所述文件校验模块校验得到所述第二校验码和所述第一校验码不相同时,从所述微端服务器下载所述游戏资源;
第二文件校验模块,用于对所述资源下载模块下载得到的所述游戏资源进行文件校验,判断下载得到的所述游戏资源是否为完整未损坏的游戏资源;如果否,则再次调用所述资源下载模块,重新进行游戏资源下载;如果是,则执行后续的推送模块;
推送模块,用于当所述缓存查找模块查找到缓存中存在所述游戏资源,且该游戏资源通过所述第一文件校验模块的文件校验后,将校验通过的游戏资源推送给游戏进程;或者,用于将经过所述第二文件校验模块校验通过后的游戏资源推送给游戏进程。
综上所述,本发明提供的游戏资源的在线加载方法及微端引擎具有以下优点:
(1)将游戏运行时所需的游戏资源从游戏客户端中分离出来,并将游戏资源存储于微端服务器中;从而降低了游戏客户端的容量,方便对游戏客户端分发部署;
(2)采用一种特殊的游戏资源加载方法,既可有效保证游戏进程所加载到的游戏资源的最新性和完整性,又能对相关资源进行预下载,使游戏进程运行到对相关资源需求时,能够快速的获取到相关游戏资源,从而保证游戏的正常运行。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (3)
1.一种游戏资源的在线加载方法,其特征在于,包括以下步骤:
S1,创建微端引擎;其中,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器为依赖网络连接关系;
所述微端服务器设置游戏资源池;其中,所述游戏资源池用于存储多个游戏运行时所需的游戏资源;并且,所述微端服务器定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
S2,所述微端服务器还配置与每一个游戏ID唯一对应的资源信息列表文件;其中,所述资源信息列表文件用于存储游戏资源ID和最新的第一校验码的对应关系;所述资源信息列表文件所存储的所有游戏资源ID所对应的游戏资源即为该游戏运行时所需的所有游戏资源;
另外,所述微端服务器通过以下方式计算得到并维护所述第一校验码:
S2-1,初始时,所述微端服务器查找所述游戏资源池,得到与所述游戏资源ID对应的游戏资源;
S2-2,所述微端服务器计算所得到的所述游戏资源的第一校验码;
S2-3,所述微端服务器存储所述游戏资源ID和第一校验码的对应关系;
S2-4,每当所述游戏资源池所存储的所述游戏资源进行更新时,所述微端服务器重新计算该游戏资源的第一校验码,得到最新的第一校验码,并更新所述资源信息列表文件,使所述游戏资源池所存储的第一校验码均为最新的第一校验码;
S3,游戏客户端封装游戏进程和微端客户端;其中,所述游戏进程通过所述微端客户端与所述微端服务器建立通信连接;所述微端客户端封装该游戏进程运行所需的初始化资源;所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径;
S4,在所述游戏进程初始化启动过程中,所述游戏进程向所述微端客户端发送初始游戏资源的请求消息;
S5,所述微端客户端接收到该请求消息后,并行执行以下两步:
步骤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,所述微端客户端将最新的所述初始游戏资源发送给所述游戏进程;
S6,所述游戏进程运行所述初始游戏资源,完成游戏启动过程;
S7,在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,然后,向所述微端客户端发送预下载所需游戏资源的请求消息;
S8,所述微端客户端接收到该请求消息后,仅将S2.3-S2.12中的所述初始游戏资源替换为S7中所需的游戏资源,然后,循环执行S2.3-S2.12,完成对所需的游戏资源进行预下载的过程。
2.根据权利要求1所述的游戏资源的在线加载方法,其特征在于,所述第一校验码和所述第二校验码均为MD5校验码。
3.一种微端引擎,其特征在于,包括微端服务器和微端客户端;
所述微端服务器包括:
游戏资源池,用于存储多个游戏运行时所需的游戏资源;
更新模块,用于定时对所述游戏资源池所存储的各个游戏资源进行更新操作;
资源信息列表文件,与唯一游戏ID对应,用于存储该游戏ID运行时所需的所有游戏资源对应的游戏资源ID;还存储游戏资源ID和最新的第一校验码的对应关系;
所述微端客户端包括:
资源存储模块,用于存储游戏进程运行所需的初始化资源及缓存后下载获取的游戏资源;其中,所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径;
接收模块,用于接收游戏进程所发送的对游戏资源的请求消息;
多线程下载模块,包括资源信息列表文件下载线程和游戏资源下载线程;
其中,所述资源信息列表文件下载线程用于:基于所述资源信息列表文件存储路径,下载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;
所述游戏资源下载线程具体包括:
缓存查找模块,用于当接收到所述游戏进程所发送的对游戏资源的请求消息时,判断自身缓存中是否存储所述游戏资源;
第一文件校验模块,用于当所述缓存查找模块查找到缓存中存储有所述游戏资源时,计算缓存中存储的所述游戏资源的校验码,得到第二校验码;
再读取所述资源信息列表文件下载线程下载到的所述资源信息列表文件,得到所述游戏资源的第一校验码;然后比较所述第二校验码和所述第一校验码是否相同;
资源下载模块,用于当所述缓存查找模块未在缓存中查找到所需的游戏资源时,或者,所述文件校验模块校验得到所述第二校验码和所述第一校验码不相同时,从所述微端服务器下载所述游戏资源;
第二文件校验模块,用于对所述资源下载模块下载得到的所述游戏资源进行文件校验,判断下载得到的所述游戏资源是否为完整未损坏的游戏资源;如果否,则再次调用所述资源下载模块,重新进行游戏资源下载;如果是,则执行后续的推送模块;
推送模块,用于当所述缓存查找模块查找到缓存中存在所述游戏资源,且该游戏资源通过所述第一文件校验模块的文件校验后,将校验通过的游戏资源推送给游戏进程;或者,用于将经过所述第二文件校验模块校验通过后的游戏资源推送给游戏进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510083464.8A CN105988809B (zh) | 2015-02-13 | 2015-02-13 | 一种游戏资源的在线加载方法及微端引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510083464.8A CN105988809B (zh) | 2015-02-13 | 2015-02-13 | 一种游戏资源的在线加载方法及微端引擎 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105988809A CN105988809A (zh) | 2016-10-05 |
CN105988809B true CN105988809B (zh) | 2019-03-22 |
Family
ID=57042607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510083464.8A Active CN105988809B (zh) | 2015-02-13 | 2015-02-13 | 一种游戏资源的在线加载方法及微端引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105988809B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161510B (zh) * | 2015-03-31 | 2019-09-03 | 北京畅游天下网络技术有限公司 | 网络应用的客户端、和用于客户端的资源加载方法 |
CN106528134A (zh) * | 2016-10-27 | 2017-03-22 | 广东小天才科技有限公司 | 一种运行游戏的方法及装置 |
CN108089890B (zh) * | 2016-11-21 | 2019-09-20 | 杨正 | 一种基于磁盘的应用运行方法及*** |
CN108089888B (zh) * | 2016-11-21 | 2019-09-13 | 杨正 | 一种基于文件***的应用运行方法及*** |
CN106658046B (zh) * | 2016-12-05 | 2019-05-24 | 上海时年信息科技有限公司 | 基于luajava的视频回放方法及*** |
CN107080942A (zh) * | 2017-03-27 | 2017-08-22 | 长沙趣动文化科技有限公司 | 基于Unity3D的游戏窗口匹配处理方法及*** |
CN107038044A (zh) * | 2017-03-27 | 2017-08-11 | 长沙趣动文化科技有限公司 | 基于Unity3D的游戏资源离散加载方法及*** |
CN107930126B (zh) * | 2017-11-06 | 2020-07-24 | Oppo广东移动通信有限公司 | 游戏预约数据处理方法、装置以及移动终端 |
CN108566424B (zh) * | 2018-04-11 | 2021-04-20 | 深圳市腾讯网络信息技术有限公司 | 基于服务器资源消耗预测的调度方法、装置和*** |
CN108888951A (zh) * | 2018-06-25 | 2018-11-27 | 网易(杭州)网络有限公司 | 游戏资源处理方法和装置 |
CN109062630A (zh) * | 2018-07-17 | 2018-12-21 | 北京奇艺世纪科技有限公司 | 一种程序资源内容下载方法、装置及终端设备 |
CN109248440B (zh) * | 2018-07-20 | 2019-10-29 | 苏州玩友时代科技股份有限公司 | 一种实现游戏实时动态加载配置的方法及*** |
CN109814884A (zh) * | 2018-12-27 | 2019-05-28 | 珠海西山居互动娱乐科技有限公司 | 一种根据游戏资源类型进行资源管理的方法及*** |
EP3736690B1 (en) * | 2019-05-07 | 2022-07-27 | Ningbo Geely Automobile Research & Development Co. Ltd. | Computer game software downloading |
CN110841280A (zh) * | 2019-11-06 | 2020-02-28 | 福建天晴在线互动科技有限公司 | 一种微端的在线动态加载及校验资源的方法 |
CN111111209B (zh) * | 2019-12-23 | 2022-04-26 | 福建天晴在线互动科技有限公司 | 一种游戏客户端完整性校验和修复的方法 |
CN111013157A (zh) * | 2019-12-28 | 2020-04-17 | 上海米哈游网络科技股份有限公司 | 游戏加载方法、装置、设备及存储介质 |
CN111142893A (zh) * | 2019-12-31 | 2020-05-12 | 福建天晴在线互动科技有限公司 | 一种在线分段安装游戏的方法及其*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577172A (zh) * | 2012-07-30 | 2014-02-12 | 无锡梵天信息技术股份有限公司 | 一种图形处理引擎*** |
CN103778211A (zh) * | 2014-01-16 | 2014-05-07 | 北京乐动卓越科技有限公司 | 移动终端游戏软件的语言切换方法及装置 |
CN104267963A (zh) * | 2014-10-10 | 2015-01-07 | 重庆邮电大学 | 一种跨平台角色扮演网络游戏客户端引擎及建立方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799456B (zh) * | 2012-07-24 | 2015-11-25 | 上海晨思电子科技有限公司 | 一种游戏引擎加载资源文件的方法、装置和计算机 |
-
2015
- 2015-02-13 CN CN201510083464.8A patent/CN105988809B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577172A (zh) * | 2012-07-30 | 2014-02-12 | 无锡梵天信息技术股份有限公司 | 一种图形处理引擎*** |
CN103778211A (zh) * | 2014-01-16 | 2014-05-07 | 北京乐动卓越科技有限公司 | 移动终端游戏软件的语言切换方法及装置 |
CN104267963A (zh) * | 2014-10-10 | 2015-01-07 | 重庆邮电大学 | 一种跨平台角色扮演网络游戏客户端引擎及建立方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105988809A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105988809B (zh) | 一种游戏资源的在线加载方法及微端引擎 | |
CN105389222B (zh) | 一种动态调用原生接口的方法、装置和*** | |
CN106445508B (zh) | 一种游戏引擎 | |
CN104572114B (zh) | 一种绑定装置、应用更新装置及方法 | |
CN104468637B (zh) | 一种下载以及安装客户端的方法和设备 | |
US9722869B2 (en) | Sharing an application configuration among social networks | |
US8880651B2 (en) | Method and system for efficient download of data package | |
CN1744525A (zh) | 一种防止在网络游戏中使用外挂的方法 | |
CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
CN107957880A (zh) | 空调固件升级方法、装置、空调和计算机设备 | |
WO2014008854A1 (en) | Method and apparatus for acquiring online game resources | |
CN107026832A (zh) | 账户登录方法、设备和服务器 | |
CN106201586A (zh) | 一种基于ota的***升级方法及终端、*** | |
CN106294094A (zh) | 游戏服务器的测试方法、客户端、服务器及*** | |
EP3142381A1 (en) | Network video playing method and device | |
CN106075911B (zh) | 一种网页游戏微端的生成方法及装置 | |
CN109491698A (zh) | 基于热补丁的***更新方法及装置 | |
CN110474900A (zh) | 一种游戏协议测试方法及装置 | |
CN106934272B (zh) | 一种应用信息的校验方法和装置 | |
CN109002305B (zh) | 一种设备程序的更新方法及其*** | |
CN108228477A (zh) | 一种基于存储容量来获取运行数据的方法及*** | |
CN111158722A (zh) | 手游客户端热更新方法 | |
CN106485139B (zh) | 一种应用程序的安全验证方法 | |
CN113190334A (zh) | 流程引擎的控制方法、装置、终端和存储介质 | |
US20150381516A1 (en) | Resource access driven distributed transaction coordination system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |