[发明专利]用于调度应用程序的执行的方法和系统有效
申请号: | 201310106657.1 | 申请日: | 2013-03-29 |
公开(公告)号: | CN104077187B | 公开(公告)日: | 2017-06-06 |
发明(设计)人: | 杨晖;张嘉铭;李萍;蔡敏;A.G.豪尔赛尔特 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 黄小临 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 调度 应用程序 执行 方法 系统 | ||
技术领域
本发明涉及在虚拟机中执行应用程序,更具体地,涉及一种用于调度包括多个模块的应用程序的执行的方法和系统。
背景技术
在计算机领域,开发了OSGi(Open Software Gateway initiative)技术,其核心是OSGi框架。OSGi框架是用于Java编程语言的模块系统和服务平台,其被安装在操作系统(OS)上,并且实现完整的和动态的组件模型。由于其具有易于重复使用、开发复杂度低等优点,OSGi框架已经被广泛用于构建企业级应用的基础设施。
可以在OSGi框架上部署多个虚拟机,这些虚拟机形成集群(workload)。可以在每个虚拟机上安装并执行OSGi应用程序。OSGi应用程序包括一个或多个模块(bundle)。通常,将一整个OSGi应用程序部署在一个虚拟机中,当执行该应用程序时,该应用程序的各个模块消耗虚拟机的资源(例如CPU资源、存储器资源、盘资源、网络资源等)来执行相应的功能。
随着OSGi应用程序(尤其是企业级应用程序)的发展,OSGi应用程序中的模块越来越多,这使得OSGi应用程序体积变大。过大的OSGi应用程序不仅会有启动和运行慢、运行时间不稳定、难以查找错误、难以部署等问题,还会大量消耗执行该应用程序的虚拟机的资源,使得该虚拟机不堪重负。与此同时,该虚拟机所在的集群中的其他虚拟机尽管具有很多可用资源,但是由于这些虚拟机并没有执行应用程序,因此这些可用资源处于闲置状态。这使得各个虚拟机的工作负载不平衡。
发明内容
为了解决上述问题,本发明的一个目的是提供一种用于调度包括多个模块的应用程序的执行的方法和系统,其能够动态地平衡集群中的各个虚拟机的工作负载,从而提高该集群的吞吐量,并且优化其性能。
根据本发明的一个方面,提供了一种用于调度包括多个模块的应用程序的执行的方法,包括:监视执行该应用程序的第一虚拟机的资源的使用状态,以确定该使用状态是否达到预定状态;以及响应于该使用状态达到预定状态,将该应用程序中消耗所述资源的模块迁移到具有相应资源的第二虚拟机上。
本领域技术人员可以理解,这里,第二虚拟机所具有的“相应资源”指的是与第一虚拟机的所述资源相同种类的资源。
根据本发明的另一个方面,提供了一种用于调度包括多个模块的应用程序的执行的系统,包括:监视装置,被配置为监视执行该应用程序的第一虚拟机的资源的使用状态,以确定该使用状态是否达到预定状态;以及迁移装置,被配置为响应于该使用状态达到预定状态,将该应用程序中消耗所述资源的模块迁移到具有相应资源的第二虚拟机上。
利用根据本发明上述方面的方法和系统,可以动态地调度应用程序的执行,使得当执行该应用程序的虚拟机的某种资源被大量消耗或者快要耗尽时,可以将该应用程序中消耗这种资源的模块迁移到集群中具有这种资源的其他虚拟机上,从而平衡各个虚拟机之间的工作负载,提高集群的吞吐量,并且优化其性能。而且,根据本发明上述方面的方法和系统在应用程序执行期间执行各种操作,基本上不需要修改应用程序的源代码,因此适用范围很广。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2示出了可以在其中应用本发明的实施例的示例性环境。
图3是示出根据本发明实施例的用于调度包括多个模块的应用程序的执行的方法的流程图。
图4是示出图3所示的步骤S302的详细操作的流程图。
图5是示出根据虚拟机的盘资源的使用状态迁移应用程序的模块的示例的示意图。
图6是示出通过“服务注册”实现分布在不同虚拟机上的应用程序的模块之间的通信的过程的示意图。
图7是示出通过“导出包”实现分布在不同虚拟机上的应用程序的模块之间的通信的过程的示意图。
图8示出了图2所示的各个模块被迁移到不同的虚拟机上的示例。
图9是示出根据本发明实施例的用于调度包括多个模块的应用程序的执行的系统的框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310106657.1/2.html,转载请声明来源钻瓜专利网。