当前位置: 首页 > 专利查询>红帽公司专利>正文

使用Java注释生成服务级别目标规范制造技术

技术编号:37635311 阅读:15 留言:0更新日期:2023-05-20 08:55
一般描述了用于使用注释生成SLO规范的系统和方法。在各种示例中,接收与第一计算机实现的服务相关联的第一源代码。在各种情况下,可以接收第一源代码中的第一注释。第一注释可以包括定义SLO规范的名称的第一元数据。可以接收第一源代码中的第二注释。第二注释可以包括定义第一计算机实现的服务的第一方面的服务级别目标(SLO)的第二元数据。在一些情况下,可以使用第一源代码来执行第一计算机实现的服务。在各种示例中,可以基于第一注释和第二注释生成SLO规范。注释生成SLO规范。注释生成SLO规范。

【技术实现步骤摘要】
使用Java注释生成服务级别目标规范


[0001]本公开的各个方面涉及使用Java注释生成服务级别目标规范。

技术介绍

[0002]诸如软件开发者和网络服务开发者等计算服务的提供商经常与客户签订服务级别协议(service

level agreement,SLA)。SLA是对提供服务的某些商定方面的承诺。例如,SLA可以定义服务的可用性、质量的特定级别,和/或可以定义服务的各种角色和责任。SLA通常包括服务级别目标(service

level objective,SLO)。虽然SLA是指定要提供的服务、如何支持服务、责任等的总体协议,但SLO定义了SLA的具体可测量的特征。例如,SLO可以包括一个或多个服务质量(quality of service,QoS)测量,其可以定义吞吐量、质量、可用性等的最低级别。SLO规范可以是机器可读的文档,其可以定义服务的SLO,并且可以被其他软件/系统摄取,以便验证SLO被满足和/或监控性能。

技术实现思路

