• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Android的移動云存儲系統(tǒng)設計與實現

      2011-02-07 11:23:28王培海
      電視技術 2011年15期
      關鍵詞:服務端存儲系統(tǒng)客戶端

      王培海

      (重慶郵電大學 移動互聯網研究所,重慶 400065)

      0 引言

      隨著3G業(yè)務的廣泛推展,移動互聯網已經開始滲透到社會和生活中的各個領域,終端應用也呈現出爆炸式的增長,移動終端已逐漸成為新的應用平臺[1-2]。伴隨著移動互聯網的發(fā)展,用戶對終端的存儲空間以及終端資源的在線共享等要求愈來愈高。然而,移動終端資源受限的瓶頸始終制約著終端應用的發(fā)展。

      云計算的出現,為解決終端應用瓶頸提供了一種可行的方案。據ABI研究公司調查顯示,從2009年到2014年,面向移動終端的云計算應用年增長率將達到88%,2008年該市場的規(guī)模為4億多美元,在2014年,這一數字將達到95億美元[3]??梢姡朴嬎銓且苿踊ヂ摼W未來發(fā)展趨勢,而云存儲是移動終端利用云計算最明顯的方式。本文所實現的云存儲系統(tǒng)是將終端應用的高計算與高存儲從終端遷移到云平臺上,利用云計算強大的計算和存儲能力弱化應用對終端設備的處理需求。這種“云+端”的應用開發(fā)模式,有效地解決了終端資源受限的瓶頸,使云計算的特點在移動終端上得到充分的展現。

      1 相關介紹

      云計算(Cloud Computing)[4]是學術界熱門研究領域之一,是移動互聯網未來的發(fā)展方向。云存儲是在云計算概念上延伸和發(fā)展出來的一個新的概念[5]。它是指通過集群應用、網絡技術或分布式文件系統(tǒng)等功能,將網絡中大量異構存儲設備通過應用軟件集合起來協(xié)同工作,共同對外提供數據存儲和業(yè)務訪問功能的一個系統(tǒng)。云存儲這一概念的提出,得到了眾多服務廠商的支持和關注。在國外,Amazon,Google,EMC,Microsoft,IBM紛紛推出了自己的云存儲產品。在國內,世紀互聯、金山等企業(yè)也紛紛推出了自己的云存儲服務??梢娫拼鎯σ呀洺蔀槲磥硪苿咏K端存儲發(fā)展的一種趨勢。

      筆者通過對云存儲相關技術進行研究,借助“云+端”的新型應用開發(fā)模式,實現了一個面向移動終端的私有云存儲系統(tǒng)。

      2 云存儲系統(tǒng)功能設計

      本系統(tǒng)主要針對當前移動終端存儲空間嚴重不足、計算能力弱以及電池續(xù)航能力差等缺點來設計。該系統(tǒng)由多臺聯網的普通PC機組成的集群系統(tǒng)和一個客戶端體驗組成。用戶通過系統(tǒng)提供的通用接口來訪問系統(tǒng),享受移動云存儲服務。系統(tǒng)采用“云+端”的新型應用開發(fā)模式進行開發(fā)設計,云平臺作為系統(tǒng)的服務端,基于Android的移動終端作為客戶端,云和端之間通過HTTP協(xié)議進行交互。系統(tǒng)整體結構如圖1所示。移動終端用戶只需要通過一個統(tǒng)一通用的簡單應用接口就可以訪問云平臺服務。在系統(tǒng)的整體設計中,分別采用一臺普通計算機作為系統(tǒng)后臺的主節(jié)點和資源監(jiān)控節(jié)點,采用兩組普通PC機構成的集群作為服務節(jié)點。

      整個系統(tǒng)采用了基于軟件的構件化思想和分布式存儲技術,實現了系統(tǒng)中數據流的初始化配置和動態(tài)存儲。同時,按照MVC(Model View Controller)設計模式的要求[6],對系統(tǒng)的各個功能模塊進行了嚴格的細分,將數據訪問和數據表現進行了分離,盡量降低各個功能模塊間的耦合性[7]。通過這種模式,開發(fā)出一個伸縮性強、擴展性能高以及維護簡單的彈性系統(tǒng)。

      2.1 服務端設計

      目前,業(yè)界開源的云計算平臺和工具有很多,如Enomaly的ECP、加州大學的開源項目Euclyptus、10Gen的Mongo DB、基于網格中間件Globus的Nimbus以及Ha?doop等。

      該系統(tǒng)采用在業(yè)界知名度很高的開源云計算框架Hadoop來搭建私有云計算平臺。Hadoop是對谷歌云計算框架的開源實現,主要包括分布式文件系統(tǒng)HDFS、計算架構MapReduce及對于結構化數據處理的HBase等[8]。其云計算整體框架如圖2所示[9]。

      對于任何一個系統(tǒng)而言,服務端的邏輯組織結構是最為重要的基礎結構,是系統(tǒng)性能最大化的關鍵。因此,服務端采用了并行的云存儲技術,實現了服務器的負載均衡,提高了傳輸速率。同時,采用冗余存儲的方法來保證服務端數據的可靠性,即為同一份數據存儲多個副本。另外,以Java Web的思想來開發(fā)服務端,以Tomcat為中間件平臺,采用Servlet作為前端的控制器,并有Servlet來對客戶端的不同請求進行向下派遣,將服務器的控制層和業(yè)務層進行邏輯分離,符合MVC設計模式的要求[10],在系統(tǒng)維護和功能擴展上增加了極大的便利。

      2.2 客戶端設計

      在客戶端,該系統(tǒng)采用基于Android的移動終端作為承載工具。Android是Google公司于2007年公布的基于Linux平臺的開源手機操作系統(tǒng),其系統(tǒng)結構如圖3所示[11]。

      考慮到移動終端設備資源受限的約束,客戶端的數據結構應盡量簡單,頁面交互設計應更加人性化,保證用戶操作簡單方便。為了保證移動終端不會有極大的時間延遲和等待,采用了多線程技術,增加了移動終端和云端通信的有效性,同時方便和簡化了客戶端的代碼結構??蛻舳瞬捎肕VC的設計模式,將移動終端的數據訪問和數據表現進行了分離,降低了各個功能模塊間的耦合度,增強代碼的可讀性和可維護性。因此,客戶端的頁面結構如圖4所示。

      2.3 通信協(xié)議

      為了減少云服務端的承載壓力,使用HTTP協(xié)議作為傳輸協(xié)議。在通信協(xié)議方面,使用XML語法來制定私有協(xié)議格式,易于實現和維護,且便于理解。在服務端采用開源項目DOM4J進行解析,DOM4J是一個非常優(yōu)秀的Java XML API,具有性能優(yōu)異、功能強大和使用容易的特點。在移動終端方面,考慮到終端資源受限的約束,使用自定義解析類來對XML私有協(xié)議進行解析。下面以文件下載消息為例,消息格式如下所示:

      客戶端Request:/download

      HTTP頭部:

      Content-Length:226

      Content-Type:multipart/from-data;

      HTTP正文

      文件表單頭部:

      //下載文件名

      //文件地址

      //下載時間

      文件表單體(大小不限制):

      云服務器端response:

      download

      //解析結果

      //原因

      3 系統(tǒng)實現

      3.1 服務端實現

      按照服務端的設計思想,系統(tǒng)采用分布式云存儲技術,充分地利用了后臺服務機群的各個節(jié)點。下面以文件并行上傳和下載為例,給出系統(tǒng)服務端具體的實現過程。

      并行上傳過程如下:1)登錄請求:將用戶信息發(fā)送到服務端,判斷用戶的權限。若用戶合法,則進行下一步;反之,則進行注冊。2)終端資源上傳請求:選擇要上傳的移動終端上的資源,將要上傳的資源信息發(fā)送給主節(jié)點。3)存儲節(jié)點分配:主節(jié)點收到上傳資源信息后,根據資源大小進行分塊計算(本實例中筆者按照5 Mbit/塊的大小進行計算,最后不足5 Mbit的也作為一塊);根據監(jiān)控節(jié)點所提供存儲節(jié)點信息判斷節(jié)點狀態(tài),將資源塊均衡分配到各可用節(jié)點;同時,將資源信息和資源塊信息記錄在分布式數據庫中(狀態(tài)均設為“F”表示尚未上傳)。4)響應請求:主節(jié)點將存儲節(jié)點信息以XML格式發(fā)送給客戶端。5)并行上傳:主節(jié)點為集群中每個存儲節(jié)點建立一個資源塊消息隊列,將資源塊并行上傳到相對應的存儲節(jié)點。6)上傳確認信息:集群的存儲節(jié)點每接收到一個資源塊后,向主節(jié)點發(fā)送一條確認信息,主節(jié)點將數據庫中該資源塊的狀態(tài)改為“T”(表示已經上傳成功)。當資源所有塊都上傳成功后,主節(jié)點將數據庫中該資源的狀態(tài)改為“T”。7)單個存儲節(jié)點失效:當主節(jié)點通過集群實時監(jiān)控信息,發(fā)現某個節(jié)點失效時,將資源重新進行分配。

      下載云存儲系統(tǒng)的資源過程如下:1)發(fā)送下載請求:從系統(tǒng)資源列表中選擇要下載的資源,向主節(jié)點發(fā)送下載請求。2)查詢資源信息:主節(jié)點接收到終端下載請求后,從分布式數據庫中查找該資源的相關信息。3)響應請求:主節(jié)點將資源的信息以XML格式發(fā)送給客戶端。4)并行下載資源:客戶端根據接收到的資源塊信息,為每個存儲節(jié)點創(chuàng)建一個線程,將資源塊并行下載到臨時資源池中。5)資源整合:終端下載完所有資源塊后,將其整合為一個完整的資源,并刪除臨時資源池中的內容。6)單個節(jié)點失效:當主節(jié)點通過監(jiān)控節(jié)點的實時反饋信息,發(fā)現集群中某個存儲節(jié)點失效時,立即將正在下載的資源重新進行分配。其服務流程圖如圖5所示。

      3.2 客戶端實現

      按照客戶端的設計思想,客戶端采用MVC的設計模式,為了減少移動終端不必要的多余開銷,界面設計進行了較大程度的簡化。Controller包封裝了負責邏輯處理的類,包括與云端的連接、文件的邏輯功能、協(xié)議的構造和解析以及數據結構的簡單處理等。Model包封裝了移動終端的數據。View包負責移動終端的界面呈現。下面以客戶端主頁面中文件列表類FileList為例,部分核心代碼如下所示:

      Public class FileList{

      //文件解析類初始化

      F_Parser fp=new F_Parser();

      //獲取文件數據包

      ArrayListal=fp.getFileList(pack);

      //文件數據裝載到文件列表中

      Iteratoritems=al.iterator();

      //逐條讀取文件記錄

      while(items.hasNext()){

      FileItem file=items.next();

      FileItem newfile=new FileItem();

      //設置文件的相關信息,包括ID、文件名、文件詳細信息

      newfile.setFile_id(file.getFile_id());

      newfile.setFile_name(file.getFile_name());

      newfile.setUser_id(file.getUser_id());}

      //記錄文件日志

      Log.i("FileRec",newfile);

      //將文件列表中的信息發(fā)送到處理主頁面顯示的Handler類中進行顯示

      ListStore.getMainViewHandler().sendMessage(file);

      }

      系統(tǒng)部分執(zhí)行效果圖如圖6所示。

      4 結束語

      筆者通過研究云存儲的關鍵技術,結合MVC設計模式和“云+端”的開發(fā)思想,實現了一個面向移動終端的私有云存儲系統(tǒng),解決了終端存儲能力不足的問題。面向移動終端的云存儲系統(tǒng)與傳統(tǒng)的存儲系統(tǒng)有較大的不同,表現在如下3點:1)在業(yè)務需求上,移動云存儲系統(tǒng)是面向多終端異構平臺的移動在線存儲服務,而傳統(tǒng)存儲系統(tǒng)則面向WEB終端的高性能計算、事物處理等應用;2)在性能需求上,移動云存儲服務針對移動數據的安全、可靠、效率等指標,且移動用戶數量大、移動網絡動態(tài)不確定性等特點,對移動網絡文件的傳輸大小做出了優(yōu)化。3)在數據管理上,移動云存儲系統(tǒng)不僅要支持多終端異構平臺的并行訪問,還要支持海量數據的管理,保證數據的安全與可靠等。通過云存儲技術解決了移動終端存儲能力不足以及共享困難等問題,提高了用戶體驗度,具有一定的現實意義。通過實驗證明,系統(tǒng)具有良好的穩(wěn)定性。

      隨著移動互聯網的快速發(fā)展,終端應用將更加智能,移動云存儲技術也會得到廣泛的關注,將會有更多的用戶使用移動終端享受云存儲服務,未來移動云存儲的發(fā)展要從安全性和便攜性等角度進行深入研究。

      [1] 騰訊科技.移動互聯網終端發(fā)展趨勢[EB-OL].(2009-10-16)[2010-10-15].http://news.qq.com/a/20091016/000843.htm.

      [2] 楊揚.移動互聯網混搭云計算:破壞性創(chuàng)新時代[EB/OL].(2010-04-10)[2010-11-03].http://cloud.it168.com/a2010/0410/871/000000871791.shtml.

      [3] ABI Research.Mobile cloud applications[EB/OL].(2010-03-09)[2011-02-20].http://www.abiresearch.com/research/1003385-Mobile+Cloud+Applications.

      [4] 王鵬.走進云計算[M].北京:人民郵電出版社,2009:36-37.

      [5] 王鵬,董靜宜.一種云計算架構的實現方法研究[J].計算機工程與科學,2009,31(1):11-13.

      [6] 劉亮,霍劍青,郭玉剛,等.基于MVC的通用型模式的設計與實現[J].中國科學技術大學學報,2010,40(6):635-639.

      [7] 夏奕,鄧廣宏.基于構件重組的分布式業(yè)務集成系統(tǒng)設計與實現[J].計算機與數字工程,2009,37(7):157-160.

      [8] Tom White.Hadoop權威指南(中文版)[M].北京:清華大學出版社,2010:44-80.

      [9] 劉鵬.云計算[M].北京:電子工業(yè)出版社,2010:2-8.

      [10] 張軾坤,冉崇善.基于反模式的J2EE的中間件優(yōu)化模型[J].計算機工程,2010,36(10):256-258.

      [11] 楊文志.Google Android程序設計指南[M].北京:電子工業(yè)出版社,2009:3-7.

      猜你喜歡
      服務端存儲系統(tǒng)客戶端
      分布式存儲系統(tǒng)在企業(yè)檔案管理中的應用
      哈爾濱軸承(2020年2期)2020-11-06 09:22:36
      天河超算存儲系統(tǒng)在美創(chuàng)佳績
      云存儲中基于相似性的客戶-服務端雙端數據去重方法
      縣級臺在突發(fā)事件報道中如何應用手機客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設計與實現
      電子測試(2018年10期)2018-06-26 05:53:34
      新時期《移動Web服務端開發(fā)》課程教學改革的研究
      消費導刊(2018年8期)2018-05-25 13:19:48
      在Windows Server 2008上創(chuàng)建應用
      華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲系統(tǒng)
      一種基于STM32的具有斷電保護機制的采集存儲系統(tǒng)設計
      电白县| 盈江县| 大足县| 呼伦贝尔市| 天长市| 太康县| 巴中市| 雷山县| 马龙县| 县级市| 布尔津县| 衡东县| 诸城市| 浮梁县| 佛山市| 江北区| 大连市| 滨海县| 马鞍山市| 芜湖市| 宝坻区| 苏尼特右旗| 竹北市| 关岭| 昌黎县| 浦北县| 南涧| 鄂州市| 吉安县| 小金县| 建德市| 深圳市| 阿荣旗| 渝中区| 永新县| 许昌县| 西贡区| 新河县| 高要市| 莒南县| 平罗县|