应用的资源数据的调度方法及装置与流程

文档序号:16879613发布日期:2019-02-15 22:00阅读:180来源:国知局
应用的资源数据的调度方法及装置与流程

本发明实施例涉及移动互联网技术领域,尤其涉及一种应用的资源数据的调度方法及装置。



背景技术:

在移动互联网技术领域,几乎所有应用程序的运行都离不开资源文件如图片、音视频等,导入过多的资源会导致打包后应用的体积增大,在应用运行过程中,由于要下载过多资源而降低用户的使用体验。

现有技术中,一种用户行为数据上载方法及装置,主要思想是根据用户行为数据生成数据上载请求,并将请求区分为主次优先级加入队列中,在上载数据时按照主次请求的优先级顺序执行。另一个现有技术方案中,主要思想是根据应用历史使用数据计算应用内存回收优先级,并在应用退出前台时根据优先级释放缓存数据回收内存,使后台应用减少内存资源的占用。

可以得出,现有技术方案局限于本地资源的调度,没有涉及远程资源调度,且本地资源数据过多造成应用安装包过大的问题。



技术实现要素:

本发明提供一种应用的资源数据的调度方法及装置,以解决现有技术中的上述问题。

根据本发明的第一方面,提供了一种应用的资源数据的调度方法,所述方法包括:

服务器收集用户在使用应用的各资源数据时的行为数据;

所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;

当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;

根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。

可选地,在所述当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器的步骤之前,还包括:

根据所述资源优先级列表,将所述资源数据上传至各所述服务器;

将所述服务器的服务器信息与存储的所述资源数据的对应关系,存储在预置服务器信息列表中;

将所述预置服务器信息列表加载至所述应用。

可选地,所述根据所述资源优先级列表,从所述目标服务器中下载所述资源数据的步骤,包括:

当所述应用启动时,获取所述应用的待下载资源数据队列;

根据所述资源优先级列表中的优先级顺序,将待下载资源数据队列中待下载的所述应用资源,从对应的各所述目标服务器中的进行下载。

可选地,若所述用户行为数据包括用户使用资源数据的时间和使用频率,则所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表的步骤,包括:

根据用户使用各所述资源数据的时间长短和使用频率的大小,将所述各资源数据的标记为高优先级和低优先级;

将所述各资源数据与高优先级与低优先级的对应关系,存储为资源优先级列表。

根据本发明的第二方面,提供了一种应用的资源数据的调度装置,所述装置包括:

行为数据收集模块,用于服务器收集用户在使用应用的各资源数据时的行为数据;

资源优先级列表确定模块,用于所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;

目标服务器查找模块,用于当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;

资源数据下载模块,用于根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。

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

资源数据上传模块,用于根据所述资源优先级列表,将所述资源数据上传至各所述服务器;

预置服务器信息列表生成模块,用于将所述服务器的服务器信息与存储的所述资源数据的对应关系,存储在预置服务器信息列表中;

预置服务器信息列表加载模块,用于将所述预置服务器信息列表加载至所述应用。

可选地,若所述用户行为数据包括用户使用资源数据的时间和使用频率,则所述资源优先级列表确定模块,包括:

优先级确定子模块,用于根据用户使用各所述资源数据的时间长短和使用频率的大小,将所述各资源数据的标记为高优先级和低优先级;

优先级存储子模块,用于将所述各资源数据与高优先级与低优先级的对应关系,存储为资源优先级列表。

根据本发明的第三方面,提供了一种电子设备,包括:

处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的方法。

根据本发明的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的方法。

本发明实施例提供了一种应用的资源数据的调度方法及装置,所述包括:服务器收集用户在使用应用的各资源数据时的行为数据;所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。解决了现有技术局限于本地资源的调度,没有涉及远程资源调度且造成本地资源数据造成应用安装包过大的问题,可以通过确定资源数据的优先级,在应用开启时,按照优先级从服务器下载资源数据而实现资源数据的远程调度,且具备资源数据不用在应用下载时就下载并存储在本地,减小了的应用安装包的有益效果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的一种应用的资源数据的调度方法的具体步骤流程图;

