《数据中心系统及数据中心系统的管理方法.pdf》由会员分享,可在线阅读,更多相关《数据中心系统及数据中心系统的管理方法.pdf(35页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104144183A43申请公布日20141112CN104144183A21申请号201310166725322申请日20130508H04L29/08200601G06F17/30200601G06Q50/0620120171申请人株式会社日立制作所地址日本东京都72发明人石颖74专利代理机构北京尚诚知识产权代理有限公司11322代理人龙淳54发明名称数据中心系统及数据中心系统的管理方法57摘要本发明提供一种数据中心系统和数据中心系统的管理方法。在由通信网络连续用户、多个数据中心站点、指令部、多个站点代理部而构成的数据中心系统中,当用户向指令部发送应用请求时,指令部根据所。
2、有种类的应用所需的资源估算运行用户请求的应用所需的资源,根据各数据中心站点的资源使用状态和估算的所需的资源计算在各个数据中心站点运行用户请求的应用的电力成本和带宽成本,指令部向运行用户请求的应用的电力成本与带宽成本之和最低的数据中心站点的站点代理部发送应用运行请求,接收到应用运行请求的站点代理部将请求运行的应用分配给该站点代理部管理的服务器。由此避免了分别优化电力成本或带宽成本产生的不平衡,从而减少了数据中心的总运营成本。51INTCL权利要求书2页说明书17页附图15页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书17页附图15页10申请公布号CN104144183AC。
3、N104144183A1/2页21一种数据中心系统,其特征在于,包括多个数据中心站点,每个数据中心站点包括一个以上用于处理用户的应用的服务器;指令部,其管理所述多个数据中心站点,并向用户提供应用服务;多个站点代理部,其对应所述多个数据中心站点的每一个而设置,管理各自的数据中心站点的状态并将应用分配给服务器运行;和通信网络,其连接用户、所述多个数据中心站点、所述指令部和所述站点代理部,所述指令部具有计算各个数据中心站点运行应用的、至少包括电力成本和带宽成本的运行成本的成本计算器,当用户向所述指令部发送应用请求时,所述指令部根据所有种类的应用所需的资源估算运行用户请求的应用所需的资源,所述成本计算。
4、器根据各数据中心站点的资源使用状态和估算的所需的资源计算在各个数据中心站点运行用户请求的应用的电力成本和带宽成本,所述指令部向运行用户请求的应用的电力成本与带宽成本之和最低的数据中心站点的站点代理部发送应用运行请求,接收到所述应用运行请求的站点代理部将请求运行的应用分配给该站点代理部管理的服务器。2如权利要求1所述的数据中心系统,其特征在于所述应用运行请求中包含估算的运行用户请求的应用所需的资源的信息,所述站点代理部根据本站点的各服务器的资源使用状态和估算的运行用户请求的应用所需的资源的信息,将用户请求的应用分配给能够运行该应用的服务器。3如权利要求1或2所述的数据中心系统,其特征在于所述指令。
5、部还包括指令部存储器,其存储有数据中心站点状态表和应用资源需求表,所述数据中心站点状态表用于记录所述各数据中心站点的资源使用状态,所述应用资源需求表用于记录所述所有种类的应用所需的资源。4如权利要求3所述的数据中心系统,其特征在于所述站点代理部具有站点代理部存储器,该站点代理部存储器存储有用于记录本站点的各服务器的资源使用状态的服务器状态表和用于记录本站点的各服务器正在运行的应用的资源增量表,所述服务器状态表和资源增量表被定期地上传至所述指令部,以更新所述指令部存储器存储的数据中心站点状态表和应用资源需求表。5如权利要求2所述的数据中心系统,其特征在于接收到所述应用运行请求的站点代理部,在没有。
6、找到能够运行请求的应用的服务器的情况下,向所述指令部返回拒绝运行应用的信息,所述指令部接收到拒绝运行应用的信息后,向另一数据中心站点的站点代理部发送应用运行请求,该另一数据中心站点运行用户请求的应用的电力成本与带宽成本之和仅比返回拒绝运行应用的信息的站点代理部所管理的数据中心站点高。6如权利要求3所述的数据中心系统,其特征在于所述数据中心站点状态表包括电力系数、电力使用效率和带宽系数,所述应用资源需求表包括应用类型、CPU需求和带宽需求,所述指令器根据应用资源需求表的应用类型、CPU需求和带宽需求估算运行应用所需的资源,所述成本计算器,根据所述电力系数、电力使用效率和估算的运行应用所需的资源计。
7、权利要求书CN104144183A2/2页3算电力成本,根据带宽系数和估算运行应用所需的资源计算带宽成本。7一种数据中心系统的管理方法,所述数据中心系统通过通信网络联接用户、多个数据中心站点、指令部和站点代理部而构成,所述多个数据中心站点的每一个都包括一个以上的服务器,所述数据中心系统的管理方法的特征在于,包括所述指令部接收来自用户的应用请求,根据所有种类的应用所需的资源估算运行用户请求的应用所需的资源的步骤;根据各个数据中心站点的状态和估算的所需的资源计算在各个数据中心站点运行用户请求的应用的、至少包括电力成本和带宽成本的运行成本的步骤;所述指令部向运行用户请求的应用的电力成本与带宽成本之和。
8、最低的数据中心站点的站点代理部发送应用运行请求的步骤;和接收到所述应用运行请求的站点代理部将请求运行的应用分配给该站点代理部管理的服务器的步骤。8如权利要求7所述的数据中心系统的管理方法,其特征在于所述应用运行请求中包含估算的运行用户请求的应用所需的资源的信息,所述站点代理部根据本站点的各服务器的资源使用状态和估算的运行用户请求的应用所需的资源的信息,将用户请求的应用分配给能够运行该应用的服务器。9如权利要求7或8所述的数据中心系统的管理方法,其特征在于所述指令部还包括指令部存储器,其存储有数据中心站点状态表和应用资源需求表,所述数据中心站点状态表用于记录所述各数据中心站点的资源使用状态,所述。
9、应用资源需求表用于记录所述所有种类的应用所需的资源。10如权利要求9所述的数据中心系统的管理方法,其特征在于还包括所述站点代理部定期地将该站点代理部管理的服务器的状态信息上传至所述指令部,以更新所述数据中心站点状态表和所述应用资源需求表的步骤。11如权利要求8所述的数据中心系统的管理方法,其特征在于,还包括在站点代理部没有找到能够运行该应用的服务器的情况下,向所述指令部返回拒绝运行应用的信息的步骤;和所述指令部接收到拒绝运行应用的信息后,向另一数据中心站点的站点代理部发送应用运行请求的步骤,该另一数据中心站点运行用户请求的应用的电力成本与带宽成本之和仅比返回拒绝运行应用的信息的站点代理部所管理。
10、的数据中心站点高。12如权利要求9所述的数据中心系统的管理方法,其特征在于所述数据中心站点状态表包括电力系数、电力使用效率和带宽系数,所述应用资源需求表包括应用类型、CPU需求和带宽需求,在估算运行用户请求的应用所需的资源的步骤中,根据应用资源需求表的应用类型、CPU需求和带宽需求估算运行应用所需的资源,在计算至少包括电力成本和带宽成本的运行成本的步骤中,根据所述电力系数、电力使用效率和估算的运行应用所需的资源计算电力成本,根据带宽系数和估算运行应用所需的资源计算带宽成本。权利要求书CN104144183A1/17页4数据中心系统及数据中心系统的管理方法技术领域0001本发明涉及数据中心,特别。
11、是涉及数据中心系统及数据中心系统的管理方法。背景技术0002数据中心作为高速发展的云计算产业的基础设施,对成本管理有高度要求。特别是随着IT设备计算能力和设备密度的增长,初期建设成本和设备购置成本在数据中心的总体成本中的比重逐渐下降,而运营成本、特别是电力成本正在不断增加,并且达到了和设备购置成本相近的比重。因此数据中心的运营成本正在受到越来越多的关注,并产生了一些能降低数据中心运营成本的方法和技术。0003例如,在公知技术US2011/0191773A1中,公开了一种数据中心能耗管理的系统和方法。所述方法包括,对多个数据中心中的每一个都至少部分地根据在各个数据中心执行应用所需的电力来判定在各。
12、个数据中心执行应用相关的成本。所述方法还包括根据在各个数据中心执行应用相关的成本来从多个数据中心中选择一个来执行应用,并且在所选的数据中心执行应用。0004该方法通过优化负载(也就是所述的应用,下文中统称为负载)在多个数据中心中的分配来最小化作为一个整体考虑的所述多个数据中心的电力成本,从而降低了所述多个数据中心的运营成本。但是数据中心的运营成本除了电力成本通常还包括固定资产折旧、人工费、以及带宽成本。其中固定资产折旧和人工费通常为固定费用支出,而带宽成本和电力成本一样,属于可以优化的费用支出。特别是在中国,和其他国家相比,带宽较贵而电价较低,导致带宽成本成为影响数据中心总运营成本的重要因素。。
13、例如,根据中国联通在2009年的报告,带宽成本占其数据中心总运营成本的29,而电力成本占28。0005此外,在中国目前大多数省市执行的电价是分季节和峰平谷分时段的电价,还没有实现逐时或逐分实时电价,这使得不同地区以及不同时间的电价变化相对较小,部分的局限了公知技术中的优化效果。同时,中国不同地区的网络建设差异较大,带宽定价较为灵活,使得不同地区的单位带宽价格差异较大,具有潜在的优化可能性。例如,根据发明人的调研,在中国不同城市的带宽价格的变异系数(CV)是032,而电力价格的变异系数是012。也就是说,对于中国的数据中心,在不同地区执行负载所需要的带宽成本的差异要超过电力成本的差异。因此,如果。
14、使用公知技术来进行数据中心管理,可能无法得到最佳总运营成本。0006此外,公知技术通过用基准测试得到的预设数据来估计给定负载的电力消耗。这不能处理不包含在基准测试中的新类型的负载。发明内容0007为了解决上述问题,本发明通过优化负载在多个数据中心中的分配来最小化所述多个数据中心的电力成本和带宽成本之和,从而降低了所述多个数据中心的总运营成本。此外,本发明对数据中心状态进行实时监测,并基于历史监测数据来在线估计在不同站点说明书CN104144183A2/17页5执行负载所需的电力和带宽消耗。0008本发明的第一方面的数据中心系统包括多个数据中心站点,每个数据中心站点包括一个以上用于处理用户的应用。
15、的服务器;指令部,其管理上述多个数据中心站点,并向用户提供应用服务;多个站点代理部,其对应上述多个数据中心站点的每一个而设置,管理各自的数据中心站点的状态并将应用分配给服务器运行;和通信网络,其连接用户、上述多个数据中心站点、上述指令部和上述站点代理部,上述指令部具有计算各个数据中心站点运行应用的、至少包括电力成本和带宽成本的运行成本的成本计算器,当用户向上述指令部发送应用请求时,上述指令部根据所有种类的应用所需的资源估算运行用户请求的应用所需的资源,上述成本计算器根据各数据中心站点的资源使用状态和估算的所需的资源计算在各个数据中心站点运行用户请求的应用的电力成本和带宽成本,上述指令部向运行用。
16、户请求的应用的电力成本与带宽成本之和最低的数据中心站点的站点代理部发送应用运行请求,接收到上述应用运行请求的站点代理部将请求运行的应用分配给该站点代理部管理的服务器。0009本发明的第二方面的数据中心系统的管理方法,上述数据中心系统通过通信网络联接用户、多个数据中心站点、指令部和站点代理部而构成,上述多个数据中心站点的每一个都包括一个以上的服务器,上述数据中心系统的管理方法包括上述指令部接收来自用户的应用请求,根据所有种类的应用所需的资源估算运行用户请求的应用所需的资源的步骤;根据各个数据中心站点的状态和估算的所需的资源计算在各个数据中心站点运行用户请求的应用的、至少包括电力成本和带宽成本的运。
17、行成本的步骤;上述指令部向运行用户请求的应用的电力成本与带宽成本之和最低的数据中心站点的站点代理部发送应用运行请求的步骤;和接收到上述应用运行请求的站点代理部将请求运行的应用分配给该站点代理部管理的服务器的步骤。0010根据本发明的数据中心系统及数据中心系统的管理方法,同时考虑了数据中心总运营成本中的电力成本和带宽成本的优化,避免了分别优化电力成本或带宽成本产生的不平衡,从而减少了数据中心的总运营成本。本发明还可以处理任何类型的负载,而不需要预先设定的基准测试。附图说明0011根据以下结合附图对本发明非限制实施例的详细描述,本发明的以上和其他目的、特征和优点将变得更加清楚,其中0012图1表示。
18、具有全局负载均衡的多站点数据中心系统结构。0013图2表示指令器的结构。0014图3表示运行在虚拟机上的站点代理的结构。0015图4表示处理流类型需求的时序。0016图5表示处理MAPREDUCE类型需求的时序。0017图6表示选择第二低成本站点的时序。0018图7表示为业务选择站点失败的时序。0019图8表示指令器选择具有优化成本的站点的流程图。0020图9是表示站点代理为从指令器来的负载请求选择服务器的流程图。说明书CN104144183A3/17页60021图10是表示指令器为业务需求估计资源需求并生成负载描述的流程图。0022图11是表示站点代理在业务资源增量表中记录流类型负载的业务运。
19、行时资源消耗的流程图。0023图12是表示站点代理在业务资源增量表中记录MAPREDUCE类型负载的业务运行时资源消耗的流程图。0024图13是表示站点代理分析站点状态并发送站点状态消息的流程图。0025图14是表示站点代理调节开机中的服务器和上联带宽的数量的流程图。0026图15是表示指令器从站点代理收到站点状态消息并更新站点状态表和业务资源需求表的流程图。0027图16表示全局负载列表的格式。0028图17表示站点状态表的格式。0029图18表示业务资源需求表的格式。0030图19(A)表示了站点11的本地负载列表的格式;图19(B)表示了站点12的本地负载列表的格式。0031图20表示站。
20、点11的服务器状态表的格式。0032图21表示站点11的业务资源增量表的格式。0033图22表示站点状态消息的格式。0034图23表示负载请求消息的格式。具体实施方式0035下面参照附图说明本发明的实施方式。图中相同的符号代表相同的部件。0036图1表示了具有全局负载均衡的多站点数据中心系统结构。图中的三个数据中心11、12、13(以下也称数据中心站点或站点)由指令器20进行管理,并通过IP核心网40向位于局域网50的客户51提供服务。所述数据中心站点11包括用于执行计算任务的服务器111、112、113;用于连接服务器111、112、113和转发业务数据的交换机114;用于连接交换机114和。
21、IP核心网40的边缘路由器115;用于存储数据的存储117、118、119;用于连接存储117、118、119和服务器111、112、113的交换机116;以及用于管理数据中心站点11并具有本地负载列表301、服务器状态表302和业务资源增量表303的站点代理30。站点12和13具有和站点11类似的结构,图中省去站点12和13的具体结构。所述指令器20用于站点11、12、13的集中管理,包括全局负载列表201、站点状态表202和业务资源需求表203。指令器20和站点代理30均为逻辑功能模块,在实现方式上,可以作为独立设备存在,通过网络和各站点相连接,也可以作为一个或多个软件,运行在数据中心站点。
22、内的一台或多台服务器上。特别是指令器20,在逻辑上是集中式管理模块,在物理上既可以是集中的方式也可以是分布的方式,例如分布运行在位于站点11、12、13的某些服务器上。所述IP核心网40连接业务的提供方和使用方,对业务数据进行转发,包括分别用于连接数据中心站点11、12、13的边缘路由器44、43、36,连接局域网50的边缘路由器41,以及中间路由器42、45。局域网50除了具有客户51,还可以有其他客户,都通过边缘路由器52和IP核心网40相连接。0037客户51产生的业务需求61首先通过局域网50和IP核心网40发送到指令器20,说明书CN104144183A4/17页7经过指令器20的处。
23、理得到相关负载的描述且记录到全局负载列表201中后,发送负载请求63到例如站点11(或者其他站点),使得站点11的站点代理30把相关负载记录到本地负载列表301中,并通过站点11中的服务器和存储等设备向客户51提供业务。同时,站点11、12、13监测自身状态,例如站点代理30通过监测信息60把服务器111、112、113的状态记录到服务器状态表302中,把正在运行的业务的状态记录到业务资源增量表303中,并通过站点状态62向指令器20定期报告自身状态,使得指令器20把各站点的状态记录到站点状态表202和业务资源需求表203中,在处理业务需求61的时候能以此作为依据。0038图2表示了指令器20。
24、的结构。指令器20用于站点11、12、13的集中管理,包括用于记录所有负载的描述信息的全局负载列表201,用于记录所有数据中心站点的资源使用情况的站点状态表202,用于记录所有种类的业务的资源消耗情况的业务资源需求表203,用于给每一个业务需求61选择成本最优的执行站点的全局均衡器204,用于计算对某个给定负载在各个站点可能会消耗的电力成本和带宽成本的成本计算器205,用于给业务需求61估计可能要消耗的计算资源和带宽资源的需求处理器206,用于向站点代理30、209、210发送负载请求63并从所述站点代理接收站点状态62的消息接口207,以及用于运行或存储以上模块的虚拟机或虚拟机集群208。所。
25、述站点代理209、210分别位于数据中心站点12、13并管理所在站点。如前所述,指令器20在实现方式上,可以作为独立设备存在,通过网络和各站点相连接,也可以作为一个或多个软件,运行在数据中心站点内的一台或多台服务器上。也就是说,指令器20的虚拟机或虚拟机集群208可以运行在一个位于站点11、12、13之外的例如服务器的独立设备上,也可以运行在位于站点11、12、13的一个或多个的一个或多个服务器上。0039类似的,站点代理30也可以作为独立设备存在,或者作为一个或多个软件,运行在数据中心站点11内的一台或多台服务器上。在本实施例中,站点代理30作为虚拟机312运行在服务器111上。图3表示了运。
26、行在虚拟机111上的站点代理30的结构。站点代理30用于管理数据中心站点11,包括用于记录分配给站点11的负载的描述信息的本地负载列表301、用于记录站点11的服务器111、112、113的资源使用情况的服务器状态表302、用于记录在站点11的所有种类的业务的资源消耗情况的业务资源增量表303、用于给每一个负载请求63选择执行服务器的本地均衡器304、用于监测和控制基础设施330的基础设施控制接口305、用于监测和控制例如交换机115的网络设备的网络控制接口306、用于监测和控制各服务器上运行的管理器(HYPERVISOR)的控制接口307、用于从指令器20接收负载请求63并向指令器20发送站。
27、点状态62的消息接口308、以及用于运行或存储以上模块的虚拟机操作系统309。0040站点代理30所在的物理服务器111使用虚拟机技术运行包括站点代理30在内的多个虚拟机。具体的,物理服务器111包括具有处理器320、内存321、存储322、电源323和物理网卡324的物理资源319,具有硬件监控器317和虚拟机监控器318并把物理资源319虚拟化后提供给虚拟机的管理器316,以及运行在管理器316之上并提供实际业务的虚拟机310、311、312。其中管理器316可以通过硬件监控器317和虚拟机监控器318分别对物理资源319和虚拟机310、311、312进行监控,向管理器控制接口307报告监。
28、测到的状态信息,以及从管理器控制接口307接收例如关闭虚拟机和迁移虚拟机的控制信息。虚拟机310、311、312分别通过虚拟机网卡313、314、315和管理器316中的虚拟交换机(未示出)相说明书CN104144183A5/17页8连接,并进一步经过物理网卡324和交换机115和其他连接到网络上的设备进行通信。当然,虚拟机310、311、312也可以互相通信。此外,电源323和基础设施330相连接获得供电,而基础设施330在从基础设施控制接口305收到例如断开电源和接通电源的控制信息时,可以对电源323进行断开或接通,从而控制服务器111的断开或接通。基础设施330除了供电设施,还包括空调、。
29、照明、水循环等系统,在本实施例中没有涉及,因此未示出。0041在本实施例中,将数据中心需要提供的业务分为两类,一类是流类型的业务,其中使用业务的客户和提供业务的一个服务器之间建立会话和连接,另一类是MAPREDUCE类型的业务,其中把使用业务的客户提交的业务拆分成若干任务并分发给多个服务器来执行。下面在图4和图5中分别对处理这两种业务的时序进行描述。0042图4表示了处理流类型需求的时序。首先由客户51向指令器20发送业务需求61(步骤401)。指令器20的需求处理器206在判断此业务需求61为流类型的业务后,为该业务生成负载描述并添加到全局负载列表201中(参考图10的流程图),然后指令器2。
30、0的全局均衡器204和成本计算器205从所有数据中心站点中选择一个对于执行所述负载具有最低成本的站点(参考图8的流程图),例如站点11(步骤402),并通过消息接口207向所选站点11的站点代理30发送负载请求63来通知所选站点11执行所述负载(步骤403)。当所选站点11的站点代理30通过消息接口308收到所述负载请求63时,站点代理30的本地均衡器304从站点11的服务器中选择一个合适的服务器(参考图9的流程图),例如服务器111,将选择结果和所述负载的描述信息一起添加到本地负载列表301中(步骤404),并向指令器20返回接受来确认执行负载(步骤405),使得指令器20从全局负载列表20。
31、1中移除所述负载(步骤406)并向客户51返回所述业务的响应,例如包括站点11的IP地址(步骤407)。同时站点代理30还向包括交换机115的站点11的网络120发送增加新条目的消息来通知网络120(步骤408),使得网络120更新自己的流表(步骤409),从而为所述负载将会产生的数据流添加一条网络路径,以保证数据流可以正常的到达所选服务器111。当客户51收到来自指令器20的响应后,发起和服务器111之间的会话连接,开始从服务器111向客户提供服务(步骤410)。在业务结束后,例如客户51或服务器111结束了会话连接,站点代理30从本地负载列表301中移除所述负载(步骤411),同时通知网络。
32、120拆除相应的网络路径(未示出)。0043图5表示了处理MAPREDUCE类型需求的时序。首先由客户51向指令器20发送业务需求61(步骤501)。指令器20的需求处理器206在判断此业务需求61为MAPREDUCE类型的业务后,将该业务拆分(MAP)成多个任务(TASK),为该业务生成负载描述,并添加到全局负载列表201中(参考图10的流程图),然后指令器20的全局均衡器204和成本计算器205从所有数据中心站点中选择一个对于执行所述负载具有最低成本的站点(参考图8的流程图),例如站点11(步骤502),并通过消息接口207向所选站点11的站点代理30发送负载请求63来通知所选站点11执行。
33、所述负载(步骤503)。当所选站点11的站点代理30通过消息接口308收到所述负载请求63时,站点代理30的本地均衡器304从站点11的服务器中选择一个或多个合适的服务器(参考图9的流程图),例如服务器111,将选择结果和所述负载的描述信息一起添加到本地负载列表301中(步骤504),并向指令器20返回接受来确认执行负载(步骤505),使得指令器20将所述多个任务的例如输入数据的信息发送到站点代理30(步骤506)后从全局负载列表201中移除所述负载(步骤507)。站点代理30说明书CN104144183A6/17页9在收到任务后分别转发给所选的一个或多个服务器,例如服务器111(步骤508)。
34、。然后所选的一个或多个服务器,例如服务器111,各自执行从站点代理30收到的任务(步骤509)。执行结果作为输出经过站点代理30转发到指令器20(步骤510),并在指令器20对来自一个或多个服务器的输出进行合并(REDUCE)(步骤512)。期间站点代理30在转发输出后从本地负载列表301中移除所述负载(步骤511)。最后指令器20使用合并后的结果向客户51发送包含最终执行结果的响应(步骤513)。0044在某些情况下,图4和图5中选择的最低成本的站点可能会拒绝执行任务,例如站点的总可用资源大于业务的资源需求,但是单个服务器的最大可用资源小于业务的资源需求,或者站点状态62的传输和处理延时造成。
35、站点状态表202和实际上的站点状态之间存在差异。在这种情况下,指令器20需要顺序选择成本次优的站点。0045图6表示了选择第二低成本站点的时序。首先由客户51向指令器20发送业务需求61(步骤601)。指令器20为该业务生成负载描述并添加到全局负载列表201中(参考图10的流程图),然后指令器20的全局均衡器204和成本计算器205从所有数据中心站点中选择一个对于执行所述负载具有最低成本的站点(参考图8的流程图),例如站点11(步骤602),并通过消息接口207向所选站点11的站点代理30发送负载请求63来通知所选站点11执行所述负载(步骤603)。当所选站点11的站点代理30通过消息接口30。
36、8收到所述负载请求63时,站点代理30的本地均衡器304进行站点内服务器的选择失败(参考图9的流程图,步骤604),并向指令器20返回拒绝来拒绝执行负载(步骤605)。指令器20收到拒绝消息后,继续从除了站点11之外的数据中心站点中选择一个对于执行所述负载具有最低成本的站点,也就是在所有数据中心站点中具有第二低成本的站点(参考图8的流程图),例如站点12(步骤606),并通过消息接口207向所选站点12的站点代理209发送负载请求63来通知所选站点12执行所述负载(步骤607)。当所选站点12的站点代理209收到所述负载请求63时,站点代理209从站点12的服务器中选择一个合适的服务器(参考图。
37、9的流程图),将选择结果和所述负载的描述信息一起添加到站点代理209的本地负载列表中(步骤608),并向指令器20返回接受来确认执行负载(步骤609),使得指令器20从全局负载列表201中移除所述负载(步骤610)并向客户51返回所述业务的响应(步骤611),或者执行类似图5中步骤506步骤513的对MAPREDUCE类业务的后继处理(未示出)。0046图7表示了为业务选择站点失败的时序。首先由客户51向指令器20发送业务需求61(步骤701)。指令器20为该业务生成负载描述并添加到全局负载列表201中(参考图10的流程图),然后指令器20的全局均衡器204和成本计算器205从所有数据中心站点。
38、中选择一个对于执行所述负载具有最低成本的站点(参考图8的流程图),例如站点11(步骤702),并通过消息接口207向所选站点11的站点代理30发送负载请求63来通知所选站点11执行所述负载(步骤703)。0047当所选站点11的站点代理30通过消息接口308收到所述负载请求63时,站点代理30的本地均衡器304进行站点内服务器的选择失败(参考图9的流程图,步骤704),并向指令器20返回拒绝来拒绝执行负载(步骤705)。指令器20收到拒绝消息后,继续从除了站点11之外的数据中心站点中选择一个对于执行所述负载具有最低成本的站点,也就是在所有数据中心站点中具有第二低成本的站点(参考图8的流程图),。
39、例如站点12(步骤706),并通过消息接口207向所选站点12的站点代理209发送负载请求63来通知所选站说明书CN104144183A7/17页10点12执行所述负载(步骤707)。0048当所选站点12的站点代理209收到所述负载请求63时,站点代理209进行站点内服务器的选择失败(参考图9的流程图,步骤708),并向指令器20返回拒绝来拒绝执行负载(步骤709)。指令器20收到拒绝消息后,继续从除了站点11、12之外的数据中心站点中选择一个对于执行所述负载具有最低成本的站点,也就是在所有数据中心站点中具有第三低成本的站点(参考图8的流程图),例如站点13(步骤710),并通过消息接口20。
40、7向所选站点13的站点代理210发送负载请求63来通知所选站点13执行所述负载(步骤711)。0049当所选站点13的站点代理210收到所述负载请求63时,站点代理210进行站点内服务器的选择失败(参考图9的流程图,步骤712),并向指令器20返回拒绝来拒绝执行负载(步骤713)。指令器20收到拒绝消息后,发现对于所述负载的可用站点为空,因此判定为所述业务选择站点失败(参考图8的流程图),从全局负载列表201中移除所述负载(步骤714),并向客户51返回失败来拒绝客户的业务需求61(步骤715)。0050下面结合具体的流程图对图4图7中涉及的指令器20和站点代理30的处理过程进行说明。在图8图。
41、23中所使用的用字母表示的序号指代含义为,I表示某个数据中心站点,N表示站点内的某个服务器,J表示某个具体的业务或负载,K表示某个业务类型,P表示MAPREDUCE类业务或负载拆分得到的某个任务。0051图8表示了指令器20选择具有优化成本的站点的流程图。如图4图7中所述,当指令器20收到第J个(例如,J2)业务需求61时(步骤801),指令器20的需求处理器206根据业务资源需求表203估计第J个业务需求61的处理器资源需求RCPUJ,T和带宽资源需求RBWJ,T,产生第J个需求对应的负载描述(参考图10的流程图,步骤802),并把产生的第J个负载添加到全局负载列表201中(参考图16的表格。
42、式,步骤803)。然后指令器20的成本计算器205根据所述资源需求RCPUJ,T,RBWJ,T和站点状态表202依次计算在第I个(I1,2,3)站点执行第J个负载时可能消耗的电力成本(步骤804)00520053其中,CELCJ,I是第I个站点执行第J个负载时可能消耗的电力成本,NELCI,T0是第I个站点在当前时间T0的电力系数,PUEI,T0是第I个站点在当前时间T0的电源使用效率(POWERUSAGEEFFECTIVENESS),TJ是第J个负载可能执行的时长。既然负载的可能执行时长对每一个数据中心站点是不变的,并不影响最后的优化结果,因此TJ可以设定为单位时长,例如1秒。0054类似的。
43、,指令器20的成本计算器205根据所述资源需求RCPUJ,T,RBWJ,T和站点状态表202依次计算在第I个(I1,2,3)站点执行第J个负载时可能消耗的带宽成本(步骤805)00550056其中,CBWJ,I是第I个站点执行第J个负载时可能消耗的带宽成本,NBWI,T0是第I个站点在当前时间T0的带宽系数,TJ是第J个负载可能执行的时长,例如1秒。0057在成本计算器205完成对所有站点的成本计算后,把中间计算结果CELCJ,I和CBWJ,I发送给全局均衡器204,并由全局均衡器204选择具有最小电力成本及带宽成本之说明书CN104144183A108/17页11和(即MINSUMCELCJ。
44、,I,CBWJ,I的站点,例如站点11(步骤806)。然后全局均衡器204检查站点状态表202中所选站点对应条目中的站点忙碌标识来判断所选站点是否忙碌(参考图17的表格式,步骤807)。如果步骤807的判断结果为否,则通过消息接口207向所选站点11的站点代理30发送负载请求63来通知所选站点11执行所述负载(步骤808)。发出负载请求63的指令器20的全局均衡器204需要等待所选站点11的答复来判断所选站点11是否接受所述负载请求63(步骤809)。如果步骤809中收到接受消息,则把全局负载列表201的执行站点项更新为所选站点11的名称(例如PEK,步骤810),并响应客户51(参考图4、图。
45、5的时序图),最后把第J个负载从全局负载列表201中移除。如果步骤807的判断结果为是,或者如果步骤809中收到拒绝消息(判断结果为否),或者如果步骤809中等待答复超时(判断结果为否),则全局均衡器204把所选站点(例如站点11)从第J个负载的可用站点列表中移除(步骤813),检查对于第J个负载是否还有可用站点(步骤814)。如果步骤814的判断结果为是,则返回步骤806继续选择次优成本的站点。全局均衡器204可能会重复步骤806步骤814的循环,直到某个选中的站点接受所述负载请求63,响应客户(步骤811),或者尝试完所有站点,在步骤814的判断结果为否,向客户发送失败(步骤815)。最后。
46、无论第J个负载的处理是成功还是失败,都将其从全局负载列表201中移除并进入下一个业务需求的处理(步骤812)。0058图9表示了站点代理30为从指令器来的负载请求63选择服务器的流程图。如图4图7中所述,当所选站点11的站点代理30通过消息接口308收到第J个负载产生的负载请求63时(步骤901),站点代理30的本地均衡器304从站点11的服务器中选择一个合适的服务器,或者选择服务器失败,并向答复指令器20是否接受所述负载请求63。在以上处理过程中,站点代理30的本地均衡器304首先检查负载请求63中的业务类型(参考图23的消息格式),判断所接收到的负载是否为流类型业务(步骤902)。如果步骤。
47、902的判断结果为是,则从负载请求63中读出第J个负载的处理器资源需求RCPUJ,T和带宽资源需求RBWJ,T,将其设为选择一个服务器的算法的输入(步骤903),然后调用例如网络感知的负载均衡算法(参照中国专利申请CN2012100336776)来根据RCPUJ,T、RBWJ,T和服务器状态表302从站点11的所有开机中的服务器中选择一个满足资源需求的服务器,例如服务器112(步骤904)。如果步骤902的判断结果为否,表示MAPREDUCE业务,则从负载请求63中读出第J个负载的处理器资源需求RCPUJ,T、带宽资源需求RBWJ,T和任务数,将处理器资源需求RCPUJ,T和带宽资源需求RBW。
48、J,T除以任务数后设为选择一个服务器的算法的输入(步骤905),然后调用例如网络感知的负载均衡算法(参照中国专利申请CN2012100336776)来根据所述输入和服务器状态表302从站点11的所有开机中的服务器中为所述负载的下一个任务选择一个满足资源需求的服务器,例如服务器111(步骤906)。0059运行完选择一个服务器的算法后,本地均衡器304查看运行结果是否包含可用的服务器和从边缘路由器115到达所述服务器的路径(步骤907)。如果步骤907的判断结果为是,则检查负载请求63中的业务类型和任务列表来判断是否完成负载请求63的处理(步骤908),步骤908具体包括如果步骤903步骤906。
49、处理的是一个流类型负载或者是一个MAPREDUCE负载的最后一个任务则判断结果为是,否则如果步骤903步骤906处理的是一个MAPREDUCE负载的最后一个任务之前的任务则判断结果为否。如果步骤908的判断结果为是,则本地均衡器304把负载和所选的一个或多个服务器PJ,N加入到本地负载列表说明书CN104144183A119/17页12301(参考图19的表格式,步骤910),并通过消息接口308向指令器发送接受负载的答复消息(步骤911)。如果步骤908的判断结果为否,则返回步骤902继续处理MAPREDUCE负载的下一个任务。对于流类型的负载,本地均衡器304只需要执行一遍步骤902步骤907。而对于MAPREDUCE负载,本地均衡器304需要重复步骤902步骤907的循环,直到处理完该负载的所有任务。0060如果步骤907的判断结果为否,表示当前无可用服务器或路径,则本地均衡器304检查站点11的服务器状态表302(参考图20的表格式)来判断在站点11中是否还有关机中的服务器(步骤912)。如果步骤912的判断结果为是,则通过基础设施控制接口305向站点11的基础设施330发送控制命令为一个随机选中的或根据空调运行状况及服务器物理位置选中的关机中的服务器的电源323接通,通过管理器控制接口307向所述服务器发送控制命令来产生一个新的虚拟机,以及通过网络控制接口306向包括。