我的软件商店,里面有一个在内部预测拨号器产品的工作,我们需要实现的解决方案,以服从于DO-NOT-CALL名单。

基本上,我有我需要调用客户/潜在客户数据库,并与电话号码,我不能调用另一个数据库。由于该系统是一个预拨号器,基于操作,时间平均和材料的性能,它会按拨号登录系统的用户或多或少的电话。通常这种“魔力”数量约为3 - 每记录剂4的呼叫

用于预测拨号的电话号码库是PostgreSQL数据库。预测拨号器从数据库中挑选一组号码并发送指令到PBX拨打一堆,然后将业务逻辑继续到有效呼叫转移到呼叫中心的职员,和等(这是不相关的我的问题是调用之前)。

我需要实现拒收通话清单功能。这拒收通话清单将由政府机构提供给我公司,在CSV文件中,每天的基础上。我收到一个新的CSV文件每一次,我一定要清除旧拒收来电列表,并制定新的。

我首先想到的实现它是做一个批处理,交叉引用我目前的客户数据库中不调用列表。但我认为,这取决于这两个数据库的大小,交叉引用将是非常密集的性能,有时无法完成过夜。我以前也有过这样与批量处理的问题,它不是一个很好的事情看到的。

我的第二个想法来到了,当我想到大机构如何处理的高性能和高通量的授权系统,如信用卡或用户认证/授权。我认为,建立一个认证服务,为不调用列表编号,并改变了我的预测拨号器的算法来检查每个号码在此授权服务之前拨号会整齐。

由于我只是confabulating在这里,我不知道这想法是最好的,或者如果我得到它完全错误的,应该着眼于另一个方向。所以,我的问题是:什么是你的建议?商店中的不叫CSV文件在内存中?使用LDAP?使用MySQL? PostgreSQL的?做批量处理的事情吗?还是我肯定搞砸?

我知道我不是在世界上有这样那样的问题的第一人,所以请赐教。

有帮助吗?

解决方案

您的挑战,从可能条目的广阔空间内找到多个条目的,让我想起的DNS黑/块列表的。

  

rbldnsd 是一个小而快的DNS   守护这尤其是由   服务DNSBL区。这是守护进程   由Dan J. Bernstein的rbldns启发   在djbdns包找到的节目。 更多rbldnsd,从谷歌

它基于域名的区域的支持,所以你可以转换数字来ENUM式的URI列表 - 例如,+ 1-555-4242变得2.4.2.4.5.5.5.1.e164.arpa。这则进入rbldnsd数据文件,编译到内存中,像任何其他块列表访问。缺省条目装置可以呼叫,或者如果条目存在,它会被给予DoNotCall条目。

您已经仍然得到了批量转换的问题,虽然,虽然这将是一个较为简单的脚本,很可能是与Perl或AWK。你也可以输入的CSV文件分割为多个文件的并行处理,和最后的合并。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top