产品数据管理系统的产品结构信息获取方法及系统.pdf

上传人:1** 文档编号:6180900 上传时间:2019-05-17 格式:PDF 页数:14 大小:1.59MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310694103.8

申请日:

2013.12.17

公开号:

CN103678616A

公开日:

2014.03.26

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 17/30申请公布日:20140326|||实质审查的生效IPC(主分类):G06F 17/30申请日:20131217|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

清华大学

发明人:

田凌; 武园浩

地址:

100084 北京市海淀区100084-82信箱

优先权:

专利代理机构:

北京清亦华知识产权代理事务所(普通合伙) 11201

代理人:

张大威

PDF下载: PDF下载
内容摘要

本发明提出一种产品数据管理系统的产品结构信息获取方法,包括以下步骤:访问磁盘文件库,以获取零部件信息,其中,磁盘文件库中预存有产品数据管理系统的零部件信息;建立零部件信息的缓存区,并将从磁盘文件库中获取的零部件信息保存在缓存区中;建立Web服务端点,接受外部请求并访问磁盘文件库和缓存区以获取待查询的零部件信息;将获取的待查询的零部件信息生成XML文件并通过Web服务端点输出。本发明的方法灵活性强,具有通用性,易于实现和部署,其他任意信息系统均可以通过访问Web服务端点对外接口获得产品结构信息。本发明还提出一种产品数据管理系统的产品结构信息获取系统。

权利要求书

权利要求书
1.  一种产品数据管理系统的产品结构信息获取方法,其特征在于,包括以下步骤:
访问磁盘文件库,以获取零部件信息,其中,所述磁盘文件库中预存有所述产品数据管理系统的零部件信息;
建立所述零部件信息的缓存区,并将从所述磁盘文件库中获取的所述零部件信息保存在所述缓存区中;
建立Web服务端点,接受外部请求并访问所述磁盘文件库和所述缓存区以获取待查询的零部件信息;
将所述获取的待查询的零部件信息生成XML文件并通过所述Web服务端点输出。

2.  如权利要求1所述的方法,其特征在于,在所述将从所述磁盘文件库中获取的所述零部件信息保存在所述缓存区之后,还包括:
判断所述缓存区中的所述零部件信息是否为最新信息;
如果否,则调用所述磁盘文件库中的相应的所述零部件信息,以更新所述缓存区中的所述零部件信息。

3.  如权利要求1所述的方法,其特征在于,所述访问磁盘文件库,以获取零部件信息是通过对所述磁盘文件库中的目录与文本文件的查询与处理来实现的。

4.  如权利要求1所述的方法,其特征在于,还包括,所述缓存区的初始化在系统初始化时进行,以存储当前磁盘文件库的所有所述零部件信息。

5.  一种产品数据管理系统的产品结构信息获取系统,其特征在于,包括:
访问模块,用于访问磁盘文件库,以获取零部件信息,其中,所述磁盘文件库中预存有所述产品数据管理系统的零部件信息;
数据缓存模块,用于存储从所述磁盘文件库中获取的所述零部件信息;
Web服务端点,接受外部请求并访问所述磁盘文件库和所述数据缓存模块以获取待查询的零部件信息;
XML序列化模块,用于将所述获取的待查询的零部件信息生成XML文件并通过所述Web服务端点输出。

6.  如权利要求5所述的系统,其特征在于,所述访问模块还用于,通过对磁盘文件库中的目录与文本文件的查询与处理来获取零部件信息。

7.  如权利要求5所述的系统,其特征在于,所述数据缓存模块还用于:
判断所述数据缓存模块中的所述零部件信息是否为最新信息;
如果否,则调用磁盘文件库中的相应的所述零部件信息,以更新所述数据缓存模块中的所述零部件信息。

8.  如权利要求5所述的系统,其特征在于,所述数据缓存模块还用于,在系统初始化时进行初始化所述数据缓存模块,以存储当前磁盘文件库的所有所述零部件信息。

说明书

