一种非侵入式的虚拟机集群发现方法

文档序号:9865298阅读:1395来源:国知局
一种非侵入式的虚拟机集群发现方法
【技术领域】
[0001] 本发明设及云计算技术领域,具体设及一种非侵入式的虚拟机集群发现方法,尤 其是能非侵入式并自动对同一个应用所占用的虚拟机集群进行聚类的技术。
【背景技术】
[0002] 在云计算技术时代,云计算资源往往由专业的服务提供商提供给租用者使用。运 用云计算资源后,租用者就只需关屯、其构造的应用的业务逻辑,而无需关屯、基础设施的架 构和维护。在对应用架构及部署方式完全未知的情况下,运对于提供商提高和优化云服务 的质量带来了挑战。
[0003] 从云计算优化的角度来看,对运行在各个虚拟机上的应用组件进行聚类将大有禅 益,同类组件可W运用类似的优化方法,W优化包括各项运行指标。比如对于10较频繁的 虚拟机部署于拥有更高效的存储的物理机上,对于相互之间访问频繁的虚拟机部署于同一 台物理机或者同一个局域网内。
[0004] 在聚类方法中,有Ξ种粒度:分析源码调用关系,分析包和服务的关联,分析服务 组件和应用。运些方法包括:
[0005] 1)源码分析:对部署的应用的进行源代码级别的分析,分析进行得越细致,结果 就越准确。运就将会给提供商带来大量额外的工作,同时运也会引起租户对于隐私的担忧。
[0006] 2)包与服务分析:对应用依赖包或服务进行分析,设及到对源代码更粗粒度的探 巧。,虽然降低了对隐私数据的敏感度,但同样会触动租户对隐私的敏感神经。
[0007] 3)服务组件和应用分析:通过对组件或应用关联关系的分析,获取组件间的关联 关系,可W对网络数据包的探测,或通过其他数据进行分析。 阳00引从运营商的角度来看,利用现有的系统监控内容(包括CPU,内存,硬盘的监控) 是最合理的,运些数据都是最基本的运维监测数据,对租户来说也不会造成隐私的泄露。同 时,无需人工干预,能自动化地获取聚类,将大大提高运营商的运维优化效率。
[0009] 在运种情形下,如何W基本的系统监控数据,非侵入式地(不设及租户隐私)、自 动化地、高精确度地进行虚拟机聚类成为本领域技术人员迫切解决的一个技术问题。

【发明内容】

