APP下载

基于数据库与电子仓库增量复制的数据交换技术研究与应用*

2016-05-30曾卫平陈阳平于春江吴志鹏

航空制造技术 2016年10期
关键词:研制定义服务器

曾卫平,陈阳平,蒋 莉,于春江,吴志鹏

(1. 中国直升机设计研究所,景德镇 333001;

2. 中国商用飞机有限责任公司信息化与管理创新部,上海 200126)

在复杂产品工业领域,CAD/PDM技术已广泛应用在产品研制过程中,要实现跨地域多企业之间的产品协同研制,就必须保证产品协同研制企业之间的产品PDM数据在交换传递过程中产品数据的单一性、准确性、完整性,这对提高基于PDM系统管理的产品全生命周期研制效率显得尤其重要。

目前,基于PDM系统的产品数据交换有基于STEP标准的,有基于XML跨平台语言的,也有利用PDM系统已有的多站点复制工具进行抽取交换的,但是随着工程研制不断深入,发现很多工程数据在产品研制过程中会有很多过程特殊性,而在这种情况下通过以上数据交换方式就会存在产品配置信息丢失、数据不完整、导入数据错误等问题,严重影响产品的协同研制[1-2]。

本文提出了基于PDM系统数据库与电子仓库复制的数据交换模型,克服了数据抽取导入过程中产品数据的各类错误,通过分析与产品数据对象相关数据库表之间的相互关系,在数据库中抽取与具体数据对象相关的数据库表记录,同时过滤物理文件库的物理文件,达到数据库和物理文件库增量复制的目的,在保护各企业知识产权的基础上,实现产品数据在研制企业之间双向交换传递,满足了产品协同研制企业之间的数据交换应用要求[3-4]。

1 数据交换模型

1.1 复杂产品数据交换的业务流程

研发设计单位按照产品研制技术要求及客户订单内容,在PDM系统中创建产品结构树,按构型管理要求配置相应层级、设计节点,达到成熟度发放要求的数据交换给制造单位,制造单位接收到产品设计数据之后,将制造现场状态的审核反馈数据及工装设计、工艺制造类数据交换给设计单位,如图1所示,产品设计、制造数据在研制单位之间完成了数据交换,实现了产品数据从研发设计到生产制造,再到研发设计的产品全生命周期单一数据源管理[4-7]。

1.2 数据交换原理组成

基于PDM系统的数据库与电子仓库增量复制的数据交换模型由主、从数据库服务器,主、从物理文件库服务器和主、从应用服务器组成,根据交换产品的差异,主从关系可在主设计单位或主制造单位中进行定义,如图2所示,为基于PDM系统数据库与电子仓库增量复制的产品数据交换模型组成,各交换单位之间可进行产品数据(包含数据库数据和电子仓库数据)的全量和增量交换。

(1)主服务器:按交换产品的研制要求,将主研制单位(主设计或主制造单位)的服务器定义为主服务器,包括主数据库服务器、主物理文件库服务器、主应用服务器,用于定义产品结构,定义各从属服务器协同设计的产品数据(VCI或产品),人员权限管理,配置构型管理,不编辑改变从服务器的数据;

(2)从服务器:按交换产品的研制要求,将分包研制单位或某一主研制单位的服务器定义为从属服务器,即从服务器,包括从数据库服务器、从物理文件库服务器、从应用服务器,按产品研制节点的构型项定义进行设计,同步主服务器上的增量或全量产品数据,不编辑改变主服务器的数据。

1.3 数据交换主要过程

过程Ⅰ 在主应用服务器上配置需要交换的产品,同时定义包括交换单位、交换时间、导出产品数据的目录、恢复数据库等在内的产品数据交换计划。

过程Ⅱ 利用CAA接口及Java程序分别导出产品结构树各层级节点和更改管理的信息并输出相应文件,其中输出的XML文件对应数据库表中的零部件属性信息、零部件的装配关系、零部件与文档的关联关系和零部件的位置矩阵信息等[8]。