说明书产品数据管理系统的产品结构信息获取方法及系统
技术领域
本发明涉及信息系统集成技术领域,尤其涉及一种产品数据管理系统的产品结构信息获取方法及系统。
背景技术
产品结构是指描述产品零部件组成关系的树状结构。产品结构一般在产品研发过程中逐步建立,并保存在PDM(Product Data Management,产品数据管理)系统中。通过建立零部件相关的文档与零部件的关联关系,产品的全部信息可以集成地展示在产品结构树上,企业不同部门可以在产品结构树上构建不同产品视图。因此产品结构数据是实施企业信息集成的基础数据,它反映了企业活动的主线。
随着Solidworks建模软件的普及和中小企业信息化的发展,Solidworks Workgroup PDM越来越多地部署在企业的产品研发部门,以实现研发中的设计模型管理与共享,提高研发效率和水平。与此同时,企业部署的其他信息系统,如外协外购管理系统、文档管理系统等,其内部信息的有效管理有赖于当前的产品结构信息。因此在进行企业信息系统集成时不可避免地遇到其他信息系统获取Solidworks Workgroup PDM中的产品结构信息的问题。目前Solidworks Workgroup PDM系统提供的产品结构数据导出接口为Excel表格。为了获取产品结构数据,需要设计人员手工地将产品结构导出为Excel表格,再针对该Excel表格进行人工或者自动数据录入。这种被动的数据获取方式效率低、且易出错。如果开发各种不同信息系统与Solidworks Workgroup PDM系统之间点对点的专用程序接口,不可避免的需要对Solidworks Workgroup PDM系统进行二次开发,同时由于程序接口的专用性,开发工作量将与信息系统数量成正比,程度复杂度也难以管理。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种产品数据管理系统的产品结构信息获取方法。该方法灵活性强,易于实现与部署。
本发明的第二个目的在于提出一种产品数据管理系统的产品结构信息获取系统。
为了实现上述目的,本发明第一方面实施例的产品数据管理系统的产品结构信息获取方法包括以下步骤:访问磁盘文件库,以获取零部件信息,其中,所述磁盘文件库中预存有所述产品数据管理系统的零部件信息;建立所述零部件信息的缓存区,并将从所述磁盘文件库中获取的所述零部件信息保存在所述缓存区中;建立Web服务端点,接受外部请求并访问所述磁盘文件库和所述缓存区以获取待查询的零部件信息;将所述获取的待查询的零部件信息生成XML文件并通过所述Web服务端点输出。
根据本发明实施例的产品数据管理系统的产品结构信息获取方法,基于对磁盘文件库中的文件目录与文件的读取与处理构建当前产品结构信息,以中性XML语言来描述产品结构信息,并以Web服务的方式提供基于网络的数据获取接口,避免了复杂的二次开发工作,灵活性强,具有通用性,易于实现和部署,其他任意信息系统均可以通过访问Web服务端点对外接口以获得产品结构信息,此外数据缓存能够有效提高服务的响应速度。
在一些示例中,在所述将从所述磁盘文件库中获取的所述零部件信息保存在所述缓存区之后,还包括:判断所述缓存区中的所述零部件信息是否为最新信息;如果否,则调用所述磁盘文件库中的相应的所述零部件信息,以更新所述缓存区中的所述零部件信息。
在一些示例中,所述访问磁盘文件库,以获取零部件信息是通过对所述磁盘文件库中的目录与文件的查询与处理来实现的。
在一些示例中,还包括,所述缓存区的初始化在系统初始化时进行,以存储当前磁盘文件库的所有所述零部件信息。
本发明第二方面实施例的产品数据管理系统的产品结构信息获取系统,包括:访问模块,用于访问磁盘文件库,以获取零部件信息,其中,所述磁盘文件库中预存有所述产品数据管理系统的零部件信息;数据缓存模块,用于存储从所述磁盘文件库中获取的所述零部件信息;Web服务端点,接受外部请求并访问所述磁盘文件库和所述数据缓存模块以获取待查询的零部件信息;XML序列化模块,用于将所述获取的待查询的零部件信息生成XML文件并通过所述Web服务端点输出。
根据本发明实施例的产品数据管理系统的产品结构信息获取系统,基于对磁盘文件库中的文件目录与文件的读取与处理构建当前产品结构信息,以中性XML语言来描述产品结构信息,并以Web服务的方式提供基于网络的数据获取接口,避免了复杂的二次开发工作,灵活性强,具有通用性,易于实现和部署,其他任意信息系统均可以通过访问Web服务端点对外接口以获得产品结构信息,进而实现不同信息系统的集成。此外,数据缓存能够有效提高服务的响应速度。
在一些示例中,所述访问模块还用于,通过对磁盘文件库中的目录与文件的查询与处理来获取零部件信息。
在一些示例中,所述数据缓存模块还用于:判断所述数据缓存模块中的所述零部件信息是否为最新信息;如果否,则调用磁盘文件库中的相应的所述零部件信息,以更新 所述数据缓存模块中的所述零部件信息。
在一些示例中,所述数据缓存模块还用于,在系统初始化时进行初始化所述数据缓存模块,以存储当前磁盘文件库的所有所述零部件信息。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的产品数据管理系统的产品结构信息获取方法的流程图;
图2是本发明一个实施例中的properties.pdmw文件示例;
图3是本发明一个实施例中的references.pdmw文件示例;
图4是本发明一个实施例的零部件信息XML描述的示例;
图5是本发明一个实施例的Web服务端点响应以某一零部件为根节点的产品结构信息的请求返回XML文件示例;
图6是根据本发明一个实施例的产品数据管理系统的产品结构信息获取系统框图;和
图7是本发明一个实施例的产品数据管理系统的产品结构信息获取系统的工作原理图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,这应被本发明的实施例所属技 术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的产品数据管理系统的产品结构信息获取方法及系统。
目前Solidworks Workgroup PDM系统提供的产品结构数据导出接口为Excel表格。为了获取产品结构信息,需要设计人员手工将产品结构信息导出为Excel表格,再对该Excel表格进行人工或者自动数据录入。这种被动的数据获取方式效率低且易出错。如果开发各种不同信息系统与Solidworks Workgroup PDM系统之间点对点的专用程序接口,不可避免的需要对Solidworks Workgroup PDM系统进行二次开发,同时由于程序接口的专用性,开发工作量将与信息系统数量成正比,程度复杂度也难以管理。
为此,本发明提出了一种产品数据管理系统的产品结构信息获取方法,包括以下步骤:访问磁盘文件库,以获取零部件信息,其中,磁盘文件库中预存有产品数据管理系统的零部件信息;建立零部件信息的缓存区,并将从磁盘文件库中获取的零部件信息保存在缓存区中;建立Web服务端点,接受外部请求并访问磁盘文件库和缓存区以获取待查询的零部件信息;将获取的待查询的零部件信息生成XML文件并通过Web服务端点输出。图1是根据本发明一个实施例的产品数据管理系统的产品结构信息获取方法的流程图。
如图1所示,产品数据管理系统的产品结构信息获取方法包括以下步骤:
步骤S101:访问磁盘文件库,以获取零部件信息。其中,磁盘文件库中预存有产品数据管理系统的零部件信息。
具体地,磁盘文件库是指Solidworks Workgroup PDM安装时指定的VaultData文件夹中的指定项目文件夹。在使用Solidworks Workgroup PDM时,系统在项目文件夹中为项目的每个零部件创建一个独立的子文件夹,并以零部件名称命名,用于保存零部件的模型文件以及其他信息。通过对磁盘文件库中的文件夹目录及相关文件的查询与处理来获取零部件信息,特别是文件夹中属性描述文本文件即whereused.pdmw、references.pdmw、properties.pdmw的读取与解析,获取一个零部件的所有信息。零部件信息保存在零部件数据对象中,零部件数据对象类包含的数据成员,如表1所示,包括零部件版本、名称、编号、作者、描述、是否是标准件、是否是根装配体、是否为部件、子零部件列表以及零部件时间戳(零部件模型文件的最新修订时间)。
进一步地,在磁盘文件库中,对于任意一个保存零部件所有信息的零部件目录,本发明的一个实施例中通过以下方式来获得所需信息。
(1)通过零部件文件夹名称获得零部件名称,特别地,如果文件夹名称以字符串“SLDASM”结束,则为装配体,即部件,如果文件夹以字符串“SLDPRT”结束,则为零件。
(2)零部件的每个版本信息保存在零部件文件夹下的相应子文件夹中,该子文件夹以版本号命名,通过比较子文件夹名称可以获取零部件最新版本。
进一步地,打开最新版本文件夹,如果该文件夹没有“whereused.pdmw”,则该零部件为整个产品结构树的根节点。通过读取最新版本文件夹中的模型文件的修改时间,可以获取 零部件时间戳。
打开最新版本文件夹,以UTF-16编码方式读取“properties.pdmw”,如图2所示,从第二行起,可以获取该零部件的描述、作者、编号。
打开最新版本文件夹,以UTF-16编码方式读取“references.pdmw”,如图3所示,从第三行起,可以获取该零部件的子零部件信息。
表1零部件数据对象类的数据成员

