對象管理方法和對象管理系統(tǒng)的制作方法
【專利摘要】在本公開實施例中,提供了一種對象管理方法,包括:建立從客戶端到云存儲端的通信連接;接收所述客戶端對第一對象的下載請求;以第一次下載請求的接收時間為起始時間,計算在時間段T1內(nèi)所述第一對象的請求數(shù)量;如果所述請求數(shù)量超過閾值N,將所述第一對象的訪問權(quán)限設(shè)置為私有;其中,所述云存儲端存儲有多個對象,所述第一對象為所述云存儲端存儲的任意對象,時間段T1和閾值N為存儲在數(shù)據(jù)庫中的配置信息。當對象的下載次數(shù)過多時,通過將對象權(quán)限設(shè)置為私有以阻止對該對象的下載。該方法有利于防范黑客利用泄露的下載地址攻擊私有云存儲集群,節(jié)省公網(wǎng)帶寬,降低成本。
【專利說明】
對象管理方法和對象管理系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本公開涉及云存儲領(lǐng)域,具體涉及對象管理方法和對象管理系統(tǒng)。
【背景技術(shù)】
[0002] 對象存儲在互聯(lián)網(wǎng)的大潮中受到了廣發(fā)關(guān)注,并得到了迅速的發(fā)展。對象存儲與 文件存儲不同,對象不以目錄分層的結(jié)構(gòu)進行組織。每個對象都位于被稱為存儲池的扁平 的空間的相同層級,每一級的每個元素在存儲系統(tǒng)中都有唯一的標識,用戶通過這個標識 來訪問容器或者對象。采用扁平的數(shù)據(jù)組織結(jié)構(gòu)拋棄了嵌套的文件夾,避免維護龐大的目 錄樹。在大數(shù)據(jù)和互聯(lián)網(wǎng)時代,存儲的文件/對象超過上百萬個,單位時間內(nèi)的訪問次數(shù)和 并發(fā)訪問量也達到了前所未有的量級,在這種情況下,目錄樹會給存儲系統(tǒng)帶來很大的開 銷和諸多問題,成為系統(tǒng)的瓶頸。另外一個讓對象存儲煥發(fā)生命力的因素是,對象存儲不再 提供POSIX兼容的接口(如open,close,read,write等),而是可以非常方便地通過HTTP Restful API接口和對象進行交互,通過PUT和GET進行上傳下載,通過DELETE進行刪除。
[0003] 對象存儲可以為用戶提供視頻、音樂等較大文件的存儲,也可以提供日志的服務(wù), 另外,存儲服務(wù)取得更大發(fā)展的更大因素是取得了移動互聯(lián)網(wǎng)的青睞,在移動端的APP中, 對象存儲簡單的HTTP接口簡化了開發(fā)者的開發(fā)流程,并且還可以為用戶提供海量的存儲空 間。
[0004] 在某些場景中,比如⑶N(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))分發(fā)場景 中,為了簡化流程,需要將對象設(shè)置成public-read權(quán)限,以便處于公網(wǎng)的CDN節(jié)點能夠下載 到這個對象。但是如果這個public-read權(quán)限的對象的下載地址如果不小心泄露給攻擊者, 那么攻擊者就可以通過大量的肉雞瘋狂下載一個文件,當這個文件較大時,對象存儲集群 將不堪重負,另外大量公網(wǎng)出口帶寬被浪費,也造成了經(jīng)濟損失。此時可能傳統(tǒng)做法是封用 戶IP,但是攻擊者通常會偽造 ip來隱藏自己的身份,因此這種策略并不奏效。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本公開提供一種對象管理方法和管理系統(tǒng),以至少解決上述問題之一。
[0006] 根據(jù)本公開的第一方面,本公開提供一種對象管理方法,包括:建立從客戶端到云 存儲端的通信連接;接收所述客戶端對第一對象的下載請求;以第一次下載請求的接收時 間為起始時間,計算在時間段Tl內(nèi)所述第一對象的請求數(shù)量;如果所述請求數(shù)量超過閾值 N,將所述第一對象的訪問權(quán)限設(shè)置為私有;其中,所述云存儲端存儲有多個對象,所述第一 對象為所述云存儲端存儲的任意對象,時間段Tl和閾值N為存儲在數(shù)據(jù)庫中的配置信息。
[0007] 優(yōu)選地,還包括:在所述將所述第一對象的訪問權(quán)限設(shè)置為不可讀的T2時間段后, 將所述第一對象的訪問權(quán)限設(shè)置為任意可讀,T2為存儲在數(shù)據(jù)庫中的配置信息。
[0008] 優(yōu)選地,還包括:接收所述第一對象的上載請求;將所述第一對象存儲到所述云存 儲端;以及將所述上載請求中的配置信息存儲到數(shù)據(jù)庫中。
[0009] 優(yōu)選地,時間段Tl、T2和閾值N是可配置的。
[0010] 優(yōu)選地,還包括:如果所述請求數(shù)量超過閾值N,將所述第一對象加入到黑名單中。
[0011] 優(yōu)選地,所述第一對象的初始權(quán)限為任意可讀。
[0012] 根據(jù)本公開的第二方面,提供一種對象管理系統(tǒng),包括多個客戶端和云存儲端,所 述客戶端包括:和所述云存儲端建立通信連接;提交第一對象的下載請求;以及接受所述云 存儲端返回結(jié)果;
[0013] 所述云存儲端包括:建立和所述客戶端的通信連接;接收所述客戶端對所述第一 對象的下載請求;以第一次下載請求的接收時間為起始時間,計算在時間段Tl內(nèi)所述第一 對象的請求數(shù)量;如果所述請求數(shù)量超過閾值N,將所述第一對象的訪問權(quán)限設(shè)置為私有;
[0014] 其中,所述云存儲端存儲有多個對象,所述第一對象為所述云存儲端存儲的任意 對象,時間段Tl和閾值N為存儲在數(shù)據(jù)庫中的配置信息。
[0015] 優(yōu)選地,還包括:在所述將所述第一對象的訪問權(quán)限設(shè)置為不可讀的T2時間段后, 將所述第一對象的訪問權(quán)限設(shè)置為任意可讀,T2為存儲在數(shù)據(jù)庫中的配置信息。
[0016] 優(yōu)選地,還包括:接收所述第一對象的上載請求;將所述第一對象存儲到所述云存 儲端;以及將所述上載請求中的配置信息存儲到數(shù)據(jù)庫中。
[0017] 優(yōu)選地,還包括:如果所述請求數(shù)量超過閾值N,將所述第一對象加入到黑名單中。 [0018]在本公開實施例中,提供了一種對象管理方法,包括:建立從客戶端到云存儲端的 通信連接;接收所述客戶端對第一對象的下載請求;以第一次下載請求的接收時間為起始 時間,計算在時間段Tl內(nèi)所述第一對象的請求數(shù)量;如果所述請求數(shù)量超過閾值N,將所述 第一對象的訪問權(quán)限設(shè)置為私有;其中,所述云存儲端存儲有多個對象,所述第一對象為所 述云存儲端存儲的任意對象,時間段Tl和閾值N為存儲在數(shù)據(jù)庫中的配置信息。當對象的下 載次數(shù)過多時,通過將對象權(quán)限設(shè)置為私有以阻止對該對象的下載。該方法有利于防范黑 客利用泄露的下載地址攻擊私有云存儲集群,節(jié)省公網(wǎng)帶寬,降低成本。同時提供一種對象 管理系統(tǒng)。
【附圖說明】
[0019] 通過參照以下附圖對本公開實施例的描述,本公開的上述以及其它目的、特征和 優(yōu)點將更為清楚,在附圖中:
[0020] 圖1是根據(jù)本公開實施例的對象管理系統(tǒng)的示意圖;
[0021 ]圖2是根據(jù)本公開實施例的對象管理方法的流程圖;
[0022]圖3是根據(jù)本公開實施例的客戶端和云存儲端建立通信連接的示意圖;
[0023]圖4是根據(jù)本公開另一實施例的對象管理方法的流程圖。
【具體實施方式】
[0024] 以下基于實施例對本公開進行描述,但是本公開并不僅僅限于這些實施例。在下 文對本公開的細節(jié)描述中,詳盡描述了一些特定的細節(jié)部分。對本領(lǐng)域技術(shù)人員來說沒有 這些細節(jié)部分的描述也可以完全理解本公開。為了避免混淆本公開的實質(zhì),公知的方法、過 程、流程沒有詳細敘述。另外附圖不一定是按比例繪制的。
[0025] 在本公開的描述中,需要理解的是,術(shù)語"第一"、"第二"等僅用于描述目的,而不 能理解為指示或暗示相對重要性。
[0026] 圖1是根據(jù)本公開實施例的對象管理系統(tǒng)的示意圖。所述對象系統(tǒng)包括客戶端100 和云存儲端101。這里,客戶端可以是一個手機APP,或視頻系統(tǒng)、電商系統(tǒng)的前端或后端程 序。云存儲端則可以包括軟硬件結(jié)合的云服務(wù)系統(tǒng)。
[0027] 這里,可以把云存儲端的存儲區(qū)域看作一個網(wǎng)絡(luò)SAN(Storage Area Network),即 一個集中式管理的高速存儲網(wǎng)絡(luò),由多供應(yīng)商存儲系統(tǒng)、存儲管理軟件、應(yīng)用程序服務(wù)器和 網(wǎng)絡(luò)硬件組成。云存儲端使用存儲空間(bucket)和對象對數(shù)據(jù)進行存儲??梢詫ucket理 解為容器,每個對象都存放在一個容器中,如圖1中的102所示,云存儲端將存儲區(qū)域分為若 干個bucket (大小相等),每個bucket中存放著多個對象。bucket使用存儲空間標識符作為 唯一標識,由于對象的大小不同,所以即使相同容量的存儲空間存放的對象個數(shù)也不同。 [0028]客戶端100和云存儲端101建立通信連接后,通過該通信連接發(fā)送一個對象的下載 請求,云存儲端接收到該請求后,通過線程計算針對該對象的請求數(shù)量,以第一次下載請求 的接收時間為起始時間,計算在時間段Tl內(nèi)該對象的請求數(shù),如果請求數(shù)量超過閾值N,將 第一對象的訪問權(quán)限設(shè)置為私有,其中,時間段Tl和閾值N為存儲在數(shù)據(jù)庫中的配置信息。 [0029]在本實施例中,通過對象管理系統(tǒng)的權(quán)限控制有利于防范黑客利用泄露的下載地 址攻擊私有云存儲集群。
[0030]圖2是根據(jù)本公開實施例的對象管理方法的流程圖。所述對象管理方法包括步驟 201-205。
[0031]在步驟201中,建立從客戶端到云存儲端的通信連接。圖3示出了一個手機APP和云 存儲端建立安全通信連接的過程。標記30為客戶端,標記31為權(quán)限管理服務(wù)器,通過客戶端 訪問權(quán)限管理服務(wù)器。當需要進行云端存儲時,客戶端通過步驟301向權(quán)限管理服務(wù)器發(fā)送 一個云端授權(quán)請求,權(quán)限管理服務(wù)器接收后,向云存儲端轉(zhuǎn)發(fā),云存儲端進行校驗后,返回 臨時授權(quán)ID或訪問令牌(Access token),權(quán)限管理服務(wù)器接收到該授權(quán)ID或訪問令牌,返 回給客戶端??蛻舳藢⒃撌跈?quán)ID或訪問令牌緩存在本地,并通過該授權(quán)ID或訪問令牌和云 存儲端進行通信連接。為了保證授權(quán)ID或訪問令牌不被濫用或竊取,該類授權(quán)ID或訪問令 牌一般都設(shè)有時間限制,過了預定時間自動失效。
[0032]在步驟202中,接收客戶端對第一對象的下載請求。
[0033]第一對象為云存儲端存儲的任意對象,這里,"第一"只是為了方便描述。
[0034]在步驟203中,以第一次下載請求的接收時間為起始時間,計算在時間段Tl內(nèi)第一 對象的請求數(shù)量。
[0035] 在步驟204中,請求數(shù)量〉N。如果請求數(shù)量大于N,執(zhí)行步驟205。
[0036] 步驟203和204中T和N是可修改的配置信息,可以存儲在數(shù)據(jù)庫中。另外,如果通過 CDN提供服務(wù),則閾值N應(yīng)設(shè)置為大于CDN節(jié)點個數(shù)的數(shù)值,否則有可能來自CDN節(jié)點的合法 請求拒絕掉。
[0037]在步驟205中,將第一對象的訪問權(quán)限設(shè)置為私有。
[0038] 在本公開中對象權(quán)限的定義可以參考表格1。將對象權(quán)限設(shè)置為私有(private)意 味著該對象不再對公眾開放,公眾不可讀。
[0039] 表格 1
[0042]在一個優(yōu)選的實施例中,通過定時器來實現(xiàn)上述對象管理方法。當某一對象在t時 刻有了第一次下載之后,即啟動一個Tl時間長度的定時器,在這個定時器超時之前,如果下 載數(shù)量超過用戶設(shè)置的N,則后臺直接設(shè)置這個對象為私有(private)權(quán)限,并啟動另一后 臺定時器,在T2時刻將該對象重新設(shè)置為任意可讀(public-read)權(quán)限。如果前面提到的在 Tl時間段內(nèi)用戶下載沒有達到N,則定時器超時,此時不執(zhí)行權(quán)限控制策略,下一次有下載 時在重復啟用定時器。其中,Tl,T2和N都是可以修改的配置信息,可以將其存儲到數(shù)據(jù)庫中 (關(guān)系型數(shù)據(jù)庫或內(nèi)存數(shù)據(jù)庫)??蛻舳艘部梢詣h除這些配置信息。
[0043]圖4是根據(jù)本公開另一實施例的對象管理方法的流程圖,包括步驟401-407。其中 步驟401和圖2中的步驟201相同,步驟405-408和圖2中的步驟202-205相同,這里不再詳細 描述。
[0044] 在步驟402中,接收第一對象的上載請求。
[0045] 在步驟403中,將第一對象存儲到云存儲端。
[0046] 在步驟404中,將上載請求中的配置信息存儲到數(shù)據(jù)庫中。
[0047]步驟402-404將接收到第一對象將其存儲到存儲空間(bucket)中,并且,從上載請 求中獲取到針對該對象的配置信息(例如,上述TI,N,T2的數(shù)值),并將這些配置信息存儲到 數(shù)據(jù)庫中,用于判斷下載數(shù)量是否超限。
[0048] 本公開提供的對象管理方法,將某個對象在某個時間段內(nèi)的下載數(shù)量和閾值比 較,如果下載數(shù)量超過閾值,則認為當前對象的下載次數(shù)過多,通過將對象權(quán)限設(shè)置為私有 以阻止對該對象的下載。該方法有利于防范黑客利用泄露的下載地址攻擊私有云存儲集 群,節(jié)省公網(wǎng)帶寬,降低成本。同時,將下載次數(shù)超過閾值的對象存儲到黑名單中,供其他部 分進行分析。
[0049] 附圖中的流程圖、框圖圖示了本公開實施例的系統(tǒng)、方法、裝置的可能的體系框 架、功能和操作,流程圖和框圖上的方框可以代表一個、程序段或僅僅是一段代碼,所述、程 序段和代碼都是用來實現(xiàn)規(guī)定邏輯功能的可執(zhí)行指令。也應(yīng)當注意,所述實現(xiàn)規(guī)定邏輯功 能的可執(zhí)行指令可以重新組合,從而生成新的和程序段。因此附圖的方框以及方框順序只 是用來更好的圖示實施例的過程和步驟,而不應(yīng)以此作為對發(fā)明本身的限制。
[0050] 系統(tǒng)的各個或單元可以通過硬件、固件或軟件實現(xiàn)。軟件例如包括采用JAVA、C/C+ +/C#、SQL等各種編程語言形成的編碼程序。雖然在方法以及方法圖例中給出本公開實施例 的步驟以及步驟的順序,但是所述步驟實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令可以重新組合, 從而生成新的步驟。所述步驟的順序也不應(yīng)該僅僅局限于所述方法以及方法圖例中的步驟 順序,可以根據(jù)功能的需要隨時進行調(diào)整。例如將其中的某些步驟并行或按照相反順序執(zhí) 行。
[0051] 根據(jù)本公開的系統(tǒng)和方法可以部署在單個或多個服務(wù)器上。例如,可以將不同的 分別部署在不同的服務(wù)器上,形成專用服務(wù)器?;蛘撸梢栽诙鄠€服務(wù)器上分布式部署相同 的功能單元、或系統(tǒng),以減輕負載壓力。所述服務(wù)器包括但不限于在同一個局域網(wǎng)以及通過 Internet連接的多個PC機、PC服務(wù)器、刀片機、超級計算機等。
[0052]以上所述僅為本公開的優(yōu)選實施例,并不用于限制本公開,對于本領(lǐng)域技術(shù)人員 而言,本公開可以有各種改動和變化。凡在本公開的精神和原理之內(nèi)所作的任何修改、等同 替換、改進等,均應(yīng)包含在本公開的保護范圍之內(nèi)。
【主權(quán)項】
1. 一種對象管理方法,包括: 建立從客戶端到云存儲端的通信連接; 接收所述客戶端對第一對象的下載請求; 以第一次下載請求的接收時間為起始時間,計算在時間段Tl內(nèi)所述第一對象的請求數(shù) 量; 如果所述請求數(shù)量超過閾值N,將所述第一對象的訪問權(quán)限設(shè)置為私有; 其中,所述云存儲端存儲有多個對象,所述第一對象為所述云存儲端存儲的任意對象, 時間段Tl和閾值N為存儲在數(shù)據(jù)庫中的配置信息。2. 根據(jù)權(quán)利要求1所述的對象管理方法,還包括:在所述將所述第一對象的訪問權(quán)限設(shè) 置為不可讀的T2時間段后,將所述第一對象的訪問權(quán)限設(shè)置為任意可讀,T2為存儲在數(shù)據(jù) 庫中的配置信息。3. 根據(jù)要求要求2所述的對象管理方法,還包括:接收所述第一對象的上載請求;將所 述第一對象存儲到所述云存儲端;以及將所述上載請求中的配置信息存儲到數(shù)據(jù)庫中。4. 根據(jù)權(quán)利要求3所述的對象管理方法,其中,時間段Tl、T2和閾值N是可配置的。5. 根據(jù)權(quán)利要求1所述的對象管理方法,還包括:如果所述請求數(shù)量超過閾值N,將所述 第一對象加入到黑名單中。6. 根據(jù)權(quán)利要求1所述的對象管理方法,其中,所述第一對象的初始權(quán)限為任意可讀。7. -種對象管理系統(tǒng),包括多個客戶端和云存儲端, 所述客戶端包括: 和所述云存儲端建立通信連接; 提交第一對象的下載請求;以及 接受所述云存儲端返回結(jié)果; 所述Ζ5Γ存儲包括: 建立和所述客戶端的通信連接; 接收所述客戶端對所述第一對象的下載請求; 以第一次下載請求的接收時間為起始時間,計算在時間段Tl內(nèi)所述第一對象的請求數(shù) 量; 如果所述請求數(shù)量超過閾值N,將所述第一對象的訪問權(quán)限設(shè)置為私有; 其中,所述云存儲端存儲有多個對象,所述第一對象為所述云存儲端存儲的任意對象, 時間段Tl和閾值N為存儲在數(shù)據(jù)庫中的配置信息。8. 根據(jù)權(quán)利要求7所述的對象管理系統(tǒng),還包括:在所述將所述第一對象的訪問權(quán)限設(shè) 置為不可讀的T2時間段后,將所述第一對象的訪問權(quán)限設(shè)置為任意可讀,T2為存儲在數(shù)據(jù) 庫中的配置信息。9. 根據(jù)要求要求8所述的對象管理系統(tǒng),還包括:接收所述第一對象的上載請求;將所 述第一對象存儲到所述云存儲端;以及將所述上載請求中的配置信息存儲到數(shù)據(jù)庫中。10. 根據(jù)權(quán)利要求1所述的對象管理方法,還包括:如果所述請求數(shù)量超過閾值N,將所 述第一對象加入到黑名單中。
【文檔編號】H04L29/08GK105915524SQ201610305908
【公開日】2016年8月31日
【申請日】2016年5月10日
【發(fā)明人】吳興義
【申請人】樂視控股(北京)有限公司, 樂視云計算有限公司