문제

나는 집 예측 다이얼러 제품이있는 소프트웨어 상점에서 일하고 있으며, 우리는 전화를하지 않는 목록에 순종 할 수있는 솔루션을 구현해야합니다.

기본적으로 전화 해야하는 고객/예비 고객과 데이터베이스가 있고 전화 할 수없는 전화 번호가있는 다른 데이터베이스가 있습니다. 시스템은 작동, 시간 평균 및 재료의 성능을 기반으로 예측 다이얼러이므로 로그인 시스템 사용자마다 다소 호출됩니다. 일반적 으로이 '마법'숫자는 로그인 에이전트 당 약 3-4 개의 통화입니다.

예측 다이얼러의 전화 번호 저장소는 PostgreSQL 데이터베이스입니다. 예측 다이얼러는 데이터베이스에서 많은 숫자를 선택하고 PBX에 명령을 보내서 무리를 다이얼 한 다음 비즈니스 로직은 유효한 통화를 콜센터 서기 등으로 전송합니다 (이것은 내와 관련이 없습니다. 문제는 전화 전입니다).

Do-Not-Call 목록 기능을 구현해야합니다. 이 전화 통화 목록은 정부 기관, CSV 파일로 매일 회사에 제공됩니다. 새 CSV 파일을받을 때마다 이전의 CSV 파일을 제거하고 새 파일을 제자리에 놓아야합니다.

그것을 구현하려는 첫 번째 생각은 배치 처리를 수행하는 것이며, 현재 고객 데이터베이스와 함께 Do Not Call 목록을 상호 참조했습니다. 그러나 두 데이터베이스의 크기에 따라 교차 참조는 매우 성능 집약적이며 때로는 밤새 끝날 수 없다고 생각합니다. 나는 전에 배치 처리와 관련하여 이런 종류의 문제를 겪었고,보기에 좋은 것은 아닙니다.

두 번째 아이디어는 대규모 기관이 신용 카드 또는 사용자 인증/인증과 같은 고성능 및 고성능 인증 시스템을 처리하는 방법에 대해 생각했을 때 나타났습니다. Do Call List Number에 대한 인증 서비스를 작성하고 예측 다이얼러의 알고리즘을 변경하여 전화 걸기 전에이 권한 부여 서비스에 대해 각 번호를 확인하는 것이 깔끔한 것으로 생각했습니다.

내가 여기서 만 연결되기 때문에, 나는 어떤 아이디어가 최고인지 전혀 모른다. 그래서 내 질문은 : 당신의 추천은 무엇입니까? CSV 파일을 메모리에 저장 하시겠습니까? LDAP를 사용 하시겠습니까? MySQL을 사용 하시겠습니까? PostgreSQL? 배치 처리가 필요한가요? 아니면 확실히 망쳐 졌습니까?

나는 세상에서 이런 종류의 문제를 겪은 사람이 아니라는 것을 알고 있습니다.

도움이 되었습니까?

해결책

가능한 항목의 방대한 공간 내에서 많은 출품작을 찾는 데있어서 당신의 도전은 나를 상기시켜줍니다. DNS 블랙/블록 목록.

RBLDNSD 작고 빠른 DNS 데몬으로 특히 DNSBL 영역을 제공하기 위해 만들어졌습니다. 이 데몬은 DJBDNS 패키지에서 발견 된 Dan J. Bernstein의 RBLDNS 프로그램에서 영감을 받았습니다. Google에서 더 많은 RBLDNSD

이름 기반 영역을 지원하므로 숫자 목록을 열거 스타일 URI로 변환 할 수 있습니다 -1-555-4242는 2.4.2.4.5.5.5.1.e164.arpa가됩니다. 그런 다음 RBLDNSD DataFile에 입력하고 메모리로 컴파일하고 다른 블록리스트와 마찬가지로 액세스됩니다. 기본 항목은 CAN 통신을 의미하거나 항목이 존재하면 DONOTCALL 항목이 제공됩니다.

그러나 배치 변환 문제가 여전히 있지만 Perl 또는 AWK와 관련하여 다소 간단한 스크립트 일 것입니다. 병렬 처리를 위해 들어오는 CSV 파일을 여러 파일로 나누고 최종 병합을 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top