1. 引言
在云计算模型中,用户的需求是服务资源预留的主要依据。而现实中,用户的喜好往往是随着时间的推移变化的,例如新的云服务出现后,用户根据自己的体验,往往会选择新的云服务。
本文提出用户偏好的服务选择策略,该策略通过综合考虑用户个性化的QoS心理预期,在时间上的变化规律,预测特定时间段内云计算的任务负载分布以及用户QoS目标,动态调整云计算环境中的服务选择策略,提升整体的资源利用率,实现用户对单位资源满意度最大化。基于用户偏好的服务选择策略建立起一个以时间轴为变量的策略,将云计算的服务时间划分成不同的服务时间片,通过对用户偏好进行统计和数据挖掘,得到同类用户的任务分布与QoS要求在时间轴上的离散分布规律,从而将不同云计算中心的服务时间片根据不同的服务选择策略进行轮转,使云计算系统在用户满意度和时间开销上实现均衡。
2. 相关工作
如文献[1] -[3] 所述,目前大多数云计算的服务选择策略的研究是假设用户无差别。事实上,不同的用户有不同的偏好包括他们感兴趣的内容、上网时间等。文献[4] 论述了基于全局QoS约束分解的Web服务动态选择。事实上,在用户群体基本不变的情况下,影响云计算服务选择的关键因素是用户偏好。文献[5] [6] 对于可预测的、长期的、周期性的负载采取主动方式,使用统计和机器学习、研究任务分配、最短路径,建立长期负载模式下的性能模型,文献[7] 研究云计算环境下,基于蚁群算法的任务分配,分析大量的负载变化统计数据,为全局资源多目标优化提供决策支持。文献[8] 研究了用户隐私属性及其分类,文献[9] 研究了用户体验质量(QoE)的模型与评价方法,两者都是从用户的角度进行研究的。
综上所述,目前关于云计算的服务选择着重于分析资源物理位置放置、负载变化等因素的影响,虽然有从用户的角度研究的,而很少涉及云计算用户偏好对服务选择策略的影响。在文献[10] 中,QoS评价模型统一认为,QoS最终是通过用户的满意度来体现的Qos优劣的统一标准应该是用户的满意度,因此,为了满足用户对不同云计算服务的不同需求,研究用户偏好对服务选择策略的影响具有重要的意义。
3. 服务选择模型设计
3.1. 云计算模型
基于云计算的模型如图1所示,它是一种面向服务的层次化体系结构,包括以下4层:管理层,主要实现集中化管理,为用户提供支持工具,包括问题求解管理、仿真数据库和模型库管理、分析评估管理等。资源层,主要实现资源的虚拟化,包括应用服务资源池、数据服务资源池、存储资源池等。应用层,为用户提供的应用程序。最上层是用户层,是云计算服务的对象。
3.2. 基于用户偏好的服务选择框架
基于用户偏好的服务选择策略,建立一种基于用户行为特征分析的分布式调度框架(如图2所示),分为三层,从上到下分别是云服务、控制中心、资源池。云服务的用户代理负责收集本地用户行为信息然后上传给各类SaaS (服务提供商)的用户行为数据分析处理模块,其中用户数据分析的过程如图3所示。

Figure 2. User preferences-based service selection framework
图2. 基于用户偏好的服务选择框架

Figure 3. User behavior data processing
图3. 用户行为数据处理过程
用户行为数据分析处理模块通过用户提交任务查看用户的行为,然后对用户的行为历史数据进行统计、分析,定性刻画出某个时间片内用户的工作状态和任务完成时间的心理预期。用户行为规律数据按服务类别聚类化,采用唯一的服务类别编码,统一存储在云计算的综合控制中心的策略管理模块。任务调度模块收到任务管理模块的请求后,根据服务编码查找当前时间片内服务选择策略,然后进行资源动态分配。
4. 基于用户偏好的服务选择策略
用户满意度与成本是IaaS (信息服务商)所关注的两个重要指标。大量的调度算法都是在固定的QoS指标下寻求局部最优服务选择,但它们忽略了用户期望任务完成时间在时间轴上的变化规律,从而导致可能消耗了大量的资源却对用户总体满意度无增长贡献即单位资源的平均用户满意度贡献率低。本文基于用户偏好调整特定时间片内的服务选择策略,根据用户期望的完成时间来决定服务选择策略,从而达到提升单位资源的平均用户满意度的目的。
本文基于用户偏好的服务选择策略思路如下:通过策略管理器持续收集SaaS的终端用户偏好,建立用户偏好信息表,给每个服务任意时间片内的工作状态和QoS等级做好标记。当有任务提交到任务管理器时,资源调度器通过查询用户偏好信息表,规划任务队列和服务选择策略,实现单位资源的用户满意度最大化。
本文主要涉及两个算法:一是用户偏好信息表构建算法,二是基于用户偏好的服务组合算法。
算法一:用户偏好信息表构建算法伪代码如表1。
定义3.1:用户在第七个周期内累计访问服务组合Si的时长为
,1 ≤ k ≤ m,这里采用一周作为一个周期,m表示周期数。周期的编号采用由早到晚的顺序递增排序。
定义3.2:加权平均时长
需重点考虑用户在最近m个周期内访问服务组合的时长,即离当前时间越近的访问记录对服务访问时长的统计结果影响越大。
定义3.3:当两服务组件属于同一服务组合中的元素时,称其为一组组件对。假定所有组件对集合为
为服务组合St中的服务组件。