[0010] 针对现有技术的不足,及用户的需求,本发明提供了基于关联关系发现的非侵入 式的虚拟机自动聚类方法,能避免对敏感数据的探测,并自动化完成聚类。 1 ] 为了实现上述目的,本发明采用了如下技术方案:
[0012] 一种非侵入式的虚拟机集群发现方法,应用于同一个应用所运行的物理集群和云 计算环境中的虚拟集群,包括如下步骤:
[0013] S1、数据收集,获取表示系统性能的特征数据;
[0014] S2、数据预处理,将数据归一化并进行基于赌的权重值计算;
[0015] S3、自动聚类,进行距离及类别数目识别,导出最优的类别。
[0016] 进一步的,步骤SI包括:
[0017] S11、进行系统监控,获取系统运行监控数据,包括CPU使用情况,内存使用情况, 硬盘使用情况及网络使用情况;
[0018] S12、对所述监控数据进行筛选和计算,得到表示系统性能的特征数据,包括CPU 的用户级调用所占时间、系统级调用所占时间、内存使用量百分比、每秒硬盘读/写量W及 每秒网络收/发包数,每项指标的特征数据作为一组数据。
[0019] 进一步的,步骤S2包括:
[0020] S21、数据归一化:对步骤S12中得到的特征数据进行归一化,对于每一组特征数 据计算其中的最小值min,及最大值max,将每一个数据按照下式进行变换
[0021]
[0022] 其中,MVi表示第i个数据,SV 1为转换后的结果;
[0023] S22、对变换后的数据采用如下香农信息赌的公式进行香农信息赌的计算,提取数 据的信息含量:
[0024]
[0025] 其中,X康示第i个数据,p(Xi)表示的概率;为了获取赌,将步骤S21中变换后 的数据进行分段,每一组数据分成Ξ段,落入同一段的数据拥有相同的概率Ρ (Xi),使用落 入该段的数据的个数估计概率Ρ(Χι);
[00%] S23、基于赌的权重值计算:计算集群中各个计算机节点赌的期望Ε化(X))和方差 D化(X))的乘积,作为其重要性的代表:
[0027] Εη(χ) = λΕ〇Κχ))〇αΚχ))
[0028] 其中,Εη(χ)表示特征重要性,λ为调节系数,Ε化(X))为赌的期望,D化(X))为赌 的方差;进而得到第j个特性的赌权重值,计算公式如下:
[0029]
[0030] 进一步的,步骤S3包括:
[0031] S31、距离识别:运用如下算法计算机节点间特性的关联度:
[0032]
[0033] 其中,X表示第X个计算机节点的特性,y表示第y个计算机节点的特性,Xi、表 示对应特征组中的第i个值;P(x,y)的范围为[-1,1],P(x,y)值越大,则集群中第X个计 算机节点与第y个计算机节点的关联性越强;
[0034] S32、类别数目识别:运用Affinity Propagation即AP算法计算出各个类别,计算 公式如下:
[0035] Hi, k) = S(i,k)-maXk串k,[曰。,k' )+S(i,k')]
[0036]
[0037] 其中,Hi, k)表示吸引度,即样本k对样本i的吸引度;a(i,k)表示归属度,即样 本i对样本k的归属度;S (i,k)表示相似度,即样本i和样本k的相似度; 阳0測在初始状态下,曰。(i, k)和r。(i, k)置为0,每次计算将会更新iVi (i,k)和 日"1。,1〇,直至1]1\(;[,10与1'"1。,10相等时停止,更新方法如下:
[0039] r"i(i,k) = (l-A)rt(i,k) + A;Tt i(i,k)
[0040] a"i(i,k) = (1-A)at(i,k) + Aati(i,k)
[0041] S33、导出最优的类别:通过W步长0.01不断修改P值即相似性矩阵S的对角线 上的值S(i,i),循环运行AP算法,得到不同的类别,直到达到设定的次数后,导出最优的类 另IJ,完成自动聚类。
[0042] 进一步的,为了相似度计算的准确度,使用改进的相似度计算方法,并对数据来源 虚拟机所处状态进行如下定义:
[0043] 休眠态:虚拟机的网络连接数或资源使用情况在整个生命周期内保持不变,则处 于休眠态;
[0044] 稳定态:虚拟机在300秒内的网络连接数或资源使用情况不变,则处于稳定态;
[0045] 活跃态:虚拟机在300秒内的网络连接数或资源使用情况有改变,则处于活跃态;
[0046] 改进的相似度计算方法如下:
[0047]
W48] 距离由如下公式导出:
[0049] D(x, y) = 1-C(x, y)
[0050] 最后,计算两者的相似性:
[0051]
[0052] 其中,W,为步骤S23中计算的第j个特性赌权重;vmp为第P个节点的监控数据组 成的矩阵,列表示监控指标(如第一列为CPU_user,第二列为CPU_system等),行表示时间 (如第一列为1天前,第二列为2天前等);νπν ,表示第P个节点的监控数据组成的矩阵的 第j列数据。
[0053] 与现有的技术相比,本申请具有W下优点:
[0054] 本发明的非侵入式的虚拟机集群发现方法,可W应用于同一个应用所使用的物理 集群和云计算环境中的虚拟集群,自动完成聚类工作,不需要预选指定类别数目或者对数 据进行标记聚类。本发明的方法是非侵入式的,不需要探测主机上具体运行的应用的数据 或者所传输的数据具体内容,只需要系统基本的运行数据,包括CPU使用情况、内存使用情 况、硬盘读写情况和网络进出流量。本发明还提出并运用了改进的相似度计算方法。
【附图说明】 阳化5]图1为本发明的非侵入式的虚拟机集群发现方法的核屯、步骤示意简图;
[0056] 图2为本发明的非侵入式的虚拟机集群发现方法中自动聚类步骤的流程图。
【具体实施方式】
[0057] 为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是 应当理解,运些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的 限制。
[0058] 本发明提供了一种非侵入式的虚拟机集群发现方法,应用于同一个应用所运行的 物理集群和云计算环境中的虚拟集群,包括如下步骤:
[0059] S1、数据收集,获取表示系统性能的特征数据;
[0060] S2、数据预处理,将数据归一化并进行基于赌的权重值计算;
[0061] S3、自动聚类,进行距离及类别数目识别,导出最优的类别。
[0062] 下面结合附图和实施例对本发明作进一步介绍:
[0063] 在一个实施例中,本发明的非侵入式的虚拟机集群发现方法,其步骤为: W64] (1)数据收集 阳0化]1-1)系统监控:对使用的主机进行系统监控,获取通用的系统运行数据,简称监 控数据。
[0066] 在linux系统中可W直接通过系统调用直接获取监控数据。更通用的方式是使用 跨平台的python语言中的psutil模块,也可通过一些监控软件来获取监控数据。
[0067] 获取到的监控数据应包括:CPU使用情况,内存使用情况,硬盘使用情况,网络使 用情况。
[0068] 1-2)数据筛选:对监控数据进行筛选和计算,转换为下表所描述的数据项。 W例具体内容如下表;
[0070]
[0071] 各项计算式如下:
[0072] CPU_user =用户级别调用所占用的CPU时间(S) 阳〇7引 CPU_system =系统级别的调用所占用的CPU时间(S) 阳0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1