一种动态资源下载方法、装置、电子设备及存储介质与流程

文档序号:18135744发布日期:2019-07-10 10:35阅读:178来源:国知局
一种动态资源下载方法、装置、电子设备及存储介质与流程

本发明涉及计算机技术领域,特别是涉及一种动态资源下载方法、装置、电子设备及存储介质。



背景技术:

随着计算机技术的快速发展,网络游戏也得到了快速发展。由于越来越丰富的游戏资源及越来越逼真的游戏体验,使得网络游戏吸引越来越多的用户使用。

游戏资源可分为游戏本身的安装包资源及可以不放置在安装包内的支持动态加载的动态资源,动态资源一般为通过服务器实时加载的资源。现有用户在进行游戏时,需要动态资源时,直接向服务器发送请求,从服务器端下载对应的动态资源。

发明人发现,现有一次性从服务器端下载的动态资源过多时,可能会导致客户端本地内存溢出的情况,导致下载出错。因此,如何充分利用网络带宽减少下载出错,仍然是亟待解决的技术问题。



技术实现要素:

本发明实施例的目的在于提供一种动态资源下载方法、装置、电子设备及存储介质,以实现充分利用网络带宽并减少下载出错。具体技术方案如下:

第一方面,本发明实施例公开了一种动态资源下载方法,所述方法包括:

步骤a,在当前检测周期中,从动态资源对象列表中确定当前待发送动态资源请求,获取客户端的目标参数,所述目标参数表征所述客户端当前的剩余下载资源;所述动态资源对象列表包含所述客户端待的各待发送动态资源请求;

步骤b,基于所述目标参数,判断所述客户端是否有足够的资源支持当前待发送动态资源请求对应的目标动态资源的下载;

步骤c,在所述客户端有足够的资源支持当前待发送动态资源请求对应的动态资源的下载,发送所述当前待发送动态资源请求,并接收服务端返回的目标动态资源;

步骤d,重复执行步骤a-步骤c,直至所述动态资源对象列表中各待发送动态资源请求均发送完成,或者所述客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载;

步骤e,等待到下一检测周期,返回步骤a继续执行。

可选地,创建所述动态资源对象列表的方法包括:

向服务器发送所述客户端的客户端版本号和本地动态资源版本号;

接收所述服务器基于所述客户端版本号和所述本地动态资源版本号确定的所述客户端待下载的各目标动态资源信息,所述目标动态资源信息包括目标动态资源的文件名、md5编码及文件大小;

基于各所述目标动态资源信息的目标动态资源的文件名、md5编码及文件大小结合本地存储,创建各待发送动态资源请求,形成所述动态资源对象列表。

可选地,所述目标参数包括所述述客户端的当前剩余下载任务数目及当前剩余内存,所述基于所述目标参数,判断所述客户端是否有足够的资源支持当前待发送动态资源请求对应的动态资源的下载,包括:

判断所述当前剩余下载任务数目是否大于零;

当所述当前剩余下载任务数目大于零时,判断所述当前剩余内存是否大于或等于所述动态资源对象列表中记录的所述当前待发送动态资源请求对应的目标动态资源的文件大小。

可选地,当所述动态资源对象列表以队列的形式存储信息时,所述客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载,包括:

所述客户端没有足够的资源支持所述动态资源对象列表中当前动态资源请求对应的目标动态资源的下载。

可选地,当所述动态资源对象列表以表格的形式存储信息时,所述客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载,包括:

所述客户端没有足够的资源支持所述动态资源对象列表中任一动态资源请求对应的目标动态资源的下载。

第二方面,本发明实施例公开了一种动态资源下载装置,所述装置包括:

目标参数获取模块,用于在当前检测周期中,从动态资源对象列表中确定当前待发送动态资源请求,获取客户端的目标参数,所述目标参数表征所述客户端当前的剩余下载资源;所述动态资源对象列表包含所述客户端待的各待发送动态资源请求;

下载判断模块,用于基于所述目标参数,判断所述客户端是否有足够的资源支持当前待发送动态资源请求对应的动态资源的下载;

目标动态资源接收模块,用于在所述客户端有足够的资源支持当前待发送动态资源请求对应的动态资源的下载,发送所述当前待发送动态资源请求,并接收服务端返回的目标动态资源;

