配置管理执行的实时编辑的制作方法

未命名 08-06 阅读:101 评论:0


1.本公开总体上涉及计算机系统,并且更具体地,涉及在配置文件被执行时编辑配置文件。


背景技术:

2.诸如物理服务器、在物理服务器上运行的虚拟机或物理机和虚拟机的分布式系统的计算机系统可以运行多个应用。这些应用中的每一个以及底层操作系统和硬件可以具有被设计为影响硬件、操作系统和/或应用性能的各个方面的许多配置和配置参数。配置和它们各自的参数可以通过在本地或从主题计算机系统远程执行和控制的配置过程来建立。配置管理是一种系统工程过程,用于在系统的整个寿命期间建立和维护与系统及其用户的要求、设计和操作目标一致的系统的性能、功能和物理属性。配置管理工具(诸如配置管理软件(即,配置管理器))提供支持在本地化和分布式系统中的供应、配置管理、编排和应用部署的信息技术引擎。配置管理器能够设置配置、部署软件、控制所部署的硬件和软件的改变,以及监视和控制在本地化和分布式系统中执行这些功能的进程。


技术实现要素:

3.一方面,一种方法,包括:由处理设备使用引用任务序列的配置文件来执行配置过程;经由配置管理器接收编辑配置文件的命令;响应于接收到命令,暂停配置过程;修改任务序列中的一个或多个任务,以生成配置文件的经修改内容;和由处理设备使用配置文件的经修改内容来恢复配置过程。
4.另一方面,一种系统,包括:存储器;耦合到存储器的处理设备,该处理设备被配置成:使用引用任务序列的配置文件来启动配置过程的执行;经由配置管理器接收编辑配置文件的命令;响应于接收到命令,暂停配置过程;修改任务序列中的一个或多个任务,以生成配置文件的经修改内容;和使用配置文件的经修改内容,从执行暂停的点恢复配置过程。
5.另一方面,一种包括指令的非暂时性机器可读存储介质,指令在由处理设备访问时使处理设备:使用引用任务序列的配置文件来启动配置过程的执行;经由配置管理器接收指示编辑配置文件的命令;响应于接收到命令,暂停配置过程;修改任务序列中的一个或多个任务以生成配置文件的经修改内容;以及从执行被暂停的点开始,使用配置文件的经修改内容来恢复配置过程。
附图说明
6.本公开通过示例而非限制的方式示出,并且当结合附图考虑时,参考以下详细描述可以更全面地理解,其中:
7.图1描绘了根据本公开的一个或多个实施方式的示例计算机系统架构的高级框图;
8.图2描绘了根据一些实现方式的用于在配置过程的执行期间编辑配置文件的示例
方法的流程图;
9.图3描绘了根据一些实现方式的用于在配置过程的执行期间编辑配置文件的示例方法的流程图;
10.图4示出了根据一些实施方式的配置过程的示例文件的框图;
11.图5描绘了根据本公开的一个或多个实施方式的示例计算机系统的框图;以及
12.图6描绘了根据本公开的实施方式操作的说明性计算设备的框图。
具体实施方式
13.本文描述了用于在由配置文件中的指令控制的配置过程的执行期间编辑配置文件的方法和系统。配置过程可以设置或修改控制相应硬件、软件、应用、操作系统和/或虚拟机的各种操作方面的参数,可以采用配置过程来建立、管理和修改计算机系统的配置及其相应参数。
14.可以采用配置管理器来建立和修改一个或多个计算机系统的配置和配置参数。本文的计算机系统应指包括一个或多个处理器、一个或多个存储器设备和一个或多个输入/输出(i/o)接口的系统。在一个说明性示例中,计算机系统可以由运行操作系统和多个应用的服务器提供。这些应用、其底层操作系统、虚拟机和硬件中的每一个可以具有被设计为控制相应应用、虚拟机、操作系统和硬件的操作方面的各种配置和配置参数。配置参数的示例可以包括硬件配置参数、操作系统配置参数、虚拟机配置参数和应用配置参数。
15.配置管理器可以使用配置文件来建立、管理和改变一个或多个计算机系统上的配置和配置参数。这样的配置文件可以包含用于执行在一个或多个计算机系统上设置或修改配置参数的配置过程的指令。配置文件可以控制各种类型的配置过程,这些配置过程可以在多个计算机系统上实现配置和配置参数的设置或修改。设置或修改计算机系统的元件(例如,应用、虚拟机、操作系统、硬件等)的配置或配置参数在本文中可以被称为“配置动作”。例如,当数据中心中的一个或多个服务器可能需要与另一服务器的配置状态同步以进行数据中心范围的同步时,可以执行配置动作。在另一示例中,可以在计算机系统或一个或多个特定应用的升级期间执行配置动作,其中对从企业设置内的一组计算机系统中选择的计算机系统的子集做出若干配置改变。在另一实例中,配置动作可包含在一或多个计算机系统上执行各种配置修改,同时恢复一些配置以解决特定问题或找到问题的最佳解决方案。
16.因此,执行在配置文件中引用或由配置文件控制的配置过程可以涉及执行构成配置过程的多个任务。在一些情况下,因为配置过程被执行并且其组成任务在多个计算机系统上执行,配置过程可能是耗时的,并且可能需要大量的计算资源。在许多情况下,可以确定应该在配置过程的执行完成之前对配置过程做出改变。例如,在执行配置过程期间,可以确定附加任务应该被执行,任务之一不应该被执行,或者配置文件内的任务中的某些配置参数被错误地输入。在这种情况下,如果允许完全执行配置过程,则结果将包括在由配置过程配置的目标计算机系统上已经做出了不期望的配置。
17.对这种配置过程做出改变的一些方法需要完成配置过程,编辑配置文件,然后基于编辑的配置文件再次执行配置过程。其他方法涉及不管在当前的任何点处完全停止配置过程,并编辑配置文件,使得可以基于编辑重运行配置过程。然而,在这两种情况下,浪费了
时间、能量和计算资源,因为当重新执行经编辑的配置过程时,原本应该用适当的配置参数执行的配置和任务又被重新执行了。因此,这样的方法不仅花费更多时间并延迟配置的设置或修改,而且还增加了计算资源的负载和压力,使这些计算资源对其他进程不可用。在大部分配置过程在确定应该对配置过程做出改变时已经完成的情况下,这种方法的有害后果尤其明显。这种情况配置过程的大部分(例如,大量任务)需要在做出修改之后重新执行。
18.本公开的各方面通过提供使得配置进程能够在其执行的中间被编辑(即,使能配置进程执行的实时编辑)的技术来解决上述和其他缺陷。根据本公开的一个或多个实现方式,可以暂停配置过程,使得可以编辑包含用于执行配置过程的指令的配置文件,而无需停止或重新开始配置过程。在做出编辑之后,可以使用编辑的配置文件从暂停配置过程的点恢复配置过程。因此,可以根据对配置文件做出的修改来完成配置过程,而不需要从开始重新执行。
19.在一些实施方式中,配置管理器(cm)可以是使用配置文件在一个或多个目标计算机系统上执行配置过程的配置管理应用。cm可以在管理配置的计算机系统上执行,并且在本文中可以被称为控制机。控制机可以使用cm根据配置文件的指令在一个或多个物理或虚拟计算机系统上执行配置动作。配置文件可以包括用于执行可以在一个或多个计算机系统上顺序或并行(即,同时)执行的各种配置动作的指令。配置文件的指令可以被划分为被分组为任务组的任务。因此,任务包含包括配置过程的配置动作的指令。在一些实施方式中,配置文件可以是具有由包含一个或多个任务的剧本(play)表示的任务组的.yaml文件剧本集(playbook)。每个剧本(即,任务组)可以包含用于将在特定的一组目标计算机系统上执行的配置动作的指令。因此,cm可以在不同组的目标计算机系统上执行不同的剧本(即,执行与每个剧本内的相应任务相对应的配置动作)。因此,为了启动配置过程的执行,可以将配置文件(例如,剧本集)加载到cm中,使得cm可以开始执行任务的配置动作。cm可以根据任务组(例如,剧本)在一个或多个计算机系统上顺序地或并行地执行任务,每个任务组可以对应于特定的计算机系统集合。
20.在一些实施方式中,cm可以由图形用户界面(gui)操作,而在其他实施方式中,cm可以由控制机上的命令行界面(cli)操作。每个界面使用户能够发送由cm接收的命令,并从cm接收要查看的消息和其他数据。因此,在一些实施方式中,如果确定应该修改配置过程(即,要对配置文件做出改变),则可以使用cm的gui或cli输入编辑启动命令(例如,实时编辑命令)以编辑配置文件。在接收到命令时,cm可以在接收到命令时暂停配置过程的执行。然而,如果cm在接收到命令时处于执行任务的中间,则它可以完成任务的执行,并且此后立即暂停配置过程的执行,而不开始执行过程中的下一个任务。在一些实施方式中,cm可以在正在执行配置文件的gui或cli上显示消息,并且指示配置过程的执行被暂停并且配置文件被打开以供编辑。
21.cm可以连续地记录配置过程的状态(例如,配置过程的执行的进度状态)。因此,cm可以将执行暂停时的进度状态记录为与数据存储中的配置文件相关联的数据或元数据。在一些实施方式中,可以在配置文件内进行进度状态的记录。进度状态的记录可以包括已经完成的所有任务的指示、已经完成的最后一个任务的指示和/或在暂停配置过程的执行时要执行的下一个任务的指示。
22.在一些实施方式中,可以通过修改配置文件来改变配置过程。因此,如果在cm的一
个用户界面中正在运行配置过程并且正在监视其进度,则可以在cm的另一个界面中打开配置文件以进行编辑。编辑配置文件可以包括添加任务、移除任务、改变任务的顺序、修改一个或多个任务以及改变任务分组。例如,在一些实施方式中,编辑配置文件可以包括在剧本集的一个或多个剧本中对任务做出改变。
23.在完成修改后,可以使用cm的gui或cli输入编辑完成命令(例如,:wq、shift+zz)以结束配置文件的编辑。在一些实施方式中,在接收到编辑完成命令时,cm可以检查配置文件以确定是否做出了任何修改并确定是否需要在配置过程中实现任何改变。例如,可以将编辑之后的配置文件的内容与紧接在编辑的启动之前的文件的内容进行比较。cm还可以检查是否由于对配置文件的修改而引入了任何规则违反(例如,拼写或语法错误)。如果发现违规(即,错误),则cm可以经由gui或cli显示关于违规的消息(例如,指示存在错误或提示用户进行校正的消息)。在一些实施方式中,cm将不允许完成配置的编辑,直到违规被补救。当编辑完成时,配置文件的经修改内容可以保存在数据存储器中和/或加载到cm中。配置文件的经修改内容可以替换cm用于执行配置过程的配置文件的原始内容。
24.因此,cm可以使用配置文件的经修改内容来恢复配置过程的执行。cm可以参考状态的记录(例如,配置过程的执行的进度状态)以从配置过程被暂停的点恢复配置过程的执行。例如,cm可以根据状态的记录开始执行在完成的最后一个任务之后的任务。然后,cm可以根据配置文件的经修改内容完成配置过程中剩余任务的执行。
25.以这种方式,可以在执行配置过程的同时修改配置过程,而不需要重新开始执行整个配置过程。本公开的各种实施方式使得能够对控制配置过程的执行的配置文件的组成任务做出修改,同时消除重新执行已经完成的任务的需要。这些实现方式可以减少实现各种配置过程所需的时间,并且减少用于执行在其已经开始执行之后需要对其进行编辑的配置过程的计算资源的总量。因此,这使得能够更灵活地设计配置过程和相应的配置文件,因为可以在不需要重运行整个过程的情况下编辑它们。总的来说,本公开的实施方式可以减少由资源密集型过程消耗的计算资源,从而提高计算系统的性能和准确性。参考下面描述的图1-6可以更好地理解实施方式的这些和其他特征。为了提供各种实现的上下文和用于应用组件部署的分布式系统拓扑的确定,下面首先描述示例网络架构。
26.图1示出了实施例可以在其中操作的计算机系统100。应当注意,计算机系统100(在本文中也称为系统100)的其他架构是可能的,并且利用本公开的实施例的计算机系统的实现不一定限于图1所描绘的特定架构。贯穿本文档,诸如“机器”“设备”“计算机”“计算机系统”和“计算系统”的术语可以互换地且同义地使用。
27.计算机系统100可以包括单个计算机系统或布置在异构或同构组(例如,集群)中的多个计算机系统。计算机系统100可以包括一个或多个计算机系统,诸如根据本公开的一个或多个实施方式的计算机系统100a、100b、100c至100n。计算机系统100可以包括计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如,硬盘、存储器、数据库)、网络、软件组件和/或硬件组件,其可以用于使得能够通过本文讨论的实施例在配置过程的执行期间编辑配置过程。计算机系统100可以包括一个或多个虚拟机和一个或多个管理程序。在一些实施方式中,计算机系统100a-n可以位于单个物理位置(例如,数据中心),或者可以分布在多个不同的位置(例如,在不同的办公室中)。
28.计算机系统100a-100n中的每一个可以包括可通信地互连的硬件组件140,诸如中央处理单元(cpu)141、存储器143和输入/输出接口(i/o)145。这些硬件组件140可以提供用于执行计算任务的硬件功能。在本公开的一些实施方式中,计算机系统100可以包括附加的或不同的组件、设备和/或连接器。
29.一个或多个处理器可以体现为中央处理单元(cpu)141,其可以是微处理器、数字信号处理器(dsp)或其他处理组件。cpu 141可以处理各种接收的数据,并且可以执行代码或指令或一个或多个计算机程序,例如,以提供由指令指定的输入/输出操作。cpu 141可以包括能够执行本公开中描述的计算任务的一个或多个处理器。cpu 141可以是能够一次执行一个指令(例如,指令的单个流水线)的单核处理器,或者可以是同时执行多个指令的多核处理器。指令可以编码算术、逻辑或i/o操作(例如,编辑启动和经由i/o 145接收的启动命令)。在一个示例中,cpu 141可以被实现为单个集成电路、两个或更多个集成电路,或者可以是多芯片模块的组件(例如,其中各个微处理器管芯被包括在单个集成电路封装中并且因此共享单个插座)。
30.存储器143可以包括易失性存储器设备(例如,随机存取存储器(ram))、非易失性存储器设备(例如,闪存)、rom(只读存储器)、eeprom(电可擦除可编程只读存储器)和/或其他类型的存储器设备)和存储设备(例如,磁硬盘、通用串行总线[usb]固态驱动器、独立磁盘冗余阵列[raid]系统、网络附接存储[nas]阵列等)。
[0031]
i/o 145可以是和/或包括能够在处理器和能够输入和/或输出二进制数据的外部设备之间提供接口的设备。在一些实施方式中,i/o 145还包括cm的gui和/或cli。
[0032]
计算机系统100可以包括一个或多个存储库160。存储库160可以是能够存储配置文件164、任务166a-166n等的永久存储器。存储库160可以由一个或多个存储设备托管,例如主存储器、基于磁或光存储的磁盘、磁带或硬盘驱动器、nas、san等。尽管被描绘为与计算机系统100a-100n分离,但是在实现方式中,一个或多个储存库160可以是计算机系统100a-100n中的一个或多个的一部分。例如,储存库106可以是存储器143的数据存储。在一些实施方式中,存储库160可以是网络附接文件服务器,而在其他实施例中,存储库160可以是一些其他类型的持久性存储装置,诸如面向对象的数据库、关系数据库、非关系数据库等,其可以由服务器机器或经由网络150耦合到存储库160的一个或多个不同机器托管。
[0033]
在一些实施方式中,计算机系统100可以连接到网络150,网络150可以包括公共网络(例如,互联网)、专用网络(例如,局域网(lan)或广域网(wan))、有线网络(例如,以太网)、无线网络(例如,802.11网络或wi-fi网络)、蜂窝网络(例如,长期演进(lte)网络)、路由器、集线器、交换机、服务器计算机和/或其组合。计算机系统100a至100n可以经由网络150互连。
[0034]
cpu 141可以执行操作系统(os)120以及os 120的子程序和/或应用,以提供本文描述的各种特征和实施例。os 120可以支持驻留在计算机系统100上的一个或多个应用110。应用110可以包括例如用户应用进程、虚拟机、容器等。应用110可以通过网络150接收数据。os 120可以为应用110可以控制以执行其功能的资源(特别是cpu 141、存储器143和i/o设备145)提供抽象层。os 120可以通过进程间通信机制和系统调用使这些资源可用于应用110。可以存在与应用110、os 120以及与计算机系统100a-100n及其相应的硬件和软件组件(例如,应用、操作系统、虚拟机、硬件设备)相关联的各种配置和相应的配置参数。
[0035]
本公开的实施方式提供正在执行的配置过程的编辑。在一个示例中,os 120可以包括配置管理器130(例如,等)。配置管理器130可以包括在计算机系统100a-100n中的一个或多个中。例如,计算机系统100a可以包括配置管理器130并且可以被指定为控制机器。在一个示例中,配置管理器130可以仅包括在控制机器中,而不包括在其他计算机系统(例如,目标计算机系统)上。在一些实施方式中,配置管理器130(例如,)可以具有连接(例如,ssh访问)、读取和/或执行任何机器或计算机系统的任务的许可。在一些实施方式中,cm139可以仅对系统100中未被指定为控制机器的其他机器(例如,100b-100n)具有这样的许可。在其他实施方式中,配置管理器130(例如,)可以被包括在控制机器110a(例如,“主”)中并且还可以被包括在目标机器100b-100n(例如,“代理”)中以用于主代理通信。
[0036]
在一些实施方式中,cm 130可以加载配置文件134,配置文件134可以包含用于在一个或多个计算机系统100a-100n上执行配置过程的指令。配置文件134可以包括将作为通信过程的一部分执行的一个或多个任务136a-136n,并且可以各自对应于一个或多个配置动作。配置文件163的各种版本和副本可以被保存并存储在存储库160中,并且被加载以供cm 130使用。
[0037]
在一些实施方式中,cm 130可以接收命令并使用配置文件134启动配置过程。配置文件134可以包括任务组,每个任务组包括组成配置过程的任务集(例如,序列)。例如,配置文件134可以包括用于在一个或多个计算机系统(例如,每个远程计算机系统100b-100n)上执行配置过程任务136序列的指令。
[0038]
在配置过程的执行期间,cm 130可以(例如,经由i/o 145)接收命令(例如,编辑启动命令),该命令指示在cpu 141上运行的cm 130编辑配置文件134。响应于接收到命令(例如,编辑启动命令),cm 130可以暂停配置过程的执行。在一些实施方式中,cm可以在过程中接收到命令的点处暂停配置过程。在其他实施方式中,在接收到命令时,在暂停配置过程之前,cm 130可以完成执行在接收到命令时正在执行的任务(例如,剧本集中的剧本的任务)。在这些实施方式中,cm 130可以在完成接收到命令时正在执行的任何任务之后暂停配置过程的执行。
[0039]
在一些实施方式中,cm 130可以连续地监视和记录配置过程的状态(例如,配置过程的执行的进度状态)。在其他实施方式中,当暂停配置过程的执行时,cm 130可以记录配置过程的状态(例如,配置过程的执行的进度状态)。状态可以记录在配置文件中、另一文件中,或者作为与配置文件相关联的元数据,这些中的每一个可以记录在存储器143或储存库160中。在一些实施方式中,状态可以指示配置过程的任务序列中已经完成的所有任务;所述任务序列中最后完成的任务;和/或在配置过程的任务序列中要执行的下一任务。
[0040]
经由通过i/o 145的一个或多个用户交互,cm 130可以打开以编辑包含正在执行的配置过程的指令的配置文件。例如,当在cm 130的一个gui或cli中监视配置过程的状态(例如,配置过程的执行的进度状态)时,可以在cm 130的另一gui或cli中打开配置文件以进行编辑。经由通过i/o 145的一个或多个用户交互,cm 130可以通过修改配置文件的内容和/或生成修改的配置文件来对配置文件做出改变(例如,修改配置文件中引用的任务序列中的一个或多个任务)。例如,cm 130可以通过添加、移除或编辑一个或多个任务中的至少
一个以及通过改变它们在任务组内的顺序或分组来修改配置文件。在一些实施方式中,cm 130可以检查编辑是否导致与配置文件的原始内容不同的内容,并且检查配置文件的经修改内容的错误(例如,拼写和/或语法错误)。
[0041]
在一些实施方式中,cm 130可以保存配置文件164及其改变(例如,其经修改内容)并将其存储在储存库164中。cm 130可以加载具有经修改内容的配置文件164,并用配置文件164的经修改内容替换配置文件134的原始内容。通过参考状态的记录(例如,配置过程的执行的进度状态),cm 130可以使用具有经修改内容的配置文件从执行被暂停的点恢复配置过程的执行。例如,cm 130可以确定被执行的最后一个任务(例如,如状态记录中所指示的)并且启动配置过程中的下一个任务的执行。以这种方式,cm 130可以通过执行剩余任务(即,执行与配置过程的剩余任务相关联的配置动作)来完成在执行配置过程时编辑的配置过程的执行。
[0042]
在一些实施例中,cm 130可以是软件和硬件组件的组合。例如,cm 130可以包括结合图6描述的一个或多个组件,并且可以实现结合图2-图3描述的一个或多个方法。虽然根据上述环境描述了各种实施方式,但是功能可以在各种其他环境中实现,包括单个单片式计算机系统,以及以各种方式连接的虚拟机、计算机系统或类似设备的各种其他组合。例如,cm 130可以在计算机系统100a的虚拟机上运行,并且可以在计算机系统100b-100n上的一组虚拟和/或物理机器上执行配置过程。在一些实施方式中,cm 130可以包括比所示出的组件更多的组件,并且可以与计算系统100的其他cm 130一起操作。
[0043]
参考图2-图3描述用于编辑控制配置处理的配置文件的过程。图2描绘了根据一些实施方式的用于在执行其对应的配置过程期间编辑配置文件的示例方法200的流程图。图3描绘了根据一些实施方式的用于在执行其对应的配置过程期间编辑配置文件的示例方法300的流程图。方法200和方法300可以由处理逻辑执行,该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(例如,由通用计算机系统或专用机器执行的可执行代码)或两者的组合。方法300和方法400以及它们各自的功能、例程、子例程或操作中的每一个可以由执行该方法的计算机设备的一个或多个处理器来执行。在某些实施方式中,方法200和方法300可以各自由单个处理线程执行。可替代地,方法200和方法300可以由两个或更多个处理线程执行,每个线程执行该方法的一个或多个单独的功能、例程、子例程或操作。在说明性示例中,实现方法200和方法300的处理线程可以被同步(例如,使用信号量、关键区段和/或其他线程同步机制)。可替代地,实现方法200和方法300的过程可以相对于彼此异步地执行。
[0044]
为了简化说明,本公开的方法被描绘和描述为一系列动作。然而,根据本公开的动作可以以各种顺序和/或同时发生,并且与本文未呈现和描述的其他动作一起发生。此外,可能不需要所有示出的动作来实现根据所公开的主题的方法。应当理解,方法可以替代地经由状态图或事件表示为一系列相互关联的状态。另外,应当理解,本说明书中公开的方法能够存储在制品上,以便于将这些方法传输和传送到计算设备。如本文所使用的,术语“制品”旨在涵盖可以从任何计算机可读设备或存储器页面介质访问的计算机程序。在替代实施方式中,方法200和方法300的部分中的一些或全部可以由计算系统100、计算机系统500或设备600的组件中的一些或全部执行。应当注意,图2-3中描绘的框可以同时执行或以与所描绘的顺序不同的顺序执行。
[0045]
在一些实施方式中,在框202处,处理逻辑可以使用引用任务序列的配置文件来启
动配置过程的执行。处理逻辑可以加载配置文件并根据配置文件中的指令执行配置过程。配置文件可以包括处理逻辑可以执行的一个或多个任务,其对应于形成配置过程的一部分的配置动作。配置过程可以包括处理逻辑在一个或多个计算机系统上执行配置文件中所包括的一个或多个任务。
[0046]
当处理逻辑正在执行在框202处启动的配置过程时,处理逻辑可以在框204处接收编辑配置文件的命令(例如,编辑启动命令)。在一些实施方式中,该命令可以使处理逻辑打开配置文件以进行编辑。响应于接收到命令,处理逻辑可以在框208处在其接收到命令的执行配置过程的进度中的点处暂停配置过程的执行。另外,在一些实施方式中,在框206处,处理逻辑可以在暂停配置过程之前完成在接收到命令时正在执行的任务的执行(即,允许任务的执行完成)。
[0047]
在一些实施方式中,在框210处,处理逻辑可以记录指示最后完成的任务的配置过程的状态(例如,配置过程的执行的进度状态)。在其他实施方式中,处理逻辑可以连续地监视和记录配置过程的状态。在其他实施方式中,在框210处,处理逻辑可以在暂停配置过程的执行时记录配置过程的状态。处理逻辑可以将状态(例如,配置过程的执行的进度状态)记录在配置文件中、另一文件中或作为与配置文件相关联的元数据,并将其存储在数据存储库中。处理逻辑可以包括任务完成指示符,其指示(i)配置过程的任务序列中已经完成的所有任务;(ii)任务序列的最后完成的任务;(iii)和/或状态记录中的配置过程的任务序列中要执行的下一任务。然后,处理逻辑可以在稍后的时间参考状态的记录和所包括的任务完成指示符。
[0048]
在一些实施方式中,在框212处,处理逻辑可以修改配置文件中引用的任务序列中的一个或多个任务,以改变配置文件的内容(例如,生成配置文件的经修改内容)。在修改了配置文件的内容之后,在框212处,处理逻辑可以在框214处从执行被暂停的点开始使用配置文件的经修改内容来恢复配置过程的执行。因此,在框216处,处理逻辑可以基于配置文件的经经修改内容完成配置过程的执行(即,通过根据经经修改内容完成配置文件中的剩余任务的执行)。
[0049]
下面更深入地描述在框212处由处理逻辑编辑配置文件和在配置文件中生成经修改内容,以及在框214处恢复配置过程的执行。因此,参考图3的方法300更详细地描述了涉及改变配置文件的内容(例如,生成配置文件的经修改内容)和恢复配置过程的执行的操作。
[0050]
因此,在一些实施方式中,在框212处的任务的修改和配置文件的编辑可以导致处理逻辑在框380处改变配置文件的内容(例如,生成配置文件的经修改内容)。在框380处,由处理逻辑生成配置文件的经修改内容可以包括在框381处,处理逻辑通过添加、移除或编辑任务中的至少一个(例如,通过改变由任务的指令管理的配置动作的参数)或通过改变配置文件的任务组内的任务的顺序或分组(例如,通过改变剧本集的剧本内的任务的顺序或将任务重分组到不同的剧本集中)来编辑配置文件。在一些实施方式中,在框381处,处理逻辑可以响应于接收到用户输入来编辑配置文件以对一个或多个任务做出修改。
[0051]
然后,在框382处,处理逻辑可以确定是否对配置文件做出了任何改变。在一些实施方式中,为了确定是否对配置文件做出了改变,处理逻辑可以将正在编辑的配置文件的内容与紧接在编辑的启动之前存在的文件的内容进行比较。例如,可能已经进行和恢复了
编辑,或者在框381处做出的修改的组合可能已经导致编辑之后的配置文件的内容与编辑开始之前的修改文件的内容相同。在这种情况下,处理逻辑可以确定没有做出改变,并且不再继续进行,直到在框381处做出编辑,该编辑以导致编辑之后的配置文件的内容不同于编辑之前的配置文件的内容的方式修改配置文件。
[0052]
在一些实施方式中,在框383处,处理逻辑可以进一步确定在已经做出编辑之后配置文件中是否存在任何错误。为了做出该确定,处理逻辑可以检查配置文件是否具有可能已经由在框381中做出的修改引起的任何违规(例如,拼写或语法错误)。如果处理逻辑在框383处确定违反已经发生(即,存在错误),则处理逻辑可以在框384处生成错误通知。例如,处理逻辑可以在配置管理器中显示错误消息,或者向用户呈现提示以纠正错误(即,补救违规)。处理逻辑可以防止完成配置文件的编辑(即,要求配置文件保持打开以进行编辑),直到错误被纠正/补救。如果处理逻辑在框383处确定不存在违规/错误,则它可以在框385处继续保存具有经修改内容的配置文件。为了保存配置文件的经修改内容,处理逻辑可以在框385处将具有经修改内容的配置文件存储在数据存储库中和/或将其加载到配置管理器中。在框385处,通过将配置文件的经修改内容加载到配置管理器中,处理逻辑还用配置文件的经修改内容替换配置文件的原始内容。
[0053]
因此,在一些实施方案中,在对应于方法200的框214的框390处,处理逻辑可使用配置文件的经修改内容恢复配置过程的执行。由处理逻辑恢复配置过程的执行可以包括处理逻辑在框392处启动在记录状态(例如,配置过程的执行的进度状态)中指示的最后完成的任务之后的下一任务的执行。例如,处理逻辑可以参考记录的状态以确定配置文件中的任务序列中完成的最后一个任务,并开始执行紧接的后续任务。此后,在方法200的框216处,处理逻辑可以完成配置过程的执行。
[0054]
在本文描述的各种实施方式中,配置文件可以采取不同的形式,并且具有以各种方式编码的包括在其中的任务。在图4中提供了一个这样的示例,图4描绘了根据本公开的一些实现的配置过程的示例文件(即,配置文件)的框图。在一些实施方式中,cm 130使用配置文件来执行配置过程。为了控制配置过程的配置动作的执行,配置文件494可以具有被一起分组为任务组495a-495m的多个任务496a-496n(每个任务可以对应于一个或多个配置动作)。在一个示例中,cm 130(例如,)可以基于任务496a-496n(例如,命令、指令、可执行代码等)来执行配置过程,任务496a-496n被分组为剧本(即,任务组、有序任务集任务组495a-495m),这些任务496a-496n被收集以形成剧本集(即,包含一个或更多个剧本的配置文件494)。在示例中,每个剧本可以包括与某种类型的计算机系统相关的任务或以计算系统架构中的特定计算设备集合为目标的任务。尽管未在图3中描绘,但是可以存在多个配置文件(例如,剧本集)并由cm 130使用。
[0055]
图5描绘了根据本公开的一个或多个方面操作的计算机系统500的框图。计算机系统500可以与图1的计算机系统100a-100n相同或相似,并且可以包括一个或多个处理设备和一个或多个存储器设备。在所示的示例中,计算机系统500可以包括配置执行模块510、错误检测模块515、配置过程执行状态监视模块520和配置文件编辑模块530。
[0056]
跟踪模块510可以使得处理设备能够加载包含用于执行配置过程的指令的配置文件564并且根据指令来执行配置过程。配置文件可以与其他信息一起存储在诸如数据存储的存储器设备中,并且可以包括一个或多个任务566a-566n。配置进程执行状态监视模块
520可以使得处理设备能够监视和记录配置进度的执行的进度。例如,配置过程执行状态监视模块520可以使得处理设备能够在配置过程正在被执行时记录任务566a-566n中的哪一个已经完成。
[0057]
配置文件编辑模块530可以使处理设备能够打开和编辑配置文件564。在一些实施方式中,配置文件编辑模块530可以修改配置文件564中处理设备的任务566a-566n。配置文件编辑模块530可以与错误检测模块515一起工作,以确定当配置文件564在被保存在存储器设备上之前被修改/编辑时,配置文件564中是否存在任何违规(例如,存在任何错误)。
[0058]
图6描绘了根据本公开的一个或多个方面操作的计算机系统的框图。在各种说明性示例中,计算机系统600可以对应于图1的计算机系统100。计算机系统可以包括在支持虚拟化和分布式计算的数据中心内。数据中心内的虚拟化导致使用虚拟机来虚拟化物理系统,以整合数据中心基础设施并提高操作效率。虚拟机(vm)可以是计算机硬件的基于程序的仿真。例如,vm可以基于计算机架构和与硬盘或其他这样的存储器相关联的计算机硬件资源的功能来操作。vm可以模拟物理计算环境,但是对硬盘或存储器的请求可以由计算设备的虚拟化层管理,以将这些请求转换为底层物理计算硬件资源。这种类型的虚拟化导致多个vm共享物理资源。
[0059]
在某些实施方式中,计算机系统600可以连接(例如,经由网络,诸如局域网(lan)、内联网、外联网或互联网)到其他计算机系统。计算机系统600可以在客户端-服务器环境中以服务器或客户端计算机的能力操作,或者在对等或分布式网络环境中作为对等计算机操作。计算机系统600可以由个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器、或能够执行指定要由该设备采取的动作的一组指令(顺序的或以其他方式)的任何设备提供。此外,术语“计算机”应包括单独或联合执行一组(或多组)指令以执行本文所述的方法的任何一种或多种的计算机的任何集合。
[0060]
在另一方面,计算机系统600可以包括处理设备602、易失性存储器604(例如,随机存取存储器(ram))、非易失性存储器606(例如,只读存储器(rom)或电可擦除可编程rom(eeprom))和数据存储设备616,它们可以经由总线608彼此通信。
[0061]
处理设备602可以由一个或多个处理器提供,诸如通用处理器(诸如例如,复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、实现其他类型的指令集的微处理器或实现指令集类型的组合的微处理器)或专用处理器(诸如例如,专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)或网络处理器)。
[0062]
计算机系统600还可以包括网络接口设备622。计算机系统600还可以包括视频显示单元610(例如,lcd)、字母数字输入设备612(例如,键盘)、光标控制设备614(例如,鼠标)和信号生成设备620。数据存储设备616可以包括非暂时性计算机可读存储介质624,其上可以存储编码本文中所描述的方法或功能(例如,方法200、300)中的任何一个或多个的指令626,这些指令包括用于实施配置管理器130的指令。指令626还可以在由计算机系统600执行期间完全或部分地驻留在易失性存储器604内和/或处理设备602内,因此,易失性存储器604和处理设备602还可以构成机器可读存储介质。
[0063]
虽然计算机可读存储介质624在说明性示例中被示出为单个介质,但是术语“计算
机可读存储介质”应包括存储一组或多组可执行指令的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应包括能够存储或编码一组指令以供计算机执行的任何有形介质,所述指令使计算机执行本文所述的任何一种或多种方法。术语“计算机可读存储介质”应包括但不限于固态存储器、光学介质和磁性介质。
[0064]
其他计算机系统设计和配置也可以适合于实现本文描述的系统和方法。以下示例示出了根据本公开的一个或多个方面的各种实施方式。
[0065]
尽管以特定顺序示出和描述了本文的方法的操作,但是可以改变每种方法的操作的顺序,使得某些操作可以以相反的顺序执行,或者使得某些操作可以至少部分地与其他操作同时执行。在某些实施方式中,不同操作的指令或子操作可以是间歇和/或交替的方式。在某些实施方式中,并非需要执行本文方法的所有操作或子操作。
[0066]
应当理解,以上描述旨在是说明性的而非限制性的。在阅读和理解以上描述后,许多其他实施方式对于本领域技术人员将是显而易见的。因此,本公开的范围应当参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。
[0067]
在以上描述中,阐述了许多细节。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践本公开的各方面。在一些情况下,以框图形式而不是详细地示出了公知的结构和设备,以避免模糊本公开。
[0068]
除非另有具体说明,否则如从以下讨论中显而易见的,应当理解,在整个说明书中,利用诸如“接收”“识别”“显示”“获得”“创建”“生成”“映射”等术语的讨论是指计算机系统或类似的电子计算设备的动作和过程,该计算机系统或类似的电子计算设备将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵并转换为类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据。
[0069]
本公开还涉及一种用于执行本文的操作的装置。该装置可以为特定目的而专门构造,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘(包括软盘、光盘、cd-rom和磁光盘)、只读存储器(rom)随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、或适于存储电子指令的任何类型的介质,每个都耦合到计算机系统总线。
[0070]
本文呈现的本公开的各方面并非固有地与任何特定计算机或其他装置相关。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专用的装置来执行指定的方法步骤是方便的。各种这些系统的结构将如下面的描述中所阐述的那样出现。另外,不参考任何特定编程语言来描述本公开的各方面。应当理解,可以使用各种编程语言来实现如本文所述的本公开的教导。
[0071]
本公开的各方面可以被提供为计算机程序产品,该计算机程序产品可以包括其上存储有指令的机器可读介质,该指令可以用于对计算机系统(或其他电子设备)进行编程以执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光学存储介质、闪存设备等)。
[0072]
词语“示例”或“示例性”在本文中用于表示用作示例、实例或说明。本文中描述为“示例”或“示例性”的任何方面或设计不应被解释为比其他方面或设计优选或有利。相反,词语“示例”或“示例性”的使用旨在以具体的方式呈现概念。如本技术中所使用的,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另有说明或从上下文中清楚,否则“x包括a或b”旨在表示任何自然的包含性排列。也就是说,如果x包括a;x包括b;或者x包括a和b两者,则在任何前述情况下满足“x包括a或b”。此外,本技术和所附权利要求中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”,除非另有说明或从上下文中清楚地指向单数形式。此外,贯穿全文使用术语“实施例”或“一个实施例”或“实施方式”或“一个实施方式”并不旨在表示相同的实施例或实施方式,除非如此描述。此外,如本文所使用的术语“第一”“第二”“第三”“第四”等意指作为在不同元件之间进行区分的标签,并且可以不具有根据它们的数字标记的序数含义。

