公开/公告号CN117857358A
专利类型发明专利
公开/公告日2024-04-09
原文格式PDF
申请/专利权人 联洋国融(北京)科技有限公司;
申请/专利号CN202311508946.4
发明设计人
申请日2023-11-13
分类号H04L41/0896;H04L67/10;H04L67/141;H04L67/133;
代理机构北京华清迪源知识产权代理有限公司;
代理人丁彦峰
地址 100029 北京市西城区北三环中路29号院3号楼6层701、702、705室
入库时间 2024-04-18 20:02:18
技术领域
本申请涉及跨数据中心带宽资源管理技术领域,特别是涉及一种跨数据中心带宽资源管理平台和方法。
背景技术
企业在生产和大数据业务处理时往往需要进行跨数据中心的数据的传输,通常具备以下特点:数据量级大,数据量多,难以处理;带宽有限,如果数据传输耗时长且数据量大,很容易挤占集群间的网络带宽,导致其他需要实时通信的业务受到影响。即使对单个任务设置了限流传输,当有多位用户同时传输时,依然会导致数据中心间网络带宽的挤占;同一时刻,可能会有多个任务需要进行跨数据中心传输,没有优先级之分,这些任务相互挤占有限的带宽资源,高优先级的任务会被低优先级的任务影响导致传输效率下降。
Apache Yarn、Apache Mesos、K8s是目前资源管理和调度系统的先导者,他们都可以支持CPU、内存甚至GPU等计算资源的管理与调度。但是他们都没有办法支持跨数据中心带宽资源的管理。因为带宽资源与CPU、内存、GPU等计算资源的管理存在本质区别:CPU、内存、GPU等计算资源与服务器硬件存在直接联系,向数据中心中增加一台服务器,数据中心相应的就能获得这台服务器对应的计算资源。而跨数据中心的带宽资源则与网络环境紧密相关;带宽资源要考虑输入和输出两个带宽方向,两个方向的带宽都需要单独进行管理。CPU、内存、GPU等都是数据中心内部的资源,只要由数据中心内部的资源管理系统进行管理调度即可。而跨数据中心的带宽资源则涉及到多个数据中心间的一致性协调,例如数据中心A在向B‘推送’资源的同时,数据中心B也可能在从A‘拉取’资源,它们都需要用到A->B方向的带宽资源。如何保证各数据中心带宽资源管理的一致性,保证带宽资源合理利用是带宽资源管理区别其他计算资源管理的一个要点;数据中心间的网络环境存在不确定性,服务器也可能会出现异常。如何保证在网络出现异常断开或者某个服务器出现故障后,依然能够保证带宽资源管理的一致性和可用性也是带宽资源管理系统的需要关注的问题。
发明内容
本申请提供一种跨数据中心带宽资源管理平台和方法,旨在解决现有技术无法支持跨数据中心带宽资源的管理的问题。
第一方面,一种跨数据中心带宽资源管理平台,其特征在于,所述平台部署于多个数据中心,每个数据中心部署多个节点,多个节点之间通过gossip协议构建为一个集群;
所述平台包括集群管理器、状态管理器、任务管理器、任务执行器、带宽管理器;
所述集群管理器用于构建和管理所述集群;
所述状态管理器用于所述集群内部各种元数据以及带宽资源使用情况数据的管理和维护;
所述任务管理器用于接收任务执行器提交的数据传输带宽申请,并将带宽申请按照无冲突复制数据类型的规范提交至所述状态管理器;
所述带宽管理器用于所述集群内各个任务的带宽资源分配;
所述任务执行器用于接收用户的启动,启动数据传输任务的执行。
上述方案中,可选地,所述集群各节点会基于向量时钟选举出一个节点作为主节点,其余的节点为从节点,所述主节点通过grpc协议与其他所述数据中心的主节点进行通信,传输元数据信息以及带宽使用信息。
上述方案中,可选地,所述集群管理器用于构建和管理所述集群中,所述集群管理器基于gossip协议,所述集群内部各个节点的集群管理器相互通信,当有新节点启动时自动加入集群,节点异常或故障时自动踢出,当主节点异常或挂掉时,所述集群管理器用于重新发起选举,从已有从节点中推选出一个新的主节点。
上述方案中,可选地,所述状态管理器用于所述集群内部各种元数据以及带宽资源使用情况数据的管理和维护中,所述状态管理器采用无冲突复制数据类型保证数据状态的一致性和可靠性,当集群节点出现故障时,状态管理器用于数据不出现丢失,各个节点内部数据状态保持一致;当集群负载较高时,状态管理器用于集群高效稳定的对外提供服务。
上述方案中,可选地,所述任务管理器用于接收任务执行器提交的数据传输带宽申请,并将带宽申请按照无冲突复制数据类型的规范提交至所述状态管理器中,所述任务管理器持续监听带宽申请结果并实时发送给所述任务执行器,同时所述任务管理器用于任务合规性校验、任务权限控制和审计。
上述方案中,可选地,所述带宽管理器用于所述集群内各个任务的带宽资源分配,所述带宽管理器是一个单例组件,在主节点上运行,当集群基于向量时钟重新选举出一个新的主节点时,所述带宽管理器漂移至新的主节点,所述带宽管理器持续监听状态管理器的数据变化,当监听到有新的带宽申请并且有可用带宽资源时,所述带宽管理器对可用带宽进行分配,当监听到有撤销的带宽申请时,所述带宽管理器释放带宽资源并分配给其他的带宽申请;
所述带宽管理器与其他集群的所述带宽管理器建立grpc连接,并持续不断的推送当前时刻的带宽使用情况。
上述方案中,进一步可选地,所述带宽管理器进行带宽资源分配的执行逻辑为:所述带宽资源管理器循环遍历各个目标集群的带宽申请,若某个目标集群存在未分配到足够带宽资源的申请,则启动所述目标集群的带宽资源分配;
进行输入带宽的分配,若当前目标集群的可用输入带宽和可用总带宽都大于0,则将可用带宽分配给所述带宽申请;若可用输入带宽为0或者可用总带宽为0,则从低优先级的申请中窃取带宽,并将窃取带宽分配给所述带宽申请;若当前没有更低优先级的申请,则停止输入带宽的分配,等待有可用带宽资源时再重新分配;
进行输出带宽的分配,若当前目标集群的可用输出带宽和可用总带宽都大于0,则将可用带宽分配给所述带宽申请;若可用输出带宽为0或者可用总带宽为0,则从低优先级的申请中窃取带宽,并将窃取带宽分配给所述带宽申请;若当前没有更低优先级的申请,则停止输入带宽的分配,等待有可用带宽资源时再重新分配。
上述方案中,可选地,所述任务执行器用于接收用户的启动,与所述任务管理器通信,发送所需的任务带宽,并持续等待所述任务管理器返回的带宽分配结果,当带宽分配量满足任务执行需求后,启动数据传输任务的执行。
上述方案中,可选地,所述带宽资源管理平台的所有状态数据都保存在所述状态管理器内,其中,带宽相关的状态数据格式分为本地带宽、远端带宽、带宽限制和任务列表;
所述本地带宽为已经完成分配的带宽资源,带宽管理器每次完成带宽分配后会将分配结果更新至本地带宽区域;
远端集群推送过来的带宽使用情况会通过所述带宽管理器实时的更新到所述远端带宽区域;
所述带宽限制为记录了各个目标集群的最大可用带宽,通过所述带宽限制、本地带宽和远端带宽计算得到当前可用带宽;
所述任务列表记录所有带宽申请的列表,所述任务管理器将带宽申请记录更新到所述任务列表中,并监听其中的分配带宽值变化。
第二方面,一种跨数据中心带宽资源管理方法,所述方法包括:
用户启动任务执行器,提交数据传输任务,所述任务执行器与所述带宽资源管理平台其中一个节点的任务管理器建立连接,并申请任务带宽;所述任务管理器对申请进行校验后,将带宽申请按照指定格式将带宽申请记录添加到状态管理器中;
所述状态管理器将本地更新的数据同步给其他节点的状态管理器,持续监听状态管理器内部数据的变化,监听到新的带宽申请记录后启动带宽分配,此时若有可用带宽则将其分配给所述申请;所述带宽管理器将当前集群带宽使用情况推送给外部集群的带宽管理器;所述带宽管理器将当前带宽分配结果更新到所述状态管理器;
所述状态管理器再次将本地更新的数据同步给其他节点的所述状态管理器;
所述任务管理器持续监听已提交申请的带宽分配结果,将带宽申请结果转发给所述任务执行器;
所述任务执行器在获取到目标可用带宽以后,按照指定带宽开启数据传输任务,直到任务完成,完成数据传输任务后,将任务结果返回给用户,所述任务执行器再次与任务管理器通信,撤销任务带宽的申请;
所述任务管理器从状态管理器中删除对应的带宽申请记录,所述状态管理器将本地更新的数据同步给其他节点的所述状态管理器;
所述带宽管理器持续监听状态管理器内部数据的变化,监听到有带宽申请记录被删除,此时若有其他还未分配到带宽资源的申请,则将空闲资源重新进行分配,当前集群带宽使用情况推送给外部集群的所述带宽管理器。
相比现有技术,本申请至少具有以下有益效果:
本申请基于对现有技术问题的进一步分析和研究,认识到现有技术无法支持跨数据中心带宽资源的管理的问题。
本方案提供一种跨数据中心带宽资源管理平台,平台部署于多个数据中心,每个数据中心部署多个节点,多个节点之间通过gossip协议构建为一个集群;所述平台包括集群管理器、状态管理器、任务管理器、任务执行器、带宽管理器;所述集群管理器用于构建和管理所述集群;所述状态管理器用于所述集群内部各种元数据以及带宽资源使用情况数据的管理和维护;所述任务管理器用于接收任务执行器提交的数据传输带宽申请,并将带宽申请按照无冲突复制数据类型的规范提交至所述状态管理器;所述带宽管理器用于所述集群内各个任务的带宽资源分配;所述任务执行器用于接收用户的启动,启动数据传输任务的执行。本方案可以实现对跨数据中心带宽资源的管理和调度,提升带宽资源的利用效率,避免带宽的挤占;支持多个数据中心间的协同带宽调度,用户可以在不同的数据中心同时进行双向的数据传输,总使用带宽也不会超过最大限制;具备优先级管理能力,带宽资源管理平台优先为高优先级任务分配带宽资源,若有低优先级任务提前获取到带宽资源,则平台会临时性‘窃取’低优先级任务的带宽分配给高优先级任务;具备多租户权限控制能力,数据传输任务在申请带宽资源时需通过权限校验,并进行审计,提升安全性;具备高可用和高可靠性,少数节点故障或网络异常不会影响带宽资源管理平台其持续稳定的提供服务;运维人员只需要考虑各个数据中心之间的带宽资源最大限制,不用在考虑数据传输时到底需要多大的带宽,降低运维和使用的复杂度;具备良好的架构设计,有高可扩展能力以及动态缩扩容能力,便于集群的维护;支持通过可视化页面和Shell命令行多种方式提交和管理数据传输任务,降低用户使用门槛。
附图说明
图1为本申请一个实施例提供的跨数据中心带宽资源管理平台的部署示意图;
图2为本申请一个实施例提供的跨数据中心带宽资源管理平台的内部组件示意图;
图3为本申请一个实施例提供的跨数据中心带宽资源管理方法的任务提交时序示意图;
图4为本申请一个实施例提供的跨数据中心带宽资源管理平台的状态数据格式示意图;
图5为本申请一个实施例提供的跨数据中心带宽资源管理平台的带宽管理分配逻辑示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的跨数据中心带宽资源管理平台,如图1和图2所示,所述平台部署于多个数据中心,每个数据中心部署多个节点,多个节点之间通过gossip协议构建为一个集群;
所述平台包括集群管理器、状态管理器、任务管理器、任务执行器、带宽管理器;
所述集群管理器用于构建和管理所述集群;
所述状态管理器用于所述集群内部各种元数据以及带宽资源使用情况数据的管理和维护;
所述任务管理器用于接收任务执行器提交的数据传输带宽申请,并将带宽申请按照无冲突复制数据类型的规范提交至所述状态管理器;
所述带宽管理器用于所述集群内各个任务的带宽资源分配;
所述任务执行器用于接收用户的启动,启动数据传输任务的执行。
在本实施例中,所述集群各节点会基于向量时钟选举出一个节点作为主节点,其余的节点为从节点,所述主节点通过grpc协议与其他所述数据中心的主节点进行通信,传输元数据信息以及带宽使用信息。
在本实施例中,所述集群管理器用于构建和管理所述集群中,所述集群管理器基于gossip协议,所述集群内部各个节点的集群管理器相互通信,当有新节点启动时自动加入集群,节点异常或故障时自动踢出,当主节点异常或挂掉时,所述集群管理器用于重新发起选举,从已有从节点中推选出一个新的主节点。
在本实施例中,所述状态管理器用于所述集群内部各种元数据以及带宽资源使用情况数据的管理和维护中,所述状态管理器采用无冲突复制数据类型保证数据状态的一致性和可靠性,当集群节点出现故障时,状态管理器用于数据不出现丢失,各个节点内部数据状态保持一致;当集群负载较高时,状态管理器用于集群高效稳定的对外提供服务。
在本实施例中,所述任务管理器用于接收任务执行器提交的数据传输带宽申请,并将带宽申请按照无冲突复制数据类型的规范提交至所述状态管理器中,所述任务管理器持续监听带宽申请结果并实时发送给所述任务执行器,同时所述任务管理器用于任务合规性校验、任务权限控制和审计。
在本实施例中,所述带宽管理器用于所述集群内各个任务的带宽资源分配中,所述带宽管理器是一个单例组件,在主节点上运行,当集群基于向量时钟重新选举出一个新的主节点时,所述带宽管理器漂移至新的主节点,所述带宽管理器持续监听状态管理器的数据变化,当监听到有新的带宽申请并且有可用带宽资源时,所述带宽管理器对可用带宽进行分配,当监听到有撤销的带宽申请时,所述带宽管理器释放带宽资源并分配给其他的带宽申请;
所述带宽管理器与其他集群的所述带宽管理器建立grpc连接,并持续不断的推送当前时刻的带宽使用情况。
在本实施例中,所述带宽管理器进行带宽资源分配的执行逻辑为:所述带宽资源管理器循环遍历各个目标集群的带宽申请,若某个目标集群存在未分配到足够带宽资源的申请,则启动所述目标集群的带宽资源分配;
进行输入带宽的分配,若当前目标集群的可用输入带宽和可用总带宽都大于0,则将可用带宽分配给所述带宽申请;若可用输入带宽为0或者可用总带宽为0,则从低优先级的申请中窃取带宽,并将窃取带宽分配给所述带宽申请;若当前没有更低优先级的申请,则停止输入带宽的分配,等待有可用带宽资源时再重新分配;
进行输出带宽的分配,若当前目标集群的可用输出带宽和可用总带宽都大于0,则将可用带宽分配给所述带宽申请;若可用输出带宽为0或者可用总带宽为0,则从低优先级的申请中窃取带宽,并将窃取带宽分配给所述带宽申请;若当前没有更低优先级的申请,则停止输入带宽的分配,等待有可用带宽资源时再重新分配。
在本实施例中,所述任务执行器用于接收用户的启动,与所述任务管理器通信,发送所需的任务带宽,并持续等待所述任务管理器返回的带宽分配结果,当带宽分配量满足任务执行需求后,启动数据传输任务的执行。
在本实施例中,所述带宽资源管理平台的所有状态数据都保存在所述状态管理器内,其中,带宽相关的状态数据格式分为本地带宽、远端带宽、带宽限制和任务列表;
所述本地带宽为已经完成分配的带宽资源,带宽管理器每次完成带宽分配后会将分配结果更新至本地带宽区域;
远端集群推送过来的带宽使用情况会通过所述带宽管理器实时的更新到所述远端带宽区域;
所述带宽限制为记录了各个目标集群的最大可用带宽,通过所述带宽限制、本地带宽和远端带宽计算得到当前可用带宽;
所述任务列表记录所有带宽申请的列表,所述任务管理器将带宽申请记录更新到所述任务列表中,并监听其中的分配带宽值变化。
在一个实施例中,提供一种跨数据中心带宽资源管理平台,可以实现多个数据中心之间的带宽资源的管理和协调,为跨数据中心的数据传输任务合理分配带宽资源,保证有限的网络带宽不会被相互挤占,影响实时业务。用户可以在任意一个数据中心向其他数据中心发起数据传输任务,带宽资源的分配情况由带宽资源管理平台进行统一调度,无需用户参与。
用户通过带宽资源管理平台提供的shell或者java接口创建数据传输任务,任务会自动与带宽资源管理平台通信申请数据传输所需带宽资源,在获取到足够资源后即可启动数据传输。
带宽资源管理平台采用集群模式进行部署,基于gossip协议的分布式的实现方案,可以实现动态快速的缩扩容节点,当节点故障时可自动剔除异常节点,保证平台7*24小时正常运行。
平台内部的状态数据的维护采用无冲突复制数据类型方案,保证集群状态数据的一致性和可靠性,在出现集群节点异常或故障时可以避免状态数据出现丢失或不一致的情况,并保证平台持续可靠提供服务。
带宽资源管理平台通过带宽管理器来分配各个数据传输任务的可用带宽资源。并可以按照优先级进行管理,在带宽资源有限的情况下,高优先级可优先获得带宽资源。
平台支持多租户权限控制和审计的功能,无权限的用户将无法通过带宽资源管理平台申请到带宽资源。无法启动数据传输任务。
在一个实施例中,如图1所示,展示了带宽资源管理调度平台的部署方式,调度平台采用分布式的部署方式,一个数据中心内可部署多个节点,节点之间通过gossip协议构建为一个集群,从而对外提供服务。集群各节点会基于向量时钟选举出一个实例作为主节点,其余的节点为从节点。主节点可通过grpc协议与其他数据中心的主节点进行通信,传输元数据信息以及带宽使用信息。
在一个实施例中,如图2所示,带宽资源管理平台包含集群管理器、数据管理器、任务管理器、任务执行器、带宽管理器这几种组件:
在本实施例中,集群管理器:承担整个集群的构建和管理的职责,基于gossip协议实现。集群内部各个节点的集群管理器相互通信,从而实现集群动态缩扩容的能力,当有新节点启动时可自动加入集群,节点异常或故障时可自动踢出。当主节点异常或挂掉时,集群管理器负责重新发起选举,从已有从节点中推选出一个新的主节点,保证集群的持续稳定可用;
在本实施例中,状态管理器:负责集群内部各种元数据以及带宽资源使用情况数据的管理和维护。状态管理器采用了‘CRDT(conflict-free replicated data type)无冲突复制数据类型’来保证数据状态的一致性和可靠性。当集群节点出现故障时,状态管理器能够确保数据不出现丢失,各个节点内部数据状态保持一致。当集群负载较高时,状态管理器能够保证集群高效稳定的对外提供服务;
在本实施例中,任务管理器:负责接收任务执行器提交的数据传输带宽申请,并将带宽申请按照无冲突复制数据类型的规范提交至状态管理器。任务管理器会持续的监听带宽申请结果并实时发送给任务执行器,同时任务管理器还承担了任务合规性校验,任务权限控制和审计的功能;
在本实施例中,带宽管理器:负责集群内各个任务的带宽资源分配。带宽管理器是一个单例组件,只在主节点上运行,该组件是无状态的,所以当集群基于向量时钟重新选举出一个新的主节点时,带宽管理器可以迅速漂移至新的主节点。带宽管理器会持续监听状态管理器的数据变化,当监听到有新的带宽申请并且有可用带宽资源时,该组件会触发执行,对可用带宽进行分配。当监听到有撤销的带宽申请时,带宽管理器也会释放带宽资源并分配给其他的带宽申请。此外带宽管理器也会与其他集群的带宽管理器建立grpc连接,并持续不断的推送当前时刻的带宽使用情况,这样能够保证多个集群同时存在数据传输任务时,总使用带宽依然不会超过限制;
在本实施例中,任务执行器:由使用用户启动,启动后会与任务管理器通信,发送所需的任务带宽,并持续等待任务管理器返回的带宽分配结果,当带宽分配量满足任务执行需求后,任务执行器则启动数据传输任务的执行;
在本实施例中,任务提交流程,数据传输任务从申请带宽到执行的整个流程如图3所示所示。按照序号顺序说明如下:
在本实施例中,用户启动任务执行器,提交数据传输任务;
在本实施例中,任务执行器与带宽资源管理平台其中一个节点的任务管理器建立连接,并向其申请任务带宽;
在本实施例中,任务管理器对申请进行校验后,将带宽申请按照指定格式将带宽申请记录添加到状态管理器中;
在本实施例中,状态管理器将本地更新的数据同步给其他节点的状态管理器;
在本实施例中,带宽管理器持续监听状态管理器内部数据的变化;
在本实施例中,带宽管理器监听到新的带宽申请记录,于是启动带宽分配,此时如果有可用带宽则将其分配给该申请;
在本实施例中,带宽管理器将当前集群带宽使用情况推送给外部集群的带宽管理器,防止同时外部集群也分配了相同带宽方向的资源,导致集群间的总带宽大于限制值;
在本实施例中,带宽管理器将当前带宽分配结果更新到状态管理器;
在本实施例中,状态管理器再次将本地更新的数据同步给其他节点的状态管理器;
在本实施例中,任务管理器持续监听已提交申请的带宽分配结果;
在本实施例中,任务管理器将带宽申请结果转发给任务执行器;任务执行器在获取到足够的可用带宽以后,按照指定带宽开启数据传输任务,直到任务完成;
在本实施例中,任务执行器完成数据传输任务后,将任务结果返回给用户;任务执行器再次与任务管理器通信,撤销任务带宽的申请;任务管理器从状态管理器中删除对应的带宽申请记录;状态管理器将本地更新的数据同步给其他节点的状态管理器;带宽管理器持续监听状态管理器内部数据的变化;带宽管理器监听到有带宽申请记录被删除,有了更多的空闲带宽资源,此时如果有其他还未分配到带宽资源的申请,则将这些空闲资源重新进行分配;带宽管理器将当前集群带宽使用情况推送给外部集群的带宽管理器;
在本实施例中,状态数据管理:带宽资源管理平台的所有状态数据都保存在状态管理器内,其中带宽相关的状态数据格式如图4所示,可以分为四个数据区域:
本地带宽:即已经完成分配的带宽资源,带宽管理器每次完成带宽分配后会将分配结果更新至该区域;
远端带宽:远端集群推送过来的带宽使用情况会通过带宽管理器实时的更新到该区域;
带宽限制:记录了各个目标集群的最大可用带宽,通过带宽限制、本地带宽、远端带宽即可计算得到当前可用带宽。
任务列表:记录了所有带宽申请的列表,任务管理器将带宽申请记录更新到该列表中,并监听其中的分配带宽值变化。带宽管理器会监听任务列表变化,执行带宽分配并更新各个任务的分配带宽值。
在集群内部,各个节点通过无冲突复制数据类型来维护带宽状态数据的一致性和可靠性,集群之间则通过grpc来进行跨集群的数据同步,例如在图4中,集群A->B的本地输入带宽为40MB/s,输出带宽为20MB/s,那么该带宽使用信息会实时从集群A推送给集群B,所以相应的集群B->A的远端输入带宽为20MB/s,输出带宽为40MB/s。
在本实施例中,带宽资源分配逻辑,如图5所示,展示了带宽管理器进行带宽资源分配的执行逻辑,带宽资源管理器循环遍历各个目标集群的带宽申请,如果某个目标集群存在未分配到足够带宽资源的申请,则启动该方向的带宽资源分配。
首先进行输入带宽的分配,如果当前目标集群的可用输入带宽和可用总带宽都大于0,则将可用带宽分配给该申请。如果可用输入带宽为0或者可用总带宽为0,则需要从低优先级的申请中窃取带宽,并将窃取带宽分配给该带宽申请。如果当前没有更低优先级的申请,那么停止输入带宽的分配,等待有可用带宽资源时再重新分配。
随后进行输出带宽的分配,如果当前目标集群的可用输出带宽和可用总带宽都大于0,则将可用带宽分配给该申请。如果可用输出带宽为0或者可用总带宽为0,则需要从低优先级的申请中窃取带宽,并将窃取带宽分配给该带宽申请。如果当前没有更低优先级的申请,那么停止输入带宽的分配,等待有可用带宽资源时再重新分配。
所述实施例中,可用输入带宽=输入带宽限制–本地输入带宽–远端输入带宽;
可用输出带宽=输入带宽限制–本地输出带宽–远端输出带宽;
可用总带宽=总带宽限制–本地输入带宽–远端输入带宽–本地输出带宽–远端输出带宽。
通过本实施例方案,可以实现对跨数据中心带宽资源的管理和调度,提升带宽资源的利用效率,避免带宽的挤占;支持多个数据中心间的协同带宽调度,用户可以在不同的数据中心同时进行双向的数据传输,总使用带宽也不会超过最大限制;具备优先级管理能力,带宽资源管理平台优先为高优先级任务分配带宽资源,若有低优先级任务提前获取到带宽资源,则平台会临时性‘窃取’低优先级任务的带宽分配给高优先级任务;具备多租户权限控制能力,数据传输任务在申请带宽资源时需通过权限校验,并进行审计,提升安全性;具备高可用和高可靠性,少数节点故障或网络异常不会影响带宽资源管理平台其持续稳定的提供服务;运维人员只需要考虑各个数据中心之间的带宽资源最大限制,不用在考虑数据传输时到底需要多大的带宽,降低运维和使用的复杂度;具备良好的架构设计,有高可扩展能力以及动态缩扩容能力,便于集群的维护;支持通过可视化页面和Shell命令行多种方式提交和管理数据传输任务,降低用户使用门槛。
在一个实施例中,如图3所示,提供了一种跨数据中心带宽资源管理方法,所述方法包括:
用户启动任务执行器,提交数据传输任务,所述任务执行器与所述带宽资源管理平台其中一个节点的任务管理器建立连接,并申请任务带宽;所述任务管理器对申请进行校验后,将带宽申请按照指定格式将带宽申请记录添加到状态管理器中;
所述状态管理器将本地更新的数据同步给其他节点的状态管理器,持续监听状态管理器内部数据的变化,监听到新的带宽申请记录后启动带宽分配,此时若有可用带宽则将其分配给所述申请;所述带宽管理器将当前集群带宽使用情况推送给外部集群的带宽管理器;所述带宽管理器将当前带宽分配结果更新到所述状态管理器;
所述状态管理器再次将本地更新的数据同步给其他节点的所述状态管理器;
所述任务管理器持续监听已提交申请的带宽分配结果,将带宽申请结果转发给所述任务执行器;
所述任务执行器在获取到目标可用带宽以后,按照指定带宽开启数据传输任务,直到任务完成,完成数据传输任务后,将任务结果返回给用户,所述任务执行器再次与任务管理器通信,撤销任务带宽的申请;
所述任务管理器从状态管理器中删除对应的带宽申请记录,所述状态管理器将本地更新的数据同步给其他节点的所述状态管理器;
所述带宽管理器持续监听状态管理器内部数据的变化,监听到有带宽申请记录被删除,此时若有其他还未分配到带宽资源的申请,则将空闲资源重新进行分配,当前集群带宽使用情况推送给外部集群的所述带宽管理器。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
机译: 一种资源管理平台和一种网络负载管理方法
机译: 分布式云计算平台中的跨数据中心读写一致性
机译: 分布式云计算平台中的跨数据中心读写一致性