基于云计算的云制造及其初步开发应用

2013-09-07 09:40方水良
中国机械工程 2013年10期
关键词:海量虚拟化电磁

方水良 付 伟

浙江大学,杭州,310027

0 引言

随着云计算各种核心技术的日益发展和成熟,制造领域出现了云制造技术。李伯虎等[1]认为,云制造是一种为用户提供各类按需制造服务的一种网络化制造新模式。杨海成[2]认为,云制造是把“软件即服务”的理念拓展至“制造即服务”,为产品提供高附加值、低成本和全球化制造的服务。目前,国内很多高校与研究所对云制造的服务模式、体系架构、关键技术进行了探索[3-6],结合科技部云制造主题项目。

本文主要探索云制造环境下的资源服务管理及其远程使用的实现方法。利用云计算的核心技术——虚拟化和软件即服务(software as a service,SaaS)技术,构建虚拟机群集及其虚拟桌面池;基于GFS(Google file system)技术以及MySQL的二次开发,研究开发了一种基于云制造平台的云资源管理及其资源匹配调度方法;在.Net环境下,利用PowerShell技术等实现了云制造资源的远程共享。

1 云计算与云制造服务模式对比

云计算服务模式的核心思想是将海量的由网络连接的计算(包括存储)资源统一起来进行管理和调度,构成一个计算资源池向用户提供即时按需服务。云制造服务模式的核心思想是将海量的与产品全生命周期有关的产品论证、设计、生产、仿真、管理等阶段的软硬件资源通过服务化封装,形成一个个制造服务池,并通过云平台进行统一管理和调度,向服务需求企业提供即时按需的制造服务。云制造与云计算的最大不同是所提供的资源服务的不同,除了云计算中的计算和存储等资源服务外,云制造还加入海量的硬软件制造资源(各种加工设备、检测设备、专业设计分析软件、管理软件等)。云制造和云计算服务模式的概要对比如表1所示。

表1 云制造和云计算的初步对比

云制造的关键技术包括云制造模式设计及其平台构建、硬软件制造资源虚拟化及其云端接入、云资源感知和适配、云资源的综合管理和调度使用等。本文针对制造企业的产品设计、仿真、论证、管理等过程中所需要的软件资源的虚拟化及其优化管理、远程共享调用等进行初步研究和应用开发。

2 虚拟化集群及云制造平台架构

云计算中的虚拟化是一个抽象层,它主要将具体的物理硬件与相应的操作管理系统分开,从而提供动态的资源配置及其高效的资源利用能力。目前用于构建虚拟机系统的虚拟化技术已经有很多,如VMware公司的Workstation、ESX Server[7],开源 Xen、KVM、QEMU 等。

VMware公司的VI3(VMware Infrastructure 3)是一种基于X86的企业级服务器虚拟化软件,它由 ESX Server、Virtual Center(VCenter)、Consolidated Backup三个产品组成。ESX Server是虚拟化的基础平台,提供对服务器CPU、存储、网络等硬件资源的管理及虚拟化,虚拟机(VM)运行在ESX Server之上;Virtual Center Management Server是对企业的虚拟架构进行集中管理的控制台,通过它提供的图形界面,可以对企业的虚拟机架构进行配置、监控及优化,管理每台 ESX Server;Consolidated Backup可以实现对虚拟机的集中备份,使虚拟机能够通过一个集中化的代理服务器进行备份。

本文利用VI3解决方案分别建立了架构即服务(infrastructure as a service,IaaS)、平台即服务(platform as a service,PaaS)及 SaaS群集,如图1所示,并基于虚拟机集群构建了初步的云制造服务平台,如图2所示。利用ESX Sever建立多个虚拟基础平台,然后分别在每个虚拟基础平台上建立了多台虚拟机,并利用VCenter集中管理群集中的所有虚拟机;各种制造软件资源存在于虚拟机中,并将各虚拟机文件存储在外部实体存储设备中,以防止资源的丢失。图1所示为本文所构建的基于VI3架构的虚拟机群集,图2所示为基于虚拟机群集的云制造服务平台架构。所构建的云制造平台中,SaaS群集包括2个ESX Server虚拟基础平台,2个基础平台上共运行6台虚拟机(3台提供分布式计算的服务,3台提供远程电磁计算的服务)。

图1 基于VI3架构的虚拟机群集

图2 基于虚拟机群集的云制造服务平台

3 云制造平台软件资源管理和调度

3.1 云资源存储方式及其搜索算法

GFS是Google提出的分布式文件系统,它的主要特点是海量文件数据的安全存储及其高效快捷的查询、读写。一个GFS群集包含一个主服务器和多个文件块服务器;客户端与主服务器只进行少量的元数据交互和操作,而所有具体文件数据访问及其传输通信都是直接和块服务器进行的。借鉴GFS的原理,本文构建了云制造环境下海量云资源的存储方式及其访问搜索算法。

云制造系统中需要管理海量的各种各样的共享硬软件云资源。本文基于开放源代码的关系型数据库系统MySQL,为海量云资源构建了一个主服务器(mainServer)和若干分布式节点服务器(nodeServer)。主服务器存放云平台可提供的所有云资源服务的元数据,每个节点服务器提供相应云资源服务的所有虚拟机的名称、物理地址、状态信息、执行服务的Shell关键代码等。通过上述主服务器和节点服务器上的两套数据库表,可以保证对云制造系统中海量云资源的快速查询和访问。

云资源的存储及其访问架构如图3所示。远程客户根据所需资源服务的类型,首先在主服务器中搜索相应的资源服务类型的状态值State;State=2表示该资源服务使用量已达极限,暂时不能提供该类型的服务,反馈“等待”信息;State=1表示目前云平台可提供相应资源服务,所以从相应的节点服务器中获得该资源服务的详细信息,并形成具体的资源服务命令(Shell代码),以及提供该资源服务的具体虚拟机的物理地址(VM标识)。远程客户根据反馈的Shell代码及相应VM标识信息,执行相应的资源服务。

图3 云服务的存储及其搜索过程

基于上述云资源的存放数据库结构,通过下述findidandshell算法可以实现基于远程客户服务请求的云平台的相应服务检索:

Function findidandshell(服务类型){

Find结点标识 in mainServer while服务类型==mainServer.服务类型;

If结点标识==NULL then

Return“无此类服务”;

If State==2 then

Return“请等待”;

If State==1 then

{get结点标识;

get VMid in nodeServer while mainServer.结点标识 ==nodeServer.结点标识;

Return Shell代码 and VMid;}

}

3.2 制造云资源服务的调度执行

基于远程Web客户端的服务请求的云资源服务的调度执行方法如图4所示。具体通过下述scheduling算法实现:

Function scheduling(远程客户端的服务请求){

findidandshell(远程客户端的服务请求);/*从表中查找需要的信息*/

If findidandshell.result ==无此类服务then

{Return 无此类服务;

end;}

If findidandshell.result ==等待 then

{Return等待;

end;}

If findidandshell.result ==(Shell代码 and VMid)then

{Call TypeCmd(Shell代码 and VMid);

Return service;}}

End function

图4 云资源调度原理图

TypeCmd是云资源服务的调用主程序,它采用VB.Net多线程编程,避免了大量请求情况下TypeC-md服务响应过慢的问题。对于TypeCmd主程序,不同的用户云资源服务请求有不同的“Shell代码”及其“VMid”,它们决定了用户的某个服务请求具体用什么命令,在哪台虚拟机上执行。

如果用户所请求的服务为软件资源服务,那么可以安排到合适的虚拟机运行。虚拟机服务启动后,在VCenter的管理下,可以保证动态迁移和7×24h的可靠运行,而资源使用方并不关注具体是哪台虚拟机在提供服务。当虚拟机中的资源服务结束后,平台获得服务完毕信息并修改相应nodeServer表中的资源服务状态信息。

