Xây dựng chương trình nhắn tin SMS quảng bá - Pdf 14


VIỄN THÔNG HÀ NỘI
TRUNG TÂM TIN HỌC
o0o XÂY DỰNG CHƯƠNG TRÌNH NHẮN TIN SMS
QUẢNG BÁ CHO VIỄN THÔNG HÀ NỘI.
1.1. 1. Tổng quan 11
1.2. 2. Một số tính năng chính của MySQL 12
1.2. 2. Các ưu điểm của hệ quản trị cơ sở dữ liệu MySQL 21
1.2. Tổng quan .Net Framework và Web Service. 24
1.2.1. Net Framework. 24
1.2.1.1. Biên dịch và ngôn ngữ trung gian (MSIL) 27
1.2.1.2 Web Services 28
1.2.2. Kiến trúc Web Service. 30
1.2.2.1. XML – eXtensible Markup Language 32
1.2.2.2. WSDL - Web Service Description Language 33
1.2.2.3. UDDI - Universal Description, Discovery and Intergration 34
1.2.2.4. SOAP - Simple Object Accesss Protocol 36
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

2
1.2.3. Bảo mật trong Web Service. 36
1.2.4. Xây dựng Web Service. 38
1.2.5. Tích hợp Web Service theo chuẩn. 39
1.3 ASP.NET 41
1.4 Kiến trúc 3 lớp/tầng trong ASP.NET 43
1.4.1 Phân biệt giữa tầng (tier) và lớp (layer) 43
1.4.2 Các thành phần trong kiến trúc 3 tầng/lớp 45
1.4.3 Mô tả chi tiết mô hình 3 lớp. 47
1.5 JQuery 50
1.5.1. Tổng quan 50
1.5.2 Những tính năng của Jquery 50
2. Xây dựng cơ sở dữ liệu 54

Hình 10: Chồng giao thức của dịch vụ WEB 31
Hình 11: Kiến trúc web service 32
Hình 12: Cấu trúc WSDL 34
Hình 13: Mô hình ví dụ về cấu trúc UDDI 35
Hình 14: Cấu trúc SOAP message 36
Hình 15: Sơ đồ hoạt động của AJAX 42
Hình 16: Mô hình 3 tầng 43
Hình 17: Các thành phần trong kiến trúc 3 tầng/ lớp 45
Hình 18: Mô hình 3 lớp 47
Hình 19: Mô hình CSDL phần quản trị 54
Hình 20: Mô hình CSDL phần chức năng 55
Hình 21: Sơ đồ chức năng của hệ thống SMSQB 60
Hình 22: Tiến trình gửi tin quảng bá MT và nhận tin yêu cầu MO 61
Hình 23: Tình tự cấu hình SMS quảng bá 61
Hình 24: Trình tự cấu hình từ khóa 62 Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

4
DANH MỤC CÁC TỪ VIẾT TẮT
STT Các từ viết tắt Ý nghĩa đầy đủ
1 AJAX Asynchronous JavaScript and XML
2 WSDL Web Service Description Language


4. Lưu Quang Đạt
Phòng PTPM2 – TTTH Mục tiêu của đề tài:
Dựa trên khảo sát hiện trạng hệ thống nhắn tin quảng bá của Viễn thông Hà Nội, nhóm
thực hiện đặt ra mục tiêu đề tài như sau:
- Xây dựng chương trình cho người không có trình độ IT có thể chủ động cấu hình
thực hiện các kịch bản quảng bá – tiếp thị (MT) và tiếp nhận thông tin phản hổi
của khách hàng (MO) thông qua SMS.
- Khả năng tạo và lưu trữ dữ liệu SMS tập trung.
- Khả năng cấu hình kết nối tới các nguồn CSDL khác nhau(Oracle, SQL, MySQL,
XLS,Text…) để upload vào cơ sở dữ liệu SMS tập trung.
- Cấu hình gói cước, khuyến mại cho từng user để đưa ra ngoài Internet.
- Tạo các giao diện tra cứu, giám sát, báo cáo các SMS đã gửi(nhận)
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

