System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据中台领域,涉及到隔离机制与资源调度策略,具体说是一种基于虚拟化的数据中台资源隔离调度方法。
技术介绍
1、在现代信息系统中,随着企业内数据量的增长,各部门所积累的庞大数据形成了互相独立的数据孤岛,为解决数据难以互通的问题,数据中台这一概念被提出来,数据中台能够对数据进行整合,破除异构数据之间的隔阂,同时也能够对数据进行提纯加工,将数据资产化。
2、但目前关于数据中台的研究重点在如何将数据中台自设能力与企业自身业务结合,而忽略了一些整体性的问题,例如:数据中台内各租户采用的计算系统不同,分析所产生的数据资产不能共通等问题,这些情况促使数据中台在内部需要对各租户进行一定程度上的隔离以便区分不同租户的数据资产。此外,不同租户有着不同业务,所需资源也不同,放任租户随意调用资源会导致中台内其他租户的业务受到影响,因而需要针对租户的资源使用情况进行合理分配。当前的资源负载均衡策略未考虑到各租户当前的资源负载情况,因此需要对现有策略进行完善,尽可能充分地考虑到租户的资源负载情况。
技术实现思路
1、针对目前数据中台在多租户隔离以及资源调度上的问题,本专利技术的目的是提供一种基于虚拟化的数据中台资源隔离调度方法,该方法可增加各租户间的独立性,减少集群内节点负载波动。
2、为实现上述目的,本专利技术的技术方案如下:
3、一种基于虚拟化的数据中台资源隔离调度方法,其特征在于:该方法包括基于虚拟化的数据中台资源隔离和自适应负载均衡调度,其中自适应负载
4、1)数据中台资源隔离
5、使用容器虚拟化对系统计算资源进行隔离,各租户系统都由docker(一个开源的应用容器引擎,用于将应用程序打包到可移植的容器中)进行虚拟化,再由kubernetes进行统一管理;租户的网络资源隔离由虚拟化实现,不同租户被分配到不同的虚拟网段;租户的数据资源则使用行级别进行隔离;
6、3)节点负载计算
7、节点资源负载计算考虑到四个方面的资源使用情况,分别是cpu资源、内存资源、网络数据传输带宽资源与磁盘输入输出资源;首先计算集群内某类资源的负载情况,再根据集群负载情况评估计算出每个节点对应类资源负载状况;
8、3)优选策略
9、对新建pod(kubernetes内最小可部署计算单元,内部封装一个或多个容器)首先使用默认的预选策略,过滤掉有资源冲突与亲和性冲突的节点,再计算筛选后的节点在pod加入后的负载该变量,将pod分配到负载改变最小的节点;
10、4)负载堆构建
11、节点集群内分别维护高负载堆和低负载堆这两类负载堆;集群设立上下阙值区间[min,max],节点负载评估低于min则加入低负载堆,高于max则加入高负载堆;
12、5)负载转移
13、集群进行负载调度,将高负载堆的根节点内的pod撤销,并转移至低负载堆的根节点。
14、本专利技术中,使用容器虚拟化技术来对系统计算资源进行隔离,各部门系统都由docker进行虚拟化,再由kubernetes进行统一管理。多个容器聚合称为pod,通常一个租户有多个pod。而kubernetes是通过命名空间来规划pod的归属,租户可以调用他命名空间下的所有pod,但是不能跨命名空间调用其他的pod,保证各租户的计算资源都是隔离的。租户间的网络
15、隔离则可以使用网络虚拟化实现,不同租户会被分配不同的虚拟网段,租户可以为内部用户划分更细的网段。不同的虚拟网段之前的通信需要通过kubernetes指定的网络策略,确保租户间信息的安全传输。对于租户数据资产的存储,使用行隔离的形式对不同租户数据进行隔离。
16、与隔离方案相对应的则是使用kubernetes的资源调度策略,该策略主要过程分为四步,包括节点负载计算阶段,优选策略,负载堆构建,负载转移。
17、节点负载计算阶段:分别计算集群内四类资源的负载情况,分别是:cpu资源、内存资源、网络数据传输带宽资源与磁盘输入输出资源。根据集群整体资源负载情况计算节点资源负载,最后再考虑到不同节点对资源的需求量不同,引入四种资源的权重并计算节点最终的负载得分。
18、优选策略阶段:通过kubernetes默认的预选策略对节点进行筛选,之后再对筛选后的执行新的优选策略:最小负载改变策略leastloadchange,通过比较加载pod后各节点的负载波动,选择负载变化最小的节点,以便维持集群整体负载的均衡。
19、负载堆构建阶段:集群内部构建两个负载堆,分别为高负载堆与低负载堆,其中低负载堆为一个小根堆,堆顶节点为集群负载最低节点;高负载节点则是大根堆,堆顶节点为集群负载最高节点。只有处于负载阙值区间外的节点才会加入负载堆。
20、负载转移阶段:集群判断高负载堆的根节点是否处于pod可撤销状态,若处于可撤销状态则撤销pod直到其负载处于负载阙值区间内,之后将撤销的pod转移到低负载堆根节点上。每个节点都维护一个loadnum值,该值用于统计每次都被记为高负载节点的次数同时集群内设置maxloadnum值,该值代表可允许的最大高负载次数,当loadnum超过maxloadnum时,该节点被标记为可撤销pod状态。当节点被判断为低负载节点时则对loadnum进行清零操作。
21、本专利技术的有益效果是:
22、该方法通过虚拟化技术将数据中台内各部门的数据资源、网络资源、计算资源进行隔离,确保各部门间的独立性,每个部门拥有单独的节点用以区分计算资源;节点间的资源由kubernetes管理节点进行监控并通过自适应的负载均衡调度策略进行调度,自适应调度算法用于控制数据中台内部负载状况,避免各部门出现负载过高或过低的状况导致业务无法执行的情况发生。
本文档来自技高网...【技术保护点】
1.一种基于虚拟化的数据中台资源隔离调度方法,其特征在于:该方法包括基于虚拟化的数据中台资源隔离和自适应负载均衡调度,其中自适应负载均衡调度包括节点负载计算、优选策略、负载堆构建、负载转移四个阶段;具体如下:
2.根据权利要求1所述的基于虚拟化的数据中台资源隔离调度方法,其特征在于:步骤2)中,集群资源负载ClusterLoad的计算公式:
3.根据权利要求1所述的基于虚拟化的数据中台资源隔离调度方法,其特征在于:步骤3)中,加载Pod后资源评估PodaLoad的计算公式:
4.根据权利要求1所述的基于虚拟化的数据中台资源隔离调度方法,其特征在于:步骤4)中,集群设立负载阙值区间[min,max],当阶段负载高于max时将其加入高负载堆,低于min的节点则加入低负载堆;包括:
5.根据权利要求1所述的基于虚拟化的数据中台资源隔离调度方法,其特征在于:步骤5)中,集群判断高负载堆的根节点是否处于Pod可撤销状态,若处于可撤销状态则撤销Pod直到其负载处于负载阙值区间内,之后将撤销的Pod转移到低负载堆根节点上;每个节点都维护一个Loa
...【技术特征摘要】
1.一种基于虚拟化的数据中台资源隔离调度方法,其特征在于:该方法包括基于虚拟化的数据中台资源隔离和自适应负载均衡调度,其中自适应负载均衡调度包括节点负载计算、优选策略、负载堆构建、负载转移四个阶段;具体如下:
2.根据权利要求1所述的基于虚拟化的数据中台资源隔离调度方法,其特征在于:步骤2)中,集群资源负载clusterload的计算公式:
3.根据权利要求1所述的基于虚拟化的数据中台资源隔离调度方法,其特征在于:步骤3)中,加载pod后资源评估podaload的计算公式:
4.根据权利要求1所述的基于虚拟化的数据中台资源隔离调度方法,其特征在于:步骤4)中,集群设立负载阙值区间[m...
【专利技术属性】
技术研发人员:徐明生,王帅梅,王定吉,李春霞,
申请(专利权)人:江苏电力信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。