第一章 绪论
1.1研究背景
Web 服务是支持计算机之间通过网络相互协作与交互的软件实现,支持通过基于 Internet的协议以及基于 SOAP 的消息与其它 Web 服务或者软件系统实现交互,具备协议标准、开放、高度可集成等特点[1]。近年来,尤其是步入云计算时代以后,发布在 Internet 上的 Web 服务的数量更是增长迅速,各类资源大多数都以服务的形式存在于互联网,使得服务能够“按需响应,快速响应”。随着大数据技术的日益推进,如何从海量服务中更好地识别出满足用户需求的高效服务已成为当前大数据应用研究领域的热点问题之一。服务识别面临新的挑战,如何制定合适的满足用户需求的服务识别方法,从而识别出优质服务,为后续服务组合与推荐所用是面向大数据的服务识别方法要解决的关键问题。
随着诸如智能手机,平板电脑,可穿戴设备等广泛的移动和便携式设备的普及和广泛使用,群智感知为收集数据和提供信息服务提供了新的范例。目前,对于群智感知这一概念的看法尚没有明确和统一的定义。不同的研究侧重于不同点,并且在定义上也存在差异。在国外,最早是由 Estrin 等人提出的参与式感知[3],即通过如手机等移动设备进行感知,形成交互式的参与式的感知网络,从而帮助用户们收集、分析和分享本地的知识。国内最早研究这方面工作的刘云浩老师指出:群智感知的理念就是要无意识协作,让用户在不知情的情况下完成感知任务,突破专业人员参与的壁垒[4]。基于上述有关概念,能够实现大范围的数据感知,在应用领域和研究领域都得到广泛关注。Common Sense[5]是加州伯克利大学(UCB)开发的,用于检测空气质量的应用,Creek Watch[6]是 IBM 公司用于进行关于水域污染状况调查研究的项目,PEIR[7]是加州大学洛杉矶分校(UCLA)利用位置信息来研究用户与环境相互影响的项目,上述的研究都是当前群智感知领域的研究项目。此外,Ear-Phone[8]是著名的噪音级别监测项目,BikeNet[9]是关于健康服务类的项目、CenceMe[10]是当前比较热门的社会感知与社交网络结合项目,同时著名的商业化地图服务公司位(Waze)[11]等都是群智感知在社会生活中的广泛应用。在国际知名学术会议例如 Infocom,Ubicomp,Percom,Mobicom 以及著名研究单位UCLA CENS,UCB CSD 等都将群智感知研究作为一个重要的研究领域。
.........................
1.2研究现状
传统的服务识别工作在如何提高服务识别效率与准确度方面取得了一系列研究进展,通过将不正确聚合的服务重新再聚类,Kumara B T G S [12]提出了一种后过滤方法,以提高聚类的精度。Abe M 等人[13]描述了一种通过基于过程模型的差异划分和聚合流程实例来自动检测关键性能指标(KPI)阈值的方法,从而将服务识别过程中的关键性指标检测出来。Kumara B T G S 等人[14]提出了基于集群的服务推荐方法,从而降低了服务推荐的时间复杂度。Kapitsaki G M 等人[15]提出了 Web 服务部分的注释的分类技术,以便更快地检索相关服务。Deng S 等人[16]针对当前服务选择研究很少考虑服务之间的 QoS 相关性问题,提出一种相关感知服务修剪(CASP)的服务识别方法。Surianarayanan C 等人[17]为了满足用户关于相似性的需求,提出了用于服务发现的基于分层聚类的方法。Chen Y 等人[18]根据 QoS 是由几个属性组成的聚合概念,从普通帕累托最优角度研究问题,寻求减少服务组合中的搜索空间,将服务选择与服务组合看作一个关于 QoS 的多目标优化问题。Q. Ma 等人[19]描述的方法提供了一组措施,将服务识别作为一个多目标问题去解决,允许设计者去验证服务识别。并且,在 Q. Ma 等人工作的基础上,Bianchini D 等人[20]提出了 P2S 方法,该方法提供了进一步的措施以在识别期间辅助设计者,考虑了业务过程的结构的 P2S 方法会给予设计者更好的反馈。
随着大数据的兴起,针对海量服务场景下的服务识别,Sharifi M 等人[21]提出了一个基于共识理论的服务评估方法,利用共识理论来评估单个服务行为 QoS 标准,使用众包这样一种新形式来处理服务识别与服务选择中 QoS 评估多样性等问题。Nogueira Souza F 等人[22]提出了 DSOA 平台,这是一个支持基于服务质量属性的动态服务组合的环境,考虑在不同的场景下,服务选择与服务组合的动态性问题。Adami L J 等人[23]提出了一种 GALA 算法,解决云计算场景下服务质量难以保证的问题,保证服务识别时的服务质量都已达到较高水平。同时,针对海量服务场景下,不同服务类型的服务识别,一些研究者重点关注诸如 RESTful 服务和语义服务等不同类型服务的服务识别与服务组合问题,Cai H 等人[24]考虑到当下 SaaS 应用程序愈发流行的情况,提出了一种基于粒度计算的多租户服务组合的服务粒度空间,为多租户服务组合提供了语义基础。Zhang N 等人[25]提出一个面向目标的服务发现方法,其目的是获得准确的符合用户功能目标的 RESTful 服务。Liu J 等人[26]为了帮助用户快速,准确地找到满足其需求的语义 Web 服务,提出了一种基于朴素贝叶斯理论的语义 Web 服务分类方法。
............................第二章 基础理论知识介绍
2.1群智感知
2.1.1 众包
众包是新兴的基于 Web 2.0 的现象之一,近年来引起了业内人士和学者的极大关注,它可以促进人、组织和社会之间的联系和协作。众包(crowdsourcing)这一概念是由美国《连线》杂志的记者杰夫?豪(Jeff Howe)在 2006 年 6 月提出的[47],正如 Jeff Howe 所指出,众包一词被广泛用于各种形式的活动,众包这种强大的适用性使其成为一种有效且强大的感知方式。而针对众包这一概念,根据所使用的方式与出发角度不同,目前对于众包这一概念并没有一个统一的定义,众包旨在动员有能力和专业知识的人士参与其中,但这些人大都分散在人群中,并且众包具有不同的形式。虽然一些众包平台具有更强的竞争性质,比如“创意竞争”和“设计竞赛”,但众包并不仅仅局限于竞赛型的风格。一个典型的众包过程多半是由一个组织给出相关的任务并将其发布到网络上,让那些有兴趣的外部人员在组织的名义下执行这些任务,他们会获得规定的费用或其他奖励。然后,可以由大量的个体提出单独或以协作的方式承担这些任务。完成后,参与者将他们的工作提交给众包平台,然后组织评估工作的质量。但值得一提的是,并不是所有的众包都会给予参与者奖励。给予奖励的众包项目为补偿有价值的贡献者提供了一种清晰的蓝本;也有一些情况下,例如维基百科或戴尔的 Ideastorm,参与的贡献者并不会得到奖励作为补偿。
根据大众参与众包的不同形式,众包被分为协作式众包(collaborative crowdsourcing)和竞赛式众包(crowdsourcing contest)[47][48]。协作式众包以大众群体为基础,它将众包任务分发给大众群体去完成,而且协作式众包多半没有报酬奖励;而竞赛式众包则不同,它将众包任务分发到个人,由个人单独去完成自己的众包任务,每个参与者根据任务完成情况会得到相应的奖励。
维基百科和 CMU 的 reCAPTCHA 项目就是协作式众包的经典案例。维基百科是一个非盈利性质的百科全书协作计划,维基百科允许任何人对其条目进行编辑和修改。然而,一个人的知识储备很难完成这样的任务,因此,众包是实现这一构想的最佳方式之一。CMU 的re CAPTCHA 项目主要旨在完成文献数字化,将一些机器难以识别的文献用众包的方式完成数字化。
.............................
2.2 服务识别
在 SOA 设计中,许多研究关注于两种服务类型:业务服务和软件服务[56]。所谓业务服务,是一种相对而言由服务提供商提供了完整的业务逻辑的服务。商业服务是整个业务流程的抽象,描述了整个业务功能或者业务目标。从商业价值的角度来说,一个商业服务通过提供商与用户之间的相互关系产生或获取价值。所谓软件服务,是一种把管理软件和实施服务一体化打包的软件服务模式。软件服务实现了一些功能,并且可以通过提供接口给其他服务或者组织调用。一些功能普通的软件服务可以组合成具有特殊功能的服务,进而实现商业服务。Web 服务就是一种最常见的软件服务的实现。
2.2.1自上而下的服务识别策略
采用自上而下的服务识别策略,意味着 SOA 设计从业务需求开始。业务服务通过对需求的建模以及对业务模型的分析而产生。然后再将业务服务映射到软件服务。自上而下的策略优点在于整个业务流程的业务功能具有良好的可扩展性,高耦合度。但是,自上而下的策略会忽视所选服务的费用,导致整体服务的费用偏高。
2.2.2自下而上的服务识别策略
采用自下而上的服务识别策略,意味着分析现有的软件体系成为了 SOA 设计的第一步。通过对现有体系的分析,选择其中功能相同但是损耗小的服务作为候选服务,进而讲这些低损耗的服务组合起来去实现业务流程。自下而上的策略的优点在于候选服务的可重用性。但是,自下而上的策略可能有时不能很好地去实现所需要的功能,导致整体服务的适用性收到限制。
2.2.3服务识别策略中常用方法
无论是自上而下的服务识别策略还是自下而上的服务识别策略,都并不容易实现。目前,并没有一种普适的方法用于服务识别。但是,一些方法或行为会经常在两种服务识别策略中使用,这些方法或行为在服务识别中非常高效。我们讲这些方法定义为高价值方法,它们既适用于自上而下的服务识别策略,也适用于自下而上的服务识别策略。常见的高价值方法如表 2.1 所示:
........................
3.1研究思路 ............................ 15
3.2海量服务聚类 ......................... 16
3.3满足用户需求的服务集优化 ........................ 17
第四章 基于混合方式的群智感知激励机制 ...................... 26
4.1研究思路 ......................... 26
4.2基于混合方式的群智感知激励机制 .................. 27
第五章 原型系统及应用示范 ................... 37
5.1原型系统 ................................... 37
5.1.1 背景介绍 ............................ 37
5.1.2 系统结构 ........................... 38
第五章 原型系统及应用示范
5.1原型系统
5.1.1背景介绍
随着互联网技术的飞速发展,网络上的服务数量也随之急剧增长。然而,这种增长远远超过个人或系统所能接受、处理和有效利用的范畴。在这种环境下,能够针对不同用户需求的服务识别应运而生,服务识别策略及其相关技术已成为学术界和工业界的一个热门研究课题。随着信息科技的进步,计算技术得到了飞速的发展,服务数量也日益庞大,在面对众多应用需求,其中需要面对的挑战也纷至沓来,其中包括:
(1)服务识别指标不能真实反映用户需求。能否满足用户需求应当成为服务识别的重要指标,但对于,而用户期望的服务可能和按照其他标准识别出的服务之间存在较大差距,导致服务识别结果未必满足用户需求。
(2)服务识别缺乏可信监控机制。由于现有的识别方法较少关注用户与服务的反馈关系,默认情况下,认为提供反馈的用户都是可信的,一些恶意用户的评价会导致性能低下的服务被误识别为优质服务,从而影响服务识别效果。
除了以上两点服务识别面临的问题,服务推荐系统仍然存在其他诸多问题,例如:随着满足各种服务的分布式应用系统逐渐得以应用和发展,各式各样的服务具有不同形式表现但是能够满足同一服务序列下的消费服务,譬如当下的单车服务和支付服务分别有不同公司来处理这一服务。于是在这样的环境下,快速找到相同功能的服务在其服务失效或者故障前并对其有效替换,来保证组合服务的高效运行以及满足用户的体验,因此服务替换理论及其相关技术已成为一个热门研究课题。
.......................
第六章 总结与展望
6.1工作总结
本文主要是针对用户需求的海量数据场景下的服务识别问题进行研究。首先分析了目前服务识别领域的研究现状以及存在的问题,总结了针对用户需求进行服务识别的研究意义,同时介绍了有关群智感知、机器学习、粒子群算法、服务识别方法的概念理论和方法流程;其次,对本文的主要工作:基于用户需求的面向海量数据的服务识别方法与基于混合方式的群智感知激励机制进行了详细的阐述介绍;最后,通过实验仿真与原型系统进一步验证本文提出的方法的可行性和有效性。
本文的主要贡献如下:
(1)针对服务的可用性、可靠性、响应时间、开销等参数,提出一个基于用户需求的面向海量数据的服务识别方法,考虑到海量服务场景下,利用聚类算法与并行的 PSO算法对服务进行识别,提高了识别效率。同时加入基于 Beth 信任模型的质量监控模块,对于已识别的服务进行筛选,确保最终的服务是满足用户需求的,提高了服务识别的精度。
(2)在基于用户需求的面向海量数据的服务识别方法的基础上,结合群智感知构建基于混合方式的群智感知激励机制。不同于一般基于某一种方式的激励机制,本方法通过采取混合方式的激励机制,利用一种新型报酬分配方式,提高了用户的参与度,同时针对群智感知数据质量低下问题,加入了质量监控模块,杜绝群智感知中的“搭便车”问题,提高感知数据的质量。
(3)本文最后设计实现了仿真实验以及原型系统验证方法的可行性与有效性。服务识别系统作为原型系统的子模块之一,具体介绍了原型系统的构造、相关流程以及功能特性。同时,给出服务识别子模块应用的具体场景:一方面,能更加直观地去理解本文提出的相关研究理论成果,另一方面,也验证了本文所提出的相关理论研究的可行性。
参考文献(略)