CN108920725B - 一种对象存储的方法及对象存储网关 - Google Patents
一种对象存储的方法及对象存储网关 Download PDFInfo
- Publication number
- CN108920725B CN108920725B CN201810872630.6A CN201810872630A CN108920725B CN 108920725 B CN108920725 B CN 108920725B CN 201810872630 A CN201810872630 A CN 201810872630A CN 108920725 B CN108920725 B CN 108920725B
- Authority
- CN
- China
- Prior art keywords
- storage
- target object
- database
- key value
- gateway
- 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.)
- Active
Links
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对象存储的方法及对象存储网关,其中,所述方法应用于对象存储网关中,所述方法包括:接收用户客户端发来的指向目标对象的操作指令;响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于键值存储数据库中,并且所述存储区域与所述键值存储数据库中的数据表相关联,所述数据表中记录有所述存储区域中对象的存储信息;按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。本申请提供的技术方案,能够提高系统在进行对象存储时的稳定性。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种对象存储的方法及对象存储网关。
背景技术
当前的ceph系统中,数据可以通过对象存储的方式存储于对象存储设备(Object-based Storage Device,OSD)中。请参阅图1,目前ceph系统中可以通过对象存储网关RadosGW(Reliable,Autonomic Distributed Object Store GateWay)对用户的对象进行存储。在现有的ceph系统中,OSD内存储的对象都是按照Bucket(桶)进行划分,其中,每个Bucket可以与Bucket Index对象相关联。Bucket中包含的对象在Bucket Index对象中均可以具备自身的记录。这样,当RadosGW接收到用户发出的指向目标对象的存储指令后,可以按照omap方式,查询该目标对象所处的Bucket Index对象。然后,可以通过crush算法,确定该Bucket Index对象所在的OSD,然后可以通过Rados客户端将用户的存储请求调度至对应的OSD处。在OSD中,可以串行执行用户的存储请求,从而将目标对象写入OSD中,并可以在对应的Bucket Index对象中添加目标对象的存储记录。
然而,现有的ceph系统存在以下弊端:Bucket Index对象中包含了Bucket内对象的存储记录,一旦Bucket Index对象出现异常,那么其中包含的各个对象均会受到影响。由于Bucket Index对象本身的稳定性不够高,从而导致现有的ceph系统在进行对象存储时,稳定性也不够高。
发明内容
本申请的目的在于提供一种对象存储的方法及对象存储网关,能够提高系统在进行对象存储时的稳定性。
为实现上述目的,本申请一方面提供一种对象存储的方法,所述方法应用于对象存储网关中,所述方法包括:接收用户客户端发来的指向目标对象的操作指令;响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于键值存储数据库中,并且所述存储区域与所述键值存储数据库中的数据表相关联,所述数据表中记录有所述存储区域中对象的存储信息;按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。
为实现上述目的,本申请另一方面还提供一种对象存储网关,所述对象存储网关与键值存储数据库建立连接,所述对象存储网关包括:指令接收单元,用于接收用户客户端发来的指向目标对象的操作指令;存储区域索引单元,用于响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于所述键值存储数据库中,并且所述存储区域与所述键值存储数据库中的数据表相关联,所述数据表中记录有所述存储区域中对象的存储信息;指令执行单元,用于按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。
由上可见,本申请提供的技术方案,可以对现有的RadosGW进行改进,在RadosGW中增加基于键值(Key/value)存储数据库的对象存储方式。具体地,对象存储网关可以与键值存储数据库建立连接,用户的对象均可以存储于键值存储数据库中,同时,键值存储数据库中的对象可以按照存储区域进行划分,每个存储区域可以与键值存储数据库中的一张数据表进行关联,在该数据表中,可以记录存储区域中各个对象的存储信息。这样,当RadosGW接收到用户发出的指向目标对象的操作指令时,首先可以确定所述目标对象对应的存储区域。然后,可以通过与键值存储数据库的连接,在所述键值存储数据库对应的存储区域中对所述目标对象进行处理。在处理之后,可以根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。由此可见,本申请提供的技术方案,不再将Bucket与Bucket Index对象进行关联,而是将Bucket与键值存储数据库中的数据表进行关联。由于键值存储数据库稳定性较强,因此可以提高数据存储的稳定性。此外,针对数据表中某个对象的存储信息进行修改时,可以保证其它对象的存储信息不受影响,从而进一步保证了数据存储的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中RadosGW的工作示意图;
图2是本发明实施例中对象存储网关与键值存储数据库的交互示意图;
图3是本发明实施例中对象存储的方法流程示意图;
图4是本发明实施例中对象存储网关的功能模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参阅图2,本申请提供的对象存储网关RadosGW,可以包含基于键值存储数据库方式的存储区域索引单元,该存储区域索引单元可以将Bucket与键值存储数据库中的数据表相关联。具体地,如图2所示,RadosGW可以与至少一个键值存储数据库建立连接,所述键值存储数据库例如可以包括MongoDB、RocksDB等数据库中的至少一个数据库。在所述RadosGW中可以提供与所述键值存储数据库相匹配的驱动接口,通过该驱动接口,RadosGW可以与对应的键值存储数据库进行数据交互。
当然,在实际应用中,所述对象存储网关RadosGW还可以保留现有ceph系统中基于对象映射(omap)方式的存储索引单元,该存储索引单元可以按照现有的方式,将Bucket与Bucket Index对象进行关联。需要说明的是,随着技术的进步,基于omap方式的存储索引单元可能会从RadosGW中移除,因此,本申请实施方式中提供的RadosGW网关,并不限定于同时包含omap方式和键值存储数据库方式的场景,而是可以仅包含键值存储数据库的方式。
请参阅图3,本申请提供的对象存储的方法,可以包括以下步骤。
S1:接收用户客户端发来的指向目标对象的操作指令。
在本实施方式中,用户想要针对目标对象执行操作时,可以通过用户客户端向ceph系统发送指向该目标对象的操作指令。所述操作指令可以是读取指令、写入指令、删除指令或者修改指令等,该操作指令可以被RadosGW接收到。
S3:响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于键值存储数据库中,并且所述存储区域与所述键值存储数据库中的数据表相关联,所述数据表中记录有所述存储区域中对象的存储信息。
在本实施方式中,RadosGW接收到所述操作指令之后,可以确定所述目标对象对应的存储区域(Bucket)。具体地,若所述操作指令为读取、删除、修改等指令,表明目标对象目前已经存储于键值存储数据库中。此时,RadosGW可以解析所述操作指令,得到目标对象的标识。该目标对象的标识可以是目标对象在ceph系统中的名称。目标对象在键值存储数据库中存储时,可以按照存储区域进行划分,并且每个存储区域可以与键值存储数据库中的数据表相关联。在所述数据表中,可以记录该存储区域中各个对象的存储信息。该存储信息例如可以具备键值对(key-value)的形式,其中,存储信息中的键可以是对象的名称,值则可以是对象在键值存储数据库中的存储地址。这样,RadosGW在解析得到操作指令中目标对象的标识之后,便可以查询该标识所处的数据表,由于数据表与存储区域一一对应,从而可以确定该目标对象所处的存储区域。
需要说明的是,本实施方式中上述的数据表在不同的键值存储数据库中可以具备不同的形式。例如,在RocksDB中,上述的数据表可以是表单的形式,而在MongoDB中,上述的数据表可以是集合(collection)的形式。
在本实施方式中,若所述操作指令为写入指令,则表明目标对象目前没有在键值存储数据库中存储。此时,该操作指令中可以包括目标对象本身,或者可以包括目标对象当前的存储路径。这样,RadosGW在接收到目标对象的写入指令之后,可以从中提取出目标对象的数据,或者可以按照其中包含的存储路径,加载得到目标对象的数据。RadosGW在存储所述目标对象时,可以按照crush算法或者一致性哈希算法,从众多的存储区域中确定出该目标对象对应的存储区域,后续则可以将该目标对象写入确定出的该存储区域中。
S5:按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。
在本实施方式中,在确定出目标对象对应的存储区域之后,便可以按照所述操作指令实际表征的内容,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理。例如,可以将目标对象写入该存储区域中,或者可以在该存储区域中修改、读取或者删除所述目标对象。在对目标对象处理之后,可以将本次的操作信息更新至该存储区域对应的数据表中。具体地,在所述数据表的存储信息中,可以注明目标对象最近一次的操作类型,以及最近一次的操作时间。那么在对目标对象完成本次处理之后,便可以按照本次处理时所采用的操作类型以及对应的操作时间,对目标对象的存储信息进行修改,以保证数据表中的存储信息与实际的目标对象一致。
在一个实施方式中,考虑到RadosGW中存在两种存储方式,一种是原有的omap方式,另一种则是改进的键值存储数据库的存储方式,因此可以在RadosGW启动时,确定目前应当采用哪种方式进行对象存储。鉴于此,在本实施方式中,可以在ceph系统中增加用于表征存储方式的配置项。例如,可以在ceph的zone配置项中增加名为bucket_index_type的配置项,该配置项可以通过当前的赋值来表明是采用原有的omap方式,还是采用键值存储数据库的存储方式。例如,当该配置项的取值为0时,则表明当前采用原有的omap方式,而当该配置项的取值为1时,则表明当前采用键值存储数据库的存储方式。那么,在RadosGW启动时,可以读取ceph系统中当前的配置信息,并识别所述配置信息中用于表征存储方式的配置项。在所述配置项表征当前使用键值存储数据库的存储方式的情况下,RadosGW可以响应于所述操作指令,确定所述目标对象对应的存储区域。
此外,RadosGW还可以根据所需处理的数据量来判断当前应当采用哪种存储方式。具体地,客户端发来的操作指令中,可以包括所述目标对象的数据量。当数据量较小时,基于omap的方式以及基于键值存储数据库的方式均能够对目标对象进行处理。但当该数据量大于或者等于指定数据量阈值时,omap的方式则可能无法有效地对目标对象进行处理。在这种情况下,RadosGW可以自动选用基于键值存储数据库的方式对目标对象进行处理,从而可以按照步骤S3中描述的技术方案,响应于所述操作指令,确定所述目标对象对应的存储区域。上述的指定数据量阈值,可以是根据omap的方式处理的历史数据量总结得到的。例如,可以根据omap方式多次处理的数据量的大小,得到omap方式能够处理的数据量的上限值,然后可以将该上限值或者在该上限值的基础上添加一定的冗余量,从而得到上述的指定数据量阈值。
在另一个实施方式中,客户端在发出操作指令之前,还可以由用户在操作指令中添加用于表征选定的存储方式的标识。该标识例如可以是用户选定的存储方式的名称,或者是用于表征该名称的数值。这样,所述操作指令中可以携带用于表征选定的存储方式的标识。当RadosGW接收到所述操作指令后,可以识别其中携带的所述标识。当所述标识表征当前选定键值存储数据库的存储方式的情况下,RadosGW则可以按照步骤S2中的描述,响应于所述操作指令,确定所述目标对象对应的存储区域。
在现有的ceph系统中,在按照omap方式进行对象存储时,OSD内通常是按照串行的方式处理对象的操作指令。这种方式无疑具备较低的操作效率,导致用户需要等待较长的时长。鉴于此,在一个实施方式中,改进后的RadosGW中可以存在至少两条线程与所述键值存储数据库建立连接,其中,每条线程均与键值存储数据库的一个连接相对应,这样,所述至少两条线程可以并发地对所述键值存储数据库中的对象分别执行对应的操作指令,从而解决了由于串行处理操作指令而导致的效率过低、用户等待时长过长的问题。
在一个实施方式中,数据表中各个对象的存储信息均可以是独立存储的状态,当目标对象的存储信息在所述数据表中出现异常时,RadosGW可以对目标对象的存储信息进行修复。此时,由于数据表中各个对象的存储信息相对独立,那么在目标对象的存储信息被修复的过程中,所述数据表中的其它存储信息并不会受到影响,而是处于可访问的状态,从而进一步提高了系统的稳定性。
在一个实施方式中,由于键值存储数据库的存储方式是根据现有的RadosGW进行改进的,那么改进后的RadosGW中还可以保留基于对象映射(omap)的存储索引单元,该存储索引单元可以将对象按照现有的对象映射的方式存储于对象存储设备OSD中。那么,在将对象改为存储于键值存储数据库中时,为了保证对象数据的同步,需要将OSD中对象的数据一并转移至键值存储数据库中。具体地,在进行数据转移时,可以从所述对象存储设备中读取按照所述对象映射的方式存储的对象,由于该对象的存储方式与键值存储数据库的数据格式不一致,因此需要将读取的对象进行序列化处理,从而转换为符合键值存储数据库的格式的数据,然后可以将序列化处理后的数据写入所述键值存储数据库中。
在一个实施方式中,在所述对象存储网关启动后,若所述对象存储网关当前确定使用键值存储数据库的存储方式,那么可以初始化与所述键值存储数据库相匹配的驱动接口,从而可以通过初始化的驱动接口,与键值存储数据库保持正常的数据交互。
实施例二
请参阅图4,本申请还提供一种对象存储网关,所述对象存储网关与键值存储数据库建立连接,所述对象存储网关包括:
指令接收单元,用于接收用户客户端发来的指向目标对象的操作指令;
存储区域索引单元,用于响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于所述键值存储数据库中,并且所述存储区域与所述键值存储数据库中的数据表相关联,所述数据表中记录有所述存储区域中对象的存储信息;
指令执行单元,用于按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。
在一个实施方式中,所述对象存储网关中还包括:
配置信息读取单元,用于在所述对象存储网关启动时,读取当前的配置信息,并识别所述配置信息中用于表征存储方式的配置项;
相应地,在所述配置项表征当前使用键值存储数据库的存储方式的情况下,所述存储区域索引单元响应于所述操作指令,确定所述目标对象对应的存储区域。
在一个实施方式中,所述对象存储网关中存在至少两条线程与所述键值存储数据库建立连接,其中,所述至少两条线程用于并发地对所述键值存储数据库中的对象分别执行对应的操作指令。
在一个实施方式中,所述对象存储网关还包括:
存储信息修复单元,用于若所述目标对象的存储信息在所述数据表中出现异常,对所述目标对象的存储信息进行修复;其中,在修复所述目标对象的存储信息时,所述数据表中的其它存储信息处于可访问的状态。
在一个实施方式中,所述对象存储网关中还包括基于对象映射的存储索引单元,所述存储索引单元将对象按照所述对象映射的方式存储于对象存储设备中;
相应地,所述对象存储网关还包括:
数据同步单元,用于从所述对象存储设备中读取按照所述对象映射的方式存储的对象,并将读取的对象进行序列化处理,并将序列化处理后的数据写入所述键值存储数据库中。
在一个实施方式中,所述对象存储网关中还包括与所述键值存储数据库相匹配的驱动接口;相应地,所述对象存储网关中还包括:
驱动初始化单元,用于在所述对象存储网关启动后,若所述对象存储网关当前使用键值存储数据库的存储方式,初始化与所述键值存储数据库相匹配的所述驱动接口。
在一个实施方式中,所述操作指令中包括所述目标对象的数据量;相应地,所述存储区域索引单元在所述操作指令表征的数据量大于或者等于指定数据量阈值时,响应于所述操作指令,确定所述目标对象对应的存储区域。
在一个实施方式中,所述操作指令中携带用于表征选定的存储方式的标识;相应地,所述存储区域索引单元在所述标识表征当前选定键值存储数据库的存储方式的情况下,响应于所述操作指令,确定所述目标对象对应的存储区域。
由上可见,本申请提供的技术方案,可以对现有的RadosGW进行改进,在RadosGW中增加基于键值(Key/value)存储数据库的对象存储方式。具体地,对象存储网关可以与键值存储数据库建立连接,用户的对象均可以存储于键值存储数据库中,同时,键值存储数据库中的对象可以按照存储区域进行划分,每个存储区域可以与键值存储数据库中的一张数据表进行关联,在该数据表中,可以记录存储区域中各个对象的存储信息。这样,当RadosGW接收到用户发出的指向目标对象的操作指令时,首先可以确定所述目标对象对应的存储区域。然后,可以通过与键值存储数据库的连接,在所述键值存储数据库对应的存储区域中对所述目标对象进行处理。在处理之后,可以根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。由此可见,本申请提供的技术方案,不再将Bucket与Bucket Index对象进行关联,而是将Bucket与键值存储数据库中的数据表进行关联。由于键值存储数据库稳定性较强,因此可以提高数据存储的稳定性。此外,针对数据表中某个对象的存储信息进行修改时,可以保证其它对象的存储信息不受影响,从而进一步保证了数据存储的稳定性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种对象存储的方法,其特征在于,所述方法应用于对象存储网关中,所述对象存储网关与新增的至少一个键值存储数据库相连;其中,所述键值存储数据库与基于omap方式的存储索引单元不同,在所述基于omap方式的存储索引单元中,存储区域与bucket index对象相关联,而在所述键值存储数据库中,将存储区域与所述键值存储数据库中的数据表进行关联;所述方法包括:
接收用户客户端发来的指向目标对象的操作指令;
响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于键值存储数据库中,所述数据表中记录有所述存储区域中对象的存储信息;
按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改;
其中,omap存储方式和所述键值存储数据库的存储方式按照以下方式选用:
根据预先设定的配置信息中的配置项选用;或者
根据所述目标对象的数据量选用;或者
根据用户添加的表征选定的存储方式的标识选用。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述对象存储网关启动时,所述对象存储网关读取当前的配置信息,并识别所述配置信息中用于表征存储方式的配置项;
相应地,在所述配置项表征当前使用键值存储数据库的存储方式的情况下,响应于所述操作指令,确定所述目标对象对应的存储区域。
3.根据权利要求1所述的方法,其特征在于,所述对象存储网关中存在至少两条线程与所述键值存储数据库建立连接,其中,所述至少两条线程用于并发地对所述键值存储数据库中的对象分别执行对应的操作指令。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标对象的存储信息在所述数据表中出现异常,对所述目标对象的存储信息进行修复;其中,在修复所述目标对象的存储信息时,所述数据表中的其它存储信息处于可访问的状态。
5.根据权利要求1所述的方法,其特征在于,所述操作指令中包括所述目标对象的数据量;相应地,在所述操作指令表征的数据量大于或者等于指定数据量阈值时,响应于所述操作指令,确定所述目标对象对应的存储区域。
6.根据权利要求1所述的方法,其特征在于,所述操作指令中携带用于表征选定存储方式的标识;
相应地,在所述标识表征当前选定键值存储数据库的存储方式的情况下,响应于所述操作指令,确定所述目标对象对应的存储区域。
7.根据权利要求1所述的方法,其特征在于,所述对象存储网关中还包括与所述键值存储数据库相匹配的驱动接口;相应地,所述方法还包括:
在所述对象存储网关启动后,若所述对象存储网关当前使用键值存储数据库的存储方式,初始化与所述键值存储数据库相匹配的所述驱动接口。
8.一种对象存储网关,其特征在于,所述对象存储网关与新增的至少一个键值存储数据库相连;其中,所述键值存储数据库与基于omap方式的存储索引单元不同,在所述基于omap方式的存储索引单元中,存储区域与bucket index对象相关联,而在所述键值存储数据库中,将存储区域与所述键值存储数据库中的数据表进行关联;所述对象存储网关包括:
指令接收单元,用于接收用户客户端发来的指向目标对象的操作指令;
存储区域索引单元,用于响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于所述键值存储数据库中,所述数据表中记录有所述存储区域中对象的存储信息;
指令执行单元,用于按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改;
其中,omap存储方式和所述键值存储数据库的存储方式按照以下方式选用:
根据预先设定的配置信息中的配置项选用;或者
根据所述目标对象的数据量选用;或者
根据用户添加的表征选定的存储方式的标识选用。
9.根据权利要求8所述的对象存储网关,其特征在于,所述对象存储网关中还包括:
配置信息读取单元,用于在所述对象存储网关启动时,读取当前的配置信息,并识别所述配置信息中用于表征存储方式的配置项;
相应地,在所述配置项表征当前使用键值存储数据库的存储方式的情况下,所述存储区域索引单元响应于所述操作指令,确定所述目标对象对应的存储区域。
10.根据权利要求8所述的对象存储网关,其特征在于,所述对象存储网关中存在至少两条线程与所述键值存储数据库建立连接,其中,所述至少两条线程用于并发地对所述键值存储数据库中的对象分别执行对应的操作指令。
11.根据权利要求8所述的对象存储网关,其特征在于,所述对象存储网关还包括:
存储信息修复单元,用于若所述目标对象的存储信息在所述数据表中出现异常,对所述目标对象的存储信息进行修复;其中,在修复所述目标对象的存储信息时,所述数据表中的其它存储信息处于可访问的状态。
12.根据权利要求8所述的对象存储网关,其特征在于,所述对象存储网关中还包括与所述键值存储数据库相匹配的驱动接口;相应地,所述对象存储网关中还包括:
驱动初始化单元,用于在所述对象存储网关启动后,若所述对象存储网关当前使用键值存储数据库的存储方式,初始化与所述键值存储数据库相匹配的所述驱动接口。
13.根据权利要求8所述的对象存储网关,其特征在于,所述操作指令中包括所述目标对象的数据量;相应地,所述存储区域索引单元在所述操作指令表征的数据量大于或者等于指定数据量阈值时,响应于所述操作指令,确定所述目标对象对应的存储区域。
14.根据权利要求8所述的对象存储网关,其特征在于,所述操作指令中携带用于表征选定的存储方式的标识;相应地,所述存储区域索引单元在所述标识表征当前选定键值存储数据库的存储方式的情况下,响应于所述操作指令,确定所述目标对象对应的存储区域。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810872630.6A CN108920725B (zh) | 2018-08-02 | 2018-08-02 | 一种对象存储的方法及对象存储网关 |
EP18899023.8A EP3633519A4 (en) | 2018-08-02 | 2018-08-22 | PROCESS FOR STORING OBJECTS AND OBJECT STORAGE GATEWAY |
PCT/CN2018/101748 WO2020024341A1 (zh) | 2018-08-02 | 2018-08-22 | 一种对象存储的方法及对象存储网关 |
US16/463,114 US11269843B2 (en) | 2018-08-02 | 2018-08-22 | Object storage method and object storage gateway |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810872630.6A CN108920725B (zh) | 2018-08-02 | 2018-08-02 | 一种对象存储的方法及对象存储网关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108920725A CN108920725A (zh) | 2018-11-30 |
CN108920725B true CN108920725B (zh) | 2020-08-04 |
Family
ID=64394437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810872630.6A Active CN108920725B (zh) | 2018-08-02 | 2018-08-02 | 一种对象存储的方法及对象存储网关 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11269843B2 (zh) |
EP (1) | EP3633519A4 (zh) |
CN (1) | CN108920725B (zh) |
WO (1) | WO2020024341A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753141B (zh) * | 2019-03-26 | 2024-06-11 | 华为技术有限公司 | 一种数据管理方法及相关设备 |
CN112002422B (zh) * | 2020-08-13 | 2024-09-20 | 广州市妇女儿童医疗中心(广州市妇幼保健院、广州市儿童医院、广州市妇婴医院、广州市妇幼保健计划生育服务中心) | 医疗信息处理系统、装置、计算机设备和存储介质 |
CN112765443B (zh) * | 2020-12-31 | 2023-10-24 | 广州技象科技有限公司 | 基于历史操作数据的物联网数据查询方法及装置 |
CN113821162B (zh) * | 2021-02-24 | 2024-08-16 | 北京沃东天骏信息技术有限公司 | 存储对象操作方法及装置 |
CN113467721A (zh) * | 2021-07-22 | 2021-10-01 | 杭州海康威视数字技术股份有限公司 | 一种数据删除系统、方法及装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013082743A1 (zh) * | 2011-12-05 | 2013-06-13 | 华为技术有限公司 | 提高分布式对象存储系统的并发性能的方法和装置 |
US20140109176A1 (en) * | 2012-10-15 | 2014-04-17 | Citrix Systems, Inc. | Configuring and providing profiles that manage execution of mobile applications |
CN103336811B (zh) | 2013-06-26 | 2018-01-09 | 华为技术有限公司 | 处理存储系统的方法和装置 |
CN103530111A (zh) * | 2013-08-20 | 2014-01-22 | 山东中创软件工程股份有限公司 | 一种流程定义的获取方法及装置 |
EP3023885B1 (en) | 2013-08-29 | 2019-10-30 | Huawei Technologies Co., Ltd. | Method and device for storing data |
CN103593477A (zh) * | 2013-11-29 | 2014-02-19 | 华为技术有限公司 | 一种哈希数据库的配置方法和装置 |
US10025873B2 (en) | 2014-04-18 | 2018-07-17 | Walmart Apollo, Llc | System and method for storing and processing database requests |
US20150324281A1 (en) | 2014-05-07 | 2015-11-12 | Diablo Technologies Inc. | System and method of implementing an object storage device on a computer main memory system |
EP3180690A4 (en) * | 2014-10-03 | 2018-10-03 | Agency for Science, Technology and Research | Distributed active hybrid storage system |
CN107977396B (zh) | 2014-11-12 | 2021-07-20 | 华为技术有限公司 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
CN106293490A (zh) * | 2015-05-12 | 2017-01-04 | 中兴通讯股份有限公司 | 数据存储、读取的方法、装置及系统 |
US10067969B2 (en) * | 2015-05-29 | 2018-09-04 | Nuodb, Inc. | Table partitioning within distributed database systems |
EP3916536A1 (en) * | 2015-12-28 | 2021-12-01 | Huawei Technologies Co., Ltd. | Data processing method and nvme storage device |
CN107832455B (zh) * | 2017-11-24 | 2021-09-17 | 郑州云海信息技术有限公司 | 一种存储对象的数据获取方法、系统、设备及存储介质 |
CN107911461B (zh) * | 2017-11-24 | 2021-05-07 | 网宿科技股份有限公司 | 云存储系统中的对象处理方法、存储服务器及云存储系统 |
US10796356B2 (en) * | 2018-01-30 | 2020-10-06 | Walmart Apollo, Llc | Transformation and aggregation engine |
US20190392047A1 (en) * | 2018-06-25 | 2019-12-26 | Amazon Technologies, Inc. | Multi-table partitions in a key-value database |
-
2018
- 2018-08-02 CN CN201810872630.6A patent/CN108920725B/zh active Active
- 2018-08-22 EP EP18899023.8A patent/EP3633519A4/en not_active Withdrawn
- 2018-08-22 US US16/463,114 patent/US11269843B2/en active Active
- 2018-08-22 WO PCT/CN2018/101748 patent/WO2020024341A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2020024341A1 (zh) | 2020-02-06 |
US11269843B2 (en) | 2022-03-08 |
EP3633519A4 (en) | 2020-07-29 |
CN108920725A (zh) | 2018-11-30 |
US20210109913A1 (en) | 2021-04-15 |
EP3633519A1 (en) | 2020-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108920725B (zh) | 一种对象存储的方法及对象存储网关 | |
CN109614226B (zh) | 一种基于Kubernetes的有状态应用存储管理方法 | |
CN114116613B (zh) | 基于分布式文件系统的元数据查询方法、设备和存储介质 | |
CN101730099B (zh) | 基于权限控制的终端管理方法及装置 | |
EP3495981A1 (en) | Directory deletion method and device, and storage server | |
CN106681891A (zh) | 一种Java应用系统中调整日志级别的方法及装置 | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
CN105847447A (zh) | 消息推送方法和装置 | |
CN105677789A (zh) | 一种分布式文件系统的目录容量管理方法及系统 | |
CN116821437B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111654532A (zh) | 一种配置文件集中管理系统、方法及装置 | |
CN110716924B (zh) | 删除过期数据的方法和装置 | |
CN106021566A (zh) | 一种提高单台数据库并发处理能力的方法、装置及系统 | |
CN108304144B (zh) | 数据写入、读取方法与系统、数据读写系统 | |
CN112000971B (zh) | 一种文件权限记录方法、系统及相关装置 | |
CN112783835A (zh) | 索引管理方法、装置及电子设备 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
JP2016018227A (ja) | 作業ログ編集方法、情報処理装置、およびプログラム | |
CN109947739B (zh) | 数据源管理方法及装置 | |
CN114861003A (zh) | 一种指定目录下的对象列举方法、装置及其介质 | |
US8656410B1 (en) | Conversion of lightweight object to a heavyweight object | |
CN111143302B (zh) | 一种追踪Office文档内容变更的方法及装置 | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 | |
CN114706526A (zh) | 云原生存储数据卷的自动扩容方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210802 Address after: 518000 b1-1302, building B, Kexing Science Park, No. 15, Keyuan Road, Science Park community, Yuehai street, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen aijieyun Technology Co.,Ltd. Address before: 5 / F, building a, Guangqi Cultural Plaza, 2899 Xietu Road, Xuhui District, Shanghai, 200030 Patentee before: WANGSU SCIENCE & TECHNOLOGY Co.,Ltd. |