首页 文章 精选 留言 我的

精选列表

搜索[协同工具],共10000篇文章
优秀的个人博客,低调大师

SSLClient 工具

import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.DefaultHttpClient; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; /** * 〈一句话功能简述〉<br> * 〈避免需要证书用于进行Https请求的HttpClient 〉 * * @author zhoumoxuan * @create 9/14/18 * @since 1.0.0 */ public class SSLClient extends DefaultHttpClient { public SSLClient() throws Exception { super(); SSLContext ctx = SSLContext.getInstance("TLS"); X509TrustManager tm = new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public X509Certificate[] getAcceptedIssuers() { return null; } }; ctx.init(null, new TrustManager[]{tm}, null); SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); ClientConnectionManager ccm = this.getConnectionManager(); SchemeRegistry sr = ccm.getSchemeRegistry(); sr.register(new Scheme("https", 443, ssf)); } }

优秀的个人博客,低调大师

Python工具

PyEnv python -V --> 显示版本 pyenv install --list --> 列出所有可以安装的包 pyenv versions --> 显示所有的版本 pyenv version --> 显示当前的版本 pyenv install versionId --> 安装 pyenv install versionId -v --> 采用缓存的方式安装 pyenv local 3.6.2 --> 在当期目录创建一个.python-version, 执行pyenv local 自动读取当前目录下的该文件修改PATH变量, 但是这种方式不是基于虚拟环境的, 没有实现隔离 pyenv virtualenv versionId envName --> 创建一个独立的虚拟环境(对PATH做了手脚, 还在工作目录~/.pyenv/versions/对应的versionId目录下创建了名为envName的目录, 虚拟环境独立提供了binary执行文件和site-packages目录) pyevn active envName --> 求换python版本(python的虚拟环境, 修理了PATH) pyenv deactive --> 退出当前虚拟化境 建议对于不同目的的project创建不同的python虚拟环境, 爬虫创建web(有flask等包), 数据分析创建datanalysis(有numpy等包) pyenv uninstall vir --> 删除虚拟化境 更改pip源 cd mkdir .pip cd .pip vim pip.conf [global] trusted-host = mirrors.aliyun.com index-url = http://mirrors.aliyun.com/pypi/simple pip freeze > /tmp/packages.list --> 导出所有已经安装的Python包 pip install -r /tmp/packages.list --> 安装所有在packages.list中的包 jupyter notebookp配置 jupyter notebook --generate-config jupyter notebook password jupyter notebook --ip 0.0.0.0 --no-browser

优秀的个人博客,低调大师

数据管道三剑客:Kafka、Flink、Spark的演进背景与协同价值

现代数据栈通常由多个专业化组件构成,其中Kafka、Flink、Spark被公认为数据管道领域的三大基石。它们并非凭空诞生,而是分别在不同的时代背景下,为解决特定的数据处理难题而设计。理解它们各自的原始驱动力、适用边界和内在局限,是架构师进行技术选型和系统整合的前提。本文将深入剖析这三者的诞生场景、核心优缺点、典型适用场景,并阐述三者组合后如何构建一套既满足实时性又兼顾历史分析的融合数据架构,以及这种架构对企业数据治理与价值利用的深远意义。

优秀的个人博客,低调大师

模组PACK线数据架构的“车速差”难题:高频采集与MES系统的协同实战

