- 媒體新聞 您現(xiàn)在的位置 :首頁 -- 新聞中心 -- 媒體新聞
云存儲技術(shù)解析:無存儲,不智能
來源:金錢貓科技股份有限公司 發(fā)表于:2017-06-13 瀏覽761次 |
當下,AI正與云計算進行深度融合,未來會變得更加智能,但在智能化的背后是對海量數(shù)據(jù)存儲的剛性需求。據(jù)不完全統(tǒng)計,單是一輛無人駕駛汽車每秒產(chǎn)生的數(shù)據(jù)容量就在1G左右,相當于每秒發(fā)送20萬封純文本電子郵件或上傳100張高清數(shù)碼照片。因此,沒有大容量和超穩(wěn)定的存儲系統(tǒng),這一切都將無從談起。無存儲,不智能。為了更加清晰的了解云存儲技術(shù)的實現(xiàn)過程,UCloud存儲研發(fā)部將對云存儲——對象存儲(UFile)技術(shù)進行深度解析。
▌對象存儲UFile概念
對象存儲(UFile)是為互聯(lián)網(wǎng)應(yīng)用提供非結(jié)構(gòu)化文件存儲的服務(wù);相對于傳統(tǒng)硬盤存儲,UFile具有存儲無上限、支持高并發(fā)訪問、成本更低等優(yōu)勢;解決業(yè)務(wù)架構(gòu)的文件存儲問題,有效降低海量文件的存儲成本,支持熱點數(shù)據(jù)的高并發(fā)訪問,提升終端用戶訪問體驗。
▌單地域UFile存儲架構(gòu)六大集群
ULB(UCloudLoadBalancer)實現(xiàn)外網(wǎng)的對接及接入層的負載均衡與容災(zāi)處理,該模塊通過定期向接入層模塊端口發(fā)送心跳以檢測接入層模塊的可用性,發(fā)現(xiàn)異常模塊及時進行剔除;
接入層提供文件訪問服務(wù),該模塊為無狀態(tài)設(shè)計,因此可以平行擴容及縮容;
索引層保存文件對象的元數(shù)據(jù)信息,包括對象名稱、對象大小、創(chuàng)建時間、存儲位置等;
存儲層是實際存儲文件數(shù)據(jù)的模塊集群,主要實現(xiàn)文件數(shù)據(jù)的多份分布及高可靠存儲;
數(shù)據(jù)處理層主要實現(xiàn)UFile圖片及數(shù)據(jù)處理,包括圖片的實時裁剪、縮放、旋轉(zhuǎn)、水印、格式轉(zhuǎn)換、信息獲取等操作,客戶還可以使用自己的通用計算鏡像對數(shù)據(jù)進行處理;
名字服務(wù)主要實現(xiàn)索引層及數(shù)據(jù)處理層模塊的容災(zāi)剔除,以上3個集群的模塊會定期在名字服務(wù)注冊自身服務(wù),當其中有部分模塊因機器異常或者網(wǎng)絡(luò)中斷導(dǎo)致無法提供服務(wù)時,名字服務(wù)會將該機器從名字中剔除,并且通知接入層,從而實現(xiàn)后臺模塊的容災(zāi)剔除。
▌重點設(shè)計解析
1、UFile索引層設(shè)計
UFile索引層為一套分布式KV存儲系統(tǒng),其主要目標是保證UFile對象元數(shù)據(jù)的高性能、高可靠、高可用及可擴展的存儲,其主要分成兩層架構(gòu):
索引接入集群解決索引存儲集群的管理及元數(shù)據(jù)的分布,這一層模塊為無狀態(tài)設(shè)計,通過名字服務(wù)實現(xiàn)異常狀態(tài)的容災(zāi)剔除;
索引存儲集群實現(xiàn)對象元數(shù)據(jù)的分布式存儲,每個對象元數(shù)據(jù)將存儲3份,保證數(shù)據(jù)的可靠性及高可用性,同時對象存儲采用SSD(固態(tài)硬盤)作為存儲介質(zhì),也保證了元數(shù)據(jù)存儲的高并發(fā)低延時訪問特性。另外,該模塊采用固定集群規(guī)模的方式進行管理,每個集群支撐的存儲量、訪問量固定,存儲可實現(xiàn)以集群為單位的水平擴容,保障業(yè)務(wù)不斷增長情況下的高性能穩(wěn)定訪問支持。
2、UFile存儲層設(shè)計
存儲層包括三種類型模塊集群:
存儲節(jié)點,該模塊按照固定大小的集群(稱為“Set”)進行組織和管理,每個集群支撐的存儲量及訪問量規(guī)格固定,同時該模塊可根據(jù)存儲量需求橫向進行無限擴展,從而滿足客戶無存儲量上限的數(shù)據(jù)存儲需求。每個對象數(shù)據(jù)在存儲層存儲三份數(shù)據(jù),通過對異常情況的及時處理和壞盤的及時修復(fù),保證數(shù)據(jù)極高的可靠性(99.99999999%);
SetMaster,該模塊進行Set狀態(tài)的管理,接入集群通過SetMaster決定上傳對象數(shù)據(jù)的存儲集群,并執(zhí)行數(shù)據(jù)的存儲操作;
OsdMaster,該模塊每個Set有一套,實現(xiàn)Set內(nèi)部的存儲路由管理,并對各塊磁盤的狀態(tài)進行監(jiān)控,及時剔除異常磁盤。
3、UFile存儲路由算法設(shè)計
UFile存儲集群采用去中心化設(shè)計,數(shù)據(jù)存儲采用固定的路由算法進行存儲,由于存儲集群的規(guī)模為固定,因此路由表也為固定,這就保證了存儲系統(tǒng)的簡單性及穩(wěn)定性。下面詳細介紹UFile數(shù)據(jù)存儲層的路由算法設(shè)計。
第一步,在存儲集群上線時,每個集群的OsdMaster將磁盤信息進行組織,生成一個存儲路由表,該路由表的每個項目對應(yīng)3塊分布在不同機架及存儲機器上的磁盤,對象數(shù)據(jù)將按照路由表指定的位置進行存儲。
第二步,每個存儲在UFile上的對象數(shù)據(jù)將被切分成若干個4MB的數(shù)據(jù)塊,稱為分片。UFile為每個對象分配一個單集群內(nèi)部唯一的對象ID,對象ID與分片編號拼接獲得分片ID,通過字符串哈希算法獲得哈希值,并在路由表中找到該分片存儲的3塊磁盤位置,由UFile接入模塊將該分片數(shù)據(jù)提交到3塊磁盤上。
第三步,當單塊磁盤出現(xiàn)異常時,OsdMaster會發(fā)現(xiàn)這一情況,并將該磁盤標記為異常狀態(tài),當接入層寫入此數(shù)據(jù)時,會只寫入兩份數(shù)據(jù),待磁盤修復(fù)后,再從這兩份數(shù)據(jù)中拷貝一份數(shù)據(jù)到已修復(fù)磁盤,恢復(fù)數(shù)據(jù)的多份高可靠存儲。在出現(xiàn)一個哈希表項中有2塊磁盤不可使用的情況時,為保證數(shù)據(jù)安全性,該存儲集群將不允許寫入操作,寫入操作會被切換到其他集群提供服務(wù),從而保證UFile讀寫的高可用性。
▌UFile功能優(yōu)勢
1、海量存儲
存儲空間無上限,無需考慮存儲空間擴容問題,單文件最大支持5TB,適用于音視頻、圖片分享等UGC類應(yīng)用海量文件存儲。
2、高并發(fā)
支持高并發(fā)訪問,突破傳統(tǒng)磁盤I/O限制,滿足高訪問量及高下載量業(yè)務(wù)需求,適用于高下載量、高訪問量應(yīng)用文件的存儲。
3、訪問加速
存儲文件結(jié)合CDN分發(fā)加速,國內(nèi)外500+加速節(jié)點,有效降低訪問延遲,提高下載速度,提升全網(wǎng)終端用戶的訪問體驗。
4、安全可用
所存文件保存三份副本,分布存儲于不同存儲集群,即使單份數(shù)據(jù)損壞也不影響存儲文件的可用性,同時保證文件安全。
5、內(nèi)容保護
可通過身份驗證機制及防盜鏈設(shè)置控制終端用戶訪問權(quán)限,避免因內(nèi)容被盜用產(chǎn)生的版權(quán)損失和惡意訪問的流量消耗。
6、圖片處理
提供圖片處理服務(wù),支持圖片縮放、剪裁、添加水印等功能,并提供多種尺寸設(shè)置,滿足移動端、PC端等多終端訪問需求。
7、更低成本
存儲單價僅為云硬盤的1/2,下載由CDN分發(fā),降低存儲及網(wǎng)絡(luò)成本,按實際使用量計費,無存儲及帶寬資源閑置浪費。
8、開發(fā)支持
完備的API接口及SDK開發(fā)包支持,適合多種語言,與原有業(yè)務(wù)無縫結(jié)合,能夠極大縮短開發(fā)周期,幫助業(yè)務(wù)快速上線。
▌總結(jié)
在大量企業(yè)對數(shù)據(jù)存儲需求強勁的背景下,UCloud對象存儲系統(tǒng)應(yīng)運而生。本文通過介紹UFile產(chǎn)品、底層文件存儲系統(tǒng)實現(xiàn)細節(jié)、功能優(yōu)勢,分析了UFile如何實現(xiàn)高可靠及高可用特性。從云存儲技術(shù)出發(fā),UCloud助力各領(lǐng)域企業(yè)更高效、更智能地探索數(shù)據(jù)價值。