Đề 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
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.
Bạn đang xem 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 gốc về máy hãy click vào nút Download ở trên
Tóm tắt 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ạ 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:
File đính kèm:
- de_xuat_xay_dung_he_thong_chia_se_tai_nguyen_dua_tren_he_luu.pdf