吳紹華,李少波,侯稀垟,陳金坤
(1. 貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽(yáng) 550025;2. 貴州大學(xué) 機(jī)械工程學(xué)院,貴州 貴陽(yáng) 550025)
基于高維數(shù)據(jù)聚類的制造過(guò)程數(shù)據(jù)分析平臺(tái)
吳紹華1,李少波2,侯稀垟1,陳金坤1
(1. 貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽(yáng) 550025;2. 貴州大學(xué) 機(jī)械工程學(xué)院,貴州 貴陽(yáng) 550025)
隨著制造業(yè)領(lǐng)域工藝技術(shù)的不斷進(jìn)步,大量感知設(shè)備如同人體器官一樣,被部署到制造過(guò)程中的各個(gè)重要節(jié)點(diǎn),產(chǎn)生著海量制造過(guò)程數(shù)據(jù)。針對(duì)這些海量制造過(guò)程數(shù)據(jù),制造業(yè)領(lǐng)域越來(lái)越需要科學(xué)、敏捷、高效的數(shù)據(jù)分析平臺(tái),為制造過(guò)程數(shù)據(jù)的分析提供智力支持和決策支持。針對(duì)這種需求,文章采用高維數(shù)據(jù)聚類技術(shù)結(jié)合Spring、Mybatis等成熟的敏捷開發(fā)框架,開發(fā)了制造過(guò)程數(shù)據(jù)分析平臺(tái)。該設(shè)計(jì)不僅可以針對(duì)歷史數(shù)據(jù)進(jìn)行分析,還可以實(shí)時(shí)監(jiān)控生產(chǎn)線上的動(dòng)態(tài)流程數(shù)據(jù),提高數(shù)據(jù)分析和決策效率。
高維數(shù)據(jù);聚類;Bootstrap;Spring;Mybatis
隨著制造過(guò)程的不斷復(fù)雜化、精確化,制造過(guò)程中生產(chǎn)的線管理和監(jiān)控消耗了大量的人力和財(cái)力;而且對(duì)于生產(chǎn)線產(chǎn)生的海量實(shí)時(shí)高維數(shù)據(jù)只是進(jìn)行了簡(jiǎn)單的預(yù)處理和存儲(chǔ),沒(méi)有進(jìn)行有效的數(shù)據(jù)分析,并將分析結(jié)論應(yīng)用于制造過(guò)程的決策,造成了數(shù)據(jù)浪費(fèi)[1]。為提高和完善制造過(guò)程中的工藝流程、生產(chǎn)參數(shù),以及對(duì)制造過(guò)程異常進(jìn)行輔助決策,進(jìn)一步提升產(chǎn)品質(zhì)量,以滿足實(shí)際需求,開發(fā)了該平臺(tái),實(shí)現(xiàn)制造過(guò)程信息化和規(guī)范化。平臺(tái)服務(wù)端采用Spring、Mybatis框架,方便代碼的開發(fā)、復(fù)用、移植、擴(kuò)展和維護(hù);平臺(tái)整體采用MVC設(shè)計(jì)思想[2],通過(guò)依賴注入降低Model、View和Controler之間的耦合度,使代碼高內(nèi)聚低耦合,彼此保持相對(duì)獨(dú)立,減少模塊間依賴程度。在平臺(tái)安全性上,采用了攔截器技術(shù),以此來(lái)保證平臺(tái)安全,其次采取了平臺(tái)權(quán)限策略,對(duì)于不同的用戶身份,給予不同的訪問(wèn)權(quán)限,對(duì)制造過(guò)程涉密數(shù)據(jù)進(jìn)行保護(hù)。
1.1 高維數(shù)據(jù)聚類
隨著制造業(yè)及相關(guān)學(xué)科的飛速發(fā)展,對(duì)于制造過(guò)程中產(chǎn)生的海量數(shù)據(jù)的觀察角度和分析深度亦在逐步擴(kuò)大和加深。于是,針對(duì)生產(chǎn)過(guò)程這一對(duì)象,將生產(chǎn)過(guò)程中的各個(gè)要素?cái)?shù)據(jù)抽象成高維數(shù)據(jù)。在有效存儲(chǔ)這些海量高維數(shù)據(jù)的同時(shí),需要對(duì)這些數(shù)據(jù)進(jìn)行有效的分析,然后利用分析結(jié)論來(lái)輔助決策和指導(dǎo)生產(chǎn)[3]。
在高維數(shù)據(jù)分析領(lǐng)域,一個(gè)很重要的分析手段就是高維數(shù)據(jù)聚類。高維數(shù)據(jù)聚類方法又大致可以分為基于降維的聚類、基于超圖的聚類、子空間聚類、聯(lián)合聚類[4]和基于樣本加權(quán)的集成聚類算法。因?yàn)樵谥圃鞓I(yè)生產(chǎn)過(guò)程中每類數(shù)據(jù)對(duì)制造過(guò)程影響的程度是不同的,而且存在噪聲點(diǎn),所以本文采用的是基于樣本加權(quán)的集成聚類算法[5-6]。
對(duì)于海量高維數(shù)據(jù)聚類,數(shù)據(jù)往往包含相異度較高的屬性,直接使用歐式距離這一相似度量屬性不再具有很高的可行性,基于經(jīng)典k-means算法不再能產(chǎn)生高質(zhì)量的聚類結(jié)果。而加權(quán)的k-means聚類方法解決了傳統(tǒng)聚類樣本對(duì)聚類中心影響都是等價(jià)的這一缺點(diǎn),充分考慮到用戶對(duì)每個(gè)對(duì)象或?qū)傩钥粗爻潭炔煌?,通過(guò)權(quán)重分配,對(duì)樣本一次性賦權(quán)值,在聚類算法計(jì)算過(guò)程中,將樣本分配到最合適的簇中,進(jìn)而提高聚類結(jié)果的質(zhì)量。
1.2 平臺(tái)框架
平臺(tái)采用B/S架構(gòu)。在前端使用技術(shù)比較成熟的Bootstrap前端框架。首先,Bootstrap有非常完備的代碼規(guī)范,在其基礎(chǔ)之上創(chuàng)建項(xiàng)目,后期的代碼維護(hù)會(huì)十分簡(jiǎn)單清晰;第二,基于Less、Mixin輔助完成簡(jiǎn)單語(yǔ)義化的布局,這樣的CSS預(yù)處理技術(shù)大大增加了代碼可讀性;第三,Bootstrap提供了大量的、復(fù)用性強(qiáng)的前端組件和插件,大大提升了開發(fā)效率,豐富了平臺(tái)UI。在服務(wù)器端,采用Spring框架,使用Spring的IOC容器[7],對(duì)象的管理完全交給Spring,減少了組件之間的關(guān)聯(lián)性和耦合度,使開發(fā)人員更專注于主要的業(yè)務(wù)邏輯;Spring的AOP功能可以實(shí)現(xiàn)面向切面編程,在本平臺(tái)中,其主要用于登錄日志和異常日志的記錄和管理,增加了程序健壯性;Spring屬于輕量級(jí)服務(wù)器框架,對(duì)代碼的污染度和侵入性都很低,這種高度的代碼開放性,并不強(qiáng)制依賴于Spring,可以根據(jù)平臺(tái)需求,自由選擇需要的功能[8]。在數(shù)據(jù)持久層開發(fā)上,選擇了輕量級(jí)、穩(wěn)定性高的Mybatis。Mybatis將SQL語(yǔ)句放在XML文件中,方便了SQL語(yǔ)句的管理,減少了SQL語(yǔ)句和程序代碼的耦合度[7];Mybatis支持動(dòng)態(tài)SQL,大大簡(jiǎn)化了動(dòng)態(tài)查詢過(guò)程,降低了查詢代碼量;Mybatis提供標(biāo)簽映射,支持對(duì)象與數(shù)據(jù)庫(kù)的ORM字段關(guān)系映射;Mybatis以接口方式被服務(wù)層代碼調(diào)用,使持久層代碼的開發(fā)也更加面向?qū)ο?,大大地方便了程序的開發(fā)和整個(gè)軟件開發(fā)周期內(nèi)的代碼維護(hù)。在數(shù)據(jù)庫(kù)選擇上,采用MySQL數(shù)據(jù)庫(kù),它是支持多平臺(tái)、免費(fèi)開源的數(shù)據(jù)庫(kù),具有很好的安全性和并發(fā)性,十分適用于平臺(tái)開發(fā)。
2.1 平臺(tái)整體架構(gòu)
該平臺(tái)選擇Eclipse作為開發(fā)IDE,選擇Bootstrap作為前端開發(fā)框架,結(jié)合jQuery等開發(fā)技術(shù),采用Spring和Mybatis作為服務(wù)端開發(fā)框架,數(shù)據(jù)庫(kù)采用MySQL。在業(yè)務(wù)邏輯上分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久化層。在業(yè)務(wù)邏輯層中采用加權(quán)的高維數(shù)據(jù)聚類技術(shù)[9],對(duì)制造過(guò)程高維數(shù)據(jù)進(jìn)行分析,在表現(xiàn)層對(duì)數(shù)據(jù)進(jìn)行可視化,展現(xiàn)給用戶。平臺(tái)的總體結(jié)構(gòu)如圖1所示。
圖1 平臺(tái)總體結(jié)構(gòu)圖
2.2 平臺(tái)設(shè)計(jì)原理
該平臺(tái)采用三層架構(gòu),自上而下分別是可視化表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久化層??梢暬憩F(xiàn)層主要應(yīng)用了Bootstrap、jQuery和Cascading Style Sheets,當(dāng)瀏覽器向服務(wù)端發(fā)出請(qǐng)求,請(qǐng)求會(huì)交給前端控制器DispacherServlet處理,DispacherServlet控制器通過(guò)HandlerMapping找到相應(yīng)的Controller組件處理請(qǐng)求,執(zhí)行Controller組件相應(yīng)的模塊,其中最主要的模塊之一就是高維數(shù)據(jù)聚類模塊,在此部分完成對(duì)制造過(guò)程高維數(shù)據(jù)的聚類操作,在執(zhí)行完相應(yīng)模塊的業(yè)務(wù)之后,模塊可以返回一個(gè)ModelAndView對(duì)象,該對(duì)象封裝了視圖名稱信息和處理結(jié)果數(shù)據(jù)集,控制器接收到ModelAndView以后,調(diào)用ViewResolver組件定位View并傳遞信息,生成需要返回的響應(yīng)界面。
3.1 平臺(tái)核心工作流程設(shè)計(jì)
本節(jié)主要介紹平臺(tái)的核心模塊——制造過(guò)程數(shù)據(jù)聚類模塊的工作流程。首先啟動(dòng)平臺(tái),該模塊讀取數(shù)據(jù)庫(kù)已經(jīng)存儲(chǔ)的高維數(shù)據(jù)和生產(chǎn)線產(chǎn)生的實(shí)時(shí)制造過(guò)程高維數(shù)據(jù);對(duì)于這些數(shù)據(jù),進(jìn)行一次性分配權(quán)重,隨機(jī)生成k個(gè)類中心,每個(gè)類中心對(duì)應(yīng)一個(gè)簇;分配每條數(shù)據(jù)樣本到其最近的加權(quán)類中心,生成新的加權(quán)類中心,然后不斷迭代這個(gè)過(guò)程,直到所有類中心穩(wěn)定,或者達(dá)到平臺(tái)規(guī)定的迭代次數(shù)(避免陷入死循環(huán)),一次聚類過(guò)程到此完成[5]。具體流程圖見圖2。
圖2 制造過(guò)程數(shù)據(jù)聚類模塊流程圖
3.2 平臺(tái)所采用的聚類算法
其中wi為權(quán)重,xi為第i個(gè)樣本[9]。
本設(shè)計(jì)主要以高維數(shù)據(jù)聚類算法為核心,針對(duì)制造過(guò)程數(shù)據(jù)的高維稀疏性和不適定性[10],對(duì)高維數(shù)據(jù)采用了加權(quán)聚類的方式,彌補(bǔ)了傳統(tǒng)制造過(guò)程聚類方法聚類效果缺乏魯棒性和聚類效果不理想的缺點(diǎn),一定程度上改善了聚類效果;該平臺(tái)集成了Bootstrap、Spring、Mybatis這幾種輕量級(jí)框架,采用了經(jīng)典的MVC服務(wù)器設(shè)計(jì)思想,在平臺(tái)架構(gòu)上,使模型層、視圖層、控制層這三者相對(duì)獨(dú)立[11],提高了平臺(tái)的內(nèi)聚性,降低了平臺(tái)的耦合度,便于開發(fā)人員并行開發(fā),提升了開發(fā)效率,提高了平臺(tái)可擴(kuò)展性和可維護(hù)性。
[1] 包洋. 面向制造業(yè)的數(shù)據(jù)挖掘技術(shù)研究與應(yīng)用[D].上海:東華大學(xué),2006.
[2] 李剛.輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)[M].北京: 電子工業(yè)出版社,2011.
[3] 趙會(huì)珍. 面向制造過(guò)程的質(zhì)量控制系統(tǒng)研究與應(yīng)用[D].武漢:武漢理工大學(xué),2009.
[4] 賀玲,蔡益朝,楊征.高維數(shù)據(jù)聚類方法綜述[J].計(jì)算機(jī)應(yīng)用研究,2010,27(1):23-26.
[5] 任亞洲.高維數(shù)據(jù)上的聚類方法研究[D].廣州:華南理工大學(xué),2013.
[6] 康永為.大數(shù)據(jù)環(huán)境下高維數(shù)據(jù)處理若干問(wèn)題[D].桂林:廣西師范大學(xué),2010.
[7] 張耀民.SSH框架在Web項(xiàng)目開發(fā)中的構(gòu)建和應(yīng)用實(shí)踐[J].微型機(jī)與應(yīng)用,2013,32(15):18-21.
[8] 葛揚(yáng)瑛. 基于JavaEE和工作流的項(xiàng)目申報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.
[9] 劉建偉.基于高維數(shù)據(jù)上集成聚類的個(gè)性化推薦算法研究[D].廣州:華南理工大學(xué),2014.
[10] 呂輝.基于大數(shù)據(jù)和高維數(shù)據(jù)的聚類方法的研究與實(shí)現(xiàn)[D].昆明:云南大學(xué),2015.
[11] 唐永瑞,張達(dá)敏.基于Ajax與MVC模式的信息系統(tǒng)的研究與設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(2):128-131.
Manufacturing process data analysis platform based on high dimensional data clustering
Wu Shaohua1,Li Shaobo2,Hou Xiyang1,Chen Jinkun1
(1. School of Computer Science and Technology, Guizhou University, Guiyang 550025, China;2. School of Mechanical Engineering, Guizhou University, Guiyang 550025, China)
With the continuous progress of manufacturing and industry technology, a large amount of sensing equipments like the human organs, are deployed to all nodes in the process of manufacturing, resulting in a huge manufacturing process data. Manufacturing industry needs more and more scientific, agile and efficient data analysis system, which provides intellectual support and decision support for the manufacturing process data analysis. According to the demand, the design uses high dimensional data clustering technique combined with the Spring, Mybatis and other mature framework for agile development, to develop manufacturing process data analysis platform. The design can not only analyze the historical data, but also can real-time monitor the dynamic process data of the production line, and improve the efficiency of data analysis and decision making.
high dimensional data; clustering; Bootstrap; Spring; Mybatis
TP311.13
A
10.19358/j.issn.1674- 7720.2017.01.026
吳紹華,李少波,侯稀垟,等. 基于高維數(shù)據(jù)聚類的制造過(guò)程數(shù)據(jù)分析平臺(tái)[J].微型機(jī)與應(yīng)用,2017,36(1):86-88,92.
2016-09-12)
吳紹華(1989-),男,碩士,主要研究方向:數(shù)據(jù)挖掘、高維數(shù)據(jù)聚類。
李少波(1973-),男,博士,教授,主要研究方向:制造物聯(lián)和制造大數(shù)據(jù)、制造信息系統(tǒng)、計(jì)算智能。
侯稀垟(1991-),男,碩士,主要研究方向:數(shù)據(jù)挖掘。