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

Nghiên cứu tìm hiểu bài toán sao lưu dữ liệu phân tán ứng dụng bào việc triển khai hệ thống thông tin

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 (2.51 MB, 60 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

Trần Tiến Thành

NGHIÊN CỨU TÌM HIỂU BÀI TỐN SAO LƯU DỮ LIỆU PHÂN TÁN, ỨNG
DỤNG VÀO VIỆC TRIỂN KHAI HỆ THỐNG THÔNG TIN

LUẬN VĂN THẠC SĨ KHOA HỌC
Chuyên ngành : Kỹ thuật máy tính và truyền thơng

Hà Nội – Năm 2012


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

Trần Tiến Thành

NGHIÊN CỨU TÌM HIỂU BÀI TỐN SAO LƯU DỮ LIỆU PHÂN TÁN, ỨNG DỤNG
VÀO VIỆC TRIỂN KHAI HỆ THỐNG THÔNG TIN

LUẬN VĂN THẠC SĨ KHOA HỌC
Chuyên ngành : Kỹ thuật máy tính và truyền thơng

NGƯỜI HƯỚNG DẪN KHOA HỌC :
1. TS. Hà Quốc Trung

Hà Nội – Năm 2012




Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

Lời cam đoan
Tơi xin cam đoan luận văn cao học đề tài “Nghiên cứu tìm hiểu bài
tốn sao lưu dữ liệu phân tán, ứng dụng vào việc triển khai hệ thống thơng tin”
là cơng trình nghiên cứu của bản thân. Những số liệu, hình vẽ và thử nghiệm
đều tự tơi nghiên cứu tính tốn.
Hà nội, ngày 12 tháng 3 năm 2012
Tác giả luận văn
Trần Tiến Thành

Học viên: Trần Tiến Thành

1


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

Danh mục Bảng
Bảng 1.1. So sánh kiến trúc Client/Server và Peer to Peer ........................ 12
Table 3.1 Bảng Locator Table ................................................................ 42
Bảng 3.2 So sánh thơng lượng trung bình của Client .............................. 49
Bảng 3.3 Bảng so sánh tải của máy chủ ................................................... 49


Học viên: Trần Tiến Thành

2


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

Danh mục hình vẽ
Hình 1.1 : Kiến trúc Client – Server ......................................................... 8
Hình 1.2: Hệ thống ngang hàng thuần t .............................................. 11
Hình 1.3: Hệ thống ngang có cấu trúc .................................................... 12
Hình 2.1. Mơ hình sao lưu phân tán trên hệ thống Client/Server ........... 14
Hình 2.2 : Mơ hình kết nối FTP từ Client tới Server ............................. 20
Hình 2.3 : Mơ hình kết nối Active FTP ................................................. 21
Hình 2.4 : Mơ hình kết nối Passive FTP ................................................ 22
Hình 2.5 : Mơ hình Reverse Proxy ........................................................... 24
Hình 2.6 : Mơ hình Cache ......................................................................... 26
Hình 2.7: Kiến trúc siêu ngang hàng ....................................................... 31
Hình 2.8: Hoạt động của mạng siêu ngang hàng ..................................... 32
Hình 2.9: Mạng siêu ngang hàng dư cấp 2 ............................................. 33
Hình 2.10 Kiến trúc của Napster ............................................................. 37
Hình 2.11. Kiến trúc của Gnutella. ......................................................... 38
Hình 3.1 : Mơ hình Cache trên mạng ngang hàng ................................... 40
Hình 3.2 : Client kết nối vào mạng .......................................................... 41
Hình 3.3 : Cache Registration .................................................................. 41
Hình 3.4 : Client đọc một đối tượng ........................................................ 42
Hình 3.5 : Client cập nhật/ghi một đối tượng ......................................... 44
Hình 3.6 : Mơ hình hệ thống khơng có cache ........................................ 46

Hình 3.7 : Mơ hình Cache trên client ..................................................... 47
Hình 3.8 : Mơ hình Cache trên mạng ngang hàng .................................. 48
Hình 3.9 : Mơ hình hệ thống sao lưu phân tán sử dụng Sopcast ........... 53
Hình 3.10 Xem truyền hình trực tuyến trên phần mềm Sopcast ............ 55
Hình 3.11 Chọn Kênh 1 - Đài PTTH Hà nội trên phần mềm Sopcast .... 56

Học viên: Trần Tiến Thành

3


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

Lời mở đầu
Trong cấu trúc mạng Internet hiện nay, mơ hình mạng Client/Server và mơ
hình mạng ngang hàng (P2P) là hai mơ hình đang được ứng dụng phổ biến nhất
hiện nay. Một trong các bài toán thường được ứng dụng trong các hệ thống hiện nay
dựa trên hai mô hình này là bài tốn sao lưu dữ liệu phân tán. Các mơ hình sao lưu
dữ liệu phân tán tổ chức theo kiểu mạng ngang hàng hiện nay tuy ít về số lượng
nhưng lại lớn về lưu lượng. Ngược lại, các mơ hình sao lưu dữ liệu phân tán theo
kiểu Client/Server tuy lớn về số lượng, được sử dụng hầu hết trong các hệ thống
mạng hiện nay, nhưng lưu lượng lại chiếm ít hơn lưu lượng qua mạng ngang hàng.
Nghiên cứu về sao lưu dữ liệu phân tán trên cả hai mơ hình là Client/Server và
mạng ngang hàng (P2P) sẽ giúp người quản trị công nghệ thông tin biết cách lựa
chọn và ứng dụng giải pháp sao lưu dữ liệu phù hợp với u cầu bài tốn đặt ra.
Đó cũng chính là lý do tơi lựa chọn đề tài “Nghiên cứu, tìm hiểu bài tốn sao
lưu dữ liệu phân tán và ứng dụng vào việc triển khai hệ thống thông tin”.
Từ trước tới nay tôi là quản trị mạng tại Đài PT-TH Hà nội, chuyên cập nhật

và nghiên cứu công nghệ mới để ứng dụng cho công việc chuyên môn của Đài.
Trong đó tơi cũng có nghiên cứu các giải pháp sao lưu dữ liệu phân tán chủ yếu dựa
trên mơ hình mạng Client/Server, tơi đã nghiên cứu cả giải pháp Client/server thơng
thường và giải pháp Client/Server có cache nhằm giải quyết yêu cầu bài toán là
truyền phát video chất lượng trên mạng Internet. Tuy nhiên, giải pháp ứng dụng mơ
hình Client/Server mắc phải một số nhược điểm là bị tắc nghẽn ở “nút cổ chai”,
Server càng phải chịu tải lớn khi số lượng người xem càng gia tăng, tính mở rộng
hệ thống bị hạn chế.
Vì thế mục đích nghiên cứu luận văn này là để đưa ra giải pháp sao lưu dữ liệu
phân tán tốt hơn, trong luận văn này tôi đề xuất giải pháp sao lưu dữ liệu phân tán
có cache dựa trên mơ hình mạng ngang hàng.
Giải pháp này có ưu điểm là tính sẵn sàng cao, không bị tắc nghẽn ở “nút cổ
chai” hay quá tải Server, tính co giãn cao và càng nhiều máy tham gia vào mạng thì
hiệu năng hệ thống càng cao. Giải pháp này phù hợp với mơ hình phát video trên
mạng.

Học viên: Trần Tiến Thành

4


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

Luận văn này sẽ trình bày tổng quan về mơ hình Client/Server, mơ hình
Client/Server nâng cao, mơ hình mạng ngang hàng, các ứng dụng của mơ hình
mạng P2P, sao lưu dữ liệu phân tán, đặc biệt mơ hình sử dụng cache. Từ đó đề xuất
giải pháp sao lưu dữ liệu phân tán có cache dựa trên P2P, thử nghiệm giải pháp và
ứng dụng thử nghiệm giải pháp này trong việc truyền phát Audio và Video trên

mạng Internet tại Đài PT-TH Hà nội.
Luận văn được chia thành bốn chương:
Chương 1 : Giới thiệu
Chương 2 : Tổng quan về công nghệ
Chương 3 : Ứng dụng thử nghiệm giải pháp sao lưu dữ liệu phân tán trên dựa
trên mạng P2P trong việc triển khai hệ thống thông tin.
Chương 4 : Kết luận.
Để hồn thành luận văn tơi xin chân thành cảm ơn TS. Hà Quốc Trung, người
đã nhiệt tình hướng dẫn giúp tơi hồn thành tốt luận văn này.

Học viên: Trần Tiến Thành

5


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

MỤC LỤC
Lời mở đầu ............................................................................................................................. 4
MỤC LỤC ............................................................................................................................. 6
CHƯƠNG I. GIỚI THIỆU ................................................................................................... 8
1.1. Kiến trúc Client/Server ............................................................................................... 8
1.1.1. Mơ hình Client/Server thơng thường .................................................................. 8
1.1.2. Mơ hình Client/Server mở rộng .......................................................................... 9
1.2. Kiến trúc Peer to Peer (Mạng ngang hàng)............................................................... 10
1.2.1. Mạng ngang hàng khơng có cấu trúc (Pure Peer-to-peer Systems) ................... 10
1.2.2 Mạng ngang hàng có cấu trúc (Structured) ......................................................... 11
1.3. So sánh kiến trúc Client/Server và Peer to Peer ....................................................... 12

Bảng 1.1. So sánh kiến trúc Client/Server và Peer to Peer .............................................. 12
1.4. Sao lưu phân tán dựa trên P2P ................................................................................. 13
CHƯƠNG II : TỔNG QUAN VỀ CƠNG NGHỆ ............................................................... 14
2.1. Cơng nghệ sao lưu phân tán ..................................................................................... 14
2.1.1. Khái niệm chung ............................................................................................... 14
2.1.2. Sao lưu phân tán trong hệ thống Client/Server: ................................................ 14
2.1.3. Sao lưu phân tán trong hệ thống P2P ................................................................ 15
2.1.4. Các bài toán áp dụng giải pháp sao lưu dữ liệu phân tán trên P2P ................... 16
2.1.4.1. Dạng dữ liệu thô ............................................................................................. 16
2.1.4.2. Dạng dữ liệu Dòng (Streaming data) .............................................................. 16
2.1.4.3. Bài toán sao lưu phân tán sử dụng GIS........................................................... 18
2.2. Các mơ hình Client-Server ....................................................................................... 20
2.2.1. Hệ thống truyền file FTP (File Transfer Protocol) ............................................ 20
2.2.2. Proxy ngược (Reverse Proxy) ............................................................................ 24
2.2.3. Mơ hình Cache ................................................................................................... 25
2.3. Cơng nghệ Peer to Peer (P2P)................................................................................... 27
2.3.1. Giới thiệu về mạng ngang hàng (peer to peer – P2P) ....................................... 27
2.3.1.1. Khái niệm cơ bản ............................................................................................ 27
2.3.1.2. Đặc điểm của các mạng ngang hàng ............................................................... 27
2.3.1.3. Tiện ích mạng P2P mang lại. .......................................................................... 28
2.3.1.4. Những khó khăn trong thiết kế mạng ngang hàng .......................................... 28
2.3.1.5. Các ứng dụng mạng ngang hàng ..................................................................... 30
2.3.2. Mơ hình mạng P2P tiên tiến .............................................................................. 30
2.3.2.1 Kiến trúc siêu ngang hàng (Super-peer Architecture) ..................................... 31
2.3.2.2. Mạng siêu ngang hàng dư (Super-peer Redundancy) ..................................... 33
2.3.2.3. Ưu điểm và nhược điểm của kiến trúc siêu ngang hàng ................................. 34
2.3.3. Một số ứng dụng chia sẻ file ngang hàng ........................................................ 36
CHƯƠNG III. ỨNG DỤNG GIẢI PHÁP SAO LƯU DỮ LIỆU PHÂN TÁN DỰA TRÊN
MẠNG P2P TRONG VIỆC TRIỂN KHAI HỆ THỐNG THÔNG TIN ............................. 40
3.1. Giải pháp sao lưu dữ liệu phân tán dựa trên mạng P2P ............................................ 40

3.1.1. Mơ hình hệ thống : ............................................................................................ 40
3.1.2. Cơ chế hoạt động và các chức năng của phân hệ............................................... 40
3.2. Thử nghiệm giải pháp .............................................................................................. 45
3.2.1. Kịch bản và mơ hình thử nghiệm....................................................................... 45
3.2.1.1. Kịch bản thử nghiệm....................................................................................... 45

Học viên: Trần Tiến Thành

6


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

3.2.1.2. Mơ hình thử nghiệm ....................................................................................... 46
3.2.2. Dự kiến kết quả thử nghiệm............................................................................... 48
3.2.3 Đánh giá mơ hình thử nghiệm ............................................................................ 50
3.3. Ứng dụng thử nghiệm giải pháp cho hệ thống thông tin tại Đài PT-TH Hà nội ...... 52
3.3.1. Mơ hình thử nghiệm Hệ thống sao lưu phân tán video sử dụng mạng ngang
hàng Sopcast ................................................................................................................ 52
3.3.2. Mục đích hệ thống ............................................................................................. 54
3.3.3. Kịch bản thử nghiệm.......................................................................................... 54
3.3.4. Kết quả thử nghiệm............................................................................................ 56
Chương 4 : Kết luận ............................................................................................................. 57
Tài liệu tham khảo ............................................................................................................... 58

Học viên: Trần Tiến Thành

7



Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

CHƯƠNG I. GIỚI THIỆU
Internet ngày nay đã thay đổi và phát triển nhiều nhưng chủ yếu phát triển,
vận hành theo 2 mơ hình phổ biến cơ bản là Client/Server và Peer-to-Peer, có những
mơ hình lai kết hợp kết hợp cả 2 mơ hình cơ bản này. Đối với những bài toán triển
khai trên diện rộng, dữ liệu dung lượng lớn, phục vụ số lượng truy cập cùng lúc
nhiều thì sử dụng mơ hình mạng ngang hàng sẽ đem lại hiệu quả cao hơn về mặt
hiệu năng, cịn mơ hình Client/Server thường được áp dụng đối với hầu hết các bài
tốn cịn lại. Các giải pháp sao lưu dữ liệu phân tán ứng dụng trong các mơ hình
trên nhằm giải quyết các bài toán về chia sẻ và sao lưu dữ liệu phân tán. Ngày nay,
con người sử dụng các dạng dữ liệu dung lượng lớn ngày càng nhiều nên để đáp
ứng các nhu cầu này thì các hệ thống mới có xu hướng thường sử dụng các giải
pháp sao lưu dữ liệu trên mạng ngang hàng.

1.1. Kiến trúc Client/Server
1.1.1. Mơ hình Client/Server thơng thường
Mơ hình Client-Server thơng thường là một mơ hình rất phổ biến trong mạng
máy tính, nó là mơ hình 2 tầng, được áp dụng rất rộng rãi và là mơ hình của mọi
trang web hiện có.

Server

Client

Client

Client

Hình 1.1 : Kiến trúc Client – Server

Học viên: Trần Tiến Thành

8


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

Ý tưởng của mơ hình này là các máy con (đóng vài trị là máy khách) gửi
một u cầu (request) đến máy chủ (đóng vai trị người cung ứng dịch vụ), máy chủ
sẽ xử lý và trả kết quả về cho máy khách.
Một mơ hình ngược lại là mơ hình Master-Slaver, trong đó máy chủ (đóng
vai trị ơng chủ) sẽ gửi dữ liệu đến máy con (đóng vai trị nơ lệ) bất kể máy con có
cần hay khơng.

1.1.2. Mơ hình Client/Server mở rộng
1.1.2.1. Mơ hình kiến trúc 3 tầng:
Ta có thể tránh được các vấn đề của kiến trúc client/server hai tầng bằng
cách mở rộng kiến trúc thành ba tầng. Một kiến trúc ba tầng có thêm một tầng mới
tách biệt việc xử lý dữ liệu ở vị trí trung tâm.
Theo kiến trúc ba tầng, một ứng dụng được chia thành ba tầng tách biệt nhau
về mặt logic. Tầng đầu tiên là tầng trình diễn thường bao gồm các giao diện đồ họa.
Tầng thứ hai, còn được gọi là tầng trung gian hay tầng tác nghiệp. Tầng thứ ba chứa
dữ liệu cần cho ứng dụng. Tầng thứ ba về cơ bản là chương trình thực hiện các lời
gọi hàm để tìm kiếm dữ liệu cần thiết. Tầng trình diễn nhận dữ liệu và định dạng nó

để hiển thị. Sự tách biệt giữa chức năng xử lý với giao diện đã tạo nên sự linh hoạt
cho việc thiết kế ứng dụng. Nhiều giao diện người dùng được xây dựng và triển
khai mà không làm thay đổi logic ứng dụng.
Tầng thứ ba chứa dữ liệu cần thiết cho ứng dụng. Dữ liệu này có thể bao
gồm bất kỳ nguồn thơng tin nào, bao gồm cơ sở dữ liệu như Oracale, SQL Server
hoặc tài liệu XML.
1.1.2.2. Kiến trúc n-tầng
Kiến trúc n-tầng được chia thành các tầng như sau:
- Tầng giao diện người dùng: quản lý tương tác của người dùng với ứng dụng
- Tầng logic trình diễn: Xác định cách thức hiển thị giao diện người dùng và
các yêu cầu của người dùng được quản lý như thế nào.

Học viên: Trần Tiến Thành

9


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

- Tầng logic tác nghiệp: Mơ hình hóa các quy tắc tác nghiệp,
- Tầng các dịch vụ hạ tầng: Cung cấp một chức năng bổ trợ cần thiết cho ứng
dụng như các thành phần (truyền thông điệp, hỗ trợ giao tác).
• Ưu điểm của hệ thống Client/Server:
Ưu điểm chính của hệ thống máy tính tập trung là sự đơn giản của nó. Vì tất
cả dữ liệu đều được tập trung tại một vị trí nên việc quản lý hệ thống máy tính tập
trung là dễ dàng. Đồng thời, hệ thống này cũng khơng gặp phải những vấn đề về
tính nhất quán và chặt chẽ của dữ liệu. Hệ thống máy tính tập trung cũng tương đối
dễ bảo mật vì chỉ có một host cần phải bảo vệ.

• Nhược điểm của hệ thống Client/Server:
Trở ngại của hệ thống này cũng chính bởi mọi thơng tin đều tập trung tại
Server. Do đó, Server là một điểm có thể gây lỗi trầm trọng cho hệ thống vì nếu
Server gặp trục trặc, tồn bộ các ứng dụng client nối với Server cũng sẽ gặp trục
trặc theo. Server cũng là nơi làm đình trệ hiệu năng của hệ thống. Mặc
dù kiến trúc Client/Server được chấp nhận rộng rãi tại các web-server hay các
database-server nhưng nhược điểm về tính mở rộng và tỉ lệ gặp lỗi làm cho hệ thống
này khơng thích hợp với việc triển khai ứng dụng phân tán đa năng.

1.2. Kiến trúc Peer to Peer (Mạng ngang hàng)
1.2.1. Mạng ngang hàng không có cấu trúc (Pure Peer-to-peer Systems)
Trong hệ thống này, tất cả các máy đều được nối với nhau. Mỗi máy trong hệ
thống được gọi là một nút mạng (peer), chúng có vai trị như nhau. Trong tồn bộ hệ
thống, khơng có một máy nào giữ vai trị điều khiển. Hoạt động của hệ thống dựa
trên các trao đổi trực tiếp giữa các peer nhờ những liên kết được thiết lập giữa các
peer tương ứng.
Ưu điểm của hệ thống ngang hàng thuần túy là khả năng mở rộng được, bất
kỳ nút nào cũng có thể tham gia vào mạng và sau đó, có thể truyền dữ liệu với các
nút khác.

Học viên: Trần Tiến Thành

10


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

Tuy nhiên, hệ thống này lại bộc lộ nhược điểm: trong một hệ thống, có quá

nhiều liên kết được thiết lập, mỗi một peer sẽ nối với (N-1) peer cịn lại (với N là số
máy trong mạng).

Peer

Hình 1.2: Hệ thống ngang hàng thuần tuý
Trong trường hợp tại cùng một thời điểm, một peer A nào đó nhận được các
yêu cầu của tất cả (N-1) peer còn lại, hiện tượng quá tải sẽ xảy ra, điều này còn thể
làm cho mạng gặp sự cố.

1.2.2 Mạng ngang hàng có cấu trúc (Structured)
Trong hệ thống này, mỗi máy đều được nối với tất cả các máy khác trên
mạng, cách nối này mang đặc điểm của hệ thống ngang hàng thuần túy.
Tuy nhiên, vẫn có một máy đóng vai trị Server trung tâm, Server này điều
khiển hoạt động của mạng như một phần tử có thể kiểm sốt tồn bộ các máy khác,
đảm bảo tính chặt chẽ của thơng tin trên mạng, đây là đặc điểm của hệ thống tập
trung. Tất cả các luồng dữ liệu thông thường đều được truyền trực tiếp giữa các
peer, chỉ các luồng thông tin điều khiển mới được truyền qua Server trung tâm.
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 hệ
thống này. Nếu Server trung tâm gặp lỗi, hệ thống sẽ mất khả năng tác động tới
những thay đổi trong luồng dữ liệu. Tuy nhiên, những ứng dụng đang có sẽ khơng
chịu ảnh hưởng của lỗi server trung tâm vì luồng dữ liệu giữa các peer vẫn tiếp tục

Học viên: Trần Tiến Thành

11


Viện Công nghệ thông tin


Lớp cao học Kỹ thuật máy tính-Truyền thơng

được truyền mà khơng quan tâm tới liệu Server trung tâm có đang làm việc hay
khơng.

Center
Server

Peer
Peer

Hình 1.3: Hệ thống ngang có cấu trúc
Việc định tuyến dữ liệu ngang hàng (peer to peer) cho phép hệ thống lai
đưa ra khả năng mở rộng tốt hơn so với hệ thống tập trung.

1.3. So sánh kiến trúc Client/Server và Peer to Peer
Mô hình mạng

Client-Server

Peer-to-Peer

Hybrid

Có độ an tồn và bảo
mật thơng tin cao nhất.
Quản trị mạng có thể
điều chỉnh quyền truy
nhập thơng tin.
Khó cài đặt.

Địi hỏi có máy chủ, hệ
điều hành mạng và các
phần cứng bổ sung.
Phải có quản trị mạng.

Độ an tồn và bảo mật
kém, phụ thuộc vào
mức truy nhập được
chia sẻ.

Độ an tồn và
bảo mật cao
gần như
Client-Server.
Khó cài đặt.
Như ClientServer.

Có.

Dễ cài đặt.
Không cần máy chủ, hệ
điều hành mạng, phần
cứng bổ sung rất ít.
Khơng cần có quản trị
mạng.
Khơng.

Cao.

Thấp.


Cao.

Chỉ tiêu đánh giá
Độ an tồn và tính
bảo mật thơng tin.

Khả năng cài đặt.
Địi hỏi về phần
cứng và phần mềm.
Quản trị mạng.
Xử lý và lưu trữ tập
trung.
Chi phí cài đặt.

Như ClientServer.
Khơng.

Bảng 1.1. So sánh kiến trúc Client/Server và Peer to Peer

Học viên: Trần Tiến Thành

12


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

1.4. Sao lưu phân tán dựa trên P2P

Lý do sử dụng sao lưu phân tán trên P2P
-

Do nhu cầu con người cần dữ liệu dung lượng lớn ngày càng nhiều và số
lượng người sử dụng ngày càng tăng, dẫn đến cần phải có phương pháp
truyền dữ liệu nhanh, số lượng lớn và hiệu quả hơn.

-

Do áp dụng trên mạng P2P sẽ khắc phục nhược điểm tắc nghẽn mạng ở nút
cổ chai

-

Tận dụng tài nguyên mạng, năng lực xử lý và lưu trữ của các máy tính Client

-

Giảm tải cho Server, năng lực xử lý và băng thông máy chủ không đủ để đáp
ứng khối lượng dữ liệu lớn và lượng truy cập nhiều cùng lúc.

Sao lưu phân tán dựa trên P2P là gì ?
Sao lưu phân tán là phương pháp tạo các bản sao và lưu phân tán trên các nút
mạng (gọi là các peer) bằng cách chia nhỏ nội dung đó ra thành nhiều mảnh rồi
truyền và lưu giữ trên mọi peer, các peer sau khi nhận được các mảnh dữ liệu đến
lượt mình sẽ truyền tiếp các mảnh dữ liệu đó đến các peer lân cận theo một thuật
tốn nào đó. Q trình sao lưu kết thúc khi các mảnh đó được truyền hết và được
ghép lại thành nội dung hồn chỉnh.
Giải pháp này thường khơng sử dụng nhiều Server phức tạp mà thay vào đó
các tính toán và phân bổ dữ liệu đều dự trên Client.


Học viên: Trần Tiến Thành

13


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

CHƯƠNG II : TỔNG QUAN VỀ CƠNG NGHỆ
2.1. Cơng nghệ sao lưu phân tán
2.1.1. Khái niệm chung
Sao lưu phân tán là phương pháp tạo các bản sao và lưu phân tán trên một
hoặc nhiều máy tính qua mạng bằng cách chia nhỏ nội dung đó ra thành nhiều
mảnh, quá trình sao lưu kết thúc khi các mảnh đó được truyền hết và được ghép lại
thành nội dung hoàn chỉnh.

2.1.2. Sao lưu phân tán trong hệ thống Client/Server:
Trong các hệ thống phân tán dựa trên mơ hình Client/Server hiện nay đa
phần đều dùng Cache. Có thể là cache tại Client, cache tại Server gốc hoặc cache tại
máy chủ trung gian. Hệ thống có cache như vậy là một hệ thống sao lưu dữ liệu

ISP

Firewall

INTERNET

Client


Client
Cache

Các Server của tổ chức
Client
Cache

Hình 2.1. Mơ hình sao lưu phân tán trên hệ thống Client/Server
Học viên: Trần Tiến Thành

14


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

phân tán hiệu quả.
Khi Client truy vấn đến hệ thống thì dữ liệu được lấy hoặc trực tiếp tại Local
hoặc yêu cầu Server đáp ứng.
Ví dụ, trong các ứng dụng web, các bản sao (cache) đóng vai trị quan trọng
cho các dịch vụ web, giúp trang web hoạt động nhanh, hiệu quả và công nghệ sao
lưu phân tán đã được sử dụng rộng rãi trong các tổ chức (trường đại học, các cơ
quan chính phủ, các cơng ty và nhà cung cấp dịch vụ Internet)
Các công ty, tổ chức thường triển khai các máy chủ chuyên cache đặt tại các
nhà cung cấp dịch vụ mạng (ISPs). Trong trường hợp một Client yêu cầu 1 đối
tượng, nếu đối tượng đó đã được yêu cầu bởi một Client khác trong quá khứ thì đã
có 1 bản sao trên Proxy vì thế Client không cần thiết phải truy vấn đến máy chủ
chứa dữ liệu chính mà chỉ cần lấy đối tượng từ Proxy server đã cache.

Giải pháp này rất hiệu quả và được sử dụng trong hầu hết các mơ hình mạng
hiện nay. Ví dụ, để tăng tốc độ truy cập và để giảm lưu lượng mạng Internet quốc
tế, các ISP Việt nam đã cho phép Google được đặt các máy chủ DNS, máy chủ tìm
kiếm và máy chủ Video hỗ trợ cache cho Youtube, vì lưu lượng liên quan đến các
dịch vụ này chiếm hầu hết băng thông quốc tế.

2.1.3. Sao lưu phân tán trong hệ thống P2P
Trong mơ hình mạng P2P, các bản sao được lưu trữ phân tán trên các máy
client. Khi có một Client có yêu cầu tải một đối tượng nào đó thì tất cả các máy
Client có chứa đối tượng đó sẽ phân chia đối tượng đó thành các mảnh, truyền cho
client có yêu cầu, sau khi truyền xong sẽ ghép lại thành một đối tượng hồn chỉnh.
Mơ hình này phù hợp với việc chia sẻ các đối tượng có dung lượng lớn, số
lượng client truy cập cùng lúc nhiều. Ví dụ như các dịch vụ trực tuyến, truyền
video, truyền file, …
Ban đầu, khi nút tham gia một mạng ngang hàng, nó được xếp vào bảng cấu
trúc dữ liệu DHT cần thiết để hỗ trợ các dịch vụ truy vấn và dịch vụ khác. Tuy

Học viên: Trần Tiến Thành

15


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

nhiên, khơng gian bộ nhớ cache của nó là trống rỗng và khơng có bản sao của bất
kỳ tập tin nào. Tiếp theo, khi một truy vấn được thực hiện, hệ thống sẽ đưa ra quyết
định có bao nhiêu bản sao của các đối tượng yêu cầu được tạo ra, và peer nào dọc
theo con đường định tuyến (truy vấn) được lựa chọn cho bộ nhớ đệm. Việc

này được thực hiện bằng các thuật tốn xác định vị trí bộ nhớ cache.
Đối với hệ phân tán P2P, bộ nhớ đệm là cơ chế hiệu quả để giảm số lượng
truyền tải dữ liệu trên các đường trục Internet, và cải thiện tốc độ truy cập của người
sử dụng.

2.1.4. Các bài toán áp dụng giải pháp sao lưu dữ liệu phân tán trên P2P
Đối với từng loại dữ liệu khác nhau sẽ có các giải pháp sao lưu dữ liệu khác
nhau

2.1.4.1. Dạng dữ liệu thô
Dữ liệu thô là loại dữ liệu chưa qua xử lý, chúng có thể tồn tại ở Client hoặc
ở trên server. Các dữ liệu thơ này có thể là các con số như : có bao nhiêu người
viếng thăm website, họ đã ghé thăm trang nào, nơi họ truy cập ở trang, họ rời trang
của bạn ở đâu. Các dữ liệu thô được phân tán ở khắp các client trong mạng, giá trị
của chúng được phát huy trong cách thu thập dữ liệu, tổng hợp và xử lý chúng cho
những bài tốn cụ thể.
Ví dụ như các bài toán thu thập dữ liệu để đánh giá, xác định, biết trước nhu
cầu, xu hướng người dùng.

2.1.4.2. Dạng dữ liệu Dịng (Streaming data)
Với những tiến bộ trong cơng nghệ băng thông rộng truy cập Internet và các
kỹ thuật mã hóa, dịch vụ video trực tuyến đã trở nên ngày càng phổ biến. Theo
truyền thống, các dịch vụ video trực tuyến được triển khai trong kiến trúc
client/server. Tuy nhiên, kiến trúc tập trung này không thể cung cấp trực tuyến một
số lượng lớn người sử dụng do sự quá tải của máy chủ. Công nghệ Peer-to-Peer

Học viên: Trần Tiến Thành

16



Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

(P2P) gần đây đã trở thành một cơng nghệ đầy hứa hẹn, cung cấp dịch vụ nhanh
chóng. Video truyền trực tiếp và dịch vụ Video on Demand (VoD) phục vụ cho một
số lượng lớn người sử dụng đồng thời trên mạng tồn cầu. Hệ thống P2P trực
tuyến có thể được phân thành hệ thống truyền trực tiếp trên P2P và các hệ
thống Video theo yêu cầu P2P chạy trên P2P.
Các Đài Truyền hình có thể sử dụng giải pháp này để phân phối video cho
người xem.
2.1.4.2.1. Dòng video trực tiếp (live)
Trong một hệ thống P2P truyền dòng video trực tiếp, Video được phát đồng
bộ, trực tiếp cho tất cả người dùng cùng lúc theo thời gian thực.
Tùy thuộc vào các phương pháp tiếp cận xây dựng lớp phủ, hệ thống truyền
dịng trực tiếp P2P có thể được phân loại thành hệ thống truyền dòng trực tiếp P2P
dạng cây và các hệ thống truyền dòng trực tiếp dựa trên P2P dạng lưới.
Đối với hệ thống truyền dòng trực tiếp P2P dạng cây, các dòng video được
phân phối qua một cây lớp ứng dụng đơn hoặc nhiều cây lớp ứng dụng.
Đối với hệ thống truyền dòng trực tiếp P2P dạng lưới, mỗi peer trao đổi dữ
liệu với một tập hợp các máy bên cạnh.
Có thể áp dụng cho các Đài Truyền hình như 1 kênh phát sóng.
2.1.4.2.2. Video on Demand (VoD)
Trong một hệ thống P2P VoD, người dùng có thể chọn bất kỳ video mà họ
thích và bắt đầu xem nó ở bất kỳ thời điểm nào. Video sẽ được phát không đồng bộ
cho nhiều người dùng ở những khoảng thời gian khác nhau. Các dịch vụ VoD
cung cấp linh hoạt và tương tác hơn với người sử dụng. Tùy thuộc vào phương
pháp tiếp cận, hệ thống VoD P2P có thể được phân loại thành các hệ thống bộ đệm
chuyển tiếp, các hệ thống lưu trữ chuyển tiếp và các hệ thống hybrid chuyển

tiếp . Trong các hệ thống VoD P2P, chương trình tìm nạp trước cho phép các peer
được download các phân đoạn trong tương lai tính từ vị trí phát hiện hành, do đó
tăng tính liên tục phát lại.

Học viên: Trần Tiến Thành

17


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

2.1.4.3. Bài tốn sao lưu phân tán sử dụng GIS
2.1.4.3.1. GIS là gì ?
GIS là hệ thống thơng tin địa lý, là cơng cụ máy tính bao gồm tập hợp phần
cứng, mạng, phần mềm máy tính và dữ liệu địa lý nhằm chụp hình, quản lý, phân
tích và hiển thị tất cả các dạng của thông tin liên quan đến địa lý.
G, I, và S


G: geographic – thuộc địa lý:



– Dữ liệu khơng gian
– Các thành phần liên quan đến địa lý.
I: information – thông tin:
– Cơ sở dữ liệu




– Hiển thị thơng tin
S: systems – Các hệ thống
– Người sử dụng
– Phần cứng
– Phần mềm

2.1.4.3.2. Các thành phần cấu thành của GIS
1
2
3
4
5

- Phần cứng (Hardware)
- Phần mềm (Software)
- Dữ liệu (Data)
- Con người (People)
- Các phương thức (Methods)

Trong những bài toán Gis phổ biến hiện nay, dữ liệu thường được lưu trữ
trong các máy chủ dưới dạng các cơ sở dữ liệu, cơ sở dữ liệu chủ yếu bao gồm hai
phần là dữ liệu hình ảnh (cần khơng gian lưu trữ lớn) và các thuộc tính liên quan
đến dữ liệu hình ảnh nhằm mơ phỏng và lưu giữ mọi thơng tin về trái đất. Đó là 1
hệ thống chứa dữ liệu khổng lồ với lượng người sử dụng lớn, điều đó sẽ khiến cho
các Server quá tải khi phải đáp ứng các truy vấn về các dữ liệu hình ảnh.

Học viên: Trần Tiến Thành


18


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

2.1.4.3.3. Ví dụ về hệ thống Gis sử dụng giải pháp sao lưu dữ liệu phân tán trên
P2P:
Ví dụ về việc khi người dùng xem bản đồ về 1 vùng địa lý nào đó, dữ liệu sẽ
được tải trực tiếp từ Server về máy client, khi người dùng di chuyển màn hình để
xem đi xem lại ở 1 số địa điểm nào đó thì theo cách thơng thường server phải tải
liên tục lặp đi lặp lại dữ liệu hình ảnh đó về máy client. Nếu làm như vậy thì sẽ tốn
băng thông và client sẽ phải chờ thời gian tải lại dữ liệu và nếu nhiều người dùng
cùng xem 1 địa điểm như vậy thì Server sẽ bị quá tải gây đình trệ hệ thống.
Vậy giải pháp đặt ra với bài toán này là sử dụng giải pháp sao lưu dữ liệu
phân tán dựa trên P2P.
Nếu người sử dụng truy cập vào 1 vùng địa lý nào đó lần đầu thì áp dụng giải
pháp cache dữ liệu tại máy client. Khi đó hệ thống sẽ cache lại những dữ liệu client
đã xem hoặc là sẽ tải trước về máy client tồn bộ các lớp hình ảnh trong vùng dữ
liệu mà client định xem. Như vậy, trong quá trình sử dụng nếu client xem lại các dữ
liệu hình ảnh đó thì dữ liệu được hiển thị ra ngay từ cache ở máy client.
Nếu có nhiều người cùng truy cập vào hệ thống thì hệ thống sẽ sử dụng
cache trên P2P; tức là nếu client truy cập lần đầu vào 1 vùng dữ liệu hình ảnh nào
đó thì đầu tiên nó sẽ tìm trong cache của chính nó, nếu khơng có nó sẽ tìm trong các
máy client có chứa cache vùng dữ liệu đó và tải về cache tại máy mình rồi sau đó
hiển thị.
Trong bài tốn Gis có một đặc trưng là hệ thống có thể xác định được các
máy client đang truy cập vào cùng một vùng dữ liệu hình ảnh hoặc các vùng lân
cận, từ đó hệ thống có thể sẽ cache trước về máy client. Ví dụ như trong những bài

tốn mơ phỏng thế giới thực dạng 3D và hiển thị trong xe ô tô cho các tài xế biết
trước quãng đường đi của mình.

Học viên: Trần Tiến Thành

19


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

2.2. Các mơ hình Client-Server
2.2.1. Hệ thống truyền file FTP (File Transfer Protocol)
FTP thường được dùng để trao đổi tệp tin qua mạng Internet sử dụng giao
thức TCP/IP. Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy
khách). Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ,
lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách
chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, khởi động
một liên kết với máy chủ. Một khi hai máy đã liên kết với nhau, máy khách có thể
xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ
xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v.

INTERNET
Client

FTP Server

Hình 2.2 : Mơ hình kết nối FTP từ Client tới Server


Phương thức truyền File :
Có 3 phương thức truyền dữ liệu thơng qua FTP:
- Truyền dữ liệu theo chế độ dòng; hệ thống chuyển các tập tin theo một
dòng liên tục từ máy này sang máy kia mà không can thiệp hoặc xử lý thông tin vào
các file với những định dạng khác nhau. Ví dụ, trong trường hợp truyền dữ liệu giữa
hai máy tính với hệ điều hành giống hệt nhau, FTP không cần phải sửa đổi các tập
tin.
- Truyền theo chế độ khối: FTP phân chia các dữ liệu cần chuyển vào các
khối thông tin, gồm một tiêu đề, số lượng byte, và các dạng dữ liệu.
- Truyền theo chế độ nén: FTP nén các tập tin bằng cách mã hóa chúng.
Có 2 chế độ kết nối giữa Client và Server là : Active FTP và Passive FTP

Học viên: Trần Tiến Thành

20


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

FTP là một giao thức truyền file chỉ sử dụng giao thức TCP không sử dụng
UDP. FTP là một dịch vụ đặc biệt ở chỗ nó sử dụng hai cổng, một cổng cho dữ liệu
và cổng cho chỉ thị lệnh (cịn được gọi là các cổng kiểm sốt). Thơng thường, các
cổng 21 cho cổng lệnh và cổng 20 cho cổng dữ liệu. Tuy nhiên, tùy thuộc vào từng
chế độ, các cổng dữ liệu có thể khơng sử dụng cổng 20.
Active FTP
Trong chế độ Active, FTP client kết nối từ một cổng ngẫu nhiên khơng có
đặc quyền (N> 1023) đến cổng lệnh của máy chủ FTP, port 21. Sau đó, client bắt
đầu lắng nghe cổng N +1 và gửi lệnh FTP PORT N +1 đến FTP server. Máy chủ

sau đó sẽ kết nối trở lại cổng dữ liệu quy định của client từ cổng dữ liệu địa phương,
đó là cổng 20.
Từ quan điểm của các bức tường lửa phía máy chủ, hỗ trợ chế độ active FTP
các kênh truyền thông sau đây cần phải được mở ra:
- Mở cổng 21 của FTP server từ mọi nơi (Client khởi tạo kết nối)
- Mở cổng 21 của FTP server cho cổng > 1023 Client kết nối tới (Server đáp
ứng các cổng kiểm soát của Client)
- Mở cổng 20 của FTP server kết nối đến cổng > 1023 (Server khởi tạo kết
nối dữ liệu đến cổng dữ liệu của client)
- Mở cổng 20 của FTP server từ cổng > 1023 của Client (Client gửi ACKs
đến cổng dữ

liệu của server)

bước

Trong
Hình 2.3 : Mơ hình kết nối Active FTP
Học viên: Trần Tiến Thành

21

1, cổng


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

lệnh của Client liên lạc với cổng lệnh của server và gửi lệnh qua cổng 1027. Sau đó

Server sẽ gửi một ACK trở lại cổng lệnh của client trong bước 2. Ở bước 3, Server
khởi tạo một kết nối trên cổng dữ liệu cục bộ của nó đến cổng dữ liệu Client
được quy định trước đó. Cuối cùng, Client gửi một ACK trở lại như trong bước 4.
Vấn đề chính với chế độ active FTP là ở phía client. FTP client không tạo kết
nối thực sự vào cổng dữ liệu của Server - nó chỉ đơn giản là nói cho server biết cổng
nào nó đang lắng nghe và Server kết nối trở lại cổng đã quy định trên máy Client.
Passive FTP
Trong chế độ thụ động FTP client khởi tạo cả hai kết nối đến máy chủ, giải
quyết các vấn đề bức tường lửa lọc các cổng kết nối dữ liệu đến cho Client từ máy
chủ. Khi mở một kết nối FTP, client sẽ mở hai cổng ngẫu nhiên không có đặc
quyền cục bộ (N 1023 và N +1). Các địa chỉ liên lạc cổng đầu tiên trên cổng 21 của
Server, nhưng thay vì sau đó ban hành một lệnh PORT và cho phép các máy chủ
để kết nối đến cổng dữ liệu của nó, client sẽ ban hành lệnh PASV.
Kết quả của việc này là máy chủ sau đó sẽ mở ra một cổng ngẫu nhiên
khơng có đặc quyền (P> 1023) và gửi lệnh PORT P lại cho Client. Client sau đó
đưa ra sự kết nối từ cổng N +1 vào cổng P trên máy chủ để truyền dữ liệu.

Hình 2.4 : Mơ hình kết nối Passive FTP

Học viên: Trần Tiến Thành

22


Viện Công nghệ thông tin

Lớp cao học Kỹ thuật máy tính-Truyền thơng

- Mở cổng 21 của FTP server từ bất cứ nơi nào (Client khởi tạo kết nối)
- Mở cổng 21 của FTP server để kết nối đến cổng> 1023 của Client (Server

đáp ứng các cổng kiểm soát của Client)
- Mở cổng > 1023 của FTP server từ bất cứ nơi nào (Client khởi tạo kết nối
dữ liệu đến cổng ngẫu nhiên theo quy định của máy chủ)
- Mở cổng > 1023 của FTP server từ cổng> 1023 của Client (Server gửi
ACKs (và dữ liệu) đếncổng dữ liệu của Client)
Trong bước 1, Client liên lạc với Server qua cổng lệnh và đưa ra lệnh PASV.
Các Server sau đó sẽ trả lời ở bước 2 với PORT 2024, nói với Client cổng nó đang
lắng nghe cho các kết nối dữ liệu. Trong bước 3 Client sau đó khởi tạo kết nối dữ
liệu từ cổng dữ liệu của nó đến cổng dữ liệu đã được xác định trên máy chủ. Cuối
cùng, Server sẽ gửi lại một ACK trong bước 4 đến cổng dữ liệu của Client.
Khi chế độ bị động FTP giải quyết nhiều vấn đề từ phía Client, nó mở ra cả
một loạt các vấn đề ở phía máy chủ. Vấn đề lớn nhất là sự cần thiết để cho phép bất
kỳ kết nối từ xa nào đến cổng đánh số thứ tự cao trên máy chủ. May mắn thay,
nhiều FTP daemon, bao gồm WU-ftpd phổ biến cho phép người quản trị xác
định một loạt các cổng mà Server FTP sẽ sử dụng.
Vấn đề thứ hai liên quan đến việc hỗ trợ và xử lý sự cố Client mà hỗ trợ
(hoặc khơng hỗ trợ) chế độ thụ động. Ví dụ, các tiện ích dịng lệnh FTP được cung
cấp với Solaris khơng hỗ trợ chế độ thụ động, cần phải có một Client FTP của
bên thứ ba, chẳng hạn như ncftp.
Với sự phổ biến lớn của World Wide Web, nhiều người thích sử dụng trình
duyệt web như là một Client FTP. Hầu hết các trình duyệt chỉ hỗ trợ chế độ thụ
động khi truy cập vào các URL ftp://. Điều này có thể là tốt hay xấu tùy thuộc vào
những gì các Server và tường lửa được cấu hình để hỗ trợ.
Active FTP là có lợi cho người quản trị máy chủ FTP, nhưng bất lợi cho các
admin phía Client. Các máy chủ FTP cố gắng tạo các kết nối cho các cổng mức cao
ngẫu nhiên trên máy Client, gần như chắc chắn sẽ bị chặn bởi một bức tường lửa ở
phía Client. Passive FTP là có lợi cho Client, nhưng bất lợi cho người quản trị máy

Học viên: Trần Tiến Thành


23


×