国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

云應(yīng)用管理引擎的設(shè)計(jì)與實(shí)現(xiàn)

2014-07-25 11:29梁崢刁偉孟
微型電腦應(yīng)用 2014年8期
關(guān)鍵詞:列表引擎應(yīng)用程序

梁崢,刁偉孟

云應(yīng)用管理引擎的設(shè)計(jì)與實(shí)現(xiàn)

梁崢,刁偉孟

介紹了云應(yīng)用管理引擎的設(shè)計(jì)思想與實(shí)現(xiàn)方式,以解決傳統(tǒng)上應(yīng)用程序必須安裝在本地才能運(yùn)行的問題。云應(yīng)用管理引擎對安裝在Windows或Linux應(yīng)用服務(wù)器上的應(yīng)用程序進(jìn)行管理,在集群范圍或服務(wù)器范圍內(nèi)將應(yīng)用程序發(fā)布為遠(yuǎn)程應(yīng)用,并將遠(yuǎn)程應(yīng)用授權(quán)給用戶。授權(quán)用戶可以從各種客戶端設(shè)備和系統(tǒng)運(yùn)行交付給自己的遠(yuǎn)程應(yīng)用程序,就像運(yùn)行本地應(yīng)用程序一樣。

云計(jì)算;虛擬化;管理引擎;遠(yuǎn)程應(yīng)用;服務(wù)器;集群

0 引言

“云桌面”、“云存儲”和“云應(yīng)用”是“云”體系3個(gè)相互關(guān)聯(lián),互為補(bǔ)充的核心技術(shù)?!霸谱烂妗蓖ㄟ^消除用戶桌面和特定硬件之間的綁定關(guān)系,使用戶從設(shè)備中解脫出來,能夠在“云”中為用戶提供遠(yuǎn)程計(jì)算機(jī)桌面服務(wù)。“云存儲”拓展存儲路徑,使之跨越各種邏輯層、經(jīng)過網(wǎng)絡(luò)、進(jìn)入虛擬機(jī),將數(shù)據(jù)保存在云端。“云應(yīng)用”將應(yīng)用程序部署在網(wǎng)絡(luò)中,用戶可以在任何時(shí)間、從任何地方、用任何客戶端很方便訪問并運(yùn)行這些應(yīng)用程序,如同本地安裝的應(yīng)用程序一樣。

目前,針對“云桌面”和“云存儲”技術(shù)的研究很深入,軟件產(chǎn)品也較多,而對于同樣作為云計(jì)算核心的“云應(yīng)用”的研究則要落后很多,主要的產(chǎn)品也僅限于Citrix的XenApp[1],Microsoft的Rd Web[2],以及Ulteo的OVD[3]等少數(shù)幾個(gè)。

本文介紹了云應(yīng)用管理引擎的設(shè)計(jì)思想與實(shí)現(xiàn)方式,以解決傳統(tǒng)上應(yīng)用程序必須安裝在本地才能運(yùn)行的問題。云應(yīng)用管理引擎可以對多臺應(yīng)用服務(wù)器進(jìn)行統(tǒng)一管理。通過云應(yīng)用管理引擎,管理員可以查詢各個(gè)應(yīng)用服務(wù)器上已安裝的應(yīng)用程序列表,選擇所需的應(yīng)用程序在服務(wù)器范圍或集群范圍內(nèi)發(fā)布為遠(yuǎn)程應(yīng)用,以及將這些遠(yuǎn)程應(yīng)用授權(quán)給用戶。普通用戶登錄到云應(yīng)用管理引擎,查詢所授權(quán)的遠(yuǎn)程應(yīng)用程序,可以直接運(yùn)行,如同運(yùn)行在本地安裝的應(yīng)用程序一樣。

本文組織如下:第1節(jié)介紹云應(yīng)用平臺的實(shí)現(xiàn)架構(gòu),分析了管理引擎以及應(yīng)用服務(wù)器各自承擔(dān)的角色;第2節(jié)圍繞集群、服務(wù)器、應(yīng)用程序、遠(yuǎn)程應(yīng)用和用戶等詳細(xì)地闡述了管理引擎的主要管理功能;第3節(jié)和第4節(jié)闡述了實(shí)現(xiàn)中的兩個(gè)重點(diǎn):管理引擎與服務(wù)器的交互,以及用戶在訪問遠(yuǎn)程應(yīng)用時(shí)選擇運(yùn)行服務(wù)器的策略;第5節(jié)通過大體所需執(zhí)行過程來講解云應(yīng)用平臺的管理邏輯;最后,在第6節(jié)進(jìn)行總結(jié)。

