一種面向多租戶的企業應用部署與管理系統,首先實現基于容器的多租戶隔離機制,支持企業遺留系統的集成和遷移,提供豐富的企業級服務,支持SOA架構的企業級應用開發,提供完善的自服務能力,提供平臺高可用性能力,動態伸縮按需擴展能力,純異步智能路由,本發明專利技術針對現有云計算技術面向企業應用在多租戶資源隔離、兼容已有應用和構建復合應用等方面所存在的問題,提出一種面向多租戶的企業應用部署與管理系統,具有多租戶安全隔離、企業應用無縫遷移,以及服務與應用可擴展的優點。
【技術實現步驟摘要】
本專利技術屬于軟件
,具體涉及企業應用部署與管理系統。
技術介紹
云計算技術飛速發展產生了W-切皆服務巧v&rythingasaService,簡稱 Xaa巧為代表的服務化應用模式,給軟件產業發展帶來了巨大的機遇,同時,也為軟件技術, 特別是網絡化企業應用的開發與部署技術帶來新的需求和挑戰。運維成本壓力和指數級 業務增長壓力使互聯網企業更關注于物理資源的利用率和應用的可擴展性。國內外大型 口企業紛紛推出云計算平臺(如,AmazonEC2、GoogleAppEngine、MicrosoftAzure、 IBMSmartClout盛大云、阿里云、新浪云),同時,開源云計算平臺(如,Eucalyp化s、 化enStack)的出現也促進了云計算技術研究與應用的發展。Goo邑IeAppEn邑ine(Goo邑IeAppEn邑ine,URL:appen邑ine.邑〇〇邑Ie.com) 寺 傳統Web應用開發的化aS平臺,目前支持Python和化va兩種編程語言,W及Django、QierryPy、Pylons和web2py等Web應用框架。GoogleAppElngine提供了抓L獲取、由 件、緩存、圖像處理等服務,幫助開發人員構建Web應用程序。應用開發完畢后交給Google App化gine巧管,負責應用的集群部署、監控W及失效恢復,并根據應用的訪問量和數據存 儲需求的變化而自動擴展。化rce.comij'orce.com,抓L 化rce.com)支持Apex語言, 可W用于開發應用程序業務邏輯、數據庫觸發器W及用戶界面。Force,com為開發者提供 了在線的和本地的兩種集成開發環境,包括F'orce.comDeveloperConsole和F'orce.com IDE。其中,前者包含可用于創建、調試和測試應用程序的工具集合,可W幫助開發人員完 成調試和故障排除、編輯和導航源代碼、測試和驗證性能、執行SO化和SO化查詢等開發任 務;后者是基于Eclipse的本地集成開發環境,用于化rce.com應用的創建、修改、測試和 部署。CloudFoun化y(Cloud化11]1化y,URL;www.clou壯Oim化y.org)是VMware維護的開 源化aS項目,支持Java、Rails、Ruby、Node.js開發語言,并提供消息、關系數據庫、內存存 儲等服務。Cloud化un化y包括中必控制器、Agent、路由、消息系統、健康檢查、NFS和數據 庫六大模塊。用戶通過中必控制器將應用生命周期管理指令發送給相關Agent,Agent負責 應用運行支撐環境的構建,并將運行時監測到的應用行為發送給健康檢查模塊進行分析。 0口611化1;1^(化日]1化1;1^,1]化哪麗.〇9日]13111;1^.。〇111)支持化¥日、?冊、?八11〇]1、1?址)7等主流開發 語言,除了提供基于JBoss中間件套件的平臺服務,還提供支持云端應用程序監控管理的 JBossOperations化twork、監控云端能效的CloudA血inF*o;rtalW及JBossDeveloper Studio開發工具,可混和調度不同虛擬平臺,如KVM、VMware和Hyper-V。新浪應用引擎(新 浪SAE,抓L;sae.sina.com.cn)是新浪推出的公共化aS平臺。Web開發者可W通過SVN或 者Web版在線代碼編輯器進行開發、部署、調試,團隊開發時還可W進行成員協作,不同的 角色將對代碼、項目擁有不同的權限。SAE提供了一系列分布式計算、存儲服務供開發者使 用,包括分布式文件存儲、分布式數據庫集群、分布式緩存、分布式定時服務等。百度應用引 擎(百度BAE,抓Lideveloper.baidu.com/services)是百度推出的公共F*aaS平臺,將原 本單機的LAMP架構變成分布式架構。開發者可W基于BAE平臺進行PHP、Java、Python應 用的開發、編譯、發布、調試。同時,BAE平臺也提供了大量的云服務,包括fetchU化、task queue、SQL、memcache等。W上的公有云計算平臺實質上就是一個預先裝好的WebContainer和一組公共服 務,如數據存儲服務,消息隊列,集中式會話及緩存等等。對于個人用戶或者簡單應用來說, 云計算平臺使得開發人員僅關注應用邏輯開發本身,不用把精力花費在基礎實施和應用的 擴展和維護上。眾多的企業應用依巧于云計算平臺W提供多樣化的互聯網服務。然而,企 業若采用公有云計算平臺,郝么將面臨放棄全部現有的應用架構與基礎設施,同時難W保 障應用與數據的安全;若自行構建云計算平臺,則不僅一次性投入巨大,而且應用可擴展性 差,更缺少專業的IT運維團隊。因此,企業級云計算平臺和公有云計算平臺有如下核必區 別; 復雜的多租戶模型;對于公有云計算平臺,其租戶模型是(用戶一應用一應用實 例),一個用戶可W部署多個應用,每個應用可W有多個運行時實例,應用實例共享資源池。 對于一個大型企業,一個大部口可能是一個租戶,大部口下面的子部口也是一個租戶;或者 一個SaaS應用系統的一個實例就是一個租戶。對于租戶的資源使用,大部口租戶共享資源 池里面的資源,也可能某些關鍵租戶需要獨占一些資源W保證安全。 已有應用的兼容;原有應用移植到新的部署環境下,需要進行適應性改造。例如, 企業的傳統應用是基于關系型數據庫的,某些云計算平臺若不支持關系型數據存儲,即使 是簡單的已有應用都無法遷移到云計算平臺上。 復合應用的構建;企業化-Premise應用在很長一段時間內都是要存在的,私有云 計算平臺要成為化-Premise和公有云之間的橋梁。私有云計算平臺不僅是應用部署平臺 夕F,還需要提供集成和方便構建復合應用的能力。因此,企業級云計算平臺不僅僅是應用部署平臺,而且是復雜多租戶環境和復雜 應用環境下的共享基礎設施平臺。
技術實現思路
本專利技術的技術解決問題;針對現有云計算技術面向企業應用在多租戶資源隔離、 兼容已有應用和構建復合應用等方面所存在的問題,提出一種面向多租戶的企業應用部署 與管理系統,具有多租戶安全隔離、企業應用無縫遷移,W及服務與應用可擴展的優點。 本專利技術的技術方案可W表示為圖1,具體步驟如下: 面向多租戶的企業應用部署與管理系統包括;路由層、應用運行時層、W及服務 層。各層次構成如下: ?路由層;Router、Control、Loa地alance; ?應用運行時層;NodeAgent、Container、AppMaster、AppSVN、Monitor、 IAASAdaptor; ?服務層:基礎服務(數據庫、緩存、消息)、集成服務(第H方服務)。 所述系統的核必組件包括W下部分:[001 引(1)云路由(Router) 云路由的功能包括負載均衡、路由、流水記錄等,可分為H個層次: ?適配框架;提供靈活的服務適配引擎,可W編排服務執行流程,并能方便地新增 服務類型; ?基礎服務;提供服務路由、負載均衡、流量統計、訪問控制、異常處理、流水服務 等基礎服務,還提供針對特殊請求的定時任務基礎服務; ?協議適配;與其他模塊的交互提供通訊協議,包括異步HTTP接入接出協議,JMS 協本文檔來自技高網...
【技術保護點】
一種面向多租戶的企業應用部署與管理系統,其特征在于:該方法至少包括如下的步驟:●路由層:Router、Control、LoadBalance;●應用運行時層:NodeAgent、Container、AppMaster、AppSVN、Monitor、IAASAdaptor;●服務層:基礎服務(數據庫、緩存、消息)、集成服務(第三方服務)。所述系統的核心組件包括以下部分:(1)云路由(Router)云路由的功能包括負載均衡、路由、流水記錄等,可分為三個層次:●適配框架:提供靈活的服務適配引擎,可以編排服務執行流程,并能方便地新增服務類型;●基礎服務:提供服務路由、負載均衡、流量統計、訪問控制、異常處理、流水服務等基礎服務,還提供針對特殊請求的定時任務基礎服務;●協議適配:與其他模塊的交互提供通訊協議,包括異步HTTP接入接出協議,JMS協議等。(2)訪問控制(Control)訪問控制的功能是依據AppMaster下發的訪問控制策略,判斷是否允許請求繼續訪問應用。訪問控制的對象是應用,通過配置策略可以得知應用何時拒絕訪問。用戶請求到達router后,根據要請求的應用名進行訪問控制檢查,并在router進行攔截,避免決拒絕訪問應用的請求進入Nodc。訪問控制策略初步包括應用的生效時間段。(3)云負載均衡(LoadBalance)云負載均衡的功能包括狀態采集、權值計算、負載分配。首先,從NodeAgent獲取應用狀態和節點狀態,然后計算實例權值。當Router傳來負載均衡請求后,根據實例權值分配負載。權值計算策略分為靜態策略和動態策略:●靜態策略:所有實例按照1∶1的比例輪詢;●動態策略:根據權值計算策略,把應用狀態轉換為應用權值,其中,權值計算考慮的因素有,節點平均響應時間,CPU利用率,連接數等。(4)云節點代理(NodeAgent)云節點代理的功能包括:●通過NodeAgent實現管理平臺命令的轉義,屏蔽了操作系統的差異和容器的差異,傳達到應用與服務;●按照管理平臺的命令對資源按照需求進行隔離或共享;●對節點資源信息以及應用或服務占用的資源進行可定義頻率的探測與傳遞。其中,節點代理與資源信息探測功能主要包括:●創建LXC資源隔離容器根據AppMaster傳遞的需求按照,制定最大內存數占用數,制定CPU核心數,創建LXC資源隔離容器。所有部署在容器內的應用或服務,在容器啟動后獨占所分配的內存與CPU資源,實現與其他應用和實例的資源隔離。●刪除LXC資源隔離容器接收到AppMaster傳遞的卸載命令后,卸載LXC資源容器內已部署的應用或服務,并完成所占用CPU、內存、硬盤資源的釋放。●獲取應用/服務安裝包通過AppMaster下達部署指令,由部署指令獲取所需要的驗證信息如,用戶名、密碼,以及安裝資源包所在位置,然后通過FTP、HTTP和共享存儲直接遠程復制的方式,進行資源的主動獲取。●資源監控按照自定義采集頻率提供節點運行狀態,其中,CPU利用率,剩余物理內存數按照自定義采集頻率提供應用/服務狀態;CPU利用率,物理內存占用數,連接數采集采用周期性同步采集,與運行狀態變更觸發主動采集的方式進行監控信息匯總。●快照功能應用或服務部署完成后將應用或服務的狀態與信息從內存中映射到物理存儲上,當狀態改變時進行再次映射。當節點重啟,或動態移植后可根據快照信息,將應用與服務恢復到部署成功狀態,供AppMaster進行調用或回收。(5)應用容器(Container)支持多種應用容器與服務容器,兼容其他程序語言所開發的應用與服務,支持各版本以jetty與tomcat為基礎應用服務器。支持OSGI容器為服務容器,并預留接口兼容其他容器如Weblogic、東方通等。Master下發命令,NodeAgent解析Master命令形成代理節點所能識別的指令,這些指令不但支持Java所需的容器,也能擴展兼容其他語言所需要的容器。NodeAgent本身不與支持的容器有任何語言層面的耦合,通過這些兼容指令NodeAgent與所代理節點進行交互,進而分配節點上的資源,進行節點上的應用或服務的部署,對已部署的應用或服務的控制。(6)云管理(AppMaster)托管的應用主要分為兩種類型,一種為Web應用類型,另外一種為服務類型。Web應用類型為可以通過瀏覽器直接訪問的B/S系統或者網站,服務類型為提供某些功能接口的系統。這兩種類型在平臺里分別對應為應用和服務。通過云管理,可以對應用和服務進行管理操作,包含部署、啟動、停止、卸載、隔離等。當應用或服務啟動后,可以通過Router訪問該應用或服務,并能夠設置可以訪問時間段(訪問控制)。啟動的應用和服務也會根據實際的運行狀態和設置的伸縮策略來動態地調整運行的實例數。當運行時負載過大,則會擴展出實例來均衡負載,當負載下降時,也會...
【技術特征摘要】
【專利技術屬性】
技術研發人員:王燾,李揚,王宗凱,李文君,
申請(專利權)人:神州數碼信息系統有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。