CN114048021A - 物联网多层多规则混合算力自动分配技术 - Google Patents
物联网多层多规则混合算力自动分配技术 Download PDFInfo
- Publication number
- CN114048021A CN114048021A CN202111161426.1A CN202111161426A CN114048021A CN 114048021 A CN114048021 A CN 114048021A CN 202111161426 A CN202111161426 A CN 202111161426A CN 114048021 A CN114048021 A CN 114048021A
- Authority
- CN
- China
- Prior art keywords
- computing power
- internet
- things
- api
- index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明涉及物联网技术领域,尤其涉及物联网多层多规则混合算力自动分配技术,解决了现有技术中直接将物联网的算力按照固定规格给与业务场景进行分配,造成不同情况的业务场景无法得到相对应的算力,从而导致了业务需求过载或不足的情况发生,因此在实际的物联网边端的使用效果不佳的问题。物联网多层多规则混合算力自动分配技术,包括,提取不同时段的监测指标,对metrics目标值进行进行提取,对不同时段的监测指标进行分析,从每个节点上Kubelet公开的API收集指标。本发明基于容器技术,通过虚拟化技术将物联网算力切分成更为细小颗粒,便于基于不同业务场景动态分配不同层的算力。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及物联网多层多规则混合算力自动分配技术。
背景技术
物联网(Internet of Things,简称IOT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络,而弹性伸缩的规则触发将产生实例调度的请求,但如何将这些请求分配到节点,并在节点部署应用实例,调度是必经的流程,也是本技术的核心能力。但是,对于弹性伸缩这一场景,由于涉及大量新实例创建和旧实例的替换,实例调度的动作非常频繁,可是,现有技术中是直接将物联网的算力按照固定规格给与业务场景进行分配,造成不同情况的业务场景无法得到相对应的算力,从而导致了业务需求过载或不足的情况发生,因此在实际的物联网边端的使用效果不佳。
发明内容
本发明的目的是提供物联网多层多规则混合算力自动分配技术,解决了现有技术中直接将物联网的算力按照固定规格给与业务场景进行分配,造成不同情况的业务场景无法得到相对应的算力,从而导致了业务需求过载或不足的情况发生,因此在实际的物联网边端的使用效果不佳的问题。
为了实现上述目的,本发明采用了如下技术方案:
物联网多层多规则混合算力自动分配技术,包括以下步骤:
S1,提取不同时段的监测指标,对metrics目标值进行进行提取;
S2,对不同时段的监测指标进行分析,从每个节点上Kubelet公开的API收集指标;
S3,根据算力需求分析,基于容器技术动态调配算力资源,进行弹性分配,面向物联网云边端多层的微服务API请求,给与不同的算力分配。
优选的,S1中,metrics的目标值包括以下几类:
1,averageUtilization,自动扩容;
2,averageValue,自动扩容;
3,Value,自动扩容;
4,pods、external、object,自动选择;
S1中,metrics的控制值包括以下几类:
1,resource,pod指标;
2,containerResource,cpu以及memory指标;
3,pods,Pods指标;
4,External外部指标;
5,Object内部对象指标;
6,behavior,DHC-HPA扩容以及缩容的速度。
优选的,S2中,监测指标的分析过程,具体包括以下步骤:
1,Pod Autoscale通过Metrics Server 的 API(Heapster 的 API 或聚合 API)获取数据;
2,Pod Autoscaler 由一个控制循环实现,循环周期由 controller manager 中的 -pod-autoscaler-sync-period标志指定;
3,Controller manager 从 resource metric API(每个 pod 的 resourcemetric)或者自定义 metric API(所有的metric)中获取 metric;
4,Metrics server通过容器聚合器注册在Master APIServer中;
5,用户可通过Metrics API在容器中获得资源使用率指标。
优选的,S3中,通过监测指标的算力需求,为监测指标提供一种或多种算力资源分别分析,具体包括以下过程:
1,算力容器部署上的水平自控扩缩容;
2,集群节点的自动扩缩;
3,基于事件的快速扩容和缩容。
本发明至少具备以下有益效果:
基于容器技术,通过虚拟化技术将物联网算力切分成更为细小颗粒,便于基于不同业务场景动态分配不同层的算力。
本发明还具备以下有益效果:
多类型弹性伸缩策略,包括HPA、KEDA 、Cluster AutoScaler、Serverless,可以基于不同业务场景选择不同策略,满足业务需求。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
物联网多层多规则混合算力自动分配技术,包括以下步骤:
S1,提取不同时段的监测指标,对metrics目标值进行进行提取,MetricsServer会持续采集Pod的指标数据,HPA 控制器通过 Metrics Server 的 API(Heapster 的 API 或聚合 API)获取这些数据,基于用户定义的扩缩容规则进行计算,得到目标 Pod 副本数量;
S2,对不同时段的监测指标进行分析,从每个节点上Kubelet公开的API收集指标,户可通过Metrics API在容器中获得资源使用率指标,例如容器CPU和内存使用率。这些指标既可以由用户直接访问(例如,通过使用kubectl top命令),也可以由集群中的控制器(例如,DHC Horizontal Pod Autoscaler)使用;
S3,根据算力需求分析,基于容器技术动态调配算力资源,进行弹性分配,面向物联网云边端多层的微服务API请求,给与不同的算力分配。
根据上述实施例可知,基于容器技术,通过虚拟化技术将物联网算力切分成更为细小颗粒,便于基于不同业务场景动态分配不同层的算力,基于开源容器的 DHC-HPA 机制就可以很轻易的给微服务应用提供弹性伸缩能力,规则触发与实例调度
实施例二
物联网多层多规则混合算力自动分配技术,S1中,metrics的目标值包括以下几类:
1,averageUtilization,当整体的资源利用率超过这个百分比的时候,自动扩容;
2,averageValue,当指标的平均值或资源的平均利用率超过这个的时候,自动扩容;
3,Value,当指标的值超过这个的时候,自动扩容;
4,pods、external、object,支持使用筛选器进行筛选,允许进行条件选择;
S1中,metrics的控制值包括以下几类:
1,resource,指的是当前伸缩对象下的pod的指标,target.type只支持Utilization和AverageValue类型的阈值;
2,containerResource,指的是当前伸缩对象下的container的cpu和memory指标,只支持Utilization和AverageValue类型的阈值;
3,pods,指的是伸缩对象Pods的指标,数据需要第三方的adapter提供,只允许AverageValue类型的阈值;
4,External,指的是容器外部的指标,数据同样需要第三方的adapter提供,只支持Value和AverageValue类型的阈值;
5,Object,指的是指定容器内部对象的指标,数据需要第三方adapter提供,例如Ingress。只支持Value和AverageValue类型的阈值;
6,behavior,用来精确控制HPA的扩容和缩容的速度,behavior中包括:scaleDown:(缩容速度策略)和scaleU()扩容速度策略)。
实施例三
物联网多层多规则混合算力自动分配技术,S2中,监测指标的分析过程,具体包括以下步骤:
1,Pod Autoscale通过Metrics Server 的 API(Heapster 的 API 或聚合 API)获取数据,用户可通过Metrics API在容器中获得资源使用率指标,例如容器CPU和内存使用率。这些指标既可以由用户直接访问(例如,通过使用kubectl top命令),也可以由集群中的控制器(例如,Horizontal Pod Autoscaler)使用;
2,Pod Autoscaler 由一个控制循环实现,循环周期由 controller manager 中的 -pod-autoscaler-sync-period标志指定,是根据资源利用率或者自定义指标自动调整replication controller, Deployment 或 ReplicaSet,实现部署的水平自动扩缩容,让部署的规模接近于实际服务的负载;
3,Controller manager 从 resource metric API(每个 pod 的 resourcemetric)或者自定义 metric API(所有的metric)中获取 metric,在每个周期内,controller manager 会查询 PodAutoscaler 中定义的 metric 的资源利用率;
4,Metrics server通过容器聚合器注册在Master APIServer中,用户可通过Metrics API在容器中获得资源使用率指标。
实施例四
物联网多层多规则混合算力自动分配技术,S3中,通过监测指标的算力需求,为监测指标提供一种或多种算力资源分别分析,具体包括以下过程:
算力容器部署上的水平自控扩缩容,根据资源利用率或者自定义指标自动调整replication controller, Deployment 或 ReplicaSet,实现部署的水平自动扩缩容,让部署算力的规模接近于实际服务的负载,容器服务中的MetricsServer会持续采集Pod的指标数据,控制器通过 Metrics Server 的 API(Heapster 的 API 或聚合 API)获取这些数据,基于用户定义的扩缩容规则进行计算,得到目标 Pod 副本数量,当目标 Pod 副本数量与当前副本数量不同时,控制器就向 Pod 的副本控制器(Deployment、RC 或 ReplicaSet)发起 scale 操作,然后副本控制器会调整 Pod 的副本数量,完成扩缩容操作,应用的资源使用率通常都有高峰和低谷的时候,通过使用容器技术对算力进行自动扩缩容,实现削峰填谷,提高集群的整体资源利用率,让service中的Pod个数能够自动调整;
每个 Pod 的 resource metric(例如 CPU),controller 通过 resource metricAPI 获取每个 Pod 中的 metric;
然后,如果设置了目标利用率,controller 计算利用的值与每个 Pod 的容器里的 resource request 值的百分比。如果设置了目标原始值,将直接使用该原始 metric值;
然后,controller 计算所有目标 Pod 的利用率或原始值(取决于所指定的目标类型)的平均值,产生一个用于缩放所需 replica 数量的比率;
如果某些 Pod 的容器没有设置相关的 resource request ,则不会定义 Pod 的CPU 利用率,并且 Aucoscaler 也不会对该 metric 采取任何操作;
对于每个 Pod 自定义的 metric,controller 功能类似于每个 Pod 的resource metric,只是它使用原始值而不是利用率值;
对于 object metric,获取单个度量(描述有问题的对象),并与目标值进行比较,以产生如上所述的比率;
控制器可以以两种不同的方式获取 metric :直接的 Heapster 访问和 REST 客户端访问;
当使用直接的 Heapster 访问时,控制器直接通过 API 服务器的服务代理子资源查询 Heapster,需要在集群上部署 Heapster 并在 kube-system namespace 中运行;
Autoscaler 访问相应的 replication controller,deployment 或 replicaset 来缩放子资源,Scale 是一个允许您动态设置副本数并检查其当前状态的接口;
集群节点的自动扩缩,集群自动伸缩包含以下功能模块;
autoscaler: 核心模块,包含核心Scale Up和Scale Down功能。在扩容时候:其ScaleUp函数会调用estimator模块来评估所需节点数,在缩容时:其ScaleDown函数会调用simulator模块来评估缩容的节点数;
estimator: 负责计算扩容需要多少Node;
simulator: 负责模拟调度,计算缩容节点;
expander: 负责扩容时,选择合适的Node的算法,可以增加或定制化自己的算法;
cloudprovider:集群自动伸缩包提供给具体云提供商的接口, autoscaler通过该模块与具体云提供商对接,并可以调度每个云提供商提供的Node,cloudprovider预先设定了一些列接口,供具体的云提供商实现,来完成调度其提供的Node的目的;
基于事件的快速扩容和缩容;
行为指标触发扩缩容:用来精确控制扩容和缩容的速度,缩容按照百分比,每15秒最多减少currentReplicas*100%个副本(但最终不可小于minReplicas),且缩容后的最终副本不得低于过去300s内计算的历史副本数的最大值,扩容则采用快速扩容,不考虑历史计算值(窗口时间为0),每15秒副本翻倍或者每15秒新增4个副本(取最大值),即:max(2*currentReplicas,4);
使用CPU指标缩放,使用cpu指标缩放时,必须要启动HCK8S-api聚合,HCK8S容器设计了APIAggregator组件(其实APIAggreator组件还包括代理后端服务等功能),来实现外部服务的集成,这样开发人员不用修改容器代码,也可以来自定义服务信息。容器允许第三方应用把自己注册到apiserver中,且依然使用APIserver的HTTP URL进行访问操作,api聚合层主要就是将拓展api的访问请求转发到用户服务上。
综上所述:多类型弹性伸缩策略,包括HPA、KEDA 、Cluster AutoScaler、Serverless ,可以基于不同业务场景选择不同策略,满足业务需求,常用的弹性伸缩规则是基于监控数据来进行触发的,本技术也基于 CPU 和内存监控来触发弹性伸缩的功能。但仅有这两种指标并不够,相比基础监控数据,应用指标数据对于业务量的反馈更为直接和敏感,可以说是适合弹性伸缩参考的“黄金指标”。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
Claims (4)
1.物联网多层多规则混合算力自动分配技术,其特征在于,包括以下步骤:
S1,提取不同时段的监测指标,对metrics目标值进行进行提取;
S2,对不同时段的监测指标进行分析,从每个节点上Kubelet公开的API收集指标;
S3,根据算力需求分析,基于容器技术动态调配算力资源,进行弹性分配,面向物联网云边端多层的微服务API请求,给与不同的算力分配。
2.根据权利要求1所述的物联网多层多规则混合算力自动分配技术,其特征在于,S1中,metrics的目标值包括以下几类:
1,averageUtilization,自动扩容;
2,averageValue,自动扩容;
3,Value,自动扩容;
4,pods、external、object,自动选择;
S1中,metrics的控制值包括以下几类:
1,resource,pod指标;
2,containerResource,cpu以及memory指标;
3,pods,Pods指标;
4,External外部指标;
5,Object 内部对象指标;
6,behavior,DHC-HPA扩容以及缩容的速度。
3.根据权利要求1所述的物联网多层多规则混合算力自动分配技术,其特征在于,S2中,监测指标的分析过程,具体包括以下步骤:
1,Pod Autoscale通过Metrics Server 的 API(Heapster 的 API 或聚合 API)获取数据;
2,Pod Autoscaler 由一个控制循环实现,循环周期由 controller manager 中的 -pod-autoscaler-sync-period标志指定;
3,Controller manager 从 resource metric API(每个 pod 的 resource metric)或者自定义 metric API(所有的metric)中获取 metric;
4,Metrics server通过容器聚合器注册在Master APIServer中;
5,用户可通过Metrics API在容器中获得资源使用率指标。
4.根据权利要求1所述的物联网多层多规则混合算力自动分配技术,其特征在于,S3中,通过监测指标的算力需求,为监测指标提供一种或多种算力资源分别分析,具体包括以下过程:
1,算力容器部署上的水平自控扩缩容;
2,集群节点的自动扩缩;
3,基于事件的快速扩容和缩容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111161426.1A CN114048021A (zh) | 2021-09-30 | 2021-09-30 | 物联网多层多规则混合算力自动分配技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111161426.1A CN114048021A (zh) | 2021-09-30 | 2021-09-30 | 物联网多层多规则混合算力自动分配技术 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114048021A true CN114048021A (zh) | 2022-02-15 |
Family
ID=80204792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111161426.1A Pending CN114048021A (zh) | 2021-09-30 | 2021-09-30 | 物联网多层多规则混合算力自动分配技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048021A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227338A (zh) * | 2024-05-22 | 2024-06-21 | 维能(深圳)大数据技术有限公司 | 基于物联网的智能算力管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858257A (zh) * | 2020-07-28 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种实现获取容器集群资源使用数据的系统及方法 |
CN112506444A (zh) * | 2020-12-28 | 2021-03-16 | 南方电网深圳数字电网研究院有限公司 | 基于Kubernetes集群的扩缩容控制方法和装置、电子设备 |
CN113110914A (zh) * | 2021-03-02 | 2021-07-13 | 西安电子科技大学 | 一种基于微服务架构的物联网平台构建方法 |
-
2021
- 2021-09-30 CN CN202111161426.1A patent/CN114048021A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858257A (zh) * | 2020-07-28 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种实现获取容器集群资源使用数据的系统及方法 |
CN112506444A (zh) * | 2020-12-28 | 2021-03-16 | 南方电网深圳数字电网研究院有限公司 | 基于Kubernetes集群的扩缩容控制方法和装置、电子设备 |
CN113110914A (zh) * | 2021-03-02 | 2021-07-13 | 西安电子科技大学 | 一种基于微服务架构的物联网平台构建方法 |
Non-Patent Citations (1)
Title |
---|
LINKWAN互联: "探索Kubernetes HPA", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_45843827/article/details/103036321> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227338A (zh) * | 2024-05-22 | 2024-06-21 | 维能(深圳)大数据技术有限公司 | 基于物联网的智能算力管理方法及系统 |
CN118227338B (zh) * | 2024-05-22 | 2024-07-26 | 维能(深圳)大数据技术有限公司 | 基于物联网的智能算力管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965485B (zh) | 容器资源的管理方法、装置和云平台 | |
WO2020258920A1 (zh) | 一种网络切片资源管理方法及设备 | |
CN109194984B (zh) | 一种基于边缘计算的视频帧调度方法 | |
CN112789832B (zh) | 动态切片优先级处理 | |
US10993127B2 (en) | Network slice instance management method, apparatus, and system | |
CN109947574B (zh) | 一种基于雾网络的车辆大数据计算卸载方法 | |
CN112988398A (zh) | 一种微服务动态伸缩及迁移方法和装置 | |
CN107615792B (zh) | 用于mtc事件的管理方法与系统 | |
CN112764920B (zh) | 一种边缘应用部署方法、装置、设备和存储介质 | |
CN106375471B (zh) | 一种边缘节点确定方法及装置 | |
CN111126594B (zh) | 基于边缘计算的神经网络模型动态切分方法及装置 | |
CN103530185A (zh) | 资源优化方法及装置 | |
CN112600695B (zh) | Ran侧网络切片资源分配方法、装置和电子设备 | |
Yang et al. | EBI-PAI: Toward an efficient edge-based IoT platform for artificial intelligence | |
CN110716808A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN105764097A (zh) | 资源分配方法及装置 | |
CN110430068A (zh) | 一种特征工程编排方法及装置 | |
CN108900435B (zh) | 一种业务部署的方法、装置及计算机存储介质 | |
CN112202829A (zh) | 基于微服务的社交机器人调度系统和调度方法 | |
Nunes et al. | State of the art on microservices autoscaling: An overview | |
CN114048021A (zh) | 物联网多层多规则混合算力自动分配技术 | |
CN107360235B (zh) | 一种基于可靠性分级的任务迁移方法 | |
CN113934545A (zh) | 一种视频数据调度方法、系统、电子设备及可读介质 | |
CN102769867A (zh) | 网络接入方法 | |
CN106874108B (zh) | 移动云计算中最小化微云使用个数技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |