Nghiên cứu xây dựng mô hình chuyển đổi tri thức cho máy chủ web

105 10 0
Nghiên cứu xây dựng mô hình chuyển đổi tri thức cho máy chủ web

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC QUY NHƠN HỒ HUY CƢỜNG NGHIÊN CỨU XÂY DỰNG MƠ HÌNH CHUYỂN ĐỔI TRI THỨC CHO MÁY CHỦ WEB Chuyên ngành: Khoa học máy tính Mã số: 8480101 Ngƣời hƣớng dẫn: TS Nguyễn Thành Đạt LỜI CAM ĐOAN Tôi xin cam đoan đề tài “Nghiên cứu xây dựng mơ hình chuyển đổi cho máy chủ Web” kết tự thân tơi tìm hiểu, nghiên cứu Các số liệu, dẫn chứng tài liệu tham khảo đƣợc trích dẫn thích đầy đủ Tơi xin chịu trách nhiệm luận văn LỜI CẢM ƠN Qua trình học tập thời gian nghiên cứu làm luận văn, trƣớc tiên xin gửi lời cảm ơn chân thành đến Thầy Cô giáo tham gia tổ chức, đạo trực tiếp giảng dạy suốt khóa học vừa qua Đặc biệt, tơi xin gửi lời cảm ơn sâu sắc đến Thầy giáo hƣớng dẫn TS Nguyễn Thành Đạt, ngƣời tận tình bảo, góp ý, giúp đỡ tạo điều kiện để tơi hồn thành luận văn Cũng qua đây, xin gửi lời cảm ơn đến anh chị học viên lớp cao học Khoa học máy tính khóa trƣớc giúp đỡ tơi nhiều trình học tập nghiên cứu Cuối cùng, tơi xin gửi lời cảm ơn đến gia đình bạn bè giúp đỡ, ủng hộ suốt q trình học tập, nghiên cứu hồn thành luận văn Trong thời gian qua cố gắng tập trung nghiên cứu tìm hiểu để hồn thành thật tốt luận văn nhƣng chắn cịn nhiều thiếu sót mong đƣợc nhận bảo Thầy Cô giáo để luận văn đƣợc hoàn thiện Quy Nhơn, tháng năm 2020 Hồ Huy Cƣờng MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu nghiên cứu 3 Đối tƣợng phạm vi nghiên cứu Phƣơng pháp nghiên cứu Ý nghĩa khoa học thực tiễn Chƣơng 1: TỔNG QUAN VỀ CHUYỂN ĐỔI TRI THỨC VÀ CÔNG CỤ PARSER 1.1 Giới thiệu quản lý tri thức 1.1.1 Khái quát Tri thức quản lý tri thức 1.1.2 Quy trình quản lý tri thức 1.1.3 Công nghệ quản lý tri thức 11 1.1.4 Lợi ích việc quản lý tri thức 12 1.2 Tổng quan ontology 13 1.2.1 Giới thiệu Ontology 14 1.2.2 Ứng dụng Ontology 15 1.2.3 Phân loại Ontology 16 1.2.4 Ngôn ngữ Ontology 17 1.3 Tổng quan Log Parser 25 1.3.1 Giới thiệu Log Paser [24] 25 1.4 Máy chủ Web 27 1.4.1 Máy chủ web – web server 27 1.4.2 Các đặc tính web server 28 1.4.3 Cơ chế hoạt động máy chủ web 29 1.4.4 Các loại web server phổ biến 34 1.4.5 Nhật ký máy chủ web (Web Server Log) 37 1.4.6 Các loại nhật ký máy chủ web 38 1.5 Máy chủ IIS 40 1.5.1 Giới thiệu máy chủ web IIS 40 1.5.2 Chức máy chủ web IIS 41 1.6 Máy chủ Apache 42 1.6.1 Giới thiệu máy chủ web Apache 42 1.6.2 Hoạt động máy chủ web Apache 42 1.7 Tổng kết Chƣơng I 43 Chƣơng 2: PHÂN TÍCH CÚ PHÁP FILE LOG DỰA VÀO ONTOLOGY VÀ PARSER 45 2.1 Phân tích cú pháp 45 2.1.1 Tổng quan phân tích cú pháp [19] 45 2.1.2 Các phƣơng pháp phân tích cú pháp [19] 47 2.2 Tổng quan phân tích cú pháp - Parser 49 2.2.1 Cấu trúc Parser 49 2.2.2 Hoạt động Parser 51 2.2.3 Mô hình hoạt động Phân tích cú pháp dựa vào Ontology 53 2.3 Kiến trúc máy chủ Web 55 2.4 Cấu trúc File Log 57 2.5 Xây dựng Ontology 59 2.5.1 Xác định mục đích sử dụng Ontology 59 2.5.2 Xây dựng lớp Ontology 59 2.5.3 Định nghĩa thuộc tính, ràng buộc thuộc tính quan hệ cho lớp 60 2.5.4 Tạo thực thể cho lớp 62 2.6 Kết luận Chƣơng 63 Chƣơng 3: CÀI ĐẶT, THỰC NGHIỆM VÀ ĐÁNH GIÁ 64 3.1 Cài đặt 64 3.1.1 Protégé 64 3.1.2 Python 68 3.1.3 Cấu hình máy tính 71 3.1.4 Lệnh truy vấn SPARQL 72 3.2 Thiết kế mơ hình 74 3.2.1 Sử dụng Protégé thiết kế Ontology cho Log IIS webserver 74 3.3 Thực nghiệm 78 3.3.1 Triển khai thực nghiệm 79 3.4 Đánh giá 83 3.4.1 Đánh giá mơ hình Ontology dựa mơ hình OntoQA [18] 83 3.4.2 Đánh giá Parser 85 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 89 1.Kết luận chung 89 2.Hƣớng phát triển đề tài 89 DANH MỤC TÀI LIỆU THAM KHẢO 90 PHỤ LỤC QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (bản sao) DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT STT Ký hiệu viết tắt Tên tiếng Anh Ý nghĩa Hypertext Transfer Giao thức truyền tải siêu văn Protocol HTTP CNTT Information Technology Công nghệ thông tin CSDL Database Cơ sở liệu IIS XML LSWS CGI SMTP POP 10 URL 11 RDF 12 RDFS 13 OWL Internet Information Services Extensible Markup Language LiteSpeed Web Server Computer-Generated Imagery Dịch vụ thông tin Internet Ngôn ngữ đánh dấu mở rộng Máy chủ Web LiteSpeed Máy tính tạo hình ảnh Simple Mail Transfer giao thức truyền tải thƣ tín Protocol đơn giản Post Office Protocol Giao thức Bƣu điện Uniform Resource Locator Resource Description Framework Đƣờng dẫn truy cập đến tài nguyên mạng Internet Khung mô tả tài nguyên Resource Description Lƣợc đồ khung mô tả tài Framework Schema nguyên Ontology Web Language Ngôn ngữ web Ontology 14 WWW 15 SLCT World Wide Web Dịch vụ Web Simple Logfile Clustering Công cụ phân cụm tệp nhật Tool ký đơn giản Word vocabulary 16 construction Cluster candidates 17 construction 18 Cấu trúc từ vựng từ Cụm ứng viên xây dựng Log template generation Tạo mẫu nhật ký Iterative Partitioning Log Khai thác nhật ký phân vùng Mining lặp lại Log Key Extraction Trích xuất khóa nhật ký 19 IPLoM 20 LKE 21 API 22 CSV Comma Separated Values 23 TSV Tab-Separated Values 24 SMTP Application Programming Interface Giao diện lập trình ứng dụng Các giá trị đƣợc phân tách dấu phẩy Các giá trị đƣợc phân tách tab Simple Mail Transfer Giao thức truyền tải thƣ tín Protocol đơn giản DANH MỤC CÁC BẢNG Bảng 1.1 Các lớp thuộc tính OWL 25 Bảng 2.1 Cấu trúc tệp Log IIS 57 Bảng 2.1 Các thuật ngữ quan trọng Ontology 60 Bảng 2.2 Các thuộc tính quan hệ cho lớp 60 Bảng 2.3 Các ràng buộc thuộc tính quan hệ 61 Bảng 3.2 Thời gian chuyển đổi liệu thực nghiệm 87 Bảng 4.3 Thời gian chuyển đổi liệu thực nghiệm 87 DANH MỤC CÁC HÌNH VẼ Hình 1.1 Mơ hình liệu, thơng tin tri thức Hình 1.2 Sơ đồ từ liệu đến tri thức[14] Hình 1.3 Các bƣớc quản lý tri thức Hình 1.4 Phân loại Ontology 16 Hình 1.5 Mối quan hệ thành phần triple 18 Hình 1.6 So sánh RDF RDFS 21 Hình 1.7 Mơ hình web server [17] 27 Hình 1.8 Mơ hình hoạt động web server [17] 29 Hình 1.9 Web server Apache 34 Hình 1.10 IIS Control Panel 35 Hình 1.11 Web server Nginx 36 Hình 1.12 Web server LiteSpeed 37 Hình 1.13 Cơ chế hoạt động IIS 42 Hình 1.14 Kiến trúc máy chủ Apache 43 Hình 2.1 Cấu trúc Log Parser 51 Hình 2.2 Mơ hình hoạt động Parser 52 Hình 2.3 Mơ hình hoạt động thành phần Parser 52 Hình 2.4 Mơ hình xử lý liệu Ontology [21] 53 Hình 2.5 Mơ hình truy xuất liệu Ontology [21] 54 Hình 2.6 Mơ hình hoạt động Parser dựa vào Ontology 54 Hình 2.7 Các thành phần máy chủ web 56 Hình 2.8 Ví dụ file log IIS 57 Hình 2.9 Các lớp cấu trúc phân cấp 59 Hình 2.10 Mơ tả Ontology Log IIS webserver 62 Hình 2.11 Các thực thể lớp 63 80 - Import thƣ viện đƣợc sử dụng Code Hình 3.16 Import thƣ viện - Tiến hành tạo file Ontology để chứa liệu Hình 3.17 Khởi tạo Ontology - Tiến hành đọc file Log bóc tách trƣờng liệu đƣa vào file Ontology vừa khởi tạo theo trƣờng tƣơng ứng 81 Hình 3.18 Đọc bóc tách trƣờng từ file Log đƣa vào Ontology - Kết thu đƣợc Hình 3.19 Kết thu đƣợc 82 - Tiến hành truy vấn liệu vừa thực Hình 3.20 Truy vấn liệu - Kết đạt đƣợc Hình 3.21 Kết truy vấn liệu 83 - Kiểm tra Protégé Hình 3.22 Kiểm tra liệu sau chuyển đổi Protégé  Quá trình chuyển liệu từ file Log chuyển sang mơ hình Ontology xác 100% 3.4 Đánh giá 3.4.1 Đánh giá mơ hình Ontology dựa mơ hình OntoQA [18] Relationship Richness (RR) Số liệu phản ánh đa dạng loại quan hệ Ontology Một Ontology chứa mối quan hệ thừa kế thƣờng truyền tải thơng tin Ontology chứa tập hợp mối quan hệ khác Sự phong phú mối quan hệ đƣợc biểu thị tỷ lệ phần trăm mối quan hệ không kế thừa lớp so với tất kết nối có thể bao gồm mối quan hệ kế thừa không kế thừa RR lƣợc đồ đƣợc định nghĩa tỷ lệ số mối quan hệ không kế 84 thừa (P), chia cho tổng số mối quan hệ đƣợc xác định lƣợc đồ, tức tổng số lƣợng mối quan hệ kế thừa (H) mối quan hệ không kế thừa (P) RR = |P| / (|H|+|P|) Trong luận văn: RR = |15| / (|9| + |15|) = 0.625 RR = 0.625 nằm khoảng Nên lớp vừa có mối quan hệ class–class, vừa có mối quan hệ class–individual Inheritance Richness (IR) IR mô tả phân phối thông tin qua cấp độ khác kế thừa Ontology Đây số liệu tốt mức độ kiến thức đƣợc nhóm thành loại phân loại khác Ontology Biện pháp phân biệt Ontology ngang, mà lớp có số lƣợng lớn lớp trực tiếp, với Ontology dọc, mà lớp có số lƣợng nhỏ lớp trực tiếp Một Ontology với độ phong phú thừa kế thấp Ontology dọc, thể học bao trùm miền cụ thể cách chi tiết, Ontology có IR cao Ontology ngang, Ontology đại diện cho loạt kiến thức chung với mức độ chi tiết thấp IR đƣợc định nghĩa số lớp lớp: IR = | H | / | C | Trong luận văn: IR = | | / | 10 | = 0.9 IR = 0.9 (Cao) Ontology đại diện cho loạt kiến thức chung Attribute Richness (AR) Số lƣợng thuộc tính đƣợc xác định cho lớp chất lƣợng thiết kế Ontology lƣợng thông tin liên quan đến liệu cá thể Nói chung, giả định nhiều vị trí đƣợc xác định có nhiều kiến thức mà thể học truyền tải AR đƣợc định nghĩa số lƣợng thuộc tính trung bình lớp Nó đƣợc tính tất số thuộc tính chia cho số lƣợng lớp: AR= |att| / |C| Trong luận văn: AR = |38| / |9| = 4.22 85 AR = 4.22 Mỗi lớp có số lƣơng thuộc tính trung bình cao Class Richness (CR) Số liệu có liên quan đến cách thể đƣợc phân phối lớp Số lƣợng lớp đƣợc so sánh với tổng số lớp, đƣa ý tƣởng chung mức độ sử dụng kiến thức đƣợc mô hình hóa lớp lƣợc đồ Do đó, có CR thấp, khơng có liệu ví dụ cho tất kiến thức lớp tồn lƣợc đồ Mặt khác, CR cao liệu tồn đại diện cho hầu hết kiến thức lƣợc đồ CR đƣợc định nghĩa tỷ lệ phần trăm số lớp không trống (C’) chia cho tổng số lớp đƣợc định nghĩa lƣợc đồ (C): CR = |C’| /| C| Trong luận văn: CR = |9| / |9| = CR = -> Dữ liệu đại diện cho toàn kiến thức lƣợc đồ 3.4.2 Đánh giá Parser Đánh giá độ xác q trình chuyển đổi liệu từ file log sang ontology Thực chuyển đổi liệu từ 400 liệu đến 100000 liệu Bảng 3.1 Số liệu chuyển đổi từ Log IIS sang Ontology Số liệu cần chuyển Dữ liệu tiếp nhận 400 400 600 600 1000 1000 3000 3000 4000 4000 10000 10000 15000 15000 40000 40000 75000 75000 100000 100000  Dữ liệu ln đạt 100% q trình chuyển đổi Tỷ lệ 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% từ liệu Log IIS sang Ontology  So sánh với Parser khác nhƣ giới thiệu mục 2.1.2 ta thấy, 86 trình chuyển đổi Parser Log IIS ổn định so với Parser khác Do Parser Log IIS tối ƣu độ xác Hình 3.23 So sánh độ xác việc thực chuyển đổi Parser Log IIS với Parser khác Đánh giá thời gian thực Tiến hành so sánh đánh giá Parser với Parser khác, so sánh mang tính chất khách quan dựa quan sát thời gian thực chuyển đổi liệu từ liệu Log sang Ontology 87 Thực nghiệm 1: Bảng 3.2 Thời gian chuyển đổi liệu thực nghiệm Số lƣợng liệu LogIIS 400 0,41 0,01 0,03 8,02 10,00 4000 3,50 0,07 0,1 100 1000 40000 55,00 0,5 0,3 800 X 400000 X 8000 X 4000000 X 20 10000 X SLCT IPLoM LogSix LKE Thực nghiệm 2: Bảng 3.3 Thời gian chuyển đổi liệu thực nghiệm Số lƣợng liệu LogIIS 600 0,52 0,03 0,05 50 3000 2,93 0,06 0,3 900 15000 20,69 0,25 0,9 100 10000 75000 104,61 900 X 375000 X 5000 X SLCT IPLoM LogSix LKE Hình 3.24 So sánh thời gian thực Parser Log IIS với Parser khác 88  Vậy số lƣợng kiện lớn thời gian chuyển đổi lâu Với số lƣợng kiện từ 3000 trở thời gian chuyển đổi dài Ngồi thời gian chuyển đổi bị phụ thuộc vào yếu tố khách quan khác nhƣ: tốc độ, độ ổn định internet, cấu hình máy tính sử dụng ngƣời dùng  Thời gian thực chuyển đổi Parser luận văn chậm so với Parser khác Do đó, Parser Log IIS chƣa tối ƣu với thời gian chuyển đổi 89 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết luận chung Trong nghiên cứu này, ngồi phần trình bày khái niệm Ontology, máy chủ Web, nhật ký máy chủ Web, quản lý tri thức, xây dựng mô hình Parser chuyển đổi dựa cấu trúc file IIS Log, kết hợp với phƣơng pháp rút trích từ file Log truy vấn liệu từ file OWL Việc thử nghiệm đƣợc thực file Log máy chủ Web Kết đạt đƣợc luận văn - Hiểu kiến thức Ontology, máy chủ Web, nhật ký máy chủ Web, quản lý tri thức, cách thức truy xuất file Log - Xây dựng mô hình Ontology dành cho quản lý tri thức kiện máy chủ Web IIS - Xây dựng mơ hình Parser rút trích liệu từ file Log máy chủ IIS vào mơ hình Ontology Một số kết chƣa đạt đƣợc: - Mơ hình chuyển đổi hoạt động chậm liệu lớn - Còn nhiều loại Log khác chƣa đƣợc đƣa vào mơ hình - Chƣa đƣa giải pháp vào mơ hình chuyển đổi - Chƣa triển khai thành cơng cụ hồn chỉnh cho ngƣời dùng Hƣớng phát triển đề tài Trên sở kết đạt đƣợc nghiên cứu này, nhận thấy số vấn đề cần tiếp tục đƣợc nghiên cứu để có đƣợc kết tốt nhƣ: - Tiếp tục nghiên cứu thử nghiệm để tối ƣu mơ hình Ontology - Tiếp tục nghiên cứu loại Log khác nhƣ: Apache Log, Error Log, System Log, … đƣa vào Parser để tạo thành mơ hình tổng quát cho loại Log - Tiếp tục xây dựng Parser thành cơng cụ hồn chỉnh cho ngƣời dùng 90 DANH MỤC TÀI LIỆU THAM KHẢO [1] John Wiley & Sons, Microsoft Official Academic Course, “Windows Server Administration Fundamentals”, 2011 [2] Daniil Mirylenka, Andrea Passerini, and Luciano Serafini - Bootstrapping Domain Ontologies from Wikipedia: A Uniform Approach - of the Twenty-Fourth International Joint Conference on Artificial Intelligence, 2015 [3] Patrick, Killelea, Web performance tuning (2nd ed.) Beijing: O'Reilly p 264, 2012 [4] Webdevelopersnotes, “What is web server?'”, 2010 [5] Girard, John P.; Girard, JoAnn L (2015) "Defining knowledge management: Toward an applied compendium" (PDF) Online Journal of Applied Knowledge Management (1): 14 [6] University of North Carolina at Chapel Hill Introduction to Knowledge Management 2014 [7] ThS Trần Hùng Cƣờng, ThS Ngô Đức Vĩnh - Khoa Công nghệ thông tin Trƣờng Đại học Công nghiệp Hà Nội, Tổng quan phát tri thức khai phá liệu, 2011 [8] Maier, Ronald, and Thomas Hadrich Knowledge management systems Encyclopedia of Knowledge Management, Second Edition IGI Global, 2011 [9] Davies, John; Grobelnik, Marko; Mladenić, Dunja Semantic Knowledge Management: Integrating Ontology Management, Knowledge Discovery, and Human Language Technologies, 2009 [10] Retrieved 27 November 2010 "Parse" dictionary.reference.com [11] ThS Vũ Ngọc Hiếu, Giáo Trình Hệ Thống Thơng Tin Quản Lý, 2017 91 [12] Smith, Barry Ontology The furniture of the world Brill Rodopi, 2012 [13] Gruber, Tom Ontology 2018 [14] Jonathan Fulton Web Architecture, 2017 [15] Tartir, Samir, I Budak Arpinar, and Amit P Sheth "Ontological evaluation and validation." Theory and applications of ontology: Computer applications Springer, Dordrecht, 2010 [16] He, Pinjia, et al "An evaluation study on log parsing and its use in log mining." 2016 [17] J Lou, Q Fu, S Yang, Y Xu, and J Li, Mining invariants from console logs for system problem detection, 2010 [18] Yu, Binbin Research on information retrieval model based on ontology, 2019 [19] Quách Xuân Hƣng, Một Số Phương Pháp Tích Hợp Ontology Dựa Vào Logic Mô Tả Mờ Trƣờng Đại học Khoa học – Đại học Huế, 2020 [20] Deborah L McGuinness, OWL Web Ontology Language, 2009 [21] Giuseppini, Gabriele "Log parser." U.S Patent Application, 2004 PL-1 PHỤ LỤC Mơ hình Parser chuyển đổi liệu Log vào mơ hình Ontology import datetime import time from owlready2 import * import csv import time start = time.time() onto = get_ontology("http://test.org/onto.owl") onto.save("structure.owl") with open('D:\Hoc Tap\Log\LogOnto.csv', newline='') as csvfile: reader = csv.DictReader(csvfile) count = for row in reader: count = count + log = Log("Log_"+str(count)) log.hasLogFileName = row['LogFilename'] log.hasLogRow = row['LogRow'] date = Date("Date_"+str(count)) date.hasDate = row['date'] date.hasTime = row['time'] log.hasLogDate.append(date) PL-2 user = User("User_"+str(count)) user.hasUserIP = row['c-ip'] user.hasUserName = row['cs-username'] user.hasSitename = row['s-sitename'] log.hasLogUser.append(user) webServer = WebServer("WebServer_"+str(count)) webServer.hasServerName = row['s-computername'] webServer.hasServerIP = row['s-ip'] webServer.hasServerPort = row['s-port'] log.hasLogWebServer.append(webServer) type = Type("Type_"+str(count)) type.hasMethod = row['cs-method'] type.hasRequest = row['cs-uri-stem'] type.hasReferer = row['cs-uri-query'] log.hasLogType.append(type) status = Status("Status_"+str(count)) status.hasStatus = row['sc-status'] status.hasSubStatus = row['sc-substatus'] status.hasWin32 = row['sc-win32-status'] log.hasLogStatus.append(status) event = Event("Event_"+str(count)) event.hasSizeOfRequest = row['sc-bytes'] event.hasSizeOfReceive = row['cs-bytes'] PL-3 event.hasTimeTaken = row['time-taken'] event.hasVersion = row['cs-version'] event.hasServerName = row['cs-host'] event.hasUserAgent = row['cs(User-Agent)'] event.hasRefererUser = row['cs(Referer)'] log.hasLogEvent.append(event) if (count>20000): break onto.save("LogOntology.owl") ... hình nhƣ: máy chủ sở liệu , máy chủ tệp , máy chủ thƣ , máy chủ in , máy chủ web , máy chủ trò chơi máy chủ ứng dụng Vậy Máy chủ web gì? Máy chủ web (Tiếng anh gọi Web server) phần mềm máy chủ phần... truy vấn chuyển đổi tri thức Log máy chủ vào sở liệu tri thức dựa vào Ontology Mục tiêu cụ thể: - Xây dựng mơ hình quản lý tri thức kiện máy chủ web - Phân tích hệ thống log kiện máy chủ web - Tìm... dựng công cụ chuyển đổi sở tri thức dựa mơ hình Ontology cho hệ thống kiện (Log) cho máy chủ Web IIS 4 Phƣơng pháp nghiên cứu - Nghiên cứu lý thuyết sở tri thức, mơ hình quản lý tri thức dựa vào

Ngày đăng: 10/08/2021, 15:57

Tài liệu cùng người dùng

Tài liệu liên quan