国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

飛行器自主保障系統(tǒng)海量數(shù)據(jù)存儲設(shè)計與研究

2019-05-16 09:20麻雨欣曾貴明
宇航計測技術(shù) 2019年2期
關(guān)鍵詞:存儲系統(tǒng)副本哈希

曾 發(fā) 麻雨欣 梁 君 曾貴明 榮 剛

(1.中國運載火箭技術(shù)研究院研發(fā)中心,北京 100076; 2.航天材料及工藝研究所,北京 100076)

1 引言

某飛行器長期在軌運行,為對其上各設(shè)備進行健康管理、故障預(yù)測和分析,在地面設(shè)立自主保障信息系統(tǒng),接收健康診斷的數(shù)傳數(shù)據(jù)和遙測數(shù)據(jù),并在全壽命周期內(nèi)存儲,其中,原碼數(shù)據(jù)每天約為0.186TB,經(jīng)解碼后,數(shù)據(jù)約為2TB,總數(shù)據(jù)將達1PB,且包含大量非格式化的圖片和視頻文件,重復(fù)執(zhí)行任務(wù)時,數(shù)據(jù)隨任務(wù)次數(shù)等量增加,存儲系統(tǒng)需要擴容使用,現(xiàn)有單塊磁盤或磁盤陣列的存儲方案,在存儲容量、讀寫速度、數(shù)據(jù)安全性和存儲擴展性上,都無法滿足要求。本文針對該飛行器自主保障系統(tǒng)海量數(shù)據(jù)及其應(yīng)用特點,設(shè)計一種采用完全對稱架構(gòu)和改進哈希算法的數(shù)據(jù)存儲系統(tǒng)。

2 系統(tǒng)架構(gòu)

2.1 總體架構(gòu)

本文設(shè)計的數(shù)據(jù)存儲系統(tǒng),類似于亞馬遜公司的AWS S3[1]架構(gòu),采用去中心化扁平對稱結(jié)構(gòu),通過軟件定義虛擬化存儲,物理層面使用普通服務(wù)器+磁盤陣列來構(gòu)建冗余可擴展的分布式存儲集群,數(shù)據(jù)寫入、數(shù)據(jù)讀出等應(yīng)用服務(wù)器和存儲集群通過光纖交換機相連,飛行器自主保障原碼數(shù)據(jù)通過測發(fā)控系統(tǒng)經(jīng)光纖交換機寫入,故障推理原碼數(shù)據(jù)經(jīng)光纖交換機讀出,再將推理過程數(shù)據(jù)和結(jié)果數(shù)據(jù)經(jīng)光纖交換機寫入。自主保障系統(tǒng)數(shù)據(jù)存儲總體架構(gòu)見圖1。

圖1 數(shù)據(jù)存儲總體架構(gòu)Fig.1 Overall architecture of data storage

2.2 數(shù)據(jù)組織結(jié)構(gòu)

本文采用無中心節(jié)點和扁平化的數(shù)據(jù)組織結(jié)構(gòu),將數(shù)據(jù)存儲系統(tǒng)劃分為三層邏輯結(jié)構(gòu):賬戶、容器和對象,如圖2所示。賬戶表示一個存儲區(qū)域,并對應(yīng)一個飛行器分系統(tǒng)用戶,若一個分系統(tǒng)切換到另一個分系統(tǒng)下,將看到屬于另一個存儲區(qū)域的容器和對象。本文根據(jù)該飛行器分系統(tǒng)劃分,設(shè)為不同的賬戶,如GNC分系統(tǒng)用戶、遙感分系統(tǒng)用戶、電源分系統(tǒng)用戶、熱控分系統(tǒng)用戶、遙測分系統(tǒng)用戶、綜合電子分系統(tǒng)、結(jié)構(gòu)分系統(tǒng)等。容器是存儲對象的存儲空間,其內(nèi)部扁平,沒有目錄概念,所有對象直接隸屬于其對應(yīng)容器;每個飛行器分系統(tǒng)可擁有多個容器;容器內(nèi)對象數(shù)目沒有限制。對象作為存儲對象,由對象元信息、用戶數(shù)據(jù)和文件名組成,并由容器內(nèi)唯一的文件名標識,其生命周期從上傳磁盤到被刪除為止,整個周期內(nèi),對象信息不可變更。

