前言:中文期刊網精心挑選了云計算與分布式技術范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
云計算與分布式技術范文1
中圖分類號:TP315 文獻標識碼:A 文章編號:1006-1010(2013)-05-0084-04
1 前言
隨著電信企業的業務范圍拓展、服務精細化要求和IT技術發展,在企業內部或互聯的IT系統中,存在著飛速膨脹的海量數據。和以往對比,現階段企業海量數據呈現出數據量更大、數據類型復雜、處理速度要快的新特征。與此同時,越來越多的企業開始重視海量數據的處理,研發出各種海量數據處理技術,從中發現巨大的商業價值,以Google、Facebook、淘寶為代表的中外互聯網企業,走出了一條以免費的基礎服務為根本、以海量數據運營掘金的信息企業模式。
這種現象可以稱作“海量數據運營”,它是以海量數據處理為基礎,以服務對象為核心,以客戶關系為目標來進行信息的生產、交換,商業模式更有價值,企業運作更加優化,達到盈利或提供更好服務等商業或社會目標。
2 電信行業面臨的困境和對策
在傳統運營模式下,電信業務從技術到商業模式相對封閉,對于IT系統中產生的數據如用戶話單、信令日志、運行日志等,除了部分用于提供給用戶查詢,大部分用于故障處理、簡單統計。而對這些海量數據的分析,面臨4大技術困難:
(1)數據量太大,用于存儲和計算的設備成本高昂;
(2)沒有合適的工具支持,傳統關系型數據庫只能存儲幾T數據、上億條記錄;
(3)隨著設備變更、網絡升級、業務更新,原始數據模型經常變化,構建結構化模型并同步更新的難度非常大;
(4)分析結果無法快速有效地實施到網絡或業務平臺。
隨著3G業務的發展、終端滲透率的提高和IT技術的進步,電信業務從技術到商業模式越來越開放,業務的盈利能力越來越依賴前面的終端和后面的業務平臺。蘋果、三星等智能終端廠家成為運營商爭先拉攏的對象,移動互聯網帶來的大部分增量利潤更多地涌向了創新型技術公司,而海量數據流量卻沖擊著電信網絡的承載能力。
業務承載量增長、收入增長、利潤下滑,變成全球電信運營商普遍面臨的困境,把網絡建好、坐等收錢的好時代已經過去,運營商的主導地位岌岌可危,被管道化的趨勢越發明顯。
面對這種局面,運營商開始提出“智能管道”、“流量經營”等思路求變,希望能夠提升對用戶的業務使用管理能力,尋找更好的業務模式,充分發掘網絡承載能力,增加單位流量價值。一方面提升網絡能力,達到精細化控制目的,如PCC(Policy Control and Charging,策略控制和計費);另外一方面,對生產關鍵環節的海量數據進行細化分析,能夠動態、精細化地實現有效控制和資源優化,如DPI、信令分析。其中DPI分析的上網記錄每日高達30T,信令日志的數據量也以T級別增加,海量數據運營開始出現。
這些方面的建設當前都取得的不少成績。在國外,相關運營商推出了定向套餐和流量控制業務,如Vodafone、BT在流量高峰時段控制P2P業務,O2優化網絡讓iPhone、iPad終端擁有高優先級和最大可用網速,Orange推出自有業務獲得最高的端到端優先級等。
3 海量數據運營的探討
當前的海量數據運營大部分在網絡層面,充分體現了數據包、帶寬、QoS、信道、小區、容量等網絡特征,對三戶一品(客戶、用戶、賬戶、產品)、營銷、服務、計費、信控等業務特征進行了簡化或弱化處理。大量數據如用戶狀態、業務訂購關系、累計量等需要從業務側同步到網絡側,存在著時延較長和不一致現象。
運營商應該建設覆蓋面更廣的體系,有機融合現有支撐系統,充分利用現有支撐體系內部數據和功能,為客戶提供更好的服務,產生更大的價值。但這種系統容量需要達到上百T,處理的實時性要求更高,若采用傳統的“scale up”的建設思路,不但成本高,而且無法根據用戶和業務變化進行有效的調整和更新。
云計算技術的發展,提出了“scale out”的建設模式,根據互聯網企業的經驗和電信企業的特點,新的海量數據運營系統必須支持如下特性:
(1)分布式架構:只有采用這種架構,才能充分利用現有的低端PC,在合理的成本基礎上,將其組合成為滿足電信企業的體系;
(2)半結構化數據:電信領域的業務種類繁多、設備廠家多、升級頻繁,固定結構的數據在靈活性方面很難適應;
(3)動態作業能力:只有自動適應、自動分解、負載均衡的系統,才能對海量數據做快速運算和分析,滿足網絡側的低時延要求。
4 云計算清賬單系統試點
在電信企業內部,用戶使用清單和賬單(以下簡稱“清賬單”)的存儲和查詢是一項基本業務。這一業務的特點在于數據量巨大(一個省公司每月的清單條數可達數十億,每條記錄可包含數百個字段),同時對實時性(從事件發生到可查詢的時間間隔)和歷史性(保存多久的記錄)的要求很高。
傳統的系統是基于小型機和SAN存儲實現的,存在容量有限、插入速度低、查詢并發性差等問題。同時,傳統的系統只能提供導入、查詢和簡單的固定統計功能。如果要對清賬單進一步進行分析,則需要搭建昂貴的數據倉庫,采用專有軟件和設備,才能實現有效分析。
云計算清賬單系統,一是要克服現有的清賬單系統存在的問題,建立一個低成本大容量的系統,二是要能夠對于清賬單實現數據倉庫級別的靈活分析統計功能,三是能夠和網絡側及支撐體系其他部分結合,提供實時的營銷和服務功能。
云計算方案基礎采用Apache Hadoop系統,并采用多重優化和創新來滿足企業運營需求。整個體系共80臺左右(HBase/HDFS/JobTracker/Thrift共享PC服務器)自帶硬盤的雙路PC服務器,共同搭建起Hadoop集群(如圖1),支持1.2億移動用戶6個月的清賬單處理工作。
HBase實時數據引擎:實時NoSQL數據庫引擎,基于列存儲方式,很好支持稀疏表,提供強大并發查詢能力。
HDFS分布式文件系統:分布式文件系統,支持PB文件存儲,最大可支持三份數據冗余,確保數據在分布式環境的安全性。
MapReduce計算框架:基于HDFS的分布式計算框架。具有數據在存儲服務器本地計算的特點,替代傳統的把數據從存儲遷移至小型機再進行計算的舊模式。
ZooKeeper管理軟件:調度管理集群中的服務器,一般為單數多臺服務器,具有仲裁能力。
Hive查詢軟件:支持SQL查詢,提供了一種利用MapReduce分布式計算框架對HBase中的數據進行高效的分布式處理的簡便方法。
Thrift接口軟件:提供C、C++、Java等多種高級語言統一訪問接口,實現與外部不同種類異構平臺實時數據交流。
該系統全部使用廉價的X86服務器及Linux操作系統,提供600TB有效數據空間。新系統每5分鐘加載一次數據,入庫資源控制在20%左右,已經實現1000MB/s(100萬條/秒)入庫效率,在業務最忙時也不會產生數據積壓。
原來小型機的系統,只能滿足200筆查詢/秒。Hadoop通過HDFS分布式文件系統把海量數據分隔存儲在各集群服務中,再通過HBase主鍵索引快速定位待查數據塊??傮w上,不同的用戶訪問不同的服務器,由Hadoop集群統一管理及調度,大大提高系統的并發能力,新系統在已經支持8000筆查詢/秒的用戶隨機查詢,返回結果集達80萬條/秒。而且隨著集群規模的橫向擴展,性能還可以線性地提供,這是傳統的小型機解決方案很難實現的。
除了優異的加載及查詢性能外,基于X86的Hadoop系統另外一個重要的特點是節省成本(如圖2)。當前大主流的X86服務器,性能上基本都能達到40萬tpmC,甚至過百萬。而一臺中高檔的小型機,tpmC值大部分在100萬~200萬之間。因此,如果需要達到上述HBase RegionServer同樣的硬件計算能力,至少需要14臺中高端小型服務器,假設按每臺100萬人民幣計算(實際價格更高),總計1400萬人民幣。同時,傳統的解決方案一般使用計算服務與存儲分離的方式實現。為了滿足高性能及安全性要求,一般會選擇中高端存儲,每TB存儲的平均價格在5萬人民幣左右,即如需滿足600TB容量要求,需要約3000萬人民幣。而使用X86的解決方案,平均每臺服務器價格約在3.5萬左右,80臺服務器只需不到280萬。除此之外,以上價格僅是硬件的投入,還不包括傳統商業數據庫昂貴的商業許可。
對于上述體系的分析統計功能,采用Hive+Map
Reduce方式來實現,它提供了一種類SQL的查詢語言HiveQL。該方法將HiveQL翻譯成MapReduce任務來交給集群執行,實現更高的開發效率和更短的開發周期。同時,Hadoop有集群IO帶寬的優勢,能大大地提高海量數據統計分析的速度,原來36小時的任務集在Hadoop上只需要數小時即可完成。
現在廣東移動公司正在內部的清單系統上部署分布式數據挖掘框架Mahout的機器學習和數據挖掘功能,對用戶的用戶行為、基站等方面進行分析,通過分類等數據挖掘算法的應用,挖掘出更多的信息。例如對客戶進行精細化營銷、防止客戶流失等方面提供決策幫助。根據用戶的使用記錄,按照若干指標(業務類型使用分布情況、終端類型、上網時長等)對客戶群進行分組,并標簽化。據此可向用戶推薦合適的套餐,也可以據此設計更合理的套餐。
廣東移動公司基于Hadoop平臺構建的新清賬單系統已經平穩運行半年以上,有效地證明了云計算技術能切實地幫助國內運營商降低成本,提高競爭能力。
5 結束語
基于Hadoop的云計算實現方案,降低了電信運營商對小型機、存儲、商業數據庫/數據倉庫的依賴,大大降低了投資成本,為海量數據運營提供了一個優秀的平臺,為電信企業開展更大范圍的流量經營提供了堅實的技術基礎。淘寶、百度、Google等眾多的互聯網公司經驗證明,分布式云計算技術的發展為企業經營模式轉變提供了契機。
參考文獻:
云計算與分布式技術范文2
關鍵詞:分布式計算機;應用情況;發展趨勢
中圖分類號:TP37 文獻標識碼:A 文章編號:1009-3044(2013)22-5161-02
眾所周知,分布式計算機是將若干計算機聯系起來,從而實現分布式計算的運算處理方式。分布式計算機系統是一種計算機硬件與功能的配置方式,是一種多處理器由互聯網相連接為一體的計算機系統[1]。因為采用的是分布式計算結構,既簡化了主機邏輯結構,又加快了數據處理速度,既成本低廉,又易于維護,被應用于社會生活的諸多領域,也成為計算機應用發展中的重要方向。文章就分布式計算機的應用發展進行論述。
1 分布式計算機具有的主要優勢
分布式計算機主要有如下三種分布形式,即集中式分布、分散式分布和網絡式分布。當系統內所有硬件部分間均存在密切合作關系時,我們將此系統稱為分布式計算機系統。一般而言,分布式計算機是由硬件、控制、數據三個維度所構成的立體結構,對分布式計算機這種共享型多處理機系統進行探究,我們即可發現其具備諸多應用優勢,主要表現為以下兩種:
1.1 有較強的容錯功能
眾所周知,計算機是可以自行運轉的,一部計算機是整個分布式信息系統的組成因子,當某臺計算機出現運行錯誤時,系統能將錯誤自動消除,系統中其他組成因子與資源的功能并不會受某一計算機的運行錯誤影響,這是因為分布式計算機有較強的容錯功能,從而使分布式信息系統有更高的安全性與可靠性[2]。
1.2 多處理器并行運行
分布式信息系統能夠實現多臺計算機的并行運行,這就使得系統計算步驟得到簡化,系統內計算機有各自負責的區域,計算機依照規定對自身負責區域內的數據加以運算,僅需要具備共享式存儲器系統即可。多處理器的并行運行使系統內的計算機運算效率較高,也是對分布式信息系統整體性能的大幅提高。
2 分布式計算機的應用情況
信息技術開拓與創新的腳步從未停止,人們的信息交流日益頻繁,信息交流方式也更為多樣?,F階段,分布式計算機被應用于諸多領域,并取得了良好的應用成果,現將當下分布式計算機的主要應用情況概述如下:
2.1 用于教學系統設計領域
近年來,隨著信息技術的廣泛應用與教育體制改革的深入推行,分布式計算機系統被更多地應用于教學系統設計領域。一般而言,這是一種服務體系結構,通過中立式接口把程序中的各個結構單元與功能單元銜接起來。將分布式計算機系統應用于教學系統設計領域中,主要具備如下幾種優勢:
一是在教學系統設計過程中,符合設計標準的組件能得到良好的銜接與合并。
二是通過松散化耦合方式與共享式服務手段,能實現整個教學系統的整合,這使得整個教學系統被納入標準化管理的范疇[3]。
三是分布式計算機系統具有可重復使用的性質,這樣進行教學系統中簡單的教學軟件設計時,諸如設計、開發、測試、部署、應用等階段都可采用原有模式,不但推進了教學系統的設計進程,也使得整個設計的成本大為降低。
綜上所述,分布式計算機系統在教學系統設計領域的應用優勢極為明顯,因此,在該領域的應用必將得到拓展和延伸。
2.2 用于計算機云計算領域
云計算是立足于互聯網的超級計算模式,通過遠程數據中心的管控,數以萬計的計算機及服務器連成電腦云,實現并行處理技術、分布式處理技術與網絡計算技術的聯合應用。通過云計算,數據處理被分布于數量眾多的分布式計算機上,處于這個“云計算”時代,電腦云幫助我們做好計算與存儲工作。云計算具有諸多優勢:一是“云計算”下的計算機群可以囊括幾十萬臺,甚至是幾百萬臺的計算機,在需要時,我們可以隨時隨地地運用計算機或手機等工具查找或計算數據;二是云計算有驚人的運算能力,目前已經達到十萬億次,正因如此,可以應用到更多的領域,如預測天氣、市場預測、模擬核爆炸等;三是處于“云”中的計算機可以隨時進行更新,使計算機群保有生命活力。
2.3 用于連鎖系統設計領域
現下,諸多行業的銷售采取的是連鎖經營模式,這種模式建立于分布式計算機網絡基礎之上,是以分布式計算機網絡的發展應用情況為依托的[4]?,F用應用實例加以介紹:一是餐飲行業的連鎖經營就應用到分布式計算機系統;二是應用了大量繼電器與電纜設備的系統可采用分布式計算機系統來減少整個設備系統的安全運行隱患;三是在鐵路信號控制領域,為了規避傳統集中式控制中故障部件對其他部件的不利影響,也可以采用分布式計算機系統來進行控制。大量的應用實踐已然證明,分布式計算機系統在連鎖系統設計中有良好的應用效果。
2.4 用于動態取證系統領域
近年來,計算機技術與網絡技術日臻成熟,但上述兩項技術并非十全十美,網絡環境是不斷變化的,網絡安全問題與計算機系統安全問題仍然存在,1966年,美國出現第一起計算機犯罪案件,之后的計算機犯罪數量就在全球范圍內快速地增長,計算機犯罪涉及到的領域更為廣泛,由最初的涉及軍事領域,擴展到國家事務、金融、科技、政治、宗教、商業、個人隱私等諸多領域[5]。我國計算機犯罪案件出現得較晚,1986年7月13日,我國首例計算機犯罪案件被偵破,是銀行內部人員利用主管電腦的便利盜取銀行賬號與密碼,進而偽造銀行存折,從而騙取現金。從上世紀九十年代我國正式進入國際互聯網起,我國的計算機犯罪就不斷上升,所造成的損失也日益增多?,F階段,如何有效制止計算機犯罪并令犯罪分子伏法是各國政府所關注的問題。打擊計算機犯罪需要可靠、充實而有力的證據,但電子證據往往具有脆弱性、隱蔽性、可偽造、可復制、可刪除的特點,正因如此,如何于計算機中獲取與計算機犯罪相關的完整電子證據是司法部門所面對的難題。
針對上述狀況,計算機取證學成為人們關注的焦點。計算機取證成為打擊計算機犯罪的有力手段,但傳統計算機取證往往采取事后靜態分析取證的方式,這降低了證據提取與分析的效率,又因為采集證據不夠及時與全面,很多可恢復性的數據存在被篡改的可能,降低了電子證據所應有的法律效力[6]。隨著分布式計算機技術的發展與完善,基于多Agent的分布式計算機動態取證模型被研發出來,這是一種將入侵檢測技術應用到計算機取證領域的有效手段,并形成了日益完善的動態取證系統,具有如下幾個優勢:
一是采用分布式數據采集策略,有更為寬廣的取證范圍,獲取的信息能經由Agent實現動態擴展,有較好的系統擴展性。
二是對數據采集與入侵檢測任務進行分配處理,這將大幅提升整個動態取證系統的工作效率及處理能力。
三是引入了入侵檢測技術,能夠實時監控被保護子網系統中的用戶行為與網絡流量,主動記錄系統環境,特別是同步記錄易于丟失的證據,提高了電子證據的法律效力。
四是采用了融合性數據分析技術,將多源信息進行聯合分析,從而增加了電子證據的可信度與有效性,也使得電子證據誤警率大大降低。
五是具備多重的安全保障措施,如身份認證、VPN、數據加密與數據簽名等,能夠保證電子證據的不被篡改與完整性。
2.5 廣泛用于實時監控領域
近年來,人們的安全意識不斷增強,許多安全要求較高的場合都設有實時監控設施,為人們帶來巨大安全保障,但也應看到,實施實時監控時常會出現無效監控問題,致使計算機存儲空間被大量占用,也增加了計算機數據處理耗時,不利于對計算機資源及人力資源進行有效應用[7]。針對這一問題,可安裝分布式計算機系統,因為具備良好的信息共享性能,當紅外感應器接收到監控對象所發出的紅外線輻射刺激時,涉及到的子計算機的監控系統將被啟動。即使是出現多個子計算機同時發出啟動請求的現象,在分布式計算機系統的管控下,可以同時生成多個啟動指令,子計算機在接收到啟動指令后,可以自動制作出監控短片。隨著實時監控領域的不斷擴大,分布式計算機系統的應用范圍亦將日益廣泛。
3 分布式計算機的應用發展趨勢
縱觀未來,分布式計算機應用領域有著一定的發展趨勢,既該計算機系統將會被應用于更多的領域,但卻有著“化整為零”的共同應用原則。具體解釋為,對集中而復雜的系統做拆解工作,形成眾多較少的、較為簡單的數據,運用具有緊密聯系的計算機群組對上述數據加以處理,可以更為便捷地獲取數據處理結果??v觀分布式計算機的未來發展,將會有更為廣泛的應用空間及發展前景,但解決實際問題都要遵循“化整為零”的思想,尋找將疑難問題加以簡化的分散點,更好地運用分布式計算機系統為人們的日常生活與研究帶來便利條件。
參考文獻:
[1] 徐耕.計算機通信實用技術研究[J].計算機光盤軟件與應用,2012(17).
[2] 孫超.計算機網絡系統在醫院管理中的應用[J].現代閱讀:教育版,2013(5).
[3] 葉爾遜江·阿布都熱合曼.淺談少數民族地區的計算機教育[J].教育教學論壇,2012(10).
[4] 馮濤,鄭云水.新型網絡計算機聯鎖仿真系統研究與設計[J].鐵道標準設計,2013(3).
[5] 徐鵬舉.計算機網絡安全問題淺析[J].計算機光盤軟件與應用,2011(14).
云計算與分布式技術范文3
分布式控制系統現狀
分布式控制處理系統是繼工控機處理系統、嵌入式處理系統后的第三代控制系統。目前市場上常見的分布式圖像控制系統架構主要有兩種:第一種是采用分布式信號采集,集中式信號處理的架構。第二種是采用網絡式架構的分布式控制系統,如Jupiter公司推出的PixelNet高清視頻分布式解決方案以及臺達DVCS分布式圖像控制系統,其每一路信號輸入/輸出均由一個單獨的處理器進行處理,每一路信號的處理均為獨立通道,任何一個信號點出現故障都不會影響其他信號源,從根本上保證了大屏幕顯示的安全、可靠。
據北京飛利信電子技術有限公司營銷中心副總經理王章敏介紹,目前,分布式控制處理器由于成本的問題,暫時在市場中還不能取代傳統的集中式控制處理系統。但是在拼接規模較大,信號源輸入較多以及對安全可靠性要求較高的場合,分布式控制處理系統優勢突出,主要表現在其應用靈活、擴展性好、易操作、易維護,信息輸出質量高且節能環保。所以這兩年分布式控制器在拼接控制器行業中的市場份額逐年上升,目前市場份額大概在處理器系統中占15%左右。
云計算、物聯網的新型控制系統平臺
云計算的興起和發展,讓視訊企業用戶可以將重要的數據分布在大量的分布式計算機上,而非本地計算機或遠程服務器中,企業數據中心的運行將與互聯網更相似,幫助企業能夠將資源切換到需要的應用上,根據需求訪問計算機和存儲系統。飛利信是國內第一家提出云分布式的分布控制技術的廠家,并且于2012年5月在PALM展中給客戶展現。
飛利信打造獨有的將拼接控制技術與云計算、物聯網技術三者融合的控制平臺PX-CVCS。云計算相當于大腦,物聯網相當于眼睛、鼻子、耳朵、嘴巴、四肢等等,而拼接控制器則將這些有機地拼接成一體,構成一個新的平臺,所有的運算都在大腦里進行,將眼睛、嘴巴、耳朵等搜集到的信息進行計算和整理,根據應用場合和客戶需求,將資源最大化應用,既避免了集中式控制系統的低可靠性和有限運算能力的缺陷,又避免傳統分布式控制的資源浪費,比如某一路在不工作狀態時,傳統的分布式系統對于該路的控制器就是一種浪費,而云技術的控制則不同,可以根據情況,靈活分配。
除此之外,拼接控制器結合云計算與物聯網技術,實現每個節點的地址查詢及顯示,共享軟硬件資源和信息資源,并可以按需提供到顯示平臺和其他設備上,清投結合此技術打造了眾多新型控制系統平臺,如“一云三端”、“高清底圖機”、“整屏錄播系統”,同時結合云計算技術及物聯網技術打造第三代融合控制系統平臺,其相對比第一代軟件融合和第二代硬件融合最大的區別在于可擴展多種應用。
另據臺達集團國內子公司中達電通視訊產品經理朱力介紹,臺達集團緊密把握物聯網技術潮流,最新研發出面向廣域大規模的智慧型監控與管理系統――iPEMS。iPEMS系統由數據處理子系統與分布式顯示子系統2個部分組成。數據處理子系統包括數據感知與傳輸,數據分布式存儲,大數據分析以及數據可視化;分布式顯示子系統包括顯示控制器,拼接顯示墻以及顯示管理軟件。該系統通過實時模擬/數字信號獲取、網絡化數據傳輸、海量數據存儲、智能大數據挖掘與分析、超高清晰度數據可視化等技術,為人們提供海量可視化信息,幫助人們及時有效決策和遠程控制。
新型平臺具備革命性優勢
傳統的集中控制系統,由于資源有限,因此在大規模、復雜的拼接墻以及信號源較多的場合下,由于傳輸距離的限制、接入點的上限、圖像處理速度慢、不間斷運行易宕機等問題而不能使用,同時,由于所有的輸入輸出都由集中控制器處理,一旦控制器出現問題,則整個系統都崩潰,導致系統的安全性和可靠性不足。傳統的分布式控制系統,最大的缺點是每一路都需要一個控制器,無論輸入和輸出,雖然能解決運算資源和可靠性問題,但造成了另一種局面,就是資源浪費,成本增加,占用的體積也相應加大,靈活性也還不夠。同時整個拼接系統仍處于圖像控制的范疇內,無法與正處在高速發展的傳感器、互聯網技術更好地結合發展。而新的結合了云計算和物聯網技術的控制系統,則可以解決上述所有問題。
清司相關負責人表示,采用云計算、物聯網技術的控制平臺具有更高的可擴展性和靈活性。傳統處理器為機柜插卡式結構,機箱需按照輸入輸出的路數預先訂制,且最多只能處理72路信號,擴展性和靈活性受到了極大制約;而分布式拼接系統采用以太網進行數據交換傳輸,僅需用網線將節點設備接入交換機即可實現系統擴展。
分布式系統的布線以網線為主,簡單而且方便。傳統的RGB線纜、DVI線纜都有傳輸距離的限制,超過了30m以后就會出現信號質量下降、畫面抖動、閃爍問題,需要增加其他外設補償信號,從而降低了圖像的真實性,很難滿足用戶對信號質量的高需求。特別是監控系統,遠端信號傳輸已經過一次轉換,如果再進行數/模轉換,就會大大降低信號強度。這就會影響用戶的使用體驗。而采用分布式只需要將信號源接入網絡,在網絡帶寬滿足的情況下就可以保證遠距離傳輸,而且保證色彩還原度。
物聯網拼接控制系統具有更高的穩定性和更低的功耗。集中式系統的拼接控制器是整個系統的核心,一旦故障,整個系統便會崩潰;而分布式系統中不存在中央處理器,各個控制節點彼此并不互相依賴,單個節點故障并不影響整體系統正常運行,而且核心數據交換設備采用網絡交換機這種非常成熟的產品,穩定性非常高。另系統中每個節點功耗只有5-10W,節能環保。
用戶的福音
網絡化、分布式作為未來拼接系統的發展趨勢,正在越來越多的大型拼接系統應用中嶄露頭角。對行業用戶來說,分析自己的應用需求,選擇性價比最高的拼接系統會尤為重要。同時,除了考慮拼接系統的穩定性、可靠性之外,如何利用新技術和平臺,實現更多的便捷功能、與現有IT資源整合、提升投資回報率也會成為評估的重點。
云計算與分布式技術范文4
【關鍵詞】 云計算 大數據 MapReduce Hadoop一、大數據
1.1什么是大數據
大數據概念可以從四個維度去解,即三個V和一個C。三個V分別指的是數據量大(Volume)、數據種類多(Variety)和數據增長速度快(Velocity),最后一個C指的是處理、升級或利用大數據的分析手段比處理結構化數據要復雜的多(Complexity)。大數據分析常和云計算聯系到一起,因為實時的大型數據集分析需要像Map-Reduce一樣的并行計算框架將復雜的計算任務分配到“云”中成百上千的節點。
1.2大數據與云計算
大數據本身就是一個問題集,云計算技術是目前解決大數據問題集最重要最有效的手段。云計算提供了基礎的架構平臺,大數據應用在這個平臺上運行。目前公認為分析大數據集最有效手段的分布式處理技術,也是云計算思想的一種具體體現。
云計算是分布式處理、并行處理和網格計算的發展,或者說是這些計算機科學概念的商業實現。云計算將網絡上分布的計算、存儲、服務構件、網絡軟件等資源集中起來,基于資源虛擬化的方式,為用戶提供方便快捷的服務, 實現了資源和計算的分布式共享和并行處理,能夠很好地應對當前互聯網數據量高速增長的勢頭。
1.3大數據與Hadoop
Hadoop是一個Apache的開源項目,主要面向存儲和處理成百上千TB直至PB級別的結構化、半結構化或非結構化的大數據。Hadoop提供的Map-Reduce能將大數據問題分解成多個子問題,并將它們分配到成百上千個處理節點之上,再將結果匯集到一個小數據集當中,從而更容易分析得出最后的結果。
Hadoop項目包括三部分,分別是Hadoop Distributed File System(HDFS)、Map Reduce編程模型,以及Hadoop Common。Hadoop具備低廉的硬件成本、開源的軟件體系、較強的靈活性、允許用戶自己修改代碼等特點,同時能支持海量數據的存儲和計算任務。這些特點讓Hadoop被公認為是新一代的大數據處理平臺。 Hadoop同樣具備出色的大數據集處理能力,在獲取、存儲、管理和分析數據方面遠遠超越傳統的數據庫軟件工具。Hadoop經常在構建大數據解決方案時被用作基礎構架軟件。
二、大數據技術綜述
大數據處理不僅僅是Hadoop,許多特定的數據應用場景是需要實時分析和互動反饋的,這時候就需要利用包括內存檢索、流處理和實時計算等其他技術。而云計算的分布式存儲和計算架構開啟了大數據技術研究的大門,打造健全的大數據生態環境,所有這些技術結合在一起,才是一個完整的大數據處理系統。
2.1分布式計算框架
MapReduce是Google開發的一種簡化的分布式編程模型和高效的任務調度模型,用于大規模數據集(大于1TB)的并行運算,使云計算環境下的編程變得十分簡單。
MapReduce將數據處理任務抽象為一系列的Map(映射)和Reduce(化簡)操作對。Map主要完成數據的分解操作,Reduce主要完成數據的聚集操作.輸入輸出數據均以〈key,value〉格式存儲.用戶在使用該編程模型時,只需按照自己熟悉的語言實現Map函數和Reduce函數即可,MapReduce算法框架會自動對任務進行劃分以做到并行執行。
Pregel是Google 提出的迭代處理計算框架,它具有高效、可擴展和容錯的特性,并隱藏了分布式相關的細節,展現給人們的僅僅是一個表現力很強、很容易編程的大型圖算法處理的計算框架。Pregel的主要應用場景是大型的圖計算,例如交通線路、疾病爆發路徑、WEB 搜索等相關領域。
2.2分布式文件系統
為保證高可用、高可靠和經濟性,基于云計算的大數據處理系統采用分布式存儲的方式來保存數據,用冗余存儲的方式保證數據的可靠性。目前廣泛使用的分布式文件系統是Google的GFS和Hadoop團隊開發的GFS的開源實現HDFS。
GFS即Google文件系統,是一個可擴展的分布式文件系統,用于大型的、分布式的、對大量數據進行訪問的應用。GFS的設計思想不同于傳統的文件系統,是針對大規模數據處理和Google應用特性而設計的,運行成本低廉,并提供容錯功能。
HDFS即Hadoop分布式文件系統,受到GFS很大啟發,具有高容錯性,并且可以被部署在低價的硬件設備之上。HDFS很適合那些有大數據集的應用,并且提供了數據讀寫的高吞吐率。HDFS是一個master/slave的結構,在master上只運行一個Namenode,而在每一個slave上運行一個Datanode。HDFS支持傳統的層次文件組織結構,對文件系統的操作(如建立、刪除文件和文件夾)都是通過Namenode來控制,Datanode用來存放數據塊。
2.3大數據管理技術
互聯網數據已超出關系型數據庫的管理范疇,電子郵件、超文本、博客、標簽(Tag)以及圖片、音視頻等各種非結構化數據逐漸成為大數據的重要組成部分,而面向結構化數據存儲的關系型數據庫已經不能滿足數據快速訪問、大規模數據分析的需求,隨之而來,一系列新型的大數據管理技術和工具應運而生。
2.3.1 非關系型數據庫
NoSQL,也有人理解為Not Only SQL,它是一類非關系型數據庫的統稱。其特點是:沒有固定的數據表模式、可以分布式和水平擴展。NoSQL并不是單純的反對關系型數據庫,而是針對其缺點的一種補充和擴展。典型的NoSQL數據存儲模型有文檔存儲、鍵-值存儲、圖存儲、對象數據、列存儲等。而比較流行的,不得不提到Google的Bigtable,它把所有數據都作為對象來處理,形成一個巨大的表格,用來分布存儲大規模結構化數據,數據量可達PB級。而HBase是Hadoop團隊基于Bigtable的開源實現,使用HDFS作為其文件存儲系統。同時,Cassandra(K/V型數據庫)、MongoDB(文檔數據庫)和Redis等一系列優秀的非關系型數據庫產品如雨后春筍般問世。
2.3.2 數據查詢工具
Hive是Facebook提出的基于Hadoop的大型數據倉庫,其目標是簡化Hadoop上的數據聚集、即席查詢及大數據集的分析等操作,以減輕程序員的負擔.它借鑒關系數據庫的模式管理、SQL接口等技術,把結構化的數據文件映射為數據庫表,提供類似于SQL的描述性語言HiveQL供程序員使用,可自動將HiveQL語句解析成一優化的MapReduce任務執行序列.此外,它也支持用戶自定義的MapReduce函數。
PigLatin是Yahoo!提出的類似于Hive的大數據集分析平臺.兩者的區別主要在于語言接口.Hive提供了類似SQL的接口,PigLatin提供的是一種基于操作符的數據流式的接口.可以說Pig利用操作符來對Hadoop進行封裝,Hive利用SQL進行封裝。
Google Dremel是個可擴展的、交互式的即時查詢系統,用于完成大規模查詢結構化數據集(如日志和事件文件)。它支持類SQL語法,區別在于它只能查詢,不支持修改或者創建功能,也沒有表索引。數據被列式存儲,這樣有助于提升查詢的速度。Google將Dremel作為MapReduce的一種補充,被用于分析MapReduce的結果或者是作為大規模計算的測試。
2.4實時流處理技術
伴隨著互聯網業務發展的步調,以及業務流程的復雜化,企業的注意力越來越集中在“數據流”而非“數據集”上面,他們需要的是能夠處理隨時發生的數據流的架構,現有的分布式計算架構并不適合數據流處理。流計算強調的是數據流的形式和實時性。MapReduce系統主要解決的是對靜態數據的批量處理,當MapReduce任務啟動時,一般數據已經到位了(比如保存到了分布式文件系統上),而流式計算系統在啟動時,一般數據并沒有完全到位,而是經由外部數據源源不斷地流入,重視的是對數據處理的低延遲,希望進入的數據越快處理越好。數據越快被處理,結果就越有價值,這也是實時處理的價值所在。
流計算的數據本身就是數據流,不需要數據準備的時間,有數據流入就開始計算,解決了數據準備和延遲的兩個問題?,F有的解決方案中,Twitter的Storm和雅虎的S4框架更適合數據流計算的場景。Storm是開源的分布式實時計算系統,可以可靠的處理流式數據并進行實時計算,單機性能可達到百萬記錄每秒,開發語言為Clojure和Java,并具備容錯特性。S4是面向流式數據和實時處理的,所以針對實時性較高的業務,可以很好地對數據做出高效的分析處理,而且系統一旦上線,很少需要人工干預,源源不斷的數據流會被自動路由并分析。對于海量數據,它和MapReduce都可以應對,但它能比后者更快地處理數據。
三、思考與展望
以云計算為基礎的信息存儲、分享和挖掘手段為知識生產提供了工具,通過對大數據分析、預測會使得決策更為精準,這對媒體融合具有重要意義。
新聞媒體的數據庫中擁有海量信息存儲,這些多媒體數據包括文字,圖片,視頻和音頻等多種格式,符合大數據處理的基本特征,利用大數據技術對這些資源進行存儲,計算和分析,了解用戶行為,挖掘數據本質和關聯,為領導提供決策支持,為終端用戶提供更好的服務和新聞定制,增強新聞信息產品的質量和影響力。
云計算與分布式技術范文5
作為一種新型計算模式,云計算的應用對于改善物聯網運營平臺的信息處理與計算能力具有重要作用。本文首先介紹了物聯網運營平臺的總體結構構建,然后具體探討了物聯網運營平臺構建中采用的關鍵云計算技術,以期為相關技術與設計人員提供參考。
【關鍵詞】云計算 物聯網運行平臺 構建
物聯網的智能處理過程需在信息技術的支持下才能完成,而IT技術與通信技術未來發展的結合點便為云計算技術。云計算具備信息數據快速處理的性能,若要將其迅速普及到各行各業和社會中,則必須依靠高速及寬大的網絡發展。因此,加強有關基于云計算的物聯網運營平臺構建分析,對于改善物聯網運營平臺的設計質量具有重要的現實意義。
1 物聯網運營平臺的總體結構構建
在綜合分析物聯網運營平臺需求與特點的基礎上可以發現,物聯網需具備大規模的資源與數據處理能力,而對于大規模數據的處理與計算則必須使用云計算技術?;谠朴嬎愕奈锫摼W運營平臺通常包含以下內容:
1.1 平臺服務
作為物聯網的重要組成部分,云平臺具備控制與配置網絡節點、信息計算與采集的功能,其通過分布式計算技術和分布式存儲技術對海量數據信息進行分析,并給出大數據量數據動態處理服務。云平臺能同時對多項業務及任務進行處理,且能依據不同業務特點對計算功能進行分離,以構建優化計算模型供云調用利用。
1.2 軟件服務
物聯網與云計算可通過虛擬物力資源向客戶提供基本的業務服務,也可專門供第三方使用。第三方提供軟件,云平臺通過虛擬化過程分別租賃給不同的商戶,且讓不同租戶間進行資源共享,依據租戶需求實施計費,此種方式不僅能大幅度降低運行成本,還可改善資源利用率。
1.3 基礎設備服務
云計算應用過程中所需的基礎設備有網路設備、服務器、帶寬、存儲設備等出售設備。利用虛擬化模型對物理資源進行有效處理,可促進物聯網平臺不同行業間或同行業間不同客戶間的資源共享,且不會受到設備與地點的限制,由此便能加大資源的有效配置,減少資源浪費,且可大幅度降低成本,提高使用質量。
2 物聯網運營平臺構建采用的關鍵云計算技術
2.1 用戶個性化推薦與用戶聚類的分布式應用構建
在應用構建前應先開展應用業務分析,在組織和評估內外部資源的基礎上界定不同類的業務問題;依據應用種類的差異進行數據采集與處理,并按照應用需要采用網頁解析、爬蟲、分詞等技術對數據實施獲取與辨認。對于已采集到的數據進行處理方法通常有數據重構、數據格式化、數據量化處理與數據整合等。在選用獨立性變量時要構建分類模型,采用不同的數據挖掘算法以實現用戶分群功能。依據聚類結果開展業務解析,并依據不同用戶群的特質建立個性化方案。
2.2 數據挖掘算法
以云計算為基礎的數據挖掘算法的分布式文件系統HDFS是分布式計算平臺的重要組成部分。在平臺構建時要先全面分析了解分布式文件系統的write-one-read-many訪問模型及其對于并行計算、分布式文件系統的層次結構及其Namespace、分布式文件系統的Datanode與Namenode劃分機制及Master/Slave架構;然后研究分析Hadoop中的并行計算算法,其主要包括并行計算算法的應用程序接口、通訊過程與其RPC實現機制、應用程序處理流程與基本組成、解決死鎖問題的錯誤處理機制等。在此類研究的基礎上,構建基于Hadoop的包括SSH安裝配置、硬件環境配置、Hadoop服務、環境變量設置、分布式文件系統的目錄文件結構設置、Data Node與Name Node配置、配置文件參數等部分的云計算集群平臺。
2.3 數據挖掘算法的并行算法實現
數據娃聚算法的并行算法實現主要通過以下流程:對類數據挖掘算法實施對應的MapReduce改造;對算法中的各MapReduce過程進行具體定義;在Hadoop平臺上開展編碼;測試已完成的數據挖掘并行算法。解析效果評測數據主要為SougouT 1TB或天王200G網頁數據,任意抽取不同網頁開展人工測評,正文提取的準確率應保證高于90%。
采用MapReduce對定義輸入輸出格式化OutFormat與InputFormat類、Reducer與Mapper類等過程進行處理,利用對MapReduce的參數和過程函數定義調整來改善算法的并行度,由此完成具有高度并行的分布式數據挖掘算法,集群中的機器數量與算法數據處理能力接近線性分布。
3 結束語
云計算技術的應用質量將直接關系到物聯網運營平臺的構建水平與功能使用,因此,相關技術與研究人員應加強有關基于云計算的物聯網運營平臺構建研究,總結平臺構建的基本要點及關鍵云計算處理措施,以逐步改善平臺構建中的云計算應用水平。
參考文獻
[1]梅海濤.基于云計算的物聯網運營平臺淺析[J].電信技術,2011,13(14):74-75.
[2]于洋.構建基于云計算的物聯網運營平臺分析與研究[J].電腦知識與技術,2013,06(10):61-62.
[3]王昆昆.論基于云計算的物聯網運營平臺建設[J].計算機光盤軟件與應用,2013,05(35):57-58.
作者簡介
劉倩(1981-),女,滿族,碩士研究生學歷?,F為寧夏大學數學計算機學院講師。主要研究方向為圖形圖像處理與多媒體技術。
云計算與分布式技術范文6
關鍵詞 數學實驗;云平臺;分布式計算;MATLAB
中圖分類號:G642.423 文獻標識碼:B
文章編號:1671-489X(2017)04-0012-03
Abstract This article elaborates design and implementation of the cloud platform of mathematical experiments, and the key technologies used in the process of platform development. The cloud platform is an integrated environment of mathematical experiments on the internet with openness, real-time and accessibility and capable of executing distributed computations. It is able to provide the online service of mathematical experiments and scientific computations for teachers and students, moreover solve complex computation problems. The cloud platform is a way to share the computational resources of high quality in mathematical laboratory within and between campuses, and explore the development road of mathematical laboratory in future.
Key words mathematical experiments; cloud platform; distributed computing; MATLAB
1 前言
目前國內眾多高校的數學實驗室是基于局域網的以微機為主體的機房,難以將其計算資源共享給廣大師生或者科研人員使用,不具備開展大型實驗項目和執行大型計算任務的能力,如大數據的分析處理。如何整合數學實驗室的計算資源,使之能夠提供高性能的計算服務,并將計算服務方便快捷地提供給廣大師生使用,是數學實驗室建設中亟待解決的問題[1]。
因此,一些學者提出基于網絡的虛擬數學實驗室,具有網絡執行MATLAB程序的功能,能進行簡單的數學實驗,具有一定的實驗教學管理功能;還有一些研究提出基于Web和MATLAB的虛擬實驗系統,這些系統針對特定的數學實驗項目編制,允許學生通過網絡修改模型參數進行演示[2-3]。目前這種基于網絡的數學實驗室或者虛擬實驗系統,不能進行分布式計算,難以開展大型的數學實驗項目和完成復雜的科學計算任務,難以處理大規模的并發訪問,離實際應用還有一段距離。
本文應用云計算的技術理念,提出構建基于J2EE(Java 2 Platform, Enterprise Edition)和MATLAB分布式計算技術的數學實驗云平臺,實現數學實驗室的多核、多處理器、多臺微機和大型數值計算軟件等優質計算資源的校內和校際共享,滿足廣大師生日益增長的科學計算需求,特別是在分布式計算和大數據處理方面的計算需求。
2 數學實驗云平臺的設計
系統概述 云計算既指在互聯網上以服務方式提供的應用系統程序,又指在數據中心用來提供這些服務的硬件和系統軟件。云計算可理解為并行計算、分布式計算和網格計算的發展,或者說是這些計算機科學概念的商業實現[4]。
實驗云是遠程實驗技術與云計算技術的融合,將改變傳統的教育模式。數學實驗云平臺應用云計算的技術理念,將數學實驗和科學計算理解為可以提供給用戶的服務,數學實驗室的軟硬件資源為生產該服務的基礎設施。因此,數學實驗云平臺定義為云計算技術下的集成數學實驗環境,為學生、教師和其他用戶提供即時的云端數學實驗和科學計算服務,如并行計算、分布式計算和大數據處理等計算服務,讓傳統數學實驗室的計算和服務能力有質的飛躍。
功能模塊設計 數學實驗云平臺是一個集成的數學實驗環境,在此環境中主要的操作對象有教師、學生、執行特定計算的科研人員和平臺管理人員,該平臺主要功能集中在數學實驗、課程管理、科學計算、協作交流和資源共享等,具體的功能模塊有:
1)數學實驗,用戶通過該模塊接收數學實驗任務、在線進行數學實驗、查看實驗結果及實驗成績、撰寫并提交實驗報告和儲存及查看歷次實驗記錄;
2)科學計算,用戶通過該模塊提交計算任務、編寫計算程序、上傳相關數據和獲取計算結果,進行項目管理;
3)課程管理,該模塊使用者主要為數學實驗教師,主要功能有實驗任務、收集并查看實驗報告、評定實驗成績等;
4)協作圈子,該模塊幫助用戶完成需要團隊合作的實驗或者科研項目,在一個圈子里,圈子成員共享實驗空間、代碼空間,在線討論交流等;
5)文件管理與共享,該模塊提供講義、輔助材料、課程錄音、錄像等課程資源的存儲和共享;
6)人員管理,該模塊用于管理教師、學生和其他人員的個人信息,包括所上課程、所侔嗉妒笛樾∽榛蛘嚦蒲謝構、參與項目、項目角色等信息。
3 數學實驗云平臺的技術實現
系統架構 數學實驗平云臺基于J2EE和MATLAB集群技術開發,采用B/S(Browser/Server,瀏覽器/服務器)架構,如圖1所示。Web服務器負責業務邏輯控制,MATLAB集群負責數學實驗和科學計算,數據庫負責存儲用戶信息、實驗和計算代碼、計算結果、分析報告等。用戶從網頁上發出計算請求,用戶的請求給Web服務器處理之后,將發往MATLAB集群管理器,集群管理器給各計算機分配作業,完成計算任務后將收集計算結果并通過Web服務器返回給用戶,其他需要存儲的信息發往數據庫。服務器端軟件包括J2EE Server(Apache Tomcat 7.0.52)、MATLAB 2012a和SQL Sever2005。
MATLAB分布式計算集群的搭建 MATLAB分布式計算環境由其并行計算工具箱(Parallel Computing Toolbox)、分布式計算服務器軟件(MATLAB Distributed Computing Server)和計算機集群構成(Math Works. 2012. MATLAB Reference guide. Natick, MA, USA)。在MATLAB集群架構中有3種角色:客戶端(Client)、作業管理器(Job Manager)、Worker??蛻舳耸前l起計算任務的MATLAB線程,客戶端發起的計算任務稱為作業(job),作業是運行在MATLAB上的大型運算,客戶端在并行計算工具箱的支持下定義作業并將其分割成若干個可以同時進行的小的運算,這些小的運算稱為任務(task);客戶端將作業發送給作業管理器,作業管理器是服務端應用程序的一部分,用來協調管理作業及其任務的執行;作業管理器將任務分配給服務端獨立的MATLAB線程進行計算,這些MATLAB線程稱為Worker;Worker運行結束返回結果給作業管理器,再由分布式計算工具箱對其結果進行合并,得出最終結果發送給客戶。
在一臺計算機上,MATLAB并行工具箱只允許最多12個Worker同時運行,要使用更多的Worker,需要通過MATLAB的分布式計算服務器軟件組建MATLAB集群。MATLAB集群的搭建分為四大步驟:MATLAB軟件的安裝、搭建集群局域網、分布式引擎的安裝(MATLAB Distributed Computing Engine,
MDCE)、作業管理器和Worker的啟動配置。MDCE是MATLAB的分布式計算服務器軟件的一部分,用以維護Worker之間、Worker與作業管理器之間的通信,打開集群內各計算機的終端界面,進入MATLAB的安裝路徑“/toolbox/distcomp/bin”下,輸入命令“mdce install”安裝MDCE。安裝完畢后,輸入“mdce-version”,出現MDCE版本信息則說明安裝成功,此時,輸入“mdce start”,開啟分布式計算服務。啟動
MDCE服務后,輸入“startjobmanager-name”命令創建作業管理器。
學生的數學實驗程序較簡單,計算量小,但是面臨大量學生并發訪問的問題;科學計算則針對大型計算或者大數據處理,用戶數較少,但每次計算需要占用大量計算資源。為利用MATLAB集群高效完成這兩項功能,在MATLAB集群中建立兩類作業管理器:一類是數學實驗作業管理器,名為EJobManager,擁有80個Worker;一類是科學計算作業管理器,名為SJobManager,擁有120個Worker,分別接受數學實驗和科學計算任務。
MATLAB分布式計算集群的Web調用 Matlabcontrol是讓Java程序與MATLAB交互的API,可以實現從Java程序向MATLAB發送命令,讓MATLAB執行某個M文件等,其jar包可以在goole code中下載。Matlabcontrol調用MATLAB分為四大步驟:設置獲取MATLAB時的相關參數,通過MatlabProxy的工廠方法獲取,運行代碼獲取結果,關閉。在實際應用中獲取和關閉MATLAB要消耗大量的系統資源,運行起來也非常慢。為此,筆者建立一個MATLAB池。池在服務器開啟之時初始化,創建一定默認數量的MATLAB,并且設置一定的限制規則:設置池內最大數,達到這個數目后,新增用戶需要等待其他用戶釋放。在這個機制下,用戶可以直接在池中獲得空閑的,而不是每次連接時新建一個;使用完了之后也不是直接關閉它,而是將放入池中。同時在Servlet中還設置了一個監聽器來監聽每個所使用的連接數,可以標記一個MATLAB進程同時被多少個用戶所使用。本文系統以每個同時最多由20個客戶使用作為限制。
用戶向Web服務器發送求,Web服務器通過Matlab-control建立與服務端的MATLAB鏈接,用戶通過此鏈接向MATLAB集群上的作業管理器注入作業,從而實現調用集群計算機完成計算任務。開啟Tomcat服務器之后,自動加載InitServlet,InServlet中的Init()方法自動初始化MATLAB池,并且默認開啟1個MATLAB進程,把MATLAB的池對象放入Application中。
數學實驗與科學計算模塊的實現 每個用戶所編寫的MATLAB程序執行時間不一樣,用戶通過MATLAB提交作業并等待作業管理器返回計算結果,需要占用MATLAB較長時間,在大量用戶并發訪問時會導致MATLAB資源不足。其解決方案是將作業提交和獲取計算結果異步執行,這樣不僅可以克服因某個用戶程序執行較慢而阻塞MATLAB進程的問題,而且由于用戶提交作業后即釋放對MATLAB的占用,可以讓一個MATLAB響應更多的用戶請求,減少系統開銷。
該解決方案的具體做法是將用戶MATLAB程序封裝成指定名字的作業,通過MATLAB提交給相應的作業管理器,由作業管理器調度MATLAB集群處理。同時采用MATLAB定時器技術在集群端間隔一定時間掃描作業管理器中的作業狀態,對狀態為完成的作業,取回其結果并以文本形式保存到指定目錄下,客戶通過文件監聽和Ajax技術獲取該文本文件中的結果。這樣使得作業提交、作業計算和輸出結果分別在不同的計算機上完成。
通過MATLAB定時器輸出已完成作業的計算結果的MATLAB函數如下:
function getResult(savepath,jobmanager)
[p q r jobM]=findJob(jobmanager);
for i=1:length(jobM)
directory=get(jobM(i),’UserName’);
filename=[directory,datestr(now,30)];
result=getAllOutputArguments(jobM(i));
xlswrite([savepath ‘\’ directory ‘\’ filename],result)
destroy(jobM(i))
end
前端頁面的實現 數學實驗云平臺采用J2EE中的Jsp+
Servlet+Bean的MVC(Model View Controller)設計模式,前端頁面采用Bootstrap框架開發,會根據顯示器大小自動調整頁面顯示,用戶可以在電腦、移動設備上登錄該平臺。用戶成功登錄系統后,進入數學實驗或者科學計算模塊之后,可以新建實驗(科研)項目,或者進入已有的實驗(科研)項目,編寫計算程序提交作業,保存計算程序到數據庫,方便下次調用查看,科學計算模塊允許用戶上傳計算需要的數據和其他M文件。
4 結語
本研究基于云計算的技術理念,在J2EE環境下開發基于MATLAB分布式計算技術的數學實驗云平臺,具有開放性、即時性、易接觸性,能夠方便快捷地為廣大師生提供數學實驗和科學計算服務。該平臺將數學實驗室軟硬件計算資源組建成集群,可以進行大型科學計算,充分發揮實驗室資源的潛在效能。用戶通過瀏覽器即可向該平臺提交計算任務獲取計算結果,實現實驗室資源的校內校際共享,有利于提高實驗教學水平。因此,本研究為高校利用現有實驗室構建云計算實驗室及實現其資源共享做了有益嘗試,并為數學實驗室的未來發展拓展了道路,符合教育技術信息化的未來發展方向。
⒖嘉南
[1]孫蘇菁,白占兵.關于數學實驗室建設的若干思考[J].科技視界,2013(11):41.
[2]宋紹云,師紅.基于Matlab Web Server的數學實驗室體系結構的建立[J].玉溪師范學院學報,2007(12):38-42.