APP下载

基于移动PDM系统的数据压缩算法的选择研究

2018-01-12

自动化与仪表 2017年2期
关键词:压缩算法复杂度计算结果

(中国计量大学 质量与安全工程学院,杭州 310018)

PDM系统能够快捷、高效、方便地管理与产品相关的信息和所有与产品相关的流程管理[1]。智能手持设备端的PDM系统更是拓展了企业的移动信息化,为企业的移动办公提供了可能。然而移动终端的PDM系统(客户端)在与企业的PDM系统(服务器端)进行数据交互过程中,尚存在多种问题。移动网络的稳定性和数据传输速率问题首当其冲,主要是因为移动网络条件下的通信状况没有KT客户端的通信状况稳定,速率无法保证。如果传输大量数据,则客户端流量耗费较大,制约了普通用户使用系统的意愿[2]。为了解决此类问题,比较直接有效的方法是通过压缩算法对数据进行压缩从而降低数据传输量。

在此,针对移动PDM系统的应用提出一套数据压缩算法的评价体系,通过建立一种自动化程度较高的客观评价方法,以便对压缩算法的算法优化及应用选择提供参考[3],并且基于此评价体系,对目前比较常用的几种压缩算法进行性能评价,从中选择一种更加适合移动PDM系统的压缩算法。

1 移动PDM系统特点和评价指标确定

1.1 移动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系统的数据特点的真实性,在此采用无损压缩算法进行测试并从中选择。

1.2 数据压缩算法的评价指标

通过对移动PDM系统的特点研究,采用了以下评价指标。

1.2.1 压缩比

压缩比是指数据压缩过程中输入数据量和输出数据量之间的比值。本文的数据压缩实验分别在多种数据类型下进行,反映了在异构数据条件下压缩算法的压缩性能[5]。压缩比的计算式为

式中:S为压缩比;S1为输入文件的大小,即原始文件大小;S2为输出文件即压缩后文件的大小。值得注意的是,这种度量方法必须指明输入输出的显示形式,否则将是不可靠的[5]。

1.2.2 时间复杂度

时间复杂度定量地描述了算法实现所需的计算工作量而运行的时间。在许多应用中,编解码将在不同的时间、不同的地点和不同的系统中运行[10],因此编解码时间对评价在异构数据条件下压缩算法的效率和通用性具有重要的意义[5]。移动PDM系统中采用读取计算机和移动设备中的存储器值的方法来计算解压缩时间。算法的编解码时间计算公式为

式中:T为算法的编解码时间;T2为算法运行结束时计算机及移动设备内计时器的值;T1为算法运行前计算机及移动设备内计时器的值。

1.2.3 安全性

安全性作为移动PDM系统的重要指标之一,其通过压缩算法分别与加密算法相结合,会对整个移动PDM系统产生综合影响。通过代码的可读性对综合影响率进行研究。

1.2.4 最大并发数

最大并发数是指同一时刻与服务器进行了交互的最大链接数。这些链接最大特征是与服务器发生了交互,既可以是单向的传送数据,也可以是双向的传输数据。最大并发数能很好地衡量软件对于同时与服务器进行交互的用户人数,并且影响系统的响应速度,对移动PDM系统的优劣性评价是一个显著指标。

1.2.5 兼容性

算法的兼容性指的是算法与各大系统的兼容程度。如今Android系统的各版本在市面上的使用情况也不尽相同。移动PDM系统在各版本上的运行保证需要算法与各系统有较好的兼容性。

对于无损压缩而言,评价性能时还有一些压缩性能指标如空间复杂度、实现代价等,由于条件限制无法衡量,在此暂不讨论[5]。

2 指标评价模型

为了方便各指标的归一化处理,对可量化的指标直接用式(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系统 (由于解压缩时间是越短性能越好,因此时间复杂度前面的系数为负数)。

3 压缩算法选择分析

在实际的开发过程中,主要使用的压缩算法有ZLIB,GZIP,RAR等几种。考虑到智能移动终端的接口限制以及软件的跨平台性和可移植性,最终选择ZLIB,GZIP和LZW 3种压缩算法参与移动PDM系统的数据压缩测试。表3为各压缩算法的比较分析。

表3 压缩算法比较分析Tab.3 Comparative analysis of compression algorithms

4 仿真测试与分析

仿真测试选取了具有代表性的PDM系统的数据样本。服务器配置为Core i3,2.53 GHz处理器和2 GB运行内存的普通计算机,使用Genymotion虚拟机来模拟移动客户端的运行环境。

4.1 压缩比与时间复杂度测试

移动PDM系统中数据类型多,在此将系统中的数据类型分为三大类,分别是文本类型、图片类型、音视频类型。其中,音视频类型文件传输属于大文件传输,采用分片的方式进行传输。通过测试这三种类型的数据样本,并对压缩前后数据量进行对比。再经式(3)处理,得到的计算结果如表4所示。

4.2 算法安全性评分

算法的安全性评分是通过对代码可读性分析得出的结果。分别通过式(3)和式(5)的计算可以得到各算法的安全性计算结果,如表5所示。

4.3 最大并发数评分

最大并发数的测量可采用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

4.4 算法兼容性评分

算法的兼容性通过模糊评价法进行评分。各系统的指标权重以系统目前在市场上的占有率为权重系数。由于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

4.5 算法综合评价

由于时间复杂度由压缩时间和解压缩时间组成,因此这两部分的权重系数各占时间复杂度权重系数的1/2。

根据各指标的计算结果和权重系数,可计算出ZLIB,GZIP,LZW 3种压缩算法在3种数据类型样本测试下的综合评价,如表10所示。

表10 各算法的综合评价Tab.10 Comprehensive evaluation of each algorithm

综合测试结果可以看出,GZIP算法在各相同数据类型的相同数据样本大小情况下相比于ZLIB算法和LZW算法都得到了最高的评价分数。因此,本文根据最终的综合评价结果选择了更适合于移动PDM系统的GZIP算法作为系统的压缩算法。

5 结语

针对移动客户端在与服务器进行大量数据交互过程中出现的不稳定和耗时问题,可通过数据压缩的方式来减少数据量的传输。不同的数据压缩算法在移动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.

猜你喜欢

压缩算法复杂度计算结果
基于人工智能技术的运动教学视频压缩算法
非线性电动力学黑洞的复杂度
一种低复杂度的惯性/GNSS矢量深组合方法
求图上广探树的时间复杂度
趣味选路
扇面等式
一种基于嵌入式实时操作系统Vxworks下的数据压缩技术
某雷达导51 头中心控制软件圈复杂度分析与改进
基于HBASE的大数据压缩算法的研究
超压测试方法对炸药TNT当量计算结果的影响