CN100549961C - 机架空间分配方法及装置 - Google Patents
机架空间分配方法及装置 Download PDFInfo
- Publication number
- CN100549961C CN100549961C CNB2006100264876A CN200610026487A CN100549961C CN 100549961 C CN100549961 C CN 100549961C CN B2006100264876 A CNB2006100264876 A CN B2006100264876A CN 200610026487 A CN200610026487 A CN 200610026487A CN 100549961 C CN100549961 C CN 100549961C
- Authority
- CN
- China
- Prior art keywords
- space
- business
- fragment
- threshold value
- rack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明揭示了一种互联网数据中心的机架空间的分配方法,包括:确定一片段空间门限值;以及在机架空间中划分一片段空间;其中,当接收到请求机架空间的业务时,首先判断该业务所请求的空间大小是否小于片段空间门限值,如果小于片段空间门限值,则从片段空间中分配空间给所述业务。采用了本发明的技术方案,通过将较小的业务请求放置在专门划分的片段空间中,从而避免了较小的业务请求占用大段的连续空间的状况,可有效地减小机架空间中碎片产生的可能性,并且,较大的连续空间可供较大的业务请求使用,加大了机架空间的整体利用效率,提高了性能并且较小了出现浪费的可能性。
Description
技术领域
本发明涉及空间分配技术,更具体地说,涉及一种互联网数据中心的机架空间的自动分配方法及装置。
背景技术
在互联网的数据中心,一般都是用机架(rack)容纳客户的设备(数据),机架具有机架空间(rack space),客户的设备(数据)保存在机架空间中,客户的设备(数据)称之为业务,业务需要保存在连续的空闲的机架空间中。当有一个新的业务请求出现时,就需要查询目前的机架空间中连续的空闲空间是否大于该业务所要求的空间,当有足够的连续空间时,就能够接受该业务。
机架空间是一种昂贵而稀有的资源,通常,机架空间的大小以单位空间(Unit Space)来表示,下面的描述中将使用单位U来表示机架空间的大小。通常,一个中等大小的互联网数据中心具有的机架空间的大小为:200(单个机架的数量)×40(单个机架中所具有的单位空间数)=8000U=8KU。所以,相对而言,在互联网数据中心中,机架空间是珍贵的资源。
对于珍贵资源的利用必须是高效率的,但是,和其他所有的空间分配方案一样,比如计算机的硬盘分配方案和内存分配方案,机架空间的分配也会遇到碎片的问题。碎片是由于反复地分配、释放空间而产生。碎片的数量和分配的算法直接相关,同时,碎片的数量将直接影响到机架空间的整体性能。大量的碎片将导致机架空间中连续可用空间的数量大大减少,以至于在总的空闲空间量足够的情况下仍然无法承接新的业务请求。
比如,参考下面的例子,参见图1所示,图1中示出了两个机架,机架A和机架B,它们都具有30U的总空间,但是使用的状况不相同:
对于机架A,总共具有6U的空闲空间,被分成了4部分,分别是1U、1U、2U、2U。机架B也具有6U的空闲空间,被分成了2部分,分别是5U和1U。此时,出现了一个业务请求,大小是4U,对于机架A,虽然总共具有6U的空闲空间,但是其中没有任何一个连续空间的大小是达到4U的,因此机架A无法承接这个业务,而机架B中具有一个5U的连续空间,机架B可以承接这个业务。此时,就可以看到,由于大量的碎片(相对于4U的业务来说,小于4U的连续空间都可被视为是碎片)存在,使得机架A在总的空闲空间足够的情况下仍然无法承接这个新的业务,并且,此时的机架A只能够承接2U以下的业务,如果没有2U以下的业务出现,机架A中的空闲空间将一直闲置,这种情况对于珍贵的机架空间来说是一种极大的浪费。
然后,在讨论一下碎片产生的原因,参考图2,图2A示出了一个10U的连续的机架空间。此时,一个新的业务请求了1U的空间。对于10U的连续空间来说,其中的任意位置都能够存放这1U的业务请求,但是不恰当的分配就会导致碎片的产生。
比如,按照图2B的分配方式,将位于中间1U空间分配给了这个业务,从而剩下的连续空间形成了4U和5U两个空间,这时,该机架只能承接5U以下的新业务,对于一个6U的业务,它将无法承接,但是实际上该机架空间中的空闲空间有9U。
如果更换一种分配的方式,将位于一端的1U空间分配给这个业务,参考图2C所示,则剩下的连续空间还是9U,该机架仍然可以承接9U的业务,与其实际的空闲空间相等,达到高的利用效率。
通过上面的实例,可以得知,在实际的应用中,由于业务请求的大小不一,在处理大量需要较小空间的业务请求时,如果分配的方式不合理,就会产生大量的碎片,从而大大地降低整个机架空间的性能。
类似的问题也会出现在其他的空间分配领域中,比如计算机的硬盘空间或者内存空间的分配。参考图3A,此时所示的是计算机的硬盘空间或者内存空间的状况,同样对于一个30U的空间(为了说明简单,此处将计算机的硬盘空间或者内存空间也采用单位空间U作为计量单位)。它的使用状况如下:4个被占用的空间,大小分别是11U、5U、3U、3U,它们之间被空闲空间隔开,分别是1U、1U、2U、2U,此时出现了一个5U的业务请求。如果是计算机的硬盘空间或者内存空间,则可以通过调整空间的使用状况来合并上述不连续的空闲空间,通过调整之后,将产生一个6U的连续空间,所有的被占用的空间也将变得连续,参考图3B。在计算机的硬盘空间或者内存空间中,这样的调整是可行的,因为底层的物理空间对用用户来说是透明的,并且调整存储位置并不会影响到这些数据的使用。
但是,上述的方法在机架空间中是不可行的,因为:
1)互联网数据中心的机架空间中保存的是用户的设备(数据),每一次存储空间的改变都会牵涉到该设备的相应调整,由于用户的数量众多,每当有新的业务请求产生时,就要求所有的用户都调整存储的位置并修改设备的相应设置显然是不可行的。
2)互联网数据中心的机架空间是一个向用户开放的空间,不像计算机的硬盘空间或者内存空间是一个仅供系统使用的内部空间。对于开放空间的频繁改动是用户所不能接受的。
因此,和其他的空间分配方案相比较,机架空间的分配有着如下的重要差别,所分配的空间只能被释放,而不能被移动,因而,对于已经分配的空间,不能通过调整合并的方式来进行修改。
于是,对于机架空间的分配,就要求在分配时就要考虑如何减少碎片产生的可能性,并尽量保持较大的连续空闲空间,因为在分配之后就无法通过空间的移动和合并来消除碎片。
发明内容
本发明的目的是提供一种能够有效减少碎片并尽量保持较大的连续空闲空间的机架空间的分配方法。
根据本发明的第一方面,提供一种互联网数据中心的机架空间的分配方法,包括:
确定一片段空间门限值;以及
在所述机架空间中划分一片段空间;
其中,当接收到请求机架空间的业务时,首先判断该业务所请求的空间大小是否小于所述片段空间门限值,如果小于所述片段空间门限值,则从所述片段空间中分配空间给所述业务。
较佳的,每一次接收到新的业务并从所述机架空间中分配空间后,重新确定片段空间门限值。以及,每一次接收到新的业务并从所述机架空间中分配空间后,重新划分片段空间。
根据本发明,所述方法还包括
确定一大空间门限值;以及
在所述机架空间中划分一大空间,所述大空间与所述片段空间不重叠;
其中当接收到请求机架空间的业务时,首先判断该业务所请求的空间大小是否大于所述大空间门限值,如果大于所述大空间门限值,则从所述大空间中分配空间给所述业务。
较佳的,每一次接收到新的业务并从所述机架空间中分配空间后,重新确定大空间门限值。以及,每一次接收到新的业务并从所述机架空间中分配空间后,重新划分大空间。
根据本发明,所述方法还包括,所述机架空间中除去片段空间和大空间以外的空间设定为一般业务空间,当接收到请求机架空间的业务,并且判断该业务所请求的空间大小是小于所述大空间门限值而大于所述片段空间门限值,则从所述一般业务空间中分配空间给所述业务。
较佳的,所述片段空间、大空间和一般业务空间都是连续的空间。
根据本发明,所述方法还包括,所述互联网数据中心的机架空间划分为数个机架,设定第一对象,每个第一对象表示一单个的机架;设定第二对象,每个第二对象表示一单个机架中的一连续的空闲空间;当接收到请求机架空间的业务时,基于所述第一对象、第二对象、该业务所请求的空间、所述大空间门限值以及所述片段空间门限确定分配给所述业务的空间。
其中,所述第二对象包括:第一子对象,表示该单个机架中的该连续的空闲空间的权重;第二子对象,表示该单个机架中的该连续的空闲空间的大小;当接收到请求机架空间的业务时,基于所述第一对象、第一子对象、第二子对象、该业务所请求的空间、所述大空间门限值以及所述片段空间门限确定分配给所述业务的空间。以及,根据第一对象当前值、第一子对象当前值、第二子对象当前值、业务所请求的空间、大空间门限值以及片段空间门限计算确定新的第一子对象的值,即一单个机架中的一连续的空闲空间的权重;在分配空间时,所分配的空间需满足如下的条件,该连续空间具有最大的第一子对象值,即最大的权重;该空间具有不小于业务所请求的空间的第二子对象值,即连续的空闲空间。
较佳的,该方法还包括,设定第三对象,表示机架空间中一单位空间的大小。
根据本发明的第二方面,提供一种互联网数据中心的机架空间的分配装置,包括:
门限值确定装置,确定一片段空间门限值;
空间划分装置,在所述机架空间中划分一片段空间;
判断装置,判断所接收的业务所请求的空间大小;以及
空间分配装置,分配空间给所述业务;
其中,当接收到请求机架空间的业务时,判断装置首先判断该业务所请求的空间大小是否小于门限值确定装置所设定的片段空间门限值,如果小于片段空间门限值,则空间分配装置从空间划分装置划分的片段空间中分配空间给所述业务。
较佳的,门限值确定装置在每一次接收到新的业务并从所述机架空间中分配空间后重新确定片段空间门限值。以及,空间划分装置在每一次接收到新的业务并从所述机架空间中分配空间后重新划分片段空间。
根据本发明,门限值确定装置还确定一大空间门限值;以及空间划分装置还在机架空间中划分一大空间,所述大空间与所述片段空间不重叠;其中,当接收到请求机架空间的业务时,判断装置首先判断该业务所请求的空间大小是否大于门限值确定装置所设定的大空间门限值,如果大于大空间门限值,则空间分配装置从空间划分装置划分的大空间中分配空间给所述业务。
较佳的,门限值确定装置在每一次接收到新的业务并从所述机架空间中分配空间后重新确定大空间门限值。以及,空间划分装置在每一次接收到新的业务并从所述机架空间中分配空间后重新划分大空间。
根据本发明,空间划分装置将机架空间中除去片段空间和大空间以外的空间设定为一般业务空间,当接收到请求机架空间的业务,并且判断装置判断该业务所请求的空间大小是小于大空间门限值而大于片段空间门限值,则从一般业务空间中分配空间给所述业务。
较佳的,空间划分装置将片段空间、大空间和一般业务空间都划分成连续的空间。
根据本发明,所述互联网数据中心的机架空间划分为数个机架,所述分配装置还包括对象设定装置,该对象设定装置,设定第一对象,每个第一对象表示一单个的机架;设定第二对象,每个第二对象表示一单个机架中的一连续的空闲空间;当接收到请求机架空间的业务时,基于所述第一对象、第二对象、该业务所请求的空间、所述大空间门限值以及所述片段空间门限确定分配给所述业务的空间。
其中,对象设定装置还为第二对象设定子对象,包括:第一子对象,表示该单个机架中的该连续的空闲空间的权重;第二子对象,表示该单个机架中的该连续的空闲空间的大小;当接收到请求机架空间的业务时,基于所述第一对象、第一子对象、第二子对象、该业务所请求的空间、所述大空间门限值以及所述片段空间门限确定分配给所述业务的空间。以及,本发明的分配装置还包括计算装置,该计算装置根据第一对象当前值、第一子对象当前值、第二子对象当前值、业务所请求的空间、大空间门限值以及片段空间门限计算确定新的第一子对象的值,即一单个机架中的一连续的空闲空间的权重;空间分配装置将满足如下的条件的空间分配给所述业务,该连续空间具有最大的第一子对象值,即最大的权重;该空间具有不小于业务所请求的空间的第二子对象值,即连续的空闲空间。
较佳的,对象设定装置还设定第三对象,表示机架空间中一单位空间的大小。
采用了本发明的技术方案,通过将较小的业务请求放置在专门划分的片段空间中,从而避免了较小的业务请求占用大段的连续空间的状况,可有效地减小机架空间中碎片产生的可能性,并且,较大的连续空间可供较大的业务请求使用,加大了机架空间的整体利用效率,提高了性能并且较小了出现浪费的可能性。
附图说明
本发明上述的以及其他的特征、性质和优势将通过下面结合附图和实施例的详细描述而变得更加明显,在附图中,相同的附图标记始终表示相同的特征,其中:
图1是机架空间使用状况的一个实例,其中产生了碎片;
图2A-C是产生碎片的原因分析的示意图;
图3A、B是其他空间分配方式中的碎片消除方法的示意图;
图4A是根据本发明的机架空间分配方法的第一实施例的流程图;
图4B是根据本发明的机架空间分配方法的第二实施例的流程图;
图4C是根据本发明的机架空间分配方法的第三实施例的流程图;
图5A-D是根据本发明的机架空间分配方法的第一实施例进行分配后的机架空间的分配状况;
图5E-H是根据本发明的机架空间分配方法的第二实施例进行分配后的机架空间的分配状况;
图6示出了根据本发明的一机架分配算法的示例;
图7示出了根据本发明的一实施例的权重计算算法的流程图;
图8示出了根据本发明的一实施例的机架空间分配装置的结构框图。
具体实施方式
本发明的目的是提供一种互联网数据中心的机架空间的分配方案,其主要思想是对容易产生碎片的较小的业务请求从专门的区域中分配空间,从而避免对于较大的连续空间的不必要的分割,由此可保留较大的连续空间供较大的业务请求使用。
示例的机架空间分配方法
第一实施例
参考图4A,其示出了根据本发明的一种互联网数据中心的机架空间的分配方法,包括如下的步骤:
400.确定一片段空间门限值;
402.在机架空间中划分一片段空间;
404.接收到请求机架空间的业务时,判断该业务所请求的空间大小是否小于片段空间门限值;
406.如果小于片段空间门限值,则从片段空间中分配空间给所述业务;
408.如果大于片段空间门限值,则从除片段空间以外的空间中分配给所述业务。
参考图5A所示,图5A示出了根据图4A所示的分配方法进行分配后的机架空间的分配状况。在图5A所示的实例中,一个具有20U的机架空间500被分成了两个部分,5U的片段空间501以及15U的剩余空间502。根据使用状况,设定片段空间门限值为2U,即小于2U的业务请求将被放置到5U的片段空间501中,大于2U的业务请求将被放置到15U的剩余空间502中,对于恰好是2U的业务请求,放在任何一个空间中都可以,这可以根据实际的使用状况加以设定,本发明并不对此作出限制。
通常,在进行了一次空间分配之后,需要重新确定片段空间门限值以及重新划分片段空间。例如参考图5B,在5U的片段空间501中已经有三个1U的空间被占据,此时,片段空间501最大的连续空间已经变成了1U,则可以重新确定片段空间门限值为1U。
在每一次接收到新的业务并从机架空间中分配空间后,还可以重新划分片段空间,比如,参考图5C所示,在5U的片段空间501中已经有两个1U的空间被占据,且片段空间501最大的连续空间已经变成了1U,此时希望继续保持片段空间门限值为2U,则可以通过改变片段空间501的大小来实现,比如,如图5C所示的,将片段空间501的大小变为6U,从而使的片段空间501中最大的连续空间大小依然为2U。
有时,需要同时调整片段空间门限值以及重新划分片段空间,比如在图5D所示的情况中,片段空间501中已经有两个1U的空间被占据,而15U的剩余空间502中同样有11U的空间被占据,此时,希望保持这个机架仍然能够承接5U的业务,则需要将剩余空间502扩大为16U,这样,片段空间501中最大的连续空间变成了1U,则需要将片段空间门限值为1U 。
第二实施例
图4B是根据本发明的机架空间分配方法的第二实施例的流程图,根据该实施例,该方法包括如下的步骤:
410.确定一片段空间门限值;
411.在机架空间中划分一片段空间;
412.确定一大空间门限值;
413.在机架空间中划分一大空间,大空间与片段空间不重叠;
414.接收到请求机架空间的业务时,判断该业务所请求的空间大小是否小于片段空间门限值;
415.如果小于片段空间门限值,则从片段空间中分配空间给所述业务;
416.如果大于片段空间门限值,则进一步判断该业务所请求的空间是否大空间门限值;
417.如果大于大空间门限,则从大空间中分配空间给所述业务;
418.如果小于大空间门限,则从除了片段空间和大空间之外的空间中分配给所述业务。
参考图5E所示,图5E示出了根据图4B所示的分配方法进行分配后的机架空间的分配状况。在图5E所示的实例中,一个具有30U的机架空间510被分成了两个部分,5U的片段空间511以及10U的剩余空间502和15U的大空间513。根据使用状况,设定片段空间门限值为2U,即小于2U的业务请求将被放置到5U的片段空间511中,大空间门限值被设定为5U,即大于5U的业务请求将被放置到大空间513中,大于2U而小于5U的业务请求将被放置到10U的剩余空间512中,对于恰好是2U以及5U的业务请求,类似前面所述的情况,可以根据实际的使用状况加以设定放置在哪一个空间中,本发明并不对此作出限制。
通常,在进行了一次空间分配之后,也需要重新确定大空间门限值以及重新划大空间。例如参考图5F,在15U的大空间513中已经有一个6U和一个5U的空间被占据,此时,大空间513最大的连续空间已经变成了4U,则可以重新确定片段空间门限值为4U。
在每一次接收到新的业务并从机架空间中分配空间后,还可以重新划分大空间,比如,参考图5G所示,此时希望继续保持大空间门限值为5U,则可以通过改变大空间513的大小来实现,比如,如图5G所示的,将大空间513的大小变为16U,从而使的大空间513中最大的连续空间大小依然为5U,此时,剩余空间的大小变为9U。
有时,需要同时调整大空间门限值以及重新划分大空间,比如在图5G所示的情况中,大空间501中已经有一个6U和一个5U的空间被占据,此时,希望这个机架能够承接一个7U的业务,则需要将大空间513扩大为18U,这样,大空间513中最大的连续空间变成了7U,可将大空间门限值也调整为7U,相应的,剩余空间缩小到了7U,参考图5H所示。
对于本领域技术人员来说,可以预见到,在一些情况下,对于大空间参数的调整会影响到片段空间的参数,此时,就需要对两者同时进行调整,比如,在上述的图5H中,如果希望保持剩余空间的大小为10U,就需要调整片段空间的大小,结合片段空间的使用状况,可能还需要调整片段门限值。这是属于本领域的技术人员可以预见的内容,这里就不再详细描述。
第三实施例
图4C是根据本发明的机架空间分配方法的第三实施例的流程图,根据该实施例,该方法包括如下的步骤:
420.确定一片段空间门限值;
421.在机架空间中划分一片段空间;
422.确定一大空间门限值;
423.在机架空间中划分一大空间,大空间与片段空间不重叠;
424.将剩余的空间设定为一般业务空间;
425.接收到请求机架空间的业务时,判断该业务所请求的空间大小是否小于片段空间门限值;
426.如果小于片段空间门限值,则从片段空间中分配空间给所述业务;
427.如果大于片段空间门限值,则进一步判断该业务所请求的空间是否大空间门限值;
428.如果大于大空间门限,则从大空间中分配空间给所述业务;
429.如果小于大空间门限,则从一般业务空间中分配给所述业务。
该实施例的流程以及空间分配的状况和上述的第二实施例相近,这里就不再重复描述。需要说明,通常,片段空间、大空间和一般业务空间都是各自连续的空间。三个空间互相领接,对于如何安排这三个空间的顺序,本发明并不进行限制。
划分机架时的机架空间分配算法
在实际的应用中,通常在一个互联网的数据中心的机架空间会被划分成数个机架,每一个机架会具有一对应的机架空间,此时,当出现一业务请求时,就需要从数个机架中选取最合适的机架来分配给该业务。总的分配原则如上面所介绍的,下面说明一具体的示例分配算法。
首先,需要定义一系列的对象,包括:
第一对象,每个第一对象表示一单个的机架。在该示例中,第一对象被设定为Rack;
第二对象,每个第二对象表示一单个机架中的一连续的空闲空间,在该示例中,第二对象被设定为RackRoom。在该实例中,第二对象还包括两个字对象:
第一子对象,表示该单个机架中的该连续的空闲空间的权重,此处被设定为iWeight;
第二子对象,表示该单个机架中的该连续的空闲空间的大小,此处被设定为iSpace;
该示例中,还设定了第三对象,表示机架空间中一单位空间的大小,即一个U的大小,由于U不是标准的空间单位,该对象规定了一个U的实际大小,第三对象被设定为RackSpace。
此外,还定义了一系列的参数,包括:
片段空间门限值(fragment space threshold,FSH);
大空间门限值(big space threshold,BSH);
片段空间区域(fragment space area,FSA),FSA将表示片段空间的范围。
业务所请求的空间大小iNeedSpace。
此处,并没有定义大空间区域,下面的描述将结合上述三个参数来进行,对于本领域的技术人员来说,可以预见到,如果增加一个大空间区域的参数,也可以实现上述的算法。
当接收到一个新的业务请求时,可根据Rack当前值、iWeight当前值、iSpace当前值、iNeedSpace、BSH、FSH和FSA计算确定新的iWeight值,即一单个机架中的一连续的空闲空间的权重;
在分配空间时,所分配的空间需满足如下的条件,
该空间具有最大的iWeight,即最大的权重;
该空间具有不小于iNeedSpace的iSpace,即连续的空闲空间。
图6示出了根据本发明的一机架分配算法的示例,参考图6,该算法包括:
600.接收业务所要求的机架空间iNeedSpace;
602.计算所有单个机架中的所有连续空间的权重,即对于所有的Rack,计算其中每一个RackRoom的iWeight;
604.从所有的单个机架的所有连续空间中,找到具有最大权重的一个,即遍历所有Rack的所有RackRoom,寻找具有最高的iWeight的一个;
606.如果该RackRoom的iSpace同样符合小于iNeedSpace条件,就确定为该连续空间分配给该业务;
608.在分配之后,重新计算所有的所有单个机架中的所有连续空间的权重,即对于所有的Rack,重新计算其中每一个RackRoom的iWeight;
610.在全部运行结束后,清除所有的权重值,即对于所有Rack中的所有RackRoom清除其iWeight值。
在上述的步骤中,无疑计算权重iWeight是实现本发明的算法的最重要一环。
图7示出了根据本发明的一实施例的权重计算算法的流程图,参考图7,该算法包括:
700.接收业务所要求的机架空间iNeedSpace;
701.判断iNeedSpace与BSH的大小,如果iNeedSpace大于BSH,则进入步骤703,如果不大于,则进入步骤702;
702.设置一中间变量iCtrl,并将其设置为1,之后进入步骤704;
703.设置一中间变量iCtrl,并将其设置为-1,之后进入步骤704;
704.设置一中间变量i,且对于所有Rack,使用i作为其索引;
705.判断下述条件是否满足:当前的Rack不是处于FSA中,并且iNeedSpace不大于FSH,如果符合上述条件,则改变上述的索引值i,查询下一Rack时候符合上述条件,直至找到出现不符合的Rack;
706.对于在该Rack中的所有RackRoom,进行如下的判断:该RackRoom的iSpace大于iNeedSpace,如果是的话,进入步骤708,如果不是的话,则进入步骤707;
707.将该RackRoom的iWeight设置为0;进入步骤709;
708.将该RackRoom的iWeight设置为iWeightthreshold-i*iCtrl;进入步骤709,此处,iWeightthreshold是一预定的变量值,通常,iWeightthreshold会被设置成一个常量,以保证iWeight总是能够大于0;
709.判断是否对于该Rack内所有的RackRoom都进行了iWeight设置,如果没有完成,回到步骤706对该Rack中的下一个RackRoom计算iWeight;如果该Rack中的RackRoom已经计算完毕,则回到步骤705,查找下一个Rack。
当所有的Rack以及其中所有的RackRoom都具有了iWeight之后,遍历所有的Rack中的所有RackRoom,找到其中具有最高的iWeight的RackRoom,并判断该RackRoom的iSpace大于iNeedSpace,即可进行分配。
上述的算法中,RackRoom的iSpace大于iNeedSpace的,它们的iWeight总是要比那些iSpace小于等于iNeedSpace的RackRoom大。
通过上述的算法,可以将要求较小空间的业务限制在FSA内,以保证留有足够的连续空间供要求较大空间的业务使用。
示例的机架空间分配装置
第一实施例
根据本发明的第二方面,提供一种互联网数据中心的机架空间的分配装置,图8示出了根据本发明的一实施例的机架空间分配装置的结构框图,如图8所示,该装置800包括:
门限值确定装置802,用于确定一片段空间门限值;
空间划分装置804,在机架空间中划分一片段空间;
判断装置806,判断所接收的业务所请求的空间大小;以及
空间分配装置808,分配空间给所述业务;
其中,当接收到请求机架空间的业务时,判断装置806首先判断该业务所请求的空间大小是否小于门限值确定装置802所设定的片段空间门限值,如果小于片段空间门限值,则空间分配装置808从空间划分装置804划分的片段空间中分配空间给所述业务。
第一实施例的空间分配装置的功能与上述的第一实施例的机架空间的分配方法相对应,具体的功能以及空间分配的实例参考上面的描述以及图5A-5D。
同样,根据第一实施例,门限值确定装置802在每一次接收到新的业务并从机架空间中分配空间后重新确定片段空间门限值。以及,空间划分装置804在每一次接收到新的业务并从所述机架空间中分配空间后重新划分片段空间。
第二实施例
第二实施例的结构框图同样参考图8所示,该装置800包括:
门限值确定装置802,用于确定一片段空间门限值,还确定一大空间门限值
空间划分装置804,在机架空间中划分一片段空间,还在机架空间中划分一大空间,所述大空间与所述片段空间不重叠;
判断装置806,判断所接收的业务所请求的空间大小;以及
空间分配装置808,分配空间给所述业务;
其中,当接收到请求机架空间的业务时,判断装置806首先判断该业务所请求的空间大小是否小于门限值确定装置802所设定的片段空间门限值,如果小于片段空间门限值,则空间分配装置808从空间划分装置804划分的片段空间中分配空间给所述业务,如果不小于片段空间门限值,则判断装置806还判断该业务所请求的空间大小是否大于门限值确定装置802所设定的大空间门限值,如果大于大空间门限值,则空间分配装置808从空间划分装置804划分的大空间中分配空间给所述业务。
第二实施例的空间分配装置的功能与上述的第二实施例的机架空间的分配方法相对应,具体的功能以及空间分配的实例参考上面的描述以及图5E-5H。
同样,根据第二实施例,门限值确定装置802在每一次接收到新的业务并从所述机架空间中分配空间后重新确定大空间门限值。以及,空间划分装置804在每一次接收到新的业务并从所述机架空间中分配空间后重新划分大空间。类似的,第二实施例的装置也可能由门限值确定装置802同时调整片段空间门限值和大空间门限值,而空间划分装置804可同时调整片段空间和大空间。
第三实施例
第三实施例的结构框图同样参考图8所示,该装置800包括:
门限值确定装置802,用于确定一片段空间门限值,还确定一大空间门限值;空间划分装置将机架空间中除去片段空间和大空间以外的空间设定为一般业务空间
空间划分装置804,在机架空间中划分一片段空间,还在机架空间中划分一大空间,所述大空间与所述片段空间不重叠;空间划分装置804还将
判断装置806,判断所接收的业务所请求的空间大小;以及
空间分配装置808,分配空间给所述业务;
其中,当接收到请求机架空间的业务时,判断装置806首先判断该业务所请求的空间大小是否小于门限值确定装置802所设定的片段空间门限值,如果小于片段空间门限值,则空间分配装置808从空间划分装置804划分的片段空间中分配空间给所述业务,如果不小于片段空间门限值,则判断装置806还判断该业务所请求的空间大小是否大于门限值确定装置802所设定的大空间门限值,如果大于大空间门限值,则空间分配装置808从空间划分装置804划分的大空间中分配空间给所述业务。对于判断装置806判断该业务所请求的空间大小是小于大空间门限值而大于片段空间门限值,则从一般业务空间中分配空间给所述业务。
在上述的三个实施例中,空间划分装置804将片段空间、大空间和一般业务空间都划分成连续的空间。
划分机架时的机架空间分配装置
同样对应于前面所述的划分机架时的空间分配算法,本发明也提供一种划分机架时的空间分配装置,一般的互联网数据中心的机架空间都会划分为数个机架,因此,在上述三个实施例中的任一个的基础上,该分配装置还包括对象设定装置810,该对象设定装置810用于设定:
第一对象,每个第一对象表示一单个的机架。在该示例中,第一对象被设定为Rack;
第二对象,每个第二对象表示一单个机架中的一连续的空闲空间,在该示例中,第二对象被设定为RackRoom。在该实例中,第二对象还包括两个字对象:
第一子对象,表示该单个机架中的该连续的空闲空间的权重,此处被设定为iWeight;
第二子对象,表示该单个机架中的该连续的空闲空间的大小,此处被设定为iSpace;
该示例中,还设定了第三对象,表示机架空间中一单位空间的大小,即一个U的大小,由于U不是标准的空间单位,该对象规定了一个U的实际大小,第三对象被设定为RackSpace。
此外,对象设定装置804还定义了一系列的参数,包括:
片段空间门限值(fragment space threshold,FSH);
大空间门限值(big space threshold,BSH);
片段空间区域(fragment space area,FSA),FSA将表示片段空间的范围。
业务所请求的空间大小iNeedSpace。
此处,并没有定义大空间区域,下面的描述将结合上述三个参数来进行,对于本领域的技术人员来说,可以预见到,如果增加一个大空间区域的参数,也可以实现上述的算法。
当接收到一个新的业务请求时,可根据Rack当前值、iWeight当前值、iSpace当前值、iNeedSpace、BSH、FSH和FSA计算确定新的iWeight值,即一单个机架中的一连续的空闲空间的权重;
在分配空间时,空间分配装置808所分配的空间需满足如下的条件,
该空间具有最大的iWeight,即最大的权重;
该空间具有不小于iNeedSpace的iSpace,即连续的空闲空间。
上述的分配装置800中的判断装置806和空间分配装置808共同实现下列的功能,或者,也可以在分配装置800中另外增加一处理器812,用于实现下述的算法:
接收业务所要求的机架空间iNeedSpace;
计算所有单个机架中的所有连续空间的权重,即对于所有的Rack,计算其中每一个RackRoom的iWeight;
从所有的单个机架的所有连续空间中,找到具有最大权重的一个,即遍历所有Rack的所有RackRoom,寻找具有最高的iWeight的一个;
如果该RackRoom的iSpace同样符合小于iNeedSpace条件,就确定为该连续空间分配给该业务;
在分配之后,重新计算所有的所有单个机架中的所有连续空间的权重,即对于所有的Rack,重新计算其中每一个RackRoom的iWeight;
在全部运行结束后,清除所有的权重值,即对于所有Rack中的所有RackRoom清除其iWeight值。
在上述的过程中,无疑计算权重iWeight是实现本发明的算法的最重要一环。权重计算算法包括:
接收业务所要求的机架空间iNeedSpace;
判断iNeedSpace与BSH的大小,如果iNeedSpace大于BSH,则设置一中间变量iCtrl,并将其设置为-1;如果不大于,则设置一中间变量iCtrl,并将其设置为1;
设置一中间变量i,且对于所有Rack,使用i作为其索引;
判断下述条件是否满足:当前的Rack不是处于FSA中,并且iNeedSpace不大于FSH,如果符合上述条件,则改变上述的索引值i,查询下一Rack时候符合上述条件,直至找到出现不符合的Rack;
对于在该Rack中的所有RackRoom,进行如下的判断:该RackRoom的iSpace大于iNeedSpace,如果是的话,将该RackRoom的iWeight设置为iWeightthreshold-i*iCtrl,此处,iWeightthreshold是一预定的变量值,通常,iWeightthreshold会被设置成一个常量,以保证iWeight总是能够大于0;如果不是的话,则将该RackRoom的iWeight设置为0;
判断是否对于该Rack内所有的RackRoom都进行了iWeight设置,如果没有完成,回到前面的过程对该Rack中的下一个RackRoom计算iWeight;如果该Rack中的RackRoom已经计算完毕,则回到前面的过程查找下一个Rack。
当所有的Rack以及其中所有的RackRoom都具有了iWeight之后,遍历所有的Rack中的所有RackRoom,找到其中具有最高的iWeight的RackRoom,并判断该RackRoom的iSpace大于iNeedSpace,即可进行分配。
上述的算法中,RackRoom的iSpace大于iNeedSpace的,它们的iWeight总是要比那些iSpace小于等于iNeedSpace的RackRoom大。
通过上述的算法,可以将要求较小空间的业务限制在FSA内,以保证留有足够的连续空间供要求较大空间的业务使用。
需要说明,对本领域的技术人员来说,实现上述算法的装置可以有多种实现的形式,比如执行一软件程序的通用处理器、专门设计的专用处理器、逻辑电路等等,这些都在本发明的范围之内。
采用了本发明的技术方案,通过将较小的业务请求放置在专门划分的片段空间中,从而避免了较小的业务请求占用大段的连续空间的状况,可有效地减小机架空间中碎片产生的可能性,并且,较大的连续空间可供较大的业务请求使用,加大了机架空间的整体利用效率,提高了性能并且较小了出现浪费的可能性。
上述实施例是提供给熟悉本领域内的人员来实现或使用本发明/实用新型的,熟悉本领域的人员可在不脱离本发明/实用新型的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明/实用新型的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (22)
1.一种互联网数据中心的机架空间的分配方法,其特征在于,包括:
确定一片段空间门限值;以及
在所述机架空间中划分一片段空间;
其中,当接收到请求机架空间的业务时,首先判断该业务所请求的空间大小是否小于所述片段空间门限值,如果小于所述片段空间门限值,则从所述片段空间中分配空间给所述业务;以及
每一次接收到新的业务并从所述机架空间中分配空间后,重新确定片段空间门限值。
2.如权利要求1所述的分配方法,其特征在于,还包括:
每一次接收到新的业务并从所述机架空间中分配空间后,重新划分片段空间。
3.如权利要求1所述的分配方法,其特征在于,还包括:
确定一大空间门限值;以及
在所述机架空间中划分一大空间,所述大空间与所述片段空间不重叠;
其中当接收到请求机架空间的业务并且判断该业务所请求的空间不小于所述片段空间门限值时,判断该业务所请求的空间大小是否大于所述大空间门限值,如果大于所述大空间门限值,则从所述大空间中分配空间给所述业务。
4.如权利要求3所述的分配方法,其特征在于,还包括:
每一次接收到新的业务并从所述机架空间中分配空间后,重新确定大空间门限值。
5.如权利要求4所述的分配方法,其特征在于,还包括:
每一次接收到新的业务并从所述机架空间中分配空间后,重新划分大空间。
6.如权利要求3所述的分配方法,其特征在于,还包括:
所述机架空间中除去片段空间和大空间以外的空间设定为一般业务空间,当接收到请求机架空间的业务,并且判断该业务所请求的空间大小是小于所述大空间门限值而大于所述片段空间门限值,则从所述一般业务空间中分配空间给所述业务。
7.如权利要求6所述的分配方法,其特征在于,
所述片段空间、大空间和一般业务空间都是连续的空间。
8.如权利要求6所述的分配方法,其特征在于,所述互联网数据中心的机架空间划分为数个机架,该方法还包括
设定第一对象,每个第一对象表示一单个的机架;
设定第二对象,每个第二对象表示一单个机架中的一连续的空闲空间;
当接收到请求机架空间的业务时,基于所述第一对象、第二对象、该业务所请求的空间、所述大空间门限值以及所述片段空间门限确定分配给所述业务的空间。
9.如权利要求8所述的分配方法,其特征在于,所述第二对象包括:
第一子对象,表示该单个机架中的该连续的空闲空间的权重;
第二子对象,表示该单个机架中的该连续的空闲空间的大小;
当接收到请求机架空间的业务时,基于所述第一对象、第一子对象、第二子对象、该业务所请求的空间、所述大空间门限值以及所述片段空间门限确定分配给所述业务的空间。
10.如权利要求9所述的分配方法,其特征在于,
根据第一对象当前值、第一子对象当前值、第二子对象当前值、业务所请求的空间、大空间门限值以及片段空间门限计算确定新的第一子对象的值,即一单个机架中的一连续的空闲空间的权重;
在分配空间时,所分配的空间需满足如下的条件,
该连续空间具有最大的第一子对象值,即最大的权重;
该空间具有不小于业务所请求的空间的第二子对象值,即连续的空闲空间。
11.如权利要求10所述的分配方法,其特征在于,还包括:
设定第三对象,表示机架空间中一单位空间的大小。
12.一种互联网数据中心的机架空间的分配装置,其特征在于,包括:
门限值确定装置,确定一片段空间门限值;
空间划分装置,在所述机架空间中划分一片段空间;
判断装置,判断所接收的业务所请求的空间大小;以及
空间分配装置,从所述空间划分装置划分的片段空间中分配空间给所述业务;
其中,当接收到请求机架空间的业务时,判断装置首先判断该业务所请求的空间大小是否小于门限值确定装置所设定的片段空间门限值,如果小于片段空间门限值,则空间分配装置从空间划分装置划分的片段空间中分配空间给所述业务;以及
所述门限值确定装置在每一次接收到新的业务并从所述机架空间中分配空间后重新确定片段空间门限值。
13.如权利要求12所述的分配装置,其特征在于,
空间划分装置在每一次接收到新的业务并从所述机架空间中分配空间后重新划分片段空间。
14.如权利要求12所述的分配装置,其特征在于,
门限值确定装置还确定一大空间门限值;以及
空间划分装置还在机架空间中划分一大空间,所述大空间与所述片段空间不重叠,且所述空间分配装置还从所述空间划分装置划分的大空间中分配空间给所述业务;
其中,当接收到请求机架空间的业务且判断装置判断该业务所请求的空间不小于所述片段空间门限值时,判断装置判断该业务所请求的空间大小是否大于门限值确定装置所设定的大空间门限值,如果大于大空间门限值,则空间分配装置从空间划分装置划分的大空间中分配空间给所述业务。
15.如权利要求14所述的分配装置,其特征在于,
门限值确定装置在每一次接收到新的业务并从所述机架空间中分配空间后重新确定大空间门限值。
16.如权利要求15所述的分配装置,其特征在于,
空间划分装置在每一次接收到新的业务并从所述机架空间中分配空间后重新划分大空间。
17.如权利要求14所述的分配装置,其特征在于,
空间划分装置将机架空间中除去片段空间和大空间以外的空间设定为一般业务空间,当接收到请求机架空间的业务,并且判断装置判断该业务所请求的空间大小是小于大空间门限值而大于片段空间门限值,则从一般业务空间中分配空间给所述业务。
18.如权利要求17所述的分配装置,其特征在于,
空间划分装置将片段空间、大空间和一般业务空间都划分成连续的空间。
19.如权利要求18所述的分配装置,其特征在于,所述互联网数据中心的机架空间划分为数个机架,所述分配装置还包括对象设定装置,该对象设定装置,
设定第一对象,每个第一对象表示一单个的机架;
设定第二对象,每个第二对象表示一单个机架中的一连续的空闲空间;
当接收到请求机架空间的业务时,基于所述第一对象、第二对象、该业务所请求的空间、所述大空间门限值以及所述片段空间门限确定分配给所述业务的空间。
20.如权利要求19所述的分配装置,其特征在于,对象设定装置还为第二对象设定子对象,所述子对象包括:
第一子对象,表示该单个机架中的该连续的空闲空间的权重;
第二子对象,表示该单个机架中的该连续的空闲空间的大小;
当接收到请求机架空间的业务时,基于所述第一对象、第一子对象、第二子对象、该业务所请求的空间、所述大空间门限值以及所述片段空间门限确定分配给所述业务的空间。
21.如权利要求20所述的分配装置,其特征在于,
还包括计算装置,该计算装置根据第一对象当前值、第一子对象当前值、第二子对象当前值、业务所请求的空间、大空间门限值以及片段空间门限计算确定新的第一子对象的值,即一单个机架中的一连续的空闲空间的权重;
空间分配装置将满足如下的条件的空间分配给所述业务,
该连续空间具有最大的第一子对象值,即最大的权重;
该空间具有不小于业务所请求的空间的第二子对象值,即连续的空闲空间。
22.如权利要求21所述的分配方法,其特征在于,对象设定装置还设定第三对象,表示机架空间中一单位空间的大小。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100264876A CN100549961C (zh) | 2006-05-12 | 2006-05-12 | 机架空间分配方法及装置 |
US11/746,066 US20070288255A1 (en) | 2006-05-11 | 2007-05-09 | Method And Apparatus For Assigning Rack Space |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100264876A CN100549961C (zh) | 2006-05-12 | 2006-05-12 | 机架空间分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101071386A CN101071386A (zh) | 2007-11-14 |
CN100549961C true CN100549961C (zh) | 2009-10-14 |
Family
ID=38822985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100264876A Expired - Fee Related CN100549961C (zh) | 2006-05-11 | 2006-05-12 | 机架空间分配方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070288255A1 (zh) |
CN (1) | CN100549961C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8966209B2 (en) * | 2010-08-23 | 2015-02-24 | Apple Inc. | Efficient allocation policies for a system having non-volatile memory |
US8467175B2 (en) * | 2011-02-07 | 2013-06-18 | Dell Products L.P. | System and method for an optimizable rack solution |
CN105279099A (zh) * | 2015-09-30 | 2016-01-27 | 成都华为技术有限公司 | 一种磁盘空间分配法及装置 |
CN106651077A (zh) * | 2015-11-04 | 2017-05-10 | 中兴通讯股份有限公司 | 设备存放位置的查找方法及装置 |
US11070395B2 (en) * | 2015-12-09 | 2021-07-20 | Nokia Of America Corporation | Customer premises LAN expansion |
US10394475B2 (en) * | 2017-03-01 | 2019-08-27 | International Business Machines Corporation | Method and system for memory allocation in a disaggregated memory architecture |
CN108572868A (zh) * | 2017-09-25 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种物理主机选择方法、装置、设备及可读存储介质 |
JP6869166B2 (ja) * | 2017-11-17 | 2021-05-12 | 株式会社日立製作所 | 生産計画立案装置、及び生産計画立案方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6880108B1 (en) * | 1999-07-29 | 2005-04-12 | International Business Machines Corporation | Risk assessment methodology for AIX-based computer systems |
US6980978B2 (en) * | 2001-09-07 | 2005-12-27 | International Business Machines Corporation | Site integration management system for operational support service in an internet data center |
US7349392B2 (en) * | 2001-09-14 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Assigning IP addresses in an internet data center |
US6711635B1 (en) * | 2002-09-30 | 2004-03-23 | Western Digital Technologies, Inc. | Disk drive employing thresholds for cache memory allocation |
US20050273556A1 (en) * | 2004-06-04 | 2005-12-08 | International Business Machines Corporation | Method and system for providing a recommended allocation of data storage space |
-
2006
- 2006-05-12 CN CNB2006100264876A patent/CN100549961C/zh not_active Expired - Fee Related
-
2007
- 2007-05-09 US US11/746,066 patent/US20070288255A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20070288255A1 (en) | 2007-12-13 |
CN101071386A (zh) | 2007-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100549961C (zh) | 机架空间分配方法及装置 | |
Li et al. | Resource allocation and task offloading for heterogeneous real-time tasks with uncertain duration time in a fog queueing system | |
CN107329837B (zh) | 一种负载均衡的方法和单元、分布式NewSQL数据库系统 | |
CN105389206B (zh) | 一种云计算数据中心虚拟机资源快速配置方法 | |
CN105391654A (zh) | 基于账户活跃度的系统资源分配方法及装置 | |
CN108429815A (zh) | 基于OpenStack的动态资源调度方法 | |
CN105824686B (zh) | 一种虚拟机宿主机的选择方法和选择系统 | |
CN102262567A (zh) | 虚拟机调度决策的系统、平台及方法 | |
CN103095788A (zh) | 一种基于网络拓扑的云资源调度策略 | |
CN108200156A (zh) | 一种云环境下分布式文件系统的动态负载均衡方法 | |
CN105975398A (zh) | 一种内存碎片管理方法 | |
CN101373445A (zh) | 一种内存调度方法及装置 | |
CN112559122A (zh) | 一种基于电力专用安防设备的虚拟化实例管控方法及系统 | |
CN108647155A (zh) | 一种基于深度学习的多级cache共享的方法和装置 | |
CN105681414A (zh) | 一种避免Hbase数据热点的方法及系统 | |
Song et al. | Server consolidation energy-saving algorithm based on resource reservation and resource allocation strategy | |
Mashaly et al. | Load balancing in cloud-based content delivery networks using adaptive server activation/deactivation | |
Qie et al. | An energy-efficient strategy for virtual machine allocation over cloud data centers | |
KR20220089383A (ko) | 이더리움 샤딩 환경에서의 트랜잭션 수행 시간을 기반으로 한 부하 분산 방법 및 이더리움 샤딩 시스템 | |
CN115686800B (zh) | 用于多核系统的动态核心调度方法和装置 | |
CN104349172B (zh) | 网络视频存储设备的集群管理方法及其装置 | |
CN109298914A (zh) | 一种基于三层架构的Docker与虚拟机初始放置方法 | |
CN109144664A (zh) | 一种基于用户服务质量需求差异的虚拟机动态迁移方法 | |
Li et al. | A fast approach of provisioning virtual machines by using image content similarity in cloud | |
CN115766473A (zh) | 一种适用于云平台运营的资源容量规划的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091014 Termination date: 20170512 |
|
CF01 | Termination of patent right due to non-payment of annual fee |