发明内容
为了能够减少数据中心对能源的消耗,本发明提供了一种管理数据中心的方法及设备。所述技术方案如下:
一种管理数据中心的方法,所述方法包括:
从数据中心中获取处于空闲状态的主机;
保持所述数据中心中存在第二阈值个空闲状态的主机。
所述获取数据中心中的空闲状态的主机,具体包括:
获取所述数据中心中正在运行的主机的负荷;
获取负荷为零的主机,所述负荷为零的主机为所述空闲状态的主机。
所述获取负荷为零的主机之前,还包括:
从负荷大于零且小于第一阈值的主机中选出负荷最小的两个主机;
如果所述两个主机的负荷之和不超过第一阈值,则将所述两主机的负荷合并在其中的一个主机上。
所述保持所述数据中心中存在第二阈值个空闲状态的主机,具体包括:
如果所述空闲状态的主机的数目大于第二阈值,则选择第二阈值个空闲状态的主机;
利用远程关闭技术关闭未选择的空闲状态的主机。
所述保持所述数据中心中存在第二阈值个空闲状态的主机,具体包括:
如果所述空闲状态的主机的数目小于第二阈值,则利用远程唤醒技术开启关闭的主机,直到所述数据中心中的空闲状态的主机的数目达到所述第二阈值时为止。
一种管理数据中心的设备,所述设备包括:
获取模块,用于从数据中心中获取处于空闲状态的主机;
保持模块,用于保持所述数据中心中存在第二阈值个空闲状态的主机。
所述获取模块具体包括:
第一获取单元,用于获取所述数据中心中正在运行的主机的负荷;
第二获取单元,用于获取负荷为零的主机,所述负荷为零的主机为所述空闲状态的主机。
所述获取模块还包括:
第一选择单元,用于从负荷大于零且小于第一阈值的主机中选出负荷最小的两个主机;
合并单元,用于如果所述两个主机的负荷之和不超过第一阈值,则将所述两主机的负荷合并在其中的一个主机上。
所述保持模块具体包括:
第二选择单元,用于如果所述空闲状态的主机的数目大于第二阈值,则选择第二阈值个空闲状态的主机;
关闭单元,用于利用远程关闭技术关闭未选择的空闲状态的主机。
所述保持模块具体包括:
开启单元,用于如果所述空闲状态的主机的数目小于第二阈值,利用远程唤醒技术开启关闭的主机,直到所述数据中心中的空闲状态的主机的数目达到所述第二阈值时为止。
通过实时获取数据中心中空闲状态的主机,保持数据中心中存在第二阈值个空闲状态的主机。如此在不影响数据中心正常分配任务的前提下,最大限度地减少了数据中心对能源的消耗。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
如图1所示,本发明实施例提供了一种管理数据中心的方法,包括:
步骤101:从数据中心中获取处于空闲状态的主机;
步骤102:保持数据中心中存在第二阈值个空闲状态的主机。
在本发明实施例中,实时获取数据中心中空闲状态的主机,保持数据中心中存在第二阈值个空闲状态的主机。如此在不影响数据中心正常分配任务的前提下,最大限度地减少了数据中心对能源的消耗。
实施例2
如图2所示,本发明实施例提供了一种管理数据中心的方法,包括:
步骤201:实时获取数据中心中的每个正在运行的主机的负荷;
其中,每个主机的负荷可以由一个或多个主机参数表示,每个主机的主机参数至少包括CPU(Central Processing Unit,中央处理器)使用率、网络流量、内存使用率和硬盘读取速度。
例如,使用主机的CPU使用率表示主机的负荷,则获取数据中心中的每个主机的负荷的操作,具体为:
采集数据中心中的每个主机的CPU使用率,将每个主机的CPU使用率作为每个主机的负荷。
再如,使用主机的网络流量表示主机的负荷,则获取数据中心中的每个主机的负荷的操作,具体为:
采集数据中心中的每个主机的网络流量,将每个主机的网络流量作为每个主机的负荷。
其中,数据中心中的每个主机上都具有一个或多个虚拟计算节点,当用户提交任务时,数据中心为用户提交的任务分配主机和该主机上的虚拟计算节点,由该主机上的该虚拟计算节点负责对用户提交的任务进行处理;所以某个主机存在负荷,则表明该主机上存在正在运行的虚拟计算节点。需要说明的是:主机上运行的虚拟计算节点越多,该主机的负荷就越大;以及如果某个主机的负荷为零,则表明该主机上没有虚拟计算节点在运行,所以该主机处于空闲状态。
步骤202:判断负荷大于零且小于第一阈值的主机的数目是否为多个,如果是,执行步骤203;如果否,执行步骤206;
具体地,从数据中心包括的所有主机中,获取负荷大于零且小于第一阈值的主机,统计获取的主机的数目,判断统计的主机的数目是否为多个。
其中,如果某个主机的负荷达到或超过第一阈值,则认为该主机处于较忙碌状态,如果数据中心接收用户提交的新的任务,就不宜再将新的任务分配给该主机上的某个虚拟计算节点。其中,第一阈值的大小是通过大量实验得到的经验值。
步骤203:从负荷大于零且小于第一阈值的主机中选出负荷最小的两个主机;
步骤204:判断两个主机的负荷之和是否超过预设第一阈值,如果否,则执行步骤205,如果是,则执行步骤206;
步骤205:将其中的一个主机上负荷动态地迁移到另一个主机上,返回执行步骤202;
其中,每个主机的负荷为该主机上正在运行的虚拟计算节点。
具体地,从两个主机中选择一个主机,挂起选择的主机上正在运行的每个虚拟计算节点,将挂起的虚拟计算节点迁移到另一个主机上,并恢复挂起的虚拟计算节点。
其中,将其中的一个主机上正在运行的每个虚拟计算节点动态地迁移到另一个主机上后,被迁移的主机的负荷就变为零,且被迁移的主机的当前状态就变成空闲状态。另外,在本实施例中,在将其中的一个主机上正在运行的每个虚拟计算节点动态地迁移到另一个主机之前,还判断两主机的负荷之和是否超过第一阈值,如果没有超过才进行迁移操作,如此可以防止迁移后的另一个主机负荷较大,而处于较忙碌的状态。
其中,在本实施例中,将数据中心中的负荷小于第一阈值的主机上的负荷进行合并可以增加数据中心中的空闲主机的数量。
步骤206:从数据中心的所有正在运行的主机中获取当前状态为空闲状态的主机的数目;
具体地,从数据中心包括的各主机中,选择负荷为零的主机,其中,选择的负荷为零的主机即为当前状态为空闲状态的主机,统计空闲状态的主机的数目。
步骤207:判断空闲状态的主机的数目是否超过预设的第二阈值,如果是,则执行步骤208,如果否,执行步骤209;
其中,用户向数据中心提交任务,数据中心接收用户提交的任务,并将用户提交的任务分配给数据中心的主机,所以数据中心的空闲主机的数目以及各主机的负荷情况是实时在变化。
其中,为了能够让数据中心正常分配任务,所以在本实施例中,在数据中心中预留第二阈值个空闲状态的主机,供数据中心分配任务,如此不影响数据中心的计算能力。
步骤208:从空闲状态的主机中选择预设的第二阈值个空闲状态的主机,将未选择的空闲状态的主机关闭,操作结束;
具体地,从空闲状态的主机中选择第二阈值个空闲状态的主机,利用远程关闭技术将未选择的空闲状态的主机关闭。
其中,空闲状态的主机还在运行,仍然在消耗能源,所以在本实施例中,在数据中心中保留第二阈值个处于空闲状态的主机,保证数据中心能够正常分配用户提交的任务,而将剩下的处于空闲状态的主机关闭,如此减少了数据中心对能源的消耗。
其中,数据中心中的大部分的设备是主机,所以数据中心的大部分能源都由主机消耗,另外,只有在用户提交任务的高峰时,才需要数据中心中的大部分或全部的主机开启运行,而在其他的时间内,数据中心中的大部分主机处于空闲状态和负荷小于第一阈值,而在本实施例中,将负荷小于第一阈值的主机上的负荷合并,得到更多处于空闲状态的主机,并在满足数据中心分配任务所需要空闲状态的主机的前提下,将多余的处于空闲状态的主机关闭,如此大大地减少数据中心对能源的消耗。
进一步地,数据中心中的主机在正常运行时,不仅消耗大量的能源,还释放大量的热量,使得数据中心的温度升高,在数据中心中存在制冷***,制冷***释放出冷气,防止数据中心中的温度升高。在本发明实施例中,将数据中心的部分空闲状态的主机关闭,减少数据中心中的正在运行的主机的数目,如此减少了主机向数据中心释放的热量,从而可以调高制冷***制冷的温度,从而进一步地减少数据中心对能源的消耗。
其中,远程关闭技术是现有较为成熟的技术,在本实施例中,不再对此技术做出详细的说明。
步骤209:开启关闭的主机,使数据中心中空闲状态的主机的数目达到预设的第二阈值个,操作结束。
具体地,根据数据中心中的空闲状态的主机的数目和第二阈值,计算出需要开启的主机的数目,从关闭的主机中选择计算的数目个主机,利用远程唤醒技术开启选择的主机。
其中,远程唤醒技术是现有较为成熟的技术,在本实施例中,不再对此技术做出详细说明。
在本发明实施例中,实时获取数据中心中每个正在运行的主机的负荷,对于负荷最小且负荷小于第一阈值的两主机,如果两主机的负荷之和小于第一阈值,则将两主机的负荷合并,在数据中心中保持数据中心中的空闲状态的主机的数目为第二阈值个。如此在不影响数据中心正常分配任务的前提下,最大限度地减少了数据中心对能源的消耗。
实施例3
如图3所示,本发明实施例提供了一种管理数据中心的方法,包括:
步骤301:实时获取数据中心中的空闲状态的主机;
具体地,从数据中心中正在运行的主机中,获取每个主机的负荷,选择负荷为零的主机,其中,负荷为零的主机的当前状态为空闲状态。
其中,数据中心包括主机、制冷***等设备,主机的数目占多数。另外,只有在用户提交任务的高峰时,才需要数据中心中的大部分或全部的主机开启运行,而在其他的时间内,数据中心中的大部分主机处于空闲状态。
步骤302:判断空闲状态的主机的数目是否超过预设的第二阈值,如果是,执行步骤303;如果否,则执行步骤304;
其中,用户向数据中心提交任务,数据中心接收用户提交的任务,并将用户提交的任务分配给数据中心的主机,由该主机上的虚拟计算中心节点来处理该任务。所以为了不影响数据中心正常分配任务,在数据中心中保留第二阈值个空闲状态的主机。
步骤303:从空闲状态的主机中选择第二阈值个主机,将未选择的空闲状态的主机关闭,操作结束;
具体地,从空闲状态的主机中选择第二阈值个主机,利用远程关闭技术将剩下未选择的空闲状态的主机关闭。
其中,空闲状态的主机还在运行,仍然在消耗能源,所以在本实施例中,在数据中心中保留第二阈值个处于空闲状态的主机,保证数据中心能够正常分配用户提交的任务,而将剩下的处于空闲状态的主机关闭,如此减少了数据中心对能源的消耗。
其中,数据中心中的大部分的设备是主机,所以数据中心的大部分能源都由主机消耗,另外,只有在用户提交任务的高峰时,才需要数据中心中的大部分或全部的主机开启运行,而在其他的时间内,数据中心中的大部分主机处于空闲状态,而在本实施例中,在满足数据中心分配任务所需要空闲状态的主机的情况下,将多余的处于空闲状态的主机关闭,如此大大地减少数据中心对能源的消耗。
其中,数据中心中的主机在正常运行时,不仅消耗大量的能源,还释放大量的热量,使得数据中心的温度升高,在数据中心中存在制冷***,制冷***释放出冷气,防止数据中的温度升高。在本发明实施例中,将数据中心的部分空闲状态的主机关闭,减少数据中心的正在运行的主机的数目,如此减少了主机向数据中心释放的热量,从而可以调高制冷***制冷的温度,从而进一步地减少数据中心对能源的消耗。
其中,远程关闭技术是现有较为成熟的技术,在本实施例中,不再对此技术做出详细的说明。
步骤304:开启关闭的主机,使数据中心中空闲状态的主机的数目达到预设的第二阈值个,操作结束。
具体地,根据数据中心中的空闲状态的主机的数目和第二阈值,计算出需要开启的主机的数目,从关闭的主机中选择计算的数目个主机,利用远程唤醒技术开启选择的主机。
其中,远程唤醒技术是现有较为成熟的技术,在本实施例中,不再对此技术做出详细说明。
在本发明实施例中,实时获取数据中心中空闲状态的主机,保持数据中心中存在第二阈值个空闲状态的主机。如此在不影响数据中心正常分配任务的前提下,最大限度地减少了数据中心对能源的消耗。
实施例4
如图4所示,本发明实施例提供了一种管理数据中心的设备,包括:
获取模块401,用于从数据中心中获取处于空闲状态的主机的数目;
保持模块402,用于保持数据中心中空闲状态的主机的数目为第二阈值个。
其中,获取模块401具体包括:
第一获取单元4011,用于获取数据中心中正在运行的主机的负荷;
第二获取单元4012,用于获取负荷为零的主机,其中,负荷为零的主机为空闲状态的主机。
其中,获取模块401还包括:
第一选择单元4013,用于从负荷大于零且小于第一阈值的主机中选出负荷最小的两个主机;
合并单元4014,用于如果两个主机的负荷之和不超过第一阈值,则将两主机的负荷合并在其中的一个主机上。
其中,参见图4,在本实施例中,保持模块402可以具体包括:
第二选择单元4021,用于如果空闲状态的主机的数目大于第二阈值,则选择第二阈值个空闲状态的主机;
关闭单元4022,用于利用远程关闭技术关闭未选择的空闲状态的主机。
其中,参见图5,在本实施例中,保持模块402可以具体包括:
开启单元4023,用于如果空闲状态的主机的数目小于第二阈值,利用远程唤醒技术开启关闭的主机,直到数据中心中的空闲状态的主机的数目达到第二阈值时为止。
在本发明实施例中,实时获取数据中心中空闲状态的主机,保持数据中心中存在第二阈值个空闲状态的主机。如此在不影响数据中心正常分配任务的前提下,最大限度地减少了数据中心对能源的消耗。
需要说明的是:上述实施例提供的一种管理数据中心的设备在管理数据中心时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供管理数据中心的设备与管理数据中心的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。