Tải bản đầy đủ (.pdf) (76 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.52 MB, 76 trang )




















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.







MS : VNPT HNI - 2012-06
Phòng PTPM2 – Trung tâm Tin học - VTHN

Đề 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”

1



MỤC LỤC
MỤC LỤC 1
MỤC LỤC CÁC HÌNH VẼ, SƠ ĐỒ 3
DANH MỤC CÁC TỪ VIẾT TẮT 4
BÁO CÁO ĐỀ TÀI KHOA HỌC 5
LỜI NÓI ĐẦU 6
CHƯƠNG I: KHẢO SÁT THỰC TRẠNG CÁC CHƯƠNG TRÌNH NHẮN TIN
QUẢNG BÁ 7
1. Tại Viễn thông Hà Nội. 7
2. Các đơn vị ngoài. 8
CHƯƠNG II: NGHIÊN CỨU GIẢI PHÁP XÂY DỰNG CHƯƠNG TRÌNH 9
1. Xây dựng CSDL 9
2. Ứng dụng Web 9
3. Ứng dụng Desktop 10
CHƯƠNG III: XÂY DỰNG – PHÁT TRIỂN CHƯƠNG TRÌNH 11
1. Lựa chọn công nghệ 11
1.1 Cơ sở dữ liệu MySQL. 11

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

2.1 Tổng quan về cơ sở dữ liệu. 54
2.2 Các đối tượng chính trong cơ sở dữ liệu. 56
3. Xây dựng – Phát triển chương trình 58
4. Các chức năng chính 59
4.1 Chức năng của chương trình. 59
4.2 Giao diện chương trình 62
CHƯƠNG IV. KẾT LUẬN 74
1. Đánh giá ưu, nhược điểm của đề tài. 74
2. Hướng mở rộng đề tài 74
3. Đề xuất 75




Đề 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”

3



MỤC LỤC CÁC HÌNH VẼ, SƠ ĐỒ
Hình 1: Sơ đồ hệ thống SMSGateWay 4x86 7
Hình 2: Giao diện quản trị mySQL 12
Hình 3: Mô hình Replicate trong MySQL 1 14
Hình 4: Mô hình MySQL Cluster 18
Hình 5: Mô hình MySQL Cluster nâng cao 19
Hình 6: Cấu hình Replicate gữa các Cluster 19
Hình 7: Kiến trúc ứng dụng .Net 26
Hình 8: Web service cho phép các chương trình truy nhập 28
Hình 9: Mô hình dụng dịch vụ Web Service 29

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

3 UDDI
Universal Description, Discovery and
Intergration
4 SOAP Simple Object Accesss Protocol
5 VTHN Viễn Thông Hà Nội
6 CSDL Cơ sở dữ liệu
7 IT Information Technology
8 MO Mobile Originated
9 MT Mobile Terminated

Đề 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”

5



BÁO CÁO ĐỀ TÀI KHOA HỌC
Tê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.
Mã số : VNPT-HNI-2012-06
Cấp quản lý đề tài : Viễn thông Hà Nội
Cơ quan chủ trì đề tài : Trung tâm Tin Học
Chủ nhiệm đề tài : Nguyễn Mạnh Hùng
Những người tham gia thực hiện :
1. Nguyễn Thị Tuyết Mai - PGĐ TTTH 5. Trần Hồng Dương
Phòng PTPM2 – TTTH
2. Nguyễn Mai Huy
Trưởng phòng PTPM2 – TTTH

3. Nguyến Thế Tâm
Phòng PTPM3 – TTTH


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ác đơn vị kinh doanh. Đề 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” được thực hiện nhằm giải quyết các vấn đề còn tồn tại góp phần
tăng năng suất lao động của Viễn thông Hà Nội.
Nội dung đề tài bao gồm :
- Chương I: Khảo sát thực trạng các chương trình nhắn tin quảng bá.
- Chương II: Nghiên cứu giải pháp xây dựng chương trình.
- Chương III: Xây dựng – Phát triển chương trình.
- Chương IV: Kết luậ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”

7



CHƯƠNG I: KHẢO SÁT THỰC TRẠNG CÁC CHƯƠNG
TRÌNH NHẮN TIN QUẢNG BÁ
1. Tại Viễn thông Hà Nội.
Hệ thống SMSGateWay 4x86 là dự án đầu tư của Viễn thông Hà Nội, đơn vị cung cấp là
NEO. Tháng 10/2010 đầu số 4086 được Tập đoàn Bưu chính Viễn thông Việt Nam công
nhận là đầu số nghiệp vụ phục vụ điều hành sản xuất kinh doanh. Công ty Dịch vụ Viễn
thông được Viễn thông Hà Nội giao quản trị hệ thống SMSGateWay, các đơn vị khác
như Trung tâm Tin Học, Trung tâm điều hành Thông tin… khai thác cổng SMSGateWay
này cho các hệ thống điều hành sản xuất kinh doanh mà đơn vị quản lý.

Hình 1: Sơ đồ hệ thống SMSGateWay 4x86

Mô hình này có ưu điểm như: Chủ động bổ xung các kịch bản SMS qua đầu số 4x86 cho

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.

Từ thực tế các chương trình nhắn tin quảng bá tại Viễn thông Hà Nội và các đơn vị ngoài,
nhóm đề tài thấy cần thiết phải có chương trình có khả năng giúp cho các đơn vị có thể
chủ động upload danh sách số máy, nội dung tin nhắn, chủ động cấu hình được thời gian
gửi tin Sau đó chủ động quản lý, giám sát các tin nhắn gửi đ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”

9



CHƯƠNG II: NGHIÊN CỨU GIẢI PHÁP XÂY DỰNG
CHƯƠNG TRÌNH
Qua khảo sát thực tế hiện trạng quản lý các chương trình nhắn tin quảng bá tại Viễn
thông Hà nội và các đơn vị bên ngoài. Nhóm đề tài đã nghiên cứu, đề ra giải pháp để xây
dựng chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội.
1. Xây dựng CSDL
CSDL của chương trình nhắn tin SMS quảng bá cho Viễn thông Hà Nội gồm các phần:
- Quản lý dữ liệu về thông tin gửi, số máy gửi, thời gian gửi.
- Quản lý các kịch bản quảng bá.
- Quản lý được user & quyền cho các user truy cập vào chương trình.
- Quản lý khuyến mãi, gói cước, cước cho từng người dùng.
2. Ứng dụng Web
Để đáp ứng yêu cầu quản lý tập trung kịch bản và dễ dàng cho việc triển khai, bảo trì,
nâng cấp chương trình nhóm đề tài quyết định sử dụng giao diện Web cho việc cấu hình
kịch bản quảng bá. Vì giao diện Web có các ưu điểm sau:
- Quản lý tập trung, không mất thời gian cài đặt cho từng máy trạm và không bị hạn
chế số lượng người sử dụng.
- Khi có sự cố máy trạm cũng không bị mất thông tin vì tất cả được quản lý tập

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.
















Đề 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”

11



CHƯƠNG III: XÂY DỰNG – PHÁT TRIỂN CHƯƠNG
TRÌNH

Để mở rộng chương trình quản lý mạng cáp và điều hành sửa chữa tập trung GTCAS cho
phần quản lý mạng hạ tầng là một công việc phức tạp. Trong phần này, nhóm đề tài xin
trình bày sơ lược về tiến trình Xây dựng – Phát triển chương trình quản lý mạng hạ tầng
mà nhóm đã và đang thực hiện nhằm đạt được mục tiêu đề ra.
1. Lựa chọn công nghệ
Dựa trên qui mô hệ thống, điều kiện hạ tầng mạng/thiết bị và năng lực đội ngũ, nhóm đề
tài đã lựa chọn giải pháp cơ bản sau:
- Cơ sở dữ liệu: hệ quản trị cơ sở dữ liệu MySQL.
- Giao diện chương trình: WEB, có áp dụng các công nghệ mới như ASP.NET 4.0,

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.


Hình 2: Giao diện quản trị mySQL

1.2. 2. Một số tính năng chính của MySQL
- Đến phiên bản 5.0 MySQL đã cung cấp những tính năng chính cho CSDL
doanh nghiệp như các CSDL Oracle, DB2, SQLServer như sau:
o ACID Transactions: giao dịch thực hiện để xây dựng kinh doanh đáng
tin cậy và an toàn của các ứng dụ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”

13



o Stored Procedures: Lưu trữ các thủ tục để nâng cao năng suất nhà phát
triển.
o Triggers: để thi hành quy định kinh doanh phức tạp ở cấp cơ sở dữ liệu.
o Views: Để thu thập thông tin từ nhiều bảng trong cơ sở dữ liệu.
o Information Schema : Cung cấp truy cập dễ dàng để siêu dữ liệu
o Distributed Transactions: Hỗ trợ các giao dịch phức tạp trên nhiều cơ sở
dữ liệu.
o Pluggable Storage Engine: Hỗ trợ nhiều cơ chế lưu dữ liệu.
o Archive Storage Engine for historical and audit logs and data
o Federated Storage Engine: Tạo một CSDL trên nhiều server vật lý.
o Rễ dàng cài đặt, cấu hình thông qua chế độ Wizard tự động.
o Hỗ trợ nhiều chế độ backup.
- MySQL phiên bản 5.1 tập trung nhiều cải tiến những tính năng sau:
o Replicate: Là cho phép sao chép dữ liệu từ một máy chủ cơ sở dữ liệu
(master) để nhân rộng cho một hoặc nhiều máy chủ cơ sở dữ liệu khác
(slave). Replicate khác với đồng bộ là: không cần phải được kết nối liên
tục để nhận thông tin từ các Master, có nghĩa là bản cập nhật có thể xảy

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:


Đề 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”

15




 Sử dụng replicate trong trường hợp khẩn cấp khi Mysql master bị
lỗi và chuyển sang chạy trên slave. Giả sử ban đầu ta có mô hình
tổ chức database như sau:

Nếu Mysql Master bị lỗi, phải chuyển đổi lại mô hình như sau:
Chuyển Slave 1 đang được hoạt động trở thành chủ như sau sử lụng
lệnh STOP SLAVE và RESET MASTER. Trên slave khác Slave 2 và Slave
3 sử dụng STOP SLAVE và CHANGE MASTER TO MASTER_HOST='Slave1'.
Để sử dụng CHANGE MASTER TO thêm tất cả các thông tin để kết nối
với Slave 1 từ Slave 2 hoặc Slave 3. Mô hình mới sẽ được tổ chức
như sau:
Đề 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”

16




o Event schedule: MySQL hỗ trợ chạy các thủ tục theo một quy trình do
người sử dụng đặt ra và quản lý các tiến trình đang chạy vid dụ như
hì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


db: NULL

Command: Daemon

Time: 3

State: Waiting for next activation


Info: NULL

Đề 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”

17



o Inforomation schema: schema là siêu dữ liệu được theo dõi trong
MySQL 5,1 như TABLE, FILES, EVENTS, PARTITION,
PROCESSLIST, ENGINES và PLUGINS.
o Clustering: MySQL Cluster là một cơ sở dữ liệu sẵn sàng cao (High
Availability) sử dụng một kiến trúc độc đáo và một giao diện chuẩn
SQL. Hệ thống này bao gồm một số các quá trình giao tiếp, hoặc các
node mà có thể được phân phối trên máy chủ để đảm bảo tính sẵn sàng
liên tục trong trường hợp máy chủ hoặc mạng bị lỗi. MySQL Cluster sử
dụng một công cụ lưu trữ, bao gồm một bộ các node dữ liệu để lưu trữ
dữ liệu mà có thể được truy cập bằng cách sử dụng chuẩn SQL với
MySQL Server hay thông qua API NDB truy cập thời gian thực.
MySQL Cluster bao gồm ba loại các node sau:

 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

và tăng tính sẵn sàng

Hình 4: Mô hình MySQL Cluster

Hình 5 cung cấp một cấu hình Cluster tăng khả năng xử lý dữ liệu. Cấu
hình gồm:
• Ba Node MySQL Server
• Hai Node Management Server (đảm bảo tăng độ sẵn sàng
của hệ thống)
• Bốn Data Nodes (tạo thành hai nhóm dữ liệu node) đảm bảo
tăng khả xử lý và tính sẵng sàng của hệ thố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”

19




Hình 5: Mô hình MySQL Cluster nâng cao


Hình 6: Cấu hình Replicate gữa các Cluster

Ngoài ra để tăng khả năng xử lý của hệ thống Cluster MySQL còn
cho phép cấu hình xử lý nhiều tác vụ cùng một lúc (Multi-
Threaded), đồng thời truy cập dữ liệu các node(Multi-Threaded Disk
Data File Access).
Đề 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”

20




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”


21



 Point-in-time recovery: Đây là hình thức sao lưu theo thời gian
thực. Mỗi khi dữ liệu có thay đổi MySQL lưu lại các thay đổi
này vào file backup để phục hồi khi hệ thống lỗi.
 Backup scheduling, compression, and encryption: Sao lưu, nén
và mã hoá theo lịch đặt ra cho hệ thống.
 Table maintenance: Là hình thức bảo trì dữ liệu cho các table để
tránh các lỗi về dữ liệu.
1.2. 2. Các ưu điểm của hệ quản trị cơ sở dữ liệu MySQL
Sau đây là các ưu điểm của hệ quản trị cơ sở dữ liệu MySQL:
+ Tính linh hoạt:
Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xử lý
các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu đồ
sộ lên đến hàng terabytes thông tin. Sự linh hoạt về flatform là một đặc tính lớn
của MySQL với tất cả các phiên bản củaLinux, Unix, và Windows đang được hỗ
trợ. Và dĩ nhiên, tính chất mã nguồn mở của MySQL cho phép sự tùy biến hoàn
toàn theo ý muốn để thêm vào các yêu cầu thích hợp cho database server.
+ Tính thực thi cao:
Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ
cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù. Dù ứng dụng là một hệ
thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ hàng triệu
yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe
nhất của bất kì hệ thống nào. Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ
caches, và các cơ chế xử lý nâng cao khác, MySQL đưa ra tất cả các vũ khí cần
phải có cho các hệ thống doanh nghiệp khó tính ngày nay.
+ Có thể sử dụng ngay:
Đề 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

bảo mật tuyệt đối. Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp
Đề 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”

23



các kĩ thuật mạnh mà chắc chắn chỉ có người sử dụng đã được xác nhận mới có
thể truy nhập được vào server cơ sở dữ liệu, với khả năng này để chặn người dùng
ngay từ mức máy khách là điều có thể làm được. SSH và SSL cũng được hỗ trợ để
chắc chắn các kết nối được an toàn và bảo mật. Một đối tượng framework đặc
quyền được đưa ra mà người sử dụng chỉ có thể nhìn thấy dữ liệu, các hàm mã hóa
và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật. Cuối cùng, tiện
ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho
phép backup logic và vật lý hoàn thiện cũng như recovery toàn bộ hoặc tại một
thời điểm nào đó.
+ Sự phát triển ứng dụng hỗn hợp:
Một trong số các lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn mở phổ biến
nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển ứng dụng nào
cần. Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các stored procedure,
trigger, function, view, cursor, ANSI-standard SQL, và nhiều nữa. Với các ứng
dụng nhúng, thư viện plug-in có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ trợ
trong bất kì ứng dụng nào. MySQL cũng cung cấp các bộ kết nối như: ODBC,
JDBC, … để cho phép tất cả các form của ứng dụng sử dụng MySQL như một
server quản lí dữ liệu được ưu tiên.
+ Dễ dàng quản lý:
MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian ở mức trung bình
từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất chưa đầy 15 phút.
Điều này đúng cho dù flatform là Microsoft Windows,Linux, Macintosh hay Unix
. Khi đã được cài đặt, tính năng tự quản lý như tự động mở rộng không gian, tự

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

diện lập trình ứng dụng (Application Programming Interface-API) mới cho các
dịch vụ và hệ điều hành Windows, nó cũng mang lại nhiều kỹ thuật khác nổi bật
của Microsofts suốt từ những năm 90. Trong số đó có các dịch vụ COM + , công
nghệ ASP, XML và thiết kế hướng đối tượng, hỗ trợ các giao thức Web Service
mới như SOAP, WSDL và UDDL với trọng tâm là Internet, tất cả được tích hợp
trong kiến trúc DNA (Distributed Applications Architecture).

×