步骤S102:建立零部件信息的缓存区,并将从磁盘文件库中获取的零部件信息保存在缓存区中。
由于每次获取零部件信息时需要对硬盘文件进行打开和读取操作,如果系统每次相应外部查询请求时,都使用直接调用硬盘文件库的操作来获取所需零部件信息,则服务响应时间将被延长。此外,对不同部件产品结构的查询可能涉及到同一个零部件的信息的获取,这又会造成不必要的计算浪费。为了解决上述问题,本发明一个实施例中使用了缓存技术,建立零部件信息的缓存区,将已查询过的零部件信息放入缓存区中。
优选地,缓存区的初始化在系统初始化时进行,以存储当前磁盘文件库的所有零部件信息。在执行查询时,如果缓存区中的零部件信息为最新信息,则直接调用缓存区的零部件信息而不是再对硬盘文件库进行操作。
步骤S103:建立Web服务端点,接受外部请求并访问磁盘文件库和缓存区以获取待查询的零部件信息。
Web服务端点负责响应外部的HTTP请求,查询并返回产品结构信息。Web服务端点可以响应的请求有两类,一是查询整个产品结构树的根节点信息,此类请求不需要附带参数;另一类是获取某一零部件的产品结构信息,该类请求需要附带根零部件名称。对于第一类请求,Web服务端点可以直接访问磁盘文件库获取产品结构树的根节点信息,然后将获取的信息生成序列化的XML文件输出。对于第二类请求,系统应查询请求零部件的基本信息,并从该零部件出发,依次获取其子零部件信息,直至最低层,即没有任何装配结构的原子零件。为了实现第二类查询,在本发明的一个实施例中采用队列作为基础数据结构,基于“先进先出”原则存储待获取的零部件名称,直到队列为空时表示数据获取完毕。具体实现如下:
(1)初始化待查询的零部件队列。
(2)将待查询的零部件名称加入到队列。
(3)判断待查询的队列是否为空。
(4)当待查询的队列为非空时,待查询队列弹出当前待查询的零部件名称。然后,查询上述步骤S102建立的缓存区中的零部件信息,判断缓存区中的零部件信息是否为最新信息;如果否,则调用磁盘文件库中的相应的零部件信息,以更新缓存区中的零部件信息。具体地,
a)根据待查询的零部件名称,判断缓存区中是否存在该零部件。
b)如果不存在该零部件,则查询磁盘文件库以获取待查询的零部件信息,记为当前零部件。将当前零部件信息添加至缓存区,并返回当前零部件信息,即待查询的零部件信息。
c)如果存在该零部件,则查询缓存区中该零部件的时间戳与磁盘文件库中的该零部件的时间戳,并判断二者是否一致。
若一致,则返回缓存区中的零部件信息,即为待查询的零部件信息;
若不一致,则查询磁盘文件库以获取待查询的零部件信息,记为当前零部件。将当前零部件信息添加至缓存区以更新缓存区中的当前零部件信息,返回当前零部件信息,即待查询的零部件信息。
d)获取待查询的零部件信息后,保存当前零部件信息并判断当前零部件对象的BOMView是否为空,若为空,则直接执行步骤(3)。反之,则将BOMView中的子零部件加入待查询序列后执行步骤(3)。
(5)当待查询的队列为空时,则表示查询完毕,返回所有保存的零部件信息。
步骤S104:将获取的待查询零部件信息生成XML文件并通过Web服务端点输出。
具体地,根据表1所示的零部件对象数据成员,一个零部件数据对象序列化后的XML示例如图4所示。在实际运行中,前述步骤S103中的Web服务端点,接受外部请求并访问磁盘文件库和缓存区来获取待查询的零部件信息后,将通过该步骤将所获取的待查询的零部件信息生成XML文件并通过Web服务端点输出。例如,用户采用浏览器访问Web服务端点,浏览器中显示了服务的响应消息,即XML描述下的产品结构信息,其结果如图 5所示。
根据本发明实施例的产品数据管理系统的产品结构信息获取方法,基于对磁盘文件库中的文件目录与文件的读取与处理构建当前产品结构信息,并通过中性XML语言来描述产品结构信息,以Web服务的方式提供基于网络的数据获取接口,避免了复杂的二次开发工作,灵活性强,具有通用性,易于实现和部署,其他任意信息系统均可以通过访问Web服务端点对外接口以获得产品结构信息,此外数据缓存能够有效提高服务的响应速度。
本发明第二方面的实施例提出一种产品数据管理系统的产品结构信息获取系统,如图6所示,包括:访问模块100、数据缓存模块200、Web服务端点300和XML序列化模块400。
其中,访问模块100用于访问磁盘文件库,以获取零部件信息,其中,磁盘文件库中预存有产品数据管理系统的零部件信息。数据缓存模块200,用于存储从磁盘文件库中获取的零部件信息。Web服务端点300,用于接受外部请求并访问磁盘文件库和数据缓存模块200以获取待查询的零部件信息。XML序列化模块400用于将获取的待查询的零部件信息生成XML文件并通过Web服务端点300输出。
在本发明的实施例中,磁盘文件库是指Solidworks Workgroup PDM安装时指定的VaultData文件夹中的指定项目文件夹。在使用Solidworks Workgroup PDM时,系统在项目文件夹中为项目的每个零部件创建一个独立的子文件夹,并以零部件名称命名,用于保存零部件的模型文件以及其他信息。
具体结合图7描述本发明实施例的产品数据管理系统的产品结构信息获取系统的工作过程:
访问模块100通过对磁盘文件库中的文件夹目录及相关文件的查询与处理来获取零部件信息,特别是文件夹中描述文本文件即whereused.pdmw、references.pdmw、properties.pdmw的读取与解析,获取一个零部件的所有信息。零部件信息保存在零部件数据对象中,零部件数据对象类包含的数据成员如表1所示,包括零部件版本、名称、编号、作者、描述、是否是标准件、是否是根装配体、是否为部件、子零部件列表以及零部件时间戳(零部件模型文件的最新修订时间)。
进一步地,对于任意一个磁盘文件库中保存零部件所有信息的零部件目录,本发明的一个实施例中,访问模块100通过以下方式来获得所需信息:
(1)通过零部件文件夹名称获得零部件名称,特别地,如果文件夹名称以字符串“SLDASM”结束,则为装配体,即部件,如果文件夹以字符串“SLDPRT”结束,则为零件。
(2)零部件的的每个版本信息保存在零部件文件夹下的相应子文件夹中,该子文件夹以版本号命名,通过比较子文件夹名称可以获取零部件最新版本。
进一步,打开最新版本文件夹,如果该文件夹没有“whereused.pdmw”,则该零部件为整个产品结构树的根节点。通过读取最新版本文件夹中的模型文件的修改时间,可以获取零部件时间戳。
打开最新版本文件夹,以UTF-16编码方式读取“properties.pdmw”,如图2所示,从第二行起,可以获取该零部件的描述、作者、编号。
打开最新版本文件夹,以UTF-16编码方式读取“references.pdmw”,如图3所示,从第三行起,可以获取该零部件的子零部件信息。
数据缓存模块200,用于存储从磁盘文件库中获取的零部件信息。具体地,由于每次获取零部件信息时需要对硬盘文件进行打开和读取操作,如果系统每次相应外部查询请求时,都使用直接调用硬盘文件库的操作来获取所需零部件信息,则服务响应时间将被延长。此外,对不同部件产品结构的查询可能涉及到同一个零部件的信息的获取,这又会造成不必要的计算浪费。为了解决上述问题,本发明一个实施例中,建立零部件信息的数据缓存模块200,将已查询过的零部件信息放入数据缓存模块200中。
优选地,数据缓存模块200的初始化在系统初始化时进行,以存储当前磁盘文件库的所有零部件信息。如果数据缓存模块200中的零部件信息为最新信息,则直接调用数据缓存模块200的零部件信息而不是再对硬盘文件库进行操作。
Web服务端点300用于接受外部请求并通过访问磁盘文件库和数据缓存模块以获取待查询的零部件信息。
在实际的运行过程中,Web服务端点300负责响应外部的HTTP请求,查询并返回产品结构信息。Web服务端点300可以响应的请求有两类,一是查询整个产品结构树的根节点信息,此类请求不需要附带参数;另一类是获取某一零部件的产品结构信息,该类请求需要附带根零部件名称。对于第一类请求,Web服务端点300可以直接通过访问模块100访问磁盘文件库获取产品结构树的根节点信息,然后调用XML序列化模块400将获取的信息生成序列化的XML文件输出。对于第二类请求,系统应查询请求零部件的基本信息,并从该零部件出发,依次获取其子零部件信息,直至最低层,即没有任何装配结构的原子零件。为了实现第二类查询,在本发明的一个实施例中采用队列作为基础数据结构,基于“先进先出”原则存储待获取的零部件名称,直到队列为空时表示数据获取完毕。具体实现如下:
(1)初始化待查询的零部件队列。
(2)将待查询的根节点名称加入到队列。
(3)判断待查询的队列是否为空。
(4)当待查询的队列为非空时,待查询队列弹出当前待查询的零部件名称。然后,查询上述数据缓存模块200的零部件信息,判断数据缓存模块200的中的零部件信息是否为最新信息;如果否,则通过访问模块100查询磁盘文件库中的相应的零部件信息,以更新数据缓存模块200的中的零部件信息。具体地,
a)根据待查询的零部件名称,判断数据缓存模块200的中是否存在该零部件。
b)如果不存在该零部件,则通过访问模块100查询磁盘文件库以获取待查询的零部件信息,记为当前零部件。将当前零部件信息添加至数据缓存模块200中,并返回当前零部件信息,即待查询的零部件信息。
c)如果存在该零部件,则查询数据缓存模块200中该零部件的时间戳与磁盘文件库中 的该零部件的时间戳,并判断二者是否一致。
若一致,则返回数据缓存模块200中的零部件信息,即为待查询的零部件信息;
若不一致,则通过访问模块100查询磁盘文件库以获取待查询的零部件信息,记为当前零部件。将当前零部件信息添加至数据缓存模块200以更新数据缓存模块200中的当前零部件信息,返回当前零部件信息,即待查询的零部件信息。
d)获取待查询的零部件信息后,保存当前零部件信息并判断当前零部件对象的BOMView是否为空,若为空,则直接执行步骤(3)。反之,则将BOMView中的子零部件加入待查询序列后执行步骤(3)。
(5)当待查询的队列为空时,表示数据查询结束,则调用XML序列化模块400将获取的待查询的零部件信息生成XML文件,并通过Web服务端点300输出。
具体地,根据表1所示的零部件对象数据成员,一个零部件数据对象序列化后的XML示例如图4所示。在实际运行中,Web服务端点300,接受外部请求并访问磁盘文件库和缓存区来获取待查询的零部件信息后,将通过XML序列化模块400将所获取的待查询的零部件信息生成XML文件后再通过Web服务端点300输出。例如,本发明一个实施例在Windows7操作系统中,基于JavaEE平台,Web服务端点300(Servlet)被部署在Web服务器Tomcat中的条件下,用户采用浏览器访问该Web服务器Tomcat,浏览器中显示了该Web服务器Tomcat的响应消息,即XML文件描述下的产品结构信息,其结果如图5所示。
根据本发明实施例的产品数据管理系统的产品结构信息获取系统,基于对磁盘文件库中的文件目录与文件的读取与处理构建当前产品结构信息,并以中性XML语言来描述产品结构信息,以Web服务的方式提供基于网络数据获取接口,避免了复杂的二次开发工作,灵活性强,具有通用性,易于实现和部署,其他任意信息系统均可以通过访问Web服务端点对外接口以获得产品结构信息,进而实现不同信息系统的集成。此外,数据缓存能够有效提高服务的响应速度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

