CN112948440A - 页面数据的处理方法及装置、终端、存储介质 - Google Patents

页面数据的处理方法及装置、终端、存储介质 Download PDF

Info

Publication number
CN112948440A
CN112948440A CN202110257339.XA CN202110257339A CN112948440A CN 112948440 A CN112948440 A CN 112948440A CN 202110257339 A CN202110257339 A CN 202110257339A CN 112948440 A CN112948440 A CN 112948440A
Authority
CN
China
Prior art keywords
data
database
stored
determining
module
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
Application number
CN202110257339.XA
Other languages
English (en)
Inventor
蔡成楠
柳思然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202110257339.XA priority Critical patent/CN112948440A/zh
Publication of CN112948440A publication Critical patent/CN112948440A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开是关于一种页面数据的处理方法及装置、终端、存储介质。该方法包括:通过浏览器的访问页面,从对应的服务器获取待存储数据;确定待存储数据的数据量;若待存储数据的数据量大于或等于预定的数据量阈值,则将待存储数据存储在第一数据库;若待存储数据的数据量小于数据量阈值,则将待存储数据存储在第二数据库;其中,第一数据库的存储容量大于第二数据库的存储容量,第二数据库的存取速率大于第一数据库的存取速率。通过本公开实施例的上述方案,有效利用两种具有不同特点的数据库进行应用页面数据的缓存,使得数据处理的过程兼具快速和存储容量大的优点,提升了缓存性能。

Description

