摘要:當(dāng)架構(gòu)師和系統(tǒng)設(shè)計(jì)師學(xué)習(xí)或使用新技術(shù)和新概念時(shí),如云計(jì)算、SOA服務(wù),常常會(huì)忽略系統(tǒng)架構(gòu)的基本要素,包括數(shù)據(jù)。數(shù)據(jù)作為信息的基本單位,如果不能掌握這些底層基本單位,就會(huì)面臨架構(gòu)的風(fēng)險(xiǎn),甚至擴(kuò)展到云計(jì)算系統(tǒng)失敗的風(fēng)險(xiǎn)。只有將底層單元定義成需要的信息模型,才能幫助人們將系統(tǒng)在基于SOA服務(wù)架構(gòu)向云計(jì)算移植。
關(guān)鍵詞:信息模型構(gòu)建;SOA服務(wù)架構(gòu);云計(jì)算;數(shù)據(jù);數(shù)據(jù)結(jié)構(gòu) 文獻(xiàn)標(biāo)識(shí)碼:A
中圖分類號(hào):TP393 文章編號(hào):1009-2374(2015)29-0080-02 DOI:10.13535/j.cnki.11-4406/n.2015.29.040
將基于SOA架構(gòu)的服務(wù)延伸到云計(jì)算的方法一般有五個(gè)步驟:(1)定義數(shù)據(jù);(2)定義服務(wù);(3)定義流程;(4)定義管理;(5)定義應(yīng)該放在云計(jì)算平臺(tái)的數(shù)據(jù)、服務(wù)和流程。只有對(duì)信息、服務(wù)和流程模型理解得更好時(shí),我們需要向云計(jì)算轉(zhuǎn)移的服務(wù)才會(huì)做得越好。
1 數(shù)據(jù)為要的理念
定義數(shù)據(jù)是將基于SOA架構(gòu)的服務(wù)延伸到云計(jì)算的第一個(gè)步驟,這也是服務(wù)轉(zhuǎn)向云計(jì)算之前,近距離勘查架構(gòu)底層信息的重要步驟。這樣做的好處有:首先,在轉(zhuǎn)移服務(wù)之前,不管是用什么樣的架構(gòu)、模型或者系統(tǒng),理解底層的信息都是必須的,這樣可以判斷哪些信息是可以轉(zhuǎn)移到云計(jì)算中,哪些不適合;其次,數(shù)據(jù)到服務(wù),再到流程的方法具有很強(qiáng)的靈活性,還可以根據(jù)檢查的需要,沿著流程到服務(wù),再到數(shù)據(jù)的方向進(jìn)行。
2 信息模型
通常我們把事件的集合稱為數(shù)據(jù),數(shù)據(jù)通常被看作用于創(chuàng)建信息和知識(shí)的最低級(jí)別的抽象。數(shù)據(jù)包括數(shù)據(jù)字典和數(shù)據(jù)目錄?!禝BM計(jì)算機(jī)專業(yè)字典》中這樣解釋數(shù)據(jù)字典:“集中存儲(chǔ)的數(shù)據(jù)信息,包括含義、與其他數(shù)據(jù)的關(guān)系、來(lái)源、用法以及格式等。”“信息是將具有意義的數(shù)據(jù)模式,即按照有意義的方式組織的數(shù)據(jù)。”為數(shù)據(jù)編目,將我們收集到的數(shù)據(jù)形式化,它包括數(shù)據(jù)字典,二者的區(qū)別是數(shù)據(jù)字典往往是針對(duì)特定的單一系統(tǒng)或者應(yīng)用,數(shù)據(jù)目錄則可以應(yīng)用到所有系統(tǒng)中。
信息模型是以數(shù)據(jù)為基礎(chǔ)創(chuàng)建并應(yīng)用到架構(gòu)層,按照一定意義的方式組織數(shù)據(jù)。信息模型是架構(gòu)的解決方案或目標(biāo)任務(wù)。信息模型作為主數(shù)據(jù)跨越整個(gè)架構(gòu),它是通用的中心參考點(diǎn)。
3 定義信息模型
一旦項(xiàng)目建立就需要選擇相應(yīng)的問(wèn)題域,并轉(zhuǎn)入核心數(shù)據(jù)的分析。定義數(shù)據(jù)模型是一個(gè)難度較大的工作,因?yàn)閿?shù)據(jù)可能是過(guò)去的,也可能是私有的,甚至二者兼?zhèn)洌撬鼈兊姆治鲞^(guò)程卻是一樣的。成熟的定義信息模型流程如圖1所示,我們會(huì)逐一解釋。
3.1 理解本體
根據(jù)維基百科:“在計(jì)算機(jī)科學(xué)和信息科學(xué)中,主體是對(duì)一個(gè)領(lǐng)域的一組概念以及它們之間的關(guān)系形式表達(dá),它通常用于推理該域中的屬性,也可以用于定義域。”在本文中我們使用本體的目的是使用它定義關(guān)系能力。使用本體的好處是,不論信息位于何處都可以理解該信息,并將它映射到基于SOA之中的云計(jì)算服務(wù)中。為了收集某個(gè)特定實(shí)體的信息,需要使用不同的資源來(lái)表示個(gè)別實(shí)體,即使個(gè)體差距可能存在差距。以關(guān)系數(shù)據(jù)庫(kù)為例,實(shí)體是通過(guò)主鍵標(biāo)識(shí)的,不同的信息系統(tǒng)中,用于描述屬性的方式也不盡相同。本體和支持本體的WEB標(biāo)準(zhǔn)并非新技術(shù),如W3C隊(duì)本體語(yǔ)言的貢獻(xiàn)之一是OWL,使用OWL作為WEB本體和云計(jì)算的起點(diǎn),可以使數(shù)據(jù)實(shí)現(xiàn)自動(dòng)化。它為云計(jì)算提供了創(chuàng)建和共享本體的中心地點(diǎn)。
3.2 理解數(shù)據(jù)
理解數(shù)據(jù)是信息模型過(guò)程中最繁重的一步,該步驟中我們必須檢查信息和數(shù)據(jù)的細(xì)節(jié),創(chuàng)建出傳統(tǒng)的可交付件,對(duì)于計(jì)算需要理解數(shù)據(jù)的位置在哪里,收集數(shù)據(jù)的信息并確定數(shù)據(jù)在流程中的流向問(wèn)題。一句話,云的解決方案需要定義信息的流動(dòng)性以及信息與核心服務(wù)業(yè)務(wù)流程的關(guān)系是什么。
3.3 標(biāo)示數(shù)據(jù)
3.3.1 創(chuàng)建數(shù)據(jù)字典。現(xiàn)在你需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)字典,用于存放要分析的數(shù)據(jù)和其他信息,但是由于系統(tǒng)千差萬(wàn)別,所以很難找到一組共同屬性,因此在對(duì)數(shù)據(jù)創(chuàng)建字典時(shí)需要跟蹤的信息有以下內(nèi)容:特定數(shù)據(jù)元素存在的原因;數(shù)據(jù)的所有者;數(shù)據(jù)的格式;數(shù)據(jù)的安全屬性;邏輯數(shù)據(jù)結(jié)構(gòu)和物理數(shù)據(jù)結(jié)構(gòu)的作用。
3.3.2 理解一致性問(wèn)題。一致性是云計(jì)算數(shù)據(jù)庫(kù)中常見(jiàn)的問(wèn)題,為了解決此類問(wèn)題,數(shù)據(jù)使用的規(guī)則和邏輯是至關(guān)重要的。雖然有些數(shù)據(jù)庫(kù)通過(guò)內(nèi)建設(shè)置存儲(chǔ)過(guò)程或者觸發(fā)器來(lái)解決一致性問(wèn)題,可是這些都依賴邏輯關(guān)系,因此還需要建立應(yīng)用的規(guī)則,防范出現(xiàn)數(shù)據(jù)不一致的問(wèn)題。
3.3.3 理解數(shù)據(jù)延遲。數(shù)據(jù)延遲是數(shù)據(jù)實(shí)時(shí)性的特點(diǎn),這也是云計(jì)算過(guò)程中必須明確的數(shù)據(jù)屬性之一。雖然數(shù)據(jù)延遲有很多種,但是主要關(guān)注以下三類:(1)實(shí)時(shí)數(shù)據(jù),為了接近0延遲,云計(jì)算實(shí)現(xiàn)需要不斷回到數(shù)據(jù)庫(kù)、應(yīng)用程序以及其他系統(tǒng),在這樣的要求中,數(shù)據(jù)庫(kù)本身的性能也需要考慮在其中。一個(gè)進(jìn)程更新了數(shù)據(jù),另一個(gè)進(jìn)程也必須同時(shí)取得更新的信息;(2)接近實(shí)時(shí)數(shù)據(jù),接近實(shí)時(shí)數(shù)據(jù)是按照固定時(shí)間段來(lái)更新數(shù)據(jù),雖然不能實(shí)時(shí)更新,但在較短的單位時(shí)間完成數(shù)據(jù)的更新訪問(wèn)就已經(jīng)很及時(shí)了;(3)不定時(shí)數(shù)據(jù),不定時(shí)數(shù)據(jù)是在單位時(shí)間進(jìn)行更新,如客戶的地址和賬號(hào)信息就屬于這類內(nèi)容。
根據(jù)上面三種數(shù)據(jù)延遲類型,我們需要確定數(shù)據(jù)的更新屬性、它們分別適用什么方案、什么頻率、隨時(shí)間遷移數(shù)據(jù)怎樣變等。
3.4 數(shù)據(jù)目錄
數(shù)據(jù)目錄是對(duì)我們?cè)谇懊媸占臄?shù)據(jù)進(jìn)行形式化。一個(gè)好的數(shù)據(jù)目錄應(yīng)該包括系統(tǒng)應(yīng)用的所有數(shù)據(jù)元素,如所有者、系統(tǒng)、各式、安全屬性、一致性屬性、依賴關(guān)系等。
4 結(jié)語(yǔ)
數(shù)據(jù)是系統(tǒng)應(yīng)用的基礎(chǔ),也是進(jìn)行系統(tǒng)移植到云計(jì)算的根本,本文所謂新的地方在于確立了以數(shù)據(jù)為導(dǎo)向的開(kāi)發(fā)方向,特別是需要解決數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)間的關(guān)系、一致性、安全以及數(shù)據(jù)與數(shù)據(jù)之間的其他要素,最終明確如何建立數(shù)據(jù)管理在本地系統(tǒng)和云計(jì)算之間管理的目標(biāo),就像數(shù)據(jù)存放在本地系統(tǒng)內(nèi),這是我們研究的目標(biāo)。
參考文獻(xiàn)
[1] 馬國(guó)耀.云計(jì)算與SOA[M].北京:人民郵電出版社,2010.
[2] 周洪波.云計(jì)算:技術(shù)、應(yīng)用、標(biāo)準(zhǔn)和商業(yè)模式[M].北京:電子工業(yè)出版社,2011.
[3] 余水清.大數(shù)據(jù)管理:數(shù)據(jù)集成的技術(shù)、方法與最佳實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2014.
[4] 祁偉,等.云計(jì)算:從基礎(chǔ)架構(gòu)到最佳實(shí)踐[M].北京:清華大學(xué)出版社,2013.
[5] Dong Yuan,Yun Yang,Xiao Liu,Jinjun Chen.A data placement strategy in scientific cloud workflows[J].Future Generation Computer Systems,2010,(8).
[6] Michael Cusumano.Cloud computing and SaaS as new computing platforms[J].Communications of the ACM,2010,(4).
[7] Luis M.Vaquero,Luis Rodero-Merino,Juan Caceres,Maik Lindner.A break in the clouds[J].ACM SIGCOMM Computer Communication Review,2008,(1).
作者簡(jiǎn)介:馬淑?。?978-),女,甘肅人,拉薩市氣象局工程師,研究生,研究方向:氣象服務(wù)。
(責(zé)任編輯:秦遜玉)