用于自动化操作管理的测试引擎制造技术

技术编号:28567976 阅读:15 留言:0更新日期:2021-05-25 18:05
公开了涉及计算机系统的操作管理的技术。计算机系统可以访问定义用于操作场景的命令集的操作信息。计算机系统可以访问要在目标计算机环境中使用的用于实现该操作场景的操作实体集的蓝图。该计算机系统可以实现目标计算机环境的操作场景。该实现可以包括执行控制器模块的层级结构,该控制器模块具有在层级结构的顶层处的协调器控制器模块,该协调器控制器模块可执行来通过向层级结构的下一层处的控制器模块发出指令来执行命令集。该层级结构可以包括控制器模块,该控制器模块可执行来根据相应的蓝图来管理该操作实体集,以便完成该操作场景,包括通过改变该操作实体集中的一个或多个的状态。

【技术实现步骤摘要】
【国外来华专利技术】用于自动化操作管理的测试引擎
技术介绍

本专利技术总体上涉及计算机系统的操作管理。现有技术描述历史上,管理系统,例如确保服务或平台正在运行并且可用,已经涉及执行各种运行列表(命令序列)。对于用户将运行列表的命令手动输入到命令行中来说,这样的运行列表通常很长并且耗时。最后,编写遍历整个运行列表的软件脚本,代替用户输入命令。但是,这些软件脚本通常会崩溃,从而使管理系统处于未知状态。结果,用户仍然必须通过确定系统的当前状态,然后将系统重置到软件脚本可以再次运行的状态来参与。此外,由于系统通常涉及多个子系统,所以必须维护和执行多个运行列表,每个运行列表具有它们自己的用于管理系统的步骤和方式。附图说明图1是示出根据一些实施例的能够管理操作实体的系统的示例元件的框图。图2是示出根据一些实施例的操作实体的示例元件的框图。图3A是示出根据一些实施例的用于操作实体的定义和蓝图的示例元件的框图。图3B是示出根据一些实施例的用于操作实体的实体描述符的示例元件的框图。图3C是示出根据一些实施例的操作实体的关系信息的示例元件的框图。图3D是示出根据一些实施例的示例操作实体的示例关系的框图。图4是示出根据一些实施例的控制器模块的示例元件的框图。图5和图6是示出根据一些实施例的涉及管理系统的操作实体的示例方法的流程图。图7是示出根据一些实施例的控制API的示例元件的框图。图8是示出根据一些实施例的路由引擎、路由层和可路由实体的示例元件的框图。图9和图10是示出根据一些实施例的涉及实现与操作实体相关联的指令的示例方法的流程图。图11-13是示出根据一些实施例的涉及路由与操作实体相关联的指令的示例方法的流程图。图14是示出根据一些实施例的工作流引擎的示例元件的框图。图15和16是示出根据一些实施例的涉及实现工作流的示例方法的流程图。图17是示出根据一些实施例的推理引擎的示例元件的框图。图18和图19是示出根据一些实施例的涉及生成工作流的示例方法的流程图。图20A和图20B是示出根据一些实施例的授权服务的示例元件的框图。图21是示出根据一些实施例的授权表的示例元件的框图。图22是示出根据一些实施例的由授权服务创建的令牌的示例元件的框图。图23是示出根据一些实施例的涉及授权服务的示例方法的流程图。图24是示出根据一些实施例的测试引擎的示例元件的框图。图25是示出根据一些实施例的涉及测试引擎的示例方法的流程图。图26是示出根据一些实施例的示例计算机系统的框图。本专利技术包括对“一个实施例”或“实施例”的引用。短语“在一个实施例中”或“在实施例中”的出现不必指同一实施例。具体的特征、结构或特性可以以符合本专利技术的任何合适的方式组合。在本专利技术内,可将不同实体(其可不同地称为“单元”,“电路”,其它组件等)描述或主张为“经配置”以执行一个或多个任务或操作。这种表达,配置为[执行一项或多项任务]的[实体],在这里用来指结构(例如,物理的东西,如电子电路)。更具体地,该表达用于指示该结构被布置为在操作期间执行一个或多个任务。可以说某结构被“配置成”执行某个任务,即使该结构当前没有被操作。“配置成经由网络通信的网络接口”旨在涵盖(例如)具有在操作期间执行此功能的电路的集成电路,即使讨论中的集成电路当前未使用(例如,电源未连接到其上)。因此,被描述或叙述为“配置成”执行某个任务的实体是指物理实体,诸如装置、电路、存储可执行以实现该任务的程序指令的存储器等。该短语在这里不用于指无形的东西。因此,“配置成”构造在本文中不用于指代软件实体,例如应用程序编程接口(API)。术语“配置成”并不意味着“可配置成”。例如,未编程的FPGA将不被认为是“配置成”执行某个特定功能,尽管它可以是“可配置成”执行该功能并且可以在编程之后“配置成”执行该功能。如在此所使用的,术语“第一”,“第二”等被用作它们在名词前面的标记,并且不暗示任何类型的排序(例如,空间的、时间的、逻辑的等),除非特别陈述。例如,在具有八个处理核的处理器中,术语“第一”和“第二”处理核可用于指八个处理核中的任何两个。换言之,例如,第一处理核和第二处理核不限于处理核0和1。如本文所用,术语“基于”用于描述影响确定的一个或多个因素。该术语不排除另外的因素可能影响确定的可能性。即,确定可以仅基于指定的因素或基于指定的因素以及其他未指定的因素。考虑短语“基于B确定A”。该短语指定B是用于确定A或影响A的确定的因素。该短语不预示A的确定也可以基于一些其他因素,例如C。该短语还旨在涵盖其中仅基于B来确定A的实施例。如本文所用,短语“基于”因此与短语“至少部分地基于”同义。具体实施方式一些开发人员不是使用从运行列表中输入命令的软件脚本,而是开始使用大型部署系统,例如来管理他们的系统。提供了一个以容器为中心的管理环境,用于自动化容器的部署和管理,这些容器是具有应用程序及其相关性的便携式、自给自足的单元。因此,开发者可以使用来部署包括例如数据库服务器的容器。然而,由于各种原因,利用管理整个系统是不完善的。被设计为在工作节点(例如,虚拟机)之上管理容器。例如,Kubernetes不能用于管理硬件或信息实体,例如逻辑数据库或配置规范。不提供可见性和/或控制容器内的所有东西。例如,无法与容器中实体化的数据库服务器连接。因此,单独使用无法实现管理目标,例如启动容器内的系统,排除这些系统的故障以及收集这些系统上的元数据。其他方法,例如与具有相同的缺陷,因为它们缺乏控制系统中可以找到的全部组件的能力。虽然在传统上管理系统非常困难,但测试这些系统或发生的故障排除问题同样困难。如前所述,当运行列表失败时,通常难以辨别系统的当前状态,因为运行列表不提供关于它在崩溃之前离开系统的状态的信息。另外,在必须被测试的系统内通常存在大量的复杂性。结果,如果由于系统的复杂性而被忽视,系统的某部分可能不被测试,并且那些被测试的部分可能没有被充分地测试。本专利技术描述了用于管理系统的技术,其克服了现有方法的一些或全部缺陷。在下面描述的各种实施例中,以正式的、结构化的方式描述系统内的操作实体(例如,数据库服务器、逻辑数据库等),并且随后由控制器模块管理。一般而言,系统内的许多操作实体是硬件或存储在硬件上的信息。如果操作实体仅仅是系统的物理的、有形的组件,则在本专利技术内将其称为“硬件实体”。物理服务器机架和刀片是硬件实体的示例。如果操作实体不是硬件,则它可以包括存储在硬件上的信息即数据。该信息可以是可执行的或不可执行的。可由系统执行以执行操作的信息在本专利技术内称为“软件实体”。数据库服务器实例、警报服务器实例和度量服务器实例是软件实体的示例。另一方面,在本专利技术内,不可执行的系统内的信息被称为“信息实体”(或可选地,“面向信息的实体”)。数据库备份镜像和包括用于多租户数据库的租户的数据的租户构造是信息实体的示例。这三种实体类型—本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n由计算机系统在具有包括控制器模块和操作实体的组件的层级结构的目标计算环境内实现操作场景,其中所述实现包括向所述目标计算环境内的组件发出命令集;/n由所述计算机系统接收已发出所述命令集中的特定一个命令的指示;以及/n响应于接收到所述指示,由所述计算机系统指示所述控制器模块之一相对于所述操作实体之一注入故障条件以测试所述目标计算环境。/n

【技术特征摘要】
【国外来华专利技术】20181203 US 62/774,811;20190430 US 62/840,8921.一种方法,包括:
由计算机系统在具有包括控制器模块和操作实体的组件的层级结构的目标计算环境内实现操作场景,其中所述实现包括向所述目标计算环境内的组件发出命令集;
由所述计算机系统接收已发出所述命令集中的特定一个命令的指示;以及
响应于接收到所述指示,由所述计算机系统指示所述控制器模块之一相对于所述操作实体之一注入故障条件以测试所述目标计算环境。


2.根据权利要求1所述的方法,进一步包括:
由所述计算机系统在注入所述故障条件之前收集关于所述目标计算环境的第一状态的元数据;
由所述计算机系统在注入所述故障条件之后收集关于所述目标计算环境的第二状态的元数据;以及
由所述计算机系统比较关于所述第一状态的元数据和关于所述第二状态的元数据以确定所述故障条件的影响。


3.根据权利要求2所述的方法,进一步包括:
根据所述收集的关于所述第一状态的元数据组装第一图形数据结构;
根据所述收集的关于所述第二状态的元数据组装第二图形数据结构;以及
其中所述比较包括将所述第一图形数据结构与所述第二图形数据结构进行比较。


4.根据权利要求1至3中任一项所述的方法,进一步包括:
由所述计算机系统执行发现操作以识别由所述控制器模块支持的可注入故障条件集;以及
基于所述特定发出命令,由所述计算机系统选择所述可注入故障条件集中的一个用于由所述指示的控制器模块进行注入。


5.根据权利要求4所述的方法,其中所述发现操作包括:
由所述计算机系统联系所述层级结构的协调器以确定一个或多个所述控制器模块的身份,其中所述协调器是向其他控制器模块发出命令的控制器模块。


6.根据权利要求5所述的方法,其中所述发现操作包括:
基于所述确定的身份由所述计算机系统向所述一个或多个控制器模块发送请求,所述请求要求所述一个或多个控制器模块识别由所述一个或多个控制器模块支持的可注入故障条件。


7.根据权利要求4至6中任一项所述的方法,进一步包括:
由所述计算机系统维护识别先前注入的故障条件的历史信息;以及
基于所述历史信息,由所述计算机系统确定所述可注入故障条件集中的每一个的相应差异分数,其中每个差异分数指示所述故障条件相对于所述先前注入的故障条件的差异;以及
其中基于所述确定的差值分数来选择用于注入的故障条件。


8.根据权利要求1至7中任一项所述的方法,进一步包括:
基于所述接收的指示,由所述计算机系统确定所述特定命令与更新处理相关联,以更新所述分层结构中的一个或多个组件;以及
由所述计算机系统选择故障条件以试图干扰所述更新处理。


9.根据权利要求8所述的方法,其中所述选择的故障条件包括结束在所述更新处理期间正被更新的操作实体的执行。


10.根...

【专利技术属性】
技术研发人员:M·F·怀尔丁
申请(专利权)人:易享信息技术有限公司
类型:发明
国别省市:美国;US

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

1