产品数据管理系统的产品结构信息获取方法及系统.pdf_第1页
第1页 / 共14页
产品数据管理系统的产品结构信息获取方法及系统.pdf_第2页
第2页 / 共14页
产品数据管理系统的产品结构信息获取方法及系统.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《产品数据管理系统的产品结构信息获取方法及系统.pdf》由会员分享,可在线阅读,更多相关《产品数据管理系统的产品结构信息获取方法及系统.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103678616 A (43)申请公布日 2014.03.26 CN 103678616 A (21)申请号 201310694103.8 (22)申请日 2013.12.17 G06F 17/30(2006.01) (71)申请人 清华大学 地址 100084 北京市海淀区 100084-82 信箱 (72)发明人 田凌 武园浩 (74)专利代理机构 北京清亦华知识产权代理事 务所 ( 普通合伙 ) 11201 代理人 张大威 (54) 发明名称 产品数据管理系统的产品结构信息获取方法 及系统 (57) 摘要 本发明提出一种产品数据管理系统的产品结 构信息获取方法。

2、, 包括以下步骤 : 访问磁盘文件 库, 以获取零部件信息, 其中, 磁盘文件库中预存 有产品数据管理系统的零部件信息 ; 建立零部件 信息的缓存区, 并将从磁盘文件库中获取的零部 件信息保存在缓存区中 ; 建立 Web 服务端点, 接受 外部请求并访问磁盘文件库和缓存区以获取待查 询的零部件信息 ; 将获取的待查询的零部件信息 生成 XML 文件并通过 Web 服务端点输出。本发明 的方法灵活性强, 具有通用性, 易于实现和部署, 其他任意信息系统均可以通过访问 Web 服务端点 对外接口获得产品结构信息。本发明还提出一种 产品数据管理系统的产品结构信息获取系统。 (51)Int.Cl. 权。

3、利要求书 1 页 说明书 9 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书9页 附图3页 (10)申请公布号 CN 103678616 A CN 103678616 A 1/1 页 2 1. 一种产品数据管理系统的产品结构信息获取方法, 其特征在于, 包括以下步骤 : 访问磁盘文件库, 以获取零部件信息, 其中, 所述磁盘文件库中预存有所述产品数据管 理系统的零部件信息 ; 建立所述零部件信息的缓存区, 并将从所述磁盘文件库中获取的所述零部件信息保存 在所述缓存区中 ; 建立 Web 服务端点, 接受外部请求并访问所述磁盘文件库和所述缓存。

4、区以获取待查询 的零部件信息 ; 将所述获取的待查询的零部件信息生成 XML 文件并通过所述 Web 服务端点输出。 2. 如权利要求 1 所述的方法, 其特征在于, 在所述将从所述磁盘文件库中获取的所述 零部件信息保存在所述缓存区之后, 还包括 : 判断所述缓存区中的所述零部件信息是否为最新信息 ; 如果否, 则调用所述磁盘文件库中的相应的所述零部件信息, 以更新所述缓存区中的 所述零部件信息。 3. 如权利要求 1 所述的方法, 其特征在于, 所述访问磁盘文件库, 以获取零部件信息是 通过对所述磁盘文件库中的目录与文本文件的查询与处理来实现的。 4. 如权利要求 1 所述的方法, 其特征在。