1 云應(yīng)用實(shí)現(xiàn)架構(gòu)

云應(yīng)用平臺由4個(gè)元素組成:云應(yīng)用服務(wù)器、云應(yīng)用管理引擎、管理端以及客戶端,如圖1所示:

圖1 云應(yīng)用實(shí)現(xiàn)架構(gòu)

云應(yīng)用管理引擎基于CentOS 6.5操作系統(tǒng),采用Django[4]框架進(jìn)行開發(fā)。云應(yīng)用服務(wù)器可以是物理服務(wù)器,或者是基于KVM[5]和QEMU[6]技術(shù)的虛擬服務(wù)器,應(yīng)用服務(wù)器發(fā)布應(yīng)用程序采用RemoteApp[7]技術(shù),Windows客戶端訪問遠(yuǎn)程應(yīng)用使用遠(yuǎn)程桌面連接,而Linux客戶端訪問遠(yuǎn)程應(yīng)用則使用FreeRDP[8]。

應(yīng)用服務(wù)器上安裝有應(yīng)用管理服務(wù)和遠(yuǎn)程應(yīng)用服務(wù)。應(yīng)用管理服務(wù)通過自定義協(xié)議實(shí)現(xiàn)管理引擎和服務(wù)器之間的交互。遠(yuǎn)程應(yīng)用服務(wù)則通過RDP協(xié)議為授權(quán)用戶在客戶端訪問應(yīng)用服務(wù)器上的遠(yuǎn)程應(yīng)用提供支持。

云應(yīng)用管理引擎是整個(gè)實(shí)現(xiàn)架構(gòu)的核心,可以對一臺或多臺應(yīng)用服務(wù)器進(jìn)行管理。云應(yīng)用管理引擎接收和處理來自管理端的管理請求和客戶端的普通用戶請求,與應(yīng)用服務(wù)器通信,獲取服務(wù)器配置、應(yīng)用程序列表等信息,并且在服務(wù)器上發(fā)布應(yīng)用程序,以及將遠(yuǎn)程應(yīng)用授權(quán)給用戶。

云應(yīng)用管理引擎提供統(tǒng)一入口。管理員登錄后,進(jìn)入管理界面,可執(zhí)行各種管理工作,最終目的是在集群范圍或服務(wù)器范圍內(nèi)將應(yīng)用程序發(fā)布為遠(yuǎn)程應(yīng)用,并且將遠(yuǎn)程應(yīng)用授權(quán)給用戶;用戶登錄后,進(jìn)入用戶界面,可以查看授權(quán)給自己的遠(yuǎn)程應(yīng)用列表、并選擇特定的服務(wù)器運(yùn)行對應(yīng)的應(yīng)用程序。

2 云應(yīng)用管理功能

目前,云應(yīng)用實(shí)現(xiàn)架構(gòu)中涉及的對象有5個(gè):集群、服務(wù)器、應(yīng)用程序、遠(yuǎn)程應(yīng)用和用戶如圖2所示:

圖2 云應(yīng)用管理對象

云應(yīng)用管理引擎軟件提供的主要功能也圍繞這些對象而展開,將來的實(shí)現(xiàn)會支持更多的功能,例如,可能根據(jù)需要進(jìn)行增加對于會話等的管理部分。

2.1 集群

在云應(yīng)用平臺中,引入集群的主要目的是在更大范圍內(nèi)對應(yīng)用程序進(jìn)行管理,并且,在用戶使用遠(yuǎn)程應(yīng)用時(shí)通過負(fù)載均衡確保壓力平攤到集群中的應(yīng)用服務(wù)器之上??梢愿鶕?jù)不同方式來構(gòu)建集群,例如從系統(tǒng)特性來分,可以將運(yùn)行Windows系列操作系統(tǒng)的應(yīng)用服務(wù)器組織成一個(gè)集群,將運(yùn)行Linux系列操作系統(tǒng)的應(yīng)用服務(wù)器組織成一個(gè)集群;從地理位置來分,將某地區(qū)的所有應(yīng)用服務(wù)器組織成一個(gè)集群,將另一個(gè)地區(qū)的所有應(yīng)用服務(wù)器組織成另一個(gè)集群;從行政功能來分,將企業(yè)研發(fā)部的所有應(yīng)用服務(wù)器組織成一個(gè)集群,將企業(yè)商務(wù)部的所有應(yīng)用服務(wù)器組織成另一個(gè)集群。

集群中的應(yīng)用服務(wù)器可以安裝有不同的操作系統(tǒng),并且并非所有應(yīng)用服務(wù)器都需要安裝同樣的應(yīng)用程序。集群中的應(yīng)用程序是集群中所有應(yīng)用服務(wù)器中的應(yīng)用程序的合集。將集群中的某個(gè)應(yīng)用程序發(fā)布為遠(yuǎn)程應(yīng)用時(shí),實(shí)際上是在該集群中包含有這個(gè)應(yīng)用程序的所有(并不一定是集群的全部)應(yīng)用服務(wù)器上進(jìn)行發(fā)布。而將這個(gè)遠(yuǎn)程應(yīng)用在該集群范圍內(nèi)分配給某個(gè)用戶,該用戶使用這個(gè)遠(yuǎn)程應(yīng)用時(shí),實(shí)際上是在該集群中的某個(gè)包含有這個(gè)應(yīng)用程序的應(yīng)用服務(wù)器上進(jìn)行使用。如何選擇運(yùn)行遠(yuǎn)程應(yīng)用的應(yīng)用服務(wù)器是根據(jù)集群的策略而定的。

2.2 服務(wù)器

服務(wù)器是云應(yīng)用平臺的硬件基礎(chǔ),云應(yīng)用中的應(yīng)用程序都是運(yùn)行在應(yīng)用服務(wù)器上。從云應(yīng)用管理引擎的角度,應(yīng)用服務(wù)器分為兩種:一種是獨(dú)立的應(yīng)用服務(wù)器,另一種則是集群中的應(yīng)用服務(wù)器。

獨(dú)立應(yīng)用服務(wù)器上的應(yīng)用程序可以獨(dú)立進(jìn)行管理。管理員選擇獨(dú)立應(yīng)用服務(wù)器上的應(yīng)用程序發(fā)布為遠(yuǎn)程應(yīng)用,然后,將這些獨(dú)立服務(wù)器上的遠(yuǎn)程應(yīng)用分配給用戶。用戶在運(yùn)行這些遠(yuǎn)程應(yīng)用時(shí),將連接到獨(dú)立應(yīng)用服務(wù)器上。

集群中的應(yīng)用服務(wù)器是集群的組成成員,它上面的應(yīng)用程序被納入到集群范圍中統(tǒng)一管理。也就是這些應(yīng)用程序?qū)⒃谡麄€(gè)集群中被發(fā)布為遠(yuǎn)程應(yīng)用,然后,將集群中的遠(yuǎn)程應(yīng)用分配給用戶。用戶在運(yùn)行這些應(yīng)用程序時(shí),將按照集群策略從集群中選擇一個(gè)應(yīng)用服務(wù)器進(jìn)行連接,從而確保連接時(shí)的負(fù)載均衡。

2.3 應(yīng)用程序

云應(yīng)用管理的最終目標(biāo)是應(yīng)用程序,這些應(yīng)用程序作為遠(yuǎn)程應(yīng)用發(fā)布,并分配給用戶,成為所謂的“云應(yīng)用”(或稱為遠(yuǎn)程應(yīng)用)。用戶在運(yùn)行這些“云應(yīng)用”時(shí),實(shí)際上是在應(yīng)用服務(wù)器上運(yùn)行對應(yīng)的應(yīng)用程序,但因?yàn)閼?yīng)用程序的輸入輸出被重定向到用戶設(shè)備上,就如同用戶運(yùn)行本地應(yīng)用程序一般。

服務(wù)器被添加到云應(yīng)用管理系統(tǒng)時(shí),管理引擎從服務(wù)器獲取應(yīng)用程序列表。大多數(shù)應(yīng)用程序安裝時(shí)都會在開始菜單下創(chuàng)建一個(gè)快捷鍵,因此,服務(wù)器可以在開始菜單下自動檢測應(yīng)用程序。對于某些應(yīng)用程序,例如綠色軟件,它們可能無需安裝,直接拷貝或解壓運(yùn)行,或者它們不會修改注冊表,也不會在開始菜單下創(chuàng)建任何快捷鍵。對于這樣的應(yīng)用程序,在發(fā)布前需要由管理員從管理界面上添加到應(yīng)用程序列表中。

每個(gè)應(yīng)用程序包括名字、描述、可執(zhí)行文件路徑、桌面文件路徑等信息。在云應(yīng)用平臺中,應(yīng)用程序根據(jù)程序名字和可執(zhí)行文件路徑,來計(jì)算哈希值,作為應(yīng)用程序的唯一標(biāo)識。也就是說,根據(jù)程序名字和可執(zhí)行文件路徑來判斷是否是同一個(gè)應(yīng)用程序?;诖?,一個(gè)應(yīng)用程序可以位于多個(gè)應(yīng)用服務(wù)器上,多個(gè)集群中,或者是一個(gè)集群中的所有或部分服務(wù)器上。弄清這一點(diǎn),是理解云應(yīng)用平臺發(fā)布和授權(quán)邏輯的關(guān)鍵。

2.4 遠(yuǎn)程應(yīng)用

應(yīng)用程序能夠作為“云應(yīng)用”運(yùn)行的條件有很多,其中主要的有3個(gè):其一,運(yùn)行應(yīng)用程序的應(yīng)用服務(wù)器必須啟用遠(yuǎn)程應(yīng)用服務(wù);其二,應(yīng)用程序必須在應(yīng)用服務(wù)器上被發(fā)布為遠(yuǎn)程應(yīng)用;其三,訪問遠(yuǎn)程應(yīng)用的用戶必須在應(yīng)用服務(wù)器上獲得授權(quán)。并非應(yīng)用服務(wù)器上所有的應(yīng)用程序都默認(rèn)可以遠(yuǎn)程訪問的。應(yīng)用程序被檢測后,需要被發(fā)布為遠(yuǎn)程應(yīng)用。

在云應(yīng)用平臺中,應(yīng)用程序可以在服務(wù)器范圍內(nèi)被發(fā)布為遠(yuǎn)程應(yīng)用,也可以在集群范圍內(nèi)被發(fā)布為遠(yuǎn)程應(yīng)用。如果在服務(wù)器范圍內(nèi)被發(fā)布,這個(gè)應(yīng)用程序?qū)趹?yīng)用服務(wù)器上被添加到遠(yuǎn)程應(yīng)用列表。如果在集群范圍內(nèi)被發(fā)布,這個(gè)應(yīng)用程序?qū)诩褐兴邪@個(gè)應(yīng)用程序的應(yīng)用服務(wù)器上被添加到遠(yuǎn)程應(yīng)用列表。

2.5 用戶

應(yīng)用程序被發(fā)布為遠(yuǎn)程應(yīng)用后,還需要將遠(yuǎn)程應(yīng)用授權(quán)給用戶。目前,云應(yīng)用平臺集成了用戶管理功能。未來,云應(yīng)用平臺需要使用外部用戶數(shù)據(jù)進(jìn)行認(rèn)證,并且實(shí)現(xiàn)單點(diǎn)認(rèn)證,以便于登錄云管理引擎,訪問遠(yuǎn)程應(yīng)用,以及掛載云存儲等。

用戶可以在服務(wù)器或集群范圍內(nèi)獲得授權(quán)。如果用戶在服務(wù)器范圍內(nèi)被授權(quán),這個(gè)用戶將會在應(yīng)用服務(wù)器上被添加到遠(yuǎn)程應(yīng)用列表。如果用戶在集群范圍內(nèi)被授權(quán),這個(gè)用戶將會在集群中所有包含這個(gè)應(yīng)用程序的應(yīng)用服務(wù)器上被添加到遠(yuǎn)程用戶列表。

對每個(gè)用戶而言,授權(quán)遠(yuǎn)程應(yīng)用集合一定是發(fā)布應(yīng)用程序集合的子集。換句話說,無論是在服務(wù)器范圍,還是在集群范圍,能夠授權(quán)給用戶的遠(yuǎn)程應(yīng)用,一定是已經(jīng)從應(yīng)用程序發(fā)布過的遠(yuǎn)程應(yīng)用。

3 管理引擎與服務(wù)器交互

管理員向管理引擎提交操作,最終都要落實(shí)到相應(yīng)的服務(wù)器上,有時(shí)是從服務(wù)器獲取信息,有時(shí)是要求服務(wù)器修改注冊表等,而這必然依賴于管理引擎和服務(wù)器通信。目前管理引擎和服務(wù)器之間的主要交互內(nèi)容如下:

1) 獲取服務(wù)器配置信息。在服務(wù)器被添加到管理平臺時(shí),管理引擎將向服務(wù)器發(fā)送請求獲取一些基本信息,例如,操作系統(tǒng)類型和版本、CPU類型、內(nèi)存容量等。服務(wù)器也會定期向管理引擎報(bào)告其配置信息,例如,已使用容量等,這些動態(tài)信息被管理引擎記錄下來,作為通過集群策略選擇服務(wù)器的參考。

2) 查詢、啟用和禁用遠(yuǎn)程應(yīng)用服務(wù)。用戶要從網(wǎng)絡(luò)上運(yùn)行服務(wù)器上的應(yīng)用程序,必須在服務(wù)器上啟用遠(yuǎn)程應(yīng)用服務(wù)器。如果應(yīng)用服務(wù)器需要維護(hù),可以禁用遠(yuǎn)程應(yīng)用服務(wù),這樣,用戶在集群中運(yùn)行遠(yuǎn)程應(yīng)用時(shí),不會選擇這臺服務(wù)器。

3) 添加/刪除遠(yuǎn)程應(yīng)用。每臺服務(wù)器都維護(hù)一個(gè)遠(yuǎn)程應(yīng)用列表。從管理引擎發(fā)布應(yīng)用時(shí),在這個(gè)列表中添加一個(gè)遠(yuǎn)程應(yīng)用;取消發(fā)布時(shí),將遠(yuǎn)程應(yīng)用從這個(gè)列表中刪除。

4) 添加/刪除遠(yuǎn)程用戶。每臺服務(wù)器都維護(hù)一個(gè)遠(yuǎn)程用戶列表,這些用戶被授權(quán)可以訪問該服務(wù)器上的遠(yuǎn)程應(yīng)用。從管理引擎授權(quán)用戶時(shí),在這個(gè)列表中添加一個(gè)遠(yuǎn)程用戶;取消授權(quán)時(shí),將遠(yuǎn)程用戶從這個(gè)列表中刪除。

發(fā)布和授權(quán)等信息除了在服務(wù)器上之外,同時(shí),在管理引擎數(shù)據(jù)庫中進(jìn)行維護(hù)。為了確保兩個(gè)地方信息的一致性,首先,在服務(wù)器上更新,然后,才修改管理引擎數(shù)據(jù)庫。

4 應(yīng)用中心策略

創(chuàng)建集群最基本的目的就是統(tǒng)籌管理多個(gè)應(yīng)用服務(wù)器上的應(yīng)用程序,以便用戶的訪問壓力能夠合適地分?jǐn)偟竭@些應(yīng)用服務(wù)器上,這體現(xiàn)為策略。如果將服務(wù)器和集群作為整個(gè)應(yīng)用中心的一部分來考量,可以制定出不同的策略,即所謂的應(yīng)用中心策略,包括:

1) 服務(wù)器與集群間策略:當(dāng)用戶同時(shí)在某個(gè)/些應(yīng)用服務(wù)器和某個(gè)/些集群中被授權(quán)同一個(gè)應(yīng)用程序時(shí),云應(yīng)用平臺通過服務(wù)器與集群間策略選定其中的一個(gè)應(yīng)用服務(wù)器或集群為用戶運(yùn)行該應(yīng)用程序提供支持。

2) 服務(wù)器間策略:當(dāng)用戶在多個(gè)應(yīng)用服務(wù)器上被授權(quán)同一個(gè)應(yīng)用程序時(shí),云應(yīng)用平臺通過服務(wù)器間策略選定其中的一個(gè)應(yīng)用服務(wù)器為用戶運(yùn)行該應(yīng)用程序提供支持。

3) 集群間策略:當(dāng)用戶在多個(gè)集群上被授權(quán)同一個(gè)應(yīng)用程序時(shí),云應(yīng)用平臺通過集群間策略選定其中的一個(gè)集群為用戶運(yùn)行該應(yīng)用程序提供支持。

4) 集群內(nèi)策略:當(dāng)用戶在一個(gè)集群中被授權(quán)某個(gè)應(yīng)用程序時(shí),云應(yīng)用平臺通過集群內(nèi)策略選定其中的一個(gè)應(yīng)用服務(wù)器為用戶運(yùn)行該應(yīng)用程序提供支持。

5 云應(yīng)用管理邏輯

5.1 雖局部可以調(diào)整,使用云應(yīng)用管理引擎的操作流程大體如下:

1)規(guī)劃設(shè)計(jì)