圖2 數(shù)據(jù)組織結(jié)構(gòu)Fig.2 Structure of data organization

2.3 存儲架構(gòu)

本文設(shè)計的數(shù)據(jù)存儲系統(tǒng)通過軟件定義存儲服務(wù),采用完全對稱架構(gòu),其軟件邏輯組成見圖3,硬件部署如圖4所示,主要包括四個組成部分:代理服務(wù)組件、存儲服務(wù)組件、存儲一致性服務(wù)組件和哈希環(huán),其中代理服務(wù)組件、哈希環(huán)部署在代理服務(wù)器上,存儲服務(wù)組件和存儲一致性服務(wù)組件部署在用于數(shù)據(jù)存儲的物理存儲服務(wù)器上。

圖3 軟件邏輯組成Fig.3 Logic composition of Software

圖4 硬件部署Fig.4 Devices deployment

2.3.1 代理服務(wù)組件

代理服務(wù)組件負責系統(tǒng)其余組件間的相互通信, 并提供系統(tǒng)對外接口的服務(wù)進程。對飛行器每個分系統(tǒng)數(shù)據(jù)存儲請求,代理服務(wù)組件在哈希環(huán)中查詢賬戶、容器或?qū)ο蟮奈恢茫⑾鄳?yīng)轉(zhuǎn)發(fā)請求。若某個物理存儲服務(wù)器不可用,代理服務(wù)組件將查詢哈希環(huán)中可用物理服務(wù)器,將存儲請求轉(zhuǎn)發(fā)過去。代理服務(wù)組件對用戶提供Rest-ful API接口和TCP/IP協(xié)議規(guī)范,其部署所在服務(wù)器相當于一臺對外提供通信交互服務(wù)的HTTP服務(wù)器。

2.3.2 存儲服務(wù)組件

存儲服務(wù)組件提供存儲服務(wù)器磁盤陣列上的存儲服務(wù),包括三類存儲服務(wù)模塊:賬戶服務(wù)模塊、容器服務(wù)模塊和對象服務(wù)模塊。賬戶服務(wù)模塊處理對賬戶請求,使用SQLite數(shù)據(jù)庫文件保存賬戶相關(guān)信息。容器服務(wù)模塊負責處理對象列表和跟蹤統(tǒng)計對象總數(shù)、容器使用情況,同樣使用SQLite數(shù)據(jù)庫文件保存容器相關(guān)信息。對象服務(wù)模塊負責處理對對象的請求,直接操作對象,讀寫存儲對象。存儲服務(wù)組件組成及工作機制見圖5。

圖5 存儲服務(wù)組件組成及工作機制Fig.5 Composition and working mechanism of storage service components

2.3.3 存儲一致性服務(wù)組件

存儲一致性服務(wù)組件用來查找并解決由數(shù)據(jù)損壞和硬件故障引起的錯誤,保證對象的最終一致性,主要有三個服務(wù)模塊:審計服務(wù)模塊、更新服務(wù)模塊和副本服務(wù)模塊。審計服務(wù)模塊檢測每臺物理服務(wù)器上的賬號、容器和對象完整性,發(fā)現(xiàn)損壞后將數(shù)據(jù)移動到隔離區(qū)域,再由副本服務(wù)模塊用一個完好副本替代。更新服務(wù)模塊分別更新賬戶列表和對象列表,若賬戶服務(wù)模塊和容器服務(wù)模塊繁忙,則待其正常后再更新。副本服務(wù)模塊保持數(shù)據(jù)合理副本數(shù),并確認存放位置是否正確,保證各物理服務(wù)器面臨故障時保持數(shù)據(jù)一致性。存儲一致性服務(wù)組件組成見圖6,工作機制見圖7。

圖6 一致性服務(wù)組件組成Fig.6 Composition of consistency service components

圖7 一致性工作機制Fig.7 Working mechanism for consistency

2.3.4 哈希環(huán)

