一种基于需求的动态服务组合与选择方法和系统的制作方法

文档序号:7774147阅读:104来源:国知局
一种基于需求的动态服务组合与选择方法和系统的制作方法
【专利摘要】本发明公开了一种基于需求的动态服务组合与选择方法,包括:接收来自用户的服务请求,并对服务请求进行解析,根据解析的结果在原子服务库中查找与之匹配的多组初始化服务以及对应的终止服务,每个初始化服务和其对应的终止服务构成一个服务组,其中多组初始化服务依次编号为1、2、3…、n,对第i个服务组而言,取出其中的初始化服务,在原子服务库中寻找与该初始化服务匹配的后续服务,判断上一步得到的后续服务是否为服务编号为i的服务组中的终止服务,如果是则得到一组组合序列Qi,其包括初始服务、后续服务和终止服务,将该组合序列Qi加入到组合方案集合{S}当中。本发明解决现存服务选择技术中服务质量并不能够充分反映用户个性化需求的问题。
【专利说明】一种基于需求的动态服务组合与选择方法和系统【技术领域】
[0001]本发明属于信息服务领域,更具体地,涉及一种基于需求的动态服务组合与选择方法和系统。
【背景技术】
[0002]随着互联网的发展与网络融合,web服务越来越多,同时,用户对服务的要求也越来越高,甚至希望能够定制、生成满足自身需求的服务。但单一的服务所提供的功能有限,而且仅仅依靠服务提供商来设计开发新的服务远远不能满足用户多样性和个性化需求,因此需要把已有的web服务组合起来,整合现有的多种异构服务,生成满足用户要求的新服务。
[0003]当今的服务组合研究可分为两个方向:学术研究集中在实现服务自动组合的算法和框架两个方面,让已有的服务通过某种机制来自动组合生成新的服务;而商业研究集中于如何让组合服务准确地设计和执行。学术研究的发展受限于人工智能的进展,目前还处于比较初级的阶段,而商业规范现在还不够成熟,但有朝着更准确、更详细的方向研究的潜力。现有的服务组合方法中基于接口匹配与基于语义都是研究比较多的,但两者往往都比较独立,本系统通过对服务输入输出参数添加语义信息,实现接口的语义匹配,完成服务的自动组合。
[0004]在服务选择方面,当前常用的有基于功能的服务选择技术和基于服务质量的服务选择技术。前者主要是考虑服务请求所需要完成的功能,从众多资源中选择需要的服务,保证组合服务达到总体功能的要求,当注册中心提供某一功能的服务数量很大时,很多服务都会满足条件,从而·返回给用户的信息就会过多,用户难以进行选择,并占用了过多的通信资源,用户体验差。后者是考虑服务的服务质量,从众多资源中选择一个适当的服务,使得组合服务的质量达到最优,这种方法的重点在于确定服务质量的比较方法。而目前存在的基于服务质量的服务选择技术并不能够充分反映用户个性化需求。

【发明内容】

[0005]针对现有技术的以上缺陷或改进需求,本发明提供了一种基于需求的动态服务组合与选择方法和系统,其目的在于,解决现有服务选择技术中服务质量并不能够充分反映用户个性化需求的技术问题。
[0006]为实现上述目的,按照本发明的一个方面,提供了一种基于需求的动态服务组合与选择方法,包括以下步骤:
[0007](I)接收来自用户的服务请求,并对服务请求进行解析:
[0008](2)根据解析的结果在原子服务库中查找与之匹配的多组初始化服务以及对应的终止服务,每个初始化服务和其对应的终止服务构成一个服务组,其中多组初始化服务依次编号为1、2、3...、η,η表示查找到的初始化服务的数量,初始化计数器i=l ;
[0009](3)对第i个服务组而言,取出其中的初始化服务,在原子服务库中寻找与该初始化服务匹配的后续服务;
[0010](4)判断上一步得到的后续服务是否为服务编号为i的服务组中的终止服务,如果是则得到一组组合序列Qi,其包括初始服务、后续服务和终止服务,将该组合序列Qi加入到组合方案集合{S}当中,然后转入步骤(6),否则进入步骤(5);
[0011](5)取出原子服务库中的一个服务,将该服务的输入参数与后续服务的输出参数进行匹配,若其匹配度达到0.5到I之间之间的一个阈值,则认为该服务是该后续服务的后续服务,然后返回步骤(4),否则表示该服务不是该后续服务的后续服务,则重复步骤(5);
[0012](6)判断i是否小于查找到的初始化服务的数量n,若是,则进入步骤(7),否则,设置i=i+l,然后返回步骤(3);
[0013](7)对于第(4)步得到的组合方案集合{S},从中间选取QoS最优的一个组合序列Q;
[0014](8)根据得到的最优组合序列和对用户的服务请求解析的结果确定组合序列的输入参数内容,将得到的最优组合服务传给执行引擎进行执行,并且将组合服务执行的结果返回给用户。
[0015]优选地,在步骤(2)中,若原子服务库中某个服务的输入参数与解析出的某些字段之间的匹配度达到0.5到I之间的一个阈值,则认为该服务为与解析出的字段匹配的初始化服务,若原子服务库中某个服务的输入参数与解析出的另外一些字段之间的匹配度达到0.5到I之间的一个阈值,则认为该服务为与另外一些字段匹配的终止服务。
[0016]优选地,原子服务库是通过以下的步骤实现的:
[0017](2-1)接收来自服务提供者提供的服务;
[0018](2-2)通过接收到的服务的服务描述对服务进行分类并存储;
[0019](2-3)通过接收到的服务的服务描述,将该服务作为一条记录写入系统数据库,该服务记录的字段包括服务的接入地址、服务的操作列表、服务的输入参数以及服务的输出参数。
[0020](2-4)管理员对这些服务进行审阅,允许服务上线,成为原子服务库中可用的服务。
[0021]优选地,步骤(3)中,取出原子服务库中的某个服务,将该服务的输入参数与初始化服务的输出参数进行匹配,若其匹配度达到0.5到I之间的一个阈值,则认为该服务是初始化服务的后续服务。
[0022]优选地,步骤(7)具体包括以下子步骤:
[0023](7-1)计算组合方案集合{S}中每一组组合序列的QoS参数,具体为组合服务价格Q。、组合服务响应时间Qt、组合服务可用性Qa、组合服务可靠性Qp对于两种不同的组合服务结构;
[0024](7-2)对步骤(7-1)中得到的QoS参数值进行标准化;
[0025](7-3)通过分析用户的QoS偏好,确定各QoS参数的权值W1' W2> W3和W4,其中0〈Wi〈l,且Σ Wi=I,以使各权值能正确反映出用户的服务质量需求信息,根据公式QoS=w1Qc+w2Qt+w3Qa+w4Qr计算不同QoS值,并选择QoS值最大的一组组合序列作为最优组合序列;
[0026]优选地,步骤(7-2)具体为,对于价格和响应时间属性,其标准化方法是用待选服务中的最大值减去当前值,再除以待选服务中最大值与最小值的差值;对于可用性和可靠性属性,其标准化方法是用当前值减去待选服务中的最小值,再除以待选服务中最大值与最小值的差值。
[0027]按照本发明的另一方面,提供了一种基于需求的动态服务组合与选择系统,包括:
[0028]第一模块,用于接收来自用户的服务请求,并对服务请求进行解析:
[0029]第二模块,用于根据解析的结果在原子服务库中查找与之匹配的多组初始化服务以及对应的终止服务,每个初始化服务和其对应的终止服务构成一个服务组,其中多组初始化服务依次编号为1、2、3...、η,η表示查找到的初始化服务的数量,初始化计数器i=l ;
[0030]第三模块,用于对第i个服务组而言,取出其中的初始化服务,在原子服务库中寻找与该初始化服务匹配的后续服务;
[0031]第四模块,用于判断上一步得到的后续服务是否为服务编号为i的服务组中的终止服务,如果是则得到一组组合序列Qi,其包括初始服务、后续服务和终止服务,将该组合序列Qi加入到组合方案集合{S}当中,然后转入第六模块,否则进入第五模块;
[0032]第五模块,用于取出原子服务库中的一个服务,将该服务的输入参数与后续服务的输出参数进行匹配,若其匹配度达到0.5到I之间之间的一个阈值,则认为该服务是该后续服务的后续服务,然后返回第四模块,否则表示该服务不是该后续服务的后续服务,则重复第五模块;
[0033]第六模块,用于判断i是否小于查找到的初始化服务的数量n,若是,则进入第七模块,否则,设置i=i+l,然后返回第三模块;
[0034]第七模块,用于对第四模块得到的组合方案集合{S},从中间选取QoS最优的一个组合序列Q ;
[0035]第八模块,用于根据得到的最优组合序列和对用户的服务请求解析的结果确定组合序列的输入参数内容,将得到的最优组合服务传给执行引擎进行执行,并且将组合服务执行的结果返回给用户。
[0036]总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0037]1、可实现不同网络服务的融合:因为本系统接入的服务都是由Web服务描述语言(Web Service Description Language,简称WSDL)描述的发布到网络上的web服务,可以屏蔽掉服务所依靠网络的差异,从而实现服务的融合,既可以从互联网服务切换到电信服务,也可以从电信服务切换到互联网服务,两种服务无主次之分。
[0038]2、基于接口匹配的自动服务组合保证了组合服务逻辑的合理性:服务进行组合时,当服务间的输入输出接口匹配时,才能将服务判断为前置与后续服务,从而保证了组合的服务是有前后逻辑顺序的。
[0039]3、组合服务能够最大程度地满足用户对服务质量的期望:由于在组合服务的选择机制中,各个服务质量属性的权重考虑了用户对属性的偏好序值,而该序值是由实际的用户反馈结果计算得出,可以合理反映出用户的个性化偏好信息。
[0040]4、组合服务具有更好的安全性:本发明在比较各组合服务的服务质量时,考察了各个原子服务的可靠性,原子服务的可靠性不仅与服务的执行历史有关,更与服务提供者的可信度有关,并且,只有达到一定可信度的原子服务,才能被服务管理者允许上线进入原子服务库,从而保证了组合服务的安全性。
【专利附图】

