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

技术编号:14233702 阅读:35 留言:0更新日期:2016-12-21 00:36
本发明专利技术涉及一种数据存储方法和装置。所述方法包括以下步骤:获取新增的数据,对每条新增的数据生成对应的时间标识;按照时间标识的倒序将对应的数据存储到缓存中;达到缓存的设定容量后,将符合设定条件的数据移出所述缓存;将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档;对所述新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。通过对每个数据生成对应的时间标识,并按照时间标识倒序将数据存储到缓存中,如此列表的数据量将不受键值最大大小限制,后续读取数据时,可从缓存或数据档中读取,不需读取整个列表,减少了流量浪费,降低了数据访问开销。

Data storage method and apparatus

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条数据),会将整个列表数据读取出来,如此读取了大量不必要的数据,造成流量浪费、数据访问开销大。
技术实现思路
基于此,有必要针对传统的数据读取时会读取大量不必要的数据,造成流量浪费、数据访问开销大的问题,提供一种数据存储方法和装置,能减少流量浪费,降低数据访问开销,降低存储开销。一种数据存储方法,包括以下步骤:获取新增的数据,对每条新增的数据生成对应的时间标识;按照时间标识的倒序将对应的数据存储到缓存中;达到所述缓存的设定容量后,将符合设定条件的数据移出所述缓存;将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档;对所述新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。一种数据存储装置,包括:时间标识生成模块,用于获取新增的数据,对每条新增的数据生成对应的时间标识;存储模块,用于按照时间标识的倒序将对应的数据存储到缓存中;移出模块,用于达到所述缓存的设定容量后,将符合设定条件的数据移出所述缓存;归档模块,用于将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档;索引信息生成模块,用于对所述新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。上述数据存储方法和装置,通过对每个数据生成对应的时间标识,并按照时间标识倒序将数据存储到缓存中,最新的数据在缓存中处于最前面,并将移除的数据进行归档,对新的数据档生成索引信息,如此列表的数据量将不受value最大大小限制,后续读取数据时,可从缓存或数据档中读取,不需读取整个列表,减少了接口浪费,降低了数据访问开销。对不同访问密度的数据档放到不同成本的存储(Memory、SSD、STAT、SAS盘等)设备中,从而降低存储成本。附图说明图1为一个实施例中数据存储方法的流程图;图2为数据存储的结构示意图;图3为一个实施例中数据存储装置的结构示意图;图4为另一个实施例中数据存储装置的结构示意图;图5为另一个实施例中数据存储装置的结构示意图;图6为能实现本专利技术实施例的一个计算机系统的模块图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅
仅用以解释本专利技术,并不用于限定本专利技术。图1为一个实施例中数据存储方法的流程图。如图1所示,该数据存储方法,包括以下步骤:步骤102,获取新增的数据,对每条新增的数据生成对应的时间标识。具体的,每条数据生成唯一的时间标识,可精确到微妙,该时间标识可采用秒+微秒方式表示,例如2014年12月26日15时32分40秒10微秒。步骤104,按照时间标识的倒序将对应的数据存储到缓存中。具体的,按照时间的倒序将对应的数据存储到缓存中,最新的在第一条,最老的在最后一条。步骤106,达到该缓存的设定容量后,将符合设定条件的数据移出该缓存。本实施例中,该设定条件为按照从最新的时间标识起时间向前推移,保留数据的最大数量为指定数量,将超出指定数量的数据移出;或者该设定条件为距离达到缓存的设定容量的时间点超过指定时长的数据移出;或者该设定条件包括按照从最新的时间标识起时间向前推移,保留数据的最大数量为指定数量,且距离达到缓存的设定容量的时间点超过指定时长的数据移出。例如保留的最大数量为M条数据,则从最新的时间标识起时间向前推移,如最新的时间标识为2014年11月12日15时25分25秒20微秒,向前推移,如2014年11月12日15时25分25秒10微秒、2014年11月12日15时25分24秒10微秒、……,如此直到第M条数据。距离达到缓存的设定容量的时间点超过指定时长中指定时长可根据需要设定,例如指定时长为2小时、3小时等。在缓存中存储着最新的数据,一般最新的数据被访问较为频繁,访问量大。步骤108,将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档。本实施例中,数据档的设定容量可根据需要设定,例如100条、90条等。将移出的数据与已生成的最新数据档中的数据合并,合并后的数据是按照时间标识倒序排列的,合并后的数据先将已生成的最新数据档填满,然后将超出已生成的最新数据档的数据再按照数据档的设定容量进行划分,例如超出的数据为150条,数据档的设定容量为100条,则将100条生成新的数据档,将50条
生成另一新的数据档。此外,还可将数据档中的数据进行分屏,每屏包含设定条数数据。一个数据档可包括一屏或多屏数据。每屏包含的设定条数与终端屏幕的显示区域大小相关,设定条数可为显示区域所能容纳的最大条数。步骤110,对该新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。在一个实施例中,对该新的数据档生成索引信息的步骤包括:对该新的数据档分配数据档档号,记录数据档中数据条数、数据档所在存储设备标识、数据档中数据的开始时间标识和结束时间标识。具体的,对新的数据档分配数据档档号,可采用数据档档号自增1方式计算新的数据档档号。数据档所在存储设备标识可为存储设备的编号或者存储设备的设备号等。存储设备的编号可为预先配置的,用于唯一标示存储设备。数据档中数据的开始时间标识是指数据档中最后一条数据的时间标识,数据的结束时间标识是指数据档中第一条数据的时间标识。存储设备可为内存、SSD(Solid State Disk、Solid State Drive,固态硬盘)盘、SAS(Serial Attached SCSI(Small Computer System Interface,小型计算机系统接口))盘、SATA(Serial Advanced Technology Attachment,串行硬件驱动器接口)盘、磁盘等。此外,上述数据存储方法还包括:将数据档的索引信息存储在索引中。图2为数据存储的结构示意图。如图2所示,缓存中存储有最新的数据,索引中存储有索引信息,根据索引信息可查找到对应的数据档,数据档包括数据档0、数据档1、数据档2、……、数据档N。上述数据存储方法,通过对每个数据生成对应的时间标识,并按照时间标识倒序将数据存储到缓存中,最新的数据在缓存中处于最前面,并将移除的数据进行归档,对新的数据档生成索引信息,如此列表的数据量将不受value最大大小限制,后续读取数据时,可从缓存或数据档中读取,不需读取整个列表,减少了流量浪费,降低了数据访问开销。在一个实施例中,上述数据存储方本文档来自技高网
...
数据存储方法和装置

【技术保护点】
一种数据存储方法,包括以下步骤:获取新增的数据,对每条新增的数据生成对应的时间标识;按照时间标识的倒序将对应的数据存储到缓存中;达到所述缓存的设定容量后,将符合设定条件的数据移出所述缓存;将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档;对所述新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。

【技术特征摘要】
1.一种数据存储方法,包括以下步骤:获取新增的数据,对每条新增的数据生成对应的时间标识;按照时间标识的倒序将对应的数据存储到缓存中;达到所述缓存的设定容量后,将符合设定条件的数据移出所述缓存;将移出的数据与已生成的最新数据档中的数据合并,将超出已生成的最新数据档的数据按照数据档的设定容量划分,并生成新的数据档;对所述新的数据档生成索引信息,并更新已生成的最新数据档的索引信息。2.根据权利要求1所述的方法,其特征在于,所述对所述新的数据档生成索引信息的步骤包括:对所述新的数据档分配数据档档号,记录数据档中数据条数、数据档所在存储设备标识、数据档中数据的开始时间标识和结束时间标识。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:将数据档按照访问量进行排序,将访问量大于或等于设定访问量阈值的数据档存储在第一类存储设备,将访问量小于设定访问量阈值的数据档存储在第二类存储设备,且第一类存储设备性能高于第二类存储设备性能,并记录数据档所在存储设备标识。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取数据访问请求;根据所述数据访问请求从缓存中查找,若在缓存中查找到,则直接读取数据,若在缓存中未查找到,则读取索引信息,根据所述索引信息及所述数据访问请求中数据的时间标识定位数据所在数据档档号,再读取所述数据档档号所对应的数据档中数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述数据访问请求中包含一条数据,则根据所述数据访问请求从缓存中查找,若在缓存中查找到,直接读取所述数据;若在缓存中未查找到,则读取索引信息,根据所述数据访问请求中数据的时间标识定位数据所在数据档档号,读取所述数据档档号所对应的数据档中数据,并匹配得到所述数据访问请求中
\t数据的时间标识所对应的数据。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述数据访问请求中包含连续的设定数量数据,则根据所述数据访问请求从缓存中查找,若在缓存中查找到从数据访问请求中第一条数据开始的数据条数大于或等于所述设定数量,则直接从缓存中读取所述设定数量数据;若在缓存中查找到从所述数据访问请求中第一条数据开始的数据数量少于所述设定数量,则读取索引信息,根据剩余数量的数据的时间标识定位剩余数量的数据所在数据档档号,读取剩余数量的数据所在的数据档档号所对应的数据档中数据。7.根据权利要求1所述的方法,其特征在于,所述设定条件为按照从最新的时间标识起时间向前推移,保留数据的最大数量为指定数量,将超出指定数量的数据移出;或者所述设定条件为距离达到缓存的设定容量的时间点超过指定时长的数据移出;或者所述设定条件包括按照从最新的时间标识起时间向前推移,保留数据的最大数量为指定数量,且距离达到缓存的设定容量的时间点超过指定时长的数据移出。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收删除请求;根据所述删除请求从缓存中查找,若在缓存中查找到,直接删除所述数据;若在缓存中未查找到,则读取索引信息,根据所述删除请求中数据的时间标识定位数据所在数据档档号,读取所述数据档档号所对应的数据档中数据,并匹配得到所述删除请求中数据的时间标识所对应的数据,再删除匹配的数据。9.一种数据存储装置,其特征在于,包括:时间标识生成模块,用于获取新增的数据,对每条新增...

【专利技术属性】
技术研发人员:张诚罗皓
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1