一种多结构数据转换及对比算法

2016-12-23 02:59郭庆军
制造业自动化 2016年7期
关键词:数据结构校核关键

郭庆军,武 娜

(北京汽车研究总院越野车研究院,北京 101300)

一种多结构数据转换及对比算法

郭庆军,武 娜

(北京汽车研究总院越野车研究院,北京 101300)

在信息化建设过程中,不同系统间的数据结构、数据表达方式都可能存在差异,在数据传输过程中,需要对上游的数据进行转换。以PDM系统和BOM系统为例,通过研究BOM表的数据结构差异、不同系统间数据转换机制和数据对比工具等内容,设计了一种多结构的数据转换及对比算法,并用软件实现了该算法。该软件为PDM系统与BOM系统间数据传输过程中的数据一致性提供了校核平台,大大提高了数据校核工作效率。该数据校核机制具有广泛通用性,适于在研发制造类企业中推广。

多结构;数据转换;结构差异;算法;对比工具

0 引言

在信息化建设过程中,通常存在多个系统协同工作的情况。如在生产企业中,存在ERP系统、设备管理系统、MES系统和底层数据采集系统和办公系统等多个系统间的数据交互[1];在制造研发企业中,存在数模设计系统(如CAD或CATIA)、PDM系统、BOM系统、ECM系统、工艺系统和OA系统等多个系统间的数据交互。不同系统间的数据结构、数据表达方式都可能存在差异,在进行系统间的数据同步时,需要进行对上游的数据进行转换。数据接收质量的好坏,严重影响不同系统间数据的一致性。数据的正确性、及时性一、完整性是企业信息化建设的根基;没有这个根基,信息化建设只能流于形式化,并不能起到真正的效果。因此,确保系统间数据传递的一致性,是企业信息化建设中重要的一环。但在系统现实应用过程中,由于数据维护不同步、数据维护不完整等原因,极易引起数据冲突。如何获取数据并确保数据的一致性,成为企为数据管理的一大难题。

1 不同系统间的数据转换研究

1.1变更数据转换过程

根据变更申请单、会议纪要等文件,确定变更方案后,发起数据变更。变更数据的转换过程包括属性变更清单编制、系统数据维护、数据校核和数据生效等过程。具体流程如图1所示。

图1 变更数据的转换过程

对于工程变更数据而言,属性变更清单分为基本属性和结构属性两部分。基本属性主要包括零部件编号、零部件名称、材料、质量、建议货源、数模版本和图纸版本等信息;结构属性主要包括父级件、级别、模块号、零部件功能位置描述、零部件分类、结构货源、扭矩和配置条件等信息。这些信息在设计阶段经常发生变更,如果通过手工维护,工作量较大难免会有遗漏或编制错误[11]。

1.2不同系统间数据交互方法

在流水式的业务操作流程中,每个环节的输入均是上游的输出;但上游的输出的数据结构与下游的输入要求很难相符。为此,为了满足数据结构的要求,通常需要通过消息中间件、功能二次开发或手工处理来满足下游数据的需求。

消息中间件的数据载体通常为XML文件或数据表,通过约定的数据模板来规范数据通讯机制,大大减少了错误数据的接收率。如Message Queue等[2]。

目前常见的系统交互方法有API、数据文件、数据库、Cookie等,不同的交互方法应用场景也不同[3]。

1.3数据结构分析

PDM系统与BOM系统的数据结构及数据值表现形式存在许多不同之处,具体表现如表1所示。

表1 PDM系统与BOM系统的EBOM数据对比

1.4数据对比工具

通过数据预处理后,我们获取了相同模板下具有关键值的数据表信息。现在需要对这两个数据表进行对比分析。通过百度搜索,我们会发现许多数据对比工具,这些工具基本可以满足我们对数据对比的需要,但在显示格式上尚需要完善。

Excellent Compare 0.1.8: Excellent Compare是专业的Microsoft Excel工作表比较同步工具,它提供两种比较方式——关键列比较和逐行比较,可以同时比较两个工作簿中的多个工作表,并且可以在详细比较窗口中随时修改内容。也可以比较值、公式、批注[5]。但该软件将数据对比结果放在两个表中显示,数据差异显示不够鲜明,对于数据量较大的BOM数据对比而言,操作起来不够方便。操作界面如图2所示。

