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

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

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

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 ệ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.7: Mô hình nhận phản hồi từ SMSC

Hình 3.7 mô tả quá trình bắt và xử lý các phản hồi từ SMSC:

- Khối SMPP client đón các gói tin trả ra từ SMSC, giải mã và đẩy vào Queue nhận tin. Các tin phản hồi từ SMSC sẽ có 2 thông tin chính là ID tin nhắn và mã lỗi.

- Khối chuẩn bị dữ liệu nhắn tin quét Queue nhận tin, lấy ra Id tin nhắn, mã lỗi tương ứng. Từ mã lỗi sẽ dịch ra các trạng thái tương ứng (Lỗi hay thành công và chi tiết lỗi) để cập nhật vào CSDL.

3.5. Thử nghiệm và đánh giá.

Môi trường cài đặt.

• Máy chủ ứng dụng:

- T41: CPU SPARC T4-1 8-core 2.85GHz; 32GB RAM; 2*300GB HDD.

- Hệ điều hành Unix Solaris 10.

• Máy chủ Cơ sở dữ liệu:

- Cấu hình/hệ điều hành tương tự máy chủ ứng dụng

- Cài đặt hệ quản trị CSDL Oracle 11g R2.  Kịch bản thử nghiệm.

• Tên chương trình nhắn tin: thông báo chương trình khuyến mại tặng 50% thẻ nạp.

• Đầu số gửi tin: 9238

• Thuê bao cần nhắn: 1 500 000 thuê bao trả trước của Công ty 1, đây là những thuê bao hiện trong tài khoản chính còn dưới 10 000 VNĐ.

• Thời gian nhắn: 9h AM  Tham số hệ thống

• Số lượng tiến trình kết nối SMSC: 5

• Số lượng Queue: 5

• Kích thước Queue (max queue size): 2000

• Số lượng tiến trình đọc từ CSDL: 1

• Các tham số khác: Đầu số tổng đài, tần xuất đọc CSDL (delay time), …

tin:

Hình 3.8: Giao diện danh mục khai báo các chƣơng trình nhắn tin

 Kết quả:

• 1490415 tin nhắn gửi đi thành công – tương ứng 99.4% trên tổng số TB cần gửi tin nhắn.

• Tổng thời gian gửi tin: 3500s (từ thời điểm bắt đầu quét dữ liệu – đến lúc bản tin nhắn cuối cùng được gửi). Tốc độ gửi tin: 425.8 tin/s

• Trong quá trình nhắn cả 5 queue đều không đạt maxsize.

Trong lần gửi đầu tiên, còn tồn tại số lượng tin nhắn không thành công do tác giả căn chỉnh tham số đẩy dữ liệu tổng đài chưa chuẩn, một số thời điểm, tổng đài nhận được quá nhiều tin nhắn, vượt trên mức tốc độ xử lý tối đa (theo license). Tuy nhiên hệ thống bắt được phản hồi của SMSC và đã cập nhật CSDL. Những trường hợp không thành công này sẽ được lọc ra và gửi lại trong lần gửi tin tiếp theo.

KẾT QUẢ THỰC HIỆN

Đề tài “Xây dựng ứng dụng chăm sóc khách hàng trên nền SMS-GateWay” là một đề tài có khả năng ứng dụng trong thực tế. Mặc dù công nghệ không còn mới lạ, nhưng thực tế ứng dụng này trong các doanh nghiệp ở Việt Nam vẫn còn chưa được sử dụng nhiều. Sau khi thực hiện một cách rất nghiêm túc, đề tài đã có được một số kết quả nhất định.

Những kết quả đã thực hiện đƣợc của luận văn

Xét về tổng quan, luận văn đã đưa ra được một giải pháp marketing các thông tin sản phẩm, tuy không phức tạp nhưng nó rất gần gũi và cần thiết cho các doanh nghiệp. Xét về mặt chủ quan thì quá trình cài đặt và thử nghiệm là tương đối hợp lý và khả thi. Ý tưởng này có thể được áp dụng trong thực tế.

Sau khi đưa ứng dụng vào triển khai, chất lượng thuê bao, đặc biệt là thuê bao trả sau đã được phát triển và tăng lên khá đáng kể. Chất lượng Thuê Bao (TB) trả sau phát triển mới năm 2015 khá ấn tượng. Tính đến hết tháng 8/2015, toàn Công ty 1 đã phát triển mới được 73,669 TB trong đó tỷ lệ TB đã hủy chiếm 7.53% (5,547 TB). Doanh thu từ TB phát triển mới mang lại tính đến hết tháng 8/2015 là hơn 35 tỉ đồng, ARPU đạt hơn 60.000 VNĐ/ TB. ARPU của các TB phát triển mới tại Hà Nội 1 đạt cao nhất trong 3 Mobifone thành phố Hà Nội (66.072 vnd/TB). Loại TB MobiGold có chất lượng tốt nhất với ARPU của MobiGold Doanh Nghiệp(DN) đạt 112.000k/ thuê bao; ARPU của MobiGold Cá Nhân(CN) đạt 107.000VNĐ/ TB. (Tham khảo phụ lục 3)

óng góp của tác giả trong sản phẩm phần mềm

Trong quá trình hoàn thiện sản phẩm, tác giả đã đóng góp chính trong việc đưa ra các giải pháp kỹ thuật để tối ưu sản phẩm. Để hoàn thiện ứng dụng này, tác giả đã đưa ra nhiều giải pháp kỹ thuật khi làm việc với hệ cơ sở dữ liệu lớn, đưa ra phương pháp xử lý tiến trình tự động, tăng tốc độ xử lý gửi tin.

Những hạn chế và thiếu sót cần khắc phục của luận văn

 Hệ thống còn phụ thuộc vào nhiều chính sách quản lý của Bộ Thông tin Truyền thông. Vì vậy tất cả các hoạt động quảng bá đều phải tuân theo qui định của Bộ Thông tin Truyền thông.

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

Tải bản đầy đủ (PDF)

(70 trang)