Nghiên cứu và phát triển giải pháp xử lý dữ liệu dòng tại nút biên trong lĩnh vực y tế

66 9 0
Nghiên cứu và phát triển giải pháp xử lý dữ liệu dòng tại nút biên trong lĩnh vực y tế

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA ———————————– NGUYỄN LÊ NGỌC DƯƠNG NGHIÊN CỨU VÀ PHÁT TRIỂN GIẢI PHÁP XỬ LÝ DỮ LIỆU DÒNG TẠI NÚT BIÊN TRONG LĨNH VỰC Y TẾ Ngành: Khoa Học Máy Tính Mã ngành: 8.48.01.01 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2021 CƠNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA–ĐHQG-HCM Cán hướng dẫn khoa học : PGS.TS Thoại Nam Cán chấm nhận xét : TS Nguyễn Quang Hùng Cán chấm nhận xét : PGS.TS Nguyễn Thanh Hiên Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 05 tháng 08 năm 2021 (Trực tuyến) Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) Chủ Tịch: PGS.TS Trần Văn Hoài Thư Ký: TS Lê Thanh Vân Phản Biện 1: TS Nguyễn Quang Hùng Phản Biện 2: PGS.TS Nguyễn Thanh Hiên Uỷ Viên: PGS.TS Trần Công Hùng Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự Do - Hạnh Phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Lê Ngọc Dương MSHV: 1970212 Ngày, tháng, năm sinh: 23/08/1996 Nơi sinh: Cần Thơ Ngành: Khoa Học Máy Tính Mã số: 8.48.01.01 I TÊN ĐỀ TÀI: Nghiên cứu phát triển giải pháp xử lý liệu dòng nút biên lĩnh vực y tế NHIỆM VỤ VÀ NỘI DUNG: – Tìm hiểu thách thức xử lý liệu lớn lĩnh vực y tế mơ hình mơ hình điện tốn biên/sương mù ứng dụng lĩnh vực y tế; – Tìm hiểu bệnh tim mạch, phương pháp theo dõi bệnh tim mạch, ứng dụng học máy để xây dựng mơ hình dự đốn bệnh tim mạch nhà; – Dựa điện toán biên/sương mù xây dựng khung phần mềm thu thập phân tích liệu có khả mở rộng xử lý theo thời gian thực; – Đánh giá tính khả thi so sánh với cơng trình nghiên cứu trước II NGÀY GIAO NHIỆM VỤ: 20/01/2021 III NGÀY HOÀN THÀNH NHIỆM VỤ: 20/06/2021 IV CÁN BỘ HƯỚNG DẪN: PGS.TS Thoại Nam Tp HCM, ngày tháng năm 2021 CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) (Họ tên chữ ký) TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH (Họ tên chữ ký) Lời cảm ơn Đầu tiên lời cảm ơn chân thành đến Thầy PGS.TS Thoại Nam suốt thời gian qua hướng dẫn giúp đỡ tận tình trình thực luận văn tốt nghiệp Với lời nhận xét hướng dẫn, định hướng chun nghiệp Thầy giúp tơi có hướng tiếp cận để thực đề tài, giúp thấy thuận lợi hạn chế phương pháp khác bước khắc phục để ngày hồn thiện Bên cạnh lời cảm ơn sâu sắc đến gia đình bạn bè động viên, cổ vũ tinh thần góp ý suốt q trình học tập thực đề tài, đặc biệt gia đình chăm lo hy sinh nhiều để tơi chun tâm học tập Và sau cùng, tơi kính chúc quý Thầy Cô khoa Khoa Học Kĩ Thuật Máy Tính nhiều sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền nhiệt huyết kiến thức cho hệ mai sau TP.Hồ Chí Minh, Tháng 08 Năm 2021 Nguyễn Lê Ngọc Dương i Tóm tắt Trong bối cảnh số hố tồn cầu nhiều lĩnh vực khác nhau, đặc biệt lĩnh vực y tế việc theo dõi quản lý nhu cầu sức khoẻ từ xa theo thời gian thực để dự đốn trước bệnh tật giúp giảm chi phí nhập viện ưu tiên hàng đầu cho quốc gia toàn giới Vì vậy, thiết bị y tế có khả kết nối internet ứng dụng di động, v.v liên tục phát triển Tuy nhiên thiết bị liên tục sinh lượng liệu khổng lồ, gọi liệu lớn Với tốc độ tạo liệu ngày nhanh, nên việc thu thập, xử lý phân tích liệu để thực dự đoán trường hợp khẩn cấp trích xuất thơng tin theo thời gian thực thách thức lớn kiến trúc phương pháp xử lý truyền thống Do đó, cần phải có giải pháp kiến trúc phương pháp xử lý luồng liệu theo thời gian thực cách hiệu có khả mở rộng cao Để khắc phục vấn đề này, luận văn đề xuất khung phần mềm hỗ trợ phân tích dự đốn trước bệnh theo thời gian thực, giúp theo dõi bệnh nhân từ xa, giúp làm giảm nhiều chi phí Khung phần mềm xây dựng dựa kiến trúc đề xuất gần gọi điện toán biên/sương mù (Edge/Fog Computing), đem lại khả xử lý phản hồi nhanh máy xử lý đặt vị trí gần nguồn sinh liệu, ngồi cịn có khả lưu trữ nút biên/sương mù (Edge/Fog Node) Khung phần mềm tập trung vào việc thu thập liệu từ thiết bị ứng dụng di động thông qua Apache Kafka, loại bệnh quản lý nhiều Kafka Topics, ứng dụng giúp xử lý liệu áp dụng mơ hình học máy dự đốn xây dựng dựa Kafka Streams Để kiểm chứng cho tính khả thi khung phần mềm, luận văn xây dựng khung phần mềm giúp thu thập liệu dự doán bệnh tim mạch (Heart Disease) với mơ hình học sâu (Deeplearning) huấn luyện từ tập liệu có sẵn ii Abstract In our current age of global digitization across different fields, medical in particular, real-time remote health monitoring and managing helps predict diseases in advance and reduce hospitalization costs As a result, such practice has become a top priority for many countries around the world Therefore, Internetcapable medical devices, wearables, mobile applications, etc are continuously developed However, these devices ceaselessly generate huge amounts of data, formally known as Big Data With the speed of data generation getting increasingly faster, it is a challenge for traditional processing architectures and methods to collect, process, and analyze this data in order to make emergency predictions or extract real-time information Thus, there exists an urgent need for an efficient and scalable real-time data stream processing architecture and method To solve this problem, this thesis proposes a software framework that supports real-time analysis and prediction of diseases so as to help monitor patients remotely and reduce costs The software framework is based on a recently proposed architecture called Edge/Fog Computing, which provides fast processing and responses thanks to the processing machines being placed near the data generation sources and the storage capability at Edge/Fog Nodes Moreover, the software framework is focused on collecting data from mobile devices and applications via Apache Kafka - each disease will be managed by one or more Kafka Topics, while Kafka Streams is used to build applications that preprocess data and apply predictive machine learning models To substantiate the viability of the software framework, this thesis builds a software framework to help monitor and predict cardiovascular disease through a Deep Learning model trained from the available data sets with the aim of detecting disease risks as early as possible iii Lời cam đoan Tôi Nguyễn Lê Ngọc Dương học viên cao học khoa Khoa Học Kĩ Thuật Máy Tính, Đại học Bách Khoa TP HCM, MSHV 1970212 Tôi xin cam đoan luận văn thạc sĩ "Nghiên cứu phát triển giải pháp xử lý liệu dòng nút biên lĩnh vực y tế" kết tìm hiểu, nghiên cứu độc lập thân Tôi xin cam đoan: Luận văn thực cho mục đích tìm hiểu nghiên cứu bậc cao học Các cơng trình, báo tham khảo để xây dựng nên luận văn trích dẫn, tham khảo Tất tài liệu trích dẫn có tính kế thừa từ tạp chí cơng trình nghiên cứu công bố Những công cụ, phần mềm cho trình thực luận văn phần mềm mã nguồn mở Hình ảnh số liệu trích dẫn nguồn tham khảo rõ ràng Kết nghiên cứu trình bày trung thực dựa số liệu thực tế chạy chương trình TP.Hồ Chí Minh, Ngày Tháng Năm iv Mục lục Giới thiệu đề tài 1.1 Tổng quan đề tài 1.2 Mục tiêu, đối tượng nghiên cứu phạm vi đề tài 1.2.1 Mục tiêu đối tượng nghiên cứu 1.2.2 Phạm vi đề tài 1.2.3 Cấu trúc luận văn Những nghiên cứu liên quan toán cần giải 2.1 Những nghiên cứu liên quan 2.2 Bài toán cần giải 2.3 Công cụ giải toán 10 2.3.1 Cơng cụ xử lý liệu dịng (Stream Processing Engines) 10 2.3.2 Apache Kafka 12 2.3.3 Kafka Streams 14 Khung phần mềm thu thập phân tích liệu y tế 18 3.1 Kiến trúc tổng quan 18 3.2 Kiến trúc khung phần mềm thu thập phân tích liệu 20 3.3 Thu thập liệu 21 3.4 Ứng dụng xử lý liệu luồng 22 Giải thuật xử lý liệu nút biên 24 4.1 Bệnh tim mạch (Heart Disease) 24 4.2 Phương pháp theo dõi bệnh tim từ xa 26 4.3 Xây dựng mơ hình học máy 30 v MỤC LỤC 4.4 4.3.1 Trực quan hoá tập liệu 30 4.3.2 Huấn luyện mơ hình 32 Cơng cụ tích hợp mơ hình vào ứng dụng xử lý luồng 34 Đánh giá khung phần mềm 5.1 5.2 36 Mơ hình học máy dự đoán bệnh tim mạch 36 5.1.1 Phương pháp đánh giá mơ hình dự đốn 36 5.1.2 Độ xác mơ hình dự đốn bệnh tim theo dõi từ xa 37 Khung phần mềm 40 5.2.1 Phương pháp đánh giá khung phần mềm 40 5.2.2 Đánh giá hiệu khung phần mềm 41 Kết luận 45 6.1 Kết đạt 45 6.2 Khó khăn hạn chế 46 6.3 Định hướng tương lai 46 Tài liệu tham khảo 48 A Bảng đối chiếu thuật ngữ Anh - Việt A1 B Thiết lập cho thử nghiệm B2 B.1 Thiết lập Kafka Broker B2 B.2 Thiết lập mô liệu B3 B.3 Thiết lập Kafka Streaming Application B3 vi Danh sách hình vẽ 1.1 Tổng quan mơ hình điện tốn biên/sương mù [1] 1.2 Tổng quan mơ hình điện tốn biên/sương mù ứng dụng lĩnh vực y tế [2] 2.1 Các tính cơng cụ xử lý luồng có message broker [3] 11 2.2 Mơ hình Publish/Subscribe [4] 11 2.3 Một hệ sinh thái sử dụng Apache Kafka [3] 13 2.4 Luồng liệu Kafka [3] 13 2.5 Đồ thị cấu trúc liên kết xử lý luồng Kafka Streams [5] 16 3.1 Kiến trúc tổng quan khung phần mềm 19 3.2 Thành phần chức thành phần khung phần mềm 20 3.3 Đồ thị cấu trúc liên kết xử lý dự đoán bệnh tim 22 4.1 Điện tâm đồ (ECG) 28 4.2 Độ dốc nhịp tim 28 4.3 Thống kê số lượng nhãn tập liệu 30 4.4 Tần suất bệnh tim mạch theo độ tuổi 31 4.5 Tần suất bệnh tim mạch theo đau ngực 31 4.6 Mối tương quan thuộc tính 32 4.7 K-Fold Cross Validation 33 4.8 Cấu trúc mơ hình dự đốn bệnh tim 33 4.9 Thơng số mơ hình dự đốn bênh tim mạch 34 vii CHƯƠNG ĐÁNH GIÁ KHUNG PHẦN MỀM khoảng thời gian định, đơn vi đo tính msg/s MB/s Ngược lại với thời gian xử lý, thơng lượng tối đa phải cao tốt Nếu kiện đến đến với tốc độ nhanh hệ thống xử lý chúng, kiện lưu vào đệm ảnh hưởng tiêu cực đến thời gian xử lý Do đó, thường đánh đổi thông lượng thời gian xử lý dựa cách hệ thống cấu hình Hệ thống xử lý luồng thường phân loại scale-out scale-up Các hệ thống scale-out tận dụng lợi việc xử lý phân tán nhiều máy, hệ thống scale-up cố gắng tận dụng lợi máy có hiệu suất cao [4] 5.2.2 Đánh giá hiệu khung phần mềm Khung phần mềm thực cụm máy có nút vật lý có cấu sau OS Machine Machine macOS-Big-Sur Ubuntu-Sever-18.04-LST Processor 1,4 GHz Intel Core i5 2,6 GHz Intel Xeon Platinum RAM 8GB 16GB Disk 256 SSD 256 SSD Bảng 5.7: Cấu hình máy dùng cho thí nghiệm Cụm máy bao gồm thành phần: Zookeeper Kafka Broker dùng để nhận ghi từ client vàc cuối client dùng để sinh liệu Thông lượng Bài đánh giá thông lượng tham khảo từ [6] [4], họ sử dụng công cụ đánh giá hiệu thơng lượng Apache Kafka cung cấp Bài nghiên cứu [4], tác giả tiến hành so sánh công cụ thu thập liệu luồng khác đánh giá hiệu năng, có Apache Kafka, cụ thể cách đánh giá tác giả sử dụng cơng cụ đánh giá thơng lượng Kafka để gửi hàng chục nghìn ghi với kích thước 1kB, 65kB 600kB, từ cơng cụ cho kết khả 41 CHƯƠNG ĐÁNH GIÁ KHUNG PHẦN MỀM xử lý tối đa cụm máy vật lý triển khai Kafka Broker Và máy vật lý sử dụng cho nghiên cứu - 20 Core Intel(R) Xeon(R) Gold 6136 CPU @ 3.00GHz, 32GB RAM, 200GB SSD chạy hệ điều hành Debian 10 (Buster) Kết qủa đạt sau: Message Size 1kB Msg/s 65kB 600kB MB/s Msg/s MB/s Msg/s MB/s Kafka 137, 676 131.30 4, 738 293.70 870 497.81 Bảng 5.8: Kết thông lượng tham khảo [4] Tương tự với hướng dẫn đáng giá hiệu từ [6], tác giả chạy đánh giá mơ hình cụm gồm máy vật lý triển khai Kafka Broker có thêm yếu tố ảnh hưởng băng thông mạng, tác giả thực thi công cụ đánh giá máy khác cụm máy thực thi Kafka Broker Cụm bao gồm máy vật lý có cấu sau - Intel Xeon 2.5 GHz processor with six cores, 32GB RAM, 7200 RPM SATA drives, 1Gb Ethernet Trong máy vật lý thực thi Kafka Broker, máy thực thi Zookeeper Kết sau: Message Size 100Byte Msg/s MB/s Single producer thread, no replication 821, 557 78.3 Single producer thread, no replication 786, 980 75.1 Single producer thread, no replication 421, 823 40.2 Bảng 5.9: Kết thông lượng tham khảo với ảnh hưởng từ băng thông mạng [6] Dựa vào nghiên cúu trên, khung phần mềm đánh sau Sử dụng công cụ đánh giá Apache Kafka, gửi hàng chục nghìn ghi với kích thước 200Byte, 1kB, 65kB Hạ tầng có giới hạn để thực nghiên cứu nên công cụ đánh giá thực thi máy vật lý thực thi Kafka Broker Kết đạt dược sau: 42 CHƯƠNG ĐÁNH GIÁ KHUNG PHẦN MỀM Message Size 200Byte Msg/s 1kB 65kB MB/s Msg/s MB/s Msg/s MB/s Machine 420, 733 80.25 99, 989 97.65 999 63.46 Machine 366, 663 69.76 99, 233 96.91 989 63.00 Bảng 5.10: Kết thông lượng khung phần mềm thực với Kafka Kết đo đạc cho thấy kích thước nghi ảnh hưởng nhiều đến khả nhận tối đa ghi của khung phần mềm, với kích thước 65kB, với cấu hình máy vật lý cho luận văn nhận xử lý tối đa 999 msg/s Trong với cấu hình máy vật lý [4] nhận 4,738 msg/s Nhưng với kích thước nghi 200Byte khả nhận xử lý lên đến 420,733 msg/s, bẳng nửa so với báo [6] với kích thước 100Byte xử lý 821,557 msg/s, báo việc đánh giá bị ảnh hưởng băng thông mạng Như vậy, với cấu hình máy nhỏ vừa với kích thước ghi nhỏ 1kB đáp ứng 100,000 msg/s điều phù hợp với việc triển khai nút biên/sương mù Điều làm cho khung phần mềm với Apache Kafka mà luận văn thực đem lại tính khả thi triển khai nút biên/sương mù, giải vấn đề (1) Cách thu thập quản lý liệu đầu từ bệnh khác nhau, có nhiều định dạng khác nhau; (3) Có khả mở rộng đáp ứng lượng liệu ngày nhiều theo thời gian Thời gian xử lý Đến từ nghiên cứu [4], tác giả đưa cách đo thời gian xử lý cách cố định tốc độ sinh liệu với kích thươc định Cụ thể tác giả gửi 1000 5000 msg/s với kích thước 1kB cho kiểm tra, kết đạt sau: 43 CHƯƠNG ĐÁNH GIÁ KHUNG PHẦN MỀM Processing Time (ms) Rate Average Maximum 1000(mgs/s) 1.714 5.312 5000(mgs/s) 1.995 21.627 Bảng 5.11: Kết thời gian xử lý tham khảo Cũng với cách này, luận văn gửi ghi với định dạng đề cập Chương 3, kích thước ghi 200Byte, liên tục với tần suất 1000 msg/s tương ứng 0.19 MB/s 3000msg/s tương ứng 0.57 MB/s Kết qủa đạt sau: Processing Time (ms) Machine Machine Rate Min Avg Max Min Avg Max 1000(mgs/s) 5.091 50.950 110.974 4.852 44.771 103.793 3000(mgs/s) 18.070 119.843 251.737 5.858 35.523 103.732 Bảng 5.12: Kết thời gian xử lý khung phần mềm thực với Kafka Bảng 5.12 nêu lên kết qủa thời gian xử lý từ nghi gửi vào Kafka Broker đến xử lý liệu lưu trữ lại Kafka Topic Từ kế cho thấy với nhiều ghi liệu thi thời gian xử lý lớn So với Bảng 5.11 kết qủa tham khảo thấy qua khung phần mềm luận văn thời gian xử lý lớn nhiều, xấp xỉ gấp 50 lần Điều bị ảnh hưởng yếu tố, thứ kết thời gian xử lý Bảng 5.11 tác giả gửi liệu vào Kafka Broker mà không qua ứng dụng xử lý nào, thứ hai cấu hình máy vật lý cho kết Bảng 5.11 mạnh nhiều so với cấu hình máy sử dụng luận văn Từ kết Bảng 5.10 Bảng 5.12 cho thấy thời gian xử lý cho 1000 mgs/s thời gian trung bình 50.950ms 44.771ms tương ứng cấu hình Bảng 5.7, số nhỏ với máy cấu hình thấp phù hợp với yêu cầu từ báo [33] lĩnh vực y tế Giúp giải vấn đề số (2) toán mà luận văn đề 44 Chương Kết luận 6.1 Kết đạt Qua chương trình bày trên, luận văn tìm hiểu khó khăn việc thu thập quản lý liệu lĩnh vực y tế, liệu y tế phức tạp, đa dạng đặc thù cho loại bệnh khác Do việc xây dựng mộ hệ thống triển khai đáp ứng thực tế, đặc biệt hệ thống theo dõi liên tục có khả xử lý lượng lớn liệu với thời gian xử lý thấp khó khăn Dựa vào phát triển khoa học kỹ thuật, công nghệ phần mềm nghiên cứu khoa học trước, luận văn tìm hiểu xây dựng khung phần mềm triển khai điện toán biên/sương mù để giúp giải phần vấn đề thu thập quản lý liệu phân theo loại bệnh Luận văn đem lại kiến thức mơ hình phân cấp điện tốn biên/sương mù điện tốn đám mây, giúp phân chia giảm tải cho mơ hình điện tốn đám mây truyền thống Từ mơ hình đó, phát triển nên khung phần mềm giúp theo dõi bệnh tim mạch từ xa Với lõi khung phần mềm Apache Kafka với sức mạnh khả chịu tải lớn, khả mở rộng dễ dàng triển khai phần cứng có khả tính tốn phù hợp cho điện tốn biên/sương mù Điều giúp giải quyêt vấn đề khả thu thập liệu lớn giảm chi phí xây dựng phần cứng Apache Kafka nơi thu thập liệu khơng có xử lý liệu 45 CHƯƠNG KẾT LUẬN Apache Spark, Kafka cung cấp thư viện Kafka Streams giúp xử lý liệu luồng cách hiệu Xây dựng mơ hình máy học, giúp theo dõi bệnh tim mạch từ xa Ứng dụng mơ hình vào ứng dụng xử lý luồng xây dựng với Kafka Streams thông qua thư viện Deeplearning4j Tích hợp hồn chỉnh khung phần mềm, đưa đánh giá thông lượng, thời gian xử lý với phần cứng vừa phải phù hợp cho mơ hình điện tốn biên/sương mù 6.2 Khó khăn hạn chế Trong lúc thực luận văn gặp khơng khó khăn Đầu tiên tập liệu để huấn luyện mơ hình, liệu y tế liệu nhạy cảm cần tính bảo mật cao, nên tập liệu dùng để huấn luyện với mơ hình học sâu q nhỏ Mơ hình học sâu cần lượng liệu lớn để đạt độ xác cao Vì nên mơ hình chưa đem lại độ xác cao Thứ hai, vấn đề sở hạ tầng để triển khai khung phần mềm Vì tài nguyên có hạn nên khung phần mềm triển khai máy tính cá nhân để thực thi đánh giá Nên việc triển khai thực tế khung phần mềm cịn nhiều khó khăn ảnh hưởng yếu tố khác đồng liệu, băng thơng mạng, cấu hình kết nối hệ thống mở rộng Thứ ba, Kafka Streams hỗ trơ cho ngôn ngữ Java, nên việc áp dụng mơ hình học máy phải phụ thuộc vào thư viện Deeplearning4j DL4J hỗ trợ cho mơ hình học sâu, nên hiên luận văn chưa thử nghiệm với mơ hình máy học đơn giản khác Decision Tree, K-Means, v.v 6.3 Định hướng tương lai Để đưa khung phần mềm vào thực tế, khung phần mềm cần phải chạy cụm máy server tốt Thực thêm nhiều kiểm tra với môi trường thực tế xem xét yếu tố ảnh hưởng khác đồng liệu, băng thông mạng, v.v Thu thập thêm liệu xây dựng mơ hình học sâu đem lại độ xác 46 CHƯƠNG KẾT LUẬN cao Bên cạnh tìm hiểu phát triển mơ hình với bệnh đái tháo đường thời kỳ thai sản mà báo khoa học quan tâm Tìm hiểu thêm thư viện hỗ trợ máy học cho Java khác ngồi Deeplearning4j để áp dụng nhiều mơ hình máy học khác Tìm hiểu sâu mơ hình điện tốn biên/sương mù, ứng dụng vào lĩnh vực khác với khung phần mềm xây dựng 47 Tài liệu tham khảo [1] H Cao and M Wachowicz, “An edge-fog-cloud architecture of streaming analytics for internet of things applications,” Sensors, vol 19, 2019 [2] A A Abdellatif, A Mohamed, C F Chiasserini, M Tlili, and A Erbad, “Edge computing for smart health: Context-aware approaches, opportunities, and challenges,” IEEE Network, vol 33, no 3, pp 196–203, 2019 [3] A Akanbi and M Masinde, “A distributed stream processing middleware framework for real-time analysis of heterogeneous data on big data platform: Case of environmental monitoring,” Sensors, vol 20, 2020 [4] S Tallberg, “A comparison of data ingestion platforms in real-time stream processing pipelines,” Ph.D dissertation, Măalardalen University, School of Innovation, Design and Engineering, 2020 [5] A Software, “Kafka streams documentaion,” Internet: https://kafka.apache org/documentation/streams/, April 2021 [6] J Kreps, “Benchmarking apache kafka: million writes per second (on three cheap machines),” Internet: https://engineering.linkedin.com/kafka/ benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines, April 2021 [7] C.-L Hsu and J C.-C Lin, “An empirical examination of consumer adoption of internet of things services: Network externalities and concern for information privacy perspectives,” Computers in Human Behavior, vol 62, pp 516–527, 2016 48 TÀI LIỆU THAM KHẢO [8] N Mani, A Singh, and S L Nimmagadda, “An iot guided healthcare monitoring system for managing real-time notifications by fog computing services,” Procedia Computer Science, vol 167, pp 851–852, 2020 [9] Ishwarappa and J Anuradha, “A brief introduction on big data 5vs characteristics and hadoop technology,” Procedia Computer Science, vol 48, pp 319–324, 2015 [10] M Siddhartha, “Heart disease dataset (comprehensive),” Internet: https: //www.kaggle.com/sid321axn/heart-statlog-cleveland-hungary-final, April 2021 [11] U Akhtar, A M Khattak, and S Lee, “Challenges in managing real-time data in health information system (his),” in Inclusive Smart Cities and Digital Health, C K Chang, L Chiari, Y Cao, H Jin, M Mokhtari, and H Aloulou, Eds Cham: Springer International Publishing, 2016, pp 305– 313 [12] L R Nair, S D Shetty, and S D Shetty, “Applying spark based machine learning model on streaming big data for health status prediction,” Computers & Electrical Engineering, vol 65, pp 393–399, 2018 [13] H Ahmed, E M Younis, A Hendawi, and A A Ali, “Heart disease identification from patients’ social posts, machine learning solution on spark,” Future Generation Computer Systems, vol 111, pp 714–722, 2020 [14] F Hassan, M E Shaheen, and R Sahal, “Real-time healthcare monitoring system using online machine learning and spark streaming,” International Journal of Advanced Computer Science and Applications, vol 11, no 9, 2020 [15] S Tuli, N Basumatary, S S Gill, M Kahani, R C Arya, G S Wander, and R Buyya, “Healthfog: An ensemble deep learning based smart healthcare system for automatic diagnosis of heart diseases in integrated iot and fog computing environments,” Future Generation Computer Systems, vol 104, pp 187–200, 2020 49 TÀI LIỆU THAM KHẢO [16] D Battulga, D Miorandi, and C Tedeschi, “FogGuru: a Fog Computing Platform Based on Apache Flink,” in 23rd Conference on Innovation in Clouds, Internet and Networks (ICIN 2020), Paris, France, Feb 2020 [Online] Available: https://hal.inria.fr/hal-02463206 [17] I Confluent, “Confluent,” Internet: https://www.confluent.io/, April 2021 [18] J Dizdarevic and A Jukan, “Engineering an iot-edge-cloud computing system architecture: Lessons learnt from an undergraduate lab course,” 2021 [19] A Foundation, “Apache storm,” Internet: https://storm.apache.org/, April 2021 [20] A Sofware, “Apache flink,” Internet: https://flink.apache.org/, April 2021 [21] A Foundation, “Apache kafka,” Internet: https://kafka.apache.org/, April 2021 [22] A Sofware, “Apache spark,” Internet: https://spark.apache.org/, April 2021 [23] A Foundation, “Apache kafka documentaion,” Internet: https://kafka apache.org/documentation/#connectapi, April 2021 [24] W Bejeck, “Kafka streams in action real-time apps and microservices with the kafka streams api,” [Online] Available: https://www.manning.com/ books/kafka-streams-in-action, 2018 [25] WHO, “Bệnh tim mạch (cvd) việt nam,” Internet: https://www.who.int/ vietnam/vi/health-topics/cardiovascular-disease/cardiovascular-disease, April 2021 [26] N Bhamri, ternet: “Heart disease asymptomaticam,” In- https://www.maxhealthcare.in/blogs/cardiology/ rise-cases-asymptomatic-heart-attacks-amongst-middle-aged-people, April 2021 [27] VinMec, “Huyết áp gì?” Internet: https://www.vinmec.com/vi/tin-tuc/ thong-tin-suc-khoe/huyet-ap-la-gi/, April 2021 50 TÀI LIỆU THAM KHẢO [28] E Deeplearning4J, “Deep learning for java,” Internet: https: //deeplearning4j.org/, April 2021 [29] Deeplearning4J, “Keras model import: Supported features,” Internet: https: //deeplearning4j.konduit.ai/keras-import/supported-features, April 2021 [30] Python, “Python,” Internet: https://www.python.org/, April 2021 [31] TensorFlow, “Tensorflow,” Internet: https://www.tensorflow.org/, April 2021 [32] Keras, “Keras,” Internet: https://keras.io/, April 2021 [33] G Cisotto, E Casarin, and S Tomasin, “Requirements and enablers of advanced healthcare services over future cellular systems,” IEEE Communications Magazine, vol 58, no 3, pp 76–81, 2020 51 Phụ lục A Bảng đối chiếu thuật ngữ Anh - Việt Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Big Data Dữ liệu lớn Constrained Application Protocol Viết tắt CoAP Cloud Computing Điện toán đám mây Edge/Fog Computing Điện toán biên/sương mù Electrocardiogram Điện Tâm Đồ Framework Khung phần mềm Internet of Things Vạn vật kết nối ECG IoT JavaScript Object Notation JSON Java Management Extensions JMX Medical Internet of Things Vạn vật kết nối y tế Mobile Application Ưng dụng di động Message Queuing Telemetry Transport MioT MQTT Real Time Thời gian thực Real Time Processing Xủ lý thời gian thực Stream Processing Engines Công cụ xử lý luồng Wearable Medical Devices Thiêt bị y tế đeo tay Hypertext Transfer Protocol HTTP A1 Phụ lục B Thiết lập cho thử nghiệm Trong luận văn sử dụng cụm máy để thực kiểm thử mô hình Cấu hình máy sử dụng sau: MacOS BigSur với xử lý 1,4 GHz Quad-Core Intel Core i5, GB 2133 MHz LPDDR3, lưu trữ 256 SSD Các thành phần khung phần mềm cài đặt hoàn toànt máy: (1) Kafka Broker, (2) Kafka Streaming Application (3) Kafka Producer Simulation Git Repository cho luận văn: https://github.com/duongnln96/healthcare B.1 Thiết lập Kafka Broker Bước Tải gói cài đặt Kafka Broker từ trang chủ phiên 2.7.0 phiên Scala 2.12 https://archive.apache.org/dist/kafka/2.7.0/kafka_2.12-2.7.0.tgz Giải nén gói cài đặt với câu lệnh $ tar - xvf < download path >/ kafka \ _2 12 -2.7.0 tgz -C ~/ Gói cài đặt bao gồm Zookeeper Kafka nằm thư mục /home/$USER Linux /User/$USER với MacOS Bước - Khởi động Kafka Broker tạo Kafka Topics cần thiết cho khung phần mềm $ cd < source_code_path >/ healthcare / bash - scripts $ / start - kafka sh Sau đoạn log cho thấy khởi tạo thành công Kafka Broker [2021 -06 -18 23:41:46 ,492] INFO [ KafkaServer id =0] started ( kafka server KafkaServer ) B2 PHỤ LỤC B THIẾT LẬP CHO THỬ NGHIỆM [2021 -06 -18 23:41:46 ,628] INFO [ broker -0 - to - controller - send - thread ]: Recorded new controller , from now on will use broker ( kafka server B r o k e r T o C o n t r o l l e r R e q u e s t T h r e a d ) Bước - Sau Kafka Broker khởi tạo thành công Tạo Kafka Topics cần thiết cho ứng dụng Cụ thể là: INPUT_TOPIC = " heart - disease - raw " , OUTPUT_TOPIC = " heart - disease - out " $ / create - kafka - toipcs sh help Example command : $ $ / create - kafka - toipcs sh in $ $ / create - kafka - toipcs sh out B.2 Thiết lập mô liệu Dữ liệu mô tạo Python Script Dựa tập liệu đề cập trên, đặc tính mơ sinh cách ngẫu nhiên khoảng cho phép Môi trường cần thiết để chạy script python3.7 pip3 để quản lý gói ứng dụng cần cho script $ cd < source_code_path >/ healthcare / generator_service $ pip3 install -r requirements txt Sau cài đặt gói cần cho script, chạy script để sinh liệu vào Kafka Broker $ python main py \ -\ - produce B.3 Thiết lập Kafka Streaming Application Như đề cập trên, ứng dụng Kafka Streams xây dựng dựa tảng Java Để chạy ứng dụng ta cần môi trường Java công cụ compile Maven Cụ thể luận văn sử dụng Maven home : / usr / local / Cellar / maven /3.6.3 _1 / libexec Java version : 1.8.0 _271 , Sau compile ứng dụng, ta chạy sau: $ cd < source_code_path >/ healthcare / bash - scripts $ / start - streamapp sh B3 Lý Lịch Trích Ngang Họ tên: Nguyễn Lê Ngọc Dương Ngày sinh: 23/08/1996 Nơi sinh: Cần Thơ Địa liên lạc: 241/42 Nguyễn Văn Luông, Phường 11, Quận 6, Thành Phố Hồ Chí Minh Q Trình Đào Tạo Thời gian 2014-2018 2019-2021 Trường đào tạo Chuyên ngành Trình độ đào tạo Đại Học Bách Khoa Kỹ thuật điều khiển Kỹ sư Tp Hồ Chí Minh tự động hố Đại Học Bách Khoa Khoa học máy tính Thạc sĩ Tp Hồ Chí Minh Q Trình Cơng Tác Thời gian 08/2018 - 02/2020 02/2020 - Hiện Đơn vị cơng tác Combros Technology DEK Technologies Vietnam Vị trí Kỹ sư phần mềm Kỹ sư phần mềm ... Ng? ?y, tháng, năm sinh: 23/08/1996 Nơi sinh: Cần Thơ Ngành: Khoa Học M? ?y Tính Mã số: 8.48.01.01 I TÊN ĐỀ TÀI: Nghiên cứu phát triển giải pháp xử lý liệu dòng nút biên lĩnh vực y tế NHIỆM VỤ VÀ... sĩ "Nghiên cứu phát triển giải pháp xử lý liệu dòng nút biên lĩnh vực y tế" kết tìm hiểu, nghiên cứu độc lập thân Tơi xin cam đoan: Luận văn thực cho mục đích tìm hiểu nghiên cứu bậc cao học... chịu tải cao với lượng lớn liệu xử lý nút biên trước liệu nút xử lý trung tâm; • Ứng dụng giải thuật giúp khung phần mềm có khả tiền xử lý dự đoán nút biên Khả xử lý khoảng thời gian cho phép

Ngày đăng: 13/01/2022, 00:03

Từ khóa liên quan

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

Tài liệu liên quan