[0003]本公开提供用于使用注释生成SLO规范的新的和创新的系统、方法和装置。在示例中,可以接收与第一计算机实现的服务相关联的第一源代码。在各种情况下,可以接收第一源代码中的第一注释。第一注释可以包括定义SLO规范的名称的第一元数据。在各种示例中,可以接收第一源代码中的第二注释。第二注释可以包括定义第一计算机实现的服务的第一方面的服务级别目标(SLO)的第二元数据。在一些示例中,可以使用第一源代码来执行第一计算机实现的服务。在各种示例中,可以基于第一注释和第二注释生成SLO规范。在各种情况下,SLO规范可以包括该名称和第一计算机实现的服务的第一方面的SLO的定义。
[0004]在另一示例中,系统可以包括至少一个处理器和非暂时性计算机可读存储器。非暂时性计算机可读存储器可以存储指令,该指令在由至少一个处理器执行时被配置为接收定义第一计算机实现的服务的第一源代码。非暂时性计算机可读存储器可以存储指令,该指令在由至少一个处理器执行时被配置为接收第一源代码中的第一注释,第一注释包括定义SLO规范的名称的第一元数据。指令在由至少一个处理器执行时可以进一步被配置为接收第一源代码中的第二注释,第二注释包括定义第一计算机实现的服务的第一方面的服务级别目标(SLO)的第二元数据。在一些示例中,该指令在由至少一个处理器执行时可以进一被配置为使用第一源代码执行第一计算机实现的服务。在各种示例中,该指令在由至少一个处理器执行时可以进一步被配置为基于第一注释和第二注释生成SLO规范。SLO规范可以包括该名称和第一计算机实现的服务的第一方面的SLO的定义。
[0005]在又一个示例中,可以描述另一个系统。该系统可以包括集成开发环境。在一些示例中,系统可以包括编译器。在其他示例中,系统可以包括注释处理器。在一些情况下,集成开发环境可以有效于接收与第一计算机实现的服务相关联的第一源代码。在各种示例中,集成开发环境可以进一步有效于接收第一源代码中的第一注释,第一注释包括定义SLO规范的名称的第一元数据。在一些示例中,集成开发环境可以进一步有效于接收第一源代码
中的第二注释,第二注释包括定义第一计算机实现的服务的第一方面的服务级别目标(SLO)的第二元数据。在各种示例中,编译器可以有效于编译第一源代码以生成用于第一计算机实现的服务的可执行代码。在一些其他示例中,注释处理器可以有效于从第一源代码接收第一注释。在一些示例中,注释处理器可以进一步有效于从第一源代码接收第二注释。在其他示例中,注释处理器可以有效于基于第一注释和第二注释生成SLO规范。SLO规范可以包括该名称和第一计算机实现的服务的第一方面的SLO的定义。
[0006]所公开的方法和装置的附加特征和优点在以下详细描述和附图中描述并且将从以下详细描述和附图中变得明显。
附图说明
[0007]图1是根据本公开的各种示例的被配置为与集成开发环境通信的OpenSLO生成器的框图。
[0008]图2是图示根据本公开的示例的用于使用注释生成OpenSLO规范的示例过程的流程图。
[0009]图3是图示根据本公开的示例的用于使用注释处理器生成OpenSLO规范的示例过程的流程图。
[0010]图4图示了根据本公开的各个方面的使用注释的OpenSLO规范的示例生成的流程图。
[0011]图5图示了根据本公开的各个方面的使用使用注释生成的OpenSLO规范来测试计算机实现的服务的示例的流程图。
[0012]图6是根据本公开的示例有效于使用注释生成OpenSLO规范的系统的块图。
[0013]图7是根据本公开示例的与集成开发环境通信的注释处理器的块图。
具体实施方式
[0014]OpenSLO是一种开源服务级别目标(SLO)语言,它使用YAML规范以声明方式定义了可靠性和性能目标。SLO包括允许组织确定如何创建、操作和运行基于云的服务和/或应用的计算机实现的服务的各个方面的可靠性目标。SLO是用于设置计算机实现的服务的操作预期的重要度量。SLO规范是一种标准化的机器可读定义格式,用于为给定的计算机实现的服务定义SLO。标准化的SLO规范的示例是Nobl9等发布的OpenSLO规范。由于OpenSLO规范和其他SLO规范以标准化的、与供应商无关的方式定义SLO(不包括特定于平台的细节),因此OpenSLO规范可以很容易地被其他系统摄取并用于以编程方式监控SLO所属的计算机实现的服务的性能。本文描述的各种技术可以与任何SLO规范结合使用。然而,为简洁起见,下文将出于说明的目的引用OpenSLO规范。
[0015]但是,目前无法在SLO所属的底层计算机实现的服务的代码级别处自动生成OpenSLO规范。因此,OpenSLO文档由开发者手动生成。生成OpenSLO文档可能是一项繁琐且耗时的操作。此外,随着对底层服务做出更改,此类文档可能会随着时间的推移而过时。开发者通常需要访问这些OpenSLO文档,以确保他们的代码按照OpenSLO文档定义的SLO执行良好。开发者通常需要随着时间的推移维护他们的应用。但是,随着应用的代码的更改,手动生成的OpenSLO文档可能会变得陈旧(例如,如果未对OpenSLO文档进行对应的更新)。在
一些示例中,OpenSLO文档可以由软件测试组件以编程方式摄取以监控服务的性能。但是,如果使用陈旧的OpenSLO文档,则测试可能会导致执行错误的测试,从而浪费CPU计算时间、带宽、存储器和/或功率。在计算机实现的服务的源代码级别处缺乏以编程方式生成OpenSLO文档的可用性是一个技术问题,它可能导致服务与该服务的可靠性和性能目标之间的脱节。
[0016]本文描述的是可用于使用源代码中的注释自动生成OpenSLO规范(例如,OpenSLO文档)的技术解决方案(例如,系统和技术)。例如,Java注释可用于用逻辑地映射到OpenSLO规范中定义的等效字段的注释值对Java服务接口进行注释。OpenSLO规范的编本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:接收与第一计算机实现的服务相关联的第一源代码;接收第一源代码中的第一注释,第一注释包括定义SLO规范的名称的第一元数据;接收第一源代码中的第二注释,第二注释包括定义第一计算机实现的服务的第一方面的服务级别目标(SLO)的第二元数据;使用第一源代码执行第一计算机实现的服务;以及基于第一注释和第二注释生成SLO规范,SLO规范包括所述名称和第一计算机实现的服务的第一方面的SLO的定义。2.根据权利要求1所述的方法,其中第一注释和第二注释为Java注释。3.根据权利要求1所述的方法,还包括编译第一源代码,其中在第一源代码的编译期间使用第一元数据和第二元数据生成SLO规范。4.根据权利要求3所述的方法,其中注释处理器在第一源代码的编译期间生成SLO规范。5.根据权利要求1所述的方法,还包括在第一源代码中生成第三注释,第三注释包括定义统一资源定位符(URL)的第三元数据,SLO规范在统一资源定位符处发布。6.根据权利要求1所述的方法,还包括:使用至少一个脚本为第一计算机实现的服务生成第一负载;由至少一个脚本接收SLO规范作为输入;确定描述第一计算机实现的服务的第一方面的性能的第一度量数据;以及将第一度量数据与第一计算机实现的服务的第一方面的SLO进行比较。7.根据权利要求6所述的方法,还包括:使用至少一个脚本确定第一度量数据不满足SLO;以及生成指示第一度量数据不满足SLO的第一输出数据。8.根据权利要求1所述的方法,还包括使用第一元数据生成SLO规范中的第一YAML描述符。9.根据权利要求1所述的方法,其中SLO规范包括用于定义服务级别目标(SLO)的标准化定义。10.根据权利要求1所述的方法,其中第二元数据逻辑地映射到与第一计算机实现的服务的第一方面相关联的SLO规范的字段。11.一种系统,包括:至少一个处理器;以及存储指令的非暂时性计算机可读存储器,所述指令在由所述至少一个处理器执行时被配置为:接收定义第一计算机实现的服务的第一源代码;接收第一源代码中的第一注释,第一注释包括定义SLO规范的名称的第一元数据;接收第一源代码中的第二注释,第二注释包括定义第一计算机实现的服务的第一方面的服务级别目标(SLO)的第二元数据;使用第一源代码执行第一计算机实现的服务;和基于第一注释和第二注释生成SLO规范,SLO规范包括所述名称和第一计算机实现的服
...

【专利技术属性】
技术研发人员:P安蒂诺里E维特曼
申请(专利权)人:红帽公司
类型:发明
国别省市:

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

1