Khóa luận Xây dựng hệ thống dịch vụ giá trị gia tăng trên nền dịch vụ nhắn tin tức thì qua hệ thống tin nhắn tức thì

Khóa luận của chúng tôi trình bày tổng quan về một chương trình mà chúng tôi gọi là TCat. Đây là một chương trình có thể gửi tin nhắn cho điện thoại di động cũng như cho một số mạng nhắn tin tức thì (Yahoo, Google). Ngoài khả năng gửi tin nhắn, TCat còn cho phép viết thêm một số dịch vụ khác cắm vào mà không cần thay đổi toàn bộ code. Vì thế TCat có tính mở rộng cao. Các dịch vụ viết thêm vào có khả năng tương tác trực tiếp với người sử dụng. Ngoài ra chúng tôi còn cung cấp thêm giao diện Web giúp người sử dụng giao tiếp với hệ thống dễ dàng.

Do hạn chế về thời gian cho nên trong phạm vi khóa luận này chúng tôi chỉ xây dựng các tính năng cơ bản và một số dịch vụ.

 

doc90 trang | Chia sẻ: luyenbuizn | Lượt xem: 970 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Khóa luận Xây dựng hệ thống dịch vụ giá trị gia tăng trên nền dịch vụ nhắn tin tức thì qua hệ thống tin nhắn tức thì, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trương Lê Thành XÂY DỰNG HỆ THỐNG DỊCH VỤ GIÁ TRỊ GIA TĂNG TRÊN NỀN DỊCH VỤ NHẮN TIN TỨC THÌ QUA HỆ THỐNG TIN NHẮN TỨC THÌ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trương Lê Thành XÂY DỰNG HỆ THỐNG DỊCH VỤ GIÁ TRỊ GIA TĂNG TRÊN NỀN DỊCH VỤ NHẮN TIN TỨC THÌ QUA HỆ THỐNG TIN NHẮN TỨC THÌ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin Cán bộ hướng dẫn: ThS Đào Minh Thư HÀ NỘI - 2009 LỜI CẢM ƠN Lời đầu tiên, chúng tôi xin chân thành cảm ơn quý thầy cô giáo khoa Công nghệ thông tin đã dạy dỗ chúng tôi suốt bốn năm học vừa qua và tạo điều kiện cho phép chúng tôi được thực hiện khoá luận tốt nghiệp này. Đặc biệt, chúng tôi xin được bày tỏ lòng kính trọng và biết ơn sâu sắc tới cô giáo hướng dẫn: ThS Đào Minh Thư và thầy giáo ThS Hồ Đắc Phương đã tận tình hướng dẫn và giúp đỡ chúng tôi trong quá trình hoàn thành công trình này. Xin chân thành cảm ơn tới công ty ViettelMedia đã giúp đỡ chúng tôi hoàn thành tốt khóa luận. Xin cảm ơn gia đình và bạn bè đã giúp đỡ, động viên tôi trong thời gian thực hiện đề tài. Cảm ơn bạn Nguyễn Thị Thu Thảo đã cùng tôi hoàn thành khóa luận này. Với trình độ và kiến văn còn hạn chế của người viết, khoá luận chắc chắn không tránh khỏi khiếm khuyết. Chúng tôi hy vọng sẽ nhận được những ý kiến nhận xét, góp ý của các nhà khoa học, các thầy cô giáo và bạn bè về những vấn đề được triển khai trong khoá luận. Xin trân trọng cảm ơn! Hà Nội, tháng 5 năm 2009 Sinh viên Trương Lê Thành TÓM TẮT NỘI DUNG Khóa luận của chúng tôi trình bày tổng quan về một chương trình mà chúng tôi gọi là TCat. Đây là một chương trình có thể gửi tin nhắn cho điện thoại di động cũng như cho một số mạng nhắn tin tức thì (Yahoo, Google). Ngoài khả năng gửi tin nhắn, TCat còn cho phép viết thêm một số dịch vụ khác cắm vào mà không cần thay đổi toàn bộ code. Vì thế TCat có tính mở rộng cao. Các dịch vụ viết thêm vào có khả năng tương tác trực tiếp với người sử dụng. Ngoài ra chúng tôi còn cung cấp thêm giao diện Web giúp người sử dụng giao tiếp với hệ thống dễ dàng. Do hạn chế về thời gian cho nên trong phạm vi khóa luận này chúng tôi chỉ xây dựng các tính năng cơ bản và một số dịch vụ. MỤC LỤC THUẬT NGỮ VIẾT TẮT CSDL Cơ Sở Dữ Liệu Cơ sở dữ liệu GSM Global System for Mobile communications Hệ thống toàn cầu cho truyền thông di động HTTP Hypertext Transfer Protocol Giao thức truyền siêu văn bản HTTPS Hypertext Transfer Protocol Secure HTTP an toàn IM Instant Messaging Tin nhắn tức thì SMPP Short Message Peer-to-peer Protocol Giao thức tin nhắn ngắn ngang hàng SMS Short Message Service Dịch vụ tin nhắn ngắn SMSC Short Message Service Center Trung tâm tin nhắn TCP/IP Transmission Control Protocol / Internet Protocol Giao thức truyền tin tin cậy trên nền Internet DANH SÁCH HÌNH VẼ Hình 2. 1: Mô hình tổng quan 11 Hình 2. 2 Biểu đồ ngữ cảnh hệ thống 13 Hình 2. 3 CSDL của TCat 14 Hình 3. 1: Ảnh chụp màn hình chương trình Wireshark 16 Hình 3. 2: Cấu trúc gói tin YMSG phiên bản 12 16 Hình 3. 3: Cấu trúc gói tin YMSG phiên bản 9 17 Hình 3. 4: Cấu trúc gói tin YMSG phiên bản 15 17 Hình 3. 5: Cấu trúc trường Data 19 Hình 3. 6: Giao thức YMSG 22 Hình 3. 7: Cấu trúc gói tin Verify 22 Hình 3. 8: Gói tin Verify hồi đáp từ Server 23 Hình 3. 10: Ảnh chụp gói tin Authentication 24 Hình 3. 9: Gói tin Authentication 24 Hình 3. 12: Ảnh chụp gói tin Authentication ACK 25 Hình 3. 11: Gói tin trả lời Authenticaion ACK 25 Hình 3. 14: Ảnh chụp gói tin Authentication Response 26 Hình 3. 13: Gói tin Authentication Response 26 Hình 3. 15: Gói tin Message 27 Hình 3. 16: Ảnh chụp gói tin Message 28 Hình 3. 17: Cấu trúc gói tin Notify 29 Hình 3. 18: Ảnh chụp gói tin Notify 29 Hình 3. 20: Ảnh chụp gói tin Logoff 30 Hình 3. 19: Gói tin Logoff 30 Hình 3. 21: Cấu trúc gói tin Add Buddy 30 Hình 3. 22: Ảnh chụp gói tin Add Buddy 31 Hình 3. 23: Cấu túc gói tin Remove Buddy 31 Hình 3. 24: Ảnh chụp gói tin Remove Buddy 32 Hình 3. 25: Cấu trúc module Yahoo Bot 33 Hình 3. 26 Cấu trúc module Gtalk bot 36 Hình 4. 1 Mối liên hệ giữa các bảng trong CSDL 43 Hình 4. 2 Sơ đồ cấu trúc module WEB 47 Hình 5. 1 SMS Gateway kết nối trực tiếp với SMSC 55 Hình 5. 2 Mô hình gửi tin SMS với SMS Gateway kết nối với SMSC thông qua GSM Modem 57 Hình 5. 3 Kết nối của Module SMS với SMS Gateway 59 Hình 6. 1: Mối quan hệ Friend - User 63 Hình 6. 2: Mối quan hệ User và Udef 65 Hình 6. 3: Mối quan hệ CSDL trong dịch vụ nhắc việc theo thời gian 71 Hình 6. 4: Mối quan hệ CSDL trong dịch vụ nhắc việc theo sự thay đổi của trang web 72 Hình 7. 1 Giao diện của NowSMS 74 Hình 7. 2 Lựa chọn kết nối tới SMSC 75 Hình 7. 3 Cấu hình kết nối 76 Hình 7. 4 Chạy dịch vụ 77 Hình 7. 5 Kết nối tới modem 78 Hình 7. 6 Lựa chọn thiết bị GSM để kết nối 78 LỜI MỞ ĐẦU Internet đang ngày càng phát triển nhằm đáp ứng nhu cầu của con người. Nhờ sự tiến bộ của khoa học nói chung và công nghệ thông tin nói riêng, diện mạo của Internet đang ngày càng rõ rệt và "có hình hài". Internet là kết quả tất yếu của nhu cầu cần được đáp ứng của con người, đó là tập hợp các nhu cầu cực kỳ phong phú và đa dạng của mọi người khắp nơi trên thế giới. Điều đó tạo nên sự phức tạp, sức hấp dẫn và cuốn hút của Internet. Ngày nay, Internet được sử dụng rộng rãi trên toàn thế giới. Những ứng dụng trên Internet đã có bước phát triển bùng nổ, với nhiều loại hình dịch vụ mới như thương mại điện tử, giải trí trực tuyến, đào tạo trực tuyến,…Sự ra đời của các dịch vụ trên Internet đã giúp ích rất nhiều cho cuộc sống của mọi người thuận tiện, thoải mái, tốt đẹp hơn. Vì những lý do trên chúng tôi đã nảy ra ý định xây dựng lên chương trình có thể nhắn tin tự động, trả lời tự động đến nick Yahoo, GoogleTalk hay số điện thoại của người sử dụng với những nội dung đã được đăng ký với chúng tôi như giá chứng khoán, giá ngoại tệ, thời tiết,… Chương trình của chúng tôi xây dựng được gọi là TCat. TCat có tính ứng dụng thực tiễn cao. Chúng tôi đã đưa vào thực tiễn một số dịch vụ của TCat như dịch vụ Phiên dịch, Nhắc việc. Dịch vụ Phiên dịch là dịch vụ giúp người sử dụng dịch một đoạn văn bản, một từ hoặc thậm chí cả một tài liệu. Dịch vụ này của chúng tôi sử dụng lại dịch vụ miễn phí của Google là Google Translate. Dịch vụ Nhắc việc là dịch vụ dịch vụ cho phép người sử dụng có thể đăng ký nhận tin nhắn tự động (nhắc việc) tới chính nick Yahoo, GoogleTalk hoặc số điện thoại của mình vào một thời điểm nào đó, hoặc khi một trang Web có sự thay đổi,… CHƯƠNG 1. ĐẶT VẤN ĐỀ 1.1. Cuộc sống hiện đại 1.1.1. Internet toàn cầu hóa Toàn cầu hóa (Globalization) là “một xu hướng làm các mối quan hệ trở nên ít bị ràng buộc bởi địa lý lãnh thổ”, là khái niệm dùng để miêu tả các thay đổi trong xã hội và trong nền kinh tế thế giới, tạo ra bởi mối liên kết và trao đổi ngày càng tăng giữa các quốc gia, các tổ chức hay các cá nhân ở góc độ văn hoá, kinh tế, v.v. trên quy mô toàn cầu. Về bản chất thì toàn cầu hóa là sự mở rộng thị trường ra ngoài biên giới quốc gia. Internet đang ngày càng phát triển nhằm đáp ứng nhu cầu của con người. Nhờ sự tiến bộ của khoa học nói chung và công nghệ thông tin nói riêng, diện mạo của Internet đang ngày càng rõ rệt và "có hình hài". Internet là kết quả tất yếu của nhu cầu cần được đáp ứng của con người, đó là tập hợp các nhu cầu cực kỳ phong phú và đa dạng của mọi người khắp nơi trên thế giới. Điều đó tạo nên sự phức tạp, sức hấp dẫn và cuốn hút của Internet. Internet được sử dụng ngày càng rộng rãi. Và giờ đây Internet đã trở thành mạng toàn cầu. Và tại Việt Nam, việc sử dụng Internet ngày phổ biến. Điều này thể hiện rõ ở số lượng người dùng gia tăng nhanh chóng, số lượng dịch vụ Internet ngày càng nhiều và thời gian truy cập Internet trong mỗi ngày cũng dài thêm. Theo kết quả khảo sát gần đây của công ty nghiên cứu thị trường TNS Public & Social Research Việt Nam tiến hành ở bốn thành phố lớn của Việt Nam gồm Thành phố Hồ Chí Minh, Hà Nội, Đà Nẵng và Cần Thơ với 1,200 người tham gia trả lời ý kiến, thì hiện nay người sử dụng Internet ở Việt Nam đang ngày càng dành nhiều thời gian trên mạng hơn, với thời lượng trung bình mỗi ngày là 43 phút trong năm 2008, thời lượng này gần gấp đôi so với hồi năm 2006.[[] Theo ] Theo đó, có đến 72% số người trong độ tuổi 18 - 30 sử dụng Internet thường xuyên để tán gẫu (chat); và 81% số người trong độ tuổi 41-50 thường xuyên đọc tin tức trên Internet. 1.1.2. Sống gấp Ngày nay, mọi người ai cũng bận rộn với công việc hàng ngày, với cuộc sống gia đình, với những quan hệ xã hội. Cuộc sống có quá nhiều điều khiến con người phải lo toan, phiền muộn. Bản thân mỗi con người bị cuốn vào vòng xoay của công việc, học tập và những toan tính hàng ngày. Cuộc sống thật bộn bề những lo toan, suy nghĩ. Đôi khi mọi người cảm thấy mệt mỏi khi phải suy nghĩ quá nhiều thứ trong đầu và để sắp xếp mọi thứ cho tốt đẹp. Và thời gian rảnh trong cuộc sống giúp cho con người thư thái, giải trí cũng ít đi. 1.2. Giải pháp Hiện nay, có những người truy cập hàng giờ trên Internet chỉ để xem giá chứng khoán thay đổi, xem bài viết của mình trên diễn đàn đã được trả lời chưa, xem đã có thông tin mới thật lãng phí thời gian. Hay việc không để ý đến thời tiết hàng ngày làm ai đó bị sốt, bị ốm,.. làm hại cho sức khỏe. Hay một việc gì đó quan trọng bị lãng quên,… làm ảnh hưởng không tốt đến công việc cuộc sống của mọi người. Từ những lý do trên chúng tôi đã nảy ra ý định xây dựng lên chương trình có thể nhắn tin tự động, trả lời tự động đến nick Yahoo, GoogleTalk hay số điện thoại của người sử dụng với những nội dung đã được đăng ký với chúng tôi như giá chứng khoán, giá ngoại tệ, thời tiết,…sẽ giúp ích một phần cho cuộc sống. Chương trình của chúng tôi xây dựng được gọi là TCat. TCat là một chương trình mở, không chỉ có các dịch vụ đã cung cấp mà còn cho phép người sử dụng thêm các dịch vụ vào. 1.3. Nội dung của khóa luận Khóa luận của chúng tôi gồm có bảy chương cụ thể sau: Chương 1. Đặt vấn đề và cách giải quyết Chương này nhằm nói tới nguyên nhân khách quan, mục đích khi xây dựng TCat, tính ứng dụng thực tiễn, những lợi ích của TCat và những nội dung chính của khóa luận. Chương 2. Tổng quan về TCat, các giao diện của TCat và thiết kế cơ sở dữ liệu của TCat Nội dung chủ yếu của chương này là nói về tổng quan TCat. TCat gồm có ba module chính đó là IM, Web và SMS với một số dịch vụ như Phiên dịch, Nhắc việc,…Module IM là module giúp người sử dụng giao tiếp với hệ thống thông qua các dịch vụ tin nhắn tức thì miễn phí. Người sử dụng chỉ cần đăng ký một nick chat miễn phí từ nhà cung cấp dịch vụ chat, sau đó dùng nick chat của mình (có thể là nick Yahoo, GoogleTalk, Skype ..) yêu cầu một dịch vụ từ TCat. Module Web đảm nhận công việc là giao diện giao tiếp với người sử dụng, đọc cơ sở dữ liệu nếu như các module hay dịch vụ khác yêu cầu và trả về kết quả. Module SMS là module gửi tin nhắn từ máy tính tới số điện thoại của người sử dụng mà đã đăng ký với TCat. Chương 3. Giao thức Yahoo Messenger với module Yahoo Bot và Giao thức Google Talk với module Gtalk Bot Trong chương này gồm có hai phần: Phân tích, mô tả giao thức của Yahoo Messenger, phân tích thiết kế và xây dựng module Yahoo Bot. Tổng quan về giao thức của Google Talk, phân tích thiết kế và xây dựng module Gtalk Bot. Chương 4. Tổng quan giao diện Web của TCat Nội dung của chương viết về tổng quan, phân tích thiết kế giao diện Web. Web là module cung cấp cho người dùng những tính năng nâng cao, giúp TCat quản lý người dùng một cách dễ dàng hơn. Chương 5. Module SMS với các mô hình kết nối để gửi tin nhắn từ máy tính tới điện thoại di động Chương này với nội dung trình bày về các cách kết nối để có thể gửi tin nhắn từ máy tính tới điện thoại di động và phân tích thiết kế, cấu trúc module SMS. Có hai cách kết nối được đề cập trong chương này: Cách thứ nhất là kết nối trực tiếp SMS Gateway tới SMSC của nhà cung cấp dịch vụ Viettel. Cách thứ hai là kết nối tới SMS Gateway với GSM Modem và sau đó GSM Modem sẽ giao tiếp với SMSC trên mạng di động. Chương 6. Phân tích, thiết kế các dịch vụ đã cung cấp của TCat Trong chương này chúng tôi trình bày một số dịch vụ đã cung cấp của TCat. Các dịch vụ của chúng tôi gồm có: Phiên dịch, Chấp nhận/từ chối, Nhắc việc, Thời tiết và dịch vụ người dùng tự định nghĩa. Trong đó dịch vụ Phiên dịch là dịch vụ khi người dùng gõ lệnh theo cú pháp mặc định. TCat sẽ trả về cho người dùng nghĩa của từ mà người dùng muốn tra. Dịch vụ Chấp nhận/Từ chối được kích hoạt khi một người sử dụng thêm một ai đó vào danh sách bạn bè (Friend). Dịch vụ này có ý nghĩa đơn giản là khi một người nhận được những tin nhắn của một người sử dụng TCat của chúng tôi để gửi tin thì người nhận đó có thể chấp nhận hoặc là từ chối nhận các tin nhắn sau. Dịch vụ Thời tiết cũng giống như dịch vụ Phiên dịch. Khi muốn biết thời tiết của một vùng nào đó trong nước Việt Nam thì người sử dụng sẽ gõ một câu lệnh theo cú pháp mặc định sau đó dịch vụ sẽ gửi lại thông tin thời tiết về vùng nhận được. Dịch vụ người dùng tự định nghĩa là dịch vụ cho phép một người sử dụng dễ dàng thêm các dịch vụ vào TCat. Chương 7. Phụ lục kèm theo Chương này với nội dung về cách cấu hình SMS Gateway theo hai cách kết nối được trình bày ở chương 5. Trong khóa luận này tôi đã phân tích và xây dựng module IM, phân tích thiết kế module Web, xây dựng các dịch vụ: Phiên dịch, Người dùng tự định nghĩa, Chấp nhận từ chối, Nhắc việc khi có trang web thay đổi. Còn bạn Thảo đã phân tích xây dựng module SMS, xây dựng module Web, xây dựng các dịch vụ: Nhắc việc theo thời gian, thời tiết. CHƯƠNG 2. TỔNG QUAN VỀ TCAT TCat là sự kết hợp của các module IM, SMS, WEB. Mỗi module đảm nhiệm một chức vụ khác nhau trong toàn bộ hệ thống. TCat cung cấp cho người dùng các dịch vụ dựa trên việc nhắn tin qua nick Yahoo, GoogleTalk hoặc Mobile. Các module ghép lại đảm nhiệm vị trí khung chương trình (framework). Bộ khung chương trình này chịu trách nhiệm gửi và nhận tin nhắn qua Yahoo, GoogleTalk hoặc Mobile. TCat được thiết kế là chương trình mở. Điều này có nghĩa là TCat được thiết kế sao cho việc thêm các dịch vụ là hoàn toàn đơn giản. Vì có khung chương trình rồi lập trình viên hoặc bất kì một người sử dụng nào cũng có thể thêm vào các dịch vụ khác. Đối với những dịch vụ phức tạp thì ngưởi sử dụng cần nghiên cứu các hàm, giao diện do khung chương trình cung cấp. Chúng tôi đưa vào hai loại dịch vụ. Loại dịch vụ thứ nhất: dịch vụ gửi tin nhắn thụ động. Điều này có nghĩa là dịch vụ chỉ được kích hoạt khi nào có yêu cầu. Ví dụ như các dịch vụ Phiên dịch, Nhắc việc. Dịch vụ Phiên dịch là dịch vụ giúp người sử dụng dịch một đoạn văn bản, một từ hoặc thậm chí cả một tài liệu. Dịch vụ này của chúng tôi sử dụng lại dịch vụ miễn phí của Google là Google Translate. Dịch vụ Nhắc việc là dịch vụ dịch vụ cho phép người sử dụng có thể đăng ký nhận tin nhắn tự động (nhắc việc) tới chính nick Yahoo, GoogleTalk hoặc số điện thoại của mình vào một thời điểm nào đó, hoặc khi một trang Web có sự thay đổi,…Mỗi khi yêu cầu dịch vụ, người sử dụng chỉ cần viết lệnh và gửi cho một nick Yahoo hoặc Google Talk tự động của chúng tôi . Khi khung chương trình nhận được thông điệp sau đó sẽ gọi dịch vụ tương ứng, phân tích các tham số truyền vào, sau đó lấy kết quả trả về cho người sử dụng. Loại dịch vụ thứ hai: dịch vụ gửi tin nhắn chủ động (hay còn gọi là dịch vụ tự động). Dịch vụ được kích hoạt khi có một sự kiện nào đó xảy ra. Sự kiện này được người dùng đăng ký trước, có thể là gửi một nội dung tin nhắn vào một thời điểm nào đó, thông báo sự thay đổi của một trang web (giá vàng, chứng khoán thay đổi, có bài trả lời trong diễn đàn). Tất nhiên để chống lại tình trạng spam tin nhắn, người sử dụng phải xác nhận mình cho phép TCat gửi tin nhắn cho mình. Thực chất của dịch vụ này là một tiến trình tự động chạy. Cứ mỗi có sự kiện xảy ra tiến trình sẽ lấy các nick cần liên lạc thông qua truy vấn vào cơ sở dữ liệu, sau đó gửi thông điệp cho họ. Đối với việc thêm dịch vụ của bên thứ ba. Chúng tôi đưa ra hai phương án giải quyết. Thứ nhất: dịch vụ bên thứ ba cung cấp khá phức tạp và có liên quan một phần đến hệ thống. Với loại dịch vụ như thế này thì chỉ có cách duy nhất cần những người biết về chuyên môn (ví dụ như lập trình viên) viết các dịch vụ tương ứng rồi đưa vào hệ thống. Thứ hai: đối với các dịch vụ đơn giản và không liên quan đến TCat. Bên thứ ba có thể sử dụng một dịch vụ gọi là “Dịch vụ người dùng tự định nghĩa”. Dịch vụ này mỗi lần có yêu cầu sẽ kết nối đến một liên kết, lấy các thông tin cần thiết về, sau đó đưa trả lại cho người sử dụng. Các thông tin trả về phải được đưa theo một chuẩn đã thống nhất trước. Người sử dụng cũng như bên thứ ba cần phải đăng ký một tài khoản để sử dụng hoặc tạo ra các dịch vụ. Ngoài việc cung cấp khung chương trình của TCat, chúng tôi còn cung cấp thêm một số dịch vụ kèm theo, chi tiết các dịch vụ được mô tả ở chương 6. Trong luận văn này, chúng tôi đưa vào thuật ngữ bot với ý nghĩa là một chương trình máy tính, thực hiện một số nhiệm vụ tự động. Thuật ngữ WEB để chỉ một trong những module của chúng tôi (khác với web). 2.1. Nhắn tin tức thì (IM) Module này giúp người sử dụng giao tiếp với TCat thông qua các dịch vụ IM miễn phí. Người sử dụng chỉ cần đăng ký một nick chat miễn phí từ nhà cung cấp dịch vụ chat, sau đó dùng nick chat của mình (có thể là nick Yahoo, GoogleTalk, Skype ..) yêu cầu một dịch vụ từ TCat. Quá trình này có thể tưởng tượng như sau: Người sử dụng dùng nick chat của mình chat với nick Yahoo hoặc nick Google Talk trả lời tự động của chúng tôi (các nick trả lời tự động thực ra là một chương trình chúng tôi tạm gọi là con bot) yêu cầu nhắc việc, tra từ điển, xem tỷ giá chứng khoán, xem tin tức, xem dự báo thời tiết, gửi tin cho điện thoại di động, thu thập ý kiến … Con bot sẽ đưa ra các hồi đáp ứng với yêu cầu của người sử dụng. Nhìn chung về phía IM thì người sử dụng giao tiếp khá hạn chế với con bot. Người sử dụng chỉ có thể yêu cầu dịch vụ bằng cách gửi tin đến con bot theo một cú pháp nhất định nào đó (Chẳng hạn muốn xem dự báo thời tiết thì gõ /weather HANOI ). Vì thế một số tính năng nâng cao sẽ rất khó sử dụng hoặc không được cài đặt vì khá phức tạp. Ví dụ với dịch vụ nhắc việc cho một danh sách dài. Nhắc việc vào lúc 8h của thứ sáu hàng tuần. Nội dung của nhắc việc là tin dự báo thời tiết. Với một yêu cầu khá phức tạp như vậy thì cấu trúc lệnh sẽ rất phức tạp, người sử dụng sẽ rất lúng túng khi sử dụng dịch vụ vì không thể nhớ hết cấu trúc lệnh. Ngoài ra, chúng tôi còn cung cấp các dịch vụ do người dùng tự định nghĩa. Tất nhiên, để sử dụng dịch vụ này, người sử dụng phải tuân thủ một số chuẩn do chúng tôi đề ra. Và sẽ khá phức tạp cho người sử dụng nếu chỉ có duy nhất một cổng giao tiếp qua IM. Người sử dụng cấu hình dịch vụ của họ rất khó khăn qua dòng lệnh (không có giao diện đồ họa), tính bảo mật của phương thức này cũng không cao. Để đảm bảo công việc không bị tắc nghẽn, và tiện cho quá trình mở rộng sau này. Chúng tôi thiết kế sao cho module IM có thể có nhiều thể hiện (instance). Nói một cách khác, nếu coi module IM như một chương trình thì có thể chạy nhiều chương trình như thế. Trong tương lai, để phục vụ nhiều người thì một nick (Yahoo, Gtalk) là không đủ cần phải mở rộng ra nhiều nick. Có thể thuê những máy khách hàng nếu máy chủ không đủ tài nguyên để chạy các ứng dụng IM (có băng thông mạng cao, máy cấu hình mạnh). Khách hàng khi chạy ứng dụng IM cần có Username và Password, mỗi lần chạy sẽ được tính thời gian online sau đó qui đổi ra tiền (hoặc cái gì đó có giá trị) để tặng lại khách hàng. 2.2. WEB Như đã nói ở phần trên, người sử dụng có thể tự mình cài đặt dịch vụ và sử dụng các chức năng nâng cao của TCat. Nhưng việc sử dụng được chức năng nâng cao thông qua IM sẽ rất khó khăn. Vì thế, chúng tôi đưa thêm vào module WEB. Thông qua giao diện WEB thì chúng tôi sẽ quản lý người sử dụng dễ dàng hơn (tiện cho việc thương mại hóa). Người sử dụng khi muốn sử dụng các dịch vụ nâng cao trên WEB phải đăng ký cho mình một tài khoản, việc này giúp quản lý công việc dễ dàng hơn. Ngoài ra việc đăng ký tài khoản cũng giúp cho việc thương mại hóa TCat sau này thuận tiện hơn. Giao diện WEB hỗ trợ một số tính năng nâng cao cho người dùng. Người dùng có thể tự mình thêm vào một dịch vụ thông qua hai bước là: đăng ký từ khóa và cài đặt dịch vụ. Một từ khóa cho phép chỉ đến một dịch vụ. Sau khi có từ khóa, người dùng muốn cài đặt dịch vụ phải cấu hình các tham số cho phù hợp (thông điệp trả về, các args). WEB dễ dàng sử dụng các dịch vụ nâng cao ví dụ như dịch vụ Nhắc việc, nếu muốn nhắc việc theo chu kỳ, hoặc khi một sự kiện nào đó xảy ra. Việc cấu hình cho dịch vụ trên thông qua IM sẽ phức tạp. Tuy nhiên nếu thông qua giao diện WEB thì mọi việc rất dễ dàng. Ngoài việc giúp quản lý người sử dụng dễ dàng và giúp người sử dụng quản lý công việc dễ dàng hơn, module WEB còn kết nối trực tiếp đến CSDL, thực hiện các công việc giúp giảm tải cho các module khác. Lấy ví dụ về dịch vụ nhắc việc. Với module IM, ý tưởng đơn giản ban đầu là module IM sẽ trực tiếp kết nối đến CSDL, và cứ mỗi X phút (X là một số nào đó, có thể 1,2,3..) sau đó lấy danh sách các nick cần nhắc việc. Sẽ rất trôi chảy nếu chỉ có vài chục đến vài trăm nick. Nhưng sẽ là thảm họa nếu có tới vài trăm đến vài nghìn nick. Thảm họa ở chỗ Yahoo sẽ khóa (block) nick nếu trong thời gian 1-3 giây nick đó gửi đi quá nhiều tin nhắn (Không cần biết gửi đến nhiều nick hay không, chỉ cần biết là gửi nhiều tin nhắn. Yahoo làm việc này để ngăn chặn việc spim tin nhắn). Ý tưởng cải tiến trong trường hợp này là sẽ đưa vào nhiều con bot làm nhiệm vụ nhắn tin. Con bot có thể hiểu là các thể hiện (instance) của module IM. Tuy nhiên cùng với ý tưởng trên, một bài toán khó đặt ra là vấn đề đồng bộ giữa các con bot. Làm sao cho các con bot không lấy dữ liệu trùng nhau, phân chia công việc, giảm tải một cách có hiệu quả nhất. Đây là một bài toán khó, liên quan đến CSDL phân tán. Tuy nhiên nếu tư duy theo một cách khác thì sẽ tránh được bài toán khó này mà vẫn đạt được mục tiêu như ban đầu. Ý tưởng của chúng tôi rất đơn giản. Chúng tôi sẽ giảm tải cho module IM. Đưa vào module WEB ở giữa module IM và CSDL. Nói cách khác, Module IM bây giờ không thao tác trực tiếp với CSDL nữa. Mọi thao tác đều thông qua WEB. Như vậy module IM không mất tài nguyên kết nối CSDL, cũng không cần giải quyết bài toán khó về việc đồng bộ hóa giữa các con bot. Con bot chỉ cần yêu cầu kết nối đến WEB, WEB sẽ xử lý hết tất cả các công việc phức tạp, sau đó đưa lại cho con bot một danh sách các nick Yahoo cần nhắc việc. Việc xử lý đồng bộ bây giờ đưa về việc xử lý tuần tự ở WEB. Ở phía WEB việc xử lý rất đơn giản. WEB chỉ cần thống kê số lượng các con bot online trên mạng, sau đó chia đều công việc cho chúng. Nếu số lượng nick cần nhắc việc quá nhiều so với số lượng đáp ứng được của mỗi con bot thì WEB chỉ trả lại số lượng nick nhắc việc mà mỗi con bot có thể làm được. Để bảo mật thì mỗi con bot có một chuỗi khóa bí mật. Khi lấy thông tin từ WEB thì con bot phải cung cấp chuỗi khóa đó cho WEB kiểm tra. Mọi kết nối đến WEB đều dựa trên giao thức HTTPS. 2.3. SMS Không phải lúc nào mọi người cũng có thể online. Tuy nhiên nhu cầu kết nối là điều không thể thiếu. Module SMS được đưa vào để hoàn thiện thêm cho TCat. Sử dụng dịch vụ SMS có thể gửi tin nhắn cho số điện thoại nào đó, nạp tiền vào tài khoản (nếu thương mại hóa). Ví dụ sử dụng dịch vụ Nhắc việc trong việc coi thi: văn phòng khoa của nhà trường muốn nhắc nhở các các thầy cô giáo là đúng 8h hôm nay bắt đầu coi thi học kỳ .Tất nhiên văn phòng khoa có thể gọi điện hoặc nhắn tin đến từng thầy cô một. Tuy nhiên sẽ là lãng phí cả về tài chính, thời gian và công sức nếu có quá nhiều. Văn phòng khoa có thể sử dụng dịch vụ Nhắc việc thông qua giao diện WEB. Chỉ cần upload lên danh sách các thầy cô và số điện thoại tương ứng. Sau đó là việc chọn thời gian và thông điệp và các tin nhắn sẽ được gửi đến các số điện thoại ở trên. Vậy là mọi việc đã xong. Thông qua dịch vụ này người sử dụng không cần phải nhớ quá nhiều lịch làm việc và an tâm rằng mình sẽ không quên một việc gì đó. WEB CSDL WService WService WAService Giao Diện I PyService PyService PyService PyService YahooBot GTalkBot SMSBot Internet WService CSDL CSDL CSDL Hình 2. 1: Mô hình tổng quan Trên Hình 2. 1: Mô hình tổng quan là hình vẽ khái quát về mô hình tổng quan của TCat. TCat gồm ba Module chính là WEB, IM, SMS. Moudle IM gồm hai module con là Yahoo Bot và Gtalk Bot. Cả hai đều có thể có nhiều thể hiện (instance). Module SMS cũng như vậy. Cả hai module đều kết nối với các dịch vụ PyService thông qua giao diện I. Giao diện I giúp các module IM và SMS kết nối với các dịch vụ dễ dàng hơn. PyService là các dịch vụ được viết bằng Python. Các dịch vụ này được viết theo tiêu chí càng đơn giản càng tốt, sẽ không tự xử lý dữ liệu mà chuyển sang một nơi nào đó xử lý dữ liệu rồi nhận kết quả trả về. Trong các moudle IM, SMS có thể t

Các file đính kèm theo tài liệu này:

  • docTruong Le Thanh_K50MMT_Khoa luan tot nghiep dai hoc.doc
Tài liệu liên quan