王菲,劉世豪
(海南大學機電工程學院,海南海口 570228)
現代計算機網絡技術在不斷地進步發展,帶動著數據管理模式在不斷地進化,并且計算機技術也逐漸滲透進機械優化設計領域,如文獻[1]利用關系數據庫,研制了機械零件智能設計平臺;文獻[2]設計了包裝機械設計工程數據庫,使機械設計工作中數據信息處理更簡潔。現在的數控機床優化設計知識較為繁雜,從中精確尋找所需要的知識數據信息較為困難,且管理員獲取、整理知識數據的過程仍然過于繁瑣。然而,當前大部分的數據庫管理平臺并沒有針對數控機床優化設計知識進行平臺的管理與分類,且界面不夠簡單明了,對專門從事數控機床研究的科研人員或研究生造成諸多不便;與現今高速發展的網絡平臺技術相比,其技術先進性較差并且安全性并不能得到很好的保障。
針對以上問題,結合以往數據庫管理平臺中長期存在的問題,對問題進行系統分析,以對所要實現的功能進行改善,讓它擁有更加友好的界面;采取相對具有技術可行性的方案,完成一個易于操作及查找、數據處理迅捷的數控機床優化設計知識庫管理平臺。該平臺的后臺開發以信息管理平臺的管理和開發方法為基礎[3],利用最新的網絡技術開發出新的管理平臺,使管理員的知識數據管理能夠實現高水平的交互和迅速的數據處理;同時保障了平臺的易操性并保留了更加精細的功能,使得前端的開發受到用戶查詢要求的支配。
在對數控機床進行優化設計的過程中,需要學習和查閱大量的數控機床與優化設計相關的圖書知識信息、期刊文獻以及學位論文;而相關的知識數據資料種類繁多且數量龐大,從中精確尋找所需要的知識信息較為困難。因而,在數控機床的優化設計過程中需要一個便于分類查找且易于管理的數控機床優化設計知識庫管理平臺。
數控機床優化設計知識主要包含3種來源:知識信息、期刊文獻、學位論文。數控機床優化設計知識大致分為機械結構優化設計、控制系統優化設計、機電耦合優化設計、機床計算機輔助設計這四大類,其中機械結構優化設計還可分為形狀優化設計、尺寸優化設計、拓撲優化設計、仿生優化設計這四類。數控機床優化設計知識庫管理平臺的使用者分為兩類:用戶與管理員。用戶基本需求主要包含注冊登錄、查詢瀏覽。管理員基本需求主要包括管理用戶信息、管理數控機床優化設計知識信息。由業務需求可列出以下對象實體:用戶、管理員、數控機床優化設計知識瀏覽記錄、數控機床優化設計知識信息、數控機床優化設計知識類別。注冊流程、業務流程分別如圖1、圖2所示。
基于平臺的需求分析,可列出用戶和管理員的功能性業務需求的基本用例及管理員對數控機床優化設計知識管理的主要分類。由這些用例所顯示的從用戶使用的前臺和管理員使用的后臺來完成數控機床優化設計知識庫管理平臺的正常運作。
功能性業務需求用例摘要描述如表1所示。

表1 功能性業務需求用例摘要描述
數控機床優化設計知識庫管理平臺非功能性需求包括:
(1)安全性。用戶數據信息具有保密性,用戶數據信息只能由管理員控制更改使用;
(2)正確性。不允許出現業務錯誤;
(3)兼容性。可在各種支持HTML5的瀏覽器中使用;
(4)性能。平臺處理業務時頁面響應時間不能超過2 s;
(5)并發性。允許多個用戶登錄操作。
數控機床優化設計知識庫管理平臺運行所需的軟件環境如下:
(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]。
由需求調研得出,數控機床優化設計知識庫管理平臺主要包括的模塊如圖3所示,本文作者在設計該平臺的過程中選用Spring3.0進行架構。Spring能抽象地表達目前許多應用開發面臨的許多共性問題,在IOC容器和AOP中用于截斷面編程的核心模塊的支援下,使編程人員能夠將Java EE的開發過程升級[12]。為應用開發提供豐富的平臺模塊,并為此提供實現應用服務的驅動支援[13]。平臺架構如圖4所示。
數控機床優化設計知識分類的基本原則是要能夠準確展現數控機床優化所用設計方法,因此知識庫的數據表應該以此為標準設計。在這個概念的結構模式的框架下,平臺作為需求的線性矩陣,形成一個抽象化的知識庫[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所示。
此平臺包含3個模塊:Controller模塊負責請求接入以及部分業務實體;Service模塊用來存放業務實體;Mapper模塊存放調用數據庫的請求方法[15]。各模塊間依賴關系如圖6所示。
(1)Controller包中類的描述
Controller包中類的描述如表3所示。

表3 Controller包中類的描述
(2)Service包中類的描述
Service包中類的描述如表4所示。

表4 Service包中類的描述
為更好地實現對數控機床優化設計知識的分類展現與管理,對于界面中頁面的布局采用html+css技術,然后將較為生硬的界面修改至美觀。另外使用jquery[16]技術封裝JavaScript,使得操作DOM[17]的便捷性提升,其可操作性也比單純使用JavaScript的方式高。平臺采用新技術,主要采用spring+springmvc+mybatis框架[18]。
由于登錄時管理員和用戶使用共同的登錄頁面,需要在登錄頁面添加一個判斷,識別當前登錄賬號是用戶還是管理員,進而跳轉至不同的主頁。其控制層部分代碼如下所示:
Map
Map
為保證平臺的編碼合乎規范,專門制定其編碼規范。數控機床優化設計知識庫管理平臺的編碼規范如表5所示。

表5 編碼規范
以實現數控機床不同方向的結構優化為目標,對數控機床仿生設計優化、拓撲優化、形狀優化、尺寸優化這四類結構優化方式進行知識查詢展示,如圖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 結構優化方法部分查詢結果
以《高速數控轉臺優化設計方法研究現狀與展望》[20]這一文獻為對象,展現管理員對該文獻分別進行冗余性圖一致性、完備性的檢驗[21],如圖11所示。冗余性是檢查診斷知識庫中是否存在完全相同或非常相似的記錄;一致性是檢查知識的其余信息是否與名稱對應;完備性是檢查知識內容是否屬于完整狀態。
管理員輸入賬號密碼后,通過平臺后臺增加的判斷識別數據,然后由前端login.jsp界面登錄平臺,在搜索欄輸入高速數控轉臺優化設計方法研究現狀與展望進行精確查詢,界面跳轉至檢索結果界面檢驗冗余性,查詢結果無相同記錄,無冗余。點擊詳情按鈕查看《高速數控轉臺優化設計方法研究現狀與展望》基本信息與內容,檢驗信息一致性與完備性,并判斷是否需要進行修改更新,如需要修改則先返回至mainpage.jsp,再點擊修改按鈕調用editknowledge()類對該文獻基本信息進行修改更新。修改完成點擊確定觸發表單的form里的Controller將前端界面獲取到的參數state以及用戶名ID活動的ID傳向后臺,然后利用實體類在各個層中傳遞數據信息,最后將實體類的數據信息更新到數據庫表t_knowledge中,實現對知識信息的修改。其中,管理員管理數控機床優化設計知識庫關鍵代碼如圖12所示。最終檢查結果顯示:該文獻其余信息與名稱對應,內容無缺失,保持了一致性與完備性。通過對文獻進行有效的管理,保證了知識信息的準確,體現了開發數控機床優化設計知識庫管理平臺的必要性。
本文作者通過建立數控機床優化設計知識庫管理平臺,實現了對數控機床優化設計知識庫更好的維護與管理,并且大大提升了用戶精確查詢數控機床優化設計知識的便利性。所設計的平臺使用了SmartAdmin等新技術,使平臺的易用性大大提高,完備的UI庫也提升了界面的美觀性。利用Ajax技術進行網頁加載,使頁面可以對信息進行動態的顯示,使之能夠更清晰明了地展現數控機床優化設計知識信息。通過數控機床結構優化設計知識查詢和管理《高速數控轉臺優化設計方法研究現狀與展望》這兩個案例的具體實現及分析,證明了所設計的平臺的可行性和實用價值。