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

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 45)

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

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à cập nhật vào cơ sở dữ liệu nhắn tin.

3.4.2. Mô hình xử lý gửi tin lên SMSC.

Sau khi có dữ liệu đầu vào, hệ thống tiếp tục phân tích dữ liệu, tạo tin nhắn và thực hiện nhắn tin cho thuê bao:

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.6: Mô hình xử lý gửi tin lên SMSC

Hình 3.6 mô tả chi tiết luồng xử lý từ quá trình phân tích, phân loại thuê bao đến quá trình tin nhắn được gửi lên SMSC.

- Khối Phân tích dữ liệu thực hiện:

o Đọc dữ liệu danh sách thuê bao cần nhắn tin (đã được cập nhật sau quá trình import file). Dữ liệu bao gồm: số thuê bao, mẫu tin nhắn tương ứng thuê bao.

o Đọc dữ liệu danh sách thuê bao không nhận tin nhắn, nếu thuê bao nằm trong danh sách không nhận tin nhắn thì loại thuê bao khỏi danh sách xử lý.

o Nếu mẫu tin nhắn cần điền thêm thông tin như: tên thuê bao, địa chỉ thuê bao, tuổi thuê bao, … Khối phân tích dữ liệu tiếp tục kết nối và truy vấn các thông tin này từ CSDL tập trung, điền các thông tin truy vấn được vào mẫu tin nhắn.

o Cập nhật loại nhóm thuê bao, phân loại theo các mức độ quan tâm, chăm sóc đặc biệt giảm dần theo chính sách của nhà mạng, các thông tin này để phục vụ báo cáo tổng hợp số liệu sau nhắn tin CSKH (danh mục định nghĩa nhóm thuê bao tương ứng loại thuê bao xin phép không trình bày trong phạm vi luận văn):

 Nhóm hành chính sự nghiệp: loại thuê bao có mã AM1  AM7 (loại của thuê bao đã có sẵn trên CSDL tập trung)  Nhóm doanh nghiệp nhà nước: loại thuê bao có mã DN  Nhóm doanh nghiệp tư nhân: loại thuê bao có mã VI1 

VI5

 Nhóm học sinh sinh viên: loại thuê bao có mã STU

 Nhóm thuê bao cá nhân còn lại: các loại thuê bao có mã khác

o Cập nhật thông tin số thuê bao, mẫu tin nhắn (sau khi được điền đủ thông tin), đầu số gửi tin (cấu hình trên hệ thống), nhóm thuê bao vào bảng dữ liệu nhắn tin.

- Khối chuẩn bị dữ liệu nhắn tin CSDL và đẩy vào Queue các thông tin sau: nội dung tin nhắn, số điện thoại nhận, đầu số gửi tin, ID tin nhắn (ID của bản ghi trong CSDL nhắn tin).

- Khối SMPP client sẽ lấy các thông tin trên từ Queue, đóng gói thành các PDU và gửi lên SMSC. ID của tin nhắn sẽ được SMSC sử dụng như là một định danh duy nhất cho mỗi tin nhắn.

3.4.3. Mô hình nhận phản hồi từ SMSC

Sau khi tin nhắn được gửi lên SMSC thì hệ thống nhắn tin tiếp tục chờ và nhận phản hồi từ SMSC về trạng thái tin nhắn.

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

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 45)