杜 娥
(電子科技大學 成都學院,四川 成都 611731)
云計算能夠靈活應用分布在網絡環境中的應用程序,并且為快速部署新業務提供高效的環境。特別是所提供的快速擴展服務的能力使得它越來越受歡迎,但是,它也有一定的局限性。
本文所提出的信息化網絡不僅可以緩解云計算技術中的一些局限,還可以為云計算技術帶來更多便利。
云計算主要有3種服務模式[1]:(1)基礎設施即服務IaaS(Infrastructure as a Service)是指用戶通過網絡從硬件設施中獲得服務,這種云服務能把CPU、內存、存儲器、傳輸等集中起來成為一個虛擬池來為網絡提供服務[2]。(2)平臺即服務PaaS(Platform as a Service)是指將軟件開發平臺作為一種服務提供給用戶。(3)軟件即服務SaaS(Software as a Service,SaaS)它是通過網絡提供軟件的模式,用戶無需購買軟件,而是直接通過網絡來使用這些軟件。例如,文字處理軟件并沒有裝在本地PC,但是當通過瀏覽器訪問運行了該軟件的網絡服務器即可自由地在本地PC處理文檔[3]。
云計算需實現:(1)運算、存儲以及網絡設施的管理;(2)在一個動態的網絡中去分配云計算服務;(3)云計算服務需要在服務器之間復制大量的數據。而在現有的網絡技術里要解決這些問題幾乎涵蓋了智能化的網絡管理工具、路由協議、主機和站點之間的附加協議,以及還要考慮主機和網絡的移動性[4],這些將大大增加系統的復雜性,成為云計算最大的局限。為此,引入信息化網絡解決這些局限。
信 息 化 網 絡 NetInf(Network of Information,NetInf)是把當今以主機為中心的網絡模式轉換成以信息為中心的網絡模式[5]。信息是網絡的主要構成成分,用戶感興趣的是數據對象本身,而不是如何到達目的主機[6]。NetInf直接對數據命名,確保它身份的唯一性,在NetInf中信息的命名是獨立于它們所存儲的主機,這就是NetInf最基本的設計理念。
NetInf由4個模塊構成,如圖1所示。NetInf為云計算提供數據的運算、存儲、傳輸等服務,成為云計算和網絡銜接的紐帶。

圖1 NetInf的模塊結構圖
2.2.1 NetInf接口
NetInf提供了一個接口API(application program interface),實現獨立于主機的信息之間的通信以及這些信息在主機之間的傳輸。NetInf接口支持的通信模式是以數據為中心,在訪問信息時,只需知道數據的命名即可。利用接口可以完全向用戶隱藏數據的存儲位置以及網絡傳輸過程,并能直接獲取信息[7]。如果網絡中的數據存在多個完全相同的副本,NetInf底層的模塊可以從中找出一份最優的數據[8]。通過API,NetInf下層的模塊可以讓云計算對數據命名,并在名字系統中注冊;可以獲取數據的定位信息以獲取數據;可以在數據間建立聯系,實現相互訪問;可以實現數據存儲和檢索。
2.2.2 NetInf名字解析系統
名字解析系統對數據進行命名或者解析。NetInf利用哈希算法將數據的一部分用來命名,這可避免引入新的命名算法,從而簡化命名的操作,同時還可以利用分配好的名字來驗證信息的真實性。這種對數據對象的命名方案完全獨立于存儲位置[9]。在傳統的網絡中,若主機移動了,原來綁定好的地址信息就會被破壞,只有使用HTTP重定向和動態域名解析等方法來解決這一問題。而在NetInf中盡管網絡結構發生改變了,數據的命名信息仍然是保持不變的,因此無需做任何處理。
2.2.3 NetInf路由算法
路由算法負責解決如何以及從哪里去獲取這些信息的問題。由于路由算法是根據信息命名來查找路徑的,而信息的命名獨立于它所在的主機,這就使得它可以靈活地適應網絡結構以及負載的變化。至于路由算法的具體實現過程,將在下一節闡述。
2.2.4 NetInf存儲系統
在NetInf中提供了兩種存儲方案:高速緩存和普通存儲單元。為了提高獲取數據的效率,可以把最近訪問到的數據存儲在高速緩存中;否則就存在存儲單元中。主機也可以把從NetInf中獲取的最新數據存儲在它們的本地緩存以提高效率,類似點對點網絡。對于已下載的信息,用戶也可以作為新的信息源來提供服務。
從云計算的角度,NetInf提供了新的技術去解決網絡資源和網絡存儲的問題。用戶只需把數據扔向網絡,NetInf就自動地實現數據的存儲、處理、分發。而名字解析和路由算法是NetInf的基石,主要是解決信息的命名和定位的問題。
不同于傳統網絡的點到點的路由機制,NetInf提供了端到端的路由機制。只要在NetInf名字系統中注冊的數據,該路由算法都能為之找到一條最優的通信路徑。這就是基于最新定位器的路由算法LLC(late locator construction)。
LLC路由主要分成3步(如圖2所示):(1)在數據源和連接到核心網絡邊緣路由器之間找到一條路徑;(2)通過核心網在數據源所在的邊緣路由器與目標數據所在的邊緣路由器之間找到一條路徑;(3)在目標數據所在的核心邊緣路由器和目標數據之間找到一條路徑。LLC專注于第1步和第3步。
數據包在發送或者接收的過程中,LLC都會為數據創建或者更新定位器,并且總是數據發送的最后一刻更新,以保證定位器能實時地反應網絡結構。
LLC采用附屬寄存器AR(attach rgister)來快速構建的定位器。在路由系統中每個節點都由AR代理。在AR上,每個節點都會注冊他們直接相連的連接以及每條連接的特性。