本存儲系統(tǒng)引入哈希環(huán),記錄存儲對象與物理位置間的映射關(guān)系,哈希環(huán)分布于所有代理服務(wù)器,是整個數(shù)據(jù)存儲系統(tǒng)核心,存取對象都需哈希環(huán)參與。哈希環(huán)包括賬戶哈希環(huán)、容器哈希環(huán)、對象哈希環(huán),查詢賬戶、容器、對象信息時,需查詢集群中各自的哈希環(huán)信息,并用分區(qū)、設(shè)備、節(jié)點和副本等信息維護映射。哈希環(huán)中同一個節(jié)點包含3個副本。每個節(jié)點的位置由哈希環(huán)來維護,并存儲在映射中。系統(tǒng)初始化時創(chuàng)建哈希環(huán),此后增減存儲節(jié)點都要更新哈希環(huán)中信息,重新達到平衡,以保證最少遷移文件數(shù)量。

本文將哈希算法進行改進,哈希環(huán)采用分區(qū)、設(shè)備、浮動虛擬節(jié)點、權(quán)重和副本來維護映射信息,相關(guān)概念見下文。

3 存儲工作機理

一個優(yōu)秀數(shù)據(jù)存儲系統(tǒng)需滿足如下幾項要求:增減存儲節(jié)點遷移數(shù)據(jù)少;數(shù)據(jù)存儲安全;數(shù)據(jù)訪問安全;存儲資源分配均衡。本文設(shè)計的數(shù)據(jù)存儲系統(tǒng)存儲工作機理主要采用以下幾個概念來滿足這些要求。

3.1 改進哈希算法

本數(shù)據(jù)存儲系統(tǒng)在普通哈希算法[2~3]的基礎(chǔ)上,采用引入浮動虛擬節(jié)點的一致性哈希算法,以在改變物理節(jié)點數(shù)量時盡量少改變已存在鍵值和物理節(jié)點間的映射關(guān)系,減少數(shù)據(jù)遷移量。該算法便于構(gòu)建冗余可擴展分布式數(shù)據(jù)存儲系統(tǒng),適應(yīng)自主保障數(shù)據(jù)存儲特點。該算法分六個步驟:

(1)每個物理節(jié)點設(shè)置2X倍個虛擬節(jié)點,并形成一對多映射;

(2)計算每個虛擬節(jié)點哈希值,并將其分配到1個0~232的圓環(huán)上;

(3)計算存儲對象哈希值,并將其分配到(2)中圓環(huán)上,算法與(2)相同;

(4)從數(shù)據(jù)映射到的位置起順時針查找,將其保存到找到的第1個虛擬節(jié)點,若超過232仍未找到,則保存到第1個虛擬節(jié)點;

(5)將虛擬節(jié)點反射到物理節(jié)點,確定對象存儲的物理位置;

(6)根據(jù)每個物理節(jié)點負載特性,浮動調(diào)整X值,以調(diào)整虛擬節(jié)點數(shù)。

為簡化分析,先設(shè)每個物理節(jié)點對應(yīng)1個虛擬節(jié)點,假設(shè)在這個環(huán)形哈??臻g中存在4個節(jié)點,分別為節(jié)點1~節(jié)點4,若增加1個節(jié)點5,根據(jù)上述算法,得出節(jié)點5被映射在節(jié)點3和節(jié)點4之間,則僅需將從節(jié)點3順時針到節(jié)點5之間的數(shù)據(jù)進行遷移,其分布如圖8所示,圖中節(jié)點是虛擬節(jié)點,也是物理節(jié)點。

圖8 一致性哈希環(huán)結(jié)構(gòu)Fig.8 Structure of Consistent Hash Ring

為提高存儲系統(tǒng)擴展性能,進一步減少增減節(jié)點引起的數(shù)據(jù)遷移量,先將每個物理節(jié)點的虛擬節(jié)點個數(shù)設(shè)置為25倍數(shù)值,使每個物理節(jié)點對應(yīng)多個虛擬節(jié)點,即增加圖8中哈希環(huán)的節(jié)點數(shù)。通過兩層映射,將對象與相應(yīng)物理節(jié)點聯(lián)系起來,先將對象映射到虛擬節(jié)點,再將虛擬節(jié)點映射到物理節(jié)點,建立對象與相應(yīng)物理節(jié)點的多對多映射關(guān)系。對象與虛擬節(jié)點的映射關(guān)系由一致性哈希算法實現(xiàn),虛擬節(jié)點與物理節(jié)點的映射關(guān)系主要遵循多個副本應(yīng)分布在不同物理節(jié)點的原則,并由哈希環(huán)文件中的Partition Assignment List二維數(shù)組實現(xiàn)。引入虛擬節(jié)點后的映射關(guān)系和哈希環(huán)結(jié)構(gòu)如圖9所示。

圖9 引入虛擬節(jié)點后的映射關(guān)系和哈希環(huán)結(jié)構(gòu)Fig.9 Mapping relation and structure of Hash Ring after introducing virtual nodes

實際運行時,因設(shè)備性能差異和忙閑隨機性等,各物理節(jié)點負載動態(tài)變化,且大小不一,為實現(xiàn)不同物理節(jié)點間負載均衡,將每個物理節(jié)點的虛擬節(jié)點個數(shù)設(shè)置為24~26倍浮動數(shù)值,再在某時間間隔內(nèi),根據(jù)各個虛擬節(jié)點訪問量反饋值進行動態(tài)調(diào)整,并設(shè)置闕值決定是否調(diào)整。

當飛行器重復(fù)執(zhí)行任務(wù)、等量增加數(shù)據(jù)、數(shù)據(jù)存儲系統(tǒng)再增設(shè)物理節(jié)點時,采用改進哈希算法,可減少已有物理節(jié)點的數(shù)據(jù)遷移量。

3.2 副本

若數(shù)據(jù)在系統(tǒng)中沒有冗余副本,一旦發(fā)生故障就可能永久丟失,存儲安全性得不到保障。本存儲系統(tǒng)不采用傳統(tǒng)的RAID磁盤陣列保護數(shù)據(jù)安全方式,而引入數(shù)據(jù)副本概念,理論依據(jù)源于NWR策略[4,5],其中:N為同1個數(shù)據(jù)的副本份數(shù);W為更新1個數(shù)據(jù)需更新成功的份數(shù);R為讀取1個數(shù)據(jù)需讀取的副本份數(shù)。該策略中,為保證某個數(shù)據(jù)不同時被不同事務(wù)讀和寫,要求W+R>N;為保證兩個事務(wù)不能并發(fā)寫某個數(shù)據(jù),要求W>N/2。本數(shù)據(jù)存儲系統(tǒng)設(shè)置1份數(shù)據(jù)有3份副本,即N=3,并取W=2,R=2,可知符合NWR策略,系統(tǒng)無單點故障,可保證數(shù)據(jù)存儲安全。

3.3 分區(qū)

若所有物理節(jié)點都布置在一個機柜或一個機房時,一旦發(fā)生掉電、斷網(wǎng)、怠機等故障,都將造成自主保障系統(tǒng)中飛行器各分系統(tǒng)用戶無法讀寫。因此在哈希環(huán)中引入分區(qū)概念,把集群的物理節(jié)點分配到各個分區(qū)中,其中:同一個虛擬節(jié)點的副本不放在同一物理節(jié)點,也不放在同一分區(qū);分區(qū)大小根據(jù)自主保障應(yīng)用需求和硬件基礎(chǔ)自定義,如一個機房或一個機柜、一臺服務(wù)器甚至一塊磁盤。根據(jù)該飛行器測發(fā)控系統(tǒng)特點,存儲設(shè)備分別布設(shè)在發(fā)射場、測控站,構(gòu)建多個分區(qū)。通過分區(qū)機制,對存儲設(shè)備的物理位置進行隔離,可滿足分區(qū)容忍性[6],確保數(shù)據(jù)讀寫安全。

3.4 權(quán)重

哈希環(huán)引入權(quán)重的目的是解決未來飛行器任務(wù)增加,自主保障系統(tǒng)添加存儲能力更大的物理節(jié)點時,可分配到更多的虛擬節(jié)點,其權(quán)重大小與物理節(jié)點容量大小成正比,以此實現(xiàn)存儲資源均衡分配。如40TB容量的物理節(jié)點,其虛擬節(jié)點數(shù)為20TB物理節(jié)點的兩倍,可設(shè)置40TB節(jié)點的權(quán)重為4000,而10TB節(jié)點的權(quán)重為2000。系統(tǒng)運行后,每個物理節(jié)點的權(quán)重,需根據(jù)其分配的全部虛擬節(jié)點訪問量反饋值動態(tài)修正,動態(tài)調(diào)整其虛擬節(jié)點個數(shù),特別是增減物理節(jié)點時,各個權(quán)重需更大幅度修正。

