Hệ thống báo cáo DSS

Một phần của tài liệu Xây dựng ứng dụng chăm sóc khách hàng trên nền SMS gateway (Trang 41)

b) Trình tự giao dịch SMPP của ESME Receiver

2.10. Hệ thống báo cáo DSS

Đây là hệ thống lưu trữ dữ liệu tổng hợp các báo cáo phát sinh cước, thuê bao rời mạng, thẻ nạp, bao gồm:

 Dữ liệu danh sách thuê bao phát sinh cước theo địa bàn quận/huyện.  Dữ liệu thuê bao rời mạng theo địa bàn quận huyện của các năm n và n-1.

 Dữ liệu thuê bao nạp tiền qua các hình thức nap thẻ/EZ/AirTime có dữ liệu xác định vị trí nạp tiền theo CellID.

2.11.Kết chƣơng

Trong bối cảnh công ty Mobifone Khu vực 1 đang quản lý kho dữ liệu rất lớn về lĩnh vực viễn thông, kho dữ liệu này có khá đầy đủ các thông tin về khách hàng. Vấn đề đánh giá phân loại khách hàng để đưa ra những chính sách phù hợp phục vụ việc duy trì thuê bao, phát triển thuê bao là rất cần thiết. Vì vậy, căn cứ vào yêu cầu thực tế, tác giả đã đưa ra bài toán “Xây dựng ứng dụng trên nền SMS-Gateway”. Trong chương tiếp theo, luận văn sẽ đi sâu vào khảo sát, phân tích và thiết kế hệ thống nhắn tin Chăm sóc khách hàng.

CHƢƠNG 3: THIẾT KẾ VÀ CÀI ẶT ỨNG DỤNG 3.1. Mô tả bài toán

Như đã trình bày trong Chương 2, Công ty Mobifone Khu vực 1 có hệ thống cơ sở dữ liệu khá đầy đủ về thông tin khách hàng. Dữ liệu thông tin khách hàng được lưu trữ tại cơ sở dữ liệu Oracle tập trung. Ngoài ra, các thông tin về cước thuê bao trả trước như: doanh thu tiêu dùng, doanh thu gói cước,... được kết xuất ra file trên FTP server thuộc hệ thống tổng đài IN. Các hệ thống khác có thể truy xuất nguồn dữ liệu này qua giao thức FTP (xem Hình 3.1). Xuất phát từ dữ liệu thông tin khách hàng sẵn có, Công ty Mobifone khu vực 1 cần có những chiến lược tiếp thị đến khách hàng. Một trong những nhu cầu đầu tiên của chiến lược marketing đó là cần các thông tin sản phẩm, chính sách của mình nhanh chóng gửi đến khách hàng như sau:

 Thông báo thay đổi số dư tài khoản.  Thông báo chương trình khuyến mại.

 Thông báo về các dịch vụ mới mà VMS sắp triển khai.  Nhắn tin thăm hỏi.

Các sản phẩm mới của công ty có thể thông báo đến khách hàng thông qua các kênh quảng cáo trên tivi, trên đài, trên báo chí… và một trong số những kênh rất quan trọng là kênh SMS thông qua các đầu số, brandname.

Hiện tại, việc nhắn tin được nhiều hệ thống thông tin thực hiện:  Hệ thống tính cước và chăm sóc khách hàng.

 Hệ thống khuyến mại.  Hệ thống loyalty…

Việc nhắn tin đều phải đảm bảo không gây phiền phức cho khách hàng, khi khách hàng có nhu cầu không nhận tin nhắn, họ hoàn toàn có lựa chọn không nhận tin nhắn từ nhà mạng. Chương trình phải cho phép khai báo IP FTP server để kết nối và

lấy file dữ liệu danh sách thuê bao cần nhắn tin. Hệ thống xây dựng lên phải đảm bảo:

 Tốc độ nhanh.

 Đơn giản, dễ sử dụng.

 Yêu cầu dễ cài đặt, giao diện thân thiện và có thể mở rộng.

Tần suất gửi tin phải được tham số hóa để đảm bảo không làm nghẽn smsc.

