云制造环境下数控装备资源服务匹配方法研究*
2018-03-30王晓妍刘寿春王子璇王琼琼李志明
王晓妍 刘寿春 王子璇 王琼琼 李志明
(①燕山大学信息科学与工程学院(软件学院),河北 秦皇岛 066004;②河北省计算机虚拟技术与系统集成重点实验室,河北 秦皇岛 066004;③河北省软件工程重点实验室,河北 秦皇岛 066004)
目前,我国制造行业存在“资源闲置与短缺并存,能力过剩与不足同在”的情况。在一定程度上造成了制造资源的浪费。在互联网+制造业的时代背景下,以“分散资源集中使用,集中资源分散服务”为理念的云制造模式可有效缓解上述问题[1-2]。运用先进的新一代信息技术,将分散的、闲置的制造资源虚拟化封装,并发布至云平台,为用户提供按需使用、随时获取的制造全生命周期服务,从而实现制造资源共享和企业协作。数控装备种类繁多,功能多样,在制造资源中占有很大的比重,且与其它种类制造装备相比,更易于实现装备资源的封装及虚拟化。本文在云制造环境下,针对数控装备资源服务匹配方法展开了深入研究,提出了一种“刚性参数”与“分层匹配”相结合的数控装备资源服务匹配方法,并通过仿真实验验证了其性能。
1 资源服务匹配方法综述
高效的资源服务匹配算法是云制造环境下制造资源得以快速、准确共享的重要前提。文献[3]提出一种基于属性匹配的云制造服务资源搜索方法,设计了制造领域同义词字典和服务资源属性字典,用来规范用户的检索词和确定用户检索意图,并在该基础上提出属性匹配算法。但是,该算法要求服务资源检索系统的维护人员具有较高专业知识,同时,也对字典集的更新带来挑战。文献[4]构建了“先语义推理,后计算语义距离”的两层语义匹配模型,提出一种基于概念模糊特征集合的服务匹配方法。然而,在云制造环境下,制造资源可能存在多种状态的情况,该算法难以适用。针对制造资源的多样性和复杂性问题,文献[5]在概念信息、句子信息和数值参量信息3个角度进行相似度度量,提出了包括基本信息、功能信息、约束信息和综合匹配的多层次匹配算法模型。该算法的不足之处是忽略了相似度不对称的现象。
文献[6]结合制造资源在某一时刻有“可用/不可用”状态的特点,提出制造资源服务分级匹配策略,对资源服务类别信息、状态信息、功能信息和服务质量信息进行分级匹配。在计算语义相似度时,充分考虑资源类节点在资源类别树中的深度和类别节点间的继承关系,提高了服务匹配的精度,然而,在资源服务匹配时仅考虑了两个概念在树中所处的深度,忽略了概念的宽度和重合度,可能导致匹配结果不够全面。
为实现更准确高效的数控装备资源云服务匹配,以文献[6]为参照,以数控装备资源为研究对象,结合请求者对资源类别的不同需求,提出一种“刚性参数”与“分层匹配”相结合的数控装备资源服务匹配算法。该算法不仅考虑了资源概念的深度,还考虑了资源概念的宽度、语义重合度、语义距离和层次顺序,对资源服务匹配进行了精确的量化,并搭建了数控装备资源云制造平台系统原型。
2 数控装备资源服务匹配算法
从数控装备资源请求者角度考虑,较为注重数控装备资源提供的服务类别、运行状态、加工能力和服务质量(quality of service,QoS)信息等。从数控装备资源提供者角度考虑,较为注重数控装备资源的基本信息、功能信息、状态信息和QoS信息等。因此,本文从数控装备资源的类别信息、状态信息、功能信息、QoS信息和综合信息等5个角度分别对接资源请求者和资源提供者对资源的描述,并依次进行匹配,形成“刚性参数”与“层次匹配”相结合的数控装备资源服务匹配方法,其流程如图1所示。
2.1 资源类别信息匹配
在实际生产中,资源请求者由于诸多原因导致提交的资源需求表述不准确的情况时有发生。针对该情况,将资源类别匹配分为类别明确和类别不明确两种情况,进而再将类别明确的情况分为“刚性参数”匹配和“非刚性参数”匹配。前者是指资源请求者对所需资源类别清晰、明确的情况下应设置为刚性参数,即资源匹配结果必须是资源请求者指定的资源类别,否则匹配失败;后者是指资源请求者对所需资源类别清晰、明确的情况下设置为非刚性参数,即云制造资源池中,和请求资源类别相似度不小于预设阈值的数控装备资源均可列入资源服务匹配结果。
另外,在计算类别相似度时,考虑了数控装备资源概念间的深度、宽度、语义距离、语义重合度及层次顺序5个因素,其中,计算语义距离时需同时考虑资源概念之间的深度、宽度和资源概念之间边的权重。资源集合中第i个资源Ci和第j个资源Cj之间的类别相似度计算公式如式(1)所示。式(1)既考虑了资源概念之间的继承关系和同层关系,又对概念匹配做了精确的量化,从而为提高资源服务匹配的查准率奠定了基础。
(1)
式中:OL(Ci,Cj)为Ci和Cj之间的语义重合度;Lev(Ci)为Ci的层次顺序;Dis(Ci,Cj)为Ci和Cj之间的语义距离。资源类别信息匹配算法的输入、输出、初始状态及步骤如下。
输入:CateList为所有数控装备资源类别集合,i(i=1,2,…,k)为类别序号,k为CateList的元素个数;cateR为请求数控装备资源类别描述信息;cate_i为类别是否明确参数;Sim(cate_i,cateR)为类别相似度;flag为类别刚性参数标识位 (“1”为刚性参数,“0”为非刚性参数);valueCate为请求者设定的类别匹配相似度阈值;MatchCate为类别匹配序列;Resources为资源序列。
输出:Cate_Resources为类别信息匹配之后的数控装备资源集合;CateSimSet为对应的类别相似度集合。
初始状态:CateList≠∅,i=1,Cate_Resources=∅,CateSimSet=∅。
(1)若cate_i为“类别不明确”,则转至(2);否则,转至(4)。
(2)将cate_i添加到类别匹配序列MatchCate中,设置类别相似度Sim(cate_i,cateR)的值为1.0,并将Sim(cate_i,cateR)添加到类别相似度集合CateSimSet中。
(3)i=i+1。若i≤k,则转至(2);否则,转至(12)。
(4)若flag是“1”,则转至(5);否则,转至(8)。
(5)判断cate_i是否和请求资源类别cateR相同,若相同,则转至(6);否则,转至(7)。
(6)将匹配的cate_i添加到MatchCate中,并将相似度1.0添加到类别相似度集合CateSimSet中,转至(12)。
(7)i=i+1。若i≤k,则转至(5);否则,转至(12)。
(8)计算请求资源类别和资源库中类别相似度Sim(cate_i,cateR)。
(9) 比较Sim(cate_i,cateR)和相似度阈值valueCate的大小。若Sim(cate_i,cateR)不小于valueCate,则转至(10);否则,转至(11)。
(10) 将cate_i添加到MatchCate中,并将Sim(cate_i,cateR) 添加到CateSimSet中。
(11)i=i+1。若i≤k,则转至(8);否则,转至(12)。
(12)将资源序列Resources中MatchCate所对应的资源添加到类别信息匹配后资源序列Cate_Resources中,并返回Cate_Resources和CateSimSet。
2.2 资源状态信息匹配
资源提供者提供的数控装备资源的状态信息主要包括维修、空闲、未满负荷、满负荷和超负荷5个状态;资源请求者需求的资源状态包括空闲、非满负荷和满负荷3种工作状态。
资源状态信息匹配算法的输入、输出、初始状态及步骤如下。
输入:Cate_Resources为类别信息匹配之后的数控装备资源集合,i(i=1,2,…,k)为类别序号,k为Cate_Resources的元素个数;CateSimSet为对应的类别相似度集合;。
输出:State_Resources为状态信息匹配之后的数控装备资源集合;StateSimSet为对应的状态匹配相似度集合。
初始状态:Cate_Resources≠∅,i=1,State_Resources=∅,StateSimSet=∅。
(1)判断候选资源序列中第i个资源Cate_Resources_i的state是否为“超负荷”和“维修中”。若是,则转至(2);否则,转至(3)。
(2)将Cate_Resources_i添加到State_Resources中,并将Cate_Resources_i对应的相似度添加到StateSimSet中。
(3)i=i+1。若i≤k,则转至(1);否则,转至(4)。
(4) 返回State_Resources和StateSimSet。
2.3 资源功能信息匹配
数控装备资源可能包括多个输入和输出参数,输入参数主要指加工材料、控制系统、最大加工任务量、联动轴数、定位精度、重复定位精度、粗糙度等,输出参数主要指用途等,而资源请求者和资源提供者对资源的描述中输入和输出参数需要满足一定的关系,才有可能匹配成功,这就是资源功能信息匹配。
资源功能信息匹配算法的输入、输出、初始状态及步骤如下。
输入:State_Resources为状态信息匹配之后的数控装备资源集合,i(i=1,2,…,k1)为State_Resources集合中资源的序号,k1为State_Resources的元素个数;StateSimSet为对应的状态匹配相似度集合;valueFun为功能相似度阈值;IR为请求资源R的输入集合,j(j=1,2,…,m)为输入参数序号;IPi为State_Resources中第i个资源Pi的输入参数集合,k(k=1,2,…,n)为输入序号;OR为R的输出集合,a(a=1,2,…,p)为R的输出集合中参数的序号;OPi为Pi的输出集合,b(b=1,2,…,q)为输出序号。
输出:Fun_Resources为功能信息匹配之后的数控装备资源序列;FunSimSet为对应的相似度集合。
初始状态:State_Resources≠∅,Fun_Resources=∅,FunSimSet=∅,i=1,j=1,k=1,a=1,b=1。
(1)若State_Resources≠∅,计算State_Resources中的第i个资源Pi和请求资源R的功能匹配相似度。
①若m≥n且p≤q,计算R的第j个输入参数和Pi中对应的输入参数的相似度Sim(Iij)。
②j=j+1,若j≤n,则转至①,否则,转至③。
③计算R与Pi的输入参数相似度,如式(2)所示。
(2)
④计算R的第a个输出参数和Pi的每个输出参数的相似度Sim(ORa,OPib),输出相似度如式(3)所示。
Sim(Oia)=max(Sim(ORa,OPib))(b=1,2,…,q)
(3)
⑤a=a+1。若a≤p,则转至④;否则、转至⑥。
⑥按式(4)计算R与Pi的输出参数相似度。
(4)
⑦计算R与Pi的功能信息相似度, 输出相似度如式(5)所示。若Simi(Pi,R)≥valueFun,则将资源Pi添加到Fun_Resources候选资源序列中,将Simi(Pi,R)添加到功能匹配相似度集合FunSimSet中。
(5)
(2)i=i+1。若i≤k1,则转至(1);否则,转至(3)。
(3) 返回Fun_Resources和FunSimSet。
2.4 资源QoS信息匹配
QoS属性有多个指标,此处主要针对资源请求者比较关注的成本、加工时间、无故障时间和用户满意度4个属性进行匹配。对于QoS信息匹配,采用基于欧氏距离的相似度计算方法,通过QoS属性矩阵中各向量之间的欧氏距离反映不同资源间QoS的相似性[7]。
资源QoS信息匹配算法的输入、输出、初始状态及步骤如下。
输入:Fun_Resources为功能信息匹配之后的数控装备资源序列,i为Fun_Resources中资源的序号(i=1,2,…,m),m为Fun_Resources的元素个数,初始值i=1;ω=(ω1,ω2,ω3,ω4)为资源QoS四个属性的权重向量;valueQoS为QoS属性匹配相似度阈值。
输出:QoS_Resources为QoS属性匹配后的候选数控装备资源序列;QoSSimSet为对应的相似度集合。
初始状态:Fun_Resources≠∅,QoS_Resources=∅,QoSSimSet=∅。
(1)将Fun_Resources中m个候选资源的QoS指标向量qi=(qi1,qi2,qi3,qi4),(i=1,2,…,m),依次排列构成QoS属性矩阵,如式(6)所示。
(6)
(7)
(8)
(3)运用线性比例变换公式(9)将Q中的每个数据标准化,标准化后的QoS属性矩阵P如式(10)所示。
(9)
(10)
在此基础上定义最优资源A的QoS属性指标向量p=(p1,p2,…,p4),pj(j=1,2,…,4)为矩阵P第j列中最大的元素。
(4) 计算P中第i个行向量pi(即第i个候选资源的QoS属性向量)和P之间的欧氏距离,定义第i个资源服务Fun_Resources_i和最优资源服务A之间的QoS相似度计算公式,如式(11)所示。
(11)
(5)比较SimiQoS和valueQoS的大小。若SimiQoS≥valueQoS,则将Fun_Resources_i添加到QoS_Resources中,并将对应的SimiQoS添加到QoS属性相似度集合QoSSimSet中,转至(6);否则,转至(7)。
(6)i=i+1。若i≤m,则转至(4),否则,转至(7)。
(7) 返回QoS_Resources和QoSSimSet。
2.5 资源综合信息匹配
首先,计算各个候选数控装备资源的综合相似度,然后,按照综合相似度由大到小的顺序排列候选数控装备资源,以供资源请求者选择。
资源综合信息匹配算法的输入、输出、初始状态及步骤如下。
输入:QoS_Resources为QoS信息匹配之后的候选资源序列,i(i=1,2,…,m)为QoS_Resources中资源的序号,m为QoS_Resources的元素个数,初始值i=1;CateSimSet为类别信息匹配相似度集合;FunSimSet为功能信息匹配相似度集合;QoSSimSet为QoS信息匹配相似度集合。
输出:Resources为按综合相似度大小排序的候选资源集合;SimSet为对应的相似度集合。
初始状态:QoS_Resources=∅,CateSimSet≠∅,FunSimSet≠∅,QoSSimSet≠∅,Resources=∅,SimSet=∅。
(1)计算QoS_Resources中的第i个资源服务的综合相似度,如式(12)所示。
Simi=αCateSimSeti+βFunSimSeti+γQoSSimSeti
(12)
式中:CateSimSeti为第i个资源的类别信息相似度;FunSimSeti为第i个资源的功能信息相似度;QoSSimSeti为第i个资源的QoS信息相似度;α、β、γ为类别信息相似度、功能信息相似度、QoS信息相似度的权重,0<α<1,0<β<1,0<γ<1且α+β+γ=1。
(2)i=i+1。若i≤m,则转至(1),否则,转至(3)。
(3)由大到小对m个值进行排序,并返回Resources和SimSet。
3 仿真实验及结果分析
依据文中数控装备资源服务匹配的策略及思想,利用Java Web技术及SQL Server2008数据库,设计并开发了云制造平台系统原型,数据库中录入了几百条资源数据,并在该平台上对“刚性参数”与“分层匹配”相结合的数控装备资源服务匹配方法进行了仿真。图2为数控装备资源请求者向云制造平台提交资源需求时的界面。
在数控装备资源信息和需求信息数据准确的前提下,运用查全率和查准率验证“刚性参数”和“分层匹配”相结合的数控装备资源服务匹配方法的优劣。查全率Recall及查准率Precision的计算公式分别如式(13)、式(14)所示。
(13)
(14)
其中:C表示云制造平台系统原型中符合请求者需求描述的资源序列;D表示匹配出的资源序列;C∩D表示匹配出的符合资源请求者需求描述的资源序列。
以文献[6]中的资源匹配方法作为对比对象,按照图2所示的资源请求参数分别计算查全率和查准率,仿真结果显示文献[6]和本文方法的查全率均为100%,查准率则分别为50.8%和72.5%。由此可见,在查准率方面,本文所提匹配方法与文献[6]中的匹配方法相比得到了较大幅度的提升,从而,验证了方法的有效性。
4 结语
在云制造环境下,以数控装备资源为研究对象,提出“刚性参数”与“分层匹配”相结合的数控装备资源服务匹配方法,对资源服务匹配做出了精确的量化,方法包括资源类别信息匹配、资源状态信息匹配、资源功能信息匹配、资源QoS信息匹配和资源综合信息匹配5个部分。该方法以提高资源服务匹配的查准率为目标,在进行资源类别信息匹配时,结合资源请求者对资源类别的不同需求,并充分考虑了资源功能信息匹配过程中概念及数值的匹配;在进行资源概念的相似度计算时,不仅考虑资源概念的深度和层次顺序,还考虑资源概念之间的宽度、语义距离、语义重合度等因素。通过仿真实验表明,本文所提资源匹配方法与文献[6]相比,更能够准确地匹配出符合资源请求者需求描述的资源,使得资源查准率得到了较大幅度的提升。
[1]Yu C, Xu X, Lu Y. Computer-integrated manufacturing, cyber-physical systems and cloud manufacturing - concepts and relationships[J]. Manufacturing Letters, 2015, 6: 5-9.
[2]Zhang L, Luo Y L, Tao F, et al. Cloud manufacturing: A new manufacturing paradigm[J]. Enterprise Information Systems, 2014, 8(2): 167-187.
[3]李成海, 黄必清. 基于属性描述匹配的云制造服务资源搜索方法[J]. 计算机集成制造系统, 2014, 20(6): 1499-1507.
[4]殷华英. 基于本体相似度的语义Web服务匹配算法研究[D]. 沈阳: 辽宁大学, 2011: 22-53.
[5]王成建. 云制造环境下资源服务匹配研究[D]. 南昌: 南昌大学, 2014: 27-38.
[6]李慧芳, 董训, 宋长刚. 制造云服务智能搜索与匹配方法[J]. 计算机集成制造系统, 2012, 18(7): 1485-1493.
[7]李新. 基于本体的制造资源建模与智能搜索研究开发[D]. 西安:西安建筑科技大学, 2016: 18-23.