6

LỜI NÓI ĐẦU
Trong những năm vừa qua, nhằm đẩy mạnh tin học hóa các khâu trong qui trình sản xuất,
Viễn thông Hà Nội đã xây dựng các hệ thống nhắn tin tự động thông báo cước, thông báo
khuyến mại cho Vinaphone…Tuy nhiên, có một số vấn đề phát sinh: các kịch bản phân
tán tại các đơn vị quản lý các hệ thống tin học, nguồn thông tin và số máy cần gửi cũng
phân tán dẫn đến khó khăn trong việc quản lý kịch bản và dữ liệu. Ngoài ra, việc cấu hình
các kịch bản đòi hỏi phải có trình độ IT cao dẫn đến không thuận tiện cho người dùng tại

công tác điều hành sản xuất kinh doanh và làm dịch vụ cho 1080, bổ sung phương thức
thực hiện các công đoạn nghiệp vụ qua SMS cho các bài toán nghiệp vụ điều hành sản
xuất kinh doanh của Viễn thông Hà Nội.
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

8
Bên cạnh đó mô hình này có một số hạn chế: Các kịch bản nằm phân tán tại các đơn vị
quản lý các hệ thống IT như TTTH, TTDHTT… Nguồn thông tin, số máy cần gửi nằm
phân tán trên nhiều nguồn dữ liệu khác nhau. Chưa có giao diện tra cứu, báo cáo, giám
sát tin nhắn gửi đi. Ngoài ra, để tạo ra kịch bản SMS cần sự làm việc giữa bên cung cấp
dữ liệu với bên có hệ thống IT(làm kịch bản) dẫn đến mất công, nhiều thời gian trễ. Ví
dụ: một đơn vị có danh sách khách hàng muốn gửi tin nhắn thông báo khuyến mại, nếu
không có người có trình độ IT đơn vị này sẽ phải gửi danh sách khách hàng và nội dung
tin nhắn sang cho đơn vị quản lý SMSGW. Sau đó đơn vị quản lý SMSQW dựa trên yêu
cầu để viết các đoạn chương trình thực hiện gửi tin nhắn…Dẫn đến mất rất nhiều thời
gian và công sức.
2. Các đơn vị ngoài.
Các đơn vị kinh doanh SMS quảng bá thường làm theo các bước như sau:
- Đăng ký gói cước với nhà cung cấp.
- Gửi cho nhà cung cấp danh sách số máy cần gửi tin kèm theo nội dung tin nhắn
cần gửi (thường là nội dung tĩnh không cá biệt hóa theo từng số máy).
- Nhà cung cấp dịch vụ gửi cho khách hàng 1 tin nhắn mẫu để khách hàng kiểm tra.
- Nếu khách hàng đồng ý bên cung cấp dịch vụ sẽ thực hiện gửi tin vào 1 thời điểm
nào đó, do nhà cung cấp đặt. Khách hàng sẽ không có giao diện để cấu hình thời
gian chạy, tần suất chạy…
- Báo cáo, thống kê tin nhắn gửi cũng do nhà cung cấp gửi lại cho khách hàng khi
khách hàng có nhu cầu.

trung nên việc xử lý sự cố cũng rất đơn giản, nhanh chóng.
- Chương trình ứng dụng chỉ việc cài đặt trên một máy chủ, chỉ việc dùng Browser
như Internet Explorer, FireFox truy cập vào máy chủ thông qua Internet là có thể
sử dụng được chương trình ứng dụng mà không phải cài thêm bất cứ phần mềm
nào khác=> Chương trình có thể triển khai ở các đơn thông qua mạng
intranet/internet.
Việc tạo kịch bản gồm các bước: upload dữ liệu, cấu hình kịch bản, kiểm soát việc gửi dữ
liệu… Công đoạn upload dữ liệu có thể thực hiện qua 2 phương thức: upload qua Web
hoặc upload qua ứng dụng Desktop. Tuy nhiên, nếu dùng upload qua Web sẽ gây tình
trạng quá tải cho server Web khi người dùng upload một số lượng lớn bản ghi. Do dó,
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

10
nhóm đề tài lựa chọn phương thức upload qua ứng dụng Desktop kết nối trực tiếp từ máy
người dùng đến server Database.
3. Ứng dụng Desktop
Ứng dụng Desktop gồm có 2 phần:
- Phần upload dữ liệu: Để đáp ứng yêu cầu quản lý tập trung dữ liệu nhóm đề tài
quyết định sử dụng ứng dụng Desktop để upload thông tin gửi, số máy gửi đến
CSDL tập trung. Không dùng upload trên Web để tránh tình trạng quá tải của
server Web.
- Phần chạy ngầm gửi tin nhắn: Viết bằng WindowService sẽ chạy theo tần suất 1
phút/lần đọc trong dữ liệu xem kịch bản nào đến thời gian được gửi. Sau đó sẽ đọc
dữ liệu của kịch bản đó rồi thực hiện gửi tuần tự từng bản tin.

AJAX, jQuery, …
- Mô hình phát triển: mô hình 3 lớp
1.1 Cơ sở dữ liệu MySQL.
1.1. 1. Tổng quan
- MySql là phần mềm quản trị cơ sở dữ liệu (CSDL) mã nguồn mở được phát
triển bởi công ty MySQL AB. MySQL là phần mềm CSDL miễn phí nằm
trong nhóm LAMP (Linux – Apache - PHP). Phiên bản đầu tiền được ra mắt
vào tháng 5 năm 1995. Cơ sở dữ liệu MySQL đã trở thành cơ sở dữ liệu mã
nguồn mở phổ biến nhất trên thế giới vì cơ chế xử lý nhanh và ổn định của nó,
sự đáng tin cậy cao và dễ sử dụng. Nó được sử dụng mọi nơi – ngay cả châu
Nam Cực - bởi các nhà phát triển Web riêng lẻ cũng như rất nhiều các tổ chức
lớn nhất trên thế giới để tiết kiệm thời gian và tiền bạc cho những Web sites
có dung lượng lớn, phần mềm đóng gói – bao gồm cả những nhà đi đầu trong
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

12
lĩnh vực công nghiệp như Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube
và Zappos.com.MySQL không chỉ là cơ sở dữ liệu mã nguồn mở phổ biến
nhất trên thế giới, nó còn trở thành cơ sở dữ liệu được chọn cho thế hệ mới
của các ứng dụng xây dựng trên nền Linux, Apache, MySQL,
PHP/Perl/Python. MySQL chạy trên hơn 20 flatform bao gồm: Linux,
Windows, OS/X, HP-UX, AIX, Netware, mang đến cho bạn tính linh hoạt
trong việc sử dụng
- Dù là người mới làm quen với công nghệ cơ sở dữ liệu hay là một nhà phát
triển giàu kinh nghiệm hoặc là DBA thì MySQL đều là hệ quản trị CSDL dễ
sử dụng.


ra sau một khoảng thời gian tùy thuộc vào cấu hình. Replicate chỉ đồng
bộ một chiều từ Master về slave. Replicate có thể nhân rộng tất cả các
database hoặc những database được chọn, thậm chí cho phép replicate
các bảng chọn trong một database. Tuỳ thuộc vào mục đích sử dụng, ta
có thể dùng replicate vào mục đích sau:
 Replicate để sao lưu dữ liệu (replicate for backup): Để sử dụng
replicate như là một giải pháp sao lưu bằng cách sao chép dữ liệu
từ master thể để một slave
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

14
 Replicate giữa Master và Slave sử dụng cơ chế lưu dữ liệu khác
