基于协同过滤的组合服务备选服务集生成系统及方法

文档序号:7713550阅读:171来源:国知局
专利名称:基于协同过滤的组合服务备选服务集生成系统及方法
技术领域
本发明属于计算机领域,具体设计服务计算技术领域,特别涉及一种基于协同过 滤的组合服务备选服务集生成系统及方法。
背景技术
Web服务采用一系列基于XML的标准和协议,很好地解决了跨组织、异构平台上应 用的相互连接和集成问题。随着对Web服务应用要求的不断提高,能够提供增值功能的Web 服务已经得到广泛的重视。组合Web服务由广泛分布在hternet环境中各个主机节点上 的Web服务组合而成,由于缺乏对服务的统一管理和控制,使得组合Web服务整体的功能和 质量难以保证,并且一旦发布且开始执行后,组合Web服务无法停止,包括调试、优化和升 级等一系列维护活动必须在线完成,如果能够在组合Web服务运行前产生一个性能相对较 好的初始实例并提供备选实例,则在很大程度上减少了运行时出现问题的可能,并且能够 降低自适应调整的代价。针对上述问题,本发明重点研究基于协作过滤的组合服务备选服务集推荐方法, 即预测不仅基于同一个Web服务的历史执行信息,同时考虑面向相同或类似的其他服务的 执行信息。基于这些历史执行信息,为组合服务产生一个较好的运行实例,并且为组合服务 中的每个部分生成备选实例,以便在运行时发生错误后及时替换调整。当前的组合Web服务初始实例的生成方法存在以下几个问题(1)通常对用户的功能需求考虑较多,对满足组合服务中某个任务功能需求的 Web服务与相关任务绑定,作为执行实例,而对非功能需求往往只关注整个组合服务的 QoS0(2)即使考虑非功能需求,通常根据服务提供者发布的QoS信息进行服务选取,由 于用户需求不同、所处网络环境、服务器状态等因素的影响,不同用户在不同的调用时刻对 同一服务质量的感受可能会有很大的差别,因此服务提供者发布的QoS并不能准确的描述 服务的实际运行质量。(3)对于一次调用对每个任务只产生一个实例,当某个服务调用失效时,替换服务 不够方便。目前对于服务QoS的预测部分通常采用的是对历史信息求平均值的方式,这种方 式没有考虑用户的个性化差异,有些基于协同过滤的方法在一定程度上考虑了用户差异, 现有的协同过滤方式中的用户为具体用户,但是即使是同一用户在不同的时刻调用服务感 受到的QoS也是不同的,如果用户多次使用某服务,则在协同过滤方法中该用户使用该服 务的QoS值很难确定,如果采用平均值的方式仍然不够准确。真正影响服务质量的因素并 不是不同的用户,而是用户调用服务时输入数据特征、网络情况及服务所在主机的性能决 定了服务执行的QoS,也就是由一组输入、网络状态和服务器状态确定下来的一个相对固定 的模式,在该模式下各服务的执行质量保持相对稳定的范围内。因此,本发明在基于协同过 滤做服务QoS预测时,用户的概念为一个常用的使用模式,具有相似使用模式的调用感受到的服务质量比较接近。

发明内容
针对现有技术存在的不足,本发明提供了一种基于协同过滤算法的组合服务备选 集生成系统及方法。该方法通过分析服务的历史执行信息和服务的监测信息,在考虑了环 境因素、用户输入因素的影响下,进行协同过滤计算,为用户提供个性化的服务QoS预测, 为组合服务提供备选服务集,从而产生组合服务的运行实例。相关定义如下定义1服务使用信息服务一次调用后相关的执行信息及监测信息值。格式如<服务ID,所在组合服务ID,所在组合服务实例ID,所在服务器的IP,调用时刻,输 入数据量,输出数据量,主机接口吞吐量,服务器CPU利用率,服务器内存利用率,服务执行 时间 >。这些信息是为后续的模式提取模块准备相关数据。定义2服务执行特征模式对于一类服务,用户的输入、服务所处的环境等特征 往往会集中在一个或者几个范围内,而这些特征值较为接近的实例通常执行QoS也较为接 近,因此把这些相对集中的执行特征范围称作服务的使用模式。本发明主要考虑的是用户 输入数据量、主机接口吞吐量、服务器CPU利用率及内存利用率。模式的格式为<DataSizel0W DataSizehigh, CPUlow CPUhigh, Menmorylow Menmoryhigh, Throughputlow Throughputhigh>,即为 < 输入数据量范围,调用时刻CPU利用率范围,调用 时刻内存利用率范围,调用时刻主机接口吞吐量范围>。定义3服务执行特征模式库由多个服务执行特征模式组成的数据库称为服务执 行特征模式库。定义4模式-使用信息关系对于每一次调用的特征值都属于一个或者多个调用 模式,则将这种关联关系称作模式-使用信息关系,并将此关系保存于数据表中。定义5模式-服务QoS关系有一些服务的执行QoS在具体调用模式下保持稳定 或者和模式存在一定的关系,这种关系可以通过矩阵MS表示
权利要求
1.一种基于协同过滤的组合服务备选服务集生成系统,其特征在于该系统包含两个 单元,分别为使用信息整理及模式单元和基于指定业务流程和SLA的备选集及初始实例生 成单元;其中使用信息整理及模式单元包括两个模块,分别为使用信息整理模块和模式提 取模块;基于指定业务流程和SLA的备选集及初始实例生成单元包括三个模块,分别为内 存结构生成及业务提取模块、协同过滤模块和备选服务集及初始实例生成模块;使用信息整理模块实现对服务执行日志及监测日志中的值进行整理,得到后续模块需 要的信息存放在使用信息数据库中;所需要的信息为多元组数据,包括服务ID,所在组合 服务ID,所在组合服务实例ID,所在服务器的IP,调用时刻,输入数据量,输出数据量,主机 接口吞吐量,服务器CPU利用率,服务器内存利用率和服务执行时间;模式提取模块实现从使用信息整理模块得到的信息进行服务调用的常用模式提取; 内存结构生成及业务提取模块实现处理用户的输入,由用户选择组合服务及SLA,对用 户输入进行分析,得到用户输入的数据量大小、调用时刻和对整个服务的QoS约束;并根据 用户输入的数据量大小、调用时刻和对整个服务的QoS约束信息及服务的历史执行信息, 为组合服务中的每个任务及任务对应的服务获取其业务特征; 协同过滤模块实现模式匹配及基于协同过滤的QoS预测过程; 备选服务集及初始实例生成模块实现针对本次用户需求生成组合服务各任务的备选 服务集及初始实例。
2.一种基于协同过滤的组合服务备选服务集生成方法,其特征在于采用权利要求1 所述的基于协同过滤的组合服务备选服务集生成系统,按如下步骤进行步骤A、判断服务执行信息增量是否到达阈值δ,其中δ指使用信息增加的百分比; 如果到达,则触发使用信息整理,将已有的日志信息进行整理,从服务执行日志及环境监测 日志中抽取出服务使用信息,生成多元组数据包括服务ID,所在组合服务ID,所在组合服 务实例ID,所在服务器的ΙΡ,调用时刻,输入数据量,输出数据量,主机接口吞吐量,服务器 CPU利用率,服务器内存利用率和服务执行时间;否则结束;步骤B、针对步骤A中得到的使用信息增量查找具有相似调用方式的调用; 步骤C、抽取出步骤B中得到的相似调用方式中相关特征作为一个模式,相关特征是指 用户输入数据量、服务所在主机接口吞吐量、主机CPU利用率及内存利用率,时间规律需要 从挖掘日志中抽取;步骤D、对于每个模式按执行特征模式提取算法,计算此模式下每个服务的QoS信息, 得到的数据信息如下面的矩阵所示5IS2 Λ Sk 1 卜 U ^1,2 Λ cKk 2 ^2,1 ^2,2 Λ ^2,JiM MMA Mmn ki % Λ h其中Hii (1彡i彡η)表示第i类调用模式,其格式为<DataSizei。w DataSizi5high, CPUlow CPUhigh,(改成宋体比较清楚)Memorylow Memoryhigh, Throughputlow Throughputhigh),即为 < 输入数据量范围,调用时刻CPU利用率范围,调用时刻内存利用率 范围,调用时刻主机接口吞吐量范围>,彡j彡k)表示第j个服务,而qi,j为在模式叫下,服务~的执行QoS信息,主要记录了服务的执行时间信息; 其中执行特征模式提取算法,按如下步骤进行 输入服务使用信息包括执行日志和监测日志; 输出模式及模式与服务,模式与使用信息的关系;步骤1)、在服务使用信息库中随机找到一条没有所属模式的使用信息,设为信息P,其 中信息格式为 < 输入数据量,服务器CPU利用率,服务器内存利用率,主机接口吞吐量,执行 时间 >,将以其为种子产生一个新的模式,为其赋一个模式编号;步骤幻、设定该信息为服务s在执行时的特征信息,其对应上述向量的值为 <DataSizes, CPUs, Memorys, Throughput^ ts> ;步骤3)、在服务使用信息库中查找与执行信息P的执行特征相近的使用信息集合,即 将执行特征中除时间外其他特征值与s的使用信息相差在士 ε以内的信息;步骤4)、将步骤3)中得到的使用信息集合记为L(Iplyln),称作一个簇,在模式-使 用信息中将这些信息编号与该模式编号组合作为一条新的记录,如果L中个数η > minP,其 中minP为一个簇里最少执行信息条数;步骤5)、则在这η条执行信息里找到不同服务的使用信息,并且跳到步骤2),但是特征 向量包括执行时间继续在服务使用信息库中查找相似的使用信息集合,直到服务的相邻信 息个数小于minP时,说明到此时相似信息的密度已经变小,此时停止继续循环;步骤6)、对加到簇里的信息进行整理,统计各个特征的取值范围,将模式表中对应的模 式特征填写完整,并对属于该模式的使用信息进行整理,将每个服务对应到该模式下的QoS 信息记录到模式-服务表中;步骤7)、如果所有使用信息都有所属的相关模式,则结束,否则跳到步骤1)继续执行; 步骤E、用户选择组合业务流程及SLA,输入调用参数;步骤F、建立内存结构,内存结构为一个带有优先级队列的数组,如果组合服务有η个 任务,那么数组就有η个元素,每个元素对应一个任务,每个元素中包含对任务的描述,并 且对于每个数组元素对应一个优先级队列,队列中的元素为该任务的备选服务,每个元素 预留本次调用的相应业务特征信息初始状态队列中元素为满足本任务功能需求的所有服 务;步骤G、根据业务流程的历史调用信息,得到流程中每个任务的输入数据量和调用时 刻,并填入内存结构对应的服务中;步骤H、针对内存结构中每个任务对应的优先队列中的服务,根据服务的历史使用信 息,估算出在输入数据量和调用时刻确定后的主机CPU利用率、内存利用率、接口吞吐量, 并填入内存结构中;步骤I、将目标服务的业务特征与执行特征模式库中的执行模式进行匹配;如果该模 式下目标服务的QoS信息存在且在一个连续范围内,则直接将该信息返回,转步骤P ; 步骤J、如果本次调用不完全属于任何已存在模式,则转步骤M ; 步骤K、若用户业务特征属于某个执行特征模式,则查找该模式下目标服务的信息,如 果不存在执行信息则转步骤N ;步骤L、如果服务在此模式下的QoS为-1,表示在模式条件限制下该服务有执行信息, 但是其执行QoS并不稳定在一个范围内,则转步骤O ;步骤M、如果没有完全匹配的模式,则根据挖掘日志中的关联规则进行目标服务的QoS 值预测;步骤N、如果目标服务在匹配的模式下没有执行信息,则根据模式-服务信息中的其他 使用过目标服务的模式信息,基于协同过滤为目标服务预测QoS ;步骤O、如果所匹配模式下目标服务的执行状态并不稳定,则根据挖掘日志中使用信息 与时间的关联规则对其他实例与本次调用的进一步计算相似度;这里的相似度计算不仅包 括用户输入数据量、服务所在主机接口吞吐量、主机CPU利用率及内存利用率特征,还加入 了调用时刻的相似度计算,时间相似度的计算依靠使用信息与时间的关联规则,其中的使 用信息与时间关联规则中挖掘出了在某段时间内,服务的QoS保持稳定,则时间在此范围 内的相似度较高;步骤P、根据协同过滤模块得到的服务的QoS信息对满足条件的服务进行降序排序; 步骤Q、按照服务调用成功的次数与总调用次数的比值计算服务的可靠性; 步骤R、根据排序选择可靠性在0. 5以上的服务作为备选服务集; 步骤S、在备选服务集最前面的服务即为运行实例。
3.按权利要求2所述的基于协同过滤的组合服务备选服务集生成方法,其特征在于 所述的步骤D按如下步骤进行步骤Dl 如果服务在该模式下有调用信息,且调用信息中的QoS值也稳定在一个范围 内,则将该范围归纳出来并记录在执行特征模式库中;步骤D2 如果服务在该模式下有调用信息,但是调用的QoS值不连续,则将QoS信息记 为-1,并将与此模式下该服务的每条使用信息关联到模式中,将关联关系保存; 步骤D3 若服务没有此模式下的调用信息,则此处保存空值。
4.按权利要求2所述的基于协同过滤的组合服务备选服务集生成方法,其特征在于 所述的步骤G按如下步骤进行步骤Gl 在服务使用信息中查找待执行组合服务的其它调用实例信息; 步骤G2 如果存在执行信息,则根据这些执行信息得到业务流程的输入数据量大小和 组合服务中各任务的输入数据量大小的关系,为各个任务预测数据量特征信息;步骤G3 如果在使用信息中没有该组合服务的使用信息,则对待执行组合业务中的每 个任务,在使用信息中查找其它实例的执行信息,从而找出其中的输入数据和输出数据之 间的关系,则得出用户的最初输入数据量inputl经过第一个任务后的输出数据量,则该数 据量作为第二个任务的输入数据量input2,按照关联规则依次得出,最后根据初始输入,得 到每个任务的输入数据量大小;步骤G4 调用时刻特征提取每个任务的约束是在组合服务设计时就确定好的一个范 围,则可根据每个任务的时间约束,并且根据调用时刻对其他每个任务的调用时刻进行计 算,按照每个任务的时间约束与调用时刻之和进行计算。
5.按权利要求2所述的基于协同过滤的组合服务备选服务集生成方法,其特征在于 所述的步骤H按如下步骤进行步骤Hl 每个服务的业务特征格式为〈DataSize,InvokeTime, CPU, Memory, Throughput),即〈数据量,调用时刻,主机CPU利用率,主机内存利用率,主机接口吞吐量〉;使用的信息可归纳如矩阵I,
6.按权利要求2所述的基于协同过滤的组合服务备选服务集生成方法,其特征在于 所述的步骤M按如下步骤进行步骤Ml 在挖掘日志中查找与目标服务相关的关联规则,通过关联规则得到对于目标 服务来说哪个特征对QoS的影响是最大的;步骤M2 则先进行该特征的匹配,按次序匹配其它业务特征,得到相近的模式集合;步骤M3 分别在这些模式下预测目标服务的QoS信息 步骤M4 将这些预测值加权求和。
7.按权利要求2所述的基于协同过滤的组合服务备选服务集生成方法,其特征在于 所述的步骤N按如下步骤进行步骤m 计算其他服务与目标服务的相似度,找到与目标服务相似的服务集合; 其他服务与目标服务的相似度计算方法如下 设定有m个模式,k个服务,其使用信息表示为矩阵
8.按权利要求2所述的基于协同过滤的组合服务备选服务集生成方法,其特征在于 所述的步骤O按如下步骤进行步骤01 在数据挖掘中的关联规则查找使用信息与时间的关联规则; 步骤02 根据使用信息与时间关联规则进行时间特征相似度计算 使用信息与时间关联规则进行时间特征相似度的计算方法如下 将不同小时之间的相似度定义如下表, 单位小时间的相似度
全文摘要
基于协同过滤的组合服务备选服务集生成系统及方法,属于计算机领域,系统包含使用信息整理及模式单元和备选集及初始实例生成单元;方法为A判断,B查找,C形成模式,D计算QoS信息,E输入调用参数,F建立内存结,G得到输入数据量和调用时刻,H填入内存结构中;I匹配,QoS信息存在且连续则返回转P,J不完全属于已存在模式,K查找信息,不存在转N,LQoS为-1,M没有则预测,N没有执行信息则预测QoS;0计算相似度,P进行降序排序,Q计算可靠性,R选择备选服务集,S形成运行实例。本发明使得预测的结果更有针对性,更准确。
文档编号H04L29/08GK102130955SQ20111006654
公开日2011年7月20日 申请日期2011年3月18日 优先权日2011年3月18日
发明者张斌, 张莉, 那俊, 高岩, 黄利萍 申请人:东北大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1