图2 Excellent Compare 0.1.8操作界面

Excel比较大师V0.09:Excel比较大师可以用于对比同一或不同Excel工作簿中的两个工作表或工作区域之间的差异,并产生报告。该软件支持xls格式的Excel数据表对比[6]。这种对比方式,其输出结果中对变更信息分别说明。即更改信息、新增信息、删除信息;差异分析结果比较明确。操作界面如图3所示。

图3 Excel比较大师 V0.09操作界面

Excel文件比较工具3.0:Excel文件比较工具是一款用于比较两个Excel文件的数据的简单工具,采用列式比较和区域比较,并用极具人性化的设置,让两个文件不同的地方清晰的标示出来。该软件可以自定义要对比的文件及文件区域信息,并可指定输出结果的显示方式[7]。操作界面如图4所示。

图4 Excel文件比较工具3.0操作界面

以上是几个比较有代表性的Excel数据对比工具,它们均可基于关键值对指定列进行对比,虽然在显示结果上有所不同,但尚可进行数据差异对比使用。需要说明的是,对于BOM数据结构而言,如果总成件删除了,其下级件必然会删除。因此,在对比结果中,不需要显示删除的下级件。因此,如果运用现有的软件,还需要对下级件单独处理。

2 数据预处理

数据变更清单,从内容上分为零件属性变更和BOM属性变更两部分;从应用系统角度分为Excel版变更清单、PDM系统变更清单和BOM系统变更清单等。不同系统间的变更清单数据流转时,需确保数据维护的一致性。

不同系统间的属性核查,需要按照统一的模板获取相应的变更信息;同时由于不同系统中其零部件级别、配置条件、上一级零部件的表达方式不同,还需要将数据的表达方式进行统一。

因此,数据对比前,需要通过数据预处理统一数据表示形式,从而避免产生不必要的差异数据。

2.1数据行关键值处理

不同数据表间进行数据对比时,需要确定关键列(可以是多列)。利用关键列,对其他指定数据列信息进行对比。关键列中的关键值需具有惟一性。以PDM系统和BOM系统的EBOM数据为例,介绍下EBOM关键值的提取方式。

为了确定从PDM系统到BOM系统的数据具有可跟踪性,需要寻找对应的关键值。遗憾的是,PDM系统的这个关键值并没有传输到BOM系统中,或在BOM系统数据维护过程中,并没有将二者进行对照;因此需要重新定义BOM行的关键值。

EBOM的数据结构显示采用的深度优先遍历方式[4]。根据这种结构,可以将当前零部件的所有上级件进行拼接,组合成一个字符串,并在该字符串的后面加上零部件安装位置代码和零部件配置变量,这个最终形成的字符串称为EBOM行的关键值。即:

关键值=零部件上层零部件+安装位置代码+配置差异。其中,根据安装位置代码在BOM数据中维护的完整程度确定关键值中是否包含这一项;配置差异是指同一零部件在BOM行中出现多次,但对应的车型配置不同,通常是以“S”和“—”拼接的字符串。

2.2数据字段及内容处理

PDM系统与BOM系统的EBOM数据在对比前,需要根据指定模板,按顺序提取所需字段信息。根据两个系统间的数据结构差异分析(见1.2节),需要对有差异的数据进行处理。

主要处理要求如下:

1)简化配置变量条件,按变量条件解析结果判断变量条件是否相同。

2)采用BOM系统的配置代码表解析配置变量,生成矩阵式EBOM 。

3)统一IA代码规范。

4)统一图纸号、本色件、颜色件等字段的填写规范。

5)提取BOM行关键值,作为BOM行的标记号。

6)针对关键值相同的数据行,进行数据打包。

2.3数据预处理模型设计

图5 EBOM数据预处理流程图

按关键值合并数据行是指将关键值相同的行中的与多结构有关的数值列进行求和、字符串列进行拼接。

打包处理后的字符串,如果去除变量条件后,数据行仍只有一行,则将变量条件去掉,以提高关键值的匹配程度。

3 数据对比与校核

3.1数据对比模型设计

数据对比模型中更改前、更改后、数据对比清单、结构属性变更清单和基本属性变更清单等五种数据,其中结构属性和基本属性也可以合并或继续分解为其他属性数据。

