상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 바람직한 실시예의 일측면에 따르면, 온라인 시스템과 빌링 시스템이 적어도 하나 이상의 데이터베이스를 공유하는 시스템에서, 고객 관리 업무를 위한 온라인 시스템과 청구 요금 계산을 위한 빌링 시스템이 각각 업무를 분산 처리하도록 하기 위한 빌링 방법에 있어서, 제1 데이터베이스를 당월 청구서 발행 이후의 상태로 변환하는 단계와, 상기 변환된 제1 데이터베이스에 저장된 데이터를 제2 데이터베이스로 복사하는 단계와, 과금 계정을 기준으로 상기 복사된 제2 데이터베이스를 이용하여 빌링 작업을 수행하는 단계 및 상기 제1 데이터베이스와 상기 제2 데이터베이스를 동기화하는 단계를 포함하는 분산 처리를 이용한 배치형 빌링 방법이 제공된다.
상기 제1 데이터베이스를 당월 청구서 발행 이후의 상태로 변환하는 단계는, 빌링 작업 개시 이후 발생한 변동 사항은 익월 청구서 반영되도록 상기 제1 데이터베이스의 청구서 일련 번호를 일정값 만큼 증가하는 단계이다.
상기 제1 데이터베이스와 상기 제2 데이터베이스를 동기화하는 단계는, 빌링 작업이 완료된 과금 계정의 수에 상응하여, 상기 빌링 작업이 완료된 과금 계정을 동시 동기화 가능한 수로 분할하는 단계와, 동시에 적어도 하나 이상의 과금 계정을 기준으로, 상기 제1 데이터베이스와 상기 제2 데이터베이스를 비교하여 빌링 작업 기간 동안 상기 제1 데이터베이스에 변동이 발생하였는지 여부를 판단하는 단계 및 상기 판단결과에 상응하여, 제2 데이터베이스의 데이터를 제1 데이터베이스로 전송하는 단계를 포함한다.
본 발명의 바람직한 실시예의 다른 측면에 따르면, 온라인 시스템과 빌링 시스템이 적어도 하나 이상의 데이터베이스를 공유하는 시스템에 있어서, 제1 데이터베이스를 당월 청구서 발행 이후의 상태로 변환하는 빌링 마감 수단, 상기 변환된 제1 데이터베이스에 저장된 데이터를 제2 데이터베이스로 전송하는 복사 수단, 과금 계정을 기준으로 상기 복사된 제2 데이터베이스를 이용하여 빌링 작업을 수행하는 빌링 수단 및 상기 제1 데이터베이스와 상기 제2 데이터베이스를 동기화하는 적어도 하나 이상의 동기화 수단을 포함하는 분산 처리를 이용한 배치형 빌링 시스템이 제공된다.
상기 제1 데이터베이스를 당월 청구서 발행 이후의 상태로 변환하는 빌링 마감 수단은, 빌링 작업 개시 이후 발생한 변동 사항은 익월 청구서 반영되도록 상기 제1 데이터베이스의 청구서 일련 번호를 일정값 만큼 증가시키는 수단이다.
상기 제1 데이터베이스와 상기 제2 데이터베이스를 동기화하는 적어도 하나 이상의 동기화 수단은, 빌링 작업이 완료된 과금 계정의 수에 상응하여, 상기 빌링작업이 완료된 과금 계정을 동시 동기화 가능한 수로 분할하는 수단과, 동시에 적어도 하나 이상의 과금 계정을 기준으로, 상기 제1 데이터베이스와 상기 제2 데이터베이스를 비교하여 빌링 작업 기간 동안 상기 제1 데이터베이스에 변동이 발생하였는지 여부를 판단하는 수단 및 상기 판단결과에 상응하여, 제2 데이터베이스의 데이터를 제1 데이터베이스로 전송하는 수단을 포함한다.
상기 제1 데이터베이스는, 상기 온라인 시스템과 상기 빌링 시스템이 공유하는 적어도 하나 이상의 빌링 관련 데이터베이스일 수 있다.
상기 제2 데이터베이스는, 상기 빌링 시스템만이 억세스 할 수 있는 적어도 하나 이상의 데이터베이스일 수 있다.
상기 과금 계정은, 적어도 하나 이상의 고객에 부여된 고유한 식별 번호일 수 있다.
이하에서는 첨부된 도면을 참고로 하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 2a, 도 2b 및 도 2c는 본 발명의 바람직한 실시예에 따른 분산 처리를 이용한 배치형 빌링 시스템 및 시스템 상에서의 처리 흐름을 개략적으로 나타낸 구성도이다.
도 2a, 도 2b 및 도 2c를 참조하면, 본 발명에 의한 배치형 빌링 시스템은 온라인 시스템(200), 빌링 시스템(210), 온라인/빌링 시스템 공유데이터베이스(220), 복사된 온라인/빌링 시스템 공유 데이터베이스(230) 및 빌링 시스템 전용 데이터베이스(240)를 포함한다.
온라인 시스템(200)은 기존 온라인-빌링 통합 시스템에서 빌링 프로세스만 제외한 나머지 모든 프로세스를 처리하는 시스템으로, 유닉스(UNIX) 머신 또는 메인 프레임일 수 있다. 상기 온라인 시스템(200)은 빌링 시스템(210)에 의한 빌링 작업 개시 여부와 상관 없이 온라인 단말기(100)를 통해 전송되는 변경된 고객 정보 또는 수납 정보 등을 온라인/빌링 시스템 공유 데이터베이스(220)에 저장한다.
또한, 상기 온라인 시스템(200)은 고객이 온라인/오프라인으로 전월 요금 내역 조회를 요청할 경우, 요청된 요금 내역을 제공하기 위해 기존 빌링 프로세스를 포함할 수 있다. 따라서, 당월 청구서를 통해 고객에게 청구할 금액을 정산하는 빌링 작업은 빌링 시스템(210)에서 전담하고, 온라인/오프라인으로 제공하는 요금 내역 조회 서비스는 기존 빌링 프로세스가 전담한다.
빌링 시스템(210)은 상기 온라인 시스템(200)과 동급 또는 그 이하의 처리 성능을 갖는 유닉스 머신 또는 메인 프레임으로써, 청구서 발행을 위한 빌링 작업만을 처리한다. 바람직하게는, 메인 시스템의 오류 발생시에도 지속적으로 업무를 수행하기 위해 보유하고 있는 보조 시스템을 빌링 작업시에만 빌링 시스템으로 이용할 수 있다.
온라인/빌링 시스템 공유 데이터베이스(220)는 고객 관리 업무, 배치 업무, 빌링 업무, 수납 업무, 청구 업무 등에 필요한 정보가 저장된 저장 장치로서, 일반적으로 관계형 데이터베이스(Relational Database)가 이용된다. 상기 온라인/빌링시스템 공유 데이터베이스(220)에 포함된 조정 내역 데이터베이스(221), 청구 내역 데이터베이스(222), 과금 계정 데이터베이스(223) 및 수납 내역 데이터베이스(224)는 이후 첨부된 도면을 참조하여 자세히 설명한다.
복사된 온라인/빌링 시스템 공유 데이터베이스(230)는 상기 빌링 시스템(220)에 의한 빌링 작업 개시 직전의 온라인/빌링 시스템 공유 데이터베이스(220)를 복사한 데이터베이스이다. 상기 복사된 온라인/빌링 시스템 공유 데이터베이스(230)는 상기 빌링 시스템(210)에 의해서만 억세스가 가능하며, 빌링 작업 도중 상기 온라인 시스템(200)에 의해 변경된 상기 온라인/빌링 시스템 공유 데이터베이스(220)와 일치하지 않을 수 있다. 즉, 임의의 고객 또는 과금 계정에 대한 상기 온라인/빌링 시스템 공유 데이터베이스(220)의 변경 사항은 해당 고객 또는 과금 계정에 대한 빌링 작업이 종료되기 전까지는 상기 복사된 온라인/빌링 시스템 공유 데이터베이스(230)에 반영되지 않는다.
과금 계정(billing account)은 고객 1인당 또는 복수의 고객에 대해 부여된 고유 번호로서, 청구 대상을 특정할 수 있는 유일한 식별수단이며, 빌링 관련 데이터베이스는 모두 과금 계정 필드를 포함하고 있다. 복수의 고객에 하나의 과금 계정이 부여되는 경우는, 회사 직원들의 업무용 이동 통신 사용료를 회사에서 일괄적으로 납부하거나, 가족 구성원들의 신용카드 대금을 하나의 통장에서 자동이체 하도록 할 경우에 발생한다.
빌링 시스템 전용 데이터베이스(240)는 상기 빌링 시스템(210)에 의해 빌링 작업에만 사용되는 데이터베이스이다. 상기 빌링 시스템 전용 데이터베이스(240)는빌링 작업이 완료된 고객 목록 또는 과금 계정 목록을 저장한다.
이하 도 2a, 도 2b 및 도 2c에 도시된 개략적인 시스템 구성도를 이용하여 본 발명에 대해 간략히 설명하기로 한다.
도 2a를 참조하면, 일정한 청구서 발행주기에 의해 청구서 작업일이 도래하면, 빌링 시스템(210)은 가동을 시작하고, 빌링 작업에 필요한 온라인/빌링 시스템 공유 데이터베이스(220)는 빌링 시스템(210)으로 복사된다.
도 2b를 참조하면, 빌링 시스템(210)은 복사된 온라인/빌링 시스템 고유 데이터베이스(230)를 이용하여 고객 또는 과금 계정별로 청구할 사용료 또는 대금을 정산한다. 빌링 작업이 완료된 고객 또는 과금 계정을 빌링 시스템 전용 데이터베이스(240)에 저장한다.
도 2c를 참조하면, 빌링 시스템 전용 데이터베이스(240)에서 빌링 작업이 완료된 고객 또는 과금 계정을 검색한 뒤, 해당 고객 또는 과금 계정에 관련된 빌링 데이터를 복사된 온라인/빌링 시스템 공유 데이터베이스(230)에서 온라인/빌링 시스템 공유 데이터베이스(220)로 복사한다.
상술한 바와 같이 본 발명에 대해 간략히 설명한 내용은 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 3은 본 발명의 바람직한 실시예에 따른 분산 처리를 이용한 배치형 빌링 방법에 의한 처리 과정을 개략적으로 나타낸 흐름도이다.
도 3을 참조하면, 단계 300에서, 빌링 마감 프로세스(201)는 온라인/빌링 시스템 공유 데이터베이스(220)를 마감 처리한다. 상기 빌링 마감 프로세스(201)에 의해, 온라인 시스템(200)은 빌링 작업 기간 동안 접수된 고객 정보 변경 또는 수납 활동 등 청구서 변경 사항을 당월 또는 익월 청구서 반영 여부와 관계없이 모두 익월 청구서에 반영되는 것으로 처리한 후 온라인/빌링 시스템 공유 데이터베이스(220)에 저장한다.
단계 310에서, 복사 프로세스(202)는 상기 빌링 마감 프로세스(201)에 의해 처리된 온라인/빌링 시스템 공유 데이터베이스(220)를 빌링 시스템(210)의 데이터베이스로 복사한다.
단계 320에서, 빌링 프로세스(203)는 복사된 온라인/빌링 시스템 공유 데이터베이스(230)를 이용하여 고객별 또는 과금 계정별 빌링 작업을 수행한다. 상기 빌링 프로세스(203)에 의해 빌링 작업이 완료된 고객 목록 또는 과금 계정 목록을 빌링 완료 대상자 데이터베이스(240)에 저장된다. 상기 빌링 완료 대상자 데이터베이스(240)는 도 2a 내지 도 2c에서 설명한 빌링 시스템 전용 데이터베이스에 해당한다.
단계 330에서, 분배 프로세스(204)는 빌링 작업이 완료된 고객 또는 과금 계정을 빌링 완료 대상자 데이터베이스(240)에서 검색하여 온라인/빌링 시스템 공유 데이터베이스(220)로 빌링 데이터를 전송할 고객 수 또는 과금 계정의 수를 산출한다. 상기 분배 프로세스(204)는 산출된 수에 근거하여, 필요한 개수의 데이터베이스 동기화 프로세스(205)를 호출한다. 상기 분배 프로세스(204)는 호출된 복수개의 데이터베이스 동기화 프로세스(205)에 온라인/빌링 시스템 공유 데이터베이스(220)로 빌링 데이터를 전송할 고객 목록 또는 과금 계정 목록을 분배한다.
단계 340에서, 데이터베이스 동기화 프로세스(205)는 상기 분배 프로세스(204)로부터 할당받은 고객 목록 또는 과금 계정 목록을 참조하여 해당 고객 또는 과금 계정의 빌링 데이터를 복사된 온라인/빌링 시스템 공유 데이터베이스(230)에서 온라인/빌링 시스템 공유 데이터베이스(220)로 전송한다. 만약 빌링 마감 이후에 발생한 고객 정보 변경 또는 수납 활동으로 인해 온라인/빌링 시스템 공유 데이터베이스(220)와 복사된 온라인/빌링 시스템 공유 데이터베이스(230)가 일치하지 않을 경우에는 해당 고객의 빌링 데이터를 빌링 시스템(210)으로 읽어온다. 또한, 빌링 완료 대상자 데이터베이스(240)에서 상기 고객 또는 과금 계정의 작업 상태 필드를 변경한다.
이하에서는 상술한 분산 처리를 이용한 배치형 빌링 방법을 각 단계별로 상세히 설명한다.
도 4a는 온라인 시스템 내에서 빌링 마감 프로세스의 동작을 설명하기 위한 예시도이고, 도 4b는 빌링 마감 프로세스에 의한 온라인 시스템의 처리 과정을 도시한 흐름도이고, 도 4c는 과금 계정 데이터베이스의 구성도이고, 도 4d는 빌링 마감 프로세스가 청구서 일련 번호를 변경하는 과정을 나타낸 예시도이다.
도 4a를 참조하면, 빌링 마감 프로세스(201)는 온라인 시스템(200) 내에서 실행되며, 과금 계정 데이터베이스(223)를 빌링 마감 처리한 후 종료된다. 과금 계정 데이터베이스(223)가 빌링 마감되면, 상기 온라인 시스템(200)은 빌링 작업 기간 동안 고객/수납 프로세스로부터 입력된 고객 정보 변경 또는 수납 활동이 익월 청구서에 반영되는 것으로 처리한다.
일반적인 빌링 관련 데이터베이스는 일정 기간(예를 들어, 1개월 단위)마다 발행되는 청구서의 일련 번호를 포함한다. 청구서 일련 번호는 최초 청구서 발행시에 기본값이 저장되고, 이후 청구서가 발행될 때마다 일정값씩 증가하므로, 이를 이용하여 고객에게 청구서가 몇 번 발송되었는지의 여부를 파악할 수 있다. 본 발명에서 상기 온라인 시스템(200)은 과금 계정 데이터베이스(223)에 저장된 청구서 일련 번호를 참조하여, 고객 정보 변경 또는 수납 활동이 당월 청구서에 반영될 수 있는지를 판단한다. 즉, 상기 온라인 시스템(200)은 청구서 일련 번호를 참조하여, 전월 사용 내역에 대한 당월 청구서가 발행되었는지를 판단한 후, 아직 발행전이면 당월 청구서에 포함시키고, 발행되었으면 익월 청구서로 이월한다.
따라서, 상기 빌링 마감 프로세스(201)는 일정한 청구서 발행주기에 의해 빌링 작업일이 도래하면, 일률적으로 빌링 관련 데이터베이스의 청구서 일련 번호를 일정값씩 증가시킨다. 결과적으로, 상기 온라인 시스템(200)은 고객 정보 변경 또는 수납 활동에 의한 모든 변경 내용을 익월 청구서에 반영하는 것으로 처리한다. 즉, 상기 온라인 시스템(200)은 이미 당월 청구서가 발행된 것으로 인식하여 당월 반영분이던 익월 반영분이던지 구분 없이 모두 이월 처리한다.
도 4b를 참조하면, 단계 400에서, 빌링 마감 프로세스(201)는 빌링 관련 데이터베이스에 억세스한다. 본 발명에서, 과금 계정 데이터베이스(223)의 청구서 일련 번호만 변경되나, 실제 시스템에서는 청구서 일련 번호를 포함하고 있는 복수의빌링 관련 데이터베이스의 청구서 일련 번호가 모두 변경될 수 있다.
단계 410에서, 상기 빌링 마감 프로세스(201)는 상기 과금 계정 데이터베이스(223)에서 고객별 또는 과금 계정별 청구서 일련 번호(223c)를 읽어온다.
단계 420에서, 상기 빌링 마감 프로세스(201)는 고객별 또는 과금 계정별 청구서 일련 번호를 일정값씩 증가시킨다. 도 4d를 참조하면, 빌링 마감 전 청구서 일련 번호 필드(223c)에 각각 9, 12, 3이 저장되어 있다. 즉, 각 과금 계정별 당월 청구서 일련 번호는 9, 12, 3이다. 각 청구서 일련 번호를 1씩 증가시키면, 빌링 마감 후 청구서 일련 번호 필드(223c′)와 같이 변경된다.
단계 430에서, 상기 마감 프로세스(201)는 1씩 증가된 상기 청구서 일련 번호를 상기 과금 계정 데이터베이스(223)에 저장한다.
도 4c를 참조하면, 과금 계정 데이터베이스(223)는 과금 계정, 고객 활동 코드, 청구서 일련 번호, 고객 ID, 최초 활동 일자, 계약 유형, 계정 총 잔액, 계정 상태, 연체 식별, 납부정보, 청구서 정보 필드를 포함한다. 도 4c에 도시된 필드 중 중요한 필드만을 선별하여 설명하다.
과금 계정(223a)은 당월 청구서에 관련된 과금 계정 번호에 관한 필드이다. 상기 과금 계정(223a)은 프라이머리 키(Primary Key)에 해당하는 필드로서, 복수의 빌링 관련 데이터베이스 중에서 유일한 값을 갖는다.
고객 활동 코드(223b)는 현재 과금 계정의 상태 변화를 발생시킨 고객 관리 활동 코드에 관한 필드이다. 과금 계정이 생성될 때 기본 값이 할당되고, 과금 계정의 상태가 변경되는 시점에서 갱신된다. 과금 계정 상태는 현재 이용 고객,해지/해지 취소, 청구자 통합, 청구자 변경 및 이용정지/이용정지 해제를 포함한다.
청구서 일련 번호(223c)는 현재까지 발행된 청구서의 일련 번호에 관한 필드이다.
고객 활동 사유(223d)는 고객 활동 코드의 원인이 되는 고객 활동 사유에 관한 필드이다. 고객 활동 사유는 타사이동, 판촉행사 및 해지/미납으로 인한 해지/서비스 품질 불만족으로 인한 해지를 포함한다.
계정 총 잔고(223e)는 총 청구액과 고객의 납부액과의 차액에 관한 필드로서, 고객의 미납 또는 과납 여부에 관련되어 있다.
수납 방법(223f)은 은행자동이체, 신용카드 또는 지로와 같은 고객의 납부 수단에 관한 필드이다.
전월 청구서 생성 일자(223g)는 전월 청구서가 생성된 일자에 관한 필드이다.
상기 빌링 마감 프로세스(201)에 의해 빌링 마감 처리된 복수의 빌링 관련 데이터베이스들은 빌링 시스템(210)으로 복사된다. 이하에서는 데이터베이스 복사 및 빌링 작업에 대해서 설명한다.
도 5a는 빌링 마감된 온라인/빌링 시스템 공유 데이터베이스를 빌링 시스템의 데이터베이스로 복사하는 동작을 설명하기 위한 예시도이고, 도 5b는 조정 내역 데이터베이스의 구성도이고, 도 5c는 청구 내역 데이터베이스의 구성도이고, 도 5d는 수납 내역 데이터베이스의 구성도이다.
도 5a를 참조하면, 복사 프로세스(202)는 온라인/빌링 시스템 공유 데이터베이스(220)를 빌링 시스템(210)으로 복사한다. 상기 복사 프로세스(202)는 (1)유닉스 머신의 import, export 기능을 이용하는 테이블(데이터베이스)별 복사방법, (2)바람직하게는, EMC 社의 스토리지 네트워킹 장비와 같은 데이터 전송 장비를 이용한 디스크 박스(스토리지)별 복사방법을 이용할 수 있다. 상기 방법 (1)은 소량의 데이터 복사에 적합하나, 복사 속도가 느린 단점이 있다. 이에 비해, 상기 방법 (2)는 대량의 데이터 복사에 적합하고, 복사 속도가 빠르나, 고가의 장비가 필요한 단점이 있다.
또한, 온라인/빌링 시스템 공유 데이터베이스(220)에서, 실제로 빌링 작업에 필요한 필드만을 선별해서 복사할 수도 있다. 빌링 작업에 필요한 필드는 시스템 운영자에 의해 미리 결정될 수 있다.
이하에서는 복사 프로세스(202)에 의해 복사되는 조정 내역 데이터베이스(221), 청구 내역 데이터베이스(222) 및 수납 내역 데이터베이스(224)의 구성을 설명한다.
도 5b를 참조하면, 조정 내역 데이터베이스(221)는 과금 계정, 조정 일련 번호, 조정 구분, 조정 발생 일자, 조정 금액, 조정 반영 일자, 조정이 반영될 청구서 일련 번호 및 조정 대상 필드를 포함한다. 상기 조정 내역 데이터베이스(221)는 과금 계정의 요금 조정 내역을 저장하는 데이터베이스이다. 도 5b에 도시된 필드 중 중요한 필드만을 선별하여 설명하다.
조정 일련 번호(221a)는 동일한 과금 계정 내에서 서로 다른 조정을 식별하는 유일한 일련번호로 PK에 해당하는 필드이다.
조정 구분(221b)은 '조정' 또는 '조정 취소'값을 갖는 필드로서, PK 필드이거나 FK(Foreign Key) 필드일 수 있다.
조정 발생 일자(221c)는 '조정' 또는 '조정 취소'가 발생한 일자에 관한 필드이다.
조정 금액(221d)은 '조정' 또는 '조정 취소'될 금액에 관한 필드이다.
조정 반영 일자(221e)는 '조정' 또는 '조정 취소'가 반영되어야 할 일자에 관한 필드이다.
조정 반영될 청구서 일련 번호(221f)는 '조정' 또는 '조정 취소'가 반영될 청구서의 일련 번호에 관한 필드이다.
조정 대상(221g)은 '조정' 또는 '조정 취소'가 반영될 대상에 관한 필드이다. 이동 통신 사업자가 발행하는 청구서일 경우에, 기본료, 월정액, 가입비, 단말기 대금, 통화료 등이 상기 조정 대상에 해당된다.
도 5c를 참조하면, 청구 내역 데이터베이스(222)는 과금 계정, 청구서 일련 번호, 청구서 작업일, 청구서 발행일, 납기일, 전월 청구액, 전월 수납액, 전월 증액, 전월 청구서의 요금 조정액, 전월 미납액, 연체료 부과 대상 미납액, 과금 계정별 현 청구 주기 미청구 금액, 총 청구 금액 및 지불 방법에 대한 복수의 필드를 포함한다. 도 5c에 도시된 필드 중 중요한 필드만을 선별하여 설명한다.
청구서 작업일(222a)은 청구서 작성일자에 관한 필드이다.
청구서 발행일(222b)은 청구서 발행일자에 관한 필드이다.
납기일(222c)은 청구 요금에 대한 납기 마감일에 관한 필드이다.
전월 청구액(222d)은 전월 청구서의 총 청구 금액에 관한 필드로서, 양의 값 또는 음의 값을 갖는다.
전월 수납액(222e)은 전월 총 청구 금액 중 청구 작업일까지의 수령액에 관한 필드이다.
전월 청구서의 요금 조정액(222f)은 온라인에서 발생된 청구 금액에 관한 필드로서, 온라인으로 수납된 요금에 관한 필드이다.
전월 미납액(222g)은 전월의 납기일이 지난 총 연체금액에 관한 필드로서, 양의 값 또는 음의 값을 갖는다.
연체료 부과 대상 미납액(222h)은 전월 미납액 중 실제적으로 가산금을 부과할 금액에 관한 필드이다.
연체료(222i)는 상기 연체료 부과 대상 미납액(222h)에 부과된 연체료에 관한 필드이다.
과금 계정별 현 청구 주기 미청구 금액(222j)은 청구서 작업일롸 청구서 발행일 사이에 축적된 청구 금액에 관한 필드로서, 당월 청구서에 포함되지 않은 당월 반영 대상인 청구 금액이다.
총 청구 금액(222k)은 고객 또는 과금 계정별로 당월 청구할 총 금액에 관한 필드이다.
지불 방법에 대한 데이터 필드(222l)는 고객의 지불 방법에 관한 복수의 필드이다.
도 5d를 참조하면, 수납 내역 데이터베이스(224)는 과금 계정, 수납 일련 번호, 수납 처리 일자, 수납 방식, 세부 수납 정보, 은행 코드, 신용카드 번호, 카드 승인 번호, 실제 고객 납부 금액 및 가입자 번호에 대한 복수의 필드를 포함한다. 도 5d에 도시된 필드 중 중요한 필드만을 선별하여 설명한다.
수납 일련 번호(224a)는 과금 계정별 수납을 식별하는 고유 번호에 관한 필드이다.
수납 처리 일자(224b)는 청구서에 의해 고객이 실제 납부한 일자에 관한 필드이다.
수납 방식(224c)은 고객이 청구 요금을 납부한 방식에 관한 필드로서, 신용카드, 현금, 계좌이체, 선불카드 등으로 기록된다.
도 6a는 빌링 마감된 온라인/빌링 시스템 공유 데이터베이스를 이용하여 빌링 작업을 수행하는 동작을 설명하기 위한 예시도이고, 도 6b는 빌링 완료 대상자 데이터베이스의 구성도이다.
도 6a를 참조하면, 빌링 시스템(210)은 온라인 시스템에서 빌링 마감 처리되어 복사된 온라인/빌링 시스템 공유 데이터베이스(230)를 이용하여 빌링 작업을 실시한다.
복사된 온라인/빌링 시스템 공유 데이터베이스(230)에서 청구서 일련 번호 필드를 일정값씩 감소시켜 빌링 마감 전으로 환원한 후 빌링 작업을 진행한다. 빌링 프로세스(203)는 빌링 작업에 필요한 특정 데이터만을 추출하여 테이블을 재구성할 수 있다. 또한, 추출된 데이터의 저장순서는 유닉스 머신의 SGA 영역내 1 블록에서 많은 데이터처리가 가능하도록 구성할 수 있다. 또한, 빌링 시스템의 성능 향상을 위해 인덱스를 재구성하고 빌링 작업에 직접적으로 필요 없는 인덱스는 삭제할 수 있다.
빌링 작업이 완료된 고객 또는 과금 계정은 빌링 완료 대상자 데이터베이스(240)에 저장하고, 작업 상태 필드를 '빌링 작업 완료'로 변경한다.
도 6b를 참조하면, 빌링 완료 대상자 데이터베이스(240)는 과금 계정, 청구서 일련 번호 및 작업 상태, 빌링 마감 처리 시간, 빌링 작업 완료 시간 필드를 포함한다.
작업 상태(240a)는 빌링 작업이 완료되었는지 여부에 관한 필드로서, '빌링 작업 대기중', '작업중' 및 '빌링 작업 완료' 등의 상태값을 갖는다.
빌링 마감 처리 시간(240b)은 온라인 시스템에서 빌링 마감 프로세스에 의해 빌링 마감 처리된 시간에 관한 필드이다. 상기 빌링 마감 처리 시간 필드(240b)는 선택적인 필드로서, 온라인 시스템(200)에서의 빌링 마감 등과 같이 데이터베이스의 변동 시간을 별도로 관리하는 경우에만 이용한다.
빌링 작업 완료 시간 필드(240c)는 빌링 작업이 완료된 시간에 관한 필드이다. 상기 빌링 작업 완료 시간 필드(240c)는 선택적인 필드로서, 온라인 시스템(200)에서 데이터베이스 변동 시간을 별도로 관리하는 경우에, 데이터베이스 동기화 프로세스(205)의 작업을 단순화하기 위해 사용된다. 즉, 데이터베이스 동기화 프로세스(205)의 데이터베이스 대 데이터베이스의 비교 과정을 생략하기 위해 양 데이터베이스의 변동시간을 비교하는데 상기 빌링 마감 처리 시간 필드(240b) 또는 빌링 작업 완료 시간 필드(240c)가 사용될 수 있다.
도 7a는 빌링 작업이 종료된 고객 또는 과금 계정을 온라인/빌링 시스템 공유 데이터베이스로 전송하는 동작을 설명하기 위한 예시도이고, 도 7b는 빌링 마감 처리 후 빌링 작업 종료 전 온라인/빌링 시스템 공유 데이터베이스에 변동이 발생하는 경우를 설명하기 위한 예시도이고, 도 7c는 빌링 작업이 종료된 복사된 온라인/빌링 시스템 공유 데이터베이스와 온라인/빌링 시스템 공유 데이터베이스간 동기화를 설명하기 위한 예시도이다.
도 7a를 참조하면, 분배 프로세스(204)는 빌링 완료 대상자 데이터베이스(240)에서 빌링 작업이 완료된 고객 또는 과금 계정을 검색하여 복수의 데이터베이스 동기화 프로세스(205)에 빌링 작업이 완료된 고객 목록 또는 과금 계정 목록을 분배한다. 복수의 데이터베이스 동기화 프로세스(205)는 할당된 고객 목록 또는 과금 계정 목록을 참조하여 복사된 온라인/빌링 시스템 공유 데이터베이스(230)에서 상기 고객 또는 과금 계정에 관련된 빌링 데이터를 읽어온 후 이를 온라인/빌링 시스템 공유 데이터베이스(220)로 전송한다.
도 7b를 참조하면, 단계 400에서, 분배 프로세스(204)는 빌링 완료 대상자 데이터베이스(240)에서 빌링 작업이 완료된 고객 또는 과금 계정을 검색한다.
단계 410에서, 상기 분배 프로세스(204)는 빌링 작업이 완료된 고객 또는 과금 계정의 작업 상태 필드를 '작업중'으로 변경한다. 또한, 상기 분배 프로세스(204)는 작업 상태 필드가 '작업중'으로 바뀐 고객 또는 과금 계정의 수를 카운트하여 필요한 수의 데이터베이스 동기화 프로세스(205)를 결정한다. 필요한 수의 데이터베이스 동기화 프로세스(205)가 결정되면, 데이터베이스 동기화 프로세스(205)를 필요한 수 만큼 생성한다.
만약, 이미 생성된 데이터베이스 동기화 프로세스의 수가 처리할 작업량을 초과하는 경우에는 시스템 자원을 빌링 프로세스에 할당하기 위해 초과된 데이터베이스 동기화 프로세스는 종료된다. 또한, 데이터베이스 동기화 프로세스가 일정 시간 동안 동기화 작업을 수행하지 않을 경우에도 자동 종료되도록 하는 것이 바람직하다.
단계 420에서, 상기 분배 프로세스(204)는 생성된 복수의 데이터베이스 동기화 프로세스(205)에 작업 상태 필드가 '작업중'인 고객 또는 과금 계정 목록을 분배한다. 분배되는 고객 또는 과금 계정 목록의 분량은 하나의 데이터베이스 동기화 프로세스(205)가 처리할 수 있는 수로 제한할 수 있다. 데이터베이스 동기화 프로세스(205)가 일정 시간내에 처리할 수 있는 목록의 수는 각 빌링 시스템(210)의 처리 능력에 따르므로, 시스템 운영자가 일정한 값을 미리 설정하는 것이 바람직하다.
단계 430에서, 상기 데이터베이스 동기화 프로세스(205)는 복사된 온라인/빌링 시스템 공유 데이터베이스(230)에서 동기화할 고객 또는 과금 계정에 관한 빌링 데이터를 읽어온 후, 이를 온라인/빌링 시스템 공유 데이터베이스(220)에 저장된해당 고객 또는 과금 계정에 관한 빌링 데이터와 비교한다. 빌링 작업을 위해 온라인/빌링 시스템 공유 데이터베이스(220)를 복사한 시점 이후에, 온라인 시스템(200)이 온라인/빌링 시스템 공유 데이터베이스(220)를 변경하면, 온라인/빌링 시스템 공유 데이터베이스(220)의 일부 필드가 변경/삭제/생성된다. 도 7c를 참조하면, 빌링 작업 시작 이후에 온라인 시스템(200)이 과금 계정 데이터베이스(223)의 가입자 활동 사유 필드를 '서비스 제공 고객'에서 '해지'로 변경하였다.
상기 데이터베이스 동기화 프로세스(205)는 고객 또는 과금 계정을 참조하여 복사된 온라인/빌링 시스템 공유 데이터베이스(230)의 각 필드와 온라인/빌링 시스템 공유 데이터베이스(220)의 각 필드를 비교한다. 즉, 동일한 과금 계정에 기초하여, 온라인 시스템(200)의 조정 내역 데이터베이스(221), 청구 내역 데이터베이스(222), 과금 계정 데이터베이스(223), 수납 내역 데이터베이스(224)와 빌링 시스템(210)의 조정 내역 데이터베이스(231), 청구 내역 데이터베이스(232), 과금 계정 데이터베이스(233), 수납 내역 데이터베이스(234)를 1:1로 비교한다.
단계 440에서, 온라인/빌링 시스템 공유 데이터베이스(220)에 변동이 있는 경우에는 단계 450으로 진행하고, 변동이 없는 경우에는 단계 470으로 진행한다.
단계 450에서, 변경된 빌링 완료 대상자의 빌링 데이터를 온라인/빌링 시스템 공유 데이터베이스(220)에서 읽어온 후, 복사된 온라인/빌링 시스템 공유 데이터베이스(230)에 저장하고, 빌링 완료 대상자 데이터베이스(240)의 작업 상태 필드를 변경한다.
단계 460에서, 빌링 작업 중 변동이 발생한 고객 또는 과금 계정에 대한 빌링 작업을 다시 실시한다.
단계 470에서, 빌링 작업 중 변동이 발생하지 않은 고객 또는 과금 계정에 대한 빌링 데이터는 온라인 시스템으로 전송하여 온라인/빌링 시스템 공유 데이터베이스(220)에 저장한다. 빌링 작업 기간 중 변동 사항이 발생하지 않았을 경우에는, 양 데이터베이스가 빌링 작업에 의해 변경된 복사된 온라인/빌링 시스템 공유 데이터베이스(230)의 빌링 데이터만을 제외하고는 동일하다. 그러므로, 총 청구 금액을 포함하는 빌링 데이터만을 온라인/빌링 시스템 공유 데이터베이스(220)로 전송하는 것이 바람직하다.
본 발명은, 일정 기간마다 실시되는 빌링 작업으로 인해 온라인 시스템 및 빌링 시스템을 하나의 통합 시스템으로 운영하는 기업의 온라인 업무 처리 효율 저하와 빌링 처리 능력의 한계를 극복하고자 안출된 것이다. 이를 위해, 빌링 작업 기간 동안 빌링 작업에 필요한 데이터베이스를 빌링 시스템이 독점하도록 하고, 온라인을 통한 고객 정보 변경 및 수납 활동 등과 같은 변동 사항은 온라인 시스템이 임시 보류한 후, 보류된 변동 사항만을 재처리하도록 하였다.
본 발명을 설명함에 있어, 빌링 작업에 필수적인 데이터베이스를 예를 들어 설명하였으나, 실제적인 빌링 시스템에서는 상기 실시예에서 설명한 데이터베이스보다 더 많은 수의 데이터베이스가 사용될 수 있음은 자명한 사실이다. 따라서, 본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.