过程Ⅲ 导出的Java程序同时导出VCI零部件节点关联的物理文件,根据产品数据交换计划以时间戳、发送单位等为条件对电子仓库文件进行过滤删除。

过程Ⅳ 根据应用层导出的XML文件,提取与之关联的数据层数据,并以数据层数据的筛选过滤为基础进行增量或全量数据库复制交换。

2 数据交换技术实现

2.1 VPM系统数据对象与属性及数据表分析

在PDM系统中数据对象的关系与属性存在于数据库中,物理文件存在于物理文件库中。本文以ENOVIA VPM系统作为产品数据管理工具,通过对VPM系统缺省数据对象分析,归纳发现VPM系统中用到的数据对象主要有产品结构类、文档类、更改管理类、配置信息类、人员组织类等5大类。其中产品结构类包括产品、产品类、组件、零部件等,文档类对象是记录研制过程数据的集合,更改管理类包括更改指令、更改请求等,配置信息类主要涉及数据及特殊关系的规格类别配置等,人员组织类主要是IPT管理的用户、上下文、权限定义等[9]。

图2 基于PDM数据库与电子仓库增量复制的数据交换模型组成Fig.2 Component of the PDM data-exchange model electronic warehouse incremental replication

在VPM系统中,各业务对象通过数据类型类的相关属性进行相互关联,而在数据库层面则通过关键字段进行相互关联的,例如在VPMPRODUCTCLASS(产品类表)中,通过查询数据表中的记录可分析发现,VID为产品类标识,VNAME为产品类名称,VPROJECT0007为项目名称project(即P&O的投影标识),VPC、VPRC为对应值,VPC对应其下一级是否有产品类,而VPRC对应该产品类下是否有产品,VLEVEL为产品类层级等,其中VPRCI0004为记录VPMPRODUCTRO0001(产品表)中产品OID号,V506GRAPH为记录了对应GIVERSION表中VHISTOID的字段,OID对应PACKAGERBO表中记录的ROOTMOOID,在VPM关系数据库中,这些关联字段在两个表或一对多个表之间建立了联系,如图3所示,图中记录了VPM定义的主要数据对象对应数据库表之间的关联关系与对应关联字段。

图3 VPM部分数据库表的关联关系图Fig.3 Relation schema of VPM integrant DB tables

表1 CHDPARTVERSION表字段名对应VPM系统的数据对象属性名

2.2 系统客户化后数据对象与属性分析

基于VPM系统的数据交换需保证多个站点的客户化环境一致性,这是实现基于VPM数据库复制的数据交换的基础。根据客户化定制及属性定义的要求,VPM系统的缺省几大类对象可扩展出更多的数据对象,缺省的数据对象属性也因客户化要求进行扩展,这些数据对象及属性通过DMC客户化定制在缺省数据库环境上对某些数据库表和字段进行了修改扩充。以某复杂航空产品的VPM V5R18系统为例,客户化定制后的VPM系统中一个对象通常对应一组数据库表,其数据库表总数相比源数据库表扩展多了480多张,已有数据库表中的某些字段也因客户化定制有扩充改变,表1为CHDPARTVERSION部分数据库表字段名与客户化后与系统界面有关的VPM数据对象属性名及业务对象别名之间的对应表。

借助CAA客户化工具,客户化后VPM系统中各类数据对象及相关属性也是通过关联数据库表和关联字段进行相互映射关联的,系统应用层面的菜单命令及操作对应了数据对象之间的关系,即通过数据表中产生表的记录或修改表中的相应字段值。以某复杂产品客户化后VPM系统为例,部分零组件类对象在客户化后的数据库表中扩展出了CHDPARTVERSION、E Q U P A R T V E R S I O N、S T D P A R T V E R S I O N、CIPARTVERSION、CHDPARTVERSI0001A、STDITEMINSTANCE、CHDPARTVERSI0014A等数据库表,这些数据表之间也是通过数据库表的某些字段相互关联的,例如在CHDPARTVERSI0014A表中的OID字段与数据库表CHDPARTVERSION的OID相同实现数据库表关联,而CHDPARTVERSI0014A表中的VXREVIEWINF0003字段则是对应VPM系统客户化后扩展出来用于记录MBD设计过程的审签信息。

2.3 利用CAA接口函数遍历产品结构树

图4 利用CAA和Java程序解析VCI节点下的信息Fig.4 Analysing the information belong to VCI by CAA and Java

图5 数据库底层及系统应用层实现过滤交换Fig.5 Process of filtering and exchanging

CAA是第三方产品集成和一般客户进行客户化、个性化设计的强有力工具,利用CAA可以实现Dassault Systems应用的二次开发。首先,利用CAA的接口函数导出VPM系统中产品结构树下VCI信息并生成记录VCI节点下叶子节点的零部件信息,通过程序传入的ProductID号在VPM中查找是否存在此产品,逐层遍历此产品结构树下的各个实例,通过实例找到所挂零部件信息,并判断此零部件类型,同时记录此零部件的属性值并输出零部件信息文件中,同理对下1个零部件进行循环操作。导出交换产品VCI节点信息后,Java程序利用CAA接口函数以VCI为单位递归遍历导出节点下零部件和文档信息。具体解析过程如图4所示。CAA接口函数包括:ENOVIExpandable、CATIAVPMItemInstance、ENOVIABusinessObject、ENOVIDocumentable、ENOVIObject、ENOVIVaultDocument 等[8]。其中ENOVIExpandable主要用来管理VPM系统中的树结构,二次开发中通过此接口得到产品结构树的所有节点,导出所有的实例。

2.4 数据库底层过滤抽取交换技术

通过对VPM系统数据库表的分析发现,VPM数据库中各数据库表的主键由字段OID进行唯一标识,且各数据库表包含的字段个数与名称各不相同,利用CAA接口函数、Java程序导出数据对象信息,主要对包括与产品结构树的相关产品与产品类、组件、构型管理项、零部件、文档等以及更改指令数据对象进行遍历,获取产品数据对象的所有信息,通过JDBC连接DB2数据库抽取交换的数据库表和过滤后的物理文件,具体实现过程如图5所示。

2.5 电子仓库同步增量抽取方法

在电子仓库的物理文件数据过滤过程中,读取CAA接口及Java程序导出的DocUrl文件,比对时间戳是否按时间增量要求,同时比对上次导出的物理文件记录,对电子仓库中在交换时间段内且不在上一次导出清单中的物理文件进行拷贝,同时比对XML文件对应数据库表信息,生成本次数据交换物理文件的导出清单,至此,对电子仓库中物理文件实现了按数据增量复制要求的过滤交换。

3 应用示例及效果分析

3.1 应用示例

某复杂航空产品在设计与制造单位之间开展产品YTestPD的协同研制,按研制工作份额对产品研制数据进行定义,以VCI为双向交换的基础元素,其中主设计单位定义为主服务器,其VCI分包为VCI-master-X,主制造单位定义为从服务器,其VCI分包为VCI-slave-X。

在产品初步研制阶段,在主服务器的产品结构树上和从服务器上都挂有不少产品研制数据,其中也包括管路、电器等黑盒子数据,如图6所示。

在主、从服务器各自运行产品数据交换程序后,经关系数据和物理文件数据的导出导入,如图7所示,查看从服务器可发现主服务器上定义的VCI-master-001和VCI-master-002已完整交换至从服务器上。同理,对于从服务器上的VCI-slave-001和VCI-slave-002,通过已定义的数据形式(包括物理文件和数据库文件)按时间增量同步交换至主服务器上。

图6 交换前主、从服务器上的产品结构树数据Fig.6 Product structure tree date in main server and follow server before exchange

图7 从服务器上交换导入后的VPM产品结构树Fig.7 Product structure tree date in follow server after exchange

3.2 应用效果分析

