前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇云計算與分布式技術范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
云計算的英文全稱是Cloud Computing,是并行處理、分布式計算以及網格計算等基礎的商業實現,其實現的基本原理是將計算進行功能劃分,使其分布在不同的計算機上,可以完全脫離本地的計算機或者服務器,這樣,便使得云計算的的運行與互聯網網絡極為相似,這樣,便可以使得企業能夠根據需求自動的調整應用,從而訪問需求中所需要的分布式存儲系統或者計算機。云計算是分布式計算的一種,分布式計算的核心便是將龐大的計算能力需求進行劃分,變成非常小的模塊,各個模塊均被劃分到不同的計算機中運行。最終將這些結果進行綜合,得出的結果便是所需要的結果。
一、分布式云計算特點
具有超大的規模。“云”具有一定的規模,在企業中,私有的云一般都擁有數百上千臺服務器,“云”能夠賦予用戶很強的計算能力,可以達到用戶前所未有的計算能力。
虛擬化。在任何地方,不管用戶采用何種終端獲取服務云計算均支持。這些資源來自“云”,而不是某種有形的固定實體。在應用中,用戶不需要擔心應用運行的位置,通過網絡服務云計算就可以滿足我們的需求,甚至是超計算這樣的任務。
可靠性極高。多個副本容錯數據,計算節點同構可互相交換等使云計算比本地計算機更安全可靠。
可通用。多種應用均可以在“云”的支撐下構造,其不針對某種特定的應用,不同的應用可以在同一個“云”的支撐下運行。
可擴展性高。“云”根據應用和用戶規模的增長可以進行動態伸縮滿足其需求。
按需服務。“云”的資源相當豐富,可以按你的需求進行購買。
二、分布式云計算在金融業中的應用
云計算的出現,使得各個行業都投入到了云計算技術的應用方面,金融行業自然也不例外,目前,很大一部分的金融交易平臺都選擇云計算技術,主要是因為,采用云計算技術能夠使得金融交易平臺節省開支,不需要花大價錢去購買昂貴的數據中心,云計算方案的實施還能夠使得金融交易平臺脫離存儲設備、網絡設備以及服務器等硬件設備,所有的技術問題都交給專業的、功能強大的云計算服務器提供商去實現。此外,云計算還解決了硬件以及軟件兼容的問題,金融交易平臺僅僅需要關心自身的業務。
金融交易平臺之所以選擇云計算進行一些方案的解決只要是因為云計算具有易用、可管、部署迅速等特性。傳統都是自己去購買軟硬件的模式,但云計算的模式相對比較靈活,同時也大大縮短了使用的成本,在很多方便都得到了很大程度上的改善。金融交易平臺運用云計算解決方案,在很大的程度上簡化了IT基礎設施的維護和使用。
我國與外國相比較,雖然起步的時間相同,在我國仍然處在起步階段的時候,國外云計算的應用早已經進入了初步階段,為什么會存在應用進程的差異呢?在國外傳統意義上的外包可以自然的向基于更加靈活方便的云計算外包過度,而在國內,大多數的企業不敢嘗試,對云計算的應用產生懷疑的態度,擔心自己的業務放到云端是否安全,會比放在自己的機房可靠嗎?會有很大的風險嗎?等等原因主要是由于缺少IT外包造成的。但隨著業務的擴大,管理上與國際化的接軌,金融交易平臺光靠傳統的方式有了很大的壓力和挑戰。面對科技的發展,科學的進步,國際化的統一,信息化建設和應用水平一直領先于其他產業的金融交易平臺面對迅速膨脹的市場需求,已經面臨了前所未有的挑戰,金融交易平臺的IT系統已經跟不上國際化的發展。面對這樣的挑戰,國內金融交易平臺開始采取措施積極應對。首先,許多金融交易平臺采取并購、吸納一些海外的投資進行資本的運作,擴大自身的規模,大大增強自身的競爭能力;其次,國內的金融交易平臺也大大提升產品的創新力度,從服務水平到業務的網絡向國際先進金融交易平臺靠近。專家向金融交易平臺提議,在金融交易平臺系統中要合理的運用云計算,必須要全方面的考慮一些問題:首先要分析云計算可以給金融交易平臺節約多少成本,以數據的形式進行分析,多提出一些有難度的問題。
云計算最基本的作用就是可以大大的降低國內金融交易平臺的IT基礎設施成本。在很多領域中,云計算很大程度上擴大了金融交易平臺服務市場,給金融交易平臺提供了很好的機會,可以改善金融交易平臺吸引、留住和服務客戶的方式。雖然云計算在金融交易平臺系統中有很大的應用,但有人則認為,如果金融交易平臺在沒有充分的了解相關風險并不知如何成功避開風險的情況下,還是不要輕易的飛入云端。
三、總結
分布式計算的思想是未來計算的主流技術,是解決復雜計算問題的關鍵技術,基于分布式核心技術的云計算技術,其發展過程是一個相對比較長的過程,但是卻已經確定了未來IT發展的主體方向。此外,隨著科學技術的發展,云計算,作為引領未來信息技術產業創新的關鍵戰略性技術和手段,將使人們的工作方式和商業模式發生根本性的變革,必將在金融領域發揮著至關重要的作用,為金融行業發展注入新鮮的活力。
參考文獻:
[1]Michael Miller.云計算[M].機械工業出版社,2009
[2]張建文,汪鑫.云計算技術在銀行中的應用探討[J].華南金融電腦,2009
關鍵詞:分布式計算;云計算;并行計算;Web Service;網格計算
中圖分類號:TP393.02文獻標識碼:A 文章編號:1009-3044(2011)22-5463-03
Introduction of Distributed Computation
DUAN Xiao-guo
(College of Information Science and Engineering, Shandong University of Science and Technology, Qingdao 266500, China)
Abstract: Distributed Computation system is developing quickly, we can use cheap hard ware to do some research work which only high performance computer can do before by this technology, today distributed computation system is an important technology in research, database search, complex computation and other fields. Such as: P2P, Mobile Agent, Grid Computing, Cloud Computing, Web Service. Introduce this technology and some application examples here.
Key words: distributed computation; cloud computing; parallel computing; Web Service; grid computing
1 綜述
分布式計算和并行計算技術為研究開發高性能計算機另辟蹊徑,使用普通的計算機通過網絡連接之后,通過這兩種計算技術來完成以前只有在高性能計算機上才能進行的工作,隨著技術的發展和進步,分布式計算技術已經使參與分布式計算的普通計算機的“聯合計算能力”超過了單臺超級計算機。分布式計算技術已經有十幾年的研究歷史, 但現在仍然是計算機研究領域的一片熱土,在不同的應用領域發展起來特點各異的分布式計算技術的分支。
1.1 分布式計算國內外研究現狀[1]
現在對分布式計算技術的研究主要集中兩個方面:分布式操作系統和分布式計算環境。經過近20年的研究,已經有多種分布式計算技術在各不同領域得到應用,下面是比較主流的幾種技術:中間件技術、P2P技術、移動Agent技術、網格技術、Web Service技術,這些技術已經比較成熟,且得到了大家的認同,已經在其適合的領域內用于科學研究或大規模數據計算。
整體研究水平來看,國內的研究水平和國際上發達國家有明顯差距,我國雖然擁有數量巨大的計算機用戶和網絡用戶,但了解或者知道分布式計算的用戶卻不多,大部分人或者絕大部分用戶使用計算機進行日常辦公、網上查詢、聊天等工作,只有部分高校和科研機構才參與分布式計算,這和西方歐美發達國家相比,我們的理論起點低,研究的深度和應用的廣度都和發達國家有巨大的差距。
1.2 分布式計算國內外應用現狀[1]
現在分布式計算已經應用在科研、教育、天氣預報分析、數據庫搜索、生物技術等諸多領域,以下是幾個比較典型的例子:
SETI@home是國際上比較著名的一個分布式計算應用的項目。這個項目主要是通過使用參與分布式計算的計算機下載計算程序來對射電望遠鏡收到的海量信號進行計算分析,目的是確定地球之外有無類人或類似地球生物的生命存在,尋找宇宙中的生命體,我們國家也有一些機構和個人參與這個科研項目。
若說SETI@home和我們的實際生活沒有多大關系,那么下面這兩個項目則和我們有密切的關系。Climateprediction工程是分布式計算技術在氣象預測領域內的成功應用例子之一,研究者首先建立氣象計算模型,全球各地巨的氣象數據輸入計算程序,任何參加這個項目的組織和機構或者個人,都可領到合適的計算任務,并把計算的結果返回,通過海量的計算來組建地球氣象模型。
Folding@home是另一個著名的分布式計算工程,這個項目主要是研究蛋白質折疊、、聚合及由此過程引起的一些相關疾病。使用計算機來模擬蛋白質的折疊和聚合過程需要海量的計算,分布式計算可以通過利用大量的閑散計算資源,甚至是跨越國界、民族的界限,來承擔這個巨大的計算任務,研究這些疾病的產生原理,為攻克和預防這些疾病做理論上的分析,目前有多個國家的科研機構和組織參與這個項目,我們中國也有人參與這個項目。
作為應用分布式計算最成功的組織之一:谷歌,他的文件管理系統被作為一個典范,許多學者對其研究,一些同行進行效仿,甚至有些人將谷歌的文件管理系統作為一門學科來研究,GFS這個原本是谷歌自有名詞縮寫因此也成了這個行業應用分布式計算的一個典范。
和上面的應用例子類似的分布式計算工程有很多,分布在不同的國家和地區,但這些項目大都互無聯系,甚至每個項目都使用一個不同的軟件,使用不同的分布式計算技術,如何整合這些互不關聯的項目,更大限度地發揮參與這些工程的計算機的能力,這也是一個研究課題,美國加州大學伯克利分校已經建立了一個開放的網絡計算平臺,即行內皆知的BOINC(BERKELEY OPEN INFRASTRUCTURE FOR NETWORK COMPUTING),這個平臺的主要功能是把不同的分布式計算項目連接起來,對參與這些項目的計算資源進行統一合理分配,從而更有效的利用這些計算資源,提高計算效率。
2 分布式計算的關鍵技術
2.1 關鍵技術一:中間件技術[2]
中間件技術是比較早期的分布式計算技術,所謂的中間件技術,就和字面上的意思一樣,是一個聯絡不同技術和操作系統的紐帶,通過這個軟件,分布式應用軟件可以在使用不同的操作系統和技術的計算機之間進行計算資源共享,IBM和SUN Microsystems以及AT&T貝爾實驗室都對中間件技術的研究和發展做出重要貢獻,貝爾實驗室于1984年的Tuxedo應該算是早期比較成熟的中間件技術產品,這個負責屏蔽不同操作系統、編程語言、通訊協議的中間件就負責計算資源的管理和分配以及網絡通信。經過十幾年的發展,多種技術開始融合,中間件技術又發展出不同層次和類型的多個產品,例如:自適應中間件、移動中間件、對象中間件、消息中間件、數據庫中間件,遠程過程調用中間件等等。
中間件技術是分布式計算技術中的一種基礎技術,其他一些分布式計算技術和中間件技術結合以優化分布式計算技術,例如:網格計算。
2.2 關鍵技術二:網格技術[3]
網格計算是目前最重要的分布式計算技術之一,它通過網絡系統將分布在不同地點或區域的計算機資源(包括各種硬件和軟件以及信息數據等)連接成一個巨大的“異構計算機”,雖然這些計算資源分布在各自不同的計算機上,這些計算機可能有不同的操作系統、不同的技術協議,但是通過網格技術組建的這個系統卻可以象一臺計算機一樣對這些資源進行管理和利用,從而完成一些計算規模巨大的復雜運算和數據處理任務。從另一個意義上說,這種計算資源的統一管理和共享,不僅僅為提供復雜就算提供支持,還可以在很大的區域范圍內,打破企業、組織和國家界限,避免重復資源投資和浪費,充分利用自己的計算資源,因此網格計算在分布式計算技術中占有十分重要的地位。
網格有多種體系結構,其中Foster等提出的五層沙漏結構(圖1)為比較典型的一種體系結構,自下向上分別是構造層、連接層、資源層、匯聚層和應用層;還有一種典型的結構體系:開放網格服務結構OGSA(Open Grid Services Architecture),這個結構是結合Web Service技術的網格體系,OGSA是以服務為中心的“服務結構”,定義了“網格服務”的概念,網格服務是一種Web Service,該服務提供了一組接口。
網格系統大致都可以劃分為三個層次的基本結構:底層(構造層),主要是分布在各個計算機上的資源,硬件和軟件、信息數據等;中間層,主要負責屏蔽底層資源的異構性,是上面提到的中間件技術;應用層,這是我們的工作平臺,通過應用層來組織協調和合理利用底層的資源來完成分布式工作任務。
網格(GRID) 歸諸于一個下部基礎構造,它使得高端計算、網絡、數據庫和私有科學工具的集成和協作使用成為可能,并且,能夠被多個組織所管理。網格應用通常包含大量的數據或計算,經常需要組織間的安全的資源共享。因此,它們不易被今天的Internet和WEB基礎構造所處理。
2.3 關鍵技術三:移動Agent技術[4]
移動Agent是一種可以在構成分布式計算系統的各節點移動的軟件Agent,軟件Agent應該是人工智能技術發展起來的一個產物,人工智能的研究主要解決知識表達、機器學習、推理等類似人的智能的算法問題,而軟件Agent就具有類人的智能,可以自主管理,能對環境做出響應,甚至主動行動,進行推理計算來完成任務。我們一般把軟件Agent看做是在一臺機器上運行的一個程序,而移動Agent則是可以自主在網絡上構成分布式計算系統的各節點之間進行移動的一個程序。這個程序帶著自己的任務找到可以完成這個任務的節點(這個節點有完成這個任務所需要的數據、硬件、軟件等資源),通過網絡移動到這個節點,在此暫時定居,利用這個節點的資源進行計算,計算結束后,這個Agent攜帶計算結果通過網絡自主移動到下一個需要達到的節點,這種模式可以減少網絡擁堵,在一個節點盤踞期間,甚至可以斷開網絡連接也不會影響其正常工作,只要在它完成任務需要移動時恢復網絡連接即可。這種移動類似密封采蜜,一朵花上的資源用完之后飛到另外一朵花上,滿載之后(完成任務)飛回蜂窩,卸載蜂蜜,進行第二次行動。這和傳統的數據調用方式要好得多,一來可以減少大量數據在網絡上傳輸,對帶寬的要求就低了;二來可以減少大量數據傳遞帶來的數據錯誤,提高計算的效率和魯棒性;圖2和圖3分別是傳統網絡計算和移動Agent的示意圖。
圖2 傳統網絡計算方式 圖3 移動Agent
移動Agent技術自90年代開始發展很快,因其本身就是一種適用性很強的分布式計算模式,且具有極好的魯棒性,對網絡的要求低,故這項技術是目前分布式計算技術研究的一個熱點。
2.4 關鍵技術四:P2P技術[5]
P2P(Peer-to-Peer)對等網絡應該是資格比較老的一項技術,例如TCP/IP協議,并沒有對客戶機和服務器做區分,所謂的“對等”就是地位相同,在網絡中的節點處于同樣的地位,沒有客戶端和服務器的區分,這些地位相等的節點可以互相進行資源利用和數據共享,不需要通過服務器來轉接和通信,這樣可以減少對服務器的依賴,也就降低了對服務器的性能要求(軟件、硬件要求)。當然,純粹的對等網也有其弊端,為了解決這些問題,一些分支和混合技術發展起來,例如為了解決P2P搜索速度慢的問題,在對等網中仍然設置服務器,但是服務器只提供搜索索引,各節點可以快速在服務器上查到要搜索的資源目錄和地址,然后直接去目標地址完成資源交互。為了解決熱點資源網路堵塞的問題,數據傳輸方式由點對點方式發展為多點對多點傳輸,該項技術已經在現在的網絡上廣泛應用。點對點傳輸只能在在源節點和目標節點之間傳送數據,若一個節點的資源對應多個目標節點,其傳送效率就低了,多點傳送解決這個問題,將數據源分割成多個數據包,這些數據包可以不依照順序給各目標節點發送,同時收到數據包的目標節點可以作為其他目標節點的源節點,給其他未收到該數據包的節點傳送數據,使用這種技術,下載源數據的節點越多,實際傳送的效率就越快,但是若不能將全部數據包都收齊,這些數據包將無法連接起來,也就無法使用,點對點傳輸則不存在這個問題。
2.5 關鍵技術五:Web service技術[6]
并行計算和分布式計算的優點就是發揮“集體的力量”,將大任務分解成小任務,分配給多個計算節點同時去計算,起初的并行計算可以在一臺計算機上執行,也可以提高運行效率,現在的分布式計算已經將計算擴展到多臺計算機,甚至是多個網絡,在網絡上有序執行一個共同的任務,當然離不開Web技術,但在分布式計算發展起來之前的網絡協議并不能滿足分布式計算的要求,于是產生了Web service技術,簡單地說,這種技術的功能和中間件的功能有相似之處:Web service技術是屏蔽掉不同開發平臺開發的功能模塊的相互調用的障礙,從而可以利用 HTTP 和 SOAP 協議使商業數據在 Web 上傳輸,可以調用這些開發平臺不同的功能模塊來完成計算任務。這樣看來,要在互聯網上實施大規模的分布式計算,就需要Web service做支撐,因此很多人認為這項技術是分布式系統繼續研究和開發的理想模型。
2.6 關鍵技術六:云計算[7]
云計算也是分布式計算技術的一種,其最基本的概念,是將巨大的計算處理程序分拆成無數個小的子程序,再將這些小程序分配給龐大的計算機網絡系統經搜尋、計算分析之后將處理結果回傳給用戶。所謂的“云”,最初來自“電子云”的概念,這種子程序的分解是數量巨大,或者可以想象成將水滴分解到蒸氣一樣的微小顆粒,也就是“云”狀態,如此多的任務,分配給同樣多的計算節點去計算,每個節點的任務很小,計算也很快,但如何管理這如云一樣的龐大網絡,就大有文章。使用這項技術,服務提供者可以在短時間內(數秒或者幾分鐘),達成處理數數量巨大的信息,達到和“超級計算機”同樣強大效能的網絡服務。最簡單的云計算技術在網絡服務中已經隨處可見,例如搜尋引擎、網絡信箱等,使用者只要輸入簡單指令即能得到大量信息。進一步的云計算不僅只做資料搜尋、分析的功能,更可計算一些像是分析DNA結構、基因圖譜定序、解析癌癥細胞等。稍早之前的大規模分布式計算技術即為“云計算”的概念起源。
3 結論
分布式計算作為一項快速發展的計算機技術,因有低運營成本高計算性能的優勢,且目前我國有豐富的閑置計算資源,其發展前景十分樂觀,關于對該項技術的研究,我國明顯落后于發達國家,已經成為計算機大國,存在嚴重的資源浪費和閑置,現在分布式計算技術只是在一些高校、科研機構內作為研究和應用的對象,分布式計算技術雖然發展迅速,但各項技術大都存在一些問題,例如:數據安全問題、網絡異構問題等等,還有巨大的研究和發展潛力。
參考文獻:
[1] 鄧傳軍,馬志民.分布式計算模型探討[D].福建:廈門大學,2005.
[2] 奚麗倩,袁國良.淺析中間件技術的研究現狀[D].上海:上海海事大學,2009.
[3] 趙東.網格計算環境中若干關鍵技術的研究[D].成都:電子科技大學,2003.
[4] 于濤,張繼棠,雷飛鵬.Mobile Agent技術應用[D].重慶:重慶郵電大學,2007.
[5] 周文莉,吳曉非.P2P技術綜述[D].北京:北京郵電大學,2006.
[6] 楊濤,劉金德.web service技術綜述――一種面向服務的分布式計算模式[D].四川:電子科技大學,2004.
不會改變服務器格局
IDC(中國)行業研究與咨詢服務部助理副總裁武連峰表示,雖然云計算在數據中心中已成為趨勢,并且很多數據中心也在重新規劃或者遷移中為服務器的采購創造了一個巨大市場,但它并不會成為改變x86和非x86架構市場格局的推手。
x86服務器的增長動力來自于互聯網企業。而在私有云的建設中,由于不同的工作負載要適應不同的基礎架構,大型企業仍然會按照原有的基礎架構和工作負載平滑向云計算平臺過渡。在各地興起的主要為中小企業服務的云基地公有云中心也不一定都采用x86架構。
武連峰表示,雖然政府的初衷是想把云計算平臺開放給中小企業做運營平臺,并大量使用x86服務器,但是不少云基地主要是為以軟件外包為主營業務的中小企業服務,而這些中小企業的服務對象往往是國內外的大型企業,這些大型企業對應用平臺的性能有很高要求,比如編碼測試是基于Unix的小型機甚至是主機系統,如果用x86服務器構建云測試平臺,就不能滿足其要求。那么,中小企業內部的業務是否就可以應用基于x86架構的云計算平臺呢?實際情況是,中小企業一般不用公有云平臺,而是采用微軟、騰訊等第三方的軟件。
兩種云平臺
談到中國用戶為什么重x86架構,而輕其他架構平臺,IDC認為,包括Google和AWS在內的很多國際公共云計算平臺大多采用了分布式的架構。這是由于互聯網企業普遍具有自身技術實力雄厚、IT資產生命周期短、核心業務對實時性要求不高等特點。因此,互聯網企業選擇了適合自己的分布式計算平臺,而其他行業用戶的需求和互聯網企業并不相同。因此用戶應考慮自身的行業特征來選擇適合自己的云計算架構。
IBM系統與科技部中國區行業及重點客戶技術支持總經理梁建球對分布式云平臺的組成做了細致分析:硬件平臺為x86,操作系統為Linux/Windows,分布式數據存儲都采用MySQL-CS、BigTable、HDFS以及Hadoop Map-Reduce等分布式開源軟件。在應用程序層,用戶需要針對新應用重新編程。在梁建球看來,上述這種分布式云平臺適用于對性能、可靠性、數據一致性要求不高的應用。
此外,IBM在Power上也加強了對分布式軟件的支持,比如Power小型機可以支持Linux,去年底收購的Platform Computing則在分布式計算調度和管理方面具備更大的優勢。由此可見,云計算基礎架構的搭建并不是一個簡單的軟硬件集成項目,而是一種企業IT戰略的改變。
IDC在《中國云計算基礎架構建設指南》中的用戶調研數據顯示,多數用戶在選擇云計算架構時,希望未來的云計算平臺能夠與企業現有的基礎架構兼容,從而降低實施風險,同時還可以快速地從現有架構過渡到云平臺上,以便節省用戶的投資,縮短項目實施的周期。
云計算已經成為NGDC(下一代數據中心)的主要建設目標。IDC剛剛的《中國云計算基礎架構建設指南》中列舉了中國用戶建設云計算的六大誤區:重概念,輕本質;重實施,輕規則;重x86架構,輕其他架構;重硬件,輕軟件;重虛擬化,輕管理;重創新,輕移植。在云計算進入數據中心的初期階段,尤其是在IaaS階段,以服務器為主的基礎架構的選擇成了擺在用戶面前的一道博弈題:是選擇x86分布式計算這種初始成本低、未來成本不可預測的基礎架構,還是選擇初始成本高、未來有商用軟件支持的以Power為代表的小型機架構呢?
不會改變服務器格局
IDC(中國)行業研究與咨詢服務部助理副總裁武連峰表示,雖然云計算在數據中心中已成為趨勢,并且很多數據中心也在重新規劃或者遷移中為服務器的采購創造了一個巨大市場,但它并不會成為改變x86和非x86架構市場格局的推手。
x86服務器的增長動力來自于互聯網企業。而在私有云的建設中,由于不同的工作負載要適應不同的基礎架構,大型企業仍然會按照原有的基礎架構和工作負載平滑向云計算平臺過渡。在各地興起的主要為中小企業服務的云基地公有云中心也不一定都采用x86架構。
武連峰表示,雖然政府的初衷是想把云計算平臺開放給中小企業做運營平臺,并大量使用x86服務器,但是不少云基地主要是為以軟件外包為主營業務的中小企業服務,而這些中小企業的服務對象往往是國內外的大型企業,這些大型企業對應用平臺的性能有很高要求,比如編碼測試是基于Unix的小型機甚至是主機系統,如果用x86服務器構建云測試平臺,就不能滿足其要求。那么,中小企業內部的業務是否就可以應用基于x86架構的云計算平臺呢?實際情況是,中小企業一般不用公有云平臺,而是采用微軟、騰訊等第三方的軟件。
兩種云平臺
談到中國用戶為什么重x86架構,而輕其他架構平臺,IDC認為,包括Google和AWS在內的很多國際公共云計算平臺大多采用了分布式的架構。這是由于互聯網企業普遍具有自身技術實力雄厚、IT資產生命周期短、核心業務對實時性要求不高等特點。因此,互聯網企業選擇了適合自己的分布式計算平臺,而其他行業用戶的需求和互聯網企業并不相同。因此用戶應考慮自身的行業特征來選擇適合自己的云計算架構。
IBM系統與科技部中國區行業及重點客戶技術支持總經理梁建球對分布式云平臺的組成做了細致分析:硬件平臺為x86,操作系統為Linux/Windows,分布式數據存儲都采用MySQL-CS、BigTable、HDFS以及Hadoop Map-Reduce等分布式開源軟件。在應用程序層,用戶需要針對新應用重新編程。在梁建球看來,上述這種分布式云平臺適用于對性能、可靠性、數據一致性要求不高的應用。
此外,IBM在Power上也加強了對分布式軟件的支持,比如Power小型機可以支持Linux,去年底收購的Platform Computing則在分布式計算調度和管理方面具備更大的優勢。由此可見,云計算基礎架構的搭建并不是一個簡單的軟硬件集成項目,而是一種企業IT戰略的改變。
關鍵詞:數據庫技術; 分布式處理技術; 云計算; 物聯網
中圖分類號:TN91934; TP311.13文獻標識碼:A文章編號:1004373X(2012)04012003
Design of IOT database based on distributed processing technology
LI Na, LIU JunHui
(Department of Information Engineering, Zhengzhou College of Animal Husbandry Engineering, Zhengzhou 450011, China)
Abstract: In recent years, with the repid development of Internet of things (IOT) technology, a new challenge has been posed on data storage and access. Focusing on the database management of IOT, a design method of IOT database based on distributed processing technology (DPT) was proposed by means of computation method of peertopeer network (P2P) point clouds. An example of medical system IOT verifies that the mothed can solve the problem of IOT database management to a certain extent and provide technical support for IOT in combination with database technology, network technology, and middleware technology.
Keywords: database technology; distributed processing technology; cloud computing; IOT
收稿日期:20110815
基金項目:河南省科技廳重點項目(112102210395)0引言
物聯網是指通過射頻識別(RFID)、紅外感應器、全球定位系統、激光掃描器等信息傳感設備,按約定的協議,把任何物品與互聯網連接起來,進行信息交換和通信,以實現智能化識別、定位、跟蹤、監控和管理的一個巨大網絡[1]。從這個定義可以看出,物聯網的開展具有規模性、廣泛參與性、管理性、技術性、物的屬性等特征,需要各行各業的參與。物聯網技術是一項綜合性的技術,其中非常重要的是RFID電子標簽技術。以簡單RFID系統為基礎,結合已有的網絡技術、數據庫技術、中間件技術等,構筑一個由大量聯網的閱讀器和無數移動的標簽組成的、比Internet更為龐大的物聯網已成為RFID技術發展趨勢,這使得物聯網中的數據庫管理問題成為了物聯網技術研究中的挑戰性問題之一,已引起了國際學術界和工程界的高度關注[26]。本文針對物聯網中的數據庫管理問題,通過對物聯網技術的研究,并結合分布式數據庫技術、P2P(對等網)點云計算技術,提出了基于分布式處理技術的物聯網數據庫管理方法,并探索將其應用于醫療系統中。
1基礎理論
1.1混合模型
物聯網已經構成的應用系統和應用實例是深入研究物聯網體系結構的基礎[78]。本文針對醫療系統物聯網采用有源CPS(網絡化物理系統)結點和具備聯網和控制能力的互聯網CPS結點的混合模型(如圖1所示)進行設計。這使得該系統不但具有物聯網系統有的時間和空間的控制能力,還擁有物聯網專用的安全性和可靠性的控制體系。互聯網CPS結點具有不間斷電源,不具備移動性,又具有感知能力,具有較強的存儲、計算和聯網能力,可以提供H2T,H2H 連接。
圖1有源CPS結點與互網CPS結點互連結構的混合模型1.2分布式數據庫
分布式數據庫(Distributed DataBase,DDB)是傳統數據庫技術與網絡技術相結合的產物。近年來,分布式數據庫的快速關聯規則挖掘算法、精簡頻繁模式集和關聯規則的安全挖掘算法以及事務流的動態可串行調度算法等都是該領域的研究熱點[912]。一個分布式數據庫是物理上分散在計算機網絡各結點上,但在邏輯上屬于同一系統的數據集合,如圖2所示。它具有局部自治與全局共享性、數據的冗余性、數據的獨立性、系統的透明性等特點。分布式數據庫管理系統(DDBMS)支持分布式數據庫的建立、使用與維護,負責實現局部數據管理、數據通信、分布式數據管理以及數據字典管理等功能。數據庫技術與網絡通信技術、人工智能技術、面向對象程序設計技術、并行計算技術等互相滲透,互相結合,成為當前數據庫技術發展的主要特征。
圖2典型的分布式數據庫系統2本文物聯網數據庫設計方法
物聯網數據庫管理系統中各個領域都呈現嚴峻的數據存儲性挑戰。這里重點討論分布式數據庫技術,并引入面向對象數據庫系統技術和點云計算的P2P技術[13],以使物聯網系統具有局部自治與全局共享性、數據低冗余性、數據高獨立性及系統透明性。
物聯網是融入大量RFID系統和分布站點的數據庫系統。在系統計算服務中,需要引入云計算平臺,這是我國正在積極構建的重要基礎計算平臺。在考慮遠程數據庫事務管理之前,必須從那里獲取數據,并且使其他數據庫能對它進行全局訪問。因此,主要涉及的管理任務有:物聯網系統計算服務、訪問站點數據的位置透明性管理、數據庫鏈接管理、觸發器管理和快照管理等分布處理技術。同時在確定的每個服務站點中,引入面向對象數據庫技術[14],以支持面向對象編程技術與數據庫技術的融合,改善數據庫技術的可擴展性。在點云計算中引入P2P技術,自組織P2P網絡能夠在對等體進入、離開和失效時自動加以調整適應。對等體之間的通信是對稱的,它們既請求服務又提供服務。
綜上所述,該分布式物聯網數據庫同時具備面向對象、分布式處理技術和P2P點云計算數據庫能力。
3實例驗證:醫療系統物聯網
本應用實例主要是探索將物聯網分布式數據庫技術應用于醫療衛生系統中,這將是本文未來研究的重要課題。醫療衛生系統的物聯網構建是我國新醫改基礎設施建設的重要保障。本文醫療系統物聯網系統,如圖3所示。
圖3醫療系統物聯網模型在上述醫療系統物聯網中,主要包括了移動醫療設備數據庫系統、循證醫學數據庫系統、醫學研究網格計算系統、虛擬醫療團隊數據庫信息以及慢性病、流行病監控管理數據庫系統和個人醫療信息門戶數據庫系統、遠程醫療服務數據庫系統。在整個物聯網數據庫系統中,需要P2P技術與云計算服務平臺來實現整合醫療服務平臺、健康知識管理、電子健康檔案統一信息管理等工作。其中,整合的醫療保健平臺根據需要通過醫院的各系統收集并存儲患者信息,并將相關信息添加到患者的電子醫療檔案數據庫中,這樣所有授權和整合的醫院都可以對這個數據庫進行訪問,從而使各個資源和患者能夠有效地在各個醫院之間流動。利用各醫院之間適當的管理系統、轉診系統等保持信息完備性、一致性。這個平臺滿足一個有效的多層次醫療網絡對信息分享的需要,這樣就建立了以分布式處理技術為基礎的數據庫服務系統。電子健康檔案系統通過可靠的門戶網站集中進行病歷整合和共享,這樣各種治療活動就可以不受醫院行政限制而形成一種整合的視角。有了電子健康檔案系統,醫院可以準確順暢地將患者轉到其他門診或其他醫院,患者可隨時了解自己的病情,醫生可以通過參考患者完整的病史為其做出準確的診斷和治療。通過醫療系統物聯網的建立,將極大地改善醫療服務體系,實現高效、穩健、有效的全面醫療衛生服務。
4結語
本文重點介紹并討論了基于分布式處理技術、混合面向對象程序設計方法以及P2P點云計算服務的物聯網數據庫設計方法,并探索將其應用于醫療系統物聯網中,從而為物聯網數據庫管理系統提供了一種新的設計方法,可探索將其拓展到智能電力電網、城市設施、交通管理、物流供應鏈等行業中。然而,系統的設計實現需要核心云服務計算平臺,目前的系統有許多工作要做,包括P2P計算中的信息交互、高速移動醫療設備診斷、整合醫療平臺建設等。本文今后的工作將進一步完善上述設計的物聯網數據庫系統,并將其用于實踐,從而為搭建我國基礎醫療系統物聯網技術平臺做出應有的貢獻。
參考文獻
[1]王保云.物聯網技術研究綜述[J].電子測量與儀器學報,2009,23(12):17.
[2]COOPER J, JAMES A. Challenges for database management in the Internet of things \[J\]. IETE Technical Review, 2009, 26(5): 320329.
[3] 吳功宜.智慧的物聯網:感知中國和世界的技術[M].北京:機械工業出版社,2010.
[4]孟小峰.云數據管理技術[EB/OL].\[2009327\]..
[5]FURNESS A, CHARTIER P. Opportunities through European and UK initiatives \[C\]// Proceedings of The Electronics KTN and the Association for Automatic Identification and Mobile Data Capture (AIM) joint meeting on the "Connected World". London: England:AIM, 2010: 123129.
[6] International Telecommunication Union. ITU Internet reports 2005: the Internet of things \[R\]. \[S.l.\]: ITU 2005.
[7]沈蘇彬,范曲立,宗平,等.物聯網的體系結構與相關技術研究[J].南京郵電大學學報:自然科學版,2009,29(6):1011.
[8]James A,Cooper J.Database Architecture for the Internet of Things[J].IETE Technical Review.2009,26(5):311312.
[9]賈,劉群,姜晗.分布式數據庫的精簡頻繁模式集及其挖掘算法[J].浙江師范大學學報:自然科學版,2010,33(2):132137.
[10]陳耿,倪巍偉,朱玉全,等.基于分布數據庫的快速關聯規則挖掘算法[J].計算機工程與應用,2006(4):165167.
[11]梁雄友,薛永生.基于分布式事務流的動態可串行調度算法[J].計算機工程與應用,2010,46(8):144147.
[12]宋寶莉,覃征.分布式數據庫關聯規則的安全挖掘算法研究[J].計算機工程與應用,2007,43(6):181183.
[關鍵詞]去IOE 互聯網+ 分布式 云化架構 虛擬化 服務化
中圖分類號:TP3-0 文獻標識碼:A 文章編號:1009-914X(2016)29-0309-01
第1章 緒論
1.1 現狀分析
在中國,最早實踐“去IOE”系統轉型的,是互聯網用戶數最多的阿里巴巴公司。阿里公司面臨互聯網用戶交易量成倍增長的趨勢,由于IBM小型機、Oracle數據庫、EMC高端存儲構建的系統架構存在維護成本非常高,源代碼沖突,系統部署時間長,數據庫連接達到上限等諸多問題,系統不能滿易的處理要求,阿里CFO王堅在2008年提出“去IOE”概念。阿里以低成本的x86服務器代替IBM小型機,由開源My SQL代替Oracle,使用PC Server代替EMC存儲,自主研發了強大的云計算平臺以提供云計算服務。2013年,最后一臺小型機在阿里的支付寶下線,標識了阿里完成去IOE的架構轉型成功。
1.2 發展趨勢
2015年7月,國務院頒發《國務院關于積極推進“互聯網+”行動的指導意見》,指導傳統行業需要利用信息通信技術以及互聯網平臺,將互聯網的創新成果,深度融合傳統行業,創造新的經濟發展生態。
電信運營商的傳統IT架構也采用IOE架構,隨用戶數量成倍增長,在系統運營維護時也體現出維護成本高,系統部署時間長,響應慢,容易引起用戶投訴以及用戶流失等諸多問題。
第2章 運營商分布式云架構實踐
2.1 運營商傳統IT架構
傳統IOE架構采用三層架構,Web邏輯層負責接收Web應用請求,應用邏輯層負責處理業務邏輯,并根據數據層提供的數據計算,數據層負責查詢返回上層數據。
2.2 分布式云架構
為實踐“互聯網+”與通信行業的深度融合,消除IOE架構帶來的問題,我們用通信行業的號碼資源為集中管理對象,構建分布式云架構的號碼資源集中系統,創新IT支撐系統。
創新的分布式云架構系統,分為五層,負載均衡層、接入層、業務服務層、技術服務層、數據層。采用高內聚、低耦合、易擴展、服務化的設計原則,由去中心化的服務框架為應用提供服務。下面分別介紹五層架構級重點中間件及功能。
2.2.1 負載均衡層
負載均衡層支持軟負載均衡、硬負載均衡及自定義負載均衡。由傳統雙機工作轉變為集群工作。負載均衡通過流量分發擴展系統對外的服務能力,通過消除單點故障提升系統的可用性。負載均衡器主要功能:1、提供4層(TCP協議)和7層(HTTP協議)的負載均衡服務。2、可對后端應用服務器進行健康檢查,自動屏蔽異常狀態的應用服務器,待該服務器恢復正常后自動解除屏蔽;3、提供會話保持功能,在Session生命周期內,將同一客戶端請求轉發同一端后臺的應用服掌魃希4、支持加權輪詢(WRR),加權最小連接數(WLC)轉發方式;5、支持針對監聽來分配其對應服務能達到的帶寬峰值;6、可以支持公網或私網的負載均衡。負載均衡層采用集群設計,無單點,可以根據應用負載彈性擴容,不同功能模塊分別申請負載均衡實例。
2.2.2 接入層
接入層支持多種接入形式,有Web管理門戶,手機應用接入,各系統接入。
2.2.3 業務服務層
業務服務層提供多種業務邏輯服務,核心業務服務。業務邏輯服務和核心業務服務包括號段管理:號段入庫、號段分配、號段啟用、號段下發等;號碼庫存管理:號碼查詢、號碼上下架、號碼回收、號碼屬性管理、號碼出入庫、號碼調撥、號碼狀態變更等;號碼銷售管理:號碼選占、號碼預占、制作預配預配套包、靚號減免、靚號規則查詢、號碼返銷等;部門信息管理:員工信息同步、渠道信息同步、員工新增、部門新增等;報表管理:號碼統計、號碼狀態統計、靚號統計等;權限管理:菜單管理、角色與員工對應關系、角色維護、菜單權限管理等;日志管理:操作日志、接口日志、號碼日志等。
2.2.4 技術服務層
技術服務層包括分布式服務框架,服務生命周期管理、服務日志、服務治理、以及分布式消息服務、分布式緩存服務,分布式文件系統。技術中間件區別于傳統架構體系,為了充分體現云架構的能力,需要遵守的原則如下:
1、服務拆分原則:低耦合,高內聚;服務要小,功能單一、完整;每個服務對應一個數據庫;采用自下而上的思路進行服務的識別和設計。
2、緩存使用原則:盡量不緩存大對象,拆分為合適的有效的小對象;及時更新緩存中已經變更的數據;不使用不同的鍵緩存相同的對象,造成內存浪費;分布式緩存服務中,不能在多個線程間共享對象。
3、數據庫拆分原則:數據關聯的表盡量采用相同的拆分字段,保證分布在同一個數據庫中
數據分布盡量均勻;避免數據熱點;小數據表、靜態數據表不拆分;
4、消息使用原則:沒有業務限制的情況下,盡量并行;消息執行與業務系統低耦合;盡量過濾無關消息,提高處理效率;應用使用統一封裝接口,無需關心底層組件。
2.2.4.1 分布式服務框架
分布式服務框架,可以采用分布式RPC框架、控制流和數據流分離,替代傳統IBM和Oracle服務框架。服務提供者在服務注冊中心進行注冊,服務調用者就可通過服務注冊中心訂閱服務。客戶端在不知道服務端的IP情況下,只需要知道服務名,就可以調用該服務。當服務調用失敗時,框架自動重試分布式架構下其他服務提供者。服務生命周期管理需要實現自動化,經過代碼編寫(git),代碼打包(Jenkins),代碼測試,代碼,代碼監控。
2.2.4.2 分布式消息服務
分布式消息服務:分布式消息服務,可集群部署,通過web控制臺管理主題、生產者、消費者等信息。消息中間件通過消息分發、消息緩存以及負載均衡技術,可以異步解耦消息,達到削峰填谷的目標。利用消息中間件可實現分布式事務、數據復制、日志同步、延遲隊列、廣播通知。
2.2.4.3 分布式緩存服務
分布式緩存服務:提供集群版擴展Redis性能,兼容redis協議的key-value存儲服務,支持redis開源客戶端直接訪問。 config server為中心控制節點,負責管理所有的data server,維護data server的狀態信息。data server 對外提供各種數據服務, 并以心跳的形式將自身狀況匯報給config server。
2.2.4.4 分布式文件系統
分布式文件系統:采用開放存儲服務,實現應用的動靜態分離,可以像文件夾一樣管理網站上的圖片,腳本等靜態資源,通過BGP網絡或CDN加速方式,提供用戶就近訪問,有效降低云服務負載。
2.2.5 數據層
數據層采用分布式數據庫,支持彈性擴展,平滑擴容,垂直拆分,稻菘庠諳呃┤蕁⒈阜莼毓觥⑿閱薌嗖餳胺治觥=立基于mysql數據庫及開源產品cobar、tddl進行整合的一個平臺。
第3章 去IOE化后系統提升
經過驗證,去IOE后的號碼集中系統性能大大提升。上線測試,新系統實時類接口平均每秒能處理訂單5000tps,平臺每秒處理訂單40000tps。相比老系統每秒峰值處理訂單2700tps左右,成二十倍提升。