ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

国产PLM技术架构深度解析:底层设计、核心模块与选型要点

国产PLM技术架构深度解析:底层设计、核心模块与选型要点 这两年接触了不少准备上PLM或者准备替换PLM的企业聊到最后几乎都会问一句国产系统和国外系统到底差在哪我的回答通常不是功能列表差多少而是技术架构的底子不同。PLM行业有个挺有意思的现象功能清单可以写得天花乱坠采购场上看Demo个个流畅真正进到实施阶段才发现架构撑不住需求的系统后期每一步都在打补丁。这篇就围绕国产PLM系统的技术架构把底层设计思路、关键模块实现、以及怎么结合企业痛点做选型一次讲透。1. 先想清楚PLM技术架构到底在解什么题1.1 企业上PLM的三个真实痛点很多企业决定上PLM不是因为它时髦而是因为痛到扛不住了。结合我接触过的制造业客户最典型的痛点基本可以归为三类。第一类是研发过程不透明。图纸散落在个人电脑、共享盘、微信聊天记录里工程师改了一版叫最终版第二天又出来一个最终版2到底哪个是准的谁也说不清楚。这类企业要的不是一个存档工具而是一套能管住版本、管住状态、管住审批的规则体系。落到架构上就要求系统有严谨的数据模型和状态机机制版本能追溯、权限能控制、操作能审计。第二类是BOM数据不同步。设计部门建的物料清单和ERP里的生产物料清单经常对不上设计改一个零件采购按旧数据下单生产用新图纸加工现场一片混乱。这类企业的核心诉求是BOM多视图管理和变更传播能力设计端的改动要能受控地传导到下游业务系统不能靠人工再录一遍。第三类是跨部门协作靠开会。工艺、质量、采购各说各话评审会开完没有结论问题跟踪靠Excel。这类企业需要的是流程引擎和任务协同机制把评审、会签、变更审批全部流程化。你会发现这三个痛点对应到技术上分别考验的是对象模型、BOM引擎和流程引擎。所以看PLM不能只看界面好不好看要看底层这三样东西结不结实。1.2 从架构视角看国产与国外PLM的路线差异早期国产PLM确实走的是跟随路线很多系统从图档管理切入解决电子图纸归档这一件事架构也是典型的单体应用。后来企业需求越来越复杂国产厂商逐渐分成了两条路线。一条是重平台路线花大力气自研底层对象模型和建模工具把自己定位成企业产品数据的管理平台你能在上面配置出各种对象、字段、流程。这种架构扩展性最好但学习成本和实施周期都长对实施顾问的要求很高。另一条是重应用路线把PLM做成一个个独立应用模块图文档管理、BOM管理、变更管理各是各的成品通过主数据和接口串起来。这种架构实施快、见效快但遇到企业个性化需求时经常发现改不动跨模块的数据一致性也难保证。国外主流PLM产品则普遍走重平台路线他们对底层数据模型的沉淀超过三十年很多边界情况都考虑到了但这也带来了灵活性问题想改一个属性名可能牵动几十张表定制开发费用极高。国产系统的优势反而在于轻和贴近国内管理习惯比如对国内企业常见的型号管理、批次追溯、行政审批流的适配会更好。劣势则集中在高并发性能、复杂BOM处理、与CAD等专业软件的集成深度上。1.3 技术架构演进脉络从单体到微服务早期国产PLM大多是单体架构J2EE或.NET时代一台应用服务器加一台数据库服务器部署简单但扩展性差。一旦用户数上来报表和三维可视化同时跑应用服务器直接卡死。后来主流厂商基本都演进到了分布式架构服务层拆分出权限服务、流程服务、文档服务、BOM服务、集成服务等数据库也从单库拆成业务库、文件库、索引库。再往后就是微服务化把每个服务独立部署、独立扩展像流程引擎这种流量相对低的模块可以小规模跑文档预览这类重资源模块可以单独扩容。微服务不是银弹它带来的分布式事务、链路追踪、部署复杂度都是成本。国产PLM厂商现在普遍的做法是适度微服务核心业务模块做成可拆分的大服务外围模块独立部署既有弹性又不过度复杂。你评估一套系统不必迷信我们纯微服务架构反而要问清楚服务拆分的粒度是什么分布式事务怎么处理这些才是架构水平的分水岭。2. 国产PLM系统的主流分层架构拆解2.1 从端到存储五层架构怎么分工抛开各家厂商在命名上的包装主流国产PLM的总体架构基本可以归纳为五层。接入层负责客户端形态和访问入口。现在的趋势很明确Web端为主、桌面端为辅、移动端做审批和查看。早期国产PLM很多是C/S架构要装客户端实施和升级都痛苦。现在基本都转向B/S架构部分CAD集成场景仍保留桌面插件这是合理的——设计人员需要和SolidWorks、Creo、NX这些工具深度交互纯浏览器做不到。应用服务层是所有业务逻辑的核心。这里拆出对象服务、BOM服务、文档服务、流程服务、变更服务、权限服务、集成服务等。每一块对应一套业务能力服务之间通过统一API通信。这一层是国产PLM和国外产品差距真正拉开的地方后面会重点讲。数据层包含关系数据库、文件存储和索引存储。关系库存对象属性、BOM结构、流程实例等结构化数据文件库存CAD原文件、Office文档、轻量化模型等非结构化数据索引库存全文检索数据支撑搜一个零件号能带出所有关联文档这类场景。中间件层容易被忽略但非常关键。包括消息队列削峰填谷比如批量导入BOM、缓存Redis压会话和热点数据、搜索引擎Elasticsearch撑全文检索。有些系统还有独立的对象存储集群用MinIO或自研文件服务管理海量图纸。基础平台层则是权限框架、组织模型、日志审计、参数配置中心。架构设计得好的系统业务模块都长在统一平台上数据库连接池、缓存客户端、日志规范全是平台统一的不会出现每个模块各搞一套的情况。2.2 业务中台与服务拆分什么是好的拆分服务拆分不是越细越好而是跟着业务边界走。一个好的拆分在PLM里大概能看到这些特征。首先是对象服务独立。零部件、文档、变更单、问题报告这些都是PLM的核心业务对象对象服务负责它们的生命周期管理包括创建、版本迭代、状态流转、归档。其次是BOM服务独立它处理的是对象之间的关系和对象本身的属性分离。这样你在某个装配下修改子件不会触发对象主体的一系列连锁反应。流程服务作为独立中台这点国产PLM普遍做得比国外系统更符合国内企业习惯。国产的工作流引擎要么集成Flowable这类开源引擎要么自研对驳回、撤回、加签、改签、代理、超时自动提醒等场景支持丰富。国外系统通常流程是绑死在数据上数据走到哪一步流程自动触发设计上严谨但死板国内企业更习惯流程可以灵活调谁审批、怎么并联、能不能跳过管理员要能随时调整。集成服务单独拆分也很有必要。PLM周边系统太多ERP要物料和BOMMES要工艺路线和版本CAD要图纸双向同步OA要协同审批。集成交互多且频繁如果和业务逻辑混在一起每次接口变更都可能影响主流程。好的架构里集成服务通过API网关统一对外有独立的消息重试、日志记录和错误隔离机制。服务拆分后要特别关注分布式事务。比如变更单审批通过后需要同时更新受影响对象的状态并发送通知到ERP三个动作要么全成功要么全回滚。很多国产PLM的短板就在这——用最终一致性糊弄结果变更单过了对象状态没更新数据又不一致。评估架构时要追问跨服务的数据一致性用什么方案补偿机制有没有2.3 元数据驱动的对象模型国产架构的看家本领国产PLM和国外产品在怎么做对象模型上逐渐形成了不同的路线但底层都在讲元数据。所谓元数据驱动就是系统的对象类型、字段定义、界面布局、表格样式都不是写死在代码里的而是存在配置表里实施顾问通过建模工具就能调整。比如企业要管理技术通知单这是一个在标准PLM里不存在的新对象。好的元数据平台能让你快速定义这个对象的属性编号、标题、发布部门、生效日期配置它的状态流草稿、审核中、已发布、废止设置它的界面布局和编号规则全套做完不需要写一行代码。但元数据驱动也有代价最大的问题就是性能。对象属性存在动态表里查询时要动态拼SQL随着数据量增长会出现字段查不出来列表加载慢的毛病。处理得好的系统会做动态表到物理表的映射、物化视图、缓存热点查询处理得不好的配置越深性能越差。这是国产系统最容易出问题的地方也是实施后期吵架最多的点。另一个关键点是对象模型的扩展能力。国产PLM普遍支持在标准对象上扩展字段但字段类型、引用关系、级联操作的处理深浅差别很大。你问厂商我想在零部件上增加一个采购属性并且和供应商主数据关联这种需求好的架构会说支持差的架构会告诉你要二次开发。这就是架构底子的直接体现。3. 核心模块的技术实现与落地细节3.1 BOM多视图管理与数据一致性BOM是PLM的心脏也是技术架构最见功力的部分。BOM不只是物料清单它有一堆视图设计视图EBOM管产品长什么样制造视图MBOM管怎么造出来工艺视图工艺路线管用什么设备和工序服务视图SBOM管售后配什么件。一个产品在PLM里不是一张表而是一个BOM结构族。技术实现上BOM引擎要解决三件事。第一是结构存储主流方式有邻接表、嵌套集和闭包表国产PLM里邻接表用得最多比如父子关系表存储父件ID、子件ID、数量、位号、备注。结构深、查询频繁时邻接表的递归查询性能会成问题所以好的系统会做结构缓存和物化路径。第二是版本感知。BOM里的每个节点都指向一个具体版本的零部件你不能把这个部件挂上去就完事必须挂这个部件的3.2版。改版后BOM结构的追溯性就靠这个保障。如果厂商连版本感知都做不到那谈不上是真正的PLM。第三是视图映射。设计视图到制造视图不是简单复制粘贴中间有设计件和采购件的替换、虚拟件的展开、工艺路线的插入。这个映射过程通常由工艺人员在PLM里完成系统要支持BOM比较、差异分析、批量替换。国产系统在视图映射的自动化和可视化上近年来进步明显但和国外大厂比仍有距离。实操中最容易被忽视的是BOM里的小数位和位号。电子行业一个PCB上有上千个元件位号R1、C2、U3如果错了贴片程序全完。所以架构上必须保证位号是结构节点的属性而不是塞在备注里。评估系统时建议现场测试导入一个带位号的BOM展开查看是否整洁清晰修改一位元件位号是否能自动联动到图纸和报表。3.2 文档管理与CAD集成怎么做才不翻车文档管理看起来简单实际是国产PLM最早成长起来的领域也是踩坑最多的领域。一个合格的文档管理模块要有文档类型、主文件与附属文件、版本历史、生效状态管理还要有预览、水印、下载控制这些基础能力。很多企业觉得我们就是来管图纸的结果实施完发现文档权限管理才是大头。图纸有受控状态非受控期工程师可以随便改受控后必须走变更单。文档和零部件、BOM之间的引用关系也要管住某个零件改版了它关联的图纸是哪个版本总装图引用了哪些子件的最新版这些关系如果梳理不清PLM上线后反而制造新的混乱。CAD集成是文档管理中难度最高的环节。集成方案基本分三种文件级集成保存时把CAD文件自动带属性传到PLM、参数级集成CAD里的自定义属性映射到PLM对象字段、模型级集成双方通过连接文件维持双向关系。国产PLM普遍做到了前两级第三级的稳定性因厂商而异。实操中建议先做属性映射清单把CAD里的零件号、名称、材料、重量、图号逐项列出来确定哪些从CAD到PLM哪些从PLM回填到CAD。这个清单不提前理清上线后会发现CAD图纸标题栏里填的是旧版信息PLM里属性是新版对不上。三维轻量化浏览是近年国产PLM的亮点。原生CAD模型动辄几百MBWeb端根本打不开所以PLM会在后台把模型转换成轻量化格式如JT、glTF变体并在服务端抽壳减面、生成多级LOD让浏览器里也能流畅查看。评估时要问清楚轻量化转换在服务器还是桌面端支持哪些CAD格式装配体大模型会不会转崩这些细节直接决定一线工程师用不用它。3.3 流程引擎选型与变更管理机制流程引擎技术选型是国产PLM架构决策里最实际的一环。主流做法有三种集成开源引擎Flowable、Activiti、自研引擎、混合模式。开源引擎成熟稳定但定制受限自研引擎灵活但风险高混合模式最合理——核心审批流程用开源引擎业务上特殊的要求做轻量引擎适配。流程引擎真正考验人的是会签和驳回重走。国内企业特别喜欢会签一个变更单发下去工艺、采购、质量、生产各派一个人同时审有人不同意就退回去修改。Flowable本身支持多实例会签但要处理一人退回全部重走还是只退回给修改人这种业务规则就得做复杂的封装。国产厂商在这块的熟练度普遍高于国外产品的实施团队因为见得多。变更管理是流程和BOM的交叉地带。一次典型的设计变更流程发起变更申请单ECR评审后生成变更通知单ECO变更单里挂受影响的对象清单哪些零件、哪些文档、哪些BOM要改审批通过后系统批量更新对象状态并通知下游。变更传播是这里最容易出问题的。生产现场的物料是不是要返工已发布的BOM是不是要升版ERP那边的物料主数据是否有联动好的PLM架构会在变更单里预设影响分析问卷让变更发起人逐项回答系统再依据回答自动判断传播范围。评估系统时可以这样问一个在制物料要换供应商变更单能不能自动找出所有在用该物料的BOM并通知相关工程师能回答得干脆的架构不会差。3.4 权限模型与多组织架构集团型企业最头疼的部分国产PLM服务的大客户里集团型制造企业占比很高它们的组织架构极其复杂集团下设事业部事业部有研发中心研发中心下有多个产品线每个产品线又分平台组和项目组。权限模型如果设计不好要么管不住要么管得寸步难行。好的权限模型一定是RBAC加数据级权限的组合。RBAC管你能做什么操作增删改、审批、导出、下载数据级权限管你能看到哪些数据只看本产品线、只看已发布状态。数据级权限的实现靠组织数据域配置每个对象创建时标记属于哪个数据域查询时系统自动追加过滤条件。这里要追问厂商数据权限是全局统一配置还是每个模块单独配置很多系统基础模块支持了一到报表和三维浏览模块权限就失控。集团管控还要考虑多组织架构下的编码规则和属性继承。统一编码是PLM上线的重要收益但集团和子公司往往有各自的编码规则。架构上要支持编码规则分组织配置同时保证数据集中存储、权限分散管理。有些国产PLM已经做到了集团模板和子公司模板的继承关系集团定义标准属性子公司只能增不能删这在体系管理里特别实用。4. 结合企业痛点的选型评估方法4.1 从企业痛点推导架构需求而不是被Demo带节奏PLM系统选型看企业痛点这句话我特别认同。但实际操作中很多企业是让厂商按标准流程演示一遍就定了完全没从自己痛点出发设计验证场景。结果就是厂商展示什么你看什么最后买回家的系统解决不了当初最痛的问题。正确的做法是把痛点翻译成架构验证项。比如你的痛点是设计图纸和BOM经常对不上那选型时就要准备一个真实产品的局部数据现场要求厂商完成从CAD图纸导入、生成零部件、搭建BOM、发起变更、传播到发布的全流程你的痛点是集团和各子公司编码规则不统一还经常撞号那就让厂商现场配置两套编码规则测试同一个料号是否能各自生成。这么说吧PLM选型最忌看功能齐全不齐全因为到了后期你会发现真正影响成败的是那些在Demo时间看不出来的东西扩展字段要花多久新对象类型要不要写代码大数据量下列表是否还能秒开跨系统接口联调是否顺畅这每一项都依赖架构底子不是漂亮界面能替代的。4.2 评估技术架构的六个关键指标根据我参与选型的经验有一套实操性很强的评估清单建议记下来。第一是元数据扩展的便利性。现场让顾问展示在两分钟内给现有对象增加一个枚举字段然后立刻在界面上查出来。能做到的说明建模平台是成熟的做不到的以后每个小需求都得走开发排期。第二是大数据量下的性能表现。要求厂商提供同行业客户的数据量参考并针对你最大的一个装配现场测试BOM展开时间。记住导入1万条BOM记录10分钟内完成是可接受底线展开5000节点的装配结构超过10秒就要警惕。第三是集成接口的标准化程度。重点看API网关、日志监控、消息重试机制有没有。好的集成架构必须有接口调用失败自动重试并告警的能力否则和ERP对接时出一次网络抖动数据错了没人知道等到月末对账才发现就晚了。第四是部署架构的灵活性。能否支持容器化部署数据库能否替换为国产数据库达梦、人大金仓这不仅是信创要求更反映了系统对基础设施的抽象能力。写死在某一种数据库上的PLM未来会很被动。第五是版本升级策略。厂商发新版本你是全部重装还是平滑升级有没有独立的配置库管理企业的个性化设置如果升级要重新做一遍实施说明系统的配置和代码没有分离这种架构长远看是负资产。第六是源码开放程度和二次开发接口。国内企业总有特别个性化的需求标准功能覆盖不到。评估API文档完整度问清楚自定义服务怎么部署是否能在不影响主版本的前提下做扩展开发。4.3 部署方式、数据安全与迁移成本部署方式对大型制造企业是战略决策不是IT部门自己说了算。本地化部署适合研发数据密级高、且IT运维力量强的企业私有云部署适合多分支机构需要集中管控的场景公有云SaaS在国内PLM领域还在起步不是主流选择。数据安全核心是文档和BOM的防泄密。系统要支持细粒度的下载审批、动态水印、离线文件管控。尤其要确认三维模型被预览时原始CAD文件是否不会落到终端许多国产系统支持不落盘预览这是架构上的一道重要安全闸门。迁移成本则要单独谈。从旧PLM或Excel表迁移到新系统数据清洗的工作量往往远超预期。评估时要问清楚迁移工具是厂商提供还是第三方做历史文档的版本关系是否保留已发布BOM的可用状态如何处理很多项目死在迁移验证不充分上——上线后发现历史数据一堆错业务部门直接失去信心。5. 实施与运行阶段最常见的坑5.1 典型问题速查表现象深层原因排查方向BOM导入经常失败报重复编码编码规则和物料主数据未统一清洗先做编码映射表再定导入模板校验逻辑变更单审批完成后BOM没更新跨服务事务一致性没做好查补偿任务是否生效关注变更单的传播日志CAD集成图纸属性同步丢失属性映射清单有遗漏恢复集成日志对比CAD字段和PLM字段的匹配情况三维大装配打开非常卡轻量化转换参数或服务端算力不足调整抽壳比例和LOD策略加GPU转码节点报表数据一多就超时报表查询走了业务库未用独立报表库要求报表走只读副本或物化视图驳回重走时审批记录丢失流程引擎状态管理有bug参数化排查驳回和加签的事务边界5.2 性能优化与架构演进建议系统上线不是终点架构演进是持续过程。我的经验是上线半年后必须做一次复盘重点看三个指标核心页面接口的P95响应时间、文档转换服务的队列积压情况、数据库慢查询数量。国产PLM在这些指标上做得好的系统和做得一般的差距可以从三倍拉到十倍。性能优化最实用的一招是热点数据缓存。BOM结构是典型的热点数据多个用户的查询可能完全一样。架构支持了结构缓存的改一处BOM就能即时刷新不用重启服务不支持的每次查询都打到数据库数据量上来后必卡。另一个值得投入的是集成监控体系。PLM和周边系统的接口调用量其实很大消息重试、失败告警、错误日志检索这三个能力必须有。遇到我PLM改完零件ERP那边没有更新能快速定位是接口没触发还是ERP侧写入报错这两者的处理路径完全不同。从趋势上讲国产PLM正在往数据中台化发展产品数据逐步和研发大数据、工艺仿真数据打通。架构上支持数据开放接口、支持外部算法读取结构化BOM数据的未来能走得更远。选型时不妨多想一步这套系统三年后能不能承载你企业的数字化研发体系而不是只解决眼下的图文档管理。6. 写在最后的个人体会我在实际项目里见过太多参数漂亮的架构最后死在实施细节上。技术架构和交付质量是两回事但架构决定了交付的天花板。选择国产PLM不必妄自菲薄国产系统在流程适配、实施速度、本地化服务上的优势是客观存在的也不必盲目拔高它的BOM复杂度处理、CAD集成深度、超大数据量性能确实还在追赶。我的建议很简单把选型会议从会议室挪到自己的数据上来用真实产品、真实数据、真实流程去验证哪怕多花一个月都值。架构这件事纸上谈兵和亲自上手永远是两种结论。
返回列表