CN110825838A - 一种对象存储聚合系统及其聚合方法 - Google Patents
一种对象存储聚合系统及其聚合方法 Download PDFInfo
- Publication number
- CN110825838A CN110825838A CN201911063485.8A CN201911063485A CN110825838A CN 110825838 A CN110825838 A CN 110825838A CN 201911063485 A CN201911063485 A CN 201911063485A CN 110825838 A CN110825838 A CN 110825838A
- Authority
- CN
- China
- Prior art keywords
- bucket
- mode
- storage
- object storage
- public cloud
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000002776 aggregation Effects 0.000 title claims abstract description 15
- 238000004220 aggregation Methods 0.000 title claims abstract description 15
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种对象存储聚合系统及其聚合方法。本发明系统的对象存储网关拦截对象访问请求,并根据路由规则表将对象的访问转发至本地对象存储或重定向至公有云对象存储,其他与对象存储服务相关的请求直接转发给对象存储管理模块;对象存储管理模块负责统一管理公有云对象存储、本地对象存储,并维护路由规则表。本发明解决了私有云和公有云对象存储的聚合问题;可以用于对象存储管理。
Description
技术领域
本发明涉及对象存储技术领域,特别涉及一种对象存储聚合系统及其聚合方法。
背景技术
对象存储是一种存储非结构化数据的存储服务,通常用于存储图片、音频、视频、文档等资料。在公有云里,提供对象存储服务的有阿里云OSS、腾讯云COS、华为云OBS等;而在私有云,企业通常采用分布式存储技术Ceph、共享存储技术NFS等方式提供对象存储。
很多传统企业会在本地IDC里部署多个服务器,建设并对外提供对象存储服务;终端用户则通过外网访问企业对象存储服务里的图片、音频、视频、文档等资料。随着企业的业务量增大或新系统上线,本地IDC的对象存储逐渐不够用,而扩建IDC成本高;因此很多企业都会转而考虑公有云提供的对象存储服务。然而上云并不可能一蹴而就,企业原有的IDC也不可能就此废弃;如何兼容企业原有的对象存储和公有云的对象存储,现有技术并没有很好的解决方案。
发明内容
本发明解决的技术问题在于提供一种对象存储聚合系统及其聚合方法;解决企业原有的对象存储和公有云的对象存储的聚合问题。
本发明解决上述技术问题的技术方案是:
所述的系统包括对象存储网关、对象存储管理模块、公有云对象存储和本地对象存储;
所述的对象存储网关拦截对象访问请求,并根据路由规则表将对象的访问转发至本地对象存储或重定向至公有云对象存储,其他的与对象存储服务相关的请求直接转发给对象存储管理模块;
所述对象存储管理模块负责统一管理公有云对象存储、本地对象存储,并维护路由规则表;
所述公有云对象存储为公有云提供商的对象存储服务,本地对象存储为自建的对象存储服务。
所述的方法包括以下步骤:
S1、创建Bucket时,设置Bucket的存储模式为本地模式、公有云模式或混合模式;
S2、上传对象时,若Bucket为混合模式,则设置对象的存储模式为本地模式或公有云模式,否则对象的存储模式设置为Bucket的存储模式;
S3、访问对象时,检索路由规则表,根据路由规则转化请求,将请求转发至本地对象存储或重定向至公有云对象存储;
S4、若路由规则表中不存在对应规则,则查找到Object及Bucket属性,更新路由规则表。
Bucket的存储模式中,
本地模式表示Bucket存在于本地对象存储,Bucket里的所有对象保存在本地对象存储;
公有云模式表示Bucket存在于公有云对象存储,Bucket里的所有对象保存在公有云对象存储;
混合模式,表示所述Bucket同时存在于本地对象存储及公有云对象存储,Bucket里的对象保存在本地对象存储或公有云对象存储之一。
对象存储模式中的本地模式表示所述对象保存在本地对象存储,公有云模式表示所述对象保存在公有云对象存储。
所述的路由规则表包含:
1)、Bucket规则子表,一个key-value格式的规则表,key为Bucket名称,value记录了Bucket名称、存储模式、目标对象存储信息;
2)、对象规则子表,一个key-value格式的规则表,key为Bucket名称与对象名称的字符串组合,value记录了Object的存储模式、目标对象存储信息;
3)、请求转化规则,记录了公有云对象存储及本地对象存储的请求转化规则。
所述的步骤S1中,
在创建Bucket前,先判断Bucket名称的唯一性,若Bucket名称已经在本地对象存储中存在,或已经在公有云对象存储中存在,则抛出异常;
在创建Bucket成功后,判断Bucket的存储模式,若为本地模式,则在本地对象存储中创建同名Bucket;若为公有云模式,则在公有云对象存储中创建同名Bucket;若为混合模式,则同时在本地对象存储和公有云对象存储中创建同名Bucket;并且,根据Bucket信息更新路由规则表中的Bucket规则子表。
所述的步骤S2中设置对象的存储模式后,判断对象的存储模式,若为本地模式,则将对象上传至本地对象存储中;若为公有云模式,则将对象上传至公有云对象存储中;若对象所属Bucket的存储模式为混合模式,则根据所述对象信息,更新路由规则表中的对象规则子表。
所述的步骤S3中,
检索路由规则表的具体步骤是:
1)根据Bucket名称,检索路由规则表中的Bucket规则子表;
2)若Bucket存储模式为混合模式,则检索对象规则子表;
3)若Bucket规则子表中不存在所述Bucket,或Bucket的存储模式为混合模式、且对象规则子表中不存在所述对象;则对象存储网关将请求转发至对象存储管理模块;
根据路由规则转化请求的具体步骤如下:
1)若Bucket存储模式或对象存储模式为本地模式,则将请求的地址和端口更改为本地对象存储的地址和端口,并根据本地对象存储的对象访问接口格式化请求;
2)若Bucket存储模式或对象存储模式为公有云模式,则将请求的地址和端口更改为公有云对象存储的地址和端口,将请求中的Bucket名称更改为Bucket id,并根据具体公有云的转化规则格式化请求。
所述的步骤S4中的更新路由规则表具体步骤如下:
1)若路由规则表中,Bucket规则子表不存在对应的Bucket规则,则根据Bucket相关信息,创建一个Bucket规则,并将Bucket规则追加到Bucket规则子表中;
2)若Bucket存储模式为混合模式,且对象规则子表中不存在对应的对象规则;则根据对象相关信息,创建一个对象规则,并将对象规则追加到对象规则子表中。
本发明的方法对于终端用户来说无感知;无论是访问本地IDC的对象存储,还是访问公有云的对象存储,对象存储的访问接口都是统一的,且无须改变。本发明能够让企业同时管理本地及公有云对象存储,不用改造本地对象存储及相关接口,同时对外提供统一的访问接口,实现本地及公有云对象存储的访问聚合。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明方法的流程图;
图2是本发明方法创建Bucket的流程图;
图3是本发明方法访问对象的流程图;
图4是本发明方法系统结构图。
具体实施方式
见图4所示,本发明的对象存储聚合系统包括对象存储网关、对象存储管理模块、公有云对象存储和本地对象存储。对象存储网关仅拦截对象访问请求,并根据路由规则表将对象的访问转发至本地对象存储或重定向至公有云对象存储,其他的与对象存储服务相关的请求均直接转发给对象存储管理模块。对象存储管理模块负责统一管理公有云对象存储及本地对象存储、维护路由规则表。公有云对象存储为公有云提供商的对象存储服务。本地对象存储为自建的对象存储服务。
见图1-3所示,本发明的对象存储聚合方法,包括以下步骤:
S1:创建Bucket时,设置Bucket的存储模式为本地模式、公有云模式或混合模式;
S2:上传对象时,若Bucket为混合模式,则设置对象的存储模式为本地模式或公有云模式,否则对象的存储模式设置为Bucket的存储模式;
S3:访问对象时,检索路由规则表,根据路由规则转化请求,将请求转发至本地对象存储或重定向至公有云对象存储;
S4:若路由规则表中不存在对应规则,则查找到Object及Bucket属性,更新路由规则表。
本发明中,
Bucket存储模式的:
本地模式,表示Bucket存在于本地对象存储,Bucket里的所有对象保存在本地对象存储。
公有云模式,表示Bucket存在于公有云对象存储,所述Bucket里的所有对象保存在公有云对象存储;
混合模式,表示所述Bucket同时存在于本地对象存储及公有云对象存储,所述Bucket里的对象保存在本地对象存储或公有云对象存储之一。
对象存储模式的:
本地模式,表示所述对象保存在本地对象存储;
公有云模式,表示所述对象保存在公有云对象存储。
路由规则表包含:
1)Bucket规则子表,一个key-value格式的规则表,key为Bucket名称,value记录了Bucket名称、存储模式、目标对象存储等信息;
2)对象规则子表,一个key-value格式的规则表,key为Bucket名称与对象名称的字符串组合,value记录了Object的存储模式、目标对象存储等信息;
3)请求转化规则,记录了公有云对象存储及本地对象存储的请求转化规则。
前述的步骤S1中,在创建Bucket前,首先判断Bucket名称的唯一性,若Bucket名称已经在本地对象存储中存在,或已经在公有云对象存储中存在,则抛出异常。在创建Bucket成功后,进行以下动作:
1)判断Bucket的存储模式,若为本地模式,则在本地对象存储中创建同名Bucket;若为公有云模式,则在公有云对象存储中创建同名Bucket;若为混合模式,则同时在本地对象存储和公有云对象存储中创建同名Bucket;
2)根据Bucket信息,更新路由规则表中的Bucket规则子表。
步骤S2中设置对象的存储模式后,判断对象的存储模式,若为本地模式,则将对象上传至本地对象存储中;若为公有云模式,则将对象上传至公有云对象存储中。若对象所属Bucket的存储模式为混合模式,则根据所述对象信息,更新路由规则表中的对象规则子表。
步骤S3中,访问对象的请求的参数包含了Bucket名称和Object名称。该步骤中,检索路由规则表的具体步骤如下:
1)根据Bucket名称,检索路由规则表中的Bucket规则子表;
2)若Bucket存储模式为混合模式,则检索对象规则子表;
3)根据路由规则表的检索结果,若Bucket规则子表中不存在所述Bucket,或Bucket的存储模式为混合模式、且对象规则子表中不存在所述对象;则对象存储网关将请求转发至对象存储管理模块。
根据路由规则转化请求的具体步骤如下:
1)若Bucket存储模式或对象存储模式为本地模式,则将请求的地址和端口更改为本地对象存储的地址和端口,并根据本地对象存储的对象访问接口格式化请求;
2)若Bucket存储模式或对象存储模式为公有云模式,则将请求的地址和端口更改为公有云对象存储的地址和端口,将请求中的Bucket名称更改为Bucket id,并根据具体公有云的转化规则格式化请求。各主流公有云的转化如下:
1)对于阿里云OSS,格式化的规则为:Bucket.OSS地址/Object;
2)对于腾讯云COS,格式化的规则为:Bucket-APPID.COS地址/Object;
3)对于华为云OBS,格式化的规则为:Bucket.OBS地址/Object。
步骤S4中的更新路由规则表具体步骤如下:
1)若路由规则表中,Bucket规则子表不存在对应的Bucket规则,则根据Bucket相关信息,创建一个Bucket规则,并将Bucket规则追加到Bucket规则子表中;
2)若Bucket存储模式为混合模式,且对象规则子表中不存在对应的对象规则;则根据对象相关信息,创建一个对象规则,并将对象规则追加到对象规则子表中。
在本发明中,对于混合模式的Bucket,对象可在本地对象存储和公有云对象存储之间进行迁移。若对象进行迁移,则对象的存储模式会从公有云模式转变为本地模式,或从本地模式转变为公有云模式。在对象迁移完成后,更新路由规则表中的对象规则子表,将对象的规则进行更新。
Claims (8)
1.一种对象存储聚合系统,其特征在于:所述的系统包括对象存储网关、对象存储管理模块、公有云对象存储和本地对象存储;
所述的对象存储网关拦截对象访问请求,并根据路由规则表将对象的访问转发至本地对象存储或重定向至公有云对象存储,其他与对象存储服务相关的请求直接转发给对象存储管理模块;
所述对象存储管理模块负责统一管理公有云对象存储、本地对象存储,并维护路由规则表;
所述公有云对象存储为公有云提供商的对象存储服务,本地对象存储为自建的对象存储服务。
2.一种对象存储聚合方法,其特征在于:所述的方法包括以下步骤:
S1、创建Bucket时,设置Bucket的存储模式为本地模式、公有云模式或混合模式;
S2、上传对象时,若Bucket为混合模式,则设置对象的存储模式为本地模式或公有云模式,否则对象的存储模式设置为Bucket的存储模式;
S3、访问对象时,检索路由规则表,根据路由规则转化请求,将请求转发至本地对象存储或重定向至公有云对象存储;
S4、若路由规则表中不存在对应规则,则查找到Object及Bucket属性,更新路由规则表。
3.根据权利要求2所述的方法,其特征在于:Bucket的存储模式中,
本地模式表示Bucket存在于本地对象存储,Bucket里的所有对象保存在本地对象存储;
公有云模式表示Bucket存在于公有云对象存储,Bucket里的所有对象保存在公有云对象存储;
混合模式,表示所述Bucket同时存在于本地对象存储及公有云对象存储,Bucket里的对象保存在本地对象存储或公有云对象存储之一。
对象存储模式中的本地模式表示所述对象保存在本地对象存储,公有云模式表示所述对象保存在公有云对象存储。
4.根据权利要求2所述的方法,其特征在于:所述的路由规则表包含:
1)、Bucket规则子表,一个key-value格式的规则表,key为Bucket名称,value记录了Bucket名称、存储模式、目标对象存储信息;
2)、对象规则子表,一个key-value格式的规则表,key为Bucket名称与对象名称的字符串组合,value记录了Object的存储模式、目标对象存储信息;
3)、请求转化规则,记录了公有云对象存储及本地对象存储的请求转化规则。
5.根据权利要求2所述的方法,其特征在于:所述的步骤S1中,
在创建Bucket前,先判断Bucket名称的唯一性,若Bucket名称已经在本地对象存储中存在,或已经在公有云对象存储中存在,则抛出异常;
在创建Bucket成功后,判断Bucket的存储模式,若为本地模式,则在本地对象存储中创建同名Bucket;若为公有云模式,则在公有云对象存储中创建同名Bucket;若为混合模式,则同时在本地对象存储和公有云对象存储中创建同名Bucket;并且,根据Bucket信息更新路由规则表中的Bucket规则子表。
6.根据权利要求2所述的方法,其特征在于:所述的步骤S2中设置对象的存储模式后,判断对象的存储模式,若为本地模式,则将对象上传至本地对象存储中;若为公有云模式,则将对象上传至公有云对象存储中;若对象所属Bucket的存储模式为混合模式,则根据所述对象信息,更新路由规则表中的对象规则子表。
7.根据权利要求2所述的方法,其特征在于:所述的步骤S3中,
检索路由规则表的具体步骤是:
1)根据Bucket名称,检索路由规则表中的Bucket规则子表;
2)若Bucket存储模式为混合模式,则检索对象规则子表;
3)若Bucket规则子表中不存在所述Bucket,或Bucket的存储模式为混合模式、且对象规则子表中不存在所述对象;则对象存储网关将请求转发至对象存储管理模块;
根据路由规则转化请求的具体步骤如下:
1)若Bucket存储模式或对象存储模式为本地模式,则将请求的地址和端口更改为本地对象存储的地址和端口,并根据本地对象存储的对象访问接口格式化请求;
2)若Bucket存储模式或对象存储模式为公有云模式,则将请求的地址和端口更改为公有云对象存储的地址和端口,将请求中的Bucket名称更改为Bucket id,并根据具体公有云的转化规则格式化请求。
8.根据权利要求2所述的方法,其特征在于:所述的步骤S4中的更新路由规则表具体步骤如下:
1)若路由规则表中,Bucket规则子表不存在对应的Bucket规则,则根据Bucket相关信息,创建一个Bucket规则,并将Bucket规则追加到Bucket规则子表中;
2)若Bucket存储模式为混合模式,且对象规则子表中不存在对应的对象规则;则根据对象相关信息,创建一个对象规则,并将对象规则追加到对象规则子表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911063485.8A CN110825838A (zh) | 2019-11-01 | 2019-11-01 | 一种对象存储聚合系统及其聚合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911063485.8A CN110825838A (zh) | 2019-11-01 | 2019-11-01 | 一种对象存储聚合系统及其聚合方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110825838A true CN110825838A (zh) | 2020-02-21 |
Family
ID=69552376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911063485.8A Withdrawn CN110825838A (zh) | 2019-11-01 | 2019-11-01 | 一种对象存储聚合系统及其聚合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825838A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885098A (zh) * | 2020-06-03 | 2020-11-03 | 中邮消费金融有限公司 | 对象存储集群的代理访问方法、系统及计算机设备 |
CN113821162A (zh) * | 2021-02-24 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 存储对象操作方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038563A (en) * | 1997-10-31 | 2000-03-14 | Sun Microsystems, Inc. | System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects |
CN106815324A (zh) * | 2016-12-27 | 2017-06-09 | 甘肃万维信息技术有限责任公司 | 一种基于云计算对象存储快速检索系统 |
CN109714193A (zh) * | 2018-12-05 | 2019-05-03 | 国云科技股份有限公司 | 一种基于zuul路由转发方式接管对象存储服务的方法 |
-
2019
- 2019-11-01 CN CN201911063485.8A patent/CN110825838A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038563A (en) * | 1997-10-31 | 2000-03-14 | Sun Microsystems, Inc. | System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects |
CN106815324A (zh) * | 2016-12-27 | 2017-06-09 | 甘肃万维信息技术有限责任公司 | 一种基于云计算对象存储快速检索系统 |
CN109714193A (zh) * | 2018-12-05 | 2019-05-03 | 国云科技股份有限公司 | 一种基于zuul路由转发方式接管对象存储服务的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885098A (zh) * | 2020-06-03 | 2020-11-03 | 中邮消费金融有限公司 | 对象存储集群的代理访问方法、系统及计算机设备 |
CN111885098B (zh) * | 2020-06-03 | 2021-06-29 | 中邮消费金融有限公司 | 对象存储集群的代理访问方法、系统及计算机设备 |
CN113821162A (zh) * | 2021-02-24 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 存储对象操作方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7849069B2 (en) | Method and system for federated resource discovery service in distributed systems | |
US9311326B2 (en) | Virtual file system for automated data replication and review | |
CN107566463B (zh) | 一种提高存储可用性的多云存储管理系统 | |
US20220284046A1 (en) | Application Programming Interface-based Writing of Data to a Directory of a File Structure Layer of a Data Storage System | |
EP1845688B1 (en) | Method, system, client terminal and server for realizing data synchronization | |
US10210191B2 (en) | Accelerated access to objects in an object store implemented utilizing a file storage system | |
US8990227B2 (en) | Globally unique identification of directory server changelog records | |
JP5638608B2 (ja) | メタデータに従ってファイルシステムのファイルにアクセスする方法、およびその方法を実装する装置 | |
CN104601724A (zh) | 上传和下载文件的方法及系统 | |
WO2022127762A1 (zh) | 云平台及其提供的对象存储服务的桶管理方法 | |
CN110825838A (zh) | 一种对象存储聚合系统及其聚合方法 | |
US20230127388A1 (en) | Method and system for using external content type object types | |
WO2023040504A1 (zh) | 数据处理系统、数据处理方法及相关装置 | |
CN109033250B (zh) | 一种支持大数据文件访问服务的高可用性对象存储方法 | |
CN111737201A (zh) | 一种已打开文件的关闭方法、计算机设备和存储介质 | |
CN102143126B (zh) | Cpm会谈历史记录的访问方法及消息存储服务器 | |
US10044602B2 (en) | Network failover and loop detection in hierarchical networks | |
CN103902577B (zh) | 一种资源查找定位的方法和系统 | |
WO2008027035A1 (en) | Method and apparatus for multi-format data exchange | |
US20050234961A1 (en) | Systems and Methods for providing a proxy for a shared file system | |
CN108566421A (zh) | 一种基于网络附属存储器的网络式分布方法及系统 | |
CN102143090B (zh) | Cpm会谈历史记录的访问方法及消息存储服务器 | |
US8745072B2 (en) | Virtual directory server changelog | |
CN109947739A (zh) | 数据源管理方法及装置 | |
KR20070038665A (ko) | 분산 파일 시스템 및 그 운용 방법 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200221 |