缩略图
Mobile Internet

基于Windchill 的产品数据挖掘与可视化系统研究

作者

李国锋

郑州飞机装备有限责任公司 河南省郑州市 450000

1、研究背景及意义

1.1.Windchill 系统的发展与局限

Windchill 10.1 作为 PTC 公司推出的主流 PLM 平台,已实现对CAD/CAM/CAE 工具链的全面集成。但其数据分析功能仍局限于基础报表生成,数据可视化表达能力不足。

1.2 研究意义

提出”数据治理- 算法优化- 可视交互”三位一体的技术路径:零侵入:不改 Windchill 源码;

实时性:关键指标刷新延迟 ⩽30s ;

互动性:图表支持钻取、联动、导出;

复用性:提供可直接部署的与脚本。

2、关键技术研究

2.1 系统设计

2.1.1 总体架构

系统采用三层架构,包括表示层、业务逻辑层和数据访问层。表示层由 JSP 页面、JavaScript 脚本和 ECharts 图表组成,负责与用户交互,展示数据挖掘结果和可视化图表。业务逻辑层采用Java 开发,包含数据挖掘算法和业务处理逻辑,实现数据挖掘功能和对挖掘结果的处理。数据访问层负责与 Windchill 10.1 数据库交互,获取产品数据并进行预处理,为业务逻辑层提供数据支持。

2.1.2 前端设计

(1)JSP 页面设计

首页:展示系统主要功能模块入口和概览信息,包括数据挖掘功能模块列表和最近数据挖掘任务状态等。数据挖掘结果展示:以表格和图表形式展示数据挖掘结果。例如,展示频繁模式挖掘结果表格,同时提供可视化图表链接,点击链接可查看对应可视化图表。数据可视化:展示各类可视化图表,如柱状图、折线图、饼图和树状图等,方便用户查看图表细节。

(2)JavaScript 和 ECharts 应用

利用 JavaScript 实现页面元素之间的交互,实现页面交互功能。使用 ECharts 库生成可视化图表完成可视化图表生成与操作。根据后端返回的数据和图表类型配置信息,通过 JavaScript 调用 EChartsAPI 生成相应图表,实现图表操作功能。例如,通过 JavaScript 编写图表缩放、平移和数据筛选函数,调用 ECharts 相关方法实现图表的交互式操作。

2.1.3 后端设计

(1)数据访问模块

数据库连接管理:建立与 Windchill 10.1 数据库的连接,管理连接的创建、释放和维护。采用数据库连接池技术,提高数据库连接效率和系统性能。数据查询与预处理:根据数据挖掘需求,编写 SQL查询语句从 Windchill 数据库获取相应产品数据。对查询结果进行预处理,如数据清洗、转换和格式化等,使其符合数据挖掘算法的输入要求。

(2)数据挖掘模块

频繁模式挖掘算法实现:采用Apriori 算法及其改进算法实现频繁模式挖掘。根据用户设置的最小支持度等参数,对预处理后的数据进行频繁模式挖掘,返回挖掘结果。关联规则挖掘算法实现:基于关联规则挖掘算法,根据用户指定的支持度和置信度等参数,挖掘产品数据之间的关联规则,输出关联规则列表。

(3)业务逻辑模块

数据挖掘任务管理:实现数据挖掘任务的创建、执行、暂停和终止等操作。管理数据挖掘任务的参数配置和执行状态,确保任务的正常运行。挖掘结果处理:对数据挖掘结果进行处理和包装,使其便于前端展示。数据可视化服务:根据前端请求,提供数据可视化服务。根据用户选择的可视化图表类型和数据范围,生成相应的图表数据和配置信息,返回给前端进行图表渲染。

2.2 系统实现

2.2.1 后端实现

(1)数据访问层实现

使用开源数据库连接池框架,如 HikariCP,配置数据库连接池参数,实现数据库连接池配置。在系统初始化时创建连接池,并提供数据库连接获取和归还接口。根据数据挖掘需求,编写Java 类和方法,利用 JDBC 或 ORM 框架(如 Hibernate)执行 SQL 查询语句,实现数据查询与预处理代码。对查询结果进行预处理,将处理后的数据存储在合适的数据结构中,供数据挖掘模块使用。

(2)数据挖掘层实现

采用 Java 语言实现 Apriori 算法及其改进算法,实现频繁模式挖掘算法编码。封装算法为 Java 类和方法,接收预处理后的数据和用户参数,返回频繁模式挖掘结果。基于关联规则挖掘算法原理,使用 Java 实现算法代码,完成关联规则挖掘算法编码。编写代码实现关联规则的生成和结果筛选等功能。将算法封装为 Java 类和方法,根据用户输入的参数,输出关联规则列表。

(3)业务逻辑层实现

创建 Java 类和接口,定义数据挖掘任务的数据结构和操作方法,实现任务的创建、执行、暂停和终止等功能代码。利用多线程技术,确保多个数据挖掘任务可同时执行,互不干扰。编写 Java 代码对数据挖掘结果进行处理和包装,挖掘结果处理功能。将挖掘结果转换为JSON 格式,利用常用的 JSON 库进行数据的序列化和反序列化操作。开发 Java 接口和方法,接收前端发来的可视化请求参数,实现数据可视化服务功能。

2.2.2 前端实现

(1)JSP 页面实现

页面布局与元素设计:使用 HTML 和 CSS 技术设计 JSP 页面的布局和样式。采用响应式布局设计,使页面在不同设备和浏览器窗口大小下都能良好显示,合理安排页面元素。页面动态内容生成:在 JSP页面中使用JSTL 标签库和Java 代码片段,实现页面动态内容的生成。根据后端传递的数据,在页面上动态显示数据挖掘任务列表、挖掘结果表格和可视化图表等内容。

(2)JavaScript 和 ECharts 应用实现

利用 JavaScript 语言编写页面交互功能代码,完成页面交互功能代码编写。为页面上的按钮、下拉菜单等元素绑定事件监听器,实现点击、选择等事件的响应处理。基于ECharts 库,编写JavaScript代码实现可视化图表的渲染和操作功能。在页面上创建 ECharts 图表实例,根据后端返回的图表数据和配置信息,调用 ECharts 的方法渲染图表。实现图表的交互式操作功能,如通过监听图表的缩放、平移事件,调用相应的ECharts API 方法实现图表的动态更新和展示。

3、结论与展望

本文基于 Windchill 10.1 构建的产品数据挖掘与可视化系统,前端采用 JSP+JavaScript+ECharts,后端采用 Java 开发。系统实现频繁模式挖掘、关联规则挖掘和异常检测等数据挖掘功能,以及产品结构可视化和挖掘结果可视化等数据可视化功能,有效帮助用户从海量产品数据中提取有价值信息,为企业决策提供支持。未来,系统可从优化数据挖掘算法,增加数据挖掘算法种类,提升可视化效果和交互性方面,提高效率和准确性,以应对更大规模的数据挑战,提升企业整体信息化水平和竞争力。

作者简介:李国锋(1971.12-),男(汉族),湖南省长沙市,学历:本科职称:工程师,研究方向:计算机软件及应用。