面向PDM 系统的数据存储结构优化技术

2024-04-19 13:56马江林邓乐富
电子设计工程 2024年8期
关键词:视图分布式数据库

马江林,邓乐富

(中国航发南方工业有限公司信息工程部,湖南株洲 412000)

产品数据管理(Product Data Management,PDM)是一种用于管理所有与产品相关信息的技术。该技术可以有效、实时且完整地管理从规划到报废处理整个产品生命周期中的各种数字化信息。具体包括零件信息、配置、文档、计算机辅助设计(Computer Aided Design,CAD)文件、结构及权限信息等。PDM技术的出现大幅提升了产品的生产效率,故其被广泛应用于机械制造业,尤其是航空发动机制造领域。在航空发动机研发的过程中,为了缩短周期,需要保证设计与制造部门之间的生产信息交流和实时共享,以便于及时获取反馈信息来更改设计制造方案,从而进一步降低成本。

在航空发动机制造领域,PDM 系统能为管理、研发、设计和制造等部门建立并行化的便捷开发协作环境,涵盖了航空发动机制造链的各个环节,并通过PDM 数据信息化的管理来提升生产制造效率。随着产品信息的积累及型号的不断更迭,存储在PDM 中的数据量剧增,给传统的数据存储结构带来了巨大的挑战。当前航空发动机制造PDM 系统均采用关系型数据库作为底层结构支撑,其无法对非结构和半结构化数据进行高效处理,且在处理大量数据流的高并发读写、高扩展性及高可用性等方面也存在诸多不足[1]。因此,有必要对PDM 数据存储结构加以优化。

为了更高效、有序地处理产品数据信息,在已有的PDM 存储结构基础上,文中提出了一种新型非关系型数据库(Not Only SQL,NoSQL)分布式数据存储方案。

1 新型NoSQL分布式数据存储技术

数据存储是PDM 系统的重要核心,主要包括对工程数据与工程元数据的存储。其中,工程数据指的是以文档、工程、模型文件和音视频等多种格式存在的非结构化数据;而工程元数据则是指对该产品工程资料的描述,如文件名、文件长度、文件类型、创建日期、版本及负责人信息和源代码等具体数据[2]。该次分别从数据存储结构优化以及数据查询技术优化两个方面来设计新型PDM 系统的数据存储结构。

1.1 数据存储结构优化

现阶段PDM 系统均以产品结构树为基础来实现数据的信息管理,通过关系数据库(Relational Database,RDB)和文件系统集成的方式完成图文档存储。但由于RDB 未将文档、图片和工程信息加以区分就进行融合存储,导致后续的读写难度增大,从而降低了工程效率。同时多种不同格式的数据整合后还占用了大量存储空间,使得PDM 系统的效率也受到影响。

文中采用NoSQL 数据库搭配Ceph 分布式文件处理模块作为文档数据存储的结构。NoSQL 数据库具有分类存储、分布式应用和并行计算等优点,搭配PDM 系统可实现高扩展性及高可靠性的产品数据信息处理任务[3-6]。此外,在数据量规模较大的情况下,该数据库的并发读写性能也较优。

Ceph 分布式文件处理模块将产品图文档的元数据与其他数据分离并进行归类[7-10],再通过结构化数据复制工具OGG(Oracle Golden Gate)将前者存储在NoSQL 数据库中,而后者及元数据的备份则存储至企业的私有云中。数据存储框图如图1 所示。

图1 PDM数据存储框图

由于产品图文档的数据类型多样、数据量庞大且无存储规律,因此一般的数据库难以满足系统的实际需求。而所设计的存储结构将Ceph 和OGG 技术相结合并运用到NoSQL 数据库中。同时OGG 还可实现数据库与私有云的实时同步,便于后续的数据抽取。

该技术方案既能完成PDM 系统的高效率存储,又可以实现数据快速响应的高吞吐量读取。NoSQL设置的地址数据库存储空间较大,能够满足海量存储的需求。当文件较大时,还可以通过OGG 将存储地址映射至私有云存储,并将文件类型和地址数据存储至NoSQL 数据库中。当用户需要调取历史产品数据时,需要首先访问NoSQL 数据库,从中查找文件类型和云端寻址地址,然后通过OGG 获取目标数据。该分布式存储结构能够有效优化存储空间,精确分区存储,从而提高数据库的读写效率。

1.2 数据查询技术优化

计算引擎Spark 是一种通用的可扩展大数据分析工具[11-13],其集批处理、实时流处理、交互式查询与流计算于一体,避免了多种运算场景下需要部署不同集群所造成的资源浪费。通过Spark Streaming 算法实现分布式实时流式计算,该算法结合引擎核心(Spark Core)可实现数据的高速吞吐与实时抽取处理[14-16]。该次在采用NoSQL 数据库存储工程数据的基础上,提出一种基于Spark 的分步查询处理方法,通过分析并结合Spark 并行计算框架以及迭代思想,设计了算法的步骤与具体实现过程。

假设某产品的相关数据信息均已存储至NoSQL数据库中,包括航空发动机的编号(ID)和名称(name)、文件种类(type)、寻址地址(address)等类型数据。选取上述信息作为查询节点数据,设置信息数据集合A={ID、name、type、address},再通过OGG 将其从数据库中提取出来并缓存至Spark Core 中。基于Spark Streaming 设计分步查询Map 函数和Search函数。

1)Map 函数执行:对两组产品数据进行Map 运算。通过该函数解析并提取数据,该算法流程框图如图2 所示。

图2 基于Spark的Map函数流程框图

通过Map 函数得到{Code、valuedata}。Code 表示数据的类型,位数为2 B。设置1X 为产品编号数据,2X 为产品名称,3X 为文件类型,4X 为数据寻址地址。部分Code 数据类型的分配表,如表1 所示。

表1 部分Code数据类型分配表

2)Search 函数执行:对两组产品数据进行Search运算。通过该函数寻址提取数据并实现数据重构。Search 函数输入{Code、valuedata},解析该数组,移除标志位且抽取valuedata;同时抽取元数据地址并进行寻址;然后将数据重新整合重构,再将数据打包发送到OGG 中,进而传输给用户。该函数算法流程如图3 所示。

图3 基于Spark的Search函数流程框图

基于Spark 分步查询处理技术和NoSQL 产品数据库的PDM 系统,通过MapSearch 算法能够快速地在大规模产品中实现高效率的选址、数据抽取和重构。为了验证PDM 系统数据存储新结构的可靠性,文中设置了实验来进行验证。

2 实验验证

该次结合基础环境设施搭建了实验平台,设置四组服务器和存储磁盘。服务器的规格均为24 核、128 线程及128 GB 内存,型号为NF8480M6;且磁盘阵列有500 GB 容量,型号为DS200-N10。在服务器上,构建了NoSQL、Ceph 和Spark 的数据环境,其中Ceph 包含产品的编号节点、名称节点、四个数据节点(文档、CAD、pdf、工程)和元数据寻址地址。NoSQL 则由一个路由进程、两个配置服务器与七个数据分存节点构成。

文中以CAD 视图文件为例,首先通过实验A 获取不同航空发动机CAD 视图文件在NoSQL 的分类处理时间、写存时间及数据传输速度;然后通过实验B 获取CAD 视图文件在RDB 的存储和读取时间,并将其与实验A 的数据进行对比。

两组实验选取的CAD 视图文件长度分别为300 kB、656 kB、1.08 MB、1.23 MB、2.33 MB、3.88 MB、4.89 MB、5.53 MB、6.03 MB、7.53 MB、9.68 MB、12.2 MB、14.4 MB、23.5 MB、30.2 MB、35.5 MB、38.8 MB、48.5 MB、54.4 MB 和60.0 MB。重复进行测试并统计分类处理的时间、对比二者的写存时间和数据传输速度,结果如图4-6 所示。

图4 视图文件分类处理时间

图5 视图文件写存时间对比

图6 视图文件数据传输速度对比

从图中可以看出,基于NoSQL 的分布式数据存储结构更适合面向航空发动机的PDM 系统存储,该结构的存储效率和数据吞吐量远高于基于RDB 的存储结构。

同时设置实验C,通过文中设计的基于Spark 的MapSearch 函数读取上述存储数据,并设置对照实验D,采用文献[1]中所述指标基于Hatoop 的数据查询函数得到与实验C 相同的存储数据,进而获得两组实验的读取时间和信息重构完整性。通过对比所得的结果来评估二者的可靠性,具体如图7-8 所示。

图7 不同算法下数据读取时间对比

图8 不同算法下的数据重构完整性对比

由上述实验结果可知,文中所提技术方案可以实现对产品数据存取的快速响应以及高吞吐量传输。相较于传统的RDB 数据库,其的平均写存时间减少了约20%,数据的平均传输速度提升了约70%。此外,相比于文献[1]所述方法的读取时间也降低了41.6%,而数据重构完整性的平均值则为92%,由此可见该系统的性能较优。针对航空发动机制造中的工程数据存储,所提方案能够有效实现对海量数据的高效率存储与实时高吞吐量读取。

3 结束语

针对基于RDB 的PDM 系统已无法满足产品大数据量存储需求的问题,文中提出了一种新型的面向航空发动机制造PDM 系统的非关系型数据库(NoSQL)分布式数据存储技术方案,该方案可实现读取数据的快速响应及高效存储。通过实验测试并结合文献[1]所述的指标验证了该方案的可靠性,因此可以将其运用到PDM 系统中作为存储单元来协助航空发动机制造。

猜你喜欢
视图分布式数据库
分布式光伏热钱汹涌
5.3 视图与投影
视图
分布式光伏:爆发还是徘徊
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
数据库
数据库
数据库
数据库