[发明专利]一种快速处理XML压缩数据的方法及其装置有效
申请号: | 200910238256.5 | 申请日: | 2009-11-24 |
公开(公告)号: | CN102073663A | 公开(公告)日: | 2011-05-25 |
发明(设计)人: | 王晓磊;仇睿恒;张磊;王毅 | 申请(专利权)人: | 北大方正集团有限公司;北京大学;北京北大方正技术研究院有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 陈源;罗建民 |
地址: | 100871 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 处理 xml 压缩 数据 方法 及其 装置 | ||
技术领域
本发明涉及XML数据处理领域,尤其涉及一种快速处理XML压缩数据的方法及其装置。
背景技术
在现有的XML数据压缩方法中,有很多压缩方法是基于XML结构和数据特征的处理方法,比如XGRIND、XPRESS等。在这些方法中,一方面,避免使用XML原始的容器方式表示结构,并且在压缩后的数据中直接保存XML的结构信息,以实现对压缩数据的直接查询;另一方面,把具有同种数据类型或具有类似特征的数据放到一起压缩,以达到较高的数据压缩比。从这类将结构与数据分离压缩的压缩数据中读取信息时,通常的做法是首先解压缩出原始XML数据,再使用公知的XML解析方式进行解析,相关内容可参见专利号为US 7,013,425B2的美国专利“Data processing method,and encoder,decoderand xml parser for encoding and decoding an xml document”和公开号为US 2004/0225754A1的美国专利申请“Method ofcompressing xml data and method of decompressing compressed xmldata”。
比如,在XGRIND压缩方法中,分别对表示XML结构的元数据(XML标签和属性的形式)、枚举型属性值和一般元素/属性值采取不同的压缩方法。具体地讲,对于元数据,每个开始标签用一个字符“T”加上一个唯一分配的元素ID编码,所有的结束标签用一个字符“/”编码,属性名用一个字符“A”加上一个唯一分配的属性ID编码;对于枚举型属性值,采用字典编码法;对于一般元素/属性值,采用霍夫曼编码法(参见http://dsl.serc.iisc.ernet.in/pub/xgrindicde02.pdf)。按照现有方法对XGRIND压缩数据中的结构信息进行读取时,程序首先需要读出表示XML结构信息的字符和编号,通过某种方式转换为开始标签、结束标签或属性名的字符串表示,再使用公知的XML解析方法对字符串形式的XML数据进行解析,从而分析出XML结构信息。对XML数据进行读取时,也是先解压缩成字符串表示,然后对字符串表示的XML数据进行解析。在整个读取过程中,额外的计算机资源消耗包括在整个读取过程中,额外的计算机资源消耗包括解压过程中将XML结构信息和XML数据处理为符合XML形式字符串的运算消耗、解压缩后XML数据的存储消耗、XML解析方法中的字符串比较、查找的运算消耗以及解析字符串形式的XML数据的运算消耗。这些计算机资源消耗造成了程序运行效率的降低。
再比如,在XPRESS压缩方法中,分别对标签和不同类型的数据值采取不同的压缩方法。具体地讲,对于标签的压缩,将元素的路径编码为[0.0,1.0]中的某一间隔,并使用这些间隔之间的包含关系,对路径表达进行估计。对于数据值的压缩,具体地,对于数字型数据值,整数则采用差分编码,浮点数则采用f32编码;对于字符串型数据值,枚举型则采用字典编码,文本数据则采取霍夫曼编码(参见http://islab.kaist.ac.kr/chungcw/InterConfPapers/sigmod2003_jkmin.pdf)。按照现有方法读取XPRESS压缩数据时,除了上述问题之外,还存在关于浮点数类型的数据的问题。具体地讲,如上所述,在XPRESS中,对类型为xsd:float的XML数据采用f32编码,其数据表示方式与IEEE单精度浮点数表示相同,在压缩后的数据中记录为4个字节。按照现有方法对该类型的数据进行读取时,因为XML Schema规范规定类型为xsd:float的数据必须表示为十进制形式,所以XML数据解压过程涉及从IEEE单精度浮点数表示到浮点数的十进制字符串表示的转换,需要经过多次浮点数乘法和浮点数加法运算;而在应用程序内部,该XML数据一般对应于计算机中的一个浮点数类型的数值,在大多数计算机系统中,浮点数类型数值的表示方式正是IEEE单精度浮点数表示,因此,XML数据解析过程又涉及再把浮点数的十进制字符串转换为IEEE单精度浮点数表示,同样需要经过多次浮点数乘法和浮点数加法运算。可以看到,整个过程中有两次多余的数据表示方式转换,而且对常见的计算机体系架构来说,浮点数运算的开销是相对较大的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北大方正集团有限公司;北京大学;北京北大方正技术研究院有限公司,未经北大方正集团有限公司;北京大学;北京北大方正技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910238256.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于农业领域本体库的语义检索系统和方法
- 下一篇:词汇分类系统及其方法