吳麗
摘 要:本文探討了云計算的發展動態和典型架構,并對云計算在中醫藥信息化中的應用做了初步探討,最后提出了引入云計算需要重點關注的問題。
關鍵詞:云計算;中醫藥;信息化
1 引言
近年來,云計算已經成為IT行業的熱門技術和話題。由于其并行計算、海量數據存儲、擴展性極強的特點,逐步在多個領域得到蓬勃發展。筆者就如何在云計算環境下進行中醫藥信息化建設進行了探討。
2 云計算簡介與典型架構
2.1 云計算簡介
云計算描述了一種基于互聯網的新的IT服務增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展而且經常是虛擬化的資源。云運算是繼上世紀80年代大型計算機架構演進到客戶端-服務器計算架構之后的又一次計算架構巨變。用戶不需要了解“云”中基礎設施的細節,不必具有相應的專業知識,也無需直接進行控制,就可以在云計算平臺上完成海量計算和存儲任務的處理。
根據云計算中服務對象和提供者的關系,美國國家標準與技術研究院(NIST)定義了不同的云計算部署模型,包括:公有云(Public Cloud)、私有云(Private Cloud)、社區云(Community Cloud)和混合云(Hybrid Cloud)。企業和科研單位既可以利用服務提供商提供的公有云服務,,也可以通過云平臺構建私有云。當前業界有不少公司已經提供公有云服務,比如國外的Amazon、國內的阿里巴巴和騰訊等,用戶可以根據計算、存儲需求來購買公用云服務。此外,目前主流的云平臺包括VMware的vSphere、微軟的Windows Azure、Citrix的XenServer以及部分開源項目(比如KVM等),用戶可以根據自己的需求選擇不同的云平臺來構建私有云。
隨著各行業數十年IT化的蓬勃發展,各種信息處理平臺積累了海量的歷史數據,蘊含了巨大的分析價值,這類數據通常稱為“大數據”。由于這些大數據存在數據集超大(常??蛇_TB甚至PB級別)、非結構化(比如大量圖片)、異構數據(多種數據比如文本、圖形、視頻混合)的特點,傳統的關系型數據庫應用已經難以滿足大數據處理的要求。而云計算利用大量通用計算、存儲資源支持并行、分布式計算的特點,相對較好的滿足了大數據處理的要求。2003-2006年,Google陸續發表了三篇論文:《The Google File System》、《MapReduce: Simplified Data Processing on Large Clusters》、《Bigtable: A Distributed Storage System for Structured Data》,分別解決了分布式文件系統、分布式數據處理、非關系型數據庫的關鍵技術,極大促進了大數據處理技術的發展,使得云計算首先在互聯網行業生根發芽,逐步拓展到其他行業。
2.2 典型云計算架構
云計算對大數據的核心處理技術目前較為流行的是Map-Reduce架構,它是Google提出的一個軟件架構,用于大規模數據集(大于1TB)的并行運算。其核心思想是將海量的數據集合分解為多個子數據集,通過“Map(映射)”將子數據集和計算任務分解到各個計算節點上去,然后將計算結果通過“Reduce(化簡)”操作匯總到一起。當前業界應用較多的Map Reduce開源項目為Apache Hadoop,其發源于Yahoo,作為開源項目開放后很多互聯網公司首先在此項目上應用,其后得到了很多擴展,在大數據領域得到了蓬勃發展。
Hadoop框架透明地為應用提供可靠性和數據移動。它實現了Map-Reduce架構的編程范式:應用程序被分割成許多小部分,而每個部分都能在集群中的任意節點上執行或重新執行。Hadoop還提供了分布式文件系統,用以存儲所有計算節點的數據,這為整個集群帶來了非常高的帶寬。Map-Reduce和分布式文件系統的設計,使得整個框架能夠自動處理節點故障,從而實現了高度可擴展的分布式計算。
利用開源的云計算平臺(比如KVM等)、分布式處理軟件框架(比如Hadoop),企業和科研單位可以快速搭建具備海量數據處理、超強計算能力的云計算系統,從而使得科研人員得以聚焦在自己的專業領域上,避免在底層系統的構建、異常的處理方面浪費時間,從而大大提升了效率。
3 中醫藥信息化中的云計算應用與展望
中醫藥是我國的傳統醫學,承載著幾千年來的中華民族優秀傳統文化。中醫藥信息化是充分利用信息技術促進中醫藥信息資源的開發、利用和共享。加快中醫藥信息化建設,能夠提高中醫藥科學管理水平和創新能力,促進中醫藥事業加速發展,實現中醫藥的現代化。在中醫藥信息化的道路上,中醫臨床診斷系統、專家系統、中醫藥數據挖掘系統等都取得了不同程度的發展,而云計算的引入將大大提高中醫藥信息化建設的效率。下面就云計算在中醫藥信息化中的應用做一些探討。
3.1 分布式數據挖掘系統
在幾千年的中醫藥發展歷程中,留下了許多珍貴的文獻資料,蘊含豐富的科學內容,通過數據挖掘技術可以找出隱含的有用信息和知識。目前已在中醫藥領域得到廣泛應用,但現在一般采用的是基于文本或關系型數據庫的單機應用,這種方式能支持的數據量級較小。而數據挖掘的準確性,除了與算法的選擇相關外,還與數據集的“量”有較大關系,數據集的量越大,數據挖掘的準確性越高。當數據挖掘的數據集合超過一定程度、或者算法引入的因子過多時,傳統的數據挖掘平臺和算法往往難以支撐數據挖掘程序的有效運行。此時往往采用如下幾個做法:
(1)縮減數據集:在數據預處理階段按比例和一定規則(比如隨機采樣)對原始數據集采樣,形成新的數據集,作為數據挖掘的輸入數據。這種方式提高了數據挖掘算法的運算效率,但損失了精確性。
(2)優化算法:對算法優化,比如采用不同的算法或者減少算法因子,這會提升數據挖掘計算的效率,但也損失了精度;
(3)提高硬件性能:比如采用更高計算能力、更大內存的服務器,更高性能的數據倉庫等,這將極大增加投資成本。服務器硬件性能的提升與投資非線性增長關系,超出一定范圍后,計算性能提升1倍,則需投入資金可能高出N倍。
而基于云計算平臺構建分布式的數據挖掘系統,比如采用前文提到的Hadoop開源軟件框架,將數據挖掘程序和數據分布到多個不同的任務/數據節點上去,每個節點完成自己的挖掘任務后,反饋結果給匯總服務器,最后匯總數據結果。由于這種模式不需要對硬件提出額外要求,只需要根據數據挖掘的數據集和算法復雜度增加常規服務器即可,并且可以做到按需添加,避免閑時不用的浪費,極大降低了投資成本。
3.2 醫學數據的處理與存儲
在中醫藥醫療行業有大量的醫學數據需要處理和存儲,這些醫學數據包括電子病歷、體檢記錄、醫學影像等,傳統的存儲模式分散在信息平臺的不同醫療系統中:電子病歷系統(EMR),醫學影像存儲與傳輸系統(PACS)、檢驗信息系統(LIS)等。受限于傳統醫療系統在基礎架構方面的限制,通常存在如下問題:
(1)大數據量:某醫院每天產生GB級以上的原始數據,而由于傳統數據庫在大數據文件處理方面的限制,往往需要進行轉換處理和歸檔存儲,無法很好處理大數據的文件。
(2)異構數據:異構數據(文本、圖像、語音、視頻等)無法很好的保存在同一個關系型數據庫中。
(3)數據源分散:由于技術、組織和流程的限制,數據保存分散,分散在不同的數據源中,數據不能在存儲系統或不同磁盤之間自由流動,同時缺乏合理的備份恢復機制,并且安全保護可靠性弱。
這些醫學數據的處理和保存方面既需要高性能的計算能力,又需要海量的存儲資源。云計算技術中的分布式計算應用可以將需要密集計算的數據轉換任務分布到大量通用的計算節點上并行完成,從而大大縮短了數據處理的時間,提高處理效率。對于海量醫學異構數據的存儲,可通過云存儲將海量數據分布式存儲到網絡中多個不同類型的存儲設備上,無需專用的存儲資源,并可保證系統的可靠性,降低了投資成本。同時,云計算亦可以對平臺中各類應用系統所需資源進行合理調度,提高硬件利用效率,減少數據安全隱患,提高網絡運行性能,并保障所有應用系統的安全運行。
3.3 中醫藥科研計算存儲平臺
在中醫藥科研中,有大量項目類似如數據挖掘、醫學圖像處理等,每個項目都需要考慮對數據進行計算與存儲建模、設計和實現,占用科研人員大量的寶貴時間。同時,由于每個項目獨立計算和存儲,也不利于硬件資源的共享和復用。通過云計算技術的引入構建統一的分布式中醫藥科研計算和存儲平臺,專業領域的科研人員直接使用云計算平臺提供的API實現計算和存儲功能,從而只需要關注本專業課題的研究,不需要關注具體的計算和存儲實現方案,提高了科研效率。同時由于多個項目共用科研計算存儲平臺,達到了資源的復用,節約了大量的科研經費,避免了硬件投資的浪費。
4 中醫藥信息化中的云計算應用重點問題探討
雖然云計算分布式處理、海量存儲的特點對需要大數據量、密集計算的數據處理有很大幫助,但距離廣泛應用仍面臨部分問題需要解決,比如:
4.1 公有云、私有云的選擇
目前已有不少公有云運營商提供公有云服務,公有云屏蔽云平臺的技術實現細節,使得課題組研發人員可以聚焦于專業領域的問題解決上,提高了科研效率。同時公有云一般提供按資源(比如CPU、內存、存儲空間等)、按時段(按日、月、年等)收費,研究人員可以在需要時按需申請。但公有云面臨不同服務提供商提供的服務質量無法保證、通過公眾網絡訪問云系統面臨的潛在安全風險、以及網絡中斷導致的業務不可持續風險。
與公有云對比,私有云在安全、網絡中斷、服務質量等方面的風險相對小一些,但面臨資源得不到充分利用、需要較強的技術團隊支撐私有云平臺的運行等問題。
在中醫藥信息化建設中,可以考慮采用“混合云”的模式,即公有云、私有云共存??蒲袉挝豢梢宰孕袠嫿ㄋ接性破脚_,對于高安全性、高可靠性要求的計算、存儲任務,放在私有云中運行。對于突發的、安全要求不高、普通的中間過程計算任務,可以充分利用公有云按需服務、容量大的特點,采用公有云運行。
4.2 云平臺的選擇
對于私有云平臺的搭建,則涉及到不同云平臺的選擇問題。目前主流的商用云平臺有VMware的vSphere、微軟的Hyper-V等,開源的平臺有XEN、KVM等。商用平臺應用廣泛、應用適應性強,有較好的技術服務支撐,但收費亦較高。開源平臺費用少,但需要較強的技術實力來保證云平臺的運行和維護。
用戶可綜合投資經費、技術保障能力、應用的平臺訴求、演進需求等多維度因素,綜合評估后做出選擇。
4.3 云安全
由于云計算改變了傳統的計算模式,資源最大化的同時,也帶來了潛在的安全風險。比如在公有云的使用中,賬戶的錯誤安全策略、服務器DDOS攻擊、服務器端木馬都可能造成對業務造成影響。
這需要在將應用部署到云平臺時充分評估,制定合理的安全策略、安全突發事件的應急處理方案、定期安全審計等。必要時,需要和云服務提供商一起討論、制定更為嚴格、有保證的云服務策略。
5 結語
云計算是新的計算和資源共享模式,具有極大的投資收益和便利性,已經成為海量計算和存儲任務處理的主流技術方案。而中醫藥領域要得到長遠發展,必須對海量數據進行保存、研究和規范化整理,通過充分利用云計算技術,中醫藥科研人員可進一步深化中醫藥診療信息化和科研信息化的建設工作。
[參考文獻]
[1]Sanjay Ghemawat,Howard Gobioff,and Shun-Tak Leung.The Google File System.http://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf.
[2]Jeffrey Dean and Sanjay Ghemawat.MapReduce:Simplified Data Processing on Large Clusters. http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf.
[3]高漢松,肖凌,許德瑋,桑梓勤.基于云計算的醫療大數據挖掘平臺. 醫學信息學雜志.2013,(5):7-12.
[4]張杰敏.云計算實現醫學數據中心的模型分析.漳州師范學院學報(自然科學版).2011,(4):47-52.
[5]鄔啟明.Hadoop介紹及實戰.http://wenku.baidu.com/view/53db8c19cc7931b765ce15af.htm1.[2013-04-18].
[6]趙修文,劉伍穎,王挺.基于本體的醫療信息搜索技.計算機工程與應用.2010,46 (20):251—256.
[7]張惠然,戴佳筑,李芝龍,沈小龍.基于云計算平臺的醫療健康監視系統.上海大學學報(自然科學版)2013(2),35-38.
[8]李彭軍,陳光杰,郭文明.基于HDFS的區域醫學影像分布式存儲架構設計[J].南方醫科大學學報,2011,(3):495-498.