一种同构PLM系统的协同数据交换方法与流程

文档序号:12550720阅读:334来源:国知局
一种同构PLM系统的协同数据交换方法与流程

本发明涉及大型复杂产品数据从设计到制造复制交换的方法和装置,完整的提出了同构的PLM系统间异地协同数据交换的技术方法,属于产品数据集成和共享技术领域,并按照此方法和装置实现了产品全生命周期管理系统ENOVIA VPM V5R18系统异地多站点数据复制交换,此技术可协助完成研发数据按业务需求部分复制到制造企业,实现产品数据的全生命周期流转管理。



背景技术:

产品数据的全生命周期管理遵从产品研制流程的管理控制,实现了对设计、制造及维护数据管理的贯通与并行。目前,复杂工业产品的研发与制造企业基本采用了PLM系统管理产品数据,常见的同构PLM系统产品数据交换方式通常定义单个数据抽取节点作为数据交换文件包,交换的数据往往不是按业务需求交换,存在很多不需要交换的数据、应交换却未交换的数据和重复交换的数据,导致协同研制企业PLM系统产品数据的以下问题:a)数据的完整性缺失;b)对业务数据要求高;c)数据保密安全性较低;d)数据手工干预程度高。

本发明的方法和装置涉及以下几种服务器:

源站点生产机服务器:用于管理产品全生命周期研发类数据的服务器,主要包括数据库服务器、业务逻辑应用服务器、物理文件库服务器及WEB流程审签服务器,只有一个。

源站点中间机服务器:为避免影响生产机数据,管理拷贝来自生产机服务器数据并作数据过滤处理交换的服务器,主要包括数据库服务器、业务逻辑应用服务器、物理文件库服务器。

目标站点数据接收服务器:制造企业接收源站点交换数据的服务器,主要包括数据库服务器、业务逻辑应用服务器、物理文件库服务器,可以有多个目标站点及数据接收服务器。



技术实现要素:

本发明解决的技术问题即是实现同构PLM系统的产品数据按业务需求实现部分复制交换,以源站点PLM系统中产品数据属性选项中业务需求的不同,对数据库及物理文件库进行过滤删减,保证产品结构树的完整性同时,将产品数据对象属性与状态及物理文件交换到目标站点PLM系统,实现了产品数据由设计PLM系统平台向制造PLM系统平台的交换传递,避免了人为因素造成的数据特殊性及错误,提高了数据交换效率和数据的正确性、有效性和一致性。

根据本发明的发明目的,一种同构PLM系统基于数据库和物理文件库复制的数据交换方法,结合图1所述方法包括:

第一,源站点中间机服务器拷贝源站点生产机数据库、物理文件库及配置数据,在中间机应用服务器 上使用业务层数据抽取模块M1进行数据提取,生成各类产品数据对象的信息文件;

第二,解析第一步骤中各类产品数据对象的信息文件,运行数据对象处理模块M2分别提取各类属性信息,新建数据库表M5并将提取的属性信息分别写入对应新数据库表M5中;

第三,源数据库表比对新建数据库表M5的数据对象信息,以唯一标识符号为索引在源数据库表中查询,在源数据库表中找到业务需求所涉数据库表字段对应标识及关联表信息,根据唯一标识符号删除源数据库表中对应数据库表信息,并压缩生成过滤后的数据库文件;

第四,启动物理文件处理与导出模块M3,在物理文件所在路径下删减各类数据对象的物理文件,将过滤后的物理文件拷贝并压缩到交换路径下,生成导出列表;

第五,目标站点数据接收服务器接收第四步骤的数据库表和物理文件,运行数据导入与管控模块M4,从数据库表中查找有关物理文件记录表信息,与本地物理文件库及导出列表比对,生成回传信息列表反馈源站点以核对本次产品数据交换的准确性。

根据本发明的发明目的,包括如下模块和数据库表:

业务层数据抽取模块M1,逐层遍历产品结构树,查找满足过滤规则的产品数据,解析并导出PLM系统中各类产品数据对象的信息文件,在导出信息文件的同时,依次搜索所有构型管理项查找黑盒子数据,多个进程同时并行,定时将数据解析为标记语言文件;

数据对象处理模块M2,解析配置文件中的配置信息,对数据库表各类信息按过滤规则进行删除;处理并删除相关人员组织信息,使人员权限信息恢复到系统安装后初始状态;实现生产机数据库服务器在线备份,拷贝数据库备份文件到中间机服务器,在中间机服务器上进行数据库恢复,将在线数据库转变为离线数据库,备份数据库,打包生成数据库镜像文件等操作功能;

