王菲,劉世豪
(海南大學機電工程學院,海南???570228)
現(xiàn)代計算機網絡技術在不斷地進步發(fā)展,帶動著數(shù)據(jù)管理模式在不斷地進化,并且計算機技術也逐漸滲透進機械優(yōu)化設計領域,如文獻[1]利用關系數(shù)據(jù)庫,研制了機械零件智能設計平臺;文獻[2]設計了包裝機械設計工程數(shù)據(jù)庫,使機械設計工作中數(shù)據(jù)信息處理更簡潔。現(xiàn)在的數(shù)控機床優(yōu)化設計知識較為繁雜,從中精確尋找所需要的知識數(shù)據(jù)信息較為困難,且管理員獲取、整理知識數(shù)據(jù)的過程仍然過于繁瑣。然而,當前大部分的數(shù)據(jù)庫管理平臺并沒有針對數(shù)控機床優(yōu)化設計知識進行平臺的管理與分類,且界面不夠簡單明了,對專門從事數(shù)控機床研究的科研人員或研究生造成諸多不便;與現(xiàn)今高速發(fā)展的網絡平臺技術相比,其技術先進性較差并且安全性并不能得到很好的保障。
針對以上問題,結合以往數(shù)據(jù)庫管理平臺中長期存在的問題,對問題進行系統(tǒng)分析,以對所要實現(xiàn)的功能進行改善,讓它擁有更加友好的界面;采取相對具有技術可行性的方案,完成一個易于操作及查找、數(shù)據(jù)處理迅捷的數(shù)控機床優(yōu)化設計知識庫管理平臺。該平臺的后臺開發(fā)以信息管理平臺的管理和開發(fā)方法為基礎[3],利用最新的網絡技術開發(fā)出新的管理平臺,使管理員的知識數(shù)據(jù)管理能夠實現(xiàn)高水平的交互和迅速的數(shù)據(jù)處理;同時保障了平臺的易操性并保留了更加精細的功能,使得前端的開發(fā)受到用戶查詢要求的支配。
在對數(shù)控機床進行優(yōu)化設計的過程中,需要學習和查閱大量的數(shù)控機床與優(yōu)化設計相關的圖書知識信息、期刊文獻以及學位論文;而相關的知識數(shù)據(jù)資料種類繁多且數(shù)量龐大,從中精確尋找所需要的知識信息較為困難。因而,在數(shù)控機床的優(yōu)化設計過程中需要一個便于分類查找且易于管理的數(shù)控機床優(yōu)化設計知識庫管理平臺。
數(shù)控機床優(yōu)化設計知識主要包含3種來源:知識信息、期刊文獻、學位論文。數(shù)控機床優(yōu)化設計知識大致分為機械結構優(yōu)化設計、控制系統(tǒng)優(yōu)化設計、機電耦合優(yōu)化設計、機床計算機輔助設計這四大類,其中機械結構優(yōu)化設計還可分為形狀優(yōu)化設計、尺寸優(yōu)化設計、拓撲優(yōu)化設計、仿生優(yōu)化設計這四類。數(shù)控機床優(yōu)化設計知識庫管理平臺的使用者分為兩類:用戶與管理員。用戶基本需求主要包含注冊登錄、查詢?yōu)g覽。管理員基本需求主要包括管理用戶信息、管理數(shù)控機床優(yōu)化設計知識信息。由業(yè)務需求可列出以下對象實體:用戶、管理員、數(shù)控機床優(yōu)化設計知識瀏覽記錄、數(shù)控機床優(yōu)化設計知識信息、數(shù)控機床優(yōu)化設計知識類別。注冊流程、業(yè)務流程分別如圖1、圖2所示。
基于平臺的需求分析,可列出用戶和管理員的功能性業(yè)務需求的基本用例及管理員對數(shù)控機床優(yōu)化設計知識管理的主要分類。由這些用例所顯示的從用戶使用的前臺和管理員使用的后臺來完成數(shù)控機床優(yōu)化設計知識庫管理平臺的正常運作。
功能性業(yè)務需求用例摘要描述如表1所示。
表1 功能性業(yè)務需求用例摘要描述
數(shù)控機床優(yōu)化設計知識庫管理平臺非功能性需求包括:
(1)安全性。用戶數(shù)據(jù)信息具有保密性,用戶數(shù)據(jù)信息只能由管理員控制更改使用;
(2)正確性。不允許出現(xiàn)業(yè)務錯誤;
(3)兼容性。可在各種支持HTML5的瀏覽器中使用;
(4)性能。平臺處理業(yè)務時頁面響應時間不能超過2 s;
(5)并發(fā)性。允許多個用戶登錄操作。
數(shù)控機床優(yōu)化設計知識庫管理平臺運行所需的軟件環(huán)境如下:
(1)操作平臺:應用服務器為Windows NT Server 2008以上版本;用戶用PC機為Windows XP和以上;
(2)數(shù)據(jù)庫管理平臺為MySQL 5.7;
(3)網頁瀏覽器為應用服務器為Google Chrome;用戶用PC機為Google Chrome或者Firefox;
(4)開發(fā)環(huán)境為IDE采用Eclipse Java EE IDE for Web Developers(4.5.2);
(5)數(shù)據(jù)庫工具為Navicat Premium 10.0.11。數(shù)控機床優(yōu)化設計知識庫管理平臺開發(fā)所需的技術如下:(1)JSP[4];(2)JavaScript[5-6];(3)JSTL[7];
(4)MySQL[8];(5)SSM框架技術:Spring[9]、SpringMVC[10]、MyBatis[11]。
由需求調研得出,數(shù)控機床優(yōu)化設計知識庫管理平臺主要包括的模塊如圖3所示,本文作者在設計該平臺的過程中選用Spring3.0進行架構。Spring能抽象地表達目前許多應用開發(fā)面臨的許多共性問題,在IOC容器和AOP中用于截斷面編程的核心模塊的支援下,使編程人員能夠將Java EE的開發(fā)過程升級[12]。為應用開發(fā)提供豐富的平臺模塊,并為此提供實現(xiàn)應用服務的驅動支援[13]。平臺架構如圖4所示。
數(shù)控機床優(yōu)化設計知識分類的基本原則是要能夠準確展現(xiàn)數(shù)控機床優(yōu)化所用設計方法,因此知識庫的數(shù)據(jù)表應該以此為標準設計。在這個概念的結構模式的框架下,平臺作為需求的線性矩陣,形成一個抽象化的知識庫[14]?;谄脚_的功能結構與單位之間的相關關系,平臺中所有單位的字段及特性存儲在知識庫中。通過分析數(shù)控機床優(yōu)化設計知識、用戶及兩者之間聯(lián)系,設計平臺的數(shù)據(jù)表,采用MySQL進行數(shù)據(jù)表管理。
(1)數(shù)控機床優(yōu)化設計知識庫數(shù)據(jù)表(t_knowledge)
數(shù)控機床優(yōu)化設計知識庫數(shù)據(jù)表主要用于保存數(shù)控機床優(yōu)化設計知識庫的基本數(shù)據(jù),主要字段包括:知識信息ID、名稱、來源、作者、類型、圖片等。表結構如表2所示。
表2 數(shù)控機床優(yōu)化設計知識庫數(shù)據(jù)表(t_knowledge)
(2)分類數(shù)據(jù)表(t_classify)
分類數(shù)據(jù)表主要字段包括:分類ID、分類名字、分類編碼。
(3)用戶數(shù)據(jù)表(t_user)
平臺用戶數(shù)據(jù)表主要用于保存平臺用戶的數(shù)據(jù)信息,主要字段包括:用戶ID、姓名、密碼、郵箱、手機號、身份證號、性別、圖片。
(4)瀏覽記錄數(shù)據(jù)信息表(t_record)
瀏覽記錄數(shù)據(jù)表主要用于保存查詢?yōu)g覽的數(shù)據(jù)信息,主要字段包括:記錄ID、用戶ID 、知識信息ID、開始時間、截止時間、知識信息名稱、來源、作者、知識信息類型。
數(shù)控機床優(yōu)化設計知識庫數(shù)據(jù)如圖5所示。
此平臺包含3個模塊:Controller模塊負責請求接入以及部分業(yè)務實體;Service模塊用來存放業(yè)務實體;Mapper模塊存放調用數(shù)據(jù)庫的請求方法[15]。各模塊間依賴關系如圖6所示。
(1)Controller包中類的描述
Controller包中類的描述如表3所示。
表3 Controller包中類的描述
(2)Service包中類的描述
Service包中類的描述如表4所示。
表4 Service包中類的描述
為更好地實現(xiàn)對數(shù)控機床優(yōu)化設計知識的分類展現(xiàn)與管理,對于界面中頁面的布局采用html+css技術,然后將較為生硬的界面修改至美觀。另外使用jquery[16]技術封裝JavaScript,使得操作DOM[17]的便捷性提升,其可操作性也比單純使用JavaScript的方式高。平臺采用新技術,主要采用spring+springmvc+mybatis框架[18]。
由于登錄時管理員和用戶使用共同的登錄頁面,需要在登錄頁面添加一個判斷,識別當前登錄賬號是用戶還是管理員,進而跳轉至不同的主頁。其控制層部分代碼如下所示:
Map
Map
為保證平臺的編碼合乎規(guī)范,專門制定其編碼規(guī)范。數(shù)控機床優(yōu)化設計知識庫管理平臺的編碼規(guī)范如表5所示。
表5 編碼規(guī)范
以實現(xiàn)數(shù)控機床不同方向的結構優(yōu)化為目標,對數(shù)控機床仿生設計優(yōu)化、拓撲優(yōu)化、形狀優(yōu)化、尺寸優(yōu)化這四類結構優(yōu)化方式進行知識查詢展示,如圖7所示。仿生設計優(yōu)化是通過相似的生物系統(tǒng)實現(xiàn)對數(shù)控機床的結構優(yōu)化;拓撲優(yōu)化是將材料實現(xiàn)最優(yōu)分布以達到所需優(yōu)化效果;形狀優(yōu)化是先設立形狀目標函數(shù),通過改變變量來優(yōu)化結構的邊界;尺寸優(yōu)化是首先設置其余定量,再優(yōu)化界面尺寸以實現(xiàn)結構優(yōu)化[19]。
進入平臺登錄頁,用戶首先判斷是否擁有賬號,若無則點擊注冊按鈕,填寫個人信息進行注冊,若有則在輸入用戶名密碼后,點擊登錄按鈕,觸發(fā)Controller,將login參數(shù)以及用戶名密碼傳向后臺,然后利用實體類在各個層中傳遞數(shù)據(jù)信息,最后將實體類的數(shù)據(jù)信息與數(shù)據(jù)庫表t_user中的信息做對比,最后返回參數(shù)確定登錄成功。登錄操作從Control到Service再到DAO逐層深入最后再返回前臺,界面如圖8所示。
用戶在登錄平臺之后,第一種方法是點擊數(shù)控機床優(yōu)化設計知識庫模塊,此時平臺前端位于mainpage.jsp,調用getAllknowledges()跳轉到知識信息列表頁面,通過瀏覽分類標簽分別選擇屬于仿生設計、拓撲優(yōu)化、形狀優(yōu)化、尺寸優(yōu)化類的知識信息;第二種方法是直接在登錄頁面的搜索欄分別輸入仿生設計、拓撲優(yōu)化、形狀優(yōu)化、尺寸優(yōu)化進行模糊搜索,經過調用returnknowledge()顯示結果,此時平臺前端位于knowledgeLocation.jsp,然后瀏覽并選擇平臺所篩選出的知識信息。進行選擇后點擊詳情瀏覽知識信息。觸發(fā)標簽的href的請求鏈接,對應的url里面的Controller將前端界面獲取到的參數(shù)以及用戶名ID傳向后臺,然后利用實體類在各個層中傳遞信息,最后將實體類的數(shù)據(jù)信息更新到數(shù)據(jù)庫表t_record中。兩種方法都是從knowledgeControl到knowledgeService再到knowledgeDao逐層深入最后再返回至mainpage.jsp,并且都能快速并精確地選擇所需要的知識信息。通過實現(xiàn)對不同優(yōu)化設計方法的查詢?yōu)g覽,展現(xiàn)了該平臺對知識信息良好的檢索能力,能有效地幫助用戶進行數(shù)控機床優(yōu)化設計。四類結構優(yōu)化方式查詢部分結果如表6所示;在此過程中,用戶查詢數(shù)控機床結構設計知識代碼如圖9—圖10所示。
表6 結構優(yōu)化方法部分查詢結果
以《高速數(shù)控轉臺優(yōu)化設計方法研究現(xiàn)狀與展望》[20]這一文獻為對象,展現(xiàn)管理員對該文獻分別進行冗余性圖一致性、完備性的檢驗[21],如圖11所示。冗余性是檢查診斷知識庫中是否存在完全相同或非常相似的記錄;一致性是檢查知識的其余信息是否與名稱對應;完備性是檢查知識內容是否屬于完整狀態(tài)。
管理員輸入賬號密碼后,通過平臺后臺增加的判斷識別數(shù)據(jù),然后由前端login.jsp界面登錄平臺,在搜索欄輸入高速數(shù)控轉臺優(yōu)化設計方法研究現(xiàn)狀與展望進行精確查詢,界面跳轉至檢索結果界面檢驗冗余性,查詢結果無相同記錄,無冗余。點擊詳情按鈕查看《高速數(shù)控轉臺優(yōu)化設計方法研究現(xiàn)狀與展望》基本信息與內容,檢驗信息一致性與完備性,并判斷是否需要進行修改更新,如需要修改則先返回至mainpage.jsp,再點擊修改按鈕調用editknowledge()類對該文獻基本信息進行修改更新。修改完成點擊確定觸發(fā)表單的form里的Controller將前端界面獲取到的參數(shù)state以及用戶名ID活動的ID傳向后臺,然后利用實體類在各個層中傳遞數(shù)據(jù)信息,最后將實體類的數(shù)據(jù)信息更新到數(shù)據(jù)庫表t_knowledge中,實現(xiàn)對知識信息的修改。其中,管理員管理數(shù)控機床優(yōu)化設計知識庫關鍵代碼如圖12所示。最終檢查結果顯示:該文獻其余信息與名稱對應,內容無缺失,保持了一致性與完備性。通過對文獻進行有效的管理,保證了知識信息的準確,體現(xiàn)了開發(fā)數(shù)控機床優(yōu)化設計知識庫管理平臺的必要性。
本文作者通過建立數(shù)控機床優(yōu)化設計知識庫管理平臺,實現(xiàn)了對數(shù)控機床優(yōu)化設計知識庫更好的維護與管理,并且大大提升了用戶精確查詢數(shù)控機床優(yōu)化設計知識的便利性。所設計的平臺使用了SmartAdmin等新技術,使平臺的易用性大大提高,完備的UI庫也提升了界面的美觀性。利用Ajax技術進行網頁加載,使頁面可以對信息進行動態(tài)的顯示,使之能夠更清晰明了地展現(xiàn)數(shù)控機床優(yōu)化設計知識信息。通過數(shù)控機床結構優(yōu)化設計知識查詢和管理《高速數(shù)控轉臺優(yōu)化設計方法研究現(xiàn)狀與展望》這兩個案例的具體實現(xiàn)及分析,證明了所設計的平臺的可行性和實用價值。