Mô hình tổng thể của hệ thống nhắn tin.

Hình 3.1: Mô hình vật lý của hệ thống nhắn tin. 3.2. Quy trình nghiệp vụ cần xây dựng.

Trong phạm vi luận văn này, tác giả xin nêu các quy trình nghiệp vụ riêng, đặc thù đã khảo sát được theo yêu cầu của khách hàng, các quy trình nghiệp vụ chung của các hệ thống phần mềm như phân quyền, bảo mật, khai báo tham số, … xin

được bỏ qua trong luận văn này. Hệ thống cần xây dựng và đáp ứng các quy trình nghiệp vụ sau :

3.2.1. Quy trình nhắn tin tới Thuê bao

- Mục đích: Đây là quy trình nhắn tin và cập nhật trạng thái tin đã được gửi đi thành công hay chưa.

- Sự kiện kích hoạt quy trình: Khi đến lịch nhắn tin, hoặc phát sinh yêu cầu nhắn tin từ người dùng.

- Mô tả các bước trong quy trình :

Bƣớc Mô tả

1 Quét dữ liệu từ CSDL của hệ thống nhắn tin

2 Lần lượt nhắn tin theo thông tin đã quét được ở bước 1

3

Nhắn tin thành công thì cập nhật ngày giờ nhắn tin và trạng thái thành công, nếu nhắn tin không thành công thì cập nhật trạng thái không thành công

4 Kết thúc

Bảng 3.1: Quy trình nhắn tin tới khách hàng 3.2.2. Quy trình nghiệp vụ xử lý file và cập nhật dữ liệu.

- Mục đích: Quy trình đáp ứng việc lấy số liệu đầu vào cho quá trình nhắn tin. Sau khi file danh sách thuê bao cần nhắn tin (file text) được đẩy ra trên FTP server, hệ thống nhắn tin cần thực hiện kết nối, lấy file và cập nhật CSDL nhắn tin.

- Sự kiện kích hoạt quy trình: Khi đến lịch xử lý file hoặc có yêu cầu nhắn tin theo file từ người dùng.

Bƣớc Mô tả

1 Kết nối đến server FTP

2 Quét tất cả các file trong Server, lọc file theo đúng định dạng 3 Ghi file vào thư mục đã được cấu hình

4 Tìm File trong thư mục đã cấu hình.

5

Nếu tìm thấy file thì chuyển qua bước 6, không tìm thấy thì kết thúc.

6 Tìm mẫu tin nhắn tương ứng với file.

7

Nếu tìm thấy mẫu tinh nhắn thì chuyển qua bước 8, không tìm thấy thì thông báo và kết thúc.

8 Cập nhật file và mẫu tin nhắn tương ứng vào CSDL

9

Nếu cập nhật thành công thì lưu file vào thư mục dự phòng, nếu cập nhật không thành công thì chuyển file vào thư mục lỗi.

10 Kết thúc

Bảng 3.2: Quy trình FTP file từ server FTP 3.2.3. Quy trình Phân tích và phân nhóm dữ liệu.

- Mục đích:

o Phân tích: Sau khi có dữ liệu danh sách thuê bao và mẫu tin nhắn trong CSDL nhắn tin. Hệ thống nhắn tin cần truy xuất và điền các thông tin cần thiết vào mẫu tin nhắn như tên, tuổi, địa chỉ thuê bao,… (nếu trong mẫu tin nhắn cần thêm các nội dung này).

o Phân loại thuê bao: Hệ thống nhắn tin cần truy xuất trong CSDL tập trung, xác định loại thuê bao, từ đó cập nhật nhóm đối tượng thuê bao để phục vụ báo cáo tổng hợp nhắn tin. Cần có danh mục khai báo nhóm đối tượng và loại thuê bao.

- Sự kiện kích hoạt quy trình: Khi đến lịch nhắn tin hoặc phát sinh yêu cầu nhắn tin từ người dùng.

- Mô tả các bước trong quy trình :

Bƣớc Mô tả

1 Quét dữ liệu đã cập nhật từ file

2

