发明内容
技术问题:本发明的目的是提供一种开放复杂网络环境下的信息服务的替换对象选择方法,即基于上下文的实时感知结果,构建服务替换成本决策信息模型,得出服务替换成本及替换成本决策矩阵,并最终实现基于此模型的服务替换对象选择实现方案。
技术方案:首先,给出本发明中的概念定义如下:
1)连接样式是指在组合服务流程中,两个服务之间的执行流程的方式,如顺序,选择,并列等。
2)第k层邻居是指服务的第k(k≥0)层邻居指所有与服务之间有k个连接样式的服务。
3)上下文模型(ContextModel,CM)是由影响服务运行与维护的一系列因素,如组合服务的操作流程,输入输出消息,网络流量延时等,包括服务组合上下文,服务运行时的网络上下文等等,所组成的多维元组,模型中描述方式是基于XML语言的以满足与用户请求信息的匹配要求,即CM={con1,con2,…,conn},其中coni表示上述各因素。
4)替换成本(Substitution Costs,SC)即完成对替换对象的替换过程所需的替换代价的集合,包括耗费的时间多少,占用网络资源的多少,耗费的流量等等,也是一个维数不确定的多元组,即SC={cost1,cost2,…,costn},其中costi表示耗费的时间、占用的网络流量等。
5)替换成本决策信息模型(The Decision-making information Model ofCosts,DMC)是由一系列用户关心的影响服务替换代价的因素,本发明将替换成本决策信息模型中的信息分为两个部分:第一为固定部分,目的是降低替换成本,包括延迟、服务时耗、服务空耗、服务大小四个方面;第二为可变部分,目的是提高替换质量,满足用户个性化需求,这部分的因素和个数并不固定,包括例如用户对服务的QoS要求,位置,网络,及用户的特殊要求等等,根据实际情况确定。即DMC={con1,con2,…,conm},是上下文模型CM的子集。
6)替换对象决策矩阵(Substitution range Decision Matrix,SDM)是计算最优替换对象的依据,是替换成本的集合,即
其中SCi表示以序号为i的子服务为替换对象时的替换成本,costij表示序号为i的子服务为替换对象的替换成本中第j维属性的替换代价。
本发明中服务替换对象指当组合服务出现故障时,在组合服务流程中需要进行替换的某失效子服务或者由若干包括失效子服务组合而成的新的子服务。
因为在服务软件体系中,三种关键技术,包括Web服务描述语言Web ServiceDescription Language(WSDL)、Web服务交互协议Simple Object Access Protocol(SOAP)和Web服务发布和发现的规范Universal Description,Discovery,Integration(UDDI),他们均是基于XML进行统一格式封装的,为了便于匹配计算,本文对上下文模型中的信息元素,也进行基于XML的统一封装。
由于网络环境和服务的上下文信息中的某些属性具有一定的随机性和偶然性,所以需要根据当前的实时数据计算服务替换对象,本文将此过程分三步进行:1)在不同的替换对象下,计算替换成本决策信息模型中某个属性的替换代价;2)在相同的替换对象下,计算替换成本决策信息模型中每个属性的替换代价。完成以上两步的计算会得到服务替换对象决策矩阵。3)考虑到用户的个性化需求,从服务替换对象决策矩阵中计算出最优的替换对象。
本发明的一种信息服务的替换对象选择方法根据上下文信息对服务的替换对象进行动态选择,该方法首先根据使用目的给出了一种上下文模型,然后构建替换成本决策信息模型,通过计算替换成本得出替换对象决策矩阵,进而得到一个最优的服务替换对象,具体步骤如下:
第一步,对服务按组合流程图进行分层,服务s1与服务s2之间有k个连接样式,则服务s2是服务s1的第k层邻居,依次增大,得到各服务替换对象的集合;
第二步,获取上下文信息,构建上下文模型;
第三步,从上下文模型中,得到替换成本决策信息模型中的固定部分和可变部分;
第四步,根据替换成本决策信息模型,计算得到各替换对象的替换成本集合;
第五步,得到各替换对象替换成本集合后,通过计算得到替换对象决策矩阵;
第六步,对得到的替换对象决策矩阵中各替换对象的相同维度的替换代价进行归一化处理,得到归一化后的替换对象决策矩阵;
第七步,计算归一化处理后的替换对象决策矩阵中,各替换对象的替换成本值,得到一个各替换对象替换成本值的集合;
第八步,从替换对象替换成本值的集合中,选择值最小的替换对象,此对象即为最优替换对象。
其中:
第二步获取上下文信息,构建上下文模型中的相关定义和构建方法如下:
上下文:包括服务组合上下文,服务运行时的网络上下文;将服务的上下文定义为影响服务运行与维护的一系列因素,有组合服务的操作流程、输入输出消息和网络流量延时,
上下文模型:将上下文信息进行了归纳整理,分为服务外部属性、服务内部属性。使用CM表示上下文模型。
服务内部属性:包括基本属性和扩展属性,服务外部属性是指服务所处外部环境的相关信息,包括位置、网络和消息,
服务内部属性:指服务内部自身的相关信息,分为基本属性和扩展属性,包括内部操作流程、QoS、接口信息,
构建方法:将上下文模型中的信息构建成如下形式:
CM={服务内部属性,服务外部属性}={{服务内部属性,{基本属性,扩展属性}},并将CM中各属性数据使用XML语言进行统一封装。
第三步得到替换成本决策信息模型中的固定部分和可变部分,具体方法如下:
1)固定部分:包括延迟、服务时耗、服务空耗、服务大小四个方面,
对于替换成本决策信息模型中的固定部分的获取问题:
如值为空,则返回值NULL,如不为空,则按顺序复制各值;执行过程中将XML的数据封装格式去除,只保留数字内容,时间统一单位为秒s,空间统一单位为千字节KB,
2)可变部分:这部分的因素和个数并不固定,包括用户对服务的QoS要求、位置、网络及用户的特殊要求,
对于替换成本决策信息模型中的可变部分的获取:
本方法中的上下文信息和用户请求信息均基于XML统一的文档封装,将用户的请求信息与上下文模型中的信息进行直接文本匹配确定替换成本决策信息,然后,按固定部分介绍的获取方法将匹配到的属性信息,从上下文模型中向替换成本决策信息模型中的可变部分对应一一转换。
第四步根据替换成本决策信息模型,计算得到各替换对象的替换成本集合,所用的公式如下:
cost=tmin∈DMCt={con1,con2,...,conn},式中cost表示在时耗维度上的替换代价,tmin表示最小时间,DMCt表示在时耗维度上的替换成本决策信息模型,coni表示第i个替换对象的时耗,用于得到替换成本。
第六步对得到的替换对象决策矩阵进行归一化处理,得到归一化后的替换对象决策矩阵,所用的公式如下:
1)i=1,2,…,m,j=1,2,…,n,式中costij表示序号为i的子服务为替换对象的替换成本中第j维属性的替换代价,用于对各替换成本进行归一化处理;
2)式中SDM′m×n表示归一化后的替换成本决策矩阵,m表示替换对象的个数,n表示各替换成本中属性的个数,SCi表示以序号为i的子服务为替换对象时的替换成本,此式用于表示归一化处理后的替换对象决策矩阵。
第七步计算得到一个各替换对象替换成本值的集合,所用的公式如下:
ω0+ω1+…+ωn=1,ωk∈[0,1],式中costij与SCi和上文表述的意思相同,ωk表示用户对第i个替换对象的替换决策信息中的第k个属性所给的权重,用于计算各替换对象的所需的替换成本值。
有益效果:本发明介绍了一种信息服务的替换对象选择方法,根据上下文信息对服务的替换对象进行动态选择,而非传统的大多方法中单纯选择组合服务中的失效部分作为替换对象,更加适用于当前的网络环境和满足用户的个性化需求,具体有益效果如下:
1)方案中对上下文的相关信息进行了分类整理,并根据用途给出了上下文的定义,能够容易地理解和使用上下文解决问题。
2)该方案中将用户的个性化需求作为计算替换对象决策信息中变化部分的依据,为在服务的替换问题中考虑用户的个性化需求提供了一种有效且合理的途径。
3)方案中的替换对象决策信息中的固定部分,定义为延迟、服务时耗、服务空耗、服务大小四个方面从不同角度反映替换的成本,通过计算,能够找到替换成本相对最低的替换对象。
4)方案与现有的服务替换方法是兼容的,该方案是执行替换方法的上一步骤,因为方案中的替换对象集中的各元素具有自包含性,即各元素均为粒度大小不同的子服务,所以计算得出的最优替换对象仍适用现有的替换方法。
5)方案中在计算服务替换成本决策矩阵时,考虑到用户的个性化需求,使用加权的方法对服务替换成本决策矩阵进行了修正,更加有益于满足用户的偏好需求。
在以用户体验为中心的软件服务体系中,服务的替换问题同样应该考虑用户的个性化需求,该方案提供了一种新的途径,找到最优的替换对象不仅能够降低替换成本,提供替换的效率,而且以用户为中心,可以实现更加优质的用户体验。