一种在云计算环境下动态分配资源的方法及装置的制作方法

文档序号:7809153阅读:109来源:国知局
专利名称:一种在云计算环境下动态分配资源的方法及装置的制作方法
技术领域
本发明涉及数据库技术领域,特別是涉及一种在云计算环境下动态分配资源的方法及装置。
背景技术
云计算(cloud computing)是ー种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机或其他设备。云计算的核心思想,是将大量用网络连接的计算资源(例如CPU、内存、硬盘)统ー管理和调度,构成ー个计算资源池向用户按需服务,这种提供资源的网络被称为“云”。在目前的云计算中,对资源的分配都是针对具体账号(即申请云资源的用户)要求指定的,当分配成功后,如果用户不再申请变更资源,那么他所使用的资源就是固定的, 在这种情况下,即便用户的资源不够用,也不会自动给用户增加资源,需要用户主动向“云” 请求申请变更,才能继续使用。综上所述,在现有技术中,如果用户的资源不足时,仍需要用户自己关注资源使用情况不能为用户动态分配资源,那么处理数据超高负荷的虚拟服务器(旧)就会持续的超负荷工作,直至用户再次主动申请资源成功,这就降低了 VS的处理效率,同时导致其他空闲资源的利用率也会较低。

发明内容
本发明所要解决的技术问题是,提供一种在云计算环境下动态分配资源的方法, 以解决现有技术中需要用户主动申请资源导致的VS处理效率较低的问题。本发明的另ー个目的是将上述构思应用于具体的应用环境中,提供ー种在云计算环境下动态分配资源的装置,从而保证该方法的实现和应用。为解决上述技术问题,本发明实施例提供了一种在云计算环境下动态分配资源的方法,包括在用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值;判断所述实时性能值是否达到预设的第一负荷阈值,如果是,则检测所述当前VS 继续处理所述当前任务所需的第一时间,并判断所述第一时间是否大于预设的第二时间, 如果是,则为所述当前VS分配其继续处理所述当前任务所需的额外云资源;其中,所述第一负荷阈值为所述当前VS负荷最重时的性能值,所述第二时间为所述当前VS分配资源的预设时间。优选的,还包括在用户登录当前虚拟服务器VS之后,实时监控所述当前VS的资源使用率是否达到预设的资源阈值,如果是,则锁定所述当前VS。优选的,所述用户为企业用户,所述为所述当前VS分配其继续处理所述当前任务所需的额外云资源之前,还包括判断与所述当前VS属于ー个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值,如果是,则从所述其他VS上为所述当前VS分配继续处理所述当前任务所需的额外云资源。优选的,所述用户为企业用户,所述为所述当前VS分配其继续处理所述当前任务所需的额外云资源之前,还包括判断与所述当前VS属于ー个局域网的其他VS是否为锁定状态,如果否,则判断与所述当前VS属于ー个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值,如果是,则从所述其他VS上为所述当前VS分配继续处理所述当前任务所需的额外云资源。优选的,从所述其他VS上为所述当前VS分配处理当前任务所需的云资源的步骤, 具体包括选取ー个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,判断所述待分配VS的空闲云资源是否大于或等于所述继续处理当前任务所需的额外云资源,如果是, 则直接从所述待分配VS中为所述当前VS分配继续处理所述当前任务所需的额外云资源;如果否,则将所述待分配VS的空闲云资源全部分配给所述当前VS,再选取下ー个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,并执行所述判断待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源的步骤,直至可以为所述当前VS成功分配继续处理当前任务所需的额外云资源为止。优选的,在所述选取一个实时性能值小于预设的第二负荷阈值的VS作为待分配 VS之前,还包括获取所述其他VS与当前VS之间的路由路径长短信息;则所述选取ー个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,具体为选取与所述当前VS之间的路由路径最短且实时性能值小于预设的第二负荷阈值的其他VS作为待分配VS。优选的,在实时监控获得的所述VS的实时性能值小于预设的第三负荷阈值的情况下,所述方法还包括释放继续分配的所述处理当前任务所需的额外云资源。本发明实施例还提供了一种在云计算环境下动态分配资源的装置,包括实时监控模块,用于在用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值;第一判断模块,用于判断所述实时性能值是否达到预设的第一负荷阈值;所述第一负荷阈值为所述当前VS负荷最重时的性能值;时间检测模块,用于在所述第一判断模块的结果为是的情况下,检测所述当前VS 继续处理所述当前任务所需的第一时间;第二判断模块,用于判断所述第一时间是否大于预设的第二时间;所述第二时间为所述当前VS分配资源的预设时间;分配模块,用于在所述第二判断模块的结果为是的情况下,为所述当前VS分配其继续处理所述当前任务所需的额外云资源。
优选的,还包括锁定模块,用于在所述当前VS的资源使用率达到预设的资源阈值时锁定所述当前VS。优选的,还包括第四判断模块,用于判断与所述当前VS属于ー个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值;触发模块,用于在所述第四判断模块的结果为是的情况下,触发所述分配模块从所述其他VS上为所述当前VS分配继续处理所述当前任务所需的额外云资源。优选的,还包括第三判断模块,用于判断与所述当前VS属于ー个局域网的其他VS是否为锁定状态;第四判断模块,用于在所述第三判断模块的结果为否的情况下,判断与所述当前 VS属于ー个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值;触发模块,用于在所述第四判断模块的结果为是的情况下,触发所述分配模块从所述其他VS上为所述当前VS分配继续处理所述当前任务所需的额外云资源。优选的,所述触发模块具体包括选取子模块,用于选取一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS ;第一判断子模块,用于判断所述待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源;分配子模块,用于在所述第一判断子模块的结果为是的情况下,直接从所述待分配VS中为所述当前VS分配继续处理所述当前任务所需的额外云资源;触发子模块,用于在所述第一判断子模块的结果为否的情况下,触发所述分配子模块将所述待分配VS的空闲云资源全部分配给所述当前VS,并触发所述选取子模块选取下一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,以及,触发所述第一判断子模块判断待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源,直至可以为所述当前VS成功分配所述处理当前任务所需的云资源为止。优选的,所述触发模块还包括获取子模块,用于获取所述其他VS与当前VS之间的路由路径长短信息;所述选取子模块,还用于选取与所述当前VS之间的路由路径最短且实时性能值小于预设的第二负荷阈值的其他VS作为待分配VS。优选的,还包括资源释放模块,用于在实时监控获得的所述VS的实时性能值小于预设的第三负荷阈值的情况下,释放继续分配的所述处理当前任务所需的额外云资源。从上述的技术方案可以看出,本发明实施例通过对用户登录的VS为当前任务分配初始云资源后的性能进行实时性能检测,并进行实时性能值与预设的性能阈值的比较, 可以灵活的自动动态为该VS分配继续处理所述当前任务所需的额外云资源,不需要用户主动发起资源分配请求,从而提高了 VS的数据处理效率。