图2是本发明实施例二提供的一种应用的资源数据的调度方法的具体步骤流程图;

图2a是本发明实施例提供的应用的资源数据加载流程示意图;

图3是本发明实施例三提供的一种应用的资源数据的调度装置的结构图;

图4是本发明实施例四提供的一种应用的资源数据的调度装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

参照图1,其示出了本发明实施例一提供的一种应用的资源数据的调度方法的具体步骤流程图。

步骤101,服务器收集用户在使用应用的各资源数据时的行为数据;

具体地,在应用开发后的测试阶段采集用户使用资源数据的行为数据,并上传至服务器,其中,用户的行为数据包括资源路径、类型、资源大小、资源使用时机、使用次数等。

实际应用中,资源数据包括应用中使用到的图片和音视频数据等。

可以理解的,若在应用运行期间,导入过多的资源数据会导致应用运行占用较大内存,运行缓慢,还会导致打包后的应用体积增大。

步骤102,所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;

具体地,当在开发人员设定的应用测试时间段内,针对用户使用该应用收集足够的行为数据后,根据用户使用该应用中各资源数据的时间和频率,设置各资源数据的优先级。

在实际应用中,例如,用户在该应用中的各种操作中使用资源数据a的频率较高,且使用时间较长,且使用频率和使用时长都超过了预设阈值,则将资源数据a标记为高优先级资源数据,将各种用户在使用该应用调用到的资源数据进行优先级标记后,存储为资源数据优先级列表,并加载到当前应用中。

当然,资源优先级列表根据应用运行期间的用户行为数据不断更新,不限于在应用开发阶段和测试阶段。

步骤103,当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;

具体地,当应用启动后,根据预先存储的资源数据优先级列表以及预置服务器信息列表,查找存储对应各资源数据的目标服务器。

当然,存储各资源数据的目标服务器可以为一个或者多个。

可以理解,预置服务器信息列表中存储的各资源数据与对应的服务器地址、服务器密匙以及存储在服务器中各资源数据的路径信息等。

预置服务器信息列表中存储的服务器信息随着资源数据优先级列表的更新而更新,若服务器中存储的资源信息损坏或服务器损坏,则预置服务器信息列表中对应的条目会对应更新。

步骤104,根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。

具体地,通过当前应用的资源优先级列表中资源数据的顺序,逐一将各资源数据从对应的目标服务器中下载。

通常情况下,资源加载成功后会被写入内存、磁盘中作为缓存,同时回调结果给应用客户端。

其中,若资源加载失败会被加入失败队列,等待合适的时机重新下载。

综上所述,本发明实施例提供了一种应用的资源数据的调度方法,所述方法包括:服务器收集用户在使用应用的各资源数据时的行为数据;所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。解决了现有技术局限于本地资源的调度,没有涉及远程资源调度且造成本地资源数据造成应用安装包过大的问题,可以通过确定资源数据的优先级,在应用开启时,按照优先级从服务器下载资源数据而实现资源数据可远程调度,且具备资源数据不用在应用下载时就下载并存储在本地,减小了的应用安装包的有益效果。

实施例二

参照图2,其示出了本发明实施例二提供的一种应用的资源数据的调度方法的具体步骤流程图。

步骤201,服务器收集用户在使用应用的各资源数据时的行为数据;

此步骤与步骤101相同,在此不再详述。

步骤202,所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;

此步骤与步骤102相同,在此不再详述。

优选地,若所述用户行为数据包括用户使用资源数据的时间和使用频率,则步骤202,包括:子步骤b1-b2;

子步骤b1,根据用户使用各所述资源数据的时间长短和使用频率的大小,将所述各资源数据的标记为高优先级和低优先级;

可以理解地,在应用运行期间采集用户使用资源的行为数据上报给服务器,行为数据包括资源数据使用时间、使用频率,还可以包括资源数据的路径、类型、资源数据大小。服务器端通过用户数使用资源的时间和频率,对应资源数据的类型和数据大小制定资源数据的优先级,并进行标记,以便在应用运行期间负责资源的动态调度。