终止判断模块,用于重复执行上述步骤,直至所述动态资源对象列表中各待发送动态资源请求均发送完成,或者所述客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载;

检测周期确定模块,用于等待到下一检测周期,返回在当前检测周期中,从动态资源对象列表中确定当前待发送动态资源请求,获取客户端的目标参数的步骤继续执行。

可选地,所述装置还包括:

版本信息发送模块,用于向服务器发送所述客户端的客户端版本号和本地动态资源版本号;

目标动态资源信息接收模块,用于接收所述服务器基于所述客户端版本号和所述本地动态资源版本号确定的所述客户端待下载的各目标动态资源信息,所述目标动态资源信息包括目标动态资源的文件名、md5编码及文件大小;

动态资源对象列表确定模块,用于基于各所述目标动态资源信息的目标动态资源的文件名、md5编码及文件大小结合本地存储,创建各待发送动态资源请求,形成所述动态资源对象列表。

可选地,所述目标参数包括所述述客户端的当前剩余下载任务数目及当前剩余内存,所述下载判断模块,包括:

下载任务数目判断子模块,用于判断所述客户端的当前剩余下载任务数目是否大于零;

文件大小判断子模块,用于当所述客户端的当前剩余下载任务数目大于零时,判断所述客户端的当前剩余内存是否大于或等于所述动态资源对象列表中记录的、所述当前待发送动态资源请求对应的目标动态资源的文件大小。

第三方面,本发明实施例公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现上述动态资源下载方法中任一方法步骤。

第四方面,本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述动态资源下载方法中任一方法步骤。

在本发明实施例提供的一种动态资源下载方法、装置、电子设备及存储介质中,通过设置表征客户端当前的剩余下载资源的目标参数作为判断条件,在检测周期内,自动判断目标参数下客户端当前能够处理的待发送动态资源请求,实现按照客户端真实设备性能创建目标动态资源下载任务,并且实现了充分利用客户端真实设备的剩余下载资源创建并行的下载任务。另外,考虑了客户端真实设备的性能,有效避免了客户端本地内存溢出的情况,因此减少下载出错。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例的一种动态资源下载方法流程图;

图2为本发明实施例的一种动态资源下载方法中创建的动态资源对象列表的方法流程图;

图3为本发明实施例的一种动态资源下载装置结构示意图;

图4为本发明实施例的一种电子设备结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

第一方面,本发明实施例公开了一种动态资源下载方法,如图1所示。图1为本发明实施例的一种动态资源下载方法流程图,方法包括:

步骤a,在当前检测周期中,从动态资源对象列表中确定当前待发送动态资源请求,获取客户端的目标参数,目标参数表征客户端当前的剩余下载资源;动态资源对象列表包含客户端待的各待发送动态资源请求。

本发明实施例的执行主体可为在该客户端的应用软件的预先创建的下载管理进程,该应用软件可为游戏软件。该下载管理进程用来处理目标动态资源的下载,以及对于下载过程中的网络连接问题和存储空间不足等问题,在该应用软件的用户界面显示提示信息。以及通过该下载管理进程动态的对动态资源对象列表中的待发送动态资源请求进行保存、更新和释放。

本步骤中,可给该下载管理进程设置检测周期,让该下载管理进程周期性的获取该游戏应用软件需要下载的目标待发送动态资源请求,及客户端的目标参数。该检测周期具体可为2s、0.5秒等较小时间粒度的用户自定义时间段,保证可以在较短的时间周期内获取该客户端的游戏应用软件当前待发送动态资源请求,实现动态资源的下载。

本发明实施例中可预先建立客户端待的各待发送动态资源请求的动态资源对象列表,该动态资源对象列表也可周期性的更新。具体建立过程以下实施例中详细说明。

步骤b,基于目标参数,判断客户端是否有足够的资源支持当前待发送动态资源请求对应的目标动态资源的下载。

本步骤中,为了保证充分利用客户端下载资源,另外还要保证客户端下载过程避免本地内存溢出,导致下载出错的情况,可通过目标参数,判断客户端是否有足够的资源支持当前待发送动态资源请求对应的目标动态资源的下载。