技术特征:
1.一种方法,包括:由处理设备使用引用任务序列的配置文件来执行配置过程;经由配置管理器接收编辑配置文件的命令;响应于接收到命令,暂停配置过程;修改任务序列中的一个或多个任务,以生成配置文件的经修改内容;和由处理设备使用配置文件的经修改内容来恢复配置过程。2.根据权利要求1所述的方法,进一步包括:响应于接收到命令,完成任务序列的当前任务。3.根据权利要求2所述的方法,进一步包括:在修改所述一个或多个任务之前记录所述配置过程的状态,其中所述状态指示所述任务序列中最后完成的任务。4.根据权利要求3所述的方法,其中,由所述处理设备恢复所述配置过程包括:在记录状态中指示的最后完成的任务之后,启动下一个任务的执行。5.根据权利要求1所述的方法,进一步包括:在恢复配置过程之前,保存配置文件的经修改内容,并用配置文件的经修改内容替换配置管理器中的配置文件的原始内容。6.根据权利要求1所述的方法,其中所述配置文件包含用于在多个远程计算机系统的每个计算机系统上执行任务序列的指令。7.根据权利要求1所述的方法,其中修改所述任务序列中的一个或多个任务以生成修改的配置文件包括:通过执行添加、移除和编辑一个或多个任务中的至少一个任务中的至少一个来编辑配置文件;和检查配置文件的经修改内容是否有错误。8.一种系统,包括:存储器;耦合到所述存储器的处理设备,所述处理设备被配置成:使用引用任务序列的配置文件来启动配置过程的执行;经由配置管理器接收编辑配置文件的命令;响应于接收到命令,暂停配置过程;修改任务序列中的一个或多个任务,以生成配置文件的经修改内容;和使用配置文件的经修改内容,从执行暂停的点恢复配置过程。9.根据权利要求8所述的系统,其中,所述处理设备还被配置成:响应于接收到命令,完成任务序列中的当前任务。10.根据权利要求9所述的系统,其中,所述处理设备还被配置成:在修改所述一个或多个任务之前,记录所述配置过程的状态,其中所述状态指示所述任务序列中最后完成的任务。11.根据权利要求10所述的系统,其中,恢复所述配置过程包括:启动在所述已记录状态中指示的所述最后完成的任务之后的下一任务的执行。12.根据权利要求8所述的系统,其中,所述处理设备还被配置为:
在恢复所述配置过程之前,保存所述配置文件的所述经修改内容,并用所述配置文件的所述经修改内容替换所述配置管理器中的所述配置文件的原始内容。13.根据权利要求9所述的系统,其中,所述配置文件包含用于在多个远程计算机系统中的每个计算机系统上执行所述任务序列的指令。14.根据权利要求8所述的系统,其中,所述处理设备还被配置为:通过添加、移除或编辑所述一个或多个任务中的至少一个来编辑所述配置文件;以及检查配置文件的经修改内容是否存在错误。15.一种包括指令的非暂时性机器可读存储介质,所述指令在由处理设备访问时使所述处理设备:使用引用任务序列的配置文件来启动配置过程的执行;经由配置管理器接收指示编辑所述配置文件的命令;响应于接收到所述命令,暂停所述配置过程;修改所述任务序列中的一个或多个任务以生成所述配置文件的经修改内容;以及从所述执行被暂停的点开始,使用所述配置文件的所述经修改内容来恢复所述配置过程。16.根据权利要求15所述的非暂时性机器可读存储介质,其中,所述指令还使得所述处理设备:响应于接收到所述命令,完成所述任务序列的当前任务。17.根据权利要求16所述的非暂时性机器可读存储介质,其中,所述指令还使得所述处理设备:在修改所述一个或多个任务之前记录所述配置过程的状态,其中所述状态指示所述任务序列中的最后完成的任务。18.根据权利要求17所述的非暂时性机器可读存储介质,其中,恢复所述配置过程包括:启动在所述已记录状态中指示的所述最后完成的任务之后的下一任务的执行。19.根据权利要求15所述的非暂时性机器可读存储介质,其中,所述指令还使得所述处理设备:保存所述配置文件的所述经修改内容,并且在恢复所述配置过程之前用所述配置文件的所述经修改内容替换所述配置管理器中的所述配置文件。20.根据权利要求15所述的非暂时性机器可读存储介质,其中,所述指令还使得所述处理设备:通过添加、移除或编辑所述一个或多个任务中的至少一个来编辑所述配置文件;以及检查配置文件的经修改内容是否存在错误。

技术总结
用于在执行配置过程期间编辑配置文件的系统和方法可以包括使用引用任务序列的配置文件启动配置过程,并接收编辑配置文件的命令。它们还可包括响应于接收到命令,暂停配置过程并修改任务序列中的一个或多个任务以生成修改的配置文件。它们还可以包括使用修改的配置文件从执行被暂停的点恢复配置过程。配置文件从执行被暂停的点恢复配置过程。配置文件从执行被暂停的点恢复配置过程。


技术研发人员:A.布雷格曼 I.格什特
受保护的技术使用者:红帽公司
技术研发日:2022.04.15
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