方水良 付 偉
浙江大學(xué),杭州,310027
隨著云計(jì)算各種核心技術(shù)的日益發(fā)展和成熟,制造領(lǐng)域出現(xiàn)了云制造技術(shù)。李伯虎等[1]認(rèn)為,云制造是一種為用戶提供各類按需制造服務(wù)的一種網(wǎng)絡(luò)化制造新模式。楊海成[2]認(rèn)為,云制造是把“軟件即服務(wù)”的理念拓展至“制造即服務(wù)”,為產(chǎn)品提供高附加值、低成本和全球化制造的服務(wù)。目前,國內(nèi)很多高校與研究所對云制造的服務(wù)模式、體系架構(gòu)、關(guān)鍵技術(shù)進(jìn)行了探索[3-6],結(jié)合科技部云制造主題項(xiàng)目。
本文主要探索云制造環(huán)境下的資源服務(wù)管理及其遠(yuǎn)程使用的實(shí)現(xiàn)方法。利用云計(jì)算的核心技術(shù)——虛擬化和軟件即服務(wù)(software as a service,SaaS)技術(shù),構(gòu)建虛擬機(jī)群集及其虛擬桌面池;基于GFS(Google file system)技術(shù)以及MySQL的二次開發(fā),研究開發(fā)了一種基于云制造平臺(tái)的云資源管理及其資源匹配調(diào)度方法;在.Net環(huán)境下,利用PowerShell技術(shù)等實(shí)現(xiàn)了云制造資源的遠(yuǎn)程共享。
云計(jì)算服務(wù)模式的核心思想是將海量的由網(wǎng)絡(luò)連接的計(jì)算(包括存儲(chǔ))資源統(tǒng)一起來進(jìn)行管理和調(diào)度,構(gòu)成一個(gè)計(jì)算資源池向用戶提供即時(shí)按需服務(wù)。云制造服務(wù)模式的核心思想是將海量的與產(chǎn)品全生命周期有關(guān)的產(chǎn)品論證、設(shè)計(jì)、生產(chǎn)、仿真、管理等階段的軟硬件資源通過服務(wù)化封裝,形成一個(gè)個(gè)制造服務(wù)池,并通過云平臺(tái)進(jìn)行統(tǒng)一管理和調(diào)度,向服務(wù)需求企業(yè)提供即時(shí)按需的制造服務(wù)。云制造與云計(jì)算的最大不同是所提供的資源服務(wù)的不同,除了云計(jì)算中的計(jì)算和存儲(chǔ)等資源服務(wù)外,云制造還加入海量的硬軟件制造資源(各種加工設(shè)備、檢測設(shè)備、專業(yè)設(shè)計(jì)分析軟件、管理軟件等)。云制造和云計(jì)算服務(wù)模式的概要對比如表1所示。
表1 云制造和云計(jì)算的初步對比
云制造的關(guān)鍵技術(shù)包括云制造模式設(shè)計(jì)及其平臺(tái)構(gòu)建、硬軟件制造資源虛擬化及其云端接入、云資源感知和適配、云資源的綜合管理和調(diào)度使用等。本文針對制造企業(yè)的產(chǎn)品設(shè)計(jì)、仿真、論證、管理等過程中所需要的軟件資源的虛擬化及其優(yōu)化管理、遠(yuǎn)程共享調(diào)用等進(jìn)行初步研究和應(yīng)用開發(fā)。
云計(jì)算中的虛擬化是一個(gè)抽象層,它主要將具體的物理硬件與相應(yīng)的操作管理系統(tǒng)分開,從而提供動(dòng)態(tài)的資源配置及其高效的資源利用能力。目前用于構(gòu)建虛擬機(jī)系統(tǒng)的虛擬化技術(shù)已經(jīng)有很多,如VMware公司的Workstation、ESX Server[7],開源 Xen、KVM、QEMU 等。
VMware公司的VI3(VMware Infrastructure 3)是一種基于X86的企業(yè)級(jí)服務(wù)器虛擬化軟件,它由 ESX Server、Virtual Center(VCenter)、Consolidated Backup三個(gè)產(chǎn)品組成。ESX Server是虛擬化的基礎(chǔ)平臺(tái),提供對服務(wù)器CPU、存儲(chǔ)、網(wǎng)絡(luò)等硬件資源的管理及虛擬化,虛擬機(jī)(VM)運(yùn)行在ESX Server之上;Virtual Center Management Server是對企業(yè)的虛擬架構(gòu)進(jìn)行集中管理的控制臺(tái),通過它提供的圖形界面,可以對企業(yè)的虛擬機(jī)架構(gòu)進(jìn)行配置、監(jiān)控及優(yōu)化,管理每臺(tái) ESX Server;Consolidated Backup可以實(shí)現(xiàn)對虛擬機(jī)的集中備份,使虛擬機(jī)能夠通過一個(gè)集中化的代理服務(wù)器進(jìn)行備份。
本文利用VI3解決方案分別建立了架構(gòu)即服務(wù)(infrastructure as a service,IaaS)、平臺(tái)即服務(wù)(platform as a service,PaaS)及 SaaS群集,如圖1所示,并基于虛擬機(jī)集群構(gòu)建了初步的云制造服務(wù)平臺(tái),如圖2所示。利用ESX Sever建立多個(gè)虛擬基礎(chǔ)平臺(tái),然后分別在每個(gè)虛擬基礎(chǔ)平臺(tái)上建立了多臺(tái)虛擬機(jī),并利用VCenter集中管理群集中的所有虛擬機(jī);各種制造軟件資源存在于虛擬機(jī)中,并將各虛擬機(jī)文件存儲(chǔ)在外部實(shí)體存儲(chǔ)設(shè)備中,以防止資源的丟失。圖1所示為本文所構(gòu)建的基于VI3架構(gòu)的虛擬機(jī)群集,圖2所示為基于虛擬機(jī)群集的云制造服務(wù)平臺(tái)架構(gòu)。所構(gòu)建的云制造平臺(tái)中,SaaS群集包括2個(gè)ESX Server虛擬基礎(chǔ)平臺(tái),2個(gè)基礎(chǔ)平臺(tái)上共運(yùn)行6臺(tái)虛擬機(jī)(3臺(tái)提供分布式計(jì)算的服務(wù),3臺(tái)提供遠(yuǎn)程電磁計(jì)算的服務(wù))。
圖1 基于VI3架構(gòu)的虛擬機(jī)群集
圖2 基于虛擬機(jī)群集的云制造服務(wù)平臺(tái)
GFS是Google提出的分布式文件系統(tǒng),它的主要特點(diǎn)是海量文件數(shù)據(jù)的安全存儲(chǔ)及其高效快捷的查詢、讀寫。一個(gè)GFS群集包含一個(gè)主服務(wù)器和多個(gè)文件塊服務(wù)器;客戶端與主服務(wù)器只進(jìn)行少量的元數(shù)據(jù)交互和操作,而所有具體文件數(shù)據(jù)訪問及其傳輸通信都是直接和塊服務(wù)器進(jìn)行的。借鑒GFS的原理,本文構(gòu)建了云制造環(huán)境下海量云資源的存儲(chǔ)方式及其訪問搜索算法。
云制造系統(tǒng)中需要管理海量的各種各樣的共享硬軟件云資源。本文基于開放源代碼的關(guān)系型數(shù)據(jù)庫系統(tǒng)MySQL,為海量云資源構(gòu)建了一個(gè)主服務(wù)器(mainServer)和若干分布式節(jié)點(diǎn)服務(wù)器(nodeServer)。主服務(wù)器存放云平臺(tái)可提供的所有云資源服務(wù)的元數(shù)據(jù),每個(gè)節(jié)點(diǎn)服務(wù)器提供相應(yīng)云資源服務(wù)的所有虛擬機(jī)的名稱、物理地址、狀態(tài)信息、執(zhí)行服務(wù)的Shell關(guān)鍵代碼等。通過上述主服務(wù)器和節(jié)點(diǎn)服務(wù)器上的兩套數(shù)據(jù)庫表,可以保證對云制造系統(tǒng)中海量云資源的快速查詢和訪問。
云資源的存儲(chǔ)及其訪問架構(gòu)如圖3所示。遠(yuǎn)程客戶根據(jù)所需資源服務(wù)的類型,首先在主服務(wù)器中搜索相應(yīng)的資源服務(wù)類型的狀態(tài)值State;State=2表示該資源服務(wù)使用量已達(dá)極限,暫時(shí)不能提供該類型的服務(wù),反饋“等待”信息;State=1表示目前云平臺(tái)可提供相應(yīng)資源服務(wù),所以從相應(yīng)的節(jié)點(diǎn)服務(wù)器中獲得該資源服務(wù)的詳細(xì)信息,并形成具體的資源服務(wù)命令(Shell代碼),以及提供該資源服務(wù)的具體虛擬機(jī)的物理地址(VM標(biāo)識(shí))。遠(yuǎn)程客戶根據(jù)反饋的Shell代碼及相應(yīng)VM標(biāo)識(shí)信息,執(zhí)行相應(yīng)的資源服務(wù)。
圖3 云服務(wù)的存儲(chǔ)及其搜索過程
基于上述云資源的存放數(shù)據(jù)庫結(jié)構(gòu),通過下述findidandshell算法可以實(shí)現(xiàn)基于遠(yuǎn)程客戶服務(wù)請求的云平臺(tái)的相應(yīng)服務(wù)檢索:
Function findidandshell(服務(wù)類型){
Find結(jié)點(diǎn)標(biāo)識(shí) in mainServer while服務(wù)類型==mainServer.服務(wù)類型;
If結(jié)點(diǎn)標(biāo)識(shí)==NULL then
Return“無此類服務(wù)”;
If State==2 then
Return“請等待”;
If State==1 then
{get結(jié)點(diǎn)標(biāo)識(shí);
get VMid in nodeServer while mainServer.結(jié)點(diǎn)標(biāo)識(shí) ==nodeServer.結(jié)點(diǎn)標(biāo)識(shí);
Return Shell代碼 and VMid;}
}
基于遠(yuǎn)程Web客戶端的服務(wù)請求的云資源服務(wù)的調(diào)度執(zhí)行方法如圖4所示。具體通過下述scheduling算法實(shí)現(xiàn):
Function scheduling(遠(yuǎn)程客戶端的服務(wù)請求){
findidandshell(遠(yuǎn)程客戶端的服務(wù)請求);/*從表中查找需要的信息*/
If findidandshell.result ==無此類服務(wù)then
{Return 無此類服務(wù);
end;}
If findidandshell.result ==等待 then
{Return等待;
end;}
If findidandshell.result ==(Shell代碼 and VMid)then
{Call TypeCmd(Shell代碼 and VMid);
Return service;}}
End function
圖4 云資源調(diào)度原理圖
TypeCmd是云資源服務(wù)的調(diào)用主程序,它采用VB.Net多線程編程,避免了大量請求情況下TypeC-md服務(wù)響應(yīng)過慢的問題。對于TypeCmd主程序,不同的用戶云資源服務(wù)請求有不同的“Shell代碼”及其“VMid”,它們決定了用戶的某個(gè)服務(wù)請求具體用什么命令,在哪臺(tái)虛擬機(jī)上執(zhí)行。
如果用戶所請求的服務(wù)為軟件資源服務(wù),那么可以安排到合適的虛擬機(jī)運(yùn)行。虛擬機(jī)服務(wù)啟動(dòng)后,在VCenter的管理下,可以保證動(dòng)態(tài)遷移和7×24h的可靠運(yùn)行,而資源使用方并不關(guān)注具體是哪臺(tái)虛擬機(jī)在提供服務(wù)。當(dāng)虛擬機(jī)中的資源服務(wù)結(jié)束后,平臺(tái)獲得服務(wù)完畢信息并修改相應(yīng)nodeServer表中的資源服務(wù)狀態(tài)信息。
如果用戶所請求的資源服務(wù)是機(jī)床加工、實(shí)物測試一類的硬件資源服務(wù),TypeCmd主程序的執(zhí)行結(jié)果可能是一個(gè)短信通知、一個(gè)遠(yuǎn)程的串口通信指令或發(fā)給遠(yuǎn)程硬件設(shè)備終端的一份任務(wù)單等,用于通知或啟動(dòng)相應(yīng)的設(shè)備(或人員)進(jìn)行相應(yīng)的資源服務(wù)。
電機(jī)設(shè)計(jì)制造過程中,其電磁分析設(shè)計(jì)是一個(gè)關(guān)鍵步驟。Ansoft是一套電機(jī)設(shè)計(jì)軟件,包括MAXWELL、SIMPLORER、RMxprt和 PExprt等模塊,可用于高頻產(chǎn)品、機(jī)電產(chǎn)品等的分析設(shè)計(jì)。本文提供的遠(yuǎn)程電磁計(jì)算服務(wù)基于對RMxprt和MAXWELL的調(diào)用和操作,研究開發(fā)的TypeCmd程序可以利用RMxprt自動(dòng)生成計(jì)算元模型,并自動(dòng)進(jìn)行材料等屬性的配置,最后自動(dòng)調(diào)用MAXWELL進(jìn)行電磁分析計(jì)算服務(wù)。
客戶瀏覽器端發(fā)出服務(wù)請求,并從云平臺(tái)獲取到相應(yīng)的Shell代碼后,云平臺(tái)將調(diào)用與之對應(yīng)的TypeCmd程序并執(zhí)行PowerShell命令,以啟動(dòng)相對應(yīng)的虛擬機(jī)及其包含的應(yīng)用軟件資源。
該資源服務(wù)相應(yīng)的執(zhí)行主程序(TypeCmd程序)的偽代碼如下:
Dim thread1 As New System.Threading.Thread(AddressOf qidong)
thread1.Start()
Private Sub qidong()
Shell("C:WINDOWSsystem32windowspowershellv1.0powershell.exe -noe_
C:MaxWellCmd.ps1",vbMaximizedFocus)
End Sub
MaxWellCmd.ps1的內(nèi)容如下:
Add-PSSnapin Vmware.VimAutomation.core
$Server=Connect-VIServer-Server IP-Protocol https-User用戶名-Password密碼
Get-vm‘虛擬機(jī)名’|start-vm
$LastExitCode
MaxWellCmd.ps1中的以上關(guān)鍵信息來自遠(yuǎn)程客戶端的Shell代碼里的動(dòng)態(tài)信息,從而可保證及時(shí)啟動(dòng)相應(yīng)虛擬機(jī)上的相應(yīng)服務(wù)。
為了實(shí)現(xiàn)遠(yuǎn)程的電磁計(jì)算分析服務(wù),本文通過對Maxwell執(zhí)行程序的各種配置文件及其輸入文件的分析,建立電磁計(jì)算的元模型,實(shí)現(xiàn)遠(yuǎn)程客戶對該應(yīng)用軟件的客戶化參數(shù)設(shè)置。遠(yuǎn)程虛擬機(jī)啟動(dòng)電磁計(jì)算程序時(shí),自動(dòng)讀取遠(yuǎn)程客戶端所輸入的電磁計(jì)算所需要的各種配置信息,實(shí)現(xiàn)電磁計(jì)算軟件所需要的客戶化配置,避免了應(yīng)用軟件的本地化人機(jī)對話式操作。
電磁分析計(jì)算服務(wù)完成之后,其計(jì)算結(jié)果以兩種方式反饋給遠(yuǎn)程客戶:一種是直接將計(jì)算完成之后生成的如pwrlos.dat、current.dat等dat文件(文本文件)上傳到云平臺(tái)服務(wù)器,供遠(yuǎn)程客戶通過Web瀏覽器下載;另一種是在Web瀏覽器端以文本和圖形方式直接顯示。圖5所示為遠(yuǎn)程客戶下載的電磁分析結(jié)果數(shù)據(jù)文件片段及其結(jié)果曲線的顯示片段。
圖5 遠(yuǎn)程客戶下載的數(shù)據(jù)文件片段及其曲線顯示
云制造是基于云計(jì)算的一種新的制造模式,目前還處于初級(jí)發(fā)展階段;如何構(gòu)建各種云制造服務(wù)平臺(tái)并為分布式客戶提供各種制造資源服務(wù)還有待深入研究和實(shí)踐。本文基于VI3架構(gòu)初步建立了一個(gè)云制造服務(wù)平臺(tái),針對云制造海量資源的管理和調(diào)度特別是SaaS服務(wù)調(diào)度,依據(jù)GFS分布式文件存儲(chǔ)的原理提出了一種滿足云制造要求的云中軟件資源管理和調(diào)用方法,在一定程度上能快速高效地調(diào)度云資源并為遠(yuǎn)程客戶提供資源服務(wù)?;谠撈脚_(tái)的Ansoft電磁計(jì)算軟件的遠(yuǎn)程調(diào)用驗(yàn)證了本文所研究方法的可行性。
[1]李伯虎,張霖,王時(shí)龍,等.云制造——面向服務(wù)的網(wǎng)絡(luò)化制造新模式[J].計(jì)算機(jī)集成制造系統(tǒng),2010,16(1):1-7.Li Bohu,Zhang Lin,Wang Shilong,et al.Cloud Manufacturing:a New Service-oriented Networked Manufacturing Model[J].Computer Integrated Manufacturing System,2010,16(1):1-7.
[2]楊海成.云制造是一種制造服務(wù)[J].中國制造業(yè)信息化,2010(3):22-23.
[3]張霖,羅永亮,陶飛,等.制造云構(gòu)建關(guān)鍵技術(shù)研究[J].計(jì)算機(jī)集成制造系統(tǒng),2010,16(11):2510-2520.Zhang Lin,Luo Yongliang,Tao Fei,et al.Key Technologies for the Construction of Manufacturing Cloud[J].Computer Integrated Manufacturing System,2010,16(11):2510-2520.
[4]李偉平,林慧蘋,莫同,等.云制造中的關(guān)鍵技術(shù)分析[J].制造業(yè)自動(dòng)化,2011,33(1):7-10.Li Weiping,Lin Huiping,Mo Tong,et al.The Technologies in Cloud Manufacturing[J].Manufacturing Automation,2011,33(1):7-10.
[5]王正成,黃洋.面向服務(wù)鏈構(gòu)建的云制造資源集成共享技術(shù)研究[J].中國機(jī)械工程,2012,23(11):1324-1331.Wang Zhengcheng,Huang Yang.Research on Integration Sharing Technology of Cloud Manufacturing Resource Oriented to Service Chain Construction[J].China Mechanical Engineering,2012,23(11):1324-1331.
[6]鄧朝暉,劉偉,吳錫興,等.基于云計(jì)算的智能磨削云平臺(tái)的研究與應(yīng)用[J].中國機(jī)械工程,2012,23(1):65-68.Deng Zhaohui,Liu Wei,Wu Xixing,et al.Research and Application of Intelligent Grinding Cloud Platform Based on Cloud Computing[J].China Mechanical Engineering,2012,23(1):65-68.
[7]VMware Inc.VMware Infrastructure[EB/OL].[2011-12-07].http://www.vmware.com/support/productsupport/vi3.html.