摘 要: 云制造环境中存在大量功能相同或相似的资源,使得用户很难获得符合需求的资源。针对这个关键问题,对云制造环境下基于功能需求的资源发现进行了研究,提出了一种云制造资源发现框架。首先对云制造资源进行形式化描述,并分别计算语义相似性,然后进行加权相似度计算,最后采用聚类技术,从功能相似角度对资源进行聚类预处理,从而降低资源查找空间,提高资源发现效率。通过实验验证了所提方法的有效性。
关键词: 云制造;功能需求;资源发现;语义相似
为了从根本上解决我国制造业普遍存在的制造能力重复建设和不均衡、资源闲置和资源瓶颈并存的问题,人们在ASP、制造网格、敏捷制造和众包制造的基础上提出了云制造的概念。李伯虎院士指出,云制造是一种利用网络和云制造服务平台,按用户需求组织网上制造资源,为用户提供各类按需制造服务的一种网络化制造新模式[1]。云制造作为一种基于知识、面向服务、高效低碳的网络化制造新模式,强调产品全生命周期中各类制造资源的整合与高度共享,在云制造环境中,资源提供者把自己闲置的制造资源通过智能感知并虚拟化接入云制造平台、经过服务化后以服务的形式发布到云制造平台,资源使用者通过向云制造服务平台提出资源请求,实现动态按需地使用各类制造资源[2]。
随着云制造技术的应用与普及,云制造平台中资源数量急剧增加,面对庞大的资源群,如何发现符合需求的资源,实现资源智能高效的匹配成为云制造技术进一步发展的重大瓶颈。因此,在云制造环境下进行资源发现技术的研究,对于云制造服务平台的实施和开展具有重要意义。当前有关云制造的研究主要是集中在概念、体系结构、关键技术[3]等方面,有关云制造环境下资源发现的研究并不多,但是已有文献中关于网格资源和服务发现的研究值得借鉴。王真等人[4]提出了一种基于资源本体的Web服务发现与组合方法,通过分析服务输入输出关系,建立了一种逐级查找的Web服务组合方法,具有较高的组合质量和效率;姚清等人[5]提出服务行为的概念,并对其进行语义标注,然后再比较服务相似度,实验表明该算法能够有效提高服务发现效率。另外,高翔等人[6]提出了一种基于功能匹配的服务资源选择算法,在概念结构匹配的基础上,考虑输入输出间的不同,使得机器人能够根据任务需求,从分布式资源环境中快速查找到符合需求的服务;郭皓明等人[7]指出功能需求是应用流程所需服务功能的基本逻辑描述单元,针对SOA环境中资源聚合的特点,提出了一种以功能需求为驱动的资源聚合方法。总体来说,现有研究一般都是直接查找制造资源及其服务,比较输入输出关系,而没有对资源及其服务预处理,在数量庞大的情况下,这样无疑会消耗大量时间。
本文将聚类技术引入到云制造环境中,并对云制造环境下资源的功能需求进行定义和语义描述。在资源功能需求的基础上,构建一种云制造资源发现框架,对云制造环境下的资源发现进行研究。
1 云制造资源发现框架
云制造资源是指涉及制造行业相关企业的一切活动和产品全生命周期的所有资源的总称,云制造系统中的成员并无太多交互,用户提交的资源请求要通过云制造服务平台来寻找,为了快速发现符合需求的资源,本文提出了一种基于功能需求的云制造资源发现框架,如图1所示。在该框架中,资源提供者将自身所拥有的空闲资源(包括硬制造资源、软制造资源等)发布注册到云制造资源池,然后平台根据资源功能属性对资源池中的所有资源进行聚类。资源使用者通过云制造服务平台发出资源请求,需求解析器则对请求进行需求分析,将功能需求与资源池中的资源进行比较,最后将所得到的结果返回给用户。
云制造环境下,资源具有动态性、异构性、数目庞大、类型广泛等特点,为支持资源的快速查找与精确匹配,首先对云制造资源的功能信息进行了语义描述。
定义1 功能需求是云制造中表征资源功能的基本逻辑描述单元,可以用输入、输出等进行定义,将资源功能需求抽象为以下三元组:
Res=(Des,In,Out)
其中,Des表示资源的基本描述信息,In表示资源的输入集合,Out表示资源的输出集合,Des、In、Out都用本体进行标注。为简单起见,本文假定存在一个共享的本体库,云制造平台中的所有资源都基于该本体库进行描述。
2 基于功能需求的资源聚类
云制造服务平台中,很多资源都能完成相似的功能,虽然这些资源或许属性会有所不同,但是具有相近的语义信息,因此,预先对这些资源进行聚类预处理,可以使资源发现效率更为高效。本节从资源的功能需求出发,充分考虑其语义信息,并计算其相似度,从而对云制造资源池中的海量资源进行聚类。
假设存在两个制造资源Resi和Resj,下面对它们的功能需求基本描述(Desi、Desj)、输入(Ini、Inj)和输出(Outi、Outj)进行相似度计算。
2.1 语义相似度
本体是对领域知识概念的抽象,通过定义概念以及概念与概念之间的关系来描述语义信息,本文采用下面的方式来定义语义相似度。
2.3 输入参数的相似性
云制造环境下,资源种类繁多功能各异,资源之间因其使用方式、客户需求等不同而存在很大差异,因此,为了准确表示某一资源的功能,通常大多数资源的输入都是由一组参数来进行描述的。这里假定各自输入参数为Ini={ini1,ini2,…}和Inj={inj1,inj2,…},在有多个参数的情况下,就不能直接运用上面公式来求解。考虑到每一个参数都是对应于本体库中的一个概念,可以先对这些参数进行两两配对,在此基础上再进行相似度计算。图3是假设两组参数之间可能存在的配对情况,可以看出,每一个参数都可能与另外一组的输入参数进行配对,因此,需要从这些配对组合中找到配对程度最高的组合,也就是最优配对。图4是一种可能的配对结果。
2.5 综合相似度计算
前面已经对资源功能属性的3个方面进行了相似度计算,则资源之间的相似度就可以用如下公式表示:
Sim(Resi、Resj)=w1Sim(Desi、Desj)+w2Sim(Ini、Inj)+w3Sim(Outi、Outj)
其中,w1、w2、w3分别表示基本描述、输入参数、输出参数三者在资源功能描述中所占的权重,并且w1+w2+w13=1,0≤w1,w2,w3≤1。
至此,云制造环境下基于功能属性的资源相似度已经计算完毕,接下来只需要对资源池中的所有资源进行两两相似性计算,从而实现基于功能属性的资源聚类。聚类技术当前已经发展得比较成熟,其方法就是根据相似度将资源池中的资源不断聚合,形成越来越多的类,直到不能聚合或者满足一定条件为止,至于具体过程,这里就不再介绍,直接运用当前已经存在的方法[9-10]即可。
3 云制造资源发现算法
云制造环境下资源规模和数量庞大,再加上资源种类繁多,这就使得云制造环境下的资源发现存在很大困难,因此,先对资源进行聚类预处理,将与资源请求完全不匹配的资源过滤掉,这样就可以避免和一些相似度较低的资源进行匹配计算,大幅度降低了资源匹配的时间。在聚类预处理的基础上,本节对基于功能属性的资源发现算法进行研究。
用户向云制造服务平台提交资源请求,平台则对请求进行功能需求分析,然后将功能需求信息与已有资源的功能属性进行语义比较。为了让已有资源与请求资源顺利匹配,本文作如下约定:
(1)已有资源的输出能够满足资源请求的输出;
(2)资源请求的输入能够满足已有资源的输入。
上面两点概括来讲就是,平台所需要的资源输入必须由用户提供,而用户所需要的返回结果则必须由平台已有资源来进行输出。
在资源功能聚类的基础上,如果查找某一资源符合用户请求的需求,那么该资源所在聚类的其他资源满足用户需求的可能性要高很多,如果不符合需求,那么该聚类其他资源符合的可能性就很低,就可以将这个聚类忽略掉。通过这样的聚类预处理,资源发现的复杂度将大大降低。整个资源发现算法流程大致如下。
输入:基于功能需求的资源聚类集合C={C1,C2,…,Cn},资源请求Req=(RIn,ROut);
输出:功能匹配的资源集合S;
(1)令集合S元素个数为0,即S=Φ;
(2)任取一个新的Ci∈C;status=0;
(3)任取一个新的Resj=(Inj,Outj)∈Ci,将Req与Resj中的参数进行语义比较,若对Ci中的所有资源比较完毕,则转步骤(8),否则转步骤(4);
(4)对Req与Resj的输出参数进行匹配,若能匹配,则转步骤(5),否则转步骤(7);
(5)对Req与Resj的输入参数进行匹配,若能匹配,则转步骤(6),否则转步骤(7);
(6)S=S∪{Req},令status=1,转步骤(3);
(7)若status=1,转步骤(3),否则转步骤(2);
(8)输出集合S,结束。
假设云制造资源池中有N个资源,如果直接查找,需要对所有资源遍历N次。采用聚类预处理后,复杂性将降为O(M+N/M),其中M为预处理后的聚类个数。
4 实验验证
鉴于目前没有可靠的相关标准平台和测试数据集,本文对服装行业产品制造全生命周期中涉及的制造资源(如各种物料、不同工种的人力资源等)进行模拟实验,生成测试用例,从测试的角度看,模拟生成的数据与真实情况并无差别,不影响实验结论。为测试方便,实验首先模拟构建领域本体,并分别模拟生成200、400、600、800、1 000个资源,同时资源的输入输出参数个数为1~10个。
在本文提出的方法和没有进行聚类预处理直接查找这两种情况下,对于某一特定的资源请求,分别在资源池中寻找符合需求的资源,若找到,则计算查询时间以及查找到的资源个数,并分别在不同数目候选资源情况下进行实验,实验结果如图5和图6所示。
仿真实验表明,采用聚类预处理查询到符合需求资源所用时间远远低于直接查找的时间,平均查询时间大大降低;同时采用聚类预处理所查找到的资源数目也更少,说明了本文所提出的方法更精确。另外也可以发现,候选资源数目越多,本文所提出方法的效果越明显。
本文对云制造环境下的资源发现进行了研究,提出了一种基于功能需求的资源发现方法。首先利用现有聚类技术将云制造资源池中的所有资源进行功能聚类,然后在此基础上进一步筛选出符合需求的资源,通过此方法,有效地降低了资源查找空间,提高了资源发现效率。
本文的研究只是对云制造环境下的资源发现作了一个初步的探讨,在今后的工作中将对本文所提出的方法作进一步的改进。另外,云制造强调的是产品全生命周期中资源的高度整合与共享,因此,产品全流程下的资源发现也是今后研究工作的一个重点。
参考文献
[1] 李伯虎,张霖,王时龙,等.云制造——面向服务的网络化制造新模式[J].计算机集成制造系统,2010,16(1):1-7.
[2] 李慧芳,董训,宋长刚.制造云服务智能搜索与匹配方法[J].计算机集成制造系统,2012,18(7):1485-1493.
[3] 张霖,罗永亮,陶飞,等.制造云构建关键技术研究[J].计算机集成制造系统,2010,16(11):2510-2520.
[4] 王真,孙富春,刘志友.基于资源本体的Web服务发现与组合研究[J].计算机应用与软件,2012,29(3):191-194,244.
[5] 姚清,陈性元,杜学绘,等.网格环境中基于语义注释的服务发现算法[J].计算机科学,2012,39(6):54-57,76.
[6] 高翔,梁志伟,徐国政.基于功能匹配的服务资源选择机制[J].仪器仪表学报,2012,33(12):2647-2654.
[7] 郭皓明,马世龙.以功能需求为驱的资源聚合方法与实现[J].北京航空航天大学学报,2008,34(5):576-579.
[8] 邓水光,尹建伟,李莹,等.基于二分图匹配的语义Web服务发现算法[J].计算机学报,2008,31(8):1364-1375.
[9] 武彩红,李蜀瑜.基于聚类的QoS语义Web服务发现研究[J].计算机技术与发展,2011,21(3):132-136.
[10] RAJAGOPAL S,THAMARAI S S.Semantic grid service discovery approach using clustering of service ontologies[C]. Proceedings of IEEE TENCON 2006,Hong Kong,China,2006:1-4.