CN114301917A - 一种弹性伸缩的设备接入系统及其工作方法 - Google Patents
一种弹性伸缩的设备接入系统及其工作方法 Download PDFInfo
- Publication number
- CN114301917A CN114301917A CN202111635103.1A CN202111635103A CN114301917A CN 114301917 A CN114301917 A CN 114301917A CN 202111635103 A CN202111635103 A CN 202111635103A CN 114301917 A CN114301917 A CN 114301917A
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- evaluation
- copies
- copy
- 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
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种弹性伸缩的设备接入系统及其工作方法。系统包括微服务架构,微服务架构上设有设备接入单元、数据处理单元、监控单元、评估单元以及执行单元,设备接入单元用于供设备接入;数据处理单元用于实时处理接入的设备的传输数据,以得到处理结果;监控单元用于对设备接入单元的接入指标数据以及数据处理单元的任务处理指标数据进行监控;评估单元用于根据监控结果进行负载评估;执行单元用于根据评估结果计算副本集的期望副本数,进行pod弹性扩容。通过实施本发明实施例的系统可当应用负载降低时,降低应用运行成本并提高资源利用率,在面临超过现有集群最大承载能力的时候,调整集群的规模,以提高集群的承载能力。
Description
技术领域
本发明涉及灾害感知设备接入平台,更具体地说是指一种弹性伸缩的设备接入系统及其工作方法。
背景技术
城市化飞速发展导致灾害安全问题日益突出,城市灾害事故总量和破坏程度大幅增高,提升城市灾害防控能力已成为重要使命。火灾、爆炸、内涝、危化品泄漏和综合管廊事故等典型城市灾害的发生和发展具有随机、突发、链式、耦合等诸多特点,涉及范围广、破坏性强、损失大,需要海量的灾害物联网设备采集数据,然后通过模型预测预警。面对大规模灾害设备数据接入和管理控制需求,现有的设备接入平台存在着部署运维复杂、运行资源固定分配不能满足在线负载变化的问题。由于灾害应急设备种类和数量众多,不同的设备接入协议差异较大,甚至很多设备协议是私有的,很难接入灾害应急管控大数据平台。
设备接入平台的架构层面基于微服务架构,将设备接入业务功能分解为独立微服务,每个微服务都是一种简单轻量、职责单一的服务,可以独立编译、部署和运行,通过对这些原子服务进行编排,可以快速构建一个设备接入应用,目前的微服务系统,通常直接将微服务打包运行在主机或者虚拟机节点,这种方式需要在所有主机或者虚拟机部署各种运行环境,而且不能自动在集群中选择运行节点;当服务出现过载时,需要在一台或多台主机上重复启动多个进程,不能按需进行快速扩张,存在着资源利用率低、应用部署缓慢、应用部署环境复杂等问题。
因此,有必要设计一种新的系统,实现当面临超出现有集群最大承载能力时,可调整集群的规模,以提高集群的承载能力,保证接入平台服务的性能和稳定性,同时在集群负载很低的时候,尽可能地减少资源的浪费。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种弹性伸缩的设备接入系统及其工作方法。
为实现上述目的,本发明采用以下技术方案:一种弹性伸缩的设备接入系统,包括微服务架构,所述微服务架构上设有设备接入单元、数据处理单元、监控单元、评估单元以及执行单元,所述微服务架构,用于设备接入单元和数据处理单元进行封装,并支持主流设备协议的接入,以容器为载体对微服务构建应用镜像,并推送到镜像仓库,并以kubernetes集群进行分布式部署,以得到分布式node工作节点以及master节点;所述设备接入单元以及所述数据处理单元部署在所述分布式node工作节点;
所述设备接入单元,用于供设备接入;
所述数据处理单元,用于实时处理接入的设备的传输数据,以得到处理结果;
所述监控单元,用于对所述设备接入单元的接入指标数据以及所述数据处理单元的任务处理指标数据进行监控,以得到监控结果;
所述评估单元,用于根据所述监控结果进行负载评估,以得到评估结果;
所述执行单元,用于根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容。
其进一步技术方案为:所述设备接入单元,用于供设备接入,将设备上报的私有协议根据协议解析配置转换成MQTT标准协议,且传输给设备的MQTT标准协议转换为设备私有协议,以得到传输数据。
其进一步技术方案为:所述数据处理单元包括EMQX中间件以及kubernetes容器;
所述EMQX中间件,用于缓冲所述设备接入单元输出的所述传输数据;
所述kubernetes容器,用于利用flink对所述传输数据进行处理,以得到处理结果。
其进一步技术方案为:所述监控单元,用于采集所述设备接入单元以及所述数据处理单元的单个节点以及相关POD资源的相关指标数据,以获取集群级别的监控数据,对数据进行分级聚合,将数据进行存储和可视化处理,以得到监控结果。
其进一步技术方案为:所述评估单元,用于根据所述监控结果对所述设备接入单元以及数据集接入单元进行负载评估,以得到评估结果。
其进一步技术方案为:所述评估单元,用于当所述设备接入单元对应节点连接并发数不小于预设的上临界值,或者,所述数据处理单元的任务积压数量高于预设的上阈值,则评估结果为扩展服务实例数量;当所述设备接入单元对应节点连接并发数低于预设的下临界值,或者,所述数据处理单元的任务积压数量低于预设的下阈值,则评估结果为收缩服务实例数量。
其进一步技术方案为:所述执行单元,用于根据所述评估结果计算副本集的期望副本数,并根据副本集的期望副本数计算伸缩量,根据伸缩量进行pod弹性扩容。
其进一步技术方案为:所述执行单元,用于根据所述评估结果计算副本集的期望副本数,并根据副本集的期望副本数计算伸缩量,当副本集的期望副本数大于当前副本数,则根据伸缩量执行扩容;当副本集的期望副本数小于当前副本数,则根据伸缩量执行缩容。
本发明还提供了一种弹性伸缩的设备接入系统的工作方法,包括:
设备接入单元接入设备;
数据处理单元实时处理接入的设备的传输数据,以得到处理结果;
监控单元对所述设备接入单元的接入指标数据以及所述数据处理单元的任务处理指标数据进行监控,以得到监控结果;
评估单元根据所述监控结果进行负载评估,以得到评估结果;
执行单元根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容。
其进一步技术方案为:所述执行单元根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容,包括:
执行单元根据评估单元周期性检查pod副本集中所有副本的负载状态,自动调整副本数量,根据伸缩策略计算副本集的期望副本数,检查副本集的期望副本数与当前副本数,当副本集的期望副本数大于当前副本数,则执行容器扩容;当副本集的期望副本数小于当前副本数,则执行容器缩容。
本发明与现有技术相比的有益效果是:本发明通过在微服务架构上设有设备接入单元、数据处理单元、监控单元、评估单元以及执行单元,且以kubernetes集群进行分布式部署,当应用负载降低时,及时回收空闲资源,降低应用运行成本并提高资源利用率,在面临超过现有集群最大承载能力的时候,通过评估结果确定伸缩量,调整集群的规模,以提高集群的承载能力,从而保证用户体验和平台服务的稳定性。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种弹性伸缩的设备接入系统的架构示意图;
图2为本发明实施例提供的一种弹性伸缩的设备接入系统的示意框图;
图3为本发明实施例提供的监控单元的工作示意图;
图4为本发明实施例提供的设备接入单元以及数据处理单元的工作示意图;
图5为本发明实施例提供的一种弹性伸缩的设备接入系统的工作示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的一种弹性伸缩的设备接入系统100的架构示意图;图2为本发明实施例提供的一种弹性伸缩的设备接入系统100的示意框图。本系统以微服务架构对底层设备接入和数据通信传输等过程进行了封装,并支持主流设备协议的接入,然后以容器为载体对微服务快速构建应用镜像并push到镜像仓库,最后以高可用的kubernetes集群实现分布式部署,并在原有kubernetes架构基础上扩展了监控、评估和执行三个单元。当面临超出现有集群最大承载能力的时候,基于评估模块评估结果调整集群的规模以提高集群的承载能力,从而保证接入平台服务的性能和稳定性,同时在集群负载很低的时候,尽可能地减少资源的浪费。
上述的设备接入系统是连接物联网采集设备和大数据中心的枢纽,需要解决大规模物联网设备的接入、部署和管理问题,同时需要具备良好的性能、快速分发部署和弹性伸缩能力,使得大数据中心和终端设备能够充分解耦。
图2为本发明实施例提供的一种弹性伸缩的设备接入系统100的示意框图。如图2所示,一种弹性伸缩的设备接入系统100,包括微服务架构,所述微服务架构上设有设备接入单元101、数据处理单元102、监控单元103、评估单元104以及执行单元105,所述微服务架构,用于设备接入单元101和数据处理单元102进行封装,并支持主流设备协议的接入,以容器为载体对微服务构建应用镜像,并推送到镜像仓库,并以kubernetes集群进行分布式部署,以得到分布式node工作节点以及master节点;所述设备接入单元101以及所述数据处理单元102部署在所述分布式node工作节点;
所述设备接入单元101,用于供设备接入;
所述数据处理单元102,用于实时处理接入的设备的传输数据,以得到处理结果;在本实施例中,处理结果是指对设备的传输数据采用flink实时计算对应制定的数据处理服务所得的结果。
所述监控单元103,用于对所述设备接入单元101的接入指标数据以及所述数据处理单元102的任务处理指标数据进行监控,以得到监控结果;在本实施例中,监控结果是指所述设备接入单元101的接入指标数据以及所述数据处理单元102的任务处理指标数据。。
所述评估单元104,用于根据所述监控结果进行负载评估,以得到评估结果;在本实施例中,评估结果是指根据监控结果确定的设备接入单元和数据处理单元的负载情况。
所述执行单元105,用于根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容。在本实施例中,副本集的期望副本数是指容器的希望副本集数量。
在本实施例中,本系统具备基于应用负载变化自动调整资源供应的能力。以容器为载体对微服务架构快速构建应用镜像并push到镜像仓库,当有需要部署这个项目时,直接pull镜像启动容器。当应用负载过高时,系统自动增加资源供应以保障应用的服务质量;当应用负载降低时,系统及时回收空闲资源,降低应用运行成本并提高资源利用率。在面临超过现有集群最大承载能力的时候,通过调整集群的规模来提高集群的承载能力,从而保证用户体验和平台服务的稳定性。当面对城市千万级设备接入时,单个服务无法处理所有的长连接,基于灾害设备距离设备接入服务集群的大小,采取就近接入的原则,按照城市区域分布式部署实现集群能力水平扩展。
在一实施例中,请参阅图2,上述的设备接入单元101,用于供设备接入,将设备上报的私有协议根据协议解析配置转换成MQTT标准协议,且传输给设备的MQTT标准协议转换为设备私有协议,以得到传输数据。
具体地,设备接入单元101负责设备接入网络,通过增加协议解析配置服务和标准协议解析服务,实现通过简单的配置支持更多私有协议设备的接入,提升设备接入效率和接入能力,包括协议解析配置服务、标准协议解析服务、设备接入服务和路由转发服务,其中,协议解析配置服务通过映射配置实现将私有物联网协议和标准MQTT协议之间的转换关系;设备接入单元101实现将设备上报的私有协议根据协议解析配置转换成MQTT标准协议和将平台发给设备的MQTT标准协议转换出设备私有协议;标准协议解析服务实现私有协议和MQTT标准协议的转换;路由转发服务实现将据安全传输到EMQX中间件。
在一实施例中,上述的数据处理单元102包括EMQX中间件以及kubernetes容器;
所述EMQX中间件,用于缓冲所述设备接入单元101输出的所述传输数据;
所述kubernetes容器,用于利用flink对所述传输数据进行处理,以得到处理结果。
具体地,数据处理单元102解决大规模设备并发上报数据导致的性能瓶颈问题,实现设备数据的实时处理,引入具备高吞吐量的消息中间件EMQX,用作接入层数据缓冲,与大数据中心保持分离,实现削峰填谷、异构解耦的目的。同时,利用kubernetes容器的强大扩展性,基于flink实时计算系统定制开发的数据处理服务,用作设备接入数据的实时预处理,并将处理后的结果数据写入大数据中心。
请参阅图4,设备接入单元101实现多种异构设备的接入,对底层设备接入和数据通信传输等过程进行了封装,支持主流物联网协议的接入,并选择轻量级、高可靠的MQTT协议作为标准通信协议,灾害设备本地计算能力有限,更多的需要联网决策,设备的特性决定了对实时性有很高的要求。当面对千万级设备接入时,单个服务无法处理所有的长连接,因而基于灾害设备距离设备接入服务集群的大小,采取就近接入的原则,按照城市区域分布式部署实现集群能力水平扩展,可以有效解决千万级设备并发接入问题;数据处理单元102主要解决大规模设备并发上报数据时存在的性能瓶颈,通过消息中间件用作接入层数据缓冲,与大数据中心分离,实现削峰填谷、异构解耦的目的,数据处理服务对接入的设备数据进行预处理,并将处理结果数据写入大数据中心保存。
在本实施例中,上述的kubernetes集群对master节点采用高可用active/standby的部署,并在原有kubernetes架构基础上扩展了监控、评估和执行三个单元。Etcd采用三个节点的集群保证高可用性,设备接入单元101和数据处理单元102部署在分布式node工作节点。当面临超出现有集群最大承载能力的时候,基于评估单元104的评估结果调整集群的规模以提高集群的承载能力,从而保证接入平台服务的性能和稳定性;在集群负载很低的时候,减小集群规模,尽可能地减少资源的浪费。
在一实施例中,请参阅图2,所述监控单元103,用于采集所述设备接入单元101以及所述数据处理单元102的单个节点以及相关POD资源的相关指标数据,以获取集群级别的监控数据,对数据进行分级聚合,将数据进行存储和可视化处理,以得到监控结果。
具体地,目前Kubernetes支持HPA控制器从三种不同的API获取指标,Metrics.k8s.io、Custom..k8s.io和External..k8s.io。节点容器的负载信息主要采用kubelet组件内的cAdvisor组件采集,在kubernetes集群中每个启动了kubelet的节点使用cAdvisor提供的metrics接口获取该pod节点所有容器相关的性能指标数据。cAdvisor只能采集所述设备接入单元以及所述数据处理单元的单个节点以及相关POD资源的相关指标数据,通过metrics server获取集群级别的监控数据,metrics server以一个pod对象运行,从集群内所有的节点的kubelet内建的cAdvisor获得工作负载中的各种资源的使用数据,然后对数据进行分级聚合,最后将数据导入prometheus进行存储,利用grafana进行可视化,实现周期性的采集服务实例的运行指标数据。
设备接入单元101的负载和接入设备数量及数据采集周期紧密相关,因而通过自定义指标补充选取设备接入数量及数据采集周期指标作为评估扩展指标,设备数据采集周期为固定值,设备接入数量为不同区域设备接入层服务实时接入设备的数量,相关数据存储在大数据中心;数据处理单元102的负载主要为数据处理能力大小紧密相关,这里补充选取消息中间件积压队列的大小和单个节点的历史平均处理能力指标作为评估扩展指标,消息中间件积压队列大小通过数据处理服务消费队列数据时周期性读取信息更新到大数据中心,单个节点的历史平均处理能力通过历史处理数据和负载情况的综合度量,相关数据存储在大数据中心。
在一实施例中,请参阅图3,监控单元103负责获取pod副本集的负载信息,完成指标数据监控、存储、异常告警和可视化展现工作。节点容器的负载信息采用kubelet组件内的cAdvisor组件采集,自定义指标通过prometheus从大数据中心采集相关的指标,由于两者数据格式不兼容,需要通过prometheus适配器将prometheus采集到的数据转换成k8sapi接口可以识别的格式。评估单元104对指标数据进行评估。
在一实施例中,请参阅图2,上述的评估单元104,用于根据所述监控结果对所述设备接入单元101以及数据集接入单元进行负载评估,以得到评估结果。
具体地,目前Kubernetes默认只支持CPU、内存伸缩策略,但是并非所有的系统都适合使用CPU和内存指标来度量其负载,很多时候CPU和内存的使用情况并不能真实反映实际业务的运行情况,使用其来扩展、收缩容器会导致出现不准确的问题,甚至出现没有完成的业务请求容器被回收等情况。基于城市灾害设备采集数据周期固定、数据量大的特点,本系统采用阈值响应式伸缩方法,对设备接入单元101和数据处理单元102采用选取不同的阈值指标进行评估。
设备接入单元101的服务基于接入设备基础性能指标融合设备接入数量和采集周期作为度量指标;数据处理单元102的服务基础性能指标融合消息中间件积压队列任务数量和单个处理节点历史平均处理能力指标作为度量指标。所有现有POD负载情况进行评估,发现并选定待扩容或缩容的对象,然后对指定微服务进行扩缩容,保障副本集的负载始终处于目标状态,满足资源需求和供给的平衡。
在一实施例中,请参阅图2,上述的评估单元104,用于当所述设备接入单元101对应节点连接并发数不小于预设的上临界值,或者,所述数据处理单元102的任务积压数量高于预设的上阈值,则评估结果为扩展服务实例数量;当所述设备接入单元101对应节点连接并发数低于预设的下临界值,或者,所述数据处理单元102的任务积压数量低于预设的下阈值,则评估结果为收缩服务实例数量。
具体地,设备接入单元101的评估过程如下:设备接入的并发数量能够真实反映实际服务的负载情况,服务能够处理的最大长连接数就是单个接入服务节点的最大处理能力,因此选取并发接入设备数作为评估指标,由于不同设备采集周期和数量大小有差异,不同的设备单个服务能够处理的最大长连接数也会有差异。通过对不同设备历史运行数据进行拟合得到不同设备的最大连接数,当节点连接并发数大于等于最大临界值,就扩展服务实例数量;如果低于某个临界值,则按照一定的方式收缩服务实例数量。
数据处理单元102的评估过程如下:数据处理单元102的服务单位时间内能够处理的任务数量可以真实反映处理服务的负载情况,因此选取消息中间件积压队列任务数量作为评估指标,通过对历史处理数据进行拟合得到积压任务最大数和最小值。当任务积压数量高于某个阈值,超过现有处理服务的处理能力时,就扩展处理服务实例数量;如果低于某个阈值,则按照一定的方式收缩处理服务实例数量。
在一实施例中,请参阅图2,上述的执行单元105,用于根据所述评估结果计算副本集的期望副本数,并根据副本集的期望副本数计算伸缩量,根据伸缩量进行pod弹性扩容。
在一实施例中,请参阅图2,上述的执行单元105,用于根据所述评估结果计算副本集的期望副本数,并根据副本集的期望副本数计算伸缩量,当副本集的期望副本数大于当前副本数,则根据伸缩量执行扩容;当副本集的期望副本数小于当前副本数,则根据伸缩量执行缩容。
具体地,基于评估单元104的评估结果计算副本集的期望副本数,并将期望副本数发送给副本控制器Deployment,副本控制器根据期望副本数计算伸缩量;如果期望副本数大于当前副本数,则执行扩容;如果小于,则执行缩容。然后Kubelet通过API Server获取pod创建或删除信息,具体执行创建和删除工作,调整指定的容器集合中的副本数实现微服务水平扩缩容。当应用负载过高时,系统自动增加资源供应以保障应用的服务质量;当应用负载降低时,系统及时回收空闲资源,降低应用运行成本并提高资源利用率。
在一实施例中,如图1所示,该弹性伸缩的设备接入系统以高可用的kubernetes集群实现分布式部署,基于灾害设备采集数据周期固定、数据量大的特点,在原有kubernetes架构基础上扩展了监控、评估和执行三个单元,监控单元103获取设备接入单元101和数据处理单元102上报性能指标数据,评估单元104根据监控结果的服务性能序列指标、Pod节点指标、Node节点指标等进行负载评估,执行单元105负责计算期望副本集,也就是副本集的期望副本数,并完成pod弹性扩容。其中,master节点是集群的中心控制节点,负责整个集群的管理和控制,负责资源调度、访问控制、服务接口以及pod生命周期控制等工作。Node节点也就是上述的分布式node工作节点,该节点是kubernetes集群的工作负载节点,它受master节点管理,并执行maser节点分配的任务。Node节点可以在运行期间动态地添加到kubernetes集群中,并且当一个node节点宕机时,它上面的工作负载会被master节点自动转移到其它节点。API server模块的核心功能是提供kubernetes各类资源对象的增删改查和watch HTTP rest接口等功能。它是集群模块间数据交互和通信的中心枢纽,集群中各个功能模块通过api server将信息存入etcd组件中。deployment负责确保任何时候集群中一个资源对象RC所关联的pod的副本数保持期望值;Etcd是一种持久化、轻量级的分布式键值数据存储系统,用于存储集群的配置数据。Kubernetes使用etcd保存集群的网络配置信息以及各种对象的状态和原信息。每个node节点都会运行一个kubelet进程,它执行master节点下发到各节点的任务,并具体管理节点上的pod以及pod内的容器。每个kubelet进程还会在api server上注册自己的信息,并定期向master节点返回本节点的信息,kube-proxy用于解决外部网络访问集群内的应用服务程序,它作为微服务的网络代理运行在node节点上,负责将对微服务的访问请求转发到对应的一组pod实例。
上述的一种弹性伸缩的设备接入系统100,通过在微服务架构上设有设备接入单元101、数据处理单元102、监控单元103、评估单元104以及执行单元105,且以kubernetes集群进行分布式部署,当应用负载降低时,及时回收空闲资源,降低应用运行成本并提高资源利用率,在面临超过现有集群最大承载能力的时候,通过评估结果确定伸缩量,调整集群的规模,以提高集群的承载能力,从而保证用户体验和平台服务的稳定性。
在一实施例中,还提供了一种弹性伸缩的设备接入系统100的工作方法,包括:
设备接入单元101接入设备;
数据处理单元102实时处理接入的设备的传输数据,以得到处理结果;
监控单元103对所述设备接入单元101的接入指标数据以及所述数据处理单元102的任务处理指标数据进行监控,以得到监控结果;
评估单元104根据所述监控结果进行负载评估,以得到评估结果;
执行单元105根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容。
具体地,上述的执行单元105根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容,包括:
执行单元105根据评估单元104周期性检查pod副本集中所有副本的负载状态,自动调整副本数量,根据伸缩策略计算副本集的期望副本数,检查副本集的期望副本数与当前副本数,当副本集的期望副本数大于当前副本数,则执行容器扩容;当副本集的期望副本数小于当前副本数,则执行容器缩容。
将微服务以pod的方式部署到kubernetes集群上并为其分配运行所需的资源,包括cpu、内存和存储等。Kubernetes为每个service分配一个全局唯一的虚拟IP地址,这个虚拟IP地址被称为cluster IP。service一旦创建,其cluster IP在整个生命周期不会改变,因此可以轻松实现服务发现。示范应用或者其它服务可以通过cluster IP加上端口号访问该服务。Service相当于微服务架构中的一个微服务,它是一组pod提供服务的抽象,代表一个服务的访问入口,用户或其它服务可以通过这个入口访问其抽象的pod,service会将请求自动转发到pod。HPA通过跟踪分析所有目标pod的负载变化信息,利用Deployment控制调整目标pod的副本数。执行单元105通过周期性检查pod副本集中所有副本的负载状态,自动调整副本数量,保证应用服务质量的同时提高集群的资源利用率。根据伸缩策略计算期望副本数,副本控制器Deployment检查期望副本数与当前真实副本的数量,如果期望值大于真实值,则进行扩容,如果期望值小于真实值,则进行缩容。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述一种弹性伸缩的设备接入系统100的工作方法的具体实现过程,可以参考前述一种弹性伸缩的设备接入系统100实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种弹性伸缩的设备接入系统,其特征在于,包括微服务架构,所述微服务架构上设有设备接入单元、数据处理单元、监控单元、评估单元以及执行单元,所述微服务架构,用于设备接入单元和数据处理单元进行封装,并支持主流设备协议的接入,以容器为载体对微服务构建应用镜像,并推送到镜像仓库,并以kubernetes集群进行分布式部署,以得到分布式node工作节点以及master节点;所述设备接入单元以及所述数据处理单元部署在所述分布式node工作节点;
所述设备接入单元,用于供设备接入;
所述数据处理单元,用于实时处理接入的设备的传输数据,以得到处理结果;
所述监控单元,用于对所述设备接入单元的接入指标数据以及所述数据处理单元的任务处理指标数据进行监控,以得到监控结果;
所述评估单元,用于根据所述监控结果进行负载评估,以得到评估结果;
所述执行单元,用于根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容。
2.根据权利要求1所述的一种弹性伸缩的设备接入系统,其特征在于,所述设备接入单元,用于供设备接入,将设备上报的私有协议根据协议解析配置转换成MQTT标准协议,且传输给设备的MQTT标准协议转换为设备私有协议,以得到传输数据。
3.根据权利要求2所述的一种弹性伸缩的设备接入系统,其特征在于,所述数据处理单元包括EMQX中间件以及kubernetes容器;
所述EMQX中间件,用于缓冲所述设备接入单元输出的所述传输数据;
所述kubernetes容器,用于利用flink对所述传输数据进行处理,以得到处理结果。
4.根据权利要求1所述的一种弹性伸缩的设备接入系统,其特征在于,所述监控单元,用于采集所述设备接入单元以及所述数据处理单元的单个节点以及相关POD资源的相关指标数据,以获取集群级别的监控数据,对数据进行分级聚合,将数据进行存储和可视化处理,以得到监控结果。
5.根据权利要求1所述的一种弹性伸缩的设备接入系统,其特征在于,所述评估单元,用于根据所述监控结果对所述设备接入单元以及数据集接入单元进行负载评估,以得到评估结果。
6.根据权利要求5所述的一种弹性伸缩的设备接入系统,其特征在于,所述评估单元,用于当所述设备接入单元对应节点连接并发数不小于预设的上临界值,或者,所述数据处理单元的任务积压数量高于预设的上阈值,则评估结果为扩展服务实例数量;当所述设备接入单元对应节点连接并发数低于预设的下临界值,或者,所述数据处理单元的任务积压数量低于预设的下阈值,则评估结果为收缩服务实例数量。
7.根据权利要求1所述的一种弹性伸缩的设备接入系统,其特征在于,所述执行单元,用于根据所述评估结果计算副本集的期望副本数,并根据副本集的期望副本数计算伸缩量,根据伸缩量进行pod弹性扩容。
8.根据权利要求7所述的一种弹性伸缩的设备接入系统,其特征在于,所述执行单元,用于根据所述评估结果计算副本集的期望副本数,并根据副本集的期望副本数计算伸缩量,当副本集的期望副本数大于当前副本数,则根据伸缩量执行扩容;当副本集的期望副本数小于当前副本数,则根据伸缩量执行缩容。
9.一种弹性伸缩的设备接入系统的工作方法,其特征在于,包括:
设备接入单元接入设备;
数据处理单元实时处理接入的设备的传输数据,以得到处理结果;
监控单元对所述设备接入单元的接入指标数据以及所述数据处理单元的任务处理指标数据进行监控,以得到监控结果;
评估单元根据所述监控结果进行负载评估,以得到评估结果;
执行单元根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容。
10.根据权利要求9所述的一种弹性伸缩的设备接入系统的工作方法,其特征在于,所述执行单元根据所述评估结果计算副本集的期望副本数,并根据所述副本集的期望副本数进行pod弹性扩容,包括:
执行单元根据评估单元周期性检查pod副本集中所有副本的负载状态,自动调整副本数量,根据伸缩策略计算副本集的期望副本数,检查副本集的期望副本数与当前副本数,当副本集的期望副本数大于当前副本数,则执行容器扩容;当副本集的期望副本数小于当前副本数,则执行容器缩容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111635103.1A CN114301917A (zh) | 2021-12-27 | 2021-12-27 | 一种弹性伸缩的设备接入系统及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111635103.1A CN114301917A (zh) | 2021-12-27 | 2021-12-27 | 一种弹性伸缩的设备接入系统及其工作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114301917A true CN114301917A (zh) | 2022-04-08 |
Family
ID=80971225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111635103.1A Pending CN114301917A (zh) | 2021-12-27 | 2021-12-27 | 一种弹性伸缩的设备接入系统及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301917A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915460A (zh) * | 2022-04-28 | 2022-08-16 | 中国人民解放军战略支援部队信息工程大学 | 一种面向容器云的异构动态扩缩容装置及方法 |
CN115333928A (zh) * | 2022-07-12 | 2022-11-11 | 中国电信股份有限公司 | 网络预警方法、装置、电子设备及存储介质 |
CN115373859A (zh) * | 2022-10-26 | 2022-11-22 | 小米汽车科技有限公司 | 基于Kubernetes集群的模型服务容量调整方法及其装置 |
-
2021
- 2021-12-27 CN CN202111635103.1A patent/CN114301917A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915460A (zh) * | 2022-04-28 | 2022-08-16 | 中国人民解放军战略支援部队信息工程大学 | 一种面向容器云的异构动态扩缩容装置及方法 |
CN114915460B (zh) * | 2022-04-28 | 2023-05-05 | 中国人民解放军战略支援部队信息工程大学 | 一种面向容器云的异构动态扩缩容装置及方法 |
CN115333928A (zh) * | 2022-07-12 | 2022-11-11 | 中国电信股份有限公司 | 网络预警方法、装置、电子设备及存储介质 |
CN115373859A (zh) * | 2022-10-26 | 2022-11-22 | 小米汽车科技有限公司 | 基于Kubernetes集群的模型服务容量调整方法及其装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114301917A (zh) | 一种弹性伸缩的设备接入系统及其工作方法 | |
CN102143022B (zh) | 用于ip网络的云测量装置和测量方法 | |
CN110489204A (zh) | 一种基于容器集群的大数据平台架构系统 | |
CN100481783C (zh) | 网格服务容器的控制系统 | |
WO2021031983A1 (zh) | 一种汽车诊断云平台系统、业务实现方法 | |
CN112800017B (zh) | 分布式日志采集方法、装置、介质及电子设备 | |
CN105554123B (zh) | 大容量感知云计算平台系统 | |
CN111427678A (zh) | 汽车诊断云平台中的虚拟化资源调度系统、方法 | |
KR101055548B1 (ko) | 분산 처리를 위한 시멘틱 컴퓨팅 기반의 동적 작업 스케줄링 시스템 | |
CN113596150A (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN114666335B (zh) | 一种基于数据分发服务dds的分布式系统负载均衡装置 | |
CN112162829B (zh) | 一种边缘计算场景下的资源监控数据预处理系统 | |
CN112101589B (zh) | 一种基于云计算的船舶远程技术保障系统 | |
CN110532060B (zh) | 一种混合网络环境数据采集方法及系统 | |
CN113190524A (zh) | 一种工业大数据采集方法及系统 | |
CN110099116B (zh) | 一种基于大数据的子网安全性评估方法 | |
CN111092754A (zh) | 实时接入服务系统及其实现方法 | |
CN114629782A (zh) | 一种多个云平台间抗毁接替方法 | |
CN114936071A (zh) | 一种基于边缘计算的民机机载分布式仿真系统 | |
CN114338670A (zh) | 一种边缘云平台和具有其的网联交通三级云控平台 | |
CN114124662A (zh) | 一种基于跨网环境下的资源智能化运维系统 | |
Temirov et al. | Using of edge/fog/cloud computing technologies in smart grid information flow management | |
CN106844021B (zh) | 计算环境资源管理系统及其管理方法 | |
Wang et al. | A Data-Driven Architecture Design of Stream Computing for the Dispatch and Control System of the Power Grid | |
Usmanova et al. | Providing resources in Fog Computing infrastructure: considerations on performance requirements |
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 |