1 引言
进入到21世纪以来,我国的TDM(试验数据管理)技术领域展现出蓬勃的生机,越来越多的行业和单位开始关注该技术和相关的解决方案,如航空、航天、兵器、船舶、汽车等行业,尤其在航空领域的应用更为广泛,长期的设计分析、工程试验已产生并积累了大量工程试验数据。以往这些试验数据多以数据文件或印刷文档方式保存和管理的,对于缺乏结构化的、格式不统一的文件资料,管理人员往往难以使用,更谈不上对信息进行二次处理,同时随着试验工具的更新换代和试验手段的不断改进,从试验中获取的数据模式也不断发生变化,因而要求能够统一管理这些模式相异、随时间变化的数据。随着工程试验的不断推进和研究的进一步深入,人们又提出了新的要求,要能够从大量的历史试验数据中分析、挖掘出一些隐藏在数据中的规律,并利用这些信息和经验来指导进一步的工程设计和试验。TDM系统正在成为企业提高试验管理水平、缩短科研周期、降低科研经费的一个重要手段。TDM的物理结构如图1所示。
图1 TDM系统物理结构图
作为一个试验数据综合数字化管理平台,TDM系统涉及很多复杂的功能和技术,而数据导入功能就是其中之一。试验数据导入功能就是从各种格式的海量试验数据文件中快速提取目标数据、再转换清洗后装载到数据库中。TDM系统目前试验数据管理的需求状况决定了数据导入功能的重要性。
(1)试验数据格式多样
目前国际和国内的试验数据采集设备多种多样,并且还没有形成统一的标准,而且许多客户单位也大量采用非标设备,于是采集的试验数据格式也就多种多样。相对于商业或者其它领域的数据,工程试验数据有着其特别之处:
●数据信息组织分散,数据往往以数据文件、印刷文档形式保存;
●数据类型复杂且模式变化;
●数据处理与管理紧密耦合;
●数据的专业性;
●数据的海量性:
这对TDM系统的导入功能带来了很多的挑战。
(2)试验数据量很大
试验作为产品研发生命周期的一项重要工作和内容,其地位日渐增强,试验产生的数据量也呈几何数量级增长。TDM系统的导入性能也就成为一个关键指标。
数据导入功能具有以下特点:
同许多ETL工具一样,TDM系统的导入功能包括extract(抽取)、transfer(转换)、clean(清洗)和load(装载)等几个步骤。但是,试验数据管理的特殊需求决定了它又具有自身的特点。除了前面提到的数据格式多样、数据量大之外,单位保密要求对于产品架构设计产生了很大的影响。许多单位,尤其是国防单位,都有严格的保密制度。在信息化系统的部署方面,普通用户计算机一般是不允许直接访问数据库的,只有指定的服务器才有权限直接访问数据库。这就决定了传统的C/S两层结构不能适应客户需求,B/S三层结构则成为必须的选择。
2 基于三层架构的数据导入功能的设计与实现
系统分为三层结构:分别是用户界面层(用户层)、商业逻辑层(应用层)和数据服务层(数据层),其中用户层为数据导入客户端工具。应用层为基于J2EE平台的应用服务器和FTP服务器,J2EE服务器提供Web Service,包括Web Service和Java Beans等J2EE组件;FTP服务器提供对上传文件的管理功能,并提供多线程的文件上载到数据层的功能。数据层包括数据库服务器,其中数据库服务器中包含系统的元数据库、业务数据库和相关的后台进程。
用户层:数据导入工具通过Web Service接口与系统应用层提供的Web Service进行交互,建立相应的映射规则,同时数据导入工具对用户导入的非结构化数据文件进行抽取和转换,解析成格式化的文本文件,并把导入的数据规则及映射关系等信息保存下来,然后通过FTP把转化后的文件上传到应用层,同时通过Web Service接口把数据校验及关联映射信息传到应用层。
应用层:Web Service根据用户层的请求信息在内部调用相应的Java Bean组件,Java Bean组件通过访问数据库服务器,对数据库服务器中的元数据库、后台进程和业务数据库进行操作。在三层结构的数据导入工具中采用应用层主要是为了保证系统的灵活性和数据的安全性,用户层不能直接访问数据库,用户层对数据的操作都要通过应用层才能访问到数据层。应用层提供FTP服务器的功能主要是为了提高数据文件上传的速度,也可以采用Socket编程的方式实现文件的上传,同时FTP服务器提供文件下载功能,当客户端的数据文件上传成后可以系统自动把相应的文件下载到数据层的数据库服务器上。
数据层:元数据库、业务数据库和后台进程通过应用层Java Bean组件被访问,当应用层的数据文件接收成功后,通过Oracle数据库的特性,采用建立外部表的方式对数据文件进行“导入”,然后对导入外部表的数据进行校验和处理,并返回数据导入的提示信息通过应用层到数据导入工具,然后再把外部表中的数据导入到实际表中,如图2所示。
图2 TDM系统导入三层架构图
3 通过数据库外部表技术提升导入性能
为了提高数据导入的性能,数据导入方案采用先导入临时表,然后进行校验,最后再导入到真实表的方式。因为临时表中无索引、数据量少,因此能显著提高数据导入速度和性能。数据导入临时表后,通过数据库的功能实现对临时表中的数据进行校验和清除,同时产生数据导入日志信息,先导入后校验的方式可以进一步提高数据导入的速度。数据导入的最后一步才是把临时表中的数据导入到真实表中,为了提高性能,可以在晚间数据库访问量少的时候系统自动实现数据从临时表导入到真实表,同时清空临时表中数据。结合Oracle数据库系统提供的特性,可以利用建立外部表的方法来实现临时表的功能,Oracle数据库可以把一个普通的文本格式文件看作是Oracle数据库的外部表,外部表可以像普通表一样进行select操作,可以建视图,可以与其他进行连接等,但不能对其进行DML操作,即该表是只读的。外部表为Oracle用户提供了巨大的好处。通过使用外部表,Warehouse Builder开发人员不再需要创建平面文件临时表。这样,外部表就减少了加载平面文件数据的处理时间,而且需要的额外存储空间也比平面文件临时表少。外部表可以与关系表和其他外部表连接,从而在平面文件和关系表之间实现了异类连接。此外由于消除了额外的步骤,因此PL/SQL转换与SQL加载程序转换相比更加灵活,从而在大多数情况下将获得巨大的性能提升。
图3 外部表映射逻辑
4 结束语
TDM系统的导入功能是其核心功能之一,一些通用ETL技术都适用于该功能。本文仅从试验数据管理需求的角度提出了数据导入技术的实现方法,并提升了数据导入性能。但TDM技术尚未成熟,其中的技术实现方式则有待于进一步探讨。
TDM是PLM的重要环节,是对PDM重要补充。通过对技术数据进行有效的管理和使用,企业可以更加完整准确地了解产品相关信息,为研发制造和相关业务决策提供可靠的数据支持。另一方面,由于技术数据的复杂特点,决定了TDM也是一项复杂的系统工程,需要解决诸多关键技术,是简单的基于数据库的应用系统所无法胜任的,必须基于成熟的TDM软件来实现。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/