基于LSM‑tree结构的数据处理方法及装置与流程

文档序号:12465732阅读:270来源:国知局
基于LSM‑tree结构的数据处理方法及装置与流程

本发明涉及互联网技术领域,具体涉及一种基于LSM-tree结构的数据处理方法及装置。



背景技术:

LSM-tree(日志结构的合并树,Log-Structured Merge-Tree)通过批量存储技术规避了磁盘随机写入问题,大幅度地提高了写性能。具体地,可利用LSM-tree来存储数据条目和元信息条目。在LSM-tree结构中,通过数据文件来记录数据条目和元信息条目,并支持数据删除和数据读取等操作。当根据数据操作请求需要对待操作数据条目进行操作时,首先需要在数据文件中查找该待操作数据条目对应的元信息条目,然后根据该待操作数据条目对应的元信息条目进行相应操作。因此,现有技术中的这种数据处理方式存在着处理效率低下的问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于LSM-tree结构的数据处理方法及装置。

根据本发明的一个方面,提供了一种基于LSM-tree结构的数据处理方法,该方法包括:

接收数据操作请求,确定与数据操作请求所对应的待操作数据条目;

在缓存中查找待操作数据条目对应的元信息条目;

若在缓存中未查找到待操作数据条目对应的元信息条目,则在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存;

根据待操作数据条目对应的元信息条目,对数据操作请求作出响应。

根据本发明的另一方面,提供了一种基于LSM-tree结构的数据处理装置,该装置包括:

确定模块,适于接收数据操作请求,确定与数据操作请求所对应的待操作数据条目;

第一查找模块,适于在缓存中查找待操作数据条目对应的元信息条目;

第二查找模块,适于若第一查找模块在缓存中未查找到待操作数据条目对应的元信息条目,则在数据文件中查找待操作数据条目对应的元信息条目;

写入模块,适于将第二查找模块在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存;

响应模块,适于根据待操作数据条目对应的元信息条目,对数据操作请求作出响应。

根据本发明提供的技术方案,接收数据操作请求,确定与数据操作请求所对应的待操作数据条目,在缓存中查找待操作数据条目对应的元信息条目,如果在缓存中未查找到待操作数据条目对应的元信息条目,那么在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,然后根据待操作数据条目对应的元信息条目,对数据操作请求作出响应。本发明提供的技术方案优先从缓存中查找待操作数据条目对应的元信息条目,在缓存中未查找到待操作该数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目在缓存中查找对应的元信息条目,从而加快了查找元信息条目的速度,有效地提高了数据处理效率,优化了数据处理方式。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的基于LSM-tree结构的数据处理方法的流程示意图;

图2示出了根据本发明另一个实施例的基于LSM-tree结构的数据处理方法的流程示意图;

图3示出了根据本发明又一个实施例的基于LSM-tree结构的数据处理方法的流程示意图;

图4示出了根据本发明再一个实施例的基于LSM-tree结构的数据处理方法的流程示意图;

图5示出了根据本发明一个实施例的基于LSM-tree结构的数据处理装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

LSM-tree结构可用于存储数据条目和元信息条目。在LSM-tree结构中,通过数据文件来记录数据条目和元信息条目。现有技术中,当根据数据操作请求需要对待操作数据条目进行操作时,首先需要在数据文件中查找该待操作数据条目对应的元信息条目,然后根据该待操作数据条目对应的元信息条目进行相应操作。因此,现有技术中的这种数据处理方式存在着处理效率低下的问题。在本发明提供的技术方案中,优先从缓存中查找待操作数据条目对应的元信息条目,在缓存中未查找到待操作数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的该待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目在缓存中查找对应的元信息条目,从而加快了查找元信息条目的速度,有效地提高了数据处理效率,优化了数据处理方式。

图1示出了根据本发明一个实施例的基于LSM-tree结构的数据处理方法的流程示意图,如图1所示,该方法包括如下步骤:

步骤S100,接收数据操作请求,确定与数据操作请求所对应的待操作数据条目。

其中,元信息条目和数据条目均是以数据键值对形式进行存储的。具体地,可将hash类型、zset类型、set类型或者list类型等类型的数据根据预设的封装规则封装成数据键值对形式的元信息条目和数据条目。本领域技术人员可根据实际需要设置具体的封装规则,此处不做限定。

以hash类型的数据为例,假设该数据具有对应的hashkey,该数据还包括3个成员,这3个成员分别为m1、m2和m3,那么根据该数据可封装得到数据键值对形式的1条元信息条目和3条数据条目,为了便于管理,数据条目的数据键和与该数据条目对应的元信息条目的数据键的至少一部分相同。具体地,该元信息条目的数据键为hashkey,该数据键对应的数据值包括成员数量信息、版本信息或者过期时间信息等信息;第1条数据条目的数据键为hashkeym1,该数据键对应的数据值包括m1对应的数据信息、版本信息等信息;第2条数据条目的数据键为hashkeym2,该数据键对应的数据值包括m2对应的数据信息、版本信息等信息;第3条数据条目的数据键为hashkeym3,该数据键对应的数据值包括m3对应的数据信息、版本信息等信息。

在步骤S100中,接收数据操作请求,并根据数据操作请求,确定与数据操作请求所对应的待操作数据条目。其中,数据操作请求可以为数据删除操作请求、数据读取操作请求或者数据写入操作请求等。

步骤S101,在缓存中查找待操作数据条目对应的元信息条目。

具体地,待操作数据条目的数据键和与待操作数据条目对应的元信息条目的数据键的至少一部分相同,那么在步骤S101中,可根据待操作数据条目的数据键,在缓存中查找该待操作数据条目对应的元信息条目。

步骤S102,判断在缓存中是否查找到待操作数据条目对应的元信息条目;若是,则执行步骤S104;若否,则执行步骤S103。

如果判断得到在缓存中查找到待操作数据条目对应的元信息条目,则执行步骤S104;如果判断得到在缓存中未查找到待操作数据条目对应的元信息条目,则执行步骤S103。

步骤S103,在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存。

其中,数据文件中记录有若干个以数据键值对形式存储在LSM-tree结构中的数据条目和元信息条目。在缓存中未查找到待操作数据条目对应的元信息条目的情况下,在步骤S103中,在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目查找对应的元信息条目时直接从缓存中进行查找,从而加快了查找元信息条目的速度,进而有助于提高数据处理效率。

步骤S104,根据待操作数据条目对应的元信息条目,对数据操作请求作出响应。

在从缓存中或者数据文件中查找到待操作数据条目对应的元信息条目之后,在步骤S104中,根据待操作数据条目对应的元信息条目,对数据操作请求作出响应,执行数据读取、数据写入或者数据删除等操作。

根据本发明实施例提供的基于LSM-tree结构的数据处理方法,接收数据操作请求,确定与数据操作请求所对应的待操作数据条目,在缓存中查找待操作数据条目对应的元信息条目,如果在缓存中未查找到待操作数据条目对应的元信息条目,那么在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,然后根据待操作数据条目对应的元信息条目,对数据操作请求作出响应。本发明提供的技术方案优先从缓存中查找待操作数据条目对应的元信息条目,在缓存中未查找到待操作该数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目在缓存中查找对应的元信息条目,从而加快了查找元信息条目的速度,有效地提高了数据处理效率,优化了数据处理方式。

图2示出了根据本发明另一个实施例的基于LSM-tree结构的数据处理方法的流程示意图,如图2所示,该方法包括如下步骤:

步骤S200,接收数据删除操作请求,确定与数据删除操作请求所对应的待操作数据条目。

其中,元信息条目和数据条目均是以数据键值对形式进行存储的。具体地,数据删除操作请求中可包括待操作数据条目的数据键的至少一部分,那么在步骤S200中,根据接收到的数据删除操作请求中所包括的待操作数据条目的数据键的至少一部分,确定与数据删除操作请求所对应的待操作数据条目。

