数据存储方法及装置制造方法及图纸

技术编号:12659984 阅读:85 留言:0更新日期:2016-01-06 18:47
本发明专利技术公开了一种数据存储方法及装置,涉及信息处理技术领域,可以实现数据的缓存存储与本地存储同时进行,提升数据存储效率。所述方法包括:首先获取在缓存中待存储的数据;然后判断当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于预设阈值;若当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于预设阈值,则将所述待存储的数据和缓存中的所述数据存储在本地并删除缓存中的所述数据。本发明专利技术适用于对数据进行存储。

【技术实现步骤摘要】

本专利技术涉及一种信息处理技术技术,特别是涉及一种数据存储方法及装置
技术介绍
随着信息处理技术的快速发展,数据存储的方式越来越多,应用场景也越来越广泛。例如,当用户在浏览各个网站时,需要对打点信息或异常信息等数据进行采集以便在特定时机进行传输。因此,在特定时机到来之前,需要对采集的数据进行存储。目前,在对采集的数据进行存储时,通常将数据缓存到应用内存中或者将数据存储在本地。然而,当存储数据量较大时,如果将数据缓存到应用内存中,会占用应用内存较多;并且当应用运行异常时,会造成缓存在应用内存中的数据丢失。而将数据存储在本地时,由于需要频繁对数据进行I/o操作(Input/Output,即输入输出端口),从而增大内存开销。
技术实现思路
有鉴于此,本专利技术提供一种数据存储方法及装置,主要目的在于减少内存的消耗,提高数据的存储效率。依据本专利技术一个方面,提供了一种数据存储方法,包括:获取在缓存中待存储的数据;判断当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于预设阈值;若是,则将所述待存储的数据和缓存中的所述数据存储在本地并删除缓存中的所述数据。依据本专利技术一个方面,提供了一种数据存储装置,包括:获取单元,用于获取在缓存中待存储的数据;判断单元,用于判断所述获取单元获取的当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于预设阈值;存储单元,用于若所述判断单元判断当前缓存中存储的数据与所述待存储的数据的数据量之和大于或等于预设阈值,则将所述待存储的数据和缓存中的所述数据存储在本地并删除缓存中的所述数据。借由上述技术方案,本专利技术实施例提供的技术方案至少具有下列优点:本专利技术实施例提供的数据存储方法及装置,首先获取在缓存中待存储的数据;然后判断当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于预设阈值;若当前缓存中存储的数据与所述待存储的数据的数据量之和大于或等于预设阈值,则将所述待存储的数据和缓存中的所述数据存储在本地并删除缓存中的所述数据。与目前对采集的数据进行缓存存储或者进行本地存储相比,本专利技术通过将缓存存储与本地存储相结合的方式对数据进行存储,当需要存储的数据量较小时,对数据进行缓存存储,降低本地存储数据时对数据进行I/O操作的次数,从而减小内存开销,当需要存储的数据量较大时,再将缓存中的数据存储在本地,提高了数据存储的效率。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的【具体实施方式】。【附图说明】通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的一种数据存储方法流程图;图2示出了本专利技术实施例提供的另一种数据存储方法流程图;图3示出了本专利技术实施例提供的一种数据存储装置结构示意图;图4示出了本专利技术实施例提供的另一种数据存储装置结构示意图。【具体实施方式】下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例提供一种数据存储方法,如图1所示,所述方法包括:101、获取在缓存中待存储的数据。其中,所述待缓存的数据可以为各个移动终端中应用软件收集的打点数据或异常数据。打点数据可以为点击某图片的次数,也可以为用户登录某网站的次数等,本专利技术实施例不做限定。例如,用户在访问某应用软件时,系统每隔一段时间对用户点击图片的次数进行采集,收集的数据即为打点数据。异常数据可以为用户在访问某游戏软件时,游戏运行错误或游戏异常退出生成的数据,也可以为用户登录网站被动退出生成的数据,本专利技术实施例不做限定。例如,用户在访问某游戏软件时,当游戏运行错误或游戏异常退出,此类数据即为异常数据。对于本专利技术实施例,所述获取待缓存的数据具体可以为:首先建立数据收集功能接口,然后通过数据收集功能接口获取待缓存的数据,其中,建立的数据收集功能接口的数量和类型可以满足对不同类型的数据进行获取。例如,当待缓存的数据为打点数据时,建立的接收打点数据的功能接口可以为为public static void dot (DottingKey key,int times),其中,timse是计数次数,key为打点ID。再例如,当待缓存的数据为异常数据时,建立的接收异常数据的功能接口为public static void doterror (Except1nTypesmErrorType, String mErrorMsg),其中,mErrorType 是异常类型,mErrorMsg 为异常数据。102、判断当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于预设阈值。其中,所述预设阈值可以为3、4、5、20条数据等,本专利技术实施例不做限定。具体可以根据接收的数据在缓存中能存储的最佳值设置,也可以根据人为经验设置,具体预设阈值可以根据数据收集的需求灵活进行配置。例如,预设阈值为20,即缓存中可以存储的数据量的最大值为20条,此时,判断判断当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于20条。103、若当前缓存中存储的数据与所述待存储的数据的数据量之和大于或等于预设阈值,则将所述待存储的数据和缓存中的所述数据存储在本地并删除缓存中的所述数据。其中,所述当前缓存中存储的数据是对应于本次存储的上一次存储在缓存中的数据且所述数据没有达到预设阈值。例如,预设阈值为800条,当前缓存中存储的数据为500条,待存储的数据为300条,缓存中的数据与待存储的数据之和为800条,刚好等于预设阈值,则将缓存中的500条数据和待缓存的300条数据存储在本地,并删除缓存中的500条数据。再如,缓存中的数据为500条,待存储的数据为400条,缓存中的数据与待存储的数据之和为900条,大于预设阈值800条,则进行上述相同的处理。对于本专利技术实施例,通过判断待存储数据的数据量是否达到缓存中预设阈值,从而确定缓存存储或本地存储,实现了将缓存存储与本地存储相结合的方式对数据进行存储。提高了数据存储的效率。对于本专利技术实施例,具体的应用场景可以如下所示,但不限于此,包括:获取在缓存中待存储的打点数据为20条,当前缓存中存储的打点数据为15条,预设阈值为30条,此时判断当前缓存中存储的打点数据与所述待存储的打点数据的数据量之和为35条,大于预设阈值30条,此时,将缓存中存储的15条数据删除,并将缓存中存储的15条数据和待存储的20条数据存储在本地数据库中,从而实现了将缓存存储与本地存储相结合的方式对数据进行存储。提高了数据存储的效率。本专利技术实施例提供的数据存储方法,首先获取在缓存中待存储的数据;然后判断当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于预设阈值;若当前缓存中存储的数本文档来自技高网...

【技术保护点】
一种数据存储方法,其特征在于,包括:获取在缓存中待存储的数据;判断当前缓存中存储的数据与所述待存储的数据的数据量之和是否大于或等于预设阈值;若是,则将所述待存储的数据和缓存中的所述数据存储在本地并删除缓存中的所述数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨德立
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1