Dữ liệu thực nghiệm Dữ liệu sử dụng trong đề tài là bộ dữ liệu về mức độ nghiêm trọng của sự gián đoạn dịch vụ mạnh của Telstra trong cuộc thi của họ trên Kaggl
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Dự đoán mức độ nghiêm trọng của sự gián đoạn dịch vụ mạng
Giảng viên hướng dẫn: LÊ CHÍ NGỌC Sinh viên thực hiện: Vũ Mạnh Quang
MSSV: 20163332 Lớp: Toán – Tin K61
Hà Nội-2020
Trang 2Nội dung
Lời nói đầu 2
Chương 1: Điều tra, khảo sát 3
1.1 Khảo sát hiện trạng 3
1.2 Mô hình nghiệp vụ 3
1.3 Đặc tả yêu cầu phần mềm 4
1.4 Dữ liệu thực nghiệm 5
1.5 Mô hình áp dụng 6
Chương 2: Phân tích hệ thống 9
2.1 Biểu đồ phân cấp chức năng 9
2.2 Biều đồ luồng dữ liệu 9
2.2.1 Biều luồng dữ liệu mức ngữ cảnh 9
2.2.2 Biều đồ luồng dữ liệu mức đỉnh 10
2.2.3 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng xử lý dữ liệu 10
2.2.4 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng dự đoán 11
Chương 3: Thiết kế chương trình 12
3.1 Về mặt dữ liệu 12
3.2 Mô hình hệ thống 12
3.3 Về mặt giao diện 13
3.3.1 Công nghệ sử dụng 13
3.3.2 Giao diện sản phẩm 14
Kết luận 18
Tài liệu tham khảo 19
Trang 3Lời nói đầu
Trong quá trình hình thành và phát triển, các công ty viễn thông luôn xảy ra tình trạng gián đoạn dịch vụ mạng Hệ lụy của các sự cố gián đoạn này ảnh hưởng đến công ty là không tránh khỏi
Hiểu biết và dự đoán được tại sao mức độ nghiêm trọng của sự cố gián đoạn dịch vụ giúp nhà quản lý có thể đưa ra các chiến lược khắc phục sự cố, trấn an khách hàng Trong báo cáo này em sẽ xây dựng một hệ thống hỗ trợ ra quyết định dự đoán mức độ nghiêm trọng của sự gián đoạn dịch vụ
Báo cáo gồm 3 chương chính:
• Chương 1: Điều tra, khảo sát
• Chương 2 : Phân tích hệ thống
• Chương 3: Thiết kế chương trình
Em xin chân thành cảm ơn Thầy Lê Chí Ngọc đã tận tình giúp đỡ để em có thể hoàn thành báo cáo này
Do có nhiều hạn chế về mặt kiến thức nên báo cáo có thể không tránh khỏi một số sai sót về mặt chủ quan và khách quan Vì vậy em rất mong nhận được sự góp ý, đánh giá của Thầy và các bạn để báo cáo cũng như hệ thống được hoàn thiện hơn
Em xin chân thành cảm ơn!
Hà Nội, ngày 15 tháng 06 năm 2020
Vũ Mạnh Quang
Trang 4Chương 1: Điều tra, khảo sát
1.1 Khảo sát hiện trạng
Trong quá trình hoạt động, các nhà mạng viễn thông thường xảy ra các sự cố gián đoạn dịch vụ mạng là điều không thể tránh khỏi Sự gián đoạn hoạt động mạng xảy ra khá thường xuyên và gia tăng đột biến trong thời gian vừa qua
Việc xảy ra sự cố mạng là một vấn đề khá đau đầu đối với các nhà quản lý của nhà mạng viễn thông, nó sẽ dẫn tới nhiều thiệt hại nghiêm trọng cho khác hàng, làm giảm trải nghiệm của người dùng và chất lượng của dịch vụ chăm sóc khách hàng Khách hàng sẽ dễ thay đổi nhà mạng khi gặp nhiều sự cố gián đoạn dịch vụ Ngoài ra sẽ ảnh hưởng đến hoạt động kinh tế của nhiều doanh nghiệp sử dụng dịch vụ, vấn đề này sẽ khá nghiêm trọng nếu có sự cố xảy ra
Chính vì vậy, việc dự đoán được có sự gián đoạn mạng xảy ra và sự cố có là một sự cố nghiêm trọng có thể dẫn đến sự mất hẳn dịch vụ hay không sẽ giúp ích cho nhà quản lý Nhà quản lý có thể dựa vào kết quả dự đoán để đưa ra kế hoạch sửa chữa phù hợp, hoặc đưa là các chiến lược khắc phục sau khi sự mất hẳn dịch vụ diễn ra như trấn an khách hàng, thêm chính sách ưu đãi sau khi sự cố xảy ra (nhà mạng Telstra đã từng có chính sách miễn phí dữ liệu một ngày sau sự cố mất dịch vụ của hàng triệu người dùng) Nhà quản lý cũng có thể đưa ra quyết định nâng cấp cơ sở hạ tầng mạng tại những vị trị thường xuyên xảy ra sự cố
1.2 Mô hình nghiệp vụ
Dữ liệu có được thông qua các bảo cáo được gửi về từ các nút mạng trung gian tại các vị trí khác nhau sau một khoảng thời gian nhất định Các báo cáo gửi về sẽ được tập trung và lưu trữ trong cơ sở dữ liệu của hệ thống Thông qua nhưng dữ liệu này hệ thống sẽ phân tích các hoạt động của các nút
Trang 5mạng, từ đó sẽ đưa ra các dự đoán liệu có sự gián đoạn xảy ra hay không, và nếu có thì sự gián đoạn xảy ra có nghiêm trọng hay không
Nhà quản lý sẽ quan tâm đến các vị trí có sự gián đoạn xảy ra, nhất là các vị trí xảy ra sự gián đoạn nghiêm trọng, từ đó sẽ đưa ra các quyết định cụ thể
Người
dùng
Chương trình
Mô hình hóa nghiệp vụ
1.3 Đặc tả yêu cầu phần mềm
Ứng dụng được xây dựng với mục đích hỗ trợ nhà quản lý đưa ra quyết định nên cần phải trình bày được kết quả dự đoán một cách trực quan, sinh động để nhà quản lý có cái nhìn tổng quan về tình hình xảy ra sự gián đoạn dịch vụ
Khi xây dựng hệ thống cần thực hiện được:
• Người quản lý được toàn quyền quản lý dữ liệu bên trong, sẽ nhìn thấy tất cả số liệu trong cơ sở dữ liệu
Yêu cầu hỗ trợ
Kết quả
Xử lý
Trang 6• Tổng số dữ liệu hiện tại, tổng quan một số đặc trưng của bộ dữ liệu, biểu đồ phân bố của các trường thuộc tính
• Thông tin chi tiết về dự đoán sự gián đoạn dịch mạng, biểu đồ về các mức độ gián đoạn dịch vụ
1.4 Dữ liệu thực nghiệm
Dữ liệu sử dụng trong đề tài là bộ dữ liệu về mức độ nghiêm trọng của sự gián đoạn dịch vụ mạnh của Telstra trong cuộc thi của họ trên Kaggle (https://www.kaggle.com/c/telstra-recruiting-network) Bộ dữ liệu có 7381 bản ghi với 5 file dữ liệu gồm 8 trường thuộc tính Mô hình xây dựng trong đề tài sẽ dự đoán mức độ nghiêm trọng của sự gián đoạn dịch vụ mạng
Một vài chú ý về bộ dữ liệu:
• Bộ dữ liệu được cung cấp không có giá trị nào bị thiếu, bị sai
• Dữ liệu cần được tiền xử lý khi áp dụng các mô hình do dữ liệu có các trường thuộc tính hầu như là thuộc tính phân loại
• Bộ dữ liệu khá mất cân bằng, có 65% là nhãn 0, 25% là nhãn 1, 10% là nhãn 2
Trang 7
1.5 Mô hình áp dụng
Mô hình được sử dụng trong đề tài là cây quyết định Cây quyết định là một trong những phương pháp học tập được biết đến nhiều nhất và sử dụng rộng rãi nhất trong các ứng dụng khai thác dữ liệu Cây quyết định có khái niệm đơn giản, dễ sử dụng, tốc độ tính toán khá cao và mạnh mẽ với các quy tắc dễ hiểu nó tạo ra
Cây quyết định được xây dựng theo nguyên lý đệ quy, chia để trị từ trên xuống, dựa trên việc chia tách tập dữ liệu thành các tập con nhỏ hơn tại mỗi nút cho đến khi các nút chứa dữ liệu của một lớp duy nhất Việc phân chia dữ liệu tại mỗi nút dựa trên một hàm đánh giá cụ thể, hầu hết các tiêu chí đánh giá được đề xuất đều có chung mục tiêu là tối đã hóa tính đồng nhất của lớp mục tiêu cho các dữ liệu được đặt trong mỗi nút, các tiêu chí được sử dụng phổ biến nhất là chỉ số entropy, chỉ số gini
• Chỉ số entropy: 𝑝𝑖 là xác suất của một dữ liệu tùy ý trong nút D thuộc lớp đối tượng I, chỉ số entropy tại một nút đại diện cho độ hỗn loạn thông tin tại nút đó: 𝐸(𝐷) = − ∑𝑚𝑖=1𝑝𝑖 log2𝑝𝑖, tiêu chí lựa chọn thuộc tính chia tách ở đây được tính theo mức giảm entropy hay còn gọi là
Trang 8mức tăng thông tin thu được: 𝐺𝑎𝑖𝑛(𝐴) = 𝐸(𝐷) − 𝐸𝐴(𝐷) = 𝐸(𝐷) − ∑𝑣𝑗=1|𝐷|𝐷|𝑗|× 𝐸(𝐷𝑗) (A là thuộc tính chia tách, v là số phân vùng sau khi
chia tách) Mức giảm entropy càng lớn càng tốt
• Chỉ số gini: cũng như entropy, chỉ số gini đại diện cho mức độ pha tạp thông tin trong dữ liệu: 𝑔𝑖𝑛𝑖(𝐷) = 1 − ∑𝑛𝑖=1𝑝𝑖2 với 𝑝𝑖 là tần số tương đối của lớp i trong D Nếu tập dữ liệu D được chia tách thành hai tập con 𝐷𝑖 𝑣𝑎̀ 𝐷2, 𝑔𝑖𝑛𝑖𝐴(𝐷) = |𝐷1 |
|𝐷| 𝑔𝑖𝑛𝑖(𝐷1) +|𝐷2 |
|𝐷| 𝑔𝑖𝑛𝑖(𝐷2) là chỉ số gini khi chia tách D dựa trên thuộc tính A Độ giảm sự pha tạp thông tin theo thuộc tính A: ∆𝑔𝑖𝑛𝑖(𝐴) = 𝑔𝑖𝑛𝑖(𝐷) − 𝑔𝑖𝑛𝑖𝐴(𝐷) Thuộc tính cung cấp 𝑔𝑖𝑛𝑖𝑠𝑝𝑙𝑖𝑡(𝐴) nhỏ nhất (hoặc mức giảm sự pha tạp thông tin lớn nhất) được chọn để phân chia nút
Tập hợp các quy tắc phân tách có thể được tìm thấy dọc theo đường dẫn kết nối gốc cây với một nút lá tạo thành quy tắc phân loại Trong giai đoạn dự đoán, để gán lớp mục tiêu cho một dữ liệu mới, một đường dẫn được theo dõi từ nút gốc đến nút lá bằng cách tuân theo chuỗi quy tắc được áp dụng cho các giá trị của các thuộc tính của dữ liệu mới Lớp mục tiêu dự đoán sau
đó trùng khớp với lớp mà nút lá đạt được đã được dán nhãn trong giai đoạn phát triển
Cây quyết định là một mô hình phân lớp tốt, tuy nhiên chúng cũng dễ xảy ra hiện tượng quá mức (overfitting) do cây có thể có quá nhiều nhánh và nhạy cảm với dữ liệu huấn luyện dẫn đến không tổng quát để dự đoán Để khắc phục, một số quy tắc cắt tỉa cây được đưa ra
• Quy tắc cắt tỉa trước: sử dụng một số tiêu chí hạn chế sự phát triển của cây khi xây dựng cây như kích thước nút (nút chứa số lượng dữ liệu đặt một ngưỡng nào đó), độ tinh khiết (tỷ lệ dữ liệu thuộc cùng một lớp),
Trang 9cải thiện (mức độ giảm sự hỗn loạn hay phá tạp của dữ liệu), độ sâu tối
đa của cây,… Tuy nhiên việc chọn ngưỡng phù hợp cho các quy tắc là khó khăn và đòi hỏi nhiều thử nghiệm
• Quy tắc cắt tỉa sau: có những kỹ thuật được cắt tỉa sau, được áp dụng sau khi đã xây dựng hoàn chỉnh một cây để giảm số lượng phân nhánh và hy vọng cải thiện kết quả mô hình, phương pháp này sử dụng bộ dữ liệu độc lập với tập huấn luyện để xác định cây được cắt tỉa tốt nhất
Ưu điểm của cây quyết định:
• Làm việc tốt với bộ dữ liệu lớn
• Ứng dụng trong nhiều lĩnh vực khác nhau
• Sinh ra quy tắc dễ hiểu, các bộ luật ứng với mỗi nút lá
Nhược điểm của cây quyết định:
• Khó giải quyết các vẫn đề có biến mục tiêu liên tục
• Dễ thiên vị với bộ dữ liệu không cân bằng
• Dễ xảy ra quá mức (overfitting)
Trang 10Chương 2: Phân tích hệ thống
2.1 Biểu đồ phân cấp chức năng
Biểu đồ phân cấp chức năng
2.2 Biều đồ luồng dữ liệu
2.2.1 Biều luồng dữ liệu mức ngữ cảnh
Trang 11Biểu đồ luồng dữ liệu mức ngữ cảnh
2.2.2 Biều đồ luồng dữ liệu mức đỉnh
Biều đồ luồng dữ liệu mức đỉnh
2.2.3 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng xử lý dữ liệu
Trang 122.2.4 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng dự đoán
Trang 13Chương 3: Thiết kế chương trình
3.1 Về mặt dữ liệu
id id của một dữ liệu, chỉ thời gian varchar
location Vị trí của một nút mạng varchar
event_type Sự kiện xảy ra tại địa điểm trong
thời gian nào đó
varchar
resource_type Tài nguyên phần cứng, cơ sở hạ
tầng của nút mạng tại 1 vị trí
varchar
log_feature Tính năng nhật ký, ghi lại nhật ký
hoạt độn của nút mạng
varchar
severity_type Cảnh báo gửi về từ nút mạng varchar
fault_severity Mức độ nghiêm trọng của sự cố int
3.2 Mô hình hệ thống
Mô hình hệ thống
Trang 143.3 Về mặt giao diện
3.3.1 Công nghệ sử dụng
Chương trình sử dụng các các công nghệ, thư viện Machine Learning để lập trình mô hình máy học và sử dụng các ngôn ngữ HTML, CSS,
Javascript, Python để lập trình giao diện website
• HTML là từ viết tắt của HyperText Markup Language (ngôn ngữ đánh dấu siêu văn bản) dùng mô tả cấu trúc của các trang Web và tạo ra các loại tài liệu có thể xem được trong trình duyệt
• CSS (viết tắt của Cascading Style Sheets) là một ngôn ngữ định dạng được sử dụng để mô tả trình bày các trang Web, bao gồm màu sắc, cách bố trí và phông chữ CSS cho phép chúng hiển thị nội dung tương thích trên các loại thiết bị có kích thước màn hình khác nhau, chẳng hạn như màn hình lớn, màn hình nhỏ như điện thoại hay máy tính bản
• JavaScript là một ngôn ngữ nhanh và nhẹ chạy trong môi trường máy chủ lưu trữ (ví dụ: trình duyệt web), JavaScript có thể được kết nối với các đối tượng của môi trường để cung cấp kiểm soát chương trình đối với chúng JavaScript cho phép bạn thực hiện những điều phức tạp trên các trang web như bản đồ tương tác Javascript được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox, Chrome, thậm chí các trình duyệt trên thiết bị di động cũng có hỗ trợ
• Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng (object-oriented), và là một ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics) Python hỗ trợ các module và gói (packages), khuyến khích chương trình module hóa và tái sử dụng mã Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạng
mã nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính
Trang 15và có thể được phân phối tự do Được sử dụng để chạy model của bài toán
• Framework Flask Flask là một web frameworks, nó thuộc loại micro-framework được xây dựng bằng ngôn ngữ lập trình Python Flask cho phép bạn xây dựng các ứng dụng web từ đơn giản tới phức tạp Nó có thể xây dựng các api nhỏ, ứng dụng web chẳng hạn như các trang web, blog, trang wiki hoặc một website dựa theo thời gian hay thậm chí là một trang web thương mại Flask cung cấp cho bạn công cụ, các thư viện và các công nghệ hỗ trợ bạn làm những công việc trên
3.3.2 Giao diện sản phẩm
Trang DATA: Màn hình quản lý dữ liệu, hiển thị tổng số dữ liệu đang
có trong hệ thống cần được dự đoán, giúp nhà quản lý có cái nhìn tổng quan về hệ thống, nhà quản lý có thể xem danh sách các dữ liệu với các thông tin chính như id, vị trí, các sự kiện liên quan, tài nguyên cơ sở hạ tầng của nút mạng, nhật ký hoạt động của nút mạng và loại cảnh báo, ngoài ra còn có biểu đồ phân bố của từng thông tin thuộc tính dữ liệu, giúp nhà quản lý có cái nhìn trực quan sinh động hơn
Trang 16Trang PREDICT: Trang dự đoán: đưa ra kết quả dự đoán rõ ràng cho từng
dữ liệu đầu vào, đưa ra một số biểu đồ thống kê về mức độ nghiêm trọng và sự gián đoạn nghiêm trọng trên một số trường thuộc tính
Trang 19Kết luận
Trong bài báo cáo này em đã trình bày về quy trình phân tích thiết kế hệ thống hỗ trợ dự đoán mức độ nghiệm trọng của sự gián đoạn dịch vụ mạng, bao gồm quy trình điều tra khảo sát, mô hình áp dụng, phân tích hệ thống và thiết kế giao diện Đưa ra các dự đoán dưới dạng báo cáo trực quan, dễ sử dụng Do còn những hạn chế nhất định về thời gian, kinh nghiệm nên bài báo cáo không tránh khỏi những sai sót, em rất mong nhận được những ý kiến đóng góp chỉnh sửa từ Thầy để bài báo cáo của em được hoàn thiện hơn