一种软件即服务云平台的制作方法

文档序号:12478414阅读:248来源:国知局
一种软件即服务云平台的制作方法与工艺

本发明涉及云计算应用技术领域,特别是涉及一种软件即服务云平台。



背景技术:

软件即服务(Software-as-a-Service,简称SaaS),是一种通过互联网提供软件的模式,提供商将应用软件统一部署在自己的服务器上,客户根据自己的实际需求,通过互联网向提供商定购,相应获得所需的应用软件服务。

随着SaaS服务模式的逐步成熟,客户的需求越来越倾向于大粒度和个性化,这就要求SaaS服务具有可定制性,以能够适应不同租户的个性化服务需求。在传统的软件模式中,由于每个客户拥有独立的资源堆栈,因此只需要简单地为付费多的客户配置更高的资源就可以了,因此相对而言其个性化定制比较容易。

然而,在基于云环境的多租户SaaS服务模式下,对于同一SaaS应用服务的不同租户共享的是同一套资源,而且这些资源分布在不同的基础设施提供商的数据中心,在现有技术的服务平台中,为满足某一租户的个性化需求对服务配置进行更改时,通常会对平台中的所有用户产生影响,因此存在服务资源被租户独占的情况,这样会导致服务提供商的资源利用率下降,导致运营成本提高。

因此,在基于云环境的多租户SaaS服务模式中,如何能满足不同租户对SaaS应用服务的独立个性化定制,是SaaS服务模式发展所面临的一个重要问题。



技术实现要素:

本发明的目的是提供一种软件即服务云平台,将提供商提供的应用资源整合为服务构件,可实现根据租户的不同服务需求为其定制服务解决方案,能满足多租户模式下不同租户对SaaS应用服务的独立个性化定制。

为实现上述目的,本发明提供如下技术方案:

一种软件即服务云平台,包括:

服务层,用于根据用户请求租用的应用服务,为用户提供服务组合方案,所述服务组合方案中包含用户选择的子应用服务,并将各所述子应用服务分类为对应的服务请求类型;

实施层,用于根据服务请求类型,将各所述子应用服务配置到对应的服务构件,所述服务构件对应于服务请求类型,所述服务构件用于调用用户的数据执行相应类型的服务请求;

数据层,包括用于放置用户的数据的数据源。

可选地,还包括构件建立模块,用于接收提供商注册的应用资源,将所述应用资源进行粒度切分,将能独立实现一项或是多项服务功能的组成部分定义为一个所述服务构件。

可选地,所述服务层用于根据用户请求租用的应用服务,为用户提供服务组合方案包括:

所述服务层具体用于根据用户请求租用的应用服务,向用户列举出所能提供的子应用服务,并根据用户选择的子应用服务形成所述服务组合方案。

可选地,还包括构件监控模块,用于根据服务请求配置到所述服务构件的到达速率调整服务构件的实例数量。

可选地,所述构件监控模块还用于根据所述服务构件的处理速率调整所述服务构件的实例数量。

可选地,所述数据层包括多个相互隔离的所述数据源。

可选地,所述实施层包括:

由同一类型的服务请求构成的服务请求组,所述服务请求组包括对应于各租户的服务请求队列;

对应于所述服务请求组的线程池,所述线程池包含供所述服务请求组中的服务请求队列调用的服务线程;

包括所述服务构件的构件库;

所述服务请求组、所述线程池、所述服务构件一一对应。

可选地,还包括服务请求管理模块,包括:

服务请求分类子模块,用于将用户选择的子应用服务的服务请求分类到对应的服务请求组,并归类到该用户的服务请求队列;

服务质量监控子模块,用于以预设周期计算各个服务请求队列的动态服务质量收益值;

服务质量评价子模块,用于将计算获得的所述动态服务质量收益值与预期收益值进行对比,评价出各个服务请求队列需要增加或者减少的线程数,形成评价结果;

服务请求调度子模块,根据所述评价结果为各个所述服务请求队列增加或减少服务线程数量。

由上述技术方案可以看出,本发明所提供的软件即服务云平台,包括服务层、实施层和数据层。服务层用于根据用户请求租用的应用服务,为用户提供服务组合方案,所述服务组合方案中包含用户选择的子应用服务,并将各子应用服务分类到对应的服务请求类型;实施层用于根据服务请求类型,将各子应用服务配置到对应的服务构件,所述服务构件对应于服务请求类型,用于调用用户的数据执行相应类型的服务请求;数据层,包括用于放置用户的数据的数据源。

本发明软件即服务云平台,将提供商提供的软件资源整合为服务构件,根据租户的应用服务为其提供服务组合方案,将服务组合方案中包含的子应用服务分类为服务请求类型,并根据服务请求类型将服务请求配置到相应的服务构件来执行,为租户提供应用服务。因此本发明软件即服务云平台实现了根据租户的不同需求能够为其定制个性化的服务解决方案,能满足不同租户对SaaS应用服务的独立个性化定制。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种软件即服务云平台的示意图;

图2为本发明实施例提供的多租户服务请求调度模型的示意图;

图3为本发明实施例中服务请求管理模块的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

请参考图1,为本发明实施例提供的一种软件即服务云平台的示意图,所述平台包括:

服务层10,用于根据用户请求租用的应用服务,为用户提供服务组合方案,所述服务组合方案中包含用户选择的子应用服务,并将各所述子应用服务分类为对应的服务请求类型;

实施层11,用于根据服务请求类型,将各所述子应用服务配置到对应的服务构件,所述服务构件对应于服务请求类型,所述服务构件用于调用用户的数据执行相应类型的服务请求;

数据层12,包括用于放置用户的数据的数据源。

由上述内容可以看出,本实施例软件即服务云平台,包括服务层、实施层和数据层。服务层用于根据用户请求租用的应用服务,为用户提供服务组合方案,所述服务组合方案中包含用户选择的子应用服务,并将各子应用服务分类到对应的服务请求类型;实施层用于根据服务请求类型,将各子应用服务配置到对应的服务构件,所述服务构件对应于服务请求类型,用于调用用户的数据执行相应类型的服务请求;数据层,包括用于放置用户的数据的数据源。

本发明软件即服务云平台,将提供商提供的软件资源整合为服务构件,服务构件对应于服务请求类型。对于用户请求租户的应用服务,能根据其应用服务为用户提供服务组合方案,将服务组合方案中包含的子应用服务分类到对应的服务请求类型,并根据服务请求类型将服务请求配置到相应的服务构件来执行,为租户提供应用服务。本发明软件即服务云平台实现了根据租户的不同需求能够为其定制个性化的服务解决方案,能满足不同租户对SaaS应用服务的独立个性化定制。

请参考图1所示,示例性的,对于租户A提出的应用服务A,服务层10针对应用服务A提供了服务组合方案,该服务组合方案由子应用服务S11、S12和S21构成,并将各子应用服务S11、S12和S21分类为对应的服务请求类型;对于租户B提出的应用服务B,服务层10针对应用服务B提供了服务组合方案,该服务组合方案包括子应用服务S11、S31,并将各子应用服务S11和S31分类为对应的服务请求类型。实施层11根据各子应用服务的服务请求类型,将各子应用服务分别配置到对应的服务构件,将各子应用服务的服务请求分别配置到对应的服务构件,由相应的服务构件调用用户的数据执行服务请求,从而为租户A和租户B提供应用服务。

所述软件即服务云平台还包括构件建立模块,用于接收提供商注册的应用资源,将所述应用资源进行粒度切分,将能独立实现一项或是多项服务功能的组成部分定义为一个所述服务构件。本实施例中,各服务提供商将提供的应用资源注册到云平台中,云平台构件建立模块将大量的应用资源进行粒度切分,将高内聚低耦合且能独立实现一项或是多项服务功能的组成部分定义为一个服务构件,对应执行一类型服务请求。

本实施例中,软件即服务云平台的服务层10,用于根据用户请求租用的应用服务,为用户提供服务组合方案包括:所述服务层10具体用于根据用户请求租用的应用服务,向用户列举出所能提供的子应用服务,并根据用户选择的子应用服务形成所述服务组合方案。

租户向所述云平台请求租用应用服务,当云平台接收到用户的服务请求后,根据用户请求租用的应用服务向用户列举出所能提供的各种子应用服务,例如根据租户A提出的应用服务A,服务层可向租户A列举出可提供的子应用服务S11、S12、S21和S22,租户A根据自身需要选择相应的子应用服务,包括S11、S12和S21,服务层10将租户A选择的子应用服务S11、S12和S21组合形成服务组合方案,这样实现了对不同租户应用服务的个性化定制。每一子应用服务被分类为一种服务请求类型,一种服务请求类型由对应的服务构件执行,因此在服务层,对用户请求的应用服务的分类保障了不同租户的个性化需求。

本实施例软件即服务云平台的实施层11,用于根据服务请求类型,将各所述子应用服务配置到对应的服务构件,所述服务构件对应于服务请求类型,服务构件用于调用用户的数据执行相应类型的服务请求。在实施层11中的多种类型的服务构件,一种服务构件提供的服务可以被多个不同的租户共享使用,也可以被单独的租户独占使用。平台会根据各个租户各类服务的资源消耗量及服务性能需求将这些服务请求放置到最合适的服务构件上,以降低平台构件总成本。

进一步的,所述软件即服务云平台还包括构件监控模块,用于根据所述服务请求配置到所述服务构件的到达速率调整服务构件的实例数量,进一步的,所述构件监控模块还用于根据所述服务构件的处理速率调整所述服务构件的实例数量。在平台运行时,租户的服务请求到达服务构件的速率不是恒定的,平台通过构件监控模块,根据服务请求的到达速率或服务构件的处理速率动态调整提供服务的构件实例数量。

本实施例云平台的数据层12,平台的多租户数据被放置在多个数据源中,各个数据源的数据相互隔离,平台运行过程中访问的是哪个数据源中的数据是根据当前访问用户动态决定的,数据层的多数据源动态切换保障了多租户数据的有效隔离。

因此,本实施例所述软件即服务云平台,在实施层SaaS应用资源的构件化保障了平台的可扩展性,针对租户需求的改变,平台能够相应作出调整;另外,服务请求根据类型配置,保障了平台资源的合理分配;而对服务请求的动态调度保障了构件运行时的负载能够平衡,能够使平台提供的服务性能得到提高。

本实施例软件即服务云平台,可应用于多租户模式,提供了多租户体系架构。对于多租户模式下各租户的服务请求,能分别根据各租户的服务请求为其提供服务组合方案,将服务组合方案中的子应用服务分类为服务请求类型,由相应的服务构件执行;而服务构件可由多个租户共享使用,因此在多租户模式下,也能够满足不同租户的个性化定制,能够在满足各个租户服务质量需求的前提下最大化降低运营成本。

在本实施例软件即服务云平台提供的多租户体系架构的基础上,进一步提出了多租户服务请求调度模型。

具体的,请参考图2,本实施例软件即服务云平台的实施层包括服务请求组(R1-Rm)、线程池以及构件库(包括服务构件C1-Cm),所述服务请求组、所述线程池、所述服务构件一一对应。其中,由同一类型的服务请求构成所述服务请求组,所述服务请求组包括对应于各租户的服务请求队列(t1-tn),即在服务请求组中,对应一个租户对应有一个服务请求队列。线程池对应于服务请求组,所述线程池包含供服务请求组中的服务请求队列调用的服务线程。构件库由所述服务构件构成。

相应的,所述软件即服务云平台还包括服务请求管理模块,请参考图3,具体包括服务请求分类子模块20、服务质量监控子模块21、服务质量评价子模块22和服务请求调度子模块23。

服务请求分类子模块20,用于将用户选择的子应用服务的服务请求分类到对应的服务请求组,并归类到该用户的服务请求队列;

服务质量监控子模块21,用于以预设周期计算各个服务请求队列的动态服务质量收益值;

服务质量评价子模块22,用于将计算获得的所述动态服务质量收益值与预期收益值进行对比,评价出各个服务请求队列需要增加或者减少的线程数,形成评价结果;

服务请求调度子模块23,根据所述评价结果为各个所述服务请求队列增加或减少服务线程数量。

租户的服务请求由云平台接收后,首先由服务请求分类子模块进行分类。云平台会列举出所能提供的各种子应用服务,用户根据自身需求选择所需的子应用服务,云平台将用户选择的子应用服务组合形成服务组合方案。服务请求分类子模块20将用户服务组合方案中包含的子应用服务分类到对应的服务请求组,归类到服务请求队列;云平台服务质量监控子模块21实时监控构件库和线程池的运行状态,以预设周期计算各个服务请求队列的动态服务质量收益值,并将计算结果传递给服务质量评价子模块22;服务质量评价子模块22从服务质量监控子模块21接收到服务请求队列的动态服务质量收益值后,将计算获得的收益值与预期收益值进行对比,评价出各服务请求队列需要增加或者减少的服务线程数,并将评价结果传递给服务请求调度子模块23;服务请求调度子模块23根据收到的动态服务质量收益情况动态地为不同的服务请求队列调整所需的服务线程数量,以优化整个平台的动态服务质量收益。

因此可见,本实施例软件即服务云平台,采用了服务请求动态调度策略,具体是根据划分到不同服务请求组的各个服务队列的服务请求强度,调整分配给各个服务请求组的服务线程数,得到所有服务请求队列总的最佳动态服务质量收益值,并产生调度方案。云平台根据配置有不同服务请求类型的构件的负载情况,以及各个服务请求组能够为云平台带来的收益情况,动态调整各个服务请求组的服务线程数,以保证平台的运行负载动态平衡,并且提高云平台的收益值。

本发明软件即服务云平台,采用了服务请求优化配置策略,具体是根据各个服务请求类型对于硬件资源的需求量以及服务性能的要求,找到能够满足其需求的服务构件进行配置,并产生配置方案。本策略的优化目标为使用最少的构件放置尽可能多的服务请求,使得云服务平台使用的构件总成本最低。

本发明采用的服务请求动态调度策略,以服务请求的动态服务质量收益值作为服务请求调度优化目标,对各个服务请求组拥有的服务线程数进行调度,平衡各个服务请求组的忙闲状态,使整个平台的每个服务请求组在使用尽可能少的服务线程数的同时,增加各个周期处理的服务请求数量,以此使得云服务平台获得最大的动态服务质量收益值。

以上对本发明所提供的一种软件即服务云平台进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1