可选地,目标参数包括述客户端的当前剩余下载任务数目及当前剩余内存,上述步骤b中基于目标参数,判断客户端是否有足够的资源支持当前待发送动态资源请求对应的动态资源的下载,包括:

步骤一,判断当前剩余下载任务数目是否大于零;

步骤二,当当前剩余下载任务数目大于零时,判断当前剩余内存是否大于或等于动态资源对象列表中记录的当前待发送动态资源请求对应的目标动态资源的文件大小。

步骤c,在客户端有足够的资源支持当前待发送动态资源请求对应的动态资源的下载,发送当前待发送动态资源请求,并接收服务端返回的目标动态资源。

本步骤中,可按照动态资源对象列表中记录的目标动态资源的存储位置,将接收的目标动态资源存储到本地指定可读写磁盘。便于用户从本地指定可读写磁盘加载目标动态资源。

步骤d,重复执行步骤a-步骤c,直至动态资源对象列表中各待发送动态资源请求均发送完成,或者客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载。

本步骤中,重复执行步骤a-步骤c,依次下载动态资源对象列表中各待发送动态资源请求对应的各目标动态资源。其中在判断客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载,可等待正在下载的目标动态资源下载完成保存到本地可读写磁盘,将下载完成的目标动态资源占用的内存释放。等到客户端有足够的资源支持该待发送动态资源请求对应的动态资源的下载时,在进行下载,一直到所有文件下载完成。

本步骤中,在待发送动态资源请求发送完成后,可将动态资源对象列表中关于该待发送动态资源请求的信息清除,以实现释放该动态资源对象列表的空间,保证有新的待发送动态资源请求添加到该动态资源对象列表中。另外,对于下载过程中的网络连接问题和存储空间不足等问题,可直接在该应用软件的用户界面显示提示信息。

步骤e,等待到下一检测周期,返回步骤a继续执行。

在本发明实施例提供的一种动态资源下载方法中,通过设置表征客户端当前的剩余下载资源的目标参数作为判断条件,在检测周期内,自动判断目标参数下客户端当前能够处理的待发送动态资源请求,实现按照客户端真实设备性能创建目标动态资源下载任务,并且实现了充分利用客户端真实设备的剩余下载资源创建并行的下载任务。另外,考虑了客户端真实设备的性能,有效避免了客户端本地内存溢出的情况,因此减少下载出错。

可选地,在本发明的动态资源下载方法的一种实施例中,创建动态资源对象列表的方法,可如图2所示。图2为本发明实施例的一种动态资源下载方法中创建的动态资源对象列表的方法流程图,包括:

s201,向服务器发送客户端的客户端版本号和本地动态资源版本号。

本发明实施例的客户端版本号为该客户端的应用软件的版本号,本地动态资源版本号为该客户端已有的该应用软件的动态资源版本号。

s202,接收服务器基于客户端版本号和本地动态资源版本号确定的客户端待下载的各目标动态资源信息,目标动态资源信息包括目标动态资源的文件名、md5编码及文件大小。

本步骤中,将该客户端的客户端版本号和本地动态资源版本号发送给服务器。服务器首先通过客户端版本号确定服务器端对应的最新的动态资源版本号,其次,对比最新的动态资源版本号中包含的各动态资源标识与本地动态资源版本号中包含的各动态资源标识,确定本地动态资源版本号中动态资源标识与最新的动态资源版本号中包含的各动态资源标识不同的动态资源标识。该不同动态资源标识对应的动态资源即为客户端待下载的各目标动态资源。具体可对比动态资源的md5(message-digestalgorithm5,信息-摘要算法5)编码。将各目标动态资源的文件名、md5编码及文件大小,以索引信息的形式即为本发明实施例的目标动态资源信息,发送给该客户端。

客户端接收各目标动态资源信息,目标动态资源信息包括目标动态资源的文件名、md5编码及文件大小。

s203,基于各目标动态资源信息的目标动态资源的文件名、md5编码及文件大小结合本地存储,创建各待发送动态资源请求,形成动态资源对象列表。

