ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Đặng Thị Nội
XÂY DỰNG DỊCH VỤ THÔNG BÁO SỰ KIỆN DỰA
TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC
Ngành: Công nghệ thông tin
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15
LUẬN VĂN THẠC SĨ
NGƢỜI HƢỚNG DẪN KHOA HỌC: TS.NGUYỄN HOÀI SƠN
HÀ NỘI - 2011
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt đƣợc trong luận văn là sản phẩm của riêng cá
nhân tôi, không sao chép lại của ngƣời khác. Trong toàn bộ nội dung luận văn, những
điều đƣợc trình bày hoặc là của cá nhân tôi, hoặc do tôi tổng hợp đƣợc từ các nguồn tài
liệu khác nhau. Tất cả các tài liệu đƣợc tham khảo điều có xuất xứ rõ ràng, đƣợc trích
dẫn hợp pháp và đƣợc liệt kê đầy đủ trong mục tài liệu tham khảo của luận văn.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định
cho lời cam đoan của mình.
Hà Nội, ngày 15 tháng 06 năm 2011
Đặng Thị Nội
LỜI CẢM ƠN
Tôi xin bày tỏ lời cảm ơn chân thành tới các thầy cô giáo trong khoa Công nghệ
thông tin - Đại học Công nghệ - ĐHQG Hà Nội, đặc biệt là các thầy cô giáo trong bộ
môn Truyền dữ liệu và mạng máy tính, đã tạo điều kiện thuận lợi và giúp đỡ tôi trong
thời gian tôi học tập.
Tôi xin bày tỏ lòng biết ơn chân thành, lời cảm ơn sâu sắc đối với thầy giáo TS.
Nguyễn Hoài Sơn đã tận tình hƣớng dẫn, định hƣớng cho tôi giải quyết các vấn đề
trong luận văn.
Tôi cũng xin bày tỏ lời cảm ơn đối với cha mẹ, gia đình, các đồng nghiệp và
các bạn học viên lớp Cao học K14T2 đã động viên, giúp đỡ, góp ý cho tôi rất nhiều
trong quá trình hoàn thành luận văn.
Luận văn đƣợc tài trợ một phần từ đề tài nghiên cứu cơ bản mã số 102.01.25.09
Quỹ phát triển khoa học và công nghệ quốc gia (NAFOSTED).
Hà Nội, ngày 15 tháng 06 năm 2011
Đặng Thị Nội
MỤC LỤC
LỜI MỞ ĐẦU
1
CHƢƠNG 1. MÔ HÌNH DỊCH VỤ THÔNG BÁO SỰ KIỆN
3
1.1. Tổng quan về dịch vụ thông báo sự kiện ...................................................................... 3
1.2. Ứng dụng của dịch vụ thông báo sự kiện ..................................................................... 4
1.3. Hoạt động của dịch vụ thông báo sự kiện .................................................................... 6
1.4. Hạn chế của các dịch vụ hiện tại .................................................................................. 9
1.5. Kết luận ...................................................................................................................... 10
CHƢƠNG 2. SỬ DỤNG MẠNG NGANG HÀNG CÓ CẤU TRÚC TRONG DỊCH VỤ
THÔNG BÁO SỰ KIỆN
11
2.1. Khái niệm mạng ngang hàng ...................................................................................... 11
2.2. Ƣu, nhƣợc điểm của mạng ngang hàng ...................................................................... 13
2.3. Phân loại mạng ngang hàng........................................................................................ 14
2.3.1.
Mạng ngang hàng phi cấu trúc .......................................................................... 14
2.3.2.1.
Mạng ngang hàng tập trung ..................................................................... 14
2.3.2.2.
Mạng ngang hàng thuần túy .................................................................... 16
2.3.2.3.
Mạng ngang hàng lai ghép....................................................................... 17
2.3.2.
Mạng ngang hàng có cấu trúc ........................................................................... 19
2.3.2.1.
Mạng ngang hàng có cấu trúc dựa trên DHT (Distributed Hash Table) . 21
2.3.2.2.
Mạng ngang hàng có cấu trúc Chord ....................................................... 23
2.4. Tại sao sử dụng mạng ngang hàng có cấu trúc trong hệ thống thông báo sự kiện ..... 28
2.5. Kết luận ...................................................................................................................... 29
CHƢƠNG 3. XÂY DỰNG DỊCH VỤ THÔNG BÁO SỰ KIỆN DỰA TRÊN MẠNG
NGANG HÀNG CÓ CẤU TRÚC
30
3.1. Mục đích và yêu cầu của hệ thống ............................................................................. 30
3.2. Giải pháp thực hiện .................................................................................................... 31
3.3. Cấu trúc hệ thống ....................................................................................................... 36
3.4. Hoạt động của hệ thống .............................................................................................. 37
3.5. Kết luận ...................................................................................................................... 39
CHƢƠNG 4. THỰC THI VÀ ĐÁNH GIÁ CHƢƠNG TRÌNH
40
4.1. Triển khai hệ thống..................................................................................................... 40
4.1. Kết quả thử nghiệm .................................................................................................... 43
4.2. Nhận xét và đánh giá hệ thống ................................................................................... 45
CHƢƠNG 5. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
46
5.1. Kết luận ...................................................................................................................... 46
5.2. Hƣớng phát triển ......................................................................................................... 46
TÀI LIỆU THAM KHẢO
47
DANH MỤC BẢNG BIỂU
Bảng 1: Bảng định nghĩa các trƣờng trong Finger Table ......................................................... 25
Bảng 2: Kết quả thử nghiệm yêu cầu sự kiện cho các sự kiện đã đƣợc cung cấp ................... 43
Bảng 3: Kết quả thử nghiệm cung cấp sự kiện cho yêu cầu có sẵn trên mạng ....................... 44
DANH MỤC HÌNH ẢNH
Hình 1: Cách thức hoạt động của hệ thống thông báo sự kiện ................................................... 7
Hình 2: Trình tự thông báo sự kiện ............................................................................................ 8
Hình 3: Mô hình Client/Server ................................................................................................. 11
Hình 4: Mô hình mạng ngang hàng P2P .................................................................................. 12
Hình 5: Các loại hình mạng ngang hàng .................................................................................. 14
Hình 6: Mạng ngang hàng tập trung thế hệ thứ nhất (Napster) ................................................ 15
Hình 7: Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet) .................................................. 16
Hình 8: Mạng ngang hàng lai ghép .......................................................................................... 18
Hình 9: Mạng ngang hàng có cấu trúc...................................................................................... 20
Hình 10: Lƣu giữ key trong mạng Chord ................................................................................. 26
Hình 11: Tìm kiếm khóa sử dụng bảng FingerTable................................................................ 27
Hình 12: Mô hình luồng sự kiện ............................................................................................... 31
Hình 13: Chi tiết một số sự kiện ............................................................................................... 34
Hình 14: Cấu trúc của hệ thống thông báo sự kiện .................................................................. 36
Hình 15: Hoạt động của hệ thống thông báo sự kiện ............................................................... 37
Hình 16: Mô hình thử nghiệm .................................................................................................. 40
Hình 17: Giao diện chức năng cung cấp sự kiện ...................................................................... 41
Hình 18: Giao diện chức năng yêu cầu sự kiện ........................................................................ 41
Hình 19: Giao diện thông báo sự kiện ...................................................................................... 42
Hình 20: Đồ thị kết quả thử nghiệm yêu cầu sự kiện cho các sự kiện đã đƣợc cung cấp ........ 44
Hình 21: Đồ thị kết quả thử nghiệm cung cấp sự kiện cho yêu cầu có sẵn trên mạng ............. 45
1
LỜI MỞ ĐẦU
Với sự phát triển của công nghệ thông tin ngày nay, lƣợng thông tin cung cấp vô
cùng phong phú và đa dạng. Điều này cũng gây ra một số khó khăn khi ngƣời dùng
không thể tìm đƣợc chính xác điều mà họ quan tâm. Do đó chúng tôi phát triển dịch vụ
để có thể tìm đƣợc dữ liệu một cách chính xác và đầy đủ nhất có thể.
Tuy hiện nay có nhiều dịch vụ thông báo sự kiện nhƣng khi muốn tìm kiếm
thông tin ngƣời dùng phải thực hiện câu truy vấn để hệ thống đƣa ra kết quả phản hồi.
Để đáp ứng đƣợc nhu cầu của ngƣời sử dụng là tìm kiếm thông tin chính xác và phù
hợp với yêu cầu nên luận văn đã xây dựng một hệ thống giúp ngƣời dùng chỉ phải
đăng ký sự kiện, khi sự kiện phát sinh hệ thống sẽ thông báo một cách kịp thời đến
ngƣời đã đăng ký mà không phải thực hiện truy vấn.
Do các máy chủ cung cấp dịch vụ hiện nay hoạt động rời rạc không có sự liên kết
với nhau gây quá tải tại máy chủ khi có nhiều ngƣời cùng truy cập một thời điểm.
Chính vì vậy nảy sinh nhu cầu liên kết các nhà cung cấp dịch vụ lại với nhau thành
một mạng dịch vụ. Để liên kết các nhà cung cấp dịch vụ lại với nhau thì cần phải giải
quyết các vấn đề về quản lý, lƣu trữ, xử lý thông tin phân tán và tìm kiếm thông tin
trên quy mô lớn. Do bản chất có thể quản lý, lƣu trữ và tìm kiếm dữ liệu trên quy mô
lớn và dễ dàng mở rộng nên mạng hàng hàng có cấu trúc là giải pháp tốt để liên kết
các nhà cung cấp dịch vụ với nhau.
Vì vậy, luận văn đã xây dựng một hệ thống thông báo sự kiện dựa trên mạng
ngang hàng có cấu trúc lƣu trữ và xứ lý thông tin phân tán (bản chất của mạng ngang
hàng), tìm kiếm thông tin nhanh, có thể tìm kiếm dữ liệu trên quy mô lớn và hệ thống
có thể dễ dàng mở rộng.
Để đánh giá hiệu quả của hệ thống đã xây dựng, chúng tôi đã thử nghiệm và đánh
giá thông qua môi trƣờng mạng có giới hạn băng thông và độ trễ giống với môi trƣờng
mạng Internet hiện nay. Kết quả thử nghiệm cho thấy hệ thống xây dựng đã đáp ứng
đƣợc các yêu cầu của dịch vụ thông báo sự kiện là cung cấp dịch vụ thời gian thực và
có thể dễ dàng mở rộng hệ thống.
Khoá luận đƣợc chia làm 5 chƣơng:
- Chƣơng 1: Chƣơng này sẽ giới thiệu về dịch vụ thông báo sự kiện đang đƣợc sử
dụng và các yêu cầu của dịch vụ thông báo sự kiện sẽ xây dựng.
2
- Chƣơng 2: Trong chƣơng này sẽ giới thiệu tổng quan về mạng ngang hàng, ƣu
nhƣợc điểm của mạng ngang hàng và lý do sử dụng mạng ngang hàng có cấu trúc để
xây dựng hệ thống.
- Chƣơng 3: Chƣơng này sẽ trình bày về ý tƣởng, yêu cầu và cách thức xây dựng
dịch vụ thông báo sự kiện dựa trên mạng ngang hàng có cấu trúc.
- Chƣơng 4: Trình bày về mô hình thực nghiệm để đánh giá hiệu quả của dịch vụ
thông báo sự kiện đã xây dựng, đƣa ra các nhận xét đánh giá kết quả thử nghiệm.
- Chƣơng 5: Kết luận và hƣớng phát triển tiếp theo của luận văn.
3
CHƢƠNG 1. MÔ HÌNH DỊCH VỤ THÔNG BÁO SỰ KIỆN
Ngày nay, với sự tiến bộ của khoa học kỹ thuật, đặc biệt là sự phát triển nhanh
chóng của công nghệ phần cứng đã có thể tạo ra các thiết có khả năng lƣu trữ và xử lý
lớn với giá thành nhỏ khiến cho số lƣợng ngƣời dùng sử dụng các thiết bị này tăng
nhanh chóng. Chính vì số lƣợng các thiết bị này tăng nhanh dẫn đến nhu cầu của ngƣời
dùng muốn sử dụng các dịch vụ gia tăng trên các thiết bị này lớn. Dịch vụ thông báo
sự kiện là một dịch vụ gia tăng đang phát triển ngày nay. Các ứng dụng của dịch vụ
này rất đa dạng, cung cấp cho thông tin nhanh và chính xác.
1.1.
Tổng quan về dịch vụ thông báo sự kiện
Dịch vụ thông báo sự kiện là một hạ tầng ứng dụng độc lập, hỗ trợ cho việc xây
dựng các hệ thống dựa trên nền sự kiện. Các node cung cấp dịch vụ đến cơ sở hạ tầng
và node yêu cầu sự kiện đăng ký với cơ sở hạ tầng để nhận các thông báo liên quan.
Dịch vụ thông báo sự kiện cho phép yêu cầu sự kiện đồng thời cung cấp các sự kiện
đƣợc yêu cầu thông qua mạng internet hoặc kết nối không dây. Dịch vụ này có thể
cung cấp sự kiện một cách tự động khi có sự kiện phát sinh.
Một dịch vụ thông báo sự kiện là dịch vụ kết nối vô danh giữa các bên lẫn nhau.
Dịch vụ thu nhận, lọc và cung cấp thông tin về các sự kiện.
Một hệ thông báo sự kiện thực hiện dịch vụ thông báo sự kiện cụ thể. Chúng ta
đề cập đến dịch vụ thông báo sự kiện nhƣ là khái niệm nói chung và hệ thống thông
báo sự kiện khi chú trọng vào việc thực hiện các dịch vụ đƣợc thiết kế. Nhiều công bố
không cho một định nghĩa rõ ràng mà chỉ là một mô tả khái niệm về dịch vụ thông báo
sự kiện, gọi đó là “Dịch vụ thông báo”, “dịch vụ Cung cấp/Yêu cầu”, hay “hệ thống
đẩy”.
[2] Dịch vụ này khác với các dịch vụ khác ở chỗ truy vấn của các dịch vụ trƣớc
đây đƣợc gửi lên và lƣu trữ trƣớc mà kết quả có thể chƣa tồn tại nhƣng ngƣời đăng ký
truy vấn hy vọng sẽ nhận đƣợc thông báo khi kết quả trở thành có sẵn. Các dịch vụ
hiện tại thích hợp cho các ứng dụng tìm kiếm mà nơi truy vấn đang chờ thông tin, đối
lập với các ứng dụng truyền thống nơi các truy vấn cần phải tồn tại trƣớc.
Dịch vụ đƣợc sử dụng trong mạng ngang hàng P2P là một đề tài rất đƣợc chú ý
trong những năm gần đây vì P2P có thể đƣợc áp dụng cho các mạng phân tán nhƣ là
cách hiệu quả để chia sẻ tài nguyên, giảm thiểu chi phí máy chủ và phát huy hợp tác
giữa các node. Thông thƣờng một node cung cấp không biết ai đang quan tâm đến dữ
4
liệu của nó và ngƣợc lại một node đăng ký cũng không biết ở đâu trong mạng dữ liệu
của nó quan tâm là có sẵn. Vì vậy một vấn đề khó khăn là thiết kế cơ chế cho ngƣời
đăng ký và nhà cung cấp để tìm thấy nhau một cách nhanh chóng và hiệu quả. Đơn
giản là quảng bá các truy vấn đến tất cả các node trong mạng hoặc để sử dụng một
trung tâm chỉ mục của tất cả các truy vấn đƣợc đăng ký và thông tin đƣợc công bố.
Do đó, một loạt các cơ chế Cung cấp/ Đăng ký đã đƣợc đề xuất, dựa trên thông
báo và dựa vào cấu trúc. Phƣơng pháp tiếp cận đầu tiên đƣợc thiết kế cho tất cả các
mạng phi cấu trúc, trong đó các nút Đăng ký và các node Cung cấp tìm thấy nhau,
trao đổi thông tin bằng cách sử dụng các liên kết ngang hàng hiện có, thông thƣờng
dựa trên một số hình thức ngẫu nhiên. Một cách tiếp cận khác là tổ chức các nút vào
một cấu trúc phủ và phát triển phƣơng pháp Cung cấp/ Đăng ký trên đỉnh của nó. Ví
dụ mạng phủ là dựa vào bảng phân tán DTH. Lợi thế của cách tiếp cận dựa vào thông
báo là áp dụng cho mạng phi cấu trúc, trong khi phƣơng pháp tiếp cận dựa trên cấu
trúc đƣợc ƣa chuộng cho hiệu quả tốt hơn.
1.2.
Ứng dụng của dịch vụ thông báo sự kiện
- Phát hiện và cảnh báo xâm nhập trong mạng không dây: Ứng dụng quan sát tất
cả những hoạt động hệ thống, nhƣ các file log và những lƣu lƣợng mạng thu thập
đƣợc, theo dõi những cuộc gọi hệ thống, lịch sử kiểm tra và những thông điệp báo lỗi
trên hệ thống… phát hiện ngƣời xâm nhập và gửi cảnh báo đến quản trị mạng
- Hợp nhất hệ thống, thiết bị và các ứng dụng từ nhiều nhà cung cấp: truyền
thông thông báo sự kiện đến các node yêu cầu các sự kiện quan trọng nhƣ: sự gián
đoạn sản xuất, các mối đe dọa an ninh, và thiên tai, … Khi sự kiện xảy ra, cảnh báo
đƣợc gửi đến nhóm đƣợc xác định trƣớc hoặc các cá nhân, những ngƣời có thể phản
ứng nhanh chóng với trạng thái và phản hồi. Tin nhắn đƣợc hỗ trợ trên hầu nhƣ bất kỳ
loại điện thoại hoặc thiết bị nhắn tin, và thông qua email.
- Gửi tin nhắn tức thời: Khi có bạn bè lên mạng, ngƣời sử dụng sẽ đƣợc gửi tin
nhắn đến thông báo và có thể gửi tin nhắn, gửi mail, SMS, … cho nhau
- Cung cấp tin tức: Ngƣời dùng có nhu cầu thông tin về một lĩnh vực nào đấy, hệ
thống sẽ dựa vào yêu cầu của ngƣời dùng và gửi thông tin chính xác cho ngƣời dùng
khi sự kiện về thông tin xẩy ra
-[5] Hệ thống cá nhân hóa: Thuật ngữ cá nhân không bị giới hạn thông báo sự
kiện, nó bao gồm thể hiện quan tâm của khách hàng trong hồ sơ cá nhân. Hồ sơ đƣợc
5
khách hàng định nghĩa rõ ràng hoặc hoàn toàn bởi các dữ liệu khai thác hoặc phân tích
các hoạt động của khách hàng. Hệ thống cá nhân hóa hoạt động trên mức độ ứng dụng.
- Dịch vụ cảnh báo: Thuật ngữ hệ thống thông báo hoặc dịch vụ thông báo đƣợc
dùng chung khi nói về dịch vụ thông báo sự kiện, nó chú trọng đến ứng dụng của dịch
vụ. Thuật ngữ “dịch vụ cảnh báo” hiện nay đƣợc sử dụng rộng rãi trong phạm vi của
các thƣ viện kỹ thuật số; thuật ngữ “cảnh báo” cũng thƣờng đƣợc đề cập đến dịch vụ
đăng ký nhận tin qua email. Các ứng dụng ban đầu cho các dịch vụ cảnh báo đƣợc hệ
thống nâng báo động trong trƣờng hợp nguy hiểm, xâm nhập, hoặc trục trặc động cơ.
- Dịch vụ Cung cấp/ Đăng ký: Các mô hình Cung cấp/ Đăng ký là một mô hình
tƣơng tác bao gồm cả nhà cung cấp thông tin (nhà cung cấp, nhà cung ứng) cung cấp
dữ liệu vào hệ thống và các khách hàng (ngƣời đăng ký, ngƣời tiêu dùng) đăng ký các
vấn đề quan tâm trong hệ thống. Vai trò của hệ thống Cung cấp/Đăng ký là cùng lúc
gửi thông tin chính xác cho đúng khách hàng yêu cầu. Hệ thống Cung cấp/ Đăng ký
đƣợc hệ thống thông báo sự kiện hỗ trợ nhà cung cấp chủ động gửi dữ liệu vào hệ
thống. Thông thƣờng các sự kiện và tin nhắn thông báo sự kiện không phân biệt.
- Hệ thống đẩy: Thuật ngữ hệ thống đẩy đề cập đến hệ thống dựa trên Internet,
mang đến nội dung cho khách hàng của nó thông qua các kênh dựa trên đối tƣợng.
Việc triển khai hệ thống đẩy thƣờng là hệ thống trung gian hỗ trợ hệ thống mức ứng
dụng.
- Hệ thống dựa trên phổ biến: Trong bối cảnh hệ thống thông tin dựa trên phổ
biến, một hệ thống thông báo sự kiện là một nhà môi giới thông tin, mua lại thông tin
từ các nguồn dữ liệu, làm tăng thêm giá trị và phân phối thông tin cho khách hàng
(bằng mạng thông tin của khách hàng). Thuật ngữ này tập trung vào việc phân phối
các tài liệu không phải là quan sát và lọc các sự kiện.
- Hệ thống lọc thông tin: Hệ thống nhƣ là một hệ thống thông báo sự kiện có các
giao dịch đặc biệt là các tài liệu mới hoặc thay đổi. Các dịch vụ này còn đƣợc gọi là hệ
thống lọc tài liệu.
- Hệ thống định tuyến dựa trên nội dung: Thuật ngữ này dùng để chỉ các hệ thống
truy hồi thông tin trong đó các truy vấn đƣợc định tuyến đến các máy chủ có sẵn dựa
trên sự phù hợp mong đợi của máy chủ để truy vấn.
- Hệ thống giám sát (sự kiện): Thuật ngữ này dùng để chỉ các hệ thống giám sát
nguồn sự kiện nào đó, lọc các sự kiện và gửi thông báo. Nhìn chung, các nguồn sự
kiện là những nguồn quan sát bị động nhƣ các cảm biến và đầu đo. Các ứng dụng tự
6
quan sát, giám sát chƣơng trình máy tính để giao tiếp trong hệ thống phân phối và ứng
dụng web.
- Cơ sở hạ tầng dựa trên sự kiện: Cơ sở hạ tầng dựa trên sự kiện hỗ trợ trao đổi
tin nhắn không đồng bộ giữa các đối tƣợng trong một môi trƣờng phân phối. Xác định
khả năng tƣơng tác độc lập, hệ thống không đồng nhất và xây dựng một giao tiếp
chƣơng trình đến chƣơng trình ở cấp độ hệ thống
- Dịch vụ nhận thức: Thuật ngữ nhận thức mô tả điều chỉnh tự động các thông tin
hiện tại của nhà cung cấp và khách hàng. Khách hàng nhận thức tất cả các thay đổi của
nhà cung cấp, hoặc là đối tƣợng mới, hoặc là xóa các đối tƣợng, hoặc là sửa đổi các
đối tƣợng.
- Dịch vụ xử lý sự kiện: Thuật ngữ dịch vụ xử lý sự kiện mô tả một dịch vụ đƣợc
quy định trong Java
1.3.
Hoạt động của dịch vụ thông báo sự kiện
Hệ thống hoạt động dựa trên khả năng lƣu trữ của mạng ngang có cấu trúc
Chord.
Khi ngƣời dùng yêu cầu một sự kiện nào đó, hệ thống sẽ tạo ra khóa tƣơng ứng
với một cặp (thuộc tính - giá trị) của sự kiện yêu cầu và gửi yêu cầu sự kiện đến một
node gọi là node phụ trách khóa. Node phụ trách khóa sẽ lƣu lại sự kiện yêu cầu, khóa
và địa chỉ của node đã yêu cầu sự kiện. Khi có sự kiện tƣơng ứng với yêu cầu, node
phụ trách khóa sẽ gửi thông tin sự kiện cho node đó theo đúng địa chỉ của node yêu
cầu sự kiện mà nó đã lƣu.
Sự kiện khi đƣợc cung cấp, hệ thống sẽ tạo ra các cặp (thuộc tính - giá trị) của sự
kiện yêu cầu và gửi thông tin sự kiện yêu cầu đến các node phụ trách khóa . Node phụ
trách khóa sẽ kiểm tra cơ sở dữ liệu, lấy ra danh sách các node gửi yêu cầu phù hợp
với thông tin sự kiện đƣợc cung cấp và gửi thông tin sự kiện đến node yêu cầu sự kiện.
Việc lƣu thông tin sự kiện tại 1 node nào đó trên mạng đảm bảo cho việc lƣu trữ
không bị quá tải và khi có vấn đề xảy ra với 1 node trong mạng thì khả năng cung cấp
dịch vụ không bị gián đoạn.
7
Hình 1: Cách thức hoạt động của hệ thống thông báo sự kiện
[5] Hình 1 mô tả các thành phần trong hệ thống và mối liên quan giữa chúng.
Trong mô hình này các khái niệm về sự kiện, mô tả sự kiện đã đƣợc đơn giản hóa
Đối tƣợng quan tâm là các đối tƣợng thông tin của node cung cấp, tùy chọn trong
kho đối tƣợng. Thay đổi của các đối tƣợng này (tạo mới, cập nhật, xóa) do bộ phát
hành thực hiện.
Nhiệm vụ của bộ quan sát là phát hiện những thay đổi của đối tƣợng đơn lẻ hoặc
trong kho đối tƣợng. Nếu bộ phát hành không thông báo cho bộ quan sát về các thay
đổi thì bộ quan sát sẽ làm nhiệm vụ phát hiện những thay đổi này (thực hiện theo một
lịch trình). Mọi thay đổi là sự kiện thì các sự kiện đƣợc bộ quan thông báo đến bộ lọc.
Bộ lọc lƣu mô tả dịch vụ của node yêu cầu dịch vụ và so sánh các sự kiện với phần
truy vấn của các mô tả. Nếu mô tả dịch vụ với sự kiện phù hợp, bộ lọc này sẽ tạo ra
một thông báo sự kiện và cung cấp nó cho node yêu cầu dịch vụ này. Đối với các sự
kiện phức hợp đƣợc tìm thấy, các sự kiện sẽ đƣợc lƣu trữ trong Kho lƣu trữ.
Bộ thông báo lần lƣợt kiểm tra thời hạn của các yêu cầu. Nếu yêu cầu phải đƣợc
cung cấp ngay lập tức, thông báo sự kiện đƣợc chuyển đổi theo đúng định dạng cụ thể
của node yêu cầu và cung cấp sự kiện. Nếu không, thông báo sẽ đƣợc đƣa vào bộ đệm
cho đến khi thông báo hết hạn. Bộ thông báo sẽ theo dõi hạn của các sự kiện.
Trong mô tả của Bộ yêu cầu sự kiện cần phân biệt hai phần: Cấu trúc truy vấn
(sử dụng bởi các bộ lọc) quy định rõ các sự kiện mà node yêu cầu quan tâm; trong cấu
trúc tham số, các thông số bổ sung đƣợc xác định, chẳng hạn nhƣ: thời hạn, giao thức
thông báo, và định dạng thông báo. Những thông số này có thể đƣợc sử dụng bởi Bộ
quan sát và Bộ thông báo dạng này.
8
Các thành phần của dịch vụ thông báo sự kiện có thể đƣợc (và thƣờng đƣợc) triển
khai và nhân rộng cho khả năng nâng cấp và độ tin cậy. Bộ khởi động và đối tƣợng
thƣờng trú tại Kho lƣu trữ đối tƣợng nằm của node cung cấp.
Một dịch vụ thông báo sự kiện bao gồm các kiểu nhà cung cấp có thể thực hiện
một Bộ quan sát nhƣ là một màng bọc cho mỗi nhà cung cấp. Ngoài ra, ngƣời quan sát
có thể đƣợc chuyển đến trang web của nhà cung cấp (nếu đƣợc phép) và thực hiện
nhiệm vụ của mình nhƣ một đại lý của dịch vụ thông báo sự kiện đó.
Quan niệm trung tâm của một dịch vụ thông báo sự kiện là sự kiện. Ngƣợc lại
với các trạng thái, các sự kiện là không có thời hạn. Sự kiện có thể đƣợc thay đổi trạng
thái trong cơ sở dữ liệu, tín hiệu trong các hệ thống tin nhắn, hoặc các sự kiện trong
thế giới thực nhƣ xuất cảnh và lƣợt khách của các phƣơng tiện. Cách chính thức,
chuyển trạng thái đƣợc gây ra bởi hành động chẳng hạn nhƣ chèn, xóa, hoặc thay đổi
của một đối tƣợng thông tin.
Hình 2: Trình tự thông báo sự kiện
Hình 2 mô tả một trình tự thông báo sự kiện theo luông thời gian. Một sự kiện
trình tự thông báo đầy đủ cho thấy luồng dữ liệu từ khi xảy ra sự kiện cho đến khi một
thông báo đƣợc gửi đến node yêu cầu sự kiện. Hoạt động sự kiện có thể xảy ra bất cứ
lúc nào.
9
1.4.
Hạn chế của các dịch vụ hiện tại
[5]Hệ thống thông báo sự kiện tƣơng tự nhƣ các phần mền hệ thống khác, thƣờng
là các thực thể. Dƣới đây là một số nhƣợc điểm của hệ thống hiện tại:
- Thiếu độc lập trong thi hành: Các dịch vụ phản ánh việc thực hiện cụ thể, không
bao gồm hoạt động sự kiện quan sát và cũng không bao gồm một khái niệm sự
kiện chung chung. Rất ít các dịch vụ thông báo sự kiện độc lập. Các dịch vụ
thƣờng tập trung vào việc lƣu trữ đối tƣợng, thông báo sự kiện không đƣợc đảm
bảo, quá trình thông báo sự kiện đƣợc mô tả đơn giản, thành phần hệ thống cụ
thể không đƣợc xác định trƣớc.
- Thuật ngữ không thống nhất: Có nhiều tên cho loại dịch vụ (cảnh báo, dịch vụ,
dịch vụ thông báo, dịch vụ thông tin,…), có nhiều khái niệm khác nhau về dịch
vụ thông báo sự kiện, các dịch vụ thông báo sự kiện khác nhau sử dụng từ ngữ
giống nhau để mô tả.
- Mô hình sự kiện không đầy đủ: Hầu hết các dịch vụ dựa trên sự kiện, một sự kiện
đƣợc xác định bởi đặc trƣng vật lý của nó nhƣ tin nhắn. Cách tiếp cận này là
không đủ vì bỏ qua các sự kiện không quan sát đƣợc, các vấn đề quan sát sự
kiện và thời điểm chèn dữ liệu.
- Dựa trên mô hình mạng Client/Server: Theo mô hình này thì một máy khách
(client) sẽ kết nối với một máy chủ thông qua một giao thức nhƣ WWW, FTP,
Telnet, email ... Nói chung, mô hình client/Server có nhiều ƣu điểm, một trong
số đó là việc mọi xử lý đều nằm trên Server do đó sẽ tránh cho clients những
tính toán nặng nề, và do đó các máy Client không cần có cấu hình mạnh. Tuy
nhiên, với chế độ hoạt động theo kiểu: Client đóng vai trò thụ động, chỉ yêu cầu
dịch vụ từ Server chứ không thể cung cấp dịch vụ cho các client khác, thì chính
ƣu điểm trên lại trở thành nhƣợc điểm của mô hình này. Với tốc độ phát triển
Internet nhƣ hiện nay, số lƣợng client tăng nhanh liên tục gây ra sự quá tải và
tắc nghẽn tại các Server. Khi số lƣợng clients tăng đến một mức độ nào đó mà
nhu cầu về tải và băng thông tăng lên tới mức máy chủ không còn đủ khả năng
để đáp ứng đƣợc dịch vụ cho các máy khách thì Server bị sập và mạng sẽ bị sập
theo. Việc tăng số lƣợng Server để tăng khả năng chịu tải cho các Server là cần
thiết. Tuy nhiên, chi phí cho 1 Server thƣờng là rất lớn.
10
1.5.
Kết luận
Chƣơng này đã giới thiệu tổng quan về dịch vụ thông báo sự kiện dựa trên mạng
ngang hàng có cấu trúc, hoạt động của dịch vụ thông báo sự kiện cũng nhƣ các yêu cầu
hệ thống của dịch vụ này.
Trong luận văn này, chúng tôi đề xuất việc xây dựng một hệ thống thông báo sự
kiện dựa trên mạng ngang hàng có cấu trúc. Hệ thống này lƣu trữ và xứ lý thông tin
phân tán (bản chất của mạng ngang hàng), tìm kiếm thông tin nhanh, có thể tìm kiếm
dữ liệu trên quy mô lớn và hệ thống có thể dễ dàng mở rộng. Trong chƣơng tiếp theo,
luận văn sẽ trình bày tổng quan về mạng ngang hàng: khái niệm mạng ngang hàng, ƣu
nhƣợc điểm của mạng ngang hàng, phân loại mạng ngang hàng và lý do sử dụng mạng
ngang hàng có cấu trúc trong hệ thống thông báo sự kiện.
11
CHƢƠNG 2. SỬ DỤNG MẠNG NGANG HÀNG CÓ CẤU TRÚC TRONG
DỊCH VỤ THÔNG BÁO SỰ KIỆN
Mạng ngang hàng ngày càng trở nên phổ biến, đặc biệt là trong các ứng dụng
chia sẻ tệp tin ngang hàng. Các mạng ngang hàng đã xuất hiện từ những năm 1980 và
phát triển mạnh mẽ nhƣ APANET, Usenet, FidoNet. Hiện nay, với sự tham gia của các
công ty thƣơng mại và phi thƣơng mại nhƣ Napster, Gnutella mạng ngang hàng ngày
càng lớn mạnh và đƣợc đƣợc nhiều ngƣời sử dụng. Nhất là hiện nay khi lƣợng thông
tin truyền tải trên mạng vô cùng lớn, nhu cầu tìm kiếm và chia sẻ thông tin cũng tăng
lên. Mạng ngang hàng đƣợc xây dựng giữa các máy tính độc lập có khả năng chia sẻ
dữ liệu và tận dụng tài nguyên để chia sẻ cho các máy tính khác.
2.1.
Khái niệm mạng ngang hàng
Nhƣ chúng ta đã biết, ngày nay hầu nhƣ mọi dịch vụ Internet đều dựa trên mô
hình client/Server. Theo mô hình này thì một máy khách (client) sẽ kết nối với một
máy chủ thông qua một giao thức nhất định nhƣ WWW, FTP, Telnet, email ... Nói
chung, mô hình client/Server có nhiều ƣu điểm, một trong số đó là việc mọi xử lý đều
nằm trên Server do đó sẽ tránh cho clients những tính toán nặng nề, và do đó các máy
Client không cần có cấu hình mạnh.
Client
Client
`
`
Client
`
`
Client
Server
`
`
Client
Client
Hình 3: Mô hình Client/Server
Tuy nhiên, với chế độ hoạt động theo kiểu: Client đóng vai trò thụ động, chỉ yêu
cầu dịch vụ từ Server chứ không thể cung cấp dịch vụ cho các client khác, thì chính ƣu
điểm trên lại trở thành nhƣợc điểm của mô hình này. Với tốc độ phát triển Internet nhƣ
hiện nay, số lƣợng client tăng nhanh liên tục gây ra sự quá tải và tắc nghẽn tại các
Server. Khi số lƣợng clients tăng đến một mức độ nào đó mà nhu cầu về tải và băng
12
thông tăng lên tới mức máy chủ không còn đủ khả năng để đáp ứng đƣợc dịch vụ cho
các máy khách thì Server bị sập và mạng sẽ bị sập theo.
Việc tăng số lƣợng Server để tăng khả năng chịu tải cho các Server là cần thiết.
Tuy nhiên, chi phí cho 1 Server thƣờng là rất lớn. Bởi vậy, ý tƣởng về một kiến trúc
mạng mà ở đó, không cần thêm chi phí cho việc lắp đặt thêm Server, ta vẫn đảm bảo
mạng hoạt động tốt bằng cách tận dụng những tài nguyên mạng có sẵn từ chính các
máy tham gia mạng, đã dẫn đến sự ra đời của mạng ngang hàng (peer to peer - P2P) .
Mạng ngang hàng là một cấu trúc đƣợc tạo nên bởi các máy tính liên kết với
nhau, vai trò của mỗi máy tính là nhƣ nhau, mỗi máy tính là một phần và duy trì sự tồn
tại của mạng. Các máy tính trong mạng thƣờng xuyên liên lạc với các máy tính khác
để ổn định mạng và chia sẻ dữ liệu với nhau. Mạng ngang hàng có nhiều ứng dụng và
ứng dụng phổ biến nhất là chia sẻ tệp tin, tất cả các dạng tệp tin chia sẻ nhƣ âm thanh,
hình ảnh, dữ liệu...
Peer
Peer
`
`
Peer
`
`
`
`
Peer
Peer
Peer
Hình 4: Mô hình mạng ngang hàng P2P
Một mạng ngang hàng đúng nghĩa không có khái niệm Client và Server hay nói
cách khác tất cả các máy tham gia đều bình đẳng và đƣợc gọi là Peer. Peer là một nút
mạng vừa đóng vai trò là Server với các máy khác trong mạng vừa đóng vai trò là
Client khi đƣợc các máy khác phục vụ mình. Tất các máy đều có thể yêu cầu dịch vụ,
cũng nhƣ đáp ứng yêu cầu dịch vụ của các máy khác. Mọi máy tính đều có thể lƣu trữ
và chia sẻ tài nguyên, cũng nhƣ kết nối trực tiếp với nhau.
13
2.2.
Ưu, nhược điểm của mạng ngang hàng
Mô hình mạng ngang hàng rất phù hợp với tính phi tập trung của Internet, bởi
bản chất của tài nguyên là phân tán, các thông tin lƣu trữ không chỉ trên các máy chủ
mà ở cả các máy khách.
Xét về khía cạnh sức mạnh xử lý, mạng mạng ngang hàng có khả năng xử lý cao
hơn cả những máy chủ lớn nhất hiện nay do đó sử dụng mạng ngang hàng có thể cải
thiện đáng kể hiệu quả của các phƣơng pháp phân tích, xử lý dữ liệu và giải các bài
toán phức tạp (đây đều là những vấn đề vƣợt ra ngoài tầm xử lý của những máy chủ
tập trung khi số lƣợng truy vấn, tính toán tăng lên đến hàng trăm triệu mỗi ngày). Sở dĩ
nhƣ vậy là vì mạng ngang hàng đã tận dụng khả năng xử lý, khả năng lƣu trữ còn thừa
của các máy tính tham gia mạng với những thuật toán phân tán hợp lý. Công nghệ này
đã chia việc xử lý lớn ra thành những việc xử lý nhỏ có thể phân tán giữa các máy tính
trong một mạng. Mỗi máy tính sẽ xử lý một phần dữ liệu và trả về kết quả xử lý cho
máy tính trung tâm, máy tính trung tâm sẽ ghép nối các kết quả này lại với nhau. Bằng
cách đó, ta có thể giải quyết đƣợc những bài toán phức tạp mà không cần phải nâng
cấp khả năng xử lý của hệ thống hiện tại.
Bên cạnh đó, việc phân tán trách nhiệm cung cấp dịch vụ đến tất cả các nút trên
mạng sẽ giúp loại bỏ vấn đề ngừng trệ dịch vụ do nơi cung cấp duy nhất gặp sự cố.
Mạng ngang hàng cũng tận dụng đƣợc băng thông trên toàn bộ mạng vì việc tăng
số giao tiếp giữa các thiết bị mạng qua các đƣờng truyền khác nhau sẽ làm giảm khả
năng tắc nghẽn mạng. Ngoài ra, khi càng nhiều máy tính tham gia vào mạng ngang
hàng thì tổng sức mạnh xử lý, khả năng lƣu trữ và băng thông lại tăng theo điều đó cho
thấy khả năng mở rộng của mạng mạng ngang hàng.
Tuy nhiên, mạng ngang hàng cũng có nhiều nhƣợc điểm. Với mô hình mạng
ngang hàng thuần túy, tức là mô hình mà ở đó mọi máy đều có vai trò nhƣ nhau và
không tuân theo bất cứ một quy luật định tuyến hay kết nối nào thì mạng mạng ngang
hàng cũng bộc lộ khá nhiều nhƣợc điểm:
- Chính vì yêu cầu dịch vụ đƣợc đáp ứng một cách tùy biến nên máy yêu cầu dịch
vụ có thể nhận đƣợc nhiều kết quả khác nhau khi nó kết nối đến các máy khác
nhau cung cấp cùng một dịch vụ.
- Các yêu cầu gửi đi có thể không nhận đƣợc kết quả trả về vì không có gì đảm
bảo sẽ tồn tại một máy nào đó có khả năng đáp ứng yêu cầu đó.
14
- Các tài nguyên có thể biến mất do nút cung cấp tài nguyên có thể ngắt kết nối
bất cứ lúc nào.
2.3.
Phân loại mạng ngang hàng
Peer - to - peer
Phi cấu trúc
Thế hệ thứ 1
Có cấu trúc
Thế hệ thứ 2
Thế hệ thứ 3
P2P tập trung
P2P thuần túy
P2P lai ghép
DHT cơ sở
Napster
Gnutella 0.4
Freenet
Gnutella 0.6
JXTA
Chord
CAN
Hình 5: Các loại hình mạng ngang hàng
Theo [4], mạng ngang hàng đƣợc phân thành 2 loại: mạng có cấu trúc và mạng
không có cấu trúc.
2.3.1. Mạng ngang hàng phi cấu trúc
2.3.2.1. Mạng ngang hàng tập trung
Mạng này có đặc điểm là vẫn còn dựa trên một máy chủ tìm kiếm trung tâm, cấu
trúc Overlay của mạng đƣợc mô tả nhƣ một mạng hình sao
- Xem thêm -