Việc giám sát số liệu quan trắc thời gian thực (cho phép trễ 1 đến 2 chu kỳ lấy mẫu, tương ứng với 5 đến 10 phút) tại các trạm tựđộng được thực hiện dựa trên 2 tiêu chí: trợ giúp việc quan sát kết quả đo theo thời gian cho từng thông số quan trắc tương ứng với các module đặt tại trạm. Ví dụ, đối với môi trường không khí, các thông số cần đề cập là (CO, CO2, SO2, Nox, O3 ngoài ra là các thông số khí tượng như nhiệt độ, áp suất, độ ẩm, hướng gió…); so sánh được diễn biến của từng thông số, có phân nhóm đối với các thông số có quan hệ với nhau (ví dụ nhóm NO, NO2, Nox..) Báo cáo diễn biến từng thông số bằng hình thức biểu biểu đồ, có hệ quy chiếu và đơn vị đo đầy đủ.
Tóm lại, trong chương 3, luận văn đã đề cập đến việc xây dựng các mô hình tổ chức dữ liệu, cách thức lưu trữ, phân tích dữ liệu và kiến trúc hỗ trợ ra quyết định. Với cách tiếp cận này, dữ liệu sẽ được tổ chức dữ liệu theo mô hình logic hình sao, dưới dạng các cube theo chủ đề. Dữ liệu từ các bảng chiều sẽ là dữ liệu đầu vào, phụ vụ việc tính toán kết quả theo các hàm dơn giản, lưu trữ trong bảng sự kiện. Các thông tin này sẽ là đầu vào thực hiện các truy vấn phức tạp hơn trong quá trình phân tích tại OLAP để giải quyết bài toán. Đây là cơ sở lý thuyết để xây dựng ứng dụng phần mềm trong chương sau.
Chương 4 – XÂY DỰNG PHẦN MỀM MINH HỌA NGHIỆP VỤ THÔNG MINH TRONG QUẢN TRỊ HỆ THỐNG THÔNG TIN CHẤT
LƯỢNG MÔI TRƯỜNG
Chương này sẽ giới thiệu việc triển khai giải pháp ứng dụng nghiệp vụ thông minh BI trong quản trị hệ thống thông tin chất lượng môi trường đã đề xuất trong chương 3. Các nội dung cụ thể gồm có tổ chức lưu trữ dữ liệu tại kho dữ liệu theo cấu trúc hình sao, triển khai xây dựng phần mềm theo mô hình 3 lớp, ứng dụng kiến trúc phân tích dữ liệu và hỗ trợ quyết định vào tính toán chỉ số chất lượng không khí (AQI) và chất lượng nước (WQI) và một số các chức giám sát số liệu nhận về từ các trạm tựđộng dưới hai hình thức báo cáo là biểu đồ và bảng số liệu.
4.1. Giải pháp kỹ thuật
Luận văn sẽ sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server (MSSQL)[9] để tạo công cụ xây dựng kho dữ liệu và OLAP do các tính năng hỗ trợ của hệ quản trị này (xem hình 4.2). MSSQL là một trong những hệ quản trị cơ sở dữ liệu thích hợp với các các mô hình vừa và nhỏ. Ưu điểm nổi bật của công nghệ này là chi phí đầu tư thấp, giải pháp kỹ thuật đáp ứng việc quản lý, lưu trữ thích hợp với các CSDL không quá lớn, một yếu tố quan trọng không kém đó là dễ sử dụng và quen thuộc đối với người dùng.
Để giải quyết bài toán, luận văn sử dụng ba trong số bốn dịch vụ chính của MSSQL là dịch vụ tích hợp (Integration Service), dịch vụ phân tích dữ liệu (Analysis Service) và dịch vụ báo cáo (Reporting Service).
(1) Dịch vụ tích hợp dữ liệu thực hiện xây dựng tiến trình ETL để lấy dữ liệu từ CSDL gốc ban đầu và đẩy vào kho dữ liệu; (2) Dịch vụ phân tích dữ liệu phục vụ quá trình xây dựng dữ liệu
trong kho dữ liệu, tổ chức lưu trữ và quản lý dưới dạng các Cube dữ liệu phục vụ quá trình phân tích dữ liệu trực tuyến OLAP;
(3)Cuối cùng ta sẽ dùng các công cụ BI gồm có dịch vụ báo cáo và các ứng dụng phân tích dữ liệu để thực hiện các truy vấn để chiết xuất dữ liệu, cung cấp thông tin cho người sử dụng.
4.2. Tổ chức lưu trữ dữ liệu
Hình 4.3 và 4.4. mô tả thiết kế lược đồ dữ liệu của hệ thống. Thiết kế này gồm có 2 lược đồ hình sao tương ứng với 2 loại dữ liệu thu mẫu và dữ liệu tự động.
Cube dữ liệu quan trắc tựđộng bao gồm sáu chiều và một bảng sự kiện, được biểu diễn trong một bảng dữ liệu. Đối với quan trắc tự động, một trạm có nhiều điểm quan trắc, mỗi điểm quan trắc thuộc một hoặc nhiều thành phần môi trường, mỗi thành phần sẽ thực hiện quan trắc nhiều thông số và cho ra các kết quả quan trắc theo thời gian. Đối với mỗi trạm quan trắc, tùy theo loại thiết bị và hãng sản xuất, cứ năm phút một lần thu được 1 số liệu quan trắc do đó ta cũng quan tâm tới yếu tố thời gian để ghi dữ liệu. Kho dữ liệu cũng được thiết kế dựa trên thực tếđó.
Dữ liệu trong kho bao gồm các bảng WH_TRAMQUANTRAC_DIM lưu thông tin trạm quan trắc; bảng WH_DIEMQUANTRAC_DIM lưu thông tin điểm quan trắc; bảng WH_TPMT_DIM lưu thông tin thành phần môi trường; bảng WH_THONGSO_DIM lưu thông tin các thông số quan trắc được tại một điểm, bảng WH_SOLIEUTUDONG_FACT lưu giá trị các kết quả thu được tương ứng với từng thông số theo thời gian và một số tính toán theo các hàm đơn giản phục vụ giải quyết bài toán; bảng WH_NGAY_DIM và bảng WH_GIOPHUTGIAY_DIM phục vụ truy xuất kết quả theo thời gian.
Bảng 4.1. Bảng chiều điểm quan trắc WH_DIEMQUANTRAC_DIM trong cube quan trắc tựđộng
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ dài
Được
phép NULL
1. uuid Mã điểm thuộc trạm CharacterString 50 2. tenDiem Tên điểm quan trắc CharacterString 500
3. kinhDo Kinh độ Real 8
4. viDo Vĩ độ Real 8
5. loaiDiem Phân loại điểm quan trắc theo tiêu chí điểm tự động hoặc thu mẫu: 0-điểm tự động, 1-điểm thu mẫu
Integer 2
6. trangThaiHoatDo ng
Trạng thái hoạt động của điểm (0-Không hoạt động, 1-Đang hoạt động)
Integer 2
7. uuidTinh Mã tỉnh CharacterString 50 8. tenTinh Tên tỉnh (Vị trí điểm QT) CharacterString 500
Ghi chú: Bảng này lưu trữ toàn bộ danh mục các điểm quan trắc trong hệ thống.
Bảng 4.2. Bảng chiều giờ phút giây WH_GIOPHUTGIAY_DIM trong cube quan trắc tựđộng
Ghi chú: Bảng này lưu trữ các mốc thời gian trong ngày tính theo đơn vị giây
có số liệu quan trắc.
STT Tên trường Ý nghĩa trường Kiểu dữ liệu dài Độ
Được
phép NULL
1. gioPhutGiay Giờ phút giây (format: “hh:mm:ss.0000000”)
Time 4
2. gio Giờ Integer 2
3. phut Phút Integer 2
Bảng 4.3. Bảng chiều ngày WH_NGAY_DIM trong cube quan trắc tựđộng
STT Tên trường Ý nghĩa trường Kiểu dữ liệu dài Độ Đượphép c
NULL
1. ngay Ngày (format:
“dd/MM/yyyy”) Date 4
2. tenNgay Tên đầy đủ của ngày (vd: Chủ nhật, Ngày 01 tháng 01 năm 2005) CharacterString 50 3. nam Năm (format: “dd/MM/yyyy”) Date 4 4. tenNam Tên đầy đủ của năm (vd: năm 2005) CharacterString 50
5. quy Quý (format:
“dd/MM/yyyy”) Date 4
6. tenQuy Tên đầy đủ của quý (vd: quý I năm 2005) CharacterString 50 7. thang Tháng (format: “dd/MM/yyyy”) Date 4 8. tenThang Tên đầy đủ của tháng (vd: tháng 1 năm 2005) CharacterString 50 9. tuan Tuần (format: “dd/MM/yyyy”) Date 4 10. tenTuan Tên đầy đủ của tuần (vd: tuần 1 năm 2005) CharacterString 50 11. ngayThuocNam Thứ tự ngày của năm (vd: 1, 365,…) Integer 4 12. tenNgayThuocNam Thứ tự ngày của năm viết bằng chữ (vd: ngày 1, ngày 365,…) CharacterString 50
13. ngayThuocQuy Thứ tự ngày của quý (vd: 1, 90,…)
Integer 4 14. tenNgayThuocQuy Thứ tự ngày của quý viết
bằng chữ (vd: ngày 1, ngày 90,…) CharacterString 50 15. ngayThuocThang Thứ tự ngày của tháng (vd: 1, 31,…) Integer 4 16. tenNgayThuocTha Thứ tự ngày của tháng CharacterString 50
STT Tên trường Ý nghĩa trường Kiểu dữ liệu dài Độ Đượphép c NULL ng 1, ngày 31,…) 17. ngayThuocTuan Thứ tự ngày của tuần (vd: 1, 7,…) Integer 4 18. tenNgayThuocTua n Thviếứt b tựằng ch ngày cữ (vd: ngày ủa tuần 1, ngày 7,…) CharacterString 50 19. tuanThuocNam Thứ tự tuần của năm (vd: 1, 52,…) Integer 4 20. tenTuanThuocNam Thứ tự tuần của năm viết bằng chữ (vd: tuần 1, tuần 52,…) CharacterString 50 21. thangThuocNam Thứ tự tháng của năm (vd: 1, 12,…) Integer 4 22. tenThangThuocNa m Thứ tự tháng của năm viết bằng chữ (vd: tháng 1, tháng 12,…) CharacterString 50 23. thangThuocQuy Thứ tự tháng của quý (vd: 1, 3,…) Integer 4 24. tenThangThuocQu y Thviếứt b tựằng ch tháng cữ (vd: tháng ủa quý 1, tháng 3,…) CharacterString 50 25. quyThuocNam Thứ tự quý của năm (vd: 1, 4,…) Integer 4 26. tenQuyThuocNam Thứ tự quý của năm viết bằng chữ (vd: quý 1, quý 4,…) CharacterString 50
Ghi chú: Bảng này lưu trữ các mốc thời gian theo đơn vị ngày cần tổng hợp số liệu quan trắc.
Danh sách các Hierarchy và Level tương ứng với từng Hierarchy được triển khai cho Dimension WH_NGAY_DIM:
(1) (nam - quy - thang - tuan - ngay): Hierarchy này phục vụ cho việc tổng hợp dữ liệu quan trắc (theo measure định nghĩa trong các Cube WH_SOLIEUTHUMAU_CUBE, WH_SOLIEUTUDONG_CUBE) phân cấp theo mức năm, quý, tháng, tuần, ngày.
(2) (nam - quy - thang - ngay) : Hierarchy này phục vụ cho việc tổng hợp dữ liệu quan trắc không khí (theo measure định nghĩa trong các Cube WH_SOLIEUTHUMAU_CUBE, WH_SOLIEUTUDONG_CUBE) phân cấp theo mức năm, quý, tháng, ngày.
(3) (nam - tuan - ngay): Hierarchy này phục vụ cho việc tổng hợp dữ liệu quan trắc không khí (theo measure định nghĩa trong các Cube WH_SOLIEUTHUMAU_CUBE, WH_SOLIEUTUDONG_CUBE) phân cấp theo mức năm, tuần, ngày.
Bảng 4.4. Bảng chiều thông số quan trắc WH_THONGSO_DIM trong cube quan trắc tựđộng
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độdài
Được
phép NULL
1. uuid Mã thông số quan trắc
do CEM quy định CharacterString 50 2. ten Tên thông số quan
trắc CharacterString 500
3. dvDo Đơn vịđo CharacterString 100 4. tenTA Tên tiếng anh CharacterString 200
5. tenLatin Tên latin CharacterString 200 6. tenNganh Tên ngành CharacterString 200 7. loai Là thông số: trường
này bằng 0; là SV: trường này bằng 1
Boolean
8. ghiChu CharacterString 500
Ghi chú: Bảng này lưu trữ toàn bộ danh mục thông số quan trắc.
Bảng 4.5. Bảng chiều thành phần môi trường WH_TPMT_DIM trong cube quan trắc tựđộng
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ
dài
Được
phép NULL
1. uuid Mã thành phần MT CharacterString 50 2. tenTP Tên thành phần MT CharacterString 500
Bảng 4.6. Bảng chiều trạm quan trắc WH_TRAMQUANTRAC_DIM trong cube quan trắc tựđộng
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ
dài
Được
phép NULL
1. uuid Mã trạm CharacterString 50 2. tenTram Tên trạm CharacterString 500 3. uuidTinh Mã tỉnh CharacterString 50 4. tenTinh Tên tỉnh CharacterString 500 5. cqThucHien CQ QLý CharacterString 500 6. diaChi Địa chỉ CQ CharacterString 500
7. dienThoai SốĐT cơ quan CharacterString 50 8. fax Số fax cơ quan CharacterString 50 9. email Địa chỉ email CharacterString 100 10. nguoiDaiDien Người đại diện của Trạm CharacterString 300 11. namTL Năm thành lập trạm Integer 2 12. namHD Năm trạm hoạt động Integer 2 13. loaiTram Loại trạm (0-trạm quốc gia, 1-trạm lưu vực sông,...) Integer 2
14. ghiChu Ghi chú CharacterString 500
Ghi chú: Bảng này lưu trữ toàn bộ danh mục trạm quan trắc.
Bảng 4.7. Bảng sự kiện WH_SOLIEUTUDONG_FACT trong cube quan trắc tựđộng
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ
dài
Được
phép NULL
1. uuid Mã CharacterString 50 2. uuidTram Mã trạm quan trắc CharacterString 50
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ dài
Được
phép NULL
3. uuidDiem Mã điểm quan trắc CharacterString 50 4. uuidTP Mã thành phần môi trường CharacterString 50 5. uuidTS Mã thông số quan trắc CharacterString 50 6. ngay Ngày quan trắc (format:
“dd/MM/yyyy”)
Date 4 7. thoiGian Thời điểm quan trắc (format:
“dd/MM/yyyy HH:mm:ss”)
DateTime 4 8. gioPhutGiay Giờ phút giây quan trắc
(format:
“hh:mm:ss.0000000”)
Time 4
9. kq Giá trị kết quả quan trắc Real 4
Danh sách các Measure:
1. tongKQ = SUM(kq): Tổng giá trị dữ liệu quan trắc theo các chiều; 2. tongSoLan = COUNT(kq): Tổng số lần quan trắc theo các chiều; 3.ketQuaTB = SUM(kq)/ COUNT(kq): Giá trị quan trắc trung bình
Cube dữ liệu quan trắc thu mẫu bao gồm chín chiều và một bảng sự kiện, được biểu diễn trong một bảng dữ liệu. Đối với quan trắc thu mẫu, một trạm có nhiều điểm quan trắc, mỗi điểm quan trắc thuộc một hoặc nhiều thành phần môi trường, mỗi thành phần sẽ thực hiện quan trắc nhiều thông số, trong một năm, tùy theo kế hoạch, một điểm sẽ được quan trắc làm nhiều đợt, mỗi đợt sử dụng nhiều thiết bị khác nhau để lấy mẫu và đối với quan trắc thực địa yếu tố khí tượng, các đặc điểm xung quanh khi tiến hành thu mẫu cũng đựoc lưu ý vì nó ảnh hưởng trực tiếp tới kết quả quan trắc. Ngoài ra, yếu tố thời gian cũng rất quan trọng, nó lý giải tính phù hợp của kết quả so với các quy luật nghiên cứu. Kho dữ liệu cũng được thiết kế dựa trên thực tếđó.
Dữ liệu trong kho bao gồm các bảng WH_TRAMQUANTRAC_DIM lưu thông tin trạm quan trắc; bảng WH_DIEMQUANTRAC_DIM lưu thông tin điểm quan trắc; bảng WH_TPMT_DIM lưu thông tin thành phần môi trường; bảng WH_THONGSO_DIM lưu thông tin các thông số quan trắc được tại một điểm, bảng WH_THIETBI_DIM lưu thông tin về loại thiết bị sử dụng và WH_THUMAU_DIM cho biết yếu tố khí tượng, đặc điểm xung quanh nơi quan trắc, bảng WH_SOLIEUTHUMAU_FACT lưu giá trị các kết quả thu được tương ứng với từng thông số theo thời gian và một số tính toán theo các hàm đơn giản phục vụ giải quyết bài toán; bảng WH_NGAY_DIM và bảng WH_GIOPHUTGIAY_DIM phục vụ truy xuất kết quả theo thời gian.
Bảng 4.8. Bảng chiều điêm quan trắc WH_DIEMQUANTRAC_DIM trong cube quan trắc thu mẫu
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ
dài
Được
phép NULL
1. uuid Mã điểm thuộc trạm CharacterString 50 2. tenDiem Tên điểm quan trắc CharacterString 500
3. kinhDo Kinh độ Real 8
4. viDo Vĩđộ Real 8
5. loaiDiem Phân loại điểm quan trắc theo tiêu chí điểm tựđộng hoặc thu mẫu: 0-điểm tựđộng, 1- điểm thu mẫu Integer 2 6. trangThaiHoatDong Trạng thái hoạt động của điểm (0-Không hoạt động, 1-Đang hoạt động) Integer 2 7. uuidTinh Mã tỉnh CharacterString 50 8. tenTinh Tên tỉnh (Vị trí điểm QT) CharacterString 500
Ghi chú: Bảng này lưu trữ toàn bộ danh mục điểm quan trắc trên phạm vi toàn quốc.
Bảng 4.9. Bảng chiều đợt quan trắc WH_DOTQUANTRAC_DIM trong cube quan trắc thu mẫu
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ
dài
Được
phép NULL
uuid Mã đợt CharacterString 50 tenDot Tên đợt CharacterString 50
Bảng 4.10. Bảng chiều giờ phút giây WH_GIOPHUTGIAY_DIM trong cube quan trắc thu mẫu
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ
dài
Được
phép NULL
gioPhutGiay Giờ phút giây (format: “hh:mm:ss.0000000”)
Time 4
gio Giờ Integer 2
phut Phút Integer 2
giay Giây Integer 2
Ghi chú: Bảng này lưu trữ các mốc thời gian trong ngày tính theo đơn vị giây có số liệu quan trắc.
Bảng 4.11. Bảng chiều ngày WH_NGAY_DIM trong cube quan trắc thu mẫu
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ
dài
Được
phép NULL
9. ngay Ngày (format: “dd/MM/yyyy”)
Date 4 10. tenNgay Tên đầy đủ của ngày (vd:
Chủ nhật, Ngày 01 tháng 01 năm 2005) CharacterString 50 11. nam Năm (format: “dd/MM/yyyy”) Date 4 12. tenNam Tên đầy đủ của năm (vd: năm 2005) CharacterString 50
13. quy Quý (format:
“dd/MM/yyyy”)
Date 4 14. tenQuy Tên đầy đủ của quý (vd:
quý I năm 2005)
CharacterString 50 15. thang Tháng (format:
“dd/MM/yyyy”)
Date 4 16. tenThang Tên đầy đủ của tháng CharacterString 50
STT Tên trường Ý nghĩa trường Kiểu dữ liệu Độ dài Được phép NULL 17. tuan Tuần (format: “dd/MM/yyyy”) Date 4 18. tenTuan Tên đầy đủ của tuần (vd: tuần 1 năm 2005) CharacterString 50 19. ngayThuocNam Thứ tự ngày của năm (vd: 1, 365,…) Integer 4 20. tenNgayThuocNam Thứ tự ngày của năm viết bằng chữ (vd: ngày 1, ngày 365,…) CharacterString 50
21. ngayThuocQuy Thứ tự ngày của quý (vd: 1, 90,…)
Integer 4 22. tenNgayThuocQuy Thứ tự ngày của quý viết
bằng chữ (vd: ngày 1, ngày 90,…) CharacterString 50 23. ngayThuocThang Thứ tự ngày của tháng (vd: 1, 31,…) Integer 4 24. tenNgayThuocThang Thứ tự ngày của tháng viết bằng chữ (vd: ngày 1, ngày 31,…) CharacterString 50 25. ngayThuocTuan Thứ tự ngày của tuần (vd: 1, 7,…) Integer 4 26. tenNgayThuocTuan Thứ tự ngày của tuần viết bằng chữ (vd: ngày 1, ngày 7,…) CharacterString 50 27. tuanThuocNam Thứ tự tuần của năm (vd: