 
         
         
         
         
        
            已阅读5页,还剩63页未读,            继续免费阅读
        
        (产业经济学专业论文)面向SOA的XML数据压缩技术研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
            i 摘要摘要 近年来随着计算机技术的迅猛发展,xml 已经成为 internet 上数据表示、存储 和交换方面的标准,而电子商务的兴起与企业自身业务的需求又带动了面向服务架 构体系(soa)的蓬勃发展,使得 soa 成为当前热门的讨论话题。soa 实质上是 组织服务的一种架构模式,它把服务通过统一的、中立的、定义良好的接口和契约 联系起来,独立于实现服务的硬件平台、操作系统和编程语言,使服务通过统一通 用的方式进行交互。而 xml 具有的自我描述性与跨平台性,使得它非常符合 soa 环境的要求,因此,在 soa 体系中使用 xml 文档作为数据的传输格式和信息载体 是 xml 一个很好的应用。 但是,xml 文档一个最大缺陷就是它的冗余性,尤其是结构信息大量重复造成 xml 数据体积庞大, 占用过多的存储空间与网络带宽, 降低了处理效率, 增加了 soa 消息的传输难度,造成了 soa 数据传输问题。为了解决这个问题,在 soa 体系中 可以通过对服务器的配置采用 gzip 对传输的消息进行压缩,gzip 是通用文本压缩 技术而不是专门为 xml 设计的,而本文考虑了 xml 数据自身特点和 soa 这个具 体应用环境,重点研究了面向存储与交换的、适合 xml 数据的压缩方法,并在前 人研究的基础上提出自己的改进。 本文首先阐述 soa 基本概念、实现途径及由于 xml 冗余造成的 soa 数据传 输问题,提出对 xml 数据进行压缩是解决问题的有效手段。然后介绍 xml 基本概 念、相关处理技术及存在的冗余,并介绍通用数据压缩技术中两种经典算法,分别 是哈夫曼编码和 lz77 算法,这些基本的压缩算法是所有压缩技术、压缩工具的基 础。随后本文叙述了源压缩模型 xmill 的工作原理,它将结构信息与数据内容相分 离,对结构信息进行字典编码压缩,对数据部分按照它们所属标签分门别类地放进 相应容器中,用 gzip 压缩。在 xmill 中如果有用户参与,可以根据用户的指令对数 据容器选用更适合的压缩方法进行处理,能使压缩率有所提高。本文是在 soa 应用 环境中,soa 中传输的数据必须遵循 xml schema 文档定义的规范,因此,本文在 xmill 的基础上将辅助结构 schema 运用到 xml 文档的数据压缩部分,schema 中包 含所有 xml 文档元素类型的定义。当把数据放进容器时通过读取 xml schema 文 档中的数据类型值,选用适合的压缩算法对数据容器进行压缩,而不是一味地只用 gzip,如果某些特殊的数据类型与压缩算法没有匹配成功,就依然使用 gzip 压缩, 这样做的优势是可以独立于用户参与,减轻用户负担,在一定程度上实现自动化。 本文将改进后的模型命名为 xs-xmlcomp(based on xml schema of xml data compression technology) ,它的一个创新之处就是“因地制宜”地运用了辅助性文 ii 档 xml schema,并且压缩效果比 soa 使用的 gzip 要好。 本文最后进行了仿真实验,将 xs-xmlcomp 与其他几种压缩模型进行比较, 主要比较了压缩率、处理速度和效率等性能指标。通过对实验结果的分析评述了各 个方法的优缺点,并且证实本文提出的压缩模型 xs-xmlcomp 具有可行性与有效 性,使压缩率有一定提高。 关键词:关键词: 面向服务架构 xml 数据 xml 压缩 xml 文档合法性检 验 iii abstract with the rapid development of computer technology in recent years, xml has become data representation, storage and exchange standard on internet. at the same time, the advent of electronic commerce and the business needs in firms have led to the booming of service-oriented architecture system(soa), these factors make soa become a hot discussion topic. the essence of soa is a architectural patterns in order to organize services, it connects services through unified, neutral, well-defined interfaces and contracts, and its implementation is independent with hardware platforms, operating systems and programming languages, so it can make services interact each other in a universal way. besides, xml is self-descriptive and cross-platform, these characters make xml correspond with the requirements of soa enviroment. therefore, xml has a good application that we can apply xml as data transmission format and information carrier in soa architecture. however, the greatest flaw of xml is its redundancy, especially a large amount of repeated structural information cause the volume of xml data bulky, take up too much storage spaces and network bandwidth, reduce processing efficiency, increase the difficulties of soa message transmission, result in soa data transmission bottlenecks. to solve the problem, we can make use of gzip to compress transmissive data through configuring the servers parameters in soa system, gzip is a universal text compression technology, not designed for xml specifically. while taking xml data itself characteristic and soa application enviroment into consideration, this paper mainly research the compression method which is storage-oriented and exchage-oriented and suitable for xml data, and come up with own improvements on the basis of previous studies. firstly this paper describes soa basic concepts, achievement ways and existing soa data transmission problem which are resulted in xml redundancy, and propose that xml data compression is an effective means to solve the problem. secondly, this paper introduces xml basic concepts, related processing technology and its redundancy, and introdoces two classical universal data compression technologies, which are respectively huffman coding and lz77 algorithms, these basic compression algorithms are a foundation of all compression techniques and compression tools. in addition, this paper describes compression model xmill working principle, it separates structual information from data contents.for structural information, xmill uses dictionary coding to compress, for data contents, xmill classifies the data contents into the corresponding containers in iv accordance with labels these tags belong to and use gzip to deal with them. if users can participate in the compression process, xmill can invoke more suited compression method to compress data comtainers based on users choices. so compression rate can be increased. finally in soa application enviroment, the transmissive data must comply with the specification of xml schema document, therefore, based on xmill the paper use xml schema into xml data compression, schema contains all the xml document element type definition. when the data are put into containers, we can read data type values from xml schema and choose the appropriate compression algorithm to deal with data, rather than still using gzip.if some special data types do not match with compression algorithm successfully, we still use gzip,the method can be independent on user participation, treduce user burden and realise automation to a certain extent. the improved model is named xs-xmlcomp(based on xml schema of xml data compression technology). one of its innovations is to use auxiliary xml schema. documents, and its compression ratio is better than gzip used in soa. at the last, this paper carry out the simulation experiments, compare xs-xmlcomp with other several compression models and contrast several performance indicators including compression ratio, processing speed and efficiency, environmental adaptation respectively. this paper commentates the advantages and disadvantages of various models through the analysis of results, and confirms that xs-xmlcomp compression model has feasibility and validity, make the compression effects increased to a certain degree. keywords: service-oriented architecture(soa) xml data xml compresssion xml schema 独 创 性 声 明独 创 性 声 明 本人郑重声明:今所呈交的 面向 soa 的 xml 数据压缩技术 研究与应用论文是我个人在导师指导下进行的研究工作及取得的 科研成果。尽我所知,文中除了特别加以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写的内容及科研成果,也不包含为 获得首都经济贸易大学或其它教育机构的学位或证书所使用过的材 料。 作者签名 作者签名: 日期:日期: 年年 月月 日日 关于论文使用授权的说明关于论文使用授权的说明 本人完全了解首都经济贸易大学有关保留、使用学位论文的有 关规定,即:学校有权保留送交论文的复印件,允许论文被查阅、 借阅或网络索引;学校可以公布论文的全部或部分内容,可以采取 影印、缩印或其它复制手段保存论文。 (保密的论文在解密后应遵守 此规定) 作者签名: 导师签名: 作者签名: 导师签名: 日期: 日期: 年 年 月 月 日日 第1页 共 63 页 面向面向 soa 的的 xml 数据压缩技术研究与应用 1 数据压缩技术研究与应用 1 绪论绪论 近年来, 随着软件产业的迅速发展, 面向服务架构 (service-oriented architecture, soa)成为当下热门的讨论话题。它是为了满足在 internet 环境下业务集成的需求, 通过连接能完成特定任务的独立功能实体而实现的一种软件系统架构。soa 凭借自 身松耦合的特性,使得企业可以按照模块化的方式添加新的服务,已满足新业务的 需求,也可以把企业现有的应用转换为服务,从而增加原有系统的可用性,进一步 增强企业的服务效能。soa 的实现技术有很多,但就目前看来,web 服务(web service)是面向服务架构的技术基础和解决之道。 soa 跨应用平台跨编程语言的特性要求在服务提供者和服务请求者之间数据 是以 xml 格式来传输,但是 xml 语言的自我描述性使得 xml 数据变得肿胀冗余, 增加了 soa 消息传输的难度,占用过多带宽影响了 soa 传输性能。为了解决 soa 环境下大数据量传输问题,本文在前人研究的基础上、运用 xml schema 文档、提 出了适合 xml 的数据压缩技术, 并且实验模拟结果证实本模型的压缩率要好于 soa 采用的 gzip 方法,改善了系统性能。 1.1 1.1 选题背景及意义选题背景及意义 从大环境上看,电子商务的兴起带动了 soa 的出现及发展,从企业自身看,现 代企业构建 it 系统也需要 soa 的支持,因此可以说 soa 的出现是顺应时代和企业 发展要求的。面向服务架构的概念最早是由 gartner 公司在 1996 年提出的,在 2002 年 12 月,gartner 又提出面向服务架构是“现代应用开发领域最重要的课题”1。 软件系统架构的发展先后经历了客户端/服务器(c/s)架构浏览器/服务器 (b/s)架构和多层架构三个阶段。在 c/s 架构中,服务器端一般是一个中心的数据 库服务器,负责对数据的管理,客户端连接到中心数据库,负责访问数据的逻辑和 表现数据。由于客户端承担了 80%的工作量,因此也称为胖客户端,当每一个客户 端都建立自己独占的数据库连接时,这将非常耗费资源,降低 c/s 架构的性能。 在 b/s 架构中,使用标准的浏览器取代了客户端,采用标准的 http 协议与服 务器通信。服务器端分为 web 服务器和数据库服务器,web 服务器负责接受客户端 的请求,从数据库服务器中访问数据,并进行相应的逻辑处理,最后将结果返回给 客户端。在多层架构体系中,对服务器的种类和功能进行了扩充,引入了应用服务 第2页 共 63 页 器的概念。web 服务器只负责接受请求和表现数据,即所谓的表示层,而应用服务 器中的组件则进行应用逻辑的处理,数据库服务器保持不变。应用服务器中的组件 可以共享数据库连接池,而不需要独占数据库连接。 面向服务的架构是软件架构发展过程中的一个里程碑,它更强调一种松耦合的 关系,使企业在业务发生变化时能够迅速作出调整,以适应新业务的需求。面向服 务的架构提供标准开放的接口,使用标准的消息通信协议,传递结构化的通信信 息。总之,soa 使得企业和系统有更高的灵活性和更强的可扩展性,能够满足企业 未来的发展需求。 好的想法也需要有技术上的支持,xml 及 web 服务为实现面向服务的架构提 供了一个坚实的基础和保障。xml 可以追溯到 html,它是一种通用的标记语言, 并且克服了 html 的缺陷,允许用户自己定义标记,xml 具有平台无关性,使它 能够在不同的信息系统之间传递交换数据。用户可以通过使用 xml schema 来定 义文档结构,用它来验证 xml 文档是否符合规范,同时 xml 配套有许多标准,如 dtdxslxpathxquery 等。 web 服务是一种新型的分布式计算技术,使用 xml 格式来和其他系统进行数 据交换,它的最大特征在于开放性和标准性。web 服务使用基于 xml 格式的 wsdl 来描述其提供的接口,使用基于 xml 格式的 soap 规范来进行通信。可以说,web 核心技术的实现都是基于 xml 的,这也使得 web 服务不依赖于具体的应用平台和 编程语言,这也进一步促使了 web 服务成为实现面向服务架构的最好选择。 通过以上分析可以看出随着架构的发展信息系统的发展和技术的支持,soa 的出现顺应时代发展,合乎历史潮流。但 soa 给企业带来优势的同时,也存在着缺 陷与不足。soa 架构存在的不足之一是服务提供者与请求者之间大量 xml 数据的 传输占用过多网络带宽,加重系统处理代价,产生了 soa 大数据量传输问题。 传统的分布式计算模型中,服务的提供是通过函数调用的方式进行的,一个功 能的实现往往要通过在服务提供者和使用者之间来回很多次的函数调用才能完成。 在 intranet 环境下,这些调用给系统的响应速度和稳定性带来的影响可以忽略不计, 但是在 internet 环境下,这些因素通常决定整个系统能否正常运行。所以,soa 架 构采取的是大数据量的传输方式一次性地进行信息交换。同时,面向服务架构的核 心概念是服务,而服务具有的特征之一就是粗粒度,粗粒度的服务一般都包含比较 大的功能,客户通过一次请求可以得到大量的相关数据,从而减少请求的次数。 在服务请求者和提供者之间传输的数据是 xml 格式的,xml 数据的自我描述 性造成了数据冗余,它不仅包含了数据本身,而且包含了元数据(即各类标签信息) , 使得它的容量比其他格式的数据结构要大出许多倍,加上服务之间传输的数据量巨 大,使得 soa 中数据以指数级增长。这样大量的 xml 数据传输会加大系统的负担, 第3页 共 63 页 增加了系统存储传输解析处理的代价,并占用过多的网络带宽,降低系统性能。 本文针对 soa 环境下不同服务之间大数据量传输的问题,提出了运用数据压缩 技术作为问题的解决方案,并在原有压缩技术的基础上提出改进措施。企业通过对 服务器的设置,可以对服务之间传输的数据进行压缩,一般采用的压缩方法是 gzip。 但是 gzip 是针对文本数据的通用压缩方法,而服务之间传输的数据又是 xml 格式, gzip 并没有考虑到 xml 数据自身特点,“因地制宜”地进行压缩。故本文采用了更 适合 xml 数据的压缩方法,并配套使用了数据传输中涉及到的 xml schema 文档, 提出自己的解决方案。本文的研究意义在于通过对传输数据的压缩,降低对网络带 宽的需求,加快传输速度,提高数据交换和处理的效率,改善系统性能。由此可见, 在 soa 环境下对不同服务间大数据量进行压缩研究具有很好的理论意义和现实意 义。 1.21.2 xml 数据压缩技术国内外研究现状数据压缩技术国内外研究现状 前文叙述表明 soa 中服务提供者与服务请求者之间大容量的xml 格式的数 据传输问题造成了对 soa 性能的挑战,这些传输问题主要是由于采用 xml 格式造 成的。因此,本节首先列举了针对 xml 数据的冗余性,都有哪些 xml 数据压缩方 法,然后分析针对 soa 这个具体应用,本文采用什么压缩方法来解决 soa 传输问 题。 在 xml 数据压缩领域,根据应用目的的不同主要划分为三个分支,分别 是面向存储和数据交换的 xml 压缩技术支持查询的 xml 压缩技术和面向特 定应用的 xml 压缩技术2。面向存储与交换的 xml 数据压缩技术以降低 xml 数据的存储空间和降低数据所需带宽为目标,主要是无损压缩方法;面向查询 的 xml 压缩技术以提高压缩 xml 数据上查询处理效率为目标,主要研究在 压缩 xml 文档上有效的查询处理算法;面向特定应用的 xml 压缩技术主要 研究利用应用的独有特征采用适合的压缩方法以达到目的。在 soa 环境下解 决服务之间大数据量传输问题属于第三类情况,本文针对 soa 具体应用,引 入辅助结构 xml schema 文档,主要目的是为了减小 xml 体积,降低对网络 带宽的需求,而不是为了压缩后的可查询,故本文的研究重点是适合 xml 的、 面向存储和交换的、不可查询的数据压缩技术。 (1)面向存储与交换的 xml 数据压缩技术 xmill3 xmill 是美国宾夕法尼亚州大学的 hartumut liefke 和 at / 先前的数据值 int curval; / 目前正在被解析的数据值 ; char parsestring (char *str, int len, void *state) return(parseint (str, len, xml schema 文档里有些数据类型(time、date、decimal 等)在表中找不到对 应的压缩算法,这时就可以让用户选用联合压缩机,它只是基本压缩算法的组合而 已,将特殊的数据形式划分成基本类型,中间用分隔符分开。使用 xml schema 文 第46页 共 63 页 档调用适合压缩程序的算法描述如下。 1. while not end of the input file do 2. switch event type 3. case:meet a pretext event 4. write string value of pretext into correspond data container 5. 6. case:meet a starttag event 7. call handlestartlabel( ) to get the name of the tag and its data container 8. compare tag name with dictionary table 9. set type attribute in corresponding data container 10. call xml schema and read element name and type value 11. put type value into type attribute in the container / type 代表 schema 中的类型,type 代表容器的类型属性,两者名称相同 但含义不同 12. push the container into the container stack 13. write the tag id into structure container 14. 15. case:meet an endtag event 16 pop the top container off the container stack 17 write 0 into structure contianer 18 end switch 19 end while 20 call corresponding compressors to compress data in all containers 21. while memory window is full or the file is end 22. switch element type 23. case: integer 24. call unsignedintcomressor to compress data 25. 26. case: date 27. call divcompressor(subcompressor, separator) to compress data / 当遇到特殊类型时使用联合压缩程序,它有两个参数,一个是调用的基本 压缩机,另一个是分隔符 28. 第47页 共 63 页 29. case: string 30. call gzip to compressor data 31 end while 根据上述描述就可以将 soa 中已有的 schema 文档应用到 xml 数据压缩上来, 根据容器的类型属性调用适合的压缩机进行处理, 如果出现没有匹配的情况就用gzip 进行压缩。当内存窗口已满或解析文件结束时,所有的容器依次被压缩形成压缩块, 这些输出文件块与之前相比减小了很多,这样在面向服务架构的不同服务之间传输 数据时降低了对网络带宽的需求,加快了处理时间,与 gzip 相比也达到了更好的压 缩效果。 本文是在 xmill 的基础上将 xml schema 文档运用到 xml 数据压缩上来,通 过读取 schema 文档中的数据类型值为每个数据容器选取适合它们的压缩方法。参 照 xmill 的工作原理图,改进后的模型将选用的压缩方法用虚线括起来,说明每次 调用 xml schema 文档时不一定能找到适合某种特殊数据类型的压缩方法,即 schema 文档中提供的类型与已有的压缩方法不能完美匹配,出现这种情况时依旧用 通用文本压缩算法 gzip 来压缩数据容器。 4.34.3 本章小结本章小结 在面向服务架构体系中,xml 数据在服务提供者与请求者之间进行传输,由于 xml 的冗余性使得交换的数据体积异常庞大,产生了 soa 数据传输问题。针对实 际应用中的这个问题,本文选择面向存储与交换的、适合 xml 数据的压缩模型对 传输的信息进行处理,目的在于减小传输数据的体积,降低对网络带宽的需求,并 将此模型命名为 xs-xmlcomp。 本章首先介绍了 xmill 的工作原理和它存在的缺陷,接着指出针对需要用户干 预的这个缺陷 xs-mlcomp 提出的改进措施。然后又叙述了压缩模型 xs-xmlcomp 中涉及的基本概念,xmill 压缩思想的实现过程,最后详细介绍了 xs-xmlcomp 的 改进之处。xs-xmlcomp 的一个创新点就是将 soa 中定义的 xml schema 文档运 用到数据压缩中,目的是期待压缩率能有所提高。 第48页 共 63 页 5 改进模型模拟实验研究5 改进模型模拟实验研究 在面向服务的架构体系中,服务提供者与请求者之间交换大量的 xml 数据时 面临传输性能挑战,针对这个实际问题本文提出了适合 xml 数据的压缩模型 xs- xmlcomp,并在前人研究的基础上,“因地制宜”地将应用中包含的 xml schema 文档运用到 xml 数据压缩上来,目的是使压缩率能得到进一步提高,减少网络间 传输数据时对带宽的占用,使 soa 面临的传输问题能在一定程度上有所缓解。本章 主要内容是通过仿真模拟实验来验证压缩模型 xs-xmlcomp 的实施效果,证明该 模型的有效性。 5.1 实验前期准备工作实验前期准备工作 为了解决面向服务架构体系中网络服务器之间交换 xml 数据面临的传输问题, 运用本文所设计和实现的 xml 压缩模型对传输数据进行压缩,并与其他压缩模型 进行比较分析,从压缩性能、处理效率和速度及对环境的适应性等方面来说明本文 提出模型的有效性。 本章搭建了仿真模拟实验平台,这里所做的每个实验都是运行在处理器为 inter pentium(m)、主频是 1.73ghz 的计算机上,操作系统为 windows xp professional, 内存 512mb,硬盘 40gb,算法的实现语言为 c+,通过 microsoft visualc+ 6.0 编 译。为了确保实验环境的连贯性和一致性,使得每个实验进行过程中都没有其他应 用程序在运行。 本文采用 5 个数据源进行测试,而且不仅要得到标准数据源的 xml 文档,还 要得到规范该文档合法性的 xml schema 文档。实验所采用的待压缩数据集都来源 于标准的 xml 数据库xbench:a family of benchmarks for xml dbmss39,它 将现实生活中真实数据转化为 xml 形式存于数据库中,并同时生成相应的合法性 验证文档 xml schema。 xbench 是一个标准 xml 数据库,包含的一系列 xml 文档都具有不同的特性 和大小,大体上可以分为以数据为中心(data-centric,dc)的 xml 文档和以文档 为中心(text-centric,tc)的 xml 文档。以数据为中心的 xml 文档结构规范,数据 颗粒度好(数据的最小独立单元是 pcdata 或属性) ,很少或没有混合内容,经常 被用于机器处理,而且通过转换可以保存在关系型或面向对象数据库中,例如企业 间电子商务涉及到的交易数据;以文档为中心的 xml 文档结构较凌乱,数据颗粒 度大(数据的最小独立单元包含有混合内容的元素或者就是整个 xml 文档) ,适合 人们日常使用,不宜在传统的数据库中存储,而是要用到专门为 xml 设计的数据 库 native xml database 来存储,例如数字图书馆中的书目信息等。 第49页 共 63 页 xbench 数据库包含的 xml 文档大小也从几 k 到几百兆不等,一份 xml 文档 可以只含有一个单独的 xml 文件(single document,sd) ,它具有较复杂的结构, 也可以是一系列 xml 文档的集合(multiple document,md) 。因此,将数据库的 xml 文档种类和大小进行组合,我们可以得到四种归类情况,分别是:tc/sd, dc/sd,tc/md 和 dc/md。在本文的实验中主要研究以数据为中心的 xml 文档, 大小范围从几 k 到几十兆,这类文档结构规范,容易看出压缩效果。 因此,本实验选用的 5 个数据源分别是 xbench 数据库中的 author.xml、 address.xml、country.xml、customer.xml 和 item.xml,从这些数据源名称上可以得知, 这些数据是关于企业客户和订单信息的交易文档,同时也获得了这些数据相对应的 xml xchema 文档。下表列出了各类数据源的详细信息。 表 5.1 各类数据源的详细信息 数据源原始大小(数据源原始大小(kb)标签种类嵌套深度是否规范)标签种类嵌套深度是否规范 author.xml127783是 address.xml1694784是 country.xml1163是 customer.xml29613193是 item.xml11227203是 由于本文所要解决的是面向服务架构体系中服务器之间数据传输面临的问题, 研究重点是 xml 文档大小的减小,占用存储空间的降低,传输时所需网络带宽的 减小,而不是为了能对压缩后文档进行有效查询。所以本文主要对比研究各种面向 存储与交换的 xml 数据压缩方法,而不是可查询的压缩方法,而且前文已经提到 可查询的压缩方法保留了 xml 文档的树形结构,它们的压缩率要比不可查询压缩 算法低得多。所以,本实验选取的压缩模型分别是:通用文本压缩程序 gzip、 winrar,适合 xml 的、面向存储与交换的压缩工具 xmill 和 xwrt,以及本文提 出的压缩模型 xs-mlcomp,而可查询的 xml 压缩工具 xgrind 和 xpress 不在本实 验的对比范畴之内。由于在 soa 架构中服务器原先采用的压缩方法是 gzip,故本 实验采用 gzip 作为参考标准,以说明本文提出的压缩方法能进一步提高压缩率。 5.2 实验结果及性能分析研究实验结果及性能分析研究 搭建好实验所需要的软硬件环境,从网上获取所需的各类数据源和压缩工具, 并对实验平台进行调试,确保实验环境的稳定性。然后运行各种压缩工具对数据源 进行压缩,记录下压缩后文件的大小、压缩时间与解压缩时间。由于实验过程中存 第50页 共 63 页 在一定的偶然性和波动性,本项目对每类数据源都进行 5 次实验,取实验数据的平 均值作为最终结果。最后将压缩前后数据源大小变化、压缩时间与解压时间等数据 输入 excel 软件进行统计分析并比较,分析每种压缩算法的优势和劣势并得出结论, 证明本文提出算法的有效性,确实能将面向服务架构中不同服务之间传输的数据压 缩得更小。 本章实验都是在没有用户干预的情况下,由压缩模型独立处理完成的,下文详 细介绍各实验内容,并分析原因。 5.2.1 压缩性能比较压缩性能比较 压缩性能比较主要是指各类数据源压缩前后文件大小的变化情况,从而来衡量 压缩模型的好坏,压缩性能通常可以用压缩率或压缩比来表示。本实验采用的压缩 率(compression ratio,cr)定义为: cr=1- ( 压 缩 后 文 档 的 大 小 / 原 始xml文 档 的 大 小 ) *100% (5.1) 可见压缩率越大说明压缩模型的性能越好。各模型如果能够很好地处理 xml 文档的结构信息与数据信息,并且待压缩数据源结构比较规整的话,那么就应该得 到比较理想的压缩效果。实验结果如表 5.2、5.3 和图 5.1 所示,表 5.2 显示了各类数 据源压缩后大小变化情况,表 5.3 显示按照表达式 5.1 计算后各压缩模型的压缩率, 图 5.1 是为了更加清晰直观地显示出数据源处理前后大小变化情况,用 excel 图表将 各压缩模型的压缩率表现出来。 表 5.2 各类数据源压缩后大小 数据源原始大小数据源原始大小 (kb) gzip (kb) winrar (kb) xmill (kb) xs-xmlcomp (kb) xwrt (kb) country.xml111.841.821.641.621.72 author.xml1277267228235.8150161 item.xml112273928.53572318229743474 address.xml169474366.739893537.7432503699 customer.xml296139494.489128156.8578379106 第51页 共 63 页 表 5.3 各压缩模型压缩率比较 压缩率(压缩率(%) 数据源原始大小 ( 数据源原始大小 (kb)gzipwinrarxmillxs-xmlcompxwrt country.xml1183.3%83.5%85.1%85.3%84.4% author.xml127779.1%82%81.5%88.3%87.4% item.xml1122765%68.2%71.7%73.5%69% address.xml1694774.2%76.5%79%81%78% customer.xml2961368%70%72.5%73.5%69.2% 图 5.1 各类数据源压缩率对比图 通过分析可以看出,本文提出的压缩方法与 xmill 的压缩率是最高的,其次是 xwrt,这是由于它们都是针对 xml 数据特点设计的压缩模型,故压缩率要好于通 用文本压缩工具 gzip 和 winrar。由于 xmill 少了用户的参与,使得它的压缩率受 到影响,没有比通用压缩工具好很多。 实验结果证实在没有用户干预情况下,本文提出的压缩改进算法要略好于 xmill,说明使用了 xml schema 文档后根据不同的数据类型寻找适合的压缩算法能 使压缩率得到一定程序的改善。但是提高的程度并不大,说明要将 xml schema 文 档中提供的数据类型与各种压缩算法进行很好的匹配并非易事,可能某种特殊的类 第52页 共 63 页 型找不到适合的压缩算法而只能使用 gzip 方法。比如对于 address.xml 文档,它只 有字符串型和整型两种类型的数据,并且整型数据量少,字符串型数据占绝大多数, 那么即使使用适合整型的压缩算法,压缩效果也不会得到很大改观。 通过压缩性能的对比试验可以看出,使用适合 xml 数据的压缩方法普遍超过 了通用文本压缩方法 gzip,在面向服务架构体系中使用 gzip 进行压缩,若采用本 实验的方法能使压缩率进一步提高。所以,本文提出的解决方案能使 soa 环境下交 换 xml 数据所遭遇的传输问题得到缓解,减小对网络带宽的需求。 5.2.2 处理速度和效率比较处理速度和效率比较 处理速度主要指的是压缩各类数据源所耗费的时间,本文把压缩时间定义为压 缩数据源开始到生成压缩文件所跨越的时间,即压缩时间=压缩结束时间-压缩开始 时间,单位为秒。处理速度从一个侧面上反映了各种压缩模型效率的好坏,如果压 缩花费时间越短,说明处理速度越快,压缩性能越好。一般而言,如果在压缩过程 中只需解析一遍 xml 文档,则压缩时间较短,效率较高,能实现好的压缩效果。 但例如可查询的压缩模型 xgrind 就需要解析两次 xml 文档,一次是字符信息的统 计,另一次是压缩编码的替换,故压缩时间较长,对压缩效果产生一定的负面影响。 由于每次进行实验都会有一定的波动,记录压缩时间时本实验采用多次测量取平均 值的方法,每个数据源被压缩 5 次,实验结果如表 5.4、5.5 和图 5.2 所示。表 5.4 显 示了各压缩模型压缩时间消耗情况, 表 5.5 显示各压缩模型解压时间消耗情况, 图 5.2 是为了更加清晰直观显示出压缩模型的处理效率,用 excel 图表将各模型的压缩时 间对比表现出来。 表 5.4 各压缩模型压缩时间比较 压缩时间(秒)压缩时间(秒)数据源数据源 gzip winrarxmillxs-xmlcomp xwrt country.xml 1.68 0.98 1.34 1.55 2.05 author.xml 1.77 1.76 2.18 2.83 2.38 item.xml 2.59 9.67 6.35 5.36 5.05 address.xml 2.38 13.26.78 8.3 5.87 customer.xml 3.76 22.59.2 11.59 9.88 第53页 共 63 页 表 5.5 各压缩模型解压缩时间比较 解压缩时间(秒)解压缩时间(秒)数据源数据源 gzipwinrarxmillxs-xmlcomp xwrt country.xml1.7 1.571.43 1.462.12 author.xml1.761.651.65 2.06 2.2 item.xml 1.932.331.79 2.53 2.95 address.xml2.042.342.57 2.662.92 customer.xml 2.57 1.74.42 4.8 4.57 图 5.2 各压缩模型压缩时间对比图 从上述图表中可以看出,各种压缩模型所消耗的压缩时间与数据源大小有关联, 基本上是成正比的趋势,数据源越大所消耗的压缩时间也越长。当数据源比较小的 时候,各种压缩模型的压缩时间区别并不大,但当数据源较大时,winrar 所花费 的时间是最长的,其次是针对 xml 数据的各类压缩模型,而通用本文压缩模型 gzip 花费时间最短,纵观各种压缩算法,gzip 的压缩时间平均都是最短的。 若比较本文提出的压缩模型 xs-xmlcomp 和 xmill,总的来说,xs-xmlcomp 压缩时间要略长于 xmill,尤其对于大型文档这种趋势越加明显,造成这种现象的 主要原因是 xs-xmlcomp 要多读取、解析一个 xml schema 文档,所用时间会有 所增加。比较 xs-xmlcomp 与面向服务架构体系中使用的 gzip 方法,它的压缩时 第54页 共 63 页 间也比 gzip 要长,主要原因是拆分容器、判断数据类型需要较长时间。但是,xs- xmlcomp 能使压缩率有所提高,压缩后文件变小,而传输时间又与所传输的数据 源大小有关,数据源变小使得传输时间缩短。所以,虽然在压缩过程中处理 xml 文档所花费的时间变长,但是压缩率的提高、传输时间的缩短可以弥补这个不足, 本文提        
    温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 整机代加工合同(标准版)
- 名校贷借款合同(标准版)
- 淄博市中医院肿瘤手术团队协作考核
- 舞蹈等级考试现代舞组合试题及答案
- 无线基站质量管理试题带答案
- 农民工作和生活试题带答案
- 厦门市中医院导电膏使用规范考核
- 泉州市人民医院术中影像引导技术应用考核
- 台州市中医院眼科住院医师规范化培训考核
- 丽水市中医院精液分析质量控制考核
- 11《百年孤独(节选)》任务式公开课一等奖创新教学设计统编版高中语文选择性必修上册
- 2025年汽车后市场汽车维修配件电商平台研究报告
- 2025年三力测试题库及答案
- 中国铁建股份有限公司招聘笔试题目
- 2025 小学技术课创意机器人之快递小帮手课件
- 2025年10月全国自考《00226知识产权法》真题及答案
- 服饰色彩搭配培训
- 县绩效考核方案范文(30篇)
- TD-T 1055-2019 第三次全国国土调查技术规程
- 常见的羟基的保护与脱保护方法
- 国网基建各专业考试题库大全-安全专业-上(单选题汇总)
 
            
评论
0/150
提交评论