制造業的全球化、信息化、服務化、虛擬化、標準化、開放化以及近年來
云計算技術的發展,為制造業的發展提供了新的機遇,一種新的制造模式——云制造應運而生。云制造融合了現有的信息化制造技術及云計算、
物聯網、面向服務、高性能計算和智能科學等信息技術,將各類制造資源和制造能力虛擬化、服務化構成云制造資源池,并進行統一的、集中的智能化經營和管理,通過網絡和云制造服務平臺為用戶提供可隨時獲取的、按需使用的、安全可靠的、優質廉價的制造全生命周期服務。
云制造資源虛擬化技術是支撐和構建云制造資源池的核心技術。所謂云制造資源虛擬化,是指通過虛擬化技術來實現物理資源到虛擬資源的透明化映射,由服務提供者對云制造資源進行統一描述,然后加入到云制造資源池中,可在云制造平臺上注冊并供服務使用者查詢和使用。文獻[2]對云制造資源進行了較為詳細的分類,并對資源的虛擬化過程進行了描述,包括資源感知及資源的虛擬接入,但對云端資源虛擬化缺乏詳細的描述;文獻[5]對云制造資源進行概要分類,但缺乏對其特性的描述;文獻[6]對云制造資源虛擬化框架進行了討論,并論述了在虛擬化支持下的云制造關鍵技術,但是缺乏對云端資源虛擬化的具體描述與實現。總體而言,目前云制造資源虛擬化研究尚處于起步階段。
云制造資源服務化主要是實現虛擬資源的服務化封裝并以云服務的形式發布到云制造平臺中,它包括:虛擬資源描述模型構建技術,云服務的統一建模、封裝、注冊與發布,云服務的動態部署與監控技術等。
不同類型的資源虛擬化采用的方法有所不同,但是其虛擬化的目的是一樣的,都是為了后繼的資源服務化和資源利用率的提升。目前較為流行的服務化方法是將資源發布成Web服務,然后統一注冊。云制造資源中的計算資源與云計算的類同,不同之處在于云制造資源不限于計算資源,而是延伸到包括制造設備資源在內的更廣泛的資源,文中正是以制造設備資源的虛擬化和服務化為例來說明云制造資源的虛擬化和服務化問題。為此,文中首先結合云制造服務體系框架,分析云制造資源及其虛擬化的特點,給出制造設備資源描述模型;然后基于CloudSim擴展給出制造設備資源虛擬化模板;最后利用Web服務技術,根據服務組件架構(SCA)框架,在虛擬化的基礎上進一步實現云制造資源的服務化,并用實例加以說明。
1 云制造資源虛擬化描述模型
1.1 云制造資源的分析
云制造是在云計算提供的“基礎設施即服務”、“平臺即服務”和“軟件即服務”基礎上的延伸和發展,它豐富和拓展了云計算的資源共享內容、服務模式和技術。 云制造服務體系的層次化框架主要包括物理資源層、虛擬資源層、服務層、核心功能層和云平臺用戶層等。在虛擬資源層,對相應的云制造資源虛擬化和制造資源感知接人,許多技術能夠被用于制造資源的識別,如射頻識別(
RFID)技術、無線傳感器網絡技術、
物聯網技術、網絡物理系統技術、全球定位系統技術、傳感器數據分類技術、聚類和分析技術以及適配器技術等。而服務層用于將虛擬化的資源封裝成服務發布到云平臺,形成云制造資源池。
云制造的理念與云計算類似,是使用非你所有、無需你維護的制造資源,通過規模經濟降低制造成本。云制造與傳統的制造模式不同,其資源與網格制造資源類似,具有分布性、多樣性、異構性、獨立性、異步協作性和共享性等特點。
不同的云制造資源其屬性有很大的差異,因此在云制造資源虛擬化之前,根據面向服務的思想,按照云制造資源的屬性以及在產品全生命周期活動中發揮的作用,對制造資源進行分類。文中參考現有制造資源分類,將云制造資源分為10大類。
(1)制造設備資源產品全生命周期過程中為云平臺使用者提供云制造服務的生產、加工、實驗等物理設備,可以根據功能將制造設備資源進一步細化為加工設備資源、實驗設備資源等。
(2)計算設備資源支持云制造平臺運行及企業的設計計算、仿真計算的各類服務器、儲存器等設備資源(如高性能計算機、高性能儲存器等)。
(3)軟件資源為產品全生命周期過程中提供設計、分析、仿真等各類軟件(如AutoCAD,PRO/E,ANSYS等)。
(4)物料資源制造任務中制造某種產品所需要的原材料、毛坯和半成品等。
(5)技術資源企業在制造過程中所積累的設計制造、工藝技術、經驗模型、相關標準、產品知識庫等資源。
(6)人力資源在產品全生命周期中,從事操作生成、管理、技術應用等活動的專業技術人員。
(7)服務流程管理資源云制造平臺根據成本最低、時間最短、質量最優等不同的優化目標選擇相適應的優化算法得到優化結果并且匹配服務,實現跨組織的服務流程執行。
(8)用戶信息資源記錄云制造資源提供者和使用者的一些基本信息(如用戶的身份、權限以及好評等記錄),它為以后的云制造資源評估、發現和調用提供依據。
(9)服務資源為云制造資源使用者提供各種培訓、信息咨詢、物流和售后服務等。
(10)其他資源不屬于上述類型的所有資源的集合(如企業運營效率、企業財務信息等)。
1.2云制造資源虛擬化概念
云制造的所有資源對客戶端來說都是虛擬的,客戶端看不到云制造資源的實體,因此云制造提供商需要有一項虛擬化技術來描述云制造資源,讓云制造使用者能夠根據自身需要輕易地通過網絡來調用云制造資源。
在計算機與網絡中,虛擬化是指計算機相關模塊在虛擬的基礎上而不是真實的獨立的物理硬件基礎上運行,是一種為了簡化管理、優化資源的解決方案。云制造資源虛擬化是指針對所建模型進行分析和研究,有選擇地抽取關鍵的要素,建立能夠直觀反映云制造資源結構層次的信息模型以及便于計算機存儲與處理的數據模型。
云制造與制造網格都具有豐富的資源種類及海量的資源。但是,制造網格強調的是分散資源集中使用,其服務模式主要是“多對一”的形式,即多個分布式資源為一個用戶或任務服務。而云制造不僅強調分散資源集中使用,還強調集中資源分散服務,即其服務模式不僅有“多對一”的形式,同時更強調“多對多”,即匯聚分布式資源服務進行集中管理,為多個用戶同時提供服務。制造網格資源共享平臺主要是以網格技術為支撐,平臺拓撲結構較為單一,缺乏靈活性。云制造資源共享平臺則以云計算技術為支撐,其平臺和系統架構更加靈活,伸縮性和擴展性更強。因而云制造平臺使得用戶可以根據應用需求,隨時隨地、動態、敏捷地增減制造資源。
相比于網格制造資源虛擬化,云制造資源虛擬化時必須堅持系統性(充分考慮各種因素的影響,兼顧相關資源領域,以保證云制造資源虛擬化模型的完整性和合理性)、針對性(完全表示一類資源的性質,往往需要大量的屬性,所以需要針對該類資源抽取本質屬性)、適應性(云制造資源虛擬化模型應直觀、易用,便于分類和檢索)、擴展性(由于云制造資源的復雜多樣,因此需要在針對某一大類的資源虛擬化模型的基礎上可擴展描述具體的云制造資源,并可以適應未來的功能擴展需求)、接口統一(在異構分布的制造資源之間實現高效的資源共享和協同工作)、動態性(通過
物聯網的
RFID等實時感知資源狀態)等原則。
文中采用面向對象的方法,對問題領域實行自然分割,按人類認識客觀世界的思維方式來識別和定義云制造資源信息實體,將資源實體定義為對象,而對象的屬性表示為資源的性質。
1.3 制造設備資源虛擬化描述模型
云制造資源虛擬化描述是有關資源共享、資源發現、資源匹配等關鍵環節的重要信息。云制造資源種類繁多,不同種類的資源所包含的信息差別很大。為了簡化、規范云制造資源虛擬化描述,可以對同類資源所包含的信息抽取其中的共同屬性和本質屬性,來定義一個針對該類資源的描述模型,規范云制造資源的描述。
制造這個概念有廣義和狹義之分。廣義上的制造,是指從產品的市場分析,到產品設計、仿真分析、生產加工,從實驗、使用、管理營銷、售后服務到產品報廢等全生命周期的活動;狹義上的制造僅指生產加工。這里以狹義制造為對象,也即主要關注制造設備資源虛擬化。以機械制造為例,生產設備主要有機床設備,根據加工能力和工作效率的不同,可以分為普通機床、數控機床和加工中心;根據加工性質和所用刀具可以分為車床、銑床、磨床、鉆床、拉床、齒輪加工機床、特種加工機床等。針對制造設備資源虛擬化需求,給出的制造設備資源描述模型如圖1所示。
圖1 制造設備資源描述模型
由圖1可見,制造設備資源描述模型為
VirtualMachine=(BasicAttributes,FunctionCharacteristics,ApplicationCharacteristics,State-Attributes),其中,基本屬性(BasicAttributes)用于描述制造設備資源最基本的信息,功能屬性(FunctionCharacteris—tics)是對主要功能的描述,使用屬性(Application—Characteristics)是對資源使用特征相關信息的描述,狀態屬性(StateAttributes)是資源在整個云制造中運行的生命周期情況。
2 基于CloudSim擴展的制造設備資源虛擬化
2.1 制造設備資源虛擬化描述模板
文中將開源軟件CloudSim擴展為云制造資源虛擬化的工具,將物理資源映射為虛擬資源。CloudSim是一款用Java語言編寫,用于云計算仿真的軟件,可利用它提供的Java類以及Java類的繼承拓展來對制造設備資源進行虛擬化描述。
CloudSim中虛擬設備Vm Java類參數主要包括id(資源標識號)、userId(提供者或用戶標識號)、mips(每秒處理的百萬級的機器語言指令數)、pesNumber(CPU數量)、ram(內存)、bw(帶寬)、size(外存)、vmm(虛擬機監控器)、cloudletScheduler(調度策略)等。Vm是CloudSim提供的Java類,用于計算設備資源的虛擬化。而VirtualMaehine是文中定義的Java類,用于制造設備資源的虛擬化。如前所述,計算設備資源只是制造資源分類中的一種,其中的部分參數不適用于制造設備資源的描述,因此在繼承此類的基礎上,結合CloudSim中提供的Java類,根據圖1所示的制造設備資源描述模型,擴展得制造設備資源VirtualMachine的類圖,如圖2所示。
圖2 造設備資源VirtualMachine類圖
圖2所示的Java類為制造設備資源的虛擬化模板,云制造資源提供者可以根據虛擬設備提供的內部接口自定義制造設備資源。針對具有特色功能屬性的設備,云制造資源提供者可在此基礎上繼承擴展,引申為新的模板。
2.2 數控銑床虛擬化描述實例
以某公司擁有的北京第一機床廠制造的數控立式銑床XKA715為例進行虛擬化描述。該機床適用于各種復雜曲面零件的加工,特別適用于模具加工,其工作臺寬×長為520 mm×1 250 mm,X軸、Y軸和Z軸行程分別為920、520和550mm。該廠的工人使用該設備能達到的最高加工精度為0.02 mm、最高表面粗糙度為3.2,該設備的使用價格是40元/h,有效期限為2008年到2013年,當前狀態為空閑。則該設備虛擬化程序代碼如下:
public class Milling{
String name=“數控立式銑床”;
String type=“XKA715”;
String mainfunetion=“適用于各種復雜曲面零件的加工,特別適用于模具加工”;
String manufacturer=“北京第一機床廠”;
String provider=“廣州XX有限公司”;
String location=“廣州”;
String phonenumber=“020一XXXXXXXX”;
BasicAttributes BA=new
BasicAttributes(name,type,mainfunction,
manufacturer,provider,location,phonenumber);
int mainpp=500;
int secondpp=0;
int axesnumber=3;
int spindletrave=550;
String tablesize=“500*1250”;
String tabletravel=“900*520”;
String cstype=“數控”;
String machiningaccuracy=“0.02”;
String surfaceroughness=“3.2”;
int processingcapacity=10;
FunetionCharacteristics FC=new
FunctionCharacteristics(mainpp,secondpp,axesnumber,spindletrave,tablesize,tabletravel,cstype,
machiningaccuracy,surfaceroughness,processingcapacity);
String validtime=“2008--2013年”;
double cost=40;
String usdegree=“good”;
ApplicationCharacteristics AC=new
ApplicationCharacteristics(validtime,cost,usdegree);
String currentstate=“空閑”;
Listcompletedtask=null;
Listqueuetask=null;
StateAttributes SA=new
StateAttributes(currentstate,completedtask,queuetask);
int id=1;
int userld=1;
int mips=0;
long size=0;
int ram=0;
long bw=0;
int pesNumber=0;
String vmm=null;
VirtualMachine vm_milling 2new VirtualMachine(id,userId,mips,pesNumber,ram,bw,size,vmm,new CloudletSchedulerTimeShared(),BA,FC,AC,SA);
...
}
其中,vm_milling是該虛擬機的名稱,BA對應的是基本屬性,FC對應的是功能屬性,AC對應的是使用屬性,SA對應的是狀態屬性.并且將父類Vm中沒有用到的參數值設置為默認的0或者null。
3制造設備資源服務化
云制造資源提供者通過對虛擬化資源進行服務化封裝、發布等操作,形成云服務;然后將云服務發布到服務注冊中心,供服務請求者查詢和使用。文中采用Web服務技術來實現云制造資源服務化,利用Apache Tuscany SCA來開發Web服務,采用WSDL(Web服務描述語言)來描述Web服務。
3.1 服務組件架構
服務組件架構(SCA)提供了一套可構建基于面向服務的應用系統的編程模型,它的核心概念是服務及其相關實現。Tuscany SCA是一個基于SCA標準的開源項目,它支持Ajax綁定、Java消息服務(JMS)綁定、JSON—RPC綁定、遠程方法調用(RMI)綁定和Web服務綁定.SCA組件的圖形示例如圖3所示。
圖3 SCA組件圖形示例
圖3中的組件有3個屬性、對外開放訪問的2個服務接口和2個引用。組件是SCA裝配和表達業務功能的基本單元,可以通過Java、BPEL、C++等技術實現,它可以提供服務,也可引用其他組件.“屬性”是對組件實現外部數據的注入;“引用”用于引用其他組件和組合;“服務”是采用一定協議和訪問方式為組件或組合提供訪問接口和綁定,以供其他組件和組合或外部程序訪問。
與Apache Axis2相比,在Tuscany SCA中開發Web Service,關鍵在于編寫簡單的Java對象(POJO)類與編寫。composite配置文件。在配置文件中使用(binging.WS)標簽將服務綁定為Web Service,其中uri屬性給出綁定后的Web Service訪問的通用資源標志符(URI)。
3.2制造設備資源服務化實例
現有一個零件,它需要經過銑削、鉆孔、磨削3臺機床加工成成品。采用前述給出的制造設備資源虛擬化模板對這3臺機床設備進行虛擬化,分別得到vm_milling(銑床),vm_dfilling(鉆床)和vm—grinding(磨床)。虛擬化設備再經服務化后,通過SCA工具Tuscany SCA將它們組合成為一個構件,如圖4所示,此時可將構件發布為Web服務,注冊到云制造平臺供調用。
圖4 加工服務
在Machining.composite的配置文件中通過(binding.ws>標簽將標簽將服務綁定為Web Ser—vice,綁定后的Web Service訪問URI是http://local-host:8080/Machining。啟動SCA服務之后,在瀏覽器中輸入http://localhost:8080:Machining?wsdl,可以看到此WebService的wsdl內容。云制造資源提供者可以根據wsdl文件將服務注冊到云制造平臺的服務注冊中心.文中采用開源注冊表WS02 Governance Registry進行存儲、分類、索引和管理服務,與服務統一描述、發現與集成協議(UDDI)相比,WS02注冊表使用較為簡單;而UDDI的術語相當復雜,它的動態發現功能缺乏遠見,目前并沒有得到理想的應用.將上文開發的Web Service注冊到WS02注冊表中,如圖5所示。
圖5 服務注冊表
云制造資源使用者可以通過標簽和過濾文件等方式,在WS02注冊表中查找所需服務。某資源使用者有一個零件需要經過銑削、鉆孔、磨削3臺機床加工成成品,通過注冊表查找到上述服務,該零件在3臺機床上分別需要耗時0.5、0.4、1.5h。利用Java編寫客戶端代碼,其調用服務的結果如圖6所示。
圖6 服務調用結果
4 結語
討論了云制造資源虛擬化的原則——系統性、針對性、適應性、擴展性、接口統一和動態性;進而以制造設備資源為例,分析其虛擬化描述模型,并通過擴展開源軟件CloudSim中Vm類給出了制造設備資源虛擬化模板;最后以零件加工為例,利用ApacheTuscany SCA來進一步實現虛擬化資源的服務化,并簡述了服務的注冊及調用。下一步可利用虛擬化制造資源在CloudSim或其他平臺上進行實驗,根據成本最低、時間最短、質量最優等不同的優化目標對云制造資源進行優化配置。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:云制造資源的虛擬化與服務化
本文網址:http://www.guhuozai8.cn/html/consultation/10839710064.html