Nghiên cứu mô hình giám sát thảm họa và môi trường bờ biển việt nam - Pdf 38

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

THUYẾT MINH
ĐỀ TÀI NCKH CẤP TRƯỜNG
ĐỀ TÀI

Nghiên cứu mô hình giám sát thảm họa
và môi trường bờ biển Việt Nam

Chủ nhiệm đề tài: TS. Trần Đăng Hoan

Hải Phòng, tháng 15 /05/2015



Mục lục
Mở đầu

i

1 Mô hình tích hợp giám sát môi trường bờ biển

1

1.1

Hệ thống giám sát tích hợp . . . . . . . . . . . . . . . . . . . . . .

1


1.3

Các kiểu giám sát . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.3.1

Các báo cáo . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

Một số ứng dụng điển hình . . . . . . . . . . . . . . . . . . . . . . .

6

1.4.1

Nghiên cứu Acid hóa đại dương . . . . . . . . . . . . . . . .

6

1.4.2

Mạng cảm biến nhằm ứng phó với tẩy trắng san hô ở đảo

1.4

Racha Yai, Thái Lan . . . . . . . . . . . . . . . . . . . . . .

2.2

10

DataTurbine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.1.1

Kiến trúc của DataTurbine . . . . . . . . . . . . . . . . . . .

11

2.1.2

Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.1.3

Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.1.4

Sink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.2.1

Các kiểu đối tượng trong SAPI . . . . . . . . . . . . . . . .

17

3.2.2

ChannelMap . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

Kiểu dữ liệu của kênh . . . . . . . . . . . . . . . . . . . . .

19

Các phương thức của ChannelMap . . . . . . . . . . . . . .

19

3.2.3

Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.2.4

Source Client . . . . . . . . . . . . . . . . . . . . . . . . . .


1.1

Các bước có liên quan đến khai phá dữ liệu, lưu trữ và truy nhập,
bắt đầu từ tiếp nhận dữ liệu thô và kết thúc bằng việc công bố dữ
liệu và các sản phẩm, trong vòng đời của dữ liệu được tiếp nhận từ
một chương trình giám sát . . . . . . . . . . . . . . . . . . . . . . .

2

1.2

Một kiến trúc hệ thống cho các hệ thống giám sát môi trường . . .

8

2.1

Kiến trúc của DataTurbine

3.1

Tải dữ liệu vào RBNB server

. . . . . . . . . . . . . . . . . . . . . .

11

. . . . . . . . . . . . . . . . . . . . .

25


. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

3.7

Kênh ánh sáng . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

3.8

Kênh độ ẩm

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.9

Kênh điện thế

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

3



nhà khoa học hoạt động trong lĩnh vực Công nghệ Thông tin, chúng tôi muốn đề
xuất một mô hình hạ tầng về công nghệ thông tin như là một phần của mô hình
của hệ thống giám sát bờ biển Việt Nam.
Chúng tôi đề xuất ra một mô hình giám sát thảm họa và môi trường dọc bờ
biển Việt Nam, trong đó mục tiêu đưa ra giải pháp về hạ tầng công nghệ thông tin
như là một phần của hệ thống giám sát thảm họa và môi trường bờ biển. Trong đề
tài này, chúng tôi sẽ giới thiệu một ứng dụng mã nguồn mở có tên là DataTurbine.
Báo cáo kỹ thuật bao gồm ba chương:
• Chương 1 - Giới thiệu tóm lược mô hình giám sát tích hợp và kiến trúc giám
sát thời gian thực. Giới thiệu thách thức của việc giám sát dữ liệu từ xa.
• Chương 2 - Cài đặt và cấu hình DataTurbine: Chương này sẽ trình bày về các
yêu cầu để cài đặt DataTurbine lên hệ thống, quá trình cài đặt và triển khai
các thành phần của DataTurbine lên hệ thống.
• Chương 3 - Lập trình cho DataTurbine: Chương này tập trung trình bày về việc
i


MỞ ĐẦU

ii