1)更改后:包括新增数据和更改后数据;只体现结构属性中当前级及其直接下级信息。

2)更改前:包括删除数据和更改前数据;只体现结构属性中当前级及其直接下级信息。

3)数据对比清单:根据零件号、上一级号、数据重复标记等,记录变更前、变更后中的数据对比结果,并在对比结果中配置结构属性和零件属性对应的字段信息。

4)结构属性更改清单:根据数据对比清单生成的结构属性变更信息。

5)基本属性更改清单:根据数据对比清单生成的基本属性变更信息。

变更清单模型设计示意图如图6所示。

图6 数据对比模型设计

3.2数据校核流程

当不同系统间任一个系统的数据发生变化时,需要将其他受影响的系统数据进行同步。目前都是通过变更流程来确保数据是否可以变更以及生效时间的;但变更流程中涉及到的数据清单大多是通过人工进行维护的。系统间的数据维护是否完整、系统间的数据是否有差异,需要一定的数据校核机制来保障。

为了确保不同系统间的数据一致性,除了通过变更流程进行控制外,还需定期对不同系统间的数据进行校核。即:数据校核分为两种:一种是对变更流程中的输入数据与更改后的变更信息进行校核;一种是对不同系统间的整版数据进行对比。前者可以确保更改数据的完整性和正确性、后者可以弥补前者的遗漏信息,从而在更大程度上提高了数据的一致性。二者在数据校核流程上基本上是一致的,具体如下:

1)从上游系统(如PDM系统)中获取EBOM最新版本或EBOM变更输出清单。

2)从下游系统(如BOM系统)中获取EBOM最新版本或EBOM变更维护结果清单。

3)对上下游系统的数据进行数据转换。

4)数据差异对比,并对差异结果进行记录。

5)数据差异内容确认与核查。

6)数据差异内容同步。

3.3数据处理软件设计

通过分析了PDM系统与BOM系统数据结构的差异及不同系统间数据转换机制,本文设计了PDM系统和BOM系统的数据处理流程。在处理过程中,如果总成件被删除,其下级件删除信息不作体现[8]。

为了简化数据对比操作步骤,我们在确定数据对比模板的基础上,设定了常用的默认列名(可调整)。并将数据预处理(变量条件格式调整、所需对比列、数据打包等信息)与数据对比进行集成,开发了数据处理及对比软件,实现了对比操作一键完成的目标,界面操作如图7所示。

图7 ECN数据输入前后核查操作界面

4 应用

工程变更涉及产品研发设计、工艺设计、产品生产管理、零部件采购、销售、售后服务等整个制造业产品生命周期管理中的协同。工程变更流程需要整合企业的PDM系统、BOM系统、ERP系统等关键IT系统,是一种跨系统、跨部门的业务协同流程。因此变更清单在生成维护过程中,尽量减少各系统间数据交互的人工干预,实现数据实时动态的形象化对比[10]。

工程变更数据包括变更依据、变更原因、成本分析、影响范围分析、数据变更清单等内容。其中数据变更清单分为零件属性变更和结构属性变更两部分。

4.1工程变更清单编制

根据变更清单模型设计,工程变更清单编制的数据基础是存在变更前后的数据信息,并能指定数据对比的规则,如:多层次结构中存在数据差异时,是否要体现下级件;哪些字段需要对比等信息。通过对PDM系统中零部件变更搭建要求研究[12],开发了基于Team Center V8.1的属性对比清单插件。该插件按照变更清单模型,生成了零件属性对比清单和BOM属性对比清单;有效地解决了专业工程师在PDM系统中多次维护数据的问题,提高了工程变更流程的执行效率和准确率。

4.2BOM系统工程变更清单核查

BOM工程师在BOM系统根据专业工程师输入的变更清单维护完数据后,需要核查数据维护是否正确。即需要将BOM系统流程中的输入数据与输出数据进行核查。因此,开发了数据对比工具,并将BOM系统流程的输入输出文件作为模型中的输入数据,通过生成的数据差异清单,查看是否维护正确。如果差异清单中存在差异数据,则变更前后信息不一致。通过数据对比工具,可有效提高BOM工程师对数据维护的正确性,提高数据校核校率。

4.3PDM与BOM系统数据一致性核查

