物联网平台建设方案一
- 系统概述
构建物联网全域支撑服务能力,为实现学院涵盖物联网设备的全面感知、全域互联、全程智控、全域数字基底、全过程统筹管理奠定基础,为打造智能化提供坚实后台基石。
物联网平台向下接入各种传感器、终端和网关,向上通过开放的实施分析、实施服务各种能力,快速集成融合数据。
平台解决工业现场的各类型物联网数据的适配接入、智能分析、实时服务、以及物联网数据呈现的问题。
本项目针对现有设备设施情况,梳理设备物模型,为物联网数据接入提供支撑;构建智能分析机制,为设备健康检测、故障预警提供支撑;以及选取一个车间构建组态展现模式,动态的呈现车间的运行情况。
物联网平台满足智能化的需求,建设全域支撑能力,逻辑架构图如下图:
物联网平台主要有数据网关、实时服务、智能分析、数据呈现、以及设备管理和设备维护组成。
数据网关:采用协议适配技术,适配各类型生产制造过程中的设备,提供统一的物联网数据接入标准;
智能分析:采用实时流数据处理技术,对数据网关接入的实时数据进行在线分析,并且建立规则库能够对分析的结果进行告警推送;
实时服务:采用MQTT+接口方式,提供实时服务,为前端展现、组态展现提供实时数据服务;
数据呈现:采用组态方式对现场的生产制造过程进行数据呈现;
设备管理、设备维护:对所有设备、设施进行统一的注册、以及建立物模型管理机制,对设备的全生命周期进行管理。
数据网关是负责对接工业物联设备的适配器,针对不同类型的物联网协议提供通信的统一适配接口,能够对设备的上行、下行数据进行编解码。
协议网关负责对接设备,采集数据内容,架构上采用可拔插的设计模式,将数据网关划分为协议网关、编码组件、解码组件、转换规则组件组成。由协议网关对接设备,对数据进行编解码、并处理,示意图如下:
协议网关是负责对接设备,实现对设备数据采集,以及涉及下行指令的对数据进行下发控制。针对常用的物联网协议提供支持,包括:MQTT数据网关、ModBus数据网关、TCP/UDP数据网关、OPC UA数据网关、WebSocket数据网关以及可以根据规范进行自定义数据网关。
-
-
-
-
-
- MQTT数据网关
-
-
-
-
MQTT数据网关用于实现与基于MQTT协议通信的设备进行互联,支持基于TCP协议、WebSocket协议进行MQTT通信,针对上行数据使用配置的解码组件对数据进行解码,形成有效的数据集,并发送到消息队列中。
-
-
-
-
-
- ModBus数据网关
-
-
-
-
构建ModBus通信协议连接设备,支持ASCII、RTU、TCP模式对数据进行传输。
-
-
-
-
-
- TCP/UDP数据网关
-
-
-
-
提供基于TCP/UDP协议的自定义数据网关,可以结合编码组件、解码组件对数据进行解码,实现双向通信。
-
-
-
-
-
- OPC UA数据网关
-
-
-
-
通过OPC UA,所有需要的信息在任何时间,任何地点对每个授权的应用,每个授权的人员都可用。这种功能独立于制造厂商的原始应用,编程语言和操作系统。 OPC UA是目前已经使用的OPC 工业标准的补充,提供重要的一些特性,包括如平台独立性,扩展性,高可靠性和连接互联网的能力。 OPC UA不再依靠DCOM,而是基于面向服务的架构,OPC UA的使用更简便。现在,OPC UA已经成为独立于微软,UNIX或其他的操作系统企业层和嵌入式自动组建之间的桥梁。
-
-
-
-
-
- WebSocket数据网关
-
-
-
-
基于WebSocket协议订阅设备推送的数据内容,采用解码组件对数据报文进行解码,形成有效的数据集,并发送到消息队列中。
-
-
-
-
-
- 自定义数据网关
-
-
-
-
定义统一的数据网关接口,能够根据自己的需求实现特定的协议协议处理过程,采用Docker容器方式进行运行和管理数据网关。
解码组件是负责解析从物联网设备上采集的数据内容,提供常用的内置解码器,包括:JSON解码、XML解码、CSV解码、二级制解码,以及可以按照规范来对实现自定义的解码器。
编码组件负责将接收到的指令编码成为物联网设备的传输格式下发到物联网设备中,JSON解码、XML解码、CSV解码、二级制解码,以及可以按照接口规范实现自定义的编码器。
基于容器实例方式对数据网关的运行情况进行管理,支持对网关进行维护操作。
- 运行监控:支持对数据网关实例的CPU、内存、网络流量、自动重启次数进行监控;
- 维护操作:支持对数据网关进行重启、日志查看、命令执行等操作。
对接入的物联网设备进行统一的管理,以及对物模型进行定义,为数据网关采集物联网数据、数据分析提供基础支撑。
-
-
-
- 设备信息维护
-
-
对物联设备进行注册维护,包括以下三部分内容:
- 设备基础信息:包括设备的基础描述信息,包括:设备编码、设备名称、二维码、品牌、型号、出厂日期、尺寸、总量、材质、使用寿命、价格、供应商单位名称、供应商电话、供应商联系人、供应商网址、供应商邮箱、合同编码、使用日期、保修周期、合同截止日期等
- 设备测点信息:设备监测点信息,包括:测点名称、数据类型、描述、有效值范围等
- 表单扩展信息:包括针对不同设备类型创建的模板填写的属性信息。
-
-
- 设备分类标签
-
-
从多个维度对设备进行分类,提供分类维度管理、分类标签定义,一般常用的设备分类维度:
维度 | 标签值(示意) | 说明 |
物理位置 | XX厂房、XX楼层、XX房间 | |
所在设施 | ||
管理岗位 | 设备管理上所属的岗位 |
功能上采用多维度的方式进行管理,如下图所示。
-
-
-
- 物模型管理
-
-
对接入的物联网对象进行模型化定义,以便可以对设备进行扩展。
-
-
-
-
- 物模型维护
-
-
-
梳理各类型的设备信息,针对设备类型以及生产厂家、规格型号的设备,定义物模型,形成设备基础数据。
-
-
-
-
- 测点管理
-
-
-
对物模型关联的物联网测点信息进行管理,统一定义物联网测点数据的格式、标准、以及规则。
-
-
-
-
- 表单管理
-
-
-
对设备涉及的扩展信息,通过表单来进行维护和管理。
对设备维护过程中,涉及的维护活动进行定义,包括:活动的属性、活动行为值、活动的扩展信息。
-
-
-
-
- 维护表单模板
-
-
-
根据维护的行为需要,按照岗位职责进行组合维护活动,形成维护表单,并且提供多维度的维护表单标签功能,能够按照需求生成维护的表单。
-
-
-
-
- 维护任务管理
-
-
-
对下发或者生成的任务进行维护,根据日常巡检的情况记录到表单中。
构建实时计算引擎,接收物联网采集的数据进行实时处理,按照预定义的规则对数据进行实时分析。
提供实时计算、算法建模两种模式对物联网数据进行分析,如下图所示:
实时开发软件基于开源的分布式计算引擎(Flink、Storm)进行构建,开源的实时计算引擎已具备流式计算、任务运行调度等功能,为了方便使用以及运维管理,在开源软件基础上,封装和构建实时开发软件,包括:实时元数据管理、JAR、SQL、DAG可视化开发、任务监控与管理。
实时开发软件采用多种计算引擎,支持SQL、JAR、DAG方式构建实时任务作业,如图所示:
元数据管理模块:针对实时的元数据信息进行维护和管理,可以定义元数据的结构信息,并且将定义的元数据可以应用到不同的分布式计算系统中(Flink、Spark、Storm);
作业编排模块:提供基于WEB可视化方式进行构建实时计算作业,提供SQL作业、JAR作业、DAG作业的构建,能够满足不同场景开发实时作业的需要;
作业提交模块:将配置和开发的作业提交到Flink、Storm实时计算引擎进行执行,并且动态的检测提交的作业运行状态,同步到数据库中;
管理监控模块:读取实时计算引擎的作业监控信息,展示运行状况、以及可以查看日志信息。
流式数据处理编排:
基于人工智能、机器学习、模式识别、统计学、可视化技术等,搭建大数据建模工具和AI建模工具,提供可视化建模、Notebook 建模,集成主流机器学习、深度学习框架和丰富的标准化算法组件能力,为数据智能、数据科研、预测分析等应用快速构建和落地提供工具支持。构建故障诊断、寿命预测、能耗优化、运行态势等数据分析算法模型,进行归纳性推理,挖掘数据潜在模式和价值,满足智能监测、装备运维的智能化业务建模的场景需求。智慧电厂AI智能服务自学习。
算法开发工具主要功能包括:算法建模工具(可视化建模、Notebook建模)、模型仓库管理、算法模型服务等组成。
可视化建模模块:通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验;
Notebook建模模块:提供基于JupyterLab在线编程进行算法建模,提供专业机器学习环境,支持代码编写、运行和结果查看;
模型训练管理模块:实现对算法模型中使用到的数据集进行在线管理,支持文件数据集、数据库数据集的管理;
模型仓库模块:将可视化建模、Notebook建模的算法模型,构建到模型仓库中进行管理和使用;
模型服务模块:将算法模型以接口服务或者任务调度的方式发布进行使用。
可视化建模模块通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验,功能内容如下:
(1)构建算法模型
拖拽式实验流:通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验;
(2)内置丰富算法组件,支持用户完成数据处理、模型训练、模型评估和预测的实验流程设计和调试,覆盖主流算法应用场景;
(3)平台基于Web的IDE环境,提供丰富的B/S用户接口,界面友好易操作,通过简单地拖拽算法进行流程创建,支持算子连接、算子参数配置;
2.DAG模型维护
(1)发布DAG接口服务:将构建完成的算法模型发布成为接口服务算法模型,发布到模型仓库中;
(2)发布DAG任务调度:将构建完成的算法模型发布成为任务调度算法模型,发布到模型仓库中;
(3)算法模型维护:提供对构建的算法模型进行维护管理。
算法可视化建模如图所示。
基于DAG组件化的算法编排如图所示。
提供可扩展的算法组件注册机制:
提供各种常用的算法建模工具,能够快速的完成建模过程。
Notebook建模模块提供基于JupyterLab在线编程进行算法建模,提供专业机器学习环境,支持代码编写、运行和结果查看,功能内容如下:
1.Notebook建模
1)JupyterLab在线编程:JupyterLab在线编程,提供专业机器学习环境,支持代码编写、运行和结果查看;
2)交互式代码运行:以交互式方式进行代码运行,支持代码、Markdown文档、JSON、YML、CSV、各种格式的图片、Vega文件等多种类型;还支持插件扩展,最大化提升;
3)支持多语言:包括Scala、Python、R、Shell等,并能进行扩展;
4)支持通过API方式调用标准算法组件,内置统计机器学习、深度神经网络、自然语言处理、信号处理、运筹优化等算法;
2.Notebook引擎管理
1)创建Notebook引擎:支持创建notebook环境引擎,不同的实验环境提供不同的环境,支持共享存储,实现数据高可用和数据隔离,保证服务的高可用和资源隔离;
2)Notebook引擎维护:提供对Notebook的监控、销毁等维护功能;
3.Notebook模型维护
1)发布Notebook接口服务:将构建完成的算法模型发布成为接口服务算法模型,发布到模型仓库中;
2)发布Notebook任务调度:将构建完成的算法模型发布成为任务调度算法模型,发布到模型仓库中;
3)创建Notebook训练任务:通过开发测试的任务,创建成为Notebook训练任务,执行训练过程;
4)模型维护操作:对开发的模型维护管理,包括:查找、编辑、删除等。
提供对机器学习算法的训练任务进行管理和维护,支持同时训练多个分支流程,使得分析人员在一个工程中即可快速比对建模效果、调整优化模型。
模型训练管理模块实现对算法模型中使用到的数据集进行在线管理,支持文件数据集、数据库数据集的管理,功能内容如下:
1.训练任务管理
1)训练任务维护:提供对在线训练任务的管理和维护,包括:启用、停止、删除;
2)训练记录查看:支持在线查看运行结果、运行记录及运行日志,运行日志支持下载;
3)训练评估结果:对训练任务执行后的效果进行执行评估;
2.训练数据管理
1)创建文件数据训练集:创建文件数据集,能够在线对文件进行管理和维护,包括:上传、下载、移动、复制等;
2)创建数据库训练集:创建以数据库存储的数据集,能够对数据进行维护和管理;
3.训练过程监控:任务执行监控,对训练过程的任务进行监控,展示执行的信息。
构建模型仓库用户存储和管理各种类型的算法模型。
模型仓库模块:将可视化建模、Notebook建模的算法模型,构建到模型仓库中进行管理和使用,功能内容如下:
1.模型分类标签
1)分类维度管理:对算法模型进行多维的定义分类;
2)分类标签管理:定义分类维度对应的分类标签信息,提供给创建模型的时候进行选择;
2.模型分类管理:分类目录维护,对模型的主题分类进行维护,包括:创建、编辑、删除分类;
3.模型维护管理
1)上传PMML模型:将sklearn开发的PMML算法模型文件进行导入,上传成功后,生成模型镜像;
2)上传镜像模型:将按照接口规范开发的算法程序镜像包上传后,生成算法模型;
3)模型版本管理:对多次生成或者上传的算法模型进行版本管理和维护,支持滴历史版本的浏览;
4)模型导出:将算法模型导出为Docker镜像文件;
5)模型分类维护:对模型的主题分类信息进行创建、编辑、删除;
6)创建接口模型服务:将模型部署成为接口服务,接口服务以docker方式镜像运行;
7)创建任务调度模型服务:将模型部署成为调度任务,调度任务以docker容器镜像方式运行。
实现将算法模型发布成为接口服务、或者进行任务调度的方式进行部署和应用。
模型服务模块将算法模型以接口服务或者任务调度的方式发布进行使用,功能内容如下:
1.接口模型管理
1)创建接口模型服务:从算法模型中创建模型接口服务,配置模型的属性以及参数;
2)部署接口模型服务:将模型发布成为接口服务到K8S容器平台中运行;
3)卸载接口模型服务:将已经发布的模型接口服务进行卸载,停止对外服务;
4)删除接口模型服务:删除配置的接口模型服务;
5)接口模型服务监控:统计接口模型服务的访问情况,以及异常情况;
2.任务模型管理
1)创建任务模型服务:从算法模型中,创建定时调度类型的模型服务;
2)部署任务模型服务:部署到K8S中,启用任务调度机制;
3)卸载任务模型服务:停止已经发布的任务调度模型,并且回收运行的资源;
4)删除任务模型服务:移除已经配置的任务模型;
5)任务模型执行监控:对任务模型的执行进行记录和监控。
智能告警是根据实时分析、算法建模分析过程中,产生的事件,推送到智能告警规则,根据规则定于情况将告警进行推送到指定的目标中,示意图如下:
可以根据告警事件的内容,定义多条件组合告警,能够在触发满足条件后的规则发送告警通知。告警规则采用CEP实时事件引擎进行计算,支持表达式计算、时间窗口计算等规则。
针对告警规则匹配或者聚合后的事件,发送通知到指定的目标,支持MQTT推送通知、HTTP回调通知、Email发送通知。
基于MQTT协议的实时数据推送接口和基于HTTP的实时数据查询接口,从消息系统(Kafka)中接收物联网管理软件发送过来的实时监控数据,并对数据的内容进行格式提取和处理后,推送到MQTT服务器上,提供给各个分系统订阅,并且提供HTTP接口方式进行查询实时数据。软件架构图所示。
实时服务软件由实时消息接收、实时接口查询、实时MQTT推送、监控管理模块组成,功能描述如下:
- 实时消息接收模块:实现从分布式消息系统(Kafka)中接收感知车辆分系统发送过来的实时监控数据,并对数据的内容进行格式提取;
- 实时MQTT推送模块:将提取后的实时数据,通过预处理后推送到MQTT服务器上,提供给各个分系统订阅;
- 实时接口查询模块:提供基于REST方式接口查询实时的数据,基于实时数据SQL方式发布
- 监控管理模块:对数据接收、数据服务进行监控和管理。
BY组态介绍
体验地址:http://www.hcy-soft.com
演示地址:若依管理系统(生产环境)
相关文章:

物联网平台建设方案一
系统概述 构建物联网全域支撑服务能力,为实现学院涵盖物联网设备的全面感知、全域互联、全程智控、全域数字基底、全过程统筹管理奠定基础,为打造智能化提供坚实后台基石。 物联网平台向下接入各种传感器、终端和网关,向上通过开放的实施分…...
机器学习破局指南:零基础6个月系统训练计划
以下是为零基础学习者制定的「机器学习」系统学习计划(含学习路径资源推荐),分为6个阶段,建议学习周期4-6个月: 一、基础准备阶段(1-2周) 目标:掌握必要数学工具与编程基础 数学基础…...

mmdetection框架下使用yolov3训练Seaships数据集
之前复现的yolov3算法采用的是传统的coco数据集,这里我需要在新的数据集上跑,也就是船舶检测方向的SeaShips数据集,这里给出教程。 Seaships论文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber8438999 一、…...

unity学习52:UI的最基础组件 rect transform,锚点anchor,支点/轴心点 pivot
目录 1 image 图像:最简单的UI 1.1 图像的基本属性 1.2 rect transform 1.3 image的component: 精灵 → 图片 1.4 修改颜色color 1.5 修改材质 1.6 raycast target 1.7 maskable 可遮罩 1.8 imageType 1.9 native size 原生大小 2 rect transform 2.1 …...

STM32MP15-FSMP1A单片机移植Linux系统platform总线驱动
之前在该单片机下移植的Linux驱动是学习过程中,对Linux内核驱动的引导学习,接下来才是比较正常的驱动开发。 在Linux内核中,对于驱动的处理,一般会通过总线进行设备信息和设备驱动的匹配,来达到自动检测外设连接系统以…...
Java 常见的面试题(设计模式)
一、说一下你熟悉的设计模式? **设计模式:**是一套被反复使用的代码设计经验的总结(情境中一个问题经过证实的一个解决方案)。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简…...

机器学习3-聚类
1 聚类解决的问题 知识发现,发现事物之间的潜在关系异常值检测特征提取 数据压缩的例子新闻自动分组、用户分群、图像分割、像素压缩等等 2 与监督学习比较 监督学习是需要给定X、Y,X为特征,Y为标签,选择模型,学习&a…...

html中的css
css (cascading style sheets,串联样式表,也叫层叠样式表) css规范一般约定: 1.存放CSS样式文件的目录一般命名为style或css。 2.在项目初期,会把不同类别的样式放于不同的CSS文件,是为了CSS编…...

36. Spring Boot 2.1.3.RELEASE 中实现监控信息可视化并添加邮件报警功能
1. 创建 Spring Boot Admin Server 项目 1.1 添加依赖 在 pom.xml 中添加 Spring Boot Admin Server 和邮件相关依赖: <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-w…...

Linux: 已占用接口
Linux: 已占用接口 1. netstat(适用于旧系统)1.1 书中对该命令的介绍 2. ss(适用于新系统,替代 netstat)3. lsof(查看详细进程信息)4. fuser(快速查找占用端口的进程)5. …...

Vscode的通义灵码占用空间过大问题【.lingma】
C盘空间发现没装几个软件但是空间占用太离谱了, 最后排查发现是一个.lingma的文件夹问题,这个文件夹用了我居然差不多一百G的空间, 点进去。删除掉ai训练时产生的dbc文件就好了, windowsI 打开系统设置,搜索存储&#…...

鸿蒙Next如何自定义标签页
前言 项目需求是展示标签,标签的个数不定,一行展示不行就自行换行。但是,使用鸿蒙原生的 Grid 后发现特别的难看。然后就想着自定义控件。找了官方文档,发现2个重要的实现方法,但是,官方的demo中讲的很少&…...

知识拓展:Python 接口实现方式对比:Protocol vs @implementer
Python 接口实现方式对比:Protocol vs implementer 1. 两种接口实现方式 1.1 Python Protocol(结构化子类型) from typing import Protocolclass DownloadHandlerProtocol(Protocol):def download_request(self, request: Request, spider:…...
开源程序wordpress在海外品牌推广中的重要作用
WordPress作为全球最流行的开源内容管理系统(CMS),在全球网站搭建中占据超过40%的市场份额。其强大的功能、灵活性和易用性使其成为企业进行海外品牌推广的首选平台。以下是WordPress在海外品牌推广中的重要性分析: 1. 多语言支持与本地化 WordPress通…...
【Python爬虫(89)】爬虫“反水”:助力数字版权保护的逆向之旅
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
k8s面试题总结(五)
1.考虑一种情况,即公司希望通过维持最低成本来提高其效率和技术运营速度。您认为公司将如何实现这一目标? 公司可以通过构建 CI/CD 管道来实现 DevOps 方法,但是这里可能出现的一个问题是配置可能需要一段时间才能启动并运行。 因此&#x…...

文章精读篇——用于遥感小样本语义分割的可学习Prompt
题目:Learnable Prompt for Few-Shot Semantic Segmentation in Remote Sensing Domain 会议:CVPR 2024 Workshop 论文:10.48550/arXiv.2404.10307 相关竞赛:https://codalab.lisn.upsaclay.fr/competitions/17568 年份&#…...
Spring Boot2.0之十 使用自定义注解、Json序列化器实现自动转换字典类型字段
前言 项目中经常需要后端将字典类型字段值的中文名称返回给前端。通过sql中关联字典表或者自定义函数不仅影响性能还不能使用mybatisplus自带的查询方法,所以推荐使用自定义注解、Json序列化器,Spring的缓存功能实现自动转换字典类型字段。以下实现Spri…...

从电子管到量子计算:计算机技术的未来趋势
计算机发展的历史 自古以来人类就在不断地发明和改进计算工具,从结绳计数到算盘,计算尺,手摇计算机,直到1946年第一台电子计算机诞生,虽然电子计算机至今虽然只有短短的半个多世纪,但取得了惊人的发展吗,已经经历了五代的变革。计算机的发展和电子技术的发展密切相关,…...

将CUBE或3DL LUT转换为PNG图像
概述 在大部分情况下,LUT 文件通常为 CUBE 或 3DL 格式。但是我们在 OpenGL Shader 中使用的LUT,通常是图像格式的 LUT 文件。下面,我将教大家如何将这些文件转换为 PNG 图像格式。 条形LUT在线转换(不是8x8网络)&am…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...