lập trình cho DataTurbine sử dụng SAPI (Simple Application Programming
Interface). Trong chương sẽ có các ví dụ đơn giản để minh họa về các bước
đưa dữ liệu vào server và lấy dữ liệu từ server. Chương này cũng giới thiệu
một số kết quả thử nghiệm với lập trình cho DataTurbine.
Mặc dù chúng tôi đã rất nỗ lực để hoàn thành đề tài với chất lượng tốt nhất có
thể nhưng trong quá trình thực hiện đề tài vẫn khó tránh khỏi những sai sót. Vì
vậy, chúng tôi rất mong nhận được những ý kiến đóng góp của các đồng nghiệp để
đề tài hoàn thiện hơn.




CHƯƠNG 1. MÔ HÌNH TÍCH HỢP GIÁM SÁT MÔI TRƯỜNG BỜ BIỂN

2

Hình 1.1: Các bước có liên quan đến khai phá dữ liệu, lưu trữ và truy nhập, bắt đầu từ tiếp nhận dữ
liệu thô và kết thúc bằng việc công bố dữ liệu và các sản phẩm, trong vòng đời của dữ liệu được tiếp
nhận từ một chương trình giám sát


CHƯƠNG 1. MÔ HÌNH TÍCH HỢP GIÁM SÁT MÔI TRƯỜNG BỜ BIỂN

1.1.2

3

Quản trị dữ liệu

Quản trị dữ liệu là một chức năng căn bản của hệ thống giám sát dữ liệu bởi vì
nó cung cấp hạ tầng, các tiến trình, và các chuẩn cần thiết cho phép lưu trữ, khai
phá, và truy nhập dữ liệu được tạo ra từ các chương trình giám sát đã được lựa
chọn và các chương trình có liên quan khác. Quản trị dữ liệu có tính chất căn bản
đối với luồng dữ liệu phù hợp với mục đích sử dụng đúng lúc và tin cậy từ các thiết
bị thu thập dữ liệu cho các phân tích viên dữ liệu, những báo cáo viên và những
người truyền tin. Một hệ thống quản trị dữ liệu được thiết kế đúng đắn phải là
một đặc trưng trung tâm của một chương trình giám sát tích hợp, vì vòng đời của
dữ liệu sẽ kéo dài trong suốt sự nghiệp của các nhà khoa học. Quản trị dữ liệu cho
các chương trình giám sát thường không nhận được đủ sự quan tâm



4

5. Phát triển các giao thức giám sát
6. Quản trị dữ liệu
7. Phân tích dữ liệu
8. Báo cáo và truyền tin
9. Tổng quát và kiểm tra

1.2

Thách thức của việc thu thập dữ liệu từ xa

Để thu thập dữ liệu trong một khoảng thời gian dài, tại những địa điểm cách xa
hàng trăm dặm (miles) từ trung tâm điều hành. Chúng ta cần thiết lập một loạt
các sensor trên thực địa để liên tục đo nhiệt độ, độ ẩm, và thu thập hình ảnh. Tất
cả các dữ liệu cần được lưu trữ an toàn để sau đó được trích ra và phân tích.
Nhưng việc tiếp nhận và lưu trữ dữ liệu một cách đáng tin cậy khó hơn ta tưởng.
Đôi khi các sensors bị hỏng trên khi thu thập dữ liệu cho một thử nghiệm dài hạn,
và nếu chúng không được truyền qua một mạng LAN, thì các nhà khoa học có thể
không biết được chúng bị hỏng cho tới khi họ tìm kiếm dữ liệu và phát hiện ra
rằng thử nghiệm bị thất bại. Có được dữ liệu đúng lúc và đáng tin cậy từ một vị
trí khác cũng là một thách thức. Một số các nhà nghiên cứu muốn thiết lập thử
nghiệm ở một vị trí ở xa chỉ để đưa ra một cảnh báo khi các điều kiện nào đó là
đúng, chẳng hạn sự hình thành của một cơn bão-vì thế các nhà khoa học chỉ cần
đi tới thực địa khi cần. Dữ liệu không đáng tin cậy có thể phá hỏng toàn bộ các
kế hoạch này. Ngoài ra, nhiều chương trình nghiên cứu cài đặt các sensor từ một
số nhà sản xuất, và thường khó mà tích hợp các phần mềm và phần cứng không
đồng nhất vào cùng một hệ thống. Nếu không có một định dạng thống nhất, có
thể cần mất nhiều thời gian để tổ chức dữ liệu với các chỉ dẫn thích hợp. Để đảm

