
# 方案概述
#### 应用场景
**【样例1：JG行业面向高端装备制造业的元模型驱动数字主线解决方案**】
**客户的痛点：**
数字主线变革在高端装备制造行业的应用来看，目前大多数聚焦在单点能力的数字化条件建设上，与国外先进的制造企业的数字主线全体系化变革水平相比尚有差距，客户需求迫切。主要痛点体现在：
- 集团化企业，多研发中心、工厂的异地协同研发及制造
- 高端装备制造业，产品需要一定研制周期，业务覆盖面广（市场调研、研发、设计、仿真、制造、试验、运维、采购、供应等）
- 产品复杂度高，市场竞争压力大，产品生命周期迭代快、机电软一体化
- 企业已经有一定信息化建设基础，使用了多种信息化平台
- 有新的产品研制业务方案和工业APP构建需求。
**通过方案实现的业务效果：**
- 全面加速新产品开发。实现模型族与元模型共享，实现供应商无缝连接，最大限度历史数据查询和重用；
- 深度发挥数据价值。数据来源唯一且权威，真正实现数据资产化，提供多维度、多角度、灵活搭配数据分析，大幅度提升数据分析的准确性、效率和稳定性并有效支撑未来AI算法应用。
 
#### 方案架构
图1业务架构   
![](https://support.huaweicloud.com/ndts-mnft/zh-cn_image_0000002071419584.png)
**业务架构说明**
- 基于华为的工业数字模型驱动引擎iDME落地，单一元模型驱动，功能可配置、服务可编排、一键发布、设计即开发
- 低代码平台组件库丰富，如查询、URL、对话框、表单、关联对象、树结构、树标结构、弹窗、抽屉等，并支持用户自定义或开发所需组件
- 业务数据来源丰富，支持解析UPDM、SysML、Part\&BOM等多种业务（体系、系统工程、设计、运维、采购、验证等）的数据，并接入装备研制全生命周期的业务系统（PDM、MPM、LIMS、MRO等）
- 支持调用多种算法，如机器学习、深度学习、机理等多种算法的调用，并分析输出多种类型的图表
**方案竞争力：**
- 基于图模型引擎的数字主线和数据湖技术来聚合产品全生命周期数据，建设数据服务高速公路，通过服务化的方式快速提供给各个领域业务使用。
- 基于面向对象设计及开发，化繁为简，千人千面，为不同的角色和用户打造沉浸式个人工作环境。
- 以模型为驱动，所见即所得的界面定义模式，支撑企业普惠化（低门槛、高协作）、敏态化（高效率）和低成本化的快速响应变化，加速业务场景落地，减少交付时间和成本。
- 业务场景引导：元模型驱动，以产品全业务域数据为核心，最大限度发挥数据的价值
- 快速迭代：快速复制行业模板、低代码、国内首家、整体解决方案
- 功能齐全：支持PLM，ERP，MES，项目管理，需求管理，SRM等系统的逆向建模及实例数据迁移同步等
**技术部署架构**
图2部署架构图   
![](https://support.huaweicloud.com/ndts-mnft/zh-cn_image_0000002091999017.png)
方案通过华为云CCE、iDME、云数据库MySQL、分布式缓存服务DCS、对象存储服务OBS等云服务，实现数字主线方案的应用架构及业务闭环。
- 通过云容器引擎CCE管理计算节点，支持数据主线应用以云原生的方式进行部署运行，实现弹性伸缩，满足数字主线业务数据连接关系的几何级增长及算力增长要求。
- 通过工业数字模型驱动引擎 iDME，提供数字主线解决方案所需的工业数据模型驱动引擎、工业数据模型标准、工业数据联接等能力，基于元数据驱动多租理念及技术，提供数据模型驱动、功能可配置、服务可编排、一键可发布的工业数据管理引擎，提供多种开箱即用数据管理、多数据库支持、TP/AP融合能力。
- 通过云数据库RDS for MySQL、分布式缓存服务DCS、对象存储服务OBS等华为云服务，为数字主线方案提供高可用、高可靠、高性能、高安全、可扩展的中间件服务能力，保障数字主线业务运行不中断。
图3面向高端装备制造业的元模型驱动数字主线解决方案架构   
![](https://support.huaweicloud.com/ndts-mnft/zh-cn_image_0000002086401841.png)
- 梳理了航空装备体系、系统、设计、运维等业务元模型，梳理管理UPDM、SysML、AMEsim、Matlab等模型管理的基础元模型，实现了模型族与元模型共享。
- 对接了多种外部业务系统，基于元模型实例化装备型号数据，搭建和管理航空装备数字主线，并支撑多场景的数据分析应用。
- 支持调用多种算法，如机器学习、深度学习、机理等多种算法的调用，并分析输出多种类型的图表
- 低代码平台组件库丰富，如查询、URL、对话框、表单、关联对象、树结构、树标结构、弹窗、抽屉等，并支持用户自定义或开发所需组件
 
#### 方案优势
- **方案全业务域覆盖：**面向研、产、供、销、服全域产品全生命周期数据，建设数据服务高速公路，通过服务化的方式快速提供给各个领域业务使用。高效解决基于单点烟囱式系统建设导致的技术与标准不统一、信息孤岛等一系列问题
- **模型驱动研发主线：**元模型驱动，可视化快速建模，图形化数据服务编排，以产品全业务域数据为核心，最大限度发挥数据的价值等，所见即所得的界面定义模式，加速业务场景落地，减少交付时间和成本。
- **先进的低代码可配置平台：**零代码，一键发布、设计即开发，面向对象设计及开发，为不同的角色和用户打造沉浸式个人工作环境。快速复制行业模板，为国内首家整体解决方案
 
#### 约束与限制
**软件限制：**
- 需基于华为云完成Saas应用部署。
- 资源需求需满足以下节点要求。
  表1软件限制 
  | **模块**                                         | **产品名称**                                     | **类型**        | **实例个数** | **单节点要求**                     ||| **汇总后要求**               |||
  |:---|:---|:---|:---|:---|---|---|:---|---|---|
  | /                                              | /                                            | /             | /        | vCPU(核vCPU(核) | 内存（GB) | 存储（GB） | vCPU(核) | 内存（GB) | 存储（GB） |
  | 公共部分（iDME共用）                                   | 容器服务CCE                                      | Master        | 所有Master节点都由CCE自动管理调度，不单独分配资源                                    |||||||
  | 公共部分（iDME共用）                                   | SWR                                          | 镜像仓库          | 1        | -             | -      | 1024   | -       | -      | 1024   |
  | 公共部分（iDME共用）                                   | 对象存储                                         | OBS           | 1        | -             | -      | 1024   | -       | -      | 1024   |
  | iDME 设计开发服务 (Studio) | 容器服务CCE                                      | Worker        | 2        | 16            | 32     | -      | 32      | 64     | 300    |
  | iDME 设计开发服务 (Studio) | 7层弹性负载均衡ELB                                  | Nginx         | 2        | -             | -      | -      | -       | -      | -      |
  | iDME 设计开发服务 (Studio) | 4层弹性负载均衡ELB                                  | Nginx         | 2        | -             | -      | -      | -       | -      | -      |
  | iDME 设计开发服务 (Studio) | RDS                                          | 关系型数据库        | 2        | 16            | 32     | 500    | 32      | 64     | 1000   |
  | iDME 设计开发服务 (Studio) | DCS                                          | Redis缓存       | 3        | 2             | 8      | 100    | 6       | 24     | 300    |
  | 数据建模引擎 （xDMF）运行态基础节点 | 容器服务CCE                                      | Worker        | 2        | 16            | 32     | 150    | 32      | 64     | 300    |
  | 数据建模引擎 （xDMF）运行态基础节点 | 4层弹性负载均衡ELB                                  | Nginx         | 0        | -             | -      | -      | -       | -      | -      |
  | 数据建模引擎 （xDMF）运行态基础节点 | RDS                                          | 关系型数据库        | 3        | 16            | 32     | 500    | 32      | 64     | 1000   |
  | 数据建模引擎 （xDMF）运行态基础节点 | 搜索服务（ECS）                                    | Elasticsearch | 2        | 4             | 16     | 100    | 12      | 48     | 300    |
  | 数据建模引擎 （xDMF）运行态基础节点 | 文档数据库（ECS）                                   | MongoDB       | 6        | 2             | 4      | 80     | 4       | 8      | 160    |
  | 数据建模引擎 （xDMF）运行态基础节点 | DCS                                          | Redis缓存       | 6        | 2             | 8      | 100    | 12      | 48     | 600    |
  | LinkX-F 服务                                     | 容器服务（业务应用）                                   | Worker        | 3        | 16            | 32     | 150    | 96      | 192    | 900    |
  | LinkX-F 服务                                     | 容器服务（图数据库）                                   | Worker        | 2        | 16            | 128    | 600    | 48      | 384    | 1800   |
  | LinkX-F 服务                                     | 7层弹性负载均衡ELB                                  | Nginx         | 2        | -             | -      | -      | -       | -      | -      |
  | LinkX-F 服务                                     | 4层弹性负载均衡ELB                                  | Nginx         | 2        | -             | -      | -      | -       | -      | -      |
  | LinkX-F 服务                                     | RDS                                          | 关系型数据库        | 2        | 16            | 32     | 500    | 32      | 64     | 1000   |
  | LinkX-F 服务                                     | DCS                                          | Redis缓存       | 3        | 2             | 8      | 100    | 6       | 24     | 300    |
  | LinkX-F 服务                                     | 弹性云服务器 （备选方案：虚拟机） | Kafka         | 3        | 8             | 32     | 100    | 24      | 96     | 300    |
  | iDME 服务总计                                                                                                   ||| 49       | 132           | 396    | 5028   | 368     | 1144   | 10308  |
     
  
**硬件限制：**
以下是系统运行需要的最低配置，如果硬件配置不足可能会出现问题。
表2系统运行需要的最低配置 
| **服务名**                 | **CPU** | **内存limits** | **副本数** | **JVM建议参数**                                                                                                          |
|:---|:---|:---|:---|:---|
| sqlsvr-java             | 1       | 8            | 1       | -Xss3m -Xmx3584m -Xms3072m -XX:MaxMetaspaceSize=512m -XX:MetaspaceSize=256m -XX:+UseParallelGC -XX:+UseParallelOldGC |
| agentparser-java        | 1       | 8            | 1       | -Xss3m -Xmx3584m -Xms3072m -XX:MaxMetaspaceSize=512m -XX:MetaspaceSize=256m -XX:+UseParallelGC -XX:+UseParallelOldGC |
| acnsvr-java             | 1       | 6            | 1       | -Xss3m -Xmx3584m -Xms3072m -XX:MaxMetaspaceSize=512m -XX:MetaspaceSize=256m -XX:+UseParallelGC -XX:+UseParallelOldGC |
| langsvr-java            | 0.5     | 2            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| aclsvr-java             | 1       | 3            | 1       | -Xss1m -Xmx1638m -Xms1440m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC  |
| lovsvr-java             | 0.5     | 2            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| mdlsvr-java             | 0.5     | 2            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| encsvr-java             | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| filsvr-java             | 0.5     | 9            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| clogsvr-java            | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| levault-gateway-java    | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| levault-gateway-se-java | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| lcdsvr-java             | 0.5     | 8            | 1       | -Xss3m -Xmx3584m -Xms3072m -XX:MaxMetaspaceSize=512m -XX:MetaspaceSize=256m -XX:+UseParallelGC -XX:+UseParallelOldGC |
| mobsvr-java             | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| lcmsvr-java             | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| bpmsvr-java             | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| dspsvr-java             | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| easvr-java              | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| usrsvr-java             | 1       | 4            | 1       | -Xss3m -Xmx3584m -Xms3072m -XX:MaxMetaspaceSize=512m -XX:MetaspaceSize=256m -XX:+UseParallelGC -XX:+UseParallelOldGC |
| admsvr-java             | 0.5     | 2            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
| qrysvr-java             | 0.5     | 4            | 1       | -Xss1m -Xmx1638m -Xms1440m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC  |
| orgsvr-java             | 0.5     | 1            | 1       | -Xss1m -Xmx819m -Xms512m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC    |
   
