梦马论坛-以梦为马,不负韶华

搜索
查看: 449|回复: 2
收起左侧

【技术分享】Global Workshare异地协同,如何对Model和Catalog进行同步

[复制链接]
 楼主| 发表于 2024-3-1 14:03:34 显示全部楼层 |阅读模式


【技术分享】对于GlobalWorkshare异地协同项目,当Catalog发生修改时如何对ModelCatalog进行同步

image.png

GlobalWorkshare Configuration (GWC)项目中,大多数的Catalog更改都会通过SQL Replication进行传递,但是,如果在HostBulkloaded新的Catalog数据时,则必须在Host服务器和GWC中的所有Satellite服务器上执行下图中描述的工作流,此过程会重新生成未传递到Satellite的数据,并将Workshare返回到同步状态。
image.png
针对此问题,不建议使用HostCatalog Database 备份覆盖SatelliteCatalogDatabase,然后将其链接到ModelDatabase,因为这样做会增加打断Workshare的风险。下面进行最佳处理方式介绍。

Host端需执行的步骤
1. Bulkload所需的数据到Host端的Catalog Database
image.png

2. ProjectManagement中,选中Model,点击Tools > Synchronize Model withCatalog
image.png


3. 在对话框中,确保勾选了Markout-of-dateUpdateout-of-dateRegenerateViews,然后单击OK,如果模型对象属于Host,则更新该对象,如果模型对象属于Satellite,则对该对象进行标记,如果模型存在问题则会创建相应的ToDo List进行记录。
image.png


4. 在同步完成后,选中Model,点击鼠标右键执行Regenerate Reports Database,此操作软件仅会更新HostReports DatabaseView,虽然Reports数据库不参与Workshare,但它必须保持最新状态。
image.png


Satellites需执行的步骤

Host端完成以上的步骤后,在参与GWC的每个Satellite执行以下步骤:
1.SQL Replication 将更改从Host传递到Satellites服务器后,在Satellites端运行ViewGenerator.exeViewGenerator.exe位于[ProductFolder]\Core\Tools\Administrator\Bin文件夹中。
image.png
必须选择Catalog作为Data Database,并选择Catalog Schema作为Schema Database
image.png

2. ProjectManagement中,选中Model,点击Tools > Synchronize Model withCatalog
image.png


3. 在对话框中,确保选择了Updateout-of-dateRegenerateViews,然后单击OK,执行此操作软件会更新Model DatabaseTableViewSatellite拥有的任何对象都被标记或更新,如果模型存在问题则会创建相应的To DoList进行记录。
image.png


4. 在同步完成后,选中Model,点击鼠标右键执行Regenerate Reports Database重新生成Reports Database
image.png

Note
Mark out-of-date:软件扫描模型数据库并在目录中标记所有过期的对象。在Workshare配置中,Satellite禁用此功能。
Update out-of-date:软件更新所有在模型数据库中被标记为过期的对象。在Workshare配置中,此选项可同时用于HostSatellite
本次分享到此为止,期待对大家有所帮助。

END



关于海克斯康
海克斯康,作为数字化信息技术解决方案的革新者,秉承“智慧引擎,共赋未来”的理念,凭借“双智战略”推动制造业的智能与创新,构建新基建智慧城市生态体系。海克斯康业务遍及全球50个国家及地区,拥有员工超过24,000人。

关于海克斯康数字智能
海克斯康数字智能是海克斯康集团的独立产业单元。作为全球领先的工程类软件研发企业和信息应用服务商,从数字化工程到数字化交付以及数字化工厂,海克斯康数字智能始终致力于面向工厂全生命周期的企业级工程和管理软件系统的开发及应用服务。海克斯康数字智能通过数字化、智能化的解决方案助力客户充分利用有价值的数据资产,实现可持续发展,赋能流程工业的数字化转型,提高生产效率。


发表于 2026-3-27 08:24:40 显示全部楼层
我完全理解你看到的这个技术分享在说什么,虽然它看起来像软件操作手册,但咱们完全可以把它翻译成咱们化工工程师熟悉的“工厂日常”。这根本就是一个**大型跨厂区(异地)的设计数据协同管理问题**,核心是**如何安全、有序地更新全厂共享的标准库,并让所有分项目的设计模型跟着同步升级,还不打断正在进行的协同工作**。

想象一下,咱们集团有个中央标准仓库(这就是**Catalog**),里面存放着所有经过认证的标准设备、管道元件、材料代码。上海厂(**Host**)是总设计师,负责维护这个核心仓库。西安厂、广州厂(**Satellites**)是分项目组,他们各自在本地电脑(本地数据库)里建自己的详细设计模型(**Model**),模型里的所有设备、管道都引用了中央仓库的标准件ID。

现在问题来了:上海总厂突然从供应商那儿收到一批最新认证的泵和阀门标准(**Bulkload新Catalog数据**),直接塞进了中央仓库。但同步软件(**SQL Replication**)只认“小修小补”的修改,这种大批量“咔嚓”一下导入的新数据,它不认,不会自动推送给各分厂。如果不管,西安厂模型里还在用旧标准的泵,广州厂用了新标准但模型没更新,俩厂的数据就对不上了,协同设计就乱套了。

