《用于标识互补数据对象的方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于标识互补数据对象的方法和系统.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103336770 A(43)申请公布日 2013.10.02CN103336770A*CN103336770A*(21)申请号 201310052011.X(22)申请日 2013.02.1712157304.2 2012.02.28 EPG06F 17/30(2006.01)(71)申请人国际商业机器公司地址美国纽约阿芒克(72)发明人 HH马达克里 M拉本斯金(74)专利代理机构北京市金杜律师事务所 11256代理人王茂华 黄倩(54) 发明名称用于标识互补数据对象的方法和系统(57) 摘要本发明的实施例提供了一种用于标识互补数据对象的方法和系统。在一方面,本发。
2、明涉及用于标识互补数据对象的计算机实现方法。该方法包括:提供(101)多个数据对象(D01-D16);应用(102)聚类算法,以用于将至少一些所述数据对象分组到两个或更多簇(215-217,301-303)之中;针对每个簇,计算(103)簇中心(221-223,310-313);针对所述簇中心之中的至少第一簇中心(310)计算(104)互补簇中心(312);确定(105)第二簇的第二簇中心(311),该第二簇中心被确定为簇中心之中具有关于互补簇中心(312)的最小距离的簇中心;选择(106)所确定的第二簇的至少一个数据对象(316)。(30)优先权数据(51)Int.Cl.权利要求书4页 说明。
3、书10页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书4页 说明书10页 附图3页(10)申请公布号 CN 103336770 ACN 103336770 A1/4页21.一种用于标识互补数据对象的计算机实现的方法,所述方法包括:-提供(101)多个数据对象(D01-D16),每个所述数据对象具有多个属性-值对(401-406);-应用(102)聚类算法,以用于将至少一些所述数据对象分组到两个或更多簇(215-217,301-303)之中,所述分组取决于所述数据对象的所述属性-值对;-针对每个所述簇,计算(103)簇中心(221-223,310-313),所述簇中。
4、心包含从属于所述簇的所有数据对象的所述属性-值对衍生的多个衍生属性-值对;-针对所述簇中心之中的至少第一簇中心(310)计算(104)互补簇中心(312),所述第一簇中心是所述簇之中的第一簇(301)的簇中心,所述互补簇中心具有关于所述第一簇中心的最大可能程度的互补性;-确定(105)第二簇的第二簇中心(311),所述第二簇中心被确定为所述簇中心之中具有关于所述互补簇中心(312)的最小距离的簇中心;-选择(106)所确定的所述第二簇的至少一个数据对象(316)作为与所述第一簇(301)的所述数据对象互补的数据对象。2.根据权利要求1所述的计算机实现的方法,其中每个所述数据对象代表数据片段,并。
5、且其中每个数据对象的至少一些所述属性值对是从包含以下项的组中以任意组合选择的:-平均CPU利用率;-最大CPU利用率;-平均磁盘空间利用率;-最大磁盘空间利用率;-平均存储器利用率;-最大存储器利用率;-平均磁盘I/O利用率;-最大磁盘I/O利用率;-平均网络I/O利用率;以及-最大网络磁盘I/O利用率。3.根据前述权利要求中任一项所述的计算机实现的方法,其中每个所述数据对象代表数据片段,所述数据片段执行于或存储于硬件资源上,其中一个或多个所述属性是资源消耗属性,所述方法还包括:-在一段时间期间监测执行于或存储于所述资源上的所述数据片段的一个或多个所述资源消耗属性的所述值;-针对每个被监测的所。
6、述属性以及针对每个所述数据对象,计算在一段时间中的最大和/或平均资源消耗属性值;以及-将计算出的所述最大和/或平均资源消耗属性值分配给代表被监测的所述数据片段的所述数据对象,以便使用分配的所述属性值作为所述聚类算法的输入。4.根据前述权利要求中任一项所述的计算机实现的方法,其中每个所述数据对象代表将要执行于或存储于硬件资源上的数据片段,还包括:-由数据放置引擎接收一个或多个进一步的数据对象(D17-D19),每个所述进一步的权 利 要 求 书CN 103336770 A2/4页3数据对象代表当前执行于或存储于所述硬件资源上的数据片段,每个所述进一步的数据对象包含多个属性-值对,其中一个或多个所。
7、述属性-值对指示所述硬件资源的当前已消耗的能力;-使用接收的所述一个或多个进一步的数据对象,以用于将所述进一步的数据对象分组到一个进一步的簇(222)之中以及用于计算进一步的簇中心(240),所述进一步的簇中心是所述进一步的簇的簇中心;-使用所述进一步的簇中心作为所述第一簇中心,以用于计算所述互补簇中心以及用于确定所述第二簇;以及-将所述第二簇的数据对象所代表的一个或多个数据片段自动传送至所述硬件资源或者提示用户发起所述传送。5.根据前述权利要求1-3中任一项所述的计算机实现的方法,还包括:-由数据放置引擎(208)接收至少所述第一簇和第二簇的指示;-将所述第一簇和所述第二簇的数据对象所代表的。
8、数据片段自动传送至硬件资源或者提示用户发起所述传送。6.根据前述权利要求中任一项所述的计算机实现的方法,其中所述聚类算法选自包含以下项的组:-k-均值聚类算法;-k-中心点聚类算法;-人口统计聚类算法;-自组织映射聚类方法;-将数据对象分组到充当簇的预定义数目的类之中的归类算法;以及-交叠聚类算法。7.根据前述权利要求中任一项所述的计算机实现的方法,其中所述簇中心的所述计算包括:-针对每个所述数据对象,将所述数据对象的所有属性-值对表示为对象矢量,所述对象矢量的每个元素对应于所述属性之一并且已存储所述属性的值;-提供针对每个所述簇的中心矢量,所述中心矢量指定所述簇的所述簇中心,其中处在所述中心。
9、矢量中给定位置处的元素和在所述对象矢量中具有相同的所述位置的元素代表所述属性中的相同属性;-针对每个所述簇,通过将算术平均值存储到所述簇的中心矢量的每个元素中而计算其相应的簇中心,所述算术平均值是从存储在所述簇的所述对象矢量的对应元素中的所述值计算得出的。8.根据权利要求7所述的计算机实现的方法,还包括:-随机选择确定的所述第二簇的一个或多个数据对象或者提示用户执行所述选择;-其中对所述一个或多个数据片段的所述传送包括自动传送由所述第二簇的被选择的所述数据对象所代表的所述一个或多个数据片段或者提示用户发起所述传送。9.根据权利要求7-8中任一项所述的计算机实现的方法,还包括:-在计算所述算术平。
10、均值之前将存储在所述对象矢量的元素中的所有值规范化,经规范化的所述值大于或等于0并且小于或等于预定义的最大值MaxV;其中通过使用每个相应权 利 要 求 书CN 103336770 A3/4页4簇的相应的所述数据对象的经规范化的所述属性-值对作为输入而计算所有簇的所述簇中心;其中关于所述第一簇的所述互补簇中心的所述计算包括:针对已存储属性值PVe的所述第一簇的所述中心矢量的每个元素e,计算互补值CVe,其中CVeMaxV-PVe;将每个互补值CVe存储至充当所述互补簇中心的互补中心矢量的元素;-针对每个所述簇,计算所述簇的所述中心矢量与所述互补中心矢量之间的欧氏距离;-使用所述欧氏距离以用于将。
11、所述第二簇中心确定为所述簇中心之中具有关于所述互补簇中心的最小欧氏距离的簇中心。10.根据前述权利要求中任一项所述的计算机实现的方法,还包括:-在GUI上显示一个或多个可选择的第一GUI元素,以用于允许用户选择所述属性中的N个属性,N是大于1的整数;-在所述GUI上在N维坐标系中显示第二GUI元素和第三GUI元素,每个所述第二GUI元素代表簇,每个所述第三GUI元素代表数据对象,其中所述第三GUI元素代表彼此不同的不同簇的数据对象,其中所述N维坐标系的每个轴代表被选择的所述N个属性中的一个属性,每个所述数据对象的被选择的所述N个属性的N个值确定代表所述数据对象的所述第三GUI元素的对应轴(30。
12、4,305,320)的坐标值。11.根据前述权利要求中任一项所述的计算机实现的方法,还包括:-从每个数据对象的全体属性-值对确定属性子集,所述属性子集是通过接收来自用户的选择信号或者通过由数据放置引擎(208)自动确定硬件资源的瓶颈参数而被确定的;-针对确定的所述属性子集的属性-值对,执行应用所述聚类算法和选择性地计算所述簇中心和所述互补簇中心的所述步骤。12.一种数据处理系统,所述数据处理系统包括聚类计算机系统,所述聚类计算机系统包括:-已存储多个数据对象(D01-D16)的存储介质(214)和/或用于经由网络(213)接收所述数据对象的接口,每个所述数据对象具有多个属性-值对(401-40。
13、6);-处理器,其适合于:应用(102)聚类算法,以用于将至少一些所述数据对象分组到两个或更多簇(215-217,301-303)之中,所述分组取决于所述数据对象的所述属性-值对;针对每个所述簇,计算(103)簇中心(221-223,310-313),所述簇中心包括从属于所述簇的所有数据对象的所述属性-值对衍生的多个衍生属性-值对;针对所述簇中心之中的至少第一簇中心(310)计算(104)互补簇中心(312),所述第一簇中心是所述簇之中的第一簇(301)的簇中心,所述互补簇中心具有关于所述第一簇中心的最大可能程度的互补性;确定(105)第二簇的第二簇中心,所述第二簇中心被确定为所述簇中心之中具。
14、有关于所述互补簇中心(312)的最小距离的簇中心;选择(106)所确定的所述第二簇的至少一个数据对象(316)作为与所述第一簇(301)的所述数据对象互补的数据对象。13.根据权利要求12所述的数据处理系统,其中每个所述数据对象代表数据片段,所权 利 要 求 书CN 103336770 A4/4页5述数据片段执行于或存储于硬件资源上,其中一个或多个所述属性是资源消耗属性,其中所述聚类计算机系统可操作地耦合至监测模块(207),-其中所述监测模块适合于在一段时间期间监测执行于或存储于所述资源上的所述数据片段的所述资源消耗属性的一个或多个所述值;-其中所述聚类计算机系统适合于:针对每个被监测的所述。
15、属性以及针对每个所述数据对象,计算在一段时间中的最大和/或平均资源消耗属性值;以及将计算出的所述最大和/或平均资源消耗属性值分配给代表被监测的所述数据片段的所述数据对象,以便使用分配的所述属性值作为所述聚类算法的输入。14.根据权利要求12-13中任一项所述的数据处理系统(201),还包括数据放置引擎(208),其中所述数据放置引擎适合于:-接收一个或多个进一步的数据对象(D17-D19),每个所述进一步的数据对象代表当前执行于或存储于所述硬件资源上的数据片段,每个所述进一步的数据对象包含多个属性-值对,其中一个或多个所述属性-值对指示所述硬件资源的当前已消耗的能力和/或指示预定义资源消耗;-。
16、使用接收的所述一个或多个进一步的数据对象,以用于将所述进一步的数据对象分组到一个进一步的簇(222)之中以及用于计算进一步的簇中心(240),所述进一步的簇中心是所述进一步的簇的簇中心;-使用所述进一步的簇中心作为所述第一簇中心,以用于计算所述互补簇中心以及用于确定所述第二簇;以及-将所述第二簇的数据对象所代表的一个或多个数据片段自动传送至所述硬件资源或者提示用户发起所述传送。权 利 要 求 书CN 103336770 A1/10页6用于标识互补数据对象的方法和系统技术领域0001 本发明涉及数据处理领域,更具体地涉及聚类数据对象的领域。背景技术0002 快速确定数据对象的相似性和相异性的问题。
17、是数据处理和数据挖掘领域中的普遍问题,并且与多种技术应用相关。0003 根据相应的用例场景,对高度相似数据对象的组合处理,或者备选地,对高度相异数据对象的组合处理可能是有利的。然而,特别是对于相应地包含需要考虑的多个“特性值”或“属性值”的数据对象的庞大集合而言,用于确定数据对象的相似性和相异性的本领域已知方法会消耗大量的时间和处理能力,这是因为所述方法通常基于数据对象的“全部对全部(all-against-all)”比较,从而必须分别将多个属性值相互比较。在云计算领域里,一个常见问题是,如果共享同一组硬件资源的虚拟机或其他程序实例在处理能力或存储器方面的要求过于相似,则它们对所述资源的使用将。
18、会很差,这例如是因为消耗的处理能力可能很快达到资源的能力限度而同时可能仍存在大量未使用的存储器。然而,对潜在的数千个大型云计算环境的属性执行全部对全部比较以确定相似或相异虚拟机往往由于这样的比较的复杂性和所需的处理时间而不实际可行。发明内容0004 本发明的一个目标是提供用于确定互补数据对象的改进的计算机实现方法、计算机程序产品和计算机系统。这一目标通过独立权利要求的特征来解决。在从属权利要求中给出了本发明的优选实施方式。如无明确另行说明,本发明的实施方式可彼此自由组合。0005 本文所使用的术语“数据对象”是广义的术语并且以其一般意义使用,包括但不限于存在于存储设备之中和/或可对其执行操作的。
19、任何一组独特的或可标识的电子信息,例如,单一存储器块的数据内容、文件或者任何其他电子信息集。优选地,数据对象较小(例如,100千字节)并且基本上包含多个属性-值对。根据一些实施方式,“数据对象”代表物理对象,例如汽车、机器、人或动物,并且数据对象的属性值对可代表所述物理对象的属性。根据其他实施方式,数据对象代表数据片段,其中数据片段是在以上定义的含义范围内的、本身可能过大而无法用作聚类算法的输入并且因此由仅包含或描述所述数据片段的一些属性(例如,其大小)的数据对象来代表的任何数据对象。例如,数据片段可以是数据文件、可执行程序、虚拟机。0006 “GUI元素”是图形用户界面(GUI)的可显示元素。
20、,因而GUI元素的一些特性指定显示该GUI元素的所述GUI上的区域的形状、布局和/或行为。GUI元素可以是标准GUI元素,诸如按钮、文本框、标签、图标、文本字段、窗格、复选框项目或项目组等。GUI元素同样可以是图像、字母数字字符或其任何组合。0007 本文所使用的“云”或“云计算环境”是在其中可向一个或多个处理任务动态重新分配计算硬件的数据处理环境。在许多当前的云计算环境中,提供使用例如处理器、主存储说 明 书CN 103336770 A2/10页7器和非瞬态计算机可读存储介质等多个物理硬件资源的多个虚拟机。例如,由组织机构维护的物理机器池可以是运行多个虚拟机(VM)的基础。因此,组织机构在所。
21、述VM上运行的应用将不会直接运行在底层物理资源上,而是运行在附加的抽象层VM上。通过使用虚拟机而非直接使用物理机器,可以改善所述组织机构所提供的服务的可靠性和性能,并且可根据实际工作负荷而动态提供所需的硬件资源。0008 本文所使用的表述“实体及其互补实体”涉及任何与其互补实体相结合而构成完整整体的实体。因此,互补实体补充其相应的参照实体所缺少的参数值或其他特征。因而,实体可以是数据值、数据对象、众多数据值、成组的数据对象或任何包含或已分配有一个或多个属性值对的其他项。完整整体可以是例如作为在给定的用例场景或实现方案中可获得的一个或多个最小可能参数值或最大可能参数值的任何参数值或参数值组合。根。
22、据实施方式,所述完整整体可以自动地动态确定或者可以预定义。因此,“互补性的程度”是指示出两个对象关于代表“完整整体”的数据集彼此互补程度的任何值或一组值。所述数据空间例如可由多个接收到的数据对象的所有属性-值对来给出,可以是预定义数据空间,其是代表例如最大可用CPU能力、存储器或存储空间等一个或多个最大可用资源能力的数据空间。0009 本文所使用的“资源”或“硬件资源”是单个地或共同地向用户提供一些功能性或服务的任何硬件实体,举例而言,诸如处理器、存储盘、主存储器、适配器、数据库、网卡等。此类服务例如可以是提供应用程序、存储空间、用于执行代码的运行时环境、远程服务,例如web服务等。0010 。
23、本文所使用的“簇”是含一个或多个数据对象的一组数据对象,因此数据对象向相应组的分配是对所有数据对象应用聚类算法的结果。0011 本文所使用的“聚类算法”包含通过采用相应数据对象的一个或多个属性值对作为输入而进行的任何计算机实现的数据对象到数据对象组(本文中亦称“簇”)中的自动化分组。在聚类过程中,确定数据对象的相似性,并将(关于一个或多个标准)相似的数据对象分组到相同的簇之中。根据一些实施方式,数据对象的聚类还可包括数据对象的归类,其中对数据对象进行归类意味着将数据对象分组到预定义数目的簇(即,“类” )之中。根据优选实施方式,簇的数目根据聚类的数据对象的属性值对而被动态确定。0012 本文所。
24、使用的“矢量”包含含有各自适合存储属性值的一系列元素的任何数据结构,其中处于所述矢量中给定位置的每个元素代表特定的属性。应当理解,本文的矢量包含可在需要时其容量被动态扩大的数据结构,并且还包含具有固定容量的数据结构(亦称为“阵列”)。本文所使用的簇的“簇中心”包含从属于所述簇的所有数据对象的一个或多个属性值得到的任何数据值或数据值集。0013 表述“资源消耗”包含对硬件资源所提供的一些存储、处理或其他能力的永久或暂时使用,由此,所述使用是因在所述硬件资源上储存或执行数据片段而造成的。0014 如本领域技术人员所了解,本公开的各方面可实施为系统、方法或计算机程序产品。因此,本公开的各方面可采取完。
25、全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或将在此可全部统称为“电路”、“模块”或“系统”的软件和硬件方面相结合的实施方式的形式。此外,本公开的各方面可采取在其上实施有计算机可读程序代码的一个或多个计算机可读介质中实施的计算机程序产品的形式。可以利用一个或多个计算机说 明 书CN 103336770 A3/10页8可读介质的任何组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是,但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备,或者前述之任何适当组合。计算机可读存储介质的更具体示例(非详尽列表)包括以下:具有一个或多。
26、个线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、磁存储设备或者前述之任何适当组合。在本文的上下文中,计算机可读存储介质可以是可包含或存储用于由指令执行系统、装置或设备使用或与其相关使用的程序的任何有形介质。0015 在一方面中,本发明涉及用于标识互补数据对象的计算机实现方法。提供了多个数据对象,由此每个数据对象包含或已经分配有多个属性-值对。继而,对所有的数据对象应用聚类算法,以便将至少一些数据对象分组到两个或更多簇之中。因此,分组取决于数据对象的属性-值对。
27、。针对每个簇,计算簇中心,由此所述簇中心包含自属于所述簇的所有数据对象的属性-值对衍生出的多个衍生属性-值对。继而,针对簇中心中的至少第一簇中心,计算互补簇中心。第一簇中心是簇中的第一簇的簇中心。互补簇中心在给定数据空间的边界内具有关于第一簇中心的最大可能程度的互补性。确定第二簇中心,该第二簇中心是第二簇的簇中心。第二簇中心被确定为簇中心之中关于互补簇中心具有最小距离的簇中心。继而,所确定的第二簇的至少一个数据对象被选择为与第一簇的数据对象互补的数据对象。例如,一组硬件资源可提供最大可能的CPU能力、最大可用存储空间和/或最大可用存储器。所述最大可能的资源使用参数值可以代表这样的数据空间:在该。
28、数据空间中互补的数据对象可以彼此互补,即,在该数据空间中不同的互补数据对象的组合属性值近似地达到所述数据空间的边界。举例而言,在由可用硬件资源所给定的边界内,代表例如具有特定使用消耗特性的虚拟机的第一簇可以与代表互补资源使用消耗参数值的簇中心互补。0016 所述特征可能是有利的,这是因为提供了标识互补数据对象的非常快速的方式,而该方式不基于数据对象的全部对全部比较。相反,数据对象的簇以及相应的簇中心被确定。针对任何特定簇的互补性数据对象的确定仅需要非常有限的一组处理步骤。甚至没有必要计算所有获得的簇中心的成对距离。相反,有可能通过计算互补簇中心以及确定最近簇中心和对应的簇作为如前所述的第二簇中。
29、心和第二簇,以非常少的简单步骤为任何选择的簇和其中所含数据对象确定一个或多个互补性数据对象。0017 根据其他实施方式,每个数据对象代表数据片段。根据实施方式,数据片段可以是非可执行数据集,例如,非可执行文件、压缩文件存档等。所述数据片段同样可以是虚拟机、应用程序、磁盘镜像或者可执行程序脚本。每个数据对象的属性-值对可代表预定义的或因在硬件资源上存储或执行所述数据片段和监测一些对应的资源消耗参数而产生的任何种类的特征。数据对象的预定义属性值对可指示出数据片段所固有的或代表所述数据片段的数据对象所固有的特征。预定义属性值可以是在不监测由所述数据对象所代表的数据片段在一个或多个资源上的存储或执行的。
30、情况下分配给数据对象属性的任何值。预定义属性例如可以是代表数据片段的数据对象所属于的一种类型的类;数据片段的文件类型或数据类型;所述数据片段所属于的客户;所述数据片段的大小;在数据片段分别为虚拟机的情况下虚拟机的类型;指示出向资源传送由数据对象所代表的数据片段的优先级的优先数。优选地,预定义属性值对不随分配给它的数据对象的生命期而改变。每个数据对象的至少说 明 书CN 103336770 A4/10页9一些属性-值对是资源消耗属性-值对,其中资源消耗属性可以以任何组合从包含以下项的组中选择:平均CPU利用率;最大CPU利用率;平均磁盘空间利用率;最大磁盘空间利用率;平均存储器利用率;最大存储器。
31、利用率;平均磁盘I/O利用率;最大磁盘I/O利用率;平均网络I/O利用率;以及最大网络盘I/O利用率。0018 根据其中每个数据对象代表执行于或存储于硬件资源上的数据片段并且其中一个或多个属性是资源消耗属性的实施方式,该方法还包括:在一段时间中监测执行于或存储于资源上的数据片段的一个或多个资源消耗属性的值;所述监测步骤可在例如几分钟、一小时、一天或一周的预定义时间段中执行。继而,针对每个监测的属性和针对每个数据对象,计算在所述时间段中的最大和/或平均资源消耗属性值;以及将计算出的最大和/或平均资源消耗属性值分配给代表监测的数据片段的数据对象,以便使用所述分配的属性值作为聚类算法的输入。所述特征。
32、可能是有利的,这是因为通过动态监测资源消耗和以属性-值对的形式将监测的资源消耗分配给代表被监测的数据片段的数据对象,有可能对可以准确表示特定数据片段在给定时间段中的个别、典型资源消耗的自动获得的资源消耗数据来应用聚类。0019 根据多个实施方式,定期地例如每周或每月一次地执行属性-值对的监测。在每次重复时,通过取相应采集的监测数据作为输入,以自动方式将监测的属性-值对分配给相应的监测的数据对象/数据片段并且重复执行聚类算法。两次重复之间的时间间隔(优选地为数周或月)通常不同于用以确定相应的资源消耗参数的平均值(例如,比特/每秒、浮点运算/每秒,等)的时间段。自动执行的聚类算法选择性地仅取最近监。
33、测的属性-值对集合作为输入。因此,对虚拟机的关于其实际的通常是时变的资源消耗的聚类的准确性可得到提高。使用所述实施方式来确定具有互补性资源使用特性的虚拟机在云处理环境中可能特别有利,这是由于所述特征因有可能对于每个硬件资源堆集更多的虚拟机而允许降低提供和维持硬件基础设施的成本。这是通过将互补性虚拟机(即,具有互补性工作负荷特性的虚拟机)传送至相同的硬件资源上而实现的。例如,具有高CPU负荷、低磁盘使用率和低存储器使用率的虚拟机可被自动确定为被造成低CPU负荷但却造成高磁盘和高存储器使用率的另一虚拟机所互补。在另一有利方面中,通过评估已在一段时间中求平均的监测的资源消耗属性值而确定互补性虚拟机可。
34、返回比仅考虑在某一时间点获得的资源消耗数据的当前技术水平虚拟机放置方法更加稳定的结果。因此,可以实现对可用资源更好的使用。0020 根据在其中每个数据对象代表将要执行于或存储于硬件资源上的数据片段的一些实施方式,所述方法还包括:由数据放置引擎接收一个或多个进一步的数据对象,每个进一步的数据对象代表当前执行于或存储于所述硬件资源上的数据片段,每个进一步的数据对象包含多个属性-值对。一个或多个所述属性-值对指示当前由所述执行或存储的数据片段消耗的所述硬件资源的能力;将所述进一步的数据对象分组到一个进一步的簇之中并计算进一步的簇中心,所述进一步的簇中心是所述进一步的簇的簇中心;由此,所述进一步的簇中。
35、心代表当前执行于或存储于所述硬件资源上的进一步的数据片段;使用所述进一步的簇中心作为第一簇中心以便计算互补簇中心和确定第二簇;以及将所述第二簇的数据对象所代表的一个或多个数据片段自动传送至所述硬件资源或者提示用户发起所述传送。0021 根据多个实施方式,聚类算法的执行例如通过诸如接收到由放置引擎作出的要将说 明 书CN 103336770 A5/10页10特定数目和类型的附加数据片段传送至云的请求之类的事件来触发。放置引擎可向聚类模块发送命令以触发聚类算法的执行和簇中心的计算。聚类模块继而将计算得出的簇和簇中心作为结果返回给放置引擎,从而允许放置引擎选择由互补数据对象所代表的互补数据片段以及将。
36、所述互补数据片段传送至公共资源。0022 根据其他实施方式,所述方法还包括:由数据放置引擎(例如,VM放置引擎)接收至少第一簇和第二簇的指示;以及将第一簇和第二簇的数据对象所代表的数据片段自动传送至硬件资源或者提示用户发起所述传送。因此,给定的硬件资源的使用率得到优化。根据实施方式,聚类算法可以是下列之一:k-中心点(k-Medoids)聚类算法;人口统计聚类算法;自组织映射聚类方法,特别是基于Kohonen自组织映射的算法;将数据对象分组到充当簇的预定义数目的类之中的归类算法;以及交叠聚类算法。本文所使用的“人口统计聚类算法”包含生成由簇的数据对象的值分布所表征的簇的任何基于分布的聚类方法。。
37、每个数据对象与当前存在的每个簇的相似性被进行计算。如果计算出的最大相似性高于给定的阈值,则将数据对象添加至相关簇。这个簇的特性相应地改变。如果计算出的相似性不高于该阈值,或者如果不存在簇(最初是这种情况),则创建只包含该数据对象的新簇。簇的最大数目以及相似性阈值可由操作者指定。人口统计聚类可以使用统计孔多塞标准(Statistical Condorcet Criterion)来管理向簇的记录分配和新簇的创建。孔多塞标准评估所发现的每个簇(在其包含的记录相似的方面)有多么均匀以及所发现的簇彼此之间有多么不均匀。如果根据孔多塞标准的聚类结果的改善未证明应进行新的一轮,则发现簇的迭代过程在输入数据上。
38、的两轮或更多轮之后停止。0023 根据一些实施方式,簇中心的计算包括:对于每个数据对象,将所述数据对象的所有属性-值对表示为对象矢量,所述对象矢量的每个元素对应于属性之一并且已存储了所述属性的值;为每个簇提供中心矢量,该中心矢量指定所述簇的簇中心,其中处在中心矢量中的给定位置的元素和对象矢量中具有相同位置的元素代表属性之中相同的属性;针对每个簇,通过向该簇的中心矢量的每个元素中存储算术平均值而计算其相应的簇中心,该算术平均值是从存储在所述簇的对象矢量的对应元素中的值而计算出的。在此,术语“对应”意指中心矢量的每个元素代表与在对象矢量中具有相同位置的元素相同的属性。根据优选实施方式,属性值对的数。
39、目决定矢量大小和聚类的维数。0024 根据一些实施方式,该方法还包括:随机选择所确定的第二簇的一个或多个数据对象或提示用户执行所述选择的步骤。一个或多个数据片段的传送包括:自动传送由所述第二簇的所述选择的数据对象所代表的一个或多个数据片段,或者例如经由GUI来提示用户发起所述传送。任何组合数据对象选择(例如,数据对象的自动随机选择或用户定义选择)和数据传送(完全自动化或根据用户许可)都是有可能的。0025 根据多个实施方式,在计算算术平均值之前将存储在对象矢量的元素中的所有的值规范化。所有的规范化值均大于或等于0并且小于或等于预定义最大值MaxV。所有簇的簇中心通过使用每个相应簇的相应数据对象的规范化的属性-值对作为输入而被计算出。0026 根据多个实施方式,关于第一簇的互补簇中心的计算包括:针对存储了属性值PVe的第一簇的中心矢量的每个元素e计算互补值CVe,其中CVeMaxV-Pve;将每个互补值CVe存储至充当互补簇中心的互补中心矢量的元素;针对每个簇,计算所述簇的中心矢量与互补中心矢量之间的欧氏距离(Euclidian distance);以及使用所述欧氏距离来将第二簇中说 明 书CN 103336770 A10。