5、于, 还包括, 所述缓存区的初始化在系统初始化 时进行, 以存储当前磁盘文件库的所有所述零部件信息。 5. 一种产品数据管理系统的产品结构信息获取系统, 其特征在于, 包括 : 访问模块, 用于访问磁盘文件库, 以获取零部件信息, 其中, 所述磁盘文件库中预存有 所述产品数据管理系统的零部件信息 ; 数据缓存模块, 用于存储从所述磁盘文件库中获取的所述零部件信息 ; Web 服务端点, 接受外部请求并访问所述磁盘文件库和所述数据缓存模块以获取待查 询的零部件信息 ; XML序列化模块, 用于将所述获取的待查询的零部件信息生成XML文件并通过所述Web 服务端点输出。 6. 如权利要求 5 所述。

6、的系统, 其特征在于, 所述访问模块还用于, 通过对磁盘文件库中 的目录与文本文件的查询与处理来获取零部件信息。 7. 如权利要求 5 所述的系统, 其特征在于, 所述数据缓存模块还用于 : 判断所述数据缓存模块中的所述零部件信息是否为最新信息 ; 如果否, 则调用磁盘文件库中的相应的所述零部件信息, 以更新所述数据缓存模块中 的所述零部件信息。 8. 如权利要求 5 所述的系统, 其特征在于, 所述数据缓存模块还用于, 在系统初始化时 进行初始化所述数据缓存模块, 以存储当前磁盘文件库的所有所述零部件信息。 权 利 要 求 书 CN 103678616 A 2 1/9 页 3 产品数据管理系。

7、统的产品结构信息获取方法及系统 技术领域 0001 本发明涉及信息系统集成技术领域, 尤其涉及一种产品数据管理系统的产品结构 信息获取方法及系统。 背景技术 0002 产品结构是指描述产品零部件组成关系的树状结构。 产品结构一般在产品研发过 程中逐步建立, 并保存在 PDM(Product Data Management, 产品数据管理) 系统中。通过建 立零部件相关的文档与零部件的关联关系, 产品的全部信息可以集成地展示在产品结构树 上, 企业不同部门可以在产品结构树上构建不同产品视图。因此产品结构数据是实施企业 信息集成的基础数据, 它反映了企业活动的主线。 0003 随着 Solidwo。

8、rks 建模软件的普及和中小企业信息化的发展, Solidworks Workgroup PDM 越来越多地部署在企业的产品研发部门, 以实现研发中的设计模型管理与 共享, 提高研发效率和水平。 与此同时, 企业部署的其他信息系统, 如外协外购管理系统、 文 档管理系统等, 其内部信息的有效管理有赖于当前的产品结构信息。因此在进行企业信息 系统集成时不可避免地遇到其他信息系统获取 Solidworks Workgroup PDM 中的产品结构 信息的问题。 目前Solidworks Workgroup PDM系统提供的产品结构数据导出接口为Excel 表格。为了获取产品结构数据, 需要设计人员。

9、手工地将产品结构导出为 Excel 表格, 再针对 该Excel表格进行人工或者自动数据录入。 这种被动的数据获取方式效率低、 且易出错。 如 果开发各种不同信息系统与Solidworks Workgroup PDM系统之间点对点的专用程序接口, 不可避免的需要对Solidworks Workgroup PDM系统进行二次开发, 同时由于程序接口的专 用性, 开发工作量将与信息系统数量成正比, 程度复杂度也难以管理。 发明内容 0004 本发明旨在至少解决上述技术问题之一。 0005 为此, 本发明的第一个目的在于提出一种产品数据管理系统的产品结构信息获取 方法。该方法灵活性强, 易于实现与部。

10、署。 0006 本发明的第二个目的在于提出一种产品数据管理系统的产品结构信息获取系统。 0007 为了实现上述目的, 本发明第一方面实施例的产品数据管理系统的产品结构信息 获取方法包括以下步骤 : 访问磁盘文件库, 以获取零部件信息, 其中, 所述磁盘文件库中预 存有所述产品数据管理系统的零部件信息 ; 建立所述零部件信息的缓存区, 并将从所述磁 盘文件库中获取的所述零部件信息保存在所述缓存区中 ; 建立 Web 服务端点, 接受外部请 求并访问所述磁盘文件库和所述缓存区以获取待查询的零部件信息 ; 将所述获取的待查询 的零部件信息生成 XML 文件并通过所述 Web 服务端点输出。 0008。

11、 根据本发明实施例的产品数据管理系统的产品结构信息获取方法, 基于对磁盘文 件库中的文件目录与文件的读取与处理构建当前产品结构信息, 以中性 XML 语言来描述产 品结构信息, 并以 Web 服务的方式提供基于网络的数据获取接口, 避免了复杂的二次开发 说 明 书 CN 103678616 A 3 2/9 页 4 工作, 灵活性强, 具有通用性, 易于实现和部署, 其他任意信息系统均可以通过访问 Web 服 务端点对外接口以获得产品结构信息, 此外数据缓存能够有效提高服务的响应速度。 0009 在一些示例中, 在所述将从所述磁盘文件库中获取的所述零部件信息保存在所述 缓存区之后, 还包括 : 。

12、判断所述缓存区中的所述零部件信息是否为最新信息 ; 如果否, 则调 用所述磁盘文件库中的相应的所述零部件信息, 以更新所述缓存区中的所述零部件信息。 0010 在一些示例中, 所述访问磁盘文件库, 以获取零部件信息是通过对所述磁盘文件 库中的目录与文件的查询与处理来实现的。 0011 在一些示例中, 还包括, 所述缓存区的初始化在系统初始化时进行, 以存储当前磁 盘文件库的所有所述零部件信息。 0012 本发明第二方面实施例的产品数据管理系统的产品结构信息获取系统, 包括 : 访 问模块, 用于访问磁盘文件库, 以获取零部件信息, 其中, 所述磁盘文件库中预存有所述产 品数据管理系统的零部件信。

13、息 ; 数据缓存模块, 用于存储从所述磁盘文件库中获取的所述 零部件信息 ; Web 服务端点, 接受外部请求并访问所述磁盘文件库和所述数据缓存模块以 获取待查询的零部件信息 ; XML 序列化模块, 用于将所述获取的待查询的零部件信息生成 XML 文件并通过所述 Web 服务端点输出。 0013 根据本发明实施例的产品数据管理系统的产品结构信息获取系统, 基于对磁盘文 件库中的文件目录与文件的读取与处理构建当前产品结构信息, 以中性 XML 语言来描述产 品结构信息, 并以 Web 服务的方式提供基于网络的数据获取接口, 避免了复杂的二次开发 工作, 灵活性强, 具有通用性, 易于实现和部署。

14、, 其他任意信息系统均可以通过访问 Web 服 务端点对外接口以获得产品结构信息, 进而实现不同信息系统的集成。 此外, 数据缓存能够 有效提高服务的响应速度。 0014 在一些示例中, 所述访问模块还用于, 通过对磁盘文件库中的目录与文件的查询 与处理来获取零部件信息。 0015 在一些示例中, 所述数据缓存模块还用于 : 判断所述数据缓存模块中的所述零部 件信息是否为最新信息 ; 如果否, 则调用磁盘文件库中的相应的所述零部件信息, 以更新所 述数据缓存模块中的所述零部件信息。 0016 在一些示例中, 所述数据缓存模块还用于, 在系统初始化时进行初始化所述数据 缓存模块, 以存储当前磁盘。

15、文件库的所有所述零部件信息。 0017 本发明附加的方面和优点将在下面的描述中部分给出, 部分将从下面的描述中变 得明显, 或通过本发明的实践了解到。 附图说明 0018 本发明上述的和 / 或附加的方面和优点从下面结合附图对实施例的描述中将变 得明显和容易理解, 其中, 0019 图 1 是根据本发明一个实施例的产品数据管理系统的产品结构信息获取方法的 流程图 ; 0020 图 2 是本发明一个实施例中的 properties.pdmw 文件示例 ; 0021 图 3 是本发明一个实施例中的 references.pdmw 文件示例 ; 0022 图 4 是本发明一个实施例的零部件信息 XM。

16、L 描述的示例 ; 说 明 书 CN 103678616 A 4 3/9 页 5 0023 图5是本发明一个实施例的Web服务端点响应以某一零部件为根节点的产品结构 信息的请求返回 XML 文件示例 ; 0024 图 6 是根据本发明一个实施例的产品数据管理系统的产品结构信息获取系统框 图 ; 和 0025 图 7 是本发明一个实施例的产品数据管理系统的产品结构信息获取系统的工作 原理图。 具体实施方式 0026 下面详细描述本发明的实施例, 所述实施例的示例在附图中示出, 其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考 附图描述的实施例是示例性的,。

17、 仅用于解释本发明, 而不能理解为对本发明的限制。相反, 本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、 修改和等同 物。 0027 在本发明的描述中, 需要理解的是, 术语 “第一” 、“第二” 等仅用于描述目的, 而不 能理解为指示或暗示相对重要性。 在本发明的描述中, 需要说明的是, 除非另有明确的规定 和限定, 术语 “相连” 、“连接” 应做广义理解, 例如, 可以是固定连接, 也可以是可拆卸连接, 或一体地连接 ; 可以是机械连接, 也可以是电连接 ; 可以是直接相连, 也可以通过中间媒介 间接相连。对于本领域的普通技术人员而言, 可以根据具体情况理解上述术语。

18、在本发明中 的具体含义。此外, 在本发明的描述中, 除非另有说明,“多个” 的含义是两个或两个以上。 0028 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为, 表示包括 一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、 片段或部 分, 并且本发明的优选实施方式的范围包括另外的实现, 其中可以不按所示出或讨论的顺 序, 包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能, 这应被本发明 的实施例所属技术领域的技术人员所理解。 0029 下面参考附图描述根据本发明实施例的产品数据管理系统的产品结构信息获取 方法及系统。 0030 目前 Solidwor。

19、ks Workgroup PDM 系统提供的产品结构数据导出接口为 Excel 表 格。为了获取产品结构信息, 需要设计人员手工将产品结构信息导出为 Excel 表格, 再对该 Excel 表格进行人工或者自动数据录入。这种被动的数据获取方式效率低且易出错。如果 开发各种不同信息系统与Solidworks Workgroup PDM系统之间点对点的专用程序接口, 不 可避免的需要对Solidworks Workgroup PDM系统进行二次开发, 同时由于程序接口的专用 性, 开发工作量将与信息系统数量成正比, 程度复杂度也难以管理。 0031 为此, 本发明提出了一种产品数据管理系统的产品结。

20、构信息获取方法, 包括以下 步骤 : 访问磁盘文件库, 以获取零部件信息, 其中, 磁盘文件库中预存有产品数据管理系统 的零部件信息 ; 建立零部件信息的缓存区, 并将从磁盘文件库中获取的零部件信息保存在 缓存区中 ; 建立 Web 服务端点, 接受外部请求并访问磁盘文件库和缓存区以获取待查询的 零部件信息 ; 将获取的待查询的零部件信息生成 XML 文件并通过 Web 服务端点输出。图 1 是根据本发明一个实施例的产品数据管理系统的产品结构信息获取方法的流程图。 0032 如图 1 所示, 产品数据管理系统的产品结构信息获取方法包括以下步骤 : 说 明 书 CN 103678616 A 5 。

21、4/9 页 6 0033 步骤 S101 : 访问磁盘文件库, 以获取零部件信息。其中, 磁盘文件库中预存有产品 数据管理系统的零部件信息。 0034 具体地, 磁盘文件库是指Solidworks Workgroup PDM安装时指定的VaultData文 件夹中的指定项目文件夹。在使用 Solidworks Workgroup PDM 时, 系统在项目文件夹中为 项目的每个零部件创建一个独立的子文件夹, 并以零部件名称命名, 用于保存零部件的模 型文件以及其他信息。通过对磁盘文件库中的文件夹目录及相关文件的查询与处理来获 取零部件信息, 特别是文件夹中属性描述文本文件即 whereused.。

22、pdmw、 references.pdmw、 properties.pdmw的读取与解析, 获取一个零部件的所有信息。 零部件信息保存在零部件数 据对象中, 零部件数据对象类包含的数据成员, 如表 1 所示, 包括零部件版本、 名称、 编号、 作者、 描述、 是否是标准件、 是否是根装配体、 是否为部件、 子零部件列表以及零部件时间戳 (零部件模型文件的最新修订时间) 。 0035 进一步地, 在磁盘文件库中, 对于任意一个保存零部件所有信息的零部件目录, 本 发明的一个实施例中通过以下方式来获得所需信息。 0036 (1) 通过零部件文件夹名称获得零部件名称, 特别地, 如果文件夹名称以字符。

23、串 “SLDASM” 结束, 则为装配体, 即部件, 如果文件夹以字符串 “SLDPRT” 结束, 则为零件。 0037 (2) 零部件的每个版本信息保存在零部件文件夹下的相应子文件夹中, 该子文件 夹以版本号命名, 通过比较子文件夹名称可以获取零部件最新版本。 0038 进一步地, 打开最新版本文件夹, 如果该文件夹没有 “whereused.pdmw” , 则该零部 件为整个产品结构树的根节点。通过读取最新版本文件夹中的模型文件的修改时间, 可以 获取零部件时间戳。 0039 打开最新版本文件夹, 以 UTF-16 编码方式读取 “properties.pdmw” , 如图 2 所示, 从。

24、第二行起, 可以获取该零部件的描述、 作者、 编号。 0040 打开最新版本文件夹, 以 UTF-16 编码方式读取 “references.pdmw” , 如图 3 所示, 从第三行起, 可以获取该零部件的子零部件信息。 0041 表 1 零部件数据对象类的数据成员 说 明 书 CN 103678616 A 6 5/9 页 7 0042 0043 步骤 S102 : 建立零部件信息的缓存区, 并将从磁盘文件库中获取的零部件信息保 存在缓存区中。 0044 由于每次获取零部件信息时需要对硬盘文件进行打开和读取操作, 如果系统每次 相应外部查询请求时, 都使用直接调用硬盘文件库的操作来获取所需零。

25、部件信息, 则服务 响应时间将被延长。此外, 对不同部件产品结构的查询可能涉及到同一个零部件的信息的 获取, 这又会造成不必要的计算浪费。 为了解决上述问题, 本发明一个实施例中使用了缓存 技术, 建立零部件信息的缓存区, 将已查询过的零部件信息放入缓存区中。 0045 优选地, 缓存区的初始化在系统初始化时进行, 以存储当前磁盘文件库的所有零 部件信息。 在执行查询时, 如果缓存区中的零部件信息为最新信息, 则直接调用缓存区的零 部件信息而不是再对硬盘文件库进行操作。 0046 步骤 S103 : 建立 Web 服务端点, 接受外部请求并访问磁盘文件库和缓存区以获取 待查询的零部件信息。 0。