4 設(shè)計結(jié)果與測試

4.1 原理樣機

本文設(shè)計的該飛行器自主保障系統(tǒng)的數(shù)據(jù)存儲原理樣機如圖10所示,由圖可見其存儲原理及算法。

圖10 飛行器自主保障系統(tǒng)數(shù)據(jù)存儲原理樣機Fig.10 Prototype of data storage for autonomous logistics system of some aerocraft

系統(tǒng)存儲容量為1000TB,將存儲集群分為5個分區(qū),1個分區(qū)為1個節(jié)點,每個分區(qū)為1臺服務(wù)器,每臺物理服務(wù)器上安裝112塊1.8TB容量7.2K轉(zhuǎn)速的SAS磁盤,2塊磁盤以RAID1構(gòu)建操作系統(tǒng)盤,其余磁盤全部作為存儲盤。每臺服務(wù)器虛擬成2臺服務(wù)器,其中1臺為存儲代理服務(wù)器,1臺為數(shù)據(jù)存儲服務(wù)器,作為存儲節(jié)點。系統(tǒng)采用完全對稱的架構(gòu),每臺服務(wù)器硬件和軟件配置完全一樣,并安裝代理服務(wù)組件、對象服務(wù)組件、容器服務(wù)組件和賬戶服務(wù)組件等全部存儲服務(wù)軟件,以確保其角色完全對等。出于安全和性能考慮,在業(yè)務(wù)前部署1臺負載均衡服務(wù)器,但不屬于數(shù)據(jù)存儲系統(tǒng)。

圖10中分別有執(zhí)行存儲和讀取文件的數(shù)據(jù)流,操作同一個對象,即飛行器上有效載荷CCD拍攝的1個10GB原碼圖片文件Satelite.png。存儲時,有效載荷分系統(tǒng)用PUT寫指令通過負載均衡隨機挑選1臺代理服務(wù)器,將寫請求轉(zhuǎn)發(fā)到后者,其代理服務(wù)組件通過查詢本地哈希環(huán)文件,選擇3個不同分區(qū)中的存儲服務(wù)器存儲該圖片,然后同時將其發(fā)送到這3個存儲節(jié)點,存儲服務(wù)組件通過預(yù)設(shè)置的文件切割程序,將其分為21段,每段500MB,并行發(fā)送到某個分區(qū)下有效載荷分系統(tǒng)所屬容器中。該過程需滿足NWR策略,即3份副本至少寫成功2份,再給有效載荷分系統(tǒng)返回圖片存儲成功消息。下載時,有效載荷分系統(tǒng)用GET讀指令通過負載均衡隨機挑選1臺代理服務(wù)器,其代理服務(wù)組件中的哈希環(huán)文件查詢到該圖片存儲在哪3個節(jié)點,再同時向后端查詢,至少有2個節(jié)點回信可提供該圖片,最后代理服務(wù)器選擇其中1個節(jié)點下載該圖片。

4.2 性能測試

本數(shù)據(jù)存儲系統(tǒng)性能測試針對請求響應(yīng)、吞吐量、負載均衡3個指標進行,并對算法改進前后進行對比,每個物理存儲節(jié)點的配置見表1,測試數(shù)據(jù)大小介于1KB~5GB之間,隨機選取飛行器自主保障系統(tǒng)中各分系統(tǒng)數(shù)據(jù)。

表1 物理節(jié)點配置Tab.1 Configuration of the physical nodes

表2為哈希算法改進前后集群的用戶請求響應(yīng)對比情況,可看出,在訪問量不大時,哈希算法改進前后的響應(yīng)時間基本一致,訪問量逐漸增加后,哈希算法改進后的響應(yīng)時間略長,因為對象動態(tài)復(fù)制過程需要一定時間,隨該過程完成,響應(yīng)時間就明顯短于哈希算法改進前。

表2 哈希算法改進前后對請求響應(yīng)的影響Tab.2 Influence on request response before and after improving Hash algorithm