为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明方法实施例一的流程图;图2为本发明方法实施例二的流程图;图3为本发明方法实施例三的流程图;图4为方法实施例三中步骤305的流程图;图5为方法实施例三中确定待分配VS的流程图;图6为本发明装置实施例一的结构示意图;图7为本发明装置实施例二的结构示意图;图8为本发明装置实施例三的结构示意图;图9为装置实施例三中触发模块802的结构示意图;图10为装置实施例三中触发模块802的另一结构示意图。
具体实施例方式为实现本发明的发明目的,本发明提供一种在云计算环境下动态分配资源的方法及装置,该方法可以通过对用户登录的VS为当前任务分配初始云资源后的性能进行实时性能检测,系统通过实时性能值与预设的性能阈值的比较,可以灵活的为该VS分配其继续处理所述当前任务所需的额外云资源,不需要用户主动发起资源分配请求,从而也提高了VS的处理效率。以上是本发明的核心思想,为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,示出了本发明的一种在云计算环境下动态分配资源的方法实施例1的流程图,可以包括以下步骤步骤101 在用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值。这里的用户指的是在该VS成功申请云资源的个人用户或者企业用户,而所述的VS即是为该用户处理任务的虚拟服务器,一旦用户成功登录VS并开始使用VS为当前任务分配的初始云资源处理任务时,就开始对该VS进行实时监控,以实时获取该VS的实时性能值。步骤102 判断所述实时性能值是否达到预设的第一负荷阈值,如果是,则进入步骤 103。其中,所述第一负荷阈值为所述当前VS负荷最重时的性能值,即是在实时监控该VS的过程中,判断当前的实时性能值是否大于或等于预设的第一负荷阈值,如果当前实时性能值大于或等于预设的第一负荷阈值,则说明该VS已经在满负荷处理任务,此时需要为该VS分配其他的云资源,以避免该VS出现异常情况。需要说明的是,如果判断得到实时性能值没有达到预设的第一负荷阈值,则可以不做以下处理,继续进行监控即可。步骤103 检测所述当前VS继续处理所述当前任务所需的第一时间。在VS满负荷运作的情况下,检测该VS处理当前任务所需要的剩余时间是多长,这里的第一时间指的是该VS处理当前任务所需要的全部时间,包括处理当前任务已经耗费的时间和满负荷下继续处理当前任务需要的时间。具体的,可以根据VS在处理当前任务的时候,已经处理的任务百分比和已经占用的时间,来计算处理该任务所需要的全部时间。步骤104 判断所述第一时间是否大于预设的第二时间,如果是,则进入步骤105。其中,第二时间为所述当前VS分配资源的预设时间,即用户在申请初始云资源的时候,服务器为用户设置的该初始云资源的可使用时间。该第二时间可以作为为该当前VS分配资源的触发条件,当检测到的第一时间大于预设的第二时间时,说明在现有的云资源分配情况下不可能在预定的第二时间内完成任务,需要申请额外云资源才能在预定的第二时间完成任务,符合该触发条件,即进入步骤105。当检测到的第一时间小于或等于预设的第二时间时,说明在现有的云资源分配情况下能在预定的第二时间内完成任务,不需要申请额外云资源。步骤105 为所述当前VS分配其继续处理所述当前任务所需的额外云资源。在第一时间大于第二时间的情况下,为当前VS分配其继续处理所述当前任务所需要的额外云资源,所述额外云资源为当前VS在预定的第二时间内完成当前任务所需的额外云资源。新分配的额外云资源可以是与当前VS相连的其他VS的空闲云资源,其中,云资源可以是CPU、内存资源等,也可以是硬盘资源。本实施例提供一种在云计算环境下动态分配资源的方法,该方法可以通过对用户登录之后处理任务的VS为当前任务分配初始云资源后的性能进行实时性能检测,再将实时性能值与预设的性能阈值进行比较,根据比较结果可以灵活的为该VS分配其继续处理所述当前任务所需的额外云资源,不再需要用户主动发起资源分配请求,也提高了 VS的处理效率,同时其他VS的空闲云资源的利用率也相比现有技术得到了提升。参见图2,示出了本发明的一种在云计算环境下动态分配资源的方法实施例2的流程图,本实施例中的用户为个人用户,该实施例可以包括以下步骤步骤201 在个人用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值。个人用户登录自己已经申请成功的VS中,VS首先会自动初始化所有资源,启动实时性能监控功能,获取到第一负荷阈值H,H为当前VS负荷最重时的性能值。步骤202 判断所述实时性能值是否达到预设的第一负荷阈值,如果是,则进入步骤 203。当该个人用户开始使用自己的云资源处理任务时,假设实时监控检测实时性能值为H1,假设本实施例中用户申请到的云资源为10G,而设置的H为90%,那么当Hl达到10*90%= 9G的时候,就说明已经达到了预设的第一负荷阈值。步骤203 检测所述当前VS处理当前任务所需的第一时间,并判断所述第一时间是否大于预设的第二时间,如果是,则进入步骤204。此时可以启动任务事件E,而E的处理优先级别最高,用于检测用户所处理的任务需要的第一时间(假设为Tl),那么就需要判断Tl是否大于系统预先设定的启动自动分配资源的第二时间(假设为T)。步骤204 通过人机交互界面提示个人用户是否需要动态分配资源。如果Tl大于T,则可以通过UI界面来提示用户是否需要动态分配资源,当然,在实际应用中也可以不提示用户直接为当前VS分配云资源。步骤205 在用户选择是的情况下,按照资源分配的单位值为所述当前VS分配其继续处理所述当前任务所需的额外云资源。若个人用户选择动态分配资源,VS可以根据原始分配资源的单位值(如CPU的单位为“GHz”,内存单位为“GB”)进行资源分配,分配成功后,用户就可以平滑的使用新增的额外云资源。步骤206 在实时监控获得的所述VS的实时性能值小于或等于预设的第三负荷阈值的情况下,释放继续分配的所述处理当前任务所需的额外云资源。在本实施例中,可以始终启动性能监控,假设这里的第三负荷阈值为1/2H,那么当Hl <= 1/2H时,表示当前VS处于低负荷运行状态或空闲状态,此时可以释放刚刚为该VS新增的动态分配资源,那么该个人用户下次登录时,VS中的资源仍为初始云资源。在本实施例中,个人用户使用云资源时,通过实时的性能监控功能检测个人用户对资源的使用情况,当个人用户登录的VS在处理大量的数据导致CUP和内存使用完时,或者磁盘快写满时,可以选择在UI界面提示个人用户是否需要动态增加分配资源,而当个人用户选择是的时候,则可以自动根据实时性能值给该个人用户动态分配资源,这样就减少了个人用户自己操作的次数和时间,不仅可以提升VS的处理效率,也会提高用户的体验;进一步的,当该个人用户登录的VS负荷减轻后,系统就会释放动态分配的资源,这样也保证空闲云资源也可以得到充分的使用。参见图3,示出了本发明的一种在云计算环境下动态分配资源的方法实施例3的流程图,所述用户为企业用户,该实施例可以包括以下步骤步骤301 企业用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值。本实施例中所涉及到企业用户优选为中小型企业的企业用户。在本实施例中,需提供一个全局性能监控中心C和全局资源s,s即为该企业中的所有企业用户所申请的资源总和,该全局性能监控中心可以实时监控每一个VS的资源使用情况,而S则是可以由企业自主分配成多台具体的VS。需要说明的是,在本实施例中,以任一个企业用户登录的任一 VS为例进行介绍,而其他VS的处理方式类似。需要说明的是,在步骤301之后,当前VS可以对其自身的资源使用率进行实时监控,从而可以在资源使用率达到预定的资源阈值时,就锁定其自身,使得其他VS不能从锁定的VS上获得云资源。锁定步骤具体可以包括步骤A 在用户登录当前VS之后,实时监控所述当前VS的资源使用率是否达到预设的资源阈值,如果是,则锁定所述当前VS。
在本实施例中,在用户登录当前VS之后,当前VS可以实时监控其资源使用率是否达到预设的资源阈值,例如,当前VS (假设是A)的资源使用率达到系统预先设定的资源阈值N时,将会被枷锁,A就不再被全局性监控中心分配资源给其他VS,即是使用率低于上述N的VS才能进行被分配资源,这样就保证了 A的资源使用一直是合理的。其中,各台VS均可以对各自的资源使用率是否达到预设的资源阈值进行判断,一旦发现达到预设的资源阈值,则对其自身进行锁定,使其他VS不能从资源使用率达到资源阈值的VS上(即是锁定的VS上)获得额外云资源,这样也就保证了资源使用率达到预定资源阈值的各台VS的云资源不会被分配到其他VS使用。步骤302 判断所述实时性能值是否达到预设的第一负荷阈值,如果是,则进入步骤 303。在本步骤中,假设任一个企业用户所用的VS为A,那么当实时性能值大于或等于第一负荷阈值时,表示A在处于满负荷状态。另外,如果本步骤的判断结果为否,则可以继续实时监控VS,而不执行以下步骤。其中,所述第一负荷阈值为所述当前VS负荷最重时的性能值。步骤303 检测所述当前VS处理当前任务所需的第一时间,并判断所述第一时间是否大于预设的第二时间,如果是,则进入步骤304。在A处于满负荷状态时,启动任务事件E,E的处理优先级别最高,用于检测企业用户的VS所处理的任务需要的时间第一时间(Tl)。第一时间Tl指的是该VS处理当前任务所需要的全部时间,包括处理当前任务已经耗费的时间和满负荷下继续处理当前任务需要的时间。其中,所述第二时间(T)表示为所述当前VS分配资源的预设时间。步骤304 判断所述与所述当前VS属于一个局域网的其他VS是否处于锁定状态,如果否,则进入步骤305 ;与所述当前VS属于一个局域网的其他VS如果处于锁定状态,说明其资源使用率已经达到了预先设定的资源阈值,此时就不再进行下面的操作,只有没有锁定的其他VS才有可能为当前VS提供额外云资源。因为在实际应用中,不可避免的有可能其他VS (例如B)突然间会需要处理大量的数据,这样B的负荷就会达到满负荷,那么此时B可以通过全局性监控中心从别的使用负荷低的其他VS (例如D、E等)中获取资源,同理类推,当任一个VS的资源不足时都可以由全局性能监控中心轮询其他各个VS,并根据其他VS的负荷情况动态为该VS分配资源,但是该VS就不能再为其他VS提供云资源。步骤305 判断与所述当前VS属于一个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值,如果是,则进入步骤306。若Tl大于系统设定启动自动分配资源的第二时间T时,全局性能监控中心能实时轮询它所管辖内的其他VS的实时性能值的情况,例如,假设本步骤查询到有实时性能值小于预先设定的第二负荷阈值(例如可以是满负荷值的一半,即是H/2)的另外一台VS(假设为B)。步骤306 从所述其他VS上为所述当前VS分配继续处理当前任务所需的额外云资源。所述额外云资源为当前VS在预定的第二时间T内完成当前任务所需的额外云资源。则本步骤可以从B上为A分配A处理当前任务所需要的云资源,假设A处理当前任务需要的额外云资源为s,则虚拟服务器A将会从B中获取资源s,其中,获取的方法是根据原始分配资源的单位值(例如CPU的单位为“GHz”,内存单位为“GB”)进行获取。其中,这个获取因为是瞬间在VS之间进行的,所以不影响A和B的使用。步骤307 在实时监控获得的所述VS的实时性能值小于预设的第三负荷阈值的情况下,释放继续分配的所述处理当前任务所需的额外云资源。在本实施例中,当A的实时性能值也小于预设的第三负荷阈值的情况下,会释放其从B中获取的资源s,并将s交给全局资源S,直到A恢复了原始资源大小。全局性能监控中心可以根据轮询到的各个VS的使用率和资源大小,把s分配给高使用率且资源少的那个VS。可见在本实施例中,可为整个企业提供一个全局VS,同时提供一个简单的VS的数量配置,这样就能通过轮询每个VS,把总资源S合理的动态的分配到每个VS中,而企业用户在企业内部使用云资源时,就可以保证某一个企业用户在使用具体某一台VS的时候,可以在该VS超负荷运作的情况下从别的处于低负荷的VS中动态获取云资源。需要说明的是,本实施例中步骤304属于优选实施方式,如果在步骤301之后没有做对当前VS是否要锁定的判断及相关锁定处理,则步骤304可以省去。通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。参考图4所示,为步骤306的一个实现流程图,具体可以包括步骤401 选取一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS ;步骤402 判断所述待分配VS的空闲云资源是否大于或等于所述继续处理当前任务所需的额外云资源,如果是,则进入步骤403,如果否,则进入步骤404 ;假设以虚拟服务器B为待分配VS,此时,判断B中可以分配的空闲云资源SB是否大于或等于A所需要的处理当前任务的额外云资源SA,如果结果为是,说明即便将B中所有的空闲云资源部分或者全部分配给A就可以保证A继续处理完当前任务,如果结果为否,说明A只能从B中获取自己继续处理当前任务所需要的部分云资源,需要进一步从其他VS中获取额外云资源。步骤403 直接从所述待分配VS中为所述当前VS分配继续处理所述当前任务所需的额外云资源;本步骤则需要直接从B中为A分配继续处理该当前任务所需的额外云资源;步骤404 将所述待分配VS的空闲云资源全部分配给所述当前VS,再选取下一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,并执行所述判断待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源的步骤,直至可以为所述当前VS成功分配继续处理当前任务所需的额外云资源为止。
如果B中的空闲云资源还不够,则可以将B中的空闲云资源先分配给A,此时A所需的额外云资源为(SA-SB),再依次选取下一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS (假设为C),继续判断C中的空闲云资源SC是否大于或等于已经分配了 B中的空闲云资源的A继续处理该当前任务需要的额外云资源(SA-SB),以此类推,直到成功为A分配了其继续处理当前任务所需要的全部额外云资源为止。在不同的应用场景中,在从其他VS中为当前VS分配额外云资源时,还可以参考各个其他VS与当前VS之间的路径长短信息来选择待分配VS,具体的,参考图5所示,为确定待分配VS的一个实现流程图,具体可以包括步骤501 获取所述其他VS与当前VS之间的路由路径长短信息;首先依据其他VS与当前VS所处的位置关系获取到每一台其他VS与当前VS之间的路由路径长短信息。步骤502 依次选取与所述当前VS之间的路由路径最短且实时性能值小于预设的第二负荷阈值的其他VS作为待分配VS。在本步骤中,依次比较其他VS与当前VS之间的路由路径长短信息,选择与所述当前VS之间的路由路径最短的VS作为待分配VS ;在实现时可以对上述各个路径长短信息进行排序并保存一个表,从而可以从序列的开头或者结尾选取与所述当前VS之间的路由路径最短的其他VS来作为待分配VS ;本步骤确定的待分配VS则为与所述当前VS之间的路由路径最短且实时性能值小于预设的第二负荷阈值的其他VS。相应于上面的方法实施例,本发明实施例还提供一种在云计算环境下动态分配资源的装置。参见图6,示出了一种在云计算环境下动态分配资源的装置实施例1的结构示意图,可以包括实时监控模块601,用于在用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值;第一判断模块602,用于判断所述实时性能值是否达到预设的第一负荷阈值;所述第一负荷阈值为所述当前VS负荷最重时的性能值;时间检测模块603,用于在所述第一判断模块的结果为是的情况下,检测所述当前VS继续处理所述当前任务所需的第一时间;第二判断模块604,用于判断所述第一时间是否大于预设的第二时间;所述第二时间为所述当前VS分配资源的预设时间;分配模块605,用于在所述第二判断模块的结果为是的情况下,为所述当前VS分配其继续处理所述当前任务所需的额外云资源。本实施例提供的一种在云计算环境下动态分配资源的装置,可以通过对用户登录之后处理任务的VS为当前任务分配初始云资源后的性能进行实时性能检测,再将实时性能值与预设的性能阈值进行比较,根据比较结果可以灵活的为该VS分配其他空闲的云资源,不再需要用户主动发起资源分配请求,也提高了 VS的处理效率,同时其他VS的空闲资源的利用率也相比现有技术得到了提升。参见图7,示出了一种在云计算环境下动态分配资源的装置实施例2的结构示意图,在本实施例中,用户为个人用户可以包括实时监控模块601,用于在用户登录当前虚拟服务器VS之后,实时监控所述当前VS的性能以获取其实时性能值;第一判断模块602,用于判断所述实时性能值是否达到预设的第一负荷阈值;所述第一负荷阈值用于表示所述当前VS负荷最重时的性能值;时间检测模块603,用于在所述第一判断模块的结果为是的情况下,检测所述当前VS处理当前任务所需的第一时间;第二判断模块604,用于判断所述第一时间是否大于预设的第二时间;所述第二时间表示为所述当前VS分配资源的预设时间;提示模块701,用于通过人机交互界面提示用户是否需要动态分配资源;则所述分配模块605具体用于在用户选择是的情况下,按照资源分配的单位值为所述当前VS分配其处理所述当前任务所需的空闲云资源。资源释放模块702,用于在实时监控获得的所述VS的实时性能值小于预设的第三负荷阈值的情况下,释放分配的所述处理当前任务所需的空闲云资源。在本实施例中,个人用户使用云资源时,通过实时的性能监控功能检测个人用户对资源的使用情况,当个人用户登录的VS在处理大量的数据导致CUP和内存使用完时,或者磁盘快写满时,可以选择在UI界面提示个人用户是否需要动态增加分配资源,而当个人用户选择是的时候,则可以自动根据实时性能值给该个人用户动态分配资源,这样就减少了个人用户自己操作的次数和时间,不仅可以提升VS的处理效率,也会提高用户的体验;进一步的,当该个人用户登录的VS负荷减轻后,系统就会释放动态分配的资源,这样也保证空闲云资源也可以得到充分的使用。参见图8,示出了一种在云计算环境下动态分配资源的装置实施例3的结构示意图,可以包括实时监控模块601,用于在用户登录当前虚拟服务器VS之后,实时监控所述当前VS的性能以获取其实时性能值;第一判断模块602,用于判断所述实时性能值是否达到预设的第一负荷阈值;所述第一负荷阈值用于表示所述当前VS负荷最重时的性能值;时间检测模块603,用于在所述第一判断模块的结果为是的情况下,检测所述当前VS处理当前任务所需的第一时间;第二判断模块604,用于判断所述第一时间是否大于预设的第二时间;所述第二时间表示为所述当前VS分配资源的预设时间;第四判断模块801,用于判断与所述当前VS属于一个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值;触发模块802,用于在所述第四判断模块的结果为是的情况下,触发分配模块从所述其他VS上为所述当前VS分配处理当前任务所需的云资源。资源释放模块702,用于在实时监控获得的所述VS的实时性能值小于预设的第三负荷阈值的情况下,释放分配的所述处理当前任务所需的空闲云资源。需要说明的是,在本实施例中,优选情况下所述装置还可以包括锁定模块,用于在所述当前VS的资源使用率达到预设的资源阈值时锁定所述当前VS。可以理解的是,在触发所述实时监控模块601之后的任一时刻均可触发所述锁定
14
则在所述装置还可以包括第三判断模块,用于判断与所述当前VS属于一个局域网的其他VS是否为锁定状态;则所述第四判断模块801则具体用于在所述第三判断模块的结果为否的情况下,判断与所述当前VS属于一个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值。参考图9所示,为所述触发模块802的结构示意图,触发模块802具体可以包括选取子模块901,用于选取一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS ;第一判断子模块902,用于判断所述待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源;分配子模块903,用于在第一判断子模块902的结果为是的情况下,直接从所述待分配VS中为所述当前VS分配继续处理所述当前任务所需的额外云资源;触发子模块904,用于在所述第一判断子模块的结果为否的情况下,触发分配子模块903将所述待分配VS的空闲云资源全部分配给所述当前VS,并触发第一选取子模块901选取下一个待分配VS,以及,触发第一判断子模块902判断待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源,直至可以为所述当前VS成功分配所述处理当前任务所需的云资源为止。其中,在不同的实施例中,参考10所示,所述触发模块802还可以包括获取子模块1001,用于获取所述其他VS与当前VS之间的路由路径长短信息;选取子模块901,还用于选取与所述当前VS之间的路由路径最短且实时性能值小于预设的第二负荷阈值的其他VS作为待分配VS。第一判断子模块902,用于判断所述待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源;分配子模块903,用于在第一判断子模块902的结果为是的情况下,直接从所述待分配VS中为所述当前VS分配继续处理所述当前任务所需的额外云资源;触发子模块904,用于在第一判断子模块902的结果为否的情况下,触发分配子模块903将所述待分配VS的空闲云资源全部分配给所述当前VS,并触发第二选取子模块1002选取下一个待分配VS,以及,触发第一判断子模块902判断待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源,直至可以为所述当前VS成功分配所述处理当前任务所需的云资源为止。在本实施例公开的装置应用于企业用户登录的VS,该装置为整个企业提供一个全局VS,同时提供一个简单的VS的数量配置,通过轮询每个VS,把总资源S合理的动态的分配到每个VS中,这样企业用户在企业内部使用云资源时,就可以保证某一个企业用户在使用具体某一台VS的时候,可以在该VS超负荷运作的情况下从别的处于低负荷的VS中动态获取云资源。可以理解的是,本发明可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本发明的具体实施方式
,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种在云计算环境下动态分配资源的方法,其特征在干,包括在用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值;判断所述实时性能值是否达到预设的第一负荷阈值,如果是,则检测所述当前VS继续处理所述当前任务所需的第一时间,并判断所述第一时间是否大于预设的第二时间,如果是,则为所述当前VS分配其继续处理所述当前任务所需的额外云资源;其中,所述第一负荷阈值为所述当前VS负荷最重时的性能值,所述第二时间为所述当前VS分配资源的预设时间。
2.根据权利要求1所述的方法,其特征在于,还包括在用户登录当前虚拟服务器VS之后,实时监控所述当前VS的资源使用率是否达到预设的资源阈值,如果是,则锁定所述当前VS。
3.根据权利要求1所述的方法,其特征在干,所述用户为企业用户,所述为所述当前VS 分配其继续处理所述当前任务所需的额外云资源之前,还包括判断与所述当前VS属于ー个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值,如果是,则从所述其他VS上为所述当前VS分配继续处理所述当前任务所需的额外云资源。
4.根据权利要求2所述的方法,其特征在干,所述用户为企业用户,所述为所述当前VS 分配其继续处理所述当前任务所需的额外云资源之前,还包括判断与所述当前VS属于ー个局域网的其他VS是否为锁定状态,如果否,则判断与所述当前VS属于ー个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值,如果是,则从所述其他VS上为所述当前VS分配继续处理所述当前任务所需的额外云资源。
5.根据权利要求3或4所述的方法,其特征在干,从所述其他VS上为所述当前VS分配处理当前任务所需的云资源的步骤,具体包括选取ー个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,判断所述待分配 VS的空闲云资源是否大于或等于所述继续处理当前任务所需的额外云资源,如果是,则直接从所述待分配VS中为所述当前VS分配继续处理所述当前任务所需的额外云资源;如果否,则将所述待分配VS的空闲云资源全部分配给所述当前VS,再选取下一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,并执行所述判断待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源的步骤,直至可以为所述当前VS 成功分配继续处理当前任务所需的额外云资源为止。
6.根据权利要求5所述的方法,其特征在干,在所述选取一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS之前,还包括获取所述其他VS与当前VS之间的路由路径长短信息;则所述选取ー个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,具体为选取与所述当前VS之间的路由路径最短且实时性能值小于预设的第二负荷阈值的其他VS作为待分配VS。
7.根据权利要求1所述的方法,其特征在干,在实时监控获得的所述VS的实时性能值小于预设的第三负荷阈值的情况下,所述方法还包括释放继续分配的所述处理当前任务所需的额外云资源。
8.—种在云计算环境下动态分配资源的装置,其特征在干,包括实时监控模块,用于在用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值;第一判断模块,用于判断所述实时性能值是否达到预设的第一负荷阈值;所述第一负荷阈值为所述当前VS负荷最重时的性能值;时间检测模块,用于在所述第一判断模块的结果为是的情况下,检测所述当前VS继续处理所述当前任务所需的第一时间;第二判断模块,用于判断所述第一时间是否大于预设的第二时间;所述第二时间为所述当前VS分配资源的预设时间;分配模块,用于在所述第二判断模块的结果为是的情况下,为所述当前VS分配其继续处理所述当前任务所需的额外云资源。
9.根据权利要求8所述的装置,其特征在于,还包括锁定模块,用于在所述当前VS的资源使用率达到预设的资源阈值时锁定所述当前VS。
10.根据权利要求8所述的装置,其特征在于,还包括第四判断模块,用于判断与所述当前VS属于ー个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值;触发模块,用于在所述第四判断模块的结果为是的情况下,触发所述分配模块从所述其他VS上为所述当前VS分配继续处理所述当前任务所需的额外云资源。
11.根据权利要求9所述的装置,其特征在于,还包括第三判断模块,用于判断与所述当前VS属于ー个局域网的其他VS是否为锁定状态; 第四判断模块,用于在所述第三判断模块的结果为否的情况下,判断与所述当前VS属于ー个局域网的其他VS的实时性能值是否小于预设的第二负荷阈值;触发模块,用于在所述第四判断模块的结果为是的情况下,触发所述分配模块从所述其他VS上为所述当前VS分配继续处理所述当前任务所需的额外云资源。
12.根据权利要求10或11所述的装置,其特征在干,所述触发模块具体包括 选取子模块,用于选取一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS ; 第一判断子模块,用于判断所述待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源;分配子模块,用于在所述第一判断子模块的结果为是的情况下,直接从所述待分配VS 中为所述当前VS分配继续处理所述当前任务所需的额外云资源;触发子模块,用于在所述第一判断子模块的结果为否的情况下,触发所述分配子模块将所述待分配VS的空闲云资源全部分配给所述当前VS,并触发所述选取子模块选取下一个实时性能值小于预设的第二负荷阈值的VS作为待分配VS,以及,触发所述第一判断子模块判断待分配VS的空闲云资源是否大于或等于继续处理当前任务所需的额外云资源,直至可以为所述当前VS成功分配所述处理当前任务所需的云资源为止。
13.根据权利要求12所述的装置,其特征在干,所述触发模块还包括 获取子模块,用于获取所述其他VS与当前VS之间的路由路径长短信息;所述选取子模块,还用于选取与所述当前VS之间的路由路径最短且实时性能值小于预设的第二负荷阈值的其他VS作为待分配VS。
14.根据权利要求9所述的装置,其特征在于,还包括资源释放模块,用于在实时监控获得的所述VS的实时性能值小于预设的第三负荷阈值的情况下,释放继续分配的所述处理当前任务所需的额外云资源。
全文摘要
本发明实施例公开了一种在云计算环境下动态分配资源的方法及装置,在用户登录当前虚拟服务器VS之后,实时监控所述当前VS为当前任务分配初始云资源后的性能以获取其实时性能值;判断所述实时性能值是否达到预设的第一负荷阈值,如果是,则检测所述当前VS继续处理所述当前任务所需的第一时间,并判断所述第一时间是否大于预设的第二时间,如果是,则为所述当前VS分配其继续处理当前任务所需的额外云资源;其中,所述第一负荷阈值为所述当前VS满负荷时的性能值,所述第二时间为所述当前VS分配资源的预设时间。采用本发明实施例的方法或装置,可以解决现有技术中需要用户主动申请资源导致的VS处理效率较低的问题。
文档编号H04L29/08GK102594869SQ20111045430
公开日2012年7月18日 申请日期2011年12月30日 优先权日2011年12月30日
发明者蔡常喜 申请人:深圳市同洲视讯传媒有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1