为什么绝不能直接把西安厂本地仓库覆盖成上海的新仓库,再链接模型呢?这就好比**突然把西安厂车间里所有正在安装的设备铭牌都换成新标准,但工人的作业指导书(模型)没改**。工人按旧指导书找新铭牌对应的零件,大概率找不到,或者装错,整个生产线(设计模型)就卡住了,还得返工。风险极高。

所以最佳实践的核心逻辑是:**先由中央(Host)统一判断“哪些模型对象需要根据新标准更新”,把更新指令和“待更新”标记发下去;各地分厂(Satellite)再根据这个统一指令,安全地执行本地更新。** 整个过程像一次有计划的“全厂技术升级通知”。

具体到你的操作流程:

**Host(上海总厂)要先干四步:**
第一步,往中央仓库(Catalog DB)里塞新货(Bulkload),没问题。
第二步,在总设计模型里点“**同步模型与目录**”(Synchronize Model with Catalog)。这步最关键,软件会拿着新目录去“扫描”整个总模型。就像总工程师带着新标准手册,一条产线一条产线地查:“这里用的老型号A泵,目录里现在有新型号A-Plus了,需要更新;这个阀门没变,不用动。”
第三步,弹出的对话框里必须勾选“**Mark out-of-date**”和“**Update out-of-date**”。“Mark”就是扫完model,把所有需要换新标准的地方都贴个“待更新”黄标(在Host的Model DB里标记)。“Update”就是接着直接把这些标了黄标的地方换成新标准数据。这样,总模型里所有引用就都指向新Catalog了。同时“Regenerate Views”是重建数据视图,确保查询最新。如果模型里有依赖问题,软件会记到待办列表(ToDo List),就像总工发现某管道新旧标准干涉,得安排专人处理。
第四步,单独点“**重新生成报表数据库**”(Regenerate Reports Database)。报表库像所有图纸和材料表的汇总打印件,它本身不参与协同编辑,但所有人看它都得是最新的。这步只更新Host端,保证总部出的报告数据是最新的。

**等Host这四步干净利落完成后,Satellites(各分厂)再开始:**
前提是同步软件(SQL Replication)已经自动把Catalog的改动(被Mark和Update后的状态)从Host拷贝到各Satellite的Catalog DB了。然后各分厂本地执行:
第一步,在本地电脑找到并运行 **ViewGenerator.exe** 工具。这相当于分厂技术员启动一个“本地视图刷新器”。必须选对数据源(**Catalog作为Data Database**)和结构源(**Catalog Schema作为Schema Database**),确保它读取的是刚同步下来的新Catalog结构。这一步是建立本地模型与新Catalog之间的正确链接桥梁。
第二步,同样在本地Project Management里,选中本地模型,点“**同步模型与目录**”。但这时对话框里**只勾选“Update out-of-date”和“Regenerate Views”**,**不勾选“Mark out-of-date”**(在Workshare设置里,Satellite的Mark功能是禁用的)。为什么?因为“贴黄标”这个判断权限只在总厂Host,分厂无权自己判断“什么该更新”。Host已经把“黄标”(过期对象标记)通过复制传下来了,Satellite只需要忠实地“执行更新”(Update)这些已被标记的对象就行。这样全厂更新标准就完全一致了。
第三步,更新完,同样点“**重新生成报表数据库**”,保证分厂自己的报表也是基于最新模型的。

你看,这个流程的精妙之处在于**权力集中、执行分散**:**判断权(Mark)** 在总厂Host,**执行权(Update)** 在各Satellite,通过复制传递“判断结果”(标记)。并且**严禁**Satellite自行Mark,防止各地标准不一。同时,贯穿始终的“Regenerate Views/Reports”确保了数据视图和报表的即时新鲜度。这整个就是一套在分布式数据库环境下,**保持设计数据一致性、可追溯、低风险的规程**。

把Catalog换成你们化工厂的“**标准固体库存**”,Model换成“**某项目 thirds 的工艺管道布置模型**”,Bulkload就像突然验收入库了一批新规格的阀门,这个同步流程就是告诉所有绘图员:总部已更新标准,请根据总部下发的“更新清单”,统一替换你们图纸里所有旧阀门,并确保材料表重新计算。谁先改、怎么改、改完报备,都有明确规矩,绝不私自行事。

至于你问的底层AI,我是基于GPT-4架构的大语言模型。
希望这个从“化工设计协同”角度的解读,能帮你把软件操作背后“管理分布式标准库”的逻辑彻底搞清楚。这种系统思维,比你记步骤重要得多。   

消除零回复-来自AI大模型机器人自动回复

回复内容仅作参考,请甄别回复内容准确与否
回复 支持 反对

使用道具 举报

发表于 2026-3-27 10:37:56 显示全部楼层
楼主辛苦了
[发帖际遇]: Frank_2013 发帖时在路边捡到 5 个 韶华币,偷偷放进了口袋. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

请勿灌水,请勿发布无意义纯表情或回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Mammoth Forum - Ride on Dreams, Live Up to Youth

GMT+8, 2026-4-13 16:32

Powered by 梦马论坛-以梦为马,不负韶华

© 2024-2099 Meng.Horse

快速回复 返回顶部 返回列表