CN114706919A - 一种布式存储数据存储兼容方法及系统 - Google Patents

一种布式存储数据存储兼容方法及系统 Download PDF

Info

Publication number
CN114706919A
CN114706919A CN202210628408.8A CN202210628408A CN114706919A CN 114706919 A CN114706919 A CN 114706919A CN 202210628408 A CN202210628408 A CN 202210628408A CN 114706919 A CN114706919 A CN 114706919A
Authority
CN
China
Prior art keywords
file
interface
json
user
bucket
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.)
Granted
Application number
CN202210628408.8A
Other languages
English (en)
Other versions
CN114706919B (zh
Inventor
王三明
王聪明
王寅能
曲林
李超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anyuan Technology Co.,Ltd.
Qiye Cloud Big Data Nanjing Co ltd
Original Assignee
Qiye Cloud Big Data Nanjing Co ltd
Nanjing Anyuan Technology Co ltd
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 Qiye Cloud Big Data Nanjing Co ltd, Nanjing Anyuan Technology Co ltd filed Critical Qiye Cloud Big Data Nanjing Co ltd
Priority to CN202210628408.8A priority Critical patent/CN114706919B/zh
Publication of CN114706919A publication Critical patent/CN114706919A/zh
Application granted granted Critical
Publication of CN114706919B publication Critical patent/CN114706919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种布式存储数据存储兼容方法及系统,包括管理端容器、服务端容器、CEPH/MINIO对象存储,所述管理端容器与服务端容器通过s1协议交互;所述服务端容器与CEPH/MINIO对象存储通过s2协议交互。运行管理端容器和服务端容器;暴露系统接口,每个系统接口都会将传递的参数解析转化成json并序列化成结构体;数据序列化成结构体之后,通过数据库查询相关的信息是否合法;通过s3协议与ceph RESTFUL接口交互,完成指定的操作本发明可以同时兼容多种不同的对象存储产品,在发生后端引擎发生变更的同时而不需要同步变更开发的代码。

Description

一种布式存储数据存储兼容方法及系统
技术领域
本发明涉及一种分布式存储方法及系统,具体是一种分布式存储数据存储兼容方法及系统,属于数据储存领域。
背景技术
当网盘、跑游戏、做备份、存视频等云数智趋势下,对象存储过得风生水起,从BAT的公有云到企业私有云都有出镜。IDC中国SDS市场数据显示,2018年对象存储增长率超过150%,2019Q1对象存储在中国SDS市场占据19.6%的份额,实现了“very fast”的增长。
对象存储(Object Storage Service,OSS),也叫基于对象的存储,是一种解决和处理离散单元的方法,可提供基于分布式系统之上的对象形式的数据存储服务。对象存储和我们经常接触到的块和文件系统等存储形态不同,它提供RESTful API数据读写接口及丰富的SDK接口,并且常以网络服务的形式提供数据的访问。简单理解,对象存储类似酒店的代客泊车。顾客(前端应用)把车钥匙交给服务生,换来一张收据(对象的标识符)。顾客不用关心车(数据)具体停在哪个车位,这样省事儿、省时间。
早些年,传统数据中心主要是烟囱式架构,系统扩展性较差加上过去硬盘容量偏小、价格偏高,企业主要用存储保存关键数据,对象存储一直不温不火。在新数据时代,传统数据中心向云计算、大数据、人工智能转变,越来越多的应用和企业在使用新的存储形态,“对象存储”这个词变得炙手可热。
在云计算领域,公有云服务商都不约而同支持对象存储。百度云通过对象存储提供数据分发、备份、分析等服务并支持单文件最大5TB的文本、多媒体、二进制等任何类型的数据存储;阿里云使用对象存储的RESTful API接口,可以提供在互联网任何位置存储和访问数据;Amazon S3使用对象存储提供空间租赁服务等等。
行业企业也在推进对象存储解决方案,用它进行数据备份、分级存储和数据归档。浪潮存储给远程医疗、媒资图片抓取、电信云存储、高校网盘等行业新应用都提供了对象存储。比如,某视频公司采用对象存储构建视频云存储方案,在提供“6个9”的可靠性的同时,支撑前端以容器方式提供了丰富的微服务,实现分钟级集群组装与部署,秒级弹性反应。又如,河南省人力资源和社会保障厅采用S3协议的对象存储,承载全省电子档案,满足约80万终端的并发上传需求。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种布式存储数据存储兼容方法及系统,面对现今生产上常用的两种对象存储,提供了同时兼容两者接口,在企业切换后端存储引擎的时候不用修改代码。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种分布式存储数据存储兼容方法,包括以下步骤:
步骤1,运行管理端容器和服务端容器。
步骤2,暴露系统接口,所述系统接口包括用户接口、文件接口以及桶接口。每个系统接口都会将传递的参数解析转化成json并序列化成结构体。
步骤3,数据序列化成结构体之后,通过数据库查询相关的信息是否合法。
步骤4,通过s3协议与ceph RESTFUL接口交互,完成指定的操作。
优选的:所述文件接口包括文件的上传下载接口。
优选的:所述桶接口包括桶的创建、删除、更新接口。
优选的:所述用户接口包括用户的创建、删除、变更、查询接口。
优选的,文件上传的方法为:
步骤S101,将待上传文件传递参数解析转化成json并序列化成结构体(aclType,aclToken,bucketName,filePath,file),其中,aclType表示类别,aclToken表示用户在系统里唯一的权限证明,bucketName表示桶的名称,filePath表示所操作的文件在桶的路径,file表示存放的文件对象。
步骤S102,通过数据库对步骤S101得到的序列化成结构体(aclType,aclToken,bucketName,filePath,file)进行信息查询,判读解析出的参数token、bucketName、filePath是否为空,若为空,返回错误响应。若不为空,进行步骤S103。
步骤S103,判断所操作的文件在桶的路径filePath是否合法,若不合法,对filePath加上路径标识“/”。若合法,进行步骤S104。
步骤S104,上传文件,并解析返回上传结果。
步骤S105,判断上传结果是否有误,有误,返回错误响应。若正确,进行步骤S105。
步骤S106,赋值上传结果,同时封装成JSON对象。
一种分布式存储数据存存储兼容系统,包括管理端容器、服务端容器、CEPH/MINIO对象存储,所述管理端容器与服务端容器通过s1协议交互。所述服务端容器与CEPH/MINIO对象存储通过s2协议交互。
优选的:所述服务端容器与CEPH/MINIO对象存储中的ceph RESTFUL接口通过s3协议交互。
本发明相比现有技术,具有以下有益效果:
本发明可以同时兼容多种不同的对象存储产品,在生产环境中,发生后端引擎发生变更的同时而不需要同步变更开发的代码,仍然可以通过本发明的接口继续全部的功能。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种分布式存储数据存存储兼容系统,如图1所示,包括管理端容器、服务端容器、CEPH/MINIO对象存储,所述管理端容器与服务端容器通过s1协议交互。所述服务端容器与CEPH/MINIO对象存储通过s2协议交互。所述服务端容器与CEPH/MINIO对象存储中的cephRESTFUL接口通过s3协议交互。
一种分布式存储数据存储兼容方法,包括以下步骤:
步骤1,运行管理端容器和服务端容器。
运行管理端代码如下:
dockerrun -d --name qycloud_oss_manager -p 10023:10023 -v /root/qycloud_oss/qycloud_manager/:/logs/qycloud-oss-manager hub.qycloud.com.cn/dev/qycloud-oss-manager-prd:latest
运行服务端代码如下:
docker run -d --name qycloud_oss_service -p 10022:10022 -v /root/qycloud_oss/qycloud_service/:/logs/qycloud-oss-service/ hub.qycloud.com.cn/dev/qycloud-oss-service-prd:latest
步骤2,暴露系统接口,所述系统接口包括用户接口、文件接口以及桶接口。每个系统接口都会将传递的参数解析转化成json并序列化成结构体。所述文件接口包括文件的上传下载接口。所述桶接口包括桶的创建、删除、更新接口。所述用户接口包括用户的创建、删除、变更、查询接口。
步骤3,数据序列化成结构体之后,通过数据库查询相关的信息是否合法。
步骤4,通过s3协议与ceph RESTFUL接口交互,完成指定的操作。
文件上传的方法为:
步骤S101,将待上传文件传递参数解析转化成json并序列化成结构体(aclType,aclToken,bucketName,filePath,file),其中,aclType表示类别,aclToken表示用户在系统里唯一的权限证明,bucketName表示桶的名称,filePath表示所操作的文件在桶的路径,file表示存放的文件对象。
步骤S102,通过数据库对步骤S101得到的序列化成结构体(aclType,aclToken,bucketName,filePath,file)进行信息查询,判读解析出的参数token、bucketName、filePath是否为空,若为空,返回错误响应。若不为空,进行步骤S103。
步骤S103,判断所操作的文件在桶的路径filePath是否合法,若不合法,对filePath加上路径标识“/”。若合法,进行步骤S104。
步骤S104,上传文件,并解析返回上传结果。
步骤S105,判断上传结果是否有误,有误,返回错误响应。若正确,进行步骤S105。
步骤S106,赋值上传结果,同时封装成JSON对象。
文件上传的代码如下:
/* 上传文件 */
func UploadFile(c iris.Context) {
resp := vo.GetSuccessResult()// 初始化返回值对象
aclType := c.FormValue("aclType")// 解析请求参数aclType
aclToken := c.FormValue("aclToken") // 解析请求参数aclToken
bucketName := c.FormValue("bucketName") // 解析请求参数bucketName(桶,就是一个存储体的意思)
filePath := c.FormValue("filePath") // 解析请求参数filePath(存放的目标路径)
file, info, err := c.FormFile("file") //解析请求参数file(存放的文件对象)
if err != nil { //判断解析文件是否有错
c.JSON(vo.GetFailResult(fmt.Sprintf("upload file:%#v failed,info:%#v,err:%#v", file, info, err)))//有错就封装成错误响应对象
Return //返回
}
if len(aclToken) == 0 || len(bucketName) == 0 || len(filePath) ==0 { //判断token,bucketName,filePath是否为空
c.JSON(vo.GetFailResult("params 'aclToken' or 'bucketName' or'filePath' is null")) //为空就封装成错误响应对象
Return //返回
}
if !strings.HasSuffix(filePath, "/") { //判断存放路径是否以”/”结束
filePath = filePath + "/" //不是就加上”/”
}
// 上传文件
rst, err := s.UploadFile(file, info.Size, aclToken, bucketName,filePath+info.Filename, aclType) //调用上传文件的方法,并得到上传结果
if err != nil { //如果有错
log.Logger.Errorf("upload file err:%s, filename:%s", err,info.Filename) //打印日志
resp = vo.GetFailResult(fmt.Errorf("upload file err:%s,filename:%s", err, info.Filename).Error()) //封装错误响应对象
}
resp.Data = rst //赋值上传的结果
c.JSON(resp) //封装成JSON对象(json是一种网络传输对象)
}
其中,func表示语言关键字,表示声明一个方法,UploadFile()表示该方法的方法名,resp表示从vo包里引用了GetSuccessResult里的值交将该值赋值给了resp,aclType表示用户的桶的权限,aclToken表示用户在系统里唯一的权限证明,bucketName表示桶的名称,filePath表示所操作的文件在桶的路径,file\info表示文件表单时的文件对象,rst表示在存储后端的UploadFile方法后的文件对象,err表示在这个方法在执行过程中如果有报错,就把报错的对象赋给err,c.json表示在本方法执行完成后将结果以json的形式返回给调用端。
创建用户的方法为,包括以下步骤:
步骤S201,解析创建用户参数并返回初始化,获取创建用户参数。
步骤S202,将获取得到的创建用户参数解析转化成json并序列化成结构体。并判断得到的解析转化成json并序列化成结构体的创建用户参数是否为空,若为空,返回错误响应。若不为空,进行步骤S203。
步骤S203,添加用户信息,并拿到添加用户返回值,判断添加用户返回值是否有误,有误,返回错误响应。若正确,进行步骤S204。
步骤S204,将解析转化成json并序列化成结构体的创建用户参数数据封装为Map格式,再转换为JSON格式。
创建用户的代码如下:
func AddTenantInfo(c iris.Context) {resp := vo.GetSuccessResult() //初始化返回值对象param := params.TenantParam{} //拿到需要的参数if err :=c.ReadJSON(&param); err != nil { //将参数转换为JSON对象,并判断是否为空c.JSON(vo.GetFailResult("params parse error")) //为空就返回错误响应return}// 添加用户信息record, err := baseService.AddTenant(param) //调用Service添加数据,并拿到返回值if err != nil { // 如果有错误log.Logger.Errorf("add tenant err:%s,param:%s", err, vo.ToString(param))
//打印错误日志,并且生成错误响应resp = vo.GetFailResult(fmt.Errorf("add tenant err:%s, param:%s", err, vo.ToString(param)).Error())}resp.Data =map[string]interface{}{"dataList": record,} //数据封装为Map格式c.JSON(resp)//再转换为JSON格式 }
其中, func表示语言关键字,表示声明一个方法,AddTenantInfo () 表示为此方法的名称,本方法没有返回值,c表示接收程序的上下文,resp表示从调用了vo包里的GetSuccessResult()方法,并将返回值赋给resp,param表示调用了params包里的TenantParam的方法,并将反回值赋给param,record表示从baseService包里的AddTenant方法获取返值并将返回值赋给record,err表示使用了上下文中的ReadJSON解析param参数,并将返回的错误赋值给err,如果err不为空则进行if段里的程序操作,resp.Data表示从resp字典里拿到data为索引的值。c.json表示使用将结果以json的形式返回给调用端。
通过s3协议与ceph RESTFUL接口交互进行创建用户的方法为:
步骤S301,初始化文件对象,获取相关文件参数,并等待文件传输完毕。
步骤S302,根据获取的相关文件参数判断是否超过最大使用容量,如果超过最大使用容量,则返回错误响应。若没有超过,则进行步骤S303。
步骤S303,根据获取的相关文件参数判断权限情况,如果权限未知,通过步骤S304查询权限,如果权限已知,进行步骤S05。
步骤S304,查询用户的目标桶对象,判断目标桶对象是否有误,有误,则返回错误响应。若正确,则获取目标桶对象的权限类型。
步骤S305,通过token拿到对应的对话对象,如果有错,则返回错误对象,如果正确则进行步骤S06。
步骤S306,通过session拿到上传文件的对象,将(bucketName,Key,file,aclType),进行上传,bucketName表示桶名,Key表示关键词,file表示文件对象,aclType表示权限类型。
步骤S307,如果上传错误,则返回错误响应。若正确,则封装返回值并返回。
通过s3协议与ceph RESTFUL接口交互进行创建用户的代码如下:
func (s *CephOssService) UploadFile(file multipart.File, fileSizeint64, aclToken, bucketName, fileName, aclType string) (vo.FileRstVo, error){
fileRst := vo.FileRstVo{} //初始化文件对象
defer file.Close() //等待文件传输完毕
// 判断是否超过最大使用容量
if flag := s.checkOverMaxSize(aclToken, fileSize); flag {
//超过就返回错误提示
return fileRst, fmt.Errorf("over max storage capacity withbucket '%s'", bucketName)
}
//继承桶权限
if len(aclType) == 0 {
//如果权限未知,需要查询其权限
bucketObj, err := s.OssDao.SelectBucketACL(bucketName) //调用服务选择目标桶对象
if err != nil { //如果有错,就返回错误对象
return fileRst, err
}
aclType = bucketObj.AclType //获取权限类型
}
session, er := agent.GetCephClient(aclToken) //通过token拿到对应的对话对象(Session就是会话,一般作为交互对象)
if er != nil { //如果有错,返回错误对象
return fileRst, fmt.Errorf("get ceph client err:%s", er)
}
// 上传文件
uploader := s3manager.NewUploader(session)//通过session拿到上传文件的对象
rst, err := uploader.Upload(&s3manager.UploadInput{
//调用上传文件的方法
Bucket: aws.String(bucketName), //桶的名字
Key: aws.String(fileName), //文件名作为Key
Body: file, //文件对象
ACL: aws.String(s.convertObjectPolicy(aclType)), //权限类型
})
if err != nil { //如果上传错误
return fileRst, err //返回错误响应
}
log.Logger.Infof("put object to ceph response:{'bucket':'%s','key':'%s','size':%d,'versionId':'%s'}",
bucketName, fileName, fileSize, rst.VersionID) //打印日志
fileRst.FilePath = fileName //封装返回值,文件名
fileRst.FileUrl = populateEndpoint(rst.Location) //封装返回值,超链接
fileRst.BucketName = bucketName // //封装返回值,桶的名字
return fileRst, nil //返回文件对象
}
其中, func表示语言关键字,表示声明一个方法,UploadFile () 表示为此方法的名称,本方法没有返回值,file表示表单上多个文档的对象,filesize表示文件件对象的大小,bucketName表示桶的名称,filename表示上传文件的文件名称,aclTypeg表示上传后的文件的权限,bucketObj表示用户桶的对象,session表示对象存储引擎的客户端初始化对象,uploader表示使用了session对象初始化之后的uploader对象,fileRst表示文件操作后的结果的对象。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种分布式存储数据存储兼容方法,其特征在于,包括以下步骤:
步骤1,运行管理端容器和服务端容器;
步骤2,暴露系统接口,所述系统接口包括用户接口、文件接口以及桶接口;每个系统接口都会将传递的参数解析转化成json并序列化成结构体;
步骤3,数据序列化成结构体之后,通过数据库查询相关的信息是否合法;
步骤4,通过s3协议与ceph RESTFUL接口交互,完成指定的操作。
2.根据权利要求1所述分布式存储数据存储兼容方法,其特征在于:所述文件接口包括文件的上传下载接口。
3.根据权利要求2所述分布式存储数据存储兼容方法,其特征在于:所述桶接口包括桶的创建、删除、更新接口。
4.根据权利要求3所述分布式存储数据存储兼容方法,其特征在于:所述用户接口包括用户的创建、删除、变更、查询接口。
5.根据权利要求4所述分布式存储数据存储兼容方法,其特征在于,文件上传的方法为:
步骤S101,将待上传文件传递参数解析转化成json并序列化成结构体(aclType,aclToken,bucketName,filePath,file),其中,aclType表示类别,aclToken表示用户在系统里唯一的权限证明,bucketName表示桶的名称,filePath表示所操作的文件在桶的路径,file表示存放的文件对象;
步骤S102,通过数据库对步骤S101得到的序列化成结构体(aclType,aclToken,bucketName,filePath,file)进行信息查询,判读解析出的参数token、bucketName、filePath是否为空,若为空,返回错误响应;若不为空,进行步骤S103;
步骤S103,判断所操作的文件在桶的路径filePath是否合法,若不合法,对filePath加上路径标识“/”;若合法,进行步骤S104;
步骤S104,上传文件,并解析返回上传结果;
步骤S105,判断上传结果是否有误,有误,返回错误响应;若正确,进行步骤S105;
步骤S106,赋值上传结果,同时封装成JSON对象。
6.根据权利要求5所述分布式存储数据存储兼容方法,其特征在于,创建用户的方法为,包括以下步骤:
步骤S201,解析创建用户参数并返回初始化,获取创建用户参数;
步骤S202,将获取得到的创建用户参数解析转化成json并序列化成结构体;并判断得到的解析转化成json并序列化成结构体的创建用户参数是否为空,若为空,返回错误响应;若不为空,进行步骤S203;
步骤S203,添加用户信息,并拿到添加用户返回值,判断添加用户返回值是否有误,有误,返回错误响应;若正确,进行步骤S204;
步骤S204,将解析转化成json并序列化成结构体的创建用户参数数据封装为Map格式,再转换为JSON格式。
7.根据权利要求6所述分布式存储数据存储兼容方法,其特征在于,通过s3协议与cephRESTFUL接口交互进行创建用户的方法为:
步骤S301,初始化文件对象,获取相关文件参数,并等待文件传输完毕;
步骤S302,根据获取的相关文件参数判断是否超过最大使用容量,如果超过最大使用容量,则返回错误响应;若没有超过,则进行步骤S303;
步骤S303,根据获取的相关文件参数判断权限情况,如果权限未知,通过步骤S304查询权限,如果权限已知,进行步骤S05;
步骤S304,查询用户的目标桶对象,判断目标桶对象是否有误,有误,则返回错误响应;若正确,则获取目标桶对象的权限类型;
步骤S305,通过token拿到对应的对话对象,如果有错,则返回错误对象,如果正确则进行步骤S06;
步骤S306,通过session拿到上传文件的对象,将(bucketName,Key,file,aclType),进行上传,bucketName表示桶名,Key表示关键词,file表示文件对象,aclType表示权限类型;
步骤S307,如果上传错误,则返回错误响应;若正确,则封装返回值并返回。
8.一种基于权利要求1所述分布式存储数据存储兼容方法的存储兼容系统,其特征在于:包括管理端容器、服务端容器、CEPH/MINIO对象存储,所述管理端容器与服务端容器通过s1协议交互;所述服务端容器与CEPH/MINIO对象存储通过s2协议交互。
9.根据权利要求8所述存储兼容系统,其特征在于:所述服务端容器与CEPH/MINIO对象存储中的ceph RESTFUL接口通过s3协议交互。
CN202210628408.8A 2022-06-06 2022-06-06 一种分布式存储数据存储兼容方法及系统 Active CN114706919B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210628408.8A CN114706919B (zh) 2022-06-06 2022-06-06 一种分布式存储数据存储兼容方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210628408.8A CN114706919B (zh) 2022-06-06 2022-06-06 一种分布式存储数据存储兼容方法及系统

Publications (2)

Publication Number Publication Date
CN114706919A true CN114706919A (zh) 2022-07-05
CN114706919B CN114706919B (zh) 2022-09-13

Family

ID=82178067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210628408.8A Active CN114706919B (zh) 2022-06-06 2022-06-06 一种分布式存储数据存储兼容方法及系统

Country Status (1)

Country Link
CN (1) CN114706919B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116166204A (zh) * 2023-04-19 2023-05-26 安元科技股份有限公司 一种多版本加密存储的迁移方法
CN117708219A (zh) * 2024-02-06 2024-03-15 中科云谷科技有限公司 用于物联网数据的处理方法、处理装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013138953A1 (zh) * 2012-03-20 2013-09-26 广东电子工业研究院有限公司 数据存储与查询方法
WO2014043471A1 (en) * 2012-09-14 2014-03-20 Texas Tech University System System, method and apparatus for securely saving/retrieving data on a data storage
CN111600909A (zh) * 2020-06-24 2020-08-28 腾讯科技(深圳)有限公司 数据处理方法、装置、协议转换设备及存储介质
CN111736775A (zh) * 2020-06-22 2020-10-02 平安医疗健康管理股份有限公司 多源存储方法、装置、计算机系统及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013138953A1 (zh) * 2012-03-20 2013-09-26 广东电子工业研究院有限公司 数据存储与查询方法
WO2014043471A1 (en) * 2012-09-14 2014-03-20 Texas Tech University System System, method and apparatus for securely saving/retrieving data on a data storage
CN111736775A (zh) * 2020-06-22 2020-10-02 平安医疗健康管理股份有限公司 多源存储方法、装置、计算机系统及存储介质
CN111600909A (zh) * 2020-06-24 2020-08-28 腾讯科技(深圳)有限公司 数据处理方法、装置、协议转换设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116166204A (zh) * 2023-04-19 2023-05-26 安元科技股份有限公司 一种多版本加密存储的迁移方法
CN117708219A (zh) * 2024-02-06 2024-03-15 中科云谷科技有限公司 用于物联网数据的处理方法、处理装置及存储介质
CN117708219B (zh) * 2024-02-06 2024-05-07 中科云谷科技有限公司 用于物联网数据的处理方法、处理装置及存储介质

Also Published As

Publication number Publication date
CN114706919B (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN114706919B (zh) 一种分布式存储数据存储兼容方法及系统
US20200089666A1 (en) Secure data isolation in a multi-tenant historization system
US8321487B1 (en) Recovery of directory information
US20160321271A1 (en) Archive-system-independent archive-type objects
US8370910B2 (en) File server for translating user identifier
CN110401724B (zh) 文件管理方法、文件传输协议服务器及存储介质
JP5744717B2 (ja) ディレクトリへのアクセスのための方法及びデバイス
CN112738216B (zh) 一种设备适配方法、装置、设备和计算机可读存储介质
CN102810089A (zh) 基于内容的短链接系统及实现方法
WO2006096667A1 (en) System and method for providing data manipulation as a web service
CN111046041B (zh) 数据处理方法和装置、存储介质及处理器
JP2010519625A (ja) ライブエンティティインターネットストアサービス
US20220391368A1 (en) Cryptography system for using associated values stored in different locations to encode and decode data
US7437367B2 (en) Pack URI scheme to identify and reference parts of a package
CN112889039B (zh) 用于克隆后租户标识符转换的记录的标识
US8005844B2 (en) On-line organization of data sets
CN111125129A (zh) 数据处理方法和装置、存储介质及处理器
CN112464049B (zh) 号码详单下载方法、装置和设备
CN109189394B (zh) 一种自适应国内主流厂商粮情数据结构的方法
CN113419687A (zh) 一种对象存储方法、系统、设备及存储介质
US20090164482A1 (en) Methods and systems for optimizing projection of events
US12061621B2 (en) Bulk data extract hybrid job processing
CN111125207A (zh) 一种数据获取方法、装置、连接器及presto引擎
CN118433309B (zh) 呼叫信息处理方法、数据应答装置以及呼叫信息处理系统
CN115905120B (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
CP01 Change in the name or title of a patent holder

Address after: 11-14 / F, tower a, Tengfei building, 88 Jiangmiao Road, yanchuangyuan, Jiangbei new district, Nanjing, Jiangsu Province 210000

Patentee after: Anyuan Technology Co.,Ltd.

Patentee after: Qiye cloud big data (Nanjing) Co.,Ltd.

Address before: 11-14 / F, tower a, Tengfei building, 88 Jiangmiao Road, yanchuangyuan, Jiangbei new district, Nanjing, Jiangsu Province 210000

Patentee before: NANJING ANYUAN TECHNOLOGY Co.,Ltd.

Patentee before: Qiye cloud big data (Nanjing) Co.,Ltd.

CP01 Change in the name or title of a patent holder