1.一种基于分布式存储实现对象存储的方法,其特征在于,其实现过程为:通过分布式存储技术,搭建认证服务器,完成用户端和服务端的安全认证,然后优化后台IO模型记录碎片化日志,从而提升对象存储的安全性。
2.根据权利要求1所述的一种基于分布式存储实现对象存储的方法,其特征在于,通过搭建认证服务器实现用户端和服务端的安全认证过程为:
首先通过java语言设计一个鉴权认证模块,客户端或者web界面端在上传文件或者下载文件操作时,客户端向认证服务器的服务端申请获取一个认证值,客户端把这个值封装到报文中;
客户端发送报文到服务端,服务端解析报文获取认证值,服务端把报文中用户信息获取得到,通过用户信息和认证值再次访问认证服务器获取认证进行比对,判断是否为同一笔交易,最终得到交易的合法性。
3.根据权利要求1或2所述的一种基于分布式存储实现对象存储的方法,其特征在于,所述碎片化日志是指在认证服务器中,通过rgw对象存储网关融合客户端,将网关接收的消息记录成日志,写入消息队列。
4.根据权利要求3所述的一种基于分布式存储实现对象存储的方法,其特征在于,优化记录碎片化日志的具体过程为:消息队列通过消息中间件,发送到消息处理进程,消息处理进程是用python开发的守护进程,守护进程通过规则匹配模块来处理不同的消息,并将符合的信息录入mysql数据库。
5.根据权利要求3所述的一种基于分布式存储实现对象存储的方法,其特征在于,鉴权认证模块的具体设计及实现过程为:
通过portal发起对象存储服务操作,向认证服务器发起token认证申请操作;
如果第一步申请成功,返回给portal token;
向rgw发起对象存储服务操作,同时把token传给rgw;
rgw根据获取的token向认证服务器发起token验证请求;
如果认证服务器验证通过,则返回成功否者返回失败;
如果成功rgw开始向rados写入数据;
如果不成功则返回portal token验证失败。
6.根据权利要求5所述的一种基于分布式存储实现对象存储的方法,其特征在于,记录碎片化日志的具体过程为:
用户通过sdk接口使用对象存储服务的时候,通过rgw RESTful接口获取rados中的数据;
rgw改造程序,每一次操作成功都把明细写入RabbitMQ消息队列;
消息读取计算进程从消息队列中获取明细并计算,最终把结果入库到mysql中;
sdk上传对象时,通过RESTful接口向计算进程获取用户空间剩余量,当空间不足时,则返回portal失败。