真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

RGWS3User的示例分析

這篇文章給大家分享的是有關(guān)RGW S3 User的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

“只有客戶(hù)發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無(wú)止境。

一、RGW S3 User使用的類(lèi)關(guān)系圖。

RGW S3 User的示例分析

cls_user_header和cls_user_bucket_entry從用戶(hù)角度看到用戶(hù)所擁有的buckets信息,這兩個(gè)對(duì)象(其中cls_user_bucket_entry以數(shù)組的形式出現(xiàn))需要保存在ceph集群中。通常在創(chuàng)建/刪除/更新用戶(hù)buckets時(shí)都需要這兩個(gè)類(lèi)對(duì)象。

RGW S3 User的示例分析

RGwUserBuckets類(lèi)是RGW User看到的buckets相關(guān)信息,實(shí)際上RGWBucketEnt和cls_user_bucket_entry類(lèi)基本一致。

RGW S3 User的示例分析

上圖表示的是bucket的類(lèi)關(guān)系圖,其中rgw_bucket_dir_header和rgw_bucket_dir_entry這兩個(gè)對(duì)象(rgw_bucket_dir_entry以數(shù)組的形式出現(xiàn))保存到ceph集群中。在讀寫(xiě)buckets時(shí)需要用到上述類(lèi)。

RGW S3 User的示例分析

上圖描述了RGW User類(lèi)的主要類(lèi)及其關(guān)系圖。其中核心類(lèi)是RGWUser,該類(lèi)表示一個(gè)RGW用戶(hù)。上述類(lèi)中RGWUID和RGWUserInfo類(lèi)需要保存到Ceph集群。

二、RGW User主要函數(shù)處理流程。

1、同步指定用戶(hù)所有buckets的使用信息

rgw_user_sync_all_stats()               

|__rgw_read_user_buckets()                    讀取指定用戶(hù)所有buckets信息并保存到RGWUserBuckets對(duì)象中

|__rgw_bucket_sync_user_stats()            同步指定用戶(hù)所有buckets的使用信息。實(shí)際上是要更新cls_user_bucket_entry對(duì)象,更新結(jié)束后將cls_user_bukcet_entry對(duì)象寫(xiě)入到ceph集群

|__RGWRados::complete_sysnc_user_stats()     對(duì)于未同步完成的操作完成其操作,最后同步更新cls_user_header對(duì)象并將該對(duì)象寫(xiě)入到ceph集群

2、寫(xiě)指定用戶(hù)信息到ceph集群

rgw_store_user_info()

|__檢查RGWUserInfo中的access_key是否有效(通過(guò)access_key獲取RGWUserInfo信息,之后比較獲取到的RGWUserInfo信息與參數(shù)傳進(jìn)來(lái)的RGWUserInfo信息是否一致)

|__生成RGWUID對(duì)象且以RGWUserInfo.user_id進(jìn)行初始化

|__以RGWUserInfo.user_id為key,將RGWUID和RGWUserInfo信息寫(xiě)入到user metadata pool中

|__以RGWUserInfo.user_email為key,將RGWUID信息寫(xiě)入到user email pool中

|__以RGWUserInfo::RGWAccessKey.id為key,將RGWUID信息寫(xiě)入到user keys pool中

3、通過(guò)用戶(hù)index信息讀取RGWUserInfo信息

rgw_get_user_info_from_index()

|__rgw_get_system_obj()          通過(guò)指定用戶(hù)的index得到RGWUID對(duì)象

|__rgw_get_info_by_uid()          通過(guò)RGWUID.user_id信息得到RGWUserInfo信息

|__更新RGW User Info Cache uinfo_cache

4、通過(guò)用戶(hù)uid信息讀取RGWUserInfo信息

rgw_get_user_info_by_uid()

|__rgw_get_system_obj()          以u(píng)id為key,得到RGWUID對(duì)象和RGWUserInfo對(duì)象(使用的pool是user uid pool)

5、通過(guò)用戶(hù)email信息讀取RGWUserInfo信息

rgw_get_user_info_by_email()

|__rgw_get_user_info_from_index()          以用戶(hù)的email為key,得到RGWUserInfo對(duì)象

6、通過(guò)用戶(hù)accesskey信息讀取RGWUserInfo信息

rgw_get_user_info_by_access_key()

|__rgw_get_user_info_from_index()          以用戶(hù)的access key為key,得到RGWUserInfo對(duì)象

7、通過(guò)用戶(hù)uid信息讀取用戶(hù)的屬性信息

rgw_get_user_attrs_by_uid()

|__RGWRados::SystemObject::Read.stat()

     |__RGWRados::stat_system_obj()

          |__RGWRados::get_system_obj_state()

               |__RGWRados::get_system_obj_state_impl()

                    |__RGWRados::raw_obj_stat()               讀取指定對(duì)象的屬性信息并且去掉以u(píng)ser.rgw.開(kāi)頭的屬性值

8、刪除用戶(hù)access key索引

rgw_remove_key_index()

|__RGWRados::delete_system_obj()

9、刪除用戶(hù)uid索引

rgw_remove_uid_index()

|__rgw_get_user_info_by_uid()

|__RGWRados::meta_mgr::remove_entry()          刪除user的metadata信息

10、刪除用戶(hù)email索引

rgw_remove_email_index()

|__RGWRados::delete_system_obj()

11、刪除用戶(hù)

rgw_delete_user()

|__rgw_read_user_buckets()          讀取指定用戶(hù)uid所擁有的bucket列表信息

|__rgw_remove_key_index()          刪除以access key為索引的RGWUseInfo信息

|__RGWRados::delete_system_obj()     刪除以email為索引的RGWUserInfo信息

|__RGWRados::delete_system_obj()     刪除uid.bucket對(duì)象

|__RGWRados::meta_mgr.remove_entry()     刪除用戶(hù)的元數(shù)據(jù)信息

感謝各位的閱讀!關(guān)于“RGW S3 User的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


網(wǎng)站名稱(chēng):RGWS3User的示例分析
本文網(wǎng)址:http://weahome.cn/article/gsdppi.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部