命令控制方法和命令控制器技术

技术编号:6865807 阅读:157 留言:0更新日期:2012-04-11 18:40
提供了一种命令控制方法和命令控制器,用于控制多个命令在远程机上的执行。所述命令控制方法包括:根据所述多个命令中的每一个命令的预定属性,确定该命令的优先级;根据远程机的当前工作负载,确定命令包的最大总执行时间;根据所述最大总执行时间,按照优先级的降序将所述多个命令分别打包到一个或多个所述命令包中;以及将一个或多个所述命令包发送给远程机。通过所述命令控制方法和命令控制器,可以优化命令在云环境中的执行,提高云环境的性能。

【技术实现步骤摘要】

本专利技术涉及一种命令控制方法和命令控制器,更具体地涉及一种用于控制多个命令在云环境中的远程机上的执行的命令控制方法和命令控制器。
技术介绍
目前,云计算已经成为研究热点之一。为了有效地进行云计算,需要构造和不断地更新云环境。云环境由大量远程机组成。这里所述的远程机包括远程物理机和远程虚拟机,除非另行说明。构造和更新云环境的一种核心方法是在远程机上远程地执行命令,以便在该远程机上执行相应的活动,或者获取该远程机的动态信息,其中,远程物理机的动态信息包括该远程物理机(服务器)的服务器基本信息、以及与该远程物理机的CPU和内存 (memory)有关的信息等,远程虚拟机的动态信息包括该远程虚拟机(服务器)的服务器基本信息、与该远程虚拟机的虚拟CPU和虚拟内存有关的信息、以及该远程虚拟机的配置信肩、^^ ο 从另一个角度来说,在远程机上执行命令也是产生云环境工作负载的主要因素。 具体地,在远程机上执行命令要消耗该远程机的内存空间和CPU的计算能力,从而产生工作负载,而且,由于不同的命令是在不同的时间执行的,因此执行这些命令所产生的工作负载也不相同。在构造和更新云环境时,往往需要远程地执行大量命令,这些命令的出现是随机的,并且很多命令都倾向于被实时执行。如果不加控制地在云环境中实时地执行这些命令, 将消耗更多的计算资源,并且使得云环境的工作负载变得不稳定且难以预测和管理,从而使云环境的性能降低。此外,为了实时执行命令,需要与远程机建立直接的网络连接,当有大量命令要实时执行时,将建立大量的这种网络连接,此时,一旦网络连接出现故障,就无法执行相应的命令,导致任务失败。而且,由于命令出现的随机性,远程机上的基本命令行接口也被不受控制地调用,使得命令执行失败的风险增大。另一方面,对于不需要实时执行的命令,使用缓存机制来处理这些命令,并且暂存其执行结果,如果缺乏相应的更新机制, 所暂存的执行结果随着时间的过去而变得不准确。因此,需要一种能够优化命令在云环境(远程机)中的执行从而提高云环境性能的命令控制方法和命令控制器。
技术实现思路
考虑到以上问题而提出了本专利技术。本专利技术的一个目的是提供一种命令控制方法和命令控制器,其能够根据云环境(远程机)的工作负载,动态地调度要在远程机上执行的命令,从而优化这些命令的执行,提高云环境的性能。根据本专利技术的一个方面,提供了一种命令控制方法,用于控制多个命令在远程机上的执行,该命令控制方法包括根据所述多个命令中的每一个命令的预定属性,确定该命令的优先级;根据远程机的当前工作负载,确定命令包的最大总执行时间;根据所述最大总执行时间,按照优先级的降序将所述多个命令分别打包到一个或多个所述命令包中;以及将一个或多个所述命令包发送给远程机。根据本专利技术的另一方面,提供了一种命令控制器,用于控制多个命令在远程机上的执行,该命令控制器包括负载检测器,用于检测远程机的当前工作负载;以及命令分析器,用于根据所述多个命令中的每一个命令的预定属性,确定该命令的优先级,根据所检测的远程机的当前工作负载,确定命令包的最大总执行时间,根据所述最大总执行时间,按照优先级的降序将所述多个命令分别打包到一个或多个所述命令包中,并且将一个或多个所述命令包发送给远程机。根据本专利技术上述方面的命令控制方法和命令控制器根据要在远程机上执行的命令的预定属性以及云环境的工作负载来将命令打包,从而对命令的执行进行有效的动态调度,提高云环境的性能。附图说明 通过结合附图对本专利技术的实施例进行详细描述,本专利技术的上述和其它目的、特征、 优点将会变得更加清楚,其中 图1是示出根据本专利技术实施例的命令控制方法的流程图; 图2示出根据本专利技术实施例的命令控制方法的示例实现方式的流程图; 图3是用于说明图2中的步骤S205的流程图; 图4A是示意性地示出第一执行时间与远程机的CPU使用率之间的关系的函数图; 图4B是示意性地示出第二执行时间与远程机的可用内存之间的关系的函数图; 图4C是示意性地示出预测传输时间与网络负载之间的关系的函数图; 图5是示意性地示出命令包的最大总执行时间与远程机工作负载之间的关系的函数图; 图6是用于说明图2中的步骤S208的流程图; 图7是用于说明图2中的步骤S208的另一流程图; 图8A是示意性地示出按照优先级的降序排列的命令的例子的图; 图8B是示意性地示出对图8A所示的命令进行打包的结果的图;以及 图9是示出根据本专利技术实施例的命令控制器的框图。具体实施例方式下面将参照附图来描述根据本专利技术实施例的命令控制方法和命令控制器。首先,参照图1来简要描述根据本专利技术实施例的命令控制方法。该命令控制方法可以由命令控制器来执行,该命令控制器位于用于构造和更新云环境并且发出一个和多个命令的管理平台和用于执行管理平台发出的命令的云环境中的远程机之间,或者属于所述管理平台的一部分(在这种情况下,可以认为所述命令控制方法是由管理平台执行的)。如图1所示,在步骤S101,根据多个命令中的每一个命令的预定属性,确定该命令的优先级。如下文所述,所述预定属性可以包括该命令的预测执行时间、预测传输时间、执行结果生存时间和命令频率中的一个或多个。该优先级用来确定将命令打包的顺序,从而确定将命令发送给远程机的顺序。接下来,在步骤S102,根据远程机的当前工作负载,确定命令包的最大总执行时间。然后,在步骤S103,根据所述最大总执行时间,按照优先级的降序将所述多个命令分别打包到一个或多个所述命令包中。随后,在步骤S104,将所述一个或多个命令包发送给远程机,以便在远程机中执行。在实践中,在构造和更新云环境时,往往需要执行大量命令。不同的命令对于实时执行的要求不同,即,一些命令最好实时执行,而另一些命令可以不实时执行。考虑到这一点,在根据本专利技术的实施例的命令控制方法的以下示例实现方式中,将管理平台发出的命令区分为两类要实时执行的命令和不实时执行的命令。对于要实时执行的命令,不进行下文所述的调度处理,而是直接将其发送给远程机以便执行。对于不实时执行的命令,对其进行下文所述的处理,从而对这些命令的执行进行有效的调度。下面,参照图2来描述根据本专利技术实施例的命令控制方法的示例实现方式。如图2所示,在步骤S201,确定是否从管理平台接收到要在远程机上执行的命令。如果没有接收到命令,则该过程返回步骤S201。反之,如果接收到所述命令,则在步骤 S202,确定是否要实时执行该命令。可由发送该命令的管理平台预先指定是否要实时执行该命令,也可以根据要执行的命令的性质(例如,其要实现的功能或该命令的执行者等)或者其它因素来确定是否实时执行该命令。应当注意,如果该命令控制方法是由管理平台执行的,则可以不执行步骤S201。如果在步骤S202确定不实时执行该命令,则在步骤S203,确定该命令的执行结果是否已经存在。在构造和更新云环境的过程中,常常会多次执行相同的命令,并且当远程机执行了一个命令时,其将该命令的执行结果发送回命令控制器,使得该执行结果被暂存在命令控制器中,然后被返回给管理平台。由于从执行结果的暂存到返回之间存在一时间段,因此,为了避免向管理平台返回过旧的执行结果,对与每个执行结果相对应的命令设置失效时刻ET (expire time)本文档来自技高网
...

【技术保护点】
1.一种命令控制方法,用于控制多个命令在远程机上的执行,该命令控制方法包括:根据所述多个命令中的每一个命令的预定属性,确定该命令的优先级;根据远程机的当前工作负载,确定命令包的最大总执行时间;根据所述最大总执行时间,按照优先级的降序将所述多个命令分别打包到一个或多个所述命令包中;以及将一个或多个所述命令包发送给远程机。

【技术特征摘要】

【专利技术属性】
技术研发人员:操保华何乐金涬王庆波陈滢
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US

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

1