一种资源配置装置及资源配置方法与流程

文档序号:11261861阅读:178来源:国知局
一种资源配置装置及资源配置方法与流程

本发明涉及数据处理领域,具体而言,涉及一种资源配置装置及资源配置方法。



背景技术:

目前,在安卓客户端上,如果要改变应用程序中页面的布局、个别视图的样式或者某个视图的个别属性,应用程序的开发者需要发布新的客户端版本,才能实现,如果要改变线上版本的视觉效果,开发者只能通过发新版本或者动态部署的方式进行修改。采用上述的方式,资源的修改成本对开发者和用户都比较大,且效率比较低;如果需要修改的内容越多,所占用的资源文件就越大,进而导致客户端安装包的文件大小较大,影响用户体验。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种资源配置装置及资源配置方法。

本发明实施例提供的一种资源配置装置,应用于与一服务器通信连接的客户端,所述资源配置装置包括:

资源获得模块,用于从所述服务器获得包括需要变更的资源项的资源插件包;

资源加载模块,用于对所述资源插件包进行加载,获取所述资源插件包中的资源项;

资源项查找模块,用于根据当前执行的配置资源项的操作在获取的资源项中查找是否存在与该操作对应的资源项;

资源变更模块,用于使用查找到的资源项完成当前执行的配置资源项的操作。

优选地,所述资源配置装置还包括请求发送模块,

请求发送模块,用于按照预设的策略向所述服务器发送下载资源插件包的请求信息,以使所述服务器根据所述请求信息下发资源插件包到所述客户端。

优选地,所述预设的策略包括以下三种方式中的至少一种:

所述请求发送模块按照预设的时间间隔向所述服务器发送所述请求信息;

所述请求发送模块在应用程序启动时向所述服务器发送所述请求信息;

所述请求发送模块在所述资源项查找模块未查找到与当前执行的配置资源项的操作对应的资源项时,向所述服务器发送所述请求信息。

优选地,所述资源配置装置还包括控制指令接收模块,

控制指令接收模块,用于接收所述服务器发送的对所述资源插件包中的资源项进行配置控制的控制指令;

所述资源项查找模块在所述控制指令接收模块接收到所述控制指令后,根据当前执行的配置资源项的操作在获取的资源项中查找是否存在与该操作对应的资源项。

优选地,当所述资源项查找模块查找到多个与当前执行的配置资源项的操作对应的资源项时,所述资源变更模块根据所述控制指令的内容使用对应的查找到的资源项完成当前执行的配置资源项的操作。

优选地,所述资源加载模块通过生成用于设置所述资源插件包中的资源项的资源管理器的方式对资源插件包进行加载。

优选地,所述当前执行的配置资源项的操作包括对视图的渲染操作,

所述资源项查找模块根据当前待渲染的视图在获取的资源项中查找是否存在与对应的资源项;

所述资源变更模块使用查找到的资源项完成对当前待渲染的视图的渲染操作。

本发明实施例提供的一种资源配置方法,应用于与一服务器通信连接的客户端,所述资源配置方法包括:

从所述服务器获得包括需要变更的资源项的资源插件包;

对所述资源插件包进行加载,获取所述资源插件包中的资源项;

根据当前执行的配置资源项的操作在获取的资源项中查找是否存在与该操作对应的资源项;

使用查找到的资源项完成当前执行的配置资源项的操作。

优选地,所述资源配置方法还包括:

按照预设的策略向所述服务器发送下载资源插件包的请求信息,以使所述服务器根据所述请求信息下发资源插件包到所述客户端。

优选地,所述预设的策略包括以下三种方式中的至少一种:

按照预设的时间间隔向所述服务器发送所述请求信息;

在应用程序启动时向所述服务器发送所述请求信息;

在未查找到与当前执行的配置资源项的操作对应的资源项时,向所述服务器发送所述请求信息。

优选地,所述资源配置方法还包括:

接收所述服务器发送的对所述资源插件包中的资源项进行配置控制的控制指令;

在接收到所述控制指令后,执行所述根据当前执行的配置资源项的操作在获取的资源项中查找是否存在与该操作对应的资源的步骤。

优选地,当查找到多个与当前执行的配置资源项的操作对应的资源项时,根据所述控制指令的内容使用对应的查找到的资源项完成当前执行的配置资源项的操作。

优选地,通过生成用于设置所述资源插件包中的资源项的资源管理器的方式对资源插件包进行加载。

优选地,所述当前执行的配置资源项的操作包括对视图的渲染操作,所述方法包括:

根据当前待渲染的视图在获取的资源项中查找是否存在与对应的资源项;

使用查找到的资源项完成对当前待渲染的视图的渲染操作。