子步骤b2,将所述各资源数据与高优先级与低优先级的对应关系,存储为资源优先级列表。

具体地,将制定好优先级的资源数据,按照优先级顺序存储为资源优先级列表。

可以理解的,资源数据也可以按照数据类型、数据存储路径,结合优先级顺序进行分类存储,由相关技术人员结合应用合理性进行设置,本发明实施例对此不加以限制。

步骤203,根据所述资源优先级列表,将所述资源数据上传至各所述服务器;

具体地,根据资源优先级列表,在应用开发阶段由相关技术人员指定需要动态调度的资源列表,并根据动态调度的资源列表将对应的各资源数据上传至指定的服务器。

可以理解的,可以人工参与主动调整优先级以满足特定的需求。

步骤204,将所述服务器的服务器信息与存储的所述资源数据的对应关系,存储在预置服务器信息列表中;

具体地,动态调度的资源列表中指定的资源将被上传到服务器后,会从本地应用中删除,同时将每个资源对应的服务器地址(url)、密匙sha256、资源路径等信息写入新的预置服务器信息列表中。

步骤205,将所述预置服务器信息列表加载至所述应用。

具体地,预置服务器信息列表在应用开发阶段打包进应用中,以备应用运行期间根据预置服务器信息列表中的服务器信息查找对应的目标服务器。

当然,应用会定期向指定服务器下载更新的预置服务器信息列表。

步骤206,当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;

此步骤与步骤103相同,在此不再详述。

步骤207,根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。

优选地,步骤207包括,子步骤a1-a2;

子步骤a1,当所述应用启动时,获取所述应用的待下载资源数据队列;

具体地,如图2a所示,应用运行阶段由资源动态调度中心进行资源调度,即在应用启动后自动开启预加载流程。

可以理解的,根据该应用的常用资源以及当前用户的操作所调用的资源数据,生成待下载资源数据队列。

具体地,根据待下载资源数据队列,应用读取写入应用资源数据优先级列表,对列表中的每个资源按照其优先级逐个进行预加载。

子步骤a2,根据所述资源优先级列表中的优先级顺序,将待下载资源数据队列中待下载的所述应用资源,从对应的各所述目标服务器中的进行下载。

具体地,如图2a所示,网络加载由两个优先级队列来进行,即高优先级队列和低优先级队列。

其中,默认地,应用启动后会在低优先级队列加载所有的待加载资源数据,当检测到当前有高优先级资源数据加载任务时会暂停低优先级队列的资源数据加载任务,而优先加载高优先级队列中的资源数据。待高优先级资源加载完毕重新启动低优先级队列继续进行预加载。

可以理解的,资源数据下载时是根据预置服务器信息列表中找到对应的目标服务器进行下载,而网络环境对于数据加载速度的影响,本申请实施例不加以限制。

实际应用中,如图2a所示,资源数据加载成功后会被写入内存、磁盘中作为缓存,同时回调结果到应用。

优选的,步骤207还包括:

子步骤a3,若从各所述服务器中的下载所述资源数据失败,则将下载失败的所述资源数据记录在待下载资源数据队列中。

具体地,资源加载失败会重新被加入待下载资源数据队列中,并且重新执行子步骤a1-a3。

可以理解的,若下载失败重新下载的数据资源,可以进行标记以提高优先级,有相关技术人员设置,本发明实施例不加以限制。

综上所述,本发明实施例提供了一种应用的资源数据的调度方法,所述方法包括:服务器收集用户在使用应用的各资源数据时的行为数据;所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;根据所述资源优先级列表,将所述资源数据上传至各所述服务器;将所述服务器的服务器信息与存储的所述资源数据的对应关系,存储在预置服务器信息列表中;将所述预置服务器信息列表加载至所述应用。当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。解决了现有技术局限于本地资源的调度,没有涉及远程资源调度且造成本地资源数据造成应用安装包过大的问题,可以通过确定资源数据的优先级,在应用开启时,按照优先级从服务器下载资源数据而实现资源数据可远程调度,且具备资源数据不用在应用下载时就下载并存储在本地,减小了的应用安装包的有益效果。