许多企业之间数据交换利用应用层的多站点复制数据交换方式在一定程度上解决了产品数据交换的问题,但是这种数据交换因为与业务层结合紧密,对数据质量的要求比较高,数据稍有问题或变化就可能导致数据交换失败,为杜绝此类问题,确保产品数据交换成功,本方法在有效结合PDM多站点复制工具应用层数据抽取优点的同时,在研究分析PDM系统数据库底层数据的基础上,以数据库底层的数据过滤筛选方式完成了基于PDM系统数据交换。

4 结论

通过基于PDM数据库与电子仓库复制的数据交换,在保证了产品结构树、产品配置信息、产品数据正确性和有效性的基础上,满足产品研制企业之间数据交换应用过程中的产品结构化数据双向交换要求,优化了产品数据在产品全生命周期研制中的管理模式,可解决协同研制企业之间的产品数据结构、数据对象以及数据状态的一致性、完整性等,在很大程度上有效地保护了企业知识产权,为大型复杂产品异地协同研制提供了产品结构数据共享和集成的应用基础。

[1]李治,金先龙,曹源,等. 基于自动化设计网格的产品定制系统的研究[J].计算机集成制造系统, 2006, 2(6):810-816.

LI Zhi, JIN Xianlong, CAO Yuan, et al. Research on product customization system based on automated design grid[J]. Computer Integrated Manufacturing Systems, 2006, 2(6):810-816.

[2]CHEN N X ,LI N M ,GAO N S. A web services based platform for exchange of procedural CAD models[C]//The 9th International Conference on Computer Supported Cooperative Work in Design,New York:IEEE,2005.

[3]WANG Q,REN Z W,GUO Z F. XML-based data processing in network supported collaborative design[J]. International Journal of Automation and Computing,2010(7):330-335.

[4]薛善良,廖文和. 面向敏捷制造的产品数据交换研究[J]. 机械与电子 , 2005(5):6-9.

XUE Shanliang, LIAO Wenhe. Study on product data exchangesupported agile manufaturing[J]. Machinery & Electronics,2005(5):6-9.

[5]盛步云,冯站峰,倪小平,等. PDM集成框架下CAPP与PDM的数据交换[J]. 计算机集成制造系统CIMS,2003,9(6):476-488.

SHENG Buyun, FENG Zhanfeng, NI Xiaoping, et al. Data exchange between CAPP and PDM systems for PDM integration[J]. Computer Integrated Manufacturing Systems, 2003(6):476-488.

[6]李海峰,王先逵,吴丹. 基于XML的异构PDM系统产品数据交换技术[J].航空精密制造技术, 2003, 39(1):20-24.

LI Haifeng, WANG Xiankui, WU Dan. Research on product data exchange among heterogeneous PDM systems based on XML[J]. Aviation Precision Manufacturing Technology, 2003, 39(1):20-24.

[7]谢洪彦,余志强,许旭东,等.企业集成应用系统的研究与实现[J].航空制造技术, 2012(6):62-67.

XIE Hongyan, YU Zhiqiang, XU Xudong, et al. Research and implementation of enterprise integration application system[J]. Areonautical Manufacturing Technology, 2012(6):62-67.

[8]何朝良,杜廷娜,张超. 基于CAA的CATIA二次开发初探[J].自动化技术与应用, 2006,25(9):37-49.

HE Chaoliang, DU Tingna, ZHANG Chao. The secondary development of CAA-based CATIA[J]. Techniques of Automation &Application, 2006(9):37-49.

[9]肖育林,谷正气,李伟平. 协同设计中基于XML的产品数据交换技术的研究[J].机械设计与制造, 2006(2):127-128.

XIAO Yulin, GU Zhengqi, LI Weiping. Research of XML-based product data exchange technology in collaborative design[J]. Machinery Design & Manufacture, 2006(2):127-128.

猜你喜欢

研制定义服务器
通信控制服务器(CCS)维护终端的设计与实现
一种新型固定翼无人机的研制
XV-24A垂直起降验证机的研制与发展
中国服务器市场份额出炉
得形忘意的服务器标准
一种轻型手摇绞磨的研制及应用
计算机网络安全服务器入侵与防御
成功的定义
137Cs稳谱源的研制
修辞学的重大定义