SaaS应用系统的系统资源配置方法及装置的制作方法

文档序号:7813642阅读:451来源:国知局
专利名称:SaaS应用系统的系统资源配置方法及装置的制作方法
技术领域
本发明涉及一种SaaS应用系统的系统资源配置方法及装置,具体地说,通过对 SaaS应用系统中的各服务器合理地分配租户的用户,在满足各租户用户的服务质量要求的前提下,实现系统整体收益的最大化。
背景技术
随着云计算的普及,SaaS(Software-as-a-service,软件即服务)应用作为一种成熟的软件交付模式得到了越来越广泛的关注。利用SaaS应用时,以服务的方式交付软件,从而使软件的所有权与软件的使用权相分离,增强了用户业务变化的灵活性。多租户 (Multi-Tenancy)是SaaS应用的核心优势之一,多租户模式的SaaS应用(简称为多租户 SaaS应用)是以按需服务为理念,通过各个租户为不同需求的用户提供个性化服务。在SaaS应用中,通过网络将软件服务交付给最终用户,在这种模式下,用户需求的差别经常体现为对服务有不同等级的服务质量要求。多租户SaaS应用有针对性地通过不同租户向用户提供相应服务质量等级的服务,并根据服务质量的不同而收取不同费用。 为此,需要在多租户SaaS应用的部署阶段,设计出均衡且合理的系统资源配置方案,将处理能力、网络带宽等系统资源按比例分配给各个租户,以保证各租户所要求的服务质量。同时,通过系统资源配置的优化,可以提升SaaS应用的系统资源使用效率,从而提升SaaS运营商的收益。因此,系统资源的优化配置方法对SaaS应用具有重大意义。之前,一些学者对基于QoS的多维资源最优配置问题进行了研究,基于针对0-1背包问题的LPT算法的改进,提出了一系列面向QoS多维资源分配问题的启发式近似最优算法,在多个任务及其QoS级别之间进行选择,当系统资源的配置目标是实现系统资源利用的最大化情况下,调整QoS级别,使系统整体的收益最高。这类算法的典型流程如图1所示。首先进行信息初始化,并且为每个任务平均分配最高级别的资源后,计算当前的资源使用量(步骤Si)。然后,判断候选资源级别是否为空(步骤S2)。如果候选资源级别不是空,则选择使用系统资源最多的任务(步骤S3)。接着,计算每个任务的资源使用量,以及各候选级别的资源使用差值(步骤S4),然后,从计算得到的资源使用差值中选择最大的资源使用差值,并且将资源使用级别降低,同时从候选级别中予以删除(步骤S5)。之后,判断候选级别是否为空、且系统资源是否超出限制范围 (步骤S6);如果上述判断的结果是断候选级别为空、且系统资源未超出限制范围,则输出当前所有任务的资源级别(步骤S7),此时的配置方案就成为系统资源的最优配置方案,从而实现SaaS应用中的系统资源最优配置(步骤S8)。但是,多租户SaaS应用的系统资源配置与基于QoS级别的系统资源配置是不同的,多租户SaaS应用的系统资源配置方法的目标是在满足各租户用户的服务质量要求的前提下,实现系统整体收益的最大化。作为这两个最优化问题,两者的优化目标是不同的。 此外,在基于QoS级别的系统资源配置算法中,每个任务只能配置到一个服务器上,而在多租户SaaS应用环境下,一个租户可以同时配置到多个服务器,只要租户在各服务器上的总用户数量没有超出限制就属于可行方案。并且,上述算法中每个任务需要在多个QoS等级中选择一个等级,而在多租户SaaS应用的系统资源配置问题中,每个租户在某一服务器上的用户数量只受总用户数量的限制,两个问题的约束条件也有所不同。因此,对于多租户 SaaS应用的系统资源配置中,直接采用上述算法不能得到最佳的效果和性能,需要一种能够针对多租户SaaS应用的资源配置方法。

发明内容
本发明为了解决现有技术中存在的上述问题而做出,其目的在于提供一种SaaS 应用中的系统资源配置方法及装置,能够针对SaaS应用进行系统资源的最优化配置,在满足各租户用户的服务质量要求的前提下,实现系统整体收益的最大化。为了实现上述目的,本发明提供的一种SaaS应用系统的系统资源配置方法,该 SaaS应用系统包括多个服务器,并具有利用SaaS应用的多个租户,其包括以下步骤步骤一,收集上述多个服务器的系统资源基础信息和上述多个租户的各个用户的资源消费信息和收益信息;步骤二,对上述多个服务器进行初始化,设置成系统资源完全未分配的状态; 步骤三,从上述多个服务器中确定 资源利用率最低的服务器,然后尝试将上述各租户在该服务器上的用户数分别加1,分别计算该服务器此时的资源使用效率,从中找出使该服务器此时的资源使用效率成为最高的租户,将该租户在该服务器上的用户数实际加1并保存; 步骤四,重复上述步骤三,直到所有服务器的用户数量达到最大限额数量为止,将此时的系统资源配置方案输出为该SaaS应用系统的系统资源配置方法。此外,也可以是,上述各服务器对应的系统资源利用率通过以下公式计算得到Ui = max (UijZcij),i = 1…m,j = 1…η ;其中,上述多个服务器描述为服务器组S= (S1, S2,…,SJ,m为服务器的数量,η 为系统资源的种类数量,Si为第i台服务器,Cij为Si具有第j种资源的数量,Uij为各服务器资源实际使用量,Ui为服务器Si的系统资源利用率;上述各服务器对应的系统资源使用效率通过以下公式计算得到Vi = Pj/Uj, i = 1. . .m其中,Pi为对应服务器Si的收益值。此外,也可以是,所述最大限额数量由SaaS应用系统使用者预先设定,且当预先设定的最大限额数量大于系统资源允许的最大用户数量时,把系统资源允许的最大用户数量作为最大限额数量。另外,本发明还提供一种SaaS应用系统的系统资源配置装置,该SaaS应用系统包括多个服务器,并具有利用SaaS应用的多个租户,该系统资源配置装置包括信息收集单元,收集上述多个服务器的系统资源基础信息和上述多个租户的各个用户的资源消费信息和收益信息;服务器初始化单元,对上述多个服务器进行初始化,设置成系统资源完全未分配的状态;系统资源配置单元,从上述多个服务器中确定资源利用率最低的服务器,然后尝试将上述各租户在该服务器上的用户数分别加1,分别计算该服务器此时的资源使用效率, 从中找出使该服务器此时的资源使用效率成为最高的租户,将该租户在该服务器上的用户数实际加1并保存;配置方案确定单元,使上述系统资源配置单元重复工作,直到所有服务器的用户数量达到最大限额数量为止,将此时的系统资源配置方案输出为该SaaS应用系统的系统资源配置方案。 根据如上所述的本发明,基于SaaS应用系统中的各服务器的系统资源使用效率得到最优化的系统资源配置方案,因此能够实现系统整体收益的最大化。


通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。图1是表示以往的基于QoS级别的系统资源配置方法的流程图。图2是表示本发明涉及的表示本发明涉及的SaaS应用中的系统资源配置方法的流程图。图3是表示本发明涉及的SaaS应用中的系统资源配置系统的具体结构的框图。
具体实施例方式下面,参照附图详细说明本发明涉及的SaaS应用系统的系统资源配置方法及装置。首先,说明多租户SaaS应用中的系统资源配置的基本原理及其数学模型。在多租户SaaS应用中,采用分布式执行的方式将执行代理部署在多个服务器上, 提供具有可伸缩性的服务能力。每个服务器都拥有一定的系统资源,包括信息处理能力、网络带宽、存储空间等。多租户SaaS应用的各个租户向具有不同需求的用户提供服务,各租户中的每个用户对服务器系统资源的需求也各不相同。一般来说,租户对更高服务质量等级(例如更快的服务响应和处理时间,或者更高的服务可用性)的要求通常会导致更多的系统资源需求。对于多租户SaaS应用,不同租户按服务协议向用户承诺不同等级的服务质量。 因此,根据面向用户的服务质量要求,系统资源配置方法首先应该解决下述问题多租户 SaaS应用中的负载均衡方法必须使服务按承诺的服务质量等级运行。在满足用户要求的服务质量的基础上,多租户SaaS应用还应有效地使用系统资源,而且,系统资源的使用效果可以通过全部租户的用户为SaaS应用带来的收益来衡量。 因此,系统资源配置方法还应解决下述问题使系统资源得到最优化的使用,在给定系统资源的情况下,为SaaS应用系统获取最大收益。本发明为了获得系统资源的最优化配置方案,使用资源使用效率概念来评价系统资源的配置。下面,详细说明如何基于该资源使用效率进行系统资源配置的最优化。假设在多租户SaaS应用系统中执行环境被安装在由m个服务器组成的服务器组S 上,每个服务器都具有一定数量的η种系统资源,设第i (1 < i < m)台服务器具有第j种资源的资源量为cu。此外,假设多租户SaaS应用系统的租户集合为T,其包含ρ个租户,并且对其给定η种系统资源,则第k(l彡k彡ρ)个租户的各用户消耗的服务器第j种系统资源的值为a’另外,第k个租户的各用户为SaaS应用带来的收益为Ek。其中,各租户的每个用户所占用的系统资源量由租户的需求决定,这可以通过实验数据获得。因此,在已经给定了服务器资源量、各租户单用户消耗资源量和收益值的情况下, 系统资源优化配置算法的结果是确定系统资源最优配置方案,即各租户在各服务器上的最大用户数量限制,以及相应的租户对各类系统资源最大占用配额。假设多租户SaaS应用系统的系统资源配置方案X,对于所给定的服务器组S和租户集合 T,配置方案 X(m, ρ) = {xn, x12, ···, xlp, x21, x22,…,xik,…,xmp},其中 xik 表示该配置方案中第i台服务器中第k个租户的最大用户数量限制。同时,由于市场策略或是其它业务方面条件的限制,每个租户的用户数量可能存在最大限制,设向量Y[P] = Iy1,y2,…, yp},其中yk的值表示业务需求中第k个租户的用户数量的最大限制,如果根据业务需求不存在这个上限,则yk值表示在不考虑系统优化的情况下,所有服务器的全部资源所能接受的第k个租户的最大可能用户数量。总之,yk值是Xik的最大可能值,即Xik的上限。面向租户需求的系统资源最优配置问题,在上述假设的基础上,可将问题数学模型描述如下目标函数
权利要求
1.一种SaaS应用系统的系统资源配置方法,该SaaS应用系统包括多个服务器,并具有利用SaaS应用的多个租户,其特征在于,包括以下步骤步骤一,收集上述多个服务器的系统资源基础信息和上述多个租户的各个用户的资源消费信息和收益信息;步骤二,对上述多个服务器进行初始化,设置成系统资源完全未分配的状态; 步骤三,从上述多个服务器中确定资源利用率最低的服务器,然后尝试将上述各租户在该服务器上的用户数分别加1,分别计算该服务器此时的资源使用效率,从中找出使该服务器此时的资源使用效率成为最高的租户,将该租户在该服务器上的用户数实际加1并保存;步骤四,重复上述步骤三,直到所有服务器的用户数量达到最大限额数量为止,将此时的系统资源配置方案输出为该SaaS应用系统的系统资源配置方案。
2.如权利要求1所述的SaaS应用系统的系统资源配置方法,其特征在于, 所述各服务器对应的系统资源利用率通过以下公式计算得到Ui = max (Uij/Cij) i = 1…m,j = 1…η ;其中,所述多个服务器描述为服务器组S= (S1, S2,…,Sm},m为服务器的数量,η为系统资源的种类数量,Si为第i台服务器,Cij为Si具有第j种资源的数量,Uij为各服务器资源实际使用量,Ui为服务器Si的系统资源利用率;所述各服务器对应的系统资源使用效率通过以下公式计算得到Vi = Pi/Ui, i = 1. . .m其中,Pi为对应服务器Si的收益值。
3.如权利要求1或2所述的SaaS应用系统的系统资源配置方法,其特征在于, 所述最大限额数量由SaaS应用系统使用者预先设定,且当预先设定的最大限额数量大于系统资源允许的最大用户数量时,把系统资源允许的最大用户数量作为最大限额数量。
4.如权利要求1或2所述的SaaS应用系统的系统资源配置方法,其特征在于, 上述服务器的系统资源包括信息处理能力、网络带宽和存储空间中的至少一种,可利用度量法、评估法或者实验法获得。
5.一种SaaS应用系统的系统资源配置装置,该SaaS应用系统包括多个服务器,并具有利用SaaS应用的多个租户,其特征在于,该系统资源配置装置包括信息收集单元,收集上述多个服务器的系统资源基础信息和上述多个租户的各个用户的资源消费信息和收益信息;服务器初始化单元,对上述多个服务器进行初始化,设置成系统资源完全未分配的状态;系统资源配置单元,从上述多个服务器中确定资源利用率最低的服务器,然后尝试将上述各租户在该服务器上的用户数分别加1,分别计算该服务器此时的资源使用效率,从中找出使该服务器此时的资源使用效率成为最高的租户,将该租户在该服务器上的用户数实际加1并保存;配置方案确定单元,使上述系统资源配置单元重复工作,直到所有服务器的用户数量达到最大限额数量为止,将此时的系统资源配置方案输出为该SaaS应用系统的系统资源配置方案。
6.如权利要求5所述的SaaS应用系统的系统资源配置装置,其特征在于,上述服务器的系统资源包括信息处理能力、网络带宽和存储空间中的至少一种,可利用度量法、评估法或者实验法获得。
7.如权利要求5所述的SaaS应用系统的系统资源配置装置,其特征在于,还包括配置方案判断单元,该配置方案判断单元判断各租户的用户所消耗的系统资源总和是否小于该服务器的系统资源量或者各租户的用户总数是否小于用户数量的最大限制。
全文摘要
一种SaaS应用系统的系统资源配置方法,包括步骤一,收集多个服务器的系统资源基础信息和多个租户的各个用户的资源消费信息和收益信息;步骤二,对多个服务器进行初始化,设置成系统资源完全未分配的状态;步骤三,从从上述多个服务器中确定资源利用率最低的服务器,然后尝试将上述各租户在该服务器上的用户数分别加1,分别计算该服务器此时的资源使用效率,从中找出使该服务器此时的资源使用效率成为最高的租户,将该租户在该服务器上的用户数实际加1并保存;步骤四,重复上述步骤三,直到所有服务器的用户数量达到最大限额数量为止,将此时的系统资源配置方案输出为该SaaS应用系统的系统资源配置方案。
文档编号H04L29/08GK102438049SQ20111045920
公开日2012年5月2日 申请日期2011年12月31日 优先权日2011年12月31日
发明者于洪勇, 何光宇, 张霞, 汪德帅 申请人:东软集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1