一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式计算网络中的数据平面API的制作方法

2023-02-02 01:56:01 来源:中国专利 TAG:

分布式计算网络中的数据平面api
1.本技术是申请日为2017年6月27日、申请号为“201780037925.5”、发明名称为“分布式计算网络中的数据平面api”的中国发明专利申请的分案申请。


背景技术:

2.在分布式计算服务环境(诸如云服务网络)中,用户具有对网络的物理或者逻辑层级的有限暴露。通常,用户经由接受用户的配置和管理命令的管理门户来访问账户。分布式计算网络然后通过云服务的堆栈酌情路由选择命令以配置和管理用户的资源。因此,无论何时用户需要执行任何配置或者管理动作,命令必须遍历从用户接口门户开始的整个云服务堆栈。


技术实现要素:

3.提供本发明内容以引入以在具体实施方式中下面进一步描述的简化形式的概念的选择。本发明内容不旨标识要求保护的主题的关键特征或基本特征,其也不旨在用于限制保护的主题的范围。
4.实施例提供在云服务堆栈的最低层执行的控制平面应用程序接口(api)。特别地,使用api尽可能精细地实现控制端点。例如,api可以使用服务器节点上的代理执行虚拟机(vm)层处的命令。这将允许在不必重新启动整个服务器节点的情况下使得vm循环。控制平面api还可以允许节点自我管理。
附图说明
5.为了进一步澄清本发明的实施例的以上和其他优点和特征,本发明的实施例的更特定描述将通过参考附图而被提供。将理解到,这些附图仅描绘本发明的典型的实施例并且因此将不被认为是对其范围的限制。本发明将通过使用附图利用附加特殊性和细节来描述和解释,其中:
6.图1是具有多个分布式节点的系统的高层块图。
7.图2是图示其中操作主要地应用的不同阶段期间发生的表。
8.图3是被配置在本地层处的节点的块图。
9.图4图示了具有被配置在本地层处的资源的节点。
10.图5是根据示例实施例的图示用于控制分布式计算系统中的资源的方法的流程图。
11.图6是使用如在此所公开的数据平面api来提供云计算服务或者分布式计算服务的示例数据中心的高层块图。
具体实施方式
12.图1是具有多个分布式节点101的系统100的高层块图。节点101可以表示例如单个数据中心或者多个数据中心中的服务器,其是云服务网络的一部分。节点101可以托管容器
102,其是用于可以托管应用逻辑的技术的种类的通用名称。例如,容器102可以托管存储装置103、网站104、虚拟机(vm)105或其他形式的封装。容器102是保持代码(例如,应用特定代码、vm代码、os代码等)的计算的单元。许多容器102可以在单个服务器节点上同时地运行并且容器可以从节点移动到节点。
13.节点101上的资源由数据中心租户(诸如云服务网络客户)来使用。为了访问节点101,用户访问全局门户106,其可以是例如为账户设置、维护和配置提供访问的基于网络的用户接口(ui)。门户106向用户提供对一个或多个区域控制器107的访问,其允许用户创建和配置资源。区域控制器107提供对一个或多个集群控制器108的访问,其控制被分配给用户的节点101。
14.为了部署容器102,租户选择主机的大小和数目,并且然后容器服务管理部署的细节。租户可以提供指定本地决策在容器中被允许的程度的模型(诸如按比例增加、按比例缩小、本地重启、允许网络准则、盘附接/拆除准则、容器运行大小选项等)。出于简化描述的目的,在此所图示的示例指代托管vm 105的容器102,但是将理解到,数据平面api可以由托管任何应用逻辑的容器102来使用。为了部署vm 105,例如,用户登录到门户106并且请求特定vm模型被部署(例如,vm模型可以指定参数诸如“运行不超过vm的x个副本、不少于vm的y个副本并且从n个副本开始”)。门户将指令转发给区域控制器107,其标识控制将托管vm的一组节点101的集群控制器108。集群控制器108然后指示节点101n加载vm 105。当经由门户106提供指令时,命令必须向下遍历整个堆栈到节点101。
15.图1的系统可以表示在多个数据中心中运行的虚拟软件定义的网络中的部件。网络的控制平面和数据平面可以跨数据中心而被分布。控制平面承载控制节点101上的应用和服务的部署和管理的命令分组。数据平面支持在其正在运行时应用的执行。图1是系统的高度简化图示。本领域的技术人员将理解到,控制平面中的任何数目的层被允许,并且包含本发明的系统不限于仅区域控制器和集群控制器。
16.图2是图示其中操作主要在应用的不同阶段期间发生的表。控制平面处理应用部署和拆图期间的大量操作。在应用的运行时期间,数据平面实际上处理所有操作。在现有系统中,为了控制或者管理节点101上的操作(诸如重新启动vm 105),指令必须向区域控制器107通过门户106或者经由指令109在堆栈之上被发起。响应于指令109,区域控制器107经由控制平面向集群控制器108生成指令,其然后将指令转发到控制平面上的节点101。节点101然后通过重新启动vm105来执行指令。类似地,集群级操作(诸如增加或者减小跨节点101的有效vm 105的数目)必须在现有系统中的门户106或区域控制器107层处被发起。
17.为了vm 105做出api调用109,vm将通常地要求来自数据中心的证书或其他授权以执行这样的操作。该证书与通常未被提供到运行系统的自由水平相关联。通过进入正常控制平面路径,应用将具有做出各种各样的改变的能力。这将使抵御系统上运行的失控服务(诸如限制可用于运行时期间的应用的扩展的vm的数目的不受控制的自主修理引擎)更困难。此外,要求所有vm控制和管理命令在控制平面之上发起向其执行添加延迟。
18.在此所公开的实施例允许节点101n或vm 105在数据平面层处生成本地api调用110来执行某些节点级操作。备选地,节点101a或者vm 105实现对集群控制器108的api调用111以执行某些集群级操作。这些api 110的使用避免不影响本地节点或者集群外部的服务的操作中的控制平面的参与。在现有系统中,针对配置改变的请求进入控制平面堆栈的顶
部,诸如针对初始数目的vm的指令(例如,“运行目标vm的n个副本”),并且那些指令被向下传递到控制平面以引起特定的一组节点上的新vm运行。除了初始目标之外,在此所公开的api通过指定允许的限制而与正常控制平面输入不同。在此所公开的数据平面api不要求遍历控制平面。相反,数据平面api调用本地做出并且授予针对有限本地决策的自由度。例如,数据平面api调用允许在定义目标资源的特定模型中指定的参数内的某些动作。这允许计算节点关于vm的扩展或者缩减在本地层处做出决策。数据平面api调用生成那些容器模型参数内的本地操作,诸如按比例增加、按比例缩小、本地重启、允许网络准则、盘附接/拆除准则、调整大小容器运行大小,等等。
19.以下示例图示了在不调用控制平面的情况下可以被提供给数据中心节点的本地管理的类型。
20.vm的自动清理。该操作可以被用于重新启动vm,其运行潜在地破坏软件,使得当其重新启动时vm已知不具有破坏软件或者状态中的任一个。需要重新启动并且清理vm的应用可以在节点层处调用自动清理api。应用制造引导vm重新启动的api调用,并且如果vm尚未在指定时段(例如,n分钟)内重新启动,那么api迫使vm重新启动。通过使这些陈述在节点层处可用,那么租户可以在不调用控制平面的情况下本地管理其vm池。此外,这些调用不必在堆栈的顶部被做出,其将要求在控制平面上将相关指令向下传播到堆栈。
21.远程vm的清理。这是以上自动清理api的变型。使用该api,在第一vm上运行的应用的第一vm或者实例可以迫使第二vm的清理重新启动。例如,一个vm上的本地工作队列管理器可以驱动与完成工作的其他vm的协调。
22.有限的按比例增加。该api允许租户启动新vm向上到预分配的限制。预分配的限制可以被定义例如在租户的账户中或在部署模型中,其给定在节点或集群层处执行有限操作的租户许可。
23.有限的按比例缩小。该api允许租户关闭vm向下到预分配的限制。
24.网络附接/拆除。该api允许租户在某些操作期间将vm附接到特定网络(诸如租户的虚拟网络)。这允许用户在需要时访问网络并且然后当完成时拆除而不必每次调用控制平面。
25.盘附接/拆除。该api允许租户根据需要将数据盘附接到vm并且然后当其不再被需要时将盘拆除。
26.调整大小。该api允许租户修改由容器模型定义的限制内的容器运行大小。
27.租户可能能够直接地从数据平面调用其他操作(诸如休眠和容器重新分配)。
28.这些api不要求数据中心的拓扑中的改变。取决于所调用的api,在数据中心拓扑内的适当层处调用操作。例如,可以在节点层处调用自动清理操作,并且可以在集群控制器层处调用扩大/缩小操作。
29.api调用是在不要求租户具有数据中心结构的知识的情况下所请求的操作的功能陈述。因此,租户不必定义操作应当如何被执行或者数据中心的哪些元件需要被包含在操作中。例如,vm或者在vm上运行的应用可以简单地请求自动清理api重新启动vm而不必标识数据中心中的特定服务器。即使vm已经移动或者如果数据中心的内部结构改变,这也允许租户实现这些操作。
30.图3是节点301的块图,其可以是数据中心中的特定服务器。操作系统302控制节点
301的操作。节点301托管多个vm 303,其通过内部总线或者接线服务器304与操作系统通信。vm 303可以通过接线服务器304对主机301做出本地请求。外部总线或者网络305允许节点与控制器306或者其他节点(未示出)通信。
31.在本地vm 303上运行的代码可以调用本地管理api(诸如在此所描述的那些)。例如,在特定vm 303上运行的代码可以调用自动清理api以请求节点301重新启动该vm。主机节点301可以然后本地进行动作以在不发出外部请求或者要求来自数据中心控制平面的指令的情况下重新启动vm。
32.图4图示了具有操作系统402的节点401。节点401正托管至少四个vm 403a-d。在所图示的示例中,vm1 403a正在管理被分配给节点401的作业。在正常操作期间,vm 403b-d在由vm1 403a分配的作业上工作。如果vm 403b-d之一停止对vm1 403a做出响应或者否则不适当地操作,那么vm1 403a可以向主机操作系统402发送api调用,请求失败的vm被重新启动。例如,如果vm3 403c停止对来自vm1 403a的网络分组做出响应或者未进行所分配的作业,那么管理vm可以请求vm3 403c被重新启动或者清理。如果vm1 403a和vm3 403c在相同的主机节点401上,那么该节点401可以然后本地决定是重新启动还是修改vm3 403c。
33.在备选实施例中,vm1和vm3可以在不同的主机节点或者服务器上,在该情况下来自vm1的api调用可以被路由到更高一层(诸如到监督这两个主机节点的集群控制器)。来自vm1 403a的api调用可以由主机节点操作系统转发或者可以自动地被路由到较高层,这取决于数据中心被配置为如何处理该类型的api调用。如果api调用被路由到较高层,那么集群控制器可以然后本地决定是否指示vm3的主机节点重新启动或者清理vm3。如相对于主机节点401所描述的,集群控制器还可以本地进行动作以在不发出外部请求或者要求来自数据中心控制平面的指令的情况下重新启动vm3。
34.图5是根据示例实施例的图示用于控制分布式计算系统中的资源的方法的流程图。分布式计算系统可以包括例如向用户提供资源的多个计算节点。分布式计算系统包括控制器的两层或更多层的层级,其经由控制平面将计算节点耦合到用户接口。在步骤501中,分布式计算系统接收定义待托管的vm或者其他容器应用逻辑的模型。模型可以指定例如本地决策在容器中被允许的程度(诸如按比例增加、按比例缩小、本地重启、允许网络准则、盘附接/拆除准则、容器运行大小选项等)。在步骤502中,门户将跨分布式计算系统的控制平面的vm部署指令转发给将托管vm的一个或多个节点或服务器。在步骤503中,在本地控制器(诸如集群控制器)的控制下,在节点上部署和运行vm。
35.在步骤504中,节点从vm或者在请求本地配置改变的vm上执行的应用接收本地api调用。在步骤505中,节点在不要求来自控制平面的命令的情况下,响应于本地api调用而对vm进行配置。响应于api调用,节点可以清理或者重新启动vm、清理或者重新启动另一vm、启动一个或多个新vm、关闭一个或多个vm、将vm附接到通信网络或者盘、将容器与通信网络拆除等。
36.图6是使用如在此所公开的数据平面api提供云计算服务或者分布式计算服务的示例数据中心600的高层块图。数据中心600可以包含在图1至图5中所公开的特征。多个服务器601由数据中心管理控制器602来管理。负载平衡器603通过网络601分发请求和工作量以避免其中单个服务器可能变得淹没的情况。负载均衡器603使数据中心600中的资源的可用容量和性能最大化。路由器/交换机604支持经由外部网络605服务器601之间和数据中心
600与外部资源和用户(未示出)之间的数据流量,所述外部网络605可以是例如局域网(lan)或者因特网。
37.服务器601可以是独立计算设备和/或其可以被配置为一个或多个服务器设备的机架中的个体刀片。服务器601具有输入/输出(i/o)连接器606,其管理与其他数据库实体的通信。每个服务器601上的一个或多个主机处理器607运行主机操作系统(o/s)608,其支持多个虚拟机(vm)609。每个vm 609可以运行其自身的o/s,使得服务器上的每个vm o/s160不同或者相同或者二者的混合。vm o/s 160可以是例如相同o/s的不同的版本(例如,不同的vm运行操作系统的不同的当前版本和旧版本)。附加地,或者备选地,vmo/s可以由不同的制造商提供(例如,一些vm运行操作系统,同时其他vm正运行操作系统)。每个vm 609还可以运行一个或多个应用(app)611。每个服务器601还包括存储装置612(例如,硬盘驱动器(hdd))和存储器613(例如,ram),其可以由主机处理器607和vm 609访问和使用以用于存储软件代码、数据等。在一个实施例中,vm 609可以采用如在此所公开的数据平面api。
38.数据中心600提供在其上客户或者租户可以根据需要动态地提供和缩放应用而不必添加服务器或者附加网络的池化资源。这允许租户获得其需要的计算资源,而不必在每应用的自组网基础上取得、提供并且管理基础设施。云计算数据中心600允许租户动态地按比例放大或按比例缩小资源以满足其商业的当前需要。此外,数据中心操作者可以将基于使用的服务提供到租户,使得当其需要使用他们时,其支付仅其使用的资源。例如,租户可以最初在服务器601-1上使用一个vm 609来运行其应用611。当针对应用611的需求增加时,数据中心600可以根据需要激活相同服务器601-1上和/或新服务器601-n上的附加vm 609。如果针对应用的需求稍后下降,则这些附加的vm 609可以被去激活。
39.数据中心600可以提供保证可用性、灾难恢复和备份服务。例如,数据中心可以指派服务器601-1上的一个vm 609作为用于租户的应用的主要位置,并且在第一vm或服务器601-1故障的情况下,可以激活相同或者不同的服务器上的第二vm 609作为备用或者备份。在不要求租户介入的情况下,数据库管理器602使输入用户请求从主要vm自动地移动到备份vm。虽然数据中心600被图示为单个位置,但是将理解到,服务器601可以被分布到跨全球的多个位置与提供附加冗余度和灾难恢复能力。此外,数据中心600可以是向单个企业用户提供服务的内部部署私有系统或者可以是向多个无关客户和租户提供服务的公开地可访问的分布式系统或者可以是两者的组合。
40.域名系统(dns)服务器614将域和主机名称解析为用于数据中心600中的所有角色、应用和服务的ip地址。dns日志615维持哪些域名已经由角色解析的记录。将理解到,dns在此被用作示例并且其他名称解析服务和域名记录服务可以被用于标识依存性。例如,在其他实施例中,ip或者分组测错、代码插装或者代码跟踪。
41.数据中心健康监测616监测数据中心600中的物理系统、软件和环境的健康。当利用数据中心600中的服务器、刀片、处理器或应用检测到问题时或者当网络带宽或通信问题出现时,健康监测616向数据中心管理器提供反馈。
42.访问控制服务617确定用户是否被允许访问云服务600上的特定连接和服务。目录和标识管理服务618认证用于云服务600上的租户的用户凭证。
43.示例分布式计算系统包括:多个计算节点,其用于向用户提供资源;以及控制器的
两层或更多层的层级,其经由控制平面将计算节点耦合到用户接口,其中至少一个计算节点从在至少计算节点上执行的代码接收本地api调用,api调动使得至少一个计算节点对本地资源进行配置,而不要求来自控制平面的命令。
44.在附加的实施例中,资源是由定义本地决策被允许的限制的模型指定的容器。
45.在附加的实施例中,容器模型定义虚拟机、特定应用或者操作系统。
46.在附加的实施例中,本地api调用使得计算节点自动清理运行代码的容器。
47.在附加的实施例中,本地api调用使得计算节点清理除了运行节点的容器之外的相同计算节点上的容器。
48.在附加的实施例中,本地api调用使得计算节点启动一个或多个新容器。
49.在附加的实施例中,本地api调用使得计算节点关闭一个或多个容器。
50.在附加的实施例中,本地api调用使得计算节点将容器附接到通信网络。
51.在附加的实施例中,本地api调用使得计算节点将容器附接到盘。
52.在附加的实施例中,本地api调用使得计算节点对可用于容器的运行空间调整大小。
53.在附加的实施例中,系统还包括集群控制器,其被耦合到两个或更多个计算节点,其中来自第一计算节点上的第一容器的本地api调用使得第二计算节点上的第二容器被清理。
54.在附加的实施例中,系统还包括集群控制器,其耦合到两个或更多个计算节点,其中来自第一计算节点上的第一容器的本地api调用使得第二计算节点上的第二容器启动。
55.一种用于控制分布式计算系统中的资源的示例方法被实现在计算机上并且包括:在分布式计算系统中的计算节点处从在计算节点上运行的应用接收本地api调用,并且响应于本地api调用,对本地资源进行配置,而不要求来自控制平面的命令。
56.在方法的其他实施例中,分布式计算系统包括用于向用户提供资源的多个计算节点,并且分布式计算系统包括控制器的两层或更多层的层级,其经由控制平面将计算节点耦合到用户接口。
57.在方法的其他实施例中,资源包括容器,并且应用包括在容器上执行的代码。
58.方法的其他实施例还包括:响应于api调用,对本地资源进行配置,而不要求来自控制平面的命令。
59.方法的其他实施例还包括:响应于api调用,自动清理容器。
60.方法的其他实施例还包括:响应于本地api调用,启动一个或多个新容器或者关闭一个或多个容器。
61.方法的其他实施例还包括:响应于本地api调用,将虚拟机附接到通信网络或者将容器与通信网络拆除。
62.方法的其他实施例还包括:响应于本地api调用,将容器附接到盘或者将容器与盘拆除。
63.虽然已经以特定于结构特征和/或方法动作的语言描述主题,但是将理解到,所附的权利要求中定义的主题不必限于上文所描述的特定特征或动作。相反,上文所描述的特定特征和动作被公开为实现权利要求的示例形式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献