《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于高維數(shù)據(jù)聚類的制造過(guò)程數(shù)據(jù)分析平臺(tái)
基于高維數(shù)據(jù)聚類的制造過(guò)程數(shù)據(jù)分析平臺(tái)
2017年微型機(jī)與應(yīng)用第1期
吳紹華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等成熟的敏捷開(kāi)發(fā)框架,開(kāi)發(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ù)分析和決策效率。
Abstract:
Key words :

  吳紹華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等成熟的敏捷開(kāi)發(fā)框架,開(kāi)發(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ù)分析和決策效率。

  關(guān)鍵詞:高維數(shù)據(jù);聚類;Bootstrap;Spring;Mybatis

  中圖分類號(hào):TP311.13文獻(xiàn)標(biāo)識(shí)碼:ADOI: 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

  0引言

  隨著制造過(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í)際需求,開(kāi)發(fā)了該平臺(tái),實(shí)現(xiàn)制造過(guò)程信息化和規(guī)范化。平臺(tái)服務(wù)端采用Spring、Mybatis框架,方便代碼的開(kāi)發(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主要相關(guān)技術(shù)簡(jiǎn)介

  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)的前端組件和插件,大大提升了開(kāi)發(fā)效率,豐富了平臺(tái)UI。在服務(wù)器端,采用Spring框架,使用Spring的IOC容器[7],對(duì)象的管理完全交給Spring,減少了組件之間的關(guān)聯(lián)性和耦合度,使開(kāi)發(fā)人員更專注于主要的業(yè)務(wù)邏輯;Spring的AOP功能可以實(shí)現(xiàn)面向切面編程,在本平臺(tái)中,其主要用于登錄日志和異常日志的記錄和管理,增加了程序健壯性;Spring屬于輕量級(jí)服務(wù)器框架,對(duì)代碼的污染度和侵入性都很低,這種高度的代碼開(kāi)放性,并不強(qiáng)制依賴于Spring,可以根據(jù)平臺(tái)需求,自由選擇需要的功能[8]。在數(shù)據(jù)持久層開(kāi)發(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)用,使持久層代碼的開(kāi)發(fā)也更加面向?qū)ο?,大大地方便了程序的開(kāi)發(fā)和整個(gè)軟件開(kāi)發(fā)周期內(nèi)的代碼維護(hù)。在數(shù)據(jù)庫(kù)選擇上,采用MySQL數(shù)據(jù)庫(kù),它是支持多平臺(tái)、免費(fèi)開(kāi)源的數(shù)據(jù)庫(kù),具有很好的安全性和并發(fā)性,十分適用于平臺(tái)開(kāi)發(fā)。

2高維數(shù)據(jù)聚類模塊與Spring、Mybatis框架整合的平臺(tái)結(jié)構(gòu)

  2.1平臺(tái)整體架構(gòu)

  該平臺(tái)選擇Eclipse作為開(kāi)發(fā)IDE,選擇Bootstrap作為前端開(kāi)發(fā)框架,結(jié)合jQuery等開(kāi)發(fā)技術(shù),采用Spring和Mybatis作為服務(wù)端開(kāi)發(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所示。

  

001.jpg

  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數(shù)據(jù)分析平臺(tái)的實(shí)現(xiàn)

  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]。具體流程圖見(jiàn)圖2。

 

002.jpg

  3.2平臺(tái)所采用的聚類算法

  在高維數(shù)據(jù)聚類模塊中,生成基聚類的算法主要是經(jīng)典的kmeans聚類算法。另一個(gè)主要的算法是計(jì)算加權(quán)中心。其中X={x1,x2,...,xn},X={xT1,xT2,...,xTn}∈Rn×d為其矩陣表示形式, d是每一個(gè)數(shù)據(jù)樣本維度,n為數(shù)據(jù)樣本的個(gè)數(shù)。C={Cr1,Cr2,...,Crk}是具有R個(gè)聚類解的集合,Cr={Cr1,Cr2,...,Crk}為每一個(gè)聚類,r=1,2,…R,即算法將數(shù)據(jù)集合X劃分為k個(gè)不相交的簇,每一次迭代中分配樣本至離樣本最近的簇,然后計(jì)算加權(quán)之后的聚類中心,計(jì)算加權(quán)中心公式如下:

  MBF%I`P(4%AM5L{0VY}4LU5.png其中wi為權(quán)重,xi為第i個(gè)樣本[9]。

4結(jié)論

  本設(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)的耦合度,便于開(kāi)發(fā)人員并行開(kāi)發(fā),提升了開(kāi)發(fā)效率,提高了平臺(tái)可擴(kuò)展性和可維護(hù)性。

參考文獻(xiàn)

  [1] 包洋. 面向制造業(yè)的數(shù)據(jù)挖掘技術(shù)研究與應(yīng)用[D].上海:東華大學(xué),2006.

 ?。?] 李剛.輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)[M].北京: 電子工業(yè)出版社,2011.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。