Bên cạnh đó, với ý tưởngcác phân đoạn dữ liệu có thể tự phục hồi khi có sự cố
xảy ra thông qua việc sử dụng các mã dung lỗi dẫn
đến mô hình của hệ thống có một hướng mới hơn so
với các hệ thống chia sẻ tài nguyên hiện nay. Tuy
nhiên, với kỹ thuật sửa lỗi dựa trên các mã dung lỗi
thì việc phục hồi được các mảnh dữ liệu có dung
lượng lớn (ví dụ như dung lượng với đơn vị là MB
trở lên) là khá khó khăn. Do đó, tác giả đề xuất giải
pháp tự phục hồi dữ liệu khi một số máy lưu trữ
không tham gia mạng đối với các thông tin, dữ liệu
với dung lượng hạn chế và yêu cầu chất lượng phục
hồi không cần độ tin cậy quá cao như ảnh, nhạc,
phim, .
8 trang |
Chia sẻ: dntpro1256 | Lượt xem: 663 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Đề xuất xây dựng hệ thống chia sẻ tài nguyên dựa trên hệ lưu trữ phân tán và kiểm soát truy cập, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tạ Minh Thanh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 86(10): 67 - 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 67
ĐỀ XUẤT XÂY DỰNG HỆ THỐNG CHIA SẺ TÀI NGUYÊN
DỰA TRÊN HỆ LƯU TRỮ PHÂN TÁN VÀ KIỂM SOÁT TRUY CẬP
Tạ Minh Thanh1*, Nguyễn Hiếu Minh1, Đỗ Thị Bắc2
1Học viện Kỹ thuât quân sự,
2 Trường Đại học Công nghệ thông tin và truyền thông
TÓM TẮT
Các hệ thống chia sẻ trên mạng hiện nay thường theo mô hình client-server. Do đó, các truy xuất dữ liệu trên
mô hình này đều phụ thuộc vào hệ điều hành mạng hay server chia sẻ xong lại không đồng nhất trên nhiều
phiên bản OS. Bên cạnh đó, một mô hình mạng chia sẻ Peer-to-Peer (P2P) không quan tâm đến quản lý người
sử dụng và truy xuất dữ liệu lại đang phát triển mạnh mẽ dẫn đến một số vấn đề về tự do truy cập tài nguyên
và vi phạm bản quyền sản phẩm. Trên cơ sở đó, bài báo đề xuất hệ thống chia sẻ tài nguyên mới dựa trên hệ
lưu trữ phân tán kết hợp kiểm soát truy cập để khắc phục các vấn đề của các hệ thống chia sẻ hiện nay.
Từ khóa: client - server, hệ thống chia sẻ tài nguyên, Peer-to-Peer, lưu trữ phân tán, kiểm soát truy cập.
TỔNG QUAN
Trong những năm gần đây, với sự phát triển mạnh
mẽ của internet với băng thông rộng như ADSL,
FTTH, ... người dùng đầu cuối có thể trao đổi các
sản phẩm multimedia dung lượng lớn dễ dàng và
hiệu quả. Bên cạnh đó, sự ra đời của các thiết bị
lưu trữ công nghệ cao, giá thành rẻ giúp người
dùng có thể lưu trữ thuận tiện và có thể chia sẻ
mọi lúc, mọi nơi các sản phẩm số qua internet.
Chính vì có sự phát triển mạnh mẽ về công nghệ
mà nhu cầu trao đổi dữ liệu trong mạng của các tổ
chức cũng đang ngày một tăng và có xu hướng
bùng nổ.
Hiện nay, các hệ thống chia sẻ file hoạt động trên
mạng network đã được biết đến rộng rãi. Mỗi hệ
thống được tận dụng hiệu quả dựa trên các đặc
điểm của hệ thống để quản lý người dùng hay
quản lý dữ liệu được chia sẻ. Các hệ thống chia sẻ
file hoạt động phụ thuộc vào hệ điều hành (OS:
Operating System) như NFS, Netware, LAN
Manager, ... được biết đến là các hệ thống có tổ
chức chặt chẽ với quản lý phân quyền, chia sẻ đối
với từng người dùng khi truy cập vào hệ thống
nhưng phải có sự cho phép của server. Mặt khác,
các hệ thống chia sẻ file mà không phụ thuộc vào OS,
hoạt động trên mô hình client-server được phát
triển mạnh mẽ hơn cả. Hệ thống bao gồm hai
phương thức chính: lợi dụng FTP server, HTTP
server để chia sẻ file hoặc giao thức peer-to-peer
(P2P) để mở rộng mạng lưới chia sẻ và sử dụng tài
nguyên như Napster, Gnutella[1], Freenet[2],
BitTorrent, Winny, ... Trái ngược với việc người
dùng đầu cuối bị quản lý chặt chẽ bởi server trên
Email: taminhjp@gmail.com
các hệ thống chia sẻ file phụ thuộc OS, các hệ
thống chia sẻ file không phụ thuộc OS không quản
lý người dùng đầu cuối mà cung cấp một môi
trường chia sẻ file tự do cho người dùng cuối khi
truy cập vào mạng chia sẻ. Chính việc tự do trong
sử dụng tài nguyên chia sẻ nên có nhiều vấn đề về
quản lý truy cập tài nguyên bản quyền dẫn đến vi
phạm bản quyền sản phẩm số, bản quyền phần
mềm và bảo mật hệ thống.
Trước vấn đề trên, việc xây dựng một hệ thống
chia sẻ tài nguyên thân thiện và dễ sử dụng như
mạng P2P, đồng thời quản lý được việc truy xuất
tài nguyên đối với người dùng đầu cuối là cần
thiết. Nếu xây dựng hệ thống chia sẻ tài nguyên
trong điều kiện các hệ thống OS khó thống nhất
được như hiện nay mà vẫn đòi hỏi có sự quản lý
về truy cập đối với người dùng cuối thì buộc phải
sử dụng phương thức client-server. Tuy nhiên, nếu
sử dụng mô hình client-server thì việc server phải
chịu tải lớn trong việc điều khiển truy cập, quản lý
người dùng phức tạp, duy trì server, ... gặp nhiều
khó khăn. Để giải quyết được các vấn đề gặp phải
trong mô hình client-server, ta có thể sử dụng giao
thức P2P để triển khai hệ thống chia sẻ tài nguyên;
song khi sử dụng kỹ thuật P2P để xây dựng thì
không có cơ chế giám sát và quản lý người dùng
đầu cuối. Hơn nữa, trong cả hai mô hình nói trên,
do file chia sẻ phụ thuộc vào hệ thống mạng chia
sẻ (các server, các máy chứa file tham gia mạng
P2P) nên việc chia sẻ file trong các mô hình mạng
hiện nay chưa đạt hiệu quả tốt nhất. Do đó, bài báo
đề xuất phương án xây dựng hệ thống chia sẻ tài
nguyên phân tán trên cơ sở tận dụng các tài
nguyên trống dư thừa trên mạng và sử dụng giao
thức P2P. Trong hệ thống này, một file chia sẻ
Tạ Minh Thanh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 86(10): 67 - 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 68
được phân chia làm nhiều mảnh dữ liệu và được
lưu trữ phân tán trên các thiết bị lưu trữ còn dư
thừa trên mạng để tận dụng hiệu quả các nguồn tài
nguyên trên mạng. Các máy tính tham gia cung
cấp dung lượng lưu trữ trong mạng P2P sẽ đóng
vai trò như một servent[3] để cấu hình nên kho dữ
liệu phân tán. Ngoài ra, khi dữ liệu được phân chia
làm nhiều mảnh nhỏ, có thể thêm vào các thông
tin cần thiết để quản lý truy cập và phục hồi dữ
liệu khi hệ thống gặp sự cố. Phần 2 của bài báo
phân tích các hệ thống chia sẻ tài nguyên hiện nay
và các nhược điểm chủ yếu. Từ đó, đưa ra mô hình
đề xuất trong phần 3. Cuối cùng, bài báo đánh giá
mô hình đề xuất và tính khả thi khi triển khai
trong thực tế.
CÁC HỆ THỐNG CHIA SẺ HIỆN NAY
Các loại hệ thống chia sẻ tài nguyên
Trong các loại hệ thống chia sẻ được sử dụng rộng
rãi hiện nay, có thể chia thành hai loại cơ bản sau:
Loại 1: Đây là hệ thống chia sẻ tài nguyên phụ
thuộc vào hạ tầng cung cấp cho tầng mạng hay các
OS riêng biệt. Hệ thống này sẽ tận dụng chức năng
quản lý người dùng của OS để quản lý việc chia sẻ
tài nguyên và truy xuất dữ liệu. Tuy nhiên, trong
điều kiện phát triển phong phú các dạng multi-
platform như hiện nay, việc thống nhất các giao
thức cho các hệ thống chia sẻ trên nhiều OS là khá
phức tạp. Tóm lại, các hệ thống chia sẻ tài nguyên
loại 1 phụ thuộc rất nhiều vào các platform. Ví dụ,
trên UNIX có hệ thống NFS (Network File
Sytem); trên Microsoft có hệ thống LAN
Manager.
Loại 2: Đây là hệ thống chia sẻ tài nguyên được
phát triển để phù hợp với môi trường multi-
platform hiện nay. Hệ thống này vượt qua giới hạn
quản lý người dùng đầu cuối khi truy cập vào
mạng chia sẻ. Bất cứ người dùng đầu cuối nào khi
tham gia vào hệ thống chia sẻ đều có thể là servent
độc lập. Giao thức tiêu biểu sử dụng trong hệ
thống này là hệ thống P2P.
Network File Sytem (NFS)[4]
NFS cung cấp chức năng chia sẻ tài nguyên cho
nhiều hệ thống UNIX workstation. NFS sử dụng
giao thức Run RPC, khi truyền dữ liệu thì sử dụng
UDP/IP. Hệ thống chia sẻ tài nguyên NFS có chức
năng như hệ thống tài nguyên trên máy cá nhân;
dữ liệu trên các máy sẽ được kết nối (mount) vào
cơ sở dữ liệu của NFS và chia sẻ trên mạng.
NFS không cung cấp chức năng quản lý người
dùng đầu cuối mà sử dụng chức năng quản lý
người dùng của OS. Chính vì vậy, nếu vượt qua hệ
thống một OS đồng nhất thì NFS không thể quản
lý được người dùng. Mặt khác, độ bảo mật của dữ
liệu được chia sẻ hoàn toàn phụ thuộc vào chức
năng quản lý người dùng và bảo mật của OS. Bởi
vậy, hệ thống chia sẻ tài nguyên NFS chỉ thích
hợp với môi trường đồng nhất OS và sẽ có hiệu
quả khi bảo mật hệ thống được bảo đảm trong toàn
mạng.
Giao thức P2P
Napster, Gnutella, Freenet, ... là hệ thống chia sẻ
tài nguyên đại diện cho giao thức P2P. Với các
phần mềm này, người dùng đầu cuối có thể chia
sẻ, trao đổi dữ liệu thông qua upload và download.
Thực chất, hệ thống P2P là mạng ngang hàng
được tự hình thành bởi người dùng đầu cuối khi có
nhu cầu sử dụng. Mạng P2P có thể được phân ra
làm 2 loại là hỗn hợp (Hybrid) và thuần nhất
(Pure).
Napster là một dạng hệ thống thuộc loại Hybrid.
Khi các servent khởi động ứng dụng Napster thì
đồng thời tự động kết nối và sau đó các servent sẽ
gửi danh sách các content mình có đến Napster
server. Các lệnh tìm kiếm content được thực hiện
thông qua gửi câu lệnh Query đến Napster server.
Napster server sẽ gửi trả lại kết quả tìm kiếm
(người sở hữu, chất lượng content, ...) cho servent
tương ứng. Khi đó, servent sẽ thiết lập liên kết
TCP với servent sở hữu content và dữ liệu bắt đầu
được truyền tải.
Bên cạnh đó, Gnutella và Freenet là hệ thống
thuộc loại Pure. Trong đó, các servent sau khi khởi
động sẽ thiết lập kết nối TCP và duy trì để tạo
mạng trao đổi content. Loại Pure khác với loại
Hybrid ở chỗ không tồn tại một server để quản lý
thông tin content, việc tìm kiếm và phát hiện
content được thực hiện trên toàn mạng.
Thông thường, các hệ thống chia sẻ bằng giao
thức P2P được thực hiện bằng phương thức chia sẻ
danh sách dữ liệu sở hữu của các servent. Việc lưu
trữ các dữ liệu chia sẻ được thực hiện riêng biệt
Tạ Minh Thanh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 86(10): 67 - 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 69
trên các servent; tìm kiếm dữ liệu chia sẻ được
thực hiện trên cơ sở danh sách dữ liệu sở hữu của
các servent.
Vấn đề điều khiển truy cập tài nguyên chia sẻ
được thực hiện bởi các servent nên khác biệt hoàn
toàn với hệ thống NFS. Các điều khiển truy xuất dữ
liệu đối với người dùng được thực hiện thông qua
việc trao đổi các thông điệp điều khiển (control
message) giữa các servent. Hầu hết các servent
tham gia mạng P2P đều có thể tự chia sẻ và tự quản
lý tài nguyên.
Các vấn đề cần khắc phục
Với các hệ thống chia sẻ tài nguyên nêu trên, ta có
được bảng tổng hợp đặc trưng của chúng như sau:
Hầu hết các hệ thống chia sẻ hiện nay đều không
có chức năng quản lý truy cập của người dùng đầu
cuối. Bên cạnh đó, các tài nguyên được chia sẻ
trên mạng đều lưu trữ trên thiết bị của server hay
servent để phục vụ cho nhu cầu upload và
download của client nên tài nguyên chia sẻ phụ
thuộc vào mạng chia sẻ được hình thành; dẫn đến
việc không tận dụng được hết các dung lượng dư
thừa của các thiết bị lưu trữ trên mạng.
HỆ THỐNG CHIA SẺ TÀI NGUYÊN DỰA
TRÊN HỆ LƯU TRỮ PHÂN TÁN
Điều kiện cần
Bảng 1. Đặc trưng của các hệ thống chia sẻ
Phân
loại
Ví dụ Đặc trưng
Loại 1
NFS
Lan
Manager
- Tài nguyên chia sẻ tồn tại
trong cấu trúc mạng
- Không có chức năng điều
khiển truy cập mà phụ thuộc
vào OS
- Tính bảo mật của tài
nguyên chia sẻ không cao
Loại 2
Napster
Gnutella
Freenet
Winny
- Tài nguyên chia sẻ tồn tại
trên từng thực thể servent
- Không có chức năng điều
khiển truy cập mà phụ thuộc
vào thông điệp điều khiển
- Tính bảo mật của tài
nguyên chia sẻ thấp
Giả sử trong một mạng qui mô nhỏ, các máy tính
tham gia mạng có dung lượng ổ cứng lớn để lưu
trữ dữ liệu. Thông thường, chúng không sử dụng
hết dung lượng ổ cứng nên trên toàn mạng tổng
dung lượng dư thừa ổ đĩa rất lớn [5,6]. Vậy nếu
xây dựng một hệ thống chia sẻ tài nguyên trên cơ
sở tận dụng các nguồn lưu trữ dư thừa trên toàn
mạng sẽ tận dụng được khá hiệu quả dung lượng
dư thừa, nâng cao được hiệu suất sử dụng thiết bị
lưu trữ. Trên có sở đó, chúng tôi đã đề xuất kỹ
thuật kiểm soát truy cập nguồn tài nguyên chia sẻ
của mạng đến người dùng đầu cuối để nâng cao
tính bảo mật tài nguyên chia sẻ.
Hệ thống đề xuất
Với điều kiện trên, chúng tôi đề xuất mô hình hệ
thống chia sẻ tài nguyên trên hệ lưu trữ phân tán
như trong hình 1.
Trong hình 1, người phân phối (người phục hồi),
người lưu trữ sử dụng các máy tính có dung lượng
lưu trữ phân tán được sử dụng trong hệ thống chia
sẻ P2P; đóng vai trò là các servent độc lập. Các
servent trong hệ thống đề xuất có thể thực hiện
được các thao tác lưu trữ hay phục hồi dữ liệu chia
sẻ.
Với hệ thống này, các đơn vị dữ liệu của dữ liệu
chia sẻ được phân chia trước khi phân phối để lưu
trữ được gọi là đoạn dữ liệu (segment). Trên mỗi
segment, ta thêm vào thông tin điều khiển để quản
lý truy xuất dữ liệu của người dùng đầu cuối và
các thông tin để phục hồi lại dữ liệu khi có sự cố.
Thông tin trao đổi giữa các servent là trao đổi các
thông tin điều khiển này (gọi là list-information)
để thống nhất quản lý người dùng đầu cuối.
Tạ Minh Thanh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 86(10): 67 - 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 70
Hình 1. Mô hình hệ thống đề xuất
Trong xử lý lưu trữ, giả sử servent là người phân
phối C có nhu cầu lưu trữ dữ liệu bất kỳ trên mạng
P2P, C sẽ chọn người lưu trữ S trong các servent
trên mạng, sau đó phân đoạn dữ liệu thành nhiều
segment và phân phối lưu trữ trên thiết bị lưu trữ
của S.
Khi đó, người phân phối C cũng phân phối thông
tin phân đoạn dữ liệu trên toàn mạng bao gồm cả
thông tin của người lưu trữ S thông qua cập nhật
list-information.
Mặt khác, trong xử lý phục hồi dữ liệu, nếu
servent là người phục hồi R có yêu cầu phục hồi
dữ liệu đã được lưu trữ phân tán trên mạng, R sẽ
thu thập các segment được phân tán lưu trữ trong
các thiết bị lưu trữ của S thông qua list-
information để phục hồi nguyên vẹn dữ liệu ban
đầu. Người phục hồi R có thể phục hồi nguyên
vẹn được các dữ liệu do bản thân mình phân đoạn
và phân phối lưu trữ trên các hệ thống của S.
Xử lý lưu trữ
Trong xử lý lưu trữ, người phân phối C phải thực
hiện các thao tác phân đoạn và phân phối dữ liệu
trên các servent đã lựa chọn. Người phân phối C
sẽ thực hiện phân đoạn dữ liệu đến đơn vị bit cho
từng segment.
Nhờ vậy, sau khi lưu trữ phân tán dữ liệu trên các
thiết bị của S (bao gồm cả C), dữ liệu chia sẻ
không bị phục hồi bất hợp pháp bởi S mà vẫn đảm
bảo tính toàn vẹn khi C hoặc R phục hồi lại dữ
liệu; do đó khẳng định tính tin cậy của hệ thống
chia sẻ tài nguyên. Khi phân đoạn dữ liệu, C thêm
vào thông tin điều khiển cho từng segment là các
thông tin phân phối và phục hồi cho dữ liệu và từ
đó tạo các thông tin điều khiển để phân phối. Sau
khi thực hiện các thao tác phân đoạn và phân
phối, C gửi các thông tin điều khiển thông qua list-
information tạo được cho người lưu trữ S. Các
thao tác phân đoạn và phân phối trên mạng P2P
của C được mô tả trong hình 2.
Hình 2. Cách thức phân đoạn và phân phối segment
Hình 3. Cách thức thu thập và phục hồi các segment
Xử lý phục hồi
Trong xử lý phục hồi dữ liệu, người phục hồi R phải thực
hiện thao tác thu thập tất cả các segment từ mạng chia sẻ dữ
liệu, sau đó tiến hành loại bỏ thông tin điều khiển, kết hợp
dữ liệu để thu được dữ liệu ban đầu. R sẽ trên cơ sở lấy
được các thông tin điều khiển từ S để đánh giá khả năng
phục hồi của dữ liệu chia sẻ. Nếu dữ liệu chia sẻ có thể
phục hồi được thì R sẽ kết hợp các segment tương ứng và
tiến hành xử lý phục hồi dữ liệu. Việc đánh giá xem dữ liệu
có thể phục hồi được hay không là căn cứ thông tin điều
khiển (header information) trong các segment khi phân
Tạ Minh Thanh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 86(10): 67 - 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 71
đoạn dữ liệu. Xử lý mà R thực hiện được mô tả trong hình
3.
Quản lý truy xuất tài nguyên chia sẻ
Với hệ thống đề xuất trên, việc quản lý truy xuất tài nguyên
chia sẻ không phụ thuộc vào OS có thể thực hiện được
thông qua việc điều khiển thông tin điều khiển (header
information) của các segment. Từ các thông tin điều khiển
này, lấy được danh sách các segment thuộc dữ liệu đã được
phân đoạn. Vì thế, việc thực hiện truy xuất đối với tài
nguyên chia sẻ trong hệ thống có thể thực hiện được thông
qua các thông tin được cấu thành trong thông tin điều khiển
của segment. Ở đây, quyền truy xuất đối với dữ liệu chia sẻ
trong mạng được phân chia làm hai mức: công khai –
public (trường hợp cả người phân phối và người lưu trữ đều
có thể phục hồi dữ liệu) và bí mật – private (trường hợp chỉ
có người phân phối mới có thể phục hồi được dữ liệu). Với
bảng phân quyền như trong bảng 2 có thể định nghĩa được
các thông tin trong thông tin điều khiển để quản lý truy
xuất dữ liệu chia sẻ (trong đó, √: thỏa mãn và ×: không thỏa
mãn).
Trường hợp muốn công khai chia sẻ tài nguyên, người phân
phối C phân đoạn các segment sao cho thông tin điều khiển
segment của người lưu trữ S giống thông tin điều khiển
segment của người phân phối (Hình 4). Mặt khác, khi muốn
thông tin chia sẻ được giữ bí mật, thông tin điều segment của
người phân phối và người lưu trữ phải khác nhau (Hình 4).
Khi các client (các đối tượng tham gia mạng P2P) muốn truy
xuất tài nguyên chia sẻ trên mạng, các client sẽ trích rút các
thông tin từ thông tin điều khiển của các segment để tạo
thành một danh sách các segment đã được phân phối để lưu
trữ trên S, từ đó kết hợp các segment lại để phục hồi lại
được dữ liệu ban đầu. Trường hợp chỉ người phân phối mới
có thể phục hồi được dữ liệu ban đầu thì người phân phối
sử dụng khóa K đã được mã hóa để phục hồi lại dữ liệu.
Bảng 2. Thông tin điều khiển
(Header Information)
Đối
tượng sở
hữu
Header
information
(Nội dung thông
tin header)
P
u
b
li
c
P
ri
v
at
e
D
u
n
g
l
ư
ợ
n
g
Người
phân phối
C
S: địa chỉ IP của
người phân phối
√ √ 32 bit
N: tên của file
gốc
√ √ 16~ bit
P: dung lượng
của của file gốc
√ √ 16 bit
LD: danh sách
địa chỉ IP của
người lưu trữ
√ √ 32 bit
Người
lưu trữ S
K: Khóa bí mật
của những người
tham gia chia sẻ
tài nguyên
× √
Phương pháp tạo khóa K
Khóa K được tạo ra bởi một hàm số HASH với đầu vào là
các tham số: địa chỉ IP của người phân phối, tên file, địa
chỉ IP của người lưu trữ. Bởi vậy, mỗi một giá trị K được
tạo ra sẽ là tham số duy nhất trong toàn mạng.
Người phân phối C sau khi phân đoạn dữ liệu sẽ dùng địa
chỉ IP của người lưu trữ S để tạo khóa K, sau đó thêm khóa
K là thông tin điều khiển của segment và gửi segment đến
nơi lưu trữ tương ứng. Người phục hồi (thực chất là người
phân phối C) khi muốn phục hồi lại dữ liệu ban đầu thì phải
tạo khóa K và dùng khóa K làm thông tin để tìm kiếm các
segment đã được phân tán trên các ổ lưu trữ.
Trong trường hợp các máy trạm trong mạng được cấu hình
địa chỉ IP động theo dịch vụ DHCP (Dynamic Host
Configuration Protocol) server, các servent sẽ không giữ
được thống nhất địa chỉ IP trong mỗi lần truy cập mạng dẫn
đến việc khó xác định được khóa K đồng nhất để phục hồi
lại dữ liệu ban đầu. Khi đó, việc xác định lại tham số để
sinh ra một khóa K duy nhất là cần thiết. Trong trường hợp
này, khi xác định được mạng có sử dụng dịch vụ DHCP để
cấp phát địa chỉ IP cho các máy trạm, thuật toán sẽ sử dụng
địa chỉ vật lý MAC (Media Access Control) của người phân
phối và người lưu trữ để tạo khóa K và cập nhật vào list-
information.
Khả năng phục hồi dữ liệu khi có sự cố
Hình 4. Cấu trúc của các segment trong điều khiển truy xuất tài
nguyên
Trên hệ thống lưu trữ phân tán đề xuất, tùy thuộc vào trạng
thái của các servent mà các segment sau khi được phân
đoạn và lưu trữ phân tán không phải lúc nào cũng có thể
thu hồi được đầy đủ để phục hồi lại dữ liệu ban đầu. Bởi
vậy, để giải quyết được vấn đề này, hệ thống lưu trữ phân
tán này có thể thêm vào các thông tin dung lỗi trên các
segment để có thể tự sửa lỗi khi có sự cố xảy ra đối với các
segment đã lưu trữ phân tán. Chính vì thế, hệ lưu trữ phân
tán có thể trở thành một hệ thống chia sẻ tài nguyên bền
vững với khả năng tự dung lỗi khi xảy ra hiện tượng mất dữ
liệu. Tuy nhiên, việc thêm mã sửa lỗi vào các segment và
phân phối lên các servent lưu trữ phân tán cần phải tính
Tạ Minh Thanh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 86(10): 67 - 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 72
toán sao cho dung lượng của mã sửa lỗi phải nhỏ hơn dung
lượng dữ liệu đã được phân đoạn. Các mã sửa lỗi có thể sử
dụng để phục hồi lỗi trong quá trình xảy ra sự cố như mã
BCH, CRC-10, CRC-11, ...
Như vậy, với việc thêm kèm mã sửa lỗi vào các segment
khi phân phối lưu trữ phân tán lên các thiết bị của người
lưu trữ, dù các servent không tham gia trong quá trình có
nhu cầu phục hồi dữ liệu đi chăng nữa thì dữ liệu ban đầu
cũng có thể phục hồi về trạng thái gần giống ban đầu mà có
thể chấp nhận được. Với khả năng tự phục hồi lỗi khi có sự
cố khiến hệ thống chia sẻ tài nguyên có độ bền vững cao
đối với các sự cố có thể xảy ra.
THUẬT TOÁN THỰC HIỆN TRÊN HỆ THỐNG ĐỀ
XUẤT
Thuật toán lưu trữ dữ liệu phân tán
Hình 5. Các bước thực hiện lưu trữ phân tán
Người phân phối C khi có nhu cầu chia sẻ dữ liệu lên mạng
P2P, trước khi phân phối trên mạng, người phân phối C cần
xác định rõ mục đích chia sẻ lên mạng là công khai hay bí
mật để khởi tạo thông tin điều khiển thêm vào các segment
và tiến hành phân phối đến các servent lưu trữ. Các bước
thực hiện phân đoạn và lưu trữ segment trên toàn mạng
được mô tả trong hình 5.
Step 1. Người lưu trữ C xác định dung lượng và số lượng
phân mảnh dữ liệu sẽ lưu trên hệ thống mạng.
Step 2. C tiến hành phân đoạn dữ liệu segment.
Step 3. C xác định mục đích chia sẻ dữ liệu (public hay
private) và xác định các thông tin điều khiển để thêm vào
các segment.
Tạ Minh Thanh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 86(10): 67 - 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 73
Step 4. C phân phối các segments cho các
servent tương ứng để lưu trữ.
Step 5. Tại các servent của người lưu trữ S, S
thực hiện việc nhận dữ liệu segment và lưu trữ
trên vùng ổ đĩa dư thừa.
Step 6. S thay đổi các thông tin trong list-
information và trao đổi thông tin này với C
Step 7. C so sánh các thông tin trong list-
information và cập nhật các thông tin đã thay đổi
để kết thúc quá trình lưu trữ phân tán.
Sau khi thực hiện các bước lưu trữ phân tán các
mảnh dữ liệu, C và S đồng thời có được thông
tin lưu trữ trong list-information. Tuy nhiên,
trường hợp khi dữ liệu được lưu bởi trạng thái là
“public”, C và S sẽ có list-information là như
nhau; khi đó, cả C và S đều có thể phục hồi được
dữ liệu về trạng thái ban đầu. Mặt khác, nếu trạng
thái của dữ liệu được lưu trữ là “private” thì
thông tin điều khiển của C và S là khác nhau
nhằm mục đích chỉ có C mới có thể phục hồi lại
dữ liệu ban đầu.
Thuật toán phục hồi dữ liệu ban đầu
Khi người phân phối C (người phục hồi) có nhu
cầu phục hồi dữ liệu ban đầu, C kiểm tra trong
list-information của mình khả năng phục hồi của
dữ liệu muốn phục hồi. Tiếp theo, C sẽ sử dụng
khóa K tạo được để yêu cầu các segments đang
được lưu trữ phân tán trên các hệ phân tán lưu
trữ S, kết hợp dữ liệu lại và phục hồi dữ liệu về
trạng thái nguyên dạng ban đầu. Qui trình phục
hồi dữ liệu ban đầu được thực hiện tuần tự như
các bước trong hình 6.
Step 1. Khi một servent (bao gồm cả C) có nhu
cầu phục hồi dữ liệu từ các mảnh lưu trữ phân
tán, người phục hồi sẽ kiểm tra thông tin trong
list-information để đánh giá khả năng phục hồi
dữ liệu.
Step 2. Nếu dữ liệu có khả năng phục hồi, người
phục hồi sẽ sử dụng các thông tin trong list-
information làm thông tin header để tìm kiếm
các segment đã được lưu trữ phân tán trên toàn
mạng. Với trường hợp khả năng phục hồi chỉ
dành cho C (trạng thái lưu trữ là “private”), C
phải tiến hành sinh lại khóa K duy nhất và dùng
khóa K làm thông tin để tìm kiếm segment.
Hình 6. Các bước thực hiện phục hồi dữ liệu
Step 3. Trên các servent lưu trữ, khi nhận được các
yêu cầu tìm kiếm của người phục hồi, các servent này
tiến hành so sánh các thông tin header để loại trừ các
segment không phù hợp.
Step 4. Khi phát hiện được các thông tin header trùng
khớp, servent lưu trữ sẽ gửi trả các segment cho
người phục hồi và thay đổi thông tin list-information.
Step 5. Người lưu trữ sau khi nhận được hết các
segment của dữ liệu sẽ tiến hành kết hợp các segment
để phục hồi lại dữ liệu ban đầu.
Step 6. Sau khi phục hồi lại dữ liệu, servent của
người phục hồi sẽ thay đổi thông tin trong list-
information để hoàn thành quá trình phục hồi.
KẾT LUẬN
Bảng 3. So sánh các hệ thống chia sẻ hiện nay
NFS P2P
Hệ thống đề
xuất
Trao đổi dữ liệu
trên mạng
√ × √
Hiệu suất lưu trữ
cao
× × √
Quản lý truy xuất
dữ liệu
√ × √
Khả năng phục hồi
dữ liệu
× × √
Bài báo đã xây dựng một hệ thống chia sẻ tài nguyên
mới trên cơ sở tận dụng các nguồn tài nguyên phân
tán trên mạng thông qua giao thức P2P. Hệ thống
chia sẻ tài nguyên xây dựng trên cơ sở phân đoạn dữ
liệu và lưu trữ phân tán trên các servent riêng rẽ giúp
hệ thống có thể nâng cao hiệu suất sử dụng nguồn tài
nguyên lưu trữ dư thừa trên mạng. Có nghĩa là, hệ
thống tận dụng các nguồn tài nguyên còn trống của
Tạ Minh Thanh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 86(10): 67 - 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 74
các servent và kết hợp lại tương tự như một kho lưu
trữ dữ liệu thống nhất trên mạng. Mặt khác, với việc
điều khiển truy xuất dữ liệu thông qua list-
information và thông tin điều khiển của các segments
dẫn đến khả năng bảo mật dữ liệu mà không bị phụ
thuộc vào các hệ thống OS. Bên cạnh đó, với ý tưởng
các phân đoạn dữ liệu có thể tự phục hồi khi có sự cố
xảy ra thông qua việc sử dụng các mã dung lỗi dẫn
đến mô hình của hệ thống có một hướng mới hơn so
với các hệ thống chia sẻ tài nguyên hiện nay. Tuy
nhiên, với kỹ thuật sửa lỗi dựa trên các mã dung lỗi
thì việc phục hồi được các mảnh dữ liệu có dung
lượng lớn (ví dụ như dung lượng với đơn vị là MB
trở lên) là khá khó khăn. Do đó, tác giả đề xuất giải
pháp tự phục hồi dữ liệu khi một số máy lưu trữ
không tham gia mạng đối với các thông tin, dữ liệu
với dung lượng hạn chế và yêu cầu chất lượng phục
hồi không cần độ tin cậy quá cao như ảnh, nhạc,
phim, ...
Với hệ thống đã đề xuất, ta dễ dàng thu được kết
quả so sánh trong bảng 3 và nhận thấy được tính
mềm dẻo và ưu việt hơn so với các hệ thống đang
được tận dụng hiện nay. Tính thực tiễn thể hiện ở chỗ
là đưa ra được ý tưởng tận dụng tài nguyên dư thừa
của các máy tham gia mạng để lưu trữ phân tán và
khai thác thông tin trên mạng với cơ chế kiểm soát
truy cập.
Vấn đề tiếp theo của hướng nghiên cứu này là thực
hiện xây dựng một hệ thống hoàn chỉnh và thực tiễn
để áp dụng kết quả nghiên cứu trong thực tế.
TÀI LIỆU THAM KHẢO
[1]. Gnutella,
[2]. I. Clarke, A Distributed Anonymous Information
Storage and Retrival System ,Proc. ICSI Workshop on
Design Issues in Anonymity and Unobservability, June
2000
[3]. Wikipedia,
[4]. B. Callaghan, (1999), NFS Illustrated, Addition– Wesley
Profesonal.
[5]. T.Lee, J.G.Davies, (2000), Microsoft Window 2000 TCP/IP
Protocols and Services Technical Reference, Microsoft
Press.
J.T’s, R.Eckstein, D.Collier Brown, (2003), Using Samba,
Second Edition, O’Reilly.
SUMMARY
AN APPROACH OF PEER-TO-PEER SYSTEM BASED
ON DISTRIBUTED DATA STORAGES AND CONTROL ACCESS
Ta Minh Thanh1, Nguyen Hieu Minh1, Do Thi Bac2
1Institute of Military Technology,
2 College of Information and Communication Technology-TNU
Netwook sharing systems are now commonly in client-server model. Therefore, the data retrievals of this model
depend mostly on the network operating system or on sharing server but are not uniform on many OS versions. In
addition, the dramatic development of a sharing Peer-to-Peer network model without regarding user management
and data retrieval leads to some problems in freedom of access to resources and copyright infringement of
products. On that basis, the article proposed a new resource-sharing system based on distributed storage system
incoperated with user management to solve the problems of the current sharing systems.
Key words: client-server, resource sharing system, Peer-to-Peer, distributed storage, access control.
Tel:
Các file đính kèm theo tài liệu này:
- brief_32690_36519_1682012164940dexuatxaydung_5542_2052709.pdf