POI 数据校验是 POI 数据正确性的保证, 而针对结果校验是数据发布正确性的最后一道保障, 所以对数据校验需要在多个纬度进行, 力求 POI 的正确性.
数据变更主要分为状态变更, 关键字段变更以及详情字段变更. 其中状态变更影响最大, 可以造成线上 POI 的上下线状态改变, 而基础字段和详情字段则会影响业务的正确性. 须知数据变更引起的原因有多种, 基本可以分为 3 类:
1. 数据来源变更
2. 处理策略变更
3. 系统性错误
1. 数据来源变更, 数据新增, 下线接入来源或者既有来源的大量数据变更都可能造成 POI 数据变化;
2. 处理策略变更, 处理过程中针对状态或者关键字段的策略变化会引起数据变化, 例如新增一个名称过滤策略, 如果名称不合法则将数据直接过滤下线, 如果这个策略影响面较大会造成数据的大面积下线; 而如果名称策略只是将不合法字符屏蔽那么数据会上线, 而名字可能和实际 POI 有出入.
3. 系统性错误则是指在处理过程中 bug 造成的数据错误, 这种错误影响的数据会比较集中造成的数据面影响会比较大, 但是也最容易发现, 只需比较新的数据结果与上一版本数据是否变更, 变更率是否有明显变化则可以迅速预警数据系统性错误.
数据校验:
字段校验: POI 数据字段的值类型, 取值范围的校验, 实现过程可以将规则写入配置, 当规则有变化时可以通过修改配置实现与代码分离
规则校验: 对数据整体设置校验规则, 如某个字段必须有值以及和某个字段有校验规则, 某个字段有值率的占比, 当不符合规则时则进行拦截
变更校验: 比较本次发布数据和上一次发布数据的变更, 包括数据新增和下线, 以及两次发布同时存在的数据字段的变更, 当没有变更时名称, 地址, 坐标作为关键字段其变化率应少于 1‰, 如果变更多余该值则应该确认数据来源, 策略是否有变更, 且变更结果符合预期.
因此数据校验和策略, 数据接入应进行联动; 当数据接入有变化时如数据在一段时间内接入数据变化可能引起的 POI 集合变化; 数据策略变更引起的结果变化以及预期的结果应有告知的流程, 并与校验的结果互相印证; 当变更预期与预先设计不符时, 应该引入人工评测, 评估本次数据变更是否对数据有积极影响, 判断是否上线.
来源: http://www.bubuko.com/infodetail-3356963.html