终端设备的数据存储方法和装置与流程

文档序号:12665713阅读:262来源:国知局
终端设备的数据存储方法和装置与流程

本发明涉及数据处理技术,尤其涉及一种终端设备的数据存储方法和装置。



背景技术:

随着终端设备的存储能力和处理能力的提升,终端设备上可安装的应用程序越来越多。部分应用程序需接入网络以提供服务,但是网络服务稳定性较差。为避免用户使用应用程序过程中,受网络服务不稳定性的影响而导致流畅度较差,各应用程序均设置有缓存技术,以便在网络服务较差的情况下向用户提供缓存的数据,从而保证用户使用应用程序时的流畅度。

现有的缓存技术,如现有的iOS系统中设置的缓存NSCache技术,主要包括提前将预测的数据从服务器请求下来并写入本地。但是在存储过程中,NSCache将从服务器请求到的所有数据均以二进制的形式存储到本地文件中。而对于数据量较小的数据,将其读写在文件中速度较慢,从而影响了数据的缓存效率,进而影响了用户使用应用程序时的流畅度。因此,现有的缓存技术存在数据存储效率较低的问题。



技术实现要素:

本发明提供一种终端设备的数据存储方法和装置,用以解决现有的缓存技术存在数据存储效率较低的问题。

本发明一方面提供一种终端设备的数据存储方法,包括:

获取应用程序的待存储的数据;

当所述数据的数据量小于预设的数据量门限时,将所述数据存储在轻型数据库中;当所述数据的数据量大于所述数据量门限时,将所述数据存储在文件中。

如上所述的终端设备的数据存储方法,所述方法还包括:

检测所述应用程序是否进入后台运行;

若是,则采用LRU淘汰算法对所述应用程序的数据进行清理。

如上所述的终端设备的数据存储方法,所述采用LRU淘汰算法对所述应用程序的数据进行清理,包括:

获取所述应用程序对应的每个数据的操作次数;

采用LRU淘汰算法将所述操作次数小于预设次数的数据删除;

或者,

获取所述应用程序对应的每个数据的读写时间;

采用LRU淘汰算法将所述读写时间距离当前时刻的时长大于预设时长的数据删除;

或者,

获取用户输入的清理指令,所述清理指令包括数据标识;

将所述数据标识对应的数据删除。

如上所述的终端设备的数据存储方法,所述将所述数据存储在轻型数据库中,包括:

将所述数据归档后得到的二进制数据和所述数据的数据结构存储在轻型数据库中;

所述将所述数据存储在文件中,包括:

将所述数据归档后得到的二进制数据和所述数据的数据结构存储在文件中。

如上所述的终端设备的数据存储方法,所述方法还包括:

接收所述应用程序的读取指令,所述读取指令包括数据标识;

将所述数据标识对应的数据解档为所述数据对应的数据结构后,发送给所述应用程序。

下面介绍本发明实施例提供的一种终端设备的数据存储装置,该装置与方法一一对应,用以实现上述实施例中的终端设备的数据存储方法,具有相同的技术特征和技术效果,本发明对此不再赘述。

本发明另一方面提供一种终端设备的数据存储装置,包括

数据获取模块,用于获取应用程序的待存储的数据;

存储模块,用于当所述数据的数据量小于预设的数据量门限时,将所述数据存储在轻型数据库中;当所述数据的数据量大于所述数据量门限时,将所述数据存储在文件中。

如上所述的终端设备的数据存储装置,所述装置还包括:

清理模块,用于在所述应用程序进入后台运行时,采用LRU淘汰算法对所述应用程序的数据进行清理。

如上所述的终端设备的数据存储装置,所述清理模块具体用于:

获取所述应用程序对应的每个数据的操作次数;

采用LRU淘汰算法将所述操作次数小于预设次数的数据删除;

或者,

获取所述应用程序对应的每个数据的读写时间;

采用LRU淘汰算法将所述读写时间距离当前时刻的时长大于预设时长的数据删除;

或者,

获取用户输入的清理指令,所述清理指令包括数据标识;

将所述数据标识对应的数据删除。

如上所述的终端设备的数据存储装置,所述存储模块具体用于:

当所述数据的数据量小于预设的数据量门限时,将所述数据归档后得到的二进制数据和所述数据的数据结构存储在轻型数据库中;

当所述数据的数据量大于预设的数据量门限时,将所述数据归档后得到的二进制数据和所述数据的数据结构存储在文件中。

如上所述的终端设备的数据存储装置,所述方法还包括:

读取模块,用于接收所述应用程序的读取指令,所述读取指令包括数据标识;将所述数据标识对应的数据解档为所述数据对应的数据结构后,发送给所述应用程序。

