(中國計量大學 質量與安全工程學院,杭州 310018)
PDM系統能夠快捷、高效、方便地管理與產品相關的信息和所有與產品相關的流程管理[1]。智能手持設備端的PDM系統更是拓展了企業的移動信息化,為企業的移動辦公提供了可能。然而移動終端的PDM系統(客戶端)在與企業的PDM系統(服務器端)進行數據交互過程中,尚存在多種問題。移動網絡的穩定性和數據傳輸速率問題首當其沖,主要是因為移動網絡條件下的通信狀況沒有KT客戶端的通信狀況穩定,速率無法保證。如果傳輸大量數據,則客戶端流量耗費較大,制約了普通用戶使用系統的意愿[2]。為了解決此類問題,比較直接有效的方法是通過壓縮算法對數據進行壓縮從而降低數據傳輸量。
在此,針對移動PDM系統的應用提出一套數據壓縮算法的評價體系,通過建立一種自動化程度較高的客觀評價方法,以便對壓縮算法的算法優化及應用選擇提供參考[3],并且基于此評價體系,對目前比較常用的幾種壓縮算法進行性能評價,從中選擇一種更加適合移動PDM系統的壓縮算法。
移動PDM系統在繼承了傳統PDM系統大部分優點的同時,又存在稍許不同。表1為移動PDM系統與傳統PDM系統的比較分析。

表1 移動PDM系統和傳統PDM系統的比較Tab.1 Comparison of mobile PDM system and traditional PDM system
由表1可知,移動PDM系統的數據類型多樣性不如傳統PDM系統豐富,仍以文本、圖片、音視頻數據為主。由于在應用環境上移動PDM更加廣泛,更加隨時隨地,使得它對安全性的要求也更高。
通過傳統PDM系統與移動PDM系統的對比,后者具有以下典型特點:
(1)移動PDM系統的數據量大,占用空間多。由此表明移動PDM系統數據壓縮的必要性。
(2)移動PDM系統的相對封閉性。說明移動PDM系統需要外部系統提供的兼容性支撐。
(3)移動PDM系統的安全性要求高。表明系統對安全性的高要求。
按照壓縮前后信息熵值是否減少,可將PDM系統數據的壓縮方法分為有損壓縮和無損壓縮兩類[4]。考慮到移動PDM系統的數據特點的真實性,在此采用無損壓縮算法進行測試并從中選擇。
通過對移動PDM系統的特點研究,采用了以下評價指標。
壓縮比是指數據壓縮過程中輸入數據量和輸出數據量之間的比值。本文的數據壓縮實驗分別在多種數據類型下進行,反映了在異構數據條件下壓縮算法的壓縮性能[5]。壓縮比的計算式為

式中:S為壓縮比;S1為輸入文件的大小,即原始文件大小;S2為輸出文件即壓縮后文件的大小。值得注意的是,這種度量方法必須指明輸入輸出的顯示形式,否則將是不可靠的[5]。
時間復雜度定量地描述了算法實現所需的計算工作量而運行的時間。在許多應用中,編解碼將在不同的時間、不同的地點和不同的系統中運行[10],因此編解碼時間對評價在異構數據條件下壓縮算法的效率和通用性具有重要的意義[5]。移動PDM系統中采用讀取計算機和移動設備中的存儲器值的方法來計算解壓縮時間。算法的編解碼時間計算公式為

式中:T為算法的編解碼時間;T2為算法運行結束時計算機及移動設備內計時器的值;T1為算法運行前計算機及移動設備內計時器的值。
安全性作為移動PDM系統的重要指標之一,其通過壓縮算法分別與加密算法相結合,會對整個移動PDM系統產生綜合影響。通過代碼的可讀性對綜合影響率進行研究。
最大并發數是指同一時刻與服務器進行了交互的最大鏈接數。這些鏈接最大特征是與服務器發生了交互,既可以是單向的傳送數據,也可以是雙向的傳輸數據。最大并發數能很好地衡量軟件對于同時與服務器進行交互的用戶人數,并且影響系統的響應速度,對移動PDM系統的優劣性評價是一個顯著指標。
算法的兼容性指的是算法與各大系統的兼容程度。如今Android系統的各版本在市面上的使用情況也不盡相同。移動PDM系統在各版本上的運行保證需要算法與各系統有較好的兼容性。
對于無損壓縮而言,評價性能時還有一些壓縮性能指標如空間復雜度、實現代價等,由于條件限制無法衡量,在此暫不討論[5]。
為了方便各指標的歸一化處理,對可量化的指標直接用式(3)進行計算:


