论文部分内容阅读
如今是一个数据的时代,随着大数据技术的发展,越来越多的行业需要使用这些新技术重新挖掘曾经积累的数据的价值,使其发挥出更大的作用,更好的为用户和企业服务。而这些数据大都是不完整、不一致的脏数据,无法直接进行数据挖掘,或者挖掘结果差强人意,故需要对数据进行预处理。本人有幸参与了某专利检索分析平台项目的开发,负责该平台中的底层异构数据预处理系统的设计与实现工作。本文从系统的项目背景及意义、国内外发展现状、系统需求分析、系统技术架构、系统功能结构、数据详细设计、系统详细设计与实现以及测试等方面对本系统进行了详细阐述。本系统为该平台提供专利数据预处理与存储服务。由于专利数据具有文件数量巨大且散碎、数据格式多样、数据语言多样、数据来源不一致等特点,而且需要在短时间内将专利数据加载入库,故而本文设计了索引数据的概念,将专利数据进行了封装,并基于Quartz框架设计并实现了多任务并行方式加载专利数据入库的功能,同时采用了五种不同的数据库满足数据存储功能。这五种数据库分别为检索数据库Hybase存储需要检索的数据;NoSq1数据库MongoDB存储供前台展示的半结构化数据;分布式文件系统存储海量的非结构化数据;缓存数据库Redis存储需要缓存的业务数据;关系型数据库MySQL存储数据流转过程中的控制、运维数据。并且这五种数据库均采用分布式方式进行部署,同时采用主从、双机热备、ZooKeeper等方式保证数据库的高可用性。本系统共有五个模块,分别是数据加载与更新模块、数据质检模块、数据修复模块、数据监控模块以及任务编排工具模块。其中数据加载与更新模块是重中之重,在加载数据入库时,将一个索引数据文件作为一个批次,采用批次的方式对数据进行分批加载入库;同时利用索引数据文件对专利数据文件的封装,从而可以使用多任务并行方式处理数据入库;并且将数据加载入库分为多个阶段进行,每个阶段都可以对数据进行校验、回滚。数据质检模块和数据监控模块协同工作,可以及时发现错误数据。数据修复模块负责对数据进行修复。任务编排工具模块负责自动拷贝索引数据文件。本系统已经交付使用并如期上线,而且已将积累的专利数据全部加载入库,提供用户使用。目前系统运行情况良好,同时为了提高该产品的竞争力,公司也在积极推广,相信会有更多的用户使用本产品。