本发明提供的终端设备的数据存储方法和装置,通过在获取待存储的数据之后,比较待存储的数据的数据量与预设的数据量门限的大小,根据待存储的数据的数据量与数据量门限的关系,确定不同大小的数据各自对应的存储方式,提高了不同大小的数据的存储效率。

附图说明

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

图1为本发明提供的终端设备的数据存储方法实施例一的流程示意图;

图2为本发明提供的终端设备的数据存储装置实施例一的流程示意图;

图3为本发明提供的终端设备的数据存储装置实施例二的结构示意图;

图4为本发明提供的终端设备的数据存储装置实施例三的结构示意图。

具体实施方式

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

图1为本发明提供的终端设备的数据存储方法实施例一的流程示意图,该方法的执行主体为终端设备的数据存储装置,该装置可以通过软件或硬件的方式实现,示例性的,该终端设备的数据存储方法的执行主体集成在应用程序中。如图1所示,该方法包括:

S101、获取应用程序的待存储的数据;

S102、当数据的数据量小于预设的数据量门限时,将数据存储在轻型数据库中;

S103、当数据的数据量大于数据量门限时,将数据存储在文件中。

其中,S102和S103为并列的两种方案,分别执行。

具体的,在S101中,数据存储装置获取应用程序的待存储的数据,示例性的,可以为应用程序根据用户的操作行为,预测可能将要访问的数据,提前向服务器发送缓存请求,提前获取的数据即为待存储的数据。提前获取的数据可在终端设备的网络不稳定时,快速的向用户提供数据,以使用户仍能流畅的使用应用程序。但是待存储的数据可能具有不同的数据结构,不同的大小,若采用同样的存储方式进行存储,则存在存储速度较慢,存储效率低的问题。

为解决上述问题,提高待存储的数据的存储效率,在存储之前,需确定待存储的数据的数据量大小,根据数量的大小采用不同的存储方式进行存储。

具体的,在S102中,当数据的数据量小于预设的数据量门限时,将数据存储在轻型数据库中。对于数据量较小的数据,可直接将数据存储在轻型数据库中,以提高存储和后续读取速度。轻型数据库示例性的可以为Access,MSDE 2000,Embedded Firebird,SQLite等。示例性的预设的数据量门限可以为10KB。示例性的,当首次存储数据时,可先建立轻型数据库再存储。

具体的,在S103中,当数据的数据量大于数据量门限时,将数据存储在文件中。对于数据量较大的数据,将数据存储在文件中速度较快。示例性的,当首次存储数据时,可先建立文件再存储。

可选的,还可在磁盘中存储数据时,将数据同时存储在内存中,每次读取数据时,首先从内存中进行查找,以提高数据读取速率。

本发明提供的终端设备的数据存储方法包括:获取应用程序的待存储的数据;当数据的数据量小于预设的数据量门限时,将数据存储在轻型数据库中;当数据的数据量大于数据量门限时,将数据存储在文件中。通过在获取待存储的数据之后,比较待存储的数据的数据量与预设的数据量门限的大小,根据待存储的数据的数据量与数据量门限的关系,确定不同大小的数据各自对应的存储方式,提高了不同大小的数据的存储效率。

可选的,在图1所示实施例的基础上,终端设备的数据存储方法还包括:

检测应用程序是否进入后台运行;

若是,则采用LRU淘汰算法对应用程序的数据进行清理。

示例性的,为避免应用程序占用终端设备过多的存储空间,终端设备为各应用程序分配不同大小的存储空间,示例性的,还可根据该应用程序在前台运行或后台运行实时调整存储空间大小。具体的,应用程序运行在前台时,为应用程序分配较大的存储空间,以保证用户使用应用程序的流畅度,当应用程序运行在后台时,为应用程序分配较小的存储空间,以使其他运行在前台的应用程序可流畅运行。

具体的,终端设备的数据存储装置在检测到应用程序进入后台运行时,由于存储空间变少,且无需提前向服务器请求数据,此时可清理存储空间中存储的数据。示例性的,可采用近期最少使用(Least Recently Used,简称LRU)算法对应用程序的数据进行清理。

进一步,结合具体实施例,对采用LRU淘汰算法对应用程序的数据进行清理的具体过程进行详细说明。

一种可能的实现方式中:

获取应用程序对应的每个数据的操作次数;

采用LRU淘汰算法将操作次数小于预设次数的数据删除。

示例性的,根据各数据的操作次数进行清理,具体的,数据存储装置获取应用程序对应的所有存储的数据的操作次数,比较操作次数与预设次数,将操作次数少于预设次数的数据删除,保留操作次数较多的数据。

可选的,还可将操作次数按顺序排列,仅保留操作次数靠前的若干个数据。

另一种可能的实现方式中:

获取应用程序对应的每个数据的读写时间;

采用LRU淘汰算法将读写时间距离当前时刻的时长大于预设时长的数据删除。

具体的,根据各数据的读写时间的久远程度进行清理,具体的,数据存储装置获取应用程序对应的所有存储的数据的读写时间,各读写时间距离当前时刻的时长与预设时长的关系,将时长超过预设较长的数据删除,保留最近读写的数据。

再一种可能的实现方式中:

获取用户输入的清理指令,清理指令包括数据标识;

将数据标识对应的数据删除。

具体的,还可以为接收用户输入的清理指令,清理指令中包括数据标识,则将数据标识对应的数据删除。示例性的,用户根据使用习惯,输入清理指令,选择性的删除数据。

可选的,进行数据存储时,可同时存储数据以及数据的存取时间、操作次数、数据大小、模块分类等信息。

可选的,在进行数据存储时,还可按照业务类型、功能模块分类等对数据进行归类存储,从而使得在进行数据清理时,还可按照业务类型、功能模块分类等清理数据。

进一步地,在上述任一实施例的基础上,将数据存储在轻型数据库中,包括:

将数据归档后得到的二进制数据和数据的数据结构存储在轻型数据库中;

将数据存储在文件中,包括:

将数据归档后得到的二进制数据和数据的数据结构存储在文件中。

在存储数据时,通常将数据归档为二进制数据进行存储,现有技术中的读取操作为直接读取二进制数据,应用程序还需将二进制数据转化为数据原本的格式,现有的存储装置不能提供支持各类数据结构的接口,导致数据读取较慢。

具体的,本实施例中,将数据归档后得到的二进制数据和数据的数据结构存储在轻型数据库中;或者,将数据归档后得到的二进制数据和数据的数据结构存储在文件中。

可选的,在上述实施例的基础上,在读取数据时,接收应用程序的读取指令,读取指令包括数据标识;

将数据标识对应的数据解档为数据对应的数据结构后,发送给应用程序。

具体的,在接收到应用程序的读取指令时,读取存储的数据,示例性的,读取指令中包括数据标识,以指示存储模块读取的数据,存储模块在确定数据标识对应的数据后,将二进制数据转换为的该数据存储之前的数据结构,并发送给应用程序。方便了数据的存储,提供了友好的对外接口。

本发明另一方面还提供的一种终端设备的数据存储装置,该装置可以由软件/硬件实现,示例性的,可以集成在便携式电子设备中。该装置与方法实施例一一对应,用以实现上述实施例中的终端设备的数据存储方法,具有相同的技术特征和技术效果,本发明实施例对此不再赘述。

图2为本发明提供的终端设备的数据存储装置实施例一的结构示意图。如图2所示,该装置包括:

数据获取模块201,用于获取应用程序的待存储的数据;

存储模块202,用于当数据的数据量小于预设的数据量门限时,将数据存储在轻型数据库中;当数据的数据量大于数据量门限时,将数据存储在文件中。

进一步地,在图2所示实施例的基础上,图3为本发明提供的终端设备的数据存储装置实施例二的结构示意图。如图3所示,终端设备的数据存储装置还包括:

清理模块203,用于在应用程序进入后台运行时,采用LRU淘汰算法对应用程序的数据进行清理。

进一步地,清理模203块具体用于:

获取应用程序对应的每个数据的操作次数;

采用LRU淘汰算法将操作次数小于预设次数的数据删除;

或者,

获取应用程序对应的每个数据的读写时间;

采用LRU淘汰算法将读写时间距离当前时刻的时长大于预设时长的数据删除;

或者,

获取用户输入的清理指令,清理指令包括数据标识;

将数据标识对应的数据删除。

可选的,存储模块202具体用于:

当数据的数据量小于预设的数据量门限时,将数据归档后得到的二进制数据和数据的数据结构存储在轻型数据库中;

当数据的数据量大于预设的数据量门限时,将数据归档后得到的二进制数据和数据的数据结构存储在文件中。

进一步地,在图2或图3所示实施例的基础上,图4为本发明提供的终端设备的数据存储装置实施例三的结构示意图。如图4所示,终端设备的数据存储装置还包括:

读取模块204,用于接收应用程序的读取指令,读取指令包括数据标识;将数据标识对应的数据解档为数据对应的数据结构后,发送给应用程序。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另外,本发明所提供的几个实施例可以整体或部分的相互结合形成新的实施例,而这些新的实施例,仍属于本发明范围内。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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