The invention relates to a data storage method and a device. The method comprises the following steps: acquiring new data for each new data to generate the corresponding time mark; according to the time of the reverse will mark the corresponding data stored in the cache; cache capacity reaches the set, will meet the conditions set the data out of the cache; will be removed from the data and the generated the latest data files in the data merge, will exceed the latest data file is generated according to the data set capacity divide data file, and generate new data files to generate data files; index of the new information, index information and update the data files generated by. The corresponding data generated for each time of identification, and in accordance with the reverse time mark to store data in the cache, the amount of data that the list will not be key maximum size limit, subsequent read data can be read from the cache, or data file, do not need to read the entire list, reduce the flow of waste, reduce the data access overhead.
【技术实现步骤摘要】
本专利技术涉及计算机应用领域,特别是涉及一种数据存储方法和装置。
技术介绍
随着互联网技术的发展,越来越多的用户通过网络从事社交活动。为了方便用户从事社交活动,提供了各种社交类应用,用户通过终端下载社交类应用并安装,然后通过社交类应用访问网络,即可发布消息、查看消息以及评论消息等。因用户通过社交类应用可发布众多的消息,社交类应用的服务提供者也可发布各种消息,随着时间的推移,大量的消息产生,消息以列表形式存储,则列表类数据越来越多,容易形成一个列表达到万条以上数据。传统的数据存储方式是一个列表的数据存在一个value(键值)中,一屏数据读取时(一次列表包括3至15条数据),会将整个列表数据读取出来,如此读取了大量不必要的数据,造成流量浪费、数据访问开销大。
技术实现思路
基于此,有必要针对传统的数据读取时会读取大量不必要的数据,造成流量浪费、数据访问开销大的问题,提供一种数据存储方法和装置,能减少流量浪费,降低数据访问开销,降低存储开销。一种数据存储方法,包括以下步骤:获取新增的数据,对每条新增的数据生成对应的时间标识;按照时间标识的倒序将对应的数据存储到缓存中;达到所述缓存的设定容量后,将符合设定条件的数据移出所述缓存;将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档;对所述新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。一种数据存储装置,包括:时间标识生成模块,用于获取新增的数据,对每条新增的数据生成对应的时间标识;存储模块,用于按照时间标识的倒序将对应的数据存储到缓存中;移 ...
【技术保护点】
一种数据存储方法,包括以下步骤:获取新增的数据,对每条新增的数据生成对应的时间标识;按照时间标识的倒序将对应的数据存储到缓存中;达到所述缓存的设定容量后,将符合设定条件的数据移出所述缓存;将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档;对所述新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。
【技术特征摘要】
1.一种数据存储方法,包括以下步骤:获取新增的数据,对每条新增的数据生成对应的时间标识;按照时间标识的倒序将对应的数据存储到缓存中;达到所述缓存的设定容量后,将符合设定条件的数据移出所述缓存;将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档;对所述新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。2.根据权利要求1所述的方法,其特征在于,所述对所述新的数据档生成索引信息的步骤包括:对所述新的数据档分配数据档档号,记录数据档中数据条数、数据档所在存储设备标识、数据档中数据的开始时间标识和结束时间标识。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:将数据档按照访问量进行排序,将访问量大于或等于设定访问量阈值的数据档存储在第一类存储设备,将访问量小于设定访问量阈值的数据档存储在第二类存储设备,且第一类存储设备性能高于第二类存储设备性能,并记录数据档所在存储设备标识。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取数据访问请求;根据所述数据访问请求从缓存中查找,若在缓存中查找到,则直接读取数据,若在缓存中未查找到,则读取索引信息,根据所述索引信息及所述数据访问请求中数据的时间标识定位数据所在数据档档号,再读取所述数据档档号所对应的数据档中数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述数据访问请求中包含一条数据,则根据所述数据访问请求从缓存中查找,若在缓存中查找到,直接读取所述数据;若在缓存中未查找到,则读取索引信息,根据所述数据访问请求中数据的时间标识定位数据所在数据档档号,读取所述数据档档号所对应的数据档中数据,并匹配得到所述数据访问请求中
\t数据的时间标识所对应的数据。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述数据访问请求中包含连续的设定数量数据,则根据所述数据访问请求从缓存中查找,若在缓存中查找到从数据访问请求中第一条数据开始的数据条数大于或等于所述设定数量,则直接从缓存中读取所述设定数量数据;若在缓存中查找到从所述数据访问请求中第一条数据开始的数据数量少于所述设定数量,则读取索引信息,根据剩余数量的数据的时间标识定位剩余数量的数据所在数据档档号,读取剩余数量的数据所在的数据档档号所对应的数据档中数据。7.根据权利要求1所述的方法,其特征在于,所述设定条件为按照从最新的时间标识起时间向前推移,保留数据的最大数量为指定数量,将超出指定数量的数据移出;或者所述设定条件为距离达到缓存的设定容量的时间点超过指定时长的数据移出;或者所述设定条件包括按照从最新的时间标识起时间向前推移,保留数据的最大数量为指定数量,且距离达到缓存的设定容量的时间点超过指定时长的数据移出。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收删除请求;根据所述删除请求从缓存中查找,若在缓存中查找到,直接删除所述数据;若在缓存中未查找到,则读取索引信息,根据所述删除请求中数据的时间标识定位数据所在数据档档号,读取所述数据档档号所对应的数据档中数据,并匹配得到所述删除请求中数据的时间标识所对应的数据,再删除匹配的数据。9.一种数据存储装置,其特征在于,包括:时间标识生成模块,用于获取新增的数据,对每条新增...
【专利技术属性】
技术研发人员:张诚,罗皓,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。