一种基于云计算的应用部署的方法和装置与流程

文档序号:12596644阅读:190来源:国知局
一种基于云计算的应用部署的方法和装置与流程
本发明涉及云计算技术,尤其涉及一种云计算中应用部署的方法、装置。
背景技术
:云计算能够灵活地、可扩展地、按需地为应用分配所需资源。而虚拟化是云计算实现上述功能的不可或缺的技术。虚拟化技术在保证隔离性的前提下,使得在同一台服务器上运行多个应用实例,提供资源整合和复用,有利于提高资源利用率,减少资源碎片的产生并节约设备能耗。常见的虚拟化技术包括虚拟机和容器。应用在服务器集群上的部署问题是云计算领域的关键问题。不同的应用部署方案影响服务器集群的整体能耗、物理硬件资源综合利用率和用户的服务质量。当前众多的研究都把应用部署抽象为装箱,即:把服务器抽象为箱子,待部署的应用抽象为物品;将大小不一的多个应用映射到服务器上,使得所述多个应用所需服务器的个数最少。另外,在应用部署过程中,还要考虑应用所需的中央处理器(CentralProcessingUnit,CPU)、随机存取存储器(RandomAccessMemory,RAM)、存储、接入带宽、输出带宽等各个类型资源的约束。现有技术对于在应用部署过程中的各类型资源的约束的问题一般采用启发式算法,如次优配合,优先配合或最佳配合等。但现有技术中,服务器在进行应用部时,只考虑一个应用部署请求选择一台服务器进行应用部署,从而导致一台服务器的剩余资源不能被充分利用,容易造成资源碎片导致资源利用率较低。技术实现要素:本发明提供一种应用部署的方法及装置,以解决现有技术中应用部署时导致的资源利用率较低的问题。第一方面,本发明的实施例提供一种应用部署的方法,应用于使用云计算的系统,所述系统包括至少两个用于部署应用实例的服务器,包括:获取至少两个应用部署请求,和各服务器的剩余资源信息;根据所述各应用部署请求的资源需求和各服务器的所述剩余资源信息,确定部署所述至少两个应用部署请求中至少一个应用部署请求对应的应用例的服务器;根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,确定由至少两个应用部署请求组成的候选分组,所述候选分组包含的至少两个应用部署请求对应的应用实例可部署在所述确定的服务器上;将资源匹配度最高的候选分组包含的应用部署请求对应的应用实例部署在所述确定的服务器。结合本发明的实施例第一方面的第一可能,所述确定所述至少两个应用部署请求中至少一个应用部署请求对应应用的服务器具体为:根据所述各服务器的剩余资源信息,排除剩余资源小于所有的应用部署请求的资源需求的服务器;在余下的服务器中,确定资源信息最少的服务器作为确定的服务器。结合本发明的实施例第一方面的第一可能的第二可能,所述排除剩余资源小于所有的应用部署请求的资源需求的服务器具体为:确定各应用部署请求中各个资源维度的资源需求的最小值,排除任一资源维度的剩余资源小于各应用部署请求中相同资源维度的所述资源需求的最小值的服务器。结合本发明的实施例第一方面、第一可能、第二可能的第三可能,所述确定由至少两个应用部署请求组成的候选分组之前,该方法还进一步包括确定所述候选分组中包含的应用部署请求的最大数量。结合本发明实施例第一方面的第三可能的第四可能,所述确定候选分组中包含的应用部署请求的最大数量具体为:根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,选择各资源维度的所述资源需求均小于确定的服务器的相同资源维度的剩余资源的应用部署请求组成可容纳的应用部署请求集合;分别计算所述可容纳的应用部署请求集合中的应用部署请求在各个所述资源维度的累积分布函数;根据预设的累积分布概率以及各个所述资源维度的累积分布函数,计算所述可容纳的应用部署请求集合中的应用部署请求在各个资源维度的资源需求数值;根据各个资源维度的所述资源需求数值,计算各个资源维度的剩余资源与相同资源维度的所述资源需求数值的比值;根据各个资源维度的所述比值,以及可容纳的应用部署请求集合中的应用部署请求的数量,计算所述候选分组中包含的应用部署请求的最大数量,所述最大数量大于或等于2。结合本发明实施例第一方面的第四可能的第五可能,所述确定由至少两个应用部署请求组成的候选分组具体为:对所述可容纳的应用部署请求集合中的应用部署请求采用按层次搜索进行分组,获得最高层次的分组集合,所述最高层次的数值等于所述最大数量的数值;从所述最高层次的分组集合中的各分组中确定第一候选分组,所述第一候选分组包含的应用部署请求的各资源维度的资源需求的总和均小于所述确定的第一应用服务器的相同资源维度的剩余资源;将从所述最高层次的分组集合中的各分组中排除所述第一候选分组以外的分组的父代分组作为第二候选分组;所述候选分组包含第一候选分组和第二候选分组。结合本发明实施例第一方面的所有可能的第六可能,所述确定由至少两个应用部署请求组成的候选分组之后,该方法还包括:确定各候选分组总的资源需求与所述确定的服务器的剩余资源的匹配度。本发明实施例的第二方面提供一种计算机装置,包括:获取单元,用于获取至少两个应用部署请求和各服务器的剩余资源信息;第一确定单元,用于根据所述各应用部署请求的资源需求和各服务器的所述剩余资源信息,确定所述至少两个应用部署请求中至少一个应用部署请求对应的应用实例可部署的服务器;第二确定单元,用于根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,确定由至少两个应用部署请求组成的候选分组,所述候选分组包含的至少两个应用部署请求对应的应用实例可部署在所述确定的服务器上;实例部署单元,用于将资源匹配度最高的候选分组包含的应用部署请求对应的应用实例部署在所述确定的服务器。结合本发明的实施例第二方面的第一可能,所述第一确定单元具体用于:根据所述各服务器的剩余资源信息,排除剩余资源小于所有的应用部署请求的资源需求的服务器;在余下的服务器中,确定剩余资源最少的服务器作为确定的服务器。结合本发明的实施例第二方面的第一可能的第二可能,所述第一确定单元排除剩余资源小于所有的应用部署请求的资源需求的服务器具体为:确定各应用部署请求中各个资源维度的资源需求的最小值,排除任一维度的剩余资源小于各应用部署请求中该维度的资源需求的最小值的服务器。结合本发明的实施例第二方面、第一可能、第二可能的第三可能,所述第二确定单元在确定由至少两个应用部署请求组成的候选分组之前,还进一步确定所述候选分组中包含的应用部署请求的最大数量。结合本发明实施例第二方面的第三可能的第四可能,所述第二确定单元确定所述候选分组中包含的应用部署请求的最大数量具体为:根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,选择各资源维度的所述资源需求均小于确定的服务器的相同资源维度的剩余资源的应用部署请求组成可容纳的应用部署请求集合;分别计算所述可容纳的应用部署请求集合中的应用部署请求在各个所述资源维度的累积分布函数;根据预设的累积分布概率以及各个所述资源维度的累积分布函数,计算所述可容纳的应用部署请求集合中的应用部署请求在各个资源维度的资源需求数值;根据各个资源维度的所述资源需求数值,计算各个资源维度的剩余资源与相同资源维度的资源需求数值的比值;根据各个资源维度的所述比值,以及可容纳的应用部署请求集合中的应用部署请求的数量,计算所述候选分组中包含的应用部署请求的最大数量;所述最大数量大于或等于2。结合本发明实施例第二方面的第四可能的第五可能,所述第二确定单元确定由至少两个应用部署请求组成的候选分组具体为:对所述可容纳的应用部署请求集合中的应用部署请求采用按层次搜索进行分组,获得最高层次的分组集合,所述最高层次的数值等于所述最大数量的数值;从所述最高层次的分组集合中的各分组中确定第一候选分组,所述第一候选分组包含的应用部署请求的各资源维度的资源需求的总和均小于所述确定的第一应用服务器的相同资源维度的剩余资源;将从所述最高层次的分组集合中的各分组中排除所述第一候选分组以外的分组的父代分组作为第二候选分组;所述候选分组包含第一候选分组和第二候选分组。结合本发明实施例第二方面的所有可能的第六可能,所述第二确定单元确定由至少两个应用部署请求组成的候选分组之后,进一步用于确定各候选分组总的资源需求与所述确定的服务器的剩余资源的匹配度。本发明实施例第三方面提供一种用于应用部署的网元,包括:存储器,用于存储计算机可执行程序代码;处理器,与所述存储器;其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行以下操作:获取至少两个应用部署请求,和各服务器的剩余资源信息;根据所述各应用部署请求的资源需求和各服务器的所述剩余资源信息,确定部署所述至少两个应用部署请求中至少一个应用部署请求对应的应用例的服务器;根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,确定由至少两个应用部署请求组成的候选分组,所述候选分组包含的至少两个应用部署请求对应的应用实例可部署在所述确定的服务器上;将资源匹配度最高的候选分组包含的应用部署请求对应的应用实例部署在所述确定的服务器。由上述技术方案可知,本发明提供的基于云计算的应用部署的方法中,资源调度器在获取到缓冲池中所有的应用部署请求后,根据确定的服务器的剩余资源确定候选分组,其中候选分组包含至少两个应用部署请求,并选择匹配度最高的候选分组的应用部署请求对应的应用实例部署在所述确定的服务器上。因此,提高了对于服务器的资源利用率,减少资源浪费。附图说明现将参考附图通过非限制性的实施例描述本发明的优选特征,其中:图1为本发明实施例提供的基于云计算的应用部署的网络架构图;图2是本发明一实施例的基于云计算的应用部署的流程示意图;图3是本发明一实施例的基于云计算的应用部署的另一流程示意图;图4是本发明实施例提供的可容纳的应用部署请求集合中CPU维度资源需求的累积分布函数示意图。图5是本发明一实施例的一网元的结构示意图;图6为云计算系统中一计算机装置的简化功能方框图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。图1提供了本发明实施例提供的应用部署的网络架构图,其中包括以下功能部件:客户端:负责和资源管理单元进行通信,应用管理员可以通过客户端提交应用部署请求;资源调度平台102:负责与客户端进行通信,接收客户端提交的应用部署请求。资源调度平台还为各应用部署请求对应的应用实例指定服务器部署该应用实例;以及与服务器进行通信,通知服务器执行应用部署,和获取服务器的监控信息。此外,资源调度台根据资各服务器的源调度结果和各服务器的监控信息记录各服务器的剩余资源信息。进一步的,资源调度平台还可以与应用仓库进行通讯,从应用仓库获取相关的应用,并部署到服务器上。资源调度平台包括缓冲池、资源调度器和信息库三个子模块;缓冲池:用于缓存客户端发送的应用部署请求并没有被处理的应用部署请求,并将缓存的应用部署请求提供给资源调度器;资源调度器:从缓冲池获取应用部署请求,根据应用部署请求中的应用资源需求和从信息库中获取的各服务器剩余资源信息,根据获取的各服务器的剩余资源信息为从缓冲池中获取的至少两个应用部署请求对应的应用实例指定服务器,并通知指定的服务器执行应用部署;此外,资源调度器还负责与各服务器的监控单元通信来收集各个服务器的监控信息;对信息库中记录的信息进行更新;信息器:存储各服务器的信息,如各服务器的剩余资源信息;当资源调度器处理应用部署请求时,从信息库中读取各服务器剩余资源信息;在为处理过多应用部署请求后,或接收到服务器监控单元发送的应用实例异常终止等监控信息时,资源调度器对信息库记录的服务器的信息进行更新。服务器:与资源调度器进行通信,为资源调度器指定的应用提供计算资源,承载应用实例,并由监控单元监控应用实例和资源的状态,向服务器发送信息;另一方面,服务器与应用仓库进行通信,获取应用仓库中应用的镜像。应用仓库:负责存储应用镜像,与服务器进行通信。当资源调度器通知服务器需要部署特定应用时,该服务器需从应用仓库下载应用镜像;应用仓库的应用镜像由应用开发人员制作,由应用管理员通过相关接口上传至应用仓库。图2为本发明实施例提供的基于云计算的应用部署的方法流程图,包括如下步骤:步骤201、获取至少两个应用部署请求和各服务器的剩余资源信息。具体的,资源管理平台的资源调度器从缓冲池中获取应用部署请求,以及从信息库中获取各服务器的剩作资源信息。其中,所述服务器为云计算系统中用于部署应用实例的服务器。步骤202、根据所述各应用部署请求的资源需求和各服务器的所述剩余资源信息,确定部署所述至少两个应用部署请求中至少一个应用部署请求对应的应用例的服务器;具体的,资源调度器根据获取的各服务器的剩余资源信息,排除剩余资源小于所有的应用部署请求的资源需求的服务器;并在余下的服务器中,确定资源信息最少的服务器作为确定的服务器。步骤203、根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,确定由至少两个应用部署请求组成的候选分组,所述候选分组包含的应用部署请求对应的应用实例可部署在所述确定的服务器上;进一步的,在所述确定由至少两个应用部署请求组成的候选分组之前,该方法还进一步包括确定候选分组中包含的应用部署请求的最大数量。所述确定候选分组中包含的应用部署请求的最大数量具体为:根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,选择各资源维度的所述资源需求均小于确定的服务器的相同资源维度的剩余资源的应用部署请求组成可容纳的应用部署请求集合;分别计算所述可容纳的应用部署请求集合中的应用部署请求在各个资源维度的累积分布函数;根据预设的累积分布概率以及各维度的累积分布函数,计算所述可容纳的应用部署请求集合中的应用部署请求在各维度的资源需求数值;根据各维度的所述资源需求数值,计算各维度的剩余资源与相同资源维度的资源需求数值的比值;根据各维度的所述比值,以及可容纳的应用部署请求集合中的应用部署请求的数量,计算候选分组中包含的应用部署请求的最大数量。进一步的,所述确定由至少两个个应用部署请求组成的候选分组具体为:对可容纳的应用部署请求集合中的应用部署请求采用按层次搜索进行分组,直到所述层次达到所述最大数量;从所述层次达到最大数量时的各分组中确定第一候选分组,所述第一候选分组包含的各应用部署请求的资源需求的总和小于所述确定的第一应用服务器的剩余资源;将在所述层次达到最大数量时的各分组中的除第一候选分组以外的分组的父代分组作为第二候选分组;其中,所述候选分组包含第一候选分组和第二候选分组。步骤204、将资源匹配度最高的候选分组包含的应用部署请求对应的应用实例部署在所述确定的服务器。进一步,在步骤204之前,资源调度器还确定各候选分组总的资源需求与所述确定的服务器的剩余资源的匹配度。由上述技术方案可知,本发明提供的基于云计算的应用部署的方法中,资源调度器在获取到缓冲池中所有的应用部署请求后,根据确定的服务器的剩余资源确定候选分组,其中候选分组包含至少两个应用部署请求,并选择匹配度最高的候选分组的应用部署请求对应的应用实例部署在所述确定的服务器上。因此,提高了对于服务器的资源利用率,减少资源浪费。图3为本发明实施例提供的基于云计算的应用部署的方法流程图,包括如下步骤:步骤301.获取应用部署请求,应用部署请求包括部署应用所需的资源的信息,以及待部署的应用的标识;具体的,资源管理平台的资源调度器从缓冲池中获取应用部署请求,以及从信息库中获取各服务器的剩余资源信息。其中,资源调度器可以随时监控缓冲池中的应用部署请求的数量,并当应用部署请求的数量达预设值时,获取缓冲池中的应用部署请求。另外,资源调度器还可以根据预设的时间周期性的获取缓冲池中的应用部署请求。比如,资源调度器每30分钟从缓冲池中获取应用部署请求。进一步的,资源调度器获取缓存于缓冲池中的所有的应用部署请求。作为一个例子,本实施例假设资源调度器从缓冲池中获取了4个应用部署请求。每个应用部署请求包括部署应用所需的资源的信息,以及待部署的应用的标识,如下表一所示:应用标识CPU需求RAM需求APP10.30.2APP20.40.4APP30.20.3APP40.60.6表一进一步的,将获取的应用部署请求组成应用部署请求集合。步骤302.确定用于部署应用的服务器。具体的,资源管理平台的资源调度器根据剩余资源信息确定用于部署应用的服务器。进一步的,根据所述各服务器的剩余资源信息,排除剩余资源小于所有的应用部署请求的资源需求的服务器;在余下的服务器中,确定资源信息最少的服务器作为确定的服务器。。其中,剩余资源小于所有的应用部署请求的资源需求的服务器具体为:确定应用部署请求各个维度的最小值,若某个服务器任一维度的剩余资源小于相应的最小值,则该服第一务器为被排除掉的剩余资源小于所有应用的部署请求的资源需求的服务器。作为一个例子,步骤301中获取的应用部署请求为{Request1、Request2、Request3、Request4},该4个应用部署请求的CPU和内存维度的最小值分别为0.2和0.2,那么剩余CPU或内存少于0.2的服务器将被排除。进一步的,对各服务器的剩余资源计算可以为:剩余资源=a*CPU剩余资源+(1-a)*内存剩余资源,其中a为权重,数值在0到1之间,根据场景需求设定,权重越高说明更希望提高该维度资源的利用率。假设资源调度器在排除掉剩余资源小于所有的应用部署请求的资源需求的服务器后,系统还有两个服务器,其剩余资源信息如表二所示:对于这2台服务器,设定权重a=0.5,也就是假设CPU和内存两种资源重要性相同,那么第一Host1的剩余资源=0.8,服务器2的剩余资源=1,由少到多排序为:{Host1,Host2}。因此确定Host1作为部署应用部署请求对应应用的服务器。服务器CPU剩余量RAM剩余量Host10.80.8Host211表二步骤303、根据获取的各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,选择资源需求小于确定的服务器的剩余资源的应用部署请求组成可容纳的应用部署请求集合。其中,资源需求小于确定的服务器的剩余资源的应用部署请求指应用部署请求的各个资源维度的资源需求都小于所述确定的服务器的相同资源维度的剩余资源。步骤304:确定可容纳的应用部署集合的数量,并当可容纳的应用部署请求的集合的数量为0时,执行步骤305,切换下一台服务器;当可容纳的应用部署请求的集合的数量为1时,直接在确定的服务器上部署可容纳的应用部署集合中的应用部署请求对应的应用;当可容纳的应用部署请求的集合的数量大于或等于2时,执行步骤306。305:切换下一台服务器。具体的,资源调度器可根据步骤302中对各服务器的资源由少到多的排序,确定排序靠前一位的服务器作为此次部署应用部署请求对应的应用的服务器。或资源调度器可根据步骤302中对各服务器的资源由少到多的排序以及可容纳的应用部署请求集合中各应用部署请求的资源需求,确定剩余资源大于可容纳的应用部署请求集合中资源需求最小的服务器作为此次部署应用部署请求对应的应用的服务器。步骤306:确定各候选分组中包含应用部署请求的最大数量N。具体的,N的确定方法是分别计算可容纳的应用部署请求集合中每个应用部署请求各个资源维度的累积分布函数,确定预设的累积分布概率(例如0.5)时应用部署请求的第i维度的资源需求数值ri。计算各维度的剩余资源与相同维度的资源需求的比值,比如确定的服务器第i维度的剩余资源Ri与应用部署请求的第i维度的资源需求数值ri的比值Ni=floor(Ri/ri)。根据各维度的剩余资源与资源需求数值的比值,以及可容纳的应用部署请求集合中应用部署请求的数量S计算各侯选分组的最大数量N,N=min(N1,N2…Nm,S)。其中S为可容纳的应部署请求集合当中的应用部署请求总个数,1,2…m为的资源需求或剩余资源的维度。其中,累积分布概率的取值可由资源调度器预先设定,本发明实施例不做限定。以本发明实施例的应用部署请求为4作为例子,根据上述可容纳的应用部署请求集合CPU维度资源需求的累积分布函数如图4所示,取累积分布概率为0.5时,计算可容纳的应用部署请求集合中应用部署请求各维度的资源需求数值。比如,当累积分布概率为0.5时,应用部署请求的CPU资源需求数值rcp为0.3。所确定的服务器CPU剩余资源为0.8,那么Ncpu=floor(0.8/0.3)=2。采用相同的方法,对上述示例的应用部署请求及确定的服务器进行计算,得到内存对应的数量N内存=2。最后根据,确定N=min(N1,N2,S)分组的个数上限为2,其中,1为cpu,2为内存,S取值为4。步骤307:对可容纳的应用部署请求集合中的应用部署请求采用按层次搜索进行分组,确定各候选分组。具体的,在可容纳的应用部署请求集合中,各应用部署请求的层次为1,对应用部署请求两两组合之后的层次为2,在层次2中将任一维度的资源需求之和超出剩余资源上限的分组淘汰。在层次2保留下来的分组中,每个分组分别与不包含在该分组中的层次1中的应用部署请求组合,如果组合所有维度的资源需求之和小于确定的服务器相对应维度的剩余资源要求,则保留下来作为层次3的组合。依照次方法,将层次3中的成员与层次1分别组合,循环下去,直到层次达到第一候选分组包含的应用部署请求的最大数量N。进一步的,本发明实施例包括:另外,若一个高层次中分组的包含某低层次分组的全部应用部署请求,那么该低层次分组被称为高层次分组的父代分组。若高层次的分组被保留,那么需要淘汰对应的父代分组。也就是,将从所述最高层次的分组集合中的各分组中排除所述第一候选分组以外的分组的父代分组作为第二候选分组。其中,所述最高层次的数值等于所述所述候选分组中包含的应用部署请求的最大数量;根据上述例子:层次1:有4个应用部署请求:Request1,Request2,Request3,Request4;层次2:将层次1的应用部署请求两两组合,也就是共有6个分组。步骤305确定的最大数量为2,因此,最高层次为2,无需再对各组合进行分层。其中只有{Request1,Request2}、{Request1,Request3}、{Request2,Request3}三个分组的各维度(本示例中为CPU维度和内存维度)的资源需求之和小于确定的服务器的相应维度的剩余资源,保留该三个分组,并淘汰其余分组因资源需求超限被淘汰。同时需要淘汰层次2候选分组的父代应用部署请求,也就是Request1,Request2,Request3。这时达到每个分组请求个数上限2,停止新的组合,最终确定的候选分组是:{Request1,Request2}、{Request1,Request3}、{Request2,Request3},{Request4}。步骤308:确定各个候选分组总的资源需求与确定的服务器的剩余资源的匹配度。确定的服务器剩余资源与应用部署请求l的资源需求的资源距离Dl由下面公式算出Dl=Σiai(Iil-r(t)i)2]]>其中:Dl分组与确定的服务器剩余资源距离为分组l在i维度的资源总需求r(t)i为确定的服务器在i维度的资源剩余量ai为i维度的资源在资源匹配度计算过程中所占的权重这里取CPU和内存维度的权重a都为0.5,那么4个候选分组与服务器剩余资源的资源距离分别为:{Request1,Request2}:0.05{Request2,Request3}:0.05{Request1,Request3}:0.18{Request4}:0.08其中,候选分组与服务器剩余资源的资源距离越小,表示匹配度越大。步骤309:根据307计算结果,选匹配度最大的候选分组中各应用部署请求对应的应用部署在确定的服务器上。上一步骤中候选分组{Request1,Request2}的资源匹配度和候选分组{Request2,Request3}的匹配度相同,高于其它分组的匹配度。资源调度器随机选择匹配度最后的候选分组(Request1,Request2)对应的应用部署在该服务器上;这时Host1剩余资源变为:(0.1,0.2),应用部署请求集合为{Request3,Request4}进一步的,资源调度器还需要在信息库中更新所述确定的服务器在部署完应用后的剩余资源信息,以及将已部署的应用部署请求从应用部署请求集合中删除。步骤3099:检查应用部署请求集合是否为空,如果为空,则结束整个放置过程,否则执行步骤302。因为应用部署请求集合为{Request3,Request4},非空,继续执行步骤303.转到步骤303后,这时Host1的剩余资源不能满足Request3和Request4中任何一个的资源需求,也就是可容纳的应用部署集合为空,所以执行步骤4,切换到Host2.;经过在Host2上的处理,Request3和Request4对应的应用被部署到Host2上,所有应用部署请求都处理完毕,则整个部署过程结束。图5显示了本发明实施例的一网元的结构示意图,这一网元用于在图1所示的系统中。网元500用于部署应用实例。网元500可包含处理器502用于处理数据包,决定哪些节点发送数据包。处理器502可包含一个或多个多核处理器和/或存储器504。处理器502可以是一个通用处理器,专用集成电路(applicationspecificintegratedcircuit,ASIC),或数字信号处理器(DSP)。存储器504可为非瞬时性的存储介质,与处理器502相耦合,用于保存不同类型的数据。存储器504可包含只读存储器(readonlymemory,ROM),随机存取存储器(randomaccessmemory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。存储器504可用于保存实现应用部署的相关指令。可以理解,通过编程或装载可执行指令到网元500的处理器502,缓存和长期存储中的至少一个。网元500存储的指令可存储在存储器504中,也可集成在网元的操作系统的内核或内核的插件中。在一个实施例中,存储器,用于存储计算机可执行程序代码;处理器,与所述存储器耦合;其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行以下操作:获取至少两个应用部署请求,和各服务器的剩余资源信息;根据所述各应用部署请求的资源需求和各服务器的所述剩余资源信息,确定部署所述至少两个应用部署请求中至少一个应用部署请求对应的应用例的服务器;根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,确定由至少两个应用部署请求组成的候选分组,所述候选分组包含的至少两个应用部署请求对应的应用实例可部署在所述确定的服务器上;将资源匹配度最高的候选分组包含的应用部署请求对应的应用实例部署在所述确定的服务器。图6为本发明实施例提供的一种计算机装置的结构示意图,该计算机装置用于云计算系统中的应用部署。计算机装置包括获取单元601、第一确定单元602,第二确定单元603及实例部署创建单元604。获取单元1201用于获取至少两个应用部署请求和各服务器的剩余资源信息;。第一确定单元602用于根据所述各应用部署请求的资源需求和各服务器的所述剩余资源信息,确定所述至少两个应用部署请求中至少一个应用部署请求对应的应用实例可部署的服务器。第二确定单元603,用于根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,确定由至少两个应用部署请求组成的候选分组,所述候选分组包含的至少两个应用部署请求对应的应用实例可部署在所述确定的服务器上。实例部署单元1204用于将资源匹配度最高的候选分组包含的应用部署请求对应的应用实例部署在所述确定的服务器。可选地,所述第一确定单元具体用于:根据所述各服务器的剩余资源信息,排除剩余资源小于所有的应用部署请求的资源需求的服务器;在余下的服务器中,确定剩余资源最少的服务器作为确定的服务器。进一步的,所述第一确定单元排除剩余资源小于所有的应用部署请求的资源需求的服务器具体为:确定各应用部署请求中各个维度的资源需求的最小值,排除任一维度的剩余资源小于各应用部署请求中该维度的资源需求的最小值的服务器。进一步的,所述第二确定单元在确定由至少两个应用部署请求组成的候选分组之前,还进一步确定所述候选分组中包含的应用部署请求的最大数量。进一步的,所述第二确定单元确定所述候选分组中包含的应用部署请求的最大数量具体为:根据所述各应用部署请求的资源需求和所述确定的服务器的剩余资源信息,选择各资源维度的所述资源需求小于确定的服务器的相同资源维度的剩余资源的应用部署请求组成可容纳的应用部署请求集合;分别计算所述可容纳的应用部署请求集合中的应用部署请求在各个所述资源维度的累积分布函数;根据预设的累积分布概率以及各个所述资源维度的累积分布函数,计算所述可容纳的应用部署请求集合中的应用部署请求在各个资源维度的资源需求数值;根据各个资源维度的所述资源需求数值,计算各个资源维度的剩余资源与相同资源维度的资源需求数值的比值;根据各个资源维度的所述比值,以及可容纳的应用部署请求集合中的应用部署请求的数量,计算所述候选分组中包含的应用部署请求的最大数量;所述最大数量大于或等于2。进一步的,所述第二确定单元确定由至少两个应用部署请求组成的候选分组之后,进一步用于确定各候选分组总的资源需求与所述确定的服务器的剩余资源的匹配度。以上计算机装置包含的各单元所执行操作的具体实现方式可以参照图3实施例的对应步骤,不再赘述。注意,计算机装置300以功能单元的形式展示。在不受限制的情况下,本文所使用的术语“单元”可指执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、(共享、专用或组)处理器以及存储器,组合逻辑电路,和/或提供所述功能的其它合适的部件。在非常特定的示例中,本领域技术人员会了解到计算机装置可采取图5的网元500的形式。本领域普通技术人员应该了解本申请的所有或部分标的物可在结合硬件和/或固件的软件中实施。例如,本文描述的标的物可在一个或多个处理器执行的软件中实施。在一项示例性实施方式中,本文描述的标的物可使用存储有计算机可执行指令的非瞬时计算机可读介质实施,当计算机处理器执行该计算机可执行指令时,该指令控制计算机执行步骤。适于实施本文描述的标的物的示例计算机可读介质包括非瞬时计算机可读介质,例如磁盘存储器设备、芯片存储器设备、可编程逻辑设备和专用集成电路。另外,实施本文描述的标的物的计算机可读介质可位于单个设备或计算平台上,或可在多个设备或计算平台上分发。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1