陳紅麗 張嫻 楊亞琦
云南省市場監督管理局信息中心 云南 昆明 650228
傳統數據中心在信息爆炸引發的巨大社會變革下已不能適應大數據時代的要求。為了適應新技術的發展,有效利用大數據,實現新型數據中心建設,為大數據應用提供環境支持,新一代數據中心應把重點放在數據計算上。然而,傳統數據中心建設往往需要較高的投入來構建基礎數據的存儲環境。在基于大數據和云計算的新一代大數據中心建設中,如何解決這一矛盾是研究的重點。由于設備容量有限,傳統的集中式數據存儲已不能適應當前形勢。分布式存儲系統以其良好的擴展性、魯棒性和高效性超越了傳統集中式存儲技術。
可通過云計算實現基于 Web的計算服務,以滿足不同的需求。然而,云數據的安全和隱私信息的保護也成為云應用發展的一個關鍵問題。安全方面的一個主要問題是,云運營商將獲取敏感數據,這極大地增加了用戶的憂慮,并降低了云計算在諸如政府部門數據中心等領域的應用能力。
下一代智慧城市時代的代表是我們空間中的每一個實體都越來越緊密地聯系在一起,這些實體基于流行的快速無線網絡、大數據處理平臺和先進的人工智能技術,能夠共享現實世界的情景數據,并以更加智能的方式解決了城市問題。真實空間要求將網絡物理系統與以數據為中心的網絡空間相連接,而網絡空間往往是感知數據反映真實空間的狀態。同樣的,因為這些來自現實世界的感知數據都是通過物聯網技術產生和收集的,所以我們稱之為“物聯網數據”,利用各種傳感器可以很容易地想象出很多場景。由于感測設備在我們日常生活中的廣泛應用,物聯網數據也越來越普及。如今,為了創造新的價值,人們強烈地要求它們。因此,物聯網數據集成成為解決現實世界問題的關鍵,但從不同來源合并或集成物聯網數據并非易事,原因如下:①從下向上生成數據:物聯網數據源通常有自己的目標,不會考慮到其他用途;②需要花費很大代價和精力才能集成這些數據。資料格式也多種多樣,如文字、音頻、視頻等資料,對資料的存儲要求更高。
隨著物聯網、云計算技術在當今社會的發展,數據量以前所未有的速度增長,數據中心的規模冗余將成為一個更大的挑戰。負責政府數據的數據中心由于占地面積大,選址方案需要政府支持;就地理位置的選擇而言,過去二十年來,數據中心的選址經歷了三個階段:位于城市中心;位于郊區;以及遠距離的選址。而且,經過這三個階段,數據中心也“越長越大”。20年前,除了三大運營商之外,在其他行業幾乎找不到面積超過500平方米的 IT機房。而且現在,各行各業的龍頭企業自建上千平方米的機房比比皆是。現在數萬平方米的數據中心已經不起眼,5萬平方米、10萬平方米的數據中心不斷涌現。但是,數據中心的規模越大,就意味著業務越集中,業務越集中就意味著風險越大。就操作經理的觀點而言,他并不希望所管理的數據中心過于龐大。隨著數據中心規模的增大,實際運行的壓力也在增大,甚至呈幾何倍數增長。大規模數據中心運營監控系統的建設與維護費用非常昂貴[1]。
2.1.1 根據網絡拓撲結構對數據進行分塊后,選擇合適的存儲節點對數據進行存儲。在存儲數據時,首先將數據分成若干塊,然后根據用戶的不同需求,選擇合適的節點存儲在網絡拓撲結構中。
2.1.2 通過改變存儲系統結構來存儲數據。數據存儲是通過在分布式存儲系統中建立一組數據存儲過程來存儲數據的,也就是一個云服務供應商的單個云數據存儲過程和一個以上云服務供應商的多云數據存儲過程來實現。該方法靈活性強,在一定程度上能充分滿足用戶需求。
2.1.3 采用數據加密的方式存儲數據,如果存儲的數據量過大,加密大量數據的過程非常耗時,消耗了計算資源,在目前情況下,大多數情況下,這種方法僅適用于存儲少量數據。
數據存儲分為兩類方法:基于數據的數據存儲和基于存儲系統的數據存儲。
2.2.1 以數據為基礎的數據存儲,為了保證數據的安全,經常要對數據本身進行修改以實現數據存儲。多數數據存儲方法采用數據加密技術,數據加密可以分為對存儲數據本身進行加密和對存儲信息進行加密。前一種方法通過對存儲數據本身進行加密來保證其安全性。這種方法可以對數據進行保密處理。只有當攻擊者破壞加密算法時,它才會竊取存儲的數據。該方法在保證數據安全的前提下提高了加密算法的效率。以存儲信息為基礎的加密方法不對存儲數據本身加密,而是對存儲服務器 ID信息、數據存儲路徑等中間信息加密。因為數據本身并不加密,只對存儲過程中產生的信息進行加密,加密時間短,減少了數據存儲時間,更易于為用戶接受。
2.2.2 以存儲系統為基礎的數據存儲與數據本身無關,它可以確保存儲系統的存儲質量。儲存品質是指使用者對儲存資料的不可破壞性、存取時間等要求。根據網絡拓撲結構的不同,存儲模式可以分為基于網絡的拓撲結構和基于存儲的拓撲結構兩種。以網絡存儲數據存儲為基礎,采用圖論中的點著色法,根據數據的安全性和數據訪問時間,選擇滿足用戶需求的數據存儲節點。在存儲系統中,通常分為數據存儲、存儲代理和第三方審核三大部分。記憶體將資料上傳至記憶體,由第三方檢查資料完整性,確保資料安全。
2.3.1 基于存儲路徑加密的數據存儲方法。在數據存儲過程中,用戶通常需要保證一定的數據存取效率,同時也需要對數據進行加密,與加密數據本身的加密算法相比,加密數據存儲路徑可以大大減少加密時間,同時保證一定的數據安全。本文將介紹基于云存儲的數據存儲方法。在信息產業新的變革中,云計算成為一個非常重要的研究領域。云為用戶按需提供了方便且經濟有效的服務。隨著數據量的不斷增加,海量數據存儲已經成為一種新的發展趨勢。用有效的方法來存儲這些數據很重要。云計算存儲可靠、廉價、易于擴展。但隨著大數據和網絡的發展,云存儲必須多樣化,才能滿足各種服務和各種設備的需求。但這些因素帶來了兩個挑戰:其一,用戶很容易受到云服務供應商的限制。一旦提供商泄露了數據庫或者其他的安全事件,用戶就會永遠丟失他們的數據。所以只在一個提供者中存儲數據是非常危險的。另外一個挑戰是,不同用戶的需求不同。這個字符導致云存儲資源失衡。多云存儲是近年來出現的一種新的云存儲服務。使用者可將檔案儲存于多個不同的云端,而非單一云端。這個框架可以減少數據泄露的風險。多云存儲可以基于所有云供應商的狀態來動態地選擇存儲策略。如果某個云服務提供商崩潰了,多云系統會選擇另一個合適的云。
2.3.2 基于網絡拓撲的數據存儲方法。通過數據中心網絡,可以進一步提高因特網基礎設施的性能,如信息傳輸、存儲和網絡容量。由于增加了更多的網絡連接和交換機,服務器數量也隨之增加,甚至成倍增長。就物理設備而言,數據中心網絡是一個物理系統,大型服務器通過網絡設備進行互聯;從功能上來說,數據中心網絡是一個大型互聯系統,它將物理設備(服務器、交換所)有機地聯系在一起。設備、基礎設施等互連結構以及計算、存儲和通信能力,這些都為客戶提供了高效、可靠和低價的服務。
近年來,數據中心網絡拓撲有兩大類:以交換機為中心的拓撲和以服務器為中心的拓撲。總的來說,以服務器為中心的數據中心網絡拓撲在某些網絡性能上要好于以交換機為中心的網絡拓撲。本文簡要介紹Fat-tree和BCube。Fat-Tree通過使用便宜的普通交換機在服務器和交換機之間實現大規模互連,它替代了昂貴的高性能核心交換機,以解決傳統樹結構中的帶寬瓶頸和單點故障問題。與傳統的多根樹結構類似,胖樹采用了具有核心級別、聚合級別和邊緣級別的三層結構。Fat-Tree中任何級別之間的聚合帶寬都相等,因此它解決了傳統樹形結構中聚合帶寬不均等導致的帶寬瓶頸,從而實現了網絡節點之間更高的數據傳輸和容錯能力。數據中心中的經典拓撲BCube,在容錯能力和網絡容量方面均具有良好的性能。BCube作為數據中心拓撲中的經典結構也可以在某些性能方面進行改進,例如BCube在可伸縮性方面并不完美,相信這個問題將通過數據中心網絡技術來解決。現有的以服務器為中心的網絡拓撲在某些性能上已經達到了理想的性能,而在其他性能上卻表現不佳,在實際應用中不允許出現這種情況。基于現有的網絡拓撲,提出一個可以在各個方面都達到理想條件的新拓撲在實際應用中就非常有意義[2]。
該技術旨在以低成本提供盡可能高的系統資源利用率。當前普遍使用的數據容錯技術包括基于復制的容錯和基于容錯編碼的容錯。
在高能物理、數據挖掘和氣候模擬等許多領域的科學應用的新興趨勢表明,這些應用可產生大量的數據。由此產生的輸出數據反過來被存儲以做進一步分析,并與分布在世界各地的科學界合作研究人員共享。在集中的位置管理這些數據會增加數據訪問時間,因此執行作業要花費很多時間。故障在當前的數據中心中非常常見。由于硬件、軟件、斷電等原因導致的各種服務器、鏈路、交換機、機架故障。隨著網絡規模的增長,個別服務器和交換機故障可能成為常態,而不是異常。因此,為了減少數據訪問時間,使用基于復制的容錯技術。在基于復制的容錯技術領域,研究人員通常研究數據組織結構和數據復制策略。在這樣的環境中,在分布式系統中復制對象對系統性能有至關重要的影響。例如,考慮一個對象O。它的復制方案是將O復制到的一組處理器。在萬維網術語中,復制方案是O的一組服務器。因此,復制方案決定創建O的多少副本,以及將這些副本分配給哪些處理器。這種方案會影響分布式系統的性能,因為從本地讀取O比從遠程處理器讀取O更快,成本更低。因此,在一個讀密集型網絡中,為了增加本地讀的數量并減少中央服務器上的負載,需要使用廣泛分布的O復制。另一方面,對象的更新通常寫入所有或大部分副本。在這種情況下,廣泛的分發會減慢每次寫操作的速度,并增加通信成本。因此,在寫密集型網絡中,必須使用窄分布的復制。通常,對象的最佳復制方案取決于讀寫模式,即每個處理器發出的讀和寫的數量。分布式數據庫的復制方案是在數據庫設計時以靜態的方式建立的。復制方案保持不變,直到設計器手動干預更改副本的數量或副本的位置。如果讀寫模式是固定的,并且是已知的,那么這是一個合理的解決方案。
目前有兩種容錯技術,一種是基于復制的容錯技術,另一種是基于糾刪碼的容錯技術。前者需要巨大的存儲開銷;后者來自于信道傳輸編碼技術,該技術可以容忍多幀數據丟失,并引入到分布式存儲區域中。基于糾刪碼的容錯技術是最常見的容錯技術,它可以允許多個數據塊同時發生故障。盡管大規模復制具有提高可用性和持久性的潛力,但它給系統架構師帶來了兩個重要的挑戰。第一,系統架構師必須增加副本的數量,以實現大型系統的高持久性。第二,副本數量的增加增加了系統的帶寬和存儲需求。糾刪碼可以減少容錯數據存儲和傳輸系統中冗余的空間和帶寬開銷。糾刪碼將一個數據塊編碼成n個片段,每個片段的大小都是原始數據塊的1/m,因此任意m個片段都可以用來重建原始數據塊。因此,(n-m)片段可能不可用(例如,由于損壞或服務器故障)而不會失去訪問權限。具有這些特性的糾刪碼方案包括Reed Solomon編碼和Rabin信息散布算法。
基于復制的容錯技術簡單、直觀,易于實現和部署。當數據無效時,復制只需要從其他副本下載相同大小的數據進行修復;但是需要為每個數據對象創建大量大小相同的副本,這意味著存儲空間非常大。該糾刪碼能夠從丟失通道中重構信息,并將多個數據塊的信息融合成冗余信息,具有存儲空間利用率高的優點。
本文研究了大數據和云計算環境下分布式存儲的關鍵技術,詳細介紹了有關技術的研究成果及存在的主要問題,希望能為其他領域的研究提供借鑒和幫助。