一种规范化用户需求的组合服务选择方法
【专利摘要】本发明是一种规范化用户需求的组合服务选择方法,包括组合服务选择中的用户需求描述语言URDL-CSS和基于URDL-CSS语言的组合服务选择方法两部分。URDL-CSS语言有固定的组成元素及语法结构,是一种在组合服务选择过程中解决如何规范化用户复杂需求的工具,并可利用它更方便的保存、读取、分析、计算出用户的实际需求,再通过组合服务选择部分计算出更有价值的符合用户需求的组合服务QoS值,用于组合服务选择。该组合服务选择方法解决了组合服务选择中用户需求的复杂性问题,使用户需求的表示更加规范化、文档化,同时使用户需求的获取、计算和管理更为方便,为组合服务选择提供了一种有力的方法和工具。
【专利说明】一种规范化用户需求的组合服务选择方法
【技术领域】
[0001]本发明是一个在开放异构的复杂网络环境下,实现用户对组合服务选择的方法。主要针对组合服务选择中用户需求具有复杂性的特点,提出了一种适用于组合服务选择的用户需求描述语言URDL-CSS,该语言可以描述用户的复杂需求,使用户需求清晰化、规范化、文档化,解决组合服务选择过程中用户需求越来越复杂的问题,并给出基于该语言的组合服务选择方法。属于信息服务、服务计算领域。
【背景技术】
[0002]信息服务是以开发利用信息资源为基础,根据用户需求,运用电子信息技术对相关知识内容进行采集、加工、存储、传输、检索和利用,以新的序列化的知识单元提供给用户的服务工作。在信息服务的演变过程中,P2P服务、网格服务、Web服务、SOA和云服务扮演着重要的角色,可以说,信息服务是诸多具体服务形式高层次的抽象与凝练。信息服务具有与平台无关、松耦合、可表达、可发现、可组合和可度量等服务特性。
[0003]面对网络中日益增多的不同服务,以及不同服务商提供的相同服务,作为服务的请求者,做出服务选择的过程变得越来越复杂。同时,由于单个服务往往不能满足用户的需求,这时就需将已有的多个原子服务进行组合,以便产生满足用户特定的复杂功能需求的、增值的组合服务。
[0004]结合用户需求的组合服务选择是解决以上问题的一种主要方法,由于用户需求具有复杂性的特点,提出组合服务选择中的用户需求描述语言URDL-CSS,考虑了用户需求在组合服务选择中的特点,并给出基于该语言的组合服务选择方法,具有重要意义。
【发明内容】
[0005]技术问题:本发明的目的是给出一种描述组合服务选择中用户复杂需求的工具,即组合服务选择中的用户需求描述语言URDL-CSS,并实现基于该语言的组合服务选择方法。
[0006]技术方案:本发明将借鉴最新的组合服务选择方法,考虑用户需求具有复杂性的的特点,提出一种有效描述组合服务选择中用户需求的规范方法,给出组合服务选择中的用户需求描述语言URDL-CSS,并实现组合服务选择。
[0007]本发明是一种策略性的方案,参考组合服务选择已有的研究成果、结合成熟的基于服务质量的组合服务选择模型,提出一种适用于组合服务选择的用户需求描述语言URDL-CSS,实现一种用户需求清晰化、规范化、文档化的组合服务选择方法,主要有组合服务选择中的用户需求描述语言URDL-CSS和基于URDL-CSS语言的组合服务选择方法两部分。
[0008]组合服务选择中的用户需求描述语言URDL-CSS有固定的组成元素,主要的组成结构包括需求基本信息、需求详细信息、服务属性信息和服务结构信息四大部分,其中需求基本信息主要有用户ID、需求ID、需求生存期,需求详细信息主要有功能属性需求、非功能属性需求、服务权重分值,服务属性信息主要是服务质量属性,服务结构信息主要有前驱服务名、有无执行概率、后继服务名;
[0009]基于URDL-CSS语言的组合服务选择方法关键在于数据处理过程,主要包括的数据有用户需求库、个人需求库、原子服务QoS需求、组合服务结构模型、组合服务QoS需求、处理后的QoS参数、最佳组合服务等,主要包括的处理过程有用户需求库查询读取分析过程、原子服务用户需求计算过程、组合服务结构模型构建过程、组合服务用户需求计算过程、组合服务QoS参数计算处理过程、用户选择最佳服务过程等处理子过程。
[0010]该规范化用户需求的组合服务选择方法的步骤在于先读取分析用户需求XML文档后形成用户需求库,用户需求库经过查询读取分析过程可以得到个人需求库,个人需求库通过进一步的分析,经过原子服务用户需求计算过程可以得到原子服务QoS需求,经过组合服务结构模型构建过程可以得到组合服务结构模型,再经过组合服务用户需求计算过程可以得到组合服务QoS需求,而组合服务QoS参数计算处理过程可以得到处理后的QoS参数,最后,用户选择最佳服务过程可以得到最佳组合服务,将最佳组合服务提供给上层用户,完成组合服务选择。
[0011]下面给出组合服务选择中的用户需求描述语言URDL-CSS中所有组成元素的定乂:
[0012]I)用户ID:需求基本信息之一。用于标识提供某用户需求XML文档的用户的ID号,该用户ID必须是唯一的;
[0013]2)需求ID:需求基本信息之一。用于唯一标识某用户需求XML文档;
[0014]3)需求生存期:需求基本彳目息之一。表不该需求存在的时间起止,只有在生存期内的需求才可用,不在生存期内的需求不可用;
[0015]4)功能属性需求:需求详细信息之一。表示用户所需要的服务的功能;
[0016]5)非功能属性需求:需求详细信息之一。表示用户对所需要的服务的服务质量方面的需求,如对服务的价格、性能、可靠性等方面的需求;
[0017]6)服务权重分值:需求详细信息之一。表示用户对该服务的重视程度,并给出一个分值表示其重视大小;
[0018]7)服务质量属性:服务属性信息。列出服务具有的非功能属性,如价格、性能、可靠性、可用性、安全性、声誉度等;
[0019]8)前驱服务名:服务结构信息之一。前驱服务表示执行当前服务之前,所必须要先执行的服务,没有执行过前驱服务,也就不能执行当前服务,没有前驱服务的服务为组合服务中第一个服务;
[0020]9)有无执行概率:服务结构信息之一。特别针对组合服务中的分支结构模型,在执行前驱服务后,有一定概率会执行到当前服务,有执行概率的服务即表示它当前所在的组合服务结构模型为分支结构模型;
[0021]10)后继服务名:服务结构信息之一。后继服务表示执行当前服务之后,所必须或可能要执行的服务,当后续服务为多个时,可能是组合服务结构模型中的分支结构,也可能是并行结构,当无后继服务时,表示其为组合服务中的最后一个服务。
[0022]下面针对基于URDL-CSS语言的组合服务选择方法中数据处理过程中包含的数据和处理的过程,定义如下:[0023]I) XML文档:使用URDL-CSS语言描述的所有用户需求描述XML文档;
[0024]2)用户需求库:用户需求库是通过能够识别URDL-CSS语言的定制软件读取所有用户提供的用户需求XML文档,再将数据存入数据库形成,用于查询、读取、分析及上层的处理;
[0025]3)个人需求库:用户需求库经过查询读取分析过程可以得到个人需求库,个人需求库中只保存与指定用户有关的有效信息,不在生存期内的需求不保存在该数据库中,该数据库随着用户需求的各种变化及用户需求生存期的限制而改变,具有实时更新的功能;
[0026]4)原子服务QoS需求:用户对组合服务中的每一个可能用到的原子服务的QoS需求,通过读取个人需求库信息,利用原子服务用户需求计算过程可以得到用户对每个原子服务的QoS需求;
[0027]5)组合服务结构模型:组合服务结构模型,主要有串行模型、并行模型、分支模型和循环模型,在较复杂的组合服务中,可能会同时存在这四种模型。通过读取个人需求库信息,利用组合服务结构模型构建过程可以得到组合服务结构模型;
[0028]6)组合服务QoS需求:用户对该组合服务的一个整体的QoS需求,通过读取各个原子服务QoS需求和组合服务结构模型,利用组合服务用户需求计算过程可以得到用户的组合服务QoS需求;
[0029]7)处理后的QoS参数:通过读取组合服务原始的QoS参数,再利用组合服务QoS参数计算处理过程,即得到处理后的组合服务QoS参数;
[0030]8)最佳组合服务:符合用户需求的QoS值最高的组合服务,通过读取组合服务QoS需求和处理后的QoS参数,利用用户选择最佳服务过程可以得到最佳组合服务;
[0031]9)用户需求库查询读取分析过程:在用户需求库中读取出同时满足“用户名”和“需求存在时间”的用户需求信息,形成个人需求库;
[0032]10)原子服务用户需求计算过程:读取个人需求库中每个原子服务的需求详细信息及服务属性信息,利用直觉模糊集理论计算出用户的原子服务QoS需求;
[0033]11)组合服务结构模型构建过程:读取个人需求库中每个原子服务的“前驱服务名”、“有无执行概率”和“后继服务名”,结合当前服务的功能属性需求,利用图论知识构建组合服务的邻接矩阵,通过邻接矩阵可以得到组合服务的结构模型;
[0034]12)组合服务用户需求计算过程:利用得到的原子服务QoS需求和组合服务结构模型,再读取原子服务权重分值,根据给出的结合了服务权重分值的组合服务中每个结构模型所对应的用户需求计算方法(公式详见图4),计算出用户的组合服务QoS需求;
[0035]13)组合服务QoS参数计算处理过程:通过常用的各个组合服务结构模型对应的QoS参数计算方法,先计算出组合服务的QoS参数,再将QoS参数进行归一化处理;
[0036]14)用户选择最佳服务过程:将组合服务用户需求与处理后的QoS参数加权计算,通过Top-K算法选择出QoS值最大的组合服务,供上层用户选择使用。
[0037]基于URDL-CSS语言的组合服务选择方法不同于传统的组合服务选择方法,它将原本用户随意表达的复杂需求转变成清晰的、规范的用户需求XML文档,完成了用户需求文档化的建立。在考虑用户需求时,增加了需求生存期、前驱服务名、有无执行概率、后继服务名等新元素。通过需求生存期,可以有效剔除过期的用户需求,适应了用户需求存在动态性的特点,通过用户需求中的服务结构信息,表达出用户所需组合服务的结构模型,达到更好的描述用户需求的目的。
[0038]一、URDL-CSS语言中元素的语法结构及功能
[0039]URDL-CSS语言描述的用户需求XML文档以〈URDL-CSS〉开始,以〈/URDL-CSS〉结尾,主要包括以下四个组成部分:
[0040]1)需求基本信息:主要有用户ID、需求ID、需求生存期。包含在〈Requirement ofBasic Information〉......〈/Requirement of Basic Information〉节点内。
[0041]2)需求详细信息:主要有功能属性需求、非功能属性需求、服务权重分值。包
含在〈Requirement of Detailed Information)......〈/Requirement of Detailed
Information)节点内。
[0042]3)服务属性信息:主要是服务质量属性。包含在〈Service PropertiesInformation〉......〈/Service Properties Information〉节点内。
[0043]4)服务结构信息:主要有前驱服务名、有无执行概率、后继服务名。包含在〈Service Structure Information)......〈/Service Structure Information〉节点内。
[0044]每一部分中元素的语法结构及功能如下:
[0045]1)用户ID:包含在〈User ID>……〈/User ID>节点内,用于唯一标识用户,以正整数表示。
[0046]2)需求 ID:包含在〈Requirement ID>......〈/Requirement ID> 节点内,用于唯一
标识用户需求,以正整数表示。
[0047]3)需求生存期:包含在〈Requirement Lifetime〉......〈/Requirement Lifetime〉
节点内,由一对日期与时间组成,中间用空格隔开,表示该用户需求生存时间的起止,过期的用户需求将不再用到,例如“2014-01-01-00-002014-01-05-00-00”。
[0048]4)功能属性需求:包含在〈Functional Properties Requirement〉......〈/
Functional Properties Requirement)节点内,用字符串表示用户需求的服务功能,例如“hotel”。
[0049]5)非功能属性需求:包含在〈Non-Functional Properties Requirement〉......〈/
Non-Functional Properties Requirement〉节点内,根据直觉模糊集理论,由用户提供直觉判断矩阵表示用户对服务各非功能属性的需求,逐行书写,每个直觉模糊数用空格隔开,例如 “ (0.5,0.5) (0.2,0.7) (0.4,0.6) (0.7,0.2) (0.5,0.5) (0.6,0.2) (0.6,0.4) (0.2,0.6)(0.5,0.5) ”。
[0050]6)服务权重分值:包含在〈Weight Score〉......〈/Weight Score〉节点内,表示用
户对该服务的重视程度,用I到100的整数表示。
[0051]7)服务质量属性:包含在<QoS>……〈/Qos>节点内,表示所关注的服务非功能属性,用若干字符串表示,以空格隔开,数量与非功能属性需求中直觉判断矩阵的行列数相一致,例如 “Price Performance Reliability Availability Security Reputation,,。
[0052]8)前驱服务名:包含在〈Precursor Service Name〉......〈/Precursor Service
Name)节点内,用字符串表示该服务的前驱服务名,例如“airplane”。
[0053]9)有无执行概率:包含在〈Execution Probability〉......〈/Execution
Probability)节点内,I表示有执行概率,即该服务处于分支结构中,O表示必然发生,即该服务不处于分支结构中。[0054]10)后继服务名:包含在〈Successor Service Name〉......〈/Successor Service
Name)节点内,用字符串表示该服务的后继服务名,例如“restaurant”。
[0055]二、基于URDL-CSS语言的组合服务选择方法工作流程
[0056]第一步:所有用户给出使用URDL-CSS语言描述的用户需求XML文档;
[0057]第二步:通过能够识别URDL-CSS语言的软件读取所有用户提供的用户需求XML文档,再将数据存入数据库形成用户需求库;
[0058]第三步:从用户需求库中读取出同时满足需要服务的用户的“用户名”和“需求存在时间”没有过期的用户需求信息,形成个人需求库;
[0059]第四步:从个人需求库中读取每条需求的需求详细信息及服务属性信息,利用直觉模糊集理论计算出用户的原子服务QoS需求;
[0060]第五步:从个人需求库中读取每条需求的“前驱服务名”、“有无执行概率”和“后继服务名”,结合本条需求的功能属性需求,利用图论知识构建邻接矩阵,再根据邻接矩阵得到组合服务结构模型;
[0061]第六步:给出结合了服务权重分值的组合服务中每个结构模型所对应的用户需求计算方法(公式详见图4),利用得到的原子服务QoS需求和组合服务结构模型,结合服务权重分值,计算出用户的组合服务QoS需求;
[0062]第七步:通过常用的组合服务结构模型对应的QoS参数计算方法,计算出组合服务的QoS参数,并将QoS参数归一化;
[0063]第八步:将组合服务用户需求与处理后的QoS参数加权计算,通过Top-K算法选择出QoS值最大的组合服务,即最佳组合服务;
[0064]第九步:将最佳组合服务提供给上层用户选择使用。
[0065]三、基于URDL-CSS语言的组合服务选择方法性能分析
[0066]本方案主要针对在开放异构的复杂网络环境下,用户选择组合服务时,用户需求具有复杂性的特点,提出了一种组合服务选择中用户需求描述语言URDL-CSS,利用该语言描述用户的复杂需求,并给出基于该语言的组合服务选择方法。该语言将用户需求分为四大部分,涵盖了用户所有可能的需求,包括所需服务的功能属性需求、非功能属性需求、月艮务质量属性、用户对服务的偏好权重分值、所需服务的前后结构等。该方案使用户需求清晰化、规范化、文档化,解决了服务选择过程中用户需求越来越复杂的问题,使用户需求的获取、计算和管理更为方便,为组合服务选择提供了一种有力的方法与工具。具体分析如下:
[0067]I)该用户需求描述语言考虑了用户需求可能涉及到的所有方面,并将描述用户需求的过程规范化,将用户对组合服务的复杂需求抽离出为若干个清晰可见的XML文档,更方便快速地保存与读取用户需求。
[0068]2)每个用户需求XML文档都具有用户ID、需求ID,用户可以方便地管理自己已有的需求文档,当对某一服务的需求有所变动时,只需要对相应的XML文档作少量的更改,而且可以通过更改需求生存期达到延期需求生存时间、重复使用该XML文档的目的,大大减少了使用的空间资源,避免了重新填写需求带来的重复操作。
[0069]3)每一个XML文档中都有服务结构信息的相关内容,通过“功能属性需求”、“前驱服务名”、“有无执行概率”和“后继服务名”,进行快速匹配操作,利用图论知识构建邻接矩阵,可以方便、自动、快速地构建出用户所需要的组合服务结构。[0070]有益效果:使用该组合服务选择中的用户需求描述语言URDL-CSS实现开放异构的复杂网络环境下的组合服务选择有如下优点:
[0071]I)用户需求的清晰化、文档化、规范化。本方案规范化了用户提供的复杂需求,并使之文档化,在使用户需求更加清晰的同时,其需求文档也更加便于保存和管理。
[0072]2)便于用户对已有需求的管理与使用。由于每个需求文档都有唯一的需求ID标识,用户可以方便的管理自己已有的需求文档,并可以将过期的需求文档删除或者修改需求生存期以进行延期、重复使用等操作。
[0073]3)服务提供商可以利用用户需求文档以完善、改进自己的服务。用户请求过的服务,在服务提供商那里会有相应的信息记录,服务提供商可以根据请求过的所有用户需求文档,综合分析出用户需求的偏好以改进服务,使更多的用户使用该服务,获得更多的收益,同时也使用户可以获得更加优质的服务。
[0074]4)服务结构信息有助于更方便快速地构建组合服务的结构。与传统的用户需求信息所不同,URDL-CSS语言包含了用户需求的服务结构信息,它有助于自动地、快速地构建出用户所需要的组合服务结构,更加便捷智能。
[0075]5)另外该方案还具有其它优点。如:服务权重分值,体现了用户对组合服务中个别原子服务的偏好程度,使最终得到的最佳组合服务在全局和局部上同时满足用户偏好需求;又如:非功能属性需求,使用直觉模糊集理论,可以处理用户直觉模糊信息,比传统模糊数学更胜一筹。
[0076]该方案的提出将对开放异构的复杂网络中组合服务选择理论研究及其未来网络平台软件的发展产生一定的推动作用,对未来网络中组合服务选择策略是一种新的尝试,提供了一种新的思路。
【专利附图】
【附图说明】
[0077]图1是组合服务选择中的用户需求描述语言URDL-CSS的组成结构。
[0078]图2是基于URDL-CSS语言的组合服务选择方法框架。
[0079]图3是查询读取分析用户需求库过程。
[0080]图4是组合服务用户需求计算过程。
【具体实施方式】
[0081]为了说明本发明所述的组合服务选择中的用户需求描述语言URDL-CSS及基于URDL-CSS语言的组合服务选择方法框架,我们给出如下的最佳实施例,详细的描述了此规范化用户需求的组合服务选择方法的实现过程。
[0082]图2给出了基于URDL-CSS语言的组合服务选择方法框架及整体流程。假设用户向网络请求北京最佳的旅游组合服务,具体步骤表述如下:
[0083]第一步,某用户通过北京某旅游网的网页表单的形式填写旅游中需求的具体内容,例如需要“住宿”功能的服务,时间在“2014年I月10日到2014年I月15日”期间,关注的服务属性有“价格、环境、便利性、安全性、声誉度”,并给出这五个属性之间两两比较的偏好判断矩阵,矩阵元素用直觉模糊数表示,由于该用户对住宿服务比较看重,因此用户为该服务权重分值打“90分”,该服务的前驱服务名为“出行”,后继服务名为“餐饮”,是必然执行服务;表单填写完毕后,网站后台根据用户填写的内容形成使用URDL-CSS语言描述的用户需求XML文档,它们描述了旅游中用户需求的基本信息和详细信息,以及所需要的所有原子服务的属性信息和结构信息。
[0084]第二步:网站后台具有识别及分析URDL-CSS语言的功能,它读取最近新填写表单的用户提供的用户需求XML文档,再分析处理后将数据存入后台数据库,形成用户需求库;
[0085]第三步:针对该用户提交过来的需求XML文档,经过网站后台分析后,从用户需求库中读取出“用户ID”是该用户的,并且用户需求XML文档的“需求存在时间”没有过期的用户需求信息,在后台形成一个临时的个人需求数据库;
[0086]第四步:从该临时的个人需求库中读取每条需求的需求详细信息及服务属性信息,从某条需求的需求详细信息中获取用户的功能属性需求即所需原子服务的功能,例如“住宿”服务;非功能属性需求结合所需原子服务的属性信息,由直觉模糊数组成的用户偏好判断矩阵表示,例如 “ (0.5,0.5) (0.2,0.7) (0.4,0.6) (0.7,0.2) (0.5,0.5) (0.6,0.2)(0.6,0.4) (0.2,0.6) (0.5,0.5) ”,利用直觉模糊集理论可以计算出用户对该原子服务的QoS需求,由用户偏好权重向量表示,例如“(0.1, 0.3,0.1, 0.2,0.3)τ” ;如果无法计算出用户偏好权重向量,返回约定的失败代码给用户;
[0087]第五步:从该临时的个人需求库中读取每条需求的“前驱服务名”、“有无执行概率”和“后继服务名”,其中“前驱服务名”和“后继服务名”可能与其它某条需求中的“功能属性需求”同名,例如“住宿”服务的“前驱服务名”为“出行”,而某条需求中的“功能属性需求”名为“出行”,因此,通过查找其它需求的“功能属性需求”,与本条需求的“前驱服务名”(或“后继服务名”)进行匹配,匹配成功后,再用匹配成功的那条需求的“后继服务名”(或“前驱服务名”)与本需求的“功能属性需求”匹配,再次成功后,便可以结合本条需求的“有无执行概率”,利用图论知识构建有向图的邻接矩阵,其中“O”表示无关联,“ I ”表示有必然执行的前后关系,“2”表示有概率执行的前后关系,例如“住宿”服务的“前驱服务名”为“出行”,它匹配到“功能属性需求”名为“出行”的一条需求,而该“出行”的“后继服务名”为“住宿”,则两次匹配成功,如果“出行”执行完后必然执行“住宿”,则这两个需求之间的关系在邻接矩阵中就表示为“ 1”,如果是有概率执行便为“2”,如此就可以构建一个完整的邻接矩阵,根据邻接矩阵便可得到组合服务结构模型;如果邻接矩阵中的元素全为“0”,则无法构建组合服务结构模型,返回约定的失败代码给用户;
[0088]第六步:根据给出的组合服务中每个结构模型所对应的用户需求计算方法(公式详见图4),结合第四步得到的每个需求的原子服务的用户偏好权重向量,第五步得到的组合服务结构模型,以及每个原子服务的权重分值,计算出用户的组合服务QoS需求;再通过常用的组合服务结构模型对应的QoS参数计算方法,计算出组合服务的QoS参数,并将QoS参数归一化;最后将用户的组合服务QoS需求与处理后的QoS参数加权计算,通过Top-K算法选择出QoS值最大的组合服务即最佳组合服务,将其所有的原子服务属性、组合服务属性、组合服务结构等信息在网页上显示出来,提供给用户选择使用。
【权利要求】
1.一种规范化用户需求的组合服务选择方法,其特征在于使用用户需求描述语言规范化用户需求,主要有组合服务选择中的用户需求描述语言URDL-CSS和基于URDL-CSS语言的组合服务选择方法两部分; 组合服务选择中的用户需求描述语言URDL-CSS有固定的组成元素,其主要的组成结构包括需求基本信息、需求详细信息、服务属性信息和服务结构信息四大部分,其中需求基本信息主要有用户ID、需求ID和需求生存期,需求详细信息主要有功能属性需求、非功能属性需求和服务权重分值,服务属性信息主要是服务质量属性,服务结构信息主要有前驱服务名、有无执行概率和后继服务名; 基于URDL-CSS语言的组合服务选择方法关键在于数据处理过程,主要包括的数据有用户需求XML文档、用户需求库、个人需求库、原子服务QoS需求、组合服务结构模型、组合服务QoS需求、处理后的QoS参数和最佳组合服务,主要包括的处理过程有用户需求库查询读取分析过程、原子服务用户需求计算过程、组合服务结构模型构建过程、组合服务用户需求计算过程、组合服务QoS参数计算处理过程和用户选择最佳服务过程; 该规范化用户需求的组合服务选择方法的步骤在于先读取分析用户需求XML文档后形成用户需求库,用户需求库经过查询读取分析过程得到个人需求库,个人需求库通过进一步的分析,经过原子服务用户需求计算过程得到原子服务QoS需求,经过组合服务结构模型构建过程得到组合服务结构模型,再经过组合服务用户需求计算过程得到组合服务QoS需求,而组合服务QoS参数计算处理过程得到处理后的QoS参数,最后,用户选择最佳服务过程得到最佳组合服务,将最佳组合服务提供给上层用户,完成组合服务选择。
2.根据权利要求1所述的一种规范化用户需求的组合服务选择方法,其特征在于:组合服务选择中的用户需求描述语言URDL-CSS固定的组成元素如下: 所述用户ID:需求基本信息之一,用于标识提供某用户需求XML文档的用户的ID号,该用户ID必须是唯一的; 所述需求ID:需求基本信息之一,用于唯一标识某用户需求XML文档; 所述需求生存期:需求基本信息之一,表示该需求存在的时间起止,只有在生存期内的需求才可用,不在生存期内的需求不可用; 所述功能属性需求:需求详细信息之一,表示用户所需要的服务的功能; 所述非功能属性需求:需求详细信息之一,表示用户对所需要的服务的服务质量方面的需求,如对服务的价格、性能、可靠性等方面的需求; 所述服务权重分值:需求详细信息之一,表示用户对该服务的重视程度,并给出一个分值表示其重视大小; 所述服务质量属性:服务属性信息,列出服务具有的非功能属性,如价格、性能、可靠性、可用性、安全性、声誉度; 所述前驱服务名:服务结构信息之一,前驱服务表示执行当前服务之前,所必须要先执行的服务,没有执行过前驱服务,也就不能执行当前服务,没有前驱服务的服务为组合服务中第一个服务; 所述有无执行概率:服务结构信息之一,特别针对组合服务中的分支结构模型,在执行前驱服务后,有一定概率会执行到当前服务,有执行概率的服务即表示它当前所在的组合服务结构模型为分支结构模型;所述后继服务名:服务结构信息之一,后继服务表示执行当前服务之后,所必须或可能要执行的服务,当后续服务为多个时,可能是组合服务结构模型中的分支结构,也可能是并行结构,当无后继服务时,表示其为组合服务中的最后一个服务。
3.根据权利要求1所述的一种规范化用户需求的组合服务选择方法,其特征在于:所述的数据处理过程,其包含的数据和处理的过程如下: 1)XML文档:使用URDL-CSS语言描述的所有用户需求描述XML文档; 2)用户需求库:用户需求库是通过能够识别URDL-CSS语言的定制软件读取所有用户提供的用户需求XML文档,再将数据存入数据库形成,用于查询、读取、分析及上层的处理; 3)个人需求库:用户需求库经过查询读取分析过程得到个人需求库,个人需求库中只保存与指定用户有关的有效信息,不在生存期内的需求不保存在该数据库中,该数据库随着用户需求的各 种变化及用户需求生存期的限制而改变,具有实时更新的功能; 4)原子服务QoS需求:用户对组合服务中的每一个可能用到的原子服务的QoS需求,通过读取个人需求库信息,利用原子服务用户需求计算过程可以得到用户对每个原子服务的QoS需求; 5)组合服务结构模型:组合服务结构模型,主要有串行模型、并行模型、分支模型和循环模型,在较复杂的组合服务中,可能会同时存在这四种模型。通过读取个人需求库信息,利用组合服务结构模型构建过程可以得到组合服务结构模型; 6)组合服务QoS需求:用户对该组合服务的一个整体的QoS需求,通过读取各个原子服务QoS需求和组合服务结构模型,利用组合服务用户需求计算过程可以得到用户的组合服务QoS需求; 7)处理后的QoS参数:通过读取组合服务原始的QoS参数,再利用常用的组合服务QoS参数计算处理过程,即得到处理后的组合服务QoS参数; 8)最佳组合服务:符合用户需求的QoS值最高的组合服务,通过读取组合服务QoS需求和处理后的QoS参数,利用用户选择最佳服务过程可以得到最佳组合服务; 9)用户需求库查询读取分析过程:在用户需求库中读取出同时满足“用户名”和“需求存在时间”的用户需求信息,形成个人需求库; 10)原子服务用户需求计算过程:读取个人需求库中每个原子服务的需求详细信息及服务属性信息,利用直觉模糊集理论计算出用户的原子服务QoS需求; 11)组合服务结构模型构建过程:读取个人需求库中每个原子服务的“前驱服务名”、“有无执行概率”和“后继服务名”,结合当前服务的功能属性需求,利用图论知识构建组合服务的邻接矩阵,通过邻接矩阵可以得到组合服务的结构模型; 12)组合服务用户需求计算过程:利用得到的原子服务QoS需求和组合服务结构模型,再读取原子服务权重分值,根据给出的结合了服务权重分值的组合服务中每个结构模型所对应的用户需求计算方法(公式详见图4),计算出用户的组合服务QoS需求; 13)组合服务QoS参数计算处理过程:通过常用的各个组合服务结构模型所对应的QoS参数计算方法,先计算出组合服务的QoS参数,再将QoS参数进行归一化处理; 14)用户选择最佳服务过程:将组合服务用户需求与处理后的QoS参数加权计算,通过Top-K算法选择出QoS值最大的组合服务,供上层用户选择使用。
4.根据权利要求1所述的一种规范化用户需求的组合服务选择方法,其特征在于:组合服务选择方法的步骤如下: 第一步:所有用户给出使用URDL-CSS语言描述的用户需求XML文档; 第二步:通过能够识别URDL-CSS语言的软件读取所有用户提供的用户需求XML文档,再将数据存入数据库形成用户需求库; 第三步:从用户需求库中读取出同时满足需要服务的用户的“用户名”和“需求存在时间”没有过期的用户需求信息,形成个人需求库; 第四步:从个人需求库中读取每条需求的需求详细信息及服务属性信息,利用直觉模糊集理论计算出用户的原子服务QoS需求; 第五步:从个人需求库中读取每条需求的“前驱服务名”、“有无执行概率”和“后继服务名”,结合本条需求的功能属性需求,利用图论知识构建邻接矩阵,再根据邻接矩阵得到组合服务结构模型; 第六步:给出结合了服务权重分值的组合服务中每个结构模型所对应的用户需求计算方法,利用得到的原子服务QoS需求和组合服务结构模型,结合服务权重分值,计算出用户的组合服务QoS需求; 第七步:通过常用的组合服务结构模型对应的QoS参数计算方法,计算出组合服务的QoS参数,并将QoS参数归一化; 第八步:将组合服务用户需求与处理后的QoS参数加权计算,通过Top-K算法选择出QoS值最大的组合服务,即最佳组合服务; 第九步:将最佳组合服务提供给上层用户选择使用。
【文档编号】G06F17/30GK103838841SQ201410073869
【公开日】2014年6月4日 申请日期:2014年2月28日 优先权日:2014年2月28日
【发明者】王海艳, 王随昌, 严骐, 骆健 申请人:南京邮电大学