Tạo cache bản đồ trong GISSERVER

Gửi bởi edic  |  14 Tháng Mười Hai 2017 3:21:56 SA  | 

Hiện nay trên thế giới có rất nhiều phương pháp để tạo cache bản đồ làm cho hiệu năng khi sử dụng nhanh hơn, nhiều người truy cập cùng lúc vẫn đảm bảo hệ thống hoạt động ổn định. Với các hệ thống lớn việc tạo dữ liệu cache là bắt buộc và gisserver cũng vậy. Tuy nhiên mỗi nhà phát triển sẽ có cách làm khác nhau sao cho hiệu quả nhất.

Lập bản đồ lưu trữ (tạo cache) là một cách rất hiệu quả để làm cho các dịch vụ bản đồ và hình ảnh của bạn chạy nhanh hơn. Khi bạn tạo một bản đồ bộ nhớ cache, máy chủ vẽ toàn bộ bản đồ ở một số quy mô khác nhau và lưu bản sao của các hình ảnh bản đồ. Máy chủ sau đó có thể phân phối những hình ảnh này bất cứ khi nào ai đó yêu cầu một bản đồ. Nó nhanh hơn rất nhiều đối với máy chủ để trả về hình ảnh lưu trữ trong cache so với việc vẽ bản đồ mỗi lần ai đó yêu cầu. Một lợi ích khác của bộ nhớ đệm là số lượng chi tiết trong ảnh không ảnh hưởng đáng kể đến tốc độ máy chủ có thể phân phối bản sao.

Phương pháp tạo cache bản đồ

Đối với GISSERVER, một hệ thống có rất nhiều chuyên đề và các chuyên đề ở các vùng, quy mô khác nhau trên toàn thế giới nên việc tạo cache là cực kỳ quan trọng.

Có 3 cách tạo cache chính:

Tùy từng trường hợp cụ thể hệ thống sẽ tạo cache bản đồ

* Tạo cache khi có yêu cầu về bản đồ của người sử dụng đầu tiên:

- Khi người dùng yêu cầu xem một bản đồ bất kỳ, tất cả dữ liệu đang hiển thị sẽ được hệ thống tạo ra (vẽ bản đồ tại thời điểm đó) đồng thời lưu vào trong bộ nhớ (tạo cache) đối với lần đầu tiên xem. Những lượt xem sau sẽ hiển thị dữ liệu cache đã có.

- Với phương pháp này thì ưu điểm là không cần tạo cache của chuyên đề ngay từ đầu mà dùng đến đâu thì tạo cache đến đó nhưng tại thời điểm đó tốc độ xử lý sẽ bị chậm một chút.

* Tạo cache theo level:

- Phương pháp này sẽ do người quản trị được phân quyền thực hiện. Khi chọn một chuyên đề trong một vùng (bound) định trước cùng với level hiển thị, hệ thống sẽ tạo ra toàn bộ cache cho level đó. Người sử dụng khi xem chuyên đề sẽ được hiện thị dữ liệu cache đã tạo một cách nhanh chóng.

* Tạo cache có lựa chọn:

- Đây là phương pháp tạo cache trực quan nhất trên gisserver và được sử dụng chính. Sau khi đúc kết, học hỏi cách làm từ các hệ thống khác, đặc biệt là các ứng dụng mở (opensource) như: tilecache, mapproxy, ... chúng tôi tạo ra cách làm khác giúp bất cứ người sử dụng được phân quyền đều có thể làm được và tối ưu tốc độ cũng như băng thông trên hệ thống.

- Người sử dụng được phân quyền sẽ vẽ một vùng cần cache trên bản đồ đang chọn cùng với level tương ứng. Hệ thống sẽ tạo ra một bảng chắp cache. Nếu vùng nào không cần cache thì có thể xóa đi, chỉ cache đúng vùng cần mà thôi. 

- Sau khi đã phân vùng (chia lưới) hệ thống sẽ thực hiện cache dữ liệu bản đồ theo tiêu chuẩn (256px x 256px). Ước tính mỗi vùng cache sẽ có khoảng từ 1 đến tối đa 500 ảnh tùy theo level của dữ liệu chuyên đề để đảm bảo tốc độ thực thi nhiệm vụ trên máy chủ gis.

- Với cách làm này sẽ đảm bảo hệ thống hoạt động ổn định, tiết kiệm tài nguyên và cực kỳ dễ dàng, thuận lợi. Đồng thời giúp người quản trị kiểm soát được toàn bộ quá trình làm việc, có thể biết được chính xác nhất hệ thống đang làm gì và làm đến đâu.


Tạo cache ở vùng 13

+ Vùng mầu đỏ: đã được tạo cache

+ Vùng mầu xanh lá: Đang tạo cache

+ Vùng mầu xanh dương: đang chờ tới lượt

"nMinh dịch theo ​http://tilecache.org/"

3268cachebando.jpeg