先回答這些問題:哪些應(yīng)用服務(wù)器要納入管理平臺?如何將這些服務(wù)器劃分為集群?要在哪些服務(wù)器上或集群中發(fā)布哪些應(yīng)用程序?分別將這些應(yīng)用程序授權(quán)給哪些用戶?這些用戶在訪問授權(quán)應(yīng)用的時(shí)候,具有哪些權(quán)限?

2)創(chuàng)建集群

初始部署時(shí),沒有任何集群,必須由管理員創(chuàng)建。管理員可以根據(jù)系統(tǒng)特性、地理位置、行政功能等將所有的應(yīng)用服務(wù)器進(jìn)行分類,然后將每一類應(yīng)用服務(wù)器規(guī)劃作為一個(gè)集群。創(chuàng)建集群操作對于每個(gè)集群一般只需要執(zhí)行一次。

3)添加服務(wù)器

應(yīng)用服務(wù)器是云平臺中的基礎(chǔ)硬件資源。要在云平臺中發(fā)布應(yīng)用程序和授權(quán)遠(yuǎn)程應(yīng)用給用戶,必須至少添加一個(gè)應(yīng)用服務(wù)器。添加服務(wù)器時(shí),同時(shí)自動檢測該服務(wù)器上的應(yīng)用程序并添加到管理引擎數(shù)據(jù)庫中。添加服務(wù)器操作對于每個(gè)服務(wù)器一般只需要執(zhí)行一次。

4)加入集群

5.2 應(yīng)用服務(wù)器被加入到云應(yīng)用平臺后,可以作為獨(dú)立服務(wù)器使用,也可以加入到集群中,以便其上的應(yīng)用服務(wù)器在集群范圍內(nèi)統(tǒng)一發(fā)布和授權(quán)。可以在服務(wù)器一添加進(jìn)來就可以被加入集群,也可以在服務(wù)器作為獨(dú)立服務(wù)器運(yùn)行(發(fā)布和授權(quán))一段時(shí)間后再加入到集群中。服務(wù)器最多只能加入到一個(gè)集群,因此已經(jīng)在集群中的服務(wù)器不可以執(zhí)行加入集群操作。此外,考慮到服務(wù)器上和集群中都可能有應(yīng)用程序發(fā)布和用戶授權(quán),目前允許服務(wù)器加入集群的條件是:

1) 服務(wù)器上發(fā)布的應(yīng)用程序集必須是集群中發(fā)布的應(yīng)用程序集的子集;

2) 對于每個(gè)用戶而言,服務(wù)器上授權(quán)的遠(yuǎn)程應(yīng)用集必須是集群中授權(quán)的遠(yuǎn)程應(yīng)用集的子集。

如果滿足上述條件,服務(wù)器就可以被加入到集群。在服務(wù)器加入集群時(shí),還需要特別處理以下情況:

1) 如果應(yīng)用程序同時(shí)在服務(wù)器上和集群中發(fā)布,則服務(wù)器加入集群時(shí),必須刪除在服務(wù)器上發(fā)布的記錄,只保留在集群中發(fā)布的記錄。

2) 如果應(yīng)用程序只在集群中發(fā)布,未在服務(wù)器上發(fā)布,則服務(wù)器加入集群時(shí),管理引擎將發(fā)送請求給應(yīng)用服務(wù)器將它添加到遠(yuǎn)程應(yīng)用列表中。

3) 對于每個(gè)用戶,如果同時(shí)在服務(wù)器上和集群中授權(quán)某個(gè)遠(yuǎn)程應(yīng)用,則服務(wù)器加入集群時(shí),必須刪除在服務(wù)器上的授權(quán)記錄,只保留在集群中的授權(quán)記錄。

4) 對于每個(gè)用戶,如果只在集群中授權(quán),未在服務(wù)器上授權(quán)某個(gè)遠(yuǎn)程應(yīng)用,則服務(wù)器加入集群時(shí),管理引擎將發(fā)送請求給應(yīng)用服務(wù)器將它添加到遠(yuǎn)程用戶列表中。

加入集群操作只在必要時(shí)執(zhí)行,如果只是在服務(wù)器范圍管理應(yīng)用程序,這個(gè)操作可能根本不會被用到。

5.3 發(fā)布應(yīng)用程序?yàn)檫h(yuǎn)程應(yīng)用

選擇應(yīng)用程序,將它發(fā)布為遠(yuǎn)程應(yīng)用,設(shè)定要發(fā)布的(服務(wù)器或集群)范圍,以及要發(fā)布的目標(biāo)。