nhau (storage engine): Cung cấp một số lợi thế trong quá trình
replicate để tận dụng lợi thế của các loại engine khác nhau nhằng
tăng hiệu năng của hệ thống ví dụ: Muốn sử dụng bảng engine
INNODB trên master để tận dụng các chức năng giao dịch,
nhưng lại sử dụng engine MYISAM sử dụng trên các slave, nơi
không cần hỗ trợ giao dịch nhưng cầu lấy dữ liệu nhanh hiệu quả.
 Replicate nhân rộng quy mô: Đối với mô hình lớn việc tăng quy
mô để tăng tốc độ đáp ứng của hệ thống. Việc nhân rộng được
thể hiện bằng mô hình dưới đây

Hình 3: Mô hình Replicate trong MySQL

 Replicate giữa các database khác nhau đến các slave khác nhau
như sau:



mysql>
SHOW PROCESSLIST\G******************* 1. row *************************

Id: 1

User: root

Host: localhost

db: NULL

Command: Query

Time: 0

State: NULL

Info: show processlist

****************** 2. row *************************

Id: 2

User: event_scheduler

Host: localhost

 Một dữ liệu các node: Lưu trữ tất cả các dữ liệu thuộc Cluster
MySQL. Dữ liệu là ngay lập tức nhân rộng giữa các node để đảm
bảo nó là liên tục có sẵn trong trường hợp một hoặc nhiều các
node bị lỗi. Các node cũng quản lý các giao dịch cơ sở dữ liệu.
Các ứng dụng sử dụng các NDB API truy cập dữ liệu của các
node trực tiếp nhanh hơn là thông qua một MySQL Server.
 Hai node quản lý Server: Nodes này xử lý cấu hình hệ thống lúc
khởi động và được kế thừa khi có một sự thay đổi cluster.
Thường chỉ có một Node là cấu hình Cluster được lập và hoạt
động nhưng không có tùy chọn để chạy các node bổ sung, thay
thế để tăng sự sẵn sàng cho các hoạt động bảo trì cũng như truy
cập vào bản ghi cluster. Bởi vì quản lý Node chỉ được dùng lúc
khởi động và tái cấu hình hệ thống, Cluster sẽ vẫn trực tuyến và
sẵn sàng bất kể tình trạng của Node này.
 Ba MySQL Server: Nodes SQL cho phép truy cập vào dữ liệu
nhóm các node. Nut này cung cấp cho các nhà phát triển một
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

18
giao diện chuẩn để phát triển chương trình. MySQL Server lần
lượt xử lý yêu cầu gửi dữ liệu tới các node, do đó loại bỏ sự cần
thiết cho các nhóm lập trình cấp thấp trong ứng dụng. Hơn nữa
MySQL Server Nodes được thêm vào để tăng hiệu suất.
Hình 4 dưới dây là một ví dụ cơ bản một cấu hình MySQL Cluster gồm:
• Một MySQL Server Node.
• Một Management Server Node.
• Và bốn Data Nodes cho phép mở rộng khả năng tính toán

o Plugin API: Plugin API - MySQL 5,1 đang phát triển mới, linh hoạt
plugin API cho phép thêm mới, gỡ bỏ các thành phần khác nhau tại DB
thời gian chạy, mà không cần khởi động lại máy chủ. MySQL cung cấp
các hàm API cho hầu hết các ngôn ngữ lập trình thông dụng như: C,
C++, VB, VB .Net, C##, Perl, PHP…
o Backup and maintenance: MySQL hỗ trợ nhiều kiểu sau lưu khác nhau
tuỳ vào mục đích sử dụng cụ thể. Các kiểu và những đặc tính sao lưu
của MySQL như sau:
 Logical versus physical backups: Sao lưu logic thông tin đại diện
như cấu trúc cơ sở dữ liệu (CREATE DATABASE, CREATE
TABLE) và nội dung. Sao lưu vật lý bao gồm bản sao nguyên
của những thư mục và tập tin mà cơ sở dữ liệu lưu trữ nội dung.
 Online versus offline backups: Online sao lưu diễn ra trong khi