与现有技术相比,本发明的资源配置装置及资源配置方法,在要改变应用程序中页面的布局、个别视图的样式或者某个视图的个别属性时,只需要从服务器端获取相关的资源插件包,经过加载后即可执行对应的替换,从而无需重复修改代码和发布新版本即可满足用户对应用程序的资源进行修改的需求,同时也有效的降低了开发成本。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的服务器与客户端进行交互的示意图。

图2为本发明较佳实施例提供的图1所示的客户端的方框图。

图3为本发明较佳实施例提供的图2所示的客户端的资源配置装置的功能模块框图。

图4为本发明较佳实施例提供的应用于图3所示的资源配置装置的资源配置方法的流程图。

主要元件符号说明

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,是本发明较佳实施例提供的服务器100与客户端200进行交互的示意图。所述服务器100通过网络与一个或多个客户端200进行通信连接,以进行数据通信或交互。所述服务器100可以提供至少一个适用于各种操作系统的应用程序(application,app)的安装包供所述客户端200下载。所述客户端200通过所述网络访问所述服务器100后,可通过所述网络从服务器100下载适用于该客户端200的操作系统的应用程序的安装包,以将所述应用程序安装到所述客户端200中。本实施例中,所述客户端200安装有从所述服务器100下载的 适用于所述客户端200的操作系统的应用程序。所述客户端200在安装所述应用程序之后,所述客户端200可以从所述服务器100获得有关所述应用程序的插件包。

所述服务器100可以是,但不限于,网络(web)服务器、ftp(filetransferprotocol,文件传输协议)服务器、数据库服务器等。所述客户端200可以是,但不限于,智能手机、平板电脑、智能穿戴设备等。所述客户端200的操作系统可以是,但不限于,安卓(android)系统、ios系统、windowsphone系统等。优选地,本实施例中,所述客户端200的操作系统为安卓系统。

如图2所示,是本发明较佳实施例提供的图1所示的客户端200的方框图。所述客户端200包括资源配置装置10、存储器20以及处理器30。

所述存储器20以及处理器30相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,存储器20可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器20用于存储程序,所述处理器30在接收到执行指令后,执行所述程序。

所示处理器30可能是一种集成电路芯片,具有信号的处理能力。上述的处理器30可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器30也可以是任何常规的处理器等。

所述资源配置装置10包括至少一个或多个可以软件或固件(firmware)的形式存储于所述存储器20中或固化在所述客户端200的操作系统(operatingsystem,os)中的软件功能模块。所述处理器30用于执行存储器20中存储的可执行模块,例如所述资源配置装置10包括的软件功能模块或计算机程序。在本实施例中,所述客户端200安装有从所述服务器100下载的适用于所述客户端200的操作系统的应用程序,所述操作系统为安卓系统。所述资源配置装置10可以是安装于客户端200的一个单独的应用程序,或者是从服务器100下载安装的应用程序的一个部分(如一个功能模块)。

请参阅图3,为本发明较佳实施例提供的图2所示的客户端200的资源配置装置10的功能模块框图。所述资源配置装置10包括资源获得模块101、资源加载模块102、资源项查找模块103、资源变更模块104、请求发送模块105以及控制指令接收模块106。

资源获得模块101,用于从所述服务器100获得包括需要变更的资源项的资源插件包。

当客户端200的资源需要变更时(例如改变应用程序中页面的布局、个别视图的样式或者某个视图的个别属性),服务器100可主动下发包括有需要变更的资源项的资源插件包。其中,所述资源项对应的是需要变更的对象,例如,可以是图片、视频、音频、文字等各种类型的文件。所述资源项在服务器100中被打包之后,以插件包的形式进行下发给客户端200。资源插件包可以由与服务器100连接的终端设备上传,也可以在服务器100上直接在线生成。

资源加载模块102,用于对所述资源插件包进行加载,获取所述资源插件包中的资源项。

客户端200从服务器100获得资源插件包,首先将其解压并保存在预设的存储路径下。如此,所述资源加载模块102可通过所述预设的存储路径加载所述资源插件包,获取其中的资源项。在本实施例中,所述资源加载模块102通过生成用于设置所述资源插件包中的资源项的资源管理器的方式对资源插件包进行加载。由于资源插件包是以插件的形式存在的,不会对安装在客户端200的应用程序造成影响,而应用程序可以通过生成的资源管理器使用资源插件包中的资源项。当有新的资源项通过资源插件包的下发到客户端200时,不需要在客户端200重新安装相应的应用程序,通过生成的资源管理器即可对资源插件包中的资源项进行设置。

资源项查找模块103,用于根据当前执行的配置资源项的操作在获取的资源项中查找是否存在与该操作对应的资源项。

具体地,安装于客户端200的应用程序在运行时,包括大量的配置资源项的操作,例如,包括对视图的渲染、对动画的 播放等。每一个操作在执行时都有对应的资源项被配置。在加载资源插件包获取了其中的资源项后,根据当前执行的配置资源项的操作在获取的资源项中查找是否存在与该操作对应的资源项。如果存在,则说明该操作对应的资源项需要更换,如果不存在,则说明不需要更换。

