论文部分内容阅读
市场全球化的趋势使得市场竞争日益激烈,跨行业、跨区域的企业制造模式已经逐渐形成。作为一种跨平台、网络化、服务于企业的企业建模和管理工具,ERP(企业资源计划)的概念于1990年被提出。ERP系统集信息技术与先进的管理思想于一身,成为现代化企业的运行模式,为全球企业所广泛应用。在ERP系统中,数据的异构会导致数据加载的困难,因此ERP中的A2A和B2B数据交换往往采用XML作为数据载体。
本文从ERP系统中XML数据量大的角度出发,针对XML文档集之间和文档内部的结构冗余所带来的网络通信带宽问题,对ERP环境下的XML压缩算法作了分析和研究。
首先分析了现有的XML压缩算法技术,包括不支持查询的XMill算法以及支持查询的XGrind,XPRESS算法等。针对ERP的应用,提出一种支持查询的自适应XML压缩算法LXMLZIP算法。
LXMLZIP算法是基于Lempel-Ziv编码,同时借鉴了前缀的思想,将文档结构和文档数据分离进行编码,采用了同构转换的策略,使得压缩后的文件在结构和语义上都与原始XML文档等同。算法对文档的数据部分,采用数据类型相关的压缩算法。该算法分为解析器,分类器以及适应各种不同类型的编码器组成。解析器将解析XML文档为结构信息和数据信息。对结构信息直接使用基于Lempel-Ziv编码进行压缩,对数据信息使用分类器,进行正则匹配,针对不同类型的数据采用不同的编码方法进行压缩。通过尽可能得将同种类型的数据进行压缩编码,可以大大得提高压缩率。而结构信息和数据信息同时进行压缩,将节省了压缩的时间。
此外,为了改进压缩算法依赖于DTD图,还提出了一个改进算法,该算法将结构信息保存于结构容器中,利用XML数据的结构冗余,二次扫描压缩XML文件,以提高压缩效率。
论文最后给出了实验结果,同比于其他压缩算法来说,LxMLZIP压缩算法在处理结构复杂的XML文档效果会差一些,压缩的时间以及内存损耗有所提高;改进的压缩算法则在压缩效率上有很大的提高,适合更加广泛的应用。两个压缩算法的整体压缩率都保持在50%以下,总得来说,实现的XML压缩算法在现实应用中,是符合设计要求的。