一种基于分层贝叶斯网络模型的云服务QoS预测方法
【技术领域】
[0001] 本发明涉及一种云服务QoS预测方法,尤其涉及一种基于分层贝叶斯网络模型的 云服务QoS预测方法,属于信息技术领域。
【背景技术】
[0002] 云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通 常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算已经逐渐成为多个领 域包括效用计算、分布式计算、网格计算、Web服务以及面向服务体系结构S0A的自然演变 和集成,它使得用户可以通过网络在任何时间与地点获取计算服务能力。云计算是一种按 使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资 源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需 投入很少的管理工作,或与服务供应商进行很少的交互。云计算是通过使计算分布在大量 的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更 相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。云 计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),它将硬件设施基础资源 (服务器、存储、网络和其他设备等)作为一种服务提供给云服务客户;平台即服务(PaaS), 它将整个开发平台和提供资源与存储的开发环境托管在云中,作为一种服务提供给消费 者;和软件即服务(SaaS),它将某些特定应用软件功能封装成通过Internet或者分布式环 境的服务。
[0003] 随着对人们QoS的服务组合问题的研究日益深入,已经提出了大量相关算法和预 测方法。如Shao和Chen等人分别提出了基于协同过滤的QoS预测方法,根据不同的用户使 用记录来预测QoS。CanforaG等人提出了基于遗传算法的云服务组合方法,将组合服务编 码成染色体,适应度值是服务的综合QoS。徐猛等人提出的基于扩展图规划的Top-K服务组 合方法,通过服务索引和增加图规划中的辅助节点,使得经过一次规划搜索即可找到Top-K 个满足用户QoS要求的组合服务。Godse等人提出了一种根据QoS值自动选择WebService 的方法,它主要由三个部分组成:监测并获得WebService的QoS值;根据历史QoS值预测 将来的QoS值;根据预测的QoS值自动选择合适的WebService。虽然考虑了同一时刻的 服务组合和不同时刻的服务组合,但并没有考虑到云计算的三层结构方面对云服务QoS的 影响。因此为了预测云服务Q〇S,我们考虑了云计算的三层结构,提出了一种基于分层贝叶 斯网络模型的云服务QoS预测方法。
[0004] 云计算由于其支持虚拟化、提供服务质量保证、高可靠性可用性、自治性与快速弹 性等特点,使得云服务可以有效的进行资源配置,适应互联网的动态需求,但鉴于云服务本 身的异构性、自治性和动态性等特点引发的不确定因素影响了云计算环境下服务组合的正 确性、可靠性和可用性。怎样才能帮助用户选择最符合用户需求的云服务呢?因此,有效而 准确预测云服务QoS成为人们研究的的关键问题。
[0005] 在云计算环境下,云服务可以认为包括以下几个层次的服务:基础设施即服务 (IaaS),平台即服务(PaaS)和软件即服务(SaaS),但是并没有深入层次结构获取结构层次 上的数据来预测更适合的组合服务来满足用户的需求。并且考虑到用户对应用的QoS需求 是随时间变化的,服务提供方所提供的服务所满足的QoS约束也是随时变化的,怎样才能 预测出更适合的云服务QoS以满足用户的未来需求?因此如何构建能够满足用户QoS需求 的云服务是云服务应用领域亟待解决的难题。
【发明内容】
[0006] 发明目的:针对现有技术中存在的问题与不足,为了能够满足用户QoS需求的云 服务,有效而准确预测出更适合的云服务QoS以满足用户的未来需求,本发明提供一种基 于分层贝叶斯网络模型的云服务QoS预测方法,在云计算环境下,从云计算的三层服务方 面用分层贝叶斯网络模型的云服务QoS预测方法以满足用户的需求。
[0007] 技术方案:一种基于分层贝叶斯网络模型的云服务QoS预测方法,从云计算的三 层服务一一基础设施层、平台层和软件即服务层来实现,根据用户需求,首先将基础设施层 和平台层的组合服务数据结合作为底层贝叶斯网络的推理结果,以此作为不确定证据,输 入到应用层为其的先验概率,结合应用层的服务数据计算预测云服务QoS。
[0008] 基础设施层(IaaS):基础设施层(IaaS)主要收集与硬件资源相关的数据,如CPU 使用、网络和存储数据等。
[0009] 平台层(PaaS):平台层(PaaS)主要收集云服务QoS业务流程的数据,另外,PaaS 层中还设立了一个总的数据中心,用于汇总IaaS、PaaS中数据收集器收集到的数据。
[0010] 软件即服务层(SaaS):软件即服务就是所说的应用层,主要收集应用程序执行相 关的数据。SaaS层也设立一个总的数据中心,用于汇总IaaS、PaaS、SaaS中数据收集器收 集到的数据。在不同的时间间隔内,数据中心中数据的值会根据单个云服务粒度大小的不 同而更新,数据中心将收集的云计算环境下服务组合的数据用分层贝叶斯网络模型的云服 务QoS预测方法预测出适合的云服务QoS以满足用户的需求。
[0011] 基于分层贝叶斯网络模型的云服务QoS预测方法,具体过程如下:分层贝叶斯网 络用动态置换贝叶斯网络结点会使顶层网络结构变得越来越复杂,对同一结点分别置换不 同的贝叶斯网络又很容易造成网络结构混乱,这给推理预测带来难度。因此使用构建虚拟 结点的方法,动态的构建贝叶斯网络来推理预测问题。在云计算环境下,用分层贝叶斯网络 模型结合云计算的三层服务来分层预测云服务Q〇S,根据用户需求,首先将基础设施层和平 台层的组合服务数据结合作为底层贝叶斯网络的推理结果,以此作为不确定证据,输入到 应用层为其的先验概率,结合应用层的服务数据计算预测云服务QoS。
[0012] 一种基于分层贝叶斯网络模型的云服务QoS预测方法,包括以下步骤:
[0013]步骤1 :根据可靠性标准,设定原假设H。与备择假设Hi。其中,原假设和备择假 设必须互斥,接受一方,必须拒绝另一方;根据可靠性标准,建立对立的原假设H。与备择 假设H1:HQ:RQ〈T〈R1;H1:T〈 =R。或者T> =R1;由贝叶斯网络推理得到概率信度值区间值, 默认为R/lXRi,在概率信度值区间选取阈值Thres,概率信度值T与阈值Thres的比较, T〈Thres,表明云服务QoS结果不满足声明条件;T>Thres,表明云服务QoS结果满足声明条 件;T =Thres,表明无法确定云服务QoS结果是否满足声明条,预测失效。
[0014] 步骤2 :数据收集。在基础设施层(IaaS),平台层(PaaS),应用层(SaaS)分别设 计数据收集器,收集不同云层次的相关数据。其中基础设施层(IaaS)收集器主要收集与硬 件资源相关的数据,如CPU使用、网络和存储数据等;平台层(PaaS)收集器主要收集云服 务Qos的业务流程的数据以及收集基础设施层(IaaS)提交的数据;应用层(SaaS)收集器 主要收集应用程序执行相关的数据以及收集基础设施层(IaaS)和平台层(PaaS)提交的数 据。
[0015] 步骤3 :读取软件运行时的观测变量组合作为训练样本X/,对训练样本X/进行预 处理,存入样本集TX。使用贝叶斯网络必须知道各个状态之间的