CN105426177B - 一种建立SaaS应用程序模型的方法及系统 - Google Patents

一种建立SaaS应用程序模型的方法及系统 Download PDF

Info

Publication number
CN105426177B
CN105426177B CN201510738268.XA CN201510738268A CN105426177B CN 105426177 B CN105426177 B CN 105426177B CN 201510738268 A CN201510738268 A CN 201510738268A CN 105426177 B CN105426177 B CN 105426177B
Authority
CN
China
Prior art keywords
component
saas application
function
application program
deployment
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.)
Active
Application number
CN201510738268.XA
Other languages
English (en)
Other versions
CN105426177A (zh
Inventor
商晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510738268.XA priority Critical patent/CN105426177B/zh
Publication of CN105426177A publication Critical patent/CN105426177A/zh
Application granted granted Critical
Publication of CN105426177B publication Critical patent/CN105426177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种建立SaaS应用程序模型的方法,包括:根据SaaS应用程序对外提供的功能及所述功能之间的关系,建立功能模型;利用所述功能与相应构件的映射关系,建立与所述功能模型对应的构件模块;根据用户对所述功能的定制和并发访问数据,以确定所述构件模型中每个构件的部署的实例数,形成运行构件模型;根据所述运行构件模型,建立运行状态下的所述SaaS应用程序模型;该方法采用此方法建立的模型,可以实现SaaS应用程序的分布式可伸缩部署、高容错高稳定性运行和高用户体验;本发明还公开了一种建立SaaS应用程序模型的系统。

Description

一种建立SaaS应用程序模型的方法及系统
技术领域
本发明涉及计算机领域,特别涉及一种建立SaaS应用程序模型的方法及系统。
背景技术
近年来,SaaS模式以其部署时间短、风险低、使用方便、多重租赁和可定制等优势在各行各业得到了迅速的普及与广泛的应用,极大地推动了IT产业的升级和电子商务经济的发展。随着SaaS应用程序规模的不断扩大和所涉及业务的迅猛扩展,为其建立精细化模型、对其进行优化部署成为当前越来越多的程序提供商关注的关键问题。为大型复杂SaaS应用程序建立精细化模型,可以有效提高程序的复用性和可扩展性,节约程序开发、升级、扩展所需人力的投入,缩短程序研发的生命周期;为SaaS应用程序制定优化可行的部署方案,可以提高资源的利用率,降低程序的运营成本,符合国家建设资源节约型社会的战略蓝图,进而提高整个行业的经济效益和社会效益。针对用户规模庞大、业务流程复杂的企业级SaaS应用程序,设计其建模及优化部署的方法可以解决低成本、高性能运营的问题,进而使得收益最大化。
发明内容
本发明的目的是提供一种建立SaaS应用程序模型的方法及系统,该方法及系统可以实现SaaS应用程序的分布式可伸缩部署、高容错高稳定性运行和高用户体验。
为解决上述技术问题,本发明提供一种建立SaaS应用程序模型的方法,包括:
根据SaaS应用程序对外提供的功能及所述功能之间的关系,建立功能模型;
利用所述功能与相应构件的映射关系,建立与所述功能模型对应的构件模块;
根据用户对所述功能的定制和并发访问数据,以确定所述构件模型中每个构件的部署的实例数,形成运行构件模型;
根据所述运行构件模型,建立运行状态下的所述SaaS应用程序模型。
其中,还包括:
对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果。
其中,对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果包括:
在所述SaaS应用程序开发阶段,通过负载测试工具,对所述构件模型中每个所述构件在不同并发用户访问数量下的各资源消耗进行预定次数的测量与统计;
根据测量结果和统计结果,确定每个所述构件在稳定负载区域的最大资源消耗;
在所述SaaS应用程序运行阶段,通过监控工具,采集每个所述构件运行时的服务质量指标数据及各资源消耗指标数据;
利用所述服务质量指标数据及各所述资源消耗指标数据对每个所述构件的在各资源消耗中的最大资源消耗进行调整和校验,并根据每个所述构件的服务质量指标的参数,更新每个所述构件的部署的实例数。
其中,还包括:
利用所述预定资源消耗参数计量结果,对所述SaaS应用程序模型中每个所述构件的部署的实例数进行更新。
其中,利用所述预定资源消耗参数计量结果,对所述SaaS应用程序模型中每个所述构件的部署的实例数进行更新包括:
根据对所述SaaS应用程序的资源消耗进行计量的结果,确定所述SaaS应用程序的每个所述构件的部署的实例数,最大资源消耗参数,进行数据通信交互的网络通信量;
确定公有云提供的各类型虚拟机的资源提供量以及价格参数;
根据构件数量确定对应的数学模型,并利用所述数学模型,确定每个所述构件的部署的实例数。
其中,所述根据构件数量确定对应的数学模型包括:
当所述构件数量在第一阈值以内时,选择基于爬山法的优化部署数学模型;
当所述构件数量在第二阈值以上时,选择基于遗传算法的优化部署数学模型。
本发明提供一种建立SaaS应用程序模型的系统,包括:
功能模型模块,用于根据SaaS应用程序对外提供的功能及所述功能之间的关系,建立功能模型;
构件模块模型,用于利用所述功能与相应构件的映射关系,建立与所述功能模型对应的构件模块;
运行构件模型模块,用于根据用户对所述功能的定制和并发访问数据,以确定所述构件模型中每个构件的部署的实例数,形成运行构件模型;
SaaS应用程序模型模块,用于根据所述运行构件模型,建立运行状态下的所述SaaS应用程序模型。
其中,还包括:
计量模块,用于对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果。
其中,还包括:
更新模块,用于利用所述预定资源消耗参数计量结果,对所述SaaS应用程序模型中每个所述构件的部署的实例数进行更新。
其中,所述更新模块包括:
第一确定单元,用于根据对所述SaaS应用程序的资源消耗进行计量的结果,确定所述SaaS应用程序的每个所述构件的部署的实例数,最大资源消耗参数,进行数据通信交互的网络通信量;
第二确定单元,用于确定公有云提供的各类型虚拟机的资源提供量以及价格参数;
更新单元,用于根据构件数量确定对应的数学模型,并利用所述数学模型,确定每个所述构件的部署的实例数。
本发明所提供的建立SaaS应用程序模型的方法及系统,包括:根据SaaS应用程序对外提供的功能及所述功能之间的关系,建立功能模型;利用所述功能与相应构件的映射关系,建立与所述功能模型对应的构件模块;根据用户对所述功能的定制和并发访问数据,以确定所述构件模型中每个构件的部署的实例数,形成运行构件模型;根据所述运行构件模型,建立运行状态下的所述SaaS应用程序模型;
该方法将SaaS应用程序进行构件化的切分,通过将SaaS应用程序的功能以功能模型进行对应,在将功能模型与构件模型相对应的进行分布式部署,并根据实际并发访问量对每种构件的数量进行确定,运行构件模型最终建立的模型,可以实现SaaS应用程序的分布式可伸缩部署、高容错高稳定性运行和高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的建立SaaS应用程序模型的方法的流程图;
图2为本发明实施例所提供的SaaS应用程序的预定资源消耗参数进行计量的示意图;
图3为本发明实施例所提供的SaaS应用程序模型更新的示意图;
图4为本发明实施例所提供的建立的SaaS应用程序模型的构架示意图;
图5为本发明实施例所提供的建立的SaaS应用程序模型的示意图;
图6为本发明实施例所提供的建立SaaS应用程序模型的系统的结构框图。
具体实施方式
本发明的核心是提供一种建立SaaS应用程序模型的方法及系统,该方法及系统可以实现SaaS应用程序的分布式可伸缩部署、高容错高稳定性运行和高用户体验。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的建立SaaS应用程序模型的方法的流程图;该方法可以包括:
s100、根据SaaS应用程序对外提供的功能及所述功能之间的关系,建立功能模型;
其中,由于现有技术中SaaS应用程序中业务功能复杂,子模块交互频繁;因此,因此建立模型的基础是将应用程序的功能进行建模,这里可以通过应用程序对外提供的一个总的业务功能建立一个功能模型,或者一个应用程序对应一个功能模型。在该功能模型中各个子功能按级划分,可以形成一个类似于功能树的结构。即对应用程序按照功能进行划分,并给划分完的功能模块提供关联关系,最终形成一个功能模型。该功能模型为之后构件的分布式部署提供可能。
s110、利用所述功能与相应构件的映射关系,建立与所述功能模型对应的构件模块;
其中,引入构件的概念对大规模的企业级SaaS应用程序进行粒度切分:将高内聚低耦合且能独立实现一项或是多项服务功能的组成部分定义为一个构件;而对耦合性高、依赖性强的服务功能,定义为由多个构件通过一定的连接交互关系协同完成,组成企业级SaaS应用程序的构件具备特征:(1)在程序所针对的特定业务领域独立完成一定的功能,为企业级SaaS应用程序的有效组成部件;(2)构件能够独立部署在基础设施上,当基础设施上搭载构件的运行环境后,构件可独立运行并对外提供服务;(3)企业级SaaS应用程序中若干个异构、分布式部署的构件通过网络进行数据通信共同完成全部的功能服务。
即可以将上述业务或应用程序细化成的各个功能,与能够完成该功能的相应的构件具有映射关系,因此,将构件与上述的功能模型进行对应后会形成与功能模型相对应的构件模型。
经过上述两个步骤,由功能模型和构件模型产生初始状态下的企业级SaaS应用程序模型。该模型已经是分布式建立,具有易伸缩易扩展的特性。
为了使得该模型能够提高SaaS应用程序的整体性能,还可以进行一下几个步骤。
s120、根据用户对所述功能的定制和并发访问数据,以确定所述构件模型中每个构件的部署的实例数,形成运行构件模型;
当应用程序对外提供服务时,需要根据用户的实际情况进行对所述构件模型进行更新,即发现用户定制的某个功能数量多,那么为了提高用户的体验以及系统的速度,因此可以将该功能相对应的构件多设置一些,并根据用户的并发访问量,对构件的部署进行调整,例如某个构件并发访问次数多,则需要多设置一些该构件。
s130、根据所述运行构件模型,建立运行状态下的所述SaaS应用程序模型。
基于上述技术方案,本发明实施例提供的建立SaaS应用程序模型的方法,该方法将SaaS应用程序进行构件化的切分,通过将SaaS应用程序的功能以功能模型进行对应,在将功能模型与构件模型相对应的进行分布式部署,并根据实际并发访问量对每种构件的数量进行确定,运行构件模型最终建立的模型,可以实现SaaS应用程序的分布式可伸缩部署、可扩展性、部署灵活性,保证在大规模客户并发访问情况下程序在功能和服务质量上的高性能即高容错高稳定性运行和高用户体验。
基于上述技术方案,该方法还可以包括:
对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果。
其中,监测程序的各组成构件在不同负载下的动态资源消耗情况,确定其各构件的最大资源消耗情况,进而保证程序在不同负载模式下的高性能运行。其中,预定资源消耗参数可以根据用户实际关注的方面进行设定。
优选的,对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果可以包括:
在所述SaaS应用程序开发阶段,通过负载测试工具,对所述构件模型中每个所述构件在不同并发用户访问数量下的各资源消耗进行预定次数的测量与统计;根据测量结果和统计结果,确定每个所述构件在稳定负载区域的最大资源消耗;
其中,在开发阶段,主要利用负载测试工具进行统计,测量,并根据测试结果确定每个所述构件在稳定负载区域的最大资源消耗。
在所述SaaS应用程序运行阶段,通过监控工具,采集每个所述构件运行时的服务质量指标数据及各资源消耗指标数据;
其中,根据监测的数据结果,确定每个所述构件运行时的服务质量指标数据及各资源消耗指标数据。
利用所述服务质量指标数据及各所述资源消耗指标数据对每个所述构件的在各资源消耗中的最大资源消耗进行调整和校验,并根据每个所述构件的服务质量指标的参数,更新每个所述构件的部署的实例数。
下面列举该计量过程的主要过程,请参考图2,图2为本发明实施例所提供的SaaS应用程序的预定资源消耗参数进行计量的示意图;
可以通过采用测试与监控相结合的计量方法:在企业级SaaS应用程序即企业级SaaS应用软件的开发阶段,通过使用负载测试工具(如LoadRunner)对软件的各组成构件在不同并发用户访问数下的最大资源消耗(CPU、内存等)进行测量,得到测试数据;在SaaS应用程序的运行阶段,通过使用监测工具(如JMX)获取软件的各组成构件在不同并发用户访问数下的实时资源消耗(服务质量监测及各资源消耗监测)得到检测数据,采用上述资源消耗的计量方法可以确定企业级SaaS应用软件的各组成构件在稳定运行阶段、在允许的最大并发用户访问数下的资源消耗情况,进而作为对程序进行优化部署的前提和依据;
即在程序的开发阶段,通过负载测试工具,对各组成构件在不同并发用户访问数下的各资源消耗进行反复的测量与统计,确定各构件在稳定负载区域的最大资源消耗;在程序的运行阶段,通过监控工具,采集各构件运行时服务质量指标和各资源消耗指标的数据,根据实时捕获的数据对构件的各种资源的最大消耗进行调整和校检,同时根据各构件服务质量指标的参数,确定该构件所需部署的实例数,以此保证程序的服务质量和性能,企业级SaaS应用程序资源消耗的计量方法是制定程序优化部署方案的前提。
基于上述技术方案,方法还可以包括:
利用所述预定资源消耗参数计量结果,对所述SaaS应用程序模型中每个所述构件的部署的实例数进行更新。
其中,在程序的初始部署阶段,通过执行优化部署算法即利用所述预定资源消耗参数计量结果,对所述SaaS应用程序模型中每个所述构件的部署的实例数进行更新,并根据与基础设施的情况,确定一个合理的部署方案以降低云基础设施的租用成本和程序各构件的内部网络通信量,进而达到节省成本投入,提高程序服务质量的目的。
优选的,利用所述预定资源消耗参数计量结果,对所述SaaS应用程序模型中每个所述构件的部署的实例数进行更新可以包括:
根据对所述SaaS应用程序的资源消耗进行计量的结果,确定所述SaaS应用程序的每个所述构件的部署的实例数,最大资源消耗参数,进行数据通信交互的网络通信量;
确定公有云提供的各类型虚拟机的资源提供量以及价格参数;
根据构件数量确定对应的数学模型,并利用所述数学模型,确定每个所述构件的部署的实例数。
下面列举该计量过程的主要过程,请参考图3,图3为本发明实施例所提供的SaaS应用程序模型更新的示意图;
该方法的前提是企业级SaaS应用软件部署在公有云环境(如阿里云、亚马逊云等)提供的虚拟机VW1,VW2,VW3设施上,其中,虚拟机1和虚拟机2在VW1的基础上,虚拟机3在VW2基础上,VW3暂且可以不需要;根据SaaS应用程序各构件的资源消耗量和所需部署的构件实例数、公有云所能提供的虚拟机类型和各类型虚拟机的资源提供量,以降低租用虚拟机的总成本和程序各组成构件的内部网络通信量为优化目标,根据合适的算法,计算产生一个最优的部署方案,该方法所产生的部署方案具有较高的应用价值,尤其对于成本预算有限、基础设施条件不足的中小型程序研发企业。
即(1)确定所需部署的程序的各构件实例的数目即C1~C8、各构件的资源最大需求量(即对各种资源的最大消耗量)参数、各构件进行数据通信交互的网络通信量;(2)确定某一公有云所提供的各种类型虚拟机的资源提供量和价格参数;(3)建立数学模型(即NP问题),以租用虚拟机总价格最低并在总价格最低下构件间网络通信总量最低为优化目标,根据构件数目的规模,选择启发式搜素算法或智能搜索算法寻找最优的构件部署方案。
可选的,所述根据构件数量确定对应的数学模型包括:
当所述构件数量在第一阈值以内时,选择基于爬山法的优化部署数学模型;
当所述构件数量在第二阈值以上时,选择基于遗传算法的优化部署数学模型。
其中,第一阈值和第二阈值可以根据用户的实际需要进行设定。
例如,基于爬山法的优化部署方法是一种启发式搜索算法,在所需部署的企业级SaaS应用程序的构件数目为50以内时,可以产生较优的构件部署方案;基于遗传算法的优化部署方法是一种智能搜索算法,在所需部署的企业级SaaS应用程序的构件数目为100以上时,可以产生较优的构件部署方案,通过使用本发明公开的优化部署方法,可以提高所租用虚拟机的利用率,降低租用虚拟机的总成本,同时降低构件间通信交互所需的网络数据量,达到企业级SaaS应用程序低成本投入、高性能运营的目的。
针对大规模大访问量的企业级SaaS应用程序,在满足程序第四级成熟度架构的基础上,本发明提供了一种分布式的SaaS程序架构,在该架构下,引入构件的概念对SaaS程序进行了结构的细化和粒度的划分,并以此为基础设计了部署在公有云环境下的企业级SaaS应用程序的模型,该模型包括表现层、控制层、应用层和虚拟机层;涉及到用户和提供商、功能模型、构件模型、构件实例、虚拟机等元素,模型各层次的元素通过映射关系相互关联。
如图4所示,请参考图4本发明对于企业级SaaS应用程序建立的模型,其架构如附图4所示,在此架构下,表现层为客户进行服务定制和租赁的门户,即程序服务商根据用户的需求,进行服务定制和租赁的企业级SaaS应用软件门户;控制层获取客户的需求并分配用户对实现其业务请求的构件进行访问,同时负责监控整个程序各构件的服务质量指标和资源消耗状况即进行客户分配即应用监控;应用层由程序的各组成构件通过网络连接交互来完成全部功能服务,各个构件通过构件库提供;虚拟机层是部署程序所有组成构件的载体,在虚拟机上搭建构件独立运行的环境,虚拟机的来源为公有云供应商所提供的不同类型的虚拟机。
其中,对企业级SaaS应用程序采用附图5所示的模型进行描述,该模型结构核心为功能模型和构件模型:功能模型描述了企业级SaaS应用程序对外提供的全部可定制的功能,形成了一个功能树f0~f31其中,功能由功能库提供;构件模型描述了完成企业级SaaS应用软件全部功能的所有组成构件及连接关系,构件模型中的构件与其在功能模型中所能完成的若干功能相映射例如C1映射f11和f12其中,构件由构件库提供,在程序部署时,可以根据客户的并发访问情况,部署程序某一构件的若干个构件实例,代码库提供各个构件代码,并行完成大规模客户务请求,以此保证程序的高性能运行和高服务质量。虚拟机层是部署程序所有组成构件的载体,在虚拟机上搭建构件独立运行的环境。
基于上述技术方案,本发明实施例提供的建立SaaS应用程序模型的方法,该方法依据SaaS应用程序各组成部分的云资源消耗情况和云基础设施的资源提供能力及计费模式,确定一个优化的部署方案,该方法可以达到降低云基础设施的租用成本和SaaS应用程序的内部网络通信量,提高SaaS应用程序整体性能的目的。为大型复杂SaaS应用程序建立精细化模型,可以有效提高程序的复用性和可扩展性,节约程序开发、升级、扩展所需人力的投入,缩短程序研发的生命周期;为SaaS应用程序制定优化可行的部署方案,可以提高资源的利用率,降低程序的运营成本,符合国家建设资源节约型社会的战略蓝图,进而提高整个行业的经济效益和社会效益。针对用户规模庞大、业务流程复杂的企业级SaaS应用程序,设计其建模及优化部署的方法可以解决低成本、高性能运营的问题,进而使得收益最大化。
本发明实施例提供了建立SaaS应用程序模型的方法,可以通过上述方法能够实现SaaS应用程序的分布式可伸缩部署、高容错高稳定性运行和高用户体验。
下面对本发明实施例提供的建立SaaS应用程序模型的系统进行介绍,下文描述的建立SaaS应用程序模型的系统与上文描述的建立SaaS应用程序模型的方法可相互对应参照。
请参考图6,图6为本发明实施例所提供的建立SaaS应用程序模型的系统的结构框图;该系统可以包括:
功能模型模块100,用于根据SaaS应用程序对外提供的功能及所述功能之间的关系,建立功能模型;
构件模块模型200,用于利用所述功能与相应构件的映射关系,建立与所述功能模型对应的构件模块;
运行构件模型模块300,用于根据用户对所述功能的定制和并发访问数据,以确定所述构件模型中每个构件的部署的实例数,形成运行构件模型;
SaaS应用程序模型模块400,用于根据所述运行构件模型,建立运行状态下的所述SaaS应用程序模型。
基于上述技术方案,该系统还可以包括:
计量模块,用于对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果。
基于上述技术方案,该系统还可以包括:
更新模块,用于利用所述预定资源消耗参数计量结果,对所述SaaS应用程序模型中每个所述构件的部署的实例数进行更新。
其中,所述计量模块包括:
测量单元,用于在所述SaaS应用程序开发阶段,通过负载测试工具,对所述构件模型中每个所述构件在不同并发用户访问数量下的各资源消耗进行预定次数的测量与统计;
统计单元,用于根据测量结果和统计结果,确定每个所述构件在稳定负载区域的最大资源消耗;
监控单元,用于在所述SaaS应用程序运行阶段,通过监控工具,采集每个所述构件运行时的服务质量指标数据及各资源消耗指标数据;
计量单元,用于利用所述服务质量指标数据及各所述资源消耗指标数据对每个所述构件的在各资源消耗中的最大资源消耗进行调整和校验,并根据每个所述构件的服务质量指标的参数,更新每个所述构件的部署的实例数。
其中,所述更新模块包括:
第一确定单元,用于根据对所述SaaS应用程序的资源消耗进行计量的结果,确定所述SaaS应用程序的每个所述构件的部署的实例数,最大资源消耗参数,进行数据通信交互的网络通信量;
第二确定单元,用于确定公有云提供的各类型虚拟机的资源提供量以及价格参数;
更新单元,用于根据构件数量确定对应的数学模型,并利用所述数学模型,确定每个所述构件的部署的实例数。
可选的,更新单元包括:
第一更新单元,用于当所述构件数量在第一阈值以内时,选择基于爬山法的优化部署数学模型;
第二更新单元,用于当所述构件数量在第二阈值以上时,选择基于遗传算法的优化部署数学模型。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机程序或者二者的结合来实现,为了清楚地说明硬件和程序的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是程序方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的程序模块,或者二者的结合来实施。程序模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的建立SaaS应用程序模型的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (6)

1.一种建立SaaS应用程序模型的方法,其特征在于,包括:
根据SaaS应用程序对外提供的功能及所述功能之间的关系,建立功能模型;其中,将所述SaaS应用程序按照功能进行划分,并给划分完的功能模块提供关联关系,形成所述功能模型;
利用所述功能与相应构件的映射关系,建立与所述功能模型对应的构件模块;其中,所述构件模块为将高内聚低耦合且能独立实现一项或是多项服务功能的组成部分作为一个构件模块;
根据用户对所述功能的定制和并发访问数据,以确定所述构件模块中每个构件的部署的实例数,形成运行构件模型;
根据所述运行构件模型,建立运行状态下的所述SaaS应用程序模型;
根据对所述SaaS应用程序的资源消耗进行计量的结果,确定所述SaaS应用程序的每个所述构件的部署的实例数,最大资源消耗参数,进行数据通信交互的网络通信量;
确定公有云提供的各类型虚拟机的资源提供量以及价格参数;
根据构件数量确定对应的数学模型,并利用所述数学模型,确定每个所述构件的部署的实例数。
2.如权利要求1所述的方法,其特征在于,还包括:
对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果。
3.如权利要求2所述的方法,其特征在于,对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果包括:
在所述SaaS应用程序开发阶段,通过负载测试工具,对所述构件模型中每个所述构件在不同并发用户访问数量下的各资源消耗进行预定次数的测量与统计;
根据测量结果和统计结果,确定每个所述构件在稳定负载区域的最大资源消耗;
在所述SaaS应用程序运行阶段,通过监控工具,采集每个所述构件运行时的服务质量指标数据及各资源消耗指标数据;
利用所述服务质量指标数据及各所述资源消耗指标数据对每个所述构件的在各资源消耗中的最大资源消耗进行调整和校验,并根据每个所述构件的服务质量指标的参数,更新每个所述构件的部署的实例数。
4.如权利要求1所述的方法,其特征在于,所述根据构件数量确定对应的数学模型包括:
当所述构件数量在第一阈值以内时,选择基于爬山法的优化部署数学模型;
当所述构件数量在第二阈值以上时,选择基于遗传算法的优化部署数学模型;所述第一阈值小于所述第二阈值。
5.一种建立SaaS应用程序模型的系统,其特征在于,包括:
功能模型模块,用于根据SaaS应用程序对外提供的功能及所述功能之间的关系,建立功能模型;其中,将所述SaaS应用程序按照功能进行划分,并给划分完的功能模块提供关联关系,形成所述功能模型;
构件模块模型,用于利用所述功能与相应构件的映射关系,建立与所述功能模型对应的构件模块;其中,所述构件模块为将高内聚低耦合且能独立实现一项或是多项服务功能的组成部分作为一个构件模块;
运行构件模型模块,用于根据用户对所述功能的定制和并发访问数据,以确定所述构件模块中每个构件的部署的实例数,形成运行构件模型;
SaaS应用程序模型模块,用于根据所述运行构件模型,建立运行状态下的所述SaaS应用程序模型;
还包括:更新模块,所述更新模块包括:
第一确定单元,用于根据对所述SaaS应用程序的资源消耗进行计量的结果,确定所述SaaS应用程序的每个所述构件的部署的实例数,最大资源消耗参数,进行数据通信交互的网络通信量;
第二确定单元,用于确定公有云提供的各类型虚拟机的资源提供量以及价格参数;
更新单元,用于根据构件数量确定对应的数学模型,并利用所述数学模型,确定每个所述构件的部署的实例数。
6.如权利要求5所述的系统,其特征在于,还包括:
计量模块,用于对所述SaaS应用程序的预定资源消耗参数进行计量,并得到所述预定资源消耗参数计量结果。
CN201510738268.XA 2015-11-03 2015-11-03 一种建立SaaS应用程序模型的方法及系统 Active CN105426177B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510738268.XA CN105426177B (zh) 2015-11-03 2015-11-03 一种建立SaaS应用程序模型的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510738268.XA CN105426177B (zh) 2015-11-03 2015-11-03 一种建立SaaS应用程序模型的方法及系统

Publications (2)

Publication Number Publication Date
CN105426177A CN105426177A (zh) 2016-03-23
CN105426177B true CN105426177B (zh) 2019-05-10

Family

ID=55504407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510738268.XA Active CN105426177B (zh) 2015-11-03 2015-11-03 一种建立SaaS应用程序模型的方法及系统

Country Status (1)

Country Link
CN (1) CN105426177B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201631B (zh) * 2016-07-26 2019-09-27 北京海誉动想科技股份有限公司 实例系统应用的预安装方法
CN107171845A (zh) * 2017-05-24 2017-09-15 成都四象联创科技有限公司 基于模块化的信息处理方法
CN107977254B (zh) * 2017-12-05 2021-07-27 郑州云海信息技术有限公司 云数据系统中请求的响应方法和计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023936B (zh) * 2011-09-23 2015-03-18 中国科学院声学研究所 一种多层次网络系统及基于该网络系统的任务执行方法
CN102880802B (zh) * 2012-09-25 2016-06-29 浙江图讯科技股份有限公司 一种用于面向工矿企业安全生产云服务平台系统的重大危险源的分析评价方法
TW201807961A (zh) * 2012-09-27 2018-03-01 內數位專利控股公司 在噓擬網路中端對端架構、api框架、發現及存取
US9537973B2 (en) * 2012-11-01 2017-01-03 Microsoft Technology Licensing, Llc CDN load balancing in the cloud

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云计算环境下WEB应用的自动部署与资源分配;赵天麒;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150215(第2期);摘要,正文第1,6,10-11,14,18-19,32-37页
多用户SaaS应用优化部署算法的研究;曹祖凤;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140315(第3期);正文第1,7,9-12,16-30,41-47页

Also Published As

Publication number Publication date
CN105426177A (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
Ma et al. Improved critical chain project management framework for scheduling construction projects
US8799899B2 (en) Controlling and selecting cloud centers based on electricity and carbon emission costs
CN101295380B (zh) 用于估计资源供应的方法和系统
Díaz et al. Optimal allocation of virtual machines in multi-cloud environments with reserved and on-demand pricing
US7619991B2 (en) User interface for modeling estimations of resource provisioning
Gmach et al. Resource and virtualization costs up in the cloud: Models and design choices
US20110106326A1 (en) Power consumption projection
CN105426177B (zh) 一种建立SaaS应用程序模型的方法及系统
US20130311839A1 (en) Generation of error messages and progress information messages via a common interface
CN106897115A (zh) 一种云环境下SaaS软件部署方法及装置
Li et al. Web-scale service delivery for smart cities
Procaccianti et al. A catalogue of green architectural tactics for the cloud
CN112001786A (zh) 基于知识图谱的客户信用卡额度配置方法及装置
Motta et al. Service level management (slm) in cloud computing-third party slm framework
Wiesner et al. Software‐in‐the‐loop simulation for developing and testing carbon‐aware applications
US7640531B1 (en) Productivity measurement and management tool
CN108170404A (zh) 一种基于参数化模型的Web服务组合验证方法
US20220284359A1 (en) Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems
Wang et al. Policy-based SLA-aware cloud service provision framework
CN106897094A (zh) 一种云环境下SaaS软件部署方法及装置
CN104793924B (zh) 计算任务的处理方法及装置
Qi et al. A trust impact analysis model for composite service evolution
CN110210885A (zh) 挖掘潜在客户的方法、装置、设备及可读存储介质
CN114328047A (zh) 系统测试方法、装置、电子设备以及存储介质
CN102833315B (zh) 一种云计算环境中的uddi扩展模型的构造方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant