WO2020024341A1 - 一种对象存储的方法及对象存储网关 - Google Patents

一种对象存储的方法及对象存储网关 Download PDF

Info

Publication number
WO2020024341A1
WO2020024341A1 PCT/CN2018/101748 CN2018101748W WO2020024341A1 WO 2020024341 A1 WO2020024341 A1 WO 2020024341A1 CN 2018101748 W CN2018101748 W CN 2018101748W WO 2020024341 A1 WO2020024341 A1 WO 2020024341A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
target object
key
database
operation instruction
Prior art date
Application number
PCT/CN2018/101748
Other languages
English (en)
French (fr)
Inventor
徐文松
黄侨星
Original Assignee
网宿科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 网宿科技股份有限公司 filed Critical 网宿科技股份有限公司
Priority to US16/463,114 priority Critical patent/US11269843B2/en
Priority to EP18899023.8A priority patent/EP3633519A4/en
Publication of WO2020024341A1 publication Critical patent/WO2020024341A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Definitions

  • a data synchronization unit configured to read an object stored in the object mapping manner from the object storage device, perform serialization processing on the read object, and write the serialized data into the key The value is stored in the database.
  • the operation instruction carries an identifier used to characterize the selected storage method; accordingly, the storage area index unit is in a case where the identifier characterizes the storage method of the currently selected key-value storage database.
  • the storage area index unit is in a case where the identifier characterizes the storage method of the currently selected key-value storage database.

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. 一种对象存储的方法,其特征在于,所述方法应用于对象存储网关中,所述方法包括:
    接收用户客户端发来的指向目标对象的操作指令;
    响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于键值存储数据库中,并且所述存储区域与所述键值存储数据库中的数据表相关联,所述数据表中记录有所述存储区域中对象的存储信息;
    按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在所述对象存储网关启动时,所述对象存储网关读取当前的配置信息,并识别所述配置信息中用于表征存储方式的配置项;
    相应地,在所述配置项表征当前使用键值存储数据库的存储方式的情况下,响应于所述操作指令,确定所述目标对象对应的存储区域。
  3. 根据权利要求1所述的方法,其特征在于,所述对象存储网关中存在至少两条线程与所述键值存储数据库建立连接,其中,所述至少两条线程用于并发地对所述键值存储数据库中的对象分别执行对应的操作指令。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    若所述目标对象的存储信息在所述数据表中出现异常,对所述目标对象的存储信息进行修复;其中,在修复所述目标对象的存储信息时,所述数据表中的其它存储信息处于可访问的状态。
  5. 根据权利要求1所述的方法,其特征在于,所述操作指令中包括所述目标对象的数据量;相应地,在所述操作指令表征的数据量大于或者等于指定数据量阈值时,响应于所述操作指令,确定所述目标对象对应的存储区域。
  6. 根据权利要求1所述的方法,其特征在于,所述操作指令中携带用于表征选定存储方式的标识;
    相应地,在所述标识表征当前选定键值存储数据库的存储方式的情况下,响应于所述操作指令,确定所述目标对象对应的存储区域。
  7. 根据权利要求1所述的方法,其特征在于,所述对象存储网关中还包括与所述键值存储数据库相匹配的驱动接口;相应地,所述方法还包括:
    在所述对象存储网关启动后,若所述对象存储网关当前使用键值存储数据库的存储方式,初始化与所述键值存储数据库相匹配的所述驱动接口。
  8. 一种对象存储网关,其特征在于,所述对象存储网关与键值存储数据库建立连接,所述对象存储网关包括:
    指令接收单元,用于接收用户客户端发来的指向目标对象的操作指令;
    存储区域索引单元,用于响应于所述操作指令,确定所述目标对象对应的存储区域;其中,所述存储区域位于所述键值存储数据库中,并且所述存储区域与所述键值存储数据库中的数据表相关联,所述数据表中记录有所述存储区域中对象的存储信息;
    指令执行单元,用于按照所述操作指令,在所述键值存储数据库的所述存储区域中对所述目标对象进行处理,并根据所述目标对象的处理结果,对所述数据表中所述目标对象的存储信息进行修改。
  9. 根据权利要求8所述的对象存储网关,其特征在于,所述对象存储网关中还包括:
    配置信息读取单元,用于在所述对象存储网关启动时,读取当前的配置信息,并识别所述配置信息中用于表征存储方式的配置项;
    相应地,在所述配置项表征当前使用键值存储数据库的存储方式的情况下,所述存储区域索引单元响应于所述操作指令,确定所述目标对象对应的存储区域。
  10. 根据权利要求8所述的对象存储网关,其特征在于,所述对象存储网关中存在至少两条线程与所述键值存储数据库建立连接,其中,所述至少两条线程用于并发地对所述键值存储数据库中的对象分别执行对应的操作指令。
  11. 根据权利要求8所述的对象存储网关,其特征在于,所述对象存储网关还包括:
    存储信息修复单元,用于若所述目标对象的存储信息在所述数据表中出现异常,对所述目标对象的存储信息进行修复;其中,在修复所述目标对象的存储信息时,所述数据表中的其它存储信息处于可访问的状态。
  12. 根据权利要求8所述的对象存储网关,其特征在于,所述对象存储网关中还包括与所述键值存储数据库相匹配的驱动接口;相应地,所述对象存储网关中还包括:
    驱动初始化单元,用于在所述对象存储网关启动后,若所述对象存储网关当前使用键值存储数据库的存储方式,初始化与所述键值存储数据库相匹配的所述驱动接口。
  13. 根据权利要求8所述的对象存储网关,其特征在于,所述操作指令中包括所述目标对象的数据量;相应地,所述存储区域索引单元在所述操作指令表征的数据量大于或者等于指定数据量阈值时,响应于所述操作指令,确定所述目标对象对应的存储区域。
  14. 根据权利要求8所述的对象存储网关,其特征在于,所述操作指令中携带用于表征选定的存储方式的标识;相应地,所述存储区域索引单元在所述标识表征当前选定键值存储数据库的存储方式的情况下,响应于所述操作指令,确定所述目标对象对应的存储区域。
