0 引言
在PDM(Product Data Management,产品数据管理)的异地协同设计系统中,主要需要面对设计的文档、图纸文件等二进制数据信息,这些数据数据量大,需要解决文件存储位置的问题并对系统的数据模型进行设计分析。本文对此进行了研究。
1 PDM文件存放方式的确定
1.1 在服务器中存放文件
在早期PDM系统中,图纸文件大部分存放在文件服务器中,这种方案的文件系统由两部分组成,分别是数据库服务器和文件服务器。数据库中存储用于描述文档属性的文档主记录以及与文件服务器中相应文件的链接:另外一部分是文件本身,这部分的数据一般是放在文件服务器中,在PDM中经常称为文件仓库(File Vault)。而在文档主记录中,文件的链接一般用一个字段来描述这个文件服务器的位置和路径,从而把两个部分的数据关联起来,如图1所示。
图1 文件服务器存储方式
这种方式的优点是对数据库的要求比较低,处理问题的可选方式比较多,也比较容易加入一些特殊的功能,但设计上和管理上的难度比较大。
1.2 在数据库中存放文件
数据库技术的发展,特别是面向对象技术在数据库领域得到广泛应用,使得数据库处理大对象的能力和方法手段大大增强,因此,新一代的PDM系统都倾向于把文件对象放在数据库中管理,如图2所示。
图2 数据库存储方式
将文件记录看成在数据库数据表中的一条数据记录,而记录文件本身内容的是一个数据库的特殊字段,例如(BLOB,FLOB,CLOB)等。这种字段在存储大对象的时候,实际上存储在另外的“表空间”中,主记录表中仅仅存储大对象在这个表空间的地址指针,因此对主记录数据表的访问速度没有任何影响。
现代数据库可以把“大对象表空间”指定到不同的磁盘分区、卷、硬盘,甚至其他计算机的目录中。数据库管理员也可以随时追加“大对象表空间”的目录空间。这样虽然从存储的物理位置上,文件记录和文件内容本身确实在不同“空间”存储,但从逻辑上它们是一体的,使用者并不需要知道文件具体存储的位置,这就从根本上保证了数据的完整性、一致性,并且降低了系统管理员部署和维护的难度。
1.3 文件存储方案的选定
综合以上讨论,本项目规定在合作方原有数据库使用比较轻量级的数据库(比如Sql Server2000)的时候,可以在相应点采用文件服务器方案,但不作为首选方案。在数据库层次比较高的场合(比如采用Oracle数据库),应该尽可能采用数据库存储的方式。选择数据库存储方案是基于以下原因:
(1)从根本上保证数据的一致性和完备性
在数据库中,文件本身与文件记录从逻辑上是一条数据库记录,这就从根本上保证了数据的一致性和完备性,系统的可维护性比较好。
在文件服务器方式下,对于逻辑上需要保证“元事务特性”的数据操作,编程上会比较困难。在文件上传到PDM系统的过程中,一旦网络发生了故障,就可能造成数据的不一致。如果采用数据库存储文件,那么这个文件在数据库中不会有任何记录存在,在数据库中“元事务特性”得到了根本的保证。
(2)部署更为简单、安全性更好
a.只需要架设数据库服务器:用户只需要架设数据库服务器就可以了,这大大降低了部署上的难度,也使得潜在的设计缺陷得以减少,降低了开发的成本。
b.可以利用独立的数据库安全机制:数据库有自己独立的安全机制,文件的存储更安全,避免了由于文件服务器的共享服务带来的不安全因素。
c.数据传输协议标准:数据在传输过程中都通过指定的TCP/IP协议和特定的端口进行,文件在传输过程中没有采用任何其他文件传输协议。
d.避免文件存储中感染病毒:很多文件在存储中会被感染病毒,造成数据的损失,而文件存储在数据库中,避免了感染各种文件型病毒的可能。
(3)数据库的平台无关性
a.文件存放与操作系统无关:目前大多数数据库与操作系统平台无关,文件的存放也与操作系统无关,能够进一步提高数据的安全性。
b.存储空间可以独立于操作系统之外:数据库的存储空间可以独立于操作系统,这样数据库对数据的物理操作不通过操作系统提供的接口,而直接对物理硬盘进行操作,这可以更进一步提高大数据量的访问性能,而在文件服务器模式下,就需要面对更大的工作量和风险。
(4)容量的扩展更为方便
由于数据库表空间可以随时扩展,该扩展不受文件分区的限制,表空间可以扩展到其他分区、硬盘,甚至其他计算机上,保证了系统的持久应用。若采用文件服务器的形式,则扩展具有较大局限性,而且实现复杂。
(5)数据备份和恢复更为容易
与文件服务器模型相比,系统管理员只需要关心数据库如何备份即可,数据库会自动将逻辑上是一体的数据从逻辑完备性的角度一起备份出来。如果采用文件服务器的形式,那么系统管理员还要考虑数据库本身的备份和文件备份的对应关系,很容易出现差错。特别是在热备份的过程中,由于系统还在使用,备份也需要时间,任何增、删、改的操作,都可能使得备份出的数据与原始数据不一致,设计上的难度会很大。
2 数据模型的建立
本研究采用的方法是从构建领域模型开始,白顶向下分解细化,直至正确构建数据结构。下面仅以PDM系统中的一个项目管理子功能为例,来说明数据模型的建立过程。首先建立领域静态模型,每个类表示一个概念,如图3所示。
对于多对多关系,需要增加一个关联表。关联表的方案可以有多种。在本研究情况下,无论人员、设备还是材料,与任务的关系都比较复杂,所以关联表采用“联合主键”的方式。依据已经建立的领域模型,对每个领域类的属性进行分析,得到一个初步的PDM协同设计系统关于项目管理部分的数据模型,如图4所示。
图3 领域模型
图4 PDM文件管理数据结构
在正确构建表关系的基础之上,进一步对每个表的字段进行细化定义,完成对数据模型的设计。
3 结束语
数据模型的设计是该PDM系统设计的重点工作,在数据模型设计时坚持采用模型驱动的设计方法。首先精确建立领域模型,在仔细分析该领域模型的基础上再过渡到数据模型,使数据模型与企业现状很好地结合。设计过程采用白顶向下逐步细化的方法,即首先关注数据对象之间的关系,然后再细致考虑每个数据对象的细节,从而保证了数据模型设计结果的稳定性。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:异地协同设计PDM系统数据模型的建立