Lƣu trữ trong các tập tin riêng biệt

Một phần của tài liệu NGHIÊN CỨU XÂY DỰNG THỬ NGHIỆM GIẢI PHÁP LƢU TRỮ BẢN ĐỒ TRỰC TUYẾN DẠNG TILED (Trang 37)

Một phƣơng pháp đơn giản để lƣu trữ các ảnh tiled là lƣu trữ các ảnh tiled trong các tập tin riêng biệt trên trên tập tin hệ thống của máy tính. Các ảnh tiled này thƣờng có định dạng JPEG hay PNG. Các thƣ mục trên hệ thống có thể đƣợc sử dụng để cung cấp cấu trúc và tổ chức cho các ảnh dạng tiled. Chúng ta có thể sử dụng một thƣ mục cấp cao nhất cho các lớp, các thƣ mục con ở trong các lớp thƣ mục với mỗi cấp độ, và sau đó các thƣ mục con nằm trong các cấp độ thƣ mục ứng với mỗi cột. Trong mỗi thƣ mục cột là các ảnh dạng tiled cho mỗi hàng trong cột đó.

Hình 2.1: Tổ chức thư mục lưu trữ hình ảnh tiled.

Đây là phƣơng pháp tổ chức đơn giản, dễ hiểu, và dễ dàng cài đặt. Các tiled có thể đƣợc giải quyết trực tiếp bằng cách đơn giản là tạo tập tin và mở tập tin. Ví dụ, nhƣ hình

28

trên chúng ta mốn lƣu trữ một ảnh tiled ở level 2 và ở vị trí cột 3 và hàng 1 chúng ta sẽ tạo ra thƣ mục “layer/level2/colum3” và ghi vào đó ảnh tiled với tên mong muốn cho tiled đó là “2-3-1.jpg”. Với phƣơng pháp này chúng ta chỉ cần có một chỉ số riêng biệt cho mỗi tiled, từ mỗi chỉ số của tiled đó chúng ta có thể dễ dàng tìm đƣợc vị trí của tiled trong tổ chức. Một lợi ích nữa của phƣơng pháp này là có thể thay thế các tiled mà ít ảnh hƣởng tới hệ thống. Hơn nữa, việc xây dựng một hệ thống web để lƣu trữ các ảnh tiled là khá dễ dàng. Hầu hết các hệ thống máy chủ HTTP đều có thể dùng đƣợc. Các mày chủ HTTP với cấu hình tối thiểu chỉ cần lấy ra các hình ảnh trức tiếp từ hệ thống và gửi cho client để hiển thị nó.

Tuy nhiên, có một vài bất lợi về việc lƣu trữ tiled với phƣơng pháp này:

- Khi số lƣợng ảnh quá lớn, hệ thống lƣu trữ của hệ điều hành sẽ nhanh chóng bị thiếu inode (nếu sử dụng linux) hoặc các phần tử của bảng cấp phát tệp (nếu sử dụng hệ điều hành Windows), dẫn đến hiệu năng đọc/ghi của hệ thống lƣu trữ giảm đi. Điều này rất ảnh ƣởng đến hệ thống khi cần đọc/ghi liên tục.[1]

- Do số lƣợng ảnh lơn nhƣng kích cỡ của mỗi ảnh tiled nhỏ, lƣu trữ theo từng tệp riêng biệt sẽ làm tăng phân mảnh trong của hệ thống; do đó làm lãng phí dung lƣợng lƣu trữ.

-Với số lƣợng ảnh tiled lớn việc đọc ghi nhiều lần các tập tin, bộ nhớ cache sẽ không lƣu giữ đƣợc các thông tin cần thiết và truy cập sẽ mất nhiều thời gian. Thêm vào đó , rất nhiều tập tin hệ thống không tồn tại tên chỉ mục. Tìm kiếm tập tin đòi hỏi tìm kiếm tuyến tính với một thƣ mục cụ thể. Đó là một vấn đề cụ thể của cấu trúc thƣ mục cột trong đó có thể chứa thới hàng nghìn bức ảnh.

Ví dụ, một 10.000 byte tập tin sẽ tiêu thụ ba khối của đĩa cứng, và tổng cộng của 12288 byte. Các dữ liệu bị lãng phí trung bình cho mỗi tập tin là một nửa kích thƣớc khối. Nếu trung bình kích thƣớc của một tập tin hình ảnh lát tiled là 50.000 byte, sau đó các không gian lãng phí trung bình là 2048 byte. Vì vậy, chúng tôi đang lãng phí khoảng 4% không gian lƣu trữ của chúng tôi với phƣơng pháp này. 4% sẽ là một giá nhỏ để trả tiền trong không gian lƣu trữ nếu phƣơng pháp này mang lại đáng kể cải tiến hiệu suất. Tuy nhiên, khi phƣơng pháp này có thể sẽ mang lại sự giảm sút hiệu suất đáng kể.

- Trong nhiều trƣờng hợp tiled phải lấy từ các nguồn khác . Trong những trƣờng hợp bản sao của tiled phải đƣợc tạo ra. Để tạo ra một bản sao của tiled với phƣơng pháp lƣu

29

trữ này cần phải truy cập đến tập tin riêng biệt và ghi tập tin cho mỗi tiled. Quá trình này có thể chằng khác gì so với mình tạo tiled từ đầu.

Một phần của tài liệu NGHIÊN CỨU XÂY DỰNG THỬ NGHIỆM GIẢI PHÁP LƢU TRỮ BẢN ĐỒ TRỰC TUYẾN DẠNG TILED (Trang 37)

Tải bản đầy đủ (PDF)

(58 trang)