方壳电芯模组PACK线在储能和动力电池制造领域已大规模部署,产能指标普遍达到6到8PPM,模组节拍可达27JPH,一次良品率要求不低于99%。与此同时,随着CTP技术的大规模普及,模组设计的集成度持续走高,传统的“电芯-模组-Pack”三级结构被简化为“电芯-Pack”两级,这对焊接熔深、孔隙率以及装配精度的要求从毫米级推向了微米级。但产能数字背后隐藏着一个结构性问题:产线的数据采集能力远远滞后于物理吞吐能力。行业头部实践的自动化程度可达86%以上,搭载高精度机械臂、AI视觉检测系统和数字化MES平台。然而高自动化带来的是数据量的指数级增长——单条产线部署的传感器往往超过200个,涵盖视觉相机、位移传感器、压力变送器等各类采集终端。当产线节拍提升至15PPM甚至更高时,数据系统面临的压力成倍增加。这不是设备精度的问题,而是架构设计的问题。在实地调研多条模组产线的过程中,数据架构层面的问题呈现出三个共性特征,每一个都直接作用于产线的质量和效率。协议异构导致的数据断流。 方壳模组线属于典型的非标定制产线,设备供应商通常是多家拼凑而成:裁线和压接设备走Modbus RTU,机器人排线走OPC UA,焊接控制器用的是私有的二进制流协议,视觉检测系统输出的是自定义XML格式,还有大量人工工位根本不产生数字信号。这些设备物理上连在同一个车间里,但数据层面各自说各自的方言。根据一条典型方壳模组线的现场测算,产线每日产生的工艺、设备、质检原始数据超过200万条,但其中有效接入MES系统的比例不足65%,排线位移、压接动态曲线、焊接过程参数等核心工艺数据大量缺失。时钟不同步导致的数据失准。 模组线的关键工序——激光焊接——要求在毫秒级精度内监测功率和速度。但PLC的扫描周期是毫秒级,SCADA的轮询周期受限于通讯负载,通常设置在50ms甚至100ms。当焊接控制器检测到一次20ms脉宽的能量骤降时,在传统的轮询机制下这个事件很可能落在两个采样点之间,完全被漏掉。最终MES系统存下了电芯条码和终检结果,但导致不良的根本原因——那20ms的功率波动——从架构缝隙里蒸发了。这种现象在工程上被称为“高频故障的隐形化”。MES数据库写入瓶颈。这是最容易被忽视却影响最深远的隐患。MES系统本质上是事务型处理系统,而焊接、数据采集是典型的实时系统。两者之间存在显著的“车速差”:MES是“慢性子”,高频采集是“急性子”。Busbar激光焊接工位采用EtherCAT实时总线,激光功率与反射光强的采样频率常高达10kHz甚至1MHz;扫码枪读取电芯码仅几赫兹。当200多个传感器以原始频率向中央数据库灌数据时,传统关系型数据库的事务日志会迅速爆满,IO延迟从毫秒级飙升至秒级。这不仅导致查询变慢,甚至会阻塞产线的过站放行信号,直接拉低整线OEE。针对这三类痛点,行业内的共识方向是用边缘计算做“数据前置精炼”,在数据产生的源头完成清洗、降维和结构化,而不是把所有脏活累活推给云端。架构的核心思路是分层解耦。设备接入层负责兼容多协议,边缘计算层负责实时处理和规则校验,平台层负责数据治理和业务赋能,三层独立演进、标准化交互。这套架构不再追求全量原始数据的无脑上传,而是基于工艺关键度做“价值采集”。设备接入层:协议统一与高频采集。保留产线原有PLC、伺服驱动器、激光焊机、线扫视觉相机等全部硬件,通过工业交换机做协议汇聚,老旧串口设备搭配RS485转以太网网关统一接入。核心改动在PLC程序:将关键工艺变量的采集移至OB35循环中断块,周期设为5ms,通过OPC UA Pub/Sub主动推送数据,替代传统DA轮询模式。实测表明,这种推送机制将带宽消耗降低约60%,支持1kHz高频传感信号接入。边缘计算层:高频数据在源头完成特征提取。这是架构变化的核心。边缘节点部署轻量级流处理框架,配合嵌入式时序数据库做本地缓存。关键在于“降采样与特征提取”的策略设计:对于激光焊接过程,边缘节点不需要上传每微秒一次的原始功率值,而是实时计算该次焊接的“能量积分”“峰值功率”“上升沿斜率”以及“反射波动方差”四个特征值。这个处理将几十MB的原始数据压缩为几百字节的特征标签,仅将特征值与异常波形索引上传云端,数据采集延迟可以控制在50ms以内。对于视觉检测,边缘端直接运行轻量化推理模型,实时输出OK/NG判定结果,仅将NG缺陷图像裁剪后压缩上传,带宽与存储需求在实际案例中降低了90%以上。时钟同步问题在边缘层一并解决。边缘网关以NTP同步为基准,所有工序数据统一打上毫秒级时间戳,消除跨设备的时间漂移。平台层:混合存储与条码索引。 采用“时序数据库+关系型数据库+对象存储”的混合存储策略。时序数据库专门存储焊接波形特征、充放电曲线等高频时序数据,支持高并发写入与降采样查询;关系型数据库承载工单、BOM、质检结果等业务数据;对象存储归档视觉图像和异常波形原始文件。数据模型的设计有一项关键决策:必须打破

优秀的个人博客,低调大师

推理成本显性化之后:端云协同语音系统的模型分层路由设计

信号一:推理成本首次成为财报单列项。 某头部云厂商最新一季财报首次将 AI 应用业务单独披露:该板块收入约 33 亿元,经调整 EBITA 亏损约 139 亿元,亏损同比扩大逾三倍。官方对亏损扩大的解释中,明确包含"C 端应用推理成本增加"。这意味着推理成本第一次从工程指标上升为财务指标,成为管理层与资本市场的显性议题。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册