(中國計(jì)量大學(xué) 質(zhì)量與安全工程學(xué)院,杭州 310018)
PDM系統(tǒng)能夠快捷、高效、方便地管理與產(chǎn)品相關(guān)的信息和所有與產(chǎn)品相關(guān)的流程管理[1]。智能手持設(shè)備端的PDM系統(tǒng)更是拓展了企業(yè)的移動信息化,為企業(yè)的移動辦公提供了可能。然而移動終端的PDM系統(tǒng)(客戶端)在與企業(yè)的PDM系統(tǒng)(服務(wù)器端)進(jìn)行數(shù)據(jù)交互過程中,尚存在多種問題。移動網(wǎng)絡(luò)的穩(wěn)定性和數(shù)據(jù)傳輸速率問題首當(dāng)其沖,主要是因?yàn)橐苿泳W(wǎng)絡(luò)條件下的通信狀況沒有KT客戶端的通信狀況穩(wěn)定,速率無法保證。如果傳輸大量數(shù)據(jù),則客戶端流量耗費(fèi)較大,制約了普通用戶使用系統(tǒng)的意愿[2]。為了解決此類問題,比較直接有效的方法是通過壓縮算法對數(shù)據(jù)進(jìn)行壓縮從而降低數(shù)據(jù)傳輸量。
在此,針對移動PDM系統(tǒng)的應(yīng)用提出一套數(shù)據(jù)壓縮算法的評價(jià)體系,通過建立一種自動化程度較高的客觀評價(jià)方法,以便對壓縮算法的算法優(yōu)化及應(yīng)用選擇提供參考[3],并且基于此評價(jià)體系,對目前比較常用的幾種壓縮算法進(jìn)行性能評價(jià),從中選擇一種更加適合移動PDM系統(tǒng)的壓縮算法。
移動PDM系統(tǒng)在繼承了傳統(tǒng)PDM系統(tǒng)大部分優(yōu)點(diǎn)的同時(shí),又存在稍許不同。表1為移動PDM系統(tǒng)與傳統(tǒng)PDM系統(tǒng)的比較分析。
表1 移動PDM系統(tǒng)和傳統(tǒng)PDM系統(tǒng)的比較Tab.1 Comparison of mobile PDM system and traditional PDM system
由表1可知,移動PDM系統(tǒng)的數(shù)據(jù)類型多樣性不如傳統(tǒng)PDM系統(tǒng)豐富,仍以文本、圖片、音視頻數(shù)據(jù)為主。由于在應(yīng)用環(huán)境上移動PDM更加廣泛,更加隨時(shí)隨地,使得它對安全性的要求也更高。
通過傳統(tǒng)PDM系統(tǒng)與移動PDM系統(tǒng)的對比,后者具有以下典型特點(diǎn):
(1)移動PDM系統(tǒng)的數(shù)據(jù)量大,占用空間多。由此表明移動PDM系統(tǒng)數(shù)據(jù)壓縮的必要性。
(2)移動PDM系統(tǒng)的相對封閉性。說明移動PDM系統(tǒng)需要外部系統(tǒng)提供的兼容性支撐。
(3)移動PDM系統(tǒng)的安全性要求高。表明系統(tǒng)對安全性的高要求。
按照壓縮前后信息熵值是否減少,可將PDM系統(tǒng)數(shù)據(jù)的壓縮方法分為有損壓縮和無損壓縮兩類[4]??紤]到移動PDM系統(tǒng)的數(shù)據(jù)特點(diǎn)的真實(shí)性,在此采用無損壓縮算法進(jìn)行測試并從中選擇。
通過對移動PDM系統(tǒng)的特點(diǎn)研究,采用了以下評價(jià)指標(biāo)。
壓縮比是指數(shù)據(jù)壓縮過程中輸入數(shù)據(jù)量和輸出數(shù)據(jù)量之間的比值。本文的數(shù)據(jù)壓縮實(shí)驗(yàn)分別在多種數(shù)據(jù)類型下進(jìn)行,反映了在異構(gòu)數(shù)據(jù)條件下壓縮算法的壓縮性能[5]。壓縮比的計(jì)算式為
式中:S為壓縮比;S1為輸入文件的大小,即原始文件大??;S2為輸出文件即壓縮后文件的大小。值得注意的是,這種度量方法必須指明輸入輸出的顯示形式,否則將是不可靠的[5]。
時(shí)間復(fù)雜度定量地描述了算法實(shí)現(xiàn)所需的計(jì)算工作量而運(yùn)行的時(shí)間。在許多應(yīng)用中,編解碼將在不同的時(shí)間、不同的地點(diǎn)和不同的系統(tǒng)中運(yùn)行[10],因此編解碼時(shí)間對評價(jià)在異構(gòu)數(shù)據(jù)條件下壓縮算法的效率和通用性具有重要的意義[5]。移動PDM系統(tǒng)中采用讀取計(jì)算機(jī)和移動設(shè)備中的存儲器值的方法來計(jì)算解壓縮時(shí)間。算法的編解碼時(shí)間計(jì)算公式為
式中:T為算法的編解碼時(shí)間;T2為算法運(yùn)行結(jié)束時(shí)計(jì)算機(jī)及移動設(shè)備內(nèi)計(jì)時(shí)器的值;T1為算法運(yùn)行前計(jì)算機(jī)及移動設(shè)備內(nèi)計(jì)時(shí)器的值。
安全性作為移動PDM系統(tǒng)的重要指標(biāo)之一,其通過壓縮算法分別與加密算法相結(jié)合,會對整個(gè)移動PDM系統(tǒng)產(chǎn)生綜合影響。通過代碼的可讀性對綜合影響率進(jìn)行研究。
最大并發(fā)數(shù)是指同一時(shí)刻與服務(wù)器進(jìn)行了交互的最大鏈接數(shù)。這些鏈接最大特征是與服務(wù)器發(fā)生了交互,既可以是單向的傳送數(shù)據(jù),也可以是雙向的傳輸數(shù)據(jù)。最大并發(fā)數(shù)能很好地衡量軟件對于同時(shí)與服務(wù)器進(jìn)行交互的用戶人數(shù),并且影響系統(tǒng)的響應(yīng)速度,對移動PDM系統(tǒng)的優(yōu)劣性評價(jià)是一個(gè)顯著指標(biāo)。
算法的兼容性指的是算法與各大系統(tǒng)的兼容程度。如今Android系統(tǒng)的各版本在市面上的使用情況也不盡相同。移動PDM系統(tǒng)在各版本上的運(yùn)行保證需要算法與各系統(tǒng)有較好的兼容性。
對于無損壓縮而言,評價(jià)性能時(shí)還有一些壓縮性能指標(biāo)如空間復(fù)雜度、實(shí)現(xiàn)代價(jià)等,由于條件限制無法衡量,在此暫不討論[5]。
為了方便各指標(biāo)的歸一化處理,對可量化的指標(biāo)直接用式(3)進(jìn)行計(jì)算:
對于定性指標(biāo),根據(jù)指標(biāo)的情況可采用模糊評價(jià)法或式(5)進(jìn)行計(jì)算[6]:
當(dāng)指標(biāo)要求算法具有該特性時(shí),B0=1,否則B0=0;當(dāng)算法性能較好時(shí),B=0;當(dāng)算法性能一般時(shí),B=0.5;當(dāng)算法性能不好時(shí),B=1。最后再通過歸一化處理得到各指標(biāo)最后的值。
在獲取各指標(biāo)的量化值后,對各指標(biāo)進(jìn)行加權(quán)和從而得到各算法的綜合評價(jià)結(jié)果。算法評價(jià)流程如圖1所示。
圖1 算法評價(jià)流程Fig.1 Algorithm evaluation process
各指標(biāo)的權(quán)重系數(shù)根據(jù)層次分析法(AHP)來確定。具體步驟為
步驟1分析系統(tǒng)中各項(xiàng)指標(biāo)間的關(guān)系,對每一層次的各要素相對于上一層次的各要素進(jìn)行兩兩比較判斷,構(gòu)造兩兩比較的判斷矩陣。各指標(biāo)用成對比較法與1~9比較尺度構(gòu)造的兩兩比較判斷矩陣如表2所示。
表2 指標(biāo)判斷矩陣Tab.2 Index judgment matrix
步驟2根據(jù)判斷矩陣計(jì)算被比較指標(biāo)對于該準(zhǔn)則的相對權(quán)重,并對判斷矩陣進(jìn)行一致性檢驗(yàn)。
步驟3計(jì)算各個(gè)層次對于系統(tǒng)的總排序權(quán)重,并進(jìn)行最終排序。
具體計(jì)算及其說明為
通過一致性比率公式判斷不一致性程度。一致性比率CR計(jì)算公式為
式中:RI為隨機(jī)一致性指標(biāo),可查得RI=1.12;CI為一致性指標(biāo),可通過式(7)計(jì)算得到,即
式中:λ為矩陣最大特征根;n為指標(biāo)數(shù)。
表2矩陣中λmax=5.01,對應(yīng)特征向量為[0.6442 0.6442 0.3424 0.2033 0.1074],由式(6)得 CR=0.00223<0.1,即通過了不一致性檢驗(yàn)。因此在進(jìn)行歸一化后各指標(biāo)的權(quán)重系數(shù)依次為{0.3318,0.3318,0.1764,0.1047,0.0553}??偡衷u價(jià)S計(jì)算公式為
式中:w1,w2,w3,w4,w5分別為壓縮比、 時(shí)間復(fù)雜度、安全性、最大并發(fā)數(shù)和兼容性的各自權(quán)重系數(shù)。最終的得分越高表示算法越適合移動PDM系統(tǒng) (由于解壓縮時(shí)間是越短性能越好,因此時(shí)間復(fù)雜度前面的系數(shù)為負(fù)數(shù))。
在實(shí)際的開發(fā)過程中,主要使用的壓縮算法有ZLIB,GZIP,RAR等幾種??紤]到智能移動終端的接口限制以及軟件的跨平臺性和可移植性,最終選擇ZLIB,GZIP和LZW 3種壓縮算法參與移動PDM系統(tǒng)的數(shù)據(jù)壓縮測試。表3為各壓縮算法的比較分析。
表3 壓縮算法比較分析Tab.3 Comparative analysis of compression algorithms
仿真測試選取了具有代表性的PDM系統(tǒng)的數(shù)據(jù)樣本。服務(wù)器配置為Core i3,2.53 GHz處理器和2 GB運(yùn)行內(nèi)存的普通計(jì)算機(jī),使用Genymotion虛擬機(jī)來模擬移動客戶端的運(yùn)行環(huán)境。
移動PDM系統(tǒng)中數(shù)據(jù)類型多,在此將系統(tǒng)中的數(shù)據(jù)類型分為三大類,分別是文本類型、圖片類型、音視頻類型。其中,音視頻類型文件傳輸屬于大文件傳輸,采用分片的方式進(jìn)行傳輸。通過測試這三種類型的數(shù)據(jù)樣本,并對壓縮前后數(shù)據(jù)量進(jìn)行對比。再經(jīng)式(3)處理,得到的計(jì)算結(jié)果如表4所示。
算法的安全性評分是通過對代碼可讀性分析得出的結(jié)果。分別通過式(3)和式(5)的計(jì)算可以得到各算法的安全性計(jì)算結(jié)果,如表5所示。
最大并發(fā)數(shù)的測量可采用Apache自帶的ab軟件進(jìn)行HTTP并發(fā)性能測試。通過請求傳輸3種不同類型的數(shù)據(jù)樣本測得最大并發(fā)數(shù),再經(jīng)式(3)處理,得到的計(jì)算結(jié)果如表6所示。
表4 3種類型數(shù)據(jù)測試及計(jì)算結(jié)果Tab.4 Three types of data test and calculation results
表5 算法安全性計(jì)算結(jié)果Tab.5 Algorithm security calculation results
表6 最大并發(fā)數(shù)測試及計(jì)算結(jié)果Tab.6 Maximum number of concurrent tests and calculation results
算法的兼容性通過模糊評價(jià)法進(jìn)行評分。各系統(tǒng)的指標(biāo)權(quán)重以系統(tǒng)目前在市場上的占有率為權(quán)重系數(shù)。由于Froyo和Gingerbreaed系列的系統(tǒng)過于老舊且占有率低所以不考慮這2個(gè)系統(tǒng)的數(shù)據(jù)。
根據(jù)谷歌公布的截至2015年9月Android系統(tǒng)占有率數(shù)據(jù)[8],再進(jìn)行剔除整理,得到各系統(tǒng)的市場占有率,如表7所示。
因此各系統(tǒng)的指標(biāo)權(quán)重系數(shù)為
建立模糊評判模型有以下步驟:
表7 Android各系統(tǒng)的市場占有率Tab.7 Android each version usage rate
步驟1確定評價(jià)指標(biāo)集合U。該系統(tǒng)中指標(biāo)集合為算法與各個(gè)版本系統(tǒng)的兼容性。
步驟2給出評價(jià)等級集合V。該系統(tǒng)的評價(jià)等級 V={很好,較好,一般,不好},對應(yīng)記為{100,80,60,40}。
步驟3單因素評價(jià)。通過專家調(diào)查法對各因素進(jìn)行評價(jià),根據(jù)評價(jià)的統(tǒng)計(jì)結(jié)果,得到各指標(biāo)的隸屬度。通過隸屬度得到的單因素模糊關(guān)系矩陣如表8所示。
步驟4綜合評判。根據(jù)單因素評價(jià)求評判結(jié)果B,它反映了評判事物與評價(jià)等級的模糊關(guān)系,其模型為B=W×R。
表8 單因素模糊評判矩陣Tab.8 Single factor fuzzy evaluation matrix
由表8得ZLIB算法兼容性的模糊判讀矩陣為
根據(jù) BA=W×RA,經(jīng)過模糊變換可得到 BA=(0.076 0.612 0.310 0),再根據(jù)4個(gè)等級的得分相應(yīng)為{100,80,60,40},得到關(guān)于 ZLIB 算法兼容性評價(jià)的得分值
同理可得出關(guān)于GZIP算法兼容性評價(jià)的得分值FB=77.96;關(guān)于LZW算法兼容性評價(jià)的得分值FC=69.98。
通過式(3)得到各算法的兼容性計(jì)算結(jié)果,如表9所示。
表9 算法的兼容性計(jì)算結(jié)果Tab.9 Calculation results of the compatibility of the algorithm
由于時(shí)間復(fù)雜度由壓縮時(shí)間和解壓縮時(shí)間組成,因此這兩部分的權(quán)重系數(shù)各占時(shí)間復(fù)雜度權(quán)重系數(shù)的1/2。
根據(jù)各指標(biāo)的計(jì)算結(jié)果和權(quán)重系數(shù),可計(jì)算出ZLIB,GZIP,LZW 3種壓縮算法在3種數(shù)據(jù)類型樣本測試下的綜合評價(jià),如表10所示。
表10 各算法的綜合評價(jià)Tab.10 Comprehensive evaluation of each algorithm
綜合測試結(jié)果可以看出,GZIP算法在各相同數(shù)據(jù)類型的相同數(shù)據(jù)樣本大小情況下相比于ZLIB算法和LZW算法都得到了最高的評價(jià)分?jǐn)?shù)。因此,本文根據(jù)最終的綜合評價(jià)結(jié)果選擇了更適合于移動PDM系統(tǒng)的GZIP算法作為系統(tǒng)的壓縮算法。
針對移動客戶端在與服務(wù)器進(jìn)行大量數(shù)據(jù)交互過程中出現(xiàn)的不穩(wěn)定和耗時(shí)問題,可通過數(shù)據(jù)壓縮的方式來減少數(shù)據(jù)量的傳輸。不同的數(shù)據(jù)壓縮算法在移動PDM系統(tǒng)中對數(shù)據(jù)壓縮傳輸?shù)男Ч膊槐M相同。以上著重對移動PDM系統(tǒng)的數(shù)據(jù)類型多且高安全性及多并發(fā)性特點(diǎn)進(jìn)行了研究分析,建立了一套數(shù)據(jù)壓縮算法的評價(jià)體系,并根據(jù)此評價(jià)體系得出了結(jié)論,即GZIP算法相對于ZLIB算法和LZW算法更適合于移動PDM系統(tǒng)。這對類似Android客戶端中,解決大量數(shù)據(jù)在傳輸過程中存在的問題以及對數(shù)據(jù)壓縮算法的選擇問題,有一定借鑒意義。
[1]何煒.面向中小型制造企業(yè)的PDM設(shè)計(jì)與開發(fā)[D].成都:電子科技大學(xué),2011.
[2]高宇.基于ARM和Android平臺的智能醫(yī)療監(jiān)控系統(tǒng)的研究[D].太原:太原理工大學(xué),2012.
[3]王錦江,畢篤彥,高山.遙感圖像壓縮算法性能評價(jià)研究[J].微計(jì)算機(jī)信息,2008,25(27):313-314,299.
[4]常傳文,茅文深.雷達(dá)數(shù)據(jù)有損壓縮綜述[J].電子工程師,2008,34(6):9-11.
[5]蔡正興,張虹.圖像壓縮算法性能的測試與分析工具[J].中國科技論文在線,2006,1(3):217-223.
[6]羅如為,陳孝威.Delphi中三種壓縮庫的應(yīng)用比較[J].貴州大學(xué)學(xué)報(bào):自然科學(xué)版,2010,29(1):95-98.
[7]沙有闖,徐振峰.數(shù)據(jù)壓縮算法在Android瓦斯預(yù)警系統(tǒng)中的應(yīng)用研究[J].吉林師范大學(xué)學(xué)報(bào):自然科學(xué)版,2015,37(2):91-94.
[8]劉可昕.安卓4.4仍占據(jù)主流谷歌公布系統(tǒng)分布圖[EB/OL].http://4g.zol.com.cn/539/5391975.html.2015-09-10.
[9]鐘志永,姚珺.大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)[M].重慶:重慶大學(xué)出版社,2012.
[10]張偉明.多媒體信息系統(tǒng)[M].北京:電子工業(yè)出版社,2002.