实施例三

参照图3,其示出了本发明实施例三提供的一种应用的资源数据的调度装置的结构图,具体如下。

行为数据收集模块301,用于服务器收集用户在使用应用的各资源数据时的行为数据;

资源优先级列表确定模块302,用于所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;

目标服务器查找模块303,用于当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;

资源数据下载模块304,用于根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。

综上所述,本发明实施例提供了一种应用的资源数据的调度装置,所述装置包括:行为数据收集模块,用于服务器收集用户在使用应用的各资源数据时的行为数据;资源优先级列表确定模块,用于所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;目标服务器查找模块,用于当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;资源数据下载模块,用于根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。解决了现有技术局限于本地资源的调度,没有涉及远程资源调度且造成本地资源数据造成应用安装包过大的问题,可以通过确定资源数据的优先级,在应用开启时,按照优先级从服务器下载资源数据而实现资源数据可远程调度,且具备资源数据不用在应用下载时就下载并存储在本地,减小了的应用安装包的有益效果。

实施例三为方法实施例一对应的装置实施例,详细信息可以参照实施例一的详细说明,在此不再赘述。

实施例四

参照图4,其示出了本发明实施例四提供的一种应用的资源数据的调度装置的结构图,具体如下。

行为数据收集模块401,用于服务器收集用户在使用应用的各资源数据时的行为数据;

资源优先级列表确定模块402,用于所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;

优选地,若所述用户行为数据包括用户使用资源数据的时间和使用频率,则所述资源优先级列表确定模块402,包括:

优先级确定子模块,用于根据用户使用各所述资源数据的时间长短和使用频率的大小,将所述各资源数据的标记为高优先级和低优先级;

优先级存储子模块,用于将所述各资源数据与高优先级与低优先级的对应关系,存储为资源优先级列表。

资源数据上传模块403,用于根据所述资源优先级列表,将所述资源数据上传至各所述服务器;

预置服务器信息列表生成模块404,用于将所述服务器的服务器信息与存储的所述资源数据的对应关系,存储在预置服务器信息列表中;

预置服务器信息列表加载模块405,用于将所述预置服务器信息列表加载至所述应用。

目标服务器查找模块406,用于当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;

资源数据下载模块407,用于根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。

优选地,所述资源数据下载模块407,包括:

待下载资源数据队列获取子模块,用于当所述应用启动时,获取所述应用的待下载资源数据队列;

资源数据下载子模块,用于根据所述资源优先级列表中的优先级顺序,将待下载资源数据队列中待下载的所述应用资源,从对应的各所述目标服务器中的进行下载。

综上所述,本发明实施例提供了一种应用的资源数据的调度装置,所述装置包括:行为数据收集模块,用于服务器收集用户在使用应用的各资源数据时的行为数据;资源优先级列表确定模块,用于所述服务器在所述行为数据中,确定所述各资源数据被使用的优先级,并将所述优先级存储为资源优先级列表;资源数据上传模块,用于根据所述资源优先级列表,将所述资源数据上传至各所述服务器;预置服务器信息列表生成模块,用于将所述服务器的服务器信息与存储的所述资源数据的对应关系,存储在预置服务器信息列表中;预置服务器信息列表加载模块,用于将所述预置服务器信息列表加载至所述应用。目标服务器查找模块,用于当所述应用启动时,根据所述应用中存储的预置服务器信息列表中存储的服务器信息,查找用于存储所述资源数据的目标服务器;资源数据下载模块,用于根据所述资源优先级列表,从所述目标服务器中下载所述资源数据。解决了现有技术局限于本地资源的调度,没有涉及远程资源调度且造成本地资源数据造成应用安装包过大的问题,可以通过确定资源数据的优先级,在应用开启时,按照优先级从服务器下载资源数据而实现资源数据可远程调度,且具备资源数据不用在应用下载时就下载并存储在本地,减小了的应用安装包的有益效果。

实施例四为方法实施例二对应的装置实施例,详细信息可以参照实施例二的详细说明,在此不再赘述。

本发明实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的方法。

本发明实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的方法。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的应用的资源数据的调度设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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