一种多租户环境运行实例分时更新的方法技术

技术编号:7662554 阅读:284 留言:0更新日期:2012-08-09 07:07
本发明专利技术提供一种多租户环境运行实例分时更新的方法,本发明专利技术涉及软件及数据的更新技术,尤其是支持多租户的云计算环境下软件及数据的更新技术。本发明专利技术提供了一种多租户环境下运行实例更新的方法,该方法通过模拟更新及相似实例更新日志分析提升更新预估时间的准确性,通过租户指定时段及实例活动日志分析的方式选择更新窗口,通过应用内置规则校验更新结果,通过实例备份保证更新异常的可恢复性,用以提升多租户环境下更新的可靠性并降低软件更新导致的业务停止时间。

【技术实现步骤摘要】
一种多租户环境运行实例分时更新的方法
本专利技术涉及软件运维管理
,特别是涉及云计算环境下SaaS应用的更新技术,目的是提升多租户环境下SaaS应用更新的可靠性并降低软件更新导致的业务停止时间。
技术介绍
随着软件产业的发展,资源合理配置、专业化分工的趋势越来越明显,云计算和软件即服务(SaaS)的概念也逐渐落地。软件即服务是一种创新的软件应用模式,将软件使用者从应用软件、系统软件、硬件及网络设施的购买及部署维护工作中解脱出来,让软件的使用者更关注自己的业务,而对于基础设施及软件的安装、部署、维护、更新等工作都交给更专业的SaaS服务提供商来负责企业购买、。同时,SaaS服务提供商为了合理配置资源,提升资源利用效率,往往采用虚拟化的技术,形成统一的大规模资源池,为多个软件使用主体服务,也就是我们常说的多租户模式(Multi-Tenant)。专业化分工不仅仅是是服务提供者与服务消费者之间的分工在转变,在服务提供者内部也在细化,SaaS服务的提供商和运营商的角色也在分离,运营商负责基础设施环境的建设及服务运营和运维,而提供上主要负责在运营商平台的接入规范下开发并接入自己的SaaS服务,这就形成了运营商通过接入不同SaaS服务提供商的SaaS服务,然后提供给不同的租户使用的模式。由于SaaS服务一般会面向公众,运营商接入的应用种类以及租户规模会非常大。虚拟化技术实现了基础设施层的抽象,让计算能力的分配和管理的自动化成为可能,然而,面对大规模应用种类在大规模运行实例上的场景,如何维护,尤其是如何实现更新的可靠性和自动化,并且能够尽可能的降低租户停止业务的时间是SaaS服务运营商面临的一大难题。
技术实现思路
本专利技术针对以上问题提出了一种解决的方法。本专利技术的目的是按以下方式实现的,包括以下步骤:步骤A,接收软件更新请求;为了评估软件更新所需的时间,需要包含以下内容:(1)更新程序;(2)更新程序的描述信息;a)程序标识;b)当前更新适用的版本号;c)更新成功后的目标版本号;(3)更新相关的度量信息,包括在不同硬件环境下,不同实例数据规模下更新耗时的基准数据;(4)更新成功的校验规则;步骤B,生成更新调度计划;调度计划生成器通过更新申请中的描述信息确定所有租户待更新的SaaS服务实例列表,然后再对待更新SaaS服务实例列表中的所有实例进行调度时间匹配;调度计划的生成采用在SaaS服务实例的所有可用时间窗口与预估更新时间进行匹配,以获取最佳更新时间窗口,包括但不限于以下内容:(1)租户预定义的更新可用时间表;(2)由SaaS服务提供商提供的更新基准数据;(3)已更新相似实例的更新日志统计信息;(4)实例活动日志统计信息;(5)提供活动监控机制获取每个实例的活动日志统计信息,每个实例需要输出的一组可用时间窗口,以方便生成分时更新的调度计划;(6)调度计划生成器为租户管理员提供计划调整界面入口,调度计划生成后可选的通过租户注册信息中描述的通知方式通知租户管理员,以为租户管理员提供调整的可能;步骤C,执行更新,更新代理在接收到调度计划的更新指令后,针对一个具体实例进行更新时,有以下步骤:(1)接收调度窗口及异常处理策略;(2)备份实例;(3)获取更新程序;(4)执行更新;(5)结果处理;在结果处理中,有两个关键任务,一是要将更新的耗时及结果记入日志,以供后续调度计划生成的参考,二是需要根据调度窗口的可用时间以及异常处理策略判断如果更新失败后的结果处理策略。附图说明图1是根据本专利技术一个实施例的运行实例分时更新的方法流程图;图2是本专利技术一种多租户环境运行实例分时更新的方法的细化流程图;图3是本专利技术生成调度计划步骤的流程图。具体实施方式参照说明书附图对本专利技术的方法作以下详细地说明。本专利技术的目的在于提供一种多租户环境运行实例分时更新的方法,本专利技术的又一目的在于提供一种准确确定多租户环境下对SaaS服务运行实例更新调度计划的方法。实施步骤如下:1.一种多租户环境运行实例分时更新的方法,包括以下步骤:步骤A,接收软件更新请求;为了评估软件更新所需的时间,需要包含以下内容:1)更新程序;2)更新程序的描述信息;D)程序标识;E)当前更新适用的版本号;F)更新成功后的目标版本号;3)更新相关的度量信息,包括在不同硬件环境下,不同实例数据规模下更新耗时的基准数据;4)更新成功的校验规则。步骤B,生成更新调度计划调度计划生成器通过更新申请中的描述信息确定所有租户待更新的SaaS服务实例列表,然后再对待更新SaaS服务实例列表中的所有实例进行调度时间匹配。调度计划的生成采用在SaaS服务实例的所有可用时间窗口与预估更新时间进行匹配,以获取最佳更新时间窗口,包括但不限于以下内容:1)租户预定义的更新可用时间表(可选);2)由SaaS服务提供商提供的更新基准数据;3)己更新相似实例的更新日志统计信息;4)实例活动日志统计信息。每个实例需要输出的一组可用时间窗口,以方便生成分时更新的调度计划。调度计划生成器为租户管理员提供计划调整界面入口,调度计划生成后可选的通过租户注册信息中描述的通知方式通知租户管理员,以为租户管理员提供调整的可能。步骤C,执行更新更新代理在接收到调度计划的更新指令后,针对一个具体实例进行更新时,有以下步骤:1)接收调度窗口及异常处理策略;2)备份实例;3)获取更新程序;4)执行更新;5)结果处理;在结果处理中,本方法需要根据调度窗口的可用时间以及异常处理策略判断如果更新失败后的结果处理策略。实施例:以下将通过一个实际实施场景举例,使本专利技术的上述目标、特征和优点更加清晰、易懂。本场景划分为三个主要步骤,分别是更新请求阶段、生成调度计划阶段、执行更新阶段。本实施例模拟的场景如下,SaaS服务提供商Vendorl、Vendor2将自己开发的SaaS服务接入SaaS服务平台,Vendorl提供的应用为XX-CRM,Vendor2提供的应用为XX-HR,租户l、租户2、租户3分别购买了XX-CRM、XX-HR等产品,其租用及实例部署关系如表l所示:租户应用当前版本实例ID实例类型租户1XX-CRM1.0GUID-I实例类型1租户1XX-CRM1.0GUID-2实例类型1租户2XX-CRM1.0GUID-3实例类型2租户2XXHR2.0GUID-4实例类型2租户3XX-CRM1.0GUID-5实例类型1在更新请求阶段,本实施例假定更新请求由XX-CRM的服务提供商Vendorl发出,Vendorl需要遵循SaaS运营商的规范,注册本次更新请求,更新请求需要提供表l所描述的信息。其中包括适用此更新的应用,适用此更新的版本标识,更新后实例中的版本标识,更新包的URL,同时还需要提供用于评估更新耗时的更新基准时间。更新基准时间需要包含两个维度的评估数据:一是实例类型,实例类型确定了CPU、内存、磁盘等计算能力的基准;二是数据规模,反映了不同数据量下的更新时间基准。SaaS服务提供更新请求如表2所示:在生成调度计划阶段,由于多租户环境下尤其是大规模多租户环境下,不同租户使用的应用类型不同,所在的时区不同,用户的在线时间不同,采用所有实例同步更新的方式势必导致诸多租户业务的停止。区别于以上更新方法,本实施例采用本专利技术所述的分时更新方法。本文档来自技高网
...
一种多租户环境运行实例分时更新的方法

【技术保护点】

【技术特征摘要】
1.一种多租户环境运行实例分时更新的方法,其特征在于通过对多种类型的参考数据进行综合分析,以确定不同实例的最佳更新时间,最佳更新时间的确定主要通过可用更新窗口与预估更新时间确定,其中针对每个实例的最佳更新时间的确定来主要有两个来源,一是系统租户管理员指定的可用更新时间,二是根据实例监控代理通过抽样获取的实际空闲时间,二者取其交集作为计划更新窗口;针对实例的预估更新时间同样有两个来源,一是更新申请中提供的基准更新时间,二是相似实例实际更新所消耗的时间,二者按取高值的方式确定预估更新时间;判断更新窗口被采纳的条件为:计划更新窗口>(预估更新时间+预估恢复时间),以1个月为更新周期,在这一个月内,待选更新窗口不止一个,通过进行多次匹配,完成匹配后的一组可用更新窗口提供给调度计划生成器,调度计划生成器通过对所有实例的所有可用更新窗口进行综合分析,通过生成分批次的调度计划,通过对所有待更新实例进行匹配,即可生成完整调度服务计划,包括以下步骤:A接收软件更新请求;B生成更新调度计划;C执行更新,其中:步骤A,接收软件更新请求,内容包括:适用此更新的应用,适用此更新的版本标识,更新后实例中的版本标识,更新包的URL,同时还需要提供用于评估更新耗时的更新基准时间,更新基准时间需要包含两个维度的评估数据:一是实例类型,实例类型确定了CPU、内存、磁盘计算能力的基准;...

【专利技术属性】
技术研发人员:王兴山郑伟波
申请(专利权)人:浪潮集团山东通用软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1