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 - Pdf 10


ĐẠ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Ĩ

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
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

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

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

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.

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


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

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ữ

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

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
15
Hình 6: Mạng ngang hàng tập trung thế hệ thứ nhất (Napster)
- Nguyên tắc hoạt động:
 Mỗi client lưu trữ files định chia sẻ với các node khác trong mạng.
 Một bảng lưu trữ thông tin kết nối của người dùng đăng kí (IP address,
connection bandwidth ….).
 Một bảng liệt kê danh sách các files mà mỗi người dùng định chia sẻ (tên

lượng trong mạng. Các phần mềm tiêu biểu cho mạng ngang hàng dạng này là
Gnutella 4.0, FreeNet.

Hình 7: Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet)
- Hoạt động của Gnutella
 Khi người dùng tại 1 node muốn tìm kiếm tài nguyên, node sẽ gửi yêu cầu
đến mỗi node mà nó đang kết nối đến. Các node này khi nhận được yêu cầu
lại tiếp tục chuyển yêu cầu tới các node mà node này biết. Việc chuyển tiếp
cứ tiếp tục đến khi gói tin đạt đến số hop được đĩnh nghĩa trước bởi node
tìm kiếm ban đầu. Nếu câu truy vấn tìm được kết quả, node có kết quả sẽ
cung cấp kết quả trực tiếp đến node tìm kiếm thông qua giao thức UDP. Vì
vậy, mỗi câu truy vấn bao giờ cũng gồm thông tin về địa chỉ IP và cổng của
node khác.
 Khi 1 node ngắt kết nối, nó sẽ lưu lại danh sách các node nó đã kết nối và
các tài nguyên chia sẻ để dùng cho lần kết nối tiếp theo.
17  Để giải quyết vấn đề thắt nút cổ chai (bottlenecks), Gnutella đã được cài đặt
thành hệ thống nhiều tầng. Thay vì tất cả các node đều có vai trò như nhau,
giờ đây, các node gia nhập vào mạng chỉ được giữ ở cạnh mạng giống như
các node lá và không chịu trách nhiệm định tuyến. Các node ultrapeers mới
có khả năng định tuyến thông điệp tìm kiếm và lưu thông điệp đó. Điều này
cho phép việc tìm kiếm trong 1 không gian mạng rộng hơn và cũng làm tăng
hiệu quả hoạt động của mạng. Do không phụ thuộc vào 1 Server duy nhất
nên Gnutella cũng khó bị đánh sập hơn so với Napster.
 Ưu điểm:
o Dễ xây dựng.
o File download query
o Đảm bảo tính phân tán hoàn toàn cho các node tham gia mạng, các

SuperPeers).
o Khắc phục được nhược điểm về sự khác nhau về CPU power,
bandwidth … ở mạng ngang hàng thuần túy, các SuperPeer sẽ chịu
tải chính, các node khác chịu tải nhẹ.
 Những nhược điểm của việc quản lý điều khiển tập trung vẫn tồn tại trong
mô hình mạng này. Nếu máy chủ trung tâm gặp lỗi thì các máy Peer không
thể truy cập đến thông tin chỉ mục ở trên máy chủ trung tâm nên không thể
tìm kiếm thông tin được. Đại diện cho mô hình mạng ngang hàng lai ghép là
mạng ngang hàng Napster.
19 2.3.2. Mạng ngang hàng có cấu trúc
Mô hình mạng P2P mà trong đó, các node được tổ chức lại theo 1 cấu trúc nhất
định và việc định tuyến thông báo sẽ dựa trên cấu trúc đó, được gọi là mô hình mạng
ngang hàng có cấu trúc.
Mạng P2P thuần túy hoạt động không hiệu quả do các node tham gia mạng
không tuân theo 1 quy luật nào, các kết nối xảy ra ngẫu nhiên, thông báo được gửi kiểu
phát tràn, …Mạng ngang hàng có cấu trúc dựa trên DHT khắc phục nhược điểm của
mạng không cấu trúc bằng cách sử dụng hệ thống bảng băm phân tán. Hệ thống này
định nghĩa liên kết giữa các nút mạng trong mạng phủ theo một thuật toán cụ thể, đồng
thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đối với phần dữ liệu nào
được chia sẻ trong mạng. Với cấu trúc này, khi một máy cần tìm một dữ liệu, nó chỉ
cần áp dụng một giao thức chung để xác định nút mạng nào chịu trách nhiệm về dữ
liệu đó và liên lạc trực tiếp đến nút mạng đó để lấy kết quả.
Mạng P2P có cấu trúc sử dụng một giao thức đảm bảo tính toàn cục để chắc chắn
rằng mọi peer tham gia mạng đều có thể định tuyến truy vấn tới các peer khác chứa dữ
liệu mong muốn, ngay cả khi dữ liệu đó không phổ biến. Sự đảm bảo này yêu cầu một
mạng phủ (overlay) được liên kết theo một cấu trúc nhất định. Hầu hết những mạng
P2P có cấu trúc hiện này đều thuộc kiểu DHT, với kiểu này một kỹ thuật băm phù hợp


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