Nếu thuê bao nằm trong danh sách từ chối nhận tin thì kết thúc, nếu thuê bao không nằm trong danh sách từ chối nhận tin thì chuyển qua bước 3.

3

Tìm kiếm bổ sung thông tin thuê bao trong CSDL tập trung, phù hợp với mẫu tin nhắn của từng thuê bao.

4

Cập nhật dữ liệu bao gồm thông tin thuê bao, nội dung tin nhắn vào CSDL nhắn tin

5 Kết thúc

Bảng 3.3: Quy trình phân tích và phân nhóm dữ liệu 3.2.4. Quy trình cập nhật dữ liệu thuê bao từ chối nhận tin.

- Mục đích: Những thuê bao không muốn nhận tin nhắn quảng bá từ nhà mạng sẽ được hệ thống ghi nhận để loại ra trong quá trình nhắn tin. Danh sách thuê bao từ chối nhận tin có thể được cập nhật theo từng thuê bao trên chức năng hoặc cập nhật theo file.

- Sự kiện kích hoạt quy trình: Khi có yêu cầu cập nhật danh sách thuê bao từ chối nhận tin.

- Mô tả các bước trong quy trình :

Bƣớc Mô tả

1

Đọc file danh sách thuê bao (cập nhật theo file) hoặc nhập số thuê bao từ chối nhận tin nhắn

2 Cập nhật thuê bao vào Cơ sở dữ liệu từ chối nhận tin 3 Thông báo cập nhật thành công

4 Kết thúc

Bảng 3.4:Quy trình cập nhật dữ liệu thuê bao từ chối nhận tin 3.3. Mô tả tổng thể phần mềm

Trong phần này, tác giả sẽ đi sâu vào thiết kế kiến trúc và CSDL hệ thống nhắn tin.

3.3.1. Kiến trúc hệ thống nhắn tin

Hình sau mô tả các thành phần chính mà hệ thống nhắn tin cung cấp.

Hệ thống bao gồm ứng dụng nhắn tin và CSDL độc lập. Ứng dụng nhắn tin gồm các thành phần:

 Khối FTP file: Kết nối và lấy file dữ liệu từ các hệ thống Thẻ nạp, IN, hệ thống dịch vụ VAS, hệ tống Tính cước và quản lý khách hàng,..

 Khối Import dữ liệu: Cập nhật file vào Cơ sở dữ liệu của hệ thống nhắn tin.  Khối phân tích dữ liệu: Thực hiện phân nhóm thuê bao, phân tích nội dung

tin nhắn.

 Khối chuẩn bị dữ liệu SMS: Thực hiện lọc lấy danh sách thuê bao cần nhắn tin cùng nội dung nhắn tin.

 Khối SMPP client: Thực hiện kết nối và truyền gói tin lên SMSC thông qua giao thức SMPP, nhận gói tin phản hồi từ SMSC và cập nhật trạng thái nhắn tin.

3.3.2. Sơ đồ Usecase hệ thống nhắn tin.

Từ các quy trình nghiệp vụ khảo sát được, ta có sơ đồ usecase của hệ thống như sau:

Tác nhân “Nhân viên phòng ban/chi nhánh” bao gồm: - Nhân viên Phòng Chăm sóc khách hàng

- Nhân viên Phòng Công nghệ thông tin - Nhân viên Bán hàng

FTP file Nhân viên phòng ban/chi nhánh

Import file Phân nhóm dữ liệu

Nhắn tin Nhận TB từ chối nhận tin

Đọc file Cập nhật CSDL TB <<uses>> <<uses>> <<uses>> Cập nhật CSDL blacklist <<uses>> Cập nhật CSDL nhắn tin <<uses>>

Nhân viên phòng ban/chi nhánh Tìm kiếm mẫu tin nhắn

<<uses>> <<uses>> Nhắn tin tự động

<<uses>> <<uses>>

Hình 3.3: Sơ đồ Usecase hệ thống nhắn tin 3.3.3. Sơ đồ thực thể liên kết của CSDL hệ thống nhắn tin.