表3為哈希算法改進前后集群的吞吐量對比情況,可看出,在訪問量不大時,訪問量逐漸增加后,哈希算法改進前后的吞吐量基本一致,都保持增長,訪問量繼續(xù)增加后,哈希算法改進前的吞吐量開始下降,而哈希算法改進后的吞吐量繼續(xù)增長,明顯大于改進前。

表4為哈希算法改進前后集群的負載均衡度對比情況,可看出,改進后的均衡度遠比改進前的均衡度小,說明采用改進算法后比改進前能更好保持集群的負載均衡,因為對訪問量大的物理節(jié)點,其虛擬節(jié)點數(shù)動態(tài)減小,訪問量減小使其負載減輕,對訪問量小的物理節(jié)點,其虛擬節(jié)點數(shù)動態(tài)增加,訪問量增大使其負載加大,而物理節(jié)點加入或退出集群時,虛擬節(jié)點的訪問頻率影響其到物理節(jié)點之間的映射關(guān)系,過度負載和過度空閑物理節(jié)點間虛擬節(jié)點的調(diào)整有助于提高集群負載均衡。

表3 哈希算法改進前后對吞吐量的影響Tab.3 Influence on throughput before and after improving Hash algorithm

表4 算法改進前后對負載均衡度的影響Tab.4 Influence on load balancing before and after improving Hash algorithm

由上面測試可知,哈希算法改進后的對象存儲在用戶訪問的響應(yīng)時間、吞吐量和負載均衡3個性能指標都有所優(yōu)化,特別是吞吐量和負載均衡有明顯提高。

4.3 性能優(yōu)勢

結(jié)合完全對稱架構(gòu)的固有優(yōu)點和上述性能測試結(jié)果顯示,本文設(shè)計的海量數(shù)據(jù)存儲系統(tǒng),性能上具有如下幾個優(yōu)勢:

(1)數(shù)據(jù)存儲完全均勻隨機分布,并引入副本概念,默認存儲3個副本,無一個單點,可靠地保證了系統(tǒng)安全性。

(2)采用各節(jié)點角色對等的完全對稱架構(gòu),可無限擴充存儲容量,只需簡單新增磁盤或存儲服務(wù)器,自動完成數(shù)據(jù)遷移,各節(jié)點重新達到平衡。

(3)可將數(shù)據(jù)切細,并行地存儲到不同磁盤上,讀寫速度快,數(shù)據(jù)可靠性高,采用改進哈希算法后,讀寫速度明顯提高,負載均衡更好。

5 結(jié)束語

針對某飛行器自主保障系統(tǒng)海量數(shù)據(jù)及其應(yīng)用特點,設(shè)計了一種海量數(shù)據(jù)存儲系統(tǒng),通過軟件定義虛擬化存儲,采用完全對稱架構(gòu)和改進哈希算法,具有很高存儲安全性、容量無限擴展性和良好讀寫速度,很好滿足了該飛行器自保系統(tǒng)海量數(shù)據(jù)存儲需求。

猜你喜歡
存儲系統(tǒng)副本哈希
分層式大數(shù)據(jù)存儲系統(tǒng)緩存調(diào)度策略與性能優(yōu)化
基于特征選擇的局部敏感哈希位選擇算法
哈希值處理 功能全面更易用
文件哈希值處理一條龍
主動容錯云存儲系統(tǒng)的信息自適應(yīng)管理調(diào)度模型
天河超算存儲系統(tǒng)在美創(chuàng)佳績
面向4K/8K的到來 存儲該怎么辦?
國家知識產(chǎn)權(quán)局公告:專利證書改版
巧用哈希數(shù)值傳遞文件
新副本“戰(zhàn)歌之城”怨靈BOSS面面觀
江永县| 银川市| 邹城市| 纳雍县| 康定县| 武川县| 红河县| 镇平县| 苏尼特右旗| 陈巴尔虎旗| 广平县| 绿春县| 抚松县| 古田县| 军事| 溧水县| 阳谷县| 南雄市| 公安县| 新宁县| 沂水县| 望奎县| 合阳县| 贺兰县| 临邑县| 深州市| 合山市| 霍邱县| 长治市| 剑河县| 静安区| 子洲县| 湖北省| 平乡县| 新兴县| 巴林右旗| 施甸县| 灵武市| 通渭县| 焉耆| 潞城市|