PCT/CN2018/101748 2018-08-02 2018-08-22 一种对象存储的方法及对象存储网关 WO2020024341A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/463,114 US11269843B2 (en) 2018-08-02 2018-08-22 Object storage method and object storage gateway
EP18899023.8A EP3633519A4 (en) 2018-08-02 2018-08-22 PROCESS FOR STORING OBJECTS AND OBJECT STORAGE GATEWAY

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810872630.6A CN108920725B (zh) 2018-08-02 2018-08-02 一种对象存储的方法及对象存储网关
CN201810872630.6 2018-08-02

Publications (1)

Publication Number Publication Date
WO2020024341A1 true WO2020024341A1 (zh) 2020-02-06

Family

ID=64394437

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/101748 WO2020024341A1 (zh) 2018-08-02 2018-08-22 一种对象存储的方法及对象存储网关

Country Status (4)

Country Link
US (1) US11269843B2 (zh)
EP (1) EP3633519A4 (zh)
CN (1) CN108920725B (zh)
WO (1) WO2020024341A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765443A (zh) * 2020-12-31 2021-05-07 广州技象科技有限公司 基于历史操作数据的物联网数据查询方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753141A (zh) * 2019-03-26 2020-10-09 华为技术有限公司 一种数据管理方法及相关设备
CN112002422A (zh) * 2020-08-13 2020-11-27 广州市妇女儿童医疗中心(广州市妇幼保健院、广州市儿童医院、广州市妇婴医院、广州市妇幼保健计划生育服务中心) 医疗信息处理系统、装置、计算机设备和存储介质
CN113467721A (zh) * 2021-07-22 2021-10-01 杭州海康威视数字技术股份有限公司 一种数据删除系统、方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336811A (zh) * 2013-06-26 2013-10-02 华为技术有限公司 处理存储系统的方法和装置
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
CN106649708A (zh) * 2013-08-29 2017-05-10 华为技术有限公司 存储数据的方法和装置
CN107832455A (zh) * 2017-11-24 2018-03-23 郑州云海信息技术有限公司 一种存储对象的数据获取方法、系统、设备及存储介质
CN107977396A (zh) * 2014-11-12 2018-05-01 华为技术有限公司 一种KeyValue数据库的数据表的更新方法与表数据更新装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
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
CN103530111A (zh) * 2013-08-20 2014-01-22 山东中创软件工程股份有限公司 一种流程定义的获取方法及装置
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
SG11201701440SA (en) * 2014-10-03 2017-04-27 Agency Science Tech & Res Distributed active hybrid storage system
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
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336811A (zh) * 2013-06-26 2013-10-02 华为技术有限公司 处理存储系统的方法和装置
CN106649708A (zh) * 2013-08-29 2017-05-10 华为技术有限公司 存储数据的方法和装置
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
CN107977396A (zh) * 2014-11-12 2018-05-01 华为技术有限公司 一种KeyValue数据库的数据表的更新方法与表数据更新装置
CN107832455A (zh) * 2017-11-24 2018-03-23 郑州云海信息技术有限公司 一种存储对象的数据获取方法、系统、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3633519A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765443A (zh) * 2020-12-31 2021-05-07 广州技象科技有限公司 基于历史操作数据的物联网数据查询方法及装置
CN112765443B (zh) * 2020-12-31 2023-10-24 广州技象科技有限公司 基于历史操作数据的物联网数据查询方法及装置