Phân tích sơ đồ Usecase trong mục 3.3.3, ta nhận thấy các thực thể trong hệ thống như sau:

Phân tích Usecase “đọc file” ta xác định được thực thể: Chương trình

Phân tích Usecase “tìm kiếm mẫu tin nhắn” ta xác định được thực thể: mẫu tin nhắn.

Phân tích Usecase “Cập nhật CSDL thuê bao” ta xác định được thực thể: Nội dung file

Phân tích Usecase “Cập nhật CSDL blacklist” ta xác định được thực thể: TB không nhận tin.

Phân tích Usecase “Cập nhật CSDL nhắn tin” ta xác định được thực thể: chi tiết thuê bao và tin cần nhắn.

Phân tích chi tiết sâu hơn về thuộc tính và quan hệ giữa các thực thể trên ta có các thực thể con như sau:

Chương trình:

- Program: chứa thông tin chương trình nhắn tin và các thông tin về file tương ứng bao gồm: id chương trình, mã chương trình, tên file, ngày hiệu lực, trạng thái

Mẫu tin nhắn:

- Message_template: chứa thông tin mẫu tin nhắn tương ứng từng chương trình bao gồm: id tin nhắn, id chương trình, nội dung tin nhắn, loại tin nhắn, ngày hiệu lực, trạng thái.

Nội dung file:

- File: chứa thông tin chung về file bao gồm: id, tên file, số dòng đã import, số dòng trong file, số dòng đã nhắn tin, ngày import

- File_detail: chứa thông tin nội dung của file bao gồm: id file, số thuê bao, tên thuê bao, id thuê bao, trạng thái xử lý, trạng thái, ngày import

TB không nhận tin:

- Subscriber_blacklist: chứa thông tin các thuê bao không nhận tin nhắn gồm: id thuê bao, số isdn, ngày hiệu lực, trạng thái.

Chi tiết thuê bao và tin cần nhắn:

- Message_out_queue: chứa thông tin số thuê bao, đầu số tổng đài, nội dung tin nhắn, trạng thái nhắn, trạng thái bản ghi, ngày tạo, ngày nhắn, số lần thực hiện. Thực thể này sẽ không có bất kỳ khóa ngoại nào, để khi hệ thống nhắn tin cần lấy

thông tin để nhắn thì chỉ quét đúng 1 bảng, đảm bảo được tốc độ quét dữ liệu đẩy tổng đài.

Sơ đồ thực thể liên kết của hệ thống:

program Program_Id: number Program_code: varchar2 File_wildcat: varchar2 From_date: date To_date: date Status: number Message_template Message_id: number Program_id: number Message_content: varchar2 Message_type: varchar2 From_date: date To_date: date Status: number File File_Id: number File_wildcat: varchar2 Num_of_row: number Num_of_row_imported: number Num_of_row_message: number Imported_date: date File_detail File_id: number Isdn: varchar2 Name: varchar2 Sub_id: number Action_status: varchar2 Status: number Imported_date: date Program_id File_id File_wildcat Subscriber_blacklist Sub_id: number Isdn:varchar2 From_date: date To_date: date Create_date: date Status: number Message_out_queue Id: number Calling_isdn: varchar2 Called_isdn: varchar2 Message_content: varchar2 Message_status: varchar2 Message_date: date Number_of_retry: number Create_datetime: date Status: number

Hình 3.4: Sơ đồ thực thể liên kết CSDL của hệ thống nhắn tin 3.4. Hệ thống nhắn tin chăm sóc khách hàng

Hệ thống được cài đặt bao gồm các tiến trình. Cơ chế tiến trình cho phép đặt lịch chạy tự động hoặc bằng tay. Các tiến trình có thể chạy song song để thực hiện các nhiệm vụ khác nhau (hoặc nhiệm vụ giống nhau tùy theo yêu cầu thực tế). Hệ

thống được xây dựng theo đúng thiết kế kiến trúc mà tác giả đã trình bày ở phần trước (mục 3.3.1), gồm các nhóm tiến trình sau:

- Khối FTP file: gồm nhóm các “tiến trình FTP file”. Nhóm tiến trình này có nhiệm vụ kết nối đến FTP server để lấy file dữ liệu thuê bao cần nhắn tin.

- Khối Import file: gồm nhóm các “tiến trình import file”. File được import bao gồm: file sau khi FTP về hoặc file dữ liệu được người dùng tạo ra và chuyển vào thư mục đã định (đường dẫn thư mục theo cấu hình của tiến trình).

- Khối SMPP client gồm: Nhóm tiến trình “Tiến trình Tranceiver” (Số lượng tiến trình tùy thuộc vào khai báo của người dùng để đảm bảo tận dụng tối đa khả năng nhắn tin của tổng đài SMSC) có nhiệm vụ: kết nối SMSC, gửi gói tin lên SMSC, nhận và phân tích gói tin phản hồi từ SMSC.

- Khối phân tích dữ liệu: gồm tiến trình “Tiến trình phân loại Thuê bao”.

Tiến trình có nhiệm vụ quét dữ liệu từ bảng Dữ liệu thuê bao, phân loại thuê bao, phân tích nội dung tin nhắn và cập nhật dữ liệu vào bảng Dữ liệu nhắn tin.

- Khối chuẩn bị dữ liệu nhắn tin:

o Tiến trình “Tiến trình quét DL nhắn tin”. Tiến trình này có nhiệm vụ quét dữ liệu từ bảng dữ liệu nhắn tin (việc quét dữ liệu đảm bảo theo các tiêu chí: tin nhắn mới – đối với thuê bao chưa được nhắn, tin nhắn lại – đối với thuê bao đã nhắn tin nhưng SMSC trả lại bản tin lỗi).

o Tiến trình “Tiến trình cập nhật CSDL” có nhiệm vụ: cập nhật tin phản hồi từ SMSC vào bảng Dữ liệu nhắn tin.

Phần sau tác giả xin giới thiệu mô hình xử lý dữ liệu và tương tác giữa các khối xử lý của hệ thống.

3.4.1. Mô hình FTP file và cập nhật CSDL nhắn tin.

Đây là bước cập nhật dữ liệu đầu vào cho hệ thống nhắn tin.

Máy chủ ứng dụng hệ thống nhắn tin

Khối SMPP client

Tiến trình Tranceiver

Khối phân tích dữ liệu Tiến trình phân loại TB Máy chủ CSDL nhắn tin Get CSDL nhắn tin Queue Tiến trình Tranceiver Tiến trình Tranceiver Tiến trình Tranceiver Queue Queue Queue Máy chủ CSDL tập trung CSDL tập trung

Khối chuẩn bị dữ liệu nhắn tin Tiến trình quét dữ liệu nhắn tin

Đọc

Isdn, nội dung

Đọc ghi dữ liệu

Đọc thông tin thêm của TB

PDUs

Queue nhận tin Tiến trình cập

nhật CSDL Id msg, mã lỗi, mô tả lỗi Cập nhật Push Khối FTP file Tiến trình FTP file

Khối Import file Tiến trình import file Text file Cập n hật Lấy file FTP server Thư mục lưu file Text

file Text file

Hình 3.5: Mô hình FTP file và cập nhật CSDL nhắn tin

Hình 3.5 mô tả quá trình FTP file và import file vào CSDL nhắn tin:

- Sau khi người dùng khai báo tên file và chương trình nhắn tin tương ứng với file vào hệ thống (Đây là phần khai báo dữ liệu đầu vào, tác giả xin không trình bày chi tiết trong luận văn này).

- Khối FTP file thực hiện kết nối tới FTP server và lấy file danh sách thuê bao cần nhắn tin về. File được lấy về là các file có tên file tương ứng chương trình nhắn tin đang hiệu lực tại thời điểm chạy chương trình. File sẽ được lưu tại “thư mục lưu file” trên máy chủ ứng dụng nhắn tin.

- Khối Import file thực hiện quét “thư mục lưu file”, đọc file quét được và

Một phần của tài liệu Xây dựng ứng dụng chăm sóc khách hàng trên nền SMS gateway (Trang 41)