● 摘要
随着计算机及网络技术的迅猛发展和广泛应用,一些大型企业为了对其生产的各种设备(如打印机,服务器,交换机,网络存储,芯片等)的性能参数及运行状态进行监控,需要一个较为可靠的系统来搜集这些设备的数据信息并统一管理。然而不同的设备,不同的通信协议所带来的数据的异构性和复杂性使得这些数据的统一化管理变得尤为棘手。
本论文的主要研究内容:针对来自于不同设备,不同协议的XML数据进行统一的解析处理,并存入数据库。系统开发主要采用java语言,配合部分脚本来设计,开发平台为大家都比较熟悉的eclipse。基于数据来源的多样性,这里将统一采用XML规范的数据。 尽管XML具备了作为通用数据描述语言的优秀特征,但是XML不是编程语言,说到底它是一种数据描述的技术。
数据处理系统将采用JAXB(Java Architecture for XML Binding)和ORM (对象关系映射:Object Relational Mapping) 技术相结合的方式来对数据进行处理。基于XML Schema 的XML 文档的对象化,可利用JAXB技术实现。JAXB 是业界的标准,其核心是XML Schema 和Java 类及接口的双向映射技术。从技术层面来看,JAXB和ORM使用和生成的Java 对象往往不能够一一映射,由于XML 的灵活性,会存在一组ORM的Java对象要映射到多个类型的XML。那么在对于现有系统进行改造和扩展的时候,数据库设计已经无法更改,需要生成多种类型的XML文档,这种情况是很难避免的。
此外,由于XML数据来源于不同的设备,采集过程中也使用的是各种不同的协议,所以造成了数据格式的多样性。由于数据来源的实时变动性,在对现有系统进行改造和扩展的时候,我们不可能频繁的去改动数据库的结构,来适应新增的或者改动过的数据类型。所以我们设计和实现上最大的难点就是在不对数据来源加以约束的情况下,系统必须灵活的适应各种数据类型,这就要求通过增加业务逻辑的复杂度,而减少数据库底层和代码的变动。
以上技术难点在本论文中已经给出了合适的解决方案。通过多任务机制的处理方式,采用了XML的多级映射和转换,以及java设计模式的合理使用,让系统具备非常强大的数据处理能力和很好的扩展性。而论文的主要研究任务就是完成多源数据采集系统的解析和处理层开发,设计出完整的解析方案和部分主要层级的系统架构,并实现多源数据的自适应处理和最终的数据库存储。