一种核电厂三维布置设计数据集成的方法及系统转让专利

申请号 : CN201510909291.0

文献号 : CN105550431B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴祥勇范凯李丹林佳罗澄

申请人 : 中广核工程有限公司中国广核集团有限公司

摘要 :

本发明公开了一种核电厂三维布置设计数据集成的方法及系统,该方法,包括以下步骤:S1、建立核电厂物项的标准实体‑关系模型;S2、以增量更新方式分别导出更新的属性数据和模型数据;以及S3、根据所述关系模型,分别集成所述更新的属性数据和模型数据。本发明将三维设计数据以增量更新的方式导出,不仅提高了数据导出的效率,而且能及时反映三维设计数据的变化;然后通过集成处理,可以为数据的进一步应用提供可能,而且可以将集成后的数据发布给需要的用户,有效地解决了三维设计数据的信息孤岛问题。

权利要求 :

1.一种核电厂三维布置设计数据集成的方法,其特征在于,包括以下步骤:S1、建立核电厂物项的标准实体-关系模型;

S2、以增量更新方式分别导出更新的属性数据和模型数据;以及S3、根据所述关系模型,分别集成所述更新的属性数据和模型数据;

所述步骤S2具体包括以下步骤:

S21、调用脚本文件以启动三维布置设计模块;

S22、启动所述三维布置设计模块并调用导出增量更新的数据的程序;

S23、进行增量更新以形成属性数据文件和模型数据文件;

S24、将所述属性数据文件和模型数据文件分别上传至被监控的属性数据共享目录和模型数据共享目录;以及S25、当监控到所述属性数据共享目录或模型数据共享目录发生变化时,执行所述步骤S3;

步骤S23包括:

S231、读取需要导出数据的节点清单;

S232、获取所述节点清单中每一节点的当前会话和上一次更新会话之间产生的增量更新信息;

S233、解析所述增量更新信息以获取节点发生变化的对象以及所述对象的变化类型,其中,所述变化类型包括新增、修改和删除;以及S234、获取所述对象的属性数据和模型数据,并转换所述属性数据和模型数据的格式以形成所述属性数据文件和模型数据文件。

2.根据权利要求1所述的核电厂三维布置设计数据集成的方法,其特征在于,步骤S232具体包括:S2321、根据历史导出记录判断该节点是否导出过数据;若是,则转步骤S2312;否则转步骤S2313;

S2322、直接获取上一次更新的会话号,再获取当前会话和上一次更新会话之间产生的增量更新信息;以及S2323、导出该节点自创建以来的所有数据,再获取当前会话和上一次更新会话之间产生的增量更新信息,并将该节点的上一次更新的会话号设为1。

3.根据权利要求1所述的核电厂三维布置设计数据集成的方法,其特征在于,所述增量更新文件包括属性更新文件和模型更新文件;步骤S234进一步包括:S2341、获取所述对象的属性数据,并标识所述对象的变化类型;

S2342、将所述属性数据及所述变化类型转换为符合可扩展标记语言结构定义(XSD)所定义的结构和规范的所述属性数据文件;以及S2343、根据发生变化的对象和所述对象的变化类型,导出相应的模型数据并记录模型清单和模型的变化类型,并转换成所述模型数据文件。

4.根据权利要求1所述的核电厂三维布置设计数据集成的方法,其特征在于,步骤S23还包括:S235、将节点及节点的当前会话号更新或新增到历史导出记录中;其中,若历史导出记录中存在该节点,则将上一次更新的会话号修改为当前的会话号;若历史导出记录中不存在该节点,则记录中新增该节点,将上一次的会话号设为当前的会话号。

5.根据权利要求1所述的核电厂三维布置设计数据集成的方法,其特征在于,所述步骤S3具体包括:将所述属性数据文件集成到关系型数据库,并将所述模型数据文件重新组合生成新的模型文件后发布。

6.根据权利要求1所述的核电厂三维布置设计数据集成的方法,其特征在于,所述步骤S25进一步包括:当监控到所述属性数据共享目录或所述模型数据共享目录发生变化时,读取所述属性数据文件并使用相应的可扩展标记语言结构定义(XSD)文件验证所述属性数据文件的准确性,然后将将所述属性数据文件集成到关系型数据库。

7.一种核电厂三维布置设计数据集成的系统,其特征在于,包括:模型建立模块,用于建立核电厂物项的标准实体-关系模型;

增量更新模块,用于以增量更新方式分别导出更新的属性数据和模型数据;以及集成模块,用于根据所述关系模型,分别集成所述更新的属性数据和模型数据;

所述增量更新模块包括:

调用子模块,用于调用脚本文件以启动三维布置设计模块;

启动子模块,连接至所述调用子模块,用于启动所述三维布置设计模块并调用导出增量更新的数据的程序;

增量更新子模块,连接至所述启动子模块,用于进行增量更新以形成属性数据文件和模型数据文件;

文件上传子模块,连接至所述增量更新子模块,用于将所述属性数据文件和模型数据文件分别上传至属性数据共享目录和模型数据共享目录;

监控子模块:用于监控所述属性数据共享目录和模型数据共享目录,并当所述属性数据共享目录或模型数据共享目录发生变化时发送信号至所述集成模块;

所述增量更新子模块包括:

读取单元,用于读取需要导出数据的节点清单;

获取单元,用于获取所述节点清单中每一节点的当前会话和上一次更新会话之间产生的增量更新信息;

解析单元,用于解析所述增量更新信息以获取节点发生变化的对象以及所述对象的变化类型,其中,所述变化类型包括新增、修改和删除;以及转换单元,用于获取所述对象的属性数据和模型数据,并转换所述属性数据和模型数据的格式以形成所述性数据文件和模型数据文件。

8.根据权利要求7所述的核电厂三维布置设计数据集成的系统,其特征在于,所述获取单元包括:判断子单元,用于根据历史导出记录判断该节点是否导出过数据;若是,则将判断结果发送至第一获取子单元;否则发送至第二获取子单元;

第一获取子单元,连接至所述判断子单元,用于直接获取上一次更新的会话号,再获取当前会话和上一次更新会话之间产生的增量更新信息;以及第二获取子单元,用于导出该节点自创建以来的所有数据,再获取当前会话和上一次更新会话之间产生的增量更新信息,并将该节点的上一次更新的会话号设为1。

9.根据权利要求7所述的核电厂三维布置设计数据集成的系统,其特征在于,所述转换单元进一步包括:获取与标识子单元,用于获取所述对象的属性数据,并标识所述对象的变化类型;

第一转换子单元,用于将所述属性数据及所述变化类型转换为符合可扩展标记语言结构定义(XSD)所定义的结构和规范的所述属性数据文件;

第二转换子单元,用于根据发生变化的对象和所述对象的变化类型,导出相应的模型数据并记录模型清单和模型的变化类型,并转换成所述模型数据文件。

10.根据权利要求7所述的核电厂三维布置设计数据集成的系统,其特征在于,所述增量更新子模块还包括:节点更新单元,用于将节点及节点的当前会话号更新或新增到历史导出记录中;其中,若历史导出记录中存在该节点,则将上一次更新的会话号修改为当前的会话号;若历史导出记录中不存在该节点,则记录中新增该节点,将上一次的会话号设为当前的会话号。

11.根据权利要求7所述的核电厂三维布置设计数据集成的系统,其特征在于,所述数据集成模块具体用于将所述属性数据文件集成到关系型数据库,并将所述模型数据文件重新组合生成新的模型文件后发布。

12.根据权利要求7所述的核电厂三维布置设计数据集成的系统,其特征在于,所述数据集成子模块进一步用于当监控到所述属性数据共享目录或模型数据共享目录发生变化时,读取所述属性数据文件并使用相应的可扩展标记语言结构定义(XSD)文件验证所述属性数据文件的准确性,然后将将所述属性数据文件集成到关系型数据库。

说明书 :

一种核电厂三维布置设计数据集成的方法及系统

技术领域

[0001] 本发明涉及核电技术领域,尤其涉及一种核电厂三维布置设计数据集成的方法及系统。

背景技术

[0002] 三维布置设计是核电厂可视化工程施工的关键,也是核电厂信息化建设的基础。目前核电厂三维布置设计中主要采用VPD(vantage plant design,电厂设计管理系统)等软件作为三维布置设计平台。该设计平台的可视化、多专业协同设计、模型碰撞检查等特点为布置设计带来了很大的便利。但由于三维布置设计平台,如VPD,本身的局限性,它所产生的数据并不具开放性和共享性,形成了信息孤岛。因此,用户若不使用专门的三维布置设计平台,如VPD软件,将难以查看三维模型和相关数据,使用不便;且这些软件平台的属性数据与其他数据进行对比及提供给其他用户使用很困难,这并不利于发现三维布置设计中存在的问题以及数据的再次利用。

