CN104572920A - 一种数据整理方法和装置 - Google Patents
一种数据整理方法和装置 Download PDFInfo
- Publication number
- CN104572920A CN104572920A CN201410836030.6A CN201410836030A CN104572920A CN 104572920 A CN104572920 A CN 104572920A CN 201410836030 A CN201410836030 A CN 201410836030A CN 104572920 A CN104572920 A CN 104572920A
- Authority
- CN
- China
- Prior art keywords
- data
- expired
- tables
- key
- value pair
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1737—Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据整理方法和装置,其中的方法具体包括:在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。本发明实施例能够依据业务场景的需求快速、高效地实现无效数据表的回收,从而能够有效节省这些无效数据表所占用的存储空间。
Description
技术领域
本发明涉及数据存储技术领域,特别是涉及一种数据整理方法和装置。
背景技术
随着的互联网时代已经到来,遍布全世界的互联网用户每天都进行多种多样的交互,随时都在制造各种各样的数据,这些数据的数量是单机时代数据量的数倍,对这些数据实现高可靠性、高性能的存储也变得尤为重要。
例如,NoSQL为一种非关系型数据库,其以键值对(key-value)存储,结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,不局限于固定的结构,因此可以减少一些时间和空间的开销。
由于用户对NoSQL的写操作会产生很多的无用数据,因此,现有的数据整理方案是在数据查找的基础上进行去重,例如对相同key对应的多个value数据进行合并操作,以实现这些无用数据的回收。然而,有些业务场景还会存在特定的无用数据,现有的数据整理方案无法针对业务场景进行针对性的数据整理。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据整理方法和装置。
依据本发明的一个方面,提供了一种数据整理方法,包括:
在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及
在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。
可选地,所述方法还包括:
在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期;
在所述键值对数据过期时,对所述键值对数据执行删除操作。
可选地,所述第一过期时间信息为记录在数据库配置文件中的信息,或者,所述第一过期时间信息为创建所述数据表时设定的信息。
可选地,所述第二过期时间信息为在写入所述键值对数据时产生的信息。
可选地,所述方法还包括:
在所述数据表和所述键值对数据均未过期时,对所述数据表存储的键值对数据执行去重操作。
可选地,所述方法还包括:
接收来自客户端的读请求;
依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期;以及
在所述数据表过期时,向客户端返回第一失败信息。
可选地,所述方法还包括:
在所述数据表未过期时,依据所述读请求对应键值对的第一过期时间信息判断所述键值对数据是否过期;
在所述键值对数据过期时,向客户端返回第二失败信息。
依据本发明的另一方面,提供了一种数据整理装置,包括:
第一判断模块,用于在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及
第一删除模块,用于在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。
可选地,所述装置还包括:
第二判断模块,用于在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期;
第二删除模块,用于在所述键值对数据过期时,对所述键值对数据执行删除操作。
可选地,所述第一过期时间信息为记录在数据库配置文件中的信息,或者,所述第一过期时间信息为创建所述数据表时设定的信息。
根据本发明实施例的一种数据整理方法和装置,可以在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,并在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作,因此能够依据业务场景的需求快速、高效地实现无效数据表的回收,从而能够有效节省这些无效数据表所占用的存储空间。
另外,在所述数据表未过期时,本发明实施例还可以依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期,以及在所述键值对数据过期时,对所述键值对数据执行删除操作,因此既能够依据业务场景的需求快速、高效地实现无效数据表的回收,还能够依据业务场景的需求灵活地实现无效键值对数据的回收,从而能够有效节省这些无效数据所占用的存储空间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文可选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出可选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种数据整理方法的步骤流程示意图;
图2示出了根据本发明一个实施例的一种数据整理方法的步骤流程示意图;
图3示出了根据本发明一个示例的一种数据存储***的结构示意图;
图4示出了根据本发明一个示例的一种数据整理方法的步骤流程示意图;
图5示出了根据本发明一个实施例的一种数据访问方法的步骤流程示意图;
图6示出了根据本发明一个实施例的一种数据访问方法的步骤流程示意图;
图7示出了根据本发明一个实施例的一种数据整理装置的结构示意图;
图8示出了根据本发明一个实施例的一种数据整理装置的结构示意图;
图9示出了根据本发明一个实施例的一种数据整理装置的结构示意图;以及
图10示出了根据本发明一个实施例的一种数据整理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种数据整理方法的步骤流程示意图,具体可以包括如下步骤:
步骤101、在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及
步骤102、在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。
本发明实施例的数据可以为各种业务场景的数据。现有的数据整理方案是在数据查找的基础上进行去重,例如对相同key对应的多个value数据进行合并操作。
对于某些业务场景而言,其数据往往具有一定的时效性。为了实现时效性管理,本发明实施例可以针对数据表(table)设置过期时间,这样,在数据整理过程中,可以依据数据表的第一过期时间信息判断数据表是否过期,并在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作,因此能够依据业务场景的需求快速、高效地实现无效数据表的回收。
在本发明的一种可选实施例中,所述数据表的第一过期时间信息可以为记录在数据库配置文件中的信息,也即,可以在数据库的配置文件中设置第一过期时间信息参数,由用户通过修改所述第一过期时间信息参数来配置所有数据表的第一过期时间信息。
在本发明的另一种可选实施例中,所述数据表的第一过期时间信息可以为创建所述数据表时设定的信息,以使不同数据表可以具有独立的第一过期时间。
综上,本发明实施例在数据整理过程中,可以依据数据表的第一过期时间信息判断数据表是否过期,并在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作,因此能够依据业务场景的需求快速、高效地实现无效数据表的回收。
参照图2,示出了根据本发明一个实施例的一种数据整理方法的步骤流程示意图,具体可以包括如下步骤:
步骤201、在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;
步骤202、在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作;
步骤203、在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期;
步骤204、在所述键值对数据过期时,对所述键值对数据执行删除操作。
相对于图1所示实施例,本实施例还可以针对每条键值对数据设置独立的第二过期时间,这样,在所述数据表未过期时,还可以依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期,以及在所述键值对数据过期时,对所述键值对数据执行删除操作,因此既能够依据业务场景的需求快速、高效地实现无效数据表的回收,还能够依据业务场景的需求灵活地实现无效键值对数据的回收。
在本发明的一种可选实施例中,所述第二过期时间信息可以为在写入所述键值对数据时设定的信息。在具体实现中,可以针对键值对数据提供设置过期时间的写入接口,该写入接口可用于在写入键值对数据时设置数据的过期时间。例如,在本发明的一种应用示例中,写入接口set_with_ttl(key,value,ttl)接口可用于在写入key-value的同时指定key-value的过期时间ttl。当key-value经过ttl秒后,将会被本发明的数据整理流程自动删除。
在本发明的另一种可选实施例中,所述方法还可以包括:在所述数据表和所述键值对数据均未过期时,对所述数据表存储的键值对数据执行去重操作。所述去重操作主要可以包括:对相同key的多条数据进行合并,对不同key的数据***至数据存储***等等,本发明对具体的去重操作不加以限制。
综上,本实施例在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期,以及在所述键值对数据过期时,对所述键值对数据执行删除操作,因此能够依据业务场景的需求灵活地实现键值对数据的回收。
为使本领域技术人员更好地理解本发明实施例,在此提供针对数据存储***进行数据整理的示例。
参照图3,示出了根据本发明一个示例的一种数据存储***的结构示意图,具有可以包括:内存301和磁盘302;
其中,内存301可以进一步包括:内存表和只读内存表;
磁盘302可以进一步包括:0层、1层、2层等组成一个LSM(日志结构合并,Log Structured Merge)树的层级结构,这些层级结构可用于存储日志文件、元信息文件、当前文件和数据文件;
其中,数据文件可以.sst结尾,用来存储数据和索引;
日志文件以.log结尾,用来存储最近的数据更新操作;采用追加写的形式,每次写入操作都被追加到日志文件的末尾,每个日志文件对应当前的内存表,写入操作先写入日志文件,然后更新临时文件,这样即使***崩溃,也可以从日志文件中恢复内存中的内存表,不会造成数据的丢失;
元信息文件列出了每个层(level)的数据文件构成,每个数据文件的key的范围以及其他的元信息;元信息文件格式同日志文件,数据文件级别的更改(数据文件的增加和删除等)操作会追加到元信息文件的末尾;
当前文件是一个简单的文本文件,其内容是当前使用的元信息文件名。
在实际应用中,当内存表***的数据占用内存到了一个界限后,可以将内存的记录导出到磁盘的数据文件中,则***会生成新的日志文件和内存表,原有的内存表就成为只读内存表,当内存表被写入数据文件后,相应的日志文件会被删除。
当某个层下的数据文件数目超过阈值后,可以执行数据整理流程。当然,本领域技术人员还可以根据实际需求定期执行数据整理流程,本发明实施例对执行数据整理流程的具体条件不加以限制。
参照图4,示出了根据本发明一个示例的一种数据整理方法的步骤流程示意图,该示例涉及将L(L大于等于0)层中数据文件和L+1层数据文件进行整理,具体可以包括如下步骤:
步骤401、从L层中选择待整理的第一数据文件;
在实际应用中,业务层的数据表通常拆分成很多个部分,每个部分对应一个LSM树,则可以并行执行各部分的删除操作。具体地,可以查找各部分所对应的第一数据文件,然后对查找得到的第一数据文件进行数据整理操作。
步骤402、依据数据表的第一过期时间信息判断第一数据文件中存储的数据表数据是否过期;
步骤403、在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作,并执行步骤406;
步骤404、在所述数据表未过期时,依据所述第一数据文件中键值对数据的第二过期时间判断所述键值对数据是否过期;
步骤405、在所述键值对数据过期时,对所述键值对数据执行删除操作,并执行步骤406;
步骤406、从L+1层中选择待合并的第二数据文件;
步骤407、按照key的大小,对所述第一数据文件和第二数据文件中键值对数据进行归并排序;
步骤408、依据第二过期时间,判断归并排序结果中当前键值对数据是否过期,若是,则执行步骤409,否则执行410;
步骤409、抛弃归并排序结果中该当前键值对数据;
步骤410、判断L层之前的层中是否存在归并排序结果中该当前键对应数据,若是,则执行步骤409,否则执行411;
对于层级低于L的文件中如果存在同一Key的记录,那么说明对于Key来说,有更新鲜的Value存在,那么过去的Value就等于没有意义了,所以可以抛弃。
步骤411、将归并排序结果中该当前键值对数据写入L+1层中新生成的数据文件。
可以看出,本示例在对所述第一数据文件和第二数据文件中键值对数据进行归并排序之前,已经删除了所述第一数据文件中过期的数据,因此能够减小归并排序的数据量;
本示例在将归并排序结果中键值对数据写入L+1层中新生成的数据文件前,已经抛弃了归并排序结果中过期的键值对数据,也即,向L+1层中新生成的数据文件写入的是未过期的键值对数据,因此能够有效节省磁盘的存储空间。
需要说明的是,上述在对所述第一数据文件和第二数据文件中键值对数据进行归并排序和将归并排序结果中键值对数据写入L+1层中新生成的数据文件之前进行过期删除的方式只是作为示例,本领域技术人员可以依据实际需求在数据整理中的任一阶段对数据表或数据进行过期删除操作,本发明实施例对过期删除的具体阶段不加以限制。
参照图5,示出了根据本发明一个实施例的一种数据整理方法的步骤流程示意图,具体可以包括如下步骤:
步骤501、在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;
步骤502、在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作;
步骤503、接收来自客户端的读请求;
步骤504、依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期;以及
步骤505、在所述数据表过期时,向客户端返回第一失败信息。
相对于图1所示实施例,本实施例还可以具有处理读请求的功能,其中,在处理读请求的过程中,可以依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期,如果所述读请求对应key所在的数据表过期了,即使该数据表未被前述数据整理流程回收,仍然向客户端返回第一失败信息,以使数据访问流程适应业务场景的需求。在实际应用中,所述第一失败信息中可以携带“用户数据不存在”等信息。
需要说明的是,在所述数据表未过期时,可以向客户端返回所述读请求对应的键值对数据。
参照图6,示出了根据本发明一个实施例的一种数据访问方法的步骤流程示意图,具体可以包括如下步骤:
步骤601、在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;
步骤602、在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作;
步骤603、接收来自客户端的读请求;
步骤604、依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期;
步骤605、在所述数据表过期时,向客户端返回第一失败信息;
步骤606、在所述数据表未过期时,依据所述读请求对应键值对的第一过期时间信息判断所述键值对数据是否过期;
步骤607、在所述键值对数据过期时,向客户端返回第二失败信息。
相对于图5所示实施例,本实施例在处理读请求的过程中,还可以依据所述读请求对应键值对的第一过期时间信息判断所述键值对数据是否过期,如果所述读请求对应key过期了,即使该key未被前述数据整理流程回收,仍然向客户端返回第二失败信息,以使数据访问流程适应业务场景的需求。在实际应用中,所述第二失败信息中可以携带“用户数据不存在”等信息。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了根据本发明一个实施例的一种数据整理装置的结构示意图,具体可以包括如下模块:
第一判断模块701,用于在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及
第一删除模块702,用于在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。
在本发明的一种可选实施例中,所述第一过期时间信息可以为记录在数据库配置文件中的信息,或者,所述第一过期时间信息可以为创建所述数据表时设定的信息。
参照图8,示出了根据本发明一个实施例的一种数据整理装置的结构示意图,具体可以包括如下模块:
第一判断模块801,用于在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;
第一删除模块802,用于在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作;
第二判断模块803,用于在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期;以及
第二删除模块804,用于在所述键值对数据过期时,对所述键值对数据执行删除操作。
在本发明的一种可选实施例中,所述第二过期时间信息可以为在写入所述键值对数据时设定的信息。
参照图9,示出了根据本发明一个实施例的一种数据整理装置的结构示意图,具体可以包括如下模块:
第一判断模块901,用于在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;
第一删除模块902,用于在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作;
接收模块903,用于接收来自客户端的读请求;
第三判断模块904,用于依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期;以及
第一返回模块905,用于在所述数据表过期时,向客户端返回第一失败信息。
参照图10,示出了根据本发明一个实施例的一种数据整理装置的结构框图,具体可以包括如下模块:
第一判断模块1001,用于在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;
第一删除模块1002,用于在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作;
接收模块1003,用于接收来自客户端的读请求;
第三判断模块1004,用于依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期;
第一返回模块1005,用于在所述数据表过期时,向客户端返回第一失败信息;
第四判断模块1006,用于在所述数据表未过期时,依据所述读请求对应键值对的第一过期时间信息判断所述键值对数据是否过期;以及
第二返回模块1007,用于在所述键值对数据过期时,向客户端返回第二失败信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据整理方法和装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网平台上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种数据整理方法,包括:
在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及
在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。
A2、如A1所述的方法,所述方法还包括:
在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期;
在所述键值对数据过期时,对所述键值对数据执行删除操作。
A3、如A1或A2所述的方法,所述第一过期时间信息为记录在数据库配置文件中的信息,或者,所述第一过期时间信息为创建所述数据表时设定的信息。
A4、如A2所述的方法,所述第二过期时间信息为在写入所述键值对数据时产生的信息。
A5、如A2所述的方法,所述方法还包括:
在所述数据表和所述键值对数据均未过期时,对所述数据表存储的键值对数据执行去重操作。
A6、如A1或A2所述的方法,所述方法还包括:
接收来自客户端的读请求;
依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期;以及
在所述数据表过期时,向客户端返回第一失败信息。
A7、如A6所述的方法,所述方法还包括:
在所述数据表未过期时,依据所述读请求对应键值对的第一过期时间信息判断所述键值对数据是否过期;
在所述键值对数据过期时,向客户端返回第二失败信息。
本发明还公开了B8、一种数据整理装置,包括:
第一判断模块,用于在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及
第一删除模块,用于在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。
B9、如B8所述的装置,所述装置还包括:
第二判断模块,用于在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期;
第二删除模块,用于在所述键值对数据过期时,对所述键值对数据执行删除操作。
B10、如B8或B9所述的装置,所述第一过期时间信息为记录在数据库配置文件中的信息,或者,所述第一过期时间信息为创建所述数据表时设定的信息。
B11、如B9所述的装置,所述第二过期时间信息为在写入所述键值对数据时设定的信息。
B12、如B9所述的装置,所述装置还包括:
在所述数据表和所述键值对数据均未过期时,对所述数据表存储的键值对数据执行去重操作。
B13、如B8或B9所述的装置,所述装置还包括:
接收模块,用于接收来自客户端的读请求;
第三判断模块,用于依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期;
第一返回模块,用于在所述数据表过期时,向客户端返回第一失败信息。
B14、如B13所述的装置,所述装置还包括:
第四判断模块,用于在所述数据表未过期时,依据所述读请求对应键值对的第一过期时间信息判断所述键值对数据是否过期;
第二返回模块,用于在所述键值对数据过期时,向客户端返回第二失败信息。
Claims (10)
1.一种数据整理方法,包括:
在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及
在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期;
在所述键值对数据过期时,对所述键值对数据执行删除操作。
3.如权利要求1或2所述的方法,其特征在于,所述第一过期时间信息为记录在数据库配置文件中的信息,或者,所述第一过期时间信息为创建所述数据表时设定的信息。
4.如权利要求2所述的方法,其特征在于,所述第二过期时间信息为在写入所述键值对数据时产生的信息。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:
在所述数据表和所述键值对数据均未过期时,对所述数据表存储的键值对数据执行去重操作。
6.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收来自客户端的读请求;
依据所述读请求对应数据表的第一过期时间信息判断数据表是否过期;以及
在所述数据表过期时,向客户端返回第一失败信息。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在所述数据表未过期时,依据所述读请求对应键值对的第一过期时间信息判断所述键值对数据是否过期;
在所述键值对数据过期时,向客户端返回第二失败信息。
8.一种数据整理装置,包括:
第一判断模块,用于在数据整理过程中,依据数据表的第一过期时间信息判断数据表是否过期,其中所述数据表中存储有至少一条键值对数据;以及
第一删除模块,用于在所述数据表过期时,对所述数据表存储的所有键值对数据执行删除操作。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于在所述数据表未过期时,依据所述数据表中键值对数据的第二过期时间判断所述键值对数据是否过期;
第二删除模块,用于在所述键值对数据过期时,对所述键值对数据执行删除操作。
10.如权利要求8或9所述的装置,其特征在于,所述第一过期时间信息为记录在数据库配置文件中的信息,或者,所述第一过期时间信息为创建所述数据表时设定的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410836030.6A CN104572920A (zh) | 2014-12-27 | 2014-12-27 | 一种数据整理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410836030.6A CN104572920A (zh) | 2014-12-27 | 2014-12-27 | 一种数据整理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572920A true CN104572920A (zh) | 2015-04-29 |
Family
ID=53088982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410836030.6A Pending CN104572920A (zh) | 2014-12-27 | 2014-12-27 | 一种数据整理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572920A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138622A (zh) * | 2015-08-14 | 2015-12-09 | 中国科学院计算技术研究所 | 用于lsm树存储***的***操作及负载的读取和合并方法 |
CN105447167A (zh) * | 2015-12-04 | 2016-03-30 | 北京奇虎科技有限公司 | 分布式***中节点缓存数据的处理方法及装置 |
CN105488167A (zh) * | 2015-11-30 | 2016-04-13 | 北京金山安全软件有限公司 | 一种索引库更新方法及装置 |
CN105550299A (zh) * | 2015-12-14 | 2016-05-04 | 镇江乐游网络科技有限公司 | 一种游戏用户数据的管理方法 |
CN105574196A (zh) * | 2015-12-25 | 2016-05-11 | 北京奇虎科技有限公司 | 一种数据库管理方法与装置 |
CN106503260A (zh) * | 2016-11-18 | 2017-03-15 | 北京奇虎科技有限公司 | 一种提高数据库的有效存储空间的方法和装置 |
CN106681837A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇虎科技有限公司 | 基于数据表的数据淘汰方法及装置 |
CN107451190A (zh) * | 2017-06-26 | 2017-12-08 | 北京五八信息技术有限公司 | 可持久化非关系型数据库的数据处理方法及装置 |
CN108196792A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇虎科技有限公司 | 清除过期数据的方法及装置 |
CN108319602A (zh) * | 2017-01-17 | 2018-07-24 | 广州市动景计算机科技有限公司 | 数据库管理方法及数据库*** |
CN109032505A (zh) * | 2018-06-26 | 2018-12-18 | 深圳忆联信息***有限公司 | 带时效的数据读写方法、装置、计算机设备及存储介质 |
CN110413679A (zh) * | 2019-07-31 | 2019-11-05 | 深圳前海微众银行股份有限公司 | 数据库信息处理方法、装置、设备及可读存储介质 |
CN112214503A (zh) * | 2020-10-10 | 2021-01-12 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN114116685A (zh) * | 2020-08-25 | 2022-03-01 | 福建天泉教育科技有限公司 | 一种非结构化数据库中历史数据的清理方法及终端 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556589A (zh) * | 2008-04-09 | 2009-10-14 | 北京闻言科技有限公司 | 一种Oracle在数据库中定期淘汰过期数据的方法 |
CN102043726A (zh) * | 2010-12-29 | 2011-05-04 | 北京播思软件技术有限公司 | 一种大规模时序数据的存储管理方法 |
US7958097B1 (en) * | 2003-09-24 | 2011-06-07 | Parallels Holdings, Ltd. | Method and system for implementation of data storage quota |
CN102110146A (zh) * | 2011-02-16 | 2011-06-29 | 清华大学 | 基于键值key-value存储的分布式文件***元数据管理方法 |
CN103207919A (zh) * | 2013-04-26 | 2013-07-17 | 北京亿赞普网络技术有限公司 | 一种MongoDB集群快速查询计算的方法及装置 |
CN103345423A (zh) * | 2013-07-03 | 2013-10-09 | 北京京东尚科信息技术有限公司 | 一种处理异步任务的方法和*** |
CN104077343A (zh) * | 2013-12-26 | 2014-10-01 | 国家计算机网络与信息安全管理中心 | 一种哈希表元素失效删除方法 |
CN104182436A (zh) * | 2014-02-25 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种清理数据库的方法及装置 |
-
2014
- 2014-12-27 CN CN201410836030.6A patent/CN104572920A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958097B1 (en) * | 2003-09-24 | 2011-06-07 | Parallels Holdings, Ltd. | Method and system for implementation of data storage quota |
CN101556589A (zh) * | 2008-04-09 | 2009-10-14 | 北京闻言科技有限公司 | 一种Oracle在数据库中定期淘汰过期数据的方法 |
CN102043726A (zh) * | 2010-12-29 | 2011-05-04 | 北京播思软件技术有限公司 | 一种大规模时序数据的存储管理方法 |
CN102110146A (zh) * | 2011-02-16 | 2011-06-29 | 清华大学 | 基于键值key-value存储的分布式文件***元数据管理方法 |
CN103207919A (zh) * | 2013-04-26 | 2013-07-17 | 北京亿赞普网络技术有限公司 | 一种MongoDB集群快速查询计算的方法及装置 |
CN103345423A (zh) * | 2013-07-03 | 2013-10-09 | 北京京东尚科信息技术有限公司 | 一种处理异步任务的方法和*** |
CN104077343A (zh) * | 2013-12-26 | 2014-10-01 | 国家计算机网络与信息安全管理中心 | 一种哈希表元素失效删除方法 |
CN104182436A (zh) * | 2014-02-25 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种清理数据库的方法及装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138622A (zh) * | 2015-08-14 | 2015-12-09 | 中国科学院计算技术研究所 | 用于lsm树存储***的***操作及负载的读取和合并方法 |
CN105138622B (zh) * | 2015-08-14 | 2018-05-22 | 中国科学院计算技术研究所 | 用于lsm树存储***的***操作及负载的读取和合并方法 |
CN105488167A (zh) * | 2015-11-30 | 2016-04-13 | 北京金山安全软件有限公司 | 一种索引库更新方法及装置 |
CN105488167B (zh) * | 2015-11-30 | 2019-12-13 | 北京金山安全软件有限公司 | 一种索引库更新方法及装置 |
CN105447167A (zh) * | 2015-12-04 | 2016-03-30 | 北京奇虎科技有限公司 | 分布式***中节点缓存数据的处理方法及装置 |
CN105447167B (zh) * | 2015-12-04 | 2019-03-01 | 北京奇虎科技有限公司 | 分布式***中节点缓存数据的处理方法及装置 |
CN105550299A (zh) * | 2015-12-14 | 2016-05-04 | 镇江乐游网络科技有限公司 | 一种游戏用户数据的管理方法 |
CN105574196B (zh) * | 2015-12-25 | 2019-02-26 | 北京奇虎科技有限公司 | 一种数据库管理方法与装置 |
CN105574196A (zh) * | 2015-12-25 | 2016-05-11 | 北京奇虎科技有限公司 | 一种数据库管理方法与装置 |
CN106503260A (zh) * | 2016-11-18 | 2017-03-15 | 北京奇虎科技有限公司 | 一种提高数据库的有效存储空间的方法和装置 |
CN106503260B (zh) * | 2016-11-18 | 2020-04-28 | 北京奇虎科技有限公司 | 一种提高数据库的有效存储空间的方法和装置 |
CN106681837A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇虎科技有限公司 | 基于数据表的数据淘汰方法及装置 |
CN106681837B (zh) * | 2016-12-29 | 2020-10-16 | 北京奇虎科技有限公司 | 基于数据表的数据淘汰方法及装置 |
CN108319602A (zh) * | 2017-01-17 | 2018-07-24 | 广州市动景计算机科技有限公司 | 数据库管理方法及数据库*** |
CN108319602B (zh) * | 2017-01-17 | 2020-10-16 | 阿里巴巴(中国)有限公司 | 数据库管理方法及数据库*** |
CN107451190A (zh) * | 2017-06-26 | 2017-12-08 | 北京五八信息技术有限公司 | 可持久化非关系型数据库的数据处理方法及装置 |
CN108196792A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇虎科技有限公司 | 清除过期数据的方法及装置 |
CN109032505A (zh) * | 2018-06-26 | 2018-12-18 | 深圳忆联信息***有限公司 | 带时效的数据读写方法、装置、计算机设备及存储介质 |
CN110413679A (zh) * | 2019-07-31 | 2019-11-05 | 深圳前海微众银行股份有限公司 | 数据库信息处理方法、装置、设备及可读存储介质 |
CN114116685A (zh) * | 2020-08-25 | 2022-03-01 | 福建天泉教育科技有限公司 | 一种非结构化数据库中历史数据的清理方法及终端 |
CN112214503A (zh) * | 2020-10-10 | 2021-01-12 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572920A (zh) | 一种数据整理方法和装置 | |
JP7410181B2 (ja) | ハイブリッド・インデックス作成方法、システム、プログラム | |
CN103678494B (zh) | 客户端同步服务端数据的方法及装置 | |
US8924365B2 (en) | System and method for range search over distributive storage systems | |
CN103164490B (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
CN103902698A (zh) | 一种数据存储***和存储方法 | |
CN108021717B (zh) | 一种轻量级嵌入式文件***的实现方法 | |
US9245003B2 (en) | Method and system for memory efficient, update optimized, transactional full-text index view maintenance | |
Petrov | Database Internals: A deep dive into how distributed data systems work | |
CN109690522B (zh) | 一种基于b+树索引的数据更新方法、装置及存储装置 | |
CN103902702A (zh) | 一种数据存储***和存储方法 | |
CN105095261A (zh) | 数据***方法和装置 | |
CN105550306A (zh) | 多副本数据的读写方法及*** | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
WO2018046085A1 (en) | Systems and methods for performing a range query on a skiplist data structure | |
CN103186622A (zh) | 一种全文检索***中索引信息的更新方法以及装置 | |
CN111104377A (zh) | 文件管理的方法、电子设备和计算机可读存储介质 | |
CN111831691B (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN114840487A (zh) | 分布式文件***的元数据管理方法和装置 | |
CN102902770A (zh) | 一种镜像文件拼装方法及*** | |
Petrov | Algorithms behind modern storage systems: Different uses for read-optimized b-trees and write-optimized lsm-trees | |
CN100565495C (zh) | 文件索引处理 | |
CN103177026A (zh) | 数据管理方法和数据管理*** | |
US9367573B1 (en) | Methods and apparatus for archiving system having enhanced processing efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |