本公开涉及互联网,尤其涉及一种数据处理方法及相关设备。
背景技术:
1、本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、通常,当用户在客户端启动小游戏后,客户端需要下载一个小游戏的初始数据包,在完成上述初始数据包的加载和渲染后可进入小游戏界面。因此,上述小游戏的初始数据包的大小会直接影响小游戏启动所需的时间,在启动所需时间较长时,会极大影响用户的使用体验。
技术实现思路
1、有鉴于此,本公开提出一种数据处理方法以及相关设备,可以加快游戏的启动速度,同时节省数据传输的带宽。
2、本公开实施例所述的数据处理方法可以包括:确定游戏数据包中的引擎文件;基于所述游戏数据包中除所述引擎文件之外的其他文件生成第一数据包;基于所述游戏数据包中的所述引擎文件生成第二数据包;响应于客户端请求指令,将所述第一数据包的存储地址以及所述第二数据包的摘要信息发送至所述客户端。
3、在本公开的实施例中,上述方法进一步包括:响应于客户端请求指令,将所述第二数据包的存储地址发送至所述客户端。
4、在本公开的实施例中,上述确定游戏数据包中的引擎文件包括:接收游戏数据包;将所述游戏数据包内的文件与预设文件进行匹配;以及将所述游戏数据包中与所述预设文件相匹配的文件作为所述引擎文件。
5、在本公开的实施例中,上述方法进一步包括:扫描多个游戏数据包;根据所述多个游戏数据包所包含文件的标识以及各个文件被引用的次数从述多个游戏数据包所包含的文件中确定引擎文件;以及将确定的引擎文件记入所述预设文件。
6、在本公开的实施例中,上述基于所述游戏的数据包中除引擎文件之外的其他文件生成第一数据包包括:从所述游戏数据包中分离出所述引擎文件;以及对所述游戏数据包中的剩余文件进行编译并打包,得到所述第一数据包。
7、在本公开的实施例中,上述基于所述引擎文件生成第二数据包包括:对分离出的所述引擎文件进行编译并打包,得到所述第二数据包;以及确定所述第二数据包的摘要信息。
8、在本公开的实施例中,上述方法进一步包括:对所述游戏数据包中的文件进行编译并打包,得到第三数据包;以及响应于所述请求指令,将所述第三数据包的存储地址反馈至所述客户端。
9、本公开另一些实施例所述的数据处理方法可以包括:响应于检测到用户首次启动游戏的操作,向服务端发送请求指令;接收所述服务端下发的第一数据包的存储地址以及所述第二数据包的摘要信息;基于所述第二数据包的摘要信息确定本地是否已存储所述第二数据包;响应于确定本地已存储所述第二数据包,基于所述第一数据包的存储地址下载第一数据包,并加载下载的第一数据包和本地已存储的第二数据包。
10、在本公开的实施例中,上述方法进一步包括:接收所述服务端下发的第二数据包的存储地址;响应于确定本地未存储所述第二数据包,基于所述第一数据包的存储地址下载第一数据包,基于所述第二数据包的存储地址下载第二数据包,并加载下载的第一数据包和第二数据包。
11、在本公开的实施例中,上述基于所述第二数据包的摘要信息,确定本地是否已存储所述第二数据包包括:在本地存储的文件中查找摘要信息与所述第二数据包的摘要信息相同的目标文件;响应于确定找到摘要信息与所述第二数据包的摘要信息相同的目标文件,确定本地已存储所述第二数据包,并将所述目标文件作为所述本地已存储的第二数据包;以及响应于确定没有找到摘要信息与所述第二数据包的摘要信息相同的目标文件,确定本地未存储所述第二数据包。
12、在本公开的实施例中,上述第二数据包的摘要信息为第二数据包的散列值。
13、在本公开的实施例中,上述第一数据包包括:游戏文件;其中,所述加载下载的第一数据包和第二数据包包括:加载所述第一数据包的游戏文件;在加载过程中,响应于确定所述游戏文件引用到引擎文件,在所述第一数据包中查找所述引擎文件;响应于确定在所述第一数据包中查找到所述引擎文件,加载所述引擎文件并进行渲染;以及响应于确定在所述第一数据包中未查找到所述引擎文件,在所述第二数据包中查找所述引擎文件,以及加载查找到的引擎文件并进行渲染。
14、在本公开的实施例中,上述第一数据包包括:游戏文件;其中,所述加载下载的第一数据包和本地已存储的第二数据包包括:加载所述第一数据包的游戏文件;在加载过程中,响应于确定所述游戏文件引用到引擎文件,在所述第一数据包中查找所述引擎文件;响应于确定在所述第一数据包中查找到所述引擎文件,加载所述引擎文件并进行渲染;以及响应于确定在所述第一数据包中未查找到所述引擎文件,在所述本地已存储的第二数据包中查找所述引擎文件,以及加载查找到的引擎文件并进行渲染。
15、在本公开的实施例中,上述方法进一步包括:接收所述服务端下发的第三数据包的存储地址;以及响应于基于配置信息确定不支持第一数据包和第二数据包的加载,基于所述第三数据包的存储地址下载第三数据包,并加载下载的第三数据包;响应于基于配置信息确定支持第一数据包和第二数据包的加载,执行所述基于所述第二数据包的摘要信息确定本地是否已存储所述第二数据包的操作。
16、本公开实施例所述的数据处理装置,包括:
17、文件确定模块,用于确定游戏数据包中的引擎文件;
18、第一打包模块,用于基于所述游戏数据包中除所述引擎文件之外的其他文件生成第一数据包;
19、第二打包模块,用于基于所述引擎文件生成第二数据包;以及
20、信息反馈模块,用于响应于确定客户端的请求指令,将所述第一数据包的存储地址以及所述第二数据包的摘要信息反馈至所述客户端。
21、本公开另一些实施例所述的数据处理装置,包括:
22、信息请求模块,用于响应于检测到用户启动游戏的操作,向服务端发送请求指令;
23、信息接收模块,用于接收所述服务端下发的第一数据包的存储地址以及所述第二数据包的摘要信息;
24、文件匹配模块,用于基于所述第二数据包的摘要信息确定本地是否已存储所述第二数据包;以及
25、加载模块,用于响应于确定本地已存储所述第二数据包,基于所述第一数据包的存储地址下载第一数据包,并加载下载的第一数据包和本地已存储的第二数据包。
26、本公开实施例所述的计算机设备可以包括:
27、一个或者多个处理器、存储器;以及
28、一个或多个程序;
29、其中,所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行上述数据处理方法的指令。
30、本公开实施例所述的包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行上述数据处理方法。
31、本公开实施例所述的计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述数据处理方法。
32、从上述数据处理方法和数据处理装置可以看出,服务端在收到游戏数据包后,可以将游戏数据包分离成第一数据包和第二数据包,其中,第二数据包包含引擎文件;第一数据包包含其他文件。并且,在客户端发送请求游戏的信息的请求指令时,将第一数据包的存储地址,第二数据包的存储地址以及第二数据包的摘要信息提供给客户端。这样,在用户首次启动游戏时,客户端可以根据服务端返回的第二数据包的摘要信息确定本地是否已经存储了第二数据包。而在客户端确定了本地已经存储了第二数据包的情况下,客户端可以只下载第一数据包,并复用本地已存储的第二数据包来完成游戏的加载和渲染。由于在此种情况下,客户端无需下载第二数据包,因而启动游戏所需的数据下载量将大大减少,而且由于客户端无需等待第二数据包的下载,游戏的启动时间也可以大大缩短,从而达到加快启动速度并节省数据传输带宽的目的。
1.一种数据处理方法,由服务端执行,包括:
2.根据权利要求1所述的方法,其中,还包括:响应于客户端的请求指令,将所述第二数据包的存储地址发送至所述客户端。
3.根据权利要求1所述的方法,其中,所述确定游戏数据包中的引擎文件包括:
4.根据权利要求3所述的方法,进一步包括:
5.根据权利要求1所述的方法,其中,所述基于所述游戏的数据包中除引擎文件之外的其他文件生成第一数据包包括:
6.根据权利要求5所述的方法,其中,所述基于所述游戏数据包中的所述引擎文件生成第二数据包包括:
7.根据权利要求1所述的方法,进一步包括:
8.一种数据处理方法,由客户端执行,包括:
9.根据权利要求8所述的方法,还包括:
10.根据权利要求8所述的方法,其中,所述基于所述第二数据包的摘要信息,确定本地是否已存储所述第二数据包包括:
11.根据权利要求10所述的方法,其中,所述第二数据包的摘要信息为所述第二数据包的散列值。
12.根据权利要求9所述的方法,其中,所述第一数据包包括:游戏文件;其中,
13.根据权利要求8所述的方法,其中,所述第一数据包包括:游戏文件;其中,
14.根据权利要求8所述的方法,进一步包括:
15.一种数据处理装置,包括:
16.一种数据处理装置,包括:
17.一种计算机设备,包括:
18.一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1至14中任意一项所述的数据处理方法。
19.一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1至14中任意一项所述的数据处理方法。