页面数据的处理方法及装置、终端、存储介质
技术领域
本公开涉及信息处理技术,尤其涉及一种页面数据的处理方法及装置、终端、存储介质。
背景技术
随着互联网技术的发展以及用户需求的日益增长,前端页面的应用场景越来越广泛,页面所能展示的内容也愈加丰富。大数据量的页面对实现加载快速、渲染流畅的优质前端应用体验提出了更大的挑战,这必不可少地需要依靠本地缓存功能来实现页面数据的存取,而浏览器自带的本地缓存工具和现有的缓存方案并不足以支撑数据的高效传输和高质量存储。
发明内容
本公开提供一种页面数据的处理方法及装置、终端、存储介质。
根据本公开实施例的第一方面,提供一种页面数据的处理方法,包括:
通过浏览器的访问页面,从对应的服务器获取待存储数据;
确定所述待存储数据的数据量;
若所述待存储数据的数据量大于或等于预定的数据量阈值,则将所述待存储数据存储在第一数据库;
若所述待存储数据的数据量小于所述数据量阈值,则将所述待存储数据存储在第二数据库;
其中,所述第一数据库的存储容量大于所述第二数据库的存储容量,所述第二数据库的存取速率大于所述第一数据库的存取速率。
在一些实施例中,若所述待存储数据的数据量大于或等于所述数据量阈值,所述方法还包括:
检测所述第一数据库的剩余存储空间;
若所述第一数据库的剩余存储空间小于所述待存储数据的数据量,删除所述第一数据库中已存储的至少部分数据。
在一些实施例中,所述删除所述第一数据库中已存储的至少部分数据,包括:
利用FIFO(First Input First Output,先进先出)算法,确定最早存储在所述第一数据库中的待删除数据;
删除所述待删除数据。
在一些实施例中,所述利用FIFO算法,确定最早存储在所述第一数据库中的待删除数据,包括:
利用FIFO算法,确定最早存储在所述第一数据库中数据量为预定的删除数据量的待删除数据。
在一些实施例中,若所述待存储数据的数据量小于所述数据量阈值,所述方法还包括:
检测所述第二数据库的剩余存储空间;
若所述第二数据库的剩余存储空间小于所述待存储数据的数据量,将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中。
在一些实施例中,所述将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中,包括:
利用LRU(Least Recently Used,最近最少使用)算法,确定所述第二数据库中的待移动数据;
将所述待移动数据移动至所述第一数据库。
在一些实施例中,所述利用LRU算法,确定所述第二数据库中的待移动数据,包括:
利用LRU算法,确定所述第二数据库中的数据量为预定的移动数据量的待移动数据。
在一些实施例中,所述方法还包括:
根据检测到的获取数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
若未查找到所述数据标识,则在所述第一数据库中查找所述数据标识;
若查找到所述数据标识,则返回所述数据标识对应的数据。
在一些实施例中,所述方法还包括:
根据检测到的删除数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
若未查找到所述数据标识,则在所述第一数据库中查找所述数据标识;
若查找到所述数据标识,则删除所述数据标识对应的数据。
根据本公开实施例的第二方面,提供一种页面数据的处理装置,包括:
获取模块,用于通过浏览器的访问页面,从对应的服务器获取待存储数据;
确定模块,用于确定所述待存储数据的数据量;
第一存储模块,若所述待存储数据的数据量大于或等于数据量阈值,则用于将所述待存储数据存储在第一数据库;
第二存储模块,若所述待存储数据的数据量小于所述数据量阈值,则用于将所述待存储数据存储在第二数据库;
其中,所述第一数据库的存储容量大于所述第二数据库的存储容量,所述第二数据库的存取速率大于所述第一数据库的存取速率。
在一些实施例中,所述装置还包括:
第一检测模块,用于检测所述第一数据库的剩余存储空间;
第一删除模块,若所述第一数据库的剩余存储空间小于所述待存储数据的数据量,则用于删除所述第一数据库中已存储的至少部分数据。
在一些实施例中,所述第一删除模块,包括:
第一确定子模块,用于利用FIFO算法,确定最早存储在所述第一数据库中的待删除数据;
删除子模块,用于删除所述待删除数据。
在一些实施例中,所述第一确定子模块,具体用于:
利用FIFO算法,确定最早存储在所述第一数据库中数据量为预定的删除数据量的待删除数据。
在一些实施例中,所述装置还包括:
第二检测模块,用于检测所述第二数据库的剩余存储空间;
移动模块,若所述第二数据库的剩余存储空间小于待存储进所述第二数据库的所述待存储数据的数据量,则用于将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中。
在一些实施例中,所述移动模块,包括:
第二确定子模块,用于利用LRU算法,确定所述第二数据库中的待移动数据;
移动子模块,用于将所述待移动数据移动至所述第一数据库。
在一些实施例中,所述第二确定子模块,具体用于:
利用LRU算法,确定所述第二数据库中的数据量为预定的移动数据量的待移动数据。
在一些实施例中,所述装置还包括:
第一查找模块,用于根据检测到的获取数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
第二查找模块,若所述第一查找模块未查找到所述数据标识,则用于在所述第一数据库中查找所述数据标识;
返回模块,若查找到所述数据标识,则用于返回所述数据标识对应的数据。
在一些实施例中,所述装置还包括:
第三查找模块,用于根据检测到的删除数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
第四查找模块,若所述第三查找模块未查找所述数据标识,则在所述第一数据库中查找所述数据标识;
第二删除模块,若查找到所述数据标识,则用于删除所述数据标识对应的数据。
根据本公开实施例的第三方面,提供一种终端,所述终端至少包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述任一项页面数据的处理方法中的步骤。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一项页面数据的处理方法中的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:通过本公开实施例的上述方案,通过利用待存储数据的数据量进行分别存储,有效利用两种具有快速轻量及大容量这两种不同特点的数据库进行应用页面数据的缓存,使得数据处理的过程兼具快速和存储容量大的优点,提升了缓存性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种页面数据的处理方法的流程图一;
图2是根据一示例性实施例示出的一种页面数据的处理方法的流程图二;
图3是根据一示例性实施例示出的一种页面数据的处理方法的流程图三;
图4是根据一示例性实施例示出的一种页面数据的处理方法的流程图四;
图5是根据一示例性实施例示出的一种页面数据的处理方法中网络架构的示意图;
图6是根据一示例性实施例示出的一种页面数据的处理方法的流程图五;
图7是根据一示例性实施例示出的一种页面数据的处理装置的结构框图;
图8是根据一示例性实施例示出的一种终端的实体结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种页面数据的处理方法的流程图,如图1所示,所述方法包括:
步骤S101、通过浏览器的访问页面,从对应的服务器获取待存储数据;
步骤S102、确定所述待存储数据的数据量;
步骤S103、若所述待存储数据的数据量大于或等于数据量阈值,则将所述待存储数据存储在第一数据库;
步骤S104、若所述待存储数据的数据量小于所述数据量阈值,则将所述待存储数据存储在第二数据库;
其中,所述第一数据库的存储容量大于所述第二数据库的存储容量,所述第二数据库的存取速率大于所述第一数据库的存取速率。
在通过浏览器访问页面或者应用时,终端通过浏览器向服务器请求数据,并根据获取到的数据显示页面。如果为首次访问页面,则可能需要从服务器获取页面的全部数据,此时可以将页面数据进行缓存。这样,如果是再次访问页面,则可以读取已经缓存的数据,而无需等待服务器响应,因此可以优化页面的响应速度,提升用户的使用感受。
在本公开实施例中,通过上述第一数据库与第二数据库构成的缓存框架实现数据的缓存。这里,第一数据库与第二数据库可以为硬盘中的缓存框架,第一数据库与第二数据库具有不同的数据存取特性以及容量。
其中,第一数据库具有大容量的特点,适合于存储大对象;同时,由于第一数据库的容量大,因此存取速率相对于第二数据库可能较慢,因此更适于存储冷数据,即非活跃数据等。示例性地,第一数据库可以为应用IndexedDB服务的数据库,其特点是允许存储不少于250MB的数据。
而第二数据库具有轻量快速的特点,适应于存储小对象以及热数据,即活跃对象。从而便于小对象数据的快速响应,提升页面整体的响应速率。示例性地,第二数据库可以为应用localStorage服务的数据库,其特点是容量一般限定在2.5MB到10MB之间,存取操作轻量且同步。
在本公开实施例中,结合上述两类数据库的特点,对数据进行灵活地处理。即通过待存储数据的数据量,例如,获取对象的文件包大小或者对象大小等参数,来确定适合存储的数据库。若数据量大于或等于预定的数据量阈值,则认为属于大对象,进而可以存储在第一数据库中;而如果数据量小于预定的数据量阈值,则认为属于小对象,进而可以存储在第二数据库中。
这里,数据量阈值可以根据第一数据库或者第二数据库的存储限制来确定,例如,第二数据库的最大存储量为M字节(Byte),则可以将上述数据量阈值设定为M字节,若大于或等于该阈值,则可将数据存储至第一数据库中。又如,第二数据库存储的单个对象的最大数据量为N字节,则可以将上述数据量阈值设定为N字节。再如,第一数据库的单个对象的最小数据量为Q字节,则可以将上述数据量阈值设定为Q字节等等。
数据量阈值也可以根据访问数据的特点来确定,例如,页面中的常用的活跃数据的数据量大小小于P,则可将上述数据量阈值设定为P,等等。具体设定方法还可根据实际应用中的使用效果来灵活调整,这里不做限定。这里,活跃数据可以为在预定时长内被读取的次数大于一定次数阈值的数据,或者上次被读取的时刻距离当前时刻的时长小于一定时长阈值的数据等。
通过本公开实施例的上述方案,有效利用两种具有不同特点的数据库进行应用页面数据的缓存,使得数据处理的过程兼具快速和存储容量大的优点,提升了缓存性能。
在一些实施例中,如图2所示,若所述待存储数据的数据量大于或等于所述数据量阈值,所述方法还包括:
步骤S201、检测所述第一数据库的剩余存储空间;
步骤S202、若所述第一数据库的剩余存储空间小于所述待存储数据的数据量,删除所述第一数据库中已存储的至少部分数据。
如果上述待存储数据的数据量大于或等于数据量阈值,则待存储数据可存储至第一数据库,然而第一数据库可能已经存储了大量数据,导致剩余存储空间不足以存储上述待存储数据,因此还需对第一数据库的存储空间进行整理。
在本公开实施例中,可对第一数据库的剩余存储空间进行检测,然后比较剩余存储空间与待存储数据的数据量大小,进而确定待存储数据的数据量是否超出了剩余存储空间导致无法直接存储。
若剩余存储空间小于待存储数据的数据量,则可以通过删除第一数据库中的至少部分数据来腾出能够存储待存储数据的空间。
由于第一数据库存储的是大对象以及冷数据,因此,在一些实施例中,对于存储时间较长或者调用次数较少的数据可以进行删除。例如,将存储时间最长的部分数据进行删除。也可以通过一些预定的规则进行删除,例如,根据不同数据类型确定删除优先级,示例性地,数据类型可包括文本类数据、图像类数据以及音视频类数据等等。
如此,通过删除不常用或者不需要长期存储的数据,可以动态维持第一数据库的存储空间,从而便于长期使用数据库,并且不需要手动处理,提升了缓存性能。
在一些实施例中,所述删除所述第一数据库中已存储的至少部分数据,包括:
利用FIFO算法,确定最早存储在所述第一数据库中的待删除数据;
删除所述待删除数据。
在本公开实施例中,针对上述第一数据库可以利用FIFO算法进行数据的删除。即将最早存储在第一数据库中的数据进行删除。
这里,待删除数据可以为最早存储在第一数据库中的一笔数据,即将一个数据条目下的数据进行删除;也可以是多笔数据,或者根据预定的数据量进行删除,又或者,根据待存储数据的数据量进行删除等等。
在一些实施例中,所述利用FIFO算法,确定最早存储在所述第一数据库中的待删除数据,包括:
利用FIFO算法,确定最早存储在所述第一数据库中数据量为预定的删除数据量的待删除数据。
这里,可以预先确定删除数据量,在每次对第一数据库中的数据进行删除时,则根据该删除数据量删除最早存入的对应数量的数据。删除数据量可以根据第一数据库的总存储量来确定,例如,总存储量的50%、20%或者70%等等。也可以根据待存储数据的数据量来确定,例如,删除数据量可以等于待存储数据的数据量,或者为待存储数据的数据量的120%等等。
示例性地,预定的删除数据量可以为第一数据库最大存储量的一半,此时,当待存储进第一数据库的数据量大于第一数据库的剩余存储空间时,利用FIFO算法删除最先存入第一数据库的数据,删除数据的数据量为最大存储量的一半。这样,第一数据库则会具有至少为最大存储量的一半的存储空间可以存储该待存储数据以及后续还需要存储的数据。
如此,通过简单的算法就能够动态调整第一数据库的存储状态,从而便于数据的随时存取。
在一些实施例中,如图2所示,若所述待存储数据的数据量小于所述数据量阈值,所述方法还包括:
步骤S203、检测所述第二数据库的剩余存储空间;
步骤S204、若所述第二数据库的剩余存储空间小于所述待存储数据的数据量,将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中。
在待存储数据的数据量小于数据量阈值时,则可存储至第二数据库。而第二数据库也可能已经存储了大量数据,导致剩余存储空间不足以存储该待存储数据,因此,这里也需要对第二数据库的存储空间进行整理。
在本公开实施例中,可对第二数据库的剩余存储空间进行检测,然后比较剩余存储空间与待存储数据的数据量大小,进而确定待存储数据的数据量是否超出了剩余存储空间导致无法直接存储至第二数据库中。
若第二数据库的剩余存储空间小于待存储数据的数据量,则可将第二数据库中的至少部分数据移动至第一数据库中,进而腾出第二数据库的空间使得待存储数据能够存储至第二数据库中。
由于第二数据库存储的是热数据以及小对象的数据,因此,在一些实施例中,可按照第二数据库中已存储的对象的数据量大小进行排序,将数据量最大的若干个对象移动至第一数据库中;又如,可以根据已存储的对象的数据活跃程度,将最不活跃的若干个对象移动至第一数据库中,进而保证最新的待存储数据能够快速存储至第二数据库中。
在一些实施例中,所述将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中,包括:
利用LRU算法,确定所述第二数据库中的待移动数据;
将所述待移动数据移动至所述第一数据库。
在本公开实施例中,可利用LRU算法确定第二数据库中最近一段时间内最少使用的数据,并将这些数据作为待移动数据移动至第一数据库。使用LRU算法,可以将第二数据库中的对象标记自上次被访问以来的时长,通过比较可以确定第二数据库中该时长最长的一个或多个对象的数据,从而将这些数据作为待移动数据。
如此,可以对第二数据库中的冷数据或者由热数据转变为冷数据的对象移动至第一数据库,形成较长期和稳定的存储,并且为最新的待存储数据提供了存储空间。
需要说明的是,在对上述待移动数据进行移动时,若第一数据库的剩余存储空间不足以容纳待移动数据,则也可根据FIFO算法对第一数据库的数据进行整理,删除最早存储的部分数据,从而便于带移动数据的存储。
这样,通过第一数据库与第二数据库的动态结合,使得数据在由“热”变“冷”再到需要被删除的过程都能够存储在相应的位置,便于在不同情况下的使用、读取以及删除处理,在整体上提升了缓存性能。
在一些实施例中,所述利用LRU算法,确定所述第二数据库中的待移动数据,包括:
利用LRU算法,确定所述第二数据库中的数据量为预定的移动数据量的待移动数据。
这里,预定的移动数据量可以根据第二数据库的总存储量来确定,例如,总存储量的50%、20%或者70%等等。也可以根据待存储数据的数据量来确定,例如,移动数据量可以等于待存储的数据量,或者为待存储的数据量的120%等等。
示例性地,预定的移动数据量可以为第二数据库最大存储量的一半,此时,当待存储进第二数据库的数据量大于第二数据库的剩余存储空间时,利用LRU算法确定第二数据库总数据量一半的数据为待移动数据,并移动至第一数据库。
在一些实施例中,如图3所示,所述方法还包括:
步骤S301、根据检测到的获取数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
步骤S302、若未查找到所述数据标识,则在所述第一数据库中查找所述数据标识;
步骤S303、若查找到所述数据标识,则返回所述数据标识对应的数据。
本公开实施例中,通过上述包含第一数据库和第二数据库的存储框架,为页面数据提供了统一的API(Application Programming Interface,应用程序接口),从而便于数据的存储、读取以及删除等各种操作。
这里,可以检测获取数据指令来读取第一数据库或者第二数据库中的数据,用户无需事先确认待读取的数据存储在第一数据库还是第二数据库,而是可以先在存取速率较高的第二数据库中进行查找。根据获取数据指令中的数据标识,如果在第二数据库中找到对应的数据标识,则待读取的数据存储在第二数据库中,此时直接返回数据即可。若有需要,还可以对第二数据库中的相应数据标记读取的时间,便于记录每一笔数据最近读取的时间进而确定数据的活跃程度。
如果在第二数据库中未查找到对应的数据标识,则说明待读取的数据可能存储在第一数据库中也可能已经被删除。因此,此时可以继续在第一数据库中进行查找。若在第一数据库中查找到对应标识,则可以返回该数据;若仍未查找到,则可能已经被删除或者并未被存储过,因此,此时可以返回查找失败等信息。
在一些实施例中,如图4所示,所述方法还包括:
步骤S401、根据检测到的删除数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
步骤S402、若未查找到所述数据标识,则在所述第一数据库中查找所述数据标识;
步骤S403、若查找到所述数据标识,则删除所述数据标识对应的数据。
在本公开实施例中,上述第一数据库与第二数据库中的数据也可基于删除数据指令进行删除。当接收到删除数据指令,则可根据该删除数据指令中的数据标识在存取速率较高并且数据量较少的第二数据库中进行查找,若查找到对应的数据标识,则可快速响应,返回相应数据并将第二数据库中的该笔数据删除。
若在第二数据库中未查找到对应的数据标识,则可继续查找第一数据库。若在第一数据库中查找到对应标识,则可以返回该数据,并删除第一数据库中的该笔数据;若仍未查找到,则可能已经被删除或者并未被存储过,因此,此时可以返回查找失败等信息。
本公开实施例还提供如下示例:
如图5所示的网络架构为本公开实施例中的数据处理方法所应用的场景。如图,当用户端应用首次通过浏览器访问页面时,可以向服务器发送请求,获取页面数据,并根据本公开实施例提供的缓存框架在硬盘中进行数据缓存。在用户后续的使用过程中,浏览器可优先读取缓存数据,进而优化页面响应速率。
在本公开实施例中,提供了第一数据库与第二数据库构成的前端缓存管理框架。其内部结合使用了如IndexedDB的第一数据库以及如localStorage的第二数据库。这两种数据库属于两种不同类型的浏览器数据储存方案。在本公开实施例中,可以结合大容量的IndexedDB和轻量快速的localStorage,基于FIFO和LRU算法来灵活管理大小和活跃度各异的数据,如图6所示:
IndexedDB允许储存不少于250MB的数据,适用于大数据量存储的场景,本公开实施例中的数据存储框架可以将该IndexedDB类型的数据库用于存储大对象和冷数据(非活跃数据),并基于FIFO算法对冷数据进行管理。这里,存储空间可以分为两个模块:FIFO块和对象存储块。FIFO块可以用于记录缓存数据的进出顺序。
localStorage的容量在2.5MB到10MB之间,存取操作轻量且同步,本公开实施例中的数据存储框架可以将该localStorage数据库用于存储小对象和热数据(活跃数据),并基于LRU算法对热数据进行管理。该存储空间也可以分为两个模块:LRU块和对象存储块。LRU块用于记录每一条键值数据的使用频率和最近使用时间。
本公开实施例中的数据存储框架为开发者提供了统一的缓存操作接口,可实现基础的get(获取)、set(存储)和remove(删除)操作,开发者无需感知内部的存储方式。具体的内部流程如下:
(1)get操作流程:首先查询localStorage,如果有对应的数据标识,则返回数据;否则,继续查询IndexedDB,若有数据则将其返回,否则返回空值,即查询失败。
(2)set操作流程:
首先将所要存储的数据进行序列化,判断其所需占用内存的大小。若为小对象,则存入localStorage;若为大对象,则直接存入IndexedDB。
当将小对象存入localStorage时,会更新LRU块的记录数据,并将对象放入对象存储块。如果已有的缓存大小超过localStorage的最大存储空间,便会依据LRU算法,将其中一半数量的缓存条目转存至IndexedDB中,这里的数据转存是异步实现,不会影响到主线程。
当将数据存入IndexedDB时,会更新FIFO块的记录数据,并将对象放入对象存储块。如果已有的缓存大小超过所设置的IndexedDB最大空间,便会依据FIFO算法,永久清除其中一半数量的缓存条目。
当发生上述缓存空间已满的事件时,会抛出异常,可由开发者扩展异常处理。
(3)remove操作流程:首先查询localStorage,如果有对应的key,则删除对应数据并返回;否则,继续查询IndexedDB,若有数据则将其删除并返回,否则返回空值,即删除失败。
通过本公开实施例的上述方法,利用IndexedDB的大存储空间,为支持大数据量页面的缓存提供了先决条件;此外,localStorage虽然存储空间小,但是相比IndexedDB,存取轻便,更加高效。用它来进行小对象的存储,可以提高对小对象的存取效率,优化缓存的性能;使用LRU算法和FIFO算法分别对热数据和冷数据进行管理,可以提高缓存的存储质量,即可将使用率高的缓存存储在易存取的localStorage,使用率低的数据持久化保存在容量较大的IndexedDB中,极少使用的缓存永久清除;并且,为开发者提供统一的数据操作API,使用简便,开发者无需关心内部逻辑。
图7是根据一示例性实施例示出的一种页面数据的处理装置的结构框图,如图7所示,该装置700包括:
获取模块701,用于通过浏览器的访问页面,从对应的服务器获取待存储数据;
确定模块702,用于确定所述待存储数据的数据量;
第一存储模块703,若所述待存储数据的数据量大于或等于数据量阈值,则用于将所述待存储数据存储在第一数据库;
第二存储模块704,若所述待存储数据的数据量小于所述数据量阈值,则用于将所述待存储数据存储在第二数据库;
其中,所述第一数据库的存储容量大于所述第二数据库的存储容量,所述第二数据库的存取速率大于所述第一数据库的存取速率。
在一些实施例中,所述装置还包括:
第一检测模块,用于检测所述第一数据库的剩余存储空间;
第一删除模块,若所述第一数据库的剩余存储空间小于所述待存储数据的数据量,则用于删除所述第一数据库中已存储的至少部分数据。
在一些实施例中,所述第一删除模块,包括:
第一确定子模块,用于利用FIFO算法,确定最早存储在所述第一数据库中的待删除数据;
删除子模块,用于删除所述待删除数据。
在一些实施例中,所述第一确定子模块,具体用于:
利用FIFO算法,确定最早存储在所述第一数据库中数据量为预定的删除数据量的待删除数据。
在一些实施例中,所述装置还包括:
第二检测模块,用于检测所述第二数据库的剩余存储空间;
移动模块,若所述第二数据库的剩余存储空间小于所述待存储数据的数据量,则用于将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中。
在一些实施例中,所述移动模块,包括:
第二确定子模块,用于利用LRU算法,确定所述第二数据库中的待移动数据;
移动子模块,用于将所述待移动数据移动至所述第一数据库。
在一些实施例中,所述第二确定子模块,具体用于:
利用LRU算法,确定所述第二数据库中的数据量为预定的移动数据量的待移动数据。
在一些实施例中,所述装置还包括:
第一查找模块,用于根据检测到的获取数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
第二查找模块,若所述第一查找模块未查找到所述数据标识,则用于在所述第一数据库中查找所述数据标识;
返回模块,若查找到所述数据标识,则用于返回所述数据标识对应的数据。
在一些实施例中,所述装置还包括:
第三查找模块,用于根据检测到的删除数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
第四查找模块,若所述第三查找模块未查找所述数据标识,则在所述第一数据库中查找所述数据标识;
第二删除模块,若查找到所述数据标识,则用于删除所述数据标识对应的数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种终端800的框图。例如,终端800可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图8,终端800可以包括以下一个或多个组件:处理组件801,存储器802,电源组件803,多媒体组件804,音频组件805,输入/输出(I/O)接口806,传感器组件807,以及通信组件808。
处理组件801通常控制终端800的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件801可以包括一个或多个处理器810来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件801还可以包括一个或多个模块,便于处理组件801和其他组件之间的交互。例如,处理组件801可以包括多媒体模块,以方便多媒体组件804和处理组件801之间的交互。
存储器810被配置为存储各种类型的数据以支持在终端800的操作。这些数据的示例包括用于在终端800上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件803为终端800的各种组件提供电力。电源组件803可以包括:电源管理系统,一个或多个电源,及其他与为终端800生成、管理和分配电力相关联的组件。
多媒体组件804包括在所述终端800和用户之间提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件804包括一个前置摄像头和/或后置摄像头。当终端800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和/或后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件805被配置为输出和/或输入音频信号。例如,音频组件805包括一个麦克风(MIC),当终端800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器810或经由通信组件808发送。在一些实施例中,音频组件805还包括一个扬声器,用于输出音频信号。
I/O接口806为处理组件801和外围接口模块之间提供接口,上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件807包括一个或多个传感器,用于为终端800提供各个方面的状态评估。例如,传感器组件807可以检测到终端800的打开/关闭状态、组件的相对定位,例如所述组件为终端800的显示器和小键盘,传感器组件807还可以检测终端800或终端800的一个组件的位置改变,用户与终端800接触的存在或不存在,终端800方位或加速/减速和终端800的温度变化。传感器组件807可以包括接近传感器,被配置为在没有任何的物理接触时检测附近物体的存在。传感器组件807还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件807还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件808被配置为便于终端800和其他设备之间有线或无线方式的通信。终端800可以接入基于通信标准的无线网络,如WiFi、2G或3G,或它们的组合。在一个示例性实施例中,通信组件808经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件808还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在示例性实施例中,终端800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器802,上述指令可由终端800的处理器810执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述任一实施例所提供的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (20)