對于定性指標,根據指標的情況可采用模糊評價法或式(5)進行計算[6]:

當指標要求算法具有該特性時,B0=1,否則B0=0;當算法性能較好時,B=0;當算法性能一般時,B=0.5;當算法性能不好時,B=1。最后再通過歸一化處理得到各指標最后的值。
在獲取各指標的量化值后,對各指標進行加權和從而得到各算法的綜合評價結果。算法評價流程如圖1所示。

圖1 算法評價流程Fig.1 Algorithm evaluation process
各指標的權重系數根據層次分析法(AHP)來確定。具體步驟為
步驟1分析系統中各項指標間的關系,對每一層次的各要素相對于上一層次的各要素進行兩兩比較判斷,構造兩兩比較的判斷矩陣。各指標用成對比較法與1~9比較尺度構造的兩兩比較判斷矩陣如表2所示。

表2 指標判斷矩陣Tab.2 Index judgment matrix
步驟2根據判斷矩陣計算被比較指標對于該準則的相對權重,并對判斷矩陣進行一致性檢驗。
步驟3計算各個層次對于系統的總排序權重,并進行最終排序。
具體計算及其說明為
通過一致性比率公式判斷不一致性程度。一致性比率CR計算公式為

式中:RI為隨機一致性指標,可查得RI=1.12;CI為一致性指標,可通過式(7)計算得到,即

式中:λ為矩陣最大特征根;n為指標數。
表2矩陣中λmax=5.01,對應特征向量為[0.6442 0.6442 0.3424 0.2033 0.1074],由式(6)得 CR=0.00223<0.1,即通過了不一致性檢驗。因此在進行歸一化后各指標的權重系數依次為{0.3318,0.3318,0.1764,0.1047,0.0553}。總分評價S計算公式為

式中:w1,w2,w3,w4,w5分別為壓縮比、 時間復雜度、安全性、最大并發數和兼容性的各自權重系數。最終的得分越高表示算法越適合移動PDM系統 (由于解壓縮時間是越短性能越好,因此時間復雜度前面的系數為負數)。
在實際的開發過程中,主要使用的壓縮算法有ZLIB,GZIP,RAR等幾種。考慮到智能移動終端的接口限制以及軟件的跨平臺性和可移植性,最終選擇ZLIB,GZIP和LZW 3種壓縮算法參與移動PDM系統的數據壓縮測試。表3為各壓縮算法的比較分析。

表3 壓縮算法比較分析Tab.3 Comparative analysis of compression algorithms
仿真測試選取了具有代表性的PDM系統的數據樣本。服務器配置為Core i3,2.53 GHz處理器和2 GB運行內存的普通計算機,使用Genymotion虛擬機來模擬移動客戶端的運行環境。
移動PDM系統中數據類型多,在此將系統中的數據類型分為三大類,分別是文本類型、圖片類型、音視頻類型。其中,音視頻類型文件傳輸屬于大文件傳輸,采用分片的方式進行傳輸。通過測試這三種類型的數據樣本,并對壓縮前后數據量進行對比。再經式(3)處理,得到的計算結果如表4所示。
算法的安全性評分是通過對代碼可讀性分析得出的結果。分別通過式(3)和式(5)的計算可以得到各算法的安全性計算結果,如表5所示。
最大并發數的測量可采用Apache自帶的ab軟件進行HTTP并發性能測試。通過請求傳輸3種不同類型的數據樣本測得最大并發數,再經式(3)處理,得到的計算結果如表6所示。

表4 3種類型數據測試及計算結果Tab.4 Three types of data test and calculation results

表5 算法安全性計算結果Tab.5 Algorithm security calculation results

表6 最大并發數測試及計算結果Tab.6 Maximum number of concurrent tests and calculation results
算法的兼容性通過模糊評價法進行評分。各系統的指標權重以系統目前在市場上的占有率為權重系數。由于Froyo和Gingerbreaed系列的系統過于老舊且占有率低所以不考慮這2個系統的數據。
根據谷歌公布的截至2015年9月Android系統占有率數據[8],再進行剔除整理,得到各系統的市場占有率,如表7所示。
因此各系統的指標權重系數為