các máy chủ MySQL chạy. Offline sao lưu diễn ra trong khi máy
chủ được ngừng lại. Sự khác biệt này cũng có thể được mô tả là
sao lưu "nóng", "lạnh" hay “ấm”.
 Local versus remote backups: Để đảm bảo không làm ảnh hưởng
đến khả năng xử lý dữ liệu. Ta có thể chọn cách sao lưu cho một
máy chủ MySQL đang chạy từ một máy chủ MySQL khác.
 Snapshot backups: Là cách tại một thời điểm nào đấy sao lưu
toàn bộ những thay đổi dữ liệu trong ngày.
 Full versus incremental backups: Đây là hình thức sao lưu toàn
bộ hệ thống tại một thời điểm. Cách sao lưu này rất an toàn tuy
nhiên cách này rất mất thời gian nên phương pháp này chỉ áp
dụng những lúc hệ thống rỗi.
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”



22
Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩn đảm bảo của
MySQL. MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo
chủ/tớ tốc độ cao, để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng
ngay duy nhất cho server cơ sở dữ liệu MySQL.
+ Hỗ trợ giao dịch mạnh:
MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhất trên
thị trường. Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic – tự
động, Consistent – thống nhất, Isolated – độc lập, Durable – bền vững), khóa mức
dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa
dạng (multi-version) mà người đọc không bao giờ gây trở ngại cho người viết và
ngược lại. Tính toàn vẹn của dữ liệu cũng phải được bảo đảm trong suốt quá trình
server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, và phát hiện
khóa chết ngay lập tức.
+ Nơi lưu trữ Web và Data đáng tin cậy:
MySQL là nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì nó có
engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh ghê gớm, và hỗ trợ mạnh
cho các chức năng chuyên dụng của web như tìm kiếm văn bản nhanh. Những tính
năng này cũng được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng
cường đến hàng terabyte cho các server đơn. Các tính năng khác như bảng nhớ
chính, cây B và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu cầu
lưu trữ đến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web
và các ứng dụng doanh nghiệp.
+ Chế độ bảo mật dữ liệu mạnh:
Vì bảo mật dữ liệu cho một công ty là công việc số một của các chuyên gia về cơ
sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ được

khởi động lại, và cấu hình động sẵn sàng cho người quản trị cơ sở dữ liệu làm
việc. MySQL cũng cung cấp một bộ hoàn thiện các công cụ quản lý đồ họa cho
phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của nhiều server
MySQL từ một máy trạm đơn. Nhiều công cụ của các hãng phần mềm thứ 3 cũng
Đề tài “Xây dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội”

24
có sẵn trong MySQL để điều khiển các tác vụ từ thiết kế dữ liệu và ETL, đến việc
quản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực hiện kiểm tra.
+ Mã nguồn mở tự do và hỗ trợ 24/7:
Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã nguồn mở
vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ
chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn về sự
thành công toàn diện cho các ứng dụng chủ chốt của họ. Những lo lắng của họ có
thể được dẹp bỏ với MySQL, sự bồi thường là có trong mạng lưới MySQL.
+ Tổng chi phí thấp nhất:
Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang thấy rõ
việc tiết kiệm chi phí. Được hoàn thành thông qua sử dụng server cơ sở dữ liệu
MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt
được ở mức ngạc nhiên về khả năng xử lý. Thêm vào đó, tính tin cậy và dễ duy trì
của MySQL ở mức trung bình mà người quản trị cơ sở dữ liệu không phải mất
nhiều thời gian sửa chữa hay vấn đề thời gian chết.
Trên đây cũng là những lý do nhóm đề tài quyết định chọn hệ quản trị cơ sở dữ
liệu MySQL làm hệ quản trị cơ sở dữ liệu cho chương trình.
1.2. Tổng quan .Net Framework và Web Service.
1.2.1. Net Framework.
.Net Framework là bộ khung phát triển ứng dụng mới, nó cung cấp một giao


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status