如果用户所请求的资源服务是机床加工、实物测试一类的硬件资源服务,TypeCmd主程序的执行结果可能是一个短信通知、一个远程的串口通信指令或发给远程硬件设备终端的一份任务单等,用于通知或启动相应的设备(或人员)进行相应的资源服务。

4 基于云制造平台的远程电磁分析服务

电机设计制造过程中,其电磁分析设计是一个关键步骤。Ansoft是一套电机设计软件,包括MAXWELL、SIMPLORER、RMxprt和 PExprt等模块,可用于高频产品、机电产品等的分析设计。本文提供的远程电磁计算服务基于对RMxprt和MAXWELL的调用和操作,研究开发的TypeCmd程序可以利用RMxprt自动生成计算元模型,并自动进行材料等属性的配置,最后自动调用MAXWELL进行电磁分析计算服务。

客户浏览器端发出服务请求,并从云平台获取到相应的Shell代码后,云平台将调用与之对应的TypeCmd程序并执行PowerShell命令,以启动相对应的虚拟机及其包含的应用软件资源。

该资源服务相应的执行主程序(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的内容如下:

Add-PSSnapin Vmware.VimAutomation.core

$Server=Connect-VIServer-Server IP-Protocol https-User用户名-Password密码

Get-vm‘虚拟机名’|start-vm

$LastExitCode

MaxWellCmd.ps1中的以上关键信息来自远程客户端的Shell代码里的动态信息,从而可保证及时启动相应虚拟机上的相应服务。

为了实现远程的电磁计算分析服务,本文通过对Maxwell执行程序的各种配置文件及其输入文件的分析,建立电磁计算的元模型,实现远程客户对该应用软件的客户化参数设置。远程虚拟机启动电磁计算程序时,自动读取远程客户端所输入的电磁计算所需要的各种配置信息,实现电磁计算软件所需要的客户化配置,避免了应用软件的本地化人机对话式操作。

电磁分析计算服务完成之后,其计算结果以两种方式反馈给远程客户:一种是直接将计算完成之后生成的如pwrlos.dat、current.dat等dat文件(文本文件)上传到云平台服务器,供远程客户通过Web浏览器下载;另一种是在Web浏览器端以文本和图形方式直接显示。图5所示为远程客户下载的电磁分析结果数据文件片段及其结果曲线的显示片段。

图5 远程客户下载的数据文件片段及其曲线显示

5 结语

云制造是基于云计算的一种新的制造模式,目前还处于初级发展阶段;如何构建各种云制造服务平台并为分布式客户提供各种制造资源服务还有待深入研究和实践。本文基于VI3架构初步建立了一个云制造服务平台,针对云制造海量资源的管理和调度特别是SaaS服务调度,依据GFS分布式文件存储的原理提出了一种满足云制造要求的云中软件资源管理和调用方法,在一定程度上能快速高效地调度云资源并为远程客户提供资源服务。基于该平台的Ansoft电磁计算软件的远程调用验证了本文所研究方法的可行性。

[1]李伯虎,张霖,王时龙,等.云制造——面向服务的网络化制造新模式[J].计算机集成制造系统,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]杨海成.云制造是一种制造服务[J].中国制造业信息化,2010(3):22-23.

[3]张霖,罗永亮,陶飞,等.制造云构建关键技术研究[J].计算机集成制造系统,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]李伟平,林慧苹,莫同,等.云制造中的关键技术分析[J].制造业自动化,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]王正成,黄洋.面向服务链构建的云制造资源集成共享技术研究[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].中国机械工程,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.

猜你喜欢
海量虚拟化电磁
一种傅里叶域海量数据高速谱聚类方法
瞬变电磁法在煤矿采空区探测中的应用
“充能,发射!”走近高能电磁轨道炮
海量快递垃圾正在“围城”——“绿色快递”势在必行
三维多孔电磁复合支架构建与理化表征
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
浅析虚拟化技术的安全保障
H3C CAS 云计算管理平台上虚拟化安全防护的实现
一个图形所蕴含的“海量”巧题