Module thu nhận thông tin cho phần mềm máy chủ

Một phần của tài liệu Nghiên cứu hệ thống quản lý mạng HP OPENVIEW và xây dựng ứng dụng quản trị hệ thống mạng (Trang 38)

2.1.7.1. Websocket

WebSockets mới xuất hiện trong HTML5, là một kỹ thuật Reverse Ajax mới hơn Comet (Comet là kỹ thuật cũ được sử dụng trên nền web để phục vụ nhu cầu Web server push dữ liệu về brower).WebSockets cho phép các kênh giao tiếp song song hai chiều và hiện đã được hỗ trợ trong nhiều trình duyệt (Firefox, Google Chrome và Safari, IE 9 trở lên).Kết nối được mở thông qua một HTTP request (yêu cầu HTTP), được gọi là liên kết WebSockets với những header đặc biệt. Kết nối được duy trì để lập trình viên có thể viết và nhận dữ liệu bằng JavaScript như khi đang sử dụng một TCP socket đơn thuần.

Browser có thể nhận thông tin mà không cần phải refresh lại trình duyệt, lưu lượng sử dụng websoket nhỏ hơn hẳn sử dụng http để gửi và nhận dữ liệu nên websocket đã đảm bảo tiêu chí đặt ra là thuận tiện và chiếm ít tài nguyên mạng.

2.1.7.2. Google Protobuf

Để truyền tải thông tin từ máy chủ đến máy trạm, dữ liệu được mã hóa (encrypt) và sử dụng protocol buffers hay protobuf làm công cụ encode. Protocol Buffers là cách thức sắp xếp dữ liệu một cách uyển chuyển, hiệu quả và tự động. Nó cũng có thể như là XML nhưng đơn giản, nhanh và hiệu quả hơn. Để sử dụng cách thức này, trước tiên cần phải định nghĩa cấu trúc dữ liệu cần truyền tải sau đó nó sẽ tự động sinh ra mã nguồn (các class) cho phép lập trình viên có thể ghi, đọc vào cấu trúc đã được chuyển đổi đó một cách dễ dàng. Lý do chúng tôi không sử dụng XML làm cách thức đóng gói dữ liệu là bởi vì với protocol buffer, dữ liệu được mã hóa nhanh hơn, nhỏ hơn, đơn giản hơn và việc sử dụng các class này rất dễ dàng trong lập trình.

2.1.7.3. Cơ chế thực hiện việc phát và nhận thông tin tới đối tƣợng

Với ý tưởng thiết kế quản lý tập trung, chúng tôi đề xuất một mô hình cấp phát và nhận thông tin từ máy chủ đến máy trạm/thiết bị và ngược lại.

Với ý tưởng này, máy chủ sẽ đóng vai trò là một thành phần chủ động trong khi máy trạm sẽ là thành phần bị động.

Hình 2.9 Mô hình hoạt động giữa Máy chủ- Máy trạm/Thiết bị

Máy chủ giám sát (monitoring server)

Máy trạm Scheduler thread Policy process Result process Sensors Agent Thiết bị SNMP device

Monitoring server sẽ làm nhiệm vụ gửi đi những yêu cầu về tập luật được gán cho thiết bị/máy trạm tới thiết bị tương ứng và tiếp nhận những giá trị trả về từ client (thiết bị/máy trạm).Trong thiết kế hệ thống này, các máy trạm được kết nối đến server thông qua websocket. Máy chủ sẽ làm nhiệm vụ kích hoạt các yêu cầu và đợi client phản hồi về. Điều này có thể làm tăng quá trình hoạt động của máy chủ lên, tuy nhiên máy chủ sẽ quản lý được các luồng dữ liệu đến nó tốt hơn. Cụ thể là nó sẽ biết khi nào phải gửi yêu cầu đi và phải gửi những gì cũng như khi nào thì tạm dừng để tránh quá tải hệ thống.

2.1.7.4. Hệ thống tập luật và quản lý tập luật trên web quản trị

* Nhóm tập luật

Trước tiên, các luật được phân nhóm lại vào các nhóm riêng lẻ.Các nhóm tập luật này được thiết kế với mục đích giúp cho quản trị viên có thể dễ dàng lựa chọn tập luật phù hợp với mục đích nhất. Các nhóm tập luật có thể là nhóm liên quan đến CPU, nhóm liên quan đến bang thông hoặc bộ nhớ của thiết bị.

Cấu trúc giải thuật cũng như các mô tả về nhóm tập luật được thực hiện tương tự như của thiết kế nhóm máy trạm/thiết bị (module 1.11. Module quản lý máy trạm theo nhóm)

* Tập luật,

Thông tin về tập luật sẽ bao gồm các trường chính sau:  Tên tập luật

 Nhóm tập luật: phân chia tập luật về các nhóm khác nhau để quản trị dễ quản lý  Tham số: Tham số của tập luật.

 Giá trị lỗi: Khoảng giá trị mặc định mà hệ thống sẽ so sánh với giá trị thu về từ thiết bị hoặc máy trạm để từ đó quyết định thiết bị có lỗi hay không

 Giá trị cảnh báo: Khoảng giá trị mặc định mà hệ thống sẽ so sánh với giá trị thu về từ thiết bị hoặc máy trạm để từ đó quyết định thiết bị có cảnh báo nào không.  Kiểu tập luật: sử dụng SNMP hay cho các máy trạm sử dụng WMI

 Kiểu giá trị trả về: Hiện tại hệ thống hỗ trợ 2 loại giá trị trả về là kiểu số hoặc kiểu chuỗi ký tự.

 Trạng thái: Dùng hay không dùng tập luật này

 Việc tạo một luật mới được chỉ định thực hiện cho cấp cao nhất là quyền Super Administrator.

Hình 2.10 Sơ đồ thuật toán controller xử lý thao tác quản lý tập luật Chi tiết Nhóm + Bắt đầu Tiếp nhận request Phân tích URL

Yêu cầu quản lý tập luật?

GET hay POST

Trả về trang hiển thị giao diện quản lý tập luật

Kết thúc Kết nối đến CSDL

Query danh sách các tập luật

Chuyển đổi resultset sang json structure (adsbygoogle = window.adsbygoogle || []).push({});

Phân tích lệnh (add, update, delete)

Kết nối đến CSDL

Thực hiện câu truy vấn tương ứng

Trả đáp ứng Thành công hoặc thất bại cho giao diện người dùng

Kiểm tra bảo mật biến đầu vào

Kiểm tra bảo mật biến đầu vào

Liệt kê danh sách hay chi tiết tập

luật?

Query thông tin một tập luật

Query danh sách nhóm cha

-

* Gán tập luật có sẵn cho một đối tượng (thiết bị mạng/máy trạm)

Sau khi đã có các tập luật, quản trị viên sẽ phải có nhiệm vụ gán các tập luật này vào với các thiết bị/máy trạm tương ứng.

Hình 2.11 Sơ đồ thuật toán controller xử lý thêm tập luật cho thiết bị/máy trạm

Không Có + Bắt đầu Tiếp nhận request Phân tích URL Yêu cầu gán tập luật? GET hay POST Kết thúc Kết nối đến CSDL Query danh sách các tập luật chưa gán cho ID thiết bị

Chuyển đổi resultset sang json structure

Kết nối đến CSDL

Thực hiện câu truy vấn INSERT CSDL

Trả đáp ứng Thành công hoặc thất bại cho giao diện người dùng

Kiểm tra bảo mật biến đầu vào

Kiểm tra bảo mật biến đầu vào

-

GET POST

ID thiết bị tồn tại?

Hình 2.12 Sơ đồ thuật toán controller xử lý sửa tập luật cho thiết bị/máy trạm Có Không Có + Bắt đầu Tiếp nhận request Phân tích URL Yêu cầu gán tập luật? GET hay POST Kết thúc Kết nối đến CSDL Query danh sách các tập luật tương ứng ID thiết bị

Chuyển đổi resultset sang json structure

Kết nối đến CSDL

Thực hiện câu truy vấn UPDATE và DELETE CSDL

Trả đáp ứng Thành công hoặc thất bại cho giao diện người dùng

Kiểm tra bảo mật biến đầu vào (adsbygoogle = window.adsbygoogle || []).push({});

Kiểm tra bảo mật biến đầu vào

ID thiết bị tồn tại? - GET POST ID thiết bị tồn tại? Không Phân tích lệnh (delete, update)

Một phần của tài liệu Nghiên cứu hệ thống quản lý mạng HP OPENVIEW và xây dựng ứng dụng quản trị hệ thống mạng (Trang 38)