更新对象存储系统中键值对的方法和对象存储系统与流程
- 国知局
- 2024-10-15 10:24:44
本公开大体上涉及数据管理领域,更具体地,涉及计算机实现的更新对象存储系统中键值对的方法和对象存储系统。
背景技术:
1、通常,文件系统是一种计算机数据存储架构,其将数据作为文件和目录的集合进行管理。目录可以使用户将文件分组到单独的集合中。类似地,还有另一种计算机数据存储架构,称为对象存储系统。与将数据作为文件层次结构进行管理的其它存储架构(例如典型的文件系统)相比,对象存储系统将数据作为对象进行管理。传统的对象存储系统支持存储海量的非结构化数据,并用于各种目的,例如存储不同类型的数据,例如照片、视频或文件。最初,对象存储系统是为归档大对象而设计和构建的。此类对象存储系统提供了对大对象的高带宽访问。但是,这些系统在处理许多小型对象时面临着技术挑战。具体地,访问每个对象的数据需要首先访问元数据服务器以进行映射和其它设置,然后访问每个对象的数据的物理存储。对于大对象,与完全加载完整的大对象所需的时间相比,每对象一次元数据访问所带来的时延几乎可以忽略不计。对于许多小对象,元数据服务器访问基本上可能会加倍数据访问的时延,从而成为整个对象存储系统的一个技术挑战。因此,对象存储系统面临着以严格一致、性能优化和高效使用物理存储的方式提供数千个并发对象操作的技术问题。随着对象被复制,为越来越多的对象副本提供元数据加重了对象存储系统的负担,从而使技术问题更加复杂。因此,针对大对象设计和优化的对象存储系统并不能满足小对象的要求。
2、目前,已经提出了一些方法来提高对象存储系统的性能,这些方法需要处理针对海量对象的许多并发查询和操作。例如,提出了一种传统的对象存储系统,其不依赖外部元数据库,从而支持以更快的速度处理大量的小对象。传统的对象存储系统将元数据和数据直接存储在磁盘上,以部分地提高性能和可扩展性。提出了另一种传统的对象存储系统,其处理小对象的方式是将数据存储在元数据对象中,而不是将数据存储在数据对象中。因此,读操作不需要从两个对象(即元数据对象和数据对象)读取数据,而只需要从单个对象(即元数据对象)读取数据。提出了支持键值应用编程接口(application programminginterface,api)的又一种对象存储系统。键值api可以使对象存储系统以简单而高效的方式存储记录,每个记录由键和值组成。对象存储系统的键值api为每个键创建对象,因此对于小的值来说效率非常低,这导致创建了许多小对象。所提出的方案部分地提高了针对小对象的性能,并不能高效地解决处理大量微小的(非常小的)对象的问题。这是因为在大量微小的(非常小的)对象的情况下,用于维护大量微小的对象的元数据仍然很大,并且在磁盘空间和搜索性能方面效率低下。因此,存在一个技术问题,即如何在对象存储系统中高效地存储和更新大量的微小的(非常小的)对象,同时降低时延。
3、因此,根据上述讨论,需要克服与提高处理大量微小的(非常小的)对象的对象存储系统的性能的常规方法相关的上述缺点。
技术实现思路
1、本公开提供了一种计算机实现的更新对象存储系统中键值对的方法和对象存储系统。本公开提供了一种解决现有问题的方案,即如何在对象存储系统中高效地存储和更新大量的微小的(非常小的)对象,同时降低时延。本公开的目的是提供一种方案,其至少部分地克服现有技术中遇到的问题,并提供一种改进的计算机实现的更新对象存储系统中键值对的方法和改进的对象存储系统。
2、本公开的一个或多个目的是通过所附独立权利要求中提供的方案实现的。在从属权利要求中进一步限定本公开的有利实现方式。
3、一方面,本公开提供了一种计算机实现的更新对象存储系统中键值对的方法,其中,一个或多个对象中的每个对象包括键值对的范围。该计算机实现的方法包括:接收键号和对应值,并识别该范围中的起始键小于或等于接收到的键号的对象子集。该计算机实现的方法还包括:识别该对象子集中范围中的结束键等于或大于接收到的键号的对象;在识别的对象中对接收到的键号的对应值进行更新。
4、该计算机实现的方法提供了在对象存储系统中管理、更新和存储微小的(即非常小的)对象的高效方法。该计算机实现的方法使用键值对高效地更新对象。此外,该计算机实现的方法提供了对该范围中的起始键小于或等于接收到的键号的对象子集的高效和准确的识别,进一步实现了对该范围中的结束键等于或大于接收到的键号的对象的准确和可靠的识别。通过识别对象子集,具有接收到的键号的对象被更准确和高效地识别。
5、在一种实现方式中,每个对象具有与该范围中的起始键对应的名称。
6、有利的是,通过其对应的起始键来命名对象能够更高效地在对象存储系统中定位该对象,同时降低时延。
7、在另一种实现方式中,该计算机实现的方法还包括基于后一对象的名称推导对象的范围中的结束键。
8、有利的是,基于后一对象的名称推导对象的范围中的结束键能够更高效、更准确地从对象存储系统中的对象子集中识别和定位对象。
9、在另一种实现方式中,对值进行更新包括读取对象并使用更新后的值重写对象。
10、在另一种实现方式中,读取对象包括:读取与对象相关的元数据以确定对象内的多个子范围,识别包括接收到的键号的子范围,以及读取识别的子范围。
11、有利的是,读取与对象相关的元数据并识别包括接收到的键号的键的子范围消除了对读取整个对象的要求,这提供了读取对象的高效方式。
12、在另一种实现方式中,对值进行更新包括基于本地存储的数据重建对象。
13、有利的是,基于本地存储的数据重建对象提供了一种更新对象存储系统中的对象的高效方式,同时降低时延。
14、在另一种实现方式中,对值进行更新包括:如果在对象内未找到接收到的键号,则添加新键值对。
15、有利的是,如果未找到接收到的键号,则添加新键值对,这能够更高效和准确地保持对象存储系统中对象的理想大小和范围。
16、在另一种实现方式中,如果接收到的键位于识别的对象中的键值对的范围的末尾,则更新值包括:如果对象中的键值对的数量大于预定义阈值,则生成包括新键值对的新对象。
17、有利的是,如果对象中的键值对的数量大于预定义阈值,则生成包括新键值对的新对象,这能够在对象存储系统中保持对象的理想大小。
18、在另一种实现方式中,如果接收到的键位于识别的对象中的键值对的范围内,则更新值包括:如果对象中的键值对的数量大于预定义阈值,则将对象划分为两个或更多个对象。
19、有利的是,如果对象中的键值对的数量大于预定义阈值,则将对象划分为两个或更多个对象,这使得每个对象的大小相等。
20、在另一种实现方式中,该计算机实现的方法还包括:如果对象中的键值对的数量小于预定义阈值,则将对象与一个或多个相邻对象合并。
21、有利的是,如果对象中的键值对的数量小于预定义阈值,则将两个或更多个对象合并为一个对象,这使得每个对象的大小相等。
22、另一方面,本公开提供了一种计算机可读介质,该计算机可读介质包括指令,这些指令在由处理器执行时,使该处理器执行所述方法。
23、在执行所述方法之后,该处理器实现了所述方法的所有优点和技术效果。
24、又一方面,本公开提供了一种对象存储系统,包括用于执行所述方法的一个或多个处理器。
25、该对象存储系统实现了本公开的计算机实现的方法的所有优点和技术效果。
26、需要说明的是,本技术中描述的所有设备、元件、电路、单元和模块可以通过软件或硬件元件或其任何类型的组合实现。本技术中描述的各种实体所执行的所有步骤以及所描述的各种实体待执行的功能均意在指相应实体用于执行相应步骤和功能。虽然在以下具体实施例的描述中,外部实体执行的具体功能或步骤没有在执行具体步骤或功能的实体的具体详述元件的描述中反映,但是技术人员应清楚,这些方法和功能可以通过相应的软件或硬件元件或其任何类型的组合实现。应理解,本公开的特征易于以各种组合进行组合,而不脱离由所附权利要求书所限定的本公开的范围。
27、本公开的附加方面、优点、特征和目的从附图和结合以下所附权利要求书解释的说明性实现方式的详细描述中变得显而易见。
本文地址:https://www.jishuxx.com/zhuanli/20241014/317598.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表