Also Published As

Publication number Publication date
CN108920725B (zh) 2020-08-04
EP3633519A1 (en) 2020-04-08
CN108920725A (zh) 2018-11-30
US20210109913A1 (en) 2021-04-15
EP3633519A4 (en) 2020-07-29
US11269843B2 (en) 2022-03-08

Similar Documents

Publication Publication Date Title
WO2020024341A1 (zh) 一种对象存储的方法及对象存储网关
WO2020134115A1 (zh) 一种数据存储方法、装置、设备及存储介质
US8335890B1 (en) Associating an identifier with a content unit
US20190205220A1 (en) System and method for live migration of a virtual machine
EP1825376B1 (en) Content addressed storage device configured to maintain content address mapping
US20160212206A1 (en) Deterministic database system and data transferring method thereof
CN106302595B (zh) 一种对服务器进行健康检查的方法及设备
WO2016066108A1 (zh) 路由访问方法、路由访问系统及用户终端
WO2018233630A1 (zh) 故障发现
RU2013126471A (ru) Обеспечение прозрачной отработки отказа в файловой системе
TWI746511B (zh) 資料表連接方法及裝置
WO2019128984A1 (zh) 容器的安全策略的处理方法和相关装置
CN110502581A (zh) 分布式数据库系统监测方法及装置
WO2019237587A1 (zh) 脚本的执行方法、服务器管理系统及存储介质
US20200045085A1 (en) Authentication method for anonymous account and server
JP2015032142A (ja) 計算機システム、デバイスドライバインストール方法
CN114443166B (zh) 一种共享文件处理方法、装置及介质
WO2019178839A1 (zh) 为分布式应用创建一致性快照的方法、装置和分布式系统
CN106469281B (zh) 一种云中数据文件的管理方法、云管理点和系统
WO2021036909A1 (zh) 写入图片的方法和装置
WO2021229640A1 (ja) 制御装置、制御方法、および制御プログラム
US8656410B1 (en) Conversion of lightweight object to a heavyweight object
CN112988874A (zh) 一种数据处理方法、系统、计算设备及可读存储介质
US20190223004A1 (en) Implementation method, apparatus and system for remote access
CN115129779A (zh) 数据库的同步方法、装置及可读介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018899023

Country of ref document: EP

Effective date: 20190716

NENP Non-entry into the national phase

Ref country code: DE