Xây dựng thành phần đáp ứng yêu cầu: phát tự động quà tặng

Một phần của tài liệu Nghiên cứu, thiết kế và xây dựng tổng đài quà tặng âm nhạc giá rẻ trên nền tảng (Trang 63 - 66)

Lập mô hình luồng dữ liệu

Phát tín hiệu gửi tặng Yêu cầu gửi quà đã được

biên tập Gửi SMS Thời gian gửi tặng Mã quà tặng SĐT Gửi

Tạo điều khiển gửi

tặng Quà đã được gửi tặng

Thời gian gửi tặng Mã quà tặng SĐT Gửi/ Nhận Tín hiệu Thông tin kích hoạt

quà tặng

Điều khiển gọi ra Báo hiệu chưa

kích hoạt quà tặng tới người gửi Thông báo có quà tặng tới người nhận Kho nhạc Phát quà tặng File lời chúc Bài hát KH nhận quà Quà tặng Mã quà tặng Mã BH Yêu cầu gửi quà đã được

biên tập KH nhận quà

64

Thuật toán xử lý:

Bắt đầu

Lấy những yêu cầu gửi tặng đã được biên tập và kích hoạt DB Vmusic

Lấy thời gian gửi tặng của những yêu cầu đó: T

{Now()+5} <= T <=

{Now()+10} {Now()-5} <= T <= {Now()} {Now()-10} <= T <= {Now()-5} Delay: 100s

S S

Gửi tin nhắn cho người nhận báo sẽ có quà trong ít phút, tin

nhắn kèm thêm lời chúc sms nếu có

Đ

Phát quà tới người nhận: - Lời chúc

- Bài hát Đ

Gửi SMS - Tới người gửi báo tình trạng

quà tặng - Tới người nhận: thông tin về

mã quà tặng Đ

S

DB Vmusic

T: Thời gian gửi tặng Now(): Thời điểm hiện tại 5,10 à theo phút DB: Database

Hình 26: Sơ đồ giải thuật đáp ứng yêu cầu gửi tặng trong hệ thống quà tặng âm nhạc

Trong sơ đồ khối trên mô tả một service chạy 24/24 dạng While (1) {

; xử lý }

đƣợc tạo ra để quét cơ sở dữ liệu yêu cầu gửi tặng, so khớp thời gian hiện tại với thời gian của các yêu cầu cần đáp ứng, nếu phù hợp sẽ lấy các yêu cầu đó, tạo file .call đẩy vào thƣ mục /var/spool/asterisk/outgoing/. Sau đó, asterisk sẽ phân tích file

65

.call và tiến hành gọi ra cho số điện thoại ngƣời nhận, sau khi ngƣời nhận nhấc máy, hệ thống sẽ phát kịch bản thoại ở file extensions.conf tại địa chỉ (Context:Extension:Priority) có trong file .call nhƣ phân tích ở 2.2.4.

Hình 27: Mô hình file .call sử dụng trong hệ thống quà tặng âm nhạc

Kịch bản thoại phát cho ngƣời nhận đƣợc xây dựng tại script php:

AGI(/var/lib/asterisk/agi-bin/phatquatang.php,${id}) ;// id là mã quà tặng âm nhạc Kịch bản thoại này đƣợc xây dựng theo sơ đồ khối nhƣ dƣới:

Bắt đầu Lẫy mã quà tặng DB VMusic Lẫy mã bài hát

Lấy link file thu âm

Lấy link file bài hát

Phát lời chúc

+ bài hát Kết thúc

Hình 28: Sơ đồ giải thuật cho kịch bản thoại phát quà tặng

Việc xây dựng kịch bản thoại này cũng sử dụng thƣ viện phpagi và kết nối với cơ sở dữ liệu mysql giống nhƣ kịch bản thoại cho tổng đài tiếp nhận yêu cầu gửi tặng.

66

Trong trƣờng hợp không kết nối đƣợc tới ngƣời nhận quà, trƣờng thời gian gọi ra đáp ứng của yêu cầu đó sẽ đƣợc cộng thêm 3 phút (3 lần đầu và 3 lần sau) hoặc 15 phút giữa lần thứ 3 và thứ 4, đồng thời mỗi lần gọi ra, sẽ cập nhật vào 1 trƣờng lƣu số lần gọi ra với yêu cầu đó. Sẽ có tổng cộng 6 lần gọi ra cho ngƣời nhận nếu ngƣời nhận không nhấc máy. Kết thúc 6 lần, hệ thống sẽ không cộng thêm thời gian gọi ra cho yêu cầu đó nữa. Kết thúc việc xử lý tự động yêu cầu đó.

Trong trƣờng hợp số lƣợng file call tại một thời điểm nhiều hơn 1, mỗi lần quét cơ sở dữ liệu sẽ giới hạn số lƣợng file .call đồng thời là 30 file đồng thời. Việc này sẽ dẫn đến những yêu cầu gửi tặng tại cùng thời điểm đó từ vị trí thứ 31 trở đi sẽ bị trễ. Thời gian trễ là thời gian hệ thống gọi ra quét cơ sỡ dữ liệu ờ lần tiếp theo. Việc xử lý này dẫn đến 2 vấn đề:

Tại thời điểm quét cơ sở dữ liệu để lấy yêu cầu, số lƣợng yêu cầu gọi ra vƣợt quá số line rảnh.

Việc xử lý với các yêu cầu bị trễ.

Hai trƣờng hợp này sẽ đƣợc xử lý nhƣ trƣờng hợp cuộc gọi đến máy nhƣng ngƣời nhận không nhấc máy. Trong trƣờng hợp đặc biệt, khi số lƣợng yêu cầu cần đáp ứng tăng đột biến, và hệ thống đáp ứng không tốt (số lƣợng yêu cầu không đƣợc đáp ứng tăng cao), hệ thống sẽ cảnh báo sớm tới ngƣời quản trị. Trong quá trình hệ thống quà tặng âm nhạc vận hành, nếu số lƣợng yêu cầu ngày một lên cao, và hệ thống có khả năng không đáp ứng tốt, hệ thống sẽ đƣợc nâng cấp thêm đƣờng E1. Để nâng cao chất lƣợng dịch vụ, hệ thống tin nhắn cũng đƣợc sử dụng để thông báo quà tặng tới ngƣời gửi và ngƣời nhận quà.

Một phần của tài liệu Nghiên cứu, thiết kế và xây dựng tổng đài quà tặng âm nhạc giá rẻ trên nền tảng (Trang 63 - 66)