CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI 1.1 Thực trạng thị trường tuyển dụng lao động hiện nay Hiện nay dịch bệnh COVID-19 đã diễn ra liên tục trong vòng 2 năm qua đã khiến kinh tế Việt Nam nói riêng và thế giới nói chung gặp nhiều khó khăn. Rất nhiều công ty tập đoàn trên thế giới cũng vô cùng khó khăn, rơi vào khủng hoảng vì các đợt giãn cách phong tỏa thời gian dài. Các chuỗi cung ứng vận chuyển giữa các vùng bị đứt gãy cũng như khó khăn trong việc lưu thông khiến cho giá cả leo thang.
Gây nên cơn khủng hoàng việc làm trên toàn cầu nói chung và Việt Nam nói riêng. Đại dịch COVID-19 đã khiến hàng triệu lao động mất việc làm cũng như thiếu việc làm tại Việt Nam. Theo số liệu Tổng cục Thống kê Việt Nam (Tài liệu tham khảo [2]) đưa ra trung bình trong 9 tháng năm 2021, số người thất nghiệp trong độ tuổi lao động lên tới hơn 1,3 triệu người tăng hơn rất nhiều so với cùng kì năm ngoái. Đồng thời tỉ lệ thất nghiệp trong độ tuổi 15-24 tuổi lên tới 7,9% đặc biệt hơn là khu vực thành thị lên tới 10,79%.
Các con số đều tăng hơn so với thời điểm trước khi đại dịch xảy ra cho thấy đại dịch đã ảnh hưởng rất lớn tới người lao động cũng như các đơn vị công ty tuyển dụng việc làm.1: Lực lượng lao động Việt Nam theo quý, năm 2020 và 2021 Hơn nữa khi đại dịch lan rộng đã khiến đất nước phải giãn cách, phong tỏa nhiều khu vực. Vô hình chung cũng gây khó khăn cho các công ty trong việc tuyển dụng tìm nhân sự duy trì hoạt động cho bộ máy công ty. Các công ty cũng như người lao động phải phỏng vấn và duy trì kết nối hoàn toàn trên môi trường Internet. Từ đó chúng ta cũng nhận thấy nhiều bất cập về lượng thông tin tuyển dụng, thông tin ứng tuyển tìm việc chưa được khai thác triệt để, người lao động không thể tìm kiếm chính xác được các thông tin tuyển dụng phù hợp hay nhà tuyển dụng cũng khó có khả năng tìm ra các ứng viên tiềm năng.
Người lao động Sinh viên: Nguyễn Văn Tiến – 20173401 – Khóa 62 1 TIEU LUAN MOI download : skknchat123@gmail.com cũng như công ty tuyển dụng phải liên tục tìm kiếm trên mạng Internet gây lãng phí thời gian và chi phí vận hành.2 Website việc làm yourway và các khó khăn trong việc tìm kiếm dữ liệu Yourway là một website tìm kiếm việc làm đã được xây dựng thành công với các chức năng cho phép người dùng đăng tin tuyển dụng (dành cho các công ty), tìm kiếm và đăng bài tìm việc (dành cho cá nhân có nhu cầu), xem thống kê số liệu việc làm dưới dạng trực quan biểu đồ. Với những gì đã được xây dựng, website phần nào đã thực hiện việc kết nối người cần tìm việc và doanh nghiệp, tổ chức muốn tuyển nhân viên. Tuy nhiên bên cạnh đó, với cách tìm việc truyền thống thì vẫn còn những hạn chế nhất định. • Đầu tiên là việc tìm kiếm thủ công theo phương thức truyền thống (tìm kiếm bằng tên, lọc khoảng lương, khu vực, …) mất tương đối thời gian.
Đồng thời mỗi khi truy cập lại để tìm kiếm, người dùng lại phải thực hiện lại một loạt các thao tác vừa đề cập. Như vậy là rất tốn thời gian và công sức • Bên cạnh đó, việc gửi thông tin tuyển dụng đến người dùng theo lịch đã được một số các trang web việc làm tương tự phục vụ (linkedin.com, …) nhưng lại khá cứng nhắc khi chỉ đưa một vài thông tin cho người dùng chọn. Đây là vấn đề khiến cho đôi khi có những công việc chưa thực sự phù hợp với mong muốn được gửi đến người dùng.2 Mục tiêu và phạm vi đề tài 1.1 Mục tiêu của đồ án Tính năng thông báo dữ liệu đến người dùng đã có ở nhiều hệ thống website. Tuy nhiên lại chưa giải quyết được vấn đề tùy biến cho người dùng.
Trong đồ án này, sinh viên hướng tới giải quyết bài toán truy vấn dữ liệu sử dụng công nghệ dữ liệu lớn. Với mục tiêu khắc phục những hạn chế, khó khăn của các phương pháp truy vấn cũ như giảm bớt thao tác người dùng, tùy biến được truy vấn tốt hơn, lưu trữ hiệu quả. Từ những vấn đề đã nêu ở phần 1.1, mục tiêu được đặt ra cho đồ án này là xây dựng hệ thống cảnh báo dữ liệu một cách liên tục trên luồng dữ liệu tuyển dụng. Hệ thống này sẽ có các khả năng giải quyết các vấn đề như sau: • Khả năng xử lý dữ liệu liên tục, người dùng chỉ cần thực hiện truy vấn một lần và hệ thống lưu lại để xử lý cho các lần sau.
• Tính năng gửi dữ liệu định kì theo mong muốn tuần suất nhận thông báo của người dùng • Khả năng cho phép người dùng tùy chỉnh các điều kiện truy vấn trên luồng dữ liệu • Giao diện website giúp cho người dùng có thể xây dựng câu truy vấn một cách đơn giản, cấu hình và quan sát hệ thống một cách trực quan Sinh viên: Nguyễn Văn Tiến – 20173401 – Khóa 62 2 TIEU LUAN MOI download : skknchat123@gmail.com Mở rộng hơn, với các tính năng bên trên, hệ thống hướng đến theo dạng một dịch vụ có thể tích hợp vào bất kì hệ thống truy vấn nào để xử lý dữ liệu cho người dùng.2 Phạm vi đề tài Mặc dù hướng đến là một hệ thống tích hợp được với nhiều hệ thống xử lý, truy vấn dữ liệu khác, nhưng trong phạm vi đồ án này, hệ thống mới chỉ được tích hợp với dữ liệu của website yourway, bản thử cũng sử dụng dữ liệu thật của website này để thực hiện. Đồ án này được thực hiện bởi nhóm gồm có 2 sinh viên là Nguyễn Văn Tiến và Vũ Minh Hiếu. Phần việc cụ thể phân chia để xây dựng hệ thống được trình bày như bên dưới: Hệ thống Sinh viên Quản lý và xử lý dữ liệu Website tương tác người dùng Kết nối các luồng dữ liệu đầu vào Chức năng kết nối CSDL Tạo lược đồ luồng dữ liệu Chức năng thêm luồng dữ liệu Nguyễn Xử lý truy vấn trên các luồng dữ liệu Chức năng quản lý các luồng dữ Văn Tiến trong công việc Spark liệu 20173401 Chuẩn bị dữ liệu kết quả để gửi đến Chức năng quản lý công việc liên người dùng tục Quản lý các truy vấn Chức năng thêm truy vấn Vũ Minh Cấu hình hệ thống Chức năng quản lý truy vấn Hiếu Cấu trúc dữ liệu đầu vào Chức năng cấu hình hệ thống 20168683 Lập lịch xử lý kết quả truy vấn 1.3 Định hướng giải pháp Từ những vấn đề trong thực tế cuộc sống khi người tìm việc không thể liên tục truy cập các website tuyển dụng để thực hiện liên tục việc tìm kiếm một công việc phù hợp với bản thân nhiều ngày cũng như cập nhật các tin tuyển dụng một cách nhanh nhất. Để tăng tính thực tế và ứng dụng thực tiễn, đồ án tập trung phát triển hệ thống tổng hợp, xử lý và thông báo kết quả xử lý của dòng dữ liệu liên tục về công việc trên nền tảng hệ thống đã có sẵn của yourway.
Vì vậy nhóm em đã phát triển hệ thống giúp đỡ các người dùng có khả năng đưa ra yêu cầu tìm kiếm một lần và nhận lại theo lịch trình được định sẵn danh sách các kết quả theo yêu cầu tìm kiếm đó với các dữ liệu mới nhất. Từ đó giúp tích kiệm thời gian cho người dùng, tự động hóa khả năng nhận kết quả của người dùng theo hướng chủ động gửi kết quả đó tới từng thông tin liên lạc của người dùng. Sinh viên: Nguyễn Văn Tiến – 20173401 – Khóa 62 3 TIEU LUAN MOI download : skknchat123@gmail.com Để giải quyết các vấn đề trên, hệ thống tổng thể được chia thành 2 phần trong đồ án này là: • Hệ thống 1: Hệ thống website tương tác nhằm mục đích giúp người dùng dễ dàng hơn trong việc tương tác hệ thống • Hệ thống 2: Hệ thống quản lý, xử lý dữ liệu thực hiện nhiệm vụ chính liên quan đến dữ liệu và trả kết quả cho người dùng Về phần công nghệ, sinh viên sử dụng công nghệ: • Xử lý dữ liệu lớn: Apache Spark và Apache Kafka. o Apache Spark là một mã nguồn mở xử lý dữ liệu trên quy mô lớn.
Với khả năng tính toán song song, giao diện lập trình dễ dàng và khả năng chịu lỗi tốt, Apache Spark đang đi đầu trong xu hướng xử lý dữ liệu lớn. o Apache Kafka là một nền tảng truyền tải dữ liệu phân tán. Tốc độ và khả năng chịu lỗi của Apache Kafka đang dần thay thế cho hệ thống truyền tin truyền thống. • Hệ thống web: framework FastAPI và Angular o FastAPI là một khung làm việc xây dựng các RESTful API trên ngôn ngữ lập trình Python.
FastAPI là một công nghệ mới với những cải tiến để phát triển nhanh và dễ bảo trì hơn với các công nghệ đời cũ hơn. o Angular là một khung làm việc mạnh mẽ dùng để xây dựng giao diện website được phát triển bởi Google. • Cơ sở dữ liệu: MySQL – một trong những CSDL phổ biến nhất hiện nay. Kết quả thu được sau khi sinh viên thực hiện đồ án này là một hệ thống cảnh báo dữ liệu bằng công nghệ dữ liệu lớn.
Bên cạnh đó là những kiến thức thu được khi giải quyết bài toán.4 Bố cục đồ án Dựa vào các vấn đề tồn tại và hướng tiếp cận được đề xuất để giải quyết bài toán ở phần trước, các phần tiếp theo của đồ án tốt nghiệp này được tổ chức như sau: Chương 2. Cơ sở lý thuyết và công nghệ: đề cập đến các định nghĩa, giải thích lý thuyết các nên tảng phân tán cũng như xử lý dữ liệu lớn đồng thời cũng giới thiệu các công cụ sử dụng trong mã nguồn hệ thống. Chương này sẽ bao gồm 4 phần chính. Phần đầu sẽ trình bày các lý thuyết hệ thống phân tán, phần tiếp theo sẽ trình bày về nền tảng spark, đặc tả các chức năng, và phần cuối cùng sẽ trình bày về các yêu cầu phi chức năng của hệ thống.
Sinh viên: Nguyễn Văn Tiến – 20173401 – Khóa 62 4 TIEU LUAN MOI download : skknchat123@gmail.com Chương 3. Thiết kế và xây dựng hệ thống quản lý, xử lý dữ liệu: trình bày chi tiết về hệ thống ứng dụng, phân tích sâu hơn về từng mô-đun trong hệ thống qua kiến trúc cũng như công nghệ sử dụng. Xây dựng ứng dụng web tương tác người dùng: trình bày về giao diện với người dùng, giúp hệ thống tương tác dễ hơn với người dùng. Ngoài ra, chương này còn đề cập đến kết quả kiểm thử cũng như một vài đánh giá sơ bộ về hệ thống.