建立模糊評判模型有以下步驟:

表7 Android各系統的市場占有率Tab.7 Android each version usage rate
步驟1確定評價指標集合U。該系統中指標集合為算法與各個版本系統的兼容性。
步驟2給出評價等級集合V。該系統的評價等級 V={很好,較好,一般,不好},對應記為{100,80,60,40}。
步驟3單因素評價。通過專家調查法對各因素進行評價,根據評價的統計結果,得到各指標的隸屬度。通過隸屬度得到的單因素模糊關系矩陣如表8所示。
步驟4綜合評判。根據單因素評價求評判結果B,它反映了評判事物與評價等級的模糊關系,其模型為B=W×R。

表8 單因素模糊評判矩陣Tab.8 Single factor fuzzy evaluation matrix
由表8得ZLIB算法兼容性的模糊判讀矩陣為

根據 BA=W×RA,經過模糊變換可得到 BA=(0.076 0.612 0.310 0),再根據4個等級的得分相應為{100,80,60,40},得到關于 ZLIB 算法兼容性評價的得分值

同理可得出關于GZIP算法兼容性評價的得分值FB=77.96;關于LZW算法兼容性評價的得分值FC=69.98。
通過式(3)得到各算法的兼容性計算結果,如表9所示。

表9 算法的兼容性計算結果Tab.9 Calculation results of the compatibility of the algorithm
由于時間復雜度由壓縮時間和解壓縮時間組成,因此這兩部分的權重系數各占時間復雜度權重系數的1/2。
根據各指標的計算結果和權重系數,可計算出ZLIB,GZIP,LZW 3種壓縮算法在3種數據類型樣本測試下的綜合評價,如表10所示。

表10 各算法的綜合評價Tab.10 Comprehensive evaluation of each algorithm
綜合測試結果可以看出,GZIP算法在各相同數據類型的相同數據樣本大小情況下相比于ZLIB算法和LZW算法都得到了最高的評價分數。因此,本文根據最終的綜合評價結果選擇了更適合于移動PDM系統的GZIP算法作為系統的壓縮算法。
針對移動客戶端在與服務器進行大量數據交互過程中出現的不穩定和耗時問題,可通過數據壓縮的方式來減少數據量的傳輸。不同的數據壓縮算法在移動PDM系統中對數據壓縮傳輸的效果也不盡相同。以上著重對移動PDM系統的數據類型多且高安全性及多并發性特點進行了研究分析,建立了一套數據壓縮算法的評價體系,并根據此評價體系得出了結論,即GZIP算法相對于ZLIB算法和LZW算法更適合于移動PDM系統。這對類似Android客戶端中,解決大量數據在傳輸過程中存在的問題以及對數據壓縮算法的選擇問題,有一定借鑒意義。
[1]何煒.面向中小型制造企業的PDM設計與開發[D].成都:電子科技大學,2011.
[2]高宇.基于ARM和Android平臺的智能醫療監控系統的研究[D].太原:太原理工大學,2012.
[3]王錦江,畢篤彥,高山.遙感圖像壓縮算法性能評價研究[J].微計算機信息,2008,25(27):313-314,299.
[4]常傳文,茅文深.雷達數據有損壓縮綜述[J].電子工程師,2008,34(6):9-11.
[5]蔡正興,張虹.圖像壓縮算法性能的測試與分析工具[J].中國科技論文在線,2006,1(3):217-223.
[6]羅如為,陳孝威.Delphi中三種壓縮庫的應用比較[J].貴州大學學報:自然科學版,2010,29(1):95-98.
[7]沙有闖,徐振峰.數據壓縮算法在Android瓦斯預警系統中的應用研究[J].吉林師范大學學報:自然科學版,2015,37(2):91-94.
[8]劉可昕.安卓4.4仍占據主流谷歌公布系統分布圖[EB/OL].http://4g.zol.com.cn/539/5391975.html.2015-09-10.
[9]鐘志永,姚珺.大學計算機應用基礎[M].重慶:重慶大學出版社,2012.
[10]張偉明.多媒體信息系統[M].北京:電子工業出版社,2002.