如果選擇集群為發(fā)布范圍,在發(fā)布目標(biāo)中列出所有還沒有在集群范圍內(nèi)發(fā)布這個(gè)應(yīng)用程序的集群,而已經(jīng)在集群范圍內(nèi)發(fā)布了這個(gè)應(yīng)用程序的集群,則不會出現(xiàn)在發(fā)布目標(biāo)列表中。

如果選擇服務(wù)器為發(fā)布范圍,在發(fā)布目標(biāo)中列出所有還沒有在服務(wù)器范圍內(nèi)發(fā)布這個(gè)應(yīng)用程序的獨(dú)立服務(wù)器,而已經(jīng)在服務(wù)器范圍內(nèi)發(fā)布了這個(gè)應(yīng)用程序的獨(dú)立服務(wù)器,則不會出現(xiàn)在發(fā)布目標(biāo)列表中。

需要注意的是,一個(gè)應(yīng)用程序可能在多個(gè)服務(wù)器或集群上存在,而應(yīng)用程序列表中的已發(fā)布狀態(tài)說明了應(yīng)用服務(wù)器至少已在一個(gè)服務(wù)器或集群上發(fā)布。因此,對于狀態(tài)為“已發(fā)布”的應(yīng)用程序,我們?nèi)匀豢梢詧?zhí)行“發(fā)布為應(yīng)用程序”的操作。

對于每個(gè)應(yīng)用程序,發(fā)布操作可能執(zhí)行零次、一次或多次,因?yàn)檫@個(gè)應(yīng)用程序可能不需要發(fā)布、需要在一個(gè)服務(wù)器上或集群中發(fā)布或者需要在多個(gè)服務(wù)器上或集群中發(fā)布。

5.4 發(fā)布應(yīng)用程序?yàn)檫h(yuǎn)程應(yīng)用

選擇遠(yuǎn)程應(yīng)用,將它授權(quán)給用戶,設(shè)定要授權(quán)的用戶名、授權(quán)的(服務(wù)器或集群)范圍,以及要授權(quán)的目標(biāo)。

如果選擇集群為授權(quán)范圍,在授權(quán)目標(biāo)中列出所有還沒有在集群范圍內(nèi)為該用戶授權(quán)這個(gè)應(yīng)用程序的集群,而已經(jīng)在集群范圍內(nèi)為該用戶授權(quán)了這個(gè)應(yīng)用程序的集群,則不會出現(xiàn)在授權(quán)目標(biāo)列表中。

如果選擇服務(wù)器為授權(quán)范圍,在授權(quán)目標(biāo)中列出所有還沒有在服務(wù)器范圍內(nèi)為該用戶授權(quán)這個(gè)應(yīng)用程序的獨(dú)立服務(wù)器,而已經(jīng)在服務(wù)器范圍內(nèi)為該用戶授權(quán)了這個(gè)應(yīng)用程序的獨(dú)立服務(wù)器,則不會出現(xiàn)在授權(quán)目標(biāo)列表中。

需要注意的是,一個(gè)應(yīng)用程序可能在多個(gè)服務(wù)器或集群上被授權(quán)給一個(gè)用戶,也可以在一個(gè)服務(wù)器或集群上被授權(quán)給多個(gè)用戶,因此遠(yuǎn)程程序列表中的已授權(quán)用戶數(shù)說明了遠(yuǎn)程應(yīng)用被授權(quán)給用戶的數(shù)量,即使該值大于1,我們?nèi)匀豢梢詧?zhí)行“授權(quán)給用戶”的操作。

對于每個(gè)遠(yuǎn)程應(yīng)用和用戶,這個(gè)操作可能執(zhí)行零次、一次或多次,因?yàn)檫@個(gè)應(yīng)用程序可能不需要被授權(quán)給該用戶、需要在一個(gè)服務(wù)器上或集群中被授權(quán)給該用戶或者需要在多個(gè)服務(wù)器上或集群中被授權(quán)給該用戶。

管理員執(zhí)行完上述操作,用戶就可以在任意客戶端從用戶入口登錄云應(yīng)用管理引擎,查看授權(quán)給自己的應(yīng)用程序,并且訪問這些應(yīng)用程序了。

6 總結(jié)

本文介紹了云應(yīng)用管理引擎軟件的設(shè)計(jì)思想和實(shí)現(xiàn)框架,管理引擎能夠?qū)σ慌_或多臺具有應(yīng)用服務(wù)器進(jìn)行管理,將這些應(yīng)用服務(wù)器上的應(yīng)用程序發(fā)布為遠(yuǎn)程應(yīng)用,再將這些遠(yuǎn)程應(yīng)用授權(quán)給用戶。