发明内容

[0003] 针对现有核电厂三维布置设计平台信息孤岛的技术问题,本发明提供一种核电厂三维布置设计数据集成的方法及系统。
[0004] 本发明就上述技术问题而提出的技术方案如下:
[0005] 一方面,提供了一种核电厂三维布置设计数据集成的方法,包括以下步骤:
[0006] S1、建立核电厂物项的标准实体-关系模型;
[0007] S2、以增量更新方式分别导出更新的属性数据和模型数据;以及[0008] S3、根据所述关系模型,分别集成所述更新的属性数据和模型数据。
[0009] 优选地,所述步骤S2具体包括以下步骤:
[0010] S21、调用脚本文件以启动三维布置设计模块;
[0011] S22、启动所述三维布置设计模块并调用导出增量更新的数据的程序;
[0012] S23、进行增量更新以形成属性数据文件和模型数据文件;
[0013] S24、将所述属性数据文件和模型数据文件分别上传至被监控的属性数据共享目录和模型数据共享目录;以及
[0014] S25、当监控到所述属性数据共享目录或模型数据共享目录发生变化时,执行所述步骤S3。
[0015] 优选地,步骤S23包括:
[0016] S231、读取需要导出数据的节点清单;
[0017] S232、获取所述节点清单中每一节点的当前会话和上一次更新会话之间产生的增量更新信息;
[0018] S233、解析所述增量更新信息以获取节点发生变化的对象以及所述对象的变化类型,其中,所述变化类型包括新增、修改和删除;以及
[0019] S234、获取所述对象的属性数据和模型数据,并转换所述属性数据和模型数据的格式以形成所述属性数据文件和模型数据文件。
[0020] 优选地,步骤S232具体包括:
[0021] S2321、根据历史导出记录判断该节点是否导出过数据;若是,则转步骤S2312;否则转步骤S2313;
[0022] S2322、直接获取上一次更新的会话号,再获取当前会话和上一次更新会话之间产生的增量更新信息;以及
[0023] S2323、导出该节点自创建以来的所有数据,再获取当前会话和上一次更新会话之间产生的增量更新信息,并将该节点的上一次更新的会话号设为1。
[0024] 优选地,所述增量更新文件包括属性更新文件和模型更新文件;步骤S234进一步包括:
[0025] S2341、获取所述对象的属性数据,并标识所述对象的变化类型;
[0026] S2342、将所述属性数据及所述变化类型转换为符合可扩展标记语言结构定义(XSD)所定义的结构和规范的所述属性数据文件;以及
[0027] S2343、根据发生变化的对象和所述对象的变化类型,导出相应的模型数据并记录模型清单和模型的变化类型,并转换成所述模型数据文件。
[0028] 优选地,步骤S23还包括:
[0029] S235、将节点及节点的当前会话号更新或新增到历史导出记录中;其中,若历史导出记录中存在该节点,则将上一次更新的会话号修改为当前的会话号;若历史导出记录中不存在该节点,则记录中新增该节点,将上一次的会话号设为当前的会话号。
[0030] 优选地,所述步骤S3具体包括:
[0031] 将所述属性数据文件集成到关系型数据库,并将所述模型数据文件重新组合生成新的模型文件后发布。
[0032] 优选地,所述步骤S25进一步包括:
[0033] 当监控到所述属性数据共享目录或所述模型数据共享目录发生变化时,读取所述属性数据文件并使用相应的可扩展标记语言结构定义(XSD)文件验证所述属性数据文件的准确性,然后将将所述属性数据文件集成到关系型数据库。
[0034] 另一方面,还提供了一种三维布置设计数据集成的系统,包括:
[0035] 模型建立模块,用于建立核电厂物项的标准实体-关系模型;
[0036] 增量更新模块,用于以增量更新方式分别导出更新的属性数据和模型数据;以及[0037] 集成模块,用于根据所述关系模型,分别集成所述更新的属性数据和模型数据。
[0038] 优选地,所述增量更新模块包括:
[0039] 调用子模块,用于调用脚本文件以启动三维布置设计模块;
[0040] 启动子模块,连接至所述调用子模块,用于启动所述三维布置设计模块并调用导出增量更新的数据的程序;
[0041] 增量更新子模块,连接至所述启动子模块,用于进行增量更新以形成属性数据文件和模型数据文件;
[0042] 文件上传子模块,连接至所述增量更新子模块,用于将所述属性数据文件和模型数据文件分别上传至属性数据共享目录和模型数据共享目录;
[0043] 监控子模块:用于监控所述属性数据共享目录和模型数据共享目录,并当所述属性数据共享目录或模型数据共享目录发生变化时发送信号至所述集成模块。
[0044] 优选地,所述增量更新子模块包括:
[0045] 读取单元,用于读取需要导出数据的节点清单;
[0046] 获取单元,用于获取所述节点清单中每一节点的当前会话和上一次更新会话之间产生的增量更新信息;
[0047] 解析单元,用于解析所述增量更新信息以获取节点发生变化的对象以及所述对象的变化类型,其中,所述变化类型包括新增、修改和删除;以及
[0048] 转换单元,用于获取所述对象的属性数据和模型数据,并转换所述属性数据和模型数据的格式以形成所述性数据文件和模型数据文件。
[0049] 优选地,所述获取单元包括:
[0050] 判断子单元,用于根据历史导出记录判断该节点是否导出过数据;若是,则将判断结果发送至第一获取子单元;否则发送至第二获取子单元;
[0051] 第一获取子单元,连接至所述判断子单元,用于直接获取上一次更新的会话号,再获取当前会话和上一次更新会话之间产生的增量更新信息;以及
[0052] 第二获取子单元,用于导出该节点自创建以来的所有数据,再获取当前会话和上一次更新会话之间产生的增量更新信息,并将该节点的上一次更新的会话号设为1。
[0053] 优选地,所述转换单元进一步包括:
[0054] 获取与标识子单元,用于获取所述对象的属性数据,并标识所述对象的变化类型;
[0055] 第一转换子单元,用于将所述属性数据及所述变化类型转换为符合可扩展标记语言结构定义(XSD)所定义的结构和规范的所述属性数据文件;
[0056] 第二转换子单元,用于根据发生变化的对象和所述对象的变化类型,导出相应的模型数据并记录模型清单和模型的变化类型,并转换成所述模型数据文件。
[0057] 优选地,所述增量更新子模块还包括:
[0058] 节点更新单元,用于将节点及节点的当前会话号更新或新增到历史导出记录中;其中,若历史导出记录中存在该节点,则将上一次更新的会话号修改为当前的会话号;若历史导出记录中不存在该节点,则记录中新增该节点,将上一次的会话号设为当前的会话号。
[0059] 优选地,所述数据集成模块具体用于将所述属性数据文件集成到关系型数据库,并将所述模型数据文件重新组合生成新的模型文件后发布。
[0060] 根据权利要求10所述的核电厂三维布置设计数据集成的系统,其特征在于,所述数据集成子模块进一步用于当监控到所述属性数据共享目录或模型数据共享目录发生变化时,读取所述属性数据文件并使用相应的可扩展标记语言结构定义(XSD)文件验证所述属性数据文件的准确性,然后将将所述属性数据文件集成到关系型数据库。
[0061] 实施本发明实施例,具有如下有益效果:
[0062] 本发明将三维设计数据以增量更新的方式导出,不仅提高了数据导出的效率,而且能及时反映三维设计数据的变化;然后将导出的属性数据集成到关系型数据库中,可以进行更为深入的数据应用,如数据校验、数据发布、数据分析等;模型数据集成后可以使用通用的发布方式,如WEB发布方式,方便其他用户使用。通过本发明,解决了三维设计数据的信息孤岛问题,使得设计数据能更好地为下游施工板块服务,提高数据的利用价值,提高信息化程度。

附图说明

[0063] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0064] 图1是本发明提供的第一实施例的一种核电厂三维布置设计数据集成的方法流程图;
[0065] 图2是本发明提供的第一实施例的一种核电厂三维布置设计数据集成的方法流程图;
[0066] 图3是本发明提供的第一实施例的一种核电厂三维布置设计数据集成的方法流程图;
[0067] 图4是本发明提供的第一实施例的一种核电厂三维布置设计数据集成的方法流程图;
[0068] 图5是本发明提供的第一实施例的一种核电厂三维布置设计数据集成的方法流程图;
[0069] 图6是本发明提供的第一实施例的一种核电厂三维布置设计数据集成的方法流程图;
[0070] 图7是本发明实施例提供的一种三维布置设计数据层次结构示意图;
[0071] 图8是本发明实施例提供的一种实体-关系模型结构示意图;
[0072] 图9是本发明提供的第二实施例的一种核电厂三维布置设计数据集成的系统方框图;
[0073] 图10是本发明提供的第二实施例的一种核电厂三维布置设计数据集成的系统方框图;
[0074] 图11是本发明提供的第二实施例的一种核电厂三维布置设计数据集成的系统方框图;
[0075] 图12是本发明提供的第二实施例的一种核电厂三维布置设计数据集成的系统方框图;
[0076] 图13是本发明提供的第二实施例的一种核电厂三维布置设计数据集成的系统方框图;
[0077] 图14是本发明提供的第二实施例的一种核电厂三维布置设计数据集成的系统方框图。

具体实施方式

[0078] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0079] 实施例一
[0080] 本发明实施例提供了一种核电厂三维布置设计数据集成的方法,如图1所示,该方法包括步骤:
[0081] 步骤S1,建立核电厂物项的标准实体-关系模型;
[0082] 步骤S2,以增量更新方式分别导出更新的属性数据和模型数据;以及[0083] 步骤S3,根据所述关系模型,分别集成所述更新的属性数据和模型数据。
[0084] 具体地,在本发明实施例中,关系型数据库所定义的实体-关系模型结构如图8所示。图8中例举了围绕管件10的实体-关系模型。管件10的抽象关系主要包括:管件10是什么(即本质属性),与什么连接、直接从属于什么以及间接从属于什么。从图8中可以看出,管件10的本质属性可以为阀门仪表40和设备50,管件10可与管件或管嘴60相连接,管件10直接从属与支管20,因为支管20直接从属于管线20,所述管件10间接从属与管线30。当然,图8只是一个示意性举例,本领域技术人员在本发明的教导下,可以建立核电厂中其他物项的标准实体-关系模型。
[0085] 本发明实施例提供的实体-关系模型,是一种标准的实体-关系模型,具有普遍适用性。
[0086] 进一步地,如图2所示,上述步骤S2可以通过以下方法来实现:
[0087] 步骤S21,调用脚本文件以启动三维布置设计模块。
[0088] 具体地,上述步骤S21可以通过WEB服务定时或通过访问来调用脚本文件,可选地,脚本文件可为系统中的批处理文件,如BAT脚本文件。调用的频率也可根据实际需要来设定。三维布置设计模块可为已经安装的三维设计布置软件,如VPD软件。
[0089] 步骤S22,启动三维布置设计模块并调用导出增量更新数据的程序。
[0090] 具体地,上述步骤S22可在三维布置设计模块启动后,自动调用导出增量更新数据的程序,该程序可为宏编程语言(PML)程序。
[0091] 步骤S23,进行增量更新以形成属性数据文件和模型数据文件。
[0092] 具体地,如图3所示,上述步骤S23可以通过如下方式实现:
[0093] 步骤S231,读取需要导出数据的节点清单。在本发明实施例中,核电厂三维布置设计数据采用层次结构表现,如图7所示,图中示出了4层节点。每一个节点会使用适当类型的对象,并根据业务需求表达一定范围的三维模型。例如,图7中前三层的节点类型固定,第一层为根节点100,跟节点的数量通常只有一个;第二层为站点节点101和102,站点的数量可以为多个;第三次为区域节点111~113,区域的个数也可以为多个。而第四层的类型就不固定,可以为管线121和122,也可以为设备123和124,第四层节点的数量也可以为多个。对各节点命名以明确其表达的业务范围,同时会设置对应的属性,层次结构中所体现的包含关系也是三维模型的包含关系。通常,相同类型的节点表示形式上类似的实际对象,通过对不同的节点命名加以区分,且命名在三维布置设计模块中一般是唯一的,如管线可表示一回路水管或电缆桥架等,而不同名称的设备就代表不同的设备,如泵、阀门或汽轮机等。
[0094] 在上述步骤S231中,节点清单通常以某些特定类型的节点列出,例如以站点列出。
[0095] 步骤S232,获取节点清单中每一节点的当前会话和上一次更新会话之间产生的增量更新信息。
[0096] 具体地,如图4所示,上述步骤S232可通过如下方式实现:
[0097] 步骤S2321,根据历史导出记录判断该节点是否导出过数据;若是,则转步骤S2312;否则转步骤S2313。其中,历史导出记录包括历史导出节点以及每个节点上一次更新的会话(Session)号信息。
[0098] 步骤S2322,直接获取上一次更新的会话号,再获取当前会话和上一次更新会话之间产生的增量更新信息。具体地,增量更新信息可通过程序命令获得,如difference命令。
[0099] 以及步骤S2323,导出该节点自创建以来的所有数据,再获取当前会话和上一次更新会话之间产生的增量更新信息,并将该节点的上一次更新的会话号设为1。
[0100] 步骤S233,解析所述增量更新信息以获取节点发生变化的对象以及所述对象的变化类型,其中,所述变化类型包括新增、修改和删除。
[0101] 以及步骤S234,获取上述对象的属性数据和三维模型数据,并转换属性数据和三维模型数据的格式以形成上述数据更新文件和模型更新文件。
[0102] 具体地,如图5所示,上述步骤S234可通过如下方式实现:
[0103] 步骤S2341,获取对象的属性数据,并标识对象的变化类型。
[0104] 步骤S2342,将属性数据及变化类型转换为符合可扩展标记语言结构定义(XSD)所定义的结构和规范的属性数据文件,例如可扩展标记语言(XML)文件。
[0105] 以及步骤S2343,根据发生变化的对象和对象的变化类型,导出相应的三维模型数据并记录模型清单和模型的变化类型,并转换成模型数据文件,例如RVM文件(VPD设计软件导出的三维模型格式文件)。
[0106] 可选地,在本发明提供的实施例中,上述步骤S23还可以包括:
[0107] 步骤S235,将节点及节点的当前会话号更新或新增到历史导出记录中;其中,若历史导出记录中存在该节点,则将上一次更新的会话号修改为当前的会话号;若历史导出记录中不存在该节点,则记录中新增该节点,将上一次的会话号设为当前的会话号。
[0108] 在本发明的实施例中,由于三维布置设计模块(如VPD软件)后台维护时,系统管理员可能会合并保存设计数据时产生的会话,因此为保证增量更新数据的准确性,合并的会话号区间应小于导出节点的最近一次更新的会话号。
[0109] 可选地,在本发明实施例中,如图6所示,上述步骤S23还可以通过如下方式实现:
[0110] 步骤S'21,读取需要导出数据的节点清单,节点清单通常以某些特定类型的节点列出,例如以站点列出。
[0111] 步骤S'22,根据历史导出记录判断该节点是否导出过数据;若是,则转步骤S'23;否则转步骤S'24。其中,历史导出记录包括历史导出节点以及每个节点上一次更新的会话(Session)号信息。
[0112] 步骤S'23,直接获取历史记录中上一次更新的会话号。
[0113] 步骤S'24,导出该节点自创建以来的所有数据,并将该节点的上一次更新的会话号设为1。
[0114] 步骤S'25,获取当前会话和上一次更新会话之间产生的增量更新信息,具体地,增量更新信息可通过程序命令获得,如difference命令。
[0115] 步骤S'26,解析所述增量更新信息以获取节点发生变化的对象以及所述对象的变化类型,其中,所述变化类型包括新增、修改和删除。
[0116] 步骤S'27,获取对象的属性数据,并标识对象的变化类型。
[0117] 步骤S'28,将属性数据及变化类型转换为符合可扩展标记语言结构定义(XSD)所定义的结构和规范的属性更新文件,例如可扩展标记语言(XML)文件。
[0118] 步骤S'29,根据发生变化的对象和对象的变化类型,导出相应的三维模型数据并记录模型清单和模型的变化类型,并转换成模型更新文件,例如RVM文件(VPD设计软件导出的三维模型格式文件)。
[0119] 以及步骤S'30,将节点及节点的当前会话号更新或新增到历史导出记录中;其中,若历史导出记录中存在该节点,则将上一次更新的会话号修改为当前的会话号;若历史导出记录中不存在该节点,则记录中新增该节点,将上一次的会话号设为当前的会话号。
[0120] 步骤S24,将上述属性数据文件(如XML文件)和模型数据文件(如RVM文件)分别上传至被监控的属性数据共享目录和模型数据共享目录。
[0121] 以及步骤S25,当监控到数据共享目录发生变化时,执行上述步骤S3,即分别将属性更新文件(如XML文件)集成到关系型数据库,并将模型更新文件(如RVM文件)重新组合生成新的模型文件后发布。
[0122] 可选地,上述步骤S25还可通过如下方式实现:
[0123] 当监控到所述数据共享目录发生变化时,读取所述属性更新文件并使用相应的XSD文件验证属性更新文件(如XML文件)的准确性,然后将将属性更新文件集成到关系型数据库。并且,将模型更新文件(如RVM文件)重新组合生成新的模型文件后发布。
[0124] 三维布置设计属性数据的后台数据库为三维布置设计模块(如VPD软件)特有的数据库。该数据库并非关系型数据库,与本发明中的数据集成的关系型数据库无法直接通过数据库接口连接,因此需要合适的中间文件作为数据集成的桥梁。
[0125] XML作为目前通用的一种数据交换方式,广泛用于各类数据交互,且与关系型数据库的结合也非常便利。本发明中,将三维布置设计数据导出为XML文件,然后将XML文件中的数据集成到关系型数据库中。XSD文件用来定义XML的结构及数据规则,并可对XML文件的结构进行验证,包括文档中的元素、属性、子元素的次序和数目、元素和属性的数据类型等。通过定义XSD文件,可确保输出XML文件的准确性,XSD文件结构具有以下特点:
[0126] 第一,能充分表达三维布置设计中的设计数据。三维布置设计数据具有面向对象的特点,每类对象有各自的属性,XSD文件中将节点与三维布置设计中的类对应,并设定相应的属性;同时对于对象之间复杂的关系,可以单独设置节点导出数据,如连接关系节点“CREFS”。对于不同模块的数据,也可以设置不同的节点加以区分,如DESIGN节点PARAGON节点分别对应三维布置设计中的DESIGN模块和PARAGON模块。
[0127] 第二,可扩展性强。XSD文件可根据需要导出的数据,增加或完善相应的节点而不影响其他的节点;可根据业务需求区分不同的数据,如增加DESIGN_ROOM节点和DESIGN_AREA节点分别表示VPD软件中的房间和安装分区信息。
[0128] 第三,可对数据格式进行规范。XSD文件可以对导出的数据进行规范,如子节点数目、数据类型、格式等,从而保证导出的数据符合要求,并作初步的格式验证。
[0129] 本发明将三维设计数据以增量更新的方式导出,不仅提高了数据导出的效率,而且能及时反映三维设计数据的变化;然后将导出的属性数据集成到关系型数据库中,可以进行更为深入的数据应用,如数据校验、数据发布、数据分析等;模型数据集成后可以使用通用的发布方式,如WEB发布方式,方便其他用户使用。通过本发明,解决了三维设计数据的信息孤岛问题,使得设计数据能更好地为下游施工板块服务,提高数据的利用价值,提高信息化程度。
[0130] 实施例二
[0131] 本发明实施例提供了一种核电厂三维布置设计数据集成的系统,如图9所示,该系统包括:
[0132] 模型建立模块1,用于建立核电厂物项的标准实体-关系模型;
[0133] 增量更新模块2,用于以增量更新方式分别导出更新的属性数据和模型数据;以及[0134] 集成模块3,用于根据所述关系模型,分别集成上述更新的属性数据和模型数据。
[0135] 具体地,如图10所示,上述增量更新模块2包括:
[0136] 调用子模块21,用于调用脚本文件以启动三维布置设计模块;
[0137] 启动子模块22,连接至调用子模块21,用于启动三维布置设计模块并调用导出增量更新数据的程序;
[0138] 增量更新子模块23,连接至启动子模块22,用于进行增量更新以形成属性数据文件和模型数据文件;
[0139] 文件上传子模块24,连接至增量更新子模块23,用于将增属性数据文件和模型数据文件上传至数据共享目录40;其中,数据共享目录40包括属性数据共享目录和模型数据共享目录;以及
[0140] 监控子模块25:用于监控上述数据共享目录40,并当所述属性数据共享目录或模型数据共享目录发生变化时发送信号至所述集成模块。
[0141] 具体地,如图11所示,上述增量更新子模块23包括:
[0142] 读取单元231,用于读取需要导出数据的节点清单;
[0143] 获取单元232,用于获取节点清单中每一节点的当前会话和上一次更新会话之间产生的增量更新信息;
[0144] 解析单元233,用于解析增量更新信息以获取节点发生变化的对象以及对象的变化类型,其中,变化类型包括新增、修改和删除;以及
[0145] 转换单元234,用于获取对象的属性数据和三维模型数据,并转换属性数据和三维模型数据的格式以形成属性数据文件和模型数据文件。
[0146] 可选地,如图11所示,上述增量更新子模块23还可包括:
[0147] 节点更新单元235,用于将节点及节点的当前会话号更新或新增到历史导出记录中;其中,若历史导出记录中存在该节点,则将上一次更新的会话号修改为当前的会话号;若历史导出记录中不存在该节点,则记录中新增该节点,将上一次的会话号设为当前的会话号。
[0148] 具体地,如图12所示,上述获取单元232包括:
[0149] 判断子单元2321,用于根据历史导出记录判断该节点是否导出过数据;若是,则将判断结果发送至第一获取子单元;否则发送至第二获取子单元;
[0150] 第一获取子单元2322,连接至判断子单元321,用于直接获取上一次更新的会话号,再获取当前会话和上一次更新会话之间产生的增量更新信息;以及
[0151] 第二获取子单元2323,用于导出该节点自创建以来的所有数据,再获取当前会话和上一次更新会话之间产生的增量更新信息,并将该节点的上一次更新的会话号设为1。
[0152] 具体地,如图13所示,上述转换单元234进一步包括:
[0153] 获取与标识子单元2341,用于获取对象的属性数据,并标识对象的变化类型;
[0154] 第一转换子单元2342,用于将属性数据及所述变化类型转换为符合可扩展标记语言结构定义(XSD)所定义的结构和规范的属性数据文件,如XML文件;
[0155] 第二转换子单元2343,用于根据发生变化的对象和对象的变化类型,导出相应的三维模型数据并记录模型清单和模型的变化类型,并转换成模型数据文件,如RVM文件。
[0156] 在本发明实施例中,增量更新子模块2还可以通过以下结构来实现。如图14所示,增量更新子模块2包括:
[0157] 读取单元21',用于读取需要导出数据的节点清单,节点清单通常以某些特定类型的节点列出,例如以站点列出。
[0158] 判断单元22',用于根据历史导出记录判断该节点是否导出过数据;若是,则将信号发送至第一会话单元23';否则发送至第二会话单元24'。其中,历史导出记录包括历史导出节点以及每个节点上一次更新的会话(Session)号信息。
[0159] 第一会话单元23',用于直接获取历史记录中上一次更新的会话号。
[0160] 第二会话单元24',用于导出该节点自创建以来的所有数据,并将该节点的上一次更新的会话号设为1。
[0161] 获取单元25',用于获取当前会话和上一次更新会话之间产生的增量更新信息,具体地,增量更新信息可通过程序命令获得,如difference命令。
[0162] 解析单元26',用于解析所述增量更新信息以获取节点发生变化的对象以及所述对象的变化类型,其中,所述变化类型包括新增、修改和删除。
[0163] 获取与标识单元27',用于获取对象的属性数据,并标识对象的变化类型。
[0164] 第一转换单元28',用于将属性数据及变化类型转换为符合可扩展标记语言结构定义(XSD)所定义的结构和规范的属性数据文件,例如可扩展标记语言(XML)文件。
[0165] 第二转换单元29',用于根据发生变化的对象和对象的变化类型,导出相应的三维模型数据并记录模型清单和模型的变化类型,并转换成模型数据文件,例如RVM文件(VPD设计软件导出的三维模型格式文件)。
[0166] 以及节点更新单元30',用于将节点及节点的当前会话号更新或新增到历史导出记录中;其中,若历史导出记录中存在该节点,则将上一次更新的会话号修改为当前的会话号;若历史导出记录中不存在该节点,则记录中新增该节点,将上一次的会话号设为当前的会话号。
[0167] 进一步地,数据集成模块3具体用于将属性更新文件集成到关系型数据库,并将模型更新文件重新组合生成新的模型文件后发布。
[0168] 进一步地,数据集成模块3还可用于当监控子模块25监控到数据共享目录发生变化时,读取属性数据文件并使用相应的可扩展标记语言结构定义(XSD)文件验证属性更新文件的准确性,然后将将属性数据文件集成到关系型数据库。
[0169] 关系型数据库作为目前广泛使用的数据存储方式,用来对导出的三维设计属性数据进行集成。通过关系型数据集成属性数据后,能使用通用的开发技术(如网页等)向用户展示、发布、共享数据,提高数据的利用价值。因此,用户可通过网页等普通的访问方式获取最新的三维布置设计的数据和模型文件,无需登录专用的三维布置设计软件去获取这些信息,有效地解决了三维布置设计软件信息孤岛的技术问题。
[0170] 以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。