资源变更模块104,用于使用查找到的资源项完成当前执行的配置资源项的操作。

对于需要更换的资源项,用查找到的资源项完成当前执行的配置资源项的操作,实现资源项的更换。在应用程序的运行过程中,客户端200发送请求信息和接收资源插件包的操作都不会对应用程序本身产生影响。而且新获取的资源插件包中的资源项可以立即加载,并在客户端200执行的配置资源项的操作时实现变更。例如,对某个视图进行渲染时,使用资源插件包中的图片文件,代替原有的用于渲染的图片文件,对待渲染的视图进行渲染。

以安卓系统为例,客户端200获得并加载了资源插件包之后,不需要重启应用程序,仅需要重启当前的activity,即可实现资源项的变更。其中,所述activity是android组件中最基本的四大组件(包括activity,service,contentprovider,broadcastreceiver)之一。对应安卓系统的资源,无论是保存在assets目录下的原生资源,还是保存在res目录下的资源都可以进行变更。加载资源插件包中的资源项,并没有将原有的资源进行覆盖,而是采用安卓系统自身的配置资源项的方法,在执行的配置资源项的操作时,将资源插件包中的资源项作为被配置的对象。

请求发送模块105,用于按照预设的策略向所述服务器100发送下载资源插件包的请求信息,以使所述服务器100根据所述请求信息下发资源插件包到所述客户端200。

服务器100除了主动向与之连接的客户端200下发资源插件包以外,也可根据客户端200发送的请求信息进行反馈,对应的下发相应的资源插件包。

在本实施例中,客户端200发送请求信息预设的策略包括以下三种方式中的至少一种:

所述请求发送模块105按照预设的时间间隔向所述服务器100发送所述请求信息;

所述请求发送模块105在应用程序启动时向所述服务器100发送所述请求信息;以及

所述请求发送模块105在所述资源项查找模块103未查找到与当前执行的配置资源项的操作对应的资源项时,向所述服务器100发送所述请求信息。

所述请求发送模块105按照预设的时间间隔发送请求信息以请求资源插件包的方式,可以及时的获取服务器100中新生成的资源插件包。而在应用程序启动时发送所述请求信息,可以保证应用程序打开后可以配置最新的资源项。另外,在所述资源项查找模块103未查找到与当前执行的配置资源项的操作对应的资源项时发送所述请求信息,可以对未加载或者加载失败的资源项进行有效的补充。

通过上述的几种请求信息的发送方式,客户端200可以快速、及时地获取服务器100的资源插件包,并进行对应的资源配置。

在本实施例中,请求信息可以是针对某个特定的资源插件包进行请求,也可以是请求当前最新生成的资源插件包。服务器100收到请求信息后,根据请求信息的内容向发送请求信息的客户端200发送对应的资源插件包。服务器100还可以对发送请求信息的客户端200的状态进行判断,如果已经向该客户端200下发过请求信息对应的资源插件包,则可以不作反馈,或者反馈重复请求的信息。

控制指令接收模块106,用于接收所述服务器100发送的对所述资源插件包中的资源项进行配置控制的控制指令。

所述资源项查找模块103在所述控制指令接收模块106接收到所述控制指令后,根据当前执行的配置资源项的操作在获取的资源项中查找是否存在与该操作对应的资源项。

在一些特定的情况下,加载资源插件包后,客户端200并不立刻执行资源变更的操作,而是等待服务器100发送进一步的控制指令,根据控制指令的内容进行资源变更。

服务器100发送的控制指令可以是指示客户端200即刻开始进行资源变更的操作的指令,也可以是包含有指示客户端200的执行时间和执行的对象的相关信息的指令。

客户端200根据收到的控制指令的内容,执行对应的操作。在根据当前执行的配置资源项的操作在获取的资源项中查找与该操作对应的资源项时,可能会出现查找到多个与当前执行的配置资源项的操作对应的资源项的情况。此时,客户端200根据控制指令中的执行时间和执行的对象的相关信息,使用对应的查找到的资源项完成当前执行的配置资源项的操作。通过接收控制指令,客户端200对资源变更的操作更加的灵活。

综上,本发明实施例提供的资源配置装置10可以使得客户端200通过加载从服务器100获得的资源插件包即可对应用程序的资源进行修改,不用重新安装客户端安装包,同时有效降低了开发者的开发成本。

请参阅图4,是本发明较佳实施例提供的应用于图3所示的资源配置装置10的资源配置方法的流程图。面将对图4所示的具体流程进行详细阐述。

步骤s401,向服务器100发送请求信息。

客户端200向服务器100发送下载资源插件包的请求信息,发送请求信息的策略包括以下三种方式中的至少一种:

按照预设的时间间隔向所述服务器100发送所述请求信息;在应用程序启动时向所述服务器100发送所述请求信息;在未查找到与当前执行的配置资源项的操作对应的资源项时,向所述服务器100发送所述请求信息。

通过向服务器100发送请求信息,使得服务器100根据请求信息做出反馈,进而下发对应的资源插件包。

步骤s402,从所述服务器100获得包括需要变更的资源项的资源插件包。

服务器100下发资源插件包后,客户端200接收所述资源插件包并保存。

步骤s403,对所述资源插件包进行加载,获取所述资源插件包中的资源项。

在本实施例中,所述资源加载模块102通过生成用于设置所述资源插件包中的资源项的资源管理器的方式对资源插件包 进行加载。加载成功后,所生成的资源管理器可以对资源插件包中的资源项进行配置。

步骤s404,接收所述服务器100发送的对所述资源插件包中的资源项进行配置控制的控制指令。

加载资源插件包后,客户端200并不是立刻执行资源变更的操作,而是等待服务器100发送进一步的控制指令,根据控制指令的内容进行资源变更。服务器100发送的控制指令可以是指示客户端200即刻开始进行资源变更的操作的指令,也可以是包含有指示客户端200的执行时间和执行的对象的相关信息的指令。

步骤s405,根据当前执行的配置资源项的操作在获取的资源项中查找是否存在与该操作对应的资源项,如果是,则执行步骤s406,如果否,则执行步骤s401。

如果存在与当前执行的配置资源项的操作对应的资源项,则说明该操作对应的资源项需要更换。如果不存在,则说明需要更换的资源项没有加载成功,需要向服务器100发出请求信息,要求加载该资源项所在的资源插件包。

步骤s406,使用查找到的资源项完成当前执行的配置资源项的操作。

对于需要更换的资源项,用查找到的资源项完成当前执行的配置资源项的操作,实现资源项的更换。

在本实施例中,如果查找到多个与当前执行的配置资源项的操作对应的资源项。客户端200根据控制指令中的执行时间和执行的对象的相关信息,使用对应的查找到的资源项完成当 前执行的配置资源项的操作。通过接收控制指令,客户端200对资源变更的操作更加的灵活。

下面通过一个具体的例子对本发明提供的资源配置方法进行进一步详细的说明。

例如,客户端200安装有从服务器100下载的应用程序(如浏览器),资源配置装置10可以是安装于客户端200(如智能手机)的浏览器的一部分功能模块。当服务器100有针对该浏览器的资源插件包生成时,服务器100可以主动向安装有该浏览器的客户端200下发该资源插件包。或者是服务器100收到某个客户端200发送的请求信息后,向发送该请求信息的客户端200下发该资源插件包。春节到了,许多应用程序会都在春节期间对其交互界面进行换肤,变成有节日庆祝气氛的风格,就需要对交互界面上显示的视图、动画或者播放的音频等进行调整。此时,服务器100下发一个包括有节日风格的图片以及其他各类资源项的资源插件包。客户端200从服务器100处获得资源插件包,将资源插件包保存在预设目录下,并对该资源插件包进行加载。以安卓系统为例,则是生成一个可以设置资源插件包中各个资源项的资源管理器。为了保证浏览器可以在春节节日期间正常完成换肤,资源插件包可能在春节还没到时就已经提前下发了。客户端200加载该资源插件包后,并不立刻执行换肤的操作,而是等待服务器100发送的控制指令,服务器100向客户端200发送的控制指令包括两方面的信息,一方是执行换肤操作的时间,另一方面是换肤的对象。为了保证操作界面的多样化,服务器100下发的资源插件包中包括对应多套不同皮肤的资源项。控制指令可以指示客户端200在哪一 个时间采用哪一套皮肤进行换肤。当春节来临时,客户端200根据控制指令的指示,从资源插件包的资源项中选择对应的执行换肤操作。在执行的过程中,有的客户端200可能由于某些其他因素导致某个控制指令所指示的资源项没有加载成功,此时该客户端200向服务器100发出下载资源插件包的请求信息,服务器100再次向该客户端200下发资源插件包,以完成换肤操作。同时,由于加载资源插件包获得的资源项并没有覆盖原来客户端200文件中的资源项。在春节过后,客户端200可以在服务器100发送的控制命令的控制下,更换为春节前所曾经使用的皮肤。

综上所述,本发明的资源配置装置及资源配置方法,在要改变应用程序中页面的布局、个别视图的样式或者某个视图的个别属性时,只需要从服务器端获取相关的资源插件包,经过加载后即可执行对应的替换。在无需重复修改代码、无需发版本、无需增加客户端安装包的资源文件的条件下,满足了对应用程序的资源进行动态修改的需求,同时也有效降低了开发者的开发成本。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现 方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素 的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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

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