圖2 NetInt路由算法基本原理圖
當網絡拓撲結構發生改變時,只有直接相連的節點需要更新在AR中注冊的信息,可以有效地在網絡中避免由于更新帶來的信息風暴[10]。因此,該算法可以應用于頻繁移動的網絡,并且能穩定地處理大規模的數據。引入了AR后,路徑的創建過程可以分解為以下3步(如圖2所示):(1)源節點向核心網發起請求,獲取它的通信路徑,如圖2路徑1所示;(2)AR根據連接特性在核心網中的各個代理服務器之間找到一條滿意的路徑進行響應,這條路徑會被記錄在定位器中返回給請求主機,路徑上每一個節點用@符號來表示,并按逆序來排列(如圖2路徑2-6所示),為了簡化路徑的獲取過程,可以在核心網絡中廣播請求,這樣核心網中的AR就知道可以通過哪些節點達到目的端;(3)源主機利用從定位器中獲取的路徑,向目的主機進行通信(如圖2路徑7所示)。
在NetInf中,云計算只需在上層調用它的resolve()函數,通過NetInf接口,利用NetInf的命名解析系統和路由系統,就會自動完成通信,把所需數據返回,從而屏蔽整個數據的存儲和傳輸過程。
云計算帶來了資源共享的變革,NetInf為它提供了訪問信息的新方法。通過云計算和信息網絡的緊密合作,網絡節點和網絡各種硬件資源可以真正實現透明地面向用戶和應用[11]。NetInf以及它所提供的API讓云計算可以屏蔽數據在網絡中的存儲和傳輸問題,從而大大簡化了云計算的數據處理過程。今后我們還將更詳細地研究NetInf如何處理云計算的服務[12]、如何提高LLC的效率,確保傳輸的實時性、安全性,使NetInf給云計算帶來更多額外的便利。
(
)
[1]劉鵬.云計算[M].北京:電子工業出版社,2010.
[2]虛擬化與云計算小組.虛擬化與云計算[M].北京:電子工業出版社,2009:133-135.
[3]張建勛,古志民,鄭超.云計算研究進展綜述[J].計算機應用研究,2010(2):429-433.
[4]楊勇.基于虛擬機的虛擬計算環境研究與設計[J].軟件學報,2007(3):3-4.
[5]John Y.On-demand business collaboration enablement with web services[J].Decision Support System,2005(40):107-127.
[6]劉曉樂.計算機云計算及其實現技術分析[J].電子科技,2009(12):100-102.
[7]陳康,鄭緯民.云計算:系統實例與研究現狀[J].軟件學報,2009,20(5):1337-l348.
[8]陳全 ,鄧倩妮.云計算及其關鍵技術[J].計算機應用,2009(9):2563-2564.
[9]劉昆雄,王秀麗.基于網絡的信息服務轉型理論研究[J].情報理論與實踐,2009,32(10):40-44.
[10]夏南強,殷克濤.網絡融合環境下信息服務研究的思考[J].情報理論與實踐,2010,33(7):31-34.
[11]高嵐嵐,云計算與網格計算的深入比較研究[J].海峽科學,2009(2):56-57.
[12]肖云鵬,劉宴兵.云計算關鍵技術與應用展望[J].數字通信,2010(6):29-30.