定义3.4:两服务组件属于同一服务组合中的元素时的次数
,1 ≤ x ≤ p,1 ≤ y ≤ p,x ≠ y。其中,p为用户所访问服务组合中的服务组件数。
定义3.5:服务组件
和组件
的亲近度【】记作
。组件间的亲近度表示两个服务组件在用户访问偏好上的相似性,通常用户对服务的访问越频繁,则这些服务节点被用户选择的几率就越高。
用户访问组件
和
的时长
,
和
即为用户访问其所属服务组合的时长
。且组件间的亲近度是对称的,即:
,x ≠ y。
定义3.6:直接距离
。由于组件的直接距离由组件间的亲近度决定,即直接距离与亲近度呈反比例关系。亲近度越高的组件,表明它们作为服务组合中的元素被用户选中的次数越多,由此得到的两者间的直接距离越短。公式3.1反映了直接距离
与服务组件
,亲近度[11] 的关系。

Table 1. User preferences-based information table construct algorithm
表1. 用户偏好信息表构建算法
(公式3.1)
算法二:基于用户偏好的服务组合算法流程图如图4所示,伪代码如表2。
5. 实验及结果分析
5.1. 云测试平台
实验测试环境是华为公司的云测试平台HUTAF (Huawei United Test Automation Framework),该平台由四大功能模块组成,测试集成控制中心TICC (Test Integration Control Center),是云测试平台的核心,功能是任务调度和资源分配;测试配置管理LCM (Lab Configuration Manager),负责测试资源的整合、归并与统一管理;测试执行平台TEP (Test Execution Platform)负责执行从TICC中心下发的自动化测试任务;测试管理服务系统TMSS (Test Management Service System)负责测试用例、测试脚本以及测试任务相关信息的管理。

Table 2. User preferences service composition algorithm
表2. 基于用户偏好的服务组合算法
5.2. 实验条件
实验基本条件设定如下:将算法2嵌入到HUTAF云测试平台的TICC模块中。对文中提出的基于用户偏好的服务选择策略算法UPSC进行验证,并对单位资源的用户满意度与经典调度算法AHP算法进行比较。设定测试时间为10 × 1周。把LCM 中实验用的资源池进行隔离,要求隔离出来的资源池必须满足所有测试任务的最小资源需求,并根据实验需要为每一个TICC服务器分配一个资源池。
5.3. 实验结论
根据实验获得数据,生成AHP算法与UPSC算法用户满意度对比图表如图5所示。AHP算法与UPSC算法的时间花销试验数据如表3所示,对比如图6所示。从图中能明显的看出,两种算法的时间花销都是随着候选服务数量的增加不断增加,但UPSC算法在时间方面的花销明显低于AHP,说明UPSC性能较优。两种算法的不同之处在于,UPSC算法不仅根据用户需求进行偏好分析,而且根据服务的不同属性进行分类、聚类,这样能有效地凸显服务优势。
对实验结果进行分析,得到如下结论:UPSC算法比AHP算法更能较好的满足用户需求,服务选取方法更为有效合理,因为UPSC算法以用户偏好为主线,主要考虑了用户近期访问服务的行为偏好,按照时间的先后顺序,判断出用户近期访问的服务的规律,由此确定近期用户对服务的偏好程度,而且引入Dijkstra [12] 最短路径算法,用来确定更为快捷的组合方案,从而提高了用户满意度。文献[13] 中的AHP算法采用层次分析法进行用户需求分析,并未将服务资源中的服务与用户需求与进行匹配,这样会导致
表3. 时间花销数据表
所选服务与用户需求不能高度一致,致使所选服务不能达到较高的用户满意度。总之,UPSC算法在用户满意度指标上优于AHP算法。这是由于UPSC能有效的根据用户的需求不断的筛选掉冗余的候选服务,缩小服务选择空间,保留与用户需求更匹配的服务。因此,通过这种方式选取到的服务增加了候选服务的可用性,提高了用户满意度。
6. 结束语
云计算环境下的服务选择问题极其复杂,本文提出的基于用户偏好的服务选择策略,从分析用户偏好和用户需要的期望着手,在今后将主要从以下两方面展开研究:一方面是完善用户偏好信息表,对用户信息的大数据建模并进行数据挖掘,进一步提高用户偏好分析的准确度,以准确把握用户期望。另一方面,服务资源分类的准确性关系到与用户需求匹配的准确度,所以要进一步研究聚类算法的选取,使服务选择机制更加完善。
基金项目
山东自然科学基金ZR2013FM008。