基于Java Web的数控机床优化设计知识库管理平台
2022-11-23王菲刘世豪
王菲,刘世豪
(海南大学机电工程学院,海南海口 570228)
0 前言
现代计算机网络技术在不断地进步发展,带动着数据管理模式在不断地进化,并且计算机技术也逐渐渗透进机械优化设计领域,如文献[1]利用关系数据库,研制了机械零件智能设计平台;文献[2]设计了包装机械设计工程数据库,使机械设计工作中数据信息处理更简洁。现在的数控机床优化设计知识较为繁杂,从中精确寻找所需要的知识数据信息较为困难,且管理员获取、整理知识数据的过程仍然过于繁琐。然而,当前大部分的数据库管理平台并没有针对数控机床优化设计知识进行平台的管理与分类,且界面不够简单明了,对专门从事数控机床研究的科研人员或研究生造成诸多不便;与现今高速发展的网络平台技术相比,其技术先进性较差并且安全性并不能得到很好的保障。
针对以上问题,结合以往数据库管理平台中长期存在的问题,对问题进行系统分析,以对所要实现的功能进行改善,让它拥有更加友好的界面;采取相对具有技术可行性的方案,完成一个易于操作及查找、数据处理迅捷的数控机床优化设计知识库管理平台。该平台的后台开发以信息管理平台的管理和开发方法为基础[3],利用最新的网络技术开发出新的管理平台,使管理员的知识数据管理能够实现高水平的交互和迅速的数据处理;同时保障了平台的易操性并保留了更加精细的功能,使得前端的开发受到用户查询要求的支配。
1 数控机床优化设计知识库管理平台需求分析
1.1 问题分析
在对数控机床进行优化设计的过程中,需要学习和查阅大量的数控机床与优化设计相关的图书知识信息、期刊文献以及学位论文;而相关的知识数据资料种类繁多且数量庞大,从中精确寻找所需要的知识信息较为困难。因而,在数控机床的优化设计过程中需要一个便于分类查找且易于管理的数控机床优化设计知识库管理平台。
1.2 需求概述
数控机床优化设计知识主要包含3种来源:知识信息、期刊文献、学位论文。数控机床优化设计知识大致分为机械结构优化设计、控制系统优化设计、机电耦合优化设计、机床计算机辅助设计这四大类,其中机械结构优化设计还可分为形状优化设计、尺寸优化设计、拓扑优化设计、仿生优化设计这四类。数控机床优化设计知识库管理平台的使用者分为两类:用户与管理员。用户基本需求主要包含注册登录、查询浏览。管理员基本需求主要包括管理用户信息、管理数控机床优化设计知识信息。由业务需求可列出以下对象实体:用户、管理员、数控机床优化设计知识浏览记录、数控机床优化设计知识信息、数控机床优化设计知识类别。注册流程、业务流程分别如图1、图2所示。
基于平台的需求分析,可列出用户和管理员的功能性业务需求的基本用例及管理员对数控机床优化设计知识管理的主要分类。由这些用例所显示的从用户使用的前台和管理员使用的后台来完成数控机床优化设计知识库管理平台的正常运作。
功能性业务需求用例摘要描述如表1所示。
表1 功能性业务需求用例摘要描述
数控机床优化设计知识库管理平台非功能性需求包括:
(1)安全性。用户数据信息具有保密性,用户数据信息只能由管理员控制更改使用;
(2)正确性。不允许出现业务错误;
(3)兼容性。可在各种支持HTML5的浏览器中使用;
(4)性能。平台处理业务时页面响应时间不能超过2 s;
(5)并发性。允许多个用户登录操作。
1.3 运行环境和所需技术
数控机床优化设计知识库管理平台运行所需的软件环境如下:
(1)操作平台:应用服务器为Windows NT Server 2008以上版本;用户用PC机为Windows XP和以上;
(2)数据库管理平台为MySQL 5.7;
(3)网页浏览器为应用服务器为Google Chrome;用户用PC机为Google Chrome或者Firefox;
(4)开发环境为IDE采用Eclipse Java EE IDE for Web Developers(4.5.2);
(5)数据库工具为Navicat Premium 10.0.11。数控机床优化设计知识库管理平台开发所需的技术如下:(1)JSP[4];(2)JavaScript[5-6];(3)JSTL[7];
(4)MySQL[8];(5)SSM框架技术:Spring[9]、SpringMVC[10]、MyBatis[11]。
2 数控机床优化设计知识库管理平台设计
2.1 功能结构与平台架构
由需求调研得出,数控机床优化设计知识库管理平台主要包括的模块如图3所示,本文作者在设计该平台的过程中选用Spring3.0进行架构。Spring能抽象地表达目前许多应用开发面临的许多共性问题,在IOC容器和AOP中用于截断面编程的核心模块的支援下,使编程人员能够将Java EE的开发过程升级[12]。为应用开发提供丰富的平台模块,并为此提供实现应用服务的驱动支援[13]。平台架构如图4所示。
2.2 数据表设计
数控机床优化设计知识分类的基本原则是要能够准确展现数控机床优化所用设计方法,因此知识库的数据表应该以此为标准设计。在这个概念的结构模式的框架下,平台作为需求的线性矩阵,形成一个抽象化的知识库[14]。基于平台的功能结构与单位之间的相关关系,平台中所有单位的字段及特性存储在知识库中。通过分析数控机床优化设计知识、用户及两者之间联系,设计平台的数据表,采用MySQL进行数据表管理。
(1)数控机床优化设计知识库数据表(t_knowledge)
数控机床优化设计知识库数据表主要用于保存数控机床优化设计知识库的基本数据,主要字段包括:知识信息ID、名称、来源、作者、类型、图片等。表结构如表2所示。
表2 数控机床优化设计知识库数据表(t_knowledge)
(2)分类数据表(t_classify)
分类数据表主要字段包括:分类ID、分类名字、分类编码。
(3)用户数据表(t_user)
平台用户数据表主要用于保存平台用户的数据信息,主要字段包括:用户ID、姓名、密码、邮箱、手机号、身份证号、性别、图片。
(4)浏览记录数据信息表(t_record)
浏览记录数据表主要用于保存查询浏览的数据信息,主要字段包括:记录ID、用户ID 、知识信息ID、开始时间、截止时间、知识信息名称、来源、作者、知识信息类型。
数控机床优化设计知识库数据如图5所示。
2.3 模块设计
此平台包含3个模块:Controller模块负责请求接入以及部分业务实体;Service模块用来存放业务实体;Mapper模块存放调用数据库的请求方法[15]。各模块间依赖关系如图6所示。
(1)Controller包中类的描述
Controller包中类的描述如表3所示。
表3 Controller包中类的描述
(2)Service包中类的描述
Service包中类的描述如表4所示。
表4 Service包中类的描述
2.4 关键技术难点与代码编写规范
为更好地实现对数控机床优化设计知识的分类展现与管理,对于界面中页面的布局采用html+css技术,然后将较为生硬的界面修改至美观。另外使用jquery[16]技术封装JavaScript,使得操作DOM[17]的便捷性提升,其可操作性也比单纯使用JavaScript的方式高。平台采用新技术,主要采用spring+springmvc+mybatis框架[18]。
由于登录时管理员和用户使用共同的登录页面,需要在登录页面添加一个判断,识别当前登录账号是用户还是管理员,进而跳转至不同的主页。其控制层部分代码如下所示:
Map
Map
为保证平台的编码合乎规范,专门制定其编码规范。数控机床优化设计知识库管理平台的编码规范如表5所示。
表5 编码规范
3 案例应用及分析
3.1 数控机床结构优化设计知识查询用例
以实现数控机床不同方向的结构优化为目标,对数控机床仿生设计优化、拓扑优化、形状优化、尺寸优化这四类结构优化方式进行知识查询展示,如图7所示。仿生设计优化是通过相似的生物系统实现对数控机床的结构优化;拓扑优化是将材料实现最优分布以达到所需优化效果;形状优化是先设立形状目标函数,通过改变变量来优化结构的边界;尺寸优化是首先设置其余定量,再优化界面尺寸以实现结构优化[19]。
进入平台登录页,用户首先判断是否拥有账号,若无则点击注册按钮,填写个人信息进行注册,若有则在输入用户名密码后,点击登录按钮,触发Controller,将login参数以及用户名密码传向后台,然后利用实体类在各个层中传递数据信息,最后将实体类的数据信息与数据库表t_user中的信息做对比,最后返回参数确定登录成功。登录操作从Control到Service再到DAO逐层深入最后再返回前台,界面如图8所示。
用户在登录平台之后,第一种方法是点击数控机床优化设计知识库模块,此时平台前端位于mainpage.jsp,调用getAllknowledges()跳转到知识信息列表页面,通过浏览分类标签分别选择属于仿生设计、拓扑优化、形状优化、尺寸优化类的知识信息;第二种方法是直接在登录页面的搜索栏分别输入仿生设计、拓扑优化、形状优化、尺寸优化进行模糊搜索,经过调用returnknowledge()显示结果,此时平台前端位于knowledgeLocation.jsp,然后浏览并选择平台所筛选出的知识信息。进行选择后点击详情浏览知识信息。触发标签的href的请求链接,对应的url里面的Controller将前端界面获取到的参数以及用户名ID传向后台,然后利用实体类在各个层中传递信息,最后将实体类的数据信息更新到数据库表t_record中。两种方法都是从knowledgeControl到knowledgeService再到knowledgeDao逐层深入最后再返回至mainpage.jsp,并且都能快速并精确地选择所需要的知识信息。通过实现对不同优化设计方法的查询浏览,展现了该平台对知识信息良好的检索能力,能有效地帮助用户进行数控机床优化设计。四类结构优化方式查询部分结果如表6所示;在此过程中,用户查询数控机床结构设计知识代码如图9—图10所示。
表6 结构优化方法部分查询结果
3.2 数控机床优化设计知识库管理用例
以《高速数控转台优化设计方法研究现状与展望》[20]这一文献为对象,展现管理员对该文献分别进行冗余性图一致性、完备性的检验[21],如图11所示。冗余性是检查诊断知识库中是否存在完全相同或非常相似的记录;一致性是检查知识的其余信息是否与名称对应;完备性是检查知识内容是否属于完整状态。
管理员输入账号密码后,通过平台后台增加的判断识别数据,然后由前端login.jsp界面登录平台,在搜索栏输入高速数控转台优化设计方法研究现状与展望进行精确查询,界面跳转至检索结果界面检验冗余性,查询结果无相同记录,无冗余。点击详情按钮查看《高速数控转台优化设计方法研究现状与展望》基本信息与内容,检验信息一致性与完备性,并判断是否需要进行修改更新,如需要修改则先返回至mainpage.jsp,再点击修改按钮调用editknowledge()类对该文献基本信息进行修改更新。修改完成点击确定触发表单的form里的Controller将前端界面获取到的参数state以及用户名ID活动的ID传向后台,然后利用实体类在各个层中传递数据信息,最后将实体类的数据信息更新到数据库表t_knowledge中,实现对知识信息的修改。其中,管理员管理数控机床优化设计知识库关键代码如图12所示。最终检查结果显示:该文献其余信息与名称对应,内容无缺失,保持了一致性与完备性。通过对文献进行有效的管理,保证了知识信息的准确,体现了开发数控机床优化设计知识库管理平台的必要性。
4 结论
本文作者通过建立数控机床优化设计知识库管理平台,实现了对数控机床优化设计知识库更好的维护与管理,并且大大提升了用户精确查询数控机床优化设计知识的便利性。所设计的平台使用了SmartAdmin等新技术,使平台的易用性大大提高,完备的UI库也提升了界面的美观性。利用Ajax技术进行网页加载,使页面可以对信息进行动态的显示,使之能够更清晰明了地展现数控机床优化设计知识信息。通过数控机床结构优化设计知识查询和管理《高速数控转台优化设计方法研究现状与展望》这两个案例的具体实现及分析,证明了所设计的平台的可行性和实用价值。