1.3.1

Các báo cáo

Các thẻ báo cáo sẽ đưa ra thông tin được thông dịch một cách dễ dàng về tình
trạng và các xu thế của khu vực báo cáo. Các thành phần của mot bản báo cáo
hàng năm về tình trạng và xu thế hàng năm của tài nguyên biển và tài nguyên
vùng bờ biển bao gồm:
• Báo cáo khung cảnh- một đặc trưng hóa về tài nguyên/atlas, bao gồm nhưng
không chỉ hạn chế ở thông tin cập nhật nhất về các mặt độ quần thể dọc theo
các vùng bờ biển.
• Sử dụng đất
• Phân loại các vùng nước trên bản đồ



CHƯƠNG 1. MÔ HÌNH TÍCH HỢP GIÁM SÁT MÔI TRƯỜNG BỜ BIỂN

1.4

Một số ứng dụng điển hình

1.4.1

Nghiên cứu Acid hóa đại dương

6

Acid hóa đại dương là kết quả của việc tích tụ các khí gas do hiệu ứng nhà kính-chủ
yếu là do CO2 trong khí quyển. Khi các khí gas tích lũy trong khí quyển, chúng

hệ thống này được thực hiện nhờ sử dụng DataTurbine. Dữ liệu được truyền qua
nhiều server DataTurbine và đưa vào các server dữ liệu nội bộ trong một vài định
dạng sau khi làm sạch với các bài kiểm tra chất lượng dữ liệu kèm theo các thống


CHƯƠNG 1. MÔ HÌNH TÍCH HỢP GIÁM SÁT MÔI TRƯỜNG BỜ BIỂN

7

kê. Kể từ khi bắt đầu triển khai vào đầu năm 2011, hệ thống này đã hoạt động rất
ổn định. Các gián đoạn nếu có chỉ là do việc bảo trì và mất điện. Đảo Racha Yai
có tẩy trắng san hô rộng lớn trong năm 2010 nhưng trong năm 2011 đã không còn
quan sát được hiện tượng này.

1.5

Quản trị dữ liệu hàng hải và những thách
thức

Trước tiên, chúng ta cần phân biệt dữ liệu với thông tin Dữ liệu là các giá trị thô
có thể quan sát được có được từ các hoạt động nghiên cứu và giám sát; các giá trị
này có thể là số (các độ đo nhiệt độ hoặc độ mặn). Thông tin được sử dụng để đề
cập tới dữ liệu mà đã được xử lý hoặc kết quả. Quản trị dữ liệu hàng hải hoặc đại
dương là quá trình nhập, kiểm soát chất lượng, lưu trữ và công bố dữ liệu nghiên
cứu và giám sát được thu thập trong các vùng biển và đại dương. Dữ liệu thường
được phân thành dữ liệu vận hành thời gian thực (dữ liệu được thu thập bởi các
mạng sensor và các nền tảng đó, được truyền bởi vệ tinh và sóng radio) và dữ
liệu lưu trữ/dịch vụ (dữ liệu được thu thập bởi các nhóm nghiên cứu và các dự án
nghiên cứu, bao gồm dữ liệu mô hình hóa, dữ liệu lĩnh vực, dữ liệu thử nghiệm).
Dữ liệu được thu thập tự động trên các tầu nghiên cứu được gọi là dữ liệu bán vận


Kiến trúc hệ thống
Kien truc de xuat

Hình ?? chỉ ra kiến trúc cho các hệ thống giám sát môi trường trong đó DataTurbine
được sử dụng như là một thành phần kiến trúc.

1.6.2

Phần cứng

Chúng tôi lựa chọn một thiết bị di động Android để thu thập dữ liệu, vì nó có
mức tiêu thụ năng lượng thấp và nó có khả năng chạy Java. Chúng tôi sử dụng
các thiết bị di động chạy năng lượng mặt trời và 3G tích hợp để truyền dữ liệu.
Các sensor đo điện thế, nhiệt độ, độ ẩm cho phép chúng ta phân tích trạng thái
của thiết bị. SensorPod: SensorPod là một nền tảng tính toán di động, được thiết
kế tùy biến, có khả năng thích ứng cho các mạng Sensor phối hợp với các điện


CHƯƠNG 1. MÔ HÌNH TÍCH HỢP GIÁM SÁT MÔI TRƯỜNG BỜ BIỂN

9

thoại di động Android với các sensor môi trường và một hệ thống quản trị dữ liệu
điện đoán đám mây. Kiến trúc mang tính modun của nó được dựa trên các chuẩn
mở và phần mềm mã nguồn mở. SensorPod có thể
Giám sát thời gian thực môi trường và các hệ thống sensor Cung cấp cho các
nhà khoa học siêu dữ liệu (metadata) như tình trạng, QA, và các tham số được
xác định bởi người sử dụng. Cho phép những người phát triển tùy biến với các dự
án của họ với thực tế công nghiệp tốt nhất và các xu thế công nghệ.

DataTurbine là một phần mềm mã nguồn mở được viết bằng ngôn ngữ lập trình
Java. Nó cung cấp các dịch vụ truyền dữ liệu nhanh chóng và đáng tin cậy với nhiều
kiểu dữ liệu được hỗ trợ như: số, âm thanh, video hay văn bản. Với DataTurbine,
chúng ta có thể quan sát được dữ liệu trong thời gian thực, dừng và tua lại việc
truyền dữ liệu, chia sẻ nó với bất cứ ai trên mạng, thực hiện xử lý thời gian thực
và còn nhiều hơn thế nữa ?. DataTurbine được phát triển bởi công ty Creare, một
công ty tư vấn kỹ thuật và phát triển phần mềm ở Hanover, New Hampshire. Lúc
mới ra đời, nó là một sản phẩm thương mại. Sự phát triển của DataTurbine diễn ra
cùng lúc với sự tiến bộ trong công nghệ cảm biến và truyền thông và mong muốn
của cộng đồng khoa học kỹ thuật là triển khai các mạng cảm biến quy mô lớn
trong thế giới thực và các hệ thống quan sát về môi trường. DataTurbine đã được
phát triển như một công cụ truyền dữ liệu cho các ứng dụng thu nhận dữ liệu thời
gian thực và độc lập với các ứng dụng cụ thể. Sau nhiều năm cộng tác và nhiều
tháng đàm phán, giám đốc điều hành của công ty Creare đã ký quyết định về việc
phát hành DataTurbine như là một sản phẩm phần mềm mã nguồn mở. Tháng
10/2007, DataTurbine chính thức được chuyển từ phần mềm độc quyền sang phần
mềm mã nguồn mở theo giấy phép Apache 2.0. Tất cả mã nguồn và tài liệu được
công khai trên website của dự án. Hiện nay, các nhà phát triển và cộng đồng người
dùng vẫn tiếp tục phát triển phần mềm và hỗ trợ việc phát triển ứng dụng.
DataTurbine gồm có 3 thành phần chính, đó là:
• Server: nhận và phân phát dữ liệu.
• Source: chương trình đưa dữ liệu vào server.
10


CHƯƠNG 2. GIỚI THIỆU VỀ DATATURBINE

11

Hình 2.1: Kiến trúc của DataTurbine

• Kích thước bộ nhớ cache quyết định có bao nhiêu bộ đệm vòng được chứa
trong bộ nhớ (RAM). Điều này một lần nữa được quyết định bởi bản chất của
hệ thống và các ứng dụng. Bộ nhớ cache có thể làm tăng tốc độ xử lý nhưng
một bộ nhớ cache lớn hơn không đồng nghĩa với một hệ thống nhanh hơn.
Cách tiếp cận này cho phép các ứng dụng tương tác với dữ liệu trong thời gian gần
với thời gian thực (near real-time). Sink có thể đọc dữ liệu khi nó được thu thập
và hiển thị nó trực tuyến, trong Matlab hoặc các ứng dụng khác. Sink cũng có thể
tương tác với dữ liệu và đưa nó vào thiết bị lưu trữ lâu dài.
Server yêu cầu một nhãn thời gian (timestamp) chính xác cho mỗi điểm dữ liệu.
Một hạn chế của điều này là dữ liệu không thể được tải lại vào server. Điều này
có nghĩa là dữ liệu phải được đi vào theo thứ tự và như vậy, mỗi điểm dữ liệu phải
có một nhãn thời gian lớn hơn nhãn thời gian được ghi nhận trước đó. Kích thước
được xác định trong số lượng frame. Frame là một cấu trúc dữ liệu gồm một hoặc
nhiều kênh (channel) với một hoặc nhiều đối tượng dữ liệu trên một kênh. Do đó
kích thước của frame có thể nhỏ hoặc lớn và có thể khác nhau giữa các frame.

2.1.3

Source

Source là chương trình đưa dữ liệu vào server. Source chạy độc lập với server như
một ứng dụng riêng biệt và sử dụng mạng để giao tiếp. Nó có thể chạy trên cùng
máy với server hoặc trên một máy khác. Mỗi source có thể chứa nhiều kênh và mỗi
kênh có thể có kiểu dữ liệu riêng của nó. Source điều khiển việc cấp phát không
gian lưu trữ trên ổ cứng và bộ nhớ của phía server.
Cấu tạo của source như sau:
• Tên: Xác định source.
• Server đích: Server mà source gửi dữ liệu tới.
• Kích thước bộ nhớ cache: Source định rõ có bao frame dữ liệu để cấp phát bộ
đệm cho nó trong bộ nhớ của server.


Sink là chương trình lấy dữ liệu từ server và sử dụng nó, ví dụ đưa nó vào Matlab
hoặc Real-time Data Viewer hoặc đặt nó vào một cơ sở dữ liệu quan hệ hoặc một
file để lưu trữ lâu dài. Cũng giống như source, sink chạy độc lập với server như
một ứng dụng riêng biệt và sử dụng mạng để giao tiếp. Nó có thể chạy trên cùng
máy với server hoặc trên một máy khác. Các kiểu sink thường gặp
• Viewer: Ứng dụng mà có thể được sử dụng để truy cập và tương tác với việc
truyền dữ liệ nhu Real-time Data Viewer (RDV), Google Earth, . . .
• Web Server: Ứng dụng mà cung cấp dữ liệu như là nội dung trang web cho
việc hiển thị công khai. VD: Các đồ thị trên một website công cộng.
• Analysis: Lấy dữ liệu và thực hiện một số loại phân tích thủ công hoặc tự
động. VD: Mat lab, R, ESPER, . . . Export: Xuất dữ liệu vào trong một file
hoặc tập hợp các file cho việc phân phối hoặc tích hợp. VD: CSV files, Excel,
...


CHƯƠNG 2. GIỚI THIỆU VỀ DATATURBINE

14

• Storage: Lưu trữ lâu dài trong cơ sở dữ liệu hoặc một tập các file. VD: Lưu
trữ trong một cơ sở dữ liệu quan hệ. Khác: Dễ dàng code bất kỳ sink nào mà
sử dụng dữ liệu.
Ví dụ thực hành Trở lại với ví dụ trong phần trước. Giả sử có một tháp khí tượng
đo nhiệt độ và độ ẩm được đặt trên một ngọn đồi. Gần đó là một trạm đo nhiệt
độ. Chúng ta đã đưa dữ liệu này vào DataTurbine trên một chiếc laptop ở trạm
và bây giờ chúng ta muốn quan sát nó và chắc chắn rằng nó đã được lưu trữ. Các
bước tiến hành như sau
1. Khởi động server trên laptop (rbnb.jar).
2. Khởi động source trên laptop đọc dữ liệu từ tháp khí tượng.

• Dữ liệu được nhận theo thứ tự thời gian và không chấp nhận dữ liệu không
đúng thứ tự.
• Dữ liệu không thể được tải lại vào DataTurbine.


Chương 3

Lập trình với DataTurbine
3.1

Tổng quan

Khi đề cập tới việc lập trình cho DataTurbine, chúng ta thường sử dụng hai cách
sau đây:
• Chỉnh sửa mã nguồn của DataTurbine để phù hợp với ứng dụng cụ thể.
• Viết một ứng dụng chạy trên DataTurbine (trường hợp thường gặp).
Thường thì ta sẽ chỉ cần viết một ứng dụng giao tiếp với DataTurbine. Trong trường
hợp đó, ta không cần mã nguồn của DataTurbine, thay vào đó tất cả những gì ta
cần là file rbnb.jar. Thư việnnày sẽ cung cấp cho bạn tất cả các công cụ cần thiết
để ta có thể tạo ra chương trình của riêng mình.
• Chỉnh sửa mã nguồn của DataTurbine: Trước khi thực hiện việc chỉnh sửa mã
nguồn của DataTurbine bạn nên chắc chắn rằng điều đó thực sự cần thiết cho
ứng dụng của bạn. Hầu hết các ứng dụng chỉ cần viết một source hoặc sink
chạy trên DataTurbine. DataTurbine là một hệ thống môđun có khả năng mở
rộng và một phần sức mạnh của nó là tính linh hoạt nó cung cấp mà không
cần chỉnh sửa phần lõi của nó.
• Viết một ứng dụng giao tiếp với DataTurbine: Thường thì trong trường hợp
này bạn sẽ cần viết một source hoặc sink giao tiếp với DataTurbine. Điều này
không quá phức tạp và nó không yêu cầu bạn phải đọc và chỉnh sửa mã nguồn
của DataTurbine. Thay vào đó, bạn sẽ cần file rbnb.jar.

và trả lại dữ liệu (thực tế nó giống cả Sink và Source).
• ChannelMap Tất cả dữ liệu RBNB được tổ chức trong các channel map. Client
thao tác với channel map như là cách thức để đưa ra các yêu cầu (sink) và
gửi dữ liệu (source). Một ChannelMap bao gồm một tập hợp các đối tượng
Channel (kênh), mỗi cái có 3 thành phần chính: Tên: Tên của kênh; Dữ liệu:
Dữ liệu nhị phân của các kiểu khác nhau;Nhãn thời gian (timestamp): Dãy đơn
điệu tăng các số dấu phẩy động. Một source client xây dựng một ChannelMap
bao gồm một hoặc nhiều kênh. Đối với mỗi kênh, nó cung cấp dữ liệu của
một kiểu cụ thể và số lượng. Nó cũng chỉ rõ một nhãn thời gian đối với toàn
bộ ChannelMap hoặc đối với từng phần khác nhau của ChannelMap. Sau khi
xây dựng xong, ChannelMap được gửi từ source client tới RBNB server. Việc
thêm các kênh mới hoặc dữ liệu mới tới các kênh đã tồn tại có thể được lặp lại.
Một sink client xây dựng một channel map để yêu cầu dữ liệu. Ở đây channel
map bao gồm các kênh và các nhãn thời gian, cái được gửi tới RBNB server
như một yêu cầu. Đáp lại yêu cầu này là một channel map khác với dữ liệu
được đưa vào các kênh khác nhau.
• Source Client Source client là client chủ động, chúng khởi đầu việc truyền
dữ liệu tới server. Mỗi lần source gửi dữ liệu tới server, nó được gọi là một



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status