物理文件处理与导出模块M3,获取业务需求配置文件信息,比对新建数据库表并解析源数据库表,提取符合业务逻辑交换的物理文件数据包,生成带过滤条件信息的物理文件导出列表;

数据导入与管控模块M4,目标站点数据接收服务器导入产品数据和列表,比对本地物理文件库与数据库,分析生成回传列表,管理本地数据和数据交换的历史信息;

新建数据库表M5,根据业务层数据抽取模块M1抽取相关数据对象的信息文件,用于记录各类数据的属性和关系信息,与数据对象处理模块M3连接,删除无需交换的数据对象信息,并与物理文件处理与导出模块M2连接,获取业务需求配置文件信息,导出符合业务需求的物理文件。

根据本发明的进一步发明目的,其中在业务层数据抽取模块M1中:判断产品数据各类节点是否存在,递归遍历该节点下所有子节点;判断此产品数据的类型,解析并输出相应信息列表,并执行循环操作;判断此产品数据是否为黑盒子数据,对其解析输出到标记语言文件中;输出的产品数据各类对象的解析信息文件符合过滤规则的命名和格式要求。

根据本发明的进一步发明目的,其中在物理文件处理过滤模块M2中,依次判断解析信息文件中的业务对象属性信息,若该符合数据交换业务需求的要求,则将对应物理文件拷贝到相应交换目录下并继续遍历解析其他信息文件;若与业务需求不相符,则删除物理文件库中数据库表所记录路径下对应的物理文件。

根据产品数据业务定制需求,基于PLM数据库的数据对象关系与属性复制处理技术;以控制物理文件的交换共享,基于PLM系统业务对象属性的物理文件过滤处理技术。

本发明提供一种基于同构PLM数据库复制面向协同研制企业之间产品数据交换的方法和装置。设计企业(源站点)发往多个制造企业(目标站点)的数据各不相同,PLM系统数据库中只存储产品对象的关系与属性,只需对物理文件库中物理文件进行过滤,而数据库中的对象及关系数据在设计与制造企业之间处理而不屏蔽。该方法弥补了现有产品数据交换方式的不足,满足了异地协同研制环境中产品数据的交换与同步要求,在确保产品数据完整性的前提下,能够有效地对产品数据按具体业务需求进行过滤和打包,过滤条件可按需定制,可对产品数据进行全量和增量交换,最大程度地满足了多样化业务环境下企业的知识产权与保密要求,保证了产品异地协同研制中数据的正确性、有效性和一致性。

附图说明

图1.基于同构PLM数据库复制的协同数据交换模块和相关流程图;

图2.解析导出VCI信息文件流程图;

图3.解析导出零部件和文档信息文件流程图。

具体实施方式

本发明要解决的具体问题在于:产品数据按照不同环境与类型、不同状态和成熟度规则以及不同客户化定制要求等划分管理,产品数据交换是产品全生命周期协同研制过程中非常重要的环节,但很多同构PLM系统间产品数据交换方式,其按业务需求可定制化程度不高。通过本发明的方法和装置,产品数据的协同研制基本达到了从设计到制造的产品数据全生命周期管理要求,也符合协同企业间对于产品数据交换的各类业务要求。

一种同构PLM系统的协同数据交换方法和装置,本方法所述的详细步骤如下:

步骤一、在源站点建立中间机服务器(以下简称中间机),拷贝或直接挂载生产机上的物理文件库(包括黑盒子数据)至中间机上,之后备份源站点生产机的数据库,对数据库访问路径、产品(类)名称、数据存放路径、导出时间计划、数据过滤参数等环境文件进行配置;

步骤二、在中间机上恢复数据库,运行数据对象处理模块M2将在线数据库转变为离线数据库,启动业务层数据抽取模块M1,遍历整个产品结构树并判断数据对象类型是否满足属性选项和业务过滤的需求,以列表形式解析导出产品的基本信息和产品结构树下的构型管理项信息,在工作目录下生成相应信息文件;

步骤三、通过程序传入的产品ID号在PLM系统中查找是否存在交换的产品,逐级遍历此产品结构树下的各个实例,通过实例找到所挂的零部件信息,判断此零部件类型和属性,以构型管理项为单位进行,若为对应构型管理项属性和类型,则继续遍历此零部件的下一级,执行循环操作,否则结束此次循环,以列表形式解析导出,生成构型管理项信息文件;

步骤四、通过执行JAVA程序生成多个可并发运行的脚本命令文件,将大数据量的工作分为各个控制单元来处理,控制单元每个脚本文件中包含多条导出属性信息命令,解析步骤三中生成的构型管理项信息文件导出零部件信息和文档信息,首先判断此构型管理项节点是否存在,若存在则以层级展开的方式进行,程序执行将构型管理项下每个装配件通过递归方式遍历到其叶子节点,判定文档的扩展名类型和文档ID,输出该构型管理项的零部件信息文件和文档信息文件,若此零部件为黑盒子数据,则解析出该数据的零部件信息,输出到标记语言文件中;

步骤五、执行第三步的同时运行业务层数据抽取模块M1,通过执行JAVA程序查询并解析数据库更改指令表中信息,输出更改指令及受影响对象基本信息文件;

步骤六、数据库表的信息通过JDBC连接到数据库,通过SQL语句进行相关表信息的各种操作,建立数据库层面对象处理功能,新建数据库表M5并将产品(类)、构型管理项、更改指令及受影响对象、文档和零部件等信息导入到数据库,判断数据对象业务属性,若其满足交换条件则将此数据相关属性信息导入到数据库表中,每次执行导入之前删除创建的数据库表;将新建数据库表M5与从生产机拷贝的源数据表进行比对,若存在多个表的操作,程序用连接查询、分组查询进行处理,执行数据对象处理模块M2根据关键字段对比需保留的数据对象、配置文件参数、OID号查询对应关联关系等信息,对源数据库表中未被记录的数据库表、不满足配置参数要求的产品(类)信息和构型管理项节点信息、其他关联表信息等执行删除操作,备份并压缩过滤后的数据库;

步骤七、运行物理文件处理与导出模块M3,查询符合业务对象属性要求的新建数据库表M5,比对源数据库表并按业务配置要求查找物理文件所在路径,导出并压缩物理文件和列表;

步骤八、目标站点接收源站点中间机上过滤后的数据库文件、物理文件及黑盒子数据等,导入目标站点PLM系统中,执行数据导入与管控模块M4,恢复数据库并比对最新数据库与本地物理文件,生成回传列表信息反馈源站点,源站点以回传列表对此次交换数据进行核对。

实施例1:

以某型直升机跨地域多厂所协同研制数据交换为例,设计企业与制造企业都采用ENOVIA V5VPM V5R18进行产品数据全生命周期管理,交换的数据类型包括:产品类结构、产品及产品规格、产品结构数据(零部件实例、零部件引用、产品配置信息、文档),需按照发放单位进行过滤,过滤时间按照该属性值进行过滤,可进行增量和全量数据交换,成品EQUProduct上的模型文件按照扩展名过滤滤.catpart、cgr、 catdrawing交换到目标站点,关联的其它文档对目标站点进行屏蔽,标准件组织在单独的PRC上,数据包定义在PRC上进行增量标准件更新。产品数据协同数据交换物理文件库首次按照全量进行交换,以后基于第一次实现增量数据交换传递。

按照本发明方法和装置,结合以上直升机产品数据交换的业务需求,阐述具体实施方式:

步骤(1)将源数据库和vault数据备份到中间机的数据库服务器和数据仓库服务器上;

步骤(2)配置中间机的环境文件,主要包括数据库名称、数据库主机地址、登录数据库的管理员账号和密码(用户名与密码通过加密程序生成16位的加密字符串)、DS的安装路径、交换文件生成路径、需交换的产品类和产品(多个产品类和产品用分号隔开);

步骤(3)通过CAA程序传入的ProductID在VPM中查找是否存在此产品,结合图2所示,逐级遍历此产品结构树下的各个实例。通过实例找到所挂的零部件信息,判断此零部件的类型和V_602_type的属性值,则将零部件输出到VCI#ProductID.txt文件中,通过CAA程序导出要交换的产品结构树下的VCI信息并在工作目录下生成VCI#ProductID.txt的文件,VCI#ProductID.txt中各行信息依次为VCIID、VCIVersion、实例UUID、发送单位、实例ID;

步骤(4)通过执行JAVA程序和解析VCI#ProductID.txt文件生成九个可并发运行的.sh脚本文件,并发执行九个.sh脚本文件,判断VCI节点是否存在,递归遍历VCI节点下的所有节点,结合图3所示,生成以VCI为单位的下级零部件信息和文档信息,输出的VCI下符合过滤规则的文档命名为DocUrl#ProductName#VCIID#Version#.txt,格式依次为产品ID、VCIID、VCIVersion、零部件ID、零部件版本、文档ID、文档版本、发送单位、Vault文件所在路径、修改时间。输出的VCI下符合过滤规则的零部件信息命名为PartList#ProductName#VCIID#Version#.txt,格式依次为产品ID、VCIID、VCIVersion、零部件ID、零部件版本、零部件Domain、发送单位;

步骤(5)通过执行JAVA程序导出ECO信息,查询数据库ECO表中信息输出ECO基本信息,命名为ECOInfo.txt文件,格式为OID、ECOID、类型、发送单位、状态。首先解析生成的ECOInfo.txt文件。根据ECO的基本信息,在数据库中查找ECO所挂的受影响对象的信息,格式为ECOID、文档ID、文档版本、发送单位、文档在Vault中的路径;

步骤(6)将文档信息导入到数据库,过程如下:根据配置文件取得最后一次交换日期。在数据库中创建表ZTREE、ZTREECOMPARE。JAVA程序在工作路径下查找以DocUrl开头的文件,分别处理,将文件中的属性信息导入到ZTREE表中,同时判断时间戳,若文档的修改时间大于最后一次交换时间则将此文档信息导入到ZTREECOMPARE中。每次执行导入之前删除创建的数据库表ZTREE、ZTREECOMPARE;

步骤(7)将零部件信息导入到数据库,过程如下:创建数据库表ZPART。利用JAVA程序在工作路径下查找以PartList开头的文件,分别处理,将零部件信息导入到数据库表ZPART中;

步骤(8)比对新建数据库表,根据业务层的对象属性提取数据层数据、零部件对象数据、文档对象数据、ECO对象数据以及其它对象数据进行提取。在源数据库过滤删除不符合交换要求的数据库表信息,分别使用系列命令清除不需要的ECO对象、产品类和产品对象、产品树上的VCI节点、文档对象、零部件对象、文件夹对象、工程更改请求、P&O对象信息等。过程如下:

步骤(8.1)过滤ECO信息:通过JAVA程序打开ECOInfo.txt文件。依次判断ECO信息,若此ECO与交换的发放单位不相符或状态不是已发放状态,JAVA程序在数据库表ECO中删除此ECO信息;

步骤(8.2)过滤不需要的产品类和产品:解析配置文件中配置的产品类属性和产品属性。删除数据库表VPMPRODUCTCLASS中没有在配置文件中标识的产品类。删除数据库表VPMPRODUCTCLASS中没有在配置文件中标识的产品;

步骤(8.3)过滤VCI节点信息:通过JAVA程序查找以VCIInfo开头的文件同时根据查询到的文件的文件名取得ProductID号,确定为需要解析的文件。通过查询到的以VCIInfo开头的文件,在数据库表VPMITEMINSTANCE表删除不满足指定发放单位和产品的VCI节点信息。在数据库表VPMITEMINSTANCER表中删除不满足指定发放单位和产品的VCI节点信息;

步骤(8.4)过滤文档信息:通过JAVA程序在VPMTPDOCUMENT0001中查询ZTREE表中没有记录的文档ID号。准备执行删除操作,在VPMTPDOCUMENT0001中查询之前查询到的文档ID号对应的OID号。删除数据库表VPMDOCUMENTRE0001表中VMASTER字段与OID号相同的数据。删除数据库表VPMDOCUMENTR0001R表中VMASTER字段与OID号相同的数据。删除数据库表VPMDOCUMENTR0002R表中VMASTER字段与OID号相同的数据。删除数据库表VPMTPDOCUMENTR0001表中VID字段与OID号相同的数据。删除数据库表VPMTPDOCUMENTR0002表中VID字段与OID号相同的数据。删除数据库表VPMTPDOCUMEN0003R表中VID字段与OID号相同的数据。删除CHD类型的文档,准备执行删除操作,在CHDDocumentMaster中查询之前查询到的文档ID号对应的OID号。在数据库表VPMTPRELATIONCTOA中查询以OID为索引的相关文档信息,并得到此数据的OID。删除数据库表VPMTPCONNEXIONR表中OID相同的数据。删除数据库表CHDDocumentMaster表中文档ID号相符的数据删除数据库表CHDDocRevision中以versionID为索引的数据,并清除相关联表中的数据;

步骤(8.5)清理文件夹信息:清理数据库表VPMTPFOLDERMASTER表中所有信息;

9)根据配置文件取得最后一次交换日期。JAVA程序在工作路径下查找以DocUrl开头的文件,若此文件的发放单位相符并且最后修改时间大于最后一次交换时间,则将此物理文件拷贝到相应发放目录下,物理文件实现增量数据交换,时间配置文件若为空,则为全量数据交换;

10)拷贝数据库和文件系统数据到发放目录,备份、压缩打包处理后的数据库文件,压缩物理文件和黑盒子数据。通过专用网络交换传递,目标站点对源站点数据(包括数据库、物理文件、导出文件列表、 黑盒子数据等)进行接收,解压并恢复到相应目录下,比对形成此次数据交换的回传列表,反馈源站点,源站点对交换数据进行核对,至此完成产品数据协同交换。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1