本步骤中,获取本地存储目标动态资源的可读写磁盘地址,将目标动态资源信息的目标动态资源的文件名、md5编码及文件大小结合本地存储以及本地存储,建立每个目标动态资源的索引信息,并且添加http(hypertexttransferprotocol,超文本传输协议)下载链接,生成每个目标动态资源对应的各待发送动态资源请求。

针对各待发送动态资源请求,对该目标动态资源对应的待发送动态资源请求、目标动态资源的文件名、md5编码及文件大小以表格的形式进行存储,形成动态资源对象列表。

另外,本发明实施例中还可按照获取目标动态资源信息的顺序,针对各待发送动态资源请求,对该目标动态资源对应的待发送动态资源请求、目标动态资源的文件名、md5编码及文件大小以队列的形式进行存储,形成动态资源对象列表。

可见,通过本发明实施例,可实现预先建立存储各待发送动态资源请求的动态资源对象列表,方便直接从该动态资源对象列表中获取当前待发送动态资源请求。另外,该动态资源对象列表还存储了目标动态资源的文件名、md5编码及文件大小,便于后期通过文件大小判断客户端当前是否能够下载待发送动态资源请求对应的目标动态资源。

可选地,在本发明的动态资源下载方法的一种实施例中,当动态资源对象列表以队列的形式存储信息时,客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载,包括:

客户端没有足够的资源支持动态资源对象列表中当前动态资源请求对应的目标动态资源的下载。

本实施例中,在动态资源对象列表以队列的形式存储信息时,待发送动态资源请求为该动态资源对象列表中当前第一个动态资源请求。

即为本步骤判断客户端没有足够的资源、支持该动态资源对象列表的当前第一个待发送动态资源请求对应的目标动态资源下载。说明该动态资源对象列表中当前第一个待发送动态资源请求对应的目标动态资源大于剩余内存,此时等到正在下载的目标动态资源下载完成后,可继续从该当前第一个动态资源请求继续判断下载。

通过本实施例,可实现按照队列的形式,等待当前下载完成的目标动态资源释放内存后,继续从该动态资源对象列表中当前第一个待发送动态资源请求判断下载。这种顺序的处理动态资源对象列表中各待发送动态资源请求,避免了先要处理的文件数据大的目标动态资源被放到后面处理,保证了文件数据大的目标动态资源的顺序处理。

可选地,在本发明的动态资源下载方法的一种实施例中,当动态资源对象列表以表格的形式存储信息时,客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载,包括:

本实施例中,在动态资源对象列表以表格的形式存储信息时,待发送动态资源请求为该动态资源对象列表中任一个动态资源请求。

即为本步骤判断客户端没有足够的资源、支持该动态资源对象列表的任何一个待发送动态资源请求对应的目标动态资源下载,说明该动态资源对象列表中每个待发送动态资源请求对应的目标动态资源的内存都大于剩余内存。此时等到正在下载的目标动态资源下载完成后,可从该动态资源对象列表的待发送动态资源请求对应的目标动态资源最小的请求继续判断下载。

通过本实施例,可实现按照文件大小的形式,等待当前下载完成的目标动态资源释放内存后,便于从该动态资源对象列表中目标动态资源最小的待发送动态资源请求判断下载。这种按照资源占用大小处理动态资源对象列表中各待发送动态资源请求,能够更加充分的利用下载资源。

第二方面,本发明实施例公开了一种动态资源下载装置,如图3所示。图3为本发明实施例的一种动态资源下载装置结构示意图,装置包括:

目标参数获取模块301,用于在当前检测周期中,从动态资源对象列表中确定当前待发送动态资源请求,获取客户端的目标参数,目标参数表征客户端当前的剩余下载资源;动态资源对象列表包含客户端待的各待发送动态资源请求;

下载判断模块302,用于基于目标参数,判断客户端是否有足够的资源支持当前待发送动态资源请求对应的动态资源的下载;

目标动态资源接收模块303,用于在客户端有足够的资源支持当前待发送动态资源请求对应的动态资源的下载,发送当前待发送动态资源请求,并接收服务端返回的目标动态资源;

终止判断模块304,用于重复执行,直至动态资源对象列表中各待发送动态资源请求均发送完成,或者客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载;

检测周期确定模块305,用于等待到下一检测周期,返回在当前检测周期中,从动态资源对象列表中确定当前待发送动态资源请求,获取客户端的目标参数的步骤继续执行。

在本发明实施例提供的一种动态资源下载装置中,通过设置表征客户端当前的剩余下载资源的目标参数作为判断条件,在检测周期内,自动判断目标参数下客户端当前能够处理的待发送动态资源请求,实现按照客户端真实设备性能创建目标动态资源下载任务,并且实现了充分利用客户端真实设备的剩余下载资源创建并行的下载任务。另外,考虑了客户端真实设备的性能,有效避免了客户端本地内存溢出的情况,因此减少下载出错。

可选地,在本发明的动态资源下载装置的一种实施例中,装置还包括:

版本信息发送模块,用于向服务器发送客户端的客户端版本号和本地动态资源版本号;

目标动态资源信息接收模块,用于接收服务器基于客户端版本号和本地动态资源版本号确定的客户端待下载的各目标动态资源信息,目标动态资源信息包括目标动态资源的文件名、md5编码及文件大小;

动态资源对象列表确定模块,用于基于各目标动态资源信息的目标动态资源的文件名、md5编码及文件大小结合本地存储,创建各待发送动态资源请求,形成动态资源对象列表。

可选地,在本发明的动态资源下载装置的一种实施例中,目标参数包括述客户端的当前剩余下载任务数目及当前剩余内存,下载判断模块302,包括:

下载任务数目判断子模块,用于判断客户端的当前剩余下载任务数目是否大于零;

文件大小判断子模块,用于当客户端的当前剩余下载任务数目大于零时,判断客户端的当前剩余内存是否大于或等于动态资源对象列表中记录的、当前待发送动态资源请求对应的目标动态资源的文件大小。

第三方面,本发明实施例公开了一种电子设备,如图4所示。图4为本发明实施例的一种电子设备结构示意图,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401、通信接口402、存储器403通过通信总线404完成相互间的通信;

存储器403,用于存放计算机程序;

处理器401,用于执行存储器403上所存放的程序时,实现以下方法步骤:

步骤a,在当前检测周期中,从动态资源对象列表中确定当前待发送动态资源请求,获取客户端的目标参数,目标参数表征客户端当前的剩余下载资源;动态资源对象列表包含客户端待的各待发送动态资源请求;

步骤b,基于目标参数,判断客户端是否有足够的资源支持当前待发送动态资源请求对应的目标动态资源的下载;

步骤c,在客户端有足够的资源支持当前待发送动态资源请求对应的动态资源的下载,发送当前待发送动态资源请求,并接收服务端返回的目标动态资源;

步骤d,重复执行步骤a-步骤c,直至动态资源对象列表中各待发送动态资源请求均发送完成,或者客户端没有足够的资源支持待发送动态资源请求对应的目标动态资源的下载;

步骤e,等待到下一检测周期,返回步骤a继续执行。

上述电子设备提到的通信总线404可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口402用于上述电子设备与其他设备之间的通信。

存储器403可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器403还可以是至少一个位于远离前述处理器401的存储装置。

上述的处理器401可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明实施例提供的一种电子设备中,通过设置表征客户端当前的剩余下载资源的目标参数作为判断条件,在检测周期内,自动判断目标参数下客户端当前能够处理的待发送动态资源请求,实现按照客户端真实设备性能创建目标动态资源下载任务,并且实现了充分利用客户端真实设备的剩余下载资源创建并行的下载任务。另外,考虑了客户端真实设备的性能,有效避免了客户端本地内存溢出的情况,因此减少下载出错。

第四方面,本发明实施例公开了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时,实现上述动态资源下载方法中任一方法步骤。

在本发明实施例提供的一种计算机可读存储介质中,通过设置表征客户端当前的剩余下载资源的目标参数作为判断条件,在检测周期内,自动判断目标参数下客户端当前能够处理的待发送动态资源请求,实现按照客户端真实设备性能创建目标动态资源下载任务,并且实现了充分利用客户端真实设备的剩余下载资源创建并行的下载任务。另外,考虑了客户端真实设备的性能,有效避免了客户端本地内存溢出的情况,因此减少下载出错。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1