【附图说明】
[0041]图1是本发明基于需求的动态服务组合与选择方法的流程图。
【具体实施方式】
[0042]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0043]首先对本发明的技术术语进行解释和说明:
[0044]QoS:本发明为服务的QoS属性设定了四个属性值:价格、响应时间、可用性、可靠性,其中,服务价格与可用性由服务提供商决定并定期更新,响应时间与可靠性由服务提供商提供初值,根据服务执行数据动态更新。
[0045]服务描述:对服务功能的概要描述,用于服务的分类。
[0046]服务接入地址:即web服务的WSDL地址,根据此地址可以访问服务的描述文件,月艮务管理者根据服务的WSDL文件是否可访问从而决定服务是否上线。
[0047]服务操作列表:S卩服务可实现的所有操作方法,不同操作方法完成的功能不一样,返回类型也不一样,用于服务的具体执行与输出接口的判断。
[0048]服务的输入参数:请求一个服务的时候需要提供给该服务的参数信息。
[0049]服务的输出参数:请求一个服务之后,该服务向服务的请求者发回的相应信息。
[0050]匹配度:匹配度是一个服务的输出参数和另外一个服务的输入参数之间的相似度,若该相似度在一定的阈值范围内可以认为这两个服务构成前置与后置服务。
[0051]组合服务序列:经过对原子服务库中的服务进行自动组合之后,形成的一个满足用户需求的组合服务。
[0052]组合方案集合:多个组合服务序列组成的一个集合。
[0053]本发明的整体思路在于,本发明提供了一种在用户不涉及到任何组合服务的内部逻辑的情况下,将原来仅能提供单一功能服务的Web服务自动组合起来,形成满足用户特定的个性化需求的新服务的方法。该方法对包括传统电信网业务和互联网业务在内的各种异构业务提供了统一的接入和组合,可以有效屏蔽电信网络业务和互联网业务之间的差异性,实现电信网络业务与互联网业务的融合。为了更好的说明本发明,我们提供了如下的一个实例。假设用户发起的服务请求意为根据当前位置,查询周围的餐馆信息,得到最符合自己要求的餐馆的推荐信息,然后可以自由选择对该餐馆进行呼叫。前提条件为服务提供者将定位、搜索、呼叫相关的服务接入到本系统中,对服务的基本属性与功能属性进行一一说明,管理员对这些服务进行审阅,允许服务上线,成为原子服务库中可用的服务,根据服务说明系统已经将服务聚合成各种不同类型的服务类。
[0054]如图1所示,本发明基于需求的动态服务组合与选择方法包括以下步骤:
[0055]( I)接收来自用户的服务请求,并对服务请求进行解析:具体而言,服务请求是以xml格式存在,解析的过程就是从该xml文件中提取出几个特定的字段,例如,如果用户的服务请求是个性化搜索请求,则提取出来的字段包括有“电话号码”、“个人口味信息”以及
“餐馆信息”等;
[0056]本步骤的优点在于:本系统接入的服务都是由WSDL描述并发布到网络上的web服务,可以屏蔽掉服务所依靠网络的差异,从而实现服务融合。
[0057](2)根据解析的结果在原子服务库中查找与之匹配的多组初始化服务(其编号记为1、2、3...、η)以及对应的终止服务,每个初始化服务和其对应的终止服务构成一个服务组,其中η表示查找到的初始化服务的数量,初始化计数器i=l ;具体而言,若原子服务库中某个服务的输入参数与解析出的某些字段之间的匹配度达到某一个阈值(其取值范围一般设在0.5到I之间),则认为该服务为与解析出的字段匹配的初始化服务;若原子服务库中某个服务的输入参数与解析出的另外一些字段之间的匹配度达到某一个阈值(其取值范围一般设在0.5到I之间),则认为该服务为与另外一些字段匹配的终止服务;例如,针对上述的个性化搜索请求解析出的字段,可以从原子服务库中得到初始化服务为定位服务,终止服务为搜索服务。
[0058]本发明的原子服务库是通过以下的步骤实现的:
[0059]( 2-1)接收来自服务提供者提供的服务;由于不同的服务提供者拥有不同的电子身份证书,对应一定的安全级别和可信度,只有服务提供者的安全级别和可信度达到一定的要求,才可以向系统成功注册服务,并且服务提供者的可信度会影响到服务的可信度;
[0060](2-2)通过接收到的服务的服务描述对服务进行分类并存储;
[0061](2-3)通过接收到的服务的服务描述,将该服务作为一条记录写入系统数据库,该服务记录的字段包括服务的接入地址、服务的操作列表、服务的输入参数以及服务的输出参数。
[0062](2-4)管理员对这些服务进行审阅,允许服务上线,成为原子服务库中可用的服务。
[0063](3)对第i个服务组而言,取出其中的初始化服务,在原子服务库中寻找与该初始化服务匹配的后续服务;具体而言,取出原子服务库中的某个服务,将该服务的输入参数与初始化服务的输出参数进行匹配,若其匹配度达到某一个阈值(其取值范围在0.5到I之间),则认为该服务是初始化服务的后续服务;
[0064](4)判断上一步得到的后续服务是否为服务编号为i的服务组中的终止服务,如果是则得到一组组合序列Qi,其包括初始服务、后续服务和终止服务,将该组合序列Qi加入到组合方案集合{S}当中,然后转入步骤(6),否则进入步骤(5);
[0065](5)对于步骤(4)中得到的后续服务而言,在原子服务库中寻找与该后续服务匹配的后续服务;具体而言,取出原子服务库中的某个服务,将该服务的输入参数与后续服务的输出参数进行匹配,若其匹配度达到某一个阈值(其取值范围在0.5到I之间),则认为该服务是该后续服务的后续服务,然后返回步骤(4),否则表示该服务不是该后续服务的后续服务,则重复步骤(5);
[0066](6)判断i是否小于查找到的初始化服务的数量n,若是,则进入步骤(7),否则,设置i=i+l,然后返回步骤(3);
[0067](7)对于第(4)步得到的组合方案集合{S},从中间选取QoS最优的一个组合序列Q,具体包括以下子步骤:
[0068](7-1)计算组合方案集合{S}中每一组组合序列的QoS参数,具体为组合服务价格Q。、组合服务响应时间Qt、组合服务可用性Qa、组合服务可靠性Qp对于两种不同的组合服务结构,计算方法如下表(其中,Qc (i)、Qt (i)、Qa (i)、Qr (i)表示组合方案集合{S}中第i组组合序列中各个原子服务的价格、响应时间、可用性、可靠性):
[0069]
【权利要求】
1.一种基于需求的动态服务组合与选择方法,其特征在于,包括以下步骤: (1)接收来自用户的服务请求,并对服务请求进行解析: (2)根据解析的结果在原子服务库中查找与之匹配的多组初始化服务以及对应的终止服务,每个初始化服务和其对应的终止服务构成一个服务组,其中多组初始化服务依次编号为1、2、3...、η,η表示查找到的初始化服务的数量,初始化计数器i=l ; (3)对第i个服务组而言,取出其中的初始化服务,在原子服务库中寻找与该初始化服务匹配的后续服务; (4)判断上一步得到的后续服务是否为服务编号为i的服务组中的终止服务,如果是则得到一组组合序列Qi,其包括初始服务、后续服务和终止服务,将该组合序列Qi加入到组合方案集合{S}当中,然后转入步骤(6),否则进入步骤(5); (5)取出原子服务库中的一个服务,将该服务的输入参数与后续服务的输出参数进行匹配,若其匹配度达到0.5到I之间之间的一个阈值,则认为该服务是该后续服务的后续服务,然后返回步骤(4),否则表示该服务不是该后续服务的后续服务,则重复步骤(5); (6)判断i是否小于查找到的初始化服务的数量n,若是,则进入步骤(7),否则,设置i=i+l,然后返回步骤(3); (7)对于第(4)步得到的组合方案集合{S},从中间选取QoS最优的一个组合序列Q; (8)根据得到的最优组合序列和对用户的服务请求解析的结果确定组合序列的输入参数内容,将得到的最优组合服务传给执行引擎进行执行,并且将组合服务执行的结果返回给用户。
2.根据权利要求1所述的基于需求的动态服务组合与选择方法,其特征在于,在步骤(2)中,若原子服务库中某个服务的输入参数与解析出的某些字段之间的匹配度达到0.5到I之间的一个阈值,则认为该服务为与解析出的字段匹配的初始化服务,若原子服务库中某个服务的输入参数与解析出的另外一些字段之间的匹配度达到0.5到I之间的一个阈值,则认为该服务为与另外一些字段匹配的终止服务。
3.根据权利要求1或2所述的基于需求的动态服务组合与选择方法,其特征在于,原子服务库是通过以下的步骤实现的: (2-1)接收来自服务提供者提供的服务; (2-2)通过接收到的服务的服务描述对服务进行分类并存储; (2-3)通过接收到的服务的服务描述,将该服务作为一条记录写入系统数据库,该服务记录的字段包括服务的接入地址、服务的操作列表、服务的输入参数以及服务的输出参数。 (2-4)管理员对这些服务进行审阅,允许服务上线,成为原子服务库中可用的服务。
4.根据权利要求1所述的基于需求的动态服务组合与选择方法,其特征在于,步骤(3)中,取出原子服务库中的某个服务,将该服务的输入参数与初始化服务的输出参数进行匹配,若其匹配度达到0.5到I之间的一个阈值,则认为该服务是初始化服务的后续服务。
5.根据权利要求1所述的基于需求的动态服务组合与选择方法,其特征在于,步骤(7)具体包括以下子步骤: (7-1)计算组合方案集合{S}中每一组组合序列的QoS参数,具体为组合服务价格Q。、组合服务响应时间Qt、组合服务可用性Qa、组合服务可靠性Qe对于两种不同的组合服务结构;(7-2)对步骤(7-1)中得到的QoS参数值进行标准化; (7-3)通过分析用户的QoS偏好,确定各QoS参数的权值Wp w2> W3和W4,其中0〈Wi〈l,且Σ Wi=I,以使各权值能正确反映出用户的服务质量需求信息,根据公式QoS=w1Qc+w2Qt+w3Qa+w4Qr计算不同QoS值,并选择QoS值最大的一组组合序列作为最优组合序列。
6.根据权利要求5所述的基于需求的动态服务组合与选择方法,其特征在于,步骤(7-2)具体为,对于价格和响应时间属性,其标准化方法是用待选服务中的最大值减去当前值,再除以待选服务中最大值与最小值的差值;对于可用性和可靠性属性,其标准化方法是用当前值减去待选服务中的最小值,再除以待选服务中最大值与最小值的差值。
7.一种基于需求的动态服务组合与选择系统,其特征在于,包括: 第一模块,用于接收来自用户的服务请求,并对服务请求进行解析: 第二模块,用于根据解析的结果在原子服务库中查找与之匹配的多组初始化服务以及对应的终止服务,每个初始化服务和其对应的终止服务构成一个服务组,其中多组初始化服务依次编号为1、2、3...、η,η表示查找到的初始化服务的数量,初始化计数器i=l ; 第三模块,用于对第i个 服务组而言,取出其中的初始化服务,在原子服务库中寻找与该初始化服务匹配的后续服务; 第四模块,用于判断上一步得到的后续服务是否为服务编号为i的服务组中的终止服务,如果是则得到一组组合序列Qi,其包括初始服务、后续服务和终止服务,将该组合序列Qi加入到组合方案集合{S}当中,然后转入第六模块,否则进入第五模块; 第五模块,用于取出原子服务库中的一个服务,将该服务的输入参数与后续服务的输出参数进行匹配,若其匹配度达到0.5到I之间之间的一个阈值,则认为该服务是该后续服务的后续服务,然后返回第四模块,否则表示该服务不是该后续服务的后续服务,则重复第五模块; 第六模块,用于判断i是否小于查找到的初始化服务的数量n,若是,则进入第七模块,否则,设置i=i+l,然后返回第三模块; 第七模块,用于对第四模块得到的组合方案集合{S},从中间选取QoS最优的一个组合序列Q ; 第八模块,用于根据得到的最优组合序列和对用户的服务请求解析的结果确定组合序列的输入参数内容,将得到的最优组合服务传给执行引擎进行执行,并且将组合服务执行的结果返回给用户。
【文档编号】H04L29/08GK103581309SQ201310498809
【公开日】2014年2月12日 申请日期:2013年10月22日 优先权日:2013年10月22日
【发明者】戴彬, 贺丽红, 邵翔, 邹云飞 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1