26、047 Web 服务端点负责响应外部的 HTTP 请求, 查询并返回产品结构信息。Web 服务端 点可以响应的请求有两类, 一是查询整个产品结构树的根节点信息, 此类请求不需要附带 参数 ; 另一类是获取某一零部件的产品结构信息, 该类请求需要附带根零部件名称。 对于第 一类请求, Web 服务端点可以直接访问磁盘文件库获取产品结构树的根节点信息, 然后将获 取的信息生成序列化的 XML 文件输出。对于第二类请求, 系统应查询请求零部件的基本信 说 明 书 CN 103678616 A 7 6/9 页 8 息, 并从该零部件出发, 依次获取其子零部件信息, 直至最低层, 即没有任何装配结构的原。

27、 子零件。 为了实现第二类查询, 在本发明的一个实施例中采用队列作为基础数据结构, 基于 “先进先出” 原则存储待获取的零部件名称, 直到队列为空时表示数据获取完毕。具体实现 如下 : 0048 (1) 初始化待查询的零部件队列。 0049 (2) 将待查询的零部件名称加入到队列。 0050 (3) 判断待查询的队列是否为空。 0051 (4) 当待查询的队列为非空时, 待查询队列弹出当前待查询的零部件名称。然后, 查询上述步骤 S102 建立的缓存区中的零部件信息, 判断缓存区中的零部件信息是否为最 新信息 ; 如果否, 则调用磁盘文件库中的相应的零部件信息, 以更新缓存区中的零部件信 息。。

28、具体地, 0052 a) 根据待查询的零部件名称, 判断缓存区中是否存在该零部件。 0053 b) 如果不存在该零部件, 则查询磁盘文件库以获取待查询的零部件信息, 记为当 前零部件。 将当前零部件信息添加至缓存区, 并返回当前零部件信息, 即待查询的零部件信 息。 0054 c) 如果存在该零部件, 则查询缓存区中该零部件的时间戳与磁盘文件库中的该零 部件的时间戳, 并判断二者是否一致。 0055 若一致, 则返回缓存区中的零部件信息, 即为待查询的零部件信息 ; 0056 若不一致, 则查询磁盘文件库以获取待查询的零部件信息, 记为当前零部件。 将当 前零部件信息添加至缓存区以更新缓存区中。

29、的当前零部件信息, 返回当前零部件信息, 即 待查询的零部件信息。 0057 d) 获取待查询的零部件信息后, 保存当前零部件信息并判断当前零部件对象的 BOMView 是否为空, 若为空, 则直接执行步骤 (3) 。反之, 则将 BOMView 中的子零部件加入待 查询序列后执行步骤 (3) 。 0058 (5) 当待查询的队列为空时, 则表示查询完毕, 返回所有保存的零部件信息。 0059 步骤 S104 : 将获取的待查询零部件信息生成 XML 文件并通过 Web 服务端点输出。 0060 具体地, 根据表 1 所示的零部件对象数据成员, 一个零部件数据对象序列化后的 XML 示例如图 。

30、4 所示。在实际运行中, 前述步骤 S103 中的 Web 服务端点, 接受外部请求并访 问磁盘文件库和缓存区来获取待查询的零部件信息后, 将通过该步骤将所获取的待查询的 零部件信息生成 XML 文件并通过 Web 服务端点输出。例如, 用户采用浏览器访问 Web 服务 端点, 浏览器中显示了服务的响应消息, 即XML描述下的产品结构信息, 其结果如图5所示。 0061 根据本发明实施例的产品数据管理系统的产品结构信息获取方法, 基于对磁盘文 件库中的文件目录与文件的读取与处理构建当前产品结构信息, 并通过中性 XML 语言来描 述产品结构信息, 以 Web 服务的方式提供基于网络的数据获取接。

31、口, 避免了复杂的二次开 发工作, 灵活性强, 具有通用性, 易于实现和部署, 其他任意信息系统均可以通过访问 Web 服务端点对外接口以获得产品结构信息, 此外数据缓存能够有效提高服务的响应速度。 0062 本发明第二方面的实施例提出一种产品数据管理系统的产品结构信息获取系统, 如图 6 所示, 包括 : 访问模块 100、 数据缓存模块 200、 Web 服务端点 300 和 XML 序列化模块 400。 说 明 书 CN 103678616 A 8 7/9 页 9 0063 其中, 访问模块 100 用于访问磁盘文件库, 以获取零部件信息, 其中, 磁盘文件库 中预存有产品数据管理系统的。

32、零部件信息。 数据缓存模块200, 用于存储从磁盘文件库中获 取的零部件信息。Web 服务端点 300, 用于接受外部请求并访问磁盘文件库和数据缓存模块 200 以获取待查询的零部件信息。XML 序列化模块 400 用于将获取的待查询的零部件信息 生成 XML 文件并通过 Web 服务端点 300 输出。 0064 在本发明的实施例中, 磁盘文件库是指Solidworks Workgroup PDM安装时指定的 VaultData 文件夹中的指定项目文件夹。在使用 Solidworks Workgroup PDM 时, 系统在项 目文件夹中为项目的每个零部件创建一个独立的子文件夹, 并以零部件。

33、名称命名, 用于保 存零部件的模型文件以及其他信息。 0065 具体结合图 7 描述本发明实施例的产品数据管理系统的产品结构信息获取系统 的工作过程 : 0066 访问模块 100 通过对磁盘文件库中的文件夹目录及相关文件的查询与处理来 获取零部件信息, 特别是文件夹中描述文本文件即 whereused.pdmw、 references.pdmw、 properties.pdmw 的读取与解析, 获取一个零部件的所有信息。零部件信息保存在零部件 数据对象中, 零部件数据对象类包含的数据成员如表 1 所示, 包括零部件版本、 名称、 编号、 作者、 描述、 是否是标准件、 是否是根装配体、 是否。

34、为部件、 子零部件列表以及零部件时间戳 (零部件模型文件的最新修订时间) 。 0067 进一步地, 对于任意一个磁盘文件库中保存零部件所有信息的零部件目录, 本发 明的一个实施例中, 访问模块 100 通过以下方式来获得所需信息 : 0068 (1) 通过零部件文件夹名称获得零部件名称, 特别地, 如果文件夹名称以字符串 “SLDASM” 结束, 则为装配体, 即部件, 如果文件夹以字符串 “SLDPRT” 结束, 则为零件。 0069 (2) 零部件的的每个版本信息保存在零部件文件夹下的相应子文件夹中, 该子文 件夹以版本号命名, 通过比较子文件夹名称可以获取零部件最新版本。 0070 进一。

35、步, 打开最新版本文件夹, 如果该文件夹没有 “whereused.pdmw” , 则该零部件 为整个产品结构树的根节点。通过读取最新版本文件夹中的模型文件的修改时间, 可以获 取零部件时间戳。 0071 打开最新版本文件夹, 以 UTF-16 编码方式读取 “properties.pdmw” , 如图 2 所示, 从第二行起, 可以获取该零部件的描述、 作者、 编号。 0072 打开最新版本文件夹, 以 UTF-16 编码方式读取 “references.pdmw” , 如图 3 所示, 从第三行起, 可以获取该零部件的子零部件信息。 0073 数据缓存模块 200, 用于存储从磁盘文件库中。

36、获取的零部件信息。具体地, 由于每 次获取零部件信息时需要对硬盘文件进行打开和读取操作, 如果系统每次相应外部查询请 求时, 都使用直接调用硬盘文件库的操作来获取所需零部件信息, 则服务响应时间将被延 长。 此外, 对不同部件产品结构的查询可能涉及到同一个零部件的信息的获取, 这又会造成 不必要的计算浪费。 为了解决上述问题, 本发明一个实施例中, 建立零部件信息的数据缓存 模块 200, 将已查询过的零部件信息放入数据缓存模块 200 中。 0074 优选地, 数据缓存模块 200 的初始化在系统初始化时进行, 以存储当前磁盘文件 库的所有零部件信息。如果数据缓存模块 200 中的零部件信息。

37、为最新信息, 则直接调用数 据缓存模块 200 的零部件信息而不是再对硬盘文件库进行操作。 说 明 书 CN 103678616 A 9 8/9 页 10 0075 Web 服务端点 300 用于接受外部请求并通过访问磁盘文件库和数据缓存模块以获 取待查询的零部件信息。 0076 在实际的运行过程中, Web服务端点300负责响应外部的HTTP请求, 查询并返回产 品结构信息。 Web服务端点300可以响应的请求有两类, 一是查询整个产品结构树的根节点 信息, 此类请求不需要附带参数 ; 另一类是获取某一零部件的产品结构信息, 该类请求需要 附带根零部件名称。 对于第一类请求, Web服务端点。

38、300可以直接通过访问模块100访问磁 盘文件库获取产品结构树的根节点信息, 然后调用 XML 序列化模块 400 将获取的信息生成 序列化的 XML 文件输出。对于第二类请求, 系统应查询请求零部件的基本信息, 并从该零部 件出发, 依次获取其子零部件信息, 直至最低层, 即没有任何装配结构的原子零件。为了实 现第二类查询, 在本发明的一个实施例中采用队列作为基础数据结构, 基于 “先进先出” 原 则存储待获取的零部件名称, 直到队列为空时表示数据获取完毕。具体实现如下 : 0077 (1) 初始化待查询的零部件队列。 0078 (2) 将待查询的根节点名称加入到队列。 0079 (3) 判。

39、断待查询的队列是否为空。 0080 (4) 当待查询的队列为非空时, 待查询队列弹出当前待查询的零部件名称。然后, 查询上述数据缓存模块 200 的零部件信息, 判断数据缓存模块 200 的中的零部件信息是否 为最新信息 ; 如果否, 则通过访问模块 100 查询磁盘文件库中的相应的零部件信息, 以更新 数据缓存模块 200 的中的零部件信息。具体地, 0081 a) 根据待查询的零部件名称, 判断数据缓存模块 200 的中是否存在该零部件。 0082 b) 如果不存在该零部件, 则通过访问模块 100 查询磁盘文件库以获取待查询的零 部件信息, 记为当前零部件。将当前零部件信息添加至数据缓存。

40、模块 200 中, 并返回当前零 部件信息, 即待查询的零部件信息。 0083 c) 如果存在该零部件, 则查询数据缓存模块 200 中该零部件的时间戳与磁盘文件 库中的该零部件的时间戳, 并判断二者是否一致。 0084 若一致, 则返回数据缓存模块 200 中的零部件信息, 即为待查询的零部件信息 ; 0085 若不一致, 则通过访问模块 100 查询磁盘文件库以获取待查询的零部件信息, 记 为当前零部件。将当前零部件信息添加至数据缓存模块 200 以更新数据缓存模块 200 中的 当前零部件信息, 返回当前零部件信息, 即待查询的零部件信息。 0086 d) 获取待查询的零部件信息后, 保。

41、存当前零部件信息并判断当前零部件对象的 BOMView 是否为空, 若为空, 则直接执行步骤 (3) 。反之, 则将 BOMView 中的子零部件加入待 查询序列后执行步骤 (3) 。 0087 (5) 当待查询的队列为空时, 表示数据查询结束, 则调用 XML 序列化模块 400 将获 取的待查询的零部件信息生成 XML 文件, 并通过 Web 服务端点 300 输出。 0088 具体地, 根据表 1 所示的零部件对象数据成员, 一个零部件数据对象序列化后的 XML 示例如图 4 所示。在实际运行中, Web 服务端点 300, 接受外部请求并访问磁盘文件库 和缓存区来获取待查询的零部件信息。

42、后, 将通过 XML 序列化模块 400 将所获取的待查询的 零部件信息生成 XML 文件后再通过 Web 服务端点 300 输出。例如, 本发明一个实施例在 Windows7 操作系统中, 基于 JavaEE 平台, Web 服务端点 300(Servlet) 被部署在 Web 服务 器 Tomcat 中的条件下, 用户采用浏览器访问该 Web 服务器 Tomcat, 浏览器中显示了该 Web 说 明 书 CN 103678616 A 10 9/9 页 11 服务器 Tomcat 的响应消息, 即 XML 文件描述下的产品结构信息, 其结果如图 5 所示。 0089 根据本发明实施例的产品数。

43、据管理系统的产品结构信息获取系统, 基于对磁盘文 件库中的文件目录与文件的读取与处理构建当前产品结构信息, 并以中性 XML 语言来描述 产品结构信息, 以 Web 服务的方式提供基于网络数据获取接口, 避免了复杂的二次开发工 作, 灵活性强, 具有通用性, 易于实现和部署, 其他任意信息系统均可以通过访问 Web 服务 端点对外接口以获得产品结构信息, 进而实现不同信息系统的集成。 此外, 数据缓存能够有 效提高服务的响应速度。 0090 在本说明书的描述中, 参考术语 “一个实施例” 、“一些实施例” 、“示例” 、“具体示 例” 、 或 “一些示例” 等的描述意指结合该实施例或示例描述的。

44、具体特征、 结构、 材料或者特 点包含于本发明的至少一个实施例或示例中。在本说明书中, 对上述术语的示意性表述不 一定指的是相同的实施例或示例。而且, 描述的具体特征、 结构、 材料或者特点可以在任何 的一个或多个实施例或示例中以合适的方式结合。 0091 尽管已经示出和描述了本发明的实施例, 本领域的普通技术人员可以理解 : 在不 脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、 修改、 替换和变型, 本 发明的范围由权利要求及其等同物限定。 说 明 书 CN 103678616 A 11 1/3 页 12 图 1 图 2 图 3 说 明 书 附 图 CN 103678616 A 12 2/3 页 13 图 4 图 5 说 明 书 附 图 CN 103678616 A 13 3/3 页 14 图 6 图 7 说 明 书 附 图 CN 103678616 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1