格線的數據管理
數據是格線中的一種重要資源,具有可複製、可移動、可壓縮、可加密等特性。格線上許多數據的數據量非常大,且通常為分散式存儲,需要專門的管理機制來管理格線上的數據,如數據傳輸、數據存儲、副本管理等。
格線數據
格線數據也是一種資源,但這種資源與其他格線資源相比,具有一些與眾不同的特點:
(1)格線中數據的量是巨大的
格線計算,特別是數據密集型的眾多科學和工程計算,通常會需要處理大量的數據,如美國宇航局的衛星每天都將處理和生成超過2TB的數據,全球氣候變暖模擬實驗也產生TB數量級的數據。另外,對於追求高精度的格線套用,如天氣預報的計算、大型仿真計算等,為了提高計算問題的精度,就需要處理更大的數據量。
(2)數據資源是格線套用或程式之間聯繫的紐帶
格線套用領域中的程式需要訪問和產生大量的數據,不同的程式之間也需要傳輸大量的數據,以實現信息的互動和協調的工作。以天氣預報為例,原始的數據來自各個地區觀測台的實時觀測數據以及某個數據中心的歷史天氣信息,它們經計算中心處理加工後,形成未來天氣的預報信息,該信息數據再由發布系統發布給用戶,如電視台、專業網站等。貫穿此過程的就是數據資源,包括實時觀測數據、歷史數據、預報數據,它們將觀測系統、處理系統、發布系統聯繫起來,構成完整的天氣預報格線套用。
(3)數據資源具有可無限複製的特點
只要通過合法的用戶請求,格線數據資源就可以被複製成指定的多個備份。例如一份數字地圖的數據,可以複製給多個使用者;或者是一類商品的類型、價格、銷量等信息,可以在廠家、代理和銷售商之間複製和同步。而其他類型的格線資源則不一定具有可複製的特點。例如硬體資源就無法複製,作業系統、套用軟體及其許可證(License)也不應該被複製。
(4)數據資源具有特殊的存儲機制
格線中的數據資源可以創建多個副本,並存於不同的地方,用戶請求該數據時,格線管理機構在原始數據和多個備份之間選擇合適的數據副本供用戶使用。一個數據集也可以是地理上分布的,即一個數據集的多個部分存放在不同的地方,但對用戶而言,看到的還是一個完整的數據集,請求使用時當作一個資源來請求,格線管理機構將分散的數據部分合理地組織起來交給用戶使用。數據資源還是可被快取的,用戶使用數據資源時可以在本地或距離使用點近的範圍中快取該資源,當以後需要再次使用時只要訪問本地快取就可以了。
格線數據管理的功能
數據管理是格線系統中重要的模組,它要為格線用戶提供透明地共享使用格線上存儲資源和數據資源的手段,為用戶提供透明地訪問、存儲、傳輸和管理數據的界面,使用戶能夠方便地實現數據共享。
(1)數據實例
格線中的數據可以用數據檔案或資料庫的形式存在,為了隱藏以不同形式存儲的數據的具體細節,提供一個統一的接口,格線中引入了“數據實例”這個新的概念。數據實例是格線上數據管理的基本單位,它可以是一個數據檔案或其中的一部分,也可以是一個資料庫或其中的部分數據記錄,還可以是數據實例的組合,通過數據實例的屬性就可以訪問相應的數據。
(2)數據傳輸
數據傳輸將數據從源節點傳輸到目的節點,這是格線數據管理的基本功能之一。用戶作業所需的輸入數據、套用運行產生的結果數據、交換運算過程中的中間數據都需要數據傳輸的支持。將數據下載到本地,然後開始套用是普遍可見到情況,在某些情況下,如因本地存儲空間的限制而不能將所有數據下載到本地後再使用時,數據傳輸將會更加頻繁。數據傳輸需要滿足傳輸速度、數據完整性、容錯性的要求。
數據傳輸可以在源節點和目的節點之間建立一條通路,完成所有數據的傳輸。為了提高數據傳輸的速度,可使用並行傳輸技術。這種方式在節點之間建立多個數據連線,在不同的數據通道上傳輸數據的不同部分。在源節點的傳送能力和目的節點的接收能力足夠的前提下,增加通路的數量,從而提高數據傳輸的速度。
數據傳輸過程中由於各種原因,如網路故障導致丟包,可能會導致源節點傳出的數據和目的節點接收到的數據不一樣。有些套用對此不十分敏感,如少量的丟包不會影響語音套用,許多其他的套用,如檔案傳輸,則不允許這種情況的發生。為此,一般使用出錯重傳或糾錯的方式來解決。但某些套用場合,如實時控制,還對時間有嚴格的要求,沒有多餘的時間請求出錯重傳或糾錯,這時可使用容錯傳輸技術獲得很好的服務質量。容錯傳輸在源節點和目的節點之間建立多條數據通道,每條通道上傳輸相同的內容,一旦某條或多條通道出現傳輸錯誤,就會出現目的節點接收多個數據不一樣的情況,通過表決的方式,少數服從多數,選擇正確的數據,從而避免重傳或糾錯操作。這種方式雖然不能完全消除傳輸錯誤,但可以降低出錯的機率。
格線中除了目的節點主動向源節點請求、源節點向目的節點自動分發會觸發數據傳輸外,還有一種特殊的情況,即由第三方驅動數據傳輸。這種方式為格線套用帶來了便利,任何一個用戶或套用可以從任何節點發出請求實現特定兩個節點之間的數據傳輸,在此基礎上不僅可以建立複雜的數據共享關係,還可以建立複雜的數據流程,實現複雜的數據驅動。另外,支持第三方控制下的數據傳輸還可以用來在格線環境下創建新的安全機制,把身份認證的工作由除了通信雙方以外的第三方完成,建立符合人類社會習慣的安全體系。
從傳輸的參與者來看,除了源節點和目的節點之間的點對點傳輸外,格線還需支持分布傳輸和匯集傳輸。分布傳輸是把一個完整的數據集當中的不同部分分散傳輸到不同目標節點上,匯集傳輸則與之相反,數據從多個不同的節點流向一個相同的節點。將一個大任務分解為多個小的子任務交由多個節點處理,最後將結果匯總,這是格線中常見到情況,需要分布傳輸和匯集傳輸技術的支持。
(3)數據存儲
數據存儲機制直接影響著數據的訪問。通常而言格線數據分布存儲在格線中不同資源的存儲介質中,這是因為格線中數據量很大,單個個人或組織所擁有的存儲資源容量有限,而且他們擁有的計算資源能力有限,不一定有能力不斷處理快速增長的數據,另外分布存儲可避免傳輸頻寬的限制帶來的問題。格線數據分布存儲在不同位置的不同設備中,並具有不同的特點,數據管理模組為用戶提供一個統一的數據視圖、統一的訪問接口,用戶不需要了解數據對象的具體底層實現機制。
格線中還有些數據的數據量很小,只有幾個或幾十個位元組,如狀態數據、信息記錄等信息,但這些數據的使用卻是獨立的。如果這些數據都作為檔案單獨存儲,其數量將急劇增加,占用大量存儲空間,並帶來管理的難度,降低存儲介質的有效利用率。為避免這種現象,可採用聚集存儲技術,把檔案大小小於一定規模的多個檔案聚集成一個複合檔案存儲在格線存儲空間。與可以將多個檔案壓縮為一個檔案的檔案壓縮相比,聚集存儲的一個檔案,不需要解壓就可以直接訪問,包括讀取、修改和刪除等操作,