1.一种页面数据的处理方法,其特征在于,包括:
通过浏览器的访问页面,从对应的服务器获取待存储数据;
确定所述待存储数据的数据量;
若所述待存储数据的数据量大于或等于数据量阈值,则将所述待存储数据存储在第一数据库;
若所述待存储数据的数据量小于所述数据量阈值,则将所述待存储数据存储在第二数据库;
其中,所述第一数据库的存储容量大于所述第二数据库的存储容量,所述第二数据库的存取速率大于所述第一数据库的存取速率。
2.根据权利要求1所述的方法,其特征在于,若所述待存储数据的数据量大于或等于所述数据量阈值,所述方法还包括:
检测所述第一数据库的剩余存储空间;
若所述第一数据库的剩余存储空间小于所述待存储数据的数据量,删除所述第一数据库中已存储的至少部分数据。
3.根据权利要求2所述的方法,其特征在于,所述删除所述第一数据库中已存储的至少部分数据,包括:
利用先进先出FIFO算法,确定最早存储在所述第一数据库中的待删除数据;
删除所述待删除数据。
4.根据权利要求3所述的方法,其特征在于,所述利用FIFO算法,确定最早存储在所述第一数据库中的待删除数据,包括:
利用FIFO算法,确定最早存储在所述第一数据库中数据量为预定的删除数据量的待删除数据。
5.根据权利要求1所述的方法,其特征在于,若所述待存储数据的数据量小于所述数据量阈值,所述方法还包括:
检测所述第二数据库的剩余存储空间;
若所述第二数据库的剩余存储空间小于所述待存储数据的数据量,将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中。
6.根据权利要求5所述的方法,其特征在于,所述将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中,包括:
利用最近最少使用LRU算法,确定所述第二数据库中的待移动数据;
将所述待移动数据移动至所述第一数据库。
7.根据权利要求6所述的方法,其特征在于,所述利用LRU算法,确定所述第二数据库中的待移动数据,包括:
利用LRU算法,确定所述第二数据库中的数据量为预定的移动数据量的待移动数据。
8.根据权利要求1至7任一所述的方法,其特征在于,所述方法还包括:
根据检测到的获取数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
若未查找到所述数据标识,则在所述第一数据库中查找所述数据标识;
若查找到所述数据标识,则返回所述数据标识对应的数据。
9.根据权利要求1至7任一所述的方法,其特征在于,所述方法还包括:
根据检测到的删除数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
若未查找到所述数据标识,则在所述第一数据库中查找所述数据标识;
若查找到所述数据标识,则删除所述数据标识对应的数据。
10.一种页面数据的处理装置,其特征在于,包括:
获取模块,用于通过浏览器的访问页面,从对应的服务器获取待存储数据;
确定模块,用于确定所述待存储数据的数据量;
第一存储模块,若所述待存储数据的数据量大于或等于数据量阈值,则用于将所述待存储数据存储在第一数据库;
第二存储模块,若所述待存储数据的数据量小于所述数据量阈值,则用于将所述待存储数据存储在第二数据库;
其中,所述第一数据库的存储容量大于所述第二数据库的存储容量,所述第二数据库的存取速率大于所述第一数据库的存取速率。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一检测模块,用于检测所述第一数据库的剩余存储空间;
第一删除模块,若所述第一数据库的剩余存储空间小于所述待存储数据的数据量,则用于删除所述第一数据库中已存储的至少部分数据。
12.根据权利要求11所述的装置,其特征在于,所述第一删除模块,包括:
第一确定子模块,用于利用FIFO算法,确定最早存储在所述第一数据库中的待删除数据;
删除子模块,用于删除所述待删除数据。
13.根据权利要求12所述的装置,其特征在于,所述第一确定子模块,具体用于:
利用FIFO算法,确定最早存储在所述第一数据库中数据量为预定的删除数据量的待删除数据。
14.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二检测模块,用于检测所述第二数据库的剩余存储空间;
移动模块,若所述第二数据库的剩余存储空间小于待存储进所述第二数据库的所述待存储数据的数据量,则用于将所述第二数据库中已存储的至少部分数据移动至所述第一数据库中。
15.根据权利要求14所述的装置,其特征在于,所述移动模块,包括:
第二确定子模块,用于利用LRU算法,确定所述第二数据库中的待移动数据;
移动子模块,用于将所述待移动数据移动至所述第一数据库。
16.根据权利要求15所述的装置,其特征在于,所述第二确定子模块,具体用于:
利用LRU算法,确定所述第二数据库中的数据量为预定的移动数据量的待移动数据。
17.根据权利要求10至16任一所述的装置,其特征在于,所述装置还包括:
第一查找模块,用于根据检测到的获取数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
第二查找模块,若所述第一查找模块未查找到所述数据标识,则用于在所述第一数据库中查找所述数据标识;
返回模块,若查找到所述数据标识,则用于返回所述数据标识对应的数据。
18.根据权利要求10至16任一所述的装置,其特征在于,所述装置还包括:
第三查找模块,用于根据检测到的删除数据指令中的数据标识,在所述第二数据库中查找所述数据标识;
第四查找模块,若所述第三查找模块未查找所述数据标识,则在所述第一数据库中查找所述数据标识;
第二删除模块,若查找到所述数据标识,则用于删除所述数据标识对应的数据。
19.一种终端,其特征在于,所述终端至少包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述权利要求1至9任一项提供的页面数据的处理方法中的步骤。
20.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至9任一项提供的页面数据的处理方法中的步骤。
CN202110257339.XA 2021-03-09 2021-03-09 页面数据的处理方法及装置、终端、存储介质 Pending CN112948440A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110257339.XA CN112948440A (zh) 2021-03-09 2021-03-09 页面数据的处理方法及装置、终端、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110257339.XA CN112948440A (zh) 2021-03-09 2021-03-09 页面数据的处理方法及装置、终端、存储介质

Publications (1)

Publication Number Publication Date
CN112948440A true CN112948440A (zh) 2021-06-11

Family

ID=76229130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110257339.XA Pending CN112948440A (zh) 2021-03-09 2021-03-09 页面数据的处理方法及装置、终端、存储介质

Country Status (1)

Country Link
CN (1) CN112948440A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626483A (zh) * 2021-08-18 2021-11-09 重庆允成互联网科技有限公司 一种填写表单的前端缓存方法、系统、设备及存储介质
CN113760838A (zh) * 2021-09-09 2021-12-07 北京一起教育科技有限责任公司 一种直播间前端离线存储方法、装置和电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140074658A (ko) * 2012-12-10 2014-06-18 (주)네오위즈게임즈 데이터베이스의 저장 공간 관리 방법 및 서버
CN104182487A (zh) * 2014-08-11 2014-12-03 浪潮软件股份有限公司 一种支持多种存储方式的统一存储方法
CN104216838A (zh) * 2013-06-05 2014-12-17 北京齐尔布莱特科技有限公司 双缓存数据处理方法及系统
CN105446893A (zh) * 2014-07-14 2016-03-30 阿里巴巴集团控股有限公司 数据存储方法及设备
CN105531697A (zh) * 2013-10-08 2016-04-27 华为技术有限公司 一种内容信息处理方法和系统
CN106844236A (zh) * 2016-12-27 2017-06-13 北京五八信息技术有限公司 终端设备的数据存储方法和装置
CN108304648A (zh) * 2018-01-30 2018-07-20 北京融和星电科技有限公司 一种基于大数据机器学习的能源互联网仿真方法
CN111241195A (zh) * 2020-01-02 2020-06-05 腾讯云计算(北京)有限责任公司 分布式系统的数据库处理方法、装置、设备及存储介质
CN111897485A (zh) * 2019-05-05 2020-11-06 北京兆易创新科技股份有限公司 一种数据存储方法、装置、电子设备及存储介质
CN112035529A (zh) * 2020-09-11 2020-12-04 北京字跳网络技术有限公司 缓存方法、装置、电子设备及计算机可读存储介质
CN112306411A (zh) * 2020-10-29 2021-02-02 西安万像电子科技有限公司 数据存储方法及装置、非易失性存储介质、处理器

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140074658A (ko) * 2012-12-10 2014-06-18 (주)네오위즈게임즈 데이터베이스의 저장 공간 관리 방법 및 서버
CN104216838A (zh) * 2013-06-05 2014-12-17 北京齐尔布莱特科技有限公司 双缓存数据处理方法及系统
CN105531697A (zh) * 2013-10-08 2016-04-27 华为技术有限公司 一种内容信息处理方法和系统
CN105446893A (zh) * 2014-07-14 2016-03-30 阿里巴巴集团控股有限公司 数据存储方法及设备
CN104182487A (zh) * 2014-08-11 2014-12-03 浪潮软件股份有限公司 一种支持多种存储方式的统一存储方法
CN106844236A (zh) * 2016-12-27 2017-06-13 北京五八信息技术有限公司 终端设备的数据存储方法和装置
CN108304648A (zh) * 2018-01-30 2018-07-20 北京融和星电科技有限公司 一种基于大数据机器学习的能源互联网仿真方法
CN111897485A (zh) * 2019-05-05 2020-11-06 北京兆易创新科技股份有限公司 一种数据存储方法、装置、电子设备及存储介质
CN111241195A (zh) * 2020-01-02 2020-06-05 腾讯云计算(北京)有限责任公司 分布式系统的数据库处理方法、装置、设备及存储介质
CN112035529A (zh) * 2020-09-11 2020-12-04 北京字跳网络技术有限公司 缓存方法、装置、电子设备及计算机可读存储介质
CN112306411A (zh) * 2020-10-29 2021-02-02 西安万像电子科技有限公司 数据存储方法及装置、非易失性存储介质、处理器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626483A (zh) * 2021-08-18 2021-11-09 重庆允成互联网科技有限公司 一种填写表单的前端缓存方法、系统、设备及存储介质
CN113626483B (zh) * 2021-08-18 2022-04-26 重庆允成互联网科技有限公司 一种填写表单的前端缓存方法、系统、设备及存储介质
CN113760838A (zh) * 2021-09-09 2021-12-07 北京一起教育科技有限责任公司 一种直播间前端离线存储方法、装置和电子设备

