Nghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy vănNghiên cứu các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy văn
Trang 1Nguyễn Văn Khoa
NGHIÊN CỨU CÁC KỸ THUẬT NÂNG CAO HIỆU QUẢ ĐỒNG BỘ DỮ LIỆU KHÍ TƯỢNG THỦY VĂN
Chuyên ngành: Hệ thống thông tin
Mã số: 8.48.01.04
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2018
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS HOÀNG XUÂN DẬU
(Ghi rõ học hàm, học vị)
Phản biện 1: ……… Phản biện 2: ………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Thông tin dữ liệu khí tượng thủy văn (KTTV), đặc biệt là thông tin
dự báo thời tiết, từ lâu đã đóng vai trò hết sức quan trọng trong sự nghiệp phát triển kinh tế - xã hội của đất nước cũng như trong đời sống của nhân dân Cùng với sự phát triển như vũ bão của khoa học và công nghệ, thông tin dữ liệu KTTV ngày càng được nâng cấp cả về số lượng và chất lượng Các dữ liệu KTTV được thu thập từ các trạm đo đặt ở các vùng trong cả nước và các dữ liệu quan trắc qua vệ tinh được chuyển lên Trung tâm Khí tượng thủy văn quốc gia xử lý để đưa ra các bản tin dự báo Các bản tin dự báo khí tượng thủy văn và một số dữ liệu vệ tinh lại được chuyển xuống các đài khí tượng thủy văn ở các tỉnh thành và các cơ quan truyền thông phục vụ thông tin đến các đơn vị có liên quan và người dân Yêu cầu của việc thu thập, xử lý, lưu trữ, truyền phát, trao đổi dữ liệu KTTV là phải được diễn ra nhanh chóng, đầy đủ, kịp thời để có thể đảm bảo phục vụ hiệu quả công tác điều hành chỉ đạo, điều hành, cũng như cung cấp dữ liệu cho dự báo KTTV, phục vụ phòng tránh thiên tai của các cơ quan, đơn vị
và người dân
Hiện tại, hệ thống mạng tại Trung tâm Khí tượng thủy văn quốc gia
đã hỗ trợ tính năng trao đổi, đồng bộ dữ liệu 2 chiều từ giữa Trung tâm Thông tin và dữ liệu KTTV và các đài KTTV địa phương, cho phép chuyển dữ liệu từ các trạm đo địa phương về trung tâm và chuyển các bản tin dự báo khí tượng thủy văn và một số dữ liệu vệ tinh xuống các đài khí tượng thủy văn địa phương Tuy nhiên, do tính năng trao đổi, đồng bộ dữ liệu hiện có sử dụng lập trình socket để chuyển tất cả các loại dữ liệu theo
2 chiều nên hiệu quả không cao, đặc biệt hay xảy ra lỗi trong khi truyền các dữ liệu ảnh vệ tinh có kích thước lớn Hơn nữa, tính năng trao đổi, đồng bộ dữ liệu hiện có không hỗ trợ việc chuyển nhanh các bản tin có độ
ưu tiên cao, như các bản tin cảnh báo thiên tai, nên chưa thực sự đáp ứng được yêu cầu quản lý, điều hành Như vậy, việc nghiên cứu giải pháp nâng
Trang 4cao hiệu quả của hệ thống trao đổi, đồng bộ dữ liệu KTTV là yêu cầu cấp thiết, nhằm đáp ứng yêu cầu trao đổi dữ liệu kịp thời, đầy đủ, đáp ứng tốt hơn yêu cầu quản lý, điều hành của Trung tâm Khí tượng thủy văn quốc gia
Dựa trên phân tích nêu trên, học viên lựa chọn đề tài "Nghiên cứu
các kỹ thuật nâng cao hiệu quả đồng bộ dữ liệu khí tượng thủy văn"
Bố cục của luận văn gồm phần mở đầu và 3 chương nội dung, cụ thể là:
- Chương 1: Tổng quan về hệ thống đồng bộ dữ liệu
Trình bày tổng quan về hệ thống đồng bộ dữ liệu, các thành phần, các yêu cầu của hệ thống đồng bộ và các kỹ thuật đồng bộ dữ liệu
- Chương 2: Hàng đợi có ưu tiên và đồng bộ file dữ liệu
Giới thiệu một cách khái quát về hàng đợi có ưu tiên và các giải thuật
xử lí hàng đợi ưu tiên Chương cũng giới thiệu về đồng bộ file dữ liệu và các kỹ thuật đồng bộ file dữ liệu như đồng bộ file bằng giao thức socket, đồng bộ file bằng giao thức FTP
- Chương 3: Xây dựng mô hình đồng bộ dữ liệu có ưu tiên và ứng
dụng trong hệ thống đồng bộ dữ liệu tại trung tâm Thông tin và dữ liệu khí tượng thủy văn
Chương ba của luận văn sẽ đề cập về việc áp dụng hàng đợi ưu tiên
và truyền file dữ liệu lớn trong việc xây dựng mô hình đồng bộ file có mức
ưu tiên và đồng bộ file dữ liệu lớn và thử nghiệm phần mềm tại Trung tâm thông tin và dữ liệu khí tượng thủy văn
Trang 5Chương 1: TỔNG QUAN VỀ HỆ THỐNG
ĐỒNG BỘ DỮ LIỆU 1.1 Khái quát về hệ thống đồng bộ dữ liệu
1.1.1 Giới thiệu
Ngày nay với sự bùng nổ mạnh mẽ của công nghệ thông tin và truyền thông đã làm cho xóa bỏ rào cản về khoảng cách địa lý giữa các máy tính trong hệ thống mạng muốn chia sẻ và trao đổi dữ liệu với nhau và việc chia sẻ dữ liệu qua hệ thống mạng ngày càng nhanh và ổn định và toàn vẹn
dữ liệu Hệ thống đồng bộ dữ liệu là hệ thống có quá trình trao đổi và đồng
bộ hóa thông tin giữa hai nguồn dữ liệu theo thời gian
Trước đây ở Trung tâm thông tin và dữ liệu KTTV có các nguồn dữ liệu phân tán ở khắp các nơi trên toàn lãnh thổ Việt Nam do đó quá trình thu nhận dữ liệu từ các nguồn về trung tâm là rất khó khăn khi chưa có hệ thống mạng Internet rộng khắp Ngược lại, dữ liệu từ trung tâm muốn gửi
về các địa phương trên toàn lãnh thổ cũng gặp khó khăn như vậy do vị trí địa lý xa xôi Tuy nhiên, nhờ có sự phát triển của công nghệ thông tin, viễn thông và đặc biệt là mạng Internet, việc trao đổi đồng bộ dữ liệu giữa trung tâm và địa phương được thực hiện dễ dàng hơn
- Thiết bị nguồn chứa dữ liệu:
Gồm điện thoại di động, máy tính bảng, máy tính cá nhân, máy chủ, điện toán đám mây Đây là các thiết bị chứa dữ liệu nguồn cần đồng bộ
- Thiết bị đích chứa dữ liệu:
Gồm điện thoại di động, máy tính bảng, máy tính cá nhân, máy chủ, điện toán đám mây .Đây là các thiết bị đích chứa dữ liệu đồng bộ
Trang 6- Hệ thống mạng kết nối các thiết bị:
Hệ thống mạng gồm mạng LAN, MAN, WAN, mạng internet là cầu nối giữa các thiết bị cần đồng bộ dữ liệu
1.1.3 Các yêu cầu
Các yêu cầu đối với hệ thống đồng bộ dữ liệu gồm:
- Tốc độ đồng bộ: Đảm bảo đồng bộ với tốc độ cao, tận dụng tối đa băng thông có sẵn
- Đảm bảo chất lượng đồng bộ: Các thông điệp, file dữ liệu được đồng
bộ đầy đủ, có hỗ trợ cơ chế kiểm tra tính toàn vẹn dữ liệu
- Khả năng chịu lỗi: Có khả năng tự phục hồi, khởi động lại, truyền lại thông điệp, file dữ liệu mỗi khi có lỗi hệ thống, hoặc lỗi đường truyền
- Khả năng mở rộng: Hệ thống phải dễ mở rộng để đáp ứng nhu cầu tăng dung lượng dữ liệu đồng bộ
1.2 Các kỹ thuật đồng bộ dữ liệu
1.2.1 Đồng bộ dữ liệu theo mạng khách chủ
Mạng khách chủ (Client/Server network) là mạng mà trong đó có một số máy chủ (Server) đóng vai trò cung ứng dịch vụ theo yêu cầu của các máy khách (Client) Các máy khách trong mô hình là nơi gửi các yêu cầu xử lý về máy chủ Máy chủ xử lý và gửi kết quả về máy khách Máy khách có thể tiếp tục xử lý các kết quả này để phục vụ cho công việc Đồng bộ dữ liệu theo mạng khách chủ có nghĩa là đồng bộ hóa dữ liệu từ máy chủ chuyển tới máy khách và ngược lại
1.2.2 Đồng bộ dữ liệu theo mạng ngang hàng
Mạng ngang hàng (Peer to peer network - P2P), còn gọi là mạng đồng đẳng, là một mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạng
Trang 7thông thường Mạng đồng đẳng có nhiều ứng dụng Ứng dụng thường gặp nhất là chia sẻ tệp tin, tất cả các dạng như âm thanh, hình ảnh, dữ liệu,
1.2.3 Đồng bộ dữ liệu dựa trên đám mây
Các dịch vụ lưu trữ và đồng bộ dữ liệu liệu dựa trên nền điện toán đám mây hiện nay được cung cấp khá phổ biến, như Google Drive, Dropbox, onedrive… Các dịch vụ này được đầu tư qui mô và bài bản bởi các tập đoàn lớn như Google, Microsoft… với hệ thống chuỗi máy chủ có công suất lớn Đa số các hệ thống này đều có nguyên lý hoạt động tương
tự nhau, dưới đây mô tả hệ thống Dropbox - một trong những dịch vụ lưu trữ đồng bộ dữ liệu dựa trên nền điện toán đám mây được sử dụng rộng rãi
Hình 0.1: Mô hình hoạt động của Dropbox
Dropbox cho phép người dùng tạo một thư mục đặc biệt trên máy tính khác nhau và khi người dùng đặt tập tin dữ liệu vào trong thư mục Dropbox trên một máy tính nào đó thì gần như ngay lập tức, chúng sẽ xuất hiện trên bất kì các thiết bị khác mà đã được cài sẵn phần mềm và tài khoản Dropbox của người dùng Khả năng hỗ trợ nhiều client của Dropbox
là rất tốt, chỉ cần có thiết bị có kết nối internet và tài khoản Dropbox là có thể truy cập được nguồn dữ liệu
Trang 8Chương 2: HÀNG ĐỢI CÓ ƯU TIÊN VÀ
ĐỒNG BỘ FILE DỮ LIỆU
2.1 Hàng đợi có ưu tiên
2.1.1 Khái quát về hàng đợi và hàng đợi có ưu tiên
2.1.1.1.Khái niệm xếp hàng[3]:
Mô hình tổng quát của lý thuyết xếp hàng là khách hàng đến ở một thời điểm ngẫu nhiên nào đó và yêu cầu được phục vụ theo một loại nào
đó Giả thiết thời gian phục vụ có thể là ngẫu nhiên
Hình 0.1: Mô hình tổng quát của lý thuyết xếp hàng
2.1.1.2.Các yếu tố cơ bản của hệ thống hàng đợi [3]
Hệ thống hàng đợi tổng quát được minh hoạ như Hình 2.2
Hình 0.2: Hàng đợi tổng quát
Các yếu tố cơ bản của hệ thống hàng đợi bao gồm:
Bố trí vật lí của hệ thống
Hệ thống hàng đợi có một số dạng bố trí vật lí (phisical layout) như
minh họa trên Hình 2.3
Trang 9Hình 0.3: Các dạng hệ thống hàng đợi
Các kênh phục vụ được hiểu là những thiết bị kĩ thuật hoặc con người hoặc những tổ hợp các thiết bị kĩ thuật và con người được tổ chức quản lí một cách thích hợp nhằm phục vụ các yêu cầu các tín hiệu đến hệ thống Chẳng hạn, ở các trạm điện thoại tự động, kênh phục vụ là các đường dây liên lạc cùng các thiết bị kĩ thuật khác phục vụ cho việc đàm thoại
Nguyên tắc phục vụ
Nguyên tắc phục vụ của hệ thống là cách thức nhận các yêu cầu vào các kênh phục vụ Nguyên tắc phục vụ cho biết trường hợp nào thì yêu cầu được nhận vào phục vụ và cách thức phân bố các yêu cầu vào các kênh như thế nào Đồng thời nguyên tắc phục vụ cũng cho biết trong trường hợp nào yêu cầu bị từ chối hoặc phải chờ và giới hạn của thời gian chờ
Một số nguyên tắc phục vụ thường được áp dụng trong các hệ thống
hàng đợi là FIFO(First in first out), LIFO(Last in first out), FCFS(First come first serve), có ưu tiên, không ưu tiên,
2.1.1.3 Hàng đợi có ưu tiên Priority Queueing [4]:
a Khái niệm hàng đợi có ưu tiên
Hàng đợi ưu tiên là một kiểu dữ liệu trừu tượng tập hợp đặc biệt, trong đó mỗi phần tử có một độ ưu tiên nào đó Độ ưu tiên của phần tử
Trang 10thường là một số, theo đó, phần tử có độ ưu tiên nhỏ nhất sẽ được „ưu tiên‟ nhất Một cách tổng quát thì độ ưu tiên của một phần tử là một phần tử thuộc tập hợp được xếp theo thứ tự tuyến tính Ví dụ tại bệnh viện, các bệnh nhân xếp hàng để chờ phục vụ nhưng không phải người đến trước thì được phục vụ trước mà họ có độ ưu tiên theo tình trạng khẩn cấp của bệnh
Hình 0.4: Mô tả cách lấy gói tin của hàng đợi ưu tiên
Tính năng đặc biệt của Priority Queueing là ở bộ lập lịch Priority Queueing lập lịch lưu lượng đảm bảo các phần tử được ưu tiên luôn được phục vụ trước Các mức ưu tiên thường sử dụng gồm: cao, trung bình, bình thường, và thấp Nếu hàng đợi ưu tiên cao luôn có một gói đang chờ,
bộ lập lịch luôn luôn lấy các gói trong hàng đợi ưu tiên cao Nếu hàng đợi
ưu tiên cao không có gói nào đang chờ nhưng có trong hàng đợi ưu tiên trung bình, một gói trong hàng đợi này sẽ được lấy và tiến trình cứ như thế tiếp tục
Bộ lập lịch Priority Queueing có một số thuận lợi và hạn chế Các gói trong hàng đợi ưu tiên cao có thể đạt 100% băng thông liên kết, với độ trì hoãn nhỏ và độ biến động trễ nhỏ Thật ra, khi nghẽn mạch, các gói trong hàng đợi ưu tiên thấp tốn nhiều thời gian phục vụ Khi liên kết tắc nghẽn, các ứng dụng người dùng có thể ngừng làm việc nếu các gói đặt trong hàng đợi ưu tiên thấp
Trang 112.1.1.4 Các thuật toán lập lịch cho hàng đợi
a First Come First Served (FCFS)
Trong thuật toán này, độ ưu tiên phục vụ tiến trình căn cứ vào thời điểm hình thành tiến trình Hàng đợi các tiến trình được tổ chức theo kiểu FIFO Mọi tiến trình đều được phục vụ theo trình tự xuất hiện cho đến khi kết thúc hoặc bị ngắt
b Round robin
Giải thuật định thời luân phiên (round-robin scheduling RR) được thiết kế đặc biệt cho hệ thống chia sẻ thời gian Để cài đặt định thời RR, chúng ta quản lý hàng đợi sẵn sàng như một hàng đợi FIFO của các quá trình Các quá trình mới được thêm vào đuôi hàng đợi Hệ thống chọn quá trình đầu tiên từ hàng đợi sẵn sàng, đặt bộ đếm thời gian để ngắt sau 1 định mức thời gian và gửi tới quá trình
algorithm-c Shortest Remain Time
Trong thuật toán này, độ ưu tiên thực hiện các tiến trình dựa vào thời gian cần thiết để thực hiện nốt tiến trình (bằng tổng thời gian trừ đi thời gian đã thực hiện) Như vậy, trong thuật toán này cần phải thường xuyên cập nhật thông tin về giời gian đã thực hiện của tiến trình Đồng thời, chế
độ phân bổ cũng phải được áp dụng nếu không sẽ làm mất tính ưu việc của thuật toán
2.1.2 Các giải thuật xử lý hàng đợi có ưu tiên
2.1.2.1 Sử dụng danh sách liên kết
2.1.2.2 Sử dụng cây có thứ tự từng phần
2.1.2.3 Sử dụng đống
Tạo hàng đợi ưu tiên bằng đống:
HeapSort là một giải thuật dựa vào cấu trúc đống và để sắp xếp theo thứ tự giảm dần của các giá trị khoá là số
Giải thuật Heapsort trải qua 2 giai đoạn :
Giai đoạn 1 : Hiệu chỉnh dãy số ban đầu thành heap;
Trang 12Giai đoạn 2: Sắp xếp dãy số dựa trên heap
Độ phức tạp của thuật toán này là O(nlogn), với n >0
2.1.3 Ứng dụng của hàng đợi có ưu tiên:
Một số ứng dụng của hàng đợi ưu tiên nói chung và cấu trúc heap nói riêng đó là:
– Heapsort: Một trong những phương pháp sắp xếp tại chỗ tốt nhất dựa vào tiêu chí sắp xếp mảng theo chiều “ưu tiên” của Heap, ta áp dụng
nó để sắp xếp mảng theo chiều “tăng hoặc giảm dần” cho thuật toán Heapsort
– Thuật toán lựa chọn: có thể sử dụng đống để tìm phần tử lớn nhất, nhỏ nhất, trung vị, phần tử lớn thứ k, trong thời gian tuyến tính
– Thuật toán cho đồ thị: nhiều thuật toán cho đồ thị sử dụng cấu trúc
dữ liệu đống chẳng hạn như thuật toán Dijkstra, hay thuật toán Prim
- Ứng dụng cấu trúc đống trong việc xử lí và sắp xếp lại hàng đợi ưu tiên
Khái niệm file: File là đơn vị cơ bản để lưu trữ thông tin trên bộ nhớ
ngoài, bộ nhớ ngoài là bộ nhớ CPU không đánh địa chỉ trực tiếp được
Khái niệm hệ thống file:
Trang 13Hệ thống file (File System) là một phương pháp tổ chức lưu trữ các
file và dữ liệu của chúng, thường được thực hiện bởi hệ điều hành Hệ thống file cho phép người sử dụng dễ dàng tìm kiếm và truy nhập các file Các máy tính lưu trữ thông tin trên nhiều phương tiện lưu trữ khác nhau, như đĩa từ, băng từ, đĩa quang Để hệ thống máy tính tiện dụng, hệ điều hành cung cấp một phương tiện luận lý không đổi của việc lưu trữ thông tin Hệ điều hành trừu tượng hóa các thành phần vật lý của các thiết bị lưu trữ thành các đơn vị lưu trữ luận lý là tập tin (File) Mỗi hệ điều hành đều
có phương pháp quản lý tổ chức và lưu trữ các file riêng và được gọi là hệ thống file
2.2.1 Khái quát về đồng bộ file dữ liệu
Đồng bộ file trên máy tính là quá trình xử lí đảm bảo file được sao chép và cập nhật giữa các máy tính được kết nối với nhau qua hệ thống mạng theo nguyên tắc từ nguồn tới đích hoặc ngược lại
Đồng bộ file một chiều là quá trình sao chép file từ vị trí nguồn đến một hoặc nhiều vị trí đích, nhưng các file không được cập nhật ngược lại
từ đính đến nguồn Đồng bộ file hai chiều là quá trình sao chép file từ vị trí nguồn đến vị trí đích và ngược lại để đảm bảo file được cập nhật liên tục duy nhất tại nhiều vị trí khác nhau
Đồng bộ file thường được dùng để lưu trữ dữ liệu, tạo cho việc chia
sẻ dữ liệu được dễ dàng phục vụ nhiều trong công việc trong đời sống như chia sẻ cập nhật dữ liệu video của phóng viên cho tòa soạn báo nhanh kịp thời, hay cập nhật và thu thập dữ liệu từ các hệ thống trạm quan trắc khí tượng thủy văn tự động…
2.2.2 Các kỹ thuật đồng bộ file dữ liệu
2.2.2.1 Đồng bộ sử dụng socket
Đồng bộ file dựa trên socket là sử dụng kết nối qua các socket để truyền dữ liệu của file cần đồng bộ Khi kết nối giữa các socket được thiết lập, các bên tham gia truyền thông có thể sử dụng kết nối socket để để trao