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

技术编号:13796187 阅读:28 留言:0更新日期:2016-10-06 14:51
本发明专利技术提供一种游戏资源的在线加载方法及微端引擎,微端引擎包括微端服务器和微端客户端;微端服务器包括游戏资源池、更新模块和资源信息列表文件;微端客户端包括资源存储模块、接收模块、多线程下载模块和推送模块。有以下优点:(1)将游戏运行时所需的游戏资源从游戏客户端中分离出来,并将游戏资源存储于微端服务器中;从而降低了游戏客户端的容量,方便对游戏客户端分发部署;(2)采用一种特殊的游戏资源加载方法,可有效保证游戏进程所加载到的游戏资源的最新性和完整性,保证游戏正常运行。

【技术实现步骤摘要】

本专利技术属于游戏开发
,具体涉及一种游戏资源的在线加载方法及微端引擎
技术介绍
随着媒体互联网的迅速发展,数字互动娱乐延伸到新的领域,网络游戏是近年来得到广泛关注并且发展极为迅速的一个产业,如今我国网络游戏业的巨大市场使得游戏从业人员不断发展软件技术以提升玩家的游戏体验。现有的游戏客户端通常包括游戏运行时所需的所有游戏资源,例如,图片、音频和视频等资源。而对于一个在线游戏,其运行所需的游戏资源的数量非常庞大,导致现有的游戏客户端整体容量比较庞大,增加了游戏客户端分发部署的难度,不利于游戏客户端的推广使用。
技术实现思路
针对现有技术存在的缺陷,本专利技术提供一种游戏资源的在线加载方法及微端引擎,可有效解决上述问题。本专利技术采用的技术方案如下:本专利技术提供一种游戏资源的在线加载方法,包括以下步骤: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和最新的第一校验码的对应关系;所述微端客户端包括:资源存储模块,用于存储游戏进程运行所需的初始化资源及缓存后下载获取的游戏资源;其中,所述初始化资源包括:游戏加载界面、下载程序和与该游戏进程对应的资源信息列表文件存储路径接收模块,用于接收游戏进程所发送的对游戏资源的请求消息;多线程下载模块,包括资源信息列表文件下载线程和游戏资源下载线程;其中,所述资源信息列表文件下载线程用于:基于所述资源信息列表文件存储路径,下载到对应的资源信息列表文件;其中,所下载到的资源信息列表文件为最新的资源信息列表文件;所述游戏资源下载线程具体包括:缓存查找模块,用于当接收到所述游戏进程所发送的对游戏资源的请求消息时,判断自身缓存中是否存储所述游戏资源;第一文件校验模块,用于当所述缓存查找模块查找到缓存中存储有所述游戏资源时,计算缓存中存储的所述游戏资源的校验码,得到第二校验码;再读取所述资源信息列表文件下载线程下载到的所述资源信息列表文件,得到所述游戏资源的第一校验码;然后比较所述第二校验码和所述第一校验码是否相同;资源下载模块,用于当所述缓存查找模块未在缓存中查找到所需的游戏资源时,或者,所述文件校验模块校验得到所述第二校验码和所述第一校验码不相同时,从所述微端服务器下载所述游戏资源;第二文件校验模块,用于对所述资源下载模块下载得到的所述游戏资源进行文件校验,判断下载得到的所述游戏资源是否为完整未损坏的游戏资源;如果否,则再次调用所述资源下载模块,重新进行游戏资源下载;如果是,则执行后续的推送模块;推送模块,用于当所述缓存查找模块查找到缓存中存在所述游戏资源,且该游戏资源通过所述第一文件校验模块的文件校验后,将校验通过的游戏资源推送给游戏进程;或者,用于将经过所述第二文件校验模块校验通过后的游戏资源本文档来自技高网
...

【技术保护点】
一种游戏资源的在线加载方法,其特征在于,包括以下步骤: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,完成对所需的游戏资源进行预下载的过程。...

【技术特征摘要】
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得到的...

【专利技术属性】
技术研发人员:钱峰
申请(专利权)人:广州四三九九信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1