Similar Documents

Publication Publication Date Title
US11523170B2 (en) Method for displaying videos, and storage medium and electronic device thereof
RU2615682C2 (ru) Способ, устройство, сервер и терминал для посещения веб-страницы
CN110751275A (zh) 图训练系统、数据访问方法及装置、电子设备、存储介质
CN112948440A (zh) 页面数据的处理方法及装置、终端、存储介质
CN109885573B (zh) 一种数据存储系统的维护方法、装置和移动终端
US20220286740A1 (en) Method and apparatus for video playing
CN115145735B (zh) 一种内存分配方法、装置和可读存储介质
CN115208810A (zh) 一种转发流表加速方法及装置、电子设备和存储介质
WO2021082486A1 (zh) 获取样本的方法、装置、设备、存储介质及程序
TWI735533B (zh) 訊息管理方法及裝置、訊息預讀方法及裝置
CN109634762B (zh) 一种数据回收方法、装置、电子设备及存储介质
CN114428797A (zh) 嵌入参数缓存的方法、装置、设备及存储介质
CN114416178A (zh) 数据访问方法、装置及非临时性计算机可读存储介质
CN111246303B (zh) 视频播放方法、装置、电子设备及存储介质
US20210133505A1 (en) Method, device, and storage medium for retrieving samples
US11494117B2 (en) Method and system for data processing
CN114428589B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN109918348B (zh) 应用浏览记录的清理方法、终端及计算机可读存储介质
CN114281859A (zh) 数据处理方法、设备及存储介质
CN115016944A (zh) 一种进程访问方法、装置及电子设备
CN115687270A (zh) 数据存储整理方法、装置、电子设备和存储介质
CN114077461A (zh) 应用程序的运行方法、装置、设备及存储介质
CN105488131B (zh) 文件打开方法及装置
CN109582851B (zh) 搜索结果处理方法及装置
CN111625536B (zh) 一种数据访问方法及装置

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