管理員可以從任意管理控制臺登錄云應(yīng)用管理引擎,對集群、服務(wù)器、應(yīng)用程序、遠(yuǎn)程應(yīng)用以及用戶等資源進(jìn)行管理,而授權(quán)用戶則可以從客戶端登錄云應(yīng)用管理引擎,查看分配被自己的應(yīng)用程序,通過特定協(xié)議訪問這些應(yīng)用程序,如同運(yùn)行本地安裝的應(yīng)用程序一樣。

通過云應(yīng)用管理引擎,可以很方便地在應(yīng)用服務(wù)器以及由應(yīng)用服務(wù)器組成的集群中構(gòu)建“應(yīng)用云”,從而幫助企業(yè)很方便地搭建屬于自己的虛擬化云平臺。

[1] Barham P, Dragovic B, Fraser K, et al. Xen and the Art of Virtualization [C] //Proceedings of the 19th ACM Symposium on Operating Systems Principles. New York: Bolton Landing, 2003:164-177.

[2] Remote Desktop Web Access [EB/OL]. [2014-04].http://technet.microsoft.com/en-us/library/cc731923.aspx

[3] Ulteo. Application Delivery Platform [EB/OL]. [2014-04].http://www.ulteo.org/.

[4] Django. The Web framework for perfectionists with deadlines [EB/OL]. [2014-04]. https://www.djangoproject.com/.

[5] KVM. Kernel Based Virtual Machine [EB/OL]. [2014-04]. http://www.linux-kvm.org/.

[6] QEMU. Open Source Processor Emulator [EB/OL]. [2014-04] http://www.qemu.org/.

[7] Microsoft. RemoteApp Manager [EB/OL]. [2014-04].http://technet.microsoft.com/en-us/library/cc755261.aspx.

[8] FreeRDP. A Remote Desktop Protocol Implementation[EB/OL]. [2014-04]. http://www.freerdp.com/

The Design and Implementation of Application Cloud Management Engine

Liang Zheng, Diao Weimeng
(Facility Division, Shanghai Institute of Tourism, Shanghai 201418, China)

This paper introduces the design idea and implementation framework of an application cloud management engine to solve the traditional limitation of running non-local applications. Cloud application management engine can be used to manage different kinds of applications from Windows or Linux application server, then publish them as remote applications in the scope of cluster or server, and authorize these remote applications to different users. Authorized user may run remote applications delivered to them from different client device and system, just like locally installed applications.

Cloud Computing; Virtualization; Management Engine; Remote Application; Server; Cluster

TP393

A

2014.05.31)

梁 崢(1974-),男,河北邢臺人,上海旅游高等專科學(xué)校,碩士,研究方向:信息、網(wǎng)絡(luò)、虛擬化技術(shù)及應(yīng)用,上海 201418

刁偉孟(1978-),男,上海旅游高等專科學(xué)校,本科,研究方向:網(wǎng)絡(luò)、存儲、虛擬化技術(shù)及應(yīng)用,上海 201418

1007-757X(2014)08-0030-04

猜你喜歡
列表引擎應(yīng)用程序
學(xué)習(xí)運(yùn)用列表法
新海珠,新引擎,新活力!
擴(kuò)列吧
刪除Win10中自帶的應(yīng)用程序
谷歌禁止加密貨幣應(yīng)用程序
三生 三大引擎齊發(fā)力
藍(lán)谷: “涉藍(lán)”新引擎
列表畫樹狀圖各有所長
2011年《小說月刊》轉(zhuǎn)載列表
三星電子將開設(shè)應(yīng)用程序下載商店
潜山县| 尚志市| 佛教| 广德县| 穆棱市| 抚顺市| 隆尧县| 娄底市| 和田市| 武城县| 临西县| 哈尔滨市| 基隆市| 涡阳县| 罗源县| 潍坊市| 石林| 华亭县| 平安县| 乌鲁木齐县| 曲水县| 东乡族自治县| 霍山县| 许昌市| 浦北县| 老河口市| 象州县| 永修县| 邯郸市| 天峻县| 仙游县| 玛纳斯县| 子洲县| 罗田县| 文水县| 息烽县| 曲阳县| 静安区| 绩溪县| 凤城市| 平山县|