论文部分内容阅读
随着IT技术、互联网技术的迅猛发展,信息作为人类文明的载体,在现代人类生活中扮演者”双刃剑“的角色。一方面由于互联网的普及,人类可以随时随地得到各种信息;另一方面,从广阔的信息海洋中迅捷地提取有价值的内容,变得十分不容易。XML(可扩展标记语言)作为信息交互的标准之一,以其简单性、结构性、扩展性、开放性等,在数据库、Web技术、物联网等项目中被广泛的应用。随着XML的广泛应用,如何分布式的并行处理XML成为了目前的热点研究项目。目前,处理XML数据主要有三种成熟的方案,将XML置于XML原生数据库(如existdb)中处理,或者将XML以某种形式存入关系型数据库(如SQL Server)后再处理,又或者把XML直接当成文件在文件管理系统中读取处理。但随着XML数据量的增长与XML数据结构的升级变更,这三种方案均无法满足大规模高效集中式管理XML数据的要求。本文结合目前流行的云计算技术,研究与实现了分布式环境下对XML的编码与检索。具体的说,针对XML在物联网上的广泛应用,从存储、检索、数据挖掘等方面多维度的系统的处理海量小XML文件。首先,针对XML与HBase数据库存储结构的特点,利用MapReduce并行编码,巧妙的在HBase上存储了XML的整体模式结构与各个节点信息。然后,部分翻译了XPath相关常用语法,调用HBase数据库的API执行并行检索以及数据挖掘。最后,利用科学样本数据,验证了设计的正确性和相关查询性能。值得一提的是,本文相关设计的存储和查询均建立在Hadoop的开源组织架构上,使用Hadoop可以很容易地开发分布式应用,集群可以由廉价计算机组成,Hadoop框架保证了整套平台的高可用性与高效性,从而使得本文重心在算法和平台架构上,而不是在分布式系统的任务分配调度与节点消息传递上。