V3.0 全新发布 · 分布式去重引擎
全部文章

精选博客

自建号码数据库系统怎么做:从规则到上线容易漏的步骤

制作自建号码数据库系统时,按规则文档、表结构、底库导入、权限和试运行排列流程,并标出上线前最容易漏的验收项。

104 次浏览
自建号码数据库系统制作流程号码数据库

业务侧已经写过为什么要 自建号码数据库,以及空库怎么 落到日常比对。这篇对着做系统的人:一套 自建号码数据库系统 从需求到上线,步骤顺序错了,后面全是补丁。

“自建”不是自己买一台机器这么简单。它指规则、底库、账号和导出都在你控制的环境里。云主机还是机房,是部署选项;规则和数据归属才是系统目标。

第 0 步:先出三页纸,再开仓库

很多项目第一天就建表。建议先逼业务在纸上签字的只有三件事:

  1. 什么叫重复(含国际号写法、分机、虚拟号)
  2. 哪些历史数据必须进底库,哪些只进“观察”不要当重复依据
  3. 谁可以导出通过号、谁可以导出整库

这三页不定,开发做的每一张表都会返工。功能边界可对照 手机号码去重工具开发功能清单

第 1 步:键和规则版本一起设计

系统核心不是“号码列表页”,是比对键。

  • 库里 unique 的是规范化键,不是表格原文字符串
  • 每条记录保留 raw、region、key、source、imported_at
  • 规则打版本。例如 rule_v3。改号长判断时,旧任务结果仍能解释当时为什么判重复

没有版本的规则,三个月后没人说得清“这批为什么和那批口径不同”。表怎么拆,见 号码数据库系统怎么设计

第 2 步:底库分层导入,禁止第一天倒全部 Excel

制作流程里这一步最容易被项目经理跳过。把五年间所有采购包一次性灌进去,库会充满:

  • 被 Excel 科学计数法破坏的号
  • 未标地区的国际号
  • 测试号、员工号、重复采购的同一包

建议只先导入两层:成交/投诉等“必须保护”的号,以及近两个季度的获客包。其余分批,带着来源标记进。乱数据进了 unique 索引,以后只能靠人工挖。

导入任务要可回滚:一批发现地区设错,应能按 batch_id 撤,而不是手改几万行。

第 3 步:权限和审计跟功能同一迭代,不要“上线后再加”

自建的意义之一是名单不外传。如果第一版所有人都能把底库下载成 xlsx,系统只是换了个存放位置。

最小角色:

  • 管理员:规则、账号、整库导出
  • 运营:创建任务、看结果、导出当次通过/重复
  • 业务:提交查重,看不到底库

每次导入和导出记操作人、文件名、条数。误伤时才有东西可查。多人同时用时的队列问题,见 号码去重复软件如何支持多人查重

第 4 步:试运行用“脏样本”,不要用演示用的干净号

上线前至少跑一周并行:旧流程继续,新系统出结果,人工抽查不一致的行。样本里必须有:

  • 混写国家码
  • 前导 0 的国外本地号
  • 确定重复的探针号
  • 被 Excel 改坏的单元格
  • 空表头、多 sheet 的 xlsx

只拿 20 个国内 11 位干净号验收,上线当天就会被真实文件打脸。验收清单可以复用 号码数据去重软件怎么验收

第 5 步:把系统嵌进已有工序,而不是多一个后台

系统如果只是“登录看一看”,两周后没人用。要规定:

新名单 → 系统出通过号 → 通过号才能进外呼/短信/社交 → 触达结果按需回写(接通、成交、投诉)

回写不是第一版必做,但表上要留状态位。做到这一步,库才开始值钱。产品侧对应的导入、全球格式和权限,见 核心功能;部署形态见 底层架构

制作流程上三个特别容易翻车的点

中途改默认地区。 一批东南亚号按中国规则收,键全错。默认地区必须是任务级参数,不要写成全局常量后偷偷改。

用生产库当测试库。 开发用真实客户号调试导出,等于又开了一条泄漏通道。测试库用脱敏号。

没有失败续跑。 80 万行在 60 万处进程被杀,重跑却从 0 开始并且重复写入。任务要按分片或游标可续,状态机见 手机号码批量去重

常见问题

自建号码数据库系统一定要自己写代码吗?

不一定。关键是数据和规则在你这边。可以用现成系统部署到自己环境,不必从解析库重写。自己写的成本主要在规则维护和各国格式,不在页面。

第一版要不要上分布式?

库在百万级以内,先把规则、任务、权限做对。分布式是规模上来之后的事,见 亿级号码怎么做到秒级去重。过早分片会让规则版本和批次回滚更难。

从哪看一套已按这个流程搭好的系统?

在线 Demo 看任务和结果形态。按自己底库部署,联系 Telegram @imchat