论文部分内容阅读
大数据时代赋予的机遇和挑战,使数据质量保证技术研究和实践显得尤为必要。传统数据测试方法耗费人力且不全面,通过结构探测、类型学习和规则检测将二维表和树状结构数据测试自动化的同时,需将测试结果可视化,辅助数据负责人发现和分析数据问题。同时为保证数据测试任务正确执行,需在规则编写阶段保证规则代码质量。此外,业务人员积累的数据检测经验有待利用,在发现数据问题的基础上直接进行修复。由于数据不断更新会给使用主体带来质量风险,因此需要一套完整的周期性数据监控方案,及时预警数据质量问题,并为问题解决提供线索。本通用数据测试平台就是为支撑二维表和树状结构数据的测试、修复和监控等质量保证业务而搭建的。笔者根据软件工程思想独立完成了本论文所提及的数据测试、修复和监控各模块功能的需求分析、设计实现和测试等工作。首先,笔者分析系统任务和目标用户以及数据测试、修复和监控三大关键业务过程,并在此基础上识别系统用例,划分各模块子功能点,明确系统功能性和非功能性需求,然后从逻辑分层架构、JSON数据接口和数据库角度完成系统概要设计,并基于LAMP框架、PHP Yii框架和前端JQuery、Ajax等技术实现数据测试报告和数据预览功能,将数据结构、类型和指标可视化,辅助分析数据问题和编写用户扩展规则,在自动化测试的基础上,充分利用人的认知能力和在特定领域积累的业务经验,同时设计和实现了一套通用的简单Python代码检测机制用于保证规则代码质量,此外在规则计算流程中增加数据修复机制,直接提升数据质量,并在数据测试基础上,设计和实现了一套完整的数据文件、覆盖率和错误率质量指标监控方案,及时预警数据质量问题,同时提供数据指标报表和基于百度Echarts技术的分组重点属性覆盖率变化趋势图服务,方便整体把握数据质量状况并为数据问题定位提供线索。目前该通用数据测试平台每天为公司20多个部门提供数据质量保证服务。其中数据监控模块上线半年来,共积累监控模板40+个,截至2015年4月14日15时,平台累计执行监控计算19172次,在团购、人物关系图谱等线上重要数据监控过程中发现有效问题数30+,相关功能简单易用,及时发现抓取模板失效或其他数据质量不达标问题,并通知和推动数据负责人跟进解决,为基于相关数据的产品迭代和运营决策提供了保障。