为了确保PDM系统与BOM系统数据的一致性,需要定期对PDM系统和BOM系统的EBOM结构进行核查,以确保不同系统间数据的一致性。由于PDM系统的EBOM数据结构与BOM系统的EBOM数据结构存在很多不同之处,且相同结构,数据维护规则也不完全一致,因此EBOM数据进行预处理,预处理内容包括:配置变量解析、行关键值提取、对比字段提取、数据合并处理等内容[9]。

根据PDM系统与BOM系统的EBOM差异对比清单,按零件属性和BOM结构属性进行提取,形成零件属性差异清单和BOM属性差异清单;为BOM工程师进行差异分析与数据同步提供基础,确保了数据传输过程中数据的完整性和正确性。

5 结束语

不同系统间的数据传递由于数据结构、数据传输机制不同,需要进行相应的数据转换以满足上下游数据传输的需要;同时为确保数据接收的完整性及正确性,还需对接收数据进行数据核查。在以上章节中,通过对数据转换机制、数据对比工具的研究,以PDM系统和BOM系统为例,通过研究BOM报表的数据结构差异、不同系统间数据转换机制和数据对比工具等内容,设计了基于关键值的数据转换及对比算法,并用软件实现了该算法。该软件既可以处理一般的数据对比,也可以满足多层次结构对比的需要。该软件为PDM系统与BOM系统间数据传输过程中的数据一致性提供了校核平台,大大提高了数据校核工作效率。该数据校核机制具有广泛通用性,适于在研发制造类企业中推广。

本软件适用于大型数据对比分析,为采购、财务、信息技术等相关部门提供了数据核查平台。随着以后信息化数据管理水平的发展,如果这些处理工作将交由系统后台来处理,尽量减少人工参与数据维护的程度,数据对比的工作量与对比频率将会大大减少。

[1] 钢铁企业信息系统架构案例.http://doc.mbalib.com/view/08bc9a fbb83e32b9b71f2b3ef129dc58.html[EB/OL].智库文档.

[2] 消息中间件概述.mq工作原理.http://blog.itpub.net/117123/ viewspace-834591/[EB/OL].2006.5.

[3] 4种系统间交互方法比较.http://blog.csdn.net/zuocheng_liu/ article/details/9035015[EB/OL].2013.

[4] Thomas H.Cormen, Charles E.Leiserson.算法导论[M].机械工业出版社出版,2013.

[5] Excellent Compare 0.1.8, http://www.onlinedown.net/soft/65057. htm[EB/OL].2009.10.

[6] EXCEL数据对比大师V0.09.http://www.downxia.com/ downinfo/24568.html#softdown[EB/OL].2012.8.

[7] Excel文件比较工具3.0.http://www.gezila.com/ruanjian/ yingyong/78305.html.[EB/OL].2014.8.

[8] 郭庆军,贾明亮,李原.多车型结构中零部件关系及配置管理研究[J].新型工业化,2015.5.

[9] 郭庆军,李小丽,贾明亮,等.一种基于变更流程的EBOM数据变更统计机制[J].新型工业化,2015,7(5):51-56.

[10] 重庆斯欧.工程变更管理协同流程(SOA-ECM).http://articles. e-works.net.cn/Articles/PDM/Article81922.htm[EB/OL].e-works数字化企业网,2010.11.

[11] 刘清华,万立,钟毅芳.工程变更管理的分析与研究[J].计算机集成制造系统,2000,6(12).

[12] 王忠浩,蔡力钢,朱海平,高亮.PDM中工程更改管理的设计与实现[J].武汉:华中科技大学学报(自然科学版),2003.6,V31(6).37-40.

A data conversion and comparison method based on key values

GUO Qing-jun, WU Na

TP274

A

1009-0134(2016)07-0009-05

2016-03-30

郭庆军(1983 -),男,硕士研究生,研究方向为制造业信息化、项目管理、工程数据研发管理和试制物料管理等。

猜你喜欢
数据结构校核关键
发电机进相试验失磁保护与低励限制配合关系的校核
硝酸甘油,用对是关键
新形势下深化改革开放的关键一招
高考考好是关键
数据结构线上线下混合教学模式探讨
通行费校核分析方法探究
为什么会有“数据结构”?
基于卫星遥感图像的收费站位置自动识别与校核
FPSO火炬塔海运绑扎方案及强度校核
高职高专数据结构教学改革探讨