Bối cảnh và vấn đề nghiên cứu
Trong xu thế phát triển của công nghệ thông tin và truyền thông, các giải pháp kỹ thuật Internet of Things (IoT) dựa trên nền tảng hạ tầng như một dịch vụ (IaaS) giữ vai trò then chốt trong việc nâng cao hiệu quả vận hành và độ tin cậy của các dịch vụ số. Sự kết hợp giữa các thiết bị thông minh và hạ tầng mạng đã thúc đẩy quá trình chuyển đổi số trong nhiều lĩnh vực kinh tế - xã hội, đặc biệt là ngành du lịch. Đối với các đơn vị kinh doanh dịch vụ du lịch, nhu cầu quản lý thông tin khách hàng, xử lý đăng ký tour, đặt phòng khách sạn, vé máy bay và thanh toán trực tuyến qua môi trường mạng ngày càng gia tăng.
Tại tỉnh Quảng Nam – địa phương có tiềm năng du lịch lớn với các trung tâm trọng điểm như Thành phố Hội An, Thành phố Tam Kỳ và Khu Kinh tế Mở Chu Lai – việc áp dụng công nghệ thông tin để quản trị dữ liệu du lịch là yêu cầu cấp thiết. Khi triển khai bài toán đăng ký tour trực tuyến trên diện rộng với lưu lượng truy cập ngẫu nhiên và quy mô lớn, mô hình cơ sở dữ liệu tập trung (sử dụng một hoặc vài máy chủ trung tâm) bộc lộ nhiều hạn chế nghiêm trọng:
- Hiện tượng tắc nghẽn "cổ chai" tại máy chủ trung tâm, làm giảm tốc độ xử lý giao dịch.
- Nguy cơ gián đoạn toàn bộ hệ thống khi máy chủ duy nhất gặp sự cố kỹ thuật.
- Xung đột dữ liệu trong xử lý tương tranh đa người dùng, dẫn đến hiện tượng không nhất quán (chẳng hạn một chỗ ngồi hoặc phòng nghỉ có thể bị bán trùng lặp nhiều lần).
Nhằm khắc phục những hạn chế trên, khóa luận tốt nghiệp của tác giả Trần Dương Ngọc Tuấn (Khoa Công nghệ Thông tin, Trường Đại học Quảng Nam, 2017) tập trung nghiên cứu giải pháp kỹ thuật trên hệ thống hạ tầng gồm đa máy chủ (Multi-Server) phân tán kết nối qua mạng truyền thông. Vấn đề cốt lõi đặt ra là xây dựng hệ thống cho phép thực thi bài toán đăng ký thông tin từ xa theo mô hình phân tán, đồng thời thiết lập cơ chế kiểm soát giao dịch để bảo đảm tính gắn bó (tính nhất quán) của dữ liệu khi xảy ra sự cố hoặc xung đột truy cập.
Tác giả xác định 4 mục tiêu nghiên cứu cụ thể được đánh số trong văn bản:
- Tìm hiểu hệ thống phân tán.
- Các vấn đề tính toán trong hệ phân tán.
- Các giải pháp kỹ thuật đảm bảo gắn bó dữ liệu.
- Mô phỏng quá trình đồng bộ và cập nhật trên các Server.
Đối tượng nghiên cứu của đề tài bao gồm các khái niệm, nguyên lý xây dựng hệ tin học phân tán, hệ cơ sở dữ liệu phân tán và các giải pháp kỹ thuật đồng bộ hóa dữ liệu trong môi trường IoT. Phạm vi nghiên cứu tập trung vào việc thu thập, phân tích tài liệu lý thuyết liên quan và triển khai xây dựng chương trình mô phỏng quá trình đồng bộ dữ liệu trên mạng đa máy chủ bằng ngôn ngữ Java (công cụ WindowBuilder), kết hợp nền tảng Node.js, hệ quản trị cơ sở dữ liệu MySQL và phần cứng vi xử lý Arduino phục vụ bài toán du lịch tại tỉnh Quảng Nam.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng hệ thống luận cứ dựa trên các lý thuyết nền tảng về tính toán phân tán, quản trị cơ sở dữ liệu phân tán, các giao thức điều khiển tương tranh và kiến trúc phần cứng nhúng.
1. Khung lý thuyết và mô hình kỹ thuật
- Hệ tin học phân tán (Distributed System): Hệ thống gồm nhiều bộ xử lý/vi xử lý đặt tại các vị trí địa lý khác nhau, không chia sẻ bộ nhớ chính và xung nhịp đồng hồ, trao đổi dữ liệu qua mạng truyền thông dưới sự điều khiển của hệ điều hành mạng. Hệ thống được xây dựng trên 4 nguyên tắc cốt lõi:
| STT |
Tên nguyên tắc |
Thuyết minh theo văn bản |
| 1 |
Chia sẻ tài nguyên |
Cung cấp cơ chế dùng chung tài nguyên phần cứng, tệp tin và dữ liệu giữa các trạm ở xa. |
| 2 |
Liên lạc |
Thiết lập khả năng trao đổi thông tin giữa các thực thể kết nối trong mạng. |
| 3 |
Tin cậy |
Sự cố tại một trạm không làm tê liệt toàn hệ thống; công việc được chuyển giao cho trạm khác và trạm lỗi có thể tự phục hồi. |
| 4 |
Tăng tốc |
Thực hiện phân tán tải; chia nhỏ các tác vụ tính toán lớn để xử lý song song trên nhiều trạm. |
- Hệ cơ sở dữ liệu phân tán (DDBS): Tập hợp các cơ sở dữ liệu có liên đới logic được phân bổ lưu trữ tại các nút mạng khác nhau và được truy xuất thông qua giao diện chung.
- Giao dịch và quản lý giao dịch: Giao dịch (Transaction) là một dãy các thao tác đọc/ghi trên cơ sở dữ liệu và các bước tính toán được thực thi như một đơn vị nguyên tử. Khóa luận phân tích các yêu cầu duy trì sự gắn bó và đặc tính toàn vẹn của giao dịch:
| STT |
Cơ chế duy trì sự gắn bó |
Đặc tính toàn vẹn trạng thái |
| 1 |
Giao dịch $T$ bắt buộc phải được thực hiện một cách trọn vẹn. |
Nếu tiến trình gặp sự cố trước khi kết thúc $T$ nhưng sau các thao tác thay đổi cần thiết của $T$, trạng thái hệ thống là gắn bó. |
| 2 |
Nếu có sự cố diễn ra, hệ thống bắt buộc phải quay trở lại điểm xuất phát ban đầu (Rollback). |
Nếu tiến trình gặp sự cố trước khi diễn ra các thay đổi của $T$, trạng thái hệ thống là gắn bó. |
| 3 |
— |
Nếu tiến trình gặp sự cố giữa các thay đổi của $T$, trạng thái hệ thống là không gắn bó. |
2. Phương pháp nghiên cứu và nguồn dữ liệu
Tác giả sử dụng kết hợp các phương pháp nghiên cứu kỹ thuật:
- Phương pháp thu thập và phân tích tài liệu: Tổng hợp lý thuyết từ sách chuyên khảo, bài báo khoa học và tài liệu công nghệ trên Internet về tính toán phân tán, IoT và các thuật toán đồng bộ hóa dữ liệu.
- Phương pháp phân tích - thiết kế hệ thống: Xây dựng mô hình bài toán phân tán cho các điểm du lịch tại Quảng Nam, mô hình hóa giải thuật kiểm soát giao dịch tuyến tính.
- Phương pháp thực nghiệm mô phỏng: Lập trình phần mềm mô phỏng bằng Java (WindowBuilder) và Node.js kết hợp mạch vi xử lý Arduino Uno, module Bluetooth HC-06 để kiểm chứng quá trình đồng bộ dữ liệu và cơ chế cảnh báo sự cố.
- Nguồn dữ liệu: Dữ liệu mô phỏng bài toán đăng ký tour du lịch, bảng thông tin dịch vụ, thông tin đăng ký của khách hàng và dữ liệu sự cố kỹ thuật từ cảm biến phần cứng.
Thiết kế và triển khai giải pháp kỹ thuật
Hệ thống được thiết kế nhằm giải quyết bài toán đăng ký tour du lịch từ xa trên môi trường mạng gồm nhiều trạm máy chủ phân tán (tại Hội An, Tam Kỳ, Chu Lai), tích hợp thiết bị IoT để giám sát trạng thái hoạt động.
1. Kiến trúc hệ thống và luồng xử lý
Mô hình hệ thống phân tán được tổ chức với các thành phần kỹ thuật sau:
- Client ($C_1, C_2, \dots, C_n$): Các máy trạm hoặc trình duyệt web của người dùng gửi yêu cầu đăng ký tour và dịch vụ.
- Web Server / Node.js: Tiếp nhận yêu cầu từ client, phân tích cú pháp và xử lý logic ban đầu.
- Hệ thống máy chủ ứng dụng (TPC-Server-App$_1$, TPC-Server-App$_2$, $\dots$, TPC-Server-App$_N$): Các máy chủ cài đặt thuật toán cam kết hai pha tuyến tính (Linear Two-Phase Commit - Linear 2PC).
- TPCMonitorServer: Máy chủ giám sát hiển thị trực quan trạng thái dịch chuyển của danh sách tác vụ giữa các máy chủ ứng dụng.
- ConnectionPool: Khối chương trình điều khiển và tối ưu hóa các liên kết cơ sở dữ liệu dùng chung.
- Cơ sở dữ liệu phân tán (Database$_1$, $\dots$, Database$_N$): Hệ quản trị cơ sở dữ liệu MySQL phân bổ tại các trạm.
2. Đề xuất thuật toán 2PC tuyến tính cải tiến với Danh sách di chuyển
Khóa luận cải tiến giải thuật hai pha tuyến tính (Linear 2PC), cho phép các thành viên tham gia giao tiếp trực tiếp theo một thứ tự xác định ($1, 2, \dots, N$), trong đó điều phối viên (Coordinator) là vị trí đầu tiên:
- Khởi tạo danh sách di chuyển: Khi nhận yêu cầu từ Client, bộ điều phối thiết lập danh sách các máy chủ cơ sở dữ liệu cần truy vấn kèm theo chuỗi câu lệnh SQL tương ứng.
- Thứ tự ưu tiên SQL: Việc thành lập danh sách truy vấn tại mỗi máy chủ cơ sở dữ liệu tuân thủ nghiêm ngặt thứ tự ưu tiên:
$$\text{SELECT} \longrightarrow \text{DELETE} \longrightarrow \text{UPDATE} \longrightarrow \text{INSERT}$$
- Truyền nhận tuyến tính: Danh sách di chuyển được chuyển giao tuần tự qua phương thức giao tiếp mạng Socket đến máy chủ
TPC-Server-App đầu tiên và tiếp tục di chuyển qua các máy chủ kế tiếp.
- Quy tắc thành công toàn cục: Giao dịch chỉ được coi là thành công khi tất cả các câu lệnh truy vấn phân tán đều thực hiện thành công. Nếu phát sinh bất kỳ lỗi truy vấn hoặc sự cố đường truyền tại bất kỳ nút nào, toàn bộ giao dịch sẽ bị hủy bỏ và phục hồi trạng thái cũ trên tất cả các máy chủ.
3. Tích hợp phần cứng IoT thông báo sự cố
Nhằm bảo đảm tính sẵn sàng và hỗ trợ xử lý sự cố trong thời gian thực tại các địa điểm dịch vụ (nhà hàng, khách sạn), hệ thống tích hợp mạch vi điều khiển Arduino kết hợp module truyền thông không dây:
- Mạch phần cứng: Sử dụng board Arduino (vi điều khiển AVR) nạp mã nguồn C/C++ điều khiển tín hiệu cảnh báo qua cổng I/O.
- Mã nhúng mẫu trên Arduino IDE:
#define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // Đặt chân 13 làm đầu ra digital
}
void loop () {
digitalWrite (LED_PIN, HIGH); // Bật LED on
delay (1000); // chờ trong 1 giây (1000 mili giây)
digitalWrite (LED_PIN, LOW); // Tắt LED off
delay (1000); // chờ trong 1s
}
- Giao tiếp Bluetooth HC-06: Khi cơ sở dịch vụ gặp sự cố, mạch Arduino truyền tín hiệu cảnh báo không dây qua module Bluetooth HC-06 về hệ thống máy chủ để cập nhật danh sách các điểm gặp sự cố lên giao diện điều hành.
Nội dung chính theo từng chương
Chương I: Tổng quan hệ tin học phân tán
Chương này trình bày toàn diện khung lý thuyết về các hệ thống phân tán, các giải pháp quản trị cơ sở dữ liệu và các công nghệ nền tảng liên quan:
- Đặc trưng hệ phân tán: Phân tích tính độc lập về bộ nhớ và xung nhịp đồng hồ giữa các nút mạng; chỉ rõ 4 ưu điểm (chia sẻ tài nguyên, tăng tốc tính toán song song, tính an toàn chịu lỗi, liên lạc linh hoạt) và 3 hạn chế (giá thành phát triển phần mềm cao, độ phức tạp thuật toán tăng nguy cơ lỗi, khối lượng thông điệp truyền thông lớn).
- Nguyên tắc xây dựng và mô hình CSDL: Trình bày 4 nguyên tắc xây dựng hệ phân tán; so sánh cấu trúc lưu trữ của hệ CSDL tập trung và hệ CSDL phân tán; phân tích ưu điểm phân tán tải và tránh nghẽn cổ chai.
- Đồng bộ hóa và nhân bản dữ liệu: Phân tích bản chất của quá trình đồng bộ dữ liệu theo thời gian thực; các khó khăn về chuẩn hóa định dạng, an toàn bảo mật và chất lượng truyền tải; chỉ ra 5 ưu điểm và 3 nhược điểm của kỹ thuật nhân bản dữ liệu.
- Khái niệm giao dịch: Định nghĩa giao dịch là đơn vị tính toán nguyên tử; phân tích các trạng thái gắn bó trước, trong và sau quá trình cập nhật; xác lập các điều kiện duy trì tính toàn vẹn.
- Tổng quan công nghệ: Trình bày khái niệm IoT và tác động trong quản lý giao thông, y tế, nhà thông minh, môi trường và du lịch; giới thiệu phần cứng vi xử lý Arduino (các dòng chip ATmega, cấu trúc 14 chân digital, 6 chân analog, chi phí board mạch chính thức khoảng €20, $27 tương đương 574.468 VNĐ, hoặc dưới 150.000 VNĐ nếu tự chế tạo); giới thiệu cơ chế non-blocking của Node.js trên nền Chrome V8; đặc tính quản trị người dùng, tốc độ và phân quyền của MySQL.
- Ứng dụng tại tỉnh Quảng Nam: Giới thiệu đặc điểm địa lý, tiềm năng du lịch tỉnh Quảng Nam và thiết lập bài toán cơ sở dữ liệu phân tán kết nối Thành phố Hội An, Thành phố Tam Kỳ và Khu Kinh tế Mở Chu Lai.
Chương II: Mô hình bài toán du lịch đăng ký từ xa và giải pháp kỹ thuật đồng bộ
Chương II tập trung vào các giải pháp thuật toán giải quyết tranh chấp tài nguyên và đồng bộ dữ liệu:
- Bài toán đăng ký tour và xử lý tương tranh: Phân tích nguy cơ xung đột tài nguyên khi nhiều client đồng thời truy xuất vào hệ thống đặt vé; chứng minh tính tất yếu của việc điều khiển tương tranh để ngăn ngừa tình trạng bán trùng dịch vụ.
- Kỹ thuật nhân bản và cập nhật dữ liệu: Phân tích 5 giai đoạn thực hiện giao dịch nhân bản (Request, Server Coordination, Execution, Agreement Coordination, Response); phân biệt kỹ thuật nhân bản chủ động (Eager) và nhân bản bị động (Lazy); phân tích chiến lược Cập nhật mọi nơi (Update Everywhere) thông qua hai cách tiếp cận: sử dụng cơ chế khóa phân tán hoặc sử dụng truyền phát nguyên tử (Atomic Broadcast).
- Loại trừ tương hỗ và quy tắc cài then: Thiết lập quy tắc cài then trên đối tượng dữ liệu thông qua 3 hàm nguyên thủy
v_doc(e), v_viet(e), giai_phong(e); định nghĩa giao dịch phát triển và trật tự hóa hợp thức nhằm tránh hiện tượng deadlock.
- Phân tích các giao thức cam kết và đồng thuận:
- Giao thức 2PC: Phân tích chi tiết quy trình 2 pha (Bỏ phiếu và Cam kết); chỉ rõ nhược điểm gây tắc nghẽn hệ thống (blocking protocol) khi điều phối viên gặp sự cố.
- Giao thức 3PC: Mô hình hóa 3 pha (canCommit, preCommit, doCommit); chứng minh khả năng loại bỏ trạng thái chờ vô hạn nhờ pha chuẩn bị cam kết; nêu rõ hạn chế không thể phục hồi khi xảy ra phân mảnh mạng (network partition).
- Giao thức Paxos: Phân tích cấu trúc 4 vai trò (Proposer, Acceptor, Learner, Client) cùng cơ chế bỏ phiếu Quorum qua các giai đoạn Prepare, Promise, Accept Request, Accepted.
- Đề xuất thuật toán: Xây dựng mô hình 2PC tuyến tính cải tiến sử dụng Socket để truyền danh sách di chuyển chứa các câu lệnh SQL được sắp xếp theo thứ tự ưu tiên
SELECT $\rightarrow$ DELETE $\rightarrow$ UPDATE $\rightarrow$ INSERT qua chuỗi máy chủ phân tán.
Chương III: Giải pháp kỹ thuật gắn bó
Chương III trình bày chi tiết việc cài đặt thực nghiệm và kiểm thử mô hình:
- Khởi tạo và thiết kế cơ sở dữ liệu: Thiết lập các thực thể trong hệ quản trị MySQL; tạo lập cấu trúc bảng quan hệ phục vụ lưu trữ thông tin tour, thông tin khách hàng, danh sách đăng ký và trạng thái dịch vụ tại các nút máy chủ phân tán.
- Cài đặt hệ thống Server: Cấu hình các máy chủ ứng dụng
TPC-Server-App, thiết lập khối kết nối cơ sở dữ liệu ConnectionPool và khởi chạy máy chủ giám sát TPCMonitorServer.
- Mô phỏng chương trình thực nghiệm:
- Xây dựng giao diện ứng dụng trên Java WindowBuilder phục vụ người dùng chọn tour, nhập thông tin đăng ký và thực hiện giao dịch.
- Triển khai giao diện quản trị kiểm tra quá trình đồng bộ hóa dữ liệu giữa các máy chủ theo thời gian thực.
- Tích hợp phần cứng mạch vi xử lý Arduino và module Bluetooth HC-06 để mô phỏng hệ thống cảnh báo sự cố tại các nhà hàng, hiển thị danh sách các điểm dịch vụ gặp sự cố trực tiếp trên giao diện điều hành.
Kết quả và đóng góp
Khóa luận đã đạt được các kết quả kỹ thuật và đóng góp cụ thể sau:
1. Kết quả kỹ thuật đạt được
- Xây dựng thành công mô hình bài toán đăng ký tour du lịch từ xa trên nền tảng mạng đa máy chủ phân tán mô phỏng theo địa bàn tỉnh Quảng Nam (Hội An, Tam Kỳ, Chu Lai).
- Cài đặt hoàn chỉnh thuật toán Linear 2PC cải tiến, thiết lập cơ chế chuyển danh sách di chuyển qua giao tiếp Socket mạng và kiểm soát luồng thực thi câu lệnh SQL theo thứ tự ưu tiên chuẩn hóa.
- Tích hợp thành công mô hình thông báo sự cố phần cứng sử dụng board vi điều khiển Arduino kết hợp module không dây Bluetooth HC-06, kết nối trực tiếp với hệ thống quản lý cơ sở dữ liệu và giao diện giám sát.
- Triển khai giao diện mô phỏng đa chức năng bằng Java WindowBuilder và Node.js: cho phép đăng nhập, hiển thị danh sách tour, thực hiện đăng ký, theo dõi tiến trình đồng bộ giữa các máy chủ và cập nhật trạng thái sự cố nhà hàng.
2. So sánh tổng hợp các kỹ thuật đồng thuận và cam kết
Dựa trên các phân tích trong văn bản, các kỹ thuật đồng bộ và cam kết giao dịch phân tán được tổng hợp và so sánh như sau:
| Tiêu chí |
Cam kết 2 pha (2PC) |
Cam kết 3 pha (3PC) |
Giao thức Paxos |
Thuật toán đề xuất (Linear 2PC) |
| Số giai đoạn thực thi |
2 pha (Prepare, Commit) |
3 pha (canCommit, preCommit, doCommit) |
2 giai đoạn (Prepare/Promise, Accept/Accepted) |
Tuyến tính 2 pha qua danh sách di chuyển |
| Cơ chế điều phối |
Điều phối viên tập trung |
Điều phối viên tập trung |
Proposer điều phối qua Quorum Acceptors |
Điều phối viên khởi tạo, chuyển giao tuần tự qua Socket |
| Khả năng chịu lỗi |
Bị khóa (blocking) nếu điều phối viên lỗi |
Loại bỏ bế tắc trong mô hình fail-stop; không chịu được phân mảnh mạng |
Chịu lỗi cao dựa trên nguyên tắc đa số Quorum |
Đồng bộ toàn cục; tự động hủy bỏ và rollback nếu có nút lỗi |
| Tối ưu hóa thao tác |
Khóa dữ liệu toàn cục |
Bổ sung trạng thái chuẩn bị cam kết |
Thỏa thuận giá trị đề xuất có số hiệu cao nhất |
Sắp xếp truy vấn theo ưu tiên: SELECT $\rightarrow$ DELETE $\rightarrow$ UPDATE $\rightarrow$ INSERT |
3. Đóng góp của đề tài
- Hệ thống hóa cơ sở lý thuyết về hệ phân tán, các mô hình nhất quán dữ liệu và các giao thức cam kết phân tán kinh điển.
- Đề xuất phương án kết hợp giữa công nghệ phần mềm phân tán (Java, Node.js, MySQL) và giải pháp phần cứng IoT (mạch Arduino, module Bluetooth HC-06) trong bài toán quản lý và giám sát du lịch thông minh cấp địa phương.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận chỉ ra các hạn chế thực tế và định hướng phát triển của đề tài:
- Hạn chế:
- Hệ thống mới dừng lại ở mức độ chương trình mô phỏng thực nghiệm trên nền tảng Java WindowBuilder và Node.js kết hợp kit Arduino đơn lẻ, chưa được triển khai thử nghiệm trên hạ tầng mạng diện rộng thực tế với tải truy cập lớn.
- Thuật toán cam kết chưa được kiểm thử trong điều kiện mạng phân đoạn phức tạp hoặc độ trễ đường truyền viễn thông biến động cao.
- Hướng nghiên cứu tiếp:
- Tiếp tục tối ưu hóa giải thuật đồng bộ để tăng cường khả năng chịu lỗi khi xảy ra phân vùng mạng (network partition).
- Mở rộng tích hợp đa dạng các loại cảm biến IoT chuyên dụng phục vụ ngành du lịch và dịch vụ lưu trú.
- Phát triển ứng dụng trên các nền tảng thiết bị di động thông minh nhằm hoàn thiện hệ sinh thái dịch vụ phục vụ khách du lịch.
Giá trị tham khảo
Tài liệu khóa luận có giá trị tham khảo chuyên môn đối với các nhóm đối tượng:
- Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin: Tham khảo phương pháp xây dựng hệ thống phân tán, các mô hình điều khiển tương tranh và giải thuật cam kết giao dịch phân tán.
- Người nghiên cứu về ứng dụng IoT: Tham khảo mô hình tích hợp giữa vi điều khiển Arduino, module truyền thông không dây (Bluetooth HC-06) với các hệ thống máy chủ cơ sở dữ liệu quan hệ (MySQL).
- Nhà phát triển phần mềm thương mại điện tử và dịch vụ trực tuyến: Tham khảo giải pháp quản lý danh sách truy vấn theo thứ tự ưu tiên và cơ chế loại trừ tương hỗ nhằm ngăn chặn tình trạng bán trùng vé/phòng trong các hệ thống đặt chỗ từ xa.
Câu hỏi thường gặp
1. Thuật toán Linear 2PC cải tiến trong khóa luận xử lý các truy vấn SQL theo thứ tự ưu tiên nào?
Khi nhận yêu cầu từ Client, bộ điều phối thiết lập danh sách di chuyển chứa các câu lệnh SQL thực thi tại từng máy chủ cơ sở dữ liệu theo thứ tự ưu tiên cố định: SELECT $\rightarrow$ DELETE $\rightarrow$ UPDATE $\rightarrow$ INSERT. Toàn bộ giao dịch chỉ được xác nhận thành công khi tất cả các truy vấn trên chuỗi máy chủ đều thực hiện thành công.
2. Mạch vi điều khiển Arduino và module Bluetooth HC-06 giữ vai trò gì trong hệ thống?
Mạch Arduino kết hợp module Bluetooth HC-06 đóng vai trò là hệ thống phần cứng IoT phát hiện và cảnh báo sự cố kỹ thuật tại các địa điểm dịch vụ (như nhà hàng, điểm tham quan). Khi phát sinh sự cố, tín hiệu cảnh báo được truyền không dây về máy chủ để cập nhật danh sách các điểm dịch vụ gặp sự cố lên hệ thống quản trị.
3. Sự khác biệt cơ bản giữa kỹ thuật nhân bản chủ động (Eager Replication) và nhân bản bị động (Lazy Replication) là gì?
Nhân bản chủ động thực hiện đồng bộ hóa và bỏ phiếu thỏa thuận giữa tất cả các máy chủ trước khi cam kết giao dịch, bảo đảm tính nhất quán cao nhưng có nguy cơ giảm hiệu suất do deadlock. Nhân bản bị động cho phép máy chủ phản hồi kết quả cho Client trước khi hoàn tất đồng bộ với các máy chủ khác, giúp tăng tốc độ xử lý nhưng có thể dẫn đến hiện tượng không nhất quán dữ liệu giữa các nút mạng.
4. Tại sao hệ CSDL phân tán được lựa chọn thay thế hệ CSDL tập trung trong bài toán du lịch tại Quảng Nam?
Hệ CSDL tập trung chỉ có một máy chủ duy nhất nên dễ bị quá tải, tắc nghẽn cổ chai và có nguy cơ bán trùng dịch vụ (chỗ ngồi, phòng nghỉ) khi có lượng truy cập đồng thời lớn. Hệ CSDL phân tán phân bổ dữ liệu tại nhiều vị trí (Hội An, Tam Kỳ, Chu Lai), giúp xử lý truy vấn tại chỗ, tăng tốc độ truy cập, giảm chi phí truyền thông và duy trì hoạt động liên tục ngay cả khi một trạm gặp sự cố.
5. Giao thức Paxos sử dụng những thành phần (roles) nào để đạt được sự đồng thuận?
Giao thức Paxos vận hành dựa trên 4 thành phần chính:
- Client: Gửi yêu cầu giao dịch vào hệ thống phân tán.
- Proposer: Tiếp nhận yêu cầu, tạo đề xuất với số hiệu $N$ và thuyết phục các Acceptor chấp thuận.
- Acceptor (Voters): Đóng vai trò bộ nhớ chịu lỗi, tham gia bỏ phiếu chấp thuận đề xuất theo cơ chế đa số Quorum.
- Learner: Tiếp nhận kết quả đã được đa số Acceptor thông qua và thực thi phản hồi cho Client.
Kết luận
Khóa luận của tác giả Trần Dương Ngọc Tuấn đã giải quyết bài toán kỹ thuật bảo đảm tính gắn bó dữ liệu cho hệ thống đăng ký tour du lịch từ xa tại tỉnh Quảng Nam trong môi trường IoT. Bằng việc phân tích sâu sắc các giao thức cam kết kinh điển (2PC, 3PC, Paxos), tác giả đã đề xuất và cài đặt thành công giải thuật 2PC tuyến tính cải tiến với cơ chế danh sách di chuyển ưu tiên truy vấn SQL. Kết quả thực nghiệm mô phỏng trên Java, Node.js, MySQL kết hợp phần cứng Arduino và module Bluetooth HC-06 cung cấp giải pháp khả thi cho việc quản lý và đồng bộ dữ liệu giao dịch phân tán.