cephRGW接口源码解析之Rados数据操作的示例代码
这篇文章主要为大家展示了“ceph RGW接口源码解析之Rados数据操作的示例代码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ceph RGW接口源码解析之Rados数据操作的示例代码”这篇文章吧。
在临河等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站制作 网站设计制作定制网站建设,公司网站建设,企业网站建设,高端网站设计,网络营销推广,外贸网站制作,临河网站建设费用合理。
RGW业务处理流程:
http reqest --> apache 转 FastCgi module
FastCgi module --> radosgw 通过socket请求实现(未确定是否有其它方式)
radosgw --> ceph集群 通过socket实现,调用rados接口
1、数据结构
在Rgw_common.h定义了基本的数据结构,并实现了 decode、encode序列化,方便对rados访问
//桶的权限创建资料
struct RGWBucketInfo
{
rgw_bucket bucket;
string owner;
uint32_t flags;
string region;
time_t creation_time;
string placement_rule;
bool has_instance_obj;
RGWObjVersionTracker objv_tracker; /* we don't need to serialize this, for runtime tracking */
obj_version ep_objv; /* entry point object version, for runtime tracking only */
RGWQuotaInfo quota;
}
//桶pool位置存储组成
struct rgw_bucket {
std::string name;
std::string data_pool;
std::string data_extra_pool; /* if not set, then we should use data_pool instead */
std::string index_pool;
std::string marker;
std::string bucket_id;
std::string oid;
}
//用户UID资料
struct RGWUserInfo
2、s3元数据原子操作
在rgw_op.h定义元数据的原子操作,RGWOp作为基类
创建桶的原子类定义:class RGWCreateBucket : public RGWOp
3、元数据操作句柄
在Rgw_bucket.h中定义
class RGWUserBuckets
在Rgw_bucket.cc中实现
class RGWBucketInstanceMetadataHandler : public RGWMetadataHandler
class RGWBucketMetadataHandler : public RGWMetadataHandler
4、rados接口实现
在rgw_rados.h 定义了RGWRados,实现了所有与rados相关的操作接口
以上是“ceph RGW接口源码解析之Rados数据操作的示例代码”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
文章标题:cephRGW接口源码解析之Rados数据操作的示例代码
当前路径:http://scyanting.com/article/jhcdcc.html