步骤S201,在缓存中查找待操作数据条目对应的元信息条目。

其中,待操作数据条目的数据键和与待操作数据条目对应的元信息条目的数据键的至少一部分相同。

步骤S202,判断在缓存中是否查找到待操作数据条目对应的元信息条目;若是,则执行步骤S204;若否,则执行步骤S203。

如果判断得到在缓存中查找到待操作数据条目对应的元信息条目,则执行步骤S204;如果判断得到在缓存中未查找到待操作数据条目对应的元信息条目,则执行步骤S203。

步骤S203,在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存。

在缓存中未查找到待操作数据条目对应的元信息条目的情况下,在步骤S203中,在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目查找对应的元信息条目时直接从缓存中进行查找,从而加快了查找元信息条目的速度,进而有助于提高数据处理效率。

步骤S204,修改待操作数据条目对应的元信息条目中的版本信息。

其中,待操作数据条目中和元信息条目中都包括版本信息。假设待操作数据条目中的版本信息和待操作数据条目对应的元信息条目中的版本信息均为版本1,根据数据删除操作请求可知,需要删除该待操作数据条目,那么在步骤S204中,可直接将该待操作数据条目对应的元信息条目中的版本信息修改为版本2,通过修改元信息条目中的版本信息的方式来标识该元信息条目对应的待操作数据条目为已被删除的数据条目。也就是说,如果某条数据条目中的版本信息不与该操作数据条目对应的元信息条目中的版本信息相符,则说明该数据条目为已被删除的数据条目。

根据本发明实施例提供的基于LSM-tree结构的数据处理方法,优先从缓存中查找待操作数据条目对应的元信息条目,在缓存中未查找到待操作该数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目在缓存中查找对应的元信息条目;另外,根据该技术方案,可方便地通过修改待操作数据条目对应的元信息条目中的版本信息的方式来标识待操作数据条目为已被删除的数据条目,从而进一步提高了数据处理效率,优化了数据处理方式。

图3示出了根据本发明又一个实施例的基于LSM-tree结构的数据处理方法的流程示意图,如图3所示,该方法包括如下步骤:

步骤S300,接收数据读取操作请求,确定与数据读取操作请求所对应的待操作数据条目。

具体地,数据读取操作请求中可包括待操作数据条目的数据键的至少一部分,那么在步骤S300中,根据接收到的数据读取操作请求中所包括的待操作数据条目的数据键的至少一部分,确定与数据读取操作请求所对应的待操作数据条目。

步骤S301,在缓存中查找待操作数据条目对应的元信息条目。

具体地,待操作数据条目的数据键和与待操作数据条目对应的元信息条目的数据键的至少一部分相同,那么在步骤S301中,可根据待操作数据条目的数据键,在缓存中查找该待操作数据条目对应的元信息条目。

步骤S302,判断在缓存中是否查找到待操作数据条目对应的元信息条目;若是,则执行步骤S304;若否,则执行步骤S303。

如果判断得到在缓存中查找到待操作数据条目对应的元信息条目,则执行步骤S304;如果判断得到在缓存中未查找到待操作数据条目对应的元信息条目,则执行步骤S303。

步骤S303,在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存。

在缓存中未查找到待操作数据条目对应的元信息条目的情况下,在步骤S303中,在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目查找对应的元信息条目时直接从缓存中进行查找,从而加快了查找元信息条目的速度,进而有助于提高数据处理效率。

步骤S304,判断待操作数据条目中的版本信息是否与待操作数据条目对应的元信息条目中的版本信息相符;若是,则执行步骤S305;若否,则执行步骤S306。

其中,待操作数据条目中和元信息条目中都包括版本信息,根据版本信息可判断待操作数据条目是否已被删除。如果判断得到待操作数据条目中的版本信息与待操作数据条目对应的元信息条目中的版本信息相符,说明该待操作数据条目不是已被删除的数据条目,即该待操作数据条目为有效数据条目,则执行步骤S305;如果判断得到待操作数据条目中的版本信息不与待操作数据条目对应的元信息条目中的版本信息相符,说明该待操作数据条目是已被删除的数据条目,即该待操作数据条目为无效数据条目,则执行步骤S306。

步骤S305,读取得到待操作数据条目。

在待操作数据条目中的版本信息与待操作数据条目对应的元信息条目中的版本信息相符的情况下,在步骤S305中,读取得到待操作数据条目。

步骤S306,展现数据读取失败的提示信息。

在待操作数据条目中的版本信息不与待操作数据条目对应的元信息条目中的版本信息相符的情况下,在步骤S306中,展现数据读取失败的提示信息。

可选地,在本实施例的一个可能的实现方式中,如果元信息条目中包括过期时间信息,那么可根据待操作数据条目对应的元信息条目中的过期时间信息,判断待操作数据条目是否为过期数据条目。如果判断得到待操作数据条目为过期数据条目,说明该待操作数据条目为无效数据条目,则展现数据读取失败的提示信息;如果判断得到数据条目不为过期数据条目,说明该待操作数据条目为有效数据条目,则读取得到待操作数据条目。

根据本发明实施例提供的基于LSM-tree结构的数据处理方法,优先从缓存中查找待操作数据条目对应的元信息条目,在缓存中未查找到待操作该数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目在缓存中查找对应的元信息条目;另外,根据版本信息或过期时间信息可方便、快速地判断待操作数据条目是否为已被删除的或过期的数据条目,从而进一步提高了数据处理效率,优化了数据处理方式。

图4示出了根据本发明再一个实施例的基于LSM-tree结构的数据处理方法的流程示意图,如图4所示,该方法包括如下步骤:

步骤S400,接收数据写入操作请求,确定与数据写入操作请求所对应的待操作数据条目。

具体地,数据写入操作请求中可包括待操作数据条目的数据键,那么在步骤S400中,根据接收到的数据写入操作请求中所包括的待操作数据条目的数据键,确定与数据写入操作请求所对应的待操作数据条目。

步骤S401,在缓存中查找待操作数据条目对应的元信息条目。

其中,待操作数据条目的数据键和与待操作数据条目对应的元信息条目的数据键的至少一部分相同。

步骤S402,判断在缓存中是否查找到待操作数据条目对应的元信息条目;若是,则执行步骤S404;若否,则执行步骤S403。

如果判断得到在缓存中查找到待操作数据条目对应的元信息条目,则执行步骤S404;如果判断得到在缓存中未查找到待操作数据条目对应的元信息条目,则执行步骤S403。

步骤S403,在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存。

在缓存中未查找到待操作数据条目对应的元信息条目的情况下,在步骤S403中,在数据文件中查找待操作数据条目对应的元信息条目,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目查找对应的元信息条目时直接从缓存中进行查找,从而加快了查找元信息条目的速度,进而有助于提高数据处理效率。

在从缓存中或者数据文件中查找到待操作数据条目对应的元信息条目之后,根据待操作数据条目对应的元信息条目,对数据写入操作请求进行响应。具体地,可通过步骤S404和步骤S405进行实现。

步骤S404,根据数据写入操作请求中的待写入数据信息,修改待操作数据条目的数据键对应的数据值。

步骤S405,根据待操作数据条目对应的元信息条目中的版本信息,修改待操作数据条目中的版本信息。

假设待操作数据条目中的版本信息为版本1,待操作数据条目对应的元信息条目中的版本信息为版本2,说明该待操作数据条目为已被删除的数据条目,另外,数据写入操作请求中包括待写入数据信息,那么在步骤S404中根据待写入数据信息修改待操作数据条目的数据键对应的数据值,在步骤S405中根据待操作数据条目对应的元信息条目中的版本信息,修改待操作数据条目中的版本信息,即将待操作数据条目中的版本信息修改为版本2,使得待操作数据条目中的版本信息与待操作数据条目对应的元信息条目中的版本信息相符,从而通过修改待操作数据条目中的版本信息的方式来标识该待操作数据条目为最新写入的数据条目。

根据本发明实施例提供的基于LSM-tree结构的数据处理方法,优先从缓存中查找待操作数据条目对应的元信息条目,在缓存中未查找到待操作该数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目在缓存中查找对应的元信息条目;另外,根据该技术方案,可方便地通过修改待操作数据条目中的版本信息的方式来标识该待操作数据条目为最新写入的数据条目,从而进一步提高了数据处理效率,优化了数据处理方式。

图5示出了根据本发明一个实施例的基于LSM-tree结构的数据处理装置的结构框图,如图5所示,该装置包括:确定模块510、第一查找模块520、第二查找模块530、写入模块540和响应模块550。

确定模块510适于:接收数据操作请求,确定与数据操作请求所对应的待操作数据条目。

其中,数据操作请求可以为数据删除操作请求、数据读取操作请求或者数据写入操作请求等。具体地,数据操作请求中可包括待操作数据条目的数据键的至少一部分,那么确定模块510根据接收到的数据操作请求中所包括的待操作数据条目的数据键的至少一部分,确定与数据操作请求所对应的待操作数据条目。

第一查找模块520适于:在缓存中查找待操作数据条目对应的元信息条目。

其中,待操作数据条目的数据键和与待操作数据条目对应的元信息条目的数据键的至少一部分相同。具体地,第一查找模块520根据待操作数据条目的数据键,在缓存中查找该待操作数据条目对应的元信息条目。

第二查找模块530适于:若第一查找模块520在缓存中未查找到待操作数据条目对应的元信息条目,则在数据文件中查找待操作数据条目对应的元信息条目。

如果第一查找模块520在缓存中未查找到待操作数据条目对应的元信息条目,那么第二查找模块530在数据文件中查找待操作数据条目对应的元信息条目。

写入模块540适于:将第二查找模块530在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存。

写入模块540将第二查找模块530在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目查找对应的元信息条目时直接从缓存中进行查找,从而加快了查找元信息条目的速度,进而有助于提高数据处理效率。

响应模块550适于:根据待操作数据条目对应的元信息条目,对数据操作请求作出响应。

如果第一查找模块520在缓存中查找到待操作数据条目对应的元信息条目或者第二查找模块530在数据文件中查找到待操作数据条目对应的元信息条目,则响应模块550根据待操作数据条目对应的元信息条目,对数据操作请求作出响应。

其中,当数据操作请求为数据删除操作请求时,响应模块550进一步适于:修改待操作数据条目对应的元信息条目中的版本信息。

当数据操作请求为数据读取操作请求时,响应模块550进一步适于:判断待操作数据条目中的版本信息是否与待操作数据条目对应的元信息条目中的版本信息相符;若是,则读取得到待操作数据条目;若否,则展现数据读取失败的提示信息。

可选地,在本实施例的一个可能的实现方式中,如果元信息条目中包括过期时间信息,那么当数据操作请求为数据读取操作请求时,响应模块550进一步适于:根据待操作数据条目对应的元信息条目中的过期时间信息,判断待操作数据条目是否为过期数据条目;若是,则展现数据读取失败的提示信息;若否,则读取得到待操作数据条目。

当数据操作请求为数据写入操作请求时,响应模块550进一步适于:根据待操作数据条目对应的元信息条目中的版本信息,修改待操作数据条目中的版本信息。具体地,当数据写入操作请求中包括待写入数据信息时,响应模块550进一步适于:根据数据写入操作请求中的待写入数据信息,修改待操作数据条目的数据键对应的数据值。

根据本发明实施例提供的基于LSM-tree结构的数据处理装置,优先从缓存中查找待操作数据条目对应的元信息条目,在缓存中未查找到待操作该数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的待操作数据条目对应的元信息条目写入缓存,以便后续待操作数据条目在缓存中查找对应的元信息条目,从而加快了查找元信息条目的速度,有效地提高了数据处理效率,优化了数据处理方式。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了:A1、一种基于LSM-tree结构的数据处理方法,包括:

接收数据操作请求,确定与所述数据操作请求所对应的待操作数据条目;

在缓存中查找所述待操作数据条目对应的元信息条目;

若在所述缓存中未查找到所述待操作数据条目对应的元信息条目,则在数据文件中查找所述待操作数据条目对应的元信息条目,并将在数据文件中查找到的所述待操作数据条目对应的元信息条目写入缓存;

根据所述待操作数据条目对应的元信息条目,对所述数据操作请求作出响应。

A2、根据A1所述的方法,其中,所述待操作数据条目的数据键和与所述待操作数据条目对应的元信息条目的数据键的至少一部分相同。

A3、根据A1或A2所述的方法,所述数据操作请求为数据删除操作请求、数据读取操作请求或者数据写入操作请求。

A4、根据A3所述的方法,当所述数据操作请求为数据删除操作请求时,所述根据所述待操作数据条目对应的元信息条目,对所述数据操作请求作出响应进一步包括:

修改所述待操作数据条目对应的元信息条目中的版本信息。

A5、根据A3所述的方法,当所述数据操作请求为数据读取操作请求时,所述根据所述待操作数据条目对应的元信息条目,对所述数据操作请求作出响应进一步包括:

判断所述待操作数据条目中的版本信息是否与所述待操作数据条目对应的元信息条目中的版本信息相符;若否,则展现数据读取失败的提示信息。

A6、根据A3所述的方法,当所述数据操作请求为数据读取操作请求时,所述根据所述待操作数据条目对应的元信息条目,对所述数据操作请求作出响应进一步包括:

根据所述待操作数据条目对应的元信息条目中的过期时间信息,判断所述待操作数据条目是否为过期数据条目;若是,则展现数据读取失败的提示信息。

A7、根据A3所述的方法,当所述数据操作请求为数据写入操作请求时,所述根据所述待操作数据条目对应的元信息条目,对所述数据操作请求作出响应进一步包括:

根据所述待操作数据条目对应的元信息条目中的版本信息,修改所述待操作数据条目中的版本信息。

本发明还公开了:B8、一种基于LSM-tree结构的数据处理装置,包括:

确定模块,适于接收数据操作请求,确定与所述数据操作请求所对应的待操作数据条目;

第一查找模块,适于在缓存中查找所述待操作数据条目对应的元信息条目;

第二查找模块,适于若所述第一查找模块在所述缓存中未查找到所述待操作数据条目对应的元信息条目,则在数据文件中查找所述待操作数据条目对应的元信息条目;

写入模块,适于将所述第二查找模块在数据文件中查找到的所述待操作数据条目对应的元信息条目写入缓存;

响应模块,适于根据所述待操作数据条目对应的元信息条目,对所述数据操作请求作出响应。

B9、根据B8所述的装置,其中,所述待操作数据条目的数据键和与所述待操作数据条目对应的元信息条目的数据键的至少一部分相同。

B10、根据B8或B9所述的装置,所述数据操作请求为数据删除操作请求、数据读取操作请求或者数据写入操作请求。

B11、根据B10所述的装置,当所述数据操作请求为数据删除操作请求时,所述响应模块进一步适于:

修改所述待操作数据条目对应的元信息条目中的版本信息。

B12、根据B10所述的装置,当所述数据操作请求为数据读取操作请求时,所述响应模块进一步适于:

判断所述待操作数据条目中的版本信息是否与所述待操作数据条目对应的元信息条目中的版本信息相符;若否,则展现数据读取失败的提示信息。

B13、根据B10所述的装置,当所述数据操作请求为数据读取操作请求时,所述响应模块进一步适于:

根据所述待操作数据条目对应的元信息条目中的过期时间信息,判断所述待操作数据条目是否为过期数据条目;若是,则展现数据读取失败的提示信息。

B14、根据B10所述的装置,当所述数据操作请求为数据写入操作请求时,所述响应模块进一步适于:

根据所述待操作数据条目对应的元信息条目中的版本信息,修改所述待操作数据条目中的版本信息。

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