CN114637946A - 资源数据的处理方法、装置及电子设备 - Google Patents
资源数据的处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114637946A CN114637946A CN202210212650.7A CN202210212650A CN114637946A CN 114637946 A CN114637946 A CN 114637946A CN 202210212650 A CN202210212650 A CN 202210212650A CN 114637946 A CN114637946 A CN 114637946A
- Authority
- CN
- China
- Prior art keywords
- cache
- resource
- resource data
- data
- resource object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及一种资源数据的处理方法、装置、电子设备和存储介质,所述方法包括:确定应用的待展示的资源对象;若在缓存中查找到资源对象对应的资源数据,则加载缓存中的资源数据并进行渲染,以展示资源对象;对缓存中的资源对象的资源数据进行版本校验;若校验未通过,则基于版本信息对缓存中的资源数据进行更新。本申请使用缓存加载资源数据并在加载后对缓存中的资源数据进行版本校验,可以快速进行应用页面的渲染而不受网络状态影响,并保证了缓存中资源数据的及时更新以展示最新页面,有效提升用户体验。
Description
技术领域
本申请涉及终端技术领域,特别是涉及一种资源数据的处理方法、装置及电子设备。
背景技术
现有技术在应用内展示页面的时候,通常直接从云端获取页面对应的UI、逻辑以及图片文案等资源数据以展示最新的页面,在网络状况不佳的情况下,每次打开页面都要等待一段时间,容易使用户产生焦虑,影响用户体验。
发明内容
基于此,有必要针对上述技术问题,提供一种资源数据的处理方法、装置及电子设备,可以快速加载资源数据进行应用界面的渲染而不受网络状态影响,并对资源数据及时更新,提升用户体验。
一种资源数据的处理方法,所述方法包括:
确定应用的待展示的资源对象;
若在缓存中查找到所述资源对象对应的资源数据,则加载所述缓存中的资源数据并进行渲染,以展示所述资源对象;
对所述缓存中的所述资源对象的资源数据进行版本校验;
若校验未通过,则基于版本信息对所述缓存中的所述资源数据进行更新。
一种资源数据的处理装置,包括:
资源对象确定模块,用于确定应用的待展示的资源对象;
加载模块,用于若在缓存中查找到所述资源对象对应的资源数据,则加载所述缓存中的资源数据并进行渲染,以展示所述资源对象;
校验模块,用于对所述缓存中的所述资源对象的资源数据进行版本校验;
更新模块,用于若校验未通过,则基于版本信息对所述缓存中的所述资源数据进行更新。
在其中一个实施例中,所述缓存包括内存缓存与本地缓存;所述加载模块,包括:
第一查找单元,用于在内存缓存中查找所述资源对象的资源数据;
第二查找单元,用于若在内存缓存中查找失败,则在本地缓存中查找所述资源对象的资源数据;
加载单元,用于若在内存缓存或本地缓存中查找成功,则加载所述资源数据并进行渲染,以展示所述资源对象。
在其中一个实施例中,所述校验模块,包括:
比对单元,用于将缓存中的所述资源对象的资源数据的版本信息与服务器中的最新版本信息进行比对;
所述更新模块,包括:
第一更新单元,用于若比对结果不一致,则基于所述最新版本信息对所述内存缓存和所述本地缓存中的所述资源对象的资源数据进行更新。
在其中一个实施例中,所述更新模块,还包括:
第二更新单元,用于若比对结果一致,则在所述内存缓存中没有所述资源对象的资源数据时,将所述本地缓存中的所述资源对象的最新版本的资源数据缓存至所述内存缓存。
在其中一个实施例中,所述装置,还包括:
服务器查找与加载模块,用于若在缓存中查找失败,则向服务器获取所述资源对象的资源数据并加载和渲染,以展示所述资源对象。
在其中一个实施例中,所述缓存包括内存缓存与本地缓存,所述资源数据从所述内存缓存中加载并进行渲染;所述装置,还包括:
判断模块,用于判断所述内存缓存的与所述应用对应的缓存容量和/或资源数据的数量,是否达到所述应用当前对应的分配阈值;
第一清除模块,用于若达到所述应用当前对应的分配阈值,则根据所述应用的各资源对象的资源数据的使用信息,对所述内存缓存中的所述资源对象的资源数据进行清除。
在其中一个实施例中,所述方法,还包括:
初始分配阈值确定模块,用于根据缓存总容量,确定内存缓存的与所述应用对应的缓存容量和资源数据的数量的初始分配阈值;
分配阈值调整模块,用于根据当前的运行状态对所述初始分配阈值进行调整,以获取所述应用当前对应的分配阈值。
在其中一个实施例中,所述装置,还包括:
第二清除模块,用于根据第一清除操作清除本地缓存中的所述应用的全部资源对象的资源数据;和/或,
第三清除模块,用于根据第二清除操作选择清除本地缓存中的所述应用的资源对象的资源数据。
在其中一个实施例中,所述资源对象包括所述应用所绑定的各设备的设备页面,所述资源数据包括各设备的设备页面对应的设备页面数据;所述加载模块,用于:
若在缓存中查找到待展示设备的设备页面对应的设备页面数据,则加载所述缓存中的设备页面数据并进行渲染,以展示相应设备的设备页面。
一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的资源数据的处理方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的资源数据的处理方法的步骤。
上述资源数据的处理方法、装置、电子设备和存储介质,所述方法包括:确定应用的待展示的资源对象;若在缓存中查找到资源对象对应的资源数据,则加载缓存中的资源数据并进行渲染,以展示资源对象;对缓存中的资源对象的资源数据进行版本校验;若校验未通过,则基于版本信息对缓存中的资源数据进行更新。本申请使用缓存加载资源数据并在加载后对缓存中的资源数据进行版本校验,可以快速进行应用页面的渲染而不受网络状态影响,并保证了缓存中资源数据的及时更新以展示最新页面,有效提升用户体验。
附图说明
图1为一个实施例中资源数据的处理方法的应用环境图;
图2为一实施例中资源数据的处理方法的流程示意图;
图3为另一实施例中资源数据的处理方法的流程示意图;
图4为又一实施例中资源数据的处理方法的流程示意图;
图5为一实施例中的一种应用场景示意图;
图6为再一实施例中资源数据的处理方法的流程示意图;
图7为一实施例中的一种应用场景的设备页面的一示意图;
图8为一实施例中的一种应用场景的设备页面的另一示意图;
图9为一实施例中的一种应用场景的页面的又一示意图;
图10为一实施例中资源数据的处理装置的结构框图;
图11为另一实施例中电子设备的内部结构图;
图12为又一实施例中电子设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的资源数据的处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102确定应用的待展示的资源对象后,在缓存中查找资源对象的资源数据,若在缓存中查找到资源对象对应的资源数据,则加载缓存中的资源数据并进行渲染以展示资源对象,基于服务器104的版本信息对缓存中的资源对象的资源数据进行版本校验,若校验未通过,则基于版本信息对缓存中的资源数据进行更新。
在一个场景中,应用可以为家居管理应用,待展示的资源对象为家居管理应用中绑定的家居设备的设备页面,包括控制页面或详情页面,家居设备包括但不限于网关、智能吊灯、智能开关等,在家居管理应用上打开家居设备对应的控制页面或详情页面时,可以采用上述方式从终端中的缓存数据快速加载控制页面或详情页面的资源数据,对控制页面或详情页面进行快速渲染而不受网络状态影响,同时,在加载资源数据后对缓存中的资源数据进行版本校验,可以保证缓存中的资源数据的及时更新以展示最新页面,有效提升用户体验。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,提供了一种资源数据的处理方法,可应用于图1所示的终端,包括以下步骤:
步骤202,确定应用的待展示的资源对象;
其中,待展示的资源对象为应用中待展示的整个页面或页面中需要更新展示的部分区域。
在一个场景中,应用可以为设备管理应用,具体可以为智能家居设备管理应用等,待展示的资源对象为设备页面,具体可以为设备详情页面、设备管理页面等。当用户点击进入设备页面或者点击页面中的按钮进入下一页面时,确定应用的待展示的资源对象。
步骤204,若在缓存中查找到资源对象对应的资源数据,则加载缓存中的资源数据并进行渲染,以展示资源对象;
其中,资源对象的资源数据用于对资源对象进行渲染,以使资源对象可视、可操作,例如可以渲染得到可视、可操作的设备页面,资源数据具体可以为页面对应的UI、逻辑以及图片文案等数据。
可以理解,缓存是指终端设备的缓存,具体可以是能够用于存储数据的存储器。缓存具有容量较小但交换速度较快的特点,用于预读取信息或者暂时存储一些不需要长久保存的信息。
当需要展示资源对象时,先在终端的缓存数据中查找资源对象的资源数据,当在缓存中查找到资源对象的资源数据时,终端加载缓存中的资源数据以展示资源对象,相对于从服务器获取资源数据,可以提高加载速度,快速进行应用页面的渲染而不受网络状态影响,减少用户打开页面的等待时间。
在一实施例中,资源对象包括应用所绑定的各设备的设备页面,资源数据包括各设备的设备页面对应的设备页面数据,则步骤204,具体可以包括:
若在缓存中查找到待展示设备的设备页面对应的设备页面数据,则加载缓存中的设备页面数据并进行渲染,以展示相应设备的设备页面。
其中,应用所绑定的设备可以是智能家居设备,包括但不限于网关、智能吊灯、智能开关等已入网的设备,待展示设备可以是应用所绑定的设备中的任一设备,设备页面用于展示设备的详情信息、操作信息和管理信息等内容,提供用户查看或操作的入口,终端通过加载设备页面数据并进行渲染来展示相应设备的设备页面。
步骤206,对缓存中的资源对象的资源数据进行版本校验。
其中,在缓存中查找到资源对象的资源数据进行加载后,终端还对缓存中的资源对象的资源数据进行版本校验,也即校验缓存中的资源对象的资源数据是否为最新版本,具体可以将缓存中的资源对象的资源数据的当前版本信息与最新版本信息进行比对来进行校验。
步骤208,若校验未通过,则基于版本信息对缓存中的资源数据进行更新。
其中,基于版本信息对缓存中的资源数据进行更新,具体可以是以更新后的版本的资源数据覆盖掉缓存中老旧版本的数据。从而,在加载资源数据后可以进一步保证缓存中资源数据的及时更新,在下次显示相同设备的页面时,就可以展示最新页面,同时不会影响本次渲染的速度,兼顾对页面的快速渲染和更新,有效提升用户体验。
上述资源数据的处理方法,确定应用的待展示的资源对象;若在缓存中查找到资源对象对应的资源数据,则加载缓存中的资源数据并进行渲染,以展示资源对象;对缓存中的资源对象的资源数据进行版本校验;若校验未通过,则基于版本信息对缓存中的资源数据进行更新。本申请使用缓存加载资源数据并在加载后对缓存中的资源数据进行版本校验,可以快速进行应用页面的渲染而不受网络状态影响,并保证了缓存中资源数据的及时更新以展示最新页面,有效提升用户体验。
如图3所示,提供了一种资源数据的处理方法,可应用于图1所示的终端,上述步骤204可包括以下步骤:
步骤301,在内存缓存中查找资源对象的资源数据;
步骤302,判断是否在内存缓存中找到资源数据;若是,则执行步骤306,否则执行步骤303;
步骤303,在本地缓存中查找资源对象的资源数据;
步骤304,判断是否在本地缓存中找到资源数据;若是,则执行步骤306,否则执行步骤305;
步骤305,确认在缓存中查找失败;
步骤306,确认在缓存中查找成功。
其中,缓存包括内存缓存与本地缓存。内存缓存是在应用启动以后初始化获得的存储空间,跟随应用的生命周期进行数据存储和释放,具有访问速度快的优点。本地缓存是硬盘中的存储空间,本地缓存的数据写入到本地文件系统中,通过文件路径访问读取,本地缓存的文件不会占用内存空间,不随应用的生命周期变化。
在本实施例中,通过采用二级缓存方式对资源数据进行存储,当需要展示资源对象时,先在内存缓存中查找资源对象的资源数据,相对于直接从本地缓存中查找资源对象的资源数据,可以提高加载的速度,也极大提高了界面的解析渲染速度。实际实现时,资源对象具有标识信息以用于进行资源数据的查找,以设备页面为例,资源对象的标识信息可以是设备的ID,此外还可以包括设备的类型。
由于内存缓存中的数据在应用退出时被释放清除,因此可能出现在内存缓存中查找失败的情况,也即内存缓存中没有存储需要展示的资源对象的资源数据。此时,继续在本地缓存中查找资源对象的资源数据,由于本地缓存的数据写入到本地文件系统中,不会随应用的生命周期变化,通常可以找到已经缓存的资源数据。如此,仍可以通过本地缓存中的数据快速加载资源对象而不受网络状态影响。
一些情况下,当资源对象为首次加载或本地缓存中相应的资源数据被清除时,会出现在本地缓存中查找失败的情况,此时,内存缓存和本地缓存中均不存在需要展示的资源对象的资源数据。
一个实施例中,缓存包括内存缓存与本地缓存时,上述实施例中的步骤206中,对缓存中的资源对象的资源数据进行版本校验,包括:
将缓存中的资源对象的资源数据的版本信息与服务器中的最新版本信息进行比对。
一个实施例中,上述实施例中的步骤208中,若校验未通过,则基于版本信息对缓存中的资源数据进行更新,包括:
若比对结果不一致,则基于最新版本信息对内存缓存和本地缓存中缓存资源对象的资源数据进行更新。
一个实施例中,上述实施例中的步骤206中,将缓存中的资源对象的资源数据的版本信息与服务器中的最新版本信息进行比对之后,还包括:
若比对结果一致,则在内存缓存中没有资源对象的资源数据时,将本地缓存中的资源对象的最新版本的资源数据缓存至内存缓存。
其中,将缓存中的资源对象的资源数据的版本信息与服务器中的最新版本信息进行比对,可以是终端将缓存中的资源数据的版本信息发送到服务器,由服务器将接收的版本信息与最新版本信息进行比对,返回比对结果到终端,也可以是终端向服务器请求最新版本信息,在终端本地进行版本比对,得到比对结果。若比对结果一致,则说明缓存中的资源数据为最新版本,若比对结果不一致,则说明缓存中的资源数据不是最新版本。
由于在缓存中找到资源数据有两种情况,一种是内存缓存和本地缓存中均有资源数据,一种是内存缓存中没有资源数据但本地缓存中有资源数据,因此,根据版本信息的比对结果,对内存缓存和本地缓存中的资源数据进行不同处理来完成版本校验,以实现资源数据的及时更新。
其中,在内存缓存和本地缓存中均有资源数据的情况下,若缓存中的资源数据不是最新版本,则从服务器下载最新版本的资源数据,在内存缓存和本地缓存中缓存资源对象的资源数据的最新版本,以覆盖掉内存缓存和本地缓存中老旧的版本,在下次加载相同资源对象时,即可展示最新页面,并能提高页面渲染速度。反之,若缓存中的资源数据是最新版本,则不从服务器下载资源数据进行更新。
在内存缓存中没有资源数据但本地缓存中有资源数据的情况下,若缓存中的资源数据不是最新版本,则从服务器下载最新版本的资源数据,先在本地硬盘中缓存资源对象的资源数据的最新版本,以覆盖掉本地缓存中老旧的版本,再将本地缓存中的最新资源数据缓存至内存,从而在内存缓存和本地缓存中缓存资源对象的资源数据的最新版本,在下次加载相同资源对象时,即可展示最新页面,并能提高页面渲染速度。反之,若缓存中的资源数据是最新版本,则表明本地缓存中有资源数据的最新版本,只需将本地缓存中的资源对象的资源数据的最新版本缓存至内存缓存,在下次加载相同资源对象时,仍是最新页面,并能提高页面渲染速度。
通过上述方式,本申请将内存缓存和本地缓存结合来加载资源数据,相比直接从本地缓存中读取数据或从服务器获取数据,加载速度更快,避免或减少了网络对页面加载速度的影响,减少用户焦虑,提高用户体验。此外,在更新资源数据时,结合缓存数据的版本信息和服务器数据的版本信息进行更新,只当本地缓存中没有最新版资源数据时,才从服务器下载资源数据进行更新,可以减少对网络的占用。
如图4所示,提供了一种资源数据的处理方法,可应用于图1所示的终端,方法包括:
步骤402,确定应用的待展示的资源对象;
步骤404,在缓存中查找资源对象的资源数据;
步骤406,判断是否在缓存中找到资源数据;若是,则执行步骤408,否则执行步骤410;
步骤408,加载缓存中的资源数据并进行渲染以展示资源对象,并对缓存中的资源对象的资源数据进行版本校验;
步骤410,向服务器获取资源对象的资源数据并加载和渲染,以展示资源对象。
其中,步骤402-408的实现过程详见上述各实施例所述,在此不再赘述。在本实施例中,若在缓存中查找失败,则向服务器获取资源对象的资源数据并加载和渲染,以展示资源对象,从而保证页面的正常显示。
请参考图5,一种场景下,用户在终端102上操作,触发资源对象的展示指令,如展示一设备的操作页面,在确定应用的待展示的资源对象后,终端102先在内存缓存1021中查找资源对象的资源数据,若查找失败,则继续在本地缓存1022中查找资源对象的资源数据,若仍查找失败,则向服务器104获取资源数据,从而可以加快资源对象的渲染速度。此外,在内存缓存1021或本地缓存1022中找到资源数据后,还可以通过服务器104中的最新版本信息对内存缓存1021或本地缓存1022中的资源数据进行版本校验和更新,保证缓存中资源数据的及时更新。
在一个实施例中,步骤410向服务器获取资源对象的资源数据并加载和渲染,以展示资源对象,具体可包括:
获取服务器返回的资源对象的资源数据;
缓存资源对象的资源数据;
加载缓存的资源对象的资源数据并进行渲染,以展示资源对象。
其中,终端可以向服务器发送资源数据的下载请求,下载请求中可包括资源对象的标识信息,以使得服务器根据标识信息返回资源数据。在获取到服务器返回的资源对象的资源数据后,先缓存资源对象的资源数据,再加载缓存的资源对象的资源数据并进行渲染,以展示资源对象。如此,在需要再次展示相同资源对象时,可以直接从缓存中读取资源数据,不需要再次下载,提高页面的渲染速度。
实际实现时,当缓存包括内存缓存与本地缓存时,从服务器下载的资源数据先缓存到本地文件系统,再从本地缓存中解压并缓存至内存,如此,在内存缓存和本地缓存中均存储了最新的资源数据,在需要再次展示相同资源对象时,可以直接从缓存中读取资源数据,不需要再次下载,且从内存缓存中读取可以提高页面的渲染速度。
实际实现时,还可以在获取到服务器发送的资源数据后,先判断资源数据的大小,当资源数据的大小小于或等于预设阈值时,不对资源数据进行缓存,反之,则进行缓存,从而仅是有针对性地将较大的资源数据缓存,减少对本地缓存的占用,可以降低清理本地缓存的频率,同时不会显著影响资源对象的渲染速度。
采用上述方式进行资源数据渲染测试,终端能够可以保证在不同手机上都有较高的性能,且在弱网和正常网络下,都可以快速渲染出相应的界面效果。经多次测试验证,均可在500ms以内快速渲染出相应的界面效果。
通过上述方式,在缓存中查找到资源对象的资源数据时先进行加载,然后对缓存中的资源对象的资源数据进行版本校验和更新,以及,在缓存中未查找到资源对象的资源数据时下载新的资源数据进行缓存和加载,从而,不会影响本次渲染的速度,并保证了缓存中资源数据的及时更新,同时兼顾对页面的快速渲染和更新,有效提升用户体验。
如图6所示,提供了一种资源数据的处理方法,可应用于图1所示的终端,方法包括:
步骤602,判断内存缓存的与应用对应的缓存容量和/或资源数据的数量,是否达到应用当前对应的分配阈值;
步骤604,若达到应用当前对应的分配阈值,则根据应用的各资源对象的资源数据的使用信息,对内存缓存中的应用的资源对象的资源数据进行清除。
其中,内存缓存的与应用对应的缓存容量,是指内存缓存中与应用对应的缓存数据所占的容量,例如当前内存缓存的数据总容量为500M,与应用对应的缓存数据所占的容量为300M。内存缓存的与应用对应的资源数据的数量,等同于应用的在内存缓存中具有资源数据的资源对象的数量,一个资源数据对应的缓存空间,缓存的是一个待展示的资源对象对应的资源数据,例如一个设备对应的设备资源包。资源数据的数量可以根据用户操作进行确认,每次点击展示一个没有缓存的新资源对象时,资源数据的数量就会+1,展示重复的资源对象则资源数据的数量不会增加。
在应用运行过程中、或者处于后台状态时,对应用对应的缓存容量和/或资源数据的数量进行分配阈值的动态调整,若缓存容量和/或资源数据的数量达到应用当前对应的分配阈值,则根据应用的各资源对象的资源数据的使用信息,对内存缓存中的应用的资源对象的资源数据进行清除,使用信息可以是资源对象的使用次数、使用时长、未使用时长等。具体可以使用最近最少使用算法(Least Recently Used,LRU)对内存缓存中的应用的资源对象的资源数据进行清除。
例如,当前分配阈值为缓存容量900M、资源数据的数量为20个,则在资源数据的数量未超过20个,但缓存容量大小超过900M时,就会触发清除缓存;若缓存容量大小没超过900M,但资源数据的数量超过20个,也会触发清除缓存。如此,通过使用内存缓存来加快资源对象的渲染速度,同时还可以保持比较低的内存占用,提高应用的性能和流畅性。
在一个实施例中,步骤604中应用当前对应的分配阈值,可以通过以下步骤获取:
根据缓存总容量,确定内存缓存的与应用对应的缓存容量和资源数据的数量的初始分配阈值;
根据当前的运行状态对初始分配阈值进行调整,以获取应用当前对应的分配阈值。
其中,系统内存的大小是终端的配置数据,例如2G或4G内存的手机或者平板,缓存总容量是与系统内存关联的允许缓存的数据总量,例如1200M。首先,根据缓存总容量确定内存缓存的与应用对应的缓存容量和资源数据的数量的初始分配阈值,例如,系统内存为2G内存的手机或者平板,可设置缓存容量为300M、资源数据的最大数量为7,再如系统内存为4G内存的手机或者平板,可设置缓存容量为900M、资源数据的最大数量为20。初始分配阈值可通过终端存储的配置表格进行查找确定。
在终端设备运行的过程时,根据终端设备当前的运行状态对初始分配阈值进行调整,以获取应用当前对应的分配阈值,从而可以基于初始分配阈值动态调整当前分配给应用的缓存容量和资源数据的数量。终端设备当前的运行状态是指与设备运行相关的状态,具体可以为允许速度、运行的应用总数、终端设备的温度等,例如,当前分配给应用的缓存容量为900M、资源数据的最大数量为20,但目前系统运行较为卡顿,例如运行速度低于阈值,则可以降低分配给应用的缓存容量为700M、资源数据的最大数量为10,从而释放部分内存空间,调整后的分配阈值可以根据终端设备的运行状态信息进行确定。
通过上述方式,本申请可以及时对内存缓存进行清除,在利用内存缓存加快资源对象的渲染速度的同时,保证内存缓存不会过大而导致应用性能出现问题,且本申请的缓存自动清理逻辑不需要调用方关注内存情况,有利于简化开发流程。
在一个实施例中,本申请的方法,还包括以下步骤:
根据第一清除操作清除本地缓存中的应用的全部资源对象的资源数据;和/或,
根据第二清除操作选择清除本地缓存中的应用的资源对象的资源数据。
其中,第一清除操作可以通过缓存管理界面中的一键清除来触发,从而清除本地缓存中的应用的全部资源对象的资源数据,释放较多的本地空间。第二清除操作可以通过对缓存管理界面中的缓存列表的选择操作来触发,使得用户可以选择自己想要删除的部分文件。
本实施例中,通过及时对缓存中的数据进行清除,不仅能够保持较低的内存占用,还能够有效提高应用的运行性能和渲染显示的流畅性。
本申请还提供一种应用场景,该应用场景应用上述的资源数据的处理方法。具体地,该资源数据的处理方法在该应用场景的应用如下:
应用具体为智能家居设备管理应用,资源对象具体为智能设备对应的设备页面,资源数据具体为设备页面对应的页面数据。当用户需要打开一智能设备的设备页面时,进入智能家居设备管理应用并找到相应智能设备的设备页面入口,通过点击等操作触发进入设备页面的指令,此时,即确定了应用的待展示的资源对象为相应智能设备的设备页面。
之后,终端在缓存中查找到设备页面对应的页面数据,若找到页面数据,则加载缓存中的页面数据并进行渲染,即可在终端展示相应智能设备的设备页面,实现了快速打开设备页面,减少用户等待的时间。部分智能设备的设备页面可如图7-9所示,其中,图7所示页面与图8所示页面均为空调伴侣的设备页面,图7所示页面与图8所示页面可以是长页面的不同部分,也可以是上下级页面,在设备页面上,可以对空调伴侣进行操作来控制空调,如开启或关闭、调节温度、风向、模式等,还可以查看详情如温度、风向等。图9所示为窗帘电机的设备页面,在设备页面上,可以对窗帘电机进行操作来控制窗帘,如打开窗帘、关闭窗帘、设置窗帘开度等。
终端在加载缓存中的页面数据并进行渲染后,还对缓存中的设备页面的页面数据进行版本校验,若校验未通过,则基于版本信息对缓存中的页面数据进行更新,从而在下次进入设备页面时可以展示更新后的设备页面,让用户及时获得更好的操作体验。
应该理解的是,虽然图2-4、图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4、图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图10为一实施例中资源数据的处理装置的结构框图。如图10所示,一种资源数据的处理装置,包括:
资源对象确定模块702,用于确定应用的待展示的资源对象;
加载模块704,用于若在缓存中查找到资源对象对应的资源数据,则加载缓存中的资源数据并进行渲染,以展示资源对象;
校验模块706,用于对缓存中的资源对象的资源数据进行版本校验;
更新模块708,用于若校验未通过,则基于版本信息对缓存中的资源数据进行更新。
在一个实施例中,缓存包括内存缓存与本地缓存;加载模块704,包括:
第一查找单元,用于在内存缓存中查找资源对象的资源数据;
第二查找单元,用于若在内存缓存中查找失败,则在本地缓存中查找资源对象的资源数据;
加载单元,用于若在内存缓存或本地缓存中查找成功,则加载资源数据并进行渲染,以展示资源对象。
在一个实施例中,校验模块706,包括:
比对单元,用于将缓存中的资源对象的资源数据的版本信息与服务器中的最新版本信息进行比对;
更新模块708,包括:
第一更新单元,用于若比对结果不一致,则基于最新版本信息对内存缓存和本地缓存中的资源对象的资源数据进行更新。
在一个实施例中,更新模块708,还包括:
第二更新单元,用于若比对结果一致,则在内存缓存中没有资源对象的资源数据时,将本地缓存中的资源对象的最新版本的资源数据缓存至内存缓存。
在一个实施例中,资源数据的处理装置还包括:
服务器查找与加载模块,用于若在缓存中查找失败,则向服务器获取资源对象的资源数据并加载和渲染,以展示资源对象。
在一个实施例中,缓存包括内存缓存与本地缓存,资源数据从内存缓存中加载并进行渲染;资源数据的处理装置还包括:
判断模块,用于判断内存缓存的与应用对应的缓存容量和/或资源数据的数量,是否达到应用当前对应的分配阈值;
第一清除模块,用于若达到应用当前对应的分配阈值,则根据应用的各资源对象的资源数据的使用信息,对内存缓存中的资源对象的资源数据进行清除。
在一个实施例中,资源数据的处理装置,还包括:
初始分配阈值确定模块,用于根据缓存总容量,确定内存缓存的与应用对应的缓存容量和资源数据的数量的初始分配阈值;
分配阈值调整模块,用于根据当前的运行状态对初始分配阈值进行调整,以获取应用当前对应的分配阈值。
在一个实施例中,资源数据的处理装置,还包括:
第二清除模块,用于根据第一清除操作清除本地缓存中的应用的全部资源对象的资源数据;和/或,
第三清除模块,用于根据第二清除操作选择清除本地缓存中的应用的资源对象的资源数据。
在一个实施例中,资源对象包括应用所绑定的各设备的设备页面,资源数据包括各设备的设备页面对应的设备页面数据;加载模块704,用于:
若在缓存中查找到待展示设备的设备页面对应的设备页面数据,则加载缓存中的设备页面数据并进行渲染,以展示相应设备的设备页面。
关于资源数据的处理装置的具体限定可以参见上述各方法实施例的限定,在此不再赘述。上述资源数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种电子设备,电子设备可以是服务器,其内部结构图可以如图11所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储资源数据的处理数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源数据的处理方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种电子设备,该电子设备可以是终端,其内部结构图可以如图12所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源数据的处理方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
关于电子设备的具体限定可以参见上述各方法实施例中对于资源数据的处理方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。关于步骤的具体限定可以参见上述各方法实施例中对于资源数据的处理方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种资源数据的处理方法,其特征在于,所述方法包括:
确定应用的待展示的资源对象;
若在缓存中查找到所述资源对象对应的资源数据,则加载所述缓存中的资源数据并进行渲染,以展示所述资源对象;
对所述缓存中的所述资源对象的资源数据进行版本校验;
若校验未通过,则基于版本信息对所述缓存中的所述资源数据进行更新。
2.根据权利要求1所述的方法,其特征在于,所述缓存包括内存缓存与本地缓存;若在缓存中查找到所述资源对象对应的资源数据,则加载所述缓存中的资源数据并进行渲染,以展示所述资源对象,包括:
在内存缓存中查找所述资源对象的资源数据;
若在内存缓存中查找失败,则在本地缓存中查找所述资源对象的资源数据;
若在内存缓存或本地缓存中查找成功,则加载所述资源数据并进行渲染,以展示所述资源对象。
3.根据权利要求2所述的方法,其特征在于,所述对所述缓存中的所述资源对象的资源数据进行版本校验,包括:
将缓存中的所述资源对象的资源数据的版本信息与服务器中的最新版本信息进行比对;
所述若校验未通过,则基于版本信息对所述缓存中的所述资源数据进行更新,包括:
若比对结果不一致,则基于所述最新版本信息对所述内存缓存和所述本地缓存中的所述资源对象的资源数据进行更新。
4.根据权利要求3所述的方法,其特征在于,所述将缓存中的所述资源对象的资源数据的版本信息与服务器中的最新版本信息进行比对之后,还包括:
若比对结果一致,则在所述内存缓存中没有所述资源对象的资源数据时,将所述本地缓存中的所述资源对象的最新版本的资源数据缓存至所述内存缓存。
5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
若在缓存中查找失败,则向服务器获取所述资源对象的资源数据并加载和渲染,以展示所述资源对象。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述缓存包括内存缓存与本地缓存,所述资源数据从所述内存缓存中加载并进行渲染;所述方法,还包括:
判断所述内存缓存的与所述应用对应的缓存容量和/或资源数据的数量,是否达到所述应用当前对应的分配阈值;
若达到所述应用当前对应的分配阈值,则根据所述应用的各资源对象的资源数据的使用信息,对所述内存缓存中的所述资源对象的资源数据进行清除。
7.根据权利要求6所述的方法,其特征在于,所述方法,还包括:
根据缓存总容量,确定内存缓存的与所述应用对应的缓存容量和资源数据的数量的初始分配阈值;
根据当前的运行状态对所述初始分配阈值进行调整,以获取所述应用当前对应的分配阈值。
8.根据权利要求1所述的方法,其特征在于,所述资源对象包括所述应用所绑定的各设备的设备页面,所述资源数据包括各设备的设备页面对应的设备页面数据;所述若在缓存中查找到所述资源对象对应的资源数据,则加载所述缓存中的资源数据并进行渲染,以展示所述资源对象,包括:
若在缓存中查找到待展示设备的设备页面对应的设备页面数据,则加载所述缓存中的设备页面数据并进行渲染,以展示相应设备的设备页面。
9.一种资源数据的处理装置,其特征在于,包括:
资源对象确定模块,用于确定应用的待展示的资源对象;
加载模块,用于若在缓存中查找到所述资源对象对应的资源数据,则加载所述缓存中的资源数据并进行渲染,以展示所述资源对象;
校验模块,用于对所述缓存中的所述资源对象的资源数据进行版本校验;
更新模块,用于若校验未通过,则基于版本信息对所述缓存中的所述资源数据进行更新。
10.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的资源数据的处理方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的资源数据的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210212650.7A CN114637946A (zh) | 2022-03-04 | 2022-03-04 | 资源数据的处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210212650.7A CN114637946A (zh) | 2022-03-04 | 2022-03-04 | 资源数据的处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114637946A true CN114637946A (zh) | 2022-06-17 |
Family
ID=81948864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210212650.7A Pending CN114637946A (zh) | 2022-03-04 | 2022-03-04 | 资源数据的处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114637946A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662222A (zh) * | 2022-11-22 | 2023-08-29 | 荣耀终端有限公司 | 缓存管理方法及相关设备 |
-
2022
- 2022-03-04 CN CN202210212650.7A patent/CN114637946A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662222A (zh) * | 2022-11-22 | 2023-08-29 | 荣耀终端有限公司 | 缓存管理方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352861B (zh) | 内存压缩方法、装置及电子设备 | |
CN105138376A (zh) | 混合模式应用、其网页资源升级方法、移动终端以及系统 | |
CN112115167B (zh) | 缓存系统热点数据访问方法、装置、设备和存储介质 | |
CN108345478B (zh) | 应用处理方法、装置、存储介质及电子设备 | |
CN111666516A (zh) | 页面加载方法、装置、电子设备及存储介质 | |
CN107545050A (zh) | 数据查询方法及装置、电子设备 | |
CN112035114A (zh) | 页面回退方法、装置、设备及介质 | |
CN114637946A (zh) | 资源数据的处理方法、装置及电子设备 | |
CN110290204B (zh) | 一种浏览器过代理的实现方法、装置及终端设备 | |
Kim et al. | Maintaining application context of smartphones by selectively supporting swap and kill | |
CN110489138B (zh) | 一种应用更新方法、装置和存储介质 | |
US20100179980A1 (en) | Cache system for mobile communications devices | |
US7681009B2 (en) | Dynamically updateable and moveable memory zones | |
CN109901849B (zh) | 应用程序安装方法、装置、电子设备及存储介质 | |
CN104008155A (zh) | 资源控制方法、装置和电子设备 | |
CN113094077A (zh) | 一种系统差分升级方法、装置、智能终端及存储介质 | |
CN115629875A (zh) | 内存页面处理方法、装置以及电子设备 | |
WO2007056364A1 (en) | Apparatus and associated methods for reducing application startup latency | |
CN115495020A (zh) | 文件处理方法、装置、电子设备和可读存储介质 | |
CN114138176A (zh) | Nor Flash的擦除、升级方法及装置、计算机设备和存储介质 | |
CN114357481A (zh) | 存储电路的访问方法、装置、计算机设备和存储介质 | |
CN113282363A (zh) | 一种优化混合app的方法及装置 | |
CN109840156B (zh) | 一种数据缓存方法及其设备、存储介质、终端 | |
US10698626B2 (en) | Method of managing integrated circuit cards, corresponding card and apparatus | |
CN112579004A (zh) | 快速删除flash数据的方法、系统、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |