论文部分内容阅读
随着互联网的快速发展和软件技术的成熟,软件的开发模式、应用模式和商业模式都进入了一个全新的时代。在竞争激烈,产品同质化严重,客户需求多样化的情况下,软件产业链停滞、徘徊,唯有服务才能够解决根本的问题。高速发展的互联网给软件产业带来的革命性的意义,并由此产生了一些新的软件发展模式。在众多的模式和概念中,软件即服务(SaaS)几乎得到了所有软件厂商的一致认可和支持,已成为云计算主要服务模式之一,具有广泛的应用前景。基于互联网的应用普遍是一种分布协同的过程,在SaaS模式下也不例外,因此,工作流技术在SaaS应用协同过程中起着重要的作用。文章面向SaaS应用呈现出的多租户单实例特征,针对多租户工作流系统所面临的个性化定制、隔离、可伸缩等问题,重点围绕多租户模式下上作流系统若干关键技术展开深入研究:1、在SaaS模式下,其最明显的一个特点就是单实例多租户,即SaaS运营商将应用部署在平台上供所有的租户租赁共享使用。多个租户共享同一个应用实例,而每个租户的业务和上作流服务质量需求却不尽相同,传统的工作流引擎无法满足多租户不同的业务和上作流服务质量需求。针对SaaS模式下上作流多租户化的特点,本文提出了支持多租户的上作流引擎框架。该多租户上作流引擎支持多租户对工作流进行个性化定制从而满足租户不同的业务需求,并保证定制之后工作流的正确调度执行。在多租户工作流引擎框架中我们提出了用于描述和识别不同租户流程信息的流程上下文和保证多租户工作流执行过程隔离性的流程虚拟机,从而保证每个租户不同的工作流服务质量需求。2、多租户模式下,同一个应用实例需要供所有的租户共享使用,而租户的需求各异,因此一个实例很难满足租户的个性化需求。为了满足不同租户的个性化需求,SaaS提出了可定制化的需求,传统的工作流模型并不支持工作流的可定制性,因此在本文中我们提出了支持定制的多租户工作流模型。通过多租户工作流模型,租户可以根据自己的个性化需求进行工作流定制。3、在多租户模式下,多个租户共享同一个应用和平台实例,而每个租户对工作流的服务体验质量和性能需求却不同。每个租户的SLA级别决定了平台为该租户提供的服务质量水平和服务体验质量需求(pay-as-use)。如何在共享应用环境下,保障大规模多租户个性化上作流调度过程中的性能隔离和SLA需求面临着巨大挑战。针对该问题我们提出了支撑多租户工作流引擎运行的调度策略和算法。主要包括能够满足不同SLA级别租户上作流需求、保证不同租户之间性能隔离的流程虚拟机的创建策略,可以处理多QoS需求同时保证流程调度过程中全局目标最优的租户流程实例调度算法,系统运行中系统和流程虚拟机资源弹性负载均衡算法实现。基于我们提出的多租户工作流引擎框架、多租户工作流定制模型和调度策略算法,我们进行了多租户工作流引擎框架原型系统的实现和验证分析,实验证明在多租户模式下我们的多租户上作流引擎运行效果良好。此外本研究为支